Although I really do have more pressing things to do, I thought I would try and see what is needed to unbundle the blenderbim plugin from its dependencies and create a 'normal' linux package (I'm not sure I intend to continue doing this regularly as blenderbim is a moving target, but these tests may be a useful starting off point for anyone else who needs to do this).
Here is a dependency tree of blenderbim as far as I can make out (names are fedora rpm packages):
-
IfcOpenShell
-
tbb-devel
-
cmake
-
gcc-c++
-
boost-devel
-
OCE-devel
-
libicu-devel
-
openCOLLADA-devel
-
pcre-devel
-
python3-devel
-
swig
-
libxml2-devel
-
blender-rpm-macros
-
-
IfcOpenShell-python3
-
python3-behave
-
python3-lark-parser
-
python3-pyparsing
-
python3-xlsxwriter
-
python3-odfpy
-
python3-parse_type
-
python3-parse
-
python3-ordered-set
-
python3-defusedxml
-
-
IfcOpenShell-blenderbim
-
python3-jsonpickle
-
python3-elementpath
-
python3-deepdiff
-
python3-svgwrite
-
python3-pythonocc-core
-
OCE-devel
-
python3-svgwrite
-
python3-six
-
-
python3-bcfplugin
-
python3-pytz
-
python3-dateutil
-
python3-xmlschema
-
-
python3-pystache
-
python3-python-fcl
- fcl-devel
-
All of these are standard fedora packages except for IfcOpenShell, pythonocc-core, bcfplugin, pystache and python-fcl -- so I needed to build these. Also I didn't realise that fedora now has both an OCE and an opencascade package, so I linked with the old OCE 'Opencascade Community Edition' by mistake, if I do this again I will just use opencascade.
All the necessary RPM packages are in this fedora IfcOpenShell copr repository.
So if you have fedora 32, you can install a snapshot of the IfcOpenShell 0.6.0 branch, yesterday's blenderbim and all dependencies like so (you still need to go into the blender preferences and enable the checkbox for the addon):
sudo dnf copr enable bpostle/IfcOpenShell
sudo dnf install IfcOpenShell-blenderbim
..as a bonus, this installs the IfcOpenShell python modules, so if you also want IFC in FreeCAD, you can just install a FreeCAD 0.19 snapshot from this FreeCAD nightly snapshot copr repository:
sudo dnf copr enable **@freecad**/nightly
sudo dnf install freecad
This seems to mostly work, though I haven't tested functionality that I have never got working anyway (like ifcdiff). One gotcha is that blenderbim is now installed to /usr/share
, so blender doesn't have write permissions to the addon folder -- blenderbim writes cache and log files to a scene.BIMProperties.data_dir
folder, which defaults to the location of the addon. So before using the addon in a project you need to change the Blender -> Properties -> Scene -> Data Directory to someplace where you have write permissions (@Moult can the addon do a check for write permission and default to someplace like ~/.local/share/blender/benderbim
instead in this situation?).
[edit] another bonus is that these packages are also built for armhfp, so you can now have blenderbim on your raspberrypi!