mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 09:21:46 +00:00
Document new Python based dev installation
This commit is contained in:
@@ -151,19 +151,14 @@ to restart Blender to see changes).
|
||||
|
||||
For Linux or Mac:
|
||||
|
||||
.. literalinclude:: ../../../scripts/installation/dev_environment.sh
|
||||
:language: bash
|
||||
:caption: dev_environment.sh
|
||||
.. code-block:: bash
|
||||
|
||||
For Windows, run this batch script as an administrator. Make sure to
|
||||
cd src/bonsai/scripts
|
||||
python dev_environment.py
|
||||
|
||||
For Windows, you may need to run the script as an administrator. Make sure to
|
||||
run the script with blender closed. By default the script assumes its
|
||||
in the root directory of the IFCOpenShell repository. If you want to run
|
||||
it from another directory, set the environment variables described in the
|
||||
`rem` tags.
|
||||
|
||||
.. literalinclude:: ../../../scripts/installation/dev_environment.bat
|
||||
:language: bat
|
||||
:caption: dev_environment.bat
|
||||
in the root directory of the IfcOpenShell repository.
|
||||
|
||||
After you modify your code in the Git repository, you will need to restart
|
||||
Blender for the changes to take effect.
|
||||
|
||||
@@ -1,79 +0,0 @@
|
||||
@echo off
|
||||
|
||||
setlocal
|
||||
|
||||
|
||||
rem Uncomment setting REPO_PATH to use custom path for IfcOpenShell repository.
|
||||
rem Otherwise by default it is assumed script is executed from IfcOpenShell directory.
|
||||
rem SET REPO_PATH=%HOMEDRIVE%\Users\%USERNAME%\Where\Your\Git\Repository\Is\Cloned\IfcOpenShell
|
||||
SET BLENDER_PATH=%HOMEDRIVE%\Users\%USERNAME%\AppData\Roaming\Blender Foundation\Blender\4.5
|
||||
SET PACKAGE_PATH=%BLENDER_PATH%\extensions\.local\lib\python3.11\site-packages
|
||||
SET BONSAI_PATH=%BLENDER_PATH%\extensions\raw_githubusercontent_com\bonsai
|
||||
|
||||
|
||||
echo SETUP BONSAI ADD-ON LIVE DEVELOPMENT ENVIRONMENT
|
||||
echo Update REPO_PATH, BLENDER_PATH, PACKAGE_PATH, BONSAI_PATH in the script above.
|
||||
echo This script needs to be run as administrator (to create symbolic links)
|
||||
echo Make sure you have followed these steps before proceeding :)
|
||||
echo.
|
||||
echo Currently set paths:
|
||||
if not defined REPO_PATH (
|
||||
echo REPO_PATH is not set, assuming we're already in IfcOpenShell directory.
|
||||
set REPO_PATH=%cd%
|
||||
)
|
||||
echo REPO_PATH=%REPO_PATH%
|
||||
echo BLENDER_PATH=%BLENDER_PATH%
|
||||
echo PACKAGE_PATH=%PACKAGE_PATH%
|
||||
echo BONSAI_PATH=%BONSAI_PATH%
|
||||
pause
|
||||
|
||||
echo Changing to the Git repository directory...
|
||||
cd %REPO_PATH%
|
||||
|
||||
:: Handle symlinks (they could be disabled by default on Windows).
|
||||
git config --local core.symlinks true
|
||||
:: Delete and checkout is the only way to ensure files are added as symlinks.
|
||||
del /Q src\bonsai\bonsai\bim\data\templates\projects\*.ifc
|
||||
git checkout -- src/bonsai/bonsai/bim/data/templates/projects/*.ifc
|
||||
|
||||
echo Copy over compiled IfcOpenShell files...
|
||||
copy "%PACKAGE_PATH%\ifcopenshell\*_wrapper*" "%CD%\src\ifcopenshell-python\ifcopenshell\"
|
||||
|
||||
echo Remove extension and link to Git...
|
||||
del "%BONSAI_PATH%\__init__.py"
|
||||
rd /S /Q "%PACKAGE_PATH%\bonsai"
|
||||
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"
|
||||
|
||||
mklink "%BONSAI_PATH%\__init__.py" "%CD%\src\bonsai\bonsai\__init__.py"
|
||||
mklink /D "%PACKAGE_PATH%\bonsai" "%CD%\src\bonsai\bonsai"
|
||||
mklink /D "%PACKAGE_PATH%\ifcopenshell" "%CD%\src\ifcopenshell-python\ifcopenshell"
|
||||
mklink "%PACKAGE_PATH%\ifccsv.py" "%CD%\src\ifccsv\ifccsv.py"
|
||||
mklink "%PACKAGE_PATH%\ifcdiff.py" "%CD%\src\ifcdiff\ifcdiff.py"
|
||||
mklink "%PACKAGE_PATH%\bsdd.py" "%CD%\src\bsdd\bsdd.py"
|
||||
mklink /D "%PACKAGE_PATH%\bcf" "%CD%\src\bcf\bcf"
|
||||
mklink /D "%PACKAGE_PATH%\ifc4d" "%CD%\src\ifc4d\ifc4d"
|
||||
mklink /D "%PACKAGE_PATH%\ifc5d" "%CD%\src\ifc5d\ifc5d"
|
||||
mklink /D "%PACKAGE_PATH%\ifccityjson" "%CD%\src\ifccityjson\ifccityjson"
|
||||
mklink /D "%PACKAGE_PATH%\ifcclash" "%CD%\src\ifcclash\ifcclash"
|
||||
mklink /D "%PACKAGE_PATH%\ifcpatch" "%CD%\src\ifcpatch\ifcpatch"
|
||||
mklink /D "%PACKAGE_PATH%\ifctester" "%CD%\src\ifctester\ifctester"
|
||||
mklink /D "%PACKAGE_PATH%\ifcfm" "%CD%\src\ifcfm\ifcfm"
|
||||
|
||||
echo Manually downloading some third party dependencies...
|
||||
curl https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.js -o "%PACKAGE_PATH%\bonsai\bim\data\gantt\jsgantt.js"
|
||||
curl https://raw.githubusercontent.com/jsGanttImproved/jsgantt-improved/master/dist/jsgantt.css -o "%PACKAGE_PATH%\bonsai\bim\data\gantt\jsgantt.css"
|
||||
curl -L https://github.com/BrickSchema/Brick/releases/download/nightly/Brick.ttl -o "%PACKAGE_PATH%\bonsai\bim\data\brick\Brick.ttl"
|
||||
curl https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js -o "%PACKAGE_PATH%\bonsai\bim\data\webui\static\js\jquery.min.js"
|
||||
|
||||
pause
|
||||
@@ -1,61 +0,0 @@
|
||||
# Please update REPO_PATH and BLENDER_PATH in the script below.
|
||||
# Default BLENDER_PATH on Mac: "/Users/$USER/Library/Application Support/Blender/4.4"
|
||||
# Default BLENDER_PATH on Linux: "$HOME/.config/blender/4.4"
|
||||
# REPO_PATH="/path/to/where/your/git/repository/is/cloned/IfcOpenShell"
|
||||
set -e
|
||||
REPO_PATH=""
|
||||
BLENDER_PATH=""
|
||||
PACKAGE_PATH="${BLENDER_PATH}/extensions/.local/lib/python3.11/site-packages"
|
||||
# If you are installing offline, use this instead:
|
||||
# BONSAI_PATH="${BLENDER_PATH}/extensions/user_default/bonsai"
|
||||
BONSAI_PATH="${BLENDER_PATH}/extensions/raw_githubusercontent_com/bonsai"
|
||||
|
||||
# Validate inputs.
|
||||
[ -z "$REPO_PATH" ] && echo "Error: REPO_PATH is not set." && exit 1
|
||||
[ -z "$BLENDER_PATH" ] && echo "Error: BLENDER_PATH is not set." && exit 1
|
||||
|
||||
# Changing to the Git repository directory
|
||||
cd "${REPO_PATH}"
|
||||
|
||||
# Copy over compiled IfcOpenShell files
|
||||
cp "${PACKAGE_PATH}/ifcopenshell/"*_wrapper* "${PWD}/src/ifcopenshell-python/ifcopenshell/"
|
||||
|
||||
# Remove extension and link to Git
|
||||
rm "${BONSAI_PATH}/__init__.py"
|
||||
rm -r "${PACKAGE_PATH}/bonsai"
|
||||
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"
|
||||
|
||||
ln -s "${PWD}/src/bonsai/bonsai/__init__.py" "${BONSAI_PATH}/__init__.py"
|
||||
ln -s "${PWD}/src/bonsai/bonsai" "${PACKAGE_PATH}/bonsai"
|
||||
ln -s "${PWD}/src/ifcopenshell-python/ifcopenshell" "${PACKAGE_PATH}/ifcopenshell"
|
||||
ln -s "${PWD}/src/ifccsv/ifccsv.py" "${PACKAGE_PATH}/ifccsv.py"
|
||||
ln -s "${PWD}/src/ifcdiff/ifcdiff.py" "${PACKAGE_PATH}/ifcdiff.py"
|
||||
ln -s "${PWD}/src/bsdd/bsdd.py" "${PACKAGE_PATH}/bsdd.py"
|
||||
ln -s "${PWD}/src/bcf/bcf" "${PACKAGE_PATH}/bcf"
|
||||
ln -s "${PWD}/src/ifc4d/ifc4d" "${PACKAGE_PATH}/ifc4d"
|
||||
ln -s "${PWD}/src/ifc5d/ifc5d" "${PACKAGE_PATH}/ifc5d"
|
||||
ln -s "${PWD}/src/ifccityjson/ifccityjson" "${PACKAGE_PATH}/ifccityjson"
|
||||
ln -s "${PWD}/src/ifcclash/ifcclash" "${PACKAGE_PATH}/ifcclash"
|
||||
ln -s "${PWD}/src/ifcpatch/ifcpatch" "${PACKAGE_PATH}/ifcpatch"
|
||||
ln -s "${PWD}/src/ifctester/ifctester" "${PACKAGE_PATH}/ifctester"
|
||||
ln -s "${PWD}/src/ifcfm/ifcfm" "${PACKAGE_PATH}/ifcfm"
|
||||
|
||||
# Manually download some third party dependencies
|
||||
cd "${PACKAGE_PATH}/bonsai/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.css
|
||||
cd "${PACKAGE_PATH}/bonsai/bim/data/brick"
|
||||
wget https://github.com/BrickSchema/Brick/releases/download/nightly/Brick.ttl
|
||||
cd "${PACKAGE_PATH}/bonsai/bim/data/webui/static/js"
|
||||
wget https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js
|
||||
Reference in New Issue
Block a user