153 lines
9.2 KiB
HTML
153 lines
9.2 KiB
HTML
<html><head><title>Import/Export IFC - compiling IfcOpenShell/it</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link type='text/css' href='wiki.css' rel='stylesheet'></head><body><h1>Import/Export IFC - compiling IfcOpenShell/it</h1></div>
|
|
|
|
<div id="mw-content-text" lang="it" dir="ltr" class="mw-content-ltr"><hr/><div class="mw-parser-output"><table class="fcinfobox wikitable ct" style="width: 230px; float: right; margin-left: 1em">
|
|
<tr>
|
|
<td class="ctTitle">
|
|
<h3><span class="mw-headline" id="Tutorial"><a href="https://www.freecadweb.org/wiki/index.php?title=File:Base_ExampleCommandModel.png" class="image"><img alt="Base ExampleCommandModel.png" src="32px-Base_ExampleCommandModel.png" width="32" height="30" srcset="/wiki/images/thumb/9/93/Base_ExampleCommandModel.png/48px-Base_ExampleCommandModel.png 1.5x, /wiki/images/9/93/Base_ExampleCommandModel.png 2x" /></a> Tutorial</span></h3>
|
|
</td></tr>
|
|
<tr>
|
|
<th class="ctOdd">Argomento
|
|
</th></tr>
|
|
<tr>
|
|
<td class="ctEven">Arch
|
|
</td></tr>
|
|
<tr>
|
|
<th class="ctOdd">Livello di difficoltà
|
|
</th></tr>
|
|
<tr>
|
|
<td class="ctEven">Avanzato
|
|
</td></tr>
|
|
<tr>
|
|
<th class="ctOdd">Tempo di esecuzione
|
|
</th></tr>
|
|
<tr>
|
|
<td class="ctEven">120 minuti
|
|
</td></tr>
|
|
<tr>
|
|
<th class="ctOdd">Autore
|
|
</th></tr>
|
|
<tr>
|
|
<td class="ctEven">Pablo Gil
|
|
</td></tr>
|
|
<tr>
|
|
<th class="ctOdd">Versione di FreeCAD
|
|
</th></tr>
|
|
<tr>
|
|
<td class="ctEven">
|
|
</td></tr>
|
|
<tr>
|
|
<th class="ctOdd">File di esempio
|
|
</th></tr>
|
|
<tr>
|
|
<td class="ctEven">
|
|
</td></tr>
|
|
<tr>
|
|
<td class="ctToc"><br /><div id="toc" class="toc"><div class="toctitle"><h2>Contents</h2></div>
|
|
<ul>
|
|
<li class="toclevel-1"><a href="#Tutorial"><span class="tocnumber">1</span> <span class="toctext">Tutorial</span></a></li>
|
|
<li class="toclevel-1 tocsection-1"><a href="#Introduzione"><span class="tocnumber">2</span> <span class="toctext">Introduzione</span></a></li>
|
|
<li class="toclevel-1 tocsection-2"><a href="#Passaggi"><span class="tocnumber">3</span> <span class="toctext">Passaggi</span></a></li>
|
|
<li class="toclevel-1 tocsection-3"><a href="#Test"><span class="tocnumber">4</span> <span class="toctext">Test</span></a></li>
|
|
<li class="toclevel-1 tocsection-4"><a href="#Pensieri_finali"><span class="tocnumber">5</span> <span class="toctext">Pensieri finali</span></a></li>
|
|
<li class="toclevel-1 tocsection-5"><a href="#Link"><span class="tocnumber">6</span> <span class="toctext">Link</span></a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
</td></tr></table>
|
|
<p><br />
|
|
</p><p><br />
|
|
</p>
|
|
<h2><span class="mw-headline" id="Introduzione">Introduzione</span></h2>
|
|
<p>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.
|
|
</p>
|
|
<h2><span class="mw-headline" id="Passaggi">Passaggi</span></h2>
|
|
<p>1. Scaricare o clonare l'intero progetto GitHub da <a rel="nofollow" class="external free" href="https://github.com/IfcOpenShell/IfcOpenShell">https://github.com/IfcOpenShell/IfcOpenShell</a> (sarà sempre l'ultima versione)
|
|
</p><p>2. Da un terminale andare nella cartella <b>/nix/</b> e lanciare lo script. In OSX si può fare con:
|
|
</p>
|
|
<pre>./build-all.sh </pre>
|
|
<p>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.
|
|
</p><p>3. Una volta completato (viene stampato qualcosa di simile a "Built IfcOpenShell..." e torna al prompt) si ha una nuova cartella <b>/IfcOpenShell/build/</b> 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:
|
|
</p>
|
|
<pre>import sys
|
|
print sys.path </pre>
|
|
<p>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 <b>/site-packages/</b> dopo un <b>/Python/</b> o <b>/python-something/</b>. Nel mio caso è stato <i>/Library/Python/2.7/site-packages</i>. (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)
|
|
</p><p>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 <b>/site-packages/</b>
|
|
</p><p>6. Aprire una nuova finestra del browser dei file e navigare nel progetto GitHub scaricato: <b>/IfcOpenShell/src/ifcopenshell-python/</b> e copiare l'intera cartella <b>/ifcopenshell/</b>
|
|
</p><p>7. Incollarla all'interno della cartella <b>/site-packages/</b>. Ora si dovrebbe avere qualcosa di simile a:
|
|
</p>
|
|
<pre>/site-packages/ifcopenshell/__init__.py
|
|
/site-packages/ifcopenshell/entity_instance.py
|
|
/site-packages/ifcopenshell/file.py
|
|
/site-packages/ifcopenshell/geom/app.py
|
|
/site-packages/ifcopenshell/geom/main.py
|
|
/site-packages/ifcopenshell/geom/occ_utils.py
|
|
/site-packages/ifcopenshell/geom/__init__.py
|
|
/site-packages/ifcopenshell/guid.py </pre>
|
|
<p>8. Ora dobbiamo trovare due file all'interno della cartella /build/ , essi sono:
|
|
</p>
|
|
<pre>_ifcopenshell_wrapper.so
|
|
ifcopenshell_wrapper.py </pre>
|
|
<p>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.
|
|
</p><p>9. Ora copiare i file che si trovano all'interno del percorso corrispondente alla propria versione di Python. Nel mio caso:
|
|
</p>
|
|
<pre>/IfcOpenShell/build/Darwin/x86_64/build/ifcopenshell/[b]python-2.7[/b].10/ifcwrap/ </pre>
|
|
<p>10. Incollarli all'interno di /site-packages/ifcopenshell/
|
|
</p><p>11. Controllare se tutto è a posto:
|
|
</p>
|
|
<pre>/site-packages/ifcopenshell/__init__.py (1)
|
|
/site-packages/ifcopenshell/entity_instance.py (1)
|
|
/site-packages/ifcopenshell/_ifcopenshell_wrapper.so (2)
|
|
/site-packages/ifcopenshell/file.py (1)
|
|
/site-packages/ifcopenshell/geom/__init__.py (1)
|
|
/site-packages/ifcopenshell/geom/app.py (1)
|
|
/site-packages/ifcopenshell/geom/main.py (1)
|
|
/site-packages/ifcopenshell/geom/occ_utils.py (1)
|
|
/site-packages/ifcopenshell/guid.py (1)
|
|
/site-packages/ifcopenshell/ifcopenshell_wrapper.py (2) </pre>
|
|
<p>(1) dal progetto GitHub <br />
|
|
(2) dalla cartella /build/
|
|
</p><p><br />
|
|
12. Chiudere e riaprire FreeCAD
|
|
</p>
|
|
<h2><span class="mw-headline" id="Test">Test</span></h2>
|
|
<p>Ora che è installato, controlliamo se tutto funziona come previsto:
|
|
</p><p>12.1 nella console Python scrivere:
|
|
</p>
|
|
<pre>import ifcopenshell
|
|
from ifcopenshell import geom </pre>
|
|
<p>se non si genera alcun errore significa che dovrebbe essere installato correttamente
|
|
</p><p>12.2 Andare nel Manuale FreeCAD di Yorik, a fondo pagina e scaricare i seguenti file per fare un test:
|
|
</p>
|
|
<pre>house.FCStd
|
|
house.ifc </pre>
|
|
<p>12.3 Aprire <b>house.FCStd</b>, 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
|
|
</p><p>12.4 Prova finale, importare <b>house.ifc</b> in un nuovo file in modo da aprire un nuovo file e importare il file ... ci vorrà un po'.
|
|
</p><p>13. Godetevi BIM con FreeCAD!
|
|
</p>
|
|
<h2><span class="mw-headline" id="Pensieri_finali">Pensieri finali</span></h2>
|
|
<p>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à.
|
|
</p><p>Spero che questo sia di aiuto.
|
|
</p><p>Cheers
|
|
</p>
|
|
<h2><span class="mw-headline" id="Link">Link</span></h2>
|
|
<p>La discussione nel Forum <a rel="nofollow" class="external text" href="http://forum.freecadweb.org/viewtopic.php?f=23&t=17536">qui</a>
|
|
</p><p><br />
|
|
</p>
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div><div class="printfooter">
|
|
Online version: "<a dir="ltr" href="https://www.freecadweb.org/wiki/index.php?title=Import/Export_IFC_-_compiling_IfcOpenShell/it&oldid=214628">http://www.freecadweb.org/wiki/index.php?title=Import/Export_IFC_-_compiling_IfcOpenShell/it&oldid=214628</a>"</div>
|
|
<div id="catlinks" class="catlinks" data-mw="interface"></div><div class="visualClear"></div>
|
|
</div>
|
|
</div>
|
|
<div id="mw-navigation">
|
|
<h2>Navigation menu</h2>
|
|
|
|
</body></html> |