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.
Let's start:
1. Download or clone the full GitHub project at https://github.com/IfcOpenShell/IfcOpenShell (it's the newest version)
2. From a terminal go to /nix/ folder and launch the script. In OSX it is ran with:
Code: Select all
./build-all.sh
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 /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...
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:
Code: Select all
import sys
print sys.path
5. So, once located where you want/have to install it, go there with your file browser (Finder in OSX). That is, go inside /site-packages/ folder
6. Open a new file browser window and navigate to your downloaded GitHub project: /IfcOpenShell/src/ifcopenshell-python/ and copy the full folder /ifcopenshell/
7. Paste it inside /site-packages/ folder. Now you should have something like:
Code: Select all
/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
Code: Select all
_ifcopenshell_wrapper.so
ifcopenshell_wrapper.py
9. Now go let's copy the files inside the place it corresponds to your Python version. In my case it was:
Code: Select all
/IfcOpenShell/build/Darwin/x86_64/build/ifcopenshell/[b]python-2.7[/b].10/ifcwrap/
11. Check everything is in place:
Code: Select all
/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) from GitHub project
(2) from /build/ folder
12.1 in the Python console write:
Code: Select all
import ifcopenshell
from ifcopenshell import geom
12.2 Go to Yorik's FreeCAD manual, navigate to the lower part of the page and download the following files to test:
Code: Select all
house.FCStd
house.ifc
12.4 Final test, import house.ifc into a new file so open a new file and import that file... it will take a while.
13. Enjoy BIM with FreeCAD!
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.
I hope it helps you
Cheers
EDIT: Before you ask for them, here you have a temporal download link for binaries for some Python versions. I have packed them so that you could straightaway download and install them without having to compile anything. I guess, FreeCAD developers may want to download them and make them available somewhere over the official site or even start thinking about including it inside FreeCAD.