Tu sei qui

Revit e Python

In attesa di produrre qualcosa di concreto riguardo il mio progetto posto qui i risultati di questo approfondimento che sto eseguendo riguardo la shell di Python per Revit.

Tutta la storia del progetto IronPython (che è l'implementazione OpenSource di Python per i programmi che sfruttano .NET Framework di Microsoft) è documentata da diversi siti facilmente trovabili come http://ironpython.net/ https://code.google.com/p/revitpythonshell/ che rispettivamente descrivono il progetto IronPython e la shell RevitPython (integrata a partire dalla versione 2010 alla 2013).

Per chi vuole invece andare dritto al punto dirò che purtroppo non si trovano molti tutorial su internet quindi quel poco che ho trovato sarà postato a termine delle mie considerazioni al riguardo.

Riassumo ora la questione come cappello di alcune considerazioni che farò riguardo lo studio che sto eseguendo su questa add-in di Revit: questa shell (una shell è la parte di un sistema informatico che consente l'interazione con lo stesso) consente il dialogo col programma attraverso un'interfaccia testuale; dunque non essendo per così dire user-friendly il suo utilizzo risulta sicuramente più ostico ai meno avvezzi alla programmazione (al contrario ad esempio di Grasshopper).

Tuttavia Python negli ultimi anni è molto sfruttato per la customizzazione e creazione di strumenti per software: conoscerne le "intime" logiche programmative può essere d'aiuto per servirsi del grande panorama dei software (siano cad/game engine/grafica o altro) per domarli e servirsene a dovere . Di esempi validi che fanno capo a un uso saggio del software ne sono stati trattati diversi: vedi Greg Lynn con Maya o Frank Gehry con Catia.
Ecco qui una lista http://en.wikipedia.org/wiki/List_of_Python_software tra i quali troviamo anche Rhino 5 la cui shell è trattata dal corso Metodi e Modelli Matematici del Prof. Todesco.

Avendo avuto degli iniziali problemi nella sua installazione (poi risolti) indico qui alcune procedure da eseguire.

Anzitutto alla pagina https://code.google.com/p/revitpythonshell/downloads/list cliccare sulla versione desiderata di Revit (esiste anche per Vasari) e scaricare la propria versione.

Quindi cliccare su Add-Ins -> Interactive Python per avviare la Console che purtroppo non è molto pratica. In basso si possono scrivere blocchi di codice e pur avendo l'highlight dei codici di Python (funzioni, sintassi etc) non si ha l'autocompletamente previsto.
Quest'ultimo si ha nel blocco superiore che però consente programmazione riga x riga, alquanto impensabile, ma guarda caso contiene l'autocompletamento (che si attiva premendo CTRL+SPAZIO dopo un codice di libreria o un punto). O meglio può contenerlo infatti va configurato.

 Cliccare sulla freccetta e Configure come in figura e quindi Search Paths dove andranno messe le cartelle Lib della Shell di Python installata e quella di IronPython (che ha risolto il problema).

Consiglio comunque di installare IronPython come console. Al massimo per sfruttare l'autocompletamento delle funzione si può scrivere il comando sopra e poi copiarlo sotto ma personalmente lo trovo alquanto scomodo.

 

CATEGORIE: 
Technology: 

Commenti

Ottimo ottimo inizio per il tuo "trattato",
che funziona molto bene come tema d'anno!

Ho dato qualche link su varie interazioni di programmazione
con Revit - nel commento al post di Fabio sulla lampada, lo hai
visto?

tagga i tuoi post anche come API, ok?

continua così però!!!
buon lavoro e a martedì!

S.C.

devo ancora finire il post. ho avuto dei contrattempi ma finirò il tutto per domani (spero)

Bravissimo Marco,
davvero prezioso, avanti così!

a presto,
S.C.