Perchè troppo specifico? Con questo comando puoi fare con un solo click un foro che ha vari diametri e forme varie. Se ti crei un set di profili e li salvi ognuno in un file con un nome , aggiungi allo script qualche riga per importare il profilo che ti serve risparmi un sacco di tempo.
Ciao Vittorio
Nel senso che puo’ solo togliere ma non aggiungere materiale.
E anche che ti vincola a fori normali alla superficie.
… Ma in effetti per aggiungere materiale basta ‘ribaltare’ la normale.
Per i fori inclinati invece … per ora non mi e’ venuto in mente niente … ![]()
E’ anche vero che se la direxione del foro e’ nota, non e’ difficile fare il foro anche senza usare comandi appositi …
In ogni caso mi sembra proprio un bel comando, e anche scriptabile, come dimostra il tuo script ![]()
Bravi RMA !
Con un click puoi fare un foro e la sede dell’anello oring

che cosa strana 
class class1:
aa=10
def __init__(self):
print("aaa")
print(class1.aa)
class1()
così funziona
class class1:
aa=10
def __init__(self):
print("aaa")
print(class1().aa) # aggiunto le parentesi
class1()
così impazzisce 
Hai scritto un costruttore ricorsivo …
Cosa ti aspettavi ?
ciao Emilio,
in verità io non mi aspettavo proprio nulla nel senso,
che se un codice è scritto bene funziona, altrimenti deve dare errore (per lo meno fino adesso era la mia idea)
invece in questo caso abbiamo scoperto anche la “ricorsione infinita” che poi infinita non’è (per fortuna) ![]()
tornando ai concetti nebulosi (li parlavi della programmazione ad oggetti OOP)
ma ho riscontrato questa divergenza anche nei termini:
ci sono alcuni che il metodo speciale “__ init __” lo chiamano costruttore
altri invece specificano che non è un costruttore ma solo un inizializzatore
ps quindi in pratica richiamando la classe in quella parte del codice
è come se avessi creato un ciclo infinito in effetti è giusto così ![]()
Giusto. Questo e’ un esempio di terminologia … variabile, che credo non aiuti chi sta imparando. ![]()
Gia’. richiami __init__() dall’interno del metodo stesso ( o costruttore ?
).
E non credo ci sia niente di male, pero’ devi inserire qualcosa che ad un certo punto fermi la ricorsione. ![]()
class class1:
pass
class1.mro
ma questo “mro” di cosa si tratta?
Ciao Salvio
… Con le tue domande imparo sempre qualcosa di nuovo … 
E’ un metodo, la sigla significa Method Resolution Order
Il metodo restituisce, per fare un’analogia, l’albero genealogico della classe. 
Cioe’ resituisce una lista contenente tutte le classi da cui deriva la classe in questione.
La lista e’ ordinata. il primo elemento della lista e’ la classe stessa ( per esempio class1 ),
l’ultimo e’ object, che e’ la classe base di tutte le altre classi in Python.
In mezzo ci possono essere altre classi da cui deriva la classe class1, sempre in ordine.
Pythno usa la lista quando cerca un metodo richiamato su un oggetto di questa classe.
Prima cerca il metodo nella prima classe della lista.
Se non lo trova cerca nella secoda … e cosi’ via.
Siamo sempre negli oscuri meandri della OOP … 
prova
class class1:
pass
print( class1.mro() )
… Ho visto che funziona anche per RhinoCommon …
Tutto cio’ e’ quanto ho capito io … se ho capito … Nessuna garanzia, ovvio. 
Ciao
impariamo insieme ![]()
il fatto Emilio e che io sono come quei bambini che fanno “il libro del perchè” ahahahah
ad ogni risposta fanno sempre la domanda “è perchè - è perchè - è perchè”
io sto usando come compilatore “Thonny” che con (ctrl+space) ti fa vedere le opzioni possibili
e mi ritrovavo sempre questo “mro” anche se nella classe non inserivo nulla nessuna definizione ect
ps infatti sarà per questo che in genere i programmi non vengono realizzati da una sola persona
unione fa la forza ![]()
< Bar-Rhino >
Penso dipenda dal tipo di programma.
Secondo me i programi migliori sono quelli che ti fai perche’ ne hai bisogno.
Al secondo posto quelli che ti diverti a scrivere.
In fondo alla lista quelli che fai per lavoro … che suppongo siano la maggioranza. ![]()
( E credo che il concetto si possa estendere anche fuori dalla programmazione … )
Ad esempio i linguaggi di scripting, tanto in voga di questi tempi (giustamente), sono di solito scritti, almeno all’inizio, da una persona sola, che ne mantiene il controllo anche quando in seguito interviene il lavoro di altri.
Lo stesso si puo’ dire anche degli altri progetti personali ‘spontanei’. Uno su tutti: Linux
Se guardiamo Rhino, qual’e’ la ‘branca’ che riscuote il maggior gradimento ?
Che genere il maggior numero di progetti ausiliari e il maggior entusiasmo ?
A me sembra Grasshopper … pur con tutti i suoi limiti in fatto di prestazioni e interfaccia utente …
![]()
… Anche se pure la visualizzazione non scherza …
Forse sarebbe utile cercare di scomporre Rhino in piu’ parti ?
E come ?
![]()
![]()
![]()
< /Bar-Rhino >
si beh io intendevo anche tipo i software che fanno aziende per GDO / Privati
oppure la stessa creazione di Rhino come anche Windows Office Linux che hai citato etc etc etc
c’è chi si occupa di un’ambito chi di un’altro chi dell’interfaccia grafica anche le icone sono importanti
una persona per quanto possa essere ampia il suo sapere mi viene difficile pensare che possa ottenere gli stessi risultati non credi anche perchè sono pienamente convinto che la forza di un gruppo è quella della “condivisione” del proprio sapere con gli altri, posso essere un genio in una cosa ma una pippa in un’altra.
non credi?
EDIT:
a proposito di pippa 
ho un file txt dove le date sono all’incontrario es: 2018/07/26
se l’importo in excel le date vengono formattate giuste
in py è possibile ottenere lo stesso risultato?
OK, pero’ a mio avviso quando la direzione di sviluppo di un progetto la da’ un singolo, il risultato … ha piu’ senso, per cosi’ dire. ![]()
Poi certo ci possono lavorare molti programmatori.
Fai un esempio di cosa vuoi ottenere
testo del file.txt
2018/07/01 A 1 2 3 4 5
2018/07/02 B 6 7 8 9 0
conversione in python
01/07/2018 A 1 2 3 4 5
02/07/2018 B 6 7 8 9 0
se non erro le colonne nel file.txt
sono separate dalla tabulazione
EDIT:
ma è una mia pecca oppure ci sono pochi esempi sulla formattazione del testo/numeri/date in python?
ho notato che in qualche esempio bisogna sempre importare qualche modulo per fare queste cose
in VB era tipo: Format(2018/07/01;day,month,year) > 01/07/2018
ora non vorrei ricordare male spero che non me ne voglia Lucio 
ormai ogni cosa che aggingo di Python cancella qualcosa del passato ahahahah
Suggerimento:
trattandosi di testo, guardati il capitolo 4 del Beri.
… ad esempio potresti usare lo slicing e le funzione split e join,
eventualmente concatenazione o formattazione.
Per usare i files: capitolo 9.
![]()
Se poi ti piace usare le classi, fallo con una classe … ![]()
EDIT:
… spesso non e’ facile trovare le informazioni … misteri del Web … ![]()
Poi, certo volendo ci sono dei moduli per manipolare le date.
Vedi tu se e’ il caso di impelagarcisi … Io sono pirgo, se non e’ necessario usare altro, di solito mi accontento delle funzioni standard … ![]()
Credo che per questo l’unica cosa sia esercitarsi …se le cose le usi anche invece di leggerle solo, te le ricordi … (magari non la prima volta, ma la second o le terza si’ …
)
ok adesso vado a "ri"controllare il capitolo 9
ma una cosa che nei libri non troverò mai:
nel caso sopra mensionato: apro il file leggo il testo e mi ritrovo “2018/07/01”
python questa data la vede come testo per questo mi hai consigliato di fare lo slicing?
Leggendo file txt ho supposto che fosse un file di testo …
Tu come hai fatto a vedere questo ?
in che senso?
lettura = open("file.txt","r").read()
print(lettura)
ho aperto il file in python e stampato
OK, aprendolo in modalita’ ‘r’, lui lo considera testo.
Quindi quello che resituisce read dovrebbe essere del testo
( Almeno io di solito lo tratto come semplice testo )
Credo ci sia il modo per salvare su file e poi rileggere oggetti diversi, comprese le date,
ma di queste cose non sono pratico … spiacente.
Emilio scusa se ti disturbo ancora, ti volevo chiedere un’ultima cosa poi ti lascio in pace (per i prossimi 20 min) ![]()
sicuramente per adesso continuo come sto facendo:
apro il file in excel dove le date me le imposta in automatico
ma a parte questo io filtro anche la lettera tra le date e i numeri
giusto per sapere se con python sarebbe possibile fare queste operazioni?
del tipo come si fa nei database ho 100 righe ne filtro 10 e lavoro su quelle.
del tipo?
aprendo il file in lettura come mostrato e python lo legge come testo il modulo riconosce che è una data?
grazie sempre di tutto Emilio
tranquillo rispondi con comodo sicuramente di sabato sera hai altre priorità ![]()