Import/Export IFC - compiling IfcOpenShell/it

Introduzione
Dato che mi è stato molto difficile scoprire come fare per avere una copia di IfcOpenShell-python operante su OSX / MacOS per importare e esportare i file IFC condivido questo tutorial che può essere di aiuto ad altri. Il mio sistema è OSX 10.11.6, 64bit con Python 2.7.11, e questo dovrebbe funzionare per quelli che hanno anche un OSX in quanto sono spesso a 64bit, ma che possono essere diversi dal mio. Se si esegue Linux o Windows, la procedura potrebbe essere molto simile, ma probabilmente ci sono alcune differenze.

Passaggi
1. Scaricare o clonare l'intero progetto GitHub da https://github.com/IfcOpenShell/IfcOpenShell (sarà sempre l'ultima versione)

2. Da un terminale andare nella cartella /nix/ e lanciare lo script. In OSX si può fare con:

Ci vorranno da 30 fino a 120 minuti per compilare tutto. Non è il modo più intelligente di compilare IfcOpenShell ma questo semplice script compila tutte le dipendenze, le versioni di Python, etc.

3. Una volta completato (viene stampato qualcosa di simile a "Built IfcOpenShell..." e torna al prompt) si ha una nuova cartella /IfcOpenShell/build/ piena di file e cartelle. Dalla mia esperienza personale, tempo fa lo script nix "build-all.sh" non si è concluso con successo, ma dopo, con gli aggiornamenti più recenti, ha funzionato bene, quindi penso che potrebbe capitare qualcosa di simile nel caso in cui lo sviluppo vada avanti. .. In questo modo. ora c'è tutto il necessario, ma si deve fare un certo lavoro manuale per farlo funzionare: 4. Aprire FreeCAD, aprire la console Python e la Vista Report. Quindi scrivere nella console Python quanto segue:

Si ottiene una lunga lista con tutti i percorsi che sono letti da FreeCAD. Si può installare ifcopenshell in qualsiasi di essi, ma consiglio di posizionarlo all'interno di quello in cui si trova un /site-packages/ dopo un /Python/ o /python-something/. Nel mio caso è stato /Library/Python/2.7/site-packages. (trovate i percorsi all'interno della vostra cartella app ma vi suggerisco di non utilizzarlo perché altrimenti dopo IfcOpenShell sarà disponibile solo per questa applicazione)

4. Open FreeCAD and open the Python console and Report view. Then write into the Python console the following:

You will get a looooong line with all the paths that FreeCAD reads. You may be able to install IfcOpenShell in any of them but I suggest you to place it inside one where you find a after a  or. In my case it was. (Note: you will find paths inside your app directory but I suggest you to not use them because then IfcOpenShell will only be available for this app)

5. Quindi, una volta che si trova nel posto in cui si desidera che sia installato, andare lì con l'esploratore dei file (Finder in OSX). Cioè, andare nella cartella /site-packages/

6. Aprire una nuova finestra del browser dei file e navigare nel progetto GitHub scaricato: /IfcOpenShell/src/ifcopenshell-python/ e copiare l'intera cartella /ifcopenshell/

7. Incollarla all'interno della cartella /site-packages/. Ora si dovrebbe avere qualcosa di simile a:

8. Ora dobbiamo trovare due file all'interno della cartella /build/, essi sono:

ma dato che abbiamo compilato ogni cosa, si dovrà scegliere quelli che corrispondono alla versione di Python usata da FreeCAD. È facile controllare leggendo la prima riga all'interno della console Python di FreeCAD. Nel mio caso è stato Python 2.7.11.

9. Ora copiare i file che si trovano all'interno del percorso corrispondente alla propria versione di Python. Nel mio caso:

10. Incollarli all'interno di /site-packages/ifcopenshell/

11. Controllare se tutto è a posto:

(1) dal progetto GitHub

(2) dalla cartella /build/

12. Chiudere e riaprire FreeCAD

Test
Ora che è installato, controlliamo se tutto funziona come previsto:

12.1 nella console Python scrivere:

se non si genera alcun errore significa che dovrebbe essere installato correttamente

12.2 Andare nel Manuale FreeCAD di Yorik, a fondo pagina e scaricare i seguenti file per fare un test:

12.3 Aprire house.FCStd, nella directory principale selezionare l'oggetto "Building" e esportarlo (menu File/esporta/) impostare il tipo di file "Industry Foundation Classes (*.ifc)". Premere il tasto "Salva" e se funziona e non genera nessun errore nel Rapporto, allora sta funzionando

12.4 Prova finale, importare house.ifc in un nuovo file in modo da aprire un nuovo file e importare il file ... ci vorrà un po'.

13. Godetevi BIM con FreeCAD!

Pensieri finali
La mia opinione è che FreeCAD stesso dovrebbe avere una versione di IfcOpenShell precompilata in impacchettata con la distribuzione in quanto costruirlo da soli è una tortura e utente medio non lo farà mai (non sa come compilare, gestire GitHub, ecc), ma forse in futuro ci sarà.

Spero che questo sia di aiuto.

Cheers

Link
La discussione nel Forum qui