mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-18 22:33:33 +00:00
Update live install script on linux/mac and merge system support docs into dev setup docs
This commit is contained in:
@@ -14,19 +14,29 @@ Unstable installation
|
|||||||
**Unstable installation** is almost the same as **Stable installation**, except
|
**Unstable installation** is almost the same as **Stable installation**, except
|
||||||
that they are typically updated every day. Simply download a daily build from
|
that they are typically updated every day. Simply download a daily build from
|
||||||
the `GitHub releases page
|
the `GitHub releases page
|
||||||
<https://github.com/IfcOpenShell/IfcOpenShell/releases>`__, then follow the
|
<https://github.com/IfcOpenShell/IfcOpenShell/releases?q=blenderbim&expanded=true>`__,
|
||||||
usual :doc:`installation instructions</users/quickstart/installation>`.
|
then follow the usual :doc:`installation
|
||||||
|
instructions</users/quickstart/installation>`.
|
||||||
|
|
||||||
You will need to choose which build to download.
|
The BlenderBIM Add-on officially supports all major 64-bit platforms, as well as
|
||||||
|
the Python version shipped by the Blender Foundation for the most recent three
|
||||||
|
major Blender versions:
|
||||||
|
|
||||||
- If you are on Blender >=4.1, choose py311
|
- 64-bit Linux (``linux-x64``)
|
||||||
- If you are on Blender >=3.1 and <=4.0, choose py310
|
- 64-bit MacOS Intel (``macos-x64``)
|
||||||
- If you are on Blender >=2.93 and <3.1, choose py39
|
- 64-bit MacOS Silicon (``macos-arm64``)
|
||||||
- Choose ``linux-x64``, ``macos-x64`` (Apple Intel), ``macos-arm64`` (Apple Silicon), or
|
- 64-bit Windows (``windows-x64``)
|
||||||
``windows-x64`` depending on your operating system
|
- Blender 4.2 with Python 3.11
|
||||||
|
|
||||||
For users who don't follow the `VFX Platform <https://vfxplatform.com/>`_
|
Due to significant changes in the Blender extensions system, Blender versions
|
||||||
standard, we also provide py312 builds.
|
<4.2 are not supported.
|
||||||
|
|
||||||
|
Developer builds may exist for different versions of Python but there will be
|
||||||
|
no guarantee of the uptime or stability of these builds.
|
||||||
|
|
||||||
|
Other system specifications match the `Blender Requirements
|
||||||
|
<https://www.blender.org/download/requirements/>`_ and the `VFX Platform
|
||||||
|
<https://vfxplatform.com/>`_ standard.
|
||||||
|
|
||||||
Sometimes, a build may be delayed, or contain broken code. We try to avoid this,
|
Sometimes, a build may be delayed, or contain broken code. We try to avoid this,
|
||||||
but it happens.
|
but it happens.
|
||||||
@@ -46,7 +56,9 @@ compile IfcOpenShell is out of scope of this document.
|
|||||||
|
|
||||||
You can create your own package by using the Makefile as shown below. You can
|
You can create your own package by using the Makefile as shown below. You can
|
||||||
choose between a ``PLATFORM`` of ``linux``, ``macos``, ``macosm1``, and ``win``.
|
choose between a ``PLATFORM`` of ``linux``, ``macos``, ``macosm1``, and ``win``.
|
||||||
You can choose between a ``PYVERSION`` of ``py311``, ``py310``, or ``py39``.
|
You can choose between a ``PYVERSION`` of ``py312``, ``py311``, ``py310``, or
|
||||||
|
``py39``.
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
cd src/blenderbim
|
cd src/blenderbim
|
||||||
@@ -60,18 +72,17 @@ Live development environment
|
|||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
One option for developers who want to actively develop from source is to follow
|
One option for developers who want to actively develop from source is to follow
|
||||||
the instructions from **Bundling for Blender**. However, creating a build,
|
the instructions from :ref:`devs/installation:Bundling for Blender`. However,
|
||||||
uninstalling the old add-on, and installing a new build is a slow process.
|
creating a build, uninstalling the old add-on, and installing a new build is a
|
||||||
Although it works, it is very slow, so we do not recommend it.
|
slow process. Although it works, it is very slow, so we do not recommend it.
|
||||||
|
|
||||||
A more rapid approach is to follow the **Unstable installation** method, as this
|
A more rapid approach is to follow the :ref:`devs/installation:Unstable
|
||||||
provides all dependencies for you out of the box.
|
installation` method, as this provides all dependencies for you out of the box.
|
||||||
|
|
||||||
Once you've done this, you can replace certain Python files that tend to be
|
Once you've done this, you can replace certain Python files that tend to be
|
||||||
updated frequently with those from the Git repository. We're going to use
|
updated frequently with those from the Git repository. We're going to use
|
||||||
symlinks (Windows users can use ``mklink``), so we can code in our Git
|
symbolic links, so we can code in our Git repository, and see the changes in
|
||||||
repository, and see the changes in our Blender installation (you will need to
|
our Blender installation (you will need to restart Blender to see changes).
|
||||||
restart Blender to see changes).
|
|
||||||
|
|
||||||
For Linux or Mac:
|
For Linux or Mac:
|
||||||
|
|
||||||
@@ -117,19 +128,17 @@ Packaged installation
|
|||||||
Tips for package managers
|
Tips for package managers
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
If you are interested in packaging the BlenderBIM Add-on for a packaging
|
|
||||||
manager, read on.
|
|
||||||
|
|
||||||
The BlenderBIM Add-on is fully contained in the ``blenderbim/`` subfolder of the
|
The BlenderBIM Add-on is fully contained in the ``blenderbim/`` subfolder of the
|
||||||
Blender add-ons directory. This is typically distributed as a zipfile as per
|
Blender add-ons directory. This is typically distributed as a zipfile as per
|
||||||
Blender add-on conventions. Within this folder, you'll find the following file
|
Blender add-on conventions. Within this folder, you'll find the following file
|
||||||
structure:
|
structure:
|
||||||
::
|
::
|
||||||
|
|
||||||
core/ (Blender agnostic core code)
|
core/ (Blender agnostic core logic)
|
||||||
tool/ (Blender specific logic)
|
tool/ (Blender specific shared functionality)
|
||||||
bim/ (Blender specific UI)
|
bim/ (Blender specific UI)
|
||||||
libs/ (dependencies)
|
libs/ (other assets)
|
||||||
|
wheels/ (dependencies)
|
||||||
__init__.py
|
__init__.py
|
||||||
|
|
||||||
This corresponds to the structure found in the source code `here
|
This corresponds to the structure found in the source code `here
|
||||||
@@ -142,50 +151,29 @@ dependencies are bundled with the add-on for convenience.
|
|||||||
If you choose to install the BlenderBIM Add-on and use your own system
|
If you choose to install the BlenderBIM Add-on and use your own system
|
||||||
dependencies, the source of truth for how dependencies are bundled are found in
|
dependencies, the source of truth for how dependencies are bundled are found in
|
||||||
the `Makefile
|
the `Makefile
|
||||||
<https://github.com/IfcOpenShell/IfcOpenShell/blob/v0.8.0/src/blenderbim/Makefile>`__.
|
<https://github.com/IfcOpenShell/IfcOpenShell/blob/v0.8.0/src/blenderbim/Makefile>`__
|
||||||
|
in the ``dist`` target.
|
||||||
|
|
||||||
Required Python modules to be stored in ``libs/site/packages/`` are:
|
Add-on compatibility
|
||||||
::
|
--------------------
|
||||||
|
|
||||||
ifcopenshell
|
The BlenderBIM Add-on is a non-trivial add-on. By turning Blender into a
|
||||||
bcf
|
graphical front-end to a native IFC authoring platform, some fundamental Blender
|
||||||
ifcclash
|
features (such as hotkeys for basic functionality like object deletion or
|
||||||
ifccobie
|
duplication) have been patched and many dependencies have been introduced.
|
||||||
ifccsv
|
|
||||||
ifcdiff
|
|
||||||
ifc4d
|
|
||||||
ifc5d
|
|
||||||
ifcpatch
|
|
||||||
ifctester
|
|
||||||
pystache
|
|
||||||
svgwrite
|
|
||||||
dateutil
|
|
||||||
isodate
|
|
||||||
networkx
|
|
||||||
https://github.com/Andrej730/aud/archive/refs/heads/master-reduced-size.zip
|
|
||||||
deepdiff
|
|
||||||
jsonpickle
|
|
||||||
ordered_set
|
|
||||||
pyparsing
|
|
||||||
xmlschema
|
|
||||||
elementpath
|
|
||||||
six
|
|
||||||
lark-parser
|
|
||||||
parse
|
|
||||||
parse_type
|
|
||||||
xlsxwriter
|
|
||||||
odfpy
|
|
||||||
defusedxml
|
|
||||||
jmespath
|
|
||||||
ifcjson
|
|
||||||
|
|
||||||
Notes:
|
Other add-ons may no longer work as intended when the BlenderBIM Add-on is
|
||||||
|
enabled, or vice versa, the BlenderBIM Add-on may no longer work as intended
|
||||||
|
when other add-ons are enabled.
|
||||||
|
|
||||||
1. ``ifcopenshell`` almost always requires the latest version due to the fast paced nature of the add-on development.
|
Known scenarios which will lead to add-on incompatibility include:
|
||||||
2. ``ifcjson`` can be found `here <https://github.com/IFCJSON-Team/IFC2JSON_python/tree/master/file_converters>`__.
|
|
||||||
|
|
||||||
Required static assets are:
|
- The add-on also overrides the same hotkeys. For example, if an add-on
|
||||||
::
|
overrides the "X" key to delete an object, you will need to manually trigger
|
||||||
|
(either via menu or custom hotkey) the BlenderBIM Add-on equivalent operator
|
||||||
bim/data/gantt/jsgantt.js (from jsgantt-improved)
|
(e.g. IFC Delete).
|
||||||
bim/data/gantt/jsgantt.css (from jsgantt-improved)
|
- The add-on uses object deletion or duplication macros with dictionary
|
||||||
|
override. Note that this is also deprecated in Blender, so the other add-on
|
||||||
|
should be updated to fix this.
|
||||||
|
- The add-on requires a conflicting dependency, or a conflicting version of the
|
||||||
|
same dependency. Neither add-on may work simultaneously.
|
||||||
|
|||||||
@@ -1,45 +0,0 @@
|
|||||||
System support
|
|
||||||
==============
|
|
||||||
|
|
||||||
The BlenderBIM Add-on officially supports all major 64-bit platforms, as well as
|
|
||||||
the Python version shipped by the Blender Foundation for the most recent three
|
|
||||||
major Blender versions:
|
|
||||||
|
|
||||||
- 64-bit Linux on Python 3.10
|
|
||||||
- 64-bit Linux on Python 3.11
|
|
||||||
- 64-bit MacOS Intel on Python 3.10
|
|
||||||
- 64-bit MacOS Intel on Python 3.11
|
|
||||||
- 64-bit MacOS Silicon on Python 3.10
|
|
||||||
- 64-bit MacOS Silicon on Python 3.11
|
|
||||||
- 64-bit Windows on Python 3.10
|
|
||||||
- 64-bit Windows on Python 3.11
|
|
||||||
|
|
||||||
Note that developer builds may exist for older versions of Python but there will
|
|
||||||
be no guarantee of the uptime or stability of these builds.
|
|
||||||
|
|
||||||
Other system specifications match the `Blender Requirements
|
|
||||||
<https://www.blender.org/download/requirements/>`_.
|
|
||||||
|
|
||||||
Add-on compatibility
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
The BlenderBIM Add-on is a non-trivial add-on. By turning Blender into a
|
|
||||||
graphical front-end to a native IFC authoring platform, some fundamental Blender
|
|
||||||
features (such as hotkeys for basic functionality like object deletion or
|
|
||||||
duplication) have been patched and many dependencies have been introduced.
|
|
||||||
|
|
||||||
Other add-ons may no longer work as intended when the BlenderBIM Add-on is
|
|
||||||
enabled, or vice versa, the BlenderBIM Add-on may no longer work as intended
|
|
||||||
when other add-ons are enabled.
|
|
||||||
|
|
||||||
Known scenarios which will lead to add-on incompatibility include:
|
|
||||||
|
|
||||||
- The add-on also overrides the same hotkeys. For example, if an add-on
|
|
||||||
overrides the "X" key to delete an object, you will need to manually trigger
|
|
||||||
(either via menu or custom hotkey) the BlenderBIM Add-on equivalent operator
|
|
||||||
(e.g. IFC Delete).
|
|
||||||
- The add-on uses object deletion or duplication macros with dictionary
|
|
||||||
override. Note that this is also deprecated in Blender, so the other add-on
|
|
||||||
should be updated to fix this.
|
|
||||||
- The add-on requires a conflicting dependency, or a conflicting version of the
|
|
||||||
same dependency. Neither add-on may work simultaneously.
|
|
||||||
@@ -193,11 +193,6 @@ suggesting new features, or contributing code, your involvement is highly encour
|
|||||||
:doc:`/devs/running_tests`
|
:doc:`/devs/running_tests`
|
||||||
Testing and quality assurance.
|
Testing and quality assurance.
|
||||||
|
|
||||||
.. container:: card
|
|
||||||
|
|
||||||
:doc:`/devs/system_support`
|
|
||||||
Multiplatform compatibility.
|
|
||||||
|
|
||||||
.. container:: card
|
.. container:: card
|
||||||
|
|
||||||
:doc:`/devs/ux_guidelines`
|
:doc:`/devs/ux_guidelines`
|
||||||
@@ -216,5 +211,4 @@ suggesting new features, or contributing code, your involvement is highly encour
|
|||||||
devs/undo_system
|
devs/undo_system
|
||||||
devs/code_style
|
devs/code_style
|
||||||
devs/running_tests
|
devs/running_tests
|
||||||
devs/system_support
|
|
||||||
devs/ux_guidelines
|
devs/ux_guidelines
|
||||||
|
|||||||
@@ -1,70 +1,57 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
echo SETUP BLENDERBIM ADD-ON LIVE DEVELOPMENT ENVIRONMENT
|
echo SETUP BLENDERBIM ADD-ON LIVE DEVELOPMENT ENVIRONMENT
|
||||||
echo Update BLENDER, BLENDER_VERSION, PYTHON_VERSION, BBIM_REPO, BLENDER_USER_NAME in the script bellow.
|
echo Update REPO_PATH, BLENDER_PATH, PACKAGE_PATH, BLENDERBIM_PATH in the script below.
|
||||||
echo Put the script at the root of your IfcOpenShell git repository
|
|
||||||
echo This script needs to be run as administrator (to create symbolic links)
|
echo This script needs to be run as administrator (to create symbolic links)
|
||||||
echo Make sure you have followed these steps before proceeding :)
|
echo Make sure you have followed these steps before proceeding :)
|
||||||
|
|
||||||
pause
|
pause
|
||||||
|
|
||||||
SET BLENDER_VERSION=4.2
|
SET REPO_PATH=%HOMEDRIVE%\Users\%USERNAME%\Where\Your\Git\Repository\Is\Cloned\IfcOpenShell
|
||||||
SET PYTHON_VERSION=3.11
|
SET BLENDER_PATH=%HOMEDRIVE%\Users\%USERNAME%\AppData\Roaming\Blender Foundation\Blender\4.2
|
||||||
SET BBIM_REPO=user_default
|
SET PACKAGE_PATH=%BLENDER_PATH%\extensions\.local\lib\python3.11\site-packages
|
||||||
rem Can be useful e.g. if you're running script from administrator account
|
SET BLENDERBIM_PATH=%BLENDER_PATH%\extensions\user_default\blenderbim
|
||||||
rem and need to setup dev environment for some other user.
|
|
||||||
SET BLENDER_USER_NAME=%USERNAME%
|
|
||||||
|
|
||||||
SET BLENDER=%HOMEDRIVE%\Users\%BLENDER_USER_NAME%\AppData\Roaming\Blender Foundation\Blender\%BLENDER_VERSION%
|
echo Changing to the Git repository directory...
|
||||||
SET BLENDER_LOCAL=%BLENDER%\extensions\.local\lib\python%PYTHON_VERSION%\site-packages
|
cd %REPO_PATH%
|
||||||
SET BLENDERBIM=%BLENDER_LOCAL%\blenderbim
|
|
||||||
SET BLENDER_EXT=%BLENDER%\extensions\%BBIM_REPO%\blenderbim
|
|
||||||
|
|
||||||
echo Removing the Blender add-on Python code...
|
|
||||||
del "%BLENDER_EXT%\__init__.py"
|
|
||||||
rd /S /Q "%BLENDERBIM%"
|
|
||||||
|
|
||||||
echo Replacing them with links to the Git repository...
|
|
||||||
mklink "%BLENDER_EXT%\__init__.py" "%CD%\src\blenderbim\blenderbim\__init__.py"
|
|
||||||
mklink /D "%BLENDERBIM%" "%CD%\src\blenderbim\blenderbim"
|
|
||||||
|
|
||||||
echo Copy over compiled IfcOpenShell files...
|
echo Copy over compiled IfcOpenShell files...
|
||||||
copy "%BLENDER_LOCAL%\ifcopenshell\*_wrapper*" "%CD%\src\ifcopenshell-python\ifcopenshell\"
|
copy "%PACKAGE_PATH%\ifcopenshell\*_wrapper*" "%CD%\src\ifcopenshell-python\ifcopenshell\"
|
||||||
|
|
||||||
echo Remove the IfcOpenShell dependency...
|
echo Remove extension and link to Git...
|
||||||
rd /S /Q "%BLENDER_LOCAL%\ifcopenshell"
|
del "%BLENDERBIM_PATH%\__init__.py"
|
||||||
|
rd /S /Q "%PACKAGE_PATH%\blenderbim"
|
||||||
|
rd /S /Q "%PACKAGE_PATH%\ifcopenshell"
|
||||||
|
del "%PACKAGE_PATH%\ifccsv.py"
|
||||||
|
del "%PACKAGE_PATH%\ifcdiff.py"
|
||||||
|
del "%PACKAGE_PATH%\bsdd.py"
|
||||||
|
rd /S /Q "%PACKAGE_PATH%\bcf"
|
||||||
|
rd /S /Q "%PACKAGE_PATH%\ifc4d"
|
||||||
|
rd /S /Q "%PACKAGE_PATH%\ifc5d"
|
||||||
|
rd /S /Q "%PACKAGE_PATH%\ifccityjson"
|
||||||
|
rd /S /Q "%PACKAGE_PATH%\ifcclash"
|
||||||
|
rd /S /Q "%PACKAGE_PATH%\ifcpatch"
|
||||||
|
rd /S /Q "%PACKAGE_PATH%\ifctester"
|
||||||
|
rd /S /Q "%PACKAGE_PATH%\ifcfm"
|
||||||
|
|
||||||
echo Replace them with links to the Git repository...
|
mklink "%BLENDERBIM_PATH%\__init__.py" "%CD%\src\blenderbim\blenderbim\__init__.py"
|
||||||
mklink /D "%BLENDER_LOCAL%\ifcopenshell" "%CD%\src\ifcopenshell-python\ifcopenshell"
|
mklink /D "%PACKAGE_PATH%\blenderbim" "%CD%\src\blenderbim\blenderbim"
|
||||||
|
mklink /D "%PACKAGE_PATH%\ifcopenshell" "%CD%\src\ifcopenshell-python\ifcopenshell"
|
||||||
echo Remove and link other IfcOpenShell utilities...
|
mklink "%PACKAGE_PATH%\ifccsv.py" "%CD%\src\ifccsv\ifccsv.py"
|
||||||
del "%BLENDER_LOCAL%\ifccsv.py"
|
mklink "%PACKAGE_PATH%\ifcdiff.py" "%CD%\src\ifcdiff\ifcdiff.py"
|
||||||
del "%BLENDER_LOCAL%\ifcdiff.py"
|
mklink "%PACKAGE_PATH%\bsdd.py" "%CD%\src\bsdd\bsdd.py"
|
||||||
del "%BLENDER_LOCAL%\bsdd.py"
|
mklink /D "%PACKAGE_PATH%\bcf" "%CD%\src\bcf\bcf"
|
||||||
rd /S /Q "%BLENDER_LOCAL%\bcf"
|
mklink /D "%PACKAGE_PATH%\ifc4d" "%CD%\src\ifc4d\ifc4d"
|
||||||
rd /S /Q "%BLENDER_LOCAL%\ifc4d"
|
mklink /D "%PACKAGE_PATH%\ifc5d" "%CD%\src\ifc5d\ifc5d"
|
||||||
rd /S /Q "%BLENDER_LOCAL%\ifc5d"
|
mklink /D "%PACKAGE_PATH%\ifccityjson" "%CD%\src\ifccityjson\ifccityjson"
|
||||||
rd /S /Q "%BLENDER_LOCAL%\ifccityjson"
|
mklink /D "%PACKAGE_PATH%\ifcclash" "%CD%\src\ifcclash\ifcclash"
|
||||||
rd /S /Q "%BLENDER_LOCAL%\ifcclash"
|
mklink /D "%PACKAGE_PATH%\ifcpatch" "%CD%\src\ifcpatch\ifcpatch"
|
||||||
rd /S /Q "%BLENDER_LOCAL%\ifcpatch"
|
mklink /D "%PACKAGE_PATH%\ifctester" "%CD%\src\ifctester\ifctester"
|
||||||
rd /S /Q "%BLENDER_LOCAL%\ifctester"
|
mklink /D "%PACKAGE_PATH%\ifcfm" "%CD%\src\ifcfm\ifcfm"
|
||||||
rd /S /Q "%BLENDER_LOCAL%\ifcfm"
|
|
||||||
|
|
||||||
mklink "%BLENDER_LOCAL%\ifccsv.py" "%CD%\src\ifccsv\ifccsv.py"
|
|
||||||
mklink "%BLENDER_LOCAL%\ifcdiff.py" "%CD%\src\ifcdiff\ifcdiff.py"
|
|
||||||
mklink "%BLENDER_LOCAL%\bsdd.py" "%CD%\src\bsdd\bsdd.py"
|
|
||||||
mklink /D "%BLENDER_LOCAL%\bcf" "%CD%\src\bcf\bcf"
|
|
||||||
mklink /D "%BLENDER_LOCAL%\ifc4d" "%CD%\src\ifc4d\ifc4d"
|
|
||||||
mklink /D "%BLENDER_LOCAL%\ifc5d" "%CD%\src\ifc5d\ifc5d"
|
|
||||||
mklink /D "%BLENDER_LOCAL%\ifccityjson" "%CD%\src\ifccityjson\ifccityjson"
|
|
||||||
mklink /D "%BLENDER_LOCAL%\ifcclash" "%CD%\src\ifcclash\ifcclash"
|
|
||||||
mklink /D "%BLENDER_LOCAL%\ifcpatch" "%CD%\src\ifcpatch\ifcpatch"
|
|
||||||
mklink /D "%BLENDER_LOCAL%\ifctester" "%CD%\src\ifctester\ifctester"
|
|
||||||
mklink /D "%BLENDER_LOCAL%\ifcfm" "%CD%\src\ifcfm\ifcfm"
|
|
||||||
|
|
||||||
echo Manually downloading some third party dependencies...
|
echo Manually downloading some third party dependencies...
|
||||||
curl https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.js -o "%BLENDERBIM%\bim\data\gantt\jsgantt.js"
|
curl https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.js -o "%PACKAGE_PATH%\blenderbim\bim\data\gantt\jsgantt.js"
|
||||||
curl https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.css -o "%BLENDERBIM%\bim\data\gantt\jsgantt.css"
|
curl https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.css -o "%PACKAGE_PATH%\blenderbim\bim\data\gantt\jsgantt.css"
|
||||||
curl -L https://github.com/BrickSchema/Brick/releases/download/nightly/Brick.ttl -o "%BLENDERBIM%\bim\schema\Brick.ttl"
|
curl -L https://github.com/BrickSchema/Brick/releases/download/nightly/Brick.ttl -o "%PACKAGE_PATH%\blenderbim\bim\schema\Brick.ttl"
|
||||||
|
|
||||||
pause
|
pause
|
||||||
|
|||||||
@@ -1,60 +1,52 @@
|
|||||||
git clone https://github.com/IfcOpenShell/IfcOpenShell.git
|
# Please update REPO_PATH, BLENDER_PATH, PACKAGE_PATH, BLENDERBIM_PATH in the script below.
|
||||||
cd IfcOpenShell
|
# Default BLENDER_PATH on Mac: "/Users/$USER/Library/Application Support/Blender/4.2/"
|
||||||
|
# Default BLENDER_PATH on Linux: "$HOME/.config/blender/4.2/"
|
||||||
|
# REPO_PATH="/path/to/where/your/git/repository/is/cloned/IfcOpenShell"
|
||||||
|
REPO_PATH="/home/dion/Projects/ifcopenshell/"
|
||||||
|
BLENDER_PATH="${HOME}/.config/blender/4.2"
|
||||||
|
PACKAGE_PATH="${BLENDER_PATH}/extensions/.local/lib/python3.11/site-packages"
|
||||||
|
BLENDERBIM_PATH="${BLENDER_PATH}/extensions/user_default/blenderbim"
|
||||||
|
|
||||||
# path to BlenderBIM addon
|
# Changing to the Git repository directory
|
||||||
# default path on Mac: "/Users/$USER/Library/Application Support/Blender/X.X/scripts/addons/blenderbim"
|
cd $REPO_PATH
|
||||||
# default path on Linux: "$HOME/.config/blender/X.X/"
|
|
||||||
BLENDER_ADDON_PATH="/path/to/blender/X.XX/scripts/addons/blenderbim"
|
|
||||||
|
|
||||||
# Remove the Blender add-on Python code
|
|
||||||
rm -r $BLENDER_ADDON_PATH/core/
|
|
||||||
rm -r $BLENDER_ADDON_PATH/tool/
|
|
||||||
rm -r $BLENDER_ADDON_PATH/bim/
|
|
||||||
|
|
||||||
# Replace them with links to the Git repository
|
|
||||||
ln -s $PWD/src/blenderbim/blenderbim/core $BLENDER_ADDON_PATH/core
|
|
||||||
ln -s $PWD/src/blenderbim/blenderbim/tool $BLENDER_ADDON_PATH/tool
|
|
||||||
ln -s $PWD/src/blenderbim/blenderbim/bim $BLENDER_ADDON_PATH/bim
|
|
||||||
|
|
||||||
# Copy over compiled IfcOpenShell files
|
# Copy over compiled IfcOpenShell files
|
||||||
cp $BLENDER_ADDON_PATH/libs/site/packages/ifcopenshell/*_wrapper* $PWD/src/ifcopenshell-python/ifcopenshell/
|
cp $PACKAGE_PATH/ifcopenshell/*_wrapper* $PWD/src/ifcopenshell-python/ifcopenshell/
|
||||||
|
|
||||||
# Remove the IfcOpenShell dependency
|
# Remove extension and link to Git
|
||||||
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifcopenshell
|
rm $BLENDERBIM_PATH/__init__.py
|
||||||
|
rm -r $PACKAGE_PATH/blenderbim
|
||||||
|
rm -r $PACKAGE_PATH/ifcopenshell
|
||||||
|
rm -r $PACKAGE_PATH/ifccsv.py
|
||||||
|
rm -r $PACKAGE_PATH/ifcdiff.py
|
||||||
|
rm -r $PACKAGE_PATH/bsdd.py
|
||||||
|
rm -r $PACKAGE_PATH/bcf
|
||||||
|
rm -r $PACKAGE_PATH/ifc4d
|
||||||
|
rm -r $PACKAGE_PATH/ifc5d
|
||||||
|
rm -r $PACKAGE_PATH/ifccityjson
|
||||||
|
rm -r $PACKAGE_PATH/ifcclash
|
||||||
|
rm -r $PACKAGE_PATH/ifcpatch
|
||||||
|
rm -r $PACKAGE_PATH/ifctester
|
||||||
|
rm -r $PACKAGE_PATH/ifcfm
|
||||||
|
|
||||||
# Replace them with links to the Git repository
|
ln -s $PWD/src/blenderbim/blenderbim/__init__.py $BLENDERBIM_PATH/__init__.py
|
||||||
ln -s $PWD/src/ifcopenshell-python/ifcopenshell $BLENDER_ADDON_PATH/libs/site/packages/ifcopenshell
|
ln -s $PWD/src/blenderbim/blenderbim $PACKAGE_PATH/blenderbim
|
||||||
|
ln -s $PWD/src/ifcopenshell-python/ifcopenshell $PACKAGE_PATH/ifcopenshell
|
||||||
# Remove and link other IfcOpenShell utilities
|
ln -s $PWD/src/ifccsv/ifccsv.py $PACKAGE_PATH/ifccsv.py
|
||||||
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifccsv.py
|
ln -s $PWD/src/ifcdiff/ifcdiff.py $PACKAGE_PATH/ifcdiff.py
|
||||||
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifcdiff.py
|
ln -s $PWD/src/bsdd/bsdd.py $PACKAGE_PATH/bsdd.py
|
||||||
rm -r $BLENDER_ADDON_PATH/libs/site/packages/bsdd.py
|
ln -s $PWD/src/bcf/bcf $PACKAGE_PATH/bcf
|
||||||
rm -r $BLENDER_ADDON_PATH/libs/site/packages/bcf
|
ln -s $PWD/src/ifc4d/ifc4d $PACKAGE_PATH/ifc4d
|
||||||
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifc4d
|
ln -s $PWD/src/ifc5d/ifc5d $PACKAGE_PATH/ifc5d
|
||||||
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifc5d
|
ln -s $PWD/src/ifccityjson/ifccityjson $PACKAGE_PATH/ifccityjson
|
||||||
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifccityjson
|
ln -s $PWD/src/ifcclash/ifcclash $PACKAGE_PATH/ifcclash
|
||||||
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifcclash
|
ln -s $PWD/src/ifcpatch/ifcpatch $PACKAGE_PATH/ifcpatch
|
||||||
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifcpatch
|
ln -s $PWD/src/ifctester/ifctester $PACKAGE_PATH/ifctester
|
||||||
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifctester
|
ln -s $PWD/src/ifcfm/ifcfm $PACKAGE_PATH/ifcfm
|
||||||
rm -r $BLENDER_ADDON_PATH/libs/site/packages/ifcfm
|
|
||||||
rm -r $BLENDER_ADDON_PATH/libs/Desktop
|
|
||||||
|
|
||||||
ln -s $PWD/src/ifccsv/ifccsv.py $BLENDER_ADDON_PATH/libs/site/packages/ifccsv.py
|
|
||||||
ln -s $PWD/src/ifcdiff/ifcdiff.py $BLENDER_ADDON_PATH/libs/site/packages/ifcdiff.py
|
|
||||||
ln -s $PWD/src/bsdd/bsdd.py $BLENDER_ADDON_PATH/libs/site/packages/bsdd.py
|
|
||||||
ln -s $PWD/src/bcf/bcf $BLENDER_ADDON_PATH/libs/site/packages/bcf
|
|
||||||
ln -s $PWD/src/ifc4d/ifc4d $BLENDER_ADDON_PATH/libs/site/packages/ifc4d
|
|
||||||
ln -s $PWD/src/ifc5d/ifc5d $BLENDER_ADDON_PATH/libs/site/packages/ifc5d
|
|
||||||
ln -s $PWD/src/ifccityjson/ifccityjson $BLENDER_ADDON_PATH/libs/site/packages/ifccityjson
|
|
||||||
ln -s $PWD/src/ifcclash/ifcclash $BLENDER_ADDON_PATH/libs/site/packages/ifcclash
|
|
||||||
ln -s $PWD/src/ifcpatch/ifcpatch $BLENDER_ADDON_PATH/libs/site/packages/ifcpatch
|
|
||||||
ln -s $PWD/src/ifctester/ifctester $BLENDER_ADDON_PATH/libs/site/packages/ifctester
|
|
||||||
ln -s $PWD/src/ifcfm/ifcfm $BLENDER_ADDON_PATH/libs/site/packages/ifcfm
|
|
||||||
ln -s $PWD/src/blenderbim/blenderbim/libs/desktop $BLENDER_ADDON_PATH/libs/Desktop
|
|
||||||
|
|
||||||
# Manually download some third party dependencies
|
# Manually download some third party dependencies
|
||||||
cd $BLENDER_ADDON_PATH/bim/data/gantt
|
cd $PACKAGE_PATH/blenderbim/bim/data/gantt
|
||||||
wget https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.js
|
wget https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.js
|
||||||
wget https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.css
|
wget https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.css
|
||||||
cd $BLENDER_ADDON_PATH/bim/schema
|
cd $PACKAGE_PATH/blenderbim/bim/schema
|
||||||
wget https://github.com/BrickSchema/Brick/releases/download/nightly/Brick.ttl
|
wget https://github.com/BrickSchema/Brick/releases/download/nightly/Brick.ttl
|
||||||
|
|||||||
Reference in New Issue
Block a user