mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-21 20:45:59 +00:00
Compare commits
194 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 968cceb725 | |||
| 002985a446 | |||
| 5adc29b0b3 | |||
| 52ea4ff44d | |||
| 4e31a87c20 | |||
| 5d85390715 | |||
| 3e13eb8942 | |||
| 262c6d1fcb | |||
| 12b5a88861 | |||
| 2ccc9d886e | |||
| a78769c8ff | |||
| 1a142ad5eb | |||
| 2bc22e150c | |||
| aad5d280fd | |||
| 7ab07ed149 | |||
| 3690998dbc | |||
| 1b83fcc1c7 | |||
| 5cf25c45f9 | |||
| efa734c06e | |||
| e242244ec0 | |||
| 6f9da163fb | |||
| a3fd169bb6 | |||
| 899056f929 | |||
| 132fef1b76 | |||
| 422f772c40 | |||
| 66f5081ada | |||
| 839e35f1da | |||
| 40d9713326 | |||
| 17b04ad697 | |||
| 2f99dd8e98 | |||
| 49f825ba82 | |||
| 3f18ad0bc5 | |||
| 991c42e816 | |||
| 20d6eae50a | |||
| 9740582a84 | |||
| a8046a6d69 | |||
| d6655a5c14 | |||
| 0a3a2db4ae | |||
| 499eb5ea14 | |||
| b8ca287883 | |||
| 52f3392ece | |||
| d53641ce5e | |||
| 7a3ad6c3a1 | |||
| 0b2007011e | |||
| eae6983ca5 | |||
| 0ec337748f | |||
| 2699278ba3 | |||
| 0406166d8a | |||
| 2128eda87b | |||
| 21f4fb169f | |||
| 30fc52ebd9 | |||
| 64bc7af4ef | |||
| b3f1fc667a | |||
| fcbb28f9d8 | |||
| 240a31db3a | |||
| c1bde09585 | |||
| 5dd2b5e555 | |||
| 37dcb92220 | |||
| 6c43c60d04 | |||
| b8d191ac1c | |||
| 57173c7740 | |||
| 2d3295ec54 | |||
| 941ede117c | |||
| 4210b8333f | |||
| 1723d1e5a9 | |||
| 3ee06ee7a0 | |||
| d3e8da58dc | |||
| 29e000b939 | |||
| 6686a72d1f | |||
| 7dd20f69d7 | |||
| 0044ef5588 | |||
| ffa5686b22 | |||
| ab8d6bea99 | |||
| e7bb89f582 | |||
| c80b0464e5 | |||
| 7e3547b309 | |||
| 45c7432ff7 | |||
| c98c20d403 | |||
| d26a2580ea | |||
| f84c4ab2e5 | |||
| de6676a516 | |||
| bfbb7bec94 | |||
| ac00aaae4d | |||
| 422222a7cb | |||
| e1c7b37d62 | |||
| dec978743b | |||
| 10fae033c8 | |||
| b23180d287 | |||
| 99ccd81b3f | |||
| e2d3f3a351 | |||
| 5e6a444aa2 | |||
| 72cf5cfc59 | |||
| 75cb68d2f1 | |||
| 7f40a9d723 | |||
| dcc9d0e9cd | |||
| 7228329f5e | |||
| d8786717b6 | |||
| b73bd3506f | |||
| bdb2791b35 | |||
| 549ea11945 | |||
| aed01b5703 | |||
| 13eb8562e0 | |||
| c022a12835 | |||
| 04eb47ff65 | |||
| 10ecd16f0c | |||
| 75852bfa75 | |||
| 750c720c9b | |||
| 4697681fcb | |||
| 9398363cbf | |||
| ae45e6b960 | |||
| 88c002703e | |||
| 51c78a89bd | |||
| e36a958c0d | |||
| a8126a6f90 | |||
| 9b857cdefa | |||
| 90e6400115 | |||
| 2dcfcf9708 | |||
| f4971da42e | |||
| 008f953b6c | |||
| 5481237480 | |||
| 4f7564e5ae | |||
| d214cbaece | |||
| d0c5f1e69f | |||
| 4ba3240fb4 | |||
| 6d8e5e4c83 | |||
| cd1402570b | |||
| 6c0e528dd2 | |||
| 297a513d21 | |||
| 9f0a4ba064 | |||
| 8813ed66e0 | |||
| fafcd5dfca | |||
| f523870b57 | |||
| 2ed24434c8 | |||
| 6878b2c072 | |||
| 0ed8dc970d | |||
| bc85f09109 | |||
| 793b28e43b | |||
| ed4abacd1e | |||
| 8bf55ab46c | |||
| 7edabce657 | |||
| 56187e4da3 | |||
| 31a12faef1 | |||
| eb94c16465 | |||
| e8437a9c54 | |||
| 840039ef1e | |||
| 84a749605e | |||
| c1283d2ab0 | |||
| 07b5c4918b | |||
| 703f0a6b70 | |||
| 5e98dee46f | |||
| b2eddf55d2 | |||
| db7be640d4 | |||
| 04fa597844 | |||
| 694dbeb96c | |||
| 7afd358c3c | |||
| b0a5a570a9 | |||
| c45b84c850 | |||
| d575a43aee | |||
| 0b151ea559 | |||
| 926970b256 | |||
| d58af0bfa5 | |||
| 429da7c6f3 | |||
| 60a7433573 | |||
| 08a5d444d4 | |||
| 1982069b69 | |||
| 7c06c65df3 | |||
| 6263766202 | |||
| 66fbbeff54 | |||
| 3c5ad1328f | |||
| 3345d7e088 | |||
| 2bb25cb874 | |||
| 444a728e7a | |||
| 70bea0c865 | |||
| 6eea1e9035 | |||
| 4deb1836ad | |||
| 4c8007dcfe | |||
| 000116bb3d | |||
| a2b6f21c7a | |||
| a374ee39d3 | |||
| 0f5c82dffd | |||
| 268fed761e | |||
| fe01d252db | |||
| dc36d74337 | |||
| 7a0da7bd8e | |||
| 530d5a4e63 | |||
| 2d847d1704 | |||
| 631d8fcfb1 | |||
| a8888efb88 | |||
| a51ecea9b1 | |||
| 4d49517111 | |||
| d5d1b3567b | |||
| 7827ce3448 | |||
| a05059db01 | |||
| b78490ca56 |
@@ -4,6 +4,7 @@ set MY_PY_VER=%PY_VER:.=%
|
||||
set LIBXML2="%LIBRARY_PREFIX%/lib/libxml2.lib"
|
||||
|
||||
cmake -G "Ninja" ^
|
||||
-D SCHEMA_VERSIONS="2x3;4;4x1;4x3;4x3_add1" ^
|
||||
-D CMAKE_BUILD_TYPE:STRING=Release ^
|
||||
-D CMAKE_INSTALL_PREFIX:FILEPATH="%LIBRARY_PREFIX%" ^
|
||||
-D CMAKE_PREFIX_PATH:FILEPATH="%LIBRARY_PREFIX%" ^
|
||||
|
||||
@@ -13,6 +13,7 @@ if [ `uname` == Darwin ]; then
|
||||
fi
|
||||
|
||||
cmake -G Ninja \
|
||||
-DSCHEMA_VERSIONS="2x3;4;4x1;4x3;4x3_add1" \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$PREFIX \
|
||||
${CMAKE_PLATFORM_FLAGS[@]} \
|
||||
|
||||
+3
-3
@@ -36,10 +36,10 @@ requirements:
|
||||
|
||||
run:
|
||||
- python
|
||||
- boost-cpp
|
||||
- occt ==7.7.0
|
||||
- {{ pin_compatible('occt', max_pin='x.x.x') }}
|
||||
- {{ pin_compatible('cgal-cpp', max_pin='x.x.x') }}
|
||||
- {{ pin_compatible('boost-cpp', max_pin='x.x.x') }}
|
||||
- libxml2
|
||||
- cgal-cpp
|
||||
- hdf5
|
||||
- mpfr
|
||||
- gmp # [unix]
|
||||
|
||||
+12
-15
@@ -38,17 +38,21 @@ endif
|
||||
VERSION:=`date '+%y%m%d'`
|
||||
LAST_COMMIT_HASH:=$(shell git rev-parse HEAD)
|
||||
PYVERSION:=py310
|
||||
PYPI_IMP:=cp
|
||||
|
||||
ifeq ($(PYVERSION), py39)
|
||||
PYLIBDIR:=python3.9
|
||||
PYNUMBER:=39
|
||||
PYPI_VERSION:=3.9
|
||||
endif
|
||||
ifeq ($(PYVERSION), py310)
|
||||
PYLIBDIR:=python3.10
|
||||
PYNUMBER:=310
|
||||
PYPI_VERSION:=3.10
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), linux)
|
||||
PYPI_PLATFORM:=--platform manylinux_2_17_x86_64
|
||||
ifeq ($(PYVERSION), py39)
|
||||
HPPFCL_URL:=https://anaconda.org/conda-forge/hpp-fcl/2.3.4/download/linux-64/hpp-fcl-2.3.4-py39h40a70d0_0.conda
|
||||
EIGENPY_URL:=https://anaconda.org/conda-forge/eigenpy/3.1.0/download/linux-64/eigenpy-3.1.0-py39hdfdd6bb_0.conda
|
||||
@@ -74,6 +78,7 @@ ZLIB_URL:=https://anaconda.org/conda-forge/zlib/1.2.11/download/linux-64/zlib-1.
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), macos)
|
||||
PYPI_PLATFORM:=--platform macosx_10_9_x86_64
|
||||
ifeq ($(PYVERSION), py39)
|
||||
HPPFCL_URL:=https://anaconda.org/conda-forge/hpp-fcl/2.3.4/download/osx-64/hpp-fcl-2.3.4-py39hd85b194_0.conda
|
||||
EIGENPY_URL:=https://anaconda.org/conda-forge/eigenpy/3.1.0/download/osx-64/eigenpy-3.1.0-py39hc4d6e28_0.conda
|
||||
@@ -99,6 +104,7 @@ ZLIB_URL:=https://anaconda.org/conda-forge/zlib/1.2.11/download/osx-64/zlib-1.2.
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), macosm1)
|
||||
PYPI_PLATFORM:=--platform macosx_11_0_arm64
|
||||
ifeq ($(PYVERSION), py39)
|
||||
HPPFCL_URL:=https://anaconda.org/conda-forge/hpp-fcl/2.3.4/download/osx-arm64/hpp-fcl-2.3.4-py39hc34188a_0.conda
|
||||
EIGENPY_URL:=https://anaconda.org/conda-forge/eigenpy/3.1.0/download/osx-arm64/eigenpy-3.1.0-py39h13cfc01_0.conda
|
||||
@@ -124,6 +130,7 @@ ZLIB_URL:=https://anaconda.org/conda-forge/zlib/1.2.11/download/osx-arm64/zlib-1
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), win)
|
||||
PYPI_PLATFORM:=--platform win_amd64
|
||||
ifeq ($(PYVERSION), py39)
|
||||
HPPFCL_URL:=https://anaconda.org/conda-forge/hpp-fcl/2.3.4/download/win-64/hpp-fcl-2.3.4-py39h39b25cb_0.conda
|
||||
EIGENPY_URL:=https://anaconda.org/conda-forge/eigenpy/3.1.0/download/win-64/eigenpy-3.1.0-py39hb6c915b_0.conda
|
||||
@@ -164,7 +171,7 @@ endif
|
||||
cp -r blenderbim/* dist/blenderbim/
|
||||
|
||||
# Provides IfcOpenShell Python functionality
|
||||
cd dist/working && wget https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-$(PYNUMBER)-v0.7.0-fc50bdd-$(PLATFORM)64.zip
|
||||
cd dist/working && wget https://s3.amazonaws.com/ifcopenshell-builds/ifcopenshell-python-$(PYNUMBER)-v0.7.0-dcc9d0e-$(PLATFORM)64.zip
|
||||
cd dist/working && unzip ifcopenshell-python*
|
||||
cp -r dist/working/ifcopenshell dist/blenderbim/libs/site/packages/
|
||||
|
||||
@@ -376,6 +383,10 @@ endif
|
||||
mkdir dist/working
|
||||
cd dist/working && $(PYTHON) -m venv env
|
||||
cd dist/working && mkdir site-packages
|
||||
# Required by IfcCSV
|
||||
cd dist/working && . env/bin/activate && $(PIP) install pandas $(PYPI_PLATFORM) --python-version $(PYPI_VERSION) --implementation $(PYPI_IMP) --only-binary=:all: --target=./site-packages
|
||||
cd dist/working && . env/bin/activate && $(PIP) install openpyxl --target=./site-packages
|
||||
cd dist/working && . env/bin/activate && $(PIP) install odfpy --target=./site-packages
|
||||
# Required by IFCCityJSON
|
||||
cd dist/working && . env/bin/activate && $(PIP) install cjio --target=./site-packages
|
||||
# Provides express rule validation for ifcopenshell.validate
|
||||
@@ -590,20 +601,6 @@ endif
|
||||
cd dist/working/XlsxWriter-1.2.9/ && cp -r xlsxwriter ../../blenderbim/libs/site/packages/
|
||||
rm -rf dist/working
|
||||
|
||||
# Required by IFCCOBie for ODS support
|
||||
mkdir dist/working
|
||||
cd dist/working && wget https://files.pythonhosted.org/packages/97/73/8ade73f6749177003f7ce3304f524774adda96e6aaab30ea79fd8fda7934/odfpy-1.4.1.tar.gz
|
||||
cd dist/working && tar -xzvf odfpy*
|
||||
cd dist/working/odfpy-1.4.1/ && cp -r odf ../../blenderbim/libs/site/packages/
|
||||
rm -rf dist/working
|
||||
|
||||
# Required by odfpy
|
||||
mkdir dist/working
|
||||
cd dist/working && wget https://files.pythonhosted.org/packages/a4/5f/f8aa58ca0cf01cbcee728abc9d88bfeb74e95e6cb4334cfd5bed5673ea77/defusedxml-0.6.0.tar.gz
|
||||
cd dist/working && tar -xzvf defusedxml*
|
||||
cd dist/working/defusedxml-0.6.0/ && cp -r defusedxml ../../blenderbim/libs/site/packages/
|
||||
rm -rf dist/working
|
||||
|
||||
# Required by augin
|
||||
mkdir dist/working
|
||||
cd dist/working && wget https://files.pythonhosted.org/packages/76/b4/b7baffbda025efd5dc8fcd8d2e953e3aa939c236a484084fa8f4c3588ee9/boto3-1.17.17.tar.gz
|
||||
|
||||
@@ -145,11 +145,17 @@ classes = [
|
||||
ui.BIM_PT_tab_services_object,
|
||||
# Structural analysis
|
||||
ui.BIM_PT_tab_structural,
|
||||
# Construction scheduling
|
||||
ui.BIM_PT_tab_status,
|
||||
ui.BIM_PT_tab_resources,
|
||||
ui.BIM_PT_tab_cost,
|
||||
ui.BIM_PT_tab_sequence,
|
||||
# Facility management
|
||||
ui.BIM_PT_tab_handover,
|
||||
ui.BIM_PT_tab_operations,
|
||||
# Quality and coordination
|
||||
ui.BIM_PT_tab_quality_control,
|
||||
ui.BIM_PT_tab_clash_detection,
|
||||
ui.BIM_PT_tab_collaboration,
|
||||
ui.BIM_PT_tab_sandbox,
|
||||
# TODO: move this somewhere else and clean it up
|
||||
|
||||
@@ -44,17 +44,17 @@
|
||||
<circle r="5" fill="white" stroke="black" style="stroke-width: 0.25;" />
|
||||
<line x1="-5" y1="0" x2="5" y2="0" style="stroke: black; stroke-width: 0.25;" />
|
||||
</g>
|
||||
<g id="SurveyArea">
|
||||
<g id="SURVEY">
|
||||
<circle r="1" fill="black" stroke="black" style="stroke-width: 0.25;" />
|
||||
</g>
|
||||
<g id="SurveyArea-CONTROLPOINT">
|
||||
<g id="SURVEY-CONTROLPOINT">
|
||||
<path style="fill: white; stroke: black; stroke-width: 0.25;" d="M 2.286165,1.4798666 H -1.0000316e-7 -2.2861651 L -1.1430826,-0.5000101 -1.0000316e-7,-2.479888 1.1430827,-0.5000101 Z" />
|
||||
<circle r="0.5" fill="black" stroke="black" style="stroke-width: 0.25;" />
|
||||
</g>
|
||||
<g id="SurveyArea-TRAVERSEPOINT">
|
||||
<g id="SURVEY-TRAVERSEPOINT">
|
||||
<path style="fill: white; stroke: black; stroke-width: 0.5;" d="M -2,-2 2,2 M -2,2 2,-2" />
|
||||
</g>
|
||||
<g id="SurveyArea-SPOTELEVATION">
|
||||
<g id="SURVEY-SPOTELEVATION">
|
||||
<path style="fill: white; stroke: black; stroke-width: 0.5;" d="M 0,-2 0,2 M -2,0 2,0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
@@ -51,5 +51,5 @@ var json_data = `{{{json_data}}}`;
|
||||
<script>
|
||||
var data = `{{{data}}}`;
|
||||
setupPage(data);
|
||||
create_gantt_chart(json_data)
|
||||
</script>
|
||||
create_gantt_chart(atob(json_data))
|
||||
</script>
|
||||
|
||||
@@ -5,27 +5,27 @@ FILE_NAME('EPset_Drawing.ifc','2020-01-01T00:00:00',(),(),'EPset_Drawing','EPset
|
||||
FILE_SCHEMA(('IFC4'));
|
||||
ENDSEC;
|
||||
DATA;
|
||||
#1=IFCPROPERTYSETTEMPLATE('2JhNIvqZrFnAgxfhK0XVQX',$,'EPset_Drawing','',.PSET_OCCURRENCEDRIVEN.,'IfcAnnotation',(#2,#3,#4,#5,#6,#7,#8,#9,#10,#11,#12,#13,#14,#15,#16,#17,#18,#19,#20,#21));
|
||||
#1=IFCPROPERTYSETTEMPLATE('2JhNIvqZrFnAgxfhK0XVQX',$,'EPset_Drawing','',.PSET_OCCURRENCEDRIVEN.,'IfcAnnotation',(#2,#3,#4,#5,#6,#7,#8,#9,#10,#11,#12,#13,#14,#15,#16,#17,#18,#19,#20,#21,#22));
|
||||
#2=IFCSIMPLEPROPERTYTEMPLATE('23JavTMk98ZxXhrUEnjAcf',$,'TargetView','',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.);
|
||||
#3=IFCSIMPLEPROPERTYTEMPLATE('1yVWUt5H9DAOuu0OaMMLpe',$,'Scale','The scale of this drawing represented as a numerator and denominator, such as 1/100',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.);
|
||||
#4=IFCSIMPLEPROPERTYTEMPLATE('3gsuPBtU93b8f0gg1pjkq6',$,'HumanScale','The scale of this drawing in human readable format, such as 1:100',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.);
|
||||
#4=IFCSIMPLEPROPERTYTEMPLATE('2T$a4OFsv2LeD5JeBKEV4f',$,'IsNTS','Whether or not the scale is intended to be significant',.P_SINGLEVALUE.,'IfcBoolean',$,$,$,$,$,.READWRITE.);
|
||||
#5=IFCSIMPLEPROPERTYTEMPLATE('0AK5C2UpL4$eaac2LszAx$',$,'HasUnderlay','',.P_SINGLEVALUE.,'IfcBoolean',$,$,$,$,$,.READWRITE.);
|
||||
#6=IFCSIMPLEPROPERTYTEMPLATE('2j2ZEZR8X5tONm7kli5hM6',$,'HasLinework','',.P_SINGLEVALUE.,'IfcBoolean',$,$,$,$,$,.READWRITE.);
|
||||
#7=IFCSIMPLEPROPERTYTEMPLATE('1ttChRysH9UuEX2FeMj5Hu',$,'HasAnnotation','',.P_SINGLEVALUE.,'IfcBoolean',$,$,$,$,$,.READWRITE.);
|
||||
#8=IFCSIMPLEPROPERTYTEMPLATE('2NPPxuABv1huDTVh32TFgw',$,'GlobalReferencing','',.P_SINGLEVALUE.,'IfcBoolean',$,$,$,$,$,.READWRITE.);
|
||||
#9=IFCSIMPLEPROPERTYTEMPLATE('10hT_1zrzEbRRKMXYAWvtD',$,'Metadata','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.);
|
||||
#10=IFCSIMPLEPROPERTYTEMPLATE('3Z0BXPSG5CWgtI33ioV7aj',$,'Include','Selector expression to include ifc elements in the drawing',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.);
|
||||
#11=IFCSIMPLEPROPERTYTEMPLATE('1RVts_g3PAw98PJA2yL3bO',$,'Exclude','Selector expression to exclude ifc elements in the drawing',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.);
|
||||
#12=IFCSIMPLEPROPERTYTEMPLATE('0c1$8NpYDEaBiJrj16jHIo',$,'Stylesheet','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.);
|
||||
#13=IFCSIMPLEPROPERTYTEMPLATE('3mRF52q81FQB$h4oTh7M45',$,'Markers','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.);
|
||||
#14=IFCSIMPLEPROPERTYTEMPLATE('1rhr_0N3LDtuORcEJP0KXM',$,'Symbols','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.);
|
||||
#15=IFCSIMPLEPROPERTYTEMPLATE('2sHDBuW7P4TROy$hL2w7ct',$,'Patterns','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.);
|
||||
#16=IFCSIMPLEPROPERTYTEMPLATE('1$xfo9EVb26QLqmPll2_RK',$,'MetricPrecision','',.P_SINGLEVALUE.,'IfcReal',$,$,$,$,$,.READWRITE.);
|
||||
#17=IFCSIMPLEPROPERTYTEMPLATE('38uAtrp9nD_901NO42zd$7',$,'ImperialPrecision','',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.);
|
||||
#18=IFCSIMPLEPROPERTYTEMPLATE('1MX0uffTL6TOvtvEJpxFmk',$,'DecimalPlaces','',.P_SINGLEVALUE.,'IfcInteger',$,$,$,$,$,.READWRITE.);
|
||||
#19=IFCSIMPLEPROPERTYTEMPLATE('0joEq0Rd10cxweEh0NeHT6',$,'JoinCriteria','Comma separated selection keys which determine what cut objects are to be joined.',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.);
|
||||
#20=IFCSIMPLEPROPERTYTEMPLATE('0nYMT3OSj5gArVniCWZRtv',$,'ShadingStyles','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.);
|
||||
#21=IFCSIMPLEPROPERTYTEMPLATE('3VWG22eZXBdQwdKlzMeVQH',$,'CurrentShadingStyle','',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.);
|
||||
#5=IFCSIMPLEPROPERTYTEMPLATE('2T$a4OFsv2LeD5JeBKEV4f',$,'IsNTS','Whether or not the scale is intended to be significant',.P_SINGLEVALUE.,'IfcBoolean',$,$,$,$,$,.READWRITE.);
|
||||
#6=IFCSIMPLEPROPERTYTEMPLATE('0AK5C2UpL4$eaac2LszAx$',$,'HasUnderlay','',.P_SINGLEVALUE.,'IfcBoolean',$,$,$,$,$,.READWRITE.);
|
||||
#7=IFCSIMPLEPROPERTYTEMPLATE('2j2ZEZR8X5tONm7kli5hM6',$,'HasLinework','',.P_SINGLEVALUE.,'IfcBoolean',$,$,$,$,$,.READWRITE.);
|
||||
#8=IFCSIMPLEPROPERTYTEMPLATE('1ttChRysH9UuEX2FeMj5Hu',$,'HasAnnotation','',.P_SINGLEVALUE.,'IfcBoolean',$,$,$,$,$,.READWRITE.);
|
||||
#9=IFCSIMPLEPROPERTYTEMPLATE('2NPPxuABv1huDTVh32TFgw',$,'GlobalReferencing','',.P_SINGLEVALUE.,'IfcBoolean',$,$,$,$,$,.READWRITE.);
|
||||
#10=IFCSIMPLEPROPERTYTEMPLATE('10hT_1zrzEbRRKMXYAWvtD',$,'Metadata','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.);
|
||||
#11=IFCSIMPLEPROPERTYTEMPLATE('3Z0BXPSG5CWgtI33ioV7aj',$,'Include','Selector expression to include ifc elements in the drawing',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.);
|
||||
#12=IFCSIMPLEPROPERTYTEMPLATE('1RVts_g3PAw98PJA2yL3bO',$,'Exclude','Selector expression to exclude ifc elements in the drawing',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.);
|
||||
#13=IFCSIMPLEPROPERTYTEMPLATE('0c1$8NpYDEaBiJrj16jHIo',$,'Stylesheet','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.);
|
||||
#14=IFCSIMPLEPROPERTYTEMPLATE('3mRF52q81FQB$h4oTh7M45',$,'Markers','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.);
|
||||
#15=IFCSIMPLEPROPERTYTEMPLATE('1rhr_0N3LDtuORcEJP0KXM',$,'Symbols','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.);
|
||||
#16=IFCSIMPLEPROPERTYTEMPLATE('2sHDBuW7P4TROy$hL2w7ct',$,'Patterns','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.);
|
||||
#17=IFCSIMPLEPROPERTYTEMPLATE('1$xfo9EVb26QLqmPll2_RK',$,'MetricPrecision','',.P_SINGLEVALUE.,'IfcReal',$,$,$,$,$,.READWRITE.);
|
||||
#18=IFCSIMPLEPROPERTYTEMPLATE('38uAtrp9nD_901NO42zd$7',$,'ImperialPrecision','',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.);
|
||||
#19=IFCSIMPLEPROPERTYTEMPLATE('1MX0uffTL6TOvtvEJpxFmk',$,'DecimalPlaces','',.P_SINGLEVALUE.,'IfcInteger',$,$,$,$,$,.READWRITE.);
|
||||
#20=IFCSIMPLEPROPERTYTEMPLATE('0joEq0Rd10cxweEh0NeHT6',$,'JoinCriteria','Comma separated selection keys which determine what cut objects are to be joined.',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.);
|
||||
#21=IFCSIMPLEPROPERTYTEMPLATE('0nYMT3OSj5gArVniCWZRtv',$,'ShadingStyles','',.P_SINGLEVALUE.,'IfcText',$,$,$,$,$,.READWRITE.);
|
||||
#22=IFCSIMPLEPROPERTYTEMPLATE('3VWG22eZXBdQwdKlzMeVQH',$,'CurrentShadingStyle','',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION((),'2;1');
|
||||
FILE_NAME('EPset_Status.ifc','2020-01-01T00:00:00',(),(),'EPset_Status','EPset_Status',$);
|
||||
FILE_SCHEMA(('IFC4'));
|
||||
ENDSEC;
|
||||
DATA;
|
||||
#1=IFCPROPERTYSETTEMPLATE('3JoyTt$cz4fhYuQvJeTMhs',$,'EPset_Status','',.PSET_TYPEDRIVENOVERRIDE.,'IfcProduct',(#2,#4));
|
||||
#2= IFCSIMPLEPROPERTYTEMPLATE('2HBOdOfz5E3hZ7IBLCq$$D',$,'Status','Status of the element, predominately used in renovation or retrofitting projects. The status can be assigned to as "New" - element designed as new addition, "Existing" - element exists and remains, "Demolish" - element existed but is to be demolished, "Temporary" - element will exists only temporary (like a temporary support structure).',.P_ENUMERATEDVALUE.,'IfcLabel',$,#3,$,$,$,.READWRITE.);
|
||||
#3= IFCPROPERTYENUMERATION('EPEnum_ElementStatus',(IFCLABEL('NEW'),IFCLABEL('EXISTING'),IFCLABEL('DEMOLISH'),IFCLABEL('TEMPORARY'),IFCLABEL('OTHER'),IFCLABEL('NOTKNOWN'),IFCLABEL('UNSET')),$);
|
||||
#4=IFCSIMPLEPROPERTYTEMPLATE('3ttXxqmlz62BlxjzEPpqvH',$,'UserDefinedStatus','',.P_SINGLEVALUE.,'IfcLabel',$,$,$,$,$,.READWRITE.);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -82,7 +82,7 @@ class IfcExporter:
|
||||
)
|
||||
self.file.wrapped_data.header.file_name.preprocessor_version = "IfcOpenShell {}".format(ifcopenshell.version)
|
||||
self.file.wrapped_data.header.file_name.originating_system = "{} {}".format(
|
||||
self.get_application_name(), self.get_application_version()
|
||||
self.get_application_name(), tool.Blender.get_blenderbim_version()
|
||||
)
|
||||
|
||||
def sync_all_objects(self):
|
||||
@@ -162,7 +162,7 @@ class IfcExporter:
|
||||
return "BlenderBIM"
|
||||
|
||||
def get_application_version(self):
|
||||
return ".".join(
|
||||
version = ".".join(
|
||||
[
|
||||
str(x)
|
||||
for x in [
|
||||
@@ -172,6 +172,9 @@ class IfcExporter:
|
||||
][0]
|
||||
]
|
||||
)
|
||||
if blenderbim.bim.last_commit_hash != "8888888":
|
||||
version += f"-{blenderbim.bim.last_commit_hash[:7]}"
|
||||
return version
|
||||
|
||||
|
||||
class IfcExportSettings:
|
||||
|
||||
@@ -73,17 +73,27 @@ def name_callback(obj, data):
|
||||
refresh_ui_data()
|
||||
return
|
||||
|
||||
if not obj.BIMObjectProperties.ifc_definition_id or "/" not in obj.name:
|
||||
if not obj.BIMObjectProperties.ifc_definition_id:
|
||||
return
|
||||
|
||||
element = IfcStore.get_file().by_id(obj.BIMObjectProperties.ifc_definition_id)
|
||||
if "/" in obj.name:
|
||||
object_name = obj.name
|
||||
element_name = obj.name.split("/", 1)[1]
|
||||
else:
|
||||
element_name = obj.name
|
||||
object_name = element.is_a() + f"/{element_name}"
|
||||
obj.name = object_name # NOTE: doesn't trigger infinite recursion
|
||||
|
||||
if element.is_a("IfcGridAxis"):
|
||||
element.AxisTag = obj.name.split("/")[1]
|
||||
element.AxisTag = object_name.split("/")[1]
|
||||
refresh_ui_data()
|
||||
|
||||
if not element.is_a("IfcRoot"):
|
||||
return
|
||||
element.Name = element_name
|
||||
if obj.BIMObjectProperties.collection:
|
||||
obj.BIMObjectProperties.collection.name = obj.name
|
||||
element.Name = "/".join(obj.name.split("/")[1:])
|
||||
obj.BIMObjectProperties.collection.name = object_name
|
||||
refresh_ui_data()
|
||||
|
||||
|
||||
|
||||
@@ -273,6 +273,79 @@ def convert_property_group_from_si(property_group, skip_props=()):
|
||||
setattr(property_group, prop_name, prop_value)
|
||||
|
||||
|
||||
def draw_filter(layout, props, data, module):
|
||||
if not data.is_loaded:
|
||||
data.load()
|
||||
|
||||
if tool.Ifc.get():
|
||||
row = layout.row(align=True)
|
||||
row.label(text=f"{len(data.data['saved_searches'])} Saved Searches")
|
||||
|
||||
if data.data["saved_searches"]:
|
||||
row.operator("bim.load_search", text="", icon="IMPORT").module = module
|
||||
row.operator("bim.save_search", text="", icon="EXPORT").module = module
|
||||
|
||||
row = layout.row(align=True)
|
||||
row.operator("bim.add_filter_group", text="Add Search Group", icon="ADD").module = module
|
||||
row.operator("bim.edit_filter_query", text="", icon="FILTER").module = module
|
||||
|
||||
for i, filter_group in enumerate(props.filter_groups):
|
||||
box = layout.box()
|
||||
|
||||
row = box.row(align=True)
|
||||
row.prop(props, "facet", text="")
|
||||
op = row.operator("bim.add_filter", text="Add Filter", icon="ADD")
|
||||
op.type = props.facet
|
||||
op.index = i
|
||||
op.module = module
|
||||
|
||||
for j, ifc_filter in enumerate(filter_group.filters):
|
||||
if ifc_filter.type == "entity":
|
||||
row = box.row(align=True)
|
||||
row.prop(ifc_filter, "value", text="", icon="FILE_3D")
|
||||
elif ifc_filter.type == "attribute":
|
||||
row = box.row(align=True)
|
||||
row.prop(ifc_filter, "name", text="", icon="COPY_ID")
|
||||
row.prop(ifc_filter, "value", text="")
|
||||
elif ifc_filter.type == "type":
|
||||
row = box.row(align=True)
|
||||
row.prop(ifc_filter, "value", text="", icon="FILE_VOLUME")
|
||||
elif ifc_filter.type == "material":
|
||||
row = box.row(align=True)
|
||||
row.prop(ifc_filter, "value", text="", icon="MATERIAL")
|
||||
elif ifc_filter.type == "property":
|
||||
row = box.row(align=True)
|
||||
row.prop(ifc_filter, "pset", text="", icon="PROPERTIES")
|
||||
row.prop(ifc_filter, "name", text="")
|
||||
row.prop(ifc_filter, "value", text="")
|
||||
elif ifc_filter.type == "classification":
|
||||
row = box.row(align=True)
|
||||
row.prop(ifc_filter, "value", text="", icon="OUTLINER")
|
||||
elif ifc_filter.type == "location":
|
||||
row = box.row(align=True)
|
||||
row.prop(ifc_filter, "name", text="", icon="PACKAGE")
|
||||
elif ifc_filter.type == "query":
|
||||
row = box.row(align=True)
|
||||
row.prop(ifc_filter, "name", text="", icon="POINTCLOUD_DATA")
|
||||
row.prop(ifc_filter, "value", text="")
|
||||
elif ifc_filter.type == "instance":
|
||||
row = box.row(align=True)
|
||||
row.prop(ifc_filter, "value", text="", icon="GRIP")
|
||||
op = row.operator("bim.select_filter_elements", text="", icon="EYEDROPPER")
|
||||
op.group_index = i
|
||||
op.index = j
|
||||
op.module = module
|
||||
op = row.operator("bim.remove_filter", text="", icon="X")
|
||||
op.group_index = i
|
||||
op.index = j
|
||||
op.module = module
|
||||
|
||||
row = box.row()
|
||||
op = row.operator("bim.remove_filter_group", icon="X")
|
||||
op.index = i
|
||||
op.module = module
|
||||
|
||||
|
||||
# TODO this should move into ifcopenshell.util
|
||||
|
||||
|
||||
|
||||
@@ -35,13 +35,16 @@ classes = (
|
||||
operator.ViewBrickItem,
|
||||
operator.SerializeBrick,
|
||||
operator.AddBrickNamespace,
|
||||
operator.SetBrickListRoot,
|
||||
operator.RemoveBrickRelation,
|
||||
prop.Brick,
|
||||
prop.BIMBrickProperties,
|
||||
ui.BIM_PT_brickschema,
|
||||
ui.BIM_PT_ifc_brickschema_references,
|
||||
ui.BIM_PT_brickschema_project_info,
|
||||
ui.BIM_PT_brickschema_namespaces,
|
||||
ui.BIM_PT_brickschema_create_entity,
|
||||
ui.BIM_PT_brickschema_viewport,
|
||||
ui.BIM_UL_bricks,
|
||||
ui.BIM_PT_ifc_brickschema_references,
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -67,45 +67,63 @@ class BrickschemaData:
|
||||
PREFIX brick: <https://brickschema.org/schema/Brick#>
|
||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||
SELECT DISTINCT ?predicate ?object ?sp ?sv WHERE {
|
||||
<{uri}> ?predicate ?object .
|
||||
OPTIONAL {
|
||||
{ ?predicate rdfs:range brick:TimeseriesReference . }
|
||||
UNION
|
||||
{ ?predicate a brick:EntityProperty . }
|
||||
?object ?sp ?sv }
|
||||
SELECT DISTINCT ?predicate ?object ?label ?sp ?sv WHERE {
|
||||
<{uri}> ?predicate ?object .
|
||||
OPTIONAL {
|
||||
?object rdfs:label ?label .
|
||||
}
|
||||
OPTIONAL {
|
||||
{ ?predicate rdfs:range brick:TimeseriesReference . }
|
||||
UNION
|
||||
{ ?predicate a brick:EntityProperty . }
|
||||
?object ?sp ?sv .
|
||||
}
|
||||
}
|
||||
GROUP BY ?object
|
||||
""".replace(
|
||||
"{uri}", uri
|
||||
)
|
||||
)
|
||||
for row in query:
|
||||
predicate = row.get("predicate")
|
||||
predicate_name = predicate.toPython().split("#")[-1]
|
||||
object = row.get("object")
|
||||
object_name = object.toPython().split("#")[-1]
|
||||
predicate_uri = row.get("predicate")
|
||||
predicate_name = predicate_uri.toPython().split("#")[-1]
|
||||
object_uri = row.get("object")
|
||||
object_name = row.get("label")
|
||||
if not object_name:
|
||||
if isinstance(object_uri, BNode):
|
||||
object_name = "[]"
|
||||
else:
|
||||
try:
|
||||
object_name = object_uri.toPython().split("#")[-1]
|
||||
except:
|
||||
object_name = str(object_uri)
|
||||
results.append(
|
||||
{
|
||||
"predicate": predicate,
|
||||
"predicate_uri": predicate_uri,
|
||||
"predicate_name": predicate_name,
|
||||
"object": object,
|
||||
"object_uri": object_uri,
|
||||
"object_name": object_name,
|
||||
"is_uri": isinstance(object, URIRef),
|
||||
"object_uri": object.toPython(),
|
||||
"is_globalid": predicate == "globalID",
|
||||
"is_uri": isinstance(object_uri, URIRef),
|
||||
"is_globalid": predicate_name == "ifcGlobalID",
|
||||
}
|
||||
)
|
||||
# if isinstance(row.get("object"), BNode):
|
||||
# for s, p, o in BrickStore.graph.triples((object, None, None)):
|
||||
# results.append(
|
||||
# {
|
||||
# "predicate": predicate + ":" + p.toPython().split("#")[-1],
|
||||
# "object": o.toPython().split("#")[-1],
|
||||
# "is_uri": isinstance(o, URIRef),
|
||||
# "object_uri": o.toPython(),
|
||||
# "is_globalid": p.toPython().split("#")[-1] == "globalID",
|
||||
# }
|
||||
# )
|
||||
if isinstance(object_uri, BNode):
|
||||
for subject2, predicate2, object2 in BrickStore.graph.triples((object_uri, None, None)):
|
||||
predicate2_name = predicate2.toPython().split("#")[-1]
|
||||
try:
|
||||
object2_name = object2.toPython().split("#")[-1]
|
||||
except:
|
||||
object2_name = str(object2)
|
||||
results.append(
|
||||
{
|
||||
"predicate_uri": None,
|
||||
"predicate_name": predicate_name + ":" + predicate2_name,
|
||||
"object_uri": object2,
|
||||
"object_name": object2_name,
|
||||
"is_uri": isinstance(object2, URIRef),
|
||||
"is_globalid": predicate2_name == "ifcGlobalID",
|
||||
}
|
||||
)
|
||||
return results
|
||||
|
||||
|
||||
@@ -131,7 +149,7 @@ class BrickschemaReferencesData:
|
||||
for library in ifc.by_type("IfcLibraryInformation"):
|
||||
if tool.Ifc.get_schema() == "IFC2X3":
|
||||
results.append((str(library.id()), library.Name or "Unnamed", ""))
|
||||
elif ".ttl" in library.Location:
|
||||
elif library.Location and ".ttl" in library.Location:
|
||||
results.append((str(library.id()), library.Name or "Unnamed", ""))
|
||||
return results
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ class LoadBrickProject(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.load_brick_project"
|
||||
bl_label = "Load Brickschema Project"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Load in a Brick project from a file"
|
||||
filepath: bpy.props.StringProperty(subtype="FILE_PATH")
|
||||
filter_glob: bpy.props.StringProperty(default="*.ttl", options={"HIDDEN"})
|
||||
|
||||
@@ -56,6 +57,7 @@ class ViewBrickClass(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.view_brick_class"
|
||||
bl_label = "View Brick Class"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Inspect the subclasses of this class"
|
||||
brick_class: bpy.props.StringProperty(name="Brick Class")
|
||||
split_screen: bpy.props.BoolProperty(name="Split Screen", default=False, options={"HIDDEN"})
|
||||
|
||||
@@ -67,17 +69,22 @@ class ViewBrickItem(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.view_brick_item"
|
||||
bl_label = "View Brick Item"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Inspect this entity in the viewer"
|
||||
item: bpy.props.StringProperty(name="Brick Item")
|
||||
split_screen: bpy.props.BoolProperty(name="Split Screen", default=False, options={"HIDDEN"})
|
||||
|
||||
def _execute(self, context):
|
||||
core.view_brick_item(tool.Brick, item=self.item, split_screen=self.split_screen)
|
||||
try:
|
||||
core.view_brick_item(tool.Brick, item=self.item, split_screen=self.split_screen)
|
||||
except:
|
||||
self.report({'ERROR'}, f'Could not find {self.item}')
|
||||
|
||||
|
||||
class RewindBrickClass(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.rewind_brick_class"
|
||||
bl_label = "Rewind Brick Class"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Go back to the previous list view"
|
||||
split_screen: bpy.props.BoolProperty(name="Split Screen", default=False, options={"HIDDEN"})
|
||||
|
||||
def _execute(self, context):
|
||||
@@ -88,6 +95,7 @@ class CloseBrickProject(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.close_brick_project"
|
||||
bl_label = "Close Brick Project"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Close the Brick project"
|
||||
|
||||
def _execute(self, context):
|
||||
core.close_brick_project(tool.Brick)
|
||||
@@ -97,6 +105,7 @@ class ConvertBrickProject(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.convert_brick_project"
|
||||
bl_label = "Convert Brick Project"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Create an Ifc library for this Brick project"
|
||||
|
||||
def _execute(self, context):
|
||||
core.convert_brick_project(tool.Ifc, tool.Brick)
|
||||
@@ -106,9 +115,18 @@ class AssignBrickReference(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.assign_brick_reference"
|
||||
bl_label = "Assign Brick Reference"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Assign the selected Ifc entity to the selected Brick entity"
|
||||
|
||||
def _execute(self, context):
|
||||
if not context.active_object:
|
||||
self.report({'ERROR'}, f'No Ifc selected')
|
||||
return
|
||||
props = context.scene.BIMBrickProperties
|
||||
try:
|
||||
props.bricks[props.active_brick_index]
|
||||
except:
|
||||
self.report({'ERROR'}, f'No Brick selected')
|
||||
return
|
||||
core.assign_brick_reference(
|
||||
tool.Ifc,
|
||||
tool.Brick,
|
||||
@@ -122,19 +140,17 @@ class AddBrick(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.add_brick"
|
||||
bl_label = "Add Brick"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Create the Brick entity"
|
||||
|
||||
def _execute(self, context):
|
||||
props = context.scene.BIMBrickProperties
|
||||
library = None
|
||||
if props.libraries:
|
||||
library = tool.Ifc.get().by_id(int(props.libraries))
|
||||
core.add_brick(
|
||||
tool.Ifc,
|
||||
tool.Brick,
|
||||
element=tool.Ifc.get_entity(context.active_object) if context.selected_objects else None,
|
||||
namespace=props.namespace,
|
||||
brick_class=props.brick_entity_class,
|
||||
library=library,
|
||||
library=tool.Ifc.get().by_id(int(props.libraries)) if props.libraries else None,
|
||||
label=props.new_brick_label,
|
||||
)
|
||||
|
||||
@@ -143,6 +159,7 @@ class AddBrickRelation(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.add_brick_relation"
|
||||
bl_label = "Add Brick Relation"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Create the Brick relationship"
|
||||
|
||||
def _execute(self, context):
|
||||
props = context.scene.BIMBrickProperties
|
||||
@@ -152,7 +169,7 @@ class AddBrickRelation(bpy.types.Operator, Operator):
|
||||
elif props.split_screen_toggled:
|
||||
object = props.split_screen_bricks[props.split_screen_active_brick_index].uri
|
||||
else:
|
||||
object = props.new_brick_relation_namespace + props.new_brick_relation_object
|
||||
object = props.namespace + props.new_brick_relation_object
|
||||
core.add_brick_relation(
|
||||
tool.Brick,
|
||||
brick_uri=brick.uri,
|
||||
@@ -165,6 +182,7 @@ class ConvertIfcToBrick(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.convert_ifc_to_brick"
|
||||
bl_label = "Convert IFC To Brick"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Convert Ifc entities and relations to Brick entities and relations"
|
||||
|
||||
def _execute(self, context):
|
||||
props = context.scene.BIMBrickProperties
|
||||
@@ -178,6 +196,7 @@ class NewBrickFile(bpy.types.Operator):
|
||||
bl_idname = "bim.new_brick_file"
|
||||
bl_label = "New Brick File"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Create a Brick project from scratch"
|
||||
|
||||
def execute(self, context):
|
||||
IfcStore.begin_transaction(self)
|
||||
@@ -210,16 +229,18 @@ class RefreshBrickViewer(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.refresh_brick_viewer"
|
||||
bl_label = "Refresh Brick Viewer"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
split_screen: bpy.props.BoolProperty(name="Split Screen", default=False, options={"HIDDEN"})
|
||||
bl_description = "Refresh the list view"
|
||||
|
||||
def _execute(self, context):
|
||||
core.refresh_brick_viewer(tool.Brick, split_screen=self.split_screen)
|
||||
core.refresh_brick_viewer(tool.Brick)
|
||||
core.refresh_brick_viewer(tool.Brick, split_screen=True)
|
||||
|
||||
|
||||
class RemoveBrick(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.remove_brick"
|
||||
bl_label = "Remove Brick"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Delete this entity"
|
||||
|
||||
def _execute(self, context):
|
||||
props = context.scene.BIMBrickProperties
|
||||
@@ -262,6 +283,7 @@ class SerializeBrick(bpy.types.Operator):
|
||||
class AddBrickNamespace(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.add_brick_namespace"
|
||||
bl_label = "Add Brick Namespace"
|
||||
bl_description = "Bind a new namespace to the Brick project"
|
||||
|
||||
def _execute(self, context):
|
||||
props = context.scene.BIMBrickProperties
|
||||
@@ -270,24 +292,11 @@ class AddBrickNamespace(bpy.types.Operator, Operator):
|
||||
core.add_namespace(tool.Brick, alias=alias, uri=uri)
|
||||
|
||||
|
||||
class SetBrickListRoot(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.set_brick_list_root"
|
||||
bl_label = "Set Brick View Type"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
split_screen: bpy.props.BoolProperty(name="Split Screen", default=False, options={"HIDDEN"})
|
||||
|
||||
def _execute(self, context):
|
||||
if self.split_screen:
|
||||
root = context.scene.BIMBrickProperties.split_screen_brick_list_root
|
||||
else:
|
||||
root = context.scene.BIMBrickProperties.brick_list_root
|
||||
core.set_brick_list_root(tool.Brick, brick_root=root, split_screen=self.split_screen)
|
||||
|
||||
|
||||
class RemoveBrickRelation(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.remove_brick_relation"
|
||||
bl_label = "Remove Relation"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Delete this relationship"
|
||||
predicate: bpy.props.StringProperty(name="Relation")
|
||||
object: bpy.props.StringProperty(name="Object")
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ from bpy.props import (
|
||||
FloatVectorProperty,
|
||||
CollectionProperty,
|
||||
)
|
||||
import blenderbim.core.brick as core
|
||||
import blenderbim.tool.brick as tool
|
||||
from blenderbim.tool.brick import BrickStore
|
||||
|
||||
def update_active_brick_index(self, context):
|
||||
@@ -65,6 +67,15 @@ def get_brick_relations(self, context):
|
||||
return BrickStore.relationships
|
||||
|
||||
|
||||
def update_view(self, context):
|
||||
root = context.scene.BIMBrickProperties.brick_list_root
|
||||
core.set_brick_list_root(tool.Brick, brick_root=root, split_screen=False)
|
||||
|
||||
def split_screen_update_view(self, context):
|
||||
root = context.scene.BIMBrickProperties.split_screen_brick_list_root
|
||||
core.set_brick_list_root(tool.Brick, brick_root=root, split_screen=True)
|
||||
|
||||
|
||||
class Brick(PropertyGroup):
|
||||
name: StringProperty(name="Name")
|
||||
label: StringProperty(name="Label")
|
||||
@@ -79,10 +90,9 @@ class BIMBrickProperties(PropertyGroup):
|
||||
active_brick_index: IntProperty(name="Active Brick Index", update=update_active_brick_index)
|
||||
libraries: EnumProperty(name="Libraries", items=get_libraries)
|
||||
set_list_root_toggled: BoolProperty(name="Set List Root Toggled", default=False)
|
||||
brick_list_root: EnumProperty(name="Brick List Root", items=get_brick_roots)
|
||||
brick_list_root: EnumProperty(name="Brick List Root", items=get_brick_roots, update=update_view)
|
||||
# namespace manager
|
||||
namespace: EnumProperty(name="Namespace", items=get_namespaces)
|
||||
brick_settings_toggled: BoolProperty(name="Brick Settings Toggled", default=False)
|
||||
new_brick_namespace_alias: StringProperty(name="New Brick Namespace Alias")
|
||||
new_brick_namespace_uri: StringProperty(name="New Brick Namespace URI")
|
||||
# create brick entity
|
||||
@@ -93,7 +103,6 @@ class BIMBrickProperties(PropertyGroup):
|
||||
brick_create_relations_toggled: BoolProperty(name="Brick Create Relations Toggled", default=False)
|
||||
brick_edit_relations_toggled: BoolProperty(name="Brick Edit Relations Toggled", default=False)
|
||||
new_brick_relation_type: EnumProperty(name="New Brick Relation Type", items=get_brick_relations)
|
||||
new_brick_relation_namespace: EnumProperty(name="New Brick Relation Namespace", items=get_namespaces)
|
||||
new_brick_relation_object: StringProperty(name="New Brick Relation Object")
|
||||
add_relation_failed: BoolProperty(name="Add Relation Failed", default=False)
|
||||
# create relations split screen
|
||||
@@ -102,4 +111,4 @@ class BIMBrickProperties(PropertyGroup):
|
||||
split_screen_active_brick_index: IntProperty(name="Split Screen Active Brick Index", update=update_active_brick_index)
|
||||
split_screen_active_brick_class: StringProperty(name="Split Screen Active Brick Class")
|
||||
split_screen_brick_breadcrumbs: CollectionProperty(name="Split Screen Brick Breadcrumbs", type=StrProperty)
|
||||
split_screen_brick_list_root: EnumProperty(name="Split Screen Brick List Root", items=get_brick_roots)
|
||||
split_screen_brick_list_root: EnumProperty(name="Split Screen Brick List Root", items=get_brick_roots, update=split_screen_update_view)
|
||||
@@ -34,17 +34,36 @@ class BIM_PT_brickschema(Panel):
|
||||
def draw(self, context):
|
||||
if not BrickschemaData.is_loaded:
|
||||
BrickschemaData.load()
|
||||
self.props = context.scene.BIMBrickProperties
|
||||
|
||||
|
||||
class BIM_PT_brickschema_project_info(Panel):
|
||||
bl_label = "Project Info"
|
||||
bl_idname = "BIM_PT_brickschema_project_info"
|
||||
bl_space_type = "PROPERTIES"
|
||||
bl_region_type = "WINDOW"
|
||||
bl_context = "scene"
|
||||
bl_parent_id = "BIM_PT_brickschema"
|
||||
|
||||
def draw(self, context):
|
||||
self.props = context.scene.BIMBrickProperties
|
||||
|
||||
if not BrickschemaData.data["is_loaded"]:
|
||||
row = self.layout.row(align=True)
|
||||
row.operator("bim.new_brick_file", text="Create Project")
|
||||
row.operator("bim.load_brick_project", text="Load Project")
|
||||
return
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
if BrickStore.path:
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text=BrickStore.path, icon="FILEBROWSER")
|
||||
else:
|
||||
row.label(text="No file", icon="FILEBROWSER")
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
if BrickStore.last_saved:
|
||||
row.label(text=BrickStore.last_saved, icon="TIME")
|
||||
else:
|
||||
row.label(text="Not saved", icon="TIME")
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
op = row.operator("bim.serialize_brick", icon="EXPORT", text="Save")
|
||||
@@ -53,101 +72,138 @@ class BIM_PT_brickschema(Panel):
|
||||
op.should_save_as = True
|
||||
row.operator("bim.close_brick_project", text="", icon="CANCEL")
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.prop(data=self.props, property="brick_settings_toggled", text="", icon="PREFERENCES")
|
||||
|
||||
if self.props.brick_settings_toggled:
|
||||
box = self.layout.box()
|
||||
row = box.row(align=True)
|
||||
row.label(text="Active Namespace:")
|
||||
|
||||
row = box.row(align=True)
|
||||
prop_with_search(row, self.props, "namespace", text="")
|
||||
class BIM_PT_brickschema_namespaces(Panel):
|
||||
bl_label = "Namespaces"
|
||||
bl_idname = "BIM_PT_brickschema_namespaces"
|
||||
bl_options = {"DEFAULT_CLOSED"}
|
||||
bl_space_type = "PROPERTIES"
|
||||
bl_region_type = "WINDOW"
|
||||
bl_context = "scene"
|
||||
bl_parent_id = "BIM_PT_brickschema"
|
||||
|
||||
row = box.row(align=True)
|
||||
row.label(text="Bind New Namespace:")
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return BrickStore.graph != None
|
||||
|
||||
row = box.row(align=True)
|
||||
row.prop(data=self.props, property="new_brick_namespace_alias", text="")
|
||||
col = row.column()
|
||||
col.alignment = "CENTER"
|
||||
col.scale_x = 1.1
|
||||
col.label(text=":")
|
||||
row.prop(data=self.props, property="new_brick_namespace_uri", text="")
|
||||
row.operator("bim.add_brick_namespace", text="", icon="ADD")
|
||||
def draw(self, context):
|
||||
self.props = context.scene.BIMBrickProperties
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text="Create Entity:")
|
||||
row.label(text="Active Namespace:")
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.prop(data=self.props, property="brick_entity_create_type", text="")
|
||||
prop_with_search(row, self.props, "namespace", text="")
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.prop(data=self.props, property="new_brick_label", text="")
|
||||
prop_with_search(row, self.props, "brick_entity_class", text="")
|
||||
row.operator("bim.add_brick", text="", icon="ADD")
|
||||
# row.operator("bim.refresh_brick_viewer", text="", icon="FILE_REFRESH")
|
||||
row.label(text="Bind New Namespace:")
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.prop(data=self.props, property="new_brick_namespace_alias", text="")
|
||||
col = row.column()
|
||||
col.alignment = "RIGHT"
|
||||
col.alignment = "CENTER"
|
||||
col.scale_x = 1.1
|
||||
col.label(text=":")
|
||||
row.prop(data=self.props, property="new_brick_namespace_uri", text="")
|
||||
row.operator("bim.add_brick_namespace", text="", icon="ADD")
|
||||
|
||||
|
||||
class BIM_PT_brickschema_create_entity(Panel):
|
||||
bl_label = "Create Entity"
|
||||
bl_idname = "BIM_PT_brickschema_create_entity"
|
||||
bl_options = {"DEFAULT_CLOSED"}
|
||||
bl_space_type = "PROPERTIES"
|
||||
bl_region_type = "WINDOW"
|
||||
bl_context = "scene"
|
||||
bl_parent_id = "BIM_PT_brickschema"
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return BrickStore.graph != None
|
||||
|
||||
def draw(self, context):
|
||||
self.props = context.scene.BIMBrickProperties
|
||||
# TO DO: hide this if selected entity already has a reference, or something similar
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.prop(data=self.props, property="brick_entity_create_type", text="Class")
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
prop_with_search(row, self.props, "brick_entity_class", text="Type")
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
active = tool.Ifc.get_entity(context.active_object)
|
||||
if active and context.selected_objects:
|
||||
row.label(text="Label:")
|
||||
row.label(text=active.Name if active.Name else "Unnamed")
|
||||
else:
|
||||
row.prop(data=self.props, property="new_brick_label", text="Label")
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.operator("bim.add_brick", text="Create Entity")
|
||||
|
||||
|
||||
class BIM_PT_brickschema_viewport(Panel):
|
||||
bl_label = "Viewport"
|
||||
bl_idname = "BIM_PT_brickschema_viewport"
|
||||
bl_space_type = "PROPERTIES"
|
||||
bl_region_type = "WINDOW"
|
||||
bl_context = "scene"
|
||||
bl_parent_id = "BIM_PT_brickschema"
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return BrickStore.graph != None
|
||||
|
||||
def draw(self, context):
|
||||
self.props = context.scene.BIMBrickProperties
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.column().alignment = "RIGHT"
|
||||
row.prop(data=self.props, property="set_list_root_toggled", text="", icon="OUTLINER")
|
||||
row.prop(data=self.props, property="split_screen_toggled", text="", icon="WINDOW")
|
||||
row.operator("bim.refresh_brick_viewer", text="", icon="FILE_REFRESH")
|
||||
|
||||
grid = self.layout.grid_flow(even_columns=True)
|
||||
grid1 = grid.column(align=True)
|
||||
row = grid1.row(align=True)
|
||||
grid_left = grid.column(align=True)
|
||||
row = grid_left.row(align=True)
|
||||
if len(self.props.brick_breadcrumbs):
|
||||
op = row.operator("bim.rewind_brick_class", text="", icon="FRAME_PREV")
|
||||
op.split_screen = False
|
||||
row.prop(data=self.props, property="set_list_root_toggled", text="", icon="OUTLINER")
|
||||
row.label(text=self.props.active_brick_class)
|
||||
|
||||
if self.props.set_list_root_toggled:
|
||||
row = grid1.row(align=True)
|
||||
op = row.operator("bim.set_brick_list_root", text="Set View")
|
||||
op.split_screen = False
|
||||
row = grid_left.row(align=True)
|
||||
row.prop(data=self.props, property="brick_list_root", text="")
|
||||
|
||||
row = grid1.row()
|
||||
row = grid_left.row()
|
||||
BIM_UL_bricks.split_screen = False
|
||||
row.template_list("BIM_UL_bricks", "", self.props, "bricks", self.props, "active_brick_index")
|
||||
|
||||
if self.props.split_screen_toggled:
|
||||
grid2 = grid.column(align=True)
|
||||
row = grid2.row(align=True)
|
||||
grid_right = grid.column(align=True)
|
||||
row = grid_right.row(align=True)
|
||||
if len(self.props.split_screen_brick_breadcrumbs):
|
||||
op = row.operator("bim.rewind_brick_class", text="", icon="FRAME_PREV")
|
||||
op.split_screen = True
|
||||
row.label(text=self.props.split_screen_active_brick_class)
|
||||
|
||||
if self.props.set_list_root_toggled:
|
||||
row = grid2.row(align=True)
|
||||
op = row.operator("bim.set_brick_list_root", text="Set View")
|
||||
op.split_screen = True
|
||||
row = grid_right.row(align=True)
|
||||
row.prop(data=self.props, property="split_screen_brick_list_root", text="")
|
||||
|
||||
row = grid2.row()
|
||||
row = grid_right.row()
|
||||
BIM_UL_bricks.split_screen = True
|
||||
row.template_list("BIM_UL_bricks", "", self.props, "split_screen_bricks", self.props, "split_screen_active_brick_index")
|
||||
|
||||
if BrickschemaData.data["active_relations"]:
|
||||
row = self.layout.row(align=True)
|
||||
col = row.column()
|
||||
col.alignment = "RIGHT"
|
||||
row.column().alignment = "RIGHT"
|
||||
row.prop(data=self.props, property="brick_create_relations_toggled", text="", icon="PLUGIN")
|
||||
row.prop(data=self.props, property="brick_edit_relations_toggled", text="", icon="TOOL_SETTINGS")
|
||||
row.operator("bim.remove_brick", text="", icon="X")
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text="Create Relation:")
|
||||
|
||||
if self.props.brick_create_relations_toggled and self.props.new_brick_relation_type == "http://www.w3.org/2000/01/rdf-schema#label":
|
||||
row = self.layout.row(align=True)
|
||||
prop_with_search(row, self.props, "new_brick_relation_type", text="")
|
||||
row.prop(data=self.props, property="new_brick_relation_object", text="")
|
||||
row.operator("bim.add_brick_relation", text="", icon="ADD")
|
||||
|
||||
elif self.props.brick_create_relations_toggled and self.props.split_screen_toggled:
|
||||
if self.props.brick_create_relations_toggled and self.props.split_screen_toggled:
|
||||
row = self.layout.row(align=True)
|
||||
split_screen_selection = self.props.split_screen_bricks[self.props.split_screen_active_brick_index]
|
||||
if split_screen_selection.total_items:
|
||||
@@ -157,30 +213,29 @@ class BIM_PT_brickschema(Panel):
|
||||
row.label(text=split_screen_selection.label if split_screen_selection.label else split_screen_selection.name)
|
||||
row.operator("bim.add_brick_relation", text="", icon="ADD")
|
||||
|
||||
elif self.props.brick_create_relations_toggled:
|
||||
row = self.layout.row(align=True)
|
||||
prop_with_search(row, self.props, "new_brick_relation_namespace", text="")
|
||||
|
||||
elif self.props.brick_create_relations_toggled:
|
||||
row = self.layout.row(align=True)
|
||||
prop_with_search(row, self.props, "new_brick_relation_type", text="")
|
||||
row.prop(data=self.props, property="new_brick_relation_object", text="")
|
||||
row.operator("bim.add_brick_relation", text="", icon="ADD")
|
||||
|
||||
|
||||
if self.props.brick_create_relations_toggled and self.props.add_relation_failed:
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text="Failed to find this entity!", icon="ERROR")
|
||||
|
||||
|
||||
for relation in BrickschemaData.data["active_relations"]:
|
||||
row = self.layout.row(align=True)
|
||||
split = self.layout.split(factor=0.85, align=True)
|
||||
row = split.row(align=True)
|
||||
row.label(text=relation["predicate_name"])
|
||||
row.separator()
|
||||
row.label(text=relation["object_name"])
|
||||
if self.props.brick_edit_relations_toggled and relation["predicate_name"] != "type":
|
||||
row = split.row(align=True)
|
||||
row.column().alignment = "RIGHT"
|
||||
if self.props.brick_edit_relations_toggled and relation["predicate_uri"] and relation["predicate_name"] != "type":
|
||||
op = row.operator("bim.remove_brick_relation", text="", icon="UNLINKED")
|
||||
op.predicate = relation["predicate"]
|
||||
op.object = relation["object"]
|
||||
if relation["is_uri"] and relation["predicate_name"] != "type":
|
||||
op.predicate = relation["predicate_uri"]
|
||||
op.object = relation["object_uri"]
|
||||
if relation["is_uri"] and relation["object_name"] != self.props.active_brick_class:
|
||||
op = row.operator("bim.view_brick_item", text="", icon="DISCLOSURE_TRI_RIGHT")
|
||||
op.item = relation["object_uri"]
|
||||
if relation["is_globalid"]:
|
||||
@@ -188,6 +243,23 @@ class BIM_PT_brickschema(Panel):
|
||||
op.global_id = relation["object_name"]
|
||||
|
||||
|
||||
class BIM_UL_bricks(UIList):
|
||||
split_screen = False
|
||||
|
||||
def draw_item(self, context, layout, data, item, icon, active_data, active_propname):
|
||||
if item:
|
||||
split = layout.split(factor=0.85, align=True)
|
||||
row = split.row()
|
||||
label = item.label if item.label else item.name
|
||||
if item.total_items:
|
||||
op = row.operator("bim.view_brick_class", text="", icon="DISCLOSURE_TRI_RIGHT", emboss=False)
|
||||
op.brick_class = item.name
|
||||
op.split_screen = self.split_screen
|
||||
row.label(text=label)
|
||||
if item.total_items:
|
||||
row = split.row()
|
||||
row.label(text=str(item.total_items))
|
||||
|
||||
class BIM_PT_ifc_brickschema_references(Panel):
|
||||
bl_label = "Brickschema References"
|
||||
bl_idname = "BIM_PT_ifc_brickschema_references"
|
||||
@@ -211,15 +283,24 @@ class BIM_PT_ifc_brickschema_references(Panel):
|
||||
row.label(text="No Brickschema Project Loaded")
|
||||
return
|
||||
|
||||
if not BrickschemaReferencesData.data["libraries"]:
|
||||
if not BrickschemaReferencesData.data["libraries"] and BrickStore.path:
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text="No IFC Libraries")
|
||||
row.operator("bim.convert_brick_project", text="", icon="ADD")
|
||||
return
|
||||
|
||||
elif not BrickschemaReferencesData.data["libraries"]:
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text="No IFC Libraries: save the Brick project to create a new library", icon="ERROR")
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text="Libraries must have location pointing to a \".ttl\" file", icon="INFO")
|
||||
return
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
prop_with_search(row, self.props, "libraries")
|
||||
row.operator("bim.convert_brick_project", text="", icon="ADD")
|
||||
if BrickStore.path:
|
||||
row.operator("bim.convert_brick_project", text="", icon="ADD")
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.operator("bim.assign_brick_reference", icon="ADD")
|
||||
@@ -234,19 +315,4 @@ class BIM_PT_ifc_brickschema_references(Panel):
|
||||
row.label(text=reference["identification"], icon="ASSET_MANAGER")
|
||||
row.label(text=reference["name"])
|
||||
row.operator("bim.unassign_library_reference", text="", icon="X").reference = reference["id"]
|
||||
row.operator("bim.view_brick_item", text="", icon="DISCLOSURE_TRI_RIGHT").item = reference["identification"]
|
||||
|
||||
|
||||
class BIM_UL_bricks(UIList):
|
||||
split_screen = False
|
||||
|
||||
def draw_item(self, context, layout, data, item, icon, active_data, active_propname):
|
||||
if item:
|
||||
row = layout.row(align=True)
|
||||
label = item.label if item.label else item.name
|
||||
if item.total_items:
|
||||
op = row.operator("bim.view_brick_class", text="", icon="DISCLOSURE_TRI_RIGHT", emboss=False)
|
||||
op.brick_class = item.name
|
||||
op.split_screen = self.split_screen
|
||||
label = label + " (" + str(item.total_items) + ")"
|
||||
row.label(text=label)
|
||||
row.operator("bim.view_brick_item", text="", icon="DISCLOSURE_TRI_RIGHT").item = reference["identification"]
|
||||
@@ -27,7 +27,7 @@ class BIM_PT_ifcclash(Panel):
|
||||
bl_space_type = "PROPERTIES"
|
||||
bl_region_type = "WINDOW"
|
||||
bl_context = "scene"
|
||||
bl_parent_id = "BIM_PT_tab_quality_control"
|
||||
bl_parent_id = "BIM_PT_tab_clash_detection"
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
@@ -102,9 +102,10 @@ class BIM_PT_clash_manager(Panel):
|
||||
bl_idname = "BIM_PT_clash_manager"
|
||||
bl_label = "Clash Manager"
|
||||
bl_options = {"DEFAULT_CLOSED"}
|
||||
bl_space_type = "VIEW_3D"
|
||||
bl_region_type = "UI"
|
||||
bl_category = "BlenderBIM"
|
||||
bl_space_type = "PROPERTIES"
|
||||
bl_region_type = "WINDOW"
|
||||
bl_context = "scene"
|
||||
bl_parent_id = "BIM_PT_tab_clash_detection"
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
|
||||
@@ -20,64 +20,65 @@ import bpy
|
||||
from . import ui, prop, operator
|
||||
|
||||
classes = (
|
||||
operator.AddCostColumn,
|
||||
operator.AddCostItem,
|
||||
operator.AddCostItemQuantity,
|
||||
operator.AddCostSchedule,
|
||||
operator.RemoveCostSchedule,
|
||||
operator.EditCostSchedule,
|
||||
operator.AddCostValue,
|
||||
operator.AddCurrency,
|
||||
operator.AddSummaryCostItem,
|
||||
operator.AssignCostItemQuantity,
|
||||
operator.AssignCostItemType,
|
||||
operator.AssignCostValue,
|
||||
operator.CalculateCostItemResourceValue,
|
||||
operator.ChangeParentCostItem,
|
||||
operator.ClearCostItemAssignments,
|
||||
operator.ContractCostItem,
|
||||
operator.ContractCostItemRate,
|
||||
operator.ContractCostItems,
|
||||
operator.CopyCostItem,
|
||||
operator.CopyCostItemValues,
|
||||
operator.DisableEditingCostItem,
|
||||
operator.DisableEditingCostItemQuantity,
|
||||
operator.DisableEditingCostItemValue,
|
||||
operator.DisableEditingCostSchedule,
|
||||
operator.EditCostItem,
|
||||
operator.EditCostItemQuantity,
|
||||
operator.EditCostItemValue,
|
||||
operator.EditCostItemValueFormula,
|
||||
operator.EnableEditingCostSchedule,
|
||||
operator.EnableEditingCostItems,
|
||||
operator.EditCostSchedule,
|
||||
operator.EnableEditingCostItem,
|
||||
operator.ExportCostSchedules,
|
||||
operator.ExpandCostItems,
|
||||
operator.EnableEditingCostItemQuantities,
|
||||
operator.EnableEditingCostItemQuantity,
|
||||
operator.EnableEditingCostItemValues,
|
||||
operator.EnableEditingCostItems,
|
||||
operator.EnableEditingCostItemValue,
|
||||
operator.EnableEditingCostItemValueFormula,
|
||||
operator.DisableEditingCostItem,
|
||||
operator.DisableEditingCostSchedule,
|
||||
operator.DisableEditingCostItemQuantity,
|
||||
operator.DisableEditingCostItemValue,
|
||||
operator.AddCostColumn,
|
||||
operator.RemoveCostColumn,
|
||||
operator.AddCostItem,
|
||||
operator.AddSummaryCostItem,
|
||||
operator.EnableEditingCostItemValues,
|
||||
operator.EnableEditingCostSchedule,
|
||||
operator.ExpandCostItem,
|
||||
operator.ContractCostItem,
|
||||
operator.ExpandCostItemRate,
|
||||
operator.ExpandCostItems,
|
||||
operator.ExportCostSchedules,
|
||||
operator.HighlightProductCostItem,
|
||||
operator.ImportCostScheduleCsv,
|
||||
operator.LoadCostItemElementQuantities,
|
||||
operator.LoadCostItemQuantities,
|
||||
operator.LoadCostItemResourceQuantities,
|
||||
operator.LoadCostItemTaskQuantities,
|
||||
operator.LoadCostItemTypes,
|
||||
operator.LoadProductCostItems,
|
||||
operator.LoadScheduleOfRates,
|
||||
operator.RemoveCostColumn,
|
||||
operator.RemoveCostItem,
|
||||
operator.AssignCostItemType,
|
||||
operator.UnassignCostItemType,
|
||||
operator.AssignCostItemQuantity,
|
||||
operator.UnassignCostItemQuantity,
|
||||
operator.AddCostItemQuantity,
|
||||
operator.RemoveCostItemQuantity,
|
||||
operator.AddCostValue,
|
||||
operator.RemoveCostItemValue,
|
||||
operator.CopyCostItemValues,
|
||||
operator.RemoveCostSchedule,
|
||||
operator.ReorderCostItem,
|
||||
operator.SelectCostItemProducts,
|
||||
operator.SelectCostScheduleProducts,
|
||||
operator.ImportCostScheduleCsv,
|
||||
operator.LoadCostItemQuantities,
|
||||
operator.LoadCostItemTypes,
|
||||
operator.AssignCostValue,
|
||||
operator.LoadScheduleOfRates,
|
||||
operator.ExpandCostItemRate,
|
||||
operator.ContractCostItemRate,
|
||||
operator.CalculateCostItemResourceValue,
|
||||
operator.ClearCostItemAssignments,
|
||||
operator.HighlightProductCostItem,
|
||||
operator.LoadProductCostItems,
|
||||
operator.ReorderCostItem,
|
||||
operator.SelectUnassignedProducts,
|
||||
operator.LoadCostItemElementQuantities,
|
||||
operator.LoadCostItemTaskQuantities,
|
||||
operator.LoadCostItemResourceQuantities,
|
||||
operator.ChangeParentCostItem,
|
||||
operator.CopyCostItem,
|
||||
operator.AddCurrency,
|
||||
operator.UnassignCostItemQuantity,
|
||||
operator.UnassignCostItemType,
|
||||
prop.CostItem,
|
||||
prop.CostItemQuantity,
|
||||
prop.CostItemType,
|
||||
|
||||
@@ -117,6 +117,7 @@ class CostSchedulesData:
|
||||
data["TotalAppliedValue"] = 0.0
|
||||
data["TotalCost"] = 0.0
|
||||
has_unit_basis = False
|
||||
is_sum = False
|
||||
if root_element.is_a("IfcCostItem"):
|
||||
values = root_element.CostValues
|
||||
elif root_element.is_a("IfcConstructionResource"):
|
||||
@@ -130,6 +131,11 @@ class CostSchedulesData:
|
||||
data["UnitBasisValueComponent"] = cost_value_data["UnitBasis"]["ValueComponent"]
|
||||
data["UnitBasisUnitSymbol"] = cost_value_data["UnitBasis"]["UnitSymbol"]
|
||||
has_unit_basis = True
|
||||
else:
|
||||
data["UnitBasisValueComponent"] = 1
|
||||
data["UnitBasisUnitSymbol"] = "U"
|
||||
if cost_value.Category == "*":
|
||||
is_sum = True
|
||||
if has_unit_basis:
|
||||
data["TotalCost"] = data["TotalAppliedValue"] / data["UnitBasisValueComponent"]
|
||||
else:
|
||||
@@ -137,7 +143,8 @@ class CostSchedulesData:
|
||||
data["TotalCost"] = data["TotalAppliedValue"] * data["TotalCostQuantity"]
|
||||
else:
|
||||
data["TotalCost"] = data["TotalAppliedValue"]
|
||||
data["TotalAppliedValue"] = None
|
||||
if is_sum:
|
||||
data["TotalAppliedValue"] = None
|
||||
|
||||
@classmethod
|
||||
def _load_cost_item_quantities(cls, cost_item, data):
|
||||
@@ -154,7 +161,7 @@ class CostSchedulesData:
|
||||
if unit:
|
||||
data["UnitSymbol"] = ifcopenshell.util.unit.get_unit_symbol(unit)
|
||||
else:
|
||||
data["UnitSymbol"] = None
|
||||
data["UnitSymbol"] = "U"
|
||||
|
||||
# same_unit_nested_cost_item = set()
|
||||
# data["DerivedTotalCostQuantity"] = None
|
||||
|
||||
@@ -33,9 +33,26 @@ class AddCostSchedule(bpy.types.Operator, tool.Ifc.Operator):
|
||||
bl_label = "Add Cost Schedule"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Add a new cost schedule"
|
||||
name: bpy.props.StringProperty()
|
||||
object_type: bpy.props.StringProperty()
|
||||
|
||||
def _execute(self, context):
|
||||
core.add_cost_schedule(tool.Ifc, predefined_type=context.scene.BIMCostProperties.cost_schedule_predefined_types)
|
||||
core.add_cost_schedule(
|
||||
tool.Ifc,
|
||||
name=self.name,
|
||||
predefined_type=context.scene.BIMCostProperties.cost_schedule_predefined_types,
|
||||
object_type=self.object_type,
|
||||
)
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.prop(self, "name", text="Name")
|
||||
layout.prop(context.scene.BIMCostProperties, "cost_schedule_predefined_types", text="Type")
|
||||
if context.scene.BIMCostProperties.cost_schedule_predefined_types == "USERDEFINED":
|
||||
layout.prop(self, "object_type", text="Object type")
|
||||
|
||||
def invoke(self, context, event):
|
||||
return context.window_manager.invoke_props_dialog(self)
|
||||
|
||||
|
||||
class EditCostSchedule(bpy.types.Operator, tool.Ifc.Operator):
|
||||
@@ -156,6 +173,17 @@ class ContractCostItem(bpy.types.Operator, tool.Ifc.Operator):
|
||||
core.contract_cost_item(tool.Cost, cost_item=tool.Ifc.get().by_id(self.cost_item))
|
||||
|
||||
|
||||
class ContractCostItems(bpy.types.Operator, tool.Ifc.Operator):
|
||||
bl_idname = "bim.contract_cost_items"
|
||||
bl_label = "Contract Cost Item"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Collapse cost item tree"
|
||||
cost_item: bpy.props.IntProperty()
|
||||
|
||||
def _execute(self, context):
|
||||
core.contract_cost_items(tool.Cost)
|
||||
|
||||
|
||||
class RemoveCostItem(bpy.types.Operator, tool.Ifc.Operator):
|
||||
bl_idname = "bim.remove_cost_item"
|
||||
bl_label = "Remove Cost Item"
|
||||
@@ -635,7 +663,9 @@ class ExportCostSchedules(bpy.types.Operator):
|
||||
|
||||
def execute(self, context):
|
||||
cost_schedule = tool.Ifc.get().by_id(self.cost_schedule) if self.cost_schedule else None
|
||||
r = core.export_cost_schedules(tool.Cost, filepath=self.filepath, format=self.format, cost_schedule=cost_schedule)
|
||||
r = core.export_cost_schedules(
|
||||
tool.Cost, filepath=self.filepath, format=self.format, cost_schedule=cost_schedule
|
||||
)
|
||||
if isinstance(r, str):
|
||||
self.report({"ERROR"}, r)
|
||||
return {"FINISHED"}
|
||||
|
||||
@@ -21,7 +21,6 @@ import blenderbim.bim.module.cost.prop as CostProp
|
||||
from bpy.types import Panel, UIList
|
||||
from blenderbim.bim.ifc import IfcStore
|
||||
from blenderbim.bim.module.cost.data import CostSchedulesData
|
||||
import blenderbim.tool as tool
|
||||
|
||||
|
||||
class BIM_PT_cost_schedules(Panel):
|
||||
@@ -30,30 +29,32 @@ class BIM_PT_cost_schedules(Panel):
|
||||
bl_space_type = "PROPERTIES"
|
||||
bl_region_type = "WINDOW"
|
||||
bl_context = "scene"
|
||||
bl_parent_id = "BIM_PT_tab_cost"
|
||||
bl_options = {"HIDE_HEADER"}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return tool.Blender.is_tab(context, "SCHEDULING") and tool.Ifc.get() and tool.Ifc.get().schema != "IFC2X3"
|
||||
file = IfcStore.get_file()
|
||||
return file and hasattr(file, "schema") and file.schema != "IFC2X3"
|
||||
|
||||
def draw(self, context):
|
||||
if not CostSchedulesData.is_loaded:
|
||||
CostSchedulesData.load()
|
||||
|
||||
self.props = context.scene.BIMCostProperties
|
||||
row = self.layout.row()
|
||||
row = self.layout.row(align=True)
|
||||
if not self.props.active_cost_schedule_id:
|
||||
if CostSchedulesData.data["total_cost_schedules"]:
|
||||
row.label(text=f"{CostSchedulesData.data['total_cost_schedules']} Cost Schedules Found", icon="TEXT")
|
||||
row.operator("bim.export_cost_schedules", text="Export as spreadsheet", icon="EXPORT")
|
||||
else:
|
||||
row.label(text="No Cost Schedules found.", icon="COMMUNITY")
|
||||
row = self.layout.row()
|
||||
row.alignment = "RIGHT"
|
||||
row.prop(self.props, "cost_schedule_predefined_types")
|
||||
row.operator("bim.add_cost_schedule", icon="ADD", text="Add")
|
||||
row.label(text="No Cost Schedules found.", icon="TEXT")
|
||||
row.operator("bim.add_cost_schedule", icon="ADD", text="")
|
||||
|
||||
for schedule in CostSchedulesData.data["schedules"]:
|
||||
self.draw_cost_schedule_ui(schedule)
|
||||
row2 = self.layout.row()
|
||||
row2.alignment = "RIGHT"
|
||||
row2.operator("bim.export_cost_schedules", text="Export all", icon="EXPORT")
|
||||
|
||||
def draw_cost_schedule_ui(self, cost_schedule):
|
||||
row = self.layout.row(align=True)
|
||||
@@ -138,8 +139,8 @@ class BIM_PT_cost_schedules(Panel):
|
||||
row = self.layout.row(align=True)
|
||||
row.alignment = "RIGHT"
|
||||
row.operator("bim.add_summary_cost_item", text="Add Summary Cost", icon="ADD")
|
||||
row.operator("bim.expand_all_tasks", text="Expand All")
|
||||
row.operator("bim.contract_all_tasks", text="Contract All")
|
||||
row.operator("bim.expand_cost_items", text="Expand All")
|
||||
row.operator("bim.contract_cost_items", text="Contract All")
|
||||
row = self.layout.row(align=True)
|
||||
row.alignment = "RIGHT"
|
||||
if self.props.cost_items and self.props.active_cost_item_index < len(self.props.cost_items):
|
||||
@@ -619,18 +620,22 @@ class BIM_UL_cost_items_trait:
|
||||
else:
|
||||
row.label(text="", icon="DOT")
|
||||
|
||||
def draw_total_cost_column(self, layout, cost_item):
|
||||
format_numbers = "{0:,.2f}".format(cost_item["TotalCost"]).replace(",", " ")
|
||||
currency = CostSchedulesData.data["currency"]
|
||||
text = "{} {}".format(format_numbers, currency["name"]) if currency else format_numbers
|
||||
layout.label(text=text)
|
||||
|
||||
def draw_quantity_column(self, layout, cost_item):
|
||||
if CostSchedulesData.data["is_editing_rates"]:
|
||||
self.draw_uom_column(layout, cost_item)
|
||||
else:
|
||||
self.draw_total_quantity_column(layout, cost_item)
|
||||
|
||||
def draw_uom_column(self, layout, cost_item):
|
||||
layout.label(text=cost_item["UnitBasisUnitSymbol"])
|
||||
|
||||
def draw_total_quantity_column(self, layout, cost_item):
|
||||
if cost_item["TotalCostQuantity"]:
|
||||
label = "{0:.2f}".format(cost_item["TotalCostQuantity"]) + f" {cost_item['UnitSymbol'] or '-'}"
|
||||
layout.label(text=label)
|
||||
else:
|
||||
layout.label(text="-")
|
||||
|
||||
def draw_value_column(self, layout, cost_item):
|
||||
if cost_item["TotalAppliedValue"]:
|
||||
text = "{0:,.2f}".format(cost_item["TotalAppliedValue"]).replace(",", " ")
|
||||
@@ -642,8 +647,11 @@ class BIM_UL_cost_items_trait:
|
||||
else:
|
||||
layout.label(text="-")
|
||||
|
||||
def draw_uom_column(self, layout, cost_item):
|
||||
layout.label(text=cost_item["UnitBasisUnitSymbol"] or "-" if cost_item["UnitBasisValueComponent"] else "-")
|
||||
def draw_total_cost_column(self, layout, cost_item):
|
||||
format_numbers = "{0:,.2f}".format(cost_item["TotalCost"]).replace(",", " ")
|
||||
currency = CostSchedulesData.data["currency"]
|
||||
text = "{} {}".format(format_numbers, currency["name"]) if currency else format_numbers
|
||||
layout.label(text=text)
|
||||
|
||||
def draw_order_operator(self, row, ifc_definition_id, cost_item):
|
||||
if cost_item["NestingIndex"] is not None:
|
||||
@@ -656,20 +664,6 @@ class BIM_UL_cost_items_trait:
|
||||
op.cost_item = ifc_definition_id
|
||||
op.new_index = cost_item["NestingIndex"] - 1
|
||||
|
||||
def draw_total_quantity_column(self, layout, cost_item):
|
||||
if cost_item["TotalCostQuantity"]:
|
||||
label = "{0:.2f}".format(cost_item["TotalCostQuantity"]) + f" {cost_item['UnitSymbol'] or '-'}"
|
||||
layout.label(text=label)
|
||||
else:
|
||||
layout.label(text="-")
|
||||
# if cost_item["DerivedTotalCostQuantity"] not in [None, 0]:
|
||||
# layout.label(text="{0:.2f}".format(cost_item["DerivedTotalCostQuantity"]) + f" {cost_item['DerivedUnitSymbol'] or '-'}")
|
||||
# else:
|
||||
# if cost_item["TotalCostQuantity"] == 0:
|
||||
# layout.label(text="-")
|
||||
# else:
|
||||
# layout.label(text="{0:.2f}".format(cost_item["TotalCostQuantity"]) + f" {cost_item['UnitSymbol'] or '-'}")
|
||||
|
||||
|
||||
class BIM_UL_cost_items(BIM_UL_cost_items_trait, UIList):
|
||||
def __init__(self):
|
||||
|
||||
@@ -25,10 +25,10 @@ classes = (
|
||||
operator.RemoveAllCsvAttributes,
|
||||
operator.ExportIfcCsv,
|
||||
operator.ImportIfcCsv,
|
||||
operator.EyedropIfcCsv,
|
||||
operator.SelectCsvIfcFile,
|
||||
operator.ImportCsvAttributes,
|
||||
operator.ExportCsvAttributes,
|
||||
prop.CsvAttribute,
|
||||
prop.CsvProperties,
|
||||
ui.BIM_PT_ifccsv,
|
||||
)
|
||||
|
||||
@@ -16,14 +16,15 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with BlenderBIM Add-on. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import bpy
|
||||
import ifccsv
|
||||
import ifcopenshell
|
||||
import os
|
||||
import logging
|
||||
import bpy
|
||||
import json
|
||||
import webbrowser
|
||||
import ifccsv
|
||||
import logging
|
||||
import tempfile
|
||||
import webbrowser
|
||||
import ifcopenshell
|
||||
import blenderbim.tool as tool
|
||||
from blenderbim.bim.ifc import IfcStore
|
||||
from blenderbim.bim.handler import purge_module_data
|
||||
|
||||
@@ -63,26 +64,25 @@ class RemoveAllCsvAttributes(bpy.types.Operator):
|
||||
|
||||
class ImportCsvAttributes(bpy.types.Operator):
|
||||
bl_idname = "bim.import_csv_attributes"
|
||||
bl_label = "Import CSV Template"
|
||||
bl_label = "Load CSV Settings"
|
||||
bl_description = "Import a json template for CSV export"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
filter_glob: bpy.props.StringProperty(default="*.json", options={"HIDDEN"})
|
||||
filepath: bpy.props.StringProperty(subtype="FILE_PATH")
|
||||
|
||||
def execute(self, context):
|
||||
csv_props = context.scene.CsvProperties
|
||||
csv_json = json.load(open(self.filepath))
|
||||
|
||||
expression = csv_json.get("expression", "")
|
||||
if expression:
|
||||
csv_props.ifc_selector = expression
|
||||
|
||||
attributes = csv_json.get("attributes", [])
|
||||
if attributes:
|
||||
csv_props.csv_attributes.clear()
|
||||
for attribute in attributes:
|
||||
csv_props.csv_attributes.add().name = attribute
|
||||
props = context.scene.CsvProperties
|
||||
data = json.load(open(self.filepath))
|
||||
tool.Search.import_filter_query(data["query"], props.filter_groups)
|
||||
|
||||
props.csv_attributes.clear()
|
||||
for attribute in data["attributes"]:
|
||||
new = props.csv_attributes.add()
|
||||
new.name = attribute["name"]
|
||||
new.header = attribute["header"]
|
||||
new.sort = attribute["sort"]
|
||||
new.group = attribute["group"]
|
||||
new.summary = attribute["summary"]
|
||||
return {"FINISHED"}
|
||||
|
||||
def invoke(self, context, event):
|
||||
@@ -92,7 +92,7 @@ class ImportCsvAttributes(bpy.types.Operator):
|
||||
|
||||
class ExportCsvAttributes(bpy.types.Operator):
|
||||
bl_idname = "bim.export_csv_attributes"
|
||||
bl_label = "Export CSV Template"
|
||||
bl_label = "Save CSV Settings"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Save a json template for CSV export"
|
||||
filename_ext = ".json"
|
||||
@@ -100,22 +100,18 @@ class ExportCsvAttributes(bpy.types.Operator):
|
||||
filepath: bpy.props.StringProperty(subtype="FILE_PATH")
|
||||
|
||||
def execute(self, context):
|
||||
csv_props = context.scene.CsvProperties
|
||||
props = context.scene.CsvProperties
|
||||
|
||||
csv_template = {}
|
||||
expression = csv_props.ifc_selector
|
||||
if expression:
|
||||
csv_template["expression"] = expression
|
||||
|
||||
csv_attributes = []
|
||||
for attribute in csv_props.csv_attributes:
|
||||
attribute_name = attribute.name
|
||||
csv_attributes.append(attribute_name)
|
||||
if csv_attributes:
|
||||
csv_template["attributes"] = csv_attributes
|
||||
data = {
|
||||
"query": tool.Search.export_filter_query(props.filter_groups),
|
||||
"attributes": [
|
||||
{"name": a.name, "header": a.header, "sort": a.sort, "group": a.group, "summary": a.summary}
|
||||
for a in props.csv_attributes
|
||||
],
|
||||
}
|
||||
|
||||
with open(self.filepath, "w") as outfile:
|
||||
json.dump(csv_template, outfile)
|
||||
json.dump(data, outfile)
|
||||
|
||||
return {"FINISHED"}
|
||||
|
||||
@@ -129,9 +125,8 @@ class ExportCsvAttributes(bpy.types.Operator):
|
||||
class ExportIfcCsv(bpy.types.Operator):
|
||||
bl_idname = "bim.export_ifccsv"
|
||||
bl_label = "Export IFC"
|
||||
#filename_ext = ".csv"
|
||||
filename_ext = ".csv"
|
||||
filepath: bpy.props.StringProperty(subtype="FILE_PATH")
|
||||
|
||||
|
||||
def invoke(self, context, event):
|
||||
props = context.scene.CsvProperties
|
||||
@@ -149,19 +144,50 @@ class ExportIfcCsv(bpy.types.Operator):
|
||||
ifc_file = IfcStore.get_file()
|
||||
else:
|
||||
ifc_file = ifcopenshell.open(props.csv_ifc_file)
|
||||
selector = ifcopenshell.util.selector.Selector()
|
||||
results = selector.parse(ifc_file, props.ifc_selector)
|
||||
results = ifcopenshell.util.selector.filter_elements(
|
||||
ifc_file, tool.Search.export_filter_query(props.filter_groups)
|
||||
)
|
||||
|
||||
ifc_csv = ifccsv.IfcCsv()
|
||||
attributes = [a.name for a in props.csv_attributes]
|
||||
headers = [a.header for a in props.csv_attributes]
|
||||
|
||||
sort = []
|
||||
groups = []
|
||||
summaries = []
|
||||
for attribute in props.csv_attributes:
|
||||
if attribute.sort != "NONE":
|
||||
sort.append({"name": attribute.name, "order": attribute.sort})
|
||||
if attribute.group != "NONE":
|
||||
groups.append({"name": attribute.name, "type": attribute.group, "varies_value": attribute.varies_value})
|
||||
if attribute.summary != "NONE":
|
||||
summaries.append({"name": attribute.name, "type": attribute.summary})
|
||||
|
||||
sep = props.csv_custom_delimiter if props.csv_delimiter == "CUSTOM" else props.csv_delimiter
|
||||
ifc_csv.export(ifc_file, results, attributes, output=self.filepath, format=props.format, delimiter=sep)
|
||||
ifc_csv.export(
|
||||
ifc_file,
|
||||
results,
|
||||
attributes,
|
||||
headers=headers,
|
||||
output=self.filepath,
|
||||
format=props.format,
|
||||
should_preserve_existing=props.should_preserve_existing,
|
||||
delimiter=sep,
|
||||
include_global_id=props.include_global_id,
|
||||
null=props.null_value,
|
||||
bool_true=props.true_value,
|
||||
bool_false=props.false_value,
|
||||
sort=sort,
|
||||
groups=groups,
|
||||
summaries=summaries,
|
||||
)
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class ImportIfcCsv(bpy.types.Operator):
|
||||
bl_idname = "bim.import_ifccsv"
|
||||
bl_label = "Import CSV to IFC"
|
||||
filename_ext = ".csv"
|
||||
bl_label = "Import to IFC"
|
||||
filter_glob: bpy.props.StringProperty(default="*.csv;*.ods;*.xlsx", options={"HIDDEN"})
|
||||
filepath: bpy.props.StringProperty(subtype="FILE_PATH")
|
||||
|
||||
def invoke(self, context, event):
|
||||
@@ -180,28 +206,22 @@ class ImportIfcCsv(bpy.types.Operator):
|
||||
ifc_file = ifcopenshell.open(props.csv_ifc_file)
|
||||
ifc_csv = ifccsv.IfcCsv()
|
||||
sep = props.csv_custom_delimiter if props.csv_delimiter == "CUSTOM" else props.csv_delimiter
|
||||
ifc_csv.Import(ifc_file, self.filepath, delimiter=sep)
|
||||
attributes = [a.name for a in props.csv_attributes]
|
||||
ifc_csv.Import(
|
||||
ifc_file,
|
||||
self.filepath,
|
||||
attributes=attributes,
|
||||
delimiter=sep,
|
||||
null=props.null_value,
|
||||
bool_true=props.true_value,
|
||||
bool_false=props.false_value,
|
||||
)
|
||||
if not props.should_load_from_memory:
|
||||
ifc_file.write(props.csv_ifc_file)
|
||||
purge_module_data()
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class EyedropIfcCsv(bpy.types.Operator):
|
||||
bl_idname = "bim.eyedrop_ifccsv"
|
||||
bl_label = "Query Selected Items"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
|
||||
def execute(self, context):
|
||||
global_ids = []
|
||||
self.file = IfcStore.get_file()
|
||||
for obj in context.selected_objects:
|
||||
if hasattr(obj, "BIMObjectProperties") and obj.BIMObjectProperties.ifc_definition_id:
|
||||
global_ids.append("#" + self.file.by_id(obj.BIMObjectProperties.ifc_definition_id).GlobalId)
|
||||
context.scene.CsvProperties.ifc_selector = "|".join(global_ids)
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class SelectCsvIfcFile(bpy.types.Operator):
|
||||
bl_idname = "bim.select_csv_ifc_file"
|
||||
bl_label = "Select CSV IFC File"
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
# along with BlenderBIM Add-on. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import bpy
|
||||
from blenderbim.bim.module.search.prop import BIMFilterGroup
|
||||
from blenderbim.bim.prop import StrProperty
|
||||
from bpy.types import PropertyGroup
|
||||
from bpy.props import (
|
||||
@@ -31,10 +32,56 @@ from bpy.props import (
|
||||
)
|
||||
|
||||
|
||||
class CsvAttribute(PropertyGroup):
|
||||
name: StringProperty(name="Query", default="class")
|
||||
header: StringProperty(name="Header Value", default="IFC Class")
|
||||
sort: EnumProperty(items=[("NONE", "None", ""), ("ASC", "Ascending", ""), ("DESC", "Descending", "")])
|
||||
group: EnumProperty(
|
||||
items=[
|
||||
("NONE", "None", "Don't group any rows"),
|
||||
("GROUP", "Group", "All rows where this value is identical will be merged"),
|
||||
("CONCAT", "Concatenation", "Concatenate values if values vary within a group"),
|
||||
("VARIES", "Varies", "Show a custom value if values vary within a group"),
|
||||
("SUM", "Sum", "Sums the total value of rows in a group"),
|
||||
("AVERAGE", "Average", "Averages the total value of rows in a group"),
|
||||
("MIN", "Min", "Gets the minimum value of rows in a group"),
|
||||
("MAX", "Max", "Gets the maximum value of rows in a group"),
|
||||
]
|
||||
)
|
||||
varies_value: StringProperty(default="Varies", name="Varies Value")
|
||||
summary: EnumProperty(
|
||||
items=[
|
||||
("NONE", "None", "Don't provide a summary row"),
|
||||
("SUM", "Sum", "Sums the total value of all rows"),
|
||||
("AVERAGE", "Average", "Averages the total value of all rows"),
|
||||
("MIN", "Min", "Gets the minimum value of all rows"),
|
||||
("MAX", "Max", "Gets the maximum value of all rows"),
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
class CsvProperties(PropertyGroup):
|
||||
csv_ifc_file: StringProperty(default="", name="IFC File")
|
||||
ifc_selector: StringProperty(default="", name="IFC Selector")
|
||||
csv_attributes: CollectionProperty(name="CSV Attributes", type=StrProperty)
|
||||
filter_groups: CollectionProperty(type=BIMFilterGroup, name="Filter Groups")
|
||||
facet: EnumProperty(
|
||||
items=[
|
||||
("entity", "Class", "", "FILE_3D", 0),
|
||||
("attribute", "Attribute", "", "COPY_ID", 1),
|
||||
("property", "Property", "", "PROPERTIES", 2),
|
||||
("material", "Material", "", "MATERIAL", 3),
|
||||
("classification", "Classification", "", "OUTLINER", 4),
|
||||
("location", "Location", "", "PACKAGE", 5),
|
||||
("type", "Type", "", "FILE_VOLUME", 6),
|
||||
("instance", "GlobalId", "", "GRIP", 7),
|
||||
],
|
||||
)
|
||||
csv_attributes: CollectionProperty(name="CSV Attributes", type=CsvAttribute)
|
||||
should_preserve_existing: BoolProperty(default=False, name="Preserve Existing")
|
||||
include_global_id: BoolProperty(default=True, name="Include GlobalId")
|
||||
null_value: StringProperty(default="N/A", name="Null Value")
|
||||
true_value: StringProperty(default="YES", name="True Value")
|
||||
false_value: StringProperty(default="NO", name="False Value")
|
||||
csv_delimiter: EnumProperty(
|
||||
items=[
|
||||
(";", ";", ""),
|
||||
@@ -55,4 +102,8 @@ class CsvProperties(PropertyGroup):
|
||||
default="csv",
|
||||
)
|
||||
csv_custom_delimiter: StringProperty(default="", name="Custom Delimiter")
|
||||
should_show_settings: BoolProperty(default=False, name="Show Settings")
|
||||
should_show_sort: BoolProperty(default=False, name="Show Sorting")
|
||||
should_show_group: BoolProperty(default=False, name="Show Grouping")
|
||||
should_show_summary: BoolProperty(default=False, name="Show Summary")
|
||||
should_load_from_memory: BoolProperty(default=False, name="Load from Memory")
|
||||
|
||||
@@ -16,8 +16,10 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with BlenderBIM Add-on. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import blenderbim.bim.helper
|
||||
from bpy.types import Panel
|
||||
from blenderbim.bim.ifc import IfcStore
|
||||
from blenderbim.bim.module.search.data import SearchData
|
||||
|
||||
|
||||
class BIM_PT_ifccsv(Panel):
|
||||
@@ -36,45 +38,69 @@ class BIM_PT_ifccsv(Panel):
|
||||
props = scene.CsvProperties
|
||||
|
||||
if IfcStore.get_file():
|
||||
row = layout.row()
|
||||
row = layout.row(align=True)
|
||||
row.prop(props, "should_load_from_memory")
|
||||
row.operator("bim.import_csv_attributes", icon="IMPORT", text="")
|
||||
row.operator("bim.export_csv_attributes", icon="EXPORT", text="")
|
||||
else:
|
||||
row = layout.row(align=True)
|
||||
row.alignment = "RIGHT"
|
||||
row.operator("bim.import_csv_attributes", icon="IMPORT", text="")
|
||||
row.operator("bim.export_csv_attributes", icon="EXPORT", text="")
|
||||
row.prop(props, "should_show_settings", icon="PREFERENCES", text="")
|
||||
|
||||
if not IfcStore.get_file() or not props.should_load_from_memory:
|
||||
row = layout.row(align=True)
|
||||
row.prop(props, "csv_ifc_file")
|
||||
row.operator("bim.select_csv_ifc_file", icon="FILE_FOLDER", text="")
|
||||
|
||||
row = layout.row(align=True)
|
||||
row.prop(props, "ifc_selector")
|
||||
row.operator("bim.eyedrop_ifccsv", icon="EYEDROPPER", text="")
|
||||
layout.separator()
|
||||
if props.should_show_settings:
|
||||
layout.use_property_split = True
|
||||
row = layout.row(align=True)
|
||||
row.prop(props, "format")
|
||||
|
||||
if props.format == "csv":
|
||||
row = layout.row(align=True)
|
||||
row.prop(props, "csv_delimiter")
|
||||
|
||||
if props.csv_delimiter == "CUSTOM":
|
||||
row = layout.row(align=True)
|
||||
row.prop(props, "csv_custom_delimiter")
|
||||
|
||||
row = layout.row()
|
||||
row.prop(props, "should_preserve_existing")
|
||||
row = layout.row()
|
||||
row.prop(props, "include_global_id")
|
||||
row = layout.row()
|
||||
row.prop(props, "null_value")
|
||||
row = layout.row()
|
||||
row.prop(props, "true_value")
|
||||
row = layout.row()
|
||||
row.prop(props, "false_value")
|
||||
layout.use_property_split = False
|
||||
|
||||
blenderbim.bim.helper.draw_filter(self.layout, props, SearchData, "csv")
|
||||
|
||||
row = layout.row(align=True)
|
||||
row.operator("bim.add_csv_attribute", icon="ADD")
|
||||
row.operator("bim.remove_all_csv_attributes", icon="CANCEL")
|
||||
row = layout.row(align=True)
|
||||
row.operator("bim.import_csv_attributes", icon="IMPORT")
|
||||
row.operator("bim.export_csv_attributes", icon="EXPORT")
|
||||
row.prop(props, "should_show_sort", icon="SORTSIZE", text="")
|
||||
row.prop(props, "should_show_group", icon="OUTLINER_COLLECTION", text="")
|
||||
row.prop(props, "should_show_summary", icon="SYNTAX_ON", text="")
|
||||
|
||||
for index, attribute in enumerate(props.csv_attributes):
|
||||
row = layout.row(align=True)
|
||||
row.prop(attribute, "name", text="")
|
||||
row.prop(attribute, "header", text="")
|
||||
if props.should_show_sort:
|
||||
row.prop(attribute, "sort", text="")
|
||||
if props.should_show_group:
|
||||
row.prop(attribute, "group", text="")
|
||||
if attribute.group == "VARIES":
|
||||
row.prop(attribute, "varies_value", text="")
|
||||
if props.should_show_summary:
|
||||
row.prop(attribute, "summary", text="")
|
||||
row.operator("bim.remove_csv_attribute", icon="X", text="").index = index
|
||||
|
||||
|
||||
row = layout.row(align=True)
|
||||
row.prop(props, "format")
|
||||
|
||||
if props.format == 'csv':
|
||||
row = layout.row(align=True)
|
||||
row.prop(props, "csv_delimiter")
|
||||
|
||||
if props.csv_delimiter == "CUSTOM":
|
||||
row = layout.row(align=True)
|
||||
row.prop(props, "csv_custom_delimiter")
|
||||
|
||||
row = layout.row()
|
||||
split = row.split(factor=0.5)
|
||||
c = split.column()
|
||||
c.operator("bim.export_ifccsv", icon="EXPORT", text="Export IFC to " + props.format.upper())
|
||||
c = split.column()
|
||||
c.operator("bim.import_ifccsv", icon="IMPORT")
|
||||
row.operator("bim.export_ifccsv", icon="EXPORT", text="Export IFC to " + props.format.upper())
|
||||
row.operator("bim.import_ifccsv", icon="IMPORT")
|
||||
|
||||
@@ -154,6 +154,8 @@ class ValidateIfcFile(bpy.types.Operator):
|
||||
logger = logging.getLogger("validate")
|
||||
logger.setLevel(logging.DEBUG)
|
||||
ifcopenshell.validate.validate(IfcStore.get_file(), logger, express_rules=True)
|
||||
|
||||
self.report({"INFO"}, "Check validation results in the system console.")
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
|
||||
@@ -166,6 +166,7 @@ class Annotator:
|
||||
|
||||
center = camera.matrix_world.inverted() @ bpy.context.scene.cursor.location
|
||||
center.z = 0
|
||||
center = camera.matrix_world @ center
|
||||
|
||||
return (
|
||||
center + z_offset,
|
||||
|
||||
@@ -64,11 +64,6 @@ class profile_consequential:
|
||||
cls.lines = []
|
||||
|
||||
|
||||
def ccw(A, B, C):
|
||||
"""whether a-b-c located in counter-clockwise order in 2d space"""
|
||||
return (C.y - A.y) * (B.x - A.x) > (B.y - A.y) * (C.x - A.x)
|
||||
|
||||
|
||||
def worldspace_to_winspace(verts, context):
|
||||
"""Convert world space verts to window space"""
|
||||
region = context.region
|
||||
@@ -248,8 +243,13 @@ class BaseDecorator:
|
||||
if check_mode and obj.data.is_editmode:
|
||||
return self.get_editmesh_geom(obj)
|
||||
|
||||
vertices = [obj.matrix_world @ v.co for v in obj.data.vertices]
|
||||
indices = [e.vertices for e in obj.data.edges]
|
||||
bm = bmesh.new()
|
||||
bm.from_mesh(obj.data)
|
||||
vertices = [obj.matrix_world @ v.co for v in bm.verts]
|
||||
# In object mode, it's nicer to not show "internal edges". Most will be dissolved anyway.
|
||||
indices = [[v.index for v in e.verts] for e in bm.edges if len(e.link_faces) != 2]
|
||||
bm.free()
|
||||
|
||||
return vertices, indices
|
||||
|
||||
def get_editmesh_geom(self, obj):
|
||||
@@ -520,7 +520,8 @@ class BaseDecorator:
|
||||
return matrix.inverted()[i].to_3d().normalized()
|
||||
|
||||
text_dir_world_x_axis = get_basis_vector(obj.matrix_world)
|
||||
text_dir = (camera.matrix_world.inverted().to_quaternion() @ text_dir_world_x_axis).to_2d().normalized()
|
||||
camera_matrix = camera.matrix_world.normalized()
|
||||
text_dir = (camera_matrix.inverted().to_quaternion() @ text_dir_world_x_axis).to_2d().normalized()
|
||||
|
||||
pos = location_3d_to_region_2d(region, region3d, text_world_position)
|
||||
props = obj.BIMTextProperties
|
||||
@@ -742,7 +743,7 @@ class AngleDecorator(BaseDecorator):
|
||||
except ZeroDivisionError:
|
||||
continue
|
||||
circle_angle = acos(cos_a)
|
||||
counter_clockwise = ccw(v2, v1, v0)
|
||||
counter_clockwise = tool.Cad.is_counter_clockwise_order(v2, v1, v0)
|
||||
angle_circle = get_angle_circle(circle_start, circle_angle, counter_clockwise)
|
||||
add_verts_sequence([v1 + v for v in angle_circle], start_i_arcs, **out_kwargs_arcs)
|
||||
|
||||
@@ -774,7 +775,7 @@ class AngleDecorator(BaseDecorator):
|
||||
region3d = context.region_data
|
||||
|
||||
viewportDrawingScale = self.get_viewport_drawing_scale(context)
|
||||
ANGLE_LABEL_OFFSET = 25 * viewportDrawingScale
|
||||
ANGLE_LABEL_OFFSET = 20 * viewportDrawingScale
|
||||
last_segment_i = len(indices) - 1
|
||||
|
||||
for edge_i, edge_vertices in enumerate(indices):
|
||||
@@ -792,24 +793,24 @@ class AngleDecorator(BaseDecorator):
|
||||
edge1_ws = v2 - v1
|
||||
try:
|
||||
cos_a = edge0_ws.dot(edge1_ws) / (edge0_ws.length * edge1_ws.length)
|
||||
angle_rad = acos(cos_a)
|
||||
angle = angle_rad / pi * 180
|
||||
except ZeroDivisionError:
|
||||
continue
|
||||
circle_angle_rad = acos(cos_a)
|
||||
circle_angle = circle_angle_rad / pi * 180
|
||||
angle = 0
|
||||
|
||||
# calculate angle position
|
||||
p0 = location_3d_to_region_2d(region, region3d, v0)
|
||||
p1 = location_3d_to_region_2d(region, region3d, v1)
|
||||
p2 = location_3d_to_region_2d(region, region3d, v2)
|
||||
p0, p1, p2 = [location_3d_to_region_2d(region, region3d, p) for p in vertices[i0 : i1 + 2]]
|
||||
edge0 = p0 - p1
|
||||
edge1 = p2 - p1
|
||||
base_edge = edge0 if ccw(p0, p1, p2) else edge1
|
||||
text_offset = (Matrix.Rotation(-circle_angle_rad / 2, 2) @ base_edge).normalized() * ANGLE_LABEL_OFFSET
|
||||
radius = min(edge0.length_squared, edge1.length_squared) ** 0.5
|
||||
# TODO: can be helpful for svg positioning
|
||||
base_edge = edge0 if tool.Cad.is_counter_clockwise_order(p0, p1, p2) else edge1
|
||||
text_offset = (Matrix.Rotation(-angle_rad / 2, 2) @ base_edge).normalized() * (radius + ANGLE_LABEL_OFFSET)
|
||||
label_position = p1 + text_offset
|
||||
|
||||
text = f"{int(circle_angle)}d"
|
||||
text = f"{int(angle)}deg"
|
||||
label_dir = Vector((1, 0))
|
||||
self.draw_label(context, text, label_position, label_dir)
|
||||
self.draw_label(context, text, label_position, label_dir, box_alignment="center")
|
||||
|
||||
|
||||
class DiameterDecorator(DimensionDecorator):
|
||||
|
||||
@@ -485,7 +485,7 @@ class CreateDrawing(bpy.types.Operator):
|
||||
|
||||
drawing_elements = tool.Drawing.get_drawing_elements(self.camera_element)
|
||||
|
||||
self.setup_serialiser(ifc)
|
||||
self.setup_serialiser(ifc, target_view)
|
||||
cache = IfcStore.get_cache()
|
||||
[cache.remove(guid) for guid in invalidated_guids]
|
||||
tree = ifcopenshell.geom.tree()
|
||||
@@ -829,7 +829,7 @@ class CreateDrawing(bpy.types.Operator):
|
||||
|
||||
return svg_path
|
||||
|
||||
def setup_serialiser(self, ifc):
|
||||
def setup_serialiser(self, ifc, target_view):
|
||||
self.svg_settings = ifcopenshell.geom.settings(
|
||||
DISABLE_TRIANGULATION=True, STRICT_TOLERANCE=True, INCLUDE_CURVES=True
|
||||
)
|
||||
@@ -853,6 +853,8 @@ class CreateDrawing(bpy.types.Operator):
|
||||
self.serialiser.setScale(self.scale)
|
||||
self.serialiser.setSubtractionSettings(ifcopenshell.ifcopenshell_wrapper.ALWAYS)
|
||||
self.serialiser.setUsePrefiltering(True) # See #3359
|
||||
if target_view == "REFLECTED_PLAN_VIEW":
|
||||
self.serialiser.setMirrorY(True)
|
||||
# tree = ifcopenshell.geom.tree()
|
||||
# This instructs the tree to explode BReps into faces and return
|
||||
# the style of the face when running tree.select_ray()
|
||||
@@ -887,6 +889,21 @@ class CreateDrawing(bpy.types.Operator):
|
||||
)
|
||||
return classes
|
||||
|
||||
def is_manifold(self, obj):
|
||||
result = self.is_manifold_cache.get(obj.data.name, None)
|
||||
if result is not None:
|
||||
return result
|
||||
|
||||
bm = bmesh.new()
|
||||
bm.from_mesh(obj.data)
|
||||
for edge in bm.edges:
|
||||
if not edge.is_manifold:
|
||||
bm.free()
|
||||
self.is_manifold_cache[obj.data.name] = False
|
||||
return False
|
||||
self.is_manifold_cache[obj.data.name] = True
|
||||
return True
|
||||
|
||||
def merge_linework_and_add_metadata(self, root):
|
||||
join_criteria = ifcopenshell.util.element.get_pset(self.camera_element, "EPset_Drawing", "JoinCriteria")
|
||||
if join_criteria:
|
||||
@@ -897,6 +914,7 @@ class CreateDrawing(bpy.types.Operator):
|
||||
|
||||
group = root.findall(".//{http://www.w3.org/2000/svg}g")[0]
|
||||
joined_paths = {}
|
||||
self.is_manifold_cache = {}
|
||||
|
||||
ifc = tool.Ifc.get()
|
||||
for el in root.findall(".//{http://www.w3.org/2000/svg}g[@{http://www.ifcopenshell.org/ns}guid]"):
|
||||
@@ -906,6 +924,10 @@ class CreateDrawing(bpy.types.Operator):
|
||||
classes.append("cut")
|
||||
el.set("class", " ".join(classes))
|
||||
|
||||
obj = tool.Ifc.get_object(element)
|
||||
if not self.is_manifold(obj):
|
||||
continue
|
||||
|
||||
# An element group will contain a bunch of paths representing the
|
||||
# cut of that element. However IfcOpenShell may not correctly
|
||||
# create closed paths. We post-process all paths with shapely to
|
||||
@@ -1035,7 +1057,9 @@ class CreateDrawing(bpy.types.Operator):
|
||||
|
||||
elements = tool.Drawing.get_group_elements(tool.Drawing.get_drawing_group(self.camera_element))
|
||||
filtered_drawing_elements = tool.Drawing.get_drawing_elements(self.camera_element)
|
||||
elements = [e for e in elements if e in filtered_drawing_elements]
|
||||
filtered_drawing_annotations = {e for e in filtered_drawing_elements if e.is_a("IfcAnnotation")}
|
||||
elements = {e for e in elements if e in filtered_drawing_elements}
|
||||
elements = list(elements | filtered_drawing_annotations)
|
||||
|
||||
annotations = sorted(
|
||||
elements, key=lambda a: (tool.Drawing.get_annotation_z_index(a), 1 if a.ObjectType == "TEXT" else 0)
|
||||
@@ -1512,6 +1536,9 @@ class RemoveDrawing(bpy.types.Operator, Operator):
|
||||
tool.Ifc.get().by_id(d.ifc_definition_id) for d in context.scene.DocProperties.drawings if d.is_selected
|
||||
]
|
||||
else:
|
||||
if not self.drawing:
|
||||
self.report({"ERROR"}, "No drawing selected")
|
||||
return {"CANCELLED"}
|
||||
drawings = [tool.Ifc.get().by_id(self.drawing)]
|
||||
|
||||
removed_drawings = [drawing.id() for drawing in drawings]
|
||||
@@ -1862,7 +1889,7 @@ class RemoveSchedule(bpy.types.Operator, Operator):
|
||||
schedule: bpy.props.IntProperty()
|
||||
|
||||
def _execute(self, context):
|
||||
core.remove_document(tool.Ifc, tool.Drawing, "SCHEDULE", schedule=tool.Ifc.get().by_id(self.schedule))
|
||||
core.remove_document(tool.Ifc, tool.Drawing, "SCHEDULE", document=tool.Ifc.get().by_id(self.schedule))
|
||||
|
||||
|
||||
class OpenSchedule(bpy.types.Operator, Operator):
|
||||
|
||||
@@ -538,7 +538,7 @@ class BIMAnnotationProperties(PropertyGroup):
|
||||
name="Create Representation For Type",
|
||||
default=False,
|
||||
description='Whether "Add type" should define a representation for the type \n'
|
||||
"or allow occurences to have their own",
|
||||
"or allow occurrences to have their own",
|
||||
)
|
||||
is_adding_type: bpy.props.BoolProperty(default=False)
|
||||
type_name: bpy.props.StringProperty(name="Name", default="TYPEX")
|
||||
|
||||
@@ -118,6 +118,25 @@ class Scheduler:
|
||||
if cell_style:
|
||||
related_styles.append((style_name, cell_style))
|
||||
|
||||
# sometimes there are no column styles (e.g. in ODS from IfcCSV)
|
||||
# and we just use some constant number for column widths
|
||||
if not column_widths:
|
||||
row_columns = []
|
||||
for tr in table.getElementsByType(TableRow):
|
||||
row_cols = 0
|
||||
for td in tr.getElementsByType(TableCell):
|
||||
column_span = td.getAttribute("numbercolumnsspanned")
|
||||
column_span = int(column_span) if column_span else 1
|
||||
|
||||
col_repeat = td.getAttribute("numbercolumnsrepeated")
|
||||
col_repeat = int(col_repeat) if col_repeat else 1
|
||||
row_cols += column_span * col_repeat
|
||||
row_columns.append(row_cols)
|
||||
|
||||
n_columns = max(row_columns)
|
||||
column_widths = [25] * n_columns # some constant width value 👀
|
||||
column_styles = [None] * n_columns
|
||||
|
||||
# collect rows height
|
||||
row_heights = []
|
||||
# TODO: never used yet because unsure about priority for row styles
|
||||
@@ -351,7 +370,7 @@ class Scheduler:
|
||||
wrap_text: if True, text will be wrapped to fit in cell
|
||||
cell_width: width of cell, used for wrapping text
|
||||
"""
|
||||
text_lines = [str(p).upper() for p in p_tags]
|
||||
text_lines = [str(p) for p in p_tags]
|
||||
box_alignment_params = SvgWriter.get_box_alignment_parameters(box_alignment)
|
||||
text_params = {
|
||||
"font-size": font_size,
|
||||
|
||||
@@ -414,7 +414,7 @@ class SheetBuilder:
|
||||
view.remove(image)
|
||||
|
||||
def get_href(self, element):
|
||||
return urllib.parse.unquote(element.attrib.get("{http://www.w3.org/1999/xlink}href"))
|
||||
return urllib.parse.unquote(element.attrib.get("{http://www.w3.org/1999/xlink}href")).replace('\\','/')
|
||||
|
||||
def parse_embedded_svg(self, image, data):
|
||||
group = ET.Element("g")
|
||||
|
||||
@@ -36,7 +36,7 @@ import blenderbim.bim.module.drawing.annotation as annotation
|
||||
from blenderbim.bim.module.drawing.data import DecoratorData
|
||||
from blenderbim.bim.ifc import IfcStore
|
||||
|
||||
from math import pi, ceil, atan, degrees
|
||||
from math import pi, ceil, atan, degrees, acos
|
||||
from mathutils import geometry, Vector
|
||||
from bpy_extras import view3d_utils
|
||||
|
||||
@@ -774,6 +774,15 @@ class SvgWriter:
|
||||
"text-anchor": text_anchor,
|
||||
}
|
||||
|
||||
def add_fill_bg(self, element):
|
||||
element = element.copy()
|
||||
if hasattr(element, "xml"):
|
||||
attrib = element.xml.attrib
|
||||
else:
|
||||
attrib = element.attribs
|
||||
attrib["filter"] = "url(#fill-background)"
|
||||
return element
|
||||
|
||||
def draw_text_annotation(self, text_obj, position):
|
||||
x_offset = self.raw_width / 2
|
||||
y_offset = self.raw_height / 2
|
||||
@@ -791,20 +800,21 @@ class SvgWriter:
|
||||
return matrix.inverted()[i].to_3d().normalized()
|
||||
|
||||
text_dir_world_x_axis = get_basis_vector(text_obj.matrix_world)
|
||||
text_dir = (self.camera.matrix_world.inverted().to_quaternion() @ text_dir_world_x_axis).to_2d().normalized()
|
||||
|
||||
# RCP cameras may be scaled, so reset scales.
|
||||
camera_matrix = self.camera.matrix_world.normalized()
|
||||
text_dir = (camera_matrix.inverted().to_quaternion() @ text_dir_world_x_axis).to_2d().normalized()
|
||||
angle = math.degrees(-text_dir.angle_signed(Vector((1, 0))))
|
||||
|
||||
classes = self.get_attribute_classes(text_obj)
|
||||
classes_str = " ".join(classes)
|
||||
fill_bg = "fill-bg" in classes
|
||||
|
||||
symbol = tool.Drawing.get_annotation_symbol(element)
|
||||
template_text_fields = []
|
||||
if not symbol:
|
||||
text_transform = f"translate({text_position_svg_str}) rotate({angle})"
|
||||
else:
|
||||
if symbol:
|
||||
# NOTE: for now we assume that scale is uniform
|
||||
symbol_transform = f"translate({text_position_svg_str}) rotate({angle}) scale({text_obj.scale.x})"
|
||||
text_transform = symbol_transform
|
||||
|
||||
symbol_svg = self.find_xml_symbol_by_id(symbol)
|
||||
if symbol_svg:
|
||||
@@ -815,10 +825,13 @@ class SvgWriter:
|
||||
if template_text_fields:
|
||||
symbol_xml.attrib["transform"] = symbol_transform
|
||||
symbol_xml.attrib.pop("id")
|
||||
# note: zip makes sure that we iterate over the shortest list
|
||||
# NOTE: zip makes sure that we iterate over the shortest list
|
||||
for field, text_literal in zip(template_text_fields, text_literals):
|
||||
field.text = tool.Drawing.replace_text_literal_variables(text_literal.Literal, product)
|
||||
field.attrib["class"] = classes_str
|
||||
|
||||
if fill_bg:
|
||||
self.svg.add(self.add_fill_bg(symbol_svg))
|
||||
self.svg.add(symbol_svg)
|
||||
return None
|
||||
|
||||
@@ -834,7 +847,7 @@ class SvgWriter:
|
||||
angle,
|
||||
text_literal.BoxAlignment,
|
||||
classes_str,
|
||||
fill_bg="fill-bg" in classes,
|
||||
fill_bg=fill_bg,
|
||||
line_number_start=line_number,
|
||||
)
|
||||
for tag in text_tags:
|
||||
@@ -936,54 +949,54 @@ class SvgWriter:
|
||||
|
||||
def draw_angle_annotations(self, obj):
|
||||
points = obj.data.splines[0].points
|
||||
region = bpy.context.region
|
||||
area = tool.Blender.get_viewport_context()["area"]
|
||||
region_3d = area.spaces.active.region_3d
|
||||
# [1, 2, 3, 4, 5] -> [[1, 2, 3], [2, 3, 4], [3, 4, 5]]
|
||||
points_chunked = [points[i : i + 3] for i in range(len(points) - 2)]
|
||||
|
||||
for points_chunk in points_chunked:
|
||||
points_2d = [view3d_utils.location_3d_to_region_2d(region, region_3d, p.co.xyz) for p in points_chunk]
|
||||
points_chunk = [obj.matrix_world @ p.co.xyz for p in points_chunk]
|
||||
self.draw_svg_3point_arc(obj, points_chunk)
|
||||
|
||||
edge0 = points_2d[0] - points_2d[1]
|
||||
edge1 = points_2d[2] - points_2d[1]
|
||||
angle_radius = min(edge0.length, edge1.length)
|
||||
dir0 = edge0.normalized()
|
||||
dir1 = edge1.normalized()
|
||||
dir2 = ((dir0 + dir1) / 2).normalized()
|
||||
|
||||
# calculate p3 which is the center of the arc
|
||||
# to use draw_svg_3point_arc()
|
||||
p3 = points_2d[1] + dir2 * angle_radius
|
||||
|
||||
# make all edges the same radius
|
||||
p0 = points_2d[1] + dir0 * angle_radius
|
||||
p2 = points_2d[1] + dir1 * angle_radius
|
||||
points_chunk = [view3d_utils.region_2d_to_origin_3d(region, region_3d, p) for p in [p0, p3, p2]]
|
||||
# points = [p.co.xyz for p in bpy.context.active_object.data.splines[0].points[:3]]
|
||||
|
||||
bm = bmesh.new()
|
||||
bm.verts.index_update()
|
||||
bm.edges.index_update()
|
||||
new_verts = [bm.verts.new(p) for p in points_chunk]
|
||||
new_edges = [bm.edges.new((new_verts[e[0]], new_verts[e[1]])) for e in ((0, 1), (1, 2))]
|
||||
self.draw_svg_3point_arc(obj, bm)
|
||||
|
||||
def draw_svg_3point_arc(self, obj, bm):
|
||||
def draw_svg_3point_arc(self, obj, angle_points):
|
||||
"""`angle_points` are expected to be already in world space"""
|
||||
# This implementation uses an SVG arc, which means that it can only draw
|
||||
# arcs that are orthogonal to the view (e.g. not arcs in 3D).
|
||||
# Gosh this is bad code :(
|
||||
|
||||
points = [v.co for v in bm.verts][:3]
|
||||
center = tool.Cad.get_center_of_arc(points, obj)
|
||||
classes = self.get_attribute_classes(obj)
|
||||
matrix_world = obj.matrix_world
|
||||
x_offset = self.raw_width / 2
|
||||
y_offset = self.raw_height / 2
|
||||
bm.verts.ensure_lookup_table()
|
||||
arc_end_verts = [v for v in bm.verts if len(v.link_edges) == 1]
|
||||
arc_end_pts = [matrix_world @ v.co for v in arc_end_verts]
|
||||
def position_on_svg(p):
|
||||
p = self.project_point_onto_camera(p)
|
||||
offset = Vector([self.raw_width / 2, self.raw_height / 2])
|
||||
return (offset + p.xy * Vector((1, -1))) * self.svg_scale
|
||||
|
||||
# Probably need this when rewriting to use an SVG polyline instead of an arc
|
||||
def get_angle_value():
|
||||
"""points should be in world space"""
|
||||
# calculate arc angle, need to make sure we do it in world space
|
||||
v0, v1, v2 = angle_points
|
||||
edge0_ws = v0 - v1
|
||||
edge1_ws = v2 - v1
|
||||
try:
|
||||
cos_a = edge0_ws.dot(edge1_ws) / (edge0_ws.length * edge1_ws.length)
|
||||
angle_rad = acos(cos_a)
|
||||
angle = angle_rad / pi * 180
|
||||
except ZeroDivisionError:
|
||||
angle = 0
|
||||
return angle
|
||||
|
||||
angle = get_angle_value()
|
||||
angle_points = [position_on_svg(p) for p in angle_points]
|
||||
|
||||
# creating arc and making sure radius is consistent across the arc
|
||||
edge0 = angle_points[0] - angle_points[1]
|
||||
edge1 = angle_points[2] - angle_points[1]
|
||||
angle_radius = min(edge0.length, edge1.length)
|
||||
dir0 = edge0.normalized()
|
||||
dir1 = edge1.normalized()
|
||||
arc_mid_dir = ((dir0 + dir1) / 2).normalized()
|
||||
arc_points = [angle_points[1] + direction * angle_radius for direction in [dir0, arc_mid_dir, dir1]]
|
||||
|
||||
arc_end_pts = [arc_points[0], arc_points[2]]
|
||||
arc_mid_point = arc_points[1]
|
||||
|
||||
# The commented code below can be useful when we start using SVG polyline instead of an arc
|
||||
# arc_path = [arc_end_verts[0]]
|
||||
# while True:
|
||||
# last_point = arc_end_verts[0]
|
||||
@@ -996,79 +1009,44 @@ class SvgWriter:
|
||||
# if not found_another_point:
|
||||
# break
|
||||
|
||||
distance_between_end_verts = (arc_end_verts[0].co - arc_end_verts[1].co).length
|
||||
arc_mid_vert = arc_end_verts[0].link_edges[0].other_vert(arc_end_verts[0])
|
||||
is_reflex = 0 if (arc_mid_vert.co - arc_end_verts[1].co).length < distance_between_end_verts else 1
|
||||
|
||||
bm.free()
|
||||
|
||||
# Calculate the angle
|
||||
# This is the true normal in 3D, whereas the camera projection we use is the drawing direction.
|
||||
# This assumes (because we use SVG arcs) that the radius is always orthogonal to our view.
|
||||
# When rewriting to use polylines, we should use this normal instead.
|
||||
# center = tool.Cad.get_center_of_arc([p.to_3d() for p in arc_points], None).to_2d()
|
||||
# normal = mathutils.geometry.normal([arc_end_pts[0], arc_end_pts[1], center])
|
||||
normal = Vector(self.camera_projection)
|
||||
dir1 = (arc_end_pts[0] - center).normalized()
|
||||
dir2 = (arc_end_pts[1] - center).normalized()
|
||||
# normal = Vector(self.camera_projection)
|
||||
# dir1 = (arc_end_pts[0] - center).normalized()
|
||||
# arc_mid_dir = (arc_end_pts[1] - center).normalized()
|
||||
|
||||
# Let's get the matrix that represents the coordinate system of the arc.
|
||||
# This matrix allows us to get 2D vectors for calculating the signed arc angle.
|
||||
z = normal
|
||||
x = (arc_end_pts[0] - center).normalized()
|
||||
y = z.cross(x)
|
||||
arc_matrix = mathutils.Matrix([x, y, z]).transposed().to_4x4()
|
||||
# z = normal
|
||||
# x = (arc_end_pts[0] - center).normalized()
|
||||
# y = z.cross(x)
|
||||
# arc_matrix = mathutils.Matrix([x, y, z]).transposed().to_4x4()
|
||||
|
||||
dir1 = ((arc_matrix.inverted() @ arc_end_pts[0]) - (arc_matrix.inverted() @ center)).normalized()
|
||||
dir2 = ((arc_matrix.inverted() @ arc_end_pts[1]) - (arc_matrix.inverted() @ center)).normalized()
|
||||
angle = -dir1.xy.angle_signed(dir2.xy)
|
||||
|
||||
# if is_reflex:
|
||||
# angle = angle % (math.pi * 2)
|
||||
|
||||
# Center of gravity of all vertices, used to help position the text
|
||||
cog = Vector((0, 0, 0))
|
||||
for point in points:
|
||||
cog += point
|
||||
cog = matrix_world @ (cog / len(points))
|
||||
|
||||
radius = ((matrix_world @ points[0]) - center).length
|
||||
|
||||
arc_midpoint = center + ((cog - center).normalized() * radius)
|
||||
|
||||
text_position = self.project_point_onto_camera(arc_midpoint)
|
||||
text_position = Vector(
|
||||
((x_offset + text_position.x) * self.svg_scale, (y_offset - text_position.y) * self.svg_scale)
|
||||
)
|
||||
|
||||
center_projected = self.project_point_onto_camera(center)
|
||||
center_position = Vector(
|
||||
((x_offset + center_projected.x) * self.svg_scale, (y_offset - center_projected.y) * self.svg_scale)
|
||||
)
|
||||
text_offset = (text_position - center_position).xy.normalized() * 5
|
||||
text_position += text_offset
|
||||
# dir1 = ((arc_matrix.inverted() @ arc_end_pts[0]) - (arc_matrix.inverted() @ center)).normalized()
|
||||
# dir2 = ((arc_matrix.inverted() @ arc_end_pts[1]) - (arc_matrix.inverted() @ center)).normalized()
|
||||
# angle = -dir1.xy.angle_signed(dir2.xy)
|
||||
|
||||
# calculating text parameters and adding text
|
||||
text_position = arc_mid_point + arc_mid_dir * 5
|
||||
text_style = SvgWriter.get_box_alignment_parameters("center")
|
||||
angle_text = abs(round(math.degrees(angle), 3))
|
||||
if is_reflex:
|
||||
angle_text = 360 - angle_text
|
||||
self.svg.add(self.svg.text(f"{angle_text}deg", insert=tuple(text_position), class_="ANGLE", **text_style))
|
||||
angle_text = f"{int(angle)}deg"
|
||||
self.svg.add(self.svg.text(angle_text, insert=text_position, class_="ANGLE", **text_style))
|
||||
|
||||
# Draw SVG arc, see for details: http://xahlee.info/js/svg_circle_arc.html
|
||||
arc_proj_end_pts = [self.project_point_onto_camera(v) for v in arc_end_pts]
|
||||
p1 = Vector(
|
||||
((x_offset + arc_proj_end_pts[0].x) * self.svg_scale, (y_offset - arc_proj_end_pts[0].y) * self.svg_scale)
|
||||
)
|
||||
p2 = Vector(
|
||||
((x_offset + arc_proj_end_pts[1].x) * self.svg_scale, (y_offset - arc_proj_end_pts[1].y) * self.svg_scale)
|
||||
)
|
||||
r = radius * self.svg_scale
|
||||
# reflex = 1 if angle > math.pi else 0
|
||||
reflex = is_reflex
|
||||
if reflex:
|
||||
sense = 0 if angle > 0 else 1
|
||||
else:
|
||||
sense = 1 if angle > 0 else 0
|
||||
p1, p2 = arc_end_pts
|
||||
r = angle_radius
|
||||
# reflex: 0 => arc < 180 degrees
|
||||
# 1 => arc > 180 degrees
|
||||
reflex = int(angle > 180)
|
||||
# sense: 0 => moving at negative angles
|
||||
# 1 => moving at positive angles
|
||||
sense = int(tool.Cad.is_counter_clockwise_order(*arc_points))
|
||||
d = f"M {p1.x} {p1.y} A {r} {r} 0 {reflex} {sense} {p2.x} {p2.y}"
|
||||
classes = self.get_attribute_classes(obj)
|
||||
path = self.svg.add(self.svg.path(d=d, class_=" ".join(classes)))
|
||||
|
||||
def draw_radius_annotations(self, obj):
|
||||
@@ -1344,18 +1322,10 @@ class SvgWriter:
|
||||
multiline_to_bottom=True,
|
||||
fill_bg=False,
|
||||
line_number_start=0,
|
||||
_draw_fill_bg=False,
|
||||
):
|
||||
"""returns list of created text tags"""
|
||||
text_tags = []
|
||||
if fill_bg:
|
||||
method_kwargs = locals() | {"_draw_fill_bg": True, "fill_bg": False}
|
||||
del method_kwargs["self"]
|
||||
del method_kwargs["text_tags"]
|
||||
text_tags += self.create_text_tag(**method_kwargs)
|
||||
|
||||
base_text_attrs = SvgWriter.get_box_alignment_parameters(box_alignment)
|
||||
base_text_attrs = base_text_attrs | ({"filter": "url(#fill-background)"} if _draw_fill_bg else {})
|
||||
|
||||
if not multiline:
|
||||
transform_kwargs = {"transform": "rotate({} {} {})".format(angle, text_position.x, text_position.y)}
|
||||
@@ -1392,6 +1362,11 @@ class SvgWriter:
|
||||
# doing it here and not in tspan constructor because constructor adds unnecessary spaces
|
||||
tspan.update({"dy": f"{line_number if multiline_to_bottom else -line_number}em"})
|
||||
text_tag.add(tspan)
|
||||
|
||||
if fill_bg:
|
||||
fill_bg_tags = [self.add_fill_bg(text_tag) for text_tag in text_tags]
|
||||
text_tags = fill_bg_tags + text_tags
|
||||
|
||||
return text_tags
|
||||
|
||||
def project_point_onto_camera(self, point):
|
||||
|
||||
@@ -314,7 +314,7 @@ class BIM_PT_references(Panel):
|
||||
|
||||
if not self.props.is_editing_references:
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text=f"{DocumentsData.data['total_references']} References Found", icon="LONGDISPLAY")
|
||||
row.label(text=f"{DocumentsData.data['total_references']} References Found", icon="OBJECT_HIDDEN")
|
||||
row.operator("bim.load_references", text="", icon="IMPORT")
|
||||
return
|
||||
|
||||
|
||||
@@ -26,17 +26,19 @@ classes = (
|
||||
operator.GetRepresentationIfcParameters,
|
||||
operator.OverrideDelete,
|
||||
operator.OverrideDuplicateMove,
|
||||
operator.OverrideDuplicateMoveAggregate,
|
||||
operator.OverrideDuplicateMoveAggregateMacro,
|
||||
operator.OverrideDuplicateMoveLinked,
|
||||
operator.OverrideDuplicateMoveLinkedMacro,
|
||||
operator.OverrideDuplicateMoveMacro,
|
||||
operator.OverrideDuplicateMoveAggregate,
|
||||
operator.OverrideDuplicateMoveAggregateMacro,
|
||||
operator.RefreshAggregate,
|
||||
operator.OverrideJoin,
|
||||
operator.OverrideModeSetEdit,
|
||||
operator.OverrideModeSetObject,
|
||||
operator.OverrideOriginSet,
|
||||
operator.OverrideOutlinerDelete,
|
||||
operator.OverridePasteBuffer,
|
||||
operator.PurgeUnusedRepresentations,
|
||||
operator.RefreshAggregate,
|
||||
operator.RemoveConnection,
|
||||
operator.RemoveRepresentation,
|
||||
operator.SelectConnection,
|
||||
@@ -50,6 +52,7 @@ classes = (
|
||||
ui.BIM_PT_connections,
|
||||
ui.BIM_PT_mesh,
|
||||
ui.BIM_PT_workarounds,
|
||||
ui.BIM_MT_object_set_origin,
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ class ConnectionsData:
|
||||
|
||||
@classmethod
|
||||
def load(cls):
|
||||
cls.data = {"connections": cls.connections()}
|
||||
cls.data = {"connections": cls.connections(), "is_connection_realization": cls.is_connection_realization()}
|
||||
cls.is_loaded = True
|
||||
|
||||
@classmethod
|
||||
@@ -114,7 +114,13 @@ class ConnectionsData:
|
||||
else:
|
||||
related_element = rel.RelatedElement
|
||||
|
||||
if element.is_a("IfcRelConnectsPathElements"):
|
||||
realizing_elements = []
|
||||
realizing_elements_connection_type = ""
|
||||
if rel.is_a("IfcRelConnectsWithRealizingElements"):
|
||||
realizing_elements.extend(rel.RealizingElements)
|
||||
realizing_elements_connection_type = rel.ConnectionType
|
||||
|
||||
if rel.is_a("IfcRelConnectsPathElements"):
|
||||
related_element_connection_type = rel.RelatedConnectionType
|
||||
else:
|
||||
related_element_connection_type = ""
|
||||
@@ -125,6 +131,8 @@ class ConnectionsData:
|
||||
"is_relating": True,
|
||||
"Name": related_element.Name or "Unnamed",
|
||||
"ConnectionType": related_element_connection_type,
|
||||
"realizing_elements": realizing_elements,
|
||||
"realizing_elements_connection_type": realizing_elements_connection_type,
|
||||
}
|
||||
)
|
||||
|
||||
@@ -134,7 +142,13 @@ class ConnectionsData:
|
||||
else:
|
||||
relating_element = rel.RelatingElement
|
||||
|
||||
if element.is_a("IfcRelConnectsPathElements"):
|
||||
realizing_elements = []
|
||||
realizing_elements_connection_type = ""
|
||||
if rel.is_a("IfcRelConnectsWithRealizingElements"):
|
||||
realizing_elements.extend(rel.RealizingElements)
|
||||
realizing_elements_connection_type = rel.ConnectionType
|
||||
|
||||
if rel.is_a("IfcRelConnectsPathElements"):
|
||||
relating_element_connection_type = rel.RelatingConnectionType
|
||||
else:
|
||||
relating_element_connection_type = ""
|
||||
@@ -145,11 +159,30 @@ class ConnectionsData:
|
||||
"is_relating": False,
|
||||
"Name": relating_element.Name or "Unnamed",
|
||||
"ConnectionType": relating_element_connection_type,
|
||||
"realizing_elements": realizing_elements,
|
||||
"realizing_elements_connection_type": realizing_elements_connection_type,
|
||||
}
|
||||
)
|
||||
|
||||
return results
|
||||
|
||||
@classmethod
|
||||
def is_connection_realization(cls):
|
||||
element = tool.Ifc.get_entity(bpy.context.active_object)
|
||||
connections = element.IsConnectionRealization
|
||||
if not connections:
|
||||
return
|
||||
|
||||
results = []
|
||||
for rel in connections:
|
||||
data = {
|
||||
"realizing_elements_connection_type": rel.ConnectionType,
|
||||
"connected_from": rel.RelatingElement,
|
||||
"connected_to": rel.RelatedElement,
|
||||
}
|
||||
results.append(data)
|
||||
return results
|
||||
|
||||
|
||||
class DerivedPlacementsData:
|
||||
data = {}
|
||||
|
||||
@@ -57,6 +57,31 @@ class EditObjectPlacement(bpy.types.Operator, Operator):
|
||||
core.edit_object_placement(tool.Ifc, tool.Geometry, tool.Surveyor, obj=obj)
|
||||
|
||||
|
||||
class OverrideOriginSet(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.override_origin_set"
|
||||
bl_label = "IFC Origin Set"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
obj: bpy.props.StringProperty()
|
||||
origin_type: bpy.props.StringProperty()
|
||||
|
||||
def _execute(self, context):
|
||||
objs = [bpy.data.objects.get(self.obj)] if self.obj else context.selected_objects
|
||||
for obj in objs:
|
||||
element = tool.Ifc.get_entity(obj)
|
||||
if not element:
|
||||
continue
|
||||
if tool.Ifc.is_moved(obj):
|
||||
core.edit_object_placement(tool.Ifc, tool.Geometry, tool.Surveyor, obj=obj)
|
||||
representation = tool.Geometry.get_active_representation(obj)
|
||||
if not representation:
|
||||
continue
|
||||
representation = ifcopenshell.util.representation.resolve_representation(representation)
|
||||
if not tool.Geometry.is_meshlike(representation):
|
||||
continue
|
||||
bpy.ops.object.origin_set(type=self.origin_type)
|
||||
bpy.ops.bim.update_representation(obj=obj.name)
|
||||
|
||||
|
||||
class AddRepresentation(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.add_representation"
|
||||
bl_label = "Add Representation"
|
||||
@@ -185,6 +210,15 @@ class RemoveRepresentation(bpy.types.Operator, Operator):
|
||||
)
|
||||
|
||||
|
||||
class PurgeUnusedRepresentations(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.purge_unused_representations"
|
||||
bl_label = "Purge Unused Representations"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
|
||||
def _execute(self, context):
|
||||
core.purge_unused_representations(tool.Ifc, tool.Geometry)
|
||||
|
||||
|
||||
class UpdateRepresentation(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.update_representation"
|
||||
bl_label = "Update Representation"
|
||||
@@ -214,6 +248,10 @@ class UpdateRepresentation(bpy.types.Operator, Operator):
|
||||
product = self.file.by_id(obj.BIMObjectProperties.ifc_definition_id)
|
||||
material = ifcopenshell.util.element.get_material(product, should_skip_usage=True)
|
||||
|
||||
if getattr(product, "HasOpenings", False) and obj.data.BIMMeshProperties.has_openings_applied:
|
||||
# Meshlike things with openings can only be updated without openings applied.
|
||||
return
|
||||
|
||||
if not product.is_a("IfcGridAxis"):
|
||||
tool.Geometry.clear_cache(product)
|
||||
|
||||
@@ -231,8 +269,14 @@ class UpdateRepresentation(bpy.types.Operator, Operator):
|
||||
core.edit_object_placement(tool.Ifc, tool.Geometry, tool.Surveyor, obj=obj)
|
||||
|
||||
if material and material.is_a() in ["IfcMaterialProfileSet", "IfcMaterialLayerSet"]:
|
||||
# These objects are parametrically based on an axis and should not be modified as a mesh
|
||||
return
|
||||
if self.ifc_representation_class == "IfcTessellatedFaceSet":
|
||||
# We are explicitly casting to a tessellation, so remove all parametric materials.
|
||||
element_type = ifcopenshell.util.element.get_type(product)
|
||||
ifcopenshell.api.run("material.unassign_material", tool.Ifc.get(), product=element_type)
|
||||
ifcopenshell.api.run("material.unassign_material", tool.Ifc.get(), product=product)
|
||||
else:
|
||||
# These objects are parametrically based on an axis and should not be modified as a mesh
|
||||
return
|
||||
|
||||
old_representation = self.file.by_id(obj.data.BIMMeshProperties.ifc_definition_id)
|
||||
context_of_items = old_representation.ContextOfItems
|
||||
@@ -285,7 +329,7 @@ class UpdateRepresentation(bpy.types.Operator, Operator):
|
||||
"style.assign_representation_styles",
|
||||
self.file,
|
||||
shape_representation=new_representation,
|
||||
styles=tool.Geometry.get_styles(obj),
|
||||
styles=tool.Geometry.get_styles(obj, only_assigned_to_faces=True),
|
||||
should_use_presentation_style_assignment=context.scene.BIMGeometryProperties.should_use_presentation_style_assignment,
|
||||
)
|
||||
tool.Geometry.record_object_materials(obj)
|
||||
@@ -637,6 +681,11 @@ class OverrideDuplicateMove(bpy.types.Operator):
|
||||
element = tool.Ifc.get_entity(obj)
|
||||
if element and element.is_a("IfcAnnotation") and element.ObjectType == "DRAWING":
|
||||
continue # For now, don't copy drawings until we stabilise a bit more. It's tricky.
|
||||
|
||||
# Prior to duplicating, sync the object placement to make decomposition recreation more stable.
|
||||
if tool.Ifc.is_moved(obj):
|
||||
blenderbim.core.geometry.edit_object_placement(tool.Ifc, tool.Geometry, tool.Surveyor, obj=obj)
|
||||
|
||||
new_obj = obj.copy()
|
||||
if obj.data:
|
||||
new_obj.data = obj.data.copy()
|
||||
@@ -705,6 +754,10 @@ class OverrideDuplicateMoveLinked(bpy.types.Operator):
|
||||
relationships = tool.Root.get_decomposition_relationships(context.selected_objects)
|
||||
old_to_new = {}
|
||||
for obj in context.selected_objects:
|
||||
# Prior to duplicating, sync the object placement to make decomposition recreation more stable.
|
||||
if tool.Ifc.is_moved(obj):
|
||||
blenderbim.core.geometry.edit_object_placement(tool.Ifc, tool.Geometry, tool.Surveyor, obj=obj)
|
||||
|
||||
new_obj = obj.copy()
|
||||
if obj.data:
|
||||
new_obj.data = obj.data.copy()
|
||||
@@ -1408,9 +1461,11 @@ class OverrideModeSetObject(bpy.types.Operator):
|
||||
self.reload_representation(obj)
|
||||
else:
|
||||
self.reload_representation(obj)
|
||||
tool.Ifc.finish_edit(obj)
|
||||
|
||||
for obj in self.unchanged_objs_with_openings:
|
||||
self.reload_representation(obj)
|
||||
tool.Ifc.finish_edit(obj)
|
||||
return {"FINISHED"}
|
||||
|
||||
def reload_representation(self, obj):
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
import bpy
|
||||
import blenderbim.tool as tool
|
||||
from bpy.types import Panel
|
||||
from bpy.types import Panel, Menu
|
||||
from blenderbim.bim.ifc import IfcStore
|
||||
from blenderbim.bim.helper import prop_with_search
|
||||
from blenderbim.bim.module.geometry.data import RepresentationsData, ConnectionsData, DerivedPlacementsData
|
||||
@@ -29,6 +29,29 @@ def object_menu(self, context):
|
||||
self.layout.operator("bim.override_object_duplicate_move", icon="PLUGIN")
|
||||
self.layout.operator("bim.override_object_delete", icon="PLUGIN")
|
||||
self.layout.operator("bim.override_paste_buffer", icon="PLUGIN")
|
||||
self.layout.menu("BIM_MT_object_set_origin", icon="PLUGIN")
|
||||
|
||||
|
||||
class BIM_MT_object_set_origin(Menu):
|
||||
bl_idname = "BIM_MT_object_set_origin"
|
||||
bl_label = "IFC Set Origin"
|
||||
|
||||
def draw(self, context):
|
||||
self.layout.operator(
|
||||
"bim.override_origin_set", icon="PLUGIN", text="IFC Geometry to Origin"
|
||||
).origin_type = "GEOMETRY_ORIGIN"
|
||||
self.layout.operator(
|
||||
"bim.override_origin_set", icon="PLUGIN", text="IFC Origin to Geometry"
|
||||
).origin_type = "ORIGIN_GEOMETRY"
|
||||
self.layout.operator(
|
||||
"bim.override_origin_set", icon="PLUGIN", text="IFC Origin to 3D Cursor"
|
||||
).origin_type = "ORIGIN_CURSOR"
|
||||
self.layout.operator(
|
||||
"bim.override_origin_set", icon="PLUGIN", text="IFC Origin to Center of Mass (Surface)"
|
||||
).origin_type = "ORIGIN_CENTER_OF_MASS"
|
||||
self.layout.operator(
|
||||
"bim.override_origin_set", icon="PLUGIN", text="IFC Origin to Center of Mass (Volume)"
|
||||
).origin_type = "ORIGIN_CENTER_OF_VOLUME"
|
||||
|
||||
|
||||
def outliner_menu(self, context):
|
||||
@@ -111,7 +134,7 @@ class BIM_PT_connections(Panel):
|
||||
layout = self.layout
|
||||
props = context.active_object.BIMObjectProperties
|
||||
|
||||
if not ConnectionsData.data["connections"]:
|
||||
if not ConnectionsData.data["connections"] and not ConnectionsData.data["is_connection_realization"]:
|
||||
layout.label(text="No connections found")
|
||||
|
||||
for connection in ConnectionsData.data["connections"]:
|
||||
@@ -123,6 +146,44 @@ class BIM_PT_connections(Panel):
|
||||
op = row.operator("bim.remove_connection", icon="X", text="")
|
||||
op.connection = connection["id"]
|
||||
|
||||
if connection["realizing_elements"]:
|
||||
row = self.layout.row(align=True)
|
||||
connection_type = connection["realizing_elements_connection_type"]
|
||||
connection_type = f" ({connection_type})" if connection_type else ""
|
||||
row.label(text=f"Realizing elements{connection_type}:")
|
||||
|
||||
for element in connection["realizing_elements"]:
|
||||
row = self.layout.row(align=True)
|
||||
obj = tool.Ifc.get_object(element)
|
||||
row.operator("bim.select_entity", text="", icon="RESTRICT_SELECT_OFF").ifc_id = element.id()
|
||||
row.label(text=obj.name)
|
||||
|
||||
# display connections where element is connection realization
|
||||
connections = ConnectionsData.data["is_connection_realization"]
|
||||
if not connections:
|
||||
return
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text="Element is connections realization:")
|
||||
for connection in connections:
|
||||
# NOTE: not displayed yet
|
||||
connection_type = connection["realizing_elements_connection_type"]
|
||||
connection_type = f" ({connection_type})" if connection_type else ""
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
|
||||
connected_from = connection["connected_from"]
|
||||
obj = tool.Ifc.get_object(connected_from)
|
||||
row.operator("bim.select_entity", text="", icon="RESTRICT_SELECT_OFF").ifc_id = connected_from.id()
|
||||
row.label(text=obj.name)
|
||||
|
||||
row.label(text="", icon="FORWARD")
|
||||
|
||||
connected_to = connection["connected_to"]
|
||||
obj = tool.Ifc.get_object(connected_to)
|
||||
row.operator("bim.select_entity", text="", icon="RESTRICT_SELECT_OFF").ifc_id = connected_to.id()
|
||||
row.label(text=obj.name)
|
||||
|
||||
|
||||
class BIM_PT_mesh(Panel):
|
||||
bl_label = "Representation Utilities"
|
||||
|
||||
@@ -34,6 +34,7 @@ classes = (
|
||||
operator.GetCursorLocation,
|
||||
operator.SetCursorLocation,
|
||||
operator.ConvertAngleToCoordinates,
|
||||
operator.ImportPlot,
|
||||
prop.BIMGeoreferenceProperties,
|
||||
ui.BIM_PT_gis,
|
||||
ui.BIM_PT_gis_utilities,
|
||||
|
||||
@@ -110,7 +110,7 @@ class SetCursorLocation(bpy.types.Operator, tool.Ifc.Operator):
|
||||
bl_idname = "bim.set_cursor_location"
|
||||
bl_label = "Set Cursor Location"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Move curson location to the specified coordinates"
|
||||
bl_description = "Move cursor location to the specified coordinates"
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
@@ -187,3 +187,20 @@ class ConvertAngleToCoordinates(bpy.types.Operator, tool.Ifc.Operator):
|
||||
|
||||
def _execute(self, context):
|
||||
core.convert_angle_to_coord(tool.Georeference, type=self.type)
|
||||
|
||||
|
||||
class ImportPlot(bpy.types.Operator, tool.Ifc.Operator):
|
||||
bl_idname = "bim.import_plot"
|
||||
bl_label = "Import Plot"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Import plot"
|
||||
filepath: bpy.props.StringProperty(subtype="FILE_PATH")
|
||||
filter_glob: bpy.props.StringProperty(default="*.csv", options={"HIDDEN"})
|
||||
|
||||
def execute(self, context):
|
||||
core.import_plot(tool.Georeference, filepath=self.filepath)
|
||||
return {"FINISHED"}
|
||||
|
||||
def invoke(self, context, event):
|
||||
context.window_manager.fileselect_add(self)
|
||||
return {"RUNNING_MODAL"}
|
||||
|
||||
@@ -50,8 +50,9 @@ class BIM_PT_misc_utilities(bpy.types.Panel):
|
||||
row.operator("bim.clean_wireframes")
|
||||
row = layout.row()
|
||||
row.operator("bim.patch_non_parametric_mep_segment")
|
||||
|
||||
row = layout.row(align=True)
|
||||
row.operator("bim.enable_editing_sketch_extrusion_profile", text="Start Sketching")
|
||||
row.operator("bim.edit_sketch_extrusion_profile", text="", icon="FILE_REFRESH")
|
||||
row.operator("bim.disable_editing_sketch_extrusion_profile", text="", icon="CANCEL")
|
||||
row = layout.row()
|
||||
row.operator("bim.import_plot", text="Import Plot Coordinates", icon="FILE_FOLDER")
|
||||
|
||||
@@ -78,6 +78,7 @@ classes = (
|
||||
opening.AddPotentialHalfSpaceSolid,
|
||||
opening.AddPotentialOpening,
|
||||
opening.EditOpenings,
|
||||
opening.CloneOpening,
|
||||
opening.FlipFill,
|
||||
opening.HideBooleans,
|
||||
opening.HideOpenings,
|
||||
|
||||
@@ -130,11 +130,11 @@ def update_door_modifier_representation(context, obj):
|
||||
if tool.Ifc.get_schema() != "IFC2X3":
|
||||
element.OperationType = props.door_type
|
||||
|
||||
# occurences attributes
|
||||
occurences = tool.Ifc.get_all_element_occurences(element)
|
||||
for occurence in occurences:
|
||||
occurence.OverallWidth = props.overall_width / si_conversion
|
||||
occurence.OverallHeight = props.overall_height / si_conversion
|
||||
# occurrences attributes
|
||||
occurrences = tool.Ifc.get_all_element_occurrences(element)
|
||||
for occurrence in occurrences:
|
||||
occurrence.OverallWidth = props.overall_width / si_conversion
|
||||
occurrence.OverallHeight = props.overall_height / si_conversion
|
||||
|
||||
update_simple_openings(element, props.overall_width / si_conversion, props.overall_height / si_conversion)
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ import ifcopenshell.util.system
|
||||
import ifcopenshell.util.element
|
||||
import ifcopenshell.util.representation
|
||||
import mathutils.geometry
|
||||
import numpy as np
|
||||
import blenderbim.bim.handler
|
||||
import blenderbim.core.type
|
||||
import blenderbim.core.root
|
||||
@@ -73,29 +74,68 @@ class RegenerateDistributionElement(bpy.types.Operator, tool.Ifc.Operator):
|
||||
[e for e in ifcopenshell.util.system.get_connected_from(element) if e not in processed_elements]
|
||||
)
|
||||
|
||||
if len(connected) == 1:
|
||||
extend_branch(list(connected)[0], branch, element)
|
||||
else:
|
||||
for connected_element in connected:
|
||||
branch_element["children"].append(extend_branch(connected_element, [], element))
|
||||
for connected_element in connected:
|
||||
branch_element["children"].append(extend_branch(connected_element, [], element))
|
||||
|
||||
return branch
|
||||
|
||||
queue = extend_branch(current_element, [])[0]["children"]
|
||||
extended_branch = extend_branch(current_element, [])
|
||||
queue = extended_branch[0]["children"]
|
||||
|
||||
# import pprint
|
||||
# pprint.pprint(queue)
|
||||
|
||||
def get_connected_ports_between(element1, element2):
|
||||
ports1 = tool.System.get_ports(element1)
|
||||
ports2 = tool.System.get_ports(element2)
|
||||
|
||||
for p in ports1:
|
||||
connected_port = tool.System.get_connected_port(p)
|
||||
# in IFC2X3 there is no PredefinedType
|
||||
if getattr(p, "PredefinedType", None) == "WIRELESS":
|
||||
continue
|
||||
if connected_port in ports2:
|
||||
return p, connected_port
|
||||
|
||||
return None, None
|
||||
|
||||
si_conversion = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get())
|
||||
|
||||
def process_branch(branch):
|
||||
for branch_element in branch:
|
||||
element = branch_element["element"]
|
||||
print("processing", element)
|
||||
predecessor = branch_element["predecessor"]
|
||||
if False: # If the element does not need to be transformed, return early.
|
||||
return
|
||||
|
||||
# Perform the extend, translate, rotate, etc the element as necessary based on the predecessor.
|
||||
# For segments, prioritise extensions instead of translations.
|
||||
# For everything else, only translate. No rotation.
|
||||
# For everything besides segments, only translate. No rotation.
|
||||
|
||||
obj = tool.Ifc.get_object(element)
|
||||
obj_pred = tool.Ifc.get_object(predecessor)
|
||||
if tool.Ifc.is_moved(obj):
|
||||
blenderbim.core.geometry.edit_object_placement(tool.Ifc, tool.Geometry, tool.Surveyor, obj=obj)
|
||||
if tool.Ifc.is_moved(obj_pred):
|
||||
blenderbim.core.geometry.edit_object_placement(tool.Ifc, tool.Geometry, tool.Surveyor, obj=obj_pred)
|
||||
|
||||
port, port_pred = get_connected_ports_between(element, predecessor)
|
||||
port_matrix_pred = tool.Model.get_element_matrix(port_pred)
|
||||
|
||||
# Only segments can be extended
|
||||
# extension for them takes priority over translation
|
||||
if element.is_a("IfcFlowSegment"):
|
||||
DumbProfileJoiner().join_E(obj, port_matrix_pred.translation * si_conversion)
|
||||
context.view_layer.update() # update since extrusion might involve changing object's location
|
||||
|
||||
port_martix = tool.Model.get_element_matrix(port)
|
||||
port_location = port_martix.translation
|
||||
port_location_pred = port_matrix_pred.translation
|
||||
if not tool.Cad.are_vectors_equal(port_location, port_location_pred):
|
||||
obj.location += (port_location_pred - port_location) * si_conversion
|
||||
context.view_layer.update() # otherwise tool.Ifc.is_moved won't get triggered
|
||||
else:
|
||||
# If the element does not need to be transformed, return early.
|
||||
return
|
||||
|
||||
for child_branch in branch_element["children"]:
|
||||
process_branch(child_branch)
|
||||
|
||||
@@ -168,6 +208,7 @@ class FitFlowSegments(bpy.types.Operator, tool.Ifc.Operator):
|
||||
elif total_profiles == 2:
|
||||
if is_parallel:
|
||||
fitting_type = "TRANSITION"
|
||||
bpy.ops.bim.mep_add_transition()
|
||||
|
||||
elif total_selected_objs == 3:
|
||||
if total_profiles > 1:
|
||||
@@ -229,6 +270,10 @@ class MEPGenerator:
|
||||
if port_position == "end_port":
|
||||
tool.Model.edit_element_placement(port, end_port_matrix)
|
||||
|
||||
continue
|
||||
|
||||
# NOTE: currently this functionality is moved to bim.regenerate_distribution_element
|
||||
|
||||
connected_port = tool.System.get_connected_port(port)
|
||||
if not connected_port:
|
||||
continue
|
||||
@@ -303,6 +348,8 @@ class MEPGenerator:
|
||||
There lies the problem that it won't be
|
||||
able to identify the fittings that were not yet connected to any segments yet.
|
||||
"""
|
||||
|
||||
# TODO: check angle, start, end and offset for transitions
|
||||
if not isinstance(segment_or_segments, collections.abc.Iterable):
|
||||
segments = [segment_or_segments]
|
||||
ports = [port_or_ports]
|
||||
@@ -313,7 +360,7 @@ class MEPGenerator:
|
||||
segments_data = []
|
||||
for segment, port in zip(segments, ports, strict=True):
|
||||
segment_type = ifcopenshell.util.element.get_type(segment)
|
||||
# if segment doesn't have type we cannot check compatibility by available occurences
|
||||
# if segment doesn't have type we cannot check compatibility by available occurrences
|
||||
if segment_type is None:
|
||||
return
|
||||
segments_data.append((segment_type, port.PredefinedType, port.SystemType))
|
||||
@@ -369,28 +416,38 @@ class MEPGenerator:
|
||||
for fitting_type in fitting_types:
|
||||
if fitting_type.PredefinedType != predefined_type:
|
||||
continue
|
||||
fittings = tool.Ifc.get_all_element_occurences(fitting_type)
|
||||
fittings = tool.Ifc.get_all_element_occurrences(fitting_type)
|
||||
if not fittings:
|
||||
continue
|
||||
fitting = fittings[0]
|
||||
|
||||
ports = ifcopenshell.util.system.get_ports(fitting)
|
||||
fitting_data = []
|
||||
fitting_connected_to_none_type = False
|
||||
for port in ports:
|
||||
connected_port = tool.System.get_connected_port(port)
|
||||
connected_element = tool.System.get_port_relating_element(connected_port)
|
||||
element_type = ifcopenshell.util.element.get_type(connected_element)
|
||||
if element_type is None:
|
||||
fitting_connected_to_none_type = True
|
||||
break
|
||||
fitting_data.append((element_type, port.PredefinedType, port.SystemType))
|
||||
for fitting in fittings:
|
||||
ports = ifcopenshell.util.system.get_ports(fitting)
|
||||
fitting_data = []
|
||||
skipped_the_occurrence = False
|
||||
for port in ports:
|
||||
connected_port = tool.System.get_connected_port(port)
|
||||
|
||||
if fitting_connected_to_none_type:
|
||||
continue
|
||||
# fitting port is not connected to anything
|
||||
if not connected_port:
|
||||
skipped_the_occurrence = True
|
||||
break
|
||||
|
||||
if are_connected_elements_compatible(segments_data, fitting_data):
|
||||
return pack_return_data(fitting_type, ports, segments_data)
|
||||
connected_element = tool.System.get_port_relating_element(connected_port)
|
||||
element_type = ifcopenshell.util.element.get_type(connected_element)
|
||||
|
||||
# fitting is connected to none type
|
||||
if element_type is None:
|
||||
skipped_the_occurrence = True
|
||||
break
|
||||
|
||||
fitting_data.append((element_type, port.PredefinedType, port.SystemType))
|
||||
|
||||
# if we skipped the occurrence we still can other occurrences
|
||||
# otherwise checking 1 occurrence is enough
|
||||
if not skipped_the_occurrence:
|
||||
if are_connected_elements_compatible(segments_data, fitting_data):
|
||||
return pack_return_data(fitting_type, ports, segments_data)
|
||||
return
|
||||
|
||||
def create_obstruction_type(self, segment):
|
||||
# code is very similar to "bim.add_type"
|
||||
@@ -453,7 +510,7 @@ class MEPGenerator:
|
||||
obstruction_type = self.create_obstruction_type(segment)
|
||||
|
||||
profile_joiner = DumbProfileJoiner()
|
||||
# create obstruction occurence and setup it's length and port
|
||||
# create obstruction occurrence and setup it's length and port
|
||||
# NOTE: at this point we loose current blender objects selection
|
||||
bpy.ops.bim.add_constr_type_instance(relating_type_id=obstruction_type.id())
|
||||
obstruction_obj = bpy.context.active_object
|
||||
@@ -570,10 +627,13 @@ class MEPAddTransition(bpy.types.Operator, tool.Ifc.Operator):
|
||||
|
||||
start_axis = tool.Model.get_flow_segment_axis(start_object)
|
||||
end_axis = tool.Model.get_flow_segment_axis(end_object)
|
||||
start_object_rotation = start_object.matrix_world.to_quaternion()
|
||||
start_object_z_basis = start_object_rotation.to_matrix().col[2] # z basis vector
|
||||
keep_only_z_axis = lambda p_ws: p_ws.dot(start_object_z_basis) * start_object_z_basis
|
||||
|
||||
# TODO: support cases when segments are partially or completely overlapping each other
|
||||
if not tool.Cad.are_edges_collinear(start_axis, end_axis):
|
||||
self.report({"ERROR"}, f"Failed to add transition - non collinear segments are not yet supported.")
|
||||
if not tool.Cad.are_edges_parallel(start_axis, end_axis):
|
||||
self.report({"ERROR"}, f"Failed to add transition - segments are not parallel.")
|
||||
return {"CANCELLED"}
|
||||
|
||||
start_segment_data = MEPGenerator().get_segment_data(start_element)
|
||||
@@ -588,28 +648,83 @@ class MEPAddTransition(bpy.types.Operator, tool.Ifc.Operator):
|
||||
end_segment_data["end_point"]: end_segment_data["end_port"],
|
||||
}
|
||||
|
||||
# transition points
|
||||
start_point, end_point = tool.Cad.closest_points(
|
||||
(start_segment_data["start_point"], start_segment_data["end_point"]),
|
||||
(end_segment_data["start_point"], end_segment_data["end_point"]),
|
||||
)
|
||||
transition_dir = (end_point - start_point).normalized()
|
||||
|
||||
# figure profile offset
|
||||
base_transition_dir = keep_only_z_axis(end_point - start_point).normalized()
|
||||
flip_profile_offset = base_transition_dir.dot(start_object_z_basis) < 0
|
||||
|
||||
if tool.Cad.are_edges_collinear(start_axis, end_axis):
|
||||
profile_offset = None
|
||||
else:
|
||||
to_start_object_space = start_object_rotation.inverted()
|
||||
profile_offset = (
|
||||
(to_start_object_space @ end_object.location) - (to_start_object_space @ start_object.location)
|
||||
).xy
|
||||
if tool.Cad.is_x(profile_offset.length_squared, 0):
|
||||
profile_offset = None
|
||||
else:
|
||||
profile_offset = profile_offset / si_conversion
|
||||
if flip_profile_offset:
|
||||
profile_offset *= V(1, -1)
|
||||
|
||||
# world space profile offset
|
||||
profile_offset_ws = (
|
||||
start_object_rotation @ (profile_offset * si_conversion).to_3d() if profile_offset else V(0, 0, 0)
|
||||
)
|
||||
|
||||
# will need entire_length to check that transition length fill fit
|
||||
first_segment_start, second_segment_end = [
|
||||
p
|
||||
for p in (
|
||||
start_segment_data["start_point"],
|
||||
start_segment_data["end_point"],
|
||||
end_segment_data["start_point"],
|
||||
end_segment_data["end_point"],
|
||||
)
|
||||
if p not in (start_point, end_point)
|
||||
]
|
||||
entire_length = (first_segment_start - second_segment_end).length
|
||||
|
||||
# can't rely on (end_point-start_point) here because
|
||||
# transition might change the segments length and therefore direction will be changed
|
||||
segments_dir = (start_point - first_segment_start).normalized()
|
||||
start_port = points_ports_map[start_point]
|
||||
end_port = points_ports_map[end_point]
|
||||
|
||||
# add transition representation
|
||||
builder = ShapeBuilder(ifc_file)
|
||||
rep, transition_data = builder.mep_transition_shape(
|
||||
start_element, end_element, self.start_length / si_conversion, self.end_length / si_conversion
|
||||
start_element,
|
||||
end_element,
|
||||
self.start_length / si_conversion,
|
||||
self.end_length / si_conversion,
|
||||
profile_offset=profile_offset,
|
||||
)
|
||||
|
||||
if not rep:
|
||||
self.report({"ERROR"}, f"Failed to add transition - this kind of profiles is not yet supported.")
|
||||
return {"CANCELLED"}
|
||||
|
||||
middle_point = (start_point + end_point) / 2
|
||||
full_transition_length = transition_data["full_transition_length"] * si_conversion
|
||||
start_segment_extend_point = middle_point - transition_dir * full_transition_length / 2
|
||||
end_segment_extend_point = middle_point + transition_dir * full_transition_length / 2
|
||||
if full_transition_length >= entire_length:
|
||||
self.report(
|
||||
{"ERROR"},
|
||||
f"Failed to add transition - transition length is larger the segments and the distance between them.\n"
|
||||
+ f"Transition length: {full_transition_length:.2f}m, segments length: {entire_length:.2f}m",
|
||||
)
|
||||
# TODO: handle the case without creating a representation in the first place?
|
||||
ifcopenshell.api.run("geometry.remove_representation", ifc_file, representation=rep)
|
||||
return {"CANCELLED"}
|
||||
|
||||
middle_point = keep_only_z_axis((start_point + end_point) / 2 - start_point) + start_point
|
||||
start_segment_extend_point = middle_point - segments_dir * full_transition_length / 2
|
||||
end_segment_extend_point = middle_point + segments_dir * full_transition_length / 2 + profile_offset_ws
|
||||
transition_dir = keep_only_z_axis(end_segment_extend_point - start_segment_extend_point).normalized()
|
||||
DumbProfileJoiner().join_E(start_object, start_segment_extend_point)
|
||||
DumbProfileJoiner().join_E(end_object, end_segment_extend_point)
|
||||
|
||||
@@ -618,6 +733,10 @@ class MEPAddTransition(bpy.types.Operator, tool.Ifc.Operator):
|
||||
)
|
||||
|
||||
transition_type = fitting_data["fitting_type"] if fitting_data else None
|
||||
if transition_type:
|
||||
# TODO: handle the case without creating a representation in the first place?
|
||||
ifcopenshell.api.run("geometry.remove_representation", ifc_file, representation=rep)
|
||||
|
||||
start_port_match = fitting_data["start_port_match"] if fitting_data else True
|
||||
|
||||
if not transition_type:
|
||||
@@ -649,8 +768,9 @@ class MEPAddTransition(bpy.types.Operator, tool.Ifc.Operator):
|
||||
# adjust transition segment rotation and location
|
||||
transition_obj.matrix_world = start_object.matrix_world
|
||||
context.view_layer.update()
|
||||
|
||||
transition_obj_dir = tool.Cad.get_edge_direction(tool.Model.get_flow_segment_axis(transition_obj))
|
||||
direction_match = tool.Cad.are_vectors_equal(transition_obj_dir, transition_dir)
|
||||
direction_match = tool.Cad.are_vectors_equal(transition_dir, transition_obj_dir)
|
||||
|
||||
# if there are no mismatches or everything matches up we don't need to flip the transition
|
||||
if start_port_match != direction_match:
|
||||
|
||||
@@ -70,7 +70,10 @@ class FilledOpeningGenerator:
|
||||
)
|
||||
|
||||
if target is None:
|
||||
target = bpy.context.scene.cursor.location
|
||||
should_set_z_level = True
|
||||
target = bpy.context.scene.cursor.location.copy()
|
||||
else:
|
||||
should_set_z_level = False
|
||||
|
||||
# Sometimes, the voided_obj may be an aggregate, which won't have any representation.
|
||||
if voided_obj.data:
|
||||
@@ -86,12 +89,17 @@ class FilledOpeningGenerator:
|
||||
axis = tool.Model.get_wall_axis(voided_obj, layers=layers)["base"]
|
||||
|
||||
new_matrix = voided_obj.matrix_world.copy()
|
||||
new_matrix.translation = tool.Cad.point_on_edge(target, axis)
|
||||
point_on_axis = tool.Cad.point_on_edge(target, axis)
|
||||
new_matrix.translation.x = point_on_axis.x
|
||||
new_matrix.translation.y = point_on_axis.y
|
||||
|
||||
if filling.is_a("IfcDoor"):
|
||||
new_matrix.translation.z = voided_obj.matrix_world.translation.z
|
||||
if should_set_z_level:
|
||||
if filling.is_a("IfcDoor"):
|
||||
new_matrix.translation.z = voided_obj.matrix_world.translation.z
|
||||
else:
|
||||
new_matrix.translation.z = voided_obj.matrix_world.translation.z + props.rl2
|
||||
else:
|
||||
new_matrix.translation.z = voided_obj.matrix_world.translation.z + props.rl2
|
||||
new_matrix.translation.z = filling_obj.matrix_world.copy().translation.z
|
||||
|
||||
filling_obj.matrix_world = new_matrix
|
||||
bpy.context.view_layer.update()
|
||||
@@ -735,12 +743,19 @@ class EditOpenings(Operator, tool.Ifc.Operator):
|
||||
def _execute(self, context):
|
||||
props = bpy.context.scene.BIMModelProperties
|
||||
building_objs = set()
|
||||
model = tool.Ifc.get()
|
||||
all_openings = model.by_type("IfcOpeningElement")
|
||||
similar_openings = []
|
||||
|
||||
for obj in context.selected_objects:
|
||||
element = tool.Ifc.get_entity(obj)
|
||||
if not element:
|
||||
continue
|
||||
openings = [r.RelatedOpeningElement for r in element.HasOpenings]
|
||||
for opening in openings:
|
||||
for all_opening in all_openings:
|
||||
if all_opening.ObjectPlacement == opening.ObjectPlacement:
|
||||
similar_openings.append(all_opening)
|
||||
opening_obj = tool.Ifc.get_object(opening)
|
||||
if opening_obj:
|
||||
if tool.Ifc.is_edited(opening_obj):
|
||||
@@ -749,6 +764,8 @@ class EditOpenings(Operator, tool.Ifc.Operator):
|
||||
blenderbim.core.geometry.edit_object_placement(
|
||||
tool.Ifc, tool.Geometry, tool.Surveyor, obj=opening_obj
|
||||
)
|
||||
for similar_opening in similar_openings:
|
||||
similar_opening.ObjectPlacement = opening.ObjectPlacement
|
||||
building_objs.add(obj)
|
||||
building_objs.update(self.get_all_building_objects_of_similar_openings(opening))
|
||||
tool.Ifc.unlink(element=opening, obj=opening_obj)
|
||||
@@ -773,6 +790,34 @@ class EditOpenings(Operator, tool.Ifc.Operator):
|
||||
results.add(obj)
|
||||
return results
|
||||
|
||||
class CloneOpening(Operator, tool.Ifc.Operator):
|
||||
bl_idname = "bim.clone_opening"
|
||||
bl_label = "Clone Opening"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Create and assign to the selected element the selected opening and assign to it the same representation and object placement"
|
||||
|
||||
def _execute(self, context):
|
||||
objects = bpy.context.selected_objects
|
||||
|
||||
for obj in objects:
|
||||
entity = tool.Ifc.get_entity(obj)
|
||||
if entity.is_a() == "IfcWall":
|
||||
wall = entity
|
||||
continue
|
||||
if entity.is_a() == "IfcOpeningElement":
|
||||
opening = entity
|
||||
continue
|
||||
|
||||
opening_placement = opening.ObjectPlacement
|
||||
opening_representations = opening.Representation.Representations
|
||||
|
||||
new_opening = ifcopenshell.api.run("root.create_entity", tool.Ifc.get(), ifc_class="IfcOpeningElement")
|
||||
for representation in opening_representations:
|
||||
ifcopenshell.api.run("geometry.assign_representation", tool.Ifc.get(), product = new_opening, representation = representation)
|
||||
|
||||
ifcopenshell.api.run("void.add_opening", tool.Ifc.get(), opening = new_opening, element = wall)
|
||||
new_opening.ObjectPlacement = opening_placement
|
||||
return {"FINISHED"}
|
||||
|
||||
# TODO: merge with ProfileDecorator?
|
||||
class DecorationsHandler:
|
||||
|
||||
@@ -213,7 +213,7 @@ class AddConstrTypeInstance(bpy.types.Operator):
|
||||
tool.Ifc, tool.Collector, tool.Spatial, structure_obj=parent_obj, element_obj=obj
|
||||
)
|
||||
|
||||
# set occurences properties for the types defined with modifiers
|
||||
# set occurrences properties for the types defined with modifiers
|
||||
if instance_class in ["IfcWindow", "IfcDoor"]:
|
||||
pset_name = f"BBIM_{instance_class[3:]}"
|
||||
bbim_pset = ifcopenshell.util.element.get_psets(element).get(pset_name, None)
|
||||
|
||||
@@ -59,10 +59,10 @@ def update_railing_modifier_ifc_data(context):
|
||||
|
||||
# type attributes
|
||||
element.PredefinedType = "USERDEFINED"
|
||||
# occurences attributes
|
||||
occurences = tool.Ifc.get_all_element_occurences(element)
|
||||
for occurence in occurences:
|
||||
occurence.ObjectType = props.railing_type
|
||||
# occurrences attributes
|
||||
occurrences = tool.Ifc.get_all_element_occurrences(element)
|
||||
for occurrence in occurrences:
|
||||
occurrence.ObjectType = props.railing_type
|
||||
|
||||
# update pset
|
||||
pset_common = tool.Pset.get_element_pset(element, "Pset_RailingCommon")
|
||||
|
||||
@@ -40,10 +40,6 @@ from pprint import pprint
|
||||
# https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRoofType.htm
|
||||
|
||||
|
||||
def float_is_zero(f):
|
||||
return 0.0001 >= f >= -0.0001
|
||||
|
||||
|
||||
def bm_mesh_clean_up(bm):
|
||||
# remove internal edges and faces
|
||||
# adding missing faces so we could rely on `e.is_boundary` later
|
||||
@@ -99,7 +95,7 @@ def is_valid_roof_footprint(bm):
|
||||
# should be bmesh to support edit mode
|
||||
bm.verts.ensure_lookup_table()
|
||||
base_z = bm.verts[0].co.z
|
||||
all_verts_same_level = all([float_is_zero(v.co.z - base_z) for v in bm.verts[1:]])
|
||||
all_verts_same_level = all([tool.Cad.is_x(v.co.z - base_z, 0) for v in bm.verts[1:]])
|
||||
if not all_verts_same_level:
|
||||
return (
|
||||
{"ERROR"},
|
||||
@@ -202,7 +198,7 @@ def generate_hiped_roof_bmesh(
|
||||
|
||||
def find_identical_new_vert(co):
|
||||
for v in bm.verts:
|
||||
if float_is_zero((co - v.co).length):
|
||||
if tool.Cad.is_x((co - v.co).length, 0):
|
||||
return v
|
||||
|
||||
def find_other_polygon_verts(edge):
|
||||
@@ -234,7 +230,7 @@ def generate_hiped_roof_bmesh(
|
||||
bottom_chords_to_remove = []
|
||||
|
||||
def is_footprint_vert(v):
|
||||
return float_is_zero(v.co.z - footprint_z)
|
||||
return tool.Cad.is_x(v.co.z - footprint_z, 0)
|
||||
|
||||
def is_footprint_edge(edge):
|
||||
return all(is_footprint_vert(v) for v in edge.verts)
|
||||
@@ -326,7 +322,7 @@ def generate_hiped_roof_bmesh(
|
||||
default_offset_dir = Vector([0, 0, 1]) * roof_thickness
|
||||
footprint_verts = set()
|
||||
|
||||
if not float_is_zero(rafter_edge_angle):
|
||||
if not tool.Cad.is_x(rafter_edge_angle, 0):
|
||||
footprint_edges = []
|
||||
for edge in extruded_edges:
|
||||
if is_footprint_edge(edge):
|
||||
@@ -398,7 +394,7 @@ def update_roof_modifier_ifc_data(context):
|
||||
if not angle_layer:
|
||||
return False
|
||||
for edge_angle in angle_layer:
|
||||
if float_is_zero(edge_angle - pi / 2):
|
||||
if tool.Cad.is_x(edge_angle - pi / 2, 0):
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -406,8 +402,8 @@ def update_roof_modifier_ifc_data(context):
|
||||
if props.roof_type == "HIP/GABLE ROOF":
|
||||
element.PredefinedType = "GABLE_ROOF" if roof_is_gabled() else "HIP_ROOF"
|
||||
|
||||
# occurences attributes
|
||||
# occurences = tool.Ifc.get_all_element_occurences(element)
|
||||
# occurrences attributes
|
||||
# occurrences = tool.Ifc.get_all_element_occurrences(element)
|
||||
|
||||
tool.Ifc.edit(obj)
|
||||
|
||||
|
||||
@@ -95,19 +95,19 @@ class GenerateSpace(bpy.types.Operator, tool.Ifc.Operator):
|
||||
gross_settings.set(gross_settings.DISABLE_OPENING_SUBTRACTIONS, True)
|
||||
|
||||
for obj in bpy.context.visible_objects:
|
||||
element = tool.Ifc.get_entity(obj)
|
||||
visible_element = tool.Ifc.get_entity(obj)
|
||||
|
||||
if (
|
||||
not element
|
||||
not visible_element
|
||||
or obj.type != "MESH"
|
||||
or not self.is_bounding_class(element)
|
||||
or not self.is_bounding_class(visible_element)
|
||||
or not tool.Drawing.is_intersecting_plane(obj, self.cut_point, self.cut_normal)
|
||||
):
|
||||
continue
|
||||
|
||||
old_mesh = None
|
||||
if element.HasOpenings:
|
||||
new_mesh = self.create_mesh(ifcopenshell.geom.create_shape(gross_settings, element))
|
||||
if visible_element.HasOpenings:
|
||||
new_mesh = self.create_mesh(ifcopenshell.geom.create_shape(gross_settings, visible_element))
|
||||
old_mesh = obj.data
|
||||
obj.data = new_mesh
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ from mathutils import Vector
|
||||
# TODO: move to some utils helpers/tool module
|
||||
def update_simple_openings(element, opening_width, opening_height):
|
||||
ifc_file = tool.Ifc.get()
|
||||
fillings = tool.Ifc.get_all_element_occurences(element)
|
||||
fillings = tool.Ifc.get_all_element_occurrences(element)
|
||||
|
||||
voided_objs = set()
|
||||
has_replaced_opening_representation = False
|
||||
@@ -158,11 +158,11 @@ def update_window_modifier_representation(context, obj):
|
||||
if tool.Ifc.get_schema() != "IFC2X3":
|
||||
element.PartitioningType = props.window_type
|
||||
|
||||
# occurences attributes
|
||||
occurences = tool.Ifc.get_all_element_occurences(element)
|
||||
for occurence in occurences:
|
||||
occurence.OverallWidth = props.overall_width / si_conversion
|
||||
occurence.OverallHeight = props.overall_height / si_conversion
|
||||
# occurrences attributes
|
||||
occurrences = tool.Ifc.get_all_element_occurrences(element)
|
||||
for occurrence in occurrences:
|
||||
occurrence.OverallWidth = props.overall_width / si_conversion
|
||||
occurrence.OverallHeight = props.overall_height / si_conversion
|
||||
|
||||
update_simple_openings(element, props.overall_width / si_conversion, props.overall_height / si_conversion)
|
||||
|
||||
|
||||
@@ -51,6 +51,7 @@ class BimTool(WorkSpaceTool):
|
||||
("bim.hotkey", {"type": "K", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_K")]}),
|
||||
("bim.hotkey", {"type": "M", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_M")]}),
|
||||
("bim.hotkey", {"type": "O", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_O")]}),
|
||||
("bim.hotkey", {"type": "L", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_L")]}),
|
||||
("bim.hotkey", {"type": "Q", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_Q")]}),
|
||||
("bim.hotkey", {"type": "R", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_R")]}),
|
||||
("bim.hotkey", {"type": "T", "value": "PRESS", "shift": True}, {"properties": [("hotkey", "S_T")]}),
|
||||
@@ -393,6 +394,15 @@ class BimToolUI:
|
||||
else:
|
||||
row.operator("bim.show_openings", icon="HIDE_OFF", text="")
|
||||
|
||||
if AuthoringData.data["active_class"] in (
|
||||
"IfcOpeningElement",
|
||||
):
|
||||
if len(context.selected_objects) == 2:
|
||||
row = cls.layout.row(align=True)
|
||||
row.label(text="", icon="EVENT_SHIFT")
|
||||
row.label(text="", icon="EVENT_L")
|
||||
row.operator("bim.clone_opening", text="Clone Opening")
|
||||
|
||||
cls.layout.row(align=True).label(text="Align")
|
||||
add_layout_hotkey_operator(cls.layout, "Align Exterior", "S_X", "")
|
||||
add_layout_hotkey_operator(cls.layout, "Align Centerline", "S_C", "")
|
||||
@@ -726,6 +736,13 @@ class Hotkey(bpy.types.Operator, tool.Ifc.Operator):
|
||||
self.props.y = self.y
|
||||
self.props.z = self.z
|
||||
|
||||
def hotkey_S_L(self):
|
||||
if AuthoringData.data["active_class"] in (
|
||||
"IfcOpeningElement",
|
||||
):
|
||||
if len(bpy.context.selected_objects) == 2:
|
||||
bpy.ops.bim.clone_opening()
|
||||
|
||||
def hotkey_A_D(self):
|
||||
if not bpy.context.selected_objects:
|
||||
return
|
||||
|
||||
@@ -29,6 +29,7 @@ classes = (
|
||||
operator.EnableEditingArbitraryProfile,
|
||||
operator.EnableEditingProfile,
|
||||
operator.LoadProfiles,
|
||||
operator.PurgeUnusedProfiles,
|
||||
operator.RemoveProfileDef,
|
||||
prop.Profile,
|
||||
prop.BIMProfileProperties,
|
||||
|
||||
@@ -36,6 +36,7 @@ class ProfileData:
|
||||
def load(cls):
|
||||
cls.data = {
|
||||
"total_profiles": cls.total_profiles(),
|
||||
"active_profile_users": cls.active_profile_users(),
|
||||
"profile_classes": cls.profile_classes(),
|
||||
"is_arbitrary_profile": cls.is_arbitrary_profile(),
|
||||
"is_editing_arbitrary_profile": cls.is_editing_arbitrary_profile(),
|
||||
@@ -46,6 +47,13 @@ class ProfileData:
|
||||
def total_profiles(cls):
|
||||
return len([p for p in tool.Ifc.get().by_type("IfcProfileDef") if p.ProfileName])
|
||||
|
||||
@classmethod
|
||||
def active_profile_users(cls):
|
||||
profiles_props = bpy.context.scene.BIMProfileProperties
|
||||
profile_prop = profiles_props.profiles[profiles_props.active_profile_index]
|
||||
profile_ifc = tool.Ifc.get().by_id(profile_prop.ifc_definition_id)
|
||||
return tool.Ifc.get().get_total_inverses(profile_ifc)
|
||||
|
||||
@classmethod
|
||||
def profile_classes(cls):
|
||||
classes = ["IfcArbitraryClosedProfileDef"]
|
||||
@@ -72,4 +80,9 @@ class ProfileData:
|
||||
@classmethod
|
||||
def is_editing_arbitrary_profile(cls):
|
||||
obj = bpy.context.active_object
|
||||
return obj and obj.data and hasattr(obj.data, "BIMMeshProperties") and obj.data.BIMMeshProperties.subshape_type == "PROFILE"
|
||||
return (
|
||||
obj
|
||||
and obj.data
|
||||
and hasattr(obj.data, "BIMMeshProperties")
|
||||
and obj.data.BIMMeshProperties.subshape_type == "PROFILE"
|
||||
)
|
||||
|
||||
@@ -21,6 +21,7 @@ import ifcopenshell.api
|
||||
import blenderbim.bim.helper
|
||||
import blenderbim.tool as tool
|
||||
import blenderbim.bim.module.model.profile as model_profile
|
||||
import blenderbim.core.profile as core
|
||||
from blenderbim.bim.module.model.decorator import ProfileDecorator
|
||||
from blenderbim.bim.module.profile.prop import generate_thumbnail_for_active_profile
|
||||
from blenderbim.bim.module.profile.data import refresh
|
||||
@@ -213,3 +214,16 @@ class EditArbitraryProfile(bpy.types.Operator, tool.Ifc.Operator):
|
||||
props.active_arbitrary_profile_id = 0
|
||||
|
||||
model_profile.DumbProfileRegenerator().regenerate_from_profile_def(profile)
|
||||
|
||||
|
||||
class PurgeUnusedProfiles(bpy.types.Operator, tool.Ifc.Operator):
|
||||
bl_idname = "bim.purge_unused_profiles"
|
||||
bl_label = "Purge Unused Profiles"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
|
||||
def _execute(self, context):
|
||||
props = context.scene.BIMProfileProperties
|
||||
core.purge_unused_profiles(tool.Ifc, tool.Profile)
|
||||
if props.is_editing:
|
||||
refresh()
|
||||
bpy.ops.bim.load_profiles()
|
||||
|
||||
@@ -49,10 +49,14 @@ class Profile(PropertyGroup):
|
||||
ifc_definition_id: IntProperty(name="IFC Definition ID")
|
||||
|
||||
|
||||
def update_active_profile_index(self, context):
|
||||
ProfileData.data["active_profile_users"] = ProfileData.active_profile_users()
|
||||
|
||||
|
||||
class BIMProfileProperties(PropertyGroup):
|
||||
is_editing: BoolProperty(name="Is Editing")
|
||||
profiles: CollectionProperty(name="Profiles", type=Profile)
|
||||
active_profile_index: IntProperty(name="Active Profile Index")
|
||||
active_profile_index: IntProperty(name="Active Profile Index", update=update_active_profile_index)
|
||||
active_profile_id: IntProperty(name="Active Profile Id")
|
||||
active_arbitrary_profile_id: IntProperty(name="Active Arbitrary Profile Id")
|
||||
profile_attributes: CollectionProperty(name="Profile Attributes", type=Attribute)
|
||||
|
||||
@@ -79,17 +79,23 @@ class BIM_PT_profiles(Panel):
|
||||
self.props,
|
||||
"active_profile_index",
|
||||
)
|
||||
if active_profile and active_profile.ifc_class in (
|
||||
"IfcArbitraryClosedProfileDef",
|
||||
"IfcArbitraryProfileDefWithVoids",
|
||||
):
|
||||
if self.props.active_arbitrary_profile_id:
|
||||
row = self.layout.row(align=True)
|
||||
row.operator("bim.edit_arbitrary_profile", text="Save Arbitrary Profile", icon="CHECKMARK")
|
||||
row.operator("bim.disable_editing_arbitrary_profile", text="", icon="CANCEL")
|
||||
else:
|
||||
row = self.layout.row()
|
||||
row.operator("bim.enable_editing_arbitrary_profile", text="Edit Arbitrary Profile", icon="GREASEPENCIL")
|
||||
if active_profile:
|
||||
if active_profile.ifc_class in (
|
||||
"IfcArbitraryClosedProfileDef",
|
||||
"IfcArbitraryProfileDefWithVoids",
|
||||
):
|
||||
if self.props.active_arbitrary_profile_id:
|
||||
row = self.layout.row(align=True)
|
||||
row.operator("bim.edit_arbitrary_profile", text="Save Arbitrary Profile", icon="CHECKMARK")
|
||||
row.operator("bim.disable_editing_arbitrary_profile", text="", icon="CANCEL")
|
||||
else:
|
||||
row = self.layout.row()
|
||||
row.operator(
|
||||
"bim.enable_editing_arbitrary_profile", text="Edit Arbitrary Profile", icon="GREASEPENCIL"
|
||||
)
|
||||
|
||||
users_of_profile = ProfileData.data["active_profile_users"]
|
||||
self.layout.label(icon="INFO", text=f"Profile has {users_of_profile} inverse relationship(s) in project")
|
||||
|
||||
if self.props.active_profile_id:
|
||||
self.draw_editable_ui(context)
|
||||
|
||||
@@ -41,6 +41,7 @@ classes = (
|
||||
operator.SaveLibraryFile,
|
||||
operator.SelectLibraryFile,
|
||||
operator.ToggleFilterCategories,
|
||||
operator.ToggleLinkSelectability,
|
||||
operator.ToggleLinkVisibility,
|
||||
operator.UnassignLibraryDeclaration,
|
||||
operator.UnlinkIfc,
|
||||
@@ -55,6 +56,7 @@ classes = (
|
||||
ui.BIM_PT_project,
|
||||
ui.BIM_PT_project_library,
|
||||
ui.BIM_PT_links,
|
||||
ui.BIM_PT_purge,
|
||||
ui.BIM_UL_library,
|
||||
ui.BIM_UL_filter_categories,
|
||||
ui.BIM_UL_links,
|
||||
|
||||
@@ -880,6 +880,27 @@ class LoadLink(bpy.types.Operator):
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class ToggleLinkSelectability(bpy.types.Operator):
|
||||
bl_idname = "bim.toggle_link_selectability"
|
||||
bl_label = "Toggle Link Selectability"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Toggle selectability"
|
||||
link: bpy.props.StringProperty()
|
||||
|
||||
def execute(self, context):
|
||||
props = context.scene.BIMProjectProperties
|
||||
link = props.links.get(self.link)
|
||||
for collection in self.get_linked_collections():
|
||||
collection.hide_select = not collection.hide_select
|
||||
link.is_selectable = not collection.hide_select
|
||||
return {"FINISHED"}
|
||||
|
||||
def get_linked_collections(self):
|
||||
return [
|
||||
c for c in bpy.data.collections if "IfcProject" in c.name and c.library and c.library.filepath == self.link
|
||||
]
|
||||
|
||||
|
||||
class ToggleLinkVisibility(bpy.types.Operator):
|
||||
bl_idname = "bim.toggle_link_visibility"
|
||||
bl_label = "Toggle Link Visibility"
|
||||
|
||||
@@ -93,6 +93,7 @@ class FilterCategory(PropertyGroup):
|
||||
class Link(PropertyGroup):
|
||||
name: StringProperty(name="Name")
|
||||
is_loaded: BoolProperty(name="Is Loaded", default=False)
|
||||
is_selectable: BoolProperty(name="Is Selectable", default=True)
|
||||
is_wireframe: BoolProperty(name="Is Wireframe", default=False)
|
||||
is_hidden: BoolProperty(name="Is Hidden", default=False)
|
||||
|
||||
|
||||
@@ -350,6 +350,13 @@ class BIM_UL_links(UIList):
|
||||
row = layout.row(align=True)
|
||||
if item.is_loaded:
|
||||
row.label(text=item.name)
|
||||
op = row.operator(
|
||||
"bim.toggle_link_selectability",
|
||||
text="",
|
||||
icon="RESTRICT_SELECT_OFF" if item.is_selectable else "RESTRICT_SELECT_ON",
|
||||
emboss=False,
|
||||
)
|
||||
op.link = item.name
|
||||
op = row.operator(
|
||||
"bim.toggle_link_visibility",
|
||||
text="",
|
||||
@@ -374,3 +381,18 @@ class BIM_UL_links(UIList):
|
||||
op.filepath = item.name
|
||||
op = row.operator("bim.unlink_ifc", text="", icon="X")
|
||||
op.filepath = item.name
|
||||
|
||||
|
||||
class BIM_PT_purge(Panel):
|
||||
bl_label = "Purge Data"
|
||||
bl_options = {"DEFAULT_CLOSED"}
|
||||
bl_space_type = "PROPERTIES"
|
||||
bl_region_type = "WINDOW"
|
||||
bl_context = "scene"
|
||||
bl_parent_id = "BIM_PT_tab_quality_control"
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.operator("bim.purge_unused_profiles")
|
||||
layout.operator("bim.purge_unused_types")
|
||||
layout.operator("bim.purge_unused_representations")
|
||||
|
||||
@@ -398,6 +398,7 @@ class CalculateQuantity(bpy.types.Operator):
|
||||
bl_idname = "bim.calculate_quantity"
|
||||
bl_label = "Calculate Quantity"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Calculates the quantity with a defined formula for this exact entity and quantity"
|
||||
prop: bpy.props.StringProperty()
|
||||
|
||||
def execute(self, context):
|
||||
@@ -424,6 +425,10 @@ class GuessQuantity(bpy.types.Operator):
|
||||
bl_idname = "bim.guess_quantity"
|
||||
bl_label = "Guess Quantity"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = (
|
||||
"Calculate the quantity by guessing the formula from the quantity name. "
|
||||
"Less reliable than Calculate Quantity"
|
||||
)
|
||||
prop: bpy.props.StringProperty()
|
||||
|
||||
def execute(self, context):
|
||||
@@ -450,7 +455,13 @@ class CopyPropertyToSelection(bpy.types.Operator, Operator):
|
||||
else:
|
||||
is_pset = context.active_object.PsetProperties.active_pset_type == "PSET"
|
||||
pset_name = context.active_object.PsetProperties.active_pset_name
|
||||
prop_value = context.active_object.PsetProperties.properties.get(self.name).metadata.get_value()
|
||||
prop = context.active_object.PsetProperties.properties.get(self.name)
|
||||
if prop.value_type == "IfcPropertySingleValue":
|
||||
prop_value = prop.metadata.get_value()
|
||||
elif prop.value_type == "IfcPropertyEnumeratedValue":
|
||||
value_name = prop.metadata.get_value_name()
|
||||
prop_value = [e[value_name] for e in prop.enumerated_value.enumerated_values if e.is_selected]
|
||||
|
||||
for obj in tool.Blender.get_selected_objects():
|
||||
core.copy_property_to_selection(
|
||||
tool.Ifc,
|
||||
|
||||
@@ -71,6 +71,9 @@ def draw_enumerated_property(prop, layout, copy_operator=None):
|
||||
grid = layout.column_flow(columns=3)
|
||||
for e in prop.enumerated_value.enumerated_values:
|
||||
grid.prop(e, "is_selected", text=str(e[value_name]))
|
||||
if copy_operator:
|
||||
op = layout.operator(f"{copy_operator}", text="", icon="COPYDOWN")
|
||||
op.name = prop.metadata.name
|
||||
|
||||
|
||||
def get_active_pset_obj_name(context, obj_type):
|
||||
@@ -370,6 +373,7 @@ class BIM_PT_task_qtos(Panel):
|
||||
bl_region_type = "WINDOW"
|
||||
bl_context = "scene"
|
||||
bl_parent_id = "BIM_PT_work_schedules"
|
||||
bl_order = 2
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
@@ -510,6 +514,7 @@ class BIM_PT_work_schedule_psets(Panel):
|
||||
bl_region_type = "WINDOW"
|
||||
bl_context = "scene"
|
||||
bl_parent_id = "BIM_PT_work_schedules"
|
||||
bl_order = 3
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
|
||||
import os
|
||||
import bpy
|
||||
import pathlib
|
||||
import ifcopenshell
|
||||
import blenderbim.tool as tool
|
||||
from blenderbim.bim.ifc import IfcStore
|
||||
@@ -51,17 +52,23 @@ class PsetTemplatesData:
|
||||
|
||||
@classmethod
|
||||
def pset_template_files(cls):
|
||||
files = os.listdir(os.path.join(bpy.context.scene.BIMProperties.data_dir, "pset"))
|
||||
return [(f.replace(".ifc", ""), f.replace(".ifc", ""), "") for f in files]
|
||||
results = []
|
||||
pset_dir = os.path.join(bpy.context.scene.BIMProperties.data_dir, "pset")
|
||||
files = os.listdir(pset_dir)
|
||||
for f in files:
|
||||
results.append((os.path.join(pset_dir, f), f.strip(".ifc"), "Global Pset Template"))
|
||||
|
||||
pset_dir = tool.Ifc.resolve_uri(bpy.context.scene.BIMProperties.pset_dir)
|
||||
if os.path.isdir(pset_dir):
|
||||
for path in pathlib.Path(pset_dir).glob("*.ifc"):
|
||||
results.append((str(path), os.path.basename(str(path)).strip(".ifc"), "Project Pset Template"))
|
||||
|
||||
return sorted(results, key=lambda x: x[1])
|
||||
|
||||
@classmethod
|
||||
def pset_templates(cls):
|
||||
if not IfcStore.pset_template_file:
|
||||
IfcStore.pset_template_path = os.path.join(
|
||||
bpy.context.scene.BIMProperties.data_dir,
|
||||
"pset",
|
||||
bpy.context.scene.BIMPsetTemplateProperties.pset_template_files + ".ifc",
|
||||
)
|
||||
IfcStore.pset_template_path = bpy.context.scene.BIMPsetTemplateProperties.pset_template_files
|
||||
IfcStore.pset_template_file = ifcopenshell.open(IfcStore.pset_template_path)
|
||||
return [(str(t.id()), t.Name, "") for t in IfcStore.pset_template_file.by_type("IfcPropertySetTemplate")]
|
||||
|
||||
|
||||
@@ -20,36 +20,40 @@ import bpy
|
||||
from . import ui, prop, operator
|
||||
|
||||
classes = (
|
||||
operator.DisableResourceEditingUI,
|
||||
operator.DisableEditingResource,
|
||||
operator.EnableEditingResource,
|
||||
operator.LoadResources,
|
||||
operator.AddResource,
|
||||
operator.AddResourceQuantity,
|
||||
operator.EditResource,
|
||||
operator.RemoveResource,
|
||||
operator.RemoveResourceQuantity,
|
||||
operator.LoadResourceProperties,
|
||||
operator.ExpandResource,
|
||||
operator.ContractResource,
|
||||
operator.AssignResource,
|
||||
operator.UnassignResource,
|
||||
operator.EnableEditingResourceTime,
|
||||
operator.EnableEditingResourceQuantity,
|
||||
operator.EnableEditingResourceBaseQuantity,
|
||||
operator.EnableEditingResourceCosts,
|
||||
operator.EnableEditingResourceCostValueFormula,
|
||||
operator.EnableEditingResourceCostValue,
|
||||
operator.EditResourceTime,
|
||||
operator.EditResourceQuantity,
|
||||
operator.CalculateResourceWork,
|
||||
operator.ConstrainResourceWork,
|
||||
operator.ContractResource,
|
||||
operator.DisableEditingResource,
|
||||
operator.DisableEditingResourceCostValue,
|
||||
operator.DisableEditingResourceQuantity,
|
||||
operator.DisableEditingResourceTime,
|
||||
operator.DisableResourceEditingUI,
|
||||
operator.EditProductivityData,
|
||||
operator.EditResource,
|
||||
operator.EditResourceCostValue,
|
||||
operator.EditResourceCostValueFormula,
|
||||
operator.DisableEditingResourceTime,
|
||||
operator.DisableEditingResourceQuantity,
|
||||
operator.DisableEditingResourceCostValue,
|
||||
operator.CalculateResourceWork,
|
||||
operator.EditResourceQuantity,
|
||||
operator.EditResourceTime,
|
||||
operator.EnableEditingResource,
|
||||
operator.EnableEditingResourceBaseQuantity,
|
||||
operator.EnableEditingResourceCosts,
|
||||
operator.EnableEditingResourceCostValue,
|
||||
operator.CalculateResourceUsage,
|
||||
operator.EnableEditingResourceCostValueFormula,
|
||||
operator.EnableEditingResourceQuantity,
|
||||
operator.EnableEditingResourceTime,
|
||||
operator.ExpandResource,
|
||||
operator.GoToResource,
|
||||
operator.ImportResources,
|
||||
operator.EditProductivityData,
|
||||
operator.LoadResourceProperties,
|
||||
operator.LoadResources,
|
||||
operator.RemoveResource,
|
||||
operator.RemoveResourceQuantity,
|
||||
operator.RemoveUsageConstraint,
|
||||
operator.UnassignResource,
|
||||
prop.Resource,
|
||||
prop.BIMResourceProperties,
|
||||
prop.BIMResourceTreeProperties,
|
||||
|
||||
@@ -56,8 +56,10 @@ class ResourceData:
|
||||
"type": resource.is_a(),
|
||||
"BaseQuantity": base_quantity,
|
||||
}
|
||||
results[resource.id()]["Benchmarks"] = cls.get_resource_benchmarks(resource)
|
||||
if resource.is_a() in ["IfcLaborResource", "IfcConstructionEquipmentResource"]:
|
||||
results[resource.id()]["Productivity"] = {}
|
||||
results[resource.id()]["InheritedProductivity"] = {}
|
||||
productivity = cls.get_productivity(resource)
|
||||
if productivity:
|
||||
results[resource.id()]["Productivity"] = {
|
||||
@@ -65,12 +67,50 @@ class ResourceData:
|
||||
"TimeConsumed": ifcopenshell.util.resource.get_unit_consumed(productivity),
|
||||
"QuantityProducedName": ifcopenshell.util.resource.get_quantity_produced_name(productivity),
|
||||
}
|
||||
inherited_productivity = cls.get_parent_productivity(resource)
|
||||
if inherited_productivity:
|
||||
results[resource.id()]["InheritedProductivity"] = {
|
||||
"QuantityProduced": ifcopenshell.util.resource.get_quantity_produced(inherited_productivity),
|
||||
"TimeConsumed": ifcopenshell.util.resource.get_unit_consumed(inherited_productivity),
|
||||
"QuantityProducedName": ifcopenshell.util.resource.get_quantity_produced_name(
|
||||
inherited_productivity
|
||||
),
|
||||
}
|
||||
if resource.Usage:
|
||||
results[resource.id()]["ScheduleWork"] = (
|
||||
ifcopenshell.util.date.readable_ifc_duration(resource.Usage.ScheduleWork)
|
||||
if resource.Usage.ScheduleWork
|
||||
else None
|
||||
)
|
||||
results[resource.id()]["ScheduleUsage"] = (
|
||||
resource.Usage.ScheduleUsage if resource.Usage.ScheduleUsage else None
|
||||
)
|
||||
return results
|
||||
|
||||
@classmethod
|
||||
def get_resource_benchmarks(cls, resource):
|
||||
constraints = []
|
||||
for constraint in ifcopenshell.util.constraint.get_constraints(resource) or []:
|
||||
metrics = []
|
||||
for metric in ifcopenshell.util.constraint.get_metrics(constraint) or []:
|
||||
metrics.append(
|
||||
{
|
||||
"reference": ifcopenshell.util.constraint.get_metric_reference(metric),
|
||||
"Benchmark": metric.Benchmark,
|
||||
"ConstraintGrade": metric.ConstraintGrade,
|
||||
}
|
||||
)
|
||||
constraints.append({"ObjectiveQualifier": constraint.ObjectiveQualifier, "metrics": metrics})
|
||||
return constraints
|
||||
|
||||
@classmethod
|
||||
def get_productivity(cls, resource):
|
||||
return ifcopenshell.util.resource.get_productivity(resource, should_inherit=False)
|
||||
|
||||
@classmethod
|
||||
def get_parent_productivity(cls, resource):
|
||||
return ifcopenshell.util.resource.get_parent_productivity(resource)
|
||||
|
||||
@classmethod
|
||||
def cost_values(cls):
|
||||
results = []
|
||||
|
||||
@@ -198,6 +198,13 @@ class CalculateResourceWork(bpy.types.Operator, tool.Ifc.Operator):
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
resource: bpy.props.IntProperty()
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
active_resource = tool.Resource.get_highlighted_resource()
|
||||
if active_resource:
|
||||
if tool.Resource.get_productivity(active_resource, should_inherit=True):
|
||||
return True
|
||||
|
||||
def _execute(self, context):
|
||||
core.calculate_resource_work(tool.Ifc, tool.Resource, resource=tool.Ifc.get().by_id(self.resource))
|
||||
|
||||
@@ -334,7 +341,7 @@ class EditResourceQuantity(bpy.types.Operator, tool.Ifc.Operator):
|
||||
|
||||
class ImportResources(bpy.types.Operator, tool.Ifc.Operator, ImportHelper):
|
||||
bl_idname = "import_resources.bim"
|
||||
bl_label = "Import P6"
|
||||
bl_label = "Import Resources"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
filename_ext = ".csv"
|
||||
filter_glob: bpy.props.StringProperty(default="*.csv", options={"HIDDEN"})
|
||||
@@ -356,3 +363,61 @@ class EditProductivityData(bpy.types.Operator, tool.Ifc.Operator):
|
||||
|
||||
def _execute(self, context):
|
||||
core.edit_productivity_pset(tool.Ifc, tool.Resource)
|
||||
|
||||
|
||||
class ConstrainResourceWork(bpy.types.Operator, tool.Ifc.Operator):
|
||||
bl_idname = "bim.add_usage_constraint"
|
||||
bl_label = "Constrain Resource Work"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
resource: bpy.props.IntProperty()
|
||||
attribute: bpy.props.StringProperty()
|
||||
|
||||
def _execute(self, context):
|
||||
core.add_usage_constraint(
|
||||
tool.Ifc, tool.Resource, resource=tool.Ifc.get().by_id(self.resource), reference_path=self.attribute
|
||||
)
|
||||
|
||||
|
||||
class RemoveUsageConstraint(bpy.types.Operator, tool.Ifc.Operator):
|
||||
bl_idname = "bim.remove_usage_constraint"
|
||||
bl_label = "Remove Usage Constraint"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
resource: bpy.props.IntProperty()
|
||||
attribute: bpy.props.StringProperty()
|
||||
|
||||
def _execute(self, context):
|
||||
core.remove_usage_constraint(
|
||||
tool.Ifc, tool.Resource, resource=tool.Ifc.get().by_id(self.resource), reference_path=self.attribute
|
||||
)
|
||||
|
||||
|
||||
class GoToResource(bpy.types.Operator):
|
||||
bl_idname = "bim.go_to_resource"
|
||||
bl_label = "Go To Resource"
|
||||
bl_description = "Selects the resource in the Resource Panel"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
resource: bpy.props.IntProperty()
|
||||
|
||||
def execute(self, context):
|
||||
core.go_to_resource(tool.Resource, resource=tool.Ifc.get().by_id(self.resource))
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class CalculateResourceUsage(bpy.types.Operator, tool.Ifc.Operator):
|
||||
bl_idname = "bim.calculate_resource_usage"
|
||||
bl_label = "Calculate Resource Usage"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
resource: bpy.props.IntProperty()
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
active_resource = tool.Resource.get_highlighted_resource()
|
||||
if active_resource:
|
||||
if active_resource.Usage and active_resource.Usage.ScheduleWork:
|
||||
task = tool.Resource.get_task_assignments(active_resource)
|
||||
if task and tool.Sequence.has_duration(task):
|
||||
return True
|
||||
return False
|
||||
|
||||
def _execute(self, context):
|
||||
core.calculate_resource_usage(tool.Ifc, tool.Resource, resource=tool.Ifc.get().by_id(self.resource))
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# BlenderBIM Add-on - OpenBIM Blender Add-on
|
||||
# Copyright (C) 2020, 2021 Dion Moult <dion@thinkmoult.com>
|
||||
# Copyright (C) 2021, 2022, 2023 Dion Moult, Yassine Oualid <dion@thinkmoult.com>
|
||||
#
|
||||
# This file is part of BlenderBIM Add-on.
|
||||
#
|
||||
@@ -22,6 +22,8 @@ import ifcopenshell.util.resource
|
||||
from blenderbim.bim.ifc import IfcStore
|
||||
import blenderbim.tool as tool
|
||||
import blenderbim.bim.module.pset.data
|
||||
import blenderbim.bim.module.resource.data
|
||||
import blenderbim.bim.module.sequence.data
|
||||
from blenderbim.bim.prop import StrProperty, Attribute
|
||||
from bpy.types import PropertyGroup
|
||||
from bpy.props import (
|
||||
@@ -56,6 +58,8 @@ def updateResourceName(self, context):
|
||||
if props.active_resource_id == self.ifc_definition_id:
|
||||
attribute = props.resource_attributes.get("Name")
|
||||
attribute.string_value = self.name
|
||||
blenderbim.bim.module.resource.data.refresh()
|
||||
tool.Sequence.refresh_task_resources()
|
||||
|
||||
|
||||
def get_quantity_types(self, context):
|
||||
@@ -72,7 +76,7 @@ def get_quantity_types(self, context):
|
||||
|
||||
def update_active_resource_index(self, context):
|
||||
blenderbim.bim.module.pset.data.refresh()
|
||||
if self.should_show_productivity:
|
||||
if self.should_show_resource_tools:
|
||||
tool.Resource.load_productivity_data()
|
||||
|
||||
|
||||
@@ -84,14 +88,13 @@ def updateResourceUsage(self, context):
|
||||
if self.schedule_usage == "":
|
||||
return
|
||||
resource = tool.Ifc.get().by_id(self.ifc_definition_id)
|
||||
if not resource.Usage:
|
||||
tool.Ifc.run(
|
||||
"resource.add_resource_time",
|
||||
resource=resource,
|
||||
)
|
||||
resource.Usage.ScheduleUsage = self.schedule_usage
|
||||
blenderbim.bim.module.pset.data.refresh()
|
||||
tool.Resource.run_edit_resource_time(resource, attributes={"ScheduleUsage": self.schedule_usage})
|
||||
tool.Resource.load_resource_properties()
|
||||
tool.Sequence.load_task_properties()
|
||||
blenderbim.bim.module.resource.data.refresh()
|
||||
blenderbim.bim.module.sequence.data.refresh()
|
||||
tool.Sequence.refresh_task_resources()
|
||||
blenderbim.bim.module.pset.data.refresh()
|
||||
|
||||
|
||||
class ISODuration(PropertyGroup):
|
||||
@@ -144,7 +147,7 @@ class BIMResourceProperties(PropertyGroup):
|
||||
quantity_types: EnumProperty(items=get_quantity_types, name="Quantity Types")
|
||||
is_editing_quantity: BoolProperty(name="Is Editing Quantity")
|
||||
quantity_attributes: CollectionProperty(name="Quantity Attributes", type=Attribute)
|
||||
should_show_productivity: BoolProperty(name="Edit Productivity", update=update_active_resource_index)
|
||||
should_show_resource_tools: BoolProperty(name="Edit Productivity", update=update_active_resource_index)
|
||||
|
||||
|
||||
class BIMResourceProductivity(PropertyGroup):
|
||||
|
||||
@@ -20,20 +20,21 @@ import blenderbim.bim.helper
|
||||
from bpy.types import Panel, UIList
|
||||
from blenderbim.bim.ifc import IfcStore
|
||||
from blenderbim.bim.module.resource.data import ResourceData
|
||||
import blenderbim.tool as tool
|
||||
|
||||
|
||||
class BIM_PT_resources(Panel):
|
||||
bl_label = "Resources"
|
||||
bl_idname = "BIM_PT_resources"
|
||||
bl_options = {"DEFAULT_CLOSED"}
|
||||
bl_space_type = "PROPERTIES"
|
||||
bl_region_type = "WINDOW"
|
||||
bl_context = "scene"
|
||||
bl_parent_id = "BIM_PT_tab_resources"
|
||||
bl_options = {"HIDE_HEADER"}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return tool.Blender.is_tab(context, "SCHEDULING") and tool.Ifc.get() and tool.Ifc.get().schema != "IFC2X3"
|
||||
file = IfcStore.get_file()
|
||||
return file and hasattr(file, "schema") and file.schema != "IFC2X3"
|
||||
|
||||
def draw(self, context):
|
||||
self.props = context.scene.BIMResourceProperties
|
||||
@@ -64,11 +65,8 @@ class BIM_PT_resources(Panel):
|
||||
self.props,
|
||||
"active_resource_index",
|
||||
)
|
||||
row = self.layout.row(align=True)
|
||||
row.alignment = "RIGHT"
|
||||
row.prop(self.props, "should_show_productivity", icon="RECOVER_LAST")
|
||||
if self.props.should_show_productivity:
|
||||
self.draw_productivity_ui(context)
|
||||
self.draw_productivity_ui(context)
|
||||
|
||||
if self.props.active_resource_id and self.props.editing_resource_type == "ATTRIBUTES":
|
||||
self.draw_editable_resource_attributes_ui()
|
||||
elif self.props.active_resource_id and self.props.editing_resource_type == "QUANTITY":
|
||||
@@ -79,43 +77,116 @@ class BIM_PT_resources(Panel):
|
||||
self.draw_editable_resource_time_attributes_ui()
|
||||
|
||||
def draw_productivity_ui(self, context):
|
||||
total_resources = len(self.tprops.resources)
|
||||
if not total_resources or self.props.active_resource_index >= total_resources:
|
||||
return
|
||||
|
||||
ifc_definition_id = self.tprops.resources[self.props.active_resource_index].ifc_definition_id
|
||||
resource = ResourceData.data["resources"][ifc_definition_id]
|
||||
|
||||
if not resource["type"] in ["IfcConstructionEquipmentResource", "IfcLaborResource"]:
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text="Resource type cannot have productivity data", icon="ERROR")
|
||||
return
|
||||
|
||||
self.productivity_props = context.scene.BIMResourceProductivity
|
||||
|
||||
if resource["Productivity"]:
|
||||
produtivitiy_rate_message = "Current Rate: {}/{}".format(
|
||||
resource["Productivity"]["QuantityProduced"], resource["Productivity"]["TimeConsumed"]
|
||||
)
|
||||
row = self.layout.row()
|
||||
row.alignment = "LEFT"
|
||||
row.label(text=produtivitiy_rate_message, icon="ARMATURE_DATA")
|
||||
else:
|
||||
row = self.layout.row(align=True)
|
||||
row.alignment = "LEFT"
|
||||
produtivitiy_rate_message = "No productivity data found"
|
||||
row.label(text=produtivitiy_rate_message, icon="ARMATURE_DATA")
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.alignment = "RIGHT"
|
||||
row.prop(self.productivity_props, "quantity_produced", text="Quantity Produced")
|
||||
row.prop(self.productivity_props, "quantity_produced_name", text="Quantity Name")
|
||||
row = self.layout.row()
|
||||
row.alignment = "RIGHT"
|
||||
self.draw_duration_property(self.productivity_props.quantity_consumed, row)
|
||||
row = self.layout.row()
|
||||
row.alignment = "RIGHT"
|
||||
row.operator("bim.edit_productivity_data", text="Apply", icon="CHECKMARK")
|
||||
row.prop(self.props, "should_show_resource_tools", text="Resource Tools",icon="RECOVER_LAST")
|
||||
if self.props.should_show_resource_tools:
|
||||
total_resources = len(self.tprops.resources)
|
||||
if not total_resources or self.props.active_resource_index >= total_resources:
|
||||
return
|
||||
|
||||
ifc_definition_id = self.tprops.resources[self.props.active_resource_index].ifc_definition_id
|
||||
resource = ResourceData.data["resources"][ifc_definition_id]
|
||||
|
||||
if not resource["type"] in ["IfcConstructionEquipmentResource", "IfcLaborResource"]:
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text="Resource type cannot have productivity data", icon="ERROR")
|
||||
else:
|
||||
is_usage_locked = False
|
||||
is_work_locked = False
|
||||
for constraint in resource["Benchmarks"] or []:
|
||||
for metric in constraint["metrics"] or []:
|
||||
if (
|
||||
metric["ConstraintGrade"] == "HARD"
|
||||
and metric["reference"]
|
||||
and metric["reference"] == "Usage.ScheduleUsage"
|
||||
):
|
||||
is_usage_locked = True
|
||||
elif (
|
||||
metric["ConstraintGrade"] == "HARD"
|
||||
and metric["reference"]
|
||||
and metric["reference"] == "Usage.ScheduleWork"
|
||||
):
|
||||
is_work_locked = True
|
||||
grid = self.layout.grid_flow(columns=3, even_columns=False, even_rows=False, align=False)
|
||||
|
||||
col1 = grid.column(align=True)
|
||||
col2 = grid.column(align=False)
|
||||
col3 = grid.column(align=True)
|
||||
col1.ui_units_x = 1
|
||||
col2.ui_units_x = 1
|
||||
col3.ui_units_x = 2
|
||||
|
||||
row1_col1 = col1.row()
|
||||
row1_col1.label(text="Schedule Work")
|
||||
row1col2 = col2.row()
|
||||
row1col2.label(text=resource.get("ScheduleWork", "-"), icon="TIME")
|
||||
|
||||
row1col3 = col3.row()
|
||||
row1col3.operator("bim.calculate_resource_work", text="", icon="TEMP").resource = ifc_definition_id
|
||||
op = row1col3.operator(
|
||||
"bim.add_usage_constraint" if not is_work_locked else "bim.remove_usage_constraint",
|
||||
text="",
|
||||
icon="LOCKED" if is_work_locked else "UNLOCKED",
|
||||
)
|
||||
op.resource = ifc_definition_id
|
||||
op.attribute = "Usage.ScheduleWork"
|
||||
row2_col1 = col1.row()
|
||||
row2_col1.label(text="Schedule Usage")
|
||||
row2col2 = col2.row()
|
||||
row2col2.prop(self.tprops.resources[self.props.active_resource_index], "schedule_usage", text="")
|
||||
row2col3 = col3.row()
|
||||
row2col3.operator("bim.calculate_resource_usage", text="", icon="TEMP").resource = ifc_definition_id
|
||||
op = row2col3.operator(
|
||||
"bim.add_usage_constraint" if not is_usage_locked else "bim.remove_usage_constraint",
|
||||
text="",
|
||||
icon="LOCKED" if is_usage_locked else "UNLOCKED",
|
||||
)
|
||||
op.resource = ifc_definition_id
|
||||
op.attribute = "Usage.ScheduleUsage"
|
||||
|
||||
productivity = resource["Productivity"]
|
||||
parent_productivity = resource["InheritedProductivity"]
|
||||
row = self.layout.row()
|
||||
if productivity:
|
||||
produtivitiy_rate_message = "Current Productivity Rate: {} {} / {}".format(
|
||||
productivity["QuantityProduced"],
|
||||
productivity["QuantityProducedName"],
|
||||
productivity["TimeConsumed"],
|
||||
)
|
||||
row.alignment = "LEFT"
|
||||
row.label(text=produtivitiy_rate_message, icon="ARMATURE_DATA")
|
||||
elif parent_productivity:
|
||||
produtivitiy_rate_message = "Inherited Productivity Rate: {} {} / {}*".format(
|
||||
parent_productivity["QuantityProduced"],
|
||||
parent_productivity["QuantityProducedName"],
|
||||
parent_productivity["TimeConsumed"],
|
||||
)
|
||||
row.alignment = "LEFT"
|
||||
row.label(text="Productivity: {}".format(produtivitiy_rate_message), icon="ARMATURE_DATA")
|
||||
else:
|
||||
row = self.layout.row(align=True)
|
||||
row.alignment = "LEFT"
|
||||
produtivitiy_rate_message = "No productivity data found"
|
||||
row.label(text="Productivity: {}".format(produtivitiy_rate_message), icon="ARMATURE_DATA")
|
||||
productivity_props = context.scene.BIMResourceProductivity
|
||||
grid = self.layout.grid_flow(columns=2, even_columns=False, even_rows=False, align=False)
|
||||
col1 = grid.column(align=False)
|
||||
col2 = grid.column(align=False)
|
||||
col1.ui_units_x = 1
|
||||
col2.ui_units_x = 3
|
||||
row1_col1 = col1.row()
|
||||
row1_col1.label(text="Quantity")
|
||||
row1_col2 = col2.row()
|
||||
row1_col2.prop(productivity_props, "quantity_produced", text="")
|
||||
row1_col2.prop(productivity_props, "quantity_produced_name", text="")
|
||||
row2_col1 = col1.row()
|
||||
row2_col1.label(text="Time")
|
||||
row2_col2 = col2.row()
|
||||
self.draw_duration_property(productivity_props.quantity_consumed, row2_col2)
|
||||
row3_col2 = col2.row()
|
||||
row3_col2.alignment = "RIGHT"
|
||||
row3_col2.operator("bim.edit_productivity_data", text="", icon="CHECKMARK")
|
||||
|
||||
def draw_resource_operators(self):
|
||||
row = self.layout.row(align=True)
|
||||
@@ -153,9 +224,6 @@ class BIM_PT_resources(Panel):
|
||||
|
||||
if not self.props.active_resource_id:
|
||||
if resource["type"] in ["IfcLaborResource", "IfcConstructionEquipmentResource"]:
|
||||
if resource["Productivity"]:
|
||||
op = row.operator("bim.calculate_resource_work", text="", icon="TEMP")
|
||||
op.resource = ifc_definition_id
|
||||
row.operator("bim.enable_editing_resource_time", text="", icon="TIME").resource = ifc_definition_id
|
||||
op = row.operator("bim.enable_editing_resource_base_quantity", text="", icon="PROPERTIES")
|
||||
op.resource = ifc_definition_id
|
||||
@@ -250,7 +318,6 @@ class BIM_PT_resources(Panel):
|
||||
def draw_duration_property(self, duration_props, layout):
|
||||
for duration_prop in duration_props:
|
||||
if duration_prop.name == "BaseQuantityConsumed":
|
||||
layout.label(text=duration_prop.name)
|
||||
layout.prop(duration_prop, "years", text="Y")
|
||||
layout.prop(duration_prop, "months", text="M")
|
||||
layout.prop(duration_prop, "days", text="D")
|
||||
|
||||
@@ -26,6 +26,7 @@ classes = (
|
||||
operator.AddFilterGroup,
|
||||
operator.AddToIfcGroup,
|
||||
operator.ColourByProperty,
|
||||
operator.EditFilterQuery,
|
||||
operator.FilterModelElements,
|
||||
operator.IfcSelector,
|
||||
operator.LoadColourscheme,
|
||||
@@ -39,6 +40,7 @@ classes = (
|
||||
operator.SaveSearch,
|
||||
operator.SaveSelectorQuery,
|
||||
operator.Search,
|
||||
operator.SelectFilterElements,
|
||||
operator.SelectGlobalId,
|
||||
operator.SelectIfcClass,
|
||||
operator.SelectSimilar,
|
||||
|
||||
@@ -40,12 +40,14 @@ class SearchData:
|
||||
|
||||
@classmethod
|
||||
def saved_searches(cls):
|
||||
if not tool.Ifc.get():
|
||||
return []
|
||||
groups = tool.Ifc.get().by_type("IfcGroup")
|
||||
results = []
|
||||
for group in groups:
|
||||
try:
|
||||
data = json.loads(group.Description)
|
||||
if isinstance(data, dict) and data.get("type", None) == "BBIM_Search":
|
||||
if isinstance(data, dict) and data.get("type", None) == "BBIM_Search" and data.get("query", None):
|
||||
results.append(group)
|
||||
except:
|
||||
pass
|
||||
|
||||
@@ -61,9 +61,14 @@ colour_list = [
|
||||
class AddFilterGroup(Operator):
|
||||
bl_idname = "bim.add_filter_group"
|
||||
bl_label = "Add Filter Group"
|
||||
module: StringProperty()
|
||||
|
||||
def execute(self, context):
|
||||
context.scene.BIMSearchProperties.filter_groups.add()
|
||||
if self.module == "search":
|
||||
props = context.scene.BIMSearchProperties
|
||||
elif self.module == "csv":
|
||||
props = context.scene.CsvProperties
|
||||
props.filter_groups.add()
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
@@ -71,9 +76,13 @@ class RemoveFilterGroup(Operator):
|
||||
bl_idname = "bim.remove_filter_group"
|
||||
bl_label = "Remove Filter Group"
|
||||
index: IntProperty()
|
||||
module: StringProperty()
|
||||
|
||||
def execute(self, context):
|
||||
props = context.scene.BIMSearchProperties
|
||||
if self.module == "search":
|
||||
props = context.scene.BIMSearchProperties
|
||||
elif self.module == "csv":
|
||||
props = context.scene.CsvProperties
|
||||
props.filter_groups.remove(self.index)
|
||||
return {"FINISHED"}
|
||||
|
||||
@@ -83,9 +92,13 @@ class RemoveFilter(Operator):
|
||||
bl_label = "Remove Filter Group"
|
||||
group_index: IntProperty()
|
||||
index: IntProperty()
|
||||
module: StringProperty()
|
||||
|
||||
def execute(self, context):
|
||||
props = context.scene.BIMSearchProperties
|
||||
if self.module == "search":
|
||||
props = context.scene.BIMSearchProperties
|
||||
elif self.module == "csv":
|
||||
props = context.scene.CsvProperties
|
||||
props.filter_groups[self.group_index].filters.remove(self.index)
|
||||
return {"FINISHED"}
|
||||
|
||||
@@ -95,13 +108,87 @@ class AddFilter(Operator):
|
||||
bl_label = "Add Filter"
|
||||
index: IntProperty()
|
||||
type: StringProperty()
|
||||
module: StringProperty()
|
||||
|
||||
def execute(self, context):
|
||||
new = context.scene.BIMSearchProperties.filter_groups[self.index].filters.add()
|
||||
if self.module == "search":
|
||||
props = context.scene.BIMSearchProperties
|
||||
elif self.module == "csv":
|
||||
props = context.scene.CsvProperties
|
||||
new = props.filter_groups[self.index].filters.add()
|
||||
new.type = self.type
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class SelectFilterElements(bpy.types.Operator):
|
||||
bl_idname = "bim.select_filter_elements"
|
||||
bl_label = "Select Filter Elements"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
group_index: IntProperty()
|
||||
index: IntProperty()
|
||||
module: StringProperty()
|
||||
|
||||
def execute(self, context):
|
||||
if self.module == "search":
|
||||
props = context.scene.BIMSearchProperties
|
||||
elif self.module == "csv":
|
||||
props = context.scene.CsvProperties
|
||||
global_ids = []
|
||||
for obj in context.selected_objects:
|
||||
element = tool.Ifc.get_entity(obj)
|
||||
if element:
|
||||
global_id = getattr(element, "GlobalId", None)
|
||||
if global_id:
|
||||
global_ids.append(global_id)
|
||||
if len(global_ids) > 50:
|
||||
# Too much to store in a string property
|
||||
name = "globalid-filter-" + ifcopenshell.guid.new()
|
||||
text_data = bpy.data.texts.new(name)
|
||||
text_data.from_string(",".join(global_ids))
|
||||
props.filter_groups[self.group_index].filters[self.index].value = f"bpy.data.texts['{name}']"
|
||||
else:
|
||||
props.filter_groups[self.group_index].filters[self.index].value = ",".join(global_ids)
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class EditFilterQuery(Operator, tool.Ifc.Operator):
|
||||
bl_idname = "bim.edit_filter_query"
|
||||
bl_label = "Edit Filter Query"
|
||||
bl_description = "Edit the underlying filter query for advanced users"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
query: StringProperty(name="Query")
|
||||
module: StringProperty()
|
||||
|
||||
def _execute(self, context):
|
||||
if self.query == self.old_query:
|
||||
return
|
||||
|
||||
if self.module == "search":
|
||||
props = context.scene.BIMSearchProperties
|
||||
elif self.module == "csv":
|
||||
props = context.scene.CsvProperties
|
||||
|
||||
try:
|
||||
tool.Search.import_filter_query(self.query, props.filter_groups)
|
||||
except:
|
||||
return
|
||||
|
||||
def draw(self, context):
|
||||
row = self.layout.row()
|
||||
row.prop(self, "query", text="")
|
||||
|
||||
def invoke(self, context, event):
|
||||
if self.module == "search":
|
||||
props = context.scene.BIMSearchProperties
|
||||
elif self.module == "csv":
|
||||
props = context.scene.CsvProperties
|
||||
|
||||
self.query = tool.Search.export_filter_query(props.filter_groups)
|
||||
self.old_query = self.query
|
||||
|
||||
return context.window_manager.invoke_props_dialog(self)
|
||||
|
||||
|
||||
class Search(Operator):
|
||||
bl_idname = "bim.search"
|
||||
bl_label = "Search"
|
||||
@@ -127,21 +214,36 @@ class SaveSearch(Operator, tool.Ifc.Operator):
|
||||
bl_description = "Save search filter to an IFC group"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
name: StringProperty(name="Name")
|
||||
module: StringProperty()
|
||||
|
||||
def _execute(self, context):
|
||||
if not self.name:
|
||||
return
|
||||
|
||||
query = tool.Search.export_filter_query(context.scene.BIMSearchProperties.filter_groups)
|
||||
results = ifcopenshell.util.selector.filter_elements(tool.Ifc.get(), query)
|
||||
if self.module == "search":
|
||||
props = context.scene.BIMSearchProperties
|
||||
elif self.module == "csv":
|
||||
props = context.scene.CsvProperties
|
||||
|
||||
try:
|
||||
query = tool.Search.export_filter_query(props.filter_groups)
|
||||
results = ifcopenshell.util.selector.filter_elements(tool.Ifc.get(), query)
|
||||
except:
|
||||
return
|
||||
|
||||
description = json.dumps({"type": "BBIM_Search", "query": query})
|
||||
group = [g for g in tool.Ifc.get().by_type("IfcGroup") if g.Name == self.name]
|
||||
if group:
|
||||
group = group[0]
|
||||
group.Description = description
|
||||
else:
|
||||
group = ifcopenshell.api.run("group.add_group", tool.Ifc.get(), Name=self.name, Description=description)
|
||||
ifcopenshell.api.run("group.assign_group", tool.Ifc.get(), products=results, group=group)
|
||||
if results:
|
||||
ifcopenshell.api.run("group.assign_group", tool.Ifc.get(), products=list(results), group=group)
|
||||
|
||||
def draw(self, context):
|
||||
row = self.layout.row()
|
||||
row.prop(self, "name")
|
||||
|
||||
def invoke(self, context, event):
|
||||
return context.window_manager.invoke_props_dialog(self)
|
||||
@@ -152,11 +254,15 @@ class LoadSearch(Operator, tool.Ifc.Operator):
|
||||
bl_label = "Load Search"
|
||||
bl_description = "Load search filter from an IFC group"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
module: StringProperty()
|
||||
|
||||
def _execute(self, context):
|
||||
props = context.scene.BIMSearchProperties
|
||||
group = tool.Ifc.get().by_id(int(props.saved_searches))
|
||||
query = tool.Search.import_filter_query(group, context.scene.BIMSearchProperties.filter_groups)
|
||||
if self.module == "search":
|
||||
props = context.scene.BIMSearchProperties
|
||||
elif self.module == "csv":
|
||||
props = context.scene.CsvProperties
|
||||
group = tool.Ifc.get().by_id(int(context.scene.BIMSearchProperties.saved_searches))
|
||||
query = tool.Search.import_filter_query(tool.Search.get_group_query(group), props.filter_groups)
|
||||
|
||||
def draw(self, context):
|
||||
props = context.scene.BIMSearchProperties
|
||||
@@ -242,14 +348,15 @@ class SaveColourscheme(Operator, tool.Ifc.Operator):
|
||||
query = props.colourscheme_query
|
||||
|
||||
group = [g for g in tool.Ifc.get().by_type("IfcGroup") if g.Name == self.name]
|
||||
coulour_scheme = {cs.name: cs.colour[0:3] for cs in props.colourscheme}
|
||||
if group:
|
||||
group = group[0]
|
||||
description = json.loads(group.Description)
|
||||
description["colourscheme"] = {cs.name: cs.colour[0:3] for cs in props.colourscheme}
|
||||
description["colourscheme"] = coulour_scheme
|
||||
description["colourscheme_query"] = query
|
||||
group.Description = json.dumps(description)
|
||||
else:
|
||||
description = json.dumps({"type": "BBIM_Search", "colourscheme": query})
|
||||
description = json.dumps({"type": "BBIM_Search", "colourscheme": coulour_scheme,"colourscheme_query": query})
|
||||
group = ifcopenshell.api.run("group.add_group", tool.Ifc.get(), Name=self.name, Description=description)
|
||||
|
||||
def invoke(self, context, event):
|
||||
@@ -264,7 +371,7 @@ class LoadColourscheme(Operator, tool.Ifc.Operator):
|
||||
|
||||
def _execute(self, context):
|
||||
props = context.scene.BIMSearchProperties
|
||||
group = tool.Ifc.get().by_id(int(props.saved_searches))
|
||||
group = tool.Ifc.get().by_id(int(props.saved_colourschemes))
|
||||
description = json.loads(group.Description)
|
||||
props.colourscheme_query = description.get("colourscheme_query")
|
||||
props.colourscheme.clear()
|
||||
|
||||
@@ -128,7 +128,8 @@ class BIMSearchProperties(PropertyGroup):
|
||||
("classification", "Classification", "", "OUTLINER", 4),
|
||||
("location", "Location", "", "PACKAGE", 5),
|
||||
("type", "Type", "", "FILE_VOLUME", 6),
|
||||
("instance", "GlobalId", "", "GRIP", 7),
|
||||
("query", "Query", "", "POINTCLOUD_DATA", 7),
|
||||
("instance", "GlobalId", "", "GRIP", 8),
|
||||
],
|
||||
)
|
||||
saved_searches: EnumProperty(items=get_saved_searches, name="Saved Searches")
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
# along with BlenderBIM Add-on. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import bpy
|
||||
import blenderbim.bim.helper
|
||||
from bpy.types import Panel
|
||||
from blenderbim.bim.module.search.data import SearchData, ColourByPropertyData, SelectSimilarData
|
||||
|
||||
@@ -35,59 +36,7 @@ class BIM_PT_search(Panel):
|
||||
|
||||
props = context.scene.BIMSearchProperties
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text=f"{len(SearchData.data['saved_searches'])} Saved Searches")
|
||||
|
||||
if SearchData.data["saved_searches"]:
|
||||
row.operator("bim.load_search", text="", icon="IMPORT")
|
||||
row.operator("bim.save_search", text="", icon="EXPORT")
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.operator("bim.add_filter_group", text="Add Search Group", icon="ADD")
|
||||
|
||||
for i, filter_group in enumerate(props.filter_groups):
|
||||
box = self.layout.box()
|
||||
|
||||
row = box.row(align=True)
|
||||
row.prop(props, "facet", text="")
|
||||
op = row.operator("bim.add_filter", text="Add Filter", icon="ADD")
|
||||
op.type = props.facet
|
||||
op.index = i
|
||||
|
||||
for j, ifc_filter in enumerate(filter_group.filters):
|
||||
if ifc_filter.type == "entity":
|
||||
row = box.row(align=True)
|
||||
row.prop(ifc_filter, "value", text="", icon="FILE_3D")
|
||||
elif ifc_filter.type == "attribute":
|
||||
row = box.row(align=True)
|
||||
row.prop(ifc_filter, "name", text="", icon="COPY_ID")
|
||||
row.prop(ifc_filter, "value", text="")
|
||||
elif ifc_filter.type == "type":
|
||||
row = box.row(align=True)
|
||||
row.prop(ifc_filter, "value", text="", icon="FILE_VOLUME")
|
||||
elif ifc_filter.type == "material":
|
||||
row = box.row(align=True)
|
||||
row.prop(ifc_filter, "value", text="", icon="MATERIAL")
|
||||
elif ifc_filter.type == "property":
|
||||
row = box.row(align=True)
|
||||
row.prop(ifc_filter, "pset", text="", icon="PROPERTIES")
|
||||
row.prop(ifc_filter, "name", text="")
|
||||
row.prop(ifc_filter, "value", text="")
|
||||
elif ifc_filter.type == "classification":
|
||||
row = box.row(align=True)
|
||||
row.prop(ifc_filter, "value", text="", icon="OUTLINER")
|
||||
elif ifc_filter.type == "location":
|
||||
row = box.row(align=True)
|
||||
row.prop(ifc_filter, "name", text="", icon="PACKAGE")
|
||||
elif ifc_filter.type == "instance":
|
||||
row = box.row(align=True)
|
||||
row.prop(ifc_filter, "value", text="", icon="GRIP")
|
||||
op = row.operator("bim.remove_filter", text="", icon="X")
|
||||
op.group_index = i
|
||||
op.index = j
|
||||
|
||||
row = box.row()
|
||||
row.operator("bim.remove_filter_group", icon="X").index = i
|
||||
blenderbim.bim.helper.draw_filter(self.layout, props, SearchData, "search")
|
||||
|
||||
if len(props.filter_groups):
|
||||
row = self.layout.row(align=True)
|
||||
|
||||
@@ -20,12 +20,11 @@ import bpy
|
||||
from . import ui, prop, operator
|
||||
|
||||
classes = (
|
||||
operator.ExpandAllTasks,
|
||||
operator.ContractAllTasks,
|
||||
operator.AddAnimationCamera,
|
||||
operator.AddSummaryTask,
|
||||
operator.AddTask,
|
||||
operator.AddTaskColumn,
|
||||
operator.AddTaskBars,
|
||||
operator.AddTaskColumn,
|
||||
operator.AddTimePeriod,
|
||||
operator.AddWorkCalendar,
|
||||
operator.AddWorkPlan,
|
||||
@@ -42,9 +41,12 @@ classes = (
|
||||
operator.BlenderBIM_DatePickerSetDate,
|
||||
operator.BlenderBIM_RedrawDatePicker,
|
||||
operator.CalculateTaskDuration,
|
||||
operator.ClearPreviousAnimation,
|
||||
operator.ContractAllTasks,
|
||||
operator.ContractTask,
|
||||
operator.CopyTaskAttribute,
|
||||
operator.CopyTask,
|
||||
operator.CopyTaskAttribute,
|
||||
operator.CreateBaseline,
|
||||
operator.DisableEditingSequence,
|
||||
operator.DisableEditingTask,
|
||||
operator.DisableEditingTaskTime,
|
||||
@@ -67,27 +69,29 @@ classes = (
|
||||
operator.EnableEditingTaskCalendar,
|
||||
operator.EnableEditingTaskSequence,
|
||||
operator.EnableEditingTaskTime,
|
||||
operator.EnableEditingWorkScheduleTasks,
|
||||
operator.EnableEditingWorkCalendar,
|
||||
operator.EnableEditingWorkCalendarTimes,
|
||||
operator.EnableEditingWorkPlan,
|
||||
operator.EnableEditingWorkPlanSchedules,
|
||||
operator.EnableEditingWorkSchedule,
|
||||
operator.EnableEditingWorkScheduleTasks,
|
||||
operator.EnableEditingWorkTime,
|
||||
operator.ExpandAllTasks,
|
||||
operator.ExpandTask,
|
||||
operator.ExportMSP,
|
||||
operator.ExportP6,
|
||||
operator.GenerateGanttChart,
|
||||
operator.GuessDateRange,
|
||||
operator.ImportMSP,
|
||||
operator.GoToTask,
|
||||
operator.ImportCSV,
|
||||
operator.ImportMSP,
|
||||
operator.ImportP6,
|
||||
operator.ImportP6XER,
|
||||
operator.ImportPP,
|
||||
operator.LoadTaskInputs,
|
||||
operator.LoadTaskOutputs,
|
||||
operator.LoadAnimationColorScheme,
|
||||
operator.LoadDefaultAnimationColors,
|
||||
operator.LoadProductTasks,
|
||||
operator.LoadTaskProperties,
|
||||
operator.LoadTaskResources,
|
||||
operator.RecalculateSchedule,
|
||||
operator.RemoveTask,
|
||||
operator.RemoveTaskCalendar,
|
||||
@@ -98,10 +102,11 @@ classes = (
|
||||
operator.RemoveWorkSchedule,
|
||||
operator.RemoveWorkTime,
|
||||
operator.ReorderTask,
|
||||
operator.SelectTaskRelatedProducts,
|
||||
operator.SaveAnimationColorScheme,
|
||||
operator.SelectTaskRelatedInputs,
|
||||
operator.SelectWorkScheduleProducts,
|
||||
operator.SelectTaskRelatedProducts,
|
||||
operator.SelectUnassignedWorkScheduleProducts,
|
||||
operator.SelectWorkScheduleProducts,
|
||||
operator.SetTaskSortColumn,
|
||||
operator.SetupDefaultTaskColumns,
|
||||
operator.UnassignLagTime,
|
||||
@@ -113,17 +118,18 @@ classes = (
|
||||
operator.UnassignWorkSchedule,
|
||||
operator.VisualiseWorkScheduleDate,
|
||||
operator.VisualiseWorkScheduleDateRange,
|
||||
operator.LoadTaskAnimationColors,
|
||||
operator.DisableEditingTaskAnimationColors,
|
||||
operator.LoadProductTasks,
|
||||
operator.HighlightTask,
|
||||
operator.CreateBaseline,
|
||||
operator.EnableStatusFilters,
|
||||
operator.DisableStatusFilters,
|
||||
operator.ActivateStatusFilters,
|
||||
operator.SelectStatusFilter,
|
||||
prop.WorkPlan,
|
||||
prop.BIMWorkPlanProperties,
|
||||
prop.Task,
|
||||
prop.TaskResource,
|
||||
prop.TaskProduct,
|
||||
prop.ISODuration,
|
||||
prop.IFCStatus,
|
||||
prop.BIMStatusProperties,
|
||||
prop.BIMWorkScheduleProperties,
|
||||
prop.BIMTaskTreeProperties,
|
||||
prop.BIMTaskTypeColor,
|
||||
@@ -133,17 +139,19 @@ classes = (
|
||||
prop.BIMWorkCalendarProperties,
|
||||
prop.DatePickerProperties,
|
||||
prop.BIMDateTextProperties,
|
||||
ui.BIM_PT_status,
|
||||
ui.BIM_PT_work_plans,
|
||||
ui.BIM_PT_work_schedules,
|
||||
ui.BIM_PT_work_calendars,
|
||||
ui.BIM_PT_animation_tools,
|
||||
ui.BIM_PT_task_icom,
|
||||
ui.BIM_PT_animation_Color_Scheme,
|
||||
ui.BIM_UL_task_columns,
|
||||
ui.BIM_UL_task_inputs,
|
||||
ui.BIM_UL_task_resources,
|
||||
ui.BIM_UL_task_outputs,
|
||||
ui.BIM_UL_tasks,
|
||||
ui.BIM_PT_4D_Tools,
|
||||
ui.BIM_PT_Task_Bar_Creator,
|
||||
ui.BIM_UL_animation_colors,
|
||||
ui.BIM_UL_product_input_tasks,
|
||||
ui.BIM_UL_product_output_tasks,
|
||||
@@ -164,6 +172,7 @@ def menu_func_import(self, context):
|
||||
|
||||
|
||||
def register():
|
||||
bpy.types.Scene.BIMStatusProperties = bpy.props.PointerProperty(type=prop.BIMStatusProperties)
|
||||
bpy.types.Scene.BIMWorkPlanProperties = bpy.props.PointerProperty(type=prop.BIMWorkPlanProperties)
|
||||
bpy.types.Scene.BIMWorkScheduleProperties = bpy.props.PointerProperty(type=prop.BIMWorkScheduleProperties)
|
||||
bpy.types.Scene.BIMTaskTreeProperties = bpy.props.PointerProperty(type=prop.BIMTaskTreeProperties)
|
||||
@@ -176,6 +185,7 @@ def register():
|
||||
|
||||
|
||||
def unregister():
|
||||
del bpy.types.Scene.BIMStatusProperties
|
||||
del bpy.types.Scene.BIMWorkPlanProperties
|
||||
del bpy.types.Scene.BIMWorkScheduleProperties
|
||||
del bpy.types.Scene.BIMTaskTreeProperties
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
import bpy
|
||||
import blenderbim.tool as tool
|
||||
import ifcopenshell
|
||||
from ifcopenshell.util.doc import get_predefined_type_doc
|
||||
import ifcopenshell.util.date as dateutil
|
||||
import json
|
||||
|
||||
|
||||
def refresh():
|
||||
@@ -28,6 +28,7 @@ def refresh():
|
||||
WorkPlansData.is_loaded = False
|
||||
TaskICOMData.is_loaded = False
|
||||
WorkScheduleData.is_loaded = False
|
||||
AnimationColorSchemeData.is_loaded = False
|
||||
|
||||
|
||||
class SequenceData:
|
||||
@@ -37,7 +38,6 @@ class SequenceData:
|
||||
@classmethod
|
||||
def load(cls):
|
||||
cls.data = {
|
||||
"predefined_types": cls.get_work_schedule_types(),
|
||||
"has_work_plans": cls.has_work_plans(),
|
||||
"has_work_schedules": cls.has_work_schedules(),
|
||||
"has_work_calendars": cls.has_work_calendars(),
|
||||
@@ -230,22 +230,6 @@ class SequenceData:
|
||||
data["NestingIndex"] = rel.RelatedObjects.index(task)
|
||||
cls.data["tasks"][task.id()] = data
|
||||
|
||||
@classmethod
|
||||
def get_work_schedule_types(cls):
|
||||
results = []
|
||||
declaration = tool.Ifc().schema().declaration_by_name("IfcWorkSchedule")
|
||||
version = tool.Ifc.get_schema()
|
||||
for attribute in declaration.attributes():
|
||||
if attribute.name() == "PredefinedType":
|
||||
results.extend(
|
||||
[
|
||||
(e, e, get_predefined_type_doc(version, "IfcWorkSchedule", e))
|
||||
for e in attribute.type_of_attribute().declared_type().enumeration_items()
|
||||
]
|
||||
)
|
||||
break
|
||||
return results
|
||||
|
||||
|
||||
class WorkScheduleData:
|
||||
data = {}
|
||||
@@ -344,3 +328,31 @@ class TaskICOMData:
|
||||
resource_id = resource_tprops.resources[resource_props.active_resource_index].ifc_definition_id
|
||||
return not tool.Ifc.get().by_id(resource_id).is_a("IfcCrewResource")
|
||||
return False
|
||||
|
||||
|
||||
class AnimationColorSchemeData:
|
||||
data = {}
|
||||
is_loaded = False
|
||||
|
||||
@classmethod
|
||||
def load(cls):
|
||||
cls.is_loaded = True
|
||||
cls.data = {}
|
||||
cls.data["saved_color_schemes"] = cls.saved_color_schemes()
|
||||
|
||||
@classmethod
|
||||
def saved_color_schemes(cls):
|
||||
groups = tool.Ifc.get().by_type("IfcGroup")
|
||||
results = []
|
||||
for group in groups:
|
||||
try:
|
||||
data = json.loads(group.Description)
|
||||
if (
|
||||
isinstance(data, dict)
|
||||
and data.get("type", None) == "BBIM_AnimationColorScheme"
|
||||
and data.get("colourscheme", None)
|
||||
):
|
||||
results.append(group)
|
||||
except:
|
||||
pass
|
||||
return [(str(g.id()), g.Name or "Unnamed", "") for g in sorted(results, key=lambda x: x.Name or "Unnamed")]
|
||||
|
||||
@@ -35,6 +35,7 @@ def parse_datetime(value):
|
||||
def parse_duration(value):
|
||||
return ifcopenshell.util.date.parse_duration(value)
|
||||
|
||||
|
||||
def canonicalise_time(time):
|
||||
if not time:
|
||||
return "-"
|
||||
|
||||
@@ -27,11 +27,98 @@ import webbrowser
|
||||
import blenderbim.core.sequence as core
|
||||
import blenderbim.tool as tool
|
||||
import blenderbim.bim.module.sequence.helper as helper
|
||||
import ifcopenshell.util.sequence
|
||||
import ifcopenshell.util.selector
|
||||
from datetime import datetime
|
||||
from dateutil import parser, relativedelta
|
||||
from blenderbim.bim.ifc import IfcStore
|
||||
from bpy_extras.io_utils import ImportHelper
|
||||
import ifcopenshell.util.sequence
|
||||
|
||||
|
||||
class EnableStatusFilters(bpy.types.Operator):
|
||||
bl_idname = "bim.enable_status_filters"
|
||||
bl_label = "Enable Status Filters"
|
||||
|
||||
def execute(self, context):
|
||||
props = context.scene.BIMStatusProperties
|
||||
props.is_enabled = True
|
||||
|
||||
props.statuses.clear()
|
||||
|
||||
statuses = set()
|
||||
for element in tool.Ifc.get().by_type("IfcPropertyEnumeratedValue"):
|
||||
if element.Name == "Status":
|
||||
pset = element.PartOfPset[0]
|
||||
if pset.Name.startswith("Pset_") and pset.Name.endswith("Common"):
|
||||
statuses.update(element.EnumerationValues)
|
||||
elif pset.Name == "EPset_Status": # Our secret sauce
|
||||
statuses.update(element.EnumerationValues)
|
||||
elif element.Name == "UserDefinedStatus":
|
||||
statuses.add(element.NominalValue)
|
||||
|
||||
statuses = ["No Status"] + sorted([s.wrappedValue for s in statuses])
|
||||
|
||||
for status in statuses:
|
||||
new = props.statuses.add()
|
||||
new.name = status
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class DisableStatusFilters(bpy.types.Operator):
|
||||
bl_idname = "bim.disable_status_filters"
|
||||
bl_label = "Disable Status Filters"
|
||||
|
||||
def execute(self, context):
|
||||
props = context.scene.BIMStatusProperties
|
||||
props.is_enabled = False
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class ActivateStatusFilters(bpy.types.Operator):
|
||||
bl_idname = "bim.activate_status_filters"
|
||||
bl_label = "Activate Status Filters"
|
||||
|
||||
def execute(self, context):
|
||||
props = context.scene.BIMStatusProperties
|
||||
|
||||
query = []
|
||||
visible_statuses = {s.name for s in props.statuses if s.is_visible}
|
||||
for name in visible_statuses:
|
||||
if name == "No Status":
|
||||
q = f"IfcProduct, /Pset_.*Common/.Status=NULL, EPset_Status.Status=NULL"
|
||||
else:
|
||||
q = f"IfcProduct, /Pset_.*Common/.Status={name} + IfcProduct, EPset_Status.Status={name}"
|
||||
query.append(q)
|
||||
query = " + ".join(query)
|
||||
|
||||
if not query:
|
||||
return {"FINISHED"}
|
||||
|
||||
visible_elements = ifcopenshell.util.selector.filter_elements(tool.Ifc.get(), query)
|
||||
|
||||
for obj in bpy.context.view_layer.objects:
|
||||
element = tool.Ifc.get_entity(obj)
|
||||
if not element or not element.is_a("IfcProduct"):
|
||||
continue
|
||||
obj.hide_set(element not in visible_elements)
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class SelectStatusFilter(bpy.types.Operator):
|
||||
bl_idname = "bim.select_status_filter"
|
||||
bl_label = "Select Status Filter"
|
||||
name: bpy.props.StringProperty()
|
||||
|
||||
def execute(self, context):
|
||||
props = context.scene.BIMStatusProperties
|
||||
query = f"IfcProduct, /Pset_.*Common/.Status={self.name} + IfcProduct, EPset_Status.Status={self.name}"
|
||||
if self.name == "No Status":
|
||||
query = f"IfcProduct, /Pset_.*Common/.Status=NULL, EPset_Status.Status=NULL"
|
||||
for element in ifcopenshell.util.selector.filter_elements(tool.Ifc.get(), query):
|
||||
obj = tool.Ifc.get_object(element)
|
||||
if obj:
|
||||
obj.select_set(True)
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class AddWorkPlan(bpy.types.Operator, tool.Ifc.Operator):
|
||||
@@ -129,9 +216,21 @@ class AddWorkSchedule(bpy.types.Operator, tool.Ifc.Operator):
|
||||
bl_idname = "bim.add_work_schedule"
|
||||
bl_label = "Add Work Schedule"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
name: bpy.props.StringProperty()
|
||||
|
||||
def _execute(self, context):
|
||||
core.add_work_schedule(tool.Ifc)
|
||||
core.add_work_schedule(tool.Ifc, tool.Sequence, name=self.name)
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.prop(self, "name", text="Name")
|
||||
self.props = context.scene.BIMWorkScheduleProperties
|
||||
layout.prop(self.props, "work_schedule_predefined_types", text="Type")
|
||||
if self.props.work_schedule_predefined_types == "USERDEFINED":
|
||||
layout.prop(self.props, "object_type", text="Object type")
|
||||
|
||||
def invoke(self, context, event):
|
||||
return context.window_manager.invoke_props_dialog(self)
|
||||
|
||||
|
||||
class EditWorkSchedule(bpy.types.Operator, tool.Ifc.Operator):
|
||||
@@ -874,7 +973,7 @@ class EnableEditingTaskSequence(bpy.types.Operator):
|
||||
task: bpy.props.IntProperty()
|
||||
|
||||
def execute(self, context):
|
||||
core.enable_editing_task_sequence(tool.Sequence, task=tool.Ifc.get().by_id(self.task))
|
||||
core.enable_editing_task_sequence(tool.Sequence)
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
@@ -1190,36 +1289,6 @@ class SetTaskSortColumn(bpy.types.Operator):
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class LoadTaskResources(bpy.types.Operator):
|
||||
bl_idname = "bim.load_task_resources"
|
||||
bl_label = "Load Task Resources"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
|
||||
def execute(self, context):
|
||||
core.load_task_resources(tool.Sequence)
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class LoadTaskInputs(bpy.types.Operator):
|
||||
bl_idname = "bim.load_task_inputs"
|
||||
bl_label = "Load Task Inputs"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
|
||||
def execute(self, context):
|
||||
core.load_task_inputs(tool.Sequence)
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class LoadTaskOutputs(bpy.types.Operator):
|
||||
bl_idname = "bim.load_task_outputs"
|
||||
bl_label = "Load Task Outputs"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
|
||||
def execute(self, context):
|
||||
core.load_task_outputs(tool.Sequence)
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class CalculateTaskDuration(bpy.types.Operator, tool.Ifc.Operator):
|
||||
bl_idname = "bim.calculate_task_duration"
|
||||
bl_label = "Calculate Task Duration"
|
||||
@@ -1263,25 +1332,51 @@ class AddTaskBars(bpy.types.Operator):
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class LoadTaskAnimationColors(bpy.types.Operator):
|
||||
bl_idname = "bim.enable_editing_task_animation_colors"
|
||||
class LoadDefaultAnimationColors(bpy.types.Operator):
|
||||
bl_idname = "bim.load_default_animation_color_scheme"
|
||||
bl_label = "Load Animation Colors"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
|
||||
def execute(self, context):
|
||||
core.enable_editing_task_animation_colors(tool.Sequence)
|
||||
core.load_default_animation_color_scheme(tool.Sequence)
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class DisableEditingTaskAnimationColors(bpy.types.Operator):
|
||||
bl_idname = "bim.disable_editing_task_animation_colors"
|
||||
bl_label = "Disable Editing Task Animation Colors"
|
||||
class SaveAnimationColorScheme(bpy.types.Operator, tool.Ifc.Operator):
|
||||
bl_idname = "bim.save_animation_color_scheme"
|
||||
bl_label = "Save Animation Color Scheme"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Saves the current animation color scheme"
|
||||
name: bpy.props.StringProperty()
|
||||
|
||||
def execute(self, context):
|
||||
core.disable_editing_task_animation_colors(tool.Sequence)
|
||||
def _execute(self, context):
|
||||
if not self.name:
|
||||
return
|
||||
core.save_animation_color_scheme(tool.Sequence, name=self.name)
|
||||
return {"FINISHED"}
|
||||
|
||||
def invoke(self, context, event):
|
||||
return context.window_manager.invoke_props_dialog(self)
|
||||
|
||||
|
||||
class LoadAnimationColorScheme(bpy.types.Operator, tool.Ifc.Operator):
|
||||
bl_idname = "bim.load_animation_color_scheme"
|
||||
bl_label = "Load Animation Color Scheme"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
bl_description = "Loads the animation color scheme"
|
||||
|
||||
def _execute(self, context):
|
||||
group = tool.Ifc.get().by_id(int(context.scene.BIMAnimationProperties.saved_color_schemes))
|
||||
core.load_animation_color_scheme(tool.Sequence, scheme=group)
|
||||
|
||||
def draw(self, context):
|
||||
props = context.scene.BIMAnimationProperties
|
||||
row = self.layout.row()
|
||||
row.prop(props, "saved_color_schemes", text="")
|
||||
|
||||
def invoke(self, context, event):
|
||||
return context.window_manager.invoke_props_dialog(self)
|
||||
|
||||
|
||||
class CopyTask(bpy.types.Operator, tool.Ifc.Operator):
|
||||
bl_idname = "bim.duplicate_task"
|
||||
@@ -1315,14 +1410,14 @@ class LoadProductTasks(bpy.types.Operator):
|
||||
return {"FINISHED"}
|
||||
|
||||
|
||||
class HighlightTask(bpy.types.Operator):
|
||||
bl_idname = "bim.highlight_task"
|
||||
class GoToTask(bpy.types.Operator):
|
||||
bl_idname = "bim.go_to_task"
|
||||
bl_label = "Highlight Task"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
task: bpy.props.IntProperty()
|
||||
|
||||
def execute(self, context):
|
||||
r = core.highlight_task(tool.Sequence, task=tool.Ifc.get().by_id(self.task))
|
||||
r = core.go_to_task(tool.Sequence, task=tool.Ifc.get().by_id(self.task))
|
||||
if isinstance(r, str):
|
||||
self.report({"WARNING"}, r)
|
||||
return {"FINISHED"}
|
||||
@@ -1389,3 +1484,22 @@ class CreateBaseline(bpy.types.Operator, tool.Ifc.Operator):
|
||||
|
||||
def invoke(self, context, event):
|
||||
return context.window_manager.invoke_props_dialog(self)
|
||||
|
||||
|
||||
class ClearPreviousAnimation(bpy.types.Operator, tool.Ifc.Operator):
|
||||
bl_idname = "bim.clear_previous_animation"
|
||||
bl_label = "Clear Previous Animation"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
|
||||
def _execute(self, context):
|
||||
core.clear_previous_animation(tool.Sequence)
|
||||
|
||||
|
||||
class AddAnimationCamera(bpy.types.Operator):
|
||||
bl_idname = "bim.add_animation_camera"
|
||||
bl_label = "Add Camera to Scene"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
|
||||
def execute(self, context):
|
||||
core.add_animation_camera(tool.Sequence)
|
||||
return {"FINISHED"}
|
||||
|
||||
@@ -20,10 +20,12 @@ import bpy
|
||||
import isodate
|
||||
import ifcopenshell.api
|
||||
import ifcopenshell.util.attribute
|
||||
from ifcopenshell.util.doc import get_predefined_type_doc
|
||||
import blenderbim.tool as tool
|
||||
import blenderbim.core.sequence as core
|
||||
from blenderbim.bim.ifc import IfcStore
|
||||
from blenderbim.bim.module.sequence.data import SequenceData
|
||||
from blenderbim.bim.module.sequence.data import SequenceData, AnimationColorSchemeData, refresh as refresh_sequence_data
|
||||
import blenderbim.bim.module.resource.data
|
||||
import blenderbim.bim.module.pset.data
|
||||
from blenderbim.bim.prop import StrProperty, Attribute
|
||||
from dateutil import parser
|
||||
@@ -87,22 +89,30 @@ def getWorkCalendars(self, context):
|
||||
|
||||
|
||||
def update_active_task_index(self, context):
|
||||
bpy.ops.bim.load_task_inputs()
|
||||
bpy.ops.bim.load_task_resources()
|
||||
bpy.ops.bim.load_task_outputs()
|
||||
task = tool.Sequence.get_highlighted_task()
|
||||
self.highlighted_task_id = task.id() if task else 0
|
||||
tool.Sequence.update_task_ICOM(task)
|
||||
blenderbim.bim.module.pset.data.refresh()
|
||||
if self.editing_task_type == "SEQUENCE":
|
||||
tool.Sequence.load_task_properties()
|
||||
|
||||
|
||||
def update_active_task_outputs(self, context):
|
||||
bpy.ops.bim.load_task_outputs()
|
||||
task = tool.Sequence.get_highlighted_task()
|
||||
outputs = tool.Sequence.get_task_outputs(task)
|
||||
tool.Sequence.load_task_outputs(outputs)
|
||||
|
||||
|
||||
def update_active_task_resources(self, context):
|
||||
bpy.ops.bim.load_task_resources()
|
||||
task = tool.Sequence.get_highlighted_task()
|
||||
resources = tool.Sequence.get_task_resources(task)
|
||||
tool.Sequence.load_task_resources(resources)
|
||||
|
||||
|
||||
def update_active_task_inputs(self, context):
|
||||
bpy.ops.bim.load_task_inputs()
|
||||
task = tool.Sequence.get_highlighted_task()
|
||||
inputs = tool.Sequence.get_task_inputs(task)
|
||||
tool.Sequence.load_task_inputs(inputs)
|
||||
|
||||
|
||||
def updateTaskName(self, context):
|
||||
@@ -208,25 +218,31 @@ def updateTaskDuration(self, context):
|
||||
self.duration = "-"
|
||||
return
|
||||
|
||||
self.file = tool.Ifc.get()
|
||||
task = self.file.by_id(self.ifc_definition_id)
|
||||
task = tool.Ifc.get().by_id(self.ifc_definition_id)
|
||||
if task.TaskTime:
|
||||
task_time = task.TaskTime
|
||||
else:
|
||||
task_time = ifcopenshell.api.run("sequence.add_task_time", self.file, task=task)
|
||||
ifcopenshell.api.run(
|
||||
"sequence.edit_task_time",
|
||||
self.file,
|
||||
**{"task_time": task_time, "attributes": {"ScheduleDuration": duration}},
|
||||
)
|
||||
task_time = tool.Ifc.run("sequence.add_task_time", task=task)
|
||||
tool.Ifc.run("sequence.edit_task_time", task_time=task_time, attributes={"ScheduleDuration": duration})
|
||||
SequenceData.load()
|
||||
bpy.ops.bim.load_task_properties()
|
||||
|
||||
|
||||
def get_schedule_predefined_types(self, context):
|
||||
if not SequenceData.is_loaded:
|
||||
SequenceData.load()
|
||||
return SequenceData.data["predefined_types"]
|
||||
results = []
|
||||
declaration = tool.Ifc().schema().declaration_by_name("IfcWorkSchedule")
|
||||
version = tool.Ifc.get_schema()
|
||||
for attribute in declaration.attributes():
|
||||
if attribute.name() == "PredefinedType":
|
||||
results.extend(
|
||||
[
|
||||
(e, e, get_predefined_type_doc(version, "IfcWorkSchedule", e))
|
||||
for e in attribute.type_of_attribute().declared_type().enumeration_items()
|
||||
if e != "BASELINE"
|
||||
]
|
||||
)
|
||||
break
|
||||
return results
|
||||
|
||||
|
||||
def update_visualisation_start(self, context):
|
||||
@@ -286,12 +302,49 @@ def update_sort_reversed(self, context):
|
||||
work_schedule=tool.Ifc.get().by_id(context.scene.BIMWorkScheduleProperties.active_work_schedule_id),
|
||||
)
|
||||
|
||||
|
||||
def update_filter_by_active_schedule(self, context):
|
||||
if context.active_object:
|
||||
core.load_product_related_tasks(
|
||||
tool.Sequence, product=tool.Ifc.get().by_id(context.active_object.BIMObjectProperties.ifc_definition_id)
|
||||
)
|
||||
|
||||
|
||||
def switch_options(self, context):
|
||||
if self.should_show_visualisation_ui:
|
||||
self.should_show_snapshot_ui = False
|
||||
|
||||
|
||||
def switch_options2(self, context):
|
||||
if self.should_show_snapshot_ui:
|
||||
self.should_show_visualisation_ui = False
|
||||
|
||||
|
||||
def get_saved_color_schemes(self, context):
|
||||
if not AnimationColorSchemeData.is_loaded:
|
||||
AnimationColorSchemeData.load()
|
||||
return AnimationColorSchemeData.data["saved_color_schemes"]
|
||||
|
||||
|
||||
def updateAssignedResourceName(self, context):
|
||||
pass
|
||||
|
||||
def updateAssignedResourceUsage(self, context):
|
||||
if not self.schedule_usage:
|
||||
return
|
||||
resource = tool.Ifc.get().by_id(self.ifc_definition_id)
|
||||
if resource.Usage and resource.Usage.ScheduleUsage == self.schedule_usage:
|
||||
return
|
||||
tool.Resource.run_edit_resource_time(resource, attributes={
|
||||
"ScheduleUsage": self.schedule_usage
|
||||
})
|
||||
tool.Sequence.load_task_properties()
|
||||
tool.Resource.load_resource_properties()
|
||||
tool.Sequence.refresh_task_resources()
|
||||
blenderbim.bim.module.resource.data.refresh()
|
||||
blenderbim.bim.module.sequence.data.refresh()
|
||||
blenderbim.bim.module.pset.data.refresh()
|
||||
|
||||
class Task(PropertyGroup):
|
||||
name: StringProperty(name="Name", update=updateTaskName)
|
||||
identification: StringProperty(name="Identification", update=updateTaskIdentification)
|
||||
@@ -319,9 +372,9 @@ class WorkPlan(PropertyGroup):
|
||||
|
||||
|
||||
class TaskResource(PropertyGroup):
|
||||
name: StringProperty(name="Name")
|
||||
name: StringProperty(name="Name", update=updateAssignedResourceName)
|
||||
ifc_definition_id: IntProperty(name="IFC Definition ID")
|
||||
schedule_usage: FloatProperty(name="Schedule Usage")
|
||||
schedule_usage: FloatProperty(name="Schedule Usage", update=updateAssignedResourceUsage)
|
||||
|
||||
|
||||
class TaskProduct(PropertyGroup):
|
||||
@@ -348,10 +401,21 @@ class ISODuration(PropertyGroup):
|
||||
seconds: IntProperty(name="Seconds", default=0)
|
||||
|
||||
|
||||
class IFCStatus(PropertyGroup):
|
||||
name: StringProperty(name="Name")
|
||||
is_visible: BoolProperty(name="Is Visible", default=True)
|
||||
|
||||
|
||||
class BIMStatusProperties(PropertyGroup):
|
||||
is_enabled: BoolProperty(name="Is Enabled")
|
||||
statuses: CollectionProperty(name="Statuses", type=IFCStatus)
|
||||
|
||||
|
||||
class BIMWorkScheduleProperties(PropertyGroup):
|
||||
work_schedule_predefined_types: EnumProperty(
|
||||
items=get_schedule_predefined_types, name="Predefined Type", default=None
|
||||
)
|
||||
object_type: StringProperty(name="Object Type")
|
||||
durations_attributes: CollectionProperty(name="Durations Attributes", type=ISODuration)
|
||||
work_calendars: EnumProperty(items=getWorkCalendars, name="Work Calendars")
|
||||
work_schedule_attributes: CollectionProperty(name="Work Schedule Attributes", type=Attribute)
|
||||
@@ -361,10 +425,11 @@ class BIMWorkScheduleProperties(PropertyGroup):
|
||||
active_work_schedule_id: IntProperty(name="Active Work Schedules Id")
|
||||
active_task_index: IntProperty(name="Active Task Index", update=update_active_task_index)
|
||||
active_task_id: IntProperty(name="Active Task Id")
|
||||
highlighted_task_id: IntProperty(name="Highlited Task Id")
|
||||
task_attributes: CollectionProperty(name="Task Attributes", type=Attribute)
|
||||
should_show_visualisation_ui: BoolProperty(name="Should Show Visualisation UI", default=False)
|
||||
should_show_visualisation_ui: BoolProperty(name="Should Show Visualisation UI", default=True, update=switch_options)
|
||||
should_show_task_bar_selection: BoolProperty(name="Add to task bar", default=False)
|
||||
should_show_snapshot_ui: BoolProperty(name="Should Show Snapshot UI", default=False)
|
||||
should_show_snapshot_ui: BoolProperty(name="Should Show Snapshot UI", default=False, update=switch_options2)
|
||||
should_show_column_ui: BoolProperty(name="Should Show Column UI", default=False)
|
||||
columns: CollectionProperty(name="Columns", type=Attribute)
|
||||
active_column_index: IntProperty(name="Active Column Index")
|
||||
@@ -397,9 +462,9 @@ class BIMWorkScheduleProperties(PropertyGroup):
|
||||
visualisation_start: StringProperty(name="Visualisation Start", update=update_visualisation_start)
|
||||
visualisation_finish: StringProperty(name="Visualisation Finish", update=update_visualisation_finish)
|
||||
speed_multiplier: FloatProperty(name="Speed Multiplier", default=10000)
|
||||
speed_animation_duration: StringProperty(name="Speed Animation Duration", default="PT1S")
|
||||
speed_animation_duration: StringProperty(name="Speed Animation Duration", default="1 s")
|
||||
speed_animation_frames: IntProperty(name="Speed Animation Frames", default=24)
|
||||
speed_real_duration: StringProperty(name="Speed Real Duration", default="P1W")
|
||||
speed_real_duration: StringProperty(name="Speed Real Duration", default="1 w")
|
||||
speed_types: EnumProperty(
|
||||
items=[
|
||||
("FRAME_SPEED", "Frame-based", "e.g. 25 frames = 1 real week"),
|
||||
@@ -425,7 +490,9 @@ class BIMWorkScheduleProperties(PropertyGroup):
|
||||
enable_reorder: BoolProperty(name="Enable Reorder", default=False)
|
||||
show_task_operators: BoolProperty(name="Show Task Options", default=True)
|
||||
should_show_schedule_baseline_ui: BoolProperty(name="Baselines", default=False)
|
||||
filter_by_active_schedule: BoolProperty(name="Filter By Active Schedule", default=False, update = update_filter_by_active_schedule)
|
||||
filter_by_active_schedule: BoolProperty(
|
||||
name="Filter By Active Schedule", default=False, update=update_filter_by_active_schedule
|
||||
)
|
||||
|
||||
|
||||
class BIMTaskTreeProperties(PropertyGroup):
|
||||
@@ -495,16 +562,16 @@ class BIMTaskTypeColor(PropertyGroup):
|
||||
default=(1, 0, 0),
|
||||
min=0.0,
|
||||
max=1.0,
|
||||
# update=update_task_animation_color,
|
||||
)
|
||||
|
||||
|
||||
class BIMAnimationProperties(PropertyGroup):
|
||||
is_editing: BoolProperty(name="Is Loaded", default=False)
|
||||
saved_color_schemes: EnumProperty(items=get_saved_color_schemes, name="Saved Colour Schemes")
|
||||
active_color_component_outputs_index: IntProperty(name="Active Color Component Index")
|
||||
active_color_component_inputs_index: IntProperty(name="Active Color Component Index")
|
||||
task_colors_components_inputs: CollectionProperty(name="Groups", type=BIMTaskTypeColor)
|
||||
task_colors_components_outputs: CollectionProperty(name="Groups", type=BIMTaskTypeColor)
|
||||
task_input_colors: CollectionProperty(name="Groups", type=BIMTaskTypeColor)
|
||||
task_output_colors: CollectionProperty(name="Groups", type=BIMTaskTypeColor)
|
||||
color_full: FloatVectorProperty(
|
||||
name="Full Bar",
|
||||
subtype="COLOR",
|
||||
|
||||
@@ -21,8 +21,45 @@ import blenderbim.bim.helper
|
||||
from bpy.types import Panel, UIList
|
||||
from blenderbim.bim.ifc import IfcStore
|
||||
from blenderbim.bim.helper import draw_attributes
|
||||
from blenderbim.bim.module.sequence.data import WorkPlansData, WorkScheduleData, SequenceData, TaskICOMData
|
||||
import blenderbim.tool as tool
|
||||
from blenderbim.bim.module.sequence.data import (
|
||||
WorkPlansData,
|
||||
WorkScheduleData,
|
||||
SequenceData,
|
||||
TaskICOMData,
|
||||
AnimationColorSchemeData,
|
||||
)
|
||||
|
||||
|
||||
class BIM_PT_status(Panel):
|
||||
bl_label = "Status"
|
||||
bl_idname = "BIM_PT_status"
|
||||
bl_space_type = "PROPERTIES"
|
||||
bl_region_type = "WINDOW"
|
||||
bl_context = "scene"
|
||||
bl_parent_id = "BIM_PT_tab_status"
|
||||
bl_options = {"HIDE_HEADER"}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return IfcStore.get_file()
|
||||
|
||||
def draw(self, context):
|
||||
self.props = context.scene.BIMStatusProperties
|
||||
|
||||
if not self.props.is_enabled:
|
||||
row = self.layout.row()
|
||||
row.operator("bim.enable_status_filters", icon="GREASEPENCIL")
|
||||
return
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.operator("bim.activate_status_filters", icon="TIME")
|
||||
row.operator("bim.disable_status_filters", icon="CANCEL", text="")
|
||||
|
||||
for status in self.props.statuses:
|
||||
row = self.layout.row()
|
||||
row.label(text=status.name)
|
||||
row.prop(status, "is_visible", text="", emboss=False, icon="HIDE_OFF" if status.is_visible else "HIDE_ON")
|
||||
row.operator("bim.select_status_filter", icon="RESTRICT_SELECT_OFF", text="").name = status.name
|
||||
|
||||
|
||||
class BIM_PT_work_plans(Panel):
|
||||
@@ -32,10 +69,12 @@ class BIM_PT_work_plans(Panel):
|
||||
bl_space_type = "PROPERTIES"
|
||||
bl_region_type = "WINDOW"
|
||||
bl_context = "scene"
|
||||
bl_parent_id = "BIM_PT_tab_sequence"
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return tool.Blender.is_tab(context, "SCHEDULING") and tool.Ifc.get() and tool.Ifc.get().schema != "IFC2X3"
|
||||
file = IfcStore.get_file()
|
||||
return file and file.schema != "IFC2X3"
|
||||
|
||||
def draw(self, context):
|
||||
if not WorkPlansData.is_loaded:
|
||||
@@ -54,11 +93,10 @@ class BIM_PT_work_plans(Panel):
|
||||
def draw_work_plan_ui(self, work_plan):
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text=work_plan["name"], icon="TEXT")
|
||||
|
||||
if self.props.active_work_plan_id == work_plan["id"]:
|
||||
if self.props.editing_type == "ATTRIBUTES":
|
||||
row.operator("bim.edit_work_plan", text="", icon="CHECKMARK")
|
||||
row.operator("bim.disable_editing_work_plan", text="", icon="CANCEL")
|
||||
row.operator("bim.disable_editing_work_plan", text="Cancel", icon="CANCEL")
|
||||
elif self.props.active_work_plan_id:
|
||||
row.operator("bim.remove_work_plan", text="", icon="X").work_plan = work_plan["id"]
|
||||
else:
|
||||
@@ -101,10 +139,12 @@ class BIM_PT_work_schedules(Panel):
|
||||
bl_space_type = "PROPERTIES"
|
||||
bl_region_type = "WINDOW"
|
||||
bl_context = "scene"
|
||||
bl_parent_id = "BIM_PT_tab_sequence"
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return tool.Blender.is_tab(context, "SCHEDULING") and tool.Ifc.get() and tool.Ifc.get().schema != "IFC2X3"
|
||||
file = IfcStore.get_file()
|
||||
return file and hasattr(file, "schema") and file.schema != "IFC2X3"
|
||||
|
||||
def draw(self, context):
|
||||
if not SequenceData.is_loaded:
|
||||
@@ -113,10 +153,9 @@ class BIM_PT_work_schedules(Panel):
|
||||
WorkScheduleData.load()
|
||||
self.props = context.scene.BIMWorkScheduleProperties
|
||||
self.tprops = context.scene.BIMTaskTreeProperties
|
||||
self.animation_props = context.scene.BIMAnimationProperties
|
||||
|
||||
if not self.props.active_work_schedule_id:
|
||||
row = self.layout.row()
|
||||
row = self.layout.row(align=True)
|
||||
if SequenceData.data["has_work_schedules"]:
|
||||
row.label(
|
||||
text="{} Work Schedules Found".format(SequenceData.data["number_of_work_schedules_loaded"]),
|
||||
@@ -124,25 +163,25 @@ class BIM_PT_work_schedules(Panel):
|
||||
)
|
||||
else:
|
||||
row.label(text="No Work Schedules found.", icon="TEXT")
|
||||
row = self.layout.row(align=True)
|
||||
row.alignment = "RIGHT"
|
||||
row.prop(self.props, "work_schedule_predefined_types")
|
||||
row.operator("bim.add_work_schedule", text="Add", icon="ADD")
|
||||
row.operator("bim.add_work_schedule", text="", icon="ADD")
|
||||
|
||||
for work_schedule_id, work_schedule in SequenceData.data["work_schedules"].items():
|
||||
|
||||
self.draw_work_schedule_ui(work_schedule_id, work_schedule)
|
||||
|
||||
def draw_work_schedule_ui(self, work_schedule_id, work_schedule):
|
||||
if not work_schedule["PredefinedType"] == "BASELINE":
|
||||
if work_schedule["PredefinedType"] == "BASELINE":
|
||||
self.draw_readonly_work_schedule_ui(work_schedule_id)
|
||||
else:
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text=work_schedule["Name"] or "Unnamed", icon="LINENUMBERS_ON")
|
||||
if self.props.active_work_schedule_id == work_schedule_id:
|
||||
row.label(
|
||||
text="Currently editing: {}[{}]".format(work_schedule["Name"], work_schedule["PredefinedType"]),
|
||||
icon="LINENUMBERS_ON",
|
||||
)
|
||||
if self.props.editing_type == "WORK_SCHEDULE":
|
||||
row.operator("bim.edit_work_schedule", text="", icon="CHECKMARK")
|
||||
row.operator("bim.edit_work_schedule", text="Apply", icon="CHECKMARK")
|
||||
elif self.props.editing_type == "TASKS":
|
||||
grid = self.layout.grid_flow(columns=2, even_columns=True)
|
||||
|
||||
col = grid.column()
|
||||
row1 = col.row(align=True)
|
||||
row1.alignment = "LEFT"
|
||||
@@ -177,33 +216,30 @@ class BIM_PT_work_schedules(Panel):
|
||||
row1.alignment = "RIGHT"
|
||||
row1.prop(self.props, "should_show_column_ui", text="Schedule Columns", icon="SHORTDISPLAY")
|
||||
row2 = col.row(align=True)
|
||||
row2.prop(
|
||||
self.props, "should_show_visualisation_ui", text="Animation Options", icon="CAMERA_STEREO"
|
||||
)
|
||||
row2.prop(self.props, "should_show_snapshot_ui", text="Snapshot Options", icon="CAMERA_STEREO")
|
||||
row.operator("bim.disable_editing_work_schedule", text="Disable editing", icon="CANCEL")
|
||||
else:
|
||||
row.operator("bim.disable_editing_work_schedule", text="Cancel", icon="CANCEL")
|
||||
if not self.props.active_work_schedule_id:
|
||||
grid = self.layout.grid_flow(columns=2, even_columns=True)
|
||||
col1 = grid.column()
|
||||
col1.label(
|
||||
text="{}[{}]".format(work_schedule["Name"], work_schedule["PredefinedType"]) or "Unnamed",
|
||||
icon="LINENUMBERS_ON",
|
||||
)
|
||||
col2 = grid.column()
|
||||
row = col2.row(align=True)
|
||||
row.operator(
|
||||
"bim.enable_editing_work_schedule_tasks", text="", icon="ACTION"
|
||||
"bim.enable_editing_work_schedule_tasks", text="Tasks", icon="ACTION"
|
||||
).work_schedule = work_schedule_id
|
||||
row.operator(
|
||||
"bim.enable_editing_work_schedule", text="", icon="GREASEPENCIL"
|
||||
"bim.enable_editing_work_schedule", text="Attributes", icon="GREASEPENCIL"
|
||||
).work_schedule = work_schedule_id
|
||||
row.operator("bim.remove_work_schedule", text="", icon="X").work_schedule = work_schedule_id
|
||||
|
||||
row.operator("bim.remove_work_schedule", text="Delete", icon="X").work_schedule = work_schedule_id
|
||||
if self.props.active_work_schedule_id == work_schedule_id:
|
||||
if self.props.editing_type == "WORK_SCHEDULE":
|
||||
self.draw_editable_work_schedule_ui()
|
||||
elif self.props.editing_type == "TASKS":
|
||||
self.draw_baseline_ui(work_schedule_id)
|
||||
self.draw_column_ui()
|
||||
if self.props.should_show_visualisation_ui:
|
||||
self.draw_visualisation_ui()
|
||||
if self.props.should_show_snapshot_ui:
|
||||
self.draw_snapshot_ui()
|
||||
self.draw_editable_task_ui(work_schedule_id)
|
||||
else:
|
||||
self.draw_readonly_work_schedule_ui(work_schedule_id)
|
||||
|
||||
def draw_task_operators(self):
|
||||
row = self.layout.row(align=True)
|
||||
@@ -218,7 +254,9 @@ class BIM_PT_work_schedules(Panel):
|
||||
row.operator("bim.edit_task_time", text="", icon="CHECKMARK")
|
||||
elif self.props.editing_task_type == "ATTRIBUTES":
|
||||
row.operator("bim.edit_task", text="", icon="CHECKMARK")
|
||||
row.operator("bim.disable_editing_task", text="", icon="CANCEL")
|
||||
row.operator("bim.disable_editing_task", text="Cancel", icon="CANCEL")
|
||||
elif self.props.editing_task_type == "SEQUENCE":
|
||||
row.operator("bim.disable_editing_task", text="Cancel", icon="CANCEL")
|
||||
else:
|
||||
row.prop(self.props, "show_task_operators", text="Edit", icon="GREASEPENCIL")
|
||||
if self.props.show_task_operators:
|
||||
@@ -226,7 +264,7 @@ class BIM_PT_work_schedules(Panel):
|
||||
row2.alignment = "RIGHT"
|
||||
|
||||
row2.prop(self.props, "enable_reorder", text="", icon="SORTALPHA")
|
||||
row2.operator("bim.enable_editing_task_sequence", text="", icon="TRACKING").task = ifc_definition_id
|
||||
row2.operator("bim.enable_editing_task_sequence", text="", icon="TRACKING")
|
||||
row2.operator("bim.enable_editing_task_time", text="", icon="TIME").task = ifc_definition_id
|
||||
row2.operator(
|
||||
"bim.enable_editing_task_calendar", text="", icon="VIEW_ORTHO"
|
||||
@@ -242,7 +280,7 @@ class BIM_PT_work_schedules(Panel):
|
||||
if not self.props.should_show_column_ui:
|
||||
return
|
||||
row = self.layout.row()
|
||||
row.operator("bim.setup_default_task_columns", text="Add Default Columns", icon="ANCHOR_BOTTOM")
|
||||
row.operator("bim.setup_default_task_columns", text="Setup Default Columns", icon="ANCHOR_BOTTOM")
|
||||
row.alignment = "RIGHT"
|
||||
row = self.layout.row(align=True)
|
||||
row.prop(self.props, "column_types", text="")
|
||||
@@ -268,103 +306,6 @@ class BIM_PT_work_schedules(Panel):
|
||||
|
||||
self.layout.template_list("BIM_UL_task_columns", "", self.props, "columns", self.props, "active_column_index")
|
||||
|
||||
def draw_visualisation_ui(self):
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text="Start Date/ Date Range:")
|
||||
row = self.layout.row(align=True)
|
||||
op = row.operator("bim.datepicker", text=self.props.visualisation_start or "Start Date", icon="REW")
|
||||
op.target_prop = "BIMWorkScheduleProperties.visualisation_start"
|
||||
op = row.operator("bim.datepicker", text=self.props.visualisation_finish or "Finish Date", icon="FF")
|
||||
op.target_prop = "BIMWorkScheduleProperties.visualisation_finish"
|
||||
op = row.operator("bim.guess_date_range", text="Guess", icon="FILE_REFRESH")
|
||||
op.work_schedule = self.props.active_work_schedule_id
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text="Speed Settings")
|
||||
row = self.layout.row(align=True)
|
||||
row.prop(self.props, "speed_types", text="")
|
||||
if self.props.speed_types == "FRAME_SPEED":
|
||||
row.prop(self.props, "speed_animation_frames", text="")
|
||||
row.prop(self.props, "speed_real_duration", text="")
|
||||
elif self.props.speed_types == "DURATION_SPEED":
|
||||
row.prop(self.props, "speed_animation_duration", text="")
|
||||
row.prop(self.props, "speed_real_duration", text="")
|
||||
elif self.props.speed_types == "MULTIPLIER_SPEED":
|
||||
row.prop(self.props, "speed_multiplier", text="")
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text="Display Settings")
|
||||
row = self.layout.row(align=True)
|
||||
if not self.animation_props.is_editing:
|
||||
op = row.operator(
|
||||
"bim.enable_editing_task_animation_colors", text="Customize Object Colors", icon="SEQUENCE_COLOR_04"
|
||||
)
|
||||
else:
|
||||
op = row.operator(
|
||||
"bim.disable_editing_task_animation_colors", text="Hide Object Colors", icon="SEQUENCE_COLOR_01"
|
||||
)
|
||||
|
||||
row.prop(self.animation_props, "should_show_task_bar_options", text="Task Bar", icon="NLA_PUSHDOWN")
|
||||
if self.animation_props.should_show_task_bar_options:
|
||||
row = self.layout.row()
|
||||
row.label(text="Task Bar Options", icon="NLA_PUSHDOWN")
|
||||
row.alignment = "LEFT"
|
||||
row = self.layout.row(align=True)
|
||||
row.prop(self.props, "should_show_task_bar_selection", text="Enable Selection", icon="NLA_PUSHDOWN")
|
||||
row.operator("bim.add_task_bars", text="Generate bars", icon="NLA_PUSHDOWN")
|
||||
|
||||
grid = self.layout.grid_flow(columns=2, even_columns=True)
|
||||
# Column1
|
||||
col = grid.column()
|
||||
|
||||
row = col.row(align=True)
|
||||
row.prop(self.animation_props, "color_progress")
|
||||
|
||||
row = col.row(align=True)
|
||||
row.prop(self.animation_props, "color_full")
|
||||
|
||||
if self.animation_props.is_editing:
|
||||
self.draw_visualisation_settings_ui()
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
op = row.operator("bim.visualise_work_schedule_date_range", text="Create Animation", icon="OUTLINER_OB_CAMERA")
|
||||
op.work_schedule = self.props.active_work_schedule_id
|
||||
|
||||
def draw_snapshot_ui(self):
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text="Create Construction Snapshot:")
|
||||
row = self.layout.row(align=True)
|
||||
op = row.operator("bim.datepicker", text=self.props.visualisation_start or "Date", icon="REW")
|
||||
op.target_prop = "BIMWorkScheduleProperties.visualisation_start"
|
||||
op = row.operator("bim.visualise_work_schedule_date", text="Create SnapShot", icon="RESTRICT_RENDER_OFF")
|
||||
op.work_schedule = self.props.active_work_schedule_id
|
||||
|
||||
def draw_visualisation_settings_ui(self):
|
||||
grid = self.layout.grid_flow(columns=2, even_columns=True)
|
||||
col = grid.column()
|
||||
row1 = col.row(align=True)
|
||||
row1.label(text="INPUT COLORS", icon="COLLECTION_COLOR_01")
|
||||
row1 = col.row()
|
||||
row1.template_list(
|
||||
"BIM_UL_animation_colors",
|
||||
"",
|
||||
self.animation_props,
|
||||
"task_colors_components_inputs",
|
||||
self.animation_props,
|
||||
"active_color_component_inputs_index",
|
||||
)
|
||||
col = grid.column()
|
||||
row1 = col.row(align=True)
|
||||
row1.label(text="OUTPUT COLORS", icon="COLLECTION_COLOR_04")
|
||||
row1 = col.row()
|
||||
row1.template_list(
|
||||
"BIM_UL_animation_colors",
|
||||
"",
|
||||
self.animation_props,
|
||||
"task_colors_components_outputs",
|
||||
self.animation_props,
|
||||
"active_color_component_outputs_index",
|
||||
)
|
||||
|
||||
def draw_editable_work_schedule_ui(self):
|
||||
draw_attributes(self.props.work_schedule_attributes, self.layout)
|
||||
|
||||
@@ -390,13 +331,13 @@ class BIM_PT_work_schedules(Panel):
|
||||
self.draw_editable_task_attributes_ui()
|
||||
elif self.props.active_task_id and self.props.editing_task_type == "CALENDAR":
|
||||
self.draw_editable_task_calendar_ui()
|
||||
elif self.props.active_task_id and self.props.editing_task_type == "SEQUENCE":
|
||||
elif self.props.highlighted_task_id and self.props.editing_task_type == "SEQUENCE":
|
||||
self.draw_editable_task_sequence_ui()
|
||||
elif self.props.active_task_time_id and self.props.editing_task_type == "TASKTIME":
|
||||
self.draw_editable_task_time_attributes_ui()
|
||||
|
||||
def draw_editable_task_sequence_ui(self):
|
||||
task = SequenceData.data["tasks"][self.props.active_task_id]
|
||||
task = SequenceData.data["tasks"][self.props.highlighted_task_id]
|
||||
row = self.layout.row()
|
||||
row.label(text="{} Predecessors".format(len(task["IsSuccessorFrom"])), icon="BACK")
|
||||
for sequence_id in task["IsSuccessorFrom"]:
|
||||
@@ -410,6 +351,7 @@ class BIM_PT_work_schedules(Panel):
|
||||
def draw_editable_sequence_ui(self, sequence, process_type):
|
||||
task = SequenceData.data["tasks"][sequence[process_type]]
|
||||
row = self.layout.row(align=True)
|
||||
row.operator("bim.go_to_task", text="", icon="RESTRICT_SELECT_OFF").task = task["id"]
|
||||
row.label(text=task["Identification"] or "XXX")
|
||||
row.label(text=task["Name"] or "Unnamed")
|
||||
row.label(text=sequence["SequenceType"] or "N/A")
|
||||
@@ -421,12 +363,12 @@ class BIM_PT_work_schedules(Panel):
|
||||
if self.props.active_sequence_id == sequence["id"]:
|
||||
if self.props.editing_sequence_type == "ATTRIBUTES":
|
||||
row.operator("bim.edit_sequence_attributes", text="", icon="CHECKMARK")
|
||||
row.operator("bim.disable_editing_sequence", text="", icon="CANCEL")
|
||||
row.operator("bim.disable_editing_sequence", text="Cancel", icon="CANCEL")
|
||||
self.draw_editable_sequence_attributes_ui()
|
||||
elif self.props.editing_sequence_type == "LAG_TIME":
|
||||
op = row.operator("bim.edit_sequence_lag_time", text="", icon="CHECKMARK")
|
||||
op.lag_time = sequence["TimeLag"]
|
||||
row.operator("bim.disable_editing_sequence", text="", icon="CANCEL")
|
||||
row.operator("bim.disable_editing_sequence", text="Cancel", icon="CANCEL")
|
||||
self.draw_editable_sequence_lag_time_ui()
|
||||
else:
|
||||
if sequence["TimeLag"]:
|
||||
@@ -491,7 +433,7 @@ class BIM_PT_work_schedules(Panel):
|
||||
"id"
|
||||
]
|
||||
baseline_row.operator(
|
||||
"bim.enable_editing_work_schedule_tasks", text="", icon="ACTION"
|
||||
"bim.enable_editing_work_schedule_tasks", text="Display Schedule", icon="ACTION"
|
||||
).work_schedule = baseline["id"]
|
||||
baseline_row.operator("bim.remove_work_schedule", text="", icon="X").work_schedule = baseline["id"]
|
||||
|
||||
@@ -521,6 +463,172 @@ class BIM_PT_work_schedules(Panel):
|
||||
)
|
||||
|
||||
|
||||
class BIM_PT_animation_tools(Panel):
|
||||
bl_label = "Animation Tools"
|
||||
bl_idname = "BIM_PT_animation_tools"
|
||||
bl_options = {"DEFAULT_CLOSED"}
|
||||
bl_space_type = "PROPERTIES"
|
||||
bl_region_type = "WINDOW"
|
||||
bl_context = "scene"
|
||||
bl_parent_id = "BIM_PT_work_schedules"
|
||||
bl_order = 4
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
props = context.scene.BIMWorkScheduleProperties
|
||||
if props.active_work_schedule_id:
|
||||
return True
|
||||
return False
|
||||
|
||||
def draw(self, context):
|
||||
self.props = context.scene.BIMWorkScheduleProperties
|
||||
self.animation_props = context.scene.BIMAnimationProperties
|
||||
row = self.layout.row(align=True)
|
||||
row.alignment = "RIGHT"
|
||||
row.prop(self.props, "should_show_visualisation_ui", text="Animation Settings", icon="SETTINGS")
|
||||
row.prop(self.props, "should_show_snapshot_ui", text="Snapshot Settings", icon="SETTINGS")
|
||||
if self.props.should_show_visualisation_ui:
|
||||
self.draw_visualisation_ui()
|
||||
if self.props.should_show_snapshot_ui:
|
||||
self.draw_snapshot_ui()
|
||||
self.draw_processing_options()
|
||||
|
||||
def draw_processing_options(self):
|
||||
row = self.layout.row(align=True)
|
||||
row.alignment = "LEFT"
|
||||
row.label(text="Processing Tools")
|
||||
row = self.layout.row()
|
||||
row.alignment = "RIGHT"
|
||||
row.operator("bim.add_animation_camera", text="Add Camera", icon="CAMERA_DATA")
|
||||
row.operator("bim.clear_previous_animation", text="Reset Animation", icon="TRACKING_CLEAR_FORWARDS")
|
||||
|
||||
def draw_visualisation_ui(self):
|
||||
if not AnimationColorSchemeData.is_loaded:
|
||||
AnimationColorSchemeData.load()
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text="Start Date/ Date Range:", icon="CAMERA_DATA")
|
||||
row = self.layout.row(align=True)
|
||||
row.alignment = "RIGHT"
|
||||
op = row.operator("bim.datepicker", text=self.props.visualisation_start or "Start Date", icon="REW")
|
||||
op.target_prop = "BIMWorkScheduleProperties.visualisation_start"
|
||||
op = row.operator("bim.datepicker", text=self.props.visualisation_finish or "Finish Date", icon="FF")
|
||||
op.target_prop = "BIMWorkScheduleProperties.visualisation_finish"
|
||||
op = row.operator("bim.guess_date_range", text="Guess", icon="FILE_REFRESH")
|
||||
op.work_schedule = self.props.active_work_schedule_id
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text="Speed Settings")
|
||||
row = self.layout.row(align=True)
|
||||
row.alignment = "RIGHT"
|
||||
row.prop(self.props, "speed_types", text="")
|
||||
if self.props.speed_types == "FRAME_SPEED":
|
||||
row.prop(self.props, "speed_animation_frames", text="")
|
||||
row.prop(self.props, "speed_real_duration", text="")
|
||||
elif self.props.speed_types == "DURATION_SPEED":
|
||||
row.prop(self.props, "speed_animation_duration", text="")
|
||||
row.label(text="->")
|
||||
row.prop(self.props, "speed_real_duration", text="")
|
||||
elif self.props.speed_types == "MULTIPLIER_SPEED":
|
||||
row.prop(self.props, "speed_multiplier", text="")
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text="Display Settings")
|
||||
row = self.layout.row()
|
||||
row.alignment = "RIGHT"
|
||||
row.prop(self.animation_props, "should_show_task_bar_options", text="Task Bars", icon="NLA_PUSHDOWN")
|
||||
if self.animation_props.should_show_task_bar_options:
|
||||
row = self.layout.row()
|
||||
row.label(text="Task Bar Options", icon="NLA_PUSHDOWN")
|
||||
row.alignment = "LEFT"
|
||||
row = self.layout.row(align=True)
|
||||
row.prop(self.props, "should_show_task_bar_selection", text="Enable Selection", icon="NLA_PUSHDOWN")
|
||||
row.operator("bim.add_task_bars", text="Generate bars", icon="NLA_PUSHDOWN")
|
||||
|
||||
grid = self.layout.grid_flow(columns=2, even_columns=True)
|
||||
# Column1
|
||||
col = grid.column()
|
||||
|
||||
row = col.row(align=True)
|
||||
row.prop(self.animation_props, "color_progress")
|
||||
|
||||
row = col.row(align=True)
|
||||
row.prop(self.animation_props, "color_full")
|
||||
|
||||
row = self.layout.row(align=True)
|
||||
row.alignment = "RIGHT"
|
||||
if self.animation_props.saved_color_schemes:
|
||||
row.prop(self.animation_props, "saved_color_schemes", text="Color Scheme", icon="SEQUENCE_COLOR_04")
|
||||
else:
|
||||
row.label(text="No Color Scheme Saved", icon="INFO")
|
||||
op = row.operator("bim.visualise_work_schedule_date_range", text="Create Animation", icon="OUTLINER_OB_CAMERA")
|
||||
op.work_schedule = self.props.active_work_schedule_id
|
||||
|
||||
def draw_snapshot_ui(self):
|
||||
row = self.layout.row(align=True)
|
||||
row.label(text="Date of Snapshot:", icon="CAMERA_STEREO")
|
||||
row = self.layout.row(align=True)
|
||||
row.alignment = "RIGHT"
|
||||
op = row.operator("bim.datepicker", text=self.props.visualisation_start or "Date", icon="PROP_PROJECTED")
|
||||
op.target_prop = "BIMWorkScheduleProperties.visualisation_start"
|
||||
row = self.layout.row(align=True)
|
||||
row.alignment = "RIGHT"
|
||||
op = row.operator("bim.visualise_work_schedule_date", text="Create SnapShot", icon="CAMERA_STEREO")
|
||||
op.work_schedule = self.props.active_work_schedule_id
|
||||
|
||||
|
||||
class BIM_PT_animation_Color_Scheme(Panel):
|
||||
bl_label = "Animation Color Scheme"
|
||||
bl_idname = "BIM_PT_animation_Color_Scheme"
|
||||
bl_options = {"DEFAULT_CLOSED"}
|
||||
bl_space_type = "PROPERTIES"
|
||||
bl_region_type = "WINDOW"
|
||||
bl_context = "scene"
|
||||
bl_parent_id = "BIM_PT_tab_sequence"
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
file = IfcStore.get_file()
|
||||
return file and hasattr(file, "schema") and file.schema != "IFC2X3"
|
||||
|
||||
def draw(self, context):
|
||||
if not AnimationColorSchemeData.is_loaded:
|
||||
AnimationColorSchemeData.load()
|
||||
|
||||
self.animation_props = context.scene.BIMAnimationProperties
|
||||
row = self.layout.row(align=True)
|
||||
row.alignment = "RIGHT"
|
||||
row.operator("bim.load_default_animation_color_scheme", text="Load default", icon="SEQUENCE_COLOR_04")
|
||||
if AnimationColorSchemeData.data["saved_color_schemes"]:
|
||||
row.operator("bim.load_animation_color_scheme", text="Load Scheme", icon="IMPORT")
|
||||
row.operator("bim.save_animation_color_scheme", text="Save Scheme", icon="EXPORT")
|
||||
|
||||
grid = self.layout.grid_flow(columns=2, even_columns=True)
|
||||
col = grid.column()
|
||||
row1 = col.row(align=True)
|
||||
row1.label(text="INPUT COLORS", icon="COLLECTION_COLOR_01")
|
||||
row1 = col.row()
|
||||
row1.template_list(
|
||||
"BIM_UL_animation_colors",
|
||||
"",
|
||||
self.animation_props,
|
||||
"task_input_colors",
|
||||
self.animation_props,
|
||||
"active_color_component_inputs_index",
|
||||
)
|
||||
col = grid.column()
|
||||
row1 = col.row(align=True)
|
||||
row1.label(text="OUTPUT COLORS", icon="COLLECTION_COLOR_04")
|
||||
row1 = col.row()
|
||||
row1.template_list(
|
||||
"BIM_UL_animation_colors",
|
||||
"",
|
||||
self.animation_props,
|
||||
"task_output_colors",
|
||||
self.animation_props,
|
||||
"active_color_component_outputs_index",
|
||||
)
|
||||
|
||||
|
||||
class BIM_PT_task_icom(Panel):
|
||||
bl_label = "Task ICOM"
|
||||
bl_idname = "BIM_PT_task_icom"
|
||||
@@ -529,6 +637,7 @@ class BIM_PT_task_icom(Panel):
|
||||
bl_region_type = "WINDOW"
|
||||
bl_context = "scene"
|
||||
bl_parent_id = "BIM_PT_work_schedules"
|
||||
bl_order = 1
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
@@ -657,9 +766,9 @@ class BIM_UL_task_resources(UIList):
|
||||
def draw_item(self, context, layout, data, item, icon, active_data, active_propname):
|
||||
if item:
|
||||
row = layout.row(align=True)
|
||||
row.operator("bim.go_to_resource", text="", icon="STYLUS_PRESSURE").resource = item.ifc_definition_id
|
||||
row.prop(item, "name", emboss=False, text="")
|
||||
row.label(text=str(item.schedule_usage))
|
||||
|
||||
row.prop(item, "schedule_usage", emboss=False, text="")
|
||||
|
||||
class BIM_UL_animation_colors(UIList):
|
||||
def draw_item(self, context, layout, data, item, icon, active_data, active_propname):
|
||||
@@ -682,7 +791,7 @@ class BIM_UL_product_input_tasks(UIList):
|
||||
def draw_item(self, context, layout, data, item, icon, active_data, active_propname):
|
||||
if item:
|
||||
row = layout.row(align=True)
|
||||
op = row.operator("bim.highlight_task", text="", icon="STYLUS_PRESSURE")
|
||||
op = row.operator("bim.go_to_task", text="", icon="STYLUS_PRESSURE")
|
||||
op.task = item.ifc_definition_id
|
||||
row.split(factor=0.8)
|
||||
row.label(text=item.name)
|
||||
@@ -692,7 +801,7 @@ class BIM_UL_product_output_tasks(UIList):
|
||||
def draw_item(self, context, layout, data, item, icon, active_data, active_propname):
|
||||
if item:
|
||||
row = layout.row(align=True)
|
||||
op = row.operator("bim.highlight_task", text="", icon="STYLUS_PRESSURE")
|
||||
op = row.operator("bim.go_to_task", text="", icon="STYLUS_PRESSURE")
|
||||
op.task = item.ifc_definition_id
|
||||
row.split(factor=0.8)
|
||||
row.label(text=item.name)
|
||||
@@ -732,19 +841,18 @@ class BIM_UL_tasks(UIList):
|
||||
)
|
||||
if self.props.enable_reorder:
|
||||
self.draw_order_operator(row, item.ifc_definition_id)
|
||||
if self.props.active_task_id:
|
||||
if self.props.editing_task_type == "SEQUENCE" and self.props.active_task_id != item.ifc_definition_id:
|
||||
if item.is_predecessor:
|
||||
op = row.operator("bim.unassign_predecessor", text="", icon="BACK", emboss=False)
|
||||
else:
|
||||
op = row.operator("bim.assign_predecessor", text="", icon="TRACKING_BACKWARDS", emboss=False)
|
||||
op.task = item.ifc_definition_id
|
||||
if self.props.editing_task_type == "SEQUENCE" and self.props.highlighted_task_id != item.ifc_definition_id:
|
||||
if item.is_predecessor:
|
||||
op = row.operator("bim.unassign_predecessor", text="", icon="BACK", emboss=False)
|
||||
else:
|
||||
op = row.operator("bim.assign_predecessor", text="", icon="TRACKING_BACKWARDS", emboss=False)
|
||||
op.task = item.ifc_definition_id
|
||||
|
||||
if item.is_successor:
|
||||
op = row.operator("bim.unassign_successor", text="", icon="FORWARD", emboss=False)
|
||||
else:
|
||||
op = row.operator("bim.assign_successor", text="", icon="TRACKING_FORWARDS", emboss=False)
|
||||
op.task = item.ifc_definition_id
|
||||
if item.is_successor:
|
||||
op = row.operator("bim.unassign_successor", text="", icon="FORWARD", emboss=False)
|
||||
else:
|
||||
op = row.operator("bim.assign_successor", text="", icon="TRACKING_FORWARDS", emboss=False)
|
||||
op.task = item.ifc_definition_id
|
||||
|
||||
def draw_order_operator(self, row, ifc_definition_id):
|
||||
task = SequenceData.data["tasks"][ifc_definition_id]
|
||||
@@ -813,10 +921,12 @@ class BIM_PT_work_calendars(Panel):
|
||||
bl_space_type = "PROPERTIES"
|
||||
bl_region_type = "WINDOW"
|
||||
bl_context = "scene"
|
||||
bl_parent_id = "BIM_PT_tab_sequence"
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return tool.Blender.is_tab(context, "SCHEDULING") and tool.Ifc.get() and tool.Ifc.get().schema != "IFC2X3"
|
||||
file = IfcStore.get_file()
|
||||
return file and hasattr(file, "schema") and file.schema != "IFC2X3"
|
||||
|
||||
def draw(self, context):
|
||||
if not SequenceData.is_loaded:
|
||||
@@ -841,7 +951,7 @@ class BIM_PT_work_calendars(Panel):
|
||||
if self.props.active_work_calendar_id == work_calendar_id:
|
||||
if self.props.editing_type == "ATTRIBUTES":
|
||||
row.operator("bim.edit_work_calendar", text="", icon="CHECKMARK")
|
||||
row.operator("bim.disable_editing_work_calendar", text="", icon="CANCEL")
|
||||
row.operator("bim.disable_editing_work_calendar", text="Cancel", icon="CANCEL")
|
||||
elif self.props.active_work_calendar_id:
|
||||
row.operator("bim.remove_work_calendar", text="", icon="X").work_calendar = work_calendar_id
|
||||
else:
|
||||
@@ -879,7 +989,7 @@ class BIM_PT_work_calendars(Panel):
|
||||
row.label(text="{} - {}".format(work_time["Start"] or "*", work_time["Finish"] or "*"))
|
||||
if self.props.active_work_time_id == work_time["id"]:
|
||||
row.operator("bim.edit_work_time", text="", icon="CHECKMARK")
|
||||
row.operator("bim.disable_editing_work_time", text="", icon="CANCEL")
|
||||
row.operator("bim.disable_editing_work_time", text="Cancel", icon="CANCEL")
|
||||
elif self.props.active_work_time_id:
|
||||
op = row.operator("bim.remove_work_time", text="", icon="X")
|
||||
op.work_time = work_time["id"]
|
||||
@@ -1000,29 +1110,3 @@ class BIM_PT_4D_Tools(Panel):
|
||||
self.props,
|
||||
"active_product_output_task_index",
|
||||
)
|
||||
|
||||
|
||||
class BIM_PT_Task_Bar_Creator(Panel):
|
||||
bl_label = "Task Bar Creator"
|
||||
bl_idname = "BIM_PT_Task_Bar_Creator"
|
||||
bl_space_type = "VIEW_3D"
|
||||
bl_region_type = "UI"
|
||||
bl_options = {"DEFAULT_CLOSED"}
|
||||
bl_parent_id = "BIM_PT_4D_Tools"
|
||||
|
||||
def draw(self, context):
|
||||
self.animation_props = context.scene.BIMAnimationProperties
|
||||
row = self.layout.row()
|
||||
row.operator("bim.add_task_bars", text="Add Bar Visual", icon="NLA_PUSHDOWN")
|
||||
|
||||
grid = self.layout.grid_flow(columns=2, even_columns=True)
|
||||
# Column1
|
||||
col = grid.column()
|
||||
row1 = col.row(align=True)
|
||||
row1.label(text="Bar Colors", icon="NLA_PUSHDOWN")
|
||||
|
||||
row2 = col.row(align=True)
|
||||
row2.prop(self.animation_props, "color_progress")
|
||||
|
||||
row3 = col.row(align=True)
|
||||
row3.prop(self.animation_props, "color_full")
|
||||
|
||||
@@ -34,6 +34,7 @@ classes = (
|
||||
operator.RemovePort,
|
||||
operator.RemoveSystem,
|
||||
operator.SelectSystemProducts,
|
||||
operator.MEPConnectElements,
|
||||
operator.SetFlowDirection,
|
||||
operator.ShowPorts,
|
||||
operator.UnassignSystem,
|
||||
|
||||
@@ -23,6 +23,7 @@ import blenderbim.core.system as core
|
||||
import blenderbim.bim.handler
|
||||
from blenderbim.bim.ifc import IfcStore
|
||||
from blenderbim.bim.module.system.data import PortData
|
||||
from mathutils import Matrix
|
||||
|
||||
|
||||
class Operator:
|
||||
@@ -215,6 +216,42 @@ class DisconnectPort(bpy.types.Operator, Operator):
|
||||
core.disconnect_port(tool.Ifc, port=element)
|
||||
|
||||
|
||||
class MEPConnectElements(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.mep_connect_elements"
|
||||
bl_label = "Connect MEP Elements"
|
||||
bl_description = "Connects two selected elements if they have ports with matching location"
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return len(context.selected_objects) == 2
|
||||
|
||||
def _execute(self, context):
|
||||
obj1 = context.active_object
|
||||
obj2 = next(o for o in context.selected_objects if o != obj1)
|
||||
|
||||
el1 = tool.Ifc.get_entity(obj1)
|
||||
el2 = tool.Ifc.get_entity(obj2)
|
||||
|
||||
obj1_ports = [p for p in tool.System.get_ports(el1) if not tool.System.get_connected_port(p)]
|
||||
obj2_ports = [p for p in tool.System.get_ports(el2) if not tool.System.get_connected_port(p)]
|
||||
|
||||
if not obj1_ports or not obj2_ports:
|
||||
self.report({"ERROR"}, "Couldn't find free ports to connect.")
|
||||
return
|
||||
|
||||
for port1 in obj1_ports:
|
||||
port1_location = tool.Model.get_element_matrix(port1).translation
|
||||
for port2 in obj2_ports:
|
||||
port2_location = tool.Model.get_element_matrix(port2).translation
|
||||
if tool.Cad.are_vectors_equal(port1_location, port2_location):
|
||||
core.connect_port(tool.Ifc, port1, port2)
|
||||
return {"FINISHED"}
|
||||
|
||||
self.report({"ERROR"}, "Couldn't find any matching ports to connect.")
|
||||
return {"CANCELLED"}
|
||||
|
||||
|
||||
class SetFlowDirection(bpy.types.Operator, Operator):
|
||||
bl_idname = "bim.set_flow_direction"
|
||||
bl_label = "Set Flow Direction"
|
||||
|
||||
@@ -123,6 +123,7 @@ class BIM_PT_object_systems(Panel):
|
||||
"IfcDistributionSystem": "NETWORK_DRIVE",
|
||||
"IfcDistributionCircuit": "DRIVER",
|
||||
"IfcBuildingSystem": "MOD_BUILD",
|
||||
"IfcBuiltSystem": "MOD_BUILD",
|
||||
"IfcZone": "CUBE",
|
||||
}
|
||||
for system in ObjectSystemData.data["systems"]:
|
||||
@@ -166,6 +167,7 @@ class BIM_PT_ports(Panel):
|
||||
row = self.layout.row(align=True)
|
||||
total_ports = PortData.data["total_ports"]
|
||||
row.label(text=f"{total_ports} Ports Found", icon="PLUGIN")
|
||||
row.operator("bim.mep_connect_elements", text="", icon="PLUGIN")
|
||||
row.operator("bim.show_ports", icon="HIDE_OFF", text="")
|
||||
row.operator("bim.hide_ports", icon="HIDE_ON", text="")
|
||||
row.operator("bim.add_port", icon="ADD", text="")
|
||||
@@ -283,6 +285,7 @@ class BIM_UL_systems(UIList):
|
||||
"IfcDistributionSystem": "NETWORK_DRIVE",
|
||||
"IfcDistributionCircuit": "DRIVER",
|
||||
"IfcBuildingSystem": "MOD_BUILD",
|
||||
"IfcBuiltSystem": "MOD_BUILD",
|
||||
"IfcZone": "CUBE",
|
||||
}
|
||||
if item:
|
||||
@@ -315,6 +318,7 @@ class BIM_UL_object_systems(UIList):
|
||||
"IfcDistributionSystem": "NETWORK_DRIVE",
|
||||
"IfcDistributionCircuit": "DRIVER",
|
||||
"IfcBuildingSystem": "MOD_BUILD",
|
||||
"IfcBuiltSystem": "MOD_BUILD",
|
||||
"IfcZone": "CUBE",
|
||||
}
|
||||
if item:
|
||||
|
||||
@@ -830,13 +830,13 @@ class BIM_OT_enum_property_search(bpy.types.Operator):
|
||||
mapping = getter_suggestions.get(self.prop_name)
|
||||
if mapping is None:
|
||||
return
|
||||
for key, values in mapping().items():
|
||||
for key, suggestions in mapping().items():
|
||||
if key in self.identifiers:
|
||||
if not isinstance(values, (tuple, list)):
|
||||
values = [values]
|
||||
for value in values:
|
||||
predefined_type = value["predefined_type"].upper()
|
||||
name = value.get("name")
|
||||
if not isinstance(suggestions, (tuple, list)):
|
||||
suggestions = [suggestions]
|
||||
for suggestion in suggestions:
|
||||
predefined_type = suggestion.get("predefined_type", "NOTDEFINED").upper()
|
||||
name = suggestion.get("name")
|
||||
self.add_item(
|
||||
identifier=key,
|
||||
name=f"{key} > {name if name else predefined_type }",
|
||||
|
||||
@@ -305,7 +305,7 @@ def get_tab(self, context):
|
||||
("DRAWINGS", "Drawings and Documents", "", "DOCUMENTS", 3),
|
||||
("SERVICES", "Services and Systems", "", "NETWORK_DRIVE", 4),
|
||||
("STRUCTURE", "Structural Analysis", "", "EDITMODE_HLT", 5),
|
||||
("SCHEDULING", "Construction Scheduling", "", "NLA", 6),
|
||||
("SCHEDULING", "Costing and Scheduling", "", "NLA", 6),
|
||||
("FM", "Facility Management", "", "PACKAGE", 7),
|
||||
("QUALITY", "Quality and Coordination", "", "COMMUNITY", 8),
|
||||
("BLENDER", "Blender Properties", "", "BLENDER", 9),
|
||||
@@ -435,6 +435,7 @@ class BIMMeshProperties(PropertyGroup):
|
||||
ifc_definition_id: IntProperty(name="IFC Definition ID")
|
||||
ifc_boolean_id: IntProperty(name="IFC Boolean ID")
|
||||
obj: bpy.props.PointerProperty(type=bpy.types.Object)
|
||||
has_openings_applied: BoolProperty(name="Has Openings Applied", default=True)
|
||||
is_native: BoolProperty(name="Is Native", default=False)
|
||||
is_swept_solid: BoolProperty(name="Is Swept Solid")
|
||||
is_parametric: BoolProperty(name="Is Parametric", default=False)
|
||||
|
||||
@@ -0,0 +1,498 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
|
||||
FILE_NAME('','2020-04-23T18:09:27',(),(),'IfcOpenShell 0.6.0b0','IfcOpenShell 0.6.0b0','');
|
||||
FILE_SCHEMA(('IFC4'));
|
||||
ENDSEC;
|
||||
DATA;
|
||||
#1=IFCPROJECTLIBRARY($,$,'BB/SfB (3/4 cijfers)',$,$,$,$,$,$);
|
||||
#2=IFCCLASSIFICATION('Regie der Gebouwen','1990','2017-08-31','BB/SfB (3/4 cijfers)','Kies hieronder een BB/SfB code. Deze code wordt als ifc-classificatie aan het geselecteerde element toegevoegd.\X2\000A\X0\The BB/SfB (3/4 digits) standard defines a classification and information coding system for the AEC industry in Belgium.',$,('.'));
|
||||
#3=IFCRELASSOCIATESCLASSIFICATION('182PB2CvD69RejlY5sr47M',$,$,$,(#1),#2);
|
||||
#4=IFCCLASSIFICATIONREFERENCE($,'0-','TERREINEN, PROJECTEN',#2,$,$);
|
||||
#5=IFCCLASSIFICATIONREFERENCE($,'1-','BODEM, ONDERBOUW',#2,$,$);
|
||||
#6=IFCCLASSIFICATIONREFERENCE($,'11-','BODEM',#5,$,$);
|
||||
#7=IFCCLASSIFICATIONREFERENCE($,'11.1','BODEMRELI\X2\00CB\X0\F, BODEMHELLING',#6,$,$);
|
||||
#8=IFCCLASSIFICATIONREFERENCE($,'11.3','GRONDSAMENSTELLING',#6,$,$);
|
||||
#9=IFCCLASSIFICATIONREFERENCE($,'11.4','GRONDWATER, WATER IN GROND',#6,$,$);
|
||||
#10=IFCCLASSIFICATIONREFERENCE($,'11.5','BESTAANDE ONDERGRONDSE VOORZIENINGEN',#6,$,$);
|
||||
#11=IFCCLASSIFICATIONREFERENCE($,'11.8','HOGER NIET GENOEMDE ELEMENTEN VAN 11-',#6,$,$);
|
||||
#12=IFCCLASSIFICATIONREFERENCE($,'11.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 11-',#6,$,$);
|
||||
#13=IFCCLASSIFICATIONREFERENCE($,'13-','LAGEN OP VOLLE GROND, VLOEREN OP VOLLE GROND',#5,$,$);
|
||||
#14=IFCCLASSIFICATIONREFERENCE($,'13.1','VLOEREN OP VOLLE GROND',#13,$,$);
|
||||
#15=IFCCLASSIFICATIONREFERENCE($,'13.4','BEPLANTE EN ONBEPLANTE ZACHTE LAGEN OP VOLLE GROND',#13,$,$);
|
||||
#16=IFCCLASSIFICATIONREFERENCE($,'13.6','LAGEN ONDER WATER',#13,$,$);
|
||||
#17=IFCCLASSIFICATIONREFERENCE($,'13.8','HOGER NIET GENOEMDE ELEMENTEN VAN 13-',#13,$,$);
|
||||
#18=IFCCLASSIFICATIONREFERENCE($,'13.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 13-',#13,$,$);
|
||||
#19=IFCCLASSIFICATIONREFERENCE($,'16-','FUNDERINGEN, KEERMUREN',#5,$,$);
|
||||
#20=IFCCLASSIFICATIONREFERENCE($,'16.2','KEERMUREN\X2\201A\X0\ KELDERMUREN IN CONTACT MET GROND',#19,$,$);
|
||||
#21=IFCCLASSIFICATIONREFERENCE($,'16.3','WATERKERENDE ELEMENTEN',#19,$,$);
|
||||
#22=IFCCLASSIFICATIONREFERENCE($,'16.4','FUNDERINGEN, FUNDERINGEN OP ZOLEN, FUNDERINGEN OP PUTTEN',#19,$,$);
|
||||
#23=IFCCLASSIFICATIONREFERENCE($,'16.8','HOGER NIET GENOEMDE ELEMENTEN VAN 16-',#19,$,$);
|
||||
#24=IFCCLASSIFICATIONREFERENCE($,'16.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 16-',#19,$,$);
|
||||
#25=IFCCLASSIFICATIONREFERENCE($,'17-','PAALFUNDERINGEN, DAMPLANKEN',#5,$,$);
|
||||
#26=IFCCLASSIFICATIONREFERENCE($,'17.1','DAMPLANKEN',#25,$,$);
|
||||
#27=IFCCLASSIFICATIONREFERENCE($,'17.2','PAALFUNDERINGEN GEREALISEERD MET GRONDUITGRAVINGEN EN IN SITU GESTORT',#25,$,$);
|
||||
#28=IFCCLASSIFICATIONREFERENCE($,'17.3','PAALFUNDERLNGEN GEREALISEERD MET GRONDVERDRINGNNG EN GEPREFABRICEERD',#25,$,$);
|
||||
#29=IFCCLASSIFICATIONREFERENCE($,'17.4','PAALFUNDERINGEN GEREALISEERD MET GRONDVERDRINGING EN IN SITU GEVORMD',#25,$,$);
|
||||
#30=IFCCLASSIFICATIONREFERENCE($,'17.8','HOGER NIET GENOEMDE ELEMENTEN VAN 17-',#25,$,$);
|
||||
#31=IFCCLASSIFICATIONREFERENCE($,'17.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 17-',#25,$,$);
|
||||
#32=IFCCLASSIFICATIONREFERENCE($,'18','HOGER NIET GENOEMDE ELEMENTEN VAN 1-',#5,$,$);
|
||||
#33=IFCCLASSIFICATIONREFERENCE($,'19','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 1-',#5,$,$);
|
||||
#34=IFCCLASSIFICATIONREFERENCE($,'2-','PRIMAIRE ELEMENTEN VAN BOVENBOUW',#2,$,$);
|
||||
#35=IFCCLASSIFICATIONREFERENCE($,'2.-','STRUCTUREN INGEDEELD VOLGENS CONSTRUCTIEF PRINCIPE',#34,$,$);
|
||||
#36=IFCCLASSIFICATIONREFERENCE($,'2.1','STRUCTUREN MET DRAGENDE WANDEN',#35,$,$);
|
||||
#37=IFCCLASSIFICATIONREFERENCE($,'2.2','SKELETSTRUCTUUR',#35,$,$);
|
||||
#38=IFCCLASSIFICATIONREFERENCE($,'2.3','CELSTRUCTUREN',#35,$,$);
|
||||
#39=IFCCLASSIFICATIONREFERENCE($,'2.4','VLIESSTRUCTUREN, GEODETISCHE STRUCTUREN',#35,$,$);
|
||||
#40=IFCCLASSIFICATIONREFERENCE($,'2.5','SCHAALSTRUCTUREN',#35,$,$);
|
||||
#41=IFCCLASSIFICATIONREFERENCE($,'2.6','STRUCTUREN OP TREK BELAST',#35,$,$);
|
||||
#42=IFCCLASSIFICATIONREFERENCE($,'2.8','HOGER NIET GENOEMDE STRUCTUREN IN 2.-',#35,$,$);
|
||||
#43=IFCCLASSIFICATIONREFERENCE($,'2.9','HOOFDDELEN VAN EEN STRUCTUUR',#35,$,$);
|
||||
#44=IFCCLASSIFICATIONREFERENCE($,'21-','BUITENWANDEN',#34,$,$);
|
||||
#45=IFCCLASSIFICATIONREFERENCE($,'21.1','DRAGENDE BUITENWANDEN',#44,$,$);
|
||||
#46=IFCCLASSIFICATIONREFERENCE($,'21.3','NIET-DRAGENDE BUITENWAND',#44,$,$);
|
||||
#47=IFCCLASSIFICATIONREFERENCE($,'21.4','GORDIJNGEVELS',#44,$,$);
|
||||
#48=IFCCLASSIFICATIONREFERENCE($,'21.6','BUITENWANDEN OPGEBOUWD UIT DRAAGSTRUCTUUR EN BEKLEDING OF INVULLING',#44,$,$);
|
||||
#49=IFCCLASSIFICATIONREFERENCE($,'21.8','HOGER NIET GENOEMDE ELEMENTEN VAN 21-',#44,$,$);
|
||||
#50=IFCCLASSIFICATIONREFERENCE($,'21.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 21-',#44,$,$);
|
||||
#51=IFCCLASSIFICATIONREFERENCE($,'22-','BINNENWANDEN',#34,$,$);
|
||||
#52=IFCCLASSIFICATIONREFERENCE($,'22.1','DRAGENDE BINNENWANDEN',#51,$,$);
|
||||
#53=IFCCLASSIFICATIONREFERENCE($,'22.3','NIET-DRAGENDE BINNENWANDEN',#51,$,$);
|
||||
#54=IFCCLASSIFICATIONREFERENCE($,'22.6','BINNENWANDEN OPGEBOUWD UIT DRAAGSTRUCTUUR MET BEKLEDING OF INVULLING',#51,$,$);
|
||||
#55=IFCCLASSIFICATIONREFERENCE($,'22.8','HOGER NIET GENOEMDE ELEMENTEN VAN 22-',#51,$,$);
|
||||
#56=IFCCLASSIFICATIONREFERENCE($,'22.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 22-',#51,$,$);
|
||||
#57=IFCCLASSIFICATIONREFERENCE($,'23-','VLOEREN, GALERIJEN, BALKONS, LOOPBRUGGEN',#34,$,$);
|
||||
#58=IFCCLASSIFICATIONREFERENCE($,'23.2','MONOLITISCHE VLOEREN EN PLAATVLOEREN',#57,$,$);
|
||||
#59=IFCCLASSIFICATIONREFERENCE($,'23.4','SAMENGESTELDE VLOEREN',#57,$,$);
|
||||
#60=IFCCLASSIFICATIONREFERENCE($,'23.7','GALERIJEN, BALKONS, LOOPBRUGGEN',#57,$,$);
|
||||
#61=IFCCLASSIFICATIONREFERENCE($,'23.8','HOGER NIET GENOEMDE ELEMENTEN VAN 23-',#57,$,$);
|
||||
#62=IFCCLASSIFICATIONREFERENCE($,'23.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 23-',#57,$,$);
|
||||
#63=IFCCLASSIFICATIONREFERENCE($,'24-','ELEMENTEN VOOR VERTICALE CIRCULATIE, TRAPPEN',#34,$,$);
|
||||
#64=IFCCLASSIFICATIONREFERENCE($,'24.1','RECHTE TRAP ZONDER RICHTINGSVERANDERING (MET OF ZONDER TUSSENBORDES)',#63,$,$);
|
||||
#65=IFCCLASSIFICATIONREFERENCE($,'24.3','RECHTE TRAP MET RICHTINGSVERANDERING (VIA BORDES O\X2\00CD\X0\ VERDREVEN TREDEN)',#63,$,$);
|
||||
#66=IFCCLASSIFICATIONREFERENCE($,'24.4','WENTELTRAPPEN, SPIRAALTRAPPEN',#63,$,$);
|
||||
#67=IFCCLASSIFICATIONREFERENCE($,'24.5','TRAPPEN VOLGENS ANDER INDELINGSCRITERTUM',#63,$,$);
|
||||
#68=IFCCLASSIFICATIONREFERENCE($,'24.6','VASTE LADDERS, KLIMIJZERS, GL\X2\0132\X0\PALEN',#63,$,$);
|
||||
#69=IFCCLASSIFICATIONREFERENCE($,'24.7','HELLINGEN',#63,$,$);
|
||||
#70=IFCCLASSIFICATIONREFERENCE($,'24.8','HOGER NIET GENOEMDE ELEMENTEN VAN 24-',#63,$,$);
|
||||
#71=IFCCLASSIFICATIONREFERENCE($,'24.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 24-',#63,$,$);
|
||||
#72=IFCCLASSIFICATIONREFERENCE($,'27-','DAKEN',#34,$,$);
|
||||
#73=IFCCLASSIFICATIONREFERENCE($,'27.1/27.5','DAKEN VOLGENS VORM',#72,$,$);
|
||||
#74=IFCCLASSIFICATIONREFERENCE($,'27.1','PLATTE DAKEN, DAKTERRASSEN',#73,$,$);
|
||||
#75=IFCCLASSIFICATIONREFERENCE($,'27.2','HELLENDE DAKEN',#73,$,$);
|
||||
#76=IFCCLASSIFICATIONREFERENCE($,'27.2-','HELLENDE DAKEN',#73,$,$);
|
||||
#77=IFCCLASSIFICATIONREFERENCE($,'27.21','MET EEN DAKSCHILD',#76,$,$);
|
||||
#78=IFCCLASSIFICATIONREFERENCE($,'27.22','MET TWEE DAKSCHILDEN',#76,$,$);
|
||||
#79=IFCCLASSIFICATIONREFERENCE($,'27.23','MET VIER DAKSCHILDEN',#76,$,$);
|
||||
#80=IFCCLASSIFICATIONREFERENCE($,'27.28','HELLENDE DAKEN NIET GENOEMD IN 27.2-',#76,$,$);
|
||||
#81=IFCCLASSIFICATIONREFERENCE($,'27.4','DAKEN MET GEPLOOIDE PLAATSTRUCTUUR',#73,$,$);
|
||||
#82=IFCCLASSIFICATIONREFERENCE($,'27.5','DAKEN MET EEN VORM NIET GENOEMD IN 27.1/27.4',#73,$,$);
|
||||
#83=IFCCLASSIFICATIONREFERENCE($,'27.6/27.7','DAKEN VOLGENS STRUCTUREEL PRINCIPE',#72,$,$);
|
||||
#84=IFCCLASSIFICATIONREFERENCE($,'27.6','DAKSTRUCTUREN ZONDER UITKRAGING',#83,$,$);
|
||||
#85=IFCCLASSIFICATIONREFERENCE($,'27.7','DAKSTRUCTUREN MET UITKRAGING',#83,$,$);
|
||||
#86=IFCCLASSIFICATIONREFERENCE($,'27.8','HOGER NIET GENOEMDE ELEMENTEN VAN 27-',#72,$,$);
|
||||
#87=IFCCLASSIFICATIONREFERENCE($,'27.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 27-',#72,$,$);
|
||||
#88=IFCCLASSIFICATIONREFERENCE($,'28-','DRAAGSTRUCTUREN VAN GEBOUWEN, HOGER NIET GENOEMDE ELEMENTEN VAN 2-',#34,$,$);
|
||||
#89=IFCCLASSIFICATIONREFERENCE($,'28.2/28.7','DRAAGSTRUCTUREN VAN GEBOUWEN',#88,$,$);
|
||||
#90=IFCCLASSIFICATIONREFERENCE($,'28.2','KOLOM-BALKSTRUCTUUR, PORTIEKSTRUCTUUR',#89,$,$);
|
||||
#91=IFCCLASSIFICATIONREFERENCE($,'28.3','KOLOM-VLOERSTRUCTUUR',#89,$,$);
|
||||
#92=IFCCLASSIFICATIONREFERENCE($,'28.5','KOLOM-KABELSTRUCTUUR',#89,$,$);
|
||||
#93=IFCCLASSIFICATIONREFERENCE($,'28.6','RUIMTELIJKE DRAAGSTRUCTUUR',#89,$,$);
|
||||
#94=IFCCLASSIFICATIONREFERENCE($,'28.7','DRAAGSTRUCTUREN HOGER NIET GENOEMD IN 28.2/28.6',#89,$,$);
|
||||
#95=IFCCLASSIFICATIONREFERENCE($,'28.8','HOGER NIET GENOEMDE ELEMENTEN VAN 28-',#88,$,$);
|
||||
#96=IFCCLASSIFICATIONREFERENCE($,'28.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 28-',#88,$,$);
|
||||
#97=IFCCLASSIFICATIONREFERENCE($,'29','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 2-',#34,$,$);
|
||||
#98=IFCCLASSIFICATIONREFERENCE($,'3-','SECUNDAIRE ELEMENTEN, AFSLUITENDE ELEMENTEN, VAN DE BOVENBOUW',#2,$,$);
|
||||
#99=IFCCLASSIFICATIONREFERENCE($,'31-','SECUNDAIRE ELEMENTEN VOOR BUITENWANDEN',#98,$,$);
|
||||
#100=IFCCLASSIFICATIONREFERENCE($,'31.3','DEUREN, RAMEN, RAAM-DEUREN, RAAM-EN-DEUR-COMBINATIES EN OVEREENKOMSTIGE OPENINGEN',#99,$,$);
|
||||
#101=IFCCLASSIFICATIONREFERENCE($,'31.3-','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN',#99,$,$);
|
||||
#102=IFCCLASSIFICATIONREFERENCE($,'31.31','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN (VAST)',#101,$,$);
|
||||
#103=IFCCLASSIFICATIONREFERENCE($,'31.32','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN (DRAAIEND\X2\201A\X0\ KLAPPEND, VALLEND)',#101,$,$);
|
||||
#104=IFCCLASSIFICATIONREFERENCE($,'31.33','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN (PIVOTEREND, WENTELEND)',#101,$,$);
|
||||
#105=IFCCLASSIFICATIONREFERENCE($,'31.34','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN (HORIZONTAAL SCHUIVEND EN/OF VOUWEND)',#101,$,$);
|
||||
#106=IFCCLASSIFICATIONREFERENCE($,'31.35','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN (VERTICAAL SCHUIVEND EN/OF VOUWEND, VERTICAAL ROLLEND)',#101,$,$);
|
||||
#107=IFCCLASSIFICATIONREFERENCE($,'31.36','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN (OMHOOG KANTELEND)',#101,$,$);
|
||||
#108=IFCCLASSIFICATIONREFERENCE($,'31.38','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN (OPENINGSWIJZE NIET GENOEMD IN 31.31/31.36)',#101,$,$);
|
||||
#109=IFCCLASSIFICATIONREFERENCE($,'31.39','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN (ONDERDELEN EN HULPSTUKKEN VOOR SCHRIJNWERK VOOR OPENINGEN IN BOVENBOUW)',#101,$,$);
|
||||
#110=IFCCLASSIFICATIONREFERENCE($,'31.4','RAMEN, OPENINGEN VOOR RAMEN, RAAMOPENINGEN',#99,$,$);
|
||||
#111=IFCCLASSIFICATIONREFERENCE($,'31.4-','RAMEN, OPENINGEN VOOR RAMEN, RAAMOPENINGEN',#99,$,$);
|
||||
#112=IFCCLASSIFICATIONREFERENCE($,'31.41','31.41 RAMEN, OPENINGEN VOOR RAMEN, RAAMOPENINGEN (VAST)',#111,$,$);
|
||||
#113=IFCCLASSIFICATIONREFERENCE($,'31.42','RAMEN, OPENINGEN VOOR RAMEN, RAAMOPENINGEN (DRAAIEND\X2\201A\X0\ KLAPPEND, VALLEND)',#111,$,$);
|
||||
#114=IFCCLASSIFICATIONREFERENCE($,'31.43','RAMEN, OPENINGEN VOOR RAMEN, RAAMOPENINGEN (PIVOTEREND, WENTELEND)',#111,$,$);
|
||||
#115=IFCCLASSIFICATIONREFERENCE($,'31.44','RAMEN, OPENINGEN VOOR RAMEN, RAAMOPENINGEN (HORIZONTAAL SCHUIVEND EN/OF VOUWEND)',#111,$,$);
|
||||
#116=IFCCLASSIFICATIONREFERENCE($,'31.45','RAMEN, OPENINGEN VOOR RAMEN, RAAMOPENINGEN (VERTICAAL SCHUIVEND EN/OF VOUWEND, VERTICAAL ROLLEND)',#111,$,$);
|
||||
#117=IFCCLASSIFICATIONREFERENCE($,'31.46','RAMEN, OPENINGEN VOOR RAMEN, RAAMOPENINGEN (OMHOOG KANTELEND)',#111,$,$);
|
||||
#118=IFCCLASSIFICATIONREFERENCE($,'31.48','RAMEN, OPENINGEN VOOR RAMEN, RAAMOPENINGEN (OPENINGSWIJZE NIET GENOEMD IN 31.41/31.46)',#111,$,$);
|
||||
#119=IFCCLASSIFICATIONREFERENCE($,'31.49','RAMEN, OPENINGEN VOOR RAMEN, RAAMOPENINGEN (ONDERDELEN EN HULPSTUKKEN VOOR SCHRIJNWERK VOOR OPENINGEN IN BOVENBOUW)',#111,$,$);
|
||||
#120=IFCCLASSIFICATIONREFERENCE($,'31.5','31.5 DEUREN, OPENINGEN VOOR DEUREN, DOORGANGEN',#99,$,$);
|
||||
#121=IFCCLASSIFICATIONREFERENCE($,'31.5-','31.5 DEUREN, OPENINGEN VOOR DEUREN, DOORGANGEN',#99,$,$);
|
||||
#122=IFCCLASSIFICATIONREFERENCE($,'31.51','DEUREN, OPENINGEN VOOR DEUREN, DOORGANGEN (VAST)',#121,$,$);
|
||||
#123=IFCCLASSIFICATIONREFERENCE($,'31.52','DEUREN, OPENINGEN VOOR DEUREN, DOORGANGEN (DRAAIEND\X2\201A\X0\ KLAPPEND, VALLEND)',#121,$,$);
|
||||
#124=IFCCLASSIFICATIONREFERENCE($,'31.53','DEUREN, OPENINGEN VOOR DEUREN, DOORGANGEN (PIVOTEREND, WENTELEND)',#121,$,$);
|
||||
#125=IFCCLASSIFICATIONREFERENCE($,'31.54','DEUREN, OPENINGEN VOOR DEUREN, DOORGANGEN (HORIZONTAAL SCHUIVEND EN/OF VOUWEND)',#121,$,$);
|
||||
#126=IFCCLASSIFICATIONREFERENCE($,'31.55','DEUREN, OPENINGEN VOOR DEUREN, DOORGANGEN (VERTICAAL SCHUIVEND EN/OF VOUWEND, VERTICAAL ROLLEND)',#121,$,$);
|
||||
#127=IFCCLASSIFICATIONREFERENCE($,'31.56','DEUREN, OPENINGEN VOOR DEUREN, DOORGANGEN (OMHOOG KANTELEND)',#121,$,$);
|
||||
#128=IFCCLASSIFICATIONREFERENCE($,'31.58','DEUREN, OPENINGEN VOOR DEUREN, DOORGANGEN (OPENINGSWIJZE NIET GENOEMD IN 31.51/31.56)',#121,$,$);
|
||||
#129=IFCCLASSIFICATIONREFERENCE($,'31.59','DEUREN, OPENINGEN VOOR DEUREN, DOORGANGEN (ONDERDELEN EN HULPSTUKKEN VOOR SCHRIJNWERK VOOR OPENINGEN IN BOVENBOUW)',#121,$,$);
|
||||
#130=IFCCLASSIFICATIONREFERENCE($,'31.7','LUIKEN, OPENINGEN MET OF ZONDER LUIKEN',#99,$,$);
|
||||
#131=IFCCLASSIFICATIONREFERENCE($,'31.7-','LUIKEN, OPENINGEN MET OF ZONDER LUIKEN',#99,$,$);
|
||||
#132=IFCCLASSIFICATIONREFERENCE($,'31.71','LUIKEN, OPENINGEN MET OF ZONDER LUIKEN (VAST)',#131,$,$);
|
||||
#133=IFCCLASSIFICATIONREFERENCE($,'31.72','LUIKEN, OPENINGEN MET OF ZONDER LUIKEN (DRAAIEND\X2\201A\X0\ KLAPPEND, VALLEND)',#131,$,$);
|
||||
#134=IFCCLASSIFICATIONREFERENCE($,'31.73','LUIKEN, OPENINGEN MET OF ZONDER LUIKEN (PIVOTEREND, WENTELEND)',#131,$,$);
|
||||
#135=IFCCLASSIFICATIONREFERENCE($,'31.74','LUIKEN, OPENINGEN MET OF ZONDER LUIKEN (HORIZONTAAL SCHUIVEND EN/OF VOUWEND)',#131,$,$);
|
||||
#136=IFCCLASSIFICATIONREFERENCE($,'31.75','LUIKEN, OPENINGEN MET OF ZONDER LUIKEN (VERTICAAL SCHUIVEND EN/OF VOUWEND, VERTICAAL ROLLEND)',#131,$,$);
|
||||
#137=IFCCLASSIFICATIONREFERENCE($,'31.76','LUIKEN, OPENINGEN MET OF ZONDER LUIKEN (OMHOOG KANTELEND)',#131,$,$);
|
||||
#138=IFCCLASSIFICATIONREFERENCE($,'31.78','LUIKEN, OPENINGEN MET OF ZONDER LUIKEN (OPENINGSWIJZE NIET GENOEMD IN 31.71/31.76)',#131,$,$);
|
||||
#139=IFCCLASSIFICATIONREFERENCE($,'31.79','LUIKEN, OPENINGEN MET OF ZONDER LUIKEN (ONDERDELEN EN HULPSTUKKEN VOOR SCHRIJNWERK VOOR OPENINGEN IN BOVENBOUW)',#131,$,$);
|
||||
#140=IFCCLASSIFICATIONREFERENCE($,'31.8','HOGER NIET GENOEMDE ELEMENTEN VAN 31-',#99,$,$);
|
||||
#141=IFCCLASSIFICATIONREFERENCE($,'31.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 31-',#99,$,$);
|
||||
#142=IFCCLASSIFICATIONREFERENCE($,'32-','SECUNDAIRE ELEMENTEN VOOR BINNENWANDEN',#98,$,$);
|
||||
#143=IFCCLASSIFICATIONREFERENCE($,'32.3','DEUREN, RAMEN, RAAM-DEUREN, RAAM-EN-DEUR-COMBINATIES EN OVEREENKOMSTIG OPENINGEN VOOR BINNENWANDEN',#142,$,$);
|
||||
#144=IFCCLASSIFICATIONREFERENCE($,'32.3-','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN IN BINNENWANDEN',#142,$,$);
|
||||
#145=IFCCLASSIFICATIONREFERENCE($,'32.31','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN IN BINNENWANDEN (VAST)',#144,$,$);
|
||||
#146=IFCCLASSIFICATIONREFERENCE($,'32.32','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN IN BINNENWANDEN (DRAAIEND\X2\201A\X0\ KLAPPEND, VALLEND)',#144,$,$);
|
||||
#147=IFCCLASSIFICATIONREFERENCE($,'32.33','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN IN BINNENWANDEN (PIVOTEREND, WENTELEND)',#144,$,$);
|
||||
#148=IFCCLASSIFICATIONREFERENCE($,'32.34','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN IN BINNENWANDEN (HORIZONTAAL SCHUIVEND EN/OF VOUWEND)',#144,$,$);
|
||||
#149=IFCCLASSIFICATIONREFERENCE($,'32.35','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN IN BINNENWANDEN (VERTICAAL SCHUIVEND EN/OF VOUWEND, VERTICAAL ROLLEND)',#144,$,$);
|
||||
#150=IFCCLASSIFICATIONREFERENCE($,'32.36','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN IN BINNENWANDEN (OMHOOG KANTELEND)',#144,$,$);
|
||||
#151=IFCCLASSIFICATIONREFERENCE($,'32.38','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN IN BINNENWANDEN (OPENINGSWIJZE NIET GENOEMD IN 32.31/31.36)',#144,$,$);
|
||||
#152=IFCCLASSIFICATIONREFERENCE($,'32.39','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN IN BINNENWANDEN (ONDERDELEN EN HULPSTUKKEN VOOR SCHRIJNWERK VOOR OPENINGEN IN BOVENBOUW)',#144,$,$);
|
||||
#153=IFCCLASSIFICATIONREFERENCE($,'32.4','32.4 RAMEN VOOR BINNENWANDEN, OPENINGEN VOOR RAMEN IN BINNENWANDEN, RAAMOPENINGEN IN BINNENWANDEN',#142,$,$);
|
||||
#154=IFCCLASSIFICATIONREFERENCE($,'32.4-','32.4 RAMEN VOOR BINNENWANDEN, OPENINGEN VOOR RAMEN IN BINNENWANDEN, RAAMOPENINGEN IN BINNENWANDEN',#142,$,$);
|
||||
#155=IFCCLASSIFICATIONREFERENCE($,'32.41','32.41 RAMEN VOOR BINNENWANDEN, OPENINGEN VOOR RAMEN IN BINNENWANDEN, RAAMOPENINGEN IN BINNENWANDEN (VAST)',#154,$,$);
|
||||
#156=IFCCLASSIFICATIONREFERENCE($,'32.42','RAMEN VOOR BINNENWANDEN, OPENINGEN VOOR RAMEN IN BINNENWANDEN, RAAMOPENINGEN IN BINNENWANDEN (DRAAIEND\X2\201A\X0\ KLAPPEND, VALLEND)',#154,$,$);
|
||||
#157=IFCCLASSIFICATIONREFERENCE($,'32.43','RAMEN VOOR BINNENWANDEN, OPENINGEN VOOR RAMEN IN BINNENWANDEN, RAAMOPENINGEN IN BINNENWANDEN (PIVOTEREND, WENTELEND)',#154,$,$);
|
||||
#158=IFCCLASSIFICATIONREFERENCE($,'32.44','RAMEN VOOR BINNENWANDEN, OPENINGEN VOOR RAMEN IN BINNENWANDEN, RAAMOPENINGEN IN BINNENWANDEN (HORIZONTAAL SCHUIVEND EN/OF VOUWEND)',#154,$,$);
|
||||
#159=IFCCLASSIFICATIONREFERENCE($,'32.45','RAMEN VOOR BINNENWANDEN, OPENINGEN VOOR RAMEN IN BINNENWANDEN, RAAMOPENINGEN IN BINNENWANDEN (VERTICAAL SCHUIVEND EN/OF VOUWEND, VERTICAAL ROLLEND)',#154,$,$);
|
||||
#160=IFCCLASSIFICATIONREFERENCE($,'32.46','RAMEN VOOR BINNENWANDEN, OPENINGEN VOOR RAMEN IN BINNENWANDEN, RAAMOPENINGEN IN BINNENWANDEN (OMHOOG KANTELEND)',#154,$,$);
|
||||
#161=IFCCLASSIFICATIONREFERENCE($,'32.48','RAMEN VOOR BINNENWANDEN, OPENINGEN VOOR RAMEN IN BINNENWANDEN, RAAMOPENINGEN IN BINNENWANDEN (OPENINGSWIJZE NIET GENOEMD IN 32.41/32.46)',#154,$,$);
|
||||
#162=IFCCLASSIFICATIONREFERENCE($,'32.49','RAMEN VOOR BINNENWANDEN, OPENINGEN VOOR RAMEN IN BINNENWANDEN, RAAMOPENINGEN IN BINNENWANDEN (ONDERDELEN EN HULPSTUKKEN VOOR SCHRIJNWERK VOOR OPENINGEN IN BOVENBOUW)',#154,$,$);
|
||||
#163=IFCCLASSIFICATIONREFERENCE($,'32.5','32.5 DEUREN VOOR BINNENWANDEN, DEUROPENINGEN VOOR BINNENWANDEN, DOORGANGEN IN BINNENWANDEN',#142,$,$);
|
||||
#164=IFCCLASSIFICATIONREFERENCE($,'32.5-','32.5 DEUREN VOOR BINNENWANDEN, DEUROPENINGEN VOOR BINNENWANDEN, DOORGANGEN IN BINNENWANDEN',#142,$,$);
|
||||
#165=IFCCLASSIFICATIONREFERENCE($,'32.51','DEUREN VOOR BINNENWANDEN, DEUROPENINGEN VOOR BINNENWANDEN, DOORGANGEN IN BINNENWANDEN (VAST)',#164,$,$);
|
||||
#166=IFCCLASSIFICATIONREFERENCE($,'32.52','DEUREN VOOR BINNENWANDEN, DEUROPENINGEN VOOR BINNENWANDEN, DOORGANGEN IN BINNENWANDEN (DRAAIEND\X2\201A\X0\ KLAPPEND, VALLEND)',#164,$,$);
|
||||
#167=IFCCLASSIFICATIONREFERENCE($,'32.53','DEUREN VOOR BINNENWANDEN, DEUROPENINGEN VOOR BINNENWANDEN, DOORGANGEN IN BINNENWANDEN (PIVOTEREND, WENTELEND)',#164,$,$);
|
||||
#168=IFCCLASSIFICATIONREFERENCE($,'32.54','DEUREN VOOR BINNENWANDEN, DEUROPENINGEN VOOR BINNENWANDEN, DOORGANGEN IN BINNENWANDEN (HORIZONTAAL SCHUIVEND EN/OF VOUWEND)',#164,$,$);
|
||||
#169=IFCCLASSIFICATIONREFERENCE($,'32.55','DEUREN VOOR BINNENWANDEN, DEUROPENINGEN VOOR BINNENWANDEN, DOORGANGEN IN BINNENWANDEN (VERTICAAL SCHUIVEND EN/OF VOUWEND, VERTICAAL ROLLEND)',#164,$,$);
|
||||
#170=IFCCLASSIFICATIONREFERENCE($,'32.56','DEUREN VOOR BINNENWANDEN, DEUROPENINGEN VOOR BINNENWANDEN, DOORGANGEN IN BINNENWANDEN (OMHOOG KANTELEND)',#164,$,$);
|
||||
#171=IFCCLASSIFICATIONREFERENCE($,'32.58','DEUREN VOOR BINNENWANDEN, DEUROPENINGEN VOOR BINNENWANDEN, DOORGANGEN IN BINNENWANDEN (OPENINGSWIJZE NIET GENOEMD IN 32.51/32.56)',#164,$,$);
|
||||
#172=IFCCLASSIFICATIONREFERENCE($,'32.59','DEUREN VOOR BINNENWANDEN, DEUROPENINGEN VOOR BINNENWANDEN, DOORGANGEN IN BINNENWANDEN (ONDERDELEN EN HULPSTUKKEN VOOR SCHRIJNWERK VOOR OPENINGEN IN BOVENBOUW)',#164,$,$);
|
||||
#173=IFCCLASSIFICATIONREFERENCE($,'32.7','LUIKEN VOOR BINNENWANDEN, OPENINGEN IN BINNENWANDEN MET OF ZONDER LUIKEN',#142,$,$);
|
||||
#174=IFCCLASSIFICATIONREFERENCE($,'32.7-','LUIKEN VOOR BINNENWANDEN, OPENINGEN IN BINNENWANDEN MET OF ZONDER LUIKEN',#142,$,$);
|
||||
#175=IFCCLASSIFICATIONREFERENCE($,'32.71','LUIKEN VOOR BINNENWANDEN, OPENINGEN IN BINNENWANDEN MET OF ZONDER LUIKEN (VAST)',#174,$,$);
|
||||
#176=IFCCLASSIFICATIONREFERENCE($,'32.72','LUIKEN VOOR BINNENWANDEN, OPENINGEN IN BINNENWANDEN MET OF ZONDER LUIKEN (DRAAIEND\X2\201A\X0\ KLAPPEND, VALLEND)',#174,$,$);
|
||||
#177=IFCCLASSIFICATIONREFERENCE($,'32.73','LUIKEN VOOR BINNENWANDEN, OPENINGEN IN BINNENWANDEN MET OF ZONDER LUIKEN (PIVOTEREND, WENTELEND)',#174,$,$);
|
||||
#178=IFCCLASSIFICATIONREFERENCE($,'32.74','LUIKEN VOOR BINNENWANDEN, OPENINGEN IN BINNENWANDEN MET OF ZONDER LUIKEN (HORIZONTAAL SCHUIVEND EN/OF VOUWEND)',#174,$,$);
|
||||
#179=IFCCLASSIFICATIONREFERENCE($,'32.75','LUIKEN VOOR BINNENWANDEN, OPENINGEN IN BINNENWANDEN MET OF ZONDER LUIKEN (VERTICAAL SCHUIVEND EN/OF VOUWEND, VERTICAAL ROLLEND)',#174,$,$);
|
||||
#180=IFCCLASSIFICATIONREFERENCE($,'32.76','LUIKEN VOOR BINNENWANDEN, OPENINGEN IN BINNENWANDEN MET OF ZONDER LUIKEN (OMHOOG KANTELEND)',#174,$,$);
|
||||
#181=IFCCLASSIFICATIONREFERENCE($,'32.78','LUIKEN VOOR BINNENWANDEN, OPENINGEN IN BINNENWANDEN MET OF ZONDER LUIKEN (OPENINGSWIJZE NIET GENOEMD IN 32.71/32.76)',#174,$,$);
|
||||
#182=IFCCLASSIFICATIONREFERENCE($,'32.79','32.79 LUIKEN VOOR BINNENWANDEN, OPENINGEN IN BINNENWANDEN MET OF ZONDER LUIKEN (ONDERDELEN EN HULPSTUKKEN VOOR SCHRIJNWERK VOOR OPENINGEN IN BOVENBOUW)',#174,$,$);
|
||||
#183=IFCCLASSIFICATIONREFERENCE($,'32.8','HOGER NIET GENOEMD IN ELEMENTEN VAN 32-',#142,$,$);
|
||||
#184=IFCCLASSIFICATIONREFERENCE($,'32.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 32-',#142,$,$);
|
||||
#185=IFCCLASSIFICATIONREFERENCE($,'33-','SECUNDAIRE ELEMENTEN VOOR VLOEREN',#98,$,$);
|
||||
#186=IFCCLASSIFICATIONREFERENCE($,'33.1','VERHOOGDE VLOEREN',#185,$,$);
|
||||
#187=IFCCLASSIFICATIONREFERENCE($,'33.2','SECUNDAIRE VLOERLAGEN',#185,$,$);
|
||||
#188=IFCCLASSIFICATIONREFERENCE($,'33.5','OPENINGEN IN VLOEREN MET OF ZONDER AFSLUITENDE ELEMENTEN',#185,$,$);
|
||||
#189=IFCCLASSIFICATIONREFERENCE($,'33.5-','OPENINGEN IN VLOEREN MET OF ZONDER AFSLUITENDE ELEMENTEN',#185,$,$);
|
||||
#190=IFCCLASSIFICATIONREFERENCE($,'33.51','OPENINGEN IN VLOEREN MET OF ZONDER AFSLUITENDE ELEMENTEN (VAST)',#189,$,$);
|
||||
#191=IFCCLASSIFICATIONREFERENCE($,'33.52','OPENINGEN IN VLOEREN MET OF ZONDER AFSLUITENDE ELEMENTEN (DRAAIEND\X2\201A\X0\ KLAPPEND, VALLEND)',#189,$,$);
|
||||
#192=IFCCLASSIFICATIONREFERENCE($,'33.53','OPENINGEN IN VLOEREN MET OF ZONDER AFSLUITENDE ELEMENTEN (PIVOTEREND, WENTELEND)',#189,$,$);
|
||||
#193=IFCCLASSIFICATIONREFERENCE($,'33.54','OPENINGEN IN VLOEREN MET OF ZONDER AFSLUITENDE ELEMENTEN (HORIZONTAAL SCHUIVEND EN/OF VOUWEND)',#189,$,$);
|
||||
#194=IFCCLASSIFICATIONREFERENCE($,'33.55','OPENINGEN IN VLOEREN MET OF ZONDER AFSLUITENDE ELEMENTEN (VERTICAAL SCHUIVEND EN/OF VOUWEND, VERTICAAL ROLLEND)',#189,$,$);
|
||||
#195=IFCCLASSIFICATIONREFERENCE($,'33.56','OPENINGEN IN VLOEREN MET OF ZONDER AFSLUITENDE ELEMENTEN (OMHOOG KANTELEND)',#189,$,$);
|
||||
#196=IFCCLASSIFICATIONREFERENCE($,'33.58','OPENINGEN IN VLOEREN MET OF ZONDER AFSLUITENDE ELEMENTEN (OPENINGSWIJZE NIET GENOEMD IN 33.51/33.56)',#189,$,$);
|
||||
#197=IFCCLASSIFICATIONREFERENCE($,'33.59','OPENINGEN IN VLOEREN MET OF ZONDER AFSLUITENDE ELEMENTEN (ONDERDELEN EN HULPSTUKKEN VOOR SCHRIJNWERK VOOR OPENINGEN IN BOVENBOUW)',#189,$,$);
|
||||
#198=IFCCLASSIFICATIONREFERENCE($,'33.8','HOGER NIET GENOEMDE ELEMENTEN VAN 33-',#185,$,$);
|
||||
#199=IFCCLASSIFICATIONREFERENCE($,'33.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 33-',#185,$,$);
|
||||
#200=IFCCLASSIFICATIONREFERENCE($,'34','SECUNDAIRE ELEMENTEN VOOR VERTICALE CIRCULATIE, VOOR TRAPPEN',#98,$,$);
|
||||
#201=IFCCLASSIFICATIONREFERENCE($,'35-','OPGEHANGEN PLAFONDS',#98,$,$);
|
||||
#202=IFCCLASSIFICATIONREFERENCE($,'35.1','OPGEHANGEN PLAFONDS UIT \X2\00C900C9\X0\N STUK OF MET PLATEN OF TEGELS, DIT WIL ZEGGEN NIET-LIJNVORMIGE ELEMENTEN',#201,$,$);
|
||||
#203=IFCCLASSIFICATIONREFERENCE($,'35.2','OPGEHANGEN PLAFONDS UIT LIJNVORMIGE ELEMENTEN',#201,$,$);
|
||||
#204=IFCCLASSIFICATIONREFERENCE($,'35.3','OPENINGEN IN OPGEHANGEN PLATONDS MET OF ZONDER INVULELEMENTEN',#201,$,$);
|
||||
#205=IFCCLASSIFICATIONREFERENCE($,'35.3-','OPENINGEN IN OPGEHANGEN PLATONDS MET OF ZONDER INVULELEMENTEN',#201,$,$);
|
||||
#206=IFCCLASSIFICATIONREFERENCE($,'35.31','OPENINGEN IN OPGEHANGEN PLATONDS MET OF ZONDER INVULELEMENTEN (VAST)',#205,$,$);
|
||||
#207=IFCCLASSIFICATIONREFERENCE($,'35.32','OPENINGEN IN OPGEHANGEN PLATONDS MET OF ZONDER INVULELEMENTEN (DRAAIEND\X2\201A\X0\ KLAPPEND, VALLEND)',#205,$,$);
|
||||
#208=IFCCLASSIFICATIONREFERENCE($,'35.33','OPENINGEN IN OPGEHANGEN PLATONDS MET OF ZONDER INVULELEMENTEN (PIVOTEREND, WENTELEND)',#205,$,$);
|
||||
#209=IFCCLASSIFICATIONREFERENCE($,'35.34','OPENINGEN IN OPGEHANGEN PLATONDS MET OF ZONDER INVULELEMENTEN (HORIZONTAAL SCHUIVEND EN/OF VOUWEND)',#205,$,$);
|
||||
#210=IFCCLASSIFICATIONREFERENCE($,'35.35','OPENINGEN IN OPGEHANGEN PLATONDS MET OF ZONDER INVULELEMENTEN (VERTICAAL SCHUIVEND EN/OF VOUWEND, VERTICAAL ROLLEND)',#205,$,$);
|
||||
#211=IFCCLASSIFICATIONREFERENCE($,'35.36','OPENINGEN IN OPGEHANGEN PLATONDS MET OF ZONDER INVULELEMENTEN (OMHOOG KANTELEND)',#205,$,$);
|
||||
#212=IFCCLASSIFICATIONREFERENCE($,'35.38','OPENINGEN IN OPGEHANGEN PLATONDS MET OF ZONDER INVULELEMENTEN (OPENINGSWIJZE NIET GENOEMD IN 35.31/35.36)',#205,$,$);
|
||||
#213=IFCCLASSIFICATIONREFERENCE($,'35.39','OPENINGEN IN OPGEHANGEN PLATONDS MET OF ZONDER INVULELEMENTEN (ONDERDELEN EN HULPSTUKKEN VOOR SCHRIJNWERK VOOR OPENINGEN IN BOVENBOUW)',#205,$,$);
|
||||
#214=IFCCLASSIFICATIONREFERENCE($,'35.8','HOGER NIET GENOEMDE ELEMENTEN VAN 35-',#201,$,$);
|
||||
#215=IFCCLASSIFICATIONREFERENCE($,'35.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 35-',#201,$,$);
|
||||
#216=IFCCLASSIFICATIONREFERENCE($,'37-','SECUNDAIRE ELEMENTEN VOOR DAKEN',#98,$,$);
|
||||
#217=IFCCLASSIFICATIONREFERENCE($,'37.3','DEUREN, RAMEN, RAAM-DEUREN, RAAM-EN-DEUR-COMBINATIES, DOORGANGEN EN OVEREENKOMSTIGE OPENINGEN',#216,$,$);
|
||||
#218=IFCCLASSIFICATIONREFERENCE($,'37.3-','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN IN DAKEN',#216,$,$);
|
||||
#219=IFCCLASSIFICATIONREFERENCE($,'37.31','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN IN DAKEN (VAST)',#218,$,$);
|
||||
#220=IFCCLASSIFICATIONREFERENCE($,'37.32','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN IN DAKEN (DRAAIEND\X2\201A\X0\ KLAPPEND, VALLEND)',#218,$,$);
|
||||
#221=IFCCLASSIFICATIONREFERENCE($,'37.33','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN IN DAKEN (PIVOTEREND, WENTELEND)',#218,$,$);
|
||||
#222=IFCCLASSIFICATIONREFERENCE($,'37.34','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN IN DAKEN (HORIZONTAAL SCHUIVEND EN/OF VOUWEND)',#218,$,$);
|
||||
#223=IFCCLASSIFICATIONREFERENCE($,'37.35','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN IN DAKEN (VERTICAAL SCHUIVEND EN/OF VOUWEND, VERTICAAL ROLLEND)',#218,$,$);
|
||||
#224=IFCCLASSIFICATIONREFERENCE($,'37.36','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN IN DAKEN (OMHOOG KANTELEND)',#218,$,$);
|
||||
#225=IFCCLASSIFICATIONREFERENCE($,'37.38','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN IN DAKEN (OPENINGSWIJZE NIET GENOEMD IN 37.31/37.36)',#218,$,$);
|
||||
#226=IFCCLASSIFICATIONREFERENCE($,'37.39','RAAM-DEUREN, OPENINGEN VOOR RAAM-DEUREN IN DAKEN (ONDERDELEN EN HULPSTUKKEN VOOR SCHRIJNWERK VOOR OPENINGEN IN BOVENBOUW)',#218,$,$);
|
||||
#227=IFCCLASSIFICATIONREFERENCE($,'37.4-','RAMEN VOOR DAKEN, RAAMOPENINGEN IN DAKEN',#216,$,$);
|
||||
#228=IFCCLASSIFICATIONREFERENCE($,'37.41','DAKLICHTEN BIJ PLATTE DAKEN (INBEGREPEN LICHTDOORLATENDE KOEPELS)',#227,$,$);
|
||||
#229=IFCCLASSIFICATIONREFERENCE($,'37.42','DAKLANTAARNEN, NOORDERLICHTEN TOT AAN DAKNOK',#227,$,$);
|
||||
#230=IFCCLASSIFICATIONREFERENCE($,'37.44','DAKRAMEN UITSPRINGEND OF INSPRINGEND TEN OPZICHTE VAN EEN HELLEND DAKVLAK',#227,$,$);
|
||||
#231=IFCCLASSIFICATIONREFERENCE($,'37.45','DAKRAMEN IN DAKVLAK VAN HELLEND DAK',#227,$,$);
|
||||
#232=IFCCLASSIFICATIONREFERENCE($,'37.47','LICHTDOORLATENDE BEGAANBARE DAKDELEN',#227,$,$);
|
||||
#233=IFCCLASSIFICATIONREFERENCE($,'37.48','HOGER NIET GENOEMDE ELEMENTEN VAN 37.4-',#227,$,$);
|
||||
#234=IFCCLASSIFICATIONREFERENCE($,'37.5','DEUREN TOEGANGEN TOT DAKEN, MET OF ZONDER AFSLIUTENDE ELEMENTEN',#216,$,$);
|
||||
#235=IFCCLASSIFICATIONREFERENCE($,'37.6','DAKRANDEN',#216,$,$);
|
||||
#236=IFCCLASSIFICATIONREFERENCE($,'37.8','HOGER NIET GENOEMDE ELEMENTEN VAN 37-',#216,$,$);
|
||||
#237=IFCCLASSIFICATIONREFERENCE($,'37.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 37-',#216,$,$);
|
||||
#238=IFCCLASSIFICATIONREFERENCE($,'38','HOGER NIET GENOEMDE ELEMENTEN VAN 3-',#98,$,$);
|
||||
#239=IFCCLASSIFICATIONREFERENCE($,'39','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 3-',#98,$,$);
|
||||
#240=IFCCLASSIFICATIONREFERENCE($,'4-','AFWERKING',#2,$,$);
|
||||
#241=IFCCLASSIFICATIONREFERENCE($,'41','BUITENAFWERKING VOOR WANDEN',#240,$,$);
|
||||
#242=IFCCLASSIFICATIONREFERENCE($,'42','BINNENAFWERKING VOOR WANDEN',#240,$,$);
|
||||
#243=IFCCLASSIFICATIONREFERENCE($,'43','AFWERKING VOOR VLOEREN',#240,$,$);
|
||||
#244=IFCCLASSIFICATIONREFERENCE($,'44','AFWERKING VOOR ELEMENTEN VOOR VERTICALE CIRCULATIE',#240,$,$);
|
||||
#245=IFCCLASSIFICATIONREFERENCE($,'45','AFWERKING VOOR PLAFONDS',#240,$,$);
|
||||
#246=IFCCLASSIFICATIONREFERENCE($,'47','BUITENAFWERKING VOOR DAKEN',#240,$,$);
|
||||
#247=IFCCLASSIFICATIONREFERENCE($,'48','HOGER NIET GENOEMDE ELEMENTEN VAN 4-',#240,$,$);
|
||||
#248=IFCCLASSIFICATIONREFERENCE($,'49','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 4-',#240,$,$);
|
||||
#249=IFCCLASSIFICATIONREFERENCE($,'5-','TECHNISCHE UITRUSTING HOOFDZAKELIJK FLU\X2\00CF\X0\DA',#2,$,$);
|
||||
#250=IFCCLASSIFICATIONREFERENCE($,'5-.-X','UITRUSTING INGEDEELD VOLGENS ENERGIEDRAGER',#249,'WAAR NODIG KUNNEN DE CODES VAN (5-.-X) WORDEN AANGEVULD MET EEN VIERDE CIJFER DAT DE ENERGIEDRAGER BESCHRIJFT. DEZE CLASSIFICATIE IS ALLEEN BEDOELD ALS BRON VOOR EIGEN AAN TE MAKEN CLASSIFICATIES DIE NAAR EEN ENERGIEDRAGER VERWIJZEN.',$);
|
||||
#251=IFCCLASSIFICATIONREFERENCE($,'5.1','ENERGIEBRON VOOR INSTALLATIES',#250,$,$);
|
||||
#252=IFCCLASSIFICATIONREFERENCE($,'5-.-1','VASTE BRANDSTOF',#251,$,$);
|
||||
#253=IFCCLASSIFICATIONREFERENCE($,'5-.-2','VLOEIBARE BRANDSTOF',#251,$,$);
|
||||
#254=IFCCLASSIFICATIONREFERENCE($,'5-.-3','GASVORMIGE BRANDSTOF',#251,$,$);
|
||||
#255=IFCCLASSIFICATIONREFERENCE($,'5-.-4','ELEKTRICITEIT',#251,$,$);
|
||||
#256=IFCCLASSIFICATIONREFERENCE($,'5-.-5','ZONNESTRALING',#251,$,$);
|
||||
#257=IFCCLASSIFICATIONREFERENCE($,'5-.-6','HOGER NIET GENOEMDE WARMTEBRONNEN',#251,$,$);
|
||||
#258=IFCCLASSIFICATIONREFERENCE($,'5.2','GE\X2\00CF\X0\NTEGREERDE INSTALLATIES',#250,$,$);
|
||||
#259=IFCCLASSIFICATIONREFERENCE($,'5.7','UITRUSTING LOKAAL, CENTRAAL, OP NIVEAU VAN DE WIJK, VOOR GROTER GEHEEL',#250,$,$);
|
||||
#260=IFCCLASSIFICATIONREFERENCE($,'52-','AFVALAFVOER, (UITRUSTING VOOR-)',#249,$,$);
|
||||
#261=IFCCLASSIFICATIONREFERENCE($,'52.1-','AFVOER VOOR VAST AFVAL',#260,$,$);
|
||||
#262=IFCCLASSIFICATIONREFERENCE($,'52.13','AFVOER VOOR VAST AFVAL (DROOG VERVOER)',#261,$,$);
|
||||
#263=IFCCLASSIFICATIONREFERENCE($,'52.14','AFVOER VOOR VAST AFVAL (MANUEEL VERVOER)',#261,$,$);
|
||||
#264=IFCCLASSIFICATIONREFERENCE($,'52.18','AFVOER VOOR VASTE ATVAL HOGER NIET GENOEMD IN 52.1-\X2\201A\X0\ INBEGREPEN AFVALVERNIETIGING',#261,$,$);
|
||||
#265=IFCCLASSIFICATIONREFERENCE($,'52.2','AFVOER VOOR GASVORMIGE AFVAL VIA KANAAL',#260,$,$);
|
||||
#266=IFCCLASSIFICATIONREFERENCE($,'52.3/52.5','VLOEISTOFAFVOER VOLGENS HUN AARD',#260,$,$);
|
||||
#267=IFCCLASSIFICATIONREFERENCE($,'52.3','AFVALWATERAFVOER',#266,$,$);
|
||||
#268=IFCCLASSIFICATIONREFERENCE($,'52.4','AFVOER VOOR SPECIALE AFVAL VLOEISTOFFEN',#266,$,$);
|
||||
#269=IFCCLASSIFICATIONREFERENCE($,'52.5','AFVOER VOOR HEMELWATER',#266,$,$);
|
||||
#270=IFCCLASSIFICATIONREFERENCE($,'52.6/52.7','VLOEISTOFFENAFVOER VOLGENS POSITIE',#260,$,$);
|
||||
#271=IFCCLASSIFICATIONREFERENCE($,'52.6','AFVOER BOVEN HET MAAIVELD EN GELEGEN OFWEL IN HET GEBOUW OFWEL TEGEN DE BUITENKANT ERVAN',#270,$,$);
|
||||
#272=IFCCLASSIFICATIONREFERENCE($,'52.7','AFVOER IN DE GROND EN GELEGEN OFWEL ONDER HET GEBOUW OFWEL TEGEN DE BUITENKANT ERVAN',#270,$,$);
|
||||
#273=IFCCLASSIFICATIONREFERENCE($,'52.8','HOGER NIET GENOEMDE ELEMENTEN VAN 52-',#260,$,$);
|
||||
#274=IFCCLASSIFICATIONREFERENCE($,'52.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 52-',#260,$,$);
|
||||
#275=IFCCLASSIFICATIONREFERENCE($,'53-','VLOEISTOFFENTOEVOER (UITRUSTING VOOR -)',#249,$,$);
|
||||
#276=IFCCLASSIFICATIONREFERENCE($,'53.1/53.6','WATERTOEVOER',#275,$,$);
|
||||
#277=IFCCLASSIFICATIONREFERENCE($,'53.1','TOEVOER VAN KOUD WATER',#276,$,$);
|
||||
#278=IFCCLASSIFICATIONREFERENCE($,'53.3/53.5','TOEVOER VAN WARM WATER',#276,$,$);
|
||||
#279=IFCCLASSIFICATIONREFERENCE($,'53.3','TOEVOER VAN WARM WATER UIT EEN CENTRALE VERWARMINGSINSTALLATIE',#278,$,$);
|
||||
#280=IFCCLASSIFICATIONREFERENCE($,'53.5','TOEVOER VAN WARM WATER UIT VERWARMINGSINSTALLATIE BIJ VERBRUIKSPUNT',#278,$,$);
|
||||
#281=IFCCLASSIFICATIONREFERENCE($,'53.6','TOEVOER VAN BEHANDELD WATER',#276,$,$);
|
||||
#282=IFCCLASSIFICATIONREFERENCE($,'53.7/53.8 VLOEISTOFFENTOEVOER EXCLUSIEF WATER',$,#276,$,$);
|
||||
#283=IFCCLASSIFICATIONREFERENCE($,'53.7','TOEVOER VAN VLOEIBARE BRANDSTOFFEN',#282,$,$);
|
||||
#284=IFCCLASSIFICATIONREFERENCE($,'53.8','VLOEISTOFFENTOEVOER HOGER NIET GENOEMD IN 53-',#282,$,$);
|
||||
#285=IFCCLASSIFICATIONREFERENCE($,'53.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 53-',#275,$,$);
|
||||
#286=IFCCLASSIFICATIONREFERENCE($,'55-','KOELING (UITRUSTING VOOR -)',#249,$,$);
|
||||
#287=IFCCLASSIFICATIONREFERENCE($,'55.1','CENTRALE KOELINSTALLATIE',#286,$,$);
|
||||
#288=IFCCLASSIFICATIONREFERENCE($,'55.5','LOKALE KOELINSTALLATIE',#286,$,$);
|
||||
#289=IFCCLASSIFICATIONREFERENCE($,'55.8','HOGER NIET GENOEMDE ELEMENTEN VAN 55-',#286,$,$);
|
||||
#290=IFCCLASSIFICATIONREFERENCE($,'55.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 55-',#286,$,$);
|
||||
#291=IFCCLASSIFICATIONREFERENCE($,'54-','GASTOEVOER (UITRUSTING VOOR -)',#286,$,$);
|
||||
#292=IFCCLASSIFICATIONREFERENCE($,'54.1/54.4','GASTOEVOER',#291,$,$);
|
||||
#293=IFCCLASSIFICATIONREFERENCE($,'54.1','TOEVOER VAN BRANDBAAR GAS',#292,$,$);
|
||||
#294=IFCCLASSIFICATIONREFERENCE($,'54.2','TOEVOER VAN STOOM',#292,$,$);
|
||||
#295=IFCCLASSIFICATIONREFERENCE($,'54.3','TOEVOER VAN LUCHT',#292,$,$);
|
||||
#296=IFCCLASSIFICATIONREFERENCE($,'54.4','TOEVOER VAN GASSEN, HOGER NIET GENOEMD IN 54.1/54.3',#292,$,$);
|
||||
#297=IFCCLASSIFICATIONREFERENCE($,'54.5','"TOEVOER" VAN VACU\X2\00DC\X0\M',#291,$,$);
|
||||
#298=IFCCLASSIFICATIONREFERENCE($,'54.8','HOGER NIET GENOEMDE ELEMENTEN VAN 54-',#291,$,$);
|
||||
#299=IFCCLASSIFICATIONREFERENCE($,'54.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 54-',#291,$,$);
|
||||
#300=IFCCLASSIFICATIONREFERENCE($,'56-','VERWARMING (UITRUSTING VOOR -)',#249,$,$);
|
||||
#301=IFCCLASSIFICATIONREFERENCE($,'56.1-','VERWARMING VOLGENS ENERGIEVORM',#300,'DEZE CODE WORDT GEBRUIKT INDIEN DE INDELING VAN 56.2/56.8 NIET RELEVANT WORDT GEACHT. DEZE CODE WORDT INGEDEELD MET EEN VIERDE CIJLER 56.1?',$);
|
||||
#302=IFCCLASSIFICATIONREFERENCE($,'56.11','VERWARMING, VASTE BRANDSTOF',#301,$,$);
|
||||
#303=IFCCLASSIFICATIONREFERENCE($,'56.12','VERWARMING, VLOEIBARE BRANDSTOF',#301,$,$);
|
||||
#304=IFCCLASSIFICATIONREFERENCE($,'56.13','VERWARMING, GASVORMIGE BRANDSTOF',#301,$,$);
|
||||
#305=IFCCLASSIFICATIONREFERENCE($,'56.14','VERWARMING, ELEKTRICITEIT',#301,$,$);
|
||||
#306=IFCCLASSIFICATIONREFERENCE($,'56.15','VERWARMING, ZONNESTRALING',#301,$,$);
|
||||
#307=IFCCLASSIFICATIONREFERENCE($,'56.16','VERWARMING, HOGER NIET GENOEMDE WARMTEBRONNEN',#301,$,$);
|
||||
#308=IFCCLASSIFICATIONREFERENCE($,'56.2','WIJKVERWARMING',#300,$,$);
|
||||
#309=IFCCLASSIFICATIONREFERENCE($,'56.3','CENTRALE VERWARMING',#300,'DEZE CODE WORDT GEBRUIKT INDIEN DE INDELING VOLGENS 56.4 TOT 56.7 NIET RELEVANT WORDT GEACHT.',$);
|
||||
#310=IFCCLASSIFICATIONREFERENCE($,'56.4/56.7','CENTRALE VERWARMING',#300,$,$);
|
||||
#311=IFCCLASSIFICATIONREFERENCE($,'56.4','CENTRALE VERWARMING, WARMTEDISTRIBUTIE MET WARM WATER OF STOOM',#310,$,$);
|
||||
#312=IFCCLASSIFICATIONREFERENCE($,'56.5','CENTRALE VERWARMING, WARMTEDLSTRIBUTIE MET WARME LUCHT',#310,$,$);
|
||||
#313=IFCCLASSIFICATIONREFERENCE($,'56.6','WARMTEDISTRIBUTIE VIA ELEKTRISCHE LEIDINGEN',#310,$,$);
|
||||
#314=IFCCLASSIFICATIONREFERENCE($,'56.7','CENTRALE VERWARMING HOGER NIET GENOEMD IN 56.4/56.6',#310,$,$);
|
||||
#315=IFCCLASSIFICATIONREFERENCE($,'56.8','LOKALE WARMTEPRODUKTIE, HOGER NIET GENOEMDE ELEMENTEN VAN 56-',#300,$,$);
|
||||
#316=IFCCLASSIFICATIONREFERENCE($,'56.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 56-',#300,$,$);
|
||||
#317=IFCCLASSIFICATIONREFERENCE($,'57-','LUCHTBEHANDELING EN VENTILATIE (INSTALLATIES VOOR \X2\2014\X0\)',#249,$,$);
|
||||
#318=IFCCLASSIFICATIONREFERENCE($,'57.1/57.4 INSTALLATIES VOOR LUCHTVERWARMING (EN KOELING) INCLUSIEF BEHANDELING',$,#317,$,$);
|
||||
#319=IFCCLASSIFICATIONREFERENCE($,'57.1','CENTRALE INSTALLATIE VOOR LUCHTVERWARMING EN KOELING INCLUSIEF BEHANDELING',#318,$,$);
|
||||
#320=IFCCLASSIFICATIONREFERENCE($,'57.2','CENTRALE INSTALLATIE VOOR LUCHTVERWARMING ZONDER KOELING INCLUSIEF BEHANDELING',#318,$,$);
|
||||
#321=IFCCLASSIFICATIONREFERENCE($,'57.3','LOKALE INSTALLATIE VOOR LUCHTVERWARMING EN KOELING INCLUSIEF BEHANDELING',#318,$,$);
|
||||
#322=IFCCLASSIFICATIONREFERENCE($,'57.4','LOKALE INSTALLATIE VOOR LUCHTVERWARMLNG ZONDER KOELING INCLUSIEF BEHANDELING',#318,$,$);
|
||||
#323=IFCCLASSIFICATIONREFERENCE($,'57.5','INSTALLATIE VOOR LUCHTBEHANDELING ZONDER KOELEN OF VERWARMEN EN INSTALLATIES DIE KOELEN ENVERWARMEN COMBINEREN ZONDER LUCHTBEHANDELING',#317,$,$);
|
||||
#324=IFCCLASSIFICATIONREFERENCE($,'57.6/57.7','INSTALLATIES VOOR VENTILATIE (NIET BEHANDELDE LUCHT)',#317,$,$);
|
||||
#325=IFCCLASSIFICATIONREFERENCE($,'57.6','GEDWONGEN CENTRALE VENTILATIE ZONDER BEHANDELING',#324,$,$);
|
||||
#326=IFCCLASSIFICATIONREFERENCE($,'57.7','GEDWONGEN LOKALE VENTILATIE',#324,$,$);
|
||||
#327=IFCCLASSIFICATIONREFERENCE($,'57.8','HOGER NIET GENOEMDE ELEMENTEN VAN 57-',#317,$,$);
|
||||
#328=IFCCLASSIFICATIONREFERENCE($,'57.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 57-',#317,$,$);
|
||||
#329=IFCCLASSIFICATIONREFERENCE($,'58','HOGER NIET GENOEMDE ELEMENTEN VAN 5-',#249,$,$);
|
||||
#330=IFCCLASSIFICATIONREFERENCE($,'59','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 5-',#249,$,$);
|
||||
#331=IFCCLASSIFICATIONREFERENCE($,'6-','TECHNISCHE UITRUSTING HOOFDZAKELIJK ELEKTRISCH',#2,$,$);
|
||||
#332=IFCCLASSIFICATIONREFERENCE($,'61-','PRIMAIRE ELEKTRICITEITSNET',#331,$,$);
|
||||
#333=IFCCLASSIFICATIONREFERENCE($,'61.1/61.3','ELEKTRICITEITSVERDELING VOLGENS VERLOOP IN HET GEBOUW',#332,$,$);
|
||||
#334=IFCCLASSIFICATIONREFERENCE($,'61.1','RADIAALVERDELING',#333,$,$);
|
||||
#335=IFCCLASSIFICATIONREFERENCE($,'61.2','RINGVERDELING',#333,$,$);
|
||||
#336=IFCCLASSIFICATIONREFERENCE($,'61.3','STIJGLEIDINGEN',#333,$,$);
|
||||
#337=IFCCLASSIFICATIONREFERENCE($,'61.6/61.7','ELEKTRICITEITSVERDELING VOLGENS PRODUCENT',#332,$,$);
|
||||
#338=IFCCLASSIFICATIONREFERENCE($,'61.6','OPENBARE STROOMVOORZIENINGEN',#337,$,$);
|
||||
#339=IFCCLASSIFICATIONREFERENCE($,'61.7','PRIV\X2\00C9\X0\-ELEKTRICITEITSPRODUKTIE',#337,$,$);
|
||||
#340=IFCCLASSIFICATIONREFERENCE($,'61.8','HOGER NIET GENOEMDE ELEMENTEN VAN 61-',#332,$,$);
|
||||
#341=IFCCLASSIFICATIONREFERENCE($,'61.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 61-',#332,$,$);
|
||||
#342=IFCCLASSIFICATIONREFERENCE($,'62','SECUNDAIRE ELEKTRICITEITSNET',#331,$,$);
|
||||
#343=IFCCLASSIFICATIONREFERENCE($,'63-','VERLICHTING (INSTALLATIE VOOR -)',#331,$,$);
|
||||
#344=IFCCLASSIFICATIONREFERENCE($,'63.1','ALGEMENE VERLICHTING VAN RUIMTE',#343,$,$);
|
||||
#345=IFCCLASSIFICATIONREFERENCE($,'63.2','PLAATSELIJKE VERLICHTING (DEEL VAN EEN RUIMTE)',#343,$,$);
|
||||
#346=IFCCLASSIFICATIONREFERENCE($,'63.6','VERLICHTING DOOR MIDDEL VAN PROJECTOREN',#343,$,$);
|
||||
#347=IFCCLASSIFICATIONREFERENCE($,'63.8','HOGER NIET GENOEMDE ELEMENTEN VAN 63',#343,$,$);
|
||||
#348=IFCCLASSIFICATIONREFERENCE($,'63.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 63',#343,$,$);
|
||||
#349=IFCCLASSIFICATIONREFERENCE($,'64-','COMMUNICATIE (INSTALLATIE VOOR -)',#331,$,$);
|
||||
#350=IFCCLASSIFICATIONREFERENCE($,'64.1-','VISUELE EN AUDIO-VISUELE COMMUNICATIE (INSTALLATIES VOOR -)',#349,$,$);
|
||||
#351=IFCCLASSIFICATIONREFERENCE($,'64.11','VISUELE EN AUDIO-VISUELE COMMUNICATIE (INSTALLATIES VOOR TELEVISIE)',#350,$,$);
|
||||
#352=IFCCLASSIFICATIONREFERENCE($,'64.12','VISUELE EN AUDIO-VISUELE COMMUNICATIE (INSTALLATIES VOOR FILMPROJECTIE)',#350,$,$);
|
||||
#353=IFCCLASSIFICATIONREFERENCE($,'64.13','VISUELE EN AUDIO-VISUELE COMMUNICATIE (INSTALLATIES VOOR LICHTSIGNALEN)',#350,$,$);
|
||||
#354=IFCCLASSIFICATIONREFERENCE($,'64.18','HOGER NIET GENOEMDE ELEMENTEN VAN 64.1-',#350,$,$);
|
||||
#355=IFCCLASSIFICATIONREFERENCE($,'64.3-','AUDITIEVE COMMUNICATIE (INSTALLATIES VOOR -)',#349,$,$);
|
||||
#356=IFCCLASSIFICATIONREFERENCE($,'64.31','AUDITIEVE COMMUNICATIE (INSTALLATIES VOOR RADIO)',#355,$,$);
|
||||
#357=IFCCLASSIFICATIONREFERENCE($,'64.32','AUDITIEVE COMMUNICATIE (INSTALLATIES VOOR TELEFOON EN INTERFOON INCLUSIEF OPENBARE TELEFOONCELLEN IN EEN GEBOUW)',#355,$,$);
|
||||
#358=IFCCLASSIFICATIONREFERENCE($,'64.33','AUDITIEVE COMMUNICATIE (INSTALLATIES VOOR GELUIDSVERDELING)',#355,$,$);
|
||||
#359=IFCCLASSIFICATIONREFERENCE($,'64.34','AUDITIEVE COMMUNICATIE (INSTALLATIES VOOR CENTRALE AFLUISTERINSTALLATIES)',#355,$,$);
|
||||
#360=IFCCLASSIFICATIONREFERENCE($,'64.35','AUDITIEVE COMMUNICATIE (INSTALLATIES VOOR AUDITIEVE CODES)',#355,$,$);
|
||||
#361=IFCCLASSIFICATIONREFERENCE($,'64.38','AUDITIEVE COMMUNICATIE (INSTALLATIES VOOR HOGER NIET GENOEMDE ELEMENTEN VAN 64.3-)',#355,$,$);
|
||||
#362=IFCCLASSIFICATIONREFERENCE($,'64.4-','ANDERE DAN VISUELE OF AUDITIEVE COMMUNICATIE (INSTALLATIES VOOR -)',#349,$,$);
|
||||
#363=IFCCLASSIFICATIONREFERENCE($,'64.41','ANDERE DAN VISUELE OF AUDITIEVE COMMUNICATIE (INSTALLATIES VOOR TELEGRAAF)',#362,$,$);
|
||||
#364=IFCCLASSIFICATIONREFERENCE($,'64.42','ANDERE DAN VISUELE OF AUDITIEVE COMMUNICATIE (INSTALLATIES VOOR TELEX, TELEPRINT)',#362,$,$);
|
||||
#365=IFCCLASSIFICATIONREFERENCE($,'64.43','ANDERE DAN VISUELE OF AUDITIEVE COMMUNICATIE (INSTALLATIES VOOR TELECOPIE)',#362,$,$);
|
||||
#366=IFCCLASSIFICATIONREFERENCE($,'64.44','ANDERE DAN VISUELE OF AUDITIEVE COMMUNICATIE (INSTALLATIES VOOR DATATRANSMISSIE)',#362,$,$);
|
||||
#367=IFCCLASSIFICATIONREFERENCE($,'64.48','ANDERE DAN VISUELE OF AUDITIEVE COMMUNICATIE (INSTALLATIES VOOR HOGER NIET GENOEMDE ELEMENTEN VAN 64.4-)',#362,$,$);
|
||||
#368=IFCCLASSIFICATIONREFERENCE($,'64.5','SYNCHRONE KLOKKEN',#349,$,$);
|
||||
#369=IFCCLASSIFICATIONREFERENCE($,'64.8','HOGER NIET GENOEMDE ELEMENTEN VAN 64-',#349,$,$);
|
||||
#370=IFCCLASSIFICATIONREFERENCE($,'64.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 64-',#349,$,$);
|
||||
#371=IFCCLASSIFICATIONREFERENCE($,'66-','TRANSPORTINSTALLATIES',#331,$,$);
|
||||
#372=IFCCLASSIFICATIONREFERENCE($,'66.1/66.2','INSTALLATIES VOOR VERTICAAL TRANSPORT',#371,$,$);
|
||||
#373=IFCCLASSIFICATIONREFERENCE($,'66.1','LIFTEN',#372,$,$);
|
||||
#374=IFCCLASSIFICATIONREFERENCE($,'66.2','INSTALLATIES VOOR VERTLCAAL TRANSPORT ENKEL VOOR GOEDEREN',#372,$,$);
|
||||
#375=IFCCLASSIFICATIONREFERENCE($,'66.3/66.7','INSTALLATIES VOOR HORIZONTAAL TRANSPORT OF HORIZONTAAL EN VERTICAAL TRANSPORT',#371,$,$);
|
||||
#376=IFCCLASSIFICATIONREFERENCE($,'66.3','MOBIELE HANGSTEIGERS',#375,$,$);
|
||||
#377=IFCCLASSIFICATIONREFERENCE($,'66.4','ROLTRAPPEN',#375,$,$);
|
||||
#378=IFCCLASSIFICATIONREFERENCE($,'66.5','TRANSPORTBANDEN, TRANSPORTPLATEAUS',#375,$,$);
|
||||
#379=IFCCLASSIFICATIONREFERENCE($,'66.7','TRANSPORTKRANEN',#375,$,$);
|
||||
#380=IFCCLASSIFICATIONREFERENCE($,'66.8','HOGER NIET GENOEMDE ELEMENTEN VAN 66-',#371,$,$);
|
||||
#381=IFCCLASSIFICATIONREFERENCE($,'66.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 66-',#371,$,$);
|
||||
#382=IFCCLASSIFICATIONREFERENCE($,'68-','BEVEILIGINGSINSTALLATIES, CONTROLEINSTALLATIES, HOGER NIET GENOEMDE ELEMENTEN VAN 6-',#331,$,$);
|
||||
#383=IFCCLASSIFICATIONREFERENCE($,'68.1/68.6','INSTALLATIES VOOR BEVEILIGING EN BESCHERMING',#382,$,$);
|
||||
#384=IFCCLASSIFICATIONREFERENCE($,'68.1','GE\X2\00CF\X0\NTEGREERDE INBRAAK- EN BRANDBEVEILIGING',#383,$,$);
|
||||
#385=IFCCLASSIFICATIONREFERENCE($,'68.2','INBRAAKBEVEILIGING',#383,$,$);
|
||||
#386=IFCCLASSIFICATIONREFERENCE($,'68.5','BRANDBEVEILIGINGSINSTAILATIES',#383,$,$);
|
||||
#387=IFCCLASSIFICATIONREFERENCE($,'68.52','BRANDMELDINGSINSTALLATIE',#386,$,$);
|
||||
#388=IFCCLASSIFICATIONREFERENCE($,'68.53/68.56','BRANDBEVEILIGINGS- EN BRANDBESTR\X2\0132\X0\DINGSINSTALLATIE',#386,$,$);
|
||||
#389=IFCCLASSIFICATIONREFERENCE($,'68.53','BEVEILIGINGSINSTALLATIE BIJ BRAND EXCLUSIEF BRANDBESTRIJDING',#388,$,$);
|
||||
#390=IFCCLASSIFICATIONREFERENCE($,'68.54','AUTOMATISCHE BRANDBESTR\X2\0132\X0\DINGSINSTALLATIE',#388,$,$);
|
||||
#391=IFCCLASSIFICATIONREFERENCE($,'68.55','NIET-DRAAGBARE NIET-AUTOMATISCHE BRANDBESTRIJDINGSINSTALLATIE',#388,$,$);
|
||||
#392=IFCCLASSIFICATIONREFERENCE($,'68.56','DRAAGBARE BRANDBESTRIJDINGSTOESTELLEN',#388,$,$);
|
||||
#393=IFCCLASSIFICATIONREFERENCE($,'68.58','HOGER NIET GENOEMDE ELEMENTEN VAN 68.5-',#386,$,$);
|
||||
#394=IFCCLASSIFICATIONREFERENCE($,'68.6','BEVEILLGINGSINSTALLATIES NIET GENOEMD IN 68.1/68.5',#383,$,$);
|
||||
#395=IFCCLASSIFICATIONREFERENCE($,'68.7','CONTROLE-UITRUSTING (INBEGREPEN STURING EN CONTROLE VAN PROCESSEN)',#382,$,$);
|
||||
#396=IFCCLASSIFICATIONREFERENCE($,'68.8','HOGER NIET GENOEMDE ELEMENTEN VAN 68-',#382,$,$);
|
||||
#397=IFCCLASSIFICATIONREFERENCE($,'68.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 68',#382,$,$);
|
||||
#398=IFCCLASSIFICATIONREFERENCE($,'69','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 6-',#331,$,$);
|
||||
#399=IFCCLASSIFICATIONREFERENCE($,'7-','VASTE INRICHTING',#2,$,$);
|
||||
#400=IFCCLASSIFICATIONREFERENCE($,'71-','VASTE INRICHTING VOOR CIRCULATIE',#399,$,$);
|
||||
#401=IFCCLASSIFICATIONREFERENCE($,'71.1','VASTE AANDUIDINGEN, WEGWIJZERS',#400,$,$);
|
||||
#402=IFCCLASSIFICATIONREFERENCE($,'71.2','VASTE ELEMENTEN DIE CIRCULATIE AFBAKENEN',#400,$,$);
|
||||
#403=IFCCLASSIFICATIONREFERENCE($,'71.3','VASTE INRICHTING IN VERBAND MET DE TOEGANG TOT GEBOUWEN',#400,$,$);
|
||||
#404=IFCCLASSIFICATIONREFERENCE($,'71.8','HOGER NIET GENOEMDE ELEMENTEN VAN 71-',#400,$,$);
|
||||
#405=IFCCLASSIFICATIONREFERENCE($,'71.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 71-',#400,$,$);
|
||||
#406=IFCCLASSIFICATIONREFERENCE($,'72-','VASTE INRICHTING VOOR RUSTEN EN WERKEN',#399,$,$);
|
||||
#407=IFCCLASSIFICATIONREFERENCE($,'72.1','VASTE INRICHTING VOOR SLAPEN',#406,$,$);
|
||||
#408=IFCCLASSIFICATIONREFERENCE($,'72.2','VASTE INRICHTING VOOR RUSTEN',#406,$,$);
|
||||
#409=IFCCLASSIFICATIONREFERENCE($,'72.3','VASTE INRICHTING VOOR WERKEN',#406,$,$);
|
||||
#410=IFCCLASSIFICATIONREFERENCE($,'72.6','VASTE BANKEN, STOELEN, ZETELS EN TAFELS VOOR RUSTEN EN WERKEN',#406,$,$);
|
||||
#411=IFCCLASSIFICATIONREFERENCE($,'72.8','HOGER NIET GENOEMDE ELEMENTEN VAN 7-',#406,$,$);
|
||||
#412=IFCCLASSIFICATIONREFERENCE($,'72.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 72-',#406,$,$);
|
||||
#413=IFCCLASSIFICATIONREFERENCE($,'73-','VASTE INRICHTING VOOR HET BEREIDEN EN GEBRUIKEN VAN MAALTIJDEN',#399,$,$);
|
||||
#414=IFCCLASSIFICATIONREFERENCE($,'73.1','VASTE WERKBLADEN EN INRICHTING VOOR HET BEREIDEN VAN MAALTIJDEN',#413,$,$);
|
||||
#415=IFCCLASSIFICATIONREFERENCE($,'73.2','VASTE INRICHTING VOOR WASSEN EN SPOELEN',#413,$,$);
|
||||
#416=IFCCLASSIFICATIONREFERENCE($,'73.4','VASTE TOESTELLEN VOOR VOEDSELBEREIDING EN KOKEN',#413,$,$);
|
||||
#417=IFCCLASSIFICATIONREFERENCE($,'73.5','VASTE KEUKENTOESTELLEN VOOR BERGING EN BEWARING',#413,$,$);
|
||||
#418=IFCCLASSIFICATIONREFERENCE($,'73.7','VASTE INRICHTING VOOR VERBRUIKERS VAN MAALTIJDEN',#413,$,$);
|
||||
#419=IFCCLASSIFICATIONREFERENCE($,'73.8','HOGER NIET GENOEMDE ELEMENTEN VAN 73-',#413,$,$);
|
||||
#420=IFCCLASSIFICATIONREFERENCE($,'73.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 73-',#413,$,$);
|
||||
#421=IFCCLASSIFICATIONREFERENCE($,'74-','SANITAIRE UITRUSTING',#399,$,$);
|
||||
#422=IFCCLASSIFICATIONREFERENCE($,'74.1','GEHEEL VAN SANITAIRE TOESTELLEN',#421,$,$);
|
||||
#423=IFCCLASSIFICATIONREFERENCE($,'74.2','TOESTELLEN VOOR LICHAAMSHYGI\X2\00CB\X0\NE',#421,$,$);
|
||||
#424=IFCCLASSIFICATIONREFERENCE($,'74.2-','TOESTELLEN VOOR LICHAAMSHYGI\X2\00CB\X0\NE',#421,$,$);
|
||||
#425=IFCCLASSIFICATIONREFERENCE($,'74.22','BADEN',#424,$,$);
|
||||
#426=IFCCLASSIFICATIONREFERENCE($,'74.23','LAVABO\X2\2019\X0\S, HANDWASBEKKENS',#424,$,$);
|
||||
#427=IFCCLASSIFICATIONREFERENCE($,'74.24','BIDETS, VOETWASBEKKENS',#424,$,$);
|
||||
#428=IFCCLASSIFICATIONREFERENCE($,'74.26','DOUCHETOESTELLEN',#424,$,$);
|
||||
#429=IFCCLASSIFICATIONREFERENCE($,'74.27','SAUNATOESTELLEN',#424,$,$);
|
||||
#430=IFCCLASSIFICATIONREFERENCE($,'74.28','HOGER NIET GENOEMDE ELEMENTEN VAN 74.2-',#424,$,$);
|
||||
#431=IFCCLASSIFICATIONREFERENCE($,'74.3','VASTE SANITAIRE TOESTELLEN VOOR HET DROGEN',#421,$,$);
|
||||
#432=IFCCLASSIFICATIONREFERENCE($,'74.4','TOESTELLEN VOOR AFVOER VAN UITWERPSELEN',#421,$,$);
|
||||
#433=IFCCLASSIFICATIONREFERENCE($,'74.4-','TOESTELLEN VOOR AFVOER VAN UITWERPSELEN',#421,$,$);
|
||||
#434=IFCCLASSIFICATIONREFERENCE($,'74.44','WC''s',#433,$,$);
|
||||
#435=IFCCLASSIFICATIONREFERENCE($,'74.45','URINOIRS',#433,$,$);
|
||||
#436=IFCCLASSIFICATIONREFERENCE($,'74.48','HOGER NIEL GENOEMDE ELEMENTEN VAN 74.4-',#433,$,$);
|
||||
#437=IFCCLASSIFICATIONREFERENCE($,'74.7','TOESTELLEN VOOR VERDELING VAN ZEEP, VAN HANDDOEKEN, VAN PAPIER VOOR LICHAAMSHYGI\X2\00CB\X0\NE',#421,$,$);
|
||||
#438=IFCCLASSIFICATIONREFERENCE($,'74.8','HOGER NIET GENOEMDE ELEMENLEN VAN 74-',#421,$,$);
|
||||
#439=IFCCLASSIFICATIONREFERENCE($,'74.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 74-',#421,$,$);
|
||||
#440=IFCCLASSIFICATIONREFERENCE($,'75-','VASTE INRICHTING VOOR ONDERHOUD EN SCHOONMAAK',#399,$,$);
|
||||
#441=IFCCLASSIFICATIONREFERENCE($,'75.1','VASTE WASINRICHTING, VASTE WASTOBBEN',#440,$,$);
|
||||
#442=IFCCLASSIFICATIONREFERENCE($,'75.3','DROOGTOESTELLEN',#440,$,$);
|
||||
#443=IFCCLASSIFICATIONREFERENCE($,'75.4','VASTE STRIJKINRICHTING',#440,$,$);
|
||||
#444=IFCCLASSIFICATIONREFERENCE($,'75.8','HOGER NIET GENOEMDE ELEMENTEN VAN 75-',#440,$,$);
|
||||
#445=IFCCLASSIFICATIONREFERENCE($,'75.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 75-',#440,$,$);
|
||||
#446=IFCCLASSIFICATIONREFERENCE($,'76-','VASTE INRICHTING VOOR BERGING EN AFSCHERMING',#399,$,$);
|
||||
#447=IFCCLASSIFICATIONREFERENCE($,'76.1/76.6 VASTE INRICHTING VOOR BERGING',$,#446,$,$);
|
||||
#448=IFCCLASSIFICATIONREFERENCE($,'76.1','VASTE KASTEN SAMENGESTELD UIT MEERDERE ELEMENTEN DIE BESTAAN UIT LADES, REKKEN, AFSLUITBARE KASTDELEN, \X2\2026\X0\',#447,$,$);
|
||||
#449=IFCCLASSIFICATIONREFERENCE($,'76.2','VASTE AFSLUITBARE KASTEN',#447,$,$);
|
||||
#450=IFCCLASSIFICATIONREFERENCE($,'76.3','VASTE LADENKASTEN',#447,$,$);
|
||||
#451=IFCCLASSIFICATIONREFERENCE($,'76.4','VASTE REKKEN',#447,$,$);
|
||||
#452=IFCCLASSIFICATIONREFERENCE($,'76.5','VASTE HANGSYSTEMEN VOOR BERGING',#447,$,$);
|
||||
#453=IFCCLASSIFICATIONREFERENCE($,'76.6','KASTEN MET SPECIALE EIGENSCHAPPEN, VASTE INRICHTING VOOR BERGING HOGER NIET GENOEMD IN 76.1/76.5',#447,$,$);
|
||||
#454=IFCCLASSIFICATIONREFERENCE($,'76.7','SCHERMEN',#446,$,$);
|
||||
#455=IFCCLASSIFICATIONREFERENCE($,'76.8','HOGER NIET GENOEMDE ELEMENTEN VAN 76-',#446,$,$);
|
||||
#456=IFCCLASSIFICATIONREFERENCE($,'76.9','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 76-',#446,$,$);
|
||||
#457=IFCCLASSIFICATIONREFERENCE($,'77','VASTE INRICHTING VOOR SPECIALE ACTIVITEITEN',#399,$,$);
|
||||
#458=IFCCLASSIFICATIONREFERENCE($,'78-','HOGER NIET GENOEMDE ELEMENTEN VAN 7-',#399,$,$);
|
||||
#459=IFCCLASSIFICATIONREFERENCE($,'78.3','STOFFERINGEN, INCLUSIEF BEHANGWERKEN',#458,$,$);
|
||||
#460=IFCCLASSIFICATIONREFERENCE($,'78.6','KUNSTWERKEN',#458,$,$);
|
||||
#461=IFCCLASSIFICATIONREFERENCE($,'79','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 7-',#399,$,$);
|
||||
#462=IFCCLASSIFICATIONREFERENCE($,'8-','LOSSE INRICHTING',#2,$,$);
|
||||
#463=IFCCLASSIFICATIONREFERENCE($,'81','LOSSE INRICHTING VOOR CIRCULATIE',#462,$,$);
|
||||
#464=IFCCLASSIFICATIONREFERENCE($,'82','LOSSE INRICHTING VOOR RUSTEN EN WERKEN',#462,$,$);
|
||||
#465=IFCCLASSIFICATIONREFERENCE($,'83','LOSSE INRICHTING VOOR BEREIDEN EN VERBRUIKEN VAN MAALT\X2\0132\X0\DEN',#462,$,$);
|
||||
#466=IFCCLASSIFICATIONREFERENCE($,'84','LOSSE INRICHTING VOOR SANITAIRE TOEPASSINGEN, VOOR HYGIENE',#462,$,$);
|
||||
#467=IFCCLASSIFICATIONREFERENCE($,'85','LOSSE INRICHTING VOOR ONDERHOUD EN SCHOONMAAK',#462,$,$);
|
||||
#468=IFCCLASSIFICATIONREFERENCE($,'86','LOSSE INRICHTING VOOR BERGING EN AFSCHERIMING',#462,$,$);
|
||||
#469=IFCCLASSIFICATIONREFERENCE($,'87','LOSSE INRICHTING VOOR SPECIALE ACTIVITEITEN',#462,$,$);
|
||||
#470=IFCCLASSIFICATIONREFERENCE($,'88','HOGER NIET GENOEMDE ELEMENTEN VAN 8-',#462,$,$);
|
||||
#471=IFCCLASSIFICATIONREFERENCE($,'89','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN 8-',#462,$,$);
|
||||
#472=IFCCLASSIFICATIONREFERENCE($,'9-','ELEMENTEN BUITEN HET GEBOUW, HOGER NIET GENOEMDE ELEMENTEN',#2,$,$);
|
||||
#473=IFCCLASSIFICATIONREFERENCE($,'90','ELEMENTEN BUITEN HET GEBOUW',#472,$,$);
|
||||
#474=IFCCLASSIFICATIONREFERENCE($,'90.1','BODEM VOORBEREID BUITEN HET GEBOUW, INDIEN NIET VERMELD ONDER 1-',#473,$,$);
|
||||
#475=IFCCLASSIFICATIONREFERENCE($,'90.2','MINDER BELANGRIJKE CONSTRUCTIES BUITEN HET GEBOUW, INDIEN NIET VERMELD BIJ 1-/8-',#473,$,$);
|
||||
#476=IFCCLASSIFICATIONREFERENCE($,'90.3','AFSLUITINGEN BUITEN HET GEBOUW INDIEN NIET VERMED ONDER 1-/3-',#473,$,$);
|
||||
#477=IFCCLASSIFICATIONREFERENCE($,'90.4-','AFWERKING VAN BODEMOPPERVLAK BUITEN HET GEBOUW INDIEN NIET VERMELD ONDER 1-',#473,$,$);
|
||||
#478=IFCCLASSIFICATIONREFERENCE($,'90.41','HARDE BODEMAFWERKING BUITEN HET GEBOUW',#477,$,$);
|
||||
#479=IFCCLASSIFICATIONREFERENCE($,'90.42','ZACHTE BODEMAFWERKING BUITEN HET GEBOUW',#477,$,$);
|
||||
#480=IFCCLASSIFICATIONREFERENCE($,'90.43','OPPERVLAKKEN ONDER WATER BUITEN HET GEBOUW',#477,$,$);
|
||||
#481=IFCCLASSIFICATIONREFERENCE($,'90.48','HOGER NIET GENOEMDE ELEMENTEN VAN 90.4-',#477,$,$);
|
||||
#482=IFCCLASSIFICATIONREFERENCE($,'90.5-','UITRUSTING HOOFDZAKELIJK FLUIDA BUITEN HET GEBOUW INDIEN NIET VERMED ONDER 5-',#473,$,$);
|
||||
#483=IFCCLASSIFICATIONREFERENCE($,'90.51','DRAINAGE, AFVALWATERAFVOER BUITEN HET GEBOUW',#482,$,$);
|
||||
#484=IFCCLASSIFICATIONREFERENCE($,'90.52','UITRUSTING HOOFDZAKELIJK FLUIDA BUITEN HET GEBOUW EXCLUSIEF DRAINAGE EN AFVALWATERAFVOER',#482,$,$);
|
||||
#485=IFCCLASSIFICATIONREFERENCE($,'90.6','UITRUSTING HOOFDZAKELIJK ELEKTRISCH BUITEN HET GEBOUW INDIEN NIET VERMELD ONDER 6-',#473,$,$);
|
||||
#486=IFCCLASSIFICATIONREFERENCE($,'90.7','VASTE EN LOSSE INRICHTING BUITEN HET GEBOUW, INDIEN NIET VERMELD ONDER 7-/8-',#473,$,$);
|
||||
#487=IFCCLASSIFICATIONREFERENCE($,'90.8','HOGER NIET GENOEMDE ELEMENTEN VAN 90',#473,$,$);
|
||||
#488=IFCCLASSIFICATIONREFERENCE($,'98','ELEMENTEN VAN TABEL1 HOGER NIET GENOEMD IN 0-/97',#472,$,$);
|
||||
#489=IFCCLASSIFICATIONREFERENCE($,'99','HULPSTUKKEN EN ONDERDELEN VOOR ELEMENTEN VAN TABEL 1',#472,$,$);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -0,0 +1,357 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
|
||||
FILE_NAME('','2020-04-23T18:09:27',(),(),'IfcOpenShell 0.6.0b0','IfcOpenShell 0.6.0b0','');
|
||||
FILE_SCHEMA(('IFC4'));
|
||||
ENDSEC;
|
||||
DATA;
|
||||
#1=IFCPROJECTLIBRARY($,$,'BIMTypeCode',$,$,$,$,$,$);
|
||||
#2=IFCCLASSIFICATION('BIMStockholm','V.1.0','2018-10-12','BIMTypeCode','BIMTypeCode is a simple and logical coding structure of building elements based on the adviser''s design requirements, experience and best practice from complex to manageable BIM projects.','http://bimstockholm.se/EN',$);
|
||||
#3=IFCRELASSOCIATESCLASSIFICATION('110oGrgYT2UBdqzWMbly1U',$,$,$,(#1),#2);
|
||||
#4=IFCCLASSIFICATIONREFERENCE($,'0','Generiska objekt',#2,$,$);
|
||||
#5=IFCCLASSIFICATIONREFERENCE($,'01','Generiska objekt A',#4,$,$);
|
||||
#6=IFCCLASSIFICATIONREFERENCE($,'02','Generiska objekt K',#4,$,$);
|
||||
#7=IFCCLASSIFICATIONREFERENCE($,'03','Generiska objekt V',#4,$,$);
|
||||
#8=IFCCLASSIFICATIONREFERENCE($,'04','Generiska objekt W',#4,$,$);
|
||||
#9=IFCCLASSIFICATIONREFERENCE($,'05','Generiska objekt E',#4,$,$);
|
||||
#10=IFCCLASSIFICATIONREFERENCE($,'06','Generiska objekt L',#4,$,$);
|
||||
#11=IFCCLASSIFICATIONREFERENCE($,'07','Generiska objekt P',#4,$,$);
|
||||
#12=IFCCLASSIFICATIONREFERENCE($,'1','Grundl\X2\00E4\X0\ggning',#2,$,$);
|
||||
#13=IFCCLASSIFICATIONREFERENCE($,'10','Terr\X2\00E4\X0\ng',#12,$,$);
|
||||
#14=IFCCLASSIFICATIONREFERENCE($,'101','Bearbetad undergrund',#13,$,$);
|
||||
#15=IFCCLASSIFICATIONREFERENCE($,'102','Bygggrop inkl. f\X2\00F6\X0\rstyvande',#13,$,$);
|
||||
#16=IFCCLASSIFICATIONREFERENCE($,'103','Spontning',#13,$,$);
|
||||
#17=IFCCLASSIFICATIONREFERENCE($,'104','Byggplats',#13,$,$);
|
||||
#18=IFCCLASSIFICATIONREFERENCE($,'11','P\X2\00E5\X0\lar',#12,$,$);
|
||||
#19=IFCCLASSIFICATIONREFERENCE($,'111','Prefabricerade p\X2\00E5\X0\lar',#18,$,$);
|
||||
#20=IFCCLASSIFICATIONREFERENCE($,'112','Platsgjutna p\X2\00E5\X0\lar',#18,$,$);
|
||||
#21=IFCCLASSIFICATIONREFERENCE($,'119','P\X2\00E5\X0\lar \X2\00F6\X0\vrigt',#18,$,$);
|
||||
#22=IFCCLASSIFICATIONREFERENCE($,'12','Fundament',#12,$,$);
|
||||
#23=IFCCLASSIFICATIONREFERENCE($,'121','Grundsulor, kantbalk',#22,$,$);
|
||||
#24=IFCCLASSIFICATIONREFERENCE($,'122','Grundplintar',#22,$,$);
|
||||
#25=IFCCLASSIFICATIONREFERENCE($,'123','Grundplattor',#22,$,$);
|
||||
#26=IFCCLASSIFICATIONREFERENCE($,'124','Murad fundament',#22,$,$);
|
||||
#27=IFCCLASSIFICATIONREFERENCE($,'125','Maskinfundament',#22,$,$);
|
||||
#28=IFCCLASSIFICATIONREFERENCE($,'126','P\X2\00E5\X0\lfundament',#22,$,$);
|
||||
#29=IFCCLASSIFICATIONREFERENCE($,'127','Fundament i terr\X2\00E4\X0\ng',#22,$,$);
|
||||
#30=IFCCLASSIFICATIONREFERENCE($,'13','Platta, byggnad',#12,$,$);
|
||||
#31=IFCCLASSIFICATIONREFERENCE($,'131','Grundplatta',#30,$,$);
|
||||
#32=IFCCLASSIFICATIONREFERENCE($,'18','Byggbasis byggnad, \X2\00F6\X0\vriga',#12,$,$);
|
||||
#33=IFCCLASSIFICATIONREFERENCE($,'181','Kanaler under platta',#32,$,$);
|
||||
#34=IFCCLASSIFICATIONREFERENCE($,'182','Gropar och tr\X2\00E4\X0\sk',#32,$,$);
|
||||
#35=IFCCLASSIFICATIONREFERENCE($,'2','Prim\X2\00E4\X0\ra byggdelar',#2,$,$);
|
||||
#36=IFCCLASSIFICATIONREFERENCE($,'20','Terr\X2\00E4\X0\ng',#35,$,$);
|
||||
#37=IFCCLASSIFICATIONREFERENCE($,'201','Frist\X2\00E5\X0\ende murar',#36,$,$);
|
||||
#38=IFCCLASSIFICATIONREFERENCE($,'202','St\X2\00F6\X0\dmurar',#36,$,$);
|
||||
#39=IFCCLASSIFICATIONREFERENCE($,'203','Kulvertar',#36,$,$);
|
||||
#40=IFCCLASSIFICATIONREFERENCE($,'204','G\X2\00E5\X0\ngbroar, viadukter mm.',#36,$,$);
|
||||
#41=IFCCLASSIFICATIONREFERENCE($,'205','Trappor och ramper i terr\X2\00E4\X0\ng',#36,$,$);
|
||||
#42=IFCCLASSIFICATIONREFERENCE($,'21','Ytterv\X2\00E4\X0\gg',#35,$,$);
|
||||
#43=IFCCLASSIFICATIONREFERENCE($,'211','Prefabricerade element',#42,$,$);
|
||||
#44=IFCCLASSIFICATIONREFERENCE($,'212','Platsgjutna v\X2\00E4\X0\ggar',#42,$,$);
|
||||
#45=IFCCLASSIFICATIONREFERENCE($,'213','Uppmurade v\X2\00E4\X0\ggar',#42,$,$);
|
||||
#46=IFCCLASSIFICATIONREFERENCE($,'214','Uppreglade v\X2\00E4\X0\ggar',#42,$,$);
|
||||
#47=IFCCLASSIFICATIONREFERENCE($,'215','Uppreglade v\X2\00E4\X0\ggsk\X2\00F6\X0\rtar',#42,$,$);
|
||||
#48=IFCCLASSIFICATIONREFERENCE($,'216','Fasadsystem',#42,$,$);
|
||||
#49=IFCCLASSIFICATIONREFERENCE($,'217','V\X2\00E4\X0\ggisolering',#42,$,$);
|
||||
#50=IFCCLASSIFICATIONREFERENCE($,'218','Ljusschakt',#42,$,$);
|
||||
#51=IFCCLASSIFICATIONREFERENCE($,'22','Innerv\X2\00E4\X0\gg',#35,$,$);
|
||||
#52=IFCCLASSIFICATIONREFERENCE($,'221','Prefabricerade element',#51,$,$);
|
||||
#53=IFCCLASSIFICATIONREFERENCE($,'222','Platsgjutna v\X2\00E4\X0\ggar',#51,$,$);
|
||||
#54=IFCCLASSIFICATIONREFERENCE($,'223','Uppmurade v\X2\00E4\X0\ggar',#51,$,$);
|
||||
#55=IFCCLASSIFICATIONREFERENCE($,'224','Uppreglade v\X2\00E4\X0\ggar',#51,$,$);
|
||||
#56=IFCCLASSIFICATIONREFERENCE($,'225','Uppreglade v\X2\00E4\X0\ggsk\X2\00F6\X0\rtar',#51,$,$);
|
||||
#57=IFCCLASSIFICATIONREFERENCE($,'226','Glasv\X2\00E4\X0\ggsystem',#51,$,$);
|
||||
#58=IFCCLASSIFICATIONREFERENCE($,'23','Bj\X2\00E4\X0\lklag',#35,$,$);
|
||||
#59=IFCCLASSIFICATIONREFERENCE($,'231','Prefabricerade bj\X2\00E4\X0\lklag',#58,$,$);
|
||||
#60=IFCCLASSIFICATIONREFERENCE($,'232','Platsgjutna bj\X2\00E4\X0\lklag',#58,$,$);
|
||||
#61=IFCCLASSIFICATIONREFERENCE($,'233','Uppreglade bj\X2\00E4\X0\lklag',#58,$,$);
|
||||
#62=IFCCLASSIFICATIONREFERENCE($,'234','P\X2\00E5\X0\gjutningar',#58,$,$);
|
||||
#63=IFCCLASSIFICATIONREFERENCE($,'239','\X2\00D6\X0\vriga bj\X2\00E4\X0\lklag',#58,$,$);
|
||||
#64=IFCCLASSIFICATIONREFERENCE($,'24','Trappor och ramper',#35,$,$);
|
||||
#65=IFCCLASSIFICATIONREFERENCE($,'241','Prefabricerade trappor',#64,$,$);
|
||||
#66=IFCCLASSIFICATIONREFERENCE($,'242','Platsgjutna trappor',#64,$,$);
|
||||
#67=IFCCLASSIFICATIONREFERENCE($,'243','Sammansatta trappor',#64,$,$);
|
||||
#68=IFCCLASSIFICATIONREFERENCE($,'244','Prefabricerade ramper',#64,$,$);
|
||||
#69=IFCCLASSIFICATIONREFERENCE($,'245','Platsgjutna ramper',#64,$,$);
|
||||
#70=IFCCLASSIFICATIONREFERENCE($,'246','Sammansatta ramper',#64,$,$);
|
||||
#71=IFCCLASSIFICATIONREFERENCE($,'247','Fasta stegar, lejdare och trappsteg',#64,$,$);
|
||||
#72=IFCCLASSIFICATIONREFERENCE($,'25','B\X2\00E4\X0\rande balkar och pelare',#35,$,$);
|
||||
#73=IFCCLASSIFICATIONREFERENCE($,'251','Prefabricerade balkar',#72,$,$);
|
||||
#74=IFCCLASSIFICATIONREFERENCE($,'252','Platsgjutna balkar',#72,$,$);
|
||||
#75=IFCCLASSIFICATIONREFERENCE($,'253','St\X2\00E5\X0\lbalkar',#72,$,$);
|
||||
#76=IFCCLASSIFICATIONREFERENCE($,'254','\X2\00D6\X0\vriga balkar',#72,$,$);
|
||||
#77=IFCCLASSIFICATIONREFERENCE($,'255','Prefabricerade pelare',#72,$,$);
|
||||
#78=IFCCLASSIFICATIONREFERENCE($,'256','Platsgjutna pelare',#72,$,$);
|
||||
#79=IFCCLASSIFICATIONREFERENCE($,'257','St\X2\00E5\X0\lpelare',#72,$,$);
|
||||
#80=IFCCLASSIFICATIONREFERENCE($,'259','\X2\00D6\X0\vriga pelare',#72,$,$);
|
||||
#81=IFCCLASSIFICATIONREFERENCE($,'26','Balkonger och loftg\X2\00E5\X0\ng, prim\X2\00E4\X0\ra byggdelar',#35,$,$);
|
||||
#82=IFCCLASSIFICATIONREFERENCE($,'261','Prefabricerade balkongplattor och loftg\X2\00E5\X0\ngar',#81,$,$);
|
||||
#83=IFCCLASSIFICATIONREFERENCE($,'262','Platsgjutna balkonplattor och loftg\X2\00E5\X0\ngar',#81,$,$);
|
||||
#84=IFCCLASSIFICATIONREFERENCE($,'263','Sammansatta balkongplattor och loftg\X2\00E5\X0\ngar',#81,$,$);
|
||||
#85=IFCCLASSIFICATIONREFERENCE($,'27','Tak, prim\X2\00E4\X0\ra byggdelar',#35,$,$);
|
||||
#86=IFCCLASSIFICATIONREFERENCE($,'271','Yttertak',#85,$,$);
|
||||
#87=IFCCLASSIFICATIONREFERENCE($,'272','Takkassetter',#85,$,$);
|
||||
#88=IFCCLASSIFICATIONREFERENCE($,'273','Varma tak',#85,$,$);
|
||||
#89=IFCCLASSIFICATIONREFERENCE($,'274','Glastakssystem',#85,$,$);
|
||||
#90=IFCCLASSIFICATIONREFERENCE($,'275','Mobila tak',#85,$,$);
|
||||
#91=IFCCLASSIFICATIONREFERENCE($,'276','Sk\X2\00E4\X0\rmtak',#85,$,$);
|
||||
#92=IFCCLASSIFICATIONREFERENCE($,'279','\X2\00D6\X0\vriga takkonstruktioner',#85,$,$);
|
||||
#93=IFCCLASSIFICATIONREFERENCE($,'28','Prim\X2\00E4\X0\ra byggdelar, \X2\00F6\X0\vrigt',#35,$,$);
|
||||
#94=IFCCLASSIFICATIONREFERENCE($,'3','Kompletterande byggdelar',#2,$,$);
|
||||
#95=IFCCLASSIFICATIONREFERENCE($,'30','Terr\X2\00E4\X0\ng',#94,$,$);
|
||||
#96=IFCCLASSIFICATIONREFERENCE($,'301','Staket, avsk\X2\00E4\X0\rmningar',#95,$,$);
|
||||
#97=IFCCLASSIFICATIONREFERENCE($,'302','Trappor och ramper',#95,$,$);
|
||||
#98=IFCCLASSIFICATIONREFERENCE($,'303','\X2\00D6\X0\verg\X2\00E5\X0\ng',#95,$,$);
|
||||
#99=IFCCLASSIFICATIONREFERENCE($,'31','Ytterv\X2\00E4\X0\gg',#94,$,$);
|
||||
#100=IFCCLASSIFICATIONREFERENCE($,'311','D\X2\00F6\X0\rrar',#99,$,$);
|
||||
#101=IFCCLASSIFICATIONREFERENCE($,'312','F\X2\00F6\X0\nster',#99,$,$);
|
||||
#102=IFCCLASSIFICATIONREFERENCE($,'313','D\X2\00F6\X0\rrar, fasadsystem',#99,$,$);
|
||||
#103=IFCCLASSIFICATIONREFERENCE($,'314','F\X2\00F6\X0\nster\X2\00F6\X0\ppningar, fasadsystem',#99,$,$);
|
||||
#104=IFCCLASSIFICATIONREFERENCE($,'315','Paneler, solavsk\X2\00E4\X0\rmningar, karmprofiler, fasadsystem',#99,$,$);
|
||||
#105=IFCCLASSIFICATIONREFERENCE($,'316','Portar och karuselld\X2\00F6\X0\rrar',#99,$,$);
|
||||
#106=IFCCLASSIFICATIONREFERENCE($,'317','Ytterv\X2\00E4\X0\ggar, sk\X2\00E4\X0\rmv\X2\00E4\X0\ggar',#99,$,$);
|
||||
#107=IFCCLASSIFICATIONREFERENCE($,'319','\X2\00D6\X0\vriga ytterv\X2\00E4\X0\ggskompletteringar',#99,$,$);
|
||||
#108=IFCCLASSIFICATIONREFERENCE($,'32','Innerv\X2\00E4\X0\gg',#94,$,$);
|
||||
#109=IFCCLASSIFICATIONREFERENCE($,'321','D\X2\00F6\X0\rrar',#108,$,$);
|
||||
#110=IFCCLASSIFICATIONREFERENCE($,'322','F\X2\00F6\X0\nster, luckor',#108,$,$);
|
||||
#111=IFCCLASSIFICATIONREFERENCE($,'323','D\X2\00F6\X0\rrar, glasv\X2\00E4\X0\ggssystem',#108,$,$);
|
||||
#112=IFCCLASSIFICATIONREFERENCE($,'324','F\X2\00F6\X0\nster\X2\00F6\X0\ppningar, glasv\X2\00E4\X0\ggssystem',#108,$,$);
|
||||
#113=IFCCLASSIFICATIONREFERENCE($,'325','F\X2\00F6\X0\nster, solavsk\X2\00E4\X0\rmningar, karmprofiler, glasv\X2\00E4\X0\ggssystem',#108,$,$);
|
||||
#114=IFCCLASSIFICATIONREFERENCE($,'326','Inv\X2\00E4\X0\ndiga portar och karuselld\X2\00F6\X0\rrar',#108,$,$);
|
||||
#115=IFCCLASSIFICATIONREFERENCE($,'327','R\X2\00F6\X0\rliga innerv\X2\00E4\X0\ggar',#108,$,$);
|
||||
#116=IFCCLASSIFICATIONREFERENCE($,'328','Innerv\X2\00E4\X0\ggar, sk\X2\00E4\X0\rmv\X2\00E4\X0\ggar',#108,$,$);
|
||||
#117=IFCCLASSIFICATIONREFERENCE($,'329','\X2\00D6\X0\vriga innerv\X2\00E4\X0\ggskompletteringar',#108,$,$);
|
||||
#118=IFCCLASSIFICATIONREFERENCE($,'33','Bj\X2\00E4\X0\lklag',#94,$,$);
|
||||
#119=IFCCLASSIFICATIONREFERENCE($,'331','Uppbyggda golv',#118,$,$);
|
||||
#120=IFCCLASSIFICATIONREFERENCE($,'332','Flytande golv',#118,$,$);
|
||||
#121=IFCCLASSIFICATIONREFERENCE($,'333','Luckor, gallerdurk, torkmattor',#118,$,$);
|
||||
#122=IFCCLASSIFICATIONREFERENCE($,'334','Platsgjutna golv',#118,$,$);
|
||||
#123=IFCCLASSIFICATIONREFERENCE($,'335','Uppbyggda bel\X2\00E4\X0\ggning',#118,$,$);
|
||||
#124=IFCCLASSIFICATIONREFERENCE($,'336','Ljudabsorbenter',#118,$,$);
|
||||
#125=IFCCLASSIFICATIONREFERENCE($,'339','\X2\00D6\X0\vriga bj\X2\00E4\X0\lklagskompletteringar',#118,$,$);
|
||||
#126=IFCCLASSIFICATIONREFERENCE($,'34','Trappor och ramper',#94,$,$);
|
||||
#127=IFCCLASSIFICATIONREFERENCE($,'341','Utv\X2\00E4\X0\nidga r\X2\00E4\X0\cke, handledare',#126,$,$);
|
||||
#128=IFCCLASSIFICATIONREFERENCE($,'342','Inv\X2\00E4\X0\ndiga r\X2\00E4\X0\cke, handledare',#126,$,$);
|
||||
#129=IFCCLASSIFICATIONREFERENCE($,'343','Gallerdurk, skrapmattor',#126,$,$);
|
||||
#130=IFCCLASSIFICATIONREFERENCE($,'349','\X2\00D6\X0\vriga trappkompletteringar',#126,$,$);
|
||||
#131=IFCCLASSIFICATIONREFERENCE($,'35','Undertak',#94,$,$);
|
||||
#132=IFCCLASSIFICATIONREFERENCE($,'351','Inv\X2\00E4\X0\ndiga nedpendlade undertak',#131,$,$);
|
||||
#133=IFCCLASSIFICATIONREFERENCE($,'352','Utv\X2\00E4\X0\ndiga nedpendlade undertak',#131,$,$);
|
||||
#134=IFCCLASSIFICATIONREFERENCE($,'353','Inv\X2\00E4\X0\ndiga diktmonterade undertak',#131,$,$);
|
||||
#135=IFCCLASSIFICATIONREFERENCE($,'354','Utv\X2\00E4\X0\ndiga diktmonterade undertak',#131,$,$);
|
||||
#136=IFCCLASSIFICATIONREFERENCE($,'355','Inv\X2\00E4\X0\ndiga undertakssk\X2\00F6\X0\rt',#131,$,$);
|
||||
#137=IFCCLASSIFICATIONREFERENCE($,'356','Utv\X2\00E4\X0\ndiga undertakssk\X2\00F6\X0\rt',#131,$,$);
|
||||
#138=IFCCLASSIFICATIONREFERENCE($,'357','Ljudabsorbenter',#131,$,$);
|
||||
#139=IFCCLASSIFICATIONREFERENCE($,'36','Balkonger',#94,$,$);
|
||||
#140=IFCCLASSIFICATIONREFERENCE($,'361','Balkongr\X2\00E4\X0\cke',#139,$,$);
|
||||
#141=IFCCLASSIFICATIONREFERENCE($,'37','Tak',#94,$,$);
|
||||
#142=IFCCLASSIFICATIONREFERENCE($,'371','Takkupor',#141,$,$);
|
||||
#143=IFCCLASSIFICATIONREFERENCE($,'372','Takf\X2\00F6\X0\nster, r\X2\00F6\X0\k- och uppstigningsluckor',#141,$,$);
|
||||
#144=IFCCLASSIFICATIONREFERENCE($,'373','Solavsk\X2\00E4\X0\rmning till takf\X2\00F6\X0\nster',#141,$,$);
|
||||
#145=IFCCLASSIFICATIONREFERENCE($,'374','Taks\X2\00E4\X0\kerhet',#141,$,$);
|
||||
#146=IFCCLASSIFICATIONREFERENCE($,'375','Brandt\X2\00E4\X0\tningar',#141,$,$);
|
||||
#147=IFCCLASSIFICATIONREFERENCE($,'376','T\X2\00E4\X0\ckpl\X2\00E5\X0\tar',#141,$,$);
|
||||
#148=IFCCLASSIFICATIONREFERENCE($,'377','Bel\X2\00E4\X0\ggningar p\X2\00E5\X0\ f\X2\00E4\X0\rdigt tak',#141,$,$);
|
||||
#149=IFCCLASSIFICATIONREFERENCE($,'38','Kompletterande byggdelar, \X2\00F6\X0\vrigt',#94,$,$);
|
||||
#150=IFCCLASSIFICATIONREFERENCE($,'4','Ytbehandling',#2,$,$);
|
||||
#151=IFCCLASSIFICATIONREFERENCE($,'41','Utv\X2\00E4\X0\ndiga v\X2\00E4\X0\ggar',#150,$,$);
|
||||
#152=IFCCLASSIFICATIONREFERENCE($,'411','M\X2\00E5\X0\lad',#151,$,$);
|
||||
#153=IFCCLASSIFICATIONREFERENCE($,'412','Murad',#151,$,$);
|
||||
#154=IFCCLASSIFICATIONREFERENCE($,'413','Monterad',#151,$,$);
|
||||
#155=IFCCLASSIFICATIONREFERENCE($,'42','Inv\X2\00E4\X0\ndiga v\X2\00E4\X0\ggar',#150,$,$);
|
||||
#156=IFCCLASSIFICATIONREFERENCE($,'421','M\X2\00E5\X0\lad',#155,$,$);
|
||||
#157=IFCCLASSIFICATIONREFERENCE($,'422','Murad',#155,$,$);
|
||||
#158=IFCCLASSIFICATIONREFERENCE($,'423','Monterad',#155,$,$);
|
||||
#159=IFCCLASSIFICATIONREFERENCE($,'43','Bj\X2\00E4\X0\lklag och golv',#150,$,$);
|
||||
#160=IFCCLASSIFICATIONREFERENCE($,'431','M\X2\00E5\X0\lad',#159,$,$);
|
||||
#161=IFCCLASSIFICATIONREFERENCE($,'432','Murad',#159,$,$);
|
||||
#162=IFCCLASSIFICATIONREFERENCE($,'433','Monterad',#159,$,$);
|
||||
#163=IFCCLASSIFICATIONREFERENCE($,'44','Trappor och ramper',#150,$,$);
|
||||
#164=IFCCLASSIFICATIONREFERENCE($,'441','M\X2\00E5\X0\lad',#163,$,$);
|
||||
#165=IFCCLASSIFICATIONREFERENCE($,'442','Murad',#163,$,$);
|
||||
#166=IFCCLASSIFICATIONREFERENCE($,'443','Monterad',#163,$,$);
|
||||
#167=IFCCLASSIFICATIONREFERENCE($,'45','Undertak',#150,$,$);
|
||||
#168=IFCCLASSIFICATIONREFERENCE($,'451','M\X2\00E5\X0\lad',#167,$,$);
|
||||
#169=IFCCLASSIFICATIONREFERENCE($,'452','Murad',#167,$,$);
|
||||
#170=IFCCLASSIFICATIONREFERENCE($,'453','Monterad',#167,$,$);
|
||||
#171=IFCCLASSIFICATIONREFERENCE($,'46','Balkonger',#150,$,$);
|
||||
#172=IFCCLASSIFICATIONREFERENCE($,'461','M\X2\00E5\X0\lad',#171,$,$);
|
||||
#173=IFCCLASSIFICATIONREFERENCE($,'462','Murad',#171,$,$);
|
||||
#174=IFCCLASSIFICATIONREFERENCE($,'463','Monterad',#171,$,$);
|
||||
#175=IFCCLASSIFICATIONREFERENCE($,'47','Tak',#150,$,$);
|
||||
#176=IFCCLASSIFICATIONREFERENCE($,'471','M\X2\00E5\X0\lad',#175,$,$);
|
||||
#177=IFCCLASSIFICATIONREFERENCE($,'472','Takt\X2\00E4\X0\ckning',#175,$,$);
|
||||
#178=IFCCLASSIFICATIONREFERENCE($,'48','\X2\00D6\X0\vriga byggnadsdelar, bekl\X2\00E4\X0\dnader',#150,$,$);
|
||||
#179=IFCCLASSIFICATIONREFERENCE($,'5','VA-, VVS-,\X2\00A0\X0\kyl och proccessmediesystem',#2,$,$);
|
||||
#180=IFCCLASSIFICATIONREFERENCE($,'50','R\X2\00F6\X0\rsystem i anl\X2\00E4\X0\ggning',#179,$,$);
|
||||
#181=IFCCLASSIFICATIONREFERENCE($,'501','Ledningar av metall i mark',#180,$,$);
|
||||
#182=IFCCLASSIFICATIONREFERENCE($,'502','Flexibla ledningar av plast i mark',#180,$,$);
|
||||
#183=IFCCLASSIFICATIONREFERENCE($,'503','Styva ledningar av plats i mark',#180,$,$);
|
||||
#184=IFCCLASSIFICATIONREFERENCE($,'504','Brunnar i mark',#180,$,$);
|
||||
#185=IFCCLASSIFICATIONREFERENCE($,'505','Brunnsbeteckningar',#180,$,$);
|
||||
#186=IFCCLASSIFICATIONREFERENCE($,'506','Avskiljningsbrunnar',#180,$,$);
|
||||
#187=IFCCLASSIFICATIONREFERENCE($,'507','Anslutningar till VVS',#180,$,$);
|
||||
#188=IFCCLASSIFICATIONREFERENCE($,'508','Tillbeh\X2\00F6\X0\r',#180,$,$);
|
||||
#189=IFCCLASSIFICATIONREFERENCE($,'51','Logistik',#179,$,$);
|
||||
#190=IFCCLASSIFICATIONREFERENCE($,'511','Avfallstransport- och logistiksystem',#189,$,$);
|
||||
#191=IFCCLASSIFICATIONREFERENCE($,'52','Avloppsvatten och Tappvatten',#179,$,$);
|
||||
#192=IFCCLASSIFICATIONREFERENCE($,'521','Avlopp och liknande tillbeh\X2\00F6\X0\ver',#191,$,$);
|
||||
#193=IFCCLASSIFICATIONREFERENCE($,'522','Klosetter och liknande',#191,$,$);
|
||||
#194=IFCCLASSIFICATIONREFERENCE($,'523','Tv\X2\00E4\X0\ttst\X2\00E4\X0\ll, tv\X2\00E4\X0\ttr\X2\00E4\X0\nnor, diskb\X2\00E4\X0\nkar, tv\X2\00E4\X0\ttb\X2\00E4\X0\nkar, utslagsbackar',#191,$,$);
|
||||
#195=IFCCLASSIFICATIONREFERENCE($,'524','Kondensvattenanslutning till utrustning',#191,$,$);
|
||||
#196=IFCCLASSIFICATIONREFERENCE($,'525','Tappvatten- och avloppsanslutningar',#191,$,$);
|
||||
#197=IFCCLASSIFICATIONREFERENCE($,'526','Tappvatten och avloppsanslutning till teknisk utrustning',#191,$,$);
|
||||
#198=IFCCLASSIFICATIONREFERENCE($,'527','Tappvatten- och avloppsanslutning till laboratorieutrustningar',#191,$,$);
|
||||
#199=IFCCLASSIFICATIONREFERENCE($,'528','Badkar och motsvarande',#191,$,$);
|
||||
#200=IFCCLASSIFICATIONREFERENCE($,'53','Tappvatten- och processvattensystem',#179,$,$);
|
||||
#201=IFCCLASSIFICATIONREFERENCE($,'531','Mekanisk utrustning',#200,$,$);
|
||||
#202=IFCCLASSIFICATIONREFERENCE($,'532','Vattenanslutningar',#200,$,$);
|
||||
#203=IFCCLASSIFICATIONREFERENCE($,'533','Vattenbehandlingssystem',#200,$,$);
|
||||
#204=IFCCLASSIFICATIONREFERENCE($,'534','Brandsk\X2\00E5\X0\p',#200,$,$);
|
||||
#205=IFCCLASSIFICATIONREFERENCE($,'54','Lufttyper (gas, lufttryck, vakuum, \X2\00E5\X0\nga)',#179,$,$);
|
||||
#206=IFCCLASSIFICATIONREFERENCE($,'541','Mekanisk utrustning',#205,$,$);
|
||||
#207=IFCCLASSIFICATIONREFERENCE($,'542','Luftuttag',#205,$,$);
|
||||
#208=IFCCLASSIFICATIONREFERENCE($,'543','Luftproduktionssystem',#205,$,$);
|
||||
#209=IFCCLASSIFICATIONREFERENCE($,'545','Tillbeh\X2\00F6\X0\r',#205,$,$);
|
||||
#210=IFCCLASSIFICATIONREFERENCE($,'55','Kyla',#179,$,$);
|
||||
#211=IFCCLASSIFICATIONREFERENCE($,'551','Mekanisk utrustning',#210,$,$);
|
||||
#212=IFCCLASSIFICATIONREFERENCE($,'552','Kylaggregat',#210,$,$);
|
||||
#213=IFCCLASSIFICATIONREFERENCE($,'553','Kylproducerande installationer',#210,$,$);
|
||||
#214=IFCCLASSIFICATIONREFERENCE($,'56','V\X2\00E4\X0\rme',#179,$,$);
|
||||
#215=IFCCLASSIFICATIONREFERENCE($,'561','Mekanisk utrustning',#214,$,$);
|
||||
#216=IFCCLASSIFICATIONREFERENCE($,'562','V\X2\00E4\X0\rmeaggregat',#214,$,$);
|
||||
#217=IFCCLASSIFICATIONREFERENCE($,'563','V\X2\00E4\X0\rmeproducerande installationer',#214,$,$);
|
||||
#218=IFCCLASSIFICATIONREFERENCE($,'57','Ventilation',#179,$,$);
|
||||
#219=IFCCLASSIFICATIONREFERENCE($,'571','Kanaler',#218,$,$);
|
||||
#220=IFCCLASSIFICATIONREFERENCE($,'572','Apparater i luftbehandlingssystem',#218,$,$);
|
||||
#221=IFCCLASSIFICATIONREFERENCE($,'573','Kanaltillbeh\X2\00F6\X0\r',#218,$,$);
|
||||
#222=IFCCLASSIFICATIONREFERENCE($,'574','Fl\X2\00E4\X0\ktar',#218,$,$);
|
||||
#223=IFCCLASSIFICATIONREFERENCE($,'575','Luftdon',#218,$,$);
|
||||
#224=IFCCLASSIFICATIONREFERENCE($,'576','Anslutningar till utrustningar',#218,$,$);
|
||||
#225=IFCCLASSIFICATIONREFERENCE($,'577','Takhuvar/kanalgenomf\X2\00F6\X0\ringar',#218,$,$);
|
||||
#226=IFCCLASSIFICATIONREFERENCE($,'578','Kanalisolering',#218,$,$);
|
||||
#227=IFCCLASSIFICATIONREFERENCE($,'58','Sprinkler',#179,$,$);
|
||||
#228=IFCCLASSIFICATIONREFERENCE($,'581','Mekanisk utrustning',#227,$,$);
|
||||
#229=IFCCLASSIFICATIONREFERENCE($,'582','Sprinklerhuvuden',#227,$,$);
|
||||
#230=IFCCLASSIFICATIONREFERENCE($,'583','Brandsk\X2\00E5\X0\p',#227,$,$);
|
||||
#231=IFCCLASSIFICATIONREFERENCE($,'59','Tv\X2\00E4\X0\rg\X2\00E5\X0\ende delar, VVS',#179,$,$);
|
||||
#232=IFCCLASSIFICATIONREFERENCE($,'591','R\X2\00F6\X0\r av metall',#231,$,$);
|
||||
#233=IFCCLASSIFICATIONREFERENCE($,'592','Flexibla plastr\X2\00F6\X0\r',#231,$,$);
|
||||
#234=IFCCLASSIFICATIONREFERENCE($,'593','H\X2\00E5\X0\rda plastr\X2\00F6\X0\r',#231,$,$);
|
||||
#235=IFCCLASSIFICATIONREFERENCE($,'594','Statiska ventiler',#231,$,$);
|
||||
#236=IFCCLASSIFICATIONREFERENCE($,'595','Dynamiska ventiler',#231,$,$);
|
||||
#237=IFCCLASSIFICATIONREFERENCE($,'596','Motordrivna ventiler',#231,$,$);
|
||||
#238=IFCCLASSIFICATIONREFERENCE($,'597','M\X2\00E4\X0\tare och givare',#231,$,$);
|
||||
#239=IFCCLASSIFICATIONREFERENCE($,'598','R\X2\00F6\X0\risolering',#231,$,$);
|
||||
#240=IFCCLASSIFICATIONREFERENCE($,'599','Beslag, konsoler, stativ, h\X2\00E5\X0\l och utsparingar',#231,$,$);
|
||||
#241=IFCCLASSIFICATIONREFERENCE($,'6','El- och mekaniska an\X2\00E4\X0\ggningar',#2,$,$);
|
||||
#242=IFCCLASSIFICATIONREFERENCE($,'60','Terr\X2\00E4\X0\ng',#241,$,$);
|
||||
#243=IFCCLASSIFICATIONREFERENCE($,'601','Ledningar',#242,$,$);
|
||||
#244=IFCCLASSIFICATIONREFERENCE($,'602','Belysning',#242,$,$);
|
||||
#245=IFCCLASSIFICATIONREFERENCE($,'603','Installationer i mark',#242,$,$);
|
||||
#246=IFCCLASSIFICATIONREFERENCE($,'604','Installationer p\X2\00E5\X0\ mark',#242,$,$);
|
||||
#247=IFCCLASSIFICATIONREFERENCE($,'605','Trafikstyrningar',#242,$,$);
|
||||
#248=IFCCLASSIFICATIONREFERENCE($,'61','Kanalisation',#241,$,$);
|
||||
#249=IFCCLASSIFICATIONREFERENCE($,'611','R\X2\00E4\X0\nnor/stegar',#248,$,$);
|
||||
#250=IFCCLASSIFICATIONREFERENCE($,'612','Kanaler',#248,$,$);
|
||||
#251=IFCCLASSIFICATIONREFERENCE($,'613','Kabelr\X2\00F6\X0\r',#248,$,$);
|
||||
#252=IFCCLASSIFICATIONREFERENCE($,'614','Fiberr\X2\00E4\X0\nnor',#248,$,$);
|
||||
#253=IFCCLASSIFICATIONREFERENCE($,'615','Brand och ljudt\X2\00E4\X0\tningar',#248,$,$);
|
||||
#254=IFCCLASSIFICATIONREFERENCE($,'616','H\X2\00E5\X0\l och urtagningar',#248,$,$);
|
||||
#255=IFCCLASSIFICATIONREFERENCE($,'619','\X2\00D6\X0\vrigt',#248,$,$);
|
||||
#256=IFCCLASSIFICATIONREFERENCE($,'62','H\X2\00F6\X0\gsp\X2\00E4\X0\nning',#241,$,$);
|
||||
#257=IFCCLASSIFICATIONREFERENCE($,'621','F\X2\00F6\X0\rs\X2\00F6\X0\rjning',#256,$,$);
|
||||
#258=IFCCLASSIFICATIONREFERENCE($,'622','F\X2\00F6\X0\rdelning',#256,$,$);
|
||||
#259=IFCCLASSIFICATIONREFERENCE($,'623','Installationer f\X2\00F6\X0\r apparater och maskiner',#256,$,$);
|
||||
#260=IFCCLASSIFICATIONREFERENCE($,'63','L\X2\00E5\X0\gsp\X2\00E4\X0\nning',#241,$,$);
|
||||
#261=IFCCLASSIFICATIONREFERENCE($,'631','Extern f\X2\00F6\X0\rs\X2\00F6\X0\rjning',#260,$,$);
|
||||
#262=IFCCLASSIFICATIONREFERENCE($,'632','F\X2\00F6\X0\rdelning',#260,$,$);
|
||||
#263=IFCCLASSIFICATIONREFERENCE($,'633','Installationer f\X2\00F6\X0\r apparater och maskiner',#260,$,$);
|
||||
#264=IFCCLASSIFICATIONREFERENCE($,'634','Termisk anl\X2\00E4\X0\ggning',#260,$,$);
|
||||
#265=IFCCLASSIFICATIONREFERENCE($,'635','Belysningsinstallationer',#260,$,$);
|
||||
#266=IFCCLASSIFICATIONREFERENCE($,'636','Belysningsarmaturer',#260,$,$);
|
||||
#267=IFCCLASSIFICATIONREFERENCE($,'637','Kraftinstallationer',#260,$,$);
|
||||
#268=IFCCLASSIFICATIONREFERENCE($,'638','F\X2\00F6\X0\rnyelsebar energi - intern f\X2\00F6\X0\rs\X2\00F6\X0\rjning',#260,$,$);
|
||||
#269=IFCCLASSIFICATIONREFERENCE($,'64','Kommunikation och information',#241,$,$);
|
||||
#270=IFCCLASSIFICATIONREFERENCE($,'641','Kommunikation',#269,$,$);
|
||||
#271=IFCCLASSIFICATIONREFERENCE($,'642','Information',#269,$,$);
|
||||
#272=IFCCLASSIFICATIONREFERENCE($,'643','Audio, video och antenner',#269,$,$);
|
||||
#273=IFCCLASSIFICATIONREFERENCE($,'644','IT-infrastruktur',#269,$,$);
|
||||
#274=IFCCLASSIFICATIONREFERENCE($,'65','\X2\00D6\X0\vervakningssystem',#241,$,$);
|
||||
#275=IFCCLASSIFICATIONREFERENCE($,'651','Inbrottss\X2\00E4\X0\kerhet',#274,$,$);
|
||||
#276=IFCCLASSIFICATIONREFERENCE($,'652','S\X2\00E4\X0\kerhetssystem',#274,$,$);
|
||||
#277=IFCCLASSIFICATIONREFERENCE($,'653','Persons\X2\00E4\X0\kerhet',#274,$,$);
|
||||
#278=IFCCLASSIFICATIONREFERENCE($,'66','Styr',#241,$,$);
|
||||
#279=IFCCLASSIFICATIONREFERENCE($,'661','Styrsystem',#278,$,$);
|
||||
#280=IFCCLASSIFICATIONREFERENCE($,'662','\X2\00D6\X0\verordnat styrsystem',#278,$,$);
|
||||
#281=IFCCLASSIFICATIONREFERENCE($,'67','Sp\X2\00E4\X0\nningsutj\X2\00E4\X0\mning',#241,$,$);
|
||||
#282=IFCCLASSIFICATIONREFERENCE($,'671','\X2\00D6\X0\versp\X2\00E4\X0\nningsskydd',#281,$,$);
|
||||
#283=IFCCLASSIFICATIONREFERENCE($,'672','Sp\X2\00E4\X0\nningsutj\X2\00E4\X0\mning',#281,$,$);
|
||||
#284=IFCCLASSIFICATIONREFERENCE($,'68','Person- och materialtransport',#241,$,$);
|
||||
#285=IFCCLASSIFICATIONREFERENCE($,'681','Persontransport',#284,$,$);
|
||||
#286=IFCCLASSIFICATIONREFERENCE($,'682','Gods- och materialtransport',#284,$,$);
|
||||
#287=IFCCLASSIFICATIONREFERENCE($,'7','Inredning och teknisk utrustning',#2,$,$);
|
||||
#288=IFCCLASSIFICATIONREFERENCE($,'70','Utrustning, terr\X2\00E4\X0\ng',#287,$,$);
|
||||
#289=IFCCLASSIFICATIONREFERENCE($,'701','Teknisk utrustning',#288,$,$);
|
||||
#290=IFCCLASSIFICATIONREFERENCE($,'702','Tavlor, skyltar, sk\X2\00E4\X0\rmar',#288,$,$);
|
||||
#291=IFCCLASSIFICATIONREFERENCE($,'703','F\X2\00F6\X0\rr\X2\00E5\X0\d, papperskorgar, cykelst\X2\00E4\X0\ll, brevl\X2\00E5\X0\dor',#288,$,$);
|
||||
#292=IFCCLASSIFICATIONREFERENCE($,'704','Bord',#288,$,$);
|
||||
#293=IFCCLASSIFICATIONREFERENCE($,'705','Sittm\X2\00F6\X0\bler',#288,$,$);
|
||||
#294=IFCCLASSIFICATIONREFERENCE($,'706','R\X2\00E4\X0\cken och staket',#288,$,$);
|
||||
#295=IFCCLASSIFICATIONREFERENCE($,'707','Sport och lekutrustningar',#288,$,$);
|
||||
#296=IFCCLASSIFICATIONREFERENCE($,'709','\X2\00D6\X0\vrig utrustning i terr\X2\00E4\X0\ng',#288,$,$);
|
||||
#297=IFCCLASSIFICATIONREFERENCE($,'71','Inredning, fastmonterat',#287,$,$);
|
||||
#298=IFCCLASSIFICATIONREFERENCE($,'711','Sk\X2\00E5\X0\p',#297,$,$);
|
||||
#299=IFCCLASSIFICATIONREFERENCE($,'712','Hyllor',#297,$,$);
|
||||
#300=IFCCLASSIFICATIONREFERENCE($,'713','Sittm\X2\00F6\X0\bler, liggm\X2\00F6\X0\bler',#297,$,$);
|
||||
#301=IFCCLASSIFICATIONREFERENCE($,'714','Gardiner, persienner',#297,$,$);
|
||||
#302=IFCCLASSIFICATIONREFERENCE($,'715','Bord, b\X2\00E4\X0\nk',#297,$,$);
|
||||
#303=IFCCLASSIFICATIONREFERENCE($,'716','Skyltar, tavlor',#297,$,$);
|
||||
#304=IFCCLASSIFICATIONREFERENCE($,'717','Utsmyckning',#297,$,$);
|
||||
#305=IFCCLASSIFICATIONREFERENCE($,'719','\X2\00D6\X0\vriga fastmonterade m\X2\00F6\X0\bler',#297,$,$);
|
||||
#306=IFCCLASSIFICATIONREFERENCE($,'72','Inredning, l\X2\00F6\X0\s',#287,$,$);
|
||||
#307=IFCCLASSIFICATIONREFERENCE($,'721','Sk\X2\00E5\X0\p',#306,$,$);
|
||||
#308=IFCCLASSIFICATIONREFERENCE($,'722','Hyllor',#306,$,$);
|
||||
#309=IFCCLASSIFICATIONREFERENCE($,'723','Sittm\X2\00F6\X0\bler, liggm\X2\00F6\X0\bler',#306,$,$);
|
||||
#310=IFCCLASSIFICATIONREFERENCE($,'724','Sk\X2\00E4\X0\rmv\X2\00E4\X0\ggar',#306,$,$);
|
||||
#311=IFCCLASSIFICATIONREFERENCE($,'725','Bord',#306,$,$);
|
||||
#312=IFCCLASSIFICATIONREFERENCE($,'726','Stativ, hyllplan',#306,$,$);
|
||||
#313=IFCCLASSIFICATIONREFERENCE($,'727','Mattor',#306,$,$);
|
||||
#314=IFCCLASSIFICATIONREFERENCE($,'729','\X2\00D6\X0\vrig l\X2\00F6\X0\s m\X2\00F6\X0\blering',#306,$,$);
|
||||
#315=IFCCLASSIFICATIONREFERENCE($,'73','Utrustning, teknisk-, IT- och AV-utrustning',#287,$,$);
|
||||
#316=IFCCLASSIFICATIONREFERENCE($,'731','AV-utrustning',#315,$,$);
|
||||
#317=IFCCLASSIFICATIONREFERENCE($,'732','IT-utrustning',#315,$,$);
|
||||
#318=IFCCLASSIFICATIONREFERENCE($,'733','Belysning',#315,$,$);
|
||||
#319=IFCCLASSIFICATIONREFERENCE($,'734','Automater',#315,$,$);
|
||||
#320=IFCCLASSIFICATIONREFERENCE($,'735','Brandsl\X2\00E4\X0\ckningsutrustning',#315,$,$);
|
||||
#321=IFCCLASSIFICATIONREFERENCE($,'736','Vitvaror',#315,$,$);
|
||||
#322=IFCCLASSIFICATIONREFERENCE($,'8','V\X2\00E4\X0\xter och markbel\X2\00E4\X0\ggning',#2,$,$);
|
||||
#323=IFCCLASSIFICATIONREFERENCE($,'80','Markbel\X2\00E4\X0\ggningar och markmaterial',#322,$,$);
|
||||
#324=IFCCLASSIFICATIONREFERENCE($,'801','Asfaltbel\X2\00E4\X0\ggningar',#323,$,$);
|
||||
#325=IFCCLASSIFICATIONREFERENCE($,'802','Platsgjuten betong',#323,$,$);
|
||||
#326=IFCCLASSIFICATIONREFERENCE($,'803','Gummibel\X2\00E4\X0\ggningar',#323,$,$);
|
||||
#327=IFCCLASSIFICATIONREFERENCE($,'804','Platt- och stenbel\X2\00E4\X0\ggningar',#323,$,$);
|
||||
#328=IFCCLASSIFICATIONREFERENCE($,'805','Makadam och grus',#323,$,$);
|
||||
#329=IFCCLASSIFICATIONREFERENCE($,'806','Kantst\X2\00F6\X0\d',#323,$,$);
|
||||
#330=IFCCLASSIFICATIONREFERENCE($,'807','Linjemarkeringar och markm\X2\00E5\X0\lningar',#323,$,$);
|
||||
#331=IFCCLASSIFICATIONREFERENCE($,'808','V\X2\00E4\X0\xtb\X2\00E4\X0\ddar och planteringsk\X2\00E4\X0\rl',#323,$,$);
|
||||
#332=IFCCLASSIFICATIONREFERENCE($,'809','\X2\00D6\X0\vriga markbel\X2\00E4\X0\ggningar och markmaterial',#323,$,$);
|
||||
#333=IFCCLASSIFICATIONREFERENCE($,'81','Plantering',#322,$,$);
|
||||
#334=IFCCLASSIFICATIONREFERENCE($,'811','Tr\X2\00E4\X0\d',#333,$,$);
|
||||
#335=IFCCLASSIFICATIONREFERENCE($,'812','Buskar och h\X2\00E4\X0\ckar',#333,$,$);
|
||||
#336=IFCCLASSIFICATIONREFERENCE($,'813','V\X2\00E4\X0\xtjord',#333,$,$);
|
||||
#337=IFCCLASSIFICATIONREFERENCE($,'814','Markt\X2\00E4\X0\ckare och perenner',#333,$,$);
|
||||
#338=IFCCLASSIFICATIONREFERENCE($,'815','Gr\X2\00E4\X0\sytor',#333,$,$);
|
||||
#339=IFCCLASSIFICATIONREFERENCE($,'816','Extensiva gr\X2\00F6\X0\na tak och v\X2\00E4\X0\ggar',#333,$,$);
|
||||
#340=IFCCLASSIFICATIONREFERENCE($,'817','Intensiva gr\X2\00F6\X0\na tak',#333,$,$);
|
||||
#341=IFCCLASSIFICATIONREFERENCE($,'819','\X2\00D6\X0\vrig plantering',#333,$,$);
|
||||
#342=IFCCLASSIFICATIONREFERENCE($,'9','Projektutrustning',#2,$,$);
|
||||
#343=IFCCLASSIFICATIONREFERENCE($,'91','Projektutrustning A',#342,$,$);
|
||||
#344=IFCCLASSIFICATIONREFERENCE($,'92','Projektutrustning K',#342,$,$);
|
||||
#345=IFCCLASSIFICATIONREFERENCE($,'93','Projektutrustning V',#342,$,$);
|
||||
#346=IFCCLASSIFICATIONREFERENCE($,'94','Projektutrustning W',#342,$,$);
|
||||
#347=IFCCLASSIFICATIONREFERENCE($,'95','Projektutrustning E',#342,$,$);
|
||||
#348=IFCCLASSIFICATIONREFERENCE($,'96','Projektutrustning L',#342,$,$);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -0,0 +1,684 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
|
||||
FILE_NAME('','2023-08-11T12:28:44',(),(),'IfcOpenShell v0.7.0-fc50bdd3a','IfcOpenShell v0.7.0-fc50bdd3a','');
|
||||
FILE_SCHEMA(('IFC4'));
|
||||
ENDSEC;
|
||||
DATA;
|
||||
#1=IFCCLASSIFICATION('Brick','August-11','2023-08-11','Brick','','https://brickschema.org/schema/Brick',());
|
||||
#2=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Equipment','Equipment','Equipment',#1,'devices that serve all or part of the building and may include electric power, lighting, transportation, or service water heating, including, but not limited to, furnaces, boilers, air conditioners, heat pumps, chillers, water heaters, lamps, luminaires, ballasts, elevators, escalators, or other devices or installations.',$);
|
||||
#3=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Elevator','Elevator','Elevator',#2,'A device that provides vertical transportation between floors, levels or decks of a building, vessel or other structure',$);
|
||||
#4=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Gas_Distribution','Gas Distribution','Gas Distribution',#2,'Utilize a gas distribution source to represent how gas is distributed across multiple destinations',$);
|
||||
#5=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Relay','Relay','Relay',#2,'an electrically operated switch',$);
|
||||
#6=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Steam_Distribution','Steam Distribution','Steam Distribution',#2,'Utilize a steam distribution source to represent how steam is distributed across multiple destinations',$);
|
||||
#7=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Water_Distribution','Water Distribution','Water Distribution',#2,'Utilize a water distribution source to represent how water is distributed across multiple destinations (pipes)',$);
|
||||
#8=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Weather_Station','Weather Station','Weather Station',#2,'A dedicated weather measurement station',$);
|
||||
#9=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Camera','Camera','Camera',#2,'',$);
|
||||
#10=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Surveillance_Camera','Surveillance Camera','Surveillance Camera',#9,'',$);
|
||||
#11=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Furniture','Furniture','Furniture',#2,'Movable objects intended to support various human activities such as seating, eating and sleeping',$);
|
||||
#12=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Stage_Riser','Stage Riser','Stage Riser',#11,'A low platform in a space or on a stage',$);
|
||||
#13=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Solar_Thermal_Collector','Solar Thermal Collector','Solar Thermal Collector',#2,'A type of solar panels that converts solar radiation into thermal energy.',$);
|
||||
#14=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#PVT_Panel','PVT Panel','PVT Panel',#13,'A type of solar panels that convert solar radiation into usable thermal and electrical energy',$);
|
||||
#15=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Motor','Motor','Motor',#2,'A machine in which power is applied to do work by the conversion of various forms of energy into mechanical force and motion.',$);
|
||||
#16=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Variable_Frequency_Drive','Variable Frequency Drive','Variable Frequency Drive',#15,'Electronic device that varies its output frequency to vary the rotating speed of a motor, given a fixed input frequency. Used with fans or pumps to vary the flow in the system as a function of a maintained pressure.',$);
|
||||
#17=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#VFD','VFD','VFD',#15,'Electronic device that varies its output frequency to vary the rotating speed of a motor, given a fixed input frequency. Used with fans or pumps to vary the flow in the system as a function of a maintained pressure.',$);
|
||||
#18=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Fan_VFD','Fan VFD','Fan VFD',#17,'Variable-frequency drive for fans',$);
|
||||
#19=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Heat_Wheel_VFD','Heat Wheel VFD','Heat Wheel VFD',#17,'A VFD that drives a heat wheel',$);
|
||||
#20=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Pump_VFD','Pump VFD','Pump VFD',#17,'Variable-frequency drive for pumps',$);
|
||||
#21=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Shading_Equipment','Shading Equipment','Shading Equipment',#2,'',$);
|
||||
#22=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Automatic_Tint_Window','Automatic Tint Window','Automatic Tint Window',#21,'A window with tint control.',$);
|
||||
#23=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Blind','Blind','Blind',#21,'A window covering.',$);
|
||||
#24=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Water_Heater','Water Heater','Water Heater',#2,'An apparatus for heating and usually storing hot water',$);
|
||||
#25=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Collection_Basin_Water_Heater','Collection Basin Water Heater','Collection Basin Water Heater',#24,'Basin heaters prevent cold water basin freeze-up, e.g. in cooling towers, closed circuit fluid coolers, or evaporative condensers',$);
|
||||
#26=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Boiler','Boiler','Boiler',#24,'A closed, pressure vessel that uses fuel or electricity for heating water or other fluids to supply steam or hot water for heating, humidification, or other applications.',$);
|
||||
#27=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Electric_Boiler','Electric Boiler','Electric Boiler',#26,'A closed, pressure vessel that uses electricity for heating water or other fluids to supply steam or hot water for heating, humidification, or other applications.',$);
|
||||
#28=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Natural_Gas_Boiler','Natural Gas Boiler','Natural Gas Boiler',#26,'A closed, pressure vessel that uses natural gas for heating water or other fluids to supply steam or hot water for heating, humidification, or other applications.',$);
|
||||
#29=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Condensing_Natural_Gas_Boiler','Condensing Natural Gas Boiler','Condensing Natural Gas Boiler',#28,'A closed, pressure vessel that uses natural gas and heat exchanger that capture and reuse any latent heat for heating water or other fluids to supply steam or hot water for heating, humidification, or other applications.',$);
|
||||
#30=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Noncondensing_Natural_Gas_Boiler','Noncondensing Natural Gas Boiler','Noncondensing Natural Gas Boiler',#28,'A closed, pressure vessel that uses natural gas with no system to capture latent heat for heating water or other fluids to supply steam or hot water for heating, humidification, or other applications.',$);
|
||||
#31=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Lighting_Equipment','Lighting Equipment','Lighting Equipment',#2,'',$);
|
||||
#32=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Interface','Interface','Interface',#31,'A device that provides an occupant control over a lighting system',$);
|
||||
#33=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Touchpanel','Touchpanel','Touchpanel',#32,'A switch used to operate all or part of a lighting installation that uses a touch-based mechanism (typically resistive or capacitive) rather than a mechanical actuator',$);
|
||||
#34=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Switch','Switch','Switch',#32,'A switch used to operate all or part of a lighting installation',$);
|
||||
#35=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Dimmer','Dimmer','Dimmer',#34,'A switch providing continuous control over all or part of a lighting installation; typically potentiometer-based',$);
|
||||
#36=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Lighting','Lighting','Lighting',#31,'',$);
|
||||
#37=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Luminaire','Luminaire','Luminaire',#36,'A complete lighting unit consisting of a lamp or lamps and ballast(s) (when applicable) together with the parts designed to distribute the light, to position and protect the lamps, and to connect the lamps to the power supply.',$);
|
||||
#38=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Luminaire_Driver','Luminaire Driver','Luminaire Driver',#36,'A power source for a luminaire',$);
|
||||
#39=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Safety_Equipment','Safety Equipment','Safety Equipment',#2,'',$);
|
||||
#40=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#First_Aid_Kit','First Aid Kit','First Aid Kit',#39,'',$);
|
||||
#41=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#AED','AED','AED',#39,'',$);
|
||||
#42=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Automated_External_Defibrillator','Automated External Defibrillator','Automated External Defibrillator',#39,'',$);
|
||||
#43=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Emergency_Wash_Station','Emergency Wash Station','Emergency Wash Station',#39,'',$);
|
||||
#44=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Drench_Hose','Drench Hose','Drench Hose',#43,'',$);
|
||||
#45=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Eye_Wash_Station','Eye Wash Station','Eye Wash Station',#43,'',$);
|
||||
#46=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Safety_Shower','Safety Shower','Safety Shower',#43,'',$);
|
||||
#47=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Security_Equipment','Security Equipment','Security Equipment',#2,'',$);
|
||||
#48=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Intrusion_Detection_Equipment','Intrusion Detection Equipment','Intrusion Detection Equipment',#47,'',$);
|
||||
#49=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Access_Control_Equipment','Access Control Equipment','Access Control Equipment',#47,'',$);
|
||||
#50=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Access_Reader','Access Reader','Access Reader',#49,'',$);
|
||||
#51=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Intercom_Equipment','Intercom Equipment','Intercom Equipment',#47,'',$);
|
||||
#52=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Emergency_Phone','Emergency Phone','Emergency Phone',#51,'',$);
|
||||
#53=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Video_Intercom','Video Intercom','Video Intercom',#51,'',$);
|
||||
#54=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Video_Surveillance_Equipment','Video Surveillance Equipment','Video Surveillance Equipment',#47,'',$);
|
||||
#55=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#NVR','NVR','NVR',#54,'',$);
|
||||
#56=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Network_Video_Recorder','Network Video Recorder','Network Video Recorder',#54,'',$);
|
||||
#57=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#PV_Panel','PV Panel','PV Panel',#2,'An integrated assembly of interconnected photovoltaic cells designed to deliver a selected level of working voltage and current at its output terminals packaged for protection against environment degradation and suited for incorporation in photovoltaic power systems.',$);
|
||||
#58=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Fire_Safety_Equipment','Fire Safety Equipment','Fire Safety Equipment',#2,'',$);
|
||||
#59=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Fire_Alarm','Fire Alarm','Fire Alarm',#58,'',$);
|
||||
#60=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Fire_Alarm_Control_Panel','Fire Alarm Control Panel','Fire Alarm Control Panel',#58,'Fire alarm panel is the controlling component of a fire alarm system.',$);
|
||||
#61=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Fire_Control_Panel','Fire Control Panel','Fire Control Panel',#58,'A panel-mounted device that provides status and control of a fire safety system',$);
|
||||
#62=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Heat_Detector','Heat Detector','Heat Detector',#58,'',$);
|
||||
#63=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Smoke_Detector','Smoke Detector','Smoke Detector',#58,'',$);
|
||||
#64=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Manual_Fire_Alarm_Activation_Equipment','Manual Fire Alarm Activation Equipment','Manual Fire Alarm Activation Equipment',#58,'A device for manually activating fire alarm',$);
|
||||
#65=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Fire_Alarm_Manual_Call_Point','Fire Alarm Manual Call Point','Fire Alarm Manual Call Point',#64,'Manual alarm call points are designed for the purpose of raising an alarm manually once verification of a fire or emergency condition exists. by operating the push button or break glass the alarm signal can be raised.',$);
|
||||
#66=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Fire_Alarm_Pull_Station','Fire Alarm Pull Station','Fire Alarm Pull Station',#64,'An active fire protection device (usually wall-mounted) that when activated initiates an alarm on a fire alarm system. In its simplest form the user activates the alarm by pulling the handle down.',$);
|
||||
#67=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Valve','Valve','Valve',#2,'A device that regulates, directs or controls the flow of a fluid by opening, closing or partially obstructing various passageways',$);
|
||||
#68=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Gas_Valve','Gas Valve','Gas Valve',#67,'',$);
|
||||
#69=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Natural_Gas_Seismic_Shutoff_Valve','Natural Gas Seismic Shutoff Valve','Natural Gas Seismic Shutoff Valve',#67,'Valves that automatically shut off your natural gas service when an earthquake of a sufficient magnitude occurs at the location.',$);
|
||||
#70=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#HVAC_Valve','HVAC Valve','HVAC Valve',#67,'',$);
|
||||
#71=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Chilled_Water_Valve','Chilled Water Valve','Chilled Water Valve',#70,'A valve that modulates the flow of chilled water',$);
|
||||
#72=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Condenser_Water_Valve','Condenser Water Valve','Condenser Water Valve',#70,'A valve that modulates the flow of condenser water',$);
|
||||
#73=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Makeup_Water_Valve','Makeup Water Valve','Makeup Water Valve',#70,'A valve regulating the flow of makeup water into a water holding tank, e.g. a cooling tower, hot water tank',$);
|
||||
#74=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Water_Valve','Water Valve','Water Valve',#67,'A valve that modulates the flow of water',$);
|
||||
#75=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Thermostatic_Mixing_Valve','Thermostatic Mixing Valve','Thermostatic Mixing Valve',#74,'A valve that blends hot water with cold water to ensure constant, safe shower and bath outlet temperatures, preventing scalding.',$);
|
||||
#76=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Hot_Water_Valve','Hot Water Valve','Hot Water Valve',#74,'A valve regulating the flow of hot water',$);
|
||||
#77=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Domestic_Hot_Water_Valve','Domestic Hot Water Valve','Domestic Hot Water Valve',#76,'A valve regulating the flow of domestic hot water',$);
|
||||
#78=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Preheat_Hot_Water_Valve','Preheat Hot Water Valve','Preheat Hot Water Valve',#76,'',$);
|
||||
#79=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Electrical_Equipment','Electrical Equipment','Electrical Equipment',#2,'',$);
|
||||
#80=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Breaker_Panel','Breaker Panel','Breaker Panel',#79,'Breaker Panel distributes power into various end-uses.',$);
|
||||
#81=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Bus_Riser','Bus Riser','Bus Riser',#79,'Bus Risers are commonly fed from a switchgear and rise up through a series of floors to the main power distribution source for each floor.',$);
|
||||
#82=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Disconnect_Switch','Disconnect Switch','Disconnect Switch',#79,'Building power is most commonly provided by utility company through a master disconnect switch (sometimes called a service disconnect) in the main electrical room of a building. The Utility Company provided master disconnect switch often owns or restricts access to this switch. There can also be other cases where a disconnect is placed into an electrical system to allow service cut-off to a portion of the building.',$);
|
||||
#83=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Inverter','Inverter','Inverter',#79,'A device that changes direct current into alternating current',$);
|
||||
#84=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Motor_Control_Center','Motor Control Center','Motor Control Center',#79,'The Motor Control Center is a specialized type of switchgear which provides electrical power to major mechanical systems in the building such as HVAC components.',$);
|
||||
#85=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#PlugStrip','PlugStrip','PlugStrip',#79,'A device containing a block of electrical sockets allowing multiple electrical devices to be powered from a single electrical socket.',$);
|
||||
#86=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Switchgear','Switchgear','Switchgear',#79,'A main disconnect or service disconnect feeds power to a switchgear, which then distributes power to the rest of the building through smaller amperage-rated disconnects.',$);
|
||||
#87=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Transformer','Transformer','Transformer',#79,'A Transformer is usually fed by a high-voltage source and then steps down the voltage to a lower-voltage feed for low-voltage application (such as lights). Transformers also can step up voltage, but this generally does not apply to in building distribution.',$);
|
||||
#88=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Energy_Storage','Energy Storage','Energy Storage',#79,'Devices or equipment that store energy in its various forms',$);
|
||||
#89=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Battery','Battery','Battery',#88,'A container that stores chemical energy that can be converted into electricity and used as a source of power',$);
|
||||
#90=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Meter','Meter','Meter',#2,'A device that measure usage or consumption of some media --- typically a form energy or power.',$);
|
||||
#91=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Thermal_Power_Meter','Thermal Power Meter','Thermal Power Meter',#90,'A standalone thermal power meter',$);
|
||||
#92=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Electrical_Meter','Electrical Meter','Electrical Meter',#90,'A meter that measures the usage or consumption of electricity',$);
|
||||
#93=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Building_Electrical_Meter','Building Electrical Meter','Building Electrical Meter',#92,'A meter that measures the usage or consumption of electricity of a whole building',$);
|
||||
#94=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Gas_Meter','Gas Meter','Gas Meter',#90,'A meter that measures the usage or consumption of gas',$);
|
||||
#95=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Building_Gas_Meter','Building Gas Meter','Building Gas Meter',#94,'A meter that measures the usage or consumption of gas of a whole building',$);
|
||||
#96=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Water_Meter','Water Meter','Water Meter',#90,'A meter that measures the usage or consumption of water',$);
|
||||
#97=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Building_Water_Meter','Building Water Meter','Building Water Meter',#96,'A meter that measures the usage or consumption of water of a whole building',$);
|
||||
#98=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Chilled_Water_Meter','Chilled Water Meter','Chilled Water Meter',#96,'A meter that measures the usage or consumption of chilled water',$);
|
||||
#99=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Building_Chilled_Water_Meter','Building Chilled Water Meter','Building Chilled Water Meter',#98,'A meter that measures the usage or consumption of chilled water of a whole building',$);
|
||||
#100=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Hot_Water_Meter','Hot Water Meter','Hot Water Meter',#96,'A meter that measures the usage or consumption of hot water',$);
|
||||
#101=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Building_Hot_Water_Meter','Building Hot Water Meter','Building Hot Water Meter',#100,'A meter that measures the usage or consumption of hot water of a whole building',$);
|
||||
#102=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Building_Meter','Building Meter','Building Meter',#90,'A meter that measures usage or consumption of some media for a whole building',$);
|
||||
#103=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#HVAC_Equipment','HVAC Equipment','HVAC Equipment',#2,'See Heating_Ventilation_Air_Conditioning_System',$);
|
||||
#104=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Compressor','Compressor','Compressor',#103,'(1) device for mechanically increasing the pressure of a gas. (2) often described as being either open, hermetic, or semihermetic to describe how the compressor and motor drive is situated in relation to the gas or vapor being compressed. Types include centrifugal, axial flow, reciprocating, rotary screw, rotary vane, scroll, or diaphragm. 1. device for mechanically increasing the pressure of a gas. 2. specific machine, with or without accessories, for compressing refrigerant vapor.',$);
|
||||
#105=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Condenser','Condenser','Condenser',#103,'A heat exchanger in which the primary heat transfer vapor changes its state to a liquid phase.',$);
|
||||
#106=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Cooling_Tower','Cooling Tower','Cooling Tower',#103,'A cooling tower is a heat rejection device that rejects waste heat to the atmosphere through the cooling of a water stream to a lower temperature. Cooling towers may either use the evaporation of water to remove process heat and cool the working fluid to near the wet-bulb air temperature or, in the case of closed circuit dry cooling towers, rely solely on air to cool the working fluid to near the dry-bulb air temperature.',$);
|
||||
#107=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Cooling_Valve','Cooling Valve','Cooling Valve',#103,'A valve that controls air temperature by modulating the amount of cold water flowing through a cooling coil',$);
|
||||
#108=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Dry_Cooler','Dry Cooler','Dry Cooler',#103,'A dry cooler is a fluid cooler that uses air, a relatively dry, non-liquid fluid to accomplish process cooling. (https://submer.com/submer-academy/library/dry-cooler/)',$);
|
||||
#109=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Economizer','Economizer','Economizer',#103,'Device that, on proper variable sensing, initiates control signals or actions to conserve energy. A control system that reduces the mechanical heating and cooling requirement.',$);
|
||||
#110=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Fume_Hood','Fume Hood','Fume Hood',#103,'A fume-collection device mounted over a work space, table, or shelf and serving to conduct unwanted gases away from the area enclosed.',$);
|
||||
#111=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Humidifier','Humidifier','Humidifier',#103,'A device that adds moisture to air or other gases',$);
|
||||
#112=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Space_Heater','Space Heater','Space Heater',#103,'A heater used to warm the air in an enclosed area, such as a room or office',$);
|
||||
#113=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Steam_Valve','Steam Valve','Steam Valve',#103,'',$);
|
||||
#114=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Thermostat','Thermostat','Thermostat',#103,'An automatic control device used to maintain temperature at a fixed or adjustable setpoint.',$);
|
||||
#115=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Air_Handler_Unit','Air Handler Unit','Air Handler Unit',#103,'Assembly consisting of sections containing a fan or fans and other necessary equipment to perform one or more of the following functions: circulating, filtration, heating, cooling, heat recovery, humidifying, dehumidifying, and mixing of air. Is usually connected to an air-distribution system.',$);
|
||||
#116=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Air_Handling_Unit','Air Handling Unit','Air Handling Unit',#103,'',$);
|
||||
#117=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#CRAH','CRAH','CRAH',#103,'a computer room air handler (CRAH) uses fans, cooling coils and a water-chiller system to remove heat.',$);
|
||||
#118=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Cold_Deck','Cold Deck','Cold Deck',#103,'Part of a dual duct air handling unit that supplies cooling to a building',$);
|
||||
#119=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Computer_Room_Air_Conditioning','Computer Room Air Conditioning','Computer Room Air Conditioning',#103,'A device that monitors and maintains the temperature, air distribution and humidity in a network room or data center.',$);
|
||||
#120=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Computer_Room_Air_Handler','Computer Room Air Handler','Computer Room Air Handler',#103,'a computer room air handler (CRAH) uses fans, cooling coils and a water-chiller system to remove heat.',$);
|
||||
#121=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#HX','HX','HX',#103,'See Heat_Exchanger',$);
|
||||
#122=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Hot_Deck','Hot Deck','Hot Deck',#103,'Part of a dual duct air handling unit that supplies heating to a building',$);
|
||||
#123=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Isolation_Valve','Isolation Valve','Isolation Valve',#103,'A valve that stops the flow of a fluid, usually for maintenance or safety purposes',$);
|
||||
#124=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Condenser_Water_Isolation_Valve','Condenser Water Isolation Valve','Condenser Water Isolation Valve',#123,'An isolation valve installed in the condenser water loop',$);
|
||||
#125=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Pump','Pump','Pump',#103,'Machine for imparting energy to a fluid, causing it to do work, drawing a fluid into itself through an entrance port, and forcing the fluid out through an exhaust port.',$);
|
||||
#126=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Water_Pump','Water Pump','Water Pump',#125,'A pump that performs work on water',$);
|
||||
#127=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Chilled_Water_Pump','Chilled Water Pump','Chilled Water Pump',#126,'A pump that performs work on chilled water; typically part of a chilled water system',$);
|
||||
#128=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Condenser_Water_Pump','Condenser Water Pump','Condenser Water Pump',#126,'A pump that is part of a condenser system; the pump circulates condenser water from the chiller back to the cooling tower',$);
|
||||
#129=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Hot_Water_Pump','Hot Water Pump','Hot Water Pump',#126,'A pump that performs work on hot water; typically part of a hot water system',$);
|
||||
#130=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Bypass_Valve','Bypass Valve','Bypass Valve',#103,'A type of valve installed in a bypass pipeline',$);
|
||||
#131=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Condenser_Water_Bypass_Valve','Condenser Water Bypass Valve','Condenser Water Bypass Valve',#130,'A valve installed in a bypass line of a condenser water loop',$);
|
||||
#132=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Differential_Pressure_Bypass_Valve','Differential Pressure Bypass Valve','Differential Pressure Bypass Valve',#130,'A 2-way, self contained proportional valve with an integral differential pressure adjustment setting.',$);
|
||||
#133=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#CRAC','CRAC','CRAC',#103,'',$);
|
||||
#134=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Standby_CRAC','Standby CRAC','Standby CRAC',#133,'A CRAC that is activated as part of a lead/lag operation or when an alarm occurs in a primary unit',$);
|
||||
#135=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Air_Plenum','Air Plenum','Air Plenum',#103,'A component of the HVAC the receives air from the air handling unit or room to distribute or exhaust to or from the building',$);
|
||||
#136=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Return_Air_Plenum','Return Air Plenum','Return Air Plenum',#135,'A component of the HVAC the receives air from the room to recirculate or exhaust to or from the building',$);
|
||||
#137=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Discharge_Air_Plenum','Discharge Air Plenum','Discharge Air Plenum',#135,'',$);
|
||||
#138=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Supply_Air_Plenum','Supply Air Plenum','Supply Air Plenum',#135,'A component of the HVAC the receives air from the air handling unit to distribute to the building',$);
|
||||
#139=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Underfloor_Air_Plenum','Underfloor Air Plenum','Underfloor Air Plenum',#138,'An open space between a structural concrete slab and the underside of a raised access floor system that connects to an air handling unit to receive conditioned and/or ventilating air before delivery to the room(s)',$);
|
||||
#140=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Chiller','Chiller','Chiller',#103,'Refrigerating machine used to transfer heat between fluids. Chillers are either direct expansion with a compressor or absorption type.',$);
|
||||
#141=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Absorption_Chiller','Absorption Chiller','Absorption Chiller',#140,'A chiller that utilizes a thermal or/and chemical process to produce the refrigeration effect necessary to provide chilled water. There is no mechanical compression of the refrigerant taking place within the machine, as occurs within more traditional vapor compression type chillers.',$);
|
||||
#142=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Centrifugal_Chiller','Centrifugal Chiller','Centrifugal Chiller',#140,'A chiller that uses the vapor compression cycle to chill water. It throws off the heat collected from the chilled water plus the heat from the compressor to a water loop',$);
|
||||
#143=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Heating_Valve','Heating Valve','Heating Valve',#103,'A valve that controls air temperature by modulating the amount of hot water flowing through a heating coil',$);
|
||||
#144=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Reheat_Valve','Reheat Valve','Reheat Valve',#143,'A valve that controls air temperature by modulating the amount of hot water flowing through a reheat coil',$);
|
||||
#145=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Return_Heating_Valve','Return Heating Valve','Return Heating Valve',#143,'A valve installed on the return side of a heat exchanger',$);
|
||||
#146=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Heat_Exchanger','Heat Exchanger','Heat Exchanger',#103,'A heat exchanger is a piece of equipment built for efficient heat transfer from one medium to another. The media may be separated by a solid wall to prevent mixing or they may be in direct contact (BEDES)',$);
|
||||
#147=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Condenser_Heat_Exchanger','Condenser Heat Exchanger','Condenser Heat Exchanger',#146,'A heat exchanger in which the primary heat transfer vapor changes its state to a liquid phase.',$);
|
||||
#148=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Evaporative_Heat_Exchanger','Evaporative Heat Exchanger','Evaporative Heat Exchanger',#146,'',$);
|
||||
#149=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Heat_Wheel','Heat Wheel','Heat Wheel',#146,'A rotary heat exchanger positioned within the supply and exhaust air streams of an air handling system in order to recover heat energy',$);
|
||||
#150=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Coil','Coil','Coil',#146,'Cooling or heating element made of pipe or tube that may or may not be finned and formed into helical or serpentine shape (ASHRAE Dictionary)',$);
|
||||
#151=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Cooling_Coil','Cooling Coil','Cooling Coil',#150,'A cooling element made of pipe or tube that removes heat from equipment, machines or airflows. Typically filled with either refrigerant or cold water.',$);
|
||||
#152=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Chilled_Water_Coil','Chilled Water Coil','Chilled Water Coil',#151,'A cooling element made of pipe or tube that removes heat from equipment, machines or airflows that is filled with chilled water.',$);
|
||||
#153=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Direct_Expansion_Cooling_Coil','Direct Expansion Cooling Coil','Direct Expansion Cooling Coil',#151,'',$);
|
||||
#154=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Heating_Coil','Heating Coil','Heating Coil',#150,'A heating element typically made of pipe, tube or wire that emits heat. Typically filled with hot water, or, in the case of wire, uses electricity.',$);
|
||||
#155=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Direct_Expansion_Heating_Coil','Direct Expansion Heating Coil','Direct Expansion Heating Coil',#154,'',$);
|
||||
#156=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Hot_Water_Coil','Hot Water Coil','Hot Water Coil',#154,'A heating element typically made of pipe, tube or wire that emits heat that is filled with hot water.',$);
|
||||
#157=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Filter','Filter','Filter',#103,'Device to remove gases from a mixture of gases or to remove solid material from a fluid',$);
|
||||
#158=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Final_Filter','Final Filter','Final Filter',#157,'The last, high-efficiency filter installed in a sequence to remove the finest particulates from the substance being filtered',$);
|
||||
#159=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Intake_Air_Filter','Intake Air Filter','Intake Air Filter',#157,'Filters air intake',$);
|
||||
#160=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Mixed_Air_Filter','Mixed Air Filter','Mixed Air Filter',#157,'A filter that is applied to the mixture of recirculated and outside air',$);
|
||||
#161=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Pre_Filter','Pre Filter','Pre Filter',#157,'A filter installed in front of a more efficient filter to extend the life of the more expensive higher efficiency filter',$);
|
||||
#162=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Return_Air_Filter','Return Air Filter','Return Air Filter',#157,'Filters return air',$);
|
||||
#163=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Damper','Damper','Damper',#103,'Element inserted into an air-distribution system or element of an air-distribution system permitting modification of the air resistance of the system and consequently changing the airflow rate or shutting off the airflow.',$);
|
||||
#164=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Economizer_Damper','Economizer Damper','Economizer Damper',#163,'A damper that is part of an economizer that is used to module the flow of air',$);
|
||||
#165=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Exhaust_Damper','Exhaust Damper','Exhaust Damper',#163,'A damper that modulates the flow of exhaust air',$);
|
||||
#166=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Mixed_Damper','Mixed Damper','Mixed Damper',#163,'A damper that modulates the flow of the mixed outside and return air streams',$);
|
||||
#167=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Outside_Damper','Outside Damper','Outside Damper',#163,'A damper that modulates the flow of outside air',$);
|
||||
#168=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Relief_Damper','Relief Damper','Relief Damper',#163,'A damper that is a component of a Relief Air System, ensuring building doesn''t become over-pressurised',$);
|
||||
#169=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Return_Damper','Return Damper','Return Damper',#163,'A damper that modulates the flow of return air',$);
|
||||
#170=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#AHU','AHU','AHU',#103,'Assembly consisting of sections containing a fan or fans and other necessary equipment to perform one or more of the following functions: circulating, filtration, heating, cooling, heat recovery, humidifying, dehumidifying, and mixing of air. Is usually connected to an air-distribution system.',$);
|
||||
#171=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#PAU','PAU','PAU',#170,'A type of AHU, use to pre-treat the outdoor air before feed to AHU',$);
|
||||
#172=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#DOAS','DOAS','DOAS',#170,'See Dedicated_Outdoor_Air_System_Unit',$);
|
||||
#173=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Dedicated_Outdoor_Air_System_Unit','Dedicated Outdoor Air System Unit','Dedicated Outdoor Air System Unit',#170,'A device that conditions and delivers 100% outdoor air to its assigned spaces. It decouples air-conditioning of the outdoor air, usually used to provide minimum outdoor air ventilation, from conditioning of the internal loads.',$);
|
||||
#174=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Dual_Duct_Air_Handling_Unit','Dual Duct Air Handling Unit','Dual Duct Air Handling Unit',#170,'An air handling unit that contains hot and cold decks to supply heating and cooling to a building',$);
|
||||
#175=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#MAU','MAU','MAU',#170,'See Makeup_Air_Unit',$);
|
||||
#176=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Makeup_Air_Unit','Makeup Air Unit','Makeup Air Unit',#170,'A device designed to condition ventilation air introduced into a space or to replace air exhausted from a process or general area exhaust. The device may be used to prevent negative pressure within buildings or to reduce airborne contaminants in a space.',$);
|
||||
#177=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#RTU','RTU','RTU',#170,'see Rooftop_Unit',$);
|
||||
#178=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Rooftop_Unit','Rooftop Unit','Rooftop Unit',#170,'Packaged air conditioner mounted on a roof, the conditioned air being discharged directly into the rooms below or through a duct system.',$);
|
||||
#179=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#DDAHU','DDAHU','DDAHU',#170,'See Dual_Duct_Air_Handling_Unit',$);
|
||||
#180=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Fan','Fan','Fan',#103,'Any device with two or more blades or vanes attached to a rotating shaft used to produce an airflow for the purpose of comfort, ventilation, exhaust, heating, cooling, or any other gaseous transport.',$);
|
||||
#181=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Booster_Fan','Booster Fan','Booster Fan',#180,'Fan activated to increase airflow beyond what is provided by the default configuration',$);
|
||||
#182=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Ceiling_Fan','Ceiling Fan','Ceiling Fan',#180,'A fan installed on the ceiling of a room for the purpose of air circulation',$);
|
||||
#183=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Cooling_Tower_Fan','Cooling Tower Fan','Cooling Tower Fan',#180,'A fan that pulls air through a cooling tower and across the louvers where the water falls to aid in heat exchange by the process of evaporation',$);
|
||||
#184=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Exhaust_Fan','Exhaust Fan','Exhaust Fan',#180,'Fan moving exhaust air -- air that must be removed from a space due to contaminants',$);
|
||||
#185=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Outside_Fan','Outside Fan','Outside Fan',#180,'Fan moving outside air; air that is supplied into the building from the outdoors',$);
|
||||
#186=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Relief_Fan','Relief Fan','Relief Fan',#180,'A fan that is a component of a Relief Air System, ensuring building doesn''t become over-pressurised',$);
|
||||
#187=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Return_Fan','Return Fan','Return Fan',#180,'Fan moving return air -- air that is circulated from the building back into the HVAC system',$);
|
||||
#188=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Standby_Fan','Standby Fan','Standby Fan',#180,'Fan that is activated as part of a lead/lag operation or when a primary fan raises an alarm',$);
|
||||
#189=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Supply_Fan','Supply Fan','Supply Fan',#180,'Fan moving supply air -- air that is supplied from the HVAC system into the building',$);
|
||||
#190=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Transfer_Fan','Transfer Fan','Transfer Fan',#180,'A fan that transfers air from a space to another space.',$);
|
||||
#191=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Discharge_Fan','Discharge Fan','Discharge Fan',#180,'Fan moving air discharged from HVAC vents',$);
|
||||
#192=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Terminal_Unit','Terminal Unit','Terminal Unit',#103,'A device that regulates the volumetric flow rate and/or the temperature of the controlled medium.',$);
|
||||
#193=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Constant_Air_Volume_Box','Constant Air Volume Box','Constant Air Volume Box',#192,'A terminal unit for which supply air flow rate is constant and the supply air temperature is varied to meet thermal load',$);
|
||||
#194=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Fan_Coil_Unit','Fan Coil Unit','Fan Coil Unit',#192,'Terminal device consisting of a heating and/or cooling heat exchanger or ''coil'' and fan that is used to control the temperature in the space where it is installed',$);
|
||||
#195=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Induction_Unit','Induction Unit','Induction Unit',#192,'A device with an primary air connection and integrated coil and condensate pan that performs sensible and latent cooling of a space. Essentially an Active Chilled Beam with a built in condensate pan.',$);
|
||||
#196=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#CAV','CAV','CAV',#192,'',$);
|
||||
#197=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#FCU','FCU','FCU',#192,'See Fan_Coil_Unit',$);
|
||||
#198=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#VAV','VAV','VAV',#192,'See Variable_Air_Volume_Box',$);
|
||||
#199=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Chilled_Beam','Chilled Beam','Chilled Beam',#192,'A device with an integrated coil that performs sensible heating of a space via circulation of room air. Chilled Beams are not designed to perform latent cooling; see Induction Units. Despite their name, Chilled Beams may perform heating or cooling of a space depending on their configuration.',$);
|
||||
#200=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Active_Chilled_Beam','Active Chilled Beam','Active Chilled Beam',#199,'A Chilled Beam with an integral primary air connection that induces air flow through the device.',$);
|
||||
#201=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Passive_Chilled_Beam','Passive Chilled Beam','Passive Chilled Beam',#199,'A chilled beam that does not have an integral air supply and instead relies on natural convection to draw air through the device.',$);
|
||||
#202=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Variable_Air_Volume_Box','Variable Air Volume Box','Variable Air Volume Box',#192,'A device that regulates the volume and temperature of air delivered to a zone by opening or closing a damper',$);
|
||||
#203=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Variable_Air_Volume_Box_With_Reheat','Variable Air Volume Box With Reheat','Variable Air Volume Box With Reheat',#202,'A VAV box with a reheat coil mounted on the discharge end of the unit that can heat the air delivered to a zone',$);
|
||||
#204=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#RVAV','RVAV','RVAV',#202,'See Variable_Air_Volume_Box_With_Reheat',$);
|
||||
#205=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Air_Diffuser','Air Diffuser','Air Diffuser',#192,'A device that is a component of the air distribution system that controls the delivery of conditioned and/or ventilating air into a room',$);
|
||||
#206=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Displacement_Flow_Air_Diffuser','Displacement Flow Air Diffuser','Displacement Flow Air Diffuser',#205,'An air diffuser that is designed for low discharge air speeds to minimize turbulence and induction of room air. This diffuser is used with displacement ventilation systems.',$);
|
||||
#207=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Jet_Nozzle_Air_Diffuser','Jet Nozzle Air Diffuser','Jet Nozzle Air Diffuser',#205,'An air diffuser that is designed to produce high velocity discharge air stream to throw the air over a large distance or target the air stream to a localize area',$);
|
||||
#208=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Laminar_Flow_Air_Diffuser','Laminar Flow Air Diffuser','Laminar Flow Air Diffuser',#205,'An air diffuser that is designed for low discharge air speeds to provide uniform and unidirectional air pattern which minimizes room air entrainment',$);
|
||||
#209=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Radiator','Radiator','Radiator',#192,'Heat exchangers designed to transfer thermal energy from one medium to another',$);
|
||||
#210=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Electric_Radiator','Electric Radiator','Electric Radiator',#209,'Electric heating device',$);
|
||||
#211=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Electric_Baseboard_Radiator','Electric Baseboard Radiator','Electric Baseboard Radiator',#210,'Electric heating device located at or near the floor',$);
|
||||
#212=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Hot_Water_Radiator','Hot Water Radiator','Hot Water Radiator',#209,'Radiator that uses hot water',$);
|
||||
#213=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Hot_Water_Baseboard_Radiator','Hot Water Baseboard Radiator','Hot Water Baseboard Radiator',#212,'Hydronic heating device located at or near the floor',$);
|
||||
#214=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Steam_Radiator','Steam Radiator','Steam Radiator',#209,'Radiator that uses steam',$);
|
||||
#215=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Steam_Baseboard_Radiator','Steam Baseboard Radiator','Steam Baseboard Radiator',#214,'Steam heating device located at or near the floor',$);
|
||||
#216=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Baseboard_Radiator','Baseboard Radiator','Baseboard Radiator',#209,'Steam, hydronic, or electric heating device located at or near the floor.',$);
|
||||
#217=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Radiant_Panel','Radiant Panel','Radiant Panel',#192,'A temperature-controlled surface that provides fifty percent (50%) or more of the design heat transfer by thermal radiation.',$);
|
||||
#218=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Embedded_Surface_System_Panel','Embedded Surface System Panel','Embedded Surface System Panel',#217,'Radiant panel heating and cooling system where the energy heat source or sink is embedded in a radiant layer which is thermally insulated from the building structure.',$);
|
||||
#219=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Radiant_Ceiling_Panel','Radiant Ceiling Panel','Radiant Ceiling Panel',#217,'Radiant panel heating and cooling system that are usually made from metal and suspended under the ceiling or insulated from the building structure.',$);
|
||||
#220=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Thermally_Activated_Building_System_Panel','Thermally Activated Building System Panel','Thermally Activated Building System Panel',#217,'Radiant panel heating and cooling system where the energy heat source or sink is embedded in the building structure such as in slabs and walls.',$);
|
||||
#221=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#ESS_Panel','ESS Panel','ESS Panel',#217,'See Embedded_Surface_System_Panel',$);
|
||||
#222=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#RC_Panel','RC Panel','RC Panel',#217,'See Radiant_Ceiling_Panel',$);
|
||||
#223=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#TABS_Panel','TABS Panel','TABS Panel',#217,'See Thermally_Activated_Building_System_Panel',$);
|
||||
#224=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Location','Location','Location',#1,'',$);
|
||||
#225=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Outside','Outside','Outside',#224,'',$);
|
||||
#226=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Region','Region','Region',#224,'A unit of geographic space, usually contigious or somehow related to a geopolitical feature',$);
|
||||
#227=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Storey','Storey','Storey',#224,'',$);
|
||||
#228=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Wing','Wing','Wing',#224,'A wing is part of a building \X2\2013\X0\ or any feature of a building \X2\2013\X0\ that is subordinate to the main, central structure.',$);
|
||||
#229=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Site','Site','Site',#224,'A geographic region containing 0 or more buildings. Typically used as the encapsulating location for a collection of Brick entities through the hasPart/isPartOf relationships',$);
|
||||
#230=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Outdoor_Area','Outdoor Area','Outdoor Area',#224,'A class of spaces that exist outside of a building',$);
|
||||
#231=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Bench_Space','Bench Space','Bench Space',#230,'For areas of play in a stadium, the area for partcipants and referees by the side of the field',$);
|
||||
#232=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Field_Of_Play','Field Of Play','Field Of Play',#230,'The area of a stadium where athletic events occur, e.g. the soccer pitch',$);
|
||||
#233=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Information_Area','Information Area','Information Area',#230,'An information booth or kiosk where visitors would look for information',$);
|
||||
#234=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Floor','Floor','Floor',#224,'A level, typically representing a horizontal aggregation of spaces that are vertically bound. (referring to IFC)',$);
|
||||
#235=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Basement','Basement','Basement',#234,'The floor of a building which is partly or entirely below ground level.',$);
|
||||
#236=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Parking_Level','Parking Level','Parking Level',#234,'A floor of a parking structure',$);
|
||||
#237=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Rooftop','Rooftop','Rooftop',#234,'',$);
|
||||
#238=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Building','Building','Building',#224,'An independent unit of the built environment with a characteristic spatial structure, intended to serve at least one function or user activity [ISO 12006-2:2013]',$);
|
||||
#239=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Parking_Structure','Parking Structure','Parking Structure',#238,'A building or part of a building devoted to vehicle parking',$);
|
||||
#240=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Zone','Zone','Zone',#224,'(1) a separately controlled heated or cooled space. (2) one occupied space or several occupied spaces with similar occupancy category, occupant density, zone air distribution effectiveness, and zone primary airflow per unit area. (3) space or group of spaces within a building for which the heating, cooling, or lighting requirements are sufficiently similar that desired conditions can be maintained throughout by a single controlling device.',$);
|
||||
#241=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Energy_Zone','Energy Zone','Energy Zone',#240,'A space or group of spaces that are managed or monitored as one unit for energy purposes',$);
|
||||
#242=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Fire_Zone','Fire Zone','Fire Zone',#240,'combustion chamber in a furnace or boiler.',$);
|
||||
#243=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#HVAC_Zone','HVAC Zone','HVAC Zone',#240,'a space or group of spaces, within a building with heating, cooling, and ventilating requirements, that are sufficiently similar so that desired conditions (e.g., temperature) can be maintained throughout using a single sensor (e.g., thermostat or temperature sensor).',$);
|
||||
#244=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Lighting_Zone','Lighting Zone','Lighting Zone',#240,'',$);
|
||||
#245=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Space','Space','Space',#224,'A part of the physical world or a virtual world whose 3D spatial extent is bounded actually or theoretically, and provides for certain functions within the zone it is contained in.',$);
|
||||
#246=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Entrance','Entrance','Entrance',#245,'The location and space of a building where people enter and exit the building',$);
|
||||
#247=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Gatehouse','Gatehouse','Gatehouse',#245,'The standalone building used to manage the entrance to a campus or building grounds',$);
|
||||
#248=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Media_Hot_Desk','Media Hot Desk','Media Hot Desk',#245,'A non-enclosed space used by members of the media temporarily to cover an event while they are present at a venue',$);
|
||||
#249=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Parking_Space','Parking Space','Parking Space',#245,'An area large enough to park an individual vehicle',$);
|
||||
#250=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Ticketing_Booth','Ticketing Booth','Ticketing Booth',#245,'A room or space used to sell or distribute tickets to events at a venue',$);
|
||||
#251=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Tunnel','Tunnel','Tunnel',#245,'An enclosed space that connects buildings. Often underground',$);
|
||||
#252=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Water_Tank','Water Tank','Water Tank',#245,'A space used to hold water',$);
|
||||
#253=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Vertical_Space','Vertical Space','Vertical Space',#245,'A class of spaces used to connect multiple floors or levels..',$);
|
||||
#254=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Riser','Riser','Riser',#253,'A vertical shaft indented for installing building infrastructure e.g., electrical wire, network communication wire, plumbing, etc',$);
|
||||
#255=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Staircase','Staircase','Staircase',#253,'A vertical space containing stairs',$);
|
||||
#256=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Elevator_Shaft','Elevator Shaft','Elevator Shaft',#253,'The vertical space in which an elevator ascends and descends',$);
|
||||
#257=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Elevator_Space','Elevator Space','Elevator Space',#253,'The vertical space in whcih an elevator ascends and descends',$);
|
||||
#258=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Common_Space','Common Space','Common Space',#245,'A class of spaces that are used by multiple people at the same time',$);
|
||||
#259=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Atrium','Atrium','Atrium',#258,'a large open-air or skylight covered space surrounded by a building.',$);
|
||||
#260=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Auditorium','Auditorium','Auditorium',#258,'A space for performances or larger gatherings',$);
|
||||
#261=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Cafeteria','Cafeteria','Cafeteria',#258,'A space to serve food and beverages',$);
|
||||
#262=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Hallway','Hallway','Hallway',#258,'A common space, used to connect other parts of a building',$);
|
||||
#263=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Lounge','Lounge','Lounge',#258,'A room for lesiure activities or relaxing',$);
|
||||
#264=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Majlis','Majlis','Majlis',#263,'In Arab countries, an Majlis is a private lounge where visitors are recieved and entertained',$);
|
||||
#265=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Lobby','Lobby','Lobby',#258,'A space just after the entrance to a building or other space of a building, where visitors can wait',$);
|
||||
#266=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Employee_Entrance_Lobby','Employee Entrance Lobby','Employee Entrance Lobby',#265,'An open space near an entrance that is typicaly only used for employees',$);
|
||||
#267=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Visitor_Lobby','Visitor Lobby','Visitor Lobby',#265,'A lobby for visitors to the building. Sometimes used to distinguish from an employee entrance looby',$);
|
||||
#268=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Room','Room','Room',#245,'Base class for all more specific room types.',$);
|
||||
#269=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Ablutions_Room','Ablutions Room','Ablutions Room',#268,'A room for performing cleansing rituals before prayer',$);
|
||||
#270=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Conference_Room','Conference Room','Conference Room',#268,'A space dedicated in which to hold a meetings',$);
|
||||
#271=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Control_Room','Control Room','Control Room',#268,'A space from which operations are managed',$);
|
||||
#272=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Copy_Room','Copy Room','Copy Room',#268,'A room set aside for common office equipment, including printers and copiers',$);
|
||||
#273=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Exercise_Room','Exercise Room','Exercise Room',#268,'An indoor room used for exercise and physical activities',$);
|
||||
#274=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Hospitality_Box','Hospitality Box','Hospitality Box',#268,'A room at a stadium, usually overlooking the field of play, that is physical separate from the other seating at the venue',$);
|
||||
#275=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Janitor_Room','Janitor Room','Janitor Room',#268,'A room set aside for the storage of cleaning equipment and supplies',$);
|
||||
#276=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Library','Library','Library',#268,'A place for the storage and/or consumption of physical media, e.g. books, periodicals, and DVDs/CDs',$);
|
||||
#277=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Loading_Dock','Loading Dock','Loading Dock',#268,'A part of a facility where delivery trucks can load and unload. Usually partially enclosed with specific traffic lanes leading to the dock',$);
|
||||
#278=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Mail_Room','Mail Room','Mail Room',#268,'A room where mail is recieved and sorted for distribution to the rest of the building',$);
|
||||
#279=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Massage_Room','Massage Room','Massage Room',#268,'Usually adjunct to an athletic facility, a private/semi-private space where massages are performed',$);
|
||||
#280=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Office_Kitchen','Office Kitchen','Office Kitchen',#268,'A common space, usually near or in a breakroom, where minor food preperation occurs',$);
|
||||
#281=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Prayer_Room','Prayer Room','Prayer Room',#268,'A room set aside for prayer',$);
|
||||
#282=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Reception','Reception','Reception',#268,'A space, usually in a lobby, where visitors to a building or space can go to after arriving at a building and inform building staff that they have arrived',$);
|
||||
#283=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Retail_Room','Retail Room','Retail Room',#268,'A space set aside for retail in a larger establishment, e.g. a gift shop in a hospital',$);
|
||||
#284=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Server_Room','Server Room','Server Room',#268,'',$);
|
||||
#285=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Shower','Shower','Shower',#268,'A space containing showers, usually adjacent to an athletic or execise area',$);
|
||||
#286=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Sports_Service_Room','Sports Service Room','Sports Service Room',#268,'A class of spaces used in the support of sports',$);
|
||||
#287=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Wardrobe','Wardrobe','Wardrobe',#268,'Storage for clothing, costumes, or uniforms',$);
|
||||
#288=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Workshop','Workshop','Workshop',#268,'A space used to house equipment that can be used to repair or fabricate things',$);
|
||||
#289=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Break_Room','Break Room','Break Room',#268,'A space for people to relax while not working',$);
|
||||
#290=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Breakroom','Breakroom','Breakroom',#268,'A space for people to relax while not working',$);
|
||||
#291=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Food_Service_Room','Food Service Room','Food Service Room',#268,'A space used in the production, storage, serving, or cleanup of food and beverages',$);
|
||||
#292=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Concession','Concession','Concession',#291,'A space to sell food and beverages. Usually embedded in a larger space and does not include a space where people consume their purchases',$);
|
||||
#293=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Medical_Room','Medical Room','Medical Room',#268,'A class of rooms used for medical purposes',$);
|
||||
#294=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#First_Aid_Room','First Aid Room','First Aid Room',#293,'A room for a person with minor injuries can be treated or temporarily treated until transferred to a more advanced medical facility',$);
|
||||
#295=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Rest_Room','Rest Room','Rest Room',#268,'A room that provides toilets and washbowls. Alternate spelling of Restroom',$);
|
||||
#296=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Restroom','Restroom','Restroom',#268,'A room that provides toilets and washbowls.',$);
|
||||
#297=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Security_Service_Room','Security Service Room','Security Service Room',#268,'A class of spaces used by the security staff of a facility',$);
|
||||
#298=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Detention_Room','Detention Room','Detention Room',#297,'A space for the temporary involuntary confinement of people',$);
|
||||
#299=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Storage_Room','Storage Room','Storage Room',#268,'A class of spaces used for storage',$);
|
||||
#300=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Hazardous_Materials_Storage','Hazardous Materials Storage','Hazardous Materials Storage',#299,'A storage space set aside (usually with restricted access) for the storage of materials that can be hazardous to living beings or the environment',$);
|
||||
#301=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Waste_Storage','Waste Storage','Waste Storage',#299,'A room used for storing waste such as trash or recycling',$);
|
||||
#302=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Media_Room','Media Room','Media Room',#268,'A class of spaces related to the creation of media',$);
|
||||
#303=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Broadcast_Room','Broadcast Room','Broadcast Room',#302,'A space to organize and manage a broadcast. Separate from studio',$);
|
||||
#304=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Media_Production_Room','Media Production Room','Media Production Room',#302,'A enclosed space used by media professionals for the production of media',$);
|
||||
#305=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Studio','Studio','Studio',#302,'A room used for the production or media, usually with either a specialized set or a specialized sound booth for recording',$);
|
||||
#306=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Office','Office','Office',#268,'A class of rooms dedicated for work or study',$);
|
||||
#307=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Cubicle','Cubicle','Cubicle',#306,'A smaller space set aside for an individual, but not with a door and without full-height walls',$);
|
||||
#308=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Open_Office','Open Office','Open Office',#306,'An open space used for work or study by mulitple people. Usuaully subdivided into cubicles or desks',$);
|
||||
#309=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Enclosed_Office','Enclosed Office','Enclosed Office',#306,'A space for individuals to work with walls and a door',$);
|
||||
#310=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Private_Office','Private Office','Private Office',#309,'An office devoted to a single individual, with walls and door',$);
|
||||
#311=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Shared_Office','Shared Office','Shared Office',#309,'An office used by multiple people',$);
|
||||
#312=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Team_Room','Team Room','Team Room',#309,'An office used by multiple team members for specific work tasks. Distinct from Conference Room',$);
|
||||
#313=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Service_Room','Service Room','Service Room',#268,'A class of spaces related to the operations of building subsystems, e.g. HVAC, electrical, IT, plumbing, etc',$);
|
||||
#314=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Plumbing_Room','Plumbing Room','Plumbing Room',#313,'A service room devoted to the operation and routing of water in a building. Usually distinct from the HVAC subsystems.',$);
|
||||
#315=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Mechanical_Room','Mechanical Room','Mechanical Room',#313,'A class of service rooms where mechanical equipment (HVAC) operates',$);
|
||||
#316=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Pump_Room','Pump Room','Pump Room',#315,'A mechanical room that houses pumps',$);
|
||||
#317=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Electrical_Room','Electrical Room','Electrical Room',#313,'A class of service rooms that house electrical equipment for a building',$);
|
||||
#318=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Battery_Room','Battery Room','Battery Room',#317,'A room used to hold batteries for backup power',$);
|
||||
#319=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Generator_Room','Generator Room','Generator Room',#317,'A room for electrical equipment, specifically electrical generators.',$);
|
||||
#320=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Transformer_Room','Transformer Room','Transformer Room',#317,'An electrical room where electricity enters and is transformed to different voltages and currents by the equipment contained in the room',$);
|
||||
#321=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Laboratory','Laboratory','Laboratory',#268,'facility acceptable to the local, national, or international recognized authority having jurisdiction and which provides uniform testing and examination procedures and standards for meeting design, manufacturing, and factory testing requirements.',$);
|
||||
#322=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Cold_Box','Cold Box','Cold Box',#321,'in a gas separation unit, the insulated section that contains the low-temperature heat exchangers and distillation columns.',$);
|
||||
#323=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Environment_Box','Environment Box','Environment Box',#321,'(also known as climatic chamber), enclosed space designed to create a particular environment.',$);
|
||||
#324=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Freezer','Freezer','Freezer',#321,'cold chamber usually kept at a temperature of 22\X2\00B0\X0\F to 31\X2\00B0\X0\F (\X2\2013\X0\5\X2\00B0\X0\C to \X2\2013\X0\1\X2\00B0\X0\C), with high-volume air circulation.',$);
|
||||
#325=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Hot_Box','Hot Box','Hot Box',#321,'hot air chamber forming part of an air handler.',$);
|
||||
#326=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Telecom_Room','Telecom Room','Telecom Room',#268,'A class of spaces used to support telecommuncations and IT equipment',$);
|
||||
#327=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Equipment_Room','Equipment Room','Equipment Room',#326,'A telecommunications room where equipment that serves the building is stored',$);
|
||||
#328=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Switch_Room','Switch Room','Switch Room',#326,'A telecommuncations room housing network switches',$);
|
||||
#329=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#TETRA_Room','TETRA Room','TETRA Room',#326,'A room used for local two-way radio networks, e.g. the portable radios carried by facilities staff',$);
|
||||
#330=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Distribution_Frame','Distribution Frame','Distribution Frame',#326,'A class of spaces where the cables carrying signals meet and connect, e.g. a wiring closet or a broadcast downlink room',$);
|
||||
#331=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#IDF','IDF','IDF',#330,'An room for an intermediate distribution frame, where cables carrying signals from the main distrubtion frame terminate and then feed out to endpoints',$);
|
||||
#332=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#MDF','MDF','MDF',#330,'A room for the Main Distribution Frame, the central place of a building where cables carrying signals meet and connect to the outside world',$);
|
||||
#333=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Collection','Collection','Collection',#1,'',$);
|
||||
#334=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Portfolio','Portfolio','Portfolio',#333,'A collection of sites',$);
|
||||
#335=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Photovoltaic_Array','Photovoltaic Array','Photovoltaic Array',#333,'A collection of photovoltaic panels',$);
|
||||
#336=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#PV_Array','PV Array','PV Array',#333,'',$);
|
||||
#337=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Loop','Loop','Loop',#333,'A collection of connected equipment; part of a System',$);
|
||||
#338=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Air_Loop','Air Loop','Air Loop',#337,'The set of connected equipment serving one path of air',$);
|
||||
#339=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Water_Loop','Water Loop','Water Loop',#337,'A collection of equipment that transport and regulate water among each other',$);
|
||||
#340=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Chilled_Water_Loop','Chilled Water Loop','Chilled Water Loop',#339,'A collection of equipment that transport and regulate chilled water among each other',$);
|
||||
#341=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Domestic_Water_Loop','Domestic Water Loop','Domestic Water Loop',#339,'',$);
|
||||
#342=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Hot_Water_Loop','Hot Water Loop','Hot Water Loop',#339,'A collection of equipment that transport and regulate hot water among each other',$);
|
||||
#343=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#System','System','System',#333,'A System is a combination of equipment and auxiliary devices (e.g., controls, accessories, interconnecting means, and termi\X2\00AD\X0\nal elements) by which energy is transformed so it performs a specific function such as HVAC, service water heating, or lighting. (ASHRAE Dictionary).',$);
|
||||
#344=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Domestic_Hot_Water_System','Domestic Hot Water System','Domestic Hot Water System',#343,'The equipment, devices and conduits that handle the production and distribution of domestic hot water in a building',$);
|
||||
#345=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Gas_System','Gas System','Gas System',#343,'',$);
|
||||
#346=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Lighting_System','Lighting System','Lighting System',#343,'The equipment, devices and interfaces that serve or are a part of the lighting subsystem in a building',$);
|
||||
#347=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Electrical_System','Electrical System','Electrical System',#343,'Devices that serve or are part of the electrical subsystem in the building',$);
|
||||
#348=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Energy_System','Energy System','Energy System',#347,'A collection of devices that generates, stores or transports electricity',$);
|
||||
#349=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Energy_Generation_System','Energy Generation System','Energy Generation System',#348,'A collection of devices that generates electricity',$);
|
||||
#350=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#PV_Generation_System','PV Generation System','PV Generation System',#349,'A collection of photovoltaic devices that generates energy',$);
|
||||
#351=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Energy_Storage_System','Energy Storage System','Energy Storage System',#348,'A collection of devices that stores electricity',$);
|
||||
#352=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Battery_Energy_Storage_System','Battery Energy Storage System','Battery Energy Storage System',#351,'A collection of batteries that provides energy storage, along with their supporting equipment',$);
|
||||
#353=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#HVAC_System','HVAC System','HVAC System',#343,'See Heating_Ventilation_Air_Conditioning_System',$);
|
||||
#354=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Shading_System','Shading System','Shading System',#343,'Devices that can control daylighting through various means',$);
|
||||
#355=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Blind_Group','Blind Group','Blind Group',#354,'A group of Blinds commonly attached to a single controller.',$);
|
||||
#356=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Heating_Ventilation_Air_Conditioning_System','Heating Ventilation Air Conditioning System','Heating Ventilation Air Conditioning System',#343,'The equipment, distribution systems and terminals that provide, either collectively or individually, the processes of heating, ventilating or air conditioning to a building or portion of a building',$);
|
||||
#357=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Steam_System','Steam System','Steam System',#356,'The equipment, devices and conduits that handle the production and distribution of steam in a building',$);
|
||||
#358=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Air_System','Air System','Air System',#356,'The equipment, distribution systems and terminals that introduce or exhaust, either collectively or individually, the air into and from the building',$);
|
||||
#359=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Ventilation_Air_System','Ventilation Air System','Ventilation Air System',#358,'The equipment, devices, and conduits that handle the introduction and distribution of ventilation air in the building',$);
|
||||
#360=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Water_System','Water System','Water System',#356,'The equipment, devices and conduits that handle the production and distribution of water in a building',$);
|
||||
#361=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Chilled_Water_System','Chilled Water System','Chilled Water System',#360,'The equipment, devices and conduits that handle the production and distribution of chilled water in a building',$);
|
||||
#362=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Condenser_Water_System','Condenser Water System','Condenser Water System',#360,'A heat rejection system consisting of (typically) cooling towers, condenser water pumps, chillers and the piping connecting the components',$);
|
||||
#363=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Hot_Water_System','Hot Water System','Hot Water System',#360,'The equipment, devices and conduits that handle the production and distribution of hot water in a building',$);
|
||||
#364=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Heat_Recovery_Hot_Water_System','Heat Recovery Hot Water System','Heat Recovery Hot Water System',#363,'',$);
|
||||
#365=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Preheat_Hot_Water_System','Preheat Hot Water System','Preheat Hot Water System',#363,'',$);
|
||||
#366=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Radiation_Hot_Water_System','Radiation Hot Water System','Radiation Hot Water System',#363,'',$);
|
||||
#367=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Reheat_Hot_Water_System','Reheat Hot Water System','Reheat Hot Water System',#363,'',$);
|
||||
#368=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Safety_System','Safety System','Safety System',#343,'',$);
|
||||
#369=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Emergency_Air_Flow_System','Emergency Air Flow System','Emergency Air Flow System',#368,'',$);
|
||||
#370=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Emergency_Power_Off_System','Emergency Power Off System','Emergency Power Off System',#368,'A system that can power down a single piece of equipment or a single system from a single point',$);
|
||||
#371=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Fire_Safety_System','Fire Safety System','Fire Safety System',#368,'A system containing devices and equipment that monitor, detect and suppress fire hazards',$);
|
||||
#372=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Alarm','Alarm','Alarm',#1,'Alarm points are signals (either audible or visual) that alert an operator to an off-normal condition which requires some form of corrective action',$);
|
||||
#373=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Change_Filter_Alarm','Change Filter Alarm','Change Filter Alarm',#372,'An alarm that indicates that a filter must be changed',$);
|
||||
#374=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Communication_Loss_Alarm','Communication Loss Alarm','Communication Loss Alarm',#372,'An alarm that indicates a loss of communication e.g. with a device or controller',$);
|
||||
#375=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Liquid_Detection_Alarm','Liquid Detection Alarm','Liquid Detection Alarm',#372,'',$);
|
||||
#376=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Low_Battery_Alarm','Low Battery Alarm','Low Battery Alarm',#372,'An alarm that indicates the battery is low.',$);
|
||||
#377=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Luminance_Alarm','Luminance Alarm','Luminance Alarm',#372,'',$);
|
||||
#378=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Maintenance_Required_Alarm','Maintenance Required Alarm','Maintenance Required Alarm',#372,'An alarm that indicates that repair/maintenance is required on an associated device or equipment',$);
|
||||
#379=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Overload_Alarm','Overload Alarm','Overload Alarm',#372,'An alarm that can indicate when a full-load current is exceeded.',$);
|
||||
#380=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Valve_Position_Alarm','Valve Position Alarm','Valve Position Alarm',#372,'An alarm that indicates that the valve position is not in a normal state.',$);
|
||||
#381=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#CO2_Alarm','CO2 Alarm','CO2 Alarm',#372,'An alarm that indicates the off-normal conditions associated with the presence of carbon dioxide.',$);
|
||||
#382=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#High_CO2_Alarm','High CO2 Alarm','High CO2 Alarm',#381,'A device that indicates high concentration of carbon dioxide.',$);
|
||||
#383=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Cycle_Alarm','Cycle Alarm','Cycle Alarm',#372,'An alarm that indicates off-normal conditions associated with HVAC cycles',$);
|
||||
#384=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Short_Cycle_Alarm','Short Cycle Alarm','Short Cycle Alarm',#383,'An alarm that indicates a short cycle occurred. A short cycle occurs when a cooling cycle is prevented from completing its full cycle',$);
|
||||
#385=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Emergency_Alarm','Emergency Alarm','Emergency Alarm',#372,'Alarms that indicate off-normal conditions associated with emergency systems',$);
|
||||
#386=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Emergency_Generator_Alarm','Emergency Generator Alarm','Emergency Generator Alarm',#385,'An alarm that indicates off-normal conditions associated with an emergency generator',$);
|
||||
#387=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Leak_Alarm','Leak Alarm','Leak Alarm',#372,'An alarm that indicates leaks occured in systems containing fluids',$);
|
||||
#388=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Condensate_Leak_Alarm','Condensate Leak Alarm','Condensate Leak Alarm',#387,'An alarm that indicates a leak of condensate from a cooling system',$);
|
||||
#389=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Power_Alarm','Power Alarm','Power Alarm',#372,'An alarm that indicates the off-normal conditions associated with electrical power.',$);
|
||||
#390=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Power_Loss_Alarm','Power Loss Alarm','Power Loss Alarm',#389,'An alarm that indicates a power failure.',$);
|
||||
#391=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Smoke_Alarm','Smoke Alarm','Smoke Alarm',#372,'An alarm that indicates the off-normal conditions associated with smoke.',$);
|
||||
#392=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Smoke_Detection_Alarm','Smoke Detection Alarm','Smoke Detection Alarm',#391,'',$);
|
||||
#393=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Supply_Air_Smoke_Detection_Alarm','Supply Air Smoke Detection Alarm','Supply Air Smoke Detection Alarm',#392,'',$);
|
||||
#394=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Discharge_Air_Smoke_Detection_Alarm','Discharge Air Smoke Detection Alarm','Discharge Air Smoke Detection Alarm',#392,'',$);
|
||||
#395=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Voltage_Alarm','Voltage Alarm','Voltage Alarm',#372,'An alarm that indicates the voltage is not in a normal state.',$);
|
||||
#396=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Low_Voltage_Alarm','Low Voltage Alarm','Low Voltage Alarm',#395,'An alarm that indicates the voltage is lower than its normal state.',$);
|
||||
#397=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Failure_Alarm','Failure Alarm','Failure Alarm',#372,'Alarms that indicate the failure of devices, equipment, systems and control loops',$);
|
||||
#398=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Sensor_Failure_Alarm','Sensor Failure Alarm','Sensor Failure Alarm',#397,'',$);
|
||||
#399=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Unit_Failure_Alarm','Unit Failure Alarm','Unit Failure Alarm',#397,'An alarm that indicates the failure of an equipment or device',$);
|
||||
#400=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Humidity_Alarm','Humidity Alarm','Humidity Alarm',#372,'An alarm that indicates the off-normal conditions associated with the concentration of water vapor in the air.',$);
|
||||
#401=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#High_Humidity_Alarm','High Humidity Alarm','High Humidity Alarm',#400,'An alarm that indicates high concentration of water vapor in the air.',$);
|
||||
#402=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Low_Humidity_Alarm','Low Humidity Alarm','Low Humidity Alarm',#400,'An alarm that indicates low concentration of water vapor in the air.',$);
|
||||
#403=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Pressure_Alarm','Pressure Alarm','Pressure Alarm',#372,'An alarm that indicates the off-normal conditions associated with pressure.',$);
|
||||
#404=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#High_Head_Pressure_Alarm','High Head Pressure Alarm','High Head Pressure Alarm',#403,'An alarm that indicates a high pressure generated on the output side of a gas compressor in a refrigeration or air conditioning system.',$);
|
||||
#405=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Low_Suction_Pressure_Alarm','Low Suction Pressure Alarm','Low Suction Pressure Alarm',#403,'An alarm that indicates a low suction pressure in the compressor in a refrigeration or air conditioning system.',$);
|
||||
#406=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Air_Alarm','Air Alarm','Air Alarm',#372,'',$);
|
||||
#407=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Air_Flow_Alarm','Air Flow Alarm','Air Flow Alarm',#406,'An alarm related to air flow.',$);
|
||||
#408=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Air_Flow_Loss_Alarm','Air Flow Loss Alarm','Air Flow Loss Alarm',#407,'An alarm that indicates loss in air flow.',$);
|
||||
#409=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#High_Air_Flow_Alarm','High Air Flow Alarm','High Air Flow Alarm',#407,'An alarm that indicates that the air flow is higher than normal.',$);
|
||||
#410=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Low_Air_Flow_Alarm','Low Air Flow Alarm','Low Air Flow Alarm',#407,'An alarm that indicates that the air flow is lower than normal.',$);
|
||||
#411=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Low_Supply_Air_Flow_Alarm','Low Supply Air Flow Alarm','Low Supply Air Flow Alarm',#410,'',$);
|
||||
#412=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Low_Discharge_Air_Flow_Alarm','Low Discharge Air Flow Alarm','Low Discharge Air Flow Alarm',#410,'An alarm that indicates that the discharge air flow is lower than normal.',$);
|
||||
#413=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Air_Temperature_Alarm','Air Temperature Alarm','Air Temperature Alarm',#406,'An alarm that indicates the off-normal conditions associated with the temperature of air.',$);
|
||||
#414=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Return_Air_Temperature_Alarm','Return Air Temperature Alarm','Return Air Temperature Alarm',#413,'An alarm that indicates the off-normal conditions associated with the temperature of return air.',$);
|
||||
#415=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#High_Return_Air_Temperature_Alarm','High Return Air Temperature Alarm','High Return Air Temperature Alarm',#414,'An alarm that indicates that return air temperature is too high',$);
|
||||
#416=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Low_Return_Air_Temperature_Alarm','Low Return Air Temperature Alarm','Low Return Air Temperature Alarm',#414,'An alarm that indicates that return air temperature is too low',$);
|
||||
#417=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Supply_Air_Temperature_Alarm','Supply Air Temperature Alarm','Supply Air Temperature Alarm',#413,'An alarm that indicates the off-normal conditions associated with the temperature of supply air.',$);
|
||||
#418=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#High_Supply_Air_Temperature_Alarm','High Supply Air Temperature Alarm','High Supply Air Temperature Alarm',#417,'',$);
|
||||
#419=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Low_Supply_Air_Temperature_Alarm','Low Supply Air Temperature Alarm','Low Supply Air Temperature Alarm',#417,'',$);
|
||||
#420=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Discharge_Air_Temperature_Alarm','Discharge Air Temperature Alarm','Discharge Air Temperature Alarm',#413,'An alarm that indicates the off-normal conditions associated with the temperature of discharge air.',$);
|
||||
#421=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#High_Discharge_Air_Temperature_Alarm','High Discharge Air Temperature Alarm','High Discharge Air Temperature Alarm',#420,'An alarm that indicates that discharge air temperature is too high',$);
|
||||
#422=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Low_Discharge_Air_Temperature_Alarm','Low Discharge Air Temperature Alarm','Low Discharge Air Temperature Alarm',#420,'',$);
|
||||
#423=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Temperature_Alarm','Temperature Alarm','Temperature Alarm',#372,'An alarm that indicates the off-normal conditions associated with temperature.',$);
|
||||
#424=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Water_Temperature_Alarm','Water Temperature Alarm','Water Temperature Alarm',#423,'An alarm that indicates the off-normal conditions associated with temperature of water.',$);
|
||||
#425=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Entering_Water_Temperature_Alarm','Entering Water Temperature Alarm','Entering Water Temperature Alarm',#424,'An alarm that indicates the off-normal conditions associated with temperature of the entering water.',$);
|
||||
#426=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Leaving_Water_Temperature_Alarm','Leaving Water Temperature Alarm','Leaving Water Temperature Alarm',#424,'An alarm that indicates the off-normal conditions associated with temperature of the leaving water.',$);
|
||||
#427=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#High_Temperature_Alarm','High Temperature Alarm','High Temperature Alarm',#423,'An alarm that indicates high temperature.',$);
|
||||
#428=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Low_Temperature_Alarm','Low Temperature Alarm','Low Temperature Alarm',#423,'An alarm that indicates low temperature.',$);
|
||||
#429=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Water_Alarm','Water Alarm','Water Alarm',#372,'Alarm that indicates an undesirable event with a pipe, container, or equipment carrying water e.g. water leak',$);
|
||||
#430=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Deionized_Water_Alarm','Deionized Water Alarm','Deionized Water Alarm',#429,'An alarm that indicates deionized water leaks.',$);
|
||||
#431=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#No_Water_Alarm','No Water Alarm','No Water Alarm',#429,'Alarm indicating that there is no water in the equipment or system',$);
|
||||
#432=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Water_Loss_Alarm','Water Loss Alarm','Water Loss Alarm',#429,'An alarm that indicates a loss of water e.g. during transport',$);
|
||||
#433=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Water_Level_Alarm','Water Level Alarm','Water Level Alarm',#429,'An alarm that indicates a high or low water level e.g. in a basin',$);
|
||||
#434=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Collection_Basin_Water_Level_Alarm','Collection Basin Water Level Alarm','Collection Basin Water Level Alarm',#433,'An alarm that indicates a high or low level of water in the collection basin, e.g. within a Cooling_Tower',$);
|
||||
#435=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Max_Water_Level_Alarm','Max Water Level Alarm','Max Water Level Alarm',#433,'Alarm indicating that the maximum water level was reached',$);
|
||||
#436=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Min_Water_Level_Alarm','Min Water Level Alarm','Min Water Level Alarm',#433,'Alarm indicating that the minimum water level was reached',$);
|
||||
#437=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Sensor','Sensor','Sensor',#1,'A Sensor is an input point that represents the value of a device or instrument designed to detect and measure a variable (ASHRAE Dictionary).',$);
|
||||
#438=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Capacity_Sensor','Capacity Sensor','Capacity Sensor',#437,'',$);
|
||||
#439=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Contact_Sensor','Contact Sensor','Contact Sensor',#437,'Senses or detects contact, such as for determining if a door is closed.',$);
|
||||
#440=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Fire_Sensor','Fire Sensor','Fire Sensor',#437,'Measures the presence of fire',$);
|
||||
#441=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Frost_Sensor','Frost Sensor','Frost Sensor',#437,'Senses the presence of frost or conditions that may cause frost',$);
|
||||
#442=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Gas_Sensor','Gas Sensor','Gas Sensor',#437,'Measures gas concentration (other than CO2)',$);
|
||||
#443=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Hail_Sensor','Hail Sensor','Hail Sensor',#437,'Measures hail in terms of its size and damage potential',$);
|
||||
#444=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Luminance_Sensor','Luminance Sensor','Luminance Sensor',#437,'Measures the luminous intensity per unit area of light travelling in a given direction',$);
|
||||
#445=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Occupancy_Count_Sensor','Occupancy Count Sensor','Occupancy Count Sensor',#437,'Sensors measuring the number of people in an area',$);
|
||||
#446=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Occupancy_Sensor','Occupancy Sensor','Occupancy Sensor',#437,'Detects occupancy of some space or area',$);
|
||||
#447=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Piezoelectric_Sensor','Piezoelectric Sensor','Piezoelectric Sensor',#437,'Senses changes pressure, acceleration, temperature, force or strain via the piezoelectric effect',$);
|
||||
#448=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Power_Factor_Sensor','Power Factor Sensor','Power Factor Sensor',#437,'Sensors measuring power Factor, under periodic conditions, is the ratio of the absolute value of the active power (P) to the apparent power (S).',$);
|
||||
#449=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Rain_Level_Sensor','Rain Level Sensor','Rain Level Sensor',#437,'Measures the amount of precipitation fallen',$);
|
||||
#450=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Refrigerant_Level_Sensor','Refrigerant Level Sensor','Refrigerant Level Sensor',#437,'',$);
|
||||
#451=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Solar_Radiance_Sensor','Solar Radiance Sensor','Solar Radiance Sensor',#437,'The amount of light that passes through or is emitted from the sun and falls within a given solid angle in a specified direction',$);
|
||||
#452=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Conductivity_Sensor','Conductivity Sensor','Conductivity Sensor',#437,'Measures electrical conductance',$);
|
||||
#453=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Deionised_Water_Conductivity_Sensor','Deionised Water Conductivity Sensor','Deionised Water Conductivity Sensor',#452,'Measures the electrical conductance of deionised water',$);
|
||||
#454=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Direction_Sensor','Direction Sensor','Direction Sensor',#437,'Measures the direction in degrees in which a phenomenon is occuring',$);
|
||||
#455=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Wind_Direction_Sensor','Wind Direction Sensor','Wind Direction Sensor',#454,'Measures the direction of wind in degrees relative to North',$);
|
||||
#456=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Enthalpy_Sensor','Enthalpy Sensor','Enthalpy Sensor',#437,'Measures the total heat content of some substance',$);
|
||||
#457=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Air_Enthalpy_Sensor','Air Enthalpy Sensor','Air Enthalpy Sensor',#456,'Measures the total heat content of air',$);
|
||||
#458=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Outside_Air_Enthalpy_Sensor','Outside Air Enthalpy Sensor','Outside Air Enthalpy Sensor',#457,'Measures the total heat content of outside air',$);
|
||||
#459=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Return_Air_Enthalpy_Sensor','Return Air Enthalpy Sensor','Return Air Enthalpy Sensor',#457,'Measures the total heat content of return air',$);
|
||||
#460=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Frequency_Sensor','Frequency Sensor','Frequency Sensor',#437,'Measures the frequency of a phenomenon or aspect of a phenomenon, e.g. the frequency of a fan turning',$);
|
||||
#461=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Output_Frequency_Sensor','Output Frequency Sensor','Output Frequency Sensor',#460,'',$);
|
||||
#462=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Generation_Sensor','Generation Sensor','Generation Sensor',#437,'A sensor measuring how much something has been generated.',$);
|
||||
#463=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Energy_Generation_Sensor','Energy Generation Sensor','Energy Generation Sensor',#462,'A sensor measuring the amount of generated energy.',$);
|
||||
#464=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Heat_Sensor','Heat Sensor','Heat Sensor',#437,'Measures heat',$);
|
||||
#465=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Trace_Heat_Sensor','Trace Heat Sensor','Trace Heat Sensor',#464,'Measures the surface temperature of pipelines carrying temperature-sensitive products; typically used to avoid frosting/freezing',$);
|
||||
#466=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Humidity_Sensor','Humidity Sensor','Humidity Sensor',#437,'Measures the concentration of water vapor in air',$);
|
||||
#467=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Relative_Humidity_Sensor','Relative Humidity Sensor','Relative Humidity Sensor',#466,'Measures the present state of absolute humidity relative to a maximum humidity given the same temperature',$);
|
||||
#468=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Exhaust_Air_Humidity_Sensor','Exhaust Air Humidity Sensor','Exhaust Air Humidity Sensor',#467,'Measures the relative humidity of exhaust air',$);
|
||||
#469=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Mixed_Air_Humidity_Sensor','Mixed Air Humidity Sensor','Mixed Air Humidity Sensor',#467,'Measures the humidity of mixed air',$);
|
||||
#470=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Outside_Air_Humidity_Sensor','Outside Air Humidity Sensor','Outside Air Humidity Sensor',#467,'Measures the relative humidity of outside air',$);
|
||||
#471=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Return_Air_Humidity_Sensor','Return Air Humidity Sensor','Return Air Humidity Sensor',#467,'Measures the relative humidity of return air',$);
|
||||
#472=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Supply_Air_Humidity_Sensor','Supply Air Humidity Sensor','Supply Air Humidity Sensor',#467,'Measures the relative humidity of supply air',$);
|
||||
#473=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Zone_Air_Humidity_Sensor','Zone Air Humidity Sensor','Zone Air Humidity Sensor',#467,'Measures the relative humidity of zone air',$);
|
||||
#474=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Discharge_Air_Humidity_Sensor','Discharge Air Humidity Sensor','Discharge Air Humidity Sensor',#467,'Measures the relative humidity of discharge air',$);
|
||||
#475=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Illuminance_Sensor','Illuminance Sensor','Illuminance Sensor',#437,'Measures the total luminous flux incident on a surface, per unit area',$);
|
||||
#476=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Outside_Illuminance_Sensor','Outside Illuminance Sensor','Outside Illuminance Sensor',#475,'Measures the total luminous flux incident on an outside, per unit area',$);
|
||||
#477=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Motion_Sensor','Motion Sensor','Motion Sensor',#437,'Detects the presence of motion in some area',$);
|
||||
#478=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#PIR_Sensor','PIR Sensor','PIR Sensor',#477,'Detects the presense of motion in some area using the differential change in infrared intensity between two or more receptors',$);
|
||||
#479=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Torque_Sensor','Torque Sensor','Torque Sensor',#437,'Measures torque, the tendency of a force to rotate an object about some axis',$);
|
||||
#480=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Motor_Torque_Sensor','Motor Torque Sensor','Motor Torque Sensor',#479,'Measures the torque, or rotating power, of a motor',$);
|
||||
#481=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Adjust_Sensor','Adjust Sensor','Adjust Sensor',#437,'Measures user-provided adjustment of some value',$);
|
||||
#482=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Temperature_Adjust_Sensor','Temperature Adjust Sensor','Temperature Adjust Sensor',#481,'Measures user-provided adjustment of temperature',$);
|
||||
#483=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Warm_Cool_Adjust_Sensor','Warm Cool Adjust Sensor','Warm Cool Adjust Sensor',#481,'User provided adjustment of zone temperature, typically in the range of +/- 5 degrees',$);
|
||||
#484=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Air_Grains_Sensor','Air Grains Sensor','Air Grains Sensor',#437,'Measures the mass of water vapor in air',$);
|
||||
#485=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Outside_Air_Grains_Sensor','Outside Air Grains Sensor','Outside Air Grains Sensor',#484,'Measures the mass of water vapor in outside air',$);
|
||||
#486=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Return_Air_Grains_Sensor','Return Air Grains Sensor','Return Air Grains Sensor',#484,'Measures the mass of water vapor in return air',$);
|
||||
#487=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Angle_Sensor','Angle Sensor','Angle Sensor',#437,'Measues the planar angle of some phenomenon',$);
|
||||
#488=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Solar_Azimuth_Angle_Sensor','Solar Azimuth Angle Sensor','Solar Azimuth Angle Sensor',#487,'Measures the azimuth angle of the sun',$);
|
||||
#489=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Solar_Zenith_Angle_Sensor','Solar Zenith Angle Sensor','Solar Zenith Angle Sensor',#487,'Measures the zenith angle of the sun',$);
|
||||
#490=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Energy_Sensor','Energy Sensor','Energy Sensor',#437,'Measures energy consumption',$);
|
||||
#491=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Energy_Usage_Sensor','Energy Usage Sensor','Energy Usage Sensor',#490,'Measures the total amount of energy used over some period of time',$);
|
||||
#492=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Electric_Energy_Sensor','Electric Energy Sensor','Electric Energy Sensor',#490,'',$);
|
||||
#493=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Reactive_Energy_Sensor','Reactive Energy Sensor','Reactive Energy Sensor',#492,'Measures the integral of reactive power',$);
|
||||
#494=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Imbalance_Sensor','Imbalance Sensor','Imbalance Sensor',#437,'A sensor which measures difference (imbalance) between phases of an electrical system',$);
|
||||
#495=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Current_Imbalance_Sensor','Current Imbalance Sensor','Current Imbalance Sensor',#494,'A sensor which measures the current difference (imbalance) between phases of an electrical system',$);
|
||||
#496=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Voltage_Imbalance_Sensor','Voltage Imbalance Sensor','Voltage Imbalance Sensor',#494,'A sensor which measures the voltage difference (imbalance) between phases of an electrical system',$);
|
||||
#497=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Power_Sensor','Power Sensor','Power Sensor',#437,'Measures the amount of instantaneous power consumed',$);
|
||||
#498=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Thermal_Power_Sensor','Thermal Power Sensor','Thermal Power Sensor',#497,'',$);
|
||||
#499=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Heating_Thermal_Power_Sensor','Heating Thermal Power Sensor','Heating Thermal Power Sensor',#498,'',$);
|
||||
#500=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Electric_Power_Sensor','Electric Power Sensor','Electric Power Sensor',#497,'Measures the amount of instantaneous electric power consumed',$);
|
||||
#501=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Active_Power_Sensor','Active Power Sensor','Active Power Sensor',#500,'Measures the portion of power that, averaged over a complete cycle of the AC waveform, results in net transfer of energy in one direction',$);
|
||||
#502=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Reactive_Power_Sensor','Reactive Power Sensor','Reactive Power Sensor',#500,'Measures the portion of power that, averaged over a complete cycle of the AC waveform, is due to stored energy which returns to the source in each cycle',$);
|
||||
#503=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Water_Level_Sensor','Water Level Sensor','Water Level Sensor',#437,'Measures the height/level of water in some container',$);
|
||||
#504=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Collection_Basin_Water_Level_Sensor','Collection Basin Water Level Sensor','Collection Basin Water Level Sensor',#503,'Measures the level of the water in the collection basin, e.g. within a Cooling_Tower',$);
|
||||
#505=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Deionised_Water_Level_Sensor','Deionised Water Level Sensor','Deionised Water Level Sensor',#503,'Measures the height/level of deionised water in some container',$);
|
||||
#506=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Current_Sensor','Current Sensor','Current Sensor',#437,'Senses the amperes of electrical current passing through the sensor',$);
|
||||
#507=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Load_Current_Sensor','Load Current Sensor','Load Current Sensor',#506,'Measures the current consumed by a load',$);
|
||||
#508=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Motor_Current_Sensor','Motor Current Sensor','Motor Current Sensor',#506,'Measures the current consumed by a motor',$);
|
||||
#509=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Current_Output_Sensor','Current Output Sensor','Current Output Sensor',#506,'Senses the amperes of electrical current produced as output by a device',$);
|
||||
#510=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Photovoltaic_Current_Output_Sensor','Photovoltaic Current Output Sensor','Photovoltaic Current Output Sensor',#509,'Senses the amperes of electrical current produced as output by a photovoltaic device',$);
|
||||
#511=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#PV_Current_Output_Sensor','PV Current Output Sensor','PV Current Output Sensor',#509,'See Photovoltaic_Current_Output_Sensor',$);
|
||||
#512=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Demand_Sensor','Demand Sensor','Demand Sensor',#437,'Measures the amount of power consumed by the use of some process; typically found by multiplying the tonnage of a unit (e.g. RTU) by the efficiency rating in kW/ton',$);
|
||||
#513=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Peak_Demand_Sensor','Peak Demand Sensor','Peak Demand Sensor',#512,'The peak power consumed by a process over some period of time',$);
|
||||
#514=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Cooling_Demand_Sensor','Cooling Demand Sensor','Cooling Demand Sensor',#512,'Measures the amount of power consumed by a cooling process; typically found by multiplying the tonnage of a unit (e.g. RTU) by the efficiency rating in kW/ton',$);
|
||||
#515=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Average_Cooling_Demand_Sensor','Average Cooling Demand Sensor','Average Cooling Demand Sensor',#514,'Measures the average power consumed by a cooling process as the amount of power consumed over some interval',$);
|
||||
#516=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Heating_Demand_Sensor','Heating Demand Sensor','Heating Demand Sensor',#512,'Measures the amount of power consumed by a heating process; typically found by multiplying the tonnage of a unit (e.g. RTU) by the efficiency rating in kW/ton',$);
|
||||
#517=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Average_Heating_Demand_Sensor','Average Heating Demand Sensor','Average Heating Demand Sensor',#516,'Measures the average power consumed by a heating process as the amount of power consumed over some interval',$);
|
||||
#518=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Duration_Sensor','Duration Sensor','Duration Sensor',#437,'Measures the duration of a phenomenon or event',$);
|
||||
#519=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#On_Timer_Sensor','On Timer Sensor','On Timer Sensor',#518,'Measures the duration for which a device was in an active or "on" state',$);
|
||||
#520=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Rain_Duration_Sensor','Rain Duration Sensor','Rain Duration Sensor',#518,'Measures the duration of precipitation within some time frame',$);
|
||||
#521=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Run_Time_Sensor','Run Time Sensor','Run Time Sensor',#518,'Measures the duration for which a device was in an active or "on" state',$);
|
||||
#522=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Flow_Sensor','Flow Sensor','Flow Sensor',#437,'Measures the rate of flow of some substance',$);
|
||||
#523=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Natural_Gas_Flow_Sensor','Natural Gas Flow Sensor','Natural Gas Flow Sensor',#522,'Measures the rate of flow of natural gas',$);
|
||||
#524=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Air_Flow_Sensor','Air Flow Sensor','Air Flow Sensor',#522,'Measures the rate of flow of air',$);
|
||||
#525=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Bypass_Air_Flow_Sensor','Bypass Air Flow Sensor','Bypass Air Flow Sensor',#524,'Measures the rate of flow of bypass air',$);
|
||||
#526=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Fume_Hood_Air_Flow_Sensor','Fume Hood Air Flow Sensor','Fume Hood Air Flow Sensor',#524,'Measures the rate of flow of air in a fume hood',$);
|
||||
#527=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Mixed_Air_Flow_Sensor','Mixed Air Flow Sensor','Mixed Air Flow Sensor',#524,'Measures the rate of flow of mixed air',$);
|
||||
#528=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Outside_Air_Flow_Sensor','Outside Air Flow Sensor','Outside Air Flow Sensor',#524,'Measures the rate of flow of outside air into the system',$);
|
||||
#529=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Return_Air_Flow_Sensor','Return Air Flow Sensor','Return Air Flow Sensor',#524,'Measures the rate of flow of return air',$);
|
||||
#530=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Exhaust_Air_Flow_Sensor','Exhaust Air Flow Sensor','Exhaust Air Flow Sensor',#524,'Measures the rate of flow of exhaust air',$);
|
||||
#531=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Exhaust_Air_Stack_Flow_Sensor','Exhaust Air Stack Flow Sensor','Exhaust Air Stack Flow Sensor',#530,'Measures the rate of flow of air in the exhaust air stack',$);
|
||||
#532=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Supply_Air_Flow_Sensor','Supply Air Flow Sensor','Supply Air Flow Sensor',#524,'Measures the rate of flow of supply air',$);
|
||||
#533=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Average_Supply_Air_Flow_Sensor','Average Supply Air Flow Sensor','Average Supply Air Flow Sensor',#532,'The computed average flow of supply air over some interval',$);
|
||||
#534=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Discharge_Air_Flow_Sensor','Discharge Air Flow Sensor','Discharge Air Flow Sensor',#524,'Measures the rate of flow of discharge air',$);
|
||||
#535=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Average_Discharge_Air_Flow_Sensor','Average Discharge Air Flow Sensor','Average Discharge Air Flow Sensor',#534,'The computed average flow of discharge air over some interval',$);
|
||||
#536=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Water_Flow_Sensor','Water Flow Sensor','Water Flow Sensor',#522,'Measures the rate of flow of water',$);
|
||||
#537=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Bypass_Water_Flow_Sensor','Bypass Water Flow Sensor','Bypass Water Flow Sensor',#536,'Measures the rate of flow of bypass water',$);
|
||||
#538=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Entering_Water_Flow_Sensor','Entering Water Flow Sensor','Entering Water Flow Sensor',#536,'Measures the rate of flow of water entering a piece of equipment or system',$);
|
||||
#539=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Entering_Chilled_Water_Flow_Sensor','Entering Chilled Water Flow Sensor','Entering Chilled Water Flow Sensor',#538,'Measures the rate of flow of chilled entering water',$);
|
||||
#540=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Entering_Condenser_Water_Flow_Sensor','Entering Condenser Water Flow Sensor','Entering Condenser Water Flow Sensor',#538,'Measures the flow of the entering condenser water',$);
|
||||
#541=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Entering_Hot_Water_Flow_Sensor','Entering Hot Water Flow Sensor','Entering Hot Water Flow Sensor',#538,'Measures the rate of flow of hot entering water',$);
|
||||
#542=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Leaving_Water_Flow_Sensor','Leaving Water Flow Sensor','Leaving Water Flow Sensor',#536,'Measures the rate of flow of water that is leaving a piece of equipment or system',$);
|
||||
#543=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Leaving_Chilled_Water_Flow_Sensor','Leaving Chilled Water Flow Sensor','Leaving Chilled Water Flow Sensor',#542,'Measures the rate of flow of chilled leaving water',$);
|
||||
#544=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Leaving_Condenser_Water_Flow_Sensor','Leaving Condenser Water Flow Sensor','Leaving Condenser Water Flow Sensor',#542,'Measures the flow of the leaving condenser water',$);
|
||||
#545=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Leaving_Hot_Water_Flow_Sensor','Leaving Hot Water Flow Sensor','Leaving Hot Water Flow Sensor',#542,'Measures the rate of flow of hot leaving water',$);
|
||||
#546=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Condenser_Water_Flow_Sensor','Condenser Water Flow Sensor','Condenser Water Flow Sensor',#536,'Measures the flow of the condenser water',$);
|
||||
#547=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Chilled_Water_Flow_Sensor','Chilled Water Flow Sensor','Chilled Water Flow Sensor',#536,'Measures the rate of flow in a chilled water circuit',$);
|
||||
#548=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Hot_Water_Flow_Sensor','Hot Water Flow Sensor','Hot Water Flow Sensor',#536,'Measures the rate of flow in a hot water circuit',$);
|
||||
#549=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Position_Sensor','Position Sensor','Position Sensor',#437,'Measures the current position of a component in terms of a fraction of its full range of motion',$);
|
||||
#550=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Damper_Position_Sensor','Damper Position Sensor','Damper Position Sensor',#549,'Measures the current position of a damper in terms of the percent of fully open',$);
|
||||
#551=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Sash_Position_Sensor','Sash Position Sensor','Sash Position Sensor',#549,'Measures the current position of a sash in terms of the percent of fully open',$);
|
||||
#552=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Valve_Position_Sensor','Valve Position Sensor','Valve Position Sensor',#549,'Measures the current position of a valve in terms of the percent of fully open',$);
|
||||
#553=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Pressure_Sensor','Pressure Sensor','Pressure Sensor',#437,'Measure the amount of force acting on a unit area',$);
|
||||
#554=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Velocity_Pressure_Sensor','Velocity Pressure Sensor','Velocity Pressure Sensor',#553,'Measures the difference between total pressure and static pressure',$);
|
||||
#555=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Exhaust_Air_Velocity_Pressure_Sensor','Exhaust Air Velocity Pressure Sensor','Exhaust Air Velocity Pressure Sensor',#554,'',$);
|
||||
#556=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Supply_Air_Velocity_Pressure_Sensor','Supply Air Velocity Pressure Sensor','Supply Air Velocity Pressure Sensor',#554,'',$);
|
||||
#557=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Discharge_Air_Velocity_Pressure_Sensor','Discharge Air Velocity Pressure Sensor','Discharge Air Velocity Pressure Sensor',#554,'',$);
|
||||
#558=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Differential_Pressure_Sensor','Differential Pressure Sensor','Differential Pressure Sensor',#553,'Measures the difference between two applied pressures',$);
|
||||
#559=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Chilled_Water_Differential_Pressure_Sensor','Chilled Water Differential Pressure Sensor','Chilled Water Differential Pressure Sensor',#558,'Measures the difference in water pressure on either side of a chilled water valve',$);
|
||||
#560=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Filter_Differential_Pressure_Sensor','Filter Differential Pressure Sensor','Filter Differential Pressure Sensor',#558,'Measures the difference in pressure on either side of a filter',$);
|
||||
#561=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Hot_Water_Differential_Pressure_Sensor','Hot Water Differential Pressure Sensor','Hot Water Differential Pressure Sensor',#558,'Measures the difference in water pressure on either side of a hot water valve',$);
|
||||
#562=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Medium_Temperature_Hot_Water_Differential_Pressure_Sensor','Medium Temperature Hot Water Differential Pressure Sensor','Medium Temperature Hot Water Differential Pressure Sensor',#561,'Measures the difference in water pressure between sections of a medium temperature hot water system',$);
|
||||
#563=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Air_Differential_Pressure_Sensor','Air Differential Pressure Sensor','Air Differential Pressure Sensor',#558,'Measures the difference in pressure between two regions of air',$);
|
||||
#564=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Exhaust_Air_Differential_Pressure_Sensor','Exhaust Air Differential Pressure Sensor','Exhaust Air Differential Pressure Sensor',#563,'Measures the difference in pressure between an upstream and downstream of an air duct or other air conduit used to exhaust air from the building',$);
|
||||
#565=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Return_Air_Differential_Pressure_Sensor','Return Air Differential Pressure Sensor','Return Air Differential Pressure Sensor',#563,'Measures the difference in pressure between the return and supply side',$);
|
||||
#566=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Supply_Air_Differential_Pressure_Sensor','Supply Air Differential Pressure Sensor','Supply Air Differential Pressure Sensor',#563,'Measures the difference in pressure between an upstream and downstream of an air duct or other air conduit used to supply air into the building',$);
|
||||
#567=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Discharge_Air_Differential_Pressure_Sensor','Discharge Air Differential Pressure Sensor','Discharge Air Differential Pressure Sensor',#563,'',$);
|
||||
#568=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Static_Pressure_Sensor','Static Pressure Sensor','Static Pressure Sensor',#553,'Measures resistance to airflow in a heating and cooling system''s components and duct work',$);
|
||||
#569=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Building_Air_Static_Pressure_Sensor','Building Air Static Pressure Sensor','Building Air Static Pressure Sensor',#568,'The static pressure of air within a building',$);
|
||||
#570=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Supply_Air_Static_Pressure_Sensor','Supply Air Static Pressure Sensor','Supply Air Static Pressure Sensor',#568,'The static pressure of air within supply regions of an HVAC system',$);
|
||||
#571=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Underfloor_Air_Plenum_Static_Pressure_Sensor','Underfloor Air Plenum Static Pressure Sensor','Underfloor Air Plenum Static Pressure Sensor',#568,'Measures the outward push of air against the plenum surfaces and used to measure the resistance when air moves through the plenum',$);
|
||||
#572=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Discharge_Air_Static_Pressure_Sensor','Discharge Air Static Pressure Sensor','Discharge Air Static Pressure Sensor',#568,'The static pressure of air within discharge regions of an HVAC system',$);
|
||||
#573=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Exhaust_Air_Static_Pressure_Sensor','Exhaust Air Static Pressure Sensor','Exhaust Air Static Pressure Sensor',#568,'The static pressure of air within exhaust regions of an HVAC system',$);
|
||||
#574=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Average_Exhaust_Air_Static_Pressure_Sensor','Average Exhaust Air Static Pressure Sensor','Average Exhaust Air Static Pressure Sensor',#573,'The computed average static pressure of air in exhaust regions of an HVAC system over some period of time',$);
|
||||
#575=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Lowest_Exhaust_Air_Static_Pressure_Sensor','Lowest Exhaust Air Static Pressure Sensor','Lowest Exhaust Air Static Pressure Sensor',#573,'The lowest observed static pressure of air in exhaust regions of an HVAC system over some period of time',$);
|
||||
#576=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Speed_Sensor','Speed Sensor','Speed Sensor',#437,'Measures the magnitude of velocity of some form of movement',$);
|
||||
#577=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Differential_Speed_Sensor','Differential Speed Sensor','Differential Speed Sensor',#576,'',$);
|
||||
#578=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Motor_Speed_Sensor','Motor Speed Sensor','Motor Speed Sensor',#576,'',$);
|
||||
#579=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Wind_Speed_Sensor','Wind Speed Sensor','Wind Speed Sensor',#576,'Measured speed of wind, caused by air moving from high to low pressure',$);
|
||||
#580=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Voltage_Sensor','Voltage Sensor','Voltage Sensor',#437,'Measures the voltage of an electrical device or object',$);
|
||||
#581=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Battery_Voltage_Sensor','Battery Voltage Sensor','Battery Voltage Sensor',#580,'Measures the capacity of a battery',$);
|
||||
#582=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#DC_Bus_Voltage_Sensor','DC Bus Voltage Sensor','DC Bus Voltage Sensor',#580,'Measures the voltage across a DC bus',$);
|
||||
#583=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Output_Voltage_Sensor','Output Voltage Sensor','Output Voltage Sensor',#580,'Measures the voltage output by some process or device',$);
|
||||
#584=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Usage_Sensor','Usage Sensor','Usage Sensor',#437,'Measures the amount of some substance that is consumed or used, over some period of time',$);
|
||||
#585=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Natural_Gas_Usage_Sensor','Natural Gas Usage Sensor','Natural Gas Usage Sensor',#584,'Measures the amount of natural gas that is consumed or used, over some period of time',$);
|
||||
#586=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Steam_Usage_Sensor','Steam Usage Sensor','Steam Usage Sensor',#584,'Measures the amount of steam that is consumed or used, over some period of time',$);
|
||||
#587=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Water_Usage_Sensor','Water Usage Sensor','Water Usage Sensor',#584,'Measures the amount of water that is consumed, over some period of time',$);
|
||||
#588=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Hot_Water_Usage_Sensor','Hot Water Usage Sensor','Hot Water Usage Sensor',#587,'Measures the amount of hot water that is consumed, over some period of time',$);
|
||||
#589=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Dewpoint_Sensor','Dewpoint Sensor','Dewpoint Sensor',#437,'Senses the dewpoint temperature . Dew point is the temperature to which air must be cooled to become saturated with water vapor',$);
|
||||
#590=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Exhaust_Air_Dewpoint_Sensor','Exhaust Air Dewpoint Sensor','Exhaust Air Dewpoint Sensor',#589,'Measures dewpoint of exhaust air',$);
|
||||
#591=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Outside_Air_Dewpoint_Sensor','Outside Air Dewpoint Sensor','Outside Air Dewpoint Sensor',#589,'Senses the dewpoint temperature of outside air',$);
|
||||
#592=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Return_Air_Dewpoint_Sensor','Return Air Dewpoint Sensor','Return Air Dewpoint Sensor',#589,'Senses the dewpoint temperature of return air',$);
|
||||
#593=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Supply_Air_Dewpoint_Sensor','Supply Air Dewpoint Sensor','Supply Air Dewpoint Sensor',#589,'',$);
|
||||
#594=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Zone_Air_Dewpoint_Sensor','Zone Air Dewpoint Sensor','Zone Air Dewpoint Sensor',#589,'Measures dewpoint of zone air',$);
|
||||
#595=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Discharge_Air_Dewpoint_Sensor','Discharge Air Dewpoint Sensor','Discharge Air Dewpoint Sensor',#589,'Measures dewpoint of discharge air',$);
|
||||
#596=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Temperature_Sensor','Temperature Sensor','Temperature Sensor',#437,'Measures temperature: the physical property of matter that quantitatively expresses the common notions of hot and cold',$);
|
||||
#597=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Heat_Sink_Temperature_Sensor','Heat Sink Temperature Sensor','Heat Sink Temperature Sensor',#596,'Measure temperature of the heat sink on a device such as a VFD.',$);
|
||||
#598=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Natural_Gas_Temperature_Sensor','Natural Gas Temperature Sensor','Natural Gas Temperature Sensor',#596,'Measures the temperature of natural gas',$);
|
||||
#599=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Soil_Temperature_Sensor','Soil Temperature Sensor','Soil Temperature Sensor',#596,'Measures the temperature of soil',$);
|
||||
#600=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Air_Wet_Bulb_Temperature_Sensor','Air Wet Bulb Temperature Sensor','Air Wet Bulb Temperature Sensor',#596,'',$);
|
||||
#601=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Outside_Air_Wet_Bulb_Temperature_Sensor','Outside Air Wet Bulb Temperature Sensor','Outside Air Wet Bulb Temperature Sensor',#600,'A sensor measuring the wet-bulb temperature of outside air',$);
|
||||
#602=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Radiant_Panel_Temperature_Sensor','Radiant Panel Temperature Sensor','Radiant Panel Temperature Sensor',#596,'Measures the temperature of the radiant panel of the radiant heating and cooling HVAC system.',$);
|
||||
#603=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Inside_Face_Surface_Temperature_Sensor','Inside Face Surface Temperature Sensor','Inside Face Surface Temperature Sensor',#602,'Measures the inside surface (relative to the space) of the radiant panel of the radiant heating and cooling HVAC system.',$);
|
||||
#604=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Outside_Face_Surface_Temperature_Sensor','Outside Face Surface Temperature Sensor','Outside Face Surface Temperature Sensor',#602,'Measures the outside surface (relative to the space) of the radiant panel of a radiant heating and cooling HVAC system.',$);
|
||||
#605=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Embedded_Temperature_Sensor','Embedded Temperature Sensor','Embedded Temperature Sensor',#602,'Measures the internal temperature of the radiant layer of the radiant heating and cooling HVAC system.',$);
|
||||
#606=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Core_Temperature_Sensor','Core Temperature Sensor','Core Temperature Sensor',#605,'Measures the internal temperature of the radiant layer at the heat source or sink level of the radiant heating and cooling HVAC system.',$);
|
||||
#607=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Air_Temperature_Sensor','Air Temperature Sensor','Air Temperature Sensor',#596,'Measures the temperature of air',$);
|
||||
#608=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Exhaust_Air_Temperature_Sensor','Exhaust Air Temperature Sensor','Exhaust Air Temperature Sensor',#607,'Measures the temperature of exhaust air',$);
|
||||
#609=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Mixed_Air_Temperature_Sensor','Mixed Air Temperature Sensor','Mixed Air Temperature Sensor',#607,'Measures the temperature of mixed air',$);
|
||||
#610=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Return_Air_Temperature_Sensor','Return Air Temperature Sensor','Return Air Temperature Sensor',#607,'Measures the temperature of return air',$);
|
||||
#611=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Underfloor_Air_Temperature_Sensor','Underfloor Air Temperature Sensor','Underfloor Air Temperature Sensor',#607,'Measures the temperature of underfloor air',$);
|
||||
#612=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Supply_Air_Temperature_Sensor','Supply Air Temperature Sensor','Supply Air Temperature Sensor',#607,'Measures the temperature of supply air',$);
|
||||
#613=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Preheat_Supply_Air_Temperature_Sensor','Preheat Supply Air Temperature Sensor','Preheat Supply Air Temperature Sensor',#612,'Measures the temperature of supply air before it is heated',$);
|
||||
#614=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Discharge_Air_Temperature_Sensor','Discharge Air Temperature Sensor','Discharge Air Temperature Sensor',#607,'Measures the temperature of discharge air',$);
|
||||
#615=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Preheat_Discharge_Air_Temperature_Sensor','Preheat Discharge Air Temperature Sensor','Preheat Discharge Air Temperature Sensor',#614,'Measures the temperature of discharge air before heating is applied',$);
|
||||
#616=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Outside_Air_Temperature_Sensor','Outside Air Temperature Sensor','Outside Air Temperature Sensor',#607,'Measures the temperature of outside air',$);
|
||||
#617=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Intake_Air_Temperature_Sensor','Intake Air Temperature Sensor','Intake Air Temperature Sensor',#616,'Measures air at the interface between the building and the outside',$);
|
||||
#618=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Outside_Air_Temperature_Enable_Differential_Sensor','Outside Air Temperature Enable Differential Sensor','Outside Air Temperature Enable Differential Sensor',#616,'',$);
|
||||
#619=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Low_Outside_Air_Temperature_Enable_Differential_Sensor','Low Outside Air Temperature Enable Differential Sensor','Low Outside Air Temperature Enable Differential Sensor',#618,'',$);
|
||||
#620=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Zone_Air_Temperature_Sensor','Zone Air Temperature Sensor','Zone Air Temperature Sensor',#607,'A physical or virtual sensor which represents the temperature of an HVAC Zone',$);
|
||||
#621=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Average_Zone_Air_Temperature_Sensor','Average Zone Air Temperature Sensor','Average Zone Air Temperature Sensor',#620,'The computed average temperature of air in a zone, over some period of time',$);
|
||||
#622=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Coldest_Zone_Air_Temperature_Sensor','Coldest Zone Air Temperature Sensor','Coldest Zone Air Temperature Sensor',#620,'The zone temperature that is coldest; drives the supply temperature of hot air. A computed value rather than a physical sensor. Also referred to as a ''Lowest Zone Air Temperature Sensor''',$);
|
||||
#623=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Warmest_Zone_Air_Temperature_Sensor','Warmest Zone Air Temperature Sensor','Warmest Zone Air Temperature Sensor',#620,'The zone temperature that is warmest; drives the supply temperature of cold air. A computed value rather than a physical sensor. Also referred to as a ''Highest Zone Air Temperature Sensor''',$);
|
||||
#624=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Water_Temperature_Sensor','Water Temperature Sensor','Water Temperature Sensor',#596,'Measures the temperature of water',$);
|
||||
#625=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Collection_Basin_Water_Temperature_Sensor','Collection Basin Water Temperature Sensor','Collection Basin Water Temperature Sensor',#624,'Measures the temperature of the water in the collection basin, e.g. within a Cooling_Tower',$);
|
||||
#626=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Entering_Water_Temperature_Sensor','Entering Water Temperature Sensor','Entering Water Temperature Sensor',#624,'Measures the temperature of entering water',$);
|
||||
#627=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Leaving_Water_Temperature_Sensor','Leaving Water Temperature Sensor','Leaving Water Temperature Sensor',#624,'Measures the temperature of water leaving a piece of equipment or system',$);
|
||||
#628=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Heat_Exchanger_Leaving_Water_Temperature_Sensor','Heat Exchanger Leaving Water Temperature Sensor','Heat Exchanger Leaving Water Temperature Sensor',#627,'',$);
|
||||
#629=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Ice_Tank_Leaving_Water_Temperature_Sensor','Ice Tank Leaving Water Temperature Sensor','Ice Tank Leaving Water Temperature Sensor',#627,'Measures the temperature of water leaving an ice tank',$);
|
||||
#630=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Domestic_Hot_Water_Temperature_Sensor','Domestic Hot Water Temperature Sensor','Domestic Hot Water Temperature Sensor',#624,'',$);
|
||||
#631=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Entering_Domestic_Hot_Water_Temperature_Sensor','Entering Domestic Hot Water Temperature Sensor','Entering Domestic Hot Water Temperature Sensor',#630,'',$);
|
||||
#632=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Leaving_Domestic_Hot_Water_Temperature_Sensor','Leaving Domestic Hot Water Temperature Sensor','Leaving Domestic Hot Water Temperature Sensor',#630,'Measures the temperature of domestic water supplied by a hot water system',$);
|
||||
#633=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Entering_Hot_Water_Temperature_Sensor','Entering Hot Water Temperature Sensor','Entering Hot Water Temperature Sensor',#624,'Measures the temperature of water enteringed to a hot water system',$);
|
||||
#634=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Entering_High_Temperature_Hot_Water_Temperature_Sensor','Entering High Temperature Hot Water Temperature Sensor','Entering High Temperature Hot Water Temperature Sensor',#633,'Measures the temperature of high-temperature hot water enteringed to a hot water system',$);
|
||||
#635=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Entering_Medium_Temperature_Hot_Water_Temperature_Sensor','Entering Medium Temperature Hot Water Temperature Sensor','Entering Medium Temperature Hot Water Temperature Sensor',#633,'Measures the temperature of medium-temperature hot water entering a hot water system',$);
|
||||
#636=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Hot_Water_Differential_Temperature_Sensor','Hot Water Differential Temperature Sensor','Hot Water Differential Temperature Sensor',#633,'Measures the difference in temperature between the entering water to the boiler or other water heating device and leaving water from the same boiler or other water heating device',$);
|
||||
#637=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Leaving_Hot_Water_Temperature_Sensor','Leaving Hot Water Temperature Sensor','Leaving Hot Water Temperature Sensor',#624,'Measures the temperature of water supplied by a hot water system',$);
|
||||
#638=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Leaving_High_Temperature_Hot_Water_Temperature_Sensor','Leaving High Temperature Hot Water Temperature Sensor','Leaving High Temperature Hot Water Temperature Sensor',#637,'Measures the temperature of high-temperature hot water supplied by a hot water system',$);
|
||||
#639=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Leaving_Medium_Temperature_Hot_Water_Temperature_Sensor','Leaving Medium Temperature Hot Water Temperature Sensor','Leaving Medium Temperature Hot Water Temperature Sensor',#637,'Measures the temperature of medium-temperature hot water supplied by a hot water system',$);
|
||||
#640=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Water_Differential_Temperature_Sensor','Water Differential Temperature Sensor','Water Differential Temperature Sensor',#624,'Measures the difference in water temperature between an upstream and downstream point in a pipe or conduit',$);
|
||||
#641=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Chilled_Water_Differential_Temperature_Sensor','Chilled Water Differential Temperature Sensor','Chilled Water Differential Temperature Sensor',#640,'Measures the difference in temperature between the entering water to the chiller or other water cooling device and leaving water from the same chiller or other water cooling device',$);
|
||||
#642=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Condenser_Water_Temperature_Sensor','Condenser Water Temperature Sensor','Condenser Water Temperature Sensor',#624,'Measures the temperature of condenser water',$);
|
||||
#643=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Entering_Condenser_Water_Temperature_Sensor','Entering Condenser Water Temperature Sensor','Entering Condenser Water Temperature Sensor',#642,'Measures the temperature of the entering condenser water',$);
|
||||
#644=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Leaving_Condenser_Water_Temperature_Sensor','Leaving Condenser Water Temperature Sensor','Leaving Condenser Water Temperature Sensor',#642,'Measures the temperature of the leaving condenser water',$);
|
||||
#645=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Chilled_Water_Temperature_Sensor','Chilled Water Temperature Sensor','Chilled Water Temperature Sensor',#624,'Measures the temperature of chilled water',$);
|
||||
#646=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Differential_Entering_Leaving_Water_Temperature_Sensor','Differential Entering Leaving Water Temperature Sensor','Differential Entering Leaving Water Temperature Sensor',#645,'Measures the difference in temperature between entering and leaving water of water a circuit',$);
|
||||
#647=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Entering_Chilled_Water_Temperature_Sensor','Entering Chilled Water Temperature Sensor','Entering Chilled Water Temperature Sensor',#645,'Measures the temperature of chilled water that is enteringed to a cooling tower',$);
|
||||
#648=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Leaving_Chilled_Water_Temperature_Sensor','Leaving Chilled Water Temperature Sensor','Leaving Chilled Water Temperature Sensor',#645,'Measures the temperature of chilled water that is supplied from a chiller',$);
|
||||
#649=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Air_Quality_Sensor','Air Quality Sensor','Air Quality Sensor',#437,'A sensor which provides a measure of air quality',$);
|
||||
#650=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Ammonia_Sensor','Ammonia Sensor','Ammonia Sensor',#649,'',$);
|
||||
#651=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Formaldehyde_Level_Sensor','Formaldehyde Level Sensor','Formaldehyde Level Sensor',#649,'Measures the concentration of formaldehyde in air',$);
|
||||
#652=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Methane_Level_Sensor','Methane Level Sensor','Methane Level Sensor',#649,'Measures the concentration of methane in air',$);
|
||||
#653=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#NO2_Level_Sensor','NO2 Level Sensor','NO2 Level Sensor',#649,'Measures the concentration of NO2 in air',$);
|
||||
#654=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Ozone_Level_Sensor','Ozone Level Sensor','Ozone Level Sensor',#649,'Measures the concentration of ozone in air',$);
|
||||
#655=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Radioactivity_Concentration_Sensor','Radioactivity Concentration Sensor','Radioactivity Concentration Sensor',#649,'Measures the concentration of radioactivity',$);
|
||||
#656=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Radon_Concentration_Sensor','Radon Concentration Sensor','Radon Concentration Sensor',#655,'Measures the concentration of radioactivity due to radon',$);
|
||||
#657=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#CO2_Sensor','CO2 Sensor','CO2 Sensor',#649,'Measures properties of CO2 in air',$);
|
||||
#658=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#CO2_Differential_Sensor','CO2 Differential Sensor','CO2 Differential Sensor',#657,'Measures the difference between CO2 levels of inside and outside air',$);
|
||||
#659=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#CO2_Level_Sensor','CO2 Level Sensor','CO2 Level Sensor',#657,'Measures the concentration of CO2 in air',$);
|
||||
#660=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Outside_Air_CO2_Sensor','Outside Air CO2 Sensor','Outside Air CO2 Sensor',#657,'Measures the concentration of CO2 in outside air',$);
|
||||
#661=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Return_Air_CO2_Sensor','Return Air CO2 Sensor','Return Air CO2 Sensor',#657,'Measures the concentration of CO2 in return air',$);
|
||||
#662=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#CO_Sensor','CO Sensor','CO Sensor',#649,'Measures properties of CO',$);
|
||||
#663=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#CO_Differential_Sensor','CO Differential Sensor','CO Differential Sensor',#662,'',$);
|
||||
#664=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#CO_Level_Sensor','CO Level Sensor','CO Level Sensor',#662,'Measures the concentration of CO',$);
|
||||
#665=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Outside_Air_CO_Sensor','Outside Air CO Sensor','Outside Air CO Sensor',#662,'Measures the concentration of CO in outside air',$);
|
||||
#666=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Return_Air_CO_Sensor','Return Air CO Sensor','Return Air CO Sensor',#662,'Measures the concentration of CO in return air',$);
|
||||
#667=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#Particulate_Matter_Sensor','Particulate Matter Sensor','Particulate Matter Sensor',#649,'Detects pollutants in the ambient air',$);
|
||||
#668=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#PM10_Sensor','PM10 Sensor','PM10 Sensor',#667,'Detects matter of size 10 microns',$);
|
||||
#669=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#PM10_Level_Sensor','PM10 Level Sensor','PM10 Level Sensor',#668,'Detects level of particulates of size 10 microns',$);
|
||||
#670=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#PM1_Sensor','PM1 Sensor','PM1 Sensor',#667,'Detects matter of size 1 micron',$);
|
||||
#671=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#PM1_Level_Sensor','PM1 Level Sensor','PM1 Level Sensor',#670,'Detects level of particulates of size 1 microns',$);
|
||||
#672=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#PM2.5_Sensor','PM2.5 Sensor','PM2.5 Sensor',#667,'Detects matter of size 2.5 microns',$);
|
||||
#673=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#PM2.5_Level_Sensor','PM2.5 Level Sensor','PM2.5 Level Sensor',#672,'Detects level of particulates of size 2.5 microns',$);
|
||||
#674=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#TVOC_Sensor','TVOC Sensor','TVOC Sensor',#667,'',$);
|
||||
#675=IFCCLASSIFICATIONREFERENCE('https://brickschema.org/schema/Brick#TVOC_Level_Sensor','TVOC Level Sensor','TVOC Level Sensor',#674,'A sensor measuring the level of all VOCs in air',$);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,76 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
|
||||
FILE_NAME('','2020-04-23T18:09:28',(),(),'IfcOpenShell 0.6.0b0','IfcOpenShell 0.6.0b0','');
|
||||
FILE_SCHEMA(('IFC4'));
|
||||
ENDSEC;
|
||||
DATA;
|
||||
#1=IFCPROJECTLIBRARY($,$,'CBI Classification - Level 2',$,$,$,$,$,$);
|
||||
#2=IFCCLASSIFICATION('Masterspec','2019','2019-08-23','CBI Classification - Level 2','CBI (Co-ordinated Building Information) is a classification system designed by and for members of the construction industry, to co-ordinate the five main information sources: drawings; specifications; quantities; technical and research information; trade information and publications.','https://masterspec.co.nz',$);
|
||||
#3=IFCRELASSOCIATESCLASSIFICATION('2v50VmRmf4EAM0pQ5vIPQA',$,$,$,(#1),#2);
|
||||
#4=IFCCLASSIFICATIONREFERENCE($,'1','General',#2,$,$);
|
||||
#5=IFCCLASSIFICATIONREFERENCE($,'11','Contract conditions',#4,$,$);
|
||||
#6=IFCCLASSIFICATIONREFERENCE($,'12','General requirements',#4,$,$);
|
||||
#7=IFCCLASSIFICATIONREFERENCE($,'2','Site',#2,$,$);
|
||||
#8=IFCCLASSIFICATIONREFERENCE($,'21','Demolition',#7,$,$);
|
||||
#9=IFCCLASSIFICATIONREFERENCE($,'22','Preparation and groundwork',#7,$,$);
|
||||
#10=IFCCLASSIFICATIONREFERENCE($,'23','Foundations',#7,$,$);
|
||||
#11=IFCCLASSIFICATIONREFERENCE($,'24','Minor demolition and alterations',#7,$,$);
|
||||
#12=IFCCLASSIFICATIONREFERENCE($,'3','Structure',#2,$,$);
|
||||
#13=IFCCLASSIFICATIONREFERENCE($,'31','Concrete',#12,$,$);
|
||||
#14=IFCCLASSIFICATIONREFERENCE($,'32','Earth',#12,$,$);
|
||||
#15=IFCCLASSIFICATIONREFERENCE($,'33','Masonry',#12,$,$);
|
||||
#16=IFCCLASSIFICATIONREFERENCE($,'34','Steel',#12,$,$);
|
||||
#17=IFCCLASSIFICATIONREFERENCE($,'35','Stainless steel',#12,$,$);
|
||||
#18=IFCCLASSIFICATIONREFERENCE($,'36','Aluminium',#12,$,$);
|
||||
#19=IFCCLASSIFICATIONREFERENCE($,'37','Other metals',#12,$,$);
|
||||
#20=IFCCLASSIFICATIONREFERENCE($,'38','Timber',#12,$,$);
|
||||
#21=IFCCLASSIFICATIONREFERENCE($,'39','Plastics',#12,$,$);
|
||||
#22=IFCCLASSIFICATIONREFERENCE($,'4','Enclosure',#2,$,$);
|
||||
#23=IFCCLASSIFICATIONREFERENCE($,'41','Tanking and pre-cladding',#22,$,$);
|
||||
#24=IFCCLASSIFICATIONREFERENCE($,'42','Wall cladding',#22,$,$);
|
||||
#25=IFCCLASSIFICATIONREFERENCE($,'43','Roofing and decking',#22,$,$);
|
||||
#26=IFCCLASSIFICATIONREFERENCE($,'44','Membrane roofing',#22,$,$);
|
||||
#27=IFCCLASSIFICATIONREFERENCE($,'45','Windows and doors',#22,$,$);
|
||||
#28=IFCCLASSIFICATIONREFERENCE($,'46','Glazing',#22,$,$);
|
||||
#29=IFCCLASSIFICATIONREFERENCE($,'47','Insulation',#22,$,$);
|
||||
#30=IFCCLASSIFICATIONREFERENCE($,'48','Enclosure sundries',#22,$,$);
|
||||
#31=IFCCLASSIFICATIONREFERENCE($,'49','Metalwork',#22,$,$);
|
||||
#32=IFCCLASSIFICATIONREFERENCE($,'5','Interior',#2,$,$);
|
||||
#33=IFCCLASSIFICATIONREFERENCE($,'51','Wall and ceiling linings',#32,$,$);
|
||||
#34=IFCCLASSIFICATIONREFERENCE($,'52','Partitions and doors',#32,$,$);
|
||||
#35=IFCCLASSIFICATIONREFERENCE($,'53','Ceiling systems',#32,$,$);
|
||||
#36=IFCCLASSIFICATIONREFERENCE($,'54','Floors',#32,$,$);
|
||||
#37=IFCCLASSIFICATIONREFERENCE($,'55','Joinery fixtures and hardware',#32,$,$);
|
||||
#38=IFCCLASSIFICATIONREFERENCE($,'56','Specialist equipment and assemblies',#32,$,$);
|
||||
#39=IFCCLASSIFICATIONREFERENCE($,'57','Furniture and appliances',#32,$,$);
|
||||
#40=IFCCLASSIFICATIONREFERENCE($,'58','Signs and features',#32,$,$);
|
||||
#41=IFCCLASSIFICATIONREFERENCE($,'6','Finish',#2,$,$);
|
||||
#42=IFCCLASSIFICATIONREFERENCE($,'61','Applied coatings',#41,$,$);
|
||||
#43=IFCCLASSIFICATIONREFERENCE($,'62','Tiling',#41,$,$);
|
||||
#44=IFCCLASSIFICATIONREFERENCE($,'63','Overlay flooring and wall panelling',#41,$,$);
|
||||
#45=IFCCLASSIFICATIONREFERENCE($,'64','Resilient surfacing',#41,$,$);
|
||||
#46=IFCCLASSIFICATIONREFERENCE($,'65','Carpeting',#41,$,$);
|
||||
#47=IFCCLASSIFICATIONREFERENCE($,'66','Flooring ancillaries',#41,$,$);
|
||||
#48=IFCCLASSIFICATIONREFERENCE($,'67','Painting, decoration and coating',#41,$,$);
|
||||
#49=IFCCLASSIFICATIONREFERENCE($,'68','Finishes sundries',#41,$,$);
|
||||
#50=IFCCLASSIFICATIONREFERENCE($,'7','Services',#2,$,$);
|
||||
#51=IFCCLASSIFICATIONREFERENCE($,'71','Liquid supply',#50,$,$);
|
||||
#52=IFCCLASSIFICATIONREFERENCE($,'72','Gas',#50,$,$);
|
||||
#53=IFCCLASSIFICATIONREFERENCE($,'73','Fire',#50,$,$);
|
||||
#54=IFCCLASSIFICATIONREFERENCE($,'74','Liquid disposal',#50,$,$);
|
||||
#55=IFCCLASSIFICATIONREFERENCE($,'75','Heating and cooling',#50,$,$);
|
||||
#56=IFCCLASSIFICATIONREFERENCE($,'76','Ventilation and air-conditioning',#50,$,$);
|
||||
#57=IFCCLASSIFICATIONREFERENCE($,'77','Electrical',#50,$,$);
|
||||
#58=IFCCLASSIFICATIONREFERENCE($,'78','Communications and controls',#50,$,$);
|
||||
#59=IFCCLASSIFICATIONREFERENCE($,'79','Transport',#50,$,$);
|
||||
#60=IFCCLASSIFICATIONREFERENCE($,'8','External',#2,$,$);
|
||||
#61=IFCCLASSIFICATIONREFERENCE($,'81','Retaining walls',#60,$,$);
|
||||
#62=IFCCLASSIFICATIONREFERENCE($,'82','Pavements',#60,$,$);
|
||||
#63=IFCCLASSIFICATIONREFERENCE($,'83','Landscape cultivation',#60,$,$);
|
||||
#64=IFCCLASSIFICATIONREFERENCE($,'84','Landscape structures',#60,$,$);
|
||||
#65=IFCCLASSIFICATIONREFERENCE($,'85','Landscape services',#60,$,$);
|
||||
#66=IFCCLASSIFICATIONREFERENCE($,'86','Civil engineering infrastructure',#60,$,$);
|
||||
#67=IFCCLASSIFICATIONREFERENCE($,'88','Specialist structures',#60,$,$);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,120 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
|
||||
FILE_NAME('','2020-04-23T18:09:29',(),(),'IfcOpenShell 0.6.0b0','IfcOpenShell 0.6.0b0','');
|
||||
FILE_SCHEMA(('IFC4'));
|
||||
ENDSEC;
|
||||
DATA;
|
||||
#1=IFCPROJECTLIBRARY($,$,'Rumsfunktionskoder CC001 - 001',$,$,$,$,$,$);
|
||||
#2=IFCCLASSIFICATION('BIMAlliance','001','2014-08-25','Rumsfunktionskoder CC001 - 001','Klasslista rumsfunktionskoder Malm\X2\00F6\X0\ Stadsfastigheter','ttp://tools.bimalliance.se/fi2listor/Klasslistor.aspx',('-'));
|
||||
#3=IFCRELASSOCIATESCLASSIFICATION('1P_4sDwnf8gxT5Xzy60GRt',$,$,$,(#1),#2);
|
||||
#4=IFCCLASSIFICATIONREFERENCE($,'20','Arbetslokaler',#2,$,$);
|
||||
#5=IFCCLASSIFICATIONREFERENCE($,'20-01','Kontor',#4,'arbetsrum, kurator',$);
|
||||
#6=IFCCLASSIFICATIONREFERENCE($,'20-02','Kontorslandskap',#4,$,$);
|
||||
#7=IFCCLASSIFICATIONREFERENCE($,'20-03','Konferensrum',#4,'Sammantr\X2\00E4\X0\desrum',$);
|
||||
#8=IFCCLASSIFICATIONREFERENCE($,'20-04','Grupprum',#4,'samtal, klubbrum',$);
|
||||
#9=IFCCLASSIFICATIONREFERENCE($,'20-05','Expedition',#4,'reception, expedition, mottagning',$);
|
||||
#10=IFCCLASSIFICATIONREFERENCE($,'20-06','Kopiering',#4,'skrivare',$);
|
||||
#11=IFCCLASSIFICATIONREFERENCE($,'20-07','Pausrum',#4,'paus, personal, l\X2\00E4\X0\rarrum',$);
|
||||
#12=IFCCLASSIFICATIONREFERENCE($,'20-08','Matrum',#4,'matsal',$);
|
||||
#13=IFCCLASSIFICATIONREFERENCE($,'20-09','Vilrum',#4,$,$);
|
||||
#14=IFCCLASSIFICATIONREFERENCE($,'20-10','Atelj\X2\00E9\X0\',#4,$,$);
|
||||
#15=IFCCLASSIFICATIONREFERENCE($,'20-11','Bibliotek',#4,$,$);
|
||||
#16=IFCCLASSIFICATIONREFERENCE($,'20-12','Samlingsrum',#4,'dagrum, gillestuga, studierum, lekrum,',$);
|
||||
#17=IFCCLASSIFICATIONREFERENCE($,'20-13','Utbildningssal',#4,'Basrum, Lektionssal, Bild, data, musik, hemkunskap, klassrumsl\X2\00F6\X0\jd, textilsl\X2\00F6\X0\jd,Ytbehandling, NO, tr\X2\00E4\X0\sl\X2\00F6\X0\jd, metallsl\X2\00F6\X0\jd',$);
|
||||
#18=IFCCLASSIFICATIONREFERENCE($,'20-14','Behandling',#4,'l\X2\00E4\X0\karmottagning, aktivitetsrum, sjukgymnast, sk\X2\00F6\X0\teskemottagning, tandl\X2\00E4\X0\karmottagning, motionsrum',$);
|
||||
#19=IFCCLASSIFICATIONREFERENCE($,'20-15','Aktivitetsrum',#4,'inom social resursf\X2\00F6\X0\rvaltning.',$);
|
||||
#20=IFCCLASSIFICATIONREFERENCE($,'20-16','Laboratorie',#4,'laboratorierum',$);
|
||||
#21=IFCCLASSIFICATIONREFERENCE($,'21','Utrymmen f\X2\00F6\X0\r boende',#2,$,$);
|
||||
#22=IFCCLASSIFICATIONREFERENCE($,'21-01','Sovrum',#21,$,$);
|
||||
#23=IFCCLASSIFICATIONREFERENCE($,'21-02','Vardagsrum',#21,$,$);
|
||||
#24=IFCCLASSIFICATIONREFERENCE($,'21-03','Allrum',#21,'studentrum, \X2\00E4\X0\ldreboende; vardagsrum m. sovalkov.',$);
|
||||
#25=IFCCLASSIFICATIONREFERENCE($,'22','Publika Utrymmen',#2,$,$);
|
||||
#26=IFCCLASSIFICATIONREFERENCE($,'22-01','Foaj\X2\00E9\X0\',#25,$,$);
|
||||
#27=IFCCLASSIFICATIONREFERENCE($,'22-02','Salong',#25,$,$);
|
||||
#28=IFCCLASSIFICATIONREFERENCE($,'22-03','Utst\X2\00E4\X0\llning',#25,'galleri, utst\X2\00E4\X0\llninglokal',$);
|
||||
#29=IFCCLASSIFICATIONREFERENCE($,'22-04','Aula/skrivsal',#25,$,$);
|
||||
#30=IFCCLASSIFICATIONREFERENCE($,'22-05','Torg',#25,'elevrum, fritidslokal, uppeh\X2\00E5\X0\llsrum, ',$);
|
||||
#31=IFCCLASSIFICATIONREFERENCE($,'22-06','Butik',#25,'biljettf\X2\00F6\X0\rs\X2\00E4\X0\ljning',$);
|
||||
#32=IFCCLASSIFICATIONREFERENCE($,'22-07','Restaurang',#25,$,$);
|
||||
#33=IFCCLASSIFICATIONREFERENCE($,'22-08','Caf\X2\00E9\X0\',#25,$,$);
|
||||
#34=IFCCLASSIFICATIONREFERENCE($,'22-09','Idrottshall',#25,'spelplan, gymnastiksal',$);
|
||||
#35=IFCCLASSIFICATIONREFERENCE($,'22-10','L\X2\00E4\X0\ktare',#25,$,$);
|
||||
#36=IFCCLASSIFICATIONREFERENCE($,'22-11','V\X2\00E4\X0\ntrum',#25,$,$);
|
||||
#37=IFCCLASSIFICATIONREFERENCE($,'23','Kommunikations-utrymmen',#2,$,$);
|
||||
#38=IFCCLASSIFICATIONREFERENCE($,'23-01','Entr\X2\00E9\X0\',#37,'groventr\X2\00E9\X0\, huvudentr\X2\00E9\X0\',$);
|
||||
#39=IFCCLASSIFICATIONREFERENCE($,'23-02','Vindf\X2\00E5\X0\ng',#37,$,$);
|
||||
#40=IFCCLASSIFICATIONREFERENCE($,'23-03','Korridor',#37,'hall, passage',$);
|
||||
#41=IFCCLASSIFICATIONREFERENCE($,'23-04','Trappa',#37,'trapphus, trapphall',$);
|
||||
#42=IFCCLASSIFICATIONREFERENCE($,'23-05','Hiss',#37,$,$);
|
||||
#43=IFCCLASSIFICATIONREFERENCE($,'23-06','Hisshall',#37,$,$);
|
||||
#44=IFCCLASSIFICATIONREFERENCE($,'23-07','Entresoleplan',#37,'balkong',$);
|
||||
#45=IFCCLASSIFICATIONREFERENCE($,'23-08','Kapprum',#37,$,$);
|
||||
#46=IFCCLASSIFICATIONREFERENCE($,'23-09','Veranda',#37,$,$);
|
||||
#47=IFCCLASSIFICATIONREFERENCE($,'23-10','Balkong',#37,$,$);
|
||||
#48=IFCCLASSIFICATIONREFERENCE($,'23-11','Kulvert',#37,$,$);
|
||||
#49=IFCCLASSIFICATIONREFERENCE($,'24','Utrymmen f\X2\00F6\X0\r skydd och f\X2\00F6\X0\rsvar',#2,$,$);
|
||||
#50=IFCCLASSIFICATIONREFERENCE($,'24-01','Skyddsrum',#49,$,$);
|
||||
#51=IFCCLASSIFICATIONREFERENCE($,'24-02','Skyddsrumsf\X2\00F6\X0\rr\X2\00E5\X0\d',#49,$,$);
|
||||
#52=IFCCLASSIFICATIONREFERENCE($,'25','Hygienutrymmen',#2,$,$);
|
||||
#53=IFCCLASSIFICATIONREFERENCE($,'25-01','WC',#52,$,$);
|
||||
#54=IFCCLASSIFICATIONREFERENCE($,'25-02','RWC',#52,$,$);
|
||||
#55=IFCCLASSIFICATIONREFERENCE($,'25-03','WC/Dusch',#52,$,$);
|
||||
#56=IFCCLASSIFICATIONREFERENCE($,'25-04','Dusch',#52,$,$);
|
||||
#57=IFCCLASSIFICATIONREFERENCE($,'25-05','WC/Bad',#52,$,$);
|
||||
#58=IFCCLASSIFICATIONREFERENCE($,'25-06','Bastu',#52,$,$);
|
||||
#59=IFCCLASSIFICATIONREFERENCE($,'25-07','F\X2\00F6\X0\rrum',#52,$,$);
|
||||
#60=IFCCLASSIFICATIONREFERENCE($,'25-08','Sk\X2\00F6\X0\trum',#52,$,$);
|
||||
#61=IFCCLASSIFICATIONREFERENCE($,'25-09','K\X2\00F6\X0\k',#52,'mottagning, tillagningsk\X2\00F6\X0\k, bostadsk\X2\00F6\X0\k',$);
|
||||
#62=IFCCLASSIFICATIONREFERENCE($,'25-10','Diskrum',#52,$,$);
|
||||
#63=IFCCLASSIFICATIONREFERENCE($,'25-11','Pentry',#52,$,$);
|
||||
#64=IFCCLASSIFICATIONREFERENCE($,'25-12','Renseri',#52,$,$);
|
||||
#65=IFCCLASSIFICATIONREFERENCE($,'25-13','Frys-/kylrum',#52,'kylrum, frysrum',$);
|
||||
#66=IFCCLASSIFICATIONREFERENCE($,'25-14','Sk\X2\00F6\X0\ljrum',#52,$,$);
|
||||
#67=IFCCLASSIFICATIONREFERENCE($,'25-15','Tv\X2\00E4\X0\tt',#52,$,$);
|
||||
#68=IFCCLASSIFICATIONREFERENCE($,'26','Driftutrymmen',#2,$,$);
|
||||
#69=IFCCLASSIFICATIONREFERENCE($,'26-01','Schakt',#68,$,$);
|
||||
#70=IFCCLASSIFICATIONREFERENCE($,'26-02','Undercentral',#68,$,$);
|
||||
#71=IFCCLASSIFICATIONREFERENCE($,'26-03','Pannrum',#68,$,$);
|
||||
#72=IFCCLASSIFICATIONREFERENCE($,'26-04','Fl\X2\00E4\X0\ktrum',#68,$,$);
|
||||
#73=IFCCLASSIFICATIONREFERENCE($,'26-05','Elcenttral',#68,$,$);
|
||||
#74=IFCCLASSIFICATIONREFERENCE($,'26-06','El/telenisch',#68,'telerum',$);
|
||||
#75=IFCCLASSIFICATIONREFERENCE($,'26-07','Datanisch',#68,$,$);
|
||||
#76=IFCCLASSIFICATIONREFERENCE($,'26-08','Serverrum',#68,$,$);
|
||||
#77=IFCCLASSIFICATIONREFERENCE($,'26-09','Hissmaskinrum',#68,$,$);
|
||||
#78=IFCCLASSIFICATIONREFERENCE($,'26-10','Teknisk kulvert',#68,$,$);
|
||||
#79=IFCCLASSIFICATIONREFERENCE($,'26-11','Reningsanl\X2\00E4\X0\ggning',#68,$,$);
|
||||
#80=IFCCLASSIFICATIONREFERENCE($,'26-12','Kylmaskinrum',#68,$,$);
|
||||
#81=IFCCLASSIFICATIONREFERENCE($,'26-13','Gasf\X2\00E5\X0\ng',#68,$,$);
|
||||
#82=IFCCLASSIFICATIONREFERENCE($,'26-14','Sp\X2\00E5\X0\nsug',#68,$,$);
|
||||
#83=IFCCLASSIFICATIONREFERENCE($,'27','Specialutrymmen',#2,$,$);
|
||||
#84=IFCCLASSIFICATIONREFERENCE($,'27-01','Orkesterdike',#83,$,$);
|
||||
#85=IFCCLASSIFICATIONREFERENCE($,'27-02','Repetitionslokal',#83,'\X2\00F6\X0\vning',$);
|
||||
#86=IFCCLASSIFICATIONREFERENCE($,'27-03','Scen',#83,$,$);
|
||||
#87=IFCCLASSIFICATIONREFERENCE($,'27-04','Inspelningstudio',#83,'studio, mediatek',$);
|
||||
#88=IFCCLASSIFICATIONREFERENCE($,'27-05','Loge',#83,$,$);
|
||||
#89=IFCCLASSIFICATIONREFERENCE($,'27-06','Akvarie',#83,$,$);
|
||||
#90=IFCCLASSIFICATIONREFERENCE($,'27-07','Bass\X2\00E4\X0\ng',#83,$,$);
|
||||
#91=IFCCLASSIFICATIONREFERENCE($,'27-08','Terrarie',#83,$,$);
|
||||
#92=IFCCLASSIFICATIONREFERENCE($,'27-09','Djurlokal',#83,'stall',$);
|
||||
#93=IFCCLASSIFICATIONREFERENCE($,'27-10','Ishall',#83,$,$);
|
||||
#94=IFCCLASSIFICATIONREFERENCE($,'27-11','Verkstad',#83,'smedja',$);
|
||||
#95=IFCCLASSIFICATIONREFERENCE($,'27-12','V\X2\00E4\X0\xthus',#83,$,$);
|
||||
#96=IFCCLASSIFICATIONREFERENCE($,'28','St\X2\00F6\X0\dfunktioner',#2,$,$);
|
||||
#97=IFCCLASSIFICATIONREFERENCE($,'28-01','Apparatrum',#96,'Apparatrum, sterilrum, teknikrum, preparation',$);
|
||||
#98=IFCCLASSIFICATIONREFERENCE($,'28-02','Arkiv',#96,$,$);
|
||||
#99=IFCCLASSIFICATIONREFERENCE($,'28-03','F\X2\00F6\X0\rr\X2\00E5\X0\d',#96,'Barnvagn, redskap, garderob, vagnhall, materialrum, klk',$);
|
||||
#100=IFCCLASSIFICATIONREFERENCE($,'28-04','M\X2\00F6\X0\rkrum',#96,$,$);
|
||||
#101=IFCCLASSIFICATIONREFERENCE($,'28-05','Nodrum',#96,$,$);
|
||||
#102=IFCCLASSIFICATIONREFERENCE($,'28-06','Omkl\X2\00E4\X0\dning',#96,$,$);
|
||||
#103=IFCCLASSIFICATIONREFERENCE($,'28-07','Sortering',#96,'post, uppackning, vaktm\X2\00E4\X0\steri, varuintag',$);
|
||||
#104=IFCCLASSIFICATIONREFERENCE($,'28-08','Lager',#96,$,$);
|
||||
#105=IFCCLASSIFICATIONREFERENCE($,'28-09','Garage',#96,$,$);
|
||||
#106=IFCCLASSIFICATIONREFERENCE($,'28-10','Soprum',#96,$,$);
|
||||
#107=IFCCLASSIFICATIONREFERENCE($,'28-11','Milj\X2\00F6\X0\rum',#96,$,$);
|
||||
#108=IFCCLASSIFICATIONREFERENCE($,'28-12','Torkrum',#96,'t\X2\00E5\X0\gvind',$);
|
||||
#109=IFCCLASSIFICATIONREFERENCE($,'28-13','Vind',#96,$,$);
|
||||
#110=IFCCLASSIFICATIONREFERENCE($,'28-14','Disponibelt',#96,'Ospecificerat',$);
|
||||
#111=IFCCLASSIFICATIONREFERENCE($,'28-15','St\X2\00E4\X0\drum',#96,$,$);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -0,0 +1,924 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
|
||||
FILE_NAME('','2020-04-23T18:09:29',(),(),'IfcOpenShell 0.6.0b0','IfcOpenShell 0.6.0b0','');
|
||||
FILE_SCHEMA(('IFC4'));
|
||||
ENDSEC;
|
||||
DATA;
|
||||
#1=IFCPROJECTLIBRARY($,$,'CCS',$,$,$,$,$,$);
|
||||
#2=IFCCLASSIFICATION('Molio','R1 (Dansk udgave)','2017-06-21','CCS',$,'http://ccs.bips.dk/News/CCS_Vaerktoejer',$);
|
||||
#3=IFCRELASSOCIATESCLASSIFICATION('16Vg7v96zBfeP3BuNvWizJ',$,$,$,(#1),#2);
|
||||
#4=IFCCLASSIFICATIONREFERENCE($,'Bygv\X2\00E6\X0\rksanvendelse',$,#2,'Tildeler klassifikation af funktion til IFC Building og IFC Site baseret p\X2\00E5\X0\ CCS (R0) specifikationen.',$);
|
||||
#5=IFCCLASSIFICATIONREFERENCE($,'[E]A??','Bygning til menneskeligt behov og virke',#4,$,$);
|
||||
#6=IFCCLASSIFICATIONREFERENCE($,'[E]AA?','Beboelsesbygning',#5,$,$);
|
||||
#7=IFCCLASSIFICATIONREFERENCE($,'[E]AAA','Enfamilieshus',#6,$,$);
|
||||
#8=IFCCLASSIFICATIONREFERENCE($,'[E]AAB','Flerfamilieshus',#6,$,$);
|
||||
#9=IFCCLASSIFICATIONREFERENCE($,'[E]AAC','Boligkompleks',#6,$,$);
|
||||
#10=IFCCLASSIFICATIONREFERENCE($,'[E]AB?','Hotel- og restaurationsbygning',#5,$,$);
|
||||
#11=IFCCLASSIFICATIONREFERENCE($,'[E]ABA','Hotelbygning',#10,$,$);
|
||||
#12=IFCCLASSIFICATIONREFERENCE($,'[E]ABB','Vandrehjemsbygning',#10,$,$);
|
||||
#13=IFCCLASSIFICATIONREFERENCE($,'[E]ABC','Restaurantbygning',#10,$,$);
|
||||
#14=IFCCLASSIFICATIONREFERENCE($,'[E]AC?','Hygiejnebygning',#5,$,$);
|
||||
#15=IFCCLASSIFICATIONREFERENCE($,'[E]ACA','Toiletbygning',#14,$,$);
|
||||
#16=IFCCLASSIFICATIONREFERENCE($,'[E]ACB','Badebygning',#14,$,$);
|
||||
#17=IFCCLASSIFICATIONREFERENCE($,'[E]ACC','Saunabygning',#14,$,$);
|
||||
#18=IFCCLASSIFICATIONREFERENCE($,'[E]ACD','Omkl\X2\00E6\X0\dningsbygning',#14,$,$);
|
||||
#19=IFCCLASSIFICATIONREFERENCE($,'[E]AD?','Isolationsbygning',#5,$,$);
|
||||
#20=IFCCLASSIFICATIONREFERENCE($,'[E]ADA','Beskyttelsesbygning',#19,$,$);
|
||||
#21=IFCCLASSIFICATIONREFERENCE($,'[E]ADB','F\X2\00E6\X0\ngselsbygning',#19,$,$);
|
||||
#22=IFCCLASSIFICATIONREFERENCE($,'[E]AE?','Administrationsbygning',#5,$,$);
|
||||
#23=IFCCLASSIFICATIONREFERENCE($,'[E]AEA','Kontorbygning',#22,$,$);
|
||||
#24=IFCCLASSIFICATIONREFERENCE($,'[E]AEB','Servicebygning',#22,$,$);
|
||||
#25=IFCCLASSIFICATIONREFERENCE($,'[E]AEC','Beredskabsbygning',#22,$,$);
|
||||
#26=IFCCLASSIFICATIONREFERENCE($,'[E]AF?','Produktionsbygning',#5,$,$);
|
||||
#27=IFCCLASSIFICATIONREFERENCE($,'[E]AFA','Fabrikationsbygning',#26,$,$);
|
||||
#28=IFCCLASSIFICATIONREFERENCE($,'[E]AFB','V\X2\00E6\X0\rkstedsbygning',#26,$,$);
|
||||
#29=IFCCLASSIFICATIONREFERENCE($,'[E]AG?','Handelsbygning',#5,$,$);
|
||||
#30=IFCCLASSIFICATIONREFERENCE($,'[E]AGA','Butiksbygning',#29,$,$);
|
||||
#31=IFCCLASSIFICATIONREFERENCE($,'[E]AGB','Butikscenter',#29,$,$);
|
||||
#32=IFCCLASSIFICATIONREFERENCE($,'[E]AGC','Galleri',#29,$,$);
|
||||
#33=IFCCLASSIFICATIONREFERENCE($,'[E]AGD','Messehal',#29,$,$);
|
||||
#34=IFCCLASSIFICATIONREFERENCE($,'[E]AH?','Undervisningsbygning',#5,$,$);
|
||||
#35=IFCCLASSIFICATIONREFERENCE($,'[E]AHA','Skolebygning',#34,$,$);
|
||||
#36=IFCCLASSIFICATIONREFERENCE($,'[E]AHB','Universitetsbygning',#34,$,$);
|
||||
#37=IFCCLASSIFICATIONREFERENCE($,'[E]AHC','Kursuscenterbygning',#34,$,$);
|
||||
#38=IFCCLASSIFICATIONREFERENCE($,'[E]AJ?','Omsorgsbygning',#5,$,$);
|
||||
#39=IFCCLASSIFICATIONREFERENCE($,'[E]AJA','B\X2\00F8\X0\rneinstitutionsbygning',#38,$,$);
|
||||
#40=IFCCLASSIFICATIONREFERENCE($,'[E]AJB','Hospitalsbygning',#38,$,$);
|
||||
#41=IFCCLASSIFICATIONREFERENCE($,'[E]AJC','Plejehjemsbygning',#38,$,$);
|
||||
#42=IFCCLASSIFICATIONREFERENCE($,'[E]AK?','Fritidsbygning',#5,$,$);
|
||||
#43=IFCCLASSIFICATIONREFERENCE($,'[E]AKA','Sommerhus',#42,$,$);
|
||||
#44=IFCCLASSIFICATIONREFERENCE($,'[E]AKB','Kolonihavehus',#42,$,$);
|
||||
#45=IFCCLASSIFICATIONREFERENCE($,'[E]AKC','Lysthus',#42,$,$);
|
||||
#46=IFCCLASSIFICATIONREFERENCE($,'[E]AKD','Udestue',#42,$,$);
|
||||
#47=IFCCLASSIFICATIONREFERENCE($,'[E]AL?','Sportsbygning',#5,$,$);
|
||||
#48=IFCCLASSIFICATIONREFERENCE($,'[E]ALA','Sportshal',#47,$,$);
|
||||
#49=IFCCLASSIFICATIONREFERENCE($,'[E]ALB','Tilskuertribune',#47,$,$);
|
||||
#50=IFCCLASSIFICATIONREFERENCE($,'[E]ALC','Sv\X2\00F8\X0\mmehal',#47,$,$);
|
||||
#51=IFCCLASSIFICATIONREFERENCE($,'[E]ALD','Ridehus',#47,$,$);
|
||||
#52=IFCCLASSIFICATIONREFERENCE($,'[E]ALE','Udspringst\X2\00E5\X0\rn',#47,$,$);
|
||||
#53=IFCCLASSIFICATIONREFERENCE($,'[E]ALF','Bowlinghal',#47,$,$);
|
||||
#54=IFCCLASSIFICATIONREFERENCE($,'[E]AM?','Kulturbygning',#5,$,$);
|
||||
#55=IFCCLASSIFICATIONREFERENCE($,'[E]AMA','Teaterbygning',#54,$,$);
|
||||
#56=IFCCLASSIFICATIONREFERENCE($,'[E]AMB','Koncertbygning',#54,$,$);
|
||||
#57=IFCCLASSIFICATIONREFERENCE($,'[E]AMC','Udstillingsbygning',#54,$,$);
|
||||
#58=IFCCLASSIFICATIONREFERENCE($,'[E]AMD','Planetarium',#54,$,$);
|
||||
#59=IFCCLASSIFICATIONREFERENCE($,'[E]AME','Biografbygning',#54,$,$);
|
||||
#60=IFCCLASSIFICATIONREFERENCE($,'[E]AMF','Biblioteksbygning',#54,$,$);
|
||||
#61=IFCCLASSIFICATIONREFERENCE($,'[E]AMG','Multihus',#54,$,$);
|
||||
#62=IFCCLASSIFICATIONREFERENCE($,'[E]AN?','Forsamlingsbygning',#5,$,$);
|
||||
#63=IFCCLASSIFICATIONREFERENCE($,'[E]ANA','Beboerhus',#62,$,$);
|
||||
#64=IFCCLASSIFICATIONREFERENCE($,'[E]ANB','Medborgerhus',#62,$,$);
|
||||
#65=IFCCLASSIFICATIONREFERENCE($,'[E]ANC','Klubhus',#62,$,$);
|
||||
#66=IFCCLASSIFICATIONREFERENCE($,'[E]AND','Religionsbygning',#62,$,$);
|
||||
#67=IFCCLASSIFICATIONREFERENCE($,'[E]AP?','Opbevaringsbygning',#5,$,$);
|
||||
#68=IFCCLASSIFICATIONREFERENCE($,'[E]APA','Materialebygning',#67,$,$);
|
||||
#69=IFCCLASSIFICATIONREFERENCE($,'[E]APB','Materielbygning',#67,$,$);
|
||||
#70=IFCCLASSIFICATIONREFERENCE($,'[E]APC','Dyrebygning',#67,$,$);
|
||||
#71=IFCCLASSIFICATIONREFERENCE($,'[E]APD','Plantebygning',#67,$,$);
|
||||
#72=IFCCLASSIFICATIONREFERENCE($,'[E]APE','Morsbygning',#67,$,$);
|
||||
#73=IFCCLASSIFICATIONREFERENCE($,'[E]AQ?','Fordelingsbygning',#5,$,$);
|
||||
#74=IFCCLASSIFICATIONREFERENCE($,'[E]AQA','Gangbygning',#73,$,$);
|
||||
#75=IFCCLASSIFICATIONREFERENCE($,'[E]AQB','Trappet\X2\00E5\X0\rn',#73,$,$);
|
||||
#76=IFCCLASSIFICATIONREFERENCE($,'[E]AQC','Elevatorbygning',#73,$,$);
|
||||
#77=IFCCLASSIFICATIONREFERENCE($,'[E]AQD','Portbygning',#73,$,$);
|
||||
#78=IFCCLASSIFICATIONREFERENCE($,'[E]B??','Teknikanl\X2\00E6\X0\g',#4,$,$);
|
||||
#79=IFCCLASSIFICATIONREFERENCE($,'[E]BA?','Produktionsanl\X2\00E6\X0\g',#78,$,$);
|
||||
#80=IFCCLASSIFICATIONREFERENCE($,'[E]BAA','Kraftvarmev\X2\00E6\X0\rk',#79,$,$);
|
||||
#81=IFCCLASSIFICATIONREFERENCE($,'[E]BAB','Vandv\X2\00E6\X0\rk',#79,$,$);
|
||||
#82=IFCCLASSIFICATIONREFERENCE($,'[E]BAC','R\X2\00E5\X0\stofanl\X2\00E6\X0\g',#79,$,$);
|
||||
#83=IFCCLASSIFICATIONREFERENCE($,'[E]BB?','Forbindelsesanl\X2\00E6\X0\g',#78,$,$);
|
||||
#84=IFCCLASSIFICATIONREFERENCE($,'[E]BBA','Signalanl\X2\00E6\X0\g',#83,$,$);
|
||||
#85=IFCCLASSIFICATIONREFERENCE($,'[E]BBB','Masteanl\X2\00E6\X0\g',#83,$,$);
|
||||
#86=IFCCLASSIFICATIONREFERENCE($,'[E]BBC','Kabelanl\X2\00E6\X0\g',#83,$,$);
|
||||
#87=IFCCLASSIFICATIONREFERENCE($,'[E]BBD','R\X2\00F8\X0\rledningsanl\X2\00E6\X0\g',#83,$,$);
|
||||
#88=IFCCLASSIFICATIONREFERENCE($,'[E]BBE','Koblingsanl\X2\00E6\X0\g',#83,$,$);
|
||||
#89=IFCCLASSIFICATIONREFERENCE($,'[E]BC?','Bortskaffelsesanl\X2\00E6\X0\g',#78,$,$);
|
||||
#90=IFCCLASSIFICATIONREFERENCE($,'[E]BCA','Skorstensanl\X2\00E6\X0\g',#89,$,$);
|
||||
#91=IFCCLASSIFICATIONREFERENCE($,'[E]BCB','Kloakanl\X2\00E6\X0\g',#89,$,$);
|
||||
#92=IFCCLASSIFICATIONREFERENCE($,'[E]BD?','Transportanl\X2\00E6\X0\g',#78,$,$);
|
||||
#93=IFCCLASSIFICATIONREFERENCE($,'[E]BDA','Krananl\X2\00E6\X0\g',#92,$,$);
|
||||
#94=IFCCLASSIFICATIONREFERENCE($,'[E]BDB','Transport\X2\00F8\X0\ranl\X2\00E6\X0\g',#92,$,$);
|
||||
#95=IFCCLASSIFICATIONREFERENCE($,'[E]BDC','Sv\X2\00E6\X0\vebane',#92,$,$);
|
||||
#96=IFCCLASSIFICATIONREFERENCE($,'[E]BE?','Opbevaringsanl\X2\00E6\X0\g',#78,$,$);
|
||||
#97=IFCCLASSIFICATIONREFERENCE($,'[E]BEA','M\X2\00E5\X0\lestation',#96,$,$);
|
||||
#98=IFCCLASSIFICATIONREFERENCE($,'[E]BEB','Deponeringsplads',#96,$,$);
|
||||
#99=IFCCLASSIFICATIONREFERENCE($,'[E]BEC','Containerplads',#96,$,$);
|
||||
#100=IFCCLASSIFICATIONREFERENCE($,'[E]BED','Beholderanl\X2\00E6\X0\g',#96,$,$);
|
||||
#101=IFCCLASSIFICATIONREFERENCE($,'[E]BEE','Bassin',#96,$,$);
|
||||
#102=IFCCLASSIFICATIONREFERENCE($,'[E]BF?','Behandlingsanl\X2\00E6\X0\g',#78,$,$);
|
||||
#103=IFCCLASSIFICATIONREFERENCE($,'[E]BFA','Pumpestation',#102,$,$);
|
||||
#104=IFCCLASSIFICATIONREFERENCE($,'[E]BFB','Rensningsbassin',#102,$,$);
|
||||
#105=IFCCLASSIFICATIONREFERENCE($,'[E]BFC','Slamrensningsanl\X2\00E6\X0\g',#102,$,$);
|
||||
#106=IFCCLASSIFICATIONREFERENCE($,'[E]BG?','Forlystelsesanl\X2\00E6\X0\g',#78,$,$);
|
||||
#107=IFCCLASSIFICATIONREFERENCE($,'[E]BGA','Rutchebane',#106,$,$);
|
||||
#108=IFCCLASSIFICATIONREFERENCE($,'[E]BGB','Karrussel',#106,$,$);
|
||||
#109=IFCCLASSIFICATIONREFERENCE($,'[E]BGC','Pariserhjul',#106,$,$);
|
||||
#110=IFCCLASSIFICATIONREFERENCE($,'[E]BGD','Springvand',#106,$,$);
|
||||
#111=IFCCLASSIFICATIONREFERENCE($,'[E]C??','Infrastrukturanl\X2\00E6\X0\g',#4,$,$);
|
||||
#112=IFCCLASSIFICATIONREFERENCE($,'[E]CA?','Trafikanl\X2\00E6\X0\g',#111,$,$);
|
||||
#113=IFCCLASSIFICATIONREFERENCE($,'[E]CAA','Bro',#112,$,$);
|
||||
#114=IFCCLASSIFICATIONREFERENCE($,'[E]CAB','Tunnel',#112,$,$);
|
||||
#115=IFCCLASSIFICATIONREFERENCE($,'[E]CAC','Trafikkanal',#112,$,$);
|
||||
#116=IFCCLASSIFICATIONREFERENCE($,'[E]CAD','Skinneanl\X2\00E6\X0\g',#112,$,$);
|
||||
#117=IFCCLASSIFICATIONREFERENCE($,'[E]CAE','Vej',#112,$,$);
|
||||
#118=IFCCLASSIFICATIONREFERENCE($,'[E]CAF','Fortov',#112,$,$);
|
||||
#119=IFCCLASSIFICATIONREFERENCE($,'[E]CAG','Sti',#112,$,$);
|
||||
#120=IFCCLASSIFICATIONREFERENCE($,'[E]CB?','Terminalanl\X2\00E6\X0\g',#111,$,$);
|
||||
#121=IFCCLASSIFICATIONREFERENCE($,'[E]CBA','Kaj',#120,$,$);
|
||||
#122=IFCCLASSIFICATIONREFERENCE($,'[E]CBB','Perron',#120,$,$);
|
||||
#123=IFCCLASSIFICATIONREFERENCE($,'[E]CBC','Vejkryds',#120,$,$);
|
||||
#124=IFCCLASSIFICATIONREFERENCE($,'[E]CBD','Togterminal',#120,$,$);
|
||||
#125=IFCCLASSIFICATIONREFERENCE($,'[E]CBE','Lufthavnsterminal',#120,$,$);
|
||||
#126=IFCCLASSIFICATIONREFERENCE($,'[E]CBF','Busterminal',#120,$,$);
|
||||
#127=IFCCLASSIFICATIONREFERENCE($,'[E]CBG','F\X2\00E6\X0\rgeterminal',#120,$,$);
|
||||
#128=IFCCLASSIFICATIONREFERENCE($,'[E]CC?','Parkeringsanl\X2\00E6\X0\g',#111,$,$);
|
||||
#129=IFCCLASSIFICATIONREFERENCE($,'[E]CCA','Cykelparkeringsanl\X2\00E6\X0\g',#128,$,$);
|
||||
#130=IFCCLASSIFICATIONREFERENCE($,'[E]CCB','Parkeringsplads',#128,$,$);
|
||||
#131=IFCCLASSIFICATIONREFERENCE($,'[E]CCC','Ranger anl\X2\00E6\X0\g',#128,$,$);
|
||||
#132=IFCCLASSIFICATIONREFERENCE($,'[E]CCD','Flyveplads',#128,$,$);
|
||||
#133=IFCCLASSIFICATIONREFERENCE($,'[E]CD?','Kommunikationsbygning',#111,$,$);
|
||||
#134=IFCCLASSIFICATIONREFERENCE($,'[E]CDA','Kontrolt\X2\00E5\X0\rn',#133,$,$);
|
||||
#135=IFCCLASSIFICATIONREFERENCE($,'[E]CDB','Antennet\X2\00E5\X0\rn',#133,$,$);
|
||||
#136=IFCCLASSIFICATIONREFERENCE($,'[E]CDC','Fyrt\X2\00E5\X0\rn',#133,$,$);
|
||||
#137=IFCCLASSIFICATIONREFERENCE($,'[E]CDD','Klokket\X2\00E5\X0\rn',#133,$,$);
|
||||
#138=IFCCLASSIFICATIONREFERENCE($,'[E]CE?','Vandreguleringsanl\X2\00E6\X0\g',#111,$,$);
|
||||
#139=IFCCLASSIFICATIONREFERENCE($,'[E]CEA','D\X2\00E6\X0\mning',#138,$,$);
|
||||
#140=IFCCLASSIFICATIONREFERENCE($,'[E]CEB','Kanal',#138,$,$);
|
||||
#141=IFCCLASSIFICATIONREFERENCE($,'[E]CEC','Stemmev\X2\00E6\X0\rk',#138,$,$);
|
||||
#142=IFCCLASSIFICATIONREFERENCE($,'[E]CED','Sluseanl\X2\00E6\X0\g',#138,$,$);
|
||||
#143=IFCCLASSIFICATIONREFERENCE($,'[E]CEE','Mole',#138,$,$);
|
||||
#144=IFCCLASSIFICATIONREFERENCE($,'[E]D??','Landskab',#4,$,$);
|
||||
#145=IFCCLASSIFICATIONREFERENCE($,'[E]DA?','Naturomr\X2\00E5\X0\de',#144,$,$);
|
||||
#146=IFCCLASSIFICATIONREFERENCE($,'[E]DAA','Strand',#145,$,$);
|
||||
#147=IFCCLASSIFICATIONREFERENCE($,'[E]DAB','Klit',#145,$,$);
|
||||
#148=IFCCLASSIFICATIONREFERENCE($,'[E]DAC','S\X2\00F8\X0\',#145,$,$);
|
||||
#149=IFCCLASSIFICATIONREFERENCE($,'[E]DAD','Eng',#145,$,$);
|
||||
#150=IFCCLASSIFICATIONREFERENCE($,'[E]DAE','V\X2\00E5\X0\domr\X2\00E5\X0\de',#145,$,$);
|
||||
#151=IFCCLASSIFICATIONREFERENCE($,'[E]DAF','Vandl\X2\00F8\X0\b',#145,$,$);
|
||||
#152=IFCCLASSIFICATIONREFERENCE($,'[E]DB?','Rekreativt omr\X2\00E5\X0\de',#144,$,$);
|
||||
#153=IFCCLASSIFICATIONREFERENCE($,'[E]DBA','Have',#152,$,$);
|
||||
#154=IFCCLASSIFICATIONREFERENCE($,'[E]DBB','Park',#152,$,$);
|
||||
#155=IFCCLASSIFICATIONREFERENCE($,'[E]DBC','Campingplads',#152,$,$);
|
||||
#156=IFCCLASSIFICATIONREFERENCE($,'[E]DC?','Forsamlingsomr\X2\00E5\X0\de',#144,$,$);
|
||||
#157=IFCCLASSIFICATIONREFERENCE($,'[E]DCA','M\X2\00F8\X0\deplads',#156,$,$);
|
||||
#158=IFCCLASSIFICATIONREFERENCE($,'[E]DCB','Torv',#156,$,$);
|
||||
#159=IFCCLASSIFICATIONREFERENCE($,'[E]DCC','Tr\X2\00E6\X0\ningsplads',#156,$,$);
|
||||
#160=IFCCLASSIFICATIONREFERENCE($,'[E]DCD','Legeplads',#156,$,$);
|
||||
#161=IFCCLASSIFICATIONREFERENCE($,'[E]DD?','Produktionsomr\X2\00E5\X0\de',#144,$,$);
|
||||
#162=IFCCLASSIFICATIONREFERENCE($,'[E]DDA','Grund',#161,$,$);
|
||||
#163=IFCCLASSIFICATIONREFERENCE($,'[E]DDB','Brud',#161,$,$);
|
||||
#164=IFCCLASSIFICATIONREFERENCE($,'[E]DDC','Grav',#161,$,$);
|
||||
#165=IFCCLASSIFICATIONREFERENCE($,'[E]DDD','Skov',#161,$,$);
|
||||
#166=IFCCLASSIFICATIONREFERENCE($,'[E]DDE','Mark',#161,$,$);
|
||||
#167=IFCCLASSIFICATIONREFERENCE($,'[E]DE?','Sportsanl\X2\00E6\X0\g',#144,$,$);
|
||||
#168=IFCCLASSIFICATIONREFERENCE($,'[E]DEA','Boldbane',#167,$,$);
|
||||
#169=IFCCLASSIFICATIONREFERENCE($,'[E]DEB','V\X2\00E6\X0\ddel\X2\00F8\X0\bsbane',#167,$,$);
|
||||
#170=IFCCLASSIFICATIONREFERENCE($,'[E]DEC','Atletikbane',#167,$,$);
|
||||
#171=IFCCLASSIFICATIONREFERENCE($,'[E]DED','Sv\X2\00F8\X0\mmebassin',#167,$,$);
|
||||
#172=IFCCLASSIFICATIONREFERENCE($,'[E]E??','Monument',#4,$,$);
|
||||
#173=IFCCLASSIFICATIONREFERENCE($,'[E]EA?','Mindesm\X2\00E6\X0\rke',#172,$,$);
|
||||
#174=IFCCLASSIFICATIONREFERENCE($,'[E]EAA','Kulturminde',#173,$,$);
|
||||
#175=IFCCLASSIFICATIONREFERENCE($,'[E]EAB','Fortidsminde',#173,$,$);
|
||||
#176=IFCCLASSIFICATIONREFERENCE($,'[E]Z??','Ikke defineret',#4,$,$);
|
||||
#177=IFCCLASSIFICATIONREFERENCE($,'[E]ZZ?','Ikke defineret',#176,$,$);
|
||||
#178=IFCCLASSIFICATIONREFERENCE($,'[E]ZZZ','Ikke defineret',#177,$,$);
|
||||
#179=IFCCLASSIFICATIONREFERENCE($,'Rumanvendelse',$,#2,'Tildeler klassifikation af funktion til IFC Spaces (= ARCHICAD zoner) og IFC Zones baseret p\X2\00E5\X0\ CCS (R1) specifikationen.',$);
|
||||
#180=IFCCLASSIFICATIONREFERENCE($,'[A]A??','Rum til menneskeligt behov og virke',#179,$,$);
|
||||
#181=IFCCLASSIFICATIONREFERENCE($,'[A]AA?','Opholdsrum',#180,$,$);
|
||||
#182=IFCCLASSIFICATIONREFERENCE($,'[A]AAA','V\X2\00E6\X0\relse',#181,$,$);
|
||||
#183=IFCCLASSIFICATIONREFERENCE($,'[A]AAB','Stue',#181,$,$);
|
||||
#184=IFCCLASSIFICATIONREFERENCE($,'[A]AAC','Venterum',#181,$,$);
|
||||
#185=IFCCLASSIFICATIONREFERENCE($,'[A]AAD','G\X2\00E5\X0\rdrum',#181,$,$);
|
||||
#186=IFCCLASSIFICATIONREFERENCE($,'[A]AB?','Hygiejnerum',#180,$,$);
|
||||
#187=IFCCLASSIFICATIONREFERENCE($,'[A]ABA','Badev\X2\00E6\X0\relse',#186,$,$);
|
||||
#188=IFCCLASSIFICATIONREFERENCE($,'[A]ABB','Toilet',#186,$,$);
|
||||
#189=IFCCLASSIFICATIONREFERENCE($,'[A]ABC','Puslerum',#186,$,$);
|
||||
#190=IFCCLASSIFICATIONREFERENCE($,'[A]ABD','Omkl\X2\00E6\X0\dningsrum',#186,$,$);
|
||||
#191=IFCCLASSIFICATIONREFERENCE($,'[A]ABE','Baderum',#186,$,$);
|
||||
#192=IFCCLASSIFICATIONREFERENCE($,'[A]ABF','Sauna',#186,$,$);
|
||||
#193=IFCCLASSIFICATIONREFERENCE($,'[A]AC?','Isolationsrum',#180,$,$);
|
||||
#194=IFCCLASSIFICATIONREFERENCE($,'[A]ACA','Beskyttelsesrum',#193,$,$);
|
||||
#195=IFCCLASSIFICATIONREFERENCE($,'[A]ACB','Celle',#193,$,$);
|
||||
#196=IFCCLASSIFICATIONREFERENCE($,'[A]AD?','Arbejdsrum',#180,$,$);
|
||||
#197=IFCCLASSIFICATIONREFERENCE($,'[A]ADA','Kontor',#196,$,$);
|
||||
#198=IFCCLASSIFICATIONREFERENCE($,'[A]ADB','M\X2\00F8\X0\derum',#196,$,$);
|
||||
#199=IFCCLASSIFICATIONREFERENCE($,'[A]ADC','Reception',#196,$,$);
|
||||
#200=IFCCLASSIFICATIONREFERENCE($,'[A]ADD','Salgslokale',#196,$,$);
|
||||
#201=IFCCLASSIFICATIONREFERENCE($,'[A]ADE','Undervisningsrum',#196,$,$);
|
||||
#202=IFCCLASSIFICATIONREFERENCE($,'[A]ADF','Studierum',#196,$,$);
|
||||
#203=IFCCLASSIFICATIONREFERENCE($,'[A]ADG','Vaskerum',#196,$,$);
|
||||
#204=IFCCLASSIFICATIONREFERENCE($,'[A]ADH','Pakkerum',#196,$,$);
|
||||
#205=IFCCLASSIFICATIONREFERENCE($,'[A]ADJ','Behandlingsrum',#196,$,$);
|
||||
#206=IFCCLASSIFICATIONREFERENCE($,'[A]ADK','Unders\X2\00F8\X0\gelsesrum',#196,$,$);
|
||||
#207=IFCCLASSIFICATIONREFERENCE($,'[A]ADL','Overv\X2\00E5\X0\gningsrum',#196,$,$);
|
||||
#208=IFCCLASSIFICATIONREFERENCE($,'[A]ADM','Betragterrum',#196,$,$);
|
||||
#209=IFCCLASSIFICATIONREFERENCE($,'[A]ADN','Mediev\X2\00E6\X0\rksted',#196,$,$);
|
||||
#210=IFCCLASSIFICATIONREFERENCE($,'[A]ADP','Varemodtagelsesrum',#196,$,$);
|
||||
#211=IFCCLASSIFICATIONREFERENCE($,'[A]ADQ','Postrum',#196,$,$);
|
||||
#212=IFCCLASSIFICATIONREFERENCE($,'[A]AE?','Produktionsrum',#180,$,$);
|
||||
#213=IFCCLASSIFICATIONREFERENCE($,'[A]AEA','K\X2\00F8\X0\kken',#212,$,$);
|
||||
#214=IFCCLASSIFICATIONREFERENCE($,'[A]AEB','Materialev\X2\00E6\X0\rksted',#212,$,$);
|
||||
#215=IFCCLASSIFICATIONREFERENCE($,'[A]AEC','Teknikv\X2\00E6\X0\rksted',#212,$,$);
|
||||
#216=IFCCLASSIFICATIONREFERENCE($,'[A]AED','Kunstv\X2\00E6\X0\rksted',#212,$,$);
|
||||
#217=IFCCLASSIFICATIONREFERENCE($,'[A]AF?','Fors\X2\00F8\X0\gsrum',#180,$,$);
|
||||
#218=IFCCLASSIFICATIONREFERENCE($,'[A]AFA','Tekniklaboratorium',#217,$,$);
|
||||
#219=IFCCLASSIFICATIONREFERENCE($,'[A]AFB','Materialelaboratorium',#217,$,$);
|
||||
#220=IFCCLASSIFICATIONREFERENCE($,'[A]AFC','Biologilaboratorium',#217,$,$);
|
||||
#221=IFCCLASSIFICATIONREFERENCE($,'[A]AG?','Udfoldelsesrum',#180,$,$);
|
||||
#222=IFCCLASSIFICATIONREFERENCE($,'[A]AGA','Sportshal',#221,$,$);
|
||||
#223=IFCCLASSIFICATIONREFERENCE($,'[A]AGB','Tr\X2\00E6\X0\ningsrum',#221,$,$);
|
||||
#224=IFCCLASSIFICATIONREFERENCE($,'[A]AGC','\X2\00D8\X0\verum',#221,$,$);
|
||||
#225=IFCCLASSIFICATIONREFERENCE($,'[A]AGD','Scenerum',#221,$,$);
|
||||
#226=IFCCLASSIFICATIONREFERENCE($,'[A]AGE','Legerum',#221,$,$);
|
||||
#227=IFCCLASSIFICATIONREFERENCE($,'[A]AH?','Forsamlingsrum',#180,$,$);
|
||||
#228=IFCCLASSIFICATIONREFERENCE($,'[A]AHA','Spiserum',#227,$,$);
|
||||
#229=IFCCLASSIFICATIONREFERENCE($,'[A]AHB','Auditorium',#227,$,$);
|
||||
#230=IFCCLASSIFICATIONREFERENCE($,'[A]AHC','Sal',#227,$,$);
|
||||
#231=IFCCLASSIFICATIONREFERENCE($,'[A]AHD','Udstillingsrum',#227,$,$);
|
||||
#232=IFCCLASSIFICATIONREFERENCE($,'[A]AHE','Religi\X2\00F8\X0\se rum',#227,$,$);
|
||||
#233=IFCCLASSIFICATIONREFERENCE($,'[A]AHF','Biblioteksrum',#227,$,$);
|
||||
#234=IFCCLASSIFICATIONREFERENCE($,'[A]C??','Rum til opbevaring',#179,$,$);
|
||||
#235=IFCCLASSIFICATIONREFERENCE($,'[A]CA?','Materialerum',#234,$,$);
|
||||
#236=IFCCLASSIFICATIONREFERENCE($,'[A]CAA','Affaldsrum',#235,$,$);
|
||||
#237=IFCCLASSIFICATIONREFERENCE($,'[A]CAB','Kemikaliedepot',#235,$,$);
|
||||
#238=IFCCLASSIFICATIONREFERENCE($,'[A]CAC','Medicindepot',#235,$,$);
|
||||
#239=IFCCLASSIFICATIONREFERENCE($,'[A]CAD','Informationsarkiv',#235,$,$);
|
||||
#240=IFCCLASSIFICATIONREFERENCE($,'[A]CAE','V\X2\00E6\X0\skedepot',#235,$,$);
|
||||
#241=IFCCLASSIFICATIONREFERENCE($,'[A]CAF','R\X2\00E5\X0\stofdepot',#235,$,$);
|
||||
#242=IFCCLASSIFICATIONREFERENCE($,'[A]CAG','F\X2\00F8\X0\devaredepot',#235,$,$);
|
||||
#243=IFCCLASSIFICATIONREFERENCE($,'[A]CAH','V\X2\00E6\X0\rdidepot',#235,$,$);
|
||||
#244=IFCCLASSIFICATIONREFERENCE($,'[A]CAJ','Emballagedepot',#235,$,$);
|
||||
#245=IFCCLASSIFICATIONREFERENCE($,'[A]CAK','Bekl\X2\00E6\X0\dningsdepot',#235,$,$);
|
||||
#246=IFCCLASSIFICATIONREFERENCE($,'[A]CAL','Byggevaredepot',#235,$,$);
|
||||
#247=IFCCLASSIFICATIONREFERENCE($,'[A]CB?','Materielrum',#234,$,$);
|
||||
#248=IFCCLASSIFICATIONREFERENCE($,'[A]CBA','Inventardepot',#247,$,$);
|
||||
#249=IFCCLASSIFICATIONREFERENCE($,'[A]CBB','Redskabsdepot',#247,$,$);
|
||||
#250=IFCCLASSIFICATIONREFERENCE($,'[A]CBC','Apparatdepot',#247,$,$);
|
||||
#251=IFCCLASSIFICATIONREFERENCE($,'[A]CBD','Transportmiddeldepot',#247,$,$);
|
||||
#252=IFCCLASSIFICATIONREFERENCE($,'[A]CBE','Reng\X2\00F8\X0\ringsrum',#247,$,$);
|
||||
#253=IFCCLASSIFICATIONREFERENCE($,'[A]CC?','Dyrerum',#234,$,$);
|
||||
#254=IFCCLASSIFICATIONREFERENCE($,'[A]CCA','Bur',#253,$,$);
|
||||
#255=IFCCLASSIFICATIONREFERENCE($,'[A]CCB','B\X2\00E5\X0\s',#253,$,$);
|
||||
#256=IFCCLASSIFICATIONREFERENCE($,'[A]CCC','Stald',#253,$,$);
|
||||
#257=IFCCLASSIFICATIONREFERENCE($,'[A]CCD','Bassin',#253,$,$);
|
||||
#258=IFCCLASSIFICATIONREFERENCE($,'[A]CD?','Planterum',#234,$,$);
|
||||
#259=IFCCLASSIFICATIONREFERENCE($,'[A]CDA','V\X2\00E6\X0\ksthus',#258,$,$);
|
||||
#260=IFCCLASSIFICATIONREFERENCE($,'[A]CDB','Haverum',#258,$,$);
|
||||
#261=IFCCLASSIFICATIONREFERENCE($,'[A]CE?','Morsrum',#234,$,$);
|
||||
#262=IFCCLASSIFICATIONREFERENCE($,'[A]CEA','Ligrum',#261,$,$);
|
||||
#263=IFCCLASSIFICATIONREFERENCE($,'[A]CEB','Gravkammer',#261,$,$);
|
||||
#264=IFCCLASSIFICATIONREFERENCE($,'[A]D??','Rum til tekniske systemer',#179,$,$);
|
||||
#265=IFCCLASSIFICATIONREFERENCE($,'[A]DA?','Driftsteknikrum',#264,$,$);
|
||||
#266=IFCCLASSIFICATIONREFERENCE($,'[A]DAA','El-teknikrum',#265,$,$);
|
||||
#267=IFCCLASSIFICATIONREFERENCE($,'[A]DAB','IT-teknikrum',#265,$,$);
|
||||
#268=IFCCLASSIFICATIONREFERENCE($,'[A]DAC','Maskinteknikrum',#265,$,$);
|
||||
#269=IFCCLASSIFICATIONREFERENCE($,'[A]DAD','F\X2\00E6\X0\llesteknikrum',#265,$,$);
|
||||
#270=IFCCLASSIFICATIONREFERENCE($,'[A]DB?','Udstyrsrum',#264,$,$);
|
||||
#271=IFCCLASSIFICATIONREFERENCE($,'[A]DBA','Kontroludstyrsrum',#270,$,$);
|
||||
#272=IFCCLASSIFICATIONREFERENCE($,'[A]DBB','Produktionsudstyrsrum',#270,$,$);
|
||||
#273=IFCCLASSIFICATIONREFERENCE($,'[A]DBC','Serviceudstyrsrum',#270,$,$);
|
||||
#274=IFCCLASSIFICATIONREFERENCE($,'[A]DBD','Unders\X2\00F8\X0\gelsesudstyrsrum',#270,$,$);
|
||||
#275=IFCCLASSIFICATIONREFERENCE($,'[A]E??','Rum til infrastruktur',#179,$,$);
|
||||
#276=IFCCLASSIFICATIONREFERENCE($,'[A]EA?','Fordelingsrum',#275,$,$);
|
||||
#277=IFCCLASSIFICATIONREFERENCE($,'[A]EAA','Forhal',#276,$,$);
|
||||
#278=IFCCLASSIFICATIONREFERENCE($,'[A]EAB','Sluse',#276,$,$);
|
||||
#279=IFCCLASSIFICATIONREFERENCE($,'[A]EAC','Gang',#276,$,$);
|
||||
#280=IFCCLASSIFICATIONREFERENCE($,'[A]EAD','Trapperum',#276,$,$);
|
||||
#281=IFCCLASSIFICATIONREFERENCE($,'[A]EAE','Elevatorrum',#276,$,$);
|
||||
#282=IFCCLASSIFICATIONREFERENCE($,'[A]EAF','Portrum',#276,$,$);
|
||||
#283=IFCCLASSIFICATIONREFERENCE($,'[A]EB?','Teknisk f\X2\00F8\X0\ringsrum',#275,$,$);
|
||||
#284=IFCCLASSIFICATIONREFERENCE($,'[A]EBA','Servicegang',#283,$,$);
|
||||
#285=IFCCLASSIFICATIONREFERENCE($,'[A]EBB','Skakt',#283,$,$);
|
||||
#286=IFCCLASSIFICATIONREFERENCE($,'[A]EBC','Kanal',#283,$,$);
|
||||
#287=IFCCLASSIFICATIONREFERENCE($,'[A]EC?','Transportrum',#275,$,$);
|
||||
#288=IFCCLASSIFICATIONREFERENCE($,'[A]ECA','Fritrumsprofil',#287,$,$);
|
||||
#289=IFCCLASSIFICATIONREFERENCE($,'[A]ECB','Tunnelrum',#287,$,$);
|
||||
#290=IFCCLASSIFICATIONREFERENCE($,'[A]Z??','Ikke defineret',#179,$,$);
|
||||
#291=IFCCLASSIFICATIONREFERENCE($,'[A]ZZ?','Ikke defineret',#290,$,$);
|
||||
#292=IFCCLASSIFICATIONREFERENCE($,'[A]ZZZ','Ikke defineret',#291,$,$);
|
||||
#293=IFCCLASSIFICATIONREFERENCE($,'Bygningsdele - Funktionelle systemer',$,#2,'Tildeler klassifikation efter funktion, placering og/eller form til ARCHICAD bygningsdele baseret p\X2\00E5\X0\ CCS (R1) specifikationen.',$);
|
||||
#294=IFCCLASSIFICATIONREFERENCE($,'[L]A','Terr\X2\00E6\X0\nsystem',#293,$,$);
|
||||
#295=IFCCLASSIFICATIONREFERENCE($,'[L]B','V\X2\00E6\X0\gsystem',#293,$,$);
|
||||
#296=IFCCLASSIFICATIONREFERENCE($,'[L]C','D\X2\00E6\X0\ksystem',#293,$,$);
|
||||
#297=IFCCLASSIFICATIONREFERENCE($,'[L]D','Tagsystem',#293,$,$);
|
||||
#298=IFCCLASSIFICATIONREFERENCE($,'[L]E','Gas- og luftsystem',#293,$,$);
|
||||
#299=IFCCLASSIFICATIONREFERENCE($,'[L]F','Vand- og v\X2\00E6\X0\skesystem',#293,$,$);
|
||||
#300=IFCCLASSIFICATIONREFERENCE($,'[L]G','Afl\X2\00F8\X0\b- og affaldssystem',#293,$,$);
|
||||
#301=IFCCLASSIFICATIONREFERENCE($,'[L]H','K\X2\00F8\X0\le- og varmesystem',#293,$,$);
|
||||
#302=IFCCLASSIFICATIONREFERENCE($,'[L]J','Ventilationssystem',#293,$,$);
|
||||
#303=IFCCLASSIFICATIONREFERENCE($,'[L]K','El-system',#293,$,$);
|
||||
#304=IFCCLASSIFICATIONREFERENCE($,'[L]L','Automationsystem',#293,$,$);
|
||||
#305=IFCCLASSIFICATIONREFERENCE($,'[L]M','IT- og kommunikationssystem',#293,$,$);
|
||||
#306=IFCCLASSIFICATIONREFERENCE($,'[L]N','Transportsystem',#293,$,$);
|
||||
#307=IFCCLASSIFICATIONREFERENCE($,'[L]P','Indretningssystem',#293,$,$);
|
||||
#308=IFCCLASSIFICATIONREFERENCE($,'Bygningsdele - Tekniske systemer',$,#2,'Tildeler klassifikation efter funktion, placering og/eller form til ARCHICAD bygningsdele baseret p\X2\00E5\X0\ CCS (R1) specifikationen.',$);
|
||||
#309=IFCCLASSIFICATIONREFERENCE($,'[L]A?','Opbyggende teknisk system',#308,$,$);
|
||||
#310=IFCCLASSIFICATIONREFERENCE($,'[L]AA','Bel\X2\00E6\X0\gningsopbygning',#309,$,$);
|
||||
#311=IFCCLASSIFICATIONREFERENCE($,'[L]AB','Fundamentsopbygning',#309,$,$);
|
||||
#312=IFCCLASSIFICATIONREFERENCE($,'[L]AC','Etageadskillelsesopbygning',#309,$,$);
|
||||
#313=IFCCLASSIFICATIONREFERENCE($,'[L]AD','V\X2\00E6\X0\gopbygning',#309,$,$);
|
||||
#314=IFCCLASSIFICATIONREFERENCE($,'[L]AE','Tagopbygning',#309,$,$);
|
||||
#315=IFCCLASSIFICATIONREFERENCE($,'[L]AF','Trappeopbygning',#309,$,$);
|
||||
#316=IFCCLASSIFICATIONREFERENCE($,'[L]AG','Rampeopbygning',#309,$,$);
|
||||
#317=IFCCLASSIFICATIONREFERENCE($,'[L]B?','Konstruktivt teknisk system',#308,$,$);
|
||||
#318=IFCCLASSIFICATIONREFERENCE($,'[L]BA','Terr\X2\00E6\X0\nkonstruktion',#317,$,$);
|
||||
#319=IFCCLASSIFICATIONREFERENCE($,'[L]BB','Fundamentskonstruktion',#317,$,$);
|
||||
#320=IFCCLASSIFICATIONREFERENCE($,'[L]BC','D\X2\00E6\X0\kkonstruktion',#317,$,$);
|
||||
#321=IFCCLASSIFICATIONREFERENCE($,'[L]BD','V\X2\00E6\X0\gkonstruktion',#317,$,$);
|
||||
#322=IFCCLASSIFICATIONREFERENCE($,'[L]BE','Tagkonstruktion',#317,$,$);
|
||||
#323=IFCCLASSIFICATIONREFERENCE($,'[L]BF','Gulvkonstruktion',#317,$,$);
|
||||
#324=IFCCLASSIFICATIONREFERENCE($,'[L]BG','Loftkonstruktion',#317,$,$);
|
||||
#325=IFCCLASSIFICATIONREFERENCE($,'[L]H?','Forsynende teknisk system',#308,$,$);
|
||||
#326=IFCCLASSIFICATIONREFERENCE($,'[L]HA','Gas- og luftforsyningsanl\X2\00E6\X0\g',#325,$,$);
|
||||
#327=IFCCLASSIFICATIONREFERENCE($,'[L]HB','Vandforsyningsanl\X2\00E6\X0\g',#325,$,$);
|
||||
#328=IFCCLASSIFICATIONREFERENCE($,'[L]HC','K\X2\00F8\X0\leforsyningsanl\X2\00E6\X0\g',#325,$,$);
|
||||
#329=IFCCLASSIFICATIONREFERENCE($,'[L]HD','Varmeforsyningsanl\X2\00E6\X0\g',#325,$,$);
|
||||
#330=IFCCLASSIFICATIONREFERENCE($,'[L]HE','Kombineret varme- og k\X2\00F8\X0\leforsyningsanl\X2\00E6\X0\g',#325,$,$);
|
||||
#331=IFCCLASSIFICATIONREFERENCE($,'[L]HF','Ventilationsanl\X2\00E6\X0\g',#325,$,$);
|
||||
#332=IFCCLASSIFICATIONREFERENCE($,'[L]HG','El-forsyningsanl\X2\00E6\X0\g',#325,$,$);
|
||||
#333=IFCCLASSIFICATIONREFERENCE($,'[L]HH','Belysningsanl\X2\00E6\X0\g',#325,$,$);
|
||||
#334=IFCCLASSIFICATIONREFERENCE($,'[L]HJ','Signalforsyningsanl\X2\00E6\X0\g',#325,$,$);
|
||||
#335=IFCCLASSIFICATIONREFERENCE($,'[L]J?','Transporterende teknisk system',#308,$,$);
|
||||
#336=IFCCLASSIFICATIONREFERENCE($,'[L]JA','Gasfordelingsanl\X2\00E6\X0\g',#335,$,$);
|
||||
#337=IFCCLASSIFICATIONREFERENCE($,'[L]JB','Vandfordelingsanl\X2\00E6\X0\g',#335,$,$);
|
||||
#338=IFCCLASSIFICATIONREFERENCE($,'[L]JC','Kemikaliefordelingsanl\X2\00E6\X0\g',#335,$,$);
|
||||
#339=IFCCLASSIFICATIONREFERENCE($,'[L]JD','Bortledningsanl\X2\00E6\X0\g',#335,$,$);
|
||||
#340=IFCCLASSIFICATIONREFERENCE($,'[L]JE','Affaldsanl\X2\00E6\X0\g',#335,$,$);
|
||||
#341=IFCCLASSIFICATIONREFERENCE($,'[L]JF','K\X2\00F8\X0\lefordelingsanl\X2\00E6\X0\g',#335,$,$);
|
||||
#342=IFCCLASSIFICATIONREFERENCE($,'[L]JG','Varmefordelingsanl\X2\00E6\X0\g',#335,$,$);
|
||||
#343=IFCCLASSIFICATIONREFERENCE($,'[L]JH','Kombineret varme- og k\X2\00F8\X0\lefordelingsanl\X2\00E6\X0\g',#335,$,$);
|
||||
#344=IFCCLASSIFICATIONREFERENCE($,'[L]JJ','Luftfordelingsanl\X2\00E6\X0\g',#335,$,$);
|
||||
#345=IFCCLASSIFICATIONREFERENCE($,'[L]JK','El-fordelingsanl\X2\00E6\X0\g',#335,$,$);
|
||||
#346=IFCCLASSIFICATIONREFERENCE($,'[L]JL','Signalfordelingsanl\X2\00E6\X0\g',#335,$,$);
|
||||
#347=IFCCLASSIFICATIONREFERENCE($,'[L]JM','Persontransportanl\X2\00E6\X0\g',#335,$,$);
|
||||
#348=IFCCLASSIFICATIONREFERENCE($,'[L]JN','Godstransportanl\X2\00E6\X0\g',#335,$,$);
|
||||
#349=IFCCLASSIFICATIONREFERENCE($,'[L]JP','Teknisk f\X2\00F8\X0\ringsanl\X2\00E6\X0\g',#335,$,$);
|
||||
#350=IFCCLASSIFICATIONREFERENCE($,'[L]K?','Behandlende teknisk system',#308,$,$);
|
||||
#351=IFCCLASSIFICATIONREFERENCE($,'[L]KA','Solafsk\X2\00E6\X0\rmningsanl\X2\00E6\X0\g',#350,$,$);
|
||||
#352=IFCCLASSIFICATIONREFERENCE($,'[L]KB','D\X2\00F8\X0\r- og vinduesoplukkeanl\X2\00E6\X0\g',#350,$,$);
|
||||
#353=IFCCLASSIFICATIONREFERENCE($,'[L]KC','Filteranl\X2\00E6\X0\g',#350,$,$);
|
||||
#354=IFCCLASSIFICATIONREFERENCE($,'[L]KD','Udskilleranl\X2\00E6\X0\g',#350,$,$);
|
||||
#355=IFCCLASSIFICATIONREFERENCE($,'[L]KE','Vandbehandlingsanl\X2\00E6\X0\g',#350,$,$);
|
||||
#356=IFCCLASSIFICATIONREFERENCE($,'[L]KF','Pumpeanl\X2\00E6\X0\g',#350,$,$);
|
||||
#357=IFCCLASSIFICATIONREFERENCE($,'[L]KG','Trykholde- og ekspansionsanl\X2\00E6\X0\g',#350,$,$);
|
||||
#358=IFCCLASSIFICATIONREFERENCE($,'[L]KH','Omformeranl\X2\00E6\X0\g',#350,$,$);
|
||||
#359=IFCCLASSIFICATIONREFERENCE($,'[L]KJ','Antenneanl\X2\00E6\X0\g',#350,$,$);
|
||||
#360=IFCCLASSIFICATIONREFERENCE($,'[L]KK','Vejrstationsanl\X2\00E6\X0\g',#350,$,$);
|
||||
#361=IFCCLASSIFICATIONREFERENCE($,'[L]KL','Adgangsanl\X2\00E6\X0\g',#350,$,$);
|
||||
#362=IFCCLASSIFICATIONREFERENCE($,'[L]L?','Overv\X2\00E5\X0\gende teknisk system',#308,$,$);
|
||||
#363=IFCCLASSIFICATIONREFERENCE($,'[L]LA','Gasalarmanl\X2\00E6\X0\g',#362,$,$);
|
||||
#364=IFCCLASSIFICATIONREFERENCE($,'[L]LB','Brandalarmanl\X2\00E6\X0\g',#362,$,$);
|
||||
#365=IFCCLASSIFICATIONREFERENCE($,'[L]LC','Automationsanl\X2\00E6\X0\g',#362,$,$);
|
||||
#366=IFCCLASSIFICATIONREFERENCE($,'[L]LD','Adgangskontrolanl\X2\00E6\X0\g',#362,$,$);
|
||||
#367=IFCCLASSIFICATIONREFERENCE($,'[L]LE','Alarmanl\X2\00E6\X0\g',#362,$,$);
|
||||
#368=IFCCLASSIFICATIONREFERENCE($,'[L]LF','TV-overv\X2\00E5\X0\gningsanl\X2\00E6\X0\g',#362,$,$);
|
||||
#369=IFCCLASSIFICATIONREFERENCE($,'[L]M?','Informationspr\X2\00E6\X0\senterende teknisk system',#308,$,$);
|
||||
#370=IFCCLASSIFICATIONREFERENCE($,'[L]MA','Varslingsanl\X2\00E6\X0\g',#369,$,$);
|
||||
#371=IFCCLASSIFICATIONREFERENCE($,'[L]MB','Audio-Video anl\X2\00E6\X0\g',#369,$,$);
|
||||
#372=IFCCLASSIFICATIONREFERENCE($,'[L]MC','Trafikanl\X2\00E6\X0\g',#369,$,$);
|
||||
#373=IFCCLASSIFICATIONREFERENCE($,'[L]P?','Beskyttende teknisk system',#308,$,$);
|
||||
#374=IFCCLASSIFICATIONREFERENCE($,'[L]PA','Brandbeskyttelsesanl\X2\00E6\X0\g',#373,$,$);
|
||||
#375=IFCCLASSIFICATIONREFERENCE($,'[L]PB','Brandslukningsanl\X2\00E6\X0\g',#373,$,$);
|
||||
#376=IFCCLASSIFICATIONREFERENCE($,'[L]PC','Jordingsanl\X2\00E6\X0\g',#373,$,$);
|
||||
#377=IFCCLASSIFICATIONREFERENCE($,'[L]PD','Lynbeskyttelsesanl\X2\00E6\X0\g',#373,$,$);
|
||||
#378=IFCCLASSIFICATIONREFERENCE($,'[L]PE','Katodisk beskyttelsesanl\X2\00E6\X0\g',#373,$,$);
|
||||
#379=IFCCLASSIFICATIONREFERENCE($,'[L]Q?','Lagrende teknisk system',#308,$,$);
|
||||
#380=IFCCLASSIFICATIONREFERENCE($,'[L]QA','M\X2\00E5\X0\leranl\X2\00E6\X0\g',#379,$,$);
|
||||
#381=IFCCLASSIFICATIONREFERENCE($,'[L]QB','Gas- og luftart lageranl\X2\00E6\X0\g',#379,$,$);
|
||||
#382=IFCCLASSIFICATIONREFERENCE($,'[L]QC','V\X2\00E6\X0\skelageranl\X2\00E6\X0\g',#379,$,$);
|
||||
#383=IFCCLASSIFICATIONREFERENCE($,'[L]R?','Indrettende teknisk system',#308,$,$);
|
||||
#384=IFCCLASSIFICATIONREFERENCE($,'[L]RA','Beplantning',#383,$,$);
|
||||
#385=IFCCLASSIFICATIONREFERENCE($,'[L]RB','Inventar',#383,$,$);
|
||||
#386=IFCCLASSIFICATIONREFERENCE($,'[L]RC','Udstyr',#383,$,$);
|
||||
#387=IFCCLASSIFICATIONREFERENCE($,'Bygningsdele - Komponenter',$,#2,'Tildeler klassifikation efter funktion, placering og/eller form til ARCHICAD bygningsdele baseret p\X2\00E5\X0\ CCS (R1) specifikationen.',$);
|
||||
#388=IFCCLASSIFICATIONREFERENCE($,'[L]B??','Omformende komponent',#387,$,$);
|
||||
#389=IFCCLASSIFICATIONREFERENCE($,'[L]BA?','Elektrisk potentialeomformende komponent',#388,$,$);
|
||||
#390=IFCCLASSIFICATIONREFERENCE($,'[L]BAA','Sp\X2\00E6\X0\ndingsm\X2\00E5\X0\lerel\X2\00E6\X0\',#389,$,$);
|
||||
#391=IFCCLASSIFICATIONREFERENCE($,'[L]BAB','Sp\X2\00E6\X0\ndingsm\X2\00E5\X0\letransformer',#389,$,$);
|
||||
#392=IFCCLASSIFICATIONREFERENCE($,'[L]BC?','Elektrisk str\X2\00F8\X0\momformende komponent',#388,$,$);
|
||||
#393=IFCCLASSIFICATIONREFERENCE($,'[L]BCA','Str\X2\00F8\X0\mm\X2\00E5\X0\lerel\X2\00E6\X0\',#392,$,$);
|
||||
#394=IFCCLASSIFICATIONREFERENCE($,'[L]BCB','Str\X2\00F8\X0\mm\X2\00E5\X0\letransformer',#392,$,$);
|
||||
#395=IFCCLASSIFICATIONREFERENCE($,'[L]BD?','Densitetomformende komponent',#388,$,$);
|
||||
#396=IFCCLASSIFICATIONREFERENCE($,'[L]BDA','Densitetstransmitter',#395,$,$);
|
||||
#397=IFCCLASSIFICATIONREFERENCE($,'[L]BDB','Densitet switch',#395,$,$);
|
||||
#398=IFCCLASSIFICATIONREFERENCE($,'[L]BE?','Elektromagnetisk variabelomformende komponent',#388,$,$);
|
||||
#399=IFCCLASSIFICATIONREFERENCE($,'[L]BEA','Elektromagnetisk m\X2\00E5\X0\lerel\X2\00E6\X0\',#398,$,$);
|
||||
#400=IFCCLASSIFICATIONREFERENCE($,'[L]BEB','Elektromagnetisk m\X2\00E5\X0\letransformer',#398,$,$);
|
||||
#401=IFCCLASSIFICATIONREFERENCE($,'[L]BF?','Flowomformende komponent',#388,$,$);
|
||||
#402=IFCCLASSIFICATIONREFERENCE($,'[L]BFA','V\X2\00E6\X0\skeflowm\X2\00E5\X0\ler',#401,$,$);
|
||||
#403=IFCCLASSIFICATIONREFERENCE($,'[L]BFB','Gasflowm\X2\00E5\X0\ler',#401,$,$);
|
||||
#404=IFCCLASSIFICATIONREFERENCE($,'[L]BFC','Lufttransmitter',#401,$,$);
|
||||
#405=IFCCLASSIFICATIONREFERENCE($,'[L]BFD','Luftswitch',#401,$,$);
|
||||
#406=IFCCLASSIFICATIONREFERENCE($,'[L]BG?','Positionsomformende komponent',#388,$,$);
|
||||
#407=IFCCLASSIFICATIONREFERENCE($,'[L]BGA','Positionstransmitter',#406,$,$);
|
||||
#408=IFCCLASSIFICATIONREFERENCE($,'[L]BGB','Positionsswitch',#406,$,$);
|
||||
#409=IFCCLASSIFICATIONREFERENCE($,'[L]BGC','Bev\X2\00E6\X0\gelsesdetektor',#406,$,$);
|
||||
#410=IFCCLASSIFICATIONREFERENCE($,'[L]BGD','Retningsm\X2\00E5\X0\ler',#406,$,$);
|
||||
#411=IFCCLASSIFICATIONREFERENCE($,'[L]BJ?','Forbrugsomformende komponent',#388,$,$);
|
||||
#412=IFCCLASSIFICATIONREFERENCE($,'[L]BJA','Gasm\X2\00E5\X0\ler',#411,$,$);
|
||||
#413=IFCCLASSIFICATIONREFERENCE($,'[L]BJB','K\X2\00F8\X0\lem\X2\00E5\X0\ler',#411,$,$);
|
||||
#414=IFCCLASSIFICATIONREFERENCE($,'[L]BJC','Varmem\X2\00E5\X0\ler',#411,$,$);
|
||||
#415=IFCCLASSIFICATIONREFERENCE($,'[L]BJD','El-m\X2\00E5\X0\ler',#411,$,$);
|
||||
#416=IFCCLASSIFICATIONREFERENCE($,'[L]BK?','Tidsomformende komponent',#388,$,$);
|
||||
#417=IFCCLASSIFICATIONREFERENCE($,'[L]BKA','M\X2\00E5\X0\leur',#416,$,$);
|
||||
#418=IFCCLASSIFICATIONREFERENCE($,'[L]BKB','Urswitch',#416,$,$);
|
||||
#419=IFCCLASSIFICATIONREFERENCE($,'[L]BL?','Niveauomformende komponent',#388,$,$);
|
||||
#420=IFCCLASSIFICATIONREFERENCE($,'[L]BLA','Niveautransmitter',#419,$,$);
|
||||
#421=IFCCLASSIFICATIONREFERENCE($,'[L]BLB','Niveauswitch',#419,$,$);
|
||||
#422=IFCCLASSIFICATIONREFERENCE($,'[L]BM?','Fugtighedsomformende komponent',#388,$,$);
|
||||
#423=IFCCLASSIFICATIONREFERENCE($,'[L]BMA','Fugttransmitter',#422,$,$);
|
||||
#424=IFCCLASSIFICATIONREFERENCE($,'[L]BMB','Fugtswitch',#422,$,$);
|
||||
#425=IFCCLASSIFICATIONREFERENCE($,'[L]BP?','Trykomformende komponent',#388,$,$);
|
||||
#426=IFCCLASSIFICATIONREFERENCE($,'[L]BPA','Tryktransmitter',#425,$,$);
|
||||
#427=IFCCLASSIFICATIONREFERENCE($,'[L]BPB','Trykswitch',#425,$,$);
|
||||
#428=IFCCLASSIFICATIONREFERENCE($,'[L]BQ?','Kvalitetsomformende komponent',#388,$,$);
|
||||
#429=IFCCLASSIFICATIONREFERENCE($,'[L]BQA','Luftkvalitettransmitter',#428,$,$);
|
||||
#430=IFCCLASSIFICATIONREFERENCE($,'[L]BQB','Luftkvalitetsdetektor',#428,$,$);
|
||||
#431=IFCCLASSIFICATIONREFERENCE($,'[L]BQC','R\X2\00F8\X0\gtransmitter',#428,$,$);
|
||||
#432=IFCCLASSIFICATIONREFERENCE($,'[L]BQD','R\X2\00F8\X0\gdetektor',#428,$,$);
|
||||
#433=IFCCLASSIFICATIONREFERENCE($,'[L]BR?','Str\X2\00E5\X0\lingsomformende komponent',#388,$,$);
|
||||
#434=IFCCLASSIFICATIONREFERENCE($,'[L]BRA','Lystransmitter',#433,$,$);
|
||||
#435=IFCCLASSIFICATIONREFERENCE($,'[L]BRB','Lysswitch',#433,$,$);
|
||||
#436=IFCCLASSIFICATIONREFERENCE($,'[L]BRC','Flammedetektor',#433,$,$);
|
||||
#437=IFCCLASSIFICATIONREFERENCE($,'[L]BRD','Fotocelle',#433,$,$);
|
||||
#438=IFCCLASSIFICATIONREFERENCE($,'[L]BS?','Hastighed/frekvensomformende komponent',#388,$,$);
|
||||
#439=IFCCLASSIFICATIONREFERENCE($,'[L]BSA','Frekvensm\X2\00E5\X0\ler',#438,$,$);
|
||||
#440=IFCCLASSIFICATIONREFERENCE($,'[L]BSB','Speedometer',#438,$,$);
|
||||
#441=IFCCLASSIFICATIONREFERENCE($,'[L]BSC','Tachometer',#438,$,$);
|
||||
#442=IFCCLASSIFICATIONREFERENCE($,'[L]BSD','Accelerationsmeter',#438,$,$);
|
||||
#443=IFCCLASSIFICATIONREFERENCE($,'[L]BSE','Vibrationsdetektor',#438,$,$);
|
||||
#444=IFCCLASSIFICATIONREFERENCE($,'[L]BT?','Temperaturomformende komponent',#388,$,$);
|
||||
#445=IFCCLASSIFICATIONREFERENCE($,'[L]BTA','Temperaturtransmitter',#444,$,$);
|
||||
#446=IFCCLASSIFICATIONREFERENCE($,'[L]BTB','Temperaturswitch',#444,$,$);
|
||||
#447=IFCCLASSIFICATIONREFERENCE($,'[L]BU?','Multivatriabelomformende komponent',#388,$,$);
|
||||
#448=IFCCLASSIFICATIONREFERENCE($,'[L]BUA','Multitransmitter',#447,$,$);
|
||||
#449=IFCCLASSIFICATIONREFERENCE($,'[L]BUB','Multiswitch',#447,$,$);
|
||||
#450=IFCCLASSIFICATIONREFERENCE($,'[L]BUC','Encoder',#447,$,$);
|
||||
#451=IFCCLASSIFICATIONREFERENCE($,'[L]BW?','V\X2\00E6\X0\gt/kraftomformende komponent',#388,$,$);
|
||||
#452=IFCCLASSIFICATIONREFERENCE($,'[L]BWA','V\X2\00E6\X0\gt',#451,$,$);
|
||||
#453=IFCCLASSIFICATIONREFERENCE($,'[L]BWB','Kraftm\X2\00E5\X0\ler',#451,$,$);
|
||||
#454=IFCCLASSIFICATIONREFERENCE($,'[L]BX?','Lyd- og billedomformende komponent',#388,$,$);
|
||||
#455=IFCCLASSIFICATIONREFERENCE($,'[L]BXA','Mikrofon',#454,$,$);
|
||||
#456=IFCCLASSIFICATIONREFERENCE($,'[L]BXB','Kamera',#454,$,$);
|
||||
#457=IFCCLASSIFICATIONREFERENCE($,'[L]BY?','Stofomformende komponent',#388,$,$);
|
||||
#458=IFCCLASSIFICATIONREFERENCE($,'[L]BYA','Plante',#457,$,$);
|
||||
#459=IFCCLASSIFICATIONREFERENCE($,'[L]BZ?','H\X2\00E6\X0\ndelsesomformende komponent',#388,$,$);
|
||||
#460=IFCCLASSIFICATIONREFERENCE($,'[L]BZA','M\X2\00E6\X0\ngdem\X2\00E5\X0\ler',#459,$,$);
|
||||
#461=IFCCLASSIFICATIONREFERENCE($,'[L]BZB','V\X2\00E6\X0\skedetektor',#459,$,$);
|
||||
#462=IFCCLASSIFICATIONREFERENCE($,'[L]BZC','Kortl\X2\00E6\X0\ser',#459,$,$);
|
||||
#463=IFCCLASSIFICATIONREFERENCE($,'[L]BZE','Cyklus detektor',#459,$,$);
|
||||
#464=IFCCLASSIFICATIONREFERENCE($,'[L]BZF','Synkroniseringsenhed',#459,$,$);
|
||||
#465=IFCCLASSIFICATIONREFERENCE($,'[L]BZG','Ledningsevnem\X2\00E5\X0\ler',#459,$,$);
|
||||
#466=IFCCLASSIFICATIONREFERENCE($,'[L]C??','Lagrende komponent',#387,$,$);
|
||||
#467=IFCCLASSIFICATIONREFERENCE($,'[L]CA?','Kapacitiv lagrende komponent',#466,$,$);
|
||||
#468=IFCCLASSIFICATIONREFERENCE($,'[L]CAA','Kapacitor',#467,$,$);
|
||||
#469=IFCCLASSIFICATIONREFERENCE($,'[L]CF?','Informationslagrende komponent',#466,$,$);
|
||||
#470=IFCCLASSIFICATIONREFERENCE($,'[L]CFA','Lagermedie',#469,$,$);
|
||||
#471=IFCCLASSIFICATIONREFERENCE($,'[L]CM?','Lukket station\X2\00E6\X0\r komponent',#466,$,$);
|
||||
#472=IFCCLASSIFICATIONREFERENCE($,'[L]CMA','Beholder',#471,$,$);
|
||||
#473=IFCCLASSIFICATIONREFERENCE($,'[L]CMB','Bassin',#471,$,$);
|
||||
#474=IFCCLASSIFICATIONREFERENCE($,'[L]CMC','Boks',#471,$,$);
|
||||
#475=IFCCLASSIFICATIONREFERENCE($,'[L]CN?','Lukket flytbar komponent',#466,$,$);
|
||||
#476=IFCCLASSIFICATIONREFERENCE($,'[L]CNA','Container',#475,$,$);
|
||||
#477=IFCCLASSIFICATIONREFERENCE($,'[L]CNB','Gasflaske',#475,$,$);
|
||||
#478=IFCCLASSIFICATIONREFERENCE($,'[L]CNC','Tromle',#475,$,$);
|
||||
#479=IFCCLASSIFICATIONREFERENCE($,'[L]CND','Elevatorstol',#475,$,$);
|
||||
#480=IFCCLASSIFICATIONREFERENCE($,'[L]CP?','Termisk energilagrende komponent',#466,$,$);
|
||||
#481=IFCCLASSIFICATIONREFERENCE($,'[L]CPA','Varmtvandsbeholder',#480,$,$);
|
||||
#482=IFCCLASSIFICATIONREFERENCE($,'[L]CPB','Istank',#480,$,$);
|
||||
#483=IFCCLASSIFICATIONREFERENCE($,'[L]CPC','Dampbeholder',#480,$,$);
|
||||
#484=IFCCLASSIFICATIONREFERENCE($,'[L]E??','Energigivende komponent',#387,$,$);
|
||||
#485=IFCCLASSIFICATIONREFERENCE($,'[L]EA?','Lysafgivende komponent',#484,$,$);
|
||||
#486=IFCCLASSIFICATIONREFERENCE($,'[L]EAA','Gl\X2\00F8\X0\delampe',#485,$,$);
|
||||
#487=IFCCLASSIFICATIONREFERENCE($,'[L]EAB','Damplampe',#485,$,$);
|
||||
#488=IFCCLASSIFICATIONREFERENCE($,'[L]EAC','LED lyskilde',#485,$,$);
|
||||
#489=IFCCLASSIFICATIONREFERENCE($,'[L]EB?','Elektrisk varmeenergikomponent',#484,$,$);
|
||||
#490=IFCCLASSIFICATIONREFERENCE($,'[L]EBA','Elektrisk kedel',#489,$,$);
|
||||
#491=IFCCLASSIFICATIONREFERENCE($,'[L]EBB','Elektrisk varmflade',#489,$,$);
|
||||
#492=IFCCLASSIFICATIONREFERENCE($,'[L]EBC','Elektrisk varmekabel',#489,$,$);
|
||||
#493=IFCCLASSIFICATIONREFERENCE($,'[L]EBD','Elektrisk varmebl\X2\00E6\X0\ser',#489,$,$);
|
||||
#494=IFCCLASSIFICATIONREFERENCE($,'[L]EBE','Elektrisk varmer\X2\00F8\X0\r',#489,$,$);
|
||||
#495=IFCCLASSIFICATIONREFERENCE($,'[L]EM?','Forbr\X2\00E6\X0\ndingskomponent',#484,$,$);
|
||||
#496=IFCCLASSIFICATIONREFERENCE($,'[L]EMA','Ovn',#495,$,$);
|
||||
#497=IFCCLASSIFICATIONREFERENCE($,'[L]EMB','Kedel',#495,$,$);
|
||||
#498=IFCCLASSIFICATIONREFERENCE($,'[L]EMC','Br\X2\00E6\X0\nder',#495,$,$);
|
||||
#499=IFCCLASSIFICATIONREFERENCE($,'[L]EP?','Varmeoverf\X2\00F8\X0\rselskomponent',#484,$,$);
|
||||
#500=IFCCLASSIFICATIONREFERENCE($,'[L]EPA','Varmeflade',#499,$,$);
|
||||
#501=IFCCLASSIFICATIONREFERENCE($,'[L]EPB','Vandvarmer',#499,$,$);
|
||||
#502=IFCCLASSIFICATIONREFERENCE($,'[L]EPC','Varmeveksler',#499,$,$);
|
||||
#503=IFCCLASSIFICATIONREFERENCE($,'[L]EPD','Varmepumpe',#499,$,$);
|
||||
#504=IFCCLASSIFICATIONREFERENCE($,'[L]EPE','Radiator',#499,$,$);
|
||||
#505=IFCCLASSIFICATIONREFERENCE($,'[L]EPF','Varmer\X2\00F8\X0\r',#499,$,$);
|
||||
#506=IFCCLASSIFICATIONREFERENCE($,'[L]EPG','Varmepanel',#499,$,$);
|
||||
#507=IFCCLASSIFICATIONREFERENCE($,'[L]EQ?','Konvektionsk\X2\00F8\X0\ling komponent',#484,$,$);
|
||||
#508=IFCCLASSIFICATIONREFERENCE($,'[L]EQA','K\X2\00F8\X0\leflade',#507,$,$);
|
||||
#509=IFCCLASSIFICATIONREFERENCE($,'[L]EQB','Fordamper',#507,$,$);
|
||||
#510=IFCCLASSIFICATIONREFERENCE($,'[L]EQC','K\X2\00F8\X0\lepumpe',#507,$,$);
|
||||
#511=IFCCLASSIFICATIONREFERENCE($,'[L]EQD','K\X2\00F8\X0\let\X2\00E5\X0\rn',#507,$,$);
|
||||
#512=IFCCLASSIFICATIONREFERENCE($,'[L]EQE','K\X2\00F8\X0\lepanel',#507,$,$);
|
||||
#513=IFCCLASSIFICATIONREFERENCE($,'[L]EQF','T\X2\00F8\X0\rk\X2\00F8\X0\ler',#507,$,$);
|
||||
#514=IFCCLASSIFICATIONREFERENCE($,'[L]ES?','Fordampningsk\X2\00F8\X0\ling komponent',#484,$,$);
|
||||
#515=IFCCLASSIFICATIONREFERENCE($,'[L]ESA','K\X2\00F8\X0\lemaskine',#514,$,$);
|
||||
#516=IFCCLASSIFICATIONREFERENCE($,'[L]EV?','Varmestr\X2\00E5\X0\lingsenergi komponent',#484,$,$);
|
||||
#517=IFCCLASSIFICATIONREFERENCE($,'[L]EVA','Solfanger',#516,$,$);
|
||||
#518=IFCCLASSIFICATIONREFERENCE($,'[L]EZ?','Kombineret energigivende komponent',#484,$,$);
|
||||
#519=IFCCLASSIFICATIONREFERENCE($,'[L]EZA','Varmeventilator',#518,$,$);
|
||||
#520=IFCCLASSIFICATIONREFERENCE($,'[L]EZB','Kulde/varme r\X2\00F8\X0\r',#518,$,$);
|
||||
#521=IFCCLASSIFICATIONREFERENCE($,'[L]EZC','K\X2\00F8\X0\lefancoil',#518,$,$);
|
||||
#522=IFCCLASSIFICATIONREFERENCE($,'[L]EZD','Kombineret varme- og k\X2\00F8\X0\lefancoil',#518,$,$);
|
||||
#523=IFCCLASSIFICATIONREFERENCE($,'[L]F??','Beskyttende komponent',#387,$,$);
|
||||
#524=IFCCLASSIFICATIONREFERENCE($,'[L]FA?','Oversp\X2\00E6\X0\ndingskomponent',#523,$,$);
|
||||
#525=IFCCLASSIFICATIONREFERENCE($,'[L]FAA','Lynafleder',#524,$,$);
|
||||
#526=IFCCLASSIFICATIONREFERENCE($,'[L]FAB','Oversp\X2\00E6\X0\ndingsafleder',#524,$,$);
|
||||
#527=IFCCLASSIFICATIONREFERENCE($,'[L]FB?','Fejlstr\X2\00F8\X0\mskomponent',#523,$,$);
|
||||
#528=IFCCLASSIFICATIONREFERENCE($,'[L]FBA','HPFI-rel\X2\00E6\X0\',#527,$,$);
|
||||
#529=IFCCLASSIFICATIONREFERENCE($,'[L]FC?','Overstr\X2\00F8\X0\mskomponent',#523,$,$);
|
||||
#530=IFCCLASSIFICATIONREFERENCE($,'[L]FCA','Sikring',#529,$,$);
|
||||
#531=IFCCLASSIFICATIONREFERENCE($,'[L]FCB','Maksimalafbryder',#529,$,$);
|
||||
#532=IFCCLASSIFICATIONREFERENCE($,'[L]FL?','Trykbetinget fare komponent',#523,$,$);
|
||||
#533=IFCCLASSIFICATIONREFERENCE($,'[L]FLA','Sikkerhedsventil',#532,$,$);
|
||||
#534=IFCCLASSIFICATIONREFERENCE($,'[L]FLB','Sikkerhedsspj\X2\00E6\X0\ld',#532,$,$);
|
||||
#535=IFCCLASSIFICATIONREFERENCE($,'[L]FLC','Vakuumbryder',#532,$,$);
|
||||
#536=IFCCLASSIFICATIONREFERENCE($,'[L]FM?','Brandsikringskomponent',#523,$,$);
|
||||
#537=IFCCLASSIFICATIONREFERENCE($,'[L]FMA','Brandspj\X2\00E6\X0\ld',#536,$,$);
|
||||
#538=IFCCLASSIFICATIONREFERENCE($,'[L]FMB','R\X2\00F8\X0\gspj\X2\00E6\X0\ld',#536,$,$);
|
||||
#539=IFCCLASSIFICATIONREFERENCE($,'[L]FMC','Kombinerede brand- og r\X2\00F8\X0\gspj\X2\00E6\X0\ld',#536,$,$);
|
||||
#540=IFCCLASSIFICATIONREFERENCE($,'[L]FMD','Brandmanchet',#536,$,$);
|
||||
#541=IFCCLASSIFICATIONREFERENCE($,'[L]FME','Brandjalousi',#536,$,$);
|
||||
#542=IFCCLASSIFICATIONREFERENCE($,'[L]FMF','R\X2\00F8\X0\ggardin',#536,$,$);
|
||||
#543=IFCCLASSIFICATIONREFERENCE($,'[L]FMG','R\X2\00F8\X0\glukning',#536,$,$);
|
||||
#544=IFCCLASSIFICATIONREFERENCE($,'[L]FQ?','Hindrende komponent',#523,$,$);
|
||||
#545=IFCCLASSIFICATIONREFERENCE($,'[L]FQA','Fuglenet',#544,$,$);
|
||||
#546=IFCCLASSIFICATIONREFERENCE($,'[L]FQB','Snefang',#544,$,$);
|
||||
#547=IFCCLASSIFICATIONREFERENCE($,'[L]FQC','H\X2\00E5\X0\ndliste',#544,$,$);
|
||||
#548=IFCCLASSIFICATIONREFERENCE($,'[L]FQD','V\X2\00E6\X0\rn',#544,$,$);
|
||||
#549=IFCCLASSIFICATIONREFERENCE($,'[L]FQE','Jordd\X2\00E6\X0\kning',#544,$,$);
|
||||
#550=IFCCLASSIFICATIONREFERENCE($,'[L]FR?','Klimabeskyttende komponent',#523,$,$);
|
||||
#551=IFCCLASSIFICATIONREFERENCE($,'[L]FRA','Puds',#550,$,$);
|
||||
#552=IFCCLASSIFICATIONREFERENCE($,'[L]FRB','Maling',#550,$,$);
|
||||
#553=IFCCLASSIFICATIONREFERENCE($,'[L]FRC','Impr\X2\00E6\X0\gnering',#550,$,$);
|
||||
#554=IFCCLASSIFICATIONREFERENCE($,'[L]FRD','Korrosionsbeskyttelse',#550,$,$);
|
||||
#555=IFCCLASSIFICATIONREFERENCE($,'[L]FRE','Bundsikringslag',#550,$,$);
|
||||
#556=IFCCLASSIFICATIONREFERENCE($,'[L]G??','Flowgivende komponent',#387,$,$);
|
||||
#557=IFCCLASSIFICATIONREFERENCE($,'[L]GA?','Mekanisk energikomponent',#556,$,$);
|
||||
#558=IFCCLASSIFICATIONREFERENCE($,'[L]GAA','Generator',#557,$,$);
|
||||
#559=IFCCLASSIFICATIONREFERENCE($,'[L]GAB','Dynamo',#557,$,$);
|
||||
#560=IFCCLASSIFICATIONREFERENCE($,'[L]GB?','Kemisk energikomponent',#556,$,$);
|
||||
#561=IFCCLASSIFICATIONREFERENCE($,'[L]GBA','Batteri',#560,$,$);
|
||||
#562=IFCCLASSIFICATIONREFERENCE($,'[L]GBB','Br\X2\00E6\X0\ndselscelle',#560,$,$);
|
||||
#563=IFCCLASSIFICATIONREFERENCE($,'[L]GC?','Str\X2\00E5\X0\lingsenergi komponent',#556,$,$);
|
||||
#564=IFCCLASSIFICATIONREFERENCE($,'[L]GCA','Solcelle',#563,$,$);
|
||||
#565=IFCCLASSIFICATIONREFERENCE($,'[L]GF?','Signalgivende komponent',#556,$,$);
|
||||
#566=IFCCLASSIFICATIONREFERENCE($,'[L]GFA','TV-station',#565,$,$);
|
||||
#567=IFCCLASSIFICATIONREFERENCE($,'[L]GFB','Telefoncentral',#565,$,$);
|
||||
#568=IFCCLASSIFICATIONREFERENCE($,'[L]GP?','V\X2\00E6\X0\skegivende komponent',#556,$,$);
|
||||
#569=IFCCLASSIFICATIONREFERENCE($,'[L]GPA','Pumpe',#568,$,$);
|
||||
#570=IFCCLASSIFICATIONREFERENCE($,'[L]GQ?','Gas- og luftgivende komponent',#556,$,$);
|
||||
#571=IFCCLASSIFICATIONREFERENCE($,'[L]GQA','Ventilator',#570,$,$);
|
||||
#572=IFCCLASSIFICATIONREFERENCE($,'[L]GQB','Kompressor',#570,$,$);
|
||||
#573=IFCCLASSIFICATIONREFERENCE($,'[L]GQC','Vakuumpumpe',#570,$,$);
|
||||
#574=IFCCLASSIFICATIONREFERENCE($,'[L]H??','Separerende komponent',#387,$,$);
|
||||
#575=IFCCLASSIFICATIONREFERENCE($,'[L]HN?','Tyngdekraftseparerende komponent',#574,$,$);
|
||||
#576=IFCCLASSIFICATIONREFERENCE($,'[L]HNA','Seperator',#575,$,$);
|
||||
#577=IFCCLASSIFICATIONREFERENCE($,'[L]HNB','S\X2\00E6\X0\tningstank',#575,$,$);
|
||||
#578=IFCCLASSIFICATIONREFERENCE($,'[L]HP?','Termikseparerende komponent',#574,$,$);
|
||||
#579=IFCCLASSIFICATIONREFERENCE($,'[L]HPA','T\X2\00F8\X0\rreenhed',#578,$,$);
|
||||
#580=IFCCLASSIFICATIONREFERENCE($,'[L]HPB','Affugter',#578,$,$);
|
||||
#581=IFCCLASSIFICATIONREFERENCE($,'[L]HQ?','Filtrerende komponent',#574,$,$);
|
||||
#582=IFCCLASSIFICATIONREFERENCE($,'[L]HQA','Filter',#581,$,$);
|
||||
#583=IFCCLASSIFICATIONREFERENCE($,'[L]HQB','Rive',#581,$,$);
|
||||
#584=IFCCLASSIFICATIONREFERENCE($,'[L]HR?','Elektrostatikseparerende komponent',#574,$,$);
|
||||
#585=IFCCLASSIFICATIONREFERENCE($,'[L]HRA','Elektrostatfilter',#584,$,$);
|
||||
#586=IFCCLASSIFICATIONREFERENCE($,'[L]HRB','Magnetisk separator',#584,$,$);
|
||||
#587=IFCCLASSIFICATIONREFERENCE($,'[L]K??','Informationsbehandlende komponent',#387,$,$);
|
||||
#588=IFCCLASSIFICATIONREFERENCE($,'[L]KF?','Elektrisk signalinformation komponent',#587,$,$);
|
||||
#589=IFCCLASSIFICATIONREFERENCE($,'[L]KFA','Rel\X2\00E6\X0\',#588,$,$);
|
||||
#590=IFCCLASSIFICATIONREFERENCE($,'[L]KFB','Tidsrel\X2\00E6\X0\',#588,$,$);
|
||||
#591=IFCCLASSIFICATIONREFERENCE($,'[L]KFC','Computer',#588,$,$);
|
||||
#592=IFCCLASSIFICATIONREFERENCE($,'[L]KFD','Styre- og reguleringsenhed',#588,$,$);
|
||||
#593=IFCCLASSIFICATIONREFERENCE($,'[L]KFE','IT-switch',#588,$,$);
|
||||
#594=IFCCLASSIFICATIONREFERENCE($,'[L]KFF','Input/output modul',#588,$,$);
|
||||
#595=IFCCLASSIFICATIONREFERENCE($,'[L]KFG','Sender',#588,$,$);
|
||||
#596=IFCCLASSIFICATIONREFERENCE($,'[L]KFH','Modtager',#588,$,$);
|
||||
#597=IFCCLASSIFICATIONREFERENCE($,'[L]KG?','Optisk signalinformation komponent',#587,$,$);
|
||||
#598=IFCCLASSIFICATIONREFERENCE($,'[L]KGA','Optisk switch',#597,$,$);
|
||||
#599=IFCCLASSIFICATIONREFERENCE($,'[L]KGB','Optisk router',#597,$,$);
|
||||
#600=IFCCLASSIFICATIONREFERENCE($,'[L]KGC','Optisk sender',#597,$,$);
|
||||
#601=IFCCLASSIFICATIONREFERENCE($,'[L]KGD','Optisk modtager',#597,$,$);
|
||||
#602=IFCCLASSIFICATIONREFERENCE($,'[L]KGE','Optisk repeater',#597,$,$);
|
||||
#603=IFCCLASSIFICATIONREFERENCE($,'[L]KH?','Mekanisk signalinformation komponent',#587,$,$);
|
||||
#604=IFCCLASSIFICATIONREFERENCE($,'[L]KHA','Regulator',#603,$,$);
|
||||
#605=IFCCLASSIFICATIONREFERENCE($,'[L]KZ?','Kombineret signalinformation komponent',#587,$,$);
|
||||
#606=IFCCLASSIFICATIONREFERENCE($,'[L]KZA','Sender/modtager kombineret',#605,$,$);
|
||||
#607=IFCCLASSIFICATIONREFERENCE($,'[L]KZB','Tavlecomputer',#605,$,$);
|
||||
#608=IFCCLASSIFICATIONREFERENCE($,'[L]KZC','Kortskriver',#605,$,$);
|
||||
#609=IFCCLASSIFICATIONREFERENCE($,'[L]M??','Drivende komponent',#387,$,$);
|
||||
#610=IFCCLASSIFICATIONREFERENCE($,'[L]MA?','Elektromagentisk drivkomponent',#609,$,$);
|
||||
#611=IFCCLASSIFICATIONREFERENCE($,'[L]MAA','Elektromotor',#610,$,$);
|
||||
#612=IFCCLASSIFICATIONREFERENCE($,'[L]MAB','Linearmotor',#610,$,$);
|
||||
#613=IFCCLASSIFICATIONREFERENCE($,'[L]MAC','Elektrisk aktuator',#610,$,$);
|
||||
#614=IFCCLASSIFICATIONREFERENCE($,'[L]ML?','Mekanisk drivkomponent',#609,$,$);
|
||||
#615=IFCCLASSIFICATIONREFERENCE($,'[L]MLA','Mekanisk aktuator',#614,$,$);
|
||||
#616=IFCCLASSIFICATIONREFERENCE($,'[L]MLB','D\X2\00F8\X0\rlukker',#614,$,$);
|
||||
#617=IFCCLASSIFICATIONREFERENCE($,'[L]MS?','Kemisk drivkomponent',#609,$,$);
|
||||
#618=IFCCLASSIFICATIONREFERENCE($,'[L]MSA','Forbr\X2\00E6\X0\ndingsmotor',#617,$,$);
|
||||
#619=IFCCLASSIFICATIONREFERENCE($,'[L]N??','D\X2\00E6\X0\kkende komponent',#387,$,$);
|
||||
#620=IFCCLASSIFICATIONREFERENCE($,'[L]NA?','Udfyldende komponent',#619,$,$);
|
||||
#621=IFCCLASSIFICATIONREFERENCE($,'[L]NAA','Rude',#620,$,$);
|
||||
#622=IFCCLASSIFICATIONREFERENCE($,'[L]NAB','Felt',#620,$,$);
|
||||
#623=IFCCLASSIFICATIONREFERENCE($,'[L]NAC','Gitter',#620,$,$);
|
||||
#624=IFCCLASSIFICATIONREFERENCE($,'[L]NAD','Fuge',#620,$,$);
|
||||
#625=IFCCLASSIFICATIONREFERENCE($,'[L]NAE','Pakning',#620,$,$);
|
||||
#626=IFCCLASSIFICATIONREFERENCE($,'[L]NB?','Afd\X2\00E6\X0\kkende komponent',#619,$,$);
|
||||
#627=IFCCLASSIFICATIONREFERENCE($,'[L]NBA','D\X2\00F8\X0\rblad',#626,$,$);
|
||||
#628=IFCCLASSIFICATIONREFERENCE($,'[L]NBB','Portblad',#626,$,$);
|
||||
#629=IFCCLASSIFICATIONREFERENCE($,'[L]NBC','Skabsl\X2\00E5\X0\ge',#626,$,$);
|
||||
#630=IFCCLASSIFICATIONREFERENCE($,'[L]NBD','L\X2\00E5\X0\geramme',#626,$,$);
|
||||
#631=IFCCLASSIFICATIONREFERENCE($,'[L]NBE','D\X2\00E6\X0\ksel',#626,$,$);
|
||||
#632=IFCCLASSIFICATIONREFERENCE($,'[L]NC?','Afd\X2\00E6\X0\kkende komponent',#619,$,$);
|
||||
#633=IFCCLASSIFICATIONREFERENCE($,'[L]NCA','Bel\X2\00E6\X0\gning',#632,$,$);
|
||||
#634=IFCCLASSIFICATIONREFERENCE($,'[L]NCB','V\X2\00E6\X0\gbekl\X2\00E6\X0\dning',#632,$,$);
|
||||
#635=IFCCLASSIFICATIONREFERENCE($,'[L]NCC','Gulvbel\X2\00E6\X0\gning',#632,$,$);
|
||||
#636=IFCCLASSIFICATIONREFERENCE($,'[L]NCD','Loftbekl\X2\00E6\X0\dning',#632,$,$);
|
||||
#637=IFCCLASSIFICATIONREFERENCE($,'[L]NCE','Tagd\X2\00E6\X0\kning',#632,$,$);
|
||||
#638=IFCCLASSIFICATIONREFERENCE($,'[L]NCF','S\X2\00E5\X0\lb\X2\00E6\X0\nk',#632,$,$);
|
||||
#639=IFCCLASSIFICATIONREFERENCE($,'[L]NCG','Vinduesplade',#632,$,$);
|
||||
#640=IFCCLASSIFICATIONREFERENCE($,'[L]NCH','Lysning',#632,$,$);
|
||||
#641=IFCCLASSIFICATIONREFERENCE($,'[L]NCJ','Indfatning',#632,$,$);
|
||||
#642=IFCCLASSIFICATIONREFERENCE($,'[L]NCK','Fodpanel',#632,$,$);
|
||||
#643=IFCCLASSIFICATIONREFERENCE($,'[L]NCL','Fejeliste',#632,$,$);
|
||||
#644=IFCCLASSIFICATIONREFERENCE($,'[L]NCM','Rygning',#632,$,$);
|
||||
#645=IFCCLASSIFICATIONREFERENCE($,'[L]NCN','Murafd\X2\00E6\X0\kning',#632,$,$);
|
||||
#646=IFCCLASSIFICATIONREFERENCE($,'[L]NCP','Skorstensafd\X2\00E6\X0\kning',#632,$,$);
|
||||
#647=IFCCLASSIFICATIONREFERENCE($,'[L]NCQ','B\X2\00F8\X0\sning',#632,$,$);
|
||||
#648=IFCCLASSIFICATIONREFERENCE($,'[L]NCR','D\X2\00F8\X0\rskilt',#632,$,$);
|
||||
#649=IFCCLASSIFICATIONREFERENCE($,'[L]NCS','D\X2\00F8\X0\rroset',#632,$,$);
|
||||
#650=IFCCLASSIFICATIONREFERENCE($,'[L]ND?','Afsluttende komponent',#619,$,$);
|
||||
#651=IFCCLASSIFICATIONREFERENCE($,'[L]NDA','Kant',#650,$,$);
|
||||
#652=IFCCLASSIFICATIONREFERENCE($,'[L]NDB','Murkrone',#650,$,$);
|
||||
#653=IFCCLASSIFICATIONREFERENCE($,'[L]NDC','Stern',#650,$,$);
|
||||
#654=IFCCLASSIFICATIONREFERENCE($,'[L]NDD','Udh\X2\00E6\X0\ng',#650,$,$);
|
||||
#655=IFCCLASSIFICATIONREFERENCE($,'[L]NDE','Vindskede',#650,$,$);
|
||||
#656=IFCCLASSIFICATIONREFERENCE($,'[L]P??','Informationspr\X2\00E6\X0\senterende komponent',#387,$,$);
|
||||
#657=IFCCLASSIFICATIONREFERENCE($,'[L]PF?','Diskret-tilstand komponent',#656,$,$);
|
||||
#658=IFCCLASSIFICATIONREFERENCE($,'[L]PFA','Signallampe',#657,$,$);
|
||||
#659=IFCCLASSIFICATIONREFERENCE($,'[L]PFB','Blink',#657,$,$);
|
||||
#660=IFCCLASSIFICATIONREFERENCE($,'[L]PFC','Trafiklys',#657,$,$);
|
||||
#661=IFCCLASSIFICATIONREFERENCE($,'[L]PG?','Diskret-variabel komponent',#656,$,$);
|
||||
#662=IFCCLASSIFICATIONREFERENCE($,'[L]PGA','Termometer',#661,$,$);
|
||||
#663=IFCCLASSIFICATIONREFERENCE($,'[L]PGB','Barometer',#661,$,$);
|
||||
#664=IFCCLASSIFICATIONREFERENCE($,'[L]PGC','Hygrometer',#661,$,$);
|
||||
#665=IFCCLASSIFICATIONREFERENCE($,'[L]PGD','Trykviser',#661,$,$);
|
||||
#666=IFCCLASSIFICATIONREFERENCE($,'[L]PGE','Omdrejningsviser',#661,$,$);
|
||||
#667=IFCCLASSIFICATIONREFERENCE($,'[L]PGF','Amperemeter',#661,$,$);
|
||||
#668=IFCCLASSIFICATIONREFERENCE($,'[L]PGG','Voltmeter',#661,$,$);
|
||||
#669=IFCCLASSIFICATIONREFERENCE($,'[L]PGH','Wattmeter',#661,$,$);
|
||||
#670=IFCCLASSIFICATIONREFERENCE($,'[L]PGJ','Frekvensmeter',#661,$,$);
|
||||
#671=IFCCLASSIFICATIONREFERENCE($,'[L]PGK','Watt-timemeter',#661,$,$);
|
||||
#672=IFCCLASSIFICATIONREFERENCE($,'[L]PGL','Ur',#661,$,$);
|
||||
#673=IFCCLASSIFICATIONREFERENCE($,'[L]PGM','Cos-phi meter',#661,$,$);
|
||||
#674=IFCCLASSIFICATIONREFERENCE($,'[L]PGN','VAR-meter',#661,$,$);
|
||||
#675=IFCCLASSIFICATIONREFERENCE($,'[L]PH?','Variabel-information komponent',#656,$,$);
|
||||
#676=IFCCLASSIFICATIONREFERENCE($,'[L]PHA','Display',#675,$,$);
|
||||
#677=IFCCLASSIFICATIONREFERENCE($,'[L]PHB','Projektor',#675,$,$);
|
||||
#678=IFCCLASSIFICATIONREFERENCE($,'[L]PHC','Printer',#675,$,$);
|
||||
#679=IFCCLASSIFICATIONREFERENCE($,'[L]PHD','Skilt',#675,$,$);
|
||||
#680=IFCCLASSIFICATIONREFERENCE($,'[L]PHE','Afm\X2\00E6\X0\rkning',#675,$,$);
|
||||
#681=IFCCLASSIFICATIONREFERENCE($,'[L]PJ?','H\X2\00F8\X0\rbar information komponent',#656,$,$);
|
||||
#682=IFCCLASSIFICATIONREFERENCE($,'[L]PJA','H\X2\00F8\X0\jttaler',#681,$,$);
|
||||
#683=IFCCLASSIFICATIONREFERENCE($,'[L]PJB','Horn',#681,$,$);
|
||||
#684=IFCCLASSIFICATIONREFERENCE($,'[L]PJC','Klokke',#681,$,$);
|
||||
#685=IFCCLASSIFICATIONREFERENCE($,'[L]PL?','Udsmykkende komponent',#656,$,$);
|
||||
#686=IFCCLASSIFICATIONREFERENCE($,'[L]PLA','Gesims',#685,$,$);
|
||||
#687=IFCCLASSIFICATIONREFERENCE($,'[L]PLB','Figur',#685,$,$);
|
||||
#688=IFCCLASSIFICATIONREFERENCE($,'[L]PLC','Frise',#685,$,$);
|
||||
#689=IFCCLASSIFICATIONREFERENCE($,'[L]PLD','Stukatur',#685,$,$);
|
||||
#690=IFCCLASSIFICATIONREFERENCE($,'[L]PLE','Billede',#685,$,$);
|
||||
#691=IFCCLASSIFICATIONREFERENCE($,'[L]PLF','T\X2\00E6\X0\ppe',#685,$,$);
|
||||
#692=IFCCLASSIFICATIONREFERENCE($,'[L]Q??','\X2\00C5\X0\bnende og lukkende komponent',#387,$,$);
|
||||
#693=IFCCLASSIFICATIONREFERENCE($,'[L]QA?','Elektrisk koblende komponent',#692,$,$);
|
||||
#694=IFCCLASSIFICATIONREFERENCE($,'[L]QAA','Kontaktor',#693,$,$);
|
||||
#695=IFCCLASSIFICATIONREFERENCE($,'[L]QAB','Motorstarter',#693,$,$);
|
||||
#696=IFCCLASSIFICATIONREFERENCE($,'[L]QAC','Thyristor',#693,$,$);
|
||||
#697=IFCCLASSIFICATIONREFERENCE($,'[L]QB?','Elektrisk adskillende komponent',#692,$,$);
|
||||
#698=IFCCLASSIFICATIONREFERENCE($,'[L]QBA','Lastafbryder',#697,$,$);
|
||||
#699=IFCCLASSIFICATIONREFERENCE($,'[L]QBB','Sikringsadskiller',#697,$,$);
|
||||
#700=IFCCLASSIFICATIONREFERENCE($,'[L]QC?','Jordende elektrisk komponent',#692,$,$);
|
||||
#701=IFCCLASSIFICATIONREFERENCE($,'[L]QCA','Jordingskobler',#700,$,$);
|
||||
#702=IFCCLASSIFICATIONREFERENCE($,'[L]QM?','Mekanisk koblende komponent',#692,$,$);
|
||||
#703=IFCCLASSIFICATIONREFERENCE($,'[L]QMA','Afsp\X2\00E6\X0\rringsventil',#702,$,$);
|
||||
#704=IFCCLASSIFICATIONREFERENCE($,'[L]QMB','On-off spj\X2\00E6\X0\ld',#702,$,$);
|
||||
#705=IFCCLASSIFICATIONREFERENCE($,'[L]QN?','Mekanisk varierende komponent',#692,$,$);
|
||||
#706=IFCCLASSIFICATIONREFERENCE($,'[L]QNA','Reguleringsventil',#705,$,$);
|
||||
#707=IFCCLASSIFICATIONREFERENCE($,'[L]QNB','Reguleringsspj\X2\00E6\X0\ld',#705,$,$);
|
||||
#708=IFCCLASSIFICATIONREFERENCE($,'[L]QQ?','Adgangsgivende komponent',#692,$,$);
|
||||
#709=IFCCLASSIFICATIONREFERENCE($,'[L]QQA','Vindue',#708,$,$);
|
||||
#710=IFCCLASSIFICATIONREFERENCE($,'[L]QQB','Vinduesparti',#708,$,$);
|
||||
#711=IFCCLASSIFICATIONREFERENCE($,'[L]QQC','D\X2\00F8\X0\r',#708,$,$);
|
||||
#712=IFCCLASSIFICATIONREFERENCE($,'[L]QQD','Lem',#708,$,$);
|
||||
#713=IFCCLASSIFICATIONREFERENCE($,'[L]QQE','Port',#708,$,$);
|
||||
#714=IFCCLASSIFICATIONREFERENCE($,'[L]QQF','L\X2\00E5\X0\ge',#708,$,$);
|
||||
#715=IFCCLASSIFICATIONREFERENCE($,'[L]R??','Regulerende komponent',#387,$,$);
|
||||
#716=IFCCLASSIFICATIONREFERENCE($,'[L]RA?','Elektrisk begr\X2\00E6\X0\nsende komponent',#715,$,$);
|
||||
#717=IFCCLASSIFICATIONREFERENCE($,'[L]RAA','Diode',#716,$,$);
|
||||
#718=IFCCLASSIFICATIONREFERENCE($,'[L]RAB','Induktionsspole',#716,$,$);
|
||||
#719=IFCCLASSIFICATIONREFERENCE($,'[L]RAC','Modstand',#716,$,$);
|
||||
#720=IFCCLASSIFICATIONREFERENCE($,'[L]RB?','Elektrisk stabiliserende komponent',#715,$,$);
|
||||
#721=IFCCLASSIFICATIONREFERENCE($,'[L]RBA','Afbrydelsesfri str\X2\00F8\X0\mforsyning',#720,$,$);
|
||||
#722=IFCCLASSIFICATIONREFERENCE($,'[L]RBB','Harmonisk filter',#720,$,$);
|
||||
#723=IFCCLASSIFICATIONREFERENCE($,'[L]RBC','Fasekompensering',#720,$,$);
|
||||
#724=IFCCLASSIFICATIONREFERENCE($,'[L]RF?','Signalstabiliserende komponent',#715,$,$);
|
||||
#725=IFCCLASSIFICATIONREFERENCE($,'[L]RFA','Equalizer',#724,$,$);
|
||||
#726=IFCCLASSIFICATIONREFERENCE($,'[L]RFB','Elektrisk filter',#724,$,$);
|
||||
#727=IFCCLASSIFICATIONREFERENCE($,'[L]RL?','Mekanisk begr\X2\00E6\X0\nsende komponent',#715,$,$);
|
||||
#728=IFCCLASSIFICATIONREFERENCE($,'[L]RLA','L\X2\00E5\X0\s',#727,$,$);
|
||||
#729=IFCCLASSIFICATIONREFERENCE($,'[L]RLB','Rottesp\X2\00E6\X0\rre',#727,$,$);
|
||||
#730=IFCCLASSIFICATIONREFERENCE($,'[L]RLC','St\X2\00F8\X0\dd\X2\00E6\X0\mper',#727,$,$);
|
||||
#731=IFCCLASSIFICATIONREFERENCE($,'[L]RM?','V\X2\00E6\X0\skebegr\X2\00E6\X0\nsende komponent',#715,$,$);
|
||||
#732=IFCCLASSIFICATIONREFERENCE($,'[L]RMA','Kontraventil',#731,$,$);
|
||||
#733=IFCCLASSIFICATIONREFERENCE($,'[L]RMB','Indreguleringsventil',#731,$,$);
|
||||
#734=IFCCLASSIFICATIONREFERENCE($,'[L]RMC','Dyse',#731,$,$);
|
||||
#735=IFCCLASSIFICATIONREFERENCE($,'[L]RMD','Vandl\X2\00E5\X0\s',#731,$,$);
|
||||
#736=IFCCLASSIFICATIONREFERENCE($,'[L]RN?','Luftbegr\X2\00E6\X0\nsende komponent',#715,$,$);
|
||||
#737=IFCCLASSIFICATIONREFERENCE($,'[L]RNA','Kontraspj\X2\00E6\X0\ld',#736,$,$);
|
||||
#738=IFCCLASSIFICATIONREFERENCE($,'[L]RNB','Indreguleringsspj\X2\00E6\X0\ld',#736,$,$);
|
||||
#739=IFCCLASSIFICATIONREFERENCE($,'[L]RNC','Diffusor',#736,$,$);
|
||||
#740=IFCCLASSIFICATIONREFERENCE($,'[L]RQ?','Milj\X2\00F8\X0\stabiliserende komponent',#715,$,$);
|
||||
#741=IFCCLASSIFICATIONREFERENCE($,'[L]RQA','Isolering',#740,$,$);
|
||||
#742=IFCCLASSIFICATIONREFERENCE($,'[L]RQB','Membran',#740,$,$);
|
||||
#743=IFCCLASSIFICATIONREFERENCE($,'[L]RQC','St\X2\00F8\X0\jbeskyttelse',#740,$,$);
|
||||
#744=IFCCLASSIFICATIONREFERENCE($,'[L]RQD','Sk\X2\00E6\X0\rm',#740,$,$);
|
||||
#745=IFCCLASSIFICATIONREFERENCE($,'[L]RQE','Gardin',#740,$,$);
|
||||
#746=IFCCLASSIFICATIONREFERENCE($,'[L]RQF','Persienne',#740,$,$);
|
||||
#747=IFCCLASSIFICATIONREFERENCE($,'[L]RQG','Skodde',#740,$,$);
|
||||
#748=IFCCLASSIFICATIONREFERENCE($,'[L]RU?','Adgangsbegr\X2\00E6\X0\nsende komponent',#715,$,$);
|
||||
#749=IFCCLASSIFICATIONREFERENCE($,'[L]RUA','Hegn',#748,$,$);
|
||||
#750=IFCCLASSIFICATIONREFERENCE($,'[L]RUB','Bom',#748,$,$);
|
||||
#751=IFCCLASSIFICATIONREFERENCE($,'[L]RUC','Karrusel',#748,$,$);
|
||||
#752=IFCCLASSIFICATIONREFERENCE($,'[L]RUD','Pullert',#748,$,$);
|
||||
#753=IFCCLASSIFICATIONREFERENCE($,'[L]RV?','Indsigtsbegr\X2\00E6\X0\nsende komponent',#715,$,$);
|
||||
#754=IFCCLASSIFICATIONREFERENCE($,'[L]RVA','Skjuler',#753,$,$);
|
||||
#755=IFCCLASSIFICATIONREFERENCE($,'[L]S??','Manuel omformende komponent',#387,$,$);
|
||||
#756=IFCCLASSIFICATIONREFERENCE($,'[L]SF?','Elektrisk signalgiverkomponent',#755,$,$);
|
||||
#757=IFCCLASSIFICATIONREFERENCE($,'[L]SFA','Afbryder',#756,$,$);
|
||||
#758=IFCCLASSIFICATIONREFERENCE($,'[L]SFB','Omskifter',#756,$,$);
|
||||
#759=IFCCLASSIFICATIONREFERENCE($,'[L]SFC','Trykknap',#756,$,$);
|
||||
#760=IFCCLASSIFICATIONREFERENCE($,'[L]SFD','Panel',#756,$,$);
|
||||
#761=IFCCLASSIFICATIONREFERENCE($,'[L]SFE','Tastatur',#756,$,$);
|
||||
#762=IFCCLASSIFICATIONREFERENCE($,'[L]SG?','Optisk-akustisk signalgiverkomponent',#755,$,$);
|
||||
#763=IFCCLASSIFICATIONREFERENCE($,'[L]SGA','N\X2\00F8\X0\dkald',#762,$,$);
|
||||
#764=IFCCLASSIFICATIONREFERENCE($,'[L]SL?','Mekanisk signalgiverkomponent',#755,$,$);
|
||||
#765=IFCCLASSIFICATIONREFERENCE($,'[L]SLA','Greb',#764,$,$);
|
||||
#766=IFCCLASSIFICATIONREFERENCE($,'[L]SLB','N\X2\00F8\X0\glecylinder',#764,$,$);
|
||||
#767=IFCCLASSIFICATIONREFERENCE($,'[L]T??','Transformerende komponent',#387,$,$);
|
||||
#768=IFCCLASSIFICATIONREFERENCE($,'[L]TA?','Elektrisk energiomformende komponent',#767,$,$);
|
||||
#769=IFCCLASSIFICATIONREFERENCE($,'[L]TAA','Transformer',#768,$,$);
|
||||
#770=IFCCLASSIFICATIONREFERENCE($,'[L]TAB','Adskillelsestransformer',#768,$,$);
|
||||
#771=IFCCLASSIFICATIONREFERENCE($,'[L]TAC','Ensretter',#768,$,$);
|
||||
#772=IFCCLASSIFICATIONREFERENCE($,'[L]TAD','Vekselretter',#768,$,$);
|
||||
#773=IFCCLASSIFICATIONREFERENCE($,'[L]TAE','Frekvensomformer',#768,$,$);
|
||||
#774=IFCCLASSIFICATIONREFERENCE($,'[L]TF?','Signalomformende komponent',#767,$,$);
|
||||
#775=IFCCLASSIFICATIONREFERENCE($,'[L]TFA','Forst\X2\00E6\X0\rker',#774,$,$);
|
||||
#776=IFCCLASSIFICATIONREFERENCE($,'[L]TFB','Antenne',#774,$,$);
|
||||
#777=IFCCLASSIFICATIONREFERENCE($,'[L]TFC','Gateway',#774,$,$);
|
||||
#778=IFCCLASSIFICATIONREFERENCE($,'[L]TM?','Form\X2\00E6\X0\ndrende komponent',#767,$,$);
|
||||
#779=IFCCLASSIFICATIONREFERENCE($,'[L]TMA','Affaldskv\X2\00E6\X0\rn',#778,$,$);
|
||||
#780=IFCCLASSIFICATIONREFERENCE($,'[L]TT?','Miksende komponent',#767,$,$);
|
||||
#781=IFCCLASSIFICATIONREFERENCE($,'[L]TTA','Befugter',#780,$,$);
|
||||
#782=IFCCLASSIFICATIONREFERENCE($,'[L]TTB','Mikser',#780,$,$);
|
||||
#783=IFCCLASSIFICATIONREFERENCE($,'[L]TTC','T\X2\00E5\X0\gegenerator',#780,$,$);
|
||||
#784=IFCCLASSIFICATIONREFERENCE($,'[L]U??','Fastholdende komponent',#387,$,$);
|
||||
#785=IFCCLASSIFICATIONREFERENCE($,'[L]UA?','Indkapslende komponent',#784,$,$);
|
||||
#786=IFCCLASSIFICATIONREFERENCE($,'[L]UAA','El-tavle',#785,$,$);
|
||||
#787=IFCCLASSIFICATIONREFERENCE($,'[L]UAB','Rack',#785,$,$);
|
||||
#788=IFCCLASSIFICATIONREFERENCE($,'[L]UAC','Belysningsarmatur',#785,$,$);
|
||||
#789=IFCCLASSIFICATIONREFERENCE($,'[L]UAD','Skab for slangevinder',#785,$,$);
|
||||
#790=IFCCLASSIFICATIONREFERENCE($,'[L]UB?','Underst\X2\00F8\X0\ttende komponent',#784,$,$);
|
||||
#791=IFCCLASSIFICATIONREFERENCE($,'[L]UBA','Kabelf\X2\00F8\X0\ringsvej',#790,$,$);
|
||||
#792=IFCCLASSIFICATIONREFERENCE($,'[L]UBB','Oph\X2\00E6\X0\ng',#790,$,$);
|
||||
#793=IFCCLASSIFICATIONREFERENCE($,'[L]UBC','Isolator',#790,$,$);
|
||||
#794=IFCCLASSIFICATIONREFERENCE($,'[L]UBD','Mast',#790,$,$);
|
||||
#795=IFCCLASSIFICATIONREFERENCE($,'[L]UK?','Konstruktiv komponent i undergrunden',#784,$,$);
|
||||
#796=IFCCLASSIFICATIONREFERENCE($,'[L]UKA','B\X2\00E6\X0\relag',#795,$,$);
|
||||
#797=IFCCLASSIFICATIONREFERENCE($,'[L]UKB','Afretningslag',#795,$,$);
|
||||
#798=IFCCLASSIFICATIONREFERENCE($,'[L]UKC','Jordanker',#795,$,$);
|
||||
#799=IFCCLASSIFICATIONREFERENCE($,'[L]UKD','Fundamentss\X2\00F8\X0\jle',#795,$,$);
|
||||
#800=IFCCLASSIFICATIONREFERENCE($,'[L]UKE','Fundamentsbj\X2\00E6\X0\lke',#795,$,$);
|
||||
#801=IFCCLASSIFICATIONREFERENCE($,'[L]UKF','Fundamentsd\X2\00E6\X0\kplade',#795,$,$);
|
||||
#802=IFCCLASSIFICATIONREFERENCE($,'[L]UKG','Fundamentsmassiv',#795,$,$);
|
||||
#803=IFCCLASSIFICATIONREFERENCE($,'[L]UKH','Fundamentsv\X2\00E6\X0\gplade',#795,$,$);
|
||||
#804=IFCCLASSIFICATIONREFERENCE($,'[L]UL?','Konstruktiv komponent udenfor undergrunden',#784,$,$);
|
||||
#805=IFCCLASSIFICATIONREFERENCE($,'[L]ULC','Sokkel',#804,$,$);
|
||||
#806=IFCCLASSIFICATIONREFERENCE($,'[L]ULD','S\X2\00F8\X0\jle',#804,$,$);
|
||||
#807=IFCCLASSIFICATIONREFERENCE($,'[L]ULE','Bj\X2\00E6\X0\lke',#804,$,$);
|
||||
#808=IFCCLASSIFICATIONREFERENCE($,'[L]ULF','Tr\X2\00E6\X0\kb\X2\00E5\X0\nd',#804,$,$);
|
||||
#809=IFCCLASSIFICATIONREFERENCE($,'[L]ULG','Sten',#804,$,$);
|
||||
#810=IFCCLASSIFICATIONREFERENCE($,'[L]ULH','Blok',#804,$,$);
|
||||
#811=IFCCLASSIFICATIONREFERENCE($,'[L]ULJ','Massiv',#804,$,$);
|
||||
#812=IFCCLASSIFICATIONREFERENCE($,'[L]ULK','D\X2\00E6\X0\kplade',#804,$,$);
|
||||
#813=IFCCLASSIFICATIONREFERENCE($,'[L]ULL','Undergulv',#804,$,$);
|
||||
#814=IFCCLASSIFICATIONREFERENCE($,'[L]ULM','V\X2\00E6\X0\gplade',#804,$,$);
|
||||
#815=IFCCLASSIFICATIONREFERENCE($,'[L]ULN','Konsol',#804,$,$);
|
||||
#816=IFCCLASSIFICATIONREFERENCE($,'[L]ULP','Vange',#804,$,$);
|
||||
#817=IFCCLASSIFICATIONREFERENCE($,'[L]ULQ','Trin',#804,$,$);
|
||||
#818=IFCCLASSIFICATIONREFERENCE($,'[L]ULR','Baluster',#804,$,$);
|
||||
#819=IFCCLASSIFICATIONREFERENCE($,'[L]ULS','Underlag',#804,$,$);
|
||||
#820=IFCCLASSIFICATIONREFERENCE($,'[L]ULT','Lejeplade',#804,$,$);
|
||||
#821=IFCCLASSIFICATIONREFERENCE($,'[L]ULU','Opbinding',#804,$,$);
|
||||
#822=IFCCLASSIFICATIONREFERENCE($,'[L]UM?','Forst\X2\00E6\X0\rkende komponent',#784,$,$);
|
||||
#823=IFCCLASSIFICATIONREFERENCE($,'[L]UMA','Armeringsstang',#822,$,$);
|
||||
#824=IFCCLASSIFICATIONREFERENCE($,'[L]UMB','Armeringsv\X2\00E6\X0\v',#822,$,$);
|
||||
#825=IFCCLASSIFICATIONREFERENCE($,'[L]UMC','Forst\X2\00E6\X0\rkningslag',#822,$,$);
|
||||
#826=IFCCLASSIFICATIONREFERENCE($,'[L]UN?','Indrammende komponent',#784,$,$);
|
||||
#827=IFCCLASSIFICATIONREFERENCE($,'[L]UNA','Karm',#826,$,$);
|
||||
#828=IFCCLASSIFICATIONREFERENCE($,'[L]UNB','D\X2\00F8\X0\rtrin',#826,$,$);
|
||||
#829=IFCCLASSIFICATIONREFERENCE($,'[L]UNC','Ramme',#826,$,$);
|
||||
#830=IFCCLASSIFICATIONREFERENCE($,'[L]UND','Sprosse',#826,$,$);
|
||||
#831=IFCCLASSIFICATIONREFERENCE($,'[L]UP?','Samlende komponent',#784,$,$);
|
||||
#832=IFCCLASSIFICATIONREFERENCE($,'[L]UPA','Samlingsanordning',#831,$,$);
|
||||
#833=IFCCLASSIFICATIONREFERENCE($,'[L]UPB','Konstruktiv fuge',#831,$,$);
|
||||
#834=IFCCLASSIFICATIONREFERENCE($,'[L]UPC','Mekanisk samling',#831,$,$);
|
||||
#835=IFCCLASSIFICATIONREFERENCE($,'[L]UPD','Kemisk samling',#831,$,$);
|
||||
#836=IFCCLASSIFICATIONREFERENCE($,'[L]UQ?','Forbindelsesmiddel',#784,$,$);
|
||||
#837=IFCCLASSIFICATIONREFERENCE($,'[L]UQA','Permanent mekanisk fastg\X2\00F8\X0\relsesmiddel',#836,$,$);
|
||||
#838=IFCCLASSIFICATIONREFERENCE($,'[L]UQB','Reversibelt mekanisk fastg\X2\00F8\X0\relsesmiddel',#836,$,$);
|
||||
#839=IFCCLASSIFICATIONREFERENCE($,'[L]UQC','Kemisk fastg\X2\00F8\X0\relsesmiddel',#836,$,$);
|
||||
#840=IFCCLASSIFICATIONREFERENCE($,'[L]W??','Transporterende komponent',#387,$,$);
|
||||
#841=IFCCLASSIFICATIONREFERENCE($,'[L]WB?','H\X2\00F8\X0\jsp\X2\00E6\X0\ndingstransporterende komponent',#840,$,$);
|
||||
#842=IFCCLASSIFICATIONREFERENCE($,'[L]WBA','H\X2\00F8\X0\jsp\X2\00E6\X0\ndingskanalskinne',#841,$,$);
|
||||
#843=IFCCLASSIFICATIONREFERENCE($,'[L]WBB','H\X2\00F8\X0\jsp\X2\00E6\X0\ndingskabel',#841,$,$);
|
||||
#844=IFCCLASSIFICATIONREFERENCE($,'[L]WD?','Lavsp\X2\00E6\X0\ndingstransporterende komponent',#840,$,$);
|
||||
#845=IFCCLASSIFICATIONREFERENCE($,'[L]WDA','Lavsp\X2\00E6\X0\ningskanalskinne',#844,$,$);
|
||||
#846=IFCCLASSIFICATIONREFERENCE($,'[L]WDB','Lavsp\X2\00E6\X0\ndingskabel',#844,$,$);
|
||||
#847=IFCCLASSIFICATIONREFERENCE($,'[L]WE?','Potentialetransporterende komponent',#840,$,$);
|
||||
#848=IFCCLASSIFICATIONREFERENCE($,'[L]WEA','Jordskinne',#847,$,$);
|
||||
#849=IFCCLASSIFICATIONREFERENCE($,'[L]WEB','Jordleder',#847,$,$);
|
||||
#850=IFCCLASSIFICATIONREFERENCE($,'[L]WEC','Udligningsskinne',#847,$,$);
|
||||
#851=IFCCLASSIFICATIONREFERENCE($,'[L]WED','Udligningsforbindelse',#847,$,$);
|
||||
#852=IFCCLASSIFICATIONREFERENCE($,'[L]WG?','Elektronisk signaltransporterende komponent',#840,$,$);
|
||||
#853=IFCCLASSIFICATIONREFERENCE($,'[L]WGA','Styrekabel',#852,$,$);
|
||||
#854=IFCCLASSIFICATIONREFERENCE($,'[L]WGB','Datakabel',#852,$,$);
|
||||
#855=IFCCLASSIFICATIONREFERENCE($,'[L]WGC','Antennekabel',#852,$,$);
|
||||
#856=IFCCLASSIFICATIONREFERENCE($,'[L]WH?','Optisk signaltransporterende komponent',#840,$,$);
|
||||
#857=IFCCLASSIFICATIONREFERENCE($,'[L]WHA','Fiberkabel',#856,$,$);
|
||||
#858=IFCCLASSIFICATIONREFERENCE($,'[L]WHB','Lysfiberkabel',#856,$,$);
|
||||
#859=IFCCLASSIFICATIONREFERENCE($,'[L]WM?','\X2\00C5\X0\ben v\X2\00E6\X0\sketransporterende komponent',#840,$,$);
|
||||
#860=IFCCLASSIFICATIONREFERENCE($,'[L]WMA','Dr\X2\00E6\X0\nlag',#859,$,$);
|
||||
#861=IFCCLASSIFICATIONREFERENCE($,'[L]WMB','Rende',#859,$,$);
|
||||
#862=IFCCLASSIFICATIONREFERENCE($,'[L]WMC','Indd\X2\00E6\X0\kning',#859,$,$);
|
||||
#863=IFCCLASSIFICATIONREFERENCE($,'[L]WMD','Vandn\X2\00E6\X0\se',#859,$,$);
|
||||
#864=IFCCLASSIFICATIONREFERENCE($,'[L]WME','Fodblik',#859,$,$);
|
||||
#865=IFCCLASSIFICATIONREFERENCE($,'[L]WP?','Lukket transporterende komponent',#840,$,$);
|
||||
#866=IFCCLASSIFICATIONREFERENCE($,'[L]WPA','R\X2\00F8\X0\r',#865,$,$);
|
||||
#867=IFCCLASSIFICATIONREFERENCE($,'[L]WPB','Luftkanal',#865,$,$);
|
||||
#868=IFCCLASSIFICATIONREFERENCE($,'[L]WPC','Vandslange',#865,$,$);
|
||||
#869=IFCCLASSIFICATIONREFERENCE($,'[L]WPD','Luftslange',#865,$,$);
|
||||
#870=IFCCLASSIFICATIONREFERENCE($,'[L]WPE','Skorsten',#865,$,$);
|
||||
#871=IFCCLASSIFICATIONREFERENCE($,'[L]WU?','Organisk stoftransporterende komponent',#840,$,$);
|
||||
#872=IFCCLASSIFICATIONREFERENCE($,'[L]WUA','V\X2\00E6\X0\kstlag',#871,$,$);
|
||||
#873=IFCCLASSIFICATIONREFERENCE($,'[L]X??','Forbindende komponent',#387,$,$);
|
||||
#874=IFCCLASSIFICATIONREFERENCE($,'[L]XD?','Effektforbindende komponent',#873,$,$);
|
||||
#875=IFCCLASSIFICATIONREFERENCE($,'[L]XDA','Klemme',#874,$,$);
|
||||
#876=IFCCLASSIFICATIONREFERENCE($,'[L]XDB','Stikkontakt',#874,$,$);
|
||||
#877=IFCCLASSIFICATIONREFERENCE($,'[L]XDC','El-d\X2\00E5\X0\se',#874,$,$);
|
||||
#878=IFCCLASSIFICATIONREFERENCE($,'[L]XDD','Udtag',#874,$,$);
|
||||
#879=IFCCLASSIFICATIONREFERENCE($,'[L]XDE','Str\X2\00F8\X0\mfordeler',#874,$,$);
|
||||
#880=IFCCLASSIFICATIONREFERENCE($,'[L]XDF','Teknikbr\X2\00F8\X0\nd',#874,$,$);
|
||||
#881=IFCCLASSIFICATIONREFERENCE($,'[L]XE?','Potentialeforbindende komponent',#873,$,$);
|
||||
#882=IFCCLASSIFICATIONREFERENCE($,'[L]XEA','Jordklemme',#881,$,$);
|
||||
#883=IFCCLASSIFICATIONREFERENCE($,'[L]XEB','Udligningsklemme',#881,$,$);
|
||||
#884=IFCCLASSIFICATIONREFERENCE($,'[L]XEC','Stelklemme',#881,$,$);
|
||||
#885=IFCCLASSIFICATIONREFERENCE($,'[L]XED','Jordelektrode',#881,$,$);
|
||||
#886=IFCCLASSIFICATIONREFERENCE($,'[L]XEE','Indfanger',#881,$,$);
|
||||
#887=IFCCLASSIFICATIONREFERENCE($,'[L]XG?','Signalforbindende komponent',#873,$,$);
|
||||
#888=IFCCLASSIFICATIONREFERENCE($,'[L]XGA','Signalstik',#887,$,$);
|
||||
#889=IFCCLASSIFICATIONREFERENCE($,'[L]XGB','Signald\X2\00E5\X0\se',#887,$,$);
|
||||
#890=IFCCLASSIFICATIONREFERENCE($,'[L]XGC','Patchpanel',#887,$,$);
|
||||
#891=IFCCLASSIFICATIONREFERENCE($,'[L]XGD','Signalfordeler',#887,$,$);
|
||||
#892=IFCCLASSIFICATIONREFERENCE($,'[L]XL?','Kapsel-flow forbindende komponent',#873,$,$);
|
||||
#893=IFCCLASSIFICATIONREFERENCE($,'[L]XLA','Vandhane',#892,$,$);
|
||||
#894=IFCCLASSIFICATIONREFERENCE($,'[L]XLB','Bruser',#892,$,$);
|
||||
#895=IFCCLASSIFICATIONREFERENCE($,'[L]XLC','Vask',#892,$,$);
|
||||
#896=IFCCLASSIFICATIONREFERENCE($,'[L]XLD','Toilet',#892,$,$);
|
||||
#897=IFCCLASSIFICATIONREFERENCE($,'[L]XLE','Urinal',#892,$,$);
|
||||
#898=IFCCLASSIFICATIONREFERENCE($,'[L]XLF','Drypkop',#892,$,$);
|
||||
#899=IFCCLASSIFICATIONREFERENCE($,'[L]XLG','Udluftning',#892,$,$);
|
||||
#900=IFCCLASSIFICATIONREFERENCE($,'[L]XLH','Gulvafl\X2\00F8\X0\b',#892,$,$);
|
||||
#901=IFCCLASSIFICATIONREFERENCE($,'[L]XM?','Flow-flow forbindende komponent',#873,$,$);
|
||||
#902=IFCCLASSIFICATIONREFERENCE($,'[L]XMA','Slangekobling',#901,$,$);
|
||||
#903=IFCCLASSIFICATIONREFERENCE($,'[L]XMB','R\X2\00F8\X0\rkobling',#901,$,$);
|
||||
#904=IFCCLASSIFICATIONREFERENCE($,'[L]XMC','R\X2\00F8\X0\rfitting',#901,$,$);
|
||||
#905=IFCCLASSIFICATIONREFERENCE($,'[L]XMD','R\X2\00F8\X0\rflange',#901,$,$);
|
||||
#906=IFCCLASSIFICATIONREFERENCE($,'[L]XME','Br\X2\00F8\X0\nd',#901,$,$);
|
||||
#907=IFCCLASSIFICATIONREFERENCE($,'[L]XMF','Kanalfitting',#901,$,$);
|
||||
#908=IFCCLASSIFICATIONREFERENCE($,'[L]XS?','Niveauforbindende komponent',#873,$,$);
|
||||
#909=IFCCLASSIFICATIONREFERENCE($,'[L]XSA','Repos',#908,$,$);
|
||||
#910=IFCCLASSIFICATIONREFERENCE($,'[L]XSB','Trappel\X2\00F8\X0\b',#908,$,$);
|
||||
#911=IFCCLASSIFICATIONREFERENCE($,'[L]XSC','Stige',#908,$,$);
|
||||
#912=IFCCLASSIFICATIONREFERENCE($,'[L]XT?','Rumforbindende komponent',#873,$,$);
|
||||
#913=IFCCLASSIFICATIONREFERENCE($,'[L]XTA','Hul',#912,$,$);
|
||||
#914=IFCCLASSIFICATIONREFERENCE($,'[L]XTB','Udsparing',#912,$,$);
|
||||
#915=IFCCLASSIFICATIONREFERENCE($,'[L]XTC','Udgravning',#912,$,$);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -0,0 +1,924 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
|
||||
FILE_NAME('','2020-04-23T18:09:29',(),(),'IfcOpenShell 0.6.0b0','IfcOpenShell 0.6.0b0','');
|
||||
FILE_SCHEMA(('IFC4'));
|
||||
ENDSEC;
|
||||
DATA;
|
||||
#1=IFCPROJECTLIBRARY($,$,'CCS',$,$,$,$,$,$);
|
||||
#2=IFCCLASSIFICATION('Molio','R1 (English version)','2017-06-21','CCS','CCS provides the building and civil engineering sector with a common language and methods for creating unambiguous exchange of information throughout the construction process from idea to operation.','http://ccs.bips.dk/News/CCS_Vaerktoejer',$);
|
||||
#3=IFCRELASSOCIATESCLASSIFICATION('30D4Z$ts503eGUqY6ZfKw5',$,$,$,(#1),#2);
|
||||
#4=IFCCLASSIFICATIONREFERENCE($,'Construction Entities by Function',$,#2,'Assigns a functional classification to IFC Building and IFC Site based on this CCS (R0) specification.',$);
|
||||
#5=IFCCLASSIFICATIONREFERENCE($,'[E]A??','Building for human needs and human activity',#4,$,$);
|
||||
#6=IFCCLASSIFICATIONREFERENCE($,'[E]AA?','Residential building',#5,$,$);
|
||||
#7=IFCCLASSIFICATIONREFERENCE($,'[E]AAA','Single-family house',#6,$,$);
|
||||
#8=IFCCLASSIFICATIONREFERENCE($,'[E]AAB','House for multiple occupation',#6,$,$);
|
||||
#9=IFCCLASSIFICATIONREFERENCE($,'[E]AAC','Housing complex',#6,$,$);
|
||||
#10=IFCCLASSIFICATIONREFERENCE($,'[E]AB?','Hotel and restaurant building',#5,$,$);
|
||||
#11=IFCCLASSIFICATIONREFERENCE($,'[E]ABA','Hotel building',#10,$,$);
|
||||
#12=IFCCLASSIFICATIONREFERENCE($,'[E]ABB','Youth hostel building',#10,$,$);
|
||||
#13=IFCCLASSIFICATIONREFERENCE($,'[E]ABC','Restaurant building',#10,$,$);
|
||||
#14=IFCCLASSIFICATIONREFERENCE($,'[E]AC?','Hygiene building',#5,$,$);
|
||||
#15=IFCCLASSIFICATIONREFERENCE($,'[E]ACA','Toilet building',#14,$,$);
|
||||
#16=IFCCLASSIFICATIONREFERENCE($,'[E]ACB','Baths building',#14,$,$);
|
||||
#17=IFCCLASSIFICATIONREFERENCE($,'[E]ACC','Sauna building',#14,$,$);
|
||||
#18=IFCCLASSIFICATIONREFERENCE($,'[E]ACD','Changing building',#14,$,$);
|
||||
#19=IFCCLASSIFICATIONREFERENCE($,'[E]AD?','Isolation building',#5,$,$);
|
||||
#20=IFCCLASSIFICATIONREFERENCE($,'[E]ADA','Shelter building',#19,$,$);
|
||||
#21=IFCCLASSIFICATIONREFERENCE($,'[E]ADB','Prison building',#19,$,$);
|
||||
#22=IFCCLASSIFICATIONREFERENCE($,'[E]AE?','Administration building',#5,$,$);
|
||||
#23=IFCCLASSIFICATIONREFERENCE($,'[E]AEA','Office building',#22,$,$);
|
||||
#24=IFCCLASSIFICATIONREFERENCE($,'[E]AEB','Service building',#22,$,$);
|
||||
#25=IFCCLASSIFICATIONREFERENCE($,'[E]AEC','Emergency services building',#22,$,$);
|
||||
#26=IFCCLASSIFICATIONREFERENCE($,'[E]AF?','Production building',#5,$,$);
|
||||
#27=IFCCLASSIFICATIONREFERENCE($,'[E]AFA','Fabrication building',#26,$,$);
|
||||
#28=IFCCLASSIFICATIONREFERENCE($,'[E]AFB','Workshop building',#26,$,$);
|
||||
#29=IFCCLASSIFICATIONREFERENCE($,'[E]AG?','Trading building',#5,$,$);
|
||||
#30=IFCCLASSIFICATIONREFERENCE($,'[E]AGA','Shop building',#29,$,$);
|
||||
#31=IFCCLASSIFICATIONREFERENCE($,'[E]AGB','Shopping centre',#29,$,$);
|
||||
#32=IFCCLASSIFICATIONREFERENCE($,'[E]AGC','Gallery',#29,$,$);
|
||||
#33=IFCCLASSIFICATIONREFERENCE($,'[E]AGD','Exhibition hall',#29,$,$);
|
||||
#34=IFCCLASSIFICATIONREFERENCE($,'[E]AH?','Teaching building',#5,$,$);
|
||||
#35=IFCCLASSIFICATIONREFERENCE($,'[E]AHA','School building',#34,$,$);
|
||||
#36=IFCCLASSIFICATIONREFERENCE($,'[E]AHB','University building',#34,$,$);
|
||||
#37=IFCCLASSIFICATIONREFERENCE($,'[E]AHC','Course centre building',#34,$,$);
|
||||
#38=IFCCLASSIFICATIONREFERENCE($,'[E]AJ?','Care facility',#5,$,$);
|
||||
#39=IFCCLASSIFICATIONREFERENCE($,'[E]AJA','Children''s institution building',#38,$,$);
|
||||
#40=IFCCLASSIFICATIONREFERENCE($,'[E]AJB','Hospital building',#38,$,$);
|
||||
#41=IFCCLASSIFICATIONREFERENCE($,'[E]AJC','Care home building',#38,$,$);
|
||||
#42=IFCCLASSIFICATIONREFERENCE($,'[E]AK?','Leisure facility',#5,$,$);
|
||||
#43=IFCCLASSIFICATIONREFERENCE($,'[E]AKA','Summer house',#42,$,$);
|
||||
#44=IFCCLASSIFICATIONREFERENCE($,'[E]AKB','Allotment hut',#42,$,$);
|
||||
#45=IFCCLASSIFICATIONREFERENCE($,'[E]AKC','Gazebo',#42,$,$);
|
||||
#46=IFCCLASSIFICATIONREFERENCE($,'[E]AKD','Conservatory',#42,$,$);
|
||||
#47=IFCCLASSIFICATIONREFERENCE($,'[E]AL?','Sports building',#5,$,$);
|
||||
#48=IFCCLASSIFICATIONREFERENCE($,'[E]ALA','Sports hall',#47,$,$);
|
||||
#49=IFCCLASSIFICATIONREFERENCE($,'[E]ALB','Stand',#47,$,$);
|
||||
#50=IFCCLASSIFICATIONREFERENCE($,'[E]ALC','Swimming hall',#47,$,$);
|
||||
#51=IFCCLASSIFICATIONREFERENCE($,'[E]ALD','Riding school',#47,$,$);
|
||||
#52=IFCCLASSIFICATIONREFERENCE($,'[E]ALE','Diving tower',#47,$,$);
|
||||
#53=IFCCLASSIFICATIONREFERENCE($,'[E]ALF','Bowling hall',#47,$,$);
|
||||
#54=IFCCLASSIFICATIONREFERENCE($,'[E]AM?','Cultural building',#5,$,$);
|
||||
#55=IFCCLASSIFICATIONREFERENCE($,'[E]AMA','Theatre building',#54,$,$);
|
||||
#56=IFCCLASSIFICATIONREFERENCE($,'[E]AMB','Concert building',#54,$,$);
|
||||
#57=IFCCLASSIFICATIONREFERENCE($,'[E]AMC','Exhibition building',#54,$,$);
|
||||
#58=IFCCLASSIFICATIONREFERENCE($,'[E]AMD','Planetarium',#54,$,$);
|
||||
#59=IFCCLASSIFICATIONREFERENCE($,'[E]AME','Cinema building',#54,$,$);
|
||||
#60=IFCCLASSIFICATIONREFERENCE($,'[E]AMF','Library building',#54,$,$);
|
||||
#61=IFCCLASSIFICATIONREFERENCE($,'[E]AMG','Multi-functional building',#54,$,$);
|
||||
#62=IFCCLASSIFICATIONREFERENCE($,'[E]AN?','Assembly hall',#5,$,$);
|
||||
#63=IFCCLASSIFICATIONREFERENCE($,'[E]ANA','Residents'' hall',#62,$,$);
|
||||
#64=IFCCLASSIFICATIONREFERENCE($,'[E]ANB','Local hall',#62,$,$);
|
||||
#65=IFCCLASSIFICATIONREFERENCE($,'[E]ANC','Clubhouse',#62,$,$);
|
||||
#66=IFCCLASSIFICATIONREFERENCE($,'[E]AND','Religious building',#62,$,$);
|
||||
#67=IFCCLASSIFICATIONREFERENCE($,'[E]AP?','Storage building',#5,$,$);
|
||||
#68=IFCCLASSIFICATIONREFERENCE($,'[E]APA','Materials store',#67,$,$);
|
||||
#69=IFCCLASSIFICATIONREFERENCE($,'[E]APB','Equipment building (garage)',#67,$,$);
|
||||
#70=IFCCLASSIFICATIONREFERENCE($,'[E]APC','Animal house',#67,$,$);
|
||||
#71=IFCCLASSIFICATIONREFERENCE($,'[E]APD','Greenhouse',#67,$,$);
|
||||
#72=IFCCLASSIFICATIONREFERENCE($,'[E]APE','Mortuary',#67,$,$);
|
||||
#73=IFCCLASSIFICATIONREFERENCE($,'[E]AQ?','Access building',#5,$,$);
|
||||
#74=IFCCLASSIFICATIONREFERENCE($,'[E]AQA','Passageway',#73,$,$);
|
||||
#75=IFCCLASSIFICATIONREFERENCE($,'[E]AQB','Staircase tower',#73,$,$);
|
||||
#76=IFCCLASSIFICATIONREFERENCE($,'[E]AQC','Lift tower',#73,$,$);
|
||||
#77=IFCCLASSIFICATIONREFERENCE($,'[E]AQD','Gatehouse',#73,$,$);
|
||||
#78=IFCCLASSIFICATIONREFERENCE($,'[E]B??','Plant room',#4,$,$);
|
||||
#79=IFCCLASSIFICATIONREFERENCE($,'[E]BA?','Production plant',#78,$,$);
|
||||
#80=IFCCLASSIFICATIONREFERENCE($,'[E]BAA','Combined heat and power station',#79,$,$);
|
||||
#81=IFCCLASSIFICATIONREFERENCE($,'[E]BAB','Water treatment works',#79,$,$);
|
||||
#82=IFCCLASSIFICATIONREFERENCE($,'[E]BAC','Raw material plant',#79,$,$);
|
||||
#83=IFCCLASSIFICATIONREFERENCE($,'[E]BB?','Linking equipment',#78,$,$);
|
||||
#84=IFCCLASSIFICATIONREFERENCE($,'[E]BBA','Signalling equipment',#83,$,$);
|
||||
#85=IFCCLASSIFICATIONREFERENCE($,'[E]BBB','Transmission mast',#83,$,$);
|
||||
#86=IFCCLASSIFICATIONREFERENCE($,'[E]BBC','Cabling',#83,$,$);
|
||||
#87=IFCCLASSIFICATIONREFERENCE($,'[E]BBD','Piped network',#83,$,$);
|
||||
#88=IFCCLASSIFICATIONREFERENCE($,'[E]BBE','Coupling equipment',#83,$,$);
|
||||
#89=IFCCLASSIFICATIONREFERENCE($,'[E]BC?','Disposal systems',#78,$,$);
|
||||
#90=IFCCLASSIFICATIONREFERENCE($,'[E]BCA','Chimney system',#89,$,$);
|
||||
#91=IFCCLASSIFICATIONREFERENCE($,'[E]BCB','Sewer system',#89,$,$);
|
||||
#92=IFCCLASSIFICATIONREFERENCE($,'[E]BD?','Transport system',#78,$,$);
|
||||
#93=IFCCLASSIFICATIONREFERENCE($,'[E]BDA','Crane equipment',#92,$,$);
|
||||
#94=IFCCLASSIFICATIONREFERENCE($,'[E]BDB','Transporter system',#92,$,$);
|
||||
#95=IFCCLASSIFICATIONREFERENCE($,'[E]BDC','Ropeway',#92,$,$);
|
||||
#96=IFCCLASSIFICATIONREFERENCE($,'[E]BE?','Storage equipment',#78,$,$);
|
||||
#97=IFCCLASSIFICATIONREFERENCE($,'[E]BEA','Measuring station',#96,$,$);
|
||||
#98=IFCCLASSIFICATIONREFERENCE($,'[E]BEB','Landfill site',#96,$,$);
|
||||
#99=IFCCLASSIFICATIONREFERENCE($,'[E]BEC','Container space',#96,$,$);
|
||||
#100=IFCCLASSIFICATIONREFERENCE($,'[E]BED','Tank farm',#96,$,$);
|
||||
#101=IFCCLASSIFICATIONREFERENCE($,'[E]BEE','Pool',#96,$,$);
|
||||
#102=IFCCLASSIFICATIONREFERENCE($,'[E]BF?','Process plant',#78,$,$);
|
||||
#103=IFCCLASSIFICATIONREFERENCE($,'[E]BFA','Pumping station',#102,$,$);
|
||||
#104=IFCCLASSIFICATIONREFERENCE($,'[E]BFB','Treatment pond',#102,$,$);
|
||||
#105=IFCCLASSIFICATIONREFERENCE($,'[E]BFC','Sludge treatment plant',#102,$,$);
|
||||
#106=IFCCLASSIFICATIONREFERENCE($,'[E]BG?','Entertainment system',#78,$,$);
|
||||
#107=IFCCLASSIFICATIONREFERENCE($,'[E]BGA','Roller-coaster',#106,$,$);
|
||||
#108=IFCCLASSIFICATIONREFERENCE($,'[E]BGB','Merry-go-round',#106,$,$);
|
||||
#109=IFCCLASSIFICATIONREFERENCE($,'[E]BGC','Ferris wheel',#106,$,$);
|
||||
#110=IFCCLASSIFICATIONREFERENCE($,'[E]BGD','Flume',#106,$,$);
|
||||
#111=IFCCLASSIFICATIONREFERENCE($,'[E]C??','Infrastructure facility',#4,$,$);
|
||||
#112=IFCCLASSIFICATIONREFERENCE($,'[E]CA?','Bridge',#111,$,$);
|
||||
#113=IFCCLASSIFICATIONREFERENCE($,'[E]CAA','Bridge',#112,$,$);
|
||||
#114=IFCCLASSIFICATIONREFERENCE($,'[E]CAB','Tunnel',#112,$,$);
|
||||
#115=IFCCLASSIFICATIONREFERENCE($,'[E]CAC','Transport canal',#112,$,$);
|
||||
#116=IFCCLASSIFICATIONREFERENCE($,'[E]CAD','Rail network',#112,$,$);
|
||||
#117=IFCCLASSIFICATIONREFERENCE($,'[E]CAE','Road',#112,$,$);
|
||||
#118=IFCCLASSIFICATIONREFERENCE($,'[E]CAF','Footpath',#112,$,$);
|
||||
#119=IFCCLASSIFICATIONREFERENCE($,'[E]CAG','Path',#112,$,$);
|
||||
#120=IFCCLASSIFICATIONREFERENCE($,'[E]CB?','Terminus',#111,$,$);
|
||||
#121=IFCCLASSIFICATIONREFERENCE($,'[E]CBA','Quay',#120,$,$);
|
||||
#122=IFCCLASSIFICATIONREFERENCE($,'[E]CBB','Platform',#120,$,$);
|
||||
#123=IFCCLASSIFICATIONREFERENCE($,'[E]CBC','Crossroads',#120,$,$);
|
||||
#124=IFCCLASSIFICATIONREFERENCE($,'[E]CBD','Rail terminus',#120,$,$);
|
||||
#125=IFCCLASSIFICATIONREFERENCE($,'[E]CBE','Airport terminal',#120,$,$);
|
||||
#126=IFCCLASSIFICATIONREFERENCE($,'[E]CBF','Bus terminus',#120,$,$);
|
||||
#127=IFCCLASSIFICATIONREFERENCE($,'[E]CBG','Ferry terminal',#120,$,$);
|
||||
#128=IFCCLASSIFICATIONREFERENCE($,'[E]CC?','Parking equipment',#111,$,$);
|
||||
#129=IFCCLASSIFICATIONREFERENCE($,'[E]CCA','Cycle park',#128,$,$);
|
||||
#130=IFCCLASSIFICATIONREFERENCE($,'[E]CCB','Car park',#128,$,$);
|
||||
#131=IFCCLASSIFICATIONREFERENCE($,'[E]CCC','Sidings system',#128,$,$);
|
||||
#132=IFCCLASSIFICATIONREFERENCE($,'[E]CCD','Airfield',#128,$,$);
|
||||
#133=IFCCLASSIFICATIONREFERENCE($,'[E]CD?','Traffic system',#111,$,$);
|
||||
#134=IFCCLASSIFICATIONREFERENCE($,'[E]CDA','Control tower',#133,$,$);
|
||||
#135=IFCCLASSIFICATIONREFERENCE($,'[E]CDB','Aerial mast',#133,$,$);
|
||||
#136=IFCCLASSIFICATIONREFERENCE($,'[E]CDC','Lighthouse',#133,$,$);
|
||||
#137=IFCCLASSIFICATIONREFERENCE($,'[E]CDD','Belfry',#133,$,$);
|
||||
#138=IFCCLASSIFICATIONREFERENCE($,'[E]CE?','Water control facility',#111,$,$);
|
||||
#139=IFCCLASSIFICATIONREFERENCE($,'[E]CEA','Dam',#138,$,$);
|
||||
#140=IFCCLASSIFICATIONREFERENCE($,'[E]CEB','Canal',#138,$,$);
|
||||
#141=IFCCLASSIFICATIONREFERENCE($,'[E]CEC','Barrage',#138,$,$);
|
||||
#142=IFCCLASSIFICATIONREFERENCE($,'[E]CED','Sluice system',#138,$,$);
|
||||
#143=IFCCLASSIFICATIONREFERENCE($,'[E]CEE','Mole',#138,$,$);
|
||||
#144=IFCCLASSIFICATIONREFERENCE($,'[E]D??','Landscape',#4,$,$);
|
||||
#145=IFCCLASSIFICATIONREFERENCE($,'[E]DA?','Natural area',#144,$,$);
|
||||
#146=IFCCLASSIFICATIONREFERENCE($,'[E]DAA','Beach',#145,$,$);
|
||||
#147=IFCCLASSIFICATIONREFERENCE($,'[E]DAB','Dunes',#145,$,$);
|
||||
#148=IFCCLASSIFICATIONREFERENCE($,'[E]DAC','Lake',#145,$,$);
|
||||
#149=IFCCLASSIFICATIONREFERENCE($,'[E]DAD','Meadow',#145,$,$);
|
||||
#150=IFCCLASSIFICATIONREFERENCE($,'[E]DAE','Wetland',#145,$,$);
|
||||
#151=IFCCLASSIFICATIONREFERENCE($,'[E]DAF','Watercourse',#145,$,$);
|
||||
#152=IFCCLASSIFICATIONREFERENCE($,'[E]DB?','Recreational area',#144,$,$);
|
||||
#153=IFCCLASSIFICATIONREFERENCE($,'[E]DBA','Garden',#152,$,$);
|
||||
#154=IFCCLASSIFICATIONREFERENCE($,'[E]DBB','Park',#152,$,$);
|
||||
#155=IFCCLASSIFICATIONREFERENCE($,'[E]DBC','Campsite',#152,$,$);
|
||||
#156=IFCCLASSIFICATIONREFERENCE($,'[E]DC?','Assembly area',#144,$,$);
|
||||
#157=IFCCLASSIFICATIONREFERENCE($,'[E]DCA','Meeting place',#156,$,$);
|
||||
#158=IFCCLASSIFICATIONREFERENCE($,'[E]DCB','Market square',#156,$,$);
|
||||
#159=IFCCLASSIFICATIONREFERENCE($,'[E]DCC','Training site',#156,$,$);
|
||||
#160=IFCCLASSIFICATIONREFERENCE($,'[E]DCD','Playground',#156,$,$);
|
||||
#161=IFCCLASSIFICATIONREFERENCE($,'[E]DD?','Production area',#144,$,$);
|
||||
#162=IFCCLASSIFICATIONREFERENCE($,'[E]DDA','Plot',#161,$,$);
|
||||
#163=IFCCLASSIFICATIONREFERENCE($,'[E]DDB','Quarry',#161,$,$);
|
||||
#164=IFCCLASSIFICATIONREFERENCE($,'[E]DDC','Pit',#161,$,$);
|
||||
#165=IFCCLASSIFICATIONREFERENCE($,'[E]DDD','Woodland',#161,$,$);
|
||||
#166=IFCCLASSIFICATIONREFERENCE($,'[E]DDE','Field',#161,$,$);
|
||||
#167=IFCCLASSIFICATIONREFERENCE($,'[E]DE?','Sports field',#144,$,$);
|
||||
#168=IFCCLASSIFICATIONREFERENCE($,'[E]DEA','Playing field',#167,$,$);
|
||||
#169=IFCCLASSIFICATIONREFERENCE($,'[E]DEB','Race track',#167,$,$);
|
||||
#170=IFCCLASSIFICATIONREFERENCE($,'[E]DEC','Athletics track',#167,$,$);
|
||||
#171=IFCCLASSIFICATIONREFERENCE($,'[E]DED','Swimming pool',#167,$,$);
|
||||
#172=IFCCLASSIFICATIONREFERENCE($,'[E]E??','Monument',#4,$,$);
|
||||
#173=IFCCLASSIFICATIONREFERENCE($,'[E]EA?','Memorial',#172,$,$);
|
||||
#174=IFCCLASSIFICATIONREFERENCE($,'[E]EAA','Cultural monument',#173,$,$);
|
||||
#175=IFCCLASSIFICATIONREFERENCE($,'[E]EAB','Ancient monument',#173,$,$);
|
||||
#176=IFCCLASSIFICATIONREFERENCE($,'[E]Z??','Undefined',#4,$,$);
|
||||
#177=IFCCLASSIFICATIONREFERENCE($,'[E]ZZ?','Undefined',#176,$,$);
|
||||
#178=IFCCLASSIFICATIONREFERENCE($,'[E]ZZZ','Undefined',#177,$,$);
|
||||
#179=IFCCLASSIFICATIONREFERENCE($,'Construction Spaces by Function',$,#2,'Assigns a functional classification to IFC Spaces (= ARCHICAD Zones) and IFC Zones based on this CCS (R1) specification.\X2\000A00090009\X0\',$);
|
||||
#180=IFCCLASSIFICATIONREFERENCE($,'[A]A??','Space for human needs',#179,$,$);
|
||||
#181=IFCCLASSIFICATIONREFERENCE($,'[A]AA?','Occupiable room',#180,$,$);
|
||||
#182=IFCCLASSIFICATIONREFERENCE($,'[A]AAA','Room',#181,$,$);
|
||||
#183=IFCCLASSIFICATIONREFERENCE($,'[A]AAB','Living room',#181,$,$);
|
||||
#184=IFCCLASSIFICATIONREFERENCE($,'[A]AAC','Waiting room',#181,$,$);
|
||||
#185=IFCCLASSIFICATIONREFERENCE($,'[A]AAD','Courtyard',#181,$,$);
|
||||
#186=IFCCLASSIFICATIONREFERENCE($,'[A]AB?','Washroom',#180,$,$);
|
||||
#187=IFCCLASSIFICATIONREFERENCE($,'[A]ABA','Bathroom',#186,$,$);
|
||||
#188=IFCCLASSIFICATIONREFERENCE($,'[A]ABB','Toilet',#186,$,$);
|
||||
#189=IFCCLASSIFICATIONREFERENCE($,'[A]ABC','Nappy change',#186,$,$);
|
||||
#190=IFCCLASSIFICATIONREFERENCE($,'[A]ABD','Changing room',#186,$,$);
|
||||
#191=IFCCLASSIFICATIONREFERENCE($,'[A]ABE','Bathing room',#186,$,$);
|
||||
#192=IFCCLASSIFICATIONREFERENCE($,'[A]ABF','Sauna',#186,$,$);
|
||||
#193=IFCCLASSIFICATIONREFERENCE($,'[A]AC?','Isolation room',#180,$,$);
|
||||
#194=IFCCLASSIFICATIONREFERENCE($,'[A]ACA','Shelter',#193,$,$);
|
||||
#195=IFCCLASSIFICATIONREFERENCE($,'[A]ACB','Cell',#193,$,$);
|
||||
#196=IFCCLASSIFICATIONREFERENCE($,'[A]AD?','Workroom',#180,$,$);
|
||||
#197=IFCCLASSIFICATIONREFERENCE($,'[A]ADA','Office',#196,$,$);
|
||||
#198=IFCCLASSIFICATIONREFERENCE($,'[A]ADB','Meeting room',#196,$,$);
|
||||
#199=IFCCLASSIFICATIONREFERENCE($,'[A]ADC','Reception',#196,$,$);
|
||||
#200=IFCCLASSIFICATIONREFERENCE($,'[A]ADD','Sales area',#196,$,$);
|
||||
#201=IFCCLASSIFICATIONREFERENCE($,'[A]ADE','Teaching room',#196,$,$);
|
||||
#202=IFCCLASSIFICATIONREFERENCE($,'[A]ADF','Study',#196,$,$);
|
||||
#203=IFCCLASSIFICATIONREFERENCE($,'[A]ADG','Laundry',#196,$,$);
|
||||
#204=IFCCLASSIFICATIONREFERENCE($,'[A]ADH','Packing room',#196,$,$);
|
||||
#205=IFCCLASSIFICATIONREFERENCE($,'[A]ADJ','Treatment room',#196,$,$);
|
||||
#206=IFCCLASSIFICATIONREFERENCE($,'[A]ADK','Examining room',#196,$,$);
|
||||
#207=IFCCLASSIFICATIONREFERENCE($,'[A]ADL','Observation room',#196,$,$);
|
||||
#208=IFCCLASSIFICATIONREFERENCE($,'[A]ADM','Viewing room',#196,$,$);
|
||||
#209=IFCCLASSIFICATIONREFERENCE($,'[A]ADN','Media workshop',#196,$,$);
|
||||
#210=IFCCLASSIFICATIONREFERENCE($,'[A]ADP','Goods reception room',#196,$,$);
|
||||
#211=IFCCLASSIFICATIONREFERENCE($,'[A]ADQ','Mail room',#196,$,$);
|
||||
#212=IFCCLASSIFICATIONREFERENCE($,'[A]AE?','Production room',#180,$,$);
|
||||
#213=IFCCLASSIFICATIONREFERENCE($,'[A]AEA','Kitchen',#212,$,$);
|
||||
#214=IFCCLASSIFICATIONREFERENCE($,'[A]AEB','Materials workshop',#212,$,$);
|
||||
#215=IFCCLASSIFICATIONREFERENCE($,'[A]AEC','Machine shop',#212,$,$);
|
||||
#216=IFCCLASSIFICATIONREFERENCE($,'[A]AED','Studio',#212,$,$);
|
||||
#217=IFCCLASSIFICATIONREFERENCE($,'[A]AF?','Laboratory',#180,$,$);
|
||||
#218=IFCCLASSIFICATIONREFERENCE($,'[A]AFA','Technical laboratory',#217,$,$);
|
||||
#219=IFCCLASSIFICATIONREFERENCE($,'[A]AFB','Materials laboratory',#217,$,$);
|
||||
#220=IFCCLASSIFICATIONREFERENCE($,'[A]AFC','Biology laboratory',#217,$,$);
|
||||
#221=IFCCLASSIFICATIONREFERENCE($,'[A]AG?','Practice room',#180,$,$);
|
||||
#222=IFCCLASSIFICATIONREFERENCE($,'[A]AGA','Sports hall',#221,$,$);
|
||||
#223=IFCCLASSIFICATIONREFERENCE($,'[A]AGB','Training room',#221,$,$);
|
||||
#224=IFCCLASSIFICATIONREFERENCE($,'[A]AGC','Rehearsal room',#221,$,$);
|
||||
#225=IFCCLASSIFICATIONREFERENCE($,'[A]AGD','Stage',#221,$,$);
|
||||
#226=IFCCLASSIFICATIONREFERENCE($,'[A]AGE','Playroom',#221,$,$);
|
||||
#227=IFCCLASSIFICATIONREFERENCE($,'[A]AH?','Assembly room',#180,$,$);
|
||||
#228=IFCCLASSIFICATIONREFERENCE($,'[A]AHA','Dining room',#227,$,$);
|
||||
#229=IFCCLASSIFICATIONREFERENCE($,'[A]AHB','Auditorium',#227,$,$);
|
||||
#230=IFCCLASSIFICATIONREFERENCE($,'[A]AHC','Hall',#227,$,$);
|
||||
#231=IFCCLASSIFICATIONREFERENCE($,'[A]AHD','Gallery',#227,$,$);
|
||||
#232=IFCCLASSIFICATIONREFERENCE($,'[A]AHE','Religious faith room',#227,$,$);
|
||||
#233=IFCCLASSIFICATIONREFERENCE($,'[A]AHF','Library room',#227,$,$);
|
||||
#234=IFCCLASSIFICATIONREFERENCE($,'[A]C??','Storage space',#179,$,$);
|
||||
#235=IFCCLASSIFICATIONREFERENCE($,'[A]CA?','Materials store',#234,$,$);
|
||||
#236=IFCCLASSIFICATIONREFERENCE($,'[A]CAA','Refuse storage room',#235,$,$);
|
||||
#237=IFCCLASSIFICATIONREFERENCE($,'[A]CAB','Chemicals store',#235,$,$);
|
||||
#238=IFCCLASSIFICATIONREFERENCE($,'[A]CAC','Medicine store',#235,$,$);
|
||||
#239=IFCCLASSIFICATIONREFERENCE($,'[A]CAD','Archive room',#235,$,$);
|
||||
#240=IFCCLASSIFICATIONREFERENCE($,'[A]CAE','Liquids store',#235,$,$);
|
||||
#241=IFCCLASSIFICATIONREFERENCE($,'[A]CAF','Raw materials store',#235,$,$);
|
||||
#242=IFCCLASSIFICATIONREFERENCE($,'[A]CAG','Larder',#235,$,$);
|
||||
#243=IFCCLASSIFICATIONREFERENCE($,'[A]CAH','Secure storage',#235,$,$);
|
||||
#244=IFCCLASSIFICATIONREFERENCE($,'[A]CAJ','Packaging store',#235,$,$);
|
||||
#245=IFCCLASSIFICATIONREFERENCE($,'[A]CAK','Clothes store',#235,$,$);
|
||||
#246=IFCCLASSIFICATIONREFERENCE($,'[A]CAL','Building materials store',#235,$,$);
|
||||
#247=IFCCLASSIFICATIONREFERENCE($,'[A]CB?','Equipment room',#234,$,$);
|
||||
#248=IFCCLASSIFICATIONREFERENCE($,'[A]CBA','Furniture store',#247,$,$);
|
||||
#249=IFCCLASSIFICATIONREFERENCE($,'[A]CBB','Tool store',#247,$,$);
|
||||
#250=IFCCLASSIFICATIONREFERENCE($,'[A]CBC','Instrument store',#247,$,$);
|
||||
#251=IFCCLASSIFICATIONREFERENCE($,'[A]CBD','Garage',#247,$,$);
|
||||
#252=IFCCLASSIFICATIONREFERENCE($,'[A]CBE','Cleaning room',#247,$,$);
|
||||
#253=IFCCLASSIFICATIONREFERENCE($,'[A]CC?','Animal room',#234,$,$);
|
||||
#254=IFCCLASSIFICATIONREFERENCE($,'[A]CCA','Cage',#253,$,$);
|
||||
#255=IFCCLASSIFICATIONREFERENCE($,'[A]CCB','Stall',#253,$,$);
|
||||
#256=IFCCLASSIFICATIONREFERENCE($,'[A]CCC','Stable',#253,$,$);
|
||||
#257=IFCCLASSIFICATIONREFERENCE($,'[A]CCD','Pool',#253,$,$);
|
||||
#258=IFCCLASSIFICATIONREFERENCE($,'[A]CD?','Plant house',#234,$,$);
|
||||
#259=IFCCLASSIFICATIONREFERENCE($,'[A]CDA','Greenhouse',#258,$,$);
|
||||
#260=IFCCLASSIFICATIONREFERENCE($,'[A]CDB','Conservatory',#258,$,$);
|
||||
#261=IFCCLASSIFICATIONREFERENCE($,'[A]CE?','Mortuary',#234,$,$);
|
||||
#262=IFCCLASSIFICATIONREFERENCE($,'[A]CEA','Chapel of rest',#261,$,$);
|
||||
#263=IFCCLASSIFICATIONREFERENCE($,'[A]CEB','Crypt',#261,$,$);
|
||||
#264=IFCCLASSIFICATIONREFERENCE($,'[A]D??','Room for technical systems',#179,$,$);
|
||||
#265=IFCCLASSIFICATIONREFERENCE($,'[A]DA?','Plant room',#264,$,$);
|
||||
#266=IFCCLASSIFICATIONREFERENCE($,'[A]DAA','Electrical plant room',#265,$,$);
|
||||
#267=IFCCLASSIFICATIONREFERENCE($,'[A]DAB','IT equipment room',#265,$,$);
|
||||
#268=IFCCLASSIFICATIONREFERENCE($,'[A]DAC','Mechanical plant room',#265,$,$);
|
||||
#269=IFCCLASSIFICATIONREFERENCE($,'[A]DAD','Shared plant room',#265,$,$);
|
||||
#270=IFCCLASSIFICATIONREFERENCE($,'[A]DB?','Equipment room',#264,$,$);
|
||||
#271=IFCCLASSIFICATIONREFERENCE($,'[A]DBA','Control equipment room',#270,$,$);
|
||||
#272=IFCCLASSIFICATIONREFERENCE($,'[A]DBB','Production plant room',#270,$,$);
|
||||
#273=IFCCLASSIFICATIONREFERENCE($,'[A]DBC','Service equipment room',#270,$,$);
|
||||
#274=IFCCLASSIFICATIONREFERENCE($,'[A]DBD','Analysis equipment room',#270,$,$);
|
||||
#275=IFCCLASSIFICATIONREFERENCE($,'[A]E??','Space for infrastructure',#179,$,$);
|
||||
#276=IFCCLASSIFICATIONREFERENCE($,'[A]EA?','Circulation space',#275,$,$);
|
||||
#277=IFCCLASSIFICATIONREFERENCE($,'[A]EAA','Anteroom',#276,$,$);
|
||||
#278=IFCCLASSIFICATIONREFERENCE($,'[A]EAB','Airlock',#276,$,$);
|
||||
#279=IFCCLASSIFICATIONREFERENCE($,'[A]EAC','Corridor',#276,$,$);
|
||||
#280=IFCCLASSIFICATIONREFERENCE($,'[A]EAD','Stairwell',#276,$,$);
|
||||
#281=IFCCLASSIFICATIONREFERENCE($,'[A]EAE','Lift space',#276,$,$);
|
||||
#282=IFCCLASSIFICATIONREFERENCE($,'[A]EAF','Portico',#276,$,$);
|
||||
#283=IFCCLASSIFICATIONREFERENCE($,'[A]EB?','Services duct',#275,$,$);
|
||||
#284=IFCCLASSIFICATIONREFERENCE($,'[A]EBA','Services tunnel',#283,$,$);
|
||||
#285=IFCCLASSIFICATIONREFERENCE($,'[A]EBB','Shaft',#283,$,$);
|
||||
#286=IFCCLASSIFICATIONREFERENCE($,'[A]EBC','Duct',#283,$,$);
|
||||
#287=IFCCLASSIFICATIONREFERENCE($,'[A]EC?','Transport space',#275,$,$);
|
||||
#288=IFCCLASSIFICATIONREFERENCE($,'[A]ECA','Clearance profile',#287,$,$);
|
||||
#289=IFCCLASSIFICATIONREFERENCE($,'[A]ECB','Tunnel',#287,$,$);
|
||||
#290=IFCCLASSIFICATIONREFERENCE($,'[A]Z??','Undefined',#179,$,$);
|
||||
#291=IFCCLASSIFICATIONREFERENCE($,'[A]ZZ?','Undefined',#290,$,$);
|
||||
#292=IFCCLASSIFICATIONREFERENCE($,'[A]ZZZ','Undefined',#291,$,$);
|
||||
#293=IFCCLASSIFICATIONREFERENCE($,'Construction Elements - Functional Systems',$,#2,'Assigns a classification by Function, Location and/or Shape to ARCHICAD Construction Elements based on this CCS (R1) specification.',$);
|
||||
#294=IFCCLASSIFICATIONREFERENCE($,'[L]A','Ground system',#293,$,$);
|
||||
#295=IFCCLASSIFICATIONREFERENCE($,'[L]B','Wall system',#293,$,$);
|
||||
#296=IFCCLASSIFICATIONREFERENCE($,'[L]C','Structural floor system',#293,$,$);
|
||||
#297=IFCCLASSIFICATIONREFERENCE($,'[L]D','Roof system',#293,$,$);
|
||||
#298=IFCCLASSIFICATIONREFERENCE($,'[L]E','Gas and air system',#293,$,$);
|
||||
#299=IFCCLASSIFICATIONREFERENCE($,'[L]F','Water and fluid system',#293,$,$);
|
||||
#300=IFCCLASSIFICATIONREFERENCE($,'[L]G','Drainage and waste system',#293,$,$);
|
||||
#301=IFCCLASSIFICATIONREFERENCE($,'[L]H','Cooling and heating system',#293,$,$);
|
||||
#302=IFCCLASSIFICATIONREFERENCE($,'[L]J','Ventilation system',#293,$,$);
|
||||
#303=IFCCLASSIFICATIONREFERENCE($,'[L]K','Electrical system',#293,$,$);
|
||||
#304=IFCCLASSIFICATIONREFERENCE($,'[L]L','Automation system',#293,$,$);
|
||||
#305=IFCCLASSIFICATIONREFERENCE($,'[L]M','IT and communication system',#293,$,$);
|
||||
#306=IFCCLASSIFICATIONREFERENCE($,'[L]N','Transportation system',#293,$,$);
|
||||
#307=IFCCLASSIFICATIONREFERENCE($,'[L]P','Fitting out system',#293,$,$);
|
||||
#308=IFCCLASSIFICATIONREFERENCE($,'Construction Elements - Technical Systems',$,#2,'Assigns a classification by Function, Location and/or Shape to ARCHICAD Construction Elements based on this CCS (R1) specification.',$);
|
||||
#309=IFCCLASSIFICATIONREFERENCE($,'[L]A?','Assembling technical system',#308,$,$);
|
||||
#310=IFCCLASSIFICATIONREFERENCE($,'[L]AA','Pavement assembly',#309,$,$);
|
||||
#311=IFCCLASSIFICATIONREFERENCE($,'[L]AB','Foundation assembly',#309,$,$);
|
||||
#312=IFCCLASSIFICATIONREFERENCE($,'[L]AC','Floor separating assembly',#309,$,$);
|
||||
#313=IFCCLASSIFICATIONREFERENCE($,'[L]AD','Wall assembly',#309,$,$);
|
||||
#314=IFCCLASSIFICATIONREFERENCE($,'[L]AE','Roof assembly',#309,$,$);
|
||||
#315=IFCCLASSIFICATIONREFERENCE($,'[L]AF','Stairway assembly',#309,$,$);
|
||||
#316=IFCCLASSIFICATIONREFERENCE($,'[L]AG','Ramp assembly',#309,$,$);
|
||||
#317=IFCCLASSIFICATIONREFERENCE($,'[L]B?','Structural technical system',#308,$,$);
|
||||
#318=IFCCLASSIFICATIONREFERENCE($,'[L]BA','Groundworks structure',#317,$,$);
|
||||
#319=IFCCLASSIFICATIONREFERENCE($,'[L]BB','Foundation structure',#317,$,$);
|
||||
#320=IFCCLASSIFICATIONREFERENCE($,'[L]BC','Slab structure',#317,$,$);
|
||||
#321=IFCCLASSIFICATIONREFERENCE($,'[L]BD','Wall structure',#317,$,$);
|
||||
#322=IFCCLASSIFICATIONREFERENCE($,'[L]BE','Roof structure',#317,$,$);
|
||||
#323=IFCCLASSIFICATIONREFERENCE($,'[L]BF','Floor structure',#317,$,$);
|
||||
#324=IFCCLASSIFICATIONREFERENCE($,'[L]BG','Ceiling structure',#317,$,$);
|
||||
#325=IFCCLASSIFICATIONREFERENCE($,'[L]H?','Supplying technical system',#308,$,$);
|
||||
#326=IFCCLASSIFICATIONREFERENCE($,'[L]HA','Gas and air supply system',#325,$,$);
|
||||
#327=IFCCLASSIFICATIONREFERENCE($,'[L]HB','Water supply system',#325,$,$);
|
||||
#328=IFCCLASSIFICATIONREFERENCE($,'[L]HC','Cooling supply system',#325,$,$);
|
||||
#329=IFCCLASSIFICATIONREFERENCE($,'[L]HD','Heating supply system',#325,$,$);
|
||||
#330=IFCCLASSIFICATIONREFERENCE($,'[L]HE','Combined heating and cooling supply system',#325,$,$);
|
||||
#331=IFCCLASSIFICATIONREFERENCE($,'[L]HF','Ventilation plant',#325,$,$);
|
||||
#332=IFCCLASSIFICATIONREFERENCE($,'[L]HG','Power supply system',#325,$,$);
|
||||
#333=IFCCLASSIFICATIONREFERENCE($,'[L]HH','Lighting system',#325,$,$);
|
||||
#334=IFCCLASSIFICATIONREFERENCE($,'[L]HJ','Signal supply system',#325,$,$);
|
||||
#335=IFCCLASSIFICATIONREFERENCE($,'[L]J?','Transporting technical system',#308,$,$);
|
||||
#336=IFCCLASSIFICATIONREFERENCE($,'[L]JA','Gas distribution system',#335,$,$);
|
||||
#337=IFCCLASSIFICATIONREFERENCE($,'[L]JB','Water distribution system',#335,$,$);
|
||||
#338=IFCCLASSIFICATIONREFERENCE($,'[L]JC','Chemical distribution system',#335,$,$);
|
||||
#339=IFCCLASSIFICATIONREFERENCE($,'[L]JD','Effluent system',#335,$,$);
|
||||
#340=IFCCLASSIFICATIONREFERENCE($,'[L]JE','Refuse system',#335,$,$);
|
||||
#341=IFCCLASSIFICATIONREFERENCE($,'[L]JF','Cooling distribution system',#335,$,$);
|
||||
#342=IFCCLASSIFICATIONREFERENCE($,'[L]JG','Heating distribution system',#335,$,$);
|
||||
#343=IFCCLASSIFICATIONREFERENCE($,'[L]JH','Combined heating and cooling distribution system',#335,$,$);
|
||||
#344=IFCCLASSIFICATIONREFERENCE($,'[L]JJ','Air distribution system',#335,$,$);
|
||||
#345=IFCCLASSIFICATIONREFERENCE($,'[L]JK','Power distribution system',#335,$,$);
|
||||
#346=IFCCLASSIFICATIONREFERENCE($,'[L]JL','Signal distribution system',#335,$,$);
|
||||
#347=IFCCLASSIFICATIONREFERENCE($,'[L]JM','Person transportation system',#335,$,$);
|
||||
#348=IFCCLASSIFICATIONREFERENCE($,'[L]JN','Goods transportation system',#335,$,$);
|
||||
#349=IFCCLASSIFICATIONREFERENCE($,'[L]JP','Building services routing',#335,$,$);
|
||||
#350=IFCCLASSIFICATIONREFERENCE($,'[L]K?','Processing technical system',#308,$,$);
|
||||
#351=IFCCLASSIFICATIONREFERENCE($,'[L]KA','Solar screening system',#350,$,$);
|
||||
#352=IFCCLASSIFICATIONREFERENCE($,'[L]KB','Door and window opening system',#350,$,$);
|
||||
#353=IFCCLASSIFICATIONREFERENCE($,'[L]KC','Filtration system',#350,$,$);
|
||||
#354=IFCCLASSIFICATIONREFERENCE($,'[L]KD','Separator system',#350,$,$);
|
||||
#355=IFCCLASSIFICATIONREFERENCE($,'[L]KE','Water treatment system',#350,$,$);
|
||||
#356=IFCCLASSIFICATIONREFERENCE($,'[L]KF','Pump system',#350,$,$);
|
||||
#357=IFCCLASSIFICATIONREFERENCE($,'[L]KG','Pressure and expansion system',#350,$,$);
|
||||
#358=IFCCLASSIFICATIONREFERENCE($,'[L]KH','Converter system',#350,$,$);
|
||||
#359=IFCCLASSIFICATIONREFERENCE($,'[L]KJ','Aerial system',#350,$,$);
|
||||
#360=IFCCLASSIFICATIONREFERENCE($,'[L]KK','Weather station system',#350,$,$);
|
||||
#361=IFCCLASSIFICATIONREFERENCE($,'[L]KL','Access system',#350,$,$);
|
||||
#362=IFCCLASSIFICATIONREFERENCE($,'[L]L?','Monitoring technical system',#308,$,$);
|
||||
#363=IFCCLASSIFICATIONREFERENCE($,'[L]LA','Gas alarm system',#362,$,$);
|
||||
#364=IFCCLASSIFICATIONREFERENCE($,'[L]LB','Fire alarm system',#362,$,$);
|
||||
#365=IFCCLASSIFICATIONREFERENCE($,'[L]LC','Automation system',#362,$,$);
|
||||
#366=IFCCLASSIFICATIONREFERENCE($,'[L]LD','Access control system',#362,$,$);
|
||||
#367=IFCCLASSIFICATIONREFERENCE($,'[L]LE','Alarm system',#362,$,$);
|
||||
#368=IFCCLASSIFICATIONREFERENCE($,'[L]LF','CCTV system',#362,$,$);
|
||||
#369=IFCCLASSIFICATIONREFERENCE($,'[L]M?','Information presenting technical system',#308,$,$);
|
||||
#370=IFCCLASSIFICATIONREFERENCE($,'[L]MA','Warning system',#369,$,$);
|
||||
#371=IFCCLASSIFICATIONREFERENCE($,'[L]MB','Audio-Video system',#369,$,$);
|
||||
#372=IFCCLASSIFICATIONREFERENCE($,'[L]MC','Traffic control system',#369,$,$);
|
||||
#373=IFCCLASSIFICATIONREFERENCE($,'[L]P?','Protecting technical system',#308,$,$);
|
||||
#374=IFCCLASSIFICATIONREFERENCE($,'[L]PA','Fire protection system',#373,$,$);
|
||||
#375=IFCCLASSIFICATIONREFERENCE($,'[L]PB','Firefighting system',#373,$,$);
|
||||
#376=IFCCLASSIFICATIONREFERENCE($,'[L]PC','Earthing system',#373,$,$);
|
||||
#377=IFCCLASSIFICATIONREFERENCE($,'[L]PD','Lightning protection system',#373,$,$);
|
||||
#378=IFCCLASSIFICATIONREFERENCE($,'[L]PE','Cathodic protection system',#373,$,$);
|
||||
#379=IFCCLASSIFICATIONREFERENCE($,'[L]Q?','Storing technical system',#308,$,$);
|
||||
#380=IFCCLASSIFICATIONREFERENCE($,'[L]QA','Meter system',#379,$,$);
|
||||
#381=IFCCLASSIFICATIONREFERENCE($,'[L]QB','Gas and air storage system',#379,$,$);
|
||||
#382=IFCCLASSIFICATIONREFERENCE($,'[L]QC','Liquid storage system',#379,$,$);
|
||||
#383=IFCCLASSIFICATIONREFERENCE($,'[L]R?','Furnishing technical system',#308,$,$);
|
||||
#384=IFCCLASSIFICATIONREFERENCE($,'[L]RA','Planting',#383,$,$);
|
||||
#385=IFCCLASSIFICATIONREFERENCE($,'[L]RB','Furniture',#383,$,$);
|
||||
#386=IFCCLASSIFICATIONREFERENCE($,'[L]RC','Equipment',#383,$,$);
|
||||
#387=IFCCLASSIFICATIONREFERENCE($,'Construction Elements - Components',$,#2,'Assigns a classification by Function, Location and/or Shape to ARCHICAD Construction Elements based on this CCS (R1) specification.',$);
|
||||
#388=IFCCLASSIFICATIONREFERENCE($,'[L]B??','Converting component',#387,$,$);
|
||||
#389=IFCCLASSIFICATIONREFERENCE($,'[L]BA?','Electrical potential converting component',#388,$,$);
|
||||
#390=IFCCLASSIFICATIONREFERENCE($,'[L]BAA','Measuring relay (voltage)',#389,$,$);
|
||||
#391=IFCCLASSIFICATIONREFERENCE($,'[L]BAB','Measuring transformer (voltage)',#389,$,$);
|
||||
#392=IFCCLASSIFICATIONREFERENCE($,'[L]BC?','Electrical current converting component',#388,$,$);
|
||||
#393=IFCCLASSIFICATIONREFERENCE($,'[L]BCA','Measuring relay (current)',#392,$,$);
|
||||
#394=IFCCLASSIFICATIONREFERENCE($,'[L]BCB','Measuring transformer (current)',#392,$,$);
|
||||
#395=IFCCLASSIFICATIONREFERENCE($,'[L]BD?','Density converting component',#388,$,$);
|
||||
#396=IFCCLASSIFICATIONREFERENCE($,'[L]BDA','Density transmitter',#395,$,$);
|
||||
#397=IFCCLASSIFICATIONREFERENCE($,'[L]BDB','Density switch',#395,$,$);
|
||||
#398=IFCCLASSIFICATIONREFERENCE($,'[L]BE?','Electromagnetic variable converting component',#388,$,$);
|
||||
#399=IFCCLASSIFICATIONREFERENCE($,'[L]BEA','Measuring relay',#398,$,$);
|
||||
#400=IFCCLASSIFICATIONREFERENCE($,'[L]BEB','Electromagnetic measuring transformer',#398,$,$);
|
||||
#401=IFCCLASSIFICATIONREFERENCE($,'[L]BF?','Flow converting component',#388,$,$);
|
||||
#402=IFCCLASSIFICATIONREFERENCE($,'[L]BFA','Liquid flow meter',#401,$,$);
|
||||
#403=IFCCLASSIFICATIONREFERENCE($,'[L]BFB','Gas flow meter',#401,$,$);
|
||||
#404=IFCCLASSIFICATIONREFERENCE($,'[L]BFC','Air flow transmitter',#401,$,$);
|
||||
#405=IFCCLASSIFICATIONREFERENCE($,'[L]BFD','Air flow switch',#401,$,$);
|
||||
#406=IFCCLASSIFICATIONREFERENCE($,'[L]BG?','Position converting component',#388,$,$);
|
||||
#407=IFCCLASSIFICATIONREFERENCE($,'[L]BGA','Position transmitter',#406,$,$);
|
||||
#408=IFCCLASSIFICATIONREFERENCE($,'[L]BGB','Position switch',#406,$,$);
|
||||
#409=IFCCLASSIFICATIONREFERENCE($,'[L]BGC','Motion detector',#406,$,$);
|
||||
#410=IFCCLASSIFICATIONREFERENCE($,'[L]BGD','Directional detector',#406,$,$);
|
||||
#411=IFCCLASSIFICATIONREFERENCE($,'[L]BJ?','Consumption converting component',#388,$,$);
|
||||
#412=IFCCLASSIFICATIONREFERENCE($,'[L]BJA','Gas meter',#411,$,$);
|
||||
#413=IFCCLASSIFICATIONREFERENCE($,'[L]BJB','Cooling consumption meter',#411,$,$);
|
||||
#414=IFCCLASSIFICATIONREFERENCE($,'[L]BJC','Heat consumption meter',#411,$,$);
|
||||
#415=IFCCLASSIFICATIONREFERENCE($,'[L]BJD','Electricity meter',#411,$,$);
|
||||
#416=IFCCLASSIFICATIONREFERENCE($,'[L]BK?','Time converting component',#388,$,$);
|
||||
#417=IFCCLASSIFICATIONREFERENCE($,'[L]BKA','Time counter',#416,$,$);
|
||||
#418=IFCCLASSIFICATIONREFERENCE($,'[L]BKB','Timer switch',#416,$,$);
|
||||
#419=IFCCLASSIFICATIONREFERENCE($,'[L]BL?','Level converting component',#388,$,$);
|
||||
#420=IFCCLASSIFICATIONREFERENCE($,'[L]BLA','Level transmitter',#419,$,$);
|
||||
#421=IFCCLASSIFICATIONREFERENCE($,'[L]BLB','Level switch',#419,$,$);
|
||||
#422=IFCCLASSIFICATIONREFERENCE($,'[L]BM?','Moisture content converting component',#388,$,$);
|
||||
#423=IFCCLASSIFICATIONREFERENCE($,'[L]BMA','Humidity transmitter',#422,$,$);
|
||||
#424=IFCCLASSIFICATIONREFERENCE($,'[L]BMB','Humidity switch',#422,$,$);
|
||||
#425=IFCCLASSIFICATIONREFERENCE($,'[L]BP?','Pressure converting component',#388,$,$);
|
||||
#426=IFCCLASSIFICATIONREFERENCE($,'[L]BPA','Pressure transmitter',#425,$,$);
|
||||
#427=IFCCLASSIFICATIONREFERENCE($,'[L]BPB','Pressure switch',#425,$,$);
|
||||
#428=IFCCLASSIFICATIONREFERENCE($,'[L]BQ?','Quality converting component',#388,$,$);
|
||||
#429=IFCCLASSIFICATIONREFERENCE($,'[L]BQA','Air quality meter',#428,$,$);
|
||||
#430=IFCCLASSIFICATIONREFERENCE($,'[L]BQB','Air quality detector',#428,$,$);
|
||||
#431=IFCCLASSIFICATIONREFERENCE($,'[L]BQC','Smoke transmitter',#428,$,$);
|
||||
#432=IFCCLASSIFICATIONREFERENCE($,'[L]BQD','Smoke detector',#428,$,$);
|
||||
#433=IFCCLASSIFICATIONREFERENCE($,'[L]BR?','Radiation converting component',#388,$,$);
|
||||
#434=IFCCLASSIFICATIONREFERENCE($,'[L]BRA','Light transmitter',#433,$,$);
|
||||
#435=IFCCLASSIFICATIONREFERENCE($,'[L]BRB','Light switch',#433,$,$);
|
||||
#436=IFCCLASSIFICATIONREFERENCE($,'[L]BRC','Flame detector',#433,$,$);
|
||||
#437=IFCCLASSIFICATIONREFERENCE($,'[L]BRD','Photocell',#433,$,$);
|
||||
#438=IFCCLASSIFICATIONREFERENCE($,'[L]BS?','Velocity/ frequency converting component',#388,$,$);
|
||||
#439=IFCCLASSIFICATIONREFERENCE($,'[L]BSA','Frequency meter',#438,$,$);
|
||||
#440=IFCCLASSIFICATIONREFERENCE($,'[L]BSB','Speedometer',#438,$,$);
|
||||
#441=IFCCLASSIFICATIONREFERENCE($,'[L]BSC','Tachometer',#438,$,$);
|
||||
#442=IFCCLASSIFICATIONREFERENCE($,'[L]BSD','Accelerometer',#438,$,$);
|
||||
#443=IFCCLASSIFICATIONREFERENCE($,'[L]BSE','Vibration detector',#438,$,$);
|
||||
#444=IFCCLASSIFICATIONREFERENCE($,'[L]BT?','Temperature converting component',#388,$,$);
|
||||
#445=IFCCLASSIFICATIONREFERENCE($,'[L]BTA','Temperature transmitter',#444,$,$);
|
||||
#446=IFCCLASSIFICATIONREFERENCE($,'[L]BTB','Temperature switch',#444,$,$);
|
||||
#447=IFCCLASSIFICATIONREFERENCE($,'[L]BU?','Multivariate converting component',#388,$,$);
|
||||
#448=IFCCLASSIFICATIONREFERENCE($,'[L]BUA','Multi transmitter',#447,$,$);
|
||||
#449=IFCCLASSIFICATIONREFERENCE($,'[L]BUB','Multi switch',#447,$,$);
|
||||
#450=IFCCLASSIFICATIONREFERENCE($,'[L]BUC','Encoder',#447,$,$);
|
||||
#451=IFCCLASSIFICATIONREFERENCE($,'[L]BW?','Weight or force converting component',#388,$,$);
|
||||
#452=IFCCLASSIFICATIONREFERENCE($,'[L]BWA','Load cell',#451,$,$);
|
||||
#453=IFCCLASSIFICATIONREFERENCE($,'[L]BWB','Force meter',#451,$,$);
|
||||
#454=IFCCLASSIFICATIONREFERENCE($,'[L]BX?','Sound and image converting component',#388,$,$);
|
||||
#455=IFCCLASSIFICATIONREFERENCE($,'[L]BXA','Microphone',#454,$,$);
|
||||
#456=IFCCLASSIFICATIONREFERENCE($,'[L]BXB','Camera',#454,$,$);
|
||||
#457=IFCCLASSIFICATIONREFERENCE($,'[L]BY?','Matter converting component',#388,$,$);
|
||||
#458=IFCCLASSIFICATIONREFERENCE($,'[L]BYA','Plant',#457,$,$);
|
||||
#459=IFCCLASSIFICATIONREFERENCE($,'[L]BZ?','Event converting component',#388,$,$);
|
||||
#460=IFCCLASSIFICATIONREFERENCE($,'[L]BZA','Quantity meter',#459,$,$);
|
||||
#461=IFCCLASSIFICATIONREFERENCE($,'[L]BZB','Liquid detector',#459,$,$);
|
||||
#462=IFCCLASSIFICATIONREFERENCE($,'[L]BZC','Card reader',#459,$,$);
|
||||
#463=IFCCLASSIFICATIONREFERENCE($,'[L]BZE','Cycle detector',#459,$,$);
|
||||
#464=IFCCLASSIFICATIONREFERENCE($,'[L]BZF','Syncronising device',#459,$,$);
|
||||
#465=IFCCLASSIFICATIONREFERENCE($,'[L]BZG','Conductivity meter',#459,$,$);
|
||||
#466=IFCCLASSIFICATIONREFERENCE($,'[L]C??','Storing component',#387,$,$);
|
||||
#467=IFCCLASSIFICATIONREFERENCE($,'[L]CA?','Capacitative storing component',#466,$,$);
|
||||
#468=IFCCLASSIFICATIONREFERENCE($,'[L]CAA','Capacitor',#467,$,$);
|
||||
#469=IFCCLASSIFICATIONREFERENCE($,'[L]CF?','Information storing component',#466,$,$);
|
||||
#470=IFCCLASSIFICATIONREFERENCE($,'[L]CFA','Storage media',#469,$,$);
|
||||
#471=IFCCLASSIFICATIONREFERENCE($,'[L]CM?','Enclosed stationary storing component',#466,$,$);
|
||||
#472=IFCCLASSIFICATIONREFERENCE($,'[L]CMA','Tank',#471,$,$);
|
||||
#473=IFCCLASSIFICATIONREFERENCE($,'[L]CMB','Pool',#471,$,$);
|
||||
#474=IFCCLASSIFICATIONREFERENCE($,'[L]CMC','Box',#471,$,$);
|
||||
#475=IFCCLASSIFICATIONREFERENCE($,'[L]CN?','Enclosed moveable storing component',#466,$,$);
|
||||
#476=IFCCLASSIFICATIONREFERENCE($,'[L]CNA','Container',#475,$,$);
|
||||
#477=IFCCLASSIFICATIONREFERENCE($,'[L]CNB','Gas cylinder',#475,$,$);
|
||||
#478=IFCCLASSIFICATIONREFERENCE($,'[L]CNC','Drum',#475,$,$);
|
||||
#479=IFCCLASSIFICATIONREFERENCE($,'[L]CND','Lift car',#475,$,$);
|
||||
#480=IFCCLASSIFICATIONREFERENCE($,'[L]CP?','Thermal energy storing component',#466,$,$);
|
||||
#481=IFCCLASSIFICATIONREFERENCE($,'[L]CPA','Hot water tank',#480,$,$);
|
||||
#482=IFCCLASSIFICATIONREFERENCE($,'[L]CPB','Ice tank',#480,$,$);
|
||||
#483=IFCCLASSIFICATIONREFERENCE($,'[L]CPC','Steam tank',#480,$,$);
|
||||
#484=IFCCLASSIFICATIONREFERENCE($,'[L]E??','Energy supplying component',#387,$,$);
|
||||
#485=IFCCLASSIFICATIONREFERENCE($,'[L]EA?','Light emitting component',#484,$,$);
|
||||
#486=IFCCLASSIFICATIONREFERENCE($,'[L]EAA','Incandescent lamp',#485,$,$);
|
||||
#487=IFCCLASSIFICATIONREFERENCE($,'[L]EAB','Fluorescent lamp',#485,$,$);
|
||||
#488=IFCCLASSIFICATIONREFERENCE($,'[L]EAC','LED lamp',#485,$,$);
|
||||
#489=IFCCLASSIFICATIONREFERENCE($,'[L]EB?','Electric thermal energy generating component',#484,$,$);
|
||||
#490=IFCCLASSIFICATIONREFERENCE($,'[L]EBA','Electrical boiler',#489,$,$);
|
||||
#491=IFCCLASSIFICATIONREFERENCE($,'[L]EBB','Electric heating surface',#489,$,$);
|
||||
#492=IFCCLASSIFICATIONREFERENCE($,'[L]EBC','Heating cable',#489,$,$);
|
||||
#493=IFCCLASSIFICATIONREFERENCE($,'[L]EBD','Electric hot air blower',#489,$,$);
|
||||
#494=IFCCLASSIFICATIONREFERENCE($,'[L]EBE','Electric heating pipe',#489,$,$);
|
||||
#495=IFCCLASSIFICATIONREFERENCE($,'[L]EM?','Combusting component',#484,$,$);
|
||||
#496=IFCCLASSIFICATIONREFERENCE($,'[L]EMA','Stove',#495,$,$);
|
||||
#497=IFCCLASSIFICATIONREFERENCE($,'[L]EMB','Boiler',#495,$,$);
|
||||
#498=IFCCLASSIFICATIONREFERENCE($,'[L]EMC','Burner',#495,$,$);
|
||||
#499=IFCCLASSIFICATIONREFERENCE($,'[L]EP?','Heat transferring component',#484,$,$);
|
||||
#500=IFCCLASSIFICATIONREFERENCE($,'[L]EPA','Heating surface',#499,$,$);
|
||||
#501=IFCCLASSIFICATIONREFERENCE($,'[L]EPB','Water heater',#499,$,$);
|
||||
#502=IFCCLASSIFICATIONREFERENCE($,'[L]EPC','Heat exchanger',#499,$,$);
|
||||
#503=IFCCLASSIFICATIONREFERENCE($,'[L]EPD','Heat pump',#499,$,$);
|
||||
#504=IFCCLASSIFICATIONREFERENCE($,'[L]EPE','Radiator',#499,$,$);
|
||||
#505=IFCCLASSIFICATIONREFERENCE($,'[L]EPF','Heating pipe',#499,$,$);
|
||||
#506=IFCCLASSIFICATIONREFERENCE($,'[L]EPG','Heating panel',#499,$,$);
|
||||
#507=IFCCLASSIFICATIONREFERENCE($,'[L]EQ?','Convection cooling component',#484,$,$);
|
||||
#508=IFCCLASSIFICATIONREFERENCE($,'[L]EQA','Cooling surface',#507,$,$);
|
||||
#509=IFCCLASSIFICATIONREFERENCE($,'[L]EQB','Evaporator',#507,$,$);
|
||||
#510=IFCCLASSIFICATIONREFERENCE($,'[L]EQC','Cooling pump',#507,$,$);
|
||||
#511=IFCCLASSIFICATIONREFERENCE($,'[L]EQD','Cooling tower',#507,$,$);
|
||||
#512=IFCCLASSIFICATIONREFERENCE($,'[L]EQE','Cooling panel',#507,$,$);
|
||||
#513=IFCCLASSIFICATIONREFERENCE($,'[L]EQF','Dry chiller',#507,$,$);
|
||||
#514=IFCCLASSIFICATIONREFERENCE($,'[L]ES?','Evaporative cooling component',#484,$,$);
|
||||
#515=IFCCLASSIFICATIONREFERENCE($,'[L]ESA','Chiller',#514,$,$);
|
||||
#516=IFCCLASSIFICATIONREFERENCE($,'[L]EV?','Radiant energy heating component',#484,$,$);
|
||||
#517=IFCCLASSIFICATIONREFERENCE($,'[L]EVA','Solar panel',#516,$,$);
|
||||
#518=IFCCLASSIFICATIONREFERENCE($,'[L]EZ?','Combined energy supplying component',#484,$,$);
|
||||
#519=IFCCLASSIFICATIONREFERENCE($,'[L]EZA','Heating ventilator',#518,$,$);
|
||||
#520=IFCCLASSIFICATIONREFERENCE($,'[L]EZB','Heating/cooling pipe',#518,$,$);
|
||||
#521=IFCCLASSIFICATIONREFERENCE($,'[L]EZC','Cooling fancoil',#518,$,$);
|
||||
#522=IFCCLASSIFICATIONREFERENCE($,'[L]EZD','Combined heating and cooling fancoil',#518,$,$);
|
||||
#523=IFCCLASSIFICATIONREFERENCE($,'[L]F??','Protecting component',#387,$,$);
|
||||
#524=IFCCLASSIFICATIONREFERENCE($,'[L]FA?','Overvoltage protecting component',#523,$,$);
|
||||
#525=IFCCLASSIFICATIONREFERENCE($,'[L]FAA','Lightning arrester',#524,$,$);
|
||||
#526=IFCCLASSIFICATIONREFERENCE($,'[L]FAB','Surge arrester',#524,$,$);
|
||||
#527=IFCCLASSIFICATIONREFERENCE($,'[L]FB?','Fault current protecting component',#523,$,$);
|
||||
#528=IFCCLASSIFICATIONREFERENCE($,'[L]FBA','Residual current device',#527,$,$);
|
||||
#529=IFCCLASSIFICATIONREFERENCE($,'[L]FC?','Overcurrent protecting component',#523,$,$);
|
||||
#530=IFCCLASSIFICATIONREFERENCE($,'[L]FCA','Fuse',#529,$,$);
|
||||
#531=IFCCLASSIFICATIONREFERENCE($,'[L]FCB','Circuit breaker',#529,$,$);
|
||||
#532=IFCCLASSIFICATIONREFERENCE($,'[L]FL?','Pressure related protecting component',#523,$,$);
|
||||
#533=IFCCLASSIFICATIONREFERENCE($,'[L]FLA','Safety valve',#532,$,$);
|
||||
#534=IFCCLASSIFICATIONREFERENCE($,'[L]FLB','Safety damper',#532,$,$);
|
||||
#535=IFCCLASSIFICATIONREFERENCE($,'[L]FLC','Vacuum breaker',#532,$,$);
|
||||
#536=IFCCLASSIFICATIONREFERENCE($,'[L]FM?','Fire protecting component',#523,$,$);
|
||||
#537=IFCCLASSIFICATIONREFERENCE($,'[L]FMA','Fire damper',#536,$,$);
|
||||
#538=IFCCLASSIFICATIONREFERENCE($,'[L]FMB','Flue damper',#536,$,$);
|
||||
#539=IFCCLASSIFICATIONREFERENCE($,'[L]FMC','Combined fire and flue damper',#536,$,$);
|
||||
#540=IFCCLASSIFICATIONREFERENCE($,'[L]FMD','Fire cuff',#536,$,$);
|
||||
#541=IFCCLASSIFICATIONREFERENCE($,'[L]FME','Fire blind',#536,$,$);
|
||||
#542=IFCCLASSIFICATIONREFERENCE($,'[L]FMF','Smoke curtain',#536,$,$);
|
||||
#543=IFCCLASSIFICATIONREFERENCE($,'[L]FMG','Smoke closure',#536,$,$);
|
||||
#544=IFCCLASSIFICATIONREFERENCE($,'[L]FQ?','Preventing component',#523,$,$);
|
||||
#545=IFCCLASSIFICATIONREFERENCE($,'[L]FQA','Bird mesh',#544,$,$);
|
||||
#546=IFCCLASSIFICATIONREFERENCE($,'[L]FQB','Snow guard',#544,$,$);
|
||||
#547=IFCCLASSIFICATIONREFERENCE($,'[L]FQC','Handrail',#544,$,$);
|
||||
#548=IFCCLASSIFICATIONREFERENCE($,'[L]FQD','Guard rail',#544,$,$);
|
||||
#549=IFCCLASSIFICATIONREFERENCE($,'[L]FQE','Weed control fabric',#544,$,$);
|
||||
#550=IFCCLASSIFICATIONREFERENCE($,'[L]FR?','Climate protecting component',#523,$,$);
|
||||
#551=IFCCLASSIFICATIONREFERENCE($,'[L]FRA','Plaster',#550,$,$);
|
||||
#552=IFCCLASSIFICATIONREFERENCE($,'[L]FRB','Paint',#550,$,$);
|
||||
#553=IFCCLASSIFICATIONREFERENCE($,'[L]FRC','Impregnation',#550,$,$);
|
||||
#554=IFCCLASSIFICATIONREFERENCE($,'[L]FRD','Corrosion protection',#550,$,$);
|
||||
#555=IFCCLASSIFICATIONREFERENCE($,'[L]FRE','Subbase',#550,$,$);
|
||||
#556=IFCCLASSIFICATIONREFERENCE($,'[L]G??','Flow generating component',#387,$,$);
|
||||
#557=IFCCLASSIFICATIONREFERENCE($,'[L]GA?','Mechanical energy component',#556,$,$);
|
||||
#558=IFCCLASSIFICATIONREFERENCE($,'[L]GAA','Generator',#557,$,$);
|
||||
#559=IFCCLASSIFICATIONREFERENCE($,'[L]GAB','Dynamo',#557,$,$);
|
||||
#560=IFCCLASSIFICATIONREFERENCE($,'[L]GB?','Chemical energy component',#556,$,$);
|
||||
#561=IFCCLASSIFICATIONREFERENCE($,'[L]GBA','Battery',#560,$,$);
|
||||
#562=IFCCLASSIFICATIONREFERENCE($,'[L]GBB','Fuel cell',#560,$,$);
|
||||
#563=IFCCLASSIFICATIONREFERENCE($,'[L]GC?','Radiant energy component',#556,$,$);
|
||||
#564=IFCCLASSIFICATIONREFERENCE($,'[L]GCA','Solar cell',#563,$,$);
|
||||
#565=IFCCLASSIFICATIONREFERENCE($,'[L]GF?','Signal generating component',#556,$,$);
|
||||
#566=IFCCLASSIFICATIONREFERENCE($,'[L]GFA','Television station',#565,$,$);
|
||||
#567=IFCCLASSIFICATIONREFERENCE($,'[L]GFB','Telephone exchange',#565,$,$);
|
||||
#568=IFCCLASSIFICATIONREFERENCE($,'[L]GP?','Fluid flow generating component',#556,$,$);
|
||||
#569=IFCCLASSIFICATIONREFERENCE($,'[L]GPA','Pump',#568,$,$);
|
||||
#570=IFCCLASSIFICATIONREFERENCE($,'[L]GQ?','Gas or air flow generating component',#556,$,$);
|
||||
#571=IFCCLASSIFICATIONREFERENCE($,'[L]GQA','Ventilator',#570,$,$);
|
||||
#572=IFCCLASSIFICATIONREFERENCE($,'[L]GQB','Compressor',#570,$,$);
|
||||
#573=IFCCLASSIFICATIONREFERENCE($,'[L]GQC','Vacuum pump',#570,$,$);
|
||||
#574=IFCCLASSIFICATIONREFERENCE($,'[L]H??','Separating component',#387,$,$);
|
||||
#575=IFCCLASSIFICATIONREFERENCE($,'[L]HN?','Gravity separating component',#574,$,$);
|
||||
#576=IFCCLASSIFICATIONREFERENCE($,'[L]HNA','Separator',#575,$,$);
|
||||
#577=IFCCLASSIFICATIONREFERENCE($,'[L]HNB','Settling tank',#575,$,$);
|
||||
#578=IFCCLASSIFICATIONREFERENCE($,'[L]HP?','Thermal separating component',#574,$,$);
|
||||
#579=IFCCLASSIFICATIONREFERENCE($,'[L]HPA','Drying unit',#578,$,$);
|
||||
#580=IFCCLASSIFICATIONREFERENCE($,'[L]HPB','Dehumidifier',#578,$,$);
|
||||
#581=IFCCLASSIFICATIONREFERENCE($,'[L]HQ?','Filtration separating component',#574,$,$);
|
||||
#582=IFCCLASSIFICATIONREFERENCE($,'[L]HQA','Filter',#581,$,$);
|
||||
#583=IFCCLASSIFICATIONREFERENCE($,'[L]HQB','Rake',#581,$,$);
|
||||
#584=IFCCLASSIFICATIONREFERENCE($,'[L]HR?','Electrostatic separating component',#574,$,$);
|
||||
#585=IFCCLASSIFICATIONREFERENCE($,'[L]HRA','Electrostatic filter',#584,$,$);
|
||||
#586=IFCCLASSIFICATIONREFERENCE($,'[L]HRB','Magnetic seperator',#584,$,$);
|
||||
#587=IFCCLASSIFICATIONREFERENCE($,'[L]K??','Information processing component',#387,$,$);
|
||||
#588=IFCCLASSIFICATIONREFERENCE($,'[L]KF?','Electrical signalling component',#587,$,$);
|
||||
#589=IFCCLASSIFICATIONREFERENCE($,'[L]KFA','Relay',#588,$,$);
|
||||
#590=IFCCLASSIFICATIONREFERENCE($,'[L]KFB','Time relay',#588,$,$);
|
||||
#591=IFCCLASSIFICATIONREFERENCE($,'[L]KFC','Computer',#588,$,$);
|
||||
#592=IFCCLASSIFICATIONREFERENCE($,'[L]KFD','Control unit',#588,$,$);
|
||||
#593=IFCCLASSIFICATIONREFERENCE($,'[L]KFE','IT switch',#588,$,$);
|
||||
#594=IFCCLASSIFICATIONREFERENCE($,'[L]KFF','I/O module',#588,$,$);
|
||||
#595=IFCCLASSIFICATIONREFERENCE($,'[L]KFG','Transmitter',#588,$,$);
|
||||
#596=IFCCLASSIFICATIONREFERENCE($,'[L]KFH','Receiver',#588,$,$);
|
||||
#597=IFCCLASSIFICATIONREFERENCE($,'[L]KG?','Optical signalling component',#587,$,$);
|
||||
#598=IFCCLASSIFICATIONREFERENCE($,'[L]KGA','Optical switch',#597,$,$);
|
||||
#599=IFCCLASSIFICATIONREFERENCE($,'[L]KGB','Optical router',#597,$,$);
|
||||
#600=IFCCLASSIFICATIONREFERENCE($,'[L]KGC','Optical transmitter',#597,$,$);
|
||||
#601=IFCCLASSIFICATIONREFERENCE($,'[L]KGD','Optical receiver',#597,$,$);
|
||||
#602=IFCCLASSIFICATIONREFERENCE($,'[L]KGE','Optical repeater',#597,$,$);
|
||||
#603=IFCCLASSIFICATIONREFERENCE($,'[L]KH?','Mechanical signalling component',#587,$,$);
|
||||
#604=IFCCLASSIFICATIONREFERENCE($,'[L]KHA','Mechanical regulator',#603,$,$);
|
||||
#605=IFCCLASSIFICATIONREFERENCE($,'[L]KZ?','Combined signalling component',#587,$,$);
|
||||
#606=IFCCLASSIFICATIONREFERENCE($,'[L]KZA','Combined transmitter/receiver',#605,$,$);
|
||||
#607=IFCCLASSIFICATIONREFERENCE($,'[L]KZB','Tablet computer',#605,$,$);
|
||||
#608=IFCCLASSIFICATIONREFERENCE($,'[L]KZC','Magnetic card writer',#605,$,$);
|
||||
#609=IFCCLASSIFICATIONREFERENCE($,'[L]M??','Powering component',#387,$,$);
|
||||
#610=IFCCLASSIFICATIONREFERENCE($,'[L]MA?','Electromagnetic drive component',#609,$,$);
|
||||
#611=IFCCLASSIFICATIONREFERENCE($,'[L]MAA','Electric motor',#610,$,$);
|
||||
#612=IFCCLASSIFICATIONREFERENCE($,'[L]MAB','Linear motor',#610,$,$);
|
||||
#613=IFCCLASSIFICATIONREFERENCE($,'[L]MAC','Electric actuator',#610,$,$);
|
||||
#614=IFCCLASSIFICATIONREFERENCE($,'[L]ML?','Mechanical drive component',#609,$,$);
|
||||
#615=IFCCLASSIFICATIONREFERENCE($,'[L]MLA','Mechanical actuator',#614,$,$);
|
||||
#616=IFCCLASSIFICATIONREFERENCE($,'[L]MLB','Door closer',#614,$,$);
|
||||
#617=IFCCLASSIFICATIONREFERENCE($,'[L]MS?','Chemical drive component',#609,$,$);
|
||||
#618=IFCCLASSIFICATIONREFERENCE($,'[L]MSA','Combustion engine',#617,$,$);
|
||||
#619=IFCCLASSIFICATIONREFERENCE($,'[L]N??','Covering component',#387,$,$);
|
||||
#620=IFCCLASSIFICATIONREFERENCE($,'[L]NA?','Infilling component',#619,$,$);
|
||||
#621=IFCCLASSIFICATIONREFERENCE($,'[L]NAA','Pane',#620,$,$);
|
||||
#622=IFCCLASSIFICATIONREFERENCE($,'[L]NAB','Panel',#620,$,$);
|
||||
#623=IFCCLASSIFICATIONREFERENCE($,'[L]NAC','Grating',#620,$,$);
|
||||
#624=IFCCLASSIFICATIONREFERENCE($,'[L]NAD','Joint',#620,$,$);
|
||||
#625=IFCCLASSIFICATIONREFERENCE($,'[L]NAE','Gasket',#620,$,$);
|
||||
#626=IFCCLASSIFICATIONREFERENCE($,'[L]NB?','Closing component',#619,$,$);
|
||||
#627=IFCCLASSIFICATIONREFERENCE($,'[L]NBA','Door leaf',#626,$,$);
|
||||
#628=IFCCLASSIFICATIONREFERENCE($,'[L]NBB','Leaf of large door',#626,$,$);
|
||||
#629=IFCCLASSIFICATIONREFERENCE($,'[L]NBC','Cupboard door',#626,$,$);
|
||||
#630=IFCCLASSIFICATIONREFERENCE($,'[L]NBD','Gate frame',#626,$,$);
|
||||
#631=IFCCLASSIFICATIONREFERENCE($,'[L]NBE','Hatch cover',#626,$,$);
|
||||
#632=IFCCLASSIFICATIONREFERENCE($,'[L]NC?','Finishing component',#619,$,$);
|
||||
#633=IFCCLASSIFICATIONREFERENCE($,'[L]NCA','Paving',#632,$,$);
|
||||
#634=IFCCLASSIFICATIONREFERENCE($,'[L]NCB','Wallcovering',#632,$,$);
|
||||
#635=IFCCLASSIFICATIONREFERENCE($,'[L]NCC','Flooring',#632,$,$);
|
||||
#636=IFCCLASSIFICATIONREFERENCE($,'[L]NCD','Ceiling finish',#632,$,$);
|
||||
#637=IFCCLASSIFICATIONREFERENCE($,'[L]NCE','Roofing',#632,$,$);
|
||||
#638=IFCCLASSIFICATIONREFERENCE($,'[L]NCF','Window sill',#632,$,$);
|
||||
#639=IFCCLASSIFICATIONREFERENCE($,'[L]NCG','Window board',#632,$,$);
|
||||
#640=IFCCLASSIFICATIONREFERENCE($,'[L]NCH','Reveal liner',#632,$,$);
|
||||
#641=IFCCLASSIFICATIONREFERENCE($,'[L]NCJ','Architrave',#632,$,$);
|
||||
#642=IFCCLASSIFICATIONREFERENCE($,'[L]NCK','Skirting board',#632,$,$);
|
||||
#643=IFCCLASSIFICATIONREFERENCE($,'[L]NCL','Base shoe',#632,$,$);
|
||||
#644=IFCCLASSIFICATIONREFERENCE($,'[L]NCM','Ridge',#632,$,$);
|
||||
#645=IFCCLASSIFICATIONREFERENCE($,'[L]NCN','Flashing',#632,$,$);
|
||||
#646=IFCCLASSIFICATIONREFERENCE($,'[L]NCP','Flaunching',#632,$,$);
|
||||
#647=IFCCLASSIFICATIONREFERENCE($,'[L]NCQ','Bushing',#632,$,$);
|
||||
#648=IFCCLASSIFICATIONREFERENCE($,'[L]NCR','Key plate',#632,$,$);
|
||||
#649=IFCCLASSIFICATIONREFERENCE($,'[L]NCS','Door rose',#632,$,$);
|
||||
#650=IFCCLASSIFICATIONREFERENCE($,'[L]ND?','Terminating component',#619,$,$);
|
||||
#651=IFCCLASSIFICATIONREFERENCE($,'[L]NDA','Edge',#650,$,$);
|
||||
#652=IFCCLASSIFICATIONREFERENCE($,'[L]NDB','Crown',#650,$,$);
|
||||
#653=IFCCLASSIFICATIONREFERENCE($,'[L]NDC','Eaves',#650,$,$);
|
||||
#654=IFCCLASSIFICATIONREFERENCE($,'[L]NDD','Overhang',#650,$,$);
|
||||
#655=IFCCLASSIFICATIONREFERENCE($,'[L]NDE','Barge',#650,$,$);
|
||||
#656=IFCCLASSIFICATIONREFERENCE($,'[L]P??','Information presenting component',#387,$,$);
|
||||
#657=IFCCLASSIFICATIONREFERENCE($,'[L]PF?','Discrete state component',#656,$,$);
|
||||
#658=IFCCLASSIFICATIONREFERENCE($,'[L]PFA','Signal lamp',#657,$,$);
|
||||
#659=IFCCLASSIFICATIONREFERENCE($,'[L]PFB','Blinker',#657,$,$);
|
||||
#660=IFCCLASSIFICATIONREFERENCE($,'[L]PFC','Traffic signal',#657,$,$);
|
||||
#661=IFCCLASSIFICATIONREFERENCE($,'[L]PG?','Discrete variable component',#656,$,$);
|
||||
#662=IFCCLASSIFICATIONREFERENCE($,'[L]PGA','Thermometer',#661,$,$);
|
||||
#663=IFCCLASSIFICATIONREFERENCE($,'[L]PGB','Barometer',#661,$,$);
|
||||
#664=IFCCLASSIFICATIONREFERENCE($,'[L]PGC','Hygrometer',#661,$,$);
|
||||
#665=IFCCLASSIFICATIONREFERENCE($,'[L]PGD','Pressure indicator',#661,$,$);
|
||||
#666=IFCCLASSIFICATIONREFERENCE($,'[L]PGE','Tachometer',#661,$,$);
|
||||
#667=IFCCLASSIFICATIONREFERENCE($,'[L]PGF','Ammeter',#661,$,$);
|
||||
#668=IFCCLASSIFICATIONREFERENCE($,'[L]PGG','Voltmeter',#661,$,$);
|
||||
#669=IFCCLASSIFICATIONREFERENCE($,'[L]PGH','Wattmeter',#661,$,$);
|
||||
#670=IFCCLASSIFICATIONREFERENCE($,'[L]PGJ','Frequency meter',#661,$,$);
|
||||
#671=IFCCLASSIFICATIONREFERENCE($,'[L]PGK','Watt-hour meter',#661,$,$);
|
||||
#672=IFCCLASSIFICATIONREFERENCE($,'[L]PGL','Clock',#661,$,$);
|
||||
#673=IFCCLASSIFICATIONREFERENCE($,'[L]PGM','Cos-phi meter',#661,$,$);
|
||||
#674=IFCCLASSIFICATIONREFERENCE($,'[L]PGN','VAR meter',#661,$,$);
|
||||
#675=IFCCLASSIFICATIONREFERENCE($,'[L]PH?','Variable information component',#656,$,$);
|
||||
#676=IFCCLASSIFICATIONREFERENCE($,'[L]PHA','Display',#675,$,$);
|
||||
#677=IFCCLASSIFICATIONREFERENCE($,'[L]PHB','Projector',#675,$,$);
|
||||
#678=IFCCLASSIFICATIONREFERENCE($,'[L]PHC','Printer',#675,$,$);
|
||||
#679=IFCCLASSIFICATIONREFERENCE($,'[L]PHD','Sign',#675,$,$);
|
||||
#680=IFCCLASSIFICATIONREFERENCE($,'[L]PHE','Marking',#675,$,$);
|
||||
#681=IFCCLASSIFICATIONREFERENCE($,'[L]PJ?','Audible information component',#656,$,$);
|
||||
#682=IFCCLASSIFICATIONREFERENCE($,'[L]PJA','Loudspeaker',#681,$,$);
|
||||
#683=IFCCLASSIFICATIONREFERENCE($,'[L]PJB','Horn',#681,$,$);
|
||||
#684=IFCCLASSIFICATIONREFERENCE($,'[L]PJC','Bell',#681,$,$);
|
||||
#685=IFCCLASSIFICATIONREFERENCE($,'[L]PL?','Adorning component',#656,$,$);
|
||||
#686=IFCCLASSIFICATIONREFERENCE($,'[L]PLA','Cornice',#685,$,$);
|
||||
#687=IFCCLASSIFICATIONREFERENCE($,'[L]PLB','Figure',#685,$,$);
|
||||
#688=IFCCLASSIFICATIONREFERENCE($,'[L]PLC','Frieze',#685,$,$);
|
||||
#689=IFCCLASSIFICATIONREFERENCE($,'[L]PLD','Stucco',#685,$,$);
|
||||
#690=IFCCLASSIFICATIONREFERENCE($,'[L]PLE','Picture',#685,$,$);
|
||||
#691=IFCCLASSIFICATIONREFERENCE($,'[L]PLF','Carpet',#685,$,$);
|
||||
#692=IFCCLASSIFICATIONREFERENCE($,'[L]Q??','Opening and closing component',#387,$,$);
|
||||
#693=IFCCLASSIFICATIONREFERENCE($,'[L]QA?','Electrically connecting component',#692,$,$);
|
||||
#694=IFCCLASSIFICATIONREFERENCE($,'[L]QAA','Contactor',#693,$,$);
|
||||
#695=IFCCLASSIFICATIONREFERENCE($,'[L]QAB','Motor starter',#693,$,$);
|
||||
#696=IFCCLASSIFICATIONREFERENCE($,'[L]QAC','Thyristor',#693,$,$);
|
||||
#697=IFCCLASSIFICATIONREFERENCE($,'[L]QB?','Electrically separating component',#692,$,$);
|
||||
#698=IFCCLASSIFICATIONREFERENCE($,'[L]QBA','Load-break switch',#697,$,$);
|
||||
#699=IFCCLASSIFICATIONREFERENCE($,'[L]QBB','Fuse-switch disconnector',#697,$,$);
|
||||
#700=IFCCLASSIFICATIONREFERENCE($,'[L]QC?','Electrically earthing component',#692,$,$);
|
||||
#701=IFCCLASSIFICATIONREFERENCE($,'[L]QCA','Earthing switch',#700,$,$);
|
||||
#702=IFCCLASSIFICATIONREFERENCE($,'[L]QM?','Mechanically connecting component',#692,$,$);
|
||||
#703=IFCCLASSIFICATIONREFERENCE($,'[L]QMA','Shutoff valve',#702,$,$);
|
||||
#704=IFCCLASSIFICATIONREFERENCE($,'[L]QMB','On-off damper',#702,$,$);
|
||||
#705=IFCCLASSIFICATIONREFERENCE($,'[L]QN?','Mechanically varying component',#692,$,$);
|
||||
#706=IFCCLASSIFICATIONREFERENCE($,'[L]QNA','Control valve',#705,$,$);
|
||||
#707=IFCCLASSIFICATIONREFERENCE($,'[L]QNB','Control damper',#705,$,$);
|
||||
#708=IFCCLASSIFICATIONREFERENCE($,'[L]QQ?','Access granting component',#692,$,$);
|
||||
#709=IFCCLASSIFICATIONREFERENCE($,'[L]QQA','Window',#708,$,$);
|
||||
#710=IFCCLASSIFICATIONREFERENCE($,'[L]QQB','Window unit',#708,$,$);
|
||||
#711=IFCCLASSIFICATIONREFERENCE($,'[L]QQC','Door',#708,$,$);
|
||||
#712=IFCCLASSIFICATIONREFERENCE($,'[L]QQD','Hatch',#708,$,$);
|
||||
#713=IFCCLASSIFICATIONREFERENCE($,'[L]QQE','Large door',#708,$,$);
|
||||
#714=IFCCLASSIFICATIONREFERENCE($,'[L]QQF','Gate',#708,$,$);
|
||||
#715=IFCCLASSIFICATIONREFERENCE($,'[L]R??','Regulating component',#387,$,$);
|
||||
#716=IFCCLASSIFICATIONREFERENCE($,'[L]RA?','Electrically limiting component',#715,$,$);
|
||||
#717=IFCCLASSIFICATIONREFERENCE($,'[L]RAA','Diode',#716,$,$);
|
||||
#718=IFCCLASSIFICATIONREFERENCE($,'[L]RAB','Induction coil',#716,$,$);
|
||||
#719=IFCCLASSIFICATIONREFERENCE($,'[L]RAC','Resistor',#716,$,$);
|
||||
#720=IFCCLASSIFICATIONREFERENCE($,'[L]RB?','Electrically stabilising component',#715,$,$);
|
||||
#721=IFCCLASSIFICATIONREFERENCE($,'[L]RBA','Uninterruptible power supply (UPS)',#720,$,$);
|
||||
#722=IFCCLASSIFICATIONREFERENCE($,'[L]RBB','Harmonic filter',#720,$,$);
|
||||
#723=IFCCLASSIFICATIONREFERENCE($,'[L]RBC','Phase compensation',#720,$,$);
|
||||
#724=IFCCLASSIFICATIONREFERENCE($,'[L]RF?','Signal stabilising component',#715,$,$);
|
||||
#725=IFCCLASSIFICATIONREFERENCE($,'[L]RFA','Equaliser',#724,$,$);
|
||||
#726=IFCCLASSIFICATIONREFERENCE($,'[L]RFB','Electric filter',#724,$,$);
|
||||
#727=IFCCLASSIFICATIONREFERENCE($,'[L]RL?','Mechanically limiting component',#715,$,$);
|
||||
#728=IFCCLASSIFICATIONREFERENCE($,'[L]RLA','Lock',#727,$,$);
|
||||
#729=IFCCLASSIFICATIONREFERENCE($,'[L]RLB','Rat stop device',#727,$,$);
|
||||
#730=IFCCLASSIFICATIONREFERENCE($,'[L]RLC','Shock absorber',#727,$,$);
|
||||
#731=IFCCLASSIFICATIONREFERENCE($,'[L]RM?','Fluid flow restricting component',#715,$,$);
|
||||
#732=IFCCLASSIFICATIONREFERENCE($,'[L]RMA','Non-return valve',#731,$,$);
|
||||
#733=IFCCLASSIFICATIONREFERENCE($,'[L]RMB','Regulation valve',#731,$,$);
|
||||
#734=IFCCLASSIFICATIONREFERENCE($,'[L]RMC','Nozzle',#731,$,$);
|
||||
#735=IFCCLASSIFICATIONREFERENCE($,'[L]RMD','Trap',#731,$,$);
|
||||
#736=IFCCLASSIFICATIONREFERENCE($,'[L]RN?','Air flow restricting component',#715,$,$);
|
||||
#737=IFCCLASSIFICATIONREFERENCE($,'[L]RNA','Check damper',#736,$,$);
|
||||
#738=IFCCLASSIFICATIONREFERENCE($,'[L]RNB','Regulation damper',#736,$,$);
|
||||
#739=IFCCLASSIFICATIONREFERENCE($,'[L]RNC','Diffusor',#736,$,$);
|
||||
#740=IFCCLASSIFICATIONREFERENCE($,'[L]RQ?','Climate stabilising component',#715,$,$);
|
||||
#741=IFCCLASSIFICATIONREFERENCE($,'[L]RQA','Insulation',#740,$,$);
|
||||
#742=IFCCLASSIFICATIONREFERENCE($,'[L]RQB','Membrane',#740,$,$);
|
||||
#743=IFCCLASSIFICATIONREFERENCE($,'[L]RQC','Noise protection',#740,$,$);
|
||||
#744=IFCCLASSIFICATIONREFERENCE($,'[L]RQD','Screen',#740,$,$);
|
||||
#745=IFCCLASSIFICATIONREFERENCE($,'[L]RQE','Curtain',#740,$,$);
|
||||
#746=IFCCLASSIFICATIONREFERENCE($,'[L]RQF','Louvred blind',#740,$,$);
|
||||
#747=IFCCLASSIFICATIONREFERENCE($,'[L]RQG','Shutter',#740,$,$);
|
||||
#748=IFCCLASSIFICATIONREFERENCE($,'[L]RU?','Access restricting component',#715,$,$);
|
||||
#749=IFCCLASSIFICATIONREFERENCE($,'[L]RUA','Fence',#748,$,$);
|
||||
#750=IFCCLASSIFICATIONREFERENCE($,'[L]RUB','Bar',#748,$,$);
|
||||
#751=IFCCLASSIFICATIONREFERENCE($,'[L]RUC','Turnstile',#748,$,$);
|
||||
#752=IFCCLASSIFICATIONREFERENCE($,'[L]RUD','Bollard',#748,$,$);
|
||||
#753=IFCCLASSIFICATIONREFERENCE($,'[L]RV?','Inward visibility restricting component',#715,$,$);
|
||||
#754=IFCCLASSIFICATIONREFERENCE($,'[L]RVA','Blind',#753,$,$);
|
||||
#755=IFCCLASSIFICATIONREFERENCE($,'[L]S??','Manually converting component',#387,$,$);
|
||||
#756=IFCCLASSIFICATIONREFERENCE($,'[L]SF?','Electrical signalling component',#755,$,$);
|
||||
#757=IFCCLASSIFICATIONREFERENCE($,'[L]SFA','Switch',#756,$,$);
|
||||
#758=IFCCLASSIFICATIONREFERENCE($,'[L]SFB','Selector',#756,$,$);
|
||||
#759=IFCCLASSIFICATIONREFERENCE($,'[L]SFC','Pushbutton',#756,$,$);
|
||||
#760=IFCCLASSIFICATIONREFERENCE($,'[L]SFD','Panel',#756,$,$);
|
||||
#761=IFCCLASSIFICATIONREFERENCE($,'[L]SFE','Keyboard',#756,$,$);
|
||||
#762=IFCCLASSIFICATIONREFERENCE($,'[L]SG?','Optical-acoustic signalling componemt',#755,$,$);
|
||||
#763=IFCCLASSIFICATIONREFERENCE($,'[L]SGA','Emergency alarm',#762,$,$);
|
||||
#764=IFCCLASSIFICATIONREFERENCE($,'[L]SL?','Mechanical signalling component',#755,$,$);
|
||||
#765=IFCCLASSIFICATIONREFERENCE($,'[L]SLA','Handle',#764,$,$);
|
||||
#766=IFCCLASSIFICATIONREFERENCE($,'[L]SLB','Key cylinder',#764,$,$);
|
||||
#767=IFCCLASSIFICATIONREFERENCE($,'[L]T??','Transforming component',#387,$,$);
|
||||
#768=IFCCLASSIFICATIONREFERENCE($,'[L]TA?','Electrical energy transforming component',#767,$,$);
|
||||
#769=IFCCLASSIFICATIONREFERENCE($,'[L]TAA','Transformer',#768,$,$);
|
||||
#770=IFCCLASSIFICATIONREFERENCE($,'[L]TAB','Isolating transformer',#768,$,$);
|
||||
#771=IFCCLASSIFICATIONREFERENCE($,'[L]TAC','Rectifier',#768,$,$);
|
||||
#772=IFCCLASSIFICATIONREFERENCE($,'[L]TAD','Inverter',#768,$,$);
|
||||
#773=IFCCLASSIFICATIONREFERENCE($,'[L]TAE','Frequency converter',#768,$,$);
|
||||
#774=IFCCLASSIFICATIONREFERENCE($,'[L]TF?','Signal transforming component',#767,$,$);
|
||||
#775=IFCCLASSIFICATIONREFERENCE($,'[L]TFA','Amplifier',#774,$,$);
|
||||
#776=IFCCLASSIFICATIONREFERENCE($,'[L]TFB','Aerial',#774,$,$);
|
||||
#777=IFCCLASSIFICATIONREFERENCE($,'[L]TFC','Gateway',#774,$,$);
|
||||
#778=IFCCLASSIFICATIONREFERENCE($,'[L]TM?','Form converting component',#767,$,$);
|
||||
#779=IFCCLASSIFICATIONREFERENCE($,'[L]TMA','Waste grinder',#778,$,$);
|
||||
#780=IFCCLASSIFICATIONREFERENCE($,'[L]TT?','Mixing component',#767,$,$);
|
||||
#781=IFCCLASSIFICATIONREFERENCE($,'[L]TTA','Humidifier',#780,$,$);
|
||||
#782=IFCCLASSIFICATIONREFERENCE($,'[L]TTB','Mixer',#780,$,$);
|
||||
#783=IFCCLASSIFICATIONREFERENCE($,'[L]TTC','Fog generator',#780,$,$);
|
||||
#784=IFCCLASSIFICATIONREFERENCE($,'[L]U??','Fixing component',#387,$,$);
|
||||
#785=IFCCLASSIFICATIONREFERENCE($,'[L]UA?','Enclosing component',#784,$,$);
|
||||
#786=IFCCLASSIFICATIONREFERENCE($,'[L]UAA','Electrical panel',#785,$,$);
|
||||
#787=IFCCLASSIFICATIONREFERENCE($,'[L]UAB','Rack',#785,$,$);
|
||||
#788=IFCCLASSIFICATIONREFERENCE($,'[L]UAC','Light fixture',#785,$,$);
|
||||
#789=IFCCLASSIFICATIONREFERENCE($,'[L]UAD','Hose reel cubicle',#785,$,$);
|
||||
#790=IFCCLASSIFICATIONREFERENCE($,'[L]UB?','Supporting component',#784,$,$);
|
||||
#791=IFCCLASSIFICATIONREFERENCE($,'[L]UBA','Service duct',#790,$,$);
|
||||
#792=IFCCLASSIFICATIONREFERENCE($,'[L]UBB','Hanger',#790,$,$);
|
||||
#793=IFCCLASSIFICATIONREFERENCE($,'[L]UBC','Insulator',#790,$,$);
|
||||
#794=IFCCLASSIFICATIONREFERENCE($,'[L]UBD','Pylon',#790,$,$);
|
||||
#795=IFCCLASSIFICATIONREFERENCE($,'[L]UK?','Structural component in subbase',#784,$,$);
|
||||
#796=IFCCLASSIFICATIONREFERENCE($,'[L]UKA','Sub-base',#795,$,$);
|
||||
#797=IFCCLASSIFICATIONREFERENCE($,'[L]UKB','Screed',#795,$,$);
|
||||
#798=IFCCLASSIFICATIONREFERENCE($,'[L]UKC','Earth anchor',#795,$,$);
|
||||
#799=IFCCLASSIFICATIONREFERENCE($,'[L]UKD','Foundation column',#795,$,$);
|
||||
#800=IFCCLASSIFICATIONREFERENCE($,'[L]UKE','Foundation beam',#795,$,$);
|
||||
#801=IFCCLASSIFICATIONREFERENCE($,'[L]UKF','Foundation slab plate',#795,$,$);
|
||||
#802=IFCCLASSIFICATIONREFERENCE($,'[L]UKG','Foundation mass',#795,$,$);
|
||||
#803=IFCCLASSIFICATIONREFERENCE($,'[L]UKH','Foundation wall plate',#795,$,$);
|
||||
#804=IFCCLASSIFICATIONREFERENCE($,'[L]UL?','Structural component outside sublease',#784,$,$);
|
||||
#805=IFCCLASSIFICATIONREFERENCE($,'[L]ULC','Plinth',#804,$,$);
|
||||
#806=IFCCLASSIFICATIONREFERENCE($,'[L]ULD','Column',#804,$,$);
|
||||
#807=IFCCLASSIFICATIONREFERENCE($,'[L]ULE','Beam',#804,$,$);
|
||||
#808=IFCCLASSIFICATIONREFERENCE($,'[L]ULF','Tension brace',#804,$,$);
|
||||
#809=IFCCLASSIFICATIONREFERENCE($,'[L]ULG','Stone',#804,$,$);
|
||||
#810=IFCCLASSIFICATIONREFERENCE($,'[L]ULH','Block',#804,$,$);
|
||||
#811=IFCCLASSIFICATIONREFERENCE($,'[L]ULJ','Mass',#804,$,$);
|
||||
#812=IFCCLASSIFICATIONREFERENCE($,'[L]ULK','Floorslab',#804,$,$);
|
||||
#813=IFCCLASSIFICATIONREFERENCE($,'[L]ULL','Subfloor',#804,$,$);
|
||||
#814=IFCCLASSIFICATIONREFERENCE($,'[L]ULM','Wall plate',#804,$,$);
|
||||
#815=IFCCLASSIFICATIONREFERENCE($,'[L]ULN','Corbel',#804,$,$);
|
||||
#816=IFCCLASSIFICATIONREFERENCE($,'[L]ULP','Stringer',#804,$,$);
|
||||
#817=IFCCLASSIFICATIONREFERENCE($,'[L]ULQ','Step',#804,$,$);
|
||||
#818=IFCCLASSIFICATIONREFERENCE($,'[L]ULR','Baluster',#804,$,$);
|
||||
#819=IFCCLASSIFICATIONREFERENCE($,'[L]ULS','Underlay (backing)',#804,$,$);
|
||||
#820=IFCCLASSIFICATIONREFERENCE($,'[L]ULT','Bearing plate',#804,$,$);
|
||||
#821=IFCCLASSIFICATIONREFERENCE($,'[L]ULU','Stake',#804,$,$);
|
||||
#822=IFCCLASSIFICATIONREFERENCE($,'[L]UM?','Reinforcing component',#784,$,$);
|
||||
#823=IFCCLASSIFICATIONREFERENCE($,'[L]UMA','Reinforcement bar',#822,$,$);
|
||||
#824=IFCCLASSIFICATIONREFERENCE($,'[L]UMB','Reinforcement mesh',#822,$,$);
|
||||
#825=IFCCLASSIFICATIONREFERENCE($,'[L]UMC','Pavement reinforcement',#822,$,$);
|
||||
#826=IFCCLASSIFICATIONREFERENCE($,'[L]UN?','Framing component',#784,$,$);
|
||||
#827=IFCCLASSIFICATIONREFERENCE($,'[L]UNA','Frame',#826,$,$);
|
||||
#828=IFCCLASSIFICATIONREFERENCE($,'[L]UNB','Threshold',#826,$,$);
|
||||
#829=IFCCLASSIFICATIONREFERENCE($,'[L]UNC','Frame',#826,$,$);
|
||||
#830=IFCCLASSIFICATIONREFERENCE($,'[L]UND','Glazing bar',#826,$,$);
|
||||
#831=IFCCLASSIFICATIONREFERENCE($,'[L]UP?','Jointing component',#784,$,$);
|
||||
#832=IFCCLASSIFICATIONREFERENCE($,'[L]UPA','Jointing device',#831,$,$);
|
||||
#833=IFCCLASSIFICATIONREFERENCE($,'[L]UPB','Structural joint',#831,$,$);
|
||||
#834=IFCCLASSIFICATIONREFERENCE($,'[L]UPC','Mechanical joint',#831,$,$);
|
||||
#835=IFCCLASSIFICATIONREFERENCE($,'[L]UPD','Chemical joint',#831,$,$);
|
||||
#836=IFCCLASSIFICATIONREFERENCE($,'[L]UQ?','connecting device',#784,$,$);
|
||||
#837=IFCCLASSIFICATIONREFERENCE($,'[L]UQA','Permanent mechanical fixing',#836,$,$);
|
||||
#838=IFCCLASSIFICATIONREFERENCE($,'[L]UQB','Reversible mechanical fixing',#836,$,$);
|
||||
#839=IFCCLASSIFICATIONREFERENCE($,'[L]UQC','Chemical fixing',#836,$,$);
|
||||
#840=IFCCLASSIFICATIONREFERENCE($,'[L]W??','Transporting component',#387,$,$);
|
||||
#841=IFCCLASSIFICATIONREFERENCE($,'[L]WB?','High voltage transmission component',#840,$,$);
|
||||
#842=IFCCLASSIFICATIONREFERENCE($,'[L]WBA','High voltage busbar',#841,$,$);
|
||||
#843=IFCCLASSIFICATIONREFERENCE($,'[L]WBB','High voltage cable',#841,$,$);
|
||||
#844=IFCCLASSIFICATIONREFERENCE($,'[L]WD?','Low voltage transmission component',#840,$,$);
|
||||
#845=IFCCLASSIFICATIONREFERENCE($,'[L]WDA','Low voltage busbar',#844,$,$);
|
||||
#846=IFCCLASSIFICATIONREFERENCE($,'[L]WDB','Low voltage cable',#844,$,$);
|
||||
#847=IFCCLASSIFICATIONREFERENCE($,'[L]WE?','Earthing potential transmission component',#840,$,$);
|
||||
#848=IFCCLASSIFICATIONREFERENCE($,'[L]WEA','Earthing rail',#847,$,$);
|
||||
#849=IFCCLASSIFICATIONREFERENCE($,'[L]WEB','Earthing cable',#847,$,$);
|
||||
#850=IFCCLASSIFICATIONREFERENCE($,'[L]WEC','Equipotential bonding rail',#847,$,$);
|
||||
#851=IFCCLASSIFICATIONREFERENCE($,'[L]WED','Equipotential bonding connection',#847,$,$);
|
||||
#852=IFCCLASSIFICATIONREFERENCE($,'[L]WG?','Electronic signal transmission component',#840,$,$);
|
||||
#853=IFCCLASSIFICATIONREFERENCE($,'[L]WGA','Control cable',#852,$,$);
|
||||
#854=IFCCLASSIFICATIONREFERENCE($,'[L]WGB','Data cable',#852,$,$);
|
||||
#855=IFCCLASSIFICATIONREFERENCE($,'[L]WGC','Aerial cable',#852,$,$);
|
||||
#856=IFCCLASSIFICATIONREFERENCE($,'[L]WH?','Optical signal transmission component',#840,$,$);
|
||||
#857=IFCCLASSIFICATIONREFERENCE($,'[L]WHA','Fibre cable',#856,$,$);
|
||||
#858=IFCCLASSIFICATIONREFERENCE($,'[L]WHB','Fiber optical cable',#856,$,$);
|
||||
#859=IFCCLASSIFICATIONREFERENCE($,'[L]WM?','Open liquid transporting component',#840,$,$);
|
||||
#860=IFCCLASSIFICATIONREFERENCE($,'[L]WMA','Drainage layer',#859,$,$);
|
||||
#861=IFCCLASSIFICATIONREFERENCE($,'[L]WMB','Gutter',#859,$,$);
|
||||
#862=IFCCLASSIFICATIONREFERENCE($,'[L]WMC','Flashing',#859,$,$);
|
||||
#863=IFCCLASSIFICATIONREFERENCE($,'[L]WMD','Drip nose',#859,$,$);
|
||||
#864=IFCCLASSIFICATIONREFERENCE($,'[L]WME','Gutter drip',#859,$,$);
|
||||
#865=IFCCLASSIFICATIONREFERENCE($,'[L]WP?','Enclosed transporting component',#840,$,$);
|
||||
#866=IFCCLASSIFICATIONREFERENCE($,'[L]WPA','Pipe',#865,$,$);
|
||||
#867=IFCCLASSIFICATIONREFERENCE($,'[L]WPB','Duct',#865,$,$);
|
||||
#868=IFCCLASSIFICATIONREFERENCE($,'[L]WPC','Water hose',#865,$,$);
|
||||
#869=IFCCLASSIFICATIONREFERENCE($,'[L]WPD','Air hose',#865,$,$);
|
||||
#870=IFCCLASSIFICATIONREFERENCE($,'[L]WPE','Chimney',#865,$,$);
|
||||
#871=IFCCLASSIFICATIONREFERENCE($,'[L]WU?','Organic matter transporting component',#840,$,$);
|
||||
#872=IFCCLASSIFICATIONREFERENCE($,'[L]WUA','Growth layer',#871,$,$);
|
||||
#873=IFCCLASSIFICATIONREFERENCE($,'[L]X??','Connecting component',#387,$,$);
|
||||
#874=IFCCLASSIFICATIONREFERENCE($,'[L]XD?','Electrical power connecting component',#873,$,$);
|
||||
#875=IFCCLASSIFICATIONREFERENCE($,'[L]XDA','Low voltage terminal',#874,$,$);
|
||||
#876=IFCCLASSIFICATIONREFERENCE($,'[L]XDB','Power socket',#874,$,$);
|
||||
#877=IFCCLASSIFICATIONREFERENCE($,'[L]XDC','Terminal box',#874,$,$);
|
||||
#878=IFCCLASSIFICATIONREFERENCE($,'[L]XDD','Power outlet',#874,$,$);
|
||||
#879=IFCCLASSIFICATIONREFERENCE($,'[L]XDE','Power distributor',#874,$,$);
|
||||
#880=IFCCLASSIFICATIONREFERENCE($,'[L]XDF','Services chamber',#874,$,$);
|
||||
#881=IFCCLASSIFICATIONREFERENCE($,'[L]XE?','Potential connecting component',#873,$,$);
|
||||
#882=IFCCLASSIFICATIONREFERENCE($,'[L]XEA','Earth terminal',#881,$,$);
|
||||
#883=IFCCLASSIFICATIONREFERENCE($,'[L]XEB','Equipotential bonding terminal',#881,$,$);
|
||||
#884=IFCCLASSIFICATIONREFERENCE($,'[L]XEC','Ground terminal',#881,$,$);
|
||||
#885=IFCCLASSIFICATIONREFERENCE($,'[L]XED','Earting rod',#881,$,$);
|
||||
#886=IFCCLASSIFICATIONREFERENCE($,'[L]XEE','Collector',#881,$,$);
|
||||
#887=IFCCLASSIFICATIONREFERENCE($,'[L]XG?','Signal connecting component',#873,$,$);
|
||||
#888=IFCCLASSIFICATIONREFERENCE($,'[L]XGA','Signal socket',#887,$,$);
|
||||
#889=IFCCLASSIFICATIONREFERENCE($,'[L]XGB','Terminal outlet',#887,$,$);
|
||||
#890=IFCCLASSIFICATIONREFERENCE($,'[L]XGC','Patch panel',#887,$,$);
|
||||
#891=IFCCLASSIFICATIONREFERENCE($,'[L]XGD','Signal distributor',#887,$,$);
|
||||
#892=IFCCLASSIFICATIONREFERENCE($,'[L]XL?','Terminal to flow connecting component',#873,$,$);
|
||||
#893=IFCCLASSIFICATIONREFERENCE($,'[L]XLA','Draw-off tap',#892,$,$);
|
||||
#894=IFCCLASSIFICATIONREFERENCE($,'[L]XLB','Shower',#892,$,$);
|
||||
#895=IFCCLASSIFICATIONREFERENCE($,'[L]XLC','Sink',#892,$,$);
|
||||
#896=IFCCLASSIFICATIONREFERENCE($,'[L]XLD','Toilet',#892,$,$);
|
||||
#897=IFCCLASSIFICATIONREFERENCE($,'[L]XLE','Urinal',#892,$,$);
|
||||
#898=IFCCLASSIFICATIONREFERENCE($,'[L]XLF','Drip cup',#892,$,$);
|
||||
#899=IFCCLASSIFICATIONREFERENCE($,'[L]XLG','Vent',#892,$,$);
|
||||
#900=IFCCLASSIFICATIONREFERENCE($,'[L]XLH','Floor drain',#892,$,$);
|
||||
#901=IFCCLASSIFICATIONREFERENCE($,'[L]XM?','Flow to flow connecting component',#873,$,$);
|
||||
#902=IFCCLASSIFICATIONREFERENCE($,'[L]XMA','Hose coupling',#901,$,$);
|
||||
#903=IFCCLASSIFICATIONREFERENCE($,'[L]XMB','Pipe coupling',#901,$,$);
|
||||
#904=IFCCLASSIFICATIONREFERENCE($,'[L]XMC','Pipe fitting',#901,$,$);
|
||||
#905=IFCCLASSIFICATIONREFERENCE($,'[L]XMD','Pipe flange',#901,$,$);
|
||||
#906=IFCCLASSIFICATIONREFERENCE($,'[L]XME','Chamber',#901,$,$);
|
||||
#907=IFCCLASSIFICATIONREFERENCE($,'[L]XMF','Duct fitting',#901,$,$);
|
||||
#908=IFCCLASSIFICATIONREFERENCE($,'[L]XS?','Level connecting component',#873,$,$);
|
||||
#909=IFCCLASSIFICATIONREFERENCE($,'[L]XSA','Landing',#908,$,$);
|
||||
#910=IFCCLASSIFICATIONREFERENCE($,'[L]XSB','Flight of stairs',#908,$,$);
|
||||
#911=IFCCLASSIFICATIONREFERENCE($,'[L]XSC','Ladder',#908,$,$);
|
||||
#912=IFCCLASSIFICATIONREFERENCE($,'[L]XT?','Space linking component',#873,$,$);
|
||||
#913=IFCCLASSIFICATIONREFERENCE($,'[L]XTA','Hole',#912,$,$);
|
||||
#914=IFCCLASSIFICATIONREFERENCE($,'[L]XTB','Box-out',#912,$,$);
|
||||
#915=IFCCLASSIFICATIONREFERENCE($,'[L]XTC','Excavation',#912,$,$);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,164 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
|
||||
FILE_NAME('','2020-04-23T18:09:30',(),(),'IfcOpenShell 0.6.0b0','IfcOpenShell 0.6.0b0','');
|
||||
FILE_SCHEMA(('IFC4'));
|
||||
ENDSEC;
|
||||
DATA;
|
||||
#1=IFCPROJECTLIBRARY($,$,'Funktionskoder Regionservice CD001 - 001',$,$,$,$,$,$);
|
||||
#2=IFCCLASSIFICATION('BIMAlliance','004','2017-04-04','Funktionskoder Regionservice CD001 - 001','CD001_001_004 Komplettering av version 003, korrigerad 2017-04-04\X2\000A000A\X0\','http://tools.bimalliance.se/fi2listor/Klasslistor.aspx',$);
|
||||
#3=IFCRELASSOCIATESCLASSIFICATION('0pacSftg17nPo8ieMe8M$7',$,$,$,(#1),#2);
|
||||
#4=IFCCLASSIFICATIONREFERENCE($,'0',$,#2,'NIV\X2\00C5\X0\ 0',$);
|
||||
#5=IFCCLASSIFICATIONREFERENCE($,'000','SAKNAS',#4,'SAKNAS',$);
|
||||
#6=IFCCLASSIFICATIONREFERENCE($,'1',$,#2,'NIV\X2\00C5\X0\ 1',$);
|
||||
#7=IFCCLASSIFICATIONREFERENCE($,'001','RADERAS!',#6,'RADERAS!',$);
|
||||
#8=IFCCLASSIFICATIONREFERENCE($,'2',$,#2,'NIV\X2\00C5\X0\ 2',$);
|
||||
#9=IFCCLASSIFICATIONREFERENCE($,'100','HYGIEN- OCH V\X2\00C5\X0\TUTRYMME OSPEC',#8,'HYGIEN- OCH V\X2\00C5\X0\TUTRYMME OSPEC',$);
|
||||
#10=IFCCLASSIFICATIONREFERENCE($,'111','WC',#9,'WC',$);
|
||||
#11=IFCCLASSIFICATIONREFERENCE($,'112','RWC',#9,'RWC',$);
|
||||
#12=IFCCLASSIFICATIONREFERENCE($,'113','D',#9,'DUSCH',$);
|
||||
#13=IFCCLASSIFICATIONREFERENCE($,'115','WC/D',#9,'WC MED DUSCH',$);
|
||||
#14=IFCCLASSIFICATIONREFERENCE($,'116','RWC/D',#9,'RWC MED DUSCH',$);
|
||||
#15=IFCCLASSIFICATIONREFERENCE($,'117','WC/SK\X2\00D6\X0\LJ',#9,'WC MED SK\X2\00D6\X0\LJ',$);
|
||||
#16=IFCCLASSIFICATIONREFERENCE($,'119','WC/BAD',#9,'WC MED BAD',$);
|
||||
#17=IFCCLASSIFICATIONREFERENCE($,'120','RWC/SK\X2\00D6\X0\TR.',#9,'RWC/SK\X2\00D6\X0\TRUM',$);
|
||||
#18=IFCCLASSIFICATIONREFERENCE($,'121','TV\X2\00C4\X0\TTR.',#9,'TV\X2\00C4\X0\TTRUM',$);
|
||||
#19=IFCCLASSIFICATIONREFERENCE($,'123','SK\X2\00D6\X0\TR.',#9,'SK\X2\00D6\X0\TRUM',$);
|
||||
#20=IFCCLASSIFICATIONREFERENCE($,'124','BAD',#9,'BADRUM',$);
|
||||
#21=IFCCLASSIFICATIONREFERENCE($,'125','BASTU',#9,'BASTU',$);
|
||||
#22=IFCCLASSIFICATIONREFERENCE($,'127','BAS\X2\00C4\X0\NG/SIMHALL',#9,'BAS\X2\00C4\X0\NG/SIMHALL',$);
|
||||
#23=IFCCLASSIFICATIONREFERENCE($,'131','SK\X2\00D6\X0\LJ-/V\X2\00C5\X0\TR.',#9,'SK\X2\00D6\X0\LJRUM/V\X2\00C5\X0\TRUM',$);
|
||||
#24=IFCCLASSIFICATIONREFERENCE($,'137','MEDICINR.',#9,'MEDICINRUM',$);
|
||||
#25=IFCCLASSIFICATIONREFERENCE($,'138','STRYK/TV\X2\00C4\X0\TTSTUGA',#9,'STRYK/TV\X2\00C4\X0\TTSTUGA',$);
|
||||
#26=IFCCLASSIFICATIONREFERENCE($,'200','PATIENTUTRYMME OSPEC.',#8,'PATIENTUTRYMME OSPEC.',$);
|
||||
#27=IFCCLASSIFICATIONREFERENCE($,'209','F\X2\00D6\X0\RR./SLUSS M TV\X2\00C4\X0\TTST.',#26,'F\X2\00D6\X0\RRUM/SLUSS MED TV\X2\00C4\X0\TTST\X2\00C4\X0\LL',$);
|
||||
#28=IFCCLASSIFICATIONREFERENCE($,'210','F\X2\00D6\X0\RR./SLUSS',#26,'F\X2\00D6\X0\RRUM/SLUSS',$);
|
||||
#29=IFCCLASSIFICATIONREFERENCE($,'211','1-PAT',#26,'V\X2\00C5\X0\RDRUM-1PAT',$);
|
||||
#30=IFCCLASSIFICATIONREFERENCE($,'212','2-PAT',#26,'V\X2\00C5\X0\RDRUM-2PAT',$);
|
||||
#31=IFCCLASSIFICATIONREFERENCE($,'213','3-PAT',#26,'V\X2\00C5\X0\RDRUM-3PAT',$);
|
||||
#32=IFCCLASSIFICATIONREFERENCE($,'214','4-PAT',#26,'V\X2\00C5\X0\RDRUM-4PAT',$);
|
||||
#33=IFCCLASSIFICATIONREFERENCE($,'215','> 4-PAT',#26,'V\X2\00C5\X0\RDRUM >4PAT',$);
|
||||
#34=IFCCLASSIFICATIONREFERENCE($,'216','1-PAT ISOL',#26,'V\X2\00C5\X0\RDRUM-1PAT ISOLERING',$);
|
||||
#35=IFCCLASSIFICATIONREFERENCE($,'217','2-PAT ISOL',#26,'V\X2\00C5\X0\RDRUM-2PAT ISOLERING',$);
|
||||
#36=IFCCLASSIFICATIONREFERENCE($,'218','ISOL',#26,'ISOLERINGSRUM',$);
|
||||
#37=IFCCLASSIFICATIONREFERENCE($,'219','DIALYS',#26,'DIALYS',$);
|
||||
#38=IFCCLASSIFICATIONREFERENCE($,'220','VATTEN',#26,'VATTENRUM',$);
|
||||
#39=IFCCLASSIFICATIONREFERENCE($,'221','MATSAL',#26,'MATSAL',$);
|
||||
#40=IFCCLASSIFICATIONREFERENCE($,'222','DAGR.',#26,'DAGRUM',$);
|
||||
#41=IFCCLASSIFICATIONREFERENCE($,'223','MAT-/DAGR.',#26,'MAT- OCH DAGRUM',$);
|
||||
#42=IFCCLASSIFICATIONREFERENCE($,'224','R\X2\00D6\X0\KR.',#26,'R\X2\00D6\X0\KRUM',$);
|
||||
#43=IFCCLASSIFICATIONREFERENCE($,'225','V\X2\00C4\X0\NTR.',#26,'V\X2\00C4\X0\NTRUM',$);
|
||||
#44=IFCCLASSIFICATIONREFERENCE($,'226','K\X2\00D6\X0\K',#26,'K\X2\00D6\X0\K',$);
|
||||
#45=IFCCLASSIFICATIONREFERENCE($,'228','LEKR.',#26,'LEKRUM',$);
|
||||
#46=IFCCLASSIFICATIONREFERENCE($,'230','BEREDN.',#26,'BEREDNING',$);
|
||||
#47=IFCCLASSIFICATIONREFERENCE($,'231','UB',#26,'UNDERS\X2\00D6\X0\KNING-/BEHANDLINGSRUM',$);
|
||||
#48=IFCCLASSIFICATIONREFERENCE($,'232','UBEX',#26,'UBEX',$);
|
||||
#49=IFCCLASSIFICATIONREFERENCE($,'233','UBEX ISOL',#26,'UBEX ISOLERING',$);
|
||||
#50=IFCCLASSIFICATIONREFERENCE($,'281','ANH\X2\00D6\X0\RIGR.',#26,'ANH\X2\00D6\X0\RIGRUM',$);
|
||||
#51=IFCCLASSIFICATIONREFERENCE($,'282','VILR./HYTT',#26,'VILRUM/HYTT',$);
|
||||
#52=IFCCLASSIFICATIONREFERENCE($,'300','PERSONALUTRYMME OSPEC.',#8,'PERSONALUTRYMME OSPEC.',$);
|
||||
#53=IFCCLASSIFICATIONREFERENCE($,'311','OMKL',#52,'OMKL\X2\00C4\X0\DNRUM',$);
|
||||
#54=IFCCLASSIFICATIONREFERENCE($,'318','PENTRY',#52,'PENTRY',$);
|
||||
#55=IFCCLASSIFICATIONREFERENCE($,'319','PENTRY/MATR.',#52,'PENTRY/MATRUM',$);
|
||||
#56=IFCCLASSIFICATIONREFERENCE($,'323','JOUR',#52,'JOURRUM',$);
|
||||
#57=IFCCLASSIFICATIONREFERENCE($,'335','VILRUM',#52,'VILRUM',$);
|
||||
#58=IFCCLASSIFICATIONREFERENCE($,'344','PERSONAL',#52,'PERSONALRUM',$);
|
||||
#59=IFCCLASSIFICATIONREFERENCE($,'400','SPECIALAVDELING OSPEC.',#8,'SPECIALAVDELING OSPEC.',$);
|
||||
#60=IFCCLASSIFICATIONREFERENCE($,'411','GYMN',#59,'GYMNASTIKSAL',$);
|
||||
#61=IFCCLASSIFICATIONREFERENCE($,'421','TERAPI',#59,'TERAPILOKAL',$);
|
||||
#62=IFCCLASSIFICATIONREFERENCE($,'444','DISP',#59,'DISPONIBEL RUM UTAN VERKSAMHET',$);
|
||||
#63=IFCCLASSIFICATIONREFERENCE($,'451','OPERATION',#59,'OPERATIONSUTRYMME',$);
|
||||
#64=IFCCLASSIFICATIONREFERENCE($,'452','F\X2\00D6\X0\RLOSSN',#59,'F\X2\00D6\X0\RLOSSNINGSRUM',$);
|
||||
#65=IFCCLASSIFICATIONREFERENCE($,'453','F\X2\00D6\X0\RBER',#59,'F\X2\00D6\X0\RBEREDELSERUM',$);
|
||||
#66=IFCCLASSIFICATIONREFERENCE($,'459','UPP-/\X2\00D6\X0\VERVAKN.',#59,'UPPVAKNING/\X2\00D6\X0\VERVAKNING',$);
|
||||
#67=IFCCLASSIFICATIONREFERENCE($,'461','R\X2\00D6\X0\NTGEN',#59,'R\X2\00D6\X0\NTGENRUM',$);
|
||||
#68=IFCCLASSIFICATIONREFERENCE($,'462','MAN\X2\00D6\X0\VER',#59,'MAN\X2\00D6\X0\VERRUM',$);
|
||||
#69=IFCCLASSIFICATIONREFERENCE($,'464','M\X2\00D6\X0\RK',#59,'M\X2\00D6\X0\RKRUM',$);
|
||||
#70=IFCCLASSIFICATIONREFERENCE($,'466','GRANSKN',#59,'GRANSKNINGSRUM',$);
|
||||
#71=IFCCLASSIFICATIONREFERENCE($,'471','PROVTAGN',#59,'PROVTAGNINGSRUM',$);
|
||||
#72=IFCCLASSIFICATIONREFERENCE($,'472','LAB',#59,'LABORATORIE',$);
|
||||
#73=IFCCLASSIFICATIONREFERENCE($,'473','DJUR',#59,'DJURRUM',$);
|
||||
#74=IFCCLASSIFICATIONREFERENCE($,'474','RENA RUM',#59,'RENA RUM',$);
|
||||
#75=IFCCLASSIFICATIONREFERENCE($,'476','FOTOATELJ\X2\00C9\X0\',#59,'FOTOATELJ\X2\00C9\X0\',$);
|
||||
#76=IFCCLASSIFICATIONREFERENCE($,'477','LAB 2',#59,'INSTRUMENTRUM',$);
|
||||
#77=IFCCLASSIFICATIONREFERENCE($,'478','LAB 3',#59,'MANUELLT LABORATORIER',$);
|
||||
#78=IFCCLASSIFICATIONREFERENCE($,'479','LAB 1',#59,'SPECIAL LABORATORIER OCH ANALYSHALLAR',$);
|
||||
#79=IFCCLASSIFICATIONREFERENCE($,'480','TANDV\X2\00C5\X0\RD',#59,'TANDV\X2\00C5\X0\RDSUTRYMME',$);
|
||||
#80=IFCCLASSIFICATIONREFERENCE($,'500','BOSTAD - HOTELLRUM',#8,'BOSTAD - HOTELLRUM',$);
|
||||
#81=IFCCLASSIFICATIONREFERENCE($,'510','BOSTAD',#80,'BOSTAD',$);
|
||||
#82=IFCCLASSIFICATIONREFERENCE($,'511','HOTELLRUM',#80,'HOTELLRUM',$);
|
||||
#83=IFCCLASSIFICATIONREFERENCE($,'600','TEKN DRIFT',#8,'TEKNISKT DRIFTUTRYMME',$);
|
||||
#84=IFCCLASSIFICATIONREFERENCE($,'601','UC',#83,'UNDERCENTRAL',$);
|
||||
#85=IFCCLASSIFICATIONREFERENCE($,'602','FL\X2\00C4\X0\KTRUM',#83,'FL\X2\00C4\X0\KTRUM',$);
|
||||
#86=IFCCLASSIFICATIONREFERENCE($,'614','KULV. TEKN.',#83,'KULVERT (TEKNIK)',$);
|
||||
#87=IFCCLASSIFICATIONREFERENCE($,'615','SCHAKT',#83,'SCHAKT',$);
|
||||
#88=IFCCLASSIFICATIONREFERENCE($,'630','EL',#83,'EL-CENTRAL',$);
|
||||
#89=IFCCLASSIFICATIONREFERENCE($,'640','TELE',#83,'TELE-CENTRAL',$);
|
||||
#90=IFCCLASSIFICATIONREFERENCE($,'645','DATA',#83,'DATA',$);
|
||||
#91=IFCCLASSIFICATIONREFERENCE($,'650','VVS',#83,'VENT OCH R\X2\00D6\X0\R',$);
|
||||
#92=IFCCLASSIFICATIONREFERENCE($,'651','BRANDUTR.',#83,'BRANDUTRUSTNING',$);
|
||||
#93=IFCCLASSIFICATIONREFERENCE($,'657','V',#83,'VENTILATION',$);
|
||||
#94=IFCCLASSIFICATIONREFERENCE($,'659','VS',#83,'R\X2\00D6\X0\R',$);
|
||||
#95=IFCCLASSIFICATIONREFERENCE($,'671','HISSMASR.',#83,'HISSMASKINRUM',$);
|
||||
#96=IFCCLASSIFICATIONREFERENCE($,'691','VIND',#83,'VIND',$);
|
||||
#97=IFCCLASSIFICATIONREFERENCE($,'700','UTRYMME F\X2\00D6\X0\R ST\X2\00D6\X0\DFUNKTIONER OSPEC.',#8,'UTRYMME F\X2\00D6\X0\R ST\X2\00D6\X0\DFUNKTIONER OSPEC.',$);
|
||||
#98=IFCCLASSIFICATIONREFERENCE($,'710','K\X2\00D6\X0\K',#97,'K\X2\00D6\X0\KSUTRYMME',$);
|
||||
#99=IFCCLASSIFICATIONREFERENCE($,'711','KYL-/FRYSR.',#97,'KYLRUM/FRYSRUM',$);
|
||||
#100=IFCCLASSIFICATIONREFERENCE($,'713','DISKR.',#97,'DISKRUM',$);
|
||||
#101=IFCCLASSIFICATIONREFERENCE($,'720','STERILR.',#97,'STERILRUM',$);
|
||||
#102=IFCCLASSIFICATIONREFERENCE($,'722','FRD STERIL',#97,'STERILF\X2\00D6\X0\RR\X2\00C5\X0\D',$);
|
||||
#103=IFCCLASSIFICATIONREFERENCE($,'723','UTL\X2\00C4\X0\MN.',#97,'UTL\X2\00C4\X0\MNING',$);
|
||||
#104=IFCCLASSIFICATIONREFERENCE($,'724','INL\X2\00C4\X0\MN.',#97,'INL\X2\00C4\X0\MNING',$);
|
||||
#105=IFCCLASSIFICATIONREFERENCE($,'750','VERKSTAD',#97,'VERKSTAD',$);
|
||||
#106=IFCCLASSIFICATIONREFERENCE($,'760','SKYDDSR.',#97,'SKYDDSRUM',$);
|
||||
#107=IFCCLASSIFICATIONREFERENCE($,'771','KAPELL/ANDAKTSR.',#97,'KAPELL/ANDAKTSRUM',$);
|
||||
#108=IFCCLASSIFICATIONREFERENCE($,'772','SVEPN-/VISNR',#97,'SVEPNING/VISNGSRUM',$);
|
||||
#109=IFCCLASSIFICATIONREFERENCE($,'773','OBDUKT-/ KYLR.',#97,'OBDUKTIONSRUM/KYLRUM',$);
|
||||
#110=IFCCLASSIFICATIONREFERENCE($,'791','TV\X2\00C4\X0\TTHANT.',#97,'TV\X2\00C4\X0\TTHANTERING',$);
|
||||
#111=IFCCLASSIFICATIONREFERENCE($,'792','SOP',#97,'SOPRUM',$);
|
||||
#112=IFCCLASSIFICATIONREFERENCE($,'793','FRD',#97,'F\X2\00D6\X0\RR\X2\00C5\X0\D',$);
|
||||
#113=IFCCLASSIFICATIONREFERENCE($,'794','MILJ\X2\00D6\X0\',#97,'MILJ\X2\00D6\X0\RUM',$);
|
||||
#114=IFCCLASSIFICATIONREFERENCE($,'795','ST\X2\00C4\X0\D',#97,'ST\X2\00C4\X0\DRUM',$);
|
||||
#115=IFCCLASSIFICATIONREFERENCE($,'797','RULL MTR',#97,'RULLANDE MATERIAL',$);
|
||||
#116=IFCCLASSIFICATIONREFERENCE($,'799','SMUTSTV\X2\00C4\X0\TT',#97,'SMUTSTV\X2\00C4\X0\TT',$);
|
||||
#117=IFCCLASSIFICATIONREFERENCE($,'800','KONTOR - UTBILDNING OSPEC.',#8,'KONTOR - UTBILDNING OSPEC.',$);
|
||||
#118=IFCCLASSIFICATIONREFERENCE($,'811','KONTOR',#117,'KONTOR',$);
|
||||
#119=IFCCLASSIFICATIONREFERENCE($,'812','EXP.',#117,'EXPEDITION',$);
|
||||
#120=IFCCLASSIFICATIONREFERENCE($,'813','EXP. M TV\X2\00C4\X0\TTST.',#117,'EXPEDITION MED TV\X2\00C4\X0\TTST\X2\00C4\X0\LL',$);
|
||||
#121=IFCCLASSIFICATIONREFERENCE($,'816','REC',#117,'RECEPTION',$);
|
||||
#122=IFCCLASSIFICATIONREFERENCE($,'817','SAMTALSR.',#117,'SAMTALSRUM',$);
|
||||
#123=IFCCLASSIFICATIONREFERENCE($,'820','DATAR.',#117,'DATARUM',$);
|
||||
#124=IFCCLASSIFICATIONREFERENCE($,'821','ARKIV',#117,'ARKIV',$);
|
||||
#125=IFCCLASSIFICATIONREFERENCE($,'822','KOP',#117,'KOPIERING',$);
|
||||
#126=IFCCLASSIFICATIONREFERENCE($,'831','KONF',#117,'KONFERENSRUM',$);
|
||||
#127=IFCCLASSIFICATIONREFERENCE($,'834','UTBILDN',#117,'UTBILDNINGSRUM',$);
|
||||
#128=IFCCLASSIFICATIONREFERENCE($,'835','GRUPPR.',#117,'GRUPPRUM',$);
|
||||
#129=IFCCLASSIFICATIONREFERENCE($,'837','BIBL',#117,'BIBLIOTEK',$);
|
||||
#130=IFCCLASSIFICATIONREFERENCE($,'839','F\X2\00D6\X0\REL\X2\00C4\X0\SN.SAL',#117,'F\X2\00D6\X0\REL\X2\00C4\X0\SNINGSSAL',$);
|
||||
#131=IFCCLASSIFICATIONREFERENCE($,'900','ALLM\X2\00C4\X0\NT KOMMUNIKATIONSUTRYMME',#8,'ALLM\X2\00C4\X0\NT KOMMUNIKATIONSUTRYMME',$);
|
||||
#132=IFCCLASSIFICATIONREFERENCE($,'911','\X2\00C5\X0\TERVR',#131,'\X2\00C5\X0\TERVINNINGSRUM',$);
|
||||
#133=IFCCLASSIFICATIONREFERENCE($,'921','KULVERT',#131,'KULVERT',$);
|
||||
#134=IFCCLASSIFICATIONREFERENCE($,'922','KORRIDOR',#131,'KORRIDOR',$);
|
||||
#135=IFCCLASSIFICATIONREFERENCE($,'923','PASS.',#131,'PASSAGE',$);
|
||||
#136=IFCCLASSIFICATIONREFERENCE($,'924','VINDF.',#131,'VINDF\X2\00C5\X0\NG',$);
|
||||
#137=IFCCLASSIFICATIONREFERENCE($,'925','SLUSS',#131,'SLUSS',$);
|
||||
#138=IFCCLASSIFICATIONREFERENCE($,'926','KARUSELL',#131,'KARUSELLENTR\X2\00C9\X0\',$);
|
||||
#139=IFCCLASSIFICATIONREFERENCE($,'930','KAPPR.',#131,'KAPPRUM',$);
|
||||
#140=IFCCLASSIFICATIONREFERENCE($,'931','ENTR\X2\00C9\X0\HALL',#131,'ENTR\X2\00C9\X0\HALL',$);
|
||||
#141=IFCCLASSIFICATIONREFERENCE($,'932','ENTR\X2\00C9\X0\',#131,'ENTR\X2\00C9\X0\',$);
|
||||
#142=IFCCLASSIFICATIONREFERENCE($,'933','TRAPPHALL',#131,'TRAPPHALL',$);
|
||||
#143=IFCCLASSIFICATIONREFERENCE($,'934','TRAPPA/TRAPPPL.',#131,'TRAPPA/TRAPPLAN',$);
|
||||
#144=IFCCLASSIFICATIONREFERENCE($,'935','HISSHALL',#131,'HISSHALL',$);
|
||||
#145=IFCCLASSIFICATIONREFERENCE($,'936','HISS',#131,'HISS',$);
|
||||
#146=IFCCLASSIFICATIONREFERENCE($,'937','UPPST./VAGNHALL',#131,'UPPST\X2\00C4\X0\LLNING/VAGNHALL',$);
|
||||
#147=IFCCLASSIFICATIONREFERENCE($,'938','GARAGE/TV\X2\00C4\X0\TTH.',#131,'GARAGE/TV\X2\00C4\X0\TTHALL',$);
|
||||
#148=IFCCLASSIFICATIONREFERENCE($,'939','HISSCHAKT',#131,'HISSCHAKT',$);
|
||||
#149=IFCCLASSIFICATIONREFERENCE($,'940','TRUCKLADDN.',#131,'TRUCKLADDNING',$);
|
||||
#150=IFCCLASSIFICATIONREFERENCE($,'941','CAFETERIA',#131,'CAFETERIA',$);
|
||||
#151=IFCCLASSIFICATIONREFERENCE($,'942','BUTIKSLOKAL',#131,'BUTIKSLOKAL',$);
|
||||
#152=IFCCLASSIFICATIONREFERENCE($,'944','AMBULANSHALL',#131,'AMBULANSHALL',$);
|
||||
#153=IFCCLASSIFICATIONREFERENCE($,'945','SANERINGSHALL',#131,'SANERINGSHALL',$);
|
||||
#154=IFCCLASSIFICATIONREFERENCE($,'951','VARUINTAG/LASTKAJ',#131,'VARUINTAG/LASTKAJ',$);
|
||||
#155=IFCCLASSIFICATIONREFERENCE($,'952','ALTAN/BALKONG',#131,'ALTAN/BALKONG',$);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
@@ -0,0 +1,206 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
|
||||
FILE_NAME('','2020-04-23T18:09:30',(),(),'IfcOpenShell 0.6.0b0','IfcOpenShell 0.6.0b0','');
|
||||
FILE_SCHEMA(('IFC4'));
|
||||
ENDSEC;
|
||||
DATA;
|
||||
#1=IFCPROJECTLIBRARY($,$,'Rumsfunktion Blekinge CD002 - 001',$,$,$,$,$,$);
|
||||
#2=IFCCLASSIFICATION('BIMAlliance','001','2014-09-08','Rumsfunktion Blekinge CD002 - 001','Rumsfunktion Blekinge','http://tools.bimalliance.se/fi2listor/Klasslistor.aspx',$);
|
||||
#3=IFCRELASSOCIATESCLASSIFICATION('0LHEmKRxT9teAk1hi0ntR1',$,$,$,(#1),#2);
|
||||
#4=IFCCLASSIFICATIONREFERENCE($,'1','Ospecificerat utrymme',#2,'OSPECIFICERAT',$);
|
||||
#5=IFCCLASSIFICATIONREFERENCE($,'2','Outgr\X2\00E4\X0\vt utrymme',#2,'OUTGR\X2\00C4\X0\VT',$);
|
||||
#6=IFCCLASSIFICATIONREFERENCE($,'3','Ej anv\X2\00E4\X0\ndbart utrymme',#2,'EJ ANV\X2\00C4\X0\NDBART',$);
|
||||
#7=IFCCLASSIFICATIONREFERENCE($,'10','Odefinierad yta inget rums',#2,'ODEFINIERAD. EJ ID.',$);
|
||||
#8=IFCCLASSIFICATIONREFERENCE($,'11','Borttagning av rums identifierings nr.',#2,'BORT. ID.NR',$);
|
||||
#9=IFCCLASSIFICATIONREFERENCE($,'100','Hygien- och V\X2\00E5\X0\tutrymmen',#2,$,$);
|
||||
#10=IFCCLASSIFICATIONREFERENCE($,'111','WC',#9,'WC',$);
|
||||
#11=IFCCLASSIFICATIONREFERENCE($,'112','RWC',#9,'RWC',$);
|
||||
#12=IFCCLASSIFICATIONREFERENCE($,'113','Dusch',#9,'DUSCH',$);
|
||||
#13=IFCCLASSIFICATIONREFERENCE($,'114','Lavemangsrum',#9,'LAVEMANG',$);
|
||||
#14=IFCCLASSIFICATIONREFERENCE($,'115','WC/Dusch',#9,'WC/D',$);
|
||||
#15=IFCCLASSIFICATIONREFERENCE($,'116','RWC/Dusch',#9,'RWC/D',$);
|
||||
#16=IFCCLASSIFICATIONREFERENCE($,'117','WC/Sk\X2\00F6\X0\lj',#9,'WC/SK\X2\00D6\X0\LJ',$);
|
||||
#17=IFCCLASSIFICATIONREFERENCE($,'119','WC/Bad',#9,'WC/BAD',$);
|
||||
#18=IFCCLASSIFICATIONREFERENCE($,'120','RWC/Sk\X2\00F6\X0\trum',#9,'RWC/SK\X2\00D6\X0\T',$);
|
||||
#19=IFCCLASSIFICATIONREFERENCE($,'121','Tv\X2\00E4\X0\ttrum',#9,'TV\X2\00C4\X0\TT',$);
|
||||
#20=IFCCLASSIFICATIONREFERENCE($,'123','Sk\X2\00F6\X0\trum',#9,'SK\X2\00D6\X0\TRUM',$);
|
||||
#21=IFCCLASSIFICATIONREFERENCE($,'124','Badrum',#9,'BADRUM',$);
|
||||
#22=IFCCLASSIFICATIONREFERENCE($,'125','Bastu',#9,'BASTU',$);
|
||||
#23=IFCCLASSIFICATIONREFERENCE($,'127','Bass\X2\00E4\X0\ng/Simhall',#9,'BASS\X2\00C4\X0\NG',$);
|
||||
#24=IFCCLASSIFICATIONREFERENCE($,'128','Solarium',#9,'SOLARIUM',$);
|
||||
#25=IFCCLASSIFICATIONREFERENCE($,'131','Sk\X2\00F6\X0\ljrum/V\X2\00E5\X0\trum',#9,'SK\X2\00D6\X0\LJ',$);
|
||||
#26=IFCCLASSIFICATIONREFERENCE($,'137','Medicinrum',#9,'MEDICIN',$);
|
||||
#27=IFCCLASSIFICATIONREFERENCE($,'138','Strykning',#9,'STRYKNING',$);
|
||||
#28=IFCCLASSIFICATIONREFERENCE($,'200','Patientutrymme',#2,$,$);
|
||||
#29=IFCCLASSIFICATIONREFERENCE($,'209','Sluss med tv\X2\00E4\X0\ttst\X2\00E4\X0\ll (i anslutning till patientrum)',#28,'SLUSS',$);
|
||||
#30=IFCCLASSIFICATIONREFERENCE($,'210','F\X2\00F6\X0\rrum/Sluss',#28,'F\X2\00D6\X0\RRUM',$);
|
||||
#31=IFCCLASSIFICATIONREFERENCE($,'211','V\X2\00E5\X0\rdrum f\X2\00F6\X0\r en patient',#28,'V\X2\00C5\X0\RDRUM 1-PAT',$);
|
||||
#32=IFCCLASSIFICATIONREFERENCE($,'212','V\X2\00E5\X0\rdrum f\X2\00F6\X0\r tv\X2\00E5\X0\ patienter',#28,'V\X2\00C5\X0\RDRUM 2-PAT',$);
|
||||
#33=IFCCLASSIFICATIONREFERENCE($,'213','V\X2\00E5\X0\rdrum f\X2\00F6\X0\r tre patienter',#28,'V\X2\00C5\X0\RDRUM 3-PAT',$);
|
||||
#34=IFCCLASSIFICATIONREFERENCE($,'214','V\X2\00E5\X0\rdrum f\X2\00F6\X0\r fyra patienter',#28,'V\X2\00C5\X0\RDRUM 4-PAT',$);
|
||||
#35=IFCCLASSIFICATIONREFERENCE($,'215','V\X2\00E5\X0\rdrum mer \X2\00E4\X0\n fyra patienter',#28,'V\X2\00C5\X0\RDRUM >4 PAT',$);
|
||||
#36=IFCCLASSIFICATIONREFERENCE($,'216','Isoleringsrum f\X2\00F6\X0\r en patient',#28,'ISOLERING 1-PAT',$);
|
||||
#37=IFCCLASSIFICATIONREFERENCE($,'217','Isoleringsrum f\X2\00F6\X0\r tv\X2\00E5\X0\ patienter',#28,'ISOLERING 2-PAT',$);
|
||||
#38=IFCCLASSIFICATIONREFERENCE($,'218','Isoleringsrum',#28,'ISOLERING',$);
|
||||
#39=IFCCLASSIFICATIONREFERENCE($,'219','Dialys',#28,'DIALYS',$);
|
||||
#40=IFCCLASSIFICATIONREFERENCE($,'220','Vattenrum',#28,'VATTEN',$);
|
||||
#41=IFCCLASSIFICATIONREFERENCE($,'221','Matsal (avdelnings-)',#28,'MATSAL',$);
|
||||
#42=IFCCLASSIFICATIONREFERENCE($,'222','Dagrum',#28,'DAGRUM',$);
|
||||
#43=IFCCLASSIFICATIONREFERENCE($,'223','Matsal/Dagrum',#28,'MATSAL/DAGRUM',$);
|
||||
#44=IFCCLASSIFICATIONREFERENCE($,'224','R\X2\00F6\X0\krum',#28,'R\X2\00D6\X0\KRUM',$);
|
||||
#45=IFCCLASSIFICATIONREFERENCE($,'225','V\X2\00E4\X0\ntrum',#28,'V\X2\00C4\X0\NTRUM',$);
|
||||
#46=IFCCLASSIFICATIONREFERENCE($,'226','K\X2\00F6\X0\k (avdelnings-)',#28,'K\X2\00D6\X0\K',$);
|
||||
#47=IFCCLASSIFICATIONREFERENCE($,'228','Lekrum',#28,'LEKRUM',$);
|
||||
#48=IFCCLASSIFICATIONREFERENCE($,'229','S\X2\00E4\X0\ngv\X2\00E4\X0\ntrum',#28,'S\X2\00C4\X0\NGV\X2\00C4\X0\NTRUM',$);
|
||||
#49=IFCCLASSIFICATIONREFERENCE($,'230','Beredningsrum',#28,'BEREDNING',$);
|
||||
#50=IFCCLASSIFICATIONREFERENCE($,'231','Unders\X2\00F6\X0\knings-/Behandlingsrum',#28,'UNDERS\X2\00D6\X0\K/BEHANDL.',$);
|
||||
#51=IFCCLASSIFICATIONREFERENCE($,'232','Mottagning, unders\X2\00F6\X0\kning och expedition',#28,'MUE',$);
|
||||
#52=IFCCLASSIFICATIONREFERENCE($,'233','Mottagning, unders\X2\00F6\X0\kning och expedition, isolering',#28,'MUE ISOLERING',$);
|
||||
#53=IFCCLASSIFICATIONREFERENCE($,'237','Gipsrum',#28,'GIPSRUM',$);
|
||||
#54=IFCCLASSIFICATIONREFERENCE($,'240','Unders\X2\00F6\X0\kningsrum',#28,'UNDERS\X2\00D6\X0\KNING',$);
|
||||
#55=IFCCLASSIFICATIONREFERENCE($,'241','Behandlingsrum',#28,'BEHANDLING',$);
|
||||
#56=IFCCLASSIFICATIONREFERENCE($,'242','Mottagningsrum',#28,'MOTTAGNING',$);
|
||||
#57=IFCCLASSIFICATIONREFERENCE($,'243','Akutrum',#28,'AKUTRUM',$);
|
||||
#58=IFCCLASSIFICATIONREFERENCE($,'281','Anh\X2\00F6\X0\rigrum',#28,'ANH\X2\00D6\X0\RIGRUM',$);
|
||||
#59=IFCCLASSIFICATIONREFERENCE($,'282','Vilhytt',#28,'VILHYTT',$);
|
||||
#60=IFCCLASSIFICATIONREFERENCE($,'300','Personalutrymme',#2,$,$);
|
||||
#61=IFCCLASSIFICATIONREFERENCE($,'311','Omkl\X2\00E4\X0\dningsrum',#60,'OMKL.',$);
|
||||
#62=IFCCLASSIFICATIONREFERENCE($,'318','Pentry',#60,'PENTRY',$);
|
||||
#63=IFCCLASSIFICATIONREFERENCE($,'319','Pentry/Matrum',#60,'PENTRY/MATRUM',$);
|
||||
#64=IFCCLASSIFICATIONREFERENCE($,'323','Jourrum',#60,'JOUR',$);
|
||||
#65=IFCCLASSIFICATIONREFERENCE($,'335','Vilrum',#60,'VILRUM',$);
|
||||
#66=IFCCLASSIFICATIONREFERENCE($,'344','Personalrum',#60,'PERSONAL',$);
|
||||
#67=IFCCLASSIFICATIONREFERENCE($,'400','Specialutrymme',#2,$,$);
|
||||
#68=IFCCLASSIFICATIONREFERENCE($,'410','Redskapsrum',#67,'REDSKAP',$);
|
||||
#69=IFCCLASSIFICATIONREFERENCE($,'411','Gymnastiksal',#67,'GYMNASTIK',$);
|
||||
#70=IFCCLASSIFICATIONREFERENCE($,'412','Terapilokal',#67,'TERAPI',$);
|
||||
#71=IFCCLASSIFICATIONREFERENCE($,'422','Ljusterapi',#67,'LJUSTERAPI',$);
|
||||
#72=IFCCLASSIFICATIONREFERENCE($,'440','Intensivv\X2\00E5\X0\rdsrum',#67,'INTENSIVV\X2\00C5\X0\RD',$);
|
||||
#73=IFCCLASSIFICATIONREFERENCE($,'444','Disponibelt utrymme',#67,'DISPONIBELT',$);
|
||||
#74=IFCCLASSIFICATIONREFERENCE($,'451','Operationssal',#67,'OPERATION',$);
|
||||
#75=IFCCLASSIFICATIONREFERENCE($,'452','F\X2\00F6\X0\rlossningsrum',#67,'F\X2\00D6\X0\RLOSSNING',$);
|
||||
#76=IFCCLASSIFICATIONREFERENCE($,'453','F\X2\00F6\X0\rberedelserum',#67,'F\X2\00D6\X0\RBEREDELSE',$);
|
||||
#77=IFCCLASSIFICATIONREFERENCE($,'454','Avvecklingsrum',#67,'AVVECKLING',$);
|
||||
#78=IFCCLASSIFICATIONREFERENCE($,'455','Neonatalrum',#67,'NEONATAL',$);
|
||||
#79=IFCCLASSIFICATIONREFERENCE($,'456','\X2\00D6\X0\vervakning',#67,'\X2\00D6\X0\VERVAKNING',$);
|
||||
#80=IFCCLASSIFICATIONREFERENCE($,'459','Uppvakning',#67,'UPPVAKNING',$);
|
||||
#81=IFCCLASSIFICATIONREFERENCE($,'461','R\X2\00F6\X0\ntgenrum',#67,'R\X2\00D6\X0\NTGEN',$);
|
||||
#82=IFCCLASSIFICATIONREFERENCE($,'462','Man\X2\00F6\X0\verrum',#67,'MAN\X2\00D6\X0\VER',$);
|
||||
#83=IFCCLASSIFICATIONREFERENCE($,'464','M\X2\00F6\X0\rkrum',#67,'M\X2\00D6\X0\RKRUM',$);
|
||||
#84=IFCCLASSIFICATIONREFERENCE($,'466','Granskningsrum',#67,'GRANSKNING',$);
|
||||
#85=IFCCLASSIFICATIONREFERENCE($,'470','Provrum',#67,'PROVRUM',$);
|
||||
#86=IFCCLASSIFICATIONREFERENCE($,'471','Provtagning',#67,'PROVTAGNING',$);
|
||||
#87=IFCCLASSIFICATIONREFERENCE($,'472','Laboratorie',#67,'LAB.',$);
|
||||
#88=IFCCLASSIFICATIONREFERENCE($,'473','Djurrum',#67,'DJUR',$);
|
||||
#89=IFCCLASSIFICATIONREFERENCE($,'474','Renrum',#67,'RENRUM',$);
|
||||
#90=IFCCLASSIFICATIONREFERENCE($,'476','Fotoatelj\X2\00E9\X0\',#67,'FOTOATELJ\X2\00C9\X0\',$);
|
||||
#91=IFCCLASSIFICATIONREFERENCE($,'480','Tandv\X2\00E5\X0\rd',#67,'TANDV\X2\00C5\X0\RD',$);
|
||||
#92=IFCCLASSIFICATIONREFERENCE($,'500','Bostad och hotell',#2,$,$);
|
||||
#93=IFCCLASSIFICATIONREFERENCE($,'510','Bostad',#92,'BOSTAD',$);
|
||||
#94=IFCCLASSIFICATIONREFERENCE($,'511','Hotellrum',#92,'HOTELLRUM',$);
|
||||
#95=IFCCLASSIFICATIONREFERENCE($,'512','Sovrum',#92,'SOVRUM',$);
|
||||
#96=IFCCLASSIFICATIONREFERENCE($,'513','Hall',#92,'HALL',$);
|
||||
#97=IFCCLASSIFICATIONREFERENCE($,'514','K\X2\00F6\X0\k',#92,'K\X2\00D6\X0\K',$);
|
||||
#98=IFCCLASSIFICATIONREFERENCE($,'515','Vardagsrum',#92,'VARDAGSRUM',$);
|
||||
#99=IFCCLASSIFICATIONREFERENCE($,'516','Tv\X2\00E4\X0\tt',#92,'TV\X2\00C4\X0\TT',$);
|
||||
#100=IFCCLASSIFICATIONREFERENCE($,'517','Badrum',#92,'BADRUM',$);
|
||||
#101=IFCCLASSIFICATIONREFERENCE($,'518','WC',#92,'WC',$);
|
||||
#102=IFCCLASSIFICATIONREFERENCE($,'600','Fastighetstekniska utrymme',#2,$,$);
|
||||
#103=IFCCLASSIFICATIONREFERENCE($,'601','Undercentral',#102,'UNDERCENTRAL',$);
|
||||
#104=IFCCLASSIFICATIONREFERENCE($,'602','Fl\X2\00E4\X0\ktrum',#102,'FL\X2\00C4\X0\KRUM',$);
|
||||
#105=IFCCLASSIFICATIONREFERENCE($,'603','Kompressorrum',#102,'KOMPRESSOR',$);
|
||||
#106=IFCCLASSIFICATIONREFERENCE($,'604','Kylmaskinrum',#102,'KYLMASKIN',$);
|
||||
#107=IFCCLASSIFICATIONREFERENCE($,'614','Kulvert (teknik-, r\X2\00F6\X0\r- mm)',#102,'KULVERT',$);
|
||||
#108=IFCCLASSIFICATIONREFERENCE($,'615','Schakt',#102,'SCHAKT',$);
|
||||
#109=IFCCLASSIFICATIONREFERENCE($,'630','Elcentral',#102,'ELC.',$);
|
||||
#110=IFCCLASSIFICATIONREFERENCE($,'631','St\X2\00E4\X0\llverk',#102,'ST\X2\00C4\X0\LLVERK',$);
|
||||
#111=IFCCLASSIFICATIONREFERENCE($,'640','Tele',#102,'TELE',$);
|
||||
#112=IFCCLASSIFICATIONREFERENCE($,'641','El/Tele',#102,'EL/TELE',$);
|
||||
#113=IFCCLASSIFICATIONREFERENCE($,'645','Data',#102,'DATA',$);
|
||||
#114=IFCCLASSIFICATIONREFERENCE($,'646','Tele/Data',#102,'TELE/DATA',$);
|
||||
#115=IFCCLASSIFICATIONREFERENCE($,'651','Brandutrustning',#102,'BRANDUTRUST.',$);
|
||||
#116=IFCCLASSIFICATIONREFERENCE($,'657','Ventilation',#102,'VENTILATION',$);
|
||||
#117=IFCCLASSIFICATIONREFERENCE($,'659','R\X2\00F6\X0\r',#102,'R\X2\00D6\X0\R',$);
|
||||
#118=IFCCLASSIFICATIONREFERENCE($,'671','Hissmaskinrum',#102,'HISSMASKIN',$);
|
||||
#119=IFCCLASSIFICATIONREFERENCE($,'691','Vind',#102,'VIND',$);
|
||||
#120=IFCCLASSIFICATIONREFERENCE($,'700','St\X2\00F6\X0\dfunktioner',#2,$,$);
|
||||
#121=IFCCLASSIFICATIONREFERENCE($,'710','K\X2\00F6\X0\ksutrymme',#120,'K\X2\00D6\X0\K',$);
|
||||
#122=IFCCLASSIFICATIONREFERENCE($,'711','Kylrum/Frysrum',#120,'KYL/FRYS',$);
|
||||
#123=IFCCLASSIFICATIONREFERENCE($,'712','Butikslokal',#120,'BUTIK',$);
|
||||
#124=IFCCLASSIFICATIONREFERENCE($,'713','Diskrum',#120,'DISK',$);
|
||||
#125=IFCCLASSIFICATIONREFERENCE($,'714','Autoklavrum',#120,'AUTOKLAV',$);
|
||||
#126=IFCCLASSIFICATIONREFERENCE($,'715','Desinfektionsrum',#120,'DESINFEKTION',$);
|
||||
#127=IFCCLASSIFICATIONREFERENCE($,'716','Reng\X2\00F6\X0\rningsrum',#120,'RENG\X2\00D6\X0\RNING',$);
|
||||
#128=IFCCLASSIFICATIONREFERENCE($,'717','Kylrum',#120,'KYLRUM',$);
|
||||
#129=IFCCLASSIFICATIONREFERENCE($,'718','Frysrum',#120,'FRYSRUM',$);
|
||||
#130=IFCCLASSIFICATIONREFERENCE($,'720','Sterilrum',#120,'STERIL',$);
|
||||
#131=IFCCLASSIFICATIONREFERENCE($,'722','Sterilf\X2\00F6\X0\rr\X2\00E5\X0\d',#120,'STERIL FRD',$);
|
||||
#132=IFCCLASSIFICATIONREFERENCE($,'723','Utl\X2\00E4\X0\mning',#120,'UTL\X2\00C4\X0\MNING',$);
|
||||
#133=IFCCLASSIFICATIONREFERENCE($,'724','Inl\X2\00E4\X0\mning',#120,'INL\X2\00C4\X0\MNING',$);
|
||||
#134=IFCCLASSIFICATIONREFERENCE($,'725','B\X2\00E4\X0\ddrum',#120,'B\X2\00C4\X0\DDRUM',$);
|
||||
#135=IFCCLASSIFICATIONREFERENCE($,'740','H\X2\00E5\X0\rv\X2\00E5\X0\rd',#120,'H\X2\00C5\X0\RV\X2\00C5\X0\RD',$);
|
||||
#136=IFCCLASSIFICATIONREFERENCE($,'750','Verkstad',#120,'VERKSTAD',$);
|
||||
#137=IFCCLASSIFICATIONREFERENCE($,'751','Tryckeri',#120,'TRYCKERI',$);
|
||||
#138=IFCCLASSIFICATIONREFERENCE($,'752','Varumottagning',#120,'VARUMOTT.',$);
|
||||
#139=IFCCLASSIFICATIONREFERENCE($,'753','Truckladdning',#120,'TRUCKLADDNING',$);
|
||||
#140=IFCCLASSIFICATIONREFERENCE($,'754','\X2\00C5\X0\tervinning',#120,'\X2\00C5\X0\TERVINNING',$);
|
||||
#141=IFCCLASSIFICATIONREFERENCE($,'760','Skyddsrum',#120,'SKYDDSRUM',$);
|
||||
#142=IFCCLASSIFICATIONREFERENCE($,'761','Ambulanshall',#120,'AMBULANS',$);
|
||||
#143=IFCCLASSIFICATIONREFERENCE($,'762','Apotek',#120,'APOTEK',$);
|
||||
#144=IFCCLASSIFICATIONREFERENCE($,'763','Avfallsrum',#120,'AVFALL',$);
|
||||
#145=IFCCLASSIFICATIONREFERENCE($,'764','Cafeteria',#120,'CAFETERIA',$);
|
||||
#146=IFCCLASSIFICATIONREFERENCE($,'765','Kiosk',#120,'KIOSK',$);
|
||||
#147=IFCCLASSIFICATIONREFERENCE($,'766','K\X2\00E4\X0\llsorteringsrum',#120,'K\X2\00C4\X0\LLSORTERING',$);
|
||||
#148=IFCCLASSIFICATIONREFERENCE($,'767','Matsal',#120,'MATSAL',$);
|
||||
#149=IFCCLASSIFICATIONREFERENCE($,'768','Saneringshall',#120,'SANERING',$);
|
||||
#150=IFCCLASSIFICATIONREFERENCE($,'771','Kapell-/Andaktsrum',#120,'KAPELL alt. ANDAKT',$);
|
||||
#151=IFCCLASSIFICATIONREFERENCE($,'772','Svepnings-/Visningsrum',#120,'SVEPNING alt. VISNING',$);
|
||||
#152=IFCCLASSIFICATIONREFERENCE($,'773','Obduktionsrum',#120,'OBDUKTION',$);
|
||||
#153=IFCCLASSIFICATIONREFERENCE($,'774','B\X2\00E5\X0\rhus',#120,'B\X2\00C5\X0\RHUS',$);
|
||||
#154=IFCCLASSIFICATIONREFERENCE($,'775','Avlidna',#120,'AVLIDNA',$);
|
||||
#155=IFCCLASSIFICATIONREFERENCE($,'780','St\X2\00E4\X0\dcentral',#120,'ST\X2\00C4\X0\DCENTRAL',$);
|
||||
#156=IFCCLASSIFICATIONREFERENCE($,'781','Telefonv\X2\00E4\X0\xel (bemannad)',#120,'TELEFONV\X2\00C4\X0\XEL',$);
|
||||
#157=IFCCLASSIFICATIONREFERENCE($,'782','Telefonhytt',#120,'TFN',$);
|
||||
#158=IFCCLASSIFICATIONREFERENCE($,'790','Grovf\X2\00F6\X0\rr\X2\00E5\X0\d',#120,'GROV FRD',$);
|
||||
#159=IFCCLASSIFICATIONREFERENCE($,'791','Tv\X2\00E4\X0\tthantering',#120,'TV\X2\00C4\X0\TT',$);
|
||||
#160=IFCCLASSIFICATIONREFERENCE($,'792','Soprum',#120,'SOPRUM',$);
|
||||
#161=IFCCLASSIFICATIONREFERENCE($,'793','F\X2\00F6\X0\rr\X2\00E5\X0\d',#120,'F\X2\00D6\X0\RR\X2\00C5\X0\D',$);
|
||||
#162=IFCCLASSIFICATIONREFERENCE($,'794','Milj\X2\00F6\X0\station',#120,'MILJ\X2\00D6\X0\STATION',$);
|
||||
#163=IFCCLASSIFICATIONREFERENCE($,'795','St\X2\00E4\X0\d',#120,'ST\X2\00C4\X0\D',$);
|
||||
#164=IFCCLASSIFICATIONREFERENCE($,'796','Textilf\X2\00F6\X0\rr\X2\00E5\X0\d',#120,'TEXTIL',$);
|
||||
#165=IFCCLASSIFICATIONREFERENCE($,'797','Rullande material',#120,'RULL. MATERIAL',$);
|
||||
#166=IFCCLASSIFICATIONREFERENCE($,'799','Smutstv\X2\00E4\X0\tt',#120,'SMUTSTV\X2\00C4\X0\TT',$);
|
||||
#167=IFCCLASSIFICATIONREFERENCE($,'800','Administration',#2,$,$);
|
||||
#168=IFCCLASSIFICATIONREFERENCE($,'811','Kontor (administrativa lokaler)',#167,'KONTOR',$);
|
||||
#169=IFCCLASSIFICATIONREFERENCE($,'812','Expedition (v\X2\00E5\X0\rdlokaler)',#167,'EXP.',$);
|
||||
#170=IFCCLASSIFICATIONREFERENCE($,'813','Expedition med tv\X2\00E4\X0\ttst\X2\00E4\X0\ll (v\X2\00E5\X0\rdlokaler)',#167,'EXP.',$);
|
||||
#171=IFCCLASSIFICATIONREFERENCE($,'816','Reception',#167,'RECEPTION',$);
|
||||
#172=IFCCLASSIFICATIONREFERENCE($,'817','Samtalsrum',#167,'SAMTAL',$);
|
||||
#173=IFCCLASSIFICATIONREFERENCE($,'820','Datasal',#167,'DATASAL',$);
|
||||
#174=IFCCLASSIFICATIONREFERENCE($,'821','Arkiv',#167,'ARKIV',$);
|
||||
#175=IFCCLASSIFICATIONREFERENCE($,'822','Kopieringsrum',#167,'KOPIERING',$);
|
||||
#176=IFCCLASSIFICATIONREFERENCE($,'823','Kassa',#167,'KASSA',$);
|
||||
#177=IFCCLASSIFICATIONREFERENCE($,'831','Konferensrum',#167,'KONFERENS',$);
|
||||
#178=IFCCLASSIFICATIONREFERENCE($,'834','Utbildningssal',#167,'UTBILDNING',$);
|
||||
#179=IFCCLASSIFICATIONREFERENCE($,'835','Grupprum',#167,'GRUPPRUM',$);
|
||||
#180=IFCCLASSIFICATIONREFERENCE($,'837','Bibliotek',#167,'BIBLIOTEK',$);
|
||||
#181=IFCCLASSIFICATIONREFERENCE($,'839','F\X2\00F6\X0\rel\X2\00E4\X0\sningssal',#167,'F\X2\00D6\X0\REL\X2\00C4\X0\SNING',$);
|
||||
#182=IFCCLASSIFICATIONREFERENCE($,'840','Demonstrationsrum',#167,'DEMONSTRATION',$);
|
||||
#183=IFCCLASSIFICATIONREFERENCE($,'900','Allm\X2\00E4\X0\nt kommunikationsutrymme',#2,$,$);
|
||||
#184=IFCCLASSIFICATIONREFERENCE($,'921','Kulvert',#183,'KULVERT',$);
|
||||
#185=IFCCLASSIFICATIONREFERENCE($,'922','Korridor',#183,'KORRIDOR',$);
|
||||
#186=IFCCLASSIFICATIONREFERENCE($,'923','Passage',#183,'PASSAGE',$);
|
||||
#187=IFCCLASSIFICATIONREFERENCE($,'924','Vindf\X2\00E5\X0\ng',#183,'VF',$);
|
||||
#188=IFCCLASSIFICATIONREFERENCE($,'925','Sluss',#183,'SLUSS',$);
|
||||
#189=IFCCLASSIFICATIONREFERENCE($,'930','Kapprum',#183,'KAPPRUM',$);
|
||||
#190=IFCCLASSIFICATIONREFERENCE($,'932','Entr\X2\00E9\X0\',#183,'ENTR\X2\00C9\X0\',$);
|
||||
#191=IFCCLASSIFICATIONREFERENCE($,'934','Trappa',#183,'TRAPPA',$);
|
||||
#192=IFCCLASSIFICATIONREFERENCE($,'935','Hisshall',#183,'HISSHALL',$);
|
||||
#193=IFCCLASSIFICATIONREFERENCE($,'936','Hiss',#183,'HISS',$);
|
||||
#194=IFCCLASSIFICATIONREFERENCE($,'937','Uppst\X2\00E4\X0\llning/Vagnhall',#183,'UPPST\X2\00C4\X0\LL.',$);
|
||||
#195=IFCCLASSIFICATIONREFERENCE($,'938','Garage/Tv\X2\00E4\X0\tthall',#183,'GARAGE',$);
|
||||
#196=IFCCLASSIFICATIONREFERENCE($,'939','Parkering',#183,'PARKERING',$);
|
||||
#197=IFCCLASSIFICATIONREFERENCE($,'952','Balkong',#183,'BALKONG',$);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
File diff suppressed because it is too large
Load Diff
+544
@@ -0,0 +1,544 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
|
||||
FILE_NAME('','2020-04-23T18:09:31',(),(),'IfcOpenShell 0.6.0b0','IfcOpenShell 0.6.0b0','');
|
||||
FILE_SCHEMA(('IFC4'));
|
||||
ENDSEC;
|
||||
DATA;
|
||||
#1=IFCPROJECTLIBRARY($,$,'GuBIMclass CA',$,$,$,$,$,$);
|
||||
#2=IFCCLASSIFICATION('GuBIMClass','1.2','2017-07-21','GuBIMclass CA','Sistema de classificaci\X2\00F3\X0\ d''elements de construcci\X2\00F3\X0\ d''acord a la seva funci\X2\00F3\X0\ principal dins d''un entorn BIM.','http://www.gubimclass.org',('.'));
|
||||
#3=IFCRELASSOCIATESCLASSIFICATION('1oIjeANsf58xp_tAmYhpX1',$,$,$,(#1),#2);
|
||||
#4=IFCCLASSIFICATIONREFERENCE($,'00','Treballs previs i replanteig general',#2,$,$);
|
||||
#5=IFCCLASSIFICATIONREFERENCE($,'00.10','Elements auxiliars de replanteig del model',#4,$,$);
|
||||
#6=IFCCLASSIFICATIONREFERENCE($,'00.10.10','Origen de coordenades',#5,$,$);
|
||||
#7=IFCCLASSIFICATIONREFERENCE($,'00.10.20','Elements d''alineaci\X2\00F3\X0\ de model',#5,$,$);
|
||||
#8=IFCCLASSIFICATIONREFERENCE($,'00.10.30','Eixos',#5,$,$);
|
||||
#9=IFCCLASSIFICATIONREFERENCE($,'00.10.40','Nivells',#5,$,$);
|
||||
#10=IFCCLASSIFICATIONREFERENCE($,'00.20','Preexist\X2\00E8\X0\ncies',#4,$,$);
|
||||
#11=IFCCLASSIFICATIONREFERENCE($,'00.20.10','Edificacions colindants preexistents',#10,$,$);
|
||||
#12=IFCCLASSIFICATIONREFERENCE($,'00.20.20','Elements d''entorn urb\X2\00E0\X0\ preexistent',#10,$,$);
|
||||
#13=IFCCLASSIFICATIONREFERENCE($,'00.20.30','Serveis urbans preexistents',#10,$,$);
|
||||
#14=IFCCLASSIFICATIONREFERENCE($,'00.30','Assaigs previs',#4,$,$);
|
||||
#15=IFCCLASSIFICATIONREFERENCE($,'00.30.10','Assaig al terreny',#14,$,$);
|
||||
#16=IFCCLASSIFICATIONREFERENCE($,'00.30.10.10','Sondeig',#15,$,$);
|
||||
#17=IFCCLASSIFICATIONREFERENCE($,'00.30.10.20','Penetr\X2\00F2\X0\metre',#15,$,$);
|
||||
#18=IFCCLASSIFICATIONREFERENCE($,'00.30.10.30','Piez\X2\00F2\X0\metre',#15,$,$);
|
||||
#19=IFCCLASSIFICATIONREFERENCE($,'00.30.20','Assaig d''elements estructurals',#14,$,$);
|
||||
#20=IFCCLASSIFICATIONREFERENCE($,'00.30.20.10','Assaig sobre element de formig\X2\00F3\X0\',#19,$,$);
|
||||
#21=IFCCLASSIFICATIONREFERENCE($,'00.30.20.20','Assaig sobre estructura d''acer',#19,$,$);
|
||||
#22=IFCCLASSIFICATIONREFERENCE($,'00.30.20.30','Assaig sobre estructura de f\X2\00E0\X0\brica',#19,$,$);
|
||||
#23=IFCCLASSIFICATIONREFERENCE($,'10','Adequaci\X2\00F3\X0\ del terreny i sustentaci\X2\00F3\X0\ de l''edifici',#2,$,$);
|
||||
#24=IFCCLASSIFICATIONREFERENCE($,'10.10','Actuacions per reduir i controlar les afectacions a edificis ve\X2\00EF\X0\ns, serveis i altres elements',#23,$,$);
|
||||
#25=IFCCLASSIFICATIONREFERENCE($,'10.10.10','Apuntalaments i estrebades',#24,$,$);
|
||||
#26=IFCCLASSIFICATIONREFERENCE($,'10.10.10.10','Puntals met\X2\00E0\X0\l\X2\00B7\X0\lics',#25,$,$);
|
||||
#27=IFCCLASSIFICATIONREFERENCE($,'10.10.10.20','Ancoratges temporals',#25,$,$);
|
||||
#28=IFCCLASSIFICATIONREFERENCE($,'10.10.20','Altres actuacions per a controlar afectacions',#24,$,$);
|
||||
#29=IFCCLASSIFICATIONREFERENCE($,'10.20','Moviment de terres',#23,$,$);
|
||||
#30=IFCCLASSIFICATIONREFERENCE($,'10.20.10','Topografia',#29,$,$);
|
||||
#31=IFCCLASSIFICATIONREFERENCE($,'10.20.20','Excavacions',#29,$,$);
|
||||
#32=IFCCLASSIFICATIONREFERENCE($,'10.20.20.10','Excavaci\X2\00F3\X0\ general',#31,$,$);
|
||||
#33=IFCCLASSIFICATIONREFERENCE($,'10.20.20.20','Excavaci\X2\00F3\X0\ de fonamentaci\X2\00F3\X0\',#31,$,$);
|
||||
#34=IFCCLASSIFICATIONREFERENCE($,'10.20.30','Reblerts',#29,$,$);
|
||||
#35=IFCCLASSIFICATIONREFERENCE($,'10.20.30.10','Terraplenat',#34,$,$);
|
||||
#36=IFCCLASSIFICATIONREFERENCE($,'10.20.30.20','Millora del terreny',#34,$,$);
|
||||
#37=IFCCLASSIFICATIONREFERENCE($,'10.20.30.30','Reblert trasdos del mur',#34,$,$);
|
||||
#38=IFCCLASSIFICATIONREFERENCE($,'10.30','Esgotament del nivell fre\X2\00E0\X0\tic',#23,$,$);
|
||||
#39=IFCCLASSIFICATIONREFERENCE($,'10.30.10','Elements generals d''esgotament del nivell fre\X2\00E0\X0\tic',#38,$,$);
|
||||
#40=IFCCLASSIFICATIONREFERENCE($,'10.30.10.10','Decantador',#39,$,$);
|
||||
#41=IFCCLASSIFICATIONREFERENCE($,'10.30.10.20','Tuberia per a esgotaments',#39,$,$);
|
||||
#42=IFCCLASSIFICATIONREFERENCE($,'10.30.10.30','Comptador per a esgotaments',#39,$,$);
|
||||
#43=IFCCLASSIFICATIONREFERENCE($,'10.30.20','Esgotament amb sistema de bombeig',#38,$,$);
|
||||
#44=IFCCLASSIFICATIONREFERENCE($,'10.30.20.10','Pou de bombeig',#43,$,$);
|
||||
#45=IFCCLASSIFICATIONREFERENCE($,'10.30.30','Esgotament amb sistema Wellpoint',#38,$,$);
|
||||
#46=IFCCLASSIFICATIONREFERENCE($,'10.30.30.10','Llan\X2\00E7\X0\a de succi\X2\00F3\X0\',#45,$,$);
|
||||
#47=IFCCLASSIFICATIONREFERENCE($,'20','Sistema estructural',#2,$,$);
|
||||
#48=IFCCLASSIFICATIONREFERENCE($,'20.10','Fonaments i contenci\X2\00F3\X0\ de terres',#47,$,$);
|
||||
#49=IFCCLASSIFICATIONREFERENCE($,'20.10.10','Elements superficials',#48,$,$);
|
||||
#50=IFCCLASSIFICATIONREFERENCE($,'20.10.10.10','Traves',#49,$,$);
|
||||
#51=IFCCLASSIFICATIONREFERENCE($,'20.10.10.20','Sabates',#49,$,$);
|
||||
#52=IFCCLASSIFICATIONREFERENCE($,'20.10.10.30','Enceps',#49,$,$);
|
||||
#53=IFCCLASSIFICATIONREFERENCE($,'20.10.10.40','Lloses de fonamentaci\X2\00F3\X0\',#49,$,$);
|
||||
#54=IFCCLASSIFICATIONREFERENCE($,'20.10.10.50','Formig\X2\00F3\X0\ de neteja',#49,$,$);
|
||||
#55=IFCCLASSIFICATIONREFERENCE($,'20.10.10.60','Pous de fonamentacio',#49,$,$);
|
||||
#56=IFCCLASSIFICATIONREFERENCE($,'20.10.20','Elements profunds',#48,$,$);
|
||||
#57=IFCCLASSIFICATIONREFERENCE($,'20.10.20.20','Pantalles de fonamentaci\X2\00F3\X0\',#56,$,$);
|
||||
#58=IFCCLASSIFICATIONREFERENCE($,'20.10.20.30','Pilons de fonamentaci\X2\00F3\X0\',#56,$,$);
|
||||
#59=IFCCLASSIFICATIONREFERENCE($,'20.10.20.40','Micropilons',#56,$,$);
|
||||
#60=IFCCLASSIFICATIONREFERENCE($,'20.10.20.50','Jet-grouting',#56,$,$);
|
||||
#61=IFCCLASSIFICATIONREFERENCE($,'20.10.30','Elements de contenci\X2\00F3\X0\',#48,$,$);
|
||||
#62=IFCCLASSIFICATIONREFERENCE($,'20.10.30.10','Murs de contenci\X2\00F3\X0\',#61,$,$);
|
||||
#63=IFCCLASSIFICATIONREFERENCE($,'20.10.30.15','Mur gunitat',#61,$,$);
|
||||
#64=IFCCLASSIFICATIONREFERENCE($,'20.10.30.20','Pantalles de contenci\X2\00F3\X0\',#61,$,$);
|
||||
#65=IFCCLASSIFICATIONREFERENCE($,'20.10.30.30','Pilons de contenci\X2\00F3\X0\',#61,$,$);
|
||||
#66=IFCCLASSIFICATIONREFERENCE($,'20.10.30.40','Murs de micropilons',#61,$,$);
|
||||
#67=IFCCLASSIFICATIONREFERENCE($,'20.10.30.50','Murs de jet-grouting',#61,$,$);
|
||||
#68=IFCCLASSIFICATIONREFERENCE($,'20.10.30.60','Murs de palplanxes',#61,$,$);
|
||||
#69=IFCCLASSIFICATIONREFERENCE($,'20.10.30.70','Sistemes d''ancoratge i apuntalament d''elements de contenci\X2\00F3\X0\ definitius',#61,$,$);
|
||||
#70=IFCCLASSIFICATIONREFERENCE($,'20.10.40','Bases',#48,$,$);
|
||||
#71=IFCCLASSIFICATIONREFERENCE($,'20.10.40.10','Soleres',#70,$,$);
|
||||
#72=IFCCLASSIFICATIONREFERENCE($,'20.10.40.20','Rampes',#70,$,$);
|
||||
#73=IFCCLASSIFICATIONREFERENCE($,'20.10.40.30','Subbases',#70,$,$);
|
||||
#74=IFCCLASSIFICATIONREFERENCE($,'20.20','Estructura',#47,$,$);
|
||||
#75=IFCCLASSIFICATIONREFERENCE($,'20.20.10','Estructura vertical',#74,$,$);
|
||||
#76=IFCCLASSIFICATIONREFERENCE($,'20.20.10.10','Pilars',#75,$,$);
|
||||
#77=IFCCLASSIFICATIONREFERENCE($,'20.20.10.20','M\X2\00E8\X0\nsules',#75,$,$);
|
||||
#78=IFCCLASSIFICATIONREFERENCE($,'20.20.10.30','Murs estructurals',#75,$,$);
|
||||
#79=IFCCLASSIFICATIONREFERENCE($,'20.20.10.40','Escales d''estructura',#75,$,$);
|
||||
#80=IFCCLASSIFICATIONREFERENCE($,'20.20.10.50','Rampes d''estructura',#75,$,$);
|
||||
#81=IFCCLASSIFICATIONREFERENCE($,'20.20.10.60','Tensors verticals',#75,$,$);
|
||||
#82=IFCCLASSIFICATIONREFERENCE($,'20.20.20','Estructura horitzontal',#74,$,$);
|
||||
#83=IFCCLASSIFICATIONREFERENCE($,'20.20.20.10','Forjats',#82,$,$);
|
||||
#84=IFCCLASSIFICATIONREFERENCE($,'20.20.20.20','J\X2\00E0\X0\sseres',#82,$,$);
|
||||
#85=IFCCLASSIFICATIONREFERENCE($,'20.20.20.30','Encavallades',#82,$,$);
|
||||
#86=IFCCLASSIFICATIONREFERENCE($,'20.20.20.40','Biguetes',#82,$,$);
|
||||
#87=IFCCLASSIFICATIONREFERENCE($,'20.20.20.50','Tensors horitzontals',#82,$,$);
|
||||
#88=IFCCLASSIFICATIONREFERENCE($,'20.20.30','Estructura tridimensional',#74,$,$);
|
||||
#89=IFCCLASSIFICATIONREFERENCE($,'20.20.30.10','Volta',#88,$,$);
|
||||
#90=IFCCLASSIFICATIONREFERENCE($,'20.20.30.20','Arc',#88,$,$);
|
||||
#91=IFCCLASSIFICATIONREFERENCE($,'20.20.30.30','C\X2\00FA\X0\pula',#88,$,$);
|
||||
#92=IFCCLASSIFICATIONREFERENCE($,'20.20.30.40','Malla espacial',#88,$,$);
|
||||
#93=IFCCLASSIFICATIONREFERENCE($,'30','Sistemes d''envolvent i d''acabats exteriors',#2,$,$);
|
||||
#94=IFCCLASSIFICATIONREFERENCE($,'30.10','Envolvent vertical',#93,$,$);
|
||||
#95=IFCCLASSIFICATIONREFERENCE($,'30.10.10','Fa\X2\00E7\X0\anes',#94,$,$);
|
||||
#96=IFCCLASSIFICATIONREFERENCE($,'30.10.10.10','Fa\X2\00E7\X0\anes in situ',#95,$,$);
|
||||
#97=IFCCLASSIFICATIONREFERENCE($,'30.10.10.20','Fa\X2\00E7\X0\anes prefabricades',#95,$,$);
|
||||
#98=IFCCLASSIFICATIONREFERENCE($,'30.10.10.30','Sistemes especials de fa\X2\00E7\X0\anes',#95,$,$);
|
||||
#99=IFCCLASSIFICATIONREFERENCE($,'30.10.10.40','Acabats de fa\X2\00E7\X0\anes',#95,$,$);
|
||||
#100=IFCCLASSIFICATIONREFERENCE($,'30.10.10.50','Remats de fa\X2\00E7\X0\anes',#95,$,$);
|
||||
#101=IFCCLASSIFICATIONREFERENCE($,'30.10.20','Fuster\X2\00ED\X0\a de fa\X2\00E7\X0\ana',#94,$,$);
|
||||
#102=IFCCLASSIFICATIONREFERENCE($,'30.10.20.10','Finestres de fa\X2\00E7\X0\anes',#101,$,$);
|
||||
#103=IFCCLASSIFICATIONREFERENCE($,'30.10.20.20','Portes de fa\X2\00E7\X0\anes',#101,$,$);
|
||||
#104=IFCCLASSIFICATIONREFERENCE($,'30.10.20.30','Proteccions solars de fa\X2\00E7\X0\anes',#101,$,$);
|
||||
#105=IFCCLASSIFICATIONREFERENCE($,'30.10.20.40','Proteccions de seguretat de fa\X2\00E7\X0\anes',#101,$,$);
|
||||
#106=IFCCLASSIFICATIONREFERENCE($,'30.20','Envolvent horizontal superior',#93,$,$);
|
||||
#107=IFCCLASSIFICATIONREFERENCE($,'30.20.10','Cobertes',#106,$,$);
|
||||
#108=IFCCLASSIFICATIONREFERENCE($,'30.20.10.10','Cobertes in-situ',#107,$,$);
|
||||
#109=IFCCLASSIFICATIONREFERENCE($,'30.20.10.20','Cobertes Pre-fabricades',#107,$,$);
|
||||
#110=IFCCLASSIFICATIONREFERENCE($,'30.20.10.30','Sistemes especials de cobertes',#107,$,$);
|
||||
#111=IFCCLASSIFICATIONREFERENCE($,'30.20.10.40','Acabats de cobertes',#107,$,$);
|
||||
#112=IFCCLASSIFICATIONREFERENCE($,'30.20.10.50','Remats de cobertes',#107,$,$);
|
||||
#113=IFCCLASSIFICATIONREFERENCE($,'30.20.20','Fusteria de cobertes',#106,$,$);
|
||||
#114=IFCCLASSIFICATIONREFERENCE($,'30.20.20.10','Finestres de cobertes',#113,$,$);
|
||||
#115=IFCCLASSIFICATIONREFERENCE($,'30.20.20.20','Portes de cobertes',#113,$,$);
|
||||
#116=IFCCLASSIFICATIONREFERENCE($,'30.20.20.30','Proteccions solars de cobertes',#113,$,$);
|
||||
#117=IFCCLASSIFICATIONREFERENCE($,'30.20.20.40','Proteccions de seguretat de cobertes',#113,$,$);
|
||||
#118=IFCCLASSIFICATIONREFERENCE($,'30.30','Envolvent horizontal inferior',#93,$,$);
|
||||
#119=IFCCLASSIFICATIONREFERENCE($,'30.30.10','Compartimentaci\X2\00F3\X0\ exterior Horizontal',#118,$,$);
|
||||
#120=IFCCLASSIFICATIONREFERENCE($,'30.30.10.10','Falsos sostres exteriors',#119,$,$);
|
||||
#121=IFCCLASSIFICATIONREFERENCE($,'30.30.10.20','Remats compartimentaci\X2\00F3\X0\ exterior horizontal',#119,$,$);
|
||||
#122=IFCCLASSIFICATIONREFERENCE($,'30.30.20','Acabats envolvent horizontal inferior',#118,$,$);
|
||||
#123=IFCCLASSIFICATIONREFERENCE($,'30.30.20.10','Revestiments continus d''envolvent inferior',#122,$,$);
|
||||
#124=IFCCLASSIFICATIONREFERENCE($,'30.30.20.20','Remats envolvent inferior',#122,$,$);
|
||||
#125=IFCCLASSIFICATIONREFERENCE($,'30.40','Escales i rampes exteriors',#93,$,$);
|
||||
#126=IFCCLASSIFICATIONREFERENCE($,'30.40.10','Esglaonament exterior',#125,$,$);
|
||||
#127=IFCCLASSIFICATIONREFERENCE($,'30.40.10.10','Graons exteriors',#126,$,$);
|
||||
#128=IFCCLASSIFICATIONREFERENCE($,'30.40.10.20','Recrescut de graons exteriors',#126,$,$);
|
||||
#129=IFCCLASSIFICATIONREFERENCE($,'30.40.20','Acabats d''esglaonament i rampes exteriors',#125,$,$);
|
||||
#130=IFCCLASSIFICATIONREFERENCE($,'30.40.20.10','Acabat de tram exterior',#129,$,$);
|
||||
#131=IFCCLASSIFICATIONREFERENCE($,'30.40.20.20','Acabat de repl\X2\00E0\X0\ exterior',#129,$,$);
|
||||
#132=IFCCLASSIFICATIONREFERENCE($,'40','Sistemes de compartimentaci\X2\00F3\X0\ i d''acabats interiors',#2,$,$);
|
||||
#133=IFCCLASSIFICATIONREFERENCE($,'40.10','Compartimentaci\X2\00F3\X0\ i acabats interiors verticals ',#132,$,$);
|
||||
#134=IFCCLASSIFICATIONREFERENCE($,'40.10.10','Compartimentaci\X2\00F3\X0\ interior vertical',#133,$,$);
|
||||
#135=IFCCLASSIFICATIONREFERENCE($,'40.10.10.10','Envans',#134,$,$);
|
||||
#136=IFCCLASSIFICATIONREFERENCE($,'40.10.10.20','Mampares',#134,$,$);
|
||||
#137=IFCCLASSIFICATIONREFERENCE($,'40.10.10.30','Extradossats',#134,$,$);
|
||||
#138=IFCCLASSIFICATIONREFERENCE($,'40.10.10.40','Fusteria interior',#134,$,$);
|
||||
#139=IFCCLASSIFICATIONREFERENCE($,'40.10.10.50','Proteccions interiors',#134,$,$);
|
||||
#140=IFCCLASSIFICATIONREFERENCE($,'40.10.20','Acabats interiors verticals',#133,$,$);
|
||||
#141=IFCCLASSIFICATIONREFERENCE($,'40.10.20.10','Revestiments discontinus',#140,$,$);
|
||||
#142=IFCCLASSIFICATIONREFERENCE($,'40.10.20.20','Revestiments continus',#140,$,$);
|
||||
#143=IFCCLASSIFICATIONREFERENCE($,'40.10.20.30','Remats interiors',#140,$,$);
|
||||
#144=IFCCLASSIFICATIONREFERENCE($,'40.10.20.40','Pintures i vinils',#140,$,$);
|
||||
#145=IFCCLASSIFICATIONREFERENCE($,'40.20','Compartimentaci\X2\00F3\X0\ i acabats interiors horitzontals',#132,$,$);
|
||||
#146=IFCCLASSIFICATIONREFERENCE($,'40.20.10','Compartimentaci\X2\00F3\X0\ interior horitzontal',#145,$,$);
|
||||
#147=IFCCLASSIFICATIONREFERENCE($,'40.20.10.10','Falsos sostres interiors',#146,$,$);
|
||||
#148=IFCCLASSIFICATIONREFERENCE($,'40.20.10.20','Terres t\X2\00E8\X0\cnics',#146,$,$);
|
||||
#149=IFCCLASSIFICATIONREFERENCE($,'40.20.10.30','Recrescuts',#146,$,$);
|
||||
#150=IFCCLASSIFICATIONREFERENCE($,'40.20.20','Acabats interiors horitzontals',#145,$,$);
|
||||
#151=IFCCLASSIFICATIONREFERENCE($,'40.20.20.10','Revestiments sostres',#150,$,$);
|
||||
#152=IFCCLASSIFICATIONREFERENCE($,'40.20.20.20','Paviments',#150,$,$);
|
||||
#153=IFCCLASSIFICATIONREFERENCE($,'40.30','Escales i rampes interiors',#132,$,$);
|
||||
#154=IFCCLASSIFICATIONREFERENCE($,'40.30.10','Esglaonament interior',#153,$,$);
|
||||
#155=IFCCLASSIFICATIONREFERENCE($,'40.30.10.10','Graons interiors',#154,$,$);
|
||||
#156=IFCCLASSIFICATIONREFERENCE($,'40.30.10.20','Recrescut de graons interiors',#154,$,$);
|
||||
#157=IFCCLASSIFICATIONREFERENCE($,'40.30.20','Acabats d''esglaonament i rampes interiors',#153,$,$);
|
||||
#158=IFCCLASSIFICATIONREFERENCE($,'40.30.20.10','Acabat de tram interior',#157,$,$);
|
||||
#159=IFCCLASSIFICATIONREFERENCE($,'40.30.20.20','Acabat de repl\X2\00E0\X0\ interior',#157,$,$);
|
||||
#160=IFCCLASSIFICATIONREFERENCE($,'40.40','Elements especials d''acabats interiors',#132,$,$);
|
||||
#161=IFCCLASSIFICATIONREFERENCE($,'40.40.10','Elements de senyalitzaci\X2\00F3\X0\',#160,$,$);
|
||||
#162=IFCCLASSIFICATIONREFERENCE($,'40.40.10.10','Senyalitzaci\X2\00F3\X0\ de sostre',#161,$,$);
|
||||
#163=IFCCLASSIFICATIONREFERENCE($,'40.40.10.20','Senyalitzaci\X2\00F3\X0\ mural',#161,$,$);
|
||||
#164=IFCCLASSIFICATIONREFERENCE($,'40.40.10.30','Senyalitzaci\X2\00F3\X0\ de terres',#161,$,$);
|
||||
#165=IFCCLASSIFICATIONREFERENCE($,'40.40.20','Altres elements especials d''acabats interiors',#160,$,$);
|
||||
#166=IFCCLASSIFICATIONREFERENCE($,'50','Sistemes de condicionaments, instal\X2\00B7\X0\lacions i serveis',#2,$,$);
|
||||
#167=IFCCLASSIFICATIONREFERENCE($,'50.10','Fontaneria',#166,$,$);
|
||||
#168=IFCCLASSIFICATIONREFERENCE($,'50.10.10','Equips principals de fontaneria',#167,$,$);
|
||||
#169=IFCCLASSIFICATIONREFERENCE($,'50.10.10.10','Equips de mesura i control de fontaneria',#168,$,$);
|
||||
#170=IFCCLASSIFICATIONREFERENCE($,'50.10.10.20','Grups de pressi\X2\00F3\X0\ de fontaneria',#168,$,$);
|
||||
#171=IFCCLASSIFICATIONREFERENCE($,'50.10.10.30','Dip\X2\00F2\X0\sits, acumuladors i escalfadors',#168,$,$);
|
||||
#172=IFCCLASSIFICATIONREFERENCE($,'50.10.20','Xarxa de distribuci\X2\00F3\X0\ de fontaneria',#167,$,$);
|
||||
#173=IFCCLASSIFICATIONREFERENCE($,'50.10.20.10','V\X2\00E0\X0\lvules i instruments de mesura i control de fluxe de fontaneria',#172,$,$);
|
||||
#174=IFCCLASSIFICATIONREFERENCE($,'50.10.20.20','Dispositius de fontaneria',#172,$,$);
|
||||
#175=IFCCLASSIFICATIONREFERENCE($,'50.10.20.30','Canalitzacions d''aigua sanit\X2\00E0\X0\ria',#172,$,$);
|
||||
#176=IFCCLASSIFICATIONREFERENCE($,'50.10.20.40','Canalitzacions d''aigua tractada',#172,$,$);
|
||||
#177=IFCCLASSIFICATIONREFERENCE($,'50.10.20.50','Arquetes i pous de fontaneria',#172,$,$);
|
||||
#178=IFCCLASSIFICATIONREFERENCE($,'50.10.20.60','Terminals de fontaneria',#172,$,$);
|
||||
#179=IFCCLASSIFICATIONREFERENCE($,'50.20','Evacuaci\X2\00F3\X0\ d''aig\X2\00FC\X0\es',#166,$,$);
|
||||
#180=IFCCLASSIFICATIONREFERENCE($,'50.20.10','Equips principals d''evacuaci\X2\00F3\X0\ d''aig\X2\00FC\X0\es',#179,$,$);
|
||||
#181=IFCCLASSIFICATIONREFERENCE($,'50.20.10.10','Equips de mesura i control d''evacuaci\X2\00F3\X0\ d''aig\X2\00FC\X0\es',#180,$,$);
|
||||
#182=IFCCLASSIFICATIONREFERENCE($,'50.20.10.20','Grups de pressi\X2\00F3\X0\ d''evacuaci\X2\00F3\X0\ d''aig\X2\00FC\X0\es',#180,$,$);
|
||||
#183=IFCCLASSIFICATIONREFERENCE($,'50.20.10.30','Dip\X2\00F2\X0\sits d''evacuaci\X2\00F3\X0\ d''aig\X2\00FC\X0\es',#180,$,$);
|
||||
#184=IFCCLASSIFICATIONREFERENCE($,'50.20.10.40','Dispositius d''evacuaci\X2\00F3\X0\ d''aig\X2\00FC\X0\es',#180,$,$);
|
||||
#185=IFCCLASSIFICATIONREFERENCE($,'50.20.20','Xarxa de recollida',#179,$,$);
|
||||
#186=IFCCLASSIFICATIONREFERENCE($,'50.20.20.10','Canalitzacions d''aig\X2\00FC\X0\es pluvials',#185,$,$);
|
||||
#187=IFCCLASSIFICATIONREFERENCE($,'50.20.20.20','Canalitzacions d''aig\X2\00FC\X0\es residuals',#185,$,$);
|
||||
#188=IFCCLASSIFICATIONREFERENCE($,'50.20.20.30','Canalitzacions d''aig\X2\00FC\X0\es grises',#185,$,$);
|
||||
#189=IFCCLASSIFICATIONREFERENCE($,'50.20.20.40','Canalitzacions per a ventilaci\X2\00F3\X0\ sanejament',#185,$,$);
|
||||
#190=IFCCLASSIFICATIONREFERENCE($,'50.20.20.50','Arquetes i pous d''evaquaci\X2\00F3\X0\ d''aig\X2\00FC\X0\es',#185,$,$);
|
||||
#191=IFCCLASSIFICATIONREFERENCE($,'50.20.20.60','Terminals de drenatge',#185,$,$);
|
||||
#192=IFCCLASSIFICATIONREFERENCE($,'50.30','Instal\X2\00B7\X0\lacions t\X2\00E9\X0\rmiques i de ventilaci\X2\00F3\X0\',#166,$,$);
|
||||
#193=IFCCLASSIFICATIONREFERENCE($,'50.30.10','Equips de producci\X2\00F3\X0\ d''instal\X2\00B7\X0\lacions t\X2\00E8\X0\rmiques',#192,$,$);
|
||||
#194=IFCCLASSIFICATIONREFERENCE($,'50.30.10.10','Torres de refrigeraci\X2\00F3\X0\',#193,$,$);
|
||||
#195=IFCCLASSIFICATIONREFERENCE($,'50.30.10.20','Unitats exteriors d''instal\X2\00B7\X0\lacions t\X2\00E8\X0\rmiques',#193,$,$);
|
||||
#196=IFCCLASSIFICATIONREFERENCE($,'50.30.10.30','Unitats interiors d''instal\X2\00B7\X0\lacions t\X2\00E8\X0\rmiques',#193,$,$);
|
||||
#197=IFCCLASSIFICATIONREFERENCE($,'50.30.10.40','Calderes',#193,$,$);
|
||||
#198=IFCCLASSIFICATIONREFERENCE($,'50.30.10.50','Termoacumuladors',#193,$,$);
|
||||
#199=IFCCLASSIFICATIONREFERENCE($,'50.30.10.60','Geot\X2\00E8\X0\rmia',#193,$,$);
|
||||
#200=IFCCLASSIFICATIONREFERENCE($,'50.30.10.70','Captadors solars t\X2\00E8\X0\rmics',#193,$,$);
|
||||
#201=IFCCLASSIFICATIONREFERENCE($,'50.30.10.80','Ventiladors',#193,$,$);
|
||||
#202=IFCCLASSIFICATIONREFERENCE($,'50.30.10.90','Recuperadors',#193,$,$);
|
||||
#203=IFCCLASSIFICATIONREFERENCE($,'50.30.20','Equips secundaris d''instal\X2\00B7\X0\lacions t\X2\00E8\X0\rmiques',#192,$,$);
|
||||
#204=IFCCLASSIFICATIONREFERENCE($,'50.30.20.10','Equips de bombeig d''instal\X2\00B7\X0\lacions t\X2\00E8\X0\rmiques',#203,$,$);
|
||||
#205=IFCCLASSIFICATIONREFERENCE($,'50.30.20.20','Silenciadors',#203,$,$);
|
||||
#206=IFCCLASSIFICATIONREFERENCE($,'50.30.20.30','Comportes',#203,$,$);
|
||||
#207=IFCCLASSIFICATIONREFERENCE($,'50.30.20.40','Reguladors',#203,$,$);
|
||||
#208=IFCCLASSIFICATIONREFERENCE($,'50.30.20.50','Condensadors',#203,$,$);
|
||||
#209=IFCCLASSIFICATIONREFERENCE($,'50.30.20.60','V\X2\00E0\X0\lvules i instruments de mesura i control de fluxe de climatitzaci\X2\00F3\X0\',#203,$,$);
|
||||
#210=IFCCLASSIFICATIONREFERENCE($,'50.30.30','Circuits de distribuci\X2\00F3\X0\ de fluids fred/calor',#192,$,$);
|
||||
#211=IFCCLASSIFICATIONREFERENCE($,'50.30.30.10','L\X2\00ED\X0\nies frigor\X2\00ED\X0\fiques',#210,$,$);
|
||||
#212=IFCCLASSIFICATIONREFERENCE($,'50.30.30.20','L\X2\00ED\X0\nies hidr\X2\00E0\X0\uliques',#210,$,$);
|
||||
#213=IFCCLASSIFICATIONREFERENCE($,'50.30.40','Conductes de distribuci\X2\00F3\X0\ d''aire',#192,$,$);
|
||||
#214=IFCCLASSIFICATIONREFERENCE($,'50.30.40.10','Aportaci\X2\00F3\X0\ de aire primari',#213,$,$);
|
||||
#215=IFCCLASSIFICATIONREFERENCE($,'50.30.40.20','Extracci\X2\00F3\X0\ de aire primari',#213,$,$);
|
||||
#216=IFCCLASSIFICATIONREFERENCE($,'50.30.40.30','Impulsi\X2\00F3\X0\ de aire tractat',#213,$,$);
|
||||
#217=IFCCLASSIFICATIONREFERENCE($,'50.30.40.40','Retorn de aire tractat',#213,$,$);
|
||||
#218=IFCCLASSIFICATIONREFERENCE($,'50.30.40.50','Extracci\X2\00F3\X0\ de fums',#213,$,$);
|
||||
#219=IFCCLASSIFICATIONREFERENCE($,'50.30.50','Terminals i difusors',#192,$,$);
|
||||
#220=IFCCLASSIFICATIONREFERENCE($,'50.30.50.10','Radiadors',#219,$,$);
|
||||
#221=IFCCLASSIFICATIONREFERENCE($,'50.30.50.20','Difusors',#219,$,$);
|
||||
#222=IFCCLASSIFICATIONREFERENCE($,'50.30.50.30','Terra radiant',#219,$,$);
|
||||
#223=IFCCLASSIFICATIONREFERENCE($,'50.30.50.40','Forjats radiants',#219,$,$);
|
||||
#224=IFCCLASSIFICATIONREFERENCE($,'50.30.50.50','Reixetes',#219,$,$);
|
||||
#225=IFCCLASSIFICATIONREFERENCE($,'50.30.60','Dispositius de maniobra i control',#192,$,$);
|
||||
#226=IFCCLASSIFICATIONREFERENCE($,'50.30.60.10','Cablejat / BUS de climatitzaci\X2\00F3\X0\',#225,$,$);
|
||||
#227=IFCCLASSIFICATIONREFERENCE($,'50.30.60.20','Detectors de CO2',#225,$,$);
|
||||
#228=IFCCLASSIFICATIONREFERENCE($,'50.40','Subministrament de combustibles',#166,$,$);
|
||||
#229=IFCCLASSIFICATIONREFERENCE($,'50.40.10','Equips principals de subministrament de combustibles',#228,$,$);
|
||||
#230=IFCCLASSIFICATIONREFERENCE($,'50.40.10.10','Equips de mesura, regulaci\X2\00F3\X0\ i control de combustibles',#229,$,$);
|
||||
#231=IFCCLASSIFICATIONREFERENCE($,'50.40.10.20','Dip\X2\00F2\X0\sits de combustible',#229,$,$);
|
||||
#232=IFCCLASSIFICATIONREFERENCE($,'50.40.10.30','Grups de pressi\X2\00F3\X0\ de combustible',#229,$,$);
|
||||
#233=IFCCLASSIFICATIONREFERENCE($,'50.40.20','Equips secundaris de subministrament de combustibles',#228,$,$);
|
||||
#234=IFCCLASSIFICATIONREFERENCE($,'50.40.20.10','V\X2\00E0\X0\lvules i instruments de mesura i control de fluxe de combustibles',#233,$,$);
|
||||
#235=IFCCLASSIFICATIONREFERENCE($,'50.40.20.20','Dispositius de subministrament de combustibles',#233,$,$);
|
||||
#236=IFCCLASSIFICATIONREFERENCE($,'50.40.30','Xarxa de distribuci\X2\00F3\X0\ de subministrament de combustibles',#228,$,$);
|
||||
#237=IFCCLASSIFICATIONREFERENCE($,'50.40.30.10','Canalitzacions de subministrament de combustibles',#236,$,$);
|
||||
#238=IFCCLASSIFICATIONREFERENCE($,'50.40.30.20','Arquetes i pous de subministrament de combustibles',#236,$,$);
|
||||
#239=IFCCLASSIFICATIONREFERENCE($,'50.40.40','Terminals de subministrament de combustibles',#228,$,$);
|
||||
#240=IFCCLASSIFICATIONREFERENCE($,'50.40.40.10','Aixetes de subministrament de combustibles',#239,$,$);
|
||||
#241=IFCCLASSIFICATIONREFERENCE($,'50.40.40.20','Cremadors',#239,$,$);
|
||||
#242=IFCCLASSIFICATIONREFERENCE($,'50.40.50','Dispositius de maniobra i control',#228,$,$);
|
||||
#243=IFCCLASSIFICATIONREFERENCE($,'50.40.50.10','Cablejat / BUS per a subministrament de combustibles',#242,$,$);
|
||||
#244=IFCCLASSIFICATIONREFERENCE($,'50.40.50.20','Detector de gasos ',#242,$,$);
|
||||
#245=IFCCLASSIFICATIONREFERENCE($,'50.50','Protecci\X2\00F3\X0\ contra incendis',#166,$,$);
|
||||
#246=IFCCLASSIFICATIONREFERENCE($,'50.50.10','Extinci\X2\00F3\X0\ d''incendis',#245,$,$);
|
||||
#247=IFCCLASSIFICATIONREFERENCE($,'50.50.10.10','Dip\X2\00F2\X0\sits d''extinci\X2\00F3\X0\ d''incendis',#246,$,$);
|
||||
#248=IFCCLASSIFICATIONREFERENCE($,'50.50.10.20','Grups de pressi\X2\00F3\X0\ d''extinci\X2\00F3\X0\ d''incendis',#246,$,$);
|
||||
#249=IFCCLASSIFICATIONREFERENCE($,'50.50.10.30','V\X2\00E0\X0\lvules i instruments de mesura i control de fluxe d''extinci\X2\00F3\X0\ d''incendis',#246,$,$);
|
||||
#250=IFCCLASSIFICATIONREFERENCE($,'50.50.10.40','Dispositius d''extinci\X2\00F3\X0\ d''incendis',#246,$,$);
|
||||
#251=IFCCLASSIFICATIONREFERENCE($,'50.50.10.50','Canalitzacions d''extinci\X2\00F3\X0\ d''incendis',#246,$,$);
|
||||
#252=IFCCLASSIFICATIONREFERENCE($,'50.50.10.60','Ruixadors',#246,$,$);
|
||||
#253=IFCCLASSIFICATIONREFERENCE($,'50.50.10.70','BIES',#246,$,$);
|
||||
#254=IFCCLASSIFICATIONREFERENCE($,'50.50.10.80','Extintors',#246,$,$);
|
||||
#255=IFCCLASSIFICATIONREFERENCE($,'50.50.20','Detecci\X2\00F3\X0\ d''incendis',#245,$,$);
|
||||
#256=IFCCLASSIFICATIONREFERENCE($,'50.50.20.10','Centraletes i racks de detecci\X2\00F3\X0\ d''incendis',#255,$,$);
|
||||
#257=IFCCLASSIFICATIONREFERENCE($,'50.50.20.20','Equips especials de detecci\X2\00F3\X0\ d''incendis',#255,$,$);
|
||||
#258=IFCCLASSIFICATIONREFERENCE($,'50.50.20.30','Canalitzacions de detecci\X2\00F3\X0\ d''incendis',#255,$,$);
|
||||
#259=IFCCLASSIFICATIONREFERENCE($,'50.50.20.40','Caixes de distribuci\X2\00F3\X0\ de detecci\X2\00F3\X0\ d''incendis',#255,$,$);
|
||||
#260=IFCCLASSIFICATIONREFERENCE($,'50.50.30','Dispositius de maniobra i control',#245,$,$);
|
||||
#261=IFCCLASSIFICATIONREFERENCE($,'50.50.30.10','Polsadors',#260,$,$);
|
||||
#262=IFCCLASSIFICATIONREFERENCE($,'50.50.30.20','Quadres de comandament per contra incendis',#260,$,$);
|
||||
#263=IFCCLASSIFICATIONREFERENCE($,'50.50.30.30','Detectors d''incendis',#260,$,$);
|
||||
#264=IFCCLASSIFICATIONREFERENCE($,'50.50.30.40','Mecanismes d''extinci\X2\00F3\X0\ i detecci\X2\00F3\X0\ d''incendis',#260,$,$);
|
||||
#265=IFCCLASSIFICATIONREFERENCE($,'50.50.30.50','Cablejat / BUS de contra incendis',#260,$,$);
|
||||
#266=IFCCLASSIFICATIONREFERENCE($,'50.60','Instal\X2\00B7\X0\lacions el\X2\00E8\X0\ctriques',#166,$,$);
|
||||
#267=IFCCLASSIFICATIONREFERENCE($,'50.60.10','Equips el\X2\00E8\X0\ctrics principals',#266,$,$);
|
||||
#268=IFCCLASSIFICATIONREFERENCE($,'50.60.10.10','Quadres el\X2\00E8\X0\ctrics',#267,$,$);
|
||||
#269=IFCCLASSIFICATIONREFERENCE($,'50.60.10.20','Grups electr\X2\00F2\X0\gens',#267,$,$);
|
||||
#270=IFCCLASSIFICATIONREFERENCE($,'50.60.10.30','Escomeses el\X2\00E8\X0\ctriques',#267,$,$);
|
||||
#271=IFCCLASSIFICATIONREFERENCE($,'50.60.10.40','Transformadors',#267,$,$);
|
||||
#272=IFCCLASSIFICATIONREFERENCE($,'50.60.20','Equips el\X2\00E8\X0\ctrics secundaris',#266,$,$);
|
||||
#273=IFCCLASSIFICATIONREFERENCE($,'50.60.20.10','Bateries i SAI',#272,$,$);
|
||||
#274=IFCCLASSIFICATIONREFERENCE($,'50.60.20.20','Quadres de comandament el\X2\00E8\X0\ctric',#272,$,$);
|
||||
#275=IFCCLASSIFICATIONREFERENCE($,'50.60.20.30','Bateries de condensadors',#272,$,$);
|
||||
#276=IFCCLASSIFICATIONREFERENCE($,'50.60.20.40','Embarrats i transformadors',#272,$,$);
|
||||
#277=IFCCLASSIFICATIONREFERENCE($,'50.60.30','Canalitzacions de distribuci\X2\00F3\X0\ el\X2\00E8\X0\ctriques',#266,$,$);
|
||||
#278=IFCCLASSIFICATIONREFERENCE($,'50.60.30.10','Safates de distribuci\X2\00F3\X0\ el\X2\00E8\X0\ctrica',#277,$,$);
|
||||
#279=IFCCLASSIFICATIONREFERENCE($,'50.60.30.20','Canals de superf\X2\00ED\X0\cie de distribuci\X2\00F3\X0\ el\X2\00E9\X0\ctrica',#277,$,$);
|
||||
#280=IFCCLASSIFICATIONREFERENCE($,'50.60.30.30','Caixes de distribuci\X2\00F3\X0\ el\X2\00E8\X0\ctrica',#277,$,$);
|
||||
#281=IFCCLASSIFICATIONREFERENCE($,'50.60.30.40','M\X2\00E0\X0\negues i tubs de distribuci\X2\00F3\X0\ el\X2\00E8\X0\ctrica',#277,$,$);
|
||||
#282=IFCCLASSIFICATIONREFERENCE($,'50.60.30.50','Arquetes i pous de distribuci\X2\00F3\X0\ el\X2\00E8\X0\ctrica',#277,$,$);
|
||||
#283=IFCCLASSIFICATIONREFERENCE($,'50.60.30.60','Cablejat el\X2\00E8\X0\ctric',#277,$,$);
|
||||
#284=IFCCLASSIFICATIONREFERENCE($,'50.60.40','Dispositius de maniobra i control',#266,$,$);
|
||||
#285=IFCCLASSIFICATIONREFERENCE($,'50.60.40.10','Mecanismes',#284,$,$);
|
||||
#286=IFCCLASSIFICATIONREFERENCE($,'50.60.40.20','Preses',#284,$,$);
|
||||
#287=IFCCLASSIFICATIONREFERENCE($,'50.60.50','Il\X2\00B7\X0\luminaci\X2\00F3\X0\',#266,$,$);
|
||||
#288=IFCCLASSIFICATIONREFERENCE($,'50.60.50.10','Il\X2\00B7\X0\luminaci\X2\00F3\X0\ exterior',#287,$,$);
|
||||
#289=IFCCLASSIFICATIONREFERENCE($,'50.60.50.20','Il\X2\00B7\X0\luminaci\X2\00F3\X0\ interior',#287,$,$);
|
||||
#290=IFCCLASSIFICATIONREFERENCE($,'50.60.50.30','Il\X2\00B7\X0\luminaci\X2\00F3\X0\ d''emerg\X2\00E8\X0\ncia',#287,$,$);
|
||||
#291=IFCCLASSIFICATIONREFERENCE($,'50.60.60','Xarxa de terres',#266,$,$);
|
||||
#292=IFCCLASSIFICATIONREFERENCE($,'50.60.60.10','Parallamps',#291,$,$);
|
||||
#293=IFCCLASSIFICATIONREFERENCE($,'50.60.60.20','Piquetes i arquetes',#291,$,$);
|
||||
#294=IFCCLASSIFICATIONREFERENCE($,'50.60.60.30','Mecanismes de la xarxa de terres',#291,$,$);
|
||||
#295=IFCCLASSIFICATIONREFERENCE($,'50.70','Telecomunicacions i audiovisuals',#166,$,$);
|
||||
#296=IFCCLASSIFICATIONREFERENCE($,'50.70.10','Equips principals de telecomunicacions',#295,$,$);
|
||||
#297=IFCCLASSIFICATIONREFERENCE($,'50.70.10.10','Antenes',#296,$,$);
|
||||
#298=IFCCLASSIFICATIONREFERENCE($,'50.70.10.20','Escomeses de telecomunicacions',#296,$,$);
|
||||
#299=IFCCLASSIFICATIONREFERENCE($,'50.70.10.30','Armaris RACK',#296,$,$);
|
||||
#300=IFCCLASSIFICATIONREFERENCE($,'50.70.10.40','Servidors',#296,$,$);
|
||||
#301=IFCCLASSIFICATIONREFERENCE($,'50.70.20','Equips secundaris de telecomunicacions',#295,$,$);
|
||||
#302=IFCCLASSIFICATIONREFERENCE($,'50.70.20.10','Conversors',#301,$,$);
|
||||
#303=IFCCLASSIFICATIONREFERENCE($,'50.70.20.20','Amplificadors',#301,$,$);
|
||||
#304=IFCCLASSIFICATIONREFERENCE($,'50.70.20.30','Altaveus',#301,$,$);
|
||||
#305=IFCCLASSIFICATIONREFERENCE($,'50.70.20.40','Centraletes',#301,$,$);
|
||||
#306=IFCCLASSIFICATIONREFERENCE($,'50.70.20.50','Routers',#301,$,$);
|
||||
#307=IFCCLASSIFICATIONREFERENCE($,'50.70.20.60','Monitors',#301,$,$);
|
||||
#308=IFCCLASSIFICATIONREFERENCE($,'50.70.30','Canalitzacions de distribuci\X2\00F3\X0\ per a senyals d\X2\00E8\X0\bils',#295,$,$);
|
||||
#309=IFCCLASSIFICATIONREFERENCE($,'50.70.30.10','Safates de distribuci\X2\00F3\X0\ per a senyals d\X2\00E8\X0\bils',#308,$,$);
|
||||
#310=IFCCLASSIFICATIONREFERENCE($,'50.70.30.20','Canals de superficie per a senyals d\X2\00E8\X0\bils',#308,$,$);
|
||||
#311=IFCCLASSIFICATIONREFERENCE($,'50.70.30.30','Caixes de distribuci\X2\00F3\X0\ per a senyals d\X2\00E8\X0\bils',#308,$,$);
|
||||
#312=IFCCLASSIFICATIONREFERENCE($,'50.70.30.40','Cablejat de senyals d\X2\00E8\X0\bils',#308,$,$);
|
||||
#313=IFCCLASSIFICATIONREFERENCE($,'50.70.30.50','M\X2\00E0\X0\negues i tubs de distribuci\X2\00F3\X0\ per a senyals d\X2\00E8\X0\bils',#308,$,$);
|
||||
#314=IFCCLASSIFICATIONREFERENCE($,'50.70.30.60','Arquetes i pous per a senyals d\X2\00E8\X0\bils',#308,$,$);
|
||||
#315=IFCCLASSIFICATIONREFERENCE($,'50.70.40','Dispositius de maniobra i control de telecomunicacions',#295,$,$);
|
||||
#316=IFCCLASSIFICATIONREFERENCE($,'50.70.40.10','Preses de telecomunicacions ',#315,$,$);
|
||||
#317=IFCCLASSIFICATIONREFERENCE($,'50.70.40.20','Quadres de comandament de telecomunicacions',#315,$,$);
|
||||
#318=IFCCLASSIFICATIONREFERENCE($,'50.70.50','Terminals de telecomunicacions',#295,$,$);
|
||||
#319=IFCCLASSIFICATIONREFERENCE($,'50.70.50.10','Equips de telecomunicacions',#318,$,$);
|
||||
#320=IFCCLASSIFICATIONREFERENCE($,'50.70.50.20','Emissors de telecomunicacions',#318,$,$);
|
||||
#321=IFCCLASSIFICATIONREFERENCE($,'50.80','Seguretat i antiintrusi\X2\00F3\X0\',#166,$,$);
|
||||
#322=IFCCLASSIFICATIONREFERENCE($,'50.80.10','Equips de seguretat i antiintrusi\X2\00F3\X0\',#321,$,$);
|
||||
#323=IFCCLASSIFICATIONREFERENCE($,'50.80.10.10','Racks per seguretat i antiintrusi\X2\00F3\X0\',#322,$,$);
|
||||
#324=IFCCLASSIFICATIONREFERENCE($,'50.80.10.20','Centraletes de seguretat',#322,$,$);
|
||||
#325=IFCCLASSIFICATIONREFERENCE($,'50.80.10.30','Telefonia',#322,$,$);
|
||||
#326=IFCCLASSIFICATIONREFERENCE($,'50.80.20','Sistemes anti-intrusi\X2\00F3\X0\',#321,$,$);
|
||||
#327=IFCCLASSIFICATIONREFERENCE($,'50.80.20.10','Detectors anti-intrusi\X2\00F3\X0\',#326,$,$);
|
||||
#328=IFCCLASSIFICATIONREFERENCE($,'50.80.20.20','Circuits de TV',#326,$,$);
|
||||
#329=IFCCLASSIFICATIONREFERENCE($,'50.80.20.30','Sensors anti-intrusi\X2\00F3\X0\',#326,$,$);
|
||||
#330=IFCCLASSIFICATIONREFERENCE($,'50.80.30','Elements de control de persones',#321,$,$);
|
||||
#331=IFCCLASSIFICATIONREFERENCE($,'50.80.30.10','Control de accessos',#330,$,$);
|
||||
#332=IFCCLASSIFICATIONREFERENCE($,'50.80.40','Elements de control de vehicles',#321,$,$);
|
||||
#333=IFCCLASSIFICATIONREFERENCE($,'50.80.40.10','Gesti\X2\00F3\X0\ de tr\X2\00E0\X0\nsit',#332,$,$);
|
||||
#334=IFCCLASSIFICATIONREFERENCE($,'50.80.50','Elements d''av\X2\00ED\X0\s i alarma',#321,$,$);
|
||||
#335=IFCCLASSIFICATIONREFERENCE($,'50.80.50.10','Sirenes',#334,$,$);
|
||||
#336=IFCCLASSIFICATIONREFERENCE($,'50.90','Instal\X2\00B7\X0\lacions especials',#166,$,$);
|
||||
#337=IFCCLASSIFICATIONREFERENCE($,'50.90.10','Equips principals d''instal\X2\00B7\X0\lacions especials',#336,$,$);
|
||||
#338=IFCCLASSIFICATIONREFERENCE($,'50.90.10.10','Equips de mesura, regulaci\X2\00F3\X0\ i control especials',#337,$,$);
|
||||
#339=IFCCLASSIFICATIONREFERENCE($,'50.90.10.20','Dip\X2\00F2\X0\sits d''instal\X2\00B7\X0\lacions especials',#337,$,$);
|
||||
#340=IFCCLASSIFICATIONREFERENCE($,'50.90.10.30','Grups de pressi\X2\00F3\X0\ d''instal\X2\00B7\X0\lacions especials',#337,$,$);
|
||||
#341=IFCCLASSIFICATIONREFERENCE($,'50.90.20','Equips secundaris d''instal\X2\00B7\X0\lacions especials',#336,$,$);
|
||||
#342=IFCCLASSIFICATIONREFERENCE($,'50.90.20.10','V\X2\00E0\X0\lvules i instruments de mesura i control de fluxe especials',#341,$,$);
|
||||
#343=IFCCLASSIFICATIONREFERENCE($,'50.90.20.20','Dispositius especials',#341,$,$);
|
||||
#344=IFCCLASSIFICATIONREFERENCE($,'50.90.30','Xarxa de distribuci\X2\00F3\X0\ d''instal\X2\00B7\X0\lacions especials',#336,$,$);
|
||||
#345=IFCCLASSIFICATIONREFERENCE($,'50.90.30.10','Canalitzacions especials',#344,$,$);
|
||||
#346=IFCCLASSIFICATIONREFERENCE($,'50.90.30.20','Arquetes i pous d''instal\X2\00B7\X0\lacions especials',#344,$,$);
|
||||
#347=IFCCLASSIFICATIONREFERENCE($,'50.90.40','Terminals d''instal\X2\00B7\X0\lacions especials',#336,$,$);
|
||||
#348=IFCCLASSIFICATIONREFERENCE($,'50.90.40.10','Aixetes per a instal\X2\00B7\X0\lacions especials',#347,$,$);
|
||||
#349=IFCCLASSIFICATIONREFERENCE($,'50.90.40.20','Altres terminals especials',#347,$,$);
|
||||
#350=IFCCLASSIFICATIONREFERENCE($,'50.90.50','Dispositius de maniobra i control',#336,$,$);
|
||||
#351=IFCCLASSIFICATIONREFERENCE($,'50.90.50.10','Comandaments',#350,$,$);
|
||||
#352=IFCCLASSIFICATIONREFERENCE($,'50.90.50.20','Detectors especials',#350,$,$);
|
||||
#353=IFCCLASSIFICATIONREFERENCE($,'50.90.50.30','Sensors especials',#350,$,$);
|
||||
#354=IFCCLASSIFICATIONREFERENCE($,'50.90.50.40','Altres dispositius de maniobra i control especials',#350,$,$);
|
||||
#355=IFCCLASSIFICATIONREFERENCE($,'50.100','Altres elements d''instal\X2\00B7\X0\lacions',#166,$,$);
|
||||
#356=IFCCLASSIFICATIONREFERENCE($,'50.100.10','Elements comuns d''instal\X2\00B7\X0\lacions',#355,$,$);
|
||||
#357=IFCCLASSIFICATIONREFERENCE($,'50.100.10.10','Elements de suport',#356,$,$);
|
||||
#358=IFCCLASSIFICATIONREFERENCE($,'50.100.10.20','Passareles i escales d''acces per a manteniment',#356,$,$);
|
||||
#359=IFCCLASSIFICATIONREFERENCE($,'50.100.10.30','Canalitzacions i arquetes comuns d''instal\X2\00B7\X0\lacions',#356,$,$);
|
||||
#360=IFCCLASSIFICATIONREFERENCE($,'60','Equipaments i mobiliari',#2,$,$);
|
||||
#361=IFCCLASSIFICATIONREFERENCE($,'60.10','Equipaments',#360,$,$);
|
||||
#362=IFCCLASSIFICATIONREFERENCE($,'60.10.10','Cambres humides / sanitaris',#361,$,$);
|
||||
#363=IFCCLASSIFICATIONREFERENCE($,'60.10.10.10','Inodors',#362,$,$);
|
||||
#364=IFCCLASSIFICATIONREFERENCE($,'60.10.10.20','Urinaris',#362,$,$);
|
||||
#365=IFCCLASSIFICATIONREFERENCE($,'60.10.10.30','Bidets',#362,$,$);
|
||||
#366=IFCCLASSIFICATIONREFERENCE($,'60.10.10.40','Plats de dutxa',#362,$,$);
|
||||
#367=IFCCLASSIFICATIONREFERENCE($,'60.10.10.50','Banyeres',#362,$,$);
|
||||
#368=IFCCLASSIFICATIONREFERENCE($,'60.10.10.60','Rentamans',#362,$,$);
|
||||
#369=IFCCLASSIFICATIONREFERENCE($,'60.10.10.70','Piques',#362,$,$);
|
||||
#370=IFCCLASSIFICATIONREFERENCE($,'60.10.10.80','Accessoris per a cambres humides',#362,$,$);
|
||||
#371=IFCCLASSIFICATIONREFERENCE($,'60.10.10.90','Safareigs',#362,$,$);
|
||||
#372=IFCCLASSIFICATIONREFERENCE($,'60.10.10.100','Abocador',#362,$,$);
|
||||
#373=IFCCLASSIFICATIONREFERENCE($,'60.10.20','Altres equipaments',#361,$,$);
|
||||
#374=IFCCLASSIFICATIONREFERENCE($,'60.10.20.10','Equipaments per a circulaci\X2\00F3\X0\ de vehicles',#373,$,$);
|
||||
#375=IFCCLASSIFICATIONREFERENCE($,'60.10.20.20','Equipaments comercials',#373,$,$);
|
||||
#376=IFCCLASSIFICATIONREFERENCE($,'60.10.20.30','Equipaments institucionals',#373,$,$);
|
||||
#377=IFCCLASSIFICATIONREFERENCE($,'60.10.20.40','Equipaments recreatius',#373,$,$);
|
||||
#378=IFCCLASSIFICATIONREFERENCE($,'60.10.20.50','Equipaments assistencials',#373,$,$);
|
||||
#379=IFCCLASSIFICATIONREFERENCE($,'60.10.20.60','Electrodom\X2\00E8\X0\stics',#373,$,$);
|
||||
#380=IFCCLASSIFICATIONREFERENCE($,'60.10.20.70','Aparells inform\X2\00E0\X0\tics',#373,$,$);
|
||||
#381=IFCCLASSIFICATIONREFERENCE($,'60.20','Mobiliari',#360,$,$);
|
||||
#382=IFCCLASSIFICATIONREFERENCE($,'60.20.10','Mobiliari fixe',#381,$,$);
|
||||
#383=IFCCLASSIFICATIONREFERENCE($,'60.20.10.10','Taulells',#382,$,$);
|
||||
#384=IFCCLASSIFICATIONREFERENCE($,'60.20.10.20','Estants',#382,$,$);
|
||||
#385=IFCCLASSIFICATIONREFERENCE($,'60.20.10.30','Miralls',#382,$,$);
|
||||
#386=IFCCLASSIFICATIONREFERENCE($,'60.20.10.40','Mostradors',#382,$,$);
|
||||
#387=IFCCLASSIFICATIONREFERENCE($,'60.20.10.50','Mobles d''obra',#382,$,$);
|
||||
#388=IFCCLASSIFICATIONREFERENCE($,'60.20.10.60','Armaris encastats',#382,$,$);
|
||||
#389=IFCCLASSIFICATIONREFERENCE($,'60.20.10.70','Bancades',#382,$,$);
|
||||
#390=IFCCLASSIFICATIONREFERENCE($,'60.20.10.80','Altres mobiliaris fixes',#382,$,$);
|
||||
#391=IFCCLASSIFICATIONREFERENCE($,'60.20.30','Mobiliari m\X2\00F2\X0\bil',#381,$,$);
|
||||
#392=IFCCLASSIFICATIONREFERENCE($,'60.20.30.10','Taules',#391,$,$);
|
||||
#393=IFCCLASSIFICATIONREFERENCE($,'60.20.30.20','Cadires i sof\X2\00E0\X0\s',#391,$,$);
|
||||
#394=IFCCLASSIFICATIONREFERENCE($,'60.20.30.30','Taburets',#391,$,$);
|
||||
#395=IFCCLASSIFICATIONREFERENCE($,'60.20.30.40','Bancs',#391,$,$);
|
||||
#396=IFCCLASSIFICATIONREFERENCE($,'60.20.30.50','Llits',#391,$,$);
|
||||
#397=IFCCLASSIFICATIONREFERENCE($,'60.20.30.60','Armaris, calaixeres i arxivadors',#391,$,$);
|
||||
#398=IFCCLASSIFICATIONREFERENCE($,'60.20.30.70','Altres mobiliaris m\X2\00F2\X0\bils',#391,$,$);
|
||||
#399=IFCCLASSIFICATIONREFERENCE($,'60.30','Sistemes de transport',#360,$,$);
|
||||
#400=IFCCLASSIFICATIONREFERENCE($,'60.30.10','Transport vertical',#399,$,$);
|
||||
#401=IFCCLASSIFICATIONREFERENCE($,'60.30.10.10','Ascensors',#400,$,$);
|
||||
#402=IFCCLASSIFICATIONREFERENCE($,'60.30.10.20','Muntarc\X2\00E0\X0\rregues',#400,$,$);
|
||||
#403=IFCCLASSIFICATIONREFERENCE($,'60.30.10.30','Escales mec\X2\00E0\X0\niques',#400,$,$);
|
||||
#404=IFCCLASSIFICATIONREFERENCE($,'60.30.20','Transport horitzontal',#399,$,$);
|
||||
#405=IFCCLASSIFICATIONREFERENCE($,'60.30.20.10','Passarel\X2\00B7\X0\les transportadores',#404,$,$);
|
||||
#406=IFCCLASSIFICATIONREFERENCE($,'60.30.20.20','Altres sistemes de transport',#404,$,$);
|
||||
#407=IFCCLASSIFICATIONREFERENCE($,'60.30.30','Manipulaci\X2\00F3\X0\ d''elements',#399,$,$);
|
||||
#408=IFCCLASSIFICATIONREFERENCE($,'60.30.30.10','Grues',#407,$,$);
|
||||
#409=IFCCLASSIFICATIONREFERENCE($,'60.30.30.20','Polipast',#407,$,$);
|
||||
#410=IFCCLASSIFICATIONREFERENCE($,'60.30.30.30','Cintes transportadores',#407,$,$);
|
||||
#411=IFCCLASSIFICATIONREFERENCE($,'60.30.30.40','Sistemes pneum\X2\00E0\X0\tics',#407,$,$);
|
||||
#412=IFCCLASSIFICATIONREFERENCE($,'60.30.30.50','Altres sistemes de manipulaci\X2\00F3\X0\',#407,$,$);
|
||||
#413=IFCCLASSIFICATIONREFERENCE($,'70','Urbanitzaci\X2\00F3\X0\ dels espais exteriors',#2,$,$);
|
||||
#414=IFCCLASSIFICATIONREFERENCE($,'70.10','Elements de fonamentaci\X2\00F3\X0\, contenci\X2\00F3\X0\ de terres i elements estructurals',#413,$,$);
|
||||
#415=IFCCLASSIFICATIONREFERENCE($,'70.10.10','Fonaments per a elements d''urbanitzaci\X2\00F3\X0\',#414,$,$);
|
||||
#416=IFCCLASSIFICATIONREFERENCE($,'70.10.10.10','Sabates per a elements d''urbanitzaci\X2\00F3\X0\',#415,$,$);
|
||||
#417=IFCCLASSIFICATIONREFERENCE($,'70.10.10.20','Fonamentaci\X2\00F3\X0\ especial per a elements d''urbanitzaci\X2\00F3\X0\',#415,$,$);
|
||||
#418=IFCCLASSIFICATIONREFERENCE($,'70.10.20','Murs d''urbanitzaci\X2\00F3\X0\',#414,$,$);
|
||||
#419=IFCCLASSIFICATIONREFERENCE($,'70.10.20.10','Murs in-situ d''urbanitzaci\X2\00F3\X0\',#418,$,$);
|
||||
#420=IFCCLASSIFICATIONREFERENCE($,'70.10.20.20','Murs prefabricats d''urbanitzaci\X2\00F3\X0\',#418,$,$);
|
||||
#421=IFCCLASSIFICATIONREFERENCE($,'70.10.20.30','Murs de gravetat',#418,$,$);
|
||||
#422=IFCCLASSIFICATIONREFERENCE($,'70.10.20.40','Mur terra armada',#418,$,$);
|
||||
#423=IFCCLASSIFICATIONREFERENCE($,'70.10.20.50','Mur de gabions',#418,$,$);
|
||||
#424=IFCCLASSIFICATIONREFERENCE($,'70.10.30','Altres elements estructurals d''urbanitzaci\X2\00F3\X0\',#414,$,$);
|
||||
#425=IFCCLASSIFICATIONREFERENCE($,'70.20','Elements de tancaments i protecci\X2\00F3\X0\ d''urbanitzaci\X2\00F3\X0\',#413,$,$);
|
||||
#426=IFCCLASSIFICATIONREFERENCE($,'70.20.10','Tancaments de parcel\X2\00B7\X0\la',#425,$,$);
|
||||
#427=IFCCLASSIFICATIONREFERENCE($,'70.20.20','Barreres m\X2\00F2\X0\bils',#425,$,$);
|
||||
#428=IFCCLASSIFICATIONREFERENCE($,'70.20.30','Pilones',#425,$,$);
|
||||
#429=IFCCLASSIFICATIONREFERENCE($,'70.30','Ferms i paviments',#413,$,$);
|
||||
#430=IFCCLASSIFICATIONREFERENCE($,'70.30.10','Bases i subbases',#429,$,$);
|
||||
#431=IFCCLASSIFICATIONREFERENCE($,'70.30.20','Paviments peatonals',#429,$,$);
|
||||
#432=IFCCLASSIFICATIONREFERENCE($,'70.30.30','Paviments per a tr\X2\00E0\X0\nsit rodat',#429,$,$);
|
||||
#433=IFCCLASSIFICATIONREFERENCE($,'70.30.40','Esglaonaments d''urbanitzaci\X2\00F3\X0\',#429,$,$);
|
||||
#434=IFCCLASSIFICATIONREFERENCE($,'70.30.50','Rampes d''urbanitzaci\X2\00F3\X0\',#429,$,$);
|
||||
#435=IFCCLASSIFICATIONREFERENCE($,'70.40','Instal\X2\00B7\X0\lacions i serveis',#413,$,$);
|
||||
#436=IFCCLASSIFICATIONREFERENCE($,'70.40.10','Enllumenat',#435,$,$);
|
||||
#437=IFCCLASSIFICATIONREFERENCE($,'70.40.10.10','Llumin\X2\00E0\X0\ries i b\X2\00E0\X0\culs',#436,$,$);
|
||||
#438=IFCCLASSIFICATIONREFERENCE($,'70.40.10.20','Elements d''abalisament',#436,$,$);
|
||||
#439=IFCCLASSIFICATIONREFERENCE($,'70.40.10.30','Elements de la xarxa i control',#436,$,$);
|
||||
#440=IFCCLASSIFICATIONREFERENCE($,'70.40.20','Reg i abastament de font',#435,$,$);
|
||||
#441=IFCCLASSIFICATIONREFERENCE($,'70.40.20.10','Canalitzacions de reg',#440,$,$);
|
||||
#442=IFCCLASSIFICATIONREFERENCE($,'70.40.20.20','Accesoris de reg',#440,$,$);
|
||||
#443=IFCCLASSIFICATIONREFERENCE($,'70.40.20.30','Arquetes de reg',#440,$,$);
|
||||
#444=IFCCLASSIFICATIONREFERENCE($,'70.40.30','Drenatge',#435,$,$);
|
||||
#445=IFCCLASSIFICATIONREFERENCE($,'70.40.30.10','Canalitzacions de drenatge',#444,$,$);
|
||||
#446=IFCCLASSIFICATIONREFERENCE($,'70.40.30.20','Reixes i buneras',#444,$,$);
|
||||
#447=IFCCLASSIFICATIONREFERENCE($,'70.40.30.30','Arquetes i pous de drenatge',#444,$,$);
|
||||
#448=IFCCLASSIFICATIONREFERENCE($,'70.50','Jardineria',#413,$,$);
|
||||
#449=IFCCLASSIFICATIONREFERENCE($,'70.50.10','Plantacions',#448,$,$);
|
||||
#450=IFCCLASSIFICATIONREFERENCE($,'70.50.10.10','Arbrats',#449,$,$);
|
||||
#451=IFCCLASSIFICATIONREFERENCE($,'70.50.10.20','Gespa',#449,$,$);
|
||||
#452=IFCCLASSIFICATIONREFERENCE($,'70.50.10.30','Arbustives',#449,$,$);
|
||||
#453=IFCCLASSIFICATIONREFERENCE($,'70.50.20','Parterres',#448,$,$);
|
||||
#454=IFCCLASSIFICATIONREFERENCE($,'70.50.20.10','Parterres fixos',#453,$,$);
|
||||
#455=IFCCLASSIFICATIONREFERENCE($,'70.50.20.20','Parterres m\X2\00F2\X0\bils',#453,$,$);
|
||||
#456=IFCCLASSIFICATIONREFERENCE($,'70.60','Mobiliari urb\X2\00E0\X0\ i elements de senyalitzaci\X2\00F3\X0\',#413,$,$);
|
||||
#457=IFCCLASSIFICATIONREFERENCE($,'70.60.10','Mobiliari exterior',#456,$,$);
|
||||
#458=IFCCLASSIFICATIONREFERENCE($,'70.60.20','Jocs infantils',#456,$,$);
|
||||
#459=IFCCLASSIFICATIONREFERENCE($,'70.60.30','Mobiliari exterior especial',#456,$,$);
|
||||
#460=IFCCLASSIFICATIONREFERENCE($,'70.60.40','Senyalitzaci\X2\00F3\X0\ horitzontal',#456,$,$);
|
||||
#461=IFCCLASSIFICATIONREFERENCE($,'70.60.50','Senyalitzaci\X2\00F3\X0\ vertical',#456,$,$);
|
||||
#462=IFCCLASSIFICATIONREFERENCE($,'80','Construccions i instal\X2\00B7\X0\lacions temporals',#2,$,$);
|
||||
#463=IFCCLASSIFICATIONREFERENCE($,'80.10','Implantacions d''obra',#462,$,$);
|
||||
#464=IFCCLASSIFICATIONREFERENCE($,'80.10.10','Bastides',#463,$,$);
|
||||
#465=IFCCLASSIFICATIONREFERENCE($,'80.10.10.10','Pont volant',#464,$,$);
|
||||
#466=IFCCLASSIFICATIONREFERENCE($,'80.10.10.20','Bastida fixa',#464,$,$);
|
||||
#467=IFCCLASSIFICATIONREFERENCE($,'80.10.10.30','Cavallet',#464,$,$);
|
||||
#468=IFCCLASSIFICATIONREFERENCE($,'80.10.10.40','Bastida movil',#464,$,$);
|
||||
#469=IFCCLASSIFICATIONREFERENCE($,'80.10.10.50','Marquesines',#464,$,$);
|
||||
#470=IFCCLASSIFICATIONREFERENCE($,'80.10.10.60','Lones',#464,$,$);
|
||||
#471=IFCCLASSIFICATIONREFERENCE($,'80.10.20','Grues',#463,$,$);
|
||||
#472=IFCCLASSIFICATIONREFERENCE($,'80.10.20.10','Grua torre',#471,$,$);
|
||||
#473=IFCCLASSIFICATIONREFERENCE($,'80.10.20.20','Grueta',#471,$,$);
|
||||
#474=IFCCLASSIFICATIONREFERENCE($,'80.10.20.30','Muntac\X2\00E0\X0\rregues d''obra',#471,$,$);
|
||||
#475=IFCCLASSIFICATIONREFERENCE($,'80.10.20.40','Corrioles i polipasts',#471,$,$);
|
||||
#476=IFCCLASSIFICATIONREFERENCE($,'80.10.30','Casetes',#463,$,$);
|
||||
#477=IFCCLASSIFICATIONREFERENCE($,'80.10.30.10','Casetes d''obra',#476,$,$);
|
||||
#478=IFCCLASSIFICATIONREFERENCE($,'80.10.30.20','Lavabos port\X2\00E0\X0\tils',#476,$,$);
|
||||
#479=IFCCLASSIFICATIONREFERENCE($,'80.10.30.30','Casetes d''enmagatzematge',#476,$,$);
|
||||
#480=IFCCLASSIFICATIONREFERENCE($,'80.10.30.40','Altres m\X2\00F2\X0\duls',#476,$,$);
|
||||
#481=IFCCLASSIFICATIONREFERENCE($,'80.10.40','Tancaments i senyalitzaci\X2\00F3\X0\',#463,$,$);
|
||||
#482=IFCCLASSIFICATIONREFERENCE($,'80.10.40.10','Tancaments perimetrals',#481,$,$);
|
||||
#483=IFCCLASSIFICATIONREFERENCE($,'80.10.40.20','Portes d''acc\X2\00E9\X0\s',#481,$,$);
|
||||
#484=IFCCLASSIFICATIONREFERENCE($,'80.10.40.30','R\X2\00E8\X0\tols',#481,$,$);
|
||||
#485=IFCCLASSIFICATIONREFERENCE($,'80.10.40.40','Balises de senyalitzaci\X2\00F3\X0\',#481,$,$);
|
||||
#486=IFCCLASSIFICATIONREFERENCE($,'80.10.50','Aplecs',#463,$,$);
|
||||
#487=IFCCLASSIFICATIONREFERENCE($,'80.10.50.10','Aplec de terres i \X2\00E0\X0\rids',#486,$,$);
|
||||
#488=IFCCLASSIFICATIONREFERENCE($,'80.10.50.20','Aplec de productes',#486,$,$);
|
||||
#489=IFCCLASSIFICATIONREFERENCE($,'80.10.50.30','Palets',#486,$,$);
|
||||
#490=IFCCLASSIFICATIONREFERENCE($,'80.10.60','Altres elements d''implantaci\X2\00F3\X0\ d''obra',#463,$,$);
|
||||
#491=IFCCLASSIFICATIONREFERENCE($,'80.10.60.10','Sitja',#490,$,$);
|
||||
#492=IFCCLASSIFICATIONREFERENCE($,'80.10.60.20','Dip\X2\00F2\X0\sits d''obra',#490,$,$);
|
||||
#493=IFCCLASSIFICATIONREFERENCE($,'80.10.70','Gesti\X2\00F3\X0\ de residus',#463,$,$);
|
||||
#494=IFCCLASSIFICATIONREFERENCE($,'80.10.70.10','Saca de runa',#493,$,$);
|
||||
#495=IFCCLASSIFICATIONREFERENCE($,'80.10.70.20','Contenidor de runa',#493,$,$);
|
||||
#496=IFCCLASSIFICATIONREFERENCE($,'80.10.70.30','Runa',#493,$,$);
|
||||
#497=IFCCLASSIFICATIONREFERENCE($,'80.10.70.40','Residus especials',#493,$,$);
|
||||
#498=IFCCLASSIFICATIONREFERENCE($,'80.10.70.50','Ferralla',#493,$,$);
|
||||
#499=IFCCLASSIFICATIONREFERENCE($,'80.10.70.60','Tub de desc\X2\00E0\X0\rrega de runa',#493,$,$);
|
||||
#500=IFCCLASSIFICATIONREFERENCE($,'80.10.70.70','Tremuja',#493,$,$);
|
||||
#501=IFCCLASSIFICATIONREFERENCE($,'80.20','Construccions temporals',#462,$,$);
|
||||
#502=IFCCLASSIFICATIONREFERENCE($,'80.20.10','Estructures auxiliars i estintolaments',#501,$,$);
|
||||
#503=IFCCLASSIFICATIONREFERENCE($,'80.20.10.10','Fonamentacions auxiliars',#502,$,$);
|
||||
#504=IFCCLASSIFICATIONREFERENCE($,'80.20.10.20','Estintolament de fa\X2\00E7\X0\anes',#502,$,$);
|
||||
#505=IFCCLASSIFICATIONREFERENCE($,'80.20.10.30','Estintolament de serveis',#502,$,$);
|
||||
#506=IFCCLASSIFICATIONREFERENCE($,'80.20.10.40','Encofrats auxiliars',#502,$,$);
|
||||
#507=IFCCLASSIFICATIONREFERENCE($,'80.20.20','Instal\X2\00B7\X0\lacions provisionals',#501,$,$);
|
||||
#508=IFCCLASSIFICATIONREFERENCE($,'80.20.20.10','Instal\X2\00B7\X0\laci\X2\00F3\X0\ provisional el\X2\00E8\X0\ctrica',#507,$,$);
|
||||
#509=IFCCLASSIFICATIONREFERENCE($,'80.20.20.20','Instal\X2\00B7\X0\laci\X2\00F3\X0\ provisional d''aigua',#507,$,$);
|
||||
#510=IFCCLASSIFICATIONREFERENCE($,'80.20.20.30','Instal\X2\00B7\X0\laci\X2\00F3\X0\ provisional de sanejament',#507,$,$);
|
||||
#511=IFCCLASSIFICATIONREFERENCE($,'80.20.20.40','Altres instal\X2\00B7\X0\lacions provisionals',#507,$,$);
|
||||
#512=IFCCLASSIFICATIONREFERENCE($,'80.20.30','Altres construccions temporals',#501,$,$);
|
||||
#513=IFCCLASSIFICATIONREFERENCE($,'80.20.30.10','Altres construccions temporals',#512,$,$);
|
||||
#514=IFCCLASSIFICATIONREFERENCE($,'80.30','Equips i eines',#462,$,$);
|
||||
#515=IFCCLASSIFICATIONREFERENCE($,'80.30.10','Maquin\X2\00E0\X0\ria',#514,$,$);
|
||||
#516=IFCCLASSIFICATIONREFERENCE($,'80.30.10.10','Maquin\X2\00E0\X0\ria d''excavaci\X2\00F3\X0\ i fonamentaci\X2\00F3\X0\',#515,$,$);
|
||||
#517=IFCCLASSIFICATIONREFERENCE($,'80.30.10.20','Maquin\X2\00E0\X0\ria per a enderrocs',#515,$,$);
|
||||
#518=IFCCLASSIFICATIONREFERENCE($,'80.30.10.30','Maquin\X2\00E0\X0\ria d''elevaci\X2\00F3\X0\',#515,$,$);
|
||||
#519=IFCCLASSIFICATIONREFERENCE($,'80.30.10.40','Maquin\X2\00E0\X0\ria d''transport',#515,$,$);
|
||||
#520=IFCCLASSIFICATIONREFERENCE($,'80.30.10.50','Maquin\X2\00E0\X0\r\X2\00EC\X0\a de tractament de materials',#515,$,$);
|
||||
#521=IFCCLASSIFICATIONREFERENCE($,'80.30.10.60','Altres tipus de maquin\X2\00E0\X0\ria',#515,$,$);
|
||||
#522=IFCCLASSIFICATIONREFERENCE($,'80.30.20','Eines',#514,$,$);
|
||||
#523=IFCCLASSIFICATIONREFERENCE($,'80.30.20.10','Eines manuals',#522,$,$);
|
||||
#524=IFCCLASSIFICATIONREFERENCE($,'80.30.20.20','Eines no manuals',#522,$,$);
|
||||
#525=IFCCLASSIFICATIONREFERENCE($,'80.40','Seguretat i salut',#462,$,$);
|
||||
#526=IFCCLASSIFICATIONREFERENCE($,'80.40.10','Proteccions individuals i colectives',#525,$,$);
|
||||
#527=IFCCLASSIFICATIONREFERENCE($,'80.40.10.10','Equips de protecci\X2\00F3\X0\ individual',#526,$,$);
|
||||
#528=IFCCLASSIFICATIONREFERENCE($,'80.40.10.20','Tanques de protecci\X2\00F3\X0\ caigudes',#526,$,$);
|
||||
#529=IFCCLASSIFICATIONREFERENCE($,'80.40.10.30','Xarxes de protecci\X2\00F3\X0\ ',#526,$,$);
|
||||
#530=IFCCLASSIFICATIONREFERENCE($,'80.40.10.40','L\X2\00ED\X0\nies de vida',#526,$,$);
|
||||
#531=IFCCLASSIFICATIONREFERENCE($,'80.40.10.50','Altres mitjans de protecci\X2\00F3\X0\ col\X2\00B7\X0\lectiva',#526,$,$);
|
||||
#532=IFCCLASSIFICATIONREFERENCE($,'80.40.20','Equips de mesura preventiva',#525,$,$);
|
||||
#533=IFCCLASSIFICATIONREFERENCE($,'80.40.20.10','Equips de mesura i detecci\X2\00F3\X0\ de seguretat i salut',#532,$,$);
|
||||
#534=IFCCLASSIFICATIONREFERENCE($,'80.40.30','Delimitacions de zones de seguretat',#525,$,$);
|
||||
#535=IFCCLASSIFICATIONREFERENCE($,'80.40.30.10','Zones de tr\X2\00E0\X0\nsit rodat i maquin\X2\00E0\X0\ria',#534,$,$);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
+544
@@ -0,0 +1,544 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
|
||||
FILE_NAME('','2020-04-23T18:09:31',(),(),'IfcOpenShell 0.6.0b0','IfcOpenShell 0.6.0b0','');
|
||||
FILE_SCHEMA(('IFC4'));
|
||||
ENDSEC;
|
||||
DATA;
|
||||
#1=IFCPROJECTLIBRARY($,$,'GuBIMclass ES',$,$,$,$,$,$);
|
||||
#2=IFCCLASSIFICATION('GuBIMClass','1.2','2017-07-21','GuBIMclass ES','Sistema de clasificaci\X2\00F3\X0\n de elementos de construcci\X2\00F3\X0\n de acuerdo a su funci\X2\00F3\X0\n principal dentro de un entorno BIM.','http://www.gubimclass.org',('.'));
|
||||
#3=IFCRELASSOCIATESCLASSIFICATION('3qr_UkXnz58grz5A2yaRzR',$,$,$,(#1),#2);
|
||||
#4=IFCCLASSIFICATIONREFERENCE($,'00','Trabajos previos y replanteo general',#2,$,$);
|
||||
#5=IFCCLASSIFICATIONREFERENCE($,'00.10','Elementos auxiliares de replanteo del modelo',#4,$,$);
|
||||
#6=IFCCLASSIFICATIONREFERENCE($,'00.10.10','Origen de coordenadas',#5,$,$);
|
||||
#7=IFCCLASSIFICATIONREFERENCE($,'00.10.20','Elementos de alineaci\X2\00F3\X0\n de modelo',#5,$,$);
|
||||
#8=IFCCLASSIFICATIONREFERENCE($,'00.10.30','Ejes',#5,$,$);
|
||||
#9=IFCCLASSIFICATIONREFERENCE($,'00.10.40','Niveles',#5,$,$);
|
||||
#10=IFCCLASSIFICATIONREFERENCE($,'00.20','Preexistencias',#4,$,$);
|
||||
#11=IFCCLASSIFICATIONREFERENCE($,'00.20.10','Edificaciones colindantes preexistentes',#10,$,$);
|
||||
#12=IFCCLASSIFICATIONREFERENCE($,'00.20.20','Elementos de entorno urbano preexistente',#10,$,$);
|
||||
#13=IFCCLASSIFICATIONREFERENCE($,'00.20.30','Servicios urbanos preexistentes',#10,$,$);
|
||||
#14=IFCCLASSIFICATIONREFERENCE($,'00.30','Ensayos previos',#4,$,$);
|
||||
#15=IFCCLASSIFICATIONREFERENCE($,'00.30.10','Ensayo en el terreno',#14,$,$);
|
||||
#16=IFCCLASSIFICATIONREFERENCE($,'00.30.10.10','Sondeo',#15,$,$);
|
||||
#17=IFCCLASSIFICATIONREFERENCE($,'00.30.10.20','Penetr\X2\00F3\X0\metro',#15,$,$);
|
||||
#18=IFCCLASSIFICATIONREFERENCE($,'00.30.10.30','Piez\X2\00F3\X0\metro',#15,$,$);
|
||||
#19=IFCCLASSIFICATIONREFERENCE($,'00.30.20','Ensayo en elementos estructurales',#14,$,$);
|
||||
#20=IFCCLASSIFICATIONREFERENCE($,'00.30.20.10','Ensayo sobre elemento de hormig\X2\00F3\X0\n',#19,$,$);
|
||||
#21=IFCCLASSIFICATIONREFERENCE($,'00.30.20.20','Ensayo sobre estructura acero',#19,$,$);
|
||||
#22=IFCCLASSIFICATIONREFERENCE($,'00.30.20.30','Ensayo sobre estructura f\X2\00E1\X0\brica',#19,$,$);
|
||||
#23=IFCCLASSIFICATIONREFERENCE($,'10','Adecuaci\X2\00F3\X0\n del terreno y sustentaci\X2\00F3\X0\n del edificio',#2,$,$);
|
||||
#24=IFCCLASSIFICATIONREFERENCE($,'10.10','Actuaciones para reducir y controlar las afectaciones a edificios vecinos, servicios y otros elementos',#23,$,$);
|
||||
#25=IFCCLASSIFICATIONREFERENCE($,'10.10.10','Apuntalamientos y arriostramientos',#24,$,$);
|
||||
#26=IFCCLASSIFICATIONREFERENCE($,'10.10.10.10','Puntales met\X2\00E1\X0\licos',#25,$,$);
|
||||
#27=IFCCLASSIFICATIONREFERENCE($,'10.10.10.20','Anclajes temporales',#25,$,$);
|
||||
#28=IFCCLASSIFICATIONREFERENCE($,'10.10.20','Otras actuaciones para controlar afectaciones',#24,$,$);
|
||||
#29=IFCCLASSIFICATIONREFERENCE($,'10.20','Movimiento de tierras',#23,$,$);
|
||||
#30=IFCCLASSIFICATIONREFERENCE($,'10.20.10','Topograf\X2\00ED\X0\a',#29,$,$);
|
||||
#31=IFCCLASSIFICATIONREFERENCE($,'10.20.20','Excavaciones',#29,$,$);
|
||||
#32=IFCCLASSIFICATIONREFERENCE($,'10.20.20.10','Excavaci\X2\00F3\X0\n general',#31,$,$);
|
||||
#33=IFCCLASSIFICATIONREFERENCE($,'10.20.20.20','Excavaci\X2\00F3\X0\n de cimentaci\X2\00F3\X0\n',#31,$,$);
|
||||
#34=IFCCLASSIFICATIONREFERENCE($,'10.20.30','Rellenos',#29,$,$);
|
||||
#35=IFCCLASSIFICATIONREFERENCE($,'10.20.30.10','Terraplenado',#34,$,$);
|
||||
#36=IFCCLASSIFICATIONREFERENCE($,'10.20.30.20','Mejora del terreno',#34,$,$);
|
||||
#37=IFCCLASSIFICATIONREFERENCE($,'10.20.30.30','Relleno trasd\X2\00F3\X0\s del muro',#34,$,$);
|
||||
#38=IFCCLASSIFICATIONREFERENCE($,'10.30','Rebaje del nivel fre\X2\00E1\X0\tico',#23,$,$);
|
||||
#39=IFCCLASSIFICATIONREFERENCE($,'10.30.10','Elementos generales de agotamiento del nivel fre\X2\00E1\X0\tico',#38,$,$);
|
||||
#40=IFCCLASSIFICATIONREFERENCE($,'10.30.10.10','Decantador',#39,$,$);
|
||||
#41=IFCCLASSIFICATIONREFERENCE($,'10.30.10.20','Tuber\X2\00ED\X0\a para agotamientos',#39,$,$);
|
||||
#42=IFCCLASSIFICATIONREFERENCE($,'10.30.10.30','Contador para agotamientos',#39,$,$);
|
||||
#43=IFCCLASSIFICATIONREFERENCE($,'10.30.20','Agotamiento con sistema de bombeo',#38,$,$);
|
||||
#44=IFCCLASSIFICATIONREFERENCE($,'10.30.20.10','Pozo de bombeo',#43,$,$);
|
||||
#45=IFCCLASSIFICATIONREFERENCE($,'10.30.30','Agotamiento con sistema Wellpoint',#38,$,$);
|
||||
#46=IFCCLASSIFICATIONREFERENCE($,'10.30.30.10','Lanza de succi\X2\00F3\X0\n',#45,$,$);
|
||||
#47=IFCCLASSIFICATIONREFERENCE($,'20','Sistema estructural',#2,$,$);
|
||||
#48=IFCCLASSIFICATIONREFERENCE($,'20.10','Cimientos y contenci\X2\00F3\X0\n de tierras',#47,$,$);
|
||||
#49=IFCCLASSIFICATIONREFERENCE($,'20.10.10','Elementos superficiales',#48,$,$);
|
||||
#50=IFCCLASSIFICATIONREFERENCE($,'20.10.10.10','Vigas riostra',#49,$,$);
|
||||
#51=IFCCLASSIFICATIONREFERENCE($,'20.10.10.20','Zapatas',#49,$,$);
|
||||
#52=IFCCLASSIFICATIONREFERENCE($,'20.10.10.30','Encepados',#49,$,$);
|
||||
#53=IFCCLASSIFICATIONREFERENCE($,'20.10.10.40','Losas de cimentaci\X2\00F3\X0\n',#49,$,$);
|
||||
#54=IFCCLASSIFICATIONREFERENCE($,'20.10.10.50','Hormig\X2\00F3\X0\n de limpieza',#49,$,$);
|
||||
#55=IFCCLASSIFICATIONREFERENCE($,'20.10.10.60','Pozos de cimentaci\X2\00F3\X0\n',#49,$,$);
|
||||
#56=IFCCLASSIFICATIONREFERENCE($,'20.10.20','Elementos profundos',#48,$,$);
|
||||
#57=IFCCLASSIFICATIONREFERENCE($,'20.10.20.20','Pantallas de cimentaci\X2\00F3\X0\n',#56,$,$);
|
||||
#58=IFCCLASSIFICATIONREFERENCE($,'20.10.20.30','Pilotes de cimentaci\X2\00F3\X0\n',#56,$,$);
|
||||
#59=IFCCLASSIFICATIONREFERENCE($,'20.10.20.40','Micropilotes',#56,$,$);
|
||||
#60=IFCCLASSIFICATIONREFERENCE($,'20.10.20.50','Jet-grouting',#56,$,$);
|
||||
#61=IFCCLASSIFICATIONREFERENCE($,'20.10.30','Elementos de contenci\X2\00F3\X0\n',#48,$,$);
|
||||
#62=IFCCLASSIFICATIONREFERENCE($,'20.10.30.10','Muros de contenci\X2\00F3\X0\n',#61,$,$);
|
||||
#63=IFCCLASSIFICATIONREFERENCE($,'20.10.30.15','Muro gunitado',#61,$,$);
|
||||
#64=IFCCLASSIFICATIONREFERENCE($,'20.10.30.20','Pantallas de contenci\X2\00F3\X0\n',#61,$,$);
|
||||
#65=IFCCLASSIFICATIONREFERENCE($,'20.10.30.30','Pilones de contenci\X2\00F3\X0\n',#61,$,$);
|
||||
#66=IFCCLASSIFICATIONREFERENCE($,'20.10.30.40','Muros de micropilotes',#61,$,$);
|
||||
#67=IFCCLASSIFICATIONREFERENCE($,'20.10.30.50','Muros de jet-grouting',#61,$,$);
|
||||
#68=IFCCLASSIFICATIONREFERENCE($,'20.10.30.60','Muros de tablestacas',#61,$,$);
|
||||
#69=IFCCLASSIFICATIONREFERENCE($,'20.10.30.70','Sistemas de anclaje y apuntalamiento de elementos de contenci\X2\00F3\X0\n definitivos',#61,$,$);
|
||||
#70=IFCCLASSIFICATIONREFERENCE($,'20.10.40','Bases',#48,$,$);
|
||||
#71=IFCCLASSIFICATIONREFERENCE($,'20.10.40.10','Soleras',#70,$,$);
|
||||
#72=IFCCLASSIFICATIONREFERENCE($,'20.10.40.20','Rampas',#70,$,$);
|
||||
#73=IFCCLASSIFICATIONREFERENCE($,'20.10.40.30','Subbases',#70,$,$);
|
||||
#74=IFCCLASSIFICATIONREFERENCE($,'20.20','Estructura',#47,$,$);
|
||||
#75=IFCCLASSIFICATIONREFERENCE($,'20.20.10','Estructura vertical',#74,$,$);
|
||||
#76=IFCCLASSIFICATIONREFERENCE($,'20.20.10.10','Pilares',#75,$,$);
|
||||
#77=IFCCLASSIFICATIONREFERENCE($,'20.20.10.20','M\X2\00E9\X0\nsulas',#75,$,$);
|
||||
#78=IFCCLASSIFICATIONREFERENCE($,'20.20.10.30','Muros estructurales',#75,$,$);
|
||||
#79=IFCCLASSIFICATIONREFERENCE($,'20.20.10.40','Escaleras de estructura',#75,$,$);
|
||||
#80=IFCCLASSIFICATIONREFERENCE($,'20.20.10.50','Rampas de estructura',#75,$,$);
|
||||
#81=IFCCLASSIFICATIONREFERENCE($,'20.20.10.60','Tensores verticales',#75,$,$);
|
||||
#82=IFCCLASSIFICATIONREFERENCE($,'20.20.20','Estructura horizontal',#74,$,$);
|
||||
#83=IFCCLASSIFICATIONREFERENCE($,'20.20.20.10','Forjados',#82,$,$);
|
||||
#84=IFCCLASSIFICATIONREFERENCE($,'20.20.20.20','J\X2\00E1\X0\cenas',#82,$,$);
|
||||
#85=IFCCLASSIFICATIONREFERENCE($,'20.20.20.30','Cerchas',#82,$,$);
|
||||
#86=IFCCLASSIFICATIONREFERENCE($,'20.20.20.40','Viguetas',#82,$,$);
|
||||
#87=IFCCLASSIFICATIONREFERENCE($,'20.20.20.50','Tensores horizontales',#82,$,$);
|
||||
#88=IFCCLASSIFICATIONREFERENCE($,'20.20.30','Estructura tridimensional',#74,$,$);
|
||||
#89=IFCCLASSIFICATIONREFERENCE($,'20.20.30.10','B\X2\00F3\X0\veda',#88,$,$);
|
||||
#90=IFCCLASSIFICATIONREFERENCE($,'20.20.30.20','Arco',#88,$,$);
|
||||
#91=IFCCLASSIFICATIONREFERENCE($,'20.20.30.30','C\X2\00FA\X0\pula',#88,$,$);
|
||||
#92=IFCCLASSIFICATIONREFERENCE($,'20.20.30.40','Malla espacial',#88,$,$);
|
||||
#93=IFCCLASSIFICATIONREFERENCE($,'30','Sistemas de envolvente y de acabados exteriores',#2,$,$);
|
||||
#94=IFCCLASSIFICATIONREFERENCE($,'30.10','Envolvente vertical',#93,$,$);
|
||||
#95=IFCCLASSIFICATIONREFERENCE($,'30.10.10','Fachadas',#94,$,$);
|
||||
#96=IFCCLASSIFICATIONREFERENCE($,'30.10.10.10','Fachadas in situ',#95,$,$);
|
||||
#97=IFCCLASSIFICATIONREFERENCE($,'30.10.10.20','Fachadas prefabricadas',#95,$,$);
|
||||
#98=IFCCLASSIFICATIONREFERENCE($,'30.10.10.30','Sistemas especiales de fachadas',#95,$,$);
|
||||
#99=IFCCLASSIFICATIONREFERENCE($,'30.10.10.40','Acabados de fachadas',#95,$,$);
|
||||
#100=IFCCLASSIFICATIONREFERENCE($,'30.10.10.50','Remates de fachadas',#95,$,$);
|
||||
#101=IFCCLASSIFICATIONREFERENCE($,'30.10.20','Carpinter\X2\00ED\X0\a de fachada',#94,$,$);
|
||||
#102=IFCCLASSIFICATIONREFERENCE($,'30.10.20.10','Ventanas de fachadas',#101,$,$);
|
||||
#103=IFCCLASSIFICATIONREFERENCE($,'30.10.20.20','Puertas de fachadas',#101,$,$);
|
||||
#104=IFCCLASSIFICATIONREFERENCE($,'30.10.20.30','Protecciones solares de fachadas',#101,$,$);
|
||||
#105=IFCCLASSIFICATIONREFERENCE($,'30.10.20.40','Protecciones de seguridad de fachadas',#101,$,$);
|
||||
#106=IFCCLASSIFICATIONREFERENCE($,'30.20','Envolvente horizontal superior',#93,$,$);
|
||||
#107=IFCCLASSIFICATIONREFERENCE($,'30.20.10','Cubiertas',#106,$,$);
|
||||
#108=IFCCLASSIFICATIONREFERENCE($,'30.20.10.10','Cubiertas in-situ',#107,$,$);
|
||||
#109=IFCCLASSIFICATIONREFERENCE($,'30.20.10.20','Cubiertas prefabricadas',#107,$,$);
|
||||
#110=IFCCLASSIFICATIONREFERENCE($,'30.20.10.30','Sistemas especiales de cubiertas',#107,$,$);
|
||||
#111=IFCCLASSIFICATIONREFERENCE($,'30.20.10.40','Acabados de cubiertas',#107,$,$);
|
||||
#112=IFCCLASSIFICATIONREFERENCE($,'30.20.10.50','Remates de cubiertas',#107,$,$);
|
||||
#113=IFCCLASSIFICATIONREFERENCE($,'30.20.20','Carpinter\X2\00ED\X0\a de cubiertas',#106,$,$);
|
||||
#114=IFCCLASSIFICATIONREFERENCE($,'30.20.20.10','Ventanas de cubiertas',#113,$,$);
|
||||
#115=IFCCLASSIFICATIONREFERENCE($,'30.20.20.20','Puertas de cubiertas',#113,$,$);
|
||||
#116=IFCCLASSIFICATIONREFERENCE($,'30.20.20.30','Protecciones solares de cubiertas',#113,$,$);
|
||||
#117=IFCCLASSIFICATIONREFERENCE($,'30.20.20.40','Protecciones seguridad de cubiertas',#113,$,$);
|
||||
#118=IFCCLASSIFICATIONREFERENCE($,'30.30','Envolvente horizontal inferior',#93,$,$);
|
||||
#119=IFCCLASSIFICATIONREFERENCE($,'30.30.10','Compartimentaci\X2\00F3\X0\n exterior horizontal',#118,$,$);
|
||||
#120=IFCCLASSIFICATIONREFERENCE($,'30.30.10.10','Falsos techos exteriores',#119,$,$);
|
||||
#121=IFCCLASSIFICATIONREFERENCE($,'30.30.10.20','Remates compartimentaci\X2\00F3\X0\n exterior horizontal',#119,$,$);
|
||||
#122=IFCCLASSIFICATIONREFERENCE($,'30.30.20','Acabados envolvente horizontal inferior',#118,$,$);
|
||||
#123=IFCCLASSIFICATIONREFERENCE($,'30.30.20.10','Revestimientos continuos de envolvente inferior',#122,$,$);
|
||||
#124=IFCCLASSIFICATIONREFERENCE($,'30.30.20.20','Remates envolvente inferior',#122,$,$);
|
||||
#125=IFCCLASSIFICATIONREFERENCE($,'30.40','Escaleras y rampas exteriores',#93,$,$);
|
||||
#126=IFCCLASSIFICATIONREFERENCE($,'30.40.10','Escalonado exterior',#125,$,$);
|
||||
#127=IFCCLASSIFICATIONREFERENCE($,'30.40.10.10','Escalones exteriores',#126,$,$);
|
||||
#128=IFCCLASSIFICATIONREFERENCE($,'30.40.10.20','Recrecido de escalones exteriores',#126,$,$);
|
||||
#129=IFCCLASSIFICATIONREFERENCE($,'30.40.20','Acabados de escalonado y rampas exteriores',#125,$,$);
|
||||
#130=IFCCLASSIFICATIONREFERENCE($,'30.40.20.10','Acabado tramo exterior',#129,$,$);
|
||||
#131=IFCCLASSIFICATIONREFERENCE($,'30.40.20.20','Acabado rellano exterior',#129,$,$);
|
||||
#132=IFCCLASSIFICATIONREFERENCE($,'40','Sistemas de compartimentaci\X2\00F3\X0\n y de acabados interiores',#2,$,$);
|
||||
#133=IFCCLASSIFICATIONREFERENCE($,'40.10','Compartimentaci\X2\00F3\X0\n y acabados interiores verticales',#132,$,$);
|
||||
#134=IFCCLASSIFICATIONREFERENCE($,'40.10.10','Compartimentaci\X2\00F3\X0\n interior vertical',#133,$,$);
|
||||
#135=IFCCLASSIFICATIONREFERENCE($,'40.10.10.10','Tabiques',#134,$,$);
|
||||
#136=IFCCLASSIFICATIONREFERENCE($,'40.10.10.20','Mamparas',#134,$,$);
|
||||
#137=IFCCLASSIFICATIONREFERENCE($,'40.10.10.30','Trasdosados',#134,$,$);
|
||||
#138=IFCCLASSIFICATIONREFERENCE($,'40.10.10.40','Carpinter\X2\00ED\X0\a interior',#134,$,$);
|
||||
#139=IFCCLASSIFICATIONREFERENCE($,'40.10.10.50','Protecciones interiores',#134,$,$);
|
||||
#140=IFCCLASSIFICATIONREFERENCE($,'40.10.20','Acabados interiores verticales',#133,$,$);
|
||||
#141=IFCCLASSIFICATIONREFERENCE($,'40.10.20.10','Revestimientos discontinuos',#140,$,$);
|
||||
#142=IFCCLASSIFICATIONREFERENCE($,'40.10.20.20','Revestimientos continuos',#140,$,$);
|
||||
#143=IFCCLASSIFICATIONREFERENCE($,'40.10.20.30','Remates interiores',#140,$,$);
|
||||
#144=IFCCLASSIFICATIONREFERENCE($,'40.10.20.40','Pinturas y vinilos',#140,$,$);
|
||||
#145=IFCCLASSIFICATIONREFERENCE($,'40.20','Sistemas de compartimentaci\X2\00F3\X0\n y de acabados interiores',#132,$,$);
|
||||
#146=IFCCLASSIFICATIONREFERENCE($,'40.20.10','Compartimentaci\X2\00F3\X0\n interior horizontal',#145,$,$);
|
||||
#147=IFCCLASSIFICATIONREFERENCE($,'40.20.10.10','Falsos techos interiores',#146,$,$);
|
||||
#148=IFCCLASSIFICATIONREFERENCE($,'40.20.10.20','Suelos t\X2\00E9\X0\cnicos',#146,$,$);
|
||||
#149=IFCCLASSIFICATIONREFERENCE($,'40.20.10.30','Recrecidos',#146,$,$);
|
||||
#150=IFCCLASSIFICATIONREFERENCE($,'40.20.20','Acabados interiores horizontales',#145,$,$);
|
||||
#151=IFCCLASSIFICATIONREFERENCE($,'40.20.20.10','Revestimientos techos',#150,$,$);
|
||||
#152=IFCCLASSIFICATIONREFERENCE($,'40.20.20.20','Pavimentos',#150,$,$);
|
||||
#153=IFCCLASSIFICATIONREFERENCE($,'40.30','Escaleras y rampas interiores',#132,$,$);
|
||||
#154=IFCCLASSIFICATIONREFERENCE($,'40.30.10','Escalonado interior',#153,$,$);
|
||||
#155=IFCCLASSIFICATIONREFERENCE($,'40.30.10.10','Escalones interiores',#154,$,$);
|
||||
#156=IFCCLASSIFICATIONREFERENCE($,'40.30.10.20','Recrecido de escalones interiores',#154,$,$);
|
||||
#157=IFCCLASSIFICATIONREFERENCE($,'40.30.20','Acabados de escalonado y rampas interiores',#153,$,$);
|
||||
#158=IFCCLASSIFICATIONREFERENCE($,'40.30.20.10','Acabado tramo interior',#157,$,$);
|
||||
#159=IFCCLASSIFICATIONREFERENCE($,'40.30.20.20','Acabado rellano interior',#157,$,$);
|
||||
#160=IFCCLASSIFICATIONREFERENCE($,'40.40','Elementos especiales de acabados interiores',#132,$,$);
|
||||
#161=IFCCLASSIFICATIONREFERENCE($,'40.40.10','Elementos de se\X2\00F1\X0\alizaci\X2\00F3\X0\n',#160,$,$);
|
||||
#162=IFCCLASSIFICATIONREFERENCE($,'40.40.10.10','Se\X2\00F1\X0\alizaci\X2\00F3\X0\n de techo',#161,$,$);
|
||||
#163=IFCCLASSIFICATIONREFERENCE($,'40.40.10.20','Se\X2\00F1\X0\alizaci\X2\00F3\X0\n mural',#161,$,$);
|
||||
#164=IFCCLASSIFICATIONREFERENCE($,'40.40.10.30','Se\X2\00F1\X0\alizaci\X2\00F3\X0\n de suelos',#161,$,$);
|
||||
#165=IFCCLASSIFICATIONREFERENCE($,'40.40.20','Otros elementos especiales de acabados interiores',#160,$,$);
|
||||
#166=IFCCLASSIFICATIONREFERENCE($,'50','Sistemas de acondicionamiento, instalaciones y servicios',#2,$,$);
|
||||
#167=IFCCLASSIFICATIONREFERENCE($,'50.10','Fontaner\X2\00ED\X0\a',#166,$,$);
|
||||
#168=IFCCLASSIFICATIONREFERENCE($,'50.10.10','Equipos principales de fontaner\X2\00ED\X0\a',#167,$,$);
|
||||
#169=IFCCLASSIFICATIONREFERENCE($,'50.10.10.10','Equipos de medida y control de fontaner\X2\00ED\X0\a',#168,$,$);
|
||||
#170=IFCCLASSIFICATIONREFERENCE($,'50.10.10.20','Grupos de presi\X2\00F3\X0\n de fontaner\X2\00ED\X0\a',#168,$,$);
|
||||
#171=IFCCLASSIFICATIONREFERENCE($,'50.10.10.30','Dep\X2\00F3\X0\sitos, acumuladores y calentadores',#168,$,$);
|
||||
#172=IFCCLASSIFICATIONREFERENCE($,'50.10.20','Red de distribuci\X2\00F3\X0\n de fontaner\X2\00ED\X0\a',#167,$,$);
|
||||
#173=IFCCLASSIFICATIONREFERENCE($,'50.10.20.10','V\X2\00E1\X0\lvulas e instrumentos de medida y control de flujo de fontaner\X2\00ED\X0\a',#172,$,$);
|
||||
#174=IFCCLASSIFICATIONREFERENCE($,'50.10.20.20','Dispositivos de fontaner\X2\00ED\X0\a',#172,$,$);
|
||||
#175=IFCCLASSIFICATIONREFERENCE($,'50.10.20.30','Canalizaciones de agua sanitaria',#172,$,$);
|
||||
#176=IFCCLASSIFICATIONREFERENCE($,'50.10.20.40','Canalizaciones de agua tratada',#172,$,$);
|
||||
#177=IFCCLASSIFICATIONREFERENCE($,'50.10.20.50','Arquetas y pozos de fontaner\X2\00ED\X0\a',#172,$,$);
|
||||
#178=IFCCLASSIFICATIONREFERENCE($,'50.10.20.60','Terminales de fontaner\X2\00ED\X0\a',#172,$,$);
|
||||
#179=IFCCLASSIFICATIONREFERENCE($,'50.20','Evacuaci\X2\00F3\X0\n de aguas',#166,$,$);
|
||||
#180=IFCCLASSIFICATIONREFERENCE($,'50.20.10','Equipos principales de evacuaci\X2\00F3\X0\n de aguas',#179,$,$);
|
||||
#181=IFCCLASSIFICATIONREFERENCE($,'50.20.10.10','Equipos de medida y control de evacuaci\X2\00F3\X0\n de aguas',#180,$,$);
|
||||
#182=IFCCLASSIFICATIONREFERENCE($,'50.20.10.20','Grupos de presi\X2\00F3\X0\n de evacuaci\X2\00F3\X0\n de aguas',#180,$,$);
|
||||
#183=IFCCLASSIFICATIONREFERENCE($,'50.20.10.30','Dep\X2\00F3\X0\sitos de evacuaci\X2\00F3\X0\n de aguas',#180,$,$);
|
||||
#184=IFCCLASSIFICATIONREFERENCE($,'50.20.10.40','Dispositivos de evacuaci\X2\00F3\X0\n de aguas',#180,$,$);
|
||||
#185=IFCCLASSIFICATIONREFERENCE($,'50.20.20','Red de recogida',#179,$,$);
|
||||
#186=IFCCLASSIFICATIONREFERENCE($,'50.20.20.10','Canalizaciones de aguas pluviales',#185,$,$);
|
||||
#187=IFCCLASSIFICATIONREFERENCE($,'50.20.20.20','Canalizaciones de aguas residuales',#185,$,$);
|
||||
#188=IFCCLASSIFICATIONREFERENCE($,'50.20.20.30','Canalizaciones de aguas grises',#185,$,$);
|
||||
#189=IFCCLASSIFICATIONREFERENCE($,'50.20.20.40','Canalizaciones para ventilaci\X2\00F3\X0\n saneamiento',#185,$,$);
|
||||
#190=IFCCLASSIFICATIONREFERENCE($,'50.20.20.50','Arquetas y pozos de evacuaci\X2\00F3\X0\n de aguas',#185,$,$);
|
||||
#191=IFCCLASSIFICATIONREFERENCE($,'50.20.20.60','Terminales de drenaje',#185,$,$);
|
||||
#192=IFCCLASSIFICATIONREFERENCE($,'50.30','Instalaciones t\X2\00E9\X0\rmicas y de ventilaci\X2\00F3\X0\n',#166,$,$);
|
||||
#193=IFCCLASSIFICATIONREFERENCE($,'50.30.10','Equipos de producci\X2\00F3\X0\n de instalaciones t\X2\00E9\X0\rmicas',#192,$,$);
|
||||
#194=IFCCLASSIFICATIONREFERENCE($,'50.30.10.10','Torres de refrigeraci\X2\00F3\X0\n',#193,$,$);
|
||||
#195=IFCCLASSIFICATIONREFERENCE($,'50.30.10.20','Unidades exteriores de instalaciones t\X2\00E9\X0\rmicas',#193,$,$);
|
||||
#196=IFCCLASSIFICATIONREFERENCE($,'50.30.10.30','Unidades interiores de instalaciones t\X2\00E9\X0\rmicas',#193,$,$);
|
||||
#197=IFCCLASSIFICATIONREFERENCE($,'50.30.10.40','Calderas',#193,$,$);
|
||||
#198=IFCCLASSIFICATIONREFERENCE($,'50.30.10.50','Termoacumuladores',#193,$,$);
|
||||
#199=IFCCLASSIFICATIONREFERENCE($,'50.30.10.60','Geotermia',#193,$,$);
|
||||
#200=IFCCLASSIFICATIONREFERENCE($,'50.30.10.70','Captadores solares t\X2\00E9\X0\rmicos',#193,$,$);
|
||||
#201=IFCCLASSIFICATIONREFERENCE($,'50.30.10.80','Ventiladores',#193,$,$);
|
||||
#202=IFCCLASSIFICATIONREFERENCE($,'50.30.10.90','Recuperadores',#193,$,$);
|
||||
#203=IFCCLASSIFICATIONREFERENCE($,'50.30.20','Equipos secundarios de instalaciones t\X2\00E9\X0\rmicas',#192,$,$);
|
||||
#204=IFCCLASSIFICATIONREFERENCE($,'50.30.20.10','Equipos de bombeo de instalaciones t\X2\00E9\X0\rmicas',#203,$,$);
|
||||
#205=IFCCLASSIFICATIONREFERENCE($,'50.30.20.20','Silenciadores',#203,$,$);
|
||||
#206=IFCCLASSIFICATIONREFERENCE($,'50.30.20.30','Compuertas',#203,$,$);
|
||||
#207=IFCCLASSIFICATIONREFERENCE($,'50.30.20.40','Reguladores',#203,$,$);
|
||||
#208=IFCCLASSIFICATIONREFERENCE($,'50.30.20.50','Condensadores',#203,$,$);
|
||||
#209=IFCCLASSIFICATIONREFERENCE($,'50.30.20.60','V\X2\00E1\X0\lvulas e instrumentos de medida y control de flujo de climatizaci\X2\00F3\X0\n',#203,$,$);
|
||||
#210=IFCCLASSIFICATIONREFERENCE($,'50.30.30','Circuitos de distribuci\X2\00F3\X0\n de fluidos fr\X2\00ED\X0\o / calor',#192,$,$);
|
||||
#211=IFCCLASSIFICATIONREFERENCE($,'50.30.30.10','L\X2\00ED\X0\neas frigor\X2\00ED\X0\ficas',#210,$,$);
|
||||
#212=IFCCLASSIFICATIONREFERENCE($,'50.30.30.20','L\X2\00ED\X0\neas hidr\X2\00E1\X0\ulicas',#210,$,$);
|
||||
#213=IFCCLASSIFICATIONREFERENCE($,'50.30.40','Conductos de distribuci\X2\00F3\X0\n de aire',#192,$,$);
|
||||
#214=IFCCLASSIFICATIONREFERENCE($,'50.30.40.10','Aportaci\X2\00F3\X0\n de aire primario',#213,$,$);
|
||||
#215=IFCCLASSIFICATIONREFERENCE($,'50.30.40.20','Extracci\X2\00F3\X0\n de aire primario',#213,$,$);
|
||||
#216=IFCCLASSIFICATIONREFERENCE($,'50.30.40.30','Impulsi\X2\00F3\X0\n de aire tratado',#213,$,$);
|
||||
#217=IFCCLASSIFICATIONREFERENCE($,'50.30.40.40','Retorno de aire tratado',#213,$,$);
|
||||
#218=IFCCLASSIFICATIONREFERENCE($,'50.30.40.50','Extracci\X2\00F3\X0\n de humos',#213,$,$);
|
||||
#219=IFCCLASSIFICATIONREFERENCE($,'50.30.50','Terminales y difusores',#192,$,$);
|
||||
#220=IFCCLASSIFICATIONREFERENCE($,'50.30.50.10','Radiadores',#219,$,$);
|
||||
#221=IFCCLASSIFICATIONREFERENCE($,'50.30.50.20','Difusores',#219,$,$);
|
||||
#222=IFCCLASSIFICATIONREFERENCE($,'50.30.50.30','Suelo radiante',#219,$,$);
|
||||
#223=IFCCLASSIFICATIONREFERENCE($,'50.30.50.40','Forjados radiantes',#219,$,$);
|
||||
#224=IFCCLASSIFICATIONREFERENCE($,'50.30.50.50','Rejillas',#219,$,$);
|
||||
#225=IFCCLASSIFICATIONREFERENCE($,'50.30.60','Dispositivos de maniobra y control',#192,$,$);
|
||||
#226=IFCCLASSIFICATIONREFERENCE($,'50.30.60.10','Cableado / BUS de climatizaci\X2\00F3\X0\n',#225,$,$);
|
||||
#227=IFCCLASSIFICATIONREFERENCE($,'50.30.60.20','Detectores de CO2',#225,$,$);
|
||||
#228=IFCCLASSIFICATIONREFERENCE($,'50.40','Suministro de combustibles',#166,$,$);
|
||||
#229=IFCCLASSIFICATIONREFERENCE($,'50.40.10','Equipos principales de suministro de combustibles',#228,$,$);
|
||||
#230=IFCCLASSIFICATIONREFERENCE($,'50.40.10.10','Equipos de medida, regulaci\X2\00F3\X0\n y control de combustibles',#229,$,$);
|
||||
#231=IFCCLASSIFICATIONREFERENCE($,'50.40.10.20','Dep\X2\00F3\X0\sitos de combustible',#229,$,$);
|
||||
#232=IFCCLASSIFICATIONREFERENCE($,'50.40.10.30','Grupos de presi\X2\00F3\X0\n de combustible',#229,$,$);
|
||||
#233=IFCCLASSIFICATIONREFERENCE($,'50.40.20','Equipos secundarios de suministro de combustibles',#228,$,$);
|
||||
#234=IFCCLASSIFICATIONREFERENCE($,'50.40.20.10','V\X2\00E1\X0\lvulas e instrumentos de medida y control de flujo de combustibles',#233,$,$);
|
||||
#235=IFCCLASSIFICATIONREFERENCE($,'50.40.20.20','Dispositivos de suministro de combustibles',#233,$,$);
|
||||
#236=IFCCLASSIFICATIONREFERENCE($,'50.40.30','Red de distribuci\X2\00F3\X0\n de suministro de combustibles',#228,$,$);
|
||||
#237=IFCCLASSIFICATIONREFERENCE($,'50.40.30.10','Canalizaciones de suministro de combustibles',#236,$,$);
|
||||
#238=IFCCLASSIFICATIONREFERENCE($,'50.40.30.20','Arquetas y pozos de suministro de combustibles',#236,$,$);
|
||||
#239=IFCCLASSIFICATIONREFERENCE($,'50.40.40','Terminales de suministro de combustibles',#228,$,$);
|
||||
#240=IFCCLASSIFICATIONREFERENCE($,'50.40.40.10','Grifos de suministro de combustibles',#239,$,$);
|
||||
#241=IFCCLASSIFICATIONREFERENCE($,'50.40.40.20','Quemadores',#239,$,$);
|
||||
#242=IFCCLASSIFICATIONREFERENCE($,'50.40.50','Dispositivos de maniobra y control',#228,$,$);
|
||||
#243=IFCCLASSIFICATIONREFERENCE($,'50.40.50.10','Cableado / BUS para suministro de combustibles',#242,$,$);
|
||||
#244=IFCCLASSIFICATIONREFERENCE($,'50.40.50.20','Detector de gases',#242,$,$);
|
||||
#245=IFCCLASSIFICATIONREFERENCE($,'50.50','Protecci\X2\00F3\X0\n contra incendios',#166,$,$);
|
||||
#246=IFCCLASSIFICATIONREFERENCE($,'50.50.10','Extinci\X2\00F3\X0\n de incendios',#245,$,$);
|
||||
#247=IFCCLASSIFICATIONREFERENCE($,'50.50.10.10','Dep\X2\00F3\X0\sitos de extinci\X2\00F3\X0\n de incendios',#246,$,$);
|
||||
#248=IFCCLASSIFICATIONREFERENCE($,'50.50.10.20','Grupos de presi\X2\00F3\X0\n de extinci\X2\00F3\X0\n de incendios',#246,$,$);
|
||||
#249=IFCCLASSIFICATIONREFERENCE($,'50.50.10.30','V\X2\00E1\X0\lvulas e instrumentos de medida y control de flujo de extinci\X2\00F3\X0\n de incendios',#246,$,$);
|
||||
#250=IFCCLASSIFICATIONREFERENCE($,'50.50.10.40','Dispositivos de extinci\X2\00F3\X0\n de incendios',#246,$,$);
|
||||
#251=IFCCLASSIFICATIONREFERENCE($,'50.50.10.50','Canalizaciones de extinci\X2\00F3\X0\n de incendios',#246,$,$);
|
||||
#252=IFCCLASSIFICATIONREFERENCE($,'50.50.10.60','Rociadores',#246,$,$);
|
||||
#253=IFCCLASSIFICATIONREFERENCE($,'50.50.10.70','BIES',#246,$,$);
|
||||
#254=IFCCLASSIFICATIONREFERENCE($,'50.50.10.80','Extintores',#246,$,$);
|
||||
#255=IFCCLASSIFICATIONREFERENCE($,'50.50.20','Detecci\X2\00F3\X0\n de incendios',#245,$,$);
|
||||
#256=IFCCLASSIFICATIONREFERENCE($,'50.50.20.10','Centralitas y racks de detecci\X2\00F3\X0\n de incendios',#255,$,$);
|
||||
#257=IFCCLASSIFICATIONREFERENCE($,'50.50.20.20','Equipos especiales de detecci\X2\00F3\X0\n de incendios',#255,$,$);
|
||||
#258=IFCCLASSIFICATIONREFERENCE($,'50.50.20.30','Canalizaciones de detecci\X2\00F3\X0\n de incendios',#255,$,$);
|
||||
#259=IFCCLASSIFICATIONREFERENCE($,'50.50.20.40','Cajas de distribuci\X2\00F3\X0\n de detecci\X2\00F3\X0\n de incendios',#255,$,$);
|
||||
#260=IFCCLASSIFICATIONREFERENCE($,'50.50.30','Dispositivos de maniobra y control',#245,$,$);
|
||||
#261=IFCCLASSIFICATIONREFERENCE($,'50.50.30.10','Pulsadores',#260,$,$);
|
||||
#262=IFCCLASSIFICATIONREFERENCE($,'50.50.30.20','Cuadros de mando para contra incendios',#260,$,$);
|
||||
#263=IFCCLASSIFICATIONREFERENCE($,'50.50.30.30','Detectores de incendios',#260,$,$);
|
||||
#264=IFCCLASSIFICATIONREFERENCE($,'50.50.30.40','Mecanismos de extinci\X2\00F3\X0\n y detecci\X2\00F3\X0\n de incendios',#260,$,$);
|
||||
#265=IFCCLASSIFICATIONREFERENCE($,'50.50.30.50','Cableado / BUS de contra incendios',#260,$,$);
|
||||
#266=IFCCLASSIFICATIONREFERENCE($,'50.60','Instalaciones el\X2\00E9\X0\ctricas',#166,$,$);
|
||||
#267=IFCCLASSIFICATIONREFERENCE($,'50.60.10','Equipos el\X2\00E9\X0\ctricos principales',#266,$,$);
|
||||
#268=IFCCLASSIFICATIONREFERENCE($,'50.60.10.10','Cuadros el\X2\00E9\X0\ctricos',#267,$,$);
|
||||
#269=IFCCLASSIFICATIONREFERENCE($,'50.60.10.20','Grupos electr\X2\00F3\X0\genos',#267,$,$);
|
||||
#270=IFCCLASSIFICATIONREFERENCE($,'50.60.10.30','Acometidas el\X2\00E9\X0\ctricas',#267,$,$);
|
||||
#271=IFCCLASSIFICATIONREFERENCE($,'50.60.10.40','Transformadores',#267,$,$);
|
||||
#272=IFCCLASSIFICATIONREFERENCE($,'50.60.20','Equipos el\X2\00E9\X0\ctricos secundarios',#266,$,$);
|
||||
#273=IFCCLASSIFICATIONREFERENCE($,'50.60.20.10','Bater\X2\00ED\X0\as y SAI',#272,$,$);
|
||||
#274=IFCCLASSIFICATIONREFERENCE($,'50.60.20.20','Cuadros de mando el\X2\00E9\X0\ctrico',#272,$,$);
|
||||
#275=IFCCLASSIFICATIONREFERENCE($,'50.60.20.30','Bater\X2\00ED\X0\as de condensadores',#272,$,$);
|
||||
#276=IFCCLASSIFICATIONREFERENCE($,'50.60.20.40','Embarrados y transformadores',#272,$,$);
|
||||
#277=IFCCLASSIFICATIONREFERENCE($,'50.60.30','Canalizaciones de distribuci\X2\00F3\X0\n el\X2\00E9\X0\ctricas',#266,$,$);
|
||||
#278=IFCCLASSIFICATIONREFERENCE($,'50.60.30.10','Bandejas de distribuci\X2\00F3\X0\n el\X2\00E9\X0\ctrica',#277,$,$);
|
||||
#279=IFCCLASSIFICATIONREFERENCE($,'50.60.30.20','Canales de superficie de distribuci\X2\00F3\X0\n el\X2\00E9\X0\ctrica',#277,$,$);
|
||||
#280=IFCCLASSIFICATIONREFERENCE($,'50.60.30.30','Cajas de distribuci\X2\00F3\X0\n el\X2\00E9\X0\ctrica',#277,$,$);
|
||||
#281=IFCCLASSIFICATIONREFERENCE($,'50.60.30.40','Mangueras y tubos de distribuci\X2\00F3\X0\n el\X2\00E9\X0\ctrica',#277,$,$);
|
||||
#282=IFCCLASSIFICATIONREFERENCE($,'50.60.30.50','Arquetas y pozos de distribuci\X2\00F3\X0\n el\X2\00E9\X0\ctrica',#277,$,$);
|
||||
#283=IFCCLASSIFICATIONREFERENCE($,'50.60.30.60','Cableado el\X2\00E9\X0\ctrico',#277,$,$);
|
||||
#284=IFCCLASSIFICATIONREFERENCE($,'50.60.40','Dispositivos de maniobra y control',#266,$,$);
|
||||
#285=IFCCLASSIFICATIONREFERENCE($,'50.60.40.10','Mecanismos',#284,$,$);
|
||||
#286=IFCCLASSIFICATIONREFERENCE($,'50.60.40.20','Tomas',#284,$,$);
|
||||
#287=IFCCLASSIFICATIONREFERENCE($,'50.60.50','Iluminaci\X2\00F3\X0\n',#266,$,$);
|
||||
#288=IFCCLASSIFICATIONREFERENCE($,'50.60.50.10','Iluminaci\X2\00F3\X0\n exterior',#287,$,$);
|
||||
#289=IFCCLASSIFICATIONREFERENCE($,'50.60.50.20','Iluminaci\X2\00F3\X0\n interior',#287,$,$);
|
||||
#290=IFCCLASSIFICATIONREFERENCE($,'50.60.50.30','Iluminaci\X2\00F3\X0\n de emergencia',#287,$,$);
|
||||
#291=IFCCLASSIFICATIONREFERENCE($,'50.60.60','Red de tierras',#266,$,$);
|
||||
#292=IFCCLASSIFICATIONREFERENCE($,'50.60.60.10','Pararrayos',#291,$,$);
|
||||
#293=IFCCLASSIFICATIONREFERENCE($,'50.60.60.20','Piquetes y arquetas',#291,$,$);
|
||||
#294=IFCCLASSIFICATIONREFERENCE($,'50.60.60.30','Mecanismos de la red de tierras',#291,$,$);
|
||||
#295=IFCCLASSIFICATIONREFERENCE($,'50.70','Telecomunicaciones y audiovisuales',#166,$,$);
|
||||
#296=IFCCLASSIFICATIONREFERENCE($,'50.70.10','Equipos principales de telecomunicaciones',#295,$,$);
|
||||
#297=IFCCLASSIFICATIONREFERENCE($,'50.70.10.10','Antenas',#296,$,$);
|
||||
#298=IFCCLASSIFICATIONREFERENCE($,'50.70.10.20','Acometidas de telecomunicaciones',#296,$,$);
|
||||
#299=IFCCLASSIFICATIONREFERENCE($,'50.70.10.30','Armarios RACK',#296,$,$);
|
||||
#300=IFCCLASSIFICATIONREFERENCE($,'50.70.10.40','Servidores',#296,$,$);
|
||||
#301=IFCCLASSIFICATIONREFERENCE($,'50.70.20','Equipos secundarios de telecomunicaciones',#295,$,$);
|
||||
#302=IFCCLASSIFICATIONREFERENCE($,'50.70.20.10','Conversores',#301,$,$);
|
||||
#303=IFCCLASSIFICATIONREFERENCE($,'50.70.20.20','Amplificadores',#301,$,$);
|
||||
#304=IFCCLASSIFICATIONREFERENCE($,'50.70.20.30','Altavoces',#301,$,$);
|
||||
#305=IFCCLASSIFICATIONREFERENCE($,'50.70.20.40','Centralitas',#301,$,$);
|
||||
#306=IFCCLASSIFICATIONREFERENCE($,'50.70.20.50','Routers',#301,$,$);
|
||||
#307=IFCCLASSIFICATIONREFERENCE($,'50.70.20.60','Monitores',#301,$,$);
|
||||
#308=IFCCLASSIFICATIONREFERENCE($,'50.70.30','Canalizaciones de distribuci\X2\00F3\X0\n para se\X2\00F1\X0\ales d\X2\00E9\X0\biles',#295,$,$);
|
||||
#309=IFCCLASSIFICATIONREFERENCE($,'50.70.30.10','Bandejas de distribuci\X2\00F3\X0\n para se\X2\00F1\X0\ales d\X2\00E9\X0\biles',#308,$,$);
|
||||
#310=IFCCLASSIFICATIONREFERENCE($,'50.70.30.20','Canales de superficie para se\X2\00F1\X0\ales d\X2\00E9\X0\biles',#308,$,$);
|
||||
#311=IFCCLASSIFICATIONREFERENCE($,'50.70.30.30','Cajas de distribuci\X2\00F3\X0\n para se\X2\00F1\X0\ales d\X2\00E9\X0\biles',#308,$,$);
|
||||
#312=IFCCLASSIFICATIONREFERENCE($,'50.70.30.40','Cableado de se\X2\00F1\X0\ales d\X2\00E9\X0\biles',#308,$,$);
|
||||
#313=IFCCLASSIFICATIONREFERENCE($,'50.70.30.50','Mangueras y tubos de distribuci\X2\00F3\X0\n para se\X2\00F1\X0\ales d\X2\00E9\X0\biles',#308,$,$);
|
||||
#314=IFCCLASSIFICATIONREFERENCE($,'50.70.30.60','Arquetas y pozos para se\X2\00F1\X0\ales d\X2\00E9\X0\biles',#308,$,$);
|
||||
#315=IFCCLASSIFICATIONREFERENCE($,'50.70.40','Dispositivos de maniobra y control de telecomunicaciones',#295,$,$);
|
||||
#316=IFCCLASSIFICATIONREFERENCE($,'50.70.40.10','Tomas de telecomunicaciones',#315,$,$);
|
||||
#317=IFCCLASSIFICATIONREFERENCE($,'50.70.40.20','Cuadros de mando de telecomunicaciones',#315,$,$);
|
||||
#318=IFCCLASSIFICATIONREFERENCE($,'50.70.50','Terminales de telecomunicaciones',#295,$,$);
|
||||
#319=IFCCLASSIFICATIONREFERENCE($,'50.70.50.10','Equipos de telecomunicaciones',#318,$,$);
|
||||
#320=IFCCLASSIFICATIONREFERENCE($,'50.70.50.20','Emisores de telecomunicaciones',#318,$,$);
|
||||
#321=IFCCLASSIFICATIONREFERENCE($,'50.80','Seguridad y anti-intrusi\X2\00F3\X0\n',#166,$,$);
|
||||
#322=IFCCLASSIFICATIONREFERENCE($,'50.80.10','Equipos de seguridad y anti-intrusi\X2\00F3\X0\n',#321,$,$);
|
||||
#323=IFCCLASSIFICATIONREFERENCE($,'50.80.10.10','Racks para seguridad y anti-intrusi\X2\00F3\X0\n',#322,$,$);
|
||||
#324=IFCCLASSIFICATIONREFERENCE($,'50.80.10.20','Centralitas de seguridad',#322,$,$);
|
||||
#325=IFCCLASSIFICATIONREFERENCE($,'50.80.10.30','Telefon\X2\00ED\X0\a',#322,$,$);
|
||||
#326=IFCCLASSIFICATIONREFERENCE($,'50.80.20','Sistemas anti-intrusi\X2\00F3\X0\n',#321,$,$);
|
||||
#327=IFCCLASSIFICATIONREFERENCE($,'50.80.20.10','Detectores anti-intrusi\X2\00F3\X0\n',#326,$,$);
|
||||
#328=IFCCLASSIFICATIONREFERENCE($,'50.80.20.20','Circuitos de TV',#326,$,$);
|
||||
#329=IFCCLASSIFICATIONREFERENCE($,'50.80.20.30','Sensores antiintrusi\X2\00F3\X0\n',#326,$,$);
|
||||
#330=IFCCLASSIFICATIONREFERENCE($,'50.80.30','Elementos de control de personas',#321,$,$);
|
||||
#331=IFCCLASSIFICATIONREFERENCE($,'50.80.30.10','Control de accesos',#330,$,$);
|
||||
#332=IFCCLASSIFICATIONREFERENCE($,'50.80.40','Elementos de control de veh\X2\00ED\X0\culos',#321,$,$);
|
||||
#333=IFCCLASSIFICATIONREFERENCE($,'50.80.40.10','Gesti\X2\00F3\X0\n de tr\X2\00E1\X0\fico',#332,$,$);
|
||||
#334=IFCCLASSIFICATIONREFERENCE($,'50.80.50','Elementos de aviso y alarma',#321,$,$);
|
||||
#335=IFCCLASSIFICATIONREFERENCE($,'50.80.50.10','Sirenas',#334,$,$);
|
||||
#336=IFCCLASSIFICATIONREFERENCE($,'50.90','Instalaciones especiales',#166,$,$);
|
||||
#337=IFCCLASSIFICATIONREFERENCE($,'50.90.10','Equipos principales de instalaciones especiales',#336,$,$);
|
||||
#338=IFCCLASSIFICATIONREFERENCE($,'50.90.10.10','Equipos de medida, regulaci\X2\00F3\X0\n y control especiales',#337,$,$);
|
||||
#339=IFCCLASSIFICATIONREFERENCE($,'50.90.10.20','Dep\X2\00F3\X0\sitos de instalaciones especiales',#337,$,$);
|
||||
#340=IFCCLASSIFICATIONREFERENCE($,'50.90.10.30','Grupos de presi\X2\00F3\X0\n de instalaciones especiales',#337,$,$);
|
||||
#341=IFCCLASSIFICATIONREFERENCE($,'50.90.20','Equipos secundarios de instalaciones especiales',#336,$,$);
|
||||
#342=IFCCLASSIFICATIONREFERENCE($,'50.90.20.10','V\X2\00E1\X0\lvulas e instrumentos de medida y control de flujo especiales',#341,$,$);
|
||||
#343=IFCCLASSIFICATIONREFERENCE($,'50.90.20.20','Dispositivos especiales',#341,$,$);
|
||||
#344=IFCCLASSIFICATIONREFERENCE($,'50.90.30','Red de distribuci\X2\00F3\X0\n de instalaciones especiales',#336,$,$);
|
||||
#345=IFCCLASSIFICATIONREFERENCE($,'50.90.30.10','Canalizaciones especiales',#344,$,$);
|
||||
#346=IFCCLASSIFICATIONREFERENCE($,'50.90.30.20','Arquetas y pozos de instalaciones especiales',#344,$,$);
|
||||
#347=IFCCLASSIFICATIONREFERENCE($,'50.90.40','Terminales de instalaciones especiales',#336,$,$);
|
||||
#348=IFCCLASSIFICATIONREFERENCE($,'50.90.40.10','Grifer\X2\00ED\X0\a para instalaciones especiales',#347,$,$);
|
||||
#349=IFCCLASSIFICATIONREFERENCE($,'50.90.40.20','Otros terminales especiales',#347,$,$);
|
||||
#350=IFCCLASSIFICATIONREFERENCE($,'50.90.50','Dispositivos de maniobra y control',#336,$,$);
|
||||
#351=IFCCLASSIFICATIONREFERENCE($,'50.90.50.10','Mandos',#350,$,$);
|
||||
#352=IFCCLASSIFICATIONREFERENCE($,'50.90.50.20','Detectores especiales',#350,$,$);
|
||||
#353=IFCCLASSIFICATIONREFERENCE($,'50.90.50.30','Sensores especiales',#350,$,$);
|
||||
#354=IFCCLASSIFICATIONREFERENCE($,'50.90.50.40','Otros dispositivos de maniobra y control especiales',#350,$,$);
|
||||
#355=IFCCLASSIFICATIONREFERENCE($,'50.100','Otros elementos de instalaciones',#166,$,$);
|
||||
#356=IFCCLASSIFICATIONREFERENCE($,'50.100.10','Elementos comunes de instalaciones',#355,$,$);
|
||||
#357=IFCCLASSIFICATIONREFERENCE($,'50.100.10.10','Elementos de apoyo',#356,$,$);
|
||||
#358=IFCCLASSIFICATIONREFERENCE($,'50.100.10.20','Pasarelas y escaleras de acceso para mantenimiento',#356,$,$);
|
||||
#359=IFCCLASSIFICATIONREFERENCE($,'50.100.10.30','Canalizaciones y arquetas comunes de instalaciones',#356,$,$);
|
||||
#360=IFCCLASSIFICATIONREFERENCE($,'60','Equipamientos y mobiliario',#2,$,$);
|
||||
#361=IFCCLASSIFICATIONREFERENCE($,'60.10','Equipamientos',#360,$,$);
|
||||
#362=IFCCLASSIFICATIONREFERENCE($,'60.10.10','Cuartos h\X2\00FA\X0\medos / sanitarios',#361,$,$);
|
||||
#363=IFCCLASSIFICATIONREFERENCE($,'60.10.10.10','Inodoros',#362,$,$);
|
||||
#364=IFCCLASSIFICATIONREFERENCE($,'60.10.10.20','Urinarios',#362,$,$);
|
||||
#365=IFCCLASSIFICATIONREFERENCE($,'60.10.10.30','Bid\X2\00E9\X0\s',#362,$,$);
|
||||
#366=IFCCLASSIFICATIONREFERENCE($,'60.10.10.40','Platos de ducha',#362,$,$);
|
||||
#367=IFCCLASSIFICATIONREFERENCE($,'60.10.10.50','Ba\X2\00F1\X0\eras',#362,$,$);
|
||||
#368=IFCCLASSIFICATIONREFERENCE($,'60.10.10.60','Lavamanos',#362,$,$);
|
||||
#369=IFCCLASSIFICATIONREFERENCE($,'60.10.10.70','Fregaderos',#362,$,$);
|
||||
#370=IFCCLASSIFICATIONREFERENCE($,'60.10.10.80','Accesorios para cuartos h\X2\00FA\X0\medos',#362,$,$);
|
||||
#371=IFCCLASSIFICATIONREFERENCE($,'60.10.10.90','Lavaderos',#362,$,$);
|
||||
#372=IFCCLASSIFICATIONREFERENCE($,'60.10.10.100','Vertedero',#362,$,$);
|
||||
#373=IFCCLASSIFICATIONREFERENCE($,'60.10.20','Otros equipamientos',#361,$,$);
|
||||
#374=IFCCLASSIFICATIONREFERENCE($,'60.10.20.10','Equipamientos para circulaci\X2\00F3\X0\n de veh\X2\00ED\X0\culos',#373,$,$);
|
||||
#375=IFCCLASSIFICATIONREFERENCE($,'60.10.20.20','Equipamientos comerciales',#373,$,$);
|
||||
#376=IFCCLASSIFICATIONREFERENCE($,'60.10.20.30','Equipamientos institucionales',#373,$,$);
|
||||
#377=IFCCLASSIFICATIONREFERENCE($,'60.10.20.40','Equipamientos recreativos',#373,$,$);
|
||||
#378=IFCCLASSIFICATIONREFERENCE($,'60.10.20.50','Equipamientos asistenciales',#373,$,$);
|
||||
#379=IFCCLASSIFICATIONREFERENCE($,'60.10.20.60','Electrodom\X2\00E9\X0\sticos',#373,$,$);
|
||||
#380=IFCCLASSIFICATIONREFERENCE($,'60.10.20.70','Aparatos inform\X2\00E1\X0\ticos',#373,$,$);
|
||||
#381=IFCCLASSIFICATIONREFERENCE($,'60.20','Mobiliario',#360,$,$);
|
||||
#382=IFCCLASSIFICATIONREFERENCE($,'60.20.10','Mobiliario fijo',#381,$,$);
|
||||
#383=IFCCLASSIFICATIONREFERENCE($,'60.20.10.10','Encimeras',#382,$,$);
|
||||
#384=IFCCLASSIFICATIONREFERENCE($,'60.20.10.20','Estantes',#382,$,$);
|
||||
#385=IFCCLASSIFICATIONREFERENCE($,'60.20.10.30','Espejos',#382,$,$);
|
||||
#386=IFCCLASSIFICATIONREFERENCE($,'60.20.10.40','Mostradores',#382,$,$);
|
||||
#387=IFCCLASSIFICATIONREFERENCE($,'60.20.10.50','Muebles de obra',#382,$,$);
|
||||
#388=IFCCLASSIFICATIONREFERENCE($,'60.20.10.60','Armarios empotrados',#382,$,$);
|
||||
#389=IFCCLASSIFICATIONREFERENCE($,'60.20.10.70','Bancadas',#382,$,$);
|
||||
#390=IFCCLASSIFICATIONREFERENCE($,'60.20.10.80','Otros mobiliarios fijos',#382,$,$);
|
||||
#391=IFCCLASSIFICATIONREFERENCE($,'60.20.30','Mobiliario m\X2\00F3\X0\vil',#381,$,$);
|
||||
#392=IFCCLASSIFICATIONREFERENCE($,'60.20.30.10','Mesas',#391,$,$);
|
||||
#393=IFCCLASSIFICATIONREFERENCE($,'60.20.30.20','Sillas y sof\X2\00E1\X0\s',#391,$,$);
|
||||
#394=IFCCLASSIFICATIONREFERENCE($,'60.20.30.30','Taburetes',#391,$,$);
|
||||
#395=IFCCLASSIFICATIONREFERENCE($,'60.20.30.40','Bancos',#391,$,$);
|
||||
#396=IFCCLASSIFICATIONREFERENCE($,'60.20.30.50','Camas',#391,$,$);
|
||||
#397=IFCCLASSIFICATIONREFERENCE($,'60.20.30.60','Armarios, cajoneras y archivadores',#391,$,$);
|
||||
#398=IFCCLASSIFICATIONREFERENCE($,'60.20.30.70','Otros mobiliarios m\X2\00F3\X0\viles',#391,$,$);
|
||||
#399=IFCCLASSIFICATIONREFERENCE($,'60.30','Sistemas de transporte',#360,$,$);
|
||||
#400=IFCCLASSIFICATIONREFERENCE($,'60.30.10','Transporte vertical',#399,$,$);
|
||||
#401=IFCCLASSIFICATIONREFERENCE($,'60.30.10.10','Ascensores',#400,$,$);
|
||||
#402=IFCCLASSIFICATIONREFERENCE($,'60.30.10.20','Montacargas',#400,$,$);
|
||||
#403=IFCCLASSIFICATIONREFERENCE($,'60.30.10.30','Escaleras mec\X2\00E1\X0\nicas',#400,$,$);
|
||||
#404=IFCCLASSIFICATIONREFERENCE($,'60.30.20','Transporte horizontal',#399,$,$);
|
||||
#405=IFCCLASSIFICATIONREFERENCE($,'60.30.20.10','Pasarelas transportadoras',#404,$,$);
|
||||
#406=IFCCLASSIFICATIONREFERENCE($,'60.30.20.20','Otros sistemas de transporte',#404,$,$);
|
||||
#407=IFCCLASSIFICATIONREFERENCE($,'60.30.30','Manipulaci\X2\00F3\X0\n de elementos',#399,$,$);
|
||||
#408=IFCCLASSIFICATIONREFERENCE($,'60.30.30.10','Gr\X2\00FA\X0\as',#407,$,$);
|
||||
#409=IFCCLASSIFICATIONREFERENCE($,'60.30.30.20','Polipasto',#407,$,$);
|
||||
#410=IFCCLASSIFICATIONREFERENCE($,'60.30.30.30','Cintas transportadoras',#407,$,$);
|
||||
#411=IFCCLASSIFICATIONREFERENCE($,'60.30.30.40','Sistemas neum\X2\00E1\X0\ticos',#407,$,$);
|
||||
#412=IFCCLASSIFICATIONREFERENCE($,'60.30.30.50','Otros sistemas de manipulaci\X2\00F3\X0\n',#407,$,$);
|
||||
#413=IFCCLASSIFICATIONREFERENCE($,'70','Urbanizaci\X2\00F3\X0\n de los espacios exteriores',#2,$,$);
|
||||
#414=IFCCLASSIFICATIONREFERENCE($,'70.10','Elementos de cimentaci\X2\00F3\X0\n, contenci\X2\00F3\X0\n de tierras y elementos estructurales',#413,$,$);
|
||||
#415=IFCCLASSIFICATIONREFERENCE($,'70.10.10','Cimientos para elementos de urbanizaci\X2\00F3\X0\n',#414,$,$);
|
||||
#416=IFCCLASSIFICATIONREFERENCE($,'70.10.10.10','Zapatas para elementos de urbanizaci\X2\00F3\X0\n',#415,$,$);
|
||||
#417=IFCCLASSIFICATIONREFERENCE($,'70.10.10.20','Cimentaci\X2\00F3\X0\n especial para elementos de urbanizaci\X2\00F3\X0\n',#415,$,$);
|
||||
#418=IFCCLASSIFICATIONREFERENCE($,'70.10.20','Muros de urbanizaci\X2\00F3\X0\n',#414,$,$);
|
||||
#419=IFCCLASSIFICATIONREFERENCE($,'70.10.20.10','Muros in-situ de urbanizaci\X2\00F3\X0\n',#418,$,$);
|
||||
#420=IFCCLASSIFICATIONREFERENCE($,'70.10.20.20','Muros prefabricados de urbanizaci\X2\00F3\X0\n',#418,$,$);
|
||||
#421=IFCCLASSIFICATIONREFERENCE($,'70.10.20.30','Muros de gravedad',#418,$,$);
|
||||
#422=IFCCLASSIFICATIONREFERENCE($,'70.10.20.40','Muro tierra armada',#418,$,$);
|
||||
#423=IFCCLASSIFICATIONREFERENCE($,'70.10.20.50','Muro de gaviones',#418,$,$);
|
||||
#424=IFCCLASSIFICATIONREFERENCE($,'70.10.30','Otros elementos estructurales de urbanizaci\X2\00F3\X0\n',#414,$,$);
|
||||
#425=IFCCLASSIFICATIONREFERENCE($,'70.20','Elementos de cierres y protecci\X2\00F3\X0\n de urbanizaci\X2\00F3\X0\n',#413,$,$);
|
||||
#426=IFCCLASSIFICATIONREFERENCE($,'70.20.10','Cierres de parcela',#425,$,$);
|
||||
#427=IFCCLASSIFICATIONREFERENCE($,'70.20.20','Barreras m\X2\00F3\X0\viles',#425,$,$);
|
||||
#428=IFCCLASSIFICATIONREFERENCE($,'70.20.30','Pilonas',#425,$,$);
|
||||
#429=IFCCLASSIFICATIONREFERENCE($,'70.30','Firmes y pavimentos',#413,$,$);
|
||||
#430=IFCCLASSIFICATIONREFERENCE($,'70.30.10','Bases y subbases',#429,$,$);
|
||||
#431=IFCCLASSIFICATIONREFERENCE($,'70.30.20','Pavimentos peatonales',#429,$,$);
|
||||
#432=IFCCLASSIFICATIONREFERENCE($,'70.30.30','Pavimentos para tr\X2\00E1\X0\fico rodado',#429,$,$);
|
||||
#433=IFCCLASSIFICATIONREFERENCE($,'70.30.40','Escalonamientos de urbanizaci\X2\00F3\X0\n',#429,$,$);
|
||||
#434=IFCCLASSIFICATIONREFERENCE($,'70.30.50','Rampas de urbanizaci\X2\00F3\X0\n',#429,$,$);
|
||||
#435=IFCCLASSIFICATIONREFERENCE($,'70.40','Instalaciones y servicios',#413,$,$);
|
||||
#436=IFCCLASSIFICATIONREFERENCE($,'70.40.10','Alumbrado',#435,$,$);
|
||||
#437=IFCCLASSIFICATIONREFERENCE($,'70.40.10.10','Luminarias y b\X2\00E1\X0\culos',#436,$,$);
|
||||
#438=IFCCLASSIFICATIONREFERENCE($,'70.40.10.20','Elementos de balizamiento',#436,$,$);
|
||||
#439=IFCCLASSIFICATIONREFERENCE($,'70.40.10.30','Elementos de la red y control',#436,$,$);
|
||||
#440=IFCCLASSIFICATIONREFERENCE($,'70.40.20','Riego y abastecimiento de fuente',#435,$,$);
|
||||
#441=IFCCLASSIFICATIONREFERENCE($,'70.40.20.10','Canalizaciones de riego',#440,$,$);
|
||||
#442=IFCCLASSIFICATIONREFERENCE($,'70.40.20.20','Accesorios de riego',#440,$,$);
|
||||
#443=IFCCLASSIFICATIONREFERENCE($,'70.40.20.30','Arquetas de riego',#440,$,$);
|
||||
#444=IFCCLASSIFICATIONREFERENCE($,'70.40.30','Drenaje',#435,$,$);
|
||||
#445=IFCCLASSIFICATIONREFERENCE($,'70.40.30.10','Canalizaciones de drenaje',#444,$,$);
|
||||
#446=IFCCLASSIFICATIONREFERENCE($,'70.40.30.20','Rejas y buneras',#444,$,$);
|
||||
#447=IFCCLASSIFICATIONREFERENCE($,'70.40.30.30','Arquetas y pozos de drenaje',#444,$,$);
|
||||
#448=IFCCLASSIFICATIONREFERENCE($,'70.50','Jardiner\X2\00ED\X0\a',#413,$,$);
|
||||
#449=IFCCLASSIFICATIONREFERENCE($,'70.50.10','Plantaciones',#448,$,$);
|
||||
#450=IFCCLASSIFICATIONREFERENCE($,'70.50.10.10','Arbolados',#449,$,$);
|
||||
#451=IFCCLASSIFICATIONREFERENCE($,'70.50.10.20','C\X2\00E9\X0\sped',#449,$,$);
|
||||
#452=IFCCLASSIFICATIONREFERENCE($,'70.50.10.30','Arbustivas',#449,$,$);
|
||||
#453=IFCCLASSIFICATIONREFERENCE($,'70.50.20','Parterres',#448,$,$);
|
||||
#454=IFCCLASSIFICATIONREFERENCE($,'70.50.20.10','Parterres fijos',#453,$,$);
|
||||
#455=IFCCLASSIFICATIONREFERENCE($,'70.50.20.20','Parterres m\X2\00F3\X0\viles',#453,$,$);
|
||||
#456=IFCCLASSIFICATIONREFERENCE($,'70.60','Mobiliario urbano y elementos de se\X2\00F1\X0\alizaci\X2\00F3\X0\n',#413,$,$);
|
||||
#457=IFCCLASSIFICATIONREFERENCE($,'70.60.10','Mobiliario exterior',#456,$,$);
|
||||
#458=IFCCLASSIFICATIONREFERENCE($,'70.60.20','Juegos infantiles',#456,$,$);
|
||||
#459=IFCCLASSIFICATIONREFERENCE($,'70.60.30','Mobiliario exterior especial',#456,$,$);
|
||||
#460=IFCCLASSIFICATIONREFERENCE($,'70.60.40','Se\X2\00F1\X0\alizaci\X2\00F3\X0\n horizontal',#456,$,$);
|
||||
#461=IFCCLASSIFICATIONREFERENCE($,'70.60.50','Se\X2\00F1\X0\alizaci\X2\00F3\X0\n vertical',#456,$,$);
|
||||
#462=IFCCLASSIFICATIONREFERENCE($,'80','Construcciones e instalaciones temporales',#2,$,$);
|
||||
#463=IFCCLASSIFICATIONREFERENCE($,'80.10','Implantaciones de obra',#462,$,$);
|
||||
#464=IFCCLASSIFICATIONREFERENCE($,'80.10.10','Andamios',#463,$,$);
|
||||
#465=IFCCLASSIFICATIONREFERENCE($,'80.10.10.10','Puente volante',#464,$,$);
|
||||
#466=IFCCLASSIFICATIONREFERENCE($,'80.10.10.20','Bastida fija',#464,$,$);
|
||||
#467=IFCCLASSIFICATIONREFERENCE($,'80.10.10.30','Caballete',#464,$,$);
|
||||
#468=IFCCLASSIFICATIONREFERENCE($,'80.10.10.40','Andamio m\X2\00F3\X0\vil',#464,$,$);
|
||||
#469=IFCCLASSIFICATIONREFERENCE($,'80.10.10.50','Marquesinas',#464,$,$);
|
||||
#470=IFCCLASSIFICATIONREFERENCE($,'80.10.10.60','Lonas',#464,$,$);
|
||||
#471=IFCCLASSIFICATIONREFERENCE($,'80.10.20','Gr\X2\00FA\X0\as',#463,$,$);
|
||||
#472=IFCCLASSIFICATIONREFERENCE($,'80.10.20.10','Gr\X2\00FA\X0\a torre',#471,$,$);
|
||||
#473=IFCCLASSIFICATIONREFERENCE($,'80.10.20.20','Grueta',#471,$,$);
|
||||
#474=IFCCLASSIFICATIONREFERENCE($,'80.10.20.30','Montacargas de obra',#471,$,$);
|
||||
#475=IFCCLASSIFICATIONREFERENCE($,'80.10.20.40','Poleas y polipastos',#471,$,$);
|
||||
#476=IFCCLASSIFICATIONREFERENCE($,'80.10.30','Casetas',#463,$,$);
|
||||
#477=IFCCLASSIFICATIONREFERENCE($,'80.10.30.10','Casetas de obra',#476,$,$);
|
||||
#478=IFCCLASSIFICATIONREFERENCE($,'80.10.30.20','Aseos port\X2\00E1\X0\tiles',#476,$,$);
|
||||
#479=IFCCLASSIFICATIONREFERENCE($,'80.10.30.30','Casetas de almacenamiento',#476,$,$);
|
||||
#480=IFCCLASSIFICATIONREFERENCE($,'80.10.30.40','Otros m\X2\00F3\X0\dulos',#476,$,$);
|
||||
#481=IFCCLASSIFICATIONREFERENCE($,'80.10.40','Cierres y se\X2\00F1\X0\alizaci\X2\00F3\X0\n',#463,$,$);
|
||||
#482=IFCCLASSIFICATIONREFERENCE($,'80.10.40.10','Cierres perimetrales',#481,$,$);
|
||||
#483=IFCCLASSIFICATIONREFERENCE($,'80.10.40.20','Puertas de acceso',#481,$,$);
|
||||
#484=IFCCLASSIFICATIONREFERENCE($,'80.10.40.30','R\X2\00F3\X0\tulos',#481,$,$);
|
||||
#485=IFCCLASSIFICATIONREFERENCE($,'80.10.40.40','Balizas de se\X2\00F1\X0\alizaci\X2\00F3\X0\n',#481,$,$);
|
||||
#486=IFCCLASSIFICATIONREFERENCE($,'80.10.50','Acopio',#463,$,$);
|
||||
#487=IFCCLASSIFICATIONREFERENCE($,'80.10.50.10','Acopio de tierras y \X2\00E1\X0\ridos',#486,$,$);
|
||||
#488=IFCCLASSIFICATIONREFERENCE($,'80.10.50.20','Acopio de productos',#486,$,$);
|
||||
#489=IFCCLASSIFICATIONREFERENCE($,'80.10.50.30','Palets',#486,$,$);
|
||||
#490=IFCCLASSIFICATIONREFERENCE($,'80.10.60','Otros elementos de implantaci\X2\00F3\X0\n de obra',#463,$,$);
|
||||
#491=IFCCLASSIFICATIONREFERENCE($,'80.10.60.10','Silo',#490,$,$);
|
||||
#492=IFCCLASSIFICATIONREFERENCE($,'80.10.60.20','Dep\X2\00F3\X0\sitos de obra',#490,$,$);
|
||||
#493=IFCCLASSIFICATIONREFERENCE($,'80.10.70','Gesti\X2\00F3\X0\n de residuos',#463,$,$);
|
||||
#494=IFCCLASSIFICATIONREFERENCE($,'80.10.70.10','Saca de escombros',#493,$,$);
|
||||
#495=IFCCLASSIFICATIONREFERENCE($,'80.10.70.20','Contenedor de escombros',#493,$,$);
|
||||
#496=IFCCLASSIFICATIONREFERENCE($,'80.10.70.30','Escombros',#493,$,$);
|
||||
#497=IFCCLASSIFICATIONREFERENCE($,'80.10.70.40','Residuos especiales',#493,$,$);
|
||||
#498=IFCCLASSIFICATIONREFERENCE($,'80.10.70.50','Chatarra',#493,$,$);
|
||||
#499=IFCCLASSIFICATIONREFERENCE($,'80.10.70.60','Tubo de descarga de escombros',#493,$,$);
|
||||
#500=IFCCLASSIFICATIONREFERENCE($,'80.10.70.70','Tolva',#493,$,$);
|
||||
#501=IFCCLASSIFICATIONREFERENCE($,'80.20','Construcciones temporales',#462,$,$);
|
||||
#502=IFCCLASSIFICATIONREFERENCE($,'80.20.10','Estructuras auxiliares y apeos',#501,$,$);
|
||||
#503=IFCCLASSIFICATIONREFERENCE($,'80.20.10.10','Cimentaciones auxiliares',#502,$,$);
|
||||
#504=IFCCLASSIFICATIONREFERENCE($,'80.20.10.20','Apuntalamiento de fachadas',#502,$,$);
|
||||
#505=IFCCLASSIFICATIONREFERENCE($,'80.20.10.30','Apeo de servicios',#502,$,$);
|
||||
#506=IFCCLASSIFICATIONREFERENCE($,'80.20.10.40','Encofrados auxiliares',#502,$,$);
|
||||
#507=IFCCLASSIFICATIONREFERENCE($,'80.20.20','Instalaciones provisionales',#501,$,$);
|
||||
#508=IFCCLASSIFICATIONREFERENCE($,'80.20.20.10','Instalaci\X2\00F3\X0\n provisional el\X2\00E9\X0\ctrica',#507,$,$);
|
||||
#509=IFCCLASSIFICATIONREFERENCE($,'80.20.20.20','Instalaci\X2\00F3\X0\n provisional de agua',#507,$,$);
|
||||
#510=IFCCLASSIFICATIONREFERENCE($,'80.20.20.30','Instalaci\X2\00F3\X0\n provisional de saneamiento',#507,$,$);
|
||||
#511=IFCCLASSIFICATIONREFERENCE($,'80.20.20.40','Otras instalaciones provisionales',#507,$,$);
|
||||
#512=IFCCLASSIFICATIONREFERENCE($,'80.20.30','Otras construcciones temporales',#501,$,$);
|
||||
#513=IFCCLASSIFICATIONREFERENCE($,'80.20.30.10','Otras construcciones temporales',#512,$,$);
|
||||
#514=IFCCLASSIFICATIONREFERENCE($,'80.30','Equipos y herramientas',#462,$,$);
|
||||
#515=IFCCLASSIFICATIONREFERENCE($,'80.30.10','Maquinaria',#514,$,$);
|
||||
#516=IFCCLASSIFICATIONREFERENCE($,'80.30.10.10','Maquinaria de excavaci\X2\00F3\X0\n y cimentaci\X2\00F3\X0\n',#515,$,$);
|
||||
#517=IFCCLASSIFICATIONREFERENCE($,'80.30.10.20','Maquinaria para escombros',#515,$,$);
|
||||
#518=IFCCLASSIFICATIONREFERENCE($,'80.30.10.30','Maquinaria de elevaci\X2\00F3\X0\n',#515,$,$);
|
||||
#519=IFCCLASSIFICATIONREFERENCE($,'80.30.10.40','Maquinaria de transporte',#515,$,$);
|
||||
#520=IFCCLASSIFICATIONREFERENCE($,'80.30.10.50','M\X2\00E1\X0\quina de tratamiento de materiales',#515,$,$);
|
||||
#521=IFCCLASSIFICATIONREFERENCE($,'80.30.10.60','Otros tipos de maquinaria',#515,$,$);
|
||||
#522=IFCCLASSIFICATIONREFERENCE($,'80.30.20','Herramientas',#514,$,$);
|
||||
#523=IFCCLASSIFICATIONREFERENCE($,'80.30.20.10','Herramientas manuales',#522,$,$);
|
||||
#524=IFCCLASSIFICATIONREFERENCE($,'80.30.20.20','Herramientas no manuales',#522,$,$);
|
||||
#525=IFCCLASSIFICATIONREFERENCE($,'80.40','Seguridad y salud',#462,$,$);
|
||||
#526=IFCCLASSIFICATIONREFERENCE($,'80.40.10','Protecciones individuales y colectivas',#525,$,$);
|
||||
#527=IFCCLASSIFICATIONREFERENCE($,'80.40.10.10','Equipos de protecci\X2\00F3\X0\n individual',#526,$,$);
|
||||
#528=IFCCLASSIFICATIONREFERENCE($,'80.40.10.20','Vallas de protecci\X2\00F3\X0\n ca\X2\00ED\X0\das',#526,$,$);
|
||||
#529=IFCCLASSIFICATIONREFERENCE($,'80.40.10.30','Redes de protecci\X2\00F3\X0\n',#526,$,$);
|
||||
#530=IFCCLASSIFICATIONREFERENCE($,'80.40.10.40','L\X2\00ED\X0\neas de vida',#526,$,$);
|
||||
#531=IFCCLASSIFICATIONREFERENCE($,'80.40.10.50','Otros medios de protecci\X2\00F3\X0\n colectiva',#526,$,$);
|
||||
#532=IFCCLASSIFICATIONREFERENCE($,'80.40.20','Equipos de medida preventiva',#525,$,$);
|
||||
#533=IFCCLASSIFICATIONREFERENCE($,'80.40.20.10','Equipos de medida y detecci\X2\00F3\X0\n de seguridad y salud',#532,$,$);
|
||||
#534=IFCCLASSIFICATIONREFERENCE($,'80.40.30','Delimitaciones de zonas de seguridad',#525,$,$);
|
||||
#535=IFCCLASSIFICATIONREFERENCE($,'80.40.30.10','Zonas de tr\X2\00E1\X0\fico rodado y maquinaria',#534,$,$);
|
||||
ENDSEC;
|
||||
END-ISO-10303-21;
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user