FreeCAD-Doc/localwiki/Import-Export_IFC_-_compiling_IfcOpenShell-it.html
2018-07-19 18:47:02 -05:00

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&amp;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&amp;oldid=214628">http://www.freecadweb.org/wiki/index.php?title=Import/Export_IFC_-_compiling_IfcOpenShell/it&amp;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>