Import/Export IFC - compiling IfcOpenShell/de: Difference between revisions

From FreeCAD Documentation
(Created page with "Import/Export IFC - IfcOpenShell kompilieren")
 
No edit summary
 
(43 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{TutorialInfo
{{TutorialInfo/de
|Topic=Arch Workbench
|Topic=Architektur Arbeitsbereich
|Level=Advanced
|Level=Fortgeschritten
|Time=120 minutes
|Time=120 Minuten
|Author=Pablo Gil
|Author=Pablo Gil
|FCVersion=
|FCVersion=0.19.x
|Files=
|Files=
}}
}}


== Introduction ==
== Einführung ==
Es war eine so harte Nachforschung darüber, wie man eine Arbeitskopie von IfcOpenShell python unter OSX/macOS erhält, um IFC Dateien zu importieren/exportieren, dass ich dieses Tutorial weitergebe, falls es mehr Leuten hilft.
It was a such a hard investigation on how to get a working copy of IfcOpenShell-python on OSX/macOS in order to import/export IFC files that I'm sharing this tutorial in case it helps more people.
My system is OSX 10.11.6, 64bits with Python 2.7.11, it might work for you if you have also OSX as they are often 64bits but may differ from mine. The procedure might be very similar if you run Linux or Windows but it probably have some differences.
Mein System ist OSX 10.11.6, 64bits mit Python 2.7.11, es könnte für dich funktionieren, wenn du auch OSX hast, da sie oft 64bit sind, aber von meinem abweichen können. Die Prozedur könnte sehr ähnlich sein, wenn du Linux oder Windows verwendest, aber es gibt wahrscheinlich einige Unterschiede.


<span id="Requirements"></span>
== Steps ==
== Anforderungen ==
1. Download or clone the full GitHub project at https://github.com/IfcOpenShell/IfcOpenShell (it will always be the newest version)
: {{incode|git clone https://github.com/IfcOpenShell/IfcOpenShell}}


* [[IfcOpenShell/de|IfcOpenShell]]
2. From a terminal go to {{FileName|/nix/}} folder and launch the script. In OSX it is executed with:
* FreeCAD v0.19 oder höher

== Schritte ==
1. Lade das vollständige GitHub Projekt unter https://github.com/IfcOpenShell/IfcOpenShell herunter oder klone es (es wird immer die neueste Version sein)
: {{incode|git Klon https://github.com/IfcOpenShell/IfcOpenShell}}

2. Gehe in einem Terminal zum Ordner {{FileName|/nix/}} und starte das Skript. Unter OSX wird es ausgeführt mit:
{{Code|code=
{{Code|code=
cd nix/
cd nix/
./build-all.sh
./build-all.sh
}}
}}
It will take from 30 up to 120 minutes to compile everything. It's not the smarter way of compiling IfcOpenShell but this simple script will compile all dependencies, Python versions, etc.
Es wird zwischen 30 und 120 Minuten dauern, bis alles kompiliert ist. Es ist nicht die intelligenteste Art, [[IfcOpenShell/de|IfcOpenShell]] zu kompilieren, aber dieses einfache Skript kompiliert alle Abhängigkeiten, Python Versionen usw.


3. Once it finishes (I don't remember now but it will be printed something like "Built IfcOpenShell..." and it will return to your prompt) you will have a new folder {{FileName|/IfcOpenShell/build/}} full of files and folders. From my personal experience, two weeks ago the nix "build-all.sh" script didn't finished successfully but after trying it yesterday with the newest updates it worked fine so I guess you might experience something similar in case the development goes further...
3. Sobald es beendet ist (ich kann mich jetzt nicht mehr erinnern, aber es wird etwas wie "Built IfcOpenShell..." ausgegeben und es kehrt zu deiner Eingabeaufforderung zurück), du wirst einen neuen Ordner {{{FileName|/IfcOpenShell/build/}}} voller Dateien und Ordner haben. Meiner persönlichen Erfahrung nach wurde das nix "build-all.sh" Skript vor zwei Wochen nicht erfolgreich beendet, aber nachdem ich es gestern mit den neuesten Updates ausprobiert habe, hat es gut funktioniert, so dass ich vermute, du könntest etwas Ähnliches erleben, falls die Entwicklung weiter geht...
Jetzt hast du also alles, was du brauchst, aber du mußt noch etwas Handarbeit leisten, um es zum Laufen zu bringen:
So now you have everything you need but you have to do some manual work in order to get it working:


4. Open FreeCAD and open the [[Python console]] and [[Report view]]. Then write into the Python console the following:
4. Öffne FreeCAD und öffne die [[Python console/de|Python Konsole]] und [[Report view/de|Berichtsansicht]]. Schreibe dann Folgendes in die Python Konsole:
{{Code|code=
{{Code|code=
import sys
import sys
print sys.path
print sys.path
}}
}}
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 {{FileName|/site-packages/}} after a {{FileName|/Python/}} or {{FileName|/python-something/}}. In my case it was {{FileName|/Library/Python/2.7/site-packages}}. (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)
Du erhälst eine laaaaange Zeile mit allen Pfaden, die FreeCAD liest. Du könntest IfcOpenShell vielleicht in jedem dieser Pfade installieren, aber ich schlage vor, du platzierst es in einem, in dem du einen {{FileName|/site-packages/}} nach einem {{FileName|/Python/}} oder {{FileName|/python-something/}} findest. In meinem Fall war es {{FileName|/Library/Python/2.7/site-packages}}. (Hinweis: Du findest Pfade innerhalb deines Anwendungsverzeichnisses, aber ich schlage vor, sie nicht zu verwenden, da IfcOpenShell dann nur für diese Anwendung verfügbar ist)


5. Once located where you want/have to install it, go there with your file browser (Finder in OSX). That is, go inside {{FileName|/site-packages/}} folder
5. Sobald du den Ort gefunden hast, an dem du es installieren willst/musst, gehe mit deinem Dateibrowser (Finder in OSX) dorthin. Das heißt, gehe in den Ordner {{FileName|/site-packages/}}
: {{incode|cd site-packages/}}
: {{incode|cd site-packages/}}


6. Open a new file browser window and navigate to your downloaded GitHub project: '''/IfcOpenShell/src/ifcopenshell-python/''' and copy the full '''/ifcopenshell/''' folder
6. Öffne ein neues Dateibrowserfenster und navigiere zu deinem heruntergeladenen GitHub Projekt: '''/IfcOpenShell/src/ifcopenshell-python/'''' und kopiere den vollständigen Ordner '''/ifcopenshell/'''


7. Paste it inside '''/site-packages/''' folder. Now you should have something like:
7. Füge ihn in den '''/site-packages/''' Ordner ein. Jetzt solltest du so etwas haben wie:
{{Code|code=
{{Code|code=
/site-packages/ifcopenshell/__init__.py
/site-packages/ifcopenshell/__init__.py
Line 51: Line 57:
}}
}}


8. Now we have to pick to files inside the /build/ folder, they are:
8. Jetzt müssen wir die Dateien innerhalb des Ordners /build/ auswählen, sie sind:
{{Code|code=
{{Code|code=
_ifcopenshell_wrapper.so
_ifcopenshell_wrapper.so
ifcopenshell_wrapper.py
ifcopenshell_wrapper.py
}}
}}
but as we have compiled everything you will have to pick the one that matches with your FreeCAD Python version. Check it easily reading the first line inside your FreeCAD [[Python console]] view. In my case it was Python 2.7.11.
aber da wir alles zusammengestellt haben, musst du diejenige auswählen, die mit deiner FreeCAD Python Version übereinstimmt. Überprüfe die erste Zeile in der Ansicht deiner FreeCAD [[Python console/de| Python Konsole]]. In meinem Fall war es Python 2.7.11.


9. Now go let's copy the files inside the place it corresponds to your Python version. In my case it was:
9. Lasse uns nun die Dateien an die Stelle kopieren, die deiner Python Version entspricht. In meinem Fall war das der Fall:
{{Code|code=
{{Code|code=
/IfcOpenShell/build/Darwin/x86_64/build/ifcopenshell/[b]python-2.7[/b].10/ifcwrap/
/IfcOpenShell/build/Darwin/x86_64/build/ifcopenshell/[b]python-2.7[/b].10/ifcwrap/
}}
}}


10. Paste them inside {{FileName|/site-packages/ifcopenshell/}}
10. Füge sie in {{FileName|/site-packages/ifcopenshell/}} ein


11. Überprüfe ob alles an seinem Platz ist:
11. Check everything is in place:
{{Code|code=
{{Code|code=
/site-packages/ifcopenshell/__init__.py (1)
/site-packages/ifcopenshell/__init__.py (1)
Line 79: Line 85:
}}
}}


(1) from GitHub project <br />
(1) aus dem GitHub Projekt <br />
(2) from /build/ folder
(2) aus /build/ Ordner




12. FreeCAD schließen und erneut öffnen
12. Close and reopen FreeCAD


== Testing ==
== Testen ==
Nun, da es installiert ist, wollen wir prüfen, ob alles wie erwartet funktioniert:
Now that it is installed, let's check if everything works as expected:


12.1 in the Python console write:
12.1 in die Python Konsole schreiben:
{{Code|code=
{{Code|code=
import ifcopenshell
import ifcopenshell
from ifcopenshell import geom
from ifcopenshell import geom
}}
}}
wenn es keinen Fehler auswirft, bedeutet dies, dass es korrekt installiert sein könnte
if it doesn't throw any error it means it may be correctly installed


12.2 Gehe zum [[Manual:BIM_modeling/de|Handbuch BIM-Modellierung]] (Yoriks FreeCAD-Manual), navigiere zum unteren Teil der Seite und lade die folgenden Dateien zum Testen herunter:
12.2 Go to Yorik's FreeCAD manual, navigate to the lower part of the page and download the following files to test:
{{Code|code=
{{Code|code=
house.FCStd
house.FCStd
Line 101: Line 107:
}}
}}


12.3 Open {{FileName|house.FCStd}}, select the root "Building" object and export it ({{MenuCommand|File → Export}}) setting the File type to "Industry Foundation Classes (*.ifc)". Press {{Button|Save}} and if it works and it doesn't throw an error in the [[Report view]] then it's working.
12.3 Öffne {{FileName|house.FCStd}}, wähle das Stammobjekt "Gebäude" und exportiere s ({{MenuCommand|Datei → Export}}), wobei der Dateityp auf "Industry Foundation Classes (*.ifc)" gesetzt wird. Drücke {{Button|Save}} und wenn es funktioniert und in der [[Report view/de|Berichtsansicht]] keinen Fehler auslöst, dann funktioniert es.

12.4 Abschließender Test, importiere {{FileName|house.ifc}} in eine neue Datei, also öffne eine neue Datei und importiere diese Datei... es wird eine Weile dauern.

13. Viel Spaß an BIM mit FreeCAD!


== Abschließende Gedanken ==
12.4 Final test, import {{FileName|house.ifc}} into a new file so open a new file and import that file... it will take a while.
Meine Meinung ist, dass FreeCAD selbst vorkompilierte Versionen von IfcOpenShell mit der Distribution gebündelt haben sollte, weil es eine totale Qual ist, es selbst zu bauen, und der durchschnittliche Benutzer wird es nicht tun (er weiß nicht, wie man GitHub kompiliert, verwaltet usw.), aber na ja, vielleicht in der Zukunft.


Ich hoffe, es hilft Euch.
13. Enjoy BIM with FreeCAD!


Tschüss
== Final thoughts ==
My opinion is that FreeCAD itself should have precompiled versions of IfcOpenShell bundled with the distribution because building it by yourself is a total pain and average user won't do it (they don't know how to compile, manage GitHub, etc), but well, maybe in the future.


<span id="Links"></span>
I hope it helps you.
==Verweise==


* Verwandter Forumsbeitrag [http://forum.freecadweb.org/viewtopic.php?f=23&t=17536 Diskussion]
Cheers
* [[IfcOpenShell/de|IfcOpenShell]]


==Links==
* Related forum thread [http://forum.freecadweb.org/viewtopic.php?f=23&t=17536 discussion]


{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
[[Category:BIM{{#translation:}}]]
[[Category:BIM{{#translation:}}]]
[[Category:Formats{{#translation:}}]]
[[Category:Arch{{#translation:}}]]
[[Category:Arch{{#translation:}}]]
[[Category:3rd Party{{#translation:}}]]
[[Category:3rd Party{{#translation:}}]]
[[Category:File_Formats{{#translation:}}]]

Latest revision as of 14:56, 3 February 2023

Tutorium
Thema
Architektur Arbeitsbereich
Niveau
Fortgeschritten
Zeit zum Abschluss
120 Minuten
Autoren
Pablo Gil
FreeCAD-Version
0.19.x
Beispieldateien
Siehe auch
None

Einführung

Es war eine so harte Nachforschung darüber, wie man eine Arbeitskopie von IfcOpenShell python unter OSX/macOS erhält, um IFC Dateien zu importieren/exportieren, dass ich dieses Tutorial weitergebe, falls es mehr Leuten hilft. Mein System ist OSX 10.11.6, 64bits mit Python 2.7.11, es könnte für dich funktionieren, wenn du auch OSX hast, da sie oft 64bit sind, aber von meinem abweichen können. Die Prozedur könnte sehr ähnlich sein, wenn du Linux oder Windows verwendest, aber es gibt wahrscheinlich einige Unterschiede.

Anforderungen

Schritte

1. Lade das vollständige GitHub Projekt unter https://github.com/IfcOpenShell/IfcOpenShell herunter oder klone es (es wird immer die neueste Version sein)

git Klon https://github.com/IfcOpenShell/IfcOpenShell

2. Gehe in einem Terminal zum Ordner /nix/ und starte das Skript. Unter OSX wird es ausgeführt mit:

cd nix/
./build-all.sh

Es wird zwischen 30 und 120 Minuten dauern, bis alles kompiliert ist. Es ist nicht die intelligenteste Art, IfcOpenShell zu kompilieren, aber dieses einfache Skript kompiliert alle Abhängigkeiten, Python Versionen usw.

3. Sobald es beendet ist (ich kann mich jetzt nicht mehr erinnern, aber es wird etwas wie "Built IfcOpenShell..." ausgegeben und es kehrt zu deiner Eingabeaufforderung zurück), du wirst einen neuen Ordner /IfcOpenShell/build/ voller Dateien und Ordner haben. Meiner persönlichen Erfahrung nach wurde das nix "build-all.sh" Skript vor zwei Wochen nicht erfolgreich beendet, aber nachdem ich es gestern mit den neuesten Updates ausprobiert habe, hat es gut funktioniert, so dass ich vermute, du könntest etwas Ähnliches erleben, falls die Entwicklung weiter geht... Jetzt hast du also alles, was du brauchst, aber du mußt noch etwas Handarbeit leisten, um es zum Laufen zu bringen:

4. Öffne FreeCAD und öffne die Python Konsole und Berichtsansicht. Schreibe dann Folgendes in die Python Konsole:

import sys
print sys.path

Du erhälst eine laaaaange Zeile mit allen Pfaden, die FreeCAD liest. Du könntest IfcOpenShell vielleicht in jedem dieser Pfade installieren, aber ich schlage vor, du platzierst es in einem, in dem du einen /site-packages/ nach einem /Python/ oder /python-something/ findest. In meinem Fall war es /Library/Python/2.7/site-packages. (Hinweis: Du findest Pfade innerhalb deines Anwendungsverzeichnisses, aber ich schlage vor, sie nicht zu verwenden, da IfcOpenShell dann nur für diese Anwendung verfügbar ist)

5. Sobald du den Ort gefunden hast, an dem du es installieren willst/musst, gehe mit deinem Dateibrowser (Finder in OSX) dorthin. Das heißt, gehe in den Ordner /site-packages/

cd site-packages/

6. Öffne ein neues Dateibrowserfenster und navigiere zu deinem heruntergeladenen GitHub Projekt: /IfcOpenShell/src/ifcopenshell-python/' und kopiere den vollständigen Ordner /ifcopenshell/

7. Füge ihn in den /site-packages/ Ordner ein. Jetzt solltest du so etwas haben wie:

/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

8. Jetzt müssen wir die Dateien innerhalb des Ordners /build/ auswählen, sie sind:

_ifcopenshell_wrapper.so
ifcopenshell_wrapper.py

aber da wir alles zusammengestellt haben, musst du diejenige auswählen, die mit deiner FreeCAD Python Version übereinstimmt. Überprüfe die erste Zeile in der Ansicht deiner FreeCAD Python Konsole. In meinem Fall war es Python 2.7.11.

9. Lasse uns nun die Dateien an die Stelle kopieren, die deiner Python Version entspricht. In meinem Fall war das der Fall:

/IfcOpenShell/build/Darwin/x86_64/build/ifcopenshell/[b]python-2.7[/b].10/ifcwrap/

10. Füge sie in /site-packages/ifcopenshell/ ein

11. Überprüfe ob alles an seinem Platz ist:

/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)

(1) aus dem GitHub Projekt
(2) aus /build/ Ordner


12. FreeCAD schließen und erneut öffnen

Testen

Nun, da es installiert ist, wollen wir prüfen, ob alles wie erwartet funktioniert:

12.1 in die Python Konsole schreiben:

import ifcopenshell
from ifcopenshell import geom

wenn es keinen Fehler auswirft, bedeutet dies, dass es korrekt installiert sein könnte

12.2 Gehe zum Handbuch BIM-Modellierung (Yoriks FreeCAD-Manual), navigiere zum unteren Teil der Seite und lade die folgenden Dateien zum Testen herunter:

house.FCStd
house.ifc

12.3 Öffne house.FCStd, wähle das Stammobjekt "Gebäude" und exportiere s (Datei → Export), wobei der Dateityp auf "Industry Foundation Classes (*.ifc)" gesetzt wird. Drücke Save und wenn es funktioniert und in der Berichtsansicht keinen Fehler auslöst, dann funktioniert es.

12.4 Abschließender Test, importiere house.ifc in eine neue Datei, also öffne eine neue Datei und importiere diese Datei... es wird eine Weile dauern.

13. Viel Spaß an BIM mit FreeCAD!

Abschließende Gedanken

Meine Meinung ist, dass FreeCAD selbst vorkompilierte Versionen von IfcOpenShell mit der Distribution gebündelt haben sollte, weil es eine totale Qual ist, es selbst zu bauen, und der durchschnittliche Benutzer wird es nicht tun (er weiß nicht, wie man GitHub kompiliert, verwaltet usw.), aber na ja, vielleicht in der Zukunft.

Ich hoffe, es hilft Euch.

Tschüss

Verweise