added a few to ifc_classes_suggestions.json

This commit is contained in:
Ryan Schultz
2025-06-21 08:08:50 -05:00
parent 64aeef7103
commit f3c86d7fcc
2 changed files with 149 additions and 10 deletions
+114
View File
@@ -0,0 +1,114 @@
@echo off
setlocal enabledelayedexpansion
:: Ensure script runs from its own directory
cd /d "%~dp0"
:: Use pushd/popd in case we need to return later
pushd .
rem ADAPT setting REPO_PATH to use custom path for IfcOpenShell repository.
rem Otherwise by default it is assumed script is executed from IfcOpenShell directory.
SET REPO_PATH=D:\Dropbox\GitHub\IfcOpenShell
SET BLENDER_PATH=%HOMEDRIVE%\Users\%USERNAME%\AppData\Roaming\Blender Foundation\Blender\4.2
SET PACKAGE_PATH=%BLENDER_PATH%\extensions\.local\lib\python3.11\site-packages
SET BONSAI_PATH=%BLENDER_PATH%\extensions\user_default\bonsai
rem Note: if you originally installed Bonsai via Blender's extension the path will be...
rem BONSAI_PATH=%BLENDER_PATH%\extensions\user_default\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%
)
rem Print summary of paths
echo.
echo Please review if the following is right:
echo PWD: %CD%
echo REPO PATH (.....\IfcOpenshell): %REPO_PATH%
echo BLENDER PATH: %BLENDER_PATH%
echo PACKAGE PATH (.....\extensions\.local\lib\python3.11\site-packages): %PACKAGE_PATH%
echo BONSAI PATH (.....\extensions\raw_githubusercontent_com\bonsai): %BONSAI_PATH%
echo.
rem Prompt user to continue
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
rem Add files that need to be ignored in push to GitHub (.gitignore)
set "FILE=.gitignore"
set "STRING=*.so"
rem Check if the file exists and contains the string
if not exist "%FILE%" (
echo %STRING% >> "%FILE%"
echo "%FILE%" does not exist
echo Added '%STRING%' to %FILE%
) else (
findstr /L "%STRING%" "%FILE%" >nul
if errorlevel 1 (
echo %STRING% >> "%FILE%"
echo %STRING% not found in %FILE%
echo Added %STRING% to %FILE%
) else (
echo '%STRING%' already exists in %FILE%
)
)
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"
popd
pause
@@ -31,16 +31,6 @@
"predefined_type": "TOPPING"
}
],
"IfcDistributionElement": [
{
"name": "Furnace"
}
],
"IfcDistributionElementType": [
{
"name": "Furnace"
}
],
"IfcElectricDistributionBoard": [
{
"name": "Circuit Breaker Panel",
@@ -140,6 +130,41 @@
"IfcUnitaryEquipment": [
{
"name": "Fan Coil Unit"
},
{
"name": "Roof Top Unit (RTU)",
"predefined_type": "ROOFTOPUNIT"
},
{
"name": "Furnace"
},
{
"name": "Central air conditioner (split or package)",
"predefined_type": "AIRCONDITIONINGUNIT"
},
{
"name": "Mini-split system",
"predefined_type": "SPLITSYSTEM"
}
],
"IfcUnitaryEquipmentType": [
{
"name": "Fan Coil Unit"
},
{
"name": "Roof Top Unit (RTU)",
"predefined_type": "ROOFTOPUNIT"
},
{
"name": "Furnace"
},
{
"name": "Central air conditioner (split or package)",
"predefined_type": "AIRCONDITIONINGUNIT"
},
{
"name": "Mini-split system",
"predefined_type": "SPLITSYSTEM"
}
],
"IfcWall": [