Ho scelto il primo formato (ma vanno bene anche gli altri ).
Ho estratto dal tuo file queste linee e salvate in un file:
35,38,40,10
38,39,51,10
39,42,54,10
42,49,54,10
49,55,30,10
55,61,27,10
61,66,26,10
66,88,94,10
88,116,62,0
116,116,65,0
116,90,55,10
90,60,55,10
60,21,60 ,0
E ho iniziato a scrivere alcune linee dello script con EditPythonScript
Ovviamente questo e’ solo un modo di scrivere lo script … potremmo trovarne diversi …
import rhinoscriptsyntax as rs
def main():
name = rs.OpenFileName( 'File da leggere ?' )
if not name:
return
file = open( name, 'r' )
text = file.read()
text = text.strip()
lines = text.split( '\n' )
# controllo
cnt = 0
for line in lines:
cnt += 1
print( str( cnt ) + ') ' + line )
main()
Cosi’ abbiamo qualcosa di concreto da esaminare.
Solo pochi cenni di spiegazione.
Fai poi tu le domande, ce ne vorranno parecchie.
Prima cosa: occhio all’indentazione delle linee.
In Python l’indentazione fa parte della sintassi.
In pratica aumentare l’indentazione e’ come begin in Pascal
Tornare all’indentazione precedente e’ come end
I commenti iniziano col carattere #
Ogni linea e’ una istruzione, almeno qui.
La prima linea ‘importa’ la libreria rhinoscriptsyntax e la chiama rs
def main(): e’ l’inizio di una funzione. Dopo def si incrementa l’indentazione
Richiamiamo la funzione OpenFileName di rhinoscriptsyntax per poter scegliere il file da leggere. Restituisce il percorso del file come stringa.
Se OpenFileName fallisce, cioe’ se non scegliamo il file, l’istruzione return termina l’esecuzione della funzione.
Usiamo l’istruzione condizionale if, anche per qui le istruzioni da eseguire se la condizione e’ vera si incrementa l’indentazione.
Apriamo il file tramite la funzione open, restituisce un ‘file object’, che qui con somma fantasia chiamo ‘file’.
Con il metodo read del file object leggiamo il contenuto del file e lo salviamo nella stringa text
Col metodo strip delle stringhe eliminiamo eventuali spazi iniziali e finali (serve per il newline finale)
Ricaviamo le varie linee di testo da text con il metodo split delle stringhe, passiamo il carattere newline come separatore tra le linee
A questo punto interrompo lo script e aggiungo alcune semplici istruzioni di controllo, per verificare che funzioni.
( In effetti ho dovuto correggere alcuni errori per sistemarlo )
Usiamo un ciclo for e una variabile cnt come contatore per elencare le linee di testo lette.
print manda il testo alla command area di Rhino.
Anche con for cambia l’indentazione
Usiamo + per concatenare le stringhe e str per convertire un numero in stringa.
Infine richiamiamo la funzione main per eseguirla
Se vuoi, quando hai tempo prova poi ad aprire EditPythonScript e a scrivere tu le varie istruzioni.
Per lanciare lo script, clicca sulla freccia verde … almeno Rhino 6 e’ cosi’ …
Ovviamente mancano un mucchio di informazioni.
Ne parleremo.
Ciao