diff --git a/.github/workflows/build_osx.yml b/.github/workflows/build_osx.yml index f53d91b98d..056cf13763 100644 --- a/.github/workflows/build_osx.yml +++ b/.github/workflows/build_osx.yml @@ -139,7 +139,7 @@ jobs: cd .. - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v5 + uses: aws-actions/configure-aws-credentials@v6 with: aws-access-key-id: ${{ secrets.AWS_UPLOAD_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_UPLOAD_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/build_pyodide.yml b/.github/workflows/build_pyodide.yml index b5692b18f4..744bd9e772 100644 --- a/.github/workflows/build_pyodide.yml +++ b/.github/workflows/build_pyodide.yml @@ -77,7 +77,7 @@ jobs: git push || echo "Push failed" - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v5 + uses: aws-actions/configure-aws-credentials@v6 with: aws-access-key-id: ${{ secrets.AWS_UPLOAD_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_UPLOAD_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/build_rocky.yml b/.github/workflows/build_rocky.yml index 6a21a9dfc3..662aa04f26 100644 --- a/.github/workflows/build_rocky.yml +++ b/.github/workflows/build_rocky.yml @@ -118,7 +118,7 @@ jobs: cd .. - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v5 + uses: aws-actions/configure-aws-credentials@v6 with: aws-access-key-id: ${{ secrets.AWS_UPLOAD_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_UPLOAD_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/build_rocky_arm.yml b/.github/workflows/build_rocky_arm.yml index c595c63676..445f49658a 100644 --- a/.github/workflows/build_rocky_arm.yml +++ b/.github/workflows/build_rocky_arm.yml @@ -118,7 +118,7 @@ jobs: cd .. - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v5 + uses: aws-actions/configure-aws-credentials@v6 with: aws-access-key-id: ${{ secrets.AWS_UPLOAD_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_UPLOAD_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/build_win.yml b/.github/workflows/build_win.yml index 6ef112da61..ab9d7b6f80 100644 --- a/.github/workflows/build_win.yml +++ b/.github/workflows/build_win.yml @@ -73,7 +73,7 @@ jobs: git push || echo "Push failed" - name: Configure AWS Credentials - uses: aws-actions/configure-aws-credentials@v5 + uses: aws-actions/configure-aws-credentials@v6 with: aws-access-key-id: ${{ secrets.AWS_UPLOAD_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_UPLOAD_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/ci-bonsai-daily.yml b/.github/workflows/ci-bonsai-daily.yml index eea09da5a7..3b52198f3a 100644 --- a/.github/workflows/ci-bonsai-daily.yml +++ b/.github/workflows/ci-bonsai-daily.yml @@ -35,7 +35,7 @@ jobs: strategy: fail-fast: false matrix: - pyver: [py311, py312] + pyver: [py311, py312, py313] config: - { name: "Windows Build", @@ -53,6 +53,11 @@ jobs: name: "MacOS ARM Build", short_name: macosm1, } + exclude: + # Python 3.13 is needed for Blender 5.1+ and Blender dropped Intel Mac support in 5.0. + - pyver: py313 + config: + short_name: macos steps: - uses: actions/checkout@v6 - uses: actions/setup-python@v6 # https://github.com/actions/setup-python diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d2392ecb2e..65031e83d9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -53,7 +53,6 @@ jobs: python -m pip install --upgrade pip pip install xmlschema xsdata numpy lxml pytest isodate lark networkx tabulate python-dateutil shapely pip install src/bcf --no-deps - pip install git+https://github.com/zdhoward/aud pip install pytest-xdist==3.8.0 - name: Install C++ dependencies @@ -209,17 +208,36 @@ jobs: - name: Build standalone examples to test cmake package run: | + set -x cd src/examples mkdir build && cd build cmake .. -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_COMPILER_LAUNCHER=ccache \ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache cmake --build . + ./arbitrary_open_profile_def && test -f arbitrary_open_profile_def.ifc + ./composite_profile_def && test -f composite_profile_def.ifc + ./csg_primitive && test -f csg_primitive.ifc + ./ellipse_pies && test -f ellipse_pies.ifc + ./faces && test -f faces.ifc + ./ifc_curve_rebar && test -f ifc_curve_rebar.ifc + ./profiles + test -f IfcUShapeProfileDef.ifc + test -f IfcTShapeProfileDef.ifc + test -f IfcZShapeProfileDef.ifc + test -f IfcEllipseProfileDef.ifc + test -f IfcIShapeProfileDef.ifc + test -f IfcLShapeProfileDef.ifc + test -f IfcCShapeProfileDef.ifc + test -f IfcCircleProfileDef.ifc + test -f IfcRectangleProfileDef.ifc + test -f IfcTrapeziumProfileDef.ifc ./IfcParseExamples "../IfcParseExamples_test.ifc" - ./IfcOpenHouse - ./IfcAdvancedHouse - ./IfcAlignment - ./IfcSimplifiedAlignment + ./IfcOpenHouse && test -f IfcOpenHouse.ifc + ./IfcAdvancedHouse && test -f IfcAdvancedHouse.ifc + ./IfcAlignment && test -f IfcAlignment.ifc + ./IfcSimplifiedAlignment && test -f IfcSimplifiedAlignment.ifc + ./triangulated_faceset && test -f triangulated_faceset.ifc - name: Test ifcopenshell-python run: | diff --git a/.gitignore b/.gitignore index bee04658cd..8a7482ab8e 100644 --- a/.gitignore +++ b/.gitignore @@ -82,6 +82,8 @@ src/bonsai/bonsai/translations.py # bonsai test temp files src/bonsai/test/files/temp +src/bonsai/test/files/basic.ifc.cache.blend +src/bonsai/test/files/basic.ifc.cache.sqlite # bonsai data src/bonsai/bonsai/bim/data/build/ diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000000..fd0e305245 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,153 @@ + + +# AGENTS.md + +Guidelines for AI coding agents contributing to IfcOpenShell. This file is +intended to be read by all AI agents regardless of platform (Claude Code, +Copilot, Cursor, etc.) in addition to any tool-specific configuration files. + +Human contributors using AI tools should also read this document carefully, +as they are responsible for ensuring their contributions comply with these +guidelines. + +## Project Overview + +IfcOpenShell is an open source library for working with Industry Foundation +Classes (IFC). It provides C++ and Python APIs, geometry processing, and an +ecosystem of tools including IfcConvert and the Bonsai Blender add-on. + +## Licensing + +All contributions must be compatible with the project's licensing: + +- **Library code** (everything except Bonsai): **LGPL-3.0-or-later** +- **Bonsai** (`src/bonsai/`): **GPL-3.0-or-later** + +There is no Contributor License Agreement (CLA). By submitting a pull request, +you agree that your contribution is licensed under the applicable license above. + +## Indicating AI-Generated Code + +Contributors must clearly indicate when code has been generated or +substantially written by an AI tool. + +### Commits + +Commits that modify existing code must include a note in the **body** of the +commit message (not the subject line) indicating that the change was +AI-generated. For example: + +``` +Fix off-by-one error in element iteration + +The loop termination condition was incorrect when processing +IfcRelAggregates relationships. + +Generated with the assistance of an AI coding tool. +``` + +### New Files + +New files that are AI-generated must include a comment near the top of the +file indicating this. Use the appropriate comment syntax for the language: + +```python +# This file was generated with the assistance of an AI coding tool. +``` + +```cpp +// This file was generated with the assistance of an AI coding tool. +``` + +### Pull Requests + +Pull requests containing AI-generated code must indicate in the PR description +which parts of the contribution are AI-generated. If the entire PR is +AI-generated, state that clearly. If only specific commits or files are +AI-generated, identify them. + +## Pull Request Guidelines + +### Scope and Size + +- Each pull request should address a **single issue or feature**. +- Do not mix unrelated changes (e.g., bug fixes with refactoring or style + changes) in the same PR. +- Large pull requests should be broken down into **multiple small, standalone + commits** that are each easy to review independently. Rewrite commit history + for this purpose if necessary. +- PRs that are minimal, focused solutions to a specific problem are much more + likely to be accepted. + +### What to Avoid + +- **Over-engineering**: Do not add features, abstractions, or configurability + beyond what is needed to solve the immediate problem. +- **Scope creep**: Do not make changes to files or code that are not directly + related to the task at hand. +- **Unnecessary additions**: Do not add docstrings, comments, type annotations, + or error handling to code you did not otherwise need to change. +- **Cosmetic changes**: Do not reformat, rename, or reorganize code that is + unrelated to your change. + +## Commit Messages + +- The **subject line** must be **50 characters or less**. +- Use the **imperative mood** (e.g., "Fix crash in geometry kernel", not + "Fixed crash" or "Fixes crash"). +- A commit message can be a single line if the purpose is obvious from the + subject alone. +- Otherwise, add a blank line after the subject followed by a short explanation + of a few lines in the body. + +## Code Style + +### Python + +- **Line length**: 120 characters +- **Formatter**: black +- **Linter**: ruff +- Configuration is in `pyproject.toml` + +### C++ + +- **Standard**: C++17 minimum +- **Formatter**: clang-format (configuration in `.clang-format`) +- **Linter**: clang-tidy (configuration in `.clang-tidy`) + +Run linters and formatters **before submitting** your pull request. Do not rely +on CI to catch formatting issues. + +## Testing + +- Pull requests with test coverage are **much more likely to be merged**. +- If tests are appropriate and feasible for your change, they should be + included. +- Tests are not required for every change (e.g., documentation-only changes), + but the expectation is that testable code changes come with tests. +- Python tests use **pytest** and are located in `test/` or `tests/` directories + within each package under `src/`. +- Run the existing test suite for the package you modified before submitting. + +## Architecture Quick Reference + +### Directory Structure + +- `src/ifcparse/` — C++ IFC file parsing +- `src/ifcgeom/` — C++ geometry processing (OpenCASCADE and CGAL kernels) +- `src/serializers/` — Output format serializers (glTF, Collada, SVG, etc.) +- `src/ifcwrap/` — SWIG Python bindings +- `src/ifcconvert/` — CLI conversion tool +- `src/ifcopenshell-python/` — Python API (`ifcopenshell` package) +- `src/bonsai/` — Blender add-on (GPL-3.0-or-later) +- `src/ifctester/` — IDS model auditing +- `src/ifcpatch/` — IFC file manipulation scripts +- `src/ifcdiff/` — IFC model comparison +- `src/ifcclash/` — Clash detection +- `src/ifccsv/` — Schedule import/export + +### IFC Schema Versions + +The library supports IFC2x3 TC1, IFC4 Add2 TC1, IFC4x1, IFC4x2, and +IFC4x3 Add2. Schema-specific code is compiled conditionally. Be aware of +which schema versions your change affects. diff --git a/cmake/IfcOpenShellConfig.cmake.in b/cmake/IfcOpenShellConfig.cmake.in index 95df6180f9..e5e5d350b8 100644 --- a/cmake/IfcOpenShellConfig.cmake.in +++ b/cmake/IfcOpenShellConfig.cmake.in @@ -13,7 +13,14 @@ include(CMakeFindDependencyMacro) set(Boost_USE_STATIC_LIBS ON) set(Boost_USE_STATIC_RUNTIME OFF) set(Boost_USE_MULTITHREADED ON) -set(Boost_COMPONENTS system program_options regex thread date_time iostreams) +set(Boost_COMPONENTS + system + program_options + regex + thread + date_time + iostreams +) find_dependency(Boost CONFIG COMPONENTS ${Boost_COMPONENTS}) find_dependency(Eigen3 CONFIG) @@ -39,7 +46,6 @@ if(IFCOPENSHELL_IFCXML) find_dependency(LibXml2 CONFIG) endif() - if(IFCOPENSHELL_WITH_CGAL) find_dependency(CGAL CONFIG) endif() @@ -48,9 +54,7 @@ if(IFCOPENSHELL_WITH_OPENCASCADE) find_dependency(OpenCASCADE CONFIG) if(OpenCASCADE_VERSION VERSION_LESS "7.7.0") # cmake configs < 7.7.0 were not adding include directories to targets automatically. - set_target_properties(TKernel PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${OpenCASCADE_INCLUDE_DIR}" - ) + set_target_properties(TKernel PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${OpenCASCADE_INCLUDE_DIR}") endif() endif() diff --git a/cmake/cmake_uninstall.cmake.in b/cmake/cmake_uninstall.cmake.in index 04da07edd6..aa91cd810d 100644 --- a/cmake/cmake_uninstall.cmake.in +++ b/cmake/cmake_uninstall.cmake.in @@ -25,19 +25,12 @@ file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files) string(REGEX REPLACE "\n" ";" files "${files}") foreach(file ${files}) - message(STATUS "Uninstalling $ENV{DESTDIR}${file}") + set(filepath "$ENV{DESTDIR}${file}") + message(STATUS "Uninstalling ${filepath}") - if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") - exec_program( - "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" - OUTPUT_VARIABLE rm_out - RETURN_VALUE rm_retval - ) - - if(NOT "${rm_retval}" STREQUAL 0) - message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}") - endif() - else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") - message(STATUS "File $ENV{DESTDIR}${file} does not exist.") + if(IS_SYMLINK "${filepath}" OR EXISTS "${filepath}") + file(REMOVE "${filepath}") + else(NOT EXISTS "${filepath}") + message(STATUS "File ${filepath} does not exist.") endif() endforeach() diff --git a/docs/cpp-api/CMakeLists.txt b/docs/cpp-api/CMakeLists.txt index 0b729355e5..80593dd220 100644 --- a/docs/cpp-api/CMakeLists.txt +++ b/docs/cpp-api/CMakeLists.txt @@ -1,14 +1,10 @@ #Look for an executable called sphinx-build -find_program(SPHINX_EXECUTABLE - NAMES sphinx-build - DOC "Path to sphinx-build executable") +find_program(SPHINX_EXECUTABLE NAMES sphinx-build DOC "Path to sphinx-build executable") include(FindPackageHandleStandardArgs) #Handle standard arguments to find_package like REQUIRED and QUIET -find_package_handle_standard_args(Sphinx - "Failed to find sphinx-build executable" - SPHINX_EXECUTABLE) +find_package_handle_standard_args(Sphinx "Failed to find sphinx-build executable" SPHINX_EXECUTABLE) find_package(Doxygen REQUIRED) #find_package(Sphinx REQUIRED) @@ -16,25 +12,24 @@ find_package(Doxygen REQUIRED) set(SPHINX_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}) set(SPHINX_BUILD ${CMAKE_CURRENT_BINARY_DIR}/docs/sphinx) -MESSAGE(STATUS "SPHINX BUILD ${CMAKE_CURRENT_BINARY_DIR}") +message(STATUS "SPHINX BUILD ${CMAKE_CURRENT_BINARY_DIR}") file(MAKE_DIRECTORY ./output/doxygen) -if (DOXYGEN_FOUND) +if(DOXYGEN_FOUND) + add_custom_target( + Sphinx + ALL + COMMAND ${SPHINX_EXECUTABLE} -v -T -b html ${SPHINX_SOURCE} ${CMAKE_CURRENT_SOURCE_DIR}/output + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/output + COMMENT "Generating documentation with Sphinx" + ) -add_custom_target(Sphinx ALL - COMMAND - ${SPHINX_EXECUTABLE} -v -T -b html - ${SPHINX_SOURCE} ${CMAKE_CURRENT_SOURCE_DIR}/output - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/output - COMMENT "Generating documentation with Sphinx") - -# add_custom_target(ifcopenshell_python_docs ALL - # COMMAND make html - # WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../src/ifcblenderexport/docs - # OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/../src/ifcblenderexport/docs - # COMMENT "Generating documentation with Sphinx") - -else (DOXYGEN_FOUND) - message("Doxygen need to be installed to generate the doxygen documentation") -endif (DOXYGEN_FOUND) + # add_custom_target(ifcopenshell_python_docs ALL + # COMMAND make html + # WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../src/ifcblenderexport/docs + # OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/../src/ifcblenderexport/docs + # COMMENT "Generating documentation with Sphinx") +else(DOXYGEN_FOUND) + message("Doxygen need to be installed to generate the doxygen documentation") +endif(DOXYGEN_FOUND) diff --git a/nix/build-all.py b/nix/build-all.py index 448e3655ec..2a4318dc35 100644 --- a/nix/build-all.py +++ b/nix/build-all.py @@ -1177,6 +1177,8 @@ if "cgal" in targets: # Disable assembly, otherwise `emcc -c conftest.s` will crash due to assembly mismatch. gmp_args.extend(("--disable-assembly", "--enable-cxx")) mpfr_args.extend(("--host", "none")) + elif "x86" in arch: + gmp_args.append("--enable-fat") # See issues #7458 #7556 OLD_CC = None if MAC_CROSS_COMPILE_INTEL: diff --git a/pyproject.toml b/pyproject.toml index 0c7914f541..95b61e2c39 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,10 +2,10 @@ name = "IfcOpenShell" version = "0.0.0" dependencies = [ - "black==25.12", - "ruff==0.14.13", + "black==26.1.0", + "ruff==0.15.1", "poethepoet", - "gersemi==0.25.1", + "gersemi==0.25.4", ] [tool.black] @@ -82,4 +82,4 @@ black = "black ." format.sequence = ["black", "ruff-main", "ruff-old"] -cmake-format = "gersemi cmake src --in-place" +cmake-format = "gersemi . --in-place" diff --git a/src/bcf/bcf/agnostic/topic.py b/src/bcf/bcf/agnostic/topic.py index 1e77f40e97..a25f4af482 100644 --- a/src/bcf/bcf/agnostic/topic.py +++ b/src/bcf/bcf/agnostic/topic.py @@ -2,6 +2,8 @@ import tempfile from pathlib import Path from typing import Optional, Union +from typing_extensions import assert_never + import bcf.agnostic.model as mdl import bcf.v2.bcfxml import bcf.v2.model @@ -9,7 +11,6 @@ import bcf.v2.topic import bcf.v3.bcfxml import bcf.v3.model import bcf.v3.topic -from typing_extensions import assert_never TopicHandler = Union[bcf.v2.topic.TopicHandler, bcf.v3.topic.TopicHandler] diff --git a/src/bcf/bcf/v2/model/extensions.py b/src/bcf/bcf/v2/model/extensions.py index e50277570e..695027bc6c 100644 --- a/src/bcf/bcf/v2/model/extensions.py +++ b/src/bcf/bcf/v2/model/extensions.py @@ -14,7 +14,7 @@ # Currently extensions support for v2 is only read-only. -from dataclasses import dataclass, field, fields +from dataclasses import dataclass, field from typing import Optional diff --git a/src/bcf/bcf/v2/topic.py b/src/bcf/bcf/v2/topic.py index 30506d734d..2f69a0c18a 100644 --- a/src/bcf/bcf/v2/topic.py +++ b/src/bcf/bcf/v2/topic.py @@ -3,11 +3,10 @@ from __future__ import annotations import datetime -import tempfile import uuid import zipfile from pathlib import Path -from typing import Any, NoReturn, Optional, Union +from typing import Any, NoReturn, Optional import numpy as np from ifcopenshell import entity_instance diff --git a/src/bcf/bcf/v2/visinfo.py b/src/bcf/bcf/v2/visinfo.py index 1d081ae782..7081bf2052 100644 --- a/src/bcf/bcf/v2/visinfo.py +++ b/src/bcf/bcf/v2/visinfo.py @@ -1,7 +1,7 @@ import uuid import zipfile from collections.abc import Iterable -from typing import Any, Literal, Optional, Union +from typing import Literal, Optional, Union import ifcopenshell.util.placement import ifcopenshell.util.unit diff --git a/src/bcf/bcf/v3/bcfapi.py b/src/bcf/bcf/v3/bcfapi.py index 5c66cee067..127d9e3732 100644 --- a/src/bcf/bcf/v3/bcfapi.py +++ b/src/bcf/bcf/v3/bcfapi.py @@ -24,7 +24,6 @@ import time import urllib.parse import uuid import webbrowser -from re import A from typing import Any, Optional import requests diff --git a/src/bcf/bcf/v3/document.py b/src/bcf/bcf/v3/document.py index afc6be50b9..d906b96d26 100644 --- a/src/bcf/bcf/v3/document.py +++ b/src/bcf/bcf/v3/document.py @@ -1,7 +1,7 @@ """BCF XML V3 Documents handler.""" import zipfile -from typing import Any, Optional +from typing import Optional import bcf.v3.model as mdl from bcf.inmemory_zipfile import ZipFileInterface diff --git a/src/bcf/bcf/v3/visinfo.py b/src/bcf/bcf/v3/visinfo.py index 050641ed23..b3b99d7890 100644 --- a/src/bcf/bcf/v3/visinfo.py +++ b/src/bcf/bcf/v3/visinfo.py @@ -1,7 +1,7 @@ import uuid import zipfile from collections.abc import Iterable -from typing import Any, Literal, Optional, Union +from typing import Literal, Optional, Union import ifcopenshell.util.placement import ifcopenshell.util.unit diff --git a/src/bcf/pyproject.toml b/src/bcf/pyproject.toml index 7047595ce1..b4e990f39c 100644 --- a/src/bcf/pyproject.toml +++ b/src/bcf/pyproject.toml @@ -140,3 +140,9 @@ max-attributes = 10 [tool.pylint.format] expected-line-ending-format = "LF" max-line-length = 120 + +[tool.ruff] +extend = "../../pyproject.toml" +lint.select = [ + "F401", # unused imports +] diff --git a/src/bcf/tests/conftest.py b/src/bcf/tests/conftest.py index f19792122a..ea1b2aee8b 100644 --- a/src/bcf/tests/conftest.py +++ b/src/bcf/tests/conftest.py @@ -1,4 +1,5 @@ import pytest + from bcf.xml_parser import XmlParserSerializer diff --git a/src/bcf/tests/v2/test_bcf_xml.py b/src/bcf/tests/v2/test_bcf_xml.py index 1b5128e96f..fed1428e73 100644 --- a/src/bcf/tests/v2/test_bcf_xml.py +++ b/src/bcf/tests/v2/test_bcf_xml.py @@ -4,8 +4,9 @@ import uuid from pathlib import Path from tempfile import TemporaryDirectory -import bcf.v2.model as mdl import pytest + +import bcf.v2.model as mdl from bcf.v2.bcfxml import BcfXml from bcf.v2.topic import TopicHandler from bcf.v2.visinfo import ( diff --git a/src/bcf/tests/v2/test_example_files.py b/src/bcf/tests/v2/test_example_files.py index 6d964bd0e9..3821569c28 100644 --- a/src/bcf/tests/v2/test_example_files.py +++ b/src/bcf/tests/v2/test_example_files.py @@ -3,10 +3,11 @@ import os import zipfile from pathlib import Path +from xsdata.models.datatype import XmlDateTime + import bcf.v2.model as mdl from bcf.v2.bcfxml import BcfXml from bcf.v2.topic import TopicHandler -from xsdata.models.datatype import XmlDateTime def test_maximum_information() -> None: diff --git a/src/bcf/tests/v2/test_ifcclash_api.py b/src/bcf/tests/v2/test_ifcclash_api.py index 34c3a493e4..14945e8392 100644 --- a/src/bcf/tests/v2/test_ifcclash_api.py +++ b/src/bcf/tests/v2/test_ifcclash_api.py @@ -1,5 +1,6 @@ import numpy as np import pytest + from bcf.v2.bcfxml import BcfXml diff --git a/src/bcf/tests/v3/test_bcf_xml.py b/src/bcf/tests/v3/test_bcf_xml.py index ae658ca55f..50664b98c7 100644 --- a/src/bcf/tests/v3/test_bcf_xml.py +++ b/src/bcf/tests/v3/test_bcf_xml.py @@ -4,8 +4,9 @@ import uuid from pathlib import Path from tempfile import TemporaryDirectory -import bcf.v3.model as mdl import pytest + +import bcf.v3.model as mdl from bcf.v3.bcfxml import BcfXml from bcf.v3.topic import TopicHandler from bcf.v3.visinfo import ( diff --git a/src/bcf/tests/v3/test_example_files.py b/src/bcf/tests/v3/test_example_files.py index 6774c49982..3f141afda6 100644 --- a/src/bcf/tests/v3/test_example_files.py +++ b/src/bcf/tests/v3/test_example_files.py @@ -1,12 +1,11 @@ -import json import os import zipfile from pathlib import Path +from xsdata.models.datatype import XmlDateTime + import bcf.v3.model as mdl from bcf.v3.bcfxml import BcfXml -from bcf.v3.topic import TopicHandler -from xsdata.models.datatype import XmlDateTime def test_doc_ref_internal() -> None: diff --git a/src/bcf/tests/v3/test_ifcclash_api.py b/src/bcf/tests/v3/test_ifcclash_api.py index faea9b6a1a..d470f1ffb8 100644 --- a/src/bcf/tests/v3/test_ifcclash_api.py +++ b/src/bcf/tests/v3/test_ifcclash_api.py @@ -1,5 +1,6 @@ import numpy as np import pytest + from bcf.v3.bcfxml import BcfXml diff --git a/src/bonsai/Dockerfile b/src/bonsai/Dockerfile new file mode 100644 index 0000000000..9805ec0530 --- /dev/null +++ b/src/bonsai/Dockerfile @@ -0,0 +1,22 @@ +# Build Bonsai .zip. +# Usage: +# # While in `bonsai` folder. +# docker build -t bonsai-dist . +# # Output zip file will be in `dist` folder. +# # See possible values for variables in `Makefile`'s `dist` target description. +# docker run --rm -v "$PWD/../../:/work" -w /work -e PLATFORM=win -e PYVERSION=py313 bonsai-dist + +FROM ubuntu:24.04 +RUN apt-get update +RUN apt-get install -y make git wget unzip zip + +# Python +RUN apt-get install -y software-properties-common +RUN add-apt-repository ppa:deadsnakes/ppa +RUN apt-get update +RUN apt-get install -y python3.11 python3.11-venv + +RUN apt-get install -y npm + +WORKDIR /work +CMD cd src/bonsai && make dist PLATFORM=$PLATFORM PYVERSION=$PYVERSION diff --git a/src/bonsai/Makefile b/src/bonsai/Makefile index 5b484f9942..38fbc61355 100644 --- a/src/bonsai/Makefile +++ b/src/bonsai/Makefile @@ -48,18 +48,33 @@ VERSION_PATCH:=$(shell cat '../../VERSION' | cut -d '.' -f 3) VERSION_DATE:=$(shell date '+%y%m%d') LAST_COMMIT_HASH:=$(shell git rev-parse HEAD) LAST_COMMIT_DATE:=$(shell git show -s --format=%cI) -PYVERSION:=py310 PYPI_IMP:=cp -ifeq ($(PYVERSION), py311) -PYLIBDIR:=python3.11 -PYNUMBER:=311 -PYPI_VERSION:=3.11 +ifdef PYVERSION +SUPPORTED_PYVERSIONS := py311 py312 py313 + +ifeq ($(filter $(PYVERSION),$(SUPPORTED_PYVERSIONS)),) +$(error Unsupported PYVERSION=$(PYVERSION). Must be one of $(SUPPORTED_PYVERSIONS)) +endif + +PYMINOR:=$(subst py3,,$(PYVERSION)) +PYLIBDIR:=python3.$(PYMINOR) +PYNUMBER:=3$(PYMINOR) +PYPI_VERSION:=3.$(PYMINOR) +endif # def PYVERSION + + +ifdef PLATFORM +SUPPORTED_PLATFORMS := linux macos macosm1 win + +ifeq ($(filter $(PLATFORM),$(SUPPORTED_PLATFORMS)),) +$(error Unsupported PLATFORM=$(PLATFORM). Must be one of $(SUPPORTED_PLATFORMS)) +endif + +ifeq ($(PLATFORM),macos) +ifeq ($(PYVERSION),py313) +$(error Blender 5.1 with Python 3.13 doesn't support intel macOS.) endif -ifeq ($(PYVERSION), py312) -PYLIBDIR:=python3.12 -PYNUMBER:=312 -PYPI_VERSION:=3.12 endif ifeq ($(PLATFORM), linux) @@ -86,6 +101,8 @@ PYPI_PLATFORM:=--platform win_amd64 BLENDER_PLATFORM:=windows-x64 endif +endif # def PLATFORM + # Current build commit hash. OLD:=e8eb5e4 .PHONY: bump @@ -99,7 +116,10 @@ endif .PHONY: dist dist: ifndef PLATFORM - $(error PLATFORM is not set) + $(error PLATFORM is not set. Example values: $(SUPPORTED_PLATFORMS).) +endif +ifndef PYVERSION + $(error PYVERSION is not set. Example values: $(SUPPORTED_PYVERSIONS). ) endif rm -rf build mkdir -p build @@ -125,9 +145,6 @@ endif cd ../ifc5d && make dist && mv dist/*.whl ../bonsai/build/wheels/ cd ../ifccityjson && make dist && mv dist/*.whl ../bonsai/build/wheels/ cd build && . env/$(VENV_ACTIVATE) && $(PIP) download GitPython --dest=./wheels - # Provides audio playback for costing - # This is a REALLY IMPORTANT feature - cd build && . env/$(VENV_ACTIVATE) && $(PIP) wheel git+https://github.com/zdhoward/aud --wheel-dir=./wheels # IfcOpenShell dependency - support for new typing features cd build && . env/$(VENV_ACTIVATE) && $(PIP) download typing_extensions --dest=./wheels # Required by IfcCSV @@ -189,7 +206,7 @@ endif cd build && . env/$(VENV_ACTIVATE) && $(PIP) download tzfpy $(PYPI_PLATFORM) --python-version $(PYPI_VERSION) --implementation $(PYPI_IMP) --only-binary=:all: --dest=./wheels # pyradiance is using different platform versions than defaults in our makefile. ifeq ($(PLATFORM), linux) - cd build && . env/$(VENV_ACTIVATE) && $(PIP) download pyradiance --platform manylinux_2_35_x86_64 --python-version $(PYPI_VERSION) --implementation $(PYPI_IMP) --only-binary=:all: --dest=./wheels + cd build && . env/$(VENV_ACTIVATE) && $(PIP) download pyradiance --platform manylinux_2_28_x86_64 --python-version $(PYPI_VERSION) --implementation $(PYPI_IMP) --only-binary=:all: --dest=./wheels else ifeq ($(PLATFORM), macos) cd build && . env/$(VENV_ACTIVATE) && $(PIP) download pyradiance --platform macosx_10_13_x86_64 --python-version $(PYPI_VERSION) --implementation $(PYPI_IMP) --only-binary=:all: --dest=./wheels else @@ -267,6 +284,11 @@ else $(SED) 's/version = "0.0.0"/version = "$(VERSION)-alpha$(VERSION_DATE)"/' build/pyproject.toml endif +# Blender 5.1+ requires Python 3.13. +ifeq ($(PYVERSION), py313) + $(SED) 's/blender_version_min = "4\.2\.0"/blender_version_min = "5.1.0"/' build/bonsai/blender_manifest.toml +endif + $(SED) "s/os-arch/$(BLENDER_PLATFORM)/" build/bonsai/blender_manifest.toml # Provides bonsai Add-on functionality @@ -288,12 +310,6 @@ endif fi mv build/wheels/*.whl build/bonsai/wheels/ - # Temporary workaround for Blender not handling non-3.11 wheels #5743. - # Use '-n' as on macos x86-64 doesn't have a binary wheel and it autoincludes 'cp311'. - prev_whl_name=$$(find build/bonsai/wheels/tzfpy-*.whl); \ - whl_name=$$(echo $$prev_whl_name | sed "s/-cp39-/-cp$(PYNUMBER)-/"); \ - mv --update=none "$$prev_whl_name" "$$whl_name"; - ifneq ($(PLATFORM), linux) # Safeguard: in case one of `pip download` will break, # it will produce a linux wheel for non-linux build (our github action machine is using linux). @@ -336,7 +352,11 @@ test: .PHONY: test-core test-core: +ifndef MODULE pytest -p no:pytest-blender test/core +else + pytest -p no:pytest-blender test/core/test_${MODULE}.py +endif .PHONY: test-bim test-bim: @@ -351,7 +371,7 @@ test-tool: ifndef MODULE pytest test/tool else - pytest test/tool/test_$(MODULE).py + pytest test/tool/test_$(MODULE).py --maxfail=1 endif # Reregistering test is not added to the standard test suite because during unregister diff --git a/src/bonsai/bonsai/__init__.py b/src/bonsai/bonsai/__init__.py index ab5d46607b..b4083b0eef 100644 --- a/src/bonsai/bonsai/__init__.py +++ b/src/bonsai/bonsai/__init__.py @@ -32,17 +32,16 @@ if IN_BLENDER: # and then as a bonsai-package. IN_PACKAGE = __package__ == "bonsai" -import re import platform -import traceback -import webbrowser -import uuid +import re import shutil +import traceback +import uuid +import webbrowser from collections import deque -from pathlib import Path -from typing import Union, Any from collections.abc import Generator - +from pathlib import Path +from typing import Any, Union last_commit_hash = "8888888" last_commit_date = "9999999" diff --git a/src/bonsai/bonsai/bim/__init__.py b/src/bonsai/bonsai/bim/__init__.py index 147dd31ba4..9d64714c3b 100644 --- a/src/bonsai/bonsai/bim/__init__.py +++ b/src/bonsai/bonsai/bim/__init__.py @@ -16,14 +16,16 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +import importlib import os +from collections.abc import Callable +from typing import Union + import bpy import bpy.utils.previews -import importlib -from bpy_extras.io_utils import ImportHelper, ExportHelper -from . import handler, ui, prop, operator -from typing import Union -from collections.abc import Callable +from bpy_extras.io_utils import ExportHelper, ImportHelper + +from . import handler, operator, prop, ui try: from bonsai.translations import translations_dict diff --git a/src/bonsai/bonsai/bim/data/webui/sioserver.py b/src/bonsai/bonsai/bim/data/webui/sioserver.py index 4701268232..91c3c4e8eb 100644 --- a/src/bonsai/bonsai/bim/data/webui/sioserver.py +++ b/src/bonsai/bonsai/bim/data/webui/sioserver.py @@ -1,6 +1,5 @@ -import sys import os - +import sys bonsai_lib_path = os.environ.get("BONSAI_LIB_PATH") bonsai_version = os.environ.get("BONSAI_VERSION") @@ -9,13 +8,14 @@ if bonsai_lib_path: sys.path.insert(0, bonsai_lib_path) import argparse -from aiohttp import web -import socketio -import pystache -import json import base64 +import json import xml.etree.ElementTree as ET +import pystache +import socketio +from aiohttp import web + sio_port = 8080 # default port sio = socketio.AsyncServer(cors_allowed_origins="*", async_mode="aiohttp", max_http_buffer_size=10000000) diff --git a/src/bonsai/bonsai/bim/export_ifc.py b/src/bonsai/bonsai/bim/export_ifc.py index 6134786124..cfab523942 100644 --- a/src/bonsai/bonsai/bim/export_ifc.py +++ b/src/bonsai/bonsai/bim/export_ifc.py @@ -17,27 +17,30 @@ # along with Bonsai. If not, see . from __future__ import annotations -import os -import bpy -import json + import datetime -import zipfile +import json +import os import tempfile +import zipfile +from logging import Logger +from math import radians +from typing import Union + +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.util.element import ifcopenshell.util.placement import ifcopenshell.util.unit -import bonsai.tool as tool -import bonsai.core.geometry +from mathutils import Vector + import bonsai.core.aggregate +import bonsai.core.geometry import bonsai.core.spatial import bonsai.core.style +import bonsai.tool as tool from bonsai.bim.ifc import IfcStore -from mathutils import Vector -from typing import Union -from logging import Logger -from math import radians class IfcExporter: @@ -49,7 +52,6 @@ class IfcExporter: self.set_header() IfcStore.update_cache() self.sync_all_objects() - tool.Project.save_linked_models_to_ifc() extension = self.ifc_export_settings.output_file.split(".")[-1].lower() if extension == "ifczip": with tempfile.TemporaryDirectory() as unzipped_path: diff --git a/src/bonsai/bonsai/bim/handler.py b/src/bonsai/bonsai/bim/handler.py index c7cb10cdde..231b44c671 100644 --- a/src/bonsai/bonsai/bim/handler.py +++ b/src/bonsai/bonsai/bim/handler.py @@ -17,26 +17,31 @@ # along with Bonsai. If not, see . import os +import weakref +from collections.abc import Callable +from math import cos +from typing import Union + import bpy +import ifcopenshell.api.owner.settings import ifcopenshell.util.element import ifcopenshell.util.representation import ifcopenshell.util.unit -import ifcopenshell.api.owner.settings +from bpy.app.handlers import persistent +from mathutils import Vector + import bonsai.bim import bonsai.tool as tool -import weakref -from bpy.app.handlers import persistent from bonsai.bim.ifc import IfcStore -from bonsai.bim.module.model.data import AuthoringData from bonsai.bim.module.aggregate.decorator import AggregateDecorator from bonsai.bim.module.georeference.decorator import GeoreferenceDecorator -from bonsai.bim.module.model.decorator import WallAxisDecorator, SlabDirectionDecorator, BoundingBoxDecorator +from bonsai.bim.module.model.data import AuthoringData +from bonsai.bim.module.model.decorator import ( + BoundingBoxDecorator, + SlabDirectionDecorator, + WallAxisDecorator, +) from bonsai.bim.module.nest.decorator import NestDecorator -from mathutils import Vector -from math import cos -from typing import Union -from collections.abc import Callable - cwd = os.path.dirname(os.path.realpath(__file__)) global_subscription_owner = object() @@ -202,8 +207,8 @@ def refresh_ui_data(): Note that calling non-ifc-operators by itself doesn't refresh the UI data and it need to be refreshed manually if needed. """ - from bonsai.bim import modules import bonsai.bim.ui + from bonsai.bim import modules bonsai.bim.ui.refresh() diff --git a/src/bonsai/bonsai/bim/helper.py b/src/bonsai/bonsai/bim/helper.py index e81c483216..9267134988 100644 --- a/src/bonsai/bonsai/bim/helper.py +++ b/src/bonsai/bonsai/bim/helper.py @@ -17,24 +17,31 @@ # along with Bonsai. If not, see . from __future__ import annotations + import importlib -import bpy import json +from collections.abc import Callable, Iterable, Sequence +from types import EllipsisType +from typing import TYPE_CHECKING, Any, Optional, Union + +import bpy import ifcopenshell import ifcopenshell.ifcopenshell_wrapper as W import ifcopenshell.util.attribute import ifcopenshell.util.element import ifcopenshell.util.unit -from ifcopenshell.util.doc import get_attribute_doc, get_predefined_type_doc, get_property_doc +from ifcopenshell.util.doc import ( + get_attribute_doc, + get_predefined_type_doc, + get_property_doc, +) + import bonsai.tool as tool -from types import EllipsisType -from typing import Optional, Any, Union, TYPE_CHECKING -from collections.abc import Callable, Iterable, Sequence if TYPE_CHECKING: import bonsai.bim.prop - from bonsai.bim.prop import Attribute from bonsai.bim.module.search.prop import BIMFilterGroup + from bonsai.bim.prop import Attribute # ImportCallback return values: # - None - property should be imported by default workflow diff --git a/src/bonsai/bonsai/bim/ifc.py b/src/bonsai/bonsai/bim/ifc.py index 881de8adf9..f7d23e1dbe 100644 --- a/src/bonsai/bonsai/bim/ifc.py +++ b/src/bonsai/bonsai/bim/ifc.py @@ -17,26 +17,28 @@ # along with Bonsai. If not, see . from __future__ import annotations -import os -import bpy -import uuid -import shutil + import hashlib -import zipfile +import os +import shutil import tempfile import traceback +import uuid +import zipfile +from collections.abc import Callable +from pathlib import Path +from typing import Literal, NotRequired, Optional, TypedDict, Union + +import bpy import ifcopenshell import ifcopenshell.geom import ifcopenshell.ifcopenshell_wrapper +from ifcopenshell.file import UndoSystemError + import bonsai import bonsai.bim.handler import bonsai.tool as tool -from ifcopenshell.file import UndoSystemError -from pathlib import Path from bonsai.tool.brick import BrickStore -from typing import Union, Optional, TypedDict, NotRequired, Literal -from collections.abc import Callable - IFC_CONNECTED_TYPE = Union[bpy.types.Material, bpy.types.Object] diff --git a/src/bonsai/bonsai/bim/import_ifc.py b/src/bonsai/bonsai/bim/import_ifc.py index 58f6a67065..6e04800dd4 100644 --- a/src/bonsai/bonsai/bim/import_ifc.py +++ b/src/bonsai/bonsai/bim/import_ifc.py @@ -17,33 +17,36 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy -import time + import json -import ifcpatch import logging -import traceback -import mathutils -import numpy as np -import numpy.typing as npt import multiprocessing +import time +import traceback +from collections.abc import Iterable +from typing import Any, Literal, Optional, Union + +import bpy import ifcopenshell import ifcopenshell.api.pset import ifcopenshell.geom import ifcopenshell.ifcopenshell_wrapper as W -import ifcopenshell.util.unit import ifcopenshell.util.element import ifcopenshell.util.geolocation import ifcopenshell.util.placement import ifcopenshell.util.representation import ifcopenshell.util.shape -import bonsai.tool as tool -from bonsai.bim.ifc import IfcStore, IFC_CONNECTED_TYPE -from bonsai.tool.loader import OBJECT_DATA_TYPE -from typing import Union, Optional, Any, Literal -from collections.abc import Iterable +import ifcopenshell.util.unit +import ifcpatch +import mathutils +import numpy as np +import numpy.typing as npt from ifcopenshell.util.shape import MatrixType +import bonsai.tool as tool +from bonsai.bim.ifc import IFC_CONNECTED_TYPE, IfcStore +from bonsai.tool.loader import OBJECT_DATA_TYPE + class MaterialCreator: mesh: bpy.types.Mesh @@ -290,7 +293,6 @@ class IfcImporter: self.profile_code("Load linked models") self.add_project_to_scene() self.profile_code("Add project to scene") - self.hide_ifc_spaces() if self.ifc_import_settings.should_clean_mesh and len(self.file.by_type("IfcElement")) < 1000: self.clean_mesh() self.profile_code("Mesh cleaning") @@ -1287,14 +1289,6 @@ class IfcImporter: properties={"Aggregate_Index": aggregate_index, "Name": name}, ) - def hide_ifc_spaces(self): - """Hide IfcSpace objects after they've been added to the scene.""" - for ifc_definition_id, obj in self.added_data.items(): - if isinstance(obj, bpy.types.Object): - element = self.file.by_id(ifc_definition_id) - if element.is_a("IfcSpace"): - obj.hide_set(True) - class IfcImportSettings: """ @@ -1312,7 +1306,7 @@ class IfcImportSettings: self.should_load_geometry = True self.should_clean_mesh = False self.should_cache = True - self.deflection_tolerance = 0.001 + self.deflection_tolerance = 0.05 # Default is 0.001, but I find this to be more practical self.angular_tolerance = 0.5 self.void_limit = 30 self.style_limit = 300 diff --git a/src/bonsai/bonsai/bim/module/aggregate/__init__.py b/src/bonsai/bonsai/bim/module/aggregate/__init__.py index daafdf201c..9f081ecaec 100644 --- a/src/bonsai/bonsai/bim/module/aggregate/__init__.py +++ b/src/bonsai/bonsai/bim/module/aggregate/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.BIM_OT_add_aggregate, diff --git a/src/bonsai/bonsai/bim/module/aggregate/data.py b/src/bonsai/bonsai/bim/module/aggregate/data.py index ad58f6defb..22c7505bf3 100644 --- a/src/bonsai/bonsai/bim/module/aggregate/data.py +++ b/src/bonsai/bonsai/bim/module/aggregate/data.py @@ -16,11 +16,13 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -import bonsai.tool as tool -import ifcopenshell.util.element from typing import Union +import bpy +import ifcopenshell.util.element + +import bonsai.tool as tool + def refresh(): AggregateData.is_loaded = False diff --git a/src/bonsai/bonsai/bim/module/aggregate/decorator.py b/src/bonsai/bonsai/bim/module/aggregate/decorator.py index 877e7f41e0..080f965bf8 100644 --- a/src/bonsai/bonsai/bim/module/aggregate/decorator.py +++ b/src/bonsai/bonsai/bim/module/aggregate/decorator.py @@ -21,11 +21,12 @@ import bpy import gpu import ifcopenshell import ifcopenshell.util.element -import bonsai.tool as tool from bpy.types import SpaceView3D from bpy_extras import view3d_utils from gpu_extras.batch import batch_for_shader from mathutils import Vector + +import bonsai.tool as tool from bonsai.bim.module.geometry.decorator import ItemDecorator diff --git a/src/bonsai/bonsai/bim/module/aggregate/operator.py b/src/bonsai/bonsai/bim/module/aggregate/operator.py index 32d06dd94e..e9f23afece 100644 --- a/src/bonsai/bonsai/bim/module/aggregate/operator.py +++ b/src/bonsai/bonsai/bim/module/aggregate/operator.py @@ -16,6 +16,8 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING + import bpy import ifcopenshell import ifcopenshell.api @@ -23,10 +25,10 @@ import ifcopenshell.api.group import ifcopenshell.api.pset import ifcopenshell.api.root import ifcopenshell.util.element -import bonsai.tool as tool + import bonsai.core.aggregate as core import bonsai.core.spatial -from typing import TYPE_CHECKING +import bonsai.tool as tool class BIM_OT_aggregate_assign_object(bpy.types.Operator, tool.Ifc.Operator): @@ -222,7 +224,7 @@ class BIM_OT_add_aggregate(bpy.types.Operator, tool.Ifc.Operator): tool.Collector, tool.Spatial, container=current_container, - element_obj=aggregate, + objs=[aggregate], ) core.assign_object(tool.Ifc, tool.Aggregate, tool.Collector, relating_obj=aggregate, related_obj=obj) diff --git a/src/bonsai/bonsai/bim/module/aggregate/prop.py b/src/bonsai/bonsai/bim/module/aggregate/prop.py index 03a3d0f533..241663882f 100644 --- a/src/bonsai/bonsai/bim/module/aggregate/prop.py +++ b/src/bonsai/bonsai/bim/module/aggregate/prop.py @@ -16,24 +16,29 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Union + import bpy import ifcopenshell.util.element -import bonsai.tool as tool -from bonsai.bim.prop import StrProperty, Attribute -from bonsai.bim.module.spatial.data import SpatialData -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from bonsai.bim.module.aggregate.decorator import AggregateDecorator, AggregateModeDecorator -from typing import TYPE_CHECKING, Union +from bpy.types import PropertyGroup + +import bonsai.tool as tool +from bonsai.bim.module.aggregate.decorator import ( + AggregateDecorator, + AggregateModeDecorator, +) +from bonsai.bim.module.spatial.data import SpatialData +from bonsai.bim.prop import Attribute, StrProperty def can_aggregate(relating_obj: bpy.types.Object, related_obj: bpy.types.Object) -> bool: diff --git a/src/bonsai/bonsai/bim/module/aggregate/ui.py b/src/bonsai/bonsai/bim/module/aggregate/ui.py index e9c596f9ac..d693843401 100644 --- a/src/bonsai/bonsai/bim/module/aggregate/ui.py +++ b/src/bonsai/bonsai/bim/module/aggregate/ui.py @@ -17,10 +17,11 @@ # along with Bonsai. If not, see . from bpy.types import Panel + +import bonsai.tool as tool +from bonsai.bim.ifc import IfcStore from bonsai.bim.module.aggregate.data import AggregateData from bonsai.bim.module.group.data import GroupsData, ObjectGroupsData -from bonsai.bim.ifc import IfcStore -import bonsai.tool as tool class BIM_PT_aggregate(Panel): diff --git a/src/bonsai/bonsai/bim/module/alignment/operator.py b/src/bonsai/bonsai/bim/module/alignment/operator.py index a6b6ea5d30..46b7bb1a14 100644 --- a/src/bonsai/bonsai/bim/module/alignment/operator.py +++ b/src/bonsai/bonsai/bim/module/alignment/operator.py @@ -18,6 +18,7 @@ # pyright: reportUnnecessaryTypeIgnoreComment=error + import bpy import math import time diff --git a/src/bonsai/bonsai/bim/module/attribute/__init__.py b/src/bonsai/bonsai/bim/module/attribute/__init__.py index 7348a2cffb..1e1402d6f5 100644 --- a/src/bonsai/bonsai/bim/module/attribute/__init__.py +++ b/src/bonsai/bonsai/bim/module/attribute/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.EnableEditingAttributes, diff --git a/src/bonsai/bonsai/bim/module/attribute/data.py b/src/bonsai/bonsai/bim/module/attribute/data.py index 8c5000a128..32f6f895ce 100644 --- a/src/bonsai/bonsai/bim/module/attribute/data.py +++ b/src/bonsai/bonsai/bim/module/attribute/data.py @@ -18,6 +18,7 @@ import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/bim/module/attribute/operator.py b/src/bonsai/bonsai/bim/module/attribute/operator.py index fb39efe91e..13901c0f81 100644 --- a/src/bonsai/bonsai/bim/module/attribute/operator.py +++ b/src/bonsai/bonsai/bim/module/attribute/operator.py @@ -16,22 +16,25 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import json +from typing import TYPE_CHECKING, Any, Literal, Union + +import bpy import ifcopenshell import ifcopenshell.api.attribute import ifcopenshell.guid import ifcopenshell.util.element + import bonsai.bim.helper -import bonsai.tool as tool import bonsai.core.attribute as core import bonsai.core.spatial -from typing import TYPE_CHECKING, Any, Union, Literal +import bonsai.tool as tool if TYPE_CHECKING: - from bonsai.bim.prop import Attribute import bpy.stub_internal.rna_enums as rna_enums + from bonsai.bim.prop import Attribute + def get_objs_for_operation( operator_properties: "AttributesOperator", context: bpy.types.Context diff --git a/src/bonsai/bonsai/bim/module/attribute/prop.py b/src/bonsai/bonsai/bim/module/attribute/prop.py index 97246cf7ce..98ffb00c5c 100644 --- a/src/bonsai/bonsai/bim/module/attribute/prop.py +++ b/src/bonsai/bonsai/bim/module/attribute/prop.py @@ -16,21 +16,23 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Union + import bpy -import bonsai.tool as tool -from bonsai.bim.prop import StrProperty, Attribute -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING, Union +from bpy.types import PropertyGroup + +import bonsai.tool as tool +from bonsai.bim.prop import Attribute, StrProperty class BIMAttributeProperties(PropertyGroup): diff --git a/src/bonsai/bonsai/bim/module/attribute/ui.py b/src/bonsai/bonsai/bim/module/attribute/ui.py index 0665c84dd5..84813e8d1e 100644 --- a/src/bonsai/bonsai/bim/module/attribute/ui.py +++ b/src/bonsai/bonsai/bim/module/attribute/ui.py @@ -17,12 +17,15 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bonsai.bim.helper + +from typing import TYPE_CHECKING + import bpy.types from bpy.types import Panel -from bonsai.bim.module.attribute.data import AttributesData + +import bonsai.bim.helper import bonsai.tool as tool -from typing import TYPE_CHECKING +from bonsai.bim.module.attribute.data import AttributesData if TYPE_CHECKING: from bonsai.bim.module.attribute.prop import BIMExplorerProperties, ExplorerEntity diff --git a/src/bonsai/bonsai/bim/module/augin/__init__.py b/src/bonsai/bonsai/bim/module/augin/__init__.py index 8b8009c4e6..bff5e9449d 100644 --- a/src/bonsai/bonsai/bim/module/augin/__init__.py +++ b/src/bonsai/bonsai/bim/module/augin/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( prop.AuginProperties, diff --git a/src/bonsai/bonsai/bim/module/augin/operator.py b/src/bonsai/bonsai/bim/module/augin/operator.py index b578beb554..10d802569a 100644 --- a/src/bonsai/bonsai/bim/module/augin/operator.py +++ b/src/bonsai/bonsai/bim/module/augin/operator.py @@ -16,14 +16,16 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +import datetime import os -import bpy -import string import random import shutil -import requests +import string import tempfile -import datetime + +import bpy +import requests + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/bim/module/augin/ui.py b/src/bonsai/bonsai/bim/module/augin/ui.py index 65ca3ac7f9..dfd6e49730 100644 --- a/src/bonsai/bonsai/bim/module/augin/ui.py +++ b/src/bonsai/bonsai/bim/module/augin/ui.py @@ -17,6 +17,7 @@ # along with Bonsai. If not, see . import bpy.types + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/bim/module/bcf/__init__.py b/src/bonsai/bonsai/bim/module/bcf/__init__.py index e7153974f4..000f343727 100644 --- a/src/bonsai/bonsai/bim/module/bcf/__init__.py +++ b/src/bonsai/bonsai/bim/module/bcf/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.ActivateBcfViewpoint, diff --git a/src/bonsai/bonsai/bim/module/bcf/bcfstore.py b/src/bonsai/bonsai/bim/module/bcf/bcfstore.py index 13be3faf1d..a1fec8aa6e 100644 --- a/src/bonsai/bonsai/bim/module/bcf/bcfstore.py +++ b/src/bonsai/bonsai/bim/module/bcf/bcfstore.py @@ -17,12 +17,14 @@ # along with Bonsai. If not, see . import os -import bpy +from typing import Union + import bcf import bcf.bcfxml import bcf.v2.bcfxml +import bpy + import bonsai.tool as tool -from typing import Union class BcfStore: diff --git a/src/bonsai/bonsai/bim/module/bcf/operator.py b/src/bonsai/bonsai/bim/module/bcf/operator.py index 1c6137e93b..b0a6f1f699 100644 --- a/src/bonsai/bonsai/bim/module/bcf/operator.py +++ b/src/bonsai/bonsai/bim/module/bcf/operator.py @@ -17,6 +17,20 @@ # along with Bonsai. If not, see . import os +import tempfile +import uuid +import webbrowser +from math import atan, cos, degrees, radians, sin, tan +from pathlib import Path + +import bcf +import bcf.agnostic.topic +import bcf.agnostic.visinfo +import bcf.bcfxml +import bcf.v2.bcfxml +import bcf.v2.model +import bcf.v2.topic +import bcf.v2.visinfo import bcf.v3 import bcf.v3.bcfxml import bcf.v3.document @@ -24,30 +38,18 @@ import bcf.v3.model import bcf.v3.topic import bcf.v3.visinfo import bpy -import bcf -import bcf.bcfxml -import bcf.v2.bcfxml -import bcf.v2.model -import bcf.v2.topic -import bcf.v2.visinfo -import bcf.agnostic.topic -import bcf.agnostic.visinfo -import uuid -import numpy as np -import tempfile -import webbrowser import ifcopenshell import ifcopenshell.util.geolocation import ifcopenshell.util.unit -import bonsai.tool as tool -import bonsai.bim.module.bcf.prop as bcf_prop -import bonsai.bim.module.bcf.bcfstore as bcfstore -from bpy_extras.io_utils import ImportHelper, ExportHelper -from pathlib import Path -from math import radians, degrees, atan, tan, cos, sin -from mathutils import Vector, Matrix, Euler, geometry +import numpy as np +from bpy_extras.io_utils import ExportHelper, ImportHelper +from mathutils import Euler, Matrix, Vector, geometry from xsdata.models.datatype import XmlDateTime +import bonsai.bim.module.bcf.bcfstore as bcfstore +import bonsai.bim.module.bcf.prop as bcf_prop +import bonsai.tool as tool + class NewBcfProject(bpy.types.Operator): bl_idname = "bim.new_bcf_project" diff --git a/src/bonsai/bonsai/bim/module/bcf/prop.py b/src/bonsai/bonsai/bim/module/bcf/prop.py index 6a01115821..b720a2ff74 100644 --- a/src/bonsai/bonsai/bim/module/bcf/prop.py +++ b/src/bonsai/bonsai/bim/module/bcf/prop.py @@ -16,24 +16,26 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -import bonsai.tool as tool -from . import bcfstore -from bonsai.bim.prop import StrProperty -from bpy.types import PropertyGroup -from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, - BoolProperty, - IntProperty, - FloatProperty, - FloatVectorProperty, - CollectionProperty, -) -from bcf.agnostic.extensions import get_extensions_attributes from typing import TYPE_CHECKING, Union +import bpy +from bcf.agnostic.extensions import get_extensions_attributes +from bpy.props import ( + BoolProperty, + CollectionProperty, + EnumProperty, + FloatProperty, + FloatVectorProperty, + IntProperty, + PointerProperty, + StringProperty, +) +from bpy.types import PropertyGroup + +import bonsai.tool as tool +from bonsai.bim.prop import StrProperty + +from . import bcfstore bcfviewpoints_enum = None diff --git a/src/bonsai/bonsai/bim/module/bcf/ui.py b/src/bonsai/bonsai/bim/module/bcf/ui.py index d0d25ecd10..e3478f63cf 100644 --- a/src/bonsai/bonsai/bim/module/bcf/ui.py +++ b/src/bonsai/bonsai/bim/module/bcf/ui.py @@ -17,15 +17,19 @@ # along with Bonsai. If not, see . from __future__ import annotations + import os -import bpy -import bonsai.tool as tool -from . import bcfstore -from bpy.types import Panel from typing import TYPE_CHECKING +import bpy +from bpy.types import Panel + +import bonsai.tool as tool + +from . import bcfstore + if TYPE_CHECKING: - from bonsai.bim.module.bcf.prop import BcfTopic, BCFProperties + from bonsai.bim.module.bcf.prop import BCFProperties, BcfTopic class BIM_PT_bcf(Panel): diff --git a/src/bonsai/bonsai/bim/module/boundary/__init__.py b/src/bonsai/bonsai/bim/module/boundary/__init__.py index cf2f78a7da..fe11440adc 100644 --- a/src/bonsai/bonsai/bim/module/boundary/__init__.py +++ b/src/bonsai/bonsai/bim/module/boundary/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, operator, prop + +from . import operator, prop, ui classes = ( operator.AddBoundary, diff --git a/src/bonsai/bonsai/bim/module/boundary/data.py b/src/bonsai/bonsai/bim/module/boundary/data.py index e7f82caf4c..58ccadc713 100644 --- a/src/bonsai/bonsai/bim/module/boundary/data.py +++ b/src/bonsai/bonsai/bim/module/boundary/data.py @@ -17,6 +17,7 @@ # along with Bonsai. If not, see . import bpy + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/bim/module/boundary/decorator.py b/src/bonsai/bonsai/bim/module/boundary/decorator.py index c7875c94bf..1f5859824e 100644 --- a/src/bonsai/bonsai/bim/module/boundary/decorator.py +++ b/src/bonsai/bonsai/bim/module/boundary/decorator.py @@ -16,12 +16,13 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import gpu import bmesh -import bonsai.tool as tool +import gpu from bpy.types import SpaceView3D -from mathutils import Vector from gpu_extras.batch import batch_for_shader +from mathutils import Vector + +import bonsai.tool as tool class BoundaryDecorator: diff --git a/src/bonsai/bonsai/bim/module/boundary/operator.py b/src/bonsai/bonsai/bim/module/boundary/operator.py index 89b4bf6e72..4b26a0a4d9 100644 --- a/src/bonsai/bonsai/bim/module/boundary/operator.py +++ b/src/bonsai/bonsai/bim/module/boundary/operator.py @@ -16,34 +16,36 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -import bmesh import logging -import shapely -import shapely.ops -import mathutils -import numpy as np import multiprocessing +from math import acos, degrees, inf, pi, radians +from typing import Optional, Union + +import bmesh +import bpy import ifcopenshell.api import ifcopenshell.api.boundary import ifcopenshell.api.root import ifcopenshell.geom -import ifcopenshell.util.unit -import ifcopenshell.util.shape import ifcopenshell.util.element import ifcopenshell.util.placement import ifcopenshell.util.representation -import bonsai.tool as tool -import bonsai.bim.import_ifc as import_ifc -from math import pi, inf, degrees, acos, radians -from mathutils import Vector, Matrix -from bonsai.bim.ifc import IfcStore -from bonsai.bim.module.model.decorator import ProfileDecorator -from bonsai.bim.module.boundary.decorator import BoundaryDecorator +import ifcopenshell.util.shape +import ifcopenshell.util.unit +import mathutils +import numpy as np +import shapely +import shapely.ops from ifcopenshell.util.shape_builder import ShapeBuilder +from mathutils import Matrix, Vector + +import bonsai.bim.import_ifc as import_ifc import bonsai.core import bonsai.core.geometry -from typing import Union, Optional +import bonsai.tool as tool +from bonsai.bim.ifc import IfcStore +from bonsai.bim.module.boundary.decorator import BoundaryDecorator +from bonsai.bim.module.model.decorator import ProfileDecorator def disable_editing_boundary_geometry(context): diff --git a/src/bonsai/bonsai/bim/module/boundary/prop.py b/src/bonsai/bonsai/bim/module/boundary/prop.py index dc76de0e00..cd7e0b9de3 100644 --- a/src/bonsai/bonsai/bim/module/boundary/prop.py +++ b/src/bonsai/bonsai/bim/module/boundary/prop.py @@ -16,21 +16,23 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Union + import bpy -from bpy.types import PropertyGroup -from bonsai.bim.prop import ObjProperty from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) +from bpy.types import PropertyGroup + import bonsai.tool as tool -from typing import TYPE_CHECKING, Union +from bonsai.bim.prop import ObjProperty def space_filter(self: "BIMObjectBoundaryProperties", object: bpy.types.Object) -> bool: diff --git a/src/bonsai/bonsai/bim/module/boundary/ui.py b/src/bonsai/bonsai/bim/module/boundary/ui.py index ba7592b34c..54694d752c 100644 --- a/src/bonsai/bonsai/bim/module/boundary/ui.py +++ b/src/bonsai/bonsai/bim/module/boundary/ui.py @@ -18,6 +18,7 @@ import bpy from bpy.types import Panel, UIList + import bonsai.tool as tool from bonsai.bim.module.boundary.data import SpaceBoundariesData diff --git a/src/bonsai/bonsai/bim/module/brick/__init__.py b/src/bonsai/bonsai/bim/module/brick/__init__.py index 6f5077f767..64d1bd3156 100644 --- a/src/bonsai/bonsai/bim/module/brick/__init__.py +++ b/src/bonsai/bonsai/bim/module/brick/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddBrick, diff --git a/src/bonsai/bonsai/bim/module/brick/data.py b/src/bonsai/bonsai/bim/module/brick/data.py index b7ac6f61e1..bae294d713 100644 --- a/src/bonsai/bonsai/bim/module/brick/data.py +++ b/src/bonsai/bonsai/bim/module/brick/data.py @@ -17,11 +17,12 @@ # along with Bonsai. If not, see . import bpy + import bonsai.tool as tool from bonsai.tool.brick import BrickStore try: - from rdflib import URIRef, BNode + from rdflib import BNode, URIRef except: # See #1860 print("Warning: brickschema not available.") diff --git a/src/bonsai/bonsai/bim/module/brick/operator.py b/src/bonsai/bonsai/bim/module/brick/operator.py index 94a9f9fe54..cb0a5f675f 100644 --- a/src/bonsai/bonsai/bim/module/brick/operator.py +++ b/src/bonsai/bonsai/bim/module/brick/operator.py @@ -17,12 +17,14 @@ # along with Bonsai. If not, see . import os + import bpy import ifcopenshell.api -import bonsai.tool as tool -import bonsai.core.brick as core +from bpy_extras.io_utils import ExportHelper, ImportHelper + import bonsai.bim.handler -from bpy_extras.io_utils import ImportHelper, ExportHelper +import bonsai.core.brick as core +import bonsai.tool as tool from bonsai.bim.ifc import IfcStore from bonsai.tool.brick import BrickStore diff --git a/src/bonsai/bonsai/bim/module/brick/prop.py b/src/bonsai/bonsai/bim/module/brick/prop.py index 4b738a0c77..9fe6d78407 100644 --- a/src/bonsai/bonsai/bim/module/brick/prop.py +++ b/src/bonsai/bonsai/bim/module/brick/prop.py @@ -16,24 +16,26 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING + import bpy -from bonsai.bim.module.brick.data import BrickschemaData, BrickschemaReferencesData -from bonsai.bim.prop import StrProperty, Attribute -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) +from bpy.types import PropertyGroup + import bonsai.core.brick as core import bonsai.tool.brick as tool +from bonsai.bim.module.brick.data import BrickschemaData, BrickschemaReferencesData +from bonsai.bim.prop import Attribute, StrProperty from bonsai.tool.brick import BrickStore -from typing import TYPE_CHECKING def update_active_brick_index(self, context): diff --git a/src/bonsai/bonsai/bim/module/brick/ui.py b/src/bonsai/bonsai/bim/module/brick/ui.py index a845b12e8e..aa910c272f 100644 --- a/src/bonsai/bonsai/bim/module/brick/ui.py +++ b/src/bonsai/bonsai/bim/module/brick/ui.py @@ -16,8 +16,9 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bonsai.tool as tool from bpy.types import Panel, UIList + +import bonsai.tool as tool from bonsai.bim.helper import prop_with_search from bonsai.bim.module.brick.data import BrickschemaData, BrickschemaReferencesData from bonsai.tool.brick import BrickStore diff --git a/src/bonsai/bonsai/bim/module/bsdd/__init__.py b/src/bonsai/bonsai/bim/module/bsdd/__init__.py index 607e2754c2..25d6f501f0 100644 --- a/src/bonsai/bonsai/bim/module/bsdd/__init__.py +++ b/src/bonsai/bonsai/bim/module/bsdd/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddBSDDProperties, diff --git a/src/bonsai/bonsai/bim/module/bsdd/data.py b/src/bonsai/bonsai/bim/module/bsdd/data.py index 7905ca75c1..6e916d3355 100644 --- a/src/bonsai/bonsai/bim/module/bsdd/data.py +++ b/src/bonsai/bonsai/bim/module/bsdd/data.py @@ -18,8 +18,9 @@ import bpy import ifcopenshell -import ifcopenshell.util.date import ifcopenshell.util.classification +import ifcopenshell.util.date + import bonsai.tool as tool from bonsai.bim.ifc import IfcStore diff --git a/src/bonsai/bonsai/bim/module/bsdd/operator.py b/src/bonsai/bonsai/bim/module/bsdd/operator.py index 3a6d46d1fa..d3f5533c1a 100644 --- a/src/bonsai/bonsai/bim/module/bsdd/operator.py +++ b/src/bonsai/bonsai/bim/module/bsdd/operator.py @@ -16,13 +16,15 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . import textwrap +from typing import Any + import bpy import bsdd -import bonsai.tool as tool import ifcopenshell.api.pset import ifcopenshell.util.element + +import bonsai.tool as tool from bonsai.core import bsdd as core -from typing import Any class LoadBSDDDictionaries(bpy.types.Operator): diff --git a/src/bonsai/bonsai/bim/module/bsdd/prop.py b/src/bonsai/bonsai/bim/module/bsdd/prop.py index 3b427ba626..efd8db46db 100644 --- a/src/bonsai/bonsai/bim/module/bsdd/prop.py +++ b/src/bonsai/bonsai/bim/module/bsdd/prop.py @@ -16,23 +16,25 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Literal, Union + import bpy -import bonsai.tool as tool +from bpy.props import ( + BoolProperty, + CollectionProperty, + EnumProperty, + FloatProperty, + FloatVectorProperty, + IntProperty, + PointerProperty, + StringProperty, +) from bpy.types import PropertyGroup + +import bonsai.tool as tool from bonsai.bim.module.bsdd.data import BSDDData from bonsai.bim.module.classification.data import ClassificationsData from bonsai.bim.prop import Attribute, StrProperty -from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, - BoolProperty, - IntProperty, - FloatProperty, - FloatVectorProperty, - CollectionProperty, -) -from typing import Union, TYPE_CHECKING, Literal def get_active_dictionary(self: "BIMBSDDProperties", context: object) -> tool.Blender.BLENDER_ENUM_ITEMS: @@ -161,7 +163,7 @@ class BIMBSDDProperties(PropertyGroup): default=False, ) classification_psets: CollectionProperty(name="Classification Psets", type=BSDDPset) - + if TYPE_CHECKING: active_dictionary: str active_dictionary: str @@ -180,7 +182,7 @@ class BIMBSDDProperties(PropertyGroup): should_filter_ifc_class: bool use_only_ifc_properties: bool classification_psets: bpy.types.bpy_prop_collection_idprop[BSDDPset] - + @property def active_class(self) -> Union[BSDDClassification, None]: return tool.Blender.get_active_uilist_element(self.classes, self.active_class_index) diff --git a/src/bonsai/bonsai/bim/module/bsdd/ui.py b/src/bonsai/bonsai/bim/module/bsdd/ui.py index 39b2f9140e..f239eb41cf 100644 --- a/src/bonsai/bonsai/bim/module/bsdd/ui.py +++ b/src/bonsai/bonsai/bim/module/bsdd/ui.py @@ -17,14 +17,23 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy -import bonsai.tool as tool -from bonsai.bim.module.bsdd.data import BSDDData -from bpy.types import Panel, UIList + from typing import TYPE_CHECKING +import bpy +from bpy.types import Panel, UIList + +import bonsai.tool as tool +import bsdd +from bonsai.bim.module.bsdd.data import BSDDData + if TYPE_CHECKING: - from bonsai.bim.module.bsdd.prop import BIMBSDDProperties, BSDDDictionary, BSDDClassification, BSDDProperty + from bonsai.bim.module.bsdd.prop import ( + BIMBSDDProperties, + BSDDClassification, + BSDDDictionary, + BSDDProperty, + ) class BIM_PT_bsdd(Panel): @@ -75,7 +84,6 @@ class BIM_PT_bsdd(Panel): row = self.layout.row() row.operator("bim.load_bsdd_dictionaries") - class BIM_UL_bsdd_dictionaries(UIList): def draw_item( self, diff --git a/src/bonsai/bonsai/bim/module/cad/__init__.py b/src/bonsai/bonsai/bim/module/cad/__init__.py index 601c4da1c3..6ddca2dd96 100644 --- a/src/bonsai/bonsai/bim/module/cad/__init__.py +++ b/src/bonsai/bonsai/bim/module/cad/__init__.py @@ -17,6 +17,7 @@ # along with Bonsai. If not, see . import bpy + from . import operator, prop, workspace classes = ( diff --git a/src/bonsai/bonsai/bim/module/cad/operator.py b/src/bonsai/bonsai/bim/module/cad/operator.py index 06f026a577..857d757ca1 100644 --- a/src/bonsai/bonsai/bim/module/cad/operator.py +++ b/src/bonsai/bonsai/bim/module/cad/operator.py @@ -16,17 +16,18 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import math -import bmesh -import mathutils -import bpy_extras -import bonsai.tool as tool -from mathutils import Vector, Matrix -from math import pi, radians, sin, cos, sqrt -import ifcopenshell.util.unit +from math import cos, pi, radians, sin, sqrt from typing import Union +import bmesh +import bpy +import bpy_extras +import ifcopenshell.util.unit +import mathutils +from mathutils import Matrix, Vector + +import bonsai.tool as tool messages = { "SHARED_VERTEX": "Shared Vertex, no intersection possible", diff --git a/src/bonsai/bonsai/bim/module/cad/prop.py b/src/bonsai/bonsai/bim/module/cad/prop.py index 7247408f00..db737b51dc 100644 --- a/src/bonsai/bonsai/bim/module/cad/prop.py +++ b/src/bonsai/bonsai/bim/module/cad/prop.py @@ -16,12 +16,14 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -from bonsai.bim.module.model.data import AuthoringData -from bpy.types import PropertyGroup from math import pi from typing import TYPE_CHECKING +import bpy +from bpy.types import PropertyGroup + +from bonsai.bim.module.model.data import AuthoringData + class BIMCadProperties(PropertyGroup): resolution: bpy.props.IntProperty(name="Arc Resolution", min=1, default=1) diff --git a/src/bonsai/bonsai/bim/module/cad/workspace.py b/src/bonsai/bonsai/bim/module/cad/workspace.py index 017f493682..b384463ac2 100644 --- a/src/bonsai/bonsai/bim/module/cad/workspace.py +++ b/src/bonsai/bonsai/bim/module/cad/workspace.py @@ -17,13 +17,15 @@ # along with Bonsai. If not, see . import os +from functools import partial + import bpy -import bonsai.tool as tool -import bonsai.bim.module.type.prop as type_prop import ifcopenshell.util.unit from bpy.types import WorkSpaceTool + +import bonsai.bim.module.type.prop as type_prop +import bonsai.tool as tool from bonsai.bim.module.model.data import AuthoringData, RailingData, RoofData -from functools import partial def load_custom_icons(): diff --git a/src/bonsai/bonsai/bim/module/clash/__init__.py b/src/bonsai/bonsai/bim/module/clash/__init__.py index a3ada1bc72..6bfabacfab 100644 --- a/src/bonsai/bonsai/bim/module/clash/__init__.py +++ b/src/bonsai/bonsai/bim/module/clash/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddClashSet, diff --git a/src/bonsai/bonsai/bim/module/clash/data.py b/src/bonsai/bonsai/bim/module/clash/data.py index b994a1b750..4ecbb229a4 100644 --- a/src/bonsai/bonsai/bim/module/clash/data.py +++ b/src/bonsai/bonsai/bim/module/clash/data.py @@ -16,9 +16,11 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import json + +import bpy import ifcopenshell.util.element + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/bim/module/clash/decorator.py b/src/bonsai/bonsai/bim/module/clash/decorator.py index 91ecc1fc16..d1d0daf095 100644 --- a/src/bonsai/bonsai/bim/module/clash/decorator.py +++ b/src/bonsai/bonsai/bim/module/clash/decorator.py @@ -17,13 +17,14 @@ # along with Bonsai. If not, see . import blf -import gpu import bmesh -import bonsai.tool as tool +import gpu from bpy.types import SpaceView3D -from mathutils import Vector -from gpu_extras.batch import batch_for_shader from bpy_extras.view3d_utils import location_3d_to_region_2d +from gpu_extras.batch import batch_for_shader +from mathutils import Vector + +import bonsai.tool as tool class ClashDecorator: diff --git a/src/bonsai/bonsai/bim/module/clash/operator.py b/src/bonsai/bonsai/bim/module/clash/operator.py index 3463b8fc10..688568270f 100644 --- a/src/bonsai/bonsai/bim/module/clash/operator.py +++ b/src/bonsai/bonsai/bim/module/clash/operator.py @@ -16,22 +16,24 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import os -import bpy import json -import tempfile -import bmesh import logging -import numpy as np -import ifcopenshell -import bonsai.tool as tool -from pathlib import Path -from bpy_extras.io_utils import ExportHelper, ImportHelper +import os +import tempfile from math import radians +from pathlib import Path +from typing import TYPE_CHECKING + +import bmesh +import bpy +import ifcopenshell +import numpy as np +from bpy_extras.io_utils import ExportHelper, ImportHelper from mathutils import Matrix, Vector + +import bonsai.tool as tool from bonsai.bim.ifc import IfcStore from bonsai.bim.module.clash.decorator import ClashDecorator -from typing import TYPE_CHECKING class ExportClashSets(bpy.types.Operator, ExportHelper): diff --git a/src/bonsai/bonsai/bim/module/clash/prop.py b/src/bonsai/bonsai/bim/module/clash/prop.py index a7c6101b73..5f42a400e7 100644 --- a/src/bonsai/bonsai/bim/module/clash/prop.py +++ b/src/bonsai/bonsai/bim/module/clash/prop.py @@ -16,23 +16,25 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Literal, Union + import bpy -import bonsai.tool as tool -from bonsai.bim.prop import StrProperty, Attribute, BIMFilterGroup -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from ifcopenshell.geom.main import ClashType, CLASH_TYPE_ITEMS +from bpy.types import PropertyGroup +from ifcopenshell.geom.main import CLASH_TYPE_ITEMS, ClashType from mathutils import Vector -from typing import TYPE_CHECKING, Literal, Union + +import bonsai.tool as tool +from bonsai.bim.prop import Attribute, BIMFilterGroup, StrProperty class ClashSource(PropertyGroup): diff --git a/src/bonsai/bonsai/bim/module/clash/ui.py b/src/bonsai/bonsai/bim/module/clash/ui.py index 5e3711efe0..a6ef267d84 100644 --- a/src/bonsai/bonsai/bim/module/clash/ui.py +++ b/src/bonsai/bonsai/bim/module/clash/ui.py @@ -17,15 +17,23 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy -import bonsai.tool as tool -import bonsai.bim.helper -from bpy.types import Panel -from bonsai.bim.module.clash.data import ClashData + from typing import TYPE_CHECKING, assert_never +import bpy +from bpy.types import Panel + +import bonsai.bim.helper +import bonsai.tool as tool +from bonsai.bim.module.clash.data import ClashData + if TYPE_CHECKING: - from bonsai.bim.module.clash.prop import BIMClashProperties, ClashSet, SmartClashGroup, Clash + from bonsai.bim.module.clash.prop import ( + BIMClashProperties, + Clash, + ClashSet, + SmartClashGroup, + ) class BIM_PT_ifcclash(Panel): diff --git a/src/bonsai/bonsai/bim/module/classification/__init__.py b/src/bonsai/bonsai/bim/module/classification/__init__.py index 6d33b50ee6..155bbdd6ee 100644 --- a/src/bonsai/bonsai/bim/module/classification/__init__.py +++ b/src/bonsai/bonsai/bim/module/classification/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddClassification, diff --git a/src/bonsai/bonsai/bim/module/classification/data.py b/src/bonsai/bonsai/bim/module/classification/data.py index a1fa3a6d58..9685e8faa9 100644 --- a/src/bonsai/bonsai/bim/module/classification/data.py +++ b/src/bonsai/bonsai/bim/module/classification/data.py @@ -16,12 +16,14 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import Any, Literal, Union + import bpy import ifcopenshell -import ifcopenshell.util.date import ifcopenshell.util.classification +import ifcopenshell.util.date + import bonsai.tool as tool -from typing import Any, Literal, Union from bonsai.bim.ifc import IfcStore diff --git a/src/bonsai/bonsai/bim/module/classification/operator.py b/src/bonsai/bonsai/bim/module/classification/operator.py index a6fd0c6df5..7bf699cc31 100644 --- a/src/bonsai/bonsai/bim/module/classification/operator.py +++ b/src/bonsai/bonsai/bim/module/classification/operator.py @@ -19,13 +19,14 @@ import bpy import ifcopenshell import ifcopenshell.api -import ifcopenshell.api.pset import ifcopenshell.api.classification +import ifcopenshell.api.pset import ifcopenshell.util.classification import ifcopenshell.util.element -import bonsai.tool as tool -import bonsai.bim.helper from bpy_extras.io_utils import ImportHelper + +import bonsai.bim.helper +import bonsai.tool as tool from bonsai.bim.ifc import IfcStore diff --git a/src/bonsai/bonsai/bim/module/classification/prop.py b/src/bonsai/bonsai/bim/module/classification/prop.py index 4e2de0119d..454f861f07 100644 --- a/src/bonsai/bonsai/bim/module/classification/prop.py +++ b/src/bonsai/bonsai/bim/module/classification/prop.py @@ -16,22 +16,27 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING + import bpy -import bonsai.tool as tool -from bonsai.bim.prop import Attribute -from bonsai.bim.module.classification.data import ClassificationsData, ObjectClassificationsData -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING +from bpy.types import PropertyGroup + +import bonsai.tool as tool +from bonsai.bim.module.classification.data import ( + ClassificationsData, + ObjectClassificationsData, +) +from bonsai.bim.prop import Attribute def get_available_classifications( diff --git a/src/bonsai/bonsai/bim/module/classification/ui.py b/src/bonsai/bonsai/bim/module/classification/ui.py index 077f97553f..77310be49a 100644 --- a/src/bonsai/bonsai/bim/module/classification/ui.py +++ b/src/bonsai/bonsai/bim/module/classification/ui.py @@ -17,24 +17,29 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy -import bonsai.bim.helper -import bonsai.tool as tool -import bonsai.bim.module.classification.prop as classification_prop -import ifcopenshell.util.classification -from bpy.types import Panel, UIList -from bonsai.bim.module.classification.data import ( - ClassificationsData, - ObjectClassificationsData, - MaterialClassificationsData, - CostClassificationsData, - ZoneClassificationsData, -) from typing import TYPE_CHECKING, Any, Union +import bpy +import ifcopenshell.util.classification +from bpy.types import Panel, UIList + +import bonsai.bim.helper +import bonsai.bim.module.classification.prop as classification_prop +import bonsai.tool as tool +from bonsai.bim.module.classification.data import ( + ClassificationsData, + CostClassificationsData, + MaterialClassificationsData, + ObjectClassificationsData, + ZoneClassificationsData, +) + if TYPE_CHECKING: - from bonsai.bim.module.classification.prop import BIMClassificationProperties, ClassificationReference + from bonsai.bim.module.classification.prop import ( + BIMClassificationProperties, + ClassificationReference, + ) class BIM_PT_classifications(Panel): diff --git a/src/bonsai/bonsai/bim/module/constraint/__init__.py b/src/bonsai/bonsai/bim/module/constraint/__init__.py index 54b5183023..858c1da130 100644 --- a/src/bonsai/bonsai/bim/module/constraint/__init__.py +++ b/src/bonsai/bonsai/bim/module/constraint/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.LoadObjectives, diff --git a/src/bonsai/bonsai/bim/module/constraint/data.py b/src/bonsai/bonsai/bim/module/constraint/data.py index 8a92de2c71..d44a7d2a55 100644 --- a/src/bonsai/bonsai/bim/module/constraint/data.py +++ b/src/bonsai/bonsai/bim/module/constraint/data.py @@ -17,9 +17,10 @@ # along with Bonsai. If not, see . import bpy -import bonsai.tool as tool from ifcopenshell.util.doc import get_entity_doc +import bonsai.tool as tool + def refresh(): ConstraintsData.is_loaded = False diff --git a/src/bonsai/bonsai/bim/module/constraint/operator.py b/src/bonsai/bonsai/bim/module/constraint/operator.py index 4297642c3b..976f4ff6a3 100644 --- a/src/bonsai/bonsai/bim/module/constraint/operator.py +++ b/src/bonsai/bonsai/bim/module/constraint/operator.py @@ -16,12 +16,14 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING + import bpy import ifcopenshell.api import ifcopenshell.api.constraint + import bonsai.bim.helper import bonsai.tool as tool -from typing import TYPE_CHECKING def get_active_object(context: bpy.types.Context, obj_name: str) -> bpy.types.Object: diff --git a/src/bonsai/bonsai/bim/module/constraint/prop.py b/src/bonsai/bonsai/bim/module/constraint/prop.py index ec66f78211..c76d48e8a6 100644 --- a/src/bonsai/bonsai/bim/module/constraint/prop.py +++ b/src/bonsai/bonsai/bim/module/constraint/prop.py @@ -16,23 +16,25 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Literal + import bpy -from ifcopenshell.util.doc import get_entity_doc -import bonsai.tool as tool -from bonsai.bim.prop import Attribute -from bonsai.bim.module.constraint.data import ConstraintsData -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING, Literal +from bpy.types import PropertyGroup +from ifcopenshell.util.doc import get_entity_doc + +import bonsai.tool as tool +from bonsai.bim.module.constraint.data import ConstraintsData +from bonsai.bim.prop import Attribute def get_available_constraint_types(self, context): diff --git a/src/bonsai/bonsai/bim/module/constraint/ui.py b/src/bonsai/bonsai/bim/module/constraint/ui.py index 61b335d782..5ab3d7c93c 100644 --- a/src/bonsai/bonsai/bim/module/constraint/ui.py +++ b/src/bonsai/bonsai/bim/module/constraint/ui.py @@ -17,14 +17,21 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bonsai.tool as tool -from bpy.types import Panel, UIList -from bonsai.bim.helper import draw_attributes -from bonsai.bim.module.constraint.data import ConstraintsData, ObjectConstraintsData + from typing import TYPE_CHECKING +from bpy.types import Panel, UIList + +import bonsai.tool as tool +from bonsai.bim.helper import draw_attributes +from bonsai.bim.module.constraint.data import ConstraintsData, ObjectConstraintsData + if TYPE_CHECKING: - from bonsai.bim.module.constraint.prop import BIMConstraintProperties, BIMObjectConstraintProperties, Constraint + from bonsai.bim.module.constraint.prop import ( + BIMConstraintProperties, + BIMObjectConstraintProperties, + Constraint, + ) class BIM_PT_constraints(Panel): diff --git a/src/bonsai/bonsai/bim/module/context/__init__.py b/src/bonsai/bonsai/bim/module/context/__init__.py index 65665ae290..da24e53f55 100644 --- a/src/bonsai/bonsai/bim/module/context/__init__.py +++ b/src/bonsai/bonsai/bim/module/context/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddContext, diff --git a/src/bonsai/bonsai/bim/module/context/data.py b/src/bonsai/bonsai/bim/module/context/data.py index c0b2143801..ade8061a4b 100644 --- a/src/bonsai/bonsai/bim/module/context/data.py +++ b/src/bonsai/bonsai/bim/module/context/data.py @@ -16,11 +16,13 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -import bonsai.tool as tool -import ifcopenshell from typing import Any +import bpy +import ifcopenshell + +import bonsai.tool as tool + def refresh(): ContextData.is_loaded = False diff --git a/src/bonsai/bonsai/bim/module/context/operator.py b/src/bonsai/bonsai/bim/module/context/operator.py index fbf1f17963..88483dfc0c 100644 --- a/src/bonsai/bonsai/bim/module/context/operator.py +++ b/src/bonsai/bonsai/bim/module/context/operator.py @@ -17,8 +17,9 @@ # along with Bonsai. If not, see . import bpy -import bonsai.tool as tool + import bonsai.core.context as core +import bonsai.tool as tool class AddContext(bpy.types.Operator, tool.Ifc.Operator): diff --git a/src/bonsai/bonsai/bim/module/context/prop.py b/src/bonsai/bonsai/bim/module/context/prop.py index 3a6f3c226f..ff73c53a5a 100644 --- a/src/bonsai/bonsai/bim/module/context/prop.py +++ b/src/bonsai/bonsai/bim/module/context/prop.py @@ -16,21 +16,23 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING + import bpy -from bonsai.bim.prop import StrProperty, Attribute -from bonsai.bim.module.context.data import ContextData -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING +from bpy.types import PropertyGroup + +from bonsai.bim.module.context.data import ContextData +from bonsai.bim.prop import Attribute, StrProperty class BIMContextProperties(PropertyGroup): diff --git a/src/bonsai/bonsai/bim/module/context/ui.py b/src/bonsai/bonsai/bim/module/context/ui.py index e8d0d337b4..3090da38fc 100644 --- a/src/bonsai/bonsai/bim/module/context/ui.py +++ b/src/bonsai/bonsai/bim/module/context/ui.py @@ -17,6 +17,7 @@ # along with Bonsai. If not, see . import bpy + import bonsai.bim.helper import bonsai.tool as tool from bonsai.bim.module.context.data import ContextData diff --git a/src/bonsai/bonsai/bim/module/cost/__init__.py b/src/bonsai/bonsai/bim/module/cost/__init__.py index 6f42a71bf9..9378a68ee1 100644 --- a/src/bonsai/bonsai/bim/module/cost/__init__.py +++ b/src/bonsai/bonsai/bim/module/cost/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddCostColumn, diff --git a/src/bonsai/bonsai/bim/module/cost/data.py b/src/bonsai/bonsai/bim/module/cost/data.py index 4b5198bb03..aab9ea9231 100644 --- a/src/bonsai/bonsai/bim/module/cost/data.py +++ b/src/bonsai/bonsai/bim/module/cost/data.py @@ -16,15 +16,17 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import Any, Union + import bpy import ifcopenshell import ifcopenshell.util.cost import ifcopenshell.util.date import ifcopenshell.util.element import ifcopenshell.util.unit -import bonsai.tool as tool from ifcopenshell.util.doc import get_entity_doc, get_predefined_type_doc -from typing import Any, Union + +import bonsai.tool as tool def refresh(): diff --git a/src/bonsai/bonsai/bim/module/cost/operator.py b/src/bonsai/bonsai/bim/module/cost/operator.py index 644871488c..48b672a2c2 100644 --- a/src/bonsai/bonsai/bim/module/cost/operator.py +++ b/src/bonsai/bonsai/bim/module/cost/operator.py @@ -18,16 +18,16 @@ # pyright: reportUnnecessaryTypeIgnoreComment=error -import bpy import textwrap -import ifcopenshell.api.nest -import bonsai.tool as tool -from bpy_extras.io_utils import ImportHelper, ExportHelper -import bonsai.tool as tool -import bonsai.core.cost as core from pathlib import Path +from typing import TYPE_CHECKING, Literal, get_args -from typing import get_args, TYPE_CHECKING, Literal +import bpy +import ifcopenshell.api.nest +from bpy_extras.io_utils import ExportHelper, ImportHelper + +import bonsai.core.cost as core +import bonsai.tool as tool class AddCostSchedule(bpy.types.Operator, tool.Ifc.Operator): diff --git a/src/bonsai/bonsai/bim/module/cost/prop.py b/src/bonsai/bonsai/bim/module/cost/prop.py index 3ce30e665e..121ca617e7 100644 --- a/src/bonsai/bonsai/bim/module/cost/prop.py +++ b/src/bonsai/bonsai/bim/module/cost/prop.py @@ -16,25 +16,31 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Literal, Union + import bpy import ifcopenshell.api import ifcopenshell.api.cost -import bonsai.tool as tool -from bonsai.bim.module.classification.data import CostClassificationsData -from bonsai.bim.module.cost.data import CostSchedulesData, CostItemRatesData, CostItemQuantitiesData -from bonsai.bim.prop import StrProperty, Attribute -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING, Literal, Union +from bpy.types import PropertyGroup + +import bonsai.tool as tool +from bonsai.bim.module.classification.data import CostClassificationsData +from bonsai.bim.module.cost.data import ( + CostItemQuantitiesData, + CostItemRatesData, + CostSchedulesData, +) +from bonsai.bim.prop import Attribute, StrProperty def get_schedule_of_rates(self: "BIMCostProperties", context: bpy.types.Context) -> tool.Blender.BLENDER_ENUM_ITEMS: diff --git a/src/bonsai/bonsai/bim/module/cost/ui.py b/src/bonsai/bonsai/bim/module/cost/ui.py index e8eb58a855..73a578171f 100644 --- a/src/bonsai/bonsai/bim/module/cost/ui.py +++ b/src/bonsai/bonsai/bim/module/cost/ui.py @@ -17,13 +17,16 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING, Any + import bpy +from bpy.types import Panel, UIList + import bonsai.bim.helper import bonsai.bim.module.cost.prop as CostProp import bonsai.tool as tool -from bpy.types import Panel, UIList from bonsai.bim.module.cost.data import CostSchedulesData -from typing import Any, TYPE_CHECKING if TYPE_CHECKING: from bonsai.bim.module.cost.prop import BIMCostProperties, CostItemQuantity diff --git a/src/bonsai/bonsai/bim/module/covering/__init__.py b/src/bonsai/bonsai/bim/module/covering/__init__.py index 5e00a6dfbe..3cec5084c4 100644 --- a/src/bonsai/bonsai/bim/module/covering/__init__.py +++ b/src/bonsai/bonsai/bim/module/covering/__init__.py @@ -17,6 +17,7 @@ # along with Bonsai. If not, see . import bpy + from . import prop, workspace classes = ( diff --git a/src/bonsai/bonsai/bim/module/covering/prop.py b/src/bonsai/bonsai/bim/module/covering/prop.py index 3dc65903aa..3655d50c9f 100644 --- a/src/bonsai/bonsai/bim/module/covering/prop.py +++ b/src/bonsai/bonsai/bim/module/covering/prop.py @@ -16,9 +16,10 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING + import bpy from bpy.types import PropertyGroup -from typing import TYPE_CHECKING class BIMCoveringProperties(PropertyGroup): diff --git a/src/bonsai/bonsai/bim/module/covering/workspace.py b/src/bonsai/bonsai/bim/module/covering/workspace.py index 3e44b0476d..68b2704166 100644 --- a/src/bonsai/bonsai/bim/module/covering/workspace.py +++ b/src/bonsai/bonsai/bim/module/covering/workspace.py @@ -18,13 +18,15 @@ import os +from functools import partial + import bpy import ifcopenshell +from bpy.types import WorkSpaceTool + import bonsai.tool as tool from bonsai.bim.helper import prop_with_search from bonsai.bim.module.model.data import AuthoringData -from bpy.types import WorkSpaceTool -from functools import partial class CoveringTool(WorkSpaceTool): diff --git a/src/bonsai/bonsai/bim/module/covetool/__init__.py b/src/bonsai/bonsai/bim/module/covetool/__init__.py index 6697f24301..beb75bb7af 100644 --- a/src/bonsai/bonsai/bim/module/covetool/__init__.py +++ b/src/bonsai/bonsai/bim/module/covetool/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( prop.CoveToolProject, diff --git a/src/bonsai/bonsai/bim/module/covetool/operator.py b/src/bonsai/bonsai/bim/module/covetool/operator.py index cccb164611..fa298ada9c 100644 --- a/src/bonsai/bonsai/bim/module/covetool/operator.py +++ b/src/bonsai/bonsai/bim/module/covetool/operator.py @@ -16,12 +16,14 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import json +from math import atan2, degrees + +import bpy import ifcopenshell import ifcopenshell.util.element + import bonsai.tool as tool -from math import degrees, atan2 from .api import Api diff --git a/src/bonsai/bonsai/bim/module/covetool/prop.py b/src/bonsai/bonsai/bim/module/covetool/prop.py index 06444de29f..42e59466d9 100644 --- a/src/bonsai/bonsai/bim/module/covetool/prop.py +++ b/src/bonsai/bonsai/bim/module/covetool/prop.py @@ -16,9 +16,10 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy from typing import TYPE_CHECKING +import bpy + class CoveToolProject(bpy.types.PropertyGroup): run_set: bpy.props.StringProperty(name="Run Set") diff --git a/src/bonsai/bonsai/bim/module/covetool/ui.py b/src/bonsai/bonsai/bim/module/covetool/ui.py index e26ac1338a..1a7015b139 100644 --- a/src/bonsai/bonsai/bim/module/covetool/ui.py +++ b/src/bonsai/bonsai/bim/module/covetool/ui.py @@ -17,12 +17,15 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy.types -import bonsai.tool as tool + from typing import TYPE_CHECKING +import bpy.types + +import bonsai.tool as tool + if TYPE_CHECKING: - from bonsai.bim.module.covetool.prop import CoveToolProperties, CoveToolProject + from bonsai.bim.module.covetool.prop import CoveToolProject, CoveToolProperties class BIM_PT_covetool(bpy.types.Panel): diff --git a/src/bonsai/bonsai/bim/module/csv/__init__.py b/src/bonsai/bonsai/bim/module/csv/__init__.py index 7a6b99906e..f544445b20 100644 --- a/src/bonsai/bonsai/bim/module/csv/__init__.py +++ b/src/bonsai/bonsai/bim/module/csv/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddCsvAttribute, diff --git a/src/bonsai/bonsai/bim/module/csv/operator.py b/src/bonsai/bonsai/bim/module/csv/operator.py index 34e20f6d9c..d42e8d3852 100644 --- a/src/bonsai/bonsai/bim/module/csv/operator.py +++ b/src/bonsai/bonsai/bim/module/csv/operator.py @@ -17,20 +17,23 @@ # along with Bonsai. If not, see . from __future__ import annotations -import os -import bpy + import json -import ifccsv import logging +import os import tempfile +from collections import Counter +from typing import TYPE_CHECKING + +import bpy +import ifccsv import ifcopenshell import ifcopenshell.util.selector -import bonsai.tool as tool -import bonsai.bim.module.drawing.scheduler as scheduler from bpy_extras.io_utils import ExportHelper, ImportHelper + +import bonsai.bim.module.drawing.scheduler as scheduler +import bonsai.tool as tool from bonsai.bim.handler import refresh_ui_data -from typing import TYPE_CHECKING -from collections import Counter if TYPE_CHECKING: import pandas as pd diff --git a/src/bonsai/bonsai/bim/module/csv/prop.py b/src/bonsai/bonsai/bim/module/csv/prop.py index 371776bef2..a698f89b76 100644 --- a/src/bonsai/bonsai/bim/module/csv/prop.py +++ b/src/bonsai/bonsai/bim/module/csv/prop.py @@ -16,20 +16,22 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Literal + import bpy -from bonsai.bim.prop import StrProperty, BIMFilterGroup -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING, Literal +from bpy.types import PropertyGroup + +from bonsai.bim.prop import BIMFilterGroup, StrProperty class CsvAttribute(PropertyGroup): diff --git a/src/bonsai/bonsai/bim/module/csv/ui.py b/src/bonsai/bonsai/bim/module/csv/ui.py index a407efc7d1..c40be1b037 100644 --- a/src/bonsai/bonsai/bim/module/csv/ui.py +++ b/src/bonsai/bonsai/bim/module/csv/ui.py @@ -16,9 +16,10 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from bpy.types import Panel + import bonsai.bim.helper import bonsai.tool as tool -from bpy.types import Panel from bonsai.bim.module.search.data import SearchData diff --git a/src/bonsai/bonsai/bim/module/debug/__init__.py b/src/bonsai/bonsai/bim/module/debug/__init__.py index c01cf03275..bd3ecac4f6 100644 --- a/src/bonsai/bonsai/bim/module/debug/__init__.py +++ b/src/bonsai/bonsai/bim/module/debug/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.ChangeLogLevel, diff --git a/src/bonsai/bonsai/bim/module/debug/operator.py b/src/bonsai/bonsai/bim/module/debug/operator.py index 0820d5e3d6..6e30a3cc0f 100644 --- a/src/bonsai/bonsai/bim/module/debug/operator.py +++ b/src/bonsai/bonsai/bim/module/debug/operator.py @@ -16,14 +16,18 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import os -import sys -import bpy -import time -import random import logging -import subprocess +import os import platform +import random +import subprocess +import sys +import time +from collections import defaultdict +from pathlib import Path +from typing import TYPE_CHECKING, Any, Literal, Union, assert_never, get_args + +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.pset @@ -32,18 +36,16 @@ import ifcopenshell.ifcopenshell_wrapper as W import ifcopenshell.util.element import ifcopenshell.util.placement import ifcopenshell.util.unit -import bonsai.tool as tool +from bpy_extras.io_utils import ExportHelper, ImportHelper + +import bonsai.bim.handler +import bonsai.bim.import_ifc as import_ifc import bonsai.core.debug as core import bonsai.core.profile import bonsai.core.type -import bonsai.bim.handler -import bonsai.bim.import_ifc as import_ifc -from collections import defaultdict -from bpy_extras.io_utils import ImportHelper, ExportHelper -from pathlib import Path -from bonsai import get_debug_info, format_debug_info +import bonsai.tool as tool +from bonsai import format_debug_info, get_debug_info from bonsai.bim.ifc import IfcStore -from typing import get_args, Union, Any, TYPE_CHECKING, Literal, get_args, assert_never if TYPE_CHECKING: from bonsai.bim.prop import Attribute diff --git a/src/bonsai/bonsai/bim/module/debug/prop.py b/src/bonsai/bonsai/bim/module/debug/prop.py index 5a28b22f79..e52ec5ff7d 100644 --- a/src/bonsai/bonsai/bim/module/debug/prop.py +++ b/src/bonsai/bonsai/bim/module/debug/prop.py @@ -16,20 +16,22 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Literal, get_args + import bpy -from bonsai.bim.prop import StrProperty, Attribute -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING, Literal, get_args +from bpy.types import PropertyGroup + +from bonsai.bim.prop import Attribute, StrProperty DisplayType = Literal["BOUNDS", "WIRE", "SOLID", "TEXTURED"] diff --git a/src/bonsai/bonsai/bim/module/debug/ui.py b/src/bonsai/bonsai/bim/module/debug/ui.py index 58af7b9f72..5ffa99cf35 100644 --- a/src/bonsai/bonsai/bim/module/debug/ui.py +++ b/src/bonsai/bonsai/bim/module/debug/ui.py @@ -17,9 +17,10 @@ # along with Bonsai. If not, see . import bpy -import bonsai.tool as tool from bpy.types import Panel +import bonsai.tool as tool + class BIM_PT_debug(Panel): bl_label = "Debug" diff --git a/src/bonsai/bonsai/bim/module/demo/__init__.py b/src/bonsai/bonsai/bim/module/demo/__init__.py index 705e0be046..7dc5f18ff7 100644 --- a/src/bonsai/bonsai/bim/module/demo/__init__.py +++ b/src/bonsai/bonsai/bim/module/demo/__init__.py @@ -28,7 +28,8 @@ # system when the add-on loads. This is where it happens. import bpy -from . import ui, prop, operator + +from . import operator, prop, ui # You'll need to provide a list of every one of your classes here. If you forget # to specify your class, it won't load and you won't be able to use that diff --git a/src/bonsai/bonsai/bim/module/demo/operator.py b/src/bonsai/bonsai/bim/module/demo/operator.py index 001c8de692..fb1927c9bd 100644 --- a/src/bonsai/bonsai/bim/module/demo/operator.py +++ b/src/bonsai/bonsai/bim/module/demo/operator.py @@ -28,8 +28,9 @@ # "Operators", since they correlate to a single user operation. import bpy -import bonsai.tool as tool + import bonsai.core.demo as core +import bonsai.tool as tool # Each button correlates to a class like the one below. In this case, we're diff --git a/src/bonsai/bonsai/bim/module/demo/prop.py b/src/bonsai/bonsai/bim/module/demo/prop.py index 83df8ccfda..f206fe3156 100644 --- a/src/bonsai/bonsai/bim/module/demo/prop.py +++ b/src/bonsai/bonsai/bim/module/demo/prop.py @@ -33,20 +33,20 @@ from typing import TYPE_CHECKING import bpy -from bpy.types import PropertyGroup # Properties have many different data types. We won't use all of them in this # demo module, but this is a list for your reference. from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) +from bpy.types import PropertyGroup # All properties must belong in a property group. Usually, you'd have a group diff --git a/src/bonsai/bonsai/bim/module/demo/ui.py b/src/bonsai/bonsai/bim/module/demo/ui.py index 6005814cfa..cade6dbf03 100644 --- a/src/bonsai/bonsai/bim/module/demo/ui.py +++ b/src/bonsai/bonsai/bim/module/demo/ui.py @@ -27,6 +27,7 @@ # panels, buttons, labels, and input fields are laid out. import bpy + import bonsai.tool as tool from bonsai.bim.module.demo.data import DemoData diff --git a/src/bonsai/bonsai/bim/module/diff/__init__.py b/src/bonsai/bonsai/bim/module/diff/__init__.py index 2cfb1b3c7b..fdeaf49596 100644 --- a/src/bonsai/bonsai/bim/module/diff/__init__.py +++ b/src/bonsai/bonsai/bim/module/diff/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.ExecuteIfcDiff, diff --git a/src/bonsai/bonsai/bim/module/diff/data.py b/src/bonsai/bonsai/bim/module/diff/data.py index ac3e545f43..9fce7f38ba 100644 --- a/src/bonsai/bonsai/bim/module/diff/data.py +++ b/src/bonsai/bonsai/bim/module/diff/data.py @@ -16,8 +16,10 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import json + +import bpy + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/bim/module/diff/operator.py b/src/bonsai/bonsai/bim/module/diff/operator.py index 954e43ac1e..330deed410 100644 --- a/src/bonsai/bonsai/bim/module/diff/operator.py +++ b/src/bonsai/bonsai/bim/module/diff/operator.py @@ -16,15 +16,17 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import json import logging + +import bpy import ifcdiff import ifcopenshell +from bpy_extras.io_utils import ExportHelper, ImportHelper + import bonsai.bim.handler import bonsai.bim.import_ifc import bonsai.tool as tool -from bpy_extras.io_utils import ImportHelper, ExportHelper from bonsai.bim.ifc import IfcStore diff --git a/src/bonsai/bonsai/bim/module/diff/prop.py b/src/bonsai/bonsai/bim/module/diff/prop.py index 61da124a7c..c8f9d48c84 100644 --- a/src/bonsai/bonsai/bim/module/diff/prop.py +++ b/src/bonsai/bonsai/bim/module/diff/prop.py @@ -16,21 +16,23 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Literal, get_args + import bpy -from bonsai.bim.prop import StrProperty, BIMFilterGroup -from bonsai.bim.module.diff.data import DiffData -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING, Literal, get_args +from bpy.types import PropertyGroup + +from bonsai.bim.module.diff.data import DiffData +from bonsai.bim.prop import BIMFilterGroup, StrProperty def update_diff_json_file(self: "DiffProperties", context: bpy.types.Context) -> None: diff --git a/src/bonsai/bonsai/bim/module/diff/ui.py b/src/bonsai/bonsai/bim/module/diff/ui.py index 91e0a6b48e..383345e8b5 100644 --- a/src/bonsai/bonsai/bim/module/diff/ui.py +++ b/src/bonsai/bonsai/bim/module/diff/ui.py @@ -17,9 +17,10 @@ # along with Bonsai. If not, see . from bpy.types import Panel -from bonsai.bim.module.diff.data import DiffData + import bonsai.bim.helper import bonsai.tool as tool +from bonsai.bim.module.diff.data import DiffData class BIM_PT_diff(Panel): diff --git a/src/bonsai/bonsai/bim/module/document/__init__.py b/src/bonsai/bonsai/bim/module/document/__init__.py index 3881148a18..ac3bdfb1a3 100644 --- a/src/bonsai/bonsai/bim/module/document/__init__.py +++ b/src/bonsai/bonsai/bim/module/document/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddDocumentReference, diff --git a/src/bonsai/bonsai/bim/module/document/data.py b/src/bonsai/bonsai/bim/module/document/data.py index b68c118e56..97b4a1f206 100644 --- a/src/bonsai/bonsai/bim/module/document/data.py +++ b/src/bonsai/bonsai/bim/module/document/data.py @@ -17,12 +17,14 @@ # along with Bonsai. If not, see . import os + import bpy import ifcopenshell import ifcopenshell.util.schema -import bonsai.tool as tool from natsort import natsorted +import bonsai.tool as tool + def refresh(): DocumentData.is_loaded = False diff --git a/src/bonsai/bonsai/bim/module/document/operator.py b/src/bonsai/bonsai/bim/module/document/operator.py index 447d3b1693..a4e5cfc4ac 100644 --- a/src/bonsai/bonsai/bim/module/document/operator.py +++ b/src/bonsai/bonsai/bim/module/document/operator.py @@ -16,11 +16,13 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import json + +import bpy + import bonsai.bim.handler -import bonsai.tool as tool import bonsai.core.document as core +import bonsai.tool as tool from bonsai.bim.module.document.data import DocumentData, ObjectDocumentData @@ -264,8 +266,8 @@ class OpenIFCDocument(bpy.types.Operator): uri: bpy.props.StringProperty(name="URI") def execute(self, context): - import subprocess import os + import subprocess if not self.uri or not self.uri.lower().startswith("file://"): self.report({"ERROR"}, "Only local file:// URIs are supported") diff --git a/src/bonsai/bonsai/bim/module/document/prop.py b/src/bonsai/bonsai/bim/module/document/prop.py index 93369b546d..b1eb41cc2e 100644 --- a/src/bonsai/bonsai/bim/module/document/prop.py +++ b/src/bonsai/bonsai/bim/module/document/prop.py @@ -1,20 +1,21 @@ +from typing import TYPE_CHECKING, Union + import bpy -import bonsai.tool as tool -from bonsai.bim.prop import StrProperty, Attribute -from bonsai.bim.module.document.data import refresh -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from bonsai.bim.module.document.data import DocumentData -from typing import TYPE_CHECKING, Union +from bpy.types import PropertyGroup + +import bonsai.tool as tool +from bonsai.bim.module.document.data import DocumentData, refresh +from bonsai.bim.prop import Attribute, StrProperty def update_document_name(self: "Document", context: bpy.types.Context) -> None: diff --git a/src/bonsai/bonsai/bim/module/document/ui.py b/src/bonsai/bonsai/bim/module/document/ui.py index 7688399732..eda5d34a1d 100644 --- a/src/bonsai/bonsai/bim/module/document/ui.py +++ b/src/bonsai/bonsai/bim/module/document/ui.py @@ -17,8 +17,9 @@ # along with Bonsai. If not, see . import bpy -import bonsai.tool as tool from bpy.types import Panel, UIList + +import bonsai.tool as tool from bonsai.bim.helper import draw_attributes from bonsai.bim.module.document.data import DocumentData, ObjectDocumentData diff --git a/src/bonsai/bonsai/bim/module/drawing/__init__.py b/src/bonsai/bonsai/bim/module/drawing/__init__.py index 93316a0d01..9f172ce2bb 100644 --- a/src/bonsai/bonsai/bim/module/drawing/__init__.py +++ b/src/bonsai/bonsai/bim/module/drawing/__init__.py @@ -17,9 +17,11 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator, handler, gizmos, workspace + import bonsai.tool as tool +from . import gizmos, handler, operator, prop, ui, workspace + classes = ( operator.ActivateDrawing, operator.ActivateDrawingFromSheet, @@ -43,6 +45,7 @@ classes = ( operator.CleanWireframes, operator.ContractSheet, operator.ConvertSVGToDXF, + operator.CopyTextToSelection, operator.CreateDrawing, operator.CreateSheets, operator.DisableAddAnnotationType, @@ -113,7 +116,6 @@ classes = ( prop.BIMCameraProperties, prop.ElementValueRow, prop.LiteralProps, - prop.LiteralApplySettings, prop.BIMTextProperties, prop.BIMAssignedProductProperties, prop.BIMAnnotationProperties, diff --git a/src/bonsai/bonsai/bim/module/drawing/annotation.py b/src/bonsai/bonsai/bim/module/drawing/annotation.py index 9589b9ac00..18d914872a 100644 --- a/src/bonsai/bonsai/bim/module/drawing/annotation.py +++ b/src/bonsai/bonsai/bim/module/drawing/annotation.py @@ -17,16 +17,19 @@ # along with Bonsai. If not, see . from __future__ import annotations -import os -import bpy + import math -import bmesh -import bonsai.tool as tool -import ifcopenshell.util.element +import os from pathlib import Path -from mathutils import Vector, Matrix from typing import Optional +import bmesh +import bpy +import ifcopenshell.util.element +from mathutils import Matrix, Vector + +import bonsai.tool as tool + class Annotator: @staticmethod diff --git a/src/bonsai/bonsai/bim/module/drawing/data.py b/src/bonsai/bonsai/bim/module/drawing/data.py index 4941e7f51c..1668d386d3 100644 --- a/src/bonsai/bonsai/bim/module/drawing/data.py +++ b/src/bonsai/bonsai/bim/module/drawing/data.py @@ -16,18 +16,20 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import os -import bpy import json -import ifcopenshell.util.element -import ifcopenshell.util.representation -import ifcopenshell.util.unit -import ifcopenshell.util.selector -import bonsai.tool as tool +import os from pathlib import Path from typing import Any, Union + +import bpy +import ifcopenshell.util.element +import ifcopenshell.util.representation +import ifcopenshell.util.selector +import ifcopenshell.util.unit from natsort import natsorted +import bonsai.tool as tool + def refresh(): ProductAssignmentsData.is_loaded = False @@ -353,8 +355,6 @@ class DecoratorData: font_size = FONT_SIZES[font_size_type] symbol = tool.Drawing.get_annotation_symbol(element) newline_at = pset_data.get("Newline_At", 0) - reverse_list = pset_data.get("Reverse_List", False) - list_separator = pset_data.get("List_Separator") or ", " # other attributes literals = tool.Drawing.get_text_literal(obj, return_list=True) @@ -365,15 +365,10 @@ class DecoratorData: for literal in literals: literal_value = literal.Literal - try: - eval_value = cls.evaluate_formatting_expressions(literal_value, product) - current_value = tool.Drawing.replace_text_literal_variables(eval_value, product) - except Exception: - current_value = literal_value literal_data = { "Literal": literal_value, "BoxAlignment": literal.BoxAlignment, - "CurrentValue": current_value, + "CurrentValue": tool.Drawing.replace_text_literal_variables(literal_value, product), } literals_data.append(literal_data) @@ -382,8 +377,6 @@ class DecoratorData: "FontSize": font_size, "Symbol": symbol, "Newline_At": newline_at, - "Reverse_List": reverse_list, - "List_Separator": list_separator, } @classmethod @@ -401,21 +394,6 @@ class DecoratorData: return element - @classmethod - def evaluate_formatting_expressions(cls, text: str, element=None) -> str: - """Evaluate formatting expressions wrapped in backticks using ifcopenshell.util.selector.format, always passing element context""" - import re - - def evaluate_expression(match): - try: - expression = match.group(1) - result = ifcopenshell.util.selector.format(expression, element) - return str(result) - except Exception as e: - return match.group(0) - - return re.sub(r"``([^`]+)``", evaluate_expression, text) - @classmethod def get_element_value_by_key(cls, element: ifcopenshell.entity_instance, key: str): """Get element value by its key using IfcOpenShell selector syntax""" diff --git a/src/bonsai/bonsai/bim/module/drawing/decoration.py b/src/bonsai/bonsai/bim/module/drawing/decoration.py index fc3b9ecbf6..705fabfcf9 100644 --- a/src/bonsai/bonsai/bim/module/drawing/decoration.py +++ b/src/bonsai/bonsai/bim/module/drawing/decoration.py @@ -16,33 +16,35 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import gpu -import bpy -import blf -import os import math +import os +from collections.abc import Generator, Iterator +from functools import cache +from math import acos, atan, cos, degrees, pi, radians, sin +from pathlib import Path +from timeit import default_timer as timer +from typing import Optional, Union + +import blf import bmesh -import shapely -import numpy as np +import bpy +import gpu import ifcopenshell import ifcopenshell.util.element import ifcopenshell.util.representation import ifcopenshell.util.unit -import bonsai.tool as tool -import bonsai.bim.module.drawing.helper as helper -from pathlib import Path -from math import pi, sin, cos, acos, atan, degrees, radians +import numpy as np +import shapely from bpy.types import SpaceView3D -from mathutils import Vector, Matrix from bpy_extras.view3d_utils import location_3d_to_region_2d from gpu_extras.batch import batch_for_shader +from mathutils import Matrix, Vector + +import bonsai.bim.module.drawing.helper as helper +import bonsai.tool as tool from bonsai.bim.module.drawing.data import DecoratorData, DrawingsData -from bonsai.bim.module.drawing.shaders import add_verts_sequence, add_offsets from bonsai.bim.module.drawing.helper import format_distance -from timeit import default_timer as timer -from functools import cache -from typing import Optional, Union -from collections.abc import Generator, Iterator +from bonsai.bim.module.drawing.shaders import add_offsets, add_verts_sequence UNSPECIAL_ELEMENT_COLOR = (0.2, 0.2, 0.2, 1) # GREY @@ -1760,40 +1762,34 @@ class CutDecorator: shader.uniform_float("color", color) batch.draw(shader) - def cache_camera_matrix(self): + def cache_camera_matrix(self) -> None: + assert bpy.context.scene and bpy.context.scene.camera obj = bpy.context.scene.camera - # Explicit `dtype` for Blender <5.0 compatibility. DecoratorData.camera_location_checksum = repr( - np.array(obj.matrix_world.translation, dtype=np.float32).tobytes() + tool.Blender.np_array_legacy(obj.matrix_world.translation).tobytes() ) - DecoratorData.camera_rotation_checksum = repr(np.array(obj.matrix_world.to_3x3(), dtype=np.float32).tobytes()) + DecoratorData.camera_rotation_checksum = repr(tool.Blender.np_array_legacy(obj.matrix_world.to_3x3()).tobytes()) - def is_camera_moved(self): + def is_camera_moved(self) -> bool: if not DecoratorData.camera_location_checksum: self.cache_camera_matrix() return True # Let's be conservative + + assert bpy.context.scene and bpy.context.scene.camera obj = bpy.context.scene.camera # Handle both old float64 and new float32 checksums for version compatibility - loc_checksum_bytes = eval(DecoratorData.camera_location_checksum) - if len(loc_checksum_bytes) == 24: # Old format: 3 * 8 bytes (float64) - loc_check = np.frombuffer(loc_checksum_bytes, dtype=np.float64).astype(np.float32) - else: # New format: 3 * 4 bytes (float32) - loc_check = np.frombuffer(loc_checksum_bytes, dtype=np.float32) - - loc_real = np.array(obj.matrix_world.translation, dtype=np.float32).flatten() + loc_checksum_bytes: bytes = eval(DecoratorData.camera_location_checksum) + loc_check = tool.Blender.np_frombuffer_legacy(loc_checksum_bytes, 3) + loc_real = tool.Blender.np_array_legacy(obj.matrix_world.translation) if not np.allclose(loc_check, loc_real, atol=1e-4): # 0.1 mm self.cache_camera_matrix() return True # Handle both old float64 and new float32 checksums for version compatibility - rot_checksum_bytes = eval(DecoratorData.camera_rotation_checksum) - if len(rot_checksum_bytes) == 72: # Old format: 9 * 8 bytes (float64) - rot_check = np.frombuffer(rot_checksum_bytes, dtype=np.float64).astype(np.float32).reshape(3, 3) - else: # New format: 9 * 4 bytes (float32) - rot_check = np.frombuffer(rot_checksum_bytes, dtype=np.float32).reshape(3, 3) - - rot_real = np.array(obj.matrix_world.to_3x3(), dtype=np.float32) + rot_checksum_bytes: bytes = eval(DecoratorData.camera_rotation_checksum) + rot_check = tool.Blender.np_frombuffer_legacy(rot_checksum_bytes, 9) + rot_real = tool.Blender.np_array_legacy(obj.matrix_world.to_3x3()) rot_dot = np.dot(rot_check, rot_real.T) angle_rad = np.arccos(np.clip((np.trace(rot_dot) - 1) / 2, -1, 1)) if angle_rad > 0.0017453292519943296: # 0.1 degrees diff --git a/src/bonsai/bonsai/bim/module/drawing/gizmos.py b/src/bonsai/bonsai/bim/module/drawing/gizmos.py index 3b25a0b12a..a83bd0a46a 100644 --- a/src/bonsai/bonsai/bim/module/drawing/gizmos.py +++ b/src/bonsai/bonsai/bim/module/drawing/gizmos.py @@ -132,28 +132,31 @@ __all__ = [ # noqa: RUF022 (unsorted `__all__`) "ExtrusionWidget", ] -from typing import Any, Literal, Protocol, runtime_checkable, get_args +import math from collections.abc import Callable, Iterator +from dataclasses import dataclass from enum import Enum +from typing import Any, Literal, Protocol, get_args, runtime_checkable import blf import bpy import gpu -import math import numpy as np from bpy import types -from dataclasses import dataclass -from mathutils import Vector, Matrix -from mathutils.kdtree import KDTree -from mathutils.geometry import intersect_line_line -from bpy_extras.view3d_utils import region_2d_to_vector_3d, region_2d_to_origin_3d, location_3d_to_region_2d from bpy_extras import view3d_utils +from bpy_extras.view3d_utils import ( + location_3d_to_region_2d, + region_2d_to_origin_3d, + region_2d_to_vector_3d, +) from gpu_extras.batch import batch_for_shader -import bonsai.tool as tool -from bonsai.tool.unit import parse_distance_string -from bonsai.bim.module.drawing.shaders import ExtrusionGuidesShader from ifcopenshell.util.unit import si_conversions +from mathutils import Matrix, Vector +from mathutils.geometry import intersect_line_line +from mathutils.kdtree import KDTree +import bonsai.tool as tool +from bonsai.bim.module.drawing.shaders import ExtrusionGuidesShader SNAP_POINT_SIZE = 10.0 SNAP_POINT_COLOR = (1.0, 0.5, 0.0, 1.0) @@ -1024,7 +1027,7 @@ class NumericInputState: return input_str = self.get_input_string() - is_valid, value = parse_distance_string(input_str) + is_valid, value = tool.Unit.parse_distance_string(input_str) if is_valid: self.parsed_value = value diff --git a/src/bonsai/bonsai/bim/module/drawing/handler.py b/src/bonsai/bonsai/bim/module/drawing/handler.py index 75bf62d506..026d274fb3 100644 --- a/src/bonsai/bonsai/bim/module/drawing/handler.py +++ b/src/bonsai/bonsai/bim/module/drawing/handler.py @@ -17,9 +17,10 @@ # along with Bonsai. If not, see . import bpy +from bpy.app.handlers import persistent + import bonsai.bim.module.drawing.decoration as decoration import bonsai.tool as tool -from bpy.app.handlers import persistent @persistent diff --git a/src/bonsai/bonsai/bim/module/drawing/helper.py b/src/bonsai/bonsai/bim/module/drawing/helper.py index 4d99d6c91b..ee8ecf805d 100644 --- a/src/bonsai/bonsai/bim/module/drawing/helper.py +++ b/src/bonsai/bonsai/bim/module/drawing/helper.py @@ -16,16 +16,18 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import math -import ifcopenshell.util.element -import mathutils.geometry -import ifcopenshell -import ifcopenshell.util.unit -import bonsai.tool as tool -from mathutils import Vector from typing import Union +import bpy +import ifcopenshell +import ifcopenshell.util.element +import ifcopenshell.util.unit +import mathutils.geometry +from mathutils import Vector + +import bonsai.tool as tool + # Code taken and updated from https://blenderartists.org/t/detecting-intersection-of-bounding-boxes/457520/2 diff --git a/src/bonsai/bonsai/bim/module/drawing/operator.py b/src/bonsai/bonsai/bim/module/drawing/operator.py index 936225099b..144a687af6 100644 --- a/src/bonsai/bonsai/bim/module/drawing/operator.py +++ b/src/bonsai/bonsai/bim/module/drawing/operator.py @@ -16,58 +16,73 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import os -import bpy -import json -import re -import time -import bmesh -import shutil import hashlib -import shapely -import shapely.ops -import subprocess -import numpy as np +import json import multiprocessing +import os +import re +import shutil +import subprocess +import time +from math import radians +from pathlib import Path +from timeit import default_timer as timer +from typing import ( + TYPE_CHECKING, + Any, + Literal, + NamedTuple, + Optional, + TypedDict, + Union, + get_args, +) + +import bmesh +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.document import ifcopenshell.api.pset import ifcopenshell.api.style -import ifcopenshell.ifcopenshell_wrapper import ifcopenshell.geom +import ifcopenshell.ifcopenshell_wrapper import ifcopenshell.util.element import ifcopenshell.util.representation import ifcopenshell.util.selector import ifcopenshell.util.unit -import bonsai.bim.helper +import numpy as np +import shapely +import shapely.ops +from bpy_extras.image_utils import load_image +from bpy_extras.io_utils import ImportHelper +from lxml import etree +from mathutils import Color, Matrix, Vector + +import bonsai.bim.export_ifc import bonsai.bim.handler -import bonsai.tool as tool -import bonsai.core.geometry -import bonsai.core.drawing as core -import bonsai.bim.module.drawing.svgwriter as svgwriter +import bonsai.bim.helper import bonsai.bim.module.drawing.annotation as annotation import bonsai.bim.module.drawing.sheeter as sheeter -import bonsai.bim.export_ifc -from bpy_extras.io_utils import ImportHelper -from bonsai.bim.module.drawing.decoration import CutDecorator +import bonsai.bim.module.drawing.svgwriter as svgwriter +import bonsai.core.drawing as core +import bonsai.core.geometry +import bonsai.tool as tool +from bonsai.bim.ifc import IfcStore from bonsai.bim.module.drawing.data import DecoratorData, ElementValuesData +from bonsai.bim.module.drawing.decoration import CutDecorator +from bonsai.bim.module.drawing.prop import ( + RASTER_STYLE_PROPERTIES_EXCLUDE, + RasterStyleProperty, +) from bonsai.bim.module.drawing.ui import get_current_product_for_element_values from bonsai.bim.prop import StrProperty -from typing import NamedTuple, Union, Optional, Literal, TYPE_CHECKING, Any, TypedDict, get_args -from lxml import etree -from math import radians -from mathutils import Vector, Color, Matrix -from timeit import default_timer as timer -from bonsai.bim.module.drawing.prop import RasterStyleProperty, RASTER_STYLE_PROPERTIES_EXCLUDE -from bonsai.bim.ifc import IfcStore -from pathlib import Path -from bpy_extras.image_utils import load_image if TYPE_CHECKING: + from bpy.stub_internal import rna_enums + from bonsai.bim.module.drawing.prop import RenderType from bonsai.bim.module.project.prop import Link - from bpy.stub_internal import rna_enums cwd = os.path.dirname(os.path.realpath(__file__)) @@ -913,7 +928,7 @@ class CreateDrawing(bpy.types.Operator): props = tool.Project.get_project_props() for link in props.get_loaded_links_for_drawings(): - files[link.name] = self.get_linked_file(link) + files[link.filepath] = self.get_linked_file(link) target_view = ifcopenshell.util.element.get_psets(self.camera_element)["EPset_Drawing"]["TargetView"] self.setup_serialiser(target_view) @@ -1359,7 +1374,7 @@ class CreateDrawing(bpy.types.Operator): return True def get_linked_file(self, link: "Link") -> ifcopenshell.file: - link_path = link.name + link_path = link.filepath ifc_file = IfcStore.session_files.get(link_path, None) if ifc_file is not None: return ifc_file @@ -2881,12 +2896,16 @@ class AddSchedule(bpy.types.Operator, tool.Ifc.Operator, ImportHelper): bl_options = {"REGISTER", "UNDO"} bl_description = "Add an .ods, .xls or .xlsx file as a schedule" + files: bpy.props.CollectionProperty(name="Files", type=bpy.types.OperatorFileListElement) + directory: bpy.props.StringProperty(subtype="DIR_PATH") filter_glob: bpy.props.StringProperty(default="*.ods;*.xls;*.xlsx", options={"HIDDEN"}) use_relative_path: bpy.props.BoolProperty(name="Use Relative Path", default=True) def _execute(self, context): - filepath = tool.Ifc.get_uri(self.filepath, use_relative_path=self.use_relative_path) - core.add_document(tool.Ifc, tool.Drawing, "SCHEDULE", uri=filepath) + for filepath in tool.Blender.get_selected_files( + self.directory, self.files, use_relative_path=self.use_relative_path + ): + core.add_document(tool.Ifc, tool.Drawing, "SCHEDULE", uri=filepath) class RemoveSchedule(bpy.types.Operator, tool.Ifc.Operator): @@ -3075,23 +3094,16 @@ class AddReference(bpy.types.Operator, tool.Ifc.Operator, ImportHelper): bl_description = "Import a .svg file to the project as a reference" bl_options = {"REGISTER", "UNDO"} + files: bpy.props.CollectionProperty(name="Files", type=bpy.types.OperatorFileListElement) + directory: bpy.props.StringProperty(subtype="DIR_PATH") filter_glob: bpy.props.StringProperty(default="*.svg", options={"HIDDEN"}) use_relative_path: bpy.props.BoolProperty(name="Use Relative Path", default=True) filename_ext = ".svg" - files: bpy.props.CollectionProperty(type=bpy.types.OperatorFileListElement) - directory: bpy.props.StringProperty(subtype="DIR_PATH") - def _execute(self, context): - # Handle both single and multiple file selection - if self.files: - for file_elem in self.files: - filepath = os.path.join(self.directory, file_elem.name) - uri = tool.Ifc.get_uri(filepath, use_relative_path=self.use_relative_path) - core.add_document(tool.Ifc, tool.Drawing, "REFERENCE", uri=uri) - else: - # Fallback for single file (backward compatibility) - filepath = tool.Ifc.get_uri(self.filepath, use_relative_path=self.use_relative_path) + for filepath in tool.Blender.get_selected_files( + self.directory, self.files, use_relative_path=self.use_relative_path + ): core.add_document(tool.Ifc, tool.Drawing, "REFERENCE", uri=filepath) @@ -3150,6 +3162,7 @@ class EditTextPopup(bpy.types.Operator): bpy.ops.bim.disable_editing_text() def execute(self, context): + # TODO: check for possible subtle undo bug here # can't use invoke() because this operator # will be run indirectly by hotkey # so we use execute() and track whether it's the first run of the operator @@ -3166,169 +3179,34 @@ class EditText(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.edit_text" bl_label = "Edit Text" bl_description = "Save changes to the text annotation and\ndisable the text editing options" - bl_options = {"REGISTER", "UNDO"} def _execute(self, context): - obj = context.active_object - props = tool.Drawing.get_text_props(obj) - - captured_apply_settings = { - "apply_font_size_to_all": props.apply_font_size_to_all, - "apply_newline_to_all": props.apply_newline_to_all, - "font_size": props.font_size, - "newline_at": props.newline_at, - "literals": [], - } - - for i, literal in enumerate(props.literals): - literal_data = { - "attributes": [ - (attr.string_value, attr.enum_value if attr.data_type == "enum" else attr.string_value) - for attr in literal.attributes - ], - "box_alignment": literal.box_alignment[:] if hasattr(literal, "box_alignment") else None, - "element_value_rows": [ - { - "category": row.category, - "element_key": row.element_key, - "formatted_value": row.formatted_value, - "separator": row.separator, - } - for row in literal.element_value_rows - ], - "product_used": literal.product_used.name if literal.product_used else None, - } - - if i < len(props.literal_apply_settings): - apply_settings = props.literal_apply_settings[i] - literal_data["apply_text_to_all"] = apply_settings.apply_text_to_all - literal_data["apply_path_to_all"] = apply_settings.apply_path_to_all - literal_data["apply_box_alignment_to_all"] = apply_settings.apply_box_alignment_to_all - else: - literal_data["apply_text_to_all"] = False - literal_data["apply_path_to_all"] = False - literal_data["apply_box_alignment_to_all"] = False - - captured_apply_settings["literals"].append(literal_data) - - obj["_bonsai_element_value_rows_backup"] = json.dumps(captured_apply_settings["literals"]) - - core.edit_text(tool.Drawing, obj=obj) - - self.apply_to_selected_objects_with_captured_data(context, obj, captured_apply_settings) - + core.edit_text(tool.Drawing, obj=tool.Blender.get_active_object()) tool.Blender.update_viewport() - return {"FINISHED"} - def apply_to_selected_objects(self, context, active_obj, active_props): - """Apply changes to other selected text objects based on toggle settings""" - selected_objects = [obj for obj in context.selected_objects if obj != active_obj] +class CopyTextToSelection(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.copy_text_to_selection" + bl_label = "Copy Text To Selection" + bl_description = "Copy text formatting or literals to selected objects" + bl_options = {"REGISTER", "UNDO"} + attribute: bpy.props.StringProperty() - for obj in selected_objects: - element = tool.Ifc.get_entity(obj) - if not element or not tool.Drawing.is_annotation_object_type(element, ["TEXT", "TEXT_LEADER"]): - continue - - obj_props = tool.Drawing.get_text_props(obj) - needs_update = False - - if active_props.apply_font_size_to_all: - obj_props.font_size = active_props.font_size - needs_update = True - - if active_props.apply_newline_to_all: - obj_props.newline_at = active_props.newline_at - needs_update = True - - for i, active_literal in enumerate(active_props.literals): - if i >= len(obj_props.literals): - continue - - obj_props.ensure_literal_apply_settings(len(obj_props.literals)) - obj_literal = obj_props.literals[i] - - if i < len(active_props.literal_apply_settings): - active_settings = active_props.literal_apply_settings[i] - - if active_settings.apply_text_to_all: - if len(active_literal.attributes) > 0 and len(obj_literal.attributes) > 0: - obj_literal.attributes[0].string_value = active_literal.attributes[0].string_value - needs_update = True - - if active_settings.apply_path_to_all: - if len(active_literal.attributes) > 1 and len(obj_literal.attributes) > 1: - if ( - active_literal.attributes[1].data_type == "enum" - and obj_literal.attributes[1].data_type == "enum" - ): - obj_literal.attributes[1].enum_value = active_literal.attributes[1].enum_value - else: - obj_literal.attributes[1].string_value = active_literal.attributes[1].string_value - needs_update = True - - if active_settings.apply_box_alignment_to_all: - obj_literal.box_alignment = active_literal.box_alignment[:] - needs_update = True - - if needs_update: - core.edit_text(tool.Drawing, obj=obj) - - def apply_to_selected_objects_with_captured_data(self, context, active_obj, captured_data): - """Apply changes to other selected text objects using captured apply settings""" - selected_objects = [obj for obj in context.selected_objects if obj != active_obj] - - for obj in selected_objects: - element = tool.Ifc.get_entity(obj) - if not element: - continue - if not tool.Drawing.is_annotation_object_type(element, ["TEXT", "TEXT_LEADER"]): - continue - - obj_props = tool.Drawing.get_text_props(obj) - - if len(obj_props.literals) == 0: - core.enable_editing_text(tool.Drawing, obj=obj) - obj_props.ensure_literal_apply_settings(len(obj_props.literals)) - - needs_update = False - - if captured_data["apply_font_size_to_all"]: - obj_props.font_size = captured_data["font_size"] - needs_update = True - - if captured_data["apply_newline_to_all"]: - obj_props.newline_at = captured_data["newline_at"] - needs_update = True - - for i, captured_literal in enumerate(captured_data["literals"]): - if i >= len(obj_props.literals): - continue - - obj_literal = obj_props.literals[i] - - if captured_literal["apply_text_to_all"]: - if len(captured_literal["attributes"]) > 0 and len(obj_literal.attributes) > 0: - new_value = captured_literal["attributes"][0][0] # [0] = string_value - obj_literal.attributes[0].string_value = new_value - needs_update = True - - if captured_literal["apply_path_to_all"]: - if len(captured_literal["attributes"]) > 1 and len(obj_literal.attributes) > 1: - new_value = captured_literal["attributes"][1][1] # [1] = enum_value or string_value - if obj_literal.attributes[1].data_type == "enum": - obj_literal.attributes[1].enum_value = new_value - else: - obj_literal.attributes[1].string_value = new_value - needs_update = True - - if captured_literal["apply_box_alignment_to_all"] and captured_literal["box_alignment"]: - obj_literal.box_alignment = captured_literal["box_alignment"] - needs_update = True - - if needs_update: - core.edit_text(tool.Drawing, obj=obj) + def _execute(self, context): + apply_objs = [ + obj + for obj in tool.Blender.get_selected_objects() + if (element := tool.Ifc.get_entity(obj)) + and tool.Drawing.is_annotation_object_type(element, ["TEXT", "TEXT_LEADER"]) + ] + core.copy_text_to_selection( + tool.Drawing, + attribute=self.attribute, + attribute_obj=tool.Blender.get_active_object(), + apply_objs=apply_objs, + ) + tool.Blender.update_viewport() class EnableEditingText(bpy.types.Operator, tool.Ifc.Operator): @@ -3343,8 +3221,6 @@ class EnableEditingText(bpy.types.Operator, tool.Ifc.Operator): props = tool.Drawing.get_text_props(obj) core.enable_editing_text(tool.Drawing, obj=obj) - props.ensure_literal_apply_settings(len(props.literals)) - text_element = tool.Ifc.get_entity(obj) assigned_product_entity = tool.Drawing.get_assigned_product(text_element) if text_element else None assigned_product_obj = tool.Ifc.get_object(assigned_product_entity) if assigned_product_entity else None @@ -3433,9 +3309,6 @@ class AddTextLiteral(bpy.types.Operator): box_alignment_mask = [False] * 9 box_alignment_mask[6] = True # bottom_left box_alignment literal_props.box_alignment = box_alignment_mask - - props.ensure_literal_apply_settings(len(props.literals)) - return {"FINISHED"} @@ -3454,9 +3327,6 @@ class RemoveTextLiteral(bpy.types.Operator): props = tool.Drawing.get_text_props(obj) props.literals.remove(self.literal_prop_id) tool.Blender.update_viewport() - - props.ensure_literal_apply_settings(len(props.literals)) - return {"FINISHED"} @@ -3945,91 +3815,14 @@ class AddReferenceImage(bpy.types.Operator, tool.Ifc.Operator, ImportHelper): description="Existing object name to add a style with reference image to. If not provided will create a new object.", options={"SKIP_SAVE"}, ) - - x_length: bpy.props.FloatProperty( - name="X Length", - description="Width of the reference image in project units", - default=1.0, - min=0.001, - soft_min=0.01, - precision=3, - ) - y_length: bpy.props.FloatProperty( - name="Y Length", - description="Height of the reference image in project units", - default=1.0, - min=0.001, - soft_min=0.01, - precision=3, - ) - - show_dimensions_dialog: bpy.props.BoolProperty(default=False, options={"HIDDEN", "SKIP_SAVE"}) + size: bpy.props.FloatProperty(name="Size", description="Size of the reference image", default=1.0, unit="LENGTH") def draw(self, context): - layout = self.layout - - if getattr(self, "show_dimensions_dialog", False): - if tool.Ifc.get(): - length_unit = ifcopenshell.util.unit.get_project_unit(tool.Ifc.get(), "LENGTHUNIT") - if length_unit: - unit_name = ifcopenshell.util.unit.get_full_unit_name(length_unit).lower() - else: - unit_name = "project units" - layout.label(text=f"Set Reference Image Dimensions (in {unit_name}):") - else: - layout.label(text="Set Reference Image Dimensions (in project units):") - layout.separator() - layout.prop(self, "x_length") - layout.prop(self, "y_length") - else: - if Path(tool.Ifc.get_path()).is_file(): - layout.prop(self, "use_relative_path") - else: - self.use_relative_path = False - layout.label(text="Save the .ifc file first ") - layout.label(text="to use relative paths.") - layout.prop(self, "override_existing_image") - layout.prop(self, "use_existing_object_by_name") - - def invoke(self, context, event): - if not getattr(self, "show_dimensions_dialog", False): - context.window_manager.fileselect_add(self) - return {"RUNNING_MODAL"} - else: - return context.window_manager.invoke_props_dialog(self) - - def execute(self, context): - if not getattr(self, "show_dimensions_dialog", False): - abs_path = Path(self.filepath).absolute().resolve() - if self.override_existing_image: - params = {"check_existing": True, "force_reload": True} - else: - params = {"check_existing": False} - - try: - image = load_image(abs_path.name, str(abs_path.parent), **params) - - image_width_px = image.size[0] - image_height_px = image.size[1] - aspect_ratio = image_width_px / image_height_px - - if aspect_ratio >= 1.0: - self.x_length = 1.0 - self.y_length = 1.0 / aspect_ratio - else: - self.x_length = aspect_ratio - self.y_length = 1.0 - - bpy.data.images.remove(image) - - except Exception as e: - self.report({"ERROR"}, f"Failed to load image: {str(e)}") - return {"CANCELLED"} - - self.show_dimensions_dialog = True - return context.window_manager.invoke_props_dialog(self) - - return self._execute(context) + if Path(tool.Ifc.get_path()).is_file(): + self.layout.prop(self, "use_relative_path") + self.layout.prop(self, "override_existing_image") + self.layout.prop(self, "use_existing_object_by_name") + self.layout.prop(self, "size") def _execute(self, context): space = tool.Blender.get_view3d_space() @@ -4050,11 +3843,19 @@ class AddReferenceImage(bpy.types.Operator, tool.Ifc.Operator, ImportHelper): params = {"check_existing": False} image = load_image(abs_path.name, str(abs_path.parent), **params) + aspect_ratio = image.size[0] / image.size[1] + if aspect_ratio >= 1.0: # Landscape + x_length = self.size + y_length = self.size / aspect_ratio + else: + x_length = self.size / aspect_ratio + y_length = self.size + def bm_add_image_plane(mesh): bm = tool.Blender.get_bmesh_for_mesh(mesh, clean=True) unit_scale = ifcopenshell.util.unit.calculate_unit_scale(ifc_file) - plane_scale = Vector((self.x_length * unit_scale / 2.0, self.y_length * unit_scale / 2.0, 1.0)) + plane_scale = Vector((x_length / 2.0, y_length / 2.0, 1.0)) matrix = Matrix.LocRotScale(None, None, plane_scale) bmesh.ops.create_grid(bm, x_segments=1, y_segments=1, size=1, matrix=matrix, calc_uvs=False) @@ -4158,8 +3959,6 @@ class AddReferenceImage(bpy.types.Operator, tool.Ifc.Operator, ImportHelper): tool.Style.reload_material_from_ifc(material) tool.Geometry.record_object_materials(obj) - return {"FINISHED"} - class ConvertSVGToDXF(bpy.types.Operator): bl_idname = "bim.convert_svg_to_dxf" @@ -5041,7 +4840,7 @@ class ShowCategoryHelp(bpy.types.Operator): class AddElementValueRow(bpy.types.Operator): bl_idname = "bim.add_element_value_row" - bl_label = "Add Element" + bl_label = "Add Element Value Row" bl_description = "Add a new element value row" bl_options = {"REGISTER", "UNDO"} diff --git a/src/bonsai/bonsai/bim/module/drawing/prop.py b/src/bonsai/bonsai/bim/module/drawing/prop.py index 018c0a634a..b323b8d41e 100644 --- a/src/bonsai/bonsai/bim/module/drawing/prop.py +++ b/src/bonsai/bonsai/bim/module/drawing/prop.py @@ -16,39 +16,45 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import os -import bpy -import json import enum +import json +import os +from collections.abc import Callable +from pathlib import Path +from typing import TYPE_CHECKING, Any, Literal, Union, get_args + +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.pset import ifcopenshell.util.element -import bonsai.tool as tool -import bonsai.core.drawing as core -import bonsai.bim.module.drawing.annotation as annotation -import bonsai.bim.module.drawing.decoration as decoration -from mathutils import Matrix -from bonsai.bim.prop import BIMFilterGroup -from bonsai.bim.module.drawing.data import DrawingsData, DecoratorData, SheetsData, AnnotationData, ElementValuesData -from bonsai.bim.module.drawing.data import refresh as refresh_drawing_data -from pathlib import Path -from bonsai.bim.prop import Attribute, StrProperty -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + BoolVectorProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, - BoolVectorProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING, Literal, Any, get_args, Union -from collections.abc import Callable +from bpy.types import PropertyGroup +from mathutils import Matrix +import bonsai.bim.module.drawing.annotation as annotation +import bonsai.bim.module.drawing.decoration as decoration +import bonsai.core.drawing as core +import bonsai.tool as tool +from bonsai.bim.module.drawing.data import ( + AnnotationData, + DecoratorData, + DrawingsData, + ElementValuesData, + SheetsData, +) +from bonsai.bim.module.drawing.data import refresh as refresh_drawing_data +from bonsai.bim.prop import Attribute, BIMFilterGroup, StrProperty diagram_scales_enum = [] @@ -866,22 +872,20 @@ class LiteralProps(PropertyGroup): category_for_adding: str -class LiteralApplySettings(PropertyGroup): - literal_index: IntProperty(name="Literal Index") - apply_text_to_all: BoolProperty(name="Apply Text to All", default=False) - apply_path_to_all: BoolProperty(name="Apply Path to All", default=False) - apply_box_alignment_to_all: BoolProperty(name="Apply Box Alignment to All", default=False) - - if TYPE_CHECKING: - literal_index: int - apply_text_to_all: bool - apply_path_to_all: bool - apply_box_alignment_to_all: bool - - class BIMTextProperties(PropertyGroup): is_editing: BoolProperty(name="Is Editing", default=False) literals: CollectionProperty(name="Literals", type=LiteralProps) + newline_at: IntProperty(name="Newline At") + symbol: EnumProperty( # pyright: ignore[reportRedeclaration] + name="Symbol", + description="Symbol from symbols.svg to use for this text.", + items=[(s, s, "") for s in ["NO SYMBOL", "CUSTOM SYMBOL"] + tool.Drawing.DEFAULT_SYMBOLS], + default="NO SYMBOL", + ) + custom_symbol: StringProperty( # pyright: ignore[reportRedeclaration] + name="Custom Symbol", + description="Non-default symbol to use for this text.", + ) font_size: EnumProperty( items=[ ("1.8", "1.8 - Small", ""), @@ -893,52 +897,34 @@ class BIMTextProperties(PropertyGroup): default="2.5", name="Font Size", ) - newline_at: IntProperty(name="Newline At") - reverse_list: BoolProperty(name="Reverse List", description="Reverses the order of any list.", default=False) - list_separator: StringProperty( # pyright: ignore[reportRedeclaration] - name="List Separator", - description="Text used to separate lists. Uses a comma (, ) if empty.", + align_horizontal: EnumProperty( + items=[ + ("left", "Left", "", "ALIGN_LEFT", 0), + ("middle", "Middle", "", "ALIGN_CENTER", 1), + ("right", "Right", "", "ALIGN_RIGHT", 2), + ], + default="left", + name="Horizontal Alignment", ) - symbol: EnumProperty( # pyright: ignore[reportRedeclaration] - name="Symbol", - description="Symbol from symbols.svg to use for this text.", - items=[(s, s, "") for s in ["NO SYMBOL", "CUSTOM SYMBOL"] + tool.Drawing.DEFAULT_SYMBOLS], - default="NO SYMBOL", + align_vertical: EnumProperty( + items=[ + ("top", "Top", "", "ALIGN_TOP", 0), + ("middle", "Middle", "", "ALIGN_MIDDLE", 1), + ("bottom", "Bottom", "", "ALIGN_BOTTOM", 2), + ], + default="middle", + name="Vertical Alignment", ) - custom_symbol: StringProperty( # pyright: ignore[reportRedeclaration] - name="Custom Symbol", - description="Non-default symbol to use for this text.", - ) - - apply_font_size_to_all: BoolProperty( - name="Apply Font Size to All", description="Apply font size changes to all selected text objects", default=False - ) - apply_newline_to_all: BoolProperty( - name="Apply Newline to All", description="Apply newline changes to all selected text objects", default=False - ) - - literal_apply_settings: CollectionProperty(name="Literal Apply Settings", type=LiteralApplySettings) - - def ensure_literal_apply_settings(self, literal_count: int): - """Ensure we have apply settings for all literals""" - while len(self.literal_apply_settings) > literal_count: - self.literal_apply_settings.remove(len(self.literal_apply_settings) - 1) - - while len(self.literal_apply_settings) < literal_count: - setting = self.literal_apply_settings.add() - setting.literal_index = len(self.literal_apply_settings) - 1 if TYPE_CHECKING: is_editing: bool literals: bpy.types.bpy_prop_collection_idprop[LiteralProps] - font_size: str newline_at: int - reverse_list: bool - list_separator: str symbol: Union[str, Literal["NO SYMBOL", "CUSTOM SYMBOL"]] custom_symbol: str - apply_font_size_to_all: bool - apply_newline_to_all: bool + font_size: str + align_horizontal: str + align_vertical: str def get_symbol(self) -> Union[str, None]: if self.symbol == "NO SYMBOL": @@ -973,8 +959,6 @@ class BIMTextProperties(PropertyGroup): "FontSize": float(self.font_size), "Newline_At": int(self.newline_at), "Symbol": self.get_symbol(), - "Reverse_List": self.reverse_list, - "List_Separator": self.list_separator or ", ", } return text_data diff --git a/src/bonsai/bonsai/bim/module/drawing/scheduler.py b/src/bonsai/bonsai/bim/module/drawing/scheduler.py index da80a46126..3b120e8d99 100644 --- a/src/bonsai/bonsai/bim/module/drawing/scheduler.py +++ b/src/bonsai/bonsai/bim/module/drawing/scheduler.py @@ -18,22 +18,23 @@ import os import re -import bpy import string -import svgwrite +from pathlib import Path +from textwrap import wrap + +import bpy import openpyxl import openpyxl.cell # Unnecessary, bug in typeshed. import openpyxl.utils # Unnecessary, bug in typeshed. -import bonsai.tool as tool - -from bonsai.bim.module.drawing.svgwriter import SvgWriter +import svgwrite from odf.opendocument import load as load_ods -from odf.table import Table, TableRow, TableColumn, TableCell -from odf.text import P from odf.style import Style -from textwrap import wrap -from pathlib import Path +from odf.table import Table, TableCell, TableColumn, TableRow +from odf.text import P + +import bonsai.tool as tool from bonsai.bim.ifc import IfcStore +from bonsai.bim.module.drawing.svgwriter import SvgWriter DEBUG = False diff --git a/src/bonsai/bonsai/bim/module/drawing/shaders.py b/src/bonsai/bonsai/bim/module/drawing/shaders.py index 020fc53147..2efd6ea285 100644 --- a/src/bonsai/bonsai/bim/module/drawing/shaders.py +++ b/src/bonsai/bonsai/bim/module/drawing/shaders.py @@ -16,11 +16,10 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -from gpu_extras.batch import batch_for_shader import gpu +from gpu_extras.batch import batch_for_shader from mathutils import Vector - # NOTES: # Since Metal doesn't support geometry shaders we stick to builtin shaders # and generate all geometry data in python before passing it to the shader. diff --git a/src/bonsai/bonsai/bim/module/drawing/sheeter.py b/src/bonsai/bonsai/bim/module/drawing/sheeter.py index a3ec74159a..7d8ebb67f4 100644 --- a/src/bonsai/bonsai/bim/module/drawing/sheeter.py +++ b/src/bonsai/bonsai/bim/module/drawing/sheeter.py @@ -16,20 +16,22 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import os -import bpy -import uuid -import shutil import ntpath -import pystache +import os +import re +import shutil import urllib.parse +import uuid import xml.etree.ElementTree as ET -import bonsai.tool as tool -import ifcopenshell.util.geolocation from pathlib import Path from xml.dom import minidom + +import bpy +import ifcopenshell.util.geolocation +import pystache from mathutils import Vector -import re + +import bonsai.tool as tool VIEW_TITLE_OFFSET_Y = 5 DRAWING_PADDING = 10 diff --git a/src/bonsai/bonsai/bim/module/drawing/svgwriter.py b/src/bonsai/bonsai/bim/module/drawing/svgwriter.py index d1a3897a20..ef64fdefc6 100644 --- a/src/bonsai/bonsai/bim/module/drawing/svgwriter.py +++ b/src/bonsai/bonsai/bim/module/drawing/svgwriter.py @@ -16,33 +16,34 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +import math import os import re -import bpy -import math -import bmesh import shutil -from bpy.types import SplineBezierPoints, SplinePoints -import mathutils import xml.etree.ElementTree as ET -import svgwrite -import svgwrite.container -import svgwrite.text +from collections.abc import Callable, Sequence +from math import acos, atan, ceil, degrees, pi +from pathlib import Path +from typing import Optional, Self, Union + +import bmesh +import bpy import ifcopenshell import ifcopenshell.util.element import ifcopenshell.util.representation import ifcopenshell.util.selector import ifcopenshell.util.unit -import bonsai.tool as tool -import bonsai.bim.module.drawing.helper as helper -from bonsai.bim.module.drawing.data import DrawingsData -from bonsai.bim.module.drawing.data import DecoratorData -from math import pi, ceil, atan, degrees, acos -from mathutils import geometry, Vector -from typing import Optional, Self, Union -from collections.abc import Callable, Sequence -from pathlib import Path +import mathutils +import svgwrite +import svgwrite.container +import svgwrite.text +from bpy.types import SplineBezierPoints, SplinePoints from markdown_it import MarkdownIt +from mathutils import Vector, geometry + +import bonsai.bim.module.drawing.helper as helper +import bonsai.tool as tool +from bonsai.bim.module.drawing.data import DecoratorData, DrawingsData class External(svgwrite.container.Group): @@ -988,11 +989,6 @@ class SvgWriter: symbol = tool.Drawing.get_annotation_symbol(element) newline_at = tool.Drawing.get_newline_at(element) - # Get reverse_list and list_separator from EPset_Annotation - pset_data = ifcopenshell.util.element.get_pset(element, "EPset_Annotation") or {} - reverse_list = pset_data.get("Reverse_List", False) - list_separator = pset_data.get("List_Separator") or ", " - template_text_fields = [] if symbol: symbol_transform = self.get_symbol_transform(text_position_svg_str, angle, text_obj) @@ -1009,7 +1005,7 @@ class SvgWriter: # 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 or element, reverse_list, list_separator + text_literal.Literal, product or element ) field.attrib["class"] = classes_str @@ -1029,9 +1025,7 @@ class SvgWriter: line_number = 0 for text_literal in text_literals: - text = tool.Drawing.replace_text_literal_variables( - text_literal.Literal, product or element, reverse_list, list_separator - ) + text = tool.Drawing.replace_text_literal_variables(text_literal.Literal, product or element) text_segments = parse_markdown_it(text) diff --git a/src/bonsai/bonsai/bim/module/drawing/ui.py b/src/bonsai/bonsai/bim/module/drawing/ui.py index d230add8f5..dc98715686 100644 --- a/src/bonsai/bonsai/bim/module/drawing/ui.py +++ b/src/bonsai/bonsai/bim/module/drawing/ui.py @@ -17,20 +17,23 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING, Optional, Union + import bpy +from bpy.types import Panel + import bonsai.bim.helper import bonsai.tool as tool -from bpy.types import Panel from bonsai.bim.module.drawing.data import ( - ProductAssignmentsData, - SheetsData, + DecoratorData, DocumentsData, DrawingsData, ElementFiltersData, - DecoratorData, ElementValuesData, + ProductAssignmentsData, + SheetsData, ) -from typing import TYPE_CHECKING, Union, Optional if TYPE_CHECKING: from bonsai.bim.module.drawing.prop import DocProperties, Drawing, Sheet @@ -86,7 +89,7 @@ class BIM_PT_camera(Panel): for link in links: row = panel.row(align=True) split = row.split(factor=0.9) - split.label(text=link.name, icon="FILE") + split.label(text=link.filepath, icon="FILE") split.prop(link, "include_in_drawings", text="") else: panel.label(text="No IFC projects linked and loaded.") @@ -641,58 +644,56 @@ class BIM_PT_text(Panel): row.operator("bim.add_text_literal", icon="ADD", text="Add Literal") else: row.operator("bim.edit_text", icon="CHECKMARK") - row.operator("bim.add_text_literal", icon="ADD", text="") row.operator("bim.disable_editing_text", icon="CANCEL", text="") row = self.layout.row(align=True) row.prop(props, "font_size") - row.prop(props, "apply_font_size_to_all", text="", icon="COPYDOWN") + row.operator("bim.copy_text_to_selection", text="", icon="COPYDOWN").attribute = "FONT_SIZE" + row = self.layout.row() + row.label(text="Alignment") + row.prop(props, "align_horizontal", text="", expand=True) + row.prop(props, "align_vertical", text="", expand=True) + row.operator("bim.copy_text_to_selection", text="", icon="COPYDOWN").attribute = "ALIGNMENT" row = self.layout.row(align=True) row.prop(props, "newline_at") - row = self.layout.row(align=True) - row.prop(props, "reverse_list") - row = self.layout.row(align=True) - row.prop(props, "list_separator") + row.operator("bim.copy_text_to_selection", text="", icon="COPYDOWN").attribute = "WRAP_LENGTH" row = self.layout.row(align=True) row.prop(props, "symbol") if props.symbol == "CUSTOM SYMBOL": row = self.layout.row(align=True) row.prop(props, "custom_symbol", text="") - row.prop(props, "apply_newline_to_all", text="", icon="COPYDOWN") select_op = row.operator("bim.select_similar_text_literal_value", text="", icon="RESTRICT_SELECT_OFF") select_op.literal_value = str(props.newline_at) select_op.attribute_type = "newline" + row.operator("bim.copy_text_to_selection", text="", icon="COPYDOWN").attribute = "SYMBOL" + + row = self.layout.row(align=True) + row.label(text="Literals:") + row.operator("bim.copy_text_to_selection", text="", icon="COPYDOWN").attribute = "LITERALS" + row.operator("bim.add_text_literal", icon="ADD", text="") for i, literal_props in enumerate(props.literals): box = self.layout.box() - - row = box.row(align=True) - row.label(text=f"Literal[{i}]:") - if i > 0: - row.operator("bim.order_text_literal_up", icon="TRIA_UP", text="").literal_prop_id = i - if i < len(props.literals) - 1: - row.operator("bim.order_text_literal_down", icon="TRIA_DOWN", text="").literal_prop_id = i - row.operator("bim.remove_text_literal", icon="X", text="").literal_prop_id = i - - if len(literal_props.attributes) > 0 and i < len(props.literal_apply_settings): + if len(literal_props.attributes): row = box.row(align=True) bonsai.bim.helper.draw_attribute(literal_props.attributes[0], row, enable_search=True) + if i > 0: + row.operator("bim.order_text_literal_up", icon="TRIA_UP", text="").literal_prop_id = i + if i < len(props.literals) - 1: + row.operator("bim.order_text_literal_down", icon="TRIA_DOWN", text="").literal_prop_id = i + row.operator("bim.remove_text_literal", icon="X", text="").literal_prop_id = i expand_icon = "DOWNARROW_HLT" if getattr(literal_props, "show_element_values", False) else "RIGHTARROW" op = row.operator("bim.toggle_element_values_panel", icon=expand_icon, text="") op.literal_prop_id = i - row.prop(props.literal_apply_settings[i], "apply_text_to_all", text="", icon="COPYDOWN") - element = tool.Ifc.get_entity(obj) assigned_element = tool.Drawing.get_assigned_product(element) or element resolved_value = tool.Drawing.replace_text_literal_variables( literal_props.attributes[0].string_value, assigned_element, - props.reverse_list, - props.list_separator, ) row = box.row(align=True) row.label(text="CurrentValue:") @@ -776,8 +777,6 @@ class BIM_PT_text(Panel): else: row.prop(attr, "string_value", text="Path") select_value = attr.string_value - if i < len(props.literal_apply_settings): - row.prop(props.literal_apply_settings[i], "apply_path_to_all", text="", icon="COPYDOWN") other_attributes = [a for a in literal_props.attributes[2:] if a.name != "BoxAlignment"] if other_attributes: @@ -797,10 +796,6 @@ class BIM_PT_text(Panel): col = row.column(align=True) alignment_label_row = col.row(align=True) alignment_label_row.label(text=" Text box alignment:") - if i < len(props.literal_apply_settings): - alignment_label_row.prop( - props.literal_apply_settings[i], "apply_box_alignment_to_all", text="", icon="COPYDOWN" - ) box_alignment_value = ( literal_props.attributes[ @@ -821,61 +816,52 @@ class BIM_PT_text(Panel): props = tool.Drawing.get_text_props(obj) if props.is_editing: - self.draw_text_editing_ui(context) - else: - text_data = DecoratorData.get_text_data(obj) + return self.draw_text_editing_ui(context) + text_data = DecoratorData.get_text_data(obj) - row = self.layout.row() - row.operator("bim.enable_editing_text", icon="GREASEPENCIL") + row = self.layout.row() + row.operator("bim.enable_editing_text", icon="GREASEPENCIL") - row = self.layout.row(align=True) - row.label(text="FontSize") - click_op = row.operator( - "bim.select_similar_text_literal_value", text=str(text_data["FontSize"]), emboss=False - ) - click_op.literal_value = str(text_data["FontSize"]) - click_op.attribute_type = "font_size" - click_op.display_text = str(text_data["FontSize"]) + row = self.layout.row(align=True) + row.label(text="FontSize") + click_op = row.operator("bim.select_similar_text_literal_value", text=str(text_data["FontSize"]), emboss=False) + click_op.literal_value = str(text_data["FontSize"]) + click_op.attribute_type = "font_size" + click_op.display_text = str(text_data["FontSize"]) - row = self.layout.row(align=True) - row.label(text="Newline_At") - click_op = row.operator( - "bim.select_similar_text_literal_value", text=str(text_data["Newline_At"]), emboss=False - ) - click_op.literal_value = str(text_data["Newline_At"]) - click_op.attribute_type = "newline" - click_op.display_text = str(text_data["Newline_At"]) - row = self.layout.row(align=True) - row.label(text="Reverse_List") - row.label(text=str(text_data["Reverse_List"])) - row = self.layout.row(align=True) - row.label(text="List_Separator") - row.label(text=str(text_data["List_Separator"])) + row = self.layout.row(align=True) + row.label(text="Newline_At") + click_op = row.operator( + "bim.select_similar_text_literal_value", text=str(text_data["Newline_At"]), emboss=False + ) + click_op.literal_value = str(text_data["Newline_At"]) + click_op.attribute_type = "newline" + click_op.display_text = str(text_data["Newline_At"]) - for i, literal_data in enumerate(text_data["Literals"]): - box = self.layout.box() - box.label(text=f"Literal[{i}]:") + for i, literal_data in enumerate(text_data["Literals"]): + box = self.layout.box() + box.label(text=f"Literal[{i}]:") - # Combine both approaches: clickable attributes from PR #7292 and display from PR #7106 - for attribute in literal_data: - row = box.row(align=True) - row.label(text=attribute) - click_op = row.operator( - "bim.select_similar_text_literal_value", - text=str(literal_data[attribute]), - emboss=False, - ) - click_op.literal_value = str(literal_data[attribute]) - click_op.literal_index = i - if attribute == "Literal": - click_op.attribute_type = "literal" - elif attribute == "Path": - click_op.attribute_type = "path" - elif attribute == "BoxAlignment": - click_op.attribute_type = "box_alignment" - else: - click_op.attribute_type = "text" - click_op.display_text = str(literal_data[attribute]) + # Combine both approaches: clickable attributes from PR #7292 and display from PR #7106 + for attribute in literal_data: + row = box.row(align=True) + row.label(text=attribute) + click_op = row.operator( + "bim.select_similar_text_literal_value", + text=str(literal_data[attribute]), + emboss=False, + ) + click_op.literal_value = str(literal_data[attribute]) + click_op.literal_index = i + if attribute == "Literal": + click_op.attribute_type = "literal" + elif attribute == "Path": + click_op.attribute_type = "path" + elif attribute == "BoxAlignment": + click_op.attribute_type = "box_alignment" + else: + click_op.attribute_type = "text" + click_op.display_text = str(literal_data[attribute]) class BIM_UL_drawinglist(bpy.types.UIList): diff --git a/src/bonsai/bonsai/bim/module/drawing/workspace.py b/src/bonsai/bonsai/bim/module/drawing/workspace.py index ae593d0873..bc7463073e 100644 --- a/src/bonsai/bonsai/bim/module/drawing/workspace.py +++ b/src/bonsai/bonsai/bim/module/drawing/workspace.py @@ -18,18 +18,20 @@ import os +from functools import partial + import bpy import ifcopenshell.api.group import ifcopenshell.util.element +import ifcopenshell.util.representation +from bpy.types import WorkSpaceTool + +import bonsai.core.drawing as core import bonsai.core.geometry import bonsai.core.type -import bonsai.core.drawing as core import bonsai.tool as tool -import ifcopenshell.util.representation -from bonsai.bim.module.drawing.data import DecoratorData, AnnotationData from bonsai.bim.helper import prop_with_search -from bpy.types import WorkSpaceTool -from functools import partial +from bonsai.bim.module.drawing.data import AnnotationData, DecoratorData class LaunchAnnotationTypeManager(bpy.types.Operator): @@ -166,7 +168,7 @@ def create_annotation_occurrence(context): ) assert element - bonsai.core.type.assign_type(tool.Ifc, tool.Type, element=element, type=relating_type) + bonsai.core.type.assign_type(tool.Ifc, tool.Model, tool.Type, element=element, type=relating_type) ifcopenshell.api.group.assign_group(ifc_file, group=tool.Drawing.get_drawing_group(drawing), products=[element]) tool.Collector.assign(obj) diff --git a/src/bonsai/bonsai/bim/module/fm/__init__.py b/src/bonsai/bonsai/bim/module/fm/__init__.py index dc26a6379c..5b54adb71b 100644 --- a/src/bonsai/bonsai/bim/module/fm/__init__.py +++ b/src/bonsai/bonsai/bim/module/fm/__init__.py @@ -19,7 +19,8 @@ # pyright: reportAttributeAccessIssue=false import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.ExecuteIfcFM, diff --git a/src/bonsai/bonsai/bim/module/fm/data.py b/src/bonsai/bonsai/bim/module/fm/data.py index fa4a9c4c6a..80a686e364 100644 --- a/src/bonsai/bonsai/bim/module/fm/data.py +++ b/src/bonsai/bonsai/bim/module/fm/data.py @@ -16,9 +16,10 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import os -import ifcfm import importlib +import os + +import ifcfm def refresh(): diff --git a/src/bonsai/bonsai/bim/module/fm/operator.py b/src/bonsai/bonsai/bim/module/fm/operator.py index cda36598db..629251282a 100644 --- a/src/bonsai/bonsai/bim/module/fm/operator.py +++ b/src/bonsai/bonsai/bim/module/fm/operator.py @@ -16,16 +16,18 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import os -import bpy import json -import ifcfm import logging +import os import tempfile + +import bpy +import ifcfm import ifcopenshell -import bonsai.tool as tool from bpy_extras.io_utils import ExportHelper, ImportHelper +import bonsai.tool as tool + class ExecuteIfcFM(bpy.types.Operator, ExportHelper): bl_idname = "bim.execute_ifcfm" diff --git a/src/bonsai/bonsai/bim/module/fm/prop.py b/src/bonsai/bonsai/bim/module/fm/prop.py index 25db89224f..2eb1ae4739 100644 --- a/src/bonsai/bonsai/bim/module/fm/prop.py +++ b/src/bonsai/bonsai/bim/module/fm/prop.py @@ -16,22 +16,24 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Literal + import bpy +from bpy.props import ( + BoolProperty, + CollectionProperty, + EnumProperty, + FloatProperty, + FloatVectorProperty, + IntProperty, + PointerProperty, + StringProperty, +) +from bpy.types import PropertyGroup + import bonsai.tool as tool from bonsai.bim.module.fm.data import FMData from bonsai.bim.prop import MultipleFileSelect, StrProperty -from bpy.types import PropertyGroup -from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, - BoolProperty, - IntProperty, - FloatProperty, - FloatVectorProperty, - CollectionProperty, -) -from typing import TYPE_CHECKING, Literal def get_engine(self: "BIMFMProperties", context: object) -> tool.Blender.BLENDER_ENUM_ITEMS: diff --git a/src/bonsai/bonsai/bim/module/fm/ui.py b/src/bonsai/bonsai/bim/module/fm/ui.py index fa889c61fd..69e51ea6dc 100644 --- a/src/bonsai/bonsai/bim/module/fm/ui.py +++ b/src/bonsai/bonsai/bim/module/fm/ui.py @@ -16,8 +16,9 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bonsai.tool as tool from bpy.types import Panel + +import bonsai.tool as tool from bonsai.bim.module.fm.data import FMData diff --git a/src/bonsai/bonsai/bim/module/geometry/__init__.py b/src/bonsai/bonsai/bim/module/geometry/__init__.py index de9a75fbc7..bc64947436 100644 --- a/src/bonsai/bonsai/bim/module/geometry/__init__.py +++ b/src/bonsai/bonsai/bim/module/geometry/__init__.py @@ -16,12 +16,14 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -from . import ui, prop, operator -from bpy.app.handlers import persistent -import ifcopenshell.util.element import math +import bpy +import ifcopenshell.util.element +from bpy.app.handlers import persistent + +from . import operator, prop, ui + classes = ( operator.AddCurvelikeItem, operator.AddHalfSpaceSolidItem, diff --git a/src/bonsai/bonsai/bim/module/geometry/data.py b/src/bonsai/bonsai/bim/module/geometry/data.py index 2e7d6c4205..05344ab87e 100644 --- a/src/bonsai/bonsai/bim/module/geometry/data.py +++ b/src/bonsai/bonsai/bim/module/geometry/data.py @@ -16,16 +16,18 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import Any, Union + import bpy import ifcopenshell.util.element import ifcopenshell.util.geolocation import ifcopenshell.util.placement import ifcopenshell.util.representation import ifcopenshell.util.unit -import bonsai.tool as tool -from typing import Any, Union from mathutils import Vector +import bonsai.tool as tool + def refresh(): ViewportData.is_loaded = False diff --git a/src/bonsai/bonsai/bim/module/geometry/decorator.py b/src/bonsai/bonsai/bim/module/geometry/decorator.py index 0888dd66c4..c5a82c1d59 100644 --- a/src/bonsai/bonsai/bim/module/geometry/decorator.py +++ b/src/bonsai/bonsai/bim/module/geometry/decorator.py @@ -16,18 +16,20 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy +from collections.abc import Sequence + import blf -import gpu import bmesh +import bpy +import gpu import ifcopenshell -import bonsai.tool as tool import numpy as np from bpy.types import SpaceView3D -from mathutils import Vector, Matrix -from gpu_extras.batch import batch_for_shader from bpy_extras.view3d_utils import location_3d_to_region_2d -from collections.abc import Sequence +from gpu_extras.batch import batch_for_shader +from mathutils import Matrix, Vector + +import bonsai.tool as tool class ItemDecorator: @@ -75,27 +77,8 @@ class ItemDecorator: special_edges = [] if (total_triangles := len(obj.data.loop_triangles)) > 0: - # TODO: this is a far too small threshold. - # This is just a stopgap optimisation until other slowdowns are solved. - if total_triangles > 500: - vert_map = {} - i = 0 - verts = [] - tris = [] - for tri in obj.data.loop_triangles[:500]: - new_tri = [] - for vert in tri.vertices: - if vert in vert_map: - new_tri.append(vert_map[vert]) - else: - vert_map[vert] = i - new_tri.append(i) - i += 1 - verts.append(tuple(obj.matrix_world @ obj.data.vertices[vert].co)) - tris.append(new_tri) - else: - verts = [tuple(obj.matrix_world @ v.co) for v in obj.data.vertices] - tris = [tuple(t.vertices) for t in obj.data.loop_triangles] + verts = [tuple(obj.matrix_world @ v.co) for v in obj.data.vertices] + tris = [tuple(t.vertices) for t in obj.data.loop_triangles] i = len(verts) matrix_world = obj.matrix_world diff --git a/src/bonsai/bonsai/bim/module/geometry/helper.py b/src/bonsai/bonsai/bim/module/geometry/helper.py index 7f70df4b96..511669d60d 100644 --- a/src/bonsai/bonsai/bim/module/geometry/helper.py +++ b/src/bonsai/bonsai/bim/module/geometry/helper.py @@ -16,19 +16,21 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy +from math import pi, pow +from typing import Any, Optional, TypeVar, Union + import bmesh -import shapely +import bpy +import ifcopenshell +import ifcopenshell.util.shape +import ifcopenshell.util.unit import mathutils import numpy as np -import ifcopenshell -import ifcopenshell.util.unit -import ifcopenshell.util.shape -import bonsai.tool as tool -from math import pi, pow -from mathutils import Vector, Matrix, geometry -from typing import Union, Any, TypeVar, Optional +import shapely from ifcopenshell.util.shape_builder import ShapeBuilder +from mathutils import Matrix, Vector, geometry + +import bonsai.tool as tool T = TypeVar("T") diff --git a/src/bonsai/bonsai/bim/module/geometry/operator.py b/src/bonsai/bonsai/bim/module/geometry/operator.py index a35a4de7bc..7937acca30 100644 --- a/src/bonsai/bonsai/bim/module/geometry/operator.py +++ b/src/bonsai/bonsai/bim/module/geometry/operator.py @@ -17,17 +17,30 @@ # along with Bonsai. If not, see . import re -import bpy +from collections.abc import Sequence +from time import time +from typing import ( + TYPE_CHECKING, + Any, + Literal, + NamedTuple, + Union, + assert_never, + get_args, +) + import bmesh -import numpy as np -import numpy.typing as npt +import bpy import ifcopenshell +import ifcopenshell.api +import ifcopenshell.api.boundary import ifcopenshell.api.drawing -import ifcopenshell.api.group -import ifcopenshell.api.pset import ifcopenshell.api.geometry +import ifcopenshell.api.grid +import ifcopenshell.api.group import ifcopenshell.api.layer import ifcopenshell.api.material +import ifcopenshell.api.pset import ifcopenshell.api.root import ifcopenshell.api.style import ifcopenshell.util.element @@ -35,26 +48,23 @@ import ifcopenshell.util.placement import ifcopenshell.util.representation import ifcopenshell.util.shape_builder import ifcopenshell.util.unit -import ifcopenshell.api -import ifcopenshell.api.boundary -import ifcopenshell.api.grid +import numpy as np +import numpy.typing as npt +from ifcopenshell.util.shape_builder import ShapeBuilder +from mathutils import Matrix, Quaternion, Vector + +import bonsai.bim.handler +import bonsai.core.aggregate +import bonsai.core.drawing import bonsai.core.geometry import bonsai.core.geometry as core -import bonsai.core.aggregate import bonsai.core.nest +import bonsai.core.root import bonsai.core.spatial import bonsai.core.style -import bonsai.core.root -import bonsai.core.drawing import bonsai.tool as tool -import bonsai.bim.handler -from bonsai.bim.module.model.data import AuthoringData -from mathutils import Vector, Matrix, Quaternion -from time import time from bonsai.bim.ifc import IfcStore -from ifcopenshell.util.shape_builder import ShapeBuilder -from collections.abc import Sequence -from typing import Any, Union, Literal, get_args, TYPE_CHECKING, assert_never, NamedTuple +from bonsai.bim.module.model.data import AuthoringData from bonsai.bim.module.model.decorator import ProfileDecorator if TYPE_CHECKING: @@ -892,6 +902,7 @@ class OverrideDelete(bpy.types.Operator): if not is_valid_data_block: continue + element = tool.Ifc.get_entity(obj) if element: if tool.Geometry.is_locked(element): @@ -902,6 +913,9 @@ class OverrideDelete(bpy.types.Operator): if ifcopenshell.util.element.get_pset(element, "BBIM_Array"): self.report({"INFO"}, "Elements that are part of an array cannot be deleted.") continue + if element.is_a("IfcDocumentReference"): + self.report({"INFO"}, "Linked models cannot be deleted.") + continue if element.is_a("IfcGridAxis"): # Deleting the last W axis is OK if ((grid := element.PartOfU) and len(grid[0].UAxes) == 1) or ( @@ -1198,6 +1212,11 @@ class OverrideDuplicateMove(bpy.types.Operator): operator.report({"ERROR"}, f"Drawing '{obj.name}' not duplicated.") continue + if element.is_a("IfcDocumentReference"): + objects_to_remove.add(obj) + operator.report({"ERROR"}, f"Linked model '{obj.name}' not duplicated.") + continue + if tool.Geometry.is_locked(element): objects_to_remove.add(obj) operator.report({"ERROR"}, lock_error_message(obj.name)) @@ -1715,40 +1734,19 @@ class RefreshLinkedAggregate(bpy.types.Operator, tool.Ifc.Operator): # Only assign container if element is not already aggregated under another element # Aggregated elements should not be in the spatial structure if not ifcopenshell.util.element.get_aggregate(element): - container = original_data[matching_group_id][index]["Container"] bonsai.core.spatial.assign_container( tool.Ifc, tool.Collector, tool.Spatial, - container=container, - element_obj=obj, + container=original_data[matching_group_id][index]["Container"], + objs=[obj], ) + for part in ifcopenshell.util.element.get_parts(tool.Ifc.get_entity(obj)): + tool.Collector.assign(tool.Ifc.get_object(part)) - # Get the container's collection for moving parts in the outliner - container_obj = tool.Ifc.get_object(container) - container_collection = container_obj.BIMObjectProperties.collection if container_obj else None - - # Move all parts to the container's collection in the outliner - if container_collection: - for part in ifcopenshell.util.element.get_parts(element): - part_obj = tool.Ifc.get_object(part) - if part_obj: - # Remove from all previous collections - for col in part_obj.users_collection[:]: - col.objects.unlink(part_obj) - - # Link to container collection - if part_obj.name not in container_collection.objects: - container_collection.objects.link(part_obj) - - # Recursively handle nested parts - for nested_part in ifcopenshell.util.element.get_parts(part): - nested_part_obj = tool.Ifc.get_object(nested_part) - if nested_part_obj: - for col in nested_part_obj.users_collection[:]: - col.objects.unlink(nested_part_obj) - if nested_part_obj.name not in container_collection.objects: - container_collection.objects.link(nested_part_obj) + assignments = original_data[matching_group_id][index]["Assignment"] + if assignments: + assign_to_annotations(obj, assignments) else: try: obj.name = original_data[matching_group_id][index]["Name"] @@ -2053,6 +2051,7 @@ class OverrideJoin(bpy.types.Operator, tool.Ifc.Operator): return position items = list(representation.Items) + skipped_objects = [] for obj in context.selected_editable_objects: if obj == self.target: continue @@ -2072,12 +2071,8 @@ class OverrideJoin(bpy.types.Operator, tool.Ifc.Operator): assert obj_rep if obj_rep.RepresentationType != representation_type: obj.select_set(False) - self.report( - {"ERROR"}, - f"IFC join failed - object '{obj.name}' has a different representation type " - f"({obj_rep.RepresentationType})\nthan target '{self.target.name}' ({representation_type}).", - ) - return + skipped_objects.append((obj.name, obj_rep.RepresentationType)) + continue placement = np.array(obj.matrix_world) placement[M_TRANSLATION] /= si_conversion @@ -2157,6 +2152,9 @@ class OverrideJoin(bpy.types.Operator, tool.Ifc.Operator): items.append(copied_item) ifcopenshell.api.root.remove_product(ifc_file, product=element) + if skipped_objects: + skipped_info = ", ".join(f"'{name}' ({rep_type})" for name, rep_type in skipped_objects) + self.report({"INFO"}, f"Skipped incompatible objects: {skipped_info}") representation.Items = items bpy.ops.object.join() core.switch_representation( diff --git a/src/bonsai/bonsai/bim/module/geometry/prop.py b/src/bonsai/bonsai/bim/module/geometry/prop.py index 1f8e00c11b..5336eef1c0 100644 --- a/src/bonsai/bonsai/bim/module/geometry/prop.py +++ b/src/bonsai/bonsai/bim/module/geometry/prop.py @@ -16,23 +16,25 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import ifcopenshell +from typing import TYPE_CHECKING, Literal, Optional, Union + import bpy -import bonsai.tool as tool -from bonsai.bim.prop import StrProperty, Attribute, ObjProperty -from bonsai.bim.module.geometry.data import RepresentationsData, ViewportData -from bpy.types import PropertyGroup +import ifcopenshell from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import Optional, TYPE_CHECKING, Union, Literal +from bpy.types import PropertyGroup + +import bonsai.tool as tool +from bonsai.bim.module.geometry.data import RepresentationsData, ViewportData +from bonsai.bim.prop import Attribute, ObjProperty, StrProperty def get_contexts(self: "BIMObjectGeometryProperties", context: bpy.types.Context) -> list[tuple[str, str, str]]: diff --git a/src/bonsai/bonsai/bim/module/geometry/ui.py b/src/bonsai/bonsai/bim/module/geometry/ui.py index c4ae6e5491..2af216c7a1 100644 --- a/src/bonsai/bonsai/bim/module/geometry/ui.py +++ b/src/bonsai/bonsai/bim/module/geometry/ui.py @@ -17,16 +17,17 @@ # along with Bonsai. If not, see . import bpy +from bpy.types import Menu, Panel, UIList + import bonsai.bim import bonsai.tool as tool -from bpy.types import Panel, Menu, UIList from bonsai.bim.helper import prop_with_search from bonsai.bim.module.geometry.data import ( - RepresentationsData, - RepresentationItemsData, ConnectionsData, - PlacementData, DerivedCoordinatesData, + PlacementData, + RepresentationItemsData, + RepresentationsData, ) from bonsai.bim.module.layer.data import LayersData diff --git a/src/bonsai/bonsai/bim/module/georeference/__init__.py b/src/bonsai/bonsai/bim/module/georeference/__init__.py index 407cd8fead..39ee8f4143 100644 --- a/src/bonsai/bonsai/bim/module/georeference/__init__.py +++ b/src/bonsai/bonsai/bim/module/georeference/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddGeoreferencing, diff --git a/src/bonsai/bonsai/bim/module/georeference/data.py b/src/bonsai/bonsai/bim/module/georeference/data.py index 059368abc7..cf86314f9a 100644 --- a/src/bonsai/bonsai/bim/module/georeference/data.py +++ b/src/bonsai/bonsai/bim/module/georeference/data.py @@ -18,14 +18,15 @@ import bpy -import numpy as np -import bonsai.tool as tool import ifcopenshell.util.element import ifcopenshell.util.geolocation import ifcopenshell.util.schema import ifcopenshell.util.unit -from mathutils import Matrix, Vector +import numpy as np from ifcopenshell.util.doc import get_entity_doc +from mathutils import Matrix, Vector + +import bonsai.tool as tool def refresh(): diff --git a/src/bonsai/bonsai/bim/module/georeference/decorator.py b/src/bonsai/bonsai/bim/module/georeference/decorator.py index 01818e9805..6cece45cc8 100644 --- a/src/bonsai/bonsai/bim/module/georeference/decorator.py +++ b/src/bonsai/bonsai/bim/module/georeference/decorator.py @@ -16,18 +16,20 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy +from math import radians + import blf -import gpu import bmesh +import bpy +import gpu import ifcopenshell import ifcopenshell.util.geolocation -import bonsai.tool as tool -from math import radians from bpy.types import SpaceView3D -from mathutils import Vector, Matrix -from gpu_extras.batch import batch_for_shader from bpy_extras.view3d_utils import location_3d_to_region_2d +from gpu_extras.batch import batch_for_shader +from mathutils import Matrix, Vector + +import bonsai.tool as tool from bonsai.bim.module.georeference.data import GeoreferenceData diff --git a/src/bonsai/bonsai/bim/module/georeference/operator.py b/src/bonsai/bonsai/bim/module/georeference/operator.py index 7d8f98dd6c..c2af3d9225 100644 --- a/src/bonsai/bonsai/bim/module/georeference/operator.py +++ b/src/bonsai/bonsai/bim/module/georeference/operator.py @@ -17,10 +17,10 @@ # along with Bonsai. If not, see . import bpy - -import bonsai.tool as tool -import bonsai.core.georeference as core from bpy_extras.io_utils import ImportHelper + +import bonsai.core.georeference as core +import bonsai.tool as tool from bonsai.bim.module.georeference.decorator import GeoreferenceDecorator @@ -51,7 +51,7 @@ class RemoveGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): bl_description = "Remove the georeferencing" def _execute(self, context): - core.remove_georeferencing(tool.Ifc) + core.remove_georeferencing(tool.Ifc, tool.Georeference) class EditGeoreferencing(bpy.types.Operator, tool.Ifc.Operator): diff --git a/src/bonsai/bonsai/bim/module/georeference/prop.py b/src/bonsai/bonsai/bim/module/georeference/prop.py index 1b6088556b..1f4ca321ac 100644 --- a/src/bonsai/bonsai/bim/module/georeference/prop.py +++ b/src/bonsai/bonsai/bim/module/georeference/prop.py @@ -16,24 +16,26 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING + import bpy import ifcopenshell.util.geolocation -import bonsai.tool as tool -from bonsai.bim.prop import Attribute -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) +from bpy.types import PropertyGroup + +import bonsai.tool as tool from bonsai.bim.module.georeference.data import GeoreferenceData from bonsai.bim.module.georeference.decorator import GeoreferenceDecorator -from typing import TYPE_CHECKING +from bonsai.bim.prop import Attribute def get_coordinate_operation_class( @@ -222,16 +224,12 @@ class BIMGeoreferenceProperties(PropertyGroup): x_axis_ordinate: StringProperty(name="X Axis Ordinate", update=update_grid_north_vector) x_axis_is_null: BoolProperty(name="X Axis Is Null") - # These are only for reference to capture data about a host model from a linked model - # If you relink a model from a new host origin, we can autodetect it in theory with this - host_model_origin: StringProperty(name="Host Model Origin") - host_model_origin_si: StringProperty(name="Host Model Origin SI") - host_model_project_north: StringProperty(name="Host Model Angle to Grid North") - # This is the ENH in project units and SI units of the Blender session's 0,0,0. # These are only for reference, using tool.Georeference.set_model_origin on # project load, project create, and when linking for the first time from an # empty Blender session. + model_is_georeferenced: BoolProperty(name="Model Is Georeferenced") + model_crs: StringProperty(name="Model CRS") model_origin: StringProperty(name="Model Origin") model_origin_si: StringProperty(name="Model Origin SI") model_project_north: StringProperty(name="Model Angle to Grid North") @@ -273,10 +271,6 @@ class BIMGeoreferenceProperties(PropertyGroup): x_axis_ordinate: str x_axis_is_null: bool - host_model_origin: str - host_model_origin_si: str - host_model_project_north: str - model_origin: str model_origin_si: str model_project_north: str diff --git a/src/bonsai/bonsai/bim/module/georeference/ui.py b/src/bonsai/bonsai/bim/module/georeference/ui.py index 3dfec3a9f5..93e16b0fbe 100644 --- a/src/bonsai/bonsai/bim/module/georeference/ui.py +++ b/src/bonsai/bonsai/bim/module/georeference/ui.py @@ -16,9 +16,10 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bonsai.tool as tool from bpy.types import Panel -from bonsai.bim.helper import draw_attributes, draw_attribute + +import bonsai.tool as tool +from bonsai.bim.helper import draw_attribute, draw_attributes from bonsai.bim.module.georeference.data import GeoreferenceData diff --git a/src/bonsai/bonsai/bim/module/gis/__init__.py b/src/bonsai/bonsai/bim/module/gis/__init__.py index 4f0707c693..2e0eeecad3 100644 --- a/src/bonsai/bonsai/bim/module/gis/__init__.py +++ b/src/bonsai/bonsai/bim/module/gis/__init__.py @@ -17,9 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import prop -from . import operator -from . import ui + +from . import operator, prop, ui classes = ( prop.BIMCityJsonProperties, diff --git a/src/bonsai/bonsai/bim/module/gis/prop.py b/src/bonsai/bonsai/bim/module/gis/prop.py index bbf12aeb07..1e6ae61614 100644 --- a/src/bonsai/bonsai/bim/module/gis/prop.py +++ b/src/bonsai/bonsai/bim/module/gis/prop.py @@ -16,8 +16,9 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from bpy.props import BoolProperty, CollectionProperty, EnumProperty, StringProperty from bpy.types import PropertyGroup -from bpy.props import StringProperty, BoolProperty, EnumProperty, CollectionProperty + from bonsai.bim.prop import StrProperty diff --git a/src/bonsai/bonsai/bim/module/group/__init__.py b/src/bonsai/bonsai/bim/module/group/__init__.py index 86e8536672..6fd4ed5408 100644 --- a/src/bonsai/bonsai/bim/module/group/__init__.py +++ b/src/bonsai/bonsai/bim/module/group/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddGroup, diff --git a/src/bonsai/bonsai/bim/module/group/data.py b/src/bonsai/bonsai/bim/module/group/data.py index 60b97e77f0..c7be2ff393 100644 --- a/src/bonsai/bonsai/bim/module/group/data.py +++ b/src/bonsai/bonsai/bim/module/group/data.py @@ -20,6 +20,7 @@ import bpy import ifcopenshell import ifcopenshell.util.cost import ifcopenshell.util.element + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/bim/module/group/operator.py b/src/bonsai/bonsai/bim/module/group/operator.py index 40c3e418a1..66872ed90a 100644 --- a/src/bonsai/bonsai/bim/module/group/operator.py +++ b/src/bonsai/bonsai/bim/module/group/operator.py @@ -16,13 +16,15 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Literal, get_args + import bpy import ifcopenshell.api import ifcopenshell.api.group import ifcopenshell.util.element + import bonsai.bim.helper import bonsai.tool as tool -from typing import TYPE_CHECKING, Literal, get_args class LoadGroups(bpy.types.Operator, tool.Ifc.Operator): diff --git a/src/bonsai/bonsai/bim/module/group/prop.py b/src/bonsai/bonsai/bim/module/group/prop.py index e96f6f8a2a..48bff62e35 100644 --- a/src/bonsai/bonsai/bim/module/group/prop.py +++ b/src/bonsai/bonsai/bim/module/group/prop.py @@ -16,22 +16,24 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Union + import bpy -import bonsai.tool as tool -from bonsai.bim.prop import StrProperty, Attribute -from bonsai.bim.module.pset.data import refresh as refresh_pset -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING, Union +from bpy.types import PropertyGroup + +import bonsai.tool as tool +from bonsai.bim.module.pset.data import refresh as refresh_pset +from bonsai.bim.prop import Attribute, StrProperty def update_active_group_index(self, context): diff --git a/src/bonsai/bonsai/bim/module/group/ui.py b/src/bonsai/bonsai/bim/module/group/ui.py index ac437e9c42..a9620c8ffc 100644 --- a/src/bonsai/bonsai/bim/module/group/ui.py +++ b/src/bonsai/bonsai/bim/module/group/ui.py @@ -17,12 +17,15 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING + import bpy -import bonsai.tool as tool from bpy.types import Panel, UIList + +import bonsai.tool as tool from bonsai.bim.helper import draw_attributes from bonsai.bim.module.group.data import GroupsData, ObjectGroupsData -from typing import TYPE_CHECKING if TYPE_CHECKING: from bonsai.bim.module.group.prop import BIMGroupProperties, Group diff --git a/src/bonsai/bonsai/bim/module/ifcgit/__init__.py b/src/bonsai/bonsai/bim/module/ifcgit/__init__.py index ae946e4e9d..df47b7774c 100644 --- a/src/bonsai/bonsai/bim/module/ifcgit/__init__.py +++ b/src/bonsai/bonsai/bim/module/ifcgit/__init__.py @@ -16,8 +16,8 @@ # Massimo Fabbro import bpy -from . import ui, prop, operator +from . import operator, prop, ui classes = ( operator.AddFileToRepo, diff --git a/src/bonsai/bonsai/bim/module/ifcgit/data.py b/src/bonsai/bonsai/bim/module/ifcgit/data.py index 18ffe0e55c..9cb9f2655d 100644 --- a/src/bonsai/bonsai/bim/module/ifcgit/data.py +++ b/src/bonsai/bonsai/bim/module/ifcgit/data.py @@ -1,7 +1,8 @@ -import bpy import os import shutil +import bpy + # import tool import bonsai.tool as tool diff --git a/src/bonsai/bonsai/bim/module/ifcgit/operator.py b/src/bonsai/bonsai/bim/module/ifcgit/operator.py index 8457c69fc7..829a0a62a2 100644 --- a/src/bonsai/bonsai/bim/module/ifcgit/operator.py +++ b/src/bonsai/bonsai/bim/module/ifcgit/operator.py @@ -1,10 +1,12 @@ import os import re +from typing import TYPE_CHECKING + import bpy + import bonsai.core.ifcgit as core import bonsai.tool as tool from bonsai.bim.module.ifcgit.data import IfcGitData, refresh -from typing import TYPE_CHECKING class CreateRepo(bpy.types.Operator): diff --git a/src/bonsai/bonsai/bim/module/ifcgit/prop.py b/src/bonsai/bonsai/bim/module/ifcgit/prop.py index 128cfcd44b..cba3ca632c 100644 --- a/src/bonsai/bonsai/bim/module/ifcgit/prop.py +++ b/src/bonsai/bonsai/bim/module/ifcgit/prop.py @@ -1,15 +1,17 @@ +from typing import TYPE_CHECKING, Literal + import bpy -import bonsai.tool as tool -from bpy.types import PropertyGroup from bpy.props import ( - StringProperty, BoolProperty, CollectionProperty, - IntProperty, EnumProperty, + IntProperty, + StringProperty, ) +from bpy.types import PropertyGroup + +import bonsai.tool as tool from bonsai.bim.module.ifcgit.data import IfcGitData -from typing import TYPE_CHECKING, Literal def git_branches(self: "IfcGitProperties", context: bpy.types.Context) -> tool.Blender.BLENDER_ENUM_ITEMS: diff --git a/src/bonsai/bonsai/bim/module/ifcgit/ui.py b/src/bonsai/bonsai/bim/module/ifcgit/ui.py index 631f33c7e1..d8b7357e7b 100644 --- a/src/bonsai/bonsai/bim/module/ifcgit/ui.py +++ b/src/bonsai/bonsai/bim/module/ifcgit/ui.py @@ -1,15 +1,17 @@ from __future__ import annotations -import bpy -import time + import os import platform -import bonsai.tool as tool +import time from typing import TYPE_CHECKING +import bpy + +import bonsai.tool as tool from bonsai.bim.module.ifcgit.data import IfcGitData if TYPE_CHECKING: - from bonsai.bim.module.ifcgit.prop import IfcGitProperties, IfcGitListItem + from bonsai.bim.module.ifcgit.prop import IfcGitListItem, IfcGitProperties class IFCGIT_PT_panel(bpy.types.Panel): diff --git a/src/bonsai/bonsai/bim/module/layer/__init__.py b/src/bonsai/bonsai/bim/module/layer/__init__.py index 9ee1c57fb4..06d5175833 100644 --- a/src/bonsai/bonsai/bim/module/layer/__init__.py +++ b/src/bonsai/bonsai/bim/module/layer/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddPresentationLayer, diff --git a/src/bonsai/bonsai/bim/module/layer/data.py b/src/bonsai/bonsai/bim/module/layer/data.py index f55b4c2900..4550d3257e 100644 --- a/src/bonsai/bonsai/bim/module/layer/data.py +++ b/src/bonsai/bonsai/bim/module/layer/data.py @@ -16,10 +16,12 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import Any + import bpy import ifcopenshell + import bonsai.tool as tool -from typing import Any def refresh(): diff --git a/src/bonsai/bonsai/bim/module/layer/operator.py b/src/bonsai/bonsai/bim/module/layer/operator.py index d1b5a0580b..8475bebd54 100644 --- a/src/bonsai/bonsai/bim/module/layer/operator.py +++ b/src/bonsai/bonsai/bim/module/layer/operator.py @@ -16,13 +16,15 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING + import bpy import ifcopenshell.api import ifcopenshell.api.layer import ifcopenshell.util.element + import bonsai.bim.helper import bonsai.tool as tool -from typing import TYPE_CHECKING def get_active_mesh(context: bpy.types.Context, mesh_name: str) -> bpy.types.Mesh: diff --git a/src/bonsai/bonsai/bim/module/layer/prop.py b/src/bonsai/bonsai/bim/module/layer/prop.py index 079ba262de..26a6c3680d 100644 --- a/src/bonsai/bonsai/bim/module/layer/prop.py +++ b/src/bonsai/bonsai/bim/module/layer/prop.py @@ -16,21 +16,23 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING + import bpy -import bonsai.tool as tool -from bonsai.bim.prop import StrProperty, Attribute -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING +from bpy.types import PropertyGroup + +import bonsai.tool as tool +from bonsai.bim.prop import Attribute, StrProperty def update_layer_property(self: "Layer", context: bpy.types.Context, *, property: str) -> None: diff --git a/src/bonsai/bonsai/bim/module/layer/ui.py b/src/bonsai/bonsai/bim/module/layer/ui.py index d7fcdec215..b4de131ad6 100644 --- a/src/bonsai/bonsai/bim/module/layer/ui.py +++ b/src/bonsai/bonsai/bim/module/layer/ui.py @@ -17,12 +17,15 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING + import bpy +from bpy.types import Mesh, Panel, UIList + import bonsai.tool as tool -from bpy.types import Panel, UIList, Mesh from bonsai.bim.helper import draw_attributes from bonsai.bim.module.layer.data import LayersData -from typing import TYPE_CHECKING if TYPE_CHECKING: from bonsai.bim.module.layer.prop import BIMLayerProperties, Layer diff --git a/src/bonsai/bonsai/bim/module/library/__init__.py b/src/bonsai/bonsai/bim/module/library/__init__.py index 5017772cfe..a3ef2c3060 100644 --- a/src/bonsai/bonsai/bim/module/library/__init__.py +++ b/src/bonsai/bonsai/bim/module/library/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddLibrary, diff --git a/src/bonsai/bonsai/bim/module/library/data.py b/src/bonsai/bonsai/bim/module/library/data.py index 87ad7c23ae..0d26369035 100644 --- a/src/bonsai/bonsai/bim/module/library/data.py +++ b/src/bonsai/bonsai/bim/module/library/data.py @@ -17,6 +17,7 @@ # along with Bonsai. If not, see . import bpy + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/bim/module/library/operator.py b/src/bonsai/bonsai/bim/module/library/operator.py index 6f4e971465..6c7abe8be5 100644 --- a/src/bonsai/bonsai/bim/module/library/operator.py +++ b/src/bonsai/bonsai/bim/module/library/operator.py @@ -18,8 +18,9 @@ import bpy import ifcopenshell.api -import bonsai.tool as tool + import bonsai.core.library as core +import bonsai.tool as tool class AddLibrary(bpy.types.Operator, tool.Ifc.Operator): diff --git a/src/bonsai/bonsai/bim/module/library/prop.py b/src/bonsai/bonsai/bim/module/library/prop.py index 24defdf9ea..69647c195f 100644 --- a/src/bonsai/bonsai/bim/module/library/prop.py +++ b/src/bonsai/bonsai/bim/module/library/prop.py @@ -16,22 +16,24 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Literal + import bpy -import bonsai.tool as tool -from bonsai.bim.prop import StrProperty, Attribute -from bonsai.bim.module.library.data import LibrariesData -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING, Literal +from bpy.types import PropertyGroup + +import bonsai.tool as tool +from bonsai.bim.module.library.data import LibrariesData +from bonsai.bim.prop import Attribute, StrProperty def update_active_reference_index(self, context): diff --git a/src/bonsai/bonsai/bim/module/library/ui.py b/src/bonsai/bonsai/bim/module/library/ui.py index bfc64e3020..f76e6a3251 100644 --- a/src/bonsai/bonsai/bim/module/library/ui.py +++ b/src/bonsai/bonsai/bim/module/library/ui.py @@ -17,12 +17,15 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING + import bpy +from bpy.types import Panel, UIList + import bonsai.bim.helper import bonsai.tool as tool -from bpy.types import Panel, UIList from bonsai.bim.module.library.data import LibrariesData, LibraryReferencesData -from typing import TYPE_CHECKING if TYPE_CHECKING: from bonsai.bim.module.library.prop import BIMLibraryProperties, LibraryReference diff --git a/src/bonsai/bonsai/bim/module/light/__init__.py b/src/bonsai/bonsai/bim/module/light/__init__.py index 2785bba125..1bfe11be7a 100644 --- a/src/bonsai/bonsai/bim/module/light/__init__.py +++ b/src/bonsai/bonsai/bim/module/light/__init__.py @@ -16,17 +16,17 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -from . import ui, prop, operator, list - -import stat -from pathlib import Path - import importlib import importlib.util +import stat import traceback +from pathlib import Path + +import bpy import pyradiance +from . import list, operator, prop, ui + def get_pyradiance_path(): return importlib.util.find_spec("pyradiance").submodule_search_locations[0] diff --git a/src/bonsai/bonsai/bim/module/light/data.py b/src/bonsai/bonsai/bim/module/light/data.py index abe9d9e87d..d708b6170f 100644 --- a/src/bonsai/bonsai/bim/module/light/data.py +++ b/src/bonsai/bonsai/bim/module/light/data.py @@ -17,10 +17,11 @@ # along with Bonsai. If not, see . import bpy -import bonsai.tool as tool import ifcopenshell.util.geolocation from mathutils import Vector +import bonsai.tool as tool + def refresh(): SolarData.is_loaded = False diff --git a/src/bonsai/bonsai/bim/module/light/decorator.py b/src/bonsai/bonsai/bim/module/light/decorator.py index 77cd20ddbd..9cfb9ae186 100644 --- a/src/bonsai/bonsai/bim/module/light/decorator.py +++ b/src/bonsai/bonsai/bim/module/light/decorator.py @@ -16,16 +16,18 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy +from math import degrees, radians + import blf -import gpu import bmesh -import bonsai.tool as tool +import bpy +import gpu from bpy.types import SpaceView3D -from math import radians, degrees -from mathutils import Vector, Matrix -from gpu_extras.batch import batch_for_shader from bpy_extras.view3d_utils import location_3d_to_region_2d +from gpu_extras.batch import batch_for_shader +from mathutils import Matrix, Vector + +import bonsai.tool as tool from bonsai.bim.module.light.data import SolarData diff --git a/src/bonsai/bonsai/bim/module/light/list.py b/src/bonsai/bonsai/bim/module/light/list.py index 6eaa1f4c79..ff6b7ae4bd 100644 --- a/src/bonsai/bonsai/bim/module/light/list.py +++ b/src/bonsai/bonsai/bim/module/light/list.py @@ -17,13 +17,18 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy + import json import os from typing import TYPE_CHECKING +import bpy + if TYPE_CHECKING: - from bonsai.bim.module.light.prop import RadianceExporterProperties, RadianceMaterial + from bonsai.bim.module.light.prop import ( + RadianceExporterProperties, + RadianceMaterial, + ) with open(os.path.join(os.path.dirname(__file__), "spectraldb.json"), "r") as f: spectraldb = json.load(f) diff --git a/src/bonsai/bonsai/bim/module/light/operator.py b/src/bonsai/bonsai/bim/module/light/operator.py index 4a8d993e0e..41bae9179c 100644 --- a/src/bonsai/bonsai/bim/module/light/operator.py +++ b/src/bonsai/bonsai/bim/module/light/operator.py @@ -16,28 +16,28 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import os - -import pyradiance as pr -from datetime import datetime -import bpy -import bonsai.tool as tool -from pathlib import Path -from typing import Union, TYPE_CHECKING import json import math -import time -import ifcopenshell -import ifcopenshell.util.geolocation -import webbrowser -import ifcopenshell.geom import multiprocessing -import requests +import os +import time +import webbrowser +from datetime import datetime from math import radians +from pathlib import Path +from typing import TYPE_CHECKING, Union + +import bpy +import ifcopenshell +import ifcopenshell.geom +import ifcopenshell.util.geolocation +import pyradiance as pr +import requests +from bpy_extras.io_utils import ExportHelper, ImportHelper from mathutils import Vector + +import bonsai.tool as tool from bonsai.bim.module.light.data import SolarData -from bpy_extras.io_utils import ExportHelper -from bpy_extras.io_utils import ImportHelper ifc_materials = [] diff --git a/src/bonsai/bonsai/bim/module/light/prop.py b/src/bonsai/bonsai/bim/module/light/prop.py index e538ca1bf2..d3498f18b8 100644 --- a/src/bonsai/bonsai/bim/module/light/prop.py +++ b/src/bonsai/bonsai/bim/module/light/prop.py @@ -16,27 +16,29 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +import datetime +import json +import os +from math import pi, radians +from typing import TYPE_CHECKING, Literal, Union + import bpy import pytz import tzfpy -import json -import datetime -import bonsai.tool as tool -from typing import TYPE_CHECKING, Literal, Union -from math import radians, pi -from mathutils import Euler, Vector, Matrix, Quaternion from bpy.props import ( - IntProperty, - StringProperty, + BoolProperty, + CollectionProperty, EnumProperty, FloatProperty, FloatVectorProperty, - BoolProperty, - CollectionProperty, + IntProperty, PointerProperty, + StringProperty, ) -import os from bpy.types import PropertyGroup +from mathutils import Euler, Matrix, Quaternion, Vector + +import bonsai.tool as tool from bonsai.bim.module.light.data import SolarData from bonsai.bim.module.light.decorator import SolarDecorator diff --git a/src/bonsai/bonsai/bim/module/light/ui.py b/src/bonsai/bonsai/bim/module/light/ui.py index 0f0ffc09cb..cd4bdbb362 100644 --- a/src/bonsai/bonsai/bim/module/light/ui.py +++ b/src/bonsai/bonsai/bim/module/light/ui.py @@ -17,9 +17,11 @@ # along with Bonsai. If not, see . import calendar -import bpy -import bonsai.tool as tool from typing import TYPE_CHECKING + +import bpy + +import bonsai.tool as tool from bonsai.bim.module.light.data import SolarData diff --git a/src/bonsai/bonsai/bim/module/material/__init__.py b/src/bonsai/bonsai/bim/module/material/__init__.py index c7f7756bc9..5f14b170ee 100644 --- a/src/bonsai/bonsai/bim/module/material/__init__.py +++ b/src/bonsai/bonsai/bim/module/material/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddConstituent, diff --git a/src/bonsai/bonsai/bim/module/material/data.py b/src/bonsai/bonsai/bim/module/material/data.py index b56ff93e33..36c93add4f 100644 --- a/src/bonsai/bonsai/bim/module/material/data.py +++ b/src/bonsai/bonsai/bim/module/material/data.py @@ -17,15 +17,17 @@ # along with Bonsai. If not, see . import os +from typing import Any, Union + import bpy import ifcopenshell -import ifcopenshell.util.element import ifcopenshell.util.doc +import ifcopenshell.util.element import ifcopenshell.util.schema +from natsort import natsorted + import bonsai.tool as tool from bonsai.bim.module.drawing.helper import format_distance -from typing import Any, Union -from natsort import natsorted def refresh(): diff --git a/src/bonsai/bonsai/bim/module/material/operator.py b/src/bonsai/bonsai/bim/module/material/operator.py index f46f2c7b6a..81ef17e6e4 100644 --- a/src/bonsai/bonsai/bim/module/material/operator.py +++ b/src/bonsai/bonsai/bim/module/material/operator.py @@ -16,20 +16,22 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import json +from typing import TYPE_CHECKING, Any, Literal, Union + +import bpy import ifcopenshell.api import ifcopenshell.api.material import ifcopenshell.api.profile import ifcopenshell.api.style import ifcopenshell.util.element import ifcopenshell.util.representation + import bonsai.bim.helper -import bonsai.tool as tool -import bonsai.core.material as core import bonsai.bim.module.model.profile as model_profile -from typing import Any, Union, TYPE_CHECKING, Literal -from bonsai.bim.module.model import wall, slab +import bonsai.core.material as core +import bonsai.tool as tool +from bonsai.bim.module.model import slab, wall if TYPE_CHECKING: from bonsai.bim.prop import Attribute diff --git a/src/bonsai/bonsai/bim/module/material/prop.py b/src/bonsai/bonsai/bim/module/material/prop.py index 2fbd8d2847..27567ab27e 100644 --- a/src/bonsai/bonsai/bim/module/material/prop.py +++ b/src/bonsai/bonsai/bim/module/material/prop.py @@ -16,26 +16,28 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import ifcopenshell +from typing import TYPE_CHECKING + import bpy +import ifcopenshell +from bpy.props import ( + BoolProperty, + CollectionProperty, + EnumProperty, + FloatProperty, + FloatVectorProperty, + IntProperty, + PointerProperty, + StringProperty, +) +from bpy.types import PropertyGroup from ifcopenshell.util.doc import get_entity_doc + import bonsai.tool as tool from bonsai.bim.module.classification.data import MaterialClassificationsData from bonsai.bim.module.material.data import MaterialsData, ObjectMaterialData from bonsai.bim.module.profile.data import ProfileData -from bonsai.bim.prop import StrProperty, Attribute -from bpy.types import PropertyGroup -from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, - BoolProperty, - IntProperty, - FloatProperty, - FloatVectorProperty, - CollectionProperty, -) -from typing import TYPE_CHECKING +from bonsai.bim.prop import Attribute, StrProperty def get_profile_classes(self, context): diff --git a/src/bonsai/bonsai/bim/module/material/ui.py b/src/bonsai/bonsai/bim/module/material/ui.py index db05276d9b..2ac1908327 100644 --- a/src/bonsai/bonsai/bim/module/material/ui.py +++ b/src/bonsai/bonsai/bim/module/material/ui.py @@ -17,19 +17,21 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bonsai.bim.helper -import bonsai.tool as tool + +from typing import TYPE_CHECKING, Any + import bpy import ifcopenshell.util.element import ifcopenshell.util.unit from bpy.types import Panel, UIList -from bonsai.bim.helper import draw_attributes -from bonsai.bim.helper import prop_with_search + +import bonsai.bim.helper +import bonsai.tool as tool +from bonsai.bim.helper import draw_attributes, prop_with_search from bonsai.bim.module.material.data import MaterialsData, ObjectMaterialData -from typing import TYPE_CHECKING, Any if TYPE_CHECKING: - from bonsai.bim.module.material.prop import Material, BIMMaterialProperties + from bonsai.bim.module.material.prop import BIMMaterialProperties, Material class BIM_PT_materials(Panel): diff --git a/src/bonsai/bonsai/bim/module/misc/__init__.py b/src/bonsai/bonsai/bim/module/misc/__init__.py index 31926217fc..a71e467b7f 100644 --- a/src/bonsai/bonsai/bim/module/misc/__init__.py +++ b/src/bonsai/bonsai/bim/module/misc/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.DrawSystemArrows, diff --git a/src/bonsai/bonsai/bim/module/misc/operator.py b/src/bonsai/bonsai/bim/module/misc/operator.py index ee3c592f3e..33703331f8 100644 --- a/src/bonsai/bonsai/bim/module/misc/operator.py +++ b/src/bonsai/bonsai/bim/module/misc/operator.py @@ -16,18 +16,20 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Literal, assert_never, get_args + import bpy -import numpy as np import ifcopenshell import ifcopenshell.util.geolocation import ifcopenshell.util.placement import ifcopenshell.util.unit -import bonsai.tool as tool -import bonsai.core.misc as core +import numpy as np +from mathutils import Euler, Matrix, Vector + import bonsai.core.geometry as core_geometry +import bonsai.core.misc as core import bonsai.core.root -from mathutils import Vector, Matrix, Euler -from typing import TYPE_CHECKING, Literal, get_args, assert_never +import bonsai.tool as tool class SetOverrideColour(bpy.types.Operator): diff --git a/src/bonsai/bonsai/bim/module/misc/prop.py b/src/bonsai/bonsai/bim/module/misc/prop.py index 3201cbd94d..889e1f5099 100644 --- a/src/bonsai/bonsai/bim/module/misc/prop.py +++ b/src/bonsai/bonsai/bim/module/misc/prop.py @@ -17,18 +17,19 @@ # along with Bonsai. If not, see . import bpy -from bonsai.bim.prop import StrProperty, Attribute -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) +from bpy.types import PropertyGroup + +from bonsai.bim.prop import Attribute, StrProperty class BIMMiscProperties(PropertyGroup): diff --git a/src/bonsai/bonsai/bim/module/model/__init__.py b/src/bonsai/bonsai/bim/module/model/__init__.py index 47ef5a0343..9fbd631003 100644 --- a/src/bonsai/bonsai/bim/module/model/__init__.py +++ b/src/bonsai/bonsai/bim/module/model/__init__.py @@ -16,33 +16,33 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import NamedTuple + import bpy + from . import ( - handler, - prop, - ui, - grid, array, + covering, + door, + external, + grid, + handler, + mep, + opening, product, - wall, + profile, + prop, + railing, roof, slab, space, - covering, stair, - window, - opening, - mep, - workspace, - profile, sverchok_modifier, - door, - railing, - roof, - mep, - external, + ui, + wall, + window, + workspace, ) -from typing import NamedTuple classes = ( array.AddArray, @@ -50,9 +50,10 @@ classes = ( array.EditArray, array.EnableEditingArray, array.ApplyArray, + array.RegenerateArray, array.RemoveArray, - array.SelectArrayParent, array.SelectAllArrayObjects, + array.SelectArrayParent, array.Input3DCursorXArray, array.Input3DCursorYArray, array.Input3DCursorZArray, @@ -140,7 +141,6 @@ classes = ( prop.BIMRailingProperties, prop.BIMRoofProperties, prop.BIMPolylineProperties, - prop.BIMProductPreviewProperties, prop.BIMExternalParametricGeometryProperties, ui.BIM_PT_array, ui.BIM_PT_stair, @@ -263,7 +263,6 @@ def register(): bpy.types.Scene.BIMModelProperties = bpy.props.PointerProperty(type=prop.BIMModelProperties) bpy.types.Scene.BIMPolylineProperties = bpy.props.PointerProperty(type=prop.BIMPolylineProperties) - bpy.types.Scene.BIMProductPreviewProperties = bpy.props.PointerProperty(type=prop.BIMProductPreviewProperties) bpy.types.Object.BIMArrayProperties = bpy.props.PointerProperty(type=prop.BIMArrayProperties) bpy.types.Object.BIMStairProperties = bpy.props.PointerProperty(type=prop.BIMStairProperties) bpy.types.Object.BIMSverchokProperties = bpy.props.PointerProperty(type=prop.BIMSverchokProperties) @@ -288,7 +287,6 @@ def unregister(): del bpy.types.Scene.BIMModelProperties del bpy.types.Scene.BIMPolylineProperties - del bpy.types.Scene.BIMProductPreviewProperties del bpy.types.Object.BIMArrayProperties del bpy.types.Object.BIMStairProperties del bpy.types.Object.BIMSverchokProperties diff --git a/src/bonsai/bonsai/bim/module/model/array.py b/src/bonsai/bonsai/bim/module/model/array.py index ec1bce2096..5f045435ac 100644 --- a/src/bonsai/bonsai/bim/module/model/array.py +++ b/src/bonsai/bonsai/bim/module/model/array.py @@ -16,15 +16,17 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import json + +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.pset import ifcopenshell.util.element import ifcopenshell.util.unit +from mathutils import Matrix, Vector + import bonsai.tool as tool -from mathutils import Vector, Matrix class AddArray(bpy.types.Operator, tool.Ifc.Operator): @@ -59,7 +61,6 @@ class AddArray(bpy.types.Operator, tool.Ifc.Operator): "y": 0.0, "z": 0.0, "use_local_space": True, - "sync_children": False, "method": "OFFSET", } @@ -78,28 +79,27 @@ class AddArray(bpy.types.Operator, tool.Ifc.Operator): pset=pset, properties={"Parent": element.GlobalId, "Data": ifc_file.create_entity("IfcText", json.dumps(data))}, ) - return {"FINISHED"} -class DisableEditingArray(bpy.types.Operator, tool.Ifc.Operator): +class DisableEditingArray(bpy.types.Operator): bl_idname = "bim.disable_editing_array" bl_label = "Disable Editing Array" bl_options = {"REGISTER", "UNDO"} - def _execute(self, context): + def execute(self, context): obj = context.active_object assert obj tool.Model.get_array_props(obj).is_editing = -1 return {"FINISHED"} -class EnableEditingArray(bpy.types.Operator, tool.Ifc.Operator): +class EnableEditingArray(bpy.types.Operator): bl_idname = "bim.enable_editing_array" bl_label = "Enable Editing Array" bl_options = {"REGISTER", "UNDO"} item: bpy.props.IntProperty() - def _execute(self, context): + def execute(self, context): obj = context.active_object assert obj element = tool.Ifc.get_entity(obj) @@ -120,11 +120,9 @@ class EnableEditingArray(bpy.types.Operator, tool.Ifc.Operator): props.y = data["y"] * si_conversion props.z = data["z"] * si_conversion props.use_local_space = data.get("use_local_space", False) - props.sync_children = data.get("sync_children", False) props.method = data.get("method", "OFFSET") props.is_editing = self.item - return {"FINISHED"} @@ -149,31 +147,25 @@ class EditArray(bpy.types.Operator, tool.Ifc.Operator): "y": props.y / si_conversion, "z": props.z / si_conversion, "use_local_space": props.use_local_space, - "sync_children": props.sync_children, "method": props.method, } props.is_editing = -1 try: - parent = tool.Ifc.get_object(tool.Ifc.get().by_guid(pset["Parent"])) + parent_element = tool.Ifc.get().by_guid(pset["Parent"]) + parent = tool.Ifc.get_object(parent_element) except: return {"FINISHED"} + tool.Blender.Modifier.Array.remove_constraints(parent_element) tool.Model.regenerate_array(parent, data) - - pset = tool.Ifc.get().by_id(pset["id"]) - data = tool.Ifc.get().createIfcText(json.dumps(data)) - ifcopenshell.api.pset.edit_pset(tool.Ifc.get(), pset=pset, properties={"Data": data}) - tool.Blender.Modifier.Array.set_children_lock_state(element, self.item, True) tool.Blender.Modifier.Array.constrain_children_to_parent(element) # clears the relating_array_object so it doesn't show again next time props.relating_array_object = None - return {"FINISHED"} - class ApplyArray(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.apply_array" @@ -190,6 +182,33 @@ class ApplyArray(bpy.types.Operator, tool.Ifc.Operator): return {"FINISHED"} +class RegenerateArray(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.regenerate_array" + bl_label = "Regenerate Array" + bl_options = {"REGISTER", "UNDO"} + + def _execute(self, context): + obj = context.active_object + element = tool.Ifc.get_entity(obj) + pset = ifcopenshell.util.element.get_pset(element, "BBIM_Array") + try: + parent_element = tool.Ifc.get().by_guid(pset["Parent"]) + parent = tool.Ifc.get_object(parent_element) + except: + return {"FINISHED"} + pset = ifcopenshell.util.element.get_pset(parent_element, "BBIM_Array") + arrays = json.loads(pset["Data"]) + pset = tool.Ifc.get().by_id(pset["id"]) + for array in arrays: + for child in set(array["children"]): + if child_obj := tool.Ifc.get_object(tool.Ifc.get().by_guid(child)): + tool.Geometry.delete_ifc_object(child_obj) + array["children"].clear() + print("cleared array", arrays) + tool.Model.regenerate_array(obj, arrays) + tool.Blender.Modifier.Array.constrain_children_to_parent(element) + + class RemoveArray(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.remove_array" bl_label = "Remove Array" @@ -214,7 +233,8 @@ class RemoveArray(bpy.types.Operator, tool.Ifc.Operator): props.is_editing = -1 try: - parent = tool.Ifc.get_object(tool.Ifc.get().by_guid(pset["Parent"])) + parent_element = tool.Ifc.get().by_guid(pset["Parent"]) + parent = tool.Ifc.get_object(parent_element) except: return {"FINISHED"} @@ -224,9 +244,10 @@ class RemoveArray(bpy.types.Operator, tool.Ifc.Operator): if not self.keep_objs: data[self.item]["count"] = 1 + tool.Blender.Modifier.Array.remove_constraints(parent_element) tool.Model.regenerate_array(parent, data, array_layers_to_apply=[self.item] if self.keep_objs else []) - pset = tool.Ifc.get().by_id(pset["id"]) + pset = tool.Pset.get_element_pset(element, "BBIM_Array") if len(data) == 1: ifcopenshell.api.pset.remove_pset(tool.Ifc.get(), product=element, pset=pset) else: @@ -235,8 +256,6 @@ class RemoveArray(bpy.types.Operator, tool.Ifc.Operator): ifcopenshell.api.pset.edit_pset(tool.Ifc.get(), pset=pset, properties={"Data": data}) tool.Blender.Modifier.Array.constrain_children_to_parent(element) - return {"FINISHED"} - class SelectArrayParent(bpy.types.Operator): bl_idname = "bim.select_array_parent" diff --git a/src/bonsai/bonsai/bim/module/model/covering.py b/src/bonsai/bonsai/bim/module/model/covering.py index 72eba944d1..468554b9be 100644 --- a/src/bonsai/bonsai/bim/module/model/covering.py +++ b/src/bonsai/bonsai/bim/module/model/covering.py @@ -20,8 +20,9 @@ import bpy import ifcopenshell import ifcopenshell.util.element -import bonsai.tool as tool + import bonsai.core.covering as core +import bonsai.tool as tool class AddInstanceFlooringCoveringFromCursor(bpy.types.Operator, tool.Ifc.Operator): diff --git a/src/bonsai/bonsai/bim/module/model/data.py b/src/bonsai/bonsai/bim/module/model/data.py index 2c96e42925..0b97e05e77 100644 --- a/src/bonsai/bonsai/bim/module/model/data.py +++ b/src/bonsai/bonsai/bim/module/model/data.py @@ -16,17 +16,19 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -import math import json +import math +from math import degrees +from typing import Any, Optional, Union + +import bpy import ifcopenshell import ifcopenshell.util.element import ifcopenshell.util.schema from ifcopenshell.util.doc import get_entity_doc, get_predefined_type_doc -import bonsai.tool as tool -from math import degrees from natsort import natsorted -from typing import Union, Optional, Any + +import bonsai.tool as tool def refresh(): @@ -52,6 +54,11 @@ class AuthoringData: cls.is_loaded = True cls.props = tool.Model.get_model_props() cls.data["default_container"] = cls.default_container() + if tool.Ifc.get().schema == "IFC2X3": + if ifc_element_type == "IfcDoorType": + ifc_element_type = "IfcDoorStyle" + elif ifc_element_type == "IfcWindowType": + ifc_element_type = "IfcWindowStyle" cls.data["ifc_element_type"] = ifc_element_type cls.data["ifc_classes"] = cls.ifc_classes() cls.data["ifc_class_current"] = cls.ifc_class_current() diff --git a/src/bonsai/bonsai/bim/module/model/decorator.py b/src/bonsai/bonsai/bim/module/model/decorator.py index aad4c647ee..328804d4c6 100644 --- a/src/bonsai/bonsai/bim/module/model/decorator.py +++ b/src/bonsai/bonsai/bim/module/model/decorator.py @@ -17,26 +17,27 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy + +import math +from itertools import chain +from math import cos, radians, sin, tan +from typing import Any, Literal, Union + import blf +import bmesh import bpy import gpu -import bmesh import ifcopenshell -import bonsai.tool as tool -import math import mathutils -from math import sin, cos, radians from bpy.types import SpaceView3D from bpy_extras import view3d_utils -from mathutils import Vector, Matrix +from bpy_extras.view3d_utils import location_3d_to_region_2d from gpu_extras.batch import batch_for_shader from gpu_extras.presets import draw_circle_2d -from typing import Union +from mathutils import Matrix, Quaternion, Vector + +import bonsai.tool as tool from bonsai.bim.module.drawing.helper import format_distance -from itertools import chain -from typing import Union, Any -from bpy_extras.view3d_utils import location_3d_to_region_2d def transparent_color(color, alpha=0.1): @@ -521,6 +522,9 @@ class PolylineDecorator: color = self.addon_prefs.decorations_colour blf.color(self.font_id, *color) + + screen_coords = {} + for i in range(len(self.polyline_points)): if i < 1 and self.measure_type == "POLY_AREA": continue @@ -528,40 +532,32 @@ class PolylineDecorator: continue dim_text_pos = (Vector(self.polyline_points[i].position) + Vector(self.polyline_points[i - 1].position)) / 2 dim_text_coords = view3d_utils.location_3d_to_region_2d(region, rv3d, dim_text_pos) - - formatted_value = self.polyline_points[i].dim - - blf.position(self.font_id, dim_text_coords[0], dim_text_coords[1], 0) - text = "d: " + formatted_value - text_length = blf.dimensions(self.font_id, text) - self.draw_text_background(context, dim_text_coords, text_length) - blf.draw(self.font_id, text) + if dim_text_coords: + formatted_value = self.polyline_points[i].dim + text = "d: " + formatted_value + screen_coords[f"distance_{i}"] = (Vector(dim_text_coords), text) if i == 1: continue angle_text_pos = Vector(self.polyline_points[i - 1].position) angle_text_coords = view3d_utils.location_3d_to_region_2d(region, rv3d, angle_text_pos) - blf.position(self.font_id, angle_text_coords[0], angle_text_coords[1], 0) - text = "a: " + self.polyline_points[i].angle - text_length = blf.dimensions(self.font_id, text) - self.draw_text_background(context, angle_text_coords, text_length) - blf.draw(self.font_id, text) + if angle_text_coords: + text = "a: " + self.polyline_points[i].angle + screen_coords[f"angle_{i}"] = (Vector(angle_text_coords), text) if self.measure_type == "SINGLE": axis_line, axis_line_center = self.calculate_measurement_x_y_and_z(context) for i, dim_text_pos in enumerate(axis_line_center): dim_text_coords = view3d_utils.location_3d_to_region_2d(region, rv3d, dim_text_pos) - pos = blf.position(self.font_id, dim_text_coords[0], dim_text_coords[1], 0) - value = round((axis_line[i][1] - axis_line[i][0]).length, 4) - direction = axis_line[i][1] - axis_line[i][0] - if (i == 0 and direction.x < 0) or (i == 1 and direction.y < 0) or (i == 2 and direction.z < 0): - value = -value - prefix = "xyz"[i] - formatted_value = tool.Polyline.format_input_ui_units(value) - text = f"{prefix}: {formatted_value}" - text_length = blf.dimensions(self.font_id, text) - self.draw_text_background(context, dim_text_coords, text_length) - blf.draw(self.font_id, text) + if dim_text_coords: + value = round((axis_line[i][1] - axis_line[i][0]).length, 4) + direction = axis_line[i][1] - axis_line[i][0] + if (i == 0 and direction.x < 0) or (i == 1 and direction.y < 0) or (i == 2 and direction.z < 0): + value = -value + prefix = "xyz"[i] + formatted_value = tool.Polyline.format_input_ui_units(value) + text = f"{prefix}: {formatted_value}" + screen_coords[f"xyz_{i}"] = (Vector(dim_text_coords), text) # Area and Length text polyline_verts = [Vector((p.x, p.y, p.z)) for p in self.polyline_points] @@ -569,35 +565,107 @@ class PolylineDecorator: # Area if self.measure_type == "POLY_AREA" and self.polyline_data.area: if len(polyline_verts) < 3: + blf.disable(self.font_id, blf.SHADOW) return - center = sum(polyline_verts, Vector()) / len(polyline_verts) # Center between all polyline points + center = sum(polyline_verts, Vector()) / len(polyline_verts) if polyline_verts[0] == polyline_verts[-1]: - center = sum(polyline_verts[:-1], Vector()) / len( - polyline_verts[:-1] - ) # Doesn't use the last point if is a closed polyline + center = sum(polyline_verts[:-1], Vector()) / len(polyline_verts[:-1]) area_text_coords = view3d_utils.location_3d_to_region_2d(region, rv3d, center) - value = self.polyline_data.area - text = f"area: {value}" - text_length = blf.dimensions(self.font_id, text) - area_text_coords[0] -= text_length[0] / 2 # Center text horizontally - blf.position(self.font_id, area_text_coords[0], area_text_coords[1], 0) - self.draw_text_background(context, area_text_coords, text_length) - blf.draw(self.font_id, text) + if area_text_coords: + value = self.polyline_data.area + text = f"area: {value}" + text_length = blf.dimensions(self.font_id, text) + area_text_coords = list(area_text_coords) + area_text_coords[0] -= text_length[0] / 2 + screen_coords["area"] = (Vector(area_text_coords), text) # Length if self.measure_type in {"POLYLINE", "POLY_AREA"}: if len(polyline_verts) < 3: + blf.disable(self.font_id, blf.SHADOW) return total_length_text_coords = view3d_utils.location_3d_to_region_2d(region, rv3d, polyline_verts[-1]) - blf.position(self.font_id, total_length_text_coords[0], total_length_text_coords[1], 0) - value = self.polyline_data.total_length - text = f"length: {value}" + if total_length_text_coords: + value = self.polyline_data.total_length + text = f"length: {value}" + screen_coords["length"] = (Vector(total_length_text_coords), text) + + self.adjust_overlapping_labels(screen_coords) + + for label_key, (screen_co, text) in screen_coords.items(): + blf.position(self.font_id, screen_co.x, screen_co.y, 0) + blf.color(self.font_id, 1, 1, 1, 1) text_length = blf.dimensions(self.font_id, text) - self.draw_text_background(context, total_length_text_coords, text_length) + self.draw_text_background(context, screen_co, text_length) blf.draw(self.font_id, text) blf.disable(self.font_id, blf.SHADOW) + def adjust_overlapping_labels(self, screen_coords): + font_id = self.font_id + text_dimensions = {} + + for label_key, (screen_co, text) in screen_coords.items(): + text_dimensions[label_key] = blf.dimensions(font_id, text) + + if text_dimensions: + first_height = next(iter(text_dimensions.values()))[1] + min_spacing = max(2, first_height * 0.3) + else: + min_spacing = 2 + + label_keys = list(screen_coords.keys()) + for pass_num in range(3): # 3 passes to try to optimize complex overlaps + for i in range(len(label_keys)): + for j in range(i + 1, len(label_keys)): + key1, key2 = label_keys[i], label_keys[j] + co1, _ = screen_coords[key1] + co2, _ = screen_coords[key2] + dim1 = text_dimensions[key1] + dim2 = text_dimensions[key2] + + bounds1 = { + "left": co1.x - min_spacing, + "right": co1.x + dim1[0] + min_spacing, + "top": co1.y + dim1[1] + min_spacing, + "bottom": co1.y - min_spacing, + } + bounds2 = { + "left": co2.x - min_spacing, + "right": co2.x + dim2[0] + min_spacing, + "top": co2.y + dim2[1] + min_spacing, + "bottom": co2.y - min_spacing, + } + + if ( + bounds1["left"] < bounds2["right"] + and bounds1["right"] > bounds2["left"] + and bounds1["bottom"] < bounds2["top"] + and bounds1["top"] > bounds2["bottom"] + ): + x_overlap = min(bounds1["right"], bounds2["right"]) - max(bounds1["left"], bounds2["left"]) + y_overlap = min(bounds1["top"], bounds2["top"]) - max(bounds1["bottom"], bounds2["bottom"]) + + separation_multiplier = 1.25 + + # Move labels in the direction requiring less movement + if x_overlap < y_overlap: + separation_distance = (x_overlap / 2 + min_spacing) * separation_multiplier + if co1.x < co2.x: + co1.x -= separation_distance + co2.x += separation_distance + else: + co1.x += separation_distance + co2.x -= separation_distance + else: + separation_distance = (y_overlap / 2 + min_spacing) * separation_multiplier + if co1.y < co2.y: + co1.y -= separation_distance + co2.y += separation_distance + else: + co1.y += separation_distance + co2.y -= separation_distance + def draw_measurements_poly(self, context): self.shader_config(context) polyline_verts: list[Vector] = [] @@ -879,13 +947,43 @@ class PolylineDecorator: class ProductDecorator: is_installed = False handlers = [] + preview_mode: Literal["PROFILE_VERTICAL", "PROFILE_HORIZONTAL", "LAYER2", "LAYER3", "GENERIC"] relating_type = None + obj_data: dict[str, list] = {} + obj_matrix_i = None @classmethod def install(cls, context): + from bonsai.bim.module.geometry.decorator import ItemDecorator + if cls.is_installed: cls.uninstall() + + props = tool.Model.get_model_props() + handler = cls() + if ( + (props.relating_type_id) + and (relating_type := tool.Ifc.get().by_id(int(props.relating_type_id))) + and (relating_type_obj := tool.Ifc.get_object(relating_type)) + ): + handler.relating_type = relating_type + if tool.Model.get_usage_type(relating_type) == "PROFILE": + if relating_type.is_a() in {"IfcColumnType", "IfcPileType"}: + handler.preview_mode = "PROFILE_VERTICAL" + else: + handler.preview_mode = "PROFILE_HORIZONTAL" + elif tool.Model.get_usage_type(relating_type) == "LAYER2": + handler.preview_mode = "LAYER2" + elif tool.Model.get_usage_type(relating_type) == "LAYER3": + handler.preview_mode = "LAYER3" + else: + handler.preview_mode = "GENERIC" + if relating_type_obj.data: + handler.obj_data = ItemDecorator.get_obj_data(relating_type_obj) + handler.obj_data["raw_verts"] = [Vector(v) for v in handler.obj_data["verts"]] + handler.obj_matrix_i = relating_type_obj.matrix_world.inverted() + cls.handlers.append( SpaceView3D.draw_handler_add(handler.draw_product_preview, (context,), "WINDOW", "POST_VIEW") ) @@ -893,10 +991,6 @@ class ProductDecorator: @classmethod def uninstall(cls): - props = tool.Model.get_product_preview_props() # updated by model/polyline.py - props.verts.clear() - props.edges.clear() - props.tris.clear() for handler in cls.handlers: try: SpaceView3D.draw_handler_remove(handler, "WINDOW") @@ -912,14 +1006,6 @@ class ProductDecorator: shader.uniform_float("color", color) batch.draw(shader) - def get_product_preview_data(self, context) -> dict[str, Any]: - props = tool.Model.get_product_preview_props() - data: dict[str, Any] = {} - data["verts"] = [(*v.value_3d,) for v in props.verts] - data["edges"] = [(int(e.value_2d[0]), int(e.value_2d[1])) for e in props.edges] - data["tris"] = [(int(t.value_3d[0]), int(t.value_3d[1]), int(t.value_3d[2])) for t in props.tris] - return data - def draw_product_preview(self, context): def transparent_color(color, alpha=0.1): color = [i for i in color] @@ -945,12 +1031,549 @@ class ProductDecorator: else: return - product_preview_data = self.get_product_preview_data(context) - if product_preview_data: - self.draw_batch("LINES", product_preview_data["verts"], decorator_color, product_preview_data["edges"]) - self.draw_batch( - "TRIS", product_preview_data["verts"], transparent_color(decorator_color), product_preview_data["tris"] + if self.preview_mode == "LAYER2": + data = self.get_wall_preview_data() + elif self.preview_mode == "LAYER3": + data = self.get_slab_preview_data() + elif self.preview_mode == "PROFILE_VERTICAL": + data = self.get_vertical_profile_preview_data() + elif self.preview_mode == "PROFILE_HORIZONTAL": + data = self.get_horizontal_profile_preview_data() + elif self.preview_mode == "GENERIC": + data = self.get_generic_preview_data() + if data: + self.draw_batch("LINES", data["verts"], decorator_color, data["edges"]) + self.draw_batch("TRIS", data["verts"], transparent_color(decorator_color), data["tris"]) + + def get_wall_preview_data(self): + relating_type = self.relating_type + # Get properties from object type + model_props = tool.Model.get_model_props() + direction_sense = model_props.direction_sense + direction = 1 + if direction_sense == "NEGATIVE": + direction = -1 + + layers = tool.Model.get_material_layer_parameters(relating_type) + if not layers["thickness"]: + return + thickness = layers["thickness"] + thickness *= direction + + offset_type = model_props.offset_type_vertical + unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) + offset = model_props.offset * unit_scale + + height = float(model_props.extrusion_depth) + rl = float(model_props.rl1) + x_angle = float(model_props.x_angle) + if x_angle > radians(90) or x_angle < radians(-90): + height *= -1 + angle_distance = height * tan(x_angle) + thickness *= 1 / cos(x_angle) + + data = {} + data["verts"] = [] + + # Verts + polyline_vertices = [] + polyline_props = tool.Model.get_polyline_props() + polyline_data = polyline_props.insertion_polyline + polyline_points = polyline_data[0].polyline_points if polyline_data else [] + if len(polyline_points) < 2: + data = [] + return + for point in polyline_points: + polyline_vertices.append(Vector((point.x, point.y, point.z))) + + is_closed = False + if ( + polyline_vertices[0].x == polyline_vertices[-1].x + and polyline_vertices[0].y == polyline_vertices[-1].y + and polyline_vertices[0].z == polyline_vertices[-1].z + ): + is_closed = True + polyline_vertices.pop(-1) # Remove the last point. The edges are going to inform that the shape is closed. + + bm_base = tool.Model.create_bmesh_from_vertices(polyline_vertices, is_closed) + base_vertices = tool.Cad.offset_edges(bm_base, offset) + offset_base_verts = tool.Cad.offset_edges(bm_base, thickness + offset) + top_vertices = tool.Cad.offset_edges(bm_base, angle_distance + offset) + offset_top_verts = tool.Cad.offset_edges(bm_base, angle_distance + thickness + offset) + if is_closed: + base_vertices.append(base_vertices[0]) + offset_base_verts.append(offset_base_verts[0]) + top_vertices.append(top_vertices[0]) + offset_top_verts.append(offset_top_verts[0]) + + if offset_base_verts is not None: + for v in base_vertices: + data["verts"].append((v.co.x, v.co.y, v.co.z + rl)) + + for v in offset_base_verts[::-1]: + data["verts"].append((v.co.x, v.co.y, v.co.z + rl)) + + for v in top_vertices: + data["verts"].append((v.co.x, v.co.y, v.co.z + rl + height)) + + for v in offset_top_verts[::-1]: + data["verts"].append((v.co.x, v.co.y, v.co.z + rl + height)) + + bm_base.free() + + # Edges and Tris + points = [] + side_edges_1 = [] + side_edges_2 = [] + base_edges = [] + + for i in range(len(data["verts"])): + points.append(Vector(data["verts"][i])) + + n = len(points) // 2 + bottom_side_1 = [[i, (i + 1) % (n)] for i in range((n - 1) // 2)] + bottom_side_2 = [[i, (i + 1) % (n)] for i in range(n // 2, n - 1)] + bottom_connections = [[i, n - i - 1] for i in range(n // 2)] + bottom_loop = bottom_connections + bottom_side_1 + bottom_side_2 + side_edges_1.extend(bottom_side_1) + side_edges_2.extend(bottom_side_2) + base_edges.extend(bottom_loop) + + upper_side_1 = [[i + n for i in edges] for edges in bottom_side_1] + upper_side_2 = [[i + n for i in edges] for edges in bottom_side_2] + upper_loop = [[i + n for i in edges] for edges in bottom_loop] + side_edges_1.extend(upper_side_1) + side_edges_2.extend(upper_side_2) + base_edges.extend(upper_loop) + + loops = [side_edges_1, side_edges_2, base_edges] + + data["edges"] = [] + data["tris"] = [] + for i, group in enumerate(loops): + bm = bmesh.new() + + new_verts = [bm.verts.new(v) for v in points] + new_edges = [bm.edges.new((new_verts[e[0]], new_verts[e[1]])) for e in group] + + bm.verts.index_update() + bm.edges.index_update() + + if i == 2: + new_faces = bmesh.ops.contextual_create(bm, geom=bm.edges) + new_faces = bmesh.ops.bridge_loops(bm, edges=bm.edges, use_pairs=True, use_cyclic=True) + + bm.verts.index_update() + bm.edges.index_update() + edges = [[v.index for v in e.verts] for e in bm.edges] + tris = [[l.vert.index for l in loop] for loop in bm.calc_loop_triangles()] + data["edges"].extend(edges) + data["tris"].extend(tris) + + data["edges"] = list(set(tuple(e) for e in data["edges"])) + data["tris"] = list(set(tuple(t) for t in data["tris"])) + return data + + def get_slab_preview_data(self): + relating_type = self.relating_type + model_props = tool.Model.get_model_props() + x_angle = 0 if tool.Cad.is_x(model_props.x_angle, 0, tolerance=0.001) else model_props.x_angle + direction_sense = model_props.direction_sense + direction = 1 + if direction_sense == "NEGATIVE": + direction = -1 + + layers = tool.Model.get_material_layer_parameters(relating_type) + if not layers["thickness"]: + return + thickness = layers["thickness"] * abs(1 / cos(x_angle)) + thickness *= direction + + offset_type = model_props.offset_type_horizontal + unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) + offset = model_props.offset * abs(1 / cos(x_angle)) * unit_scale + + data = {} + data["verts"] = [] + # Verts + polyline_vertices = [] + polyline_props = tool.Model.get_polyline_props() + polyline_data = polyline_props.insertion_polyline + polyline_points = polyline_data[0].polyline_points if polyline_data else [] + if len(polyline_points) < 3: + data = [] + return + for point in polyline_points: + polyline_vertices.append(Vector((point.x, point.y, point.z))) + if x_angle: + # Get vertices relative to the first polyline point as origin + local_vertices = [v - Vector(polyline_vertices[0]) for v in polyline_vertices] + # Make the transformation relative to the x_angle + transformed_vertices = [Vector((v.x, v.y * (1 / cos(x_angle)), v.z)) for v in local_vertices] + # Convert back to world origin + polyline_vertices = [v + Vector(polyline_vertices[0]) for v in transformed_vertices] + if offset != 0: + polyline_vertices = [v + Vector((0, 0, offset)) for v in polyline_vertices] + is_closed = True + if ( + polyline_vertices[0].x == polyline_vertices[-1].x + and polyline_vertices[0].y == polyline_vertices[-1].y + and polyline_vertices[0].z == polyline_vertices[-1].z + ): + polyline_vertices.pop(-1) # Remove the last point. The edges are going to inform that the shape is closed. + bm = tool.Model.create_bmesh_from_vertices(polyline_vertices, is_closed) + bm.verts.ensure_lookup_table() + if x_angle: + rot_mat = Matrix.Rotation(x_angle, 3, "X") + if abs(x_angle) > (pi / 2): + rot_mat = rot_mat @ Matrix.Scale(-1, 3, (0, 1, 0)) + bmesh.ops.rotate(bm, cent=Vector(bm.verts[0].co), verts=bm.verts, matrix=rot_mat) + new_faces = bmesh.ops.contextual_create(bm, geom=bm.edges) + new_faces = bmesh.ops.extrude_face_region(bm, geom=bm.edges[:] + bm.faces[:]) + new_verts = [e for e in new_faces["geom"] if isinstance(e, bmesh.types.BMVert)] + new_faces = bmesh.ops.translate(bm, verts=new_verts, vec=(0.0, 0.0, thickness)) + bm.verts.index_update() + bm.edges.index_update() + verts = [tuple(v.co) for v in bm.verts] + edges = [[v.index for v in e.verts] for e in bm.edges] + tris = [[loop.vert.index for loop in triangles] for triangles in bm.calc_loop_triangles()] + data["verts"] = verts + data["edges"] = edges + data["tris"] = tris + return data + + def get_vertical_profile_preview_data(self) -> dict[str, Any]: + relating_type = self.relating_type + material = ifcopenshell.util.element.get_material(relating_type) + try: + profile = material.MaterialProfiles[0].Profile + except: + return {} + + model_props = tool.Model.get_model_props() + extrusion_depth = model_props.extrusion_depth + cardinal_point = model_props.cardinal_point + rot_mat = Quaternion() + if relating_type.is_a("IfcBeamType"): + y_rot = Quaternion((0.0, 1.0, 0.0), radians(90)) + z_rot = Quaternion((0.0, 0.0, 1.0), radians(90)) + rot_mat = y_rot @ z_rot + # Get profile data + settings = ifcopenshell.geom.settings() + settings.set("dimensionality", ifcopenshell.ifcopenshell_wrapper.CURVES_SURFACES_AND_SOLIDS) + shape = ifcopenshell.geom.create_shape(settings, profile) + + verts = shape.verts + if not verts: + raise RuntimeError(f"Profile shape has no vertices, it probably is invalid: '{profile}'.") + + edges = shape.edges + + grouped_verts = [[verts[i], verts[i + 1], 0] for i in range(0, len(verts), 3)] + grouped_edges = [[edges[i], edges[i + 1]] for i in range(0, len(edges), 2)] + + # Create offsets based on cardinal point + min_x = min(v[0] for v in grouped_verts) + max_x = max(v[0] for v in grouped_verts) + min_y = min(v[1] for v in grouped_verts) + max_y = max(v[1] for v in grouped_verts) + + x_offset = (max_x - min_x) / 2 + y_offset = (max_y - min_y) / 2 + + match cardinal_point: + case "1": + grouped_verts = [(v[0] - x_offset, v[1] + y_offset, v[2]) for v in grouped_verts] + case "2": + grouped_verts = [(v[0], v[1] + y_offset, v[2]) for v in grouped_verts] + case "3": + grouped_verts = [(v[0] + x_offset, v[1] + y_offset, v[2]) for v in grouped_verts] + case "4": + grouped_verts = [(v[0] - x_offset, v[1], v[2]) for v in grouped_verts] + case "5": + grouped_verts = [(v[0], v[1], v[2]) for v in grouped_verts] + case "6": + grouped_verts = [(v[0] + x_offset, v[1], v[2]) for v in grouped_verts] + case "7": + grouped_verts = [(v[0] - x_offset, v[1] - y_offset, v[2]) for v in grouped_verts] + case "8": + grouped_verts = [(v[0], v[1] - y_offset, v[2]) for v in grouped_verts] + case "9": + grouped_verts = [(v[0] + x_offset, v[1] - y_offset, v[2]) for v in grouped_verts] + + # Create extrusion bmesh + bm = bmesh.new() + + grouped_verts.append(grouped_verts[0]) # Close profile + new_verts = [bm.verts.new(v) for v in grouped_verts] + new_edges = [bm.edges.new((new_verts[i], new_verts[i + 1])) for i in range(len(grouped_verts) - 1)] + + bm.verts.index_update() + bm.edges.index_update() + + bmesh.ops.remove_doubles(bm, verts=bm.verts, dist=0.001) + + new_faces = bmesh.ops.contextual_create(bm, geom=bm.edges) + + new_faces = bmesh.ops.extrude_face_region(bm, geom=bm.faces, use_dissolve_ortho_edges=True) + new_verts = [e for e in new_faces["geom"] if isinstance(e, bmesh.types.BMVert)] + new_faces = bmesh.ops.translate(bm, verts=new_verts, vec=(0.0, 0.0, extrusion_depth)) + + bm.verts.index_update() + bm.edges.index_update() + tris = [[loop.vert.index for loop in triangles] for triangles in bm.calc_loop_triangles()] + + # Calculate rotation, mouse position, angle and cardinal point + polyline_props = tool.Model.get_polyline_props() + snap_prop = polyline_props.snap_mouse_point[0] + mouse_point = Vector((snap_prop.x, snap_prop.y, snap_prop.z)) + data = {} + + verts = [tuple(v.co) for v in bm.verts] + verts = [tuple(rot_mat @ Vector(v)) for v in verts] + verts = [tuple(Vector(v) + mouse_point) for v in verts] + min_z = min(v.co.z for v in bm.verts) + max_z = max(v.co.z for v in bm.verts) + # Add axis verts + verts.append(tuple(mouse_point)) + verts.append(tuple(mouse_point + Vector((0, 0, max_z)))) + # Add only profile edges + edges = [] + for edge in bm.edges: + if (edge.verts[0].co.z == min_z and edge.verts[1].co.z == min_z) or ( + edge.verts[0].co.z == max_z and edge.verts[1].co.z == max_z + ): + edges.append(edge) + # Add axis edge + edges = [(edge.verts[0].index, edge.verts[1].index) for edge in edges] + edges.append((len(verts) - 1, len(verts) - 2)) + data["verts"] = verts + data["edges"] = edges + data["tris"] = tris + + bm.free() + return data + + def get_horizontal_profile_preview_data(self) -> dict[str, Any]: + relating_type = self.relating_type + material = ifcopenshell.util.element.get_material(relating_type) + try: + profile_curve = material.MaterialProfiles[0].Profile + except: + return {} + + model_props = tool.Model.get_model_props() + cardinal_point = model_props.cardinal_point + + polyline_verts = [] + polyline_props = tool.Model.get_polyline_props() + polyline_data = polyline_props.insertion_polyline + polyline_points = polyline_data[0].polyline_points if polyline_data else [] + if len(polyline_points) < 2: + return {} + for point in polyline_points: + polyline_verts.append(Vector((point.x, point.y, point.z))) + polyline_edges = [(i, i + 1) for i in range(len(polyline_verts) - 1)] + + # Get profile shape + settings = ifcopenshell.geom.settings() + settings.set("dimensionality", ifcopenshell.ifcopenshell_wrapper.CURVES_SURFACES_AND_SOLIDS) + shape = ifcopenshell.geom.create_shape(settings, profile_curve) + + verts = shape.verts + if not verts: + raise RuntimeError(f"Profile shape has no vertices, it probably is invalid: '{profile_curve}'.") + + edges = shape.edges + + grouped_verts = [[verts[i], verts[i + 1], 0] for i in range(0, len(verts), 3)] + grouped_edges = [[edges[i], edges[i + 1]] for i in range(0, len(edges), 2)] + + # Create offsets based on cardinal point + min_x = min(v[0] for v in grouped_verts) + max_x = max(v[0] for v in grouped_verts) + min_y = min(v[1] for v in grouped_verts) + max_y = max(v[1] for v in grouped_verts) + + x_offset = (max_x - min_x) / 2 + y_offset = (max_y - min_y) / 2 + + match cardinal_point: + case "1": + grouped_verts = [(v[0] - x_offset, v[1] + y_offset, v[2]) for v in grouped_verts] + case "2": + grouped_verts = [(v[0], v[1] + y_offset, v[2]) for v in grouped_verts] + case "3": + grouped_verts = [(v[0] + x_offset, v[1] + y_offset, v[2]) for v in grouped_verts] + case "4": + grouped_verts = [(v[0] - x_offset, v[1], v[2]) for v in grouped_verts] + case "5": + grouped_verts = [(v[0], v[1], v[2]) for v in grouped_verts] + case "6": + grouped_verts = [(v[0] + x_offset, v[1], v[2]) for v in grouped_verts] + case "7": + grouped_verts = [(v[0] - x_offset, v[1] - y_offset, v[2]) for v in grouped_verts] + case "8": + grouped_verts = [(v[0], v[1] - y_offset, v[2]) for v in grouped_verts] + case "9": + grouped_verts = [(v[0] + x_offset, v[1] - y_offset, v[2]) for v in grouped_verts] + + data: dict[str, Any] = {} + data["verts"] = [] + data["edges"] = [] + data["tris"] = [] + + grouped_verts = [(v) for v in grouped_verts] + + all_bm = bmesh.new() + for i in range(len(polyline_verts) - 1): + mesh = bpy.data.meshes.new("TempMesh") + # Create the initial mesh from the profile verts + bm = tool.Model.create_bmesh_from_vertices(grouped_verts, is_closed=True) + bm.verts.ensure_lookup_table() + # Creates the clipping plane formed by two segments. + # The first one is for the profile start, based on the current and previous segment of the polyline. + # The second is for the profile end, based on the current and the next segment. + if i == 0: + d = (polyline_verts[i + 1] - polyline_verts[i]).normalized() + clip_start = d + else: + d1 = (polyline_verts[i] - polyline_verts[i - 1]).normalized() + d2 = (polyline_verts[i] - polyline_verts[i + 1]).normalized() + clip_start = (d1 - d2).normalized() + + if i == len(polyline_verts) - 2: + d = (polyline_verts[i + 1] - polyline_verts[i]).normalized() + clip_end = d + else: + d1 = (polyline_verts[i + 1] - polyline_verts[i]).normalized() + d2 = (polyline_verts[i + 1] - polyline_verts[i + 2]).normalized() + clip_end = (d1 - d2).normalized() + + # Rotates the profile face to the right direction + direction = polyline_verts[i + 1] - polyline_verts[i] + position = polyline_verts[i] + rotation_matrix = direction.to_track_quat("Z", "Y").to_matrix().to_4x4() + bmesh.ops.transform(bm, verts=bm.verts, matrix=rotation_matrix) + bmesh.ops.translate(bm, verts=bm.verts, vec=position) + bmesh.ops.translate(bm, verts=bm.verts, vec=-direction) + + # Extrude and move the new face + last_face = bmesh.ops.extrude_face_region(bm, geom=bm.edges[:] + bm.faces[:]) + new_verts = [e for e in last_face["geom"] if isinstance(e, bmesh.types.BMVert)] + bmesh.ops.translate(bm, verts=new_verts, vec=direction * 3) + # Apply the cutting planes + cut = bmesh.ops.bisect_plane( + bm, + geom=bm.verts[:] + bm.edges[:] + bm.faces[:], + plane_co=polyline_verts[i], + plane_no=clip_start, + clear_inner=True, ) + bm.verts.index_update() + bm.edges.index_update() + cut = bmesh.ops.bisect_plane( + bm, + geom=bm.verts[:] + bm.edges[:] + bm.faces[:], + plane_co=polyline_verts[i + 1], + plane_no=clip_end, + clear_outer=True, + ) + + bm.to_mesh(mesh) + bm.free() + mesh.update() + all_bm.from_mesh(mesh) + bpy.data.meshes.remove(bpy.data.meshes["TempMesh"]) + + # It's necessary to add the mesh to an object to get the expected result. + mesh = bpy.data.meshes.new("TempMesh2") + all_bm.to_mesh(mesh) + all_bm.free() + obj = bpy.data.objects.new("TempObj", mesh) + bm = bmesh.new() + bm.from_mesh(obj.data) + bpy.data.meshes.remove(bpy.data.meshes["TempMesh2"]) + + verts = [tuple(v.co) for v in bm.verts] + edges = [[v.index for v in e.verts] for e in bm.edges] + tris = [[loop.vert.index for loop in triangles] for triangles in bm.calc_loop_triangles()] + data["verts"] = verts + data["edges"] = edges + data["tris"] = tris + bm.free() + return data + + def get_generic_preview_data(self): + if not (data := self.obj_data): + return + relating_type = self.relating_type + model_props = tool.Model.get_model_props() + if relating_type.is_a("IfcDoorType"): + rl = float(model_props.rl1) + elif relating_type.is_a("IfcWindowType"): + rl = float(model_props.rl2) + else: + rl = 0 + polyline_props = tool.Model.get_polyline_props() + snap_prop = polyline_props.snap_mouse_point[0] + default_container_elevation = tool.Root.get_default_container_elevation() + mouse_point = Vector((snap_prop.x, snap_prop.y, default_container_elevation)) + snap_obj = bpy.data.objects.get(snap_prop.snap_object) + snap_element = tool.Ifc.get_entity(snap_obj) + rot_mat = Matrix() + if relating_type.is_a() in ["IfcDoorType", "IfcWindowType"] and snap_element and snap_element.is_a("IfcWall"): + layers = tool.Model.get_material_layer_parameters(snap_element) + axes = tool.Model.get_wall_axis(snap_obj, layers=layers) + axis_base = axes["base"] + axis_side = axes["side"] + point_on_base_axis = tool.Cad.point_on_edge(mouse_point, axis_base) + point_on_side_axis = tool.Cad.point_on_edge(mouse_point, axis_side) + if (point_on_base_axis - mouse_point).length_squared <= (point_on_side_axis - mouse_point).length_squared: + # mouse is snapped to the base axis, the preview looks exactly like the placed door / window + rot_mat = snap_obj.matrix_world + else: + # mouse is snapped to the side axis, the preview is inverted, rotate it now and correct x position later + rot_mat = ( + (snap_obj.matrix_world.to_quaternion() @ Quaternion(Vector((0, 0, 1)), radians(180))) + .to_matrix() + .to_4x4() + ) + + mouse_point.z = snap_obj.matrix_world.translation.z + + if snap_element and (container := ifcopenshell.util.element.get_container(snap_element)): + container_obj = tool.Ifc.get_object(container) + mouse_point.z = container_obj.location.z + + obj_type = tool.Ifc.get_object(relating_type) + + subcontexts = tool.Drawing.get_active_drawing_subcontexts() + if not subcontexts: + subcontexts = [("Model", "Body", "MODEL_VIEW")] + + active_context = tool.Geometry.get_active_representation_context(obj_type) + active_context_params = tool.Geometry.get_subcontext_parameters(active_context) + for subcontext in subcontexts: + if subcontext == active_context_params: + break + + representation = ifcopenshell.util.representation.get_representation(relating_type, *subcontext) + if representation: + bonsai.core.geometry.switch_representation( + tool.Ifc, + tool.Geometry, + obj_type, + representation, + ) + context.view_layer.update() + break + + translate_mouse = Matrix.Translation(mouse_point) + translate_rl = Matrix.Translation((0.0, 0.0, rl)) + combined_m = translate_mouse @ rot_mat @ translate_rl @ self.obj_matrix_i + data["verts"] = [tuple(combined_m @ v) for v in data["raw_verts"]] + return data class WallAxisDecorator: diff --git a/src/bonsai/bonsai/bim/module/model/door.py b/src/bonsai/bonsai/bim/module/model/door.py index 26d1a1a7fb..dbdf5e8dcf 100644 --- a/src/bonsai/bonsai/bim/module/model/door.py +++ b/src/bonsai/bonsai/bim/module/model/door.py @@ -17,8 +17,13 @@ # along with Bonsai. If not, see . -import bpy +import collections +import collections.abc +import json +from typing import TYPE_CHECKING, get_args + import bmesh +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.geometry @@ -28,19 +33,14 @@ import ifcopenshell.util.element import ifcopenshell.util.representation import ifcopenshell.util.schema import ifcopenshell.util.unit -import bonsai.tool as tool +from mathutils import Matrix, Vector + import bonsai.core.geometry as core import bonsai.core.root -from bonsai.bim.module.model.window import create_bm_window, create_bm_box +import bonsai.tool as tool from bonsai.bim.module.drawing import gizmos as gizmo from bonsai.bim.module.drawing.gizmos import DimensionGizmoConfig - -from mathutils import Vector, Matrix - -import json -import collections -import collections.abc -from typing import get_args, TYPE_CHECKING +from bonsai.bim.module.model.window import create_bm_box, create_bm_window if TYPE_CHECKING: from bonsai.bim.module.model.prop import BIMDoorProperties diff --git a/src/bonsai/bonsai/bim/module/model/grid.py b/src/bonsai/bonsai/bim/module/model/grid.py index 4bac1b3f94..df4f140ebc 100644 --- a/src/bonsai/bonsai/bim/module/model/grid.py +++ b/src/bonsai/bonsai/bim/module/model/grid.py @@ -16,16 +16,18 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING + import bpy import ifcopenshell.api import ifcopenshell.api.grid -import bonsai.tool as tool +from bpy.props import FloatProperty, IntProperty +from bpy.types import Operator +from mathutils import Vector + import bonsai.core.geometry import bonsai.core.root -from bpy.types import Operator -from bpy.props import FloatProperty, IntProperty -from mathutils import Vector -from typing import TYPE_CHECKING +import bonsai.tool as tool def add_object(self: "BIM_OT_add_object", context: bpy.types.Context) -> None: diff --git a/src/bonsai/bonsai/bim/module/model/handler.py b/src/bonsai/bonsai/bim/module/model/handler.py index 76ebbf57ee..47075cdcfa 100644 --- a/src/bonsai/bonsai/bim/module/model/handler.py +++ b/src/bonsai/bonsai/bim/module/model/handler.py @@ -19,9 +19,10 @@ import bpy import ifcopenshell import ifcopenshell.api -from bonsai.bim.module.model import product, wall, slab, profile, opening, task from bpy.app.handlers import persistent +from bonsai.bim.module.model import opening, product, profile, slab, task, wall + @persistent def load_post(*args): @@ -36,24 +37,11 @@ def load_post(*args): "sequence.edit_task_time", "Bonsai.Task.CalculateQuantities", task.calculate_quantities ) - ifcopenshell.api.add_post_listener( - "type.assign_type", "Bonsai.DumbWall.RegenerateFromType", wall.DumbWallPlaner().regenerate_from_type - ) - - ifcopenshell.api.add_post_listener( - "type.assign_type", "Bonsai.DumbSlab.RegenerateFromType", slab.DumbSlabPlaner().regenerate_from_type - ) - ifcopenshell.api.add_post_listener( "material.edit_profile", "Bonsai.DumbProfile.RegenerateFromProfile", profile.DumbProfileRegenerator().regenerate_from_profile, ) - ifcopenshell.api.add_post_listener( - "type.assign_type", - "Bonsai.DumbProfile.RegenerateFromType", - profile.DumbProfileRegenerator().regenerate_from_type, - ) ifcopenshell.api.add_post_listener( "type.assign_type", diff --git a/src/bonsai/bonsai/bim/module/model/mep.py b/src/bonsai/bonsai/bim/module/model/mep.py index ab96e60b0d..cdb2538d28 100644 --- a/src/bonsai/bonsai/bim/module/model/mep.py +++ b/src/bonsai/bonsai/bim/module/model/mep.py @@ -16,13 +16,16 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -import math import collections import collections.abc -import bmesh -import re import json +import math +import re +from copy import copy +from math import asin, cos, degrees, pi, radians, sin, tan + +import bmesh +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.geometry @@ -35,14 +38,13 @@ import ifcopenshell.util.representation import ifcopenshell.util.system import ifcopenshell.util.unit import numpy as np -import bonsai.core.type -import bonsai.core.root -import bonsai.core.geometry -import bonsai.tool as tool -from math import pi, degrees, radians, sin, cos, asin, tan -from copy import copy -from mathutils import Vector, Matrix from ifcopenshell.util.shape_builder import ShapeBuilder +from mathutils import Matrix, Vector + +import bonsai.core.geometry +import bonsai.core.root +import bonsai.core.type +import bonsai.tool as tool from bonsai.bim.module.model.profile import DumbProfileJoiner from bonsai.tool.cad import VTX_PRECISION diff --git a/src/bonsai/bonsai/bim/module/model/opening.py b/src/bonsai/bonsai/bim/module/model/opening.py index 256251b06c..b0806ec33d 100644 --- a/src/bonsai/bonsai/bim/module/model/opening.py +++ b/src/bonsai/bonsai/bim/module/model/opening.py @@ -16,38 +16,39 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +import json +import logging +from collections import defaultdict +from collections.abc import Sequence +from math import pi, radians +from typing import Any, Optional, Union, cast + +import bmesh import bpy import gpu -import json -import bmesh -import shapely -import logging -import numpy as np import ifcopenshell import ifcopenshell.api -import ifcopenshell.api.geometry import ifcopenshell.api.feature +import ifcopenshell.api.geometry import ifcopenshell.api.root import ifcopenshell.geom -import ifcopenshell.util.shape import ifcopenshell.util.element -import ifcopenshell.util.shape_builder import ifcopenshell.util.placement import ifcopenshell.util.representation +import ifcopenshell.util.shape +import ifcopenshell.util.shape_builder import ifcopenshell.util.unit -import bonsai.tool as tool -import bonsai.core.geometry -import bonsai.bim.import_ifc as import_ifc -from collections import defaultdict -from math import pi, radians -from mathutils import Vector, Matrix, Euler -from bpy.types import Operator -from bpy.types import SpaceView3D +import numpy as np +import shapely from bpy.props import FloatProperty +from bpy.types import Operator, SpaceView3D from bpy_extras.object_utils import AddObjectHelper, object_data_add from gpu_extras.batch import batch_for_shader -from typing import Union, Optional, Any, cast -from collections.abc import Sequence +from mathutils import Euler, Matrix, Vector + +import bonsai.bim.import_ifc as import_ifc +import bonsai.core.geometry +import bonsai.tool as tool from bonsai.bim.module.drawing.decoration import DecoratorData diff --git a/src/bonsai/bonsai/bim/module/model/polyline.py b/src/bonsai/bonsai/bim/module/model/polyline.py index b389f2be1f..92ec36581b 100644 --- a/src/bonsai/bonsai/bim/module/model/polyline.py +++ b/src/bonsai/bonsai/bim/module/model/polyline.py @@ -17,581 +17,31 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy + import copy import math +from typing import Any, Literal, Optional, Union + import bmesh +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.geom -import ifcopenshell.util.unit import ifcopenshell.util.element import ifcopenshell.util.placement import ifcopenshell.util.representation import ifcopenshell.util.type +import ifcopenshell.util.unit import mathutils.geometry -import bonsai.core.type -import bonsai.core.root +from lark import Lark, Transformer +from mathutils import Vector + import bonsai.core.geometry import bonsai.core.model as core +import bonsai.core.root +import bonsai.core.type import bonsai.tool as tool -from math import pi, sin, cos, degrees, tan, radians -from mathutils import Vector, Matrix, Quaternion -from bonsai.bim.module.model.opening import FilledOpeningGenerator from bonsai.bim.module.model.decorator import PolylineDecorator -from bonsai.bim.module.geometry.decorator import ItemDecorator -from typing import Optional, Union, Literal, Any -from lark import Lark, Transformer - - -def create_bmesh_from_vertices(vertices, is_closed=False): - bm = bmesh.new() - - new_verts = [bm.verts.new(v) for v in vertices] - if is_closed: - new_edges = [bm.edges.new((new_verts[i], new_verts[i + 1])) for i in range(len(new_verts) - 1)] - new_edges.append( - bm.edges.new((new_verts[-1], new_verts[0])) - ) # Add an edge between the last an first point to make it closed. - else: - new_edges = [bm.edges.new((new_verts[i], new_verts[i + 1])) for i in range(len(new_verts) - 1)] - - bm.verts.index_update() - bm.edges.index_update() - return bm - - -def get_wall_preview_data(context, relating_type): - # Get properties from object type - model_props = tool.Model.get_model_props() - direction_sense = model_props.direction_sense - direction = 1 - if direction_sense == "NEGATIVE": - direction = -1 - - layers = tool.Model.get_material_layer_parameters(relating_type) - if not layers["thickness"]: - return - thickness = layers["thickness"] - thickness *= direction - - offset_type = model_props.offset_type_vertical - unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) - offset = model_props.offset * unit_scale - - height = float(model_props.extrusion_depth) - rl = float(model_props.rl1) - x_angle = float(model_props.x_angle) - if x_angle > radians(90) or x_angle < radians(-90): - height *= -1 - angle_distance = height * tan(x_angle) - thickness *= 1 / cos(x_angle) - - data = {} - data["verts"] = [] - - # Verts - polyline_vertices = [] - polyline_props = tool.Model.get_polyline_props() - polyline_data = polyline_props.insertion_polyline - polyline_points = polyline_data[0].polyline_points if polyline_data else [] - if len(polyline_points) < 2: - data = [] - return - for point in polyline_points: - polyline_vertices.append(Vector((point.x, point.y, point.z))) - - is_closed = False - if ( - polyline_vertices[0].x == polyline_vertices[-1].x - and polyline_vertices[0].y == polyline_vertices[-1].y - and polyline_vertices[0].z == polyline_vertices[-1].z - ): - is_closed = True - polyline_vertices.pop(-1) # Remove the last point. The edges are going to inform that the shape is closed. - - bm_base = create_bmesh_from_vertices(polyline_vertices, is_closed) - base_vertices = tool.Cad.offset_edges(bm_base, offset) - offset_base_verts = tool.Cad.offset_edges(bm_base, thickness + offset) - top_vertices = tool.Cad.offset_edges(bm_base, angle_distance + offset) - offset_top_verts = tool.Cad.offset_edges(bm_base, angle_distance + thickness + offset) - if is_closed: - base_vertices.append(base_vertices[0]) - offset_base_verts.append(offset_base_verts[0]) - top_vertices.append(top_vertices[0]) - offset_top_verts.append(offset_top_verts[0]) - - if offset_base_verts is not None: - for v in base_vertices: - data["verts"].append((v.co.x, v.co.y, v.co.z + rl)) - - for v in offset_base_verts[::-1]: - data["verts"].append((v.co.x, v.co.y, v.co.z + rl)) - - for v in top_vertices: - data["verts"].append((v.co.x, v.co.y, v.co.z + rl + height)) - - for v in offset_top_verts[::-1]: - data["verts"].append((v.co.x, v.co.y, v.co.z + rl + height)) - - bm_base.free() - - # Edges and Tris - points = [] - side_edges_1 = [] - side_edges_2 = [] - base_edges = [] - - for i in range(len(data["verts"])): - points.append(Vector(data["verts"][i])) - - n = len(points) // 2 - bottom_side_1 = [[i, (i + 1) % (n)] for i in range((n - 1) // 2)] - bottom_side_2 = [[i, (i + 1) % (n)] for i in range(n // 2, n - 1)] - bottom_connections = [[i, n - i - 1] for i in range(n // 2)] - bottom_loop = bottom_connections + bottom_side_1 + bottom_side_2 - side_edges_1.extend(bottom_side_1) - side_edges_2.extend(bottom_side_2) - base_edges.extend(bottom_loop) - - upper_side_1 = [[i + n for i in edges] for edges in bottom_side_1] - upper_side_2 = [[i + n for i in edges] for edges in bottom_side_2] - upper_loop = [[i + n for i in edges] for edges in bottom_loop] - side_edges_1.extend(upper_side_1) - side_edges_2.extend(upper_side_2) - base_edges.extend(upper_loop) - - loops = [side_edges_1, side_edges_2, base_edges] - - data["edges"] = [] - data["tris"] = [] - for i, group in enumerate(loops): - bm = bmesh.new() - - new_verts = [bm.verts.new(v) for v in points] - new_edges = [bm.edges.new((new_verts[e[0]], new_verts[e[1]])) for e in group] - - bm.verts.index_update() - bm.edges.index_update() - - if i == 2: - new_faces = bmesh.ops.contextual_create(bm, geom=bm.edges) - new_faces = bmesh.ops.bridge_loops(bm, edges=bm.edges, use_pairs=True, use_cyclic=True) - - bm.verts.index_update() - bm.edges.index_update() - edges = [[v.index for v in e.verts] for e in bm.edges] - tris = [[l.vert.index for l in loop] for loop in bm.calc_loop_triangles()] - data["edges"].extend(edges) - data["tris"].extend(tris) - - data["edges"] = list(set(tuple(e) for e in data["edges"])) - data["tris"] = list(set(tuple(t) for t in data["tris"])) - - return data - - -def get_slab_preview_data(context, relating_type): - model_props = tool.Model.get_model_props() - x_angle = 0 if tool.Cad.is_x(model_props.x_angle, 0, tolerance=0.001) else model_props.x_angle - direction_sense = model_props.direction_sense - direction = 1 - if direction_sense == "NEGATIVE": - direction = -1 - - layers = tool.Model.get_material_layer_parameters(relating_type) - if not layers["thickness"]: - return - thickness = layers["thickness"] * abs(1 / cos(x_angle)) - thickness *= direction - - offset_type = model_props.offset_type_horizontal - unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) - offset = model_props.offset * abs(1 / cos(x_angle)) * unit_scale - - data = {} - data["verts"] = [] - # Verts - polyline_vertices = [] - polyline_props = tool.Model.get_polyline_props() - polyline_data = polyline_props.insertion_polyline - polyline_points = polyline_data[0].polyline_points if polyline_data else [] - if len(polyline_points) < 3: - data = [] - return - for point in polyline_points: - polyline_vertices.append(Vector((point.x, point.y, point.z))) - if x_angle: - # Get vertices relative to the first polyline point as origin - local_vertices = [v - Vector(polyline_vertices[0]) for v in polyline_vertices] - # Make the transformation relative to the x_angle - transformed_vertices = [Vector((v.x, v.y * (1 / cos(x_angle)), v.z)) for v in local_vertices] - # Convert back to world origin - polyline_vertices = [v + Vector(polyline_vertices[0]) for v in transformed_vertices] - if offset != 0: - polyline_vertices = [v + Vector((0, 0, offset)) for v in polyline_vertices] - is_closed = True - if ( - polyline_vertices[0].x == polyline_vertices[-1].x - and polyline_vertices[0].y == polyline_vertices[-1].y - and polyline_vertices[0].z == polyline_vertices[-1].z - ): - polyline_vertices.pop(-1) # Remove the last point. The edges are going to inform that the shape is closed. - bm = create_bmesh_from_vertices(polyline_vertices, is_closed) - bm.verts.ensure_lookup_table() - if x_angle: - rot_mat = Matrix.Rotation(x_angle, 3, "X") - if abs(x_angle) > (pi / 2): - rot_mat = rot_mat @ Matrix.Scale(-1, 3, (0, 1, 0)) - bmesh.ops.rotate(bm, cent=Vector(bm.verts[0].co), verts=bm.verts, matrix=rot_mat) - new_faces = bmesh.ops.contextual_create(bm, geom=bm.edges) - new_faces = bmesh.ops.extrude_face_region(bm, geom=bm.edges[:] + bm.faces[:]) - new_verts = [e for e in new_faces["geom"] if isinstance(e, bmesh.types.BMVert)] - new_faces = bmesh.ops.translate(bm, verts=new_verts, vec=(0.0, 0.0, thickness)) - bm.verts.index_update() - bm.edges.index_update() - verts = [tuple(v.co) for v in bm.verts] - edges = [[v.index for v in e.verts] for e in bm.edges] - tris = [[loop.vert.index for loop in triangles] for triangles in bm.calc_loop_triangles()] - data["verts"] = verts - data["edges"] = edges - data["tris"] = tris - return data - - -def get_vertical_profile_preview_data( - context: bpy.types.Context, relating_type: ifcopenshell.entity_instance -) -> dict[str, Any]: - material = ifcopenshell.util.element.get_material(relating_type) - try: - profile = material.MaterialProfiles[0].Profile - except: - return {} - - model_props = tool.Model.get_model_props() - extrusion_depth = model_props.extrusion_depth - cardinal_point = model_props.cardinal_point - rot_mat = Quaternion() - if relating_type.is_a("IfcBeamType"): - y_rot = Quaternion((0.0, 1.0, 0.0), radians(90)) - z_rot = Quaternion((0.0, 0.0, 1.0), radians(90)) - rot_mat = y_rot @ z_rot - # Get profile data - settings = ifcopenshell.geom.settings() - settings.set("dimensionality", ifcopenshell.ifcopenshell_wrapper.CURVES_SURFACES_AND_SOLIDS) - shape = ifcopenshell.geom.create_shape(settings, profile) - - verts = shape.verts - if not verts: - raise RuntimeError(f"Profile shape has no vertices, it probably is invalid: '{profile}'.") - - edges = shape.edges - - grouped_verts = [[verts[i], verts[i + 1], 0] for i in range(0, len(verts), 3)] - grouped_edges = [[edges[i], edges[i + 1]] for i in range(0, len(edges), 2)] - - # Create offsets based on cardinal point - min_x = min(v[0] for v in grouped_verts) - max_x = max(v[0] for v in grouped_verts) - min_y = min(v[1] for v in grouped_verts) - max_y = max(v[1] for v in grouped_verts) - - x_offset = (max_x - min_x) / 2 - y_offset = (max_y - min_y) / 2 - - match cardinal_point: - case "1": - grouped_verts = [(v[0] - x_offset, v[1] + y_offset, v[2]) for v in grouped_verts] - case "2": - grouped_verts = [(v[0], v[1] + y_offset, v[2]) for v in grouped_verts] - case "3": - grouped_verts = [(v[0] + x_offset, v[1] + y_offset, v[2]) for v in grouped_verts] - case "4": - grouped_verts = [(v[0] - x_offset, v[1], v[2]) for v in grouped_verts] - case "5": - grouped_verts = [(v[0], v[1], v[2]) for v in grouped_verts] - case "6": - grouped_verts = [(v[0] + x_offset, v[1], v[2]) for v in grouped_verts] - case "7": - grouped_verts = [(v[0] - x_offset, v[1] - y_offset, v[2]) for v in grouped_verts] - case "8": - grouped_verts = [(v[0], v[1] - y_offset, v[2]) for v in grouped_verts] - case "9": - grouped_verts = [(v[0] + x_offset, v[1] - y_offset, v[2]) for v in grouped_verts] - - # Create extrusion bmesh - bm = bmesh.new() - - grouped_verts.append(grouped_verts[0]) # Close profile - new_verts = [bm.verts.new(v) for v in grouped_verts] - new_edges = [bm.edges.new((new_verts[i], new_verts[i + 1])) for i in range(len(grouped_verts) - 1)] - - bm.verts.index_update() - bm.edges.index_update() - - bmesh.ops.remove_doubles(bm, verts=bm.verts, dist=0.001) - - new_faces = bmesh.ops.contextual_create(bm, geom=bm.edges) - - new_faces = bmesh.ops.extrude_face_region(bm, geom=bm.faces, use_dissolve_ortho_edges=True) - new_verts = [e for e in new_faces["geom"] if isinstance(e, bmesh.types.BMVert)] - new_faces = bmesh.ops.translate(bm, verts=new_verts, vec=(0.0, 0.0, extrusion_depth)) - - bm.verts.index_update() - bm.edges.index_update() - tris = [[loop.vert.index for loop in triangles] for triangles in bm.calc_loop_triangles()] - - # Calculate rotation, mouse position, angle and cardinal point - polyline_props = tool.Model.get_polyline_props() - snap_prop = polyline_props.snap_mouse_point[0] - mouse_point = Vector((snap_prop.x, snap_prop.y, snap_prop.z)) - data = {} - - verts = [tuple(v.co) for v in bm.verts] - verts = [tuple(rot_mat @ Vector(v)) for v in verts] - verts = [tuple(Vector(v) + mouse_point) for v in verts] - min_z = min(v.co.z for v in bm.verts) - max_z = max(v.co.z for v in bm.verts) - # Add axis verts - verts.append(tuple(mouse_point)) - verts.append(tuple(mouse_point + Vector((0, 0, max_z)))) - # Add only profile edges - edges = [] - for edge in bm.edges: - if (edge.verts[0].co.z == min_z and edge.verts[1].co.z == min_z) or ( - edge.verts[0].co.z == max_z and edge.verts[1].co.z == max_z - ): - edges.append(edge) - # Add axis edge - edges = [(edge.verts[0].index, edge.verts[1].index) for edge in edges] - edges.append((len(verts) - 1, len(verts) - 2)) - data["verts"] = verts - data["edges"] = edges - data["tris"] = tris - - bm.free() - - return data - - -def get_horizontal_profile_preview_data( - context: bpy.types.Context, relating_type: ifcopenshell.entity_instance -) -> dict[str, Any]: - material = ifcopenshell.util.element.get_material(relating_type) - try: - profile_curve = material.MaterialProfiles[0].Profile - except: - return {} - - model_props = tool.Model.get_model_props() - cardinal_point = model_props.cardinal_point - - polyline_verts = [] - polyline_props = tool.Model.get_polyline_props() - polyline_data = polyline_props.insertion_polyline - polyline_points = polyline_data[0].polyline_points if polyline_data else [] - if len(polyline_points) < 2: - return {} - for point in polyline_points: - polyline_verts.append(Vector((point.x, point.y, point.z))) - polyline_edges = [(i, i + 1) for i in range(len(polyline_verts) - 1)] - - # Get profile shape - settings = ifcopenshell.geom.settings() - settings.set("dimensionality", ifcopenshell.ifcopenshell_wrapper.CURVES_SURFACES_AND_SOLIDS) - shape = ifcopenshell.geom.create_shape(settings, profile_curve) - - verts = shape.verts - if not verts: - raise RuntimeError(f"Profile shape has no vertices, it probably is invalid: '{profile_curve}'.") - - edges = shape.edges - - grouped_verts = [[verts[i], verts[i + 1], 0] for i in range(0, len(verts), 3)] - grouped_edges = [[edges[i], edges[i + 1]] for i in range(0, len(edges), 2)] - - # Create offsets based on cardinal point - min_x = min(v[0] for v in grouped_verts) - max_x = max(v[0] for v in grouped_verts) - min_y = min(v[1] for v in grouped_verts) - max_y = max(v[1] for v in grouped_verts) - - x_offset = (max_x - min_x) / 2 - y_offset = (max_y - min_y) / 2 - - match cardinal_point: - case "1": - grouped_verts = [(v[0] - x_offset, v[1] + y_offset, v[2]) for v in grouped_verts] - case "2": - grouped_verts = [(v[0], v[1] + y_offset, v[2]) for v in grouped_verts] - case "3": - grouped_verts = [(v[0] + x_offset, v[1] + y_offset, v[2]) for v in grouped_verts] - case "4": - grouped_verts = [(v[0] - x_offset, v[1], v[2]) for v in grouped_verts] - case "5": - grouped_verts = [(v[0], v[1], v[2]) for v in grouped_verts] - case "6": - grouped_verts = [(v[0] + x_offset, v[1], v[2]) for v in grouped_verts] - case "7": - grouped_verts = [(v[0] - x_offset, v[1] - y_offset, v[2]) for v in grouped_verts] - case "8": - grouped_verts = [(v[0], v[1] - y_offset, v[2]) for v in grouped_verts] - case "9": - grouped_verts = [(v[0] + x_offset, v[1] - y_offset, v[2]) for v in grouped_verts] - - data: dict[str, Any] = {} - data["verts"] = [] - data["edges"] = [] - data["tris"] = [] - - grouped_verts = [(v) for v in grouped_verts] - - all_bm = bmesh.new() - for i in range(len(polyline_verts) - 1): - mesh = bpy.data.meshes.new("TempMesh") - # Create the initial mesh from the profile verts - bm = create_bmesh_from_vertices(grouped_verts, is_closed=True) - bm.verts.ensure_lookup_table() - # Creates the clipping plane formed by two segments. - # The first one is for the profile start, based on the current and previous segment of the polyline. - # The second is for the profile end, based on the current and the next segment. - if i == 0: - d = (polyline_verts[i + 1] - polyline_verts[i]).normalized() - clip_start = d - else: - d1 = (polyline_verts[i] - polyline_verts[i - 1]).normalized() - d2 = (polyline_verts[i] - polyline_verts[i + 1]).normalized() - clip_start = (d1 - d2).normalized() - - if i == len(polyline_verts) - 2: - d = (polyline_verts[i + 1] - polyline_verts[i]).normalized() - clip_end = d - else: - d1 = (polyline_verts[i + 1] - polyline_verts[i]).normalized() - d2 = (polyline_verts[i + 1] - polyline_verts[i + 2]).normalized() - clip_end = (d1 - d2).normalized() - - # Rotates the profile face to the right direction - direction = polyline_verts[i + 1] - polyline_verts[i] - position = polyline_verts[i] - rotation_matrix = direction.to_track_quat("Z", "Y").to_matrix().to_4x4() - bmesh.ops.transform(bm, verts=bm.verts, matrix=rotation_matrix) - bmesh.ops.translate(bm, verts=bm.verts, vec=position) - bmesh.ops.translate(bm, verts=bm.verts, vec=-direction) - - # Extrude and move the new face - last_face = bmesh.ops.extrude_face_region(bm, geom=bm.edges[:] + bm.faces[:]) - new_verts = [e for e in last_face["geom"] if isinstance(e, bmesh.types.BMVert)] - bmesh.ops.translate(bm, verts=new_verts, vec=direction * 3) - # Apply the cutting planes - cut = bmesh.ops.bisect_plane( - bm, - geom=bm.verts[:] + bm.edges[:] + bm.faces[:], - plane_co=polyline_verts[i], - plane_no=clip_start, - clear_inner=True, - ) - bm.verts.index_update() - bm.edges.index_update() - cut = bmesh.ops.bisect_plane( - bm, - geom=bm.verts[:] + bm.edges[:] + bm.faces[:], - plane_co=polyline_verts[i + 1], - plane_no=clip_end, - clear_outer=True, - ) - - bm.to_mesh(mesh) - bm.free() - mesh.update() - all_bm.from_mesh(mesh) - bpy.data.meshes.remove(bpy.data.meshes["TempMesh"]) - - # It's necessary to add the mesh to an object to get the expected result. - mesh = bpy.data.meshes.new("TempMesh2") - all_bm.to_mesh(mesh) - all_bm.free() - obj = bpy.data.objects.new("TempObj", mesh) - bm = bmesh.new() - bm.from_mesh(obj.data) - bpy.data.meshes.remove(bpy.data.meshes["TempMesh2"]) - - verts = [tuple(v.co) for v in bm.verts] - edges = [[v.index for v in e.verts] for e in bm.edges] - tris = [[loop.vert.index for loop in triangles] for triangles in bm.calc_loop_triangles()] - data["verts"] = verts - data["edges"] = edges - data["tris"] = tris - bm.free() - return data - - -def get_generic_product_preview_data(context, relating_type): - model_props = tool.Model.get_model_props() - if relating_type.is_a("IfcDoorType"): - rl = float(model_props.rl1) - elif relating_type.is_a("IfcWindowType"): - rl = float(model_props.rl2) - else: - rl = 0 - polyline_props = tool.Model.get_polyline_props() - snap_prop = polyline_props.snap_mouse_point[0] - default_container_elevation = tool.Root.get_default_container_elevation() - mouse_point = Vector((snap_prop.x, snap_prop.y, default_container_elevation)) - snap_obj = bpy.data.objects.get(snap_prop.snap_object) - snap_element = tool.Ifc.get_entity(snap_obj) - rot_mat = Matrix() - if relating_type.is_a() in ["IfcDoorType", "IfcWindowType"] and snap_element and snap_element.is_a("IfcWall"): - layers = tool.Model.get_material_layer_parameters(snap_element) - axes = tool.Model.get_wall_axis(snap_obj, layers=layers) - axis_base = axes["base"] - axis_side = axes["side"] - point_on_base_axis = tool.Cad.point_on_edge(mouse_point, axis_base) - point_on_side_axis = tool.Cad.point_on_edge(mouse_point, axis_side) - if (point_on_base_axis - mouse_point).length_squared <= (point_on_side_axis - mouse_point).length_squared: - # mouse is snapped to the base axis, the preview looks exactly like the placed door / window - rot_mat = snap_obj.matrix_world - else: - # mouse is snapped to the side axis, the preview is inverted, rotate it now and correct x position later - rot_mat = (snap_obj.matrix_world.to_quaternion() @ Quaternion(Vector((0, 0, 1)), radians(180))).to_matrix().to_4x4() - - mouse_point.z = snap_obj.matrix_world.translation.z - - if snap_element and (container := ifcopenshell.util.element.get_container(snap_element)): - container_obj = tool.Ifc.get_object(container) - mouse_point.z = container_obj.location.z - - obj_type = tool.Ifc.get_object(relating_type) - - subcontexts = tool.Drawing.get_active_drawing_subcontexts() - if not subcontexts: - subcontexts = [("Model", "Body", "MODEL_VIEW")] - - active_context = tool.Geometry.get_active_representation_context(obj_type) - active_context_params = tool.Geometry.get_subcontext_parameters(active_context) - for subcontext in subcontexts: - if subcontext == active_context_params: - break - - representation = ifcopenshell.util.representation.get_representation(relating_type, *subcontext) - if representation: - bonsai.core.geometry.switch_representation( - tool.Ifc, - tool.Geometry, - obj_type, - representation, - ) - context.view_layer.update() - break - - if obj_type.data: - data = ItemDecorator.get_obj_data(obj_type) - obj_type_matrix_i = obj_type.matrix_world.inverted() - translate_mouse = Matrix.Translation(mouse_point) - translate_rl = Matrix.Translation((0.0, 0.0, rl)) - combined_m = translate_mouse @ rot_mat @ translate_rl @ obj_type_matrix_i - data["verts"] = [tuple(combined_m @ Vector(v)) for v in data["verts"]] - return data class PolylineOperator: @@ -761,22 +211,21 @@ class PolylineOperator: context.workspace.status_text_set(draw_instructions) def handle_lock_axis(self, context: bpy.types.Context, event: bpy.types.Event) -> None: + angle_snap = tool.Snap.get_angle_snap_value(context) if event.value == "PRESS" and event.type == "A": self.tool_state.lock_axis = False if self.tool_state.lock_axis else True if self.tool_state.lock_axis: self.tool_state.snap_angle = self.input_ui.get_number_value("WORLD_ANGLE") - # Round to the closest 5 - self.tool_state.snap_angle = round(self.tool_state.snap_angle / 5) * 5 + self.tool_state.snap_angle = round(self.tool_state.snap_angle / angle_snap) * angle_snap if event.shift and event.type in {"WHEELUPMOUSE", "WHEELDOWNMOUSE"}: self.tool_state.lock_axis = True self.tool_state.snap_angle = self.input_ui.get_number_value("WORLD_ANGLE") - # Round to the closest 5 - self.tool_state.snap_angle = round(self.tool_state.snap_angle / 5) * 5 + self.tool_state.snap_angle = round(self.tool_state.snap_angle / angle_snap) * angle_snap if event.type in {"WHEELUPMOUSE"}: - self.tool_state.snap_angle += 5 + self.tool_state.snap_angle += angle_snap else: - self.tool_state.snap_angle -= 5 + self.tool_state.snap_angle -= angle_snap self.handle_mouse_move(context, event) detected_snaps = tool.Snap.detect_snapping_points(context, event, self.objs_2d_bbox, self.tool_state) self.snapping_points = tool.Snap.select_snapping_points(context, event, self.tool_state, detected_snaps) @@ -989,37 +438,6 @@ class PolylineOperator: tool.Blender.update_viewport() return {"RUNNING_MODAL"} - def get_product_preview_data(self, context: bpy.types.Context, relating_type: ifcopenshell.entity_instance) -> None: - if tool.Model.get_usage_type(relating_type) == "PROFILE": - if relating_type.is_a() in {"IfcColumnType", "IfcPileType"}: - data = get_vertical_profile_preview_data(context, relating_type) - else: - data = get_horizontal_profile_preview_data(context, relating_type) - elif tool.Model.get_usage_type(relating_type) == "LAYER2": - data = get_wall_preview_data(context, relating_type) - elif tool.Model.get_usage_type(relating_type) == "LAYER3": - data = get_slab_preview_data(context, relating_type) - else: - data = get_generic_product_preview_data(context, relating_type) - - # Update properties so it can be used by the decorator - props = tool.Model.get_product_preview_props() - props.verts.clear() - props.edges.clear() - props.tris.clear() - if not data: - return - - for vert in data["verts"]: - v = props.verts.add() - v.value_3d = vert - for edge in data["edges"]: - e = props.edges.add() - e.value_2d = edge - for tri in data["tris"]: - t = props.tris.add() - t.value_3d = tri - def set_offset(self, context: bpy.types.Context, relating_type: ifcopenshell.entity_instance) -> None: props = tool.Model.get_model_props() direction_sense = props.direction_sense diff --git a/src/bonsai/bonsai/bim/module/model/product.py b/src/bonsai/bonsai/bim/module/model/product.py index c08ff9131b..012cba4889 100644 --- a/src/bonsai/bonsai/bim/module/model/product.py +++ b/src/bonsai/bonsai/bim/module/model/product.py @@ -18,38 +18,41 @@ # # pyright: reportUnnecessaryTypeIgnoreComment=error -import bpy +import json +from typing import TYPE_CHECKING, Any, Literal, Optional, Union, assert_never, get_args + import bmesh -import mathutils -import numpy as np +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.geometry import ifcopenshell.api.system -import ifcopenshell.util.system import ifcopenshell.util.element import ifcopenshell.util.placement import ifcopenshell.util.representation import ifcopenshell.util.shape_builder +import ifcopenshell.util.system import ifcopenshell.util.type import ifcopenshell.util.unit -import bonsai.tool as tool +import mathutils +import numpy as np +from bpy_extras.object_utils import AddObjectHelper +from mathutils import Matrix, Vector + import bonsai.core.aggregate -import bonsai.core.type -import bonsai.core.root import bonsai.core.geometry import bonsai.core.model as core +import bonsai.core.root import bonsai.core.spatial -from . import wall, slab, profile, mep -from bonsai.bim.ifc import IfcStore +import bonsai.core.type +import bonsai.tool as tool from bonsai.bim.helper import get_enum_items +from bonsai.bim.ifc import IfcStore from bonsai.bim.module.model.data import AuthoringData -from bonsai.bim.module.model.polyline import PolylineOperator from bonsai.bim.module.model.decorator import PolylineDecorator, ProductDecorator -from mathutils import Vector, Matrix -from bpy_extras.object_utils import AddObjectHelper -import json -from typing import Any, Union, Optional, Literal, get_args, assert_never, TYPE_CHECKING +from bonsai.bim.module.model.polyline import PolylineOperator + +from . import mep, profile, slab, wall class AddEmptyType(bpy.types.Operator, AddObjectHelper): @@ -249,8 +252,6 @@ class DrawOccurrence(bpy.types.Operator, PolylineOperator, tool.Ifc.Operator): if event.value == "RELEASE" and event.type == "LEFTMOUSE": self.create_occurrence(context, event) - self.get_product_preview_data(context, self.relating_type) - cancel = self.handle_cancelation(context, event) if cancel is not None: ProductDecorator.uninstall() @@ -379,7 +380,7 @@ class AddOccurrence(bpy.types.Operator, tool.Ifc.Operator): ifc_class=instance_class, should_add_representation=False, ) - bonsai.core.type.assign_type(tool.Ifc, tool.Type, element=element, type=relating_type) + bonsai.core.type.assign_type(tool.Ifc, tool.Model, tool.Type, element=element, type=relating_type) rprops = tool.Root.get_root_props() ifc_context = None @@ -432,7 +433,7 @@ class AddOccurrence(bpy.types.Operator, tool.Ifc.Operator): ) element = tool.Ifc.get_entity(obj) - bonsai.core.type.assign_type(tool.Ifc, tool.Type, element=element, type=relating_type) + bonsai.core.type.assign_type(tool.Ifc, tool.Model, tool.Type, element=element, type=relating_type) if existing_context: representation = ifcopenshell.util.representation.get_representation(element, existing_context) @@ -469,7 +470,7 @@ class AddOccurrence(bpy.types.Operator, tool.Ifc.Operator): parent = ifcopenshell.util.element.get_container(building_element) if parent: bonsai.core.spatial.assign_container( - tool.Ifc, tool.Collector, tool.Spatial, container=parent, element_obj=obj + tool.Ifc, tool.Collector, tool.Spatial, container=parent, objs=[obj] ) # set occurrences properties for the types defined with modifiers @@ -492,7 +493,7 @@ class AddOccurrence(bpy.types.Operator, tool.Ifc.Operator): else: if self.container_obj: bonsai.core.spatial.assign_container( - tool.Ifc, tool.Collector, tool.Spatial, container=self.container, element_obj=obj + tool.Ifc, tool.Collector, tool.Spatial, container=self.container, objs=[obj] ) if props.rl_mode == "BOTTOM": obj.location.z = self.container_obj.location.z - tool.Blender.get_object_bounding_box(obj)["min_z"] diff --git a/src/bonsai/bonsai/bim/module/model/profile.py b/src/bonsai/bonsai/bim/module/model/profile.py index ecc1b86163..4e16f9b296 100644 --- a/src/bonsai/bonsai/bim/module/model/profile.py +++ b/src/bonsai/bonsai/bim/module/model/profile.py @@ -16,32 +16,37 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import copy +from math import atan2, degrees, pi, radians +from typing import Any, Literal, Optional, Union + import bmesh -import mathutils.geometry +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.geometry import ifcopenshell.api.pset import ifcopenshell.api.type -import ifcopenshell.util.type -import ifcopenshell.util.unit import ifcopenshell.util.element import ifcopenshell.util.placement import ifcopenshell.util.representation -import bonsai.tool as tool -import bonsai.core.type +import ifcopenshell.util.type +import ifcopenshell.util.unit +import mathutils.geometry +from mathutils import Matrix, Vector + import bonsai.core.geometry import bonsai.core.material import bonsai.core.root +import bonsai.core.type +import bonsai.tool as tool from bonsai.bim.ifc import IfcStore -from math import pi, degrees, atan2 -from mathutils import Vector, Matrix -from bonsai.bim.module.model.decorator import ProfileDecorator, PolylineDecorator, ProductDecorator +from bonsai.bim.module.model.decorator import ( + PolylineDecorator, + ProductDecorator, + ProfileDecorator, +) from bonsai.bim.module.model.polyline import PolylineOperator -from typing import Union, Any, Optional, Literal - ProfileFrom2PointsReturn = Union[dict[str, Any], None] @@ -190,8 +195,8 @@ class DumbProfileGenerator: if should_round: # Round to nearest 50mm (yes, metric for now) self.length = 0.05 * round(length / 0.05) - # Round to nearest 5 degrees - nearest_degree = (pi / 180) * 5 + angle_snap = tool.Snap.get_angle_snap_value(bpy.context) + nearest_degree = radians(angle_snap) self.rotation = nearest_degree * round(self.rotation / nearest_degree) self.location = coords[0] data["obj"] = self.create_profile() @@ -262,22 +267,6 @@ class DumbProfileRegenerator: results.extend(inverse.RelatedObjects) return results - def regenerate_from_type(self, usecase_path, ifc_file, settings): - relating_type = settings["relating_type"] - - new_material = ifcopenshell.util.element.get_material(relating_type) - if not new_material or not new_material.is_a("IfcMaterialProfileSet"): - return - - for related_object in settings["related_objects"]: - self._regenerate_from_type(related_object) - - def _regenerate_from_type(self, related_object: ifcopenshell.entity_instance) -> None: - obj = tool.Ifc.get_object(related_object) - if not obj or not tool.Geometry.get_active_representation(obj): - return - DumbProfileRecalculator().recalculate([obj]) - class ExtendProfile(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.extend_profile" @@ -1142,8 +1131,13 @@ class DrawPolylineProfile(bpy.types.Operator, PolylineOperator, tool.Ifc.Operato MEPGenerator().setup_ports(profile1["obj"]) else: + connect_IfcFlowSegments = tool.Ifc.get_entity(profiles[0]["obj"]).is_a("IfcFlowSegment") for profile1, profile2 in zip(profiles[:-1], profiles[1:]): DumbProfileJoiner().join_V(profile2["obj"], profile1["obj"]) + if connect_IfcFlowSegments: + bpy.ops.bim.mep_connect_elements( + obj1_name=profile1["obj"].name, obj2_name=profile2["obj"].name + ) def modal(self, context, event): return IfcStore.execute_ifc_operator(self, context, event, method="MODAL") @@ -1189,11 +1183,8 @@ class DrawPolylineProfile(bpy.types.Operator, PolylineOperator, tool.Ifc.Operato return {"FINISHED"} self.handle_keyboard_input(context, event) - self.handle_inserting_polyline(context, event) - self.get_product_preview_data(context, self.relating_type) - cancel = self.handle_cancelation(context, event) if cancel is not None: ProductDecorator.uninstall() diff --git a/src/bonsai/bonsai/bim/module/model/prop.py b/src/bonsai/bonsai/bim/module/model/prop.py index b26466aa15..ec79a49196 100644 --- a/src/bonsai/bonsai/bim/module/model/prop.py +++ b/src/bonsai/bonsai/bim/module/model/prop.py @@ -16,22 +16,28 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +import math +from collections.abc import Callable +from math import pi, radians +from typing import TYPE_CHECKING, Any, Literal, Optional, Union, get_args + import bpy import ifcopenshell import ifcopenshell.util.element +from bpy.types import NodeTree, PropertyGroup +from mathutils import Vector + import bonsai.tool as tool -import math -from bonsai.bim.prop import ObjProperty +from bonsai.bim.module.drawing.decoration import CutDecorator from bonsai.bim.module.model.data import AuthoringData -from bpy.types import PropertyGroup, NodeTree -from math import pi, radians -from bonsai.bim.module.model.decorator import WallAxisDecorator, SlabDirectionDecorator, BoundingBoxDecorator +from bonsai.bim.module.model.decorator import ( + BoundingBoxDecorator, + SlabDirectionDecorator, + WallAxisDecorator, +) from bonsai.bim.module.model.door import update_door_modifier_bmesh from bonsai.bim.module.model.window import update_window_modifier_bmesh -from bonsai.bim.module.drawing.decoration import CutDecorator -from typing import TYPE_CHECKING, Literal, get_args, Union, Any, Optional -from collections.abc import Callable -from mathutils import Vector +from bonsai.bim.prop import ObjProperty if TYPE_CHECKING: import sverchok.node_tree @@ -381,11 +387,6 @@ class BIMArrayProperties(PropertyGroup): name="Method", default="OFFSET", ) - sync_children: bpy.props.BoolProperty( - name="Sync Children", - description="Regenerate all children based on the parent object", - default=False, - ) relating_array_object: bpy.props.PointerProperty( type=bpy.types.Object, name="Copy Array Properties", @@ -1697,17 +1698,6 @@ class ProductPreviewItem(PropertyGroup): value_2d: tuple[float, float] -class BIMProductPreviewProperties(PropertyGroup): - verts: bpy.props.CollectionProperty(type=ProductPreviewItem) - edges: bpy.props.CollectionProperty(type=ProductPreviewItem) - tris: bpy.props.CollectionProperty(type=ProductPreviewItem) - - if TYPE_CHECKING: - verts: bpy.types.bpy_prop_collection_idprop[ProductPreviewItem] - edges: bpy.types.bpy_prop_collection_idprop[ProductPreviewItem] - tris: bpy.types.bpy_prop_collection_idprop[ProductPreviewItem] - - def update_is_editing(self: "BIMExternalParametricGeometryProperties", context: bpy.types.Context) -> None: if self.is_editing: return diff --git a/src/bonsai/bonsai/bim/module/model/railing.py b/src/bonsai/bonsai/bim/module/model/railing.py index 4f6fc348f0..624b1b64a7 100644 --- a/src/bonsai/bonsai/bim/module/model/railing.py +++ b/src/bonsai/bonsai/bim/module/model/railing.py @@ -17,24 +17,25 @@ # along with Bonsai. If not, see . -import bpy +import json +from typing import Any + import bmesh +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.geometry import ifcopenshell.api.pset import ifcopenshell.util.representation import ifcopenshell.util.unit -import bonsai.core.root +from mathutils import Vector + import bonsai.core.geometry +import bonsai.core.root import bonsai.tool as tool from bonsai.bim.module.model.data import RailingData, refresh from bonsai.bim.module.model.decorator import ProfileDecorator -from mathutils import Vector -import json -from typing import Any - # reference: # https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRailing.htm # https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRailingType.htm diff --git a/src/bonsai/bonsai/bim/module/model/roof.py b/src/bonsai/bonsai/bim/module/model/roof.py index daf41b86dd..4038faa993 100644 --- a/src/bonsai/bonsai/bim/module/model/roof.py +++ b/src/bonsai/bonsai/bim/module/model/roof.py @@ -16,27 +16,27 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -import bmesh +import json +from math import cos, pi, radians, tan +from typing import Any, Literal, Union +import bmesh +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.pset import ifcopenshell.util.representation import ifcopenshell.util.unit +import mathutils.geometry +import shapely +from bpypolyskel import bpypolyskel +from mathutils import Matrix, Quaternion, Vector + import bonsai.core.root import bonsai.tool as tool from bonsai.bim.module.model.data import RoofData, refresh from bonsai.bim.module.model.decorator import ProfileDecorator -import json -from math import cos, tan, pi, radians -from mathutils import Vector, Matrix, Quaternion -import mathutils.geometry -from bpypolyskel import bpypolyskel -import shapely -from typing import Literal, Union, Any - # reference: # https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRoof.htm # https://ifc43-docs.standards.buildingsmart.org/IFC/RELEASE/IFC4x3/HTML/lexical/IfcRoofType.htm diff --git a/src/bonsai/bonsai/bim/module/model/slab.py b/src/bonsai/bonsai/bim/module/model/slab.py index 4c9e89bf41..602c36df11 100644 --- a/src/bonsai/bonsai/bim/module/model/slab.py +++ b/src/bonsai/bonsai/bim/module/model/slab.py @@ -16,9 +16,12 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import json +from math import acos, cos, degrees, pi, sin +from typing import Optional + import bmesh +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.geometry @@ -28,18 +31,21 @@ import ifcopenshell.api.type import ifcopenshell.util.element import ifcopenshell.util.placement import ifcopenshell.util.representation -import ifcopenshell.util.unit import ifcopenshell.util.type -import bonsai.core.type +import ifcopenshell.util.unit +from mathutils import Matrix, Vector + import bonsai.core.geometry import bonsai.core.root +import bonsai.core.type import bonsai.tool as tool from bonsai.bim.ifc import IfcStore -from math import cos, sin, pi, acos, degrees -from mathutils import Vector, Matrix -from bonsai.bim.module.model.decorator import ProfileDecorator, PolylineDecorator, ProductDecorator +from bonsai.bim.module.model.decorator import ( + PolylineDecorator, + ProductDecorator, + ProfileDecorator, +) from bonsai.bim.module.model.polyline import PolylineOperator -from typing import Optional class DumbSlabGenerator: @@ -225,49 +231,16 @@ class DumbSlabPlaner: for inverse in tool.Ifc.get().get_inverse(layer_set): if not inverse.is_a("IfcMaterialLayerSetUsage") or inverse.LayerSetDirection != "AXIS3": continue - if tool.Ifc.get().schema == "IFC2X3": for rel in tool.Ifc.get().get_inverse(inverse): if not rel.is_a("IfcRelAssociatesMaterial"): continue for element in rel.RelatedObjects: - self.change_thickness(element, total_thickness, preserve_offset=True) + self.change_thickness(element, total_thickness) else: for rel in inverse.AssociatedTo: for element in rel.RelatedObjects: - self.change_thickness(element, total_thickness, preserve_offset=True) - - def regenerate_from_type(self, usecase_path, ifc_file, settings): - relating_type = settings["relating_type"] - - new_material = ifcopenshell.util.element.get_material(relating_type) - if not new_material or not new_material.is_a("IfcMaterialLayerSet"): - return - - parametric = ifcopenshell.util.element.get_psets(settings["relating_type"]).get("EPset_Parametric") - layer_set_direction = None - if parametric: - layer_set_direction = parametric.get("LayerSetDirection", layer_set_direction) - new_thickness = sum([l.LayerThickness for l in new_material.MaterialLayers]) - - self.unit_scale = ifcopenshell.util.unit.calculate_unit_scale(ifc_file) - for related_object in settings["related_objects"]: - self._regenerate_from_type(related_object, layer_set_direction, new_thickness) - - def _regenerate_from_type( - self, related_object: ifcopenshell.entity_instance, layer_set_direction: Optional[str], new_thickness: float - ) -> None: - obj = tool.Ifc.get_object(related_object) - if not obj or not tool.Geometry.get_active_representation(obj): - return - - material = ifcopenshell.util.element.get_material(related_object) - if not material or not material.is_a("IfcMaterialLayerSetUsage"): - return - if layer_set_direction: - material.LayerSetDirection = layer_set_direction - if material.LayerSetDirection == "AXIS3": - self.change_thickness(related_object, new_thickness) + self.change_thickness(element, total_thickness) def regenerate_from_occurence(self, element, material_set_usage): self.unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) @@ -277,12 +250,10 @@ class DumbSlabPlaner: return self.change_thickness(element, total_thickness) - def change_thickness( - self, element: ifcopenshell.entity_instance, thickness: float, preserve_offset: bool = False - ) -> None: + def change_thickness(self, element: ifcopenshell.entity_instance, thickness: float) -> None: + self.unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) if tool.Model.get_usage_type(element) != "LAYER3": return - layer_params = tool.Model.get_material_layer_parameters(element) ifc_file = tool.Ifc.get() body_context = ifcopenshell.util.representation.get_context(tool.Ifc.get(), "Model", "Body", "MODEL_VIEW") @@ -300,48 +271,72 @@ class DumbSlabPlaner: if representation: extrusion = tool.Model.get_extrusion(representation) if extrusion: + # TODO Right now we don't have a reliable way to calculate the existing x_angle only based solely on the extrusion direction. + # For instances, a 30 degrees angled extrusion with positive direction has the same extrusion direction as a + # -150 degrees angled extrusion with negative direction. The difference lies in the object's rotation. + # This means that things can get messy if the user changes the object x angle somehow. We have to figure out an alternative approach. + existing_x_angle = obj.rotation_euler.x + existing_x_angle = 0 if tool.Cad.is_x(existing_x_angle, 0, tolerance=0.001) else existing_x_angle + existing_x_angle = 0 if tool.Cad.is_x(existing_x_angle, pi, tolerance=0.001) else existing_x_angle + existing_x_angle = 0 if tool.Cad.is_x(existing_x_angle, 2 * pi, tolerance=0.001) else existing_x_angle direction_ratios = Vector(extrusion.ExtrudedDirection.DirectionRatios) + offset_direction = direction_ratios.copy() + perpendicular_depth = thickness * abs(1 / cos(existing_x_angle)) + perpendicular_offset = layer_offset * abs(1 / cos(existing_x_angle)) / self.unit_scale - # Calculate the actual extrusion angle from vertical - extrusion_angle = 0 - if direction_ratios.length > 0: - cos_angle = direction_ratios.normalized().dot(Vector((0, 0, 1))) - extrusion_angle = acos(min(max(cos_angle, -1), 1)) - - # Only apply 1/cos factor when there's actual extrusion slope - if extrusion_angle > 1e-6: - perpendicular_depth = thickness * abs(1 / cos(extrusion_angle)) - perpendicular_offset = layer_offset * abs(1 / cos(extrusion_angle)) - else: - perpendicular_depth = thickness - perpendicular_offset = layer_offset + # Check angle and z direction to determine whether the extrusion direction is positive or negative + if (abs(existing_x_angle) < (pi / 2) and direction_ratios.z > 0) or ( + abs(existing_x_angle) > (pi / 2) and direction_ratios.z < 0 + ): + # The extrusion direction is positive. If the layer_parameter is set to negative, + # then the we change the extrusion direction. + if layer_params["direction_sense"] == "NEGATIVE": + direction_ratios *= -1 + elif (abs(existing_x_angle) > (pi / 2) and direction_ratios.z > 0) or ( + abs(existing_x_angle) < (pi / 2) and direction_ratios.z < 0 + ): + # The extrusion direction is negative. If the layer_parameter is set to positive, + # then the we change the extrusion direction. And the offset direction should remain positive + # for either direction sense, so we change it. + offset_direction *= -1 + if layer_params["direction_sense"] == "POSITIVE": + direction_ratios *= -1 + extrusion.ExtrudedDirection.DirectionRatios = tuple(direction_ratios) extrusion.Depth = perpendicular_depth - # Update position ifc_position = extrusion.Position + position = offset_direction * perpendicular_offset + material = ifcopenshell.util.element.get_material(element) + if material: + if material.is_a("IfcMaterialLayerSetUsage"): + material.OffsetFromReferenceLine = position.z + if ifc_position: + ifc_position.Location.Coordinates = position + else: + tool.Model.add_extrusion_position(extrusion, position) - if direction_ratios.length > 0: - offset_vector = direction_ratios.normalized() * perpendicular_offset - position = offset_vector - - material = ifcopenshell.util.element.get_material(element) - if material and material.is_a("IfcMaterialLayerSetUsage"): - # Only set offset if not preserving it (preserves independent offsets per instance) - if not preserve_offset: - material.OffsetFromReferenceLine = position.z - - if ifc_position: - ifc_position.Location.Coordinates = position - else: - tool.Model.add_extrusion_position(extrusion, position) - - bonsai.core.geometry.switch_representation( - tool.Ifc, - tool.Geometry, - obj=obj, - representation=representation, - ) + else: + props = tool.Model.get_model_props() + x_angle = 0 if tool.Cad.is_x(props.x_angle, 0, tolerance=0.001) else props.x_angle + new_rep = ifcopenshell.api.geometry.add_slab_representation( + tool.Ifc.get(), + context=body_context, + depth=thickness * self.unit_scale, + x_angle=x_angle, + ) + for inverse in tool.Ifc.get().get_inverse(representation): + ifcopenshell.util.element.replace_attribute(inverse, representation, new_rep) + bonsai.core.geometry.switch_representation( + tool.Ifc, + tool.Geometry, + obj=obj, + representation=new_rep, + ) + bonsai.core.geometry.remove_representation( + tool.Ifc, tool.Geometry, obj=obj, representation=representation + ) + return else: props = tool.Model.get_model_props() x_angle = 0 if tool.Cad.is_x(props.x_angle, 0, tolerance=0.001) else props.x_angle @@ -354,118 +349,13 @@ class DumbSlabPlaner: ifcopenshell.api.geometry.assign_representation( tool.Ifc.get(), product=element, representation=representation ) - bonsai.core.geometry.switch_representation( - tool.Ifc, - tool.Geometry, - obj=obj, - representation=representation, - ) - def update_extrusion_direction( - element: ifcopenshell.entity_instance, new_direction_ratios: tuple, obj: bpy.types.Object = None - ) -> None: - """ - Update extrusion direction while preserving overall object orientation. - - Args: - element: The IFC element - new_direction_ratios: New extrusion direction ratios (x,y,z) - obj: Optional Blender object (will be fetched if not provided) - """ - if not obj: - obj = tool.Ifc.get_object(element) - if not obj: - return - - representation = ifcopenshell.util.representation.get_representation(element, "Model", "Body", "MODEL_VIEW") - if not representation: - return - - extrusion = tool.Model.get_extrusion(representation) - if not extrusion: - return - - # Get current extrusion direction - old_direction = Vector(extrusion.ExtrudedDirection.DirectionRatios) - if old_direction.length == 0: - old_direction = Vector((0, 0, 1)) # Default - - new_direction = Vector(new_direction_ratios) - if new_direction.length == 0: - new_direction = Vector((0, 0, 1)) # Default - - # Normalize both directions - old_direction_normalized = old_direction.normalized() - new_direction_normalized = new_direction.normalized() - - # Store current object matrix - old_matrix = obj.matrix_world.copy() - - # Calculate the rotation needed to keep same orientation - # When extrusion direction changes from A to B relative to local coordinates, - # we need to rotate the object by the inverse of that change - - # Calculate rotation from old to new direction - rotation_axis = old_direction_normalized.cross(new_direction_normalized) - if rotation_axis.length > 1e-6: - rotation_axis.normalized() - dot_product = old_direction_normalized.dot(new_direction_normalized) - angle = acos(min(max(dot_product, -1), 1)) - - # Apply INVERSE rotation to object to compensate - rotation_matrix = Matrix.Rotation(-angle, 4, rotation_axis) - - # Update object rotation - obj.matrix_world = old_matrix @ rotation_matrix - bpy.context.view_layer.update() - - # Update extrusion direction (keeping magnitude) - if old_direction.length > 0: - # Preserve the magnitude of the original direction vector - magnitude = old_direction.length - new_direction = new_direction_normalized * magnitude - - extrusion.ExtrudedDirection.DirectionRatios = tuple(new_direction) - - # Update depth based on new extrusion angle - extrusion_angle = 0 - if new_direction.length > 0: - cos_angle = new_direction_normalized.dot(Vector((0, 0, 1))) - extrusion_angle = acos(min(max(cos_angle, -1), 1)) - - # Get current depth (perpendicular depth) - current_perpendicular_depth = extrusion.Depth - - # If we have material layer info, calculate actual thickness - material = ifcopenshell.util.element.get_material(element) - actual_thickness = current_perpendicular_depth - if material and material.is_a("IfcMaterialLayerSetUsage"): - layer_set = material.ForLayerSet - actual_thickness = sum([l.LayerThickness for l in layer_set.MaterialLayers]) - unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) - actual_thickness *= unit_scale - - # Convert to perpendicular depth if needed - if extrusion_angle > 1e-6: - new_perpendicular_depth = actual_thickness * abs(1 / cos(extrusion_angle)) - else: - new_perpendicular_depth = actual_thickness - - extrusion.Depth = new_perpendicular_depth - - # Update position offset if needed - if extrusion.Position: - # Recalculate offset based on new direction - material = ifcopenshell.util.element.get_material(element) - if material and material.is_a("IfcMaterialLayerSetUsage"): - offset = material.OffsetFromReferenceLine - if extrusion_angle > 1e-6: - perpendicular_offset = offset * abs(1 / cos(extrusion_angle)) - else: - perpendicular_offset = offset - - offset_vector = new_direction_normalized * perpendicular_offset - extrusion.Position.Location.Coordinates = tuple(offset_vector) + bonsai.core.geometry.switch_representation( + tool.Ifc, + tool.Geometry, + obj=obj, + representation=representation, + ) class EnableEditingSketchExtrusionProfile(bpy.types.Operator, tool.Ifc.Operator): @@ -742,8 +632,8 @@ class EnableEditingExtrusionProfile(bpy.types.Operator, tool.Ifc.Operator): existing_x_angle = tool.Model.get_existing_x_angle(extrusion) layer_params = tool.Model.get_material_layer_parameters(element) - usage_type = tool.Model.get_usage_type(element) - + # TODO: review #7537 properly, this is a quick fix but something doesn't seem right. + original_rotation_x = 0 if extrusion.Position: position = Matrix(ifcopenshell.util.placement.get_axis2placement(extrusion.Position).tolist()) position.translation *= self.unit_scale @@ -756,49 +646,22 @@ class EnableEditingExtrusionProfile(bpy.types.Operator, tool.Ifc.Operator): tranlation_matrix = Matrix.Translation(rot_offset) position = position @ tranlation_matrix - # For AXIS3 with dual rotation: Reset rotation to zero so profile is horizontal - if usage_type == "LAYER3": - # Store original rotation for later restoration - original_rotation_x = obj.rotation_euler.x - obj["pre_edit_rotation_x"] = original_rotation_x - - # Reset rotation to zero - profile will be horizontal - current_z_rot = obj.rotation_euler.z - obj.rotation_euler.x = 0.0 - obj.rotation_euler.z = current_z_rot - else: - # Original behavior: Restore Object rotation to zero - local_rot_mat = obj.rotation_euler.to_matrix() - rot_mat = Matrix.Rotation(-existing_x_angle, 4, "X") - new_rot_mat = local_rot_mat.to_4x4() @ rot_mat - new_rot_euler = new_rot_mat.to_euler() - obj.rotation_euler = new_rot_euler + # Restore Object rotation to zero + local_rot_mat = obj.rotation_euler.to_matrix() + rot_mat = Matrix.Rotation(-existing_x_angle, 4, "X") + new_rot_mat = local_rot_mat.to_4x4() @ rot_mat + new_rot_euler = new_rot_mat.to_euler() + obj.rotation_euler = new_rot_euler else: position = Matrix() - # Import profile with correct x_angle - if usage_type == "LAYER3": - # For LAYER3: Use x_angle=0 and scale by cos(rotation) to get horizontal projection - obj_x_rotation = original_rotation_x # Use stored original rotation - scale_factor = abs(cos(obj_x_rotation)) if abs(obj_x_rotation) > 1e-6 else 1.0 - - # Import with x_angle=0 - tool.Model.import_profile(extrusion.SweptArea, obj=obj, position=position, x_angle=0) - - # Scale the Y coordinates by cos(rotation) to get horizontal projection - bpy.ops.object.mode_set(mode="OBJECT") - for vert in obj.data.vertices: - vert.co.y *= scale_factor - else: - # For other types: Use existing_x_angle - tool.Model.import_profile(extrusion.SweptArea, obj=obj, position=position, x_angle=existing_x_angle) + tool.Model.import_profile(extrusion.SweptArea, obj=obj, position=position, x_angle=existing_x_angle) bpy.ops.object.mode_set(mode="EDIT") ProfileDecorator.install(context, exit_edit_mode_callback=lambda: disable_editing_extrusion_profile(context)) if not bpy.app.background: tool.Blender.set_viewport_tool("bim.cad_tool") - return {"FINISHED"} @@ -820,7 +683,6 @@ class EditExtrusionProfile(bpy.types.Operator, tool.Ifc.Operator): extrusion = tool.Model.get_extrusion(body) existing_x_angle = tool.Model.get_existing_x_angle(extrusion) layer_params = tool.Model.get_material_layer_parameters(element) - usage_type = tool.Model.get_usage_type(element) if extrusion.Position: position = Matrix(ifcopenshell.util.placement.get_axis2placement(extrusion.Position).tolist()) @@ -834,38 +696,17 @@ class EditExtrusionProfile(bpy.types.Operator, tool.Ifc.Operator): tranlation_matrix = Matrix.Translation(rot_offset) position = position @ tranlation_matrix - # Restore rotation - if usage_type == "LAYER3": - # Restore original rotation from before editing - if "pre_edit_rotation_x" in obj: - current_z_rot = obj.rotation_euler.z - obj.rotation_euler.x = obj["pre_edit_rotation_x"] - obj.rotation_euler.z = current_z_rot - del obj["pre_edit_rotation_x"] - else: - # Original behavior - local_rot_mat = obj.rotation_euler.to_matrix() - rot_mat = Matrix.Rotation(existing_x_angle, 4, "X") - new_rot_mat = local_rot_mat.to_4x4() @ rot_mat - new_rot_euler = new_rot_mat.to_euler() - obj.rotation_euler = new_rot_euler + # Restore Object rotation to x_angle + local_rot_mat = obj.rotation_euler.to_matrix() + rot_mat = Matrix.Rotation(existing_x_angle, 4, "X") + new_rot_mat = local_rot_mat.to_4x4() @ rot_mat + new_rot_euler = new_rot_mat.to_euler() + obj.rotation_euler = new_rot_euler else: position = Matrix() - # Export profile with correct x_angle - if usage_type == "LAYER3": - # Scale Y coordinates back up before exporting - obj_x_rotation = obj.rotation_euler.x - scale_factor = abs(cos(obj_x_rotation)) if abs(obj_x_rotation) > 1e-6 else 1.0 - - # Un-scale the profile before exporting - for vert in obj.data.vertices: - vert.co.y /= scale_factor # Inverse of import scaling - - profile = tool.Model.export_profile(obj, position=position, x_angle=0) - else: - profile = tool.Model.export_profile(obj, position=position, x_angle=existing_x_angle) + profile = tool.Model.export_profile(obj, position=position, x_angle=existing_x_angle) if not profile: @@ -917,28 +758,6 @@ class EditExtrusionProfile(bpy.types.Operator, tool.Ifc.Operator): tool.Ifc.get(), product=element, representation=new_footprint ) - footprint_context = ifcopenshell.util.representation.get_context( - tool.Ifc.get(), "Plan", "FootPrint", "SKETCH_VIEW" - ) - if not footprint_context: - return - - curves = [profile.OuterCurve] - if profile.is_a("IfcArbitraryProfileDefWithVoids"): - curves.extend(profile.InnerCurves) - new_footprint = ifcopenshell.api.geometry.add_footprint_representation( - tool.Ifc.get(), context=footprint_context, curves=curves - ) - old_footprint = ifcopenshell.util.representation.get_representation(element, "Plan", "FootPrint", "SKETCH_VIEW") - if old_footprint: - for inverse in tool.Ifc.get().get_inverse(old_footprint): - ifcopenshell.util.element.replace_attribute(inverse, old_footprint, new_footprint) - bonsai.core.geometry.remove_representation(tool.Ifc, tool.Geometry, obj=obj, representation=old_footprint) - else: - ifcopenshell.api.geometry.assign_representation( - tool.Ifc.get(), product=element, representation=new_footprint - ) - class ResetVertex(bpy.types.Operator): bl_idname = "bim.reset_vertex" @@ -1135,11 +954,8 @@ class DrawPolylineSlab(bpy.types.Operator, PolylineOperator, tool.Ifc.Operator): return {"FINISHED"} self.handle_keyboard_input(context, event) - self.handle_inserting_polyline(context, event) - self.get_product_preview_data(context, self.relating_type) - cancel = self.handle_cancelation(context, event) if cancel is not None: ProductDecorator.uninstall() diff --git a/src/bonsai/bonsai/bim/module/model/space.py b/src/bonsai/bonsai/bim/module/model/space.py index aeebea071b..baa7401358 100644 --- a/src/bonsai/bonsai/bim/module/model/space.py +++ b/src/bonsai/bonsai/bim/module/model/space.py @@ -18,8 +18,9 @@ import bpy -import bonsai.tool as tool + import bonsai.core.spatial as core +import bonsai.tool as tool class GenerateSpace(bpy.types.Operator, tool.Ifc.Operator): diff --git a/src/bonsai/bonsai/bim/module/model/stair.py b/src/bonsai/bonsai/bim/module/model/stair.py index 91ddeccbc3..5b52308542 100644 --- a/src/bonsai/bonsai/bim/module/model/stair.py +++ b/src/bonsai/bonsai/bim/module/model/stair.py @@ -16,25 +16,32 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import json + import bmesh +import bpy import ifcopenshell import ifcopenshell.api.pset import ifcopenshell.util.element import ifcopenshell.util.representation import ifcopenshell.util.unit +from mathutils import Matrix, Vector + import bonsai.core.root import bonsai.tool as tool from bonsai.bim.module.drawing import gizmos as gizmo from bonsai.bim.module.drawing.gizmos import DimensionGizmoConfig -from bonsai.tool.numeric_input import IntegerInputState, run_integer_input_modal, update_header -from mathutils import Vector, Matrix +from bonsai.tool.numeric_input import ( + IntegerInputState, + run_integer_input_modal, + update_header, +) V_ = tool.Blender.V_ +from typing import TYPE_CHECKING, get_args + from bmesh.types import BMVert from bpy.props import IntProperty -from typing import get_args, TYPE_CHECKING if TYPE_CHECKING: from bonsai.bim.module.model.prop import BIMStairProperties diff --git a/src/bonsai/bonsai/bim/module/model/sverchok_modifier.py b/src/bonsai/bonsai/bim/module/model/sverchok_modifier.py index d30852f1eb..0a318b1fb1 100644 --- a/src/bonsai/bonsai/bim/module/model/sverchok_modifier.py +++ b/src/bonsai/bonsai/bim/module/model/sverchok_modifier.py @@ -16,18 +16,18 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -import bmesh +import json +import os.path +import zipfile +import bmesh +import bpy import ifcopenshell import ifcopenshell.api.pset import ifcopenshell.util.element -import bonsai.tool as tool +from bpy_extras.io_utils import ExportHelper, ImportHelper -import json -import zipfile -import os.path -from bpy_extras.io_utils import ImportHelper, ExportHelper +import bonsai.tool as tool def update_sverchok_modifier(context): diff --git a/src/bonsai/bonsai/bim/module/model/ui.py b/src/bonsai/bonsai/bim/module/model/ui.py index 86beea6079..d8a297433b 100644 --- a/src/bonsai/bonsai/bim/module/model/ui.py +++ b/src/bonsai/bonsai/bim/module/model/ui.py @@ -17,24 +17,27 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from collections.abc import Iterable +from typing import TYPE_CHECKING, Any + import bpy +from bpy.types import Menu, Panel + import bonsai.bim -from bonsai.bim import module import bonsai.tool as tool -from bpy.types import Panel, Menu +from bonsai.bim import module from bonsai.bim.helper import prop_with_search from bonsai.bim.module.model.data import ( - AuthoringData, ArrayData, - StairData, - SverchokData, - WindowData, + AuthoringData, DoorData, RailingData, RoofData, + StairData, + SverchokData, + WindowData, ) -from collections.abc import Iterable -from typing import Any, TYPE_CHECKING if TYPE_CHECKING or bpy.app.version >= (5, 0, 0): import _bl_ui_utils.layout as bl_ui_utils_layout @@ -226,6 +229,7 @@ class BIM_PT_array(bpy.types.Panel): if ArrayData.data["parameters"]: row = self.layout.row(align=True) row.label(text=ArrayData.data["parameters"]["parent_name"], icon="CON_CHILDOF") + row.operator("bim.regenerate_array", icon="FILE_REFRESH", text="") row.operator("bim.select_array_parent", icon="OBJECT_DATA", text="") row.operator("bim.select_all_array_objects", icon="RESTRICT_SELECT_OFF", text="") @@ -243,7 +247,6 @@ class BIM_PT_array(bpy.types.Panel): row.prop(props, "method") row = box.row(align=True) row.prop(props, "use_local_space") - row.prop(props, "sync_children") col = box.column() row = col.row(align=True) row.prop(props, "x") @@ -691,9 +694,17 @@ class BIM_PT_external_parametric_geometry(bpy.types.Panel): # should find a way to update only on graph changes. res = tool.Model.update_mesh_from_sverchok(obj, props.sverchok_nodes) if res is not None: - print(res) layout.label(text=f"Error Updating from Graph, See System Console", icon="ERROR") + layout.label(text="Parameters:") + box = layout.box() + + group_node = tool.Model.get_ifcsverchok_group_node(props.sverchok_nodes) + node_tree = group_node.node_tree + + for socket, interface_socket in zip(group_node.inputs, node_tree.sockets("INPUT")): + socket.draw_group_property(box, socket.name, interface_socket) + def draw_door_properties(layout: bpy.types.UILayout, props: module_prop.BIMDoorProperties) -> None: """Draw door properties UI (shared between properties panel and preferences).""" diff --git a/src/bonsai/bonsai/bim/module/model/wall.py b/src/bonsai/bonsai/bim/module/model/wall.py index d652041125..7f4579df31 100644 --- a/src/bonsai/bonsai/bim/module/model/wall.py +++ b/src/bonsai/bonsai/bim/module/model/wall.py @@ -18,37 +18,39 @@ # # pyright: reportUnnecessaryTypeIgnoreComment=error -import bpy import copy import math -import numpy as np +from math import acos, atan2, cos, degrees, pi, sin +from typing import TYPE_CHECKING, Any, Literal, Optional, Union, assert_never, get_args + +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.feature +import ifcopenshell.api.geometry import ifcopenshell.api.material import ifcopenshell.api.pset import ifcopenshell.api.root import ifcopenshell.api.type -import ifcopenshell.api.geometry -import ifcopenshell.util.unit import ifcopenshell.util.element import ifcopenshell.util.placement import ifcopenshell.util.representation import ifcopenshell.util.shape_builder import ifcopenshell.util.type +import ifcopenshell.util.unit import mathutils.geometry -import bonsai.core.type -import bonsai.core.root +import numpy as np +from mathutils import Matrix, Vector + import bonsai.core.geometry import bonsai.core.model as core +import bonsai.core.root +import bonsai.core.type import bonsai.tool as tool from bonsai.bim.ifc import IfcStore -from math import pi, sin, cos, degrees, atan2, acos -from mathutils import Vector, Matrix -from bonsai.bim.module.model.opening import FilledOpeningGenerator from bonsai.bim.module.model.decorator import PolylineDecorator, ProductDecorator +from bonsai.bim.module.model.opening import FilledOpeningGenerator from bonsai.bim.module.model.polyline import PolylineOperator -from typing import Optional, assert_never, TYPE_CHECKING, get_args, Literal, Union, Any class UnjoinWalls(bpy.types.Operator, tool.Ifc.Operator): @@ -401,42 +403,24 @@ class ChangeExtrusionDepth(bpy.types.Operator, tool.Ifc.Operator): representation = ifcopenshell.util.representation.get_representation(element, "Model", "Body", "MODEL_VIEW") if not representation: continue - extrusion = tool.Model.get_extrusion(representation) if not extrusion: continue - - # Get extrusion direction x, y, z = extrusion.ExtrudedDirection.DirectionRatios - - # Calculate angle from vertical x_angle = Vector((0, 1)).angle_signed(Vector((y, z))) - - # For sloped walls, compensate so VERTICAL height = target depth - cos_angle = cos(x_angle) - compensation_factor = abs(1 / cos_angle) if abs(cos_angle) > 1e-6 else 1.0 - new_depth_ifc = (self.depth / si_conversion) * compensation_factor - - extrusion.Depth = new_depth_ifc - - # IMPORTANT: Refresh the geometry to reflect the IFC changes - bonsai.core.geometry.switch_representation( - tool.Ifc, - tool.Geometry, - obj=obj, - representation=representation, - ) - + extrusion.Depth = self.depth / si_conversion * (1 / cos(x_angle)) if tool.Model.get_usage_type(element) == "LAYER2": for rel in element.ConnectedFrom: if rel.is_a() == "IfcRelConnectsElements": - related_element = rel.RelatedElement - if related_element.is_a() == "IfcWall": - layer2_objs.append(tool.Ifc.get_object(related_element)) + ifcopenshell.api.geometry.disconnect_element( + ifc_file, + relating_element=rel.RelatingElement, + related_element=element, + ) + layer2_objs.append(obj) if layer2_objs: tool.Model.recalculate_walls(layer2_objs) - return {"FINISHED"} @@ -456,143 +440,81 @@ class ChangeExtrusionXAngle(bpy.types.Operator, tool.Ifc.Operator): def _execute(self, context): layer2_objs: list[bpy.types.Object] = [] - builder = ifcopenshell.util.shape_builder.ShapeBuilder(tool.Ifc.get()) + x_angle = 0 if tool.Cad.is_x(self.x_angle, 0, tolerance=0.001) else self.x_angle + x_angle = 0 if tool.Cad.is_x(self.x_angle, pi, tolerance=0.001) else self.x_angle unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) - x_angle = self.x_angle + selected_objs = tool.Model.get_selected_mesh_ifc_objects() + builder = ifcopenshell.util.shape_builder.ShapeBuilder(tool.Ifc.get()) - for obj in context.selected_objects: + for obj in selected_objs: element = tool.Ifc.get_entity(obj) - if not element: - continue - + assert element representation = ifcopenshell.util.representation.get_representation(element, "Model", "Body", "MODEL_VIEW") if not representation: continue extrusion = tool.Model.get_extrusion(representation) if not extrusion: continue - - # Get current object rotation matrix - obj_rotation = obj.matrix_world.to_3x3() - - # Get current extrusion direction in LOCAL coordinates - current_local_direction = Vector(extrusion.ExtrudedDirection.DirectionRatios) - if current_local_direction.length == 0: - current_local_direction = Vector((0, 0, 1)) - current_local_direction_normalized = current_local_direction.normalized() - - # Calculate what the current extrusion direction is in WORLD coordinates - current_world_direction = obj_rotation @ current_local_direction_normalized - existing_x_angle = tool.Model.get_existing_x_angle(extrusion) existing_x_angle = 0 if tool.Cad.is_x(existing_x_angle, 0, tolerance=0.001) else existing_x_angle existing_x_angle = 0 if tool.Cad.is_x(existing_x_angle, pi, tolerance=0.001) else existing_x_angle - - # Calculate the NEW local extrusion direction based on x_angle - new_local_direction = Vector((0.0, sin(x_angle), cos(x_angle))) - - # Check if extrusion direction is actually changing - current_local_norm = current_local_direction_normalized - new_local_norm = new_local_direction.normalized() - - # Compare the LOCAL directions - local_direction_changed = (new_local_norm - current_local_norm).length > 1e-6 - if tool.Model.get_usage_type(element) == "LAYER2": + x, y, z = extrusion.ExtrudedDirection.DirectionRatios depth = extrusion.Depth / abs(1 / cos(existing_x_angle)) perpendicular_depth = depth * abs(1 / cos(x_angle)) - - # Update extrusion direction - if local_direction_changed: - extrusion.ExtrudedDirection.DirectionRatios = tuple(new_local_direction) - - # Always update depth - extrusion.Depth = perpendicular_depth + extrusion.ExtrudedDirection.DirectionRatios = (0.0, sin(x_angle), cos(x_angle)) layer2_objs.append(obj) - + extrusion.Depth = perpendicular_depth else: if tool.Model.get_usage_type(element) == "LAYER3": - # For slabs, handle polyline scaling - existing_obj_x_angle = obj.rotation_euler.x - existing_obj_x_angle = ( - 0 if tool.Cad.is_x(existing_obj_x_angle, 0, tolerance=0.001) else existing_obj_x_angle - ) - existing_obj_x_angle = ( - 0 if tool.Cad.is_x(existing_obj_x_angle, pi, tolerance=0.001) else existing_obj_x_angle - ) + existing_x_angle = obj.rotation_euler.x + existing_x_angle = 0 if tool.Cad.is_x(existing_x_angle, 0, tolerance=0.001) else existing_x_angle + existing_x_angle = 0 if tool.Cad.is_x(existing_x_angle, pi, tolerance=0.001) else existing_x_angle - # Scale the polyline coordinates coord_list = builder.get_polyline_coords(extrusion.SweptArea.OuterCurve) coord_list = [ (p[0], p[1] * abs(cos(existing_x_angle))) for p in coord_list - ] # Reset the transformation + ] # Reset the transformation and returns to the original points with 0 degrees coord_list = [ (p[0], p[1] * abs(1 / cos(x_angle))) for p in coord_list ] # Apply the transformation for the new x_angle builder.set_polyline_coords(extrusion.SweptArea.OuterCurve, coord_list) - # Calculate new extrusion direction with direction sense - base_local_direction = Vector((0.0, sin(x_angle), cos(x_angle))) + # The extrusion direction calculated previously default to the positive direction + # Here we set the extrusion direction to negative if that's the case + direction_ratios = Vector((0.0, sin(x_angle), cos(x_angle))) + # direction_ratios = Vector(extrusion.ExtrudedDirection.DirectionRatios) layer_params = tool.Model.get_material_layer_parameters(element) perpendicular_depth = layer_params["thickness"] * abs(1 / cos(x_angle)) / unit_scale perpendicular_offset = layer_params["offset"] * abs(1 / cos(x_angle)) / unit_scale - offset_direction = base_local_direction.copy() + offset_direction = direction_ratios.copy() - # Apply direction sense - final_local_direction = base_local_direction.copy() - if (abs(x_angle) < (pi / 2) and base_local_direction.z > 0) or ( - abs(x_angle) > (pi / 2) and base_local_direction.z < 0 + # Check angle and z direction to determine whether the extrusion direction is positive or negative + if (abs(x_angle) < (pi / 2) and direction_ratios.z > 0) or ( + abs(x_angle) > (pi / 2) and direction_ratios.z < 0 ): + # The extrusion direction is positive. If the layer_parameter is set to negative, + # then the we change the extrusion direction. if layer_params["direction_sense"] == "NEGATIVE": - final_local_direction *= -1 - elif (x_angle > (pi / 2) and base_local_direction.z > 0) or ( - x_angle < (pi / 2) and base_local_direction.z < 0 + direction_ratios *= -1 + elif ((x_angle) > (pi / 2) and direction_ratios.z > 0) or ( + (x_angle) < (pi / 2) and direction_ratios.z < 0 ): + # The extrusion direction is negative. If the layer_parameter is set to positive, + # then the we change the extrusion direction. + # then the we change the extrusion direction. And the offset direction should remain positive + # for either direction sense, so we change it. offset_direction *= -1 if layer_params["direction_sense"] == "POSITIVE": - final_local_direction *= -1 + direction_ratios *= -1 - # Check if extrusion direction actually changed - final_local_norm = final_local_direction.normalized() - local_direction_changed = (final_local_norm - current_local_norm).length > 1e-6 - - # Update extrusion properties - extrusion.ExtrudedDirection.DirectionRatios = tuple(final_local_direction) + extrusion.ExtrudedDirection.DirectionRatios = tuple(direction_ratios) extrusion.Depth = perpendicular_depth if extrusion.Position or perpendicular_offset != 0: position = offset_direction * perpendicular_offset tool.Model.add_extrusion_position(extrusion, position) - # Adjust object rotation if extrusion direction changed - if local_direction_changed: - # Calculate what the NEW world direction would be with current object rotation - expected_new_world_direction = obj_rotation @ final_local_norm - - # The rotation needed is from expected_new_world_direction to current_world_direction - rotation_axis = expected_new_world_direction.cross(current_world_direction) - if rotation_axis.length > 1e-6: - rotation_axis.normalize() - dot_product = expected_new_world_direction.dot(current_world_direction) - angle = acos(min(max(dot_product, -1), 1)) - - # Rotate around object's own origin - # Decompose the matrix to get translation, rotation, scale - translation, rotation, scale = obj.matrix_world.decompose() - - # Create rotation matrix and convert to quaternion - rotation_matrix = Matrix.Rotation(angle, 4, rotation_axis) - rotation_quat = rotation_matrix.to_quaternion() - - # Apply rotation to existing rotation (quaternion multiplication) - new_rotation = rotation_quat @ rotation - - # Reconstruct matrix_world with same translation, new rotation, same scale - obj.matrix_world = ( - Matrix.Translation(translation) @ new_rotation.to_matrix().to_4x4() @ Matrix.Scale(1, 4) - ) - bpy.context.view_layer.update() - bonsai.core.geometry.switch_representation( tool.Ifc, tool.Geometry, @@ -600,6 +522,12 @@ class ChangeExtrusionXAngle(bpy.types.Operator, tool.Ifc.Operator): representation=representation, ) + # Object rotation + current_z_rot = obj.rotation_euler.z + rot_mat = mathutils.Matrix.Rotation(x_angle, 4, "X") + obj.rotation_euler = rot_mat.to_euler() + obj.rotation_euler.z = current_z_rot + if layer2_objs: tool.Model.recalculate_walls(layer2_objs) return {"FINISHED"} @@ -787,11 +715,8 @@ class DrawPolylineWall(bpy.types.Operator, PolylineOperator, tool.Ifc.Operator): return {"FINISHED"} self.handle_keyboard_input(context, event) - self.handle_inserting_polyline(context, event) - self.get_product_preview_data(context, self.relating_type) - cancel = self.handle_cancelation(context, event) if cancel is not None: ProductDecorator.uninstall() @@ -991,8 +916,8 @@ class DumbWallGenerator: if should_round: # Round to nearest 50mm (yes, metric for now) self.length = 0.05 * round(length / 0.05) - # Round to nearest 5 degrees - nearest_degree = (math.pi / 180) * 5 + angle_snap = tool.Snap.get_angle_snap_value(bpy.context) + nearest_degree = math.radians(angle_snap) self.rotation = nearest_degree * round(self.rotation / nearest_degree) self.location = coords[0] data["obj"] = self.create_wall() @@ -1097,7 +1022,6 @@ class DumbWallGenerator: obj=obj, representation=representation, ) - pset = ifcopenshell.api.pset.add_pset(self.file, product=element, name="EPset_Parametric") ifcopenshell.api.pset.edit_pset(self.file, pset=pset, properties={"Engine": "Bonsai.DumbLayer2"}) material = ifcopenshell.util.element.get_material(element) @@ -1133,37 +1057,6 @@ class DumbWallPlaner: walls.extend([tool.Ifc.get_object(e) for e in rel.RelatedObjects]) tool.Model.recalculate_walls([w for w in set(walls) if w]) - def regenerate_from_type(self, usecase_path, ifc_file, settings): - relating_type = settings["relating_type"] - - new_material = ifcopenshell.util.element.get_material(relating_type) - if not new_material or not new_material.is_a("IfcMaterialLayerSet"): - return - - parametric = ifcopenshell.util.element.get_psets(relating_type).get("EPset_Parametric") - layer_set_direction = None - if parametric: - layer_set_direction = parametric.get("LayerSetDirection", layer_set_direction) - - self.unit_scale = ifcopenshell.util.unit.calculate_unit_scale(ifc_file) - for related_object in settings["related_objects"]: - self._regenerate_from_type(related_object, layer_set_direction) - - def _regenerate_from_type( - self, related_object: ifcopenshell.entity_instance, layer_set_direction: Optional[str] - ) -> None: - obj = tool.Ifc.get_object(related_object) - if not obj or not tool.Geometry.get_active_representation(obj): - return - - material = ifcopenshell.util.element.get_material(related_object) - if not material or not material.is_a("IfcMaterialLayerSetUsage"): - return - if layer_set_direction: - material.LayerSetDirection = layer_set_direction - if material.LayerSetDirection == "AXIS2": - tool.Model.recalculate_walls([obj]) - class DumbWallJoiner: def __init__(self): diff --git a/src/bonsai/bonsai/bim/module/model/window.py b/src/bonsai/bonsai/bim/module/model/window.py index 206f65de08..ad473a110e 100644 --- a/src/bonsai/bonsai/bim/module/model/window.py +++ b/src/bonsai/bonsai/bim/module/model/window.py @@ -17,29 +17,31 @@ # along with Bonsai. If not, see . -import bpy -import json -import bmesh import collections import collections.abc +import json +from typing import TYPE_CHECKING, get_args + +import bmesh +import bpy import ifcopenshell -import ifcopenshell.api.geometry -import ifcopenshell.api.pset -import bonsai.tool as tool -import bonsai.core.root -import bonsai.core.geometry -from bonsai.bim.module.drawing import gizmos as gizmo -from bonsai.bim.module.drawing.gizmos import DimensionGizmoConfig -from ifcopenshell.api.geometry.add_window_representation import DEFAULT_PANEL_SCHEMAS import ifcopenshell.api +import ifcopenshell.api.geometry import ifcopenshell.api.material +import ifcopenshell.api.pset import ifcopenshell.util.element import ifcopenshell.util.representation import ifcopenshell.util.shape_builder import ifcopenshell.util.unit from bmesh.types import BMVert -from mathutils import Vector, Matrix -from typing import get_args, TYPE_CHECKING +from ifcopenshell.api.geometry.add_window_representation import DEFAULT_PANEL_SCHEMAS +from mathutils import Matrix, Vector + +import bonsai.core.geometry +import bonsai.core.root +import bonsai.tool as tool +from bonsai.bim.module.drawing import gizmos as gizmo +from bonsai.bim.module.drawing.gizmos import DimensionGizmoConfig if TYPE_CHECKING: from bonsai.bim.module.model.prop import BIMWindowProperties diff --git a/src/bonsai/bonsai/bim/module/model/workspace.py b/src/bonsai/bonsai/bim/module/model/workspace.py index 578fbefa2a..7b7a91906d 100644 --- a/src/bonsai/bonsai/bim/module/model/workspace.py +++ b/src/bonsai/bonsai/bim/module/model/workspace.py @@ -18,19 +18,21 @@ import os import sys +from functools import partial +from typing import Any, Optional, Union + import bpy import bpy.utils.previews +from bpy.types import Menu, WorkSpaceTool + import bonsai.bim -import bonsai.tool as tool import bonsai.core.model as core -from bonsai.bim.module.model.wall import DumbWallJoiner, DumbWallAligner -from bonsai.bim.helper import prop_with_search, draw_attribute -from bpy.types import WorkSpaceTool, Menu +import bonsai.tool as tool +from bonsai.bim.helper import draw_attribute, prop_with_search from bonsai.bim.module.model.data import AuthoringData, ItemData -from bonsai.bim.module.system.data import PortData from bonsai.bim.module.model.prop import get_ifc_class -from typing import Optional, Union, Any -from functools import partial +from bonsai.bim.module.model.wall import DumbWallAligner, DumbWallJoiner +from bonsai.bim.module.system.data import PortData def load_custom_icons(): @@ -399,16 +401,6 @@ class EditItemUI: assert obj mesh_props = tool.Geometry.get_mesh_props(obj.data) - - # Get the parent element from representation_obj to check for layer set usage - has_layer_set_usage = False - props = tool.Geometry.get_geometry_props() - if props.representation_obj: - parent_element = tool.Ifc.get_entity(props.representation_obj) - if parent_element: - material_usage = tool.Model.get_usage_type(parent_element) - has_layer_set_usage = material_usage == "LAYER3" - if AuthoringData.data["is_representation_item_swept_solid"]: # TODO: support EndSweptArea for IfcRevolvedAreaSolidTapered, # will need to add second attribute for this. @@ -422,12 +414,8 @@ class EditItemUI: op.profile_id = int(mesh_props.item_profile) for item_attribute in mesh_props.item_attributes: - # Skip depth attribute for LAYER3 objects with layer set usage - if has_layer_set_usage and item_attribute.name.lower() == "depth": - continue row = cls.layout.row() draw_attribute(item_attribute, cls.layout) - if len(mesh_props.item_attributes) or AuthoringData.data["is_representation_item_swept_solid"]: row = cls.layout.row() row.operator("bim.update_item_attributes", icon="FILE_REFRESH", text="") diff --git a/src/bonsai/bonsai/bim/module/nest/__init__.py b/src/bonsai/bonsai/bim/module/nest/__init__.py index 883fd00186..a4bf3de181 100644 --- a/src/bonsai/bonsai/bim/module/nest/__init__.py +++ b/src/bonsai/bonsai/bim/module/nest/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.BIM_OT_nest_assign_object, diff --git a/src/bonsai/bonsai/bim/module/nest/data.py b/src/bonsai/bonsai/bim/module/nest/data.py index 77ec0d020f..abe94997fe 100644 --- a/src/bonsai/bonsai/bim/module/nest/data.py +++ b/src/bonsai/bonsai/bim/module/nest/data.py @@ -17,9 +17,10 @@ # along with Bonsai. If not, see . import bpy -import bonsai.tool as tool import ifcopenshell.util.element +import bonsai.tool as tool + def refresh(): NestData.is_loaded = False diff --git a/src/bonsai/bonsai/bim/module/nest/decorator.py b/src/bonsai/bonsai/bim/module/nest/decorator.py index 5a16ef8e44..e9630ebc26 100644 --- a/src/bonsai/bonsai/bim/module/nest/decorator.py +++ b/src/bonsai/bonsai/bim/module/nest/decorator.py @@ -21,11 +21,12 @@ import bpy import gpu import ifcopenshell import ifcopenshell.util.element -import bonsai.tool as tool from bpy.types import SpaceView3D from bpy_extras import view3d_utils from gpu_extras.batch import batch_for_shader from mathutils import Vector + +import bonsai.tool as tool from bonsai.bim.module.geometry.decorator import ItemDecorator diff --git a/src/bonsai/bonsai/bim/module/nest/operator.py b/src/bonsai/bonsai/bim/module/nest/operator.py index 68b6839e79..9d7eb2df67 100644 --- a/src/bonsai/bonsai/bim/module/nest/operator.py +++ b/src/bonsai/bonsai/bim/module/nest/operator.py @@ -19,8 +19,9 @@ import bpy import ifcopenshell import ifcopenshell.util.element -import bonsai.tool as tool + import bonsai.core.nest as core +import bonsai.tool as tool class BIM_OT_nest_assign_object(bpy.types.Operator, tool.Ifc.Operator): diff --git a/src/bonsai/bonsai/bim/module/nest/prop.py b/src/bonsai/bonsai/bim/module/nest/prop.py index 6cb787b3d4..c36388398c 100644 --- a/src/bonsai/bonsai/bim/module/nest/prop.py +++ b/src/bonsai/bonsai/bim/module/nest/prop.py @@ -16,23 +16,25 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Union + import bpy -import bonsai.tool as tool -from bonsai.bim.prop import StrProperty, Attribute -from bonsai.bim.module.spatial.data import SpatialData -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) +from bpy.types import PropertyGroup + +import bonsai.tool as tool from bonsai.bim.module.nest.decorator import NestDecorator, NestModeDecorator -from typing import TYPE_CHECKING, Union +from bonsai.bim.module.spatial.data import SpatialData +from bonsai.bim.prop import Attribute, StrProperty def update_relating_object(self: "BIMObjectNestProperties", context: bpy.types.Context) -> None: diff --git a/src/bonsai/bonsai/bim/module/nest/ui.py b/src/bonsai/bonsai/bim/module/nest/ui.py index 2ea33de49a..6d61c5d66b 100644 --- a/src/bonsai/bonsai/bim/module/nest/ui.py +++ b/src/bonsai/bonsai/bim/module/nest/ui.py @@ -16,8 +16,9 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bonsai.tool as tool from bpy.types import Panel + +import bonsai.tool as tool from bonsai.bim.module.nest.data import NestData diff --git a/src/bonsai/bonsai/bim/module/owner/__init__.py b/src/bonsai/bonsai/bim/module/owner/__init__.py index 52c1c7cc19..6d24f2f5dc 100644 --- a/src/bonsai/bonsai/bim/module/owner/__init__.py +++ b/src/bonsai/bonsai/bim/module/owner/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddActor, diff --git a/src/bonsai/bonsai/bim/module/owner/data.py b/src/bonsai/bonsai/bim/module/owner/data.py index 9eb5b9e4c8..88a56d4b1f 100644 --- a/src/bonsai/bonsai/bim/module/owner/data.py +++ b/src/bonsai/bonsai/bim/module/owner/data.py @@ -16,13 +16,15 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import Any, Union + import bpy import ifcopenshell -import bonsai.tool as tool -from typing import Any, Union from ifcopenshell.util.doc import get_entity_doc from natsort import natsorted +import bonsai.tool as tool + def refresh(): PeopleData.is_loaded = False diff --git a/src/bonsai/bonsai/bim/module/owner/operator.py b/src/bonsai/bonsai/bim/module/owner/operator.py index 4d3434f00a..2470fd8227 100644 --- a/src/bonsai/bonsai/bim/module/owner/operator.py +++ b/src/bonsai/bonsai/bim/module/owner/operator.py @@ -16,12 +16,14 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, get_args + import bpy -import bonsai.tool as tool -import bonsai.core.owner as core import ifcopenshell.api.owner from ifcopenshell.api.owner.add_address import ADDRESS_TYPE -from typing import TYPE_CHECKING, get_args + +import bonsai.core.owner as core +import bonsai.tool as tool if TYPE_CHECKING: import bpy.stub_internal.rna_enums as rna_enums diff --git a/src/bonsai/bonsai/bim/module/owner/prop.py b/src/bonsai/bonsai/bim/module/owner/prop.py index ecd8b8f723..dfe2b95ecd 100644 --- a/src/bonsai/bonsai/bim/module/owner/prop.py +++ b/src/bonsai/bonsai/bim/module/owner/prop.py @@ -16,22 +16,24 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -import bonsai.tool as tool -from bonsai.bim.prop import StrProperty, Attribute -from bonsai.bim.module.owner.data import OwnerData, ActorData, ObjectActorData from typing import TYPE_CHECKING, Literal -from bpy.types import PropertyGroup + +import bpy from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) +from bpy.types import PropertyGroup + +import bonsai.tool as tool +from bonsai.bim.module.owner.data import ActorData, ObjectActorData, OwnerData +from bonsai.bim.prop import Attribute, StrProperty def get_user_person(self: "BIMOwnerProperties", context: bpy.types.Context) -> tool.Blender.BLENDER_ENUM_ITEMS: diff --git a/src/bonsai/bonsai/bim/module/owner/ui.py b/src/bonsai/bonsai/bim/module/owner/ui.py index f348804d77..f1e7ae9ea3 100644 --- a/src/bonsai/bonsai/bim/module/owner/ui.py +++ b/src/bonsai/bonsai/bim/module/owner/ui.py @@ -16,17 +16,19 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import Any + import bpy + import bonsai.bim.helper import bonsai.tool as tool -from typing import Any from bonsai.bim.module.owner.data import ( - PeopleData, + ActorData, + ApplicationsData, + ObjectActorData, OrganisationsData, OwnerData, - ActorData, - ObjectActorData, - ApplicationsData, + PeopleData, ) diff --git a/src/bonsai/bonsai/bim/module/patch/__init__.py b/src/bonsai/bonsai/bim/module/patch/__init__.py index 0a35e4b0d8..fd5de30d38 100644 --- a/src/bonsai/bonsai/bim/module/patch/__init__.py +++ b/src/bonsai/bonsai/bim/module/patch/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.ExecuteIfcPatch, diff --git a/src/bonsai/bonsai/bim/module/patch/operator.py b/src/bonsai/bonsai/bim/module/patch/operator.py index 5ff7e998ce..57413214d6 100644 --- a/src/bonsai/bonsai/bim/module/patch/operator.py +++ b/src/bonsai/bonsai/bim/module/patch/operator.py @@ -16,17 +16,19 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import os -import bpy import json +import os +from pathlib import Path +from typing import TYPE_CHECKING, cast + +import bpy import ifcopenshell import ifcpatch -import bonsai.tool as tool -import bonsai.core.patch as core +from bpy_extras.io_utils import ExportHelper, ImportHelper + import bonsai.bim.handler -from bpy_extras.io_utils import ImportHelper, ExportHelper -from pathlib import Path -from typing import cast, TYPE_CHECKING +import bonsai.core.patch as core +import bonsai.tool as tool if TYPE_CHECKING: from bonsai.bim.prop import AttributeDataType diff --git a/src/bonsai/bonsai/bim/module/patch/prop.py b/src/bonsai/bonsai/bim/module/patch/prop.py index 3d372e5036..9382b4e786 100644 --- a/src/bonsai/bonsai/bim/module/patch/prop.py +++ b/src/bonsai/bonsai/bim/module/patch/prop.py @@ -16,25 +16,26 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import importlib import importlib.util from pathlib import Path -import ifcpatch -from bonsai.bim.prop import StrProperty, Attribute -from bpy.types import PropertyGroup -from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, - BoolProperty, - IntProperty, - FloatProperty, - FloatVectorProperty, - CollectionProperty, -) from typing import TYPE_CHECKING, Literal, Union +import bpy +import ifcpatch +from bpy.props import ( + BoolProperty, + CollectionProperty, + EnumProperty, + FloatProperty, + FloatVectorProperty, + IntProperty, + PointerProperty, + StringProperty, +) +from bpy.types import PropertyGroup + +from bonsai.bim.prop import Attribute, StrProperty ifcpatchrecipes_enum: list[tuple[str, str, str]] = [] diff --git a/src/bonsai/bonsai/bim/module/patch/ui.py b/src/bonsai/bonsai/bim/module/patch/ui.py index 8c165d692f..c3101b4705 100644 --- a/src/bonsai/bonsai/bim/module/patch/ui.py +++ b/src/bonsai/bonsai/bim/module/patch/ui.py @@ -17,12 +17,14 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy -import bonsai.tool as tool -from bonsai.bim.helper import prop_with_search -from bonsai.bim.helper import draw_attributes + from typing import TYPE_CHECKING +import bpy + +import bonsai.tool as tool +from bonsai.bim.helper import draw_attributes, prop_with_search + if TYPE_CHECKING: from bonsai.bim.prop import Attribute diff --git a/src/bonsai/bonsai/bim/module/profile/__init__.py b/src/bonsai/bonsai/bim/module/profile/__init__.py index 00a6728d32..d53deebb9c 100644 --- a/src/bonsai/bonsai/bim/module/profile/__init__.py +++ b/src/bonsai/bonsai/bim/module/profile/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator, data + +from . import data, operator, prop, ui classes = ( operator.AddProfileDef, diff --git a/src/bonsai/bonsai/bim/module/profile/data.py b/src/bonsai/bonsai/bim/module/profile/data.py index eb21a72f25..34ea4d1b7b 100644 --- a/src/bonsai/bonsai/bim/module/profile/data.py +++ b/src/bonsai/bonsai/bim/module/profile/data.py @@ -16,12 +16,14 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import Any + import bpy import bpy.utils import bpy.utils.previews import ifcopenshell.util.doc + import bonsai.tool as tool -from typing import Any def refresh(): diff --git a/src/bonsai/bonsai/bim/module/profile/operator.py b/src/bonsai/bonsai/bim/module/profile/operator.py index 99f47923e4..871d8f3b86 100644 --- a/src/bonsai/bonsai/bim/module/profile/operator.py +++ b/src/bonsai/bonsai/bim/module/profile/operator.py @@ -20,14 +20,15 @@ import bpy import ifcopenshell.api import ifcopenshell.api.profile import ifcopenshell.util.element + import bonsai.bim.helper -import bonsai.tool as tool import bonsai.bim.module.model.profile as model_profile import bonsai.core.profile as core -from bonsai.bim.module.model.decorator import ProfileDecorator -from bonsai.bim.module.profile.prop import generate_thumbnail_for_active_profile -from bonsai.bim.module.profile.data import refresh +import bonsai.tool as tool from bonsai.bim.module.geometry.helper import Helper +from bonsai.bim.module.model.decorator import ProfileDecorator +from bonsai.bim.module.profile.data import refresh +from bonsai.bim.module.profile.prop import generate_thumbnail_for_active_profile class LoadProfiles(bpy.types.Operator): diff --git a/src/bonsai/bonsai/bim/module/profile/prop.py b/src/bonsai/bonsai/bim/module/profile/prop.py index f69f6a6cd9..61e2546193 100644 --- a/src/bonsai/bonsai/bim/module/profile/prop.py +++ b/src/bonsai/bonsai/bim/module/profile/prop.py @@ -16,25 +16,27 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Union + import bpy import ifcopenshell -import ifcopenshell.util.schema import ifcopenshell.util.attribute -import bonsai.tool as tool -from bonsai.bim.prop import StrProperty, Attribute -from bonsai.bim.module.profile.data import ProfileData -from bpy.types import PropertyGroup +import ifcopenshell.util.schema from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING, Union +from bpy.types import PropertyGroup + +import bonsai.tool as tool +from bonsai.bim.module.profile.data import ProfileData +from bonsai.bim.prop import Attribute, StrProperty def get_profile_classes(self: "BIMProfileProperties", context: bpy.types.Context) -> list[tuple[str, str, str]]: diff --git a/src/bonsai/bonsai/bim/module/profile/ui.py b/src/bonsai/bonsai/bim/module/profile/ui.py index 33b8ca7d58..3128fe82ea 100644 --- a/src/bonsai/bonsai/bim/module/profile/ui.py +++ b/src/bonsai/bonsai/bim/module/profile/ui.py @@ -17,13 +17,16 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING + import bpy +from bpy.types import Panel, UIList + import bonsai.bim.helper import bonsai.tool as tool -from bpy.types import Panel, UIList from bonsai.bim.module.profile.data import ProfileData from bonsai.bim.module.profile.prop import generate_thumbnail_for_active_profile -from typing import TYPE_CHECKING if TYPE_CHECKING: from bonsai.bim.module.profile.prop import BIMProfileProperties, Profile diff --git a/src/bonsai/bonsai/bim/module/project/__init__.py b/src/bonsai/bonsai/bim/module/project/__init__.py index 26961b8c64..f4f4261eb5 100644 --- a/src/bonsai/bonsai/bim/module/project/__init__.py +++ b/src/bonsai/bonsai/bim/module/project/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator, workspace, gizmo, decorator + +from . import decorator, gizmo, operator, prop, ui, workspace classes = ( operator.AddProjectLibrary, @@ -30,27 +31,31 @@ classes = ( operator.BIM_OT_load_clipping_planes, operator.BIM_OT_save_clipping_planes, operator.ChangeLibraryElement, + operator.ClearMeasurement, operator.ClearRecentIFCProjects, operator.CreateClippingPlane, operator.CreateProject, operator.DisableCulling, operator.DisableEditingHeader, + operator.DisableEditingLink, operator.EditHeader, + operator.EditLink, operator.EditProjectLibrary, operator.EnableCulling, operator.EnableEditingHeader, + operator.EnableEditingLink, operator.ExportIFC, operator.FlipClippingPlane, operator.IFCFileHandlerOperator, operator.ImageScalingTool, operator.LinkIfc, + operator.LoadBlendMetadataAndIFC, operator.LoadLink, operator.LoadLinkedProject, operator.LoadProject, operator.LoadProjectElements, - operator.MeasureTool, operator.MeasureFaceAreaTool, - operator.ClearMeasurement, + operator.MeasureTool, operator.NewProject, operator.QueryLinkedElement, operator.RefreshClippingPlanes, @@ -68,7 +73,6 @@ classes = ( operator.UnassignLibraryDeclaration, operator.UnlinkIfc, operator.UnloadLink, - operator.LoadBlendMetadataAndIFC, workspace.ExploreHotkey, prop.LibraryBreadcrumb, prop.LibraryElement, diff --git a/src/bonsai/bonsai/bim/module/project/data.py b/src/bonsai/bonsai/bim/module/project/data.py index 1f51737205..e2e960b382 100644 --- a/src/bonsai/bonsai/bim/module/project/data.py +++ b/src/bonsai/bonsai/bim/module/project/data.py @@ -17,13 +17,15 @@ # along with Bonsai. If not, see . import os -import bpy -import bonsai.tool as tool -import ifcopenshell.util.file -from bonsai.bim.ifc import IfcStore -from pathlib import Path from collections import defaultdict -from typing import Union, Any +from pathlib import Path +from typing import Any, Union + +import bpy +import ifcopenshell.util.file + +import bonsai.tool as tool +from bonsai.bim.ifc import IfcStore def refresh(): diff --git a/src/bonsai/bonsai/bim/module/project/decorator.py b/src/bonsai/bonsai/bim/module/project/decorator.py index fbb3e9ae97..14035ca91c 100644 --- a/src/bonsai/bonsai/bim/module/project/decorator.py +++ b/src/bonsai/bonsai/bim/module/project/decorator.py @@ -16,17 +16,19 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import gpu +from typing import Union + import blf -import bpy import bmesh -import bonsai.tool as tool +import bpy +import gpu +from bpy.app.handlers import persistent from bpy.types import SpaceView3D from bpy_extras import view3d_utils -from mathutils import Vector from gpu_extras.batch import batch_for_shader -from bpy.app.handlers import persistent -from typing import Union +from mathutils import Vector + +import bonsai.tool as tool from bonsai.bim.module.model.decorator import PolylineDecorator diff --git a/src/bonsai/bonsai/bim/module/project/gizmo.py b/src/bonsai/bonsai/bim/module/project/gizmo.py index bb372b9cb7..d91668eaa8 100644 --- a/src/bonsai/bonsai/bim/module/project/gizmo.py +++ b/src/bonsai/bonsai/bim/module/project/gizmo.py @@ -18,10 +18,11 @@ import bpy -import bonsai.tool as tool from bpy.types import GizmoGroup from mathutils import Matrix +import bonsai.tool as tool + class ClippingPlane(GizmoGroup): bl_idname = "OBJECT_GGT_bim_clipping_plane" diff --git a/src/bonsai/bonsai/bim/module/project/operator.py b/src/bonsai/bonsai/bim/module/project/operator.py index b0f74cfb40..1d0e52976b 100644 --- a/src/bonsai/bonsai/bim/module/project/operator.py +++ b/src/bonsai/bonsai/bim/module/project/operator.py @@ -16,58 +16,73 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import os -import bpy -import time -import json -import logging -import tempfile -import traceback -import subprocess import datetime -import ifcopenshell.api.attribute -import numpy as np +import json +import math +import logging +import os +import subprocess +import tempfile +import time +import traceback +from collections import defaultdict +from math import radians +from pathlib import Path +from typing import TYPE_CHECKING, Literal, Union, get_args + +import bpy import ifcopenshell import ifcopenshell.api +import ifcopenshell.api.attribute import ifcopenshell.api.nest import ifcopenshell.api.project import ifcopenshell.api.root import ifcopenshell.geom import ifcopenshell.ifcopenshell_wrapper as W +import ifcopenshell.util.element import ifcopenshell.util.file -import ifcopenshell.util.selector import ifcopenshell.util.geolocation import ifcopenshell.util.representation -import ifcopenshell.util.element -import ifcopenshell.util.representation +import ifcopenshell.util.selector import ifcopenshell.util.shape import ifcopenshell.util.shape_builder import ifcopenshell.util.unit +import numpy as np +from bpy.app.handlers import persistent +from bpy_extras.io_utils import ExportHelper, ImportHelper +from ifcopenshell.geom import ShapeElementType +from mathutils import Matrix, Vector + import bonsai.bim.handler import bonsai.bim.helper import bonsai.bim.schema -import bonsai.tool as tool import bonsai.core.project as core -from bpy_extras.io_utils import ExportHelper, ImportHelper +import bonsai.tool as tool +from bonsai.bim import export_ifc, import_ifc from bonsai.bim.ifc import IfcStore from bonsai.bim.ui import IFCFileSelector from bonsai.bim import import_ifc from bonsai.bim import export_ifc -from math import radians +from math import radians, degrees from pathlib import Path from collections import defaultdict from mathutils import Vector, Matrix from bpy.app.handlers import persistent from ifcopenshell.geom import ShapeElementType -from bonsai.bim.module.project.data import LinksData, ProjectLibraryData -from bonsai.bim.module.project.decorator import ProjectDecorator, ClippingPlaneDecorator, MeasureDecorator -from bonsai.bim.module.project.prop import BreadcrumbType -from bonsai.bim.module.model.decorator import PolylineDecorator, FaceAreaDecorator +from bonsai.bim.module.model.decorator import FaceAreaDecorator, PolylineDecorator from bonsai.bim.module.model.polyline import PolylineOperator -from typing import Union, TYPE_CHECKING, get_args, Literal +from bonsai.bim.module.project.data import LinksData, ProjectLibraryData +from bonsai.bim.module.project.decorator import ( + ClippingPlaneDecorator, + MeasureDecorator, + ProjectDecorator, +) +from bonsai.bim.module.project.prop import BreadcrumbType +from bonsai.bim.ui import IFCFileSelector if TYPE_CHECKING: import bpy.stub_internal.rna_enums as rna_enums + from bonsai.bim.module.project.prop import Link @@ -119,8 +134,6 @@ class NewProject(bpy.types.Operator): bpy.context.scene.unit_settings.length_unit = "MILLIMETERS" bim_props.area_unit = "SQUARE_METRE" bim_props.volume_unit = "CUBIC_METRE" - bim_props.mass_unit = "KILOGRAM" - bim_props.time_unit = "SECOND" pprops.template_file = "IFC4 Demo Template.ifc" if self.preset != "wizard": @@ -1318,7 +1331,7 @@ class ToggleFilterCategories(bpy.types.Operator): return {"FINISHED"} -class LinkIfc(bpy.types.Operator, ImportHelper): +class LinkIfc(bpy.types.Operator, ImportHelper, tool.Ifc.Operator): bl_idname = "bim.link_ifc" bl_label = "Link IFC" bl_options = {"REGISTER", "UNDO"} @@ -1357,134 +1370,125 @@ class LinkIfc(bpy.types.Operator, ImportHelper): row = self.layout.row() row.prop(pprops, "project_north") - def execute(self, context): + def _execute(self, context): start = time.time() files = [f.name for f in self.files] if self.files else [self.filepath] + + if not files or all(not f or not f.strip() for f in files): + self.report({"ERROR"}, "No file selected") + return {"CANCELLED"} + + existing_links = tool.Project.get_linked_models_documents() if tool.Ifc.get() else {} for filename in files: + if not filename or not filename.strip(): + continue filepath = Path(self.directory) / filename if bpy.data.filepath and filepath.samefile(bpy.data.filepath): self.report({"INFO"}, "Can't link the current .blend file") continue props = tool.Project.get_project_props() - new = props.links.add() filepath = tool.Ifc.get_uri(filepath, use_relative_path=self.use_relative_path) + + new = props.links.add() + if tool.Ifc.get(): + if not (document := existing_links.get(filepath)): + document = ifcopenshell.api.document.add_information(tool.Ifc.get()) + document.Name = Path(filepath).name + document.Scope = "LINKED_MODEL" + reference = ifcopenshell.api.document.add_reference(tool.Ifc.get(), information=document) + reference[1] = ",".join([str(o) for o in np.eye(4).flatten().tolist()]) + reference.Location = filepath.replace("\\", "/") + new.ifc_definition_id = reference.id() new.name = filepath - status = bpy.ops.bim.load_link(filepath=filepath, use_cache=self.use_cache) - if status == {"CANCELLED"}: - error_msg = ( - f'Error processing IFC file "{filepath}" ' - "was critical and blend file either wasn't saved or wasn't updated. " - "See logs above in system console for details." - ) - print(error_msg) - self.report({"ERROR"}, error_msg) - return {"FINISHED"} - print(f"Finished linking {len(files)} IFCs", time.time() - start) - return {"FINISHED"} + new.filepath = filepath + bpy.ops.bim.load_link(link_index=-1, use_cache=self.use_cache) -class UnlinkIfc(bpy.types.Operator): +class UnlinkIfc(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.unlink_ifc" bl_label = "Unlink IFC" bl_options = {"REGISTER", "UNDO"} bl_description = "Remove the selected file from the link list" - filepath: bpy.props.StringProperty() + link_index: bpy.props.IntProperty(name="Link Index") - def execute(self, context): - filepath = Path(self.filepath).as_posix() - bpy.ops.bim.unload_link(filepath=filepath) + def _execute(self, context): props = tool.Project.get_project_props() - index = props.links.find(filepath) - if index != -1: - props.links.remove(index) - return {"FINISHED"} + link = props.links[self.link_index] + bpy.ops.bim.unload_link(link_index=self.link_index) + if tool.Ifc.get(): + reference = tool.Ifc.get().by_id(link.ifc_definition_id) + document = tool.Document.get_reference_document(reference) + ifcopenshell.api.document.remove_reference(tool.Ifc.get(), reference) + if document and not tool.Document.get_document_references(document): + ifcopenshell.api.document.remove_information(tool.Ifc.get(), document) + props.links.remove(self.link_index) -class UnloadLink(bpy.types.Operator): +class UnloadLink(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.unload_link" bl_label = "Unload Link" bl_options = {"REGISTER", "UNDO"} bl_description = "Unload the selected linked file" - filepath: bpy.props.StringProperty() + link_index: bpy.props.IntProperty(name="Link Index") - def execute(self, context): - filepath = tool.Blender.ensure_blender_path_is_abs(Path(self.filepath)) - if filepath.suffix.lower() == ".ifc": - filepath = filepath.with_suffix(".ifc.cache.blend") - - for library in list(bpy.data.libraries): - if tool.Blender.ensure_blender_path_is_abs(Path(library.filepath)) == filepath: + def _execute(self, context): + link = tool.Project.get_project_props().links[self.link_index] + if obj := tool.Project.get_link_empty_handle(link): + collection = obj.instance_collection + library = collection.library + tool.Ifc.unlink(obj=obj) + bpy.data.objects.remove(obj) + if collection.users == 0: + bpy.data.collections.remove(collection) + if not len([c for c in bpy.data.collections if c.library == library]): bpy.data.libraries.remove(library) - - props = tool.Project.get_project_props() - links = props.links - link = links[self.filepath] - # Let's assume that user might delete it. - if empty_handle := link.empty_handle: - bpy.data.objects.remove(empty_handle) - - # following lines removes the library also when use_relative_path=True, otherwise it doesn't - libraries = bpy.data.libraries - for library in libraries: - if library.name == self.filepath + ".cache.blend": - bpy.data.libraries.remove(library) - link.is_loaded = False - - if not any([l.is_loaded for l in links]): - ProjectDecorator.uninstall() - # we make sure we don't draw queried object from the file that was just unlinked - elif queried_obj := props.queried_obj: - queried_filepath = Path(queried_obj["ifc_filepath"]) - if queried_filepath == filepath: - ProjectDecorator.uninstall() - - return {"FINISHED"} + ProjectDecorator.uninstall() -class LoadLink(bpy.types.Operator): +class LoadLink(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.load_link" bl_label = "Load Link" bl_options = {"REGISTER", "UNDO"} bl_description = "Load the selected file" - filepath: bpy.props.StringProperty(name="Link Filepath") + link_index: bpy.props.IntProperty(name="Link Index") use_cache: bpy.props.BoolProperty(name="Use Cache", default=True) - filepath_: Path - - def execute(self, context): - filepath = Path(tool.Ifc.resolve_uri(self.filepath)) + def _execute(self, context): + self.link = tool.Project.get_project_props().links[self.link_index] + filepath = Path(tool.Ifc.resolve_uri(self.link.filepath)) if not filepath.exists(): self.report({"ERROR"}, f"File does not exist: '{filepath}'") return {"CANCELLED"} self.filepath_ = filepath - if filepath.suffix.lower().endswith(".blend"): - self.link_blend(filepath) - elif filepath.suffix.lower().endswith(".ifc"): - status = self.link_ifc() - if status: - return status - return {"FINISHED"} + if filepath.suffix.lower().endswith(".ifc"): + return self.link_ifc() def link_blend(self, filepath: Path) -> None: with bpy.data.libraries.load(str(filepath), link=True) as (data_from, data_to): - data_to.scenes = data_from.scenes - link = tool.Project.get_project_props().links[self.filepath] - for scene in bpy.data.scenes: - if not scene.library or Path(scene.library.filepath) != filepath: + data_to.collections = [c for c in data_from.collections if "IfcProject" in c] + + # Find the linked collection + for collection in bpy.data.collections: + if not collection.library or Path(collection.library.filepath) != filepath: continue - for child in scene.collection.children: - if "IfcProject" not in child.name: - continue - empty = bpy.data.objects.new(child.name, None) - empty.instance_type = "COLLECTION" - empty.instance_collection = child - link.empty_handle = empty - bpy.context.scene.collection.objects.link(empty) - break + # Create unique empty instance for this link + empty_name = collection.name + empty = bpy.data.objects.new(empty_name, None) + empty.instance_type = "COLLECTION" + empty.instance_collection = collection + empty.matrix_world = Matrix(tool.Project.calculate_link_matrix(self.link)) + + tool.Project.set_link_empty_handle(self.link, empty) + bpy.context.scene.collection.objects.link(empty) + self.link.is_loaded = True + if tool.Ifc.get(): # For non-IFC projects, locking has no meaning + tool.Geometry.lock_object(empty) + tool.Blender.select_and_activate_single_object(bpy.context, empty) break - link.is_loaded = True - tool.Blender.select_and_activate_single_object(bpy.context, empty) + else: + print(f"WARNING: No IfcProject collection found in {filepath}") + self.link.is_loaded = False def link_ifc(self) -> Union[set[str], None]: blend_filepath = self.filepath_.with_suffix(".ifc.cache.blend") @@ -1499,14 +1503,12 @@ class LoadLink(bpy.types.Operator): code = f""" import bpy +import sys def run(): import bonsai.tool as tool gprops = tool.Georeference.get_georeference_props() # Our model origin becomes their host model origin - gprops.host_model_origin = "{gprops.model_origin}" - gprops.host_model_origin_si = "{gprops.model_origin_si}" - gprops.host_model_project_north = "{gprops.model_project_north}" gprops.has_blender_offset = {gprops.has_blender_offset} gprops.blender_offset_x = "{gprops.blender_offset_x}" gprops.blender_offset_y = "{gprops.blender_offset_y}" @@ -1519,7 +1521,12 @@ def run(): pprops.false_origin = "{pprops.false_origin}" pprops.project_north = "{pprops.project_north}" # Use absolute path to be safe from cwd changes. - bpy.ops.bim.load_linked_project(filepath=r"{str(self.filepath_)}") + try: + bpy.ops.bim.load_linked_project(filepath=r"{str(self.filepath_)}") + except RuntimeError as e: + # Operator failed (returned CANCELLED with error report) + print(f"Failed to load linked project: {{e}}") + sys.exit(1) # Use str instead of as_posix to avoid issues with Windows shared paths. bpy.ops.wm.save_as_mainfile(filepath=r"{str(blend_filepath)}") @@ -1553,14 +1560,17 @@ except Exception as e: if not blend_filepath.exists() or blend_filepath.stat().st_mtime < t: return {"CANCELLED"} - self.set_model_origin_from_link() - + self.set_model_origin_from_link() + self.set_georeferencing_indicator() self.link_blend(blend_filepath) def set_model_origin_from_link(self) -> None: if tool.Ifc.get(): return # The current model's coordinates always take priority. + if len(tool.Project.get_project_props().links) > 1: + return # Only the first link sets the origin + json_filepath = self.filepath_.with_suffix(".ifc.cache.json") if not json_filepath.exists(): return @@ -1573,21 +1583,36 @@ except Exception as e: if (value := data.get(prop, None)) is not None: setattr(gprops, prop, value) + def set_georeferencing_indicator(self) -> None: + if not tool.Ifc.get(): + self.link.georeferenced = "NONE" + return + if not (crs_name := (ifcopenshell.util.geolocation.get_crs(tool.Ifc.get()) or {}).get("Name", "")): + self.link.georeferenced = "NONE" + return + reference = tool.Ifc.get().by_id(self.link.ifc_definition_id) + json_filepath = Path(reference.Location).with_suffix(".ifc.cache.json") + if not json_filepath.exists(): + self.link.georeferenced = "NONE" + return + with open(json_filepath, "r") as f: + data = json.load(f) + if not data["model_is_georeferenced"]: + self.link.georeferenced = "NONE" + else: + self.link.georeferenced = "FULL_COMPATIBLE" if crs_name == data["model_crs"] else "NOT_COMPATIBLE" + class ReloadLink(bpy.types.Operator): bl_idname = "bim.reload_link" bl_label = "Reload Link" bl_options = {"REGISTER", "UNDO"} bl_description = "Reload the selected file" - filepath: bpy.props.StringProperty() + link_index: bpy.props.IntProperty(name="Link Index") def execute(self, context): - is_abs = os.path.isabs(Path(self.filepath)) - use_relative_path = not is_abs - bpy.ops.bim.unlink_ifc(filepath=self.filepath) - filepath = tool.Ifc.resolve_uri(self.filepath) - status = bpy.ops.bim.link_ifc(filepath=filepath, use_cache=False, use_relative_path=use_relative_path) - return {"FINISHED"} + bpy.ops.bim.unload_link(link_index=self.link_index) + return bpy.ops.bim.load_link(link_index=self.link_index, use_cache=False) or {"FINISHED"} class ToggleLinkSelectability(bpy.types.Operator): @@ -1595,16 +1620,18 @@ class ToggleLinkSelectability(bpy.types.Operator): bl_label = "Toggle Link Selectability" bl_options = {"REGISTER", "UNDO"} bl_description = "Toggle selectability" - link: bpy.props.StringProperty(name="Linked IFC Filepath") + link_index: bpy.props.IntProperty(name="Link Index") def execute(self, context): props = tool.Project.get_project_props() - link = props.links[self.link] - self.library_filepath = tool.Blender.ensure_blender_path_is_abs(Path(self.link).with_suffix(".ifc.cache.blend")) + link = props.links[self.link_index] + self.library_filepath = tool.Blender.ensure_blender_path_is_abs( + Path(link.filepath).with_suffix(".ifc.cache.blend") + ) link.is_selectable = (is_selectable := not link.is_selectable) for collection in self.get_linked_collections(): collection.hide_select = not is_selectable - if handle := link.empty_handle: + if handle := tool.Project.get_link_empty_handle(link): handle.hide_select = not is_selectable return {"FINISHED"} @@ -1621,13 +1648,15 @@ class ToggleLinkVisibility(bpy.types.Operator): bl_label = "Toggle Link Visibility" bl_options = {"REGISTER", "UNDO"} bl_description = "Toggle visibility between SOLID and WIREFRAME" - link: bpy.props.StringProperty(name="Linked IFC Filepath") + link_index: bpy.props.IntProperty(name="Link Index") mode: bpy.props.EnumProperty(name="Visibility Mode", items=((i, i, "") for i in ("WIREFRAME", "VISIBLE"))) def execute(self, context): props = tool.Project.get_project_props() - link = props.links[self.link] - self.library_filepath = tool.Blender.ensure_blender_path_is_abs(Path(self.link).with_suffix(".ifc.cache.blend")) + link = props.links[self.link_index] + self.library_filepath = tool.Blender.ensure_blender_path_is_abs( + Path(link.filepath).with_suffix(".ifc.cache.blend") + ) if self.mode == "WIREFRAME": self.toggle_wireframe(link) elif self.mode == "VISIBLE": @@ -1649,7 +1678,7 @@ class ToggleLinkVisibility(bpy.types.Operator): layer_collections = tool.Blender.get_layer_collections_mapping(linked_collections) for layer_collection in layer_collections.values(): layer_collection.exclude = is_hidden - if handle := link.empty_handle: + if handle := tool.Project.get_link_empty_handle(link): handle.hide_set(is_hidden) def get_linked_collections(self) -> list[bpy.types.Collection]: @@ -1660,17 +1689,95 @@ class ToggleLinkVisibility(bpy.types.Operator): ] +class EnableEditingLink(bpy.types.Operator): + bl_idname = "bim.enable_editing_link" + bl_label = "Enable Editing Link" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Enable editing link location" + + def execute(self, context): + link = tool.Project.get_project_props().active_link + link.is_editing = True + tool.Geometry.unlock_object(tool.Project.get_link_empty_handle(link)) + return {"FINISHED"} + + +class DisableEditingLink(bpy.types.Operator): + bl_idname = "bim.disable_editing_link" + bl_label = "Disable Editing Link" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Disable editing link and restore to previously saved location" + + def execute(self, context): + link = tool.Project.get_project_props().active_link + link.is_editing = False + obj = tool.Project.get_link_empty_handle(link) + obj.matrix_world = Matrix(tool.Project.calculate_link_matrix(link)) + tool.Geometry.lock_object(obj) + return {"FINISHED"} + + +class EditLink(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.edit_link" + bl_label = "Edit Link" + bl_options = {"REGISTER", "UNDO"} + bl_description = "Disable editing link and restore to previously saved location" + + def _execute(self, context): + link = tool.Project.get_project_props().active_link + link.is_editing = False + obj = tool.Project.get_link_empty_handle(link) + new_obj_matrix = obj.matrix_world + + filepath = Path(tool.Ifc.resolve_uri(link.filepath)) + with open(filepath.with_suffix(".ifc.cache.json"), "r") as f: + metadata = json.load(f) + + rot = ifcopenshell.util.shape_builder.np_rotation_matrix( + radians(-float(metadata["model_project_north"])), 4, "Z" + ) + global_matrix = rot @ np.eye(4) + global_matrix[:, 3][:3] = [float(o) for o in metadata["model_origin_si"].split(",")] + + gprops = tool.Georeference.get_georeference_props() + rot = ifcopenshell.util.shape_builder.np_rotation_matrix(radians(-float(gprops.model_project_north)), 4, "Z") + local_matrix = rot @ np.eye(4) + local_matrix[:, 3][:3] = [float(o) for o in gprops.model_origin_si.split(",")] + + # obj_matrix is typically calculated as: + # obj_matrix = np.linalg.inv(local_matrix) @ transformation @ global_matrix + # So let's calculate the transformation + + transformed_global_matrix = local_matrix @ np.array(new_obj_matrix) + transformation = transformed_global_matrix @ np.linalg.inv(global_matrix) + if np.allclose(transformation, np.eye(4)): + link.has_transformation = True + transformation = ",".join(map(str, np.eye(4).reshape(-1))) + else: + link.has_transformation = False + transformation = ",".join(map(str, transformation.reshape(-1))) + + if tool.Ifc.get(): + reference = tool.Ifc.get().by_id(link.ifc_definition_id) + reference[1] = transformation + else: + link.transformation = transformation + + obj.matrix_world = Matrix(tool.Project.calculate_link_matrix(link)) + tool.Geometry.lock_object(obj) + + class SelectLinkHandle(bpy.types.Operator): bl_idname = "bim.select_link_handle" bl_label = "Select Link Handle" bl_options = {"REGISTER", "UNDO"} bl_description = "Select link empty object handle" - index: bpy.props.IntProperty(name="Link Index") + link_index: bpy.props.IntProperty(name="Link Index") def execute(self, context): props = tool.Project.get_project_props() - link = props.links[self.index] - handle = link.empty_handle + link = props.links[self.link_index] + handle = tool.Project.get_link_empty_handle(link) if not handle: self.report({"ERROR"}, "Link has no empty handle (probably it was deleted).") return {"CANCELLED"} @@ -1850,9 +1957,10 @@ class LoadLinkedProject(bpy.types.Operator, ImportHelper): return ImportHelper.invoke(self, context, event) def execute(self, context): - import ifcpatch import multiprocessing + import ifcpatch + start = time.time() pprops = tool.Project.get_project_props() @@ -1862,7 +1970,14 @@ class LoadLinkedProject(bpy.types.Operator, ImportHelper): print("Processing", self.filepath) self.collection = bpy.data.collections.new("IfcProject/" + os.path.basename(self.filepath)) - self.file = ifcopenshell.open(self.filepath) + + try: + self.file = ifcopenshell.open(self.filepath) + except Exception as e: + self.report({"ERROR"}, f"Failed to open IFC file: {str(e)}") + bpy.data.collections.remove(self.collection) + return {"CANCELLED"} + tool.Ifc.set(self.file) print("Finished opening") @@ -1893,20 +2008,13 @@ class LoadLinkedProject(bpy.types.Operator, ImportHelper): if tool.Loader.settings.false_origin_mode == "MANUAL" and tool.Loader.settings.false_origin: tool.Loader.set_manual_blender_offset(self.file) elif tool.Loader.settings.false_origin_mode == "AUTOMATIC": - if host_model_origin_si := gprops.host_model_origin_si: - host_model_origin_si = [float(o) / self.unit_scale for o in host_model_origin_si.split(",")] - tool.Loader.settings.false_origin = host_model_origin_si - tool.Loader.settings.project_north = float(gprops.host_model_project_north) - tool.Loader.set_manual_blender_offset(self.file) - else: - tool.Loader.guess_false_origin(self.file) + tool.Loader.guess_false_origin(self.file) tool.Georeference.set_model_origin() self.json_filepath = self.filepath + ".cache.json" data = { - "host_model_origin": gprops.host_model_origin, - "host_model_origin_si": gprops.host_model_origin_si, - "host_model_project_north": gprops.host_model_project_north, + "model_is_georeferenced": gprops.model_is_georeferenced, + "model_crs": gprops.model_crs, "model_origin": gprops.model_origin, "model_origin_si": gprops.model_origin_si, "model_project_north": gprops.model_project_north, @@ -2162,7 +2270,11 @@ class QueryLinkedElement(bpy.types.Operator): def execute(self, context): import sqlite3 - from bpy_extras.view3d_utils import region_2d_to_vector_3d, region_2d_to_origin_3d + + from bpy_extras.view3d_utils import ( + region_2d_to_origin_3d, + region_2d_to_vector_3d, + ) LinksData.linked_data = {} props = tool.Project.get_project_props() @@ -2507,9 +2619,10 @@ class RefreshClippingPlanes(bpy.types.Operator): break def refresh_clipping_planes(self, context): - import bmesh from itertools import cycle + import bmesh + area = next(a for a in bpy.context.screen.areas if a.type == "VIEW_3D") region = next(r for r in area.regions if r.type == "WINDOW") data = region.data @@ -2569,7 +2682,10 @@ class CreateClippingPlane(bpy.types.Operator): bl_options = {"REGISTER", "UNDO"} def execute(self, context): - from bpy_extras.view3d_utils import region_2d_to_vector_3d, region_2d_to_origin_3d + from bpy_extras.view3d_utils import ( + region_2d_to_origin_3d, + region_2d_to_vector_3d, + ) # Clean up deleted planes props = tool.Project.get_project_props() @@ -2723,17 +2839,27 @@ class IFCFileHandlerOperator(bpy.types.Operator): # Keeping code in .invoke() as we'll probably add some # popup windows later. + def clean_up_path(path: str) -> str: + # In Blender 4.5.6 there was a bug producing unncesseary double slash prefix + # breaking the paths. Issue is not present in 5.0+ and presumably will be solved in 4.5.7 too. + # https://projects.blender.org/blender/blender/issues/153822 + if bpy.app.version == (4, 5, 6): + blender_prefix = "//" + if path.startswith(blender_prefix): + return path.removeprefix(blender_prefix) + return path + # `files` contain only .ifc files. filepath = Path(self.directory) # If user is just drag'n'dropping a single file -> load it as a new project, # if they're holding ALT -> link the file/files to the current project. if event.alt: # Passing self.files directly results in TypeError. - serialized_files = [{"name": f.name} for f in self.files] + serialized_files = [{"name": clean_up_path(f.name)} for f in self.files] return bpy.ops.bim.link_ifc(directory=self.directory, files=serialized_files) else: if len(self.files) == 1: - return bpy.ops.bim.load_project(filepath=(filepath / self.files[0].name).as_posix()) + return bpy.ops.bim.load_project(filepath=(filepath / clean_up_path(self.files[0].name)).as_posix()) else: self.report( {"INFO"}, diff --git a/src/bonsai/bonsai/bim/module/project/prop.py b/src/bonsai/bonsai/bim/module/project/prop.py index 8983c927c9..a34b5726f7 100644 --- a/src/bonsai/bonsai/bim/module/project/prop.py +++ b/src/bonsai/bonsai/bim/module/project/prop.py @@ -16,27 +16,30 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import os +import math +from collections.abc import Generator +from pathlib import Path +from typing import TYPE_CHECKING, Literal, Union, assert_never, get_args + import bpy import ifcopenshell.util.element import ifcopenshell.util.placement -import bonsai.tool as tool -import bonsai.bim.helper -from bonsai.bim.module.project.data import ProjectData, ProjectLibraryData -from bonsai.bim.ifc import IfcStore -from bonsai.bim.prop import StrProperty, ObjProperty, Attribute -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, BoolProperty, CollectionProperty, EnumProperty, FloatProperty, IntProperty, + PointerProperty, StringProperty, ) -from typing import TYPE_CHECKING, Literal, Union, get_args, assert_never -from collections.abc import Generator +from bpy.types import PropertyGroup + +import bonsai.bim.helper +import bonsai.tool as tool +from bonsai.bim.ifc import IfcStore +from bonsai.bim.module.project.data import ProjectData, ProjectLibraryData +from bonsai.bim.prop import Attribute, ObjProperty, StrProperty def get_export_schema(self: "BIMProjectProperties", context: bpy.types.Context) -> list[tuple[str, str, str]]: @@ -217,29 +220,62 @@ class FilterCategory(PropertyGroup): class Link(PropertyGroup): - name: StringProperty( - name="Name", + name: StringProperty(name="Name") + filepath: StringProperty( + name="Filepath", description="Filepath to linked .ifc file, stored in posix format (could be relative to .ifc file, not to .blend)", ) + transformation: StringProperty( + name="Transformation", + description="4x4 matrix transformation as a flattened comma separated list for the linked model", + default="", + ) + georeferenced: EnumProperty( + name="Georeferenced", + description="Georeferencing status: compatibility between host and linked model", + items=[ + ("NONE", "No Georef", "Linked model has no georeferencing"), + ("NOT_COMPATIBLE", "Not Compatible", "Has geo data but CRS differ from host"), + ("FULL_COMPATIBLE", "Full Compatible", "Both CRS name and vertical datum match host"), + ], + default="NONE", + ) + has_transformation: BoolProperty( + name="Has Transformation", + description="Whether there is a transformation from its global coordinates", + default=False, + ) is_loaded: BoolProperty(name="Is Loaded", default=False) + is_editing: BoolProperty(name="Is Editing", description="Whether the link is being transformed", 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) include_in_drawings: BoolProperty(name="Include in Drawings", default=True, options=set()) empty_handle: PointerProperty( name="Empty Object Handle", - description="We use empty object handle to allow simple manipulations with a linked model (moving, scaling, rotating)", + description="Storage for empty handle. Used in non-IFC scenarios or temporarily during link creation", type=bpy.types.Object, ) + ifc_definition_id: IntProperty( + name="IFC Definition ID", + description="STEP ID of the IfcDocumentReference when linked to a parent IFC project. Zero when no parent IFC exists", + default=0, + ) if TYPE_CHECKING: name: str + filepath: str + transformation: str + georeferenced: Literal["NONE", "NOT_COMPATIBLE", "FULL_COMPATIBLE"] + has_transformation: bool is_loaded: bool + is_editing: bool is_selectable: bool is_wireframe: bool is_hidden: bool include_in_drawings: bool empty_handle: Union[bpy.types.Object, None] + ifc_definition_id: int class EditedObj(PropertyGroup): @@ -319,7 +355,7 @@ class BIMProjectProperties(PropertyGroup): ), default=False, ) - deflection_tolerance: FloatProperty(name="Deflection Tolerance", default=0.001) + deflection_tolerance: FloatProperty(name="Deflection Tolerance", default=0.05) angular_tolerance: FloatProperty(name="Angular Tolerance", default=0.5) void_limit: IntProperty( name="Void Limit", @@ -368,7 +404,7 @@ class BIMProjectProperties(PropertyGroup): load_indexed_maps: BoolProperty( name="Load Indexed Maps", description="Load indexed maps (UV and color maps)", - default=True, + default=False, # Very slow and hackishly implemented ) links: CollectionProperty(name="Links", type=Link) active_link_index: IntProperty(name="Active Link Index") @@ -422,6 +458,10 @@ class BIMProjectProperties(PropertyGroup): clipping_planes_active_index: bpy.props.IntProperty(min=0, default=0, max=5) edited_objs: bpy.props.CollectionProperty(type=EditedObj) + @property + def active_link(self) -> Union[Link, None]: + return tool.Blender.get_active_uilist_element(self.links, self.active_link_index) + @property def active_clipping_plane(self) -> ObjProperty | None: return tool.Blender.get_active_uilist_element(self.clipping_planes, self.clipping_planes_active_index) diff --git a/src/bonsai/bonsai/bim/module/project/ui.py b/src/bonsai/bonsai/bim/module/project/ui.py index 1a6f727b20..3d02e6ca05 100644 --- a/src/bonsai/bonsai/bim/module/project/ui.py +++ b/src/bonsai/bonsai/bim/module/project/ui.py @@ -17,19 +17,29 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy + import os +from typing import TYPE_CHECKING + +import bpy +import math import ifcopenshell +from bpy.types import Menu, Panel, UIList + import bonsai.bim import bonsai.tool as tool -from bonsai.bim.helper import prop_with_search, draw_attributes -from bpy.types import Panel, Menu, UIList +from bonsai.bim.helper import draw_attributes, prop_with_search from bonsai.bim.ifc import IfcStore -from bonsai.bim.module.project.data import ProjectData, LinksData +from bonsai.bim.module.project.data import LinksData, ProjectData from typing import TYPE_CHECKING if TYPE_CHECKING: - from bonsai.bim.module.project.prop import LibraryElement, BIMProjectProperties, FilterCategory, Link + from bonsai.bim.module.project.prop import ( + BIMProjectProperties, + FilterCategory, + LibraryElement, + Link, + ) def file_import_menu(self, context): @@ -368,21 +378,11 @@ class BIM_PT_new_project_wizard(Panel): row = self.layout.row() row.prop(props, "volume_unit", text="Volume Unit") row = self.layout.row() + row.prop(props, "mass_unit", text="Mass Unit") + row = self.layout.row() + row.prop(props, "time_unit", text="Time Unit") prop_with_search(self.layout, pprops, "template_file", text="Template") - if tool.Blender.get_addon_preferences().mass_time_units_in_wizard: - header, body = self.layout.panel("Mass and Time Units", default_closed=True) - if header: - header.label(text="Mass and Time Units") - if body: - label = "Add Mass and Time Units" if not props.add_mass_time_units else "Remove Mass and Time Units" - body.prop(props, "add_mass_time_units", toggle=True, text=label) - if props.add_mass_time_units: - row = body.row() - row.prop(props, "mass_unit", text="Mass Unit") - row = body.row() - row.prop(props, "time_unit", text="Time Unit") - self.layout.use_property_split = True row = self.layout.row() row.operator("bim.create_project") @@ -479,17 +479,27 @@ class BIM_PT_links(Panel): def draw(self, context): self.props = tool.Project.get_project_props() + row = self.layout.row(align=True) row.operator("bim.link_ifc") if self.props.links: - self.layout.template_list( - "BIM_UL_links", - "", - self.props, - "links", - self.props, - "active_link_index", - ) + if self.props.active_link: + row = self.layout.row(align=True) + row.alignment = "RIGHT" + index = self.props.active_link_index + if self.props.active_link.is_editing: + row.operator("bim.edit_link", text="", icon="CHECKMARK") + row.operator("bim.disable_editing_link", text="", icon="CANCEL") + else: + row.operator("bim.enable_editing_link", text="", icon="GREASEPENCIL") + if self.props.active_link.is_loaded: + row.operator("bim.select_link_handle", text="", icon="OBJECT_DATA").link_index = index + row.operator("bim.unload_link", text="", icon="UNLINKED").link_index = index + row.operator("bim.reload_link", text="", icon="FILE_REFRESH").link_index = index + else: + row.operator("bim.load_link", text="", icon="LINKED").link_index = index + row.operator("bim.unlink_ifc", text="", icon="X").link_index = index + self.layout.template_list("BIM_UL_links", "", self.props, "links", self.props, "active_link_index") if LinksData.enable_culling: row = self.layout.row(align=True) @@ -609,47 +619,30 @@ class BIM_UL_links(UIList): active_propname, index, ): - if item: - 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="", - icon="CUBE" if item.is_wireframe else "MESH_CUBE", - emboss=False, - ) - op.link = item.name - op.mode = "WIREFRAME" - op = row.operator( - "bim.toggle_link_visibility", - text="", - icon="HIDE_ON" if item.is_hidden else "HIDE_OFF", - emboss=False, - ) - op.link = item.name - op.mode = "VISIBLE" - op = row.operator("bim.select_link_handle", text="", icon="OBJECT_DATA") - op.index = index - op = row.operator("bim.unload_link", text="", icon="UNLINKED") - op.filepath = item.name - op = row.operator("bim.reload_link", text="", icon="FILE_REFRESH") - op.filepath = item.name - else: - row.prop(item, "name", text="") - op = row.operator("bim.select_uri_attribute", text="", icon="FILE_FOLDER") - op.attribute_data_path = tool.Blender.get_full_data_path(item, "name") - op = row.operator("bim.load_link", text="", icon="LINKED") - op.filepath = item.name - op = row.operator("bim.unlink_ifc", text="", icon="X") - op.filepath = item.name + row = layout.row(align=True) + if item.is_loaded: + if item.georeferenced == "NONE": + row.label(text="", icon="QUESTION") + elif item.georeferenced == "NOT_COMPATIBLE": + row.label(text="", icon="ERROR") + elif item.georeferenced == "FULL_COMPATIBLE": + row.label(text="", icon="WORLD") + if item.has_transformation: + row.label(text="", icon="OBJECT_ORIGIN") + + row.label(text=item.filepath) + icon = "RESTRICT_SELECT_OFF" if item.is_selectable else "RESTRICT_SELECT_ON" + row.operator("bim.toggle_link_selectability", text="", icon=icon, emboss=False).link_index = index + icon = "CUBE" if item.is_wireframe else "MESH_CUBE" + op = row.operator("bim.toggle_link_visibility", text="", icon=icon, emboss=False) + op.link_index = index + op.mode = "WIREFRAME" + icon = "HIDE_ON" if item.is_hidden else "HIDE_OFF" + op = row.operator("bim.toggle_link_visibility", text="", icon=icon, emboss=False) + op.link_index = index + op.mode = "VISIBLE" + else: + row.label(text=item.filepath) class BIM_PT_purge(Panel): diff --git a/src/bonsai/bonsai/bim/module/project/workspace.py b/src/bonsai/bonsai/bim/module/project/workspace.py index 59b86e431d..a72981c625 100644 --- a/src/bonsai/bonsai/bim/module/project/workspace.py +++ b/src/bonsai/bonsai/bim/module/project/workspace.py @@ -17,9 +17,11 @@ # along with Bonsai. If not, see . import os + import bpy -import bonsai.tool as tool from bpy.types import WorkSpaceTool + +import bonsai.tool as tool from bonsai.bim.module.project.data import LinksData diff --git a/src/bonsai/bonsai/bim/module/pset/__init__.py b/src/bonsai/bonsai/bim/module/pset/__init__.py index 7e0d72061b..5284e88f36 100644 --- a/src/bonsai/bonsai/bim/module/pset/__init__.py +++ b/src/bonsai/bonsai/bim/module/pset/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddProposedProp, diff --git a/src/bonsai/bonsai/bim/module/pset/data.py b/src/bonsai/bonsai/bim/module/pset/data.py index 12b38efc98..969f54f387 100644 --- a/src/bonsai/bonsai/bim/module/pset/data.py +++ b/src/bonsai/bonsai/bim/module/pset/data.py @@ -23,9 +23,9 @@ import ifcopenshell import ifcopenshell.util.attribute import ifcopenshell.util.doc import ifcopenshell.util.element -import bonsai.tool as tool -import bonsai.bim.schema +import bonsai.bim.schema +import bonsai.tool as tool # TODO: Should this cache belong here? Dunno. Maybe. is_expanded: dict[int, bool] = {} diff --git a/src/bonsai/bonsai/bim/module/pset/operator.py b/src/bonsai/bonsai/bim/module/pset/operator.py index cbd7a7fe77..3257760531 100644 --- a/src/bonsai/bonsai/bim/module/pset/operator.py +++ b/src/bonsai/bonsai/bim/module/pset/operator.py @@ -16,21 +16,23 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import json -import ifcopenshell.api -import ifcopenshell.api.pset -import ifcopenshell.util.element -import bonsai.bim.schema -import bonsai.tool as tool -import bonsai.core.pset as core -import bonsai.bim.module.pset.data -from bonsai.bim.ifc import IfcStore from collections import defaultdict from typing import TYPE_CHECKING +import bpy +import ifcopenshell.api +import ifcopenshell.api.pset +import ifcopenshell.util.element + +import bonsai.bim.module.pset.data +import bonsai.bim.schema +import bonsai.core.pset as core +import bonsai.tool as tool +from bonsai.bim.ifc import IfcStore + if TYPE_CHECKING: - from bonsai.bim.module.pset.prop import RenamePropertyEntry, AddEditPropertyEntry + from bonsai.bim.module.pset.prop import AddEditPropertyEntry, RenamePropertyEntry class TogglePsetExpansion(bpy.types.Operator, tool.Ifc.Operator): @@ -569,7 +571,7 @@ class SavePsetAsTemplate(bpy.types.Operator, tool.PsetTemplate.PsetTemplateOpera template_file = IfcStore.pset_template_file assert template_file - tool.PsetTemplate.add_pset_as_template(pset, template_file) + tool.PsetTemplate.add_pset_as_template(pset.Name, template_file) template_file.write(IfcStore.pset_template_path) bonsai.bim.handler.refresh_ui_data() diff --git a/src/bonsai/bonsai/bim/module/pset/prop.py b/src/bonsai/bonsai/bim/module/pset/prop.py index d89ba62be1..4b16e15010 100644 --- a/src/bonsai/bonsai/bim/module/pset/prop.py +++ b/src/bonsai/bonsai/bim/module/pset/prop.py @@ -16,33 +16,35 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Literal, Union, get_args + import bpy -import bonsai.bim.schema import ifcopenshell import ifcopenshell.util.attribute import ifcopenshell.util.doc import ifcopenshell.util.element -import bonsai.tool as tool -from bonsai.bim.prop import Attribute, StrProperty -from bonsai.bim.module.pset.data import ( - AddEditCustomPropertiesData, - ObjectPsetsData, - MaterialPsetsData, - PsetsGeneralData, -) -from bonsai.bim.module.material.data import ObjectMaterialData -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import Union, Literal, TYPE_CHECKING, get_args, Literal +from bpy.types import PropertyGroup + +import bonsai.bim.schema +import bonsai.tool as tool +from bonsai.bim.module.material.data import ObjectMaterialData +from bonsai.bim.module.pset.data import ( + AddEditCustomPropertiesData, + MaterialPsetsData, + ObjectPsetsData, + PsetsGeneralData, +) +from bonsai.bim.prop import Attribute, StrProperty psetnames = {} qtonames = {} diff --git a/src/bonsai/bonsai/bim/module/pset/ui.py b/src/bonsai/bonsai/bim/module/pset/ui.py index abd3a8b90f..03d6f8bb36 100644 --- a/src/bonsai/bonsai/bim/module/pset/ui.py +++ b/src/bonsai/bonsai/bim/module/pset/ui.py @@ -17,26 +17,29 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING, Any, Literal, Optional, assert_never + import bpy -import bonsai.tool as tool from bpy.types import Panel -from bonsai.bim.helper import prop_with_search, get_display_value, draw_attribute + +import bonsai.tool as tool +from bonsai.bim.helper import draw_attribute, get_display_value, prop_with_search +from bonsai.bim.module.material.data import ObjectMaterialData from bonsai.bim.module.pset.data import ( - ObjectPsetsData, - ObjectQtosData, + GroupPsetData, + GroupQtosData, MaterialPsetsData, MaterialSetItemPsetsData, - TaskQtosData, - ResourceQtosData, - ResourcePsetsData, - GroupQtosData, - GroupPsetData, + ObjectPsetsData, + ObjectQtosData, ProfilePsetsData, + ResourcePsetsData, + ResourceQtosData, + TaskQtosData, WorkSchedulePsetsData, ZonePsetsData, ) -from bonsai.bim.module.material.data import ObjectMaterialData -from typing import Any, Optional, TYPE_CHECKING, assert_never, Literal if TYPE_CHECKING: from bonsai.bim.module.pset.prop import IfcProperty, PsetProperties diff --git a/src/bonsai/bonsai/bim/module/pset_template/__init__.py b/src/bonsai/bonsai/bim/module/pset_template/__init__.py index 204824cb11..dc67e900fb 100644 --- a/src/bonsai/bonsai/bim/module/pset_template/__init__.py +++ b/src/bonsai/bonsai/bim/module/pset_template/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddPropEnum, diff --git a/src/bonsai/bonsai/bim/module/pset_template/data.py b/src/bonsai/bonsai/bim/module/pset_template/data.py index 84d65f25f1..1725b974f1 100644 --- a/src/bonsai/bonsai/bim/module/pset_template/data.py +++ b/src/bonsai/bonsai/bim/module/pset_template/data.py @@ -17,14 +17,16 @@ # along with Bonsai. If not, see . import os -import bpy import pathlib +from typing import Any + +import bpy import ifcopenshell import ifcopenshell.util.attribute import ifcopenshell.util.doc + import bonsai.tool as tool from bonsai.bim.ifc import IfcStore -from typing import Any def refresh(): diff --git a/src/bonsai/bonsai/bim/module/pset_template/operator.py b/src/bonsai/bonsai/bim/module/pset_template/operator.py index 0711376439..e956917df3 100644 --- a/src/bonsai/bonsai/bim/module/pset_template/operator.py +++ b/src/bonsai/bonsai/bim/module/pset_template/operator.py @@ -17,12 +17,14 @@ # along with Bonsai. If not, see . import os + import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.pset_template -import bonsai.bim.schema + import bonsai.bim.handler +import bonsai.bim.schema import bonsai.tool as tool from bonsai.bim.ifc import IfcStore diff --git a/src/bonsai/bonsai/bim/module/pset_template/prop.py b/src/bonsai/bonsai/bim/module/pset_template/prop.py index fdd6188a76..9ec31b364f 100644 --- a/src/bonsai/bonsai/bim/module/pset_template/prop.py +++ b/src/bonsai/bonsai/bim/module/pset_template/prop.py @@ -17,26 +17,28 @@ # along with Bonsai. If not, see . import os +from typing import TYPE_CHECKING + import bpy import ifcopenshell import ifcopenshell.util.attribute -from ifcopenshell.util.doc import get_attribute_doc -import bonsai.tool as tool -from bonsai.bim.module.pset_template.data import PsetTemplatesData -from bonsai.bim.prop import StrProperty, Attribute -from bonsai.bim.ifc import IfcStore -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING +from bpy.types import PropertyGroup +from ifcopenshell.util.doc import get_attribute_doc + +import bonsai.tool as tool +from bonsai.bim.ifc import IfcStore +from bonsai.bim.module.pset_template.data import PsetTemplatesData +from bonsai.bim.prop import Attribute, StrProperty def updatePsetTemplateFiles(self, context): diff --git a/src/bonsai/bonsai/bim/module/pset_template/ui.py b/src/bonsai/bonsai/bim/module/pset_template/ui.py index af46fdc0e7..6576e8f56c 100644 --- a/src/bonsai/bonsai/bim/module/pset_template/ui.py +++ b/src/bonsai/bonsai/bim/module/pset_template/ui.py @@ -17,8 +17,9 @@ # along with Bonsai. If not, see . import bpy -import bonsai.tool as tool from bpy.types import Panel + +import bonsai.tool as tool from bonsai.bim.helper import prop_with_search from bonsai.bim.module.pset_template.data import PsetTemplatesData diff --git a/src/bonsai/bonsai/bim/module/qto/__init__.py b/src/bonsai/bonsai/bim/module/qto/__init__.py index f372462f73..f4d5becb73 100644 --- a/src/bonsai/bonsai/bim/module/qto/__init__.py +++ b/src/bonsai/bonsai/bim/module/qto/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.CalculateCircleRadius, diff --git a/src/bonsai/bonsai/bim/module/qto/calculator.py b/src/bonsai/bonsai/bim/module/qto/calculator.py index 091d7e1f9f..c0e5aa474f 100644 --- a/src/bonsai/bonsai/bim/module/qto/calculator.py +++ b/src/bonsai/bonsai/bim/module/qto/calculator.py @@ -16,21 +16,22 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import math +from typing import Literal, Optional, Union, assert_never + import bmesh -import mathutils -import bonsai.tool as tool +import bpy +import ifc5d.qto import ifcopenshell import ifcopenshell.geom import ifcopenshell.util.element -import ifc5d.qto -from mathutils import Vector, Matrix +import mathutils +from mathutils import Matrix, Vector from mathutils.bvhtree import BVHTree from shapely.geometry import Polygon from shapely.ops import unary_union -from typing import Literal, Union, Optional, assert_never +import bonsai.tool as tool AxisType = Literal["x", "y", "z"] VectorTuple = tuple[float, float, float] diff --git a/src/bonsai/bonsai/bim/module/qto/data.py b/src/bonsai/bonsai/bim/module/qto/data.py index ef780d749f..162a4bf7c6 100644 --- a/src/bonsai/bonsai/bim/module/qto/data.py +++ b/src/bonsai/bonsai/bim/module/qto/data.py @@ -17,6 +17,7 @@ # along with Bonsai. If not, see . import bpy + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/bim/module/qto/helper.py b/src/bonsai/bonsai/bim/module/qto/helper.py index 50253cbb63..d4f94c491f 100644 --- a/src/bonsai/bonsai/bim/module/qto/helper.py +++ b/src/bonsai/bonsai/bim/module/qto/helper.py @@ -16,11 +16,13 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -import bmesh -import bonsai.tool as tool from collections.abc import Callable +import bmesh +import bpy + +import bonsai.tool as tool + def calculate_height(obj: bpy.types.Object) -> float: return obj.dimensions[2] diff --git a/src/bonsai/bonsai/bim/module/qto/operator.py b/src/bonsai/bonsai/bim/module/qto/operator.py index 47b0f5059a..572c65e258 100644 --- a/src/bonsai/bonsai/bim/module/qto/operator.py +++ b/src/bonsai/bonsai/bim/module/qto/operator.py @@ -19,11 +19,12 @@ import bpy import ifcopenshell import ifcopenshell.api -import bonsai.tool as tool -import bonsai.core.qto as core -from bonsai.bim.module.qto import helper from ifcopenshell.util.profiler import Profiler +import bonsai.core.qto as core +import bonsai.tool as tool +from bonsai.bim.module.qto import helper + class CalculateCircleRadius(bpy.types.Operator): bl_idname = "bim.calculate_circle_radius" diff --git a/src/bonsai/bonsai/bim/module/qto/prop.py b/src/bonsai/bonsai/bim/module/qto/prop.py index 57e04d4cc1..9952285d30 100644 --- a/src/bonsai/bonsai/bim/module/qto/prop.py +++ b/src/bonsai/bonsai/bim/module/qto/prop.py @@ -16,23 +16,24 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -import bonsai.tool as tool -import ifc5d.qto -from bonsai.bim.prop import StrProperty, Attribute -from bpy.types import PropertyGroup -from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, - BoolProperty, - IntProperty, - FloatProperty, - FloatVectorProperty, - CollectionProperty, -) from typing import TYPE_CHECKING, Union +import bpy +import ifc5d.qto +from bpy.props import ( + BoolProperty, + CollectionProperty, + EnumProperty, + FloatProperty, + FloatVectorProperty, + IntProperty, + PointerProperty, + StringProperty, +) +from bpy.types import PropertyGroup + +import bonsai.tool as tool +from bonsai.bim.prop import Attribute, StrProperty CALCULATOR_FUNCTION_ENUM_ITEMS: list[Union[tuple[str, str, str], None]] = [] diff --git a/src/bonsai/bonsai/bim/module/qto/ui.py b/src/bonsai/bonsai/bim/module/qto/ui.py index 9029a63066..032df25b20 100644 --- a/src/bonsai/bonsai/bim/module/qto/ui.py +++ b/src/bonsai/bonsai/bim/module/qto/ui.py @@ -17,6 +17,7 @@ # along with Bonsai. If not, see . import bpy + import bonsai.tool as tool from bonsai.bim.module.qto.data import QtoData diff --git a/src/bonsai/bonsai/bim/module/resource/__init__.py b/src/bonsai/bonsai/bim/module/resource/__init__.py index ae08660afd..89f21f4e29 100644 --- a/src/bonsai/bonsai/bim/module/resource/__init__.py +++ b/src/bonsai/bonsai/bim/module/resource/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddResource, diff --git a/src/bonsai/bonsai/bim/module/resource/data.py b/src/bonsai/bonsai/bim/module/resource/data.py index 601b61eb7b..cc862cf1dd 100644 --- a/src/bonsai/bonsai/bim/module/resource/data.py +++ b/src/bonsai/bonsai/bim/module/resource/data.py @@ -16,14 +16,16 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import Any + import bpy -import bonsai.tool as tool import ifcopenshell import ifcopenshell.util.constraint import ifcopenshell.util.cost import ifcopenshell.util.date import ifcopenshell.util.resource -from typing import Any + +import bonsai.tool as tool def refresh(): diff --git a/src/bonsai/bonsai/bim/module/resource/operator.py b/src/bonsai/bonsai/bim/module/resource/operator.py index 4d9a28c061..a82cc22918 100644 --- a/src/bonsai/bonsai/bim/module/resource/operator.py +++ b/src/bonsai/bonsai/bim/module/resource/operator.py @@ -18,10 +18,11 @@ import bpy import ifcopenshell.api.pset -from bpy_extras.io_utils import ImportHelper, ExportHelper -from bonsai.bim.module.resource.ui import draw_productivity_ui +from bpy_extras.io_utils import ExportHelper, ImportHelper + import bonsai.core.resource as core import bonsai.tool as tool +from bonsai.bim.module.resource.ui import draw_productivity_ui class LoadResources(bpy.types.Operator): diff --git a/src/bonsai/bonsai/bim/module/resource/prop.py b/src/bonsai/bonsai/bim/module/resource/prop.py index 350417aa69..4c6828e56c 100644 --- a/src/bonsai/bonsai/bim/module/resource/prop.py +++ b/src/bonsai/bonsai/bim/module/resource/prop.py @@ -16,27 +16,29 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Literal, get_args + import bpy import ifcopenshell.api import ifcopenshell.api.resource import ifcopenshell.util.resource -import bonsai.tool as tool +from bpy.props import ( + BoolProperty, + CollectionProperty, + EnumProperty, + FloatProperty, + FloatVectorProperty, + IntProperty, + PointerProperty, + StringProperty, +) +from bpy.types import PropertyGroup + import bonsai.bim.module.pset.data import bonsai.bim.module.resource.data import bonsai.bim.module.sequence.data +import bonsai.tool as tool from bonsai.bim.prop import Attribute, ISODuration -from bpy.types import PropertyGroup -from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, - BoolProperty, - IntProperty, - FloatProperty, - FloatVectorProperty, - CollectionProperty, -) -from typing import TYPE_CHECKING, Literal, get_args quantitytypes_enum: dict[str, tool.Blender.BLENDER_ENUM_ITEMS] = {} diff --git a/src/bonsai/bonsai/bim/module/resource/ui.py b/src/bonsai/bonsai/bim/module/resource/ui.py index b061600978..679eed8782 100644 --- a/src/bonsai/bonsai/bim/module/resource/ui.py +++ b/src/bonsai/bonsai/bim/module/resource/ui.py @@ -17,16 +17,19 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING, Any + import bpy -import bonsai.tool as tool -import bonsai.bim.helper from bpy.types import Panel, UIList + +import bonsai.bim.helper +import bonsai.tool as tool from bonsai.bim.module.resource.data import ResourceData -from typing import Any, TYPE_CHECKING if TYPE_CHECKING: + from bonsai.bim.module.resource.prop import BIMResourceTreeProperties, Resource from bonsai.bim.prop import ISODuration - from bonsai.bim.module.resource.prop import Resource, BIMResourceTreeProperties class BIM_PT_resources(Panel): diff --git a/src/bonsai/bonsai/bim/module/root/__init__.py b/src/bonsai/bonsai/bim/module/root/__init__.py index 3e6f280eb2..7192dcdff4 100644 --- a/src/bonsai/bonsai/bim/module/root/__init__.py +++ b/src/bonsai/bonsai/bim/module/root/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddElement, diff --git a/src/bonsai/bonsai/bim/module/root/data.py b/src/bonsai/bonsai/bim/module/root/data.py index 7690210c9b..7adf7b5fb9 100644 --- a/src/bonsai/bonsai/bim/module/root/data.py +++ b/src/bonsai/bonsai/bim/module/root/data.py @@ -17,13 +17,19 @@ # along with Bonsai. If not, see . from collections import defaultdict +from typing import Union + import bpy import ifcopenshell.util.attribute import ifcopenshell.util.element import ifcopenshell.util.schema -from ifcopenshell.util.doc import get_entity_doc, get_predefined_type_doc, get_class_suggestions +from ifcopenshell.util.doc import ( + get_class_suggestions, + get_entity_doc, + get_predefined_type_doc, +) + import bonsai.tool as tool -from typing import Union def refresh(): @@ -128,23 +134,55 @@ class IfcClassData: return [("FACE", "Face", "A planar face surface")] templates = [ ("EMPTY", "No Geometry", "Start with an empty object"), - None, - ( - "OBJ", - "Tessellation From Object", - "Use an object as a template to create a new tessellation", - ), - ( - "MESH", - "Custom Tessellation", - "Create a basic tessellated or faceted cube", - ), - ( - "EXTRUSION", - "Custom Extruded Solid", - "An extrusion from an arbitrary profile", - ), ] + + if ifc_class in ("IfcWindowType", "IfcWindowStyle", "IfcWindow"): + templates.extend([None, ("WINDOW", "Window", "Parametric window")]) + elif ifc_class in ("IfcDoorType", "IfcDoorStyle", "IfcDoor"): + templates.extend([None, ("DOOR", "Door", "Parametric door")]) + elif ifc_class in ("IfcStairType", "IfcStairFlightType", "IfcStair", "IfcStairFlight"): + templates.extend([None, ("STAIR", "Stair", "Parametric stair")]) + elif ifc_class in ("IfcRailingType", "IfcRailing"): + templates.extend([None, ("RAILING", "Railing", "Parametric railing")]) + elif ifc_class in ("IfcRoofType", "IfcRoof", "IfcSlabType", "IfcSlab", "IfcCovering", "IfcCoveringType"): + templates.extend([None, ("ROOF", "Roof", "Parametric roof with a constant pitch")]) + elif ifc_class and "Segment" in ifc_class: + templates.extend( + ( + None, + ( + "FLOW_SEGMENT_RECTANGULAR", + "Rectangular Distribution Segment", + "Works similarly to Profile, has distribution ports", + ), + ( + "FLOW_SEGMENT_RECTANGULAR_HOLLOW", + "Rectangular Hollow Distribution Segment", + "Works similarly to Profile, has distribution ports", + ), + ( + "FLOW_SEGMENT_CIRCULAR", + "Circular Distribution Segment", + "Works similarly to Profile, has distribution ports", + ), + ( + "FLOW_SEGMENT_CIRCULAR_HOLLOW", + "Circular Hollow Distribution Segment", + "Works similarly to Profile, has distribution ports", + ), + ) + ) + if ifc_class and "IfcCableCarrierSegment" in ifc_class: + templates.extend( + ( + ( + "FLOW_SEGMENT_U_SHAPE", + "U-Shape Distribution Segment", + "Uses IfcUShapeProfileDef, has distribution ports", + ), + ) + ) + if ifc_class.endswith("Type") or ifc_class.endswith("Style"): templates.extend( [ @@ -166,38 +204,26 @@ class IfcClassData: ), ] ) - if ifc_class in ("IfcWindowType", "IfcWindowStyle", "IfcWindow"): - templates.extend([None, ("WINDOW", "Window", "Parametric window")]) - elif ifc_class in ("IfcDoorType", "IfcDoorStyle", "IfcDoor"): - templates.extend([None, ("DOOR", "Door", "Parametric door")]) - elif ifc_class in ("IfcStairType", "IfcStairFlightType", "IfcStair", "IfcStairFlight"): - templates.extend([None, ("STAIR", "Stair", "Parametric stair")]) - elif ifc_class in ("IfcRailingType", "IfcRailing"): - templates.extend([None, ("RAILING", "Railing", "Parametric railing")]) - elif ifc_class in ("IfcRoofType", "IfcRoof", "IfcSlabType", "IfcSlab", "IfcCovering", "IfcCoveringType"): - templates.extend([None, ("ROOF", "Roof", "Parametric roof with a constant pitch")]) - elif ifc_class and "Segment" in ifc_class: - templates.extend( + templates.extend( + [ + None, ( - None, - ( - "FLOW_SEGMENT_RECTANGULAR", - "Rectangular Distribution Segment", - "Works similarly to Profile, has distribution ports", - ), - ( - "FLOW_SEGMENT_CIRCULAR", - "Circular Distribution Segment", - "Works similarly to Profile, has distribution ports", - ), - ( - "FLOW_SEGMENT_CIRCULAR_HOLLOW", - "Circular Hollow Distribution Segment", - "Works similarly to Profile, has distribution ports", - ), - ) - ) - + "OBJ", + "Tessellation From Object", + "Use an object as a template to create a new tessellation", + ), + ( + "MESH", + "Custom Tessellation", + "Create a basic tessellated or faceted cube", + ), + ( + "EXTRUSION", + "Custom Extruded Solid", + "An extrusion from an arbitrary profile", + ), + ] + ) return templates @classmethod diff --git a/src/bonsai/bonsai/bim/module/root/operator.py b/src/bonsai/bonsai/bim/module/root/operator.py index a5bf766ae2..ac766172bd 100644 --- a/src/bonsai/bonsai/bim/module/root/operator.py +++ b/src/bonsai/bonsai/bim/module/root/operator.py @@ -16,8 +16,10 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy +from typing import TYPE_CHECKING + import bmesh +import bpy import idprop import ifcopenshell import ifcopenshell.api @@ -25,20 +27,20 @@ import ifcopenshell.api.geometry import ifcopenshell.api.material import ifcopenshell.api.pset import ifcopenshell.api.root -import ifcopenshell.util.schema import ifcopenshell.util.element +import ifcopenshell.util.schema import ifcopenshell.util.shape_builder import ifcopenshell.util.type import ifcopenshell.util.unit -import bonsai.bim.handler -import bonsai.core.root as core -import bonsai.core.geometry -import bonsai.tool as tool -import bonsai.bim.module.root.prop as root_prop -from bonsai.bim.ifc import IfcStore -from bonsai.bim.helper import get_enum_items, prop_with_search from mathutils import Vector -from typing import TYPE_CHECKING + +import bonsai.bim.handler +import bonsai.bim.module.root.prop as root_prop +import bonsai.core.geometry +import bonsai.core.root as core +import bonsai.tool as tool +from bonsai.bim.helper import get_enum_items, prop_with_search +from bonsai.bim.ifc import IfcStore class EnableReassignClass(bpy.types.Operator): @@ -307,7 +309,7 @@ class AssignClass(bpy.types.Operator, tool.Ifc.Operator): with context.temp_override(selected_editable_objects=[obj]): bpy.ops.object.transform_apply(location=False, rotation=False, scale=True, properties=False) # object.transform_apply is losing normals. - if is_negative: + if is_negative and bpy.app.version >= (5, 1, 0): for polygon in obj.data.polygons: polygon.flip() @@ -695,6 +697,26 @@ class AddElement(bpy.types.Operator, tool.Ifc.Operator): XDim=default_x_dim / unit_scale, YDim=default_y_dim / unit_scale, ) + elif representation_template == "FLOW_SEGMENT_RECTANGULAR_HOLLOW": + default_x_dim = 0.4 + default_y_dim = 0.2 + default_thickness = 0.005 + default_inner_fillet_radius = 0.005 + default_outer_fillet_radius = 0.005 + profile_name = ( + f"{props.ifc_class}-{default_x_dim*1000}x{default_y_dim*1000}x{default_thickness*1000}" + ) + profile = tool.Ifc.get().create_entity( + "IfcRectangleHollowProfileDef", + ProfileName=profile_name, + ProfileType="AREA", + XDim=default_x_dim / unit_scale, + YDim=default_y_dim / unit_scale, + WallThickness=default_thickness / unit_scale, + InnerFilletRadius=default_inner_fillet_radius / unit_scale, + OuterFilletRadius=default_outer_fillet_radius / unit_scale, + ) + elif representation_template == "FLOW_SEGMENT_CIRCULAR": default_diameter = 0.1 profile_name = f"{props.ifc_class}-{default_diameter*1000}" @@ -715,6 +737,21 @@ class AddElement(bpy.types.Operator, tool.Ifc.Operator): Radius=(default_diameter / 2) / unit_scale, WallThickness=default_thickness, ) + elif representation_template == "FLOW_SEGMENT_U_SHAPE": + default_depth = 0.4 + default_flange_width = 0.2 + default_web_thickness = 0.005 + default_flange_thickness = 0.005 + profile_name = f"{props.ifc_class}-{default_depth*1000}x{default_flange_width*1000}x{default_web_thickness*1000}x{default_flange_thickness*1000}" + profile = tool.Ifc.get().create_entity( + "IfcUShapeProfileDef", + ProfileName=profile_name, + ProfileType="AREA", + Depth=default_depth / unit_scale, + FlangeWidth=default_flange_width / unit_scale, + WebThickness=default_web_thickness / unit_scale, + FlangeThickness=default_flange_thickness / unit_scale, + ) rel = ifcopenshell.api.material.assign_material( tool.Ifc.get(), products=[element], type="IfcMaterialProfileSet" diff --git a/src/bonsai/bonsai/bim/module/root/prop.py b/src/bonsai/bonsai/bim/module/root/prop.py index 9bd00c4c68..854eb6d0f0 100644 --- a/src/bonsai/bonsai/bim/module/root/prop.py +++ b/src/bonsai/bonsai/bim/module/root/prop.py @@ -16,25 +16,27 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Union + import bpy import ifcopenshell import ifcopenshell.util.element import ifcopenshell.util.schema import ifcopenshell.util.type -import bonsai.tool as tool -from bonsai.bim.module.root.data import IfcClassData -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING, Union +from bpy.types import PropertyGroup + +import bonsai.tool as tool +from bonsai.bim.module.root.data import IfcClassData def get_ifc_predefined_types(self: "BIMRootProperties", context: bpy.types.Context) -> list[tuple[str, str]]: diff --git a/src/bonsai/bonsai/bim/module/root/ui.py b/src/bonsai/bonsai/bim/module/root/ui.py index facf619ad8..72eadb4e39 100644 --- a/src/bonsai/bonsai/bim/module/root/ui.py +++ b/src/bonsai/bonsai/bim/module/root/ui.py @@ -17,12 +17,13 @@ # along with Bonsai. If not, see . import bpy -import bonsai.tool as tool -import bonsai.bim.module.root.prop as root_prop from bpy.types import Panel + +import bonsai.bim.module.root.prop as root_prop +import bonsai.tool as tool from bonsai.bim.helper import prop_with_search -from bonsai.bim.module.root.data import IfcClassData from bonsai.bim.module.model.data import AuthoringData +from bonsai.bim.module.root.data import IfcClassData class BIM_PT_class(Panel): diff --git a/src/bonsai/bonsai/bim/module/search/__init__.py b/src/bonsai/bonsai/bim/module/search/__init__.py index 88cb2f6ed4..5033fd3eb4 100644 --- a/src/bonsai/bonsai/bim/module/search/__init__.py +++ b/src/bonsai/bonsai/bim/module/search/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.ActivateContainerFilter, diff --git a/src/bonsai/bonsai/bim/module/search/data.py b/src/bonsai/bonsai/bim/module/search/data.py index 4bde0aa359..8c2fad00b0 100644 --- a/src/bonsai/bonsai/bim/module/search/data.py +++ b/src/bonsai/bonsai/bim/module/search/data.py @@ -16,12 +16,14 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import json + +import bpy import ifcopenshell.util.element -import bonsai.tool as tool from natsort import natsorted +import bonsai.tool as tool + def refresh(): SearchData.is_loaded = False diff --git a/src/bonsai/bonsai/bim/module/search/operator.py b/src/bonsai/bonsai/bim/module/search/operator.py index a8c79c11bb..83f401a122 100644 --- a/src/bonsai/bonsai/bim/module/search/operator.py +++ b/src/bonsai/bonsai/bim/module/search/operator.py @@ -16,35 +16,41 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -import json import bisect +import json import traceback +from typing import TYPE_CHECKING, Literal, assert_never, get_args + +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.group import ifcopenshell.util.element import ifcopenshell.util.selector -import bonsai.tool as tool -import bonsai.core.search as core -from bonsai.bim.ifc import IfcStore -from natsort import natsorted -from bpy.types import PropertyGroup, Operator from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) +from bpy.types import Operator, PropertyGroup +from natsort import natsorted + +import bonsai.core.search as core +import bonsai.tool as tool +from bonsai.bim.ifc import IfcStore from bonsai.bim.prop import StrProperty -from typing import TYPE_CHECKING, Literal, get_args, assert_never + +if TYPE_CHECKING: + from bonsai.bim.prop import BIMFacet -def draw_text_editor_header(self, context): +def draw_text_editor_header(self: bpy.types.TEXT_HT_header, context: bpy.types.Context) -> None: + assert isinstance(context.space_data, bpy.types.SpaceTextEditor) if context.space_data.text and context.space_data.text.name.startswith("FilterQuery_"): layout = self.layout layout.separator() @@ -158,6 +164,7 @@ class FilterValueSuggestions(Operator): def draw(self, context): layout = self.layout + assert layout filter_groups = tool.Search.get_filter_groups(self.module) ifc_filter = filter_groups[self.group_index].filters[self.filter_index] @@ -200,8 +207,8 @@ class FilterValueSuggestions(Operator): results_are_suggestions=True, ) - def get_suggestions(self, ifc_file, ifc_filter): - suggestions = set() + def get_suggestions(self, ifc_file: ifcopenshell.file, ifc_filter: "BIMFacet") -> set[str]: + suggestions: set[str] = set() if ifc_filter.type == "entity": suggestions = self.get_entity_suggestions(ifc_file) @@ -234,8 +241,8 @@ class FilterValueSuggestions(Operator): return suggestions - def build_hierarchy_path(self, element): - path = [] + def build_hierarchy_path(self, element: ifcopenshell.entity_instance) -> list[str]: + path: list[str] = [] current = element while current: @@ -260,8 +267,8 @@ class FilterValueSuggestions(Operator): return path - def get_entity_suggestions(self, ifc_file): - all_classes = set() + def get_entity_suggestions(self, ifc_file: ifcopenshell.file) -> set[str]: + all_classes: set[str] = set() schema = tool.Ifc.schema() for element_id in IfcStore.id_map.keys(): @@ -271,11 +278,13 @@ class FilterValueSuggestions(Operator): try: entity = schema.declaration_by_name(class_name).as_entity() + assert entity current = entity chain_names = [class_name] while current.supertype(): supertype = current.supertype() + assert supertype chain_names.insert(0, supertype.name()) current = supertype @@ -293,8 +302,8 @@ class FilterValueSuggestions(Operator): return all_classes - def get_type_suggestions(self, ifc_file): - suggestions = set() + def get_type_suggestions(self, ifc_file: ifcopenshell.file) -> set[str]: + suggestions: set[str] = set() for element_type in ifc_file.by_type("IfcTypeObject"): if element_type.Name: hierarchy_path = self.build_hierarchy_path(element_type) @@ -304,15 +313,15 @@ class FilterValueSuggestions(Operator): suggestions.add(element_type.Name) return suggestions - def get_material_suggestions(self, ifc_file): + def get_material_suggestions(self, ifc_file: ifcopenshell.file) -> set[str]: suggestions = set() for material in ifc_file.by_type("IfcMaterial"): if material.Name: suggestions.add(material.Name) return suggestions - def get_location_suggestions(self, ifc_file): - suggestions = set() + def get_location_suggestions(self, ifc_file: ifcopenshell.file) -> set[str]: + suggestions: set[str] = set() for spatial in ifc_file.by_type("IfcSpatialStructureElement"): if spatial.Name: hierarchy_path = self.build_hierarchy_path(spatial) @@ -322,8 +331,8 @@ class FilterValueSuggestions(Operator): suggestions.add(spatial.Name) return suggestions - def get_group_suggestions(self, ifc_file): - suggestions = set() + def get_group_suggestions(self, ifc_file: ifcopenshell.file) -> set[str]: + suggestions: set[str] = set() for group in ifc_file.by_type("IfcGroup"): if group.Name: hierarchy_path = self.build_hierarchy_path(group) @@ -333,15 +342,15 @@ class FilterValueSuggestions(Operator): suggestions.add(group.Name) return suggestions - def get_classification_suggestions(self, ifc_file): - suggestions = set() + def get_classification_suggestions(self, ifc_file: ifcopenshell.file) -> set[str]: + suggestions: set[str] = set() for ref in ifc_file.by_type("IfcClassificationReference"): if ref.Identification: suggestions.add(ref.Identification) return suggestions - def get_parent_suggestions(self, ifc_file): - suggestions = set() + def get_parent_suggestions(self, ifc_file: ifcopenshell.file) -> set[str]: + suggestions: set[str] = set() for element_id in IfcStore.id_map.keys(): try: element = ifc_file.by_id(element_id) @@ -369,9 +378,9 @@ class FilterValueSuggestions(Operator): return suggestions - def get_instance_suggestions(self, ifc_file): - suggestions = set() - element_data = [] + def get_instance_suggestions(self, ifc_file: ifcopenshell.file) -> set[str]: + suggestions: set[str] = set() + element_data: list[tuple[str, str]] = [] for element_id in IfcStore.id_map.keys(): try: @@ -390,7 +399,7 @@ class FilterValueSuggestions(Operator): except: continue - display_counts = {} + display_counts: dict[str, int] = {} for display_str, global_id in element_data: display_counts[display_str] = display_counts.get(display_str, 0) + 1 @@ -402,8 +411,8 @@ class FilterValueSuggestions(Operator): return suggestions - def get_property_sets(self, ifc_file): - psets = set() + def get_property_sets(self, ifc_file: ifcopenshell.file) -> set[str]: + psets: set[str] = set() for element_id in IfcStore.id_map.keys(): try: element = ifc_file.by_id(element_id) @@ -416,8 +425,8 @@ class FilterValueSuggestions(Operator): continue return psets - def get_property_names(self, ifc_file, pset_name): - property_names = set() + def get_property_names(self, ifc_file: ifcopenshell.file, pset_name: str) -> set[str]: + property_names: set[str] = set() for element_id in IfcStore.id_map.keys(): try: element = ifc_file.by_id(element_id) @@ -433,8 +442,8 @@ class FilterValueSuggestions(Operator): continue return property_names - def get_property_values(self, ifc_file, pset_name, property_name): - property_values = set() + def get_property_values(self, ifc_file: ifcopenshell.file, pset_name: str, property_name: str) -> set[str]: + property_values: set[str] = set() for element_id in IfcStore.id_map.keys(): try: element = ifc_file.by_id(element_id) @@ -460,8 +469,8 @@ class FilterValueSuggestions(Operator): continue return property_values - def get_attribute_names(self, ifc_file): - attribute_names = set() + def get_attribute_names(self, ifc_file: ifcopenshell.file) -> set[str]: + attribute_names: set[str] = set() schema = tool.Ifc.schema() ifc_classes = set() @@ -475,6 +484,7 @@ class FilterValueSuggestions(Operator): for ifc_class in ifc_classes: try: entity = schema.declaration_by_name(ifc_class).as_entity() + assert entity attributes = entity.all_attributes() for attr in attributes: attribute_names.add(attr.name()) @@ -483,8 +493,8 @@ class FilterValueSuggestions(Operator): return attribute_names - def get_attribute_values(self, ifc_file, attribute_name): - attribute_values = set() + def get_attribute_values(self, ifc_file: ifcopenshell.file, attribute_name: str) -> set[str]: + attribute_values: set[str] = set() for element_id in IfcStore.id_map.keys(): try: @@ -778,11 +788,10 @@ class Search(Operator): ) objs = [obj for e in results if isinstance(obj := tool.Ifc.get_object(e), bpy.types.Object)] - for obj in objs: - tool.Blender.set_object_selection(obj) - if objs: - tool.Blender.set_active_object(objs[0]) - self.report({"INFO"}, f"{len(results)} Results.") + active_object = next(iter(objs), None) + selection = tool.Blender.validate_object_selection(context, active_object, objs) + tool.Blender.set_objects_selection(*selection, clear_previous_selection=False) + self.report({"INFO"}, f"{len(results)} Results, {len(selection.selected_objects)} Objects Selected") return {"FINISHED"} diff --git a/src/bonsai/bonsai/bim/module/search/prop.py b/src/bonsai/bonsai/bim/module/search/prop.py index 3cb8a12252..e3403b5abe 100644 --- a/src/bonsai/bonsai/bim/module/search/prop.py +++ b/src/bonsai/bonsai/bim/module/search/prop.py @@ -16,24 +16,31 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Literal, get_args + import bpy -import bonsai.tool as tool import ifcopenshell.util.schema -from bonsai.bim.prop import ObjProperty, BIMFilterGroup -from bonsai.bim.module.search.data import SearchData, ColourByPropertyData, SelectSimilarData -from bpy.types import PropertyGroup -from . import ui, prop, operator from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING, Literal, get_args +from bpy.types import PropertyGroup + +import bonsai.tool as tool +from bonsai.bim.module.search.data import ( + ColourByPropertyData, + SearchData, + SelectSimilarData, +) +from bonsai.bim.prop import BIMFilterGroup, ObjProperty + +from . import operator, prop, ui def get_element_key(self: "BIMSearchProperties", context: bpy.types.Context) -> list[tuple[str, str, str]]: diff --git a/src/bonsai/bonsai/bim/module/search/ui.py b/src/bonsai/bonsai/bim/module/search/ui.py index 3481e3709b..3b01fdcbbe 100644 --- a/src/bonsai/bonsai/bim/module/search/ui.py +++ b/src/bonsai/bonsai/bim/module/search/ui.py @@ -17,15 +17,26 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy -import bonsai.tool as tool -import bonsai.bim.helper -from bpy.types import Panel -from bonsai.bim.module.search.data import SearchData, ColourByPropertyData, SelectSimilarData + from typing import TYPE_CHECKING +import bpy +from bpy.types import Panel + +import bonsai.bim.helper +import bonsai.tool as tool +from bonsai.bim.module.search.data import ( + ColourByPropertyData, + SearchData, + SelectSimilarData, +) + if TYPE_CHECKING: - from bonsai.bim.module.search.prop import BIMSearchProperties, BIMColour, BIMFilterItem + from bonsai.bim.module.search.prop import ( + BIMColour, + BIMFilterItem, + BIMSearchProperties, + ) class BIM_PT_search(Panel): diff --git a/src/bonsai/bonsai/bim/module/sequence/__init__.py b/src/bonsai/bonsai/bim/module/sequence/__init__.py index 3262b64527..e15d4e80ee 100644 --- a/src/bonsai/bonsai/bim/module/sequence/__init__.py +++ b/src/bonsai/bonsai/bim/module/sequence/__init__.py @@ -19,7 +19,8 @@ # pyright: reportAttributeAccessIssue=false import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddAnimationCamera, diff --git a/src/bonsai/bonsai/bim/module/sequence/data.py b/src/bonsai/bonsai/bim/module/sequence/data.py index 94df71eacd..7ea6050ca3 100644 --- a/src/bonsai/bonsai/bim/module/sequence/data.py +++ b/src/bonsai/bonsai/bim/module/sequence/data.py @@ -16,14 +16,16 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +import json +from typing import Any + import bpy -import bonsai.tool as tool import ifcopenshell import ifcopenshell.util.attribute import ifcopenshell.util.date from ifcopenshell.util.doc import get_predefined_type_doc -import json -from typing import Any + +import bonsai.tool as tool def refresh(): diff --git a/src/bonsai/bonsai/bim/module/sequence/helper.py b/src/bonsai/bonsai/bim/module/sequence/helper.py index 43dcd1d59b..50d2367144 100644 --- a/src/bonsai/bonsai/bim/module/sequence/helper.py +++ b/src/bonsai/bonsai/bim/module/sequence/helper.py @@ -18,12 +18,13 @@ from __future__ import annotations -import isodate +from datetime import datetime, timedelta +from typing import Any, Union + import bpy -from dateutil import parser import ifcopenshell.util.date -from datetime import timedelta, datetime -from typing import Union, Any +import isodate +from dateutil import parser from bonsai.bim.prop import ISODuration diff --git a/src/bonsai/bonsai/bim/module/sequence/operator.py b/src/bonsai/bonsai/bim/module/sequence/operator.py index c07b9a0496..2b4c317cd8 100644 --- a/src/bonsai/bonsai/bim/module/sequence/operator.py +++ b/src/bonsai/bonsai/bim/module/sequence/operator.py @@ -18,23 +18,23 @@ # pyright: reportUnnecessaryTypeIgnoreComment=error +import calendar +import time import types - from collections import Counter +from datetime import datetime from functools import cache +from typing import TYPE_CHECKING, Union, assert_never, get_args import bpy -import time -import calendar import ifcopenshell.api.pset import ifcopenshell.util.element +from bpy_extras.io_utils import ExportHelper, ImportHelper +from dateutil import parser, relativedelta + import bonsai.bim.schema import bonsai.core.sequence as core import bonsai.tool as tool -from datetime import datetime -from dateutil import parser, relativedelta -from bpy_extras.io_utils import ImportHelper, ExportHelper -from typing import Union, get_args, TYPE_CHECKING, assert_never if TYPE_CHECKING: from bpy.stub_internal.rna_enums import OperatorReturnItems diff --git a/src/bonsai/bonsai/bim/module/sequence/prop.py b/src/bonsai/bonsai/bim/module/sequence/prop.py index 1c35910e6c..6a5937ac45 100644 --- a/src/bonsai/bonsai/bim/module/sequence/prop.py +++ b/src/bonsai/bonsai/bim/module/sequence/prop.py @@ -16,32 +16,35 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Literal, Union, get_args + import bpy -import isodate import ifcopenshell.api import ifcopenshell.api.sequence import ifcopenshell.util.attribute import ifcopenshell.util.date -import bonsai.tool as tool -import bonsai.core.sequence as core -from bonsai.bim.module.sequence.data import SequenceData, AnimationColorSchemeData, refresh as refresh_sequence_data -import bonsai.bim.module.resource.data -import bonsai.bim.module.pset.data -from mathutils import Color -from bonsai.bim.prop import Attribute, ISODuration -from dateutil import parser -from bpy.types import PropertyGroup +import isodate from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING, Literal, Union, get_args +from bpy.types import PropertyGroup +from dateutil import parser +from mathutils import Color + +import bonsai.bim.module.pset.data +import bonsai.bim.module.resource.data +import bonsai.core.sequence as core +import bonsai.tool as tool +from bonsai.bim.module.sequence.data import AnimationColorSchemeData, SequenceData +from bonsai.bim.module.sequence.data import refresh as refresh_sequence_data +from bonsai.bim.prop import Attribute, ISODuration def getTaskColumns(self, context): diff --git a/src/bonsai/bonsai/bim/module/sequence/ui.py b/src/bonsai/bonsai/bim/module/sequence/ui.py index 9178268c3a..0ecd772276 100644 --- a/src/bonsai/bonsai/bim/module/sequence/ui.py +++ b/src/bonsai/bonsai/bim/module/sequence/ui.py @@ -16,26 +16,32 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Any, Optional + import bpy import ifcopenshell import isodate -import bonsai.tool as tool -import bonsai.bim.helper from bpy.types import Panel, UIList + +import bonsai.bim.helper +import bonsai.tool as tool from bonsai.bim.helper import draw_attributes from bonsai.bim.module.sequence.data import ( + AnimationColorSchemeData, + SequenceData, + StatusData, + TaskICOMData, WorkPlansData, WorkScheduleData, - SequenceData, - TaskICOMData, - AnimationColorSchemeData, - StatusData, ) -from typing import Any, Optional, TYPE_CHECKING if TYPE_CHECKING: + from bonsai.bim.module.sequence.prop import ( + BIMTaskTreeProperties, + BIMWorkScheduleProperties, + Task, + ) from bonsai.bim.prop import Attribute - from bonsai.bim.module.sequence.prop import BIMWorkScheduleProperties, BIMTaskTreeProperties, Task class BIM_PT_status(Panel): diff --git a/src/bonsai/bonsai/bim/module/spatial/__init__.py b/src/bonsai/bonsai/bim/module/spatial/__init__.py index 6c62218532..57cc84a8f1 100644 --- a/src/bonsai/bonsai/bim/module/spatial/__init__.py +++ b/src/bonsai/bonsai/bim/module/spatial/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator, workspace + +from . import operator, prop, ui, workspace classes = ( operator.AssignContainer, diff --git a/src/bonsai/bonsai/bim/module/spatial/data.py b/src/bonsai/bonsai/bim/module/spatial/data.py index baed31f49d..5885a9a76e 100644 --- a/src/bonsai/bonsai/bim/module/spatial/data.py +++ b/src/bonsai/bonsai/bim/module/spatial/data.py @@ -16,11 +16,13 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -import bonsai.tool as tool -import ifcopenshell.util.element from typing import Any +import bpy +import ifcopenshell.util.element + +import bonsai.tool as tool + def refresh(): SpatialData.is_loaded = False diff --git a/src/bonsai/bonsai/bim/module/spatial/decorator.py b/src/bonsai/bonsai/bim/module/spatial/decorator.py index 824fafec1f..8d66d4e8a6 100644 --- a/src/bonsai/bonsai/bim/module/spatial/decorator.py +++ b/src/bonsai/bonsai/bim/module/spatial/decorator.py @@ -17,13 +17,14 @@ # along with Bonsai. If not, see . import blf -import gpu import bmesh -import bonsai.tool as tool +import gpu from bpy.types import SpaceView3D -from mathutils import Vector -from gpu_extras.batch import batch_for_shader from bpy_extras.view3d_utils import location_3d_to_region_2d +from gpu_extras.batch import batch_for_shader +from mathutils import Vector + +import bonsai.tool as tool class GridDecorator: diff --git a/src/bonsai/bonsai/bim/module/spatial/operator.py b/src/bonsai/bonsai/bim/module/spatial/operator.py index 075c3a9a38..23c0c28335 100644 --- a/src/bonsai/bonsai/bim/module/spatial/operator.py +++ b/src/bonsai/bonsai/bim/module/spatial/operator.py @@ -16,12 +16,14 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING + import bpy import ifcopenshell.util.element -import bonsai.tool as tool -import bonsai.core.spatial as core + import bonsai.bim.handler -from typing import TYPE_CHECKING +import bonsai.core.spatial as core +import bonsai.tool as tool class ReferenceStructure(bpy.types.Operator, tool.Ifc.Operator): @@ -151,16 +153,10 @@ class AssignContainer(bpy.types.Operator, tool.Ifc.Operator): "Assign the selected objects to the container selected in Spatial Manager.\n\n" "All elements-parts of an aggregate will be skipped.\n" "To assign a container, they should be unassigned from an aggregate first.\n\n" - "This will also move objects to the container collection in the outliner.\n" - "ALT + Click to ensure objects are only linked in the container collection" + "This will also move objects to the container collection in the outliner." ) bl_options = {"REGISTER", "UNDO"} container: bpy.props.IntProperty(options={"SKIP_SAVE"}) - remove_from_other_containers: bpy.props.BoolProperty(default=False, options={"SKIP_SAVE"}) - - def invoke(self, context, event): - self.remove_from_other_containers = event.alt - return self.execute(context) def _execute(self, context): if self.container: @@ -175,84 +171,9 @@ class AssignContainer(bpy.types.Operator, tool.Ifc.Operator): else: return - def get_root_aggregate(element): - """Traverse up the aggregate hierarchy to find the top-most aggregate""" - current = element - root = None - while aggregate := ifcopenshell.util.element.get_aggregate(current): - root = aggregate - current = aggregate - return root - - def get_all_parts_recursive(element): - """Recursively get all parts of an aggregate""" - parts = [] - for part in ifcopenshell.util.element.get_parts(element): - parts.append(part) - # Recursively get nested parts - parts.extend(get_all_parts_recursive(part)) - return parts - - objs: list[bpy.types.Object] = [] - processed_elements = set() # Track elements we've already handled (by IFC ID) - promoted_parts = 0 # Count how many parts were promoted to their root aggregate - - for obj in tool.Blender.get_selected_objects(): - if not (element := tool.Ifc.get_entity(obj)): - continue - - # Check if element is part of an aggregate (at any level) - if root_aggregate := get_root_aggregate(element): - # Skip if we've already processed this root aggregate - if root_aggregate.id() in processed_elements: - continue - - # Get the root aggregate object and add it instead - if root_aggregate_obj := tool.Ifc.get_object(root_aggregate): - objs.append(root_aggregate_obj) - processed_elements.add(root_aggregate.id()) - if root_aggregate != element: # Only count as promoted if different from selected - promoted_parts += 1 - else: - # Element is not part of any aggregate - if element.id() not in processed_elements: - objs.append(obj) - processed_elements.add(element.id()) - - # Get the container's collection - container_obj = tool.Ifc.get_object(container) - container_collection = container_obj.BIMObjectProperties.collection if container_obj else None - - for element_obj in objs: - element = tool.Ifc.get_entity(element_obj) - - # Only assign container to the ROOT aggregate (this updates IFC relationships) - if self.remove_from_other_containers: - for col in element_obj.users_collection[:]: - col.objects.unlink(element_obj) - core.assign_container(tool.Ifc, tool.Collector, tool.Spatial, container=container, element_obj=element_obj) - - # For parts, only move them in Blender collections (don't change IFC relationships) - if container_collection: - all_parts = get_all_parts_recursive(element) - for part in all_parts: - if part_obj := tool.Ifc.get_object(part): - # Always remove from ALL previous collections when moving to new container - for col in part_obj.users_collection[:]: - col.objects.unlink(part_obj) - - # Link to new container collection (Blender-only, no IFC change) - if part_obj.name not in container_collection.objects: - container_collection.objects.link(part_obj) - - # Disable editing mode for all selected objects - for obj in tool.Blender.get_selected_objects(): - core.disable_editing_container(tool.Spatial, obj=obj) - - promoted_msg = "" - if promoted_parts: - promoted_msg = f" {promoted_parts} nested parts promoted to their root aggregates." - self.report({"INFO"}, f"{len(objs)} elements assigned.{promoted_msg}") + core.assign_container( + tool.Ifc, tool.Collector, tool.Spatial, container=container, objs=tool.Blender.get_selected_objects() + ) class EnableEditingContainer(bpy.types.Operator): diff --git a/src/bonsai/bonsai/bim/module/spatial/prop.py b/src/bonsai/bonsai/bim/module/spatial/prop.py index 3d54581551..3d3d2e74f4 100644 --- a/src/bonsai/bonsai/bim/module/spatial/prop.py +++ b/src/bonsai/bonsai/bim/module/spatial/prop.py @@ -16,28 +16,29 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Literal, Union + import bpy -from bonsai.bim.prop import ObjProperty -from bonsai.bim.module.spatial.data import SpatialDecompositionData -from bpy.types import PropertyGroup -from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, - BoolProperty, - IntProperty, - FloatProperty, - FloatVectorProperty, - CollectionProperty, -) -import bonsai.tool as tool -import bonsai.bim.handler -import bonsai.core.geometry import ifcopenshell import ifcopenshell.api.attribute import ifcopenshell.util.unit -from bonsai.tool.unit import parse_distance_string -from typing import TYPE_CHECKING, Union, Literal +from bpy.props import ( + BoolProperty, + CollectionProperty, + EnumProperty, + FloatProperty, + FloatVectorProperty, + IntProperty, + PointerProperty, + StringProperty, +) +from bpy.types import PropertyGroup + +import bonsai.bim.handler +import bonsai.core.geometry +import bonsai.tool as tool +from bonsai.bim.module.spatial.data import SpatialDecompositionData +from bonsai.bim.prop import ObjProperty def get_subelement_class( @@ -50,7 +51,7 @@ def get_subelement_class( def update_elevation(self: "BIMContainer", context: bpy.types.Context) -> None: # Try to parse the input string with unit support first - is_valid, parsed_elevation = parse_distance_string(self.elevation, use_project_unit=True) + is_valid, parsed_elevation = tool.Unit.parse_distance_string(self.elevation, use_project_unit=True) if is_valid: elevation = parsed_elevation @@ -98,8 +99,7 @@ def update_name(self: "BIMContainer", context: bpy.types.Context) -> None: tool.Spatial.edit_container_name(element, self.name) if obj := tool.Ifc.get_object(element): tool.Root.set_object_name(obj, element) - if collection := tool.Blender.get_object_bim_props(obj).collection: - collection.name = f"{element.is_a()}/{element.Name or 'Unnamed'}" + tool.Collector.assign(obj) bonsai.bim.handler.refresh_ui_data() @@ -174,8 +174,8 @@ def poll_container_obj(self: "BIMObjectSpatialProperties", container_obj: bpy.ty obj = self.id_data if ( (container := tool.Ifc.get_entity(container_obj)) - and (tool.Ifc.get_entity(obj)) - and tool.Spatial.can_contain(container, obj) + and (element := tool.Ifc.get_entity(obj)) + and tool.Spatial.can_contain(container, element) ): return True return False diff --git a/src/bonsai/bonsai/bim/module/spatial/ui.py b/src/bonsai/bonsai/bim/module/spatial/ui.py index acc604f992..69d9068f85 100644 --- a/src/bonsai/bonsai/bim/module/spatial/ui.py +++ b/src/bonsai/bonsai/bim/module/spatial/ui.py @@ -17,14 +17,21 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING, Any, cast + import bpy from bpy.types import Panel, UIList -from bonsai.bim.module.spatial.data import SpatialData, SpatialDecompositionData + import bonsai.tool as tool -from typing import TYPE_CHECKING, cast, Any +from bonsai.bim.module.spatial.data import SpatialData, SpatialDecompositionData if TYPE_CHECKING: - from bonsai.bim.module.spatial.prop import BIMSpatialDecompositionProperties, BIMContainer, Element + from bonsai.bim.module.spatial.prop import ( + BIMContainer, + BIMSpatialDecompositionProperties, + Element, + ) class BIM_PT_spatial(Panel): diff --git a/src/bonsai/bonsai/bim/module/spatial/workspace.py b/src/bonsai/bonsai/bim/module/spatial/workspace.py index aa57b03631..6f34099861 100644 --- a/src/bonsai/bonsai/bim/module/spatial/workspace.py +++ b/src/bonsai/bonsai/bim/module/spatial/workspace.py @@ -18,12 +18,14 @@ import os +from functools import partial + import bpy +from bpy.types import WorkSpaceTool + +import bonsai.core.spatial import bonsai.tool as tool from bonsai.bim.module.model.data import AuthoringData -from bpy.types import WorkSpaceTool -import bonsai.core.spatial -from functools import partial class SpatialTool(WorkSpaceTool): diff --git a/src/bonsai/bonsai/bim/module/structural/__init__.py b/src/bonsai/bonsai/bim/module/structural/__init__.py index db72ad497c..3fa0cb9497 100644 --- a/src/bonsai/bonsai/bim/module/structural/__init__.py +++ b/src/bonsai/bonsai/bim/module/structural/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator, workspace + +from . import operator, prop, ui, workspace classes = ( operator.ShowLoads, diff --git a/src/bonsai/bonsai/bim/module/structural/data.py b/src/bonsai/bonsai/bim/module/structural/data.py index f3215ddff3..1cdfcc2297 100644 --- a/src/bonsai/bonsai/bim/module/structural/data.py +++ b/src/bonsai/bonsai/bim/module/structural/data.py @@ -17,9 +17,10 @@ # along with Bonsai. If not, see . import bpy -import bonsai.tool as tool import ifcopenshell.util.doc +import bonsai.tool as tool + def refresh(): StructuralBoundaryConditionsData.is_loaded = False diff --git a/src/bonsai/bonsai/bim/module/structural/decorator.py b/src/bonsai/bonsai/bim/module/structural/decorator.py index 2bcc90c647..32925be61c 100644 --- a/src/bonsai/bonsai/bim/module/structural/decorator.py +++ b/src/bonsai/bonsai/bim/module/structural/decorator.py @@ -16,16 +16,18 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -from mathutils import Vector -import numpy as np +from collections.abc import Iterable +from typing import Union + +import blf import bpy import gpu -import blf -import bonsai.tool as tool +import numpy as np from bpy.types import SpaceView3D from gpu_extras.batch import batch_for_shader -from typing import Union -from collections.abc import Iterable +from mathutils import Vector + +import bonsai.tool as tool from bonsai.bim.module.structural.load_decoration_data import ShaderInfo diff --git a/src/bonsai/bonsai/bim/module/structural/load_decoration_data.py b/src/bonsai/bonsai/bim/module/structural/load_decoration_data.py index 7df67e82d4..132c305ad1 100644 --- a/src/bonsai/bonsai/bim/module/structural/load_decoration_data.py +++ b/src/bonsai/bonsai/bim/module/structural/load_decoration_data.py @@ -16,20 +16,22 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -import bmesh -import numpy as np +from collections.abc import Iterable from math import sin -from mathutils import Vector +from typing import Literal, TypedDict + +import bmesh +import bpy import ifcopenshell import ifcopenshell.util.placement import ifcopenshell.util.representation import ifcopenshell.util.unit import ifcopenshell.util.unit as ifcunit +import numpy as np +from mathutils import Vector + import bonsai.tool as tool from bonsai.bim.module.structural.shader import DecorationShader -from typing import Literal, TypedDict -from collections.abc import Iterable class MemberInfo(TypedDict): diff --git a/src/bonsai/bonsai/bim/module/structural/operator.py b/src/bonsai/bonsai/bim/module/structural/operator.py index 9840f87c1e..edb3ab18ae 100644 --- a/src/bonsai/bonsai/bim/module/structural/operator.py +++ b/src/bonsai/bonsai/bim/module/structural/operator.py @@ -16,20 +16,22 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import json +from math import degrees +from typing import TYPE_CHECKING, Any, Literal + +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.aggregate import ifcopenshell.api.group import ifcopenshell.api.structural +from mathutils import Matrix, Vector + import bonsai.bim.helper import bonsai.core.structural as core import bonsai.tool as tool -from math import degrees -from mathutils import Vector, Matrix from bonsai.bim.module.structural.decorator import LoadsDecorator -from typing import Literal, Any, TYPE_CHECKING class ShowLoads(bpy.types.Operator): diff --git a/src/bonsai/bonsai/bim/module/structural/prop.py b/src/bonsai/bonsai/bim/module/structural/prop.py index c0db44fac6..24d6ead470 100644 --- a/src/bonsai/bonsai/bim/module/structural/prop.py +++ b/src/bonsai/bonsai/bim/module/structural/prop.py @@ -17,27 +17,29 @@ # along with Bonsai. If not, see . from math import radians +from typing import TYPE_CHECKING, Union + import bpy -import bonsai.tool as tool -from bonsai.bim.prop import StrProperty, Attribute -from bonsai.bim.module.structural.data import ( - StructuralLoadCasesData, - StructuralLoadsData, - BoundaryConditionsData, - LoadGroupDecorationData, -) -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING, Union +from bpy.types import PropertyGroup + +import bonsai.tool as tool +from bonsai.bim.module.structural.data import ( + BoundaryConditionsData, + LoadGroupDecorationData, + StructuralLoadCasesData, + StructuralLoadsData, +) +from bonsai.bim.prop import Attribute, StrProperty def get_load_groups_to_show(self: "BIMStructuralProperties", context: bpy.types.Context) -> list[tuple[str, str, str]]: diff --git a/src/bonsai/bonsai/bim/module/structural/shader.py b/src/bonsai/bonsai/bim/module/structural/shader.py index 389ed34839..d6f92028d6 100644 --- a/src/bonsai/bonsai/bim/module/structural/shader.py +++ b/src/bonsai/bonsai/bim/module/structural/shader.py @@ -16,9 +16,10 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import gpu from typing import Literal +import gpu + class DecorationShader: "shader for the load decorations" diff --git a/src/bonsai/bonsai/bim/module/structural/ui.py b/src/bonsai/bonsai/bim/module/structural/ui.py index 44b56633a1..6d93bd3ffd 100644 --- a/src/bonsai/bonsai/bim/module/structural/ui.py +++ b/src/bonsai/bonsai/bim/module/structural/ui.py @@ -17,31 +17,34 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING, Any, Union + import bpy -import bonsai.tool as tool -import bonsai.bim.helper from bpy.types import Panel, UIList + +import bonsai.bim.helper +import bonsai.tool as tool from bonsai.bim.helper import draw_attributes, prop_with_search from bonsai.bim.module.structural.data import ( - StructuralBoundaryConditionsData, + BoundaryConditionsData, ConnectedStructuralMembersData, - StructuralMemberData, StructuralAnalysisModelsData, + StructuralBoundaryConditionsData, + StructuralConnectionData, StructuralLoadCasesData, StructuralLoadsData, - StructuralConnectionData, - BoundaryConditionsData, + StructuralMemberData, ) -from typing import TYPE_CHECKING, Any, Union if TYPE_CHECKING: from bonsai.bim.module.structural.prop import ( - BIMStructuralProperties, BIMObjectStructuralProperties, + BIMStructuralProperties, BoundaryCondition, - StructuralLoad, StructuralActivity, StructuralAnalysisModel, + StructuralLoad, ) diff --git a/src/bonsai/bonsai/bim/module/structural/workspace.py b/src/bonsai/bonsai/bim/module/structural/workspace.py index fbacac3e1a..407f017834 100644 --- a/src/bonsai/bonsai/bim/module/structural/workspace.py +++ b/src/bonsai/bonsai/bim/module/structural/workspace.py @@ -18,11 +18,13 @@ import os -import bpy -import bonsai.tool as tool -from bpy.types import WorkSpaceTool from functools import partial +import bpy +from bpy.types import WorkSpaceTool + +import bonsai.tool as tool + class StructuralTool(WorkSpaceTool): bl_space_type = "VIEW_3D" diff --git a/src/bonsai/bonsai/bim/module/style/__init__.py b/src/bonsai/bonsai/bim/module/style/__init__.py index ba44a727b1..6f13fd6f2d 100644 --- a/src/bonsai/bonsai/bim/module/style/__init__.py +++ b/src/bonsai/bonsai/bim/module/style/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.ActivateExternalStyle, diff --git a/src/bonsai/bonsai/bim/module/style/data.py b/src/bonsai/bonsai/bim/module/style/data.py index 83e453d7a5..dabf6f3ba7 100644 --- a/src/bonsai/bonsai/bim/module/style/data.py +++ b/src/bonsai/bonsai/bim/module/style/data.py @@ -16,12 +16,14 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import Union + import bpy import ifcopenshell import ifcopenshell.util.schema -import bonsai.tool as tool from ifcopenshell.util.doc import get_entity_doc -from typing import Union + +import bonsai.tool as tool def refresh(): diff --git a/src/bonsai/bonsai/bim/module/style/operator.py b/src/bonsai/bonsai/bim/module/style/operator.py index 4a036652f2..a26cce67f1 100644 --- a/src/bonsai/bonsai/bim/module/style/operator.py +++ b/src/bonsai/bonsai/bim/module/style/operator.py @@ -17,19 +17,21 @@ # along with Bonsai. If not, see . import os +from pathlib import Path +from typing import Any, Union + import bpy -import bonsai.bim.helper -import bonsai.tool as tool -import bonsai.core.style as core import ifcopenshell.api import ifcopenshell.api.style import ifcopenshell.util.representation import ifcopenshell.util.unit -from bonsai.bim.module.style.prop import ColourRgb from bpy_extras.io_utils import ImportHelper -from pathlib import Path from mathutils import Vector -from typing import Any, Union + +import bonsai.bim.helper +import bonsai.core.style as core +import bonsai.tool as tool +from bonsai.bim.module.style.prop import ColourRgb # TODO: is this still relevant or can it be deleted? diff --git a/src/bonsai/bonsai/bim/module/style/prop.py b/src/bonsai/bonsai/bim/module/style/prop.py index 42866486c2..b1660dfd4c 100644 --- a/src/bonsai/bonsai/bim/module/style/prop.py +++ b/src/bonsai/bonsai/bim/module/style/prop.py @@ -16,25 +16,25 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +import gettext +from typing import TYPE_CHECKING, Literal, Union, get_args + import bpy -import bonsai.tool as tool -from bonsai.bim.prop import StrProperty, Attribute -from bonsai.bim.module.style.data import StylesData -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) +from bpy.types import PropertyGroup -import gettext -from typing import Literal, Union, TYPE_CHECKING, get_args - +import bonsai.tool as tool +from bonsai.bim.module.style.data import StylesData +from bonsai.bim.prop import Attribute, StrProperty _ = gettext.gettext diff --git a/src/bonsai/bonsai/bim/module/style/ui.py b/src/bonsai/bonsai/bim/module/style/ui.py index 37c46b6d63..54ca4f5aa4 100644 --- a/src/bonsai/bonsai/bim/module/style/ui.py +++ b/src/bonsai/bonsai/bim/module/style/ui.py @@ -17,12 +17,15 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING + import bpy +from bpy.types import Panel, UIList + import bonsai.bim.helper import bonsai.tool as tool -from bpy.types import Panel, UIList -from bonsai.bim.module.style.data import StylesData, BlenderMaterialStyleData -from typing import TYPE_CHECKING +from bonsai.bim.module.style.data import BlenderMaterialStyleData, StylesData if TYPE_CHECKING: from bonsai.bim.module.style.prop import BIMStylesProperties, Style diff --git a/src/bonsai/bonsai/bim/module/system/__init__.py b/src/bonsai/bonsai/bim/module/system/__init__.py index 92782ae6fe..36901100f6 100644 --- a/src/bonsai/bonsai/bim/module/system/__init__.py +++ b/src/bonsai/bonsai/bim/module/system/__init__.py @@ -17,15 +17,18 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator, decorator + +from . import decorator, operator, prop, ui classes = ( operator.AddPort, + operator.AddRelatedPortConnection, operator.AddSystem, operator.AddZone, operator.AssignSystem, operator.AssignUnassignFlowControl, operator.ConnectPort, + operator.CycleFlowDirection, operator.DisableEditingSystem, operator.DisableEditingZone, operator.DisableSystemEditingUI, @@ -34,6 +37,7 @@ classes = ( operator.EditZone, operator.EnableEditingSystem, operator.EnableEditingZone, + operator.EstablishPathDirection, operator.HidePorts, operator.LoadSystems, operator.LoadZones, diff --git a/src/bonsai/bonsai/bim/module/system/data.py b/src/bonsai/bonsai/bim/module/system/data.py index 5db3d60114..c5d8897cc8 100644 --- a/src/bonsai/bonsai/bim/module/system/data.py +++ b/src/bonsai/bonsai/bim/module/system/data.py @@ -16,14 +16,16 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import Any, Union + import bpy import ifcopenshell import ifcopenshell.util.schema import ifcopenshell.util.system import ifcopenshell.util.unit from ifcopenshell.util.doc import get_entity_doc + import bonsai.tool as tool -from typing import Any, Union def refresh(): diff --git a/src/bonsai/bonsai/bim/module/system/decorator.py b/src/bonsai/bonsai/bim/module/system/decorator.py index c77b2f6879..f2448ba6e6 100644 --- a/src/bonsai/bonsai/bim/module/system/decorator.py +++ b/src/bonsai/bonsai/bim/module/system/decorator.py @@ -16,18 +16,19 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from math import cos, radians, sin + +import bmesh import bpy import gpu -import bmesh -import bonsai.tool as tool -from math import sin, cos, radians -from bpy.types import SpaceView3D -from mathutils import Vector, Matrix -from gpu_extras.batch import batch_for_shader import ifcopenshell -from bonsai.bim.module.system.data import SystemDecorationData from bpy.app.handlers import persistent +from bpy.types import SpaceView3D +from gpu_extras.batch import batch_for_shader +from mathutils import Matrix, Vector +import bonsai.tool as tool +from bonsai.bim.module.system.data import SystemDecorationData ERROR_ELEMENTS_COLOR = (1, 0.2, 0.322, 1) # RED UNSPECIAL_ELEMENT_COLOR = (0.2, 0.2, 0.2, 1) # GREY diff --git a/src/bonsai/bonsai/bim/module/system/operator.py b/src/bonsai/bonsai/bim/module/system/operator.py index add214c09d..089bd9f24b 100644 --- a/src/bonsai/bonsai/bim/module/system/operator.py +++ b/src/bonsai/bonsai/bim/module/system/operator.py @@ -16,15 +16,17 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING + import bpy import ifcopenshell.api import ifcopenshell.api.system import ifcopenshell.util.system -import bonsai.tool as tool -import bonsai.core.system as core + import bonsai.bim.helper +import bonsai.core.system as core +import bonsai.tool as tool from bonsai.bim.module.system.data import PortData, SystemData -from typing import TYPE_CHECKING class LoadSystems(bpy.types.Operator): @@ -198,7 +200,16 @@ class ShowPorts(bpy.types.Operator, tool.Ifc.Operator): def _execute(self, context): # Ifc.Operator - as operator will sync object's position with IFC. - core.show_ports(tool.Ifc, tool.System, tool.Spatial, element=tool.Ifc.get_entity(context.active_object)) + element = tool.Ifc.get_entity(context.active_object) + core.show_ports(tool.Ifc, tool.System, tool.Spatial, element=element) + + for port in tool.System.get_ports(element): + connected_port = tool.System.get_connected_port(port) + if connected_port: + connected_port_obj = tool.Ifc.get_object(connected_port) + if not connected_port_obj: + parent_element = tool.System.get_port_relating_element(connected_port) + core.show_ports(tool.Ifc, tool.System, tool.Spatial, element=parent_element) class HidePorts(bpy.types.Operator, tool.Ifc.Operator): @@ -217,7 +228,7 @@ class HidePorts(bpy.types.Operator, tool.Ifc.Operator): class AddPort(bpy.types.Operator, tool.Ifc.Operator): bl_idname = "bim.add_port" - bl_description = "Add port at current cursor position" + bl_description = "Add USERDEFINED port at current cursor position" bl_label = "Add Port" bl_options = {"REGISTER", "UNDO"} @@ -246,7 +257,41 @@ class ConnectPort(bpy.types.Operator, tool.Ifc.Operator): def _execute(self, context): obj1 = context.active_object obj2 = context.selected_objects[0] if context.selected_objects[1] == obj1 else context.selected_objects[1] - core.connect_port(tool.Ifc, port1=tool.Ifc.get_entity(obj1), port2=tool.Ifc.get_entity(obj2)) + direction = tool.Ifc.get_entity(obj1).FlowDirection or "NOTDEFINED" + core.connect_port( + tool.Ifc, port1=tool.Ifc.get_entity(obj1), port2=tool.Ifc.get_entity(obj2), direction=direction + ) + + +class AddRelatedPortConnection(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.add_related_port_connection" + bl_label = "Connect Port" + bl_options = {"REGISTER", "UNDO"} + + relating_port_id: bpy.props.IntProperty() + + def invoke(self, context, event): + return context.window_manager.invoke_props_dialog(self) + + def draw(self, context): + props = tool.System.get_system_props() + self.layout.prop(props, "related_port", text="Select Port") + + def _execute(self, context): + props = tool.System.get_system_props() + + if not props.related_port or props.related_port == "NONE": + return {"CANCELLED"} + + port_obj = bpy.data.objects.get(props.related_port) + related_port = tool.Ifc.get_entity(port_obj) + relating_port = tool.Ifc.get().by_id(self.relating_port_id) + + direction = relating_port.FlowDirection or "NOTDEFINED" + core.connect_port(tool.Ifc, port1=relating_port, port2=related_port, direction=direction) + PortData.is_loaded = False + + return {"FINISHED"} class DisconnectPort(bpy.types.Operator, tool.Ifc.Operator): @@ -256,6 +301,9 @@ class DisconnectPort(bpy.types.Operator, tool.Ifc.Operator): element_id: bpy.props.IntProperty(default=0, options={"SKIP_SAVE"}) + def invoke(self, context, event): + return context.window_manager.invoke_confirm(self, event) + def _execute(self, context): if self.element_id != 0: element = tool.Ifc.get().by_id(self.element_id) @@ -269,17 +317,19 @@ class MEPConnectElements(bpy.types.Operator, tool.Ifc.Operator): bl_label = "Connect MEP Elements" bl_description = "Connects two selected elements by their closest located ports and adjusts them" bl_options = {"REGISTER", "UNDO"} - - @classmethod - def poll(cls, context): - if not len(context.selected_objects) == 2: - cls.poll_message_set("Need to select 2 objects.") - return False - return True + obj1_name: bpy.props.StringProperty(name="Object 1") + obj2_name: bpy.props.StringProperty(name="Object 2") def _execute(self, context): - obj1 = context.active_object - obj2 = next(o for o in context.selected_objects if o != obj1) + if self.obj1_name and self.obj2_name: + obj1 = bpy.data.objects.get(self.obj1_name) + obj2 = bpy.data.objects.get(self.obj2_name) + else: + if not context.selected_objects or len(context.selected_objects) != 2: + self.report({"ERROR"}, "Need to select 2 objects.") + return {"CANCELLED"} + obj1 = context.active_object + obj2 = next(o for o in context.selected_objects if o != obj1) tool.Model.sync_object_ifc_position(obj1) tool.Model.sync_object_ifc_position(obj2) @@ -310,7 +360,8 @@ class MEPConnectElements(bpy.types.Operator, tool.Ifc.Operator): ports_distance[(port1, port2)] = distance closest_ports = min(ports_distance, key=lambda x: ports_distance[x]) - core.connect_port(tool.Ifc, *closest_ports) + direction = closest_ports[0].FlowDirection or "NOTDEFINED" + core.connect_port(tool.Ifc, *closest_ports, direction=direction) bpy.ops.bim.regenerate_distribution_element() return {"FINISHED"} @@ -379,6 +430,104 @@ class SetFlowDirection(bpy.types.Operator, tool.Ifc.Operator): return {"CANCELLED"} +class CycleFlowDirection(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.cycle_flow_direction" + bl_label = "Cycle Flow Direction" + bl_options = {"REGISTER", "UNDO"} + port_id: bpy.props.IntProperty() + + @classmethod + def description(cls, context, operator): + port = tool.Ifc.get().by_id(operator.port_id) + if port and port.is_a("IfcDistributionPort"): + current_direction = port.FlowDirection or "NOTDEFINED" + return f"Current flow direction: {current_direction}. Click to cycle: SOURCE → SINK → SOURCEANDSINK → NOTDEFINED" + return "Cycle through flow directions: SOURCE → SINK → SOURCEANDSINK → NOTDEFINED → SOURCE..." + + def _execute(self, context): + port = tool.Ifc.get().by_id(self.port_id) + if not port or not port.is_a("IfcDistributionPort"): + return {"CANCELLED"} + + current_direction = port.FlowDirection or "NOTDEFINED" + + flow_cycle_map = { + "SOURCE": "SINK", + "SINK": "SOURCEANDSINK", + "SOURCEANDSINK": "NOTDEFINED", + "NOTDEFINED": "SOURCE", + } + next_direction = flow_cycle_map.get(current_direction, "SOURCE") + + tool.Ifc.run("attribute.edit_attributes", product=port, attributes={"FlowDirection": next_direction}) + + connected_port = tool.System.get_connected_port(port) + if connected_port: + connected_direction_map = { + "SOURCE": "SINK", + "SINK": "SOURCE", + "SOURCEANDSINK": "SOURCEANDSINK", + "NOTDEFINED": "NOTDEFINED", + } + connected_direction = connected_direction_map.get(next_direction, "NOTDEFINED") + tool.Ifc.run( + "attribute.edit_attributes", product=connected_port, attributes={"FlowDirection": connected_direction} + ) + + PortData.is_loaded = False + + return {"FINISHED"} + + +class EstablishPathDirection(bpy.types.Operator, tool.Ifc.Operator): + bl_idname = "bim.establish_path_direction" + bl_label = "Establish Path Direction" + bl_description = "Propagates flow direction through connected flow segments with two ports" + bl_options = {"REGISTER", "UNDO"} + port_id: bpy.props.IntProperty() + + def _execute(self, context): + connected_port = tool.Ifc.get().by_id(self.port_id) + + if not connected_port or not connected_port.is_a("IfcDistributionPort"): + self.report({"ERROR"}, "Invalid port specified.") + return {"CANCELLED"} + + direction_map = { + "SOURCE": "SINK", + "SINK": "SOURCE", + "SOURCEANDSINK": "SOURCEANDSINK", + "NOTDEFINED": "NOTDEFINED", + } + next_element = tool.System.get_port_relating_element(connected_port) + ports = tool.System.get_ports(next_element) + segments_processed = 0 + while len(ports) == 2: + if ports[0].id() == connected_port.id(): + other_port = ports[1] + else: + other_port = ports[0] + + new_direction = direction_map.get(connected_port.FlowDirection, "NOTDEFINED") + other_port.FlowDirection = new_direction + segments_processed += 1 + + connected_port = tool.System.get_connected_port(other_port) + if not connected_port: + break + connected_port.FlowDirection = direction_map.get(other_port.FlowDirection, "NOTDEFINED") + next_element = tool.System.get_port_relating_element(connected_port) + + if not next_element.is_a("IfcFlowSegment"): + print(f"DEBUG: next_element is not IfcFlowSegment, stopping") + break + + ports = tool.System.get_ports(next_element) + + self.report({"INFO"}, f"Established path direction through {segments_processed} flow segment(s).") + return {"FINISHED"} + + class LoadZones(bpy.types.Operator): bl_idname = "bim.load_zones" bl_label = "Load Zones" diff --git a/src/bonsai/bonsai/bim/module/system/prop.py b/src/bonsai/bonsai/bim/module/system/prop.py index a603446c9f..a40f50a90e 100644 --- a/src/bonsai/bonsai/bim/module/system/prop.py +++ b/src/bonsai/bonsai/bim/module/system/prop.py @@ -16,24 +16,26 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Union + import bpy -import bonsai.bim.handler -import bonsai.tool as tool -from bonsai.bim.module.system.data import SystemData -import bonsai.bim.module.system.decorator as decorator -from bonsai.bim.prop import StrProperty, Attribute -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING, Union +from bpy.types import PropertyGroup + +import bonsai.bim.handler +import bonsai.bim.module.system.decorator as decorator +import bonsai.tool as tool +from bonsai.bim.module.system.data import SystemData +from bonsai.bim.prop import Attribute, StrProperty def get_system_class(self: "BIMSystemProperties", context: bpy.types.Context) -> list[tuple[str, str, str]]: @@ -92,6 +94,28 @@ def toggle_decorations(self: "BIMSystemProperties", context: bpy.types.Context) decorator.SystemDecorator.uninstall() +def get_available_ports_for_connection( + self: "BIMSystemProperties", context: bpy.types.Context +) -> list[tuple[str, str, str]]: + items = [] + active_object_ports = set(tool.System.get_ports(tool.Ifc.get_entity(context.active_object))) + + ifc_file = tool.Ifc.get() + for ifc_port in ifc_file.by_type("IfcDistributionPort"): + port = tool.Ifc.get_object(ifc_port) + if not port: + continue + + if tool.System.get_connected_port(ifc_port) is not None or ifc_port in active_object_ports: + continue + + port_object = tool.Ifc.get_object(tool.System.get_port_relating_element(ifc_port)) + suggestion = f"{port_object.name} > {port.name}" + items.append((port.name, suggestion, "")) + + return items if items else [("NONE", "Ports are hidden or not available", "")] + + class BIMSystemProperties(PropertyGroup): system_attributes: CollectionProperty(name="System Attributes", type=Attribute) is_editing: BoolProperty(name="Is Editing", default=False) @@ -107,6 +131,11 @@ class BIMSystemProperties(PropertyGroup): should_draw_decorations: BoolProperty( name="Should Draw Decorations", description="Toggle system decorations", update=toggle_decorations ) + related_port: EnumProperty( + name="Connect To Port", + description="Select a port to connect to", + items=get_available_ports_for_connection, + ) if TYPE_CHECKING: system_attributes: bpy.types.bpy_prop_collection_idprop[Attribute] @@ -119,6 +148,7 @@ class BIMSystemProperties(PropertyGroup): edited_system_id: int system_class: str should_draw_decorations: bool + related_port: str @property def active_system_ui_item(self) -> Union[System, None]: diff --git a/src/bonsai/bonsai/bim/module/system/ui.py b/src/bonsai/bonsai/bim/module/system/ui.py index 2d555f24c2..e8f8b7daeb 100644 --- a/src/bonsai/bonsai/bim/module/system/ui.py +++ b/src/bonsai/bonsai/bim/module/system/ui.py @@ -17,23 +17,37 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy -import bonsai.bim.helper -import bonsai.tool as tool -from bonsai.bim.helper import prop_with_search, draw_attributes -from bpy.types import Panel, UIList -from bonsai.bim.module.system.data import SystemData, ZonesData, ActiveObjectZonesData, ObjectSystemData, PortData + from typing import TYPE_CHECKING +import bpy +from bpy.types import Panel, UIList + +import bonsai.bim.helper +import bonsai.tool as tool +from bonsai.bim.helper import draw_attributes, prop_with_search +from bonsai.bim.module.system.data import ( + ActiveObjectZonesData, + ObjectSystemData, + PortData, + SystemData, + ZonesData, +) + if TYPE_CHECKING: - from bonsai.bim.module.system.prop import BIMSystemProperties, System, BIMZoneProperties, Zone + from bonsai.bim.module.system.prop import ( + BIMSystemProperties, + BIMZoneProperties, + System, + Zone, + ) FLOW_DIRECTION_TO_ICON = { - "SOURCE": "FORWARD", - "SINK": "BACK", - "SOURCEANDSINK": "ARROW_LEFTRIGHT", - "NOTDEFINED": "CHECKBOX_DEHLT", + "SOURCE": "FULLSCREEN_ENTER", + "SINK": "FULLSCREEN_EXIT", + "SOURCEANDSINK": "CHECKBOX_DEHLT", + "NOTDEFINED": "QUESTION", } @@ -163,44 +177,87 @@ class BIM_PT_ports(Panel): return row = self.layout.row(align=True) - row.label(text="Change Flow Direction:") - - current_flow_direction = PortData.data["selected_objects_flow_direction"] - for flow_direction in FLOW_DIRECTION_TO_ICON.keys(): - row.operator( - "bim.set_flow_direction", - icon=FLOW_DIRECTION_TO_ICON[flow_direction], - depress=flow_direction == current_flow_direction, - text="", - ).direction = flow_direction - row.enabled = len(context.selected_objects) == 2 + row.label(text=f"Ports located in: {context.active_object.name} and connected Port/Objects:") row = self.layout.row(align=True) - row.label(text="Ports located on object and connected objects:") - row = self.layout.row(align=True) - cols = [row.column(align=True) for i in range(6)] + cols = [row.column(align=True) for i in range(9)] + cols[3].scale_x = 1.0 + cols[6].scale_x = 1.0 + cols[8].scale_x = 1.33 for port_data in PortData.data["located_ports_data"]: flow_direction_icon = FLOW_DIRECTION_TO_ICON[port_data["FlowDirection"] or "NOTDEFINED"] - if port_data["port_obj_name"]: - cols[0].label(text="", icon=flow_direction_icon) - cols[1].operator("bim.select_entity", text="", icon="RESTRICT_SELECT_OFF").ifc_id = port_data["id"] - cols[2].label(text=port_data["port_obj_name"]) + + if port_data["connected_obj_name"]: + cols[0].operator("bim.disconnect_port", text="", icon="UNLINKED").element_id = port_data["id"] + op = cols[1].operator("bim.cycle_flow_direction", text="", icon=flow_direction_icon, emboss=True) + op.port_id = port_data["id"] else: - cols[0].label(text="", icon=flow_direction_icon) - cols[1].label(text="", icon="HIDE_ON") - cols[2].label(text="Port is hidden") + op = cols[0].operator("bim.add_related_port_connection", text="", icon="PLUGIN") + op.relating_port_id = port_data["id"] + op = cols[1].operator("bim.cycle_flow_direction", text="", icon=flow_direction_icon, emboss=True) + op.port_id = port_data["id"] + + if port_data["port_obj_name"]: + cols[2].operator("bim.select_entity", text="", icon="RESTRICT_SELECT_OFF").ifc_id = port_data["id"] + cols[3].label(text=port_data["port_obj_name"]) + else: + cols[2].label(text="", icon="HIDE_ON") + cols[3].label(text="Port is hidden") if port_data["connected_obj_name"]: connected_obj = bpy.data.objects[port_data["connected_obj_name"]] - cols[3].operator("bim.disconnect_port", text="", icon="UNLINKED").element_id = port_data["id"] + + port = tool.Ifc.get().by_id(port_data["id"]) + connected_port = tool.System.get_connected_port(port) + if connected_port: + connected_port_obj = tool.Ifc.get_object(connected_port) + if connected_port_obj: + connected_port_flow_dir = FLOW_DIRECTION_TO_ICON[connected_port.FlowDirection or "NOTDEFINED"] + op = cols[4].operator( + "bim.cycle_flow_direction", text="", icon=connected_port_flow_dir, emboss=True + ) + op.port_id = connected_port.id() + cols[5].operator("bim.select_entity", text="", icon="RESTRICT_SELECT_OFF").ifc_id = ( + connected_port.id() + ) + cols[6].label(text=connected_port_obj.name) + else: + blank4 = cols[4].column(align=True) + blank4.scale_x = 0.1 + blank4.label(text="", icon="BLANK1") + blank5 = cols[5].column(align=True) + blank5.scale_x = 0.1 + blank5.label(text="", icon="BLANK1") + cols[6].label(text="Port is hidden") + else: + blank4 = cols[4].column(align=True) + blank4.scale_x = 0.1 + blank4.label(text="", icon="BLANK1") + blank5 = cols[5].column(align=True) + blank5.scale_x = 0.1 + blank5.label(text="", icon="BLANK1") + cols[6].label(text="") + ifc_id = tool.Blender.get_ifc_definition_id(connected_obj) - cols[4].operator("bim.select_entity", text="", icon="RESTRICT_SELECT_OFF").ifc_id = ifc_id - cols[5].label(text=port_data["connected_obj_name"]) + cols[7].operator("bim.select_entity", text="", icon="RESTRICT_SELECT_OFF").ifc_id = ifc_id + cols[8].label(text=port_data["connected_obj_name"]) else: - cols[3].label(text="", icon="UNLINKED") - cols[4].label(text="", icon="BLANK1") - cols[5].label(text="Port is disconnected") + blank4 = cols[4].column(align=True) + blank4.scale_x = 0.1 + blank4.label(text="", icon="BLANK1") + blank5 = cols[5].column(align=True) + blank5.scale_x = 0.1 + blank5.label(text="", icon="BLANK1") + + cols[6].label(text="Port is disconnected") + + blank7 = cols[7].column(align=True) + blank7.scale_x = 0.1 + blank7.label(text="", icon="BLANK1") + blank8 = cols[8].column(align=True) + blank8.scale_x = 0.1 + blank8.label(text="", icon="BLANK1") class BIM_PT_port(Panel): @@ -223,14 +280,8 @@ class BIM_PT_port(Panel): return True def draw(self, context): - self.props = tool.System.get_system_props() - layout = self.layout row = layout.row(align=True) - row.label(text="IfcDistributionPort") - row.operator("bim.connect_port", icon="PLUGIN", text="") - row.operator("bim.disconnect_port", icon="UNLINKED", text="") - row.operator("bim.remove_port", icon="X", text="") if not PortData.is_loaded: PortData.load() @@ -238,42 +289,60 @@ class BIM_PT_port(Panel): if not PortData.data["is_port"]: return - element = tool.Ifc.get_entity(context.active_object) - current_flow_direction = str(element.FlowDirection) - row = layout.row(align=True) - row.label(text="Flow Direction:") - row.label(text=current_flow_direction) - - # port located on - row = layout.row(align=True) relating_object_name = PortData.data["port_relating_object_name"] - relating_object = bpy.data.objects[relating_object_name] - row.label(text="Port located on:") - row.label(text=relating_object_name) - ifc_id = tool.Blender.get_ifc_definition_id(relating_object) - row.operator("bim.select_entity", text="", icon="RESTRICT_SELECT_OFF").ifc_id = ifc_id + row.label(text=f"IfcDistributionPort located in: {relating_object_name}") + row.operator("bim.remove_port", icon="X", text="") + + element = tool.Ifc.get_entity(context.active_object) - # object connected to the port row = layout.row(align=True) - connected_object_name = PortData.data["port_connected_object_name"] - if connected_object_name: - connected_object = bpy.data.objects[connected_object_name] - row.label(text="Port connected to:") - row.label(text=connected_object_name) - ifc_id = tool.Blender.get_ifc_definition_id(connected_object) - row.operator("bim.select_entity", text="", icon="RESTRICT_SELECT_OFF").ifc_id = ifc_id + cols = [row.column(align=True) for i in range(10)] + cols[3].scale_x = 1.0 + cols[6].scale_x = 1.0 + cols[8].scale_x = 1.33 + + flow_direction_icon = FLOW_DIRECTION_TO_ICON[element.FlowDirection or "NOTDEFINED"] + connected_port = tool.System.get_connected_port(element) + + if connected_port: + cols[0].operator("bim.disconnect_port", text="", icon="UNLINKED") + op = cols[1].operator("bim.cycle_flow_direction", text="", icon=flow_direction_icon, emboss=True) + op.port_id = element.id() else: - row.label(text="Port is not connected to any element") + cols[0].operator("bim.connect_port", icon="PLUGIN", text="") + op = cols[1].operator("bim.cycle_flow_direction", text="", icon=flow_direction_icon, emboss=True) + op.port_id = element.id() - row = layout.row(align=True) - row.label(text="Change Flow Direction:") - for flow_direction in FLOW_DIRECTION_TO_ICON.keys(): - row.operator( - "bim.set_flow_direction", - icon=FLOW_DIRECTION_TO_ICON[flow_direction], - depress=flow_direction == current_flow_direction, - text="", - ).direction = flow_direction + cols[2].operator("bim.select_entity", text="", icon="RESTRICT_SELECT_OFF").ifc_id = element.id() + cols[3].label(text=context.active_object.name) + + if connected_port: + connected_port_flow_dir = FLOW_DIRECTION_TO_ICON[connected_port.FlowDirection or "NOTDEFINED"] + op = cols[4].operator("bim.cycle_flow_direction", text="", icon=connected_port_flow_dir, emboss=True) + op.port_id = connected_port.id() + cols[5].operator("bim.select_entity", text="", icon="RESTRICT_SELECT_OFF").ifc_id = connected_port.id() + connected_port_obj = tool.Ifc.get_object(connected_port) + cols[6].label(text=connected_port_obj.name if connected_port_obj else "Hidden Port") + + connected_object_name = PortData.data["port_connected_object_name"] + if connected_object_name: + connected_obj = bpy.data.objects[connected_object_name] + ifc_id = tool.Blender.get_ifc_definition_id(connected_obj) + cols[7].operator("bim.select_entity", text="", icon="RESTRICT_SELECT_OFF").ifc_id = ifc_id + cols[8].label(text=connected_object_name) + else: + cols[7].label(text="", icon="BLANK1") + cols[8].label(text="") + cols[9].operator("bim.establish_path_direction", text="", icon="CON_FOLLOWPATH").port_id = ( + connected_port.id() + ) + else: + cols[4].label(text="", icon="BLANK1") + cols[5].label(text="", icon="BLANK1") + cols[6].label(text="Port is disconnected") + cols[7].label(text="", icon="BLANK1") + cols[8].label(text="") + cols[9].label(text="", icon="BLANK1") class BIM_PT_flow_controls(Panel): diff --git a/src/bonsai/bonsai/bim/module/tester/__init__.py b/src/bonsai/bonsai/bim/module/tester/__init__.py index f31ac5e69a..db63d97b55 100644 --- a/src/bonsai/bonsai/bim/module/tester/__init__.py +++ b/src/bonsai/bonsai/bim/module/tester/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.ExecuteIfcTester, diff --git a/src/bonsai/bonsai/bim/module/tester/data.py b/src/bonsai/bonsai/bim/module/tester/data.py index d845c210f9..1d1a1c4901 100644 --- a/src/bonsai/bonsai/bim/module/tester/data.py +++ b/src/bonsai/bonsai/bim/module/tester/data.py @@ -17,9 +17,10 @@ # along with Bonsai. If not, see . import bpy -import bonsai.tool as tool import ifctester.reporter +import bonsai.tool as tool + def refresh(): TesterData.is_loaded = False diff --git a/src/bonsai/bonsai/bim/module/tester/operator.py b/src/bonsai/bonsai/bim/module/tester/operator.py index 822ffd571c..6cb7999184 100644 --- a/src/bonsai/bonsai/bim/module/tester/operator.py +++ b/src/bonsai/bonsai/bim/module/tester/operator.py @@ -16,28 +16,30 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import os -import bpy -import time -import tempfile -import webbrowser -import traceback -import subprocess -import socket -import sys -import threading import asyncio -import socketio -from aiohttp import web +import os +import socket +import subprocess +import sys +import tempfile +import threading +import time +import traceback +import webbrowser +from pathlib import Path +from typing import Union + +import bpy +import ifcopenshell import ifctester import ifctester.ids import ifctester.reporter -import ifcopenshell -import bonsai.tool as tool -import bonsai.bim.handler +import socketio +from aiohttp import web from bpy_extras.io_utils import ExportHelper -from pathlib import Path -from typing import Union + +import bonsai.bim.handler +import bonsai.tool as tool webapp_process = None websocket_server_thread = None diff --git a/src/bonsai/bonsai/bim/module/tester/prop.py b/src/bonsai/bonsai/bim/module/tester/prop.py index fb20a0d4cd..4beb07c533 100644 --- a/src/bonsai/bonsai/bim/module/tester/prop.py +++ b/src/bonsai/bonsai/bim/module/tester/prop.py @@ -19,19 +19,20 @@ from typing import TYPE_CHECKING import bpy -from bonsai.bim.module.tester.data import TesterData -from bonsai.bim.prop import StrProperty, MultipleFileSelect -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) +from bpy.types import PropertyGroup + +from bonsai.bim.module.tester.data import TesterData +from bonsai.bim.prop import MultipleFileSelect, StrProperty def update_active_specification_index(self: "IfcTesterProperties", context: bpy.types.Context) -> None: diff --git a/src/bonsai/bonsai/bim/module/tester/ui.py b/src/bonsai/bonsai/bim/module/tester/ui.py index 66648f4e43..e20bfde1c1 100644 --- a/src/bonsai/bonsai/bim/module/tester/ui.py +++ b/src/bonsai/bonsai/bim/module/tester/ui.py @@ -20,12 +20,12 @@ from __future__ import annotations from typing import TYPE_CHECKING -from bonsai.bim.ui import draw_multiline_text - import bpy from bpy.types import Panel, UIList + import bonsai.tool as tool from bonsai.bim.module.tester.data import TesterData +from bonsai.bim.ui import draw_multiline_text if TYPE_CHECKING: from bonsai.bim.module.tester.prop import ( diff --git a/src/bonsai/bonsai/bim/module/type/__init__.py b/src/bonsai/bonsai/bim/module/type/__init__.py index b77bcbfb8e..0aa61167d6 100644 --- a/src/bonsai/bonsai/bim/module/type/__init__.py +++ b/src/bonsai/bonsai/bim/module/type/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AssignType, diff --git a/src/bonsai/bonsai/bim/module/type/data.py b/src/bonsai/bonsai/bim/module/type/data.py index 3d0f506986..25beb2d36d 100644 --- a/src/bonsai/bonsai/bim/module/type/data.py +++ b/src/bonsai/bonsai/bim/module/type/data.py @@ -17,9 +17,10 @@ # along with Bonsai. If not, see . import bpy -import ifcopenshell.util.type import ifcopenshell.util.element +import ifcopenshell.util.type from ifcopenshell.util.doc import get_entity_doc + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/bim/module/type/operator.py b/src/bonsai/bonsai/bim/module/type/operator.py index ce70f59231..8d24989f12 100644 --- a/src/bonsai/bonsai/bim/module/type/operator.py +++ b/src/bonsai/bonsai/bim/module/type/operator.py @@ -16,22 +16,24 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy +from typing import TYPE_CHECKING + import bmesh -import ifcopenshell.util.element -import ifcopenshell.util.schema -import ifcopenshell.util.representation -import ifcopenshell.util.type -import ifcopenshell.util.unit +import bpy import ifcopenshell.api import ifcopenshell.api.attribute import ifcopenshell.api.type +import ifcopenshell.util.element +import ifcopenshell.util.representation +import ifcopenshell.util.schema +import ifcopenshell.util.type +import ifcopenshell.util.unit + import bonsai.bim.helper -import bonsai.tool as tool import bonsai.core.geometry -import bonsai.core.type as core import bonsai.core.root -from typing import TYPE_CHECKING +import bonsai.core.type as core +import bonsai.tool as tool class AssignType(bpy.types.Operator, tool.Ifc.Operator): @@ -72,7 +74,7 @@ class AssignType(bpy.types.Operator, tool.Ifc.Operator): element = tool.Ifc.get_entity(obj) if not element or not element.is_a("IfcObject"): continue - core.assign_type(tool.Ifc, tool.Type, element=element, type=relating_type) + core.assign_type(tool.Ifc, tool.Model, tool.Type, element=element, type=relating_type) # Switch to the drawing's target view if available if active_target_view and element.Representation: @@ -382,7 +384,7 @@ class DuplicateType(bpy.types.Operator, tool.Ifc.Operator): for selected_obj in selected_objects: selected_element = tool.Ifc.get_entity(selected_obj) if selected_element and selected_element.is_a("IfcObject"): - core.assign_type(tool.Ifc, tool.Type, element=selected_element, type=new) + core.assign_type(tool.Ifc, tool.Model, tool.Type, element=selected_element, type=new) if prefs.occurrence_name_style == "TYPE": selected_obj.name = tool.Model.generate_occurrence_name(new, selected_element.is_a()) diff --git a/src/bonsai/bonsai/bim/module/type/prop.py b/src/bonsai/bonsai/bim/module/type/prop.py index 2786636404..13141a7947 100644 --- a/src/bonsai/bonsai/bim/module/type/prop.py +++ b/src/bonsai/bonsai/bim/module/type/prop.py @@ -16,24 +16,26 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Union + import bpy import ifcopenshell.util.element import ifcopenshell.util.type -from bonsai.bim.module.type.data import TypeData -from bonsai.bim.prop import Attribute -import bonsai.tool as tool -from typing import TYPE_CHECKING, Union -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) +from bpy.types import PropertyGroup + +import bonsai.tool as tool +from bonsai.bim.module.type.data import TypeData +from bonsai.bim.prop import Attribute def get_relating_type_class(self: "BIMTypeProperties", context: bpy.types.Context) -> list[tuple[str, str, str]]: diff --git a/src/bonsai/bonsai/bim/module/type/ui.py b/src/bonsai/bonsai/bim/module/type/ui.py index d596997d5a..fbd1edd446 100644 --- a/src/bonsai/bonsai/bim/module/type/ui.py +++ b/src/bonsai/bonsai/bim/module/type/ui.py @@ -17,10 +17,11 @@ # along with Bonsai. If not, see . import bpy -import bonsai.tool as tool -import bonsai.bim.module.type.prop as type_prop from bpy.types import Panel -from bonsai.bim.helper import prop_with_search, get_display_value + +import bonsai.bim.module.type.prop as type_prop +import bonsai.tool as tool +from bonsai.bim.helper import get_display_value, prop_with_search from bonsai.bim.module.type.data import TypeData diff --git a/src/bonsai/bonsai/bim/module/unit/__init__.py b/src/bonsai/bonsai/bim/module/unit/__init__.py index 29f209dcd3..a6e65f605e 100644 --- a/src/bonsai/bonsai/bim/module/unit/__init__.py +++ b/src/bonsai/bonsai/bim/module/unit/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddContextDependentUnit, diff --git a/src/bonsai/bonsai/bim/module/unit/data.py b/src/bonsai/bonsai/bim/module/unit/data.py index 22977988bf..fc51ef3710 100644 --- a/src/bonsai/bonsai/bim/module/unit/data.py +++ b/src/bonsai/bonsai/bim/module/unit/data.py @@ -17,10 +17,11 @@ # along with Bonsai. If not, see . import ifcopenshell -import ifcopenshell.util.unit -import ifcopenshell.util.schema import ifcopenshell.util.attribute +import ifcopenshell.util.schema +import ifcopenshell.util.unit from ifcopenshell.util.doc import get_entity_doc + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/bim/module/unit/operator.py b/src/bonsai/bonsai/bim/module/unit/operator.py index f7c129aba1..da2c7edc1d 100644 --- a/src/bonsai/bonsai/bim/module/unit/operator.py +++ b/src/bonsai/bonsai/bim/module/unit/operator.py @@ -16,12 +16,14 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING + import bpy import ifcopenshell.api import ifcopenshell.util.unit -import bonsai.tool as tool + import bonsai.core.unit as core -from typing import TYPE_CHECKING +import bonsai.tool as tool if TYPE_CHECKING: from bpy.stub_internal import rna_enums diff --git a/src/bonsai/bonsai/bim/module/unit/prop.py b/src/bonsai/bonsai/bim/module/unit/prop.py index a335532294..02fe7ac803 100644 --- a/src/bonsai/bonsai/bim/module/unit/prop.py +++ b/src/bonsai/bonsai/bim/module/unit/prop.py @@ -16,21 +16,23 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING + import bpy -from bonsai.bim.prop import StrProperty, Attribute -from bonsai.bim.module.unit.data import UnitsData -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import TYPE_CHECKING +from bpy.types import PropertyGroup + +from bonsai.bim.module.unit.data import UnitsData +from bonsai.bim.prop import Attribute, StrProperty def get_unit_classes(self: "BIMUnitProperties", context: bpy.types.Context) -> list[tuple[str, str, str]]: diff --git a/src/bonsai/bonsai/bim/module/unit/ui.py b/src/bonsai/bonsai/bim/module/unit/ui.py index 9407ef01ac..703c43c3d5 100644 --- a/src/bonsai/bonsai/bim/module/unit/ui.py +++ b/src/bonsai/bonsai/bim/module/unit/ui.py @@ -17,13 +17,16 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bonsai.bim.helper -import bonsai.tool as tool + +from typing import TYPE_CHECKING + import bpy from bpy.types import Panel, UIList + +import bonsai.bim.helper +import bonsai.tool as tool from bonsai.bim.helper import prop_with_search from bonsai.bim.module.unit.data import UnitsData -from typing import TYPE_CHECKING if TYPE_CHECKING: from bonsai.bim.module.unit.prop import BIMUnitProperties, Unit diff --git a/src/bonsai/bonsai/bim/module/void/__init__.py b/src/bonsai/bonsai/bim/module/void/__init__.py index f89d514ad0..1fef345a89 100644 --- a/src/bonsai/bonsai/bim/module/void/__init__.py +++ b/src/bonsai/bonsai/bim/module/void/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.AddFilling, diff --git a/src/bonsai/bonsai/bim/module/void/data.py b/src/bonsai/bonsai/bim/module/void/data.py index a1999e8d21..6d1fcc12a2 100644 --- a/src/bonsai/bonsai/bim/module/void/data.py +++ b/src/bonsai/bonsai/bim/module/void/data.py @@ -16,11 +16,13 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from collections.abc import Generator +from typing import Any, Union + import bpy import ifcopenshell + import bonsai.tool as tool -from typing import Any, Union -from collections.abc import Generator def refresh(): diff --git a/src/bonsai/bonsai/bim/module/void/operator.py b/src/bonsai/bonsai/bim/module/void/operator.py index 0d2136d1d7..8c584e0b14 100644 --- a/src/bonsai/bonsai/bim/module/void/operator.py +++ b/src/bonsai/bonsai/bim/module/void/operator.py @@ -21,10 +21,11 @@ import ifcopenshell.api import ifcopenshell.api.feature import ifcopenshell.util.element import ifcopenshell.util.representation -import bonsai.tool as tool + +import bonsai.bim.handler import bonsai.core.geometry import bonsai.core.root -import bonsai.bim.handler +import bonsai.tool as tool from bonsai.bim.module.model.opening import FilledOpeningGenerator diff --git a/src/bonsai/bonsai/bim/module/void/prop.py b/src/bonsai/bonsai/bim/module/void/prop.py index 0170dbd606..1c6bf088d9 100644 --- a/src/bonsai/bonsai/bim/module/void/prop.py +++ b/src/bonsai/bonsai/bim/module/void/prop.py @@ -16,10 +16,18 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING, Literal, Union, get_args + import bpy +from bpy.props import ( + BoolProperty, + CollectionProperty, + EnumProperty, + IntProperty, + PointerProperty, + StringProperty, +) from bpy.types import PropertyGroup -from bpy.props import PointerProperty, StringProperty, IntProperty, BoolProperty, CollectionProperty, EnumProperty -from typing import Union, TYPE_CHECKING, Literal, get_args OperatorType = Literal["DIFFERENCE", "INTERSECTION", "UNION"] diff --git a/src/bonsai/bonsai/bim/module/void/ui.py b/src/bonsai/bonsai/bim/module/void/ui.py index 8c80adca07..37415eb978 100644 --- a/src/bonsai/bonsai/bim/module/void/ui.py +++ b/src/bonsai/bonsai/bim/module/void/ui.py @@ -17,11 +17,14 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING, Any + import bpy -import bonsai.tool as tool from bpy.types import Panel, UIList + +import bonsai.tool as tool from bonsai.bim.module.void.data import BooleansData, VoidsData -from typing import Any, TYPE_CHECKING if TYPE_CHECKING: import bpy.stub_internal.rna_enums as rna_enums diff --git a/src/bonsai/bonsai/bim/module/web/__init__.py b/src/bonsai/bonsai/bim/module/web/__init__.py index de3f7015a4..d2d28e0f62 100644 --- a/src/bonsai/bonsai/bim/module/web/__init__.py +++ b/src/bonsai/bonsai/bim/module/web/__init__.py @@ -17,7 +17,8 @@ # along with Bonsai. If not, see . import bpy -from . import ui, prop, operator + +from . import operator, prop, ui classes = ( operator.ConnectToWebsocketServer, diff --git a/src/bonsai/bonsai/bim/module/web/data.py b/src/bonsai/bonsai/bim/module/web/data.py index db939cadfa..e74b7fa0b6 100644 --- a/src/bonsai/bonsai/bim/module/web/data.py +++ b/src/bonsai/bonsai/bim/module/web/data.py @@ -16,10 +16,12 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -import bonsai.tool as tool import os +import bpy + +import bonsai.tool as tool + def refresh(): WebData.is_loaded = False diff --git a/src/bonsai/bonsai/bim/module/web/operator.py b/src/bonsai/bonsai/bim/module/web/operator.py index 1c8bb21e9b..8efd15494e 100644 --- a/src/bonsai/bonsai/bim/module/web/operator.py +++ b/src/bonsai/bonsai/bim/module/web/operator.py @@ -17,7 +17,9 @@ # along with Bonsai. If not, see . import os + import bpy + import bonsai.core.web as core import bonsai.tool as tool diff --git a/src/bonsai/bonsai/bim/module/web/prop.py b/src/bonsai/bonsai/bim/module/web/prop.py index 66ffdd4995..1538454270 100644 --- a/src/bonsai/bonsai/bim/module/web/prop.py +++ b/src/bonsai/bonsai/bim/module/web/prop.py @@ -17,18 +17,19 @@ # along with Bonsai. If not, see . from typing import TYPE_CHECKING + import bpy -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) +from bpy.types import PropertyGroup class WebProperties(PropertyGroup): diff --git a/src/bonsai/bonsai/bim/module/web/ui.py b/src/bonsai/bonsai/bim/module/web/ui.py index 0a6fca55ae..88bd0e6e6f 100644 --- a/src/bonsai/bonsai/bim/module/web/ui.py +++ b/src/bonsai/bonsai/bim/module/web/ui.py @@ -17,6 +17,7 @@ # along with Bonsai. If not, see . from bpy.types import Panel + import bonsai.tool as tool from bonsai.bim.module.web.data import WebData diff --git a/src/bonsai/bonsai/bim/operator.py b/src/bonsai/bonsai/bim/operator.py index 3621344542..f332c91401 100644 --- a/src/bonsai/bonsai/bim/operator.py +++ b/src/bonsai/bonsai/bim/operator.py @@ -16,40 +16,43 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import os import contextlib -import bpy -import bmesh -import time import logging -import textwrap -import shutil +import os import platform +import shutil import subprocess import tempfile +import textwrap +import time import webbrowser -import ifcopenshell -import bonsai.bim -import bonsai.tool as tool -import bonsai.bim.handler +from collections import namedtuple +from collections.abc import Iterable from enum import Enum -from bpy_extras.io_utils import ImportHelper -from bonsai.bim import import_ifc -from bonsai.bim.prop import StrProperty -from bonsai.bim.ui import IFCFileSelector -from bonsai.bim.helper import get_enum_items -from mathutils import Vector, Euler from math import radians from pathlib import Path -from collections import namedtuple -from typing import Union, TYPE_CHECKING, Literal, get_args -from collections.abc import Iterable +from typing import TYPE_CHECKING, Literal, Union, get_args + +import bmesh +import bpy +import ifcopenshell +from bpy_extras.io_utils import ImportHelper +from mathutils import Euler, Vector from natsort import natsorted +import bonsai.bim +import bonsai.bim.handler +import bonsai.tool as tool +from bonsai.bim import import_ifc +from bonsai.bim.helper import get_enum_items +from bonsai.bim.prop import StrProperty +from bonsai.bim.ui import IFCFileSelector + if TYPE_CHECKING: - from bonsai.bim.prop import MultipleFileSelect, Attribute from bpy.stub_internal import rna_enums + from bonsai.bim.prop import Attribute, MultipleFileSelect + class SetTab(bpy.types.Operator): bl_idname = "bim.set_tab" @@ -265,63 +268,45 @@ class SaveBlendMetadataFile(bpy.types.Operator): import bpy # Ensure all styles are loaded before attempting to remove them -try: - bpy.ops.bim.load_styles() -except Exception: - pass +bpy.ops.bim.load_styles() # 1. Collect all IfcStyle material names ifcstyle_material_names = [] -try: - styles_props = getattr(bpy.context.scene, "BIMStylesProperties", None) - if styles_props is None and bpy.data.scenes: - styles_props = getattr(bpy.data.scenes[0], "BIMStylesProperties", None) - if styles_props: - for style in list(styles_props.styles): - material = getattr(style, "blender_material", None) - if material and material.name: - ifcstyle_material_names.append(material.name) -except Exception: - pass +styles_props = getattr(bpy.context.scene, "BIMStylesProperties", None) +if styles_props is None and bpy.data.scenes: + styles_props = getattr(bpy.data.scenes[0], "BIMStylesProperties", None) +if styles_props: + for style in list(styles_props.styles): + material = getattr(style, "blender_material", None) + if material and material.name: + ifcstyle_material_names.append(material.name) # 2. Purge IfcStore -try: - from bonsai.bim.ifc import IfcStore -except ImportError: - IfcStore = None - -if IfcStore: - try: - IfcStore.purge() - except Exception: - pass +from bonsai.bim.ifc import IfcStore +IfcStore.purge() # 3. Remove all collections named IfcProject* for collection in list(bpy.data.collections): if collection.name.startswith('IfcProject'): - try: - bpy.data.collections.remove(collection, do_unlink=True) - except Exception: - pass + bpy.data.collections.remove(collection, do_unlink=True) -# 4. Purge orphaned data blocks after removing IfcProject collections -try: - bpy.ops.outliner.orphans_purge(do_local_ids=True, do_linked_ids=True, do_recursive=True) -except Exception: - pass +# 4.1 Remove all collections from linked libraries (they will be recreated by bonsai) +for collection in list(bpy.data.collections): + if collection.library: + bpy.data.collections.remove(collection, do_unlink=True) -# 5. Remove all materials corresponding to the IfcStyles we collected -materials_removed = 0 -try: - for mat_name in ifcstyle_material_names: - if mat_name in bpy.data.materials: - try: - bpy.data.materials.remove(bpy.data.materials[mat_name], do_unlink=True) - materials_removed += 1 - except Exception: - pass -except Exception: - pass +# 4.2. Remove all empty objects that are collection instances for linked models +for obj in list(bpy.data.objects): + if obj.type == 'EMPTY' and obj.instance_type == 'COLLECTION' and obj.name.startswith('IfcProject/'): + bpy.data.objects.remove(obj, do_unlink=True) + +# 5. Purge orphaned data blocks after removing IfcProject collections +bpy.ops.outliner.orphans_purge(do_local_ids=True, do_linked_ids=True, do_recursive=True) + +# 6. Remove all materials corresponding to the IfcStyles we collected +for mat_name in ifcstyle_material_names: + if mat_name in bpy.data.materials: + bpy.data.materials.remove(bpy.data.materials[mat_name], do_unlink=True) bpy.ops.wm.save_as_mainfile(filepath=r'{blendmetadata_path}') """ diff --git a/src/bonsai/bonsai/bim/prop.py b/src/bonsai/bonsai/bim/prop.py index 5e8f435b94..58cca806eb 100644 --- a/src/bonsai/bonsai/bim/prop.py +++ b/src/bonsai/bonsai/bim/prop.py @@ -16,35 +16,37 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import os -import bpy import json +import os +from typing import TYPE_CHECKING, Any, Literal, Union, assert_never, get_args + +import bpy import ifcopenshell import ifcopenshell.util.pset import ifcopenshell.util.unit -from ifcopenshell.util.doc import ( - get_entity_doc, - get_attribute_doc, - get_property_set_doc, - get_property_doc, - get_predefined_type_doc, -) -import bonsai.bim -import bonsai.bim.schema -import bonsai.bim.handler -import bonsai.tool as tool -from bpy.types import PropertyGroup from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, + CollectionProperty, + EnumProperty, FloatProperty, FloatVectorProperty, - CollectionProperty, + IntProperty, + PointerProperty, + StringProperty, ) -from typing import Any, Union, Literal, get_args, TYPE_CHECKING, assert_never +from bpy.types import PropertyGroup +from ifcopenshell.util.doc import ( + get_attribute_doc, + get_entity_doc, + get_predefined_type_doc, + get_property_doc, + get_property_set_doc, +) + +import bonsai.bim +import bonsai.bim.handler +import bonsai.bim.schema +import bonsai.tool as tool cwd = os.path.dirname(os.path.realpath(__file__)) @@ -590,6 +592,7 @@ class BIMProperties(PropertyGroup): area_unit: EnumProperty( default="SQUARE_METRE", items=[ + ("NONE", "None", ""), ("NANO/SQUARE_METRE", "Square Nanometre", ""), ("MICRO/SQUARE_METRE", "Square Micrometre", ""), ("MILLI/SQUARE_METRE", "Square Millimetre", ""), @@ -607,6 +610,7 @@ class BIMProperties(PropertyGroup): volume_unit: EnumProperty( default="CUBIC_METRE", items=[ + ("NONE", "None", ""), ("NANO/CUBIC_METRE", "Cubic Nanometre", ""), ("MICRO/CUBIC_METRE", "Cubic Micrometre", ""), ("MILLI/CUBIC_METRE", "Cubic Millimetre", ""), @@ -620,31 +624,28 @@ class BIMProperties(PropertyGroup): ], name="IFC Volume Unit", ) - add_mass_time_units: bpy.props.BoolProperty( - name="Add Mass and Time Units", - description="Enable to define mass and time units for the project", - default=False, - ) mass_unit: EnumProperty( items=[ - ("KILOGRAM", "Kilogram", "Kilograms"), + ("NONE", "None", ""), ("GRAM", "Gram", "Grams"), - ("POUND", "Pound", "Pounds"), - ("OUNCE", "Ounce", "Ounces"), - ("TONNE", "Tonne", "Metric Tons"), + ("KILO/GRAM", "Kilogram", "Kilograms"), + ("MEGA/GRAM", "Tonne", "Metric Tons"), + ("pound", "Pound", "Pounds"), + ("ounce", "Ounce", "Ounces"), ], name="Mass Unit", - default="KILOGRAM", + default="NONE", ) time_unit: EnumProperty( items=[ + ("NONE", "None", ""), ("SECOND", "Second", "Seconds"), - ("MINUTE", "Minute", "Minutes"), - ("HOUR", "Hour", "Hours"), - ("DAY", "Day", "Days"), + ("minute", "Minute", "Minutes"), + ("hour", "Hour", "Hours"), + ("day", "Day", "Days"), ], name="Time Unit", - default="HOUR", + default="NONE", ) tab_visibilities: CollectionProperty(type=BIMTabVisibility, name="Tab Visibilities") active_tab_visibility_index: IntProperty(name="Active Tab Visibility Index") diff --git a/src/bonsai/bonsai/bim/schema.py b/src/bonsai/bonsai/bim/schema.py index 7890f90006..4ef96e72a7 100644 --- a/src/bonsai/bonsai/bim/schema.py +++ b/src/bonsai/bonsai/bim/schema.py @@ -16,11 +16,13 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING + +import bpy import ifcopenshell import ifcopenshell.util.pset + import bonsai.tool as tool -import bpy -from typing import TYPE_CHECKING if TYPE_CHECKING or bpy.app.version >= (5, 0, 0): import _bpy_restrict_state as bpy_restrict_state diff --git a/src/bonsai/bonsai/bim/ui.py b/src/bonsai/bonsai/bim/ui.py index 9cb2a0bfff..0104f31fc0 100644 --- a/src/bonsai/bonsai/bim/ui.py +++ b/src/bonsai/bonsai/bim/ui.py @@ -17,49 +17,51 @@ # along with Bonsai. If not, see . import os -import bpy import platform -import platformdirs -import bonsai.bim.helper +import textwrap from pathlib import Path +from typing import TYPE_CHECKING, Literal, Optional + +import bpy +import platformdirs +from bpy.props import BoolProperty, IntProperty, StringProperty from bpy.types import Panel -from bpy.props import StringProperty, IntProperty, BoolProperty from ifcopenshell.util.doc import ( + get_attribute_doc, get_entity_doc, get_property_set_doc, get_type_doc, - get_attribute_doc, ) -from . import ifc -from bonsai import get_debug_info -import bonsai.bim -import bonsai.tool as tool from ifcopenshell.util.file import IfcHeaderExtractor -from bonsai.bim.prop import Attribute +from natsort import natsorted + +import bonsai.bim +import bonsai.bim.helper +import bonsai.tool as tool +from bonsai import get_debug_info from bonsai.bim.module.bsdd.prop import BIMBSDDProperties, BSDDProperty -from bonsai.bim.module.pset.prop import IfcProperty from bonsai.bim.module.model.prop import ( BIMDoorProperties, - BIMWindowProperties, BIMRailingProperties, BIMRoofProperties, BIMStairProperties, + BIMWindowProperties, ) from bonsai.bim.module.model.ui import ( draw_door_properties, - draw_window_properties, draw_railing_properties, draw_roof_properties, draw_stair_properties, + draw_window_properties, ) -from typing import Optional, TYPE_CHECKING, Literal -from natsort import natsorted -import textwrap +from bonsai.bim.module.pset.prop import IfcProperty +from bonsai.bim.prop import Attribute +from . import ifc if TYPE_CHECKING: - from bonsai.bim.prop import ObjProperty from bonsai.bim.module.project.prop import BIMProjectProperties + from bonsai.bim.prop import ObjProperty class IFCFileSelector: @@ -465,12 +467,12 @@ class DocPreferences(bpy.types.PropertyGroup): classes_to_wireframe: StringProperty( default="IfcVirtualElement", name="Classes to Wireframe", - description="Upon import, these classes will display as wireframe.\nEx: IfcVirtualelement, IfcSpace", + description="Upon import, these classes will display as wireframe.\nEx: IfcVirtualElement, IfcSpace", ) classes_no_cut: StringProperty( default="IfcVirtualElement, IfcSpace", name="Classes that are not cut", - description="The cut decoractor will be turned off for these classes\nEx: IfcVirtualelement, IfcSpace", + description="The cut decorator will be turned off for these classes\nEx: IfcVirtualElement, IfcSpace", ) if TYPE_CHECKING: @@ -658,6 +660,10 @@ class BIM_ADDON_preferences(bpy.types.AddonPreferences): bsdd_load_test_dictionaries: BoolProperty( name="Load Test Dictionaries", description="Load dictionaries that are for testing only", default=False ) + bsdd_baseurl: StringProperty( + name="bSDD API Base URL", description="Base URL for data dictionary API requests, e.g. https://api.bsdd.buildingsmart.org/api/", + default="https://api.bsdd.buildingsmart.org/api/", + ) should_disable_undo_on_save: BoolProperty( name="Disable Undo When Saving (Faster saves, no undo for you!)", default=False ) @@ -717,21 +723,22 @@ class BIM_ADDON_preferences(bpy.types.AddonPreferences): default=False, ) - mass_time_units_in_wizard: BoolProperty( - name="Mass and time units in project wizard", - description="Show mass and time units section in the new project wizard panel", - default=False, - ) - chain_filter_with_set_operations: BoolProperty( name="NEW Filter mode: Enable chained filters with set operations", - description="Enable chaining search filters with set operations: ADD (union: combine sets), SUBTRACT (difference: remove from set), FILTER (intersection: only elements in both sets), with autocomplete suggestions for filter values", + description=( + "Enable chaining search filters with set operations: " + "ADD (union: combine sets), SUBTRACT (difference: remove from set), " + "FILTER (intersection: only elements in both sets), with autocomplete suggestions for filter values" + ), default=False, ) save_metadata_blend_file: BoolProperty( name="Save non ifc data to metadata blend File", - description="Save session data (window layout, settings) to a metadata blend file alongside the IFC file. This file is automatically loaded when opening the project.", + description=( + "Save session data (window layout, settings) to a metadata blend file alongside the IFC file. " + "This file is automatically loaded when opening the project." + ), default=False, ) metadata_blend_file_suffix: StringProperty( @@ -969,6 +976,7 @@ class BIM_ADDON_preferences(bpy.types.AddonPreferences): layout.prop(self, "bsdd_load_preview_dictionaries") layout.prop(self, "bsdd_load_inactive_dictionaries") layout.prop(self, "bsdd_load_test_dictionaries") + layout.prop(self, "bsdd_baseurl") def draw_extras_settings(self, layout: bpy.types.UILayout, context: bpy.types.Context) -> None: layout.prop(self, "container_hide_show_isolate") diff --git a/src/bonsai/bonsai/core/aggregate.py b/src/bonsai/bonsai/core/aggregate.py index a1f2723338..0b6719a180 100644 --- a/src/bonsai/bonsai/core/aggregate.py +++ b/src/bonsai/bonsai/core/aggregate.py @@ -17,11 +17,13 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Optional, Union if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/attribute.py b/src/bonsai/bonsai/core/attribute.py index fd41beda7a..2bc2340cd8 100644 --- a/src/bonsai/bonsai/core/attribute.py +++ b/src/bonsai/bonsai/core/attribute.py @@ -17,11 +17,13 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Union if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/brick.py b/src/bonsai/bonsai/core/brick.py index b285377d86..a21c6d0656 100644 --- a/src/bonsai/bonsai/core/brick.py +++ b/src/bonsai/bonsai/core/brick.py @@ -17,11 +17,13 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Optional, Union if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/bsdd.py b/src/bonsai/bonsai/core/bsdd.py index 3bb4513d40..1cbf610ea7 100644 --- a/src/bonsai/bonsai/core/bsdd.py +++ b/src/bonsai/bonsai/core/bsdd.py @@ -17,12 +17,14 @@ # along with Bonsai. If not, see . from __future__ import annotations -from typing import TYPE_CHECKING, Optional, Any + +from typing import TYPE_CHECKING, Any, Optional if TYPE_CHECKING: import bpy - import ifcopenshell import bsdd + import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/context.py b/src/bonsai/bonsai/core/context.py index 626720fb33..49815881aa 100644 --- a/src/bonsai/bonsai/core/context.py +++ b/src/bonsai/bonsai/core/context.py @@ -17,11 +17,13 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Optional if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/cost.py b/src/bonsai/bonsai/core/cost.py index fe55d3c31c..6cd2d916c3 100644 --- a/src/bonsai/bonsai/core/cost.py +++ b/src/bonsai/bonsai/core/cost.py @@ -17,12 +17,14 @@ # along with Bonsai. If not, see . from __future__ import annotations -from typing import TYPE_CHECKING, Optional, Union, Literal + +from typing import TYPE_CHECKING, Literal, Optional, Union if TYPE_CHECKING: import bpy import ifcopenshell import ifcopenshell.util.cost + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/covering.py b/src/bonsai/bonsai/core/covering.py index ffc140dac6..c308c861fc 100644 --- a/src/bonsai/bonsai/core/covering.py +++ b/src/bonsai/bonsai/core/covering.py @@ -17,11 +17,13 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Optional if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/debug.py b/src/bonsai/bonsai/core/debug.py index 2446a6e148..b79bd4f0e7 100644 --- a/src/bonsai/bonsai/core/debug.py +++ b/src/bonsai/bonsai/core/debug.py @@ -18,11 +18,13 @@ from __future__ import annotations + from typing import TYPE_CHECKING, Optional if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/document.py b/src/bonsai/bonsai/core/document.py index ac49fee10d..e38fc5d1e1 100644 --- a/src/bonsai/bonsai/core/document.py +++ b/src/bonsai/bonsai/core/document.py @@ -17,10 +17,12 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Optional if TYPE_CHECKING: import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/drawing.py b/src/bonsai/bonsai/core/drawing.py index 6ce74fe394..42b0f77fbb 100644 --- a/src/bonsai/bonsai/core/drawing.py +++ b/src/bonsai/bonsai/core/drawing.py @@ -17,13 +17,15 @@ # along with Bonsai. If not, see . from __future__ import annotations + from pathlib import Path -from typing import TYPE_CHECKING, Optional, Union, Literal +from typing import TYPE_CHECKING, Literal, Optional, Union if TYPE_CHECKING: import bpy import ifcopenshell import ifcopenshell.util.representation + import bonsai.tool as tool @@ -37,12 +39,44 @@ def disable_editing_text(drawing: type[tool.Drawing], obj: bpy.types.Object) -> def edit_text(drawing: type[tool.Drawing], obj: bpy.types.Object) -> None: - drawing.synchronise_ifc_and_text_attributes(obj) - drawing.update_text_size_pset(obj) - drawing.update_text_annotation_properties(obj) + literal_attributes = drawing.export_text_literal_attributes(obj) + drawing.edit_text_font_size(obj, drawing.export_font_size(obj)) + drawing.edit_text_wrap_length(obj, drawing.export_wrap_length(obj)) + drawing.edit_text_symbol(obj, drawing.export_symbol(obj)) + drawing.edit_text_literals(obj, literal_attributes) drawing.disable_editing_text(obj) +def copy_text_to_selection( + drawing: type[tool.Drawing], + attribute: Literal["FONT_SIZE", "ALIGNMENT", "WRAP_LENGTH", "SYMBOL", "LITERALS"], + attribute_obj: bpy.types.Object, + apply_objs: list[bpy.types.Object], +) -> None: + if attribute == "FONT_SIZE": + data = drawing.export_font_size(attribute_obj) + elif attribute == "ALIGNMENT": + data = drawing.export_alignment(attribute_obj) + elif attribute == "WRAP_LENGTH": + data = drawing.export_wrap_length(attribute_obj) + elif attribute == "SYMBOL": + data = drawing.export_symbol(attribute_obj) + elif attribute == "LITERALS": + data = drawing.export_text_literal_attributes(attribute_obj) + for obj in apply_objs: + if attribute == "FONT_SIZE": + drawing.edit_text_font_size(obj, data) + elif attribute == "ALIGNMENT": + drawing.edit_text_alignment(obj, data) + elif attribute == "WRAP_LENGTH": + drawing.edit_text_wrap_length(obj, data) + elif attribute == "SYMBOL": + drawing.edit_text_symbol(obj, data) + elif attribute == "LITERALS": + drawing.edit_text_literals(obj, data) + drawing.disable_editing_text(obj) + + def enable_editing_assigned_product(drawing: type[tool.Drawing], obj: bpy.types.Object) -> None: drawing.enable_editing_assigned_product(obj) drawing.import_assigned_product(obj) diff --git a/src/bonsai/bonsai/core/geometry.py b/src/bonsai/bonsai/core/geometry.py index 99512f75b8..83ba921d30 100644 --- a/src/bonsai/bonsai/core/geometry.py +++ b/src/bonsai/bonsai/core/geometry.py @@ -17,12 +17,14 @@ # along with Bonsai. If not, see . from __future__ import annotations -from typing import TYPE_CHECKING, Optional, Union + from collections.abc import Sequence +from typing import TYPE_CHECKING, Optional, Union if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/georeference.py b/src/bonsai/bonsai/core/georeference.py index 419f4218ba..442c928b4e 100644 --- a/src/bonsai/bonsai/core/georeference.py +++ b/src/bonsai/bonsai/core/georeference.py @@ -17,16 +17,19 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Optional if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool def add_georeferencing(georeference: type[tool.Georeference]) -> None: georeference.add_georeferencing() + georeference.set_model_origin() def enable_editing_georeferencing(georeference: type[tool.Georeference]) -> None: @@ -35,8 +38,9 @@ def enable_editing_georeferencing(georeference: type[tool.Georeference]) -> None georeference.enable_editing() -def remove_georeferencing(ifc: type[tool.Ifc]) -> None: +def remove_georeferencing(ifc: type[tool.Ifc], georeference: type[tool.Georeference]) -> None: ifc.run("georeference.remove_georeferencing") + georeference.set_model_origin() def disable_editing_georeferencing(georeference: type[tool.Georeference]) -> None: diff --git a/src/bonsai/bonsai/core/ifcgit.py b/src/bonsai/bonsai/core/ifcgit.py index f3a2ead14a..703013e266 100644 --- a/src/bonsai/bonsai/core/ifcgit.py +++ b/src/bonsai/bonsai/core/ifcgit.py @@ -17,14 +17,16 @@ # along with Bonsai. If not, see . from __future__ import annotations + import platform from typing import TYPE_CHECKING, Optional if TYPE_CHECKING: import bpy - import ifcopenshell - import bonsai.tool as tool import git + import ifcopenshell + + import bonsai.tool as tool def create_repo(ifcgit: type[tool.IfcGit], ifc: type[tool.Ifc]) -> None: diff --git a/src/bonsai/bonsai/core/library.py b/src/bonsai/bonsai/core/library.py index 53f5f8ce8c..e6c58bf0f7 100644 --- a/src/bonsai/bonsai/core/library.py +++ b/src/bonsai/bonsai/core/library.py @@ -17,11 +17,13 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Optional if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/material.py b/src/bonsai/bonsai/core/material.py index 25a1df3e89..65c5955603 100644 --- a/src/bonsai/bonsai/core/material.py +++ b/src/bonsai/bonsai/core/material.py @@ -17,11 +17,13 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Optional, Union if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/misc.py b/src/bonsai/bonsai/core/misc.py index a69ffb2180..297b81eac8 100644 --- a/src/bonsai/bonsai/core/misc.py +++ b/src/bonsai/bonsai/core/misc.py @@ -17,11 +17,13 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Optional if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/model.py b/src/bonsai/bonsai/core/model.py index c82de50e0e..6edce4d100 100644 --- a/src/bonsai/bonsai/core/model.py +++ b/src/bonsai/bonsai/core/model.py @@ -17,15 +17,16 @@ # along with Bonsai. If not, see . from __future__ import annotations -from typing import TYPE_CHECKING, Optional, Literal + +from typing import TYPE_CHECKING, Literal, Optional if TYPE_CHECKING: import bpy import ifcopenshell - import bonsai.tool as tool - from mathutils import Vector - from bonsai.bim.module.model.wall import DumbWallJoiner, DumbWallAligner + + import bonsai.tool as tool + from bonsai.bim.module.model.wall import DumbWallAligner, DumbWallJoiner AlignType = Literal["CENTER", "EXTERIOR", "INTERIOR"] OffsetType = Literal["CENTER", "EXTERIOR", "INTERIOR"] diff --git a/src/bonsai/bonsai/core/nest.py b/src/bonsai/bonsai/core/nest.py index 645efa0eb6..4ab491666b 100644 --- a/src/bonsai/bonsai/core/nest.py +++ b/src/bonsai/bonsai/core/nest.py @@ -17,11 +17,13 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Optional, Union if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/owner.py b/src/bonsai/bonsai/core/owner.py index f2dd366138..90383e7885 100644 --- a/src/bonsai/bonsai/core/owner.py +++ b/src/bonsai/bonsai/core/owner.py @@ -17,14 +17,16 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Optional, Union if TYPE_CHECKING: import bpy import ifcopenshell - import bonsai.tool as tool - from ifcopenshell.api.owner.add_address import ADDRESS_TYPE from ifcopenshell.api.owner.add_actor import ACTOR_TYPE + from ifcopenshell.api.owner.add_address import ADDRESS_TYPE + + import bonsai.tool as tool def add_person(ifc: type[tool.Ifc]) -> ifcopenshell.entity_instance: diff --git a/src/bonsai/bonsai/core/patch.py b/src/bonsai/bonsai/core/patch.py index a715f11f74..4acee34494 100644 --- a/src/bonsai/bonsai/core/patch.py +++ b/src/bonsai/bonsai/core/patch.py @@ -18,11 +18,13 @@ from __future__ import annotations + from typing import TYPE_CHECKING, Optional if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/profile.py b/src/bonsai/bonsai/core/profile.py index 46e179229c..e102360062 100644 --- a/src/bonsai/bonsai/core/profile.py +++ b/src/bonsai/bonsai/core/profile.py @@ -17,11 +17,13 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Optional if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/project.py b/src/bonsai/bonsai/core/project.py index f699c8bfe9..18dbd3fab2 100644 --- a/src/bonsai/bonsai/core/project.py +++ b/src/bonsai/bonsai/core/project.py @@ -17,11 +17,13 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Optional if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/pset.py b/src/bonsai/bonsai/core/pset.py index 6a92f3d400..6af9f1e1ee 100644 --- a/src/bonsai/bonsai/core/pset.py +++ b/src/bonsai/bonsai/core/pset.py @@ -18,11 +18,13 @@ from __future__ import annotations -from typing import TYPE_CHECKING, Optional, Union, Any + +from typing import TYPE_CHECKING, Any, Optional, Union if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/qto.py b/src/bonsai/bonsai/core/qto.py index d56130962b..40a866ac33 100644 --- a/src/bonsai/bonsai/core/qto.py +++ b/src/bonsai/bonsai/core/qto.py @@ -17,10 +17,12 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING if TYPE_CHECKING: import bpy + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/resource.py b/src/bonsai/bonsai/core/resource.py index a3423c98db..cab03b7ebc 100644 --- a/src/bonsai/bonsai/core/resource.py +++ b/src/bonsai/bonsai/core/resource.py @@ -19,12 +19,14 @@ # ############################################################################ # from __future__ import annotations -from typing import TYPE_CHECKING, Optional + from collections.abc import Iterable +from typing import TYPE_CHECKING, Optional if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/root.py b/src/bonsai/bonsai/core/root.py index b8f960247c..3a283a6a65 100644 --- a/src/bonsai/bonsai/core/root.py +++ b/src/bonsai/bonsai/core/root.py @@ -17,12 +17,15 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Optional + import ifcopenshell.util.element if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/search.py b/src/bonsai/bonsai/core/search.py index 5e9d279df9..cc16fb56f6 100644 --- a/src/bonsai/bonsai/core/search.py +++ b/src/bonsai/bonsai/core/search.py @@ -17,10 +17,12 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING if TYPE_CHECKING: import bpy + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/sequence.py b/src/bonsai/bonsai/core/sequence.py index 610c7095b6..d62b4325ad 100644 --- a/src/bonsai/bonsai/core/sequence.py +++ b/src/bonsai/bonsai/core/sequence.py @@ -17,11 +17,13 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Optional, Union if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/spatial.py b/src/bonsai/bonsai/core/spatial.py index 16e11e0fa9..c464f84766 100644 --- a/src/bonsai/bonsai/core/spatial.py +++ b/src/bonsai/bonsai/core/spatial.py @@ -17,11 +17,13 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Optional, Union, assert_never if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool @@ -50,15 +52,22 @@ def assign_container( collector: type[tool.Collector], spatial: type[tool.Spatial], container: ifcopenshell.entity_instance, - element_obj: Optional[bpy.types.Object] = None, + objs: Optional[bpy.types.Object] = None, ) -> Union[ifcopenshell.entity_instance, None]: - if not spatial.can_contain(container, element_obj): - return - assert element_obj # Type checker. - rel = ifc.run("spatial.assign_container", products=[ifc.get_entity(element_obj)], relating_structure=container) - spatial.disable_editing(element_obj) - collector.assign(element_obj) - return rel + root_elements = set() + all_elements = set() + for obj in objs: + if not (element := ifc.get_entity(obj)): + continue + root_element = spatial.get_root_element(element) + root_elements.add(root_element) + spatial.disable_editing(obj) + all_elements.add(root_element) + all_elements.update(spatial.get_decomposition(root_element)) + if products := [e for e in root_elements if spatial.can_contain(container, root_element)]: + ifc.run("spatial.assign_container", products=products, relating_structure=container) + for element in all_elements: + collector.assign(ifc.get_object(element)) def enable_editing_container(spatial: type[tool.Spatial], obj: bpy.types.Object) -> None: @@ -96,7 +105,7 @@ def copy_to_container( copied_obj = spatial.duplicate_object_and_data(obj) spatial.set_relative_object_matrix(copied_obj, to_container_obj, matrix) result_objs.append(spatial.run_root_copy_class(obj=copied_obj)) - spatial.run_spatial_assign_container(container=to_container, element_obj=copied_obj) + spatial.run_spatial_assign_container(container=to_container, objs=[copied_obj]) spatial.disable_editing(obj) return result_objs diff --git a/src/bonsai/bonsai/core/structural.py b/src/bonsai/bonsai/core/structural.py index 4c31883fe5..c3f787905a 100644 --- a/src/bonsai/bonsai/core/structural.py +++ b/src/bonsai/bonsai/core/structural.py @@ -17,11 +17,13 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Optional, Union if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/style.py b/src/bonsai/bonsai/core/style.py index 85bb4200aa..20fd98509c 100644 --- a/src/bonsai/bonsai/core/style.py +++ b/src/bonsai/bonsai/core/style.py @@ -17,11 +17,13 @@ # along with Bonsai. If not, see . from __future__ import annotations -from typing import TYPE_CHECKING, Optional, Any + +from typing import TYPE_CHECKING, Any, Optional if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/core/system.py b/src/bonsai/bonsai/core/system.py index fcdb95e72d..418c472645 100644 --- a/src/bonsai/bonsai/core/system.py +++ b/src/bonsai/bonsai/core/system.py @@ -17,11 +17,13 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Optional, Union if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool @@ -123,9 +125,8 @@ def hide_ports(ifc: type[tool.Ifc], system: type[tool.System], element: ifcopens def add_port(ifc: type[tool.Ifc], system: type[tool.System], element: ifcopenshell.entity_instance) -> None: system.load_ports(element, system.get_ports(element)) - obj = system.create_empty_at_cursor_with_element_orientation(element) - port = system.run_root_assign_class(obj=obj, ifc_class="IfcDistributionPort", should_add_representation=False) - ifc.run("system.assign_port", element=element, port=port) + port = system.create_port_at_cursor(element) + system.load_ports(element, [port]) def remove_port(ifc: type[tool.Ifc], system: type[tool.System], port: ifcopenshell.entity_instance) -> None: @@ -133,8 +134,13 @@ def remove_port(ifc: type[tool.Ifc], system: type[tool.System], port: ifcopenshe ifc.run("root.remove_product", product=port) -def connect_port(ifc: type[tool.Ifc], port1: ifcopenshell.entity_instance, port2: ifcopenshell.entity_instance) -> None: - ifc.run("system.connect_port", port1=port1, port2=port2) +def connect_port( + ifc: type[tool.Ifc], + port1: ifcopenshell.entity_instance, + port2: ifcopenshell.entity_instance, + direction: str = "NOTDEFINED", +) -> None: + ifc.run("system.connect_port", port1=port1, port2=port2, direction=direction) def disconnect_port(ifc: type[tool.Ifc], port: ifcopenshell.entity_instance) -> None: diff --git a/src/bonsai/bonsai/core/tool.py b/src/bonsai/bonsai/core/tool.py index 36afd7d66c..a0b6290b12 100644 --- a/src/bonsai/bonsai/core/tool.py +++ b/src/bonsai/bonsai/core/tool.py @@ -334,6 +334,11 @@ class Drawing: def disable_editing_sheets(cls): pass def disable_editing_text(cls, obj): pass def does_file_exist(cls, uri): pass + def edit_text_alignment(cls, obj, alignment): pass + def edit_text_font_size(cls, obj, size): pass + def edit_text_literals(cls, obj, literals): pass + def edit_text_symbol(cls, obj, symbol): pass + def edit_text_wrap_length(cls, obj, wrap_length): pass def enable_editing(cls, obj): pass def enable_editing_assigned_product(cls, obj): pass def enable_editing_drawings(cls): pass @@ -402,10 +407,7 @@ class Drawing: def setup_shading_styles_path(cls, resource_path): pass def show_decorations(cls): pass def sync_object_placement(cls, obj): pass - def synchronise_ifc_and_text_attributes(cls, obj): pass def update_embedded_svg_location(cls, uri, old_location, new_location): pass - def update_text_annotation_properties(cls, obj): pass - def update_text_size_pset(cls, obj): pass @interface @@ -951,15 +953,17 @@ class Spatial: def get_active_container(cls): pass def get_container(cls, element): pass def get_decomposed_elements(cls, container, recursive): pass + def get_decomposition(cls, element): pass def get_object_matrix(cls, obj): pass def get_relative_object_matrix(cls, target_obj, relative_to_obj): pass + def get_root_element(cls, element): pass def get_selected_product_types(cls): pass def get_selected_products(cls): pass def import_spatial_decomposition(cls): pass def import_spatial_element(cls, element, level_index): pass def load_contained_elements(cls): pass def run_root_copy_class(cls, obj): pass - def run_spatial_assign_container(cls, container, element_obj): pass + def run_spatial_assign_container(cls, container, objs): pass def run_spatial_import_spatial_decomposition(cls): pass def select_object(cls, obj): pass def select_products(cls, products, unhide=False): pass @@ -1082,6 +1086,7 @@ class Surveyor: @interface class System: def create_empty_at_cursor_with_element_orientation(cls, element): pass + def create_port_at_cursor(cls, system): pass def delete_element_objects(cls, elements): pass def disable_editing_system(cls): pass def disable_system_editing_ui(cls): pass @@ -1122,16 +1127,15 @@ class Unit: def disable_editing_units(cls): pass def enable_editing_units(cls): pass def export_unit_attributes(cls): pass + def get_currency_name(cls): pass + def get_project_currency_unit(cls): pass def get_scene_unit_name(cls, unit_type): pass - def get_scene_unit_si_prefix(cls, unit_type): pass + def get_scene_unit_si_prefix(cls, name): pass def import_unit_attributes(cls, unit): pass def import_units(cls): pass - def is_scene_unit_metric(cls): pass + def is_si_unit(cls, name): pass def is_unit_class(cls, unit, ifc_class): pass def set_active_unit(cls, unit): pass - def get_project_currency_unit(cls): pass - def get_currency_name(cls): pass - def add_mass_and_time_units(cls): pass @interface class Voider: diff --git a/src/bonsai/bonsai/core/type.py b/src/bonsai/bonsai/core/type.py index 2918e841f7..a203b9ff76 100644 --- a/src/bonsai/bonsai/core/type.py +++ b/src/bonsai/bonsai/core/type.py @@ -17,50 +17,40 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bonsai.core.geometry + from typing import TYPE_CHECKING, Optional -import ifcopenshell.util.element + +import bonsai.core.geometry if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool def assign_type( ifc: type[tool.Ifc], + model: type[tool.Model], type_tool: type[tool.Type], element: ifcopenshell.entity_instance, type: ifcopenshell.entity_instance, ) -> None: - - # Get the instance's current CardinalPoint before type assignment - instance_cardinal_point = None - instance_material = ifcopenshell.util.element.get_material(element) - if instance_material and instance_material.is_a("IfcMaterialProfileSetUsage"): - instance_cardinal_point = instance_material.CardinalPoint - + usage_attributes = type_tool.record_material_usage_attributes(element) ifc.run("type.assign_type", related_objects=[element], relating_type=type) obj = ifc.get_object(element) - - if type_tool.has_material_usage(element): - # Restore the instance's CardinalPoint to the new material usage - if instance_cardinal_point is not None: - new_instance_material = ifcopenshell.util.element.get_material(element) - if new_instance_material and new_instance_material.is_a("IfcMaterialProfileSetUsage"): - if new_instance_material.CardinalPoint != instance_cardinal_point: - new_instance_material.CardinalPoint = instance_cardinal_point - - # Force representation regeneration - from bonsai.bim.module.model.profile import DumbProfileRecalculator - - DumbProfileRecalculator().recalculate([obj]) - # for now, representation regeneration handled by API listeners + if (usage := model.get_usage_type(type)) and usage_attributes: + type_tool.restore_material_usage_attributes(element, usage_attributes) + if (usage := model.get_usage_type(type)) == "PROFILE": + model.regenerate_profile(obj) + elif usage == "LAYER2": + model.recalculate_walls([obj]) + elif usage == "LAYER3": + model.regenerate_slab(obj) else: type_data = type_tool.get_object_data(ifc.get_object(type)) if type_data: type_tool.change_object_data(obj, type_data, is_global=False) - type_tool.disable_editing(obj) diff --git a/src/bonsai/bonsai/core/unit.py b/src/bonsai/bonsai/core/unit.py index fde75297b1..863821e6f5 100644 --- a/src/bonsai/bonsai/core/unit.py +++ b/src/bonsai/bonsai/core/unit.py @@ -18,55 +18,28 @@ from __future__ import annotations + from typing import TYPE_CHECKING, Optional if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool def assign_scene_units(ifc: type[tool.Ifc], unit: type[tool.Unit]) -> None: - if unit.is_scene_unit_metric(): - lengthunit = ifc.run( - "unit.add_si_unit", unit_type="LENGTHUNIT", prefix=unit.get_scene_unit_si_prefix("LENGTHUNIT") - ) - areaunit = ifc.run("unit.add_si_unit", unit_type="AREAUNIT", prefix=unit.get_scene_unit_si_prefix("AREAUNIT")) - volumeunit = ifc.run( - "unit.add_si_unit", unit_type="VOLUMEUNIT", prefix=unit.get_scene_unit_si_prefix("VOLUMEUNIT") - ) - planeangleunit = ifc.run("unit.add_conversion_based_unit", name="degree") - units = [lengthunit, areaunit, volumeunit, planeangleunit] - - if unit.add_mass_and_time_units(): - prefix = unit.get_scene_unit_si_prefix("MASSUNIT") - if prefix == "CONVERSION": - massunit = ifc.run("unit.add_conversion_based_unit", name=unit.get_scene_unit_name("MASSUNIT").lower()) + units = [] + for unit_type in ["LENGTHUNIT", "AREAUNIT", "VOLUMEUNIT", "MASSUNIT", "TIMEUNIT"]: + if name := unit.get_scene_unit_name(unit_type): + if unit.is_si_unit(name): + units.append( + ifc.run("unit.add_si_unit", unit_type=unit_type, prefix=unit.get_scene_unit_si_prefix(name)) + ) else: - massunit = ifc.run("unit.add_si_unit", unit_type="MASSUNIT", prefix=prefix) - prefix = unit.get_scene_unit_si_prefix("TIMEUNIT") - if prefix == "CONVERSION": - timeunit = ifc.run("unit.add_conversion_based_unit", name=unit.get_scene_unit_name("TIMEUNIT").lower()) - else: - timeunit = ifc.run("unit.add_si_unit", unit_type="TIMEUNIT", prefix=prefix) - units += [massunit, timeunit] - - else: - lengthunit = ifc.run("unit.add_conversion_based_unit", name=unit.get_scene_unit_name("LENGTHUNIT")) - areaunit = ifc.run("unit.add_conversion_based_unit", name=unit.get_scene_unit_name("AREAUNIT")) - volumeunit = ifc.run("unit.add_conversion_based_unit", name=unit.get_scene_unit_name("VOLUMEUNIT")) - planeangleunit = ifc.run("unit.add_conversion_based_unit", name="degree") - units = [lengthunit, areaunit, volumeunit, planeangleunit] - - if unit.add_mass_and_time_units(): - massunit = ifc.run("unit.add_conversion_based_unit", name=unit.get_scene_unit_name("MASSUNIT").lower()) - time_unit_name = unit.get_scene_unit_name("TIMEUNIT") - if time_unit_name == "SECOND": - timeunit = ifc.run("unit.add_si_unit", unit_type="TIMEUNIT", prefix=None) - else: - timeunit = ifc.run("unit.add_conversion_based_unit", name=time_unit_name.lower()) - units += [massunit, timeunit] - ifc.run("unit.assign_unit", units=units) + units.append(ifc.run("unit.add_conversion_based_unit", name=name)) + if units: + ifc.run("unit.assign_unit", units=units) def assign_unit(ifc: type[tool.Ifc], unit_tool: type[tool.Unit], unit: ifcopenshell.entity_instance) -> None: diff --git a/src/bonsai/bonsai/core/web.py b/src/bonsai/bonsai/core/web.py index 187d479b6b..b0d9222460 100644 --- a/src/bonsai/bonsai/core/web.py +++ b/src/bonsai/bonsai/core/web.py @@ -17,11 +17,13 @@ # along with Bonsai. If not, see . from __future__ import annotations + from typing import TYPE_CHECKING, Optional, Union if TYPE_CHECKING: import bpy import ifcopenshell + import bonsai.tool as tool diff --git a/src/bonsai/bonsai/tool/__init__.py b/src/bonsai/bonsai/tool/__init__.py index 2de1dbb9db..40e6eff973 100644 --- a/src/bonsai/bonsai/tool/__init__.py +++ b/src/bonsai/bonsai/tool/__init__.py @@ -40,8 +40,7 @@ from bonsai.tool.geometry import Geometry from bonsai.tool.georeference import Georeference from bonsai.tool.group import Group from bonsai.tool.ifc import Ifc -from bonsai.tool.ifcgit import IfcGit -from bonsai.tool.ifcgit import IfcGitRepo +from bonsai.tool.ifcgit import IfcGit, IfcGitRepo from bonsai.tool.layer import Layer from bonsai.tool.library import Library from bonsai.tool.loader import Loader diff --git a/src/bonsai/bonsai/tool/aggregate.py b/src/bonsai/bonsai/tool/aggregate.py index db037c2b02..43b155a5aa 100644 --- a/src/bonsai/bonsai/tool/aggregate.py +++ b/src/bonsai/bonsai/tool/aggregate.py @@ -17,15 +17,21 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING, Literal, Union + import bpy -import bonsai.core.tool -import bonsai.tool as tool import ifcopenshell.util.element import ifcopenshell.util.representation -from typing import Union, TYPE_CHECKING, Literal + +import bonsai.core.tool +import bonsai.tool as tool if TYPE_CHECKING: - from bonsai.bim.module.aggregate.prop import BIMAggregateProperties, BIMObjectAggregateProperties + from bonsai.bim.module.aggregate.prop import ( + BIMAggregateProperties, + BIMObjectAggregateProperties, + ) class Aggregate(bonsai.core.tool.Aggregate): diff --git a/src/bonsai/bonsai/tool/attribute.py b/src/bonsai/bonsai/tool/attribute.py index 0515edc04c..426283ac9e 100644 --- a/src/bonsai/bonsai/tool/attribute.py +++ b/src/bonsai/bonsai/tool/attribute.py @@ -17,23 +17,29 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy -import bonsai.core.tool -import bonsai.bim.helper as helper -import bonsai.tool as tool -import ifcopenshell + from typing import ( - Any, - Optional, - Union, - Literal, - TypeVar, TYPE_CHECKING, + Any, + Literal, + Optional, + TypeVar, + Union, assert_never, ) +import bpy +import ifcopenshell + +import bonsai.bim.helper as helper +import bonsai.core.tool +import bonsai.tool as tool + if TYPE_CHECKING: - from bonsai.bim.module.attribute.prop import BIMAttributeProperties, BIMExplorerProperties + from bonsai.bim.module.attribute.prop import ( + BIMAttributeProperties, + BIMExplorerProperties, + ) T = TypeVar("T") diff --git a/src/bonsai/bonsai/tool/bcf.py b/src/bonsai/bonsai/tool/bcf.py index b67a5a98db..c98cfeb4e0 100644 --- a/src/bonsai/bonsai/tool/bcf.py +++ b/src/bonsai/bonsai/tool/bcf.py @@ -17,23 +17,23 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bcf.v2.visinfo -import bonsai.core.tool -import bonsai.tool as tool -import bpy -import bcf.v2.model -import bcf.v2.model.visinfo -import bcf.v2.topic -import bcf.v3.model -import bcf.v3.model.visinfo -import bcf.v3.topic +from typing import TYPE_CHECKING, Any, Optional, TypeGuard, TypeVar, Union import bcf.agnostic.model import bcf.agnostic.topic import bcf.agnostic.visinfo +import bcf.v2.model +import bcf.v2.model.visinfo +import bcf.v2.topic +import bcf.v2.visinfo +import bcf.v3.model +import bcf.v3.model.visinfo +import bcf.v3.topic +import bpy -from typing import Any, Union, TypeVar, TypeGuard, Optional, TYPE_CHECKING +import bonsai.core.tool +import bonsai.tool as tool if TYPE_CHECKING: from bonsai.bim.module.bcf.prop import BCFProperties diff --git a/src/bonsai/bonsai/tool/blender.py b/src/bonsai/bonsai/tool/blender.py index 24cd5071fa..a2a0f09ed8 100644 --- a/src/bonsai/bonsai/tool/blender.py +++ b/src/bonsai/bonsai/tool/blender.py @@ -17,53 +17,64 @@ # along with Bonsai. If not, see . from __future__ import annotations -import sys -import bpy -import bmesh + +import contextlib +import importlib import json import os import platform import subprocess -import contextlib +import sys import tempfile import traceback +import types +from collections.abc import Callable, Generator, Iterable, Sequence, Sized +from datetime import datetime +from functools import cache, lru_cache +from pathlib import Path +from typing import ( + TYPE_CHECKING, + Any, + Literal, + NamedTuple, + Optional, + TypeVar, + Union, + assert_never, +) + +import bmesh +import bpy +import ifcopenshell.api +import ifcopenshell.util.element import numpy as np import numpy.typing as npt from ifcopenshell import entity_instance -import ifcopenshell.api -import ifcopenshell.util.element +from mathutils import Matrix, Vector + +import bonsai.bim import bonsai.core.tool import bonsai.tool as tool -import bonsai.bim -import types -import importlib -from datetime import datetime -from mathutils import Vector -from pathlib import Path -from functools import lru_cache, cache from bonsai.bim.ifc import IFC_CONNECTED_TYPE -from typing import ( - Any, - Optional, - Union, - Literal, - TypeVar, - TYPE_CHECKING, - assert_never, -) -from collections.abc import Iterable, Callable, Generator, Sequence, Sized if TYPE_CHECKING: - from sun_position.properties import SunPosProperties import bpy.stub_internal.rna_enums as rna_enums - from bonsai.bim.prop import BIMProperties, BIMObjectProperties, BIMSnapProperties + from sun_position.properties import SunPosProperties + from bonsai.bim.module.attribute.prop import BIMAttributeProperties - from bonsai.bim.module.constraint.prop import BIMConstraintProperties, BIMObjectConstraintProperties + from bonsai.bim.module.constraint.prop import ( + BIMConstraintProperties, + BIMObjectConstraintProperties, + ) from bonsai.bim.module.covetool.prop import CoveToolProperties from bonsai.bim.module.csv.prop import CsvProperties from bonsai.bim.module.diff.prop import DiffProperties from bonsai.bim.module.fm.prop import BIMFMProperties - from bonsai.bim.module.light.prop import BIMSolarProperties, RadianceExporterProperties + from bonsai.bim.module.light.prop import ( + BIMSolarProperties, + RadianceExporterProperties, + ) + from bonsai.bim.prop import BIMObjectProperties, BIMProperties, BIMSnapProperties T = TypeVar("T") @@ -708,13 +719,18 @@ class Blender(bonsai.core.tool.Blender): if active_object: active_object.select_set(True) + class ObjectsSelectionArgs(NamedTuple): + context: bpy.types.Context + active_object: bpy.types.Object | None + selected_objects: list[bpy.types.Object] + @classmethod def validate_object_selection( cls, context: bpy.types.Context, active_object: Union[bpy.types.Object, None] = None, selected_objects: Sequence[bpy.types.Object] = (), - ) -> tuple[bpy.types.Context, Union[bpy.types.Object, None], list[bpy.types.Object]]: + ) -> ObjectsSelectionArgs: """Validate object selection and return only valid objects. Can be used before ``set_objects_selection`` to avoid errors @@ -724,12 +740,15 @@ class Blender(bonsai.core.tool.Blender): assert context.view_layer view_layer_objects = set(context.view_layer.objects) - new_selected_objects = [o for o in selected_objects if cls.is_valid_data_block(o) and o in view_layer_objects] + def is_selectable(obj: bpy.types.Object) -> bool: + return cls.is_valid_data_block(obj) and obj in view_layer_objects - if active_object and not cls.is_valid_data_block(active_object): + new_selected_objects = [o for o in selected_objects if is_selectable(o)] + + if active_object and not is_selectable(active_object): active_object = None - return context, active_object, new_selected_objects + return cls.ObjectsSelectionArgs(context, active_object, new_selected_objects) @classmethod def clear_objects_selection(cls) -> None: @@ -1223,7 +1242,8 @@ class Blender(bonsai.core.tool.Blender): @classmethod def constrain_children_to_parent(cls, parent_element: ifcopenshell.entity_instance) -> None: - parent_obj = tool.Ifc.get_object(parent_element) + if not (parent_obj := tool.Ifc.get_object(parent_element)): + return # Filtered out, arrayed void, etc assert isinstance(parent_obj, bpy.types.Object) children = cls.get_all_children_objects(parent_element) for child in children: @@ -1348,11 +1368,11 @@ class Blender(bonsai.core.tool.Blender): @classmethod def register_toolbar(cls): - import bonsai.bim.module.model.workspace as ws_model + import bonsai.bim.module.covering.workspace as ws_covering import bonsai.bim.module.drawing.workspace as ws_drawing + import bonsai.bim.module.model.workspace as ws_model import bonsai.bim.module.spatial.workspace as ws_spatial import bonsai.bim.module.structural.workspace as ws_structural - import bonsai.bim.module.covering.workspace as ws_covering if bpy.app.background: return @@ -1380,11 +1400,11 @@ class Blender(bonsai.core.tool.Blender): @classmethod def unregister_toolbar(cls): - import bonsai.bim.module.model.workspace as ws_model + import bonsai.bim.module.covering.workspace as ws_covering import bonsai.bim.module.drawing.workspace as ws_drawing + import bonsai.bim.module.model.workspace as ws_model import bonsai.bim.module.spatial.workspace as ws_spatial import bonsai.bim.module.structural.workspace as ws_structural - import bonsai.bim.module.covering.workspace as ws_covering if bpy.app.background: return @@ -1762,8 +1782,8 @@ class Blender(bonsai.core.tool.Blender): @classmethod @lru_cache def get_list_of_tools(cls) -> tuple[str, ...]: - from bonsai.bim.module.model.workspace import BimTool from bonsai.bim.module.drawing.workspace import AnnotationTool + from bonsai.bim.module.model.workspace import BimTool return tuple(cls.bl_idname for cls in (BimTool.__subclasses__() + [BimTool, AnnotationTool])) @@ -2116,3 +2136,42 @@ class Blender(bonsai.core.tool.Blender): if cls.BLENDER_5: return "BLENDER_EEVEE" return "BLENDER_EEVEE_NEXT" + + @classmethod + def np_frombuffer_legacy(cls, bytedata: bytes, n: int) -> npt.NDArray[np.float32]: + """ + Read ``n`` float values from ``bytedata``, regardless if they are stored as ``float32`` or ``float64``. + Needed to support .blend files saved in Blender <5.0.0. + Also allows to work with .blend files from 5.0.0+ in older Blender versions. + + In ``bpy.app.version >= 5.0.0`` ``mathutils`` transitioned to use ``float32`` buffer type, + while in previous version they were using ``float64``. + In some cases we are storing raw bytes (e.g. object transforms cheksums), so old .blend files + might still have ``float64`` data stored. + + See https://projects.blender.org/blender/blender/issues/149283 + """ + if len(bytedata) == (n * 2): + return np.frombuffer(bytedata, dtype=np.float64).astype(np.float32) + return np.frombuffer(bytedata, dtype=np.float32) + + @classmethod + def np_array_legacy(cls, mathutils_type: Union[Vector, Matrix]) -> npt.NDArray[np.float32]: + """ + Converts ``mathutils`` types to ``np.float32`` arrays, regardless of Blender version. + + See ``np_frombuffer_legacy`` for more details. + """ + if cls.BLENDER_5: + return np.array(mathutils_type) + return np.array(mathutils_type, dtype=np.float32) + + @classmethod + def get_selected_files( + cls, directory: str, files: bpy.types.OperatorFileListElement, use_relative_path=False + ) -> list[Path]: + return [ + tool.Ifc.get_uri(Path(directory) / f.name, use_relative_path=use_relative_path) + for f in files + if (Path(directory) / f.name).is_file() + ] diff --git a/src/bonsai/bonsai/tool/boundary.py b/src/bonsai/bonsai/tool/boundary.py index d09ebcbee1..16662919aa 100644 --- a/src/bonsai/bonsai/tool/boundary.py +++ b/src/bonsai/bonsai/tool/boundary.py @@ -17,16 +17,22 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from collections.abc import Sequence +from typing import TYPE_CHECKING, Any + import bpy import mathutils +from mathutils import Matrix, Vector + import bonsai.core.tool import bonsai.tool as tool -from mathutils import Matrix, Vector -from typing import Any, TYPE_CHECKING -from collections.abc import Sequence if TYPE_CHECKING: - from bonsai.bim.module.boundary.prop import BIMBoundaryProperties, BIMObjectBoundaryProperties + from bonsai.bim.module.boundary.prop import ( + BIMBoundaryProperties, + BIMObjectBoundaryProperties, + ) class Boundary(bonsai.core.tool.Boundary): diff --git a/src/bonsai/bonsai/tool/brick.py b/src/bonsai/bonsai/tool/brick.py index 9da53f4413..42b80cc288 100644 --- a/src/bonsai/bonsai/tool/brick.py +++ b/src/bonsai/bonsai/tool/brick.py @@ -17,28 +17,32 @@ # along with Bonsai. If not, see . from __future__ import annotations -import os -import bpy + import datetime +import os +from collections.abc import Generator +from contextlib import contextmanager +from pathlib import Path +from typing import TYPE_CHECKING, Any, Union + +import bpy import ifcopenshell import ifcopenshell.guid import ifcopenshell.util.brick import ifcopenshell.util.element import ifcopenshell.util.system + import bonsai.core.brick import bonsai.core.tool import bonsai.tool as tool -from pathlib import Path -from contextlib import contextmanager -from typing import Any, Union, TYPE_CHECKING -from collections.abc import Generator try: + import urllib.parse + import brickschema import brickschema.persistent from brickschema.namespaces import REF, A - import urllib.parse - from rdflib import Literal, URIRef, Namespace, BNode + from rdflib import BNode, Literal, Namespace, URIRef from rdflib.namespace import RDF except: # See #1860 @@ -46,7 +50,8 @@ except: if TYPE_CHECKING: import brickschema - from rdflib import Literal, URIRef, Namespace, BNode + from rdflib import BNode, Literal, Namespace, URIRef + from bonsai.bim.module.brick.prop import BIMBrickProperties # silence known rdflib_sqlalchemy TypeError warning diff --git a/src/bonsai/bonsai/tool/bsdd.py b/src/bonsai/bonsai/tool/bsdd.py index 337cf626c9..47c948abcc 100644 --- a/src/bonsai/bonsai/tool/bsdd.py +++ b/src/bonsai/bonsai/tool/bsdd.py @@ -17,16 +17,19 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bonsai.core.tool -import bonsai.tool as tool -import bpy + import json +from typing import TYPE_CHECKING, Any, TypedDict, Union + +import bpy import bsdd import ifcopenshell.api.library -import ifcopenshell.util.type -import ifcopenshell.util.element import ifcopenshell.util.classification -from typing import Any, Union, TYPE_CHECKING, TypedDict +import ifcopenshell.util.element +import ifcopenshell.util.type + +import bonsai.core.tool +import bonsai.tool as tool if TYPE_CHECKING: from bonsai.bim.module.bsdd.prop import BIMBSDDProperties, BSDDDictionary @@ -120,6 +123,10 @@ class Bsdd(bonsai.core.tool.Bsdd): @classmethod def get_dictionaries(cls) -> list[bsdd.DictionaryContractV1]: prefs = tool.Blender.get_addon_preferences() + baseurl = getattr(prefs, "bsdd_baseurl", "https://api.bsdd.buildingsmart.org/api/") + cls.client = bsdd.Client() + if hasattr(cls.client, "baseurl"): + cls.client.baseurl = baseurl response = cls.client.get_dictionary(include_test_dictionaries=prefs.bsdd_load_test_dictionaries) dicts = response.get("dictionaries") or [] statuses = ["Active"] diff --git a/src/bonsai/bonsai/tool/cad.py b/src/bonsai/bonsai/tool/cad.py index 8c65f4babb..4e3d8e1499 100644 --- a/src/bonsai/bonsai/tool/cad.py +++ b/src/bonsai/bonsai/tool/cad.py @@ -29,16 +29,18 @@ # - You can now derive the center from an arc without generating geometry from __future__ import annotations -import sys -import bpy -import math -import bmesh -import numpy as np -import mathutils.geometry -from mathutils import Vector, Matrix, geometry + import itertools +import math +import sys from typing import TYPE_CHECKING, Union +import bmesh +import bpy +import mathutils.geometry +import numpy as np +from mathutils import Matrix, Vector, geometry + if TYPE_CHECKING: from bonsai.bim.module.cad.prop import BIMCadProperties diff --git a/src/bonsai/bonsai/tool/clash.py b/src/bonsai/bonsai/tool/clash.py index 17582540e4..7c9961646c 100644 --- a/src/bonsai/bonsai/tool/clash.py +++ b/src/bonsai/bonsai/tool/clash.py @@ -17,17 +17,20 @@ # along with Bonsai. If not, see . from __future__ import annotations -import os -import bpy + import json -import ifcopenshell -import bonsai.core.tool -import bonsai.tool as tool +import os from contextlib import contextmanager -from mathutils import Vector +from typing import TYPE_CHECKING, Literal, Union, get_args + +import bpy +import ifcopenshell from ifcclash import ifcclash from ifcclash.ifcclash import ClashSource -from typing import TYPE_CHECKING, Union, Literal, get_args +from mathutils import Vector + +import bonsai.core.tool +import bonsai.tool as tool if TYPE_CHECKING: from bonsai.bim.module.clash.prop import BIMClashProperties diff --git a/src/bonsai/bonsai/tool/classification.py b/src/bonsai/bonsai/tool/classification.py index 3535e0a12f..7b2ebb073e 100644 --- a/src/bonsai/bonsai/tool/classification.py +++ b/src/bonsai/bonsai/tool/classification.py @@ -17,15 +17,21 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING, Union, assert_never + import bpy import ifcopenshell.api import ifcopenshell.util.classification + import bonsai.core.tool import bonsai.tool as tool -from typing import Union, assert_never, TYPE_CHECKING if TYPE_CHECKING: - from bonsai.bim.module.classification.prop import BIMClassificationReferenceProperties, BIMClassificationProperties + from bonsai.bim.module.classification.prop import ( + BIMClassificationProperties, + BIMClassificationReferenceProperties, + ) class Classification(bonsai.core.tool.Classification): diff --git a/src/bonsai/bonsai/tool/collector.py b/src/bonsai/bonsai/tool/collector.py index 7c46135b26..74a55d7dc1 100644 --- a/src/bonsai/bonsai/tool/collector.py +++ b/src/bonsai/bonsai/tool/collector.py @@ -16,11 +16,13 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import Union + import bpy +import ifcopenshell.util.element + import bonsai.core.tool import bonsai.tool as tool -import ifcopenshell.util.element -from typing import Union class Collector(bonsai.core.tool.Collector): @@ -44,18 +46,20 @@ class Collector(bonsai.core.tool.Collector): # Note that tool.Geometry.is_locked is only checked within the if # statements for efficiency as it is a slow check. tool.Geometry.lock_scale(obj) + if element.is_a("IfcSlab"): + tool.Geometry.lock_rotation(obj, x=True) if element.is_a("IfcGridAxis"): if tool.Geometry.is_locked(element): tool.Geometry.lock_object(obj) element = (element.PartOfU or element.PartOfV or element.PartOfW)[0] if not tool.Spatial.get_grid_props().is_visible: - obj.hide_set(True) + obj.hide_viewport = True elif element.is_a("IfcGrid"): if tool.Geometry.is_locked(element): tool.Geometry.lock_object(obj) if not tool.Spatial.get_grid_props().is_visible: - obj.hide_set(True) + obj.hide_viewport = True if element.is_a("IfcProject"): if tool.Geometry.is_locked(element): @@ -71,6 +75,8 @@ class Collector(bonsai.core.tool.Collector): tool.Geometry.lock_object(obj) collection = cls._create_project_child_collection("IfcSpace") cls.link_collection_object_safe(collection, obj) + if not tool.Spatial.get_spatial_props().is_visible: + obj.hide_viewport = True elif element.is_a("IfcStructuralItem"): collection = cls._create_project_child_collection("IfcStructuralItem") cls.link_collection_object_safe(collection, obj) diff --git a/src/bonsai/bonsai/tool/context.py b/src/bonsai/bonsai/tool/context.py index c1582cd37f..50223a6320 100644 --- a/src/bonsai/bonsai/tool/context.py +++ b/src/bonsai/bonsai/tool/context.py @@ -17,16 +17,19 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING, Any, Union + import bpy -import bonsai.bim.helper -import bonsai.tool as tool -import bonsai.core.tool import ifcopenshell -from typing import Any, Union, TYPE_CHECKING + +import bonsai.bim.helper +import bonsai.core.tool +import bonsai.tool as tool if TYPE_CHECKING: - from bonsai.bim.prop import Attribute from bonsai.bim.module.context.prop import BIMContextProperties + from bonsai.bim.prop import Attribute class Context(bonsai.core.tool.Context): diff --git a/src/bonsai/bonsai/tool/cost.py b/src/bonsai/bonsai/tool/cost.py index d1ee2a841c..663b16040e 100644 --- a/src/bonsai/bonsai/tool/cost.py +++ b/src/bonsai/bonsai/tool/cost.py @@ -17,26 +17,30 @@ # along with Bonsai. If not, see . from __future__ import annotations + +import json +from collections.abc import Generator +from pathlib import Path +from typing import TYPE_CHECKING, Any, Literal, Optional, Union, assert_never + +import aud import bpy -import bonsai.core.tool -import bonsai.tool as tool import ifcopenshell.api import ifcopenshell.api.cost import ifcopenshell.api.document import ifcopenshell.api.nest -import ifcopenshell.util.element -import ifcopenshell.util.date import ifcopenshell.util.cost +import ifcopenshell.util.date +import ifcopenshell.util.element import ifcopenshell.util.unit + import bonsai.bim.helper -import json -from pathlib import Path -from typing import Optional, Any, Union, Literal, TYPE_CHECKING, assert_never -from collections.abc import Generator +import bonsai.core.tool +import bonsai.tool as tool if TYPE_CHECKING: - from bonsai.bim.prop import Attribute from bonsai.bim.module.cost.prop import BIMCostProperties, CostItemQuantity + from bonsai.bim.prop import Attribute class Cost(bonsai.core.tool.Cost): @@ -140,25 +144,18 @@ class Cost(bonsai.core.tool.Cost): @classmethod def play_sound(cls) -> None: - if tool.Blender.get_addon_preferences().should_play_chaching_sound: + # Save ears for those running the tests in background mode. + if tool.Blender.get_addon_preferences().should_play_chaching_sound and not bpy.app.background: cls.play_chaching_sound() # lol @classmethod def play_chaching_sound(cls) -> None: # TODO: make pitch higher as costs rise - try: - import aud - - device = aud.Device() - # chaching.mp3 is by Lucish_ CC-BY-3.0 https://freesound.org/people/Lucish_/sounds/554841/ - sound = aud.Sound(tool.Blender.get_data_dir_path(filename="chaching.mp3").__str__()) - handle = device.play(sound) - sound_buffered = aud.Sound.buffer(sound) - handle_buffered = device.play(sound_buffered) - handle.stop() - handle_buffered.stop() - except: - pass # ah well + device = aud.Device() + # chaching.mp3 is by Lucish_ CC-BY-3.0 https://freesound.org/people/Lucish_/sounds/554841/ + filepath = tool.Blender.get_data_dir_path("chaching.mp3").__str__() + sound = aud.Sound(filepath) + device.play(sound) @classmethod def load_cost_schedule_tree(cls) -> None: @@ -581,9 +578,10 @@ class Cost(bonsai.core.tool.Cost): ) -> ifcopenshell.entity_instance: if not file_path: return - from ifc5d.csv2ifc import Csv2Ifc import time + from ifc5d.csv2ifc import Csv2Ifc + start = time.time() resolved_path = tool.Ifc.resolve_uri(file_path) @@ -804,8 +802,8 @@ class Cost(bonsai.core.tool.Cost): format: Literal["CSV", "ODS", "XLSX"], cost_schedule: Optional[ifcopenshell.entity_instance] = None, ) -> Union[str, None]: - import subprocess import os + import subprocess import sys if dirpath: diff --git a/src/bonsai/bonsai/tool/covering.py b/src/bonsai/bonsai/tool/covering.py index c83a6f3e09..018a39eb46 100644 --- a/src/bonsai/bonsai/tool/covering.py +++ b/src/bonsai/bonsai/tool/covering.py @@ -17,12 +17,15 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING + import bpy import ifcopenshell import ifcopenshell.util.element + import bonsai.core.tool import bonsai.tool as tool -from typing import TYPE_CHECKING if TYPE_CHECKING: from bonsai.bim.module.covering.prop import BIMCoveringProperties diff --git a/src/bonsai/bonsai/tool/debug.py b/src/bonsai/bonsai/tool/debug.py index 8bd17fa1c1..ccd30ddd74 100644 --- a/src/bonsai/bonsai/tool/debug.py +++ b/src/bonsai/bonsai/tool/debug.py @@ -17,25 +17,28 @@ # along with Bonsai. If not, see . from __future__ import annotations + +import json import os import re -import json +from collections import defaultdict +from collections.abc import Iterable +from typing import TYPE_CHECKING, Literal, Union, assert_never + import bmesh import bpy -import ifcopenshell.ifcopenshell_wrapper as W import ifcopenshell.api.material import ifcopenshell.api.owner import ifcopenshell.express +import ifcopenshell.ifcopenshell_wrapper as W import ifcopenshell.util.element import ifcopenshell.util.schema +from mathutils import Vector + import bonsai.core.style import bonsai.core.tool import bonsai.tool as tool from bonsai.bim.ifc import IfcStore -from mathutils import Vector -from collections import defaultdict -from typing import Literal, TYPE_CHECKING, assert_never, Union -from collections.abc import Iterable if TYPE_CHECKING: from bonsai.bim.module.debug.prop import BIMDebugProperties diff --git a/src/bonsai/bonsai/tool/demo.py b/src/bonsai/bonsai/tool/demo.py index 745fcf914c..98375b3e3b 100644 --- a/src/bonsai/bonsai/tool/demo.py +++ b/src/bonsai/bonsai/tool/demo.py @@ -31,11 +31,13 @@ from __future__ import annotations +from typing import TYPE_CHECKING + import bpy import ifcopenshell + import bonsai.core.tool import bonsai.tool as tool -from typing import TYPE_CHECKING if TYPE_CHECKING: from bonsai.bim.module.demo.prop import BIMDemoProperties diff --git a/src/bonsai/bonsai/tool/document.py b/src/bonsai/bonsai/tool/document.py index bf8e4d17b8..910ca92cf4 100644 --- a/src/bonsai/bonsai/tool/document.py +++ b/src/bonsai/bonsai/tool/document.py @@ -17,14 +17,17 @@ # along with Bonsai. If not, see . from __future__ import annotations + +import json +from typing import TYPE_CHECKING, Any, Union + import bpy import ifcopenshell.util.system +from natsort import natsorted + import bonsai.bim.helper import bonsai.core.tool import bonsai.tool as tool -import json -from natsort import natsorted -from typing import Any, Union, TYPE_CHECKING if TYPE_CHECKING: from bonsai.bim.module.document.prop import BIMDocumentProperties @@ -248,11 +251,19 @@ class Document(bonsai.core.tool.Document): def get_document_references( cls, document: ifcopenshell.entity_instance ) -> tuple[ifcopenshell.entity_instance, ...]: + # TODO: migrate to util.document and replace all instances """Get IfcDocumentReference.ReferencedDocuments, compatible with IFC2X3.""" if document.file.schema == "IFC2X3": return document.DocumentReferences or () return document.HasDocumentReferences + @classmethod + def get_reference_document(cls, reference: ifcopenshell.entity_instance) -> ifcopenshell.entity_instance | None: + # TODO: migrate to util.document and replace all instances + if reference.file.schema == "IFC2X3": + return (reference.ReferenceToDocument or (None))[0] + return reference.ReferencedDocument + @classmethod def clear_active_document(cls) -> None: props = cls.get_document_props() diff --git a/src/bonsai/bonsai/tool/drawing.py b/src/bonsai/bonsai/tool/drawing.py index 3f1c6de28d..864568c835 100644 --- a/src/bonsai/bonsai/tool/drawing.py +++ b/src/bonsai/bonsai/tool/drawing.py @@ -17,60 +17,63 @@ # along with Bonsai. If not, see . from __future__ import annotations -import os -import re + import collections import collections.abc -import bpy -import math import json -import lark -import bmesh -import shutil import logging -import shapely +import math +import os import platform -import mathutils +import re +import shutil import subprocess -import numpy as np -import bonsai.core.tool -import bonsai.core.geometry -import bonsai.core.type -import bonsai.tool as tool +from collections.abc import Iterable, Sequence +from fractions import Fraction +from pathlib import Path +from typing import TYPE_CHECKING, Any, Literal, NamedTuple, Optional, Union + +import bmesh +import bpy import ifcopenshell.api -import ifcopenshell.api.geometry import ifcopenshell.api.context -import ifcopenshell.api.drawing import ifcopenshell.api.document +import ifcopenshell.api.drawing +import ifcopenshell.api.geometry import ifcopenshell.api.pset import ifcopenshell.api.root import ifcopenshell.geom -import ifcopenshell.util.placement -import ifcopenshell.util.unit -import ifcopenshell.util.representation import ifcopenshell.util.element +import ifcopenshell.util.placement +import ifcopenshell.util.representation import ifcopenshell.util.selector import ifcopenshell.util.shape +import ifcopenshell.util.unit +import lark +import mathutils +import numpy as np +import shapely +from ifcopenshell.util.shape_builder import ShapeBuilder +from lxml import etree +from mathutils import Matrix, Vector +from shapely.ops import unary_union + import bonsai.bim.helper import bonsai.bim.import_ifc +import bonsai.core.geometry import bonsai.core.root -from shapely.ops import unary_union -from lxml import etree -from mathutils import Vector, Matrix -from fractions import Fraction -from typing import Optional, Union, Any, Literal, TYPE_CHECKING, NamedTuple -from collections.abc import Iterable, Sequence -from pathlib import Path -from ifcopenshell.util.shape_builder import ShapeBuilder +import bonsai.core.tool +import bonsai.core.type +import bonsai.tool as tool if TYPE_CHECKING: from bonsai.bim.module.drawing.prop import ( + BIMAnnotationProperties, + BIMAssignedProductProperties, + BIMCameraProperties, + BIMTextProperties, DocProperties, Sheet, - BIMAnnotationProperties, - BIMTextProperties, - BIMCameraProperties, - BIMAssignedProductProperties, ) from bonsai.bim.module.drawing.prop import Drawing as DrawingProperties @@ -605,6 +608,25 @@ class Drawing(bonsai.core.tool.Drawing): literals.append(literal_data) return literals + @classmethod + def export_font_size(cls, obj: bpy.types.Object) -> str: + return float(cls.get_text_props(obj).font_size) + + @classmethod + def export_alignment(cls, obj: bpy.types.Object) -> str: + props = cls.get_text_props(obj) + if (alignment := props.align_vertical + "-" + props.align_horizontal) == "middle-middle": + return "center" + return alignment + + @classmethod + def export_wrap_length(cls, obj: bpy.types.Object) -> str: + return cls.get_text_props(obj).newline_at + + @classmethod + def export_symbol(cls, obj: bpy.types.Object) -> str: + return cls.get_text_props(obj).get_symbol() + @classmethod def create_annotation_context( cls, target_view: str, object_type: Optional[str] = None @@ -832,43 +854,14 @@ class Drawing(bonsai.core.tool.Drawing): return props.is_editing_sheets @classmethod - def synchronise_ifc_and_text_attributes(cls, obj: bpy.types.Object) -> None: + def edit_text_literals(cls, obj: bpy.types.Object, literal_attributes: dict) -> None: assert (element := tool.Ifc.get_entity(obj)) assert (rep := cls.get_annotation_representation(element)) - - old_literals = cls.get_text_literal(obj, return_list=True) - assert isinstance(old_literals, list) - literals_attributes = cls.export_text_literal_attributes(obj) - props = cls.get_text_props(obj) - defined_ifc_ids = [l.ifc_definition_id for l in props.literals] - ifc_file = tool.Ifc.get() - - added_literals: list[ifcopenshell.entity_instance] = [] - new_literals: list[ifcopenshell.entity_instance] = [] - for ifc_definition_id, attributes in zip(defined_ifc_ids, literals_attributes): - # making sure all literals from text edit exist in ifc - if ifc_definition_id == 0: - literal = cls.add_literal(**attributes) - added_literals.append(literal) - else: - literal = ifc_file.by_id(ifc_definition_id) - ifcopenshell.api.drawing.edit_text_literal( - ifc_file, - text_literal=literal, - attributes=attributes, - ) - new_literals.append(literal) - - removed_literals = set(old_literals) - set(new_literals) - - # Add new literals and keep the order as defined in text props. - items = [i for i in rep.Items if i not in removed_literals] + added_literals - items.sort(key=lambda x: new_literals.index(x) if x in new_literals else -1) - rep.Items = items - - # Remove from ifc the literals that were removed during the edit. - for literal in removed_literals: - ifcopenshell.util.element.remove_deep2(ifc_file, literal) + to_remove = [i for i in rep.Items if i.is_a("IfcTextLiteral")] + new_literals = [cls.add_literal(**a) for a in literal_attributes] + rep.Items = [i for i in rep.Items if not i.is_a("IfcTextLiteral")] + new_literals + for literal in to_remove: + ifcopenshell.util.element.remove_deep2(tool.Ifc.get(), literal) @classmethod def add_literal(cls, **attributes: str) -> ifcopenshell.entity_instance: @@ -1209,8 +1202,6 @@ class Drawing(bonsai.core.tool.Drawing): props.font_size = str(text_data["FontSize"]) props.newline_at = text_data["Newline_At"] props.set_symbol(text_data["Symbol"]) - props.reverse_list = text_data["Reverse_List"] - props.list_separator = text_data["List_Separator"] @classmethod def import_assigned_product(cls, obj: bpy.types.Object) -> None: @@ -1276,7 +1267,7 @@ class Drawing(bonsai.core.tool.Drawing): @classmethod def run_type_assign_type(cls, element: ifcopenshell.entity_instance, relating_type: ifcopenshell.entity_instance): - return bonsai.core.type.assign_type(tool.Ifc, tool.Type, element=element, type=relating_type) + return bonsai.core.type.assign_type(tool.Ifc, tool.Model, tool.Type, element=element, type=relating_type) @classmethod def reload_representation(cls, obj: bpy.types.Object, representation: ifcopenshell.entity_instance): @@ -1307,7 +1298,7 @@ class Drawing(bonsai.core.tool.Drawing): props.should_draw_decorations = True @classmethod - def update_text_size_pset(cls, obj: bpy.types.Object) -> None: + def edit_text_font_size(cls, obj: bpy.types.Object, font_size: float) -> None: """updates pset `EPset_Annotation.Classes` value based on current font size from `obj.BIMTextProperties.font_size` """ @@ -1317,7 +1308,6 @@ class Drawing(bonsai.core.tool.Drawing): element = tool.Ifc.get_entity(obj) assert element # updating text font size in EPset_Annotation.Classes - font_size = float(props.font_size) font_size_str = next((key for key in FONT_SIZES if FONT_SIZES[key] == font_size), None) classes = ifcopenshell.util.element.get_pset(element, "EPset_Annotation", "Classes") assert isinstance(classes, Union[str, None]) @@ -1338,34 +1328,32 @@ class Drawing(bonsai.core.tool.Drawing): pset = tool.Pset.get_element_pset(element, "EPset_Annotation") if not pset: pset = ifcopenshell.api.pset.add_pset(ifc_file, product=element, name="EPset_Annotation") - ifcopenshell.api.pset.edit_pset( - ifc_file, - pset=pset, - properties={"Classes": classes}, - ) + ifcopenshell.api.pset.edit_pset(ifc_file, pset=pset, properties={"Classes": classes}) @classmethod - def update_text_annotation_properties(cls, obj: bpy.types.Object) -> None: - """Update all EPset_Annotation properties from the text props""" - props = cls.get_text_props(obj) + def edit_text_wrap_length(cls, obj: bpy.types.Object, wrap_length: int) -> None: element = tool.Ifc.get_entity(obj) - assert element - ifc_file = tool.Ifc.get() pset = tool.Pset.get_element_pset(element, "EPset_Annotation") if not pset: pset = ifcopenshell.api.pset.add_pset(ifc_file, product=element, name="EPset_Annotation") + ifcopenshell.api.pset.edit_pset(ifc_file, pset=pset, properties={"Newline_At": wrap_length}) - ifcopenshell.api.pset.edit_pset( - ifc_file, - pset=pset, - properties={ - "Newline_At": int(props.newline_at), - "Symbol": props.get_symbol(), - "Reverse_List": props.reverse_list, - "List_Separator": props.list_separator or "", - }, - ) + @classmethod + def edit_text_symbol(cls, obj: bpy.types.Object, symbol: str) -> None: + element = tool.Ifc.get_entity(obj) + ifc_file = tool.Ifc.get() + pset = tool.Pset.get_element_pset(element, "EPset_Annotation") + if not pset: + pset = ifcopenshell.api.pset.add_pset(ifc_file, product=element, name="EPset_Annotation") + ifcopenshell.api.pset.edit_pset(ifc_file, pset=pset, properties={"Symbol": symbol}) + + @classmethod + def edit_text_alignment(cls, obj: bpy.types.Object, alignment: str) -> None: + ifc_literals = cls.get_text_literal(obj, return_list=True) + for ifc_literal in ifc_literals or []: + if ifc_literal.is_a("IfcTextLiteralWithExtent"): + ifc_literal.BoxAlignment = alignment # TODO below this point is highly experimental prototype code with no tests @@ -2109,31 +2097,21 @@ class Drawing(bonsai.core.tool.Drawing): cls, text: str, product: Optional[ifcopenshell.entity_instance] = None, - reverse_list: bool = False, - list_separator: str = ", ", ) -> str: if not product: return text - if list_separator: - list_separator = list_separator.encode().decode("unicode_escape") - for command in re.findall("``.*?``", text): + for command in re.findall("``.+?``", text): original_command = command command_content = command[2:-2] - if command_content is None or str(command_content).strip().lower() == "none": + try: + text = text.replace(original_command, ifcopenshell.util.selector.format(command_content, product)) + except Exception: text = text.replace(original_command, "") - else: - try: - text = text.replace(original_command, ifcopenshell.util.selector.format(command_content, product)) - except Exception: - text = text.replace(original_command, "") for variable in re.findall("{{.*?}}", text): value = ifcopenshell.util.selector.get_element_value(product, variable[2:-2]) if isinstance(value, (list, tuple)): - if reverse_list: - value = list_separator.join(str(v) for v in reversed(value)) - else: - value = list_separator.join(str(v) for v in value) + value = ", ".join(str(v) for v in value) text = text.replace(variable, str(value)) return text @@ -2793,9 +2771,10 @@ class Drawing(bonsai.core.tool.Drawing): @classmethod def convert_svg_to_dxf(cls, svg_filepath: Path, dxf_filepath: Path) -> None: - import ezdxf import xml.etree.ElementTree as ET + import ezdxf + SVG = "{http://www.w3.org/2000/svg}" IFC = "{http://www.ifcopenshell.org/ns}" diff --git a/src/bonsai/bonsai/tool/feature.py b/src/bonsai/bonsai/tool/feature.py index adc6cd9528..d58a8df55c 100644 --- a/src/bonsai/bonsai/tool/feature.py +++ b/src/bonsai/bonsai/tool/feature.py @@ -17,16 +17,19 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from collections.abc import Iterable +from typing import TYPE_CHECKING + import bpy -import bonsai.core.tool -import bonsai.tool as tool -import bonsai.bim.helper -import bonsai.core.geometry import ifcopenshell import ifcopenshell.api.feature import ifcopenshell.util.representation -from typing import TYPE_CHECKING -from collections.abc import Iterable + +import bonsai.bim.helper +import bonsai.core.geometry +import bonsai.core.tool +import bonsai.tool as tool if TYPE_CHECKING: from bonsai.bim.module.void.prop import BIMBooleanProperties diff --git a/src/bonsai/bonsai/tool/geometry.py b/src/bonsai/bonsai/tool/geometry.py index e2955d3d28..13ec6695d2 100644 --- a/src/bonsai/bonsai/tool/geometry.py +++ b/src/bonsai/bonsai/tool/geometry.py @@ -17,14 +17,27 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy -import bmesh -import struct + import hashlib import logging -import numpy as np -import numpy.typing as npt import multiprocessing +import struct +from collections import defaultdict +from collections.abc import Generator, Iterable, Iterator +from math import pi, radians +from typing import ( + TYPE_CHECKING, + Any, + Literal, + Optional, + TypeGuard, + Union, + cast, + get_args, +) + +import bmesh +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.boundary @@ -45,37 +58,30 @@ import ifcopenshell.util.shape import ifcopenshell.util.shape_builder import ifcopenshell.util.system import ifcopenshell.util.unit -import bonsai.core.tool +import numpy as np +import numpy.typing as npt +from mathutils import Matrix, Vector +from mathutils.bvhtree import BVHTree +from typing_extensions import TypeIs + +import bonsai.bim.helper +import bonsai.bim.import_ifc import bonsai.core.drawing import bonsai.core.geometry import bonsai.core.root import bonsai.core.spatial import bonsai.core.style import bonsai.core.system +import bonsai.core.tool import bonsai.tool as tool -import bonsai.bim.helper -import bonsai.bim.import_ifc -from collections import defaultdict -from math import radians, pi -from mathutils import Vector, Matrix -from mathutils.bvhtree import BVHTree from bonsai.bim.ifc import IfcStore -from typing import ( - Union, - Optional, - Literal, - TYPE_CHECKING, - get_args, - cast, - TypeGuard, - Any, -) -from collections.abc import Iterable, Iterator, Generator -from typing_extensions import TypeIs if TYPE_CHECKING: + from bonsai.bim.module.geometry.prop import ( + BIMGeometryProperties, + BIMObjectGeometryProperties, + ) from bonsai.bim.prop import Attribute, BIMMeshProperties - from bonsai.bim.module.geometry.prop import BIMObjectGeometryProperties, BIMGeometryProperties class Geometry(bonsai.core.tool.Geometry): @@ -1146,9 +1152,8 @@ class Geometry(bonsai.core.tool.Geometry): def record_object_position(cls, obj: bpy.types.Object) -> None: # These are recorded separately because they have different numerical tolerances props = tool.Blender.get_object_bim_props(obj) - # Explicit dtype for Blender <5.0 compatibility. - props.location_checksum = repr(np.array(obj.matrix_world.translation, dtype=np.float32).tobytes()) - props.rotation_checksum = repr(np.array(obj.matrix_world.to_3x3(), dtype=np.float32).tobytes()) + props.location_checksum = repr(tool.Blender.np_array_legacy(obj.matrix_world.translation).tobytes()) + props.rotation_checksum = repr(tool.Blender.np_array_legacy(obj.matrix_world.to_3x3()).tobytes()) @classmethod def remove_connection(cls, connection: ifcopenshell.entity_instance) -> None: @@ -1797,6 +1802,10 @@ class Geometry(bonsai.core.tool.Geometry): def import_item_attributes(cls, obj: bpy.types.Object) -> None: props = tool.Geometry.get_mesh_props(obj.data) props.item_attributes.clear() + element = tool.Ifc.get_entity(tool.Geometry.get_geometry_props().representation_obj) + if tool.Model.get_usage_type(element) == "LAYER3": + return # All LAYER3 attributes are parametrically determined from the IfcMaterialLayerSet + item = tool.Ifc.get().by_id(props.ifc_definition_id) allowed_attributes = [ a.name() @@ -2106,6 +2115,14 @@ class Geometry(bonsai.core.tool.Geometry): active_object: Optional[bpy.types.Object] = None, linked: bool = False, ) -> tuple[dict[ifcopenshell.entity_instance, list[ifcopenshell.entity_instance]], Union[bpy.types.Object, None]]: + """Duplicate IFC objects + + Duplication is surprisingly complicated because you might only select + part of a group of related items. + + TODO: write some tests and figure out how to make this function + actually understandable. + """ # Handle arrays objects_to_duplicate = set(objects_to_duplicate) arrays_to_duplicate, array_children = cls.process_arrays_for_duplication(objects_to_duplicate) diff --git a/src/bonsai/bonsai/tool/georeference.py b/src/bonsai/bonsai/tool/georeference.py index eaa1c60460..c2ca3f91b7 100644 --- a/src/bonsai/bonsai/tool/georeference.py +++ b/src/bonsai/bonsai/tool/georeference.py @@ -17,22 +17,25 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy + import json -import numpy as np +from typing import TYPE_CHECKING, Any, Literal, Union + +import bpy import ifcopenshell import ifcopenshell.api.georeference import ifcopenshell.util.geolocation import ifcopenshell.util.placement import ifcopenshell.util.unit +import numpy as np + +import bonsai.bim.helper import bonsai.core.tool import bonsai.tool as tool -import bonsai.bim.helper -from typing import Any, Union, Literal, TYPE_CHECKING if TYPE_CHECKING: - from bonsai.bim.prop import Attribute from bonsai.bim.module.georeference.prop import BIMGeoreferenceProperties + from bonsai.bim.prop import Attribute class Georeference(bonsai.core.tool.Georeference): @@ -312,6 +315,21 @@ class Georeference(bonsai.core.tool.Georeference): ) return coordinates + @classmethod + def global2local(cls, matrix, is_specified_in_map_units: bool) -> tuple[float, float, float]: + matrix = ifcopenshell.util.geolocation.auto_global2local(tool.Ifc.get(), matrix, is_specified_in_map_units=is_specified_in_map_units) + props = cls.get_georeference_props() + if props.has_blender_offset: + matrix = ifcopenshell.util.geolocation.global2local( + matrix, + float(props.blender_offset_x), + float(props.blender_offset_y), + float(props.blender_offset_z), + float(props.blender_x_axis_abscissa), + float(props.blender_x_axis_ordinate), + ) + return matrix + @classmethod def import_plot(cls, filepath: str) -> None: import bmesh @@ -382,6 +400,9 @@ class Georeference(bonsai.core.tool.Georeference): unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) gprops = tool.Georeference.get_georeference_props() e, n, h = cls.xyz2enh((0, 0, 0), should_return_in_map_units=False) + crs = ifcopenshell.util.geolocation.get_crs(tool.Ifc.get()) or {} + gprops.model_is_georeferenced = bool(crs) + gprops.model_crs = crs.get("Name", "") or "" gprops.model_origin = f"{e},{n},{h}" gprops.model_origin_si = f"{e * unit_scale},{n * unit_scale},{h * unit_scale}" angle = ifcopenshell.util.geolocation.get_grid_north(tool.Ifc.get()) diff --git a/src/bonsai/bonsai/tool/group.py b/src/bonsai/bonsai/tool/group.py index d800904bf8..f0f3664f6f 100644 --- a/src/bonsai/bonsai/tool/group.py +++ b/src/bonsai/bonsai/tool/group.py @@ -17,17 +17,21 @@ # along with Bonsai. If not, see . from __future__ import annotations + import json +from typing import TYPE_CHECKING, Literal, Union, assert_never + import bpy import ifcopenshell +from natsort import natsorted + import bonsai.bim.helper import bonsai.core.tool import bonsai.tool as tool -from typing import TYPE_CHECKING, Literal, assert_never, Union -from natsort import natsorted if TYPE_CHECKING: - from bonsai.bim.module.group.prop import BIMGroupProperties, Group as GroupProp + from bonsai.bim.module.group.prop import BIMGroupProperties + from bonsai.bim.module.group.prop import Group as GroupProp from bonsai.bim.module.system.prop import BIMSystemProperties, System diff --git a/src/bonsai/bonsai/tool/ifc.py b/src/bonsai/bonsai/tool/ifc.py index 9f1c84e6d1..8cbd2a112b 100644 --- a/src/bonsai/bonsai/tool/ifc.py +++ b/src/bonsai/bonsai/tool/ifc.py @@ -17,20 +17,23 @@ # along with Bonsai. If not, see . from __future__ import annotations + import os +from pathlib import Path +from typing import TYPE_CHECKING, Any, Literal, Optional, Union, final + import bpy -import numpy as np import ifcopenshell.api import ifcopenshell.ifcopenshell_wrapper as ifcopenshell_wrapper import ifcopenshell.util.element import ifcopenshell.util.schema -import bonsai.core.tool +import numpy as np + import bonsai.bim.handler import bonsai.bim.schema +import bonsai.core.tool import bonsai.tool as tool -from pathlib import Path -from bonsai.bim.ifc import IfcStore, IFC_CONNECTED_TYPE -from typing import Optional, Union, Any, final, Literal, TYPE_CHECKING +from bonsai.bim.ifc import IFC_CONNECTED_TYPE, IfcStore if TYPE_CHECKING: from bpy.stub_internal import rna_enums @@ -112,24 +115,17 @@ class Ifc(bonsai.core.tool.Ifc): return True # Let's be conservative # Handle both old float64 and new float32 checksums for version compatibility - loc_checksum_bytes = eval(oprops.location_checksum) - if len(loc_checksum_bytes) == 24: # Old format: 3 * 8 bytes (float64) - loc_check = np.frombuffer(loc_checksum_bytes, dtype=np.float64).astype(np.float32) - else: # New format: 3 * 4 bytes (float32) - loc_check = np.frombuffer(loc_checksum_bytes, dtype=np.float32) - - loc_real = np.array(obj.matrix_world.translation, dtype=np.float32).flatten() + loc_checksum_bytes: bytes = eval(oprops.location_checksum) + loc_check = tool.Blender.np_frombuffer_legacy(loc_checksum_bytes, 3) + loc_real = tool.Blender.np_array_legacy(obj.matrix_world.translation) if not np.allclose(loc_check, loc_real, atol=1e-4): # 0.1 mm return True # Handle both old float64 and new float32 checksums for version compatibility - rot_checksum_bytes = eval(oprops.rotation_checksum) - if len(rot_checksum_bytes) == 72: # Old format: 9 * 8 bytes (float64) - rot_check = np.frombuffer(rot_checksum_bytes, dtype=np.float64).astype(np.float32).reshape(3, 3) - else: # New format: 9 * 4 bytes (float32) - rot_check = np.frombuffer(rot_checksum_bytes, dtype=np.float32).reshape(3, 3) - - rot_real = np.array(obj.matrix_world.to_3x3(), dtype=np.float32) + rot_checksum_bytes: bytes = eval(oprops.rotation_checksum) + rot_check = tool.Blender.np_frombuffer_legacy(rot_checksum_bytes, 9) + rot_check = rot_check.reshape(3, 3) + rot_real = tool.Blender.np_array_legacy(obj.matrix_world.to_3x3()) rot_dot = np.dot(rot_check, rot_real.T) angle_rad = np.arccos(np.clip((np.trace(rot_dot) - 1) / 2, -1, 1)) if angle_rad > 0.0017453292519943296: # 0.1 degrees diff --git a/src/bonsai/bonsai/tool/ifcgit.py b/src/bonsai/bonsai/tool/ifcgit.py index 7dfb2431d0..db557542bc 100644 --- a/src/bonsai/bonsai/tool/ifcgit.py +++ b/src/bonsai/bonsai/tool/ifcgit.py @@ -17,17 +17,20 @@ # along with Bonsai. If not, see . from __future__ import annotations + +import logging import os import re import subprocess -import bpy -import logging import tempfile +from pathlib import Path +from typing import TYPE_CHECKING, Any, Literal, Union + +import bpy + +import bonsai.tool as tool from bonsai.bim import import_ifc from bonsai.bim.ifc import IfcStore -import bonsai.tool as tool -from pathlib import Path -from typing import TYPE_CHECKING, Union, Literal, Any # allows git import even if git executable isn't found os.environ["GIT_PYTHON_REFRESH"] = "quiet" @@ -61,10 +64,13 @@ class IfcGit: @classmethod def clone_repo(cls, remote_url: str, local_folder: str) -> git.Repo: - IfcGitRepo.repo = git.Repo.clone_from( + repo = git.Repo.clone_from( url=remote_url, to_path=local_folder, ) + # Close the repo to release stale subprocess + repo.close() + IfcGitRepo.repo = git.Repo(local_folder) cls.config_info_attributes(IfcGitRepo.repo) return IfcGitRepo.repo diff --git a/src/bonsai/bonsai/tool/layer.py b/src/bonsai/bonsai/tool/layer.py index 7b5775d20d..396cc13605 100644 --- a/src/bonsai/bonsai/tool/layer.py +++ b/src/bonsai/bonsai/tool/layer.py @@ -17,10 +17,13 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING + import bpy + import bonsai.core.tool import bonsai.tool as tool -from typing import TYPE_CHECKING if TYPE_CHECKING: from bonsai.bim.module.layer.prop import BIMLayerProperties diff --git a/src/bonsai/bonsai/tool/library.py b/src/bonsai/bonsai/tool/library.py index e16a159b00..861278e91c 100644 --- a/src/bonsai/bonsai/tool/library.py +++ b/src/bonsai/bonsai/tool/library.py @@ -17,12 +17,15 @@ # along with Bonsai. If not, see . from __future__ import annotations -import ifcopenshell + +from typing import TYPE_CHECKING, Any, Literal, Union + import bpy +import ifcopenshell + import bonsai.bim.helper import bonsai.core.tool import bonsai.tool as tool -from typing import Literal, Any, Union, TYPE_CHECKING if TYPE_CHECKING: from bonsai.bim.module.library.prop import BIMLibraryProperties diff --git a/src/bonsai/bonsai/tool/loader.py b/src/bonsai/bonsai/tool/loader.py index d5ceea1db5..d81fec5fd2 100644 --- a/src/bonsai/bonsai/tool/loader.py +++ b/src/bonsai/bonsai/tool/loader.py @@ -17,11 +17,16 @@ # along with Bonsai. If not, see . from __future__ import annotations + +import logging import os import re -import bpy +from math import atan, radians +from pathlib import Path +from typing import Any, Optional, Union, cast + import bmesh -import logging +import bpy import ifcopenshell.geom import ifcopenshell.ifcopenshell_wrapper as W import ifcopenshell.util.element @@ -30,17 +35,15 @@ import ifcopenshell.util.placement import ifcopenshell.util.representation import ifcopenshell.util.shape import ifcopenshell.util.unit -import bonsai.core.tool -import bonsai.tool as tool -import bonsai.bim.import_ifc import numpy as np import numpy.typing as npt from ifcopenshell.util.shape_builder import np_to_4d -from math import atan, radians -from mathutils import Vector, Matrix -from pathlib import Path -from typing import Union, Any, Optional, cast +from mathutils import Matrix, Vector +from mathutils.kdtree import KDTree +import bonsai.bim.import_ifc +import bonsai.core.tool +import bonsai.tool as tool # Progressively we'll refactor loading elements into Blender objects into this # class. This will break down the monolithic import_ifc module and allow us to @@ -313,6 +316,7 @@ class Loader(bonsai.core.tool.Loader): # https://blender.stackexchange.com/questions/173206/how-to-efficiently-convert-a-pil-image-to-bpy-types-image # https://blender.stackexchange.com/questions/62072/does-blender-have-a-method-to-a-get-png-formatted-bytearray-for-an-image-via-pyt import io + from PIL import Image value = texture["RasterCode"] @@ -559,7 +563,18 @@ class Loader(bonsai.core.tool.Loader): bm_verts = np.array([v.co for v in bm.verts]) coords_scaled = np.array(faceset.Coordinates.CoordList) * si_conversion - coordinates_remap = [np.argmin(np.sum((bm_verts - co) ** 2, axis=1)) for co in coords_scaled] + # See #2824. IfcIndexedColourMap is not natively handled by IfcOpenShell + # As a result, we map IFC coords to Blender coords (highly wasteful but...) + # coordinates_remap = [np.argmin(np.sum((bm_verts - co) ** 2, axis=1)) for co in coords_scaled] + # Because this is O(N*M), here is a faster KDTree implementation. + kd = KDTree(len(bm_verts)) + for i, v in enumerate(bm_verts): + kd.insert((float(v[0]), float(v[1]), float(v[2])), i) + kd.balance() + coordinates_remap = np.empty(len(coords_scaled), dtype=np.int32) + for j, co in enumerate(coords_scaled): + _co, index, _dist = kd.find((float(co[0]), float(co[1]), float(co[2]))) + coordinates_remap[j] = index # ifc indices start with 1 remap_verts_to_blender = lambda ifc_verts: [coordinates_remap[i - 1] for i in ifc_verts] @@ -1021,7 +1036,7 @@ class Loader(bonsai.core.tool.Loader): elif material.is_a("IfcMaterialLayerSetUsage"): usage = material layer_set = material.ForLayerSet - offset = usage.OffsetFromReferenceLine + offset = usage.OffsetFromReferenceLine * cls.unit_scale sense_factor = 1 if usage.DirectionSense == "POSITIVE" else -1 elif material.is_a("IfcMaterialLayerSet"): usage = None @@ -1030,168 +1045,61 @@ class Loader(bonsai.core.tool.Loader): sense_factor = 1 else: return mesh - if len(layer_set.MaterialLayers) == 1: return mesh - - # Get mesh bounds - if len(mesh.vertices) > 0: - z_coords = [v.co.z for v in mesh.vertices] - mesh_z_min = min(z_coords) - mesh_z_max = max(z_coords) - bm = bmesh.new() bm.from_mesh(mesh) - prev_co = None - advance_direction = None - if not usage: - sense_factor = 1 + sense_factor = 1 # Assume the extrusion vector points in the direction sense no = cls.get_extrusion_vector(element).normalized() co = Vector((0.0, 0.0, offset)) - advance_direction = no elif usage.LayerSetDirection == "AXIS2": - # Get local extrusion direction - local_extrusion = Vector([0.0, 0.0, 1.0]) - if body := ifcopenshell.util.representation.get_representation(element, "Model", "Body", "MODEL_VIEW"): - for item in ifcopenshell.util.representation.resolve_representation(body).Items: - while item.is_a("IfcBooleanResult"): - item = item.FirstOperand - if item.is_a("IfcExtrudedAreaSolid"): - local_extrusion = Vector(item.ExtrudedDirection.DirectionRatios).normalized() - break - - # Thickness direction: perpendicular to extrusion and length - thickness_dir = local_extrusion.cross(Vector([1.0, 0.0, 0.0])).normalized() - if thickness_dir.y < 0: - thickness_dir = -thickness_dir - - no = thickness_dir - - # Find start point by projecting vertices onto thickness direction - if len(mesh.vertices) > 0: - projections = [Vector(v.co).dot(no) for v in mesh.vertices] - min_proj = min(projections) - max_proj = max(projections) - - centroid = sum((Vector(v.co) for v in mesh.vertices), Vector()) / len(mesh.vertices) - centroid_proj = centroid.dot(no) - - if sense_factor == 1: - start_proj = min_proj - else: - start_proj = max_proj - - offset_dist = start_proj - centroid_proj - co = centroid + no * offset_dist - - actual_mesh_height = max_proj - min_proj - else: - co = Vector((0.0, 0.0, 0.0)) - - advance_direction = thickness_dir + co = Vector((0.0, offset, 0.0)) + no = cls.get_extrusion_vector(element).normalized() + no = no.cross(Vector([1.0, 0.0, 0.0])) elif usage.LayerSetDirection == "AXIS3": - # AXIS3 layers go through slab thickness (local Z) + co = Vector((0.0, 0.0, offset)) + no = cls.get_extrusion_vector(element).normalized() no = Vector([0.0, 0.0, 1.0]) - - # Find start point by projecting vertices onto Z direction - if len(mesh.vertices) > 0: - projections = [Vector(v.co).dot(no) for v in mesh.vertices] - min_proj = min(projections) - max_proj = max(projections) - - centroid = sum((Vector(v.co) for v in mesh.vertices), Vector()) / len(mesh.vertices) - centroid_proj = centroid.dot(no) - - if sense_factor == 1: - start_proj = min_proj - else: - start_proj = max_proj - - offset = start_proj - centroid_proj - co = centroid + no * offset - - actual_mesh_height = max_proj - min_proj - else: - co = Vector((0.0, 0.0, 0.0)) - - advance_direction = no elif usage.LayerSetDirection == "AXIS1": co = Vector((0.0, 0.0, offset)) no = cls.get_extrusion_vector(element).normalized() no = Vector([1.0, 0.0, 0.0]) - advance_direction = no - - # Apply DirectionSense - if usage and usage.LayerSetDirection == "AXIS2": - if sense_factor == -1: - advance_direction = -advance_direction - test_normal = -no - else: - test_normal = no - elif usage and usage.LayerSetDirection == "AXIS1": - no = no * sense_factor - advance_direction = advance_direction * sense_factor - test_normal = no - elif usage and usage.LayerSetDirection == "AXIS3": - if sense_factor == -1: - advance_direction = -advance_direction - test_normal = -no - else: - test_normal = no - else: - test_normal = no - - # Cache material styles + no *= sense_factor + # Cache this body = ifcopenshell.util.representation.get_context(tool.Ifc.get(), "Model", "Body", "MODEL_VIEW") styles = {} has_layer_styles = False for i, material in enumerate(mesh.materials): if style := tool.Ifc.get_entity(material): styles[style] = i - - layer_list = list(enumerate(layer_set.MaterialLayers)) - - # Calculate scale factor - total_layer_thickness = sum(layer.LayerThickness for _, layer in layer_list) - - if "actual_mesh_height" not in locals(): - actual_mesh_height = mesh_z_max - mesh_z_min if len(mesh.vertices) > 0 else total_layer_thickness - - thickness_scale = actual_mesh_height / total_layer_thickness if total_layer_thickness > 0 else 1.0 - last_i = len(layer_set.MaterialLayers) - 1 - - for idx, (original_i, layer) in enumerate(layer_list): - if idx != last_i: + for i, layer in enumerate(layer_set.MaterialLayers): + if i != last_i: prev_co = co.copy() - advance_vector = advance_direction * layer.LayerThickness * thickness_scale - co += advance_vector - + co += no * layer.LayerThickness * cls.unit_scale bisect_geom = bmesh.ops.bisect_plane( bm, geom=bm.verts[:] + bm.edges[:] + bm.faces[:], dist=0.0001, plane_co=co, plane_no=no ) bmesh.ops.duplicate(bm, geom=bisect_geom["geom_cut"]) - if not (style := ifcopenshell.util.representation.get_material_style(layer.Material, body)): continue if (material_index := styles.get(style, None)) is None: material_index = len(mesh.materials) mesh.materials.append(tool.Ifc.get_object(style)) - - if idx == last_i: + if i == last_i: for face in bisect_geom["geom"]: if isinstance(face, bmesh.types.BMFace): center = face.calc_center_median() - if (center - co).dot(test_normal) >= 0: + if (center - co).dot(no) >= 0: face.material_index = material_index has_layer_styles = True else: for face in bisect_geom["geom"]: if isinstance(face, bmesh.types.BMFace): center = face.calc_center_median() - if (center - co).dot(test_normal) < 0 and (center - prev_co).dot(test_normal) >= 0: + if (center - co).dot(no) < 0 and (center - prev_co).dot(no) >= 0: face.material_index = material_index has_layer_styles = True @@ -1204,35 +1112,13 @@ class Loader(bonsai.core.tool.Loader): return mesh @classmethod - def get_extrusion_vector(cls, element): - """Get the extrusion direction in WORLD coordinates (accounting for object rotation)""" - if body := ifcopenshell.util.representation.get_representation(element, "Model", "Body", "MODEL_VIEW"): + def get_extrusion_vector(cls, wall): + if body := ifcopenshell.util.representation.get_representation(wall, "Model", "Body", "MODEL_VIEW"): for item in ifcopenshell.util.representation.resolve_representation(body).Items: while item.is_a("IfcBooleanResult"): item = item.FirstOperand if item.is_a("IfcExtrudedAreaSolid"): - local_direction = Vector(item.ExtrudedDirection.DirectionRatios) - - # Transform to world coordinates using object rotation - obj = tool.Ifc.get_object(element) - if obj: - # Apply object rotation to get actual world direction - world_direction = obj.matrix_world.to_3x3() @ local_direction - return world_direction - - return local_direction - return Vector([0.0, 0.0, 1.0]) - - @classmethod - def get_local_extrusion_vector(cls, element): - """Get the extrusion direction in LOCAL coordinates (from IFC, no object rotation)""" - if body := ifcopenshell.util.representation.get_representation(element, "Model", "Body", "MODEL_VIEW"): - for item in ifcopenshell.util.representation.resolve_representation(body).Items: - while item.is_a("IfcBooleanResult"): - item = item.FirstOperand - if item.is_a("IfcExtrudedAreaSolid"): - local_direction = Vector(item.ExtrudedDirection.DirectionRatios) - return local_direction + return Vector(item.ExtrudedDirection.DirectionRatios) return Vector([0.0, 0.0, 1.0]) @classmethod diff --git a/src/bonsai/bonsai/tool/material.py b/src/bonsai/bonsai/tool/material.py index 5e8b531c5c..6f862100e2 100644 --- a/src/bonsai/bonsai/tool/material.py +++ b/src/bonsai/bonsai/tool/material.py @@ -17,22 +17,28 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from collections import defaultdict +from typing import TYPE_CHECKING, Any, Optional, Union + import bpy import ifcopenshell import ifcopenshell.api.material -import bonsai.core.tool -import bonsai.core.material -import bonsai.tool as tool -import bonsai.bim.helper -import ifcopenshell.util.unit import ifcopenshell.util.element -from collections import defaultdict -from typing import Union, Any, TYPE_CHECKING, Optional +import ifcopenshell.util.unit + +import bonsai.bim.helper +import bonsai.core.material +import bonsai.core.tool +import bonsai.tool as tool if TYPE_CHECKING: # Avoid circular imports. + from bonsai.bim.module.material.prop import ( + BIMMaterialProperties, + BIMObjectMaterialProperties, + ) from bonsai.bim.module.material.prop import Material as MaterialItem - from bonsai.bim.module.material.prop import BIMMaterialProperties, BIMObjectMaterialProperties class Material(bonsai.core.tool.Material): diff --git a/src/bonsai/bonsai/tool/misc.py b/src/bonsai/bonsai/tool/misc.py index e2a8028181..890e8aac9b 100644 --- a/src/bonsai/bonsai/tool/misc.py +++ b/src/bonsai/bonsai/tool/misc.py @@ -16,17 +16,19 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy +from typing import Union + import bmesh +import bpy import ifcopenshell import ifcopenshell.util.element import ifcopenshell.util.placement import ifcopenshell.util.unit -import bonsai.core.tool +from mathutils import Matrix, Vector + import bonsai.core.root +import bonsai.core.tool import bonsai.tool as tool -from mathutils import Vector, Matrix -from typing import Union class Misc(bonsai.core.tool.Misc): diff --git a/src/bonsai/bonsai/tool/model.py b/src/bonsai/bonsai/tool/model.py index 2f4c4b77b7..148f4a6b75 100644 --- a/src/bonsai/bonsai/tool/model.py +++ b/src/bonsai/bonsai/tool/model.py @@ -17,13 +17,26 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy -import json -import bmesh -import shapely + import collections import collections.abc -import numpy as np +import json +from collections.abc import Iterable, Sequence +from copy import deepcopy +from math import atan, cos, degrees, pi, radians +from typing import ( + TYPE_CHECKING, + Any, + Literal, + Optional, + TypedDict, + TypeVar, + Union, + assert_never, +) + +import bmesh +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.geometry @@ -37,36 +50,35 @@ import ifcopenshell.util.representation import ifcopenshell.util.shape import ifcopenshell.util.shape_builder import ifcopenshell.util.unit +import mathutils +import numpy as np +import shapely +from ifcopenshell.util.shape_builder import ShapeBuilder, np_to_3d +from mathutils import Matrix, Vector + import bonsai.core.geometry import bonsai.core.tool import bonsai.tool as tool -import mathutils -from math import atan, cos, degrees, pi, radians -from mathutils import Matrix, Vector -from copy import deepcopy from bonsai.bim import import_ifc -from ifcopenshell.util.shape_builder import ShapeBuilder, np_to_3d -from typing import Optional, Union, TypeVar, Any, Literal, TYPE_CHECKING, TypedDict, assert_never -from collections.abc import Iterable, Sequence - T = TypeVar("T") V_ = tool.Blender.V_ if TYPE_CHECKING: - import sverchok.node_tree import ifcsverchok.nodes.ifc.shape_builder.shape_output + import sverchok.node_tree + from sverchok.core.node_group import SvGroupTreeNode + from bonsai.bim.module.model.prop import ( - BIMModelProperties, - BIMDoorProperties, BIMArrayProperties, - BIMRoofProperties, - BIMWindowProperties, - BIMStairProperties, - BIMRailingProperties, + BIMDoorProperties, BIMExternalParametricGeometryProperties, + BIMModelProperties, BIMPolylineProperties, - BIMProductPreviewProperties, + BIMRailingProperties, + BIMRoofProperties, + BIMStairProperties, + BIMWindowProperties, ) @@ -108,11 +120,6 @@ class Model(bonsai.core.tool.Model): assert (scene := bpy.context.scene) return scene.BIMPolylineProperties # pyright: ignore[reportAttributeAccessIssue] - @classmethod - def get_product_preview_props(cls) -> BIMProductPreviewProperties: - assert (scene := bpy.context.scene) - return scene.BIMProductPreviewProperties # pyright: ignore[reportAttributeAccessIssue] - @classmethod def convert_si_to_unit(cls, value: T) -> T: if isinstance(value, (tuple, list)): @@ -1044,6 +1051,7 @@ class Model(bonsai.core.tool.Model): tool.Model.regenerate_array(obj, array_data) + array_pset = tool.Pset.get_element_pset(element, "BBIM_Array") json_data = tool.Ifc.get().createIfcText(json.dumps(array_data)) ifcopenshell.api.pset.edit_pset(tool.Ifc.get(), pset=array_pset, properties={"Data": json_data}) @@ -1056,23 +1064,17 @@ class Model(bonsai.core.tool.Model): cls, parent_obj: bpy.types.Object, data: list[dict[str, Any]], array_layers_to_apply: Iterable[int] = tuple() ) -> None: """`array_layers_to_apply` - list of array layer indices to apply""" - tool.Blender.Modifier.Array.remove_constraints(tool.Ifc.get_entity(parent_obj)) + parent_element = tool.Ifc.get_entity(parent_obj) + + if pset := ifcopenshell.util.element.get_pset(parent_element, "BBIM_Array"): + ifcopenshell.api.pset.remove_pset( + tool.Ifc.get(), product=parent_element, pset=tool.Ifc.get().by_id(pset["id"]) + ) unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) obj_stack = [parent_obj] for array_i, array in enumerate(data): - # for `sync_children` we remove all previously generated children to regenerate them again - # to assure they are in complete sync (psets, etc) with the array parent - if array["sync_children"]: - removed_children = set(array["children"]) - for removed_child in removed_children: - element = tool.Ifc.get().by_guid(removed_child) - obj = tool.Ifc.get_object(element) - if obj: - tool.Geometry.delete_ifc_object(obj) - array["children"].clear() - child_i = 0 existing_children = set(array["children"]) total_existing_children = len(array["children"]) @@ -1092,29 +1094,27 @@ class Model(bonsai.core.tool.Model): offset = base_offset * i for obj in obj_stack: - # get currently proccesed array element and it's object - if child_i >= total_existing_children: - child_obj = tool.Spatial.duplicate_object_and_data(obj) - child_element = tool.Spatial.run_root_copy_class(obj=child_obj) - else: + try: global_id = array["children"][child_i] - try: - child_element = tool.Ifc.get().by_guid(global_id) - child_obj = tool.Ifc.get_object(child_element) - assert child_obj - except: - child_obj = tool.Spatial.duplicate_object_and_data(obj) - child_element = tool.Spatial.run_root_copy_class(obj=child_obj) + child_element = tool.Ifc.get().by_guid(global_id) + child_obj = tool.Ifc.get_object(child_element) + assert child_obj + except: + old_to_new, _ = tool.Geometry.duplicate_ifc_objects([parent_obj]) + child_element = next(iter(old_to_new.values()))[0] + child_obj = tool.Ifc.get_object(child_element) # add child pset - child_pset = tool.Pset.get_element_pset(child_element, "BBIM_Array") - if child_pset: - ifcopenshell.api.pset.edit_pset( - tool.Ifc.get(), - pset=child_pset, - properties={"Data": None}, - should_purge=False, + if not (child_pset := tool.Pset.get_element_pset(child_element, "BBIM_Array")): + child_pset = ifcopenshell.api.pset.add_pset( + tool.Ifc.get(), product=child_element, name="BBIM_Array" ) + ifcopenshell.api.pset.edit_pset( + tool.Ifc.get(), + pset=child_pset, + properties={"Data": None, "Parent": parent_element.GlobalId}, + should_purge=False, + ) # set child object position new_matrix = obj.matrix_world.copy() @@ -1150,6 +1150,12 @@ class Model(bonsai.core.tool.Model): bpy.context.view_layer.update() + pset = ifcopenshell.api.pset.add_pset(tool.Ifc.get(), product=parent_element, name="BBIM_Array") + json_data = tool.Ifc.get().createIfcText(json.dumps(data)) + ifcopenshell.api.pset.edit_pset( + tool.Ifc.get(), pset=pset, properties={"Data": json_data, "Parent": parent_element.GlobalId} + ) + @classmethod def replace_object_ifc_representation( cls, @@ -1188,6 +1194,7 @@ class Model(bonsai.core.tool.Model): return from PIL import Image, ImageDraw + from bonsai.bim.module.model.data import AuthoringData obj = tool.Ifc.get_object(element) @@ -2571,13 +2578,21 @@ class Model(bonsai.core.tool.Model): return [s for s in group_node.inputs if s.type != "GEOMETRY"] + @classmethod + def get_ifcsverchok_group_node(cls, node_tree: sverchok.node_tree.SverchCustomTree) -> SvGroupTreeNode: + from sverchok.core.node_group import SvGroupTreeNode + + return next(n for n in node_tree.nodes if isinstance(n, SvGroupTreeNode) and n.label == "BBIM_EPG") + @classmethod def get_ifcsverchok_shape_output( cls, node_tree: sverchok.node_tree.SverchCustomTree ) -> ifcsverchok.nodes.ifc.shape_builder.shape_output.SvSbShapeOutput: from ifcsverchok.nodes.ifc.shape_builder.shape_output import SvSbShapeOutput - return next(n for n in node_tree.nodes if isinstance(n, SvSbShapeOutput)) + group_node = cls.get_ifcsverchok_group_node(node_tree) + subtree = group_node.node_tree + return next(n for n in subtree.nodes if isinstance(n, SvSbShapeOutput)) @classmethod def update_mesh_from_sverchok( @@ -2729,6 +2744,21 @@ class Model(bonsai.core.tool.Model): cls.recreate_wall(element, wall) + @classmethod + def regenerate_slab(cls, obj: bpy.types.Object) -> None: + from bonsai.bim.module.model.slab import DumbSlabPlaner + + element = tool.Ifc.get_entity(obj) + material_set = ifcopenshell.util.element.get_material(element, should_skip_usage=True) + new_thickness = sum([l.LayerThickness for l in material_set.MaterialLayers]) + DumbSlabPlaner().change_thickness(element, new_thickness) + + @classmethod + def regenerate_profile(cls, obj: bpy.types.Object) -> None: + from bonsai.bim.module.model.profile import DumbProfileRecalculator + + DumbProfileRecalculator().recalculate([obj]) + @classmethod def run_ifcsverchok_graph_on_bonsai_file(cls, node_tree: sverchok.node_tree.SverchCustomTree) -> None: from ifcsverchok.ifcstore import SvIfcStore @@ -2750,3 +2780,20 @@ class Model(bonsai.core.tool.Model): list(nodes_to_update) finally: SvIfcStore.use_bonsai_file = False + + @classmethod + def create_bmesh_from_vertices(cls, vertices, is_closed=False): + bm = bmesh.new() + + new_verts = [bm.verts.new(v) for v in vertices] + if is_closed: + new_edges = [bm.edges.new((new_verts[i], new_verts[i + 1])) for i in range(len(new_verts) - 1)] + new_edges.append( + bm.edges.new((new_verts[-1], new_verts[0])) + ) # Add an edge between the last an first point to make it closed. + else: + new_edges = [bm.edges.new((new_verts[i], new_verts[i + 1])) for i in range(len(new_verts) - 1)] + + bm.verts.index_update() + bm.edges.index_update() + return bm diff --git a/src/bonsai/bonsai/tool/nest.py b/src/bonsai/bonsai/tool/nest.py index 094299c499..a386e402ec 100644 --- a/src/bonsai/bonsai/tool/nest.py +++ b/src/bonsai/bonsai/tool/nest.py @@ -17,11 +17,14 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING, Union + import bpy +import ifcopenshell.util.element + import bonsai.core.tool import bonsai.tool as tool -import ifcopenshell.util.element -from typing import TYPE_CHECKING, Union if TYPE_CHECKING: from bonsai.bim.module.nest.prop import BIMNestProperties, BIMObjectNestProperties diff --git a/src/bonsai/bonsai/tool/owner.py b/src/bonsai/bonsai/tool/owner.py index 615fd64db8..9ed0bda219 100644 --- a/src/bonsai/bonsai/tool/owner.py +++ b/src/bonsai/bonsai/tool/owner.py @@ -17,12 +17,15 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING, Any, Literal, Union, assert_never + import bpy +import ifcopenshell + +import bonsai.bim.helper import bonsai.core.tool import bonsai.tool as tool -import bonsai.bim.helper -import ifcopenshell -from typing import Union, Any, TYPE_CHECKING, Literal, assert_never if TYPE_CHECKING: from bonsai.bim.module.owner.prop import BIMOwnerProperties diff --git a/src/bonsai/bonsai/tool/patch.py b/src/bonsai/bonsai/tool/patch.py index eb2b514173..6ae06b5e10 100644 --- a/src/bonsai/bonsai/tool/patch.py +++ b/src/bonsai/bonsai/tool/patch.py @@ -17,11 +17,14 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING, Any + import bpy import ifcopenshell import ifcpatch + import bonsai.core.tool -from typing import Any, TYPE_CHECKING if TYPE_CHECKING: from bonsai.bim.module.patch.prop import BIMPatchProperties diff --git a/src/bonsai/bonsai/tool/polyline.py b/src/bonsai/bonsai/tool/polyline.py index e8bacd1b4c..5fbc909910 100644 --- a/src/bonsai/bonsai/tool/polyline.py +++ b/src/bonsai/bonsai/tool/polyline.py @@ -16,19 +16,21 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -import bmesh import math +from dataclasses import dataclass, field +from math import cos, degrees, radians, sin, tan +from typing import Literal, Optional, Union + +import bmesh +import bpy import ifcopenshell import ifcopenshell.util.unit +from lark import Lark, Transformer +from mathutils import Matrix, Vector + import bonsai.core.tool import bonsai.tool as tool from bonsai.bim.module.drawing.helper import format_distance -from dataclasses import dataclass, field -from lark import Lark, Transformer -from math import degrees, radians, sin, cos, tan -from mathutils import Vector, Matrix -from typing import Optional, Union, Literal class Polyline(bonsai.core.tool.Polyline): @@ -189,7 +191,8 @@ class Polyline(bonsai.core.tool.Polyline): orientation_angle = 0 if input_ui: if should_round: - angle = 5 * round(angle / 5) if distance < angle_round_threshold else angle + angle_snap = tool.Snap.get_angle_snap_value(context) + angle = angle_snap * round(angle / angle_snap) if distance < angle_round_threshold else angle factor = tool.Snap.get_increment_snap_value(context) distance = factor * round(distance / factor) input_ui.set_value("X", mouse_vector.x) diff --git a/src/bonsai/bonsai/tool/profile.py b/src/bonsai/bonsai/tool/profile.py index cfb36a06ab..99d2164a32 100644 --- a/src/bonsai/bonsai/tool/profile.py +++ b/src/bonsai/bonsai/tool/profile.py @@ -17,22 +17,25 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING, Union + import bpy import ifcopenshell import ifcopenshell.api.profile import ifcopenshell.geom import ifcopenshell.ifcopenshell_wrapper as W import ifcopenshell.util.element -import ifcopenshell.util.unit import ifcopenshell.util.placement import ifcopenshell.util.representation import ifcopenshell.util.shape +import ifcopenshell.util.unit import numpy as np +import PIL.ImageDraw + import bonsai.core.tool import bonsai.tool as tool -import PIL.ImageDraw from bonsai.bim.module.model.decorator import ProfileDecorator -from typing import Union, TYPE_CHECKING if TYPE_CHECKING: import bonsai.bim.module.profile.prop diff --git a/src/bonsai/bonsai/tool/project.py b/src/bonsai/bonsai/tool/project.py index 11c4bef3c9..da613c3fa9 100644 --- a/src/bonsai/bonsai/tool/project.py +++ b/src/bonsai/bonsai/tool/project.py @@ -17,27 +17,34 @@ # along with Bonsai. If not, see . from __future__ import annotations + import os +import json +import math import shutil +import numpy as np +from collections import defaultdict +from math import radians +from pathlib import Path +from typing import TYPE_CHECKING, NamedTuple, Optional + import bpy import ifcopenshell import ifcopenshell.api.document import ifcopenshell.util.element import ifcopenshell.util.representation import ifcopenshell.util.unit +from ifcopenshell.api.project.append_asset import APPENDABLE_ASSET_TYPES + +import bonsai.bim.schema import bonsai.core.aggregate import bonsai.core.context -import bonsai.core.tool -import bonsai.core.root -import bonsai.core.unit import bonsai.core.owner -import bonsai.bim.schema +import bonsai.core.root +import bonsai.core.tool +import bonsai.core.unit import bonsai.tool as tool -from collections import defaultdict from bonsai.bim.ifc import IfcStore -from ifcopenshell.api.project.append_asset import APPENDABLE_ASSET_TYPES -from pathlib import Path -from typing import NamedTuple, Optional, Union, TYPE_CHECKING if TYPE_CHECKING: from bonsai.bim.module.project.prop import BIMProjectProperties, MeasureToolSettings @@ -55,6 +62,47 @@ class Project(bonsai.core.tool.Project): assert (scene := bpy.context.scene) return scene.MeasureToolSettings # pyright: ignore[reportAttributeAccessIssue] + @classmethod + def get_link_empty_handle(cls, link) -> bpy.types.Object | None: + if tool.Ifc.get(): + return tool.Ifc.get_object(tool.Ifc.get().by_id(link.ifc_definition_id)) + return link.empty_handle + + @classmethod + def set_link_empty_handle(cls, link, empty: bpy.types.Object) -> None: + if tool.Ifc.get(): + tool.Ifc.link(tool.Ifc.get().by_id(link.ifc_definition_id), empty) + else: + link.empty_handle = empty + + @classmethod + def calculate_link_matrix(cls, link) -> None: + filepath = Path(tool.Ifc.resolve_uri(link.filepath)) + with open(filepath.with_suffix(".ifc.cache.json"), "r") as f: + metadata = json.load(f) + + rot = ifcopenshell.util.shape_builder.np_rotation_matrix( + radians(-float(metadata["model_project_north"])), 4, "Z" + ) + global_matrix = rot @ np.eye(4) + global_matrix[:, 3][:3] = [float(o) for o in metadata["model_origin_si"].split(",")] + + if tool.Ifc.get(): + transformation = tool.Ifc.get().by_id(link.ifc_definition_id)[1] # Identification + else: + transformation = link.transformation + + if transformation: + transformation = np.fromstring(transformation, sep=",", dtype=np.float64).reshape(4, 4) + if not np.allclose(transformation, np.eye(4)): + global_matrix = transformation @ global_matrix + + gprops = tool.Georeference.get_georeference_props() + rot = ifcopenshell.util.shape_builder.np_rotation_matrix(radians(-float(gprops.model_project_north)), 4, "Z") + local_matrix = rot @ np.eye(4) + local_matrix[:, 3][:3] = [float(o) for o in gprops.model_origin_si.split(",")] + return np.linalg.inv(local_matrix) @ global_matrix + @classmethod def append_all_types_from_template(cls, template: str) -> None: # TODO refactor @@ -246,68 +294,32 @@ class Project(bonsai.core.tool.Project): tool.Root.reload_grid_decorator() @classmethod - def get_linked_models_document(cls) -> Union[ifcopenshell.entity_instance, None]: - for document in tool.Ifc.get().by_type("IfcDocumentInformation"): - if document.Name == "BBIM_Linked_Models": - return document + def get_linked_models_documents(cls) -> dict[str, ifcopenshell.entity_instance]: + linked_docs = {} + for doc in tool.Ifc.get().by_type("IfcDocumentInformation"): + if doc.Scope == "LINKED_MODEL": + for reference in tool.Drawing.get_document_references(doc): + linked_docs[Path(reference.Location).as_posix()] = doc + break + return linked_docs @classmethod def load_linked_models_from_ifc(cls) -> None: links = tool.Project.get_project_props().links links.clear() - links_document = cls.get_linked_models_document() - if not links_document: - return - - references = tool.Document.get_document_references(links_document) - if not references: - return - - for reference in references: - link = links.add() - link.name = reference.Location - - @classmethod - def save_linked_models_to_ifc(cls) -> None: - ifc_file = tool.Ifc.get() - links = tool.Project.get_project_props().links - filepaths: set[Path] = set() - for link in links: - filepaths.add(Path(link.name)) - - links_document = cls.get_linked_models_document() - - if not filepaths and links_document is None: - return - - paths_to_add = filepaths.copy() - references_to_remove: list[ifcopenshell.entity_instance] = [] - if links_document: - references = tool.Document.get_document_references(links_document) - for reference in references: - # I guess got corrupted by the user. - if not (location := reference.Location): - references_to_remove.remove(reference) - continue - path = Path(location) - if path in paths_to_add: - paths_to_add.remove(path) - else: - references_to_remove.append(reference) - - if paths_to_add: - if links_document is None: - links_document = ifcopenshell.api.document.add_information(ifc_file) - links_document.Name = "BBIM_Linked_Models" - links_document.Description = "Bonsai internal document containing references to currently linked models" - - for path in paths_to_add: - reference = ifcopenshell.api.document.add_reference(ifc_file, links_document) - reference.Location = path.as_posix() - - if references_to_remove: - for reference in references_to_remove: - ifcopenshell.api.document.remove_reference(ifc_file, reference) + for doc in tool.Ifc.get().by_type("IfcDocumentInformation"): + if doc.Scope != "LINKED_MODEL": + continue + for reference in tool.Drawing.get_document_references(doc): + filepath = reference.Location + link = links.add() + link.name = filepath + link.filepath = filepath + link.ifc_definition_id = reference.id() + link.has_transformation = False + if reference[1]: + m = np.fromstring(reference[1], sep=",", dtype=np.float64).reshape(4, 4) + link.has_transformation = not np.allclose(m, np.eye(4)) @classmethod def get_project_library_elements( diff --git a/src/bonsai/bonsai/tool/pset.py b/src/bonsai/bonsai/tool/pset.py index b6901238ba..8eabcd155d 100644 --- a/src/bonsai/bonsai/tool/pset.py +++ b/src/bonsai/bonsai/tool/pset.py @@ -17,27 +17,29 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING, Any, Literal, Union, assert_never + import bpy import ifcopenshell import ifcopenshell.api.pset import ifcopenshell.util.attribute import ifcopenshell.util.element + import bonsai.bim.helper +import bonsai.bim.schema import bonsai.core.tool import bonsai.tool as tool -import bonsai.bim.schema -from typing import Union, Literal, Any, TYPE_CHECKING, assert_never - if TYPE_CHECKING: - from bonsai.bim.prop import Attribute from bonsai.bim.module.pset.prop import ( - PsetProperties, - GlobalPsetProperties, AddEditPropertyEntry, - RenamePropertyEntry, DeletePsetEntry, + GlobalPsetProperties, + PsetProperties, + RenamePropertyEntry, ) + from bonsai.bim.prop import Attribute class Pset(bonsai.core.tool.Pset): diff --git a/src/bonsai/bonsai/tool/pset_template.py b/src/bonsai/bonsai/tool/pset_template.py index 3da6dad2e5..e4c1c3dbe1 100644 --- a/src/bonsai/bonsai/tool/pset_template.py +++ b/src/bonsai/bonsai/tool/pset_template.py @@ -17,16 +17,19 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from pathlib import Path +from typing import TYPE_CHECKING, Literal, final + import bpy import ifcopenshell import ifcopenshell.api.pset_template import ifcopenshell.util.attribute import ifcopenshell.util.element + +import bonsai.bim import bonsai.core.tool import bonsai.tool as tool -import bonsai.bim -from pathlib import Path -from typing import Literal, final, TYPE_CHECKING from bonsai.bim.ifc import IfcStore if TYPE_CHECKING: @@ -61,19 +64,23 @@ class PsetTemplate(bonsai.core.tool.PsetTemplate): tool.Ifc.Operator._execute(self, context) @classmethod - def add_pset_as_template( - cls, pset: ifcopenshell.entity_instance, template_file: ifcopenshell.file - ) -> ifcopenshell.entity_instance: - # TODO: add tests. - pset_template = ifcopenshell.api.pset_template.add_pset_template(template_file, pset.Name) - for property in pset.HasProperties: - ifcopenshell.api.pset_template.add_prop_template( - template_file, - pset_template, - name=property.Name, - description=property.Description, - primary_measure_type=property.NominalValue.is_a(), - ) + def add_pset_as_template(cls, pset_name: str, template_file: ifcopenshell.file) -> ifcopenshell.entity_instance: + added_prop_names = set() + pset_template = ifcopenshell.api.pset_template.add_pset_template(template_file, pset_name) + for pset in tool.Ifc.get().by_type("IfcPropertySet"): + if pset.Name != pset_name: + continue + for prop in pset.HasProperties: + if prop.Name in added_prop_names: + continue + added_prop_names.add(prop.Name) + ifcopenshell.api.pset_template.add_prop_template( + template_file, + pset_template, + name=prop.Name, + description=prop.Description, + primary_measure_type=prop.NominalValue.is_a(), + ) return pset_template @classmethod diff --git a/src/bonsai/bonsai/tool/qto.py b/src/bonsai/bonsai/tool/qto.py index 0efa759335..4fd271b283 100644 --- a/src/bonsai/bonsai/tool/qto.py +++ b/src/bonsai/bonsai/tool/qto.py @@ -17,15 +17,18 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING, Any, Literal, Optional, Union + import bpy -import bonsai.core.tool -import bonsai.bim.schema -import bonsai.tool as tool import ifcopenshell -import ifcopenshell.util.unit import ifcopenshell.util.element +import ifcopenshell.util.unit from mathutils import Vector -from typing import Optional, Union, Literal, TYPE_CHECKING, Any + +import bonsai.bim.schema +import bonsai.core.tool +import bonsai.tool as tool if TYPE_CHECKING: from bonsai.bim.module.qto.prop import BIMQtoProperties diff --git a/src/bonsai/bonsai/tool/raycast.py b/src/bonsai/bonsai/tool/raycast.py index 90bec96644..ee06066dd7 100644 --- a/src/bonsai/bonsai/tool/raycast.py +++ b/src/bonsai/bonsai/tool/raycast.py @@ -16,16 +16,18 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +import copy +from typing import Union + import bmesh import bpy -import copy +import mathutils import numpy as np from bpy_extras import view3d_utils +from mathutils import Vector + import bonsai.core.tool import bonsai.tool as tool -import mathutils -from mathutils import Vector -from typing import Union class Raycast(bonsai.core.tool.Raycast): diff --git a/src/bonsai/bonsai/tool/resource.py b/src/bonsai/bonsai/tool/resource.py index 425dce1a76..c64b7b503b 100644 --- a/src/bonsai/bonsai/tool/resource.py +++ b/src/bonsai/bonsai/tool/resource.py @@ -19,25 +19,31 @@ # ############################################################################ # from __future__ import annotations -import bpy -import bonsai.core.tool -import bonsai.tool as tool -import bonsai.bim.helper + import json import time -import isodate from datetime import datetime +from typing import TYPE_CHECKING, Any, Literal, Union + +import bpy import ifcopenshell.api.pset import ifcopenshell.api.resource -import ifcopenshell.util.date as ifcdateutils -import ifcopenshell.util.cost -import ifcopenshell.util.resource import ifcopenshell.util.constraint -from typing import Any, Union, TYPE_CHECKING, Literal +import ifcopenshell.util.cost +import ifcopenshell.util.date as ifcdateutils +import ifcopenshell.util.resource +import isodate + +import bonsai.bim.helper +import bonsai.core.tool +import bonsai.tool as tool if TYPE_CHECKING: + from bonsai.bim.module.resource.prop import ( + BIMResourceProductivity, + BIMResourceProperties, + ) from bonsai.bim.prop import Attribute - from bonsai.bim.module.resource.prop import BIMResourceProperties, BIMResourceProductivity class Resource(bonsai.core.tool.Resource): diff --git a/src/bonsai/bonsai/tool/root.py b/src/bonsai/bonsai/tool/root.py index 42bd558bd1..be7e350adc 100644 --- a/src/bonsai/bonsai/tool/root.py +++ b/src/bonsai/bonsai/tool/root.py @@ -17,6 +17,9 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING, Any, Literal, Optional, Union + import bpy import ifcopenshell import ifcopenshell.api @@ -24,16 +27,16 @@ import ifcopenshell.api.feature import ifcopenshell.api.geometry import ifcopenshell.api.root import ifcopenshell.api.style -import ifcopenshell.util.representation import ifcopenshell.util.element import ifcopenshell.util.placement -import bonsai.core.tool +import ifcopenshell.util.representation + import bonsai.core.aggregate import bonsai.core.geometry +import bonsai.core.tool import bonsai.tool as tool -from typing import Union, Optional, Any, Literal, TYPE_CHECKING -from bonsai.bim.module.spatial.decorator import GridDecorator from bonsai.bim.module.geometry.decorator import ItemDecorator +from bonsai.bim.module.spatial.decorator import GridDecorator if TYPE_CHECKING: from bonsai.bim.module.root.prop import BIMRootProperties diff --git a/src/bonsai/bonsai/tool/search.py b/src/bonsai/bonsai/tool/search.py index 439e3469b3..ffd3a1aef3 100644 --- a/src/bonsai/bonsai/tool/search.py +++ b/src/bonsai/bonsai/tool/search.py @@ -17,20 +17,23 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy + import json -import lark -import bonsai.tool as tool -import bonsai.core.tool +from itertools import cycle +from typing import TYPE_CHECKING, Literal, Union + +import bpy import ifcopenshell.guid import ifcopenshell.util.selector -from itertools import cycle +import lark + +import bonsai.core.tool +import bonsai.tool as tool from bonsai.bim.prop import BIMFacet -from typing import Union, Literal, TYPE_CHECKING if TYPE_CHECKING: - from bonsai.bim.prop import BIMFilterGroup from bonsai.bim.module.search.prop import BIMSearchProperties + from bonsai.bim.prop import BIMFilterGroup class Search(bonsai.core.tool.Search): diff --git a/src/bonsai/bonsai/tool/sequence.py b/src/bonsai/bonsai/tool/sequence.py index a2a2cb9668..8c5339d438 100644 --- a/src/bonsai/bonsai/tool/sequence.py +++ b/src/bonsai/bonsai/tool/sequence.py @@ -17,35 +17,37 @@ # along with Bonsai. If not, see . from __future__ import annotations + +import base64 +import json import os import re -import bpy -import json -import base64 -import ifcopenshell.api.sequence -import ifcopenshell.util.element -import pystache -import mathutils import webbrowser -import isodate -import ifcopenshell -import ifcopenshell.api.group -import ifcopenshell.ifcopenshell_wrapper as W -import ifcopenshell.util.date -import ifcopenshell.util.selector -import ifcopenshell.util.sequence -import bonsai.core.tool -import bonsai.tool as tool -import bonsai.bim.helper -from dateutil import parser +from collections.abc import Iterable from datetime import datetime from datetime import time as datetime_time -from typing import Optional, Any, Union, Literal, TYPE_CHECKING -from collections.abc import Iterable +from typing import TYPE_CHECKING, Any, Literal, Optional, Union + +import bpy +import ifcopenshell +import ifcopenshell.api.group +import ifcopenshell.api.sequence +import ifcopenshell.ifcopenshell_wrapper as W +import ifcopenshell.util.date +import ifcopenshell.util.element +import ifcopenshell.util.selector +import ifcopenshell.util.sequence +import isodate +import mathutils +import pystache +from dateutil import parser from mathutils import Color +import bonsai.bim.helper +import bonsai.core.tool +import bonsai.tool as tool + if TYPE_CHECKING: - from bonsai.bim.prop import Attribute from bonsai.bim.module.sequence.prop import ( BIMAnimationProperties, BIMStatusProperties, @@ -54,6 +56,7 @@ if TYPE_CHECKING: BIMWorkPlanProperties, BIMWorkScheduleProperties, ) + from bonsai.bim.prop import Attribute class Sequence(bonsai.core.tool.Sequence): diff --git a/src/bonsai/bonsai/tool/snap.py b/src/bonsai/bonsai/tool/snap.py index 0e6fe06f9e..0dc11e86b0 100644 --- a/src/bonsai/bonsai/tool/snap.py +++ b/src/bonsai/bonsai/tool/snap.py @@ -17,20 +17,23 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy + +import math +from typing import TYPE_CHECKING, Any, Union + import bmesh +import bpy import ifcopenshell import ifcopenshell.util.unit +import mathutils +from lark import Lark, Transformer +from mathutils import Matrix, Vector + import bonsai.core.tool import bonsai.tool as tool from bonsai.bim.module.drawing.data import DecoratorData from bonsai.bim.module.drawing.decoration import CutDecorator from bonsai.bim.module.model.decorator import PolylineDecorator -import math -import mathutils -from mathutils import Matrix, Vector -from lark import Lark, Transformer -from typing import Union, Any, TYPE_CHECKING if TYPE_CHECKING: from bonsai.bim.prop import BIMSnapGroups, BIMSnapProperties @@ -111,6 +114,15 @@ class Snap(bonsai.core.tool.Snap): return increment + @classmethod + def get_angle_snap_value(cls, context: bpy.types.Context) -> float: + """Get the angle snap increment from Blender's tool settings. + + :param context: Blender context + :return: Angle snap increment in degrees + """ + return math.degrees(context.scene.tool_settings.snap_angle_increment_3d) + @classmethod def get_snap_points_on_raycasted_face(cls, context, event, obj, face_index): matrix = obj.matrix_world.copy() diff --git a/src/bonsai/bonsai/tool/spatial.py b/src/bonsai/bonsai/tool/spatial.py index 6ca29343e9..d38d895c22 100644 --- a/src/bonsai/bonsai/tool/spatial.py +++ b/src/bonsai/bonsai/tool/spatial.py @@ -17,43 +17,46 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy + +import json +from collections import defaultdict +from collections.abc import Generator, Iterable +from math import pi +from typing import TYPE_CHECKING, Any, Literal, Optional, Union + import bmesh -import shapely -import shapely.ops +import bpy import ifcopenshell import ifcopenshell.api.attribute import ifcopenshell.api.type import ifcopenshell.geom +import ifcopenshell.util.classification import ifcopenshell.util.element import ifcopenshell.util.placement import ifcopenshell.util.representation -import ifcopenshell.util.classification import ifcopenshell.util.shape_builder import ifcopenshell.util.type import ifcopenshell.util.unit -import bonsai.core.type -import bonsai.core.tool +import numpy as np +import shapely +import shapely.ops +from mathutils import Matrix, Vector +from natsort import natsorted +from shapely import Polygon + +import bonsai.core.geometry import bonsai.core.root import bonsai.core.spatial -import bonsai.core.geometry +import bonsai.core.tool +import bonsai.core.type import bonsai.core.unit import bonsai.tool as tool -import json -import numpy as np -from math import pi -from mathutils import Vector, Matrix -from shapely import Polygon -from typing import Optional, Union, Literal, Any, TYPE_CHECKING -from collections.abc import Generator, Iterable -from collections import defaultdict -from natsort import natsorted if TYPE_CHECKING: from bonsai.bim.module.spatial.prop import ( BIMGridProperties, - BIMSpatialDecompositionProperties, BIMObjectSpatialProperties, + BIMSpatialDecompositionProperties, ) @@ -71,9 +74,25 @@ class Spatial(bonsai.core.tool.Spatial): return bpy.context.scene.BIMGridProperties @classmethod - def can_contain(cls, container: ifcopenshell.entity_instance, element_obj: Union[bpy.types.Object, None]) -> bool: - if not (element := tool.Ifc.get_entity(element_obj)): - return False + def get_decomposition(cls, element: ifcopenshell.entity_instance) -> list(ifcopenshell.entity_instance): + return ifcopenshell.util.element.get_decomposition(element) + + @classmethod + def get_root_element(cls, element: ifcopenshell.entity_instance) -> ifcopenshell.entity_instance: + while True: + if parent := ( + ifcopenshell.util.element.get_aggregate(element) + or ifcopenshell.util.element.get_nest(element) + or ifcopenshell.util.element.get_filled_void(element) + or ifcopenshell.util.element.get_voided_element(element) + ): + element = parent + else: + break + return element + + @classmethod + def can_contain(cls, container: ifcopenshell.entity_instance, element: ifcopenshell.entity_instance) -> bool: if tool.Ifc.get_schema() == "IFC2X3": if not container.is_a("IfcSpatialStructureElement"): return False @@ -144,10 +163,10 @@ class Spatial(bonsai.core.tool.Spatial): @classmethod def run_spatial_assign_container( - cls, container: ifcopenshell.entity_instance, element_obj: bpy.types.Object + cls, container: ifcopenshell.entity_instance, objs: list[bpy.types.Object] ) -> Union[ifcopenshell.entity_instance, None]: return bonsai.core.spatial.assign_container( - tool.Ifc, tool.Collector, tool.Spatial, container=container, element_obj=element_obj + tool.Ifc, tool.Collector, tool.Spatial, container=container, objs=objs ) @classmethod @@ -1174,6 +1193,7 @@ class Spatial(bonsai.core.tool.Spatial): @classmethod def assign_type_to_obj(cls, obj: bpy.types.Object) -> None: + # TODO this code looks in the wrong spot and suspicious props = tool.Model.get_model_props() ifc_file = tool.Ifc.get() relating_type_id = props.relating_type_id @@ -1193,7 +1213,7 @@ class Spatial(bonsai.core.tool.Spatial): element: ifcopenshell.entity_instance, relating_type: ifcopenshell.entity_instance, ) -> None: - bonsai.core.type.assign_type(ifc, type, element=element, type=relating_type) + bonsai.core.type.assign_type(ifc, tool.Model, type, element=element, type=relating_type) @classmethod def regen_obj_representation(cls, obj: bpy.types.Object, body: ifcopenshell.entity_instance) -> None: @@ -1213,18 +1233,18 @@ class Spatial(bonsai.core.tool.Spatial): for element in elements: if obj := tool.Ifc.get_object(element): if obj.hide_viewport is True and is_visible: - obj.hide_set(False) + obj.hide_viewport = False elif obj.hide_viewport is False and not is_visible: - obj.hide_set(True) + obj.hide_viewport = True @classmethod def set_grid_visibility(cls, is_visible: bool) -> None: for element in tool.Ifc.get().by_type("IfcGrid") + tool.Ifc.get().by_type("IfcGridAxis"): if obj := tool.Ifc.get_object(element): if obj.hide_viewport is True and is_visible: - obj.hide_set(False) + obj.hide_viewport = False elif obj.hide_viewport is False and not is_visible: - obj.hide_set(True) + obj.hide_viewport = True @classmethod def toggle_spaces_visibility_wired_and_textured(cls, spaces: list[ifcopenshell.entity_instance]) -> None: diff --git a/src/bonsai/bonsai/tool/structural.py b/src/bonsai/bonsai/tool/structural.py index 3f218e52e9..b011f5df88 100644 --- a/src/bonsai/bonsai/tool/structural.py +++ b/src/bonsai/bonsai/tool/structural.py @@ -17,21 +17,30 @@ # along with Bonsai. If not, see . from __future__ import annotations + +import json +from typing import TYPE_CHECKING, Any, Union + import bpy import ifcopenshell import ifcopenshell.api.context import ifcopenshell.api.structural import ifcopenshell.util.attribute import ifcopenshell.util.representation -import json + import bonsai.bim.helper import bonsai.core.tool import bonsai.tool as tool -from typing import Union, Any, TYPE_CHECKING if TYPE_CHECKING: - from bonsai.bim.module.structural.prop import BIMStructuralProperties, BIMObjectStructuralProperties - from ifcopenshell.api.structural.edit_structural_boundary_condition import AttributeDict + from ifcopenshell.api.structural.edit_structural_boundary_condition import ( + AttributeDict, + ) + + from bonsai.bim.module.structural.prop import ( + BIMObjectStructuralProperties, + BIMStructuralProperties, + ) class Structural(bonsai.core.tool.Structural): diff --git a/src/bonsai/bonsai/tool/style.py b/src/bonsai/bonsai/tool/style.py index e6861b53dc..78cb19680e 100644 --- a/src/bonsai/bonsai/tool/style.py +++ b/src/bonsai/bonsai/tool/style.py @@ -17,23 +17,30 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from collections.abc import Sequence +from typing import TYPE_CHECKING, Any, Literal, Optional, Union + import bpy -import numpy as np import ifcopenshell import ifcopenshell.api.style import ifcopenshell.util.element import ifcopenshell.util.representation +import numpy as np +from mathutils import Color + +import bonsai.bim.helper import bonsai.core.style import bonsai.core.tool import bonsai.tool as tool -import bonsai.bim.helper -from mathutils import Color -from typing import Union, Any, Optional, Literal, TYPE_CHECKING -from collections.abc import Sequence if TYPE_CHECKING: + from bonsai.bim.module.style.prop import ( + BIMStyleProperties, + BIMStylesProperties, + ColourRgb, + ) from bonsai.bim.prop import Attribute - from bonsai.bim.module.style.prop import BIMStylesProperties, BIMStyleProperties, ColourRgb # fmt: off TEXTURE_MAPS_BY_METHODS = { diff --git a/src/bonsai/bonsai/tool/surveyor.py b/src/bonsai/bonsai/tool/surveyor.py index 7c203586f2..f59d9cd7da 100644 --- a/src/bonsai/bonsai/tool/surveyor.py +++ b/src/bonsai/bonsai/tool/surveyor.py @@ -20,12 +20,13 @@ import bpy import ifcopenshell.api import ifcopenshell.util.geolocation import ifcopenshell.util.unit -import bonsai.core.tool -import bonsai.tool as tool import numpy as np import numpy.typing as npt from mathutils import Matrix +import bonsai.core.tool +import bonsai.tool as tool + class Surveyor(bonsai.core.tool.Surveyor): @classmethod diff --git a/src/bonsai/bonsai/tool/system.py b/src/bonsai/bonsai/tool/system.py index efaaa802c5..8b949a36c9 100644 --- a/src/bonsai/bonsai/tool/system.py +++ b/src/bonsai/bonsai/tool/system.py @@ -17,26 +17,29 @@ # along with Bonsai. If not, see . from __future__ import annotations + +import re +from enum import Enum +from typing import TYPE_CHECKING, Any, Optional, Union + import bpy import ifcopenshell.api.geometry import ifcopenshell.api.system import ifcopenshell.util.element import ifcopenshell.util.system +from mathutils import Matrix, Vector +from natsort import natsorted + import bonsai.bim.helper import bonsai.core.geometry import bonsai.core.root import bonsai.core.tool import bonsai.tool as tool from bonsai.bim import import_ifc -import re -from mathutils import Matrix, Vector from bonsai.bim.module.system.data import ObjectSystemData, SystemDecorationData -from enum import Enum -from typing import TYPE_CHECKING, Optional, Any, Union -from natsort import natsorted if TYPE_CHECKING: - from bonsai.bim.module.system.prop import BIMSystemProperties, BIMZoneProperties, BIMZoneProperties + from bonsai.bim.module.system.prop import BIMSystemProperties, BIMZoneProperties class System(bonsai.core.tool.System): @@ -100,6 +103,7 @@ class System(bonsai.core.tool.System): @classmethod def create_empty_at_cursor_with_element_orientation(cls, element: ifcopenshell.entity_instance) -> bpy.types.Object: + # Is this necessary anymore? element_obj = tool.Ifc.get_object(element) obj = bpy.data.objects.new("Port", None) obj.matrix_world = element_obj.matrix_world @@ -107,6 +111,26 @@ class System(bonsai.core.tool.System): bpy.context.scene.collection.objects.link(obj) return obj + @classmethod + def create_port_at_cursor(cls, element: ifcopenshell.entity_instance) -> ifcopenshell.entity_instance: + ifc_file = tool.Ifc.get() + element_obj = tool.Ifc.get_object(element) + + port = ifcopenshell.api.system.add_port(ifc_file, element=element) + port.FlowDirection = "NOTDEFINED" + port.PredefinedType = "USERDEFINED" + + systems = ifcopenshell.util.system.get_element_systems(element) + system = systems[0] if systems else None + port.SystemType = getattr(system, "PredefinedType", None) or "USERDEFINED" + + matrix = element_obj.matrix_world.copy() + matrix.translation = bpy.context.scene.cursor.matrix.translation + + ifcopenshell.api.geometry.edit_object_placement(ifc_file, product=port, matrix=matrix, is_si=True) + + return port + @classmethod def delete_element_objects(cls, elements: list[ifcopenshell.entity_instance]) -> None: for element in elements: @@ -192,11 +216,22 @@ class System(bonsai.core.tool.System): ifc_importer.process_context_filter() ifc_importer.create_generic_elements(set(ports_to_create)) - container = ifcopenshell.util.element.get_container(element) - if container: - collection = tool.Blender.get_object_bim_props(tool.Ifc.get_object(container)).collection - ifc_importer.collections[container.GlobalId] = collection - ifc_importer.place_objects_in_collections() + if element.is_a("IfcTypeProduct"): + target_collection = None + for collection in obj.users_collection: + target_collection = collection + break + + if target_collection: + for port_obj in ifc_importer.added_data.values(): + if isinstance(port_obj, bpy.types.Object): + tool.Collector.link_collection_object_safe(target_collection, port_obj) + else: + container = ifcopenshell.util.element.get_container(element) + if container: + collection = tool.Blender.get_object_bim_props(tool.Ifc.get_object(container)).collection + ifc_importer.collections[container.GlobalId] = collection + ifc_importer.place_objects_in_collections() for port_obj in ifc_importer.added_data.values(): assert isinstance(port_obj, bpy.types.Object) diff --git a/src/bonsai/bonsai/tool/type.py b/src/bonsai/bonsai/tool/type.py index 6c98e8bb59..84a349f288 100644 --- a/src/bonsai/bonsai/tool/type.py +++ b/src/bonsai/bonsai/tool/type.py @@ -17,14 +17,17 @@ # along with Bonsai. If not, see . from __future__ import annotations + +from typing import TYPE_CHECKING, Union + import bpy import ifcopenshell import ifcopenshell.util.element import ifcopenshell.util.representation -import bonsai.core.tool + import bonsai.core.geometry +import bonsai.core.tool import bonsai.tool as tool -from typing import Union, TYPE_CHECKING if TYPE_CHECKING: from bonsai.bim.module.type.prop import BIMTypeProperties @@ -74,11 +77,13 @@ class Type(bonsai.core.tool.Type): def get_model_types(cls) -> list[ifcopenshell.entity_instance]: ifc_file = tool.Ifc.get() types = ifc_file.by_type("IfcElementType") - types += ifc_file.by_type("IfcSpatialElementType") - types += ifc_file.by_type("IfcTypeProduct", include_subtypes=False) - if not tool.Ifc.get_schema().startswith("IFC4X3"): + if tool.Ifc.get_schema() == "IFC2X3": types += ifc_file.by_type("IfcWindowStyle") types += ifc_file.by_type("IfcDoorStyle") + types += ifc_file.by_type("IfcSpatialStructureElementType") + else: + types += ifc_file.by_type("IfcSpatialElementType") + types += ifc_file.by_type("IfcTypeProduct", include_subtypes=False) return types @classmethod @@ -138,3 +143,20 @@ class Type(bonsai.core.tool.Type): obj=obj, representation=representation, ) + + @classmethod + def record_material_usage_attributes(cls, element: ifcopenshell.entity_instance) -> dict | None: + if (material := ifcopenshell.util.element.get_material(element)) and "Usage" in material.is_a(): + return material.get_info() + + @classmethod + def restore_material_usage_attributes(cls, element: ifcopenshell.entity_instance, usage_attributes: dict) -> None: + if (material := ifcopenshell.util.element.get_material(element)) and material.is_a() == usage_attributes[ + "type" + ]: + if usage_attributes["type"] == "IfcMaterialLayerSetUsage": + for attr in ("LayerSetDirection", "DirectionSense", "OffsetFromReferenceLine", "ReferenceExtent"): + setattr(material, attr, usage_attributes.get(attr)) + elif usage_attributes["type"] == "IfcMaterialProfileSetUsage": + for attr in ("CardinalPoint", "ReferenceExtent"): + setattr(material, attr, usage_attributes.get(attr)) diff --git a/src/bonsai/bonsai/tool/unit.py b/src/bonsai/bonsai/tool/unit.py index f7c9ce300b..1221f28be9 100644 --- a/src/bonsai/bonsai/tool/unit.py +++ b/src/bonsai/bonsai/tool/unit.py @@ -17,259 +17,23 @@ # along with Bonsai. If not, see . from __future__ import annotations -import bpy + import json import math +from typing import TYPE_CHECKING, Any, Literal, Union, assert_never + +import bpy import ifcopenshell +from lark import Lark, Transformer + import bonsai.bim.helper import bonsai.core.tool import bonsai.tool as tool -from lark import Lark, Transformer -from typing import Union, Literal, Any, TYPE_CHECKING, assert_never if TYPE_CHECKING: from bonsai.bim.module.unit.prop import BIMUnitProperties -def parse_distance_string(input_string: str, use_project_unit: bool = True) -> tuple[bool, float]: - """ - Parse a distance string with optional unit suffixes and convert to meters. - - This function parses distance inputs with units (e.g., "5m", "10ft", "3.5cm") - and converts them to meters (SI units) for use in IFC models. - - Supports: - - Metric units: mm, cm, dm, m - - Imperial units: ft/feet ('), in/inches (") - - Arithmetic expressions: +, -, *, / - - Fractions for imperial units (e.g., 1/2") - - Formula mode: values starting with "=" - - :param input_string: The string to parse (e.g., "5m", "10ft", "10'6\"", "3.5cm", "12in") - :param use_project_unit: If True, uses project unit scale; if False, uses Blender unit scale - :return: Tuple (is_valid, value_in_meters) where is_valid indicates successful parsing - and value_in_meters is the converted value in meters - - Examples: - >>> parse_distance_string("5m") - (True, 5.0) - >>> parse_distance_string("30cm") - (True, 0.3) - >>> parse_distance_string("10ft") - (True, 3.048) - >>> parse_distance_string("12in") - (True, 0.3048) - >>> parse_distance_string("5'6\"") - (True, 1.6764) - >>> parse_distance_string("invalid") - (False, 0.0) - """ - - grammar_imperial = r""" - start: (FORMULA dim expr) | dim - dim: imperial - - FORMULA: "=" - - imperial: feet_inches | feet_only | inches_only | plain_number - feet_only: NUMBER (FEET_SYM | FEET_TEXT) - inches_only: inch_value (INCH_SYM | INCH_TEXT) - feet_inches: NUMBER (FEET_SYM | FEET_TEXT) DASH? inch_value (INCH_SYM | INCH_TEXT)? - plain_number: NUMBER - - inch_value: NUMBER fraction | fraction | NUMBER - - fraction: NUMBER "/" NUMBER - - expr: (ADD | SUB) dim | (MUL | DIV) NUMBER - - NUMBER: /-?(?:\d+\.?\d*|\.\d+)/ - FEET_SYM: "'" - FEET_TEXT: "ft" - INCH_SYM: "\"" - INCH_TEXT: "in" - DASH: "-" - ADD: "+" - SUB: "-" - MUL: "*" - DIV: "/" - - %ignore " " - """ - - grammar_metric = r""" - start: FORMULA? dim expr? - dim: metric - - FORMULA: "=" - - metric: NUMBER (MM | CM | DM | M | DEG)? - - expr: (ADD | SUB | MUL | DIV) dim - - NUMBER: /-?(?:\d+\.?\d*|\.\d+)/ - MM: "mm" - CM: "cm" - DM: "dm" - M: "m" - DEG: "°" - ADD: "+" - SUB: "-" - MUL: "*" - DIV: "/" - - %ignore " " - """ - - class InputTransform(Transformer): - def NUMBER(self, n): - return float(n) - - def fraction(self, numbers): - return numbers[0] / numbers[1] - - def inch_value(self, args): - # Can be: NUMBER fraction, fraction, or NUMBER - if len(args) == 2: - # NUMBER fraction (e.g., "9 1/64") - return args[0] + args[1] - else: - # Just fraction or just NUMBER - return args[0] - - def plain_number(self, args): - # A plain number in imperial context is assumed to be feet - feet = args[0] - # Convert feet to meters (1 foot = 0.3048 meters) - return feet * 0.3048 - - def feet_only(self, args): - # args[0] is the number of feet, args[1] is the unit token (we can ignore it) - feet = args[0] - # Convert feet to meters (1 foot = 0.3048 meters) - return feet * 0.3048 - - def inches_only(self, args): - # args[0] is the inch_value, args[1] is the unit token - inches = args[0] - # Convert inches to meters (1 inch = 0.0254 meters) - return inches * 0.0254 - - def feet_inches(self, args): - # Extract feet and inches values - feet = args[0] - # Find the inch_value (it's a number, not a token) - inches = None - for arg in args[1:]: - if isinstance(arg, (int, float)): - inches = arg - break - if inches is None: - inches = 0 - - # If feet is negative, inches should also be negative (subtractive) - if feet < 0: - inches = -inches - - # Convert to meters - total_meters = (feet * 0.3048) + (inches * 0.0254) - return total_meters - - def imperial(self, args): - # Just return the value from the sub-rule (feet_only, inches_only, or feet_inches) - return args[0] - - def metric(self, args): - # args[0] is the NUMBER, args[1] if present is the unit - value = args[0] - if len(args) > 1: - unit = str(args[1]) - # Convert to meters based on unit - if unit == "mm": - value = value / 1000.0 - elif unit == "cm": - value = value / 100.0 - elif unit == "dm": - value = value / 10.0 - elif unit == "m": - value = value # already in meters - elif unit == "°": - value = value # degrees, pass through - # If no unit specified, assume it's already in the project's unit system - return value - - def dim(self, args): - return args[0] - - def expr(self, args): - op = args[0] - value = float(args[1]) - if op == "+": - return lambda x: x + value - elif op == "-": - return lambda x: x - value - elif op == "*": - return lambda x: x * value - elif op == "/": - return lambda x: x / value - - def FORMULA(self, args): - return args[0] - - def start(self, args): - i = 0 - if args[0] == "=": - i += 1 - else: - if len(args) > 1: - raise ValueError("Invalid input.") - dimension = args[i] - if len(args) > i + 1: - expression = args[i + 1] - return expression(dimension) - else: - return dimension - - try: - # Determine unit scale - if use_project_unit and tool.Ifc.get(): - unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) - else: - unit_scale = tool.Blender.get_unit_scale() - - # Try to parse with the project's default grammar first - if bpy.context.scene.unit_settings.system == "IMPERIAL": - primary_parser = Lark(grammar_imperial) - fallback_parser = Lark(grammar_metric) - else: - primary_parser = Lark(grammar_metric) - fallback_parser = Lark(grammar_imperial) - - # Try parsing with primary grammar - parse_tree = None - try: - parse_tree = primary_parser.parse(input_string) - except Exception as e: - # If primary fails, try fallback grammar (allows metric in imperial projects and vice versa) - try: - parse_tree = fallback_parser.parse(input_string) - except Exception as e2: - pass - - if parse_tree is None: - return False, 0.0 - - # Transform the parse tree to get the numeric result - transformer = InputTransform() - result = transformer.transform(parse_tree) - result = round(result, 6) - - return True, result - - except Exception as e: - return False, 0.0 - - class Unit(bonsai.core.tool.Unit): UNIT_TYPE = Literal["LENGTHUNIT", "AREAUNIT", "VOLUMEUNIT", "MASSUNIT", "TIMEUNIT"] @@ -297,6 +61,245 @@ class Unit(bonsai.core.tool.Unit): **kwargs, ) + @classmethod + def parse_distance_string(cls, input_string: str, use_project_unit: bool = True) -> tuple[bool, float]: + """ + Parse a distance string with optional unit suffixes and convert to meters. + + This function parses distance inputs with units (e.g., "5m", "10ft", "3.5cm") + and converts them to meters (SI units) for use in IFC models. + + Supports: + - Metric units: mm, cm, dm, m + - Imperial units: ft/feet ('), in/inches (") + - Arithmetic expressions: +, -, *, / + - Fractions for imperial units (e.g., 1/2") + - Formula mode: values starting with "=" + + :param input_string: The string to parse (e.g., "5m", "10ft", "10'6\"", "3.5cm", "12in") + :param use_project_unit: If True, uses project unit scale; if False, uses Blender unit scale + :return: Tuple (is_valid, value_in_meters) where is_valid indicates successful parsing + and value_in_meters is the converted value in meters + + Examples: + >>> parse_distance_string("5m") + (True, 5.0) + >>> parse_distance_string("30cm") + (True, 0.3) + >>> parse_distance_string("10ft") + (True, 3.048) + >>> parse_distance_string("12in") + (True, 0.3048) + >>> parse_distance_string("5'6\"") + (True, 1.6764) + >>> parse_distance_string("invalid") + (False, 0.0) + """ + + grammar_imperial = r""" + start: (FORMULA dim expr) | dim + dim: imperial + + FORMULA: "=" + + imperial: feet_inches | feet_only | inches_only | plain_number + feet_only: NUMBER (FEET_SYM | FEET_TEXT) + inches_only: inch_value (INCH_SYM | INCH_TEXT) + feet_inches: NUMBER (FEET_SYM | FEET_TEXT) DASH? inch_value (INCH_SYM | INCH_TEXT)? + plain_number: NUMBER + + inch_value: NUMBER fraction | fraction | NUMBER + + fraction: NUMBER "/" NUMBER + + expr: (ADD | SUB) dim | (MUL | DIV) NUMBER + + NUMBER: /-?(?:\d+\.?\d*|\.\d+)/ + FEET_SYM: "'" + FEET_TEXT: "ft" + INCH_SYM: "\"" + INCH_TEXT: "in" + DASH: "-" + ADD: "+" + SUB: "-" + MUL: "*" + DIV: "/" + + %ignore " " + """ + + grammar_metric = r""" + start: FORMULA? dim expr? + dim: metric + + FORMULA: "=" + + metric: NUMBER (MM | CM | DM | M | DEG)? + + expr: (ADD | SUB | MUL | DIV) dim + + NUMBER: /-?(?:\d+\.?\d*|\.\d+)/ + MM: "mm" + CM: "cm" + DM: "dm" + M: "m" + DEG: "°" + ADD: "+" + SUB: "-" + MUL: "*" + DIV: "/" + + %ignore " " + """ + + class InputTransform(Transformer): + def NUMBER(self, n): + return float(n) + + def fraction(self, numbers): + return numbers[0] / numbers[1] + + def inch_value(self, args): + # Can be: NUMBER fraction, fraction, or NUMBER + if len(args) == 2: + # NUMBER fraction (e.g., "9 1/64") + return args[0] + args[1] + else: + # Just fraction or just NUMBER + return args[0] + + def plain_number(self, args): + # A plain number in imperial context is assumed to be feet + feet = args[0] + # Convert feet to meters (1 foot = 0.3048 meters) + return feet * 0.3048 + + def feet_only(self, args): + # args[0] is the number of feet, args[1] is the unit token (we can ignore it) + feet = args[0] + # Convert feet to meters (1 foot = 0.3048 meters) + return feet * 0.3048 + + def inches_only(self, args): + # args[0] is the inch_value, args[1] is the unit token + inches = args[0] + # Convert inches to meters (1 inch = 0.0254 meters) + return inches * 0.0254 + + def feet_inches(self, args): + # Extract feet and inches values + feet = args[0] + # Find the inch_value (it's a number, not a token) + inches = None + for arg in args[1:]: + if isinstance(arg, (int, float)): + inches = arg + break + if inches is None: + inches = 0 + + # If feet is negative, inches should also be negative (subtractive) + if feet < 0: + inches = -inches + + # Convert to meters + total_meters = (feet * 0.3048) + (inches * 0.0254) + return total_meters + + def imperial(self, args): + # Just return the value from the sub-rule (feet_only, inches_only, or feet_inches) + return args[0] + + def metric(self, args): + # args[0] is the NUMBER, args[1] if present is the unit + value = args[0] + if len(args) > 1: + unit = str(args[1]) + # Convert to meters based on unit + if unit == "mm": + value = value / 1000.0 + elif unit == "cm": + value = value / 100.0 + elif unit == "dm": + value = value / 10.0 + elif unit == "m": + value = value # already in meters + elif unit == "°": + value = value # degrees, pass through + # If no unit specified, assume it's already in the project's unit system + return value + + def dim(self, args): + return args[0] + + def expr(self, args): + op = args[0] + value = float(args[1]) + if op == "+": + return lambda x: x + value + elif op == "-": + return lambda x: x - value + elif op == "*": + return lambda x: x * value + elif op == "/": + return lambda x: x / value + + def FORMULA(self, args): + return args[0] + + def start(self, args): + i = 0 + if args[0] == "=": + i += 1 + else: + if len(args) > 1: + raise ValueError("Invalid input.") + dimension = args[i] + if len(args) > i + 1: + expression = args[i + 1] + return expression(dimension) + else: + return dimension + + try: + # Determine unit scale + if use_project_unit and tool.Ifc.get(): + unit_scale = ifcopenshell.util.unit.calculate_unit_scale(tool.Ifc.get()) + else: + unit_scale = tool.Blender.get_unit_scale() + + # Try to parse with the project's default grammar first + if bpy.context.scene.unit_settings.system == "IMPERIAL": + primary_parser = Lark(grammar_imperial) + fallback_parser = Lark(grammar_metric) + else: + primary_parser = Lark(grammar_metric) + fallback_parser = Lark(grammar_imperial) + + # Try parsing with primary grammar + parse_tree = None + try: + parse_tree = primary_parser.parse(input_string) + except Exception as e: + # If primary fails, try fallback grammar (allows metric in imperial projects and vice versa) + try: + parse_tree = fallback_parser.parse(input_string) + except Exception as e2: + pass + + if parse_tree is None: + return False, 0.0 + + # Transform the parse tree to get the numeric result + transformer = InputTransform() + result = transformer.transform(parse_tree) + result = round(result, 6) + + return True, result + + except Exception as e: + return False, 0.0 + @classmethod def get_unit_props(cls) -> BIMUnitProperties: return bpy.context.scene.BIMUnitProperties @@ -330,66 +333,33 @@ class Unit(bonsai.core.tool.Unit): return bonsai.bim.helper.export_attributes(props.unit_attributes, callback=callback) @classmethod - def get_scene_unit_name(cls, unit_type: UNIT_TYPE) -> str: - bim_props = tool.Blender.get_bim_props() + def get_scene_unit_name(cls, unit_type: UNIT_TYPE) -> str | None: if unit_type == "LENGTHUNIT": - assert bpy.context.scene - props = bpy.context.scene.unit_settings - if props.length_unit == "MILES": - return "mile" - elif props.length_unit == "FEET" or props.length_unit == "ADAPTIVE": - return "foot" - elif props.length_unit == "INCHES": - return "inch" - elif props.length_unit == "THOU": - return "thou" - return "foot" - elif unit_type == "AREAUNIT": - return bim_props.area_unit - elif unit_type == "VOLUMEUNIT": - return bim_props.volume_unit - elif unit_type == "MASSUNIT": - return bim_props.mass_unit.lower() - elif unit_type == "TIMEUNIT": - return bim_props.time_unit.lower() - else: - assert_never(unit_type) + name = bpy.context.scene.unit_settings.length_unit + if name == "ADAPTIVE": + if bpy.context.scene.unit_settings.system == "IMPERIAL": + name = "foot" + else: + name = "METRE" + name = ( + {"MILES": "mile", "FEET": "foot", "INCHES": "inch", "THOU": "thou", "ADAPTIVE": "METERS"} + .get(name, name) + .replace("METERS", "METRE") + ) + if len(name) > len("METRE") and name.endswith("METRE"): + return f"{name[:-5]}/METRE" + return name + bim_props = tool.Blender.get_bim_props() + if (name := getattr(bim_props, f"{unit_type[:-4].lower()}_unit")) != "NONE": + return name @classmethod - def get_scene_unit_si_prefix(cls, unit_type: UNIT_TYPE) -> Union[str, None]: - bim_props = tool.Blender.get_bim_props() - if unit_type == "LENGTHUNIT": - assert bpy.context.scene - props = bpy.context.scene.unit_settings - if props.length_unit == "ADAPTIVE" or props.length_unit == "METERS": - return - return props.length_unit.replace("METERS", "") - elif unit_type == "AREAUNIT": - unit = bim_props.area_unit - elif unit_type == "VOLUMEUNIT": - unit = bim_props.volume_unit - elif unit_type == "MASSUNIT": - unit = bim_props.mass_unit - if unit == "GRAM": - return None - elif unit == "KILOGRAM": - return "KILO" - elif unit == "TONNE": - return "MEGA" - elif unit in ["POUND", "OUNCE"]: - return "CONVERSION" - else: - return None - elif unit_type == "TIMEUNIT": - unit = bim_props.time_unit - if unit == "SECOND": - return None - else: - return "CONVERSION" - else: - assert_never(unit_type) - if "/" in unit: - return unit.split("/")[0] + def is_si_unit(cls, name: str) -> bool: + return name[0].isupper() + + @classmethod + def get_scene_unit_si_prefix(cls, name: str) -> str | None: + return name.split("/")[0] if "/" in name else None @classmethod def import_unit_attributes(cls, unit: ifcopenshell.entity_instance) -> None: @@ -449,11 +419,6 @@ class Unit(bonsai.core.tool.Unit): new.is_assigned = unit in assigned_units new.ifc_class = unit.is_a() - @classmethod - def is_scene_unit_metric(cls) -> bool: - assert bpy.context.scene - return bpy.context.scene.unit_settings.system in ["METRIC", "NONE"] - @classmethod def is_unit_class(cls, unit: ifcopenshell.entity_instance, ifc_class: str) -> bool: return unit.is_a(ifc_class) @@ -504,9 +469,3 @@ class Unit(bonsai.core.tool.Unit): elif ifc_class == "IfcMonetaryUnit": return "COPY_ID" return "MOD_MESHDEFORM" - - @classmethod - def add_mass_and_time_units(cls) -> bool: - """Return True if the user wants to add mass and time units, False otherwise.""" - bim_props = tool.Blender.get_bim_props() - return getattr(bim_props, "add_mass_time_units", False) diff --git a/src/bonsai/bonsai/tool/web.py b/src/bonsai/bonsai/tool/web.py index 2e1628378f..35811b3819 100644 --- a/src/bonsai/bonsai/tool/web.py +++ b/src/bonsai/bonsai/tool/web.py @@ -17,37 +17,40 @@ # along with Bonsai. If not, see . from __future__ import annotations -from ifcopenshell.util.classification import get_classification_data, get_references -from ifcopenshell.util.selector import filter_elements -import ifcopenshell.util.cost + +import asyncio +import errno +import json +import os +import queue +import socket +import subprocess +import sys +import threading +import time +import webbrowser +from pathlib import Path +from time import sleep +from typing import TYPE_CHECKING, Any, Optional, Union + import bpy -from bonsai.bim.module.web.data import WebData -from ifcopenshell.util.element import get_psets, get_type, has_property -import bonsai.core.tool -import bonsai.tool as tool -import ifcopenshell.api.sequence import ifcopenshell.api.classification import ifcopenshell.api.cost -from typing import Any, Optional, TYPE_CHECKING, Union -from mathutils import Color -import time -import socket -import sys -import os -import errno -import subprocess -import webbrowser -import asyncio +import ifcopenshell.api.sequence +import ifcopenshell.util.cost import socketio -import threading -import queue -import json -from time import sleep -from pathlib import Path -import bonsai.core.sequence -import bonsai.core.cost from ifc5d.ifc2json import ifc5D2json +from ifcopenshell.util.classification import get_classification_data, get_references +from ifcopenshell.util.element import get_psets, get_type, has_property +from ifcopenshell.util.selector import filter_elements +from mathutils import Color + +import bonsai.core.cost +import bonsai.core.sequence +import bonsai.core.tool +import bonsai.tool as tool from bonsai.bim.ifc import IfcStore +from bonsai.bim.module.web.data import WebData if TYPE_CHECKING: from bonsai.bim.module.web.prop import WebProperties diff --git a/src/bonsai/pyproject.toml b/src/bonsai/pyproject.toml index 6dab8f3454..3ec2cb8748 100644 --- a/src/bonsai/pyproject.toml +++ b/src/bonsai/pyproject.toml @@ -38,8 +38,3 @@ exclude = ["test*"] [tool.ruff] extend = "../../pyproject.toml" - -[tool.ruff.lint] -ignore = [ - "I", # import sorting - ignore it temporarily, still need to do some tests -] diff --git a/src/bonsai/pytest.ini b/src/bonsai/pytest.ini index 001313dd30..e628606201 100644 --- a/src/bonsai/pytest.ini +++ b/src/bonsai/pytest.ini @@ -1,6 +1,7 @@ [pytest] markers = aggregate + array attribute boolean boundary diff --git a/src/bonsai/runpytest.py b/src/bonsai/runpytest.py index f9a55fdc27..9a00ea69b0 100755 --- a/src/bonsai/runpytest.py +++ b/src/bonsai/runpytest.py @@ -23,6 +23,7 @@ Usage: `blender -b -P runpytest.py -- ARGS` """ import sys + import pytest argv = [__file__] diff --git a/src/bonsai/scripts/bonsai_translations.py b/src/bonsai/scripts/bonsai_translations.py index de7f613210..7a0fe86ea9 100644 --- a/src/bonsai/scripts/bonsai_translations.py +++ b/src/bonsai/scripts/bonsai_translations.py @@ -4,20 +4,20 @@ try: # Ensure it's not fake-bpy-module. if not hasattr(bpy, "context"): raise ModuleNotFoundError - import bl_i18n_utils import addon_utils + import bl_i18n_utils BPY_IS_LOADED = True except ModuleNotFoundError: BPY_IS_LOADED = False -import shutil -import tempfile import importlib import os import re -from pathlib import Path +import shutil +import tempfile from dataclasses import dataclass, field +from pathlib import Path from typing import Optional bl_info = { @@ -274,7 +274,9 @@ if BPY_IS_LOADED: f"Couldn't find locale path in the source directory, creating dummy directory: {source_locale_path}.", ) - from ui_translate.settings import settings as ui_translate_settings # pyright: ignore[reportMissingImports] + from ui_translate.settings import ( + settings as ui_translate_settings, # pyright: ignore[reportMissingImports] + ) from ui_translate.update_ui import ( # pyright: ignore[reportMissingImports] UI_OT_i18n_updatetranslation_init_settings, ) diff --git a/src/bonsai/scripts/classifications/uniclass_classification.py b/src/bonsai/scripts/classifications/uniclass_classification.py index ce55fae9e7..299db8a469 100644 --- a/src/bonsai/scripts/classifications/uniclass_classification.py +++ b/src/bonsai/scripts/classifications/uniclass_classification.py @@ -1,4 +1,5 @@ import os + import ifcopenshell import pandas as pd diff --git a/src/bonsai/scripts/classifications/vbis.py b/src/bonsai/scripts/classifications/vbis.py index fe77308f82..7c4f43b967 100644 --- a/src/bonsai/scripts/classifications/vbis.py +++ b/src/bonsai/scripts/classifications/vbis.py @@ -1,12 +1,13 @@ import csv -import os import json +import os # import pystache import subprocess -import ifcopenshell from pathlib import Path +import ifcopenshell + class Generator: def __init__(self): diff --git a/src/bonsai/scripts/classifications/xml_classification.py b/src/bonsai/scripts/classifications/xml_classification.py index d75383a051..0a80fb68e7 100644 --- a/src/bonsai/scripts/classifications/xml_classification.py +++ b/src/bonsai/scripts/classifications/xml_classification.py @@ -1,9 +1,10 @@ """This script converts Graphisoft XML into an IFC file""" +import os import xml.etree.ElementTree as ET + import ifcopenshell import ifcopenshell.guid -import os class IFC4Extractor: diff --git a/src/bonsai/scripts/dev_environment.py b/src/bonsai/scripts/dev_environment.py index 4598d0bf49..e9a8d2a44f 100644 --- a/src/bonsai/scripts/dev_environment.py +++ b/src/bonsai/scripts/dev_environment.py @@ -78,7 +78,8 @@ BONSAI_PATH = find_bonsai_path() # --------------------------- # Never changed by user. -PACKAGE_PATH = BLENDER_PATH / r"extensions/.local/lib/python3.11/site-packages" +PYTHON_VERSION = "3.13" if BLENDER_VERSION == "5.1" else "3.11" +PACKAGE_PATH = BLENDER_PATH / rf"extensions/.local/lib/python{PYTHON_VERSION}/site-packages" def main() -> None: @@ -193,7 +194,7 @@ def main() -> None: print(f"Downloading {url} -> {filepath}") urllib.request.urlretrieve(url, filepath) - input("Dev environment is all set. 🎉🎉\nPress Enter to continue..." "") + input("Dev environment is all set!! \nPress Enter to continue...") if __name__ == "__main__": diff --git a/src/bonsai/scripts/dev_environment_vscode_config.py b/src/bonsai/scripts/dev_environment_vscode_config.py index b574ba9bf4..088810e05c 100644 --- a/src/bonsai/scripts/dev_environment_vscode_config.py +++ b/src/bonsai/scripts/dev_environment_vscode_config.py @@ -1,6 +1,10 @@ -import bonsai, json, bpy +import json from pathlib import Path +import bpy + +import bonsai + repo_path = Path(bonsai.__file__).resolve().parent install_path = Path(bonsai.__file__).absolute().parent assert repo_path != install_path, "Run `dev_environment.py` to setup the development environment symlinks first." diff --git a/src/bonsai/scripts/dxf2ifc.py b/src/bonsai/scripts/dxf2ifc.py index 3fa34e379a..caef1df864 100644 --- a/src/bonsai/scripts/dxf2ifc.py +++ b/src/bonsai/scripts/dxf2ifc.py @@ -16,9 +16,9 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +import ezdxf import ifcopenshell import ifcopenshell.guid -import ezdxf class Dxf2Ifc: diff --git a/src/bonsai/scripts/extract.py b/src/bonsai/scripts/extract.py index dffaaf6d40..2b4166be81 100644 --- a/src/bonsai/scripts/extract.py +++ b/src/bonsai/scripts/extract.py @@ -16,9 +16,13 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import xml.sax, json, copy, pathlib -from bs4 import BeautifulSoup # pyright: ignore[reportMissingModuleSource] +import copy +import json +import pathlib import sys +import xml.sax + +from bs4 import BeautifulSoup # pyright: ignore[reportMissingModuleSource] sys.setrecursionlimit(100) diff --git a/src/bonsai/scripts/gbxml.py b/src/bonsai/scripts/gbxml.py index 8d23fe6018..7280c69c2a 100644 --- a/src/bonsai/scripts/gbxml.py +++ b/src/bonsai/scripts/gbxml.py @@ -16,15 +16,16 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -import uuid import math import sys +import uuid + +import bpy +import bspy # pyright: ignore[reportMissingImports] # sys.path.append('C:\Program Files\Python37\Lib\site-packages') import lxml import lxml.etree -import bspy # pyright: ignore[reportMissingImports] from bspy import Gbxml # pyright: ignore[reportMissingImports] diff --git a/src/bonsai/scripts/generate_au_library.py b/src/bonsai/scripts/generate_au_library.py index 044f2fb090..43f05b45da 100644 --- a/src/bonsai/scripts/generate_au_library.py +++ b/src/bonsai/scripts/generate_au_library.py @@ -30,6 +30,7 @@ import ifcopenshell.api.pset import ifcopenshell.api.root import ifcopenshell.api.style import ifcopenshell.api.unit + import bonsai.tool as tool diff --git a/src/bonsai/scripts/generate_demo_library.py b/src/bonsai/scripts/generate_demo_library.py index 7a9e741dab..a77fc09ab7 100644 --- a/src/bonsai/scripts/generate_demo_library.py +++ b/src/bonsai/scripts/generate_demo_library.py @@ -16,6 +16,8 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from pathlib import Path + import bpy import ifcopenshell import ifcopenshell.api @@ -31,8 +33,8 @@ import ifcopenshell.api.style import ifcopenshell.api.unit import ifcopenshell.util.schema import ifcopenshell.util.shape_builder + import bonsai.tool as tool -from pathlib import Path def sync_guids(target_file: ifcopenshell.file, source_file: ifcopenshell.file) -> None: diff --git a/src/bonsai/scripts/generate_entourage_library.py b/src/bonsai/scripts/generate_entourage_library.py index 78ed71ac6a..7435186396 100644 --- a/src/bonsai/scripts/generate_entourage_library.py +++ b/src/bonsai/scripts/generate_entourage_library.py @@ -17,6 +17,8 @@ # along with Bonsai. If not, see . import os +from pathlib import Path + import bpy import ifcopenshell import ifcopenshell.api @@ -26,9 +28,8 @@ import ifcopenshell.api.project import ifcopenshell.api.root import ifcopenshell.api.style import ifcopenshell.api.unit -import bonsai.tool as tool -from pathlib import Path +import bonsai.tool as tool # When run from Blender BLEND_DIR = os.path.dirname(bpy.data.filepath) diff --git a/src/bonsai/scripts/generate_furniture_library.py b/src/bonsai/scripts/generate_furniture_library.py index 7212191be9..1c1572c854 100644 --- a/src/bonsai/scripts/generate_furniture_library.py +++ b/src/bonsai/scripts/generate_furniture_library.py @@ -16,7 +16,11 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import numpy as np +from itertools import chain +from math import cos, pi, tan +from pathlib import Path +from typing import Optional, Union + import ifcopenshell import ifcopenshell.api import ifcopenshell.api.context @@ -27,11 +31,8 @@ import ifcopenshell.api.root import ifcopenshell.api.style import ifcopenshell.api.unit import ifcopenshell.util.element -from math import cos, tan, pi -from pathlib import Path -from itertools import chain -from ifcopenshell.util.shape_builder import ShapeBuilder, V, np_to_3d, np_normalized -from typing import Optional, Union +import numpy as np +from ifcopenshell.util.shape_builder import ShapeBuilder, V, np_normalized, np_to_3d GeneratorOutput = Union[list[ifcopenshell.entity_instance], list[list[ifcopenshell.entity_instance]]] diff --git a/src/bonsai/scripts/generate_landscape_library.py b/src/bonsai/scripts/generate_landscape_library.py index 01e694e9d0..34d2366fd5 100644 --- a/src/bonsai/scripts/generate_landscape_library.py +++ b/src/bonsai/scripts/generate_landscape_library.py @@ -16,10 +16,16 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import os -import bpy import csv +import os import random +from collections import namedtuple +from itertools import chain +from math import cos, pi, sin, tan +from pathlib import Path +from random import uniform + +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.context @@ -29,15 +35,10 @@ import ifcopenshell.api.root import ifcopenshell.api.style import ifcopenshell.api.unit import ifcopenshell.util.unit -import bonsai.tool as tool -from math import cos, sin, tan, pi -from pathlib import Path -from itertools import chain from ifcopenshell.util.shape_builder import ShapeBuilder -from collections import namedtuple -from mathutils import Vector, Matrix -from random import uniform +from mathutils import Matrix, Vector +import bonsai.tool as tool # When run from Blender BLEND_DIR = os.path.dirname(bpy.data.filepath) diff --git a/src/bonsai/scripts/generate_png_icons.py b/src/bonsai/scripts/generate_png_icons.py index d24b69fe90..a523163a20 100644 --- a/src/bonsai/scripts/generate_png_icons.py +++ b/src/bonsai/scripts/generate_png_icons.py @@ -5,9 +5,9 @@ # to run on mac: python3 generate_png_icons.py import os +import re import subprocess import xml.etree.ElementTree as ET -import re SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) SVG_FILE = os.path.join(SCRIPT_DIR, "bonsai_icons.svg") diff --git a/src/bonsai/scripts/generate_site_library.py b/src/bonsai/scripts/generate_site_library.py index e42ad4e4f2..0b0511e9da 100644 --- a/src/bonsai/scripts/generate_site_library.py +++ b/src/bonsai/scripts/generate_site_library.py @@ -25,6 +25,7 @@ import ifcopenshell.api.project import ifcopenshell.api.root import ifcopenshell.api.style import ifcopenshell.api.unit + import bonsai.tool as tool diff --git a/src/bonsai/scripts/generate_steel_profiles_library.py b/src/bonsai/scripts/generate_steel_profiles_library.py index 086c918689..c54818df4b 100644 --- a/src/bonsai/scripts/generate_steel_profiles_library.py +++ b/src/bonsai/scripts/generate_steel_profiles_library.py @@ -19,15 +19,16 @@ # fmt: off # pylint: skip-file +from math import cos, pi +from pathlib import Path + +import boltspy as bolts # pyright: ignore[reportMissingImports] import ifcopenshell import ifcopenshell.api import ifcopenshell.api.material import ifcopenshell.api.project import ifcopenshell.api.root import ifcopenshell.api.unit -import boltspy as bolts # pyright: ignore[reportMissingImports] -from math import cos, pi -from pathlib import Path from ifcopenshell.util.shape_builder import ShapeBuilder, V, ifc_safe_vector_type diff --git a/src/bonsai/scripts/generate_util_type_json.py b/src/bonsai/scripts/generate_util_type_json.py index c162800f54..7c44a9dfe9 100644 --- a/src/bonsai/scripts/generate_util_type_json.py +++ b/src/bonsai/scripts/generate_util_type_json.py @@ -18,6 +18,7 @@ # See bug #1300. Dodgy quick results that we should rebuild later. import json + import ifcopenshell import ifcopenshell.util.schema diff --git a/src/bonsai/scripts/geonodes_modifier_prototype.py b/src/bonsai/scripts/geonodes_modifier_prototype.py index 1b3dbfd8ab..16370c1ca2 100644 --- a/src/bonsai/scripts/geonodes_modifier_prototype.py +++ b/src/bonsai/scripts/geonodes_modifier_prototype.py @@ -17,14 +17,15 @@ # along with Bonsai. If not, see . +import json + +import bmesh +import bpy import ifcopenshell import ifcopenshell.api.pset import ifcopenshell.util.element -import bonsai.tool as tool -import bpy -import bmesh -import json +import bonsai.tool as tool # Below is the code for # prototype for geonodes modifier (similar to ifc sverchok modifier) diff --git a/src/bonsai/scripts/getIfcElements.py b/src/bonsai/scripts/getIfcElements.py index 335260f7e9..57e03d50c4 100644 --- a/src/bonsai/scripts/getIfcElements.py +++ b/src/bonsai/scripts/getIfcElements.py @@ -18,9 +18,9 @@ """This script converts the computer iterpretable listing ifcXML XSD into a JSON file""" -import xml.etree.ElementTree as ET import collections import json +import xml.etree.ElementTree as ET class IFC4Extractor: diff --git a/src/bonsai/scripts/get_all_qtos.py b/src/bonsai/scripts/get_all_qtos.py index 7f23dca55a..d364115559 100644 --- a/src/bonsai/scripts/get_all_qtos.py +++ b/src/bonsai/scripts/get_all_qtos.py @@ -1,13 +1,14 @@ """Update ifc5d json files with qtos from the provided pset templates path.""" import json -import ifcopenshell.util.pset -import ifcopenshell.util.type -import ifc5d from collections import defaultdict from pathlib import Path from typing import Union +import ifc5d +import ifcopenshell.util.pset +import ifcopenshell.util.type + def order_dict(dictionary): # https://stackoverflow.com/questions/22721579/sorting-a-nested-ordereddict-by-key-recursively diff --git a/src/bonsai/scripts/get_description.py b/src/bonsai/scripts/get_description.py index 2d581185aa..a05d5dc287 100644 --- a/src/bonsai/scripts/get_description.py +++ b/src/bonsai/scripts/get_description.py @@ -16,11 +16,12 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import os -import re import html import json +import os +import re from pathlib import Path + import ifcopenshell diff --git a/src/bonsai/scripts/get_volume_by_material.py b/src/bonsai/scripts/get_volume_by_material.py index 2f81862990..312878e53d 100644 --- a/src/bonsai/scripts/get_volume_by_material.py +++ b/src/bonsai/scripts/get_volume_by_material.py @@ -16,10 +16,11 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -import bmesh import pprint +import bmesh +import bpy + material_volumes = {} for obj in bpy.context.selected_objects: diff --git a/src/bonsai/scripts/headless_import.py b/src/bonsai/scripts/headless_import.py index 111b07d78b..7554eacc04 100644 --- a/src/bonsai/scripts/headless_import.py +++ b/src/bonsai/scripts/headless_import.py @@ -1,6 +1,7 @@ # This can be run using `blender -b -P headless_import.py` import bpy + import bonsai.tool as tool # When federating, you may wish to manually specify the origin to ensure models diff --git a/src/bonsai/scripts/obj2ifc-meshlab.py b/src/bonsai/scripts/obj2ifc-meshlab.py index 1d2739ca21..c8292bb0f7 100644 --- a/src/bonsai/scripts/obj2ifc-meshlab.py +++ b/src/bonsai/scripts/obj2ifc-meshlab.py @@ -19,21 +19,21 @@ # This can be packaged with `pyinstaller --onefile --hidden-import numpy --collect-all ifcopenshell --clean obj2ifc.py` import argparse -import pymeshlab # pyright: ignore[reportMissingImports] +from pathlib import Path + import ifcopenshell import ifcopenshell.api import ifcopenshell.api.aggregate import ifcopenshell.api.context import ifcopenshell.api.geometry +import ifcopenshell.api.owner.settings import ifcopenshell.api.project import ifcopenshell.api.root import ifcopenshell.api.spatial import ifcopenshell.api.unit -import ifcopenshell.api.owner.settings import ifcopenshell.guid -from pathlib import Path - import numpy as np +import pymeshlab # pyright: ignore[reportMissingImports] class Obj2Ifc: diff --git a/src/bonsai/scripts/obj2ifc.py b/src/bonsai/scripts/obj2ifc.py index dc91cedfd5..70f3bf7b41 100644 --- a/src/bonsai/scripts/obj2ifc.py +++ b/src/bonsai/scripts/obj2ifc.py @@ -19,21 +19,21 @@ # This can be packaged with `pyinstaller --onefile --hidden-import numpy --collect-all ifcopenshell --clean obj2ifc.py` import argparse -import pywavefront # pyright: ignore[reportMissingImports] +from pathlib import Path + import ifcopenshell import ifcopenshell.api import ifcopenshell.api.aggregate import ifcopenshell.api.context import ifcopenshell.api.geometry +import ifcopenshell.api.owner.settings import ifcopenshell.api.project import ifcopenshell.api.root import ifcopenshell.api.spatial import ifcopenshell.api.unit -import ifcopenshell.api.owner.settings import ifcopenshell.guid -from pathlib import Path - import numpy as np +import pywavefront # pyright: ignore[reportMissingImports] class Obj2Ifc: diff --git a/src/bonsai/scripts/replace_drawing_path.py b/src/bonsai/scripts/replace_drawing_path.py index eeca3911e0..500726082f 100644 --- a/src/bonsai/scripts/replace_drawing_path.py +++ b/src/bonsai/scripts/replace_drawing_path.py @@ -27,15 +27,15 @@ It works on the active ifc file (if exists). """ -import bonsai.tool as tool +import os +import sys +from sys import platform + import ifcopenshell import ifcopenshell.api.pset import ifcopenshell.util.element -import sys - -import os -from sys import platform +import bonsai.tool as tool file = tool.Ifc.get() if not file: diff --git a/src/bonsai/scripts/reregister_bonsai.py b/src/bonsai/scripts/reregister_bonsai.py index 437c9f5b34..ba9ab2ba2a 100644 --- a/src/bonsai/scripts/reregister_bonsai.py +++ b/src/bonsai/scripts/reregister_bonsai.py @@ -25,6 +25,7 @@ to ensure disable and enable occur in the same Blender session. import bpy + import bonsai.tool as tool bonsai_name = tool.Blender.get_blender_addon_package_name() diff --git a/src/bonsai/scripts/setup_pytest.py b/src/bonsai/scripts/setup_pytest.py index 90af113eca..28dc7565f1 100644 --- a/src/bonsai/scripts/setup_pytest.py +++ b/src/bonsai/scripts/setup_pytest.py @@ -16,8 +16,8 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import sys import subprocess +import sys from pathlib import Path print("Here are the detected system paths:") @@ -45,10 +45,10 @@ for dep in dependencies: subprocess.check_call(command + [dep]) try: + import pygments import pytest import pytest_bdd import pytest_blender - import pygments print("Test dependency installation was successful!") except Exception as e: diff --git a/src/bonsai/scripts/standalone_blender_import.py b/src/bonsai/scripts/standalone_blender_import.py index 27dc84e07f..a2b9908afb 100644 --- a/src/bonsai/scripts/standalone_blender_import.py +++ b/src/bonsai/scripts/standalone_blender_import.py @@ -1,6 +1,7 @@ +import multiprocessing + import ifcopenshell import ifcopenshell.geom -import multiprocessing class BlenderImporter: diff --git a/src/bonsai/scripts/standalone_drawer.py b/src/bonsai/scripts/standalone_drawer.py index 1b669adb3f..3eed11b9c9 100644 --- a/src/bonsai/scripts/standalone_drawer.py +++ b/src/bonsai/scripts/standalone_drawer.py @@ -1,10 +1,11 @@ -import sys -import ifcopenshell -import ifcopenshell.util.element -import ifcopenshell.geom import multiprocessing +import sys from typing import NamedTuple + +import ifcopenshell +import ifcopenshell.geom import ifcopenshell.ifcopenshell_wrapper as W +import ifcopenshell.util.element # W.turn_on_detailed_logging() diff --git a/src/bonsai/scripts/standalone_section_shader.py b/src/bonsai/scripts/standalone_section_shader.py index 970e58105b..20afd92fea 100644 --- a/src/bonsai/scripts/standalone_section_shader.py +++ b/src/bonsai/scripts/standalone_section_shader.py @@ -12,20 +12,16 @@ bl_info = { } -import bpy -from bpy.types import Operator, PropertyGroup, Panel -from mathutils import Vector, Matrix, Euler from math import radians + +import bpy from bpy.props import ( - PointerProperty, - StringProperty, - EnumProperty, BoolProperty, - IntProperty, - FloatProperty, FloatVectorProperty, - CollectionProperty, + PointerProperty, ) +from bpy.types import Operator, Panel, PropertyGroup +from mathutils import Euler, Vector class SectionCutawayManager: diff --git a/src/bonsai/scripts/waldo.py b/src/bonsai/scripts/waldo.py index 5ed734356c..00243c5782 100644 --- a/src/bonsai/scripts/waldo.py +++ b/src/bonsai/scripts/waldo.py @@ -1,4 +1,8 @@ -import numpy as np +# https://stackoverflow.com/a/9184560/9627415 +# Possible optimisation to linalg.norm? +from itertools import cycle +from math import radians + import ifcopenshell import ifcopenshell.api.aggregate import ifcopenshell.api.context @@ -12,14 +16,7 @@ import ifcopenshell.api.type import ifcopenshell.api.unit import ifcopenshell.util.placement import ifcopenshell.util.shape_builder - -# https://stackoverflow.com/a/9184560/9627415 -# Possible optimisation to linalg.norm? - -# from ifcopenshell.util.shape_builder import VectorType, SequenceOfVectors -from itertools import cycle -from collections import namedtuple -from math import sin, cos, radians +import numpy as np f = ifcopenshell.api.project.create_file() diff --git a/src/bonsai/test/bim/bootstrap.py b/src/bonsai/test/bim/bootstrap.py index 6d997bdd7f..587b8f5a2d 100644 --- a/src/bonsai/test/bim/bootstrap.py +++ b/src/bonsai/test/bim/bootstrap.py @@ -19,19 +19,22 @@ import os import re -import bpy -import pytest import webbrowser -import bonsai.bim.handler -import bonsai.tool as tool + +import bpy import ifcopenshell import ifcopenshell.util.element import ifcopenshell.util.representation -from bonsai.bim.ifc import IfcStore +import pytest from mathutils import Vector +import bonsai.bim.handler +import bonsai.tool as tool +from bonsai.bim.ifc import IfcStore + # Monkey-patch webbrowser opening since we want to test headlessly webbrowser.open = lambda x: True +tool.Drawing.open_with_user_command = lambda x, y: True variables = {"cwd": os.getcwd(), "ifc": "IfcStore.get_file()"} diff --git a/src/bonsai/test/bim/feature/array.feature b/src/bonsai/test/bim/feature/array.feature new file mode 100644 index 0000000000..23fa4c0080 --- /dev/null +++ b/src/bonsai/test/bim/feature/array.feature @@ -0,0 +1,276 @@ +@array +Feature: Array + +Scenario: Add array + Given an empty IFC project + And I load the demo construction library + And I set "scene.BIMModelProperties.ifc_class" to "IfcColumnType" + And I add the construction type + When the object "IfcColumn/Column" is selected + And I look at the "Array" panel + And I see "No Array Found" + And I click "ADD" + Then the object "IfcColumn/Column" exists + And I see "Column" + And I see "1 Items" + And I don't see "No Array Found" + And the object "IfcColumn/Column" is at "0,0,0" + +Scenario: Enable editing array + Given an empty IFC project + And I load the demo construction library + And I set "scene.BIMModelProperties.ifc_class" to "IfcColumnType" + And I add the construction type + And the object "IfcColumn/Column" is selected + And I look at the "Array" panel + And I click "ADD" + When I click "GREASEPENCIL" + Then I see "Count" + And I see "Method" + And I don't see "1 Items" + +Scenario: Disable editing array + Given an empty IFC project + And I load the demo construction library + And I set "scene.BIMModelProperties.ifc_class" to "IfcColumnType" + And I add the construction type + And the object "IfcColumn/Column" is selected + And I look at the "Array" panel + And I click "ADD" + And I click "GREASEPENCIL" + When I click "CANCEL" + Then I see "1 Items" + And I don't see "Count" + +Scenario: Edit array + Given an empty IFC project + And I load the demo construction library + And I set "scene.BIMModelProperties.ifc_class" to "IfcColumnType" + And I add the construction type + And the object "IfcColumn/Column" is selected + And I look at the "Array" panel + And I click "ADD" + And I click "GREASEPENCIL" + When I set the "Count" property to "2" + And I click "CHECKMARK" + Then the object "IfcColumn/Column.001" is in the collection "IfcBuildingStorey/My Storey" + And the object "IfcColumn/Column" is at "0,0,0" + And the object "IfcColumn/Column.001" is at "0,0,0" + And the object "IfcColumn/Column" dimensions are "0.5,0.6,3" + +Scenario: Edit array - offset method + Given an empty IFC project + And I load the demo construction library + And I set "scene.BIMModelProperties.ifc_class" to "IfcColumnType" + And I add the construction type + And the object "IfcColumn/Column" is selected + And I look at the "Array" panel + And I click "ADD" + And I click "GREASEPENCIL" + When I set the "Count" property to "3" + And I set the "Method" property to "Offset" + And I set the "X" property to "1" + And I click "CHECKMARK" + Then the object "IfcColumn/Column.001" is in the collection "IfcBuildingStorey/My Storey" + And the object "IfcColumn/Column.002" is in the collection "IfcBuildingStorey/My Storey" + And the object "IfcColumn/Column" is at "0,0,0" + And the object "IfcColumn/Column.001" is at "1,0,0" + And the object "IfcColumn/Column.002" is at "2,0,0" + And the object "IfcColumn/Column" dimensions are "0.5,0.6,3" + And the object "IfcColumn/Column.001" dimensions are "0.5,0.6,3" + And the object "IfcColumn/Column.002" dimensions are "0.5,0.6,3" + +Scenario: Edit array - distribute method + Given an empty IFC project + And I load the demo construction library + And I set "scene.BIMModelProperties.ifc_class" to "IfcColumnType" + And I add the construction type + And the object "IfcColumn/Column" is selected + And I look at the "Array" panel + And I click "ADD" + And I click "GREASEPENCIL" + When I set the "Count" property to "3" + And I set the "Method" property to "Distribute" + And I set the "X" property to "2" + And I click "CHECKMARK" + Then the object "IfcColumn/Column.001" is in the collection "IfcBuildingStorey/My Storey" + And the object "IfcColumn/Column.002" is in the collection "IfcBuildingStorey/My Storey" + And the object "IfcColumn/Column" is at "0,0,0" + And the object "IfcColumn/Column.001" is at "1,0,0" + And the object "IfcColumn/Column.002" is at "2,0,0" + And the object "IfcColumn/Column" dimensions are "0.5,0.6,3" + And the object "IfcColumn/Column.001" dimensions are "0.5,0.6,3" + And the object "IfcColumn/Column.002" dimensions are "0.5,0.6,3" + +Scenario: Edit array - local space + Given an empty IFC project + And I load the demo construction library + And I set "scene.BIMModelProperties.ifc_class" to "IfcColumnType" + And I add the construction type + And the object "IfcColumn/Column" is rotated by "0,0,90" deg + And the object "IfcColumn/Column" is selected + And I look at the "Array" panel + And I click "ADD" + And I click "GREASEPENCIL" + When I set the "Count" property to "2" + And I set the "Method" property to "Offset" + And I set the "Use Local Space" property to "TRUE" + And I set the "X" property to "1" + And I click "CHECKMARK" + Then the object "IfcColumn/Column" is at "0,0,0" + And the object "IfcColumn/Column.001" is at "0,1,0" + +Scenario: Edit array - world space + Given an empty IFC project + And I load the demo construction library + And I set "scene.BIMModelProperties.ifc_class" to "IfcColumnType" + And I add the construction type + And the object "IfcColumn/Column" is rotated by "0,0,90" deg + And the object "IfcColumn/Column" is selected + And I look at the "Array" panel + And I click "ADD" + And I click "GREASEPENCIL" + When I set the "Count" property to "2" + And I set the "Method" property to "Offset" + And I set the "Use Local Space" property to "FALSE" + And I set the "X" property to "1" + And I click "CHECKMARK" + Then the object "IfcColumn/Column" is at "0,0,0" + And the object "IfcColumn/Column.001" is at "1,0,0" + +Scenario: Edit array - decrease count + Given an empty IFC project + And I load the demo construction library + And I set "scene.BIMModelProperties.ifc_class" to "IfcColumnType" + And I add the construction type + And the object "IfcColumn/Column" is selected + And I look at the "Array" panel + And I click "ADD" + And I click "GREASEPENCIL" + When I set the "Count" property to "3" + And I click "CHECKMARK" + And I click "GREASEPENCIL" + When I set the "Count" property to "2" + And I click "CHECKMARK" + Then the object "IfcColumn/Column.001" exists + And the object "IfcColumn/Column.002" does not exist + +Scenario: Edit array - multiple arrays + Given an empty IFC project + And I load the demo construction library + And I set "scene.BIMModelProperties.ifc_class" to "IfcColumnType" + And I add the construction type + And the object "IfcColumn/Column" is selected + And I look at the "Array" panel + And I click "ADD" + And I click "GREASEPENCIL" + When I set the "Count" property to "3" + And I set the "Method" property to "Offset" + And I set the "X" property to "1" + And I click "CHECKMARK" + And I see "3 Items" + And I click "ADD" + And I click the "GREASEPENCIL" after the text "1 Items (Offset)" + And I set the "Count" property to "2" + And I set the "Method" property to "Offset" + And I set the "Y" property to "1" + And I click the "CHECKMARK" after the text "Count" + Then I see "3 Items" + And I see "2 Items" + Then the object "IfcColumn/Column.001" is in the collection "IfcBuildingStorey/My Storey" + And the object "IfcColumn/Column.002" is in the collection "IfcBuildingStorey/My Storey" + And the object "IfcColumn/Column.003" is in the collection "IfcBuildingStorey/My Storey" + And the object "IfcColumn/Column.004" is in the collection "IfcBuildingStorey/My Storey" + And the object "IfcColumn/Column.005" is in the collection "IfcBuildingStorey/My Storey" + And the object "IfcColumn/Column" is at "0,0,0" + And the object "IfcColumn/Column.001" is at "1,0,0" + And the object "IfcColumn/Column.002" is at "2,0,0" + And the object "IfcColumn/Column.003" is at "0,1,0" + And the object "IfcColumn/Column.004" is at "1,1,0" + And the object "IfcColumn/Column.005" is at "2,1,0" + And the object "IfcColumn/Column" dimensions are "0.5,0.6,3" + And the object "IfcColumn/Column.001" dimensions are "0.5,0.6,3" + And the object "IfcColumn/Column.002" dimensions are "0.5,0.6,3" + And the object "IfcColumn/Column.003" dimensions are "0.5,0.6,3" + And the object "IfcColumn/Column.004" dimensions are "0.5,0.6,3" + And the object "IfcColumn/Column.005" dimensions are "0.5,0.6,3" + +Scenario: Remove array + Given an empty IFC project + And I load the demo construction library + And I set "scene.BIMModelProperties.ifc_class" to "IfcColumnType" + And I add the construction type + And the object "IfcColumn/Column" is selected + And I look at the "Array" panel + And I click "ADD" + And I click "GREASEPENCIL" + And I set the "Count" property to "2" + And I set the "Method" property to "Offset" + And I set the "X" property to "1" + And I click "CHECKMARK" + When I click "X" + Then the object "IfcColumn/Column" exists + And the object "IfcColumn/Column.001" does not exist + +Scenario: Regenerate array + Given an empty IFC project + And I load the demo construction library + And I set "scene.BIMModelProperties.ifc_class" to "IfcColumnType" + And I add the construction type + And the object "IfcColumn/Column" is selected + And I look at the "Array" panel + And I click "ADD" + And I click "GREASEPENCIL" + And I set the "Count" property to "2" + And I click "CHECKMARK" + When I click "FILE_REFRESH" + Then the object "IfcColumn/Column" exists + And the object "IfcColumn/Column.001" exists + +Scenario: Apply array + Given an empty IFC project + And I load the demo construction library + And I set "scene.BIMModelProperties.ifc_class" to "IfcColumnType" + And I add the construction type + And the object "IfcColumn/Column" is selected + And I look at the "Array" panel + And I click "ADD" + And I click "GREASEPENCIL" + And I set the "Count" property to "2" + And I click "CHECKMARK" + When I click "CHECKMARK" + Then the object "IfcColumn/Column" exists + And the object "IfcColumn/Column.001" exists + And I see "No Array Found" + +Scenario: Select array parent + Given an empty IFC project + And I load the demo construction library + And I set "scene.BIMModelProperties.ifc_class" to "IfcColumnType" + And I add the construction type + And the object "IfcColumn/Column" is selected + And I look at the "Array" panel + And I click "ADD" + And I click "GREASEPENCIL" + And I set the "Count" property to "2" + And I click "CHECKMARK" + When the object "IfcColumn/Column.001" is selected + And I click "OBJECT_DATA" + Then the object "IfcColumn/Column" is selected + And the object "IfcColumn/Column.001" is not selected + +Scenario: Select all array objects + Given an empty IFC project + And I load the demo construction library + And I set "scene.BIMModelProperties.ifc_class" to "IfcColumnType" + And I add the construction type + And the object "IfcColumn/Column" is selected + And I look at the "Array" panel + And I click "ADD" + And I click "GREASEPENCIL" + And I set the "Count" property to "2" + And I click "CHECKMARK" + When the object "IfcColumn/Column.001" is selected + And I click "RESTRICT_SELECT_OFF" + Then the object "IfcColumn/Column" is selected + And the object "IfcColumn/Column.001" is selected diff --git a/src/bonsai/test/bim/feature/drawing.feature b/src/bonsai/test/bim/feature/drawing.feature index 6a24168e4b..b7b78e748d 100644 --- a/src/bonsai/test/bim/feature/drawing.feature +++ b/src/bonsai/test/bim/feature/drawing.feature @@ -3,12 +3,6 @@ Feature: Drawing Scenario: Duplicate drawing Given an empty IFC project - And I add a cube - And the object "Cube" is selected - And I look at the "Class" panel - And I set the "Products" property to "IfcElement" - And I set the "Class" property to "IfcWall" - And I click "Assign IFC Class" And I save IFC project And I look at the "Drawings" panel And I click "IMPORT" @@ -315,3 +309,10 @@ Scenario: Create sheet - with a drawing added to it And I click "IMAGE_PLANE" When I click "OUTPUT" Then the file "{ifc_dir}/sheets/A01 - UNTITLED.svg" should contain "IfcWall" + +Scenario: Add reference image + Given an empty IFC project + And I save IFC project + When I press "bim.add_reference_image(filepath='{cwd}/test/files/image.jpg')" + Then the object "IfcAnnotation/image" exists + And the object "IfcAnnotation/image" dimensions are "1.0,0.565,0." diff --git a/src/bonsai/test/bim/feature/project.feature b/src/bonsai/test/bim/feature/project.feature index cb9aeec21e..f536a17220 100644 --- a/src/bonsai/test/bim/feature/project.feature +++ b/src/bonsai/test/bim/feature/project.feature @@ -677,31 +677,43 @@ Scenario: Load project elements - all georeferencing coordinate situations with And the object "IfcActuator/J" has a vertex at "10.366,3.813,-1" And the object "IfcActuator/J" has a vertex at "12.298,4.331,-1" -Scenario: Link IFC +Scenario: Link IFC - from an empty IFC project Given an empty IFC project - When I link IFC project from "{cwd}/test/files/basic.ifc" + When I press "bim.link_ifc(filepath='{cwd}/test/files/basic.ifc')" Then "scene.BIMProjectProperties.links['{cwd}/test/files/basic.ifc'].is_loaded" is "True" And the collection "IfcProject/basic.ifc" exists And the object "Chunk" exists And the object "Chunk" is placed in the collection "IfcProject/basic.ifc" -Scenario: Link IFC - disabled false origin mode - Given an empty IFC project - # Not currently possible via UI - And I set "scene.BIMProjectProperties.distance_limit" to "5" - And I set "scene.BIMProjectProperties.false_origin_mode" to "DISABLED" - When I link IFC project from "{cwd}/test/files/geolocation.ifc" - Then the object "Chunk" exists - And the object "Chunk" has a vertex at "2,2,-1" - And the object "Chunk" has a vertex at "9,-1,-1" - And the object "Chunk" has a vertex at "17,4,-1" - Scenario: Link IFC - from an empty IFC project - automatic false origin mode (0,0,0 will be the false origin) Given an empty IFC project # Not currently possible via UI And I set "scene.BIMProjectProperties.distance_limit" to "5" And I set "scene.BIMProjectProperties.false_origin_mode" to "AUTOMATIC" - When I link IFC project from "{cwd}/test/files/geolocation.ifc" + When I press "bim.link_ifc(filepath='{cwd}/test/files/geolocation.ifc', use_cache=False)" + Then the object "Chunk" exists + And the object "Chunk" has a vertex at "2,2,-1" + And the object "Chunk" has a vertex at "9,-1,-1" + And the object "Chunk" has a vertex at "17,4,-1" + +Scenario: Link IFC - from an empty IFC project - manual false origin mode + Given an empty IFC project + # Not currently possible via UI + And I set "scene.BIMProjectProperties.distance_limit" to "5" + And I set "scene.BIMProjectProperties.false_origin_mode" to "MANUAL" + And I set "scene.BIMProjectProperties.false_origin" to "10000,0,0" + When I press "bim.link_ifc(filepath='{cwd}/test/files/geolocation.ifc', use_cache=False)" + Then the object "Chunk" exists + And the object "Chunk" has a vertex at "2,2,-1" + And the object "Chunk" has a vertex at "9,-1,-1" + And the object "Chunk" has a vertex at "17,4,-1" + +Scenario: Link IFC - from an empty IFC project - disabled false origin mode + Given an empty IFC project + # Not currently possible via UI + And I set "scene.BIMProjectProperties.distance_limit" to "5" + And I set "scene.BIMProjectProperties.false_origin_mode" to "DISABLED" + When I press "bim.link_ifc(filepath='{cwd}/test/files/geolocation.ifc', use_cache=False)" Then the object "Chunk" exists And the object "Chunk" has a vertex at "2,2,-1" And the object "Chunk" has a vertex at "9,-1,-1" @@ -712,31 +724,42 @@ Scenario: Link IFC - from an empty Blender session - automatic false origin mode # Not currently possible via UI And I set "scene.BIMProjectProperties.distance_limit" to "5" And I set "scene.BIMProjectProperties.false_origin_mode" to "AUTOMATIC" - When I link IFC project from "{cwd}/test/files/geolocation.ifc" + When I press "bim.link_ifc(filepath='{cwd}/test/files/geolocation.ifc', use_cache=False)" Then the object "Chunk" exists And the object "Chunk" has a vertex at "-11,-2,0" And the object "Chunk" has a vertex at "-4,-5,0" And the object "Chunk" has a vertex at "4,0,0" -Scenario: Link IFC - manual false origin mode +Scenario: Link IFC - from an empty Blender session - manual false origin mode Given an empty Blender session # Not currently possible via UI And I set "scene.BIMProjectProperties.distance_limit" to "5" And I set "scene.BIMProjectProperties.false_origin_mode" to "MANUAL" And I set "scene.BIMProjectProperties.false_origin" to "10000,0,0" - When I link IFC project from "{cwd}/test/files/geolocation.ifc" + When I press "bim.link_ifc(filepath='{cwd}/test/files/geolocation.ifc', use_cache=False)" Then the object "Chunk" exists And the object "Chunk" has a vertex at "-8,2,-1" And the object "Chunk" has a vertex at "-1,-1,-1" And the object "Chunk" has a vertex at "7,4,-1" -Scenario: Link IFC - automatic false origin mode - two different false origins and project norths - grid north is up because we start with geolocation.ifc +Scenario: Link IFC - from an empty Blender session - disabled false origin mode + Given an empty Blender session + # Not currently possible via UI + And I set "scene.BIMProjectProperties.distance_limit" to "5" + And I set "scene.BIMProjectProperties.false_origin_mode" to "DISABLED" + When I press "bim.link_ifc(filepath='{cwd}/test/files/geolocation.ifc', use_cache=False)" + Then the object "Chunk" exists + And the object "Chunk" has a vertex at "2,2,-1" + And the object "Chunk" has a vertex at "9,-1,-1" + And the object "Chunk" has a vertex at "17,4,-1" + +Scenario: Link IFC - from an empty Blender session - automatic false origin mode - two different false origins and project norths - grid north is up because we start with geolocation.ifc Given an empty Blender session # Not currently possible via UI And I set "scene.BIMProjectProperties.distance_limit" to "5" And I set "scene.BIMProjectProperties.false_origin_mode" to "AUTOMATIC" - When I link IFC project from "{cwd}/test/files/geolocation.ifc" - And I link IFC project from "{cwd}/test/files/geolocation-mapconversion-angle.ifc" + When I press "bim.link_ifc(filepath='{cwd}/test/files/geolocation.ifc', use_cache=False)" + And I press "bim.link_ifc(filepath='{cwd}/test/files/geolocation-mapconversion-angle.ifc', use_cache=False)" Then the object "Col:IfcProject/geolocation.ifc:Chunk" exists And the object "Col:IfcProject/geolocation-mapconversion-angle.ifc:Chunk" exists And the object "Col:IfcProject/geolocation.ifc:Chunk" has a vertex at "-11,-2,0" @@ -746,13 +769,13 @@ Scenario: Link IFC - automatic false origin mode - two different false origins a And the object "Col:IfcProject/geolocation-mapconversion-angle.ifc:Chunk" has a vertex at "9.294,-9.366,0" And the object "Col:IfcProject/geolocation-mapconversion-angle.ifc:Chunk" has a vertex at "18.722,-9.036,0" -Scenario: Link IFC - automatic false origin mode - two different false origins and project norths - project north is up because we start with geolocation-mapconversion-angle.ifc +Scenario: Link IFC - from an empty Blender session - automatic false origin mode - two different false origins and project norths - project north is up because we start with geolocation-mapconversion-angle.ifc Given an empty Blender session # Not currently possible via UI And I set "scene.BIMProjectProperties.distance_limit" to "5" And I set "scene.BIMProjectProperties.false_origin_mode" to "AUTOMATIC" - When I link IFC project from "{cwd}/test/files/geolocation-mapconversion-angle.ifc" - And I link IFC project from "{cwd}/test/files/geolocation.ifc" + When I press "bim.link_ifc(filepath='{cwd}/test/files/geolocation-mapconversion-angle.ifc', use_cache=False)" + And I press "bim.link_ifc(filepath='{cwd}/test/files/geolocation.ifc', use_cache=False)" Then the object "Col:IfcProject/geolocation.ifc:Chunk" exists And the object "Col:IfcProject/geolocation-mapconversion-angle.ifc:Chunk" exists And the object "Col:IfcProject/geolocation-mapconversion-angle.ifc:Chunk" has a vertex at "-11,-2,0" @@ -762,14 +785,14 @@ Scenario: Link IFC - automatic false origin mode - two different false origins a And the object "Col:IfcProject/geolocation.ifc:Chunk" has a vertex at "-17.696,-7.866,0" And the object "Col:IfcProject/geolocation.ifc:Chunk" has a vertex at "-13.268,0.464,0" -Scenario: Link IFC - automatic false origin mode - three identical false origins but different project and map units +Scenario: Link IFC - from an empty Blender session - automatic false origin mode - three identical false origins but different project and map units Given an empty Blender session # Not currently possible via UI And I set "scene.BIMProjectProperties.distance_limit" to "5" And I set "scene.BIMProjectProperties.false_origin_mode" to "AUTOMATIC" - When I link IFC project from "{cwd}/test/files/geolocation-unit1.ifc" - And I link IFC project from "{cwd}/test/files/geolocation-unit2.ifc" - And I link IFC project from "{cwd}/test/files/geolocation-unit3.ifc" + When I press "bim.link_ifc(filepath='{cwd}/test/files/geolocation-unit1.ifc', use_cache=False)" + And I press "bim.link_ifc(filepath='{cwd}/test/files/geolocation-unit2.ifc', use_cache=False)" + And I press "bim.link_ifc(filepath='{cwd}/test/files/geolocation-unit3.ifc', use_cache=False)" Then the object "Col:IfcProject/geolocation-unit1.ifc:Chunk" exists And the object "Col:IfcProject/geolocation-unit2.ifc:Chunk" exists And the object "Col:IfcProject/geolocation-unit3.ifc:Chunk" exists @@ -779,54 +802,54 @@ Scenario: Link IFC - automatic false origin mode - three identical false origins Scenario: Toggle link visibility - wireframe mode Given an empty IFC project - And I link IFC project from "{cwd}/test/files/basic.ifc" - When I press "bim.toggle_link_visibility(link='{cwd}/test/files/basic.ifc', mode='WIREFRAME')" + And I press "bim.link_ifc(filepath='{cwd}/test/files/basic.ifc')" + When I press "bim.toggle_link_visibility(link_index=0, mode='WIREFRAME')" Then "scene.BIMProjectProperties.links['{cwd}/test/files/basic.ifc'].is_wireframe" is "True" And the object "Chunk" should display as "WIRE" - When I press "bim.toggle_link_visibility(link='{cwd}/test/files/basic.ifc', mode='WIREFRAME')" + When I press "bim.toggle_link_visibility(link_index=0, mode='WIREFRAME')" Then "scene.BIMProjectProperties.links['{cwd}/test/files/basic.ifc'].is_wireframe" is "False" And the object "Chunk" should display as "TEXTURED" Scenario: Toggle link selectability Given an empty IFC project - And I link IFC project from "{cwd}/test/files/basic.ifc" - When I press "bim.toggle_link_selectability(link='{cwd}/test/files/basic.ifc')" + And I press "bim.link_ifc(filepath='{cwd}/test/files/basic.ifc')" + When I press "bim.toggle_link_selectability(link_index=0)" Then "scene.BIMProjectProperties.links['{cwd}/test/files/basic.ifc'].is_selectable" is "False" And the collection "IfcProject/basic.ifc" is unselectable - When I press "bim.toggle_link_selectability(link='{cwd}/test/files/basic.ifc')" + When I press "bim.toggle_link_selectability(link_index=0)" Then "scene.BIMProjectProperties.links['{cwd}/test/files/basic.ifc'].is_selectable" is "True" And the collection "IfcProject/basic.ifc" is selectable Scenario: Toggle link visibility - visible mode Given an empty IFC project - And I link IFC project from "{cwd}/test/files/basic.ifc" - When I press "bim.toggle_link_visibility(link='{cwd}/test/files/basic.ifc', mode='VISIBLE')" + And I press "bim.link_ifc(filepath='{cwd}/test/files/basic.ifc')" + When I press "bim.toggle_link_visibility(link_index=0, mode='VISIBLE')" Then "scene.BIMProjectProperties.links['{cwd}/test/files/basic.ifc'].is_hidden" is "True" And the object "IfcProject/basic.ifc" is not visible - When I press "bim.toggle_link_visibility(link='{cwd}/test/files/basic.ifc', mode='VISIBLE')" + When I press "bim.toggle_link_visibility(link_index=0, mode='VISIBLE')" Then "scene.BIMProjectProperties.links['{cwd}/test/files/basic.ifc'].is_hidden" is "False" And the object "IfcProject/basic.ifc" is visible Scenario: Unload link Given an empty Blender session - And I link IFC project from "{cwd}/test/files/basic.ifc" - When I press "bim.unload_link(filepath='{cwd}/test/files/basic.ifc')" + And I press "bim.link_ifc(filepath='{cwd}/test/files/basic.ifc')" + When I press "bim.unload_link(link_index=0)" Then "scene.BIMProjectProperties.links['{cwd}/test/files/basic.ifc'].is_loaded" is "False" And the collection "IfcProject/basic.ifc" does not exist Scenario: Load link Given an empty Blender session - And I link IFC project from "{cwd}/test/files/basic.ifc" - And I press "bim.unload_link(filepath='{cwd}/test/files/basic.ifc')" - When I press "bim.load_link(filepath='{cwd}/test/files/basic.ifc')" + And I press "bim.link_ifc(filepath='{cwd}/test/files/basic.ifc')" + And I press "bim.unload_link(link_index=0)" + When I press "bim.load_link(link_index=0)" Then "scene.BIMProjectProperties.links['{cwd}/test/files/basic.ifc'].is_loaded" is "True" And the object "IfcProject/basic.ifc" exists Scenario: Unlink IFC Given an empty Blender session - And I link IFC project from "{cwd}/test/files/basic.ifc" - And I press "bim.unload_link(filepath='{cwd}/test/files/basic.ifc')" - When I press "bim.unlink_ifc(filepath='{cwd}/test/files/basic.ifc')" + And I press "bim.link_ifc(filepath='{cwd}/test/files/basic.ifc')" + And I press "bim.unload_link(link_index=0)" + When I press "bim.unlink_ifc(link_index=0)" Then "scene.BIMProjectProperties.links.get('{cwd}/test/files/basic.ifc')" is "None" And "scene.collection.children.get('IfcProject/basic.ifc')" is "None" And the object "Chunk" does not exist diff --git a/src/bonsai/test/bim/feature/spatial.feature b/src/bonsai/test/bim/feature/spatial.feature index 2b3020ea23..3ed7a80b94 100644 --- a/src/bonsai/test/bim/feature/spatial.feature +++ b/src/bonsai/test/bim/feature/spatial.feature @@ -74,6 +74,50 @@ Scenario: Assign container When I click "CHECKMARK" Then the object "IfcWall/Cube" is in the collection "IfcSite/My Site" +Scenario: Assign container - assign an aggregate which also affects children + Given an empty IFC project + And I add a cube + And the object "Cube" is selected + And I look at the "Class" panel + And I set the "Products" property to "IfcElement" + And I set the "Class" property to "IfcWall" + And I click "Assign IFC Class" + And the object "IfcWall/Cube" is selected + When I press "bim.add_aggregate" + Then the object "IfcElementAssembly/Default_Name" exists + And the object "IfcElementAssembly/Default_Name" is contained in object "IfcBuildingStorey/My Storey" + When I look at the "Spatial Decomposition" panel + And I select the "My Site" item in the "BIM_UL_containers_manager" list + And I click "Set Default" + And the object "IfcWall/Cube" is selected + And I look at the "Spatial Container" panel + And I click "GREASEPENCIL" + And I click "CHECKMARK" + Then the object "IfcWall/Cube" is in the collection "IfcSite/My Site" + And the object "IfcElementAssembly/Default_Name" is in the collection "IfcSite/My Site" + +Scenario: Assign container - assign a child which also affects parents + Given an empty IFC project + And I add a cube + And the object "Cube" is selected + And I look at the "Class" panel + And I set the "Products" property to "IfcElement" + And I set the "Class" property to "IfcWall" + And I click "Assign IFC Class" + And the object "IfcWall/Cube" is selected + When I press "bim.add_aggregate" + Then the object "IfcElementAssembly/Default_Name" exists + And the object "IfcElementAssembly/Default_Name" is contained in object "IfcBuildingStorey/My Storey" + When I look at the "Spatial Decomposition" panel + And I select the "My Site" item in the "BIM_UL_containers_manager" list + And I click "Set Default" + And the object "IfcElementAssembly/Default_Name" is selected + And I look at the "Spatial Container" panel + And I click "GREASEPENCIL" + And I click "CHECKMARK" + Then the object "IfcWall/Cube" is in the collection "IfcSite/My Site" + And the object "IfcElementAssembly/Default_Name" is in the collection "IfcSite/My Site" + Scenario: Copy to container Given an empty IFC project And I add a cube diff --git a/src/bonsai/test/bim/feature/type.feature b/src/bonsai/test/bim/feature/type.feature index 1efefef446..9bae601b30 100644 --- a/src/bonsai/test/bim/feature/type.feature +++ b/src/bonsai/test/bim/feature/type.feature @@ -110,7 +110,7 @@ Scenario: Assign type - assign to a type with a material layer set, which automa And the object "IfcWall/Unnamed" has a "100" thick layered material containing the material "Default" And the object "IfcWall/Unnamed" dimensions are ".5,.1,.5" -Scenario: Assign type - assign to a different type with a material layer set +Scenario: Assign type - assign to a different type with a LAYER2 material layer set Given an empty IFC project And I add a cube And the object "Cube" is selected @@ -149,6 +149,23 @@ Scenario: Assign type - assign to a different type with a material layer set Then the object "IfcWall/Cube" has a "200" thick layered material containing the material "Default" And the object "IfcWall/Cube" dimensions are "1,.2,1" +Scenario: Assign type - assign to a different type with a LAYER3 material layer set + Given an empty IFC project + And I load the demo construction library + And I set "scene.BIMModelProperties.ifc_class" to "IfcSlabType" + And the variable "element_type" is "[e for e in {ifc}.by_type('IfcSlabType') if e.Name == 'FLR200'][0].id()" + And I set "scene.BIMModelProperties.relating_type_id" to "{element_type}" + When I press "bim.add_occurrence" + Then the object "IfcSlab/Slab" is an "IfcSlab" + And the object "IfcSlab/Slab" dimensions are "1,1,0.2" + And the object "IfcSlab/Slab" bottom left corner is at "0,0,0" + And the object "IfcSlab/Slab" top right corner is at "1,1,0.2" + When I look at the "Type" panel + And I click "GREASEPENCIL" + And I set the "relating_type" property to "FLR300" + And I click "CHECKMARK" + Then the object "IfcSlab/Slab" dimensions are "1,1,0.3" + Scenario: Assign type - assign to a type with a material profile set Given an empty IFC project And I add a cube diff --git a/src/bonsai/test/bim/module/drawing/test_segment_clipping.py b/src/bonsai/test/bim/module/drawing/test_segment_clipping.py index 2a30f6a957..2846a3f2b7 100644 --- a/src/bonsai/test/bim/module/drawing/test_segment_clipping.py +++ b/src/bonsai/test/bim/module/drawing/test_segment_clipping.py @@ -18,8 +18,8 @@ import pytest from mathutils import Vector -from bonsai.bim.module.drawing.helper import clip_segment +from bonsai.bim.module.drawing.helper import clip_segment BOUNDS = (10, 30, 10, 30, None, None) diff --git a/src/bonsai/test/bim/stub.py b/src/bonsai/test/bim/stub.py index a5c498f81e..969cf98cbe 100644 --- a/src/bonsai/test/bim/stub.py +++ b/src/bonsai/test/bim/stub.py @@ -17,7 +17,7 @@ # along with Bonsai. If not, see . -from typing import Union, Any, Optional +from typing import Any, Optional, Union class bSDDClientStub: diff --git a/src/bonsai/test/bim/test_feature.py b/src/bonsai/test/bim/test_feature.py index 64d7e7cb27..262dce65ed 100644 --- a/src/bonsai/test/bim/test_feature.py +++ b/src/bonsai/test/bim/test_feature.py @@ -17,31 +17,34 @@ # along with Bonsai. If not, see . from __future__ import annotations + import os -import types -import bpy -import pytest -import shutil import pprint +import shutil import traceback +import types import webbrowser -import numpy as np -import test.bim.stub +from collections.abc import Generator +from inspect import signature +from math import radians +from pathlib import Path +from typing import Any, Union + +import bpy import ifcopenshell import ifcopenshell.util.element import ifcopenshell.util.representation -import bonsai.tool as tool -import bonsai.bim.handler -from collections.abc import Generator -from bonsai.bim.ifc import IfcStore -from bonsai.tool.brick import BrickStore -from bonsai.bim.module.model.data import AuthoringData -from pytest_bdd import scenarios, given, when, then, parsers -from inspect import signature +import numpy as np +import pytest from mathutils import Vector -from math import radians -from pathlib import Path -from typing import Union, Any +from pytest_bdd import given, parsers, scenarios, then, when + +import bonsai.bim.handler +import bonsai.tool as tool +import test.bim.stub +from bonsai.bim.ifc import IfcStore +from bonsai.bim.module.model.data import AuthoringData +from bonsai.tool.brick import BrickStore scenarios("feature") @@ -67,10 +70,7 @@ Can be useful for debugging, but has caveats - can't use ``wm.read_homefile`` as resets the ``bpy.context`` and some it's members become `None`. """ -TMP = Path.cwd() / "test/files/temp" -TEST_FILES_DIR = Path.cwd() / "test/files" - -CLEAN_LINKED_FILES_CACHE = False +TMP = Path(f"{variables['cwd']}/test/files/temp") EPSET_DRAWING = Path.cwd() / "bonsai/bim/data/pset/EPset_Drawing.ifc" EPSET_DRAWING_BYTES = EPSET_DRAWING.read_bytes() @@ -280,6 +280,8 @@ def create_ui_name_cache(): try: panel_type = getattr(bpy.types, bl_idname) if panel_type.bl_rna.base.name == "Panel": + if "_tab_" in panel_type.bl_idname: + continue # Tab panels are just groups and not relevant in testing ui_name_cache[panel_type.bl_label] = panel_type.bl_idname elif panel_type.bl_rna.base.name == "Operator": ui_name_cache[panel_type.bl_label] = bl_idname @@ -308,25 +310,6 @@ def vectors_are_equal(v1, v2): return all(is_x(v1[i], v2[i]) for i in range(len(v1))) -@pytest.fixture(scope="function", autouse=True) -def run_for_each_test() -> Generator[None]: - # Code before this runs before each test - yield - # Code after this runs after each test - - global CLEAN_LINKED_FILES_CACHE - if CLEAN_LINKED_FILES_CACHE: - for filepath in TEST_FILES_DIR.glob("*.ifc.cache.*"): - filepath.unlink() - CLEAN_LINKED_FILES_CACHE = False - - # pset_template tests are editing EPset_Drawing.ifc, so we need to restore it. - global RELOAD_EPSET_DRAWING - if RELOAD_EPSET_DRAWING: - EPSET_DRAWING.write_bytes(EPSET_DRAWING_BYTES) - RELOAD_EPSET_DRAWING = False - - @given("an untestable scenario") def an_untestable_scenario(): pass @@ -337,7 +320,7 @@ def an_untestable_scenario(): def an_empty_blender_session(): IfcStore.purge() if not PYTEST_BLENDER_NO_BACKGROUND: - bpy.ops.wm.read_homefile(app_template="") + bpy.ops.wm.read_homefile(app_template="", use_factory_startup=True) if len(bpy.data.objects) > 0: bpy.data.batch_remove(bpy.data.objects) bpy.ops.outliner.orphans_purge(do_local_ids=True, do_linked_ids=True, do_recursive=True) @@ -381,16 +364,6 @@ def saving_ifc_project() -> None: tool.Project.save_test_project() -@given(parsers.parse('I link IFC project from "{filepath}"')) -@when(parsers.parse('I link IFC project from "{filepath}"')) -@then(parsers.parse('I link IFC project from "{filepath}"')) -def i_link_ifc_project_from_filepath(filepath: str) -> None: - global CLEAN_LINKED_FILES_CACHE - filepath = replace_variables(filepath) - CLEAN_LINKED_FILES_CACHE = True - bpy.ops.bim.link_ifc(filepath=filepath, use_cache=False) - - @given("the Brickschema is stubbed") def the_brickschema_is_stubbed(): # This makes things run faster since we don't need to load the entire brick schema @@ -1584,10 +1557,19 @@ def the_object_name_has_a_vertex_at_location(name, location): is_pass = False target = Vector([float(co) for co in location.split(",")]) verts = [] - for v in obj.data.vertices: - verts.append(obj.matrix_world @ v.co) - if (verts[-1] - target).length < 0.001: - is_pass = True + depsgraph = bpy.context.evaluated_depsgraph_get() + obj_eval = obj.evaluated_get(depsgraph) + mesh = obj_eval.to_mesh(preserve_all_data_layers=False, depsgraph=depsgraph) + try: + for inst in depsgraph.object_instances: + if inst.object.original is obj: + mw = inst.matrix_world + for i, v in enumerate(mesh.vertices): + verts.append(mw @ v.co) + if (verts[-1] - target).length < 0.001: + is_pass = True + finally: + obj_eval.to_mesh_clear() assert is_pass, f"No verts found at {location}: {verts}" diff --git a/src/bonsai/test/core/bootstrap.py b/src/bonsai/test/core/bootstrap.py index 837ce67b94..057ee9ffab 100644 --- a/src/bonsai/test/core/bootstrap.py +++ b/src/bonsai/test/core/bootstrap.py @@ -16,11 +16,13 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import sys import json +import sys +from typing import Any, Literal, Optional, Self, TypedDict + import pytest + import bonsai.core.tool -from typing import Any, Optional, TypedDict, Literal, Self @pytest.fixture @@ -135,6 +137,13 @@ def misc(): prophet.verify() +@pytest.fixture +def model(): + prophet = Prophecy(bonsai.core.tool.Model) + yield prophet + prophet.verify() + + @pytest.fixture def nest(): prophet = Prophecy(bonsai.core.tool.Nest) diff --git a/src/bonsai/test/core/test_aggregate.py b/src/bonsai/test/core/test_aggregate.py index 157b1c3999..4e7babe13a 100644 --- a/src/bonsai/test/core/test_aggregate.py +++ b/src/bonsai/test/core/test_aggregate.py @@ -17,7 +17,7 @@ # along with Bonsai. If not, see . import bonsai.core.aggregate as subject -from test.core.bootstrap import ifc, aggregate, collector +from test.core.bootstrap import aggregate, collector, ifc class TestEnableEditingAggregate: diff --git a/src/bonsai/test/core/test_attribute.py b/src/bonsai/test/core/test_attribute.py index aba74e1a4e..d62b832cd9 100644 --- a/src/bonsai/test/core/test_attribute.py +++ b/src/bonsai/test/core/test_attribute.py @@ -17,7 +17,7 @@ # along with Bonsai. If not, see . import bonsai.core.attribute as subject -from test.core.bootstrap import ifc, blender, root, spatial +from test.core.bootstrap import blender, ifc, root, spatial class TestCopyAttributeToSelection: diff --git a/src/bonsai/test/core/test_brick.py b/src/bonsai/test/core/test_brick.py index 10a4a7cfd1..c40df06973 100644 --- a/src/bonsai/test/core/test_brick.py +++ b/src/bonsai/test/core/test_brick.py @@ -17,7 +17,7 @@ # along with Bonsai. If not, see . import bonsai.core.brick as subject -from test.core.bootstrap import ifc, brick +from test.core.bootstrap import brick, ifc class TestLoadBrickProject: diff --git a/src/bonsai/test/core/test_context.py b/src/bonsai/test/core/test_context.py index 7388754765..2fd9e05834 100644 --- a/src/bonsai/test/core/test_context.py +++ b/src/bonsai/test/core/test_context.py @@ -17,7 +17,7 @@ # along with Bonsai. If not, see . import bonsai.core.context as subject -from test.core.bootstrap import ifc, context +from test.core.bootstrap import context, ifc class TestAddContext: diff --git a/src/bonsai/test/core/test_document.py b/src/bonsai/test/core/test_document.py index 5baf3e709f..bd9f743a3d 100644 --- a/src/bonsai/test/core/test_document.py +++ b/src/bonsai/test/core/test_document.py @@ -17,7 +17,7 @@ # along with Bonsai. If not, see . import bonsai.core.document as subject -from test.core.bootstrap import ifc, document +from test.core.bootstrap import document, ifc class TestLoadProjectDocuments: diff --git a/src/bonsai/test/core/test_drawing.py b/src/bonsai/test/core/test_drawing.py index 957bd79f79..a83f026ad3 100644 --- a/src/bonsai/test/core/test_drawing.py +++ b/src/bonsai/test/core/test_drawing.py @@ -17,7 +17,7 @@ # along with Bonsai. If not, see . import bonsai.core.drawing as subject -from test.core.bootstrap import ifc, drawing, collector, geometry, blender, Prophecy +from test.core.bootstrap import Prophecy, blender, collector, drawing, geometry, ifc class TestEnableEditingText: diff --git a/src/bonsai/test/core/test_geometry.py b/src/bonsai/test/core/test_geometry.py index c9e3392808..21ccb09220 100644 --- a/src/bonsai/test/core/test_geometry.py +++ b/src/bonsai/test/core/test_geometry.py @@ -18,7 +18,7 @@ import bonsai.core.geometry as subject import test.core.test_style -from test.core.bootstrap import ifc, surveyor, geometry, style +from test.core.bootstrap import geometry, ifc, style, surveyor class TestEditObjectPlacement: diff --git a/src/bonsai/test/core/test_georeference.py b/src/bonsai/test/core/test_georeference.py index 6048ae5828..b9b330d816 100644 --- a/src/bonsai/test/core/test_georeference.py +++ b/src/bonsai/test/core/test_georeference.py @@ -17,7 +17,7 @@ # along with Bonsai. If not, see . import bonsai.core.georeference as subject -from test.core.bootstrap import ifc, georeference +from test.core.bootstrap import georeference, ifc class TestAddGeoreferencing: diff --git a/src/bonsai/test/core/test_material.py b/src/bonsai/test/core/test_material.py index a8baee0c6c..a2cbf8c433 100644 --- a/src/bonsai/test/core/test_material.py +++ b/src/bonsai/test/core/test_material.py @@ -17,7 +17,7 @@ # along with Bonsai. If not, see . import bonsai.core.material as subject -from test.core.bootstrap import ifc, material, style, spatial +from test.core.bootstrap import ifc, material, spatial, style class TestAddMaterial: diff --git a/src/bonsai/test/core/test_misc.py b/src/bonsai/test/core/test_misc.py index 950799a098..716607c0d8 100644 --- a/src/bonsai/test/core/test_misc.py +++ b/src/bonsai/test/core/test_misc.py @@ -17,7 +17,7 @@ # along with Bonsai. If not, see . import bonsai.core.misc as subject -from test.core.bootstrap import misc, ifc +from test.core.bootstrap import ifc, misc class TestResizeToStorey: diff --git a/src/bonsai/test/core/test_nest.py b/src/bonsai/test/core/test_nest.py index d2eefc9109..36cbfafc60 100644 --- a/src/bonsai/test/core/test_nest.py +++ b/src/bonsai/test/core/test_nest.py @@ -17,7 +17,7 @@ # along with Bonsai. If not, see . import bonsai.core.nest as subject -from test.core.bootstrap import ifc, nest, collector +from test.core.bootstrap import collector, ifc, nest class TestEnableEditingNeset: diff --git a/src/bonsai/test/core/test_owner.py b/src/bonsai/test/core/test_owner.py index b648030407..12d5bf3fa1 100644 --- a/src/bonsai/test/core/test_owner.py +++ b/src/bonsai/test/core/test_owner.py @@ -18,7 +18,7 @@ import bonsai.core.owner as subject -from test.core.bootstrap import ifc, owner, Prophecy +from test.core.bootstrap import Prophecy, ifc, owner class TestAddPerson: diff --git a/src/bonsai/test/core/test_project.py b/src/bonsai/test/core/test_project.py index 7ecdc3c36c..462e1cabcd 100644 --- a/src/bonsai/test/core/test_project.py +++ b/src/bonsai/test/core/test_project.py @@ -18,7 +18,7 @@ import bonsai.core.project as subject -from test.core.bootstrap import ifc, project, spatial, georeference +from test.core.bootstrap import georeference, ifc, project, spatial class TestCreateProject: diff --git a/src/bonsai/test/core/test_root.py b/src/bonsai/test/core/test_root.py index 7d922627ac..121236803d 100644 --- a/src/bonsai/test/core/test_root.py +++ b/src/bonsai/test/core/test_root.py @@ -18,7 +18,7 @@ import bonsai.core.root as subject import test.core.test_geometry -from test.core.bootstrap import ifc, collector, geometry, root +from test.core.bootstrap import collector, geometry, ifc, root class TestCopyClass: diff --git a/src/bonsai/test/core/test_spatial.py b/src/bonsai/test/core/test_spatial.py index a2b824fc91..ddc6116fdf 100644 --- a/src/bonsai/test/core/test_spatial.py +++ b/src/bonsai/test/core/test_spatial.py @@ -17,7 +17,7 @@ # along with Bonsai. If not, see . import bonsai.core.spatial as subject -from test.core.bootstrap import ifc, collector, spatial +from test.core.bootstrap import collector, ifc, spatial class TestReferenceStructure: @@ -38,16 +38,19 @@ class TestDereferenceStructure: class TestAssignContainer: def test_run(self, ifc, collector, spatial): - spatial.can_contain("container", "element_obj").should_be_called().will_return(True) - ifc.get_entity("element_obj").should_be_called().will_return("element") - ifc.run( - "spatial.assign_container", products=["element"], relating_structure="container" - ).should_be_called().will_return("rel") - spatial.disable_editing("element_obj").should_be_called() - collector.assign("element_obj").should_be_called() - assert ( - subject.assign_container(ifc, collector, spatial, container="container", element_obj="element_obj") == "rel" - ) + ifc.get_entity("obj").should_be_called().will_return("element") + spatial.get_root_element("element").should_be_called().will_return("aggregate") + spatial.get_decomposition("aggregate").should_be_called().will_return(["element", "element2"]) + spatial.can_contain("container", "aggregate").should_be_called().will_return(True) + ifc.run("spatial.assign_container", products=["aggregate"], relating_structure="container").should_be_called() + spatial.disable_editing("obj").should_be_called() + ifc.get_object("aggregate").should_be_called().will_return("aggregate_obj") + ifc.get_object("element").should_be_called().will_return("obj") + ifc.get_object("element2").should_be_called().will_return("obj2") + collector.assign("aggregate_obj").should_be_called() + collector.assign("obj").should_be_called() + collector.assign("obj2").should_be_called() + subject.assign_container(ifc, collector, spatial, container="container", objs=["obj"]) class TestEnableEditingContainer: @@ -82,7 +85,7 @@ class TestCopyToContainer: spatial.duplicate_object_and_data("obj").should_be_called().will_return("new_obj") spatial.set_relative_object_matrix("new_obj", "to_container_obj", "matrix").should_be_called() spatial.run_root_copy_class(obj="new_obj").should_be_called() - spatial.run_spatial_assign_container(container="to_container", element_obj="new_obj").should_be_called() + spatial.run_spatial_assign_container(container="to_container", objs=["new_obj"]).should_be_called() spatial.disable_editing("obj").should_be_called() @@ -97,7 +100,7 @@ class TestCopyToContainer: spatial.duplicate_object_and_data("obj").should_be_called().will_return("new_obj") spatial.set_relative_object_matrix("new_obj", "to_container_obj", "matrix").should_be_called() spatial.run_root_copy_class(obj="new_obj").should_be_called() - spatial.run_spatial_assign_container(container="to_container", element_obj="new_obj").should_be_called() + spatial.run_spatial_assign_container(container="to_container", objs=["new_obj"]).should_be_called() spatial.disable_editing("obj").should_be_called() diff --git a/src/bonsai/test/core/test_style.py b/src/bonsai/test/core/test_style.py index ca8fc6b962..a2278cf008 100644 --- a/src/bonsai/test/core/test_style.py +++ b/src/bonsai/test/core/test_style.py @@ -17,7 +17,7 @@ # along with Bonsai. If not, see . import bonsai.core.style as subject -from test.core.bootstrap import ifc, material, style, spatial +from test.core.bootstrap import ifc, material, spatial, style class TestAddStyle: diff --git a/src/bonsai/test/core/test_system.py b/src/bonsai/test/core/test_system.py index d907059b98..0f7dd34b62 100644 --- a/src/bonsai/test/core/test_system.py +++ b/src/bonsai/test/core/test_system.py @@ -18,7 +18,7 @@ import bonsai.core.system as subject -from test.core.bootstrap import ifc, system, spatial, group +from test.core.bootstrap import group, ifc, spatial, system class TestLoadSystems: @@ -153,11 +153,10 @@ class TestAddPort: def test_run(self, ifc, system): system.get_ports("element").should_be_called().will_return(["port"]) system.load_ports("element", ["port"]).should_be_called() - system.create_empty_at_cursor_with_element_orientation("element").should_be_called().will_return("obj") - system.run_root_assign_class( - obj="obj", ifc_class="IfcDistributionPort", should_add_representation=False - ).should_be_called().will_return("port") - ifc.run("system.assign_port", element="element", port="port").should_be_called() + # system.create_empty_at_cursor_with_element_orientation("element").should_be_called().will_return("obj") + # system.run_root_assign_class(obj="obj", ifc_class="IfcDistributionPort", should_add_representation=False).should_be_called().will_return("port") + system.create_port_at_cursor("element").should_be_called().will_return("port") + system.load_ports("element", ["port"]).should_be_called() subject.add_port(ifc, system, element="element") diff --git a/src/bonsai/test/core/test_type.py b/src/bonsai/test/core/test_type.py index 68130c1fa8..e46cf8168f 100644 --- a/src/bonsai/test/core/test_type.py +++ b/src/bonsai/test/core/test_type.py @@ -17,11 +17,11 @@ # along with Bonsai. If not, see . import bonsai.core.type as subject -from test.core.bootstrap import ifc, type, geometry +from test.core.bootstrap import geometry, ifc, model, type class TestAssignType: - def test_assigning_and_switching_to_an_existing_type_data(self, ifc, type): + def test_assigning_and_switching_to_an_existing_type_data(self, ifc, model, type): ifc.run("type.assign_type", related_objects=["element"], relating_type="type").should_be_called() type.has_material_usage("element").should_be_called().will_return(False) ifc.get_object("type").should_be_called().will_return("type_obj") @@ -29,7 +29,7 @@ class TestAssignType: type.change_object_data("obj", "type_obj_data", is_global=False).should_be_called() ifc.get_object("element").should_be_called().will_return("obj") type.disable_editing("obj").should_be_called() - subject.assign_type(ifc, type, element="element", type="type") + subject.assign_type(ifc, model, type, element="element", type="type") def test_assigning_and_not_changing_data_if_the_type_has_no_data(self, ifc, type): ifc.run("type.assign_type", related_objects=["element"], relating_type="type").should_be_called() @@ -38,7 +38,7 @@ class TestAssignType: type.get_object_data("type_obj").should_be_called().will_return(None) ifc.get_object("element").should_be_called().will_return("obj") type.disable_editing("obj").should_be_called() - subject.assign_type(ifc, type, element="element", type="type") + subject.assign_type(ifc, model, type, element="element", type="type") class TestPurgeUnusedTypes: diff --git a/src/bonsai/test/core/test_unit.py b/src/bonsai/test/core/test_unit.py index a7d73c755f..1c328fe84c 100644 --- a/src/bonsai/test/core/test_unit.py +++ b/src/bonsai/test/core/test_unit.py @@ -22,119 +22,91 @@ from test.core.bootstrap import ifc, unit class TestAssignSceneUnits: def test_creating_and_assigning_metric_units(self, ifc, unit): - unit.is_scene_unit_metric().should_be_called().will_return(True) - unit.get_scene_unit_si_prefix("LENGTHUNIT").should_be_called().will_return("prefix") - unit.get_scene_unit_si_prefix("AREAUNIT").should_be_called().will_return("prefix") - unit.get_scene_unit_si_prefix("VOLUMEUNIT").should_be_called().will_return("prefix") - unit.add_mass_and_time_units().should_be_called().will_return(True) - unit.get_scene_unit_si_prefix("MASSUNIT").should_be_called().will_return("KILO") - unit.get_scene_unit_si_prefix("TIMEUNIT").should_be_called().will_return(None) - - ifc.run("unit.add_si_unit", unit_type="LENGTHUNIT", prefix="prefix").should_be_called().will_return( + unit.get_scene_unit_name("LENGTHUNIT").should_be_called().will_return("length_name") + unit.get_scene_unit_name("AREAUNIT").should_be_called().will_return("area_name") + unit.get_scene_unit_name("VOLUMEUNIT").should_be_called().will_return("volume_name") + unit.get_scene_unit_name("MASSUNIT").should_be_called().will_return("mass_name") + unit.get_scene_unit_name("TIMEUNIT").should_be_called().will_return("time_name") + unit.is_si_unit("length_name").should_be_called().will_return(True) + unit.is_si_unit("area_name").should_be_called().will_return(True) + unit.is_si_unit("volume_name").should_be_called().will_return(True) + unit.is_si_unit("mass_name").should_be_called().will_return(True) + unit.is_si_unit("time_name").should_be_called().will_return(True) + unit.get_scene_unit_si_prefix("length_name").should_be_called().will_return("length_prefix") + unit.get_scene_unit_si_prefix("area_name").should_be_called().will_return("area_prefix") + unit.get_scene_unit_si_prefix("volume_name").should_be_called().will_return("volume_prefix") + unit.get_scene_unit_si_prefix("mass_name").should_be_called().will_return("mass_prefix") + unit.get_scene_unit_si_prefix("time_name").should_be_called().will_return("time_prefix") + ifc.run("unit.add_si_unit", unit_type="LENGTHUNIT", prefix="length_prefix").should_be_called().will_return( "lengthunit" ) - ifc.run("unit.add_si_unit", unit_type="AREAUNIT", prefix="prefix").should_be_called().will_return("areaunit") - ifc.run("unit.add_si_unit", unit_type="VOLUMEUNIT", prefix="prefix").should_be_called().will_return( + ifc.run("unit.add_si_unit", unit_type="AREAUNIT", prefix="area_prefix").should_be_called().will_return( + "areaunit" + ) + ifc.run("unit.add_si_unit", unit_type="VOLUMEUNIT", prefix="volume_prefix").should_be_called().will_return( "volumeunit" ) - ifc.run("unit.add_si_unit", unit_type="MASSUNIT", prefix="KILO").should_be_called().will_return("massunit") - ifc.run("unit.add_si_unit", unit_type="TIMEUNIT", prefix=None).should_be_called().will_return("timeunit") - ifc.run("unit.add_conversion_based_unit", name="degree").should_be_called().will_return("planeangleunit") - + ifc.run("unit.add_si_unit", unit_type="MASSUNIT", prefix="mass_prefix").should_be_called().will_return( + "massunit" + ) + ifc.run("unit.add_si_unit", unit_type="TIMEUNIT", prefix="time_prefix").should_be_called().will_return( + "timeunit" + ) ifc.run( - "unit.assign_unit", units=["lengthunit", "areaunit", "volumeunit", "planeangleunit", "massunit", "timeunit"] + "unit.assign_unit", units=["lengthunit", "areaunit", "volumeunit", "massunit", "timeunit"] ).should_be_called() subject.assign_scene_units(ifc, unit) - def test_creating_and_assigning_metric_units_without_mass_and_time(self, ifc, unit): - unit.is_scene_unit_metric().should_be_called().will_return(True) - unit.get_scene_unit_si_prefix("LENGTHUNIT").should_be_called().will_return("CENTI") - unit.get_scene_unit_si_prefix("AREAUNIT").should_be_called().will_return("CENTI") - unit.get_scene_unit_si_prefix("VOLUMEUNIT").should_be_called().will_return("CENTI") - unit.add_mass_and_time_units().should_be_called().will_return(False) - ifc.run("unit.add_si_unit", unit_type="LENGTHUNIT", prefix="CENTI").should_be_called().will_return("lengthunit") - ifc.run("unit.add_si_unit", unit_type="AREAUNIT", prefix="CENTI").should_be_called().will_return("areaunit") - ifc.run("unit.add_si_unit", unit_type="VOLUMEUNIT", prefix="CENTI").should_be_called().will_return("volumeunit") - ifc.run("unit.add_conversion_based_unit", name="degree").should_be_called().will_return("planeangleunit") - ifc.run("unit.assign_unit", units=["lengthunit", "areaunit", "volumeunit", "planeangleunit"]).should_be_called() + def test_creating_and_assigning_only_specified_units(self, ifc, unit): + unit.get_scene_unit_name("LENGTHUNIT").should_be_called().will_return("length_name") + unit.get_scene_unit_name("AREAUNIT").should_be_called().will_return(None) + unit.get_scene_unit_name("VOLUMEUNIT").should_be_called().will_return(None) + unit.get_scene_unit_name("MASSUNIT").should_be_called().will_return(None) + unit.get_scene_unit_name("TIMEUNIT").should_be_called().will_return(None) + unit.is_si_unit("length_name").should_be_called().will_return(True) + unit.get_scene_unit_si_prefix("length_name").should_be_called().will_return("length_prefix") + ifc.run("unit.add_si_unit", unit_type="LENGTHUNIT", prefix="length_prefix").should_be_called().will_return( + "lengthunit" + ) + ifc.run("unit.assign_unit", units=["lengthunit"]).should_be_called() subject.assign_scene_units(ifc, unit) def test_creating_and_assigning_imperial_units(self, ifc, unit): - unit.is_scene_unit_metric().should_be_called().will_return(False) - unit.get_scene_unit_name("LENGTHUNIT").should_be_called().will_return("foot") - unit.get_scene_unit_name("AREAUNIT").should_be_called().will_return("square foot") - unit.get_scene_unit_name("VOLUMEUNIT").should_be_called().will_return("cubic foot") - unit.add_mass_and_time_units().should_be_called().will_return(True) - unit.get_scene_unit_name("MASSUNIT").should_be_called().will_return("pound") - unit.get_scene_unit_name("TIMEUNIT").should_be_called().will_return("SECOND") - - ifc.run("unit.add_conversion_based_unit", name="foot").should_be_called().will_return("lengthunit") - ifc.run("unit.add_conversion_based_unit", name="square foot").should_be_called().will_return("areaunit") - ifc.run("unit.add_conversion_based_unit", name="cubic foot").should_be_called().will_return("volumeunit") - ifc.run("unit.add_conversion_based_unit", name="pound").should_be_called().will_return("massunit") - ifc.run("unit.add_si_unit", unit_type="TIMEUNIT", prefix=None).should_be_called().will_return("timeunit") - ifc.run("unit.add_conversion_based_unit", name="degree").should_be_called().will_return("planeangleunit") - + unit.get_scene_unit_name("LENGTHUNIT").should_be_called().will_return("length_name") + unit.get_scene_unit_name("AREAUNIT").should_be_called().will_return("area_name") + unit.get_scene_unit_name("VOLUMEUNIT").should_be_called().will_return("volume_name") + unit.get_scene_unit_name("MASSUNIT").should_be_called().will_return("mass_name") + unit.get_scene_unit_name("TIMEUNIT").should_be_called().will_return("time_name") + unit.is_si_unit("length_name").should_be_called().will_return(False) + unit.is_si_unit("area_name").should_be_called().will_return(False) + unit.is_si_unit("volume_name").should_be_called().will_return(False) + unit.is_si_unit("mass_name").should_be_called().will_return(False) + unit.is_si_unit("time_name").should_be_called().will_return(False) + ifc.run("unit.add_conversion_based_unit", name="length_name").should_be_called().will_return("lengthunit") + ifc.run("unit.add_conversion_based_unit", name="area_name").should_be_called().will_return("areaunit") + ifc.run("unit.add_conversion_based_unit", name="volume_name").should_be_called().will_return("volumeunit") + ifc.run("unit.add_conversion_based_unit", name="mass_name").should_be_called().will_return("massunit") + ifc.run("unit.add_conversion_based_unit", name="time_name").should_be_called().will_return("timeunit") ifc.run( - "unit.assign_unit", units=["lengthunit", "areaunit", "volumeunit", "planeangleunit", "massunit", "timeunit"] + "unit.assign_unit", units=["lengthunit", "areaunit", "volumeunit", "massunit", "timeunit"] ).should_be_called() subject.assign_scene_units(ifc, unit) - def test_creating_and_assigning_imperial_units_without_mass_and_time(self, ifc, unit): - unit.is_scene_unit_metric().should_be_called().will_return(False) - unit.get_scene_unit_name("LENGTHUNIT").should_be_called().will_return("yard") - unit.get_scene_unit_name("AREAUNIT").should_be_called().will_return("square yard") - unit.get_scene_unit_name("VOLUMEUNIT").should_be_called().will_return("cubic yard") - unit.add_mass_and_time_units().should_be_called().will_return(False) - ifc.run("unit.add_conversion_based_unit", name="yard").should_be_called().will_return("lengthunit") - ifc.run("unit.add_conversion_based_unit", name="square yard").should_be_called().will_return("areaunit") - ifc.run("unit.add_conversion_based_unit", name="cubic yard").should_be_called().will_return("volumeunit") - ifc.run("unit.add_conversion_based_unit", name="degree").should_be_called().will_return("planeangleunit") - ifc.run("unit.assign_unit", units=["lengthunit", "areaunit", "volumeunit", "planeangleunit"]).should_be_called() - subject.assign_scene_units(ifc, unit) - - def test_creating_metric_units_with_conversion_based_mass_and_time(self, ifc, unit): - unit.is_scene_unit_metric().should_be_called().will_return(True) - unit.get_scene_unit_si_prefix("LENGTHUNIT").should_be_called().will_return("MILLI") - unit.get_scene_unit_si_prefix("AREAUNIT").should_be_called().will_return(None) - unit.get_scene_unit_si_prefix("VOLUMEUNIT").should_be_called().will_return(None) - unit.add_mass_and_time_units().should_be_called().will_return(True) - unit.get_scene_unit_si_prefix("MASSUNIT").should_be_called().will_return("CONVERSION") - unit.get_scene_unit_name("MASSUNIT").should_be_called().will_return("tonne") - unit.get_scene_unit_si_prefix("TIMEUNIT").should_be_called().will_return("CONVERSION") - unit.get_scene_unit_name("TIMEUNIT").should_be_called().will_return("minute") - - ifc.run("unit.add_si_unit", unit_type="LENGTHUNIT", prefix="MILLI").should_be_called().will_return("lengthunit") - ifc.run("unit.add_si_unit", unit_type="AREAUNIT", prefix=None).should_be_called().will_return("areaunit") - ifc.run("unit.add_si_unit", unit_type="VOLUMEUNIT", prefix=None).should_be_called().will_return("volumeunit") - ifc.run("unit.add_conversion_based_unit", name="tonne").should_be_called().will_return("massunit") - ifc.run("unit.add_conversion_based_unit", name="minute").should_be_called().will_return("timeunit") - ifc.run("unit.add_conversion_based_unit", name="degree").should_be_called().will_return("planeangleunit") - - ifc.run( - "unit.assign_unit", units=["lengthunit", "areaunit", "volumeunit", "planeangleunit", "massunit", "timeunit"] - ).should_be_called() - subject.assign_scene_units(ifc, unit) - - def test_creating_imperial_units_with_conversion_based_units(self, ifc, unit): - unit.is_scene_unit_metric().should_be_called().will_return(False) - unit.get_scene_unit_name("LENGTHUNIT").should_be_called().will_return("inch") - unit.get_scene_unit_name("AREAUNIT").should_be_called().will_return("square inch") - unit.get_scene_unit_name("VOLUMEUNIT").should_be_called().will_return("cubic inch") - unit.add_mass_and_time_units().should_be_called().will_return(True) - unit.get_scene_unit_name("MASSUNIT").should_be_called().will_return("ounce") - unit.get_scene_unit_name("TIMEUNIT").should_be_called().will_return("hour") - - ifc.run("unit.add_conversion_based_unit", name="inch").should_be_called().will_return("lengthunit") - ifc.run("unit.add_conversion_based_unit", name="square inch").should_be_called().will_return("areaunit") - ifc.run("unit.add_conversion_based_unit", name="cubic inch").should_be_called().will_return("volumeunit") - ifc.run("unit.add_conversion_based_unit", name="ounce").should_be_called().will_return("massunit") - ifc.run("unit.add_conversion_based_unit", name="hour").should_be_called().will_return("timeunit") - ifc.run("unit.add_conversion_based_unit", name="degree").should_be_called().will_return("planeangleunit") - - ifc.run( - "unit.assign_unit", units=["lengthunit", "areaunit", "volumeunit", "planeangleunit", "massunit", "timeunit"] - ).should_be_called() + def test_creating_both_metric_and_imperial_units(self, ifc, unit): + # I know British doctors measure with stones so... + unit.get_scene_unit_name("LENGTHUNIT").should_be_called().will_return("length_name") + unit.get_scene_unit_name("AREAUNIT").should_be_called().will_return("area_name") + unit.get_scene_unit_name("VOLUMEUNIT").should_be_called().will_return(None) + unit.get_scene_unit_name("MASSUNIT").should_be_called().will_return(None) + unit.get_scene_unit_name("TIMEUNIT").should_be_called().will_return(None) + unit.is_si_unit("length_name").should_be_called().will_return(True) + unit.is_si_unit("area_name").should_be_called().will_return(False) + unit.get_scene_unit_si_prefix("length_name").should_be_called().will_return("length_prefix") + ifc.run("unit.add_si_unit", unit_type="LENGTHUNIT", prefix="length_prefix").should_be_called().will_return( + "lengthunit" + ) + ifc.run("unit.add_conversion_based_unit", name="area_name").should_be_called().will_return("areaunit") + ifc.run("unit.assign_unit", units=["lengthunit", "areaunit"]).should_be_called() subject.assign_scene_units(ifc, unit) diff --git a/src/bonsai/test/tool/test_aggregate.py b/src/bonsai/test/tool/test_aggregate.py index 20c31cacdc..bab71b2c4a 100644 --- a/src/bonsai/test/tool/test_aggregate.py +++ b/src/bonsai/test/tool/test_aggregate.py @@ -24,10 +24,11 @@ import ifcopenshell.api.root import ifcopenshell.api.spatial import ifcopenshell.api.unit import ifcopenshell.util.shape_builder + import bonsai.core.tool import bonsai.tool as tool -from test.bim.bootstrap import NewFile from bonsai.tool.aggregate import Aggregate as subject +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): diff --git a/src/bonsai/test/tool/test_blender.py b/src/bonsai/test/tool/test_blender.py index 2db244abe1..97e68b9d08 100644 --- a/src/bonsai/test/tool/test_blender.py +++ b/src/bonsai/test/tool/test_blender.py @@ -16,14 +16,18 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from typing import TYPE_CHECKING + import bpy import ifcopenshell +import pytest + import bonsai.core.tool import bonsai.tool as tool -import pytest -from test.bim.bootstrap import NewFile -from typing import TYPE_CHECKING +import tempfile from bonsai.tool.blender import Blender as subject +from test.bim.bootstrap import NewFile +from pathlib import Path if TYPE_CHECKING: import bpy.stub_internal.rna_enums as rna_enums @@ -108,3 +112,35 @@ class TestBlenderErrorMessageExtraction(NewFile): assert error_reports == [] bpy.utils.unregister_class(OBJECT_OT_test_fail_operator) + + +class TestGetSelectedFiles(NewFile): + def test_get_a_single_file(self) -> None: + with tempfile.NamedTemporaryFile() as f: + file = type("", (object,), {"name": f.name})() + assert subject.get_selected_files(Path(f.name).parent, [file]) == [f.name] + + def test_get_multiple_files(self) -> None: + with tempfile.NamedTemporaryFile() as f: + with tempfile.NamedTemporaryFile() as g: + file = type("", (object,), {"name": f.name})() + file2 = type("", (object,), {"name": g.name})() + assert subject.get_selected_files(Path(f.name).parent, [file, file2]) == [f.name, g.name] + + def test_exclude_directories(self) -> None: + with tempfile.NamedTemporaryFile() as f: + with tempfile.TemporaryDirectory() as d: + file = type("", (object,), {"name": f.name})() + directory = type("", (object,), {"name": d})() + assert subject.get_selected_files(Path(f.name).parent, [file, directory]) == [f.name] + + def test_get_relative_paths(self) -> None: + with tempfile.TemporaryDirectory() as tmp_dir: + base_path = Path(tmp_dir) + with tempfile.NamedTemporaryFile(dir=tmp_dir, suffix=".ifc") as f: + tool.Ifc.set_path(str(f.name)) + with tempfile.NamedTemporaryFile(dir=tmp_dir) as g: + file = type("", (object,), {"name": g.name}) + assert subject.get_selected_files(Path(g.name).parent, [file], use_relative_path=True) == [ + Path(g.name).name + ] diff --git a/src/bonsai/test/tool/test_brick.py b/src/bonsai/test/tool/test_brick.py index 7470dd5954..c3d1f429e3 100644 --- a/src/bonsai/test/tool/test_brick.py +++ b/src/bonsai/test/tool/test_brick.py @@ -17,22 +17,24 @@ # along with Bonsai. If not, see . import os + import bpy import brickschema import brickschema.persistent -from brickschema.namespaces import REF, A import ifcopenshell import ifcopenshell.api import ifcopenshell.api.aggregate import ifcopenshell.api.root import ifcopenshell.guid +from brickschema.namespaces import REF, A +from rdflib import Literal, Namespace, URIRef +from rdflib.namespace import RDF + import bonsai.core.tool import bonsai.tool as tool -from rdflib.namespace import RDF -from rdflib import Literal, URIRef, Namespace -from test.bim.bootstrap import NewFile from bonsai.tool.brick import Brick as subject from bonsai.tool.brick import BrickStore +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): diff --git a/src/bonsai/test/tool/test_cad.py b/src/bonsai/test/tool/test_cad.py index c02aaed8c6..2e84c71718 100644 --- a/src/bonsai/test/tool/test_cad.py +++ b/src/bonsai/test/tool/test_cad.py @@ -16,10 +16,11 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -from test.bim.bootstrap import NewFile -from bonsai.tool.cad import Cad as subject from mathutils import Vector +from bonsai.tool.cad import Cad as subject +from test.bim.bootstrap import NewFile + V = lambda *x: Vector([float(i) for i in x]) diff --git a/src/bonsai/test/tool/test_classification.py b/src/bonsai/test/tool/test_classification.py index b584050e8d..7bfe2a44d7 100644 --- a/src/bonsai/test/tool/test_classification.py +++ b/src/bonsai/test/tool/test_classification.py @@ -17,14 +17,16 @@ # along with Bonsai. If not, see . import os + import bpy import ifcopenshell import ifcopenshell.util.classification import ifcopenshell.util.element + import bonsai.core.tool import bonsai.tool as tool -from test.bim.bootstrap import NewFile from bonsai.tool.classification import Classification as subject +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): diff --git a/src/bonsai/test/tool/test_collector.py b/src/bonsai/test/tool/test_collector.py index ba59aeef92..1ddd7e6381 100644 --- a/src/bonsai/test/tool/test_collector.py +++ b/src/bonsai/test/tool/test_collector.py @@ -24,6 +24,7 @@ import ifcopenshell.api.feature import ifcopenshell.api.group import ifcopenshell.api.spatial import ifcopenshell.util.element + import bonsai.core.tool import bonsai.tool as tool from bonsai.tool.collector import Collector as subject diff --git a/src/bonsai/test/tool/test_context.py b/src/bonsai/test/tool/test_context.py index f4035ecd97..c131028e98 100644 --- a/src/bonsai/test/tool/test_context.py +++ b/src/bonsai/test/tool/test_context.py @@ -18,9 +18,10 @@ import bpy import ifcopenshell -import test.bim.bootstrap + import bonsai.core.tool import bonsai.tool as tool +import test.bim.bootstrap from bonsai.tool.context import Context as subject diff --git a/src/bonsai/test/tool/test_debug.py b/src/bonsai/test/tool/test_debug.py index 24e875071b..7b434c4ee6 100644 --- a/src/bonsai/test/tool/test_debug.py +++ b/src/bonsai/test/tool/test_debug.py @@ -17,16 +17,18 @@ # along with Bonsai. If not, see . import os +from pathlib import Path + import bpy import ifcopenshell import ifcopenshell.api.style import ifcopenshell.util.schema + import bonsai.core.tool import bonsai.tool as tool -from test.bim.bootstrap import NewFile -from bonsai.tool.debug import Debug as subject from bonsai.bim.ifc import IfcStore -from pathlib import Path +from bonsai.tool.debug import Debug as subject +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): diff --git a/src/bonsai/test/tool/test_document.py b/src/bonsai/test/tool/test_document.py index 64ec2791b0..5afb25cd65 100644 --- a/src/bonsai/test/tool/test_document.py +++ b/src/bonsai/test/tool/test_document.py @@ -16,15 +16,17 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +import json + import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.document + import bonsai.core.tool import bonsai.tool as tool -import json -from test.bim.bootstrap import NewFile from bonsai.tool.document import Document as subject +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): diff --git a/src/bonsai/test/tool/test_drawing.py b/src/bonsai/test/tool/test_drawing.py index 960e283084..b0d2756198 100644 --- a/src/bonsai/test/tool/test_drawing.py +++ b/src/bonsai/test/tool/test_drawing.py @@ -17,10 +17,11 @@ # along with Bonsai. If not, see . import os +import xml.etree.ElementTree as ET from pathlib import Path -import numpy as np + import bpy -import mathutils +import pytest import ifcopenshell import ifcopenshell.api.drawing import ifcopenshell.api.group @@ -28,14 +29,16 @@ import ifcopenshell.api.pset import ifcopenshell.api.root import ifcopenshell.guid import ifcopenshell.util.element +import mathutils +import numpy as np +from mathutils import Vector +from ifcopenshell.util.shape_builder import ShapeBuilder + import bonsai.core.tool import bonsai.tool as tool -from test.bim.bootstrap import NewFile -from bonsai.tool.drawing import Drawing as subject from bonsai.bim.module.drawing.data import DecoratorData -from mathutils import Vector - -import xml.etree.ElementTree as ET +from bonsai.tool.drawing import Drawing as subject +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): @@ -149,6 +152,34 @@ class TestDisableEditingSheets(NewFile): assert props.is_editing_sheets == False +class TestEditTextLiterals(NewFile): + def test_run(self): + ifc = ifcopenshell.file() + tool.Ifc.set(ifc) + obj = bpy.data.objects.new("Object", None) + element = ifc.createIfcAnnotation() + element.Representation = ifc.createIfcProductDefinitionShape() + context = ifc.createIfcGeometricRepresentationSubContext(ContextType="Plan", ContextIdentifier="Annotation") + item = ifc.createIfcTextLiteralWithExtent(Literal="Literal", Path="RIGHT", BoxAlignment="bottom-left") + builder = ShapeBuilder(tool.Ifc.get()) + polyline = builder.polyline([(0.,0.,0.), (1.,0.,0.)]) + representation = ifc.createIfcShapeRepresentation(ContextOfItems=context, Items=[item, polyline]) + element.Representation.Representations = [representation] + tool.Ifc.link(element, obj) + literal_attributes = [ + { + "Literal": "Foo", + "Path": "RIGHT", + "BoxAlignment": "bottom-left", + } + ] + subject.edit_text_literals(obj, literal_attributes) + assert len(ifc.by_type("IfcTextLiteralWithExtent")) == 1 + literal = ifc.by_type("IfcTextLiteralWithExtent")[0] + assert literal in representation.Items + assert literal.Literal == "Foo" + + class TestDisableEditingText(NewFile): def test_run(self): obj = bpy.data.objects.new("Object", None) @@ -907,7 +938,7 @@ class TestAddReferenceImage(NewFile): obj = bpy.data.objects["IfcAnnotation/image"] assert obj is not None - assert tool.Cad.are_vectors_equal(obj.dimensions, Vector((3.53982, 2.0, 0.0))) + assert tool.Cad.are_vectors_equal(obj.dimensions, Vector((1.0, 0.565, 0.0))) material = obj.active_material assert material @@ -927,71 +958,3 @@ class TestAddReferenceImage(NewFile): uv_node = material_nodes["Texture Coordinate"] assert len(uv_node.outputs["Generated"].links[:]) == 1 - - -class TestAddReference(NewFile): - def test_add_single_reference(self): - """Test adding a single reference file (backward compatibility)""" - bpy.ops.bim.create_project() - ifc_path = Path("test/files/temp/test.ifc").absolute() - bpy.ops.bim.save_project(filepath=str(ifc_path), should_save_as=True) - - # Create a temporary SVG file - svg_path = Path("test/files/temp/reference.svg").absolute() - svg_path.parent.mkdir(parents=True, exist_ok=True) - with open(svg_path, "w") as f: - f.write('') - - try: - # Add single reference - bpy.ops.bim.add_reference(filepath=str(svg_path)) - - # Verify reference was added - ifc = tool.Ifc.get() - references = [doc for doc in ifc.by_type("IfcDocumentInformation") if doc.Scope == "REFERENCE"] - assert len(references) == 1 - assert references[0].Name == "reference" - finally: - # Cleanup - if svg_path.exists(): - svg_path.unlink() - - def test_add_multiple_references(self): - """Test adding multiple reference files at once""" - bpy.ops.bim.create_project() - ifc_path = Path("test/files/temp/test.ifc").absolute() - bpy.ops.bim.save_project(filepath=str(ifc_path), should_save_as=True) - - # Create temporary SVG files - temp_dir = Path("test/files/temp").absolute() - temp_dir.mkdir(parents=True, exist_ok=True) - - svg_files = [] - for i in range(3): - svg_path = temp_dir / f"reference_{i}.svg" - with open(svg_path, "w") as f: - f.write('') - svg_files.append(svg_path) - - try: - # Test by directly calling core.add_document multiple times - # (simulating what the operator does with multiple files) - ifc = tool.Ifc.get() - for svg_file in svg_files: - uri = tool.Ifc.get_uri(str(svg_file), use_relative_path=True) - from bonsai.bim import core - - core.drawing.add_document(tool.Ifc, tool.Drawing, "REFERENCE", uri=uri) - - # Verify all references were added - references = [doc for doc in ifc.by_type("IfcDocumentInformation") if doc.Scope == "REFERENCE"] - assert len(references) == 3 - - reference_names = {ref.Name for ref in references} - expected_names = {f"reference_{i}" for i in range(3)} - assert reference_names == expected_names - finally: - # Cleanup - for svg_file in svg_files: - if svg_file.exists(): - svg_file.unlink() diff --git a/src/bonsai/test/tool/test_geometry.py b/src/bonsai/test/tool/test_geometry.py index a2107da12f..424e1fd876 100644 --- a/src/bonsai/test/tool/test_geometry.py +++ b/src/bonsai/test/tool/test_geometry.py @@ -16,19 +16,21 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import math -import numpy as np +from typing import Union + +import bpy import ifcopenshell import ifcopenshell.api.geometry import ifcopenshell.api.root import ifcopenshell.api.type +import numpy as np +from mathutils import Vector + import bonsai.core.tool import bonsai.tool as tool -from mathutils import Vector -from test.bim.bootstrap import NewFile from bonsai.tool.geometry import Geometry as subject -from typing import Union +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): @@ -321,8 +323,8 @@ class TestRecordObjectPosition(NewFile): obj = bpy.data.objects.new("Object", None) props = tool.Blender.get_object_bim_props(obj) subject.record_object_position(obj) - assert props.location_checksum == repr(np.array(obj.matrix_world.translation, dtype=np.float32).tobytes()) - assert props.rotation_checksum == repr(np.array(obj.matrix_world.to_3x3(), dtype=np.float32).tobytes()) + assert props.location_checksum == repr(tool.Blender.np_array_legacy(obj.matrix_world.translation).tobytes()) + assert props.rotation_checksum == repr(tool.Blender.np_array_legacy(obj.matrix_world.to_3x3()).tobytes()) class TestRemoveConnection(NewFile): diff --git a/src/bonsai/test/tool/test_georeference.py b/src/bonsai/test/tool/test_georeference.py index a6292abde4..2d29f8429b 100644 --- a/src/bonsai/test/tool/test_georeference.py +++ b/src/bonsai/test/tool/test_georeference.py @@ -16,19 +16,21 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import math + +import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.context import ifcopenshell.api.georeference import ifcopenshell.api.root import ifcopenshell.api.unit +from mathutils import Vector + import bonsai.core.tool import bonsai.tool as tool -from mathutils import Vector -from test.bim.bootstrap import NewFile from bonsai.tool.georeference import Georeference as subject +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): diff --git a/src/bonsai/test/tool/test_ifc.py b/src/bonsai/test/tool/test_ifc.py index 3cbd7bdc22..9542332d52 100644 --- a/src/bonsai/test/tool/test_ifc.py +++ b/src/bonsai/test/tool/test_ifc.py @@ -16,15 +16,17 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +import os +import tempfile +from pathlib import Path + import bpy import ifcopenshell -import test.bim.bootstrap +import pytest + import bonsai.core.tool import bonsai.tool as tool -import pytest -import tempfile -import os -from pathlib import Path +import test.bim.bootstrap from bonsai.tool.ifc import Ifc as subject diff --git a/src/bonsai/test/tool/test_library.py b/src/bonsai/test/tool/test_library.py index 64d73f918b..b0bbbf3990 100644 --- a/src/bonsai/test/tool/test_library.py +++ b/src/bonsai/test/tool/test_library.py @@ -18,10 +18,11 @@ import bpy import ifcopenshell + import bonsai.core.tool import bonsai.tool as tool -from test.bim.bootstrap import NewFile from bonsai.tool.library import Library as subject +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): diff --git a/src/bonsai/test/tool/test_loader.py b/src/bonsai/test/tool/test_loader.py index b128988aba..8817d3d92b 100644 --- a/src/bonsai/test/tool/test_loader.py +++ b/src/bonsai/test/tool/test_loader.py @@ -16,21 +16,23 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy -import bmesh import json +from pathlib import Path + +import bmesh +import bpy import ifcopenshell import ifcopenshell.api.library import ifcopenshell.api.style import ifcopenshell.util.schema -import bonsai.core.tool -import bonsai.tool as tool -from test.bim.bootstrap import NewFile -from bonsai.tool.loader import Loader as subject import numpy as np from ifcopenshell.util.shape_builder import ShapeBuilder from mathutils import Vector -from pathlib import Path + +import bonsai.core.tool +import bonsai.tool as tool +from bonsai.tool.loader import Loader as subject +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): @@ -188,8 +190,8 @@ class TestCreatingStyles(NewFile): def get_png_raster_code(): import base64 - import zlib import struct + import zlib # https://blender.stackexchange.com/questions/62072/does-blender-have-a-method-to-a-get-png-formatted-bytearray-for-an-image-via-pyt width = 2 diff --git a/src/bonsai/test/tool/test_material.py b/src/bonsai/test/tool/test_material.py index ef423afb4c..870417a254 100644 --- a/src/bonsai/test/tool/test_material.py +++ b/src/bonsai/test/tool/test_material.py @@ -23,10 +23,11 @@ import ifcopenshell.api.material import ifcopenshell.api.pset import ifcopenshell.api.root import ifcopenshell.api.style + import bonsai.core.tool import bonsai.tool as tool -from test.bim.bootstrap import NewFile from bonsai.tool.material import Material as subject +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): diff --git a/src/bonsai/test/tool/test_misc.py b/src/bonsai/test/tool/test_misc.py index 883755888a..c3d3cec2fe 100644 --- a/src/bonsai/test/tool/test_misc.py +++ b/src/bonsai/test/tool/test_misc.py @@ -16,16 +16,18 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import bpy import math -import numpy + +import bpy import ifcopenshell import ifcopenshell.api.aggregate import ifcopenshell.api.spatial import ifcopenshell.api.unit -import test.bim.bootstrap +import numpy + import bonsai.core.tool import bonsai.tool as tool +import test.bim.bootstrap from bonsai.tool.misc import Misc as subject diff --git a/src/bonsai/test/tool/test_model.py b/src/bonsai/test/tool/test_model.py index d69b2a532e..756268cbee 100644 --- a/src/bonsai/test/tool/test_model.py +++ b/src/bonsai/test/tool/test_model.py @@ -16,6 +16,9 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +import json +from typing import Any + import bpy import ifcopenshell import ifcopenshell.api.geometry @@ -26,14 +29,13 @@ import ifcopenshell.api.type import ifcopenshell.util.element import ifcopenshell.util.representation import ifcopenshell.util.shape_builder +import numpy as np +from ifcopenshell.util.shape_builder import ShapeBuilder, V + import bonsai.core.tool import bonsai.tool as tool -import numpy as np -import json -from typing import Any -from test.bim.bootstrap import NewFile from bonsai.tool.model import Model as subject -from ifcopenshell.util.shape_builder import V, ShapeBuilder +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): diff --git a/src/bonsai/test/tool/test_nest.py b/src/bonsai/test/tool/test_nest.py index 257bbcee88..14acfa18bc 100644 --- a/src/bonsai/test/tool/test_nest.py +++ b/src/bonsai/test/tool/test_nest.py @@ -20,10 +20,11 @@ import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.spatial + import bonsai.core.tool import bonsai.tool as tool -from test.bim.bootstrap import NewFile from bonsai.tool.nest import Nest as subject +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): diff --git a/src/bonsai/test/tool/test_owner.py b/src/bonsai/test/tool/test_owner.py index 84ca456e96..bc4ed2d533 100644 --- a/src/bonsai/test/tool/test_owner.py +++ b/src/bonsai/test/tool/test_owner.py @@ -16,15 +16,17 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from functools import cache +from typing import Any + import bpy import ifcopenshell import ifcopenshell.api.owner + import bonsai.core.tool import bonsai.tool as tool -from test.bim.bootstrap import NewFile from bonsai.tool.owner import Owner as subject -from typing import Any -from functools import cache +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): diff --git a/src/bonsai/test/tool/test_patch.py b/src/bonsai/test/tool/test_patch.py index 8fce8974a9..955908f284 100644 --- a/src/bonsai/test/tool/test_patch.py +++ b/src/bonsai/test/tool/test_patch.py @@ -17,12 +17,14 @@ # along with Bonsai. If not, see . import os + import bpy import ifcopenshell + import bonsai.core.tool import bonsai.tool as tool -from test.bim.bootstrap import NewFile from bonsai.tool.patch import Patch as subject +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): diff --git a/src/bonsai/test/tool/test_polyline.py b/src/bonsai/test/tool/test_polyline.py index 9dd1e8f41c..b55c6b52a6 100644 --- a/src/bonsai/test/tool/test_polyline.py +++ b/src/bonsai/test/tool/test_polyline.py @@ -21,10 +21,11 @@ import ifcopenshell import ifcopenshell.api.project import ifcopenshell.api.root import ifcopenshell.api.unit + import bonsai.core.tool import bonsai.tool as tool -from test.bim.bootstrap import NewFile from bonsai.tool.polyline import Polyline as subject +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): diff --git a/src/bonsai/test/tool/test_project.py b/src/bonsai/test/tool/test_project.py index 5751660d83..43dc61be8e 100644 --- a/src/bonsai/test/tool/test_project.py +++ b/src/bonsai/test/tool/test_project.py @@ -16,21 +16,26 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +import json import contextlib +import tempfile +import numpy as np +from pathlib import Path +from tempfile import NamedTemporaryFile + import bpy import ifcopenshell import ifcopenshell.api.context import ifcopenshell.api.document import ifcopenshell.api.root import ifcopenshell.api.unit -import bonsai.core.tool -import bonsai.tool as tool -import tempfile import ifcpatch from ifcpatch.recipes import Ifc2Sql -from test.bim.bootstrap import NewFile + +import bonsai.core.tool +import bonsai.tool as tool from bonsai.tool.project import Project as subject -from pathlib import Path +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): @@ -261,7 +266,7 @@ class TestLoadLinkedModels(NewFile): props = tool.Project.get_project_props() ifcopenshell.api.root.create_entity(ifc, "IfcProject") document = ifcopenshell.api.document.add_information(ifc) - document.Name = "BBIM_Linked_Models" + document.Name = "X" tool.Ifc.set(ifc) subject.load_linked_models_from_ifc() assert len(props.links) == 0 @@ -271,86 +276,81 @@ class TestLoadLinkedModels(NewFile): props = tool.Project.get_project_props() ifcopenshell.api.root.create_entity(ifc, "IfcProject") document = ifcopenshell.api.document.add_information(ifc) - document.Name = "BBIM_Linked_Models" + document.Scope = "LINKED_MODEL" reference = ifcopenshell.api.document.add_reference(ifc, document) - linked_model_path = "test.ifc" - reference.Location = linked_model_path + reference.Location = "test.ifc" + reference.Identification = "" + reference2 = ifcopenshell.api.document.add_reference(ifc, document) + reference2.Location = "test2.ifc" + reference2.Identification = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16" tool.Ifc.set(ifc) subject.load_linked_models_from_ifc() - assert len(props.links) == 1 - assert props.links[0].name == linked_model_path + assert len(props.links) == 2 + assert props.links[0].name == "test.ifc" + assert props.links[0].ifc_definition_id == reference.id() + assert props.links[0].has_transformation is False + assert props.links[1].name == "test2.ifc" + assert props.links[1].ifc_definition_id == reference2.id() + assert props.links[1].has_transformation is True -class TestSaveLinkedModelsToIfc(NewFile): - def test_save_linked_models_to_ifc_no_links(self): - ifc = ifcopenshell.file() - tool.Ifc.set(ifc) - subject.save_linked_models_to_ifc() - assert len(ifc.by_type("IfcDocumentInformation")) == 0 - assert len(ifc.by_type("IfcDocumentReference")) == 0 - - def test_save_linked_models_to_ifc_paths_to_add(self): - ifc = ifcopenshell.file() - ifcopenshell.api.root.create_entity(ifc, "IfcProject") +class TestCalculateLinkMatrix(NewFile): + def test_linking_a_model_without_an_offset_to_our_session_with_no_offset(self): props = tool.Project.get_project_props() - link = props.links.add() - linked_model_path = "test.ifc" - link.name = linked_model_path - tool.Ifc.set(ifc) - subject.save_linked_models_to_ifc() - assert len(documents := ifc.by_type("IfcDocumentInformation")) == 1 - assert documents[0].Name == "BBIM_Linked_Models" - assert len(references := ifc.by_type("IfcDocumentReference")) == 1 - assert references[0].Location == linked_model_path + gprops = tool.Georeference.get_georeference_props() + with NamedTemporaryFile(suffix=".ifc.cache.json", mode="w", delete=True) as tmp: + link = props.links.add() + link.filepath = tmp.name.replace(".ifc.cache.json", ".ifc") + json.dump({"model_project_north": "0", "model_origin_si": "0,0,0"}, tmp) + tmp.flush() + gprops.model_project_north = "0" + gprops.model_origin_si = "0,0,0" + assert np.allclose(subject.calculate_link_matrix(link), np.eye(4)) - def test_save_linked_models_to_ifc_already_created_references(self): - ifc = ifcopenshell.file() - links = tool.Project.get_project_props().links - ifcopenshell.api.root.create_entity(ifc, "IfcProject") + def test_linking_an_offset_model_to_our_session_with_no_offset(self): + props = tool.Project.get_project_props() + gprops = tool.Georeference.get_georeference_props() + with NamedTemporaryFile(suffix=".ifc.cache.json", mode="w", delete=True) as tmp: + link = props.links.add() + link.filepath = tmp.name.replace(".ifc.cache.json", ".ifc") + json.dump({"model_project_north": "0", "model_origin_si": "5,0,0"}, tmp) + tmp.flush() + gprops.model_project_north = "0" + gprops.model_origin_si = "0,0,0" + m = np.eye(4) + m[0][3] = 5 + assert np.allclose(subject.calculate_link_matrix(link), m) - document = ifcopenshell.api.document.add_information(ifc) - document.Name = "BBIM_Linked_Models" - document_id = document.id() - reference = ifcopenshell.api.document.add_reference(ifc, document) - linked_model_path = "test.ifc" - reference.Location = linked_model_path - reference_id = reference.id() + def test_linking_an_offset_model_to_our_session_with_offset(self): + props = tool.Project.get_project_props() + gprops = tool.Georeference.get_georeference_props() + with NamedTemporaryFile(suffix=".ifc.cache.json", mode="w", delete=True) as tmp: + link = props.links.add() + link.filepath = tmp.name.replace(".ifc.cache.json", ".ifc") + json.dump({"model_project_north": "0", "model_origin_si": "5,0,0"}, tmp) + tmp.flush() + gprops.model_project_north = "0" + gprops.model_origin_si = "2,0,0" + m = np.eye(4) + m[0][3] = 3 + assert np.allclose(subject.calculate_link_matrix(link), m) - link = links.add() - linked_model_path = "test.ifc" - link.name = linked_model_path - tool.Ifc.set(ifc) - subject.save_linked_models_to_ifc() - - # Information and references to stay intact. - assert len(documents := ifc.by_type("IfcDocumentInformation")) == 1 - assert documents[0].id() == document_id - assert documents[0].Name == "BBIM_Linked_Models" - assert len(references := ifc.by_type("IfcDocumentReference")) == 1 - assert references[0].id() == reference_id - assert references[0].Location == linked_model_path - - def test_save_linked_models_to_ifc_references_to_remove(self): - ifc = ifcopenshell.file() - links = tool.Project.get_project_props().links - ifcopenshell.api.root.create_entity(ifc, "IfcProject") - - document = ifcopenshell.api.document.add_information(ifc) - document.Name = "BBIM_Linked_Models" - document_id = document.id() - reference = ifcopenshell.api.document.add_reference(ifc, document) - linked_model_path = "test.ifc" - reference.Location = linked_model_path - - tool.Ifc.set(ifc) - subject.save_linked_models_to_ifc() - links.clear() - - # Remove reference for removed link. - assert len(documents := ifc.by_type("IfcDocumentInformation")) == 1 - assert documents[0].id() == document_id - assert documents[0].Name == "BBIM_Linked_Models" - assert len(ifc.by_type("IfcDocumentReference")) == 0 + def test_linking_an_offset_model_to_our_session_with_offset_and_transformation(self): + props = tool.Project.get_project_props() + gprops = tool.Georeference.get_georeference_props() + with NamedTemporaryFile(suffix=".ifc.cache.json", mode="w", delete=True) as tmp: + link = props.links.add() + link.filepath = tmp.name.replace(".ifc.cache.json", ".ifc") + transformation = np.eye(4) + transformation[0][3] = 4 + link.transformation = ",".join(map(str, transformation.reshape(-1))) + json.dump({"model_project_north": "0", "model_origin_si": "5,0,0"}, tmp) + tmp.flush() + gprops.model_project_north = "0" + gprops.model_origin_si = "2,0,0" + m = np.eye(4) + m[0][3] = 7 + assert np.allclose(subject.calculate_link_matrix(link), m) class TestLoadingIfcSqlite(NewFile): diff --git a/src/bonsai/test/tool/test_pset.py b/src/bonsai/test/tool/test_pset.py index 9aa8e70289..9b01105748 100644 --- a/src/bonsai/test/tool/test_pset.py +++ b/src/bonsai/test/tool/test_pset.py @@ -20,6 +20,7 @@ import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.pset + import bonsai.core.tool import bonsai.tool as tool from bonsai.tool.pset import Pset as subject diff --git a/src/bonsai/test/tool/test_pset_template.py b/src/bonsai/test/tool/test_pset_template.py new file mode 100644 index 0000000000..d2aa408caa --- /dev/null +++ b/src/bonsai/test/tool/test_pset_template.py @@ -0,0 +1,49 @@ +# Bonsai - OpenBIM Blender Add-on +# Copyright (C) 2021 Dion Moult +# +# This file is part of Bonsai. +# +# Bonsai is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Bonsai is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Bonsai. If not, see . + +import bpy +import ifcopenshell +import ifcopenshell.api +import ifcopenshell.api.pset + +import bonsai.core.tool +import bonsai.tool as tool +from bonsai.tool.pset_template import PsetTemplate as subject +from test.bim.bootstrap import NewFile + + +class TestImplementsTool(NewFile): + def test_run(self): + assert isinstance(subject(), bonsai.core.tool.PsetTemplate) + + +class TestAddPsetAsTemplate(NewFile): + def test_run(self): + ifc = ifcopenshell.file() + tool.Ifc.set(ifc) + element1 = ifc.createIfcWall() + element2 = ifc.createIfcWall() + pset = ifcopenshell.api.pset.add_pset(ifc, product=element1, name="Foo") + prop = ifcopenshell.api.pset.edit_pset(ifc, pset=pset, properties={"Foo": "a"}) + pset = ifcopenshell.api.pset.add_pset(ifc, product=element2, name="Foo") + prop = ifcopenshell.api.pset.edit_pset(ifc, pset=pset, properties={"Bar": "b"}) + library = ifcopenshell.file() + assert (pset_template := subject.add_pset_as_template("Foo", library)) + assert pset_template.is_a("IfcPropertySetTemplate") + assert len(templates := pset_template.HasPropertyTemplates) == 2 + assert set(t.Name for t in templates) == {"Foo", "Bar"} diff --git a/src/bonsai/test/tool/test_qto.py b/src/bonsai/test/tool/test_qto.py index 2b06cbb3c9..9ec7dc4efd 100644 --- a/src/bonsai/test/tool/test_qto.py +++ b/src/bonsai/test/tool/test_qto.py @@ -25,11 +25,12 @@ import ifcopenshell.api.pset import ifcopenshell.api.root import ifcopenshell.api.unit import ifcopenshell.util.pset -import test.bim.bootstrap -import bonsai.core.tool -import bonsai.core.root -import bonsai.tool as tool + import bonsai.bim.import_ifc as import_ifc +import bonsai.core.root +import bonsai.core.tool +import bonsai.tool as tool +import test.bim.bootstrap from bonsai.tool.qto import Qto as subject diff --git a/src/bonsai/test/tool/test_root.py b/src/bonsai/test/tool/test_root.py index b27b556a03..39b853d63c 100644 --- a/src/bonsai/test/tool/test_root.py +++ b/src/bonsai/test/tool/test_root.py @@ -22,10 +22,11 @@ import ifcopenshell.api import ifcopenshell.api.feature import ifcopenshell.api.type import ifcopenshell.util.element + import bonsai.core.tool import bonsai.tool as tool -from test.bim.bootstrap import NewFile from bonsai.tool.root import Root as subject +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): diff --git a/src/bonsai/test/tool/test_sequence.py b/src/bonsai/test/tool/test_sequence.py index 7dab2671b9..af915f0273 100644 --- a/src/bonsai/test/tool/test_sequence.py +++ b/src/bonsai/test/tool/test_sequence.py @@ -17,15 +17,17 @@ # along with Bonsai. If not, see . import os + import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.pset import ifcopenshell.api.root + import bonsai.core.tool import bonsai.tool as tool -from test.bim.bootstrap import NewFile from bonsai.tool.sequence import Sequence as subject +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): diff --git a/src/bonsai/test/tool/test_spatial.py b/src/bonsai/test/tool/test_spatial.py index fd9316912a..005f370b01 100644 --- a/src/bonsai/test/tool/test_spatial.py +++ b/src/bonsai/test/tool/test_spatial.py @@ -16,17 +16,18 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . -import numpy as np import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.root import ifcopenshell.api.spatial +import numpy as np +from mathutils import Matrix + import bonsai.core.tool import bonsai.tool as tool from bonsai.tool.spatial import Spatial as subject from test.bim.bootstrap import NewFile -from mathutils import Matrix class TestImplementsTool(NewFile): @@ -42,9 +43,7 @@ class TestCanContain(NewFile): structure_obj = bpy.data.objects.new("Object", None) tool.Ifc.link(structure, structure_obj) element = ifc.createIfcWall() - element_obj = bpy.data.objects.new("Object", None) - tool.Ifc.link(element, element_obj) - assert subject.can_contain(structure, element_obj) is True + assert subject.can_contain(structure, element) is True def test_a_spatial_structure_element_can_contain_an_element_ifc2x3(self): ifc = ifcopenshell.file(schema="IFC2X3") @@ -53,9 +52,7 @@ class TestCanContain(NewFile): structure_obj = bpy.data.objects.new("Object", None) tool.Ifc.link(structure, structure_obj) element = ifc.createIfcWall() - element_obj = bpy.data.objects.new("Object", None) - tool.Ifc.link(element, element_obj) - assert subject.can_contain(structure, element_obj) is True + assert subject.can_contain(structure, element) is True def test_a_spatial_zone_element_cannot_contain_an_element(self): ifc = ifcopenshell.file() @@ -64,14 +61,7 @@ class TestCanContain(NewFile): structure_obj = bpy.data.objects.new("Object", None) tool.Ifc.link(structure, structure_obj) element = ifc.createIfcWall() - element_obj = bpy.data.objects.new("Object", None) - tool.Ifc.link(element, element_obj) - assert subject.can_contain(structure, element_obj) is False - - def test_unlinked_elements_cannot_contain_anything(self): - structure_obj = bpy.data.objects.new("Object", None) - element_obj = bpy.data.objects.new("Object", None) - assert subject.can_contain(structure_obj, element_obj) is False + assert subject.can_contain(structure, element) is False def test_a_non_spatial_element_cannot_contain_anything(self): ifc = ifcopenshell.file() @@ -80,9 +70,7 @@ class TestCanContain(NewFile): structure_obj = bpy.data.objects.new("Object", None) tool.Ifc.link(structure, structure_obj) element = ifc.createIfcWall() - element_obj = bpy.data.objects.new("Object", None) - tool.Ifc.link(element, element_obj) - assert subject.can_contain(structure, element_obj) is False + assert subject.can_contain(structure, element) is False def test_a_non_element_cannot_be_contained(self): ifc = ifcopenshell.file() @@ -91,9 +79,7 @@ class TestCanContain(NewFile): structure_obj = bpy.data.objects.new("Object", None) tool.Ifc.link(structure, structure_obj) element = ifc.createIfcTask() - element_obj = bpy.data.objects.new("Object", None) - tool.Ifc.link(element, element_obj) - assert subject.can_contain(structure, element_obj) is False + assert subject.can_contain(structure, element) is False def test_other_non_elements_that_have_a_contained_in_structure_attribute_can_be_contained(self): ifc = ifcopenshell.file() @@ -102,9 +88,7 @@ class TestCanContain(NewFile): structure_obj = bpy.data.objects.new("Object", None) tool.Ifc.link(structure, structure_obj) element = ifc.createIfcGrid() - element_obj = bpy.data.objects.new("Object", None) - tool.Ifc.link(element, element_obj) - assert subject.can_contain(structure, element_obj) is True + assert subject.can_contain(structure, element) is True class TestCanReference(NewFile): diff --git a/src/bonsai/test/tool/test_style.py b/src/bonsai/test/tool/test_style.py index 23c70461ee..743ac317ec 100644 --- a/src/bonsai/test/tool/test_style.py +++ b/src/bonsai/test/tool/test_style.py @@ -17,17 +17,19 @@ # along with Bonsai. If not, see . import os + import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.root import ifcopenshell.util.representation import pytest +from ifcopenshell.util.shape_builder import ShapeBuilder + import bonsai.core.tool import bonsai.tool as tool -from test.bim.bootstrap import NewFile from bonsai.tool.style import Style as subject -from ifcopenshell.util.shape_builder import ShapeBuilder +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): diff --git a/src/bonsai/test/tool/test_surveyor.py b/src/bonsai/test/tool/test_surveyor.py index 0228cd9271..782b171a6d 100644 --- a/src/bonsai/test/tool/test_surveyor.py +++ b/src/bonsai/test/tool/test_surveyor.py @@ -17,16 +17,16 @@ # along with Bonsai. If not, see . import bpy -import numpy as np import ifcopenshell import ifcopenshell.api import ifcopenshell.api.root import ifcopenshell.api.unit import ifcopenshell.util.geolocation +import numpy as np -import test.bim.bootstrap import bonsai.core.tool import bonsai.tool as tool +import test.bim.bootstrap from bonsai.tool import Surveyor as subject diff --git a/src/bonsai/test/tool/test_system.py b/src/bonsai/test/tool/test_system.py index de8e9026b0..3067ccfa09 100644 --- a/src/bonsai/test/tool/test_system.py +++ b/src/bonsai/test/tool/test_system.py @@ -16,19 +16,21 @@ # You should have received a copy of the GNU General Public License # along with Bonsai. If not, see . +from math import pi + import bpy import ifcopenshell import ifcopenshell.api import ifcopenshell.api.root import ifcopenshell.api.system import ifcopenshell.util.unit +import numpy as np +from mathutils import Euler, Matrix, Vector + import bonsai.core.tool import bonsai.tool as tool -import numpy as np -from test.bim.bootstrap import NewFile from bonsai.tool.system import System as subject -from mathutils import Euler, Vector, Matrix -from math import pi +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): @@ -104,6 +106,20 @@ class TestCreateEmptyAtCursorWithElementOrientation(NewFile): assert obj.matrix_world == bpy.context.scene.cursor.matrix +class TestCreatePortAtCursor(NewFile): + def test_run(self): + assert bpy.context.scene + ifc = ifcopenshell.file() + tool.Ifc().set(ifc) + system = ifcopenshell.api.system.add_system(ifc) + element = ifcopenshell.api.root.create_entity(ifc, ifc_class="IfcDuctSegment") + ifcopenshell.api.system.assign_system(ifc, products=[element], system=system) + obj = tool.Ifc.link(element, bpy.data.objects.new("Object", None)) + port = subject.create_port_at_cursor(element) + assert port.is_a("IfcDistributionPort") + assert ifcopenshell.util.system.get_ports(element) == [port] + + class TestDeleteElementObjects(NewFile): def test_run(self): ifc = ifcopenshell.file() diff --git a/src/bonsai/test/tool/test_type.py b/src/bonsai/test/tool/test_type.py index 5bbf3c4c42..0d91b1f4f0 100644 --- a/src/bonsai/test/tool/test_type.py +++ b/src/bonsai/test/tool/test_type.py @@ -20,10 +20,11 @@ import bpy import ifcopenshell import ifcopenshell.api.root import ifcopenshell.api.type + import bonsai.core.tool import bonsai.tool as tool -from test.bim.bootstrap import NewFile from bonsai.tool.type import Type as subject +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): diff --git a/src/bonsai/test/tool/test_unit.py b/src/bonsai/test/tool/test_unit.py index 190a8fa302..392650da71 100644 --- a/src/bonsai/test/tool/test_unit.py +++ b/src/bonsai/test/tool/test_unit.py @@ -21,10 +21,11 @@ import ifcopenshell import ifcopenshell.api.project import ifcopenshell.api.root import ifcopenshell.api.unit + import bonsai.core.tool import bonsai.tool as tool -from test.bim.bootstrap import NewFile from bonsai.tool.unit import Unit as subject +from test.bim.bootstrap import NewFile class TestImplementsTool(NewFile): @@ -32,6 +33,17 @@ class TestImplementsTool(NewFile): assert isinstance(subject(), bonsai.core.tool.Unit) +class TestParseDistanceString(NewFile): + def test_run(self): + assert subject.parse_distance_string("5m") == (True, 5.0) + assert subject.parse_distance_string("30cm") == (True, 0.3) + assert subject.parse_distance_string("10ft") == (True, 3.048) + assert subject.parse_distance_string("12in") == (True, 0.3048) + assert subject.parse_distance_string("5'6\"") == (True, 1.6764) + assert subject.parse_distance_string("-5'6\"") == (True, -1.6764) + assert subject.parse_distance_string("invalid") == (False, 0.0) + + class TestClearActiveUnit(NewFile): def test_run(self): props = tool.Unit.get_unit_props() @@ -130,25 +142,43 @@ class TestGetSceneUnitName(NewFile): assert subject.get_scene_unit_name("AREAUNIT") == "square foot" assert subject.get_scene_unit_name("VOLUMEUNIT") == "cubic inch" + def test_getting_an_si_name(self): + props = tool.Blender.get_bim_props() + bpy.context.scene.unit_settings.system = "METRIC" + bpy.context.scene.unit_settings.length_unit = "METERS" + props.area_unit = "SQUARE_METRE" + props.volume_unit = "CUBIC_METRE" + assert subject.get_scene_unit_name("LENGTHUNIT") == "METRE" + assert subject.get_scene_unit_name("AREAUNIT") == "SQUARE_METRE" + assert subject.get_scene_unit_name("VOLUMEUNIT") == "CUBIC_METRE" + bpy.context.scene.unit_settings.length_unit = "MILLIMETERS" + assert subject.get_scene_unit_name("LENGTHUNIT") == "MILLI/METRE" + bpy.context.scene.unit_settings.length_unit = "ADAPTIVE" + assert subject.get_scene_unit_name("LENGTHUNIT") == "METRE" + def test_getting_a_name_with_no_unit_system(self): assert bpy.context.scene bpy.context.scene.unit_settings.system = "NONE" - assert subject.get_scene_unit_name("LENGTHUNIT") == "foot" + assert subject.get_scene_unit_name("LENGTHUNIT") == "METRE" + bpy.context.scene.unit_settings.length_unit = "ADAPTIVE" + assert subject.get_scene_unit_name("LENGTHUNIT") == "METRE" + assert subject.get_scene_unit_name("AREAUNIT") == "SQUARE_METRE" + assert subject.get_scene_unit_name("VOLUMEUNIT") == "CUBIC_METRE" def test_getting_mass_unit_names(self): """Test getting mass unit names for different systems""" assert bpy.context.scene props = tool.Blender.get_bim_props() props.mass_unit = "GRAM" - assert subject.get_scene_unit_name("MASSUNIT") == "gram" - props.mass_unit = "KILOGRAM" - assert subject.get_scene_unit_name("MASSUNIT") == "kilogram" - props.mass_unit = "POUND" + assert subject.get_scene_unit_name("MASSUNIT") == "GRAM" + props.mass_unit = "KILO/GRAM" + assert subject.get_scene_unit_name("MASSUNIT") == "KILO/GRAM" + props.mass_unit = "MEGA/GRAM" + assert subject.get_scene_unit_name("MASSUNIT") == "MEGA/GRAM" + props.mass_unit = "pound" assert subject.get_scene_unit_name("MASSUNIT") == "pound" - props.mass_unit = "OUNCE" + props.mass_unit = "ounce" assert subject.get_scene_unit_name("MASSUNIT") == "ounce" - props.mass_unit = "TONNE" - assert subject.get_scene_unit_name("MASSUNIT") == "tonne" def test_getting_time_unit_names(self): """Test getting time unit names for different systems""" @@ -156,64 +186,26 @@ class TestGetSceneUnitName(NewFile): props = tool.Blender.get_bim_props() props.time_unit = "SECOND" - assert subject.get_scene_unit_name("TIMEUNIT") == "second" - props.time_unit = "MINUTE" + assert subject.get_scene_unit_name("TIMEUNIT") == "SECOND" + props.time_unit = "minute" assert subject.get_scene_unit_name("TIMEUNIT") == "minute" - props.time_unit = "HOUR" - assert subject.get_scene_unit_name("TIMEUNIT") == "hour" - props.time_unit = "DAY" - assert subject.get_scene_unit_name("TIMEUNIT") == "day" + props.time_unit = "NONE" + assert not subject.get_scene_unit_name("TIMEUNIT") class TestGetSceneUnitSIPrefix: def test_run(self): assert bpy.context.scene - bpy.context.scene.unit_settings.system = "METRIC" - bpy.context.scene.unit_settings.length_unit = "METERS" - assert subject.get_scene_unit_si_prefix("LENGTHUNIT") is None - bpy.context.scene.unit_settings.length_unit = "MICROMETERS" - assert subject.get_scene_unit_si_prefix("LENGTHUNIT") == "MICRO" - bpy.context.scene.unit_settings.length_unit = "MILLIMETERS" - assert subject.get_scene_unit_si_prefix("LENGTHUNIT") == "MILLI" - bpy.context.scene.unit_settings.length_unit = "CENTIMETERS" - assert subject.get_scene_unit_si_prefix("LENGTHUNIT") == "CENTI" - bpy.context.scene.unit_settings.length_unit = "KILOMETERS" - assert subject.get_scene_unit_si_prefix("LENGTHUNIT") == "KILO" - bpy.context.scene.unit_settings.length_unit = "ADAPTIVE" - assert subject.get_scene_unit_si_prefix("LENGTHUNIT") is None - props = tool.Blender.get_bim_props() - props.area_unit = "SQUARE_METRE" - assert subject.get_scene_unit_si_prefix("AREAUNIT") is None - props.area_unit = "MILLI/SQUARE_METRE" - assert subject.get_scene_unit_si_prefix("AREAUNIT") == "MILLI" - props.volume_unit = "CUBIC_METRE" - assert subject.get_scene_unit_si_prefix("VOLUMEUNIT") is None - props.volume_unit = "MILLI/CUBIC_METRE" - assert subject.get_scene_unit_si_prefix("VOLUMEUNIT") == "MILLI" + assert subject.get_scene_unit_si_prefix("METRE") is None + assert subject.get_scene_unit_si_prefix("MICRO/METRE") == "MICRO" + assert subject.get_scene_unit_si_prefix("SQUARE_METRE") is None + assert subject.get_scene_unit_si_prefix("MILLI/SQUARE_METRE") == "MILLI" + assert subject.get_scene_unit_si_prefix("foot") is None def test_mass_and_time_unit_prefixes(self): - assert bpy.context.scene - props = tool.Blender.get_bim_props() - - props.mass_unit = "KILOGRAM" - assert subject.get_scene_unit_si_prefix("MASSUNIT") == "KILO" - props.mass_unit = "GRAM" - assert subject.get_scene_unit_si_prefix("MASSUNIT") is None - props.mass_unit = "POUND" - assert subject.get_scene_unit_si_prefix("MASSUNIT") == "CONVERSION" - props.mass_unit = "OUNCE" - assert subject.get_scene_unit_si_prefix("MASSUNIT") == "CONVERSION" - props.mass_unit = "TONNE" - assert subject.get_scene_unit_si_prefix("MASSUNIT") == "MEGA" - - props.time_unit = "SECOND" - assert subject.get_scene_unit_si_prefix("TIMEUNIT") is None - props.time_unit = "MINUTE" - assert subject.get_scene_unit_si_prefix("TIMEUNIT") == "CONVERSION" - props.time_unit = "HOUR" - assert subject.get_scene_unit_si_prefix("TIMEUNIT") == "CONVERSION" - props.time_unit = "DAY" - assert subject.get_scene_unit_si_prefix("TIMEUNIT") == "CONVERSION" + assert subject.get_scene_unit_si_prefix("KILO/GRAM") == "KILO" + assert subject.get_scene_unit_si_prefix("MEGA/GRAM") == "MEGA" + assert subject.get_scene_unit_si_prefix("GRAM") is None class TestImportUnitAttributes(NewFile): @@ -442,18 +434,6 @@ class TestImportUnits(NewFile): assert second_prop.ifc_class == "IfcSIUnit" -class TestIsSceneUnitMetric(NewFile): - def test_run(self): - assert bpy.context.scene - props = bpy.context.scene.unit_settings - props.system = "METRIC" - assert subject.is_scene_unit_metric() is True - props.system = "IMPERIAL" - assert subject.is_scene_unit_metric() is False - props.system = "NONE" - assert subject.is_scene_unit_metric() is True - - class TestIsUnitClass: def test_run(self): ifc = ifcopenshell.file() diff --git a/src/bsdd/bsdd.py b/src/bsdd/bsdd.py index 87154855ae..fbc14cc393 100644 --- a/src/bsdd/bsdd.py +++ b/src/bsdd/bsdd.py @@ -184,6 +184,78 @@ class ClassPropertyContractV1(TypedDict): qudtCodes: NotRequired[list[str]] +class ClassRelationItemContractV1(TypedDict): + relationType: str + classUri: str + className: NotRequired[str] + fraction: NotRequired[float] + dictionaryUri: NotRequired[str] + + +class ClassRelationsContractV1(TypedDict): + totalCount: NotRequired[int] + offset: NotRequired[int] + count: NotRequired[int] + classUri: NotRequired[str] + areReversedRelations: NotRequired[bool] + classRelations: NotRequired[list[ClassRelationItemContractV1]] + + +class ClassPropertiesContractV1(TypedDict): + classUri: NotRequired[str] + totalCount: NotRequired[int] + offset: NotRequired[int] + count: NotRequired[int] + classProperties: list[ClassPropertyContractV1] + + +class ClassPropertyItemContractV1(TypedDict): + name: str + propertySet: str + uri: str + description: NotRequired[str] + definition: NotRequired[str] + dataType: NotRequired[str] + dimension: NotRequired[str] + dimensionLength: NotRequired[int] + dimensionMass: NotRequired[int] + dimensionTime: NotRequired[int] + dimensionElectricCurrent: NotRequired[int] + dimensionThermodynamicTemperature: NotRequired[int] + dimensionAmountOfSubstance: NotRequired[int] + dimensionLuminousIntensity: NotRequired[int] + dynamicParameterPropertyCodes: NotRequired[list[str]] + example: NotRequired[str] + isDynamic: NotRequired[bool] + isRequired: NotRequired[bool] + isWritable: NotRequired[bool] + maxExclusive: NotRequired[float] + maxInclusive: NotRequired[float] + minExclusive: NotRequired[float] + minInclusive: NotRequired[float] + pattern: NotRequired[str] + physicalQuantity: NotRequired[str] + allowedValues: NotRequired[list[ClassPropertyValueItemContractV1]] + predefinedValue: NotRequired[str] + propertyCode: NotRequired[str] + propertyDictionaryName: NotRequired[str] + propertyDictionaryUri: NotRequired[str] + propertyUri: NotRequired[str] + propertyStatus: NotRequired[str] + propertyValueKind: NotRequired[str] + symbol: NotRequired[str] + units: NotRequired[list[str]] + qudtCodes: NotRequired[list[str]] + + +class ClassPropertyValueItemContractV1(TypedDict): + uri: NotRequired[str] + code: NotRequired[str] + value: str + description: NotRequired[str] + sortNumber: NotRequired[int] + + class PropertyContractV5(TypedDict): dictionaryUri: NotRequired[str] activationDateUtc: str @@ -710,6 +782,56 @@ class Client: params = {k: v for k, v in params.items() if v is not None} return self.get(endpoint, params) + def get_class_relations( + self, + class_uri: str, + get_reverse_relations: bool = False, + search_text: str = "", + offset: int = 0, + limit: int = 1000, + language_code: str = "", + version=1, + ) -> ClassRelationsContractV1: + """ + Get class relations or reverse relations (paginated) + """ + endpoint = f"Class/Relations/v{version}" + params = { + "ClassUri": class_uri, + "GetReverseRelations": get_reverse_relations, + "SearchText": search_text, + "Offset": offset, + "Limit": limit, + "languageCode": language_code, + } + return self.get(endpoint, params) + + def get_class_properties( + self, + class_uri: str, + property_set: str = "", + property_code: str = "", + search_text: str = "", + offset: int = 0, + limit: int = 1000, + language_code: str = "", + version=1, + ) -> ClassPropertiesContractV1: + """ + Get class properties (paginated) + """ + endpoint = f"Class/Properties/v{version}" + params = { + "ClassUri": class_uri, + "PropertySet": property_set, + "PropertyCode": property_code, + "SearchText": search_text, + "Offset": offset, + "Limit": limit, + "languageCode": language_code, + } + return self.get(endpoint, params) + def get_property(self, uri, language_code="", version: int = 5) -> PropertyContractV5: """ Get Property details. @@ -862,7 +984,6 @@ class Client: def apply_ifc_classification_properties( ifc_file: ifcopenshell.file, element: ifcopenshell.entity_instance, classificationProperties: dict[str, Any] ) -> None: - import ifcopenshell.api import ifcopenshell.api.pset import ifcopenshell.util.element diff --git a/src/bsdd/pyproject.toml b/src/bsdd/pyproject.toml index d64d667a20..17fa72f37a 100644 --- a/src/bsdd/pyproject.toml +++ b/src/bsdd/pyproject.toml @@ -43,3 +43,9 @@ Issues = "https://github.com/IfcOpenShell/IfcOpenShell/issues" [tool.setuptools] py-modules = ["bsdd","bsdd_json","type_hints"] + +[tool.ruff] +extend = "../../pyproject.toml" +lint.select = [ + "F401", # unused imports +] diff --git a/src/bsdd/tests/test_bsdd.py b/src/bsdd/tests/test_bsdd.py index aea17b9eb9..9dab01025c 100644 --- a/src/bsdd/tests/test_bsdd.py +++ b/src/bsdd/tests/test_bsdd.py @@ -37,6 +37,22 @@ def test_get_class(): ] +def test_get_class_relations(): + uri_light_fixture = next(l for l in get_ifc_classes()["classes"] if "IfcLightFixture" == l["code"])["uri"] + ifc4x3_light_fixture_relations = client.get_class_properties(uri_light_fixture, True) + assert "Electrical unit for light-line system" and "Tubelight system" in [ + r["className"] for r in ifc4x3_light_fixture_relations["classRelations"] + ] + + +def test_get_class_properties(): + uri_light_fixture = next(l for l in get_ifc_classes()["classes"] if "IfcLightFixture" == l["code"])["uri"] + ifc4x3_light_fixture_properties = client.get_class_properties(uri_light_fixture) + assert "Maintenance Factor" and "Light Fixture Mounting Type" in [ + l["name"] for l in ifc4x3_light_fixture_properties["classProperties"] + ] + + def test_search_class(): ss_heat_pump_sys = client.search_class("Ss_60_40_36", [nbs_uri]) li = [l + "source heat pump systems" for l in ["Air ", "Ground ", "Water "]] diff --git a/src/examples/CMakeLists.txt b/src/examples/CMakeLists.txt index 3a5c0187b5..79a2399821 100644 --- a/src/examples/CMakeLists.txt +++ b/src/examples/CMakeLists.txt @@ -35,51 +35,41 @@ else() include_directories("${CMAKE_SOURCE_DIR}/../src") endif() -if(SCHEMA_VERSIONS MATCHES "2x3") - add_executable(IfcParseExamples IfcParseExamples.cpp) +macro(build_example exe_name) + set (additional_targets ${ARGN}) + add_executable(${exe_name} ${exe_name}.cpp) if(STANDALONE_PROJECT) - target_link_libraries(IfcParseExamples IfcOpenShell::IfcParse) + target_link_libraries(${exe_name} IfcOpenShell::IfcParse $<$:IfcOpenShell::${additional_targets}>) else() - target_include_directories(IfcParseExamples PRIVATE "${CMAKE_SOURCE_DIR}/../src") - target_link_libraries(IfcParseExamples IfcParse) - set_target_properties(IfcParseExamples PROPERTIES FOLDER Examples) + target_include_directories(${exe_name} PRIVATE "${CMAKE_SOURCE_DIR}/../src") + target_link_libraries(${exe_name} IfcParse ${additional_targets}) + set_target_properties(${exe_name} PROPERTIES FOLDER Examples) endif() - install(TARGETS IfcParseExamples) + install(TARGETS ${exe_name}) +endmacro() + +if("4" IN_LIST SCHEMA_VERSIONS) + build_example(arbitrary_open_profile_def) + build_example(triangulated_faceset) +endif() + +if("2x3" IN_LIST SCHEMA_VERSIONS) + build_example(composite_profile_def) + build_example(csg_primitive) + build_example(ellipse_pies) + build_example(faces) + build_example(ifc_curve_rebar) + build_example(profiles) + build_example(IfcParseExamples) if(WITH_OPENCASCADE) - add_executable(IfcOpenHouse IfcOpenHouse.cpp) - add_executable(IfcAdvancedHouse IfcAdvancedHouse.cpp) - add_library(IfcHouseInterface INTERFACE) - - if(STANDALONE_PROJECT) - target_link_libraries(IfcHouseInterface INTERFACE IfcOpenShell::IfcParse IfcOpenShell::geometry_serializer) - else() - target_link_libraries(IfcHouseInterface INTERFACE IfcParse geometry_serializer) - set_target_properties(IfcOpenHouse PROPERTIES FOLDER Examples) - set_target_properties(IfcAdvancedHouse PROPERTIES FOLDER Examples) - endif() - target_link_libraries(IfcOpenHouse PRIVATE IfcHouseInterface) - target_link_libraries(IfcAdvancedHouse PRIVATE IfcHouseInterface) - install(TARGETS IfcOpenHouse IfcAdvancedHouse) + build_example(IfcOpenHouse geometry_serializer) + build_example(IfcAdvancedHouse geometry_serializer) endif() endif() -if(SCHEMA_VERSIONS MATCHES "4x3_add2") - add_executable(IfcAlignment IfcAlignment.cpp) - add_executable(IfcSimplifiedAlignment IfcSimplifiedAlignment.cpp) - add_library(IfcAlignmentInterface INTERFACE) - - if(STANDALONE_PROJECT) - target_link_libraries(IfcAlignmentInterface INTERFACE IfcOpenShell::IfcParse) - else() - target_link_libraries(IfcAlignmentInterface INTERFACE IfcParse) - set_target_properties(IfcAlignment PROPERTIES FOLDER Examples) - set_target_properties(IfcSimplifiedAlignment PROPERTIES FOLDER Examples) - endif() - - target_link_libraries(IfcAlignment PRIVATE IfcAlignmentInterface) - target_link_libraries(IfcSimplifiedAlignment PRIVATE IfcAlignmentInterface) - - install(TARGETS IfcAlignment IfcSimplifiedAlignment) +if("4x3_add2" IN_LIST SCHEMA_VERSIONS) + build_example(IfcAlignment) + build_example(IfcSimplifiedAlignment) endif() diff --git a/src/examples/IfcAlignment.cpp b/src/examples/IfcAlignment.cpp index d4e3ed0348..491aef1e79 100644 --- a/src/examples/IfcAlignment.cpp +++ b/src/examples/IfcAlignment.cpp @@ -489,6 +489,6 @@ int main() { } // That's it - save the model to a file - std::ofstream ofs("FHWA_Bridge_Geometry_Alignment_Example.ifc"); + std::ofstream ofs("IfcAlignment.ifc"); ofs << file; } diff --git a/src/examples/IfcSimplifiedAlignment.cpp b/src/examples/IfcSimplifiedAlignment.cpp index bde0e59b61..1c88de4c29 100644 --- a/src/examples/IfcSimplifiedAlignment.cpp +++ b/src/examples/IfcSimplifiedAlignment.cpp @@ -159,6 +159,6 @@ int main() { } // That's it - save the model to a file - std::ofstream ofs("FHWA_Bridge_Geometry_Alignment_Example_Simplified.ifc"); + std::ofstream ofs("IfcSimplifiedAlignment.ifc"); ofs << file; } diff --git a/src/examples/arbitrary_open_profile_def.cpp b/src/examples/arbitrary_open_profile_def.cpp index 45495736d5..1346c56a5d 100644 --- a/src/examples/arbitrary_open_profile_def.cpp +++ b/src/examples/arbitrary_open_profile_def.cpp @@ -28,16 +28,16 @@ #include #include -#include "../ifcparse/Ifc2x3.h" -#include "../ifcparse/IfcUtil.h" -#include "../ifcparse/IfcHierarchyHelper.h" +#define IfcSchema Ifc4 +#include "ifcparse/Ifc4.h" +#include "ifcparse/IfcHierarchyHelper.h" typedef std::string S; typedef IfcParse::IfcGlobalId guid; boost::none_t const null = boost::none; static int i = 0; -void create_product_from_item(IfcHierarchyHelper& file, IfcSchema::IfcRepresentationItem* item, const std::string& s) { +void create_product_from_item(IfcHierarchyHelper& file, IfcSchema::IfcRepresentationItem* item, const std::string& s) { IfcSchema::IfcBuildingElementProxy* product = new IfcSchema::IfcBuildingElementProxy( guid(), 0, S("product"), null, null, 0, 0, null, null); file.addBuildingProduct(product); @@ -50,7 +50,7 @@ void create_product_from_item(IfcHierarchyHelper& file, IfcSchema::IfcRepresenta items->push(item); if (s == "GeometricSet") { - IfcSchema::IfcGeometricSet* set = new IfcSchema::IfcGeometricSet(items->generalize()); + IfcSchema::IfcGeometricSet* set = new IfcSchema::IfcGeometricSet(items->as()); file.addEntity(set); items = IfcSchema::IfcRepresentationItem::list::ptr(new IfcSchema::IfcRepresentationItem::list()); items->push(set); @@ -67,7 +67,7 @@ void create_product_from_item(IfcHierarchyHelper& file, IfcSchema::IfcRepresenta product->setRepresentation(shape); } -void create_surfaces_from_profile(IfcHierarchyHelper& file, IfcSchema::IfcProfileDef* profile) { +void create_surfaces_from_profile(IfcHierarchyHelper& file, IfcSchema::IfcProfileDef* profile) { IfcSchema::IfcSurfaceOfLinearExtrusion* extrusion = new IfcSchema::IfcSurfaceOfLinearExtrusion(profile, file.addPlacement3d(), file.addTriplet(0, 0, 1), 100.); file.addEntity(extrusion); @@ -80,7 +80,7 @@ void create_surfaces_from_profile(IfcHierarchyHelper& file, IfcSchema::IfcProfil create_product_from_item(file, revolution, "GeometricSet"); } -void create_solids_from_profile(IfcHierarchyHelper& file, IfcSchema::IfcProfileDef* profile) { +void create_solids_from_profile(IfcHierarchyHelper& file, IfcSchema::IfcProfileDef* profile) { IfcSchema::IfcExtrudedAreaSolid* extrusion = new IfcSchema::IfcExtrudedAreaSolid(profile, file.addPlacement3d(), file.addTriplet(0, 0, 1), 100.); file.addEntity(extrusion); @@ -96,7 +96,7 @@ void create_solids_from_profile(IfcHierarchyHelper& file, IfcSchema::IfcProfileD create_product_from_item(file, revolution2, "SweptSolid"); } -void create_products_from_curve(IfcHierarchyHelper& file, IfcSchema::IfcBoundedCurve* curve) { +void create_products_from_curve(IfcHierarchyHelper& file, IfcSchema::IfcBoundedCurve* curve) { IfcSchema::IfcArbitraryOpenProfileDef* open = new IfcSchema::IfcArbitraryOpenProfileDef(IfcSchema::IfcProfileTypeEnum::IfcProfileType_CURVE, null, curve); IfcSchema::IfcCenterLineProfileDef* center_line = new IfcSchema::IfcCenterLineProfileDef(IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, curve, 10.); file.addEntity(open); @@ -107,9 +107,9 @@ void create_products_from_curve(IfcHierarchyHelper& file, IfcSchema::IfcBoundedC } int main(int argc, char** argv) { - const char filename[] = "IfcArbitraryOpenProfileDef.ifc"; - IfcHierarchyHelper file; - file.header().file_name().name(filename); + const char filename[] = "arbitrary_open_profile_def.ifc"; + IfcHierarchyHelper file; + file.header().file_name()->setname(filename); double coords1[] = {-50.0, 0.0}; double coords2[] = { 50.0, 0.0}; @@ -124,17 +124,18 @@ int main(int argc, char** argv) { IfcSchema::IfcEllipse* ellipse = new IfcSchema::IfcEllipse(file.addPlacement2d(), 50., 25.); file.addEntity(ellipse); - IfcEntityList::ptr trim1(new IfcEntityList); - IfcEntityList::ptr trim2(new IfcEntityList); + aggregate_of_instance::ptr trim1(new aggregate_of_instance); + aggregate_of_instance::ptr trim2(new aggregate_of_instance); trim1->push(new IfcSchema::IfcParameterValue( 0.)); trim2->push(new IfcSchema::IfcParameterValue(180.)); - IfcSchema::IfcTrimmedCurve* trim = new IfcSchema::IfcTrimmedCurve(ellipse, trim1, trim2, true, IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER); + IfcSchema::IfcTrimmedCurve* trim = new IfcSchema::IfcTrimmedCurve(ellipse, trim1->as(), trim2->as(), true, IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER); file.addEntity(trim); create_products_from_curve(file, trim); - file.getSingle()->setName("IfcArbitraryOpenProfileDef"); + using namespace std::string_literals; + file.getSingle()->setName("arbitrary_open_profile_def"s); std::ofstream f(filename); f << file; -} +} \ No newline at end of file diff --git a/src/examples/composite_profile_def.cpp b/src/examples/composite_profile_def.cpp index 5ff41a3b13..2b5f082f55 100644 --- a/src/examples/composite_profile_def.cpp +++ b/src/examples/composite_profile_def.cpp @@ -27,18 +27,18 @@ #include #include -#include "../ifcparse/Ifc2x3.h" -#include "../ifcparse/IfcUtil.h" -#include "../ifcparse/IfcHierarchyHelper.h" +#define IfcSchema Ifc2x3 +#include "ifcparse/Ifc2x3.h" +#include "ifcparse/IfcHierarchyHelper.h" typedef std::string S; typedef IfcParse::IfcGlobalId guid; boost::none_t const null = boost::none; int main(int argc, char** argv) { - const char filename[] = "IfcCompositeProfileDef.ifc"; - IfcHierarchyHelper file; - file.header().file_name().name(filename); + const char filename[] = "composite_profile_def.ifc"; + IfcHierarchyHelper file; + file.header().file_name()->setname(filename); double coords1[] = {100.0, 0.0}; double coords2[] = {200.0, 0.0}; @@ -112,7 +112,8 @@ int main(int argc, char** argv) { product->setRepresentation(shape); - file.getSingle()->setName("IfcCompositeProfileDef"); + using namespace std::string_literals; + file.getSingle()->setName("composite_profile_def"s); std::ofstream f(filename); f << file; diff --git a/src/examples/csg_primitive.cpp b/src/examples/csg_primitive.cpp index 190236ed6b..4d805a3375 100644 --- a/src/examples/csg_primitive.cpp +++ b/src/examples/csg_primitive.cpp @@ -27,9 +27,9 @@ #include #include -#include "../ifcparse/Ifc2x3.h" -#include "../ifcparse/IfcUtil.h" -#include "../ifcparse/IfcHierarchyHelper.h" +#define IfcSchema Ifc2x3 +#include "ifcparse/Ifc2x3.h" +#include "ifcparse/IfcHierarchyHelper.h" typedef std::string S; typedef IfcParse::IfcGlobalId guid; @@ -101,7 +101,7 @@ public: return operate(OP_INTERSECT, p); } - IfcSchema::IfcRepresentationItem* serialize(IfcHierarchyHelper& file) const { + IfcSchema::IfcRepresentationItem* serialize(IfcHierarchyHelper& file) const { IfcSchema::IfcRepresentationItem* my; if (op == OP_TERMINAL) { IfcSchema::IfcAxis2Placement3D* place = file.addPlacement3d(x,y,z,zx,zy,zz,xx,xy,xz); @@ -117,7 +117,7 @@ public: my = new IfcSchema::IfcRightCircularCone(place, b, a); } } else { - IfcSchema::IfcBooleanOperator::IfcBooleanOperator o; + IfcSchema::IfcBooleanOperator o = IfcSchema::IfcBooleanOperator::IfcBooleanOperator_UNION; if (op == OP_ADD) { o = IfcSchema::IfcBooleanOperator::IfcBooleanOperator_UNION; } else if (op == OP_SUBTRACT) { @@ -125,7 +125,7 @@ public: } else if (op == OP_INTERSECT) { o = IfcSchema::IfcBooleanOperator::IfcBooleanOperator_INTERSECTION; } - my = new IfcSchema::IfcBooleanResult(o, left->serialize(file), right->serialize(file)); + my = new IfcSchema::IfcBooleanResult(o, left->serialize(file)->as(), right->serialize(file)->as()); } file.addEntity(my); return my; @@ -133,9 +133,9 @@ public: }; int main(int argc, char** argv) { - const char filename[] = "IfcCsgPrimitive.ifc"; - IfcHierarchyHelper file; - file.header().file_name().name(filename); + const char filename[] = "csg_primitive.ifc"; + IfcHierarchyHelper file; + file.header().file_name()->setname(filename); IfcSchema::IfcRepresentationItem* csg1 = Node::Box(8000.,6000.,3000.).subtract( Node::Box(7600.,5600.,2800.).move(200.,200.,200.) @@ -186,7 +186,8 @@ int main(int argc, char** argv) { product->setRepresentation(shape); - file.getSingle()->setName("IfcCompositeProfileDef"); + using namespace std::string_literals; + file.getSingle()->setName("csg_primitive"s); std::ofstream f(filename); f << file; diff --git a/src/examples/ellipse_pies.cpp b/src/examples/ellipse_pies.cpp index 9994ca820d..8128c4377c 100644 --- a/src/examples/ellipse_pies.cpp +++ b/src/examples/ellipse_pies.cpp @@ -27,9 +27,9 @@ #include #include -#include "../ifcparse/Ifc2x3.h" -#include "../ifcparse/IfcUtil.h" -#include "../ifcparse/IfcHierarchyHelper.h" +#define IfcSchema Ifc2x3 +#include "ifcparse/Ifc2x3.h" +#include "ifcparse/IfcHierarchyHelper.h" typedef std::string S; typedef IfcParse::IfcGlobalId guid; @@ -44,7 +44,7 @@ typedef struct { static int i = 0; -void create_testcase_for(IfcHierarchyHelper& file, const EllipsePie& pie, Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference pref) { +void create_testcase_for(IfcHierarchyHelper& file, const EllipsePie& pie, IfcSchema::IfcTrimmingPreference pref) { const double deg = 1. / 180. * 3.141592653; double flt1[] = {0. , 0. }; double flt2[] = {pie.r1 * cos(pie.t1*deg), pie.r2 * sin(pie.t1*deg)}; @@ -67,16 +67,16 @@ void create_testcase_for(IfcHierarchyHelper& file, const EllipsePie& pie, Ifc2x3 Ifc2x3::IfcEllipse* ellipse = new Ifc2x3::IfcEllipse(file.addPlacement2d(), pie.r1, pie.r2); file.addEntity(ellipse); - IfcEntityList::ptr trim1(new IfcEntityList); - IfcEntityList::ptr trim2(new IfcEntityList); - if (pref == Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER) { + aggregate_of_instance::ptr trim1(new aggregate_of_instance); + aggregate_of_instance::ptr trim2(new aggregate_of_instance); + if (pref == IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER) { trim1->push(new Ifc2x3::IfcParameterValue(pie.t1)); trim2->push(new Ifc2x3::IfcParameterValue(pie.t2)); } else { trim1->push(p2); trim2->push(p3); } - Ifc2x3::IfcTrimmedCurve* trim = new Ifc2x3::IfcTrimmedCurve(ellipse, trim1, trim2, true, pref); + Ifc2x3::IfcTrimmedCurve* trim = new Ifc2x3::IfcTrimmedCurve(ellipse, trim1->as(), trim2->as(), true, pref); file.addEntity(trim); Ifc2x3::IfcCompositeCurveSegment::list::ptr segments(new Ifc2x3::IfcCompositeCurveSegment::list()); @@ -124,25 +124,25 @@ void create_testcase_for(IfcHierarchyHelper& file, const EllipsePie& pie, Ifc2x3 int main(int argc, char** argv) { const std::string filename = "ellipse_pies.ifc"; - IfcHierarchyHelper file; + IfcHierarchyHelper file; { EllipsePie pie = {80., 50., 0., 150.}; - create_testcase_for(file, pie, Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER); - create_testcase_for(file, pie, Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN);} + create_testcase_for(file, pie, IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER); + create_testcase_for(file, pie, IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN);} { EllipsePie pie = {80, 50., 30., 300.}; - create_testcase_for(file, pie, Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER); - create_testcase_for(file, pie, Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN);} + create_testcase_for(file, pie, IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER); + create_testcase_for(file, pie, IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN);} { EllipsePie pie = {80, 50., 300., 30.}; - create_testcase_for(file, pie, Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER); - create_testcase_for(file, pie, Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN);} + create_testcase_for(file, pie, IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER); + create_testcase_for(file, pie, IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN);} { EllipsePie pie = {50., 80., 0., 150.}; - create_testcase_for(file, pie, Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER); - create_testcase_for(file, pie, Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN);} + create_testcase_for(file, pie, IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER); + create_testcase_for(file, pie, IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN);} { EllipsePie pie = {50, 80., 30., 300.}; - create_testcase_for(file, pie, Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER); - create_testcase_for(file, pie, Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN);} + create_testcase_for(file, pie, IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER); + create_testcase_for(file, pie, IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN);} { EllipsePie pie = {50, 80., 300., 30.}; - create_testcase_for(file, pie, Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER); - create_testcase_for(file, pie, Ifc2x3::IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN);} + create_testcase_for(file, pie, IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER); + create_testcase_for(file, pie, IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN);} std::ofstream f(filename.c_str()); f << file; } diff --git a/src/examples/faces.cpp b/src/examples/faces.cpp index 985b23dd8e..f7e3858c58 100644 --- a/src/examples/faces.cpp +++ b/src/examples/faces.cpp @@ -22,18 +22,19 @@ * Example that generates various forms of IfcFace * * * ********************************************************************************/ +#include -#include "../ifcparse/Ifc2x3.h" -#include "../ifcparse/IfcUtil.h" -#include "../ifcparse/IfcHierarchyHelper.h" +#define IfcSchema Ifc2x3 +#include "ifcparse/Ifc2x3.h" +#include "ifcparse/IfcHierarchyHelper.h" typedef std::string S; typedef IfcParse::IfcGlobalId guid; -boost::none_t const null = (static_cast(0)); +boost::none_t const null = boost::none; static int x = 0; -void create_testcase(IfcHierarchyHelper& file, IfcSchema::IfcFace* face, const std::string& name) { +void create_testcase(IfcHierarchyHelper& file, IfcSchema::IfcFace* face, const std::string& name) { IfcSchema::IfcFace::list::ptr faces(new IfcSchema::IfcFace::list); faces->push(face); IfcSchema::IfcOpenShell* shell = new IfcSchema::IfcOpenShell(faces); @@ -57,14 +58,14 @@ void create_testcase(IfcHierarchyHelper& file, IfcSchema::IfcFace* face, const s file.getRepresentationContext("Model"), S("Body"), S("SurfaceModel"), items); reps->push(rep); - IfcSchema::IfcProductDefinitionShape* shape = new IfcSchema::IfcProductDefinitionShape(0, 0, reps); + IfcSchema::IfcProductDefinitionShape* shape = new IfcSchema::IfcProductDefinitionShape(boost::none, boost::none, reps); file.addEntity(shape); product->setRepresentation(shape); } int main(int argc, char** argv) { - IfcHierarchyHelper file; + IfcHierarchyHelper file; { IfcSchema::IfcCartesianPoint::list::ptr points (new IfcSchema::IfcCartesianPoint::list); points->push(file.addTriplet(-400, -400, 0)); @@ -192,7 +193,7 @@ int main(int argc, char** argv) { IfcSchema::IfcCartesianPoint::list::ptr trim2(new IfcSchema::IfcCartesianPoint::list); trim1->push(point1); trim2->push(point2); - IfcSchema::IfcTrimmedCurve* trimmed_curve = new IfcSchema::IfcTrimmedCurve(circle, trim1->generalize(), trim2->generalize(), true, IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN); + IfcSchema::IfcTrimmedCurve* trimmed_curve = new IfcSchema::IfcTrimmedCurve(circle, trim1->generalize()->as(), trim2->generalize()->as(), true, IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN); IfcSchema::IfcArbitraryOpenProfileDef* profile = new IfcSchema::IfcArbitraryOpenProfileDef(IfcSchema::IfcProfileTypeEnum::IfcProfileType_CURVE, boost::none, trimmed_curve); IfcSchema::IfcAxis1Placement* place = new IfcSchema::IfcAxis1Placement(file.addTriplet(0., 0., 0.), file.addTriplet(1., 0., 0.)); IfcSchema::IfcSurfaceOfRevolution* surface = new IfcSchema::IfcSurfaceOfRevolution(profile, file.addPlacement3d(), place); @@ -200,8 +201,8 @@ int main(int argc, char** argv) { IfcSchema::IfcFace* face = new IfcSchema::IfcFaceSurface(bounds, surface, true); create_testcase(file, face, "face surface"); } - const std::string filename = "faces.ifc"; - file.header().file_name().name(filename); - std::ofstream f(filename.c_str()); + const char filename[] = "faces.ifc"; + file.header().file_name()->setname(filename); + std::ofstream f(filename); f << file; } \ No newline at end of file diff --git a/src/examples/ifc_curve_rebar.cpp b/src/examples/ifc_curve_rebar.cpp index 2ba269e015..0f66f7b45a 100644 --- a/src/examples/ifc_curve_rebar.cpp +++ b/src/examples/ifc_curve_rebar.cpp @@ -27,22 +27,24 @@ #include #include -#include "ifcparse\Ifc2x3.h" -#include "ifcparse\IfcUtil.h" -#include "ifcparse\IfcHierarchyHelper.h" -#include "ifcgeom\IfcGeom.h" +#define IfcSchema Ifc2x3 +#include "ifcparse/Ifc2x3.h" +#include "ifcparse/IfcHierarchyHelper.h" + +#include +const static double PI = boost::math::constants::pi(); typedef std::string S; typedef IfcParse::IfcGlobalId guid; boost::none_t const null = boost::none; -void create_curve_rebar(IfcHierarchyHelper& file) +void create_curve_rebar(IfcHierarchyHelper& file) { int dia = 24; int R = 3 * dia; int length = 12 * dia; - double crossSectionarea = M_PI * (dia / 2) * 2; + double crossSectionarea = PI * dia * dia / 4; IfcSchema::IfcReinforcingBar* rebar = new IfcSchema::IfcReinforcingBar( guid(), 0, S("test"), null, null, 0, 0, @@ -83,14 +85,15 @@ void create_curve_rebar(IfcHierarchyHelper& file) IfcSchema::IfcCircle* circle = new IfcSchema::IfcCircle(axis1, R); file.addEntity(circle); - IfcEntityList::ptr trim1(new IfcEntityList); - IfcEntityList::ptr trim2(new IfcEntityList); - + IfcSchema::IfcTrimmingSelect::list::ptr trim1(new IfcSchema::IfcTrimmingSelect::list); + IfcSchema::IfcTrimmingSelect::list::ptr trim2(new IfcSchema::IfcTrimmingSelect::list); + trim1->push(new IfcSchema::IfcParameterValue(180)); trim1->push(p2); trim2->push(new IfcSchema::IfcParameterValue(270)); trim2->push(p4); + IfcSchema::IfcTrimmedCurve* trimmed_curve = new IfcSchema::IfcTrimmedCurve(circle, trim1, trim2, false, IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_PARAMETER); file.addEntity(trimmed_curve); @@ -133,8 +136,8 @@ void create_curve_rebar(IfcHierarchyHelper& file) int main() { - IfcHierarchyHelper file; - file.header().file_name().name("ifc_curve_rebar.ifc"); + IfcHierarchyHelper file; + file.header().file_name()->setname("ifc_curve_rebar.ifc"); create_curve_rebar(file); std::ofstream f("ifc_curve_rebar.ifc"); f << file; diff --git a/src/examples/profiles.cpp b/src/examples/profiles.cpp index d171745dc7..78cc67f13f 100644 --- a/src/examples/profiles.cpp +++ b/src/examples/profiles.cpp @@ -27,21 +27,21 @@ #include #include -#include "../ifcparse/Ifc2x3.h" -#include "../ifcparse/IfcUtil.h" -#include "../ifcparse/IfcHierarchyHelper.h" +#define IfcSchema Ifc2x3 +#include "ifcparse/Ifc2x3.h" +#include "ifcparse/IfcHierarchyHelper.h" typedef std::string S; -typedef IfcWrite::IfcGuidHelper guid; -boost::none_t const null = (static_cast(0)); +typedef IfcParse::IfcGlobalId guid; +boost::none_t const null = boost::none; void create_testcase_for(IfcSchema::IfcProfileDef::list::ptr profiles) { IfcSchema::IfcProfileDef* profile = *profiles->begin(); - const std::string profile_type = IfcSchema::Type::ToString(profile->type()); + const std::string& profile_type = profile->declaration().name(); const std::string filename = profile_type + ".ifc"; - IfcHierarchyHelper file; - file.filename(filename); + IfcHierarchyHelper file; + file.header().file_name()->setname(filename); int i = 0; for (IfcSchema::IfcProfileDef::list::it it = profiles->begin(); it != profiles->end(); ++it, ++i) { @@ -54,7 +54,7 @@ void create_testcase_for(IfcSchema::IfcProfileDef::list::ptr profiles) { product->setObjectPlacement(file.addLocalPlacement(0, 100. * i)); - if (profile->is(IfcSchema::Type::IfcParameterizedProfileDef)) { + if (profile->declaration().is(IfcSchema::IfcParameterizedProfileDef::Class())) { ((IfcSchema::IfcParameterizedProfileDef*) profile)->setPosition(file.addPlacement2d()); } @@ -72,7 +72,7 @@ void create_testcase_for(IfcSchema::IfcProfileDef::list::ptr profiles) { file.getSingle(), S("Body"), S("SweptSolid"), items); reps->push(rep); - IfcSchema::IfcProductDefinitionShape* shape = new IfcSchema::IfcProductDefinitionShape(0, 0, reps); + IfcSchema::IfcProductDefinitionShape* shape = new IfcSchema::IfcProductDefinitionShape(null, null, reps); file.addEntity(rep); file.addEntity(shape); @@ -84,122 +84,123 @@ void create_testcase_for(IfcSchema::IfcProfileDef::list::ptr profiles) { } int main(int argc, char** argv) { + IfcSchema::get_schema(); // Ensure schema is initialized { IfcSchema::IfcProfileDef::list::ptr profiles (new IfcSchema::IfcProfileDef::list); - profiles->push(new Ifc2x3::IfcUShapeProfileDef( + profiles->push(new IfcSchema::IfcUShapeProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0, 5.0, 5.0, null, null, null, null)); - profiles->push(new Ifc2x3::IfcUShapeProfileDef( + profiles->push(new IfcSchema::IfcUShapeProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0, 5.0, 5.0, 2.0, 2.0, null, null)); - profiles->push(new Ifc2x3::IfcUShapeProfileDef( + profiles->push(new IfcSchema::IfcUShapeProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0, 5.0, 5.0, null, null, 4.0, null)); - profiles->push(new Ifc2x3::IfcUShapeProfileDef( + profiles->push(new IfcSchema::IfcUShapeProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0, 5.0, 5.0, 1.0, 3.0, 6.0, null)); create_testcase_for(profiles); } { IfcSchema::IfcProfileDef::list::ptr profiles (new IfcSchema::IfcProfileDef::list); - profiles->push(new Ifc2x3::IfcTShapeProfileDef( + profiles->push(new IfcSchema::IfcTShapeProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0, 5.0, 5.0, null, null, null, null, null, null)); - profiles->push(new Ifc2x3::IfcTShapeProfileDef( + profiles->push(new IfcSchema::IfcTShapeProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0, 5.0, 5.0, 2.0, 2.0, 2.0, null, null, null)); - profiles->push(new Ifc2x3::IfcTShapeProfileDef( + profiles->push(new IfcSchema::IfcTShapeProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0, 5.0, 5.0, null, null, null, 2.0, 2.0, null)); - profiles->push(new Ifc2x3::IfcTShapeProfileDef( + profiles->push(new IfcSchema::IfcTShapeProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0, 5.0, 5.0, 3.0, 2.0, 1.0, 2.0, 2.0, null)); create_testcase_for(profiles); } { IfcSchema::IfcProfileDef::list::ptr profiles (new IfcSchema::IfcProfileDef::list); - profiles->push(new Ifc2x3::IfcZShapeProfileDef( + profiles->push(new IfcSchema::IfcZShapeProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0, 5.0, 5.0, null, null)); - profiles->push(new Ifc2x3::IfcZShapeProfileDef( + profiles->push(new IfcSchema::IfcZShapeProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0, 5.0, 5.0, 2.0, 2.0)); create_testcase_for(profiles); } { IfcSchema::IfcProfileDef::list::ptr profiles (new IfcSchema::IfcProfileDef::list); - profiles->push(new Ifc2x3::IfcEllipseProfileDef( + profiles->push(new IfcSchema::IfcEllipseProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 25.0, 15.0)); - profiles->push(new Ifc2x3::IfcEllipseProfileDef( + profiles->push(new IfcSchema::IfcEllipseProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 15.0, 25.0)); create_testcase_for(profiles); } { IfcSchema::IfcProfileDef::list::ptr profiles (new IfcSchema::IfcProfileDef::list); - profiles->push(new Ifc2x3::IfcIShapeProfileDef( + profiles->push(new IfcSchema::IfcIShapeProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 25.0, 50.0, 5.0, 5.0, null)); - profiles->push(new Ifc2x3::IfcIShapeProfileDef( + profiles->push(new IfcSchema::IfcIShapeProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 25.0, 50.0, 5.0, 5.0, 2.0)); - profiles->push(new Ifc2x3::IfcAsymmetricIShapeProfileDef( + profiles->push(new IfcSchema::IfcAsymmetricIShapeProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 25.0, 50.0, 5.0, 5.0, 2.0, 20.0, 10.0, 5.0, null)); create_testcase_for(profiles); } { IfcSchema::IfcProfileDef::list::ptr profiles (new IfcSchema::IfcProfileDef::list); - profiles->push(new Ifc2x3::IfcLShapeProfileDef( + profiles->push(new IfcSchema::IfcLShapeProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0, 5.0, null, null, null, null, null)); - profiles->push(new Ifc2x3::IfcLShapeProfileDef( + profiles->push(new IfcSchema::IfcLShapeProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0, 5.0, 2.0, 2.0, null, null, null)); - profiles->push(new Ifc2x3::IfcLShapeProfileDef( + profiles->push(new IfcSchema::IfcLShapeProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0, 5.0, null, null, 2.0, null, null)); - profiles->push(new Ifc2x3::IfcLShapeProfileDef( + profiles->push(new IfcSchema::IfcLShapeProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0, 5.0, 1.0, 2.0, 2.0, null, null)); create_testcase_for(profiles); } { IfcSchema::IfcProfileDef::list::ptr profiles (new IfcSchema::IfcProfileDef::list); - profiles->push(new Ifc2x3::IfcCShapeProfileDef( + profiles->push(new IfcSchema::IfcCShapeProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0, 5.0, 10.0, null, null)); - profiles->push(new Ifc2x3::IfcCShapeProfileDef( + profiles->push(new IfcSchema::IfcCShapeProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0, 5.0, 10.0, 2.0, null)); create_testcase_for(profiles); } { IfcSchema::IfcProfileDef::list::ptr profiles (new IfcSchema::IfcProfileDef::list); - profiles->push(new Ifc2x3::IfcCircleProfileDef( + profiles->push(new IfcSchema::IfcCircleProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 25.0)); - profiles->push(new Ifc2x3::IfcCircleHollowProfileDef( + profiles->push(new IfcSchema::IfcCircleHollowProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 25.0, 5.0)); create_testcase_for(profiles); } { IfcSchema::IfcProfileDef::list::ptr profiles (new IfcSchema::IfcProfileDef::list); - profiles->push(new Ifc2x3::IfcRectangleProfileDef( + profiles->push(new IfcSchema::IfcRectangleProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0)); - profiles->push(new Ifc2x3::IfcRoundedRectangleProfileDef( + profiles->push(new IfcSchema::IfcRoundedRectangleProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0, 5.0)); - profiles->push(new Ifc2x3::IfcRectangleHollowProfileDef( + profiles->push(new IfcSchema::IfcRectangleHollowProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0, 5.0, null, null)); - profiles->push(new Ifc2x3::IfcRectangleHollowProfileDef( + profiles->push(new IfcSchema::IfcRectangleHollowProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 25.0, 5.0, 2.0, 4.0)); create_testcase_for(profiles); } { IfcSchema::IfcProfileDef::list::ptr profiles (new IfcSchema::IfcProfileDef::list); - profiles->push(new Ifc2x3::IfcTrapeziumProfileDef( + profiles->push(new IfcSchema::IfcTrapeziumProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 30.0, 25.0, 0.0)); - profiles->push(new Ifc2x3::IfcTrapeziumProfileDef( + profiles->push(new IfcSchema::IfcTrapeziumProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 60.0, 25.0, -20.0)); - profiles->push(new Ifc2x3::IfcTrapeziumProfileDef( + profiles->push(new IfcSchema::IfcTrapeziumProfileDef( IfcSchema::IfcProfileTypeEnum::IfcProfileType_AREA, null, 0, 50.0, 10.0, 25.0, 30.0)); create_testcase_for(profiles); } diff --git a/src/examples/triangulated_faceset.cpp b/src/examples/triangulated_faceset.cpp index acf56d60c1..18eb1c3b73 100644 --- a/src/examples/triangulated_faceset.cpp +++ b/src/examples/triangulated_faceset.cpp @@ -23,15 +23,19 @@ * * ********************************************************************************/ -#include "../ifcparse/Ifc4.h" -#include "../ifcparse/IfcUtil.h" -#include "../ifcparse/IfcHierarchyHelper.h" +#include +#include +#include + +#define IfcSchema Ifc4 +#include "ifcparse/Ifc4.h" +#include "ifcparse/IfcHierarchyHelper.h" #include "suzanne_geometry.h" typedef std::string S; typedef IfcParse::IfcGlobalId guid; -boost::none_t const null = (static_cast(0)); +boost::none_t const null = boost::none; template std::vector< std::vector > create_vector_from_array(const T* arr, unsigned size) { @@ -50,7 +54,7 @@ std::vector< std::vector > create_vector_from_array(const T* arr, unsigned si } int main(int argc, char** argv) { - IfcHierarchyHelper file; + IfcHierarchyHelper file; IfcSchema::IfcBuildingElementProxy* product = new IfcSchema::IfcBuildingElementProxy( guid(), 0, S("Blender's Suzanne"), null, null, 0, 0, null, null); @@ -73,13 +77,13 @@ int main(int argc, char** argv) { file.getRepresentationContext("Model"), S("Body"), S("SurfaceModel"), items); reps->push(rep); - IfcSchema::IfcProductDefinitionShape* shape = new IfcSchema::IfcProductDefinitionShape(0, 0, reps); + IfcSchema::IfcProductDefinitionShape* shape = new IfcSchema::IfcProductDefinitionShape(boost::none, boost::none, reps); file.addEntity(shape); product->setRepresentation(shape); - const std::string filename = "tesselated_faceset.ifc"; - file.header().file_name().name(filename); - std::ofstream f(filename.c_str()); + const std::string filename = "triangulated_faceset.ifc"; + file.header().file_name()->setname(filename); + std::ofstream f(filename); f << file; } diff --git a/src/ifc4d/__main__.py b/src/ifc4d/__main__.py index 8313ba7464..86c36394e6 100644 --- a/src/ifc4d/__main__.py +++ b/src/ifc4d/__main__.py @@ -1,8 +1,7 @@ import argparse -import os -import sys import ifcopenshell + from ifc4d.msp2ifc import MSP2Ifc from ifc4d.p6xer2ifc import P6XER2Ifc from ifc4d.p62ifc import P62Ifc diff --git a/src/ifc4d/ifc4d/common.py b/src/ifc4d/ifc4d/common.py index f4fd42e1d1..296b8f36cb 100644 --- a/src/ifc4d/ifc4d/common.py +++ b/src/ifc4d/ifc4d/common.py @@ -4,11 +4,9 @@ from datetime import date, datetime, timedelta from typing import Any, TypedDict, Union import ifcopenshell -import ifcopenshell.api import ifcopenshell.api.control import ifcopenshell.api.resource import ifcopenshell.api.sequence -import ifcopenshell.util.date from typing_extensions import NotRequired diff --git a/src/ifc4d/ifc4d/csv2ifc.py b/src/ifc4d/ifc4d/csv2ifc.py index 6efbf4fad6..a908acdb53 100644 --- a/src/ifc4d/ifc4d/csv2ifc.py +++ b/src/ifc4d/ifc4d/csv2ifc.py @@ -24,7 +24,6 @@ import datetime from typing import Any, Literal, NamedTuple, Optional, Union, cast, get_args import ifcopenshell -import ifcopenshell.api import ifcopenshell.api.cost import ifcopenshell.api.pset import ifcopenshell.api.resource @@ -33,7 +32,6 @@ import ifcopenshell.api.unit import ifcopenshell.util.date import ifcopenshell.util.element import ifcopenshell.util.resource -import ifcopenshell.util.unit import isodate SUPPORTED_COLUMN = Literal[ diff --git a/src/ifc4d/ifc4d/csv4d2ifc.py b/src/ifc4d/ifc4d/csv4d2ifc.py index 2e519cc0ea..4247a06bbc 100644 --- a/src/ifc4d/ifc4d/csv4d2ifc.py +++ b/src/ifc4d/ifc4d/csv4d2ifc.py @@ -22,7 +22,6 @@ import locale import re import ifcopenshell -import ifcopenshell.api import ifcopenshell.api.root import ifcopenshell.api.sequence import ifcopenshell.util.date diff --git a/src/ifc4d/ifc4d/ifc2p6.py b/src/ifc4d/ifc4d/ifc2p6.py index 5093f306be..a4634ca372 100644 --- a/src/ifc4d/ifc4d/ifc2p6.py +++ b/src/ifc4d/ifc4d/ifc2p6.py @@ -24,8 +24,6 @@ import ifcopenshell import ifcopenshell.util.date import ifcopenshell.util.sequence -from .common import ScheduleIfcGenerator - class Ifc2P6: def __init__(self): diff --git a/src/ifc4d/ifc4d/msp2ifc.py b/src/ifc4d/ifc4d/msp2ifc.py index 3ba14a6985..91ae683c84 100644 --- a/src/ifc4d/ifc4d/msp2ifc.py +++ b/src/ifc4d/ifc4d/msp2ifc.py @@ -18,10 +18,9 @@ import datetime import xml.etree.ElementTree as ET -from datetime import date, timedelta +from datetime import timedelta import ifcopenshell -import ifcopenshell.api import ifcopenshell.api.control import ifcopenshell.api.pset import ifcopenshell.api.root diff --git a/src/ifc4d/ifc4d/p62ifc.py b/src/ifc4d/ifc4d/p62ifc.py index 833bf39dd3..7d4881161a 100644 --- a/src/ifc4d/ifc4d/p62ifc.py +++ b/src/ifc4d/ifc4d/p62ifc.py @@ -17,13 +17,8 @@ # along with Ifc4D. If not, see . import datetime -import math import xml.etree.ElementTree as ET -import ifcopenshell -import ifcopenshell.api -import ifcopenshell.util.date - from .common import ScheduleIfcGenerator diff --git a/src/ifc4d/ifc4d/p6xer2ifc.py b/src/ifc4d/ifc4d/p6xer2ifc.py index ef218ade2d..935634767d 100644 --- a/src/ifc4d/ifc4d/p6xer2ifc.py +++ b/src/ifc4d/ifc4d/p6xer2ifc.py @@ -16,11 +16,7 @@ # You should have received a copy of the GNU Lesser General Public License # along with Ifc4D. If not, see . -from datetime import date, datetime, timedelta -import ifcopenshell -import ifcopenshell.api -import ifcopenshell.util.date from xerparser.reader import Reader from .common import ScheduleIfcGenerator diff --git a/src/ifc4d/ifc4d/pp2ifc.py b/src/ifc4d/ifc4d/pp2ifc.py index 338a887e91..b2be0c753b 100644 --- a/src/ifc4d/ifc4d/pp2ifc.py +++ b/src/ifc4d/ifc4d/pp2ifc.py @@ -12,8 +12,6 @@ from collections import defaultdict from datetime import timedelta from typing import Any -import ifcopenshell.util.date - from .common import Activity, Calendar, ScheduleIfcGenerator, WBSEntry from .wpattern import AstaCalendarWorkPattern diff --git a/src/ifc4d/pyproject.toml b/src/ifc4d/pyproject.toml index 6bb2cc9f22..bbc101905a 100644 --- a/src/ifc4d/pyproject.toml +++ b/src/ifc4d/pyproject.toml @@ -28,3 +28,9 @@ Issues = "https://github.com/IfcOpenShell/IfcOpenShell/issues" [tool.setuptools.packages.find] include = ["ifc4d"] exclude = ["test*"] + +[tool.ruff] +extend = "../../pyproject.toml" +lint.select = [ + "F401", # unused imports +] diff --git a/src/ifc5d/ifc5d/csv2ifc.py b/src/ifc5d/ifc5d/csv2ifc.py index b1edd82d88..c33d6e847e 100644 --- a/src/ifc5d/ifc5d/csv2ifc.py +++ b/src/ifc5d/ifc5d/csv2ifc.py @@ -24,7 +24,6 @@ from pathlib import Path from typing import Optional, TypedDict, Union import ifcopenshell -import ifcopenshell.api import ifcopenshell.api.control import ifcopenshell.api.cost import ifcopenshell.api.root diff --git a/src/ifc5d/ifc5d/ifc5Dspreadsheet.py b/src/ifc5d/ifc5d/ifc5Dspreadsheet.py index 324340fb1c..5aab765c26 100644 --- a/src/ifc5d/ifc5d/ifc5Dspreadsheet.py +++ b/src/ifc5d/ifc5d/ifc5Dspreadsheet.py @@ -25,7 +25,7 @@ import logging import os import time from collections import Counter -from typing import Any, Optional, TypedDict, Union +from typing import Optional, TypedDict, Union import ifcopenshell import ifcopenshell.util.cost @@ -420,7 +420,7 @@ class Ifc5DCsvWriter(Ifc5Dwriter): class Ifc5DOdsWriter(Ifc5Dwriter): def write(self) -> None: - from odf.number import CurrencyStyle, CurrencySymbol, Number, NumberStyle, Text + from odf.number import CurrencyStyle, CurrencySymbol, Number from odf.opendocument import OpenDocumentSpreadsheet from odf.style import Style, TableCellProperties @@ -450,7 +450,7 @@ class Ifc5DOdsWriter(Ifc5Dwriter): self.doc.save(os.path.join(self.output, file_name), True) def write_table(self, cost_schedule): - from odf.number import CurrencyStyle, CurrencySymbol, Number, NumberStyle, Text + from odf.number import CurrencySymbol, Number from odf.table import Table, TableCell, TableRow from odf.text import P diff --git a/src/ifc5d/ifc5d/qto.py b/src/ifc5d/ifc5d/qto.py index f7fba8d9e5..955c6fd7af 100644 --- a/src/ifc5d/ifc5d/qto.py +++ b/src/ifc5d/ifc5d/qto.py @@ -27,7 +27,6 @@ from collections.abc import Iterable from typing import Any, Literal, NamedTuple, Union, get_args import ifcopenshell -import ifcopenshell.api import ifcopenshell.api.pset import ifcopenshell.geom import ifcopenshell.ifcopenshell_wrapper as W @@ -35,7 +34,6 @@ import ifcopenshell.util.element import ifcopenshell.util.representation import ifcopenshell.util.selector import ifcopenshell.util.shape -import ifcopenshell.util.type import ifcopenshell.util.unit diff --git a/src/ifc5d/pyproject.toml b/src/ifc5d/pyproject.toml index 4d89b8a108..8d51a63819 100644 --- a/src/ifc5d/pyproject.toml +++ b/src/ifc5d/pyproject.toml @@ -35,3 +35,9 @@ exclude = ["test*"] [tool.setuptools.package-data] "*" = ["*.*"] + +[tool.ruff] +extend = "../../pyproject.toml" +lint.select = [ + "F401", # unused imports +] diff --git a/src/ifc5d/test/test_csv2ifc.py b/src/ifc5d/test/test_csv2ifc.py index 7dc1bbd718..c14a795da3 100644 --- a/src/ifc5d/test/test_csv2ifc.py +++ b/src/ifc5d/test/test_csv2ifc.py @@ -20,15 +20,15 @@ import csv import tempfile from pathlib import Path -import ifc5d.csv2ifc -import ifc5d.ifc5Dspreadsheet import ifcopenshell import ifcopenshell.api.root import ifcopenshell.api.unit import ifcopenshell.util.cost -import ifcopenshell.util.element import pytest +import ifc5d.csv2ifc +import ifc5d.ifc5Dspreadsheet + class TestCsv2Ifc: @staticmethod diff --git a/src/ifcconvert/CMakeLists.txt b/src/ifcconvert/CMakeLists.txt index a5e16180cb..af46bc7dfe 100644 --- a/src/ifcconvert/CMakeLists.txt +++ b/src/ifcconvert/CMakeLists.txt @@ -15,6 +15,7 @@ target_link_libraries( IfcGeom IfcParse Serializers + ${kernel_libraries} ${OpenCASCADE_LIBRARIES} ${Boost_LIBRARIES} ${HDF5_LIBRARIES} diff --git a/src/ifccsv/ifccsv.py b/src/ifccsv/ifccsv.py index 341fa186e7..f6d3157f81 100755 --- a/src/ifccsv/ifccsv.py +++ b/src/ifccsv/ifccsv.py @@ -29,14 +29,11 @@ from statistics import mean from typing import Literal, Optional, Union import ifcopenshell -import ifcopenshell.util.element -import ifcopenshell.util.schema import ifcopenshell.util.selector try: from odf.namespaces import OFFICENS - from odf.opendocument import OpenDocumentSpreadsheet, load - from odf.style import Style, TableCellProperties + from odf.opendocument import load from odf.table import Table, TableCell, TableRow from odf.text import P except: diff --git a/src/ifccsv/pyproject.toml b/src/ifccsv/pyproject.toml index 4485d411e5..c012decd23 100644 --- a/src/ifccsv/pyproject.toml +++ b/src/ifccsv/pyproject.toml @@ -26,3 +26,9 @@ Issues = "https://github.com/IfcOpenShell/IfcOpenShell/issues" [tool.setuptools] py-modules = ["ifccsv"] + +[tool.ruff] +extend = "../../pyproject.toml" +lint.select = [ + "F401", # unused imports +] diff --git a/src/ifcgeom/CMakeLists.txt b/src/ifcgeom/CMakeLists.txt index b50dfce590..31bb2e7bce 100644 --- a/src/ifcgeom/CMakeLists.txt +++ b/src/ifcgeom/CMakeLists.txt @@ -29,14 +29,12 @@ endif() find_package(Eigen3 REQUIRED) -target_link_libraries( - IfcGeom - ${kernel_libraries} - ${mapping_libraries} - ${CMAKE_THREAD_LIBS_INIT} - "Eigen3::Eigen" - ${CGAL_LIBRARIES} -) +target_link_libraries(IfcGeom ${mapping_libraries} ${CMAKE_THREAD_LIBS_INIT} "Eigen3::Eigen" ${CGAL_LIBRARIES}) + +if(WITH_OPENCASCADE) + target_link_libraries(IfcGeom TKernel) +endif() + if(NOT WASM_BUILD) target_link_libraries(IfcGeom IfcParse) endif() diff --git a/src/ifcgeom/ConversionSettings.h b/src/ifcgeom/ConversionSettings.h index eb405a9e7c..febd789f6b 100644 --- a/src/ifcgeom/ConversionSettings.h +++ b/src/ifcgeom/ConversionSettings.h @@ -452,6 +452,12 @@ namespace ifcopenshell { static constexpr bool defaultvalue = false; }; + struct MakeVolume : public SettingBase { + static constexpr const char* const name = "make-volume"; + static constexpr const char* const description = "Try to isolate and fix a valid volume from non-manifold elements prior to opening subtraction"; + static constexpr bool defaultvalue = false; + }; + struct DeferProcessingFirstElement : public SettingBase { static constexpr const char* const name = "defer-processing-first-element"; static constexpr const char* const description = "Don't process first element in Iterator::initialize call()"; @@ -647,7 +653,7 @@ namespace ifcopenshell { }; class Settings : public SettingsContainer< - std::tuple + std::tuple > {}; } diff --git a/src/ifcgeom/Converter.cpp b/src/ifcgeom/Converter.cpp index 6b70ac7f51..a50a43cc66 100644 --- a/src/ifcgeom/Converter.cpp +++ b/src/ifcgeom/Converter.cpp @@ -12,11 +12,8 @@ ifcopenshell::geometry::Converter::Converter(std::unique_ptrsettings(); } -ifcopenshell::geometry::Converter::~Converter() -{ - if (mapping_ != nullptr) { - delete mapping_; - } +ifcopenshell::geometry::Converter::~Converter() { + delete mapping_; } namespace { diff --git a/src/ifcgeom/IfcGeomRepresentation.cpp b/src/ifcgeom/IfcGeomRepresentation.cpp index 48346b2831..f0c150597e 100644 --- a/src/ifcgeom/IfcGeomRepresentation.cpp +++ b/src/ifcgeom/IfcGeomRepresentation.cpp @@ -91,7 +91,7 @@ bool IfcGeom::Representation::BRep::calculate_volume(double& volume) const { volume = 0.; return false; } - volume = s->area()->to_double(); + volume = s->volume()->to_double(); return true; } diff --git a/src/ifcgeom/Serialization/CMakeLists.txt b/src/ifcgeom/Serialization/CMakeLists.txt index 4463cabcc9..0c49136101 100644 --- a/src/ifcgeom/Serialization/CMakeLists.txt +++ b/src/ifcgeom/Serialization/CMakeLists.txt @@ -1,6 +1,6 @@ add_subdirectory(schema) -add_library(geometry_serializer STATIC Serialization.cpp) +add_library(geometry_serializer Serialization.cpp) file(GLOB IFCGEOM_SERIALIZATION_H_FILE *.h) set_target_properties( diff --git a/src/ifcgeom/Serialization/schema/CMakeLists.txt b/src/ifcgeom/Serialization/schema/CMakeLists.txt index b6daf97cd9..583c177634 100644 --- a/src/ifcgeom/Serialization/schema/CMakeLists.txt +++ b/src/ifcgeom/Serialization/schema/CMakeLists.txt @@ -1,5 +1,5 @@ foreach(schema ${SCHEMA_VERSIONS}) - add_library(geometry_serializer_ifc${schema} STATIC Serialization.cpp) + add_library(geometry_serializer_ifc${schema} OBJECT Serialization.cpp) target_link_libraries(geometry_serializer_ifc${schema} ${OpenCASCADE_LIBRARIES}) set_target_properties( geometry_serializer_ifc${schema} diff --git a/src/ifcgeom/kernels/CMakeLists.txt b/src/ifcgeom/kernels/CMakeLists.txt index c9c8c549cb..6775a8f378 100644 --- a/src/ifcgeom/kernels/CMakeLists.txt +++ b/src/ifcgeom/kernels/CMakeLists.txt @@ -8,13 +8,13 @@ foreach(kernel ${GEOMETRY_KERNELS}) set(KERNEL_TARGET "geometry_kernel_${kernel}") - add_library(${KERNEL_TARGET} OBJECT ${IFCGEOM_FILES}) + add_library(${KERNEL_TARGET} ${IFCGEOM_FILES}) set_target_properties( ${KERNEL_TARGET} PROPERTIES COMPILE_FLAGS "-DIFC_GEOM_EXPORTS" PUBLIC_HEADER "${IFCGEOM_H_FILES}" ) list(APPEND kernel_libraries ${KERNEL_TARGET}) - target_link_libraries(${KERNEL_TARGET} ${${KERNEL_UPPER}_LIBRARIES} Eigen3::Eigen) + target_link_libraries(${KERNEL_TARGET} ${${KERNEL_UPPER}_LIBRARIES} IfcGeom Eigen3::Eigen) install( TARGETS ${KERNEL_TARGET} EXPORT ${IFCOPENSHELL_EXPORT_TARGETS} @@ -27,7 +27,7 @@ foreach(kernel ${GEOMETRY_KERNELS}) set_property(TARGET ${KERNEL_TARGET} APPEND_STRING PROPERTY COMPILE_FLAGS " -DCGAL_HAS_THREADS") set(KERNEL_TARGET_SIMPLE "${KERNEL_TARGET}_simple") - add_library(${KERNEL_TARGET_SIMPLE} OBJECT ${IFCGEOM_FILES}) + add_library(${KERNEL_TARGET_SIMPLE} ${IFCGEOM_FILES}) set_target_properties( ${KERNEL_TARGET_SIMPLE} PROPERTIES COMPILE_FLAGS "-DIFC_GEOM_EXPORTS -DIFOPSH_SIMPLE_KERNEL -DCGAL_HAS_THREADS" @@ -42,3 +42,5 @@ foreach(kernel ${GEOMETRY_KERNELS}) endforeach() set(kernel_libraries ${kernel_libraries} PARENT_SCOPE) + +install(FILES ifc_geomlibrary_api.h DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/ifcgeom/kernels/") diff --git a/src/ifcgeom/kernels/cgal/CgalKernel.cpp b/src/ifcgeom/kernels/cgal/CgalKernel.cpp index a2d4d01ebc..1e4a8866b9 100644 --- a/src/ifcgeom/kernels/cgal/CgalKernel.cpp +++ b/src/ifcgeom/kernels/cgal/CgalKernel.cpp @@ -1835,6 +1835,9 @@ bool CgalKernel::convert_impl(const taxonomy::boolean_result::ptr br, Conversion CGAL::Polygon_with_holes_2 pwh(p, ++it, loops.end()); CGAL::Gps_segment_traits_2 traits; if (!CGAL::are_holes_and_boundary_pairwise_disjoint(pwh, traits)) { +#ifdef IFOPSH_SIMPLE_KERNEL + throw std::runtime_error("Holes are not disjoint - use a different geometry kernel"); +#else // this is very slow. // the check is also slow... @@ -1851,6 +1854,7 @@ bool CgalKernel::convert_impl(const taxonomy::boolean_result::ptr br, Conversion result.difference(*it); } result.polygons_with_holes(std::back_inserter(pwhs)); +#endif } else { pwhs.push_back(pwh); } diff --git a/src/ifcgeom/kernels/opencascade/IfcGeomTree.h b/src/ifcgeom/kernels/opencascade/IfcGeomTree.h index 997391fcd6..46e0f06731 100644 --- a/src/ifcgeom/kernels/opencascade/IfcGeomTree.h +++ b/src/ifcgeom/kernels/opencascade/IfcGeomTree.h @@ -1792,6 +1792,10 @@ namespace IfcGeom { auto& vs = elem->geometry().verts(); auto& fs = elem->geometry().faces(); + if (vs.empty() || fs.empty()) { + return; + } + gp_Trsf tr; tr.SetValues( m(0, 0), m(0, 1), m(0, 2), m(0, 3), @@ -1859,23 +1863,36 @@ namespace IfcGeom { candidates.push_back({ std::abs(Z.Dot(ref)), ref }); } - if (candidates.empty()) { - { - gp_XYZ ref(0, 0, 1); - candidates.push_back({ std::abs(Z.Dot(ref)), ref }); + gp_Ax3 ax3; + gp_Trsf trsf2; + + for (size_t attempt = 0; attempt < 2; ++attempt) { + + if (candidates.empty() || attempt == 1) { + { + gp_XYZ ref(0, 0, 1); + candidates.push_back({std::abs(Z.Dot(ref)), ref}); + } + { + gp_XYZ ref(1, 0, 0); + candidates.push_back({std::abs(Z.Dot(ref)), ref}); + } } + + auto X = std::min_element(candidates.begin(), candidates.end(), [](auto& p1, auto& p2) { return p1.first < p2.first; })->second; + { - gp_XYZ ref(1, 0, 0); - candidates.push_back({ std::abs(Z.Dot(ref)), ref }); + try { + ax3 = gp_Ax3(gp::Origin(), Z, X); + trsf2.SetTransformation(gp::XOY(), ax3); + } catch (Standard_ConstructionError&) { + // Try again, likely we have all identical normals in candidates so + // we cannot find a suitable candidate and need the two default axes + continue; + } } } - auto X = std::min_element(candidates.begin(), candidates.end(), [](auto& p1, auto& p2) { return p1.first < p2.first; })->second; - - gp_Trsf trsf2; - gp_Ax3 ax3(gp::Origin(), Z, X); - trsf2.SetTransformation(gp::XOY(), ax3); - Bnd_Box tmp; for (auto& p : vs_transformed) { diff --git a/src/ifcgeom/kernels/opencascade/OpenCascadeKernel.cpp b/src/ifcgeom/kernels/opencascade/OpenCascadeKernel.cpp index fcb390b6cc..a5a9d94149 100644 --- a/src/ifcgeom/kernels/opencascade/OpenCascadeKernel.cpp +++ b/src/ifcgeom/kernels/opencascade/OpenCascadeKernel.cpp @@ -29,6 +29,7 @@ #include "base_utils.h" #include +#include namespace { struct opening_sorter { @@ -132,11 +133,24 @@ bool IfcGeom::OpenCascadeKernel::convert_openings(const IfcUtil::IfcBaseEntity* parts.push_back(it3_shape); } - for (auto& entity_part : parts) { + for (auto entity_part : parts) { bool is_manifold = util::is_manifold(entity_part); if (!is_manifold) { - Logger::Warning("Non-manifold first operand"); + if (settings_.get().get()) { + BOPAlgo_MakerVolume mv; + mv.AddArgument(entity_part); + mv.SetAvoidInternalShapes(true); + try { + mv.Perform(); + entity_part = mv.Shape(); + Logger::Warning("Sucessfully detected exterior volume to non-manifold first operand"); + } catch (const Standard_Failure& e) { + Logger::Warning("MakeVolume failed: " + std::string(e.GetMessageString()), entity); + } + } else { + Logger::Warning("Non-manifold first operand, use --make-volume to try and make manifold"); + } } TopoDS_Shape entity_part_result; diff --git a/src/ifcgeom/kernels/opencascade/boolean_utils.cpp b/src/ifcgeom/kernels/opencascade/boolean_utils.cpp index 975ee00d0d..d41f1e4adf 100644 --- a/src/ifcgeom/kernels/opencascade/boolean_utils.cpp +++ b/src/ifcgeom/kernels/opencascade/boolean_utils.cpp @@ -1134,6 +1134,8 @@ bool IfcGeom::util::boolean_operation(const boolean_settings& settings, const To #endif builder->SetFuzzyValue(fuzz); builder->SetArguments(s1s); + // We use our own multi-threading in ifcopenshell on a per-product basis + builder->SetRunParallel(false); copy_operand(b, b_tmp); std::swap(b, b_tmp); builder->SetTools(b); diff --git a/src/ifcgeom/kernels/opencascade/loft.cpp b/src/ifcgeom/kernels/opencascade/loft.cpp index 60997d24ad..74c9c187df 100644 --- a/src/ifcgeom/kernels/opencascade/loft.cpp +++ b/src/ifcgeom/kernels/opencascade/loft.cpp @@ -82,49 +82,79 @@ bool OpenCascadeKernel::convert(const taxonomy::loft::ptr loft, TopoDS_Shape& re } if (non_polygonal) { - if (loft->children.size() == 2) { - BRep_Builder BB; - TopoDS_Shell comp; - BB.MakeShell(comp); + if (loft->children.size() < 2) { + Logger::Error("Not enough sections to loft"); + return false; + } + std::vector> sections; + sections.reserve(loft->children.size()); - TopoDS_Shape f0, f1; - if (!convert(std::static_pointer_cast(loft->children.front()), f0) || - !convert(std::static_pointer_cast(loft->children.back()), f1)) - { + TopoDS_Shape f0, f1; + + // Convert all children to vectors of wires + for (const auto& child : loft->children) { + TopoDS_Shape shape; + if (!convert(std::static_pointer_cast(child), shape)) { + return false; + } + if (shape.ShapeType() != TopAbs_FACE) { + return false; + } + // At least make sure to have outer wire consistent, but in reality + // this is probably not a concern given how to build up these faces + auto f = TopoDS::Face(shape); + + if (child == loft->children.front()) { + f0 = f; + } else if (child == loft->children.back()) { + f1 = f; + } + + auto outer = BRepTools::OuterWire(f); + sections.emplace_back(); + sections.back().push_back(outer); + for (TopoDS_Iterator it(f); it.More(); it.Next()) { + if (outer != it.Value()) { + sections.back().push_back(TopoDS::Wire(it.Value())); + } + } + } + + auto first_wire_count = sections.front().size(); + for (auto& section : sections) { + if (section.size() != first_wire_count) { + Logger::Error("Inconsistent number of wires in sections"); return false; } - if (f0.ShapeType() != TopAbs_FACE || f1.ShapeType() != TopAbs_FACE) { + } + + BRep_Builder BB; + TopoDS_Shell comp; + BB.MakeShell(comp); + + for (size_t i = 0; i < first_wire_count; ++i) { + // Rule=True uses linear interpolation. + // This is critical for preventing twists in roads/railings. + BRepOffsetAPI_ThruSections builder(false, true); + for (auto& ws : sections) { + builder.AddWire(ws[i]); + } + builder.Build(); + if (!builder.IsDone()) { return false; } - - TopExp_Explorer exp1(f0, TopAbs_WIRE); - TopExp_Explorer exp2(f1, TopAbs_WIRE); - for (; exp1.More() && exp2.More(); exp1.Next(), exp2.Next()) { - const auto& w1 = TopoDS::Wire(exp1.Current()); - const auto& w2 = TopoDS::Wire(exp2.Current()); - BRepOffsetAPI_ThruSections builder; - builder.AddWire(w1); - builder.AddWire(w2); - builder.Build(); - if (!builder.IsDone()) { - return false; - } - for (TopExp_Explorer exp(builder.Shape(), TopAbs_FACE); exp.More(); exp.Next()) { - BB.Add(comp, exp.Current()); - } + for (TopExp_Explorer exp(builder.Shape(), TopAbs_FACE); exp.More(); exp.Next()) { + BB.Add(comp, exp.Current()); } - - BB.Add(comp, f0.Reversed()); - BB.Add(comp, f1); - - result = BRepBuilderAPI_MakeSolid(comp).Solid(); - - return true; - } else { - Logger::Error("Lofting more than two sections is not supported"); - return false; } + + BB.Add(comp, f0.Reversed()); + BB.Add(comp, f1); + + result = BRepBuilderAPI_MakeSolid(comp).Solid(); + + return true; } TopTools_ListOfShape faces; diff --git a/src/ifcgeom/mapping/IfcObjectPlacement.cpp b/src/ifcgeom/mapping/IfcObjectPlacement.cpp index be0c222e08..499d9d787b 100644 --- a/src/ifcgeom/mapping/IfcObjectPlacement.cpp +++ b/src/ifcgeom/mapping/IfcObjectPlacement.cpp @@ -21,7 +21,44 @@ #define mapping POSTFIX_SCHEMA(mapping) using namespace ifcopenshell::geometry; +#include + taxonomy::ptr mapping::map_impl(const IfcSchema::IfcObjectPlacement* inst) { + if (placement_rel_to_type_ || placement_rel_to_instance_) { + using QueueItem = std::pair; + std::deque q = {{inst, 0}}; + while (!q.empty()) { + auto [placement_entity, depth] = q.front(); + q.pop_front(); + + auto placement = placement_entity->as(); + if (!placement) { + continue; + } + + auto self_places = placement->PlacesObject(); + for (auto iter = self_places->begin(); iter != self_places->end(); ++iter) { + if ((placement_rel_to_type_ && (*iter)->declaration().is(*placement_rel_to_type_)) || + (placement_rel_to_instance_ && (*iter)->as() == placement_rel_to_instance_)) { + return taxonomy::make(); + } + } + + // Look for two levels deep, we want to know if we're at or *above* the + // element we're ignoring, but we don't want to traverse the entire model. +#ifdef SCHEMA_IfcObjectPlacement_HAS_ReferencedByPlacements + if (depth < 2) { + auto refs = placement->ReferencedByPlacements(); + for (auto& ref : *refs) { + q.emplace_back(ref, depth + 1); + } + } +#else + Logger::Warning("Using --site-local-placement or --building-local-placement on IFC4.2 might have issues"); +#endif + } + } + const IfcSchema::IfcObjectPlacement* relative_to = nullptr; const IfcUtil::IfcBaseInterface* transform; diff --git a/src/ifcgeom/mapping/IfcSectionedSolidHorizontal.cpp b/src/ifcgeom/mapping/IfcSectionedSolidHorizontal.cpp index a2bc648f08..ad1e2e0d4c 100644 --- a/src/ifcgeom/mapping/IfcSectionedSolidHorizontal.cpp +++ b/src/ifcgeom/mapping/IfcSectionedSolidHorizontal.cpp @@ -61,33 +61,9 @@ taxonomy::ptr mapping::map_impl(const IfcSchema::IfcSectionedSolidHorizontal* in longitudes.push_back(*pbde->DistanceAlong()->as(true) * length_unit_); - // Corresponds to the profile X, Y directions (hopefully). - Eigen::Vector3d po( - pbde->OffsetLateral().get_value_or(0.), - // @todo I don't understand whether vertical is an offset relative to the tangent plane or to the global XY plane - pbde->OffsetVertical().get_value_or(0.), - 0. - ); - - profile_offsets.push_back(po); - - boost::optional rot; - if (csp->Axis() && csp->RefDirection()) { - rot = taxonomy::matrix4( - Eigen::Vector3d(0, 0, 0), - taxonomy::cast(map(csp->Axis()))->ccomponents(), - taxonomy::cast(map(csp->RefDirection()))->ccomponents()).ccomponents().block<3,3>(0,0); - } else if (csp->Axis()) { - rot = taxonomy::matrix4( - Eigen::Vector3d(0, 0, 0), - taxonomy::cast(map(csp->Axis()))->ccomponents()).ccomponents().block<3, 3>(0, 0); - } else if (csp->RefDirection()) { - rot = taxonomy::matrix4( - Eigen::Vector3d(0, 0, 0), - Eigen::Vector3d(0, 0, 1), - taxonomy::cast(map(csp->RefDirection()))->ccomponents() - ).ccomponents().block<3, 3>(0, 0); - } + auto linear_placement = taxonomy::cast(map(csp)); + profile_offsets.push_back(linear_placement->ccomponents().block<3, 1>(0, 3)); + boost::optional rot(linear_placement->ccomponents().block<3,3>(0,0)); profile_rotations.push_back(rot); } if (faces.size() != profile_offsets.size()) { diff --git a/src/ifcgeom/mapping/IfcSectionedSurface.cpp b/src/ifcgeom/mapping/IfcSectionedSurface.cpp index 49fde15759..b91b7b62c2 100644 --- a/src/ifcgeom/mapping/IfcSectionedSurface.cpp +++ b/src/ifcgeom/mapping/IfcSectionedSurface.cpp @@ -63,35 +63,10 @@ taxonomy::ptr mapping::map_impl(const IfcSchema::IfcSectionedSurface* inst) { longitudes.push_back(*pbde->DistanceAlong()->as(true) * length_unit_); - // Corresponds to the profile X, Y directions (hopefully). - Eigen::Vector3d po( - pbde->OffsetLateral().get_value_or(0.), - // @todo I don't understand whether vertical is an offset relative to the tangent plane or to the global XY plane - pbde->OffsetVertical().get_value_or(0.), - 0. - ); - - profile_offsets.push_back(po); - - boost::optional rot; - if (csp->Axis() && csp->RefDirection()) { - rot = taxonomy::matrix4( - Eigen::Vector3d(0, 0, 0), - taxonomy::cast(map(csp->Axis()))->ccomponents(), - taxonomy::cast(map(csp->RefDirection()))->ccomponents()).ccomponents().block<3, 3>(0, 0); - } else if (csp->Axis()) { - rot = taxonomy::matrix4( - Eigen::Vector3d(0, 0, 0), - taxonomy::cast(map(csp->Axis()))->ccomponents()).ccomponents().block<3, 3>(0, 0); - } else if (csp->RefDirection()) { - rot = taxonomy::matrix4( - Eigen::Vector3d(0, 0, 0), - Eigen::Vector3d(0, 0, 1), - taxonomy::cast(map(csp->RefDirection()))->ccomponents()) - .ccomponents() - .block<3, 3>(0, 0); - } - profile_rotations.push_back(rot); + auto linear_placement = taxonomy::cast(map(csp)); + profile_offsets.push_back(linear_placement->ccomponents().block<3, 1>(0, 3)); + boost::optional rot(linear_placement->ccomponents().block<3, 3>(0, 0)); + profile_rotations.push_back(rot); } #else return nullptr; diff --git a/src/ifcopenshell-python/docs/ifcconvert.rst b/src/ifcopenshell-python/docs/ifcconvert.rst index bbdbe0c14c..beef450578 100644 --- a/src/ifcopenshell-python/docs/ifcconvert.rst +++ b/src/ifcopenshell-python/docs/ifcconvert.rst @@ -12,7 +12,8 @@ table below. +=========================+=========================+======================+ | .ifc | .obj, .dae, .glb, .stp, | IfcConvert | | | .igs, .xml, .svg, .h5, | | -| | .ttl, .ifc | | +| | .ttl, .ifc, .rdb, | | +| | .json (xeokit) | | +-------------------------+-------------------------+----------------------+ | .ifc | .dae, .abc, .usd, .obj, | Bonsai_ | | | .ply, .stl, .fbx, .glb, | | diff --git a/src/ifcopenshell-python/docs/ifcconvert/usage.rst b/src/ifcopenshell-python/docs/ifcconvert/usage.rst index 2c8ffeee5c..3c6846d25b 100644 --- a/src/ifcopenshell-python/docs/ifcconvert/usage.rst +++ b/src/ifcopenshell-python/docs/ifcconvert/usage.rst @@ -70,7 +70,7 @@ CLI Manual $ IfcConvert -h - IfcOpenShell IfcConvert 0.8.1-c49ca69 (OCC 7.8.1) + IfcOpenShell IfcConvert 0.8.4-158fe92 (OCC 7.8.1) Usage: IfcConvert [options] [] Converts (the geometry in) an IFC file into one of the following formats: @@ -80,6 +80,8 @@ CLI Manual .stp STEP Standard for the Exchange of Product Data .igs IGES Initial Graphics Exchange Specification .xml XML Property definitions and decomposition tree + .json JSON Property definitions and decomposition tree in xeokit json format + .rdb RocksDB RocksDB Key-Value store serialization of IFC data .svg SVG Scalable Vector Graphics (2D floor plan) .h5 HDF Hierarchical Data Format storing positions, normals and indices .ttl TTL/WKT RDF Turtle with Well-Known-Text geometry @@ -108,7 +110,8 @@ CLI Manual Geometry options: --kernel arg (=opencascade) Geometry kernel to use (opencascade, - cgal, cgal-simple). + cgal, cgal-simple, hybrid-cgal-simple-o + pencascade). -j [ --threads ] arg (=1) Number of parallel processing threads for geometry interpretation. --center-model Centers the elements by applying the @@ -118,6 +121,11 @@ CLI Manual --center-model-geometry Centers the elements by applying the center point of all mesh vertices as an offset. + --model-offset arg Applies an arbitrary offset of form + 'x;y;z' to all placements. + --model-rotation arg Applies an arbitrary quaternion + rotation of form 'x;y;z;w' to all + placements. --include arg Specifies that the instances that match a specific filtering criteria are to be included in the geometrical output: @@ -207,13 +215,12 @@ CLI Manual of surface normals, even if the faces are not properly oriented in the IFC file. - --length-unit arg (= 1) - --angle-unit arg (= 1) - --precision arg (= 1e-05) --dimensionality arg (= 1) Specifies whether to include curves and/or surfaces and solids in the output result. Defaults to only - surfaces and solids. + surfaces and solids (SURFACES_AND_SOLID + S). Other possible values are CURVES, + CURVES_SURFACES_AND_SOLIDS. --layerset-first Assigns the first layer material of the layerset to the complete product. --disable-boolean-result Specifies whether to disable the @@ -262,9 +269,11 @@ CLI Manual geometrical output back to the unit of measure in which it is defined in the IFC file. Default is to use meters. - --context-ids arg - --context-ids arg - --context-ids arg + --context-ids arg List of comma separated context ids to + process - e.g. '15,29' (no quotes + needed). + --context-types arg Currently option has no effect. + --context-identifiers arg Currently option has no effect. --iterator-output arg (= 0) --disable-opening-subtractions Specifies whether to disable the boolean subtraction of @@ -304,10 +313,18 @@ CLI Manual geometry output. --circle-segments arg (= 16) Number of segments to approximate full circles in CGAL kernel. + --cgal-smooth-angle-degrees arg (= -1) + Angle in degrees under which adjacent + facets will have averaged vertex + normals in CGAL output. NB irrespective + of original IFC geometry types. + Defaults to -1 to disable smoothing. --keep-bounding-boxes Default is to removes IfcBoundingBox from model prior to converting geometry.Setting this option disables that behaviour + --compute-curvature Specifies whether function_item_evaluat + or.evaluate() computes curvature. --function-step-type arg (= 0) Indicates the method used for defining step size when evaluating function-based curves. Provides @@ -320,12 +337,24 @@ CLI Manual parallel. May decrease performance, but also decrease output size (in the future) - --model-offset arg Applies an arbitrary offset of form - 'x,y,z' to all placements. - --model-rotation arg Applies an arbitrary quaternion - rotation of form 'x,y,z,w' to all - placements. + --permissive-shape-reuse Traverse geometry-level transformations + and apply to product-level placement in + order to increase reuse of geometries --triangulation-type arg (= 0) Type of planar facet to be emitted + --cgal-original-edges Try to emit original edge face boundary + edges instead of recomputed ones based + on face normal. Falls back to + triangulated data in case of boolean + operands and faces with holes. + --cache-shapes Experimental as not all topology hash + functions fully implemented + --max-offset arg Maximum translation offset to be + observed after which median offset in + model gets removed and logged. Requires + --no-parallel-mapping. + --max-offset-deviation arg To retain field of view, completely + remove elements outside of the median + offset. Requires --no-parallel-mapping. Serialization options: --bounds arg Specifies the bounding rectangle, for @@ -421,3 +450,8 @@ CLI Manual --wkt-use-section Use a geometrical section rather than full polyhedral output and footprint in TTL WKT + --separate-z-up-node Introduce a separate Z-Up node into the + GlTF hierarchy instead of multiplying + the transform into the root node + matrices + diff --git a/src/ifcopenshell-python/docs/ifcopenshell-python/geometry_creation.rst b/src/ifcopenshell-python/docs/ifcopenshell-python/geometry_creation.rst index 65c21cafef..817630ad7d 100644 --- a/src/ifcopenshell-python/docs/ifcopenshell-python/geometry_creation.rst +++ b/src/ifcopenshell-python/docs/ifcopenshell-python/geometry_creation.rst @@ -340,8 +340,12 @@ In IFC, meshes may be stored as **Faceted BReps**, **Tessellations**, or # These vertices and faces represent a 2m square 1m high pyramid in SI units. # Note how they are nested lists. Each nested list represents a "mesh". There may be multiple meshes. - vertices = [[(0.,0.,0.), (0.,2.,0.), (2.,2.,0.), (2.,0.,0.), (1.,1.,1.)]] - faces = [[(0,1,2,3), (0,4,1), (1,4,2), (2,4,3), (3,4,0)]] + vertices = [ + [(0.,0.,0.), (0.,2.,0.), (2.,2.,0.), (2.,0.,0.), (1.,1.,1.)] # A single mesh + ] + faces = [ + [(0,1,2,3), (0,4,1), (1,4,2), (2,4,3), (3,4,0)] # A single mesh + ] representation = ifcopenshell.api.geometry.add_mesh_representation(model, context=body, vertices=vertices, faces=faces) .. image:: images/mesh-representation.png diff --git a/src/ifcopenshell-python/docs/ifcopenshell-python/geometry_processing.rst b/src/ifcopenshell-python/docs/ifcopenshell-python/geometry_processing.rst index 0c4753807a..6058781de4 100644 --- a/src/ifcopenshell-python/docs/ifcopenshell-python/geometry_processing.rst +++ b/src/ifcopenshell-python/docs/ifcopenshell-python/geometry_processing.rst @@ -19,7 +19,6 @@ edges, and faces, or alternatively an OpenCASCADE BRep. applications. See the `Geometry iterator`_ section below after reading this to see how to process geometry with multiple threads. - Here is a simple example of processing a single wall into a list of vertices and faces. In this example, a ``shape`` variable is returned, which holds geometry related information in ``shape.geometry``: @@ -33,8 +32,12 @@ related information in ``shape.geometry``: ifc_file = ifcopenshell.open('model.ifc') element = ifc_file.by_type('IfcWall')[0] + # Create a shape using a hybrid of the cgal-simple geometry kernel and opencascade as a fallback + # Choosing a geometry kernel has a big impact on speed and capability. + # It is recommended to use the "hybrid-cgal-simple-opencascade" kernel. settings = ifcopenshell.geom.settings() - shape = ifcopenshell.geom.create_shape(settings, element) + shape = ifcopenshell.geom.create_shape( + settings, element, geometry_library="hybrid-cgal-simple-opencascade") # The GUID of the element we processed print(shape.guid) @@ -224,7 +227,8 @@ Here is a simple example in Python: ifc_file = ifcopenshell.open('model.ifc') settings = ifcopenshell.geom.settings() - iterator = ifcopenshell.geom.iterator(settings, ifc_file, multiprocessing.cpu_count()) + iterator = ifcopenshell.geom.iterator( + settings, ifc_file, multiprocessing.cpu_count(), geometry_library="hybrid-cgal-simple-opencascade") if iterator.initialize(): while True: shape = iterator.get() @@ -252,7 +256,9 @@ only process wall elements. .. code-block:: python walls = ifc.by_type('IfcWall') - iterator = ifcopenshell.geom.iterator(settings, ifc, multiprocessing.cpu_count(), include=walls) + iterator = ifcopenshell.geom.iterator( + settings, ifc, multiprocessing.cpu_count(), + include=walls, geometry_library="hybrid-cgal-simple-opencascade") .. note:: diff --git a/src/ifcopenshell-python/docs/ifcopenshell-python/selector_syntax.rst b/src/ifcopenshell-python/docs/ifcopenshell-python/selector_syntax.rst index 67f7b792b3..2d0cc9e071 100644 --- a/src/ifcopenshell-python/docs/ifcopenshell-python/selector_syntax.rst +++ b/src/ifcopenshell-python/docs/ifcopenshell-python/selector_syntax.rst @@ -252,6 +252,10 @@ nest formulas, for example ``concat(title("foo"), lower("Bar"))`` will produce "``number({{value}}[, {{decimal_separator}}[, {{thousands_separator}}]])``", "``number(1234.56, "","", ""."")``", "``1.234,56``", "Formats {{value}} with an optional custom {{decimal_separator}} and {{thousands_separator}}. The default separators are ``.`` and ``,``." "``metric_length({{value}}, {{precision}}, {{decimals}})``", "``metric_length(3.123, 0.1, 2)``", "``3.10``", "Rounds ``{{value}}`` to the nearest ``{{precision}}`` then displays using a certain amount of decimal places." "``imperial_length({{value}}, {{precision}}, {{input_unit}}, {{output_unit}}, {{suppress_zero_inches}})``", "``imperial_length(3.0, 4, ""foot"", ""foot"", true)`` OR ``imperial_length(3.0, 4, ""foot"", ""foot"", false)``", "``3'`` OR ``3' - 0""``", "The ``{{value}}`` may be specified either as ``foot`` or ``inch`` depending on ``{{input_unit}}``. The ``{{value}}`` is then rounded to the nearest ``1/{{precision}}`` inch, then formatted using fractional feet and inches if ``{{output_unit}}`` is set to ``foot``, or just inches if ``{{output_unit}}`` is set to ``inch``. When ``{{suppress_zero_inches}}`` is ``true`` (default), measurements with zero inches will omit the inch portion (e.g., ``3'`` instead of ``3' - 0""``)." + "``sort({{values}})``", "``sort({{mats.Name}})``", "``Name1, Name2``", "Sorts a list of items." + "``reverse({{values}})``", "``reverse({{mats.Name}})``", "``Name2, Name1``", "Reverses a list of items." + "``join({{separator}}, {{values}})``", "``join("-", {{mats.Name}})``", "``Name1-Name2``", "Joins a list of items with a custom separator. By default, all lists a rendered as comma separated." + "``{{value1}}[+-*/]{{value2}}``", "``{{z}}+3``", "``5``", "Does arithmetic. Typical operators such as +, -, \*, and / are allowed and can be mixed with other variables and formatting functions." When using queries in an IfcAnnotation tag surround with backticks. Examples: diff --git a/src/ifcopenshell-python/docs/ifcopenshell/geometry_settings.rst b/src/ifcopenshell-python/docs/ifcopenshell/geometry_settings.rst index a41489a4dd..f73c7edc28 100644 --- a/src/ifcopenshell-python/docs/ifcopenshell/geometry_settings.rst +++ b/src/ifcopenshell-python/docs/ifcopenshell/geometry_settings.rst @@ -111,6 +111,32 @@ In Python, this is set when the iterator is constructed: import multiprocessing iterator = ifcopenshell.geom.iterator(settings, ifc_file, num_threads=multiprocessing.cpu_count()) +geometry_library +^^^^^^^^^^^^^^^^ + ++--------+-------------------+-------------+ +| Type | IfcConvert Option | Default | ++========+===================+=============+ +| STRING | ``--kernel`` | opencascade | ++--------+-------------------+-------------+ + +IfcOpenShell supports multiple geometry kernels to process geometry. Choosing the geometry kernel has trade-offs on geometric support, speed, and maturity. It is possible and recommended to chose a hybrid geometry kernel by providing the name ``hybrid-kernelX-kernelY``, where ``kernelX`` is the name of the first kernel to try, and ``kernelY`` is the name of the fallback kernel, for example ``hybrid-cgal-simple-opencascade``. + +.. csv-table:: + :header: "Comparison", "cgal-simple", "cgal", "opencascade" + + "Speed", "Very fast", "Fast", "Slow" + "Curves in extrusion footprints", "Only circle and ellipse arcs are converted to polylines", "Only circle and ellipse arcs are converted to polylines", "Full support including beziers and nurbs" + "Advanced (curved) breps", "No", "No", "Full support" + "Boolean operations", "No", "Full support", "Full support" + "Boolean operations with tolerance / fuzziness handling", "No", "Only manifold inputs", "Full support, including non-manifold inputs" + "Sweeps along alignment curves", "Partial", "Partial", "Full support" + +.. code-block:: python + + iterator = ifcopenshell.geom.iterator(settings, ifc_file, geometry_library="hybrid-cgal-simple-opencascade") + ifcopenshell.geom.create_shape(settings, element, geometry_library="opencascade") + Iterator settings ----------------- diff --git a/src/ifcopenshell-python/ifcopenshell/api/alignment/_create_offset_curve_representation.py b/src/ifcopenshell-python/ifcopenshell/api/alignment/_create_offset_curve_representation.py index 6850013c96..a5675a4dc2 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/alignment/_create_offset_curve_representation.py +++ b/src/ifcopenshell-python/ifcopenshell/api/alignment/_create_offset_curve_representation.py @@ -28,7 +28,7 @@ def _create_offset_curve_representation( file: ifcopenshell.file, alignment: entity_instance, offsets: Sequence[entity_instance] ) -> None: """ - Create geometric representation for the alignment based on an IfcPolyline + Create geometric representation for the alignment based on an IfcOffsetByDistances curve :param alignment: The alignment for which the representation is being created :return: None @@ -36,6 +36,11 @@ def _create_offset_curve_representation( expected_type = "IfcAlignment" if not alignment.is_a(expected_type): raise TypeError(f"Expected {expected_type} but got {alignment.is_a()}") + + expected_type = "IfcPointByDistanceExpression" + for offset in offsets: + if not offset.is_a(expected_type): + raise TypeError(f"Expected {expected_type} but got {offset.is_a()}") axis_geom_subcontext = ifcopenshell.api.alignment.get_axis_subcontext(file) diff --git a/src/ifcopenshell-python/ifcopenshell/api/alignment/create_as_offset_curve.py b/src/ifcopenshell-python/ifcopenshell/api/alignment/create_as_offset_curve.py index b24fb16b29..6ac56af362 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/alignment/create_as_offset_curve.py +++ b/src/ifcopenshell-python/ifcopenshell/api/alignment/create_as_offset_curve.py @@ -39,7 +39,7 @@ def create_as_offset_curve( :param file: :param name: name assigned to IfcAlignment.Name - :param offsets: offsets from the basis curve that defines the offset curve, expected to be IfcOffsetCurveByDistances. + :param offsets: offsets from the basis curve that defines the offset curve, expected to be IfcPointByDistanceExpression. :param start_station: station value at the start of the alignment :return: Returns an IfcAlignment """ diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_slab_representation.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_slab_representation.py index b5029dc934..6e600eca9a 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_slab_representation.py +++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_slab_representation.py @@ -100,15 +100,10 @@ class Usecase: size = self.convert_si_to_unit(1) points = ((0.0, 0.0), (size, 0.0), (size, size), (0.0, size), (0.0, 0.0)) if self.polyline: - # Only scale polyline if we have actual slope - if self.x_angle and abs(self.x_angle) > 1e-6: - points = [ - (self.convert_si_to_unit(p[0]), self.convert_si_to_unit(p[1] * abs(1 / cos(self.x_angle)))) - for p in self.polyline - ] - else: - points = [(self.convert_si_to_unit(p[0]), self.convert_si_to_unit(p[1])) for p in self.polyline] - + points = [ + (self.convert_si_to_unit(p[0]), self.convert_si_to_unit(p[1] * abs(1 / cos(self.x_angle)))) + for p in self.polyline + ] if self.file.schema == "IFC2X3": curve = self.file.createIfcPolyline([self.file.createIfcCartesianPoint(p) for p in points]) else: @@ -119,23 +114,21 @@ class Usecase: else: direction_ratios = (0.0, 0.0, 1.0) + offset_direction = direction_ratios # offset direction doesn't change if direction_sense is negative extrusion_direction = self.file.createIfcDirection(direction_ratios) + if self.direction_sense == "NEGATIVE": + direction_ratios = tuple(-n for n in direction_ratios) + extrusion_direction = self.file.createIfcDirection(direction_ratios) - # Calculate depth based on extrusion angle - extrusion_angle = abs(self.x_angle) if self.x_angle else 0 - if extrusion_angle > 1e-6: - perpendicular_depth = self.convert_si_to_unit(self.depth) * abs(1 / cos(extrusion_angle)) - perpendicular_offset = self.convert_si_to_unit(self.offset) * abs(1 / cos(extrusion_angle)) - else: - perpendicular_depth = self.convert_si_to_unit(self.depth) - perpendicular_offset = self.convert_si_to_unit(self.offset) - + perpendicular_offset = self.convert_si_to_unit(self.offset) * abs(1 / cos(self.x_angle)) + perpendicular_depth = self.convert_si_to_unit(self.depth) * abs(1 / cos(self.x_angle)) position = None + # default position for IFC2X3 where .Position is not optional if self.file.schema == "IFC2X3" or self.offset != 0: position_vector = ( - direction_ratios[0] * perpendicular_offset, - direction_ratios[1] * perpendicular_offset, - direction_ratios[2] * perpendicular_offset, + offset_direction[0] * perpendicular_offset, + offset_direction[1] * perpendicular_offset, + offset_direction[2] * perpendicular_offset, ) position = self.file.createIfcAxis2Placement3D( self.file.createIfcCartesianPoint(position_vector), diff --git a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_wall_representation.py b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_wall_representation.py index 69f9a82fa7..ff62bae474 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/geometry/add_wall_representation.py +++ b/src/ifcopenshell-python/ifcopenshell/api/geometry/add_wall_representation.py @@ -85,6 +85,7 @@ class Usecase: def create_item(self) -> ifcopenshell.entity_instance: length = self.convert_si_to_unit(self.settings["length"]) thickness = self.convert_si_to_unit(self.settings["thickness"]) + thickness *= 1 / cos(self.settings["x_angle"]) if self.settings["direction_sense"] == "NEGATIVE": thickness *= -1 points = ( @@ -112,7 +113,7 @@ class Usecase: self.file.createIfcDirection((1.0, 0.0, 0.0)), ), extrusion_direction, - self.convert_si_to_unit(self.settings["height"]), + self.convert_si_to_unit(self.settings["height"]) * abs(1 / cos(self.settings["x_angle"])), ) if self.settings["booleans"]: extrusion = self.apply_booleans(extrusion) diff --git a/src/ifcopenshell-python/ifcopenshell/api/project/append_asset.py b/src/ifcopenshell-python/ifcopenshell/api/project/append_asset.py index 893b32cc02..0a5aee0e1c 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/project/append_asset.py +++ b/src/ifcopenshell-python/ifcopenshell/api/project/append_asset.py @@ -381,6 +381,7 @@ class Usecase: def append_type_product(self): self.whitelisted_inverse_attributes = { "IfcObjectDefinition": ["HasAssociations"], + "IfcDistributionElementType": ["IsNestedBy"], self.base_material_class: ["HasExternalReferences", "HasProperties", "HasRepresentation"], "IfcRepresentationItem": ["StyledByItem", "LayerAssignment"], "IfcRepresentation": ["LayerAssignments"], @@ -397,6 +398,7 @@ class Usecase: "IfcObjectDefinition": ["HasAssociations"], "IfcObject": ["IsDefinedBy.IfcRelDefinesByProperties"], "IfcElement": ["HasOpenings"], + "IfcDistributionElement": ["IsNestedBy"], self.base_material_class: ["HasExternalReferences", "HasProperties", "HasRepresentation"], "IfcRepresentationItem": [ "StyledByItem", @@ -569,6 +571,8 @@ class Usecase: return False elif element.is_a("IfcRoot") and self.by_guid(element.GlobalId) is not None: return False + elif element.is_a("IfcDistributionPort"): + return False elif element.is_a(self.target_class): return True elif self.target_class == "IfcProduct" and element.is_a("IfcTypeProduct"): diff --git a/src/ifcopenshell-python/ifcopenshell/api/system/disconnect_port.py b/src/ifcopenshell-python/ifcopenshell/api/system/disconnect_port.py index 7ae790e753..b6b72a192b 100644 --- a/src/ifcopenshell-python/ifcopenshell/api/system/disconnect_port.py +++ b/src/ifcopenshell-python/ifcopenshell/api/system/disconnect_port.py @@ -65,8 +65,6 @@ def disconnect_port(file: ifcopenshell.file, port: ifcopenshell.entity_instance) rels += port.ConnectedFrom or () for rel in rels: - rel.RelatingPort.FlowDirection = None - rel.RelatedPort.FlowDirection = None history = rel.OwnerHistory file.remove(rel) if history: diff --git a/src/ifcopenshell-python/ifcopenshell/express/rule_compiler.py b/src/ifcopenshell-python/ifcopenshell/express/rule_compiler.py index 545d68c50a..41fc6764c1 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/rule_compiler.py +++ b/src/ifcopenshell-python/ifcopenshell/express/rule_compiler.py @@ -750,6 +750,14 @@ class AttributeGetattrTransformer(ast.NodeTransformer): if node.attr == "create_entity": return node + if node.attr.startswith("__"): + return node + + # Don't rewrite at module scope (top-level, no indent) + enclosing_stmt = next((p for p in parents if isinstance(p, ast.stmt)), None) + if enclosing_stmt is not None and isinstance(getattr(enclosing_stmt, "parent", None), ast.Module): + return node + new_value = self.visit(node.value) # Replace the Attribute node with a call to the built-in `getattr` function @@ -842,18 +850,21 @@ if __name__ == "__main__": print( """ +def is_indeterminate(v): + return v is None or type(v).__name__ == 'indeterminate_type' + def exists(v): if callable(v): try: return v() is not None except IndexError as e: return False - else: return v is not None + else: return not is_indeterminate(v) """, "\n", file=output, sep="\n", ) print( - "def nvl(v, default): return v if v is not None else default", + "def nvl(v, default): return v if not is_indeterminate(v) else default", "\n", file=output, sep="\n", @@ -871,14 +882,14 @@ def is_entity(inst): def express_len(v): if isinstance(v, ifcopenshell.entity_instance) and not is_entity(v): v = v[0] - elif v is None or v is INDETERMINATE: + elif is_indeterminate(v): return INDETERMINATE return len(v) old_range = range def range(*args): - if INDETERMINATE in args: + if any(map(is_indeterminate, args)): return yield from old_range(*args) diff --git a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC2X3.py b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC2X3.py index e5ddfdad00..33f8b79c6f 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC2X3.py +++ b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC2X3.py @@ -1,5 +1,8 @@ import ifcopenshell +def is_indeterminate(v): + return v is None or type(v).__name__ == 'indeterminate_type' + def exists(v): if callable(v): try: @@ -7,10 +10,10 @@ def exists(v): except IndexError as e: return False else: - return v is not None + return not is_indeterminate(v) def nvl(v, default): - return v if v is not None else default + return v if not is_indeterminate(v) else default def is_entity(inst): if isinstance(inst, ifcopenshell.entity_instance): @@ -22,13 +25,13 @@ def is_entity(inst): def express_len(v): if isinstance(v, ifcopenshell.entity_instance) and (not is_entity(v)): v = v[0] - elif v is None or v is INDETERMINATE: + elif is_indeterminate(v): return INDETERMINATE return len(v) old_range = range def range(*args): - if INDETERMINATE in args: + if any(map(is_indeterminate, args)): return yield from old_range(*args) sizeof = express_len @@ -149,1479 +152,1479 @@ class enum_namespace: def __getattr__(self, k): return express_getattr(k, 'upper', INDETERMINATE)() IfcActionSourceTypeEnum = enum_namespace() -dead_load_g = express_getattr(IfcActionSourceTypeEnum, 'DEAD_LOAD_G', INDETERMINATE) -completion_g1 = express_getattr(IfcActionSourceTypeEnum, 'COMPLETION_G1', INDETERMINATE) -live_load_q = express_getattr(IfcActionSourceTypeEnum, 'LIVE_LOAD_Q', INDETERMINATE) -snow_s = express_getattr(IfcActionSourceTypeEnum, 'SNOW_S', INDETERMINATE) -wind_w = express_getattr(IfcActionSourceTypeEnum, 'WIND_W', INDETERMINATE) -prestressing_p = express_getattr(IfcActionSourceTypeEnum, 'PRESTRESSING_P', INDETERMINATE) -settlement_u = express_getattr(IfcActionSourceTypeEnum, 'SETTLEMENT_U', INDETERMINATE) -temperature_t = express_getattr(IfcActionSourceTypeEnum, 'TEMPERATURE_T', INDETERMINATE) -earthquake_e = express_getattr(IfcActionSourceTypeEnum, 'EARTHQUAKE_E', INDETERMINATE) -fire = express_getattr(IfcActionSourceTypeEnum, 'FIRE', INDETERMINATE) -impulse = express_getattr(IfcActionSourceTypeEnum, 'IMPULSE', INDETERMINATE) -impact = express_getattr(IfcActionSourceTypeEnum, 'IMPACT', INDETERMINATE) -transport = express_getattr(IfcActionSourceTypeEnum, 'TRANSPORT', INDETERMINATE) -erection = express_getattr(IfcActionSourceTypeEnum, 'ERECTION', INDETERMINATE) -propping = express_getattr(IfcActionSourceTypeEnum, 'PROPPING', INDETERMINATE) -system_imperfection = express_getattr(IfcActionSourceTypeEnum, 'SYSTEM_IMPERFECTION', INDETERMINATE) -shrinkage = express_getattr(IfcActionSourceTypeEnum, 'SHRINKAGE', INDETERMINATE) -creep = express_getattr(IfcActionSourceTypeEnum, 'CREEP', INDETERMINATE) -lack_of_fit = express_getattr(IfcActionSourceTypeEnum, 'LACK_OF_FIT', INDETERMINATE) -buoyancy = express_getattr(IfcActionSourceTypeEnum, 'BUOYANCY', INDETERMINATE) -ice = express_getattr(IfcActionSourceTypeEnum, 'ICE', INDETERMINATE) -current = express_getattr(IfcActionSourceTypeEnum, 'CURRENT', INDETERMINATE) -wave = express_getattr(IfcActionSourceTypeEnum, 'WAVE', INDETERMINATE) -rain = express_getattr(IfcActionSourceTypeEnum, 'RAIN', INDETERMINATE) -brakes = express_getattr(IfcActionSourceTypeEnum, 'BRAKES', INDETERMINATE) -userdefined = express_getattr(IfcActionSourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionSourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +dead_load_g = IfcActionSourceTypeEnum.DEAD_LOAD_G +completion_g1 = IfcActionSourceTypeEnum.COMPLETION_G1 +live_load_q = IfcActionSourceTypeEnum.LIVE_LOAD_Q +snow_s = IfcActionSourceTypeEnum.SNOW_S +wind_w = IfcActionSourceTypeEnum.WIND_W +prestressing_p = IfcActionSourceTypeEnum.PRESTRESSING_P +settlement_u = IfcActionSourceTypeEnum.SETTLEMENT_U +temperature_t = IfcActionSourceTypeEnum.TEMPERATURE_T +earthquake_e = IfcActionSourceTypeEnum.EARTHQUAKE_E +fire = IfcActionSourceTypeEnum.FIRE +impulse = IfcActionSourceTypeEnum.IMPULSE +impact = IfcActionSourceTypeEnum.IMPACT +transport = IfcActionSourceTypeEnum.TRANSPORT +erection = IfcActionSourceTypeEnum.ERECTION +propping = IfcActionSourceTypeEnum.PROPPING +system_imperfection = IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION +shrinkage = IfcActionSourceTypeEnum.SHRINKAGE +creep = IfcActionSourceTypeEnum.CREEP +lack_of_fit = IfcActionSourceTypeEnum.LACK_OF_FIT +buoyancy = IfcActionSourceTypeEnum.BUOYANCY +ice = IfcActionSourceTypeEnum.ICE +current = IfcActionSourceTypeEnum.CURRENT +wave = IfcActionSourceTypeEnum.WAVE +rain = IfcActionSourceTypeEnum.RAIN +brakes = IfcActionSourceTypeEnum.BRAKES +userdefined = IfcActionSourceTypeEnum.USERDEFINED +notdefined = IfcActionSourceTypeEnum.NOTDEFINED IfcActionTypeEnum = enum_namespace() -permanent_g = express_getattr(IfcActionTypeEnum, 'PERMANENT_G', INDETERMINATE) -variable_q = express_getattr(IfcActionTypeEnum, 'VARIABLE_Q', INDETERMINATE) -extraordinary_a = express_getattr(IfcActionTypeEnum, 'EXTRAORDINARY_A', INDETERMINATE) -userdefined = express_getattr(IfcActionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionTypeEnum, 'NOTDEFINED', INDETERMINATE) +permanent_g = IfcActionTypeEnum.PERMANENT_G +variable_q = IfcActionTypeEnum.VARIABLE_Q +extraordinary_a = IfcActionTypeEnum.EXTRAORDINARY_A +userdefined = IfcActionTypeEnum.USERDEFINED +notdefined = IfcActionTypeEnum.NOTDEFINED IfcActuatorTypeEnum = enum_namespace() -electricactuator = express_getattr(IfcActuatorTypeEnum, 'ELECTRICACTUATOR', INDETERMINATE) -handoperatedactuator = express_getattr(IfcActuatorTypeEnum, 'HANDOPERATEDACTUATOR', INDETERMINATE) -hydraulicactuator = express_getattr(IfcActuatorTypeEnum, 'HYDRAULICACTUATOR', INDETERMINATE) -pneumaticactuator = express_getattr(IfcActuatorTypeEnum, 'PNEUMATICACTUATOR', INDETERMINATE) -thermostaticactuator = express_getattr(IfcActuatorTypeEnum, 'THERMOSTATICACTUATOR', INDETERMINATE) -userdefined = express_getattr(IfcActuatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActuatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +electricactuator = IfcActuatorTypeEnum.ELECTRICACTUATOR +handoperatedactuator = IfcActuatorTypeEnum.HANDOPERATEDACTUATOR +hydraulicactuator = IfcActuatorTypeEnum.HYDRAULICACTUATOR +pneumaticactuator = IfcActuatorTypeEnum.PNEUMATICACTUATOR +thermostaticactuator = IfcActuatorTypeEnum.THERMOSTATICACTUATOR +userdefined = IfcActuatorTypeEnum.USERDEFINED +notdefined = IfcActuatorTypeEnum.NOTDEFINED IfcAddressTypeEnum = enum_namespace() -office = express_getattr(IfcAddressTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcAddressTypeEnum, 'SITE', INDETERMINATE) -home = express_getattr(IfcAddressTypeEnum, 'HOME', INDETERMINATE) -distributionpoint = express_getattr(IfcAddressTypeEnum, 'DISTRIBUTIONPOINT', INDETERMINATE) -userdefined = express_getattr(IfcAddressTypeEnum, 'USERDEFINED', INDETERMINATE) +office = IfcAddressTypeEnum.OFFICE +site = IfcAddressTypeEnum.SITE +home = IfcAddressTypeEnum.HOME +distributionpoint = IfcAddressTypeEnum.DISTRIBUTIONPOINT +userdefined = IfcAddressTypeEnum.USERDEFINED IfcAheadOrBehind = enum_namespace() -ahead = express_getattr(IfcAheadOrBehind, 'AHEAD', INDETERMINATE) -behind = express_getattr(IfcAheadOrBehind, 'BEHIND', INDETERMINATE) +ahead = IfcAheadOrBehind.AHEAD +behind = IfcAheadOrBehind.BEHIND IfcAirTerminalBoxTypeEnum = enum_namespace() -constantflow = express_getattr(IfcAirTerminalBoxTypeEnum, 'CONSTANTFLOW', INDETERMINATE) -variableflowpressuredependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREDEPENDANT', INDETERMINATE) -variableflowpressureindependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREINDEPENDANT', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +constantflow = IfcAirTerminalBoxTypeEnum.CONSTANTFLOW +variableflowpressuredependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT +variableflowpressureindependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT +userdefined = IfcAirTerminalBoxTypeEnum.USERDEFINED +notdefined = IfcAirTerminalBoxTypeEnum.NOTDEFINED IfcAirTerminalTypeEnum = enum_namespace() -grille = express_getattr(IfcAirTerminalTypeEnum, 'GRILLE', INDETERMINATE) -register = express_getattr(IfcAirTerminalTypeEnum, 'REGISTER', INDETERMINATE) -diffuser = express_getattr(IfcAirTerminalTypeEnum, 'DIFFUSER', INDETERMINATE) -eyeball = express_getattr(IfcAirTerminalTypeEnum, 'EYEBALL', INDETERMINATE) -iris = express_getattr(IfcAirTerminalTypeEnum, 'IRIS', INDETERMINATE) -lineargrille = express_getattr(IfcAirTerminalTypeEnum, 'LINEARGRILLE', INDETERMINATE) -lineardiffuser = express_getattr(IfcAirTerminalTypeEnum, 'LINEARDIFFUSER', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +grille = IfcAirTerminalTypeEnum.GRILLE +register = IfcAirTerminalTypeEnum.REGISTER +diffuser = IfcAirTerminalTypeEnum.DIFFUSER +eyeball = IfcAirTerminalTypeEnum.EYEBALL +iris = IfcAirTerminalTypeEnum.IRIS +lineargrille = IfcAirTerminalTypeEnum.LINEARGRILLE +lineardiffuser = IfcAirTerminalTypeEnum.LINEARDIFFUSER +userdefined = IfcAirTerminalTypeEnum.USERDEFINED +notdefined = IfcAirTerminalTypeEnum.NOTDEFINED IfcAirToAirHeatRecoveryTypeEnum = enum_namespace() -fixedplatecounterflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECOUNTERFLOWEXCHANGER', INDETERMINATE) -fixedplatecrossflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECROSSFLOWEXCHANGER', INDETERMINATE) -fixedplateparallelflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATEPARALLELFLOWEXCHANGER', INDETERMINATE) -rotarywheel = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'ROTARYWHEEL', INDETERMINATE) -runaroundcoilloop = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'RUNAROUNDCOILLOOP', INDETERMINATE) -heatpipe = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'HEATPIPE', INDETERMINATE) -twintowerenthalpyrecoveryloops = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'TWINTOWERENTHALPYRECOVERYLOOPS', INDETERMINATE) -thermosiphonsealedtubeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONSEALEDTUBEHEATEXCHANGERS', INDETERMINATE) -thermosiphoncoiltypeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONCOILTYPEHEATEXCHANGERS', INDETERMINATE) -userdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'NOTDEFINED', INDETERMINATE) +fixedplatecounterflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER +fixedplatecrossflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER +fixedplateparallelflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER +rotarywheel = IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL +runaroundcoilloop = IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP +heatpipe = IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE +twintowerenthalpyrecoveryloops = IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS +thermosiphonsealedtubeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS +thermosiphoncoiltypeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS +userdefined = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED +notdefined = IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED IfcAlarmTypeEnum = enum_namespace() -bell = express_getattr(IfcAlarmTypeEnum, 'BELL', INDETERMINATE) -breakglassbutton = express_getattr(IfcAlarmTypeEnum, 'BREAKGLASSBUTTON', INDETERMINATE) -light = express_getattr(IfcAlarmTypeEnum, 'LIGHT', INDETERMINATE) -manualpullbox = express_getattr(IfcAlarmTypeEnum, 'MANUALPULLBOX', INDETERMINATE) -siren = express_getattr(IfcAlarmTypeEnum, 'SIREN', INDETERMINATE) -whistle = express_getattr(IfcAlarmTypeEnum, 'WHISTLE', INDETERMINATE) -userdefined = express_getattr(IfcAlarmTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlarmTypeEnum, 'NOTDEFINED', INDETERMINATE) +bell = IfcAlarmTypeEnum.BELL +breakglassbutton = IfcAlarmTypeEnum.BREAKGLASSBUTTON +light = IfcAlarmTypeEnum.LIGHT +manualpullbox = IfcAlarmTypeEnum.MANUALPULLBOX +siren = IfcAlarmTypeEnum.SIREN +whistle = IfcAlarmTypeEnum.WHISTLE +userdefined = IfcAlarmTypeEnum.USERDEFINED +notdefined = IfcAlarmTypeEnum.NOTDEFINED IfcAnalysisModelTypeEnum = enum_namespace() -in_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'IN_PLANE_LOADING_2D', INDETERMINATE) -out_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'OUT_PLANE_LOADING_2D', INDETERMINATE) -loading_3d = express_getattr(IfcAnalysisModelTypeEnum, 'LOADING_3D', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisModelTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisModelTypeEnum, 'NOTDEFINED', INDETERMINATE) +in_plane_loading_2d = IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D +out_plane_loading_2d = IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D +loading_3d = IfcAnalysisModelTypeEnum.LOADING_3D +userdefined = IfcAnalysisModelTypeEnum.USERDEFINED +notdefined = IfcAnalysisModelTypeEnum.NOTDEFINED IfcAnalysisTheoryTypeEnum = enum_namespace() -first_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FIRST_ORDER_THEORY', INDETERMINATE) -second_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'SECOND_ORDER_THEORY', INDETERMINATE) -third_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'THIRD_ORDER_THEORY', INDETERMINATE) -full_nonlinear_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FULL_NONLINEAR_THEORY', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +first_order_theory = IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY +second_order_theory = IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY +third_order_theory = IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY +full_nonlinear_theory = IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY +userdefined = IfcAnalysisTheoryTypeEnum.USERDEFINED +notdefined = IfcAnalysisTheoryTypeEnum.NOTDEFINED IfcArithmeticOperatorEnum = enum_namespace() -add = express_getattr(IfcArithmeticOperatorEnum, 'ADD', INDETERMINATE) -divide = express_getattr(IfcArithmeticOperatorEnum, 'DIVIDE', INDETERMINATE) -multiply = express_getattr(IfcArithmeticOperatorEnum, 'MULTIPLY', INDETERMINATE) -subtract = express_getattr(IfcArithmeticOperatorEnum, 'SUBTRACT', INDETERMINATE) +add = IfcArithmeticOperatorEnum.ADD +divide = IfcArithmeticOperatorEnum.DIVIDE +multiply = IfcArithmeticOperatorEnum.MULTIPLY +subtract = IfcArithmeticOperatorEnum.SUBTRACT IfcAssemblyPlaceEnum = enum_namespace() -site = express_getattr(IfcAssemblyPlaceEnum, 'SITE', INDETERMINATE) -factory = express_getattr(IfcAssemblyPlaceEnum, 'FACTORY', INDETERMINATE) -notdefined = express_getattr(IfcAssemblyPlaceEnum, 'NOTDEFINED', INDETERMINATE) +site = IfcAssemblyPlaceEnum.SITE +factory = IfcAssemblyPlaceEnum.FACTORY +notdefined = IfcAssemblyPlaceEnum.NOTDEFINED IfcBSplineCurveForm = enum_namespace() -polyline_form = express_getattr(IfcBSplineCurveForm, 'POLYLINE_FORM', INDETERMINATE) -circular_arc = express_getattr(IfcBSplineCurveForm, 'CIRCULAR_ARC', INDETERMINATE) -elliptic_arc = express_getattr(IfcBSplineCurveForm, 'ELLIPTIC_ARC', INDETERMINATE) -parabolic_arc = express_getattr(IfcBSplineCurveForm, 'PARABOLIC_ARC', INDETERMINATE) -hyperbolic_arc = express_getattr(IfcBSplineCurveForm, 'HYPERBOLIC_ARC', INDETERMINATE) -unspecified = express_getattr(IfcBSplineCurveForm, 'UNSPECIFIED', INDETERMINATE) +polyline_form = IfcBSplineCurveForm.POLYLINE_FORM +circular_arc = IfcBSplineCurveForm.CIRCULAR_ARC +elliptic_arc = IfcBSplineCurveForm.ELLIPTIC_ARC +parabolic_arc = IfcBSplineCurveForm.PARABOLIC_ARC +hyperbolic_arc = IfcBSplineCurveForm.HYPERBOLIC_ARC +unspecified = IfcBSplineCurveForm.UNSPECIFIED IfcBeamTypeEnum = enum_namespace() -beam = express_getattr(IfcBeamTypeEnum, 'BEAM', INDETERMINATE) -joist = express_getattr(IfcBeamTypeEnum, 'JOIST', INDETERMINATE) -lintel = express_getattr(IfcBeamTypeEnum, 'LINTEL', INDETERMINATE) -t_beam = express_getattr(IfcBeamTypeEnum, 'T_BEAM', INDETERMINATE) -userdefined = express_getattr(IfcBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +beam = IfcBeamTypeEnum.BEAM +joist = IfcBeamTypeEnum.JOIST +lintel = IfcBeamTypeEnum.LINTEL +t_beam = IfcBeamTypeEnum.T_BEAM +userdefined = IfcBeamTypeEnum.USERDEFINED +notdefined = IfcBeamTypeEnum.NOTDEFINED IfcBenchmarkEnum = enum_namespace() -greaterthan = express_getattr(IfcBenchmarkEnum, 'GREATERTHAN', INDETERMINATE) -greaterthanorequalto = express_getattr(IfcBenchmarkEnum, 'GREATERTHANOREQUALTO', INDETERMINATE) -lessthan = express_getattr(IfcBenchmarkEnum, 'LESSTHAN', INDETERMINATE) -lessthanorequalto = express_getattr(IfcBenchmarkEnum, 'LESSTHANOREQUALTO', INDETERMINATE) -equalto = express_getattr(IfcBenchmarkEnum, 'EQUALTO', INDETERMINATE) -notequalto = express_getattr(IfcBenchmarkEnum, 'NOTEQUALTO', INDETERMINATE) +greaterthan = IfcBenchmarkEnum.GREATERTHAN +greaterthanorequalto = IfcBenchmarkEnum.GREATERTHANOREQUALTO +lessthan = IfcBenchmarkEnum.LESSTHAN +lessthanorequalto = IfcBenchmarkEnum.LESSTHANOREQUALTO +equalto = IfcBenchmarkEnum.EQUALTO +notequalto = IfcBenchmarkEnum.NOTEQUALTO IfcBoilerTypeEnum = enum_namespace() -water = express_getattr(IfcBoilerTypeEnum, 'WATER', INDETERMINATE) -steam = express_getattr(IfcBoilerTypeEnum, 'STEAM', INDETERMINATE) -userdefined = express_getattr(IfcBoilerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBoilerTypeEnum, 'NOTDEFINED', INDETERMINATE) +water = IfcBoilerTypeEnum.WATER +steam = IfcBoilerTypeEnum.STEAM +userdefined = IfcBoilerTypeEnum.USERDEFINED +notdefined = IfcBoilerTypeEnum.NOTDEFINED IfcBooleanOperator = enum_namespace() -union = express_getattr(IfcBooleanOperator, 'UNION', INDETERMINATE) -intersection = express_getattr(IfcBooleanOperator, 'INTERSECTION', INDETERMINATE) -difference = express_getattr(IfcBooleanOperator, 'DIFFERENCE', INDETERMINATE) +union = IfcBooleanOperator.UNION +intersection = IfcBooleanOperator.INTERSECTION +difference = IfcBooleanOperator.DIFFERENCE IfcBuildingElementProxyTypeEnum = enum_namespace() -userdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcBuildingElementProxyTypeEnum.USERDEFINED +notdefined = IfcBuildingElementProxyTypeEnum.NOTDEFINED IfcCableCarrierFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcCableCarrierFittingTypeEnum, 'BEND', INDETERMINATE) -cross = express_getattr(IfcCableCarrierFittingTypeEnum, 'CROSS', INDETERMINATE) -reducer = express_getattr(IfcCableCarrierFittingTypeEnum, 'REDUCER', INDETERMINATE) -tee = express_getattr(IfcCableCarrierFittingTypeEnum, 'TEE', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcCableCarrierFittingTypeEnum.BEND +cross = IfcCableCarrierFittingTypeEnum.CROSS +reducer = IfcCableCarrierFittingTypeEnum.REDUCER +tee = IfcCableCarrierFittingTypeEnum.TEE +userdefined = IfcCableCarrierFittingTypeEnum.USERDEFINED +notdefined = IfcCableCarrierFittingTypeEnum.NOTDEFINED IfcCableCarrierSegmentTypeEnum = enum_namespace() -cableladdersegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLELADDERSEGMENT', INDETERMINATE) -cabletraysegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRAYSEGMENT', INDETERMINATE) -cabletrunkingsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRUNKINGSEGMENT', INDETERMINATE) -conduitsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CONDUITSEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +cableladdersegment = IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT +cabletraysegment = IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT +cabletrunkingsegment = IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT +conduitsegment = IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT +userdefined = IfcCableCarrierSegmentTypeEnum.USERDEFINED +notdefined = IfcCableCarrierSegmentTypeEnum.NOTDEFINED IfcCableSegmentTypeEnum = enum_namespace() -cablesegment = express_getattr(IfcCableSegmentTypeEnum, 'CABLESEGMENT', INDETERMINATE) -conductorsegment = express_getattr(IfcCableSegmentTypeEnum, 'CONDUCTORSEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcCableSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +cablesegment = IfcCableSegmentTypeEnum.CABLESEGMENT +conductorsegment = IfcCableSegmentTypeEnum.CONDUCTORSEGMENT +userdefined = IfcCableSegmentTypeEnum.USERDEFINED +notdefined = IfcCableSegmentTypeEnum.NOTDEFINED IfcChangeActionEnum = enum_namespace() -nochange = express_getattr(IfcChangeActionEnum, 'NOCHANGE', INDETERMINATE) -modified = express_getattr(IfcChangeActionEnum, 'MODIFIED', INDETERMINATE) -added = express_getattr(IfcChangeActionEnum, 'ADDED', INDETERMINATE) -deleted = express_getattr(IfcChangeActionEnum, 'DELETED', INDETERMINATE) -modifiedadded = express_getattr(IfcChangeActionEnum, 'MODIFIEDADDED', INDETERMINATE) -modifieddeleted = express_getattr(IfcChangeActionEnum, 'MODIFIEDDELETED', INDETERMINATE) +nochange = IfcChangeActionEnum.NOCHANGE +modified = IfcChangeActionEnum.MODIFIED +added = IfcChangeActionEnum.ADDED +deleted = IfcChangeActionEnum.DELETED +modifiedadded = IfcChangeActionEnum.MODIFIEDADDED +modifieddeleted = IfcChangeActionEnum.MODIFIEDDELETED IfcChillerTypeEnum = enum_namespace() -aircooled = express_getattr(IfcChillerTypeEnum, 'AIRCOOLED', INDETERMINATE) -watercooled = express_getattr(IfcChillerTypeEnum, 'WATERCOOLED', INDETERMINATE) -heatrecovery = express_getattr(IfcChillerTypeEnum, 'HEATRECOVERY', INDETERMINATE) -userdefined = express_getattr(IfcChillerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChillerTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcChillerTypeEnum.AIRCOOLED +watercooled = IfcChillerTypeEnum.WATERCOOLED +heatrecovery = IfcChillerTypeEnum.HEATRECOVERY +userdefined = IfcChillerTypeEnum.USERDEFINED +notdefined = IfcChillerTypeEnum.NOTDEFINED IfcCoilTypeEnum = enum_namespace() -dxcoolingcoil = express_getattr(IfcCoilTypeEnum, 'DXCOOLINGCOIL', INDETERMINATE) -watercoolingcoil = express_getattr(IfcCoilTypeEnum, 'WATERCOOLINGCOIL', INDETERMINATE) -steamheatingcoil = express_getattr(IfcCoilTypeEnum, 'STEAMHEATINGCOIL', INDETERMINATE) -waterheatingcoil = express_getattr(IfcCoilTypeEnum, 'WATERHEATINGCOIL', INDETERMINATE) -electricheatingcoil = express_getattr(IfcCoilTypeEnum, 'ELECTRICHEATINGCOIL', INDETERMINATE) -gasheatingcoil = express_getattr(IfcCoilTypeEnum, 'GASHEATINGCOIL', INDETERMINATE) -userdefined = express_getattr(IfcCoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +dxcoolingcoil = IfcCoilTypeEnum.DXCOOLINGCOIL +watercoolingcoil = IfcCoilTypeEnum.WATERCOOLINGCOIL +steamheatingcoil = IfcCoilTypeEnum.STEAMHEATINGCOIL +waterheatingcoil = IfcCoilTypeEnum.WATERHEATINGCOIL +electricheatingcoil = IfcCoilTypeEnum.ELECTRICHEATINGCOIL +gasheatingcoil = IfcCoilTypeEnum.GASHEATINGCOIL +userdefined = IfcCoilTypeEnum.USERDEFINED +notdefined = IfcCoilTypeEnum.NOTDEFINED IfcColumnTypeEnum = enum_namespace() -column = express_getattr(IfcColumnTypeEnum, 'COLUMN', INDETERMINATE) -userdefined = express_getattr(IfcColumnTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcColumnTypeEnum, 'NOTDEFINED', INDETERMINATE) +column = IfcColumnTypeEnum.COLUMN +userdefined = IfcColumnTypeEnum.USERDEFINED +notdefined = IfcColumnTypeEnum.NOTDEFINED IfcCompressorTypeEnum = enum_namespace() -dynamic = express_getattr(IfcCompressorTypeEnum, 'DYNAMIC', INDETERMINATE) -reciprocating = express_getattr(IfcCompressorTypeEnum, 'RECIPROCATING', INDETERMINATE) -rotary = express_getattr(IfcCompressorTypeEnum, 'ROTARY', INDETERMINATE) -scroll = express_getattr(IfcCompressorTypeEnum, 'SCROLL', INDETERMINATE) -trochoidal = express_getattr(IfcCompressorTypeEnum, 'TROCHOIDAL', INDETERMINATE) -singlestage = express_getattr(IfcCompressorTypeEnum, 'SINGLESTAGE', INDETERMINATE) -booster = express_getattr(IfcCompressorTypeEnum, 'BOOSTER', INDETERMINATE) -opentype = express_getattr(IfcCompressorTypeEnum, 'OPENTYPE', INDETERMINATE) -hermetic = express_getattr(IfcCompressorTypeEnum, 'HERMETIC', INDETERMINATE) -semihermetic = express_getattr(IfcCompressorTypeEnum, 'SEMIHERMETIC', INDETERMINATE) -weldedshellhermetic = express_getattr(IfcCompressorTypeEnum, 'WELDEDSHELLHERMETIC', INDETERMINATE) -rollingpiston = express_getattr(IfcCompressorTypeEnum, 'ROLLINGPISTON', INDETERMINATE) -rotaryvane = express_getattr(IfcCompressorTypeEnum, 'ROTARYVANE', INDETERMINATE) -singlescrew = express_getattr(IfcCompressorTypeEnum, 'SINGLESCREW', INDETERMINATE) -twinscrew = express_getattr(IfcCompressorTypeEnum, 'TWINSCREW', INDETERMINATE) -userdefined = express_getattr(IfcCompressorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCompressorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dynamic = IfcCompressorTypeEnum.DYNAMIC +reciprocating = IfcCompressorTypeEnum.RECIPROCATING +rotary = IfcCompressorTypeEnum.ROTARY +scroll = IfcCompressorTypeEnum.SCROLL +trochoidal = IfcCompressorTypeEnum.TROCHOIDAL +singlestage = IfcCompressorTypeEnum.SINGLESTAGE +booster = IfcCompressorTypeEnum.BOOSTER +opentype = IfcCompressorTypeEnum.OPENTYPE +hermetic = IfcCompressorTypeEnum.HERMETIC +semihermetic = IfcCompressorTypeEnum.SEMIHERMETIC +weldedshellhermetic = IfcCompressorTypeEnum.WELDEDSHELLHERMETIC +rollingpiston = IfcCompressorTypeEnum.ROLLINGPISTON +rotaryvane = IfcCompressorTypeEnum.ROTARYVANE +singlescrew = IfcCompressorTypeEnum.SINGLESCREW +twinscrew = IfcCompressorTypeEnum.TWINSCREW +userdefined = IfcCompressorTypeEnum.USERDEFINED +notdefined = IfcCompressorTypeEnum.NOTDEFINED IfcCondenserTypeEnum = enum_namespace() -watercooledshelltube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLTUBE', INDETERMINATE) -watercooledshellcoil = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLCOIL', INDETERMINATE) -watercooledtubeintube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDTUBEINTUBE', INDETERMINATE) -watercooledbrazedplate = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDBRAZEDPLATE', INDETERMINATE) -aircooled = express_getattr(IfcCondenserTypeEnum, 'AIRCOOLED', INDETERMINATE) -evaporativecooled = express_getattr(IfcCondenserTypeEnum, 'EVAPORATIVECOOLED', INDETERMINATE) -userdefined = express_getattr(IfcCondenserTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCondenserTypeEnum, 'NOTDEFINED', INDETERMINATE) +watercooledshelltube = IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE +watercooledshellcoil = IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL +watercooledtubeintube = IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE +watercooledbrazedplate = IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE +aircooled = IfcCondenserTypeEnum.AIRCOOLED +evaporativecooled = IfcCondenserTypeEnum.EVAPORATIVECOOLED +userdefined = IfcCondenserTypeEnum.USERDEFINED +notdefined = IfcCondenserTypeEnum.NOTDEFINED IfcConnectionTypeEnum = enum_namespace() -atpath = express_getattr(IfcConnectionTypeEnum, 'ATPATH', INDETERMINATE) -atstart = express_getattr(IfcConnectionTypeEnum, 'ATSTART', INDETERMINATE) -atend = express_getattr(IfcConnectionTypeEnum, 'ATEND', INDETERMINATE) -notdefined = express_getattr(IfcConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +atpath = IfcConnectionTypeEnum.ATPATH +atstart = IfcConnectionTypeEnum.ATSTART +atend = IfcConnectionTypeEnum.ATEND +notdefined = IfcConnectionTypeEnum.NOTDEFINED IfcConstraintEnum = enum_namespace() -hard = express_getattr(IfcConstraintEnum, 'HARD', INDETERMINATE) -soft = express_getattr(IfcConstraintEnum, 'SOFT', INDETERMINATE) -advisory = express_getattr(IfcConstraintEnum, 'ADVISORY', INDETERMINATE) -userdefined = express_getattr(IfcConstraintEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstraintEnum, 'NOTDEFINED', INDETERMINATE) +hard = IfcConstraintEnum.HARD +soft = IfcConstraintEnum.SOFT +advisory = IfcConstraintEnum.ADVISORY +userdefined = IfcConstraintEnum.USERDEFINED +notdefined = IfcConstraintEnum.NOTDEFINED IfcControllerTypeEnum = enum_namespace() -floating = express_getattr(IfcControllerTypeEnum, 'FLOATING', INDETERMINATE) -proportional = express_getattr(IfcControllerTypeEnum, 'PROPORTIONAL', INDETERMINATE) -proportionalintegral = express_getattr(IfcControllerTypeEnum, 'PROPORTIONALINTEGRAL', INDETERMINATE) -proportionalintegralderivative = express_getattr(IfcControllerTypeEnum, 'PROPORTIONALINTEGRALDERIVATIVE', INDETERMINATE) -timedtwoposition = express_getattr(IfcControllerTypeEnum, 'TIMEDTWOPOSITION', INDETERMINATE) -twoposition = express_getattr(IfcControllerTypeEnum, 'TWOPOSITION', INDETERMINATE) -userdefined = express_getattr(IfcControllerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcControllerTypeEnum, 'NOTDEFINED', INDETERMINATE) +floating = IfcControllerTypeEnum.FLOATING +proportional = IfcControllerTypeEnum.PROPORTIONAL +proportionalintegral = IfcControllerTypeEnum.PROPORTIONALINTEGRAL +proportionalintegralderivative = IfcControllerTypeEnum.PROPORTIONALINTEGRALDERIVATIVE +timedtwoposition = IfcControllerTypeEnum.TIMEDTWOPOSITION +twoposition = IfcControllerTypeEnum.TWOPOSITION +userdefined = IfcControllerTypeEnum.USERDEFINED +notdefined = IfcControllerTypeEnum.NOTDEFINED IfcCooledBeamTypeEnum = enum_namespace() -active = express_getattr(IfcCooledBeamTypeEnum, 'ACTIVE', INDETERMINATE) -passive = express_getattr(IfcCooledBeamTypeEnum, 'PASSIVE', INDETERMINATE) -userdefined = express_getattr(IfcCooledBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCooledBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +active = IfcCooledBeamTypeEnum.ACTIVE +passive = IfcCooledBeamTypeEnum.PASSIVE +userdefined = IfcCooledBeamTypeEnum.USERDEFINED +notdefined = IfcCooledBeamTypeEnum.NOTDEFINED IfcCoolingTowerTypeEnum = enum_namespace() -naturaldraft = express_getattr(IfcCoolingTowerTypeEnum, 'NATURALDRAFT', INDETERMINATE) -mechanicalinduceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALINDUCEDDRAFT', INDETERMINATE) -mechanicalforceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALFORCEDDRAFT', INDETERMINATE) -userdefined = express_getattr(IfcCoolingTowerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoolingTowerTypeEnum, 'NOTDEFINED', INDETERMINATE) +naturaldraft = IfcCoolingTowerTypeEnum.NATURALDRAFT +mechanicalinduceddraft = IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT +mechanicalforceddraft = IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT +userdefined = IfcCoolingTowerTypeEnum.USERDEFINED +notdefined = IfcCoolingTowerTypeEnum.NOTDEFINED IfcCostScheduleTypeEnum = enum_namespace() -budget = express_getattr(IfcCostScheduleTypeEnum, 'BUDGET', INDETERMINATE) -costplan = express_getattr(IfcCostScheduleTypeEnum, 'COSTPLAN', INDETERMINATE) -estimate = express_getattr(IfcCostScheduleTypeEnum, 'ESTIMATE', INDETERMINATE) -tender = express_getattr(IfcCostScheduleTypeEnum, 'TENDER', INDETERMINATE) -pricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'PRICEDBILLOFQUANTITIES', INDETERMINATE) -unpricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'UNPRICEDBILLOFQUANTITIES', INDETERMINATE) -scheduleofrates = express_getattr(IfcCostScheduleTypeEnum, 'SCHEDULEOFRATES', INDETERMINATE) -userdefined = express_getattr(IfcCostScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +budget = IfcCostScheduleTypeEnum.BUDGET +costplan = IfcCostScheduleTypeEnum.COSTPLAN +estimate = IfcCostScheduleTypeEnum.ESTIMATE +tender = IfcCostScheduleTypeEnum.TENDER +pricedbillofquantities = IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES +unpricedbillofquantities = IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES +scheduleofrates = IfcCostScheduleTypeEnum.SCHEDULEOFRATES +userdefined = IfcCostScheduleTypeEnum.USERDEFINED +notdefined = IfcCostScheduleTypeEnum.NOTDEFINED IfcCoveringTypeEnum = enum_namespace() -ceiling = express_getattr(IfcCoveringTypeEnum, 'CEILING', INDETERMINATE) -flooring = express_getattr(IfcCoveringTypeEnum, 'FLOORING', INDETERMINATE) -cladding = express_getattr(IfcCoveringTypeEnum, 'CLADDING', INDETERMINATE) -roofing = express_getattr(IfcCoveringTypeEnum, 'ROOFING', INDETERMINATE) -insulation = express_getattr(IfcCoveringTypeEnum, 'INSULATION', INDETERMINATE) -membrane = express_getattr(IfcCoveringTypeEnum, 'MEMBRANE', INDETERMINATE) -sleeving = express_getattr(IfcCoveringTypeEnum, 'SLEEVING', INDETERMINATE) -wrapping = express_getattr(IfcCoveringTypeEnum, 'WRAPPING', INDETERMINATE) -userdefined = express_getattr(IfcCoveringTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoveringTypeEnum, 'NOTDEFINED', INDETERMINATE) +ceiling = IfcCoveringTypeEnum.CEILING +flooring = IfcCoveringTypeEnum.FLOORING +cladding = IfcCoveringTypeEnum.CLADDING +roofing = IfcCoveringTypeEnum.ROOFING +insulation = IfcCoveringTypeEnum.INSULATION +membrane = IfcCoveringTypeEnum.MEMBRANE +sleeving = IfcCoveringTypeEnum.SLEEVING +wrapping = IfcCoveringTypeEnum.WRAPPING +userdefined = IfcCoveringTypeEnum.USERDEFINED +notdefined = IfcCoveringTypeEnum.NOTDEFINED IfcCurrencyEnum = enum_namespace() -aed = express_getattr(IfcCurrencyEnum, 'AED', INDETERMINATE) -aes = express_getattr(IfcCurrencyEnum, 'AES', INDETERMINATE) -ats = express_getattr(IfcCurrencyEnum, 'ATS', INDETERMINATE) -aud = express_getattr(IfcCurrencyEnum, 'AUD', INDETERMINATE) -bbd = express_getattr(IfcCurrencyEnum, 'BBD', INDETERMINATE) -beg = express_getattr(IfcCurrencyEnum, 'BEG', INDETERMINATE) -bgl = express_getattr(IfcCurrencyEnum, 'BGL', INDETERMINATE) -bhd = express_getattr(IfcCurrencyEnum, 'BHD', INDETERMINATE) -bmd = express_getattr(IfcCurrencyEnum, 'BMD', INDETERMINATE) -bnd = express_getattr(IfcCurrencyEnum, 'BND', INDETERMINATE) -brl = express_getattr(IfcCurrencyEnum, 'BRL', INDETERMINATE) -bsd = express_getattr(IfcCurrencyEnum, 'BSD', INDETERMINATE) -bwp = express_getattr(IfcCurrencyEnum, 'BWP', INDETERMINATE) -bzd = express_getattr(IfcCurrencyEnum, 'BZD', INDETERMINATE) -cad = express_getattr(IfcCurrencyEnum, 'CAD', INDETERMINATE) -cbd = express_getattr(IfcCurrencyEnum, 'CBD', INDETERMINATE) -chf = express_getattr(IfcCurrencyEnum, 'CHF', INDETERMINATE) -clp = express_getattr(IfcCurrencyEnum, 'CLP', INDETERMINATE) -cny = express_getattr(IfcCurrencyEnum, 'CNY', INDETERMINATE) -cys = express_getattr(IfcCurrencyEnum, 'CYS', INDETERMINATE) -czk = express_getattr(IfcCurrencyEnum, 'CZK', INDETERMINATE) -ddp = express_getattr(IfcCurrencyEnum, 'DDP', INDETERMINATE) -dem = express_getattr(IfcCurrencyEnum, 'DEM', INDETERMINATE) -dkk = express_getattr(IfcCurrencyEnum, 'DKK', INDETERMINATE) -egl = express_getattr(IfcCurrencyEnum, 'EGL', INDETERMINATE) -est = express_getattr(IfcCurrencyEnum, 'EST', INDETERMINATE) -eur = express_getattr(IfcCurrencyEnum, 'EUR', INDETERMINATE) -fak = express_getattr(IfcCurrencyEnum, 'FAK', INDETERMINATE) -fim = express_getattr(IfcCurrencyEnum, 'FIM', INDETERMINATE) -fjd = express_getattr(IfcCurrencyEnum, 'FJD', INDETERMINATE) -fkp = express_getattr(IfcCurrencyEnum, 'FKP', INDETERMINATE) -frf = express_getattr(IfcCurrencyEnum, 'FRF', INDETERMINATE) -gbp = express_getattr(IfcCurrencyEnum, 'GBP', INDETERMINATE) -gip = express_getattr(IfcCurrencyEnum, 'GIP', INDETERMINATE) -gmd = express_getattr(IfcCurrencyEnum, 'GMD', INDETERMINATE) -grx = express_getattr(IfcCurrencyEnum, 'GRX', INDETERMINATE) -hkd = express_getattr(IfcCurrencyEnum, 'HKD', INDETERMINATE) -huf = express_getattr(IfcCurrencyEnum, 'HUF', INDETERMINATE) -ick = express_getattr(IfcCurrencyEnum, 'ICK', INDETERMINATE) -idr = express_getattr(IfcCurrencyEnum, 'IDR', INDETERMINATE) -ils = express_getattr(IfcCurrencyEnum, 'ILS', INDETERMINATE) -inr = express_getattr(IfcCurrencyEnum, 'INR', INDETERMINATE) -irp = express_getattr(IfcCurrencyEnum, 'IRP', INDETERMINATE) -itl = express_getattr(IfcCurrencyEnum, 'ITL', INDETERMINATE) -jmd = express_getattr(IfcCurrencyEnum, 'JMD', INDETERMINATE) -jod = express_getattr(IfcCurrencyEnum, 'JOD', INDETERMINATE) -jpy = express_getattr(IfcCurrencyEnum, 'JPY', INDETERMINATE) -kes = express_getattr(IfcCurrencyEnum, 'KES', INDETERMINATE) -krw = express_getattr(IfcCurrencyEnum, 'KRW', INDETERMINATE) -kwd = express_getattr(IfcCurrencyEnum, 'KWD', INDETERMINATE) -kyd = express_getattr(IfcCurrencyEnum, 'KYD', INDETERMINATE) -lkr = express_getattr(IfcCurrencyEnum, 'LKR', INDETERMINATE) -luf = express_getattr(IfcCurrencyEnum, 'LUF', INDETERMINATE) -mtl = express_getattr(IfcCurrencyEnum, 'MTL', INDETERMINATE) -mur = express_getattr(IfcCurrencyEnum, 'MUR', INDETERMINATE) -mxn = express_getattr(IfcCurrencyEnum, 'MXN', INDETERMINATE) -myr = express_getattr(IfcCurrencyEnum, 'MYR', INDETERMINATE) -nlg = express_getattr(IfcCurrencyEnum, 'NLG', INDETERMINATE) -nzd = express_getattr(IfcCurrencyEnum, 'NZD', INDETERMINATE) -omr = express_getattr(IfcCurrencyEnum, 'OMR', INDETERMINATE) -pgk = express_getattr(IfcCurrencyEnum, 'PGK', INDETERMINATE) -php = express_getattr(IfcCurrencyEnum, 'PHP', INDETERMINATE) -pkr = express_getattr(IfcCurrencyEnum, 'PKR', INDETERMINATE) -pln = express_getattr(IfcCurrencyEnum, 'PLN', INDETERMINATE) -ptn = express_getattr(IfcCurrencyEnum, 'PTN', INDETERMINATE) -qar = express_getattr(IfcCurrencyEnum, 'QAR', INDETERMINATE) -rur = express_getattr(IfcCurrencyEnum, 'RUR', INDETERMINATE) -sar = express_getattr(IfcCurrencyEnum, 'SAR', INDETERMINATE) -scr = express_getattr(IfcCurrencyEnum, 'SCR', INDETERMINATE) -sek = express_getattr(IfcCurrencyEnum, 'SEK', INDETERMINATE) -sgd = express_getattr(IfcCurrencyEnum, 'SGD', INDETERMINATE) -skp = express_getattr(IfcCurrencyEnum, 'SKP', INDETERMINATE) -thb = express_getattr(IfcCurrencyEnum, 'THB', INDETERMINATE) -trl = express_getattr(IfcCurrencyEnum, 'TRL', INDETERMINATE) -ttd = express_getattr(IfcCurrencyEnum, 'TTD', INDETERMINATE) -twd = express_getattr(IfcCurrencyEnum, 'TWD', INDETERMINATE) -usd = express_getattr(IfcCurrencyEnum, 'USD', INDETERMINATE) -veb = express_getattr(IfcCurrencyEnum, 'VEB', INDETERMINATE) -vnd = express_getattr(IfcCurrencyEnum, 'VND', INDETERMINATE) -xeu = express_getattr(IfcCurrencyEnum, 'XEU', INDETERMINATE) -zar = express_getattr(IfcCurrencyEnum, 'ZAR', INDETERMINATE) -zwd = express_getattr(IfcCurrencyEnum, 'ZWD', INDETERMINATE) -nok = express_getattr(IfcCurrencyEnum, 'NOK', INDETERMINATE) +aed = IfcCurrencyEnum.AED +aes = IfcCurrencyEnum.AES +ats = IfcCurrencyEnum.ATS +aud = IfcCurrencyEnum.AUD +bbd = IfcCurrencyEnum.BBD +beg = IfcCurrencyEnum.BEG +bgl = IfcCurrencyEnum.BGL +bhd = IfcCurrencyEnum.BHD +bmd = IfcCurrencyEnum.BMD +bnd = IfcCurrencyEnum.BND +brl = IfcCurrencyEnum.BRL +bsd = IfcCurrencyEnum.BSD +bwp = IfcCurrencyEnum.BWP +bzd = IfcCurrencyEnum.BZD +cad = IfcCurrencyEnum.CAD +cbd = IfcCurrencyEnum.CBD +chf = IfcCurrencyEnum.CHF +clp = IfcCurrencyEnum.CLP +cny = IfcCurrencyEnum.CNY +cys = IfcCurrencyEnum.CYS +czk = IfcCurrencyEnum.CZK +ddp = IfcCurrencyEnum.DDP +dem = IfcCurrencyEnum.DEM +dkk = IfcCurrencyEnum.DKK +egl = IfcCurrencyEnum.EGL +est = IfcCurrencyEnum.EST +eur = IfcCurrencyEnum.EUR +fak = IfcCurrencyEnum.FAK +fim = IfcCurrencyEnum.FIM +fjd = IfcCurrencyEnum.FJD +fkp = IfcCurrencyEnum.FKP +frf = IfcCurrencyEnum.FRF +gbp = IfcCurrencyEnum.GBP +gip = IfcCurrencyEnum.GIP +gmd = IfcCurrencyEnum.GMD +grx = IfcCurrencyEnum.GRX +hkd = IfcCurrencyEnum.HKD +huf = IfcCurrencyEnum.HUF +ick = IfcCurrencyEnum.ICK +idr = IfcCurrencyEnum.IDR +ils = IfcCurrencyEnum.ILS +inr = IfcCurrencyEnum.INR +irp = IfcCurrencyEnum.IRP +itl = IfcCurrencyEnum.ITL +jmd = IfcCurrencyEnum.JMD +jod = IfcCurrencyEnum.JOD +jpy = IfcCurrencyEnum.JPY +kes = IfcCurrencyEnum.KES +krw = IfcCurrencyEnum.KRW +kwd = IfcCurrencyEnum.KWD +kyd = IfcCurrencyEnum.KYD +lkr = IfcCurrencyEnum.LKR +luf = IfcCurrencyEnum.LUF +mtl = IfcCurrencyEnum.MTL +mur = IfcCurrencyEnum.MUR +mxn = IfcCurrencyEnum.MXN +myr = IfcCurrencyEnum.MYR +nlg = IfcCurrencyEnum.NLG +nzd = IfcCurrencyEnum.NZD +omr = IfcCurrencyEnum.OMR +pgk = IfcCurrencyEnum.PGK +php = IfcCurrencyEnum.PHP +pkr = IfcCurrencyEnum.PKR +pln = IfcCurrencyEnum.PLN +ptn = IfcCurrencyEnum.PTN +qar = IfcCurrencyEnum.QAR +rur = IfcCurrencyEnum.RUR +sar = IfcCurrencyEnum.SAR +scr = IfcCurrencyEnum.SCR +sek = IfcCurrencyEnum.SEK +sgd = IfcCurrencyEnum.SGD +skp = IfcCurrencyEnum.SKP +thb = IfcCurrencyEnum.THB +trl = IfcCurrencyEnum.TRL +ttd = IfcCurrencyEnum.TTD +twd = IfcCurrencyEnum.TWD +usd = IfcCurrencyEnum.USD +veb = IfcCurrencyEnum.VEB +vnd = IfcCurrencyEnum.VND +xeu = IfcCurrencyEnum.XEU +zar = IfcCurrencyEnum.ZAR +zwd = IfcCurrencyEnum.ZWD +nok = IfcCurrencyEnum.NOK IfcCurtainWallTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCurtainWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCurtainWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCurtainWallTypeEnum.USERDEFINED +notdefined = IfcCurtainWallTypeEnum.NOTDEFINED IfcDamperTypeEnum = enum_namespace() -controldamper = express_getattr(IfcDamperTypeEnum, 'CONTROLDAMPER', INDETERMINATE) -firedamper = express_getattr(IfcDamperTypeEnum, 'FIREDAMPER', INDETERMINATE) -smokedamper = express_getattr(IfcDamperTypeEnum, 'SMOKEDAMPER', INDETERMINATE) -firesmokedamper = express_getattr(IfcDamperTypeEnum, 'FIRESMOKEDAMPER', INDETERMINATE) -backdraftdamper = express_getattr(IfcDamperTypeEnum, 'BACKDRAFTDAMPER', INDETERMINATE) -reliefdamper = express_getattr(IfcDamperTypeEnum, 'RELIEFDAMPER', INDETERMINATE) -blastdamper = express_getattr(IfcDamperTypeEnum, 'BLASTDAMPER', INDETERMINATE) -gravitydamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYDAMPER', INDETERMINATE) -gravityreliefdamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYRELIEFDAMPER', INDETERMINATE) -balancingdamper = express_getattr(IfcDamperTypeEnum, 'BALANCINGDAMPER', INDETERMINATE) -fumehoodexhaust = express_getattr(IfcDamperTypeEnum, 'FUMEHOODEXHAUST', INDETERMINATE) -userdefined = express_getattr(IfcDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +controldamper = IfcDamperTypeEnum.CONTROLDAMPER +firedamper = IfcDamperTypeEnum.FIREDAMPER +smokedamper = IfcDamperTypeEnum.SMOKEDAMPER +firesmokedamper = IfcDamperTypeEnum.FIRESMOKEDAMPER +backdraftdamper = IfcDamperTypeEnum.BACKDRAFTDAMPER +reliefdamper = IfcDamperTypeEnum.RELIEFDAMPER +blastdamper = IfcDamperTypeEnum.BLASTDAMPER +gravitydamper = IfcDamperTypeEnum.GRAVITYDAMPER +gravityreliefdamper = IfcDamperTypeEnum.GRAVITYRELIEFDAMPER +balancingdamper = IfcDamperTypeEnum.BALANCINGDAMPER +fumehoodexhaust = IfcDamperTypeEnum.FUMEHOODEXHAUST +userdefined = IfcDamperTypeEnum.USERDEFINED +notdefined = IfcDamperTypeEnum.NOTDEFINED IfcDataOriginEnum = enum_namespace() -measured = express_getattr(IfcDataOriginEnum, 'MEASURED', INDETERMINATE) -predicted = express_getattr(IfcDataOriginEnum, 'PREDICTED', INDETERMINATE) -simulated = express_getattr(IfcDataOriginEnum, 'SIMULATED', INDETERMINATE) -userdefined = express_getattr(IfcDataOriginEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDataOriginEnum, 'NOTDEFINED', INDETERMINATE) +measured = IfcDataOriginEnum.MEASURED +predicted = IfcDataOriginEnum.PREDICTED +simulated = IfcDataOriginEnum.SIMULATED +userdefined = IfcDataOriginEnum.USERDEFINED +notdefined = IfcDataOriginEnum.NOTDEFINED IfcDerivedUnitEnum = enum_namespace() -angularvelocityunit = express_getattr(IfcDerivedUnitEnum, 'ANGULARVELOCITYUNIT', INDETERMINATE) -compoundplaneangleunit = express_getattr(IfcDerivedUnitEnum, 'COMPOUNDPLANEANGLEUNIT', INDETERMINATE) -dynamicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'DYNAMICVISCOSITYUNIT', INDETERMINATE) -heatfluxdensityunit = express_getattr(IfcDerivedUnitEnum, 'HEATFLUXDENSITYUNIT', INDETERMINATE) -integercountrateunit = express_getattr(IfcDerivedUnitEnum, 'INTEGERCOUNTRATEUNIT', INDETERMINATE) -isothermalmoisturecapacityunit = express_getattr(IfcDerivedUnitEnum, 'ISOTHERMALMOISTURECAPACITYUNIT', INDETERMINATE) -kinematicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'KINEMATICVISCOSITYUNIT', INDETERMINATE) -linearvelocityunit = express_getattr(IfcDerivedUnitEnum, 'LINEARVELOCITYUNIT', INDETERMINATE) -massdensityunit = express_getattr(IfcDerivedUnitEnum, 'MASSDENSITYUNIT', INDETERMINATE) -massflowrateunit = express_getattr(IfcDerivedUnitEnum, 'MASSFLOWRATEUNIT', INDETERMINATE) -moisturediffusivityunit = express_getattr(IfcDerivedUnitEnum, 'MOISTUREDIFFUSIVITYUNIT', INDETERMINATE) -molecularweightunit = express_getattr(IfcDerivedUnitEnum, 'MOLECULARWEIGHTUNIT', INDETERMINATE) -specificheatcapacityunit = express_getattr(IfcDerivedUnitEnum, 'SPECIFICHEATCAPACITYUNIT', INDETERMINATE) -thermaladmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALADMITTANCEUNIT', INDETERMINATE) -thermalconductanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALCONDUCTANCEUNIT', INDETERMINATE) -thermalresistanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALRESISTANCEUNIT', INDETERMINATE) -thermaltransmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALTRANSMITTANCEUNIT', INDETERMINATE) -vaporpermeabilityunit = express_getattr(IfcDerivedUnitEnum, 'VAPORPERMEABILITYUNIT', INDETERMINATE) -volumetricflowrateunit = express_getattr(IfcDerivedUnitEnum, 'VOLUMETRICFLOWRATEUNIT', INDETERMINATE) -rotationalfrequencyunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALFREQUENCYUNIT', INDETERMINATE) -torqueunit = express_getattr(IfcDerivedUnitEnum, 'TORQUEUNIT', INDETERMINATE) -momentofinertiaunit = express_getattr(IfcDerivedUnitEnum, 'MOMENTOFINERTIAUNIT', INDETERMINATE) -linearmomentunit = express_getattr(IfcDerivedUnitEnum, 'LINEARMOMENTUNIT', INDETERMINATE) -linearforceunit = express_getattr(IfcDerivedUnitEnum, 'LINEARFORCEUNIT', INDETERMINATE) -planarforceunit = express_getattr(IfcDerivedUnitEnum, 'PLANARFORCEUNIT', INDETERMINATE) -modulusofelasticityunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFELASTICITYUNIT', INDETERMINATE) -shearmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SHEARMODULUSUNIT', INDETERMINATE) -linearstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'LINEARSTIFFNESSUNIT', INDETERMINATE) -rotationalstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALSTIFFNESSUNIT', INDETERMINATE) -modulusofsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFSUBGRADEREACTIONUNIT', INDETERMINATE) -accelerationunit = express_getattr(IfcDerivedUnitEnum, 'ACCELERATIONUNIT', INDETERMINATE) -curvatureunit = express_getattr(IfcDerivedUnitEnum, 'CURVATUREUNIT', INDETERMINATE) -heatingvalueunit = express_getattr(IfcDerivedUnitEnum, 'HEATINGVALUEUNIT', INDETERMINATE) -ionconcentrationunit = express_getattr(IfcDerivedUnitEnum, 'IONCONCENTRATIONUNIT', INDETERMINATE) -luminousintensitydistributionunit = express_getattr(IfcDerivedUnitEnum, 'LUMINOUSINTENSITYDISTRIBUTIONUNIT', INDETERMINATE) -massperlengthunit = express_getattr(IfcDerivedUnitEnum, 'MASSPERLENGTHUNIT', INDETERMINATE) -modulusoflinearsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFLINEARSUBGRADEREACTIONUNIT', INDETERMINATE) -modulusofrotationalsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFROTATIONALSUBGRADEREACTIONUNIT', INDETERMINATE) -phunit = express_getattr(IfcDerivedUnitEnum, 'PHUNIT', INDETERMINATE) -rotationalmassunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALMASSUNIT', INDETERMINATE) -sectionareaintegralunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONAREAINTEGRALUNIT', INDETERMINATE) -sectionmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONMODULUSUNIT', INDETERMINATE) -soundpowerunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERUNIT', INDETERMINATE) -soundpressureunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSUREUNIT', INDETERMINATE) -temperaturegradientunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATUREGRADIENTUNIT', INDETERMINATE) -thermalexpansioncoefficientunit = express_getattr(IfcDerivedUnitEnum, 'THERMALEXPANSIONCOEFFICIENTUNIT', INDETERMINATE) -warpingconstantunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGCONSTANTUNIT', INDETERMINATE) -warpingmomentunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGMOMENTUNIT', INDETERMINATE) -userdefined = express_getattr(IfcDerivedUnitEnum, 'USERDEFINED', INDETERMINATE) +angularvelocityunit = IfcDerivedUnitEnum.ANGULARVELOCITYUNIT +compoundplaneangleunit = IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT +dynamicviscosityunit = IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT +heatfluxdensityunit = IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT +integercountrateunit = IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT +isothermalmoisturecapacityunit = IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT +kinematicviscosityunit = IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT +linearvelocityunit = IfcDerivedUnitEnum.LINEARVELOCITYUNIT +massdensityunit = IfcDerivedUnitEnum.MASSDENSITYUNIT +massflowrateunit = IfcDerivedUnitEnum.MASSFLOWRATEUNIT +moisturediffusivityunit = IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT +molecularweightunit = IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT +specificheatcapacityunit = IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT +thermaladmittanceunit = IfcDerivedUnitEnum.THERMALADMITTANCEUNIT +thermalconductanceunit = IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT +thermalresistanceunit = IfcDerivedUnitEnum.THERMALRESISTANCEUNIT +thermaltransmittanceunit = IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT +vaporpermeabilityunit = IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT +volumetricflowrateunit = IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT +rotationalfrequencyunit = IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT +torqueunit = IfcDerivedUnitEnum.TORQUEUNIT +momentofinertiaunit = IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT +linearmomentunit = IfcDerivedUnitEnum.LINEARMOMENTUNIT +linearforceunit = IfcDerivedUnitEnum.LINEARFORCEUNIT +planarforceunit = IfcDerivedUnitEnum.PLANARFORCEUNIT +modulusofelasticityunit = IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT +shearmodulusunit = IfcDerivedUnitEnum.SHEARMODULUSUNIT +linearstiffnessunit = IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT +rotationalstiffnessunit = IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT +modulusofsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT +accelerationunit = IfcDerivedUnitEnum.ACCELERATIONUNIT +curvatureunit = IfcDerivedUnitEnum.CURVATUREUNIT +heatingvalueunit = IfcDerivedUnitEnum.HEATINGVALUEUNIT +ionconcentrationunit = IfcDerivedUnitEnum.IONCONCENTRATIONUNIT +luminousintensitydistributionunit = IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT +massperlengthunit = IfcDerivedUnitEnum.MASSPERLENGTHUNIT +modulusoflinearsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT +modulusofrotationalsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT +phunit = IfcDerivedUnitEnum.PHUNIT +rotationalmassunit = IfcDerivedUnitEnum.ROTATIONALMASSUNIT +sectionareaintegralunit = IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT +sectionmodulusunit = IfcDerivedUnitEnum.SECTIONMODULUSUNIT +soundpowerunit = IfcDerivedUnitEnum.SOUNDPOWERUNIT +soundpressureunit = IfcDerivedUnitEnum.SOUNDPRESSUREUNIT +temperaturegradientunit = IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT +thermalexpansioncoefficientunit = IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT +warpingconstantunit = IfcDerivedUnitEnum.WARPINGCONSTANTUNIT +warpingmomentunit = IfcDerivedUnitEnum.WARPINGMOMENTUNIT +userdefined = IfcDerivedUnitEnum.USERDEFINED IfcDimensionExtentUsage = enum_namespace() -origin = express_getattr(IfcDimensionExtentUsage, 'ORIGIN', INDETERMINATE) -target = express_getattr(IfcDimensionExtentUsage, 'TARGET', INDETERMINATE) +origin = IfcDimensionExtentUsage.ORIGIN +target = IfcDimensionExtentUsage.TARGET IfcDirectionSenseEnum = enum_namespace() -positive = express_getattr(IfcDirectionSenseEnum, 'POSITIVE', INDETERMINATE) -negative = express_getattr(IfcDirectionSenseEnum, 'NEGATIVE', INDETERMINATE) +positive = IfcDirectionSenseEnum.POSITIVE +negative = IfcDirectionSenseEnum.NEGATIVE IfcDistributionChamberElementTypeEnum = enum_namespace() -formedduct = express_getattr(IfcDistributionChamberElementTypeEnum, 'FORMEDDUCT', INDETERMINATE) -inspectionchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONCHAMBER', INDETERMINATE) -inspectionpit = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONPIT', INDETERMINATE) -manhole = express_getattr(IfcDistributionChamberElementTypeEnum, 'MANHOLE', INDETERMINATE) -meterchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'METERCHAMBER', INDETERMINATE) -sump = express_getattr(IfcDistributionChamberElementTypeEnum, 'SUMP', INDETERMINATE) -trench = express_getattr(IfcDistributionChamberElementTypeEnum, 'TRENCH', INDETERMINATE) -valvechamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'VALVECHAMBER', INDETERMINATE) -userdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +formedduct = IfcDistributionChamberElementTypeEnum.FORMEDDUCT +inspectionchamber = IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER +inspectionpit = IfcDistributionChamberElementTypeEnum.INSPECTIONPIT +manhole = IfcDistributionChamberElementTypeEnum.MANHOLE +meterchamber = IfcDistributionChamberElementTypeEnum.METERCHAMBER +sump = IfcDistributionChamberElementTypeEnum.SUMP +trench = IfcDistributionChamberElementTypeEnum.TRENCH +valvechamber = IfcDistributionChamberElementTypeEnum.VALVECHAMBER +userdefined = IfcDistributionChamberElementTypeEnum.USERDEFINED +notdefined = IfcDistributionChamberElementTypeEnum.NOTDEFINED IfcDocumentConfidentialityEnum = enum_namespace() -public = express_getattr(IfcDocumentConfidentialityEnum, 'PUBLIC', INDETERMINATE) -restricted = express_getattr(IfcDocumentConfidentialityEnum, 'RESTRICTED', INDETERMINATE) -confidential = express_getattr(IfcDocumentConfidentialityEnum, 'CONFIDENTIAL', INDETERMINATE) -personal = express_getattr(IfcDocumentConfidentialityEnum, 'PERSONAL', INDETERMINATE) -userdefined = express_getattr(IfcDocumentConfidentialityEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDocumentConfidentialityEnum, 'NOTDEFINED', INDETERMINATE) +public = IfcDocumentConfidentialityEnum.PUBLIC +restricted = IfcDocumentConfidentialityEnum.RESTRICTED +confidential = IfcDocumentConfidentialityEnum.CONFIDENTIAL +personal = IfcDocumentConfidentialityEnum.PERSONAL +userdefined = IfcDocumentConfidentialityEnum.USERDEFINED +notdefined = IfcDocumentConfidentialityEnum.NOTDEFINED IfcDocumentStatusEnum = enum_namespace() -draft = express_getattr(IfcDocumentStatusEnum, 'DRAFT', INDETERMINATE) -finaldraft = express_getattr(IfcDocumentStatusEnum, 'FINALDRAFT', INDETERMINATE) -final = express_getattr(IfcDocumentStatusEnum, 'FINAL', INDETERMINATE) -revision = express_getattr(IfcDocumentStatusEnum, 'REVISION', INDETERMINATE) -notdefined = express_getattr(IfcDocumentStatusEnum, 'NOTDEFINED', INDETERMINATE) +draft = IfcDocumentStatusEnum.DRAFT +finaldraft = IfcDocumentStatusEnum.FINALDRAFT +final = IfcDocumentStatusEnum.FINAL +revision = IfcDocumentStatusEnum.REVISION +notdefined = IfcDocumentStatusEnum.NOTDEFINED IfcDoorPanelOperationEnum = enum_namespace() -swinging = express_getattr(IfcDoorPanelOperationEnum, 'SWINGING', INDETERMINATE) -double_acting = express_getattr(IfcDoorPanelOperationEnum, 'DOUBLE_ACTING', INDETERMINATE) -sliding = express_getattr(IfcDoorPanelOperationEnum, 'SLIDING', INDETERMINATE) -folding = express_getattr(IfcDoorPanelOperationEnum, 'FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorPanelOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorPanelOperationEnum, 'ROLLINGUP', INDETERMINATE) -userdefined = express_getattr(IfcDoorPanelOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +swinging = IfcDoorPanelOperationEnum.SWINGING +double_acting = IfcDoorPanelOperationEnum.DOUBLE_ACTING +sliding = IfcDoorPanelOperationEnum.SLIDING +folding = IfcDoorPanelOperationEnum.FOLDING +revolving = IfcDoorPanelOperationEnum.REVOLVING +rollingup = IfcDoorPanelOperationEnum.ROLLINGUP +userdefined = IfcDoorPanelOperationEnum.USERDEFINED +notdefined = IfcDoorPanelOperationEnum.NOTDEFINED IfcDoorPanelPositionEnum = enum_namespace() -left = express_getattr(IfcDoorPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcDoorPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcDoorPanelPositionEnum, 'RIGHT', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcDoorPanelPositionEnum.LEFT +middle = IfcDoorPanelPositionEnum.MIDDLE +right = IfcDoorPanelPositionEnum.RIGHT +notdefined = IfcDoorPanelPositionEnum.NOTDEFINED IfcDoorStyleConstructionEnum = enum_namespace() -aluminium = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM', INDETERMINATE) -high_grade_steel = express_getattr(IfcDoorStyleConstructionEnum, 'HIGH_GRADE_STEEL', INDETERMINATE) -steel = express_getattr(IfcDoorStyleConstructionEnum, 'STEEL', INDETERMINATE) -wood = express_getattr(IfcDoorStyleConstructionEnum, 'WOOD', INDETERMINATE) -aluminium_wood = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM_WOOD', INDETERMINATE) -aluminium_plastic = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM_PLASTIC', INDETERMINATE) -plastic = express_getattr(IfcDoorStyleConstructionEnum, 'PLASTIC', INDETERMINATE) -userdefined = express_getattr(IfcDoorStyleConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorStyleConstructionEnum, 'NOTDEFINED', INDETERMINATE) +aluminium = IfcDoorStyleConstructionEnum.ALUMINIUM +high_grade_steel = IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL +steel = IfcDoorStyleConstructionEnum.STEEL +wood = IfcDoorStyleConstructionEnum.WOOD +aluminium_wood = IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD +aluminium_plastic = IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC +plastic = IfcDoorStyleConstructionEnum.PLASTIC +userdefined = IfcDoorStyleConstructionEnum.USERDEFINED +notdefined = IfcDoorStyleConstructionEnum.NOTDEFINED IfcDoorStyleOperationEnum = enum_namespace() -single_swing_left = express_getattr(IfcDoorStyleOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorStyleOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -double_door_single_swing = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING', INDETERMINATE) -double_door_single_swing_opposite_left = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_door_single_swing_opposite_right = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -double_door_double_swing = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_DOUBLE_SWING', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorStyleOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorStyleOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -double_door_sliding = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SLIDING', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorStyleOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorStyleOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -double_door_folding = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorStyleOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorStyleOperationEnum, 'ROLLINGUP', INDETERMINATE) -userdefined = express_getattr(IfcDoorStyleOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorStyleOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_swing_left = IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT +double_door_single_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING +double_door_single_swing_opposite_left = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT +double_door_single_swing_opposite_right = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT +double_swing_left = IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT +double_door_double_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING +sliding_to_left = IfcDoorStyleOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT +double_door_sliding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING +folding_to_left = IfcDoorStyleOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT +double_door_folding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING +revolving = IfcDoorStyleOperationEnum.REVOLVING +rollingup = IfcDoorStyleOperationEnum.ROLLINGUP +userdefined = IfcDoorStyleOperationEnum.USERDEFINED +notdefined = IfcDoorStyleOperationEnum.NOTDEFINED IfcDuctFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcDuctFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcDuctFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcDuctFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcDuctFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcDuctFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcDuctFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcDuctFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcDuctFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcDuctFittingTypeEnum.BEND +connector = IfcDuctFittingTypeEnum.CONNECTOR +entry = IfcDuctFittingTypeEnum.ENTRY +exit = IfcDuctFittingTypeEnum.EXIT +junction = IfcDuctFittingTypeEnum.JUNCTION +obstruction = IfcDuctFittingTypeEnum.OBSTRUCTION +transition = IfcDuctFittingTypeEnum.TRANSITION +userdefined = IfcDuctFittingTypeEnum.USERDEFINED +notdefined = IfcDuctFittingTypeEnum.NOTDEFINED IfcDuctSegmentTypeEnum = enum_namespace() -rigidsegment = express_getattr(IfcDuctSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -flexiblesegment = express_getattr(IfcDuctSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcDuctSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +rigidsegment = IfcDuctSegmentTypeEnum.RIGIDSEGMENT +flexiblesegment = IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT +userdefined = IfcDuctSegmentTypeEnum.USERDEFINED +notdefined = IfcDuctSegmentTypeEnum.NOTDEFINED IfcDuctSilencerTypeEnum = enum_namespace() -flatoval = express_getattr(IfcDuctSilencerTypeEnum, 'FLATOVAL', INDETERMINATE) -rectangular = express_getattr(IfcDuctSilencerTypeEnum, 'RECTANGULAR', INDETERMINATE) -round = express_getattr(IfcDuctSilencerTypeEnum, 'ROUND', INDETERMINATE) -userdefined = express_getattr(IfcDuctSilencerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSilencerTypeEnum, 'NOTDEFINED', INDETERMINATE) +flatoval = IfcDuctSilencerTypeEnum.FLATOVAL +rectangular = IfcDuctSilencerTypeEnum.RECTANGULAR +round = IfcDuctSilencerTypeEnum.ROUND +userdefined = IfcDuctSilencerTypeEnum.USERDEFINED +notdefined = IfcDuctSilencerTypeEnum.NOTDEFINED IfcElectricApplianceTypeEnum = enum_namespace() -computer = express_getattr(IfcElectricApplianceTypeEnum, 'COMPUTER', INDETERMINATE) -directwaterheater = express_getattr(IfcElectricApplianceTypeEnum, 'DIRECTWATERHEATER', INDETERMINATE) -dishwasher = express_getattr(IfcElectricApplianceTypeEnum, 'DISHWASHER', INDETERMINATE) -electriccooker = express_getattr(IfcElectricApplianceTypeEnum, 'ELECTRICCOOKER', INDETERMINATE) -electricheater = express_getattr(IfcElectricApplianceTypeEnum, 'ELECTRICHEATER', INDETERMINATE) -facsimile = express_getattr(IfcElectricApplianceTypeEnum, 'FACSIMILE', INDETERMINATE) -freestandingfan = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGFAN', INDETERMINATE) -freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FREEZER', INDETERMINATE) -fridge_freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FRIDGE_FREEZER', INDETERMINATE) -handdryer = express_getattr(IfcElectricApplianceTypeEnum, 'HANDDRYER', INDETERMINATE) -indirectwaterheater = express_getattr(IfcElectricApplianceTypeEnum, 'INDIRECTWATERHEATER', INDETERMINATE) -microwave = express_getattr(IfcElectricApplianceTypeEnum, 'MICROWAVE', INDETERMINATE) -photocopier = express_getattr(IfcElectricApplianceTypeEnum, 'PHOTOCOPIER', INDETERMINATE) -printer = express_getattr(IfcElectricApplianceTypeEnum, 'PRINTER', INDETERMINATE) -refrigerator = express_getattr(IfcElectricApplianceTypeEnum, 'REFRIGERATOR', INDETERMINATE) -radiantheater = express_getattr(IfcElectricApplianceTypeEnum, 'RADIANTHEATER', INDETERMINATE) -scanner = express_getattr(IfcElectricApplianceTypeEnum, 'SCANNER', INDETERMINATE) -telephone = express_getattr(IfcElectricApplianceTypeEnum, 'TELEPHONE', INDETERMINATE) -tumbledryer = express_getattr(IfcElectricApplianceTypeEnum, 'TUMBLEDRYER', INDETERMINATE) -tv = express_getattr(IfcElectricApplianceTypeEnum, 'TV', INDETERMINATE) -vendingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'VENDINGMACHINE', INDETERMINATE) -washingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'WASHINGMACHINE', INDETERMINATE) -waterheater = express_getattr(IfcElectricApplianceTypeEnum, 'WATERHEATER', INDETERMINATE) -watercooler = express_getattr(IfcElectricApplianceTypeEnum, 'WATERCOOLER', INDETERMINATE) -userdefined = express_getattr(IfcElectricApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +computer = IfcElectricApplianceTypeEnum.COMPUTER +directwaterheater = IfcElectricApplianceTypeEnum.DIRECTWATERHEATER +dishwasher = IfcElectricApplianceTypeEnum.DISHWASHER +electriccooker = IfcElectricApplianceTypeEnum.ELECTRICCOOKER +electricheater = IfcElectricApplianceTypeEnum.ELECTRICHEATER +facsimile = IfcElectricApplianceTypeEnum.FACSIMILE +freestandingfan = IfcElectricApplianceTypeEnum.FREESTANDINGFAN +freezer = IfcElectricApplianceTypeEnum.FREEZER +fridge_freezer = IfcElectricApplianceTypeEnum.FRIDGE_FREEZER +handdryer = IfcElectricApplianceTypeEnum.HANDDRYER +indirectwaterheater = IfcElectricApplianceTypeEnum.INDIRECTWATERHEATER +microwave = IfcElectricApplianceTypeEnum.MICROWAVE +photocopier = IfcElectricApplianceTypeEnum.PHOTOCOPIER +printer = IfcElectricApplianceTypeEnum.PRINTER +refrigerator = IfcElectricApplianceTypeEnum.REFRIGERATOR +radiantheater = IfcElectricApplianceTypeEnum.RADIANTHEATER +scanner = IfcElectricApplianceTypeEnum.SCANNER +telephone = IfcElectricApplianceTypeEnum.TELEPHONE +tumbledryer = IfcElectricApplianceTypeEnum.TUMBLEDRYER +tv = IfcElectricApplianceTypeEnum.TV +vendingmachine = IfcElectricApplianceTypeEnum.VENDINGMACHINE +washingmachine = IfcElectricApplianceTypeEnum.WASHINGMACHINE +waterheater = IfcElectricApplianceTypeEnum.WATERHEATER +watercooler = IfcElectricApplianceTypeEnum.WATERCOOLER +userdefined = IfcElectricApplianceTypeEnum.USERDEFINED +notdefined = IfcElectricApplianceTypeEnum.NOTDEFINED IfcElectricCurrentEnum = enum_namespace() -alternating = express_getattr(IfcElectricCurrentEnum, 'ALTERNATING', INDETERMINATE) -direct = express_getattr(IfcElectricCurrentEnum, 'DIRECT', INDETERMINATE) -notdefined = express_getattr(IfcElectricCurrentEnum, 'NOTDEFINED', INDETERMINATE) +alternating = IfcElectricCurrentEnum.ALTERNATING +direct = IfcElectricCurrentEnum.DIRECT +notdefined = IfcElectricCurrentEnum.NOTDEFINED IfcElectricDistributionPointFunctionEnum = enum_namespace() -alarmpanel = express_getattr(IfcElectricDistributionPointFunctionEnum, 'ALARMPANEL', INDETERMINATE) -consumerunit = express_getattr(IfcElectricDistributionPointFunctionEnum, 'CONSUMERUNIT', INDETERMINATE) -controlpanel = express_getattr(IfcElectricDistributionPointFunctionEnum, 'CONTROLPANEL', INDETERMINATE) -distributionboard = express_getattr(IfcElectricDistributionPointFunctionEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -gasdetectorpanel = express_getattr(IfcElectricDistributionPointFunctionEnum, 'GASDETECTORPANEL', INDETERMINATE) -indicatorpanel = express_getattr(IfcElectricDistributionPointFunctionEnum, 'INDICATORPANEL', INDETERMINATE) -mimicpanel = express_getattr(IfcElectricDistributionPointFunctionEnum, 'MIMICPANEL', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcElectricDistributionPointFunctionEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -switchboard = express_getattr(IfcElectricDistributionPointFunctionEnum, 'SWITCHBOARD', INDETERMINATE) -userdefined = express_getattr(IfcElectricDistributionPointFunctionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricDistributionPointFunctionEnum, 'NOTDEFINED', INDETERMINATE) +alarmpanel = IfcElectricDistributionPointFunctionEnum.ALARMPANEL +consumerunit = IfcElectricDistributionPointFunctionEnum.CONSUMERUNIT +controlpanel = IfcElectricDistributionPointFunctionEnum.CONTROLPANEL +distributionboard = IfcElectricDistributionPointFunctionEnum.DISTRIBUTIONBOARD +gasdetectorpanel = IfcElectricDistributionPointFunctionEnum.GASDETECTORPANEL +indicatorpanel = IfcElectricDistributionPointFunctionEnum.INDICATORPANEL +mimicpanel = IfcElectricDistributionPointFunctionEnum.MIMICPANEL +motorcontrolcentre = IfcElectricDistributionPointFunctionEnum.MOTORCONTROLCENTRE +switchboard = IfcElectricDistributionPointFunctionEnum.SWITCHBOARD +userdefined = IfcElectricDistributionPointFunctionEnum.USERDEFINED +notdefined = IfcElectricDistributionPointFunctionEnum.NOTDEFINED IfcElectricFlowStorageDeviceTypeEnum = enum_namespace() -battery = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'BATTERY', INDETERMINATE) -capacitorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITORBANK', INDETERMINATE) -harmonicfilter = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'HARMONICFILTER', INDETERMINATE) -inductorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTORBANK', INDETERMINATE) -ups = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'UPS', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +battery = IfcElectricFlowStorageDeviceTypeEnum.BATTERY +capacitorbank = IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK +harmonicfilter = IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER +inductorbank = IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK +ups = IfcElectricFlowStorageDeviceTypeEnum.UPS +userdefined = IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED IfcElectricGeneratorTypeEnum = enum_namespace() -userdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcElectricGeneratorTypeEnum.USERDEFINED +notdefined = IfcElectricGeneratorTypeEnum.NOTDEFINED IfcElectricHeaterTypeEnum = enum_namespace() -electricpointheater = express_getattr(IfcElectricHeaterTypeEnum, 'ELECTRICPOINTHEATER', INDETERMINATE) -electriccableheater = express_getattr(IfcElectricHeaterTypeEnum, 'ELECTRICCABLEHEATER', INDETERMINATE) -electricmatheater = express_getattr(IfcElectricHeaterTypeEnum, 'ELECTRICMATHEATER', INDETERMINATE) -userdefined = express_getattr(IfcElectricHeaterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricHeaterTypeEnum, 'NOTDEFINED', INDETERMINATE) +electricpointheater = IfcElectricHeaterTypeEnum.ELECTRICPOINTHEATER +electriccableheater = IfcElectricHeaterTypeEnum.ELECTRICCABLEHEATER +electricmatheater = IfcElectricHeaterTypeEnum.ELECTRICMATHEATER +userdefined = IfcElectricHeaterTypeEnum.USERDEFINED +notdefined = IfcElectricHeaterTypeEnum.NOTDEFINED IfcElectricMotorTypeEnum = enum_namespace() -dc = express_getattr(IfcElectricMotorTypeEnum, 'DC', INDETERMINATE) -induction = express_getattr(IfcElectricMotorTypeEnum, 'INDUCTION', INDETERMINATE) -polyphase = express_getattr(IfcElectricMotorTypeEnum, 'POLYPHASE', INDETERMINATE) -reluctancesynchronous = express_getattr(IfcElectricMotorTypeEnum, 'RELUCTANCESYNCHRONOUS', INDETERMINATE) -synchronous = express_getattr(IfcElectricMotorTypeEnum, 'SYNCHRONOUS', INDETERMINATE) -userdefined = express_getattr(IfcElectricMotorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricMotorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dc = IfcElectricMotorTypeEnum.DC +induction = IfcElectricMotorTypeEnum.INDUCTION +polyphase = IfcElectricMotorTypeEnum.POLYPHASE +reluctancesynchronous = IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS +synchronous = IfcElectricMotorTypeEnum.SYNCHRONOUS +userdefined = IfcElectricMotorTypeEnum.USERDEFINED +notdefined = IfcElectricMotorTypeEnum.NOTDEFINED IfcElectricTimeControlTypeEnum = enum_namespace() -timeclock = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMECLOCK', INDETERMINATE) -timedelay = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMEDELAY', INDETERMINATE) -relay = express_getattr(IfcElectricTimeControlTypeEnum, 'RELAY', INDETERMINATE) -userdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'NOTDEFINED', INDETERMINATE) +timeclock = IfcElectricTimeControlTypeEnum.TIMECLOCK +timedelay = IfcElectricTimeControlTypeEnum.TIMEDELAY +relay = IfcElectricTimeControlTypeEnum.RELAY +userdefined = IfcElectricTimeControlTypeEnum.USERDEFINED +notdefined = IfcElectricTimeControlTypeEnum.NOTDEFINED IfcElementAssemblyTypeEnum = enum_namespace() -accessory_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'ACCESSORY_ASSEMBLY', INDETERMINATE) -arch = express_getattr(IfcElementAssemblyTypeEnum, 'ARCH', INDETERMINATE) -beam_grid = express_getattr(IfcElementAssemblyTypeEnum, 'BEAM_GRID', INDETERMINATE) -braced_frame = express_getattr(IfcElementAssemblyTypeEnum, 'BRACED_FRAME', INDETERMINATE) -girder = express_getattr(IfcElementAssemblyTypeEnum, 'GIRDER', INDETERMINATE) -reinforcement_unit = express_getattr(IfcElementAssemblyTypeEnum, 'REINFORCEMENT_UNIT', INDETERMINATE) -rigid_frame = express_getattr(IfcElementAssemblyTypeEnum, 'RIGID_FRAME', INDETERMINATE) -slab_field = express_getattr(IfcElementAssemblyTypeEnum, 'SLAB_FIELD', INDETERMINATE) -truss = express_getattr(IfcElementAssemblyTypeEnum, 'TRUSS', INDETERMINATE) -userdefined = express_getattr(IfcElementAssemblyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElementAssemblyTypeEnum, 'NOTDEFINED', INDETERMINATE) +accessory_assembly = IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY +arch = IfcElementAssemblyTypeEnum.ARCH +beam_grid = IfcElementAssemblyTypeEnum.BEAM_GRID +braced_frame = IfcElementAssemblyTypeEnum.BRACED_FRAME +girder = IfcElementAssemblyTypeEnum.GIRDER +reinforcement_unit = IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT +rigid_frame = IfcElementAssemblyTypeEnum.RIGID_FRAME +slab_field = IfcElementAssemblyTypeEnum.SLAB_FIELD +truss = IfcElementAssemblyTypeEnum.TRUSS +userdefined = IfcElementAssemblyTypeEnum.USERDEFINED +notdefined = IfcElementAssemblyTypeEnum.NOTDEFINED IfcElementCompositionEnum = enum_namespace() -complex = express_getattr(IfcElementCompositionEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcElementCompositionEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcElementCompositionEnum, 'PARTIAL', INDETERMINATE) +complex = IfcElementCompositionEnum.COMPLEX +element = IfcElementCompositionEnum.ELEMENT +partial = IfcElementCompositionEnum.PARTIAL IfcEnergySequenceEnum = enum_namespace() -primary = express_getattr(IfcEnergySequenceEnum, 'PRIMARY', INDETERMINATE) -secondary = express_getattr(IfcEnergySequenceEnum, 'SECONDARY', INDETERMINATE) -tertiary = express_getattr(IfcEnergySequenceEnum, 'TERTIARY', INDETERMINATE) -auxiliary = express_getattr(IfcEnergySequenceEnum, 'AUXILIARY', INDETERMINATE) -userdefined = express_getattr(IfcEnergySequenceEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEnergySequenceEnum, 'NOTDEFINED', INDETERMINATE) +primary = IfcEnergySequenceEnum.PRIMARY +secondary = IfcEnergySequenceEnum.SECONDARY +tertiary = IfcEnergySequenceEnum.TERTIARY +auxiliary = IfcEnergySequenceEnum.AUXILIARY +userdefined = IfcEnergySequenceEnum.USERDEFINED +notdefined = IfcEnergySequenceEnum.NOTDEFINED IfcEnvironmentalImpactCategoryEnum = enum_namespace() -combinedvalue = express_getattr(IfcEnvironmentalImpactCategoryEnum, 'COMBINEDVALUE', INDETERMINATE) -disposal = express_getattr(IfcEnvironmentalImpactCategoryEnum, 'DISPOSAL', INDETERMINATE) -extraction = express_getattr(IfcEnvironmentalImpactCategoryEnum, 'EXTRACTION', INDETERMINATE) -installation = express_getattr(IfcEnvironmentalImpactCategoryEnum, 'INSTALLATION', INDETERMINATE) -manufacture = express_getattr(IfcEnvironmentalImpactCategoryEnum, 'MANUFACTURE', INDETERMINATE) -transportation = express_getattr(IfcEnvironmentalImpactCategoryEnum, 'TRANSPORTATION', INDETERMINATE) -userdefined = express_getattr(IfcEnvironmentalImpactCategoryEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEnvironmentalImpactCategoryEnum, 'NOTDEFINED', INDETERMINATE) +combinedvalue = IfcEnvironmentalImpactCategoryEnum.COMBINEDVALUE +disposal = IfcEnvironmentalImpactCategoryEnum.DISPOSAL +extraction = IfcEnvironmentalImpactCategoryEnum.EXTRACTION +installation = IfcEnvironmentalImpactCategoryEnum.INSTALLATION +manufacture = IfcEnvironmentalImpactCategoryEnum.MANUFACTURE +transportation = IfcEnvironmentalImpactCategoryEnum.TRANSPORTATION +userdefined = IfcEnvironmentalImpactCategoryEnum.USERDEFINED +notdefined = IfcEnvironmentalImpactCategoryEnum.NOTDEFINED IfcEvaporativeCoolerTypeEnum = enum_namespace() -directevaporativerandommediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER', INDETERMINATE) -directevaporativerigidmediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER', INDETERMINATE) -directevaporativeslingerspackagedaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER', INDETERMINATE) -directevaporativepackagedrotaryaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER', INDETERMINATE) -directevaporativeairwasher = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEAIRWASHER', INDETERMINATE) -indirectevaporativepackageaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEPACKAGEAIRCOOLER', INDETERMINATE) -indirectevaporativewetcoil = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEWETCOIL', INDETERMINATE) -indirectevaporativecoolingtowerorcoilcooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER', INDETERMINATE) -indirectdirectcombination = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTDIRECTCOMBINATION', INDETERMINATE) -userdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'NOTDEFINED', INDETERMINATE) +directevaporativerandommediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER +directevaporativerigidmediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER +directevaporativeslingerspackagedaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER +directevaporativepackagedrotaryaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER +directevaporativeairwasher = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER +indirectevaporativepackageaircooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER +indirectevaporativewetcoil = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL +indirectevaporativecoolingtowerorcoilcooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER +indirectdirectcombination = IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION +userdefined = IfcEvaporativeCoolerTypeEnum.USERDEFINED +notdefined = IfcEvaporativeCoolerTypeEnum.NOTDEFINED IfcEvaporatorTypeEnum = enum_namespace() -directexpansionshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONSHELLANDTUBE', INDETERMINATE) -directexpansiontubeintube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONTUBEINTUBE', INDETERMINATE) -directexpansionbrazedplate = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONBRAZEDPLATE', INDETERMINATE) -floodedshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'FLOODEDSHELLANDTUBE', INDETERMINATE) -shellandcoil = express_getattr(IfcEvaporatorTypeEnum, 'SHELLANDCOIL', INDETERMINATE) -userdefined = express_getattr(IfcEvaporatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +directexpansionshellandtube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE +directexpansiontubeintube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE +directexpansionbrazedplate = IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE +floodedshellandtube = IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE +shellandcoil = IfcEvaporatorTypeEnum.SHELLANDCOIL +userdefined = IfcEvaporatorTypeEnum.USERDEFINED +notdefined = IfcEvaporatorTypeEnum.NOTDEFINED IfcFanTypeEnum = enum_namespace() -centrifugalforwardcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALFORWARDCURVED', INDETERMINATE) -centrifugalradial = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALRADIAL', INDETERMINATE) -centrifugalbackwardinclinedcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALBACKWARDINCLINEDCURVED', INDETERMINATE) -centrifugalairfoil = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALAIRFOIL', INDETERMINATE) -tubeaxial = express_getattr(IfcFanTypeEnum, 'TUBEAXIAL', INDETERMINATE) -vaneaxial = express_getattr(IfcFanTypeEnum, 'VANEAXIAL', INDETERMINATE) -propelloraxial = express_getattr(IfcFanTypeEnum, 'PROPELLORAXIAL', INDETERMINATE) -userdefined = express_getattr(IfcFanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFanTypeEnum, 'NOTDEFINED', INDETERMINATE) +centrifugalforwardcurved = IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED +centrifugalradial = IfcFanTypeEnum.CENTRIFUGALRADIAL +centrifugalbackwardinclinedcurved = IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED +centrifugalairfoil = IfcFanTypeEnum.CENTRIFUGALAIRFOIL +tubeaxial = IfcFanTypeEnum.TUBEAXIAL +vaneaxial = IfcFanTypeEnum.VANEAXIAL +propelloraxial = IfcFanTypeEnum.PROPELLORAXIAL +userdefined = IfcFanTypeEnum.USERDEFINED +notdefined = IfcFanTypeEnum.NOTDEFINED IfcFilterTypeEnum = enum_namespace() -airparticlefilter = express_getattr(IfcFilterTypeEnum, 'AIRPARTICLEFILTER', INDETERMINATE) -odorfilter = express_getattr(IfcFilterTypeEnum, 'ODORFILTER', INDETERMINATE) -oilfilter = express_getattr(IfcFilterTypeEnum, 'OILFILTER', INDETERMINATE) -strainer = express_getattr(IfcFilterTypeEnum, 'STRAINER', INDETERMINATE) -waterfilter = express_getattr(IfcFilterTypeEnum, 'WATERFILTER', INDETERMINATE) -userdefined = express_getattr(IfcFilterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFilterTypeEnum, 'NOTDEFINED', INDETERMINATE) +airparticlefilter = IfcFilterTypeEnum.AIRPARTICLEFILTER +odorfilter = IfcFilterTypeEnum.ODORFILTER +oilfilter = IfcFilterTypeEnum.OILFILTER +strainer = IfcFilterTypeEnum.STRAINER +waterfilter = IfcFilterTypeEnum.WATERFILTER +userdefined = IfcFilterTypeEnum.USERDEFINED +notdefined = IfcFilterTypeEnum.NOTDEFINED IfcFireSuppressionTerminalTypeEnum = enum_namespace() -breechinginlet = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'BREECHINGINLET', INDETERMINATE) -firehydrant = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'FIREHYDRANT', INDETERMINATE) -hosereel = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -sprinkler = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLER', INDETERMINATE) -sprinklerdeflector = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLERDEFLECTOR', INDETERMINATE) -userdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +breechinginlet = IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET +firehydrant = IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT +hosereel = IfcFireSuppressionTerminalTypeEnum.HOSEREEL +sprinkler = IfcFireSuppressionTerminalTypeEnum.SPRINKLER +sprinklerdeflector = IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR +userdefined = IfcFireSuppressionTerminalTypeEnum.USERDEFINED +notdefined = IfcFireSuppressionTerminalTypeEnum.NOTDEFINED IfcFlowDirectionEnum = enum_namespace() -source = express_getattr(IfcFlowDirectionEnum, 'SOURCE', INDETERMINATE) -sink = express_getattr(IfcFlowDirectionEnum, 'SINK', INDETERMINATE) -sourceandsink = express_getattr(IfcFlowDirectionEnum, 'SOURCEANDSINK', INDETERMINATE) -notdefined = express_getattr(IfcFlowDirectionEnum, 'NOTDEFINED', INDETERMINATE) +source = IfcFlowDirectionEnum.SOURCE +sink = IfcFlowDirectionEnum.SINK +sourceandsink = IfcFlowDirectionEnum.SOURCEANDSINK +notdefined = IfcFlowDirectionEnum.NOTDEFINED IfcFlowInstrumentTypeEnum = enum_namespace() -pressuregauge = express_getattr(IfcFlowInstrumentTypeEnum, 'PRESSUREGAUGE', INDETERMINATE) -thermometer = express_getattr(IfcFlowInstrumentTypeEnum, 'THERMOMETER', INDETERMINATE) -ammeter = express_getattr(IfcFlowInstrumentTypeEnum, 'AMMETER', INDETERMINATE) -frequencymeter = express_getattr(IfcFlowInstrumentTypeEnum, 'FREQUENCYMETER', INDETERMINATE) -powerfactormeter = express_getattr(IfcFlowInstrumentTypeEnum, 'POWERFACTORMETER', INDETERMINATE) -phaseanglemeter = express_getattr(IfcFlowInstrumentTypeEnum, 'PHASEANGLEMETER', INDETERMINATE) -voltmeter_peak = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_PEAK', INDETERMINATE) -voltmeter_rms = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_RMS', INDETERMINATE) -userdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'NOTDEFINED', INDETERMINATE) +pressuregauge = IfcFlowInstrumentTypeEnum.PRESSUREGAUGE +thermometer = IfcFlowInstrumentTypeEnum.THERMOMETER +ammeter = IfcFlowInstrumentTypeEnum.AMMETER +frequencymeter = IfcFlowInstrumentTypeEnum.FREQUENCYMETER +powerfactormeter = IfcFlowInstrumentTypeEnum.POWERFACTORMETER +phaseanglemeter = IfcFlowInstrumentTypeEnum.PHASEANGLEMETER +voltmeter_peak = IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK +voltmeter_rms = IfcFlowInstrumentTypeEnum.VOLTMETER_RMS +userdefined = IfcFlowInstrumentTypeEnum.USERDEFINED +notdefined = IfcFlowInstrumentTypeEnum.NOTDEFINED IfcFlowMeterTypeEnum = enum_namespace() -electricmeter = express_getattr(IfcFlowMeterTypeEnum, 'ELECTRICMETER', INDETERMINATE) -energymeter = express_getattr(IfcFlowMeterTypeEnum, 'ENERGYMETER', INDETERMINATE) -flowmeter = express_getattr(IfcFlowMeterTypeEnum, 'FLOWMETER', INDETERMINATE) -gasmeter = express_getattr(IfcFlowMeterTypeEnum, 'GASMETER', INDETERMINATE) -oilmeter = express_getattr(IfcFlowMeterTypeEnum, 'OILMETER', INDETERMINATE) -watermeter = express_getattr(IfcFlowMeterTypeEnum, 'WATERMETER', INDETERMINATE) -userdefined = express_getattr(IfcFlowMeterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowMeterTypeEnum, 'NOTDEFINED', INDETERMINATE) +electricmeter = IfcFlowMeterTypeEnum.ELECTRICMETER +energymeter = IfcFlowMeterTypeEnum.ENERGYMETER +flowmeter = IfcFlowMeterTypeEnum.FLOWMETER +gasmeter = IfcFlowMeterTypeEnum.GASMETER +oilmeter = IfcFlowMeterTypeEnum.OILMETER +watermeter = IfcFlowMeterTypeEnum.WATERMETER +userdefined = IfcFlowMeterTypeEnum.USERDEFINED +notdefined = IfcFlowMeterTypeEnum.NOTDEFINED IfcFootingTypeEnum = enum_namespace() -footing_beam = express_getattr(IfcFootingTypeEnum, 'FOOTING_BEAM', INDETERMINATE) -pad_footing = express_getattr(IfcFootingTypeEnum, 'PAD_FOOTING', INDETERMINATE) -pile_cap = express_getattr(IfcFootingTypeEnum, 'PILE_CAP', INDETERMINATE) -strip_footing = express_getattr(IfcFootingTypeEnum, 'STRIP_FOOTING', INDETERMINATE) -userdefined = express_getattr(IfcFootingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFootingTypeEnum, 'NOTDEFINED', INDETERMINATE) +footing_beam = IfcFootingTypeEnum.FOOTING_BEAM +pad_footing = IfcFootingTypeEnum.PAD_FOOTING +pile_cap = IfcFootingTypeEnum.PILE_CAP +strip_footing = IfcFootingTypeEnum.STRIP_FOOTING +userdefined = IfcFootingTypeEnum.USERDEFINED +notdefined = IfcFootingTypeEnum.NOTDEFINED IfcGasTerminalTypeEnum = enum_namespace() -gasappliance = express_getattr(IfcGasTerminalTypeEnum, 'GASAPPLIANCE', INDETERMINATE) -gasbooster = express_getattr(IfcGasTerminalTypeEnum, 'GASBOOSTER', INDETERMINATE) -gasburner = express_getattr(IfcGasTerminalTypeEnum, 'GASBURNER', INDETERMINATE) -userdefined = express_getattr(IfcGasTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGasTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +gasappliance = IfcGasTerminalTypeEnum.GASAPPLIANCE +gasbooster = IfcGasTerminalTypeEnum.GASBOOSTER +gasburner = IfcGasTerminalTypeEnum.GASBURNER +userdefined = IfcGasTerminalTypeEnum.USERDEFINED +notdefined = IfcGasTerminalTypeEnum.NOTDEFINED IfcGeometricProjectionEnum = enum_namespace() -graph_view = express_getattr(IfcGeometricProjectionEnum, 'GRAPH_VIEW', INDETERMINATE) -sketch_view = express_getattr(IfcGeometricProjectionEnum, 'SKETCH_VIEW', INDETERMINATE) -model_view = express_getattr(IfcGeometricProjectionEnum, 'MODEL_VIEW', INDETERMINATE) -plan_view = express_getattr(IfcGeometricProjectionEnum, 'PLAN_VIEW', INDETERMINATE) -reflected_plan_view = express_getattr(IfcGeometricProjectionEnum, 'REFLECTED_PLAN_VIEW', INDETERMINATE) -section_view = express_getattr(IfcGeometricProjectionEnum, 'SECTION_VIEW', INDETERMINATE) -elevation_view = express_getattr(IfcGeometricProjectionEnum, 'ELEVATION_VIEW', INDETERMINATE) -userdefined = express_getattr(IfcGeometricProjectionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeometricProjectionEnum, 'NOTDEFINED', INDETERMINATE) +graph_view = IfcGeometricProjectionEnum.GRAPH_VIEW +sketch_view = IfcGeometricProjectionEnum.SKETCH_VIEW +model_view = IfcGeometricProjectionEnum.MODEL_VIEW +plan_view = IfcGeometricProjectionEnum.PLAN_VIEW +reflected_plan_view = IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW +section_view = IfcGeometricProjectionEnum.SECTION_VIEW +elevation_view = IfcGeometricProjectionEnum.ELEVATION_VIEW +userdefined = IfcGeometricProjectionEnum.USERDEFINED +notdefined = IfcGeometricProjectionEnum.NOTDEFINED IfcGlobalOrLocalEnum = enum_namespace() -global_coords = express_getattr(IfcGlobalOrLocalEnum, 'GLOBAL_COORDS', INDETERMINATE) -local_coords = express_getattr(IfcGlobalOrLocalEnum, 'LOCAL_COORDS', INDETERMINATE) +global_coords = IfcGlobalOrLocalEnum.GLOBAL_COORDS +local_coords = IfcGlobalOrLocalEnum.LOCAL_COORDS IfcHeatExchangerTypeEnum = enum_namespace() -plate = express_getattr(IfcHeatExchangerTypeEnum, 'PLATE', INDETERMINATE) -shellandtube = express_getattr(IfcHeatExchangerTypeEnum, 'SHELLANDTUBE', INDETERMINATE) -userdefined = express_getattr(IfcHeatExchangerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHeatExchangerTypeEnum, 'NOTDEFINED', INDETERMINATE) +plate = IfcHeatExchangerTypeEnum.PLATE +shellandtube = IfcHeatExchangerTypeEnum.SHELLANDTUBE +userdefined = IfcHeatExchangerTypeEnum.USERDEFINED +notdefined = IfcHeatExchangerTypeEnum.NOTDEFINED IfcHumidifierTypeEnum = enum_namespace() -steaminjection = express_getattr(IfcHumidifierTypeEnum, 'STEAMINJECTION', INDETERMINATE) -adiabaticairwasher = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICAIRWASHER', INDETERMINATE) -adiabaticpan = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICPAN', INDETERMINATE) -adiabaticwettedelement = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICWETTEDELEMENT', INDETERMINATE) -adiabaticatomizing = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICATOMIZING', INDETERMINATE) -adiabaticultrasonic = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICULTRASONIC', INDETERMINATE) -adiabaticrigidmedia = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICRIGIDMEDIA', INDETERMINATE) -adiabaticcompressedairnozzle = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICCOMPRESSEDAIRNOZZLE', INDETERMINATE) -assistedelectric = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDELECTRIC', INDETERMINATE) -assistednaturalgas = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDNATURALGAS', INDETERMINATE) -assistedpropane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDPROPANE', INDETERMINATE) -assistedbutane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDBUTANE', INDETERMINATE) -assistedsteam = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDSTEAM', INDETERMINATE) -userdefined = express_getattr(IfcHumidifierTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHumidifierTypeEnum, 'NOTDEFINED', INDETERMINATE) +steaminjection = IfcHumidifierTypeEnum.STEAMINJECTION +adiabaticairwasher = IfcHumidifierTypeEnum.ADIABATICAIRWASHER +adiabaticpan = IfcHumidifierTypeEnum.ADIABATICPAN +adiabaticwettedelement = IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT +adiabaticatomizing = IfcHumidifierTypeEnum.ADIABATICATOMIZING +adiabaticultrasonic = IfcHumidifierTypeEnum.ADIABATICULTRASONIC +adiabaticrigidmedia = IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA +adiabaticcompressedairnozzle = IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE +assistedelectric = IfcHumidifierTypeEnum.ASSISTEDELECTRIC +assistednaturalgas = IfcHumidifierTypeEnum.ASSISTEDNATURALGAS +assistedpropane = IfcHumidifierTypeEnum.ASSISTEDPROPANE +assistedbutane = IfcHumidifierTypeEnum.ASSISTEDBUTANE +assistedsteam = IfcHumidifierTypeEnum.ASSISTEDSTEAM +userdefined = IfcHumidifierTypeEnum.USERDEFINED +notdefined = IfcHumidifierTypeEnum.NOTDEFINED IfcInternalOrExternalEnum = enum_namespace() -internal = express_getattr(IfcInternalOrExternalEnum, 'INTERNAL', INDETERMINATE) -external = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL', INDETERMINATE) -notdefined = express_getattr(IfcInternalOrExternalEnum, 'NOTDEFINED', INDETERMINATE) +internal = IfcInternalOrExternalEnum.INTERNAL +external = IfcInternalOrExternalEnum.EXTERNAL +notdefined = IfcInternalOrExternalEnum.NOTDEFINED IfcInventoryTypeEnum = enum_namespace() -assetinventory = express_getattr(IfcInventoryTypeEnum, 'ASSETINVENTORY', INDETERMINATE) -spaceinventory = express_getattr(IfcInventoryTypeEnum, 'SPACEINVENTORY', INDETERMINATE) -furnitureinventory = express_getattr(IfcInventoryTypeEnum, 'FURNITUREINVENTORY', INDETERMINATE) -userdefined = express_getattr(IfcInventoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInventoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +assetinventory = IfcInventoryTypeEnum.ASSETINVENTORY +spaceinventory = IfcInventoryTypeEnum.SPACEINVENTORY +furnitureinventory = IfcInventoryTypeEnum.FURNITUREINVENTORY +userdefined = IfcInventoryTypeEnum.USERDEFINED +notdefined = IfcInventoryTypeEnum.NOTDEFINED IfcJunctionBoxTypeEnum = enum_namespace() -userdefined = express_getattr(IfcJunctionBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcJunctionBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcJunctionBoxTypeEnum.USERDEFINED +notdefined = IfcJunctionBoxTypeEnum.NOTDEFINED IfcLampTypeEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLampTypeEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLampTypeEnum, 'FLUORESCENT', INDETERMINATE) -highpressuremercury = express_getattr(IfcLampTypeEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLampTypeEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -metalhalide = express_getattr(IfcLampTypeEnum, 'METALHALIDE', INDETERMINATE) -tungstenfilament = express_getattr(IfcLampTypeEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -userdefined = express_getattr(IfcLampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLampTypeEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLampTypeEnum.COMPACTFLUORESCENT +fluorescent = IfcLampTypeEnum.FLUORESCENT +highpressuremercury = IfcLampTypeEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLampTypeEnum.HIGHPRESSURESODIUM +metalhalide = IfcLampTypeEnum.METALHALIDE +tungstenfilament = IfcLampTypeEnum.TUNGSTENFILAMENT +userdefined = IfcLampTypeEnum.USERDEFINED +notdefined = IfcLampTypeEnum.NOTDEFINED IfcLayerSetDirectionEnum = enum_namespace() -axis1 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS1', INDETERMINATE) -axis2 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS2', INDETERMINATE) -axis3 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS3', INDETERMINATE) +axis1 = IfcLayerSetDirectionEnum.AXIS1 +axis2 = IfcLayerSetDirectionEnum.AXIS2 +axis3 = IfcLayerSetDirectionEnum.AXIS3 IfcLightDistributionCurveEnum = enum_namespace() -type_a = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_A', INDETERMINATE) -type_b = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_B', INDETERMINATE) -type_c = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_C', INDETERMINATE) -notdefined = express_getattr(IfcLightDistributionCurveEnum, 'NOTDEFINED', INDETERMINATE) +type_a = IfcLightDistributionCurveEnum.TYPE_A +type_b = IfcLightDistributionCurveEnum.TYPE_B +type_c = IfcLightDistributionCurveEnum.TYPE_C +notdefined = IfcLightDistributionCurveEnum.NOTDEFINED IfcLightEmissionSourceEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLightEmissionSourceEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLightEmissionSourceEnum, 'FLUORESCENT', INDETERMINATE) -highpressuremercury = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -lightemittingdiode = express_getattr(IfcLightEmissionSourceEnum, 'LIGHTEMITTINGDIODE', INDETERMINATE) -lowpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'LOWPRESSURESODIUM', INDETERMINATE) -lowvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'LOWVOLTAGEHALOGEN', INDETERMINATE) -mainvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'MAINVOLTAGEHALOGEN', INDETERMINATE) -metalhalide = express_getattr(IfcLightEmissionSourceEnum, 'METALHALIDE', INDETERMINATE) -tungstenfilament = express_getattr(IfcLightEmissionSourceEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -notdefined = express_getattr(IfcLightEmissionSourceEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLightEmissionSourceEnum.COMPACTFLUORESCENT +fluorescent = IfcLightEmissionSourceEnum.FLUORESCENT +highpressuremercury = IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM +lightemittingdiode = IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE +lowpressuresodium = IfcLightEmissionSourceEnum.LOWPRESSURESODIUM +lowvoltagehalogen = IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN +mainvoltagehalogen = IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN +metalhalide = IfcLightEmissionSourceEnum.METALHALIDE +tungstenfilament = IfcLightEmissionSourceEnum.TUNGSTENFILAMENT +notdefined = IfcLightEmissionSourceEnum.NOTDEFINED IfcLightFixtureTypeEnum = enum_namespace() -pointsource = express_getattr(IfcLightFixtureTypeEnum, 'POINTSOURCE', INDETERMINATE) -directionsource = express_getattr(IfcLightFixtureTypeEnum, 'DIRECTIONSOURCE', INDETERMINATE) -userdefined = express_getattr(IfcLightFixtureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLightFixtureTypeEnum, 'NOTDEFINED', INDETERMINATE) +pointsource = IfcLightFixtureTypeEnum.POINTSOURCE +directionsource = IfcLightFixtureTypeEnum.DIRECTIONSOURCE +userdefined = IfcLightFixtureTypeEnum.USERDEFINED +notdefined = IfcLightFixtureTypeEnum.NOTDEFINED IfcLoadGroupTypeEnum = enum_namespace() -load_group = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_GROUP', INDETERMINATE) -load_case = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_CASE', INDETERMINATE) -load_combination_group = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_COMBINATION_GROUP', INDETERMINATE) -load_combination = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_COMBINATION', INDETERMINATE) -userdefined = express_getattr(IfcLoadGroupTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLoadGroupTypeEnum, 'NOTDEFINED', INDETERMINATE) +load_group = IfcLoadGroupTypeEnum.LOAD_GROUP +load_case = IfcLoadGroupTypeEnum.LOAD_CASE +load_combination_group = IfcLoadGroupTypeEnum.LOAD_COMBINATION_GROUP +load_combination = IfcLoadGroupTypeEnum.LOAD_COMBINATION +userdefined = IfcLoadGroupTypeEnum.USERDEFINED +notdefined = IfcLoadGroupTypeEnum.NOTDEFINED IfcLogicalOperatorEnum = enum_namespace() -logicaland = express_getattr(IfcLogicalOperatorEnum, 'LOGICALAND', INDETERMINATE) -logicalor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALOR', INDETERMINATE) +logicaland = IfcLogicalOperatorEnum.LOGICALAND +logicalor = IfcLogicalOperatorEnum.LOGICALOR IfcMemberTypeEnum = enum_namespace() -brace = express_getattr(IfcMemberTypeEnum, 'BRACE', INDETERMINATE) -chord = express_getattr(IfcMemberTypeEnum, 'CHORD', INDETERMINATE) -collar = express_getattr(IfcMemberTypeEnum, 'COLLAR', INDETERMINATE) -member = express_getattr(IfcMemberTypeEnum, 'MEMBER', INDETERMINATE) -mullion = express_getattr(IfcMemberTypeEnum, 'MULLION', INDETERMINATE) -plate = express_getattr(IfcMemberTypeEnum, 'PLATE', INDETERMINATE) -post = express_getattr(IfcMemberTypeEnum, 'POST', INDETERMINATE) -purlin = express_getattr(IfcMemberTypeEnum, 'PURLIN', INDETERMINATE) -rafter = express_getattr(IfcMemberTypeEnum, 'RAFTER', INDETERMINATE) -stringer = express_getattr(IfcMemberTypeEnum, 'STRINGER', INDETERMINATE) -strut = express_getattr(IfcMemberTypeEnum, 'STRUT', INDETERMINATE) -stud = express_getattr(IfcMemberTypeEnum, 'STUD', INDETERMINATE) -userdefined = express_getattr(IfcMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +brace = IfcMemberTypeEnum.BRACE +chord = IfcMemberTypeEnum.CHORD +collar = IfcMemberTypeEnum.COLLAR +member = IfcMemberTypeEnum.MEMBER +mullion = IfcMemberTypeEnum.MULLION +plate = IfcMemberTypeEnum.PLATE +post = IfcMemberTypeEnum.POST +purlin = IfcMemberTypeEnum.PURLIN +rafter = IfcMemberTypeEnum.RAFTER +stringer = IfcMemberTypeEnum.STRINGER +strut = IfcMemberTypeEnum.STRUT +stud = IfcMemberTypeEnum.STUD +userdefined = IfcMemberTypeEnum.USERDEFINED +notdefined = IfcMemberTypeEnum.NOTDEFINED IfcMotorConnectionTypeEnum = enum_namespace() -beltdrive = express_getattr(IfcMotorConnectionTypeEnum, 'BELTDRIVE', INDETERMINATE) -coupling = express_getattr(IfcMotorConnectionTypeEnum, 'COUPLING', INDETERMINATE) -directdrive = express_getattr(IfcMotorConnectionTypeEnum, 'DIRECTDRIVE', INDETERMINATE) -userdefined = express_getattr(IfcMotorConnectionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMotorConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +beltdrive = IfcMotorConnectionTypeEnum.BELTDRIVE +coupling = IfcMotorConnectionTypeEnum.COUPLING +directdrive = IfcMotorConnectionTypeEnum.DIRECTDRIVE +userdefined = IfcMotorConnectionTypeEnum.USERDEFINED +notdefined = IfcMotorConnectionTypeEnum.NOTDEFINED IfcNullStyle = enum_namespace() -null = express_getattr(IfcNullStyle, 'NULL', INDETERMINATE) +null = IfcNullStyle.NULL IfcObjectTypeEnum = enum_namespace() -product = express_getattr(IfcObjectTypeEnum, 'PRODUCT', INDETERMINATE) -process = express_getattr(IfcObjectTypeEnum, 'PROCESS', INDETERMINATE) -control = express_getattr(IfcObjectTypeEnum, 'CONTROL', INDETERMINATE) -resource = express_getattr(IfcObjectTypeEnum, 'RESOURCE', INDETERMINATE) -actor = express_getattr(IfcObjectTypeEnum, 'ACTOR', INDETERMINATE) -group = express_getattr(IfcObjectTypeEnum, 'GROUP', INDETERMINATE) -project = express_getattr(IfcObjectTypeEnum, 'PROJECT', INDETERMINATE) -notdefined = express_getattr(IfcObjectTypeEnum, 'NOTDEFINED', INDETERMINATE) +product = IfcObjectTypeEnum.PRODUCT +process = IfcObjectTypeEnum.PROCESS +control = IfcObjectTypeEnum.CONTROL +resource = IfcObjectTypeEnum.RESOURCE +actor = IfcObjectTypeEnum.ACTOR +group = IfcObjectTypeEnum.GROUP +project = IfcObjectTypeEnum.PROJECT +notdefined = IfcObjectTypeEnum.NOTDEFINED IfcObjectiveEnum = enum_namespace() -codecompliance = express_getattr(IfcObjectiveEnum, 'CODECOMPLIANCE', INDETERMINATE) -designintent = express_getattr(IfcObjectiveEnum, 'DESIGNINTENT', INDETERMINATE) -healthandsafety = express_getattr(IfcObjectiveEnum, 'HEALTHANDSAFETY', INDETERMINATE) -requirement = express_getattr(IfcObjectiveEnum, 'REQUIREMENT', INDETERMINATE) -specification = express_getattr(IfcObjectiveEnum, 'SPECIFICATION', INDETERMINATE) -triggercondition = express_getattr(IfcObjectiveEnum, 'TRIGGERCONDITION', INDETERMINATE) -userdefined = express_getattr(IfcObjectiveEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcObjectiveEnum, 'NOTDEFINED', INDETERMINATE) +codecompliance = IfcObjectiveEnum.CODECOMPLIANCE +designintent = IfcObjectiveEnum.DESIGNINTENT +healthandsafety = IfcObjectiveEnum.HEALTHANDSAFETY +requirement = IfcObjectiveEnum.REQUIREMENT +specification = IfcObjectiveEnum.SPECIFICATION +triggercondition = IfcObjectiveEnum.TRIGGERCONDITION +userdefined = IfcObjectiveEnum.USERDEFINED +notdefined = IfcObjectiveEnum.NOTDEFINED IfcOccupantTypeEnum = enum_namespace() -assignee = express_getattr(IfcOccupantTypeEnum, 'ASSIGNEE', INDETERMINATE) -assignor = express_getattr(IfcOccupantTypeEnum, 'ASSIGNOR', INDETERMINATE) -lessee = express_getattr(IfcOccupantTypeEnum, 'LESSEE', INDETERMINATE) -lessor = express_getattr(IfcOccupantTypeEnum, 'LESSOR', INDETERMINATE) -lettingagent = express_getattr(IfcOccupantTypeEnum, 'LETTINGAGENT', INDETERMINATE) -owner = express_getattr(IfcOccupantTypeEnum, 'OWNER', INDETERMINATE) -tenant = express_getattr(IfcOccupantTypeEnum, 'TENANT', INDETERMINATE) -userdefined = express_getattr(IfcOccupantTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOccupantTypeEnum, 'NOTDEFINED', INDETERMINATE) +assignee = IfcOccupantTypeEnum.ASSIGNEE +assignor = IfcOccupantTypeEnum.ASSIGNOR +lessee = IfcOccupantTypeEnum.LESSEE +lessor = IfcOccupantTypeEnum.LESSOR +lettingagent = IfcOccupantTypeEnum.LETTINGAGENT +owner = IfcOccupantTypeEnum.OWNER +tenant = IfcOccupantTypeEnum.TENANT +userdefined = IfcOccupantTypeEnum.USERDEFINED +notdefined = IfcOccupantTypeEnum.NOTDEFINED IfcOutletTypeEnum = enum_namespace() -audiovisualoutlet = express_getattr(IfcOutletTypeEnum, 'AUDIOVISUALOUTLET', INDETERMINATE) -communicationsoutlet = express_getattr(IfcOutletTypeEnum, 'COMMUNICATIONSOUTLET', INDETERMINATE) -poweroutlet = express_getattr(IfcOutletTypeEnum, 'POWEROUTLET', INDETERMINATE) -userdefined = express_getattr(IfcOutletTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOutletTypeEnum, 'NOTDEFINED', INDETERMINATE) +audiovisualoutlet = IfcOutletTypeEnum.AUDIOVISUALOUTLET +communicationsoutlet = IfcOutletTypeEnum.COMMUNICATIONSOUTLET +poweroutlet = IfcOutletTypeEnum.POWEROUTLET +userdefined = IfcOutletTypeEnum.USERDEFINED +notdefined = IfcOutletTypeEnum.NOTDEFINED IfcPermeableCoveringOperationEnum = enum_namespace() -grill = express_getattr(IfcPermeableCoveringOperationEnum, 'GRILL', INDETERMINATE) -louver = express_getattr(IfcPermeableCoveringOperationEnum, 'LOUVER', INDETERMINATE) -screen = express_getattr(IfcPermeableCoveringOperationEnum, 'SCREEN', INDETERMINATE) -userdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'NOTDEFINED', INDETERMINATE) +grill = IfcPermeableCoveringOperationEnum.GRILL +louver = IfcPermeableCoveringOperationEnum.LOUVER +screen = IfcPermeableCoveringOperationEnum.SCREEN +userdefined = IfcPermeableCoveringOperationEnum.USERDEFINED +notdefined = IfcPermeableCoveringOperationEnum.NOTDEFINED IfcPhysicalOrVirtualEnum = enum_namespace() -physical = express_getattr(IfcPhysicalOrVirtualEnum, 'PHYSICAL', INDETERMINATE) -virtual = express_getattr(IfcPhysicalOrVirtualEnum, 'VIRTUAL', INDETERMINATE) -notdefined = express_getattr(IfcPhysicalOrVirtualEnum, 'NOTDEFINED', INDETERMINATE) +physical = IfcPhysicalOrVirtualEnum.PHYSICAL +virtual = IfcPhysicalOrVirtualEnum.VIRTUAL +notdefined = IfcPhysicalOrVirtualEnum.NOTDEFINED IfcPileConstructionEnum = enum_namespace() -cast_in_place = express_getattr(IfcPileConstructionEnum, 'CAST_IN_PLACE', INDETERMINATE) -composite = express_getattr(IfcPileConstructionEnum, 'COMPOSITE', INDETERMINATE) -precast_concrete = express_getattr(IfcPileConstructionEnum, 'PRECAST_CONCRETE', INDETERMINATE) -prefab_steel = express_getattr(IfcPileConstructionEnum, 'PREFAB_STEEL', INDETERMINATE) -userdefined = express_getattr(IfcPileConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileConstructionEnum, 'NOTDEFINED', INDETERMINATE) +cast_in_place = IfcPileConstructionEnum.CAST_IN_PLACE +composite = IfcPileConstructionEnum.COMPOSITE +precast_concrete = IfcPileConstructionEnum.PRECAST_CONCRETE +prefab_steel = IfcPileConstructionEnum.PREFAB_STEEL +userdefined = IfcPileConstructionEnum.USERDEFINED +notdefined = IfcPileConstructionEnum.NOTDEFINED IfcPileTypeEnum = enum_namespace() -cohesion = express_getattr(IfcPileTypeEnum, 'COHESION', INDETERMINATE) -friction = express_getattr(IfcPileTypeEnum, 'FRICTION', INDETERMINATE) -support = express_getattr(IfcPileTypeEnum, 'SUPPORT', INDETERMINATE) -userdefined = express_getattr(IfcPileTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileTypeEnum, 'NOTDEFINED', INDETERMINATE) +cohesion = IfcPileTypeEnum.COHESION +friction = IfcPileTypeEnum.FRICTION +support = IfcPileTypeEnum.SUPPORT +userdefined = IfcPileTypeEnum.USERDEFINED +notdefined = IfcPileTypeEnum.NOTDEFINED IfcPipeFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcPipeFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcPipeFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcPipeFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcPipeFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcPipeFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcPipeFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcPipeFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcPipeFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcPipeFittingTypeEnum.BEND +connector = IfcPipeFittingTypeEnum.CONNECTOR +entry = IfcPipeFittingTypeEnum.ENTRY +exit = IfcPipeFittingTypeEnum.EXIT +junction = IfcPipeFittingTypeEnum.JUNCTION +obstruction = IfcPipeFittingTypeEnum.OBSTRUCTION +transition = IfcPipeFittingTypeEnum.TRANSITION +userdefined = IfcPipeFittingTypeEnum.USERDEFINED +notdefined = IfcPipeFittingTypeEnum.NOTDEFINED IfcPipeSegmentTypeEnum = enum_namespace() -flexiblesegment = express_getattr(IfcPipeSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -rigidsegment = express_getattr(IfcPipeSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -gutter = express_getattr(IfcPipeSegmentTypeEnum, 'GUTTER', INDETERMINATE) -spool = express_getattr(IfcPipeSegmentTypeEnum, 'SPOOL', INDETERMINATE) -userdefined = express_getattr(IfcPipeSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +flexiblesegment = IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT +rigidsegment = IfcPipeSegmentTypeEnum.RIGIDSEGMENT +gutter = IfcPipeSegmentTypeEnum.GUTTER +spool = IfcPipeSegmentTypeEnum.SPOOL +userdefined = IfcPipeSegmentTypeEnum.USERDEFINED +notdefined = IfcPipeSegmentTypeEnum.NOTDEFINED IfcPlateTypeEnum = enum_namespace() -curtain_panel = express_getattr(IfcPlateTypeEnum, 'CURTAIN_PANEL', INDETERMINATE) -sheet = express_getattr(IfcPlateTypeEnum, 'SHEET', INDETERMINATE) -userdefined = express_getattr(IfcPlateTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPlateTypeEnum, 'NOTDEFINED', INDETERMINATE) +curtain_panel = IfcPlateTypeEnum.CURTAIN_PANEL +sheet = IfcPlateTypeEnum.SHEET +userdefined = IfcPlateTypeEnum.USERDEFINED +notdefined = IfcPlateTypeEnum.NOTDEFINED IfcProcedureTypeEnum = enum_namespace() -advice_caution = express_getattr(IfcProcedureTypeEnum, 'ADVICE_CAUTION', INDETERMINATE) -advice_note = express_getattr(IfcProcedureTypeEnum, 'ADVICE_NOTE', INDETERMINATE) -advice_warning = express_getattr(IfcProcedureTypeEnum, 'ADVICE_WARNING', INDETERMINATE) -calibration = express_getattr(IfcProcedureTypeEnum, 'CALIBRATION', INDETERMINATE) -diagnostic = express_getattr(IfcProcedureTypeEnum, 'DIAGNOSTIC', INDETERMINATE) -shutdown = express_getattr(IfcProcedureTypeEnum, 'SHUTDOWN', INDETERMINATE) -startup = express_getattr(IfcProcedureTypeEnum, 'STARTUP', INDETERMINATE) -userdefined = express_getattr(IfcProcedureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProcedureTypeEnum, 'NOTDEFINED', INDETERMINATE) +advice_caution = IfcProcedureTypeEnum.ADVICE_CAUTION +advice_note = IfcProcedureTypeEnum.ADVICE_NOTE +advice_warning = IfcProcedureTypeEnum.ADVICE_WARNING +calibration = IfcProcedureTypeEnum.CALIBRATION +diagnostic = IfcProcedureTypeEnum.DIAGNOSTIC +shutdown = IfcProcedureTypeEnum.SHUTDOWN +startup = IfcProcedureTypeEnum.STARTUP +userdefined = IfcProcedureTypeEnum.USERDEFINED +notdefined = IfcProcedureTypeEnum.NOTDEFINED IfcProfileTypeEnum = enum_namespace() -curve = express_getattr(IfcProfileTypeEnum, 'CURVE', INDETERMINATE) -area = express_getattr(IfcProfileTypeEnum, 'AREA', INDETERMINATE) +curve = IfcProfileTypeEnum.CURVE +area = IfcProfileTypeEnum.AREA IfcProjectOrderRecordTypeEnum = enum_namespace() -change = express_getattr(IfcProjectOrderRecordTypeEnum, 'CHANGE', INDETERMINATE) -maintenance = express_getattr(IfcProjectOrderRecordTypeEnum, 'MAINTENANCE', INDETERMINATE) -move = express_getattr(IfcProjectOrderRecordTypeEnum, 'MOVE', INDETERMINATE) -purchase = express_getattr(IfcProjectOrderRecordTypeEnum, 'PURCHASE', INDETERMINATE) -work = express_getattr(IfcProjectOrderRecordTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcProjectOrderRecordTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectOrderRecordTypeEnum, 'NOTDEFINED', INDETERMINATE) +change = IfcProjectOrderRecordTypeEnum.CHANGE +maintenance = IfcProjectOrderRecordTypeEnum.MAINTENANCE +move = IfcProjectOrderRecordTypeEnum.MOVE +purchase = IfcProjectOrderRecordTypeEnum.PURCHASE +work = IfcProjectOrderRecordTypeEnum.WORK +userdefined = IfcProjectOrderRecordTypeEnum.USERDEFINED +notdefined = IfcProjectOrderRecordTypeEnum.NOTDEFINED IfcProjectOrderTypeEnum = enum_namespace() -changeorder = express_getattr(IfcProjectOrderTypeEnum, 'CHANGEORDER', INDETERMINATE) -maintenanceworkorder = express_getattr(IfcProjectOrderTypeEnum, 'MAINTENANCEWORKORDER', INDETERMINATE) -moveorder = express_getattr(IfcProjectOrderTypeEnum, 'MOVEORDER', INDETERMINATE) -purchaseorder = express_getattr(IfcProjectOrderTypeEnum, 'PURCHASEORDER', INDETERMINATE) -workorder = express_getattr(IfcProjectOrderTypeEnum, 'WORKORDER', INDETERMINATE) -userdefined = express_getattr(IfcProjectOrderTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectOrderTypeEnum, 'NOTDEFINED', INDETERMINATE) +changeorder = IfcProjectOrderTypeEnum.CHANGEORDER +maintenanceworkorder = IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER +moveorder = IfcProjectOrderTypeEnum.MOVEORDER +purchaseorder = IfcProjectOrderTypeEnum.PURCHASEORDER +workorder = IfcProjectOrderTypeEnum.WORKORDER +userdefined = IfcProjectOrderTypeEnum.USERDEFINED +notdefined = IfcProjectOrderTypeEnum.NOTDEFINED IfcProjectedOrTrueLengthEnum = enum_namespace() -projected_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'PROJECTED_LENGTH', INDETERMINATE) -true_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'TRUE_LENGTH', INDETERMINATE) +projected_length = IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH +true_length = IfcProjectedOrTrueLengthEnum.TRUE_LENGTH IfcPropertySourceEnum = enum_namespace() -design = express_getattr(IfcPropertySourceEnum, 'DESIGN', INDETERMINATE) -designmaximum = express_getattr(IfcPropertySourceEnum, 'DESIGNMAXIMUM', INDETERMINATE) -designminimum = express_getattr(IfcPropertySourceEnum, 'DESIGNMINIMUM', INDETERMINATE) -simulated = express_getattr(IfcPropertySourceEnum, 'SIMULATED', INDETERMINATE) -asbuilt = express_getattr(IfcPropertySourceEnum, 'ASBUILT', INDETERMINATE) -commissioning = express_getattr(IfcPropertySourceEnum, 'COMMISSIONING', INDETERMINATE) -measured = express_getattr(IfcPropertySourceEnum, 'MEASURED', INDETERMINATE) -userdefined = express_getattr(IfcPropertySourceEnum, 'USERDEFINED', INDETERMINATE) -notknown = express_getattr(IfcPropertySourceEnum, 'NOTKNOWN', INDETERMINATE) +design = IfcPropertySourceEnum.DESIGN +designmaximum = IfcPropertySourceEnum.DESIGNMAXIMUM +designminimum = IfcPropertySourceEnum.DESIGNMINIMUM +simulated = IfcPropertySourceEnum.SIMULATED +asbuilt = IfcPropertySourceEnum.ASBUILT +commissioning = IfcPropertySourceEnum.COMMISSIONING +measured = IfcPropertySourceEnum.MEASURED +userdefined = IfcPropertySourceEnum.USERDEFINED +notknown = IfcPropertySourceEnum.NOTKNOWN IfcProtectiveDeviceTypeEnum = enum_namespace() -fusedisconnector = express_getattr(IfcProtectiveDeviceTypeEnum, 'FUSEDISCONNECTOR', INDETERMINATE) -circuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'CIRCUITBREAKER', INDETERMINATE) -earthfailuredevice = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHFAILUREDEVICE', INDETERMINATE) -residualcurrentcircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTCIRCUITBREAKER', INDETERMINATE) -residualcurrentswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTSWITCH', INDETERMINATE) -varistor = express_getattr(IfcProtectiveDeviceTypeEnum, 'VARISTOR', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +fusedisconnector = IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR +circuitbreaker = IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER +earthfailuredevice = IfcProtectiveDeviceTypeEnum.EARTHFAILUREDEVICE +residualcurrentcircuitbreaker = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER +residualcurrentswitch = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH +varistor = IfcProtectiveDeviceTypeEnum.VARISTOR +userdefined = IfcProtectiveDeviceTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTypeEnum.NOTDEFINED IfcPumpTypeEnum = enum_namespace() -circulator = express_getattr(IfcPumpTypeEnum, 'CIRCULATOR', INDETERMINATE) -endsuction = express_getattr(IfcPumpTypeEnum, 'ENDSUCTION', INDETERMINATE) -splitcase = express_getattr(IfcPumpTypeEnum, 'SPLITCASE', INDETERMINATE) -verticalinline = express_getattr(IfcPumpTypeEnum, 'VERTICALINLINE', INDETERMINATE) -verticalturbine = express_getattr(IfcPumpTypeEnum, 'VERTICALTURBINE', INDETERMINATE) -userdefined = express_getattr(IfcPumpTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPumpTypeEnum, 'NOTDEFINED', INDETERMINATE) +circulator = IfcPumpTypeEnum.CIRCULATOR +endsuction = IfcPumpTypeEnum.ENDSUCTION +splitcase = IfcPumpTypeEnum.SPLITCASE +verticalinline = IfcPumpTypeEnum.VERTICALINLINE +verticalturbine = IfcPumpTypeEnum.VERTICALTURBINE +userdefined = IfcPumpTypeEnum.USERDEFINED +notdefined = IfcPumpTypeEnum.NOTDEFINED IfcRailingTypeEnum = enum_namespace() -handrail = express_getattr(IfcRailingTypeEnum, 'HANDRAIL', INDETERMINATE) -guardrail = express_getattr(IfcRailingTypeEnum, 'GUARDRAIL', INDETERMINATE) -balustrade = express_getattr(IfcRailingTypeEnum, 'BALUSTRADE', INDETERMINATE) -userdefined = express_getattr(IfcRailingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailingTypeEnum, 'NOTDEFINED', INDETERMINATE) +handrail = IfcRailingTypeEnum.HANDRAIL +guardrail = IfcRailingTypeEnum.GUARDRAIL +balustrade = IfcRailingTypeEnum.BALUSTRADE +userdefined = IfcRailingTypeEnum.USERDEFINED +notdefined = IfcRailingTypeEnum.NOTDEFINED IfcRampFlightTypeEnum = enum_namespace() -straight = express_getattr(IfcRampFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -spiral = express_getattr(IfcRampFlightTypeEnum, 'SPIRAL', INDETERMINATE) -userdefined = express_getattr(IfcRampFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight = IfcRampFlightTypeEnum.STRAIGHT +spiral = IfcRampFlightTypeEnum.SPIRAL +userdefined = IfcRampFlightTypeEnum.USERDEFINED +notdefined = IfcRampFlightTypeEnum.NOTDEFINED IfcRampTypeEnum = enum_namespace() -straight_run_ramp = express_getattr(IfcRampTypeEnum, 'STRAIGHT_RUN_RAMP', INDETERMINATE) -two_straight_run_ramp = express_getattr(IfcRampTypeEnum, 'TWO_STRAIGHT_RUN_RAMP', INDETERMINATE) -quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'QUARTER_TURN_RAMP', INDETERMINATE) -two_quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'TWO_QUARTER_TURN_RAMP', INDETERMINATE) -half_turn_ramp = express_getattr(IfcRampTypeEnum, 'HALF_TURN_RAMP', INDETERMINATE) -spiral_ramp = express_getattr(IfcRampTypeEnum, 'SPIRAL_RAMP', INDETERMINATE) -userdefined = express_getattr(IfcRampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight_run_ramp = IfcRampTypeEnum.STRAIGHT_RUN_RAMP +two_straight_run_ramp = IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP +quarter_turn_ramp = IfcRampTypeEnum.QUARTER_TURN_RAMP +two_quarter_turn_ramp = IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP +half_turn_ramp = IfcRampTypeEnum.HALF_TURN_RAMP +spiral_ramp = IfcRampTypeEnum.SPIRAL_RAMP +userdefined = IfcRampTypeEnum.USERDEFINED +notdefined = IfcRampTypeEnum.NOTDEFINED IfcReflectanceMethodEnum = enum_namespace() -blinn = express_getattr(IfcReflectanceMethodEnum, 'BLINN', INDETERMINATE) -flat = express_getattr(IfcReflectanceMethodEnum, 'FLAT', INDETERMINATE) -glass = express_getattr(IfcReflectanceMethodEnum, 'GLASS', INDETERMINATE) -matt = express_getattr(IfcReflectanceMethodEnum, 'MATT', INDETERMINATE) -metal = express_getattr(IfcReflectanceMethodEnum, 'METAL', INDETERMINATE) -mirror = express_getattr(IfcReflectanceMethodEnum, 'MIRROR', INDETERMINATE) -phong = express_getattr(IfcReflectanceMethodEnum, 'PHONG', INDETERMINATE) -plastic = express_getattr(IfcReflectanceMethodEnum, 'PLASTIC', INDETERMINATE) -strauss = express_getattr(IfcReflectanceMethodEnum, 'STRAUSS', INDETERMINATE) -notdefined = express_getattr(IfcReflectanceMethodEnum, 'NOTDEFINED', INDETERMINATE) +blinn = IfcReflectanceMethodEnum.BLINN +flat = IfcReflectanceMethodEnum.FLAT +glass = IfcReflectanceMethodEnum.GLASS +matt = IfcReflectanceMethodEnum.MATT +metal = IfcReflectanceMethodEnum.METAL +mirror = IfcReflectanceMethodEnum.MIRROR +phong = IfcReflectanceMethodEnum.PHONG +plastic = IfcReflectanceMethodEnum.PLASTIC +strauss = IfcReflectanceMethodEnum.STRAUSS +notdefined = IfcReflectanceMethodEnum.NOTDEFINED IfcReinforcingBarRoleEnum = enum_namespace() -main = express_getattr(IfcReinforcingBarRoleEnum, 'MAIN', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarRoleEnum, 'SHEAR', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarRoleEnum, 'LIGATURE', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarRoleEnum, 'STUD', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarRoleEnum, 'PUNCHING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarRoleEnum, 'EDGE', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarRoleEnum, 'RING', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarRoleEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarRoleEnum, 'NOTDEFINED', INDETERMINATE) +main = IfcReinforcingBarRoleEnum.MAIN +shear = IfcReinforcingBarRoleEnum.SHEAR +ligature = IfcReinforcingBarRoleEnum.LIGATURE +stud = IfcReinforcingBarRoleEnum.STUD +punching = IfcReinforcingBarRoleEnum.PUNCHING +edge = IfcReinforcingBarRoleEnum.EDGE +ring = IfcReinforcingBarRoleEnum.RING +userdefined = IfcReinforcingBarRoleEnum.USERDEFINED +notdefined = IfcReinforcingBarRoleEnum.NOTDEFINED IfcReinforcingBarSurfaceEnum = enum_namespace() -plain = express_getattr(IfcReinforcingBarSurfaceEnum, 'PLAIN', INDETERMINATE) -textured = express_getattr(IfcReinforcingBarSurfaceEnum, 'TEXTURED', INDETERMINATE) +plain = IfcReinforcingBarSurfaceEnum.PLAIN +textured = IfcReinforcingBarSurfaceEnum.TEXTURED IfcResourceConsumptionEnum = enum_namespace() -consumed = express_getattr(IfcResourceConsumptionEnum, 'CONSUMED', INDETERMINATE) -partiallyconsumed = express_getattr(IfcResourceConsumptionEnum, 'PARTIALLYCONSUMED', INDETERMINATE) -notconsumed = express_getattr(IfcResourceConsumptionEnum, 'NOTCONSUMED', INDETERMINATE) -occupied = express_getattr(IfcResourceConsumptionEnum, 'OCCUPIED', INDETERMINATE) -partiallyoccupied = express_getattr(IfcResourceConsumptionEnum, 'PARTIALLYOCCUPIED', INDETERMINATE) -notoccupied = express_getattr(IfcResourceConsumptionEnum, 'NOTOCCUPIED', INDETERMINATE) -userdefined = express_getattr(IfcResourceConsumptionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcResourceConsumptionEnum, 'NOTDEFINED', INDETERMINATE) +consumed = IfcResourceConsumptionEnum.CONSUMED +partiallyconsumed = IfcResourceConsumptionEnum.PARTIALLYCONSUMED +notconsumed = IfcResourceConsumptionEnum.NOTCONSUMED +occupied = IfcResourceConsumptionEnum.OCCUPIED +partiallyoccupied = IfcResourceConsumptionEnum.PARTIALLYOCCUPIED +notoccupied = IfcResourceConsumptionEnum.NOTOCCUPIED +userdefined = IfcResourceConsumptionEnum.USERDEFINED +notdefined = IfcResourceConsumptionEnum.NOTDEFINED IfcRibPlateDirectionEnum = enum_namespace() -direction_x = express_getattr(IfcRibPlateDirectionEnum, 'DIRECTION_X', INDETERMINATE) -direction_y = express_getattr(IfcRibPlateDirectionEnum, 'DIRECTION_Y', INDETERMINATE) +direction_x = IfcRibPlateDirectionEnum.DIRECTION_X +direction_y = IfcRibPlateDirectionEnum.DIRECTION_Y IfcRoleEnum = enum_namespace() -supplier = express_getattr(IfcRoleEnum, 'SUPPLIER', INDETERMINATE) -manufacturer = express_getattr(IfcRoleEnum, 'MANUFACTURER', INDETERMINATE) -contractor = express_getattr(IfcRoleEnum, 'CONTRACTOR', INDETERMINATE) -subcontractor = express_getattr(IfcRoleEnum, 'SUBCONTRACTOR', INDETERMINATE) -architect = express_getattr(IfcRoleEnum, 'ARCHITECT', INDETERMINATE) -structuralengineer = express_getattr(IfcRoleEnum, 'STRUCTURALENGINEER', INDETERMINATE) -costengineer = express_getattr(IfcRoleEnum, 'COSTENGINEER', INDETERMINATE) -client = express_getattr(IfcRoleEnum, 'CLIENT', INDETERMINATE) -buildingowner = express_getattr(IfcRoleEnum, 'BUILDINGOWNER', INDETERMINATE) -buildingoperator = express_getattr(IfcRoleEnum, 'BUILDINGOPERATOR', INDETERMINATE) -mechanicalengineer = express_getattr(IfcRoleEnum, 'MECHANICALENGINEER', INDETERMINATE) -electricalengineer = express_getattr(IfcRoleEnum, 'ELECTRICALENGINEER', INDETERMINATE) -projectmanager = express_getattr(IfcRoleEnum, 'PROJECTMANAGER', INDETERMINATE) -facilitiesmanager = express_getattr(IfcRoleEnum, 'FACILITIESMANAGER', INDETERMINATE) -civilengineer = express_getattr(IfcRoleEnum, 'CIVILENGINEER', INDETERMINATE) -comissioningengineer = express_getattr(IfcRoleEnum, 'COMISSIONINGENGINEER', INDETERMINATE) -engineer = express_getattr(IfcRoleEnum, 'ENGINEER', INDETERMINATE) -owner = express_getattr(IfcRoleEnum, 'OWNER', INDETERMINATE) -consultant = express_getattr(IfcRoleEnum, 'CONSULTANT', INDETERMINATE) -constructionmanager = express_getattr(IfcRoleEnum, 'CONSTRUCTIONMANAGER', INDETERMINATE) -fieldconstructionmanager = express_getattr(IfcRoleEnum, 'FIELDCONSTRUCTIONMANAGER', INDETERMINATE) -reseller = express_getattr(IfcRoleEnum, 'RESELLER', INDETERMINATE) -userdefined = express_getattr(IfcRoleEnum, 'USERDEFINED', INDETERMINATE) +supplier = IfcRoleEnum.SUPPLIER +manufacturer = IfcRoleEnum.MANUFACTURER +contractor = IfcRoleEnum.CONTRACTOR +subcontractor = IfcRoleEnum.SUBCONTRACTOR +architect = IfcRoleEnum.ARCHITECT +structuralengineer = IfcRoleEnum.STRUCTURALENGINEER +costengineer = IfcRoleEnum.COSTENGINEER +client = IfcRoleEnum.CLIENT +buildingowner = IfcRoleEnum.BUILDINGOWNER +buildingoperator = IfcRoleEnum.BUILDINGOPERATOR +mechanicalengineer = IfcRoleEnum.MECHANICALENGINEER +electricalengineer = IfcRoleEnum.ELECTRICALENGINEER +projectmanager = IfcRoleEnum.PROJECTMANAGER +facilitiesmanager = IfcRoleEnum.FACILITIESMANAGER +civilengineer = IfcRoleEnum.CIVILENGINEER +comissioningengineer = IfcRoleEnum.COMISSIONINGENGINEER +engineer = IfcRoleEnum.ENGINEER +owner = IfcRoleEnum.OWNER +consultant = IfcRoleEnum.CONSULTANT +constructionmanager = IfcRoleEnum.CONSTRUCTIONMANAGER +fieldconstructionmanager = IfcRoleEnum.FIELDCONSTRUCTIONMANAGER +reseller = IfcRoleEnum.RESELLER +userdefined = IfcRoleEnum.USERDEFINED IfcRoofTypeEnum = enum_namespace() -flat_roof = express_getattr(IfcRoofTypeEnum, 'FLAT_ROOF', INDETERMINATE) -shed_roof = express_getattr(IfcRoofTypeEnum, 'SHED_ROOF', INDETERMINATE) -gable_roof = express_getattr(IfcRoofTypeEnum, 'GABLE_ROOF', INDETERMINATE) -hip_roof = express_getattr(IfcRoofTypeEnum, 'HIP_ROOF', INDETERMINATE) -hipped_gable_roof = express_getattr(IfcRoofTypeEnum, 'HIPPED_GABLE_ROOF', INDETERMINATE) -gambrel_roof = express_getattr(IfcRoofTypeEnum, 'GAMBREL_ROOF', INDETERMINATE) -mansard_roof = express_getattr(IfcRoofTypeEnum, 'MANSARD_ROOF', INDETERMINATE) -barrel_roof = express_getattr(IfcRoofTypeEnum, 'BARREL_ROOF', INDETERMINATE) -rainbow_roof = express_getattr(IfcRoofTypeEnum, 'RAINBOW_ROOF', INDETERMINATE) -butterfly_roof = express_getattr(IfcRoofTypeEnum, 'BUTTERFLY_ROOF', INDETERMINATE) -pavilion_roof = express_getattr(IfcRoofTypeEnum, 'PAVILION_ROOF', INDETERMINATE) -dome_roof = express_getattr(IfcRoofTypeEnum, 'DOME_ROOF', INDETERMINATE) -freeform = express_getattr(IfcRoofTypeEnum, 'FREEFORM', INDETERMINATE) -notdefined = express_getattr(IfcRoofTypeEnum, 'NOTDEFINED', INDETERMINATE) +flat_roof = IfcRoofTypeEnum.FLAT_ROOF +shed_roof = IfcRoofTypeEnum.SHED_ROOF +gable_roof = IfcRoofTypeEnum.GABLE_ROOF +hip_roof = IfcRoofTypeEnum.HIP_ROOF +hipped_gable_roof = IfcRoofTypeEnum.HIPPED_GABLE_ROOF +gambrel_roof = IfcRoofTypeEnum.GAMBREL_ROOF +mansard_roof = IfcRoofTypeEnum.MANSARD_ROOF +barrel_roof = IfcRoofTypeEnum.BARREL_ROOF +rainbow_roof = IfcRoofTypeEnum.RAINBOW_ROOF +butterfly_roof = IfcRoofTypeEnum.BUTTERFLY_ROOF +pavilion_roof = IfcRoofTypeEnum.PAVILION_ROOF +dome_roof = IfcRoofTypeEnum.DOME_ROOF +freeform = IfcRoofTypeEnum.FREEFORM +notdefined = IfcRoofTypeEnum.NOTDEFINED IfcSIPrefix = enum_namespace() -exa = express_getattr(IfcSIPrefix, 'EXA', INDETERMINATE) -peta = express_getattr(IfcSIPrefix, 'PETA', INDETERMINATE) -tera = express_getattr(IfcSIPrefix, 'TERA', INDETERMINATE) -giga = express_getattr(IfcSIPrefix, 'GIGA', INDETERMINATE) -mega = express_getattr(IfcSIPrefix, 'MEGA', INDETERMINATE) -kilo = express_getattr(IfcSIPrefix, 'KILO', INDETERMINATE) -hecto = express_getattr(IfcSIPrefix, 'HECTO', INDETERMINATE) -deca = express_getattr(IfcSIPrefix, 'DECA', INDETERMINATE) -deci = express_getattr(IfcSIPrefix, 'DECI', INDETERMINATE) -centi = express_getattr(IfcSIPrefix, 'CENTI', INDETERMINATE) -milli = express_getattr(IfcSIPrefix, 'MILLI', INDETERMINATE) -micro = express_getattr(IfcSIPrefix, 'MICRO', INDETERMINATE) -nano = express_getattr(IfcSIPrefix, 'NANO', INDETERMINATE) -pico = express_getattr(IfcSIPrefix, 'PICO', INDETERMINATE) -femto = express_getattr(IfcSIPrefix, 'FEMTO', INDETERMINATE) -atto = express_getattr(IfcSIPrefix, 'ATTO', INDETERMINATE) +exa = IfcSIPrefix.EXA +peta = IfcSIPrefix.PETA +tera = IfcSIPrefix.TERA +giga = IfcSIPrefix.GIGA +mega = IfcSIPrefix.MEGA +kilo = IfcSIPrefix.KILO +hecto = IfcSIPrefix.HECTO +deca = IfcSIPrefix.DECA +deci = IfcSIPrefix.DECI +centi = IfcSIPrefix.CENTI +milli = IfcSIPrefix.MILLI +micro = IfcSIPrefix.MICRO +nano = IfcSIPrefix.NANO +pico = IfcSIPrefix.PICO +femto = IfcSIPrefix.FEMTO +atto = IfcSIPrefix.ATTO IfcSIUnitName = enum_namespace() -ampere = express_getattr(IfcSIUnitName, 'AMPERE', INDETERMINATE) -becquerel = express_getattr(IfcSIUnitName, 'BECQUEREL', INDETERMINATE) -candela = express_getattr(IfcSIUnitName, 'CANDELA', INDETERMINATE) -coulomb = express_getattr(IfcSIUnitName, 'COULOMB', INDETERMINATE) -cubic_metre = express_getattr(IfcSIUnitName, 'CUBIC_METRE', INDETERMINATE) -degree_celsius = express_getattr(IfcSIUnitName, 'DEGREE_CELSIUS', INDETERMINATE) -farad = express_getattr(IfcSIUnitName, 'FARAD', INDETERMINATE) -gram = express_getattr(IfcSIUnitName, 'GRAM', INDETERMINATE) -gray = express_getattr(IfcSIUnitName, 'GRAY', INDETERMINATE) -henry = express_getattr(IfcSIUnitName, 'HENRY', INDETERMINATE) -hertz = express_getattr(IfcSIUnitName, 'HERTZ', INDETERMINATE) -joule = express_getattr(IfcSIUnitName, 'JOULE', INDETERMINATE) -kelvin = express_getattr(IfcSIUnitName, 'KELVIN', INDETERMINATE) -lumen = express_getattr(IfcSIUnitName, 'LUMEN', INDETERMINATE) -lux = express_getattr(IfcSIUnitName, 'LUX', INDETERMINATE) -metre = express_getattr(IfcSIUnitName, 'METRE', INDETERMINATE) -mole = express_getattr(IfcSIUnitName, 'MOLE', INDETERMINATE) -newton = express_getattr(IfcSIUnitName, 'NEWTON', INDETERMINATE) -ohm = express_getattr(IfcSIUnitName, 'OHM', INDETERMINATE) -pascal = express_getattr(IfcSIUnitName, 'PASCAL', INDETERMINATE) -radian = express_getattr(IfcSIUnitName, 'RADIAN', INDETERMINATE) -second = express_getattr(IfcSIUnitName, 'SECOND', INDETERMINATE) -siemens = express_getattr(IfcSIUnitName, 'SIEMENS', INDETERMINATE) -sievert = express_getattr(IfcSIUnitName, 'SIEVERT', INDETERMINATE) -square_metre = express_getattr(IfcSIUnitName, 'SQUARE_METRE', INDETERMINATE) -steradian = express_getattr(IfcSIUnitName, 'STERADIAN', INDETERMINATE) -tesla = express_getattr(IfcSIUnitName, 'TESLA', INDETERMINATE) -volt = express_getattr(IfcSIUnitName, 'VOLT', INDETERMINATE) -watt = express_getattr(IfcSIUnitName, 'WATT', INDETERMINATE) -weber = express_getattr(IfcSIUnitName, 'WEBER', INDETERMINATE) +ampere = IfcSIUnitName.AMPERE +becquerel = IfcSIUnitName.BECQUEREL +candela = IfcSIUnitName.CANDELA +coulomb = IfcSIUnitName.COULOMB +cubic_metre = IfcSIUnitName.CUBIC_METRE +degree_celsius = IfcSIUnitName.DEGREE_CELSIUS +farad = IfcSIUnitName.FARAD +gram = IfcSIUnitName.GRAM +gray = IfcSIUnitName.GRAY +henry = IfcSIUnitName.HENRY +hertz = IfcSIUnitName.HERTZ +joule = IfcSIUnitName.JOULE +kelvin = IfcSIUnitName.KELVIN +lumen = IfcSIUnitName.LUMEN +lux = IfcSIUnitName.LUX +metre = IfcSIUnitName.METRE +mole = IfcSIUnitName.MOLE +newton = IfcSIUnitName.NEWTON +ohm = IfcSIUnitName.OHM +pascal = IfcSIUnitName.PASCAL +radian = IfcSIUnitName.RADIAN +second = IfcSIUnitName.SECOND +siemens = IfcSIUnitName.SIEMENS +sievert = IfcSIUnitName.SIEVERT +square_metre = IfcSIUnitName.SQUARE_METRE +steradian = IfcSIUnitName.STERADIAN +tesla = IfcSIUnitName.TESLA +volt = IfcSIUnitName.VOLT +watt = IfcSIUnitName.WATT +weber = IfcSIUnitName.WEBER IfcSanitaryTerminalTypeEnum = enum_namespace() -bath = express_getattr(IfcSanitaryTerminalTypeEnum, 'BATH', INDETERMINATE) -bidet = express_getattr(IfcSanitaryTerminalTypeEnum, 'BIDET', INDETERMINATE) -cistern = express_getattr(IfcSanitaryTerminalTypeEnum, 'CISTERN', INDETERMINATE) -shower = express_getattr(IfcSanitaryTerminalTypeEnum, 'SHOWER', INDETERMINATE) -sink = express_getattr(IfcSanitaryTerminalTypeEnum, 'SINK', INDETERMINATE) -sanitaryfountain = express_getattr(IfcSanitaryTerminalTypeEnum, 'SANITARYFOUNTAIN', INDETERMINATE) -toiletpan = express_getattr(IfcSanitaryTerminalTypeEnum, 'TOILETPAN', INDETERMINATE) -urinal = express_getattr(IfcSanitaryTerminalTypeEnum, 'URINAL', INDETERMINATE) -washhandbasin = express_getattr(IfcSanitaryTerminalTypeEnum, 'WASHHANDBASIN', INDETERMINATE) -wcseat = express_getattr(IfcSanitaryTerminalTypeEnum, 'WCSEAT', INDETERMINATE) -userdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +bath = IfcSanitaryTerminalTypeEnum.BATH +bidet = IfcSanitaryTerminalTypeEnum.BIDET +cistern = IfcSanitaryTerminalTypeEnum.CISTERN +shower = IfcSanitaryTerminalTypeEnum.SHOWER +sink = IfcSanitaryTerminalTypeEnum.SINK +sanitaryfountain = IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN +toiletpan = IfcSanitaryTerminalTypeEnum.TOILETPAN +urinal = IfcSanitaryTerminalTypeEnum.URINAL +washhandbasin = IfcSanitaryTerminalTypeEnum.WASHHANDBASIN +wcseat = IfcSanitaryTerminalTypeEnum.WCSEAT +userdefined = IfcSanitaryTerminalTypeEnum.USERDEFINED +notdefined = IfcSanitaryTerminalTypeEnum.NOTDEFINED IfcSectionTypeEnum = enum_namespace() -uniform = express_getattr(IfcSectionTypeEnum, 'UNIFORM', INDETERMINATE) -tapered = express_getattr(IfcSectionTypeEnum, 'TAPERED', INDETERMINATE) +uniform = IfcSectionTypeEnum.UNIFORM +tapered = IfcSectionTypeEnum.TAPERED IfcSensorTypeEnum = enum_namespace() -co2sensor = express_getattr(IfcSensorTypeEnum, 'CO2SENSOR', INDETERMINATE) -firesensor = express_getattr(IfcSensorTypeEnum, 'FIRESENSOR', INDETERMINATE) -flowsensor = express_getattr(IfcSensorTypeEnum, 'FLOWSENSOR', INDETERMINATE) -gassensor = express_getattr(IfcSensorTypeEnum, 'GASSENSOR', INDETERMINATE) -heatsensor = express_getattr(IfcSensorTypeEnum, 'HEATSENSOR', INDETERMINATE) -humiditysensor = express_getattr(IfcSensorTypeEnum, 'HUMIDITYSENSOR', INDETERMINATE) -lightsensor = express_getattr(IfcSensorTypeEnum, 'LIGHTSENSOR', INDETERMINATE) -moisturesensor = express_getattr(IfcSensorTypeEnum, 'MOISTURESENSOR', INDETERMINATE) -movementsensor = express_getattr(IfcSensorTypeEnum, 'MOVEMENTSENSOR', INDETERMINATE) -pressuresensor = express_getattr(IfcSensorTypeEnum, 'PRESSURESENSOR', INDETERMINATE) -smokesensor = express_getattr(IfcSensorTypeEnum, 'SMOKESENSOR', INDETERMINATE) -soundsensor = express_getattr(IfcSensorTypeEnum, 'SOUNDSENSOR', INDETERMINATE) -temperaturesensor = express_getattr(IfcSensorTypeEnum, 'TEMPERATURESENSOR', INDETERMINATE) -userdefined = express_getattr(IfcSensorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSensorTypeEnum, 'NOTDEFINED', INDETERMINATE) +co2sensor = IfcSensorTypeEnum.CO2SENSOR +firesensor = IfcSensorTypeEnum.FIRESENSOR +flowsensor = IfcSensorTypeEnum.FLOWSENSOR +gassensor = IfcSensorTypeEnum.GASSENSOR +heatsensor = IfcSensorTypeEnum.HEATSENSOR +humiditysensor = IfcSensorTypeEnum.HUMIDITYSENSOR +lightsensor = IfcSensorTypeEnum.LIGHTSENSOR +moisturesensor = IfcSensorTypeEnum.MOISTURESENSOR +movementsensor = IfcSensorTypeEnum.MOVEMENTSENSOR +pressuresensor = IfcSensorTypeEnum.PRESSURESENSOR +smokesensor = IfcSensorTypeEnum.SMOKESENSOR +soundsensor = IfcSensorTypeEnum.SOUNDSENSOR +temperaturesensor = IfcSensorTypeEnum.TEMPERATURESENSOR +userdefined = IfcSensorTypeEnum.USERDEFINED +notdefined = IfcSensorTypeEnum.NOTDEFINED IfcSequenceEnum = enum_namespace() -start_start = express_getattr(IfcSequenceEnum, 'START_START', INDETERMINATE) -start_finish = express_getattr(IfcSequenceEnum, 'START_FINISH', INDETERMINATE) -finish_start = express_getattr(IfcSequenceEnum, 'FINISH_START', INDETERMINATE) -finish_finish = express_getattr(IfcSequenceEnum, 'FINISH_FINISH', INDETERMINATE) -notdefined = express_getattr(IfcSequenceEnum, 'NOTDEFINED', INDETERMINATE) +start_start = IfcSequenceEnum.START_START +start_finish = IfcSequenceEnum.START_FINISH +finish_start = IfcSequenceEnum.FINISH_START +finish_finish = IfcSequenceEnum.FINISH_FINISH +notdefined = IfcSequenceEnum.NOTDEFINED IfcServiceLifeFactorTypeEnum = enum_namespace() -a_qualityofcomponents = express_getattr(IfcServiceLifeFactorTypeEnum, 'A_QUALITYOFCOMPONENTS', INDETERMINATE) -b_designlevel = express_getattr(IfcServiceLifeFactorTypeEnum, 'B_DESIGNLEVEL', INDETERMINATE) -c_workexecutionlevel = express_getattr(IfcServiceLifeFactorTypeEnum, 'C_WORKEXECUTIONLEVEL', INDETERMINATE) -d_indoorenvironment = express_getattr(IfcServiceLifeFactorTypeEnum, 'D_INDOORENVIRONMENT', INDETERMINATE) -e_outdoorenvironment = express_getattr(IfcServiceLifeFactorTypeEnum, 'E_OUTDOORENVIRONMENT', INDETERMINATE) -f_inuseconditions = express_getattr(IfcServiceLifeFactorTypeEnum, 'F_INUSECONDITIONS', INDETERMINATE) -g_maintenancelevel = express_getattr(IfcServiceLifeFactorTypeEnum, 'G_MAINTENANCELEVEL', INDETERMINATE) -userdefined = express_getattr(IfcServiceLifeFactorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcServiceLifeFactorTypeEnum, 'NOTDEFINED', INDETERMINATE) +a_qualityofcomponents = IfcServiceLifeFactorTypeEnum.A_QUALITYOFCOMPONENTS +b_designlevel = IfcServiceLifeFactorTypeEnum.B_DESIGNLEVEL +c_workexecutionlevel = IfcServiceLifeFactorTypeEnum.C_WORKEXECUTIONLEVEL +d_indoorenvironment = IfcServiceLifeFactorTypeEnum.D_INDOORENVIRONMENT +e_outdoorenvironment = IfcServiceLifeFactorTypeEnum.E_OUTDOORENVIRONMENT +f_inuseconditions = IfcServiceLifeFactorTypeEnum.F_INUSECONDITIONS +g_maintenancelevel = IfcServiceLifeFactorTypeEnum.G_MAINTENANCELEVEL +userdefined = IfcServiceLifeFactorTypeEnum.USERDEFINED +notdefined = IfcServiceLifeFactorTypeEnum.NOTDEFINED IfcServiceLifeTypeEnum = enum_namespace() -actualservicelife = express_getattr(IfcServiceLifeTypeEnum, 'ACTUALSERVICELIFE', INDETERMINATE) -expectedservicelife = express_getattr(IfcServiceLifeTypeEnum, 'EXPECTEDSERVICELIFE', INDETERMINATE) -optimisticreferenceservicelife = express_getattr(IfcServiceLifeTypeEnum, 'OPTIMISTICREFERENCESERVICELIFE', INDETERMINATE) -pessimisticreferenceservicelife = express_getattr(IfcServiceLifeTypeEnum, 'PESSIMISTICREFERENCESERVICELIFE', INDETERMINATE) -referenceservicelife = express_getattr(IfcServiceLifeTypeEnum, 'REFERENCESERVICELIFE', INDETERMINATE) +actualservicelife = IfcServiceLifeTypeEnum.ACTUALSERVICELIFE +expectedservicelife = IfcServiceLifeTypeEnum.EXPECTEDSERVICELIFE +optimisticreferenceservicelife = IfcServiceLifeTypeEnum.OPTIMISTICREFERENCESERVICELIFE +pessimisticreferenceservicelife = IfcServiceLifeTypeEnum.PESSIMISTICREFERENCESERVICELIFE +referenceservicelife = IfcServiceLifeTypeEnum.REFERENCESERVICELIFE IfcSlabTypeEnum = enum_namespace() -floor = express_getattr(IfcSlabTypeEnum, 'FLOOR', INDETERMINATE) -roof = express_getattr(IfcSlabTypeEnum, 'ROOF', INDETERMINATE) -landing = express_getattr(IfcSlabTypeEnum, 'LANDING', INDETERMINATE) -baseslab = express_getattr(IfcSlabTypeEnum, 'BASESLAB', INDETERMINATE) -userdefined = express_getattr(IfcSlabTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSlabTypeEnum, 'NOTDEFINED', INDETERMINATE) +floor = IfcSlabTypeEnum.FLOOR +roof = IfcSlabTypeEnum.ROOF +landing = IfcSlabTypeEnum.LANDING +baseslab = IfcSlabTypeEnum.BASESLAB +userdefined = IfcSlabTypeEnum.USERDEFINED +notdefined = IfcSlabTypeEnum.NOTDEFINED IfcSoundScaleEnum = enum_namespace() -dba = express_getattr(IfcSoundScaleEnum, 'DBA', INDETERMINATE) -dbb = express_getattr(IfcSoundScaleEnum, 'DBB', INDETERMINATE) -dbc = express_getattr(IfcSoundScaleEnum, 'DBC', INDETERMINATE) -nc = express_getattr(IfcSoundScaleEnum, 'NC', INDETERMINATE) -nr = express_getattr(IfcSoundScaleEnum, 'NR', INDETERMINATE) -userdefined = express_getattr(IfcSoundScaleEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSoundScaleEnum, 'NOTDEFINED', INDETERMINATE) +dba = IfcSoundScaleEnum.DBA +dbb = IfcSoundScaleEnum.DBB +dbc = IfcSoundScaleEnum.DBC +nc = IfcSoundScaleEnum.NC +nr = IfcSoundScaleEnum.NR +userdefined = IfcSoundScaleEnum.USERDEFINED +notdefined = IfcSoundScaleEnum.NOTDEFINED IfcSpaceHeaterTypeEnum = enum_namespace() -sectionalradiator = express_getattr(IfcSpaceHeaterTypeEnum, 'SECTIONALRADIATOR', INDETERMINATE) -panelradiator = express_getattr(IfcSpaceHeaterTypeEnum, 'PANELRADIATOR', INDETERMINATE) -tubularradiator = express_getattr(IfcSpaceHeaterTypeEnum, 'TUBULARRADIATOR', INDETERMINATE) -convector = express_getattr(IfcSpaceHeaterTypeEnum, 'CONVECTOR', INDETERMINATE) -baseboardheater = express_getattr(IfcSpaceHeaterTypeEnum, 'BASEBOARDHEATER', INDETERMINATE) -finnedtubeunit = express_getattr(IfcSpaceHeaterTypeEnum, 'FINNEDTUBEUNIT', INDETERMINATE) -unitheater = express_getattr(IfcSpaceHeaterTypeEnum, 'UNITHEATER', INDETERMINATE) -userdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'NOTDEFINED', INDETERMINATE) +sectionalradiator = IfcSpaceHeaterTypeEnum.SECTIONALRADIATOR +panelradiator = IfcSpaceHeaterTypeEnum.PANELRADIATOR +tubularradiator = IfcSpaceHeaterTypeEnum.TUBULARRADIATOR +convector = IfcSpaceHeaterTypeEnum.CONVECTOR +baseboardheater = IfcSpaceHeaterTypeEnum.BASEBOARDHEATER +finnedtubeunit = IfcSpaceHeaterTypeEnum.FINNEDTUBEUNIT +unitheater = IfcSpaceHeaterTypeEnum.UNITHEATER +userdefined = IfcSpaceHeaterTypeEnum.USERDEFINED +notdefined = IfcSpaceHeaterTypeEnum.NOTDEFINED IfcSpaceTypeEnum = enum_namespace() -userdefined = express_getattr(IfcSpaceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcSpaceTypeEnum.USERDEFINED +notdefined = IfcSpaceTypeEnum.NOTDEFINED IfcStackTerminalTypeEnum = enum_namespace() -birdcage = express_getattr(IfcStackTerminalTypeEnum, 'BIRDCAGE', INDETERMINATE) -cowl = express_getattr(IfcStackTerminalTypeEnum, 'COWL', INDETERMINATE) -rainwaterhopper = express_getattr(IfcStackTerminalTypeEnum, 'RAINWATERHOPPER', INDETERMINATE) -userdefined = express_getattr(IfcStackTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStackTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +birdcage = IfcStackTerminalTypeEnum.BIRDCAGE +cowl = IfcStackTerminalTypeEnum.COWL +rainwaterhopper = IfcStackTerminalTypeEnum.RAINWATERHOPPER +userdefined = IfcStackTerminalTypeEnum.USERDEFINED +notdefined = IfcStackTerminalTypeEnum.NOTDEFINED IfcStairFlightTypeEnum = enum_namespace() -straight = express_getattr(IfcStairFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -winder = express_getattr(IfcStairFlightTypeEnum, 'WINDER', INDETERMINATE) -spiral = express_getattr(IfcStairFlightTypeEnum, 'SPIRAL', INDETERMINATE) -curved = express_getattr(IfcStairFlightTypeEnum, 'CURVED', INDETERMINATE) -freeform = express_getattr(IfcStairFlightTypeEnum, 'FREEFORM', INDETERMINATE) -userdefined = express_getattr(IfcStairFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight = IfcStairFlightTypeEnum.STRAIGHT +winder = IfcStairFlightTypeEnum.WINDER +spiral = IfcStairFlightTypeEnum.SPIRAL +curved = IfcStairFlightTypeEnum.CURVED +freeform = IfcStairFlightTypeEnum.FREEFORM +userdefined = IfcStairFlightTypeEnum.USERDEFINED +notdefined = IfcStairFlightTypeEnum.NOTDEFINED IfcStairTypeEnum = enum_namespace() -straight_run_stair = express_getattr(IfcStairTypeEnum, 'STRAIGHT_RUN_STAIR', INDETERMINATE) -two_straight_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_STRAIGHT_RUN_STAIR', INDETERMINATE) -quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_WINDING_STAIR', INDETERMINATE) -quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_TURN_STAIR', INDETERMINATE) -half_winding_stair = express_getattr(IfcStairTypeEnum, 'HALF_WINDING_STAIR', INDETERMINATE) -half_turn_stair = express_getattr(IfcStairTypeEnum, 'HALF_TURN_STAIR', INDETERMINATE) -two_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_WINDING_STAIR', INDETERMINATE) -two_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_TURN_STAIR', INDETERMINATE) -three_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_WINDING_STAIR', INDETERMINATE) -three_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_TURN_STAIR', INDETERMINATE) -spiral_stair = express_getattr(IfcStairTypeEnum, 'SPIRAL_STAIR', INDETERMINATE) -double_return_stair = express_getattr(IfcStairTypeEnum, 'DOUBLE_RETURN_STAIR', INDETERMINATE) -curved_run_stair = express_getattr(IfcStairTypeEnum, 'CURVED_RUN_STAIR', INDETERMINATE) -two_curved_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_CURVED_RUN_STAIR', INDETERMINATE) -userdefined = express_getattr(IfcStairTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight_run_stair = IfcStairTypeEnum.STRAIGHT_RUN_STAIR +two_straight_run_stair = IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR +quarter_winding_stair = IfcStairTypeEnum.QUARTER_WINDING_STAIR +quarter_turn_stair = IfcStairTypeEnum.QUARTER_TURN_STAIR +half_winding_stair = IfcStairTypeEnum.HALF_WINDING_STAIR +half_turn_stair = IfcStairTypeEnum.HALF_TURN_STAIR +two_quarter_winding_stair = IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR +two_quarter_turn_stair = IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR +three_quarter_winding_stair = IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR +three_quarter_turn_stair = IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR +spiral_stair = IfcStairTypeEnum.SPIRAL_STAIR +double_return_stair = IfcStairTypeEnum.DOUBLE_RETURN_STAIR +curved_run_stair = IfcStairTypeEnum.CURVED_RUN_STAIR +two_curved_run_stair = IfcStairTypeEnum.TWO_CURVED_RUN_STAIR +userdefined = IfcStairTypeEnum.USERDEFINED +notdefined = IfcStairTypeEnum.NOTDEFINED IfcStateEnum = enum_namespace() -readwrite = express_getattr(IfcStateEnum, 'READWRITE', INDETERMINATE) -readonly = express_getattr(IfcStateEnum, 'READONLY', INDETERMINATE) -locked = express_getattr(IfcStateEnum, 'LOCKED', INDETERMINATE) -readwritelocked = express_getattr(IfcStateEnum, 'READWRITELOCKED', INDETERMINATE) -readonlylocked = express_getattr(IfcStateEnum, 'READONLYLOCKED', INDETERMINATE) +readwrite = IfcStateEnum.READWRITE +readonly = IfcStateEnum.READONLY +locked = IfcStateEnum.LOCKED +readwritelocked = IfcStateEnum.READWRITELOCKED +readonlylocked = IfcStateEnum.READONLYLOCKED IfcStructuralCurveTypeEnum = enum_namespace() -rigid_joined_member = express_getattr(IfcStructuralCurveTypeEnum, 'RIGID_JOINED_MEMBER', INDETERMINATE) -pin_joined_member = express_getattr(IfcStructuralCurveTypeEnum, 'PIN_JOINED_MEMBER', INDETERMINATE) -cable = express_getattr(IfcStructuralCurveTypeEnum, 'CABLE', INDETERMINATE) -tension_member = express_getattr(IfcStructuralCurveTypeEnum, 'TENSION_MEMBER', INDETERMINATE) -compression_member = express_getattr(IfcStructuralCurveTypeEnum, 'COMPRESSION_MEMBER', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveTypeEnum, 'NOTDEFINED', INDETERMINATE) +rigid_joined_member = IfcStructuralCurveTypeEnum.RIGID_JOINED_MEMBER +pin_joined_member = IfcStructuralCurveTypeEnum.PIN_JOINED_MEMBER +cable = IfcStructuralCurveTypeEnum.CABLE +tension_member = IfcStructuralCurveTypeEnum.TENSION_MEMBER +compression_member = IfcStructuralCurveTypeEnum.COMPRESSION_MEMBER +userdefined = IfcStructuralCurveTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveTypeEnum.NOTDEFINED IfcStructuralSurfaceTypeEnum = enum_namespace() -bending_element = express_getattr(IfcStructuralSurfaceTypeEnum, 'BENDING_ELEMENT', INDETERMINATE) -membrane_element = express_getattr(IfcStructuralSurfaceTypeEnum, 'MEMBRANE_ELEMENT', INDETERMINATE) -shell = express_getattr(IfcStructuralSurfaceTypeEnum, 'SHELL', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceTypeEnum, 'NOTDEFINED', INDETERMINATE) +bending_element = IfcStructuralSurfaceTypeEnum.BENDING_ELEMENT +membrane_element = IfcStructuralSurfaceTypeEnum.MEMBRANE_ELEMENT +shell = IfcStructuralSurfaceTypeEnum.SHELL +userdefined = IfcStructuralSurfaceTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceTypeEnum.NOTDEFINED IfcSurfaceSide = enum_namespace() -positive = express_getattr(IfcSurfaceSide, 'POSITIVE', INDETERMINATE) -negative = express_getattr(IfcSurfaceSide, 'NEGATIVE', INDETERMINATE) -both = express_getattr(IfcSurfaceSide, 'BOTH', INDETERMINATE) +positive = IfcSurfaceSide.POSITIVE +negative = IfcSurfaceSide.NEGATIVE +both = IfcSurfaceSide.BOTH IfcSurfaceTextureEnum = enum_namespace() -bump = express_getattr(IfcSurfaceTextureEnum, 'BUMP', INDETERMINATE) -opacity = express_getattr(IfcSurfaceTextureEnum, 'OPACITY', INDETERMINATE) -reflection = express_getattr(IfcSurfaceTextureEnum, 'REFLECTION', INDETERMINATE) -selfillumination = express_getattr(IfcSurfaceTextureEnum, 'SELFILLUMINATION', INDETERMINATE) -shininess = express_getattr(IfcSurfaceTextureEnum, 'SHININESS', INDETERMINATE) -specular = express_getattr(IfcSurfaceTextureEnum, 'SPECULAR', INDETERMINATE) -texture = express_getattr(IfcSurfaceTextureEnum, 'TEXTURE', INDETERMINATE) -transparencymap = express_getattr(IfcSurfaceTextureEnum, 'TRANSPARENCYMAP', INDETERMINATE) -notdefined = express_getattr(IfcSurfaceTextureEnum, 'NOTDEFINED', INDETERMINATE) +bump = IfcSurfaceTextureEnum.BUMP +opacity = IfcSurfaceTextureEnum.OPACITY +reflection = IfcSurfaceTextureEnum.REFLECTION +selfillumination = IfcSurfaceTextureEnum.SELFILLUMINATION +shininess = IfcSurfaceTextureEnum.SHININESS +specular = IfcSurfaceTextureEnum.SPECULAR +texture = IfcSurfaceTextureEnum.TEXTURE +transparencymap = IfcSurfaceTextureEnum.TRANSPARENCYMAP +notdefined = IfcSurfaceTextureEnum.NOTDEFINED IfcSwitchingDeviceTypeEnum = enum_namespace() -contactor = express_getattr(IfcSwitchingDeviceTypeEnum, 'CONTACTOR', INDETERMINATE) -emergencystop = express_getattr(IfcSwitchingDeviceTypeEnum, 'EMERGENCYSTOP', INDETERMINATE) -starter = express_getattr(IfcSwitchingDeviceTypeEnum, 'STARTER', INDETERMINATE) -switchdisconnector = express_getattr(IfcSwitchingDeviceTypeEnum, 'SWITCHDISCONNECTOR', INDETERMINATE) -toggleswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'TOGGLESWITCH', INDETERMINATE) -userdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +contactor = IfcSwitchingDeviceTypeEnum.CONTACTOR +emergencystop = IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP +starter = IfcSwitchingDeviceTypeEnum.STARTER +switchdisconnector = IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR +toggleswitch = IfcSwitchingDeviceTypeEnum.TOGGLESWITCH +userdefined = IfcSwitchingDeviceTypeEnum.USERDEFINED +notdefined = IfcSwitchingDeviceTypeEnum.NOTDEFINED IfcTankTypeEnum = enum_namespace() -preformed = express_getattr(IfcTankTypeEnum, 'PREFORMED', INDETERMINATE) -sectional = express_getattr(IfcTankTypeEnum, 'SECTIONAL', INDETERMINATE) -expansion = express_getattr(IfcTankTypeEnum, 'EXPANSION', INDETERMINATE) -pressurevessel = express_getattr(IfcTankTypeEnum, 'PRESSUREVESSEL', INDETERMINATE) -userdefined = express_getattr(IfcTankTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTankTypeEnum, 'NOTDEFINED', INDETERMINATE) +preformed = IfcTankTypeEnum.PREFORMED +sectional = IfcTankTypeEnum.SECTIONAL +expansion = IfcTankTypeEnum.EXPANSION +pressurevessel = IfcTankTypeEnum.PRESSUREVESSEL +userdefined = IfcTankTypeEnum.USERDEFINED +notdefined = IfcTankTypeEnum.NOTDEFINED IfcTendonTypeEnum = enum_namespace() -strand = express_getattr(IfcTendonTypeEnum, 'STRAND', INDETERMINATE) -wire = express_getattr(IfcTendonTypeEnum, 'WIRE', INDETERMINATE) -bar = express_getattr(IfcTendonTypeEnum, 'BAR', INDETERMINATE) -coated = express_getattr(IfcTendonTypeEnum, 'COATED', INDETERMINATE) -userdefined = express_getattr(IfcTendonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonTypeEnum, 'NOTDEFINED', INDETERMINATE) +strand = IfcTendonTypeEnum.STRAND +wire = IfcTendonTypeEnum.WIRE +bar = IfcTendonTypeEnum.BAR +coated = IfcTendonTypeEnum.COATED +userdefined = IfcTendonTypeEnum.USERDEFINED +notdefined = IfcTendonTypeEnum.NOTDEFINED IfcTextPath = enum_namespace() -left = express_getattr(IfcTextPath, 'LEFT', INDETERMINATE) -right = express_getattr(IfcTextPath, 'RIGHT', INDETERMINATE) -up = express_getattr(IfcTextPath, 'UP', INDETERMINATE) -down = express_getattr(IfcTextPath, 'DOWN', INDETERMINATE) +left = IfcTextPath.LEFT +right = IfcTextPath.RIGHT +up = IfcTextPath.UP +down = IfcTextPath.DOWN IfcThermalLoadSourceEnum = enum_namespace() -people = express_getattr(IfcThermalLoadSourceEnum, 'PEOPLE', INDETERMINATE) -lighting = express_getattr(IfcThermalLoadSourceEnum, 'LIGHTING', INDETERMINATE) -equipment = express_getattr(IfcThermalLoadSourceEnum, 'EQUIPMENT', INDETERMINATE) -ventilationindoorair = express_getattr(IfcThermalLoadSourceEnum, 'VENTILATIONINDOORAIR', INDETERMINATE) -ventilationoutsideair = express_getattr(IfcThermalLoadSourceEnum, 'VENTILATIONOUTSIDEAIR', INDETERMINATE) -recirculatedair = express_getattr(IfcThermalLoadSourceEnum, 'RECIRCULATEDAIR', INDETERMINATE) -exhaustair = express_getattr(IfcThermalLoadSourceEnum, 'EXHAUSTAIR', INDETERMINATE) -airexchangerate = express_getattr(IfcThermalLoadSourceEnum, 'AIREXCHANGERATE', INDETERMINATE) -drybulbtemperature = express_getattr(IfcThermalLoadSourceEnum, 'DRYBULBTEMPERATURE', INDETERMINATE) -relativehumidity = express_getattr(IfcThermalLoadSourceEnum, 'RELATIVEHUMIDITY', INDETERMINATE) -infiltration = express_getattr(IfcThermalLoadSourceEnum, 'INFILTRATION', INDETERMINATE) -userdefined = express_getattr(IfcThermalLoadSourceEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcThermalLoadSourceEnum, 'NOTDEFINED', INDETERMINATE) +people = IfcThermalLoadSourceEnum.PEOPLE +lighting = IfcThermalLoadSourceEnum.LIGHTING +equipment = IfcThermalLoadSourceEnum.EQUIPMENT +ventilationindoorair = IfcThermalLoadSourceEnum.VENTILATIONINDOORAIR +ventilationoutsideair = IfcThermalLoadSourceEnum.VENTILATIONOUTSIDEAIR +recirculatedair = IfcThermalLoadSourceEnum.RECIRCULATEDAIR +exhaustair = IfcThermalLoadSourceEnum.EXHAUSTAIR +airexchangerate = IfcThermalLoadSourceEnum.AIREXCHANGERATE +drybulbtemperature = IfcThermalLoadSourceEnum.DRYBULBTEMPERATURE +relativehumidity = IfcThermalLoadSourceEnum.RELATIVEHUMIDITY +infiltration = IfcThermalLoadSourceEnum.INFILTRATION +userdefined = IfcThermalLoadSourceEnum.USERDEFINED +notdefined = IfcThermalLoadSourceEnum.NOTDEFINED IfcThermalLoadTypeEnum = enum_namespace() -sensible = express_getattr(IfcThermalLoadTypeEnum, 'SENSIBLE', INDETERMINATE) -latent = express_getattr(IfcThermalLoadTypeEnum, 'LATENT', INDETERMINATE) -radiant = express_getattr(IfcThermalLoadTypeEnum, 'RADIANT', INDETERMINATE) -notdefined = express_getattr(IfcThermalLoadTypeEnum, 'NOTDEFINED', INDETERMINATE) +sensible = IfcThermalLoadTypeEnum.SENSIBLE +latent = IfcThermalLoadTypeEnum.LATENT +radiant = IfcThermalLoadTypeEnum.RADIANT +notdefined = IfcThermalLoadTypeEnum.NOTDEFINED IfcTimeSeriesDataTypeEnum = enum_namespace() -continuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'CONTINUOUS', INDETERMINATE) -discrete = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETE', INDETERMINATE) -discretebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETEBINARY', INDETERMINATE) -piecewisebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISEBINARY', INDETERMINATE) -piecewiseconstant = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONSTANT', INDETERMINATE) -piecewisecontinuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONTINUOUS', INDETERMINATE) -notdefined = express_getattr(IfcTimeSeriesDataTypeEnum, 'NOTDEFINED', INDETERMINATE) +continuous = IfcTimeSeriesDataTypeEnum.CONTINUOUS +discrete = IfcTimeSeriesDataTypeEnum.DISCRETE +discretebinary = IfcTimeSeriesDataTypeEnum.DISCRETEBINARY +piecewisebinary = IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY +piecewiseconstant = IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT +piecewisecontinuous = IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS +notdefined = IfcTimeSeriesDataTypeEnum.NOTDEFINED IfcTimeSeriesScheduleTypeEnum = enum_namespace() -annual = express_getattr(IfcTimeSeriesScheduleTypeEnum, 'ANNUAL', INDETERMINATE) -monthly = express_getattr(IfcTimeSeriesScheduleTypeEnum, 'MONTHLY', INDETERMINATE) -weekly = express_getattr(IfcTimeSeriesScheduleTypeEnum, 'WEEKLY', INDETERMINATE) -daily = express_getattr(IfcTimeSeriesScheduleTypeEnum, 'DAILY', INDETERMINATE) -userdefined = express_getattr(IfcTimeSeriesScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTimeSeriesScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +annual = IfcTimeSeriesScheduleTypeEnum.ANNUAL +monthly = IfcTimeSeriesScheduleTypeEnum.MONTHLY +weekly = IfcTimeSeriesScheduleTypeEnum.WEEKLY +daily = IfcTimeSeriesScheduleTypeEnum.DAILY +userdefined = IfcTimeSeriesScheduleTypeEnum.USERDEFINED +notdefined = IfcTimeSeriesScheduleTypeEnum.NOTDEFINED IfcTransformerTypeEnum = enum_namespace() -current = express_getattr(IfcTransformerTypeEnum, 'CURRENT', INDETERMINATE) -frequency = express_getattr(IfcTransformerTypeEnum, 'FREQUENCY', INDETERMINATE) -voltage = express_getattr(IfcTransformerTypeEnum, 'VOLTAGE', INDETERMINATE) -userdefined = express_getattr(IfcTransformerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransformerTypeEnum, 'NOTDEFINED', INDETERMINATE) +current = IfcTransformerTypeEnum.CURRENT +frequency = IfcTransformerTypeEnum.FREQUENCY +voltage = IfcTransformerTypeEnum.VOLTAGE +userdefined = IfcTransformerTypeEnum.USERDEFINED +notdefined = IfcTransformerTypeEnum.NOTDEFINED IfcTransitionCode = enum_namespace() -discontinuous = express_getattr(IfcTransitionCode, 'DISCONTINUOUS', INDETERMINATE) -continuous = express_getattr(IfcTransitionCode, 'CONTINUOUS', INDETERMINATE) -contsamegradient = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENT', INDETERMINATE) -contsamegradientsamecurvature = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENTSAMECURVATURE', INDETERMINATE) +discontinuous = IfcTransitionCode.DISCONTINUOUS +continuous = IfcTransitionCode.CONTINUOUS +contsamegradient = IfcTransitionCode.CONTSAMEGRADIENT +contsamegradientsamecurvature = IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE IfcTransportElementTypeEnum = enum_namespace() -elevator = express_getattr(IfcTransportElementTypeEnum, 'ELEVATOR', INDETERMINATE) -escalator = express_getattr(IfcTransportElementTypeEnum, 'ESCALATOR', INDETERMINATE) -movingwalkway = express_getattr(IfcTransportElementTypeEnum, 'MOVINGWALKWAY', INDETERMINATE) -userdefined = express_getattr(IfcTransportElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransportElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +elevator = IfcTransportElementTypeEnum.ELEVATOR +escalator = IfcTransportElementTypeEnum.ESCALATOR +movingwalkway = IfcTransportElementTypeEnum.MOVINGWALKWAY +userdefined = IfcTransportElementTypeEnum.USERDEFINED +notdefined = IfcTransportElementTypeEnum.NOTDEFINED IfcTrimmingPreference = enum_namespace() -cartesian = express_getattr(IfcTrimmingPreference, 'CARTESIAN', INDETERMINATE) -parameter = express_getattr(IfcTrimmingPreference, 'PARAMETER', INDETERMINATE) -unspecified = express_getattr(IfcTrimmingPreference, 'UNSPECIFIED', INDETERMINATE) +cartesian = IfcTrimmingPreference.CARTESIAN +parameter = IfcTrimmingPreference.PARAMETER +unspecified = IfcTrimmingPreference.UNSPECIFIED IfcTubeBundleTypeEnum = enum_namespace() -finned = express_getattr(IfcTubeBundleTypeEnum, 'FINNED', INDETERMINATE) -userdefined = express_getattr(IfcTubeBundleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTubeBundleTypeEnum, 'NOTDEFINED', INDETERMINATE) +finned = IfcTubeBundleTypeEnum.FINNED +userdefined = IfcTubeBundleTypeEnum.USERDEFINED +notdefined = IfcTubeBundleTypeEnum.NOTDEFINED IfcUnitEnum = enum_namespace() -absorbeddoseunit = express_getattr(IfcUnitEnum, 'ABSORBEDDOSEUNIT', INDETERMINATE) -amountofsubstanceunit = express_getattr(IfcUnitEnum, 'AMOUNTOFSUBSTANCEUNIT', INDETERMINATE) -areaunit = express_getattr(IfcUnitEnum, 'AREAUNIT', INDETERMINATE) -doseequivalentunit = express_getattr(IfcUnitEnum, 'DOSEEQUIVALENTUNIT', INDETERMINATE) -electriccapacitanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCAPACITANCEUNIT', INDETERMINATE) -electricchargeunit = express_getattr(IfcUnitEnum, 'ELECTRICCHARGEUNIT', INDETERMINATE) -electricconductanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCONDUCTANCEUNIT', INDETERMINATE) -electriccurrentunit = express_getattr(IfcUnitEnum, 'ELECTRICCURRENTUNIT', INDETERMINATE) -electricresistanceunit = express_getattr(IfcUnitEnum, 'ELECTRICRESISTANCEUNIT', INDETERMINATE) -electricvoltageunit = express_getattr(IfcUnitEnum, 'ELECTRICVOLTAGEUNIT', INDETERMINATE) -energyunit = express_getattr(IfcUnitEnum, 'ENERGYUNIT', INDETERMINATE) -forceunit = express_getattr(IfcUnitEnum, 'FORCEUNIT', INDETERMINATE) -frequencyunit = express_getattr(IfcUnitEnum, 'FREQUENCYUNIT', INDETERMINATE) -illuminanceunit = express_getattr(IfcUnitEnum, 'ILLUMINANCEUNIT', INDETERMINATE) -inductanceunit = express_getattr(IfcUnitEnum, 'INDUCTANCEUNIT', INDETERMINATE) -lengthunit = express_getattr(IfcUnitEnum, 'LENGTHUNIT', INDETERMINATE) -luminousfluxunit = express_getattr(IfcUnitEnum, 'LUMINOUSFLUXUNIT', INDETERMINATE) -luminousintensityunit = express_getattr(IfcUnitEnum, 'LUMINOUSINTENSITYUNIT', INDETERMINATE) -magneticfluxdensityunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXDENSITYUNIT', INDETERMINATE) -magneticfluxunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXUNIT', INDETERMINATE) -massunit = express_getattr(IfcUnitEnum, 'MASSUNIT', INDETERMINATE) -planeangleunit = express_getattr(IfcUnitEnum, 'PLANEANGLEUNIT', INDETERMINATE) -powerunit = express_getattr(IfcUnitEnum, 'POWERUNIT', INDETERMINATE) -pressureunit = express_getattr(IfcUnitEnum, 'PRESSUREUNIT', INDETERMINATE) -radioactivityunit = express_getattr(IfcUnitEnum, 'RADIOACTIVITYUNIT', INDETERMINATE) -solidangleunit = express_getattr(IfcUnitEnum, 'SOLIDANGLEUNIT', INDETERMINATE) -thermodynamictemperatureunit = express_getattr(IfcUnitEnum, 'THERMODYNAMICTEMPERATUREUNIT', INDETERMINATE) -timeunit = express_getattr(IfcUnitEnum, 'TIMEUNIT', INDETERMINATE) -volumeunit = express_getattr(IfcUnitEnum, 'VOLUMEUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitEnum, 'USERDEFINED', INDETERMINATE) +absorbeddoseunit = IfcUnitEnum.ABSORBEDDOSEUNIT +amountofsubstanceunit = IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT +areaunit = IfcUnitEnum.AREAUNIT +doseequivalentunit = IfcUnitEnum.DOSEEQUIVALENTUNIT +electriccapacitanceunit = IfcUnitEnum.ELECTRICCAPACITANCEUNIT +electricchargeunit = IfcUnitEnum.ELECTRICCHARGEUNIT +electricconductanceunit = IfcUnitEnum.ELECTRICCONDUCTANCEUNIT +electriccurrentunit = IfcUnitEnum.ELECTRICCURRENTUNIT +electricresistanceunit = IfcUnitEnum.ELECTRICRESISTANCEUNIT +electricvoltageunit = IfcUnitEnum.ELECTRICVOLTAGEUNIT +energyunit = IfcUnitEnum.ENERGYUNIT +forceunit = IfcUnitEnum.FORCEUNIT +frequencyunit = IfcUnitEnum.FREQUENCYUNIT +illuminanceunit = IfcUnitEnum.ILLUMINANCEUNIT +inductanceunit = IfcUnitEnum.INDUCTANCEUNIT +lengthunit = IfcUnitEnum.LENGTHUNIT +luminousfluxunit = IfcUnitEnum.LUMINOUSFLUXUNIT +luminousintensityunit = IfcUnitEnum.LUMINOUSINTENSITYUNIT +magneticfluxdensityunit = IfcUnitEnum.MAGNETICFLUXDENSITYUNIT +magneticfluxunit = IfcUnitEnum.MAGNETICFLUXUNIT +massunit = IfcUnitEnum.MASSUNIT +planeangleunit = IfcUnitEnum.PLANEANGLEUNIT +powerunit = IfcUnitEnum.POWERUNIT +pressureunit = IfcUnitEnum.PRESSUREUNIT +radioactivityunit = IfcUnitEnum.RADIOACTIVITYUNIT +solidangleunit = IfcUnitEnum.SOLIDANGLEUNIT +thermodynamictemperatureunit = IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT +timeunit = IfcUnitEnum.TIMEUNIT +volumeunit = IfcUnitEnum.VOLUMEUNIT +userdefined = IfcUnitEnum.USERDEFINED IfcUnitaryEquipmentTypeEnum = enum_namespace() -airhandler = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRHANDLER', INDETERMINATE) -airconditioningunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRCONDITIONINGUNIT', INDETERMINATE) -splitsystem = express_getattr(IfcUnitaryEquipmentTypeEnum, 'SPLITSYSTEM', INDETERMINATE) -rooftopunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'ROOFTOPUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +airhandler = IfcUnitaryEquipmentTypeEnum.AIRHANDLER +airconditioningunit = IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT +splitsystem = IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM +rooftopunit = IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT +userdefined = IfcUnitaryEquipmentTypeEnum.USERDEFINED +notdefined = IfcUnitaryEquipmentTypeEnum.NOTDEFINED IfcValveTypeEnum = enum_namespace() -airrelease = express_getattr(IfcValveTypeEnum, 'AIRRELEASE', INDETERMINATE) -antivacuum = express_getattr(IfcValveTypeEnum, 'ANTIVACUUM', INDETERMINATE) -changeover = express_getattr(IfcValveTypeEnum, 'CHANGEOVER', INDETERMINATE) -check = express_getattr(IfcValveTypeEnum, 'CHECK', INDETERMINATE) -commissioning = express_getattr(IfcValveTypeEnum, 'COMMISSIONING', INDETERMINATE) -diverting = express_getattr(IfcValveTypeEnum, 'DIVERTING', INDETERMINATE) -drawoffcock = express_getattr(IfcValveTypeEnum, 'DRAWOFFCOCK', INDETERMINATE) -doublecheck = express_getattr(IfcValveTypeEnum, 'DOUBLECHECK', INDETERMINATE) -doubleregulating = express_getattr(IfcValveTypeEnum, 'DOUBLEREGULATING', INDETERMINATE) -faucet = express_getattr(IfcValveTypeEnum, 'FAUCET', INDETERMINATE) -flushing = express_getattr(IfcValveTypeEnum, 'FLUSHING', INDETERMINATE) -gascock = express_getattr(IfcValveTypeEnum, 'GASCOCK', INDETERMINATE) -gastap = express_getattr(IfcValveTypeEnum, 'GASTAP', INDETERMINATE) -isolating = express_getattr(IfcValveTypeEnum, 'ISOLATING', INDETERMINATE) -mixing = express_getattr(IfcValveTypeEnum, 'MIXING', INDETERMINATE) -pressurereducing = express_getattr(IfcValveTypeEnum, 'PRESSUREREDUCING', INDETERMINATE) -pressurerelief = express_getattr(IfcValveTypeEnum, 'PRESSURERELIEF', INDETERMINATE) -regulating = express_getattr(IfcValveTypeEnum, 'REGULATING', INDETERMINATE) -safetycutoff = express_getattr(IfcValveTypeEnum, 'SAFETYCUTOFF', INDETERMINATE) -steamtrap = express_getattr(IfcValveTypeEnum, 'STEAMTRAP', INDETERMINATE) -stopcock = express_getattr(IfcValveTypeEnum, 'STOPCOCK', INDETERMINATE) -userdefined = express_getattr(IfcValveTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcValveTypeEnum, 'NOTDEFINED', INDETERMINATE) +airrelease = IfcValveTypeEnum.AIRRELEASE +antivacuum = IfcValveTypeEnum.ANTIVACUUM +changeover = IfcValveTypeEnum.CHANGEOVER +check = IfcValveTypeEnum.CHECK +commissioning = IfcValveTypeEnum.COMMISSIONING +diverting = IfcValveTypeEnum.DIVERTING +drawoffcock = IfcValveTypeEnum.DRAWOFFCOCK +doublecheck = IfcValveTypeEnum.DOUBLECHECK +doubleregulating = IfcValveTypeEnum.DOUBLEREGULATING +faucet = IfcValveTypeEnum.FAUCET +flushing = IfcValveTypeEnum.FLUSHING +gascock = IfcValveTypeEnum.GASCOCK +gastap = IfcValveTypeEnum.GASTAP +isolating = IfcValveTypeEnum.ISOLATING +mixing = IfcValveTypeEnum.MIXING +pressurereducing = IfcValveTypeEnum.PRESSUREREDUCING +pressurerelief = IfcValveTypeEnum.PRESSURERELIEF +regulating = IfcValveTypeEnum.REGULATING +safetycutoff = IfcValveTypeEnum.SAFETYCUTOFF +steamtrap = IfcValveTypeEnum.STEAMTRAP +stopcock = IfcValveTypeEnum.STOPCOCK +userdefined = IfcValveTypeEnum.USERDEFINED +notdefined = IfcValveTypeEnum.NOTDEFINED IfcVibrationIsolatorTypeEnum = enum_namespace() -compression = express_getattr(IfcVibrationIsolatorTypeEnum, 'COMPRESSION', INDETERMINATE) -spring = express_getattr(IfcVibrationIsolatorTypeEnum, 'SPRING', INDETERMINATE) -userdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +compression = IfcVibrationIsolatorTypeEnum.COMPRESSION +spring = IfcVibrationIsolatorTypeEnum.SPRING +userdefined = IfcVibrationIsolatorTypeEnum.USERDEFINED +notdefined = IfcVibrationIsolatorTypeEnum.NOTDEFINED IfcWallTypeEnum = enum_namespace() -standard = express_getattr(IfcWallTypeEnum, 'STANDARD', INDETERMINATE) -polygonal = express_getattr(IfcWallTypeEnum, 'POLYGONAL', INDETERMINATE) -shear = express_getattr(IfcWallTypeEnum, 'SHEAR', INDETERMINATE) -elementedwall = express_getattr(IfcWallTypeEnum, 'ELEMENTEDWALL', INDETERMINATE) -plumbingwall = express_getattr(IfcWallTypeEnum, 'PLUMBINGWALL', INDETERMINATE) -userdefined = express_getattr(IfcWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +standard = IfcWallTypeEnum.STANDARD +polygonal = IfcWallTypeEnum.POLYGONAL +shear = IfcWallTypeEnum.SHEAR +elementedwall = IfcWallTypeEnum.ELEMENTEDWALL +plumbingwall = IfcWallTypeEnum.PLUMBINGWALL +userdefined = IfcWallTypeEnum.USERDEFINED +notdefined = IfcWallTypeEnum.NOTDEFINED IfcWasteTerminalTypeEnum = enum_namespace() -floortrap = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORTRAP', INDETERMINATE) -floorwaste = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORWASTE', INDETERMINATE) -gullysump = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYSUMP', INDETERMINATE) -gullytrap = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYTRAP', INDETERMINATE) -greaseinterceptor = express_getattr(IfcWasteTerminalTypeEnum, 'GREASEINTERCEPTOR', INDETERMINATE) -oilinterceptor = express_getattr(IfcWasteTerminalTypeEnum, 'OILINTERCEPTOR', INDETERMINATE) -petrolinterceptor = express_getattr(IfcWasteTerminalTypeEnum, 'PETROLINTERCEPTOR', INDETERMINATE) -roofdrain = express_getattr(IfcWasteTerminalTypeEnum, 'ROOFDRAIN', INDETERMINATE) -wastedisposalunit = express_getattr(IfcWasteTerminalTypeEnum, 'WASTEDISPOSALUNIT', INDETERMINATE) -wastetrap = express_getattr(IfcWasteTerminalTypeEnum, 'WASTETRAP', INDETERMINATE) -userdefined = express_getattr(IfcWasteTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWasteTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +floortrap = IfcWasteTerminalTypeEnum.FLOORTRAP +floorwaste = IfcWasteTerminalTypeEnum.FLOORWASTE +gullysump = IfcWasteTerminalTypeEnum.GULLYSUMP +gullytrap = IfcWasteTerminalTypeEnum.GULLYTRAP +greaseinterceptor = IfcWasteTerminalTypeEnum.GREASEINTERCEPTOR +oilinterceptor = IfcWasteTerminalTypeEnum.OILINTERCEPTOR +petrolinterceptor = IfcWasteTerminalTypeEnum.PETROLINTERCEPTOR +roofdrain = IfcWasteTerminalTypeEnum.ROOFDRAIN +wastedisposalunit = IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT +wastetrap = IfcWasteTerminalTypeEnum.WASTETRAP +userdefined = IfcWasteTerminalTypeEnum.USERDEFINED +notdefined = IfcWasteTerminalTypeEnum.NOTDEFINED IfcWindowPanelOperationEnum = enum_namespace() -sidehungrighthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGRIGHTHAND', INDETERMINATE) -sidehunglefthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGLEFTHAND', INDETERMINATE) -tiltandturnrighthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNRIGHTHAND', INDETERMINATE) -tiltandturnlefthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNLEFTHAND', INDETERMINATE) -tophung = express_getattr(IfcWindowPanelOperationEnum, 'TOPHUNG', INDETERMINATE) -bottomhung = express_getattr(IfcWindowPanelOperationEnum, 'BOTTOMHUNG', INDETERMINATE) -pivothorizontal = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTHORIZONTAL', INDETERMINATE) -pivotvertical = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTVERTICAL', INDETERMINATE) -slidinghorizontal = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGHORIZONTAL', INDETERMINATE) -slidingvertical = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGVERTICAL', INDETERMINATE) -removablecasement = express_getattr(IfcWindowPanelOperationEnum, 'REMOVABLECASEMENT', INDETERMINATE) -fixedcasement = express_getattr(IfcWindowPanelOperationEnum, 'FIXEDCASEMENT', INDETERMINATE) -otheroperation = express_getattr(IfcWindowPanelOperationEnum, 'OTHEROPERATION', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +sidehungrighthand = IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND +sidehunglefthand = IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND +tiltandturnrighthand = IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND +tiltandturnlefthand = IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND +tophung = IfcWindowPanelOperationEnum.TOPHUNG +bottomhung = IfcWindowPanelOperationEnum.BOTTOMHUNG +pivothorizontal = IfcWindowPanelOperationEnum.PIVOTHORIZONTAL +pivotvertical = IfcWindowPanelOperationEnum.PIVOTVERTICAL +slidinghorizontal = IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL +slidingvertical = IfcWindowPanelOperationEnum.SLIDINGVERTICAL +removablecasement = IfcWindowPanelOperationEnum.REMOVABLECASEMENT +fixedcasement = IfcWindowPanelOperationEnum.FIXEDCASEMENT +otheroperation = IfcWindowPanelOperationEnum.OTHEROPERATION +notdefined = IfcWindowPanelOperationEnum.NOTDEFINED IfcWindowPanelPositionEnum = enum_namespace() -left = express_getattr(IfcWindowPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcWindowPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcWindowPanelPositionEnum, 'RIGHT', INDETERMINATE) -bottom = express_getattr(IfcWindowPanelPositionEnum, 'BOTTOM', INDETERMINATE) -top = express_getattr(IfcWindowPanelPositionEnum, 'TOP', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcWindowPanelPositionEnum.LEFT +middle = IfcWindowPanelPositionEnum.MIDDLE +right = IfcWindowPanelPositionEnum.RIGHT +bottom = IfcWindowPanelPositionEnum.BOTTOM +top = IfcWindowPanelPositionEnum.TOP +notdefined = IfcWindowPanelPositionEnum.NOTDEFINED IfcWindowStyleConstructionEnum = enum_namespace() -aluminium = express_getattr(IfcWindowStyleConstructionEnum, 'ALUMINIUM', INDETERMINATE) -high_grade_steel = express_getattr(IfcWindowStyleConstructionEnum, 'HIGH_GRADE_STEEL', INDETERMINATE) -steel = express_getattr(IfcWindowStyleConstructionEnum, 'STEEL', INDETERMINATE) -wood = express_getattr(IfcWindowStyleConstructionEnum, 'WOOD', INDETERMINATE) -aluminium_wood = express_getattr(IfcWindowStyleConstructionEnum, 'ALUMINIUM_WOOD', INDETERMINATE) -plastic = express_getattr(IfcWindowStyleConstructionEnum, 'PLASTIC', INDETERMINATE) -other_construction = express_getattr(IfcWindowStyleConstructionEnum, 'OTHER_CONSTRUCTION', INDETERMINATE) -notdefined = express_getattr(IfcWindowStyleConstructionEnum, 'NOTDEFINED', INDETERMINATE) +aluminium = IfcWindowStyleConstructionEnum.ALUMINIUM +high_grade_steel = IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL +steel = IfcWindowStyleConstructionEnum.STEEL +wood = IfcWindowStyleConstructionEnum.WOOD +aluminium_wood = IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD +plastic = IfcWindowStyleConstructionEnum.PLASTIC +other_construction = IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION +notdefined = IfcWindowStyleConstructionEnum.NOTDEFINED IfcWindowStyleOperationEnum = enum_namespace() -single_panel = express_getattr(IfcWindowStyleOperationEnum, 'SINGLE_PANEL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowStyleOperationEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -double_panel_horizontal = express_getattr(IfcWindowStyleOperationEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowStyleOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowStyleOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_panel = IfcWindowStyleOperationEnum.SINGLE_PANEL +double_panel_vertical = IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL +double_panel_horizontal = IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL +triple_panel_vertical = IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL +triple_panel_bottom = IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM +triple_panel_top = IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP +triple_panel_left = IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT +triple_panel_horizontal = IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL +userdefined = IfcWindowStyleOperationEnum.USERDEFINED +notdefined = IfcWindowStyleOperationEnum.NOTDEFINED IfcWorkControlTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkControlTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkControlTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkControlTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkControlTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkControlTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkControlTypeEnum.ACTUAL +baseline = IfcWorkControlTypeEnum.BASELINE +planned = IfcWorkControlTypeEnum.PLANNED +userdefined = IfcWorkControlTypeEnum.USERDEFINED +notdefined = IfcWorkControlTypeEnum.NOTDEFINED def Ifc2DCompositeCurve(*args, **kwargs): return ifcopenshell.create_entity('Ifc2DCompositeCurve', 'IFC2X3', *args, **kwargs) diff --git a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4.py b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4.py index bf5e86438f..791737c57a 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4.py +++ b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4.py @@ -1,5 +1,8 @@ import ifcopenshell +def is_indeterminate(v): + return v is None or type(v).__name__ == 'indeterminate_type' + def exists(v): if callable(v): try: @@ -7,10 +10,10 @@ def exists(v): except IndexError as e: return False else: - return v is not None + return not is_indeterminate(v) def nvl(v, default): - return v if v is not None else default + return v if not is_indeterminate(v) else default def is_entity(inst): if isinstance(inst, ifcopenshell.entity_instance): @@ -22,13 +25,13 @@ def is_entity(inst): def express_len(v): if isinstance(v, ifcopenshell.entity_instance) and (not is_entity(v)): v = v[0] - elif v is None or v is INDETERMINATE: + elif is_indeterminate(v): return INDETERMINATE return len(v) old_range = range def range(*args): - if INDETERMINATE in args: + if any(map(is_indeterminate, args)): return yield from old_range(*args) sizeof = express_len @@ -149,1844 +152,1844 @@ class enum_namespace: def __getattr__(self, k): return express_getattr(k, 'upper', INDETERMINATE)() IfcActionRequestTypeEnum = enum_namespace() -email = express_getattr(IfcActionRequestTypeEnum, 'EMAIL', INDETERMINATE) -fax = express_getattr(IfcActionRequestTypeEnum, 'FAX', INDETERMINATE) -phone = express_getattr(IfcActionRequestTypeEnum, 'PHONE', INDETERMINATE) -post = express_getattr(IfcActionRequestTypeEnum, 'POST', INDETERMINATE) -verbal = express_getattr(IfcActionRequestTypeEnum, 'VERBAL', INDETERMINATE) -userdefined = express_getattr(IfcActionRequestTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionRequestTypeEnum, 'NOTDEFINED', INDETERMINATE) +email = IfcActionRequestTypeEnum.EMAIL +fax = IfcActionRequestTypeEnum.FAX +phone = IfcActionRequestTypeEnum.PHONE +post = IfcActionRequestTypeEnum.POST +verbal = IfcActionRequestTypeEnum.VERBAL +userdefined = IfcActionRequestTypeEnum.USERDEFINED +notdefined = IfcActionRequestTypeEnum.NOTDEFINED IfcActionSourceTypeEnum = enum_namespace() -dead_load_g = express_getattr(IfcActionSourceTypeEnum, 'DEAD_LOAD_G', INDETERMINATE) -completion_g1 = express_getattr(IfcActionSourceTypeEnum, 'COMPLETION_G1', INDETERMINATE) -live_load_q = express_getattr(IfcActionSourceTypeEnum, 'LIVE_LOAD_Q', INDETERMINATE) -snow_s = express_getattr(IfcActionSourceTypeEnum, 'SNOW_S', INDETERMINATE) -wind_w = express_getattr(IfcActionSourceTypeEnum, 'WIND_W', INDETERMINATE) -prestressing_p = express_getattr(IfcActionSourceTypeEnum, 'PRESTRESSING_P', INDETERMINATE) -settlement_u = express_getattr(IfcActionSourceTypeEnum, 'SETTLEMENT_U', INDETERMINATE) -temperature_t = express_getattr(IfcActionSourceTypeEnum, 'TEMPERATURE_T', INDETERMINATE) -earthquake_e = express_getattr(IfcActionSourceTypeEnum, 'EARTHQUAKE_E', INDETERMINATE) -fire = express_getattr(IfcActionSourceTypeEnum, 'FIRE', INDETERMINATE) -impulse = express_getattr(IfcActionSourceTypeEnum, 'IMPULSE', INDETERMINATE) -impact = express_getattr(IfcActionSourceTypeEnum, 'IMPACT', INDETERMINATE) -transport = express_getattr(IfcActionSourceTypeEnum, 'TRANSPORT', INDETERMINATE) -erection = express_getattr(IfcActionSourceTypeEnum, 'ERECTION', INDETERMINATE) -propping = express_getattr(IfcActionSourceTypeEnum, 'PROPPING', INDETERMINATE) -system_imperfection = express_getattr(IfcActionSourceTypeEnum, 'SYSTEM_IMPERFECTION', INDETERMINATE) -shrinkage = express_getattr(IfcActionSourceTypeEnum, 'SHRINKAGE', INDETERMINATE) -creep = express_getattr(IfcActionSourceTypeEnum, 'CREEP', INDETERMINATE) -lack_of_fit = express_getattr(IfcActionSourceTypeEnum, 'LACK_OF_FIT', INDETERMINATE) -buoyancy = express_getattr(IfcActionSourceTypeEnum, 'BUOYANCY', INDETERMINATE) -ice = express_getattr(IfcActionSourceTypeEnum, 'ICE', INDETERMINATE) -current = express_getattr(IfcActionSourceTypeEnum, 'CURRENT', INDETERMINATE) -wave = express_getattr(IfcActionSourceTypeEnum, 'WAVE', INDETERMINATE) -rain = express_getattr(IfcActionSourceTypeEnum, 'RAIN', INDETERMINATE) -brakes = express_getattr(IfcActionSourceTypeEnum, 'BRAKES', INDETERMINATE) -userdefined = express_getattr(IfcActionSourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionSourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +dead_load_g = IfcActionSourceTypeEnum.DEAD_LOAD_G +completion_g1 = IfcActionSourceTypeEnum.COMPLETION_G1 +live_load_q = IfcActionSourceTypeEnum.LIVE_LOAD_Q +snow_s = IfcActionSourceTypeEnum.SNOW_S +wind_w = IfcActionSourceTypeEnum.WIND_W +prestressing_p = IfcActionSourceTypeEnum.PRESTRESSING_P +settlement_u = IfcActionSourceTypeEnum.SETTLEMENT_U +temperature_t = IfcActionSourceTypeEnum.TEMPERATURE_T +earthquake_e = IfcActionSourceTypeEnum.EARTHQUAKE_E +fire = IfcActionSourceTypeEnum.FIRE +impulse = IfcActionSourceTypeEnum.IMPULSE +impact = IfcActionSourceTypeEnum.IMPACT +transport = IfcActionSourceTypeEnum.TRANSPORT +erection = IfcActionSourceTypeEnum.ERECTION +propping = IfcActionSourceTypeEnum.PROPPING +system_imperfection = IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION +shrinkage = IfcActionSourceTypeEnum.SHRINKAGE +creep = IfcActionSourceTypeEnum.CREEP +lack_of_fit = IfcActionSourceTypeEnum.LACK_OF_FIT +buoyancy = IfcActionSourceTypeEnum.BUOYANCY +ice = IfcActionSourceTypeEnum.ICE +current = IfcActionSourceTypeEnum.CURRENT +wave = IfcActionSourceTypeEnum.WAVE +rain = IfcActionSourceTypeEnum.RAIN +brakes = IfcActionSourceTypeEnum.BRAKES +userdefined = IfcActionSourceTypeEnum.USERDEFINED +notdefined = IfcActionSourceTypeEnum.NOTDEFINED IfcActionTypeEnum = enum_namespace() -permanent_g = express_getattr(IfcActionTypeEnum, 'PERMANENT_G', INDETERMINATE) -variable_q = express_getattr(IfcActionTypeEnum, 'VARIABLE_Q', INDETERMINATE) -extraordinary_a = express_getattr(IfcActionTypeEnum, 'EXTRAORDINARY_A', INDETERMINATE) -userdefined = express_getattr(IfcActionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionTypeEnum, 'NOTDEFINED', INDETERMINATE) +permanent_g = IfcActionTypeEnum.PERMANENT_G +variable_q = IfcActionTypeEnum.VARIABLE_Q +extraordinary_a = IfcActionTypeEnum.EXTRAORDINARY_A +userdefined = IfcActionTypeEnum.USERDEFINED +notdefined = IfcActionTypeEnum.NOTDEFINED IfcActuatorTypeEnum = enum_namespace() -electricactuator = express_getattr(IfcActuatorTypeEnum, 'ELECTRICACTUATOR', INDETERMINATE) -handoperatedactuator = express_getattr(IfcActuatorTypeEnum, 'HANDOPERATEDACTUATOR', INDETERMINATE) -hydraulicactuator = express_getattr(IfcActuatorTypeEnum, 'HYDRAULICACTUATOR', INDETERMINATE) -pneumaticactuator = express_getattr(IfcActuatorTypeEnum, 'PNEUMATICACTUATOR', INDETERMINATE) -thermostaticactuator = express_getattr(IfcActuatorTypeEnum, 'THERMOSTATICACTUATOR', INDETERMINATE) -userdefined = express_getattr(IfcActuatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActuatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +electricactuator = IfcActuatorTypeEnum.ELECTRICACTUATOR +handoperatedactuator = IfcActuatorTypeEnum.HANDOPERATEDACTUATOR +hydraulicactuator = IfcActuatorTypeEnum.HYDRAULICACTUATOR +pneumaticactuator = IfcActuatorTypeEnum.PNEUMATICACTUATOR +thermostaticactuator = IfcActuatorTypeEnum.THERMOSTATICACTUATOR +userdefined = IfcActuatorTypeEnum.USERDEFINED +notdefined = IfcActuatorTypeEnum.NOTDEFINED IfcAddressTypeEnum = enum_namespace() -office = express_getattr(IfcAddressTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcAddressTypeEnum, 'SITE', INDETERMINATE) -home = express_getattr(IfcAddressTypeEnum, 'HOME', INDETERMINATE) -distributionpoint = express_getattr(IfcAddressTypeEnum, 'DISTRIBUTIONPOINT', INDETERMINATE) -userdefined = express_getattr(IfcAddressTypeEnum, 'USERDEFINED', INDETERMINATE) +office = IfcAddressTypeEnum.OFFICE +site = IfcAddressTypeEnum.SITE +home = IfcAddressTypeEnum.HOME +distributionpoint = IfcAddressTypeEnum.DISTRIBUTIONPOINT +userdefined = IfcAddressTypeEnum.USERDEFINED IfcAirTerminalBoxTypeEnum = enum_namespace() -constantflow = express_getattr(IfcAirTerminalBoxTypeEnum, 'CONSTANTFLOW', INDETERMINATE) -variableflowpressuredependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREDEPENDANT', INDETERMINATE) -variableflowpressureindependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREINDEPENDANT', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +constantflow = IfcAirTerminalBoxTypeEnum.CONSTANTFLOW +variableflowpressuredependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT +variableflowpressureindependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT +userdefined = IfcAirTerminalBoxTypeEnum.USERDEFINED +notdefined = IfcAirTerminalBoxTypeEnum.NOTDEFINED IfcAirTerminalTypeEnum = enum_namespace() -diffuser = express_getattr(IfcAirTerminalTypeEnum, 'DIFFUSER', INDETERMINATE) -grille = express_getattr(IfcAirTerminalTypeEnum, 'GRILLE', INDETERMINATE) -louvre = express_getattr(IfcAirTerminalTypeEnum, 'LOUVRE', INDETERMINATE) -register = express_getattr(IfcAirTerminalTypeEnum, 'REGISTER', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +diffuser = IfcAirTerminalTypeEnum.DIFFUSER +grille = IfcAirTerminalTypeEnum.GRILLE +louvre = IfcAirTerminalTypeEnum.LOUVRE +register = IfcAirTerminalTypeEnum.REGISTER +userdefined = IfcAirTerminalTypeEnum.USERDEFINED +notdefined = IfcAirTerminalTypeEnum.NOTDEFINED IfcAirToAirHeatRecoveryTypeEnum = enum_namespace() -fixedplatecounterflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECOUNTERFLOWEXCHANGER', INDETERMINATE) -fixedplatecrossflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECROSSFLOWEXCHANGER', INDETERMINATE) -fixedplateparallelflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATEPARALLELFLOWEXCHANGER', INDETERMINATE) -rotarywheel = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'ROTARYWHEEL', INDETERMINATE) -runaroundcoilloop = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'RUNAROUNDCOILLOOP', INDETERMINATE) -heatpipe = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'HEATPIPE', INDETERMINATE) -twintowerenthalpyrecoveryloops = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'TWINTOWERENTHALPYRECOVERYLOOPS', INDETERMINATE) -thermosiphonsealedtubeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONSEALEDTUBEHEATEXCHANGERS', INDETERMINATE) -thermosiphoncoiltypeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONCOILTYPEHEATEXCHANGERS', INDETERMINATE) -userdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'NOTDEFINED', INDETERMINATE) +fixedplatecounterflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER +fixedplatecrossflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER +fixedplateparallelflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER +rotarywheel = IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL +runaroundcoilloop = IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP +heatpipe = IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE +twintowerenthalpyrecoveryloops = IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS +thermosiphonsealedtubeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS +thermosiphoncoiltypeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS +userdefined = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED +notdefined = IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED IfcAlarmTypeEnum = enum_namespace() -bell = express_getattr(IfcAlarmTypeEnum, 'BELL', INDETERMINATE) -breakglassbutton = express_getattr(IfcAlarmTypeEnum, 'BREAKGLASSBUTTON', INDETERMINATE) -light = express_getattr(IfcAlarmTypeEnum, 'LIGHT', INDETERMINATE) -manualpullbox = express_getattr(IfcAlarmTypeEnum, 'MANUALPULLBOX', INDETERMINATE) -siren = express_getattr(IfcAlarmTypeEnum, 'SIREN', INDETERMINATE) -whistle = express_getattr(IfcAlarmTypeEnum, 'WHISTLE', INDETERMINATE) -userdefined = express_getattr(IfcAlarmTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlarmTypeEnum, 'NOTDEFINED', INDETERMINATE) +bell = IfcAlarmTypeEnum.BELL +breakglassbutton = IfcAlarmTypeEnum.BREAKGLASSBUTTON +light = IfcAlarmTypeEnum.LIGHT +manualpullbox = IfcAlarmTypeEnum.MANUALPULLBOX +siren = IfcAlarmTypeEnum.SIREN +whistle = IfcAlarmTypeEnum.WHISTLE +userdefined = IfcAlarmTypeEnum.USERDEFINED +notdefined = IfcAlarmTypeEnum.NOTDEFINED IfcAnalysisModelTypeEnum = enum_namespace() -in_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'IN_PLANE_LOADING_2D', INDETERMINATE) -out_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'OUT_PLANE_LOADING_2D', INDETERMINATE) -loading_3d = express_getattr(IfcAnalysisModelTypeEnum, 'LOADING_3D', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisModelTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisModelTypeEnum, 'NOTDEFINED', INDETERMINATE) +in_plane_loading_2d = IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D +out_plane_loading_2d = IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D +loading_3d = IfcAnalysisModelTypeEnum.LOADING_3D +userdefined = IfcAnalysisModelTypeEnum.USERDEFINED +notdefined = IfcAnalysisModelTypeEnum.NOTDEFINED IfcAnalysisTheoryTypeEnum = enum_namespace() -first_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FIRST_ORDER_THEORY', INDETERMINATE) -second_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'SECOND_ORDER_THEORY', INDETERMINATE) -third_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'THIRD_ORDER_THEORY', INDETERMINATE) -full_nonlinear_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FULL_NONLINEAR_THEORY', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +first_order_theory = IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY +second_order_theory = IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY +third_order_theory = IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY +full_nonlinear_theory = IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY +userdefined = IfcAnalysisTheoryTypeEnum.USERDEFINED +notdefined = IfcAnalysisTheoryTypeEnum.NOTDEFINED IfcArithmeticOperatorEnum = enum_namespace() -add = express_getattr(IfcArithmeticOperatorEnum, 'ADD', INDETERMINATE) -divide = express_getattr(IfcArithmeticOperatorEnum, 'DIVIDE', INDETERMINATE) -multiply = express_getattr(IfcArithmeticOperatorEnum, 'MULTIPLY', INDETERMINATE) -subtract = express_getattr(IfcArithmeticOperatorEnum, 'SUBTRACT', INDETERMINATE) +add = IfcArithmeticOperatorEnum.ADD +divide = IfcArithmeticOperatorEnum.DIVIDE +multiply = IfcArithmeticOperatorEnum.MULTIPLY +subtract = IfcArithmeticOperatorEnum.SUBTRACT IfcAssemblyPlaceEnum = enum_namespace() -site = express_getattr(IfcAssemblyPlaceEnum, 'SITE', INDETERMINATE) -factory = express_getattr(IfcAssemblyPlaceEnum, 'FACTORY', INDETERMINATE) -notdefined = express_getattr(IfcAssemblyPlaceEnum, 'NOTDEFINED', INDETERMINATE) +site = IfcAssemblyPlaceEnum.SITE +factory = IfcAssemblyPlaceEnum.FACTORY +notdefined = IfcAssemblyPlaceEnum.NOTDEFINED IfcAudioVisualApplianceTypeEnum = enum_namespace() -amplifier = express_getattr(IfcAudioVisualApplianceTypeEnum, 'AMPLIFIER', INDETERMINATE) -camera = express_getattr(IfcAudioVisualApplianceTypeEnum, 'CAMERA', INDETERMINATE) -display = express_getattr(IfcAudioVisualApplianceTypeEnum, 'DISPLAY', INDETERMINATE) -microphone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'MICROPHONE', INDETERMINATE) -player = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PLAYER', INDETERMINATE) -projector = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PROJECTOR', INDETERMINATE) -receiver = express_getattr(IfcAudioVisualApplianceTypeEnum, 'RECEIVER', INDETERMINATE) -speaker = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SPEAKER', INDETERMINATE) -switcher = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SWITCHER', INDETERMINATE) -telephone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TELEPHONE', INDETERMINATE) -tuner = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TUNER', INDETERMINATE) -userdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +amplifier = IfcAudioVisualApplianceTypeEnum.AMPLIFIER +camera = IfcAudioVisualApplianceTypeEnum.CAMERA +display = IfcAudioVisualApplianceTypeEnum.DISPLAY +microphone = IfcAudioVisualApplianceTypeEnum.MICROPHONE +player = IfcAudioVisualApplianceTypeEnum.PLAYER +projector = IfcAudioVisualApplianceTypeEnum.PROJECTOR +receiver = IfcAudioVisualApplianceTypeEnum.RECEIVER +speaker = IfcAudioVisualApplianceTypeEnum.SPEAKER +switcher = IfcAudioVisualApplianceTypeEnum.SWITCHER +telephone = IfcAudioVisualApplianceTypeEnum.TELEPHONE +tuner = IfcAudioVisualApplianceTypeEnum.TUNER +userdefined = IfcAudioVisualApplianceTypeEnum.USERDEFINED +notdefined = IfcAudioVisualApplianceTypeEnum.NOTDEFINED IfcBSplineCurveForm = enum_namespace() -polyline_form = express_getattr(IfcBSplineCurveForm, 'POLYLINE_FORM', INDETERMINATE) -circular_arc = express_getattr(IfcBSplineCurveForm, 'CIRCULAR_ARC', INDETERMINATE) -elliptic_arc = express_getattr(IfcBSplineCurveForm, 'ELLIPTIC_ARC', INDETERMINATE) -parabolic_arc = express_getattr(IfcBSplineCurveForm, 'PARABOLIC_ARC', INDETERMINATE) -hyperbolic_arc = express_getattr(IfcBSplineCurveForm, 'HYPERBOLIC_ARC', INDETERMINATE) -unspecified = express_getattr(IfcBSplineCurveForm, 'UNSPECIFIED', INDETERMINATE) +polyline_form = IfcBSplineCurveForm.POLYLINE_FORM +circular_arc = IfcBSplineCurveForm.CIRCULAR_ARC +elliptic_arc = IfcBSplineCurveForm.ELLIPTIC_ARC +parabolic_arc = IfcBSplineCurveForm.PARABOLIC_ARC +hyperbolic_arc = IfcBSplineCurveForm.HYPERBOLIC_ARC +unspecified = IfcBSplineCurveForm.UNSPECIFIED IfcBSplineSurfaceForm = enum_namespace() -plane_surf = express_getattr(IfcBSplineSurfaceForm, 'PLANE_SURF', INDETERMINATE) -cylindrical_surf = express_getattr(IfcBSplineSurfaceForm, 'CYLINDRICAL_SURF', INDETERMINATE) -conical_surf = express_getattr(IfcBSplineSurfaceForm, 'CONICAL_SURF', INDETERMINATE) -spherical_surf = express_getattr(IfcBSplineSurfaceForm, 'SPHERICAL_SURF', INDETERMINATE) -toroidal_surf = express_getattr(IfcBSplineSurfaceForm, 'TOROIDAL_SURF', INDETERMINATE) -surf_of_revolution = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_REVOLUTION', INDETERMINATE) -ruled_surf = express_getattr(IfcBSplineSurfaceForm, 'RULED_SURF', INDETERMINATE) -generalised_cone = express_getattr(IfcBSplineSurfaceForm, 'GENERALISED_CONE', INDETERMINATE) -quadric_surf = express_getattr(IfcBSplineSurfaceForm, 'QUADRIC_SURF', INDETERMINATE) -surf_of_linear_extrusion = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_LINEAR_EXTRUSION', INDETERMINATE) -unspecified = express_getattr(IfcBSplineSurfaceForm, 'UNSPECIFIED', INDETERMINATE) +plane_surf = IfcBSplineSurfaceForm.PLANE_SURF +cylindrical_surf = IfcBSplineSurfaceForm.CYLINDRICAL_SURF +conical_surf = IfcBSplineSurfaceForm.CONICAL_SURF +spherical_surf = IfcBSplineSurfaceForm.SPHERICAL_SURF +toroidal_surf = IfcBSplineSurfaceForm.TOROIDAL_SURF +surf_of_revolution = IfcBSplineSurfaceForm.SURF_OF_REVOLUTION +ruled_surf = IfcBSplineSurfaceForm.RULED_SURF +generalised_cone = IfcBSplineSurfaceForm.GENERALISED_CONE +quadric_surf = IfcBSplineSurfaceForm.QUADRIC_SURF +surf_of_linear_extrusion = IfcBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION +unspecified = IfcBSplineSurfaceForm.UNSPECIFIED IfcBeamTypeEnum = enum_namespace() -beam = express_getattr(IfcBeamTypeEnum, 'BEAM', INDETERMINATE) -joist = express_getattr(IfcBeamTypeEnum, 'JOIST', INDETERMINATE) -hollowcore = express_getattr(IfcBeamTypeEnum, 'HOLLOWCORE', INDETERMINATE) -lintel = express_getattr(IfcBeamTypeEnum, 'LINTEL', INDETERMINATE) -spandrel = express_getattr(IfcBeamTypeEnum, 'SPANDREL', INDETERMINATE) -t_beam = express_getattr(IfcBeamTypeEnum, 'T_BEAM', INDETERMINATE) -userdefined = express_getattr(IfcBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +beam = IfcBeamTypeEnum.BEAM +joist = IfcBeamTypeEnum.JOIST +hollowcore = IfcBeamTypeEnum.HOLLOWCORE +lintel = IfcBeamTypeEnum.LINTEL +spandrel = IfcBeamTypeEnum.SPANDREL +t_beam = IfcBeamTypeEnum.T_BEAM +userdefined = IfcBeamTypeEnum.USERDEFINED +notdefined = IfcBeamTypeEnum.NOTDEFINED IfcBenchmarkEnum = enum_namespace() -greaterthan = express_getattr(IfcBenchmarkEnum, 'GREATERTHAN', INDETERMINATE) -greaterthanorequalto = express_getattr(IfcBenchmarkEnum, 'GREATERTHANOREQUALTO', INDETERMINATE) -lessthan = express_getattr(IfcBenchmarkEnum, 'LESSTHAN', INDETERMINATE) -lessthanorequalto = express_getattr(IfcBenchmarkEnum, 'LESSTHANOREQUALTO', INDETERMINATE) -equalto = express_getattr(IfcBenchmarkEnum, 'EQUALTO', INDETERMINATE) -notequalto = express_getattr(IfcBenchmarkEnum, 'NOTEQUALTO', INDETERMINATE) -includes = express_getattr(IfcBenchmarkEnum, 'INCLUDES', INDETERMINATE) -notincludes = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDES', INDETERMINATE) -includedin = express_getattr(IfcBenchmarkEnum, 'INCLUDEDIN', INDETERMINATE) -notincludedin = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDEDIN', INDETERMINATE) +greaterthan = IfcBenchmarkEnum.GREATERTHAN +greaterthanorequalto = IfcBenchmarkEnum.GREATERTHANOREQUALTO +lessthan = IfcBenchmarkEnum.LESSTHAN +lessthanorequalto = IfcBenchmarkEnum.LESSTHANOREQUALTO +equalto = IfcBenchmarkEnum.EQUALTO +notequalto = IfcBenchmarkEnum.NOTEQUALTO +includes = IfcBenchmarkEnum.INCLUDES +notincludes = IfcBenchmarkEnum.NOTINCLUDES +includedin = IfcBenchmarkEnum.INCLUDEDIN +notincludedin = IfcBenchmarkEnum.NOTINCLUDEDIN IfcBoilerTypeEnum = enum_namespace() -water = express_getattr(IfcBoilerTypeEnum, 'WATER', INDETERMINATE) -steam = express_getattr(IfcBoilerTypeEnum, 'STEAM', INDETERMINATE) -userdefined = express_getattr(IfcBoilerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBoilerTypeEnum, 'NOTDEFINED', INDETERMINATE) +water = IfcBoilerTypeEnum.WATER +steam = IfcBoilerTypeEnum.STEAM +userdefined = IfcBoilerTypeEnum.USERDEFINED +notdefined = IfcBoilerTypeEnum.NOTDEFINED IfcBooleanOperator = enum_namespace() -union = express_getattr(IfcBooleanOperator, 'UNION', INDETERMINATE) -intersection = express_getattr(IfcBooleanOperator, 'INTERSECTION', INDETERMINATE) -difference = express_getattr(IfcBooleanOperator, 'DIFFERENCE', INDETERMINATE) +union = IfcBooleanOperator.UNION +intersection = IfcBooleanOperator.INTERSECTION +difference = IfcBooleanOperator.DIFFERENCE IfcBuildingElementPartTypeEnum = enum_namespace() -insulation = express_getattr(IfcBuildingElementPartTypeEnum, 'INSULATION', INDETERMINATE) -precastpanel = express_getattr(IfcBuildingElementPartTypeEnum, 'PRECASTPANEL', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +insulation = IfcBuildingElementPartTypeEnum.INSULATION +precastpanel = IfcBuildingElementPartTypeEnum.PRECASTPANEL +userdefined = IfcBuildingElementPartTypeEnum.USERDEFINED +notdefined = IfcBuildingElementPartTypeEnum.NOTDEFINED IfcBuildingElementProxyTypeEnum = enum_namespace() -complex = express_getattr(IfcBuildingElementProxyTypeEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcBuildingElementProxyTypeEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcBuildingElementProxyTypeEnum, 'PARTIAL', INDETERMINATE) -provisionforvoid = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORVOID', INDETERMINATE) -provisionforspace = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORSPACE', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'NOTDEFINED', INDETERMINATE) +complex = IfcBuildingElementProxyTypeEnum.COMPLEX +element = IfcBuildingElementProxyTypeEnum.ELEMENT +partial = IfcBuildingElementProxyTypeEnum.PARTIAL +provisionforvoid = IfcBuildingElementProxyTypeEnum.PROVISIONFORVOID +provisionforspace = IfcBuildingElementProxyTypeEnum.PROVISIONFORSPACE +userdefined = IfcBuildingElementProxyTypeEnum.USERDEFINED +notdefined = IfcBuildingElementProxyTypeEnum.NOTDEFINED IfcBuildingSystemTypeEnum = enum_namespace() -fenestration = express_getattr(IfcBuildingSystemTypeEnum, 'FENESTRATION', INDETERMINATE) -foundation = express_getattr(IfcBuildingSystemTypeEnum, 'FOUNDATION', INDETERMINATE) -loadbearing = express_getattr(IfcBuildingSystemTypeEnum, 'LOADBEARING', INDETERMINATE) -outershell = express_getattr(IfcBuildingSystemTypeEnum, 'OUTERSHELL', INDETERMINATE) -shading = express_getattr(IfcBuildingSystemTypeEnum, 'SHADING', INDETERMINATE) -transport = express_getattr(IfcBuildingSystemTypeEnum, 'TRANSPORT', INDETERMINATE) -userdefined = express_getattr(IfcBuildingSystemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingSystemTypeEnum, 'NOTDEFINED', INDETERMINATE) +fenestration = IfcBuildingSystemTypeEnum.FENESTRATION +foundation = IfcBuildingSystemTypeEnum.FOUNDATION +loadbearing = IfcBuildingSystemTypeEnum.LOADBEARING +outershell = IfcBuildingSystemTypeEnum.OUTERSHELL +shading = IfcBuildingSystemTypeEnum.SHADING +transport = IfcBuildingSystemTypeEnum.TRANSPORT +userdefined = IfcBuildingSystemTypeEnum.USERDEFINED +notdefined = IfcBuildingSystemTypeEnum.NOTDEFINED IfcBurnerTypeEnum = enum_namespace() -userdefined = express_getattr(IfcBurnerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBurnerTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcBurnerTypeEnum.USERDEFINED +notdefined = IfcBurnerTypeEnum.NOTDEFINED IfcCableCarrierFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcCableCarrierFittingTypeEnum, 'BEND', INDETERMINATE) -cross = express_getattr(IfcCableCarrierFittingTypeEnum, 'CROSS', INDETERMINATE) -reducer = express_getattr(IfcCableCarrierFittingTypeEnum, 'REDUCER', INDETERMINATE) -tee = express_getattr(IfcCableCarrierFittingTypeEnum, 'TEE', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcCableCarrierFittingTypeEnum.BEND +cross = IfcCableCarrierFittingTypeEnum.CROSS +reducer = IfcCableCarrierFittingTypeEnum.REDUCER +tee = IfcCableCarrierFittingTypeEnum.TEE +userdefined = IfcCableCarrierFittingTypeEnum.USERDEFINED +notdefined = IfcCableCarrierFittingTypeEnum.NOTDEFINED IfcCableCarrierSegmentTypeEnum = enum_namespace() -cableladdersegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLELADDERSEGMENT', INDETERMINATE) -cabletraysegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRAYSEGMENT', INDETERMINATE) -cabletrunkingsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRUNKINGSEGMENT', INDETERMINATE) -conduitsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CONDUITSEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +cableladdersegment = IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT +cabletraysegment = IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT +cabletrunkingsegment = IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT +conduitsegment = IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT +userdefined = IfcCableCarrierSegmentTypeEnum.USERDEFINED +notdefined = IfcCableCarrierSegmentTypeEnum.NOTDEFINED IfcCableFittingTypeEnum = enum_namespace() -connector = express_getattr(IfcCableFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcCableFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcCableFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcCableFittingTypeEnum, 'JUNCTION', INDETERMINATE) -transition = express_getattr(IfcCableFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcCableFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +connector = IfcCableFittingTypeEnum.CONNECTOR +entry = IfcCableFittingTypeEnum.ENTRY +exit = IfcCableFittingTypeEnum.EXIT +junction = IfcCableFittingTypeEnum.JUNCTION +transition = IfcCableFittingTypeEnum.TRANSITION +userdefined = IfcCableFittingTypeEnum.USERDEFINED +notdefined = IfcCableFittingTypeEnum.NOTDEFINED IfcCableSegmentTypeEnum = enum_namespace() -busbarsegment = express_getattr(IfcCableSegmentTypeEnum, 'BUSBARSEGMENT', INDETERMINATE) -cablesegment = express_getattr(IfcCableSegmentTypeEnum, 'CABLESEGMENT', INDETERMINATE) -conductorsegment = express_getattr(IfcCableSegmentTypeEnum, 'CONDUCTORSEGMENT', INDETERMINATE) -coresegment = express_getattr(IfcCableSegmentTypeEnum, 'CORESEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcCableSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +busbarsegment = IfcCableSegmentTypeEnum.BUSBARSEGMENT +cablesegment = IfcCableSegmentTypeEnum.CABLESEGMENT +conductorsegment = IfcCableSegmentTypeEnum.CONDUCTORSEGMENT +coresegment = IfcCableSegmentTypeEnum.CORESEGMENT +userdefined = IfcCableSegmentTypeEnum.USERDEFINED +notdefined = IfcCableSegmentTypeEnum.NOTDEFINED IfcChangeActionEnum = enum_namespace() -nochange = express_getattr(IfcChangeActionEnum, 'NOCHANGE', INDETERMINATE) -modified = express_getattr(IfcChangeActionEnum, 'MODIFIED', INDETERMINATE) -added = express_getattr(IfcChangeActionEnum, 'ADDED', INDETERMINATE) -deleted = express_getattr(IfcChangeActionEnum, 'DELETED', INDETERMINATE) -notdefined = express_getattr(IfcChangeActionEnum, 'NOTDEFINED', INDETERMINATE) +nochange = IfcChangeActionEnum.NOCHANGE +modified = IfcChangeActionEnum.MODIFIED +added = IfcChangeActionEnum.ADDED +deleted = IfcChangeActionEnum.DELETED +notdefined = IfcChangeActionEnum.NOTDEFINED IfcChillerTypeEnum = enum_namespace() -aircooled = express_getattr(IfcChillerTypeEnum, 'AIRCOOLED', INDETERMINATE) -watercooled = express_getattr(IfcChillerTypeEnum, 'WATERCOOLED', INDETERMINATE) -heatrecovery = express_getattr(IfcChillerTypeEnum, 'HEATRECOVERY', INDETERMINATE) -userdefined = express_getattr(IfcChillerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChillerTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcChillerTypeEnum.AIRCOOLED +watercooled = IfcChillerTypeEnum.WATERCOOLED +heatrecovery = IfcChillerTypeEnum.HEATRECOVERY +userdefined = IfcChillerTypeEnum.USERDEFINED +notdefined = IfcChillerTypeEnum.NOTDEFINED IfcChimneyTypeEnum = enum_namespace() -userdefined = express_getattr(IfcChimneyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChimneyTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcChimneyTypeEnum.USERDEFINED +notdefined = IfcChimneyTypeEnum.NOTDEFINED IfcCoilTypeEnum = enum_namespace() -dxcoolingcoil = express_getattr(IfcCoilTypeEnum, 'DXCOOLINGCOIL', INDETERMINATE) -electricheatingcoil = express_getattr(IfcCoilTypeEnum, 'ELECTRICHEATINGCOIL', INDETERMINATE) -gasheatingcoil = express_getattr(IfcCoilTypeEnum, 'GASHEATINGCOIL', INDETERMINATE) -hydroniccoil = express_getattr(IfcCoilTypeEnum, 'HYDRONICCOIL', INDETERMINATE) -steamheatingcoil = express_getattr(IfcCoilTypeEnum, 'STEAMHEATINGCOIL', INDETERMINATE) -watercoolingcoil = express_getattr(IfcCoilTypeEnum, 'WATERCOOLINGCOIL', INDETERMINATE) -waterheatingcoil = express_getattr(IfcCoilTypeEnum, 'WATERHEATINGCOIL', INDETERMINATE) -userdefined = express_getattr(IfcCoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +dxcoolingcoil = IfcCoilTypeEnum.DXCOOLINGCOIL +electricheatingcoil = IfcCoilTypeEnum.ELECTRICHEATINGCOIL +gasheatingcoil = IfcCoilTypeEnum.GASHEATINGCOIL +hydroniccoil = IfcCoilTypeEnum.HYDRONICCOIL +steamheatingcoil = IfcCoilTypeEnum.STEAMHEATINGCOIL +watercoolingcoil = IfcCoilTypeEnum.WATERCOOLINGCOIL +waterheatingcoil = IfcCoilTypeEnum.WATERHEATINGCOIL +userdefined = IfcCoilTypeEnum.USERDEFINED +notdefined = IfcCoilTypeEnum.NOTDEFINED IfcColumnTypeEnum = enum_namespace() -column = express_getattr(IfcColumnTypeEnum, 'COLUMN', INDETERMINATE) -pilaster = express_getattr(IfcColumnTypeEnum, 'PILASTER', INDETERMINATE) -userdefined = express_getattr(IfcColumnTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcColumnTypeEnum, 'NOTDEFINED', INDETERMINATE) +column = IfcColumnTypeEnum.COLUMN +pilaster = IfcColumnTypeEnum.PILASTER +userdefined = IfcColumnTypeEnum.USERDEFINED +notdefined = IfcColumnTypeEnum.NOTDEFINED IfcCommunicationsApplianceTypeEnum = enum_namespace() -antenna = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ANTENNA', INDETERMINATE) -computer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'COMPUTER', INDETERMINATE) -fax = express_getattr(IfcCommunicationsApplianceTypeEnum, 'FAX', INDETERMINATE) -gateway = express_getattr(IfcCommunicationsApplianceTypeEnum, 'GATEWAY', INDETERMINATE) -modem = express_getattr(IfcCommunicationsApplianceTypeEnum, 'MODEM', INDETERMINATE) -networkappliance = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKAPPLIANCE', INDETERMINATE) -networkbridge = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKBRIDGE', INDETERMINATE) -networkhub = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKHUB', INDETERMINATE) -printer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'PRINTER', INDETERMINATE) -repeater = express_getattr(IfcCommunicationsApplianceTypeEnum, 'REPEATER', INDETERMINATE) -router = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ROUTER', INDETERMINATE) -scanner = express_getattr(IfcCommunicationsApplianceTypeEnum, 'SCANNER', INDETERMINATE) -userdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +antenna = IfcCommunicationsApplianceTypeEnum.ANTENNA +computer = IfcCommunicationsApplianceTypeEnum.COMPUTER +fax = IfcCommunicationsApplianceTypeEnum.FAX +gateway = IfcCommunicationsApplianceTypeEnum.GATEWAY +modem = IfcCommunicationsApplianceTypeEnum.MODEM +networkappliance = IfcCommunicationsApplianceTypeEnum.NETWORKAPPLIANCE +networkbridge = IfcCommunicationsApplianceTypeEnum.NETWORKBRIDGE +networkhub = IfcCommunicationsApplianceTypeEnum.NETWORKHUB +printer = IfcCommunicationsApplianceTypeEnum.PRINTER +repeater = IfcCommunicationsApplianceTypeEnum.REPEATER +router = IfcCommunicationsApplianceTypeEnum.ROUTER +scanner = IfcCommunicationsApplianceTypeEnum.SCANNER +userdefined = IfcCommunicationsApplianceTypeEnum.USERDEFINED +notdefined = IfcCommunicationsApplianceTypeEnum.NOTDEFINED IfcComplexPropertyTemplateTypeEnum = enum_namespace() -p_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'P_COMPLEX', INDETERMINATE) -q_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'Q_COMPLEX', INDETERMINATE) +p_complex = IfcComplexPropertyTemplateTypeEnum.P_COMPLEX +q_complex = IfcComplexPropertyTemplateTypeEnum.Q_COMPLEX IfcCompressorTypeEnum = enum_namespace() -dynamic = express_getattr(IfcCompressorTypeEnum, 'DYNAMIC', INDETERMINATE) -reciprocating = express_getattr(IfcCompressorTypeEnum, 'RECIPROCATING', INDETERMINATE) -rotary = express_getattr(IfcCompressorTypeEnum, 'ROTARY', INDETERMINATE) -scroll = express_getattr(IfcCompressorTypeEnum, 'SCROLL', INDETERMINATE) -trochoidal = express_getattr(IfcCompressorTypeEnum, 'TROCHOIDAL', INDETERMINATE) -singlestage = express_getattr(IfcCompressorTypeEnum, 'SINGLESTAGE', INDETERMINATE) -booster = express_getattr(IfcCompressorTypeEnum, 'BOOSTER', INDETERMINATE) -opentype = express_getattr(IfcCompressorTypeEnum, 'OPENTYPE', INDETERMINATE) -hermetic = express_getattr(IfcCompressorTypeEnum, 'HERMETIC', INDETERMINATE) -semihermetic = express_getattr(IfcCompressorTypeEnum, 'SEMIHERMETIC', INDETERMINATE) -weldedshellhermetic = express_getattr(IfcCompressorTypeEnum, 'WELDEDSHELLHERMETIC', INDETERMINATE) -rollingpiston = express_getattr(IfcCompressorTypeEnum, 'ROLLINGPISTON', INDETERMINATE) -rotaryvane = express_getattr(IfcCompressorTypeEnum, 'ROTARYVANE', INDETERMINATE) -singlescrew = express_getattr(IfcCompressorTypeEnum, 'SINGLESCREW', INDETERMINATE) -twinscrew = express_getattr(IfcCompressorTypeEnum, 'TWINSCREW', INDETERMINATE) -userdefined = express_getattr(IfcCompressorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCompressorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dynamic = IfcCompressorTypeEnum.DYNAMIC +reciprocating = IfcCompressorTypeEnum.RECIPROCATING +rotary = IfcCompressorTypeEnum.ROTARY +scroll = IfcCompressorTypeEnum.SCROLL +trochoidal = IfcCompressorTypeEnum.TROCHOIDAL +singlestage = IfcCompressorTypeEnum.SINGLESTAGE +booster = IfcCompressorTypeEnum.BOOSTER +opentype = IfcCompressorTypeEnum.OPENTYPE +hermetic = IfcCompressorTypeEnum.HERMETIC +semihermetic = IfcCompressorTypeEnum.SEMIHERMETIC +weldedshellhermetic = IfcCompressorTypeEnum.WELDEDSHELLHERMETIC +rollingpiston = IfcCompressorTypeEnum.ROLLINGPISTON +rotaryvane = IfcCompressorTypeEnum.ROTARYVANE +singlescrew = IfcCompressorTypeEnum.SINGLESCREW +twinscrew = IfcCompressorTypeEnum.TWINSCREW +userdefined = IfcCompressorTypeEnum.USERDEFINED +notdefined = IfcCompressorTypeEnum.NOTDEFINED IfcCondenserTypeEnum = enum_namespace() -aircooled = express_getattr(IfcCondenserTypeEnum, 'AIRCOOLED', INDETERMINATE) -evaporativecooled = express_getattr(IfcCondenserTypeEnum, 'EVAPORATIVECOOLED', INDETERMINATE) -watercooled = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLED', INDETERMINATE) -watercooledbrazedplate = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDBRAZEDPLATE', INDETERMINATE) -watercooledshellcoil = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLCOIL', INDETERMINATE) -watercooledshelltube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLTUBE', INDETERMINATE) -watercooledtubeintube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDTUBEINTUBE', INDETERMINATE) -userdefined = express_getattr(IfcCondenserTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCondenserTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcCondenserTypeEnum.AIRCOOLED +evaporativecooled = IfcCondenserTypeEnum.EVAPORATIVECOOLED +watercooled = IfcCondenserTypeEnum.WATERCOOLED +watercooledbrazedplate = IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE +watercooledshellcoil = IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL +watercooledshelltube = IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE +watercooledtubeintube = IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE +userdefined = IfcCondenserTypeEnum.USERDEFINED +notdefined = IfcCondenserTypeEnum.NOTDEFINED IfcConnectionTypeEnum = enum_namespace() -atpath = express_getattr(IfcConnectionTypeEnum, 'ATPATH', INDETERMINATE) -atstart = express_getattr(IfcConnectionTypeEnum, 'ATSTART', INDETERMINATE) -atend = express_getattr(IfcConnectionTypeEnum, 'ATEND', INDETERMINATE) -notdefined = express_getattr(IfcConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +atpath = IfcConnectionTypeEnum.ATPATH +atstart = IfcConnectionTypeEnum.ATSTART +atend = IfcConnectionTypeEnum.ATEND +notdefined = IfcConnectionTypeEnum.NOTDEFINED IfcConstraintEnum = enum_namespace() -hard = express_getattr(IfcConstraintEnum, 'HARD', INDETERMINATE) -soft = express_getattr(IfcConstraintEnum, 'SOFT', INDETERMINATE) -advisory = express_getattr(IfcConstraintEnum, 'ADVISORY', INDETERMINATE) -userdefined = express_getattr(IfcConstraintEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstraintEnum, 'NOTDEFINED', INDETERMINATE) +hard = IfcConstraintEnum.HARD +soft = IfcConstraintEnum.SOFT +advisory = IfcConstraintEnum.ADVISORY +userdefined = IfcConstraintEnum.USERDEFINED +notdefined = IfcConstraintEnum.NOTDEFINED IfcConstructionEquipmentResourceTypeEnum = enum_namespace() -demolishing = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'DEMOLISHING', INDETERMINATE) -earthmoving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'EARTHMOVING', INDETERMINATE) -erecting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'ERECTING', INDETERMINATE) -heating = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'LIGHTING', INDETERMINATE) -paving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PAVING', INDETERMINATE) -pumping = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PUMPING', INDETERMINATE) -transporting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'TRANSPORTING', INDETERMINATE) -userdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +demolishing = IfcConstructionEquipmentResourceTypeEnum.DEMOLISHING +earthmoving = IfcConstructionEquipmentResourceTypeEnum.EARTHMOVING +erecting = IfcConstructionEquipmentResourceTypeEnum.ERECTING +heating = IfcConstructionEquipmentResourceTypeEnum.HEATING +lighting = IfcConstructionEquipmentResourceTypeEnum.LIGHTING +paving = IfcConstructionEquipmentResourceTypeEnum.PAVING +pumping = IfcConstructionEquipmentResourceTypeEnum.PUMPING +transporting = IfcConstructionEquipmentResourceTypeEnum.TRANSPORTING +userdefined = IfcConstructionEquipmentResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionEquipmentResourceTypeEnum.NOTDEFINED IfcConstructionMaterialResourceTypeEnum = enum_namespace() -aggregates = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'AGGREGATES', INDETERMINATE) -concrete = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'DRYWALL', INDETERMINATE) -fuel = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'FUEL', INDETERMINATE) -gypsum = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'GYPSUM', INDETERMINATE) -masonry = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'MASONRY', INDETERMINATE) -metal = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'METAL', INDETERMINATE) -plastic = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'PLASTIC', INDETERMINATE) -wood = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'WOOD', INDETERMINATE) -notdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) -userdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'USERDEFINED', INDETERMINATE) +aggregates = IfcConstructionMaterialResourceTypeEnum.AGGREGATES +concrete = IfcConstructionMaterialResourceTypeEnum.CONCRETE +drywall = IfcConstructionMaterialResourceTypeEnum.DRYWALL +fuel = IfcConstructionMaterialResourceTypeEnum.FUEL +gypsum = IfcConstructionMaterialResourceTypeEnum.GYPSUM +masonry = IfcConstructionMaterialResourceTypeEnum.MASONRY +metal = IfcConstructionMaterialResourceTypeEnum.METAL +plastic = IfcConstructionMaterialResourceTypeEnum.PLASTIC +wood = IfcConstructionMaterialResourceTypeEnum.WOOD +notdefined = IfcConstructionMaterialResourceTypeEnum.NOTDEFINED +userdefined = IfcConstructionMaterialResourceTypeEnum.USERDEFINED IfcConstructionProductResourceTypeEnum = enum_namespace() -assembly = express_getattr(IfcConstructionProductResourceTypeEnum, 'ASSEMBLY', INDETERMINATE) -formwork = express_getattr(IfcConstructionProductResourceTypeEnum, 'FORMWORK', INDETERMINATE) -userdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +assembly = IfcConstructionProductResourceTypeEnum.ASSEMBLY +formwork = IfcConstructionProductResourceTypeEnum.FORMWORK +userdefined = IfcConstructionProductResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionProductResourceTypeEnum.NOTDEFINED IfcControllerTypeEnum = enum_namespace() -floating = express_getattr(IfcControllerTypeEnum, 'FLOATING', INDETERMINATE) -programmable = express_getattr(IfcControllerTypeEnum, 'PROGRAMMABLE', INDETERMINATE) -proportional = express_getattr(IfcControllerTypeEnum, 'PROPORTIONAL', INDETERMINATE) -multiposition = express_getattr(IfcControllerTypeEnum, 'MULTIPOSITION', INDETERMINATE) -twoposition = express_getattr(IfcControllerTypeEnum, 'TWOPOSITION', INDETERMINATE) -userdefined = express_getattr(IfcControllerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcControllerTypeEnum, 'NOTDEFINED', INDETERMINATE) +floating = IfcControllerTypeEnum.FLOATING +programmable = IfcControllerTypeEnum.PROGRAMMABLE +proportional = IfcControllerTypeEnum.PROPORTIONAL +multiposition = IfcControllerTypeEnum.MULTIPOSITION +twoposition = IfcControllerTypeEnum.TWOPOSITION +userdefined = IfcControllerTypeEnum.USERDEFINED +notdefined = IfcControllerTypeEnum.NOTDEFINED IfcCooledBeamTypeEnum = enum_namespace() -active = express_getattr(IfcCooledBeamTypeEnum, 'ACTIVE', INDETERMINATE) -passive = express_getattr(IfcCooledBeamTypeEnum, 'PASSIVE', INDETERMINATE) -userdefined = express_getattr(IfcCooledBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCooledBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +active = IfcCooledBeamTypeEnum.ACTIVE +passive = IfcCooledBeamTypeEnum.PASSIVE +userdefined = IfcCooledBeamTypeEnum.USERDEFINED +notdefined = IfcCooledBeamTypeEnum.NOTDEFINED IfcCoolingTowerTypeEnum = enum_namespace() -naturaldraft = express_getattr(IfcCoolingTowerTypeEnum, 'NATURALDRAFT', INDETERMINATE) -mechanicalinduceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALINDUCEDDRAFT', INDETERMINATE) -mechanicalforceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALFORCEDDRAFT', INDETERMINATE) -userdefined = express_getattr(IfcCoolingTowerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoolingTowerTypeEnum, 'NOTDEFINED', INDETERMINATE) +naturaldraft = IfcCoolingTowerTypeEnum.NATURALDRAFT +mechanicalinduceddraft = IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT +mechanicalforceddraft = IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT +userdefined = IfcCoolingTowerTypeEnum.USERDEFINED +notdefined = IfcCoolingTowerTypeEnum.NOTDEFINED IfcCostItemTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCostItemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostItemTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCostItemTypeEnum.USERDEFINED +notdefined = IfcCostItemTypeEnum.NOTDEFINED IfcCostScheduleTypeEnum = enum_namespace() -budget = express_getattr(IfcCostScheduleTypeEnum, 'BUDGET', INDETERMINATE) -costplan = express_getattr(IfcCostScheduleTypeEnum, 'COSTPLAN', INDETERMINATE) -estimate = express_getattr(IfcCostScheduleTypeEnum, 'ESTIMATE', INDETERMINATE) -tender = express_getattr(IfcCostScheduleTypeEnum, 'TENDER', INDETERMINATE) -pricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'PRICEDBILLOFQUANTITIES', INDETERMINATE) -unpricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'UNPRICEDBILLOFQUANTITIES', INDETERMINATE) -scheduleofrates = express_getattr(IfcCostScheduleTypeEnum, 'SCHEDULEOFRATES', INDETERMINATE) -userdefined = express_getattr(IfcCostScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +budget = IfcCostScheduleTypeEnum.BUDGET +costplan = IfcCostScheduleTypeEnum.COSTPLAN +estimate = IfcCostScheduleTypeEnum.ESTIMATE +tender = IfcCostScheduleTypeEnum.TENDER +pricedbillofquantities = IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES +unpricedbillofquantities = IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES +scheduleofrates = IfcCostScheduleTypeEnum.SCHEDULEOFRATES +userdefined = IfcCostScheduleTypeEnum.USERDEFINED +notdefined = IfcCostScheduleTypeEnum.NOTDEFINED IfcCoveringTypeEnum = enum_namespace() -ceiling = express_getattr(IfcCoveringTypeEnum, 'CEILING', INDETERMINATE) -flooring = express_getattr(IfcCoveringTypeEnum, 'FLOORING', INDETERMINATE) -cladding = express_getattr(IfcCoveringTypeEnum, 'CLADDING', INDETERMINATE) -roofing = express_getattr(IfcCoveringTypeEnum, 'ROOFING', INDETERMINATE) -molding = express_getattr(IfcCoveringTypeEnum, 'MOLDING', INDETERMINATE) -skirtingboard = express_getattr(IfcCoveringTypeEnum, 'SKIRTINGBOARD', INDETERMINATE) -insulation = express_getattr(IfcCoveringTypeEnum, 'INSULATION', INDETERMINATE) -membrane = express_getattr(IfcCoveringTypeEnum, 'MEMBRANE', INDETERMINATE) -sleeving = express_getattr(IfcCoveringTypeEnum, 'SLEEVING', INDETERMINATE) -wrapping = express_getattr(IfcCoveringTypeEnum, 'WRAPPING', INDETERMINATE) -userdefined = express_getattr(IfcCoveringTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoveringTypeEnum, 'NOTDEFINED', INDETERMINATE) +ceiling = IfcCoveringTypeEnum.CEILING +flooring = IfcCoveringTypeEnum.FLOORING +cladding = IfcCoveringTypeEnum.CLADDING +roofing = IfcCoveringTypeEnum.ROOFING +molding = IfcCoveringTypeEnum.MOLDING +skirtingboard = IfcCoveringTypeEnum.SKIRTINGBOARD +insulation = IfcCoveringTypeEnum.INSULATION +membrane = IfcCoveringTypeEnum.MEMBRANE +sleeving = IfcCoveringTypeEnum.SLEEVING +wrapping = IfcCoveringTypeEnum.WRAPPING +userdefined = IfcCoveringTypeEnum.USERDEFINED +notdefined = IfcCoveringTypeEnum.NOTDEFINED IfcCrewResourceTypeEnum = enum_namespace() -office = express_getattr(IfcCrewResourceTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcCrewResourceTypeEnum, 'SITE', INDETERMINATE) -userdefined = express_getattr(IfcCrewResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCrewResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +office = IfcCrewResourceTypeEnum.OFFICE +site = IfcCrewResourceTypeEnum.SITE +userdefined = IfcCrewResourceTypeEnum.USERDEFINED +notdefined = IfcCrewResourceTypeEnum.NOTDEFINED IfcCurtainWallTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCurtainWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCurtainWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCurtainWallTypeEnum.USERDEFINED +notdefined = IfcCurtainWallTypeEnum.NOTDEFINED IfcCurveInterpolationEnum = enum_namespace() -linear = express_getattr(IfcCurveInterpolationEnum, 'LINEAR', INDETERMINATE) -log_linear = express_getattr(IfcCurveInterpolationEnum, 'LOG_LINEAR', INDETERMINATE) -log_log = express_getattr(IfcCurveInterpolationEnum, 'LOG_LOG', INDETERMINATE) -notdefined = express_getattr(IfcCurveInterpolationEnum, 'NOTDEFINED', INDETERMINATE) +linear = IfcCurveInterpolationEnum.LINEAR +log_linear = IfcCurveInterpolationEnum.LOG_LINEAR +log_log = IfcCurveInterpolationEnum.LOG_LOG +notdefined = IfcCurveInterpolationEnum.NOTDEFINED IfcDamperTypeEnum = enum_namespace() -backdraftdamper = express_getattr(IfcDamperTypeEnum, 'BACKDRAFTDAMPER', INDETERMINATE) -balancingdamper = express_getattr(IfcDamperTypeEnum, 'BALANCINGDAMPER', INDETERMINATE) -blastdamper = express_getattr(IfcDamperTypeEnum, 'BLASTDAMPER', INDETERMINATE) -controldamper = express_getattr(IfcDamperTypeEnum, 'CONTROLDAMPER', INDETERMINATE) -firedamper = express_getattr(IfcDamperTypeEnum, 'FIREDAMPER', INDETERMINATE) -firesmokedamper = express_getattr(IfcDamperTypeEnum, 'FIRESMOKEDAMPER', INDETERMINATE) -fumehoodexhaust = express_getattr(IfcDamperTypeEnum, 'FUMEHOODEXHAUST', INDETERMINATE) -gravitydamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYDAMPER', INDETERMINATE) -gravityreliefdamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYRELIEFDAMPER', INDETERMINATE) -reliefdamper = express_getattr(IfcDamperTypeEnum, 'RELIEFDAMPER', INDETERMINATE) -smokedamper = express_getattr(IfcDamperTypeEnum, 'SMOKEDAMPER', INDETERMINATE) -userdefined = express_getattr(IfcDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +backdraftdamper = IfcDamperTypeEnum.BACKDRAFTDAMPER +balancingdamper = IfcDamperTypeEnum.BALANCINGDAMPER +blastdamper = IfcDamperTypeEnum.BLASTDAMPER +controldamper = IfcDamperTypeEnum.CONTROLDAMPER +firedamper = IfcDamperTypeEnum.FIREDAMPER +firesmokedamper = IfcDamperTypeEnum.FIRESMOKEDAMPER +fumehoodexhaust = IfcDamperTypeEnum.FUMEHOODEXHAUST +gravitydamper = IfcDamperTypeEnum.GRAVITYDAMPER +gravityreliefdamper = IfcDamperTypeEnum.GRAVITYRELIEFDAMPER +reliefdamper = IfcDamperTypeEnum.RELIEFDAMPER +smokedamper = IfcDamperTypeEnum.SMOKEDAMPER +userdefined = IfcDamperTypeEnum.USERDEFINED +notdefined = IfcDamperTypeEnum.NOTDEFINED IfcDataOriginEnum = enum_namespace() -measured = express_getattr(IfcDataOriginEnum, 'MEASURED', INDETERMINATE) -predicted = express_getattr(IfcDataOriginEnum, 'PREDICTED', INDETERMINATE) -simulated = express_getattr(IfcDataOriginEnum, 'SIMULATED', INDETERMINATE) -userdefined = express_getattr(IfcDataOriginEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDataOriginEnum, 'NOTDEFINED', INDETERMINATE) +measured = IfcDataOriginEnum.MEASURED +predicted = IfcDataOriginEnum.PREDICTED +simulated = IfcDataOriginEnum.SIMULATED +userdefined = IfcDataOriginEnum.USERDEFINED +notdefined = IfcDataOriginEnum.NOTDEFINED IfcDerivedUnitEnum = enum_namespace() -angularvelocityunit = express_getattr(IfcDerivedUnitEnum, 'ANGULARVELOCITYUNIT', INDETERMINATE) -areadensityunit = express_getattr(IfcDerivedUnitEnum, 'AREADENSITYUNIT', INDETERMINATE) -compoundplaneangleunit = express_getattr(IfcDerivedUnitEnum, 'COMPOUNDPLANEANGLEUNIT', INDETERMINATE) -dynamicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'DYNAMICVISCOSITYUNIT', INDETERMINATE) -heatfluxdensityunit = express_getattr(IfcDerivedUnitEnum, 'HEATFLUXDENSITYUNIT', INDETERMINATE) -integercountrateunit = express_getattr(IfcDerivedUnitEnum, 'INTEGERCOUNTRATEUNIT', INDETERMINATE) -isothermalmoisturecapacityunit = express_getattr(IfcDerivedUnitEnum, 'ISOTHERMALMOISTURECAPACITYUNIT', INDETERMINATE) -kinematicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'KINEMATICVISCOSITYUNIT', INDETERMINATE) -linearvelocityunit = express_getattr(IfcDerivedUnitEnum, 'LINEARVELOCITYUNIT', INDETERMINATE) -massdensityunit = express_getattr(IfcDerivedUnitEnum, 'MASSDENSITYUNIT', INDETERMINATE) -massflowrateunit = express_getattr(IfcDerivedUnitEnum, 'MASSFLOWRATEUNIT', INDETERMINATE) -moisturediffusivityunit = express_getattr(IfcDerivedUnitEnum, 'MOISTUREDIFFUSIVITYUNIT', INDETERMINATE) -molecularweightunit = express_getattr(IfcDerivedUnitEnum, 'MOLECULARWEIGHTUNIT', INDETERMINATE) -specificheatcapacityunit = express_getattr(IfcDerivedUnitEnum, 'SPECIFICHEATCAPACITYUNIT', INDETERMINATE) -thermaladmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALADMITTANCEUNIT', INDETERMINATE) -thermalconductanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALCONDUCTANCEUNIT', INDETERMINATE) -thermalresistanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALRESISTANCEUNIT', INDETERMINATE) -thermaltransmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALTRANSMITTANCEUNIT', INDETERMINATE) -vaporpermeabilityunit = express_getattr(IfcDerivedUnitEnum, 'VAPORPERMEABILITYUNIT', INDETERMINATE) -volumetricflowrateunit = express_getattr(IfcDerivedUnitEnum, 'VOLUMETRICFLOWRATEUNIT', INDETERMINATE) -rotationalfrequencyunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALFREQUENCYUNIT', INDETERMINATE) -torqueunit = express_getattr(IfcDerivedUnitEnum, 'TORQUEUNIT', INDETERMINATE) -momentofinertiaunit = express_getattr(IfcDerivedUnitEnum, 'MOMENTOFINERTIAUNIT', INDETERMINATE) -linearmomentunit = express_getattr(IfcDerivedUnitEnum, 'LINEARMOMENTUNIT', INDETERMINATE) -linearforceunit = express_getattr(IfcDerivedUnitEnum, 'LINEARFORCEUNIT', INDETERMINATE) -planarforceunit = express_getattr(IfcDerivedUnitEnum, 'PLANARFORCEUNIT', INDETERMINATE) -modulusofelasticityunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFELASTICITYUNIT', INDETERMINATE) -shearmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SHEARMODULUSUNIT', INDETERMINATE) -linearstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'LINEARSTIFFNESSUNIT', INDETERMINATE) -rotationalstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALSTIFFNESSUNIT', INDETERMINATE) -modulusofsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFSUBGRADEREACTIONUNIT', INDETERMINATE) -accelerationunit = express_getattr(IfcDerivedUnitEnum, 'ACCELERATIONUNIT', INDETERMINATE) -curvatureunit = express_getattr(IfcDerivedUnitEnum, 'CURVATUREUNIT', INDETERMINATE) -heatingvalueunit = express_getattr(IfcDerivedUnitEnum, 'HEATINGVALUEUNIT', INDETERMINATE) -ionconcentrationunit = express_getattr(IfcDerivedUnitEnum, 'IONCONCENTRATIONUNIT', INDETERMINATE) -luminousintensitydistributionunit = express_getattr(IfcDerivedUnitEnum, 'LUMINOUSINTENSITYDISTRIBUTIONUNIT', INDETERMINATE) -massperlengthunit = express_getattr(IfcDerivedUnitEnum, 'MASSPERLENGTHUNIT', INDETERMINATE) -modulusoflinearsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFLINEARSUBGRADEREACTIONUNIT', INDETERMINATE) -modulusofrotationalsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFROTATIONALSUBGRADEREACTIONUNIT', INDETERMINATE) -phunit = express_getattr(IfcDerivedUnitEnum, 'PHUNIT', INDETERMINATE) -rotationalmassunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALMASSUNIT', INDETERMINATE) -sectionareaintegralunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONAREAINTEGRALUNIT', INDETERMINATE) -sectionmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONMODULUSUNIT', INDETERMINATE) -soundpowerlevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERLEVELUNIT', INDETERMINATE) -soundpowerunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERUNIT', INDETERMINATE) -soundpressurelevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSURELEVELUNIT', INDETERMINATE) -soundpressureunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSUREUNIT', INDETERMINATE) -temperaturegradientunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATUREGRADIENTUNIT', INDETERMINATE) -temperaturerateofchangeunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATURERATEOFCHANGEUNIT', INDETERMINATE) -thermalexpansioncoefficientunit = express_getattr(IfcDerivedUnitEnum, 'THERMALEXPANSIONCOEFFICIENTUNIT', INDETERMINATE) -warpingconstantunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGCONSTANTUNIT', INDETERMINATE) -warpingmomentunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGMOMENTUNIT', INDETERMINATE) -userdefined = express_getattr(IfcDerivedUnitEnum, 'USERDEFINED', INDETERMINATE) +angularvelocityunit = IfcDerivedUnitEnum.ANGULARVELOCITYUNIT +areadensityunit = IfcDerivedUnitEnum.AREADENSITYUNIT +compoundplaneangleunit = IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT +dynamicviscosityunit = IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT +heatfluxdensityunit = IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT +integercountrateunit = IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT +isothermalmoisturecapacityunit = IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT +kinematicviscosityunit = IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT +linearvelocityunit = IfcDerivedUnitEnum.LINEARVELOCITYUNIT +massdensityunit = IfcDerivedUnitEnum.MASSDENSITYUNIT +massflowrateunit = IfcDerivedUnitEnum.MASSFLOWRATEUNIT +moisturediffusivityunit = IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT +molecularweightunit = IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT +specificheatcapacityunit = IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT +thermaladmittanceunit = IfcDerivedUnitEnum.THERMALADMITTANCEUNIT +thermalconductanceunit = IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT +thermalresistanceunit = IfcDerivedUnitEnum.THERMALRESISTANCEUNIT +thermaltransmittanceunit = IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT +vaporpermeabilityunit = IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT +volumetricflowrateunit = IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT +rotationalfrequencyunit = IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT +torqueunit = IfcDerivedUnitEnum.TORQUEUNIT +momentofinertiaunit = IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT +linearmomentunit = IfcDerivedUnitEnum.LINEARMOMENTUNIT +linearforceunit = IfcDerivedUnitEnum.LINEARFORCEUNIT +planarforceunit = IfcDerivedUnitEnum.PLANARFORCEUNIT +modulusofelasticityunit = IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT +shearmodulusunit = IfcDerivedUnitEnum.SHEARMODULUSUNIT +linearstiffnessunit = IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT +rotationalstiffnessunit = IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT +modulusofsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT +accelerationunit = IfcDerivedUnitEnum.ACCELERATIONUNIT +curvatureunit = IfcDerivedUnitEnum.CURVATUREUNIT +heatingvalueunit = IfcDerivedUnitEnum.HEATINGVALUEUNIT +ionconcentrationunit = IfcDerivedUnitEnum.IONCONCENTRATIONUNIT +luminousintensitydistributionunit = IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT +massperlengthunit = IfcDerivedUnitEnum.MASSPERLENGTHUNIT +modulusoflinearsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT +modulusofrotationalsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT +phunit = IfcDerivedUnitEnum.PHUNIT +rotationalmassunit = IfcDerivedUnitEnum.ROTATIONALMASSUNIT +sectionareaintegralunit = IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT +sectionmodulusunit = IfcDerivedUnitEnum.SECTIONMODULUSUNIT +soundpowerlevelunit = IfcDerivedUnitEnum.SOUNDPOWERLEVELUNIT +soundpowerunit = IfcDerivedUnitEnum.SOUNDPOWERUNIT +soundpressurelevelunit = IfcDerivedUnitEnum.SOUNDPRESSURELEVELUNIT +soundpressureunit = IfcDerivedUnitEnum.SOUNDPRESSUREUNIT +temperaturegradientunit = IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT +temperaturerateofchangeunit = IfcDerivedUnitEnum.TEMPERATURERATEOFCHANGEUNIT +thermalexpansioncoefficientunit = IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT +warpingconstantunit = IfcDerivedUnitEnum.WARPINGCONSTANTUNIT +warpingmomentunit = IfcDerivedUnitEnum.WARPINGMOMENTUNIT +userdefined = IfcDerivedUnitEnum.USERDEFINED IfcDirectionSenseEnum = enum_namespace() -positive = express_getattr(IfcDirectionSenseEnum, 'POSITIVE', INDETERMINATE) -negative = express_getattr(IfcDirectionSenseEnum, 'NEGATIVE', INDETERMINATE) +positive = IfcDirectionSenseEnum.POSITIVE +negative = IfcDirectionSenseEnum.NEGATIVE IfcDiscreteAccessoryTypeEnum = enum_namespace() -anchorplate = express_getattr(IfcDiscreteAccessoryTypeEnum, 'ANCHORPLATE', INDETERMINATE) -bracket = express_getattr(IfcDiscreteAccessoryTypeEnum, 'BRACKET', INDETERMINATE) -shoe = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SHOE', INDETERMINATE) -userdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorplate = IfcDiscreteAccessoryTypeEnum.ANCHORPLATE +bracket = IfcDiscreteAccessoryTypeEnum.BRACKET +shoe = IfcDiscreteAccessoryTypeEnum.SHOE +userdefined = IfcDiscreteAccessoryTypeEnum.USERDEFINED +notdefined = IfcDiscreteAccessoryTypeEnum.NOTDEFINED IfcDistributionChamberElementTypeEnum = enum_namespace() -formedduct = express_getattr(IfcDistributionChamberElementTypeEnum, 'FORMEDDUCT', INDETERMINATE) -inspectionchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONCHAMBER', INDETERMINATE) -inspectionpit = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONPIT', INDETERMINATE) -manhole = express_getattr(IfcDistributionChamberElementTypeEnum, 'MANHOLE', INDETERMINATE) -meterchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'METERCHAMBER', INDETERMINATE) -sump = express_getattr(IfcDistributionChamberElementTypeEnum, 'SUMP', INDETERMINATE) -trench = express_getattr(IfcDistributionChamberElementTypeEnum, 'TRENCH', INDETERMINATE) -valvechamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'VALVECHAMBER', INDETERMINATE) -userdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +formedduct = IfcDistributionChamberElementTypeEnum.FORMEDDUCT +inspectionchamber = IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER +inspectionpit = IfcDistributionChamberElementTypeEnum.INSPECTIONPIT +manhole = IfcDistributionChamberElementTypeEnum.MANHOLE +meterchamber = IfcDistributionChamberElementTypeEnum.METERCHAMBER +sump = IfcDistributionChamberElementTypeEnum.SUMP +trench = IfcDistributionChamberElementTypeEnum.TRENCH +valvechamber = IfcDistributionChamberElementTypeEnum.VALVECHAMBER +userdefined = IfcDistributionChamberElementTypeEnum.USERDEFINED +notdefined = IfcDistributionChamberElementTypeEnum.NOTDEFINED IfcDistributionPortTypeEnum = enum_namespace() -cable = express_getattr(IfcDistributionPortTypeEnum, 'CABLE', INDETERMINATE) -cablecarrier = express_getattr(IfcDistributionPortTypeEnum, 'CABLECARRIER', INDETERMINATE) -duct = express_getattr(IfcDistributionPortTypeEnum, 'DUCT', INDETERMINATE) -pipe = express_getattr(IfcDistributionPortTypeEnum, 'PIPE', INDETERMINATE) -userdefined = express_getattr(IfcDistributionPortTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionPortTypeEnum, 'NOTDEFINED', INDETERMINATE) +cable = IfcDistributionPortTypeEnum.CABLE +cablecarrier = IfcDistributionPortTypeEnum.CABLECARRIER +duct = IfcDistributionPortTypeEnum.DUCT +pipe = IfcDistributionPortTypeEnum.PIPE +userdefined = IfcDistributionPortTypeEnum.USERDEFINED +notdefined = IfcDistributionPortTypeEnum.NOTDEFINED IfcDistributionSystemEnum = enum_namespace() -airconditioning = express_getattr(IfcDistributionSystemEnum, 'AIRCONDITIONING', INDETERMINATE) -audiovisual = express_getattr(IfcDistributionSystemEnum, 'AUDIOVISUAL', INDETERMINATE) -chemical = express_getattr(IfcDistributionSystemEnum, 'CHEMICAL', INDETERMINATE) -chilledwater = express_getattr(IfcDistributionSystemEnum, 'CHILLEDWATER', INDETERMINATE) -communication = express_getattr(IfcDistributionSystemEnum, 'COMMUNICATION', INDETERMINATE) -compressedair = express_getattr(IfcDistributionSystemEnum, 'COMPRESSEDAIR', INDETERMINATE) -condenserwater = express_getattr(IfcDistributionSystemEnum, 'CONDENSERWATER', INDETERMINATE) -control = express_getattr(IfcDistributionSystemEnum, 'CONTROL', INDETERMINATE) -conveying = express_getattr(IfcDistributionSystemEnum, 'CONVEYING', INDETERMINATE) -data = express_getattr(IfcDistributionSystemEnum, 'DATA', INDETERMINATE) -disposal = express_getattr(IfcDistributionSystemEnum, 'DISPOSAL', INDETERMINATE) -domesticcoldwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICCOLDWATER', INDETERMINATE) -domestichotwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICHOTWATER', INDETERMINATE) -drainage = express_getattr(IfcDistributionSystemEnum, 'DRAINAGE', INDETERMINATE) -earthing = express_getattr(IfcDistributionSystemEnum, 'EARTHING', INDETERMINATE) -electrical = express_getattr(IfcDistributionSystemEnum, 'ELECTRICAL', INDETERMINATE) -electroacoustic = express_getattr(IfcDistributionSystemEnum, 'ELECTROACOUSTIC', INDETERMINATE) -exhaust = express_getattr(IfcDistributionSystemEnum, 'EXHAUST', INDETERMINATE) -fireprotection = express_getattr(IfcDistributionSystemEnum, 'FIREPROTECTION', INDETERMINATE) -fuel = express_getattr(IfcDistributionSystemEnum, 'FUEL', INDETERMINATE) -gas = express_getattr(IfcDistributionSystemEnum, 'GAS', INDETERMINATE) -hazardous = express_getattr(IfcDistributionSystemEnum, 'HAZARDOUS', INDETERMINATE) -heating = express_getattr(IfcDistributionSystemEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcDistributionSystemEnum, 'LIGHTING', INDETERMINATE) -lightningprotection = express_getattr(IfcDistributionSystemEnum, 'LIGHTNINGPROTECTION', INDETERMINATE) -municipalsolidwaste = express_getattr(IfcDistributionSystemEnum, 'MUNICIPALSOLIDWASTE', INDETERMINATE) -oil = express_getattr(IfcDistributionSystemEnum, 'OIL', INDETERMINATE) -operational = express_getattr(IfcDistributionSystemEnum, 'OPERATIONAL', INDETERMINATE) -powergeneration = express_getattr(IfcDistributionSystemEnum, 'POWERGENERATION', INDETERMINATE) -rainwater = express_getattr(IfcDistributionSystemEnum, 'RAINWATER', INDETERMINATE) -refrigeration = express_getattr(IfcDistributionSystemEnum, 'REFRIGERATION', INDETERMINATE) -security = express_getattr(IfcDistributionSystemEnum, 'SECURITY', INDETERMINATE) -sewage = express_getattr(IfcDistributionSystemEnum, 'SEWAGE', INDETERMINATE) -signal = express_getattr(IfcDistributionSystemEnum, 'SIGNAL', INDETERMINATE) -stormwater = express_getattr(IfcDistributionSystemEnum, 'STORMWATER', INDETERMINATE) -telephone = express_getattr(IfcDistributionSystemEnum, 'TELEPHONE', INDETERMINATE) -tv = express_getattr(IfcDistributionSystemEnum, 'TV', INDETERMINATE) -vacuum = express_getattr(IfcDistributionSystemEnum, 'VACUUM', INDETERMINATE) -vent = express_getattr(IfcDistributionSystemEnum, 'VENT', INDETERMINATE) -ventilation = express_getattr(IfcDistributionSystemEnum, 'VENTILATION', INDETERMINATE) -wastewater = express_getattr(IfcDistributionSystemEnum, 'WASTEWATER', INDETERMINATE) -watersupply = express_getattr(IfcDistributionSystemEnum, 'WATERSUPPLY', INDETERMINATE) -userdefined = express_getattr(IfcDistributionSystemEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionSystemEnum, 'NOTDEFINED', INDETERMINATE) +airconditioning = IfcDistributionSystemEnum.AIRCONDITIONING +audiovisual = IfcDistributionSystemEnum.AUDIOVISUAL +chemical = IfcDistributionSystemEnum.CHEMICAL +chilledwater = IfcDistributionSystemEnum.CHILLEDWATER +communication = IfcDistributionSystemEnum.COMMUNICATION +compressedair = IfcDistributionSystemEnum.COMPRESSEDAIR +condenserwater = IfcDistributionSystemEnum.CONDENSERWATER +control = IfcDistributionSystemEnum.CONTROL +conveying = IfcDistributionSystemEnum.CONVEYING +data = IfcDistributionSystemEnum.DATA +disposal = IfcDistributionSystemEnum.DISPOSAL +domesticcoldwater = IfcDistributionSystemEnum.DOMESTICCOLDWATER +domestichotwater = IfcDistributionSystemEnum.DOMESTICHOTWATER +drainage = IfcDistributionSystemEnum.DRAINAGE +earthing = IfcDistributionSystemEnum.EARTHING +electrical = IfcDistributionSystemEnum.ELECTRICAL +electroacoustic = IfcDistributionSystemEnum.ELECTROACOUSTIC +exhaust = IfcDistributionSystemEnum.EXHAUST +fireprotection = IfcDistributionSystemEnum.FIREPROTECTION +fuel = IfcDistributionSystemEnum.FUEL +gas = IfcDistributionSystemEnum.GAS +hazardous = IfcDistributionSystemEnum.HAZARDOUS +heating = IfcDistributionSystemEnum.HEATING +lighting = IfcDistributionSystemEnum.LIGHTING +lightningprotection = IfcDistributionSystemEnum.LIGHTNINGPROTECTION +municipalsolidwaste = IfcDistributionSystemEnum.MUNICIPALSOLIDWASTE +oil = IfcDistributionSystemEnum.OIL +operational = IfcDistributionSystemEnum.OPERATIONAL +powergeneration = IfcDistributionSystemEnum.POWERGENERATION +rainwater = IfcDistributionSystemEnum.RAINWATER +refrigeration = IfcDistributionSystemEnum.REFRIGERATION +security = IfcDistributionSystemEnum.SECURITY +sewage = IfcDistributionSystemEnum.SEWAGE +signal = IfcDistributionSystemEnum.SIGNAL +stormwater = IfcDistributionSystemEnum.STORMWATER +telephone = IfcDistributionSystemEnum.TELEPHONE +tv = IfcDistributionSystemEnum.TV +vacuum = IfcDistributionSystemEnum.VACUUM +vent = IfcDistributionSystemEnum.VENT +ventilation = IfcDistributionSystemEnum.VENTILATION +wastewater = IfcDistributionSystemEnum.WASTEWATER +watersupply = IfcDistributionSystemEnum.WATERSUPPLY +userdefined = IfcDistributionSystemEnum.USERDEFINED +notdefined = IfcDistributionSystemEnum.NOTDEFINED IfcDocumentConfidentialityEnum = enum_namespace() -public = express_getattr(IfcDocumentConfidentialityEnum, 'PUBLIC', INDETERMINATE) -restricted = express_getattr(IfcDocumentConfidentialityEnum, 'RESTRICTED', INDETERMINATE) -confidential = express_getattr(IfcDocumentConfidentialityEnum, 'CONFIDENTIAL', INDETERMINATE) -personal = express_getattr(IfcDocumentConfidentialityEnum, 'PERSONAL', INDETERMINATE) -userdefined = express_getattr(IfcDocumentConfidentialityEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDocumentConfidentialityEnum, 'NOTDEFINED', INDETERMINATE) +public = IfcDocumentConfidentialityEnum.PUBLIC +restricted = IfcDocumentConfidentialityEnum.RESTRICTED +confidential = IfcDocumentConfidentialityEnum.CONFIDENTIAL +personal = IfcDocumentConfidentialityEnum.PERSONAL +userdefined = IfcDocumentConfidentialityEnum.USERDEFINED +notdefined = IfcDocumentConfidentialityEnum.NOTDEFINED IfcDocumentStatusEnum = enum_namespace() -draft = express_getattr(IfcDocumentStatusEnum, 'DRAFT', INDETERMINATE) -finaldraft = express_getattr(IfcDocumentStatusEnum, 'FINALDRAFT', INDETERMINATE) -final = express_getattr(IfcDocumentStatusEnum, 'FINAL', INDETERMINATE) -revision = express_getattr(IfcDocumentStatusEnum, 'REVISION', INDETERMINATE) -notdefined = express_getattr(IfcDocumentStatusEnum, 'NOTDEFINED', INDETERMINATE) +draft = IfcDocumentStatusEnum.DRAFT +finaldraft = IfcDocumentStatusEnum.FINALDRAFT +final = IfcDocumentStatusEnum.FINAL +revision = IfcDocumentStatusEnum.REVISION +notdefined = IfcDocumentStatusEnum.NOTDEFINED IfcDoorPanelOperationEnum = enum_namespace() -swinging = express_getattr(IfcDoorPanelOperationEnum, 'SWINGING', INDETERMINATE) -double_acting = express_getattr(IfcDoorPanelOperationEnum, 'DOUBLE_ACTING', INDETERMINATE) -sliding = express_getattr(IfcDoorPanelOperationEnum, 'SLIDING', INDETERMINATE) -folding = express_getattr(IfcDoorPanelOperationEnum, 'FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorPanelOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorPanelOperationEnum, 'ROLLINGUP', INDETERMINATE) -fixedpanel = express_getattr(IfcDoorPanelOperationEnum, 'FIXEDPANEL', INDETERMINATE) -userdefined = express_getattr(IfcDoorPanelOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +swinging = IfcDoorPanelOperationEnum.SWINGING +double_acting = IfcDoorPanelOperationEnum.DOUBLE_ACTING +sliding = IfcDoorPanelOperationEnum.SLIDING +folding = IfcDoorPanelOperationEnum.FOLDING +revolving = IfcDoorPanelOperationEnum.REVOLVING +rollingup = IfcDoorPanelOperationEnum.ROLLINGUP +fixedpanel = IfcDoorPanelOperationEnum.FIXEDPANEL +userdefined = IfcDoorPanelOperationEnum.USERDEFINED +notdefined = IfcDoorPanelOperationEnum.NOTDEFINED IfcDoorPanelPositionEnum = enum_namespace() -left = express_getattr(IfcDoorPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcDoorPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcDoorPanelPositionEnum, 'RIGHT', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcDoorPanelPositionEnum.LEFT +middle = IfcDoorPanelPositionEnum.MIDDLE +right = IfcDoorPanelPositionEnum.RIGHT +notdefined = IfcDoorPanelPositionEnum.NOTDEFINED IfcDoorStyleConstructionEnum = enum_namespace() -aluminium = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM', INDETERMINATE) -high_grade_steel = express_getattr(IfcDoorStyleConstructionEnum, 'HIGH_GRADE_STEEL', INDETERMINATE) -steel = express_getattr(IfcDoorStyleConstructionEnum, 'STEEL', INDETERMINATE) -wood = express_getattr(IfcDoorStyleConstructionEnum, 'WOOD', INDETERMINATE) -aluminium_wood = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM_WOOD', INDETERMINATE) -aluminium_plastic = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM_PLASTIC', INDETERMINATE) -plastic = express_getattr(IfcDoorStyleConstructionEnum, 'PLASTIC', INDETERMINATE) -userdefined = express_getattr(IfcDoorStyleConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorStyleConstructionEnum, 'NOTDEFINED', INDETERMINATE) +aluminium = IfcDoorStyleConstructionEnum.ALUMINIUM +high_grade_steel = IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL +steel = IfcDoorStyleConstructionEnum.STEEL +wood = IfcDoorStyleConstructionEnum.WOOD +aluminium_wood = IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD +aluminium_plastic = IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC +plastic = IfcDoorStyleConstructionEnum.PLASTIC +userdefined = IfcDoorStyleConstructionEnum.USERDEFINED +notdefined = IfcDoorStyleConstructionEnum.NOTDEFINED IfcDoorStyleOperationEnum = enum_namespace() -single_swing_left = express_getattr(IfcDoorStyleOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorStyleOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -double_door_single_swing = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING', INDETERMINATE) -double_door_single_swing_opposite_left = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_door_single_swing_opposite_right = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -double_door_double_swing = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_DOUBLE_SWING', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorStyleOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorStyleOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -double_door_sliding = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SLIDING', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorStyleOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorStyleOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -double_door_folding = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorStyleOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorStyleOperationEnum, 'ROLLINGUP', INDETERMINATE) -userdefined = express_getattr(IfcDoorStyleOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorStyleOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_swing_left = IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT +double_door_single_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING +double_door_single_swing_opposite_left = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT +double_door_single_swing_opposite_right = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT +double_swing_left = IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT +double_door_double_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING +sliding_to_left = IfcDoorStyleOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT +double_door_sliding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING +folding_to_left = IfcDoorStyleOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT +double_door_folding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING +revolving = IfcDoorStyleOperationEnum.REVOLVING +rollingup = IfcDoorStyleOperationEnum.ROLLINGUP +userdefined = IfcDoorStyleOperationEnum.USERDEFINED +notdefined = IfcDoorStyleOperationEnum.NOTDEFINED IfcDoorTypeEnum = enum_namespace() -door = express_getattr(IfcDoorTypeEnum, 'DOOR', INDETERMINATE) -gate = express_getattr(IfcDoorTypeEnum, 'GATE', INDETERMINATE) -trapdoor = express_getattr(IfcDoorTypeEnum, 'TRAPDOOR', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeEnum, 'NOTDEFINED', INDETERMINATE) +door = IfcDoorTypeEnum.DOOR +gate = IfcDoorTypeEnum.GATE +trapdoor = IfcDoorTypeEnum.TRAPDOOR +userdefined = IfcDoorTypeEnum.USERDEFINED +notdefined = IfcDoorTypeEnum.NOTDEFINED IfcDoorTypeOperationEnum = enum_namespace() -single_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -double_door_single_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING', INDETERMINATE) -double_door_single_swing_opposite_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_door_single_swing_opposite_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -double_door_double_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_DOUBLE_SWING', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -double_door_sliding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SLIDING', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -double_door_folding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorTypeOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorTypeOperationEnum, 'ROLLINGUP', INDETERMINATE) -swing_fixed_left = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_LEFT', INDETERMINATE) -swing_fixed_right = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_RIGHT', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_swing_left = IfcDoorTypeOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorTypeOperationEnum.SINGLE_SWING_RIGHT +double_door_single_swing = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING +double_door_single_swing_opposite_left = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT +double_door_single_swing_opposite_right = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT +double_swing_left = IfcDoorTypeOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorTypeOperationEnum.DOUBLE_SWING_RIGHT +double_door_double_swing = IfcDoorTypeOperationEnum.DOUBLE_DOOR_DOUBLE_SWING +sliding_to_left = IfcDoorTypeOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorTypeOperationEnum.SLIDING_TO_RIGHT +double_door_sliding = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SLIDING +folding_to_left = IfcDoorTypeOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorTypeOperationEnum.FOLDING_TO_RIGHT +double_door_folding = IfcDoorTypeOperationEnum.DOUBLE_DOOR_FOLDING +revolving = IfcDoorTypeOperationEnum.REVOLVING +rollingup = IfcDoorTypeOperationEnum.ROLLINGUP +swing_fixed_left = IfcDoorTypeOperationEnum.SWING_FIXED_LEFT +swing_fixed_right = IfcDoorTypeOperationEnum.SWING_FIXED_RIGHT +userdefined = IfcDoorTypeOperationEnum.USERDEFINED +notdefined = IfcDoorTypeOperationEnum.NOTDEFINED IfcDuctFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcDuctFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcDuctFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcDuctFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcDuctFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcDuctFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcDuctFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcDuctFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcDuctFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcDuctFittingTypeEnum.BEND +connector = IfcDuctFittingTypeEnum.CONNECTOR +entry = IfcDuctFittingTypeEnum.ENTRY +exit = IfcDuctFittingTypeEnum.EXIT +junction = IfcDuctFittingTypeEnum.JUNCTION +obstruction = IfcDuctFittingTypeEnum.OBSTRUCTION +transition = IfcDuctFittingTypeEnum.TRANSITION +userdefined = IfcDuctFittingTypeEnum.USERDEFINED +notdefined = IfcDuctFittingTypeEnum.NOTDEFINED IfcDuctSegmentTypeEnum = enum_namespace() -rigidsegment = express_getattr(IfcDuctSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -flexiblesegment = express_getattr(IfcDuctSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcDuctSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +rigidsegment = IfcDuctSegmentTypeEnum.RIGIDSEGMENT +flexiblesegment = IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT +userdefined = IfcDuctSegmentTypeEnum.USERDEFINED +notdefined = IfcDuctSegmentTypeEnum.NOTDEFINED IfcDuctSilencerTypeEnum = enum_namespace() -flatoval = express_getattr(IfcDuctSilencerTypeEnum, 'FLATOVAL', INDETERMINATE) -rectangular = express_getattr(IfcDuctSilencerTypeEnum, 'RECTANGULAR', INDETERMINATE) -round = express_getattr(IfcDuctSilencerTypeEnum, 'ROUND', INDETERMINATE) -userdefined = express_getattr(IfcDuctSilencerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSilencerTypeEnum, 'NOTDEFINED', INDETERMINATE) +flatoval = IfcDuctSilencerTypeEnum.FLATOVAL +rectangular = IfcDuctSilencerTypeEnum.RECTANGULAR +round = IfcDuctSilencerTypeEnum.ROUND +userdefined = IfcDuctSilencerTypeEnum.USERDEFINED +notdefined = IfcDuctSilencerTypeEnum.NOTDEFINED IfcElectricApplianceTypeEnum = enum_namespace() -dishwasher = express_getattr(IfcElectricApplianceTypeEnum, 'DISHWASHER', INDETERMINATE) -electriccooker = express_getattr(IfcElectricApplianceTypeEnum, 'ELECTRICCOOKER', INDETERMINATE) -freestandingelectricheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGELECTRICHEATER', INDETERMINATE) -freestandingfan = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGFAN', INDETERMINATE) -freestandingwaterheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERHEATER', INDETERMINATE) -freestandingwatercooler = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERCOOLER', INDETERMINATE) -freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FREEZER', INDETERMINATE) -fridge_freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FRIDGE_FREEZER', INDETERMINATE) -handdryer = express_getattr(IfcElectricApplianceTypeEnum, 'HANDDRYER', INDETERMINATE) -kitchenmachine = express_getattr(IfcElectricApplianceTypeEnum, 'KITCHENMACHINE', INDETERMINATE) -microwave = express_getattr(IfcElectricApplianceTypeEnum, 'MICROWAVE', INDETERMINATE) -photocopier = express_getattr(IfcElectricApplianceTypeEnum, 'PHOTOCOPIER', INDETERMINATE) -refrigerator = express_getattr(IfcElectricApplianceTypeEnum, 'REFRIGERATOR', INDETERMINATE) -tumbledryer = express_getattr(IfcElectricApplianceTypeEnum, 'TUMBLEDRYER', INDETERMINATE) -vendingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'VENDINGMACHINE', INDETERMINATE) -washingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'WASHINGMACHINE', INDETERMINATE) -userdefined = express_getattr(IfcElectricApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +dishwasher = IfcElectricApplianceTypeEnum.DISHWASHER +electriccooker = IfcElectricApplianceTypeEnum.ELECTRICCOOKER +freestandingelectricheater = IfcElectricApplianceTypeEnum.FREESTANDINGELECTRICHEATER +freestandingfan = IfcElectricApplianceTypeEnum.FREESTANDINGFAN +freestandingwaterheater = IfcElectricApplianceTypeEnum.FREESTANDINGWATERHEATER +freestandingwatercooler = IfcElectricApplianceTypeEnum.FREESTANDINGWATERCOOLER +freezer = IfcElectricApplianceTypeEnum.FREEZER +fridge_freezer = IfcElectricApplianceTypeEnum.FRIDGE_FREEZER +handdryer = IfcElectricApplianceTypeEnum.HANDDRYER +kitchenmachine = IfcElectricApplianceTypeEnum.KITCHENMACHINE +microwave = IfcElectricApplianceTypeEnum.MICROWAVE +photocopier = IfcElectricApplianceTypeEnum.PHOTOCOPIER +refrigerator = IfcElectricApplianceTypeEnum.REFRIGERATOR +tumbledryer = IfcElectricApplianceTypeEnum.TUMBLEDRYER +vendingmachine = IfcElectricApplianceTypeEnum.VENDINGMACHINE +washingmachine = IfcElectricApplianceTypeEnum.WASHINGMACHINE +userdefined = IfcElectricApplianceTypeEnum.USERDEFINED +notdefined = IfcElectricApplianceTypeEnum.NOTDEFINED IfcElectricDistributionBoardTypeEnum = enum_namespace() -consumerunit = express_getattr(IfcElectricDistributionBoardTypeEnum, 'CONSUMERUNIT', INDETERMINATE) -distributionboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcElectricDistributionBoardTypeEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -switchboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'SWITCHBOARD', INDETERMINATE) -userdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'NOTDEFINED', INDETERMINATE) +consumerunit = IfcElectricDistributionBoardTypeEnum.CONSUMERUNIT +distributionboard = IfcElectricDistributionBoardTypeEnum.DISTRIBUTIONBOARD +motorcontrolcentre = IfcElectricDistributionBoardTypeEnum.MOTORCONTROLCENTRE +switchboard = IfcElectricDistributionBoardTypeEnum.SWITCHBOARD +userdefined = IfcElectricDistributionBoardTypeEnum.USERDEFINED +notdefined = IfcElectricDistributionBoardTypeEnum.NOTDEFINED IfcElectricFlowStorageDeviceTypeEnum = enum_namespace() -battery = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'BATTERY', INDETERMINATE) -capacitorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITORBANK', INDETERMINATE) -harmonicfilter = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'HARMONICFILTER', INDETERMINATE) -inductorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTORBANK', INDETERMINATE) -ups = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'UPS', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +battery = IfcElectricFlowStorageDeviceTypeEnum.BATTERY +capacitorbank = IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK +harmonicfilter = IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER +inductorbank = IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK +ups = IfcElectricFlowStorageDeviceTypeEnum.UPS +userdefined = IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED IfcElectricGeneratorTypeEnum = enum_namespace() -chp = express_getattr(IfcElectricGeneratorTypeEnum, 'CHP', INDETERMINATE) -enginegenerator = express_getattr(IfcElectricGeneratorTypeEnum, 'ENGINEGENERATOR', INDETERMINATE) -standalone = express_getattr(IfcElectricGeneratorTypeEnum, 'STANDALONE', INDETERMINATE) -userdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'NOTDEFINED', INDETERMINATE) +chp = IfcElectricGeneratorTypeEnum.CHP +enginegenerator = IfcElectricGeneratorTypeEnum.ENGINEGENERATOR +standalone = IfcElectricGeneratorTypeEnum.STANDALONE +userdefined = IfcElectricGeneratorTypeEnum.USERDEFINED +notdefined = IfcElectricGeneratorTypeEnum.NOTDEFINED IfcElectricMotorTypeEnum = enum_namespace() -dc = express_getattr(IfcElectricMotorTypeEnum, 'DC', INDETERMINATE) -induction = express_getattr(IfcElectricMotorTypeEnum, 'INDUCTION', INDETERMINATE) -polyphase = express_getattr(IfcElectricMotorTypeEnum, 'POLYPHASE', INDETERMINATE) -reluctancesynchronous = express_getattr(IfcElectricMotorTypeEnum, 'RELUCTANCESYNCHRONOUS', INDETERMINATE) -synchronous = express_getattr(IfcElectricMotorTypeEnum, 'SYNCHRONOUS', INDETERMINATE) -userdefined = express_getattr(IfcElectricMotorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricMotorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dc = IfcElectricMotorTypeEnum.DC +induction = IfcElectricMotorTypeEnum.INDUCTION +polyphase = IfcElectricMotorTypeEnum.POLYPHASE +reluctancesynchronous = IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS +synchronous = IfcElectricMotorTypeEnum.SYNCHRONOUS +userdefined = IfcElectricMotorTypeEnum.USERDEFINED +notdefined = IfcElectricMotorTypeEnum.NOTDEFINED IfcElectricTimeControlTypeEnum = enum_namespace() -timeclock = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMECLOCK', INDETERMINATE) -timedelay = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMEDELAY', INDETERMINATE) -relay = express_getattr(IfcElectricTimeControlTypeEnum, 'RELAY', INDETERMINATE) -userdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'NOTDEFINED', INDETERMINATE) +timeclock = IfcElectricTimeControlTypeEnum.TIMECLOCK +timedelay = IfcElectricTimeControlTypeEnum.TIMEDELAY +relay = IfcElectricTimeControlTypeEnum.RELAY +userdefined = IfcElectricTimeControlTypeEnum.USERDEFINED +notdefined = IfcElectricTimeControlTypeEnum.NOTDEFINED IfcElementAssemblyTypeEnum = enum_namespace() -accessory_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'ACCESSORY_ASSEMBLY', INDETERMINATE) -arch = express_getattr(IfcElementAssemblyTypeEnum, 'ARCH', INDETERMINATE) -beam_grid = express_getattr(IfcElementAssemblyTypeEnum, 'BEAM_GRID', INDETERMINATE) -braced_frame = express_getattr(IfcElementAssemblyTypeEnum, 'BRACED_FRAME', INDETERMINATE) -girder = express_getattr(IfcElementAssemblyTypeEnum, 'GIRDER', INDETERMINATE) -reinforcement_unit = express_getattr(IfcElementAssemblyTypeEnum, 'REINFORCEMENT_UNIT', INDETERMINATE) -rigid_frame = express_getattr(IfcElementAssemblyTypeEnum, 'RIGID_FRAME', INDETERMINATE) -slab_field = express_getattr(IfcElementAssemblyTypeEnum, 'SLAB_FIELD', INDETERMINATE) -truss = express_getattr(IfcElementAssemblyTypeEnum, 'TRUSS', INDETERMINATE) -userdefined = express_getattr(IfcElementAssemblyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElementAssemblyTypeEnum, 'NOTDEFINED', INDETERMINATE) +accessory_assembly = IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY +arch = IfcElementAssemblyTypeEnum.ARCH +beam_grid = IfcElementAssemblyTypeEnum.BEAM_GRID +braced_frame = IfcElementAssemblyTypeEnum.BRACED_FRAME +girder = IfcElementAssemblyTypeEnum.GIRDER +reinforcement_unit = IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT +rigid_frame = IfcElementAssemblyTypeEnum.RIGID_FRAME +slab_field = IfcElementAssemblyTypeEnum.SLAB_FIELD +truss = IfcElementAssemblyTypeEnum.TRUSS +userdefined = IfcElementAssemblyTypeEnum.USERDEFINED +notdefined = IfcElementAssemblyTypeEnum.NOTDEFINED IfcElementCompositionEnum = enum_namespace() -complex = express_getattr(IfcElementCompositionEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcElementCompositionEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcElementCompositionEnum, 'PARTIAL', INDETERMINATE) +complex = IfcElementCompositionEnum.COMPLEX +element = IfcElementCompositionEnum.ELEMENT +partial = IfcElementCompositionEnum.PARTIAL IfcEngineTypeEnum = enum_namespace() -externalcombustion = express_getattr(IfcEngineTypeEnum, 'EXTERNALCOMBUSTION', INDETERMINATE) -internalcombustion = express_getattr(IfcEngineTypeEnum, 'INTERNALCOMBUSTION', INDETERMINATE) -userdefined = express_getattr(IfcEngineTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEngineTypeEnum, 'NOTDEFINED', INDETERMINATE) +externalcombustion = IfcEngineTypeEnum.EXTERNALCOMBUSTION +internalcombustion = IfcEngineTypeEnum.INTERNALCOMBUSTION +userdefined = IfcEngineTypeEnum.USERDEFINED +notdefined = IfcEngineTypeEnum.NOTDEFINED IfcEvaporativeCoolerTypeEnum = enum_namespace() -directevaporativerandommediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER', INDETERMINATE) -directevaporativerigidmediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER', INDETERMINATE) -directevaporativeslingerspackagedaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER', INDETERMINATE) -directevaporativepackagedrotaryaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER', INDETERMINATE) -directevaporativeairwasher = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEAIRWASHER', INDETERMINATE) -indirectevaporativepackageaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEPACKAGEAIRCOOLER', INDETERMINATE) -indirectevaporativewetcoil = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEWETCOIL', INDETERMINATE) -indirectevaporativecoolingtowerorcoilcooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER', INDETERMINATE) -indirectdirectcombination = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTDIRECTCOMBINATION', INDETERMINATE) -userdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'NOTDEFINED', INDETERMINATE) +directevaporativerandommediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER +directevaporativerigidmediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER +directevaporativeslingerspackagedaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER +directevaporativepackagedrotaryaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER +directevaporativeairwasher = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER +indirectevaporativepackageaircooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER +indirectevaporativewetcoil = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL +indirectevaporativecoolingtowerorcoilcooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER +indirectdirectcombination = IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION +userdefined = IfcEvaporativeCoolerTypeEnum.USERDEFINED +notdefined = IfcEvaporativeCoolerTypeEnum.NOTDEFINED IfcEvaporatorTypeEnum = enum_namespace() -directexpansion = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSION', INDETERMINATE) -directexpansionshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONSHELLANDTUBE', INDETERMINATE) -directexpansiontubeintube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONTUBEINTUBE', INDETERMINATE) -directexpansionbrazedplate = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONBRAZEDPLATE', INDETERMINATE) -floodedshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'FLOODEDSHELLANDTUBE', INDETERMINATE) -shellandcoil = express_getattr(IfcEvaporatorTypeEnum, 'SHELLANDCOIL', INDETERMINATE) -userdefined = express_getattr(IfcEvaporatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +directexpansion = IfcEvaporatorTypeEnum.DIRECTEXPANSION +directexpansionshellandtube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE +directexpansiontubeintube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE +directexpansionbrazedplate = IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE +floodedshellandtube = IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE +shellandcoil = IfcEvaporatorTypeEnum.SHELLANDCOIL +userdefined = IfcEvaporatorTypeEnum.USERDEFINED +notdefined = IfcEvaporatorTypeEnum.NOTDEFINED IfcEventTriggerTypeEnum = enum_namespace() -eventrule = express_getattr(IfcEventTriggerTypeEnum, 'EVENTRULE', INDETERMINATE) -eventmessage = express_getattr(IfcEventTriggerTypeEnum, 'EVENTMESSAGE', INDETERMINATE) -eventtime = express_getattr(IfcEventTriggerTypeEnum, 'EVENTTIME', INDETERMINATE) -eventcomplex = express_getattr(IfcEventTriggerTypeEnum, 'EVENTCOMPLEX', INDETERMINATE) -userdefined = express_getattr(IfcEventTriggerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTriggerTypeEnum, 'NOTDEFINED', INDETERMINATE) +eventrule = IfcEventTriggerTypeEnum.EVENTRULE +eventmessage = IfcEventTriggerTypeEnum.EVENTMESSAGE +eventtime = IfcEventTriggerTypeEnum.EVENTTIME +eventcomplex = IfcEventTriggerTypeEnum.EVENTCOMPLEX +userdefined = IfcEventTriggerTypeEnum.USERDEFINED +notdefined = IfcEventTriggerTypeEnum.NOTDEFINED IfcEventTypeEnum = enum_namespace() -startevent = express_getattr(IfcEventTypeEnum, 'STARTEVENT', INDETERMINATE) -endevent = express_getattr(IfcEventTypeEnum, 'ENDEVENT', INDETERMINATE) -intermediateevent = express_getattr(IfcEventTypeEnum, 'INTERMEDIATEEVENT', INDETERMINATE) -userdefined = express_getattr(IfcEventTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTypeEnum, 'NOTDEFINED', INDETERMINATE) +startevent = IfcEventTypeEnum.STARTEVENT +endevent = IfcEventTypeEnum.ENDEVENT +intermediateevent = IfcEventTypeEnum.INTERMEDIATEEVENT +userdefined = IfcEventTypeEnum.USERDEFINED +notdefined = IfcEventTypeEnum.NOTDEFINED IfcExternalSpatialElementTypeEnum = enum_namespace() -external = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_water = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_WATER', INDETERMINATE) -external_fire = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_FIRE', INDETERMINATE) -userdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +external = IfcExternalSpatialElementTypeEnum.EXTERNAL +external_earth = IfcExternalSpatialElementTypeEnum.EXTERNAL_EARTH +external_water = IfcExternalSpatialElementTypeEnum.EXTERNAL_WATER +external_fire = IfcExternalSpatialElementTypeEnum.EXTERNAL_FIRE +userdefined = IfcExternalSpatialElementTypeEnum.USERDEFINED +notdefined = IfcExternalSpatialElementTypeEnum.NOTDEFINED IfcFanTypeEnum = enum_namespace() -centrifugalforwardcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALFORWARDCURVED', INDETERMINATE) -centrifugalradial = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALRADIAL', INDETERMINATE) -centrifugalbackwardinclinedcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALBACKWARDINCLINEDCURVED', INDETERMINATE) -centrifugalairfoil = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALAIRFOIL', INDETERMINATE) -tubeaxial = express_getattr(IfcFanTypeEnum, 'TUBEAXIAL', INDETERMINATE) -vaneaxial = express_getattr(IfcFanTypeEnum, 'VANEAXIAL', INDETERMINATE) -propelloraxial = express_getattr(IfcFanTypeEnum, 'PROPELLORAXIAL', INDETERMINATE) -userdefined = express_getattr(IfcFanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFanTypeEnum, 'NOTDEFINED', INDETERMINATE) +centrifugalforwardcurved = IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED +centrifugalradial = IfcFanTypeEnum.CENTRIFUGALRADIAL +centrifugalbackwardinclinedcurved = IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED +centrifugalairfoil = IfcFanTypeEnum.CENTRIFUGALAIRFOIL +tubeaxial = IfcFanTypeEnum.TUBEAXIAL +vaneaxial = IfcFanTypeEnum.VANEAXIAL +propelloraxial = IfcFanTypeEnum.PROPELLORAXIAL +userdefined = IfcFanTypeEnum.USERDEFINED +notdefined = IfcFanTypeEnum.NOTDEFINED IfcFastenerTypeEnum = enum_namespace() -glue = express_getattr(IfcFastenerTypeEnum, 'GLUE', INDETERMINATE) -mortar = express_getattr(IfcFastenerTypeEnum, 'MORTAR', INDETERMINATE) -weld = express_getattr(IfcFastenerTypeEnum, 'WELD', INDETERMINATE) -userdefined = express_getattr(IfcFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +glue = IfcFastenerTypeEnum.GLUE +mortar = IfcFastenerTypeEnum.MORTAR +weld = IfcFastenerTypeEnum.WELD +userdefined = IfcFastenerTypeEnum.USERDEFINED +notdefined = IfcFastenerTypeEnum.NOTDEFINED IfcFilterTypeEnum = enum_namespace() -airparticlefilter = express_getattr(IfcFilterTypeEnum, 'AIRPARTICLEFILTER', INDETERMINATE) -compressedairfilter = express_getattr(IfcFilterTypeEnum, 'COMPRESSEDAIRFILTER', INDETERMINATE) -odorfilter = express_getattr(IfcFilterTypeEnum, 'ODORFILTER', INDETERMINATE) -oilfilter = express_getattr(IfcFilterTypeEnum, 'OILFILTER', INDETERMINATE) -strainer = express_getattr(IfcFilterTypeEnum, 'STRAINER', INDETERMINATE) -waterfilter = express_getattr(IfcFilterTypeEnum, 'WATERFILTER', INDETERMINATE) -userdefined = express_getattr(IfcFilterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFilterTypeEnum, 'NOTDEFINED', INDETERMINATE) +airparticlefilter = IfcFilterTypeEnum.AIRPARTICLEFILTER +compressedairfilter = IfcFilterTypeEnum.COMPRESSEDAIRFILTER +odorfilter = IfcFilterTypeEnum.ODORFILTER +oilfilter = IfcFilterTypeEnum.OILFILTER +strainer = IfcFilterTypeEnum.STRAINER +waterfilter = IfcFilterTypeEnum.WATERFILTER +userdefined = IfcFilterTypeEnum.USERDEFINED +notdefined = IfcFilterTypeEnum.NOTDEFINED IfcFireSuppressionTerminalTypeEnum = enum_namespace() -breechinginlet = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'BREECHINGINLET', INDETERMINATE) -firehydrant = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'FIREHYDRANT', INDETERMINATE) -hosereel = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -sprinkler = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLER', INDETERMINATE) -sprinklerdeflector = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLERDEFLECTOR', INDETERMINATE) -userdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +breechinginlet = IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET +firehydrant = IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT +hosereel = IfcFireSuppressionTerminalTypeEnum.HOSEREEL +sprinkler = IfcFireSuppressionTerminalTypeEnum.SPRINKLER +sprinklerdeflector = IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR +userdefined = IfcFireSuppressionTerminalTypeEnum.USERDEFINED +notdefined = IfcFireSuppressionTerminalTypeEnum.NOTDEFINED IfcFlowDirectionEnum = enum_namespace() -source = express_getattr(IfcFlowDirectionEnum, 'SOURCE', INDETERMINATE) -sink = express_getattr(IfcFlowDirectionEnum, 'SINK', INDETERMINATE) -sourceandsink = express_getattr(IfcFlowDirectionEnum, 'SOURCEANDSINK', INDETERMINATE) -notdefined = express_getattr(IfcFlowDirectionEnum, 'NOTDEFINED', INDETERMINATE) +source = IfcFlowDirectionEnum.SOURCE +sink = IfcFlowDirectionEnum.SINK +sourceandsink = IfcFlowDirectionEnum.SOURCEANDSINK +notdefined = IfcFlowDirectionEnum.NOTDEFINED IfcFlowInstrumentTypeEnum = enum_namespace() -pressuregauge = express_getattr(IfcFlowInstrumentTypeEnum, 'PRESSUREGAUGE', INDETERMINATE) -thermometer = express_getattr(IfcFlowInstrumentTypeEnum, 'THERMOMETER', INDETERMINATE) -ammeter = express_getattr(IfcFlowInstrumentTypeEnum, 'AMMETER', INDETERMINATE) -frequencymeter = express_getattr(IfcFlowInstrumentTypeEnum, 'FREQUENCYMETER', INDETERMINATE) -powerfactormeter = express_getattr(IfcFlowInstrumentTypeEnum, 'POWERFACTORMETER', INDETERMINATE) -phaseanglemeter = express_getattr(IfcFlowInstrumentTypeEnum, 'PHASEANGLEMETER', INDETERMINATE) -voltmeter_peak = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_PEAK', INDETERMINATE) -voltmeter_rms = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_RMS', INDETERMINATE) -userdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'NOTDEFINED', INDETERMINATE) +pressuregauge = IfcFlowInstrumentTypeEnum.PRESSUREGAUGE +thermometer = IfcFlowInstrumentTypeEnum.THERMOMETER +ammeter = IfcFlowInstrumentTypeEnum.AMMETER +frequencymeter = IfcFlowInstrumentTypeEnum.FREQUENCYMETER +powerfactormeter = IfcFlowInstrumentTypeEnum.POWERFACTORMETER +phaseanglemeter = IfcFlowInstrumentTypeEnum.PHASEANGLEMETER +voltmeter_peak = IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK +voltmeter_rms = IfcFlowInstrumentTypeEnum.VOLTMETER_RMS +userdefined = IfcFlowInstrumentTypeEnum.USERDEFINED +notdefined = IfcFlowInstrumentTypeEnum.NOTDEFINED IfcFlowMeterTypeEnum = enum_namespace() -energymeter = express_getattr(IfcFlowMeterTypeEnum, 'ENERGYMETER', INDETERMINATE) -gasmeter = express_getattr(IfcFlowMeterTypeEnum, 'GASMETER', INDETERMINATE) -oilmeter = express_getattr(IfcFlowMeterTypeEnum, 'OILMETER', INDETERMINATE) -watermeter = express_getattr(IfcFlowMeterTypeEnum, 'WATERMETER', INDETERMINATE) -userdefined = express_getattr(IfcFlowMeterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowMeterTypeEnum, 'NOTDEFINED', INDETERMINATE) +energymeter = IfcFlowMeterTypeEnum.ENERGYMETER +gasmeter = IfcFlowMeterTypeEnum.GASMETER +oilmeter = IfcFlowMeterTypeEnum.OILMETER +watermeter = IfcFlowMeterTypeEnum.WATERMETER +userdefined = IfcFlowMeterTypeEnum.USERDEFINED +notdefined = IfcFlowMeterTypeEnum.NOTDEFINED IfcFootingTypeEnum = enum_namespace() -caisson_foundation = express_getattr(IfcFootingTypeEnum, 'CAISSON_FOUNDATION', INDETERMINATE) -footing_beam = express_getattr(IfcFootingTypeEnum, 'FOOTING_BEAM', INDETERMINATE) -pad_footing = express_getattr(IfcFootingTypeEnum, 'PAD_FOOTING', INDETERMINATE) -pile_cap = express_getattr(IfcFootingTypeEnum, 'PILE_CAP', INDETERMINATE) -strip_footing = express_getattr(IfcFootingTypeEnum, 'STRIP_FOOTING', INDETERMINATE) -userdefined = express_getattr(IfcFootingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFootingTypeEnum, 'NOTDEFINED', INDETERMINATE) +caisson_foundation = IfcFootingTypeEnum.CAISSON_FOUNDATION +footing_beam = IfcFootingTypeEnum.FOOTING_BEAM +pad_footing = IfcFootingTypeEnum.PAD_FOOTING +pile_cap = IfcFootingTypeEnum.PILE_CAP +strip_footing = IfcFootingTypeEnum.STRIP_FOOTING +userdefined = IfcFootingTypeEnum.USERDEFINED +notdefined = IfcFootingTypeEnum.NOTDEFINED IfcFurnitureTypeEnum = enum_namespace() -chair = express_getattr(IfcFurnitureTypeEnum, 'CHAIR', INDETERMINATE) -table = express_getattr(IfcFurnitureTypeEnum, 'TABLE', INDETERMINATE) -desk = express_getattr(IfcFurnitureTypeEnum, 'DESK', INDETERMINATE) -bed = express_getattr(IfcFurnitureTypeEnum, 'BED', INDETERMINATE) -filecabinet = express_getattr(IfcFurnitureTypeEnum, 'FILECABINET', INDETERMINATE) -shelf = express_getattr(IfcFurnitureTypeEnum, 'SHELF', INDETERMINATE) -sofa = express_getattr(IfcFurnitureTypeEnum, 'SOFA', INDETERMINATE) -userdefined = express_getattr(IfcFurnitureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFurnitureTypeEnum, 'NOTDEFINED', INDETERMINATE) +chair = IfcFurnitureTypeEnum.CHAIR +table = IfcFurnitureTypeEnum.TABLE +desk = IfcFurnitureTypeEnum.DESK +bed = IfcFurnitureTypeEnum.BED +filecabinet = IfcFurnitureTypeEnum.FILECABINET +shelf = IfcFurnitureTypeEnum.SHELF +sofa = IfcFurnitureTypeEnum.SOFA +userdefined = IfcFurnitureTypeEnum.USERDEFINED +notdefined = IfcFurnitureTypeEnum.NOTDEFINED IfcGeographicElementTypeEnum = enum_namespace() -terrain = express_getattr(IfcGeographicElementTypeEnum, 'TERRAIN', INDETERMINATE) -userdefined = express_getattr(IfcGeographicElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeographicElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +terrain = IfcGeographicElementTypeEnum.TERRAIN +userdefined = IfcGeographicElementTypeEnum.USERDEFINED +notdefined = IfcGeographicElementTypeEnum.NOTDEFINED IfcGeometricProjectionEnum = enum_namespace() -graph_view = express_getattr(IfcGeometricProjectionEnum, 'GRAPH_VIEW', INDETERMINATE) -sketch_view = express_getattr(IfcGeometricProjectionEnum, 'SKETCH_VIEW', INDETERMINATE) -model_view = express_getattr(IfcGeometricProjectionEnum, 'MODEL_VIEW', INDETERMINATE) -plan_view = express_getattr(IfcGeometricProjectionEnum, 'PLAN_VIEW', INDETERMINATE) -reflected_plan_view = express_getattr(IfcGeometricProjectionEnum, 'REFLECTED_PLAN_VIEW', INDETERMINATE) -section_view = express_getattr(IfcGeometricProjectionEnum, 'SECTION_VIEW', INDETERMINATE) -elevation_view = express_getattr(IfcGeometricProjectionEnum, 'ELEVATION_VIEW', INDETERMINATE) -userdefined = express_getattr(IfcGeometricProjectionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeometricProjectionEnum, 'NOTDEFINED', INDETERMINATE) +graph_view = IfcGeometricProjectionEnum.GRAPH_VIEW +sketch_view = IfcGeometricProjectionEnum.SKETCH_VIEW +model_view = IfcGeometricProjectionEnum.MODEL_VIEW +plan_view = IfcGeometricProjectionEnum.PLAN_VIEW +reflected_plan_view = IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW +section_view = IfcGeometricProjectionEnum.SECTION_VIEW +elevation_view = IfcGeometricProjectionEnum.ELEVATION_VIEW +userdefined = IfcGeometricProjectionEnum.USERDEFINED +notdefined = IfcGeometricProjectionEnum.NOTDEFINED IfcGlobalOrLocalEnum = enum_namespace() -global_coords = express_getattr(IfcGlobalOrLocalEnum, 'GLOBAL_COORDS', INDETERMINATE) -local_coords = express_getattr(IfcGlobalOrLocalEnum, 'LOCAL_COORDS', INDETERMINATE) +global_coords = IfcGlobalOrLocalEnum.GLOBAL_COORDS +local_coords = IfcGlobalOrLocalEnum.LOCAL_COORDS IfcGridTypeEnum = enum_namespace() -rectangular = express_getattr(IfcGridTypeEnum, 'RECTANGULAR', INDETERMINATE) -radial = express_getattr(IfcGridTypeEnum, 'RADIAL', INDETERMINATE) -triangular = express_getattr(IfcGridTypeEnum, 'TRIANGULAR', INDETERMINATE) -irregular = express_getattr(IfcGridTypeEnum, 'IRREGULAR', INDETERMINATE) -userdefined = express_getattr(IfcGridTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGridTypeEnum, 'NOTDEFINED', INDETERMINATE) +rectangular = IfcGridTypeEnum.RECTANGULAR +radial = IfcGridTypeEnum.RADIAL +triangular = IfcGridTypeEnum.TRIANGULAR +irregular = IfcGridTypeEnum.IRREGULAR +userdefined = IfcGridTypeEnum.USERDEFINED +notdefined = IfcGridTypeEnum.NOTDEFINED IfcHeatExchangerTypeEnum = enum_namespace() -plate = express_getattr(IfcHeatExchangerTypeEnum, 'PLATE', INDETERMINATE) -shellandtube = express_getattr(IfcHeatExchangerTypeEnum, 'SHELLANDTUBE', INDETERMINATE) -userdefined = express_getattr(IfcHeatExchangerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHeatExchangerTypeEnum, 'NOTDEFINED', INDETERMINATE) +plate = IfcHeatExchangerTypeEnum.PLATE +shellandtube = IfcHeatExchangerTypeEnum.SHELLANDTUBE +userdefined = IfcHeatExchangerTypeEnum.USERDEFINED +notdefined = IfcHeatExchangerTypeEnum.NOTDEFINED IfcHumidifierTypeEnum = enum_namespace() -steaminjection = express_getattr(IfcHumidifierTypeEnum, 'STEAMINJECTION', INDETERMINATE) -adiabaticairwasher = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICAIRWASHER', INDETERMINATE) -adiabaticpan = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICPAN', INDETERMINATE) -adiabaticwettedelement = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICWETTEDELEMENT', INDETERMINATE) -adiabaticatomizing = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICATOMIZING', INDETERMINATE) -adiabaticultrasonic = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICULTRASONIC', INDETERMINATE) -adiabaticrigidmedia = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICRIGIDMEDIA', INDETERMINATE) -adiabaticcompressedairnozzle = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICCOMPRESSEDAIRNOZZLE', INDETERMINATE) -assistedelectric = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDELECTRIC', INDETERMINATE) -assistednaturalgas = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDNATURALGAS', INDETERMINATE) -assistedpropane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDPROPANE', INDETERMINATE) -assistedbutane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDBUTANE', INDETERMINATE) -assistedsteam = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDSTEAM', INDETERMINATE) -userdefined = express_getattr(IfcHumidifierTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHumidifierTypeEnum, 'NOTDEFINED', INDETERMINATE) +steaminjection = IfcHumidifierTypeEnum.STEAMINJECTION +adiabaticairwasher = IfcHumidifierTypeEnum.ADIABATICAIRWASHER +adiabaticpan = IfcHumidifierTypeEnum.ADIABATICPAN +adiabaticwettedelement = IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT +adiabaticatomizing = IfcHumidifierTypeEnum.ADIABATICATOMIZING +adiabaticultrasonic = IfcHumidifierTypeEnum.ADIABATICULTRASONIC +adiabaticrigidmedia = IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA +adiabaticcompressedairnozzle = IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE +assistedelectric = IfcHumidifierTypeEnum.ASSISTEDELECTRIC +assistednaturalgas = IfcHumidifierTypeEnum.ASSISTEDNATURALGAS +assistedpropane = IfcHumidifierTypeEnum.ASSISTEDPROPANE +assistedbutane = IfcHumidifierTypeEnum.ASSISTEDBUTANE +assistedsteam = IfcHumidifierTypeEnum.ASSISTEDSTEAM +userdefined = IfcHumidifierTypeEnum.USERDEFINED +notdefined = IfcHumidifierTypeEnum.NOTDEFINED IfcInterceptorTypeEnum = enum_namespace() -cyclonic = express_getattr(IfcInterceptorTypeEnum, 'CYCLONIC', INDETERMINATE) -grease = express_getattr(IfcInterceptorTypeEnum, 'GREASE', INDETERMINATE) -oil = express_getattr(IfcInterceptorTypeEnum, 'OIL', INDETERMINATE) -petrol = express_getattr(IfcInterceptorTypeEnum, 'PETROL', INDETERMINATE) -userdefined = express_getattr(IfcInterceptorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInterceptorTypeEnum, 'NOTDEFINED', INDETERMINATE) +cyclonic = IfcInterceptorTypeEnum.CYCLONIC +grease = IfcInterceptorTypeEnum.GREASE +oil = IfcInterceptorTypeEnum.OIL +petrol = IfcInterceptorTypeEnum.PETROL +userdefined = IfcInterceptorTypeEnum.USERDEFINED +notdefined = IfcInterceptorTypeEnum.NOTDEFINED IfcInternalOrExternalEnum = enum_namespace() -internal = express_getattr(IfcInternalOrExternalEnum, 'INTERNAL', INDETERMINATE) -external = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_water = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_WATER', INDETERMINATE) -external_fire = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_FIRE', INDETERMINATE) -notdefined = express_getattr(IfcInternalOrExternalEnum, 'NOTDEFINED', INDETERMINATE) +internal = IfcInternalOrExternalEnum.INTERNAL +external = IfcInternalOrExternalEnum.EXTERNAL +external_earth = IfcInternalOrExternalEnum.EXTERNAL_EARTH +external_water = IfcInternalOrExternalEnum.EXTERNAL_WATER +external_fire = IfcInternalOrExternalEnum.EXTERNAL_FIRE +notdefined = IfcInternalOrExternalEnum.NOTDEFINED IfcInventoryTypeEnum = enum_namespace() -assetinventory = express_getattr(IfcInventoryTypeEnum, 'ASSETINVENTORY', INDETERMINATE) -spaceinventory = express_getattr(IfcInventoryTypeEnum, 'SPACEINVENTORY', INDETERMINATE) -furnitureinventory = express_getattr(IfcInventoryTypeEnum, 'FURNITUREINVENTORY', INDETERMINATE) -userdefined = express_getattr(IfcInventoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInventoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +assetinventory = IfcInventoryTypeEnum.ASSETINVENTORY +spaceinventory = IfcInventoryTypeEnum.SPACEINVENTORY +furnitureinventory = IfcInventoryTypeEnum.FURNITUREINVENTORY +userdefined = IfcInventoryTypeEnum.USERDEFINED +notdefined = IfcInventoryTypeEnum.NOTDEFINED IfcJunctionBoxTypeEnum = enum_namespace() -data = express_getattr(IfcJunctionBoxTypeEnum, 'DATA', INDETERMINATE) -power = express_getattr(IfcJunctionBoxTypeEnum, 'POWER', INDETERMINATE) -userdefined = express_getattr(IfcJunctionBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcJunctionBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +data = IfcJunctionBoxTypeEnum.DATA +power = IfcJunctionBoxTypeEnum.POWER +userdefined = IfcJunctionBoxTypeEnum.USERDEFINED +notdefined = IfcJunctionBoxTypeEnum.NOTDEFINED IfcKnotType = enum_namespace() -uniform_knots = express_getattr(IfcKnotType, 'UNIFORM_KNOTS', INDETERMINATE) -quasi_uniform_knots = express_getattr(IfcKnotType, 'QUASI_UNIFORM_KNOTS', INDETERMINATE) -piecewise_bezier_knots = express_getattr(IfcKnotType, 'PIECEWISE_BEZIER_KNOTS', INDETERMINATE) -unspecified = express_getattr(IfcKnotType, 'UNSPECIFIED', INDETERMINATE) +uniform_knots = IfcKnotType.UNIFORM_KNOTS +quasi_uniform_knots = IfcKnotType.QUASI_UNIFORM_KNOTS +piecewise_bezier_knots = IfcKnotType.PIECEWISE_BEZIER_KNOTS +unspecified = IfcKnotType.UNSPECIFIED IfcLaborResourceTypeEnum = enum_namespace() -administration = express_getattr(IfcLaborResourceTypeEnum, 'ADMINISTRATION', INDETERMINATE) -carpentry = express_getattr(IfcLaborResourceTypeEnum, 'CARPENTRY', INDETERMINATE) -cleaning = express_getattr(IfcLaborResourceTypeEnum, 'CLEANING', INDETERMINATE) -concrete = express_getattr(IfcLaborResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcLaborResourceTypeEnum, 'DRYWALL', INDETERMINATE) -electric = express_getattr(IfcLaborResourceTypeEnum, 'ELECTRIC', INDETERMINATE) -finishing = express_getattr(IfcLaborResourceTypeEnum, 'FINISHING', INDETERMINATE) -flooring = express_getattr(IfcLaborResourceTypeEnum, 'FLOORING', INDETERMINATE) -general = express_getattr(IfcLaborResourceTypeEnum, 'GENERAL', INDETERMINATE) -hvac = express_getattr(IfcLaborResourceTypeEnum, 'HVAC', INDETERMINATE) -landscaping = express_getattr(IfcLaborResourceTypeEnum, 'LANDSCAPING', INDETERMINATE) -masonry = express_getattr(IfcLaborResourceTypeEnum, 'MASONRY', INDETERMINATE) -painting = express_getattr(IfcLaborResourceTypeEnum, 'PAINTING', INDETERMINATE) -paving = express_getattr(IfcLaborResourceTypeEnum, 'PAVING', INDETERMINATE) -plumbing = express_getattr(IfcLaborResourceTypeEnum, 'PLUMBING', INDETERMINATE) -roofing = express_getattr(IfcLaborResourceTypeEnum, 'ROOFING', INDETERMINATE) -sitegrading = express_getattr(IfcLaborResourceTypeEnum, 'SITEGRADING', INDETERMINATE) -steelwork = express_getattr(IfcLaborResourceTypeEnum, 'STEELWORK', INDETERMINATE) -surveying = express_getattr(IfcLaborResourceTypeEnum, 'SURVEYING', INDETERMINATE) -userdefined = express_getattr(IfcLaborResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLaborResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +administration = IfcLaborResourceTypeEnum.ADMINISTRATION +carpentry = IfcLaborResourceTypeEnum.CARPENTRY +cleaning = IfcLaborResourceTypeEnum.CLEANING +concrete = IfcLaborResourceTypeEnum.CONCRETE +drywall = IfcLaborResourceTypeEnum.DRYWALL +electric = IfcLaborResourceTypeEnum.ELECTRIC +finishing = IfcLaborResourceTypeEnum.FINISHING +flooring = IfcLaborResourceTypeEnum.FLOORING +general = IfcLaborResourceTypeEnum.GENERAL +hvac = IfcLaborResourceTypeEnum.HVAC +landscaping = IfcLaborResourceTypeEnum.LANDSCAPING +masonry = IfcLaborResourceTypeEnum.MASONRY +painting = IfcLaborResourceTypeEnum.PAINTING +paving = IfcLaborResourceTypeEnum.PAVING +plumbing = IfcLaborResourceTypeEnum.PLUMBING +roofing = IfcLaborResourceTypeEnum.ROOFING +sitegrading = IfcLaborResourceTypeEnum.SITEGRADING +steelwork = IfcLaborResourceTypeEnum.STEELWORK +surveying = IfcLaborResourceTypeEnum.SURVEYING +userdefined = IfcLaborResourceTypeEnum.USERDEFINED +notdefined = IfcLaborResourceTypeEnum.NOTDEFINED IfcLampTypeEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLampTypeEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLampTypeEnum, 'FLUORESCENT', INDETERMINATE) -halogen = express_getattr(IfcLampTypeEnum, 'HALOGEN', INDETERMINATE) -highpressuremercury = express_getattr(IfcLampTypeEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLampTypeEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -led = express_getattr(IfcLampTypeEnum, 'LED', INDETERMINATE) -metalhalide = express_getattr(IfcLampTypeEnum, 'METALHALIDE', INDETERMINATE) -oled = express_getattr(IfcLampTypeEnum, 'OLED', INDETERMINATE) -tungstenfilament = express_getattr(IfcLampTypeEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -userdefined = express_getattr(IfcLampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLampTypeEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLampTypeEnum.COMPACTFLUORESCENT +fluorescent = IfcLampTypeEnum.FLUORESCENT +halogen = IfcLampTypeEnum.HALOGEN +highpressuremercury = IfcLampTypeEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLampTypeEnum.HIGHPRESSURESODIUM +led = IfcLampTypeEnum.LED +metalhalide = IfcLampTypeEnum.METALHALIDE +oled = IfcLampTypeEnum.OLED +tungstenfilament = IfcLampTypeEnum.TUNGSTENFILAMENT +userdefined = IfcLampTypeEnum.USERDEFINED +notdefined = IfcLampTypeEnum.NOTDEFINED IfcLayerSetDirectionEnum = enum_namespace() -axis1 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS1', INDETERMINATE) -axis2 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS2', INDETERMINATE) -axis3 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS3', INDETERMINATE) +axis1 = IfcLayerSetDirectionEnum.AXIS1 +axis2 = IfcLayerSetDirectionEnum.AXIS2 +axis3 = IfcLayerSetDirectionEnum.AXIS3 IfcLightDistributionCurveEnum = enum_namespace() -type_a = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_A', INDETERMINATE) -type_b = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_B', INDETERMINATE) -type_c = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_C', INDETERMINATE) -notdefined = express_getattr(IfcLightDistributionCurveEnum, 'NOTDEFINED', INDETERMINATE) +type_a = IfcLightDistributionCurveEnum.TYPE_A +type_b = IfcLightDistributionCurveEnum.TYPE_B +type_c = IfcLightDistributionCurveEnum.TYPE_C +notdefined = IfcLightDistributionCurveEnum.NOTDEFINED IfcLightEmissionSourceEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLightEmissionSourceEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLightEmissionSourceEnum, 'FLUORESCENT', INDETERMINATE) -highpressuremercury = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -lightemittingdiode = express_getattr(IfcLightEmissionSourceEnum, 'LIGHTEMITTINGDIODE', INDETERMINATE) -lowpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'LOWPRESSURESODIUM', INDETERMINATE) -lowvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'LOWVOLTAGEHALOGEN', INDETERMINATE) -mainvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'MAINVOLTAGEHALOGEN', INDETERMINATE) -metalhalide = express_getattr(IfcLightEmissionSourceEnum, 'METALHALIDE', INDETERMINATE) -tungstenfilament = express_getattr(IfcLightEmissionSourceEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -notdefined = express_getattr(IfcLightEmissionSourceEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLightEmissionSourceEnum.COMPACTFLUORESCENT +fluorescent = IfcLightEmissionSourceEnum.FLUORESCENT +highpressuremercury = IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM +lightemittingdiode = IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE +lowpressuresodium = IfcLightEmissionSourceEnum.LOWPRESSURESODIUM +lowvoltagehalogen = IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN +mainvoltagehalogen = IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN +metalhalide = IfcLightEmissionSourceEnum.METALHALIDE +tungstenfilament = IfcLightEmissionSourceEnum.TUNGSTENFILAMENT +notdefined = IfcLightEmissionSourceEnum.NOTDEFINED IfcLightFixtureTypeEnum = enum_namespace() -pointsource = express_getattr(IfcLightFixtureTypeEnum, 'POINTSOURCE', INDETERMINATE) -directionsource = express_getattr(IfcLightFixtureTypeEnum, 'DIRECTIONSOURCE', INDETERMINATE) -securitylighting = express_getattr(IfcLightFixtureTypeEnum, 'SECURITYLIGHTING', INDETERMINATE) -userdefined = express_getattr(IfcLightFixtureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLightFixtureTypeEnum, 'NOTDEFINED', INDETERMINATE) +pointsource = IfcLightFixtureTypeEnum.POINTSOURCE +directionsource = IfcLightFixtureTypeEnum.DIRECTIONSOURCE +securitylighting = IfcLightFixtureTypeEnum.SECURITYLIGHTING +userdefined = IfcLightFixtureTypeEnum.USERDEFINED +notdefined = IfcLightFixtureTypeEnum.NOTDEFINED IfcLoadGroupTypeEnum = enum_namespace() -load_group = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_GROUP', INDETERMINATE) -load_case = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_CASE', INDETERMINATE) -load_combination = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_COMBINATION', INDETERMINATE) -userdefined = express_getattr(IfcLoadGroupTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLoadGroupTypeEnum, 'NOTDEFINED', INDETERMINATE) +load_group = IfcLoadGroupTypeEnum.LOAD_GROUP +load_case = IfcLoadGroupTypeEnum.LOAD_CASE +load_combination = IfcLoadGroupTypeEnum.LOAD_COMBINATION +userdefined = IfcLoadGroupTypeEnum.USERDEFINED +notdefined = IfcLoadGroupTypeEnum.NOTDEFINED IfcLogicalOperatorEnum = enum_namespace() -logicaland = express_getattr(IfcLogicalOperatorEnum, 'LOGICALAND', INDETERMINATE) -logicalor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALOR', INDETERMINATE) -logicalxor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALXOR', INDETERMINATE) -logicalnotand = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTAND', INDETERMINATE) -logicalnotor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTOR', INDETERMINATE) +logicaland = IfcLogicalOperatorEnum.LOGICALAND +logicalor = IfcLogicalOperatorEnum.LOGICALOR +logicalxor = IfcLogicalOperatorEnum.LOGICALXOR +logicalnotand = IfcLogicalOperatorEnum.LOGICALNOTAND +logicalnotor = IfcLogicalOperatorEnum.LOGICALNOTOR IfcMechanicalFastenerTypeEnum = enum_namespace() -anchorbolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'ANCHORBOLT', INDETERMINATE) -bolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'BOLT', INDETERMINATE) -dowel = express_getattr(IfcMechanicalFastenerTypeEnum, 'DOWEL', INDETERMINATE) -nail = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAIL', INDETERMINATE) -nailplate = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAILPLATE', INDETERMINATE) -rivet = express_getattr(IfcMechanicalFastenerTypeEnum, 'RIVET', INDETERMINATE) -screw = express_getattr(IfcMechanicalFastenerTypeEnum, 'SCREW', INDETERMINATE) -shearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'SHEARCONNECTOR', INDETERMINATE) -staple = express_getattr(IfcMechanicalFastenerTypeEnum, 'STAPLE', INDETERMINATE) -studshearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'STUDSHEARCONNECTOR', INDETERMINATE) -userdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorbolt = IfcMechanicalFastenerTypeEnum.ANCHORBOLT +bolt = IfcMechanicalFastenerTypeEnum.BOLT +dowel = IfcMechanicalFastenerTypeEnum.DOWEL +nail = IfcMechanicalFastenerTypeEnum.NAIL +nailplate = IfcMechanicalFastenerTypeEnum.NAILPLATE +rivet = IfcMechanicalFastenerTypeEnum.RIVET +screw = IfcMechanicalFastenerTypeEnum.SCREW +shearconnector = IfcMechanicalFastenerTypeEnum.SHEARCONNECTOR +staple = IfcMechanicalFastenerTypeEnum.STAPLE +studshearconnector = IfcMechanicalFastenerTypeEnum.STUDSHEARCONNECTOR +userdefined = IfcMechanicalFastenerTypeEnum.USERDEFINED +notdefined = IfcMechanicalFastenerTypeEnum.NOTDEFINED IfcMedicalDeviceTypeEnum = enum_namespace() -airstation = express_getattr(IfcMedicalDeviceTypeEnum, 'AIRSTATION', INDETERMINATE) -feedairunit = express_getattr(IfcMedicalDeviceTypeEnum, 'FEEDAIRUNIT', INDETERMINATE) -oxygengenerator = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENGENERATOR', INDETERMINATE) -oxygenplant = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENPLANT', INDETERMINATE) -vacuumstation = express_getattr(IfcMedicalDeviceTypeEnum, 'VACUUMSTATION', INDETERMINATE) -userdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +airstation = IfcMedicalDeviceTypeEnum.AIRSTATION +feedairunit = IfcMedicalDeviceTypeEnum.FEEDAIRUNIT +oxygengenerator = IfcMedicalDeviceTypeEnum.OXYGENGENERATOR +oxygenplant = IfcMedicalDeviceTypeEnum.OXYGENPLANT +vacuumstation = IfcMedicalDeviceTypeEnum.VACUUMSTATION +userdefined = IfcMedicalDeviceTypeEnum.USERDEFINED +notdefined = IfcMedicalDeviceTypeEnum.NOTDEFINED IfcMemberTypeEnum = enum_namespace() -brace = express_getattr(IfcMemberTypeEnum, 'BRACE', INDETERMINATE) -chord = express_getattr(IfcMemberTypeEnum, 'CHORD', INDETERMINATE) -collar = express_getattr(IfcMemberTypeEnum, 'COLLAR', INDETERMINATE) -member = express_getattr(IfcMemberTypeEnum, 'MEMBER', INDETERMINATE) -mullion = express_getattr(IfcMemberTypeEnum, 'MULLION', INDETERMINATE) -plate = express_getattr(IfcMemberTypeEnum, 'PLATE', INDETERMINATE) -post = express_getattr(IfcMemberTypeEnum, 'POST', INDETERMINATE) -purlin = express_getattr(IfcMemberTypeEnum, 'PURLIN', INDETERMINATE) -rafter = express_getattr(IfcMemberTypeEnum, 'RAFTER', INDETERMINATE) -stringer = express_getattr(IfcMemberTypeEnum, 'STRINGER', INDETERMINATE) -strut = express_getattr(IfcMemberTypeEnum, 'STRUT', INDETERMINATE) -stud = express_getattr(IfcMemberTypeEnum, 'STUD', INDETERMINATE) -userdefined = express_getattr(IfcMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +brace = IfcMemberTypeEnum.BRACE +chord = IfcMemberTypeEnum.CHORD +collar = IfcMemberTypeEnum.COLLAR +member = IfcMemberTypeEnum.MEMBER +mullion = IfcMemberTypeEnum.MULLION +plate = IfcMemberTypeEnum.PLATE +post = IfcMemberTypeEnum.POST +purlin = IfcMemberTypeEnum.PURLIN +rafter = IfcMemberTypeEnum.RAFTER +stringer = IfcMemberTypeEnum.STRINGER +strut = IfcMemberTypeEnum.STRUT +stud = IfcMemberTypeEnum.STUD +userdefined = IfcMemberTypeEnum.USERDEFINED +notdefined = IfcMemberTypeEnum.NOTDEFINED IfcMotorConnectionTypeEnum = enum_namespace() -beltdrive = express_getattr(IfcMotorConnectionTypeEnum, 'BELTDRIVE', INDETERMINATE) -coupling = express_getattr(IfcMotorConnectionTypeEnum, 'COUPLING', INDETERMINATE) -directdrive = express_getattr(IfcMotorConnectionTypeEnum, 'DIRECTDRIVE', INDETERMINATE) -userdefined = express_getattr(IfcMotorConnectionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMotorConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +beltdrive = IfcMotorConnectionTypeEnum.BELTDRIVE +coupling = IfcMotorConnectionTypeEnum.COUPLING +directdrive = IfcMotorConnectionTypeEnum.DIRECTDRIVE +userdefined = IfcMotorConnectionTypeEnum.USERDEFINED +notdefined = IfcMotorConnectionTypeEnum.NOTDEFINED IfcNullStyle = enum_namespace() -null = express_getattr(IfcNullStyle, 'NULL', INDETERMINATE) +null = IfcNullStyle.NULL IfcObjectTypeEnum = enum_namespace() -product = express_getattr(IfcObjectTypeEnum, 'PRODUCT', INDETERMINATE) -process = express_getattr(IfcObjectTypeEnum, 'PROCESS', INDETERMINATE) -control = express_getattr(IfcObjectTypeEnum, 'CONTROL', INDETERMINATE) -resource = express_getattr(IfcObjectTypeEnum, 'RESOURCE', INDETERMINATE) -actor = express_getattr(IfcObjectTypeEnum, 'ACTOR', INDETERMINATE) -group = express_getattr(IfcObjectTypeEnum, 'GROUP', INDETERMINATE) -project = express_getattr(IfcObjectTypeEnum, 'PROJECT', INDETERMINATE) -notdefined = express_getattr(IfcObjectTypeEnum, 'NOTDEFINED', INDETERMINATE) +product = IfcObjectTypeEnum.PRODUCT +process = IfcObjectTypeEnum.PROCESS +control = IfcObjectTypeEnum.CONTROL +resource = IfcObjectTypeEnum.RESOURCE +actor = IfcObjectTypeEnum.ACTOR +group = IfcObjectTypeEnum.GROUP +project = IfcObjectTypeEnum.PROJECT +notdefined = IfcObjectTypeEnum.NOTDEFINED IfcObjectiveEnum = enum_namespace() -codecompliance = express_getattr(IfcObjectiveEnum, 'CODECOMPLIANCE', INDETERMINATE) -codewaiver = express_getattr(IfcObjectiveEnum, 'CODEWAIVER', INDETERMINATE) -designintent = express_getattr(IfcObjectiveEnum, 'DESIGNINTENT', INDETERMINATE) -external = express_getattr(IfcObjectiveEnum, 'EXTERNAL', INDETERMINATE) -healthandsafety = express_getattr(IfcObjectiveEnum, 'HEALTHANDSAFETY', INDETERMINATE) -mergeconflict = express_getattr(IfcObjectiveEnum, 'MERGECONFLICT', INDETERMINATE) -modelview = express_getattr(IfcObjectiveEnum, 'MODELVIEW', INDETERMINATE) -parameter = express_getattr(IfcObjectiveEnum, 'PARAMETER', INDETERMINATE) -requirement = express_getattr(IfcObjectiveEnum, 'REQUIREMENT', INDETERMINATE) -specification = express_getattr(IfcObjectiveEnum, 'SPECIFICATION', INDETERMINATE) -triggercondition = express_getattr(IfcObjectiveEnum, 'TRIGGERCONDITION', INDETERMINATE) -userdefined = express_getattr(IfcObjectiveEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcObjectiveEnum, 'NOTDEFINED', INDETERMINATE) +codecompliance = IfcObjectiveEnum.CODECOMPLIANCE +codewaiver = IfcObjectiveEnum.CODEWAIVER +designintent = IfcObjectiveEnum.DESIGNINTENT +external = IfcObjectiveEnum.EXTERNAL +healthandsafety = IfcObjectiveEnum.HEALTHANDSAFETY +mergeconflict = IfcObjectiveEnum.MERGECONFLICT +modelview = IfcObjectiveEnum.MODELVIEW +parameter = IfcObjectiveEnum.PARAMETER +requirement = IfcObjectiveEnum.REQUIREMENT +specification = IfcObjectiveEnum.SPECIFICATION +triggercondition = IfcObjectiveEnum.TRIGGERCONDITION +userdefined = IfcObjectiveEnum.USERDEFINED +notdefined = IfcObjectiveEnum.NOTDEFINED IfcOccupantTypeEnum = enum_namespace() -assignee = express_getattr(IfcOccupantTypeEnum, 'ASSIGNEE', INDETERMINATE) -assignor = express_getattr(IfcOccupantTypeEnum, 'ASSIGNOR', INDETERMINATE) -lessee = express_getattr(IfcOccupantTypeEnum, 'LESSEE', INDETERMINATE) -lessor = express_getattr(IfcOccupantTypeEnum, 'LESSOR', INDETERMINATE) -lettingagent = express_getattr(IfcOccupantTypeEnum, 'LETTINGAGENT', INDETERMINATE) -owner = express_getattr(IfcOccupantTypeEnum, 'OWNER', INDETERMINATE) -tenant = express_getattr(IfcOccupantTypeEnum, 'TENANT', INDETERMINATE) -userdefined = express_getattr(IfcOccupantTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOccupantTypeEnum, 'NOTDEFINED', INDETERMINATE) +assignee = IfcOccupantTypeEnum.ASSIGNEE +assignor = IfcOccupantTypeEnum.ASSIGNOR +lessee = IfcOccupantTypeEnum.LESSEE +lessor = IfcOccupantTypeEnum.LESSOR +lettingagent = IfcOccupantTypeEnum.LETTINGAGENT +owner = IfcOccupantTypeEnum.OWNER +tenant = IfcOccupantTypeEnum.TENANT +userdefined = IfcOccupantTypeEnum.USERDEFINED +notdefined = IfcOccupantTypeEnum.NOTDEFINED IfcOpeningElementTypeEnum = enum_namespace() -opening = express_getattr(IfcOpeningElementTypeEnum, 'OPENING', INDETERMINATE) -recess = express_getattr(IfcOpeningElementTypeEnum, 'RECESS', INDETERMINATE) -userdefined = express_getattr(IfcOpeningElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOpeningElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +opening = IfcOpeningElementTypeEnum.OPENING +recess = IfcOpeningElementTypeEnum.RECESS +userdefined = IfcOpeningElementTypeEnum.USERDEFINED +notdefined = IfcOpeningElementTypeEnum.NOTDEFINED IfcOutletTypeEnum = enum_namespace() -audiovisualoutlet = express_getattr(IfcOutletTypeEnum, 'AUDIOVISUALOUTLET', INDETERMINATE) -communicationsoutlet = express_getattr(IfcOutletTypeEnum, 'COMMUNICATIONSOUTLET', INDETERMINATE) -poweroutlet = express_getattr(IfcOutletTypeEnum, 'POWEROUTLET', INDETERMINATE) -dataoutlet = express_getattr(IfcOutletTypeEnum, 'DATAOUTLET', INDETERMINATE) -telephoneoutlet = express_getattr(IfcOutletTypeEnum, 'TELEPHONEOUTLET', INDETERMINATE) -userdefined = express_getattr(IfcOutletTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOutletTypeEnum, 'NOTDEFINED', INDETERMINATE) +audiovisualoutlet = IfcOutletTypeEnum.AUDIOVISUALOUTLET +communicationsoutlet = IfcOutletTypeEnum.COMMUNICATIONSOUTLET +poweroutlet = IfcOutletTypeEnum.POWEROUTLET +dataoutlet = IfcOutletTypeEnum.DATAOUTLET +telephoneoutlet = IfcOutletTypeEnum.TELEPHONEOUTLET +userdefined = IfcOutletTypeEnum.USERDEFINED +notdefined = IfcOutletTypeEnum.NOTDEFINED IfcPerformanceHistoryTypeEnum = enum_namespace() -userdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcPerformanceHistoryTypeEnum.USERDEFINED +notdefined = IfcPerformanceHistoryTypeEnum.NOTDEFINED IfcPermeableCoveringOperationEnum = enum_namespace() -grill = express_getattr(IfcPermeableCoveringOperationEnum, 'GRILL', INDETERMINATE) -louver = express_getattr(IfcPermeableCoveringOperationEnum, 'LOUVER', INDETERMINATE) -screen = express_getattr(IfcPermeableCoveringOperationEnum, 'SCREEN', INDETERMINATE) -userdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'NOTDEFINED', INDETERMINATE) +grill = IfcPermeableCoveringOperationEnum.GRILL +louver = IfcPermeableCoveringOperationEnum.LOUVER +screen = IfcPermeableCoveringOperationEnum.SCREEN +userdefined = IfcPermeableCoveringOperationEnum.USERDEFINED +notdefined = IfcPermeableCoveringOperationEnum.NOTDEFINED IfcPermitTypeEnum = enum_namespace() -access = express_getattr(IfcPermitTypeEnum, 'ACCESS', INDETERMINATE) -building = express_getattr(IfcPermitTypeEnum, 'BUILDING', INDETERMINATE) -work = express_getattr(IfcPermitTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcPermitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermitTypeEnum, 'NOTDEFINED', INDETERMINATE) +access = IfcPermitTypeEnum.ACCESS +building = IfcPermitTypeEnum.BUILDING +work = IfcPermitTypeEnum.WORK +userdefined = IfcPermitTypeEnum.USERDEFINED +notdefined = IfcPermitTypeEnum.NOTDEFINED IfcPhysicalOrVirtualEnum = enum_namespace() -physical = express_getattr(IfcPhysicalOrVirtualEnum, 'PHYSICAL', INDETERMINATE) -virtual = express_getattr(IfcPhysicalOrVirtualEnum, 'VIRTUAL', INDETERMINATE) -notdefined = express_getattr(IfcPhysicalOrVirtualEnum, 'NOTDEFINED', INDETERMINATE) +physical = IfcPhysicalOrVirtualEnum.PHYSICAL +virtual = IfcPhysicalOrVirtualEnum.VIRTUAL +notdefined = IfcPhysicalOrVirtualEnum.NOTDEFINED IfcPileConstructionEnum = enum_namespace() -cast_in_place = express_getattr(IfcPileConstructionEnum, 'CAST_IN_PLACE', INDETERMINATE) -composite = express_getattr(IfcPileConstructionEnum, 'COMPOSITE', INDETERMINATE) -precast_concrete = express_getattr(IfcPileConstructionEnum, 'PRECAST_CONCRETE', INDETERMINATE) -prefab_steel = express_getattr(IfcPileConstructionEnum, 'PREFAB_STEEL', INDETERMINATE) -userdefined = express_getattr(IfcPileConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileConstructionEnum, 'NOTDEFINED', INDETERMINATE) +cast_in_place = IfcPileConstructionEnum.CAST_IN_PLACE +composite = IfcPileConstructionEnum.COMPOSITE +precast_concrete = IfcPileConstructionEnum.PRECAST_CONCRETE +prefab_steel = IfcPileConstructionEnum.PREFAB_STEEL +userdefined = IfcPileConstructionEnum.USERDEFINED +notdefined = IfcPileConstructionEnum.NOTDEFINED IfcPileTypeEnum = enum_namespace() -bored = express_getattr(IfcPileTypeEnum, 'BORED', INDETERMINATE) -driven = express_getattr(IfcPileTypeEnum, 'DRIVEN', INDETERMINATE) -jetgrouting = express_getattr(IfcPileTypeEnum, 'JETGROUTING', INDETERMINATE) -cohesion = express_getattr(IfcPileTypeEnum, 'COHESION', INDETERMINATE) -friction = express_getattr(IfcPileTypeEnum, 'FRICTION', INDETERMINATE) -support = express_getattr(IfcPileTypeEnum, 'SUPPORT', INDETERMINATE) -userdefined = express_getattr(IfcPileTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileTypeEnum, 'NOTDEFINED', INDETERMINATE) +bored = IfcPileTypeEnum.BORED +driven = IfcPileTypeEnum.DRIVEN +jetgrouting = IfcPileTypeEnum.JETGROUTING +cohesion = IfcPileTypeEnum.COHESION +friction = IfcPileTypeEnum.FRICTION +support = IfcPileTypeEnum.SUPPORT +userdefined = IfcPileTypeEnum.USERDEFINED +notdefined = IfcPileTypeEnum.NOTDEFINED IfcPipeFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcPipeFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcPipeFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcPipeFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcPipeFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcPipeFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcPipeFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcPipeFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcPipeFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcPipeFittingTypeEnum.BEND +connector = IfcPipeFittingTypeEnum.CONNECTOR +entry = IfcPipeFittingTypeEnum.ENTRY +exit = IfcPipeFittingTypeEnum.EXIT +junction = IfcPipeFittingTypeEnum.JUNCTION +obstruction = IfcPipeFittingTypeEnum.OBSTRUCTION +transition = IfcPipeFittingTypeEnum.TRANSITION +userdefined = IfcPipeFittingTypeEnum.USERDEFINED +notdefined = IfcPipeFittingTypeEnum.NOTDEFINED IfcPipeSegmentTypeEnum = enum_namespace() -culvert = express_getattr(IfcPipeSegmentTypeEnum, 'CULVERT', INDETERMINATE) -flexiblesegment = express_getattr(IfcPipeSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -rigidsegment = express_getattr(IfcPipeSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -gutter = express_getattr(IfcPipeSegmentTypeEnum, 'GUTTER', INDETERMINATE) -spool = express_getattr(IfcPipeSegmentTypeEnum, 'SPOOL', INDETERMINATE) -userdefined = express_getattr(IfcPipeSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +culvert = IfcPipeSegmentTypeEnum.CULVERT +flexiblesegment = IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT +rigidsegment = IfcPipeSegmentTypeEnum.RIGIDSEGMENT +gutter = IfcPipeSegmentTypeEnum.GUTTER +spool = IfcPipeSegmentTypeEnum.SPOOL +userdefined = IfcPipeSegmentTypeEnum.USERDEFINED +notdefined = IfcPipeSegmentTypeEnum.NOTDEFINED IfcPlateTypeEnum = enum_namespace() -curtain_panel = express_getattr(IfcPlateTypeEnum, 'CURTAIN_PANEL', INDETERMINATE) -sheet = express_getattr(IfcPlateTypeEnum, 'SHEET', INDETERMINATE) -userdefined = express_getattr(IfcPlateTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPlateTypeEnum, 'NOTDEFINED', INDETERMINATE) +curtain_panel = IfcPlateTypeEnum.CURTAIN_PANEL +sheet = IfcPlateTypeEnum.SHEET +userdefined = IfcPlateTypeEnum.USERDEFINED +notdefined = IfcPlateTypeEnum.NOTDEFINED IfcPreferredSurfaceCurveRepresentation = enum_namespace() -curve3d = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'CURVE3D', INDETERMINATE) -pcurve_s1 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S1', INDETERMINATE) -pcurve_s2 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S2', INDETERMINATE) +curve3d = IfcPreferredSurfaceCurveRepresentation.CURVE3D +pcurve_s1 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S1 +pcurve_s2 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S2 IfcProcedureTypeEnum = enum_namespace() -advice_caution = express_getattr(IfcProcedureTypeEnum, 'ADVICE_CAUTION', INDETERMINATE) -advice_note = express_getattr(IfcProcedureTypeEnum, 'ADVICE_NOTE', INDETERMINATE) -advice_warning = express_getattr(IfcProcedureTypeEnum, 'ADVICE_WARNING', INDETERMINATE) -calibration = express_getattr(IfcProcedureTypeEnum, 'CALIBRATION', INDETERMINATE) -diagnostic = express_getattr(IfcProcedureTypeEnum, 'DIAGNOSTIC', INDETERMINATE) -shutdown = express_getattr(IfcProcedureTypeEnum, 'SHUTDOWN', INDETERMINATE) -startup = express_getattr(IfcProcedureTypeEnum, 'STARTUP', INDETERMINATE) -userdefined = express_getattr(IfcProcedureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProcedureTypeEnum, 'NOTDEFINED', INDETERMINATE) +advice_caution = IfcProcedureTypeEnum.ADVICE_CAUTION +advice_note = IfcProcedureTypeEnum.ADVICE_NOTE +advice_warning = IfcProcedureTypeEnum.ADVICE_WARNING +calibration = IfcProcedureTypeEnum.CALIBRATION +diagnostic = IfcProcedureTypeEnum.DIAGNOSTIC +shutdown = IfcProcedureTypeEnum.SHUTDOWN +startup = IfcProcedureTypeEnum.STARTUP +userdefined = IfcProcedureTypeEnum.USERDEFINED +notdefined = IfcProcedureTypeEnum.NOTDEFINED IfcProfileTypeEnum = enum_namespace() -curve = express_getattr(IfcProfileTypeEnum, 'CURVE', INDETERMINATE) -area = express_getattr(IfcProfileTypeEnum, 'AREA', INDETERMINATE) +curve = IfcProfileTypeEnum.CURVE +area = IfcProfileTypeEnum.AREA IfcProjectOrderTypeEnum = enum_namespace() -changeorder = express_getattr(IfcProjectOrderTypeEnum, 'CHANGEORDER', INDETERMINATE) -maintenanceworkorder = express_getattr(IfcProjectOrderTypeEnum, 'MAINTENANCEWORKORDER', INDETERMINATE) -moveorder = express_getattr(IfcProjectOrderTypeEnum, 'MOVEORDER', INDETERMINATE) -purchaseorder = express_getattr(IfcProjectOrderTypeEnum, 'PURCHASEORDER', INDETERMINATE) -workorder = express_getattr(IfcProjectOrderTypeEnum, 'WORKORDER', INDETERMINATE) -userdefined = express_getattr(IfcProjectOrderTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectOrderTypeEnum, 'NOTDEFINED', INDETERMINATE) +changeorder = IfcProjectOrderTypeEnum.CHANGEORDER +maintenanceworkorder = IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER +moveorder = IfcProjectOrderTypeEnum.MOVEORDER +purchaseorder = IfcProjectOrderTypeEnum.PURCHASEORDER +workorder = IfcProjectOrderTypeEnum.WORKORDER +userdefined = IfcProjectOrderTypeEnum.USERDEFINED +notdefined = IfcProjectOrderTypeEnum.NOTDEFINED IfcProjectedOrTrueLengthEnum = enum_namespace() -projected_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'PROJECTED_LENGTH', INDETERMINATE) -true_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'TRUE_LENGTH', INDETERMINATE) +projected_length = IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH +true_length = IfcProjectedOrTrueLengthEnum.TRUE_LENGTH IfcProjectionElementTypeEnum = enum_namespace() -userdefined = express_getattr(IfcProjectionElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectionElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcProjectionElementTypeEnum.USERDEFINED +notdefined = IfcProjectionElementTypeEnum.NOTDEFINED IfcPropertySetTemplateTypeEnum = enum_namespace() -pset_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENONLY', INDETERMINATE) -pset_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENOVERRIDE', INDETERMINATE) -pset_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_OCCURRENCEDRIVEN', INDETERMINATE) -pset_performancedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_PERFORMANCEDRIVEN', INDETERMINATE) -qto_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENONLY', INDETERMINATE) -qto_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENOVERRIDE', INDETERMINATE) -qto_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_OCCURRENCEDRIVEN', INDETERMINATE) -notdefined = express_getattr(IfcPropertySetTemplateTypeEnum, 'NOTDEFINED', INDETERMINATE) +pset_typedrivenonly = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENONLY +pset_typedrivenoverride = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENOVERRIDE +pset_occurrencedriven = IfcPropertySetTemplateTypeEnum.PSET_OCCURRENCEDRIVEN +pset_performancedriven = IfcPropertySetTemplateTypeEnum.PSET_PERFORMANCEDRIVEN +qto_typedrivenonly = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENONLY +qto_typedrivenoverride = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENOVERRIDE +qto_occurrencedriven = IfcPropertySetTemplateTypeEnum.QTO_OCCURRENCEDRIVEN +notdefined = IfcPropertySetTemplateTypeEnum.NOTDEFINED IfcProtectiveDeviceTrippingUnitTypeEnum = enum_namespace() -electronic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTRONIC', INDETERMINATE) -electromagnetic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTROMAGNETIC', INDETERMINATE) -residualcurrent = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'RESIDUALCURRENT', INDETERMINATE) -thermal = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'THERMAL', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'NOTDEFINED', INDETERMINATE) +electronic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTRONIC +electromagnetic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTROMAGNETIC +residualcurrent = IfcProtectiveDeviceTrippingUnitTypeEnum.RESIDUALCURRENT +thermal = IfcProtectiveDeviceTrippingUnitTypeEnum.THERMAL +userdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.NOTDEFINED IfcProtectiveDeviceTypeEnum = enum_namespace() -circuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'CIRCUITBREAKER', INDETERMINATE) -earthleakagecircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHLEAKAGECIRCUITBREAKER', INDETERMINATE) -earthingswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHINGSWITCH', INDETERMINATE) -fusedisconnector = express_getattr(IfcProtectiveDeviceTypeEnum, 'FUSEDISCONNECTOR', INDETERMINATE) -residualcurrentcircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTCIRCUITBREAKER', INDETERMINATE) -residualcurrentswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTSWITCH', INDETERMINATE) -varistor = express_getattr(IfcProtectiveDeviceTypeEnum, 'VARISTOR', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +circuitbreaker = IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER +earthleakagecircuitbreaker = IfcProtectiveDeviceTypeEnum.EARTHLEAKAGECIRCUITBREAKER +earthingswitch = IfcProtectiveDeviceTypeEnum.EARTHINGSWITCH +fusedisconnector = IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR +residualcurrentcircuitbreaker = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER +residualcurrentswitch = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH +varistor = IfcProtectiveDeviceTypeEnum.VARISTOR +userdefined = IfcProtectiveDeviceTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTypeEnum.NOTDEFINED IfcPumpTypeEnum = enum_namespace() -circulator = express_getattr(IfcPumpTypeEnum, 'CIRCULATOR', INDETERMINATE) -endsuction = express_getattr(IfcPumpTypeEnum, 'ENDSUCTION', INDETERMINATE) -splitcase = express_getattr(IfcPumpTypeEnum, 'SPLITCASE', INDETERMINATE) -submersiblepump = express_getattr(IfcPumpTypeEnum, 'SUBMERSIBLEPUMP', INDETERMINATE) -sumppump = express_getattr(IfcPumpTypeEnum, 'SUMPPUMP', INDETERMINATE) -verticalinline = express_getattr(IfcPumpTypeEnum, 'VERTICALINLINE', INDETERMINATE) -verticalturbine = express_getattr(IfcPumpTypeEnum, 'VERTICALTURBINE', INDETERMINATE) -userdefined = express_getattr(IfcPumpTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPumpTypeEnum, 'NOTDEFINED', INDETERMINATE) +circulator = IfcPumpTypeEnum.CIRCULATOR +endsuction = IfcPumpTypeEnum.ENDSUCTION +splitcase = IfcPumpTypeEnum.SPLITCASE +submersiblepump = IfcPumpTypeEnum.SUBMERSIBLEPUMP +sumppump = IfcPumpTypeEnum.SUMPPUMP +verticalinline = IfcPumpTypeEnum.VERTICALINLINE +verticalturbine = IfcPumpTypeEnum.VERTICALTURBINE +userdefined = IfcPumpTypeEnum.USERDEFINED +notdefined = IfcPumpTypeEnum.NOTDEFINED IfcRailingTypeEnum = enum_namespace() -handrail = express_getattr(IfcRailingTypeEnum, 'HANDRAIL', INDETERMINATE) -guardrail = express_getattr(IfcRailingTypeEnum, 'GUARDRAIL', INDETERMINATE) -balustrade = express_getattr(IfcRailingTypeEnum, 'BALUSTRADE', INDETERMINATE) -userdefined = express_getattr(IfcRailingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailingTypeEnum, 'NOTDEFINED', INDETERMINATE) +handrail = IfcRailingTypeEnum.HANDRAIL +guardrail = IfcRailingTypeEnum.GUARDRAIL +balustrade = IfcRailingTypeEnum.BALUSTRADE +userdefined = IfcRailingTypeEnum.USERDEFINED +notdefined = IfcRailingTypeEnum.NOTDEFINED IfcRampFlightTypeEnum = enum_namespace() -straight = express_getattr(IfcRampFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -spiral = express_getattr(IfcRampFlightTypeEnum, 'SPIRAL', INDETERMINATE) -userdefined = express_getattr(IfcRampFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight = IfcRampFlightTypeEnum.STRAIGHT +spiral = IfcRampFlightTypeEnum.SPIRAL +userdefined = IfcRampFlightTypeEnum.USERDEFINED +notdefined = IfcRampFlightTypeEnum.NOTDEFINED IfcRampTypeEnum = enum_namespace() -straight_run_ramp = express_getattr(IfcRampTypeEnum, 'STRAIGHT_RUN_RAMP', INDETERMINATE) -two_straight_run_ramp = express_getattr(IfcRampTypeEnum, 'TWO_STRAIGHT_RUN_RAMP', INDETERMINATE) -quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'QUARTER_TURN_RAMP', INDETERMINATE) -two_quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'TWO_QUARTER_TURN_RAMP', INDETERMINATE) -half_turn_ramp = express_getattr(IfcRampTypeEnum, 'HALF_TURN_RAMP', INDETERMINATE) -spiral_ramp = express_getattr(IfcRampTypeEnum, 'SPIRAL_RAMP', INDETERMINATE) -userdefined = express_getattr(IfcRampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight_run_ramp = IfcRampTypeEnum.STRAIGHT_RUN_RAMP +two_straight_run_ramp = IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP +quarter_turn_ramp = IfcRampTypeEnum.QUARTER_TURN_RAMP +two_quarter_turn_ramp = IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP +half_turn_ramp = IfcRampTypeEnum.HALF_TURN_RAMP +spiral_ramp = IfcRampTypeEnum.SPIRAL_RAMP +userdefined = IfcRampTypeEnum.USERDEFINED +notdefined = IfcRampTypeEnum.NOTDEFINED IfcRecurrenceTypeEnum = enum_namespace() -daily = express_getattr(IfcRecurrenceTypeEnum, 'DAILY', INDETERMINATE) -weekly = express_getattr(IfcRecurrenceTypeEnum, 'WEEKLY', INDETERMINATE) -monthly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_DAY_OF_MONTH', INDETERMINATE) -monthly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_POSITION', INDETERMINATE) -by_day_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_DAY_COUNT', INDETERMINATE) -by_weekday_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_WEEKDAY_COUNT', INDETERMINATE) -yearly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_DAY_OF_MONTH', INDETERMINATE) -yearly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_POSITION', INDETERMINATE) +daily = IfcRecurrenceTypeEnum.DAILY +weekly = IfcRecurrenceTypeEnum.WEEKLY +monthly_by_day_of_month = IfcRecurrenceTypeEnum.MONTHLY_BY_DAY_OF_MONTH +monthly_by_position = IfcRecurrenceTypeEnum.MONTHLY_BY_POSITION +by_day_count = IfcRecurrenceTypeEnum.BY_DAY_COUNT +by_weekday_count = IfcRecurrenceTypeEnum.BY_WEEKDAY_COUNT +yearly_by_day_of_month = IfcRecurrenceTypeEnum.YEARLY_BY_DAY_OF_MONTH +yearly_by_position = IfcRecurrenceTypeEnum.YEARLY_BY_POSITION IfcReflectanceMethodEnum = enum_namespace() -blinn = express_getattr(IfcReflectanceMethodEnum, 'BLINN', INDETERMINATE) -flat = express_getattr(IfcReflectanceMethodEnum, 'FLAT', INDETERMINATE) -glass = express_getattr(IfcReflectanceMethodEnum, 'GLASS', INDETERMINATE) -matt = express_getattr(IfcReflectanceMethodEnum, 'MATT', INDETERMINATE) -metal = express_getattr(IfcReflectanceMethodEnum, 'METAL', INDETERMINATE) -mirror = express_getattr(IfcReflectanceMethodEnum, 'MIRROR', INDETERMINATE) -phong = express_getattr(IfcReflectanceMethodEnum, 'PHONG', INDETERMINATE) -plastic = express_getattr(IfcReflectanceMethodEnum, 'PLASTIC', INDETERMINATE) -strauss = express_getattr(IfcReflectanceMethodEnum, 'STRAUSS', INDETERMINATE) -notdefined = express_getattr(IfcReflectanceMethodEnum, 'NOTDEFINED', INDETERMINATE) +blinn = IfcReflectanceMethodEnum.BLINN +flat = IfcReflectanceMethodEnum.FLAT +glass = IfcReflectanceMethodEnum.GLASS +matt = IfcReflectanceMethodEnum.MATT +metal = IfcReflectanceMethodEnum.METAL +mirror = IfcReflectanceMethodEnum.MIRROR +phong = IfcReflectanceMethodEnum.PHONG +plastic = IfcReflectanceMethodEnum.PLASTIC +strauss = IfcReflectanceMethodEnum.STRAUSS +notdefined = IfcReflectanceMethodEnum.NOTDEFINED IfcReinforcingBarRoleEnum = enum_namespace() -main = express_getattr(IfcReinforcingBarRoleEnum, 'MAIN', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarRoleEnum, 'SHEAR', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarRoleEnum, 'LIGATURE', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarRoleEnum, 'STUD', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarRoleEnum, 'PUNCHING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarRoleEnum, 'EDGE', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarRoleEnum, 'RING', INDETERMINATE) -anchoring = express_getattr(IfcReinforcingBarRoleEnum, 'ANCHORING', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarRoleEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarRoleEnum, 'NOTDEFINED', INDETERMINATE) +main = IfcReinforcingBarRoleEnum.MAIN +shear = IfcReinforcingBarRoleEnum.SHEAR +ligature = IfcReinforcingBarRoleEnum.LIGATURE +stud = IfcReinforcingBarRoleEnum.STUD +punching = IfcReinforcingBarRoleEnum.PUNCHING +edge = IfcReinforcingBarRoleEnum.EDGE +ring = IfcReinforcingBarRoleEnum.RING +anchoring = IfcReinforcingBarRoleEnum.ANCHORING +userdefined = IfcReinforcingBarRoleEnum.USERDEFINED +notdefined = IfcReinforcingBarRoleEnum.NOTDEFINED IfcReinforcingBarSurfaceEnum = enum_namespace() -plain = express_getattr(IfcReinforcingBarSurfaceEnum, 'PLAIN', INDETERMINATE) -textured = express_getattr(IfcReinforcingBarSurfaceEnum, 'TEXTURED', INDETERMINATE) +plain = IfcReinforcingBarSurfaceEnum.PLAIN +textured = IfcReinforcingBarSurfaceEnum.TEXTURED IfcReinforcingBarTypeEnum = enum_namespace() -anchoring = express_getattr(IfcReinforcingBarTypeEnum, 'ANCHORING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarTypeEnum, 'EDGE', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarTypeEnum, 'LIGATURE', INDETERMINATE) -main = express_getattr(IfcReinforcingBarTypeEnum, 'MAIN', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarTypeEnum, 'PUNCHING', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarTypeEnum, 'RING', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarTypeEnum, 'SHEAR', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarTypeEnum, 'STUD', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchoring = IfcReinforcingBarTypeEnum.ANCHORING +edge = IfcReinforcingBarTypeEnum.EDGE +ligature = IfcReinforcingBarTypeEnum.LIGATURE +main = IfcReinforcingBarTypeEnum.MAIN +punching = IfcReinforcingBarTypeEnum.PUNCHING +ring = IfcReinforcingBarTypeEnum.RING +shear = IfcReinforcingBarTypeEnum.SHEAR +stud = IfcReinforcingBarTypeEnum.STUD +userdefined = IfcReinforcingBarTypeEnum.USERDEFINED +notdefined = IfcReinforcingBarTypeEnum.NOTDEFINED IfcReinforcingMeshTypeEnum = enum_namespace() -userdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcReinforcingMeshTypeEnum.USERDEFINED +notdefined = IfcReinforcingMeshTypeEnum.NOTDEFINED IfcRoleEnum = enum_namespace() -supplier = express_getattr(IfcRoleEnum, 'SUPPLIER', INDETERMINATE) -manufacturer = express_getattr(IfcRoleEnum, 'MANUFACTURER', INDETERMINATE) -contractor = express_getattr(IfcRoleEnum, 'CONTRACTOR', INDETERMINATE) -subcontractor = express_getattr(IfcRoleEnum, 'SUBCONTRACTOR', INDETERMINATE) -architect = express_getattr(IfcRoleEnum, 'ARCHITECT', INDETERMINATE) -structuralengineer = express_getattr(IfcRoleEnum, 'STRUCTURALENGINEER', INDETERMINATE) -costengineer = express_getattr(IfcRoleEnum, 'COSTENGINEER', INDETERMINATE) -client = express_getattr(IfcRoleEnum, 'CLIENT', INDETERMINATE) -buildingowner = express_getattr(IfcRoleEnum, 'BUILDINGOWNER', INDETERMINATE) -buildingoperator = express_getattr(IfcRoleEnum, 'BUILDINGOPERATOR', INDETERMINATE) -mechanicalengineer = express_getattr(IfcRoleEnum, 'MECHANICALENGINEER', INDETERMINATE) -electricalengineer = express_getattr(IfcRoleEnum, 'ELECTRICALENGINEER', INDETERMINATE) -projectmanager = express_getattr(IfcRoleEnum, 'PROJECTMANAGER', INDETERMINATE) -facilitiesmanager = express_getattr(IfcRoleEnum, 'FACILITIESMANAGER', INDETERMINATE) -civilengineer = express_getattr(IfcRoleEnum, 'CIVILENGINEER', INDETERMINATE) -commissioningengineer = express_getattr(IfcRoleEnum, 'COMMISSIONINGENGINEER', INDETERMINATE) -engineer = express_getattr(IfcRoleEnum, 'ENGINEER', INDETERMINATE) -owner = express_getattr(IfcRoleEnum, 'OWNER', INDETERMINATE) -consultant = express_getattr(IfcRoleEnum, 'CONSULTANT', INDETERMINATE) -constructionmanager = express_getattr(IfcRoleEnum, 'CONSTRUCTIONMANAGER', INDETERMINATE) -fieldconstructionmanager = express_getattr(IfcRoleEnum, 'FIELDCONSTRUCTIONMANAGER', INDETERMINATE) -reseller = express_getattr(IfcRoleEnum, 'RESELLER', INDETERMINATE) -userdefined = express_getattr(IfcRoleEnum, 'USERDEFINED', INDETERMINATE) +supplier = IfcRoleEnum.SUPPLIER +manufacturer = IfcRoleEnum.MANUFACTURER +contractor = IfcRoleEnum.CONTRACTOR +subcontractor = IfcRoleEnum.SUBCONTRACTOR +architect = IfcRoleEnum.ARCHITECT +structuralengineer = IfcRoleEnum.STRUCTURALENGINEER +costengineer = IfcRoleEnum.COSTENGINEER +client = IfcRoleEnum.CLIENT +buildingowner = IfcRoleEnum.BUILDINGOWNER +buildingoperator = IfcRoleEnum.BUILDINGOPERATOR +mechanicalengineer = IfcRoleEnum.MECHANICALENGINEER +electricalengineer = IfcRoleEnum.ELECTRICALENGINEER +projectmanager = IfcRoleEnum.PROJECTMANAGER +facilitiesmanager = IfcRoleEnum.FACILITIESMANAGER +civilengineer = IfcRoleEnum.CIVILENGINEER +commissioningengineer = IfcRoleEnum.COMMISSIONINGENGINEER +engineer = IfcRoleEnum.ENGINEER +owner = IfcRoleEnum.OWNER +consultant = IfcRoleEnum.CONSULTANT +constructionmanager = IfcRoleEnum.CONSTRUCTIONMANAGER +fieldconstructionmanager = IfcRoleEnum.FIELDCONSTRUCTIONMANAGER +reseller = IfcRoleEnum.RESELLER +userdefined = IfcRoleEnum.USERDEFINED IfcRoofTypeEnum = enum_namespace() -flat_roof = express_getattr(IfcRoofTypeEnum, 'FLAT_ROOF', INDETERMINATE) -shed_roof = express_getattr(IfcRoofTypeEnum, 'SHED_ROOF', INDETERMINATE) -gable_roof = express_getattr(IfcRoofTypeEnum, 'GABLE_ROOF', INDETERMINATE) -hip_roof = express_getattr(IfcRoofTypeEnum, 'HIP_ROOF', INDETERMINATE) -hipped_gable_roof = express_getattr(IfcRoofTypeEnum, 'HIPPED_GABLE_ROOF', INDETERMINATE) -gambrel_roof = express_getattr(IfcRoofTypeEnum, 'GAMBREL_ROOF', INDETERMINATE) -mansard_roof = express_getattr(IfcRoofTypeEnum, 'MANSARD_ROOF', INDETERMINATE) -barrel_roof = express_getattr(IfcRoofTypeEnum, 'BARREL_ROOF', INDETERMINATE) -rainbow_roof = express_getattr(IfcRoofTypeEnum, 'RAINBOW_ROOF', INDETERMINATE) -butterfly_roof = express_getattr(IfcRoofTypeEnum, 'BUTTERFLY_ROOF', INDETERMINATE) -pavilion_roof = express_getattr(IfcRoofTypeEnum, 'PAVILION_ROOF', INDETERMINATE) -dome_roof = express_getattr(IfcRoofTypeEnum, 'DOME_ROOF', INDETERMINATE) -freeform = express_getattr(IfcRoofTypeEnum, 'FREEFORM', INDETERMINATE) -userdefined = express_getattr(IfcRoofTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoofTypeEnum, 'NOTDEFINED', INDETERMINATE) +flat_roof = IfcRoofTypeEnum.FLAT_ROOF +shed_roof = IfcRoofTypeEnum.SHED_ROOF +gable_roof = IfcRoofTypeEnum.GABLE_ROOF +hip_roof = IfcRoofTypeEnum.HIP_ROOF +hipped_gable_roof = IfcRoofTypeEnum.HIPPED_GABLE_ROOF +gambrel_roof = IfcRoofTypeEnum.GAMBREL_ROOF +mansard_roof = IfcRoofTypeEnum.MANSARD_ROOF +barrel_roof = IfcRoofTypeEnum.BARREL_ROOF +rainbow_roof = IfcRoofTypeEnum.RAINBOW_ROOF +butterfly_roof = IfcRoofTypeEnum.BUTTERFLY_ROOF +pavilion_roof = IfcRoofTypeEnum.PAVILION_ROOF +dome_roof = IfcRoofTypeEnum.DOME_ROOF +freeform = IfcRoofTypeEnum.FREEFORM +userdefined = IfcRoofTypeEnum.USERDEFINED +notdefined = IfcRoofTypeEnum.NOTDEFINED IfcSIPrefix = enum_namespace() -exa = express_getattr(IfcSIPrefix, 'EXA', INDETERMINATE) -peta = express_getattr(IfcSIPrefix, 'PETA', INDETERMINATE) -tera = express_getattr(IfcSIPrefix, 'TERA', INDETERMINATE) -giga = express_getattr(IfcSIPrefix, 'GIGA', INDETERMINATE) -mega = express_getattr(IfcSIPrefix, 'MEGA', INDETERMINATE) -kilo = express_getattr(IfcSIPrefix, 'KILO', INDETERMINATE) -hecto = express_getattr(IfcSIPrefix, 'HECTO', INDETERMINATE) -deca = express_getattr(IfcSIPrefix, 'DECA', INDETERMINATE) -deci = express_getattr(IfcSIPrefix, 'DECI', INDETERMINATE) -centi = express_getattr(IfcSIPrefix, 'CENTI', INDETERMINATE) -milli = express_getattr(IfcSIPrefix, 'MILLI', INDETERMINATE) -micro = express_getattr(IfcSIPrefix, 'MICRO', INDETERMINATE) -nano = express_getattr(IfcSIPrefix, 'NANO', INDETERMINATE) -pico = express_getattr(IfcSIPrefix, 'PICO', INDETERMINATE) -femto = express_getattr(IfcSIPrefix, 'FEMTO', INDETERMINATE) -atto = express_getattr(IfcSIPrefix, 'ATTO', INDETERMINATE) +exa = IfcSIPrefix.EXA +peta = IfcSIPrefix.PETA +tera = IfcSIPrefix.TERA +giga = IfcSIPrefix.GIGA +mega = IfcSIPrefix.MEGA +kilo = IfcSIPrefix.KILO +hecto = IfcSIPrefix.HECTO +deca = IfcSIPrefix.DECA +deci = IfcSIPrefix.DECI +centi = IfcSIPrefix.CENTI +milli = IfcSIPrefix.MILLI +micro = IfcSIPrefix.MICRO +nano = IfcSIPrefix.NANO +pico = IfcSIPrefix.PICO +femto = IfcSIPrefix.FEMTO +atto = IfcSIPrefix.ATTO IfcSIUnitName = enum_namespace() -ampere = express_getattr(IfcSIUnitName, 'AMPERE', INDETERMINATE) -becquerel = express_getattr(IfcSIUnitName, 'BECQUEREL', INDETERMINATE) -candela = express_getattr(IfcSIUnitName, 'CANDELA', INDETERMINATE) -coulomb = express_getattr(IfcSIUnitName, 'COULOMB', INDETERMINATE) -cubic_metre = express_getattr(IfcSIUnitName, 'CUBIC_METRE', INDETERMINATE) -degree_celsius = express_getattr(IfcSIUnitName, 'DEGREE_CELSIUS', INDETERMINATE) -farad = express_getattr(IfcSIUnitName, 'FARAD', INDETERMINATE) -gram = express_getattr(IfcSIUnitName, 'GRAM', INDETERMINATE) -gray = express_getattr(IfcSIUnitName, 'GRAY', INDETERMINATE) -henry = express_getattr(IfcSIUnitName, 'HENRY', INDETERMINATE) -hertz = express_getattr(IfcSIUnitName, 'HERTZ', INDETERMINATE) -joule = express_getattr(IfcSIUnitName, 'JOULE', INDETERMINATE) -kelvin = express_getattr(IfcSIUnitName, 'KELVIN', INDETERMINATE) -lumen = express_getattr(IfcSIUnitName, 'LUMEN', INDETERMINATE) -lux = express_getattr(IfcSIUnitName, 'LUX', INDETERMINATE) -metre = express_getattr(IfcSIUnitName, 'METRE', INDETERMINATE) -mole = express_getattr(IfcSIUnitName, 'MOLE', INDETERMINATE) -newton = express_getattr(IfcSIUnitName, 'NEWTON', INDETERMINATE) -ohm = express_getattr(IfcSIUnitName, 'OHM', INDETERMINATE) -pascal = express_getattr(IfcSIUnitName, 'PASCAL', INDETERMINATE) -radian = express_getattr(IfcSIUnitName, 'RADIAN', INDETERMINATE) -second = express_getattr(IfcSIUnitName, 'SECOND', INDETERMINATE) -siemens = express_getattr(IfcSIUnitName, 'SIEMENS', INDETERMINATE) -sievert = express_getattr(IfcSIUnitName, 'SIEVERT', INDETERMINATE) -square_metre = express_getattr(IfcSIUnitName, 'SQUARE_METRE', INDETERMINATE) -steradian = express_getattr(IfcSIUnitName, 'STERADIAN', INDETERMINATE) -tesla = express_getattr(IfcSIUnitName, 'TESLA', INDETERMINATE) -volt = express_getattr(IfcSIUnitName, 'VOLT', INDETERMINATE) -watt = express_getattr(IfcSIUnitName, 'WATT', INDETERMINATE) -weber = express_getattr(IfcSIUnitName, 'WEBER', INDETERMINATE) +ampere = IfcSIUnitName.AMPERE +becquerel = IfcSIUnitName.BECQUEREL +candela = IfcSIUnitName.CANDELA +coulomb = IfcSIUnitName.COULOMB +cubic_metre = IfcSIUnitName.CUBIC_METRE +degree_celsius = IfcSIUnitName.DEGREE_CELSIUS +farad = IfcSIUnitName.FARAD +gram = IfcSIUnitName.GRAM +gray = IfcSIUnitName.GRAY +henry = IfcSIUnitName.HENRY +hertz = IfcSIUnitName.HERTZ +joule = IfcSIUnitName.JOULE +kelvin = IfcSIUnitName.KELVIN +lumen = IfcSIUnitName.LUMEN +lux = IfcSIUnitName.LUX +metre = IfcSIUnitName.METRE +mole = IfcSIUnitName.MOLE +newton = IfcSIUnitName.NEWTON +ohm = IfcSIUnitName.OHM +pascal = IfcSIUnitName.PASCAL +radian = IfcSIUnitName.RADIAN +second = IfcSIUnitName.SECOND +siemens = IfcSIUnitName.SIEMENS +sievert = IfcSIUnitName.SIEVERT +square_metre = IfcSIUnitName.SQUARE_METRE +steradian = IfcSIUnitName.STERADIAN +tesla = IfcSIUnitName.TESLA +volt = IfcSIUnitName.VOLT +watt = IfcSIUnitName.WATT +weber = IfcSIUnitName.WEBER IfcSanitaryTerminalTypeEnum = enum_namespace() -bath = express_getattr(IfcSanitaryTerminalTypeEnum, 'BATH', INDETERMINATE) -bidet = express_getattr(IfcSanitaryTerminalTypeEnum, 'BIDET', INDETERMINATE) -cistern = express_getattr(IfcSanitaryTerminalTypeEnum, 'CISTERN', INDETERMINATE) -shower = express_getattr(IfcSanitaryTerminalTypeEnum, 'SHOWER', INDETERMINATE) -sink = express_getattr(IfcSanitaryTerminalTypeEnum, 'SINK', INDETERMINATE) -sanitaryfountain = express_getattr(IfcSanitaryTerminalTypeEnum, 'SANITARYFOUNTAIN', INDETERMINATE) -toiletpan = express_getattr(IfcSanitaryTerminalTypeEnum, 'TOILETPAN', INDETERMINATE) -urinal = express_getattr(IfcSanitaryTerminalTypeEnum, 'URINAL', INDETERMINATE) -washhandbasin = express_getattr(IfcSanitaryTerminalTypeEnum, 'WASHHANDBASIN', INDETERMINATE) -wcseat = express_getattr(IfcSanitaryTerminalTypeEnum, 'WCSEAT', INDETERMINATE) -userdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +bath = IfcSanitaryTerminalTypeEnum.BATH +bidet = IfcSanitaryTerminalTypeEnum.BIDET +cistern = IfcSanitaryTerminalTypeEnum.CISTERN +shower = IfcSanitaryTerminalTypeEnum.SHOWER +sink = IfcSanitaryTerminalTypeEnum.SINK +sanitaryfountain = IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN +toiletpan = IfcSanitaryTerminalTypeEnum.TOILETPAN +urinal = IfcSanitaryTerminalTypeEnum.URINAL +washhandbasin = IfcSanitaryTerminalTypeEnum.WASHHANDBASIN +wcseat = IfcSanitaryTerminalTypeEnum.WCSEAT +userdefined = IfcSanitaryTerminalTypeEnum.USERDEFINED +notdefined = IfcSanitaryTerminalTypeEnum.NOTDEFINED IfcSectionTypeEnum = enum_namespace() -uniform = express_getattr(IfcSectionTypeEnum, 'UNIFORM', INDETERMINATE) -tapered = express_getattr(IfcSectionTypeEnum, 'TAPERED', INDETERMINATE) +uniform = IfcSectionTypeEnum.UNIFORM +tapered = IfcSectionTypeEnum.TAPERED IfcSensorTypeEnum = enum_namespace() -cosensor = express_getattr(IfcSensorTypeEnum, 'COSENSOR', INDETERMINATE) -co2sensor = express_getattr(IfcSensorTypeEnum, 'CO2SENSOR', INDETERMINATE) -conductancesensor = express_getattr(IfcSensorTypeEnum, 'CONDUCTANCESENSOR', INDETERMINATE) -contactsensor = express_getattr(IfcSensorTypeEnum, 'CONTACTSENSOR', INDETERMINATE) -firesensor = express_getattr(IfcSensorTypeEnum, 'FIRESENSOR', INDETERMINATE) -flowsensor = express_getattr(IfcSensorTypeEnum, 'FLOWSENSOR', INDETERMINATE) -frostsensor = express_getattr(IfcSensorTypeEnum, 'FROSTSENSOR', INDETERMINATE) -gassensor = express_getattr(IfcSensorTypeEnum, 'GASSENSOR', INDETERMINATE) -heatsensor = express_getattr(IfcSensorTypeEnum, 'HEATSENSOR', INDETERMINATE) -humiditysensor = express_getattr(IfcSensorTypeEnum, 'HUMIDITYSENSOR', INDETERMINATE) -identifiersensor = express_getattr(IfcSensorTypeEnum, 'IDENTIFIERSENSOR', INDETERMINATE) -ionconcentrationsensor = express_getattr(IfcSensorTypeEnum, 'IONCONCENTRATIONSENSOR', INDETERMINATE) -levelsensor = express_getattr(IfcSensorTypeEnum, 'LEVELSENSOR', INDETERMINATE) -lightsensor = express_getattr(IfcSensorTypeEnum, 'LIGHTSENSOR', INDETERMINATE) -moisturesensor = express_getattr(IfcSensorTypeEnum, 'MOISTURESENSOR', INDETERMINATE) -movementsensor = express_getattr(IfcSensorTypeEnum, 'MOVEMENTSENSOR', INDETERMINATE) -phsensor = express_getattr(IfcSensorTypeEnum, 'PHSENSOR', INDETERMINATE) -pressuresensor = express_getattr(IfcSensorTypeEnum, 'PRESSURESENSOR', INDETERMINATE) -radiationsensor = express_getattr(IfcSensorTypeEnum, 'RADIATIONSENSOR', INDETERMINATE) -radioactivitysensor = express_getattr(IfcSensorTypeEnum, 'RADIOACTIVITYSENSOR', INDETERMINATE) -smokesensor = express_getattr(IfcSensorTypeEnum, 'SMOKESENSOR', INDETERMINATE) -soundsensor = express_getattr(IfcSensorTypeEnum, 'SOUNDSENSOR', INDETERMINATE) -temperaturesensor = express_getattr(IfcSensorTypeEnum, 'TEMPERATURESENSOR', INDETERMINATE) -windsensor = express_getattr(IfcSensorTypeEnum, 'WINDSENSOR', INDETERMINATE) -userdefined = express_getattr(IfcSensorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSensorTypeEnum, 'NOTDEFINED', INDETERMINATE) +cosensor = IfcSensorTypeEnum.COSENSOR +co2sensor = IfcSensorTypeEnum.CO2SENSOR +conductancesensor = IfcSensorTypeEnum.CONDUCTANCESENSOR +contactsensor = IfcSensorTypeEnum.CONTACTSENSOR +firesensor = IfcSensorTypeEnum.FIRESENSOR +flowsensor = IfcSensorTypeEnum.FLOWSENSOR +frostsensor = IfcSensorTypeEnum.FROSTSENSOR +gassensor = IfcSensorTypeEnum.GASSENSOR +heatsensor = IfcSensorTypeEnum.HEATSENSOR +humiditysensor = IfcSensorTypeEnum.HUMIDITYSENSOR +identifiersensor = IfcSensorTypeEnum.IDENTIFIERSENSOR +ionconcentrationsensor = IfcSensorTypeEnum.IONCONCENTRATIONSENSOR +levelsensor = IfcSensorTypeEnum.LEVELSENSOR +lightsensor = IfcSensorTypeEnum.LIGHTSENSOR +moisturesensor = IfcSensorTypeEnum.MOISTURESENSOR +movementsensor = IfcSensorTypeEnum.MOVEMENTSENSOR +phsensor = IfcSensorTypeEnum.PHSENSOR +pressuresensor = IfcSensorTypeEnum.PRESSURESENSOR +radiationsensor = IfcSensorTypeEnum.RADIATIONSENSOR +radioactivitysensor = IfcSensorTypeEnum.RADIOACTIVITYSENSOR +smokesensor = IfcSensorTypeEnum.SMOKESENSOR +soundsensor = IfcSensorTypeEnum.SOUNDSENSOR +temperaturesensor = IfcSensorTypeEnum.TEMPERATURESENSOR +windsensor = IfcSensorTypeEnum.WINDSENSOR +userdefined = IfcSensorTypeEnum.USERDEFINED +notdefined = IfcSensorTypeEnum.NOTDEFINED IfcSequenceEnum = enum_namespace() -start_start = express_getattr(IfcSequenceEnum, 'START_START', INDETERMINATE) -start_finish = express_getattr(IfcSequenceEnum, 'START_FINISH', INDETERMINATE) -finish_start = express_getattr(IfcSequenceEnum, 'FINISH_START', INDETERMINATE) -finish_finish = express_getattr(IfcSequenceEnum, 'FINISH_FINISH', INDETERMINATE) -userdefined = express_getattr(IfcSequenceEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSequenceEnum, 'NOTDEFINED', INDETERMINATE) +start_start = IfcSequenceEnum.START_START +start_finish = IfcSequenceEnum.START_FINISH +finish_start = IfcSequenceEnum.FINISH_START +finish_finish = IfcSequenceEnum.FINISH_FINISH +userdefined = IfcSequenceEnum.USERDEFINED +notdefined = IfcSequenceEnum.NOTDEFINED IfcShadingDeviceTypeEnum = enum_namespace() -jalousie = express_getattr(IfcShadingDeviceTypeEnum, 'JALOUSIE', INDETERMINATE) -shutter = express_getattr(IfcShadingDeviceTypeEnum, 'SHUTTER', INDETERMINATE) -awning = express_getattr(IfcShadingDeviceTypeEnum, 'AWNING', INDETERMINATE) -userdefined = express_getattr(IfcShadingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcShadingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +jalousie = IfcShadingDeviceTypeEnum.JALOUSIE +shutter = IfcShadingDeviceTypeEnum.SHUTTER +awning = IfcShadingDeviceTypeEnum.AWNING +userdefined = IfcShadingDeviceTypeEnum.USERDEFINED +notdefined = IfcShadingDeviceTypeEnum.NOTDEFINED IfcSimplePropertyTemplateTypeEnum = enum_namespace() -p_singlevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_SINGLEVALUE', INDETERMINATE) -p_enumeratedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_ENUMERATEDVALUE', INDETERMINATE) -p_boundedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_BOUNDEDVALUE', INDETERMINATE) -p_listvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_LISTVALUE', INDETERMINATE) -p_tablevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_TABLEVALUE', INDETERMINATE) -p_referencevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_REFERENCEVALUE', INDETERMINATE) -q_length = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_LENGTH', INDETERMINATE) -q_area = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_AREA', INDETERMINATE) -q_volume = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_VOLUME', INDETERMINATE) -q_count = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_COUNT', INDETERMINATE) -q_weight = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_WEIGHT', INDETERMINATE) -q_time = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_TIME', INDETERMINATE) +p_singlevalue = IfcSimplePropertyTemplateTypeEnum.P_SINGLEVALUE +p_enumeratedvalue = IfcSimplePropertyTemplateTypeEnum.P_ENUMERATEDVALUE +p_boundedvalue = IfcSimplePropertyTemplateTypeEnum.P_BOUNDEDVALUE +p_listvalue = IfcSimplePropertyTemplateTypeEnum.P_LISTVALUE +p_tablevalue = IfcSimplePropertyTemplateTypeEnum.P_TABLEVALUE +p_referencevalue = IfcSimplePropertyTemplateTypeEnum.P_REFERENCEVALUE +q_length = IfcSimplePropertyTemplateTypeEnum.Q_LENGTH +q_area = IfcSimplePropertyTemplateTypeEnum.Q_AREA +q_volume = IfcSimplePropertyTemplateTypeEnum.Q_VOLUME +q_count = IfcSimplePropertyTemplateTypeEnum.Q_COUNT +q_weight = IfcSimplePropertyTemplateTypeEnum.Q_WEIGHT +q_time = IfcSimplePropertyTemplateTypeEnum.Q_TIME IfcSlabTypeEnum = enum_namespace() -floor = express_getattr(IfcSlabTypeEnum, 'FLOOR', INDETERMINATE) -roof = express_getattr(IfcSlabTypeEnum, 'ROOF', INDETERMINATE) -landing = express_getattr(IfcSlabTypeEnum, 'LANDING', INDETERMINATE) -baseslab = express_getattr(IfcSlabTypeEnum, 'BASESLAB', INDETERMINATE) -userdefined = express_getattr(IfcSlabTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSlabTypeEnum, 'NOTDEFINED', INDETERMINATE) +floor = IfcSlabTypeEnum.FLOOR +roof = IfcSlabTypeEnum.ROOF +landing = IfcSlabTypeEnum.LANDING +baseslab = IfcSlabTypeEnum.BASESLAB +userdefined = IfcSlabTypeEnum.USERDEFINED +notdefined = IfcSlabTypeEnum.NOTDEFINED IfcSolarDeviceTypeEnum = enum_namespace() -solarcollector = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARCOLLECTOR', INDETERMINATE) -solarpanel = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARPANEL', INDETERMINATE) -userdefined = express_getattr(IfcSolarDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSolarDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +solarcollector = IfcSolarDeviceTypeEnum.SOLARCOLLECTOR +solarpanel = IfcSolarDeviceTypeEnum.SOLARPANEL +userdefined = IfcSolarDeviceTypeEnum.USERDEFINED +notdefined = IfcSolarDeviceTypeEnum.NOTDEFINED IfcSpaceHeaterTypeEnum = enum_namespace() -convector = express_getattr(IfcSpaceHeaterTypeEnum, 'CONVECTOR', INDETERMINATE) -radiator = express_getattr(IfcSpaceHeaterTypeEnum, 'RADIATOR', INDETERMINATE) -userdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'NOTDEFINED', INDETERMINATE) +convector = IfcSpaceHeaterTypeEnum.CONVECTOR +radiator = IfcSpaceHeaterTypeEnum.RADIATOR +userdefined = IfcSpaceHeaterTypeEnum.USERDEFINED +notdefined = IfcSpaceHeaterTypeEnum.NOTDEFINED IfcSpaceTypeEnum = enum_namespace() -space = express_getattr(IfcSpaceTypeEnum, 'SPACE', INDETERMINATE) -parking = express_getattr(IfcSpaceTypeEnum, 'PARKING', INDETERMINATE) -gfa = express_getattr(IfcSpaceTypeEnum, 'GFA', INDETERMINATE) -internal = express_getattr(IfcSpaceTypeEnum, 'INTERNAL', INDETERMINATE) -external = express_getattr(IfcSpaceTypeEnum, 'EXTERNAL', INDETERMINATE) -userdefined = express_getattr(IfcSpaceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceTypeEnum, 'NOTDEFINED', INDETERMINATE) +space = IfcSpaceTypeEnum.SPACE +parking = IfcSpaceTypeEnum.PARKING +gfa = IfcSpaceTypeEnum.GFA +internal = IfcSpaceTypeEnum.INTERNAL +external = IfcSpaceTypeEnum.EXTERNAL +userdefined = IfcSpaceTypeEnum.USERDEFINED +notdefined = IfcSpaceTypeEnum.NOTDEFINED IfcSpatialZoneTypeEnum = enum_namespace() -construction = express_getattr(IfcSpatialZoneTypeEnum, 'CONSTRUCTION', INDETERMINATE) -firesafety = express_getattr(IfcSpatialZoneTypeEnum, 'FIRESAFETY', INDETERMINATE) -lighting = express_getattr(IfcSpatialZoneTypeEnum, 'LIGHTING', INDETERMINATE) -occupancy = express_getattr(IfcSpatialZoneTypeEnum, 'OCCUPANCY', INDETERMINATE) -security = express_getattr(IfcSpatialZoneTypeEnum, 'SECURITY', INDETERMINATE) -thermal = express_getattr(IfcSpatialZoneTypeEnum, 'THERMAL', INDETERMINATE) -transport = express_getattr(IfcSpatialZoneTypeEnum, 'TRANSPORT', INDETERMINATE) -ventilation = express_getattr(IfcSpatialZoneTypeEnum, 'VENTILATION', INDETERMINATE) -userdefined = express_getattr(IfcSpatialZoneTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpatialZoneTypeEnum, 'NOTDEFINED', INDETERMINATE) +construction = IfcSpatialZoneTypeEnum.CONSTRUCTION +firesafety = IfcSpatialZoneTypeEnum.FIRESAFETY +lighting = IfcSpatialZoneTypeEnum.LIGHTING +occupancy = IfcSpatialZoneTypeEnum.OCCUPANCY +security = IfcSpatialZoneTypeEnum.SECURITY +thermal = IfcSpatialZoneTypeEnum.THERMAL +transport = IfcSpatialZoneTypeEnum.TRANSPORT +ventilation = IfcSpatialZoneTypeEnum.VENTILATION +userdefined = IfcSpatialZoneTypeEnum.USERDEFINED +notdefined = IfcSpatialZoneTypeEnum.NOTDEFINED IfcStackTerminalTypeEnum = enum_namespace() -birdcage = express_getattr(IfcStackTerminalTypeEnum, 'BIRDCAGE', INDETERMINATE) -cowl = express_getattr(IfcStackTerminalTypeEnum, 'COWL', INDETERMINATE) -rainwaterhopper = express_getattr(IfcStackTerminalTypeEnum, 'RAINWATERHOPPER', INDETERMINATE) -userdefined = express_getattr(IfcStackTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStackTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +birdcage = IfcStackTerminalTypeEnum.BIRDCAGE +cowl = IfcStackTerminalTypeEnum.COWL +rainwaterhopper = IfcStackTerminalTypeEnum.RAINWATERHOPPER +userdefined = IfcStackTerminalTypeEnum.USERDEFINED +notdefined = IfcStackTerminalTypeEnum.NOTDEFINED IfcStairFlightTypeEnum = enum_namespace() -straight = express_getattr(IfcStairFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -winder = express_getattr(IfcStairFlightTypeEnum, 'WINDER', INDETERMINATE) -spiral = express_getattr(IfcStairFlightTypeEnum, 'SPIRAL', INDETERMINATE) -curved = express_getattr(IfcStairFlightTypeEnum, 'CURVED', INDETERMINATE) -freeform = express_getattr(IfcStairFlightTypeEnum, 'FREEFORM', INDETERMINATE) -userdefined = express_getattr(IfcStairFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight = IfcStairFlightTypeEnum.STRAIGHT +winder = IfcStairFlightTypeEnum.WINDER +spiral = IfcStairFlightTypeEnum.SPIRAL +curved = IfcStairFlightTypeEnum.CURVED +freeform = IfcStairFlightTypeEnum.FREEFORM +userdefined = IfcStairFlightTypeEnum.USERDEFINED +notdefined = IfcStairFlightTypeEnum.NOTDEFINED IfcStairTypeEnum = enum_namespace() -straight_run_stair = express_getattr(IfcStairTypeEnum, 'STRAIGHT_RUN_STAIR', INDETERMINATE) -two_straight_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_STRAIGHT_RUN_STAIR', INDETERMINATE) -quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_WINDING_STAIR', INDETERMINATE) -quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_TURN_STAIR', INDETERMINATE) -half_winding_stair = express_getattr(IfcStairTypeEnum, 'HALF_WINDING_STAIR', INDETERMINATE) -half_turn_stair = express_getattr(IfcStairTypeEnum, 'HALF_TURN_STAIR', INDETERMINATE) -two_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_WINDING_STAIR', INDETERMINATE) -two_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_TURN_STAIR', INDETERMINATE) -three_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_WINDING_STAIR', INDETERMINATE) -three_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_TURN_STAIR', INDETERMINATE) -spiral_stair = express_getattr(IfcStairTypeEnum, 'SPIRAL_STAIR', INDETERMINATE) -double_return_stair = express_getattr(IfcStairTypeEnum, 'DOUBLE_RETURN_STAIR', INDETERMINATE) -curved_run_stair = express_getattr(IfcStairTypeEnum, 'CURVED_RUN_STAIR', INDETERMINATE) -two_curved_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_CURVED_RUN_STAIR', INDETERMINATE) -userdefined = express_getattr(IfcStairTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight_run_stair = IfcStairTypeEnum.STRAIGHT_RUN_STAIR +two_straight_run_stair = IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR +quarter_winding_stair = IfcStairTypeEnum.QUARTER_WINDING_STAIR +quarter_turn_stair = IfcStairTypeEnum.QUARTER_TURN_STAIR +half_winding_stair = IfcStairTypeEnum.HALF_WINDING_STAIR +half_turn_stair = IfcStairTypeEnum.HALF_TURN_STAIR +two_quarter_winding_stair = IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR +two_quarter_turn_stair = IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR +three_quarter_winding_stair = IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR +three_quarter_turn_stair = IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR +spiral_stair = IfcStairTypeEnum.SPIRAL_STAIR +double_return_stair = IfcStairTypeEnum.DOUBLE_RETURN_STAIR +curved_run_stair = IfcStairTypeEnum.CURVED_RUN_STAIR +two_curved_run_stair = IfcStairTypeEnum.TWO_CURVED_RUN_STAIR +userdefined = IfcStairTypeEnum.USERDEFINED +notdefined = IfcStairTypeEnum.NOTDEFINED IfcStateEnum = enum_namespace() -readwrite = express_getattr(IfcStateEnum, 'READWRITE', INDETERMINATE) -readonly = express_getattr(IfcStateEnum, 'READONLY', INDETERMINATE) -locked = express_getattr(IfcStateEnum, 'LOCKED', INDETERMINATE) -readwritelocked = express_getattr(IfcStateEnum, 'READWRITELOCKED', INDETERMINATE) -readonlylocked = express_getattr(IfcStateEnum, 'READONLYLOCKED', INDETERMINATE) +readwrite = IfcStateEnum.READWRITE +readonly = IfcStateEnum.READONLY +locked = IfcStateEnum.LOCKED +readwritelocked = IfcStateEnum.READWRITELOCKED +readonlylocked = IfcStateEnum.READONLYLOCKED IfcStructuralCurveActivityTypeEnum = enum_namespace() -const = express_getattr(IfcStructuralCurveActivityTypeEnum, 'CONST', INDETERMINATE) -linear = express_getattr(IfcStructuralCurveActivityTypeEnum, 'LINEAR', INDETERMINATE) -polygonal = express_getattr(IfcStructuralCurveActivityTypeEnum, 'POLYGONAL', INDETERMINATE) -equidistant = express_getattr(IfcStructuralCurveActivityTypeEnum, 'EQUIDISTANT', INDETERMINATE) -sinus = express_getattr(IfcStructuralCurveActivityTypeEnum, 'SINUS', INDETERMINATE) -parabola = express_getattr(IfcStructuralCurveActivityTypeEnum, 'PARABOLA', INDETERMINATE) -discrete = express_getattr(IfcStructuralCurveActivityTypeEnum, 'DISCRETE', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +const = IfcStructuralCurveActivityTypeEnum.CONST +linear = IfcStructuralCurveActivityTypeEnum.LINEAR +polygonal = IfcStructuralCurveActivityTypeEnum.POLYGONAL +equidistant = IfcStructuralCurveActivityTypeEnum.EQUIDISTANT +sinus = IfcStructuralCurveActivityTypeEnum.SINUS +parabola = IfcStructuralCurveActivityTypeEnum.PARABOLA +discrete = IfcStructuralCurveActivityTypeEnum.DISCRETE +userdefined = IfcStructuralCurveActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveActivityTypeEnum.NOTDEFINED IfcStructuralCurveMemberTypeEnum = enum_namespace() -rigid_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'RIGID_JOINED_MEMBER', INDETERMINATE) -pin_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'PIN_JOINED_MEMBER', INDETERMINATE) -cable = express_getattr(IfcStructuralCurveMemberTypeEnum, 'CABLE', INDETERMINATE) -tension_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'TENSION_MEMBER', INDETERMINATE) -compression_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'COMPRESSION_MEMBER', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +rigid_joined_member = IfcStructuralCurveMemberTypeEnum.RIGID_JOINED_MEMBER +pin_joined_member = IfcStructuralCurveMemberTypeEnum.PIN_JOINED_MEMBER +cable = IfcStructuralCurveMemberTypeEnum.CABLE +tension_member = IfcStructuralCurveMemberTypeEnum.TENSION_MEMBER +compression_member = IfcStructuralCurveMemberTypeEnum.COMPRESSION_MEMBER +userdefined = IfcStructuralCurveMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveMemberTypeEnum.NOTDEFINED IfcStructuralSurfaceActivityTypeEnum = enum_namespace() -const = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'CONST', INDETERMINATE) -bilinear = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'BILINEAR', INDETERMINATE) -discrete = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'DISCRETE', INDETERMINATE) -isocontour = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'ISOCONTOUR', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +const = IfcStructuralSurfaceActivityTypeEnum.CONST +bilinear = IfcStructuralSurfaceActivityTypeEnum.BILINEAR +discrete = IfcStructuralSurfaceActivityTypeEnum.DISCRETE +isocontour = IfcStructuralSurfaceActivityTypeEnum.ISOCONTOUR +userdefined = IfcStructuralSurfaceActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceActivityTypeEnum.NOTDEFINED IfcStructuralSurfaceMemberTypeEnum = enum_namespace() -bending_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'BENDING_ELEMENT', INDETERMINATE) -membrane_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'MEMBRANE_ELEMENT', INDETERMINATE) -shell = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'SHELL', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +bending_element = IfcStructuralSurfaceMemberTypeEnum.BENDING_ELEMENT +membrane_element = IfcStructuralSurfaceMemberTypeEnum.MEMBRANE_ELEMENT +shell = IfcStructuralSurfaceMemberTypeEnum.SHELL +userdefined = IfcStructuralSurfaceMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceMemberTypeEnum.NOTDEFINED IfcSubContractResourceTypeEnum = enum_namespace() -purchase = express_getattr(IfcSubContractResourceTypeEnum, 'PURCHASE', INDETERMINATE) -work = express_getattr(IfcSubContractResourceTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcSubContractResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSubContractResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +purchase = IfcSubContractResourceTypeEnum.PURCHASE +work = IfcSubContractResourceTypeEnum.WORK +userdefined = IfcSubContractResourceTypeEnum.USERDEFINED +notdefined = IfcSubContractResourceTypeEnum.NOTDEFINED IfcSurfaceFeatureTypeEnum = enum_namespace() -mark = express_getattr(IfcSurfaceFeatureTypeEnum, 'MARK', INDETERMINATE) -tag = express_getattr(IfcSurfaceFeatureTypeEnum, 'TAG', INDETERMINATE) -treatment = express_getattr(IfcSurfaceFeatureTypeEnum, 'TREATMENT', INDETERMINATE) -userdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +mark = IfcSurfaceFeatureTypeEnum.MARK +tag = IfcSurfaceFeatureTypeEnum.TAG +treatment = IfcSurfaceFeatureTypeEnum.TREATMENT +userdefined = IfcSurfaceFeatureTypeEnum.USERDEFINED +notdefined = IfcSurfaceFeatureTypeEnum.NOTDEFINED IfcSurfaceSide = enum_namespace() -positive = express_getattr(IfcSurfaceSide, 'POSITIVE', INDETERMINATE) -negative = express_getattr(IfcSurfaceSide, 'NEGATIVE', INDETERMINATE) -both = express_getattr(IfcSurfaceSide, 'BOTH', INDETERMINATE) +positive = IfcSurfaceSide.POSITIVE +negative = IfcSurfaceSide.NEGATIVE +both = IfcSurfaceSide.BOTH IfcSwitchingDeviceTypeEnum = enum_namespace() -contactor = express_getattr(IfcSwitchingDeviceTypeEnum, 'CONTACTOR', INDETERMINATE) -dimmerswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'DIMMERSWITCH', INDETERMINATE) -emergencystop = express_getattr(IfcSwitchingDeviceTypeEnum, 'EMERGENCYSTOP', INDETERMINATE) -keypad = express_getattr(IfcSwitchingDeviceTypeEnum, 'KEYPAD', INDETERMINATE) -momentaryswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'MOMENTARYSWITCH', INDETERMINATE) -selectorswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'SELECTORSWITCH', INDETERMINATE) -starter = express_getattr(IfcSwitchingDeviceTypeEnum, 'STARTER', INDETERMINATE) -switchdisconnector = express_getattr(IfcSwitchingDeviceTypeEnum, 'SWITCHDISCONNECTOR', INDETERMINATE) -toggleswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'TOGGLESWITCH', INDETERMINATE) -userdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +contactor = IfcSwitchingDeviceTypeEnum.CONTACTOR +dimmerswitch = IfcSwitchingDeviceTypeEnum.DIMMERSWITCH +emergencystop = IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP +keypad = IfcSwitchingDeviceTypeEnum.KEYPAD +momentaryswitch = IfcSwitchingDeviceTypeEnum.MOMENTARYSWITCH +selectorswitch = IfcSwitchingDeviceTypeEnum.SELECTORSWITCH +starter = IfcSwitchingDeviceTypeEnum.STARTER +switchdisconnector = IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR +toggleswitch = IfcSwitchingDeviceTypeEnum.TOGGLESWITCH +userdefined = IfcSwitchingDeviceTypeEnum.USERDEFINED +notdefined = IfcSwitchingDeviceTypeEnum.NOTDEFINED IfcSystemFurnitureElementTypeEnum = enum_namespace() -panel = express_getattr(IfcSystemFurnitureElementTypeEnum, 'PANEL', INDETERMINATE) -worksurface = express_getattr(IfcSystemFurnitureElementTypeEnum, 'WORKSURFACE', INDETERMINATE) -userdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +panel = IfcSystemFurnitureElementTypeEnum.PANEL +worksurface = IfcSystemFurnitureElementTypeEnum.WORKSURFACE +userdefined = IfcSystemFurnitureElementTypeEnum.USERDEFINED +notdefined = IfcSystemFurnitureElementTypeEnum.NOTDEFINED IfcTankTypeEnum = enum_namespace() -basin = express_getattr(IfcTankTypeEnum, 'BASIN', INDETERMINATE) -breakpressure = express_getattr(IfcTankTypeEnum, 'BREAKPRESSURE', INDETERMINATE) -expansion = express_getattr(IfcTankTypeEnum, 'EXPANSION', INDETERMINATE) -feedandexpansion = express_getattr(IfcTankTypeEnum, 'FEEDANDEXPANSION', INDETERMINATE) -pressurevessel = express_getattr(IfcTankTypeEnum, 'PRESSUREVESSEL', INDETERMINATE) -storage = express_getattr(IfcTankTypeEnum, 'STORAGE', INDETERMINATE) -vessel = express_getattr(IfcTankTypeEnum, 'VESSEL', INDETERMINATE) -userdefined = express_getattr(IfcTankTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTankTypeEnum, 'NOTDEFINED', INDETERMINATE) +basin = IfcTankTypeEnum.BASIN +breakpressure = IfcTankTypeEnum.BREAKPRESSURE +expansion = IfcTankTypeEnum.EXPANSION +feedandexpansion = IfcTankTypeEnum.FEEDANDEXPANSION +pressurevessel = IfcTankTypeEnum.PRESSUREVESSEL +storage = IfcTankTypeEnum.STORAGE +vessel = IfcTankTypeEnum.VESSEL +userdefined = IfcTankTypeEnum.USERDEFINED +notdefined = IfcTankTypeEnum.NOTDEFINED IfcTaskDurationEnum = enum_namespace() -elapsedtime = express_getattr(IfcTaskDurationEnum, 'ELAPSEDTIME', INDETERMINATE) -worktime = express_getattr(IfcTaskDurationEnum, 'WORKTIME', INDETERMINATE) -notdefined = express_getattr(IfcTaskDurationEnum, 'NOTDEFINED', INDETERMINATE) +elapsedtime = IfcTaskDurationEnum.ELAPSEDTIME +worktime = IfcTaskDurationEnum.WORKTIME +notdefined = IfcTaskDurationEnum.NOTDEFINED IfcTaskTypeEnum = enum_namespace() -attendance = express_getattr(IfcTaskTypeEnum, 'ATTENDANCE', INDETERMINATE) -construction = express_getattr(IfcTaskTypeEnum, 'CONSTRUCTION', INDETERMINATE) -demolition = express_getattr(IfcTaskTypeEnum, 'DEMOLITION', INDETERMINATE) -dismantle = express_getattr(IfcTaskTypeEnum, 'DISMANTLE', INDETERMINATE) -disposal = express_getattr(IfcTaskTypeEnum, 'DISPOSAL', INDETERMINATE) -installation = express_getattr(IfcTaskTypeEnum, 'INSTALLATION', INDETERMINATE) -logistic = express_getattr(IfcTaskTypeEnum, 'LOGISTIC', INDETERMINATE) -maintenance = express_getattr(IfcTaskTypeEnum, 'MAINTENANCE', INDETERMINATE) -move = express_getattr(IfcTaskTypeEnum, 'MOVE', INDETERMINATE) -operation = express_getattr(IfcTaskTypeEnum, 'OPERATION', INDETERMINATE) -removal = express_getattr(IfcTaskTypeEnum, 'REMOVAL', INDETERMINATE) -renovation = express_getattr(IfcTaskTypeEnum, 'RENOVATION', INDETERMINATE) -userdefined = express_getattr(IfcTaskTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTaskTypeEnum, 'NOTDEFINED', INDETERMINATE) +attendance = IfcTaskTypeEnum.ATTENDANCE +construction = IfcTaskTypeEnum.CONSTRUCTION +demolition = IfcTaskTypeEnum.DEMOLITION +dismantle = IfcTaskTypeEnum.DISMANTLE +disposal = IfcTaskTypeEnum.DISPOSAL +installation = IfcTaskTypeEnum.INSTALLATION +logistic = IfcTaskTypeEnum.LOGISTIC +maintenance = IfcTaskTypeEnum.MAINTENANCE +move = IfcTaskTypeEnum.MOVE +operation = IfcTaskTypeEnum.OPERATION +removal = IfcTaskTypeEnum.REMOVAL +renovation = IfcTaskTypeEnum.RENOVATION +userdefined = IfcTaskTypeEnum.USERDEFINED +notdefined = IfcTaskTypeEnum.NOTDEFINED IfcTendonAnchorTypeEnum = enum_namespace() -coupler = express_getattr(IfcTendonAnchorTypeEnum, 'COUPLER', INDETERMINATE) -fixed_end = express_getattr(IfcTendonAnchorTypeEnum, 'FIXED_END', INDETERMINATE) -tensioning_end = express_getattr(IfcTendonAnchorTypeEnum, 'TENSIONING_END', INDETERMINATE) -userdefined = express_getattr(IfcTendonAnchorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonAnchorTypeEnum, 'NOTDEFINED', INDETERMINATE) +coupler = IfcTendonAnchorTypeEnum.COUPLER +fixed_end = IfcTendonAnchorTypeEnum.FIXED_END +tensioning_end = IfcTendonAnchorTypeEnum.TENSIONING_END +userdefined = IfcTendonAnchorTypeEnum.USERDEFINED +notdefined = IfcTendonAnchorTypeEnum.NOTDEFINED IfcTendonTypeEnum = enum_namespace() -bar = express_getattr(IfcTendonTypeEnum, 'BAR', INDETERMINATE) -coated = express_getattr(IfcTendonTypeEnum, 'COATED', INDETERMINATE) -strand = express_getattr(IfcTendonTypeEnum, 'STRAND', INDETERMINATE) -wire = express_getattr(IfcTendonTypeEnum, 'WIRE', INDETERMINATE) -userdefined = express_getattr(IfcTendonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonTypeEnum, 'NOTDEFINED', INDETERMINATE) +bar = IfcTendonTypeEnum.BAR +coated = IfcTendonTypeEnum.COATED +strand = IfcTendonTypeEnum.STRAND +wire = IfcTendonTypeEnum.WIRE +userdefined = IfcTendonTypeEnum.USERDEFINED +notdefined = IfcTendonTypeEnum.NOTDEFINED IfcTextPath = enum_namespace() -left = express_getattr(IfcTextPath, 'LEFT', INDETERMINATE) -right = express_getattr(IfcTextPath, 'RIGHT', INDETERMINATE) -up = express_getattr(IfcTextPath, 'UP', INDETERMINATE) -down = express_getattr(IfcTextPath, 'DOWN', INDETERMINATE) +left = IfcTextPath.LEFT +right = IfcTextPath.RIGHT +up = IfcTextPath.UP +down = IfcTextPath.DOWN IfcTimeSeriesDataTypeEnum = enum_namespace() -continuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'CONTINUOUS', INDETERMINATE) -discrete = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETE', INDETERMINATE) -discretebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETEBINARY', INDETERMINATE) -piecewisebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISEBINARY', INDETERMINATE) -piecewiseconstant = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONSTANT', INDETERMINATE) -piecewisecontinuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONTINUOUS', INDETERMINATE) -notdefined = express_getattr(IfcTimeSeriesDataTypeEnum, 'NOTDEFINED', INDETERMINATE) +continuous = IfcTimeSeriesDataTypeEnum.CONTINUOUS +discrete = IfcTimeSeriesDataTypeEnum.DISCRETE +discretebinary = IfcTimeSeriesDataTypeEnum.DISCRETEBINARY +piecewisebinary = IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY +piecewiseconstant = IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT +piecewisecontinuous = IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS +notdefined = IfcTimeSeriesDataTypeEnum.NOTDEFINED IfcTransformerTypeEnum = enum_namespace() -current = express_getattr(IfcTransformerTypeEnum, 'CURRENT', INDETERMINATE) -frequency = express_getattr(IfcTransformerTypeEnum, 'FREQUENCY', INDETERMINATE) -inverter = express_getattr(IfcTransformerTypeEnum, 'INVERTER', INDETERMINATE) -rectifier = express_getattr(IfcTransformerTypeEnum, 'RECTIFIER', INDETERMINATE) -voltage = express_getattr(IfcTransformerTypeEnum, 'VOLTAGE', INDETERMINATE) -userdefined = express_getattr(IfcTransformerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransformerTypeEnum, 'NOTDEFINED', INDETERMINATE) +current = IfcTransformerTypeEnum.CURRENT +frequency = IfcTransformerTypeEnum.FREQUENCY +inverter = IfcTransformerTypeEnum.INVERTER +rectifier = IfcTransformerTypeEnum.RECTIFIER +voltage = IfcTransformerTypeEnum.VOLTAGE +userdefined = IfcTransformerTypeEnum.USERDEFINED +notdefined = IfcTransformerTypeEnum.NOTDEFINED IfcTransitionCode = enum_namespace() -discontinuous = express_getattr(IfcTransitionCode, 'DISCONTINUOUS', INDETERMINATE) -continuous = express_getattr(IfcTransitionCode, 'CONTINUOUS', INDETERMINATE) -contsamegradient = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENT', INDETERMINATE) -contsamegradientsamecurvature = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENTSAMECURVATURE', INDETERMINATE) +discontinuous = IfcTransitionCode.DISCONTINUOUS +continuous = IfcTransitionCode.CONTINUOUS +contsamegradient = IfcTransitionCode.CONTSAMEGRADIENT +contsamegradientsamecurvature = IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE IfcTransportElementTypeEnum = enum_namespace() -elevator = express_getattr(IfcTransportElementTypeEnum, 'ELEVATOR', INDETERMINATE) -escalator = express_getattr(IfcTransportElementTypeEnum, 'ESCALATOR', INDETERMINATE) -movingwalkway = express_getattr(IfcTransportElementTypeEnum, 'MOVINGWALKWAY', INDETERMINATE) -craneway = express_getattr(IfcTransportElementTypeEnum, 'CRANEWAY', INDETERMINATE) -liftinggear = express_getattr(IfcTransportElementTypeEnum, 'LIFTINGGEAR', INDETERMINATE) -userdefined = express_getattr(IfcTransportElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransportElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +elevator = IfcTransportElementTypeEnum.ELEVATOR +escalator = IfcTransportElementTypeEnum.ESCALATOR +movingwalkway = IfcTransportElementTypeEnum.MOVINGWALKWAY +craneway = IfcTransportElementTypeEnum.CRANEWAY +liftinggear = IfcTransportElementTypeEnum.LIFTINGGEAR +userdefined = IfcTransportElementTypeEnum.USERDEFINED +notdefined = IfcTransportElementTypeEnum.NOTDEFINED IfcTrimmingPreference = enum_namespace() -cartesian = express_getattr(IfcTrimmingPreference, 'CARTESIAN', INDETERMINATE) -parameter = express_getattr(IfcTrimmingPreference, 'PARAMETER', INDETERMINATE) -unspecified = express_getattr(IfcTrimmingPreference, 'UNSPECIFIED', INDETERMINATE) +cartesian = IfcTrimmingPreference.CARTESIAN +parameter = IfcTrimmingPreference.PARAMETER +unspecified = IfcTrimmingPreference.UNSPECIFIED IfcTubeBundleTypeEnum = enum_namespace() -finned = express_getattr(IfcTubeBundleTypeEnum, 'FINNED', INDETERMINATE) -userdefined = express_getattr(IfcTubeBundleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTubeBundleTypeEnum, 'NOTDEFINED', INDETERMINATE) +finned = IfcTubeBundleTypeEnum.FINNED +userdefined = IfcTubeBundleTypeEnum.USERDEFINED +notdefined = IfcTubeBundleTypeEnum.NOTDEFINED IfcUnitEnum = enum_namespace() -absorbeddoseunit = express_getattr(IfcUnitEnum, 'ABSORBEDDOSEUNIT', INDETERMINATE) -amountofsubstanceunit = express_getattr(IfcUnitEnum, 'AMOUNTOFSUBSTANCEUNIT', INDETERMINATE) -areaunit = express_getattr(IfcUnitEnum, 'AREAUNIT', INDETERMINATE) -doseequivalentunit = express_getattr(IfcUnitEnum, 'DOSEEQUIVALENTUNIT', INDETERMINATE) -electriccapacitanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCAPACITANCEUNIT', INDETERMINATE) -electricchargeunit = express_getattr(IfcUnitEnum, 'ELECTRICCHARGEUNIT', INDETERMINATE) -electricconductanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCONDUCTANCEUNIT', INDETERMINATE) -electriccurrentunit = express_getattr(IfcUnitEnum, 'ELECTRICCURRENTUNIT', INDETERMINATE) -electricresistanceunit = express_getattr(IfcUnitEnum, 'ELECTRICRESISTANCEUNIT', INDETERMINATE) -electricvoltageunit = express_getattr(IfcUnitEnum, 'ELECTRICVOLTAGEUNIT', INDETERMINATE) -energyunit = express_getattr(IfcUnitEnum, 'ENERGYUNIT', INDETERMINATE) -forceunit = express_getattr(IfcUnitEnum, 'FORCEUNIT', INDETERMINATE) -frequencyunit = express_getattr(IfcUnitEnum, 'FREQUENCYUNIT', INDETERMINATE) -illuminanceunit = express_getattr(IfcUnitEnum, 'ILLUMINANCEUNIT', INDETERMINATE) -inductanceunit = express_getattr(IfcUnitEnum, 'INDUCTANCEUNIT', INDETERMINATE) -lengthunit = express_getattr(IfcUnitEnum, 'LENGTHUNIT', INDETERMINATE) -luminousfluxunit = express_getattr(IfcUnitEnum, 'LUMINOUSFLUXUNIT', INDETERMINATE) -luminousintensityunit = express_getattr(IfcUnitEnum, 'LUMINOUSINTENSITYUNIT', INDETERMINATE) -magneticfluxdensityunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXDENSITYUNIT', INDETERMINATE) -magneticfluxunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXUNIT', INDETERMINATE) -massunit = express_getattr(IfcUnitEnum, 'MASSUNIT', INDETERMINATE) -planeangleunit = express_getattr(IfcUnitEnum, 'PLANEANGLEUNIT', INDETERMINATE) -powerunit = express_getattr(IfcUnitEnum, 'POWERUNIT', INDETERMINATE) -pressureunit = express_getattr(IfcUnitEnum, 'PRESSUREUNIT', INDETERMINATE) -radioactivityunit = express_getattr(IfcUnitEnum, 'RADIOACTIVITYUNIT', INDETERMINATE) -solidangleunit = express_getattr(IfcUnitEnum, 'SOLIDANGLEUNIT', INDETERMINATE) -thermodynamictemperatureunit = express_getattr(IfcUnitEnum, 'THERMODYNAMICTEMPERATUREUNIT', INDETERMINATE) -timeunit = express_getattr(IfcUnitEnum, 'TIMEUNIT', INDETERMINATE) -volumeunit = express_getattr(IfcUnitEnum, 'VOLUMEUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitEnum, 'USERDEFINED', INDETERMINATE) +absorbeddoseunit = IfcUnitEnum.ABSORBEDDOSEUNIT +amountofsubstanceunit = IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT +areaunit = IfcUnitEnum.AREAUNIT +doseequivalentunit = IfcUnitEnum.DOSEEQUIVALENTUNIT +electriccapacitanceunit = IfcUnitEnum.ELECTRICCAPACITANCEUNIT +electricchargeunit = IfcUnitEnum.ELECTRICCHARGEUNIT +electricconductanceunit = IfcUnitEnum.ELECTRICCONDUCTANCEUNIT +electriccurrentunit = IfcUnitEnum.ELECTRICCURRENTUNIT +electricresistanceunit = IfcUnitEnum.ELECTRICRESISTANCEUNIT +electricvoltageunit = IfcUnitEnum.ELECTRICVOLTAGEUNIT +energyunit = IfcUnitEnum.ENERGYUNIT +forceunit = IfcUnitEnum.FORCEUNIT +frequencyunit = IfcUnitEnum.FREQUENCYUNIT +illuminanceunit = IfcUnitEnum.ILLUMINANCEUNIT +inductanceunit = IfcUnitEnum.INDUCTANCEUNIT +lengthunit = IfcUnitEnum.LENGTHUNIT +luminousfluxunit = IfcUnitEnum.LUMINOUSFLUXUNIT +luminousintensityunit = IfcUnitEnum.LUMINOUSINTENSITYUNIT +magneticfluxdensityunit = IfcUnitEnum.MAGNETICFLUXDENSITYUNIT +magneticfluxunit = IfcUnitEnum.MAGNETICFLUXUNIT +massunit = IfcUnitEnum.MASSUNIT +planeangleunit = IfcUnitEnum.PLANEANGLEUNIT +powerunit = IfcUnitEnum.POWERUNIT +pressureunit = IfcUnitEnum.PRESSUREUNIT +radioactivityunit = IfcUnitEnum.RADIOACTIVITYUNIT +solidangleunit = IfcUnitEnum.SOLIDANGLEUNIT +thermodynamictemperatureunit = IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT +timeunit = IfcUnitEnum.TIMEUNIT +volumeunit = IfcUnitEnum.VOLUMEUNIT +userdefined = IfcUnitEnum.USERDEFINED IfcUnitaryControlElementTypeEnum = enum_namespace() -alarmpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'ALARMPANEL', INDETERMINATE) -controlpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'CONTROLPANEL', INDETERMINATE) -gasdetectionpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'GASDETECTIONPANEL', INDETERMINATE) -indicatorpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'INDICATORPANEL', INDETERMINATE) -mimicpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'MIMICPANEL', INDETERMINATE) -humidistat = express_getattr(IfcUnitaryControlElementTypeEnum, 'HUMIDISTAT', INDETERMINATE) -thermostat = express_getattr(IfcUnitaryControlElementTypeEnum, 'THERMOSTAT', INDETERMINATE) -weatherstation = express_getattr(IfcUnitaryControlElementTypeEnum, 'WEATHERSTATION', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +alarmpanel = IfcUnitaryControlElementTypeEnum.ALARMPANEL +controlpanel = IfcUnitaryControlElementTypeEnum.CONTROLPANEL +gasdetectionpanel = IfcUnitaryControlElementTypeEnum.GASDETECTIONPANEL +indicatorpanel = IfcUnitaryControlElementTypeEnum.INDICATORPANEL +mimicpanel = IfcUnitaryControlElementTypeEnum.MIMICPANEL +humidistat = IfcUnitaryControlElementTypeEnum.HUMIDISTAT +thermostat = IfcUnitaryControlElementTypeEnum.THERMOSTAT +weatherstation = IfcUnitaryControlElementTypeEnum.WEATHERSTATION +userdefined = IfcUnitaryControlElementTypeEnum.USERDEFINED +notdefined = IfcUnitaryControlElementTypeEnum.NOTDEFINED IfcUnitaryEquipmentTypeEnum = enum_namespace() -airhandler = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRHANDLER', INDETERMINATE) -airconditioningunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRCONDITIONINGUNIT', INDETERMINATE) -dehumidifier = express_getattr(IfcUnitaryEquipmentTypeEnum, 'DEHUMIDIFIER', INDETERMINATE) -splitsystem = express_getattr(IfcUnitaryEquipmentTypeEnum, 'SPLITSYSTEM', INDETERMINATE) -rooftopunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'ROOFTOPUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +airhandler = IfcUnitaryEquipmentTypeEnum.AIRHANDLER +airconditioningunit = IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT +dehumidifier = IfcUnitaryEquipmentTypeEnum.DEHUMIDIFIER +splitsystem = IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM +rooftopunit = IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT +userdefined = IfcUnitaryEquipmentTypeEnum.USERDEFINED +notdefined = IfcUnitaryEquipmentTypeEnum.NOTDEFINED IfcValveTypeEnum = enum_namespace() -airrelease = express_getattr(IfcValveTypeEnum, 'AIRRELEASE', INDETERMINATE) -antivacuum = express_getattr(IfcValveTypeEnum, 'ANTIVACUUM', INDETERMINATE) -changeover = express_getattr(IfcValveTypeEnum, 'CHANGEOVER', INDETERMINATE) -check = express_getattr(IfcValveTypeEnum, 'CHECK', INDETERMINATE) -commissioning = express_getattr(IfcValveTypeEnum, 'COMMISSIONING', INDETERMINATE) -diverting = express_getattr(IfcValveTypeEnum, 'DIVERTING', INDETERMINATE) -drawoffcock = express_getattr(IfcValveTypeEnum, 'DRAWOFFCOCK', INDETERMINATE) -doublecheck = express_getattr(IfcValveTypeEnum, 'DOUBLECHECK', INDETERMINATE) -doubleregulating = express_getattr(IfcValveTypeEnum, 'DOUBLEREGULATING', INDETERMINATE) -faucet = express_getattr(IfcValveTypeEnum, 'FAUCET', INDETERMINATE) -flushing = express_getattr(IfcValveTypeEnum, 'FLUSHING', INDETERMINATE) -gascock = express_getattr(IfcValveTypeEnum, 'GASCOCK', INDETERMINATE) -gastap = express_getattr(IfcValveTypeEnum, 'GASTAP', INDETERMINATE) -isolating = express_getattr(IfcValveTypeEnum, 'ISOLATING', INDETERMINATE) -mixing = express_getattr(IfcValveTypeEnum, 'MIXING', INDETERMINATE) -pressurereducing = express_getattr(IfcValveTypeEnum, 'PRESSUREREDUCING', INDETERMINATE) -pressurerelief = express_getattr(IfcValveTypeEnum, 'PRESSURERELIEF', INDETERMINATE) -regulating = express_getattr(IfcValveTypeEnum, 'REGULATING', INDETERMINATE) -safetycutoff = express_getattr(IfcValveTypeEnum, 'SAFETYCUTOFF', INDETERMINATE) -steamtrap = express_getattr(IfcValveTypeEnum, 'STEAMTRAP', INDETERMINATE) -stopcock = express_getattr(IfcValveTypeEnum, 'STOPCOCK', INDETERMINATE) -userdefined = express_getattr(IfcValveTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcValveTypeEnum, 'NOTDEFINED', INDETERMINATE) +airrelease = IfcValveTypeEnum.AIRRELEASE +antivacuum = IfcValveTypeEnum.ANTIVACUUM +changeover = IfcValveTypeEnum.CHANGEOVER +check = IfcValveTypeEnum.CHECK +commissioning = IfcValveTypeEnum.COMMISSIONING +diverting = IfcValveTypeEnum.DIVERTING +drawoffcock = IfcValveTypeEnum.DRAWOFFCOCK +doublecheck = IfcValveTypeEnum.DOUBLECHECK +doubleregulating = IfcValveTypeEnum.DOUBLEREGULATING +faucet = IfcValveTypeEnum.FAUCET +flushing = IfcValveTypeEnum.FLUSHING +gascock = IfcValveTypeEnum.GASCOCK +gastap = IfcValveTypeEnum.GASTAP +isolating = IfcValveTypeEnum.ISOLATING +mixing = IfcValveTypeEnum.MIXING +pressurereducing = IfcValveTypeEnum.PRESSUREREDUCING +pressurerelief = IfcValveTypeEnum.PRESSURERELIEF +regulating = IfcValveTypeEnum.REGULATING +safetycutoff = IfcValveTypeEnum.SAFETYCUTOFF +steamtrap = IfcValveTypeEnum.STEAMTRAP +stopcock = IfcValveTypeEnum.STOPCOCK +userdefined = IfcValveTypeEnum.USERDEFINED +notdefined = IfcValveTypeEnum.NOTDEFINED IfcVibrationIsolatorTypeEnum = enum_namespace() -compression = express_getattr(IfcVibrationIsolatorTypeEnum, 'COMPRESSION', INDETERMINATE) -spring = express_getattr(IfcVibrationIsolatorTypeEnum, 'SPRING', INDETERMINATE) -userdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +compression = IfcVibrationIsolatorTypeEnum.COMPRESSION +spring = IfcVibrationIsolatorTypeEnum.SPRING +userdefined = IfcVibrationIsolatorTypeEnum.USERDEFINED +notdefined = IfcVibrationIsolatorTypeEnum.NOTDEFINED IfcVoidingFeatureTypeEnum = enum_namespace() -cutout = express_getattr(IfcVoidingFeatureTypeEnum, 'CUTOUT', INDETERMINATE) -notch = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTCH', INDETERMINATE) -hole = express_getattr(IfcVoidingFeatureTypeEnum, 'HOLE', INDETERMINATE) -miter = express_getattr(IfcVoidingFeatureTypeEnum, 'MITER', INDETERMINATE) -chamfer = express_getattr(IfcVoidingFeatureTypeEnum, 'CHAMFER', INDETERMINATE) -edge = express_getattr(IfcVoidingFeatureTypeEnum, 'EDGE', INDETERMINATE) -userdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +cutout = IfcVoidingFeatureTypeEnum.CUTOUT +notch = IfcVoidingFeatureTypeEnum.NOTCH +hole = IfcVoidingFeatureTypeEnum.HOLE +miter = IfcVoidingFeatureTypeEnum.MITER +chamfer = IfcVoidingFeatureTypeEnum.CHAMFER +edge = IfcVoidingFeatureTypeEnum.EDGE +userdefined = IfcVoidingFeatureTypeEnum.USERDEFINED +notdefined = IfcVoidingFeatureTypeEnum.NOTDEFINED IfcWallTypeEnum = enum_namespace() -movable = express_getattr(IfcWallTypeEnum, 'MOVABLE', INDETERMINATE) -parapet = express_getattr(IfcWallTypeEnum, 'PARAPET', INDETERMINATE) -partitioning = express_getattr(IfcWallTypeEnum, 'PARTITIONING', INDETERMINATE) -plumbingwall = express_getattr(IfcWallTypeEnum, 'PLUMBINGWALL', INDETERMINATE) -shear = express_getattr(IfcWallTypeEnum, 'SHEAR', INDETERMINATE) -solidwall = express_getattr(IfcWallTypeEnum, 'SOLIDWALL', INDETERMINATE) -standard = express_getattr(IfcWallTypeEnum, 'STANDARD', INDETERMINATE) -polygonal = express_getattr(IfcWallTypeEnum, 'POLYGONAL', INDETERMINATE) -elementedwall = express_getattr(IfcWallTypeEnum, 'ELEMENTEDWALL', INDETERMINATE) -userdefined = express_getattr(IfcWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +movable = IfcWallTypeEnum.MOVABLE +parapet = IfcWallTypeEnum.PARAPET +partitioning = IfcWallTypeEnum.PARTITIONING +plumbingwall = IfcWallTypeEnum.PLUMBINGWALL +shear = IfcWallTypeEnum.SHEAR +solidwall = IfcWallTypeEnum.SOLIDWALL +standard = IfcWallTypeEnum.STANDARD +polygonal = IfcWallTypeEnum.POLYGONAL +elementedwall = IfcWallTypeEnum.ELEMENTEDWALL +userdefined = IfcWallTypeEnum.USERDEFINED +notdefined = IfcWallTypeEnum.NOTDEFINED IfcWasteTerminalTypeEnum = enum_namespace() -floortrap = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORTRAP', INDETERMINATE) -floorwaste = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORWASTE', INDETERMINATE) -gullysump = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYSUMP', INDETERMINATE) -gullytrap = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYTRAP', INDETERMINATE) -roofdrain = express_getattr(IfcWasteTerminalTypeEnum, 'ROOFDRAIN', INDETERMINATE) -wastedisposalunit = express_getattr(IfcWasteTerminalTypeEnum, 'WASTEDISPOSALUNIT', INDETERMINATE) -wastetrap = express_getattr(IfcWasteTerminalTypeEnum, 'WASTETRAP', INDETERMINATE) -userdefined = express_getattr(IfcWasteTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWasteTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +floortrap = IfcWasteTerminalTypeEnum.FLOORTRAP +floorwaste = IfcWasteTerminalTypeEnum.FLOORWASTE +gullysump = IfcWasteTerminalTypeEnum.GULLYSUMP +gullytrap = IfcWasteTerminalTypeEnum.GULLYTRAP +roofdrain = IfcWasteTerminalTypeEnum.ROOFDRAIN +wastedisposalunit = IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT +wastetrap = IfcWasteTerminalTypeEnum.WASTETRAP +userdefined = IfcWasteTerminalTypeEnum.USERDEFINED +notdefined = IfcWasteTerminalTypeEnum.NOTDEFINED IfcWindowPanelOperationEnum = enum_namespace() -sidehungrighthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGRIGHTHAND', INDETERMINATE) -sidehunglefthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGLEFTHAND', INDETERMINATE) -tiltandturnrighthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNRIGHTHAND', INDETERMINATE) -tiltandturnlefthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNLEFTHAND', INDETERMINATE) -tophung = express_getattr(IfcWindowPanelOperationEnum, 'TOPHUNG', INDETERMINATE) -bottomhung = express_getattr(IfcWindowPanelOperationEnum, 'BOTTOMHUNG', INDETERMINATE) -pivothorizontal = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTHORIZONTAL', INDETERMINATE) -pivotvertical = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTVERTICAL', INDETERMINATE) -slidinghorizontal = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGHORIZONTAL', INDETERMINATE) -slidingvertical = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGVERTICAL', INDETERMINATE) -removablecasement = express_getattr(IfcWindowPanelOperationEnum, 'REMOVABLECASEMENT', INDETERMINATE) -fixedcasement = express_getattr(IfcWindowPanelOperationEnum, 'FIXEDCASEMENT', INDETERMINATE) -otheroperation = express_getattr(IfcWindowPanelOperationEnum, 'OTHEROPERATION', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +sidehungrighthand = IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND +sidehunglefthand = IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND +tiltandturnrighthand = IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND +tiltandturnlefthand = IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND +tophung = IfcWindowPanelOperationEnum.TOPHUNG +bottomhung = IfcWindowPanelOperationEnum.BOTTOMHUNG +pivothorizontal = IfcWindowPanelOperationEnum.PIVOTHORIZONTAL +pivotvertical = IfcWindowPanelOperationEnum.PIVOTVERTICAL +slidinghorizontal = IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL +slidingvertical = IfcWindowPanelOperationEnum.SLIDINGVERTICAL +removablecasement = IfcWindowPanelOperationEnum.REMOVABLECASEMENT +fixedcasement = IfcWindowPanelOperationEnum.FIXEDCASEMENT +otheroperation = IfcWindowPanelOperationEnum.OTHEROPERATION +notdefined = IfcWindowPanelOperationEnum.NOTDEFINED IfcWindowPanelPositionEnum = enum_namespace() -left = express_getattr(IfcWindowPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcWindowPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcWindowPanelPositionEnum, 'RIGHT', INDETERMINATE) -bottom = express_getattr(IfcWindowPanelPositionEnum, 'BOTTOM', INDETERMINATE) -top = express_getattr(IfcWindowPanelPositionEnum, 'TOP', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcWindowPanelPositionEnum.LEFT +middle = IfcWindowPanelPositionEnum.MIDDLE +right = IfcWindowPanelPositionEnum.RIGHT +bottom = IfcWindowPanelPositionEnum.BOTTOM +top = IfcWindowPanelPositionEnum.TOP +notdefined = IfcWindowPanelPositionEnum.NOTDEFINED IfcWindowStyleConstructionEnum = enum_namespace() -aluminium = express_getattr(IfcWindowStyleConstructionEnum, 'ALUMINIUM', INDETERMINATE) -high_grade_steel = express_getattr(IfcWindowStyleConstructionEnum, 'HIGH_GRADE_STEEL', INDETERMINATE) -steel = express_getattr(IfcWindowStyleConstructionEnum, 'STEEL', INDETERMINATE) -wood = express_getattr(IfcWindowStyleConstructionEnum, 'WOOD', INDETERMINATE) -aluminium_wood = express_getattr(IfcWindowStyleConstructionEnum, 'ALUMINIUM_WOOD', INDETERMINATE) -plastic = express_getattr(IfcWindowStyleConstructionEnum, 'PLASTIC', INDETERMINATE) -other_construction = express_getattr(IfcWindowStyleConstructionEnum, 'OTHER_CONSTRUCTION', INDETERMINATE) -notdefined = express_getattr(IfcWindowStyleConstructionEnum, 'NOTDEFINED', INDETERMINATE) +aluminium = IfcWindowStyleConstructionEnum.ALUMINIUM +high_grade_steel = IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL +steel = IfcWindowStyleConstructionEnum.STEEL +wood = IfcWindowStyleConstructionEnum.WOOD +aluminium_wood = IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD +plastic = IfcWindowStyleConstructionEnum.PLASTIC +other_construction = IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION +notdefined = IfcWindowStyleConstructionEnum.NOTDEFINED IfcWindowStyleOperationEnum = enum_namespace() -single_panel = express_getattr(IfcWindowStyleOperationEnum, 'SINGLE_PANEL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowStyleOperationEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -double_panel_horizontal = express_getattr(IfcWindowStyleOperationEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowStyleOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowStyleOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_panel = IfcWindowStyleOperationEnum.SINGLE_PANEL +double_panel_vertical = IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL +double_panel_horizontal = IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL +triple_panel_vertical = IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL +triple_panel_bottom = IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM +triple_panel_top = IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP +triple_panel_left = IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT +triple_panel_horizontal = IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL +userdefined = IfcWindowStyleOperationEnum.USERDEFINED +notdefined = IfcWindowStyleOperationEnum.NOTDEFINED IfcWindowTypeEnum = enum_namespace() -window = express_getattr(IfcWindowTypeEnum, 'WINDOW', INDETERMINATE) -skylight = express_getattr(IfcWindowTypeEnum, 'SKYLIGHT', INDETERMINATE) -lightdome = express_getattr(IfcWindowTypeEnum, 'LIGHTDOME', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypeEnum, 'NOTDEFINED', INDETERMINATE) +window = IfcWindowTypeEnum.WINDOW +skylight = IfcWindowTypeEnum.SKYLIGHT +lightdome = IfcWindowTypeEnum.LIGHTDOME +userdefined = IfcWindowTypeEnum.USERDEFINED +notdefined = IfcWindowTypeEnum.NOTDEFINED IfcWindowTypePartitioningEnum = enum_namespace() -single_panel = express_getattr(IfcWindowTypePartitioningEnum, 'SINGLE_PANEL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -double_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypePartitioningEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypePartitioningEnum, 'NOTDEFINED', INDETERMINATE) +single_panel = IfcWindowTypePartitioningEnum.SINGLE_PANEL +double_panel_vertical = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_VERTICAL +double_panel_horizontal = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_HORIZONTAL +triple_panel_vertical = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_VERTICAL +triple_panel_bottom = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_BOTTOM +triple_panel_top = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_TOP +triple_panel_left = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_RIGHT +triple_panel_horizontal = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_HORIZONTAL +userdefined = IfcWindowTypePartitioningEnum.USERDEFINED +notdefined = IfcWindowTypePartitioningEnum.NOTDEFINED IfcWorkCalendarTypeEnum = enum_namespace() -firstshift = express_getattr(IfcWorkCalendarTypeEnum, 'FIRSTSHIFT', INDETERMINATE) -secondshift = express_getattr(IfcWorkCalendarTypeEnum, 'SECONDSHIFT', INDETERMINATE) -thirdshift = express_getattr(IfcWorkCalendarTypeEnum, 'THIRDSHIFT', INDETERMINATE) -userdefined = express_getattr(IfcWorkCalendarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkCalendarTypeEnum, 'NOTDEFINED', INDETERMINATE) +firstshift = IfcWorkCalendarTypeEnum.FIRSTSHIFT +secondshift = IfcWorkCalendarTypeEnum.SECONDSHIFT +thirdshift = IfcWorkCalendarTypeEnum.THIRDSHIFT +userdefined = IfcWorkCalendarTypeEnum.USERDEFINED +notdefined = IfcWorkCalendarTypeEnum.NOTDEFINED IfcWorkPlanTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkPlanTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkPlanTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkPlanTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkPlanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkPlanTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkPlanTypeEnum.ACTUAL +baseline = IfcWorkPlanTypeEnum.BASELINE +planned = IfcWorkPlanTypeEnum.PLANNED +userdefined = IfcWorkPlanTypeEnum.USERDEFINED +notdefined = IfcWorkPlanTypeEnum.NOTDEFINED IfcWorkScheduleTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkScheduleTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkScheduleTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkScheduleTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkScheduleTypeEnum.ACTUAL +baseline = IfcWorkScheduleTypeEnum.BASELINE +planned = IfcWorkScheduleTypeEnum.PLANNED +userdefined = IfcWorkScheduleTypeEnum.USERDEFINED +notdefined = IfcWorkScheduleTypeEnum.NOTDEFINED def IfcActionRequest(*args, **kwargs): return ifcopenshell.create_entity('IfcActionRequest', 'IFC4', *args, **kwargs) diff --git a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X1.py b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X1.py index afb4197c87..f07f0ee248 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X1.py +++ b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X1.py @@ -1,5 +1,8 @@ import ifcopenshell +def is_indeterminate(v): + return v is None or type(v).__name__ == 'indeterminate_type' + def exists(v): if callable(v): try: @@ -7,10 +10,10 @@ def exists(v): except IndexError as e: return False else: - return v is not None + return not is_indeterminate(v) def nvl(v, default): - return v if v is not None else default + return v if not is_indeterminate(v) else default def is_entity(inst): if isinstance(inst, ifcopenshell.entity_instance): @@ -22,13 +25,13 @@ def is_entity(inst): def express_len(v): if isinstance(v, ifcopenshell.entity_instance) and (not is_entity(v)): v = v[0] - elif v is None or v is INDETERMINATE: + elif is_indeterminate(v): return INDETERMINATE return len(v) old_range = range def range(*args): - if INDETERMINATE in args: + if any(map(is_indeterminate, args)): return yield from old_range(*args) sizeof = express_len @@ -149,1860 +152,1860 @@ class enum_namespace: def __getattr__(self, k): return express_getattr(k, 'upper', INDETERMINATE)() IfcActionRequestTypeEnum = enum_namespace() -email = express_getattr(IfcActionRequestTypeEnum, 'EMAIL', INDETERMINATE) -fax = express_getattr(IfcActionRequestTypeEnum, 'FAX', INDETERMINATE) -phone = express_getattr(IfcActionRequestTypeEnum, 'PHONE', INDETERMINATE) -post = express_getattr(IfcActionRequestTypeEnum, 'POST', INDETERMINATE) -verbal = express_getattr(IfcActionRequestTypeEnum, 'VERBAL', INDETERMINATE) -userdefined = express_getattr(IfcActionRequestTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionRequestTypeEnum, 'NOTDEFINED', INDETERMINATE) +email = IfcActionRequestTypeEnum.EMAIL +fax = IfcActionRequestTypeEnum.FAX +phone = IfcActionRequestTypeEnum.PHONE +post = IfcActionRequestTypeEnum.POST +verbal = IfcActionRequestTypeEnum.VERBAL +userdefined = IfcActionRequestTypeEnum.USERDEFINED +notdefined = IfcActionRequestTypeEnum.NOTDEFINED IfcActionSourceTypeEnum = enum_namespace() -dead_load_g = express_getattr(IfcActionSourceTypeEnum, 'DEAD_LOAD_G', INDETERMINATE) -completion_g1 = express_getattr(IfcActionSourceTypeEnum, 'COMPLETION_G1', INDETERMINATE) -live_load_q = express_getattr(IfcActionSourceTypeEnum, 'LIVE_LOAD_Q', INDETERMINATE) -snow_s = express_getattr(IfcActionSourceTypeEnum, 'SNOW_S', INDETERMINATE) -wind_w = express_getattr(IfcActionSourceTypeEnum, 'WIND_W', INDETERMINATE) -prestressing_p = express_getattr(IfcActionSourceTypeEnum, 'PRESTRESSING_P', INDETERMINATE) -settlement_u = express_getattr(IfcActionSourceTypeEnum, 'SETTLEMENT_U', INDETERMINATE) -temperature_t = express_getattr(IfcActionSourceTypeEnum, 'TEMPERATURE_T', INDETERMINATE) -earthquake_e = express_getattr(IfcActionSourceTypeEnum, 'EARTHQUAKE_E', INDETERMINATE) -fire = express_getattr(IfcActionSourceTypeEnum, 'FIRE', INDETERMINATE) -impulse = express_getattr(IfcActionSourceTypeEnum, 'IMPULSE', INDETERMINATE) -impact = express_getattr(IfcActionSourceTypeEnum, 'IMPACT', INDETERMINATE) -transport = express_getattr(IfcActionSourceTypeEnum, 'TRANSPORT', INDETERMINATE) -erection = express_getattr(IfcActionSourceTypeEnum, 'ERECTION', INDETERMINATE) -propping = express_getattr(IfcActionSourceTypeEnum, 'PROPPING', INDETERMINATE) -system_imperfection = express_getattr(IfcActionSourceTypeEnum, 'SYSTEM_IMPERFECTION', INDETERMINATE) -shrinkage = express_getattr(IfcActionSourceTypeEnum, 'SHRINKAGE', INDETERMINATE) -creep = express_getattr(IfcActionSourceTypeEnum, 'CREEP', INDETERMINATE) -lack_of_fit = express_getattr(IfcActionSourceTypeEnum, 'LACK_OF_FIT', INDETERMINATE) -buoyancy = express_getattr(IfcActionSourceTypeEnum, 'BUOYANCY', INDETERMINATE) -ice = express_getattr(IfcActionSourceTypeEnum, 'ICE', INDETERMINATE) -current = express_getattr(IfcActionSourceTypeEnum, 'CURRENT', INDETERMINATE) -wave = express_getattr(IfcActionSourceTypeEnum, 'WAVE', INDETERMINATE) -rain = express_getattr(IfcActionSourceTypeEnum, 'RAIN', INDETERMINATE) -brakes = express_getattr(IfcActionSourceTypeEnum, 'BRAKES', INDETERMINATE) -userdefined = express_getattr(IfcActionSourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionSourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +dead_load_g = IfcActionSourceTypeEnum.DEAD_LOAD_G +completion_g1 = IfcActionSourceTypeEnum.COMPLETION_G1 +live_load_q = IfcActionSourceTypeEnum.LIVE_LOAD_Q +snow_s = IfcActionSourceTypeEnum.SNOW_S +wind_w = IfcActionSourceTypeEnum.WIND_W +prestressing_p = IfcActionSourceTypeEnum.PRESTRESSING_P +settlement_u = IfcActionSourceTypeEnum.SETTLEMENT_U +temperature_t = IfcActionSourceTypeEnum.TEMPERATURE_T +earthquake_e = IfcActionSourceTypeEnum.EARTHQUAKE_E +fire = IfcActionSourceTypeEnum.FIRE +impulse = IfcActionSourceTypeEnum.IMPULSE +impact = IfcActionSourceTypeEnum.IMPACT +transport = IfcActionSourceTypeEnum.TRANSPORT +erection = IfcActionSourceTypeEnum.ERECTION +propping = IfcActionSourceTypeEnum.PROPPING +system_imperfection = IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION +shrinkage = IfcActionSourceTypeEnum.SHRINKAGE +creep = IfcActionSourceTypeEnum.CREEP +lack_of_fit = IfcActionSourceTypeEnum.LACK_OF_FIT +buoyancy = IfcActionSourceTypeEnum.BUOYANCY +ice = IfcActionSourceTypeEnum.ICE +current = IfcActionSourceTypeEnum.CURRENT +wave = IfcActionSourceTypeEnum.WAVE +rain = IfcActionSourceTypeEnum.RAIN +brakes = IfcActionSourceTypeEnum.BRAKES +userdefined = IfcActionSourceTypeEnum.USERDEFINED +notdefined = IfcActionSourceTypeEnum.NOTDEFINED IfcActionTypeEnum = enum_namespace() -permanent_g = express_getattr(IfcActionTypeEnum, 'PERMANENT_G', INDETERMINATE) -variable_q = express_getattr(IfcActionTypeEnum, 'VARIABLE_Q', INDETERMINATE) -extraordinary_a = express_getattr(IfcActionTypeEnum, 'EXTRAORDINARY_A', INDETERMINATE) -userdefined = express_getattr(IfcActionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionTypeEnum, 'NOTDEFINED', INDETERMINATE) +permanent_g = IfcActionTypeEnum.PERMANENT_G +variable_q = IfcActionTypeEnum.VARIABLE_Q +extraordinary_a = IfcActionTypeEnum.EXTRAORDINARY_A +userdefined = IfcActionTypeEnum.USERDEFINED +notdefined = IfcActionTypeEnum.NOTDEFINED IfcActuatorTypeEnum = enum_namespace() -electricactuator = express_getattr(IfcActuatorTypeEnum, 'ELECTRICACTUATOR', INDETERMINATE) -handoperatedactuator = express_getattr(IfcActuatorTypeEnum, 'HANDOPERATEDACTUATOR', INDETERMINATE) -hydraulicactuator = express_getattr(IfcActuatorTypeEnum, 'HYDRAULICACTUATOR', INDETERMINATE) -pneumaticactuator = express_getattr(IfcActuatorTypeEnum, 'PNEUMATICACTUATOR', INDETERMINATE) -thermostaticactuator = express_getattr(IfcActuatorTypeEnum, 'THERMOSTATICACTUATOR', INDETERMINATE) -userdefined = express_getattr(IfcActuatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActuatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +electricactuator = IfcActuatorTypeEnum.ELECTRICACTUATOR +handoperatedactuator = IfcActuatorTypeEnum.HANDOPERATEDACTUATOR +hydraulicactuator = IfcActuatorTypeEnum.HYDRAULICACTUATOR +pneumaticactuator = IfcActuatorTypeEnum.PNEUMATICACTUATOR +thermostaticactuator = IfcActuatorTypeEnum.THERMOSTATICACTUATOR +userdefined = IfcActuatorTypeEnum.USERDEFINED +notdefined = IfcActuatorTypeEnum.NOTDEFINED IfcAddressTypeEnum = enum_namespace() -office = express_getattr(IfcAddressTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcAddressTypeEnum, 'SITE', INDETERMINATE) -home = express_getattr(IfcAddressTypeEnum, 'HOME', INDETERMINATE) -distributionpoint = express_getattr(IfcAddressTypeEnum, 'DISTRIBUTIONPOINT', INDETERMINATE) -userdefined = express_getattr(IfcAddressTypeEnum, 'USERDEFINED', INDETERMINATE) +office = IfcAddressTypeEnum.OFFICE +site = IfcAddressTypeEnum.SITE +home = IfcAddressTypeEnum.HOME +distributionpoint = IfcAddressTypeEnum.DISTRIBUTIONPOINT +userdefined = IfcAddressTypeEnum.USERDEFINED IfcAirTerminalBoxTypeEnum = enum_namespace() -constantflow = express_getattr(IfcAirTerminalBoxTypeEnum, 'CONSTANTFLOW', INDETERMINATE) -variableflowpressuredependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREDEPENDANT', INDETERMINATE) -variableflowpressureindependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREINDEPENDANT', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +constantflow = IfcAirTerminalBoxTypeEnum.CONSTANTFLOW +variableflowpressuredependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT +variableflowpressureindependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT +userdefined = IfcAirTerminalBoxTypeEnum.USERDEFINED +notdefined = IfcAirTerminalBoxTypeEnum.NOTDEFINED IfcAirTerminalTypeEnum = enum_namespace() -diffuser = express_getattr(IfcAirTerminalTypeEnum, 'DIFFUSER', INDETERMINATE) -grille = express_getattr(IfcAirTerminalTypeEnum, 'GRILLE', INDETERMINATE) -louvre = express_getattr(IfcAirTerminalTypeEnum, 'LOUVRE', INDETERMINATE) -register = express_getattr(IfcAirTerminalTypeEnum, 'REGISTER', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +diffuser = IfcAirTerminalTypeEnum.DIFFUSER +grille = IfcAirTerminalTypeEnum.GRILLE +louvre = IfcAirTerminalTypeEnum.LOUVRE +register = IfcAirTerminalTypeEnum.REGISTER +userdefined = IfcAirTerminalTypeEnum.USERDEFINED +notdefined = IfcAirTerminalTypeEnum.NOTDEFINED IfcAirToAirHeatRecoveryTypeEnum = enum_namespace() -fixedplatecounterflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECOUNTERFLOWEXCHANGER', INDETERMINATE) -fixedplatecrossflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECROSSFLOWEXCHANGER', INDETERMINATE) -fixedplateparallelflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATEPARALLELFLOWEXCHANGER', INDETERMINATE) -rotarywheel = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'ROTARYWHEEL', INDETERMINATE) -runaroundcoilloop = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'RUNAROUNDCOILLOOP', INDETERMINATE) -heatpipe = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'HEATPIPE', INDETERMINATE) -twintowerenthalpyrecoveryloops = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'TWINTOWERENTHALPYRECOVERYLOOPS', INDETERMINATE) -thermosiphonsealedtubeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONSEALEDTUBEHEATEXCHANGERS', INDETERMINATE) -thermosiphoncoiltypeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONCOILTYPEHEATEXCHANGERS', INDETERMINATE) -userdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'NOTDEFINED', INDETERMINATE) +fixedplatecounterflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER +fixedplatecrossflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER +fixedplateparallelflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER +rotarywheel = IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL +runaroundcoilloop = IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP +heatpipe = IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE +twintowerenthalpyrecoveryloops = IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS +thermosiphonsealedtubeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS +thermosiphoncoiltypeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS +userdefined = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED +notdefined = IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED IfcAlarmTypeEnum = enum_namespace() -bell = express_getattr(IfcAlarmTypeEnum, 'BELL', INDETERMINATE) -breakglassbutton = express_getattr(IfcAlarmTypeEnum, 'BREAKGLASSBUTTON', INDETERMINATE) -light = express_getattr(IfcAlarmTypeEnum, 'LIGHT', INDETERMINATE) -manualpullbox = express_getattr(IfcAlarmTypeEnum, 'MANUALPULLBOX', INDETERMINATE) -siren = express_getattr(IfcAlarmTypeEnum, 'SIREN', INDETERMINATE) -whistle = express_getattr(IfcAlarmTypeEnum, 'WHISTLE', INDETERMINATE) -userdefined = express_getattr(IfcAlarmTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlarmTypeEnum, 'NOTDEFINED', INDETERMINATE) +bell = IfcAlarmTypeEnum.BELL +breakglassbutton = IfcAlarmTypeEnum.BREAKGLASSBUTTON +light = IfcAlarmTypeEnum.LIGHT +manualpullbox = IfcAlarmTypeEnum.MANUALPULLBOX +siren = IfcAlarmTypeEnum.SIREN +whistle = IfcAlarmTypeEnum.WHISTLE +userdefined = IfcAlarmTypeEnum.USERDEFINED +notdefined = IfcAlarmTypeEnum.NOTDEFINED IfcAlignmentTypeEnum = enum_namespace() -userdefined = express_getattr(IfcAlignmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlignmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcAlignmentTypeEnum.USERDEFINED +notdefined = IfcAlignmentTypeEnum.NOTDEFINED IfcAnalysisModelTypeEnum = enum_namespace() -in_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'IN_PLANE_LOADING_2D', INDETERMINATE) -out_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'OUT_PLANE_LOADING_2D', INDETERMINATE) -loading_3d = express_getattr(IfcAnalysisModelTypeEnum, 'LOADING_3D', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisModelTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisModelTypeEnum, 'NOTDEFINED', INDETERMINATE) +in_plane_loading_2d = IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D +out_plane_loading_2d = IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D +loading_3d = IfcAnalysisModelTypeEnum.LOADING_3D +userdefined = IfcAnalysisModelTypeEnum.USERDEFINED +notdefined = IfcAnalysisModelTypeEnum.NOTDEFINED IfcAnalysisTheoryTypeEnum = enum_namespace() -first_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FIRST_ORDER_THEORY', INDETERMINATE) -second_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'SECOND_ORDER_THEORY', INDETERMINATE) -third_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'THIRD_ORDER_THEORY', INDETERMINATE) -full_nonlinear_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FULL_NONLINEAR_THEORY', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +first_order_theory = IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY +second_order_theory = IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY +third_order_theory = IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY +full_nonlinear_theory = IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY +userdefined = IfcAnalysisTheoryTypeEnum.USERDEFINED +notdefined = IfcAnalysisTheoryTypeEnum.NOTDEFINED IfcArithmeticOperatorEnum = enum_namespace() -add = express_getattr(IfcArithmeticOperatorEnum, 'ADD', INDETERMINATE) -divide = express_getattr(IfcArithmeticOperatorEnum, 'DIVIDE', INDETERMINATE) -multiply = express_getattr(IfcArithmeticOperatorEnum, 'MULTIPLY', INDETERMINATE) -subtract = express_getattr(IfcArithmeticOperatorEnum, 'SUBTRACT', INDETERMINATE) +add = IfcArithmeticOperatorEnum.ADD +divide = IfcArithmeticOperatorEnum.DIVIDE +multiply = IfcArithmeticOperatorEnum.MULTIPLY +subtract = IfcArithmeticOperatorEnum.SUBTRACT IfcAssemblyPlaceEnum = enum_namespace() -site = express_getattr(IfcAssemblyPlaceEnum, 'SITE', INDETERMINATE) -factory = express_getattr(IfcAssemblyPlaceEnum, 'FACTORY', INDETERMINATE) -notdefined = express_getattr(IfcAssemblyPlaceEnum, 'NOTDEFINED', INDETERMINATE) +site = IfcAssemblyPlaceEnum.SITE +factory = IfcAssemblyPlaceEnum.FACTORY +notdefined = IfcAssemblyPlaceEnum.NOTDEFINED IfcAudioVisualApplianceTypeEnum = enum_namespace() -amplifier = express_getattr(IfcAudioVisualApplianceTypeEnum, 'AMPLIFIER', INDETERMINATE) -camera = express_getattr(IfcAudioVisualApplianceTypeEnum, 'CAMERA', INDETERMINATE) -display = express_getattr(IfcAudioVisualApplianceTypeEnum, 'DISPLAY', INDETERMINATE) -microphone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'MICROPHONE', INDETERMINATE) -player = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PLAYER', INDETERMINATE) -projector = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PROJECTOR', INDETERMINATE) -receiver = express_getattr(IfcAudioVisualApplianceTypeEnum, 'RECEIVER', INDETERMINATE) -speaker = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SPEAKER', INDETERMINATE) -switcher = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SWITCHER', INDETERMINATE) -telephone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TELEPHONE', INDETERMINATE) -tuner = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TUNER', INDETERMINATE) -userdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +amplifier = IfcAudioVisualApplianceTypeEnum.AMPLIFIER +camera = IfcAudioVisualApplianceTypeEnum.CAMERA +display = IfcAudioVisualApplianceTypeEnum.DISPLAY +microphone = IfcAudioVisualApplianceTypeEnum.MICROPHONE +player = IfcAudioVisualApplianceTypeEnum.PLAYER +projector = IfcAudioVisualApplianceTypeEnum.PROJECTOR +receiver = IfcAudioVisualApplianceTypeEnum.RECEIVER +speaker = IfcAudioVisualApplianceTypeEnum.SPEAKER +switcher = IfcAudioVisualApplianceTypeEnum.SWITCHER +telephone = IfcAudioVisualApplianceTypeEnum.TELEPHONE +tuner = IfcAudioVisualApplianceTypeEnum.TUNER +userdefined = IfcAudioVisualApplianceTypeEnum.USERDEFINED +notdefined = IfcAudioVisualApplianceTypeEnum.NOTDEFINED IfcBSplineCurveForm = enum_namespace() -polyline_form = express_getattr(IfcBSplineCurveForm, 'POLYLINE_FORM', INDETERMINATE) -circular_arc = express_getattr(IfcBSplineCurveForm, 'CIRCULAR_ARC', INDETERMINATE) -elliptic_arc = express_getattr(IfcBSplineCurveForm, 'ELLIPTIC_ARC', INDETERMINATE) -parabolic_arc = express_getattr(IfcBSplineCurveForm, 'PARABOLIC_ARC', INDETERMINATE) -hyperbolic_arc = express_getattr(IfcBSplineCurveForm, 'HYPERBOLIC_ARC', INDETERMINATE) -unspecified = express_getattr(IfcBSplineCurveForm, 'UNSPECIFIED', INDETERMINATE) +polyline_form = IfcBSplineCurveForm.POLYLINE_FORM +circular_arc = IfcBSplineCurveForm.CIRCULAR_ARC +elliptic_arc = IfcBSplineCurveForm.ELLIPTIC_ARC +parabolic_arc = IfcBSplineCurveForm.PARABOLIC_ARC +hyperbolic_arc = IfcBSplineCurveForm.HYPERBOLIC_ARC +unspecified = IfcBSplineCurveForm.UNSPECIFIED IfcBSplineSurfaceForm = enum_namespace() -plane_surf = express_getattr(IfcBSplineSurfaceForm, 'PLANE_SURF', INDETERMINATE) -cylindrical_surf = express_getattr(IfcBSplineSurfaceForm, 'CYLINDRICAL_SURF', INDETERMINATE) -conical_surf = express_getattr(IfcBSplineSurfaceForm, 'CONICAL_SURF', INDETERMINATE) -spherical_surf = express_getattr(IfcBSplineSurfaceForm, 'SPHERICAL_SURF', INDETERMINATE) -toroidal_surf = express_getattr(IfcBSplineSurfaceForm, 'TOROIDAL_SURF', INDETERMINATE) -surf_of_revolution = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_REVOLUTION', INDETERMINATE) -ruled_surf = express_getattr(IfcBSplineSurfaceForm, 'RULED_SURF', INDETERMINATE) -generalised_cone = express_getattr(IfcBSplineSurfaceForm, 'GENERALISED_CONE', INDETERMINATE) -quadric_surf = express_getattr(IfcBSplineSurfaceForm, 'QUADRIC_SURF', INDETERMINATE) -surf_of_linear_extrusion = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_LINEAR_EXTRUSION', INDETERMINATE) -unspecified = express_getattr(IfcBSplineSurfaceForm, 'UNSPECIFIED', INDETERMINATE) +plane_surf = IfcBSplineSurfaceForm.PLANE_SURF +cylindrical_surf = IfcBSplineSurfaceForm.CYLINDRICAL_SURF +conical_surf = IfcBSplineSurfaceForm.CONICAL_SURF +spherical_surf = IfcBSplineSurfaceForm.SPHERICAL_SURF +toroidal_surf = IfcBSplineSurfaceForm.TOROIDAL_SURF +surf_of_revolution = IfcBSplineSurfaceForm.SURF_OF_REVOLUTION +ruled_surf = IfcBSplineSurfaceForm.RULED_SURF +generalised_cone = IfcBSplineSurfaceForm.GENERALISED_CONE +quadric_surf = IfcBSplineSurfaceForm.QUADRIC_SURF +surf_of_linear_extrusion = IfcBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION +unspecified = IfcBSplineSurfaceForm.UNSPECIFIED IfcBeamTypeEnum = enum_namespace() -beam = express_getattr(IfcBeamTypeEnum, 'BEAM', INDETERMINATE) -joist = express_getattr(IfcBeamTypeEnum, 'JOIST', INDETERMINATE) -hollowcore = express_getattr(IfcBeamTypeEnum, 'HOLLOWCORE', INDETERMINATE) -lintel = express_getattr(IfcBeamTypeEnum, 'LINTEL', INDETERMINATE) -spandrel = express_getattr(IfcBeamTypeEnum, 'SPANDREL', INDETERMINATE) -t_beam = express_getattr(IfcBeamTypeEnum, 'T_BEAM', INDETERMINATE) -userdefined = express_getattr(IfcBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +beam = IfcBeamTypeEnum.BEAM +joist = IfcBeamTypeEnum.JOIST +hollowcore = IfcBeamTypeEnum.HOLLOWCORE +lintel = IfcBeamTypeEnum.LINTEL +spandrel = IfcBeamTypeEnum.SPANDREL +t_beam = IfcBeamTypeEnum.T_BEAM +userdefined = IfcBeamTypeEnum.USERDEFINED +notdefined = IfcBeamTypeEnum.NOTDEFINED IfcBenchmarkEnum = enum_namespace() -greaterthan = express_getattr(IfcBenchmarkEnum, 'GREATERTHAN', INDETERMINATE) -greaterthanorequalto = express_getattr(IfcBenchmarkEnum, 'GREATERTHANOREQUALTO', INDETERMINATE) -lessthan = express_getattr(IfcBenchmarkEnum, 'LESSTHAN', INDETERMINATE) -lessthanorequalto = express_getattr(IfcBenchmarkEnum, 'LESSTHANOREQUALTO', INDETERMINATE) -equalto = express_getattr(IfcBenchmarkEnum, 'EQUALTO', INDETERMINATE) -notequalto = express_getattr(IfcBenchmarkEnum, 'NOTEQUALTO', INDETERMINATE) -includes = express_getattr(IfcBenchmarkEnum, 'INCLUDES', INDETERMINATE) -notincludes = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDES', INDETERMINATE) -includedin = express_getattr(IfcBenchmarkEnum, 'INCLUDEDIN', INDETERMINATE) -notincludedin = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDEDIN', INDETERMINATE) +greaterthan = IfcBenchmarkEnum.GREATERTHAN +greaterthanorequalto = IfcBenchmarkEnum.GREATERTHANOREQUALTO +lessthan = IfcBenchmarkEnum.LESSTHAN +lessthanorequalto = IfcBenchmarkEnum.LESSTHANOREQUALTO +equalto = IfcBenchmarkEnum.EQUALTO +notequalto = IfcBenchmarkEnum.NOTEQUALTO +includes = IfcBenchmarkEnum.INCLUDES +notincludes = IfcBenchmarkEnum.NOTINCLUDES +includedin = IfcBenchmarkEnum.INCLUDEDIN +notincludedin = IfcBenchmarkEnum.NOTINCLUDEDIN IfcBoilerTypeEnum = enum_namespace() -water = express_getattr(IfcBoilerTypeEnum, 'WATER', INDETERMINATE) -steam = express_getattr(IfcBoilerTypeEnum, 'STEAM', INDETERMINATE) -userdefined = express_getattr(IfcBoilerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBoilerTypeEnum, 'NOTDEFINED', INDETERMINATE) +water = IfcBoilerTypeEnum.WATER +steam = IfcBoilerTypeEnum.STEAM +userdefined = IfcBoilerTypeEnum.USERDEFINED +notdefined = IfcBoilerTypeEnum.NOTDEFINED IfcBooleanOperator = enum_namespace() -union = express_getattr(IfcBooleanOperator, 'UNION', INDETERMINATE) -intersection = express_getattr(IfcBooleanOperator, 'INTERSECTION', INDETERMINATE) -difference = express_getattr(IfcBooleanOperator, 'DIFFERENCE', INDETERMINATE) +union = IfcBooleanOperator.UNION +intersection = IfcBooleanOperator.INTERSECTION +difference = IfcBooleanOperator.DIFFERENCE IfcBuildingElementPartTypeEnum = enum_namespace() -insulation = express_getattr(IfcBuildingElementPartTypeEnum, 'INSULATION', INDETERMINATE) -precastpanel = express_getattr(IfcBuildingElementPartTypeEnum, 'PRECASTPANEL', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +insulation = IfcBuildingElementPartTypeEnum.INSULATION +precastpanel = IfcBuildingElementPartTypeEnum.PRECASTPANEL +userdefined = IfcBuildingElementPartTypeEnum.USERDEFINED +notdefined = IfcBuildingElementPartTypeEnum.NOTDEFINED IfcBuildingElementProxyTypeEnum = enum_namespace() -complex = express_getattr(IfcBuildingElementProxyTypeEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcBuildingElementProxyTypeEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcBuildingElementProxyTypeEnum, 'PARTIAL', INDETERMINATE) -provisionforvoid = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORVOID', INDETERMINATE) -provisionforspace = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORSPACE', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'NOTDEFINED', INDETERMINATE) +complex = IfcBuildingElementProxyTypeEnum.COMPLEX +element = IfcBuildingElementProxyTypeEnum.ELEMENT +partial = IfcBuildingElementProxyTypeEnum.PARTIAL +provisionforvoid = IfcBuildingElementProxyTypeEnum.PROVISIONFORVOID +provisionforspace = IfcBuildingElementProxyTypeEnum.PROVISIONFORSPACE +userdefined = IfcBuildingElementProxyTypeEnum.USERDEFINED +notdefined = IfcBuildingElementProxyTypeEnum.NOTDEFINED IfcBuildingSystemTypeEnum = enum_namespace() -fenestration = express_getattr(IfcBuildingSystemTypeEnum, 'FENESTRATION', INDETERMINATE) -foundation = express_getattr(IfcBuildingSystemTypeEnum, 'FOUNDATION', INDETERMINATE) -loadbearing = express_getattr(IfcBuildingSystemTypeEnum, 'LOADBEARING', INDETERMINATE) -outershell = express_getattr(IfcBuildingSystemTypeEnum, 'OUTERSHELL', INDETERMINATE) -shading = express_getattr(IfcBuildingSystemTypeEnum, 'SHADING', INDETERMINATE) -transport = express_getattr(IfcBuildingSystemTypeEnum, 'TRANSPORT', INDETERMINATE) -userdefined = express_getattr(IfcBuildingSystemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingSystemTypeEnum, 'NOTDEFINED', INDETERMINATE) +fenestration = IfcBuildingSystemTypeEnum.FENESTRATION +foundation = IfcBuildingSystemTypeEnum.FOUNDATION +loadbearing = IfcBuildingSystemTypeEnum.LOADBEARING +outershell = IfcBuildingSystemTypeEnum.OUTERSHELL +shading = IfcBuildingSystemTypeEnum.SHADING +transport = IfcBuildingSystemTypeEnum.TRANSPORT +userdefined = IfcBuildingSystemTypeEnum.USERDEFINED +notdefined = IfcBuildingSystemTypeEnum.NOTDEFINED IfcBurnerTypeEnum = enum_namespace() -userdefined = express_getattr(IfcBurnerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBurnerTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcBurnerTypeEnum.USERDEFINED +notdefined = IfcBurnerTypeEnum.NOTDEFINED IfcCableCarrierFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcCableCarrierFittingTypeEnum, 'BEND', INDETERMINATE) -cross = express_getattr(IfcCableCarrierFittingTypeEnum, 'CROSS', INDETERMINATE) -reducer = express_getattr(IfcCableCarrierFittingTypeEnum, 'REDUCER', INDETERMINATE) -tee = express_getattr(IfcCableCarrierFittingTypeEnum, 'TEE', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcCableCarrierFittingTypeEnum.BEND +cross = IfcCableCarrierFittingTypeEnum.CROSS +reducer = IfcCableCarrierFittingTypeEnum.REDUCER +tee = IfcCableCarrierFittingTypeEnum.TEE +userdefined = IfcCableCarrierFittingTypeEnum.USERDEFINED +notdefined = IfcCableCarrierFittingTypeEnum.NOTDEFINED IfcCableCarrierSegmentTypeEnum = enum_namespace() -cableladdersegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLELADDERSEGMENT', INDETERMINATE) -cabletraysegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRAYSEGMENT', INDETERMINATE) -cabletrunkingsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRUNKINGSEGMENT', INDETERMINATE) -conduitsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CONDUITSEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +cableladdersegment = IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT +cabletraysegment = IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT +cabletrunkingsegment = IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT +conduitsegment = IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT +userdefined = IfcCableCarrierSegmentTypeEnum.USERDEFINED +notdefined = IfcCableCarrierSegmentTypeEnum.NOTDEFINED IfcCableFittingTypeEnum = enum_namespace() -connector = express_getattr(IfcCableFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcCableFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcCableFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcCableFittingTypeEnum, 'JUNCTION', INDETERMINATE) -transition = express_getattr(IfcCableFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcCableFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +connector = IfcCableFittingTypeEnum.CONNECTOR +entry = IfcCableFittingTypeEnum.ENTRY +exit = IfcCableFittingTypeEnum.EXIT +junction = IfcCableFittingTypeEnum.JUNCTION +transition = IfcCableFittingTypeEnum.TRANSITION +userdefined = IfcCableFittingTypeEnum.USERDEFINED +notdefined = IfcCableFittingTypeEnum.NOTDEFINED IfcCableSegmentTypeEnum = enum_namespace() -busbarsegment = express_getattr(IfcCableSegmentTypeEnum, 'BUSBARSEGMENT', INDETERMINATE) -cablesegment = express_getattr(IfcCableSegmentTypeEnum, 'CABLESEGMENT', INDETERMINATE) -conductorsegment = express_getattr(IfcCableSegmentTypeEnum, 'CONDUCTORSEGMENT', INDETERMINATE) -coresegment = express_getattr(IfcCableSegmentTypeEnum, 'CORESEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcCableSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +busbarsegment = IfcCableSegmentTypeEnum.BUSBARSEGMENT +cablesegment = IfcCableSegmentTypeEnum.CABLESEGMENT +conductorsegment = IfcCableSegmentTypeEnum.CONDUCTORSEGMENT +coresegment = IfcCableSegmentTypeEnum.CORESEGMENT +userdefined = IfcCableSegmentTypeEnum.USERDEFINED +notdefined = IfcCableSegmentTypeEnum.NOTDEFINED IfcChangeActionEnum = enum_namespace() -nochange = express_getattr(IfcChangeActionEnum, 'NOCHANGE', INDETERMINATE) -modified = express_getattr(IfcChangeActionEnum, 'MODIFIED', INDETERMINATE) -added = express_getattr(IfcChangeActionEnum, 'ADDED', INDETERMINATE) -deleted = express_getattr(IfcChangeActionEnum, 'DELETED', INDETERMINATE) -notdefined = express_getattr(IfcChangeActionEnum, 'NOTDEFINED', INDETERMINATE) +nochange = IfcChangeActionEnum.NOCHANGE +modified = IfcChangeActionEnum.MODIFIED +added = IfcChangeActionEnum.ADDED +deleted = IfcChangeActionEnum.DELETED +notdefined = IfcChangeActionEnum.NOTDEFINED IfcChillerTypeEnum = enum_namespace() -aircooled = express_getattr(IfcChillerTypeEnum, 'AIRCOOLED', INDETERMINATE) -watercooled = express_getattr(IfcChillerTypeEnum, 'WATERCOOLED', INDETERMINATE) -heatrecovery = express_getattr(IfcChillerTypeEnum, 'HEATRECOVERY', INDETERMINATE) -userdefined = express_getattr(IfcChillerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChillerTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcChillerTypeEnum.AIRCOOLED +watercooled = IfcChillerTypeEnum.WATERCOOLED +heatrecovery = IfcChillerTypeEnum.HEATRECOVERY +userdefined = IfcChillerTypeEnum.USERDEFINED +notdefined = IfcChillerTypeEnum.NOTDEFINED IfcChimneyTypeEnum = enum_namespace() -userdefined = express_getattr(IfcChimneyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChimneyTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcChimneyTypeEnum.USERDEFINED +notdefined = IfcChimneyTypeEnum.NOTDEFINED IfcCoilTypeEnum = enum_namespace() -dxcoolingcoil = express_getattr(IfcCoilTypeEnum, 'DXCOOLINGCOIL', INDETERMINATE) -electricheatingcoil = express_getattr(IfcCoilTypeEnum, 'ELECTRICHEATINGCOIL', INDETERMINATE) -gasheatingcoil = express_getattr(IfcCoilTypeEnum, 'GASHEATINGCOIL', INDETERMINATE) -hydroniccoil = express_getattr(IfcCoilTypeEnum, 'HYDRONICCOIL', INDETERMINATE) -steamheatingcoil = express_getattr(IfcCoilTypeEnum, 'STEAMHEATINGCOIL', INDETERMINATE) -watercoolingcoil = express_getattr(IfcCoilTypeEnum, 'WATERCOOLINGCOIL', INDETERMINATE) -waterheatingcoil = express_getattr(IfcCoilTypeEnum, 'WATERHEATINGCOIL', INDETERMINATE) -userdefined = express_getattr(IfcCoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +dxcoolingcoil = IfcCoilTypeEnum.DXCOOLINGCOIL +electricheatingcoil = IfcCoilTypeEnum.ELECTRICHEATINGCOIL +gasheatingcoil = IfcCoilTypeEnum.GASHEATINGCOIL +hydroniccoil = IfcCoilTypeEnum.HYDRONICCOIL +steamheatingcoil = IfcCoilTypeEnum.STEAMHEATINGCOIL +watercoolingcoil = IfcCoilTypeEnum.WATERCOOLINGCOIL +waterheatingcoil = IfcCoilTypeEnum.WATERHEATINGCOIL +userdefined = IfcCoilTypeEnum.USERDEFINED +notdefined = IfcCoilTypeEnum.NOTDEFINED IfcColumnTypeEnum = enum_namespace() -column = express_getattr(IfcColumnTypeEnum, 'COLUMN', INDETERMINATE) -pilaster = express_getattr(IfcColumnTypeEnum, 'PILASTER', INDETERMINATE) -userdefined = express_getattr(IfcColumnTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcColumnTypeEnum, 'NOTDEFINED', INDETERMINATE) +column = IfcColumnTypeEnum.COLUMN +pilaster = IfcColumnTypeEnum.PILASTER +userdefined = IfcColumnTypeEnum.USERDEFINED +notdefined = IfcColumnTypeEnum.NOTDEFINED IfcCommunicationsApplianceTypeEnum = enum_namespace() -antenna = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ANTENNA', INDETERMINATE) -computer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'COMPUTER', INDETERMINATE) -fax = express_getattr(IfcCommunicationsApplianceTypeEnum, 'FAX', INDETERMINATE) -gateway = express_getattr(IfcCommunicationsApplianceTypeEnum, 'GATEWAY', INDETERMINATE) -modem = express_getattr(IfcCommunicationsApplianceTypeEnum, 'MODEM', INDETERMINATE) -networkappliance = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKAPPLIANCE', INDETERMINATE) -networkbridge = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKBRIDGE', INDETERMINATE) -networkhub = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKHUB', INDETERMINATE) -printer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'PRINTER', INDETERMINATE) -repeater = express_getattr(IfcCommunicationsApplianceTypeEnum, 'REPEATER', INDETERMINATE) -router = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ROUTER', INDETERMINATE) -scanner = express_getattr(IfcCommunicationsApplianceTypeEnum, 'SCANNER', INDETERMINATE) -userdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +antenna = IfcCommunicationsApplianceTypeEnum.ANTENNA +computer = IfcCommunicationsApplianceTypeEnum.COMPUTER +fax = IfcCommunicationsApplianceTypeEnum.FAX +gateway = IfcCommunicationsApplianceTypeEnum.GATEWAY +modem = IfcCommunicationsApplianceTypeEnum.MODEM +networkappliance = IfcCommunicationsApplianceTypeEnum.NETWORKAPPLIANCE +networkbridge = IfcCommunicationsApplianceTypeEnum.NETWORKBRIDGE +networkhub = IfcCommunicationsApplianceTypeEnum.NETWORKHUB +printer = IfcCommunicationsApplianceTypeEnum.PRINTER +repeater = IfcCommunicationsApplianceTypeEnum.REPEATER +router = IfcCommunicationsApplianceTypeEnum.ROUTER +scanner = IfcCommunicationsApplianceTypeEnum.SCANNER +userdefined = IfcCommunicationsApplianceTypeEnum.USERDEFINED +notdefined = IfcCommunicationsApplianceTypeEnum.NOTDEFINED IfcComplexPropertyTemplateTypeEnum = enum_namespace() -p_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'P_COMPLEX', INDETERMINATE) -q_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'Q_COMPLEX', INDETERMINATE) +p_complex = IfcComplexPropertyTemplateTypeEnum.P_COMPLEX +q_complex = IfcComplexPropertyTemplateTypeEnum.Q_COMPLEX IfcCompressorTypeEnum = enum_namespace() -dynamic = express_getattr(IfcCompressorTypeEnum, 'DYNAMIC', INDETERMINATE) -reciprocating = express_getattr(IfcCompressorTypeEnum, 'RECIPROCATING', INDETERMINATE) -rotary = express_getattr(IfcCompressorTypeEnum, 'ROTARY', INDETERMINATE) -scroll = express_getattr(IfcCompressorTypeEnum, 'SCROLL', INDETERMINATE) -trochoidal = express_getattr(IfcCompressorTypeEnum, 'TROCHOIDAL', INDETERMINATE) -singlestage = express_getattr(IfcCompressorTypeEnum, 'SINGLESTAGE', INDETERMINATE) -booster = express_getattr(IfcCompressorTypeEnum, 'BOOSTER', INDETERMINATE) -opentype = express_getattr(IfcCompressorTypeEnum, 'OPENTYPE', INDETERMINATE) -hermetic = express_getattr(IfcCompressorTypeEnum, 'HERMETIC', INDETERMINATE) -semihermetic = express_getattr(IfcCompressorTypeEnum, 'SEMIHERMETIC', INDETERMINATE) -weldedshellhermetic = express_getattr(IfcCompressorTypeEnum, 'WELDEDSHELLHERMETIC', INDETERMINATE) -rollingpiston = express_getattr(IfcCompressorTypeEnum, 'ROLLINGPISTON', INDETERMINATE) -rotaryvane = express_getattr(IfcCompressorTypeEnum, 'ROTARYVANE', INDETERMINATE) -singlescrew = express_getattr(IfcCompressorTypeEnum, 'SINGLESCREW', INDETERMINATE) -twinscrew = express_getattr(IfcCompressorTypeEnum, 'TWINSCREW', INDETERMINATE) -userdefined = express_getattr(IfcCompressorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCompressorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dynamic = IfcCompressorTypeEnum.DYNAMIC +reciprocating = IfcCompressorTypeEnum.RECIPROCATING +rotary = IfcCompressorTypeEnum.ROTARY +scroll = IfcCompressorTypeEnum.SCROLL +trochoidal = IfcCompressorTypeEnum.TROCHOIDAL +singlestage = IfcCompressorTypeEnum.SINGLESTAGE +booster = IfcCompressorTypeEnum.BOOSTER +opentype = IfcCompressorTypeEnum.OPENTYPE +hermetic = IfcCompressorTypeEnum.HERMETIC +semihermetic = IfcCompressorTypeEnum.SEMIHERMETIC +weldedshellhermetic = IfcCompressorTypeEnum.WELDEDSHELLHERMETIC +rollingpiston = IfcCompressorTypeEnum.ROLLINGPISTON +rotaryvane = IfcCompressorTypeEnum.ROTARYVANE +singlescrew = IfcCompressorTypeEnum.SINGLESCREW +twinscrew = IfcCompressorTypeEnum.TWINSCREW +userdefined = IfcCompressorTypeEnum.USERDEFINED +notdefined = IfcCompressorTypeEnum.NOTDEFINED IfcCondenserTypeEnum = enum_namespace() -aircooled = express_getattr(IfcCondenserTypeEnum, 'AIRCOOLED', INDETERMINATE) -evaporativecooled = express_getattr(IfcCondenserTypeEnum, 'EVAPORATIVECOOLED', INDETERMINATE) -watercooled = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLED', INDETERMINATE) -watercooledbrazedplate = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDBRAZEDPLATE', INDETERMINATE) -watercooledshellcoil = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLCOIL', INDETERMINATE) -watercooledshelltube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLTUBE', INDETERMINATE) -watercooledtubeintube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDTUBEINTUBE', INDETERMINATE) -userdefined = express_getattr(IfcCondenserTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCondenserTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcCondenserTypeEnum.AIRCOOLED +evaporativecooled = IfcCondenserTypeEnum.EVAPORATIVECOOLED +watercooled = IfcCondenserTypeEnum.WATERCOOLED +watercooledbrazedplate = IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE +watercooledshellcoil = IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL +watercooledshelltube = IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE +watercooledtubeintube = IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE +userdefined = IfcCondenserTypeEnum.USERDEFINED +notdefined = IfcCondenserTypeEnum.NOTDEFINED IfcConnectionTypeEnum = enum_namespace() -atpath = express_getattr(IfcConnectionTypeEnum, 'ATPATH', INDETERMINATE) -atstart = express_getattr(IfcConnectionTypeEnum, 'ATSTART', INDETERMINATE) -atend = express_getattr(IfcConnectionTypeEnum, 'ATEND', INDETERMINATE) -notdefined = express_getattr(IfcConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +atpath = IfcConnectionTypeEnum.ATPATH +atstart = IfcConnectionTypeEnum.ATSTART +atend = IfcConnectionTypeEnum.ATEND +notdefined = IfcConnectionTypeEnum.NOTDEFINED IfcConstraintEnum = enum_namespace() -hard = express_getattr(IfcConstraintEnum, 'HARD', INDETERMINATE) -soft = express_getattr(IfcConstraintEnum, 'SOFT', INDETERMINATE) -advisory = express_getattr(IfcConstraintEnum, 'ADVISORY', INDETERMINATE) -userdefined = express_getattr(IfcConstraintEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstraintEnum, 'NOTDEFINED', INDETERMINATE) +hard = IfcConstraintEnum.HARD +soft = IfcConstraintEnum.SOFT +advisory = IfcConstraintEnum.ADVISORY +userdefined = IfcConstraintEnum.USERDEFINED +notdefined = IfcConstraintEnum.NOTDEFINED IfcConstructionEquipmentResourceTypeEnum = enum_namespace() -demolishing = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'DEMOLISHING', INDETERMINATE) -earthmoving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'EARTHMOVING', INDETERMINATE) -erecting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'ERECTING', INDETERMINATE) -heating = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'LIGHTING', INDETERMINATE) -paving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PAVING', INDETERMINATE) -pumping = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PUMPING', INDETERMINATE) -transporting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'TRANSPORTING', INDETERMINATE) -userdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +demolishing = IfcConstructionEquipmentResourceTypeEnum.DEMOLISHING +earthmoving = IfcConstructionEquipmentResourceTypeEnum.EARTHMOVING +erecting = IfcConstructionEquipmentResourceTypeEnum.ERECTING +heating = IfcConstructionEquipmentResourceTypeEnum.HEATING +lighting = IfcConstructionEquipmentResourceTypeEnum.LIGHTING +paving = IfcConstructionEquipmentResourceTypeEnum.PAVING +pumping = IfcConstructionEquipmentResourceTypeEnum.PUMPING +transporting = IfcConstructionEquipmentResourceTypeEnum.TRANSPORTING +userdefined = IfcConstructionEquipmentResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionEquipmentResourceTypeEnum.NOTDEFINED IfcConstructionMaterialResourceTypeEnum = enum_namespace() -aggregates = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'AGGREGATES', INDETERMINATE) -concrete = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'DRYWALL', INDETERMINATE) -fuel = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'FUEL', INDETERMINATE) -gypsum = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'GYPSUM', INDETERMINATE) -masonry = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'MASONRY', INDETERMINATE) -metal = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'METAL', INDETERMINATE) -plastic = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'PLASTIC', INDETERMINATE) -wood = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'WOOD', INDETERMINATE) -notdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) -userdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'USERDEFINED', INDETERMINATE) +aggregates = IfcConstructionMaterialResourceTypeEnum.AGGREGATES +concrete = IfcConstructionMaterialResourceTypeEnum.CONCRETE +drywall = IfcConstructionMaterialResourceTypeEnum.DRYWALL +fuel = IfcConstructionMaterialResourceTypeEnum.FUEL +gypsum = IfcConstructionMaterialResourceTypeEnum.GYPSUM +masonry = IfcConstructionMaterialResourceTypeEnum.MASONRY +metal = IfcConstructionMaterialResourceTypeEnum.METAL +plastic = IfcConstructionMaterialResourceTypeEnum.PLASTIC +wood = IfcConstructionMaterialResourceTypeEnum.WOOD +notdefined = IfcConstructionMaterialResourceTypeEnum.NOTDEFINED +userdefined = IfcConstructionMaterialResourceTypeEnum.USERDEFINED IfcConstructionProductResourceTypeEnum = enum_namespace() -assembly = express_getattr(IfcConstructionProductResourceTypeEnum, 'ASSEMBLY', INDETERMINATE) -formwork = express_getattr(IfcConstructionProductResourceTypeEnum, 'FORMWORK', INDETERMINATE) -userdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +assembly = IfcConstructionProductResourceTypeEnum.ASSEMBLY +formwork = IfcConstructionProductResourceTypeEnum.FORMWORK +userdefined = IfcConstructionProductResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionProductResourceTypeEnum.NOTDEFINED IfcControllerTypeEnum = enum_namespace() -floating = express_getattr(IfcControllerTypeEnum, 'FLOATING', INDETERMINATE) -programmable = express_getattr(IfcControllerTypeEnum, 'PROGRAMMABLE', INDETERMINATE) -proportional = express_getattr(IfcControllerTypeEnum, 'PROPORTIONAL', INDETERMINATE) -multiposition = express_getattr(IfcControllerTypeEnum, 'MULTIPOSITION', INDETERMINATE) -twoposition = express_getattr(IfcControllerTypeEnum, 'TWOPOSITION', INDETERMINATE) -userdefined = express_getattr(IfcControllerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcControllerTypeEnum, 'NOTDEFINED', INDETERMINATE) +floating = IfcControllerTypeEnum.FLOATING +programmable = IfcControllerTypeEnum.PROGRAMMABLE +proportional = IfcControllerTypeEnum.PROPORTIONAL +multiposition = IfcControllerTypeEnum.MULTIPOSITION +twoposition = IfcControllerTypeEnum.TWOPOSITION +userdefined = IfcControllerTypeEnum.USERDEFINED +notdefined = IfcControllerTypeEnum.NOTDEFINED IfcCooledBeamTypeEnum = enum_namespace() -active = express_getattr(IfcCooledBeamTypeEnum, 'ACTIVE', INDETERMINATE) -passive = express_getattr(IfcCooledBeamTypeEnum, 'PASSIVE', INDETERMINATE) -userdefined = express_getattr(IfcCooledBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCooledBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +active = IfcCooledBeamTypeEnum.ACTIVE +passive = IfcCooledBeamTypeEnum.PASSIVE +userdefined = IfcCooledBeamTypeEnum.USERDEFINED +notdefined = IfcCooledBeamTypeEnum.NOTDEFINED IfcCoolingTowerTypeEnum = enum_namespace() -naturaldraft = express_getattr(IfcCoolingTowerTypeEnum, 'NATURALDRAFT', INDETERMINATE) -mechanicalinduceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALINDUCEDDRAFT', INDETERMINATE) -mechanicalforceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALFORCEDDRAFT', INDETERMINATE) -userdefined = express_getattr(IfcCoolingTowerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoolingTowerTypeEnum, 'NOTDEFINED', INDETERMINATE) +naturaldraft = IfcCoolingTowerTypeEnum.NATURALDRAFT +mechanicalinduceddraft = IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT +mechanicalforceddraft = IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT +userdefined = IfcCoolingTowerTypeEnum.USERDEFINED +notdefined = IfcCoolingTowerTypeEnum.NOTDEFINED IfcCostItemTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCostItemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostItemTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCostItemTypeEnum.USERDEFINED +notdefined = IfcCostItemTypeEnum.NOTDEFINED IfcCostScheduleTypeEnum = enum_namespace() -budget = express_getattr(IfcCostScheduleTypeEnum, 'BUDGET', INDETERMINATE) -costplan = express_getattr(IfcCostScheduleTypeEnum, 'COSTPLAN', INDETERMINATE) -estimate = express_getattr(IfcCostScheduleTypeEnum, 'ESTIMATE', INDETERMINATE) -tender = express_getattr(IfcCostScheduleTypeEnum, 'TENDER', INDETERMINATE) -pricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'PRICEDBILLOFQUANTITIES', INDETERMINATE) -unpricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'UNPRICEDBILLOFQUANTITIES', INDETERMINATE) -scheduleofrates = express_getattr(IfcCostScheduleTypeEnum, 'SCHEDULEOFRATES', INDETERMINATE) -userdefined = express_getattr(IfcCostScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +budget = IfcCostScheduleTypeEnum.BUDGET +costplan = IfcCostScheduleTypeEnum.COSTPLAN +estimate = IfcCostScheduleTypeEnum.ESTIMATE +tender = IfcCostScheduleTypeEnum.TENDER +pricedbillofquantities = IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES +unpricedbillofquantities = IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES +scheduleofrates = IfcCostScheduleTypeEnum.SCHEDULEOFRATES +userdefined = IfcCostScheduleTypeEnum.USERDEFINED +notdefined = IfcCostScheduleTypeEnum.NOTDEFINED IfcCoveringTypeEnum = enum_namespace() -ceiling = express_getattr(IfcCoveringTypeEnum, 'CEILING', INDETERMINATE) -flooring = express_getattr(IfcCoveringTypeEnum, 'FLOORING', INDETERMINATE) -cladding = express_getattr(IfcCoveringTypeEnum, 'CLADDING', INDETERMINATE) -roofing = express_getattr(IfcCoveringTypeEnum, 'ROOFING', INDETERMINATE) -molding = express_getattr(IfcCoveringTypeEnum, 'MOLDING', INDETERMINATE) -skirtingboard = express_getattr(IfcCoveringTypeEnum, 'SKIRTINGBOARD', INDETERMINATE) -insulation = express_getattr(IfcCoveringTypeEnum, 'INSULATION', INDETERMINATE) -membrane = express_getattr(IfcCoveringTypeEnum, 'MEMBRANE', INDETERMINATE) -sleeving = express_getattr(IfcCoveringTypeEnum, 'SLEEVING', INDETERMINATE) -wrapping = express_getattr(IfcCoveringTypeEnum, 'WRAPPING', INDETERMINATE) -userdefined = express_getattr(IfcCoveringTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoveringTypeEnum, 'NOTDEFINED', INDETERMINATE) +ceiling = IfcCoveringTypeEnum.CEILING +flooring = IfcCoveringTypeEnum.FLOORING +cladding = IfcCoveringTypeEnum.CLADDING +roofing = IfcCoveringTypeEnum.ROOFING +molding = IfcCoveringTypeEnum.MOLDING +skirtingboard = IfcCoveringTypeEnum.SKIRTINGBOARD +insulation = IfcCoveringTypeEnum.INSULATION +membrane = IfcCoveringTypeEnum.MEMBRANE +sleeving = IfcCoveringTypeEnum.SLEEVING +wrapping = IfcCoveringTypeEnum.WRAPPING +userdefined = IfcCoveringTypeEnum.USERDEFINED +notdefined = IfcCoveringTypeEnum.NOTDEFINED IfcCrewResourceTypeEnum = enum_namespace() -office = express_getattr(IfcCrewResourceTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcCrewResourceTypeEnum, 'SITE', INDETERMINATE) -userdefined = express_getattr(IfcCrewResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCrewResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +office = IfcCrewResourceTypeEnum.OFFICE +site = IfcCrewResourceTypeEnum.SITE +userdefined = IfcCrewResourceTypeEnum.USERDEFINED +notdefined = IfcCrewResourceTypeEnum.NOTDEFINED IfcCurtainWallTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCurtainWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCurtainWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCurtainWallTypeEnum.USERDEFINED +notdefined = IfcCurtainWallTypeEnum.NOTDEFINED IfcCurveInterpolationEnum = enum_namespace() -linear = express_getattr(IfcCurveInterpolationEnum, 'LINEAR', INDETERMINATE) -log_linear = express_getattr(IfcCurveInterpolationEnum, 'LOG_LINEAR', INDETERMINATE) -log_log = express_getattr(IfcCurveInterpolationEnum, 'LOG_LOG', INDETERMINATE) -notdefined = express_getattr(IfcCurveInterpolationEnum, 'NOTDEFINED', INDETERMINATE) +linear = IfcCurveInterpolationEnum.LINEAR +log_linear = IfcCurveInterpolationEnum.LOG_LINEAR +log_log = IfcCurveInterpolationEnum.LOG_LOG +notdefined = IfcCurveInterpolationEnum.NOTDEFINED IfcDamperTypeEnum = enum_namespace() -backdraftdamper = express_getattr(IfcDamperTypeEnum, 'BACKDRAFTDAMPER', INDETERMINATE) -balancingdamper = express_getattr(IfcDamperTypeEnum, 'BALANCINGDAMPER', INDETERMINATE) -blastdamper = express_getattr(IfcDamperTypeEnum, 'BLASTDAMPER', INDETERMINATE) -controldamper = express_getattr(IfcDamperTypeEnum, 'CONTROLDAMPER', INDETERMINATE) -firedamper = express_getattr(IfcDamperTypeEnum, 'FIREDAMPER', INDETERMINATE) -firesmokedamper = express_getattr(IfcDamperTypeEnum, 'FIRESMOKEDAMPER', INDETERMINATE) -fumehoodexhaust = express_getattr(IfcDamperTypeEnum, 'FUMEHOODEXHAUST', INDETERMINATE) -gravitydamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYDAMPER', INDETERMINATE) -gravityreliefdamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYRELIEFDAMPER', INDETERMINATE) -reliefdamper = express_getattr(IfcDamperTypeEnum, 'RELIEFDAMPER', INDETERMINATE) -smokedamper = express_getattr(IfcDamperTypeEnum, 'SMOKEDAMPER', INDETERMINATE) -userdefined = express_getattr(IfcDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +backdraftdamper = IfcDamperTypeEnum.BACKDRAFTDAMPER +balancingdamper = IfcDamperTypeEnum.BALANCINGDAMPER +blastdamper = IfcDamperTypeEnum.BLASTDAMPER +controldamper = IfcDamperTypeEnum.CONTROLDAMPER +firedamper = IfcDamperTypeEnum.FIREDAMPER +firesmokedamper = IfcDamperTypeEnum.FIRESMOKEDAMPER +fumehoodexhaust = IfcDamperTypeEnum.FUMEHOODEXHAUST +gravitydamper = IfcDamperTypeEnum.GRAVITYDAMPER +gravityreliefdamper = IfcDamperTypeEnum.GRAVITYRELIEFDAMPER +reliefdamper = IfcDamperTypeEnum.RELIEFDAMPER +smokedamper = IfcDamperTypeEnum.SMOKEDAMPER +userdefined = IfcDamperTypeEnum.USERDEFINED +notdefined = IfcDamperTypeEnum.NOTDEFINED IfcDataOriginEnum = enum_namespace() -measured = express_getattr(IfcDataOriginEnum, 'MEASURED', INDETERMINATE) -predicted = express_getattr(IfcDataOriginEnum, 'PREDICTED', INDETERMINATE) -simulated = express_getattr(IfcDataOriginEnum, 'SIMULATED', INDETERMINATE) -userdefined = express_getattr(IfcDataOriginEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDataOriginEnum, 'NOTDEFINED', INDETERMINATE) +measured = IfcDataOriginEnum.MEASURED +predicted = IfcDataOriginEnum.PREDICTED +simulated = IfcDataOriginEnum.SIMULATED +userdefined = IfcDataOriginEnum.USERDEFINED +notdefined = IfcDataOriginEnum.NOTDEFINED IfcDerivedUnitEnum = enum_namespace() -angularvelocityunit = express_getattr(IfcDerivedUnitEnum, 'ANGULARVELOCITYUNIT', INDETERMINATE) -areadensityunit = express_getattr(IfcDerivedUnitEnum, 'AREADENSITYUNIT', INDETERMINATE) -compoundplaneangleunit = express_getattr(IfcDerivedUnitEnum, 'COMPOUNDPLANEANGLEUNIT', INDETERMINATE) -dynamicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'DYNAMICVISCOSITYUNIT', INDETERMINATE) -heatfluxdensityunit = express_getattr(IfcDerivedUnitEnum, 'HEATFLUXDENSITYUNIT', INDETERMINATE) -integercountrateunit = express_getattr(IfcDerivedUnitEnum, 'INTEGERCOUNTRATEUNIT', INDETERMINATE) -isothermalmoisturecapacityunit = express_getattr(IfcDerivedUnitEnum, 'ISOTHERMALMOISTURECAPACITYUNIT', INDETERMINATE) -kinematicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'KINEMATICVISCOSITYUNIT', INDETERMINATE) -linearvelocityunit = express_getattr(IfcDerivedUnitEnum, 'LINEARVELOCITYUNIT', INDETERMINATE) -massdensityunit = express_getattr(IfcDerivedUnitEnum, 'MASSDENSITYUNIT', INDETERMINATE) -massflowrateunit = express_getattr(IfcDerivedUnitEnum, 'MASSFLOWRATEUNIT', INDETERMINATE) -moisturediffusivityunit = express_getattr(IfcDerivedUnitEnum, 'MOISTUREDIFFUSIVITYUNIT', INDETERMINATE) -molecularweightunit = express_getattr(IfcDerivedUnitEnum, 'MOLECULARWEIGHTUNIT', INDETERMINATE) -specificheatcapacityunit = express_getattr(IfcDerivedUnitEnum, 'SPECIFICHEATCAPACITYUNIT', INDETERMINATE) -thermaladmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALADMITTANCEUNIT', INDETERMINATE) -thermalconductanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALCONDUCTANCEUNIT', INDETERMINATE) -thermalresistanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALRESISTANCEUNIT', INDETERMINATE) -thermaltransmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALTRANSMITTANCEUNIT', INDETERMINATE) -vaporpermeabilityunit = express_getattr(IfcDerivedUnitEnum, 'VAPORPERMEABILITYUNIT', INDETERMINATE) -volumetricflowrateunit = express_getattr(IfcDerivedUnitEnum, 'VOLUMETRICFLOWRATEUNIT', INDETERMINATE) -rotationalfrequencyunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALFREQUENCYUNIT', INDETERMINATE) -torqueunit = express_getattr(IfcDerivedUnitEnum, 'TORQUEUNIT', INDETERMINATE) -momentofinertiaunit = express_getattr(IfcDerivedUnitEnum, 'MOMENTOFINERTIAUNIT', INDETERMINATE) -linearmomentunit = express_getattr(IfcDerivedUnitEnum, 'LINEARMOMENTUNIT', INDETERMINATE) -linearforceunit = express_getattr(IfcDerivedUnitEnum, 'LINEARFORCEUNIT', INDETERMINATE) -planarforceunit = express_getattr(IfcDerivedUnitEnum, 'PLANARFORCEUNIT', INDETERMINATE) -modulusofelasticityunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFELASTICITYUNIT', INDETERMINATE) -shearmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SHEARMODULUSUNIT', INDETERMINATE) -linearstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'LINEARSTIFFNESSUNIT', INDETERMINATE) -rotationalstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALSTIFFNESSUNIT', INDETERMINATE) -modulusofsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFSUBGRADEREACTIONUNIT', INDETERMINATE) -accelerationunit = express_getattr(IfcDerivedUnitEnum, 'ACCELERATIONUNIT', INDETERMINATE) -curvatureunit = express_getattr(IfcDerivedUnitEnum, 'CURVATUREUNIT', INDETERMINATE) -heatingvalueunit = express_getattr(IfcDerivedUnitEnum, 'HEATINGVALUEUNIT', INDETERMINATE) -ionconcentrationunit = express_getattr(IfcDerivedUnitEnum, 'IONCONCENTRATIONUNIT', INDETERMINATE) -luminousintensitydistributionunit = express_getattr(IfcDerivedUnitEnum, 'LUMINOUSINTENSITYDISTRIBUTIONUNIT', INDETERMINATE) -massperlengthunit = express_getattr(IfcDerivedUnitEnum, 'MASSPERLENGTHUNIT', INDETERMINATE) -modulusoflinearsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFLINEARSUBGRADEREACTIONUNIT', INDETERMINATE) -modulusofrotationalsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFROTATIONALSUBGRADEREACTIONUNIT', INDETERMINATE) -phunit = express_getattr(IfcDerivedUnitEnum, 'PHUNIT', INDETERMINATE) -rotationalmassunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALMASSUNIT', INDETERMINATE) -sectionareaintegralunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONAREAINTEGRALUNIT', INDETERMINATE) -sectionmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONMODULUSUNIT', INDETERMINATE) -soundpowerlevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERLEVELUNIT', INDETERMINATE) -soundpowerunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERUNIT', INDETERMINATE) -soundpressurelevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSURELEVELUNIT', INDETERMINATE) -soundpressureunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSUREUNIT', INDETERMINATE) -temperaturegradientunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATUREGRADIENTUNIT', INDETERMINATE) -temperaturerateofchangeunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATURERATEOFCHANGEUNIT', INDETERMINATE) -thermalexpansioncoefficientunit = express_getattr(IfcDerivedUnitEnum, 'THERMALEXPANSIONCOEFFICIENTUNIT', INDETERMINATE) -warpingconstantunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGCONSTANTUNIT', INDETERMINATE) -warpingmomentunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGMOMENTUNIT', INDETERMINATE) -userdefined = express_getattr(IfcDerivedUnitEnum, 'USERDEFINED', INDETERMINATE) +angularvelocityunit = IfcDerivedUnitEnum.ANGULARVELOCITYUNIT +areadensityunit = IfcDerivedUnitEnum.AREADENSITYUNIT +compoundplaneangleunit = IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT +dynamicviscosityunit = IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT +heatfluxdensityunit = IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT +integercountrateunit = IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT +isothermalmoisturecapacityunit = IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT +kinematicviscosityunit = IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT +linearvelocityunit = IfcDerivedUnitEnum.LINEARVELOCITYUNIT +massdensityunit = IfcDerivedUnitEnum.MASSDENSITYUNIT +massflowrateunit = IfcDerivedUnitEnum.MASSFLOWRATEUNIT +moisturediffusivityunit = IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT +molecularweightunit = IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT +specificheatcapacityunit = IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT +thermaladmittanceunit = IfcDerivedUnitEnum.THERMALADMITTANCEUNIT +thermalconductanceunit = IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT +thermalresistanceunit = IfcDerivedUnitEnum.THERMALRESISTANCEUNIT +thermaltransmittanceunit = IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT +vaporpermeabilityunit = IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT +volumetricflowrateunit = IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT +rotationalfrequencyunit = IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT +torqueunit = IfcDerivedUnitEnum.TORQUEUNIT +momentofinertiaunit = IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT +linearmomentunit = IfcDerivedUnitEnum.LINEARMOMENTUNIT +linearforceunit = IfcDerivedUnitEnum.LINEARFORCEUNIT +planarforceunit = IfcDerivedUnitEnum.PLANARFORCEUNIT +modulusofelasticityunit = IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT +shearmodulusunit = IfcDerivedUnitEnum.SHEARMODULUSUNIT +linearstiffnessunit = IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT +rotationalstiffnessunit = IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT +modulusofsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT +accelerationunit = IfcDerivedUnitEnum.ACCELERATIONUNIT +curvatureunit = IfcDerivedUnitEnum.CURVATUREUNIT +heatingvalueunit = IfcDerivedUnitEnum.HEATINGVALUEUNIT +ionconcentrationunit = IfcDerivedUnitEnum.IONCONCENTRATIONUNIT +luminousintensitydistributionunit = IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT +massperlengthunit = IfcDerivedUnitEnum.MASSPERLENGTHUNIT +modulusoflinearsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT +modulusofrotationalsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT +phunit = IfcDerivedUnitEnum.PHUNIT +rotationalmassunit = IfcDerivedUnitEnum.ROTATIONALMASSUNIT +sectionareaintegralunit = IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT +sectionmodulusunit = IfcDerivedUnitEnum.SECTIONMODULUSUNIT +soundpowerlevelunit = IfcDerivedUnitEnum.SOUNDPOWERLEVELUNIT +soundpowerunit = IfcDerivedUnitEnum.SOUNDPOWERUNIT +soundpressurelevelunit = IfcDerivedUnitEnum.SOUNDPRESSURELEVELUNIT +soundpressureunit = IfcDerivedUnitEnum.SOUNDPRESSUREUNIT +temperaturegradientunit = IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT +temperaturerateofchangeunit = IfcDerivedUnitEnum.TEMPERATURERATEOFCHANGEUNIT +thermalexpansioncoefficientunit = IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT +warpingconstantunit = IfcDerivedUnitEnum.WARPINGCONSTANTUNIT +warpingmomentunit = IfcDerivedUnitEnum.WARPINGMOMENTUNIT +userdefined = IfcDerivedUnitEnum.USERDEFINED IfcDirectionSenseEnum = enum_namespace() -positive = express_getattr(IfcDirectionSenseEnum, 'POSITIVE', INDETERMINATE) -negative = express_getattr(IfcDirectionSenseEnum, 'NEGATIVE', INDETERMINATE) +positive = IfcDirectionSenseEnum.POSITIVE +negative = IfcDirectionSenseEnum.NEGATIVE IfcDiscreteAccessoryTypeEnum = enum_namespace() -anchorplate = express_getattr(IfcDiscreteAccessoryTypeEnum, 'ANCHORPLATE', INDETERMINATE) -bracket = express_getattr(IfcDiscreteAccessoryTypeEnum, 'BRACKET', INDETERMINATE) -shoe = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SHOE', INDETERMINATE) -userdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorplate = IfcDiscreteAccessoryTypeEnum.ANCHORPLATE +bracket = IfcDiscreteAccessoryTypeEnum.BRACKET +shoe = IfcDiscreteAccessoryTypeEnum.SHOE +userdefined = IfcDiscreteAccessoryTypeEnum.USERDEFINED +notdefined = IfcDiscreteAccessoryTypeEnum.NOTDEFINED IfcDistributionChamberElementTypeEnum = enum_namespace() -formedduct = express_getattr(IfcDistributionChamberElementTypeEnum, 'FORMEDDUCT', INDETERMINATE) -inspectionchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONCHAMBER', INDETERMINATE) -inspectionpit = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONPIT', INDETERMINATE) -manhole = express_getattr(IfcDistributionChamberElementTypeEnum, 'MANHOLE', INDETERMINATE) -meterchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'METERCHAMBER', INDETERMINATE) -sump = express_getattr(IfcDistributionChamberElementTypeEnum, 'SUMP', INDETERMINATE) -trench = express_getattr(IfcDistributionChamberElementTypeEnum, 'TRENCH', INDETERMINATE) -valvechamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'VALVECHAMBER', INDETERMINATE) -userdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +formedduct = IfcDistributionChamberElementTypeEnum.FORMEDDUCT +inspectionchamber = IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER +inspectionpit = IfcDistributionChamberElementTypeEnum.INSPECTIONPIT +manhole = IfcDistributionChamberElementTypeEnum.MANHOLE +meterchamber = IfcDistributionChamberElementTypeEnum.METERCHAMBER +sump = IfcDistributionChamberElementTypeEnum.SUMP +trench = IfcDistributionChamberElementTypeEnum.TRENCH +valvechamber = IfcDistributionChamberElementTypeEnum.VALVECHAMBER +userdefined = IfcDistributionChamberElementTypeEnum.USERDEFINED +notdefined = IfcDistributionChamberElementTypeEnum.NOTDEFINED IfcDistributionPortTypeEnum = enum_namespace() -cable = express_getattr(IfcDistributionPortTypeEnum, 'CABLE', INDETERMINATE) -cablecarrier = express_getattr(IfcDistributionPortTypeEnum, 'CABLECARRIER', INDETERMINATE) -duct = express_getattr(IfcDistributionPortTypeEnum, 'DUCT', INDETERMINATE) -pipe = express_getattr(IfcDistributionPortTypeEnum, 'PIPE', INDETERMINATE) -userdefined = express_getattr(IfcDistributionPortTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionPortTypeEnum, 'NOTDEFINED', INDETERMINATE) +cable = IfcDistributionPortTypeEnum.CABLE +cablecarrier = IfcDistributionPortTypeEnum.CABLECARRIER +duct = IfcDistributionPortTypeEnum.DUCT +pipe = IfcDistributionPortTypeEnum.PIPE +userdefined = IfcDistributionPortTypeEnum.USERDEFINED +notdefined = IfcDistributionPortTypeEnum.NOTDEFINED IfcDistributionSystemEnum = enum_namespace() -airconditioning = express_getattr(IfcDistributionSystemEnum, 'AIRCONDITIONING', INDETERMINATE) -audiovisual = express_getattr(IfcDistributionSystemEnum, 'AUDIOVISUAL', INDETERMINATE) -chemical = express_getattr(IfcDistributionSystemEnum, 'CHEMICAL', INDETERMINATE) -chilledwater = express_getattr(IfcDistributionSystemEnum, 'CHILLEDWATER', INDETERMINATE) -communication = express_getattr(IfcDistributionSystemEnum, 'COMMUNICATION', INDETERMINATE) -compressedair = express_getattr(IfcDistributionSystemEnum, 'COMPRESSEDAIR', INDETERMINATE) -condenserwater = express_getattr(IfcDistributionSystemEnum, 'CONDENSERWATER', INDETERMINATE) -control = express_getattr(IfcDistributionSystemEnum, 'CONTROL', INDETERMINATE) -conveying = express_getattr(IfcDistributionSystemEnum, 'CONVEYING', INDETERMINATE) -data = express_getattr(IfcDistributionSystemEnum, 'DATA', INDETERMINATE) -disposal = express_getattr(IfcDistributionSystemEnum, 'DISPOSAL', INDETERMINATE) -domesticcoldwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICCOLDWATER', INDETERMINATE) -domestichotwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICHOTWATER', INDETERMINATE) -drainage = express_getattr(IfcDistributionSystemEnum, 'DRAINAGE', INDETERMINATE) -earthing = express_getattr(IfcDistributionSystemEnum, 'EARTHING', INDETERMINATE) -electrical = express_getattr(IfcDistributionSystemEnum, 'ELECTRICAL', INDETERMINATE) -electroacoustic = express_getattr(IfcDistributionSystemEnum, 'ELECTROACOUSTIC', INDETERMINATE) -exhaust = express_getattr(IfcDistributionSystemEnum, 'EXHAUST', INDETERMINATE) -fireprotection = express_getattr(IfcDistributionSystemEnum, 'FIREPROTECTION', INDETERMINATE) -fuel = express_getattr(IfcDistributionSystemEnum, 'FUEL', INDETERMINATE) -gas = express_getattr(IfcDistributionSystemEnum, 'GAS', INDETERMINATE) -hazardous = express_getattr(IfcDistributionSystemEnum, 'HAZARDOUS', INDETERMINATE) -heating = express_getattr(IfcDistributionSystemEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcDistributionSystemEnum, 'LIGHTING', INDETERMINATE) -lightningprotection = express_getattr(IfcDistributionSystemEnum, 'LIGHTNINGPROTECTION', INDETERMINATE) -municipalsolidwaste = express_getattr(IfcDistributionSystemEnum, 'MUNICIPALSOLIDWASTE', INDETERMINATE) -oil = express_getattr(IfcDistributionSystemEnum, 'OIL', INDETERMINATE) -operational = express_getattr(IfcDistributionSystemEnum, 'OPERATIONAL', INDETERMINATE) -powergeneration = express_getattr(IfcDistributionSystemEnum, 'POWERGENERATION', INDETERMINATE) -rainwater = express_getattr(IfcDistributionSystemEnum, 'RAINWATER', INDETERMINATE) -refrigeration = express_getattr(IfcDistributionSystemEnum, 'REFRIGERATION', INDETERMINATE) -security = express_getattr(IfcDistributionSystemEnum, 'SECURITY', INDETERMINATE) -sewage = express_getattr(IfcDistributionSystemEnum, 'SEWAGE', INDETERMINATE) -signal = express_getattr(IfcDistributionSystemEnum, 'SIGNAL', INDETERMINATE) -stormwater = express_getattr(IfcDistributionSystemEnum, 'STORMWATER', INDETERMINATE) -telephone = express_getattr(IfcDistributionSystemEnum, 'TELEPHONE', INDETERMINATE) -tv = express_getattr(IfcDistributionSystemEnum, 'TV', INDETERMINATE) -vacuum = express_getattr(IfcDistributionSystemEnum, 'VACUUM', INDETERMINATE) -vent = express_getattr(IfcDistributionSystemEnum, 'VENT', INDETERMINATE) -ventilation = express_getattr(IfcDistributionSystemEnum, 'VENTILATION', INDETERMINATE) -wastewater = express_getattr(IfcDistributionSystemEnum, 'WASTEWATER', INDETERMINATE) -watersupply = express_getattr(IfcDistributionSystemEnum, 'WATERSUPPLY', INDETERMINATE) -userdefined = express_getattr(IfcDistributionSystemEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionSystemEnum, 'NOTDEFINED', INDETERMINATE) +airconditioning = IfcDistributionSystemEnum.AIRCONDITIONING +audiovisual = IfcDistributionSystemEnum.AUDIOVISUAL +chemical = IfcDistributionSystemEnum.CHEMICAL +chilledwater = IfcDistributionSystemEnum.CHILLEDWATER +communication = IfcDistributionSystemEnum.COMMUNICATION +compressedair = IfcDistributionSystemEnum.COMPRESSEDAIR +condenserwater = IfcDistributionSystemEnum.CONDENSERWATER +control = IfcDistributionSystemEnum.CONTROL +conveying = IfcDistributionSystemEnum.CONVEYING +data = IfcDistributionSystemEnum.DATA +disposal = IfcDistributionSystemEnum.DISPOSAL +domesticcoldwater = IfcDistributionSystemEnum.DOMESTICCOLDWATER +domestichotwater = IfcDistributionSystemEnum.DOMESTICHOTWATER +drainage = IfcDistributionSystemEnum.DRAINAGE +earthing = IfcDistributionSystemEnum.EARTHING +electrical = IfcDistributionSystemEnum.ELECTRICAL +electroacoustic = IfcDistributionSystemEnum.ELECTROACOUSTIC +exhaust = IfcDistributionSystemEnum.EXHAUST +fireprotection = IfcDistributionSystemEnum.FIREPROTECTION +fuel = IfcDistributionSystemEnum.FUEL +gas = IfcDistributionSystemEnum.GAS +hazardous = IfcDistributionSystemEnum.HAZARDOUS +heating = IfcDistributionSystemEnum.HEATING +lighting = IfcDistributionSystemEnum.LIGHTING +lightningprotection = IfcDistributionSystemEnum.LIGHTNINGPROTECTION +municipalsolidwaste = IfcDistributionSystemEnum.MUNICIPALSOLIDWASTE +oil = IfcDistributionSystemEnum.OIL +operational = IfcDistributionSystemEnum.OPERATIONAL +powergeneration = IfcDistributionSystemEnum.POWERGENERATION +rainwater = IfcDistributionSystemEnum.RAINWATER +refrigeration = IfcDistributionSystemEnum.REFRIGERATION +security = IfcDistributionSystemEnum.SECURITY +sewage = IfcDistributionSystemEnum.SEWAGE +signal = IfcDistributionSystemEnum.SIGNAL +stormwater = IfcDistributionSystemEnum.STORMWATER +telephone = IfcDistributionSystemEnum.TELEPHONE +tv = IfcDistributionSystemEnum.TV +vacuum = IfcDistributionSystemEnum.VACUUM +vent = IfcDistributionSystemEnum.VENT +ventilation = IfcDistributionSystemEnum.VENTILATION +wastewater = IfcDistributionSystemEnum.WASTEWATER +watersupply = IfcDistributionSystemEnum.WATERSUPPLY +userdefined = IfcDistributionSystemEnum.USERDEFINED +notdefined = IfcDistributionSystemEnum.NOTDEFINED IfcDocumentConfidentialityEnum = enum_namespace() -public = express_getattr(IfcDocumentConfidentialityEnum, 'PUBLIC', INDETERMINATE) -restricted = express_getattr(IfcDocumentConfidentialityEnum, 'RESTRICTED', INDETERMINATE) -confidential = express_getattr(IfcDocumentConfidentialityEnum, 'CONFIDENTIAL', INDETERMINATE) -personal = express_getattr(IfcDocumentConfidentialityEnum, 'PERSONAL', INDETERMINATE) -userdefined = express_getattr(IfcDocumentConfidentialityEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDocumentConfidentialityEnum, 'NOTDEFINED', INDETERMINATE) +public = IfcDocumentConfidentialityEnum.PUBLIC +restricted = IfcDocumentConfidentialityEnum.RESTRICTED +confidential = IfcDocumentConfidentialityEnum.CONFIDENTIAL +personal = IfcDocumentConfidentialityEnum.PERSONAL +userdefined = IfcDocumentConfidentialityEnum.USERDEFINED +notdefined = IfcDocumentConfidentialityEnum.NOTDEFINED IfcDocumentStatusEnum = enum_namespace() -draft = express_getattr(IfcDocumentStatusEnum, 'DRAFT', INDETERMINATE) -finaldraft = express_getattr(IfcDocumentStatusEnum, 'FINALDRAFT', INDETERMINATE) -final = express_getattr(IfcDocumentStatusEnum, 'FINAL', INDETERMINATE) -revision = express_getattr(IfcDocumentStatusEnum, 'REVISION', INDETERMINATE) -notdefined = express_getattr(IfcDocumentStatusEnum, 'NOTDEFINED', INDETERMINATE) +draft = IfcDocumentStatusEnum.DRAFT +finaldraft = IfcDocumentStatusEnum.FINALDRAFT +final = IfcDocumentStatusEnum.FINAL +revision = IfcDocumentStatusEnum.REVISION +notdefined = IfcDocumentStatusEnum.NOTDEFINED IfcDoorPanelOperationEnum = enum_namespace() -swinging = express_getattr(IfcDoorPanelOperationEnum, 'SWINGING', INDETERMINATE) -double_acting = express_getattr(IfcDoorPanelOperationEnum, 'DOUBLE_ACTING', INDETERMINATE) -sliding = express_getattr(IfcDoorPanelOperationEnum, 'SLIDING', INDETERMINATE) -folding = express_getattr(IfcDoorPanelOperationEnum, 'FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorPanelOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorPanelOperationEnum, 'ROLLINGUP', INDETERMINATE) -fixedpanel = express_getattr(IfcDoorPanelOperationEnum, 'FIXEDPANEL', INDETERMINATE) -userdefined = express_getattr(IfcDoorPanelOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +swinging = IfcDoorPanelOperationEnum.SWINGING +double_acting = IfcDoorPanelOperationEnum.DOUBLE_ACTING +sliding = IfcDoorPanelOperationEnum.SLIDING +folding = IfcDoorPanelOperationEnum.FOLDING +revolving = IfcDoorPanelOperationEnum.REVOLVING +rollingup = IfcDoorPanelOperationEnum.ROLLINGUP +fixedpanel = IfcDoorPanelOperationEnum.FIXEDPANEL +userdefined = IfcDoorPanelOperationEnum.USERDEFINED +notdefined = IfcDoorPanelOperationEnum.NOTDEFINED IfcDoorPanelPositionEnum = enum_namespace() -left = express_getattr(IfcDoorPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcDoorPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcDoorPanelPositionEnum, 'RIGHT', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcDoorPanelPositionEnum.LEFT +middle = IfcDoorPanelPositionEnum.MIDDLE +right = IfcDoorPanelPositionEnum.RIGHT +notdefined = IfcDoorPanelPositionEnum.NOTDEFINED IfcDoorStyleConstructionEnum = enum_namespace() -aluminium = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM', INDETERMINATE) -high_grade_steel = express_getattr(IfcDoorStyleConstructionEnum, 'HIGH_GRADE_STEEL', INDETERMINATE) -steel = express_getattr(IfcDoorStyleConstructionEnum, 'STEEL', INDETERMINATE) -wood = express_getattr(IfcDoorStyleConstructionEnum, 'WOOD', INDETERMINATE) -aluminium_wood = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM_WOOD', INDETERMINATE) -aluminium_plastic = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM_PLASTIC', INDETERMINATE) -plastic = express_getattr(IfcDoorStyleConstructionEnum, 'PLASTIC', INDETERMINATE) -userdefined = express_getattr(IfcDoorStyleConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorStyleConstructionEnum, 'NOTDEFINED', INDETERMINATE) +aluminium = IfcDoorStyleConstructionEnum.ALUMINIUM +high_grade_steel = IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL +steel = IfcDoorStyleConstructionEnum.STEEL +wood = IfcDoorStyleConstructionEnum.WOOD +aluminium_wood = IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD +aluminium_plastic = IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC +plastic = IfcDoorStyleConstructionEnum.PLASTIC +userdefined = IfcDoorStyleConstructionEnum.USERDEFINED +notdefined = IfcDoorStyleConstructionEnum.NOTDEFINED IfcDoorStyleOperationEnum = enum_namespace() -single_swing_left = express_getattr(IfcDoorStyleOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorStyleOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -double_door_single_swing = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING', INDETERMINATE) -double_door_single_swing_opposite_left = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_door_single_swing_opposite_right = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -double_door_double_swing = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_DOUBLE_SWING', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorStyleOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorStyleOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -double_door_sliding = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SLIDING', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorStyleOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorStyleOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -double_door_folding = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorStyleOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorStyleOperationEnum, 'ROLLINGUP', INDETERMINATE) -userdefined = express_getattr(IfcDoorStyleOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorStyleOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_swing_left = IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT +double_door_single_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING +double_door_single_swing_opposite_left = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT +double_door_single_swing_opposite_right = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT +double_swing_left = IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT +double_door_double_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING +sliding_to_left = IfcDoorStyleOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT +double_door_sliding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING +folding_to_left = IfcDoorStyleOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT +double_door_folding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING +revolving = IfcDoorStyleOperationEnum.REVOLVING +rollingup = IfcDoorStyleOperationEnum.ROLLINGUP +userdefined = IfcDoorStyleOperationEnum.USERDEFINED +notdefined = IfcDoorStyleOperationEnum.NOTDEFINED IfcDoorTypeEnum = enum_namespace() -door = express_getattr(IfcDoorTypeEnum, 'DOOR', INDETERMINATE) -gate = express_getattr(IfcDoorTypeEnum, 'GATE', INDETERMINATE) -trapdoor = express_getattr(IfcDoorTypeEnum, 'TRAPDOOR', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeEnum, 'NOTDEFINED', INDETERMINATE) +door = IfcDoorTypeEnum.DOOR +gate = IfcDoorTypeEnum.GATE +trapdoor = IfcDoorTypeEnum.TRAPDOOR +userdefined = IfcDoorTypeEnum.USERDEFINED +notdefined = IfcDoorTypeEnum.NOTDEFINED IfcDoorTypeOperationEnum = enum_namespace() -single_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -double_door_single_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING', INDETERMINATE) -double_door_single_swing_opposite_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_door_single_swing_opposite_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -double_door_double_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_DOUBLE_SWING', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -double_door_sliding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SLIDING', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -double_door_folding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorTypeOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorTypeOperationEnum, 'ROLLINGUP', INDETERMINATE) -swing_fixed_left = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_LEFT', INDETERMINATE) -swing_fixed_right = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_RIGHT', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_swing_left = IfcDoorTypeOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorTypeOperationEnum.SINGLE_SWING_RIGHT +double_door_single_swing = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING +double_door_single_swing_opposite_left = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT +double_door_single_swing_opposite_right = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT +double_swing_left = IfcDoorTypeOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorTypeOperationEnum.DOUBLE_SWING_RIGHT +double_door_double_swing = IfcDoorTypeOperationEnum.DOUBLE_DOOR_DOUBLE_SWING +sliding_to_left = IfcDoorTypeOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorTypeOperationEnum.SLIDING_TO_RIGHT +double_door_sliding = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SLIDING +folding_to_left = IfcDoorTypeOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorTypeOperationEnum.FOLDING_TO_RIGHT +double_door_folding = IfcDoorTypeOperationEnum.DOUBLE_DOOR_FOLDING +revolving = IfcDoorTypeOperationEnum.REVOLVING +rollingup = IfcDoorTypeOperationEnum.ROLLINGUP +swing_fixed_left = IfcDoorTypeOperationEnum.SWING_FIXED_LEFT +swing_fixed_right = IfcDoorTypeOperationEnum.SWING_FIXED_RIGHT +userdefined = IfcDoorTypeOperationEnum.USERDEFINED +notdefined = IfcDoorTypeOperationEnum.NOTDEFINED IfcDuctFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcDuctFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcDuctFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcDuctFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcDuctFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcDuctFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcDuctFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcDuctFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcDuctFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcDuctFittingTypeEnum.BEND +connector = IfcDuctFittingTypeEnum.CONNECTOR +entry = IfcDuctFittingTypeEnum.ENTRY +exit = IfcDuctFittingTypeEnum.EXIT +junction = IfcDuctFittingTypeEnum.JUNCTION +obstruction = IfcDuctFittingTypeEnum.OBSTRUCTION +transition = IfcDuctFittingTypeEnum.TRANSITION +userdefined = IfcDuctFittingTypeEnum.USERDEFINED +notdefined = IfcDuctFittingTypeEnum.NOTDEFINED IfcDuctSegmentTypeEnum = enum_namespace() -rigidsegment = express_getattr(IfcDuctSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -flexiblesegment = express_getattr(IfcDuctSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcDuctSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +rigidsegment = IfcDuctSegmentTypeEnum.RIGIDSEGMENT +flexiblesegment = IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT +userdefined = IfcDuctSegmentTypeEnum.USERDEFINED +notdefined = IfcDuctSegmentTypeEnum.NOTDEFINED IfcDuctSilencerTypeEnum = enum_namespace() -flatoval = express_getattr(IfcDuctSilencerTypeEnum, 'FLATOVAL', INDETERMINATE) -rectangular = express_getattr(IfcDuctSilencerTypeEnum, 'RECTANGULAR', INDETERMINATE) -round = express_getattr(IfcDuctSilencerTypeEnum, 'ROUND', INDETERMINATE) -userdefined = express_getattr(IfcDuctSilencerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSilencerTypeEnum, 'NOTDEFINED', INDETERMINATE) +flatoval = IfcDuctSilencerTypeEnum.FLATOVAL +rectangular = IfcDuctSilencerTypeEnum.RECTANGULAR +round = IfcDuctSilencerTypeEnum.ROUND +userdefined = IfcDuctSilencerTypeEnum.USERDEFINED +notdefined = IfcDuctSilencerTypeEnum.NOTDEFINED IfcElectricApplianceTypeEnum = enum_namespace() -dishwasher = express_getattr(IfcElectricApplianceTypeEnum, 'DISHWASHER', INDETERMINATE) -electriccooker = express_getattr(IfcElectricApplianceTypeEnum, 'ELECTRICCOOKER', INDETERMINATE) -freestandingelectricheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGELECTRICHEATER', INDETERMINATE) -freestandingfan = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGFAN', INDETERMINATE) -freestandingwaterheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERHEATER', INDETERMINATE) -freestandingwatercooler = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERCOOLER', INDETERMINATE) -freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FREEZER', INDETERMINATE) -fridge_freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FRIDGE_FREEZER', INDETERMINATE) -handdryer = express_getattr(IfcElectricApplianceTypeEnum, 'HANDDRYER', INDETERMINATE) -kitchenmachine = express_getattr(IfcElectricApplianceTypeEnum, 'KITCHENMACHINE', INDETERMINATE) -microwave = express_getattr(IfcElectricApplianceTypeEnum, 'MICROWAVE', INDETERMINATE) -photocopier = express_getattr(IfcElectricApplianceTypeEnum, 'PHOTOCOPIER', INDETERMINATE) -refrigerator = express_getattr(IfcElectricApplianceTypeEnum, 'REFRIGERATOR', INDETERMINATE) -tumbledryer = express_getattr(IfcElectricApplianceTypeEnum, 'TUMBLEDRYER', INDETERMINATE) -vendingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'VENDINGMACHINE', INDETERMINATE) -washingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'WASHINGMACHINE', INDETERMINATE) -userdefined = express_getattr(IfcElectricApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +dishwasher = IfcElectricApplianceTypeEnum.DISHWASHER +electriccooker = IfcElectricApplianceTypeEnum.ELECTRICCOOKER +freestandingelectricheater = IfcElectricApplianceTypeEnum.FREESTANDINGELECTRICHEATER +freestandingfan = IfcElectricApplianceTypeEnum.FREESTANDINGFAN +freestandingwaterheater = IfcElectricApplianceTypeEnum.FREESTANDINGWATERHEATER +freestandingwatercooler = IfcElectricApplianceTypeEnum.FREESTANDINGWATERCOOLER +freezer = IfcElectricApplianceTypeEnum.FREEZER +fridge_freezer = IfcElectricApplianceTypeEnum.FRIDGE_FREEZER +handdryer = IfcElectricApplianceTypeEnum.HANDDRYER +kitchenmachine = IfcElectricApplianceTypeEnum.KITCHENMACHINE +microwave = IfcElectricApplianceTypeEnum.MICROWAVE +photocopier = IfcElectricApplianceTypeEnum.PHOTOCOPIER +refrigerator = IfcElectricApplianceTypeEnum.REFRIGERATOR +tumbledryer = IfcElectricApplianceTypeEnum.TUMBLEDRYER +vendingmachine = IfcElectricApplianceTypeEnum.VENDINGMACHINE +washingmachine = IfcElectricApplianceTypeEnum.WASHINGMACHINE +userdefined = IfcElectricApplianceTypeEnum.USERDEFINED +notdefined = IfcElectricApplianceTypeEnum.NOTDEFINED IfcElectricDistributionBoardTypeEnum = enum_namespace() -consumerunit = express_getattr(IfcElectricDistributionBoardTypeEnum, 'CONSUMERUNIT', INDETERMINATE) -distributionboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcElectricDistributionBoardTypeEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -switchboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'SWITCHBOARD', INDETERMINATE) -userdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'NOTDEFINED', INDETERMINATE) +consumerunit = IfcElectricDistributionBoardTypeEnum.CONSUMERUNIT +distributionboard = IfcElectricDistributionBoardTypeEnum.DISTRIBUTIONBOARD +motorcontrolcentre = IfcElectricDistributionBoardTypeEnum.MOTORCONTROLCENTRE +switchboard = IfcElectricDistributionBoardTypeEnum.SWITCHBOARD +userdefined = IfcElectricDistributionBoardTypeEnum.USERDEFINED +notdefined = IfcElectricDistributionBoardTypeEnum.NOTDEFINED IfcElectricFlowStorageDeviceTypeEnum = enum_namespace() -battery = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'BATTERY', INDETERMINATE) -capacitorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITORBANK', INDETERMINATE) -harmonicfilter = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'HARMONICFILTER', INDETERMINATE) -inductorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTORBANK', INDETERMINATE) -ups = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'UPS', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +battery = IfcElectricFlowStorageDeviceTypeEnum.BATTERY +capacitorbank = IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK +harmonicfilter = IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER +inductorbank = IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK +ups = IfcElectricFlowStorageDeviceTypeEnum.UPS +userdefined = IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED IfcElectricGeneratorTypeEnum = enum_namespace() -chp = express_getattr(IfcElectricGeneratorTypeEnum, 'CHP', INDETERMINATE) -enginegenerator = express_getattr(IfcElectricGeneratorTypeEnum, 'ENGINEGENERATOR', INDETERMINATE) -standalone = express_getattr(IfcElectricGeneratorTypeEnum, 'STANDALONE', INDETERMINATE) -userdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'NOTDEFINED', INDETERMINATE) +chp = IfcElectricGeneratorTypeEnum.CHP +enginegenerator = IfcElectricGeneratorTypeEnum.ENGINEGENERATOR +standalone = IfcElectricGeneratorTypeEnum.STANDALONE +userdefined = IfcElectricGeneratorTypeEnum.USERDEFINED +notdefined = IfcElectricGeneratorTypeEnum.NOTDEFINED IfcElectricMotorTypeEnum = enum_namespace() -dc = express_getattr(IfcElectricMotorTypeEnum, 'DC', INDETERMINATE) -induction = express_getattr(IfcElectricMotorTypeEnum, 'INDUCTION', INDETERMINATE) -polyphase = express_getattr(IfcElectricMotorTypeEnum, 'POLYPHASE', INDETERMINATE) -reluctancesynchronous = express_getattr(IfcElectricMotorTypeEnum, 'RELUCTANCESYNCHRONOUS', INDETERMINATE) -synchronous = express_getattr(IfcElectricMotorTypeEnum, 'SYNCHRONOUS', INDETERMINATE) -userdefined = express_getattr(IfcElectricMotorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricMotorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dc = IfcElectricMotorTypeEnum.DC +induction = IfcElectricMotorTypeEnum.INDUCTION +polyphase = IfcElectricMotorTypeEnum.POLYPHASE +reluctancesynchronous = IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS +synchronous = IfcElectricMotorTypeEnum.SYNCHRONOUS +userdefined = IfcElectricMotorTypeEnum.USERDEFINED +notdefined = IfcElectricMotorTypeEnum.NOTDEFINED IfcElectricTimeControlTypeEnum = enum_namespace() -timeclock = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMECLOCK', INDETERMINATE) -timedelay = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMEDELAY', INDETERMINATE) -relay = express_getattr(IfcElectricTimeControlTypeEnum, 'RELAY', INDETERMINATE) -userdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'NOTDEFINED', INDETERMINATE) +timeclock = IfcElectricTimeControlTypeEnum.TIMECLOCK +timedelay = IfcElectricTimeControlTypeEnum.TIMEDELAY +relay = IfcElectricTimeControlTypeEnum.RELAY +userdefined = IfcElectricTimeControlTypeEnum.USERDEFINED +notdefined = IfcElectricTimeControlTypeEnum.NOTDEFINED IfcElementAssemblyTypeEnum = enum_namespace() -accessory_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'ACCESSORY_ASSEMBLY', INDETERMINATE) -arch = express_getattr(IfcElementAssemblyTypeEnum, 'ARCH', INDETERMINATE) -beam_grid = express_getattr(IfcElementAssemblyTypeEnum, 'BEAM_GRID', INDETERMINATE) -braced_frame = express_getattr(IfcElementAssemblyTypeEnum, 'BRACED_FRAME', INDETERMINATE) -girder = express_getattr(IfcElementAssemblyTypeEnum, 'GIRDER', INDETERMINATE) -reinforcement_unit = express_getattr(IfcElementAssemblyTypeEnum, 'REINFORCEMENT_UNIT', INDETERMINATE) -rigid_frame = express_getattr(IfcElementAssemblyTypeEnum, 'RIGID_FRAME', INDETERMINATE) -slab_field = express_getattr(IfcElementAssemblyTypeEnum, 'SLAB_FIELD', INDETERMINATE) -truss = express_getattr(IfcElementAssemblyTypeEnum, 'TRUSS', INDETERMINATE) -userdefined = express_getattr(IfcElementAssemblyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElementAssemblyTypeEnum, 'NOTDEFINED', INDETERMINATE) +accessory_assembly = IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY +arch = IfcElementAssemblyTypeEnum.ARCH +beam_grid = IfcElementAssemblyTypeEnum.BEAM_GRID +braced_frame = IfcElementAssemblyTypeEnum.BRACED_FRAME +girder = IfcElementAssemblyTypeEnum.GIRDER +reinforcement_unit = IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT +rigid_frame = IfcElementAssemblyTypeEnum.RIGID_FRAME +slab_field = IfcElementAssemblyTypeEnum.SLAB_FIELD +truss = IfcElementAssemblyTypeEnum.TRUSS +userdefined = IfcElementAssemblyTypeEnum.USERDEFINED +notdefined = IfcElementAssemblyTypeEnum.NOTDEFINED IfcElementCompositionEnum = enum_namespace() -complex = express_getattr(IfcElementCompositionEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcElementCompositionEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcElementCompositionEnum, 'PARTIAL', INDETERMINATE) +complex = IfcElementCompositionEnum.COMPLEX +element = IfcElementCompositionEnum.ELEMENT +partial = IfcElementCompositionEnum.PARTIAL IfcEngineTypeEnum = enum_namespace() -externalcombustion = express_getattr(IfcEngineTypeEnum, 'EXTERNALCOMBUSTION', INDETERMINATE) -internalcombustion = express_getattr(IfcEngineTypeEnum, 'INTERNALCOMBUSTION', INDETERMINATE) -userdefined = express_getattr(IfcEngineTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEngineTypeEnum, 'NOTDEFINED', INDETERMINATE) +externalcombustion = IfcEngineTypeEnum.EXTERNALCOMBUSTION +internalcombustion = IfcEngineTypeEnum.INTERNALCOMBUSTION +userdefined = IfcEngineTypeEnum.USERDEFINED +notdefined = IfcEngineTypeEnum.NOTDEFINED IfcEvaporativeCoolerTypeEnum = enum_namespace() -directevaporativerandommediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER', INDETERMINATE) -directevaporativerigidmediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER', INDETERMINATE) -directevaporativeslingerspackagedaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER', INDETERMINATE) -directevaporativepackagedrotaryaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER', INDETERMINATE) -directevaporativeairwasher = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEAIRWASHER', INDETERMINATE) -indirectevaporativepackageaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEPACKAGEAIRCOOLER', INDETERMINATE) -indirectevaporativewetcoil = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEWETCOIL', INDETERMINATE) -indirectevaporativecoolingtowerorcoilcooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER', INDETERMINATE) -indirectdirectcombination = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTDIRECTCOMBINATION', INDETERMINATE) -userdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'NOTDEFINED', INDETERMINATE) +directevaporativerandommediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER +directevaporativerigidmediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER +directevaporativeslingerspackagedaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER +directevaporativepackagedrotaryaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER +directevaporativeairwasher = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER +indirectevaporativepackageaircooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER +indirectevaporativewetcoil = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL +indirectevaporativecoolingtowerorcoilcooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER +indirectdirectcombination = IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION +userdefined = IfcEvaporativeCoolerTypeEnum.USERDEFINED +notdefined = IfcEvaporativeCoolerTypeEnum.NOTDEFINED IfcEvaporatorTypeEnum = enum_namespace() -directexpansion = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSION', INDETERMINATE) -directexpansionshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONSHELLANDTUBE', INDETERMINATE) -directexpansiontubeintube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONTUBEINTUBE', INDETERMINATE) -directexpansionbrazedplate = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONBRAZEDPLATE', INDETERMINATE) -floodedshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'FLOODEDSHELLANDTUBE', INDETERMINATE) -shellandcoil = express_getattr(IfcEvaporatorTypeEnum, 'SHELLANDCOIL', INDETERMINATE) -userdefined = express_getattr(IfcEvaporatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +directexpansion = IfcEvaporatorTypeEnum.DIRECTEXPANSION +directexpansionshellandtube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE +directexpansiontubeintube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE +directexpansionbrazedplate = IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE +floodedshellandtube = IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE +shellandcoil = IfcEvaporatorTypeEnum.SHELLANDCOIL +userdefined = IfcEvaporatorTypeEnum.USERDEFINED +notdefined = IfcEvaporatorTypeEnum.NOTDEFINED IfcEventTriggerTypeEnum = enum_namespace() -eventrule = express_getattr(IfcEventTriggerTypeEnum, 'EVENTRULE', INDETERMINATE) -eventmessage = express_getattr(IfcEventTriggerTypeEnum, 'EVENTMESSAGE', INDETERMINATE) -eventtime = express_getattr(IfcEventTriggerTypeEnum, 'EVENTTIME', INDETERMINATE) -eventcomplex = express_getattr(IfcEventTriggerTypeEnum, 'EVENTCOMPLEX', INDETERMINATE) -userdefined = express_getattr(IfcEventTriggerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTriggerTypeEnum, 'NOTDEFINED', INDETERMINATE) +eventrule = IfcEventTriggerTypeEnum.EVENTRULE +eventmessage = IfcEventTriggerTypeEnum.EVENTMESSAGE +eventtime = IfcEventTriggerTypeEnum.EVENTTIME +eventcomplex = IfcEventTriggerTypeEnum.EVENTCOMPLEX +userdefined = IfcEventTriggerTypeEnum.USERDEFINED +notdefined = IfcEventTriggerTypeEnum.NOTDEFINED IfcEventTypeEnum = enum_namespace() -startevent = express_getattr(IfcEventTypeEnum, 'STARTEVENT', INDETERMINATE) -endevent = express_getattr(IfcEventTypeEnum, 'ENDEVENT', INDETERMINATE) -intermediateevent = express_getattr(IfcEventTypeEnum, 'INTERMEDIATEEVENT', INDETERMINATE) -userdefined = express_getattr(IfcEventTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTypeEnum, 'NOTDEFINED', INDETERMINATE) +startevent = IfcEventTypeEnum.STARTEVENT +endevent = IfcEventTypeEnum.ENDEVENT +intermediateevent = IfcEventTypeEnum.INTERMEDIATEEVENT +userdefined = IfcEventTypeEnum.USERDEFINED +notdefined = IfcEventTypeEnum.NOTDEFINED IfcExternalSpatialElementTypeEnum = enum_namespace() -external = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_water = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_WATER', INDETERMINATE) -external_fire = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_FIRE', INDETERMINATE) -userdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +external = IfcExternalSpatialElementTypeEnum.EXTERNAL +external_earth = IfcExternalSpatialElementTypeEnum.EXTERNAL_EARTH +external_water = IfcExternalSpatialElementTypeEnum.EXTERNAL_WATER +external_fire = IfcExternalSpatialElementTypeEnum.EXTERNAL_FIRE +userdefined = IfcExternalSpatialElementTypeEnum.USERDEFINED +notdefined = IfcExternalSpatialElementTypeEnum.NOTDEFINED IfcFanTypeEnum = enum_namespace() -centrifugalforwardcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALFORWARDCURVED', INDETERMINATE) -centrifugalradial = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALRADIAL', INDETERMINATE) -centrifugalbackwardinclinedcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALBACKWARDINCLINEDCURVED', INDETERMINATE) -centrifugalairfoil = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALAIRFOIL', INDETERMINATE) -tubeaxial = express_getattr(IfcFanTypeEnum, 'TUBEAXIAL', INDETERMINATE) -vaneaxial = express_getattr(IfcFanTypeEnum, 'VANEAXIAL', INDETERMINATE) -propelloraxial = express_getattr(IfcFanTypeEnum, 'PROPELLORAXIAL', INDETERMINATE) -userdefined = express_getattr(IfcFanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFanTypeEnum, 'NOTDEFINED', INDETERMINATE) +centrifugalforwardcurved = IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED +centrifugalradial = IfcFanTypeEnum.CENTRIFUGALRADIAL +centrifugalbackwardinclinedcurved = IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED +centrifugalairfoil = IfcFanTypeEnum.CENTRIFUGALAIRFOIL +tubeaxial = IfcFanTypeEnum.TUBEAXIAL +vaneaxial = IfcFanTypeEnum.VANEAXIAL +propelloraxial = IfcFanTypeEnum.PROPELLORAXIAL +userdefined = IfcFanTypeEnum.USERDEFINED +notdefined = IfcFanTypeEnum.NOTDEFINED IfcFastenerTypeEnum = enum_namespace() -glue = express_getattr(IfcFastenerTypeEnum, 'GLUE', INDETERMINATE) -mortar = express_getattr(IfcFastenerTypeEnum, 'MORTAR', INDETERMINATE) -weld = express_getattr(IfcFastenerTypeEnum, 'WELD', INDETERMINATE) -userdefined = express_getattr(IfcFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +glue = IfcFastenerTypeEnum.GLUE +mortar = IfcFastenerTypeEnum.MORTAR +weld = IfcFastenerTypeEnum.WELD +userdefined = IfcFastenerTypeEnum.USERDEFINED +notdefined = IfcFastenerTypeEnum.NOTDEFINED IfcFilterTypeEnum = enum_namespace() -airparticlefilter = express_getattr(IfcFilterTypeEnum, 'AIRPARTICLEFILTER', INDETERMINATE) -compressedairfilter = express_getattr(IfcFilterTypeEnum, 'COMPRESSEDAIRFILTER', INDETERMINATE) -odorfilter = express_getattr(IfcFilterTypeEnum, 'ODORFILTER', INDETERMINATE) -oilfilter = express_getattr(IfcFilterTypeEnum, 'OILFILTER', INDETERMINATE) -strainer = express_getattr(IfcFilterTypeEnum, 'STRAINER', INDETERMINATE) -waterfilter = express_getattr(IfcFilterTypeEnum, 'WATERFILTER', INDETERMINATE) -userdefined = express_getattr(IfcFilterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFilterTypeEnum, 'NOTDEFINED', INDETERMINATE) +airparticlefilter = IfcFilterTypeEnum.AIRPARTICLEFILTER +compressedairfilter = IfcFilterTypeEnum.COMPRESSEDAIRFILTER +odorfilter = IfcFilterTypeEnum.ODORFILTER +oilfilter = IfcFilterTypeEnum.OILFILTER +strainer = IfcFilterTypeEnum.STRAINER +waterfilter = IfcFilterTypeEnum.WATERFILTER +userdefined = IfcFilterTypeEnum.USERDEFINED +notdefined = IfcFilterTypeEnum.NOTDEFINED IfcFireSuppressionTerminalTypeEnum = enum_namespace() -breechinginlet = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'BREECHINGINLET', INDETERMINATE) -firehydrant = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'FIREHYDRANT', INDETERMINATE) -hosereel = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -sprinkler = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLER', INDETERMINATE) -sprinklerdeflector = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLERDEFLECTOR', INDETERMINATE) -userdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +breechinginlet = IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET +firehydrant = IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT +hosereel = IfcFireSuppressionTerminalTypeEnum.HOSEREEL +sprinkler = IfcFireSuppressionTerminalTypeEnum.SPRINKLER +sprinklerdeflector = IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR +userdefined = IfcFireSuppressionTerminalTypeEnum.USERDEFINED +notdefined = IfcFireSuppressionTerminalTypeEnum.NOTDEFINED IfcFlowDirectionEnum = enum_namespace() -source = express_getattr(IfcFlowDirectionEnum, 'SOURCE', INDETERMINATE) -sink = express_getattr(IfcFlowDirectionEnum, 'SINK', INDETERMINATE) -sourceandsink = express_getattr(IfcFlowDirectionEnum, 'SOURCEANDSINK', INDETERMINATE) -notdefined = express_getattr(IfcFlowDirectionEnum, 'NOTDEFINED', INDETERMINATE) +source = IfcFlowDirectionEnum.SOURCE +sink = IfcFlowDirectionEnum.SINK +sourceandsink = IfcFlowDirectionEnum.SOURCEANDSINK +notdefined = IfcFlowDirectionEnum.NOTDEFINED IfcFlowInstrumentTypeEnum = enum_namespace() -pressuregauge = express_getattr(IfcFlowInstrumentTypeEnum, 'PRESSUREGAUGE', INDETERMINATE) -thermometer = express_getattr(IfcFlowInstrumentTypeEnum, 'THERMOMETER', INDETERMINATE) -ammeter = express_getattr(IfcFlowInstrumentTypeEnum, 'AMMETER', INDETERMINATE) -frequencymeter = express_getattr(IfcFlowInstrumentTypeEnum, 'FREQUENCYMETER', INDETERMINATE) -powerfactormeter = express_getattr(IfcFlowInstrumentTypeEnum, 'POWERFACTORMETER', INDETERMINATE) -phaseanglemeter = express_getattr(IfcFlowInstrumentTypeEnum, 'PHASEANGLEMETER', INDETERMINATE) -voltmeter_peak = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_PEAK', INDETERMINATE) -voltmeter_rms = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_RMS', INDETERMINATE) -userdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'NOTDEFINED', INDETERMINATE) +pressuregauge = IfcFlowInstrumentTypeEnum.PRESSUREGAUGE +thermometer = IfcFlowInstrumentTypeEnum.THERMOMETER +ammeter = IfcFlowInstrumentTypeEnum.AMMETER +frequencymeter = IfcFlowInstrumentTypeEnum.FREQUENCYMETER +powerfactormeter = IfcFlowInstrumentTypeEnum.POWERFACTORMETER +phaseanglemeter = IfcFlowInstrumentTypeEnum.PHASEANGLEMETER +voltmeter_peak = IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK +voltmeter_rms = IfcFlowInstrumentTypeEnum.VOLTMETER_RMS +userdefined = IfcFlowInstrumentTypeEnum.USERDEFINED +notdefined = IfcFlowInstrumentTypeEnum.NOTDEFINED IfcFlowMeterTypeEnum = enum_namespace() -energymeter = express_getattr(IfcFlowMeterTypeEnum, 'ENERGYMETER', INDETERMINATE) -gasmeter = express_getattr(IfcFlowMeterTypeEnum, 'GASMETER', INDETERMINATE) -oilmeter = express_getattr(IfcFlowMeterTypeEnum, 'OILMETER', INDETERMINATE) -watermeter = express_getattr(IfcFlowMeterTypeEnum, 'WATERMETER', INDETERMINATE) -userdefined = express_getattr(IfcFlowMeterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowMeterTypeEnum, 'NOTDEFINED', INDETERMINATE) +energymeter = IfcFlowMeterTypeEnum.ENERGYMETER +gasmeter = IfcFlowMeterTypeEnum.GASMETER +oilmeter = IfcFlowMeterTypeEnum.OILMETER +watermeter = IfcFlowMeterTypeEnum.WATERMETER +userdefined = IfcFlowMeterTypeEnum.USERDEFINED +notdefined = IfcFlowMeterTypeEnum.NOTDEFINED IfcFootingTypeEnum = enum_namespace() -caisson_foundation = express_getattr(IfcFootingTypeEnum, 'CAISSON_FOUNDATION', INDETERMINATE) -footing_beam = express_getattr(IfcFootingTypeEnum, 'FOOTING_BEAM', INDETERMINATE) -pad_footing = express_getattr(IfcFootingTypeEnum, 'PAD_FOOTING', INDETERMINATE) -pile_cap = express_getattr(IfcFootingTypeEnum, 'PILE_CAP', INDETERMINATE) -strip_footing = express_getattr(IfcFootingTypeEnum, 'STRIP_FOOTING', INDETERMINATE) -userdefined = express_getattr(IfcFootingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFootingTypeEnum, 'NOTDEFINED', INDETERMINATE) +caisson_foundation = IfcFootingTypeEnum.CAISSON_FOUNDATION +footing_beam = IfcFootingTypeEnum.FOOTING_BEAM +pad_footing = IfcFootingTypeEnum.PAD_FOOTING +pile_cap = IfcFootingTypeEnum.PILE_CAP +strip_footing = IfcFootingTypeEnum.STRIP_FOOTING +userdefined = IfcFootingTypeEnum.USERDEFINED +notdefined = IfcFootingTypeEnum.NOTDEFINED IfcFurnitureTypeEnum = enum_namespace() -chair = express_getattr(IfcFurnitureTypeEnum, 'CHAIR', INDETERMINATE) -table = express_getattr(IfcFurnitureTypeEnum, 'TABLE', INDETERMINATE) -desk = express_getattr(IfcFurnitureTypeEnum, 'DESK', INDETERMINATE) -bed = express_getattr(IfcFurnitureTypeEnum, 'BED', INDETERMINATE) -filecabinet = express_getattr(IfcFurnitureTypeEnum, 'FILECABINET', INDETERMINATE) -shelf = express_getattr(IfcFurnitureTypeEnum, 'SHELF', INDETERMINATE) -sofa = express_getattr(IfcFurnitureTypeEnum, 'SOFA', INDETERMINATE) -userdefined = express_getattr(IfcFurnitureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFurnitureTypeEnum, 'NOTDEFINED', INDETERMINATE) +chair = IfcFurnitureTypeEnum.CHAIR +table = IfcFurnitureTypeEnum.TABLE +desk = IfcFurnitureTypeEnum.DESK +bed = IfcFurnitureTypeEnum.BED +filecabinet = IfcFurnitureTypeEnum.FILECABINET +shelf = IfcFurnitureTypeEnum.SHELF +sofa = IfcFurnitureTypeEnum.SOFA +userdefined = IfcFurnitureTypeEnum.USERDEFINED +notdefined = IfcFurnitureTypeEnum.NOTDEFINED IfcGeographicElementTypeEnum = enum_namespace() -terrain = express_getattr(IfcGeographicElementTypeEnum, 'TERRAIN', INDETERMINATE) -userdefined = express_getattr(IfcGeographicElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeographicElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +terrain = IfcGeographicElementTypeEnum.TERRAIN +userdefined = IfcGeographicElementTypeEnum.USERDEFINED +notdefined = IfcGeographicElementTypeEnum.NOTDEFINED IfcGeometricProjectionEnum = enum_namespace() -graph_view = express_getattr(IfcGeometricProjectionEnum, 'GRAPH_VIEW', INDETERMINATE) -sketch_view = express_getattr(IfcGeometricProjectionEnum, 'SKETCH_VIEW', INDETERMINATE) -model_view = express_getattr(IfcGeometricProjectionEnum, 'MODEL_VIEW', INDETERMINATE) -plan_view = express_getattr(IfcGeometricProjectionEnum, 'PLAN_VIEW', INDETERMINATE) -reflected_plan_view = express_getattr(IfcGeometricProjectionEnum, 'REFLECTED_PLAN_VIEW', INDETERMINATE) -section_view = express_getattr(IfcGeometricProjectionEnum, 'SECTION_VIEW', INDETERMINATE) -elevation_view = express_getattr(IfcGeometricProjectionEnum, 'ELEVATION_VIEW', INDETERMINATE) -userdefined = express_getattr(IfcGeometricProjectionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeometricProjectionEnum, 'NOTDEFINED', INDETERMINATE) +graph_view = IfcGeometricProjectionEnum.GRAPH_VIEW +sketch_view = IfcGeometricProjectionEnum.SKETCH_VIEW +model_view = IfcGeometricProjectionEnum.MODEL_VIEW +plan_view = IfcGeometricProjectionEnum.PLAN_VIEW +reflected_plan_view = IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW +section_view = IfcGeometricProjectionEnum.SECTION_VIEW +elevation_view = IfcGeometricProjectionEnum.ELEVATION_VIEW +userdefined = IfcGeometricProjectionEnum.USERDEFINED +notdefined = IfcGeometricProjectionEnum.NOTDEFINED IfcGlobalOrLocalEnum = enum_namespace() -global_coords = express_getattr(IfcGlobalOrLocalEnum, 'GLOBAL_COORDS', INDETERMINATE) -local_coords = express_getattr(IfcGlobalOrLocalEnum, 'LOCAL_COORDS', INDETERMINATE) +global_coords = IfcGlobalOrLocalEnum.GLOBAL_COORDS +local_coords = IfcGlobalOrLocalEnum.LOCAL_COORDS IfcGridTypeEnum = enum_namespace() -rectangular = express_getattr(IfcGridTypeEnum, 'RECTANGULAR', INDETERMINATE) -radial = express_getattr(IfcGridTypeEnum, 'RADIAL', INDETERMINATE) -triangular = express_getattr(IfcGridTypeEnum, 'TRIANGULAR', INDETERMINATE) -irregular = express_getattr(IfcGridTypeEnum, 'IRREGULAR', INDETERMINATE) -userdefined = express_getattr(IfcGridTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGridTypeEnum, 'NOTDEFINED', INDETERMINATE) +rectangular = IfcGridTypeEnum.RECTANGULAR +radial = IfcGridTypeEnum.RADIAL +triangular = IfcGridTypeEnum.TRIANGULAR +irregular = IfcGridTypeEnum.IRREGULAR +userdefined = IfcGridTypeEnum.USERDEFINED +notdefined = IfcGridTypeEnum.NOTDEFINED IfcHeatExchangerTypeEnum = enum_namespace() -plate = express_getattr(IfcHeatExchangerTypeEnum, 'PLATE', INDETERMINATE) -shellandtube = express_getattr(IfcHeatExchangerTypeEnum, 'SHELLANDTUBE', INDETERMINATE) -userdefined = express_getattr(IfcHeatExchangerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHeatExchangerTypeEnum, 'NOTDEFINED', INDETERMINATE) +plate = IfcHeatExchangerTypeEnum.PLATE +shellandtube = IfcHeatExchangerTypeEnum.SHELLANDTUBE +userdefined = IfcHeatExchangerTypeEnum.USERDEFINED +notdefined = IfcHeatExchangerTypeEnum.NOTDEFINED IfcHumidifierTypeEnum = enum_namespace() -steaminjection = express_getattr(IfcHumidifierTypeEnum, 'STEAMINJECTION', INDETERMINATE) -adiabaticairwasher = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICAIRWASHER', INDETERMINATE) -adiabaticpan = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICPAN', INDETERMINATE) -adiabaticwettedelement = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICWETTEDELEMENT', INDETERMINATE) -adiabaticatomizing = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICATOMIZING', INDETERMINATE) -adiabaticultrasonic = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICULTRASONIC', INDETERMINATE) -adiabaticrigidmedia = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICRIGIDMEDIA', INDETERMINATE) -adiabaticcompressedairnozzle = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICCOMPRESSEDAIRNOZZLE', INDETERMINATE) -assistedelectric = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDELECTRIC', INDETERMINATE) -assistednaturalgas = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDNATURALGAS', INDETERMINATE) -assistedpropane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDPROPANE', INDETERMINATE) -assistedbutane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDBUTANE', INDETERMINATE) -assistedsteam = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDSTEAM', INDETERMINATE) -userdefined = express_getattr(IfcHumidifierTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHumidifierTypeEnum, 'NOTDEFINED', INDETERMINATE) +steaminjection = IfcHumidifierTypeEnum.STEAMINJECTION +adiabaticairwasher = IfcHumidifierTypeEnum.ADIABATICAIRWASHER +adiabaticpan = IfcHumidifierTypeEnum.ADIABATICPAN +adiabaticwettedelement = IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT +adiabaticatomizing = IfcHumidifierTypeEnum.ADIABATICATOMIZING +adiabaticultrasonic = IfcHumidifierTypeEnum.ADIABATICULTRASONIC +adiabaticrigidmedia = IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA +adiabaticcompressedairnozzle = IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE +assistedelectric = IfcHumidifierTypeEnum.ASSISTEDELECTRIC +assistednaturalgas = IfcHumidifierTypeEnum.ASSISTEDNATURALGAS +assistedpropane = IfcHumidifierTypeEnum.ASSISTEDPROPANE +assistedbutane = IfcHumidifierTypeEnum.ASSISTEDBUTANE +assistedsteam = IfcHumidifierTypeEnum.ASSISTEDSTEAM +userdefined = IfcHumidifierTypeEnum.USERDEFINED +notdefined = IfcHumidifierTypeEnum.NOTDEFINED IfcInterceptorTypeEnum = enum_namespace() -cyclonic = express_getattr(IfcInterceptorTypeEnum, 'CYCLONIC', INDETERMINATE) -grease = express_getattr(IfcInterceptorTypeEnum, 'GREASE', INDETERMINATE) -oil = express_getattr(IfcInterceptorTypeEnum, 'OIL', INDETERMINATE) -petrol = express_getattr(IfcInterceptorTypeEnum, 'PETROL', INDETERMINATE) -userdefined = express_getattr(IfcInterceptorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInterceptorTypeEnum, 'NOTDEFINED', INDETERMINATE) +cyclonic = IfcInterceptorTypeEnum.CYCLONIC +grease = IfcInterceptorTypeEnum.GREASE +oil = IfcInterceptorTypeEnum.OIL +petrol = IfcInterceptorTypeEnum.PETROL +userdefined = IfcInterceptorTypeEnum.USERDEFINED +notdefined = IfcInterceptorTypeEnum.NOTDEFINED IfcInternalOrExternalEnum = enum_namespace() -internal = express_getattr(IfcInternalOrExternalEnum, 'INTERNAL', INDETERMINATE) -external = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_water = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_WATER', INDETERMINATE) -external_fire = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_FIRE', INDETERMINATE) -notdefined = express_getattr(IfcInternalOrExternalEnum, 'NOTDEFINED', INDETERMINATE) +internal = IfcInternalOrExternalEnum.INTERNAL +external = IfcInternalOrExternalEnum.EXTERNAL +external_earth = IfcInternalOrExternalEnum.EXTERNAL_EARTH +external_water = IfcInternalOrExternalEnum.EXTERNAL_WATER +external_fire = IfcInternalOrExternalEnum.EXTERNAL_FIRE +notdefined = IfcInternalOrExternalEnum.NOTDEFINED IfcInventoryTypeEnum = enum_namespace() -assetinventory = express_getattr(IfcInventoryTypeEnum, 'ASSETINVENTORY', INDETERMINATE) -spaceinventory = express_getattr(IfcInventoryTypeEnum, 'SPACEINVENTORY', INDETERMINATE) -furnitureinventory = express_getattr(IfcInventoryTypeEnum, 'FURNITUREINVENTORY', INDETERMINATE) -userdefined = express_getattr(IfcInventoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInventoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +assetinventory = IfcInventoryTypeEnum.ASSETINVENTORY +spaceinventory = IfcInventoryTypeEnum.SPACEINVENTORY +furnitureinventory = IfcInventoryTypeEnum.FURNITUREINVENTORY +userdefined = IfcInventoryTypeEnum.USERDEFINED +notdefined = IfcInventoryTypeEnum.NOTDEFINED IfcJunctionBoxTypeEnum = enum_namespace() -data = express_getattr(IfcJunctionBoxTypeEnum, 'DATA', INDETERMINATE) -power = express_getattr(IfcJunctionBoxTypeEnum, 'POWER', INDETERMINATE) -userdefined = express_getattr(IfcJunctionBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcJunctionBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +data = IfcJunctionBoxTypeEnum.DATA +power = IfcJunctionBoxTypeEnum.POWER +userdefined = IfcJunctionBoxTypeEnum.USERDEFINED +notdefined = IfcJunctionBoxTypeEnum.NOTDEFINED IfcKnotType = enum_namespace() -uniform_knots = express_getattr(IfcKnotType, 'UNIFORM_KNOTS', INDETERMINATE) -quasi_uniform_knots = express_getattr(IfcKnotType, 'QUASI_UNIFORM_KNOTS', INDETERMINATE) -piecewise_bezier_knots = express_getattr(IfcKnotType, 'PIECEWISE_BEZIER_KNOTS', INDETERMINATE) -unspecified = express_getattr(IfcKnotType, 'UNSPECIFIED', INDETERMINATE) +uniform_knots = IfcKnotType.UNIFORM_KNOTS +quasi_uniform_knots = IfcKnotType.QUASI_UNIFORM_KNOTS +piecewise_bezier_knots = IfcKnotType.PIECEWISE_BEZIER_KNOTS +unspecified = IfcKnotType.UNSPECIFIED IfcLaborResourceTypeEnum = enum_namespace() -administration = express_getattr(IfcLaborResourceTypeEnum, 'ADMINISTRATION', INDETERMINATE) -carpentry = express_getattr(IfcLaborResourceTypeEnum, 'CARPENTRY', INDETERMINATE) -cleaning = express_getattr(IfcLaborResourceTypeEnum, 'CLEANING', INDETERMINATE) -concrete = express_getattr(IfcLaborResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcLaborResourceTypeEnum, 'DRYWALL', INDETERMINATE) -electric = express_getattr(IfcLaborResourceTypeEnum, 'ELECTRIC', INDETERMINATE) -finishing = express_getattr(IfcLaborResourceTypeEnum, 'FINISHING', INDETERMINATE) -flooring = express_getattr(IfcLaborResourceTypeEnum, 'FLOORING', INDETERMINATE) -general = express_getattr(IfcLaborResourceTypeEnum, 'GENERAL', INDETERMINATE) -hvac = express_getattr(IfcLaborResourceTypeEnum, 'HVAC', INDETERMINATE) -landscaping = express_getattr(IfcLaborResourceTypeEnum, 'LANDSCAPING', INDETERMINATE) -masonry = express_getattr(IfcLaborResourceTypeEnum, 'MASONRY', INDETERMINATE) -painting = express_getattr(IfcLaborResourceTypeEnum, 'PAINTING', INDETERMINATE) -paving = express_getattr(IfcLaborResourceTypeEnum, 'PAVING', INDETERMINATE) -plumbing = express_getattr(IfcLaborResourceTypeEnum, 'PLUMBING', INDETERMINATE) -roofing = express_getattr(IfcLaborResourceTypeEnum, 'ROOFING', INDETERMINATE) -sitegrading = express_getattr(IfcLaborResourceTypeEnum, 'SITEGRADING', INDETERMINATE) -steelwork = express_getattr(IfcLaborResourceTypeEnum, 'STEELWORK', INDETERMINATE) -surveying = express_getattr(IfcLaborResourceTypeEnum, 'SURVEYING', INDETERMINATE) -userdefined = express_getattr(IfcLaborResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLaborResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +administration = IfcLaborResourceTypeEnum.ADMINISTRATION +carpentry = IfcLaborResourceTypeEnum.CARPENTRY +cleaning = IfcLaborResourceTypeEnum.CLEANING +concrete = IfcLaborResourceTypeEnum.CONCRETE +drywall = IfcLaborResourceTypeEnum.DRYWALL +electric = IfcLaborResourceTypeEnum.ELECTRIC +finishing = IfcLaborResourceTypeEnum.FINISHING +flooring = IfcLaborResourceTypeEnum.FLOORING +general = IfcLaborResourceTypeEnum.GENERAL +hvac = IfcLaborResourceTypeEnum.HVAC +landscaping = IfcLaborResourceTypeEnum.LANDSCAPING +masonry = IfcLaborResourceTypeEnum.MASONRY +painting = IfcLaborResourceTypeEnum.PAINTING +paving = IfcLaborResourceTypeEnum.PAVING +plumbing = IfcLaborResourceTypeEnum.PLUMBING +roofing = IfcLaborResourceTypeEnum.ROOFING +sitegrading = IfcLaborResourceTypeEnum.SITEGRADING +steelwork = IfcLaborResourceTypeEnum.STEELWORK +surveying = IfcLaborResourceTypeEnum.SURVEYING +userdefined = IfcLaborResourceTypeEnum.USERDEFINED +notdefined = IfcLaborResourceTypeEnum.NOTDEFINED IfcLampTypeEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLampTypeEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLampTypeEnum, 'FLUORESCENT', INDETERMINATE) -halogen = express_getattr(IfcLampTypeEnum, 'HALOGEN', INDETERMINATE) -highpressuremercury = express_getattr(IfcLampTypeEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLampTypeEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -led = express_getattr(IfcLampTypeEnum, 'LED', INDETERMINATE) -metalhalide = express_getattr(IfcLampTypeEnum, 'METALHALIDE', INDETERMINATE) -oled = express_getattr(IfcLampTypeEnum, 'OLED', INDETERMINATE) -tungstenfilament = express_getattr(IfcLampTypeEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -userdefined = express_getattr(IfcLampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLampTypeEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLampTypeEnum.COMPACTFLUORESCENT +fluorescent = IfcLampTypeEnum.FLUORESCENT +halogen = IfcLampTypeEnum.HALOGEN +highpressuremercury = IfcLampTypeEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLampTypeEnum.HIGHPRESSURESODIUM +led = IfcLampTypeEnum.LED +metalhalide = IfcLampTypeEnum.METALHALIDE +oled = IfcLampTypeEnum.OLED +tungstenfilament = IfcLampTypeEnum.TUNGSTENFILAMENT +userdefined = IfcLampTypeEnum.USERDEFINED +notdefined = IfcLampTypeEnum.NOTDEFINED IfcLayerSetDirectionEnum = enum_namespace() -axis1 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS1', INDETERMINATE) -axis2 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS2', INDETERMINATE) -axis3 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS3', INDETERMINATE) +axis1 = IfcLayerSetDirectionEnum.AXIS1 +axis2 = IfcLayerSetDirectionEnum.AXIS2 +axis3 = IfcLayerSetDirectionEnum.AXIS3 IfcLightDistributionCurveEnum = enum_namespace() -type_a = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_A', INDETERMINATE) -type_b = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_B', INDETERMINATE) -type_c = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_C', INDETERMINATE) -notdefined = express_getattr(IfcLightDistributionCurveEnum, 'NOTDEFINED', INDETERMINATE) +type_a = IfcLightDistributionCurveEnum.TYPE_A +type_b = IfcLightDistributionCurveEnum.TYPE_B +type_c = IfcLightDistributionCurveEnum.TYPE_C +notdefined = IfcLightDistributionCurveEnum.NOTDEFINED IfcLightEmissionSourceEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLightEmissionSourceEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLightEmissionSourceEnum, 'FLUORESCENT', INDETERMINATE) -highpressuremercury = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -lightemittingdiode = express_getattr(IfcLightEmissionSourceEnum, 'LIGHTEMITTINGDIODE', INDETERMINATE) -lowpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'LOWPRESSURESODIUM', INDETERMINATE) -lowvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'LOWVOLTAGEHALOGEN', INDETERMINATE) -mainvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'MAINVOLTAGEHALOGEN', INDETERMINATE) -metalhalide = express_getattr(IfcLightEmissionSourceEnum, 'METALHALIDE', INDETERMINATE) -tungstenfilament = express_getattr(IfcLightEmissionSourceEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -notdefined = express_getattr(IfcLightEmissionSourceEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLightEmissionSourceEnum.COMPACTFLUORESCENT +fluorescent = IfcLightEmissionSourceEnum.FLUORESCENT +highpressuremercury = IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM +lightemittingdiode = IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE +lowpressuresodium = IfcLightEmissionSourceEnum.LOWPRESSURESODIUM +lowvoltagehalogen = IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN +mainvoltagehalogen = IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN +metalhalide = IfcLightEmissionSourceEnum.METALHALIDE +tungstenfilament = IfcLightEmissionSourceEnum.TUNGSTENFILAMENT +notdefined = IfcLightEmissionSourceEnum.NOTDEFINED IfcLightFixtureTypeEnum = enum_namespace() -pointsource = express_getattr(IfcLightFixtureTypeEnum, 'POINTSOURCE', INDETERMINATE) -directionsource = express_getattr(IfcLightFixtureTypeEnum, 'DIRECTIONSOURCE', INDETERMINATE) -securitylighting = express_getattr(IfcLightFixtureTypeEnum, 'SECURITYLIGHTING', INDETERMINATE) -userdefined = express_getattr(IfcLightFixtureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLightFixtureTypeEnum, 'NOTDEFINED', INDETERMINATE) +pointsource = IfcLightFixtureTypeEnum.POINTSOURCE +directionsource = IfcLightFixtureTypeEnum.DIRECTIONSOURCE +securitylighting = IfcLightFixtureTypeEnum.SECURITYLIGHTING +userdefined = IfcLightFixtureTypeEnum.USERDEFINED +notdefined = IfcLightFixtureTypeEnum.NOTDEFINED IfcLoadGroupTypeEnum = enum_namespace() -load_group = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_GROUP', INDETERMINATE) -load_case = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_CASE', INDETERMINATE) -load_combination = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_COMBINATION', INDETERMINATE) -userdefined = express_getattr(IfcLoadGroupTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLoadGroupTypeEnum, 'NOTDEFINED', INDETERMINATE) +load_group = IfcLoadGroupTypeEnum.LOAD_GROUP +load_case = IfcLoadGroupTypeEnum.LOAD_CASE +load_combination = IfcLoadGroupTypeEnum.LOAD_COMBINATION +userdefined = IfcLoadGroupTypeEnum.USERDEFINED +notdefined = IfcLoadGroupTypeEnum.NOTDEFINED IfcLogicalOperatorEnum = enum_namespace() -logicaland = express_getattr(IfcLogicalOperatorEnum, 'LOGICALAND', INDETERMINATE) -logicalor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALOR', INDETERMINATE) -logicalxor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALXOR', INDETERMINATE) -logicalnotand = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTAND', INDETERMINATE) -logicalnotor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTOR', INDETERMINATE) +logicaland = IfcLogicalOperatorEnum.LOGICALAND +logicalor = IfcLogicalOperatorEnum.LOGICALOR +logicalxor = IfcLogicalOperatorEnum.LOGICALXOR +logicalnotand = IfcLogicalOperatorEnum.LOGICALNOTAND +logicalnotor = IfcLogicalOperatorEnum.LOGICALNOTOR IfcMechanicalFastenerTypeEnum = enum_namespace() -anchorbolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'ANCHORBOLT', INDETERMINATE) -bolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'BOLT', INDETERMINATE) -dowel = express_getattr(IfcMechanicalFastenerTypeEnum, 'DOWEL', INDETERMINATE) -nail = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAIL', INDETERMINATE) -nailplate = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAILPLATE', INDETERMINATE) -rivet = express_getattr(IfcMechanicalFastenerTypeEnum, 'RIVET', INDETERMINATE) -screw = express_getattr(IfcMechanicalFastenerTypeEnum, 'SCREW', INDETERMINATE) -shearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'SHEARCONNECTOR', INDETERMINATE) -staple = express_getattr(IfcMechanicalFastenerTypeEnum, 'STAPLE', INDETERMINATE) -studshearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'STUDSHEARCONNECTOR', INDETERMINATE) -userdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorbolt = IfcMechanicalFastenerTypeEnum.ANCHORBOLT +bolt = IfcMechanicalFastenerTypeEnum.BOLT +dowel = IfcMechanicalFastenerTypeEnum.DOWEL +nail = IfcMechanicalFastenerTypeEnum.NAIL +nailplate = IfcMechanicalFastenerTypeEnum.NAILPLATE +rivet = IfcMechanicalFastenerTypeEnum.RIVET +screw = IfcMechanicalFastenerTypeEnum.SCREW +shearconnector = IfcMechanicalFastenerTypeEnum.SHEARCONNECTOR +staple = IfcMechanicalFastenerTypeEnum.STAPLE +studshearconnector = IfcMechanicalFastenerTypeEnum.STUDSHEARCONNECTOR +userdefined = IfcMechanicalFastenerTypeEnum.USERDEFINED +notdefined = IfcMechanicalFastenerTypeEnum.NOTDEFINED IfcMedicalDeviceTypeEnum = enum_namespace() -airstation = express_getattr(IfcMedicalDeviceTypeEnum, 'AIRSTATION', INDETERMINATE) -feedairunit = express_getattr(IfcMedicalDeviceTypeEnum, 'FEEDAIRUNIT', INDETERMINATE) -oxygengenerator = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENGENERATOR', INDETERMINATE) -oxygenplant = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENPLANT', INDETERMINATE) -vacuumstation = express_getattr(IfcMedicalDeviceTypeEnum, 'VACUUMSTATION', INDETERMINATE) -userdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +airstation = IfcMedicalDeviceTypeEnum.AIRSTATION +feedairunit = IfcMedicalDeviceTypeEnum.FEEDAIRUNIT +oxygengenerator = IfcMedicalDeviceTypeEnum.OXYGENGENERATOR +oxygenplant = IfcMedicalDeviceTypeEnum.OXYGENPLANT +vacuumstation = IfcMedicalDeviceTypeEnum.VACUUMSTATION +userdefined = IfcMedicalDeviceTypeEnum.USERDEFINED +notdefined = IfcMedicalDeviceTypeEnum.NOTDEFINED IfcMemberTypeEnum = enum_namespace() -brace = express_getattr(IfcMemberTypeEnum, 'BRACE', INDETERMINATE) -chord = express_getattr(IfcMemberTypeEnum, 'CHORD', INDETERMINATE) -collar = express_getattr(IfcMemberTypeEnum, 'COLLAR', INDETERMINATE) -member = express_getattr(IfcMemberTypeEnum, 'MEMBER', INDETERMINATE) -mullion = express_getattr(IfcMemberTypeEnum, 'MULLION', INDETERMINATE) -plate = express_getattr(IfcMemberTypeEnum, 'PLATE', INDETERMINATE) -post = express_getattr(IfcMemberTypeEnum, 'POST', INDETERMINATE) -purlin = express_getattr(IfcMemberTypeEnum, 'PURLIN', INDETERMINATE) -rafter = express_getattr(IfcMemberTypeEnum, 'RAFTER', INDETERMINATE) -stringer = express_getattr(IfcMemberTypeEnum, 'STRINGER', INDETERMINATE) -strut = express_getattr(IfcMemberTypeEnum, 'STRUT', INDETERMINATE) -stud = express_getattr(IfcMemberTypeEnum, 'STUD', INDETERMINATE) -userdefined = express_getattr(IfcMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +brace = IfcMemberTypeEnum.BRACE +chord = IfcMemberTypeEnum.CHORD +collar = IfcMemberTypeEnum.COLLAR +member = IfcMemberTypeEnum.MEMBER +mullion = IfcMemberTypeEnum.MULLION +plate = IfcMemberTypeEnum.PLATE +post = IfcMemberTypeEnum.POST +purlin = IfcMemberTypeEnum.PURLIN +rafter = IfcMemberTypeEnum.RAFTER +stringer = IfcMemberTypeEnum.STRINGER +strut = IfcMemberTypeEnum.STRUT +stud = IfcMemberTypeEnum.STUD +userdefined = IfcMemberTypeEnum.USERDEFINED +notdefined = IfcMemberTypeEnum.NOTDEFINED IfcMotorConnectionTypeEnum = enum_namespace() -beltdrive = express_getattr(IfcMotorConnectionTypeEnum, 'BELTDRIVE', INDETERMINATE) -coupling = express_getattr(IfcMotorConnectionTypeEnum, 'COUPLING', INDETERMINATE) -directdrive = express_getattr(IfcMotorConnectionTypeEnum, 'DIRECTDRIVE', INDETERMINATE) -userdefined = express_getattr(IfcMotorConnectionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMotorConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +beltdrive = IfcMotorConnectionTypeEnum.BELTDRIVE +coupling = IfcMotorConnectionTypeEnum.COUPLING +directdrive = IfcMotorConnectionTypeEnum.DIRECTDRIVE +userdefined = IfcMotorConnectionTypeEnum.USERDEFINED +notdefined = IfcMotorConnectionTypeEnum.NOTDEFINED IfcNullStyle = enum_namespace() -null = express_getattr(IfcNullStyle, 'NULL', INDETERMINATE) +null = IfcNullStyle.NULL IfcObjectTypeEnum = enum_namespace() -product = express_getattr(IfcObjectTypeEnum, 'PRODUCT', INDETERMINATE) -process = express_getattr(IfcObjectTypeEnum, 'PROCESS', INDETERMINATE) -control = express_getattr(IfcObjectTypeEnum, 'CONTROL', INDETERMINATE) -resource = express_getattr(IfcObjectTypeEnum, 'RESOURCE', INDETERMINATE) -actor = express_getattr(IfcObjectTypeEnum, 'ACTOR', INDETERMINATE) -group = express_getattr(IfcObjectTypeEnum, 'GROUP', INDETERMINATE) -project = express_getattr(IfcObjectTypeEnum, 'PROJECT', INDETERMINATE) -notdefined = express_getattr(IfcObjectTypeEnum, 'NOTDEFINED', INDETERMINATE) +product = IfcObjectTypeEnum.PRODUCT +process = IfcObjectTypeEnum.PROCESS +control = IfcObjectTypeEnum.CONTROL +resource = IfcObjectTypeEnum.RESOURCE +actor = IfcObjectTypeEnum.ACTOR +group = IfcObjectTypeEnum.GROUP +project = IfcObjectTypeEnum.PROJECT +notdefined = IfcObjectTypeEnum.NOTDEFINED IfcObjectiveEnum = enum_namespace() -codecompliance = express_getattr(IfcObjectiveEnum, 'CODECOMPLIANCE', INDETERMINATE) -codewaiver = express_getattr(IfcObjectiveEnum, 'CODEWAIVER', INDETERMINATE) -designintent = express_getattr(IfcObjectiveEnum, 'DESIGNINTENT', INDETERMINATE) -external = express_getattr(IfcObjectiveEnum, 'EXTERNAL', INDETERMINATE) -healthandsafety = express_getattr(IfcObjectiveEnum, 'HEALTHANDSAFETY', INDETERMINATE) -mergeconflict = express_getattr(IfcObjectiveEnum, 'MERGECONFLICT', INDETERMINATE) -modelview = express_getattr(IfcObjectiveEnum, 'MODELVIEW', INDETERMINATE) -parameter = express_getattr(IfcObjectiveEnum, 'PARAMETER', INDETERMINATE) -requirement = express_getattr(IfcObjectiveEnum, 'REQUIREMENT', INDETERMINATE) -specification = express_getattr(IfcObjectiveEnum, 'SPECIFICATION', INDETERMINATE) -triggercondition = express_getattr(IfcObjectiveEnum, 'TRIGGERCONDITION', INDETERMINATE) -userdefined = express_getattr(IfcObjectiveEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcObjectiveEnum, 'NOTDEFINED', INDETERMINATE) +codecompliance = IfcObjectiveEnum.CODECOMPLIANCE +codewaiver = IfcObjectiveEnum.CODEWAIVER +designintent = IfcObjectiveEnum.DESIGNINTENT +external = IfcObjectiveEnum.EXTERNAL +healthandsafety = IfcObjectiveEnum.HEALTHANDSAFETY +mergeconflict = IfcObjectiveEnum.MERGECONFLICT +modelview = IfcObjectiveEnum.MODELVIEW +parameter = IfcObjectiveEnum.PARAMETER +requirement = IfcObjectiveEnum.REQUIREMENT +specification = IfcObjectiveEnum.SPECIFICATION +triggercondition = IfcObjectiveEnum.TRIGGERCONDITION +userdefined = IfcObjectiveEnum.USERDEFINED +notdefined = IfcObjectiveEnum.NOTDEFINED IfcOccupantTypeEnum = enum_namespace() -assignee = express_getattr(IfcOccupantTypeEnum, 'ASSIGNEE', INDETERMINATE) -assignor = express_getattr(IfcOccupantTypeEnum, 'ASSIGNOR', INDETERMINATE) -lessee = express_getattr(IfcOccupantTypeEnum, 'LESSEE', INDETERMINATE) -lessor = express_getattr(IfcOccupantTypeEnum, 'LESSOR', INDETERMINATE) -lettingagent = express_getattr(IfcOccupantTypeEnum, 'LETTINGAGENT', INDETERMINATE) -owner = express_getattr(IfcOccupantTypeEnum, 'OWNER', INDETERMINATE) -tenant = express_getattr(IfcOccupantTypeEnum, 'TENANT', INDETERMINATE) -userdefined = express_getattr(IfcOccupantTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOccupantTypeEnum, 'NOTDEFINED', INDETERMINATE) +assignee = IfcOccupantTypeEnum.ASSIGNEE +assignor = IfcOccupantTypeEnum.ASSIGNOR +lessee = IfcOccupantTypeEnum.LESSEE +lessor = IfcOccupantTypeEnum.LESSOR +lettingagent = IfcOccupantTypeEnum.LETTINGAGENT +owner = IfcOccupantTypeEnum.OWNER +tenant = IfcOccupantTypeEnum.TENANT +userdefined = IfcOccupantTypeEnum.USERDEFINED +notdefined = IfcOccupantTypeEnum.NOTDEFINED IfcOpeningElementTypeEnum = enum_namespace() -opening = express_getattr(IfcOpeningElementTypeEnum, 'OPENING', INDETERMINATE) -recess = express_getattr(IfcOpeningElementTypeEnum, 'RECESS', INDETERMINATE) -userdefined = express_getattr(IfcOpeningElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOpeningElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +opening = IfcOpeningElementTypeEnum.OPENING +recess = IfcOpeningElementTypeEnum.RECESS +userdefined = IfcOpeningElementTypeEnum.USERDEFINED +notdefined = IfcOpeningElementTypeEnum.NOTDEFINED IfcOutletTypeEnum = enum_namespace() -audiovisualoutlet = express_getattr(IfcOutletTypeEnum, 'AUDIOVISUALOUTLET', INDETERMINATE) -communicationsoutlet = express_getattr(IfcOutletTypeEnum, 'COMMUNICATIONSOUTLET', INDETERMINATE) -poweroutlet = express_getattr(IfcOutletTypeEnum, 'POWEROUTLET', INDETERMINATE) -dataoutlet = express_getattr(IfcOutletTypeEnum, 'DATAOUTLET', INDETERMINATE) -telephoneoutlet = express_getattr(IfcOutletTypeEnum, 'TELEPHONEOUTLET', INDETERMINATE) -userdefined = express_getattr(IfcOutletTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOutletTypeEnum, 'NOTDEFINED', INDETERMINATE) +audiovisualoutlet = IfcOutletTypeEnum.AUDIOVISUALOUTLET +communicationsoutlet = IfcOutletTypeEnum.COMMUNICATIONSOUTLET +poweroutlet = IfcOutletTypeEnum.POWEROUTLET +dataoutlet = IfcOutletTypeEnum.DATAOUTLET +telephoneoutlet = IfcOutletTypeEnum.TELEPHONEOUTLET +userdefined = IfcOutletTypeEnum.USERDEFINED +notdefined = IfcOutletTypeEnum.NOTDEFINED IfcPerformanceHistoryTypeEnum = enum_namespace() -userdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcPerformanceHistoryTypeEnum.USERDEFINED +notdefined = IfcPerformanceHistoryTypeEnum.NOTDEFINED IfcPermeableCoveringOperationEnum = enum_namespace() -grill = express_getattr(IfcPermeableCoveringOperationEnum, 'GRILL', INDETERMINATE) -louver = express_getattr(IfcPermeableCoveringOperationEnum, 'LOUVER', INDETERMINATE) -screen = express_getattr(IfcPermeableCoveringOperationEnum, 'SCREEN', INDETERMINATE) -userdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'NOTDEFINED', INDETERMINATE) +grill = IfcPermeableCoveringOperationEnum.GRILL +louver = IfcPermeableCoveringOperationEnum.LOUVER +screen = IfcPermeableCoveringOperationEnum.SCREEN +userdefined = IfcPermeableCoveringOperationEnum.USERDEFINED +notdefined = IfcPermeableCoveringOperationEnum.NOTDEFINED IfcPermitTypeEnum = enum_namespace() -access = express_getattr(IfcPermitTypeEnum, 'ACCESS', INDETERMINATE) -building = express_getattr(IfcPermitTypeEnum, 'BUILDING', INDETERMINATE) -work = express_getattr(IfcPermitTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcPermitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermitTypeEnum, 'NOTDEFINED', INDETERMINATE) +access = IfcPermitTypeEnum.ACCESS +building = IfcPermitTypeEnum.BUILDING +work = IfcPermitTypeEnum.WORK +userdefined = IfcPermitTypeEnum.USERDEFINED +notdefined = IfcPermitTypeEnum.NOTDEFINED IfcPhysicalOrVirtualEnum = enum_namespace() -physical = express_getattr(IfcPhysicalOrVirtualEnum, 'PHYSICAL', INDETERMINATE) -virtual = express_getattr(IfcPhysicalOrVirtualEnum, 'VIRTUAL', INDETERMINATE) -notdefined = express_getattr(IfcPhysicalOrVirtualEnum, 'NOTDEFINED', INDETERMINATE) +physical = IfcPhysicalOrVirtualEnum.PHYSICAL +virtual = IfcPhysicalOrVirtualEnum.VIRTUAL +notdefined = IfcPhysicalOrVirtualEnum.NOTDEFINED IfcPileConstructionEnum = enum_namespace() -cast_in_place = express_getattr(IfcPileConstructionEnum, 'CAST_IN_PLACE', INDETERMINATE) -composite = express_getattr(IfcPileConstructionEnum, 'COMPOSITE', INDETERMINATE) -precast_concrete = express_getattr(IfcPileConstructionEnum, 'PRECAST_CONCRETE', INDETERMINATE) -prefab_steel = express_getattr(IfcPileConstructionEnum, 'PREFAB_STEEL', INDETERMINATE) -userdefined = express_getattr(IfcPileConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileConstructionEnum, 'NOTDEFINED', INDETERMINATE) +cast_in_place = IfcPileConstructionEnum.CAST_IN_PLACE +composite = IfcPileConstructionEnum.COMPOSITE +precast_concrete = IfcPileConstructionEnum.PRECAST_CONCRETE +prefab_steel = IfcPileConstructionEnum.PREFAB_STEEL +userdefined = IfcPileConstructionEnum.USERDEFINED +notdefined = IfcPileConstructionEnum.NOTDEFINED IfcPileTypeEnum = enum_namespace() -bored = express_getattr(IfcPileTypeEnum, 'BORED', INDETERMINATE) -driven = express_getattr(IfcPileTypeEnum, 'DRIVEN', INDETERMINATE) -jetgrouting = express_getattr(IfcPileTypeEnum, 'JETGROUTING', INDETERMINATE) -cohesion = express_getattr(IfcPileTypeEnum, 'COHESION', INDETERMINATE) -friction = express_getattr(IfcPileTypeEnum, 'FRICTION', INDETERMINATE) -support = express_getattr(IfcPileTypeEnum, 'SUPPORT', INDETERMINATE) -userdefined = express_getattr(IfcPileTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileTypeEnum, 'NOTDEFINED', INDETERMINATE) +bored = IfcPileTypeEnum.BORED +driven = IfcPileTypeEnum.DRIVEN +jetgrouting = IfcPileTypeEnum.JETGROUTING +cohesion = IfcPileTypeEnum.COHESION +friction = IfcPileTypeEnum.FRICTION +support = IfcPileTypeEnum.SUPPORT +userdefined = IfcPileTypeEnum.USERDEFINED +notdefined = IfcPileTypeEnum.NOTDEFINED IfcPipeFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcPipeFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcPipeFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcPipeFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcPipeFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcPipeFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcPipeFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcPipeFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcPipeFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcPipeFittingTypeEnum.BEND +connector = IfcPipeFittingTypeEnum.CONNECTOR +entry = IfcPipeFittingTypeEnum.ENTRY +exit = IfcPipeFittingTypeEnum.EXIT +junction = IfcPipeFittingTypeEnum.JUNCTION +obstruction = IfcPipeFittingTypeEnum.OBSTRUCTION +transition = IfcPipeFittingTypeEnum.TRANSITION +userdefined = IfcPipeFittingTypeEnum.USERDEFINED +notdefined = IfcPipeFittingTypeEnum.NOTDEFINED IfcPipeSegmentTypeEnum = enum_namespace() -culvert = express_getattr(IfcPipeSegmentTypeEnum, 'CULVERT', INDETERMINATE) -flexiblesegment = express_getattr(IfcPipeSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -rigidsegment = express_getattr(IfcPipeSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -gutter = express_getattr(IfcPipeSegmentTypeEnum, 'GUTTER', INDETERMINATE) -spool = express_getattr(IfcPipeSegmentTypeEnum, 'SPOOL', INDETERMINATE) -userdefined = express_getattr(IfcPipeSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +culvert = IfcPipeSegmentTypeEnum.CULVERT +flexiblesegment = IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT +rigidsegment = IfcPipeSegmentTypeEnum.RIGIDSEGMENT +gutter = IfcPipeSegmentTypeEnum.GUTTER +spool = IfcPipeSegmentTypeEnum.SPOOL +userdefined = IfcPipeSegmentTypeEnum.USERDEFINED +notdefined = IfcPipeSegmentTypeEnum.NOTDEFINED IfcPlateTypeEnum = enum_namespace() -curtain_panel = express_getattr(IfcPlateTypeEnum, 'CURTAIN_PANEL', INDETERMINATE) -sheet = express_getattr(IfcPlateTypeEnum, 'SHEET', INDETERMINATE) -userdefined = express_getattr(IfcPlateTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPlateTypeEnum, 'NOTDEFINED', INDETERMINATE) +curtain_panel = IfcPlateTypeEnum.CURTAIN_PANEL +sheet = IfcPlateTypeEnum.SHEET +userdefined = IfcPlateTypeEnum.USERDEFINED +notdefined = IfcPlateTypeEnum.NOTDEFINED IfcPreferredSurfaceCurveRepresentation = enum_namespace() -curve3d = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'CURVE3D', INDETERMINATE) -pcurve_s1 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S1', INDETERMINATE) -pcurve_s2 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S2', INDETERMINATE) +curve3d = IfcPreferredSurfaceCurveRepresentation.CURVE3D +pcurve_s1 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S1 +pcurve_s2 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S2 IfcProcedureTypeEnum = enum_namespace() -advice_caution = express_getattr(IfcProcedureTypeEnum, 'ADVICE_CAUTION', INDETERMINATE) -advice_note = express_getattr(IfcProcedureTypeEnum, 'ADVICE_NOTE', INDETERMINATE) -advice_warning = express_getattr(IfcProcedureTypeEnum, 'ADVICE_WARNING', INDETERMINATE) -calibration = express_getattr(IfcProcedureTypeEnum, 'CALIBRATION', INDETERMINATE) -diagnostic = express_getattr(IfcProcedureTypeEnum, 'DIAGNOSTIC', INDETERMINATE) -shutdown = express_getattr(IfcProcedureTypeEnum, 'SHUTDOWN', INDETERMINATE) -startup = express_getattr(IfcProcedureTypeEnum, 'STARTUP', INDETERMINATE) -userdefined = express_getattr(IfcProcedureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProcedureTypeEnum, 'NOTDEFINED', INDETERMINATE) +advice_caution = IfcProcedureTypeEnum.ADVICE_CAUTION +advice_note = IfcProcedureTypeEnum.ADVICE_NOTE +advice_warning = IfcProcedureTypeEnum.ADVICE_WARNING +calibration = IfcProcedureTypeEnum.CALIBRATION +diagnostic = IfcProcedureTypeEnum.DIAGNOSTIC +shutdown = IfcProcedureTypeEnum.SHUTDOWN +startup = IfcProcedureTypeEnum.STARTUP +userdefined = IfcProcedureTypeEnum.USERDEFINED +notdefined = IfcProcedureTypeEnum.NOTDEFINED IfcProfileTypeEnum = enum_namespace() -curve = express_getattr(IfcProfileTypeEnum, 'CURVE', INDETERMINATE) -area = express_getattr(IfcProfileTypeEnum, 'AREA', INDETERMINATE) +curve = IfcProfileTypeEnum.CURVE +area = IfcProfileTypeEnum.AREA IfcProjectOrderTypeEnum = enum_namespace() -changeorder = express_getattr(IfcProjectOrderTypeEnum, 'CHANGEORDER', INDETERMINATE) -maintenanceworkorder = express_getattr(IfcProjectOrderTypeEnum, 'MAINTENANCEWORKORDER', INDETERMINATE) -moveorder = express_getattr(IfcProjectOrderTypeEnum, 'MOVEORDER', INDETERMINATE) -purchaseorder = express_getattr(IfcProjectOrderTypeEnum, 'PURCHASEORDER', INDETERMINATE) -workorder = express_getattr(IfcProjectOrderTypeEnum, 'WORKORDER', INDETERMINATE) -userdefined = express_getattr(IfcProjectOrderTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectOrderTypeEnum, 'NOTDEFINED', INDETERMINATE) +changeorder = IfcProjectOrderTypeEnum.CHANGEORDER +maintenanceworkorder = IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER +moveorder = IfcProjectOrderTypeEnum.MOVEORDER +purchaseorder = IfcProjectOrderTypeEnum.PURCHASEORDER +workorder = IfcProjectOrderTypeEnum.WORKORDER +userdefined = IfcProjectOrderTypeEnum.USERDEFINED +notdefined = IfcProjectOrderTypeEnum.NOTDEFINED IfcProjectedOrTrueLengthEnum = enum_namespace() -projected_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'PROJECTED_LENGTH', INDETERMINATE) -true_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'TRUE_LENGTH', INDETERMINATE) +projected_length = IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH +true_length = IfcProjectedOrTrueLengthEnum.TRUE_LENGTH IfcProjectionElementTypeEnum = enum_namespace() -userdefined = express_getattr(IfcProjectionElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectionElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcProjectionElementTypeEnum.USERDEFINED +notdefined = IfcProjectionElementTypeEnum.NOTDEFINED IfcPropertySetTemplateTypeEnum = enum_namespace() -pset_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENONLY', INDETERMINATE) -pset_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENOVERRIDE', INDETERMINATE) -pset_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_OCCURRENCEDRIVEN', INDETERMINATE) -pset_performancedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_PERFORMANCEDRIVEN', INDETERMINATE) -qto_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENONLY', INDETERMINATE) -qto_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENOVERRIDE', INDETERMINATE) -qto_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_OCCURRENCEDRIVEN', INDETERMINATE) -notdefined = express_getattr(IfcPropertySetTemplateTypeEnum, 'NOTDEFINED', INDETERMINATE) +pset_typedrivenonly = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENONLY +pset_typedrivenoverride = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENOVERRIDE +pset_occurrencedriven = IfcPropertySetTemplateTypeEnum.PSET_OCCURRENCEDRIVEN +pset_performancedriven = IfcPropertySetTemplateTypeEnum.PSET_PERFORMANCEDRIVEN +qto_typedrivenonly = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENONLY +qto_typedrivenoverride = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENOVERRIDE +qto_occurrencedriven = IfcPropertySetTemplateTypeEnum.QTO_OCCURRENCEDRIVEN +notdefined = IfcPropertySetTemplateTypeEnum.NOTDEFINED IfcProtectiveDeviceTrippingUnitTypeEnum = enum_namespace() -electronic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTRONIC', INDETERMINATE) -electromagnetic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTROMAGNETIC', INDETERMINATE) -residualcurrent = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'RESIDUALCURRENT', INDETERMINATE) -thermal = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'THERMAL', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'NOTDEFINED', INDETERMINATE) +electronic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTRONIC +electromagnetic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTROMAGNETIC +residualcurrent = IfcProtectiveDeviceTrippingUnitTypeEnum.RESIDUALCURRENT +thermal = IfcProtectiveDeviceTrippingUnitTypeEnum.THERMAL +userdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.NOTDEFINED IfcProtectiveDeviceTypeEnum = enum_namespace() -circuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'CIRCUITBREAKER', INDETERMINATE) -earthleakagecircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHLEAKAGECIRCUITBREAKER', INDETERMINATE) -earthingswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHINGSWITCH', INDETERMINATE) -fusedisconnector = express_getattr(IfcProtectiveDeviceTypeEnum, 'FUSEDISCONNECTOR', INDETERMINATE) -residualcurrentcircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTCIRCUITBREAKER', INDETERMINATE) -residualcurrentswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTSWITCH', INDETERMINATE) -varistor = express_getattr(IfcProtectiveDeviceTypeEnum, 'VARISTOR', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +circuitbreaker = IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER +earthleakagecircuitbreaker = IfcProtectiveDeviceTypeEnum.EARTHLEAKAGECIRCUITBREAKER +earthingswitch = IfcProtectiveDeviceTypeEnum.EARTHINGSWITCH +fusedisconnector = IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR +residualcurrentcircuitbreaker = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER +residualcurrentswitch = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH +varistor = IfcProtectiveDeviceTypeEnum.VARISTOR +userdefined = IfcProtectiveDeviceTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTypeEnum.NOTDEFINED IfcPumpTypeEnum = enum_namespace() -circulator = express_getattr(IfcPumpTypeEnum, 'CIRCULATOR', INDETERMINATE) -endsuction = express_getattr(IfcPumpTypeEnum, 'ENDSUCTION', INDETERMINATE) -splitcase = express_getattr(IfcPumpTypeEnum, 'SPLITCASE', INDETERMINATE) -submersiblepump = express_getattr(IfcPumpTypeEnum, 'SUBMERSIBLEPUMP', INDETERMINATE) -sumppump = express_getattr(IfcPumpTypeEnum, 'SUMPPUMP', INDETERMINATE) -verticalinline = express_getattr(IfcPumpTypeEnum, 'VERTICALINLINE', INDETERMINATE) -verticalturbine = express_getattr(IfcPumpTypeEnum, 'VERTICALTURBINE', INDETERMINATE) -userdefined = express_getattr(IfcPumpTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPumpTypeEnum, 'NOTDEFINED', INDETERMINATE) +circulator = IfcPumpTypeEnum.CIRCULATOR +endsuction = IfcPumpTypeEnum.ENDSUCTION +splitcase = IfcPumpTypeEnum.SPLITCASE +submersiblepump = IfcPumpTypeEnum.SUBMERSIBLEPUMP +sumppump = IfcPumpTypeEnum.SUMPPUMP +verticalinline = IfcPumpTypeEnum.VERTICALINLINE +verticalturbine = IfcPumpTypeEnum.VERTICALTURBINE +userdefined = IfcPumpTypeEnum.USERDEFINED +notdefined = IfcPumpTypeEnum.NOTDEFINED IfcRailingTypeEnum = enum_namespace() -handrail = express_getattr(IfcRailingTypeEnum, 'HANDRAIL', INDETERMINATE) -guardrail = express_getattr(IfcRailingTypeEnum, 'GUARDRAIL', INDETERMINATE) -balustrade = express_getattr(IfcRailingTypeEnum, 'BALUSTRADE', INDETERMINATE) -userdefined = express_getattr(IfcRailingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailingTypeEnum, 'NOTDEFINED', INDETERMINATE) +handrail = IfcRailingTypeEnum.HANDRAIL +guardrail = IfcRailingTypeEnum.GUARDRAIL +balustrade = IfcRailingTypeEnum.BALUSTRADE +userdefined = IfcRailingTypeEnum.USERDEFINED +notdefined = IfcRailingTypeEnum.NOTDEFINED IfcRampFlightTypeEnum = enum_namespace() -straight = express_getattr(IfcRampFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -spiral = express_getattr(IfcRampFlightTypeEnum, 'SPIRAL', INDETERMINATE) -userdefined = express_getattr(IfcRampFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight = IfcRampFlightTypeEnum.STRAIGHT +spiral = IfcRampFlightTypeEnum.SPIRAL +userdefined = IfcRampFlightTypeEnum.USERDEFINED +notdefined = IfcRampFlightTypeEnum.NOTDEFINED IfcRampTypeEnum = enum_namespace() -straight_run_ramp = express_getattr(IfcRampTypeEnum, 'STRAIGHT_RUN_RAMP', INDETERMINATE) -two_straight_run_ramp = express_getattr(IfcRampTypeEnum, 'TWO_STRAIGHT_RUN_RAMP', INDETERMINATE) -quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'QUARTER_TURN_RAMP', INDETERMINATE) -two_quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'TWO_QUARTER_TURN_RAMP', INDETERMINATE) -half_turn_ramp = express_getattr(IfcRampTypeEnum, 'HALF_TURN_RAMP', INDETERMINATE) -spiral_ramp = express_getattr(IfcRampTypeEnum, 'SPIRAL_RAMP', INDETERMINATE) -userdefined = express_getattr(IfcRampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight_run_ramp = IfcRampTypeEnum.STRAIGHT_RUN_RAMP +two_straight_run_ramp = IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP +quarter_turn_ramp = IfcRampTypeEnum.QUARTER_TURN_RAMP +two_quarter_turn_ramp = IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP +half_turn_ramp = IfcRampTypeEnum.HALF_TURN_RAMP +spiral_ramp = IfcRampTypeEnum.SPIRAL_RAMP +userdefined = IfcRampTypeEnum.USERDEFINED +notdefined = IfcRampTypeEnum.NOTDEFINED IfcRecurrenceTypeEnum = enum_namespace() -daily = express_getattr(IfcRecurrenceTypeEnum, 'DAILY', INDETERMINATE) -weekly = express_getattr(IfcRecurrenceTypeEnum, 'WEEKLY', INDETERMINATE) -monthly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_DAY_OF_MONTH', INDETERMINATE) -monthly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_POSITION', INDETERMINATE) -by_day_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_DAY_COUNT', INDETERMINATE) -by_weekday_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_WEEKDAY_COUNT', INDETERMINATE) -yearly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_DAY_OF_MONTH', INDETERMINATE) -yearly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_POSITION', INDETERMINATE) +daily = IfcRecurrenceTypeEnum.DAILY +weekly = IfcRecurrenceTypeEnum.WEEKLY +monthly_by_day_of_month = IfcRecurrenceTypeEnum.MONTHLY_BY_DAY_OF_MONTH +monthly_by_position = IfcRecurrenceTypeEnum.MONTHLY_BY_POSITION +by_day_count = IfcRecurrenceTypeEnum.BY_DAY_COUNT +by_weekday_count = IfcRecurrenceTypeEnum.BY_WEEKDAY_COUNT +yearly_by_day_of_month = IfcRecurrenceTypeEnum.YEARLY_BY_DAY_OF_MONTH +yearly_by_position = IfcRecurrenceTypeEnum.YEARLY_BY_POSITION IfcReferentTypeEnum = enum_namespace() -kilopoint = express_getattr(IfcReferentTypeEnum, 'KILOPOINT', INDETERMINATE) -milepoint = express_getattr(IfcReferentTypeEnum, 'MILEPOINT', INDETERMINATE) -station = express_getattr(IfcReferentTypeEnum, 'STATION', INDETERMINATE) -userdefined = express_getattr(IfcReferentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReferentTypeEnum, 'NOTDEFINED', INDETERMINATE) +kilopoint = IfcReferentTypeEnum.KILOPOINT +milepoint = IfcReferentTypeEnum.MILEPOINT +station = IfcReferentTypeEnum.STATION +userdefined = IfcReferentTypeEnum.USERDEFINED +notdefined = IfcReferentTypeEnum.NOTDEFINED IfcReflectanceMethodEnum = enum_namespace() -blinn = express_getattr(IfcReflectanceMethodEnum, 'BLINN', INDETERMINATE) -flat = express_getattr(IfcReflectanceMethodEnum, 'FLAT', INDETERMINATE) -glass = express_getattr(IfcReflectanceMethodEnum, 'GLASS', INDETERMINATE) -matt = express_getattr(IfcReflectanceMethodEnum, 'MATT', INDETERMINATE) -metal = express_getattr(IfcReflectanceMethodEnum, 'METAL', INDETERMINATE) -mirror = express_getattr(IfcReflectanceMethodEnum, 'MIRROR', INDETERMINATE) -phong = express_getattr(IfcReflectanceMethodEnum, 'PHONG', INDETERMINATE) -plastic = express_getattr(IfcReflectanceMethodEnum, 'PLASTIC', INDETERMINATE) -strauss = express_getattr(IfcReflectanceMethodEnum, 'STRAUSS', INDETERMINATE) -notdefined = express_getattr(IfcReflectanceMethodEnum, 'NOTDEFINED', INDETERMINATE) +blinn = IfcReflectanceMethodEnum.BLINN +flat = IfcReflectanceMethodEnum.FLAT +glass = IfcReflectanceMethodEnum.GLASS +matt = IfcReflectanceMethodEnum.MATT +metal = IfcReflectanceMethodEnum.METAL +mirror = IfcReflectanceMethodEnum.MIRROR +phong = IfcReflectanceMethodEnum.PHONG +plastic = IfcReflectanceMethodEnum.PLASTIC +strauss = IfcReflectanceMethodEnum.STRAUSS +notdefined = IfcReflectanceMethodEnum.NOTDEFINED IfcReinforcingBarRoleEnum = enum_namespace() -main = express_getattr(IfcReinforcingBarRoleEnum, 'MAIN', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarRoleEnum, 'SHEAR', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarRoleEnum, 'LIGATURE', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarRoleEnum, 'STUD', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarRoleEnum, 'PUNCHING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarRoleEnum, 'EDGE', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarRoleEnum, 'RING', INDETERMINATE) -anchoring = express_getattr(IfcReinforcingBarRoleEnum, 'ANCHORING', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarRoleEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarRoleEnum, 'NOTDEFINED', INDETERMINATE) +main = IfcReinforcingBarRoleEnum.MAIN +shear = IfcReinforcingBarRoleEnum.SHEAR +ligature = IfcReinforcingBarRoleEnum.LIGATURE +stud = IfcReinforcingBarRoleEnum.STUD +punching = IfcReinforcingBarRoleEnum.PUNCHING +edge = IfcReinforcingBarRoleEnum.EDGE +ring = IfcReinforcingBarRoleEnum.RING +anchoring = IfcReinforcingBarRoleEnum.ANCHORING +userdefined = IfcReinforcingBarRoleEnum.USERDEFINED +notdefined = IfcReinforcingBarRoleEnum.NOTDEFINED IfcReinforcingBarSurfaceEnum = enum_namespace() -plain = express_getattr(IfcReinforcingBarSurfaceEnum, 'PLAIN', INDETERMINATE) -textured = express_getattr(IfcReinforcingBarSurfaceEnum, 'TEXTURED', INDETERMINATE) +plain = IfcReinforcingBarSurfaceEnum.PLAIN +textured = IfcReinforcingBarSurfaceEnum.TEXTURED IfcReinforcingBarTypeEnum = enum_namespace() -anchoring = express_getattr(IfcReinforcingBarTypeEnum, 'ANCHORING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarTypeEnum, 'EDGE', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarTypeEnum, 'LIGATURE', INDETERMINATE) -main = express_getattr(IfcReinforcingBarTypeEnum, 'MAIN', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarTypeEnum, 'PUNCHING', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarTypeEnum, 'RING', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarTypeEnum, 'SHEAR', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarTypeEnum, 'STUD', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchoring = IfcReinforcingBarTypeEnum.ANCHORING +edge = IfcReinforcingBarTypeEnum.EDGE +ligature = IfcReinforcingBarTypeEnum.LIGATURE +main = IfcReinforcingBarTypeEnum.MAIN +punching = IfcReinforcingBarTypeEnum.PUNCHING +ring = IfcReinforcingBarTypeEnum.RING +shear = IfcReinforcingBarTypeEnum.SHEAR +stud = IfcReinforcingBarTypeEnum.STUD +userdefined = IfcReinforcingBarTypeEnum.USERDEFINED +notdefined = IfcReinforcingBarTypeEnum.NOTDEFINED IfcReinforcingMeshTypeEnum = enum_namespace() -userdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcReinforcingMeshTypeEnum.USERDEFINED +notdefined = IfcReinforcingMeshTypeEnum.NOTDEFINED IfcRoleEnum = enum_namespace() -supplier = express_getattr(IfcRoleEnum, 'SUPPLIER', INDETERMINATE) -manufacturer = express_getattr(IfcRoleEnum, 'MANUFACTURER', INDETERMINATE) -contractor = express_getattr(IfcRoleEnum, 'CONTRACTOR', INDETERMINATE) -subcontractor = express_getattr(IfcRoleEnum, 'SUBCONTRACTOR', INDETERMINATE) -architect = express_getattr(IfcRoleEnum, 'ARCHITECT', INDETERMINATE) -structuralengineer = express_getattr(IfcRoleEnum, 'STRUCTURALENGINEER', INDETERMINATE) -costengineer = express_getattr(IfcRoleEnum, 'COSTENGINEER', INDETERMINATE) -client = express_getattr(IfcRoleEnum, 'CLIENT', INDETERMINATE) -buildingowner = express_getattr(IfcRoleEnum, 'BUILDINGOWNER', INDETERMINATE) -buildingoperator = express_getattr(IfcRoleEnum, 'BUILDINGOPERATOR', INDETERMINATE) -mechanicalengineer = express_getattr(IfcRoleEnum, 'MECHANICALENGINEER', INDETERMINATE) -electricalengineer = express_getattr(IfcRoleEnum, 'ELECTRICALENGINEER', INDETERMINATE) -projectmanager = express_getattr(IfcRoleEnum, 'PROJECTMANAGER', INDETERMINATE) -facilitiesmanager = express_getattr(IfcRoleEnum, 'FACILITIESMANAGER', INDETERMINATE) -civilengineer = express_getattr(IfcRoleEnum, 'CIVILENGINEER', INDETERMINATE) -commissioningengineer = express_getattr(IfcRoleEnum, 'COMMISSIONINGENGINEER', INDETERMINATE) -engineer = express_getattr(IfcRoleEnum, 'ENGINEER', INDETERMINATE) -owner = express_getattr(IfcRoleEnum, 'OWNER', INDETERMINATE) -consultant = express_getattr(IfcRoleEnum, 'CONSULTANT', INDETERMINATE) -constructionmanager = express_getattr(IfcRoleEnum, 'CONSTRUCTIONMANAGER', INDETERMINATE) -fieldconstructionmanager = express_getattr(IfcRoleEnum, 'FIELDCONSTRUCTIONMANAGER', INDETERMINATE) -reseller = express_getattr(IfcRoleEnum, 'RESELLER', INDETERMINATE) -userdefined = express_getattr(IfcRoleEnum, 'USERDEFINED', INDETERMINATE) +supplier = IfcRoleEnum.SUPPLIER +manufacturer = IfcRoleEnum.MANUFACTURER +contractor = IfcRoleEnum.CONTRACTOR +subcontractor = IfcRoleEnum.SUBCONTRACTOR +architect = IfcRoleEnum.ARCHITECT +structuralengineer = IfcRoleEnum.STRUCTURALENGINEER +costengineer = IfcRoleEnum.COSTENGINEER +client = IfcRoleEnum.CLIENT +buildingowner = IfcRoleEnum.BUILDINGOWNER +buildingoperator = IfcRoleEnum.BUILDINGOPERATOR +mechanicalengineer = IfcRoleEnum.MECHANICALENGINEER +electricalengineer = IfcRoleEnum.ELECTRICALENGINEER +projectmanager = IfcRoleEnum.PROJECTMANAGER +facilitiesmanager = IfcRoleEnum.FACILITIESMANAGER +civilengineer = IfcRoleEnum.CIVILENGINEER +commissioningengineer = IfcRoleEnum.COMMISSIONINGENGINEER +engineer = IfcRoleEnum.ENGINEER +owner = IfcRoleEnum.OWNER +consultant = IfcRoleEnum.CONSULTANT +constructionmanager = IfcRoleEnum.CONSTRUCTIONMANAGER +fieldconstructionmanager = IfcRoleEnum.FIELDCONSTRUCTIONMANAGER +reseller = IfcRoleEnum.RESELLER +userdefined = IfcRoleEnum.USERDEFINED IfcRoofTypeEnum = enum_namespace() -flat_roof = express_getattr(IfcRoofTypeEnum, 'FLAT_ROOF', INDETERMINATE) -shed_roof = express_getattr(IfcRoofTypeEnum, 'SHED_ROOF', INDETERMINATE) -gable_roof = express_getattr(IfcRoofTypeEnum, 'GABLE_ROOF', INDETERMINATE) -hip_roof = express_getattr(IfcRoofTypeEnum, 'HIP_ROOF', INDETERMINATE) -hipped_gable_roof = express_getattr(IfcRoofTypeEnum, 'HIPPED_GABLE_ROOF', INDETERMINATE) -gambrel_roof = express_getattr(IfcRoofTypeEnum, 'GAMBREL_ROOF', INDETERMINATE) -mansard_roof = express_getattr(IfcRoofTypeEnum, 'MANSARD_ROOF', INDETERMINATE) -barrel_roof = express_getattr(IfcRoofTypeEnum, 'BARREL_ROOF', INDETERMINATE) -rainbow_roof = express_getattr(IfcRoofTypeEnum, 'RAINBOW_ROOF', INDETERMINATE) -butterfly_roof = express_getattr(IfcRoofTypeEnum, 'BUTTERFLY_ROOF', INDETERMINATE) -pavilion_roof = express_getattr(IfcRoofTypeEnum, 'PAVILION_ROOF', INDETERMINATE) -dome_roof = express_getattr(IfcRoofTypeEnum, 'DOME_ROOF', INDETERMINATE) -freeform = express_getattr(IfcRoofTypeEnum, 'FREEFORM', INDETERMINATE) -userdefined = express_getattr(IfcRoofTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoofTypeEnum, 'NOTDEFINED', INDETERMINATE) +flat_roof = IfcRoofTypeEnum.FLAT_ROOF +shed_roof = IfcRoofTypeEnum.SHED_ROOF +gable_roof = IfcRoofTypeEnum.GABLE_ROOF +hip_roof = IfcRoofTypeEnum.HIP_ROOF +hipped_gable_roof = IfcRoofTypeEnum.HIPPED_GABLE_ROOF +gambrel_roof = IfcRoofTypeEnum.GAMBREL_ROOF +mansard_roof = IfcRoofTypeEnum.MANSARD_ROOF +barrel_roof = IfcRoofTypeEnum.BARREL_ROOF +rainbow_roof = IfcRoofTypeEnum.RAINBOW_ROOF +butterfly_roof = IfcRoofTypeEnum.BUTTERFLY_ROOF +pavilion_roof = IfcRoofTypeEnum.PAVILION_ROOF +dome_roof = IfcRoofTypeEnum.DOME_ROOF +freeform = IfcRoofTypeEnum.FREEFORM +userdefined = IfcRoofTypeEnum.USERDEFINED +notdefined = IfcRoofTypeEnum.NOTDEFINED IfcSIPrefix = enum_namespace() -exa = express_getattr(IfcSIPrefix, 'EXA', INDETERMINATE) -peta = express_getattr(IfcSIPrefix, 'PETA', INDETERMINATE) -tera = express_getattr(IfcSIPrefix, 'TERA', INDETERMINATE) -giga = express_getattr(IfcSIPrefix, 'GIGA', INDETERMINATE) -mega = express_getattr(IfcSIPrefix, 'MEGA', INDETERMINATE) -kilo = express_getattr(IfcSIPrefix, 'KILO', INDETERMINATE) -hecto = express_getattr(IfcSIPrefix, 'HECTO', INDETERMINATE) -deca = express_getattr(IfcSIPrefix, 'DECA', INDETERMINATE) -deci = express_getattr(IfcSIPrefix, 'DECI', INDETERMINATE) -centi = express_getattr(IfcSIPrefix, 'CENTI', INDETERMINATE) -milli = express_getattr(IfcSIPrefix, 'MILLI', INDETERMINATE) -micro = express_getattr(IfcSIPrefix, 'MICRO', INDETERMINATE) -nano = express_getattr(IfcSIPrefix, 'NANO', INDETERMINATE) -pico = express_getattr(IfcSIPrefix, 'PICO', INDETERMINATE) -femto = express_getattr(IfcSIPrefix, 'FEMTO', INDETERMINATE) -atto = express_getattr(IfcSIPrefix, 'ATTO', INDETERMINATE) +exa = IfcSIPrefix.EXA +peta = IfcSIPrefix.PETA +tera = IfcSIPrefix.TERA +giga = IfcSIPrefix.GIGA +mega = IfcSIPrefix.MEGA +kilo = IfcSIPrefix.KILO +hecto = IfcSIPrefix.HECTO +deca = IfcSIPrefix.DECA +deci = IfcSIPrefix.DECI +centi = IfcSIPrefix.CENTI +milli = IfcSIPrefix.MILLI +micro = IfcSIPrefix.MICRO +nano = IfcSIPrefix.NANO +pico = IfcSIPrefix.PICO +femto = IfcSIPrefix.FEMTO +atto = IfcSIPrefix.ATTO IfcSIUnitName = enum_namespace() -ampere = express_getattr(IfcSIUnitName, 'AMPERE', INDETERMINATE) -becquerel = express_getattr(IfcSIUnitName, 'BECQUEREL', INDETERMINATE) -candela = express_getattr(IfcSIUnitName, 'CANDELA', INDETERMINATE) -coulomb = express_getattr(IfcSIUnitName, 'COULOMB', INDETERMINATE) -cubic_metre = express_getattr(IfcSIUnitName, 'CUBIC_METRE', INDETERMINATE) -degree_celsius = express_getattr(IfcSIUnitName, 'DEGREE_CELSIUS', INDETERMINATE) -farad = express_getattr(IfcSIUnitName, 'FARAD', INDETERMINATE) -gram = express_getattr(IfcSIUnitName, 'GRAM', INDETERMINATE) -gray = express_getattr(IfcSIUnitName, 'GRAY', INDETERMINATE) -henry = express_getattr(IfcSIUnitName, 'HENRY', INDETERMINATE) -hertz = express_getattr(IfcSIUnitName, 'HERTZ', INDETERMINATE) -joule = express_getattr(IfcSIUnitName, 'JOULE', INDETERMINATE) -kelvin = express_getattr(IfcSIUnitName, 'KELVIN', INDETERMINATE) -lumen = express_getattr(IfcSIUnitName, 'LUMEN', INDETERMINATE) -lux = express_getattr(IfcSIUnitName, 'LUX', INDETERMINATE) -metre = express_getattr(IfcSIUnitName, 'METRE', INDETERMINATE) -mole = express_getattr(IfcSIUnitName, 'MOLE', INDETERMINATE) -newton = express_getattr(IfcSIUnitName, 'NEWTON', INDETERMINATE) -ohm = express_getattr(IfcSIUnitName, 'OHM', INDETERMINATE) -pascal = express_getattr(IfcSIUnitName, 'PASCAL', INDETERMINATE) -radian = express_getattr(IfcSIUnitName, 'RADIAN', INDETERMINATE) -second = express_getattr(IfcSIUnitName, 'SECOND', INDETERMINATE) -siemens = express_getattr(IfcSIUnitName, 'SIEMENS', INDETERMINATE) -sievert = express_getattr(IfcSIUnitName, 'SIEVERT', INDETERMINATE) -square_metre = express_getattr(IfcSIUnitName, 'SQUARE_METRE', INDETERMINATE) -steradian = express_getattr(IfcSIUnitName, 'STERADIAN', INDETERMINATE) -tesla = express_getattr(IfcSIUnitName, 'TESLA', INDETERMINATE) -volt = express_getattr(IfcSIUnitName, 'VOLT', INDETERMINATE) -watt = express_getattr(IfcSIUnitName, 'WATT', INDETERMINATE) -weber = express_getattr(IfcSIUnitName, 'WEBER', INDETERMINATE) +ampere = IfcSIUnitName.AMPERE +becquerel = IfcSIUnitName.BECQUEREL +candela = IfcSIUnitName.CANDELA +coulomb = IfcSIUnitName.COULOMB +cubic_metre = IfcSIUnitName.CUBIC_METRE +degree_celsius = IfcSIUnitName.DEGREE_CELSIUS +farad = IfcSIUnitName.FARAD +gram = IfcSIUnitName.GRAM +gray = IfcSIUnitName.GRAY +henry = IfcSIUnitName.HENRY +hertz = IfcSIUnitName.HERTZ +joule = IfcSIUnitName.JOULE +kelvin = IfcSIUnitName.KELVIN +lumen = IfcSIUnitName.LUMEN +lux = IfcSIUnitName.LUX +metre = IfcSIUnitName.METRE +mole = IfcSIUnitName.MOLE +newton = IfcSIUnitName.NEWTON +ohm = IfcSIUnitName.OHM +pascal = IfcSIUnitName.PASCAL +radian = IfcSIUnitName.RADIAN +second = IfcSIUnitName.SECOND +siemens = IfcSIUnitName.SIEMENS +sievert = IfcSIUnitName.SIEVERT +square_metre = IfcSIUnitName.SQUARE_METRE +steradian = IfcSIUnitName.STERADIAN +tesla = IfcSIUnitName.TESLA +volt = IfcSIUnitName.VOLT +watt = IfcSIUnitName.WATT +weber = IfcSIUnitName.WEBER IfcSanitaryTerminalTypeEnum = enum_namespace() -bath = express_getattr(IfcSanitaryTerminalTypeEnum, 'BATH', INDETERMINATE) -bidet = express_getattr(IfcSanitaryTerminalTypeEnum, 'BIDET', INDETERMINATE) -cistern = express_getattr(IfcSanitaryTerminalTypeEnum, 'CISTERN', INDETERMINATE) -shower = express_getattr(IfcSanitaryTerminalTypeEnum, 'SHOWER', INDETERMINATE) -sink = express_getattr(IfcSanitaryTerminalTypeEnum, 'SINK', INDETERMINATE) -sanitaryfountain = express_getattr(IfcSanitaryTerminalTypeEnum, 'SANITARYFOUNTAIN', INDETERMINATE) -toiletpan = express_getattr(IfcSanitaryTerminalTypeEnum, 'TOILETPAN', INDETERMINATE) -urinal = express_getattr(IfcSanitaryTerminalTypeEnum, 'URINAL', INDETERMINATE) -washhandbasin = express_getattr(IfcSanitaryTerminalTypeEnum, 'WASHHANDBASIN', INDETERMINATE) -wcseat = express_getattr(IfcSanitaryTerminalTypeEnum, 'WCSEAT', INDETERMINATE) -userdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +bath = IfcSanitaryTerminalTypeEnum.BATH +bidet = IfcSanitaryTerminalTypeEnum.BIDET +cistern = IfcSanitaryTerminalTypeEnum.CISTERN +shower = IfcSanitaryTerminalTypeEnum.SHOWER +sink = IfcSanitaryTerminalTypeEnum.SINK +sanitaryfountain = IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN +toiletpan = IfcSanitaryTerminalTypeEnum.TOILETPAN +urinal = IfcSanitaryTerminalTypeEnum.URINAL +washhandbasin = IfcSanitaryTerminalTypeEnum.WASHHANDBASIN +wcseat = IfcSanitaryTerminalTypeEnum.WCSEAT +userdefined = IfcSanitaryTerminalTypeEnum.USERDEFINED +notdefined = IfcSanitaryTerminalTypeEnum.NOTDEFINED IfcSectionTypeEnum = enum_namespace() -uniform = express_getattr(IfcSectionTypeEnum, 'UNIFORM', INDETERMINATE) -tapered = express_getattr(IfcSectionTypeEnum, 'TAPERED', INDETERMINATE) +uniform = IfcSectionTypeEnum.UNIFORM +tapered = IfcSectionTypeEnum.TAPERED IfcSensorTypeEnum = enum_namespace() -cosensor = express_getattr(IfcSensorTypeEnum, 'COSENSOR', INDETERMINATE) -co2sensor = express_getattr(IfcSensorTypeEnum, 'CO2SENSOR', INDETERMINATE) -conductancesensor = express_getattr(IfcSensorTypeEnum, 'CONDUCTANCESENSOR', INDETERMINATE) -contactsensor = express_getattr(IfcSensorTypeEnum, 'CONTACTSENSOR', INDETERMINATE) -firesensor = express_getattr(IfcSensorTypeEnum, 'FIRESENSOR', INDETERMINATE) -flowsensor = express_getattr(IfcSensorTypeEnum, 'FLOWSENSOR', INDETERMINATE) -frostsensor = express_getattr(IfcSensorTypeEnum, 'FROSTSENSOR', INDETERMINATE) -gassensor = express_getattr(IfcSensorTypeEnum, 'GASSENSOR', INDETERMINATE) -heatsensor = express_getattr(IfcSensorTypeEnum, 'HEATSENSOR', INDETERMINATE) -humiditysensor = express_getattr(IfcSensorTypeEnum, 'HUMIDITYSENSOR', INDETERMINATE) -identifiersensor = express_getattr(IfcSensorTypeEnum, 'IDENTIFIERSENSOR', INDETERMINATE) -ionconcentrationsensor = express_getattr(IfcSensorTypeEnum, 'IONCONCENTRATIONSENSOR', INDETERMINATE) -levelsensor = express_getattr(IfcSensorTypeEnum, 'LEVELSENSOR', INDETERMINATE) -lightsensor = express_getattr(IfcSensorTypeEnum, 'LIGHTSENSOR', INDETERMINATE) -moisturesensor = express_getattr(IfcSensorTypeEnum, 'MOISTURESENSOR', INDETERMINATE) -movementsensor = express_getattr(IfcSensorTypeEnum, 'MOVEMENTSENSOR', INDETERMINATE) -phsensor = express_getattr(IfcSensorTypeEnum, 'PHSENSOR', INDETERMINATE) -pressuresensor = express_getattr(IfcSensorTypeEnum, 'PRESSURESENSOR', INDETERMINATE) -radiationsensor = express_getattr(IfcSensorTypeEnum, 'RADIATIONSENSOR', INDETERMINATE) -radioactivitysensor = express_getattr(IfcSensorTypeEnum, 'RADIOACTIVITYSENSOR', INDETERMINATE) -smokesensor = express_getattr(IfcSensorTypeEnum, 'SMOKESENSOR', INDETERMINATE) -soundsensor = express_getattr(IfcSensorTypeEnum, 'SOUNDSENSOR', INDETERMINATE) -temperaturesensor = express_getattr(IfcSensorTypeEnum, 'TEMPERATURESENSOR', INDETERMINATE) -windsensor = express_getattr(IfcSensorTypeEnum, 'WINDSENSOR', INDETERMINATE) -userdefined = express_getattr(IfcSensorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSensorTypeEnum, 'NOTDEFINED', INDETERMINATE) +cosensor = IfcSensorTypeEnum.COSENSOR +co2sensor = IfcSensorTypeEnum.CO2SENSOR +conductancesensor = IfcSensorTypeEnum.CONDUCTANCESENSOR +contactsensor = IfcSensorTypeEnum.CONTACTSENSOR +firesensor = IfcSensorTypeEnum.FIRESENSOR +flowsensor = IfcSensorTypeEnum.FLOWSENSOR +frostsensor = IfcSensorTypeEnum.FROSTSENSOR +gassensor = IfcSensorTypeEnum.GASSENSOR +heatsensor = IfcSensorTypeEnum.HEATSENSOR +humiditysensor = IfcSensorTypeEnum.HUMIDITYSENSOR +identifiersensor = IfcSensorTypeEnum.IDENTIFIERSENSOR +ionconcentrationsensor = IfcSensorTypeEnum.IONCONCENTRATIONSENSOR +levelsensor = IfcSensorTypeEnum.LEVELSENSOR +lightsensor = IfcSensorTypeEnum.LIGHTSENSOR +moisturesensor = IfcSensorTypeEnum.MOISTURESENSOR +movementsensor = IfcSensorTypeEnum.MOVEMENTSENSOR +phsensor = IfcSensorTypeEnum.PHSENSOR +pressuresensor = IfcSensorTypeEnum.PRESSURESENSOR +radiationsensor = IfcSensorTypeEnum.RADIATIONSENSOR +radioactivitysensor = IfcSensorTypeEnum.RADIOACTIVITYSENSOR +smokesensor = IfcSensorTypeEnum.SMOKESENSOR +soundsensor = IfcSensorTypeEnum.SOUNDSENSOR +temperaturesensor = IfcSensorTypeEnum.TEMPERATURESENSOR +windsensor = IfcSensorTypeEnum.WINDSENSOR +userdefined = IfcSensorTypeEnum.USERDEFINED +notdefined = IfcSensorTypeEnum.NOTDEFINED IfcSequenceEnum = enum_namespace() -start_start = express_getattr(IfcSequenceEnum, 'START_START', INDETERMINATE) -start_finish = express_getattr(IfcSequenceEnum, 'START_FINISH', INDETERMINATE) -finish_start = express_getattr(IfcSequenceEnum, 'FINISH_START', INDETERMINATE) -finish_finish = express_getattr(IfcSequenceEnum, 'FINISH_FINISH', INDETERMINATE) -userdefined = express_getattr(IfcSequenceEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSequenceEnum, 'NOTDEFINED', INDETERMINATE) +start_start = IfcSequenceEnum.START_START +start_finish = IfcSequenceEnum.START_FINISH +finish_start = IfcSequenceEnum.FINISH_START +finish_finish = IfcSequenceEnum.FINISH_FINISH +userdefined = IfcSequenceEnum.USERDEFINED +notdefined = IfcSequenceEnum.NOTDEFINED IfcShadingDeviceTypeEnum = enum_namespace() -jalousie = express_getattr(IfcShadingDeviceTypeEnum, 'JALOUSIE', INDETERMINATE) -shutter = express_getattr(IfcShadingDeviceTypeEnum, 'SHUTTER', INDETERMINATE) -awning = express_getattr(IfcShadingDeviceTypeEnum, 'AWNING', INDETERMINATE) -userdefined = express_getattr(IfcShadingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcShadingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +jalousie = IfcShadingDeviceTypeEnum.JALOUSIE +shutter = IfcShadingDeviceTypeEnum.SHUTTER +awning = IfcShadingDeviceTypeEnum.AWNING +userdefined = IfcShadingDeviceTypeEnum.USERDEFINED +notdefined = IfcShadingDeviceTypeEnum.NOTDEFINED IfcSimplePropertyTemplateTypeEnum = enum_namespace() -p_singlevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_SINGLEVALUE', INDETERMINATE) -p_enumeratedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_ENUMERATEDVALUE', INDETERMINATE) -p_boundedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_BOUNDEDVALUE', INDETERMINATE) -p_listvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_LISTVALUE', INDETERMINATE) -p_tablevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_TABLEVALUE', INDETERMINATE) -p_referencevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_REFERENCEVALUE', INDETERMINATE) -q_length = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_LENGTH', INDETERMINATE) -q_area = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_AREA', INDETERMINATE) -q_volume = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_VOLUME', INDETERMINATE) -q_count = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_COUNT', INDETERMINATE) -q_weight = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_WEIGHT', INDETERMINATE) -q_time = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_TIME', INDETERMINATE) +p_singlevalue = IfcSimplePropertyTemplateTypeEnum.P_SINGLEVALUE +p_enumeratedvalue = IfcSimplePropertyTemplateTypeEnum.P_ENUMERATEDVALUE +p_boundedvalue = IfcSimplePropertyTemplateTypeEnum.P_BOUNDEDVALUE +p_listvalue = IfcSimplePropertyTemplateTypeEnum.P_LISTVALUE +p_tablevalue = IfcSimplePropertyTemplateTypeEnum.P_TABLEVALUE +p_referencevalue = IfcSimplePropertyTemplateTypeEnum.P_REFERENCEVALUE +q_length = IfcSimplePropertyTemplateTypeEnum.Q_LENGTH +q_area = IfcSimplePropertyTemplateTypeEnum.Q_AREA +q_volume = IfcSimplePropertyTemplateTypeEnum.Q_VOLUME +q_count = IfcSimplePropertyTemplateTypeEnum.Q_COUNT +q_weight = IfcSimplePropertyTemplateTypeEnum.Q_WEIGHT +q_time = IfcSimplePropertyTemplateTypeEnum.Q_TIME IfcSlabTypeEnum = enum_namespace() -floor = express_getattr(IfcSlabTypeEnum, 'FLOOR', INDETERMINATE) -roof = express_getattr(IfcSlabTypeEnum, 'ROOF', INDETERMINATE) -landing = express_getattr(IfcSlabTypeEnum, 'LANDING', INDETERMINATE) -baseslab = express_getattr(IfcSlabTypeEnum, 'BASESLAB', INDETERMINATE) -userdefined = express_getattr(IfcSlabTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSlabTypeEnum, 'NOTDEFINED', INDETERMINATE) +floor = IfcSlabTypeEnum.FLOOR +roof = IfcSlabTypeEnum.ROOF +landing = IfcSlabTypeEnum.LANDING +baseslab = IfcSlabTypeEnum.BASESLAB +userdefined = IfcSlabTypeEnum.USERDEFINED +notdefined = IfcSlabTypeEnum.NOTDEFINED IfcSolarDeviceTypeEnum = enum_namespace() -solarcollector = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARCOLLECTOR', INDETERMINATE) -solarpanel = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARPANEL', INDETERMINATE) -userdefined = express_getattr(IfcSolarDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSolarDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +solarcollector = IfcSolarDeviceTypeEnum.SOLARCOLLECTOR +solarpanel = IfcSolarDeviceTypeEnum.SOLARPANEL +userdefined = IfcSolarDeviceTypeEnum.USERDEFINED +notdefined = IfcSolarDeviceTypeEnum.NOTDEFINED IfcSpaceHeaterTypeEnum = enum_namespace() -convector = express_getattr(IfcSpaceHeaterTypeEnum, 'CONVECTOR', INDETERMINATE) -radiator = express_getattr(IfcSpaceHeaterTypeEnum, 'RADIATOR', INDETERMINATE) -userdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'NOTDEFINED', INDETERMINATE) +convector = IfcSpaceHeaterTypeEnum.CONVECTOR +radiator = IfcSpaceHeaterTypeEnum.RADIATOR +userdefined = IfcSpaceHeaterTypeEnum.USERDEFINED +notdefined = IfcSpaceHeaterTypeEnum.NOTDEFINED IfcSpaceTypeEnum = enum_namespace() -space = express_getattr(IfcSpaceTypeEnum, 'SPACE', INDETERMINATE) -parking = express_getattr(IfcSpaceTypeEnum, 'PARKING', INDETERMINATE) -gfa = express_getattr(IfcSpaceTypeEnum, 'GFA', INDETERMINATE) -internal = express_getattr(IfcSpaceTypeEnum, 'INTERNAL', INDETERMINATE) -external = express_getattr(IfcSpaceTypeEnum, 'EXTERNAL', INDETERMINATE) -userdefined = express_getattr(IfcSpaceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceTypeEnum, 'NOTDEFINED', INDETERMINATE) +space = IfcSpaceTypeEnum.SPACE +parking = IfcSpaceTypeEnum.PARKING +gfa = IfcSpaceTypeEnum.GFA +internal = IfcSpaceTypeEnum.INTERNAL +external = IfcSpaceTypeEnum.EXTERNAL +userdefined = IfcSpaceTypeEnum.USERDEFINED +notdefined = IfcSpaceTypeEnum.NOTDEFINED IfcSpatialZoneTypeEnum = enum_namespace() -construction = express_getattr(IfcSpatialZoneTypeEnum, 'CONSTRUCTION', INDETERMINATE) -firesafety = express_getattr(IfcSpatialZoneTypeEnum, 'FIRESAFETY', INDETERMINATE) -lighting = express_getattr(IfcSpatialZoneTypeEnum, 'LIGHTING', INDETERMINATE) -occupancy = express_getattr(IfcSpatialZoneTypeEnum, 'OCCUPANCY', INDETERMINATE) -security = express_getattr(IfcSpatialZoneTypeEnum, 'SECURITY', INDETERMINATE) -thermal = express_getattr(IfcSpatialZoneTypeEnum, 'THERMAL', INDETERMINATE) -transport = express_getattr(IfcSpatialZoneTypeEnum, 'TRANSPORT', INDETERMINATE) -ventilation = express_getattr(IfcSpatialZoneTypeEnum, 'VENTILATION', INDETERMINATE) -userdefined = express_getattr(IfcSpatialZoneTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpatialZoneTypeEnum, 'NOTDEFINED', INDETERMINATE) +construction = IfcSpatialZoneTypeEnum.CONSTRUCTION +firesafety = IfcSpatialZoneTypeEnum.FIRESAFETY +lighting = IfcSpatialZoneTypeEnum.LIGHTING +occupancy = IfcSpatialZoneTypeEnum.OCCUPANCY +security = IfcSpatialZoneTypeEnum.SECURITY +thermal = IfcSpatialZoneTypeEnum.THERMAL +transport = IfcSpatialZoneTypeEnum.TRANSPORT +ventilation = IfcSpatialZoneTypeEnum.VENTILATION +userdefined = IfcSpatialZoneTypeEnum.USERDEFINED +notdefined = IfcSpatialZoneTypeEnum.NOTDEFINED IfcStackTerminalTypeEnum = enum_namespace() -birdcage = express_getattr(IfcStackTerminalTypeEnum, 'BIRDCAGE', INDETERMINATE) -cowl = express_getattr(IfcStackTerminalTypeEnum, 'COWL', INDETERMINATE) -rainwaterhopper = express_getattr(IfcStackTerminalTypeEnum, 'RAINWATERHOPPER', INDETERMINATE) -userdefined = express_getattr(IfcStackTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStackTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +birdcage = IfcStackTerminalTypeEnum.BIRDCAGE +cowl = IfcStackTerminalTypeEnum.COWL +rainwaterhopper = IfcStackTerminalTypeEnum.RAINWATERHOPPER +userdefined = IfcStackTerminalTypeEnum.USERDEFINED +notdefined = IfcStackTerminalTypeEnum.NOTDEFINED IfcStairFlightTypeEnum = enum_namespace() -straight = express_getattr(IfcStairFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -winder = express_getattr(IfcStairFlightTypeEnum, 'WINDER', INDETERMINATE) -spiral = express_getattr(IfcStairFlightTypeEnum, 'SPIRAL', INDETERMINATE) -curved = express_getattr(IfcStairFlightTypeEnum, 'CURVED', INDETERMINATE) -freeform = express_getattr(IfcStairFlightTypeEnum, 'FREEFORM', INDETERMINATE) -userdefined = express_getattr(IfcStairFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight = IfcStairFlightTypeEnum.STRAIGHT +winder = IfcStairFlightTypeEnum.WINDER +spiral = IfcStairFlightTypeEnum.SPIRAL +curved = IfcStairFlightTypeEnum.CURVED +freeform = IfcStairFlightTypeEnum.FREEFORM +userdefined = IfcStairFlightTypeEnum.USERDEFINED +notdefined = IfcStairFlightTypeEnum.NOTDEFINED IfcStairTypeEnum = enum_namespace() -straight_run_stair = express_getattr(IfcStairTypeEnum, 'STRAIGHT_RUN_STAIR', INDETERMINATE) -two_straight_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_STRAIGHT_RUN_STAIR', INDETERMINATE) -quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_WINDING_STAIR', INDETERMINATE) -quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_TURN_STAIR', INDETERMINATE) -half_winding_stair = express_getattr(IfcStairTypeEnum, 'HALF_WINDING_STAIR', INDETERMINATE) -half_turn_stair = express_getattr(IfcStairTypeEnum, 'HALF_TURN_STAIR', INDETERMINATE) -two_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_WINDING_STAIR', INDETERMINATE) -two_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_TURN_STAIR', INDETERMINATE) -three_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_WINDING_STAIR', INDETERMINATE) -three_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_TURN_STAIR', INDETERMINATE) -spiral_stair = express_getattr(IfcStairTypeEnum, 'SPIRAL_STAIR', INDETERMINATE) -double_return_stair = express_getattr(IfcStairTypeEnum, 'DOUBLE_RETURN_STAIR', INDETERMINATE) -curved_run_stair = express_getattr(IfcStairTypeEnum, 'CURVED_RUN_STAIR', INDETERMINATE) -two_curved_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_CURVED_RUN_STAIR', INDETERMINATE) -userdefined = express_getattr(IfcStairTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight_run_stair = IfcStairTypeEnum.STRAIGHT_RUN_STAIR +two_straight_run_stair = IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR +quarter_winding_stair = IfcStairTypeEnum.QUARTER_WINDING_STAIR +quarter_turn_stair = IfcStairTypeEnum.QUARTER_TURN_STAIR +half_winding_stair = IfcStairTypeEnum.HALF_WINDING_STAIR +half_turn_stair = IfcStairTypeEnum.HALF_TURN_STAIR +two_quarter_winding_stair = IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR +two_quarter_turn_stair = IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR +three_quarter_winding_stair = IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR +three_quarter_turn_stair = IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR +spiral_stair = IfcStairTypeEnum.SPIRAL_STAIR +double_return_stair = IfcStairTypeEnum.DOUBLE_RETURN_STAIR +curved_run_stair = IfcStairTypeEnum.CURVED_RUN_STAIR +two_curved_run_stair = IfcStairTypeEnum.TWO_CURVED_RUN_STAIR +userdefined = IfcStairTypeEnum.USERDEFINED +notdefined = IfcStairTypeEnum.NOTDEFINED IfcStateEnum = enum_namespace() -readwrite = express_getattr(IfcStateEnum, 'READWRITE', INDETERMINATE) -readonly = express_getattr(IfcStateEnum, 'READONLY', INDETERMINATE) -locked = express_getattr(IfcStateEnum, 'LOCKED', INDETERMINATE) -readwritelocked = express_getattr(IfcStateEnum, 'READWRITELOCKED', INDETERMINATE) -readonlylocked = express_getattr(IfcStateEnum, 'READONLYLOCKED', INDETERMINATE) +readwrite = IfcStateEnum.READWRITE +readonly = IfcStateEnum.READONLY +locked = IfcStateEnum.LOCKED +readwritelocked = IfcStateEnum.READWRITELOCKED +readonlylocked = IfcStateEnum.READONLYLOCKED IfcStructuralCurveActivityTypeEnum = enum_namespace() -const = express_getattr(IfcStructuralCurveActivityTypeEnum, 'CONST', INDETERMINATE) -linear = express_getattr(IfcStructuralCurveActivityTypeEnum, 'LINEAR', INDETERMINATE) -polygonal = express_getattr(IfcStructuralCurveActivityTypeEnum, 'POLYGONAL', INDETERMINATE) -equidistant = express_getattr(IfcStructuralCurveActivityTypeEnum, 'EQUIDISTANT', INDETERMINATE) -sinus = express_getattr(IfcStructuralCurveActivityTypeEnum, 'SINUS', INDETERMINATE) -parabola = express_getattr(IfcStructuralCurveActivityTypeEnum, 'PARABOLA', INDETERMINATE) -discrete = express_getattr(IfcStructuralCurveActivityTypeEnum, 'DISCRETE', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +const = IfcStructuralCurveActivityTypeEnum.CONST +linear = IfcStructuralCurveActivityTypeEnum.LINEAR +polygonal = IfcStructuralCurveActivityTypeEnum.POLYGONAL +equidistant = IfcStructuralCurveActivityTypeEnum.EQUIDISTANT +sinus = IfcStructuralCurveActivityTypeEnum.SINUS +parabola = IfcStructuralCurveActivityTypeEnum.PARABOLA +discrete = IfcStructuralCurveActivityTypeEnum.DISCRETE +userdefined = IfcStructuralCurveActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveActivityTypeEnum.NOTDEFINED IfcStructuralCurveMemberTypeEnum = enum_namespace() -rigid_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'RIGID_JOINED_MEMBER', INDETERMINATE) -pin_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'PIN_JOINED_MEMBER', INDETERMINATE) -cable = express_getattr(IfcStructuralCurveMemberTypeEnum, 'CABLE', INDETERMINATE) -tension_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'TENSION_MEMBER', INDETERMINATE) -compression_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'COMPRESSION_MEMBER', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +rigid_joined_member = IfcStructuralCurveMemberTypeEnum.RIGID_JOINED_MEMBER +pin_joined_member = IfcStructuralCurveMemberTypeEnum.PIN_JOINED_MEMBER +cable = IfcStructuralCurveMemberTypeEnum.CABLE +tension_member = IfcStructuralCurveMemberTypeEnum.TENSION_MEMBER +compression_member = IfcStructuralCurveMemberTypeEnum.COMPRESSION_MEMBER +userdefined = IfcStructuralCurveMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveMemberTypeEnum.NOTDEFINED IfcStructuralSurfaceActivityTypeEnum = enum_namespace() -const = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'CONST', INDETERMINATE) -bilinear = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'BILINEAR', INDETERMINATE) -discrete = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'DISCRETE', INDETERMINATE) -isocontour = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'ISOCONTOUR', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +const = IfcStructuralSurfaceActivityTypeEnum.CONST +bilinear = IfcStructuralSurfaceActivityTypeEnum.BILINEAR +discrete = IfcStructuralSurfaceActivityTypeEnum.DISCRETE +isocontour = IfcStructuralSurfaceActivityTypeEnum.ISOCONTOUR +userdefined = IfcStructuralSurfaceActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceActivityTypeEnum.NOTDEFINED IfcStructuralSurfaceMemberTypeEnum = enum_namespace() -bending_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'BENDING_ELEMENT', INDETERMINATE) -membrane_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'MEMBRANE_ELEMENT', INDETERMINATE) -shell = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'SHELL', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +bending_element = IfcStructuralSurfaceMemberTypeEnum.BENDING_ELEMENT +membrane_element = IfcStructuralSurfaceMemberTypeEnum.MEMBRANE_ELEMENT +shell = IfcStructuralSurfaceMemberTypeEnum.SHELL +userdefined = IfcStructuralSurfaceMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceMemberTypeEnum.NOTDEFINED IfcSubContractResourceTypeEnum = enum_namespace() -purchase = express_getattr(IfcSubContractResourceTypeEnum, 'PURCHASE', INDETERMINATE) -work = express_getattr(IfcSubContractResourceTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcSubContractResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSubContractResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +purchase = IfcSubContractResourceTypeEnum.PURCHASE +work = IfcSubContractResourceTypeEnum.WORK +userdefined = IfcSubContractResourceTypeEnum.USERDEFINED +notdefined = IfcSubContractResourceTypeEnum.NOTDEFINED IfcSurfaceFeatureTypeEnum = enum_namespace() -mark = express_getattr(IfcSurfaceFeatureTypeEnum, 'MARK', INDETERMINATE) -tag = express_getattr(IfcSurfaceFeatureTypeEnum, 'TAG', INDETERMINATE) -treatment = express_getattr(IfcSurfaceFeatureTypeEnum, 'TREATMENT', INDETERMINATE) -userdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +mark = IfcSurfaceFeatureTypeEnum.MARK +tag = IfcSurfaceFeatureTypeEnum.TAG +treatment = IfcSurfaceFeatureTypeEnum.TREATMENT +userdefined = IfcSurfaceFeatureTypeEnum.USERDEFINED +notdefined = IfcSurfaceFeatureTypeEnum.NOTDEFINED IfcSurfaceSide = enum_namespace() -positive = express_getattr(IfcSurfaceSide, 'POSITIVE', INDETERMINATE) -negative = express_getattr(IfcSurfaceSide, 'NEGATIVE', INDETERMINATE) -both = express_getattr(IfcSurfaceSide, 'BOTH', INDETERMINATE) +positive = IfcSurfaceSide.POSITIVE +negative = IfcSurfaceSide.NEGATIVE +both = IfcSurfaceSide.BOTH IfcSwitchingDeviceTypeEnum = enum_namespace() -contactor = express_getattr(IfcSwitchingDeviceTypeEnum, 'CONTACTOR', INDETERMINATE) -dimmerswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'DIMMERSWITCH', INDETERMINATE) -emergencystop = express_getattr(IfcSwitchingDeviceTypeEnum, 'EMERGENCYSTOP', INDETERMINATE) -keypad = express_getattr(IfcSwitchingDeviceTypeEnum, 'KEYPAD', INDETERMINATE) -momentaryswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'MOMENTARYSWITCH', INDETERMINATE) -selectorswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'SELECTORSWITCH', INDETERMINATE) -starter = express_getattr(IfcSwitchingDeviceTypeEnum, 'STARTER', INDETERMINATE) -switchdisconnector = express_getattr(IfcSwitchingDeviceTypeEnum, 'SWITCHDISCONNECTOR', INDETERMINATE) -toggleswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'TOGGLESWITCH', INDETERMINATE) -userdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +contactor = IfcSwitchingDeviceTypeEnum.CONTACTOR +dimmerswitch = IfcSwitchingDeviceTypeEnum.DIMMERSWITCH +emergencystop = IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP +keypad = IfcSwitchingDeviceTypeEnum.KEYPAD +momentaryswitch = IfcSwitchingDeviceTypeEnum.MOMENTARYSWITCH +selectorswitch = IfcSwitchingDeviceTypeEnum.SELECTORSWITCH +starter = IfcSwitchingDeviceTypeEnum.STARTER +switchdisconnector = IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR +toggleswitch = IfcSwitchingDeviceTypeEnum.TOGGLESWITCH +userdefined = IfcSwitchingDeviceTypeEnum.USERDEFINED +notdefined = IfcSwitchingDeviceTypeEnum.NOTDEFINED IfcSystemFurnitureElementTypeEnum = enum_namespace() -panel = express_getattr(IfcSystemFurnitureElementTypeEnum, 'PANEL', INDETERMINATE) -worksurface = express_getattr(IfcSystemFurnitureElementTypeEnum, 'WORKSURFACE', INDETERMINATE) -userdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +panel = IfcSystemFurnitureElementTypeEnum.PANEL +worksurface = IfcSystemFurnitureElementTypeEnum.WORKSURFACE +userdefined = IfcSystemFurnitureElementTypeEnum.USERDEFINED +notdefined = IfcSystemFurnitureElementTypeEnum.NOTDEFINED IfcTankTypeEnum = enum_namespace() -basin = express_getattr(IfcTankTypeEnum, 'BASIN', INDETERMINATE) -breakpressure = express_getattr(IfcTankTypeEnum, 'BREAKPRESSURE', INDETERMINATE) -expansion = express_getattr(IfcTankTypeEnum, 'EXPANSION', INDETERMINATE) -feedandexpansion = express_getattr(IfcTankTypeEnum, 'FEEDANDEXPANSION', INDETERMINATE) -pressurevessel = express_getattr(IfcTankTypeEnum, 'PRESSUREVESSEL', INDETERMINATE) -storage = express_getattr(IfcTankTypeEnum, 'STORAGE', INDETERMINATE) -vessel = express_getattr(IfcTankTypeEnum, 'VESSEL', INDETERMINATE) -userdefined = express_getattr(IfcTankTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTankTypeEnum, 'NOTDEFINED', INDETERMINATE) +basin = IfcTankTypeEnum.BASIN +breakpressure = IfcTankTypeEnum.BREAKPRESSURE +expansion = IfcTankTypeEnum.EXPANSION +feedandexpansion = IfcTankTypeEnum.FEEDANDEXPANSION +pressurevessel = IfcTankTypeEnum.PRESSUREVESSEL +storage = IfcTankTypeEnum.STORAGE +vessel = IfcTankTypeEnum.VESSEL +userdefined = IfcTankTypeEnum.USERDEFINED +notdefined = IfcTankTypeEnum.NOTDEFINED IfcTaskDurationEnum = enum_namespace() -elapsedtime = express_getattr(IfcTaskDurationEnum, 'ELAPSEDTIME', INDETERMINATE) -worktime = express_getattr(IfcTaskDurationEnum, 'WORKTIME', INDETERMINATE) -notdefined = express_getattr(IfcTaskDurationEnum, 'NOTDEFINED', INDETERMINATE) +elapsedtime = IfcTaskDurationEnum.ELAPSEDTIME +worktime = IfcTaskDurationEnum.WORKTIME +notdefined = IfcTaskDurationEnum.NOTDEFINED IfcTaskTypeEnum = enum_namespace() -attendance = express_getattr(IfcTaskTypeEnum, 'ATTENDANCE', INDETERMINATE) -construction = express_getattr(IfcTaskTypeEnum, 'CONSTRUCTION', INDETERMINATE) -demolition = express_getattr(IfcTaskTypeEnum, 'DEMOLITION', INDETERMINATE) -dismantle = express_getattr(IfcTaskTypeEnum, 'DISMANTLE', INDETERMINATE) -disposal = express_getattr(IfcTaskTypeEnum, 'DISPOSAL', INDETERMINATE) -installation = express_getattr(IfcTaskTypeEnum, 'INSTALLATION', INDETERMINATE) -logistic = express_getattr(IfcTaskTypeEnum, 'LOGISTIC', INDETERMINATE) -maintenance = express_getattr(IfcTaskTypeEnum, 'MAINTENANCE', INDETERMINATE) -move = express_getattr(IfcTaskTypeEnum, 'MOVE', INDETERMINATE) -operation = express_getattr(IfcTaskTypeEnum, 'OPERATION', INDETERMINATE) -removal = express_getattr(IfcTaskTypeEnum, 'REMOVAL', INDETERMINATE) -renovation = express_getattr(IfcTaskTypeEnum, 'RENOVATION', INDETERMINATE) -userdefined = express_getattr(IfcTaskTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTaskTypeEnum, 'NOTDEFINED', INDETERMINATE) +attendance = IfcTaskTypeEnum.ATTENDANCE +construction = IfcTaskTypeEnum.CONSTRUCTION +demolition = IfcTaskTypeEnum.DEMOLITION +dismantle = IfcTaskTypeEnum.DISMANTLE +disposal = IfcTaskTypeEnum.DISPOSAL +installation = IfcTaskTypeEnum.INSTALLATION +logistic = IfcTaskTypeEnum.LOGISTIC +maintenance = IfcTaskTypeEnum.MAINTENANCE +move = IfcTaskTypeEnum.MOVE +operation = IfcTaskTypeEnum.OPERATION +removal = IfcTaskTypeEnum.REMOVAL +renovation = IfcTaskTypeEnum.RENOVATION +userdefined = IfcTaskTypeEnum.USERDEFINED +notdefined = IfcTaskTypeEnum.NOTDEFINED IfcTendonAnchorTypeEnum = enum_namespace() -coupler = express_getattr(IfcTendonAnchorTypeEnum, 'COUPLER', INDETERMINATE) -fixed_end = express_getattr(IfcTendonAnchorTypeEnum, 'FIXED_END', INDETERMINATE) -tensioning_end = express_getattr(IfcTendonAnchorTypeEnum, 'TENSIONING_END', INDETERMINATE) -userdefined = express_getattr(IfcTendonAnchorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonAnchorTypeEnum, 'NOTDEFINED', INDETERMINATE) +coupler = IfcTendonAnchorTypeEnum.COUPLER +fixed_end = IfcTendonAnchorTypeEnum.FIXED_END +tensioning_end = IfcTendonAnchorTypeEnum.TENSIONING_END +userdefined = IfcTendonAnchorTypeEnum.USERDEFINED +notdefined = IfcTendonAnchorTypeEnum.NOTDEFINED IfcTendonTypeEnum = enum_namespace() -bar = express_getattr(IfcTendonTypeEnum, 'BAR', INDETERMINATE) -coated = express_getattr(IfcTendonTypeEnum, 'COATED', INDETERMINATE) -strand = express_getattr(IfcTendonTypeEnum, 'STRAND', INDETERMINATE) -wire = express_getattr(IfcTendonTypeEnum, 'WIRE', INDETERMINATE) -userdefined = express_getattr(IfcTendonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonTypeEnum, 'NOTDEFINED', INDETERMINATE) +bar = IfcTendonTypeEnum.BAR +coated = IfcTendonTypeEnum.COATED +strand = IfcTendonTypeEnum.STRAND +wire = IfcTendonTypeEnum.WIRE +userdefined = IfcTendonTypeEnum.USERDEFINED +notdefined = IfcTendonTypeEnum.NOTDEFINED IfcTextPath = enum_namespace() -left = express_getattr(IfcTextPath, 'LEFT', INDETERMINATE) -right = express_getattr(IfcTextPath, 'RIGHT', INDETERMINATE) -up = express_getattr(IfcTextPath, 'UP', INDETERMINATE) -down = express_getattr(IfcTextPath, 'DOWN', INDETERMINATE) +left = IfcTextPath.LEFT +right = IfcTextPath.RIGHT +up = IfcTextPath.UP +down = IfcTextPath.DOWN IfcTimeSeriesDataTypeEnum = enum_namespace() -continuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'CONTINUOUS', INDETERMINATE) -discrete = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETE', INDETERMINATE) -discretebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETEBINARY', INDETERMINATE) -piecewisebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISEBINARY', INDETERMINATE) -piecewiseconstant = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONSTANT', INDETERMINATE) -piecewisecontinuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONTINUOUS', INDETERMINATE) -notdefined = express_getattr(IfcTimeSeriesDataTypeEnum, 'NOTDEFINED', INDETERMINATE) +continuous = IfcTimeSeriesDataTypeEnum.CONTINUOUS +discrete = IfcTimeSeriesDataTypeEnum.DISCRETE +discretebinary = IfcTimeSeriesDataTypeEnum.DISCRETEBINARY +piecewisebinary = IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY +piecewiseconstant = IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT +piecewisecontinuous = IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS +notdefined = IfcTimeSeriesDataTypeEnum.NOTDEFINED IfcTransformerTypeEnum = enum_namespace() -current = express_getattr(IfcTransformerTypeEnum, 'CURRENT', INDETERMINATE) -frequency = express_getattr(IfcTransformerTypeEnum, 'FREQUENCY', INDETERMINATE) -inverter = express_getattr(IfcTransformerTypeEnum, 'INVERTER', INDETERMINATE) -rectifier = express_getattr(IfcTransformerTypeEnum, 'RECTIFIER', INDETERMINATE) -voltage = express_getattr(IfcTransformerTypeEnum, 'VOLTAGE', INDETERMINATE) -userdefined = express_getattr(IfcTransformerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransformerTypeEnum, 'NOTDEFINED', INDETERMINATE) +current = IfcTransformerTypeEnum.CURRENT +frequency = IfcTransformerTypeEnum.FREQUENCY +inverter = IfcTransformerTypeEnum.INVERTER +rectifier = IfcTransformerTypeEnum.RECTIFIER +voltage = IfcTransformerTypeEnum.VOLTAGE +userdefined = IfcTransformerTypeEnum.USERDEFINED +notdefined = IfcTransformerTypeEnum.NOTDEFINED IfcTransitionCode = enum_namespace() -discontinuous = express_getattr(IfcTransitionCode, 'DISCONTINUOUS', INDETERMINATE) -continuous = express_getattr(IfcTransitionCode, 'CONTINUOUS', INDETERMINATE) -contsamegradient = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENT', INDETERMINATE) -contsamegradientsamecurvature = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENTSAMECURVATURE', INDETERMINATE) +discontinuous = IfcTransitionCode.DISCONTINUOUS +continuous = IfcTransitionCode.CONTINUOUS +contsamegradient = IfcTransitionCode.CONTSAMEGRADIENT +contsamegradientsamecurvature = IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE IfcTransitionCurveType = enum_namespace() -biquadraticparabola = express_getattr(IfcTransitionCurveType, 'BIQUADRATICPARABOLA', INDETERMINATE) -blosscurve = express_getattr(IfcTransitionCurveType, 'BLOSSCURVE', INDETERMINATE) -clothoidcurve = express_getattr(IfcTransitionCurveType, 'CLOTHOIDCURVE', INDETERMINATE) -cosinecurve = express_getattr(IfcTransitionCurveType, 'COSINECURVE', INDETERMINATE) -cubicparabola = express_getattr(IfcTransitionCurveType, 'CUBICPARABOLA', INDETERMINATE) -sinecurve = express_getattr(IfcTransitionCurveType, 'SINECURVE', INDETERMINATE) +biquadraticparabola = IfcTransitionCurveType.BIQUADRATICPARABOLA +blosscurve = IfcTransitionCurveType.BLOSSCURVE +clothoidcurve = IfcTransitionCurveType.CLOTHOIDCURVE +cosinecurve = IfcTransitionCurveType.COSINECURVE +cubicparabola = IfcTransitionCurveType.CUBICPARABOLA +sinecurve = IfcTransitionCurveType.SINECURVE IfcTransportElementTypeEnum = enum_namespace() -elevator = express_getattr(IfcTransportElementTypeEnum, 'ELEVATOR', INDETERMINATE) -escalator = express_getattr(IfcTransportElementTypeEnum, 'ESCALATOR', INDETERMINATE) -movingwalkway = express_getattr(IfcTransportElementTypeEnum, 'MOVINGWALKWAY', INDETERMINATE) -craneway = express_getattr(IfcTransportElementTypeEnum, 'CRANEWAY', INDETERMINATE) -liftinggear = express_getattr(IfcTransportElementTypeEnum, 'LIFTINGGEAR', INDETERMINATE) -userdefined = express_getattr(IfcTransportElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransportElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +elevator = IfcTransportElementTypeEnum.ELEVATOR +escalator = IfcTransportElementTypeEnum.ESCALATOR +movingwalkway = IfcTransportElementTypeEnum.MOVINGWALKWAY +craneway = IfcTransportElementTypeEnum.CRANEWAY +liftinggear = IfcTransportElementTypeEnum.LIFTINGGEAR +userdefined = IfcTransportElementTypeEnum.USERDEFINED +notdefined = IfcTransportElementTypeEnum.NOTDEFINED IfcTrimmingPreference = enum_namespace() -cartesian = express_getattr(IfcTrimmingPreference, 'CARTESIAN', INDETERMINATE) -parameter = express_getattr(IfcTrimmingPreference, 'PARAMETER', INDETERMINATE) -unspecified = express_getattr(IfcTrimmingPreference, 'UNSPECIFIED', INDETERMINATE) +cartesian = IfcTrimmingPreference.CARTESIAN +parameter = IfcTrimmingPreference.PARAMETER +unspecified = IfcTrimmingPreference.UNSPECIFIED IfcTubeBundleTypeEnum = enum_namespace() -finned = express_getattr(IfcTubeBundleTypeEnum, 'FINNED', INDETERMINATE) -userdefined = express_getattr(IfcTubeBundleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTubeBundleTypeEnum, 'NOTDEFINED', INDETERMINATE) +finned = IfcTubeBundleTypeEnum.FINNED +userdefined = IfcTubeBundleTypeEnum.USERDEFINED +notdefined = IfcTubeBundleTypeEnum.NOTDEFINED IfcUnitEnum = enum_namespace() -absorbeddoseunit = express_getattr(IfcUnitEnum, 'ABSORBEDDOSEUNIT', INDETERMINATE) -amountofsubstanceunit = express_getattr(IfcUnitEnum, 'AMOUNTOFSUBSTANCEUNIT', INDETERMINATE) -areaunit = express_getattr(IfcUnitEnum, 'AREAUNIT', INDETERMINATE) -doseequivalentunit = express_getattr(IfcUnitEnum, 'DOSEEQUIVALENTUNIT', INDETERMINATE) -electriccapacitanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCAPACITANCEUNIT', INDETERMINATE) -electricchargeunit = express_getattr(IfcUnitEnum, 'ELECTRICCHARGEUNIT', INDETERMINATE) -electricconductanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCONDUCTANCEUNIT', INDETERMINATE) -electriccurrentunit = express_getattr(IfcUnitEnum, 'ELECTRICCURRENTUNIT', INDETERMINATE) -electricresistanceunit = express_getattr(IfcUnitEnum, 'ELECTRICRESISTANCEUNIT', INDETERMINATE) -electricvoltageunit = express_getattr(IfcUnitEnum, 'ELECTRICVOLTAGEUNIT', INDETERMINATE) -energyunit = express_getattr(IfcUnitEnum, 'ENERGYUNIT', INDETERMINATE) -forceunit = express_getattr(IfcUnitEnum, 'FORCEUNIT', INDETERMINATE) -frequencyunit = express_getattr(IfcUnitEnum, 'FREQUENCYUNIT', INDETERMINATE) -illuminanceunit = express_getattr(IfcUnitEnum, 'ILLUMINANCEUNIT', INDETERMINATE) -inductanceunit = express_getattr(IfcUnitEnum, 'INDUCTANCEUNIT', INDETERMINATE) -lengthunit = express_getattr(IfcUnitEnum, 'LENGTHUNIT', INDETERMINATE) -luminousfluxunit = express_getattr(IfcUnitEnum, 'LUMINOUSFLUXUNIT', INDETERMINATE) -luminousintensityunit = express_getattr(IfcUnitEnum, 'LUMINOUSINTENSITYUNIT', INDETERMINATE) -magneticfluxdensityunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXDENSITYUNIT', INDETERMINATE) -magneticfluxunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXUNIT', INDETERMINATE) -massunit = express_getattr(IfcUnitEnum, 'MASSUNIT', INDETERMINATE) -planeangleunit = express_getattr(IfcUnitEnum, 'PLANEANGLEUNIT', INDETERMINATE) -powerunit = express_getattr(IfcUnitEnum, 'POWERUNIT', INDETERMINATE) -pressureunit = express_getattr(IfcUnitEnum, 'PRESSUREUNIT', INDETERMINATE) -radioactivityunit = express_getattr(IfcUnitEnum, 'RADIOACTIVITYUNIT', INDETERMINATE) -solidangleunit = express_getattr(IfcUnitEnum, 'SOLIDANGLEUNIT', INDETERMINATE) -thermodynamictemperatureunit = express_getattr(IfcUnitEnum, 'THERMODYNAMICTEMPERATUREUNIT', INDETERMINATE) -timeunit = express_getattr(IfcUnitEnum, 'TIMEUNIT', INDETERMINATE) -volumeunit = express_getattr(IfcUnitEnum, 'VOLUMEUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitEnum, 'USERDEFINED', INDETERMINATE) +absorbeddoseunit = IfcUnitEnum.ABSORBEDDOSEUNIT +amountofsubstanceunit = IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT +areaunit = IfcUnitEnum.AREAUNIT +doseequivalentunit = IfcUnitEnum.DOSEEQUIVALENTUNIT +electriccapacitanceunit = IfcUnitEnum.ELECTRICCAPACITANCEUNIT +electricchargeunit = IfcUnitEnum.ELECTRICCHARGEUNIT +electricconductanceunit = IfcUnitEnum.ELECTRICCONDUCTANCEUNIT +electriccurrentunit = IfcUnitEnum.ELECTRICCURRENTUNIT +electricresistanceunit = IfcUnitEnum.ELECTRICRESISTANCEUNIT +electricvoltageunit = IfcUnitEnum.ELECTRICVOLTAGEUNIT +energyunit = IfcUnitEnum.ENERGYUNIT +forceunit = IfcUnitEnum.FORCEUNIT +frequencyunit = IfcUnitEnum.FREQUENCYUNIT +illuminanceunit = IfcUnitEnum.ILLUMINANCEUNIT +inductanceunit = IfcUnitEnum.INDUCTANCEUNIT +lengthunit = IfcUnitEnum.LENGTHUNIT +luminousfluxunit = IfcUnitEnum.LUMINOUSFLUXUNIT +luminousintensityunit = IfcUnitEnum.LUMINOUSINTENSITYUNIT +magneticfluxdensityunit = IfcUnitEnum.MAGNETICFLUXDENSITYUNIT +magneticfluxunit = IfcUnitEnum.MAGNETICFLUXUNIT +massunit = IfcUnitEnum.MASSUNIT +planeangleunit = IfcUnitEnum.PLANEANGLEUNIT +powerunit = IfcUnitEnum.POWERUNIT +pressureunit = IfcUnitEnum.PRESSUREUNIT +radioactivityunit = IfcUnitEnum.RADIOACTIVITYUNIT +solidangleunit = IfcUnitEnum.SOLIDANGLEUNIT +thermodynamictemperatureunit = IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT +timeunit = IfcUnitEnum.TIMEUNIT +volumeunit = IfcUnitEnum.VOLUMEUNIT +userdefined = IfcUnitEnum.USERDEFINED IfcUnitaryControlElementTypeEnum = enum_namespace() -alarmpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'ALARMPANEL', INDETERMINATE) -controlpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'CONTROLPANEL', INDETERMINATE) -gasdetectionpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'GASDETECTIONPANEL', INDETERMINATE) -indicatorpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'INDICATORPANEL', INDETERMINATE) -mimicpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'MIMICPANEL', INDETERMINATE) -humidistat = express_getattr(IfcUnitaryControlElementTypeEnum, 'HUMIDISTAT', INDETERMINATE) -thermostat = express_getattr(IfcUnitaryControlElementTypeEnum, 'THERMOSTAT', INDETERMINATE) -weatherstation = express_getattr(IfcUnitaryControlElementTypeEnum, 'WEATHERSTATION', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +alarmpanel = IfcUnitaryControlElementTypeEnum.ALARMPANEL +controlpanel = IfcUnitaryControlElementTypeEnum.CONTROLPANEL +gasdetectionpanel = IfcUnitaryControlElementTypeEnum.GASDETECTIONPANEL +indicatorpanel = IfcUnitaryControlElementTypeEnum.INDICATORPANEL +mimicpanel = IfcUnitaryControlElementTypeEnum.MIMICPANEL +humidistat = IfcUnitaryControlElementTypeEnum.HUMIDISTAT +thermostat = IfcUnitaryControlElementTypeEnum.THERMOSTAT +weatherstation = IfcUnitaryControlElementTypeEnum.WEATHERSTATION +userdefined = IfcUnitaryControlElementTypeEnum.USERDEFINED +notdefined = IfcUnitaryControlElementTypeEnum.NOTDEFINED IfcUnitaryEquipmentTypeEnum = enum_namespace() -airhandler = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRHANDLER', INDETERMINATE) -airconditioningunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRCONDITIONINGUNIT', INDETERMINATE) -dehumidifier = express_getattr(IfcUnitaryEquipmentTypeEnum, 'DEHUMIDIFIER', INDETERMINATE) -splitsystem = express_getattr(IfcUnitaryEquipmentTypeEnum, 'SPLITSYSTEM', INDETERMINATE) -rooftopunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'ROOFTOPUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +airhandler = IfcUnitaryEquipmentTypeEnum.AIRHANDLER +airconditioningunit = IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT +dehumidifier = IfcUnitaryEquipmentTypeEnum.DEHUMIDIFIER +splitsystem = IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM +rooftopunit = IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT +userdefined = IfcUnitaryEquipmentTypeEnum.USERDEFINED +notdefined = IfcUnitaryEquipmentTypeEnum.NOTDEFINED IfcValveTypeEnum = enum_namespace() -airrelease = express_getattr(IfcValveTypeEnum, 'AIRRELEASE', INDETERMINATE) -antivacuum = express_getattr(IfcValveTypeEnum, 'ANTIVACUUM', INDETERMINATE) -changeover = express_getattr(IfcValveTypeEnum, 'CHANGEOVER', INDETERMINATE) -check = express_getattr(IfcValveTypeEnum, 'CHECK', INDETERMINATE) -commissioning = express_getattr(IfcValveTypeEnum, 'COMMISSIONING', INDETERMINATE) -diverting = express_getattr(IfcValveTypeEnum, 'DIVERTING', INDETERMINATE) -drawoffcock = express_getattr(IfcValveTypeEnum, 'DRAWOFFCOCK', INDETERMINATE) -doublecheck = express_getattr(IfcValveTypeEnum, 'DOUBLECHECK', INDETERMINATE) -doubleregulating = express_getattr(IfcValveTypeEnum, 'DOUBLEREGULATING', INDETERMINATE) -faucet = express_getattr(IfcValveTypeEnum, 'FAUCET', INDETERMINATE) -flushing = express_getattr(IfcValveTypeEnum, 'FLUSHING', INDETERMINATE) -gascock = express_getattr(IfcValveTypeEnum, 'GASCOCK', INDETERMINATE) -gastap = express_getattr(IfcValveTypeEnum, 'GASTAP', INDETERMINATE) -isolating = express_getattr(IfcValveTypeEnum, 'ISOLATING', INDETERMINATE) -mixing = express_getattr(IfcValveTypeEnum, 'MIXING', INDETERMINATE) -pressurereducing = express_getattr(IfcValveTypeEnum, 'PRESSUREREDUCING', INDETERMINATE) -pressurerelief = express_getattr(IfcValveTypeEnum, 'PRESSURERELIEF', INDETERMINATE) -regulating = express_getattr(IfcValveTypeEnum, 'REGULATING', INDETERMINATE) -safetycutoff = express_getattr(IfcValveTypeEnum, 'SAFETYCUTOFF', INDETERMINATE) -steamtrap = express_getattr(IfcValveTypeEnum, 'STEAMTRAP', INDETERMINATE) -stopcock = express_getattr(IfcValveTypeEnum, 'STOPCOCK', INDETERMINATE) -userdefined = express_getattr(IfcValveTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcValveTypeEnum, 'NOTDEFINED', INDETERMINATE) +airrelease = IfcValveTypeEnum.AIRRELEASE +antivacuum = IfcValveTypeEnum.ANTIVACUUM +changeover = IfcValveTypeEnum.CHANGEOVER +check = IfcValveTypeEnum.CHECK +commissioning = IfcValveTypeEnum.COMMISSIONING +diverting = IfcValveTypeEnum.DIVERTING +drawoffcock = IfcValveTypeEnum.DRAWOFFCOCK +doublecheck = IfcValveTypeEnum.DOUBLECHECK +doubleregulating = IfcValveTypeEnum.DOUBLEREGULATING +faucet = IfcValveTypeEnum.FAUCET +flushing = IfcValveTypeEnum.FLUSHING +gascock = IfcValveTypeEnum.GASCOCK +gastap = IfcValveTypeEnum.GASTAP +isolating = IfcValveTypeEnum.ISOLATING +mixing = IfcValveTypeEnum.MIXING +pressurereducing = IfcValveTypeEnum.PRESSUREREDUCING +pressurerelief = IfcValveTypeEnum.PRESSURERELIEF +regulating = IfcValveTypeEnum.REGULATING +safetycutoff = IfcValveTypeEnum.SAFETYCUTOFF +steamtrap = IfcValveTypeEnum.STEAMTRAP +stopcock = IfcValveTypeEnum.STOPCOCK +userdefined = IfcValveTypeEnum.USERDEFINED +notdefined = IfcValveTypeEnum.NOTDEFINED IfcVibrationIsolatorTypeEnum = enum_namespace() -compression = express_getattr(IfcVibrationIsolatorTypeEnum, 'COMPRESSION', INDETERMINATE) -spring = express_getattr(IfcVibrationIsolatorTypeEnum, 'SPRING', INDETERMINATE) -userdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +compression = IfcVibrationIsolatorTypeEnum.COMPRESSION +spring = IfcVibrationIsolatorTypeEnum.SPRING +userdefined = IfcVibrationIsolatorTypeEnum.USERDEFINED +notdefined = IfcVibrationIsolatorTypeEnum.NOTDEFINED IfcVoidingFeatureTypeEnum = enum_namespace() -cutout = express_getattr(IfcVoidingFeatureTypeEnum, 'CUTOUT', INDETERMINATE) -notch = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTCH', INDETERMINATE) -hole = express_getattr(IfcVoidingFeatureTypeEnum, 'HOLE', INDETERMINATE) -miter = express_getattr(IfcVoidingFeatureTypeEnum, 'MITER', INDETERMINATE) -chamfer = express_getattr(IfcVoidingFeatureTypeEnum, 'CHAMFER', INDETERMINATE) -edge = express_getattr(IfcVoidingFeatureTypeEnum, 'EDGE', INDETERMINATE) -userdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +cutout = IfcVoidingFeatureTypeEnum.CUTOUT +notch = IfcVoidingFeatureTypeEnum.NOTCH +hole = IfcVoidingFeatureTypeEnum.HOLE +miter = IfcVoidingFeatureTypeEnum.MITER +chamfer = IfcVoidingFeatureTypeEnum.CHAMFER +edge = IfcVoidingFeatureTypeEnum.EDGE +userdefined = IfcVoidingFeatureTypeEnum.USERDEFINED +notdefined = IfcVoidingFeatureTypeEnum.NOTDEFINED IfcWallTypeEnum = enum_namespace() -movable = express_getattr(IfcWallTypeEnum, 'MOVABLE', INDETERMINATE) -parapet = express_getattr(IfcWallTypeEnum, 'PARAPET', INDETERMINATE) -partitioning = express_getattr(IfcWallTypeEnum, 'PARTITIONING', INDETERMINATE) -plumbingwall = express_getattr(IfcWallTypeEnum, 'PLUMBINGWALL', INDETERMINATE) -shear = express_getattr(IfcWallTypeEnum, 'SHEAR', INDETERMINATE) -solidwall = express_getattr(IfcWallTypeEnum, 'SOLIDWALL', INDETERMINATE) -standard = express_getattr(IfcWallTypeEnum, 'STANDARD', INDETERMINATE) -polygonal = express_getattr(IfcWallTypeEnum, 'POLYGONAL', INDETERMINATE) -elementedwall = express_getattr(IfcWallTypeEnum, 'ELEMENTEDWALL', INDETERMINATE) -userdefined = express_getattr(IfcWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +movable = IfcWallTypeEnum.MOVABLE +parapet = IfcWallTypeEnum.PARAPET +partitioning = IfcWallTypeEnum.PARTITIONING +plumbingwall = IfcWallTypeEnum.PLUMBINGWALL +shear = IfcWallTypeEnum.SHEAR +solidwall = IfcWallTypeEnum.SOLIDWALL +standard = IfcWallTypeEnum.STANDARD +polygonal = IfcWallTypeEnum.POLYGONAL +elementedwall = IfcWallTypeEnum.ELEMENTEDWALL +userdefined = IfcWallTypeEnum.USERDEFINED +notdefined = IfcWallTypeEnum.NOTDEFINED IfcWasteTerminalTypeEnum = enum_namespace() -floortrap = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORTRAP', INDETERMINATE) -floorwaste = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORWASTE', INDETERMINATE) -gullysump = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYSUMP', INDETERMINATE) -gullytrap = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYTRAP', INDETERMINATE) -roofdrain = express_getattr(IfcWasteTerminalTypeEnum, 'ROOFDRAIN', INDETERMINATE) -wastedisposalunit = express_getattr(IfcWasteTerminalTypeEnum, 'WASTEDISPOSALUNIT', INDETERMINATE) -wastetrap = express_getattr(IfcWasteTerminalTypeEnum, 'WASTETRAP', INDETERMINATE) -userdefined = express_getattr(IfcWasteTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWasteTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +floortrap = IfcWasteTerminalTypeEnum.FLOORTRAP +floorwaste = IfcWasteTerminalTypeEnum.FLOORWASTE +gullysump = IfcWasteTerminalTypeEnum.GULLYSUMP +gullytrap = IfcWasteTerminalTypeEnum.GULLYTRAP +roofdrain = IfcWasteTerminalTypeEnum.ROOFDRAIN +wastedisposalunit = IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT +wastetrap = IfcWasteTerminalTypeEnum.WASTETRAP +userdefined = IfcWasteTerminalTypeEnum.USERDEFINED +notdefined = IfcWasteTerminalTypeEnum.NOTDEFINED IfcWindowPanelOperationEnum = enum_namespace() -sidehungrighthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGRIGHTHAND', INDETERMINATE) -sidehunglefthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGLEFTHAND', INDETERMINATE) -tiltandturnrighthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNRIGHTHAND', INDETERMINATE) -tiltandturnlefthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNLEFTHAND', INDETERMINATE) -tophung = express_getattr(IfcWindowPanelOperationEnum, 'TOPHUNG', INDETERMINATE) -bottomhung = express_getattr(IfcWindowPanelOperationEnum, 'BOTTOMHUNG', INDETERMINATE) -pivothorizontal = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTHORIZONTAL', INDETERMINATE) -pivotvertical = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTVERTICAL', INDETERMINATE) -slidinghorizontal = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGHORIZONTAL', INDETERMINATE) -slidingvertical = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGVERTICAL', INDETERMINATE) -removablecasement = express_getattr(IfcWindowPanelOperationEnum, 'REMOVABLECASEMENT', INDETERMINATE) -fixedcasement = express_getattr(IfcWindowPanelOperationEnum, 'FIXEDCASEMENT', INDETERMINATE) -otheroperation = express_getattr(IfcWindowPanelOperationEnum, 'OTHEROPERATION', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +sidehungrighthand = IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND +sidehunglefthand = IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND +tiltandturnrighthand = IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND +tiltandturnlefthand = IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND +tophung = IfcWindowPanelOperationEnum.TOPHUNG +bottomhung = IfcWindowPanelOperationEnum.BOTTOMHUNG +pivothorizontal = IfcWindowPanelOperationEnum.PIVOTHORIZONTAL +pivotvertical = IfcWindowPanelOperationEnum.PIVOTVERTICAL +slidinghorizontal = IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL +slidingvertical = IfcWindowPanelOperationEnum.SLIDINGVERTICAL +removablecasement = IfcWindowPanelOperationEnum.REMOVABLECASEMENT +fixedcasement = IfcWindowPanelOperationEnum.FIXEDCASEMENT +otheroperation = IfcWindowPanelOperationEnum.OTHEROPERATION +notdefined = IfcWindowPanelOperationEnum.NOTDEFINED IfcWindowPanelPositionEnum = enum_namespace() -left = express_getattr(IfcWindowPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcWindowPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcWindowPanelPositionEnum, 'RIGHT', INDETERMINATE) -bottom = express_getattr(IfcWindowPanelPositionEnum, 'BOTTOM', INDETERMINATE) -top = express_getattr(IfcWindowPanelPositionEnum, 'TOP', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcWindowPanelPositionEnum.LEFT +middle = IfcWindowPanelPositionEnum.MIDDLE +right = IfcWindowPanelPositionEnum.RIGHT +bottom = IfcWindowPanelPositionEnum.BOTTOM +top = IfcWindowPanelPositionEnum.TOP +notdefined = IfcWindowPanelPositionEnum.NOTDEFINED IfcWindowStyleConstructionEnum = enum_namespace() -aluminium = express_getattr(IfcWindowStyleConstructionEnum, 'ALUMINIUM', INDETERMINATE) -high_grade_steel = express_getattr(IfcWindowStyleConstructionEnum, 'HIGH_GRADE_STEEL', INDETERMINATE) -steel = express_getattr(IfcWindowStyleConstructionEnum, 'STEEL', INDETERMINATE) -wood = express_getattr(IfcWindowStyleConstructionEnum, 'WOOD', INDETERMINATE) -aluminium_wood = express_getattr(IfcWindowStyleConstructionEnum, 'ALUMINIUM_WOOD', INDETERMINATE) -plastic = express_getattr(IfcWindowStyleConstructionEnum, 'PLASTIC', INDETERMINATE) -other_construction = express_getattr(IfcWindowStyleConstructionEnum, 'OTHER_CONSTRUCTION', INDETERMINATE) -notdefined = express_getattr(IfcWindowStyleConstructionEnum, 'NOTDEFINED', INDETERMINATE) +aluminium = IfcWindowStyleConstructionEnum.ALUMINIUM +high_grade_steel = IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL +steel = IfcWindowStyleConstructionEnum.STEEL +wood = IfcWindowStyleConstructionEnum.WOOD +aluminium_wood = IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD +plastic = IfcWindowStyleConstructionEnum.PLASTIC +other_construction = IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION +notdefined = IfcWindowStyleConstructionEnum.NOTDEFINED IfcWindowStyleOperationEnum = enum_namespace() -single_panel = express_getattr(IfcWindowStyleOperationEnum, 'SINGLE_PANEL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowStyleOperationEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -double_panel_horizontal = express_getattr(IfcWindowStyleOperationEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowStyleOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowStyleOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_panel = IfcWindowStyleOperationEnum.SINGLE_PANEL +double_panel_vertical = IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL +double_panel_horizontal = IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL +triple_panel_vertical = IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL +triple_panel_bottom = IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM +triple_panel_top = IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP +triple_panel_left = IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT +triple_panel_horizontal = IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL +userdefined = IfcWindowStyleOperationEnum.USERDEFINED +notdefined = IfcWindowStyleOperationEnum.NOTDEFINED IfcWindowTypeEnum = enum_namespace() -window = express_getattr(IfcWindowTypeEnum, 'WINDOW', INDETERMINATE) -skylight = express_getattr(IfcWindowTypeEnum, 'SKYLIGHT', INDETERMINATE) -lightdome = express_getattr(IfcWindowTypeEnum, 'LIGHTDOME', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypeEnum, 'NOTDEFINED', INDETERMINATE) +window = IfcWindowTypeEnum.WINDOW +skylight = IfcWindowTypeEnum.SKYLIGHT +lightdome = IfcWindowTypeEnum.LIGHTDOME +userdefined = IfcWindowTypeEnum.USERDEFINED +notdefined = IfcWindowTypeEnum.NOTDEFINED IfcWindowTypePartitioningEnum = enum_namespace() -single_panel = express_getattr(IfcWindowTypePartitioningEnum, 'SINGLE_PANEL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -double_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypePartitioningEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypePartitioningEnum, 'NOTDEFINED', INDETERMINATE) +single_panel = IfcWindowTypePartitioningEnum.SINGLE_PANEL +double_panel_vertical = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_VERTICAL +double_panel_horizontal = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_HORIZONTAL +triple_panel_vertical = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_VERTICAL +triple_panel_bottom = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_BOTTOM +triple_panel_top = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_TOP +triple_panel_left = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_RIGHT +triple_panel_horizontal = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_HORIZONTAL +userdefined = IfcWindowTypePartitioningEnum.USERDEFINED +notdefined = IfcWindowTypePartitioningEnum.NOTDEFINED IfcWorkCalendarTypeEnum = enum_namespace() -firstshift = express_getattr(IfcWorkCalendarTypeEnum, 'FIRSTSHIFT', INDETERMINATE) -secondshift = express_getattr(IfcWorkCalendarTypeEnum, 'SECONDSHIFT', INDETERMINATE) -thirdshift = express_getattr(IfcWorkCalendarTypeEnum, 'THIRDSHIFT', INDETERMINATE) -userdefined = express_getattr(IfcWorkCalendarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkCalendarTypeEnum, 'NOTDEFINED', INDETERMINATE) +firstshift = IfcWorkCalendarTypeEnum.FIRSTSHIFT +secondshift = IfcWorkCalendarTypeEnum.SECONDSHIFT +thirdshift = IfcWorkCalendarTypeEnum.THIRDSHIFT +userdefined = IfcWorkCalendarTypeEnum.USERDEFINED +notdefined = IfcWorkCalendarTypeEnum.NOTDEFINED IfcWorkPlanTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkPlanTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkPlanTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkPlanTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkPlanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkPlanTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkPlanTypeEnum.ACTUAL +baseline = IfcWorkPlanTypeEnum.BASELINE +planned = IfcWorkPlanTypeEnum.PLANNED +userdefined = IfcWorkPlanTypeEnum.USERDEFINED +notdefined = IfcWorkPlanTypeEnum.NOTDEFINED IfcWorkScheduleTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkScheduleTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkScheduleTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkScheduleTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkScheduleTypeEnum.ACTUAL +baseline = IfcWorkScheduleTypeEnum.BASELINE +planned = IfcWorkScheduleTypeEnum.PLANNED +userdefined = IfcWorkScheduleTypeEnum.USERDEFINED +notdefined = IfcWorkScheduleTypeEnum.NOTDEFINED def IfcActionRequest(*args, **kwargs): return ifcopenshell.create_entity('IfcActionRequest', 'IFC4X1', *args, **kwargs) diff --git a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X2.py b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X2.py index 9ea3753faf..80376eff4c 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X2.py +++ b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X2.py @@ -1,5 +1,8 @@ import ifcopenshell +def is_indeterminate(v): + return v is None or type(v).__name__ == 'indeterminate_type' + def exists(v): if callable(v): try: @@ -7,10 +10,10 @@ def exists(v): except IndexError as e: return False else: - return v is not None + return not is_indeterminate(v) def nvl(v, default): - return v if v is not None else default + return v if not is_indeterminate(v) else default def is_entity(inst): if isinstance(inst, ifcopenshell.entity_instance): @@ -22,13 +25,13 @@ def is_entity(inst): def express_len(v): if isinstance(v, ifcopenshell.entity_instance) and (not is_entity(v)): v = v[0] - elif v is None or v is INDETERMINATE: + elif is_indeterminate(v): return INDETERMINATE return len(v) old_range = range def range(*args): - if INDETERMINATE in args: + if any(map(is_indeterminate, args)): return yield from old_range(*args) sizeof = express_len @@ -149,1966 +152,1966 @@ class enum_namespace: def __getattr__(self, k): return express_getattr(k, 'upper', INDETERMINATE)() IfcActionRequestTypeEnum = enum_namespace() -email = express_getattr(IfcActionRequestTypeEnum, 'EMAIL', INDETERMINATE) -fax = express_getattr(IfcActionRequestTypeEnum, 'FAX', INDETERMINATE) -phone = express_getattr(IfcActionRequestTypeEnum, 'PHONE', INDETERMINATE) -post = express_getattr(IfcActionRequestTypeEnum, 'POST', INDETERMINATE) -verbal = express_getattr(IfcActionRequestTypeEnum, 'VERBAL', INDETERMINATE) -userdefined = express_getattr(IfcActionRequestTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionRequestTypeEnum, 'NOTDEFINED', INDETERMINATE) +email = IfcActionRequestTypeEnum.EMAIL +fax = IfcActionRequestTypeEnum.FAX +phone = IfcActionRequestTypeEnum.PHONE +post = IfcActionRequestTypeEnum.POST +verbal = IfcActionRequestTypeEnum.VERBAL +userdefined = IfcActionRequestTypeEnum.USERDEFINED +notdefined = IfcActionRequestTypeEnum.NOTDEFINED IfcActionSourceTypeEnum = enum_namespace() -dead_load_g = express_getattr(IfcActionSourceTypeEnum, 'DEAD_LOAD_G', INDETERMINATE) -completion_g1 = express_getattr(IfcActionSourceTypeEnum, 'COMPLETION_G1', INDETERMINATE) -live_load_q = express_getattr(IfcActionSourceTypeEnum, 'LIVE_LOAD_Q', INDETERMINATE) -snow_s = express_getattr(IfcActionSourceTypeEnum, 'SNOW_S', INDETERMINATE) -wind_w = express_getattr(IfcActionSourceTypeEnum, 'WIND_W', INDETERMINATE) -prestressing_p = express_getattr(IfcActionSourceTypeEnum, 'PRESTRESSING_P', INDETERMINATE) -settlement_u = express_getattr(IfcActionSourceTypeEnum, 'SETTLEMENT_U', INDETERMINATE) -temperature_t = express_getattr(IfcActionSourceTypeEnum, 'TEMPERATURE_T', INDETERMINATE) -earthquake_e = express_getattr(IfcActionSourceTypeEnum, 'EARTHQUAKE_E', INDETERMINATE) -fire = express_getattr(IfcActionSourceTypeEnum, 'FIRE', INDETERMINATE) -impulse = express_getattr(IfcActionSourceTypeEnum, 'IMPULSE', INDETERMINATE) -impact = express_getattr(IfcActionSourceTypeEnum, 'IMPACT', INDETERMINATE) -transport = express_getattr(IfcActionSourceTypeEnum, 'TRANSPORT', INDETERMINATE) -erection = express_getattr(IfcActionSourceTypeEnum, 'ERECTION', INDETERMINATE) -propping = express_getattr(IfcActionSourceTypeEnum, 'PROPPING', INDETERMINATE) -system_imperfection = express_getattr(IfcActionSourceTypeEnum, 'SYSTEM_IMPERFECTION', INDETERMINATE) -shrinkage = express_getattr(IfcActionSourceTypeEnum, 'SHRINKAGE', INDETERMINATE) -creep = express_getattr(IfcActionSourceTypeEnum, 'CREEP', INDETERMINATE) -lack_of_fit = express_getattr(IfcActionSourceTypeEnum, 'LACK_OF_FIT', INDETERMINATE) -buoyancy = express_getattr(IfcActionSourceTypeEnum, 'BUOYANCY', INDETERMINATE) -ice = express_getattr(IfcActionSourceTypeEnum, 'ICE', INDETERMINATE) -current = express_getattr(IfcActionSourceTypeEnum, 'CURRENT', INDETERMINATE) -wave = express_getattr(IfcActionSourceTypeEnum, 'WAVE', INDETERMINATE) -rain = express_getattr(IfcActionSourceTypeEnum, 'RAIN', INDETERMINATE) -brakes = express_getattr(IfcActionSourceTypeEnum, 'BRAKES', INDETERMINATE) -userdefined = express_getattr(IfcActionSourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionSourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +dead_load_g = IfcActionSourceTypeEnum.DEAD_LOAD_G +completion_g1 = IfcActionSourceTypeEnum.COMPLETION_G1 +live_load_q = IfcActionSourceTypeEnum.LIVE_LOAD_Q +snow_s = IfcActionSourceTypeEnum.SNOW_S +wind_w = IfcActionSourceTypeEnum.WIND_W +prestressing_p = IfcActionSourceTypeEnum.PRESTRESSING_P +settlement_u = IfcActionSourceTypeEnum.SETTLEMENT_U +temperature_t = IfcActionSourceTypeEnum.TEMPERATURE_T +earthquake_e = IfcActionSourceTypeEnum.EARTHQUAKE_E +fire = IfcActionSourceTypeEnum.FIRE +impulse = IfcActionSourceTypeEnum.IMPULSE +impact = IfcActionSourceTypeEnum.IMPACT +transport = IfcActionSourceTypeEnum.TRANSPORT +erection = IfcActionSourceTypeEnum.ERECTION +propping = IfcActionSourceTypeEnum.PROPPING +system_imperfection = IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION +shrinkage = IfcActionSourceTypeEnum.SHRINKAGE +creep = IfcActionSourceTypeEnum.CREEP +lack_of_fit = IfcActionSourceTypeEnum.LACK_OF_FIT +buoyancy = IfcActionSourceTypeEnum.BUOYANCY +ice = IfcActionSourceTypeEnum.ICE +current = IfcActionSourceTypeEnum.CURRENT +wave = IfcActionSourceTypeEnum.WAVE +rain = IfcActionSourceTypeEnum.RAIN +brakes = IfcActionSourceTypeEnum.BRAKES +userdefined = IfcActionSourceTypeEnum.USERDEFINED +notdefined = IfcActionSourceTypeEnum.NOTDEFINED IfcActionTypeEnum = enum_namespace() -permanent_g = express_getattr(IfcActionTypeEnum, 'PERMANENT_G', INDETERMINATE) -variable_q = express_getattr(IfcActionTypeEnum, 'VARIABLE_Q', INDETERMINATE) -extraordinary_a = express_getattr(IfcActionTypeEnum, 'EXTRAORDINARY_A', INDETERMINATE) -userdefined = express_getattr(IfcActionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionTypeEnum, 'NOTDEFINED', INDETERMINATE) +permanent_g = IfcActionTypeEnum.PERMANENT_G +variable_q = IfcActionTypeEnum.VARIABLE_Q +extraordinary_a = IfcActionTypeEnum.EXTRAORDINARY_A +userdefined = IfcActionTypeEnum.USERDEFINED +notdefined = IfcActionTypeEnum.NOTDEFINED IfcActuatorTypeEnum = enum_namespace() -electricactuator = express_getattr(IfcActuatorTypeEnum, 'ELECTRICACTUATOR', INDETERMINATE) -handoperatedactuator = express_getattr(IfcActuatorTypeEnum, 'HANDOPERATEDACTUATOR', INDETERMINATE) -hydraulicactuator = express_getattr(IfcActuatorTypeEnum, 'HYDRAULICACTUATOR', INDETERMINATE) -pneumaticactuator = express_getattr(IfcActuatorTypeEnum, 'PNEUMATICACTUATOR', INDETERMINATE) -thermostaticactuator = express_getattr(IfcActuatorTypeEnum, 'THERMOSTATICACTUATOR', INDETERMINATE) -userdefined = express_getattr(IfcActuatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActuatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +electricactuator = IfcActuatorTypeEnum.ELECTRICACTUATOR +handoperatedactuator = IfcActuatorTypeEnum.HANDOPERATEDACTUATOR +hydraulicactuator = IfcActuatorTypeEnum.HYDRAULICACTUATOR +pneumaticactuator = IfcActuatorTypeEnum.PNEUMATICACTUATOR +thermostaticactuator = IfcActuatorTypeEnum.THERMOSTATICACTUATOR +userdefined = IfcActuatorTypeEnum.USERDEFINED +notdefined = IfcActuatorTypeEnum.NOTDEFINED IfcAddressTypeEnum = enum_namespace() -office = express_getattr(IfcAddressTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcAddressTypeEnum, 'SITE', INDETERMINATE) -home = express_getattr(IfcAddressTypeEnum, 'HOME', INDETERMINATE) -distributionpoint = express_getattr(IfcAddressTypeEnum, 'DISTRIBUTIONPOINT', INDETERMINATE) -userdefined = express_getattr(IfcAddressTypeEnum, 'USERDEFINED', INDETERMINATE) +office = IfcAddressTypeEnum.OFFICE +site = IfcAddressTypeEnum.SITE +home = IfcAddressTypeEnum.HOME +distributionpoint = IfcAddressTypeEnum.DISTRIBUTIONPOINT +userdefined = IfcAddressTypeEnum.USERDEFINED IfcAirTerminalBoxTypeEnum = enum_namespace() -constantflow = express_getattr(IfcAirTerminalBoxTypeEnum, 'CONSTANTFLOW', INDETERMINATE) -variableflowpressuredependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREDEPENDANT', INDETERMINATE) -variableflowpressureindependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREINDEPENDANT', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +constantflow = IfcAirTerminalBoxTypeEnum.CONSTANTFLOW +variableflowpressuredependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT +variableflowpressureindependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT +userdefined = IfcAirTerminalBoxTypeEnum.USERDEFINED +notdefined = IfcAirTerminalBoxTypeEnum.NOTDEFINED IfcAirTerminalTypeEnum = enum_namespace() -diffuser = express_getattr(IfcAirTerminalTypeEnum, 'DIFFUSER', INDETERMINATE) -grille = express_getattr(IfcAirTerminalTypeEnum, 'GRILLE', INDETERMINATE) -louvre = express_getattr(IfcAirTerminalTypeEnum, 'LOUVRE', INDETERMINATE) -register = express_getattr(IfcAirTerminalTypeEnum, 'REGISTER', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +diffuser = IfcAirTerminalTypeEnum.DIFFUSER +grille = IfcAirTerminalTypeEnum.GRILLE +louvre = IfcAirTerminalTypeEnum.LOUVRE +register = IfcAirTerminalTypeEnum.REGISTER +userdefined = IfcAirTerminalTypeEnum.USERDEFINED +notdefined = IfcAirTerminalTypeEnum.NOTDEFINED IfcAirToAirHeatRecoveryTypeEnum = enum_namespace() -fixedplatecounterflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECOUNTERFLOWEXCHANGER', INDETERMINATE) -fixedplatecrossflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECROSSFLOWEXCHANGER', INDETERMINATE) -fixedplateparallelflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATEPARALLELFLOWEXCHANGER', INDETERMINATE) -rotarywheel = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'ROTARYWHEEL', INDETERMINATE) -runaroundcoilloop = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'RUNAROUNDCOILLOOP', INDETERMINATE) -heatpipe = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'HEATPIPE', INDETERMINATE) -twintowerenthalpyrecoveryloops = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'TWINTOWERENTHALPYRECOVERYLOOPS', INDETERMINATE) -thermosiphonsealedtubeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONSEALEDTUBEHEATEXCHANGERS', INDETERMINATE) -thermosiphoncoiltypeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONCOILTYPEHEATEXCHANGERS', INDETERMINATE) -userdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'NOTDEFINED', INDETERMINATE) +fixedplatecounterflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER +fixedplatecrossflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER +fixedplateparallelflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER +rotarywheel = IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL +runaroundcoilloop = IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP +heatpipe = IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE +twintowerenthalpyrecoveryloops = IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS +thermosiphonsealedtubeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS +thermosiphoncoiltypeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS +userdefined = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED +notdefined = IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED IfcAlarmTypeEnum = enum_namespace() -bell = express_getattr(IfcAlarmTypeEnum, 'BELL', INDETERMINATE) -breakglassbutton = express_getattr(IfcAlarmTypeEnum, 'BREAKGLASSBUTTON', INDETERMINATE) -light = express_getattr(IfcAlarmTypeEnum, 'LIGHT', INDETERMINATE) -manualpullbox = express_getattr(IfcAlarmTypeEnum, 'MANUALPULLBOX', INDETERMINATE) -siren = express_getattr(IfcAlarmTypeEnum, 'SIREN', INDETERMINATE) -whistle = express_getattr(IfcAlarmTypeEnum, 'WHISTLE', INDETERMINATE) -userdefined = express_getattr(IfcAlarmTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlarmTypeEnum, 'NOTDEFINED', INDETERMINATE) +bell = IfcAlarmTypeEnum.BELL +breakglassbutton = IfcAlarmTypeEnum.BREAKGLASSBUTTON +light = IfcAlarmTypeEnum.LIGHT +manualpullbox = IfcAlarmTypeEnum.MANUALPULLBOX +siren = IfcAlarmTypeEnum.SIREN +whistle = IfcAlarmTypeEnum.WHISTLE +userdefined = IfcAlarmTypeEnum.USERDEFINED +notdefined = IfcAlarmTypeEnum.NOTDEFINED IfcAlignmentTypeEnum = enum_namespace() -userdefined = express_getattr(IfcAlignmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlignmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcAlignmentTypeEnum.USERDEFINED +notdefined = IfcAlignmentTypeEnum.NOTDEFINED IfcAnalysisModelTypeEnum = enum_namespace() -in_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'IN_PLANE_LOADING_2D', INDETERMINATE) -out_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'OUT_PLANE_LOADING_2D', INDETERMINATE) -loading_3d = express_getattr(IfcAnalysisModelTypeEnum, 'LOADING_3D', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisModelTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisModelTypeEnum, 'NOTDEFINED', INDETERMINATE) +in_plane_loading_2d = IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D +out_plane_loading_2d = IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D +loading_3d = IfcAnalysisModelTypeEnum.LOADING_3D +userdefined = IfcAnalysisModelTypeEnum.USERDEFINED +notdefined = IfcAnalysisModelTypeEnum.NOTDEFINED IfcAnalysisTheoryTypeEnum = enum_namespace() -first_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FIRST_ORDER_THEORY', INDETERMINATE) -second_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'SECOND_ORDER_THEORY', INDETERMINATE) -third_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'THIRD_ORDER_THEORY', INDETERMINATE) -full_nonlinear_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FULL_NONLINEAR_THEORY', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +first_order_theory = IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY +second_order_theory = IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY +third_order_theory = IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY +full_nonlinear_theory = IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY +userdefined = IfcAnalysisTheoryTypeEnum.USERDEFINED +notdefined = IfcAnalysisTheoryTypeEnum.NOTDEFINED IfcArithmeticOperatorEnum = enum_namespace() -add = express_getattr(IfcArithmeticOperatorEnum, 'ADD', INDETERMINATE) -divide = express_getattr(IfcArithmeticOperatorEnum, 'DIVIDE', INDETERMINATE) -multiply = express_getattr(IfcArithmeticOperatorEnum, 'MULTIPLY', INDETERMINATE) -subtract = express_getattr(IfcArithmeticOperatorEnum, 'SUBTRACT', INDETERMINATE) +add = IfcArithmeticOperatorEnum.ADD +divide = IfcArithmeticOperatorEnum.DIVIDE +multiply = IfcArithmeticOperatorEnum.MULTIPLY +subtract = IfcArithmeticOperatorEnum.SUBTRACT IfcAssemblyPlaceEnum = enum_namespace() -site = express_getattr(IfcAssemblyPlaceEnum, 'SITE', INDETERMINATE) -factory = express_getattr(IfcAssemblyPlaceEnum, 'FACTORY', INDETERMINATE) -notdefined = express_getattr(IfcAssemblyPlaceEnum, 'NOTDEFINED', INDETERMINATE) +site = IfcAssemblyPlaceEnum.SITE +factory = IfcAssemblyPlaceEnum.FACTORY +notdefined = IfcAssemblyPlaceEnum.NOTDEFINED IfcAudioVisualApplianceTypeEnum = enum_namespace() -amplifier = express_getattr(IfcAudioVisualApplianceTypeEnum, 'AMPLIFIER', INDETERMINATE) -camera = express_getattr(IfcAudioVisualApplianceTypeEnum, 'CAMERA', INDETERMINATE) -display = express_getattr(IfcAudioVisualApplianceTypeEnum, 'DISPLAY', INDETERMINATE) -microphone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'MICROPHONE', INDETERMINATE) -player = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PLAYER', INDETERMINATE) -projector = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PROJECTOR', INDETERMINATE) -receiver = express_getattr(IfcAudioVisualApplianceTypeEnum, 'RECEIVER', INDETERMINATE) -speaker = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SPEAKER', INDETERMINATE) -switcher = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SWITCHER', INDETERMINATE) -telephone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TELEPHONE', INDETERMINATE) -tuner = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TUNER', INDETERMINATE) -userdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +amplifier = IfcAudioVisualApplianceTypeEnum.AMPLIFIER +camera = IfcAudioVisualApplianceTypeEnum.CAMERA +display = IfcAudioVisualApplianceTypeEnum.DISPLAY +microphone = IfcAudioVisualApplianceTypeEnum.MICROPHONE +player = IfcAudioVisualApplianceTypeEnum.PLAYER +projector = IfcAudioVisualApplianceTypeEnum.PROJECTOR +receiver = IfcAudioVisualApplianceTypeEnum.RECEIVER +speaker = IfcAudioVisualApplianceTypeEnum.SPEAKER +switcher = IfcAudioVisualApplianceTypeEnum.SWITCHER +telephone = IfcAudioVisualApplianceTypeEnum.TELEPHONE +tuner = IfcAudioVisualApplianceTypeEnum.TUNER +userdefined = IfcAudioVisualApplianceTypeEnum.USERDEFINED +notdefined = IfcAudioVisualApplianceTypeEnum.NOTDEFINED IfcBSplineCurveForm = enum_namespace() -polyline_form = express_getattr(IfcBSplineCurveForm, 'POLYLINE_FORM', INDETERMINATE) -circular_arc = express_getattr(IfcBSplineCurveForm, 'CIRCULAR_ARC', INDETERMINATE) -elliptic_arc = express_getattr(IfcBSplineCurveForm, 'ELLIPTIC_ARC', INDETERMINATE) -parabolic_arc = express_getattr(IfcBSplineCurveForm, 'PARABOLIC_ARC', INDETERMINATE) -hyperbolic_arc = express_getattr(IfcBSplineCurveForm, 'HYPERBOLIC_ARC', INDETERMINATE) -unspecified = express_getattr(IfcBSplineCurveForm, 'UNSPECIFIED', INDETERMINATE) +polyline_form = IfcBSplineCurveForm.POLYLINE_FORM +circular_arc = IfcBSplineCurveForm.CIRCULAR_ARC +elliptic_arc = IfcBSplineCurveForm.ELLIPTIC_ARC +parabolic_arc = IfcBSplineCurveForm.PARABOLIC_ARC +hyperbolic_arc = IfcBSplineCurveForm.HYPERBOLIC_ARC +unspecified = IfcBSplineCurveForm.UNSPECIFIED IfcBSplineSurfaceForm = enum_namespace() -plane_surf = express_getattr(IfcBSplineSurfaceForm, 'PLANE_SURF', INDETERMINATE) -cylindrical_surf = express_getattr(IfcBSplineSurfaceForm, 'CYLINDRICAL_SURF', INDETERMINATE) -conical_surf = express_getattr(IfcBSplineSurfaceForm, 'CONICAL_SURF', INDETERMINATE) -spherical_surf = express_getattr(IfcBSplineSurfaceForm, 'SPHERICAL_SURF', INDETERMINATE) -toroidal_surf = express_getattr(IfcBSplineSurfaceForm, 'TOROIDAL_SURF', INDETERMINATE) -surf_of_revolution = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_REVOLUTION', INDETERMINATE) -ruled_surf = express_getattr(IfcBSplineSurfaceForm, 'RULED_SURF', INDETERMINATE) -generalised_cone = express_getattr(IfcBSplineSurfaceForm, 'GENERALISED_CONE', INDETERMINATE) -quadric_surf = express_getattr(IfcBSplineSurfaceForm, 'QUADRIC_SURF', INDETERMINATE) -surf_of_linear_extrusion = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_LINEAR_EXTRUSION', INDETERMINATE) -unspecified = express_getattr(IfcBSplineSurfaceForm, 'UNSPECIFIED', INDETERMINATE) +plane_surf = IfcBSplineSurfaceForm.PLANE_SURF +cylindrical_surf = IfcBSplineSurfaceForm.CYLINDRICAL_SURF +conical_surf = IfcBSplineSurfaceForm.CONICAL_SURF +spherical_surf = IfcBSplineSurfaceForm.SPHERICAL_SURF +toroidal_surf = IfcBSplineSurfaceForm.TOROIDAL_SURF +surf_of_revolution = IfcBSplineSurfaceForm.SURF_OF_REVOLUTION +ruled_surf = IfcBSplineSurfaceForm.RULED_SURF +generalised_cone = IfcBSplineSurfaceForm.GENERALISED_CONE +quadric_surf = IfcBSplineSurfaceForm.QUADRIC_SURF +surf_of_linear_extrusion = IfcBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION +unspecified = IfcBSplineSurfaceForm.UNSPECIFIED IfcBeamTypeEnum = enum_namespace() -beam = express_getattr(IfcBeamTypeEnum, 'BEAM', INDETERMINATE) -joist = express_getattr(IfcBeamTypeEnum, 'JOIST', INDETERMINATE) -hollowcore = express_getattr(IfcBeamTypeEnum, 'HOLLOWCORE', INDETERMINATE) -lintel = express_getattr(IfcBeamTypeEnum, 'LINTEL', INDETERMINATE) -spandrel = express_getattr(IfcBeamTypeEnum, 'SPANDREL', INDETERMINATE) -t_beam = express_getattr(IfcBeamTypeEnum, 'T_BEAM', INDETERMINATE) -girder_segment = express_getattr(IfcBeamTypeEnum, 'GIRDER_SEGMENT', INDETERMINATE) -diaphragm = express_getattr(IfcBeamTypeEnum, 'DIAPHRAGM', INDETERMINATE) -piercap = express_getattr(IfcBeamTypeEnum, 'PIERCAP', INDETERMINATE) -hatstone = express_getattr(IfcBeamTypeEnum, 'HATSTONE', INDETERMINATE) -cornice = express_getattr(IfcBeamTypeEnum, 'CORNICE', INDETERMINATE) -edgebeam = express_getattr(IfcBeamTypeEnum, 'EDGEBEAM', INDETERMINATE) -userdefined = express_getattr(IfcBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +beam = IfcBeamTypeEnum.BEAM +joist = IfcBeamTypeEnum.JOIST +hollowcore = IfcBeamTypeEnum.HOLLOWCORE +lintel = IfcBeamTypeEnum.LINTEL +spandrel = IfcBeamTypeEnum.SPANDREL +t_beam = IfcBeamTypeEnum.T_BEAM +girder_segment = IfcBeamTypeEnum.GIRDER_SEGMENT +diaphragm = IfcBeamTypeEnum.DIAPHRAGM +piercap = IfcBeamTypeEnum.PIERCAP +hatstone = IfcBeamTypeEnum.HATSTONE +cornice = IfcBeamTypeEnum.CORNICE +edgebeam = IfcBeamTypeEnum.EDGEBEAM +userdefined = IfcBeamTypeEnum.USERDEFINED +notdefined = IfcBeamTypeEnum.NOTDEFINED IfcBearingTypeDisplacementEnum = enum_namespace() -fixed_movement = express_getattr(IfcBearingTypeDisplacementEnum, 'FIXED_MOVEMENT', INDETERMINATE) -guided_longitudinal = express_getattr(IfcBearingTypeDisplacementEnum, 'GUIDED_LONGITUDINAL', INDETERMINATE) -guided_transversal = express_getattr(IfcBearingTypeDisplacementEnum, 'GUIDED_TRANSVERSAL', INDETERMINATE) -free_movement = express_getattr(IfcBearingTypeDisplacementEnum, 'FREE_MOVEMENT', INDETERMINATE) -notdefined = express_getattr(IfcBearingTypeDisplacementEnum, 'NOTDEFINED', INDETERMINATE) +fixed_movement = IfcBearingTypeDisplacementEnum.FIXED_MOVEMENT +guided_longitudinal = IfcBearingTypeDisplacementEnum.GUIDED_LONGITUDINAL +guided_transversal = IfcBearingTypeDisplacementEnum.GUIDED_TRANSVERSAL +free_movement = IfcBearingTypeDisplacementEnum.FREE_MOVEMENT +notdefined = IfcBearingTypeDisplacementEnum.NOTDEFINED IfcBearingTypeEnum = enum_namespace() -cylindrical = express_getattr(IfcBearingTypeEnum, 'CYLINDRICAL', INDETERMINATE) -spherical = express_getattr(IfcBearingTypeEnum, 'SPHERICAL', INDETERMINATE) -elastomeric = express_getattr(IfcBearingTypeEnum, 'ELASTOMERIC', INDETERMINATE) -pot = express_getattr(IfcBearingTypeEnum, 'POT', INDETERMINATE) -guide = express_getattr(IfcBearingTypeEnum, 'GUIDE', INDETERMINATE) -rocker = express_getattr(IfcBearingTypeEnum, 'ROCKER', INDETERMINATE) -roller = express_getattr(IfcBearingTypeEnum, 'ROLLER', INDETERMINATE) -disk = express_getattr(IfcBearingTypeEnum, 'DISK', INDETERMINATE) -userdefined = express_getattr(IfcBearingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBearingTypeEnum, 'NOTDEFINED', INDETERMINATE) +cylindrical = IfcBearingTypeEnum.CYLINDRICAL +spherical = IfcBearingTypeEnum.SPHERICAL +elastomeric = IfcBearingTypeEnum.ELASTOMERIC +pot = IfcBearingTypeEnum.POT +guide = IfcBearingTypeEnum.GUIDE +rocker = IfcBearingTypeEnum.ROCKER +roller = IfcBearingTypeEnum.ROLLER +disk = IfcBearingTypeEnum.DISK +userdefined = IfcBearingTypeEnum.USERDEFINED +notdefined = IfcBearingTypeEnum.NOTDEFINED IfcBenchmarkEnum = enum_namespace() -greaterthan = express_getattr(IfcBenchmarkEnum, 'GREATERTHAN', INDETERMINATE) -greaterthanorequalto = express_getattr(IfcBenchmarkEnum, 'GREATERTHANOREQUALTO', INDETERMINATE) -lessthan = express_getattr(IfcBenchmarkEnum, 'LESSTHAN', INDETERMINATE) -lessthanorequalto = express_getattr(IfcBenchmarkEnum, 'LESSTHANOREQUALTO', INDETERMINATE) -equalto = express_getattr(IfcBenchmarkEnum, 'EQUALTO', INDETERMINATE) -notequalto = express_getattr(IfcBenchmarkEnum, 'NOTEQUALTO', INDETERMINATE) -includes = express_getattr(IfcBenchmarkEnum, 'INCLUDES', INDETERMINATE) -notincludes = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDES', INDETERMINATE) -includedin = express_getattr(IfcBenchmarkEnum, 'INCLUDEDIN', INDETERMINATE) -notincludedin = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDEDIN', INDETERMINATE) +greaterthan = IfcBenchmarkEnum.GREATERTHAN +greaterthanorequalto = IfcBenchmarkEnum.GREATERTHANOREQUALTO +lessthan = IfcBenchmarkEnum.LESSTHAN +lessthanorequalto = IfcBenchmarkEnum.LESSTHANOREQUALTO +equalto = IfcBenchmarkEnum.EQUALTO +notequalto = IfcBenchmarkEnum.NOTEQUALTO +includes = IfcBenchmarkEnum.INCLUDES +notincludes = IfcBenchmarkEnum.NOTINCLUDES +includedin = IfcBenchmarkEnum.INCLUDEDIN +notincludedin = IfcBenchmarkEnum.NOTINCLUDEDIN IfcBoilerTypeEnum = enum_namespace() -water = express_getattr(IfcBoilerTypeEnum, 'WATER', INDETERMINATE) -steam = express_getattr(IfcBoilerTypeEnum, 'STEAM', INDETERMINATE) -userdefined = express_getattr(IfcBoilerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBoilerTypeEnum, 'NOTDEFINED', INDETERMINATE) +water = IfcBoilerTypeEnum.WATER +steam = IfcBoilerTypeEnum.STEAM +userdefined = IfcBoilerTypeEnum.USERDEFINED +notdefined = IfcBoilerTypeEnum.NOTDEFINED IfcBooleanOperator = enum_namespace() -union = express_getattr(IfcBooleanOperator, 'UNION', INDETERMINATE) -intersection = express_getattr(IfcBooleanOperator, 'INTERSECTION', INDETERMINATE) -difference = express_getattr(IfcBooleanOperator, 'DIFFERENCE', INDETERMINATE) +union = IfcBooleanOperator.UNION +intersection = IfcBooleanOperator.INTERSECTION +difference = IfcBooleanOperator.DIFFERENCE IfcBridgePartTypeEnum = enum_namespace() -abutment = express_getattr(IfcBridgePartTypeEnum, 'ABUTMENT', INDETERMINATE) -deck = express_getattr(IfcBridgePartTypeEnum, 'DECK', INDETERMINATE) -deck_segment = express_getattr(IfcBridgePartTypeEnum, 'DECK_SEGMENT', INDETERMINATE) -foundation = express_getattr(IfcBridgePartTypeEnum, 'FOUNDATION', INDETERMINATE) -pier = express_getattr(IfcBridgePartTypeEnum, 'PIER', INDETERMINATE) -pier_segment = express_getattr(IfcBridgePartTypeEnum, 'PIER_SEGMENT', INDETERMINATE) -pylon = express_getattr(IfcBridgePartTypeEnum, 'PYLON', INDETERMINATE) -substructure = express_getattr(IfcBridgePartTypeEnum, 'SUBSTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcBridgePartTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -surfacestructure = express_getattr(IfcBridgePartTypeEnum, 'SURFACESTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcBridgePartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBridgePartTypeEnum, 'NOTDEFINED', INDETERMINATE) +abutment = IfcBridgePartTypeEnum.ABUTMENT +deck = IfcBridgePartTypeEnum.DECK +deck_segment = IfcBridgePartTypeEnum.DECK_SEGMENT +foundation = IfcBridgePartTypeEnum.FOUNDATION +pier = IfcBridgePartTypeEnum.PIER +pier_segment = IfcBridgePartTypeEnum.PIER_SEGMENT +pylon = IfcBridgePartTypeEnum.PYLON +substructure = IfcBridgePartTypeEnum.SUBSTRUCTURE +superstructure = IfcBridgePartTypeEnum.SUPERSTRUCTURE +surfacestructure = IfcBridgePartTypeEnum.SURFACESTRUCTURE +userdefined = IfcBridgePartTypeEnum.USERDEFINED +notdefined = IfcBridgePartTypeEnum.NOTDEFINED IfcBridgeTypeEnum = enum_namespace() -arched = express_getattr(IfcBridgeTypeEnum, 'ARCHED', INDETERMINATE) -cable_stayed = express_getattr(IfcBridgeTypeEnum, 'CABLE_STAYED', INDETERMINATE) -cantilever = express_getattr(IfcBridgeTypeEnum, 'CANTILEVER', INDETERMINATE) -culvert = express_getattr(IfcBridgeTypeEnum, 'CULVERT', INDETERMINATE) -framework = express_getattr(IfcBridgeTypeEnum, 'FRAMEWORK', INDETERMINATE) -girder = express_getattr(IfcBridgeTypeEnum, 'GIRDER', INDETERMINATE) -suspension = express_getattr(IfcBridgeTypeEnum, 'SUSPENSION', INDETERMINATE) -truss = express_getattr(IfcBridgeTypeEnum, 'TRUSS', INDETERMINATE) -userdefined = express_getattr(IfcBridgeTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBridgeTypeEnum, 'NOTDEFINED', INDETERMINATE) +arched = IfcBridgeTypeEnum.ARCHED +cable_stayed = IfcBridgeTypeEnum.CABLE_STAYED +cantilever = IfcBridgeTypeEnum.CANTILEVER +culvert = IfcBridgeTypeEnum.CULVERT +framework = IfcBridgeTypeEnum.FRAMEWORK +girder = IfcBridgeTypeEnum.GIRDER +suspension = IfcBridgeTypeEnum.SUSPENSION +truss = IfcBridgeTypeEnum.TRUSS +userdefined = IfcBridgeTypeEnum.USERDEFINED +notdefined = IfcBridgeTypeEnum.NOTDEFINED IfcBuildingElementPartTypeEnum = enum_namespace() -insulation = express_getattr(IfcBuildingElementPartTypeEnum, 'INSULATION', INDETERMINATE) -precastpanel = express_getattr(IfcBuildingElementPartTypeEnum, 'PRECASTPANEL', INDETERMINATE) -apron = express_getattr(IfcBuildingElementPartTypeEnum, 'APRON', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +insulation = IfcBuildingElementPartTypeEnum.INSULATION +precastpanel = IfcBuildingElementPartTypeEnum.PRECASTPANEL +apron = IfcBuildingElementPartTypeEnum.APRON +userdefined = IfcBuildingElementPartTypeEnum.USERDEFINED +notdefined = IfcBuildingElementPartTypeEnum.NOTDEFINED IfcBuildingElementProxyTypeEnum = enum_namespace() -complex = express_getattr(IfcBuildingElementProxyTypeEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcBuildingElementProxyTypeEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcBuildingElementProxyTypeEnum, 'PARTIAL', INDETERMINATE) -provisionforvoid = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORVOID', INDETERMINATE) -provisionforspace = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORSPACE', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'NOTDEFINED', INDETERMINATE) +complex = IfcBuildingElementProxyTypeEnum.COMPLEX +element = IfcBuildingElementProxyTypeEnum.ELEMENT +partial = IfcBuildingElementProxyTypeEnum.PARTIAL +provisionforvoid = IfcBuildingElementProxyTypeEnum.PROVISIONFORVOID +provisionforspace = IfcBuildingElementProxyTypeEnum.PROVISIONFORSPACE +userdefined = IfcBuildingElementProxyTypeEnum.USERDEFINED +notdefined = IfcBuildingElementProxyTypeEnum.NOTDEFINED IfcBuildingSystemTypeEnum = enum_namespace() -fenestration = express_getattr(IfcBuildingSystemTypeEnum, 'FENESTRATION', INDETERMINATE) -foundation = express_getattr(IfcBuildingSystemTypeEnum, 'FOUNDATION', INDETERMINATE) -loadbearing = express_getattr(IfcBuildingSystemTypeEnum, 'LOADBEARING', INDETERMINATE) -outershell = express_getattr(IfcBuildingSystemTypeEnum, 'OUTERSHELL', INDETERMINATE) -shading = express_getattr(IfcBuildingSystemTypeEnum, 'SHADING', INDETERMINATE) -transport = express_getattr(IfcBuildingSystemTypeEnum, 'TRANSPORT', INDETERMINATE) -reinforcing = express_getattr(IfcBuildingSystemTypeEnum, 'REINFORCING', INDETERMINATE) -prestressing = express_getattr(IfcBuildingSystemTypeEnum, 'PRESTRESSING', INDETERMINATE) -userdefined = express_getattr(IfcBuildingSystemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingSystemTypeEnum, 'NOTDEFINED', INDETERMINATE) +fenestration = IfcBuildingSystemTypeEnum.FENESTRATION +foundation = IfcBuildingSystemTypeEnum.FOUNDATION +loadbearing = IfcBuildingSystemTypeEnum.LOADBEARING +outershell = IfcBuildingSystemTypeEnum.OUTERSHELL +shading = IfcBuildingSystemTypeEnum.SHADING +transport = IfcBuildingSystemTypeEnum.TRANSPORT +reinforcing = IfcBuildingSystemTypeEnum.REINFORCING +prestressing = IfcBuildingSystemTypeEnum.PRESTRESSING +userdefined = IfcBuildingSystemTypeEnum.USERDEFINED +notdefined = IfcBuildingSystemTypeEnum.NOTDEFINED IfcBurnerTypeEnum = enum_namespace() -userdefined = express_getattr(IfcBurnerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBurnerTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcBurnerTypeEnum.USERDEFINED +notdefined = IfcBurnerTypeEnum.NOTDEFINED IfcCableCarrierFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcCableCarrierFittingTypeEnum, 'BEND', INDETERMINATE) -cross = express_getattr(IfcCableCarrierFittingTypeEnum, 'CROSS', INDETERMINATE) -reducer = express_getattr(IfcCableCarrierFittingTypeEnum, 'REDUCER', INDETERMINATE) -tee = express_getattr(IfcCableCarrierFittingTypeEnum, 'TEE', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcCableCarrierFittingTypeEnum.BEND +cross = IfcCableCarrierFittingTypeEnum.CROSS +reducer = IfcCableCarrierFittingTypeEnum.REDUCER +tee = IfcCableCarrierFittingTypeEnum.TEE +userdefined = IfcCableCarrierFittingTypeEnum.USERDEFINED +notdefined = IfcCableCarrierFittingTypeEnum.NOTDEFINED IfcCableCarrierSegmentTypeEnum = enum_namespace() -cableladdersegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLELADDERSEGMENT', INDETERMINATE) -cabletraysegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRAYSEGMENT', INDETERMINATE) -cabletrunkingsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRUNKINGSEGMENT', INDETERMINATE) -conduitsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CONDUITSEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +cableladdersegment = IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT +cabletraysegment = IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT +cabletrunkingsegment = IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT +conduitsegment = IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT +userdefined = IfcCableCarrierSegmentTypeEnum.USERDEFINED +notdefined = IfcCableCarrierSegmentTypeEnum.NOTDEFINED IfcCableFittingTypeEnum = enum_namespace() -connector = express_getattr(IfcCableFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcCableFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcCableFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcCableFittingTypeEnum, 'JUNCTION', INDETERMINATE) -transition = express_getattr(IfcCableFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcCableFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +connector = IfcCableFittingTypeEnum.CONNECTOR +entry = IfcCableFittingTypeEnum.ENTRY +exit = IfcCableFittingTypeEnum.EXIT +junction = IfcCableFittingTypeEnum.JUNCTION +transition = IfcCableFittingTypeEnum.TRANSITION +userdefined = IfcCableFittingTypeEnum.USERDEFINED +notdefined = IfcCableFittingTypeEnum.NOTDEFINED IfcCableSegmentTypeEnum = enum_namespace() -busbarsegment = express_getattr(IfcCableSegmentTypeEnum, 'BUSBARSEGMENT', INDETERMINATE) -cablesegment = express_getattr(IfcCableSegmentTypeEnum, 'CABLESEGMENT', INDETERMINATE) -conductorsegment = express_getattr(IfcCableSegmentTypeEnum, 'CONDUCTORSEGMENT', INDETERMINATE) -coresegment = express_getattr(IfcCableSegmentTypeEnum, 'CORESEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcCableSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +busbarsegment = IfcCableSegmentTypeEnum.BUSBARSEGMENT +cablesegment = IfcCableSegmentTypeEnum.CABLESEGMENT +conductorsegment = IfcCableSegmentTypeEnum.CONDUCTORSEGMENT +coresegment = IfcCableSegmentTypeEnum.CORESEGMENT +userdefined = IfcCableSegmentTypeEnum.USERDEFINED +notdefined = IfcCableSegmentTypeEnum.NOTDEFINED IfcCaissonFoundationTypeEnum = enum_namespace() -well = express_getattr(IfcCaissonFoundationTypeEnum, 'WELL', INDETERMINATE) -caisson = express_getattr(IfcCaissonFoundationTypeEnum, 'CAISSON', INDETERMINATE) -userdefined = express_getattr(IfcCaissonFoundationTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCaissonFoundationTypeEnum, 'NOTDEFINED', INDETERMINATE) +well = IfcCaissonFoundationTypeEnum.WELL +caisson = IfcCaissonFoundationTypeEnum.CAISSON +userdefined = IfcCaissonFoundationTypeEnum.USERDEFINED +notdefined = IfcCaissonFoundationTypeEnum.NOTDEFINED IfcChangeActionEnum = enum_namespace() -nochange = express_getattr(IfcChangeActionEnum, 'NOCHANGE', INDETERMINATE) -modified = express_getattr(IfcChangeActionEnum, 'MODIFIED', INDETERMINATE) -added = express_getattr(IfcChangeActionEnum, 'ADDED', INDETERMINATE) -deleted = express_getattr(IfcChangeActionEnum, 'DELETED', INDETERMINATE) -notdefined = express_getattr(IfcChangeActionEnum, 'NOTDEFINED', INDETERMINATE) +nochange = IfcChangeActionEnum.NOCHANGE +modified = IfcChangeActionEnum.MODIFIED +added = IfcChangeActionEnum.ADDED +deleted = IfcChangeActionEnum.DELETED +notdefined = IfcChangeActionEnum.NOTDEFINED IfcChillerTypeEnum = enum_namespace() -aircooled = express_getattr(IfcChillerTypeEnum, 'AIRCOOLED', INDETERMINATE) -watercooled = express_getattr(IfcChillerTypeEnum, 'WATERCOOLED', INDETERMINATE) -heatrecovery = express_getattr(IfcChillerTypeEnum, 'HEATRECOVERY', INDETERMINATE) -userdefined = express_getattr(IfcChillerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChillerTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcChillerTypeEnum.AIRCOOLED +watercooled = IfcChillerTypeEnum.WATERCOOLED +heatrecovery = IfcChillerTypeEnum.HEATRECOVERY +userdefined = IfcChillerTypeEnum.USERDEFINED +notdefined = IfcChillerTypeEnum.NOTDEFINED IfcChimneyTypeEnum = enum_namespace() -userdefined = express_getattr(IfcChimneyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChimneyTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcChimneyTypeEnum.USERDEFINED +notdefined = IfcChimneyTypeEnum.NOTDEFINED IfcCoilTypeEnum = enum_namespace() -dxcoolingcoil = express_getattr(IfcCoilTypeEnum, 'DXCOOLINGCOIL', INDETERMINATE) -electricheatingcoil = express_getattr(IfcCoilTypeEnum, 'ELECTRICHEATINGCOIL', INDETERMINATE) -gasheatingcoil = express_getattr(IfcCoilTypeEnum, 'GASHEATINGCOIL', INDETERMINATE) -hydroniccoil = express_getattr(IfcCoilTypeEnum, 'HYDRONICCOIL', INDETERMINATE) -steamheatingcoil = express_getattr(IfcCoilTypeEnum, 'STEAMHEATINGCOIL', INDETERMINATE) -watercoolingcoil = express_getattr(IfcCoilTypeEnum, 'WATERCOOLINGCOIL', INDETERMINATE) -waterheatingcoil = express_getattr(IfcCoilTypeEnum, 'WATERHEATINGCOIL', INDETERMINATE) -userdefined = express_getattr(IfcCoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +dxcoolingcoil = IfcCoilTypeEnum.DXCOOLINGCOIL +electricheatingcoil = IfcCoilTypeEnum.ELECTRICHEATINGCOIL +gasheatingcoil = IfcCoilTypeEnum.GASHEATINGCOIL +hydroniccoil = IfcCoilTypeEnum.HYDRONICCOIL +steamheatingcoil = IfcCoilTypeEnum.STEAMHEATINGCOIL +watercoolingcoil = IfcCoilTypeEnum.WATERCOOLINGCOIL +waterheatingcoil = IfcCoilTypeEnum.WATERHEATINGCOIL +userdefined = IfcCoilTypeEnum.USERDEFINED +notdefined = IfcCoilTypeEnum.NOTDEFINED IfcColumnTypeEnum = enum_namespace() -column = express_getattr(IfcColumnTypeEnum, 'COLUMN', INDETERMINATE) -pilaster = express_getattr(IfcColumnTypeEnum, 'PILASTER', INDETERMINATE) -pierstem = express_getattr(IfcColumnTypeEnum, 'PIERSTEM', INDETERMINATE) -pierstem_segment = express_getattr(IfcColumnTypeEnum, 'PIERSTEM_SEGMENT', INDETERMINATE) -standcolumn = express_getattr(IfcColumnTypeEnum, 'STANDCOLUMN', INDETERMINATE) -userdefined = express_getattr(IfcColumnTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcColumnTypeEnum, 'NOTDEFINED', INDETERMINATE) +column = IfcColumnTypeEnum.COLUMN +pilaster = IfcColumnTypeEnum.PILASTER +pierstem = IfcColumnTypeEnum.PIERSTEM +pierstem_segment = IfcColumnTypeEnum.PIERSTEM_SEGMENT +standcolumn = IfcColumnTypeEnum.STANDCOLUMN +userdefined = IfcColumnTypeEnum.USERDEFINED +notdefined = IfcColumnTypeEnum.NOTDEFINED IfcCommunicationsApplianceTypeEnum = enum_namespace() -antenna = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ANTENNA', INDETERMINATE) -computer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'COMPUTER', INDETERMINATE) -fax = express_getattr(IfcCommunicationsApplianceTypeEnum, 'FAX', INDETERMINATE) -gateway = express_getattr(IfcCommunicationsApplianceTypeEnum, 'GATEWAY', INDETERMINATE) -modem = express_getattr(IfcCommunicationsApplianceTypeEnum, 'MODEM', INDETERMINATE) -networkappliance = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKAPPLIANCE', INDETERMINATE) -networkbridge = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKBRIDGE', INDETERMINATE) -networkhub = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKHUB', INDETERMINATE) -printer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'PRINTER', INDETERMINATE) -repeater = express_getattr(IfcCommunicationsApplianceTypeEnum, 'REPEATER', INDETERMINATE) -router = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ROUTER', INDETERMINATE) -scanner = express_getattr(IfcCommunicationsApplianceTypeEnum, 'SCANNER', INDETERMINATE) -userdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +antenna = IfcCommunicationsApplianceTypeEnum.ANTENNA +computer = IfcCommunicationsApplianceTypeEnum.COMPUTER +fax = IfcCommunicationsApplianceTypeEnum.FAX +gateway = IfcCommunicationsApplianceTypeEnum.GATEWAY +modem = IfcCommunicationsApplianceTypeEnum.MODEM +networkappliance = IfcCommunicationsApplianceTypeEnum.NETWORKAPPLIANCE +networkbridge = IfcCommunicationsApplianceTypeEnum.NETWORKBRIDGE +networkhub = IfcCommunicationsApplianceTypeEnum.NETWORKHUB +printer = IfcCommunicationsApplianceTypeEnum.PRINTER +repeater = IfcCommunicationsApplianceTypeEnum.REPEATER +router = IfcCommunicationsApplianceTypeEnum.ROUTER +scanner = IfcCommunicationsApplianceTypeEnum.SCANNER +userdefined = IfcCommunicationsApplianceTypeEnum.USERDEFINED +notdefined = IfcCommunicationsApplianceTypeEnum.NOTDEFINED IfcComplexPropertyTemplateTypeEnum = enum_namespace() -p_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'P_COMPLEX', INDETERMINATE) -q_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'Q_COMPLEX', INDETERMINATE) +p_complex = IfcComplexPropertyTemplateTypeEnum.P_COMPLEX +q_complex = IfcComplexPropertyTemplateTypeEnum.Q_COMPLEX IfcCompressorTypeEnum = enum_namespace() -dynamic = express_getattr(IfcCompressorTypeEnum, 'DYNAMIC', INDETERMINATE) -reciprocating = express_getattr(IfcCompressorTypeEnum, 'RECIPROCATING', INDETERMINATE) -rotary = express_getattr(IfcCompressorTypeEnum, 'ROTARY', INDETERMINATE) -scroll = express_getattr(IfcCompressorTypeEnum, 'SCROLL', INDETERMINATE) -trochoidal = express_getattr(IfcCompressorTypeEnum, 'TROCHOIDAL', INDETERMINATE) -singlestage = express_getattr(IfcCompressorTypeEnum, 'SINGLESTAGE', INDETERMINATE) -booster = express_getattr(IfcCompressorTypeEnum, 'BOOSTER', INDETERMINATE) -opentype = express_getattr(IfcCompressorTypeEnum, 'OPENTYPE', INDETERMINATE) -hermetic = express_getattr(IfcCompressorTypeEnum, 'HERMETIC', INDETERMINATE) -semihermetic = express_getattr(IfcCompressorTypeEnum, 'SEMIHERMETIC', INDETERMINATE) -weldedshellhermetic = express_getattr(IfcCompressorTypeEnum, 'WELDEDSHELLHERMETIC', INDETERMINATE) -rollingpiston = express_getattr(IfcCompressorTypeEnum, 'ROLLINGPISTON', INDETERMINATE) -rotaryvane = express_getattr(IfcCompressorTypeEnum, 'ROTARYVANE', INDETERMINATE) -singlescrew = express_getattr(IfcCompressorTypeEnum, 'SINGLESCREW', INDETERMINATE) -twinscrew = express_getattr(IfcCompressorTypeEnum, 'TWINSCREW', INDETERMINATE) -userdefined = express_getattr(IfcCompressorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCompressorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dynamic = IfcCompressorTypeEnum.DYNAMIC +reciprocating = IfcCompressorTypeEnum.RECIPROCATING +rotary = IfcCompressorTypeEnum.ROTARY +scroll = IfcCompressorTypeEnum.SCROLL +trochoidal = IfcCompressorTypeEnum.TROCHOIDAL +singlestage = IfcCompressorTypeEnum.SINGLESTAGE +booster = IfcCompressorTypeEnum.BOOSTER +opentype = IfcCompressorTypeEnum.OPENTYPE +hermetic = IfcCompressorTypeEnum.HERMETIC +semihermetic = IfcCompressorTypeEnum.SEMIHERMETIC +weldedshellhermetic = IfcCompressorTypeEnum.WELDEDSHELLHERMETIC +rollingpiston = IfcCompressorTypeEnum.ROLLINGPISTON +rotaryvane = IfcCompressorTypeEnum.ROTARYVANE +singlescrew = IfcCompressorTypeEnum.SINGLESCREW +twinscrew = IfcCompressorTypeEnum.TWINSCREW +userdefined = IfcCompressorTypeEnum.USERDEFINED +notdefined = IfcCompressorTypeEnum.NOTDEFINED IfcCondenserTypeEnum = enum_namespace() -aircooled = express_getattr(IfcCondenserTypeEnum, 'AIRCOOLED', INDETERMINATE) -evaporativecooled = express_getattr(IfcCondenserTypeEnum, 'EVAPORATIVECOOLED', INDETERMINATE) -watercooled = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLED', INDETERMINATE) -watercooledbrazedplate = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDBRAZEDPLATE', INDETERMINATE) -watercooledshellcoil = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLCOIL', INDETERMINATE) -watercooledshelltube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLTUBE', INDETERMINATE) -watercooledtubeintube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDTUBEINTUBE', INDETERMINATE) -userdefined = express_getattr(IfcCondenserTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCondenserTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcCondenserTypeEnum.AIRCOOLED +evaporativecooled = IfcCondenserTypeEnum.EVAPORATIVECOOLED +watercooled = IfcCondenserTypeEnum.WATERCOOLED +watercooledbrazedplate = IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE +watercooledshellcoil = IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL +watercooledshelltube = IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE +watercooledtubeintube = IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE +userdefined = IfcCondenserTypeEnum.USERDEFINED +notdefined = IfcCondenserTypeEnum.NOTDEFINED IfcConnectionTypeEnum = enum_namespace() -atpath = express_getattr(IfcConnectionTypeEnum, 'ATPATH', INDETERMINATE) -atstart = express_getattr(IfcConnectionTypeEnum, 'ATSTART', INDETERMINATE) -atend = express_getattr(IfcConnectionTypeEnum, 'ATEND', INDETERMINATE) -notdefined = express_getattr(IfcConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +atpath = IfcConnectionTypeEnum.ATPATH +atstart = IfcConnectionTypeEnum.ATSTART +atend = IfcConnectionTypeEnum.ATEND +notdefined = IfcConnectionTypeEnum.NOTDEFINED IfcConstraintEnum = enum_namespace() -hard = express_getattr(IfcConstraintEnum, 'HARD', INDETERMINATE) -soft = express_getattr(IfcConstraintEnum, 'SOFT', INDETERMINATE) -advisory = express_getattr(IfcConstraintEnum, 'ADVISORY', INDETERMINATE) -userdefined = express_getattr(IfcConstraintEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstraintEnum, 'NOTDEFINED', INDETERMINATE) +hard = IfcConstraintEnum.HARD +soft = IfcConstraintEnum.SOFT +advisory = IfcConstraintEnum.ADVISORY +userdefined = IfcConstraintEnum.USERDEFINED +notdefined = IfcConstraintEnum.NOTDEFINED IfcConstructionEquipmentResourceTypeEnum = enum_namespace() -demolishing = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'DEMOLISHING', INDETERMINATE) -earthmoving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'EARTHMOVING', INDETERMINATE) -erecting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'ERECTING', INDETERMINATE) -heating = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'LIGHTING', INDETERMINATE) -paving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PAVING', INDETERMINATE) -pumping = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PUMPING', INDETERMINATE) -transporting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'TRANSPORTING', INDETERMINATE) -userdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +demolishing = IfcConstructionEquipmentResourceTypeEnum.DEMOLISHING +earthmoving = IfcConstructionEquipmentResourceTypeEnum.EARTHMOVING +erecting = IfcConstructionEquipmentResourceTypeEnum.ERECTING +heating = IfcConstructionEquipmentResourceTypeEnum.HEATING +lighting = IfcConstructionEquipmentResourceTypeEnum.LIGHTING +paving = IfcConstructionEquipmentResourceTypeEnum.PAVING +pumping = IfcConstructionEquipmentResourceTypeEnum.PUMPING +transporting = IfcConstructionEquipmentResourceTypeEnum.TRANSPORTING +userdefined = IfcConstructionEquipmentResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionEquipmentResourceTypeEnum.NOTDEFINED IfcConstructionMaterialResourceTypeEnum = enum_namespace() -aggregates = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'AGGREGATES', INDETERMINATE) -concrete = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'DRYWALL', INDETERMINATE) -fuel = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'FUEL', INDETERMINATE) -gypsum = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'GYPSUM', INDETERMINATE) -masonry = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'MASONRY', INDETERMINATE) -metal = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'METAL', INDETERMINATE) -plastic = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'PLASTIC', INDETERMINATE) -wood = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'WOOD', INDETERMINATE) -notdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) -userdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'USERDEFINED', INDETERMINATE) +aggregates = IfcConstructionMaterialResourceTypeEnum.AGGREGATES +concrete = IfcConstructionMaterialResourceTypeEnum.CONCRETE +drywall = IfcConstructionMaterialResourceTypeEnum.DRYWALL +fuel = IfcConstructionMaterialResourceTypeEnum.FUEL +gypsum = IfcConstructionMaterialResourceTypeEnum.GYPSUM +masonry = IfcConstructionMaterialResourceTypeEnum.MASONRY +metal = IfcConstructionMaterialResourceTypeEnum.METAL +plastic = IfcConstructionMaterialResourceTypeEnum.PLASTIC +wood = IfcConstructionMaterialResourceTypeEnum.WOOD +notdefined = IfcConstructionMaterialResourceTypeEnum.NOTDEFINED +userdefined = IfcConstructionMaterialResourceTypeEnum.USERDEFINED IfcConstructionProductResourceTypeEnum = enum_namespace() -assembly = express_getattr(IfcConstructionProductResourceTypeEnum, 'ASSEMBLY', INDETERMINATE) -formwork = express_getattr(IfcConstructionProductResourceTypeEnum, 'FORMWORK', INDETERMINATE) -userdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +assembly = IfcConstructionProductResourceTypeEnum.ASSEMBLY +formwork = IfcConstructionProductResourceTypeEnum.FORMWORK +userdefined = IfcConstructionProductResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionProductResourceTypeEnum.NOTDEFINED IfcControllerTypeEnum = enum_namespace() -floating = express_getattr(IfcControllerTypeEnum, 'FLOATING', INDETERMINATE) -programmable = express_getattr(IfcControllerTypeEnum, 'PROGRAMMABLE', INDETERMINATE) -proportional = express_getattr(IfcControllerTypeEnum, 'PROPORTIONAL', INDETERMINATE) -multiposition = express_getattr(IfcControllerTypeEnum, 'MULTIPOSITION', INDETERMINATE) -twoposition = express_getattr(IfcControllerTypeEnum, 'TWOPOSITION', INDETERMINATE) -userdefined = express_getattr(IfcControllerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcControllerTypeEnum, 'NOTDEFINED', INDETERMINATE) +floating = IfcControllerTypeEnum.FLOATING +programmable = IfcControllerTypeEnum.PROGRAMMABLE +proportional = IfcControllerTypeEnum.PROPORTIONAL +multiposition = IfcControllerTypeEnum.MULTIPOSITION +twoposition = IfcControllerTypeEnum.TWOPOSITION +userdefined = IfcControllerTypeEnum.USERDEFINED +notdefined = IfcControllerTypeEnum.NOTDEFINED IfcCooledBeamTypeEnum = enum_namespace() -active = express_getattr(IfcCooledBeamTypeEnum, 'ACTIVE', INDETERMINATE) -passive = express_getattr(IfcCooledBeamTypeEnum, 'PASSIVE', INDETERMINATE) -userdefined = express_getattr(IfcCooledBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCooledBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +active = IfcCooledBeamTypeEnum.ACTIVE +passive = IfcCooledBeamTypeEnum.PASSIVE +userdefined = IfcCooledBeamTypeEnum.USERDEFINED +notdefined = IfcCooledBeamTypeEnum.NOTDEFINED IfcCoolingTowerTypeEnum = enum_namespace() -naturaldraft = express_getattr(IfcCoolingTowerTypeEnum, 'NATURALDRAFT', INDETERMINATE) -mechanicalinduceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALINDUCEDDRAFT', INDETERMINATE) -mechanicalforceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALFORCEDDRAFT', INDETERMINATE) -userdefined = express_getattr(IfcCoolingTowerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoolingTowerTypeEnum, 'NOTDEFINED', INDETERMINATE) +naturaldraft = IfcCoolingTowerTypeEnum.NATURALDRAFT +mechanicalinduceddraft = IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT +mechanicalforceddraft = IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT +userdefined = IfcCoolingTowerTypeEnum.USERDEFINED +notdefined = IfcCoolingTowerTypeEnum.NOTDEFINED IfcCostItemTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCostItemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostItemTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCostItemTypeEnum.USERDEFINED +notdefined = IfcCostItemTypeEnum.NOTDEFINED IfcCostScheduleTypeEnum = enum_namespace() -budget = express_getattr(IfcCostScheduleTypeEnum, 'BUDGET', INDETERMINATE) -costplan = express_getattr(IfcCostScheduleTypeEnum, 'COSTPLAN', INDETERMINATE) -estimate = express_getattr(IfcCostScheduleTypeEnum, 'ESTIMATE', INDETERMINATE) -tender = express_getattr(IfcCostScheduleTypeEnum, 'TENDER', INDETERMINATE) -pricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'PRICEDBILLOFQUANTITIES', INDETERMINATE) -unpricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'UNPRICEDBILLOFQUANTITIES', INDETERMINATE) -scheduleofrates = express_getattr(IfcCostScheduleTypeEnum, 'SCHEDULEOFRATES', INDETERMINATE) -userdefined = express_getattr(IfcCostScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +budget = IfcCostScheduleTypeEnum.BUDGET +costplan = IfcCostScheduleTypeEnum.COSTPLAN +estimate = IfcCostScheduleTypeEnum.ESTIMATE +tender = IfcCostScheduleTypeEnum.TENDER +pricedbillofquantities = IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES +unpricedbillofquantities = IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES +scheduleofrates = IfcCostScheduleTypeEnum.SCHEDULEOFRATES +userdefined = IfcCostScheduleTypeEnum.USERDEFINED +notdefined = IfcCostScheduleTypeEnum.NOTDEFINED IfcCoveringTypeEnum = enum_namespace() -ceiling = express_getattr(IfcCoveringTypeEnum, 'CEILING', INDETERMINATE) -flooring = express_getattr(IfcCoveringTypeEnum, 'FLOORING', INDETERMINATE) -cladding = express_getattr(IfcCoveringTypeEnum, 'CLADDING', INDETERMINATE) -roofing = express_getattr(IfcCoveringTypeEnum, 'ROOFING', INDETERMINATE) -molding = express_getattr(IfcCoveringTypeEnum, 'MOLDING', INDETERMINATE) -skirtingboard = express_getattr(IfcCoveringTypeEnum, 'SKIRTINGBOARD', INDETERMINATE) -insulation = express_getattr(IfcCoveringTypeEnum, 'INSULATION', INDETERMINATE) -membrane = express_getattr(IfcCoveringTypeEnum, 'MEMBRANE', INDETERMINATE) -sleeving = express_getattr(IfcCoveringTypeEnum, 'SLEEVING', INDETERMINATE) -wrapping = express_getattr(IfcCoveringTypeEnum, 'WRAPPING', INDETERMINATE) -coping = express_getattr(IfcCoveringTypeEnum, 'COPING', INDETERMINATE) -userdefined = express_getattr(IfcCoveringTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoveringTypeEnum, 'NOTDEFINED', INDETERMINATE) +ceiling = IfcCoveringTypeEnum.CEILING +flooring = IfcCoveringTypeEnum.FLOORING +cladding = IfcCoveringTypeEnum.CLADDING +roofing = IfcCoveringTypeEnum.ROOFING +molding = IfcCoveringTypeEnum.MOLDING +skirtingboard = IfcCoveringTypeEnum.SKIRTINGBOARD +insulation = IfcCoveringTypeEnum.INSULATION +membrane = IfcCoveringTypeEnum.MEMBRANE +sleeving = IfcCoveringTypeEnum.SLEEVING +wrapping = IfcCoveringTypeEnum.WRAPPING +coping = IfcCoveringTypeEnum.COPING +userdefined = IfcCoveringTypeEnum.USERDEFINED +notdefined = IfcCoveringTypeEnum.NOTDEFINED IfcCrewResourceTypeEnum = enum_namespace() -office = express_getattr(IfcCrewResourceTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcCrewResourceTypeEnum, 'SITE', INDETERMINATE) -userdefined = express_getattr(IfcCrewResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCrewResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +office = IfcCrewResourceTypeEnum.OFFICE +site = IfcCrewResourceTypeEnum.SITE +userdefined = IfcCrewResourceTypeEnum.USERDEFINED +notdefined = IfcCrewResourceTypeEnum.NOTDEFINED IfcCurtainWallTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCurtainWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCurtainWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCurtainWallTypeEnum.USERDEFINED +notdefined = IfcCurtainWallTypeEnum.NOTDEFINED IfcCurveInterpolationEnum = enum_namespace() -linear = express_getattr(IfcCurveInterpolationEnum, 'LINEAR', INDETERMINATE) -log_linear = express_getattr(IfcCurveInterpolationEnum, 'LOG_LINEAR', INDETERMINATE) -log_log = express_getattr(IfcCurveInterpolationEnum, 'LOG_LOG', INDETERMINATE) -notdefined = express_getattr(IfcCurveInterpolationEnum, 'NOTDEFINED', INDETERMINATE) +linear = IfcCurveInterpolationEnum.LINEAR +log_linear = IfcCurveInterpolationEnum.LOG_LINEAR +log_log = IfcCurveInterpolationEnum.LOG_LOG +notdefined = IfcCurveInterpolationEnum.NOTDEFINED IfcDamperTypeEnum = enum_namespace() -backdraftdamper = express_getattr(IfcDamperTypeEnum, 'BACKDRAFTDAMPER', INDETERMINATE) -balancingdamper = express_getattr(IfcDamperTypeEnum, 'BALANCINGDAMPER', INDETERMINATE) -blastdamper = express_getattr(IfcDamperTypeEnum, 'BLASTDAMPER', INDETERMINATE) -controldamper = express_getattr(IfcDamperTypeEnum, 'CONTROLDAMPER', INDETERMINATE) -firedamper = express_getattr(IfcDamperTypeEnum, 'FIREDAMPER', INDETERMINATE) -firesmokedamper = express_getattr(IfcDamperTypeEnum, 'FIRESMOKEDAMPER', INDETERMINATE) -fumehoodexhaust = express_getattr(IfcDamperTypeEnum, 'FUMEHOODEXHAUST', INDETERMINATE) -gravitydamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYDAMPER', INDETERMINATE) -gravityreliefdamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYRELIEFDAMPER', INDETERMINATE) -reliefdamper = express_getattr(IfcDamperTypeEnum, 'RELIEFDAMPER', INDETERMINATE) -smokedamper = express_getattr(IfcDamperTypeEnum, 'SMOKEDAMPER', INDETERMINATE) -userdefined = express_getattr(IfcDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +backdraftdamper = IfcDamperTypeEnum.BACKDRAFTDAMPER +balancingdamper = IfcDamperTypeEnum.BALANCINGDAMPER +blastdamper = IfcDamperTypeEnum.BLASTDAMPER +controldamper = IfcDamperTypeEnum.CONTROLDAMPER +firedamper = IfcDamperTypeEnum.FIREDAMPER +firesmokedamper = IfcDamperTypeEnum.FIRESMOKEDAMPER +fumehoodexhaust = IfcDamperTypeEnum.FUMEHOODEXHAUST +gravitydamper = IfcDamperTypeEnum.GRAVITYDAMPER +gravityreliefdamper = IfcDamperTypeEnum.GRAVITYRELIEFDAMPER +reliefdamper = IfcDamperTypeEnum.RELIEFDAMPER +smokedamper = IfcDamperTypeEnum.SMOKEDAMPER +userdefined = IfcDamperTypeEnum.USERDEFINED +notdefined = IfcDamperTypeEnum.NOTDEFINED IfcDataOriginEnum = enum_namespace() -measured = express_getattr(IfcDataOriginEnum, 'MEASURED', INDETERMINATE) -predicted = express_getattr(IfcDataOriginEnum, 'PREDICTED', INDETERMINATE) -simulated = express_getattr(IfcDataOriginEnum, 'SIMULATED', INDETERMINATE) -userdefined = express_getattr(IfcDataOriginEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDataOriginEnum, 'NOTDEFINED', INDETERMINATE) +measured = IfcDataOriginEnum.MEASURED +predicted = IfcDataOriginEnum.PREDICTED +simulated = IfcDataOriginEnum.SIMULATED +userdefined = IfcDataOriginEnum.USERDEFINED +notdefined = IfcDataOriginEnum.NOTDEFINED IfcDerivedUnitEnum = enum_namespace() -angularvelocityunit = express_getattr(IfcDerivedUnitEnum, 'ANGULARVELOCITYUNIT', INDETERMINATE) -areadensityunit = express_getattr(IfcDerivedUnitEnum, 'AREADENSITYUNIT', INDETERMINATE) -compoundplaneangleunit = express_getattr(IfcDerivedUnitEnum, 'COMPOUNDPLANEANGLEUNIT', INDETERMINATE) -dynamicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'DYNAMICVISCOSITYUNIT', INDETERMINATE) -heatfluxdensityunit = express_getattr(IfcDerivedUnitEnum, 'HEATFLUXDENSITYUNIT', INDETERMINATE) -integercountrateunit = express_getattr(IfcDerivedUnitEnum, 'INTEGERCOUNTRATEUNIT', INDETERMINATE) -isothermalmoisturecapacityunit = express_getattr(IfcDerivedUnitEnum, 'ISOTHERMALMOISTURECAPACITYUNIT', INDETERMINATE) -kinematicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'KINEMATICVISCOSITYUNIT', INDETERMINATE) -linearvelocityunit = express_getattr(IfcDerivedUnitEnum, 'LINEARVELOCITYUNIT', INDETERMINATE) -massdensityunit = express_getattr(IfcDerivedUnitEnum, 'MASSDENSITYUNIT', INDETERMINATE) -massflowrateunit = express_getattr(IfcDerivedUnitEnum, 'MASSFLOWRATEUNIT', INDETERMINATE) -moisturediffusivityunit = express_getattr(IfcDerivedUnitEnum, 'MOISTUREDIFFUSIVITYUNIT', INDETERMINATE) -molecularweightunit = express_getattr(IfcDerivedUnitEnum, 'MOLECULARWEIGHTUNIT', INDETERMINATE) -specificheatcapacityunit = express_getattr(IfcDerivedUnitEnum, 'SPECIFICHEATCAPACITYUNIT', INDETERMINATE) -thermaladmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALADMITTANCEUNIT', INDETERMINATE) -thermalconductanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALCONDUCTANCEUNIT', INDETERMINATE) -thermalresistanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALRESISTANCEUNIT', INDETERMINATE) -thermaltransmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALTRANSMITTANCEUNIT', INDETERMINATE) -vaporpermeabilityunit = express_getattr(IfcDerivedUnitEnum, 'VAPORPERMEABILITYUNIT', INDETERMINATE) -volumetricflowrateunit = express_getattr(IfcDerivedUnitEnum, 'VOLUMETRICFLOWRATEUNIT', INDETERMINATE) -rotationalfrequencyunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALFREQUENCYUNIT', INDETERMINATE) -torqueunit = express_getattr(IfcDerivedUnitEnum, 'TORQUEUNIT', INDETERMINATE) -momentofinertiaunit = express_getattr(IfcDerivedUnitEnum, 'MOMENTOFINERTIAUNIT', INDETERMINATE) -linearmomentunit = express_getattr(IfcDerivedUnitEnum, 'LINEARMOMENTUNIT', INDETERMINATE) -linearforceunit = express_getattr(IfcDerivedUnitEnum, 'LINEARFORCEUNIT', INDETERMINATE) -planarforceunit = express_getattr(IfcDerivedUnitEnum, 'PLANARFORCEUNIT', INDETERMINATE) -modulusofelasticityunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFELASTICITYUNIT', INDETERMINATE) -shearmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SHEARMODULUSUNIT', INDETERMINATE) -linearstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'LINEARSTIFFNESSUNIT', INDETERMINATE) -rotationalstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALSTIFFNESSUNIT', INDETERMINATE) -modulusofsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFSUBGRADEREACTIONUNIT', INDETERMINATE) -accelerationunit = express_getattr(IfcDerivedUnitEnum, 'ACCELERATIONUNIT', INDETERMINATE) -curvatureunit = express_getattr(IfcDerivedUnitEnum, 'CURVATUREUNIT', INDETERMINATE) -heatingvalueunit = express_getattr(IfcDerivedUnitEnum, 'HEATINGVALUEUNIT', INDETERMINATE) -ionconcentrationunit = express_getattr(IfcDerivedUnitEnum, 'IONCONCENTRATIONUNIT', INDETERMINATE) -luminousintensitydistributionunit = express_getattr(IfcDerivedUnitEnum, 'LUMINOUSINTENSITYDISTRIBUTIONUNIT', INDETERMINATE) -massperlengthunit = express_getattr(IfcDerivedUnitEnum, 'MASSPERLENGTHUNIT', INDETERMINATE) -modulusoflinearsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFLINEARSUBGRADEREACTIONUNIT', INDETERMINATE) -modulusofrotationalsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFROTATIONALSUBGRADEREACTIONUNIT', INDETERMINATE) -phunit = express_getattr(IfcDerivedUnitEnum, 'PHUNIT', INDETERMINATE) -rotationalmassunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALMASSUNIT', INDETERMINATE) -sectionareaintegralunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONAREAINTEGRALUNIT', INDETERMINATE) -sectionmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONMODULUSUNIT', INDETERMINATE) -soundpowerlevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERLEVELUNIT', INDETERMINATE) -soundpowerunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERUNIT', INDETERMINATE) -soundpressurelevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSURELEVELUNIT', INDETERMINATE) -soundpressureunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSUREUNIT', INDETERMINATE) -temperaturegradientunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATUREGRADIENTUNIT', INDETERMINATE) -temperaturerateofchangeunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATURERATEOFCHANGEUNIT', INDETERMINATE) -thermalexpansioncoefficientunit = express_getattr(IfcDerivedUnitEnum, 'THERMALEXPANSIONCOEFFICIENTUNIT', INDETERMINATE) -warpingconstantunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGCONSTANTUNIT', INDETERMINATE) -warpingmomentunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGMOMENTUNIT', INDETERMINATE) -userdefined = express_getattr(IfcDerivedUnitEnum, 'USERDEFINED', INDETERMINATE) +angularvelocityunit = IfcDerivedUnitEnum.ANGULARVELOCITYUNIT +areadensityunit = IfcDerivedUnitEnum.AREADENSITYUNIT +compoundplaneangleunit = IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT +dynamicviscosityunit = IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT +heatfluxdensityunit = IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT +integercountrateunit = IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT +isothermalmoisturecapacityunit = IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT +kinematicviscosityunit = IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT +linearvelocityunit = IfcDerivedUnitEnum.LINEARVELOCITYUNIT +massdensityunit = IfcDerivedUnitEnum.MASSDENSITYUNIT +massflowrateunit = IfcDerivedUnitEnum.MASSFLOWRATEUNIT +moisturediffusivityunit = IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT +molecularweightunit = IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT +specificheatcapacityunit = IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT +thermaladmittanceunit = IfcDerivedUnitEnum.THERMALADMITTANCEUNIT +thermalconductanceunit = IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT +thermalresistanceunit = IfcDerivedUnitEnum.THERMALRESISTANCEUNIT +thermaltransmittanceunit = IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT +vaporpermeabilityunit = IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT +volumetricflowrateunit = IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT +rotationalfrequencyunit = IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT +torqueunit = IfcDerivedUnitEnum.TORQUEUNIT +momentofinertiaunit = IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT +linearmomentunit = IfcDerivedUnitEnum.LINEARMOMENTUNIT +linearforceunit = IfcDerivedUnitEnum.LINEARFORCEUNIT +planarforceunit = IfcDerivedUnitEnum.PLANARFORCEUNIT +modulusofelasticityunit = IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT +shearmodulusunit = IfcDerivedUnitEnum.SHEARMODULUSUNIT +linearstiffnessunit = IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT +rotationalstiffnessunit = IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT +modulusofsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT +accelerationunit = IfcDerivedUnitEnum.ACCELERATIONUNIT +curvatureunit = IfcDerivedUnitEnum.CURVATUREUNIT +heatingvalueunit = IfcDerivedUnitEnum.HEATINGVALUEUNIT +ionconcentrationunit = IfcDerivedUnitEnum.IONCONCENTRATIONUNIT +luminousintensitydistributionunit = IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT +massperlengthunit = IfcDerivedUnitEnum.MASSPERLENGTHUNIT +modulusoflinearsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT +modulusofrotationalsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT +phunit = IfcDerivedUnitEnum.PHUNIT +rotationalmassunit = IfcDerivedUnitEnum.ROTATIONALMASSUNIT +sectionareaintegralunit = IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT +sectionmodulusunit = IfcDerivedUnitEnum.SECTIONMODULUSUNIT +soundpowerlevelunit = IfcDerivedUnitEnum.SOUNDPOWERLEVELUNIT +soundpowerunit = IfcDerivedUnitEnum.SOUNDPOWERUNIT +soundpressurelevelunit = IfcDerivedUnitEnum.SOUNDPRESSURELEVELUNIT +soundpressureunit = IfcDerivedUnitEnum.SOUNDPRESSUREUNIT +temperaturegradientunit = IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT +temperaturerateofchangeunit = IfcDerivedUnitEnum.TEMPERATURERATEOFCHANGEUNIT +thermalexpansioncoefficientunit = IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT +warpingconstantunit = IfcDerivedUnitEnum.WARPINGCONSTANTUNIT +warpingmomentunit = IfcDerivedUnitEnum.WARPINGMOMENTUNIT +userdefined = IfcDerivedUnitEnum.USERDEFINED IfcDirectionSenseEnum = enum_namespace() -positive = express_getattr(IfcDirectionSenseEnum, 'POSITIVE', INDETERMINATE) -negative = express_getattr(IfcDirectionSenseEnum, 'NEGATIVE', INDETERMINATE) +positive = IfcDirectionSenseEnum.POSITIVE +negative = IfcDirectionSenseEnum.NEGATIVE IfcDiscreteAccessoryTypeEnum = enum_namespace() -anchorplate = express_getattr(IfcDiscreteAccessoryTypeEnum, 'ANCHORPLATE', INDETERMINATE) -bracket = express_getattr(IfcDiscreteAccessoryTypeEnum, 'BRACKET', INDETERMINATE) -shoe = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SHOE', INDETERMINATE) -expansion_joint_device = express_getattr(IfcDiscreteAccessoryTypeEnum, 'EXPANSION_JOINT_DEVICE', INDETERMINATE) -userdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorplate = IfcDiscreteAccessoryTypeEnum.ANCHORPLATE +bracket = IfcDiscreteAccessoryTypeEnum.BRACKET +shoe = IfcDiscreteAccessoryTypeEnum.SHOE +expansion_joint_device = IfcDiscreteAccessoryTypeEnum.EXPANSION_JOINT_DEVICE +userdefined = IfcDiscreteAccessoryTypeEnum.USERDEFINED +notdefined = IfcDiscreteAccessoryTypeEnum.NOTDEFINED IfcDistributionChamberElementTypeEnum = enum_namespace() -formedduct = express_getattr(IfcDistributionChamberElementTypeEnum, 'FORMEDDUCT', INDETERMINATE) -inspectionchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONCHAMBER', INDETERMINATE) -inspectionpit = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONPIT', INDETERMINATE) -manhole = express_getattr(IfcDistributionChamberElementTypeEnum, 'MANHOLE', INDETERMINATE) -meterchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'METERCHAMBER', INDETERMINATE) -sump = express_getattr(IfcDistributionChamberElementTypeEnum, 'SUMP', INDETERMINATE) -trench = express_getattr(IfcDistributionChamberElementTypeEnum, 'TRENCH', INDETERMINATE) -valvechamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'VALVECHAMBER', INDETERMINATE) -userdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +formedduct = IfcDistributionChamberElementTypeEnum.FORMEDDUCT +inspectionchamber = IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER +inspectionpit = IfcDistributionChamberElementTypeEnum.INSPECTIONPIT +manhole = IfcDistributionChamberElementTypeEnum.MANHOLE +meterchamber = IfcDistributionChamberElementTypeEnum.METERCHAMBER +sump = IfcDistributionChamberElementTypeEnum.SUMP +trench = IfcDistributionChamberElementTypeEnum.TRENCH +valvechamber = IfcDistributionChamberElementTypeEnum.VALVECHAMBER +userdefined = IfcDistributionChamberElementTypeEnum.USERDEFINED +notdefined = IfcDistributionChamberElementTypeEnum.NOTDEFINED IfcDistributionPortTypeEnum = enum_namespace() -cable = express_getattr(IfcDistributionPortTypeEnum, 'CABLE', INDETERMINATE) -cablecarrier = express_getattr(IfcDistributionPortTypeEnum, 'CABLECARRIER', INDETERMINATE) -duct = express_getattr(IfcDistributionPortTypeEnum, 'DUCT', INDETERMINATE) -pipe = express_getattr(IfcDistributionPortTypeEnum, 'PIPE', INDETERMINATE) -userdefined = express_getattr(IfcDistributionPortTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionPortTypeEnum, 'NOTDEFINED', INDETERMINATE) +cable = IfcDistributionPortTypeEnum.CABLE +cablecarrier = IfcDistributionPortTypeEnum.CABLECARRIER +duct = IfcDistributionPortTypeEnum.DUCT +pipe = IfcDistributionPortTypeEnum.PIPE +userdefined = IfcDistributionPortTypeEnum.USERDEFINED +notdefined = IfcDistributionPortTypeEnum.NOTDEFINED IfcDistributionSystemEnum = enum_namespace() -airconditioning = express_getattr(IfcDistributionSystemEnum, 'AIRCONDITIONING', INDETERMINATE) -audiovisual = express_getattr(IfcDistributionSystemEnum, 'AUDIOVISUAL', INDETERMINATE) -chemical = express_getattr(IfcDistributionSystemEnum, 'CHEMICAL', INDETERMINATE) -chilledwater = express_getattr(IfcDistributionSystemEnum, 'CHILLEDWATER', INDETERMINATE) -communication = express_getattr(IfcDistributionSystemEnum, 'COMMUNICATION', INDETERMINATE) -compressedair = express_getattr(IfcDistributionSystemEnum, 'COMPRESSEDAIR', INDETERMINATE) -condenserwater = express_getattr(IfcDistributionSystemEnum, 'CONDENSERWATER', INDETERMINATE) -control = express_getattr(IfcDistributionSystemEnum, 'CONTROL', INDETERMINATE) -conveying = express_getattr(IfcDistributionSystemEnum, 'CONVEYING', INDETERMINATE) -data = express_getattr(IfcDistributionSystemEnum, 'DATA', INDETERMINATE) -disposal = express_getattr(IfcDistributionSystemEnum, 'DISPOSAL', INDETERMINATE) -domesticcoldwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICCOLDWATER', INDETERMINATE) -domestichotwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICHOTWATER', INDETERMINATE) -drainage = express_getattr(IfcDistributionSystemEnum, 'DRAINAGE', INDETERMINATE) -earthing = express_getattr(IfcDistributionSystemEnum, 'EARTHING', INDETERMINATE) -electrical = express_getattr(IfcDistributionSystemEnum, 'ELECTRICAL', INDETERMINATE) -electroacoustic = express_getattr(IfcDistributionSystemEnum, 'ELECTROACOUSTIC', INDETERMINATE) -exhaust = express_getattr(IfcDistributionSystemEnum, 'EXHAUST', INDETERMINATE) -fireprotection = express_getattr(IfcDistributionSystemEnum, 'FIREPROTECTION', INDETERMINATE) -fuel = express_getattr(IfcDistributionSystemEnum, 'FUEL', INDETERMINATE) -gas = express_getattr(IfcDistributionSystemEnum, 'GAS', INDETERMINATE) -hazardous = express_getattr(IfcDistributionSystemEnum, 'HAZARDOUS', INDETERMINATE) -heating = express_getattr(IfcDistributionSystemEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcDistributionSystemEnum, 'LIGHTING', INDETERMINATE) -lightningprotection = express_getattr(IfcDistributionSystemEnum, 'LIGHTNINGPROTECTION', INDETERMINATE) -municipalsolidwaste = express_getattr(IfcDistributionSystemEnum, 'MUNICIPALSOLIDWASTE', INDETERMINATE) -oil = express_getattr(IfcDistributionSystemEnum, 'OIL', INDETERMINATE) -operational = express_getattr(IfcDistributionSystemEnum, 'OPERATIONAL', INDETERMINATE) -powergeneration = express_getattr(IfcDistributionSystemEnum, 'POWERGENERATION', INDETERMINATE) -rainwater = express_getattr(IfcDistributionSystemEnum, 'RAINWATER', INDETERMINATE) -refrigeration = express_getattr(IfcDistributionSystemEnum, 'REFRIGERATION', INDETERMINATE) -security = express_getattr(IfcDistributionSystemEnum, 'SECURITY', INDETERMINATE) -sewage = express_getattr(IfcDistributionSystemEnum, 'SEWAGE', INDETERMINATE) -signal = express_getattr(IfcDistributionSystemEnum, 'SIGNAL', INDETERMINATE) -stormwater = express_getattr(IfcDistributionSystemEnum, 'STORMWATER', INDETERMINATE) -telephone = express_getattr(IfcDistributionSystemEnum, 'TELEPHONE', INDETERMINATE) -tv = express_getattr(IfcDistributionSystemEnum, 'TV', INDETERMINATE) -vacuum = express_getattr(IfcDistributionSystemEnum, 'VACUUM', INDETERMINATE) -vent = express_getattr(IfcDistributionSystemEnum, 'VENT', INDETERMINATE) -ventilation = express_getattr(IfcDistributionSystemEnum, 'VENTILATION', INDETERMINATE) -wastewater = express_getattr(IfcDistributionSystemEnum, 'WASTEWATER', INDETERMINATE) -watersupply = express_getattr(IfcDistributionSystemEnum, 'WATERSUPPLY', INDETERMINATE) -userdefined = express_getattr(IfcDistributionSystemEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionSystemEnum, 'NOTDEFINED', INDETERMINATE) +airconditioning = IfcDistributionSystemEnum.AIRCONDITIONING +audiovisual = IfcDistributionSystemEnum.AUDIOVISUAL +chemical = IfcDistributionSystemEnum.CHEMICAL +chilledwater = IfcDistributionSystemEnum.CHILLEDWATER +communication = IfcDistributionSystemEnum.COMMUNICATION +compressedair = IfcDistributionSystemEnum.COMPRESSEDAIR +condenserwater = IfcDistributionSystemEnum.CONDENSERWATER +control = IfcDistributionSystemEnum.CONTROL +conveying = IfcDistributionSystemEnum.CONVEYING +data = IfcDistributionSystemEnum.DATA +disposal = IfcDistributionSystemEnum.DISPOSAL +domesticcoldwater = IfcDistributionSystemEnum.DOMESTICCOLDWATER +domestichotwater = IfcDistributionSystemEnum.DOMESTICHOTWATER +drainage = IfcDistributionSystemEnum.DRAINAGE +earthing = IfcDistributionSystemEnum.EARTHING +electrical = IfcDistributionSystemEnum.ELECTRICAL +electroacoustic = IfcDistributionSystemEnum.ELECTROACOUSTIC +exhaust = IfcDistributionSystemEnum.EXHAUST +fireprotection = IfcDistributionSystemEnum.FIREPROTECTION +fuel = IfcDistributionSystemEnum.FUEL +gas = IfcDistributionSystemEnum.GAS +hazardous = IfcDistributionSystemEnum.HAZARDOUS +heating = IfcDistributionSystemEnum.HEATING +lighting = IfcDistributionSystemEnum.LIGHTING +lightningprotection = IfcDistributionSystemEnum.LIGHTNINGPROTECTION +municipalsolidwaste = IfcDistributionSystemEnum.MUNICIPALSOLIDWASTE +oil = IfcDistributionSystemEnum.OIL +operational = IfcDistributionSystemEnum.OPERATIONAL +powergeneration = IfcDistributionSystemEnum.POWERGENERATION +rainwater = IfcDistributionSystemEnum.RAINWATER +refrigeration = IfcDistributionSystemEnum.REFRIGERATION +security = IfcDistributionSystemEnum.SECURITY +sewage = IfcDistributionSystemEnum.SEWAGE +signal = IfcDistributionSystemEnum.SIGNAL +stormwater = IfcDistributionSystemEnum.STORMWATER +telephone = IfcDistributionSystemEnum.TELEPHONE +tv = IfcDistributionSystemEnum.TV +vacuum = IfcDistributionSystemEnum.VACUUM +vent = IfcDistributionSystemEnum.VENT +ventilation = IfcDistributionSystemEnum.VENTILATION +wastewater = IfcDistributionSystemEnum.WASTEWATER +watersupply = IfcDistributionSystemEnum.WATERSUPPLY +userdefined = IfcDistributionSystemEnum.USERDEFINED +notdefined = IfcDistributionSystemEnum.NOTDEFINED IfcDocumentConfidentialityEnum = enum_namespace() -public = express_getattr(IfcDocumentConfidentialityEnum, 'PUBLIC', INDETERMINATE) -restricted = express_getattr(IfcDocumentConfidentialityEnum, 'RESTRICTED', INDETERMINATE) -confidential = express_getattr(IfcDocumentConfidentialityEnum, 'CONFIDENTIAL', INDETERMINATE) -personal = express_getattr(IfcDocumentConfidentialityEnum, 'PERSONAL', INDETERMINATE) -userdefined = express_getattr(IfcDocumentConfidentialityEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDocumentConfidentialityEnum, 'NOTDEFINED', INDETERMINATE) +public = IfcDocumentConfidentialityEnum.PUBLIC +restricted = IfcDocumentConfidentialityEnum.RESTRICTED +confidential = IfcDocumentConfidentialityEnum.CONFIDENTIAL +personal = IfcDocumentConfidentialityEnum.PERSONAL +userdefined = IfcDocumentConfidentialityEnum.USERDEFINED +notdefined = IfcDocumentConfidentialityEnum.NOTDEFINED IfcDocumentStatusEnum = enum_namespace() -draft = express_getattr(IfcDocumentStatusEnum, 'DRAFT', INDETERMINATE) -finaldraft = express_getattr(IfcDocumentStatusEnum, 'FINALDRAFT', INDETERMINATE) -final = express_getattr(IfcDocumentStatusEnum, 'FINAL', INDETERMINATE) -revision = express_getattr(IfcDocumentStatusEnum, 'REVISION', INDETERMINATE) -notdefined = express_getattr(IfcDocumentStatusEnum, 'NOTDEFINED', INDETERMINATE) +draft = IfcDocumentStatusEnum.DRAFT +finaldraft = IfcDocumentStatusEnum.FINALDRAFT +final = IfcDocumentStatusEnum.FINAL +revision = IfcDocumentStatusEnum.REVISION +notdefined = IfcDocumentStatusEnum.NOTDEFINED IfcDoorPanelOperationEnum = enum_namespace() -swinging = express_getattr(IfcDoorPanelOperationEnum, 'SWINGING', INDETERMINATE) -double_acting = express_getattr(IfcDoorPanelOperationEnum, 'DOUBLE_ACTING', INDETERMINATE) -sliding = express_getattr(IfcDoorPanelOperationEnum, 'SLIDING', INDETERMINATE) -folding = express_getattr(IfcDoorPanelOperationEnum, 'FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorPanelOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorPanelOperationEnum, 'ROLLINGUP', INDETERMINATE) -fixedpanel = express_getattr(IfcDoorPanelOperationEnum, 'FIXEDPANEL', INDETERMINATE) -userdefined = express_getattr(IfcDoorPanelOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +swinging = IfcDoorPanelOperationEnum.SWINGING +double_acting = IfcDoorPanelOperationEnum.DOUBLE_ACTING +sliding = IfcDoorPanelOperationEnum.SLIDING +folding = IfcDoorPanelOperationEnum.FOLDING +revolving = IfcDoorPanelOperationEnum.REVOLVING +rollingup = IfcDoorPanelOperationEnum.ROLLINGUP +fixedpanel = IfcDoorPanelOperationEnum.FIXEDPANEL +userdefined = IfcDoorPanelOperationEnum.USERDEFINED +notdefined = IfcDoorPanelOperationEnum.NOTDEFINED IfcDoorPanelPositionEnum = enum_namespace() -left = express_getattr(IfcDoorPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcDoorPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcDoorPanelPositionEnum, 'RIGHT', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcDoorPanelPositionEnum.LEFT +middle = IfcDoorPanelPositionEnum.MIDDLE +right = IfcDoorPanelPositionEnum.RIGHT +notdefined = IfcDoorPanelPositionEnum.NOTDEFINED IfcDoorStyleConstructionEnum = enum_namespace() -aluminium = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM', INDETERMINATE) -high_grade_steel = express_getattr(IfcDoorStyleConstructionEnum, 'HIGH_GRADE_STEEL', INDETERMINATE) -steel = express_getattr(IfcDoorStyleConstructionEnum, 'STEEL', INDETERMINATE) -wood = express_getattr(IfcDoorStyleConstructionEnum, 'WOOD', INDETERMINATE) -aluminium_wood = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM_WOOD', INDETERMINATE) -aluminium_plastic = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM_PLASTIC', INDETERMINATE) -plastic = express_getattr(IfcDoorStyleConstructionEnum, 'PLASTIC', INDETERMINATE) -userdefined = express_getattr(IfcDoorStyleConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorStyleConstructionEnum, 'NOTDEFINED', INDETERMINATE) +aluminium = IfcDoorStyleConstructionEnum.ALUMINIUM +high_grade_steel = IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL +steel = IfcDoorStyleConstructionEnum.STEEL +wood = IfcDoorStyleConstructionEnum.WOOD +aluminium_wood = IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD +aluminium_plastic = IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC +plastic = IfcDoorStyleConstructionEnum.PLASTIC +userdefined = IfcDoorStyleConstructionEnum.USERDEFINED +notdefined = IfcDoorStyleConstructionEnum.NOTDEFINED IfcDoorStyleOperationEnum = enum_namespace() -single_swing_left = express_getattr(IfcDoorStyleOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorStyleOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -double_door_single_swing = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING', INDETERMINATE) -double_door_single_swing_opposite_left = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_door_single_swing_opposite_right = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -double_door_double_swing = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_DOUBLE_SWING', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorStyleOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorStyleOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -double_door_sliding = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SLIDING', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorStyleOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorStyleOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -double_door_folding = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorStyleOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorStyleOperationEnum, 'ROLLINGUP', INDETERMINATE) -userdefined = express_getattr(IfcDoorStyleOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorStyleOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_swing_left = IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT +double_door_single_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING +double_door_single_swing_opposite_left = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT +double_door_single_swing_opposite_right = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT +double_swing_left = IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT +double_door_double_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING +sliding_to_left = IfcDoorStyleOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT +double_door_sliding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING +folding_to_left = IfcDoorStyleOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT +double_door_folding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING +revolving = IfcDoorStyleOperationEnum.REVOLVING +rollingup = IfcDoorStyleOperationEnum.ROLLINGUP +userdefined = IfcDoorStyleOperationEnum.USERDEFINED +notdefined = IfcDoorStyleOperationEnum.NOTDEFINED IfcDoorTypeEnum = enum_namespace() -door = express_getattr(IfcDoorTypeEnum, 'DOOR', INDETERMINATE) -gate = express_getattr(IfcDoorTypeEnum, 'GATE', INDETERMINATE) -trapdoor = express_getattr(IfcDoorTypeEnum, 'TRAPDOOR', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeEnum, 'NOTDEFINED', INDETERMINATE) +door = IfcDoorTypeEnum.DOOR +gate = IfcDoorTypeEnum.GATE +trapdoor = IfcDoorTypeEnum.TRAPDOOR +userdefined = IfcDoorTypeEnum.USERDEFINED +notdefined = IfcDoorTypeEnum.NOTDEFINED IfcDoorTypeOperationEnum = enum_namespace() -single_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -double_door_single_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING', INDETERMINATE) -double_door_single_swing_opposite_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_door_single_swing_opposite_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -double_door_double_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_DOUBLE_SWING', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -double_door_sliding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SLIDING', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -double_door_folding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorTypeOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorTypeOperationEnum, 'ROLLINGUP', INDETERMINATE) -swing_fixed_left = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_LEFT', INDETERMINATE) -swing_fixed_right = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_RIGHT', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_swing_left = IfcDoorTypeOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorTypeOperationEnum.SINGLE_SWING_RIGHT +double_door_single_swing = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING +double_door_single_swing_opposite_left = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT +double_door_single_swing_opposite_right = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT +double_swing_left = IfcDoorTypeOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorTypeOperationEnum.DOUBLE_SWING_RIGHT +double_door_double_swing = IfcDoorTypeOperationEnum.DOUBLE_DOOR_DOUBLE_SWING +sliding_to_left = IfcDoorTypeOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorTypeOperationEnum.SLIDING_TO_RIGHT +double_door_sliding = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SLIDING +folding_to_left = IfcDoorTypeOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorTypeOperationEnum.FOLDING_TO_RIGHT +double_door_folding = IfcDoorTypeOperationEnum.DOUBLE_DOOR_FOLDING +revolving = IfcDoorTypeOperationEnum.REVOLVING +rollingup = IfcDoorTypeOperationEnum.ROLLINGUP +swing_fixed_left = IfcDoorTypeOperationEnum.SWING_FIXED_LEFT +swing_fixed_right = IfcDoorTypeOperationEnum.SWING_FIXED_RIGHT +userdefined = IfcDoorTypeOperationEnum.USERDEFINED +notdefined = IfcDoorTypeOperationEnum.NOTDEFINED IfcDuctFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcDuctFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcDuctFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcDuctFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcDuctFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcDuctFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcDuctFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcDuctFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcDuctFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcDuctFittingTypeEnum.BEND +connector = IfcDuctFittingTypeEnum.CONNECTOR +entry = IfcDuctFittingTypeEnum.ENTRY +exit = IfcDuctFittingTypeEnum.EXIT +junction = IfcDuctFittingTypeEnum.JUNCTION +obstruction = IfcDuctFittingTypeEnum.OBSTRUCTION +transition = IfcDuctFittingTypeEnum.TRANSITION +userdefined = IfcDuctFittingTypeEnum.USERDEFINED +notdefined = IfcDuctFittingTypeEnum.NOTDEFINED IfcDuctSegmentTypeEnum = enum_namespace() -rigidsegment = express_getattr(IfcDuctSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -flexiblesegment = express_getattr(IfcDuctSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcDuctSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +rigidsegment = IfcDuctSegmentTypeEnum.RIGIDSEGMENT +flexiblesegment = IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT +userdefined = IfcDuctSegmentTypeEnum.USERDEFINED +notdefined = IfcDuctSegmentTypeEnum.NOTDEFINED IfcDuctSilencerTypeEnum = enum_namespace() -flatoval = express_getattr(IfcDuctSilencerTypeEnum, 'FLATOVAL', INDETERMINATE) -rectangular = express_getattr(IfcDuctSilencerTypeEnum, 'RECTANGULAR', INDETERMINATE) -round = express_getattr(IfcDuctSilencerTypeEnum, 'ROUND', INDETERMINATE) -userdefined = express_getattr(IfcDuctSilencerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSilencerTypeEnum, 'NOTDEFINED', INDETERMINATE) +flatoval = IfcDuctSilencerTypeEnum.FLATOVAL +rectangular = IfcDuctSilencerTypeEnum.RECTANGULAR +round = IfcDuctSilencerTypeEnum.ROUND +userdefined = IfcDuctSilencerTypeEnum.USERDEFINED +notdefined = IfcDuctSilencerTypeEnum.NOTDEFINED IfcElectricApplianceTypeEnum = enum_namespace() -dishwasher = express_getattr(IfcElectricApplianceTypeEnum, 'DISHWASHER', INDETERMINATE) -electriccooker = express_getattr(IfcElectricApplianceTypeEnum, 'ELECTRICCOOKER', INDETERMINATE) -freestandingelectricheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGELECTRICHEATER', INDETERMINATE) -freestandingfan = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGFAN', INDETERMINATE) -freestandingwaterheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERHEATER', INDETERMINATE) -freestandingwatercooler = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERCOOLER', INDETERMINATE) -freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FREEZER', INDETERMINATE) -fridge_freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FRIDGE_FREEZER', INDETERMINATE) -handdryer = express_getattr(IfcElectricApplianceTypeEnum, 'HANDDRYER', INDETERMINATE) -kitchenmachine = express_getattr(IfcElectricApplianceTypeEnum, 'KITCHENMACHINE', INDETERMINATE) -microwave = express_getattr(IfcElectricApplianceTypeEnum, 'MICROWAVE', INDETERMINATE) -photocopier = express_getattr(IfcElectricApplianceTypeEnum, 'PHOTOCOPIER', INDETERMINATE) -refrigerator = express_getattr(IfcElectricApplianceTypeEnum, 'REFRIGERATOR', INDETERMINATE) -tumbledryer = express_getattr(IfcElectricApplianceTypeEnum, 'TUMBLEDRYER', INDETERMINATE) -vendingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'VENDINGMACHINE', INDETERMINATE) -washingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'WASHINGMACHINE', INDETERMINATE) -userdefined = express_getattr(IfcElectricApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +dishwasher = IfcElectricApplianceTypeEnum.DISHWASHER +electriccooker = IfcElectricApplianceTypeEnum.ELECTRICCOOKER +freestandingelectricheater = IfcElectricApplianceTypeEnum.FREESTANDINGELECTRICHEATER +freestandingfan = IfcElectricApplianceTypeEnum.FREESTANDINGFAN +freestandingwaterheater = IfcElectricApplianceTypeEnum.FREESTANDINGWATERHEATER +freestandingwatercooler = IfcElectricApplianceTypeEnum.FREESTANDINGWATERCOOLER +freezer = IfcElectricApplianceTypeEnum.FREEZER +fridge_freezer = IfcElectricApplianceTypeEnum.FRIDGE_FREEZER +handdryer = IfcElectricApplianceTypeEnum.HANDDRYER +kitchenmachine = IfcElectricApplianceTypeEnum.KITCHENMACHINE +microwave = IfcElectricApplianceTypeEnum.MICROWAVE +photocopier = IfcElectricApplianceTypeEnum.PHOTOCOPIER +refrigerator = IfcElectricApplianceTypeEnum.REFRIGERATOR +tumbledryer = IfcElectricApplianceTypeEnum.TUMBLEDRYER +vendingmachine = IfcElectricApplianceTypeEnum.VENDINGMACHINE +washingmachine = IfcElectricApplianceTypeEnum.WASHINGMACHINE +userdefined = IfcElectricApplianceTypeEnum.USERDEFINED +notdefined = IfcElectricApplianceTypeEnum.NOTDEFINED IfcElectricDistributionBoardTypeEnum = enum_namespace() -consumerunit = express_getattr(IfcElectricDistributionBoardTypeEnum, 'CONSUMERUNIT', INDETERMINATE) -distributionboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcElectricDistributionBoardTypeEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -switchboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'SWITCHBOARD', INDETERMINATE) -userdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'NOTDEFINED', INDETERMINATE) +consumerunit = IfcElectricDistributionBoardTypeEnum.CONSUMERUNIT +distributionboard = IfcElectricDistributionBoardTypeEnum.DISTRIBUTIONBOARD +motorcontrolcentre = IfcElectricDistributionBoardTypeEnum.MOTORCONTROLCENTRE +switchboard = IfcElectricDistributionBoardTypeEnum.SWITCHBOARD +userdefined = IfcElectricDistributionBoardTypeEnum.USERDEFINED +notdefined = IfcElectricDistributionBoardTypeEnum.NOTDEFINED IfcElectricFlowStorageDeviceTypeEnum = enum_namespace() -battery = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'BATTERY', INDETERMINATE) -capacitorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITORBANK', INDETERMINATE) -harmonicfilter = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'HARMONICFILTER', INDETERMINATE) -inductorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTORBANK', INDETERMINATE) -ups = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'UPS', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +battery = IfcElectricFlowStorageDeviceTypeEnum.BATTERY +capacitorbank = IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK +harmonicfilter = IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER +inductorbank = IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK +ups = IfcElectricFlowStorageDeviceTypeEnum.UPS +userdefined = IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED IfcElectricGeneratorTypeEnum = enum_namespace() -chp = express_getattr(IfcElectricGeneratorTypeEnum, 'CHP', INDETERMINATE) -enginegenerator = express_getattr(IfcElectricGeneratorTypeEnum, 'ENGINEGENERATOR', INDETERMINATE) -standalone = express_getattr(IfcElectricGeneratorTypeEnum, 'STANDALONE', INDETERMINATE) -userdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'NOTDEFINED', INDETERMINATE) +chp = IfcElectricGeneratorTypeEnum.CHP +enginegenerator = IfcElectricGeneratorTypeEnum.ENGINEGENERATOR +standalone = IfcElectricGeneratorTypeEnum.STANDALONE +userdefined = IfcElectricGeneratorTypeEnum.USERDEFINED +notdefined = IfcElectricGeneratorTypeEnum.NOTDEFINED IfcElectricMotorTypeEnum = enum_namespace() -dc = express_getattr(IfcElectricMotorTypeEnum, 'DC', INDETERMINATE) -induction = express_getattr(IfcElectricMotorTypeEnum, 'INDUCTION', INDETERMINATE) -polyphase = express_getattr(IfcElectricMotorTypeEnum, 'POLYPHASE', INDETERMINATE) -reluctancesynchronous = express_getattr(IfcElectricMotorTypeEnum, 'RELUCTANCESYNCHRONOUS', INDETERMINATE) -synchronous = express_getattr(IfcElectricMotorTypeEnum, 'SYNCHRONOUS', INDETERMINATE) -userdefined = express_getattr(IfcElectricMotorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricMotorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dc = IfcElectricMotorTypeEnum.DC +induction = IfcElectricMotorTypeEnum.INDUCTION +polyphase = IfcElectricMotorTypeEnum.POLYPHASE +reluctancesynchronous = IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS +synchronous = IfcElectricMotorTypeEnum.SYNCHRONOUS +userdefined = IfcElectricMotorTypeEnum.USERDEFINED +notdefined = IfcElectricMotorTypeEnum.NOTDEFINED IfcElectricTimeControlTypeEnum = enum_namespace() -timeclock = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMECLOCK', INDETERMINATE) -timedelay = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMEDELAY', INDETERMINATE) -relay = express_getattr(IfcElectricTimeControlTypeEnum, 'RELAY', INDETERMINATE) -userdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'NOTDEFINED', INDETERMINATE) +timeclock = IfcElectricTimeControlTypeEnum.TIMECLOCK +timedelay = IfcElectricTimeControlTypeEnum.TIMEDELAY +relay = IfcElectricTimeControlTypeEnum.RELAY +userdefined = IfcElectricTimeControlTypeEnum.USERDEFINED +notdefined = IfcElectricTimeControlTypeEnum.NOTDEFINED IfcElementAssemblyTypeEnum = enum_namespace() -accessory_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'ACCESSORY_ASSEMBLY', INDETERMINATE) -arch = express_getattr(IfcElementAssemblyTypeEnum, 'ARCH', INDETERMINATE) -beam_grid = express_getattr(IfcElementAssemblyTypeEnum, 'BEAM_GRID', INDETERMINATE) -braced_frame = express_getattr(IfcElementAssemblyTypeEnum, 'BRACED_FRAME', INDETERMINATE) -girder = express_getattr(IfcElementAssemblyTypeEnum, 'GIRDER', INDETERMINATE) -reinforcement_unit = express_getattr(IfcElementAssemblyTypeEnum, 'REINFORCEMENT_UNIT', INDETERMINATE) -rigid_frame = express_getattr(IfcElementAssemblyTypeEnum, 'RIGID_FRAME', INDETERMINATE) -slab_field = express_getattr(IfcElementAssemblyTypeEnum, 'SLAB_FIELD', INDETERMINATE) -truss = express_getattr(IfcElementAssemblyTypeEnum, 'TRUSS', INDETERMINATE) -abutment = express_getattr(IfcElementAssemblyTypeEnum, 'ABUTMENT', INDETERMINATE) -pier = express_getattr(IfcElementAssemblyTypeEnum, 'PIER', INDETERMINATE) -pylon = express_getattr(IfcElementAssemblyTypeEnum, 'PYLON', INDETERMINATE) -cross_bracing = express_getattr(IfcElementAssemblyTypeEnum, 'CROSS_BRACING', INDETERMINATE) -deck = express_getattr(IfcElementAssemblyTypeEnum, 'DECK', INDETERMINATE) -userdefined = express_getattr(IfcElementAssemblyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElementAssemblyTypeEnum, 'NOTDEFINED', INDETERMINATE) +accessory_assembly = IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY +arch = IfcElementAssemblyTypeEnum.ARCH +beam_grid = IfcElementAssemblyTypeEnum.BEAM_GRID +braced_frame = IfcElementAssemblyTypeEnum.BRACED_FRAME +girder = IfcElementAssemblyTypeEnum.GIRDER +reinforcement_unit = IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT +rigid_frame = IfcElementAssemblyTypeEnum.RIGID_FRAME +slab_field = IfcElementAssemblyTypeEnum.SLAB_FIELD +truss = IfcElementAssemblyTypeEnum.TRUSS +abutment = IfcElementAssemblyTypeEnum.ABUTMENT +pier = IfcElementAssemblyTypeEnum.PIER +pylon = IfcElementAssemblyTypeEnum.PYLON +cross_bracing = IfcElementAssemblyTypeEnum.CROSS_BRACING +deck = IfcElementAssemblyTypeEnum.DECK +userdefined = IfcElementAssemblyTypeEnum.USERDEFINED +notdefined = IfcElementAssemblyTypeEnum.NOTDEFINED IfcElementCompositionEnum = enum_namespace() -complex = express_getattr(IfcElementCompositionEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcElementCompositionEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcElementCompositionEnum, 'PARTIAL', INDETERMINATE) +complex = IfcElementCompositionEnum.COMPLEX +element = IfcElementCompositionEnum.ELEMENT +partial = IfcElementCompositionEnum.PARTIAL IfcEngineTypeEnum = enum_namespace() -externalcombustion = express_getattr(IfcEngineTypeEnum, 'EXTERNALCOMBUSTION', INDETERMINATE) -internalcombustion = express_getattr(IfcEngineTypeEnum, 'INTERNALCOMBUSTION', INDETERMINATE) -userdefined = express_getattr(IfcEngineTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEngineTypeEnum, 'NOTDEFINED', INDETERMINATE) +externalcombustion = IfcEngineTypeEnum.EXTERNALCOMBUSTION +internalcombustion = IfcEngineTypeEnum.INTERNALCOMBUSTION +userdefined = IfcEngineTypeEnum.USERDEFINED +notdefined = IfcEngineTypeEnum.NOTDEFINED IfcEvaporativeCoolerTypeEnum = enum_namespace() -directevaporativerandommediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER', INDETERMINATE) -directevaporativerigidmediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER', INDETERMINATE) -directevaporativeslingerspackagedaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER', INDETERMINATE) -directevaporativepackagedrotaryaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER', INDETERMINATE) -directevaporativeairwasher = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEAIRWASHER', INDETERMINATE) -indirectevaporativepackageaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEPACKAGEAIRCOOLER', INDETERMINATE) -indirectevaporativewetcoil = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEWETCOIL', INDETERMINATE) -indirectevaporativecoolingtowerorcoilcooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER', INDETERMINATE) -indirectdirectcombination = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTDIRECTCOMBINATION', INDETERMINATE) -userdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'NOTDEFINED', INDETERMINATE) +directevaporativerandommediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER +directevaporativerigidmediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER +directevaporativeslingerspackagedaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER +directevaporativepackagedrotaryaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER +directevaporativeairwasher = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER +indirectevaporativepackageaircooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER +indirectevaporativewetcoil = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL +indirectevaporativecoolingtowerorcoilcooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER +indirectdirectcombination = IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION +userdefined = IfcEvaporativeCoolerTypeEnum.USERDEFINED +notdefined = IfcEvaporativeCoolerTypeEnum.NOTDEFINED IfcEvaporatorTypeEnum = enum_namespace() -directexpansion = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSION', INDETERMINATE) -directexpansionshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONSHELLANDTUBE', INDETERMINATE) -directexpansiontubeintube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONTUBEINTUBE', INDETERMINATE) -directexpansionbrazedplate = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONBRAZEDPLATE', INDETERMINATE) -floodedshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'FLOODEDSHELLANDTUBE', INDETERMINATE) -shellandcoil = express_getattr(IfcEvaporatorTypeEnum, 'SHELLANDCOIL', INDETERMINATE) -userdefined = express_getattr(IfcEvaporatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +directexpansion = IfcEvaporatorTypeEnum.DIRECTEXPANSION +directexpansionshellandtube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE +directexpansiontubeintube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE +directexpansionbrazedplate = IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE +floodedshellandtube = IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE +shellandcoil = IfcEvaporatorTypeEnum.SHELLANDCOIL +userdefined = IfcEvaporatorTypeEnum.USERDEFINED +notdefined = IfcEvaporatorTypeEnum.NOTDEFINED IfcEventTriggerTypeEnum = enum_namespace() -eventrule = express_getattr(IfcEventTriggerTypeEnum, 'EVENTRULE', INDETERMINATE) -eventmessage = express_getattr(IfcEventTriggerTypeEnum, 'EVENTMESSAGE', INDETERMINATE) -eventtime = express_getattr(IfcEventTriggerTypeEnum, 'EVENTTIME', INDETERMINATE) -eventcomplex = express_getattr(IfcEventTriggerTypeEnum, 'EVENTCOMPLEX', INDETERMINATE) -userdefined = express_getattr(IfcEventTriggerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTriggerTypeEnum, 'NOTDEFINED', INDETERMINATE) +eventrule = IfcEventTriggerTypeEnum.EVENTRULE +eventmessage = IfcEventTriggerTypeEnum.EVENTMESSAGE +eventtime = IfcEventTriggerTypeEnum.EVENTTIME +eventcomplex = IfcEventTriggerTypeEnum.EVENTCOMPLEX +userdefined = IfcEventTriggerTypeEnum.USERDEFINED +notdefined = IfcEventTriggerTypeEnum.NOTDEFINED IfcEventTypeEnum = enum_namespace() -startevent = express_getattr(IfcEventTypeEnum, 'STARTEVENT', INDETERMINATE) -endevent = express_getattr(IfcEventTypeEnum, 'ENDEVENT', INDETERMINATE) -intermediateevent = express_getattr(IfcEventTypeEnum, 'INTERMEDIATEEVENT', INDETERMINATE) -userdefined = express_getattr(IfcEventTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTypeEnum, 'NOTDEFINED', INDETERMINATE) +startevent = IfcEventTypeEnum.STARTEVENT +endevent = IfcEventTypeEnum.ENDEVENT +intermediateevent = IfcEventTypeEnum.INTERMEDIATEEVENT +userdefined = IfcEventTypeEnum.USERDEFINED +notdefined = IfcEventTypeEnum.NOTDEFINED IfcExternalSpatialElementTypeEnum = enum_namespace() -external = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_water = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_WATER', INDETERMINATE) -external_fire = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_FIRE', INDETERMINATE) -userdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +external = IfcExternalSpatialElementTypeEnum.EXTERNAL +external_earth = IfcExternalSpatialElementTypeEnum.EXTERNAL_EARTH +external_water = IfcExternalSpatialElementTypeEnum.EXTERNAL_WATER +external_fire = IfcExternalSpatialElementTypeEnum.EXTERNAL_FIRE +userdefined = IfcExternalSpatialElementTypeEnum.USERDEFINED +notdefined = IfcExternalSpatialElementTypeEnum.NOTDEFINED IfcFanTypeEnum = enum_namespace() -centrifugalforwardcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALFORWARDCURVED', INDETERMINATE) -centrifugalradial = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALRADIAL', INDETERMINATE) -centrifugalbackwardinclinedcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALBACKWARDINCLINEDCURVED', INDETERMINATE) -centrifugalairfoil = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALAIRFOIL', INDETERMINATE) -tubeaxial = express_getattr(IfcFanTypeEnum, 'TUBEAXIAL', INDETERMINATE) -vaneaxial = express_getattr(IfcFanTypeEnum, 'VANEAXIAL', INDETERMINATE) -propelloraxial = express_getattr(IfcFanTypeEnum, 'PROPELLORAXIAL', INDETERMINATE) -userdefined = express_getattr(IfcFanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFanTypeEnum, 'NOTDEFINED', INDETERMINATE) +centrifugalforwardcurved = IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED +centrifugalradial = IfcFanTypeEnum.CENTRIFUGALRADIAL +centrifugalbackwardinclinedcurved = IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED +centrifugalairfoil = IfcFanTypeEnum.CENTRIFUGALAIRFOIL +tubeaxial = IfcFanTypeEnum.TUBEAXIAL +vaneaxial = IfcFanTypeEnum.VANEAXIAL +propelloraxial = IfcFanTypeEnum.PROPELLORAXIAL +userdefined = IfcFanTypeEnum.USERDEFINED +notdefined = IfcFanTypeEnum.NOTDEFINED IfcFastenerTypeEnum = enum_namespace() -glue = express_getattr(IfcFastenerTypeEnum, 'GLUE', INDETERMINATE) -mortar = express_getattr(IfcFastenerTypeEnum, 'MORTAR', INDETERMINATE) -weld = express_getattr(IfcFastenerTypeEnum, 'WELD', INDETERMINATE) -userdefined = express_getattr(IfcFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +glue = IfcFastenerTypeEnum.GLUE +mortar = IfcFastenerTypeEnum.MORTAR +weld = IfcFastenerTypeEnum.WELD +userdefined = IfcFastenerTypeEnum.USERDEFINED +notdefined = IfcFastenerTypeEnum.NOTDEFINED IfcFilterTypeEnum = enum_namespace() -airparticlefilter = express_getattr(IfcFilterTypeEnum, 'AIRPARTICLEFILTER', INDETERMINATE) -compressedairfilter = express_getattr(IfcFilterTypeEnum, 'COMPRESSEDAIRFILTER', INDETERMINATE) -odorfilter = express_getattr(IfcFilterTypeEnum, 'ODORFILTER', INDETERMINATE) -oilfilter = express_getattr(IfcFilterTypeEnum, 'OILFILTER', INDETERMINATE) -strainer = express_getattr(IfcFilterTypeEnum, 'STRAINER', INDETERMINATE) -waterfilter = express_getattr(IfcFilterTypeEnum, 'WATERFILTER', INDETERMINATE) -userdefined = express_getattr(IfcFilterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFilterTypeEnum, 'NOTDEFINED', INDETERMINATE) +airparticlefilter = IfcFilterTypeEnum.AIRPARTICLEFILTER +compressedairfilter = IfcFilterTypeEnum.COMPRESSEDAIRFILTER +odorfilter = IfcFilterTypeEnum.ODORFILTER +oilfilter = IfcFilterTypeEnum.OILFILTER +strainer = IfcFilterTypeEnum.STRAINER +waterfilter = IfcFilterTypeEnum.WATERFILTER +userdefined = IfcFilterTypeEnum.USERDEFINED +notdefined = IfcFilterTypeEnum.NOTDEFINED IfcFireSuppressionTerminalTypeEnum = enum_namespace() -breechinginlet = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'BREECHINGINLET', INDETERMINATE) -firehydrant = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'FIREHYDRANT', INDETERMINATE) -hosereel = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -sprinkler = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLER', INDETERMINATE) -sprinklerdeflector = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLERDEFLECTOR', INDETERMINATE) -userdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +breechinginlet = IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET +firehydrant = IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT +hosereel = IfcFireSuppressionTerminalTypeEnum.HOSEREEL +sprinkler = IfcFireSuppressionTerminalTypeEnum.SPRINKLER +sprinklerdeflector = IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR +userdefined = IfcFireSuppressionTerminalTypeEnum.USERDEFINED +notdefined = IfcFireSuppressionTerminalTypeEnum.NOTDEFINED IfcFlowDirectionEnum = enum_namespace() -source = express_getattr(IfcFlowDirectionEnum, 'SOURCE', INDETERMINATE) -sink = express_getattr(IfcFlowDirectionEnum, 'SINK', INDETERMINATE) -sourceandsink = express_getattr(IfcFlowDirectionEnum, 'SOURCEANDSINK', INDETERMINATE) -notdefined = express_getattr(IfcFlowDirectionEnum, 'NOTDEFINED', INDETERMINATE) +source = IfcFlowDirectionEnum.SOURCE +sink = IfcFlowDirectionEnum.SINK +sourceandsink = IfcFlowDirectionEnum.SOURCEANDSINK +notdefined = IfcFlowDirectionEnum.NOTDEFINED IfcFlowInstrumentTypeEnum = enum_namespace() -pressuregauge = express_getattr(IfcFlowInstrumentTypeEnum, 'PRESSUREGAUGE', INDETERMINATE) -thermometer = express_getattr(IfcFlowInstrumentTypeEnum, 'THERMOMETER', INDETERMINATE) -ammeter = express_getattr(IfcFlowInstrumentTypeEnum, 'AMMETER', INDETERMINATE) -frequencymeter = express_getattr(IfcFlowInstrumentTypeEnum, 'FREQUENCYMETER', INDETERMINATE) -powerfactormeter = express_getattr(IfcFlowInstrumentTypeEnum, 'POWERFACTORMETER', INDETERMINATE) -phaseanglemeter = express_getattr(IfcFlowInstrumentTypeEnum, 'PHASEANGLEMETER', INDETERMINATE) -voltmeter_peak = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_PEAK', INDETERMINATE) -voltmeter_rms = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_RMS', INDETERMINATE) -userdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'NOTDEFINED', INDETERMINATE) +pressuregauge = IfcFlowInstrumentTypeEnum.PRESSUREGAUGE +thermometer = IfcFlowInstrumentTypeEnum.THERMOMETER +ammeter = IfcFlowInstrumentTypeEnum.AMMETER +frequencymeter = IfcFlowInstrumentTypeEnum.FREQUENCYMETER +powerfactormeter = IfcFlowInstrumentTypeEnum.POWERFACTORMETER +phaseanglemeter = IfcFlowInstrumentTypeEnum.PHASEANGLEMETER +voltmeter_peak = IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK +voltmeter_rms = IfcFlowInstrumentTypeEnum.VOLTMETER_RMS +userdefined = IfcFlowInstrumentTypeEnum.USERDEFINED +notdefined = IfcFlowInstrumentTypeEnum.NOTDEFINED IfcFlowMeterTypeEnum = enum_namespace() -energymeter = express_getattr(IfcFlowMeterTypeEnum, 'ENERGYMETER', INDETERMINATE) -gasmeter = express_getattr(IfcFlowMeterTypeEnum, 'GASMETER', INDETERMINATE) -oilmeter = express_getattr(IfcFlowMeterTypeEnum, 'OILMETER', INDETERMINATE) -watermeter = express_getattr(IfcFlowMeterTypeEnum, 'WATERMETER', INDETERMINATE) -userdefined = express_getattr(IfcFlowMeterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowMeterTypeEnum, 'NOTDEFINED', INDETERMINATE) +energymeter = IfcFlowMeterTypeEnum.ENERGYMETER +gasmeter = IfcFlowMeterTypeEnum.GASMETER +oilmeter = IfcFlowMeterTypeEnum.OILMETER +watermeter = IfcFlowMeterTypeEnum.WATERMETER +userdefined = IfcFlowMeterTypeEnum.USERDEFINED +notdefined = IfcFlowMeterTypeEnum.NOTDEFINED IfcFootingTypeEnum = enum_namespace() -caisson_foundation = express_getattr(IfcFootingTypeEnum, 'CAISSON_FOUNDATION', INDETERMINATE) -footing_beam = express_getattr(IfcFootingTypeEnum, 'FOOTING_BEAM', INDETERMINATE) -pad_footing = express_getattr(IfcFootingTypeEnum, 'PAD_FOOTING', INDETERMINATE) -pile_cap = express_getattr(IfcFootingTypeEnum, 'PILE_CAP', INDETERMINATE) -strip_footing = express_getattr(IfcFootingTypeEnum, 'STRIP_FOOTING', INDETERMINATE) -userdefined = express_getattr(IfcFootingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFootingTypeEnum, 'NOTDEFINED', INDETERMINATE) +caisson_foundation = IfcFootingTypeEnum.CAISSON_FOUNDATION +footing_beam = IfcFootingTypeEnum.FOOTING_BEAM +pad_footing = IfcFootingTypeEnum.PAD_FOOTING +pile_cap = IfcFootingTypeEnum.PILE_CAP +strip_footing = IfcFootingTypeEnum.STRIP_FOOTING +userdefined = IfcFootingTypeEnum.USERDEFINED +notdefined = IfcFootingTypeEnum.NOTDEFINED IfcFurnitureTypeEnum = enum_namespace() -chair = express_getattr(IfcFurnitureTypeEnum, 'CHAIR', INDETERMINATE) -table = express_getattr(IfcFurnitureTypeEnum, 'TABLE', INDETERMINATE) -desk = express_getattr(IfcFurnitureTypeEnum, 'DESK', INDETERMINATE) -bed = express_getattr(IfcFurnitureTypeEnum, 'BED', INDETERMINATE) -filecabinet = express_getattr(IfcFurnitureTypeEnum, 'FILECABINET', INDETERMINATE) -shelf = express_getattr(IfcFurnitureTypeEnum, 'SHELF', INDETERMINATE) -sofa = express_getattr(IfcFurnitureTypeEnum, 'SOFA', INDETERMINATE) -userdefined = express_getattr(IfcFurnitureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFurnitureTypeEnum, 'NOTDEFINED', INDETERMINATE) +chair = IfcFurnitureTypeEnum.CHAIR +table = IfcFurnitureTypeEnum.TABLE +desk = IfcFurnitureTypeEnum.DESK +bed = IfcFurnitureTypeEnum.BED +filecabinet = IfcFurnitureTypeEnum.FILECABINET +shelf = IfcFurnitureTypeEnum.SHELF +sofa = IfcFurnitureTypeEnum.SOFA +userdefined = IfcFurnitureTypeEnum.USERDEFINED +notdefined = IfcFurnitureTypeEnum.NOTDEFINED IfcGeographicElementTypeEnum = enum_namespace() -terrain = express_getattr(IfcGeographicElementTypeEnum, 'TERRAIN', INDETERMINATE) -soil_boring_point = express_getattr(IfcGeographicElementTypeEnum, 'SOIL_BORING_POINT', INDETERMINATE) -userdefined = express_getattr(IfcGeographicElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeographicElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +terrain = IfcGeographicElementTypeEnum.TERRAIN +soil_boring_point = IfcGeographicElementTypeEnum.SOIL_BORING_POINT +userdefined = IfcGeographicElementTypeEnum.USERDEFINED +notdefined = IfcGeographicElementTypeEnum.NOTDEFINED IfcGeometricProjectionEnum = enum_namespace() -graph_view = express_getattr(IfcGeometricProjectionEnum, 'GRAPH_VIEW', INDETERMINATE) -sketch_view = express_getattr(IfcGeometricProjectionEnum, 'SKETCH_VIEW', INDETERMINATE) -model_view = express_getattr(IfcGeometricProjectionEnum, 'MODEL_VIEW', INDETERMINATE) -plan_view = express_getattr(IfcGeometricProjectionEnum, 'PLAN_VIEW', INDETERMINATE) -reflected_plan_view = express_getattr(IfcGeometricProjectionEnum, 'REFLECTED_PLAN_VIEW', INDETERMINATE) -section_view = express_getattr(IfcGeometricProjectionEnum, 'SECTION_VIEW', INDETERMINATE) -elevation_view = express_getattr(IfcGeometricProjectionEnum, 'ELEVATION_VIEW', INDETERMINATE) -userdefined = express_getattr(IfcGeometricProjectionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeometricProjectionEnum, 'NOTDEFINED', INDETERMINATE) +graph_view = IfcGeometricProjectionEnum.GRAPH_VIEW +sketch_view = IfcGeometricProjectionEnum.SKETCH_VIEW +model_view = IfcGeometricProjectionEnum.MODEL_VIEW +plan_view = IfcGeometricProjectionEnum.PLAN_VIEW +reflected_plan_view = IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW +section_view = IfcGeometricProjectionEnum.SECTION_VIEW +elevation_view = IfcGeometricProjectionEnum.ELEVATION_VIEW +userdefined = IfcGeometricProjectionEnum.USERDEFINED +notdefined = IfcGeometricProjectionEnum.NOTDEFINED IfcGlobalOrLocalEnum = enum_namespace() -global_coords = express_getattr(IfcGlobalOrLocalEnum, 'GLOBAL_COORDS', INDETERMINATE) -local_coords = express_getattr(IfcGlobalOrLocalEnum, 'LOCAL_COORDS', INDETERMINATE) +global_coords = IfcGlobalOrLocalEnum.GLOBAL_COORDS +local_coords = IfcGlobalOrLocalEnum.LOCAL_COORDS IfcGridTypeEnum = enum_namespace() -rectangular = express_getattr(IfcGridTypeEnum, 'RECTANGULAR', INDETERMINATE) -radial = express_getattr(IfcGridTypeEnum, 'RADIAL', INDETERMINATE) -triangular = express_getattr(IfcGridTypeEnum, 'TRIANGULAR', INDETERMINATE) -irregular = express_getattr(IfcGridTypeEnum, 'IRREGULAR', INDETERMINATE) -userdefined = express_getattr(IfcGridTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGridTypeEnum, 'NOTDEFINED', INDETERMINATE) +rectangular = IfcGridTypeEnum.RECTANGULAR +radial = IfcGridTypeEnum.RADIAL +triangular = IfcGridTypeEnum.TRIANGULAR +irregular = IfcGridTypeEnum.IRREGULAR +userdefined = IfcGridTypeEnum.USERDEFINED +notdefined = IfcGridTypeEnum.NOTDEFINED IfcHeatExchangerTypeEnum = enum_namespace() -plate = express_getattr(IfcHeatExchangerTypeEnum, 'PLATE', INDETERMINATE) -shellandtube = express_getattr(IfcHeatExchangerTypeEnum, 'SHELLANDTUBE', INDETERMINATE) -userdefined = express_getattr(IfcHeatExchangerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHeatExchangerTypeEnum, 'NOTDEFINED', INDETERMINATE) +plate = IfcHeatExchangerTypeEnum.PLATE +shellandtube = IfcHeatExchangerTypeEnum.SHELLANDTUBE +userdefined = IfcHeatExchangerTypeEnum.USERDEFINED +notdefined = IfcHeatExchangerTypeEnum.NOTDEFINED IfcHumidifierTypeEnum = enum_namespace() -steaminjection = express_getattr(IfcHumidifierTypeEnum, 'STEAMINJECTION', INDETERMINATE) -adiabaticairwasher = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICAIRWASHER', INDETERMINATE) -adiabaticpan = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICPAN', INDETERMINATE) -adiabaticwettedelement = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICWETTEDELEMENT', INDETERMINATE) -adiabaticatomizing = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICATOMIZING', INDETERMINATE) -adiabaticultrasonic = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICULTRASONIC', INDETERMINATE) -adiabaticrigidmedia = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICRIGIDMEDIA', INDETERMINATE) -adiabaticcompressedairnozzle = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICCOMPRESSEDAIRNOZZLE', INDETERMINATE) -assistedelectric = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDELECTRIC', INDETERMINATE) -assistednaturalgas = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDNATURALGAS', INDETERMINATE) -assistedpropane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDPROPANE', INDETERMINATE) -assistedbutane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDBUTANE', INDETERMINATE) -assistedsteam = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDSTEAM', INDETERMINATE) -userdefined = express_getattr(IfcHumidifierTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHumidifierTypeEnum, 'NOTDEFINED', INDETERMINATE) +steaminjection = IfcHumidifierTypeEnum.STEAMINJECTION +adiabaticairwasher = IfcHumidifierTypeEnum.ADIABATICAIRWASHER +adiabaticpan = IfcHumidifierTypeEnum.ADIABATICPAN +adiabaticwettedelement = IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT +adiabaticatomizing = IfcHumidifierTypeEnum.ADIABATICATOMIZING +adiabaticultrasonic = IfcHumidifierTypeEnum.ADIABATICULTRASONIC +adiabaticrigidmedia = IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA +adiabaticcompressedairnozzle = IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE +assistedelectric = IfcHumidifierTypeEnum.ASSISTEDELECTRIC +assistednaturalgas = IfcHumidifierTypeEnum.ASSISTEDNATURALGAS +assistedpropane = IfcHumidifierTypeEnum.ASSISTEDPROPANE +assistedbutane = IfcHumidifierTypeEnum.ASSISTEDBUTANE +assistedsteam = IfcHumidifierTypeEnum.ASSISTEDSTEAM +userdefined = IfcHumidifierTypeEnum.USERDEFINED +notdefined = IfcHumidifierTypeEnum.NOTDEFINED IfcInterceptorTypeEnum = enum_namespace() -cyclonic = express_getattr(IfcInterceptorTypeEnum, 'CYCLONIC', INDETERMINATE) -grease = express_getattr(IfcInterceptorTypeEnum, 'GREASE', INDETERMINATE) -oil = express_getattr(IfcInterceptorTypeEnum, 'OIL', INDETERMINATE) -petrol = express_getattr(IfcInterceptorTypeEnum, 'PETROL', INDETERMINATE) -userdefined = express_getattr(IfcInterceptorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInterceptorTypeEnum, 'NOTDEFINED', INDETERMINATE) +cyclonic = IfcInterceptorTypeEnum.CYCLONIC +grease = IfcInterceptorTypeEnum.GREASE +oil = IfcInterceptorTypeEnum.OIL +petrol = IfcInterceptorTypeEnum.PETROL +userdefined = IfcInterceptorTypeEnum.USERDEFINED +notdefined = IfcInterceptorTypeEnum.NOTDEFINED IfcInternalOrExternalEnum = enum_namespace() -internal = express_getattr(IfcInternalOrExternalEnum, 'INTERNAL', INDETERMINATE) -external = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_water = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_WATER', INDETERMINATE) -external_fire = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_FIRE', INDETERMINATE) -notdefined = express_getattr(IfcInternalOrExternalEnum, 'NOTDEFINED', INDETERMINATE) +internal = IfcInternalOrExternalEnum.INTERNAL +external = IfcInternalOrExternalEnum.EXTERNAL +external_earth = IfcInternalOrExternalEnum.EXTERNAL_EARTH +external_water = IfcInternalOrExternalEnum.EXTERNAL_WATER +external_fire = IfcInternalOrExternalEnum.EXTERNAL_FIRE +notdefined = IfcInternalOrExternalEnum.NOTDEFINED IfcInventoryTypeEnum = enum_namespace() -assetinventory = express_getattr(IfcInventoryTypeEnum, 'ASSETINVENTORY', INDETERMINATE) -spaceinventory = express_getattr(IfcInventoryTypeEnum, 'SPACEINVENTORY', INDETERMINATE) -furnitureinventory = express_getattr(IfcInventoryTypeEnum, 'FURNITUREINVENTORY', INDETERMINATE) -userdefined = express_getattr(IfcInventoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInventoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +assetinventory = IfcInventoryTypeEnum.ASSETINVENTORY +spaceinventory = IfcInventoryTypeEnum.SPACEINVENTORY +furnitureinventory = IfcInventoryTypeEnum.FURNITUREINVENTORY +userdefined = IfcInventoryTypeEnum.USERDEFINED +notdefined = IfcInventoryTypeEnum.NOTDEFINED IfcJunctionBoxTypeEnum = enum_namespace() -data = express_getattr(IfcJunctionBoxTypeEnum, 'DATA', INDETERMINATE) -power = express_getattr(IfcJunctionBoxTypeEnum, 'POWER', INDETERMINATE) -userdefined = express_getattr(IfcJunctionBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcJunctionBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +data = IfcJunctionBoxTypeEnum.DATA +power = IfcJunctionBoxTypeEnum.POWER +userdefined = IfcJunctionBoxTypeEnum.USERDEFINED +notdefined = IfcJunctionBoxTypeEnum.NOTDEFINED IfcKnotType = enum_namespace() -uniform_knots = express_getattr(IfcKnotType, 'UNIFORM_KNOTS', INDETERMINATE) -quasi_uniform_knots = express_getattr(IfcKnotType, 'QUASI_UNIFORM_KNOTS', INDETERMINATE) -piecewise_bezier_knots = express_getattr(IfcKnotType, 'PIECEWISE_BEZIER_KNOTS', INDETERMINATE) -unspecified = express_getattr(IfcKnotType, 'UNSPECIFIED', INDETERMINATE) +uniform_knots = IfcKnotType.UNIFORM_KNOTS +quasi_uniform_knots = IfcKnotType.QUASI_UNIFORM_KNOTS +piecewise_bezier_knots = IfcKnotType.PIECEWISE_BEZIER_KNOTS +unspecified = IfcKnotType.UNSPECIFIED IfcLaborResourceTypeEnum = enum_namespace() -administration = express_getattr(IfcLaborResourceTypeEnum, 'ADMINISTRATION', INDETERMINATE) -carpentry = express_getattr(IfcLaborResourceTypeEnum, 'CARPENTRY', INDETERMINATE) -cleaning = express_getattr(IfcLaborResourceTypeEnum, 'CLEANING', INDETERMINATE) -concrete = express_getattr(IfcLaborResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcLaborResourceTypeEnum, 'DRYWALL', INDETERMINATE) -electric = express_getattr(IfcLaborResourceTypeEnum, 'ELECTRIC', INDETERMINATE) -finishing = express_getattr(IfcLaborResourceTypeEnum, 'FINISHING', INDETERMINATE) -flooring = express_getattr(IfcLaborResourceTypeEnum, 'FLOORING', INDETERMINATE) -general = express_getattr(IfcLaborResourceTypeEnum, 'GENERAL', INDETERMINATE) -hvac = express_getattr(IfcLaborResourceTypeEnum, 'HVAC', INDETERMINATE) -landscaping = express_getattr(IfcLaborResourceTypeEnum, 'LANDSCAPING', INDETERMINATE) -masonry = express_getattr(IfcLaborResourceTypeEnum, 'MASONRY', INDETERMINATE) -painting = express_getattr(IfcLaborResourceTypeEnum, 'PAINTING', INDETERMINATE) -paving = express_getattr(IfcLaborResourceTypeEnum, 'PAVING', INDETERMINATE) -plumbing = express_getattr(IfcLaborResourceTypeEnum, 'PLUMBING', INDETERMINATE) -roofing = express_getattr(IfcLaborResourceTypeEnum, 'ROOFING', INDETERMINATE) -sitegrading = express_getattr(IfcLaborResourceTypeEnum, 'SITEGRADING', INDETERMINATE) -steelwork = express_getattr(IfcLaborResourceTypeEnum, 'STEELWORK', INDETERMINATE) -surveying = express_getattr(IfcLaborResourceTypeEnum, 'SURVEYING', INDETERMINATE) -userdefined = express_getattr(IfcLaborResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLaborResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +administration = IfcLaborResourceTypeEnum.ADMINISTRATION +carpentry = IfcLaborResourceTypeEnum.CARPENTRY +cleaning = IfcLaborResourceTypeEnum.CLEANING +concrete = IfcLaborResourceTypeEnum.CONCRETE +drywall = IfcLaborResourceTypeEnum.DRYWALL +electric = IfcLaborResourceTypeEnum.ELECTRIC +finishing = IfcLaborResourceTypeEnum.FINISHING +flooring = IfcLaborResourceTypeEnum.FLOORING +general = IfcLaborResourceTypeEnum.GENERAL +hvac = IfcLaborResourceTypeEnum.HVAC +landscaping = IfcLaborResourceTypeEnum.LANDSCAPING +masonry = IfcLaborResourceTypeEnum.MASONRY +painting = IfcLaborResourceTypeEnum.PAINTING +paving = IfcLaborResourceTypeEnum.PAVING +plumbing = IfcLaborResourceTypeEnum.PLUMBING +roofing = IfcLaborResourceTypeEnum.ROOFING +sitegrading = IfcLaborResourceTypeEnum.SITEGRADING +steelwork = IfcLaborResourceTypeEnum.STEELWORK +surveying = IfcLaborResourceTypeEnum.SURVEYING +userdefined = IfcLaborResourceTypeEnum.USERDEFINED +notdefined = IfcLaborResourceTypeEnum.NOTDEFINED IfcLampTypeEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLampTypeEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLampTypeEnum, 'FLUORESCENT', INDETERMINATE) -halogen = express_getattr(IfcLampTypeEnum, 'HALOGEN', INDETERMINATE) -highpressuremercury = express_getattr(IfcLampTypeEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLampTypeEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -led = express_getattr(IfcLampTypeEnum, 'LED', INDETERMINATE) -metalhalide = express_getattr(IfcLampTypeEnum, 'METALHALIDE', INDETERMINATE) -oled = express_getattr(IfcLampTypeEnum, 'OLED', INDETERMINATE) -tungstenfilament = express_getattr(IfcLampTypeEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -userdefined = express_getattr(IfcLampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLampTypeEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLampTypeEnum.COMPACTFLUORESCENT +fluorescent = IfcLampTypeEnum.FLUORESCENT +halogen = IfcLampTypeEnum.HALOGEN +highpressuremercury = IfcLampTypeEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLampTypeEnum.HIGHPRESSURESODIUM +led = IfcLampTypeEnum.LED +metalhalide = IfcLampTypeEnum.METALHALIDE +oled = IfcLampTypeEnum.OLED +tungstenfilament = IfcLampTypeEnum.TUNGSTENFILAMENT +userdefined = IfcLampTypeEnum.USERDEFINED +notdefined = IfcLampTypeEnum.NOTDEFINED IfcLayerSetDirectionEnum = enum_namespace() -axis1 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS1', INDETERMINATE) -axis2 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS2', INDETERMINATE) -axis3 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS3', INDETERMINATE) +axis1 = IfcLayerSetDirectionEnum.AXIS1 +axis2 = IfcLayerSetDirectionEnum.AXIS2 +axis3 = IfcLayerSetDirectionEnum.AXIS3 IfcLightDistributionCurveEnum = enum_namespace() -type_a = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_A', INDETERMINATE) -type_b = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_B', INDETERMINATE) -type_c = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_C', INDETERMINATE) -notdefined = express_getattr(IfcLightDistributionCurveEnum, 'NOTDEFINED', INDETERMINATE) +type_a = IfcLightDistributionCurveEnum.TYPE_A +type_b = IfcLightDistributionCurveEnum.TYPE_B +type_c = IfcLightDistributionCurveEnum.TYPE_C +notdefined = IfcLightDistributionCurveEnum.NOTDEFINED IfcLightEmissionSourceEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLightEmissionSourceEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLightEmissionSourceEnum, 'FLUORESCENT', INDETERMINATE) -highpressuremercury = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -lightemittingdiode = express_getattr(IfcLightEmissionSourceEnum, 'LIGHTEMITTINGDIODE', INDETERMINATE) -lowpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'LOWPRESSURESODIUM', INDETERMINATE) -lowvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'LOWVOLTAGEHALOGEN', INDETERMINATE) -mainvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'MAINVOLTAGEHALOGEN', INDETERMINATE) -metalhalide = express_getattr(IfcLightEmissionSourceEnum, 'METALHALIDE', INDETERMINATE) -tungstenfilament = express_getattr(IfcLightEmissionSourceEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -notdefined = express_getattr(IfcLightEmissionSourceEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLightEmissionSourceEnum.COMPACTFLUORESCENT +fluorescent = IfcLightEmissionSourceEnum.FLUORESCENT +highpressuremercury = IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM +lightemittingdiode = IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE +lowpressuresodium = IfcLightEmissionSourceEnum.LOWPRESSURESODIUM +lowvoltagehalogen = IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN +mainvoltagehalogen = IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN +metalhalide = IfcLightEmissionSourceEnum.METALHALIDE +tungstenfilament = IfcLightEmissionSourceEnum.TUNGSTENFILAMENT +notdefined = IfcLightEmissionSourceEnum.NOTDEFINED IfcLightFixtureTypeEnum = enum_namespace() -pointsource = express_getattr(IfcLightFixtureTypeEnum, 'POINTSOURCE', INDETERMINATE) -directionsource = express_getattr(IfcLightFixtureTypeEnum, 'DIRECTIONSOURCE', INDETERMINATE) -securitylighting = express_getattr(IfcLightFixtureTypeEnum, 'SECURITYLIGHTING', INDETERMINATE) -userdefined = express_getattr(IfcLightFixtureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLightFixtureTypeEnum, 'NOTDEFINED', INDETERMINATE) +pointsource = IfcLightFixtureTypeEnum.POINTSOURCE +directionsource = IfcLightFixtureTypeEnum.DIRECTIONSOURCE +securitylighting = IfcLightFixtureTypeEnum.SECURITYLIGHTING +userdefined = IfcLightFixtureTypeEnum.USERDEFINED +notdefined = IfcLightFixtureTypeEnum.NOTDEFINED IfcLoadGroupTypeEnum = enum_namespace() -load_group = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_GROUP', INDETERMINATE) -load_case = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_CASE', INDETERMINATE) -load_combination = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_COMBINATION', INDETERMINATE) -userdefined = express_getattr(IfcLoadGroupTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLoadGroupTypeEnum, 'NOTDEFINED', INDETERMINATE) +load_group = IfcLoadGroupTypeEnum.LOAD_GROUP +load_case = IfcLoadGroupTypeEnum.LOAD_CASE +load_combination = IfcLoadGroupTypeEnum.LOAD_COMBINATION +userdefined = IfcLoadGroupTypeEnum.USERDEFINED +notdefined = IfcLoadGroupTypeEnum.NOTDEFINED IfcLogicalOperatorEnum = enum_namespace() -logicaland = express_getattr(IfcLogicalOperatorEnum, 'LOGICALAND', INDETERMINATE) -logicalor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALOR', INDETERMINATE) -logicalxor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALXOR', INDETERMINATE) -logicalnotand = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTAND', INDETERMINATE) -logicalnotor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTOR', INDETERMINATE) +logicaland = IfcLogicalOperatorEnum.LOGICALAND +logicalor = IfcLogicalOperatorEnum.LOGICALOR +logicalxor = IfcLogicalOperatorEnum.LOGICALXOR +logicalnotand = IfcLogicalOperatorEnum.LOGICALNOTAND +logicalnotor = IfcLogicalOperatorEnum.LOGICALNOTOR IfcMechanicalFastenerTypeEnum = enum_namespace() -anchorbolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'ANCHORBOLT', INDETERMINATE) -bolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'BOLT', INDETERMINATE) -dowel = express_getattr(IfcMechanicalFastenerTypeEnum, 'DOWEL', INDETERMINATE) -nail = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAIL', INDETERMINATE) -nailplate = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAILPLATE', INDETERMINATE) -rivet = express_getattr(IfcMechanicalFastenerTypeEnum, 'RIVET', INDETERMINATE) -screw = express_getattr(IfcMechanicalFastenerTypeEnum, 'SCREW', INDETERMINATE) -shearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'SHEARCONNECTOR', INDETERMINATE) -staple = express_getattr(IfcMechanicalFastenerTypeEnum, 'STAPLE', INDETERMINATE) -studshearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'STUDSHEARCONNECTOR', INDETERMINATE) -coupler = express_getattr(IfcMechanicalFastenerTypeEnum, 'COUPLER', INDETERMINATE) -userdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorbolt = IfcMechanicalFastenerTypeEnum.ANCHORBOLT +bolt = IfcMechanicalFastenerTypeEnum.BOLT +dowel = IfcMechanicalFastenerTypeEnum.DOWEL +nail = IfcMechanicalFastenerTypeEnum.NAIL +nailplate = IfcMechanicalFastenerTypeEnum.NAILPLATE +rivet = IfcMechanicalFastenerTypeEnum.RIVET +screw = IfcMechanicalFastenerTypeEnum.SCREW +shearconnector = IfcMechanicalFastenerTypeEnum.SHEARCONNECTOR +staple = IfcMechanicalFastenerTypeEnum.STAPLE +studshearconnector = IfcMechanicalFastenerTypeEnum.STUDSHEARCONNECTOR +coupler = IfcMechanicalFastenerTypeEnum.COUPLER +userdefined = IfcMechanicalFastenerTypeEnum.USERDEFINED +notdefined = IfcMechanicalFastenerTypeEnum.NOTDEFINED IfcMedicalDeviceTypeEnum = enum_namespace() -airstation = express_getattr(IfcMedicalDeviceTypeEnum, 'AIRSTATION', INDETERMINATE) -feedairunit = express_getattr(IfcMedicalDeviceTypeEnum, 'FEEDAIRUNIT', INDETERMINATE) -oxygengenerator = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENGENERATOR', INDETERMINATE) -oxygenplant = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENPLANT', INDETERMINATE) -vacuumstation = express_getattr(IfcMedicalDeviceTypeEnum, 'VACUUMSTATION', INDETERMINATE) -userdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +airstation = IfcMedicalDeviceTypeEnum.AIRSTATION +feedairunit = IfcMedicalDeviceTypeEnum.FEEDAIRUNIT +oxygengenerator = IfcMedicalDeviceTypeEnum.OXYGENGENERATOR +oxygenplant = IfcMedicalDeviceTypeEnum.OXYGENPLANT +vacuumstation = IfcMedicalDeviceTypeEnum.VACUUMSTATION +userdefined = IfcMedicalDeviceTypeEnum.USERDEFINED +notdefined = IfcMedicalDeviceTypeEnum.NOTDEFINED IfcMemberTypeEnum = enum_namespace() -brace = express_getattr(IfcMemberTypeEnum, 'BRACE', INDETERMINATE) -chord = express_getattr(IfcMemberTypeEnum, 'CHORD', INDETERMINATE) -collar = express_getattr(IfcMemberTypeEnum, 'COLLAR', INDETERMINATE) -member = express_getattr(IfcMemberTypeEnum, 'MEMBER', INDETERMINATE) -mullion = express_getattr(IfcMemberTypeEnum, 'MULLION', INDETERMINATE) -plate = express_getattr(IfcMemberTypeEnum, 'PLATE', INDETERMINATE) -post = express_getattr(IfcMemberTypeEnum, 'POST', INDETERMINATE) -purlin = express_getattr(IfcMemberTypeEnum, 'PURLIN', INDETERMINATE) -rafter = express_getattr(IfcMemberTypeEnum, 'RAFTER', INDETERMINATE) -stringer = express_getattr(IfcMemberTypeEnum, 'STRINGER', INDETERMINATE) -strut = express_getattr(IfcMemberTypeEnum, 'STRUT', INDETERMINATE) -stud = express_getattr(IfcMemberTypeEnum, 'STUD', INDETERMINATE) -stiffening_rib = express_getattr(IfcMemberTypeEnum, 'STIFFENING_RIB', INDETERMINATE) -arch_segment = express_getattr(IfcMemberTypeEnum, 'ARCH_SEGMENT', INDETERMINATE) -suspension_cable = express_getattr(IfcMemberTypeEnum, 'SUSPENSION_CABLE', INDETERMINATE) -suspender = express_getattr(IfcMemberTypeEnum, 'SUSPENDER', INDETERMINATE) -stay_cable = express_getattr(IfcMemberTypeEnum, 'STAY_CABLE', INDETERMINATE) -userdefined = express_getattr(IfcMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +brace = IfcMemberTypeEnum.BRACE +chord = IfcMemberTypeEnum.CHORD +collar = IfcMemberTypeEnum.COLLAR +member = IfcMemberTypeEnum.MEMBER +mullion = IfcMemberTypeEnum.MULLION +plate = IfcMemberTypeEnum.PLATE +post = IfcMemberTypeEnum.POST +purlin = IfcMemberTypeEnum.PURLIN +rafter = IfcMemberTypeEnum.RAFTER +stringer = IfcMemberTypeEnum.STRINGER +strut = IfcMemberTypeEnum.STRUT +stud = IfcMemberTypeEnum.STUD +stiffening_rib = IfcMemberTypeEnum.STIFFENING_RIB +arch_segment = IfcMemberTypeEnum.ARCH_SEGMENT +suspension_cable = IfcMemberTypeEnum.SUSPENSION_CABLE +suspender = IfcMemberTypeEnum.SUSPENDER +stay_cable = IfcMemberTypeEnum.STAY_CABLE +userdefined = IfcMemberTypeEnum.USERDEFINED +notdefined = IfcMemberTypeEnum.NOTDEFINED IfcMotorConnectionTypeEnum = enum_namespace() -beltdrive = express_getattr(IfcMotorConnectionTypeEnum, 'BELTDRIVE', INDETERMINATE) -coupling = express_getattr(IfcMotorConnectionTypeEnum, 'COUPLING', INDETERMINATE) -directdrive = express_getattr(IfcMotorConnectionTypeEnum, 'DIRECTDRIVE', INDETERMINATE) -userdefined = express_getattr(IfcMotorConnectionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMotorConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +beltdrive = IfcMotorConnectionTypeEnum.BELTDRIVE +coupling = IfcMotorConnectionTypeEnum.COUPLING +directdrive = IfcMotorConnectionTypeEnum.DIRECTDRIVE +userdefined = IfcMotorConnectionTypeEnum.USERDEFINED +notdefined = IfcMotorConnectionTypeEnum.NOTDEFINED IfcNullStyle = enum_namespace() -null = express_getattr(IfcNullStyle, 'NULL', INDETERMINATE) +null = IfcNullStyle.NULL IfcObjectTypeEnum = enum_namespace() -product = express_getattr(IfcObjectTypeEnum, 'PRODUCT', INDETERMINATE) -process = express_getattr(IfcObjectTypeEnum, 'PROCESS', INDETERMINATE) -control = express_getattr(IfcObjectTypeEnum, 'CONTROL', INDETERMINATE) -resource = express_getattr(IfcObjectTypeEnum, 'RESOURCE', INDETERMINATE) -actor = express_getattr(IfcObjectTypeEnum, 'ACTOR', INDETERMINATE) -group = express_getattr(IfcObjectTypeEnum, 'GROUP', INDETERMINATE) -project = express_getattr(IfcObjectTypeEnum, 'PROJECT', INDETERMINATE) -notdefined = express_getattr(IfcObjectTypeEnum, 'NOTDEFINED', INDETERMINATE) +product = IfcObjectTypeEnum.PRODUCT +process = IfcObjectTypeEnum.PROCESS +control = IfcObjectTypeEnum.CONTROL +resource = IfcObjectTypeEnum.RESOURCE +actor = IfcObjectTypeEnum.ACTOR +group = IfcObjectTypeEnum.GROUP +project = IfcObjectTypeEnum.PROJECT +notdefined = IfcObjectTypeEnum.NOTDEFINED IfcObjectiveEnum = enum_namespace() -codecompliance = express_getattr(IfcObjectiveEnum, 'CODECOMPLIANCE', INDETERMINATE) -codewaiver = express_getattr(IfcObjectiveEnum, 'CODEWAIVER', INDETERMINATE) -designintent = express_getattr(IfcObjectiveEnum, 'DESIGNINTENT', INDETERMINATE) -external = express_getattr(IfcObjectiveEnum, 'EXTERNAL', INDETERMINATE) -healthandsafety = express_getattr(IfcObjectiveEnum, 'HEALTHANDSAFETY', INDETERMINATE) -mergeconflict = express_getattr(IfcObjectiveEnum, 'MERGECONFLICT', INDETERMINATE) -modelview = express_getattr(IfcObjectiveEnum, 'MODELVIEW', INDETERMINATE) -parameter = express_getattr(IfcObjectiveEnum, 'PARAMETER', INDETERMINATE) -requirement = express_getattr(IfcObjectiveEnum, 'REQUIREMENT', INDETERMINATE) -specification = express_getattr(IfcObjectiveEnum, 'SPECIFICATION', INDETERMINATE) -triggercondition = express_getattr(IfcObjectiveEnum, 'TRIGGERCONDITION', INDETERMINATE) -userdefined = express_getattr(IfcObjectiveEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcObjectiveEnum, 'NOTDEFINED', INDETERMINATE) +codecompliance = IfcObjectiveEnum.CODECOMPLIANCE +codewaiver = IfcObjectiveEnum.CODEWAIVER +designintent = IfcObjectiveEnum.DESIGNINTENT +external = IfcObjectiveEnum.EXTERNAL +healthandsafety = IfcObjectiveEnum.HEALTHANDSAFETY +mergeconflict = IfcObjectiveEnum.MERGECONFLICT +modelview = IfcObjectiveEnum.MODELVIEW +parameter = IfcObjectiveEnum.PARAMETER +requirement = IfcObjectiveEnum.REQUIREMENT +specification = IfcObjectiveEnum.SPECIFICATION +triggercondition = IfcObjectiveEnum.TRIGGERCONDITION +userdefined = IfcObjectiveEnum.USERDEFINED +notdefined = IfcObjectiveEnum.NOTDEFINED IfcOccupantTypeEnum = enum_namespace() -assignee = express_getattr(IfcOccupantTypeEnum, 'ASSIGNEE', INDETERMINATE) -assignor = express_getattr(IfcOccupantTypeEnum, 'ASSIGNOR', INDETERMINATE) -lessee = express_getattr(IfcOccupantTypeEnum, 'LESSEE', INDETERMINATE) -lessor = express_getattr(IfcOccupantTypeEnum, 'LESSOR', INDETERMINATE) -lettingagent = express_getattr(IfcOccupantTypeEnum, 'LETTINGAGENT', INDETERMINATE) -owner = express_getattr(IfcOccupantTypeEnum, 'OWNER', INDETERMINATE) -tenant = express_getattr(IfcOccupantTypeEnum, 'TENANT', INDETERMINATE) -userdefined = express_getattr(IfcOccupantTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOccupantTypeEnum, 'NOTDEFINED', INDETERMINATE) +assignee = IfcOccupantTypeEnum.ASSIGNEE +assignor = IfcOccupantTypeEnum.ASSIGNOR +lessee = IfcOccupantTypeEnum.LESSEE +lessor = IfcOccupantTypeEnum.LESSOR +lettingagent = IfcOccupantTypeEnum.LETTINGAGENT +owner = IfcOccupantTypeEnum.OWNER +tenant = IfcOccupantTypeEnum.TENANT +userdefined = IfcOccupantTypeEnum.USERDEFINED +notdefined = IfcOccupantTypeEnum.NOTDEFINED IfcOpeningElementTypeEnum = enum_namespace() -opening = express_getattr(IfcOpeningElementTypeEnum, 'OPENING', INDETERMINATE) -recess = express_getattr(IfcOpeningElementTypeEnum, 'RECESS', INDETERMINATE) -userdefined = express_getattr(IfcOpeningElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOpeningElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +opening = IfcOpeningElementTypeEnum.OPENING +recess = IfcOpeningElementTypeEnum.RECESS +userdefined = IfcOpeningElementTypeEnum.USERDEFINED +notdefined = IfcOpeningElementTypeEnum.NOTDEFINED IfcOutletTypeEnum = enum_namespace() -audiovisualoutlet = express_getattr(IfcOutletTypeEnum, 'AUDIOVISUALOUTLET', INDETERMINATE) -communicationsoutlet = express_getattr(IfcOutletTypeEnum, 'COMMUNICATIONSOUTLET', INDETERMINATE) -poweroutlet = express_getattr(IfcOutletTypeEnum, 'POWEROUTLET', INDETERMINATE) -dataoutlet = express_getattr(IfcOutletTypeEnum, 'DATAOUTLET', INDETERMINATE) -telephoneoutlet = express_getattr(IfcOutletTypeEnum, 'TELEPHONEOUTLET', INDETERMINATE) -userdefined = express_getattr(IfcOutletTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOutletTypeEnum, 'NOTDEFINED', INDETERMINATE) +audiovisualoutlet = IfcOutletTypeEnum.AUDIOVISUALOUTLET +communicationsoutlet = IfcOutletTypeEnum.COMMUNICATIONSOUTLET +poweroutlet = IfcOutletTypeEnum.POWEROUTLET +dataoutlet = IfcOutletTypeEnum.DATAOUTLET +telephoneoutlet = IfcOutletTypeEnum.TELEPHONEOUTLET +userdefined = IfcOutletTypeEnum.USERDEFINED +notdefined = IfcOutletTypeEnum.NOTDEFINED IfcPerformanceHistoryTypeEnum = enum_namespace() -userdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcPerformanceHistoryTypeEnum.USERDEFINED +notdefined = IfcPerformanceHistoryTypeEnum.NOTDEFINED IfcPermeableCoveringOperationEnum = enum_namespace() -grill = express_getattr(IfcPermeableCoveringOperationEnum, 'GRILL', INDETERMINATE) -louver = express_getattr(IfcPermeableCoveringOperationEnum, 'LOUVER', INDETERMINATE) -screen = express_getattr(IfcPermeableCoveringOperationEnum, 'SCREEN', INDETERMINATE) -userdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'NOTDEFINED', INDETERMINATE) +grill = IfcPermeableCoveringOperationEnum.GRILL +louver = IfcPermeableCoveringOperationEnum.LOUVER +screen = IfcPermeableCoveringOperationEnum.SCREEN +userdefined = IfcPermeableCoveringOperationEnum.USERDEFINED +notdefined = IfcPermeableCoveringOperationEnum.NOTDEFINED IfcPermitTypeEnum = enum_namespace() -access = express_getattr(IfcPermitTypeEnum, 'ACCESS', INDETERMINATE) -building = express_getattr(IfcPermitTypeEnum, 'BUILDING', INDETERMINATE) -work = express_getattr(IfcPermitTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcPermitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermitTypeEnum, 'NOTDEFINED', INDETERMINATE) +access = IfcPermitTypeEnum.ACCESS +building = IfcPermitTypeEnum.BUILDING +work = IfcPermitTypeEnum.WORK +userdefined = IfcPermitTypeEnum.USERDEFINED +notdefined = IfcPermitTypeEnum.NOTDEFINED IfcPhysicalOrVirtualEnum = enum_namespace() -physical = express_getattr(IfcPhysicalOrVirtualEnum, 'PHYSICAL', INDETERMINATE) -virtual = express_getattr(IfcPhysicalOrVirtualEnum, 'VIRTUAL', INDETERMINATE) -notdefined = express_getattr(IfcPhysicalOrVirtualEnum, 'NOTDEFINED', INDETERMINATE) +physical = IfcPhysicalOrVirtualEnum.PHYSICAL +virtual = IfcPhysicalOrVirtualEnum.VIRTUAL +notdefined = IfcPhysicalOrVirtualEnum.NOTDEFINED IfcPileConstructionEnum = enum_namespace() -cast_in_place = express_getattr(IfcPileConstructionEnum, 'CAST_IN_PLACE', INDETERMINATE) -composite = express_getattr(IfcPileConstructionEnum, 'COMPOSITE', INDETERMINATE) -precast_concrete = express_getattr(IfcPileConstructionEnum, 'PRECAST_CONCRETE', INDETERMINATE) -prefab_steel = express_getattr(IfcPileConstructionEnum, 'PREFAB_STEEL', INDETERMINATE) -userdefined = express_getattr(IfcPileConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileConstructionEnum, 'NOTDEFINED', INDETERMINATE) +cast_in_place = IfcPileConstructionEnum.CAST_IN_PLACE +composite = IfcPileConstructionEnum.COMPOSITE +precast_concrete = IfcPileConstructionEnum.PRECAST_CONCRETE +prefab_steel = IfcPileConstructionEnum.PREFAB_STEEL +userdefined = IfcPileConstructionEnum.USERDEFINED +notdefined = IfcPileConstructionEnum.NOTDEFINED IfcPileTypeEnum = enum_namespace() -bored = express_getattr(IfcPileTypeEnum, 'BORED', INDETERMINATE) -driven = express_getattr(IfcPileTypeEnum, 'DRIVEN', INDETERMINATE) -jetgrouting = express_getattr(IfcPileTypeEnum, 'JETGROUTING', INDETERMINATE) -cohesion = express_getattr(IfcPileTypeEnum, 'COHESION', INDETERMINATE) -friction = express_getattr(IfcPileTypeEnum, 'FRICTION', INDETERMINATE) -support = express_getattr(IfcPileTypeEnum, 'SUPPORT', INDETERMINATE) -userdefined = express_getattr(IfcPileTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileTypeEnum, 'NOTDEFINED', INDETERMINATE) +bored = IfcPileTypeEnum.BORED +driven = IfcPileTypeEnum.DRIVEN +jetgrouting = IfcPileTypeEnum.JETGROUTING +cohesion = IfcPileTypeEnum.COHESION +friction = IfcPileTypeEnum.FRICTION +support = IfcPileTypeEnum.SUPPORT +userdefined = IfcPileTypeEnum.USERDEFINED +notdefined = IfcPileTypeEnum.NOTDEFINED IfcPipeFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcPipeFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcPipeFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcPipeFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcPipeFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcPipeFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcPipeFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcPipeFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcPipeFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcPipeFittingTypeEnum.BEND +connector = IfcPipeFittingTypeEnum.CONNECTOR +entry = IfcPipeFittingTypeEnum.ENTRY +exit = IfcPipeFittingTypeEnum.EXIT +junction = IfcPipeFittingTypeEnum.JUNCTION +obstruction = IfcPipeFittingTypeEnum.OBSTRUCTION +transition = IfcPipeFittingTypeEnum.TRANSITION +userdefined = IfcPipeFittingTypeEnum.USERDEFINED +notdefined = IfcPipeFittingTypeEnum.NOTDEFINED IfcPipeSegmentTypeEnum = enum_namespace() -culvert = express_getattr(IfcPipeSegmentTypeEnum, 'CULVERT', INDETERMINATE) -flexiblesegment = express_getattr(IfcPipeSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -rigidsegment = express_getattr(IfcPipeSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -gutter = express_getattr(IfcPipeSegmentTypeEnum, 'GUTTER', INDETERMINATE) -spool = express_getattr(IfcPipeSegmentTypeEnum, 'SPOOL', INDETERMINATE) -userdefined = express_getattr(IfcPipeSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +culvert = IfcPipeSegmentTypeEnum.CULVERT +flexiblesegment = IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT +rigidsegment = IfcPipeSegmentTypeEnum.RIGIDSEGMENT +gutter = IfcPipeSegmentTypeEnum.GUTTER +spool = IfcPipeSegmentTypeEnum.SPOOL +userdefined = IfcPipeSegmentTypeEnum.USERDEFINED +notdefined = IfcPipeSegmentTypeEnum.NOTDEFINED IfcPlateTypeEnum = enum_namespace() -curtain_panel = express_getattr(IfcPlateTypeEnum, 'CURTAIN_PANEL', INDETERMINATE) -sheet = express_getattr(IfcPlateTypeEnum, 'SHEET', INDETERMINATE) -flange_plate = express_getattr(IfcPlateTypeEnum, 'FLANGE_PLATE', INDETERMINATE) -web_plate = express_getattr(IfcPlateTypeEnum, 'WEB_PLATE', INDETERMINATE) -stiffener_plate = express_getattr(IfcPlateTypeEnum, 'STIFFENER_PLATE', INDETERMINATE) -gusset_plate = express_getattr(IfcPlateTypeEnum, 'GUSSET_PLATE', INDETERMINATE) -cover_plate = express_getattr(IfcPlateTypeEnum, 'COVER_PLATE', INDETERMINATE) -splice_plate = express_getattr(IfcPlateTypeEnum, 'SPLICE_PLATE', INDETERMINATE) -base_plate = express_getattr(IfcPlateTypeEnum, 'BASE_PLATE', INDETERMINATE) -userdefined = express_getattr(IfcPlateTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPlateTypeEnum, 'NOTDEFINED', INDETERMINATE) +curtain_panel = IfcPlateTypeEnum.CURTAIN_PANEL +sheet = IfcPlateTypeEnum.SHEET +flange_plate = IfcPlateTypeEnum.FLANGE_PLATE +web_plate = IfcPlateTypeEnum.WEB_PLATE +stiffener_plate = IfcPlateTypeEnum.STIFFENER_PLATE +gusset_plate = IfcPlateTypeEnum.GUSSET_PLATE +cover_plate = IfcPlateTypeEnum.COVER_PLATE +splice_plate = IfcPlateTypeEnum.SPLICE_PLATE +base_plate = IfcPlateTypeEnum.BASE_PLATE +userdefined = IfcPlateTypeEnum.USERDEFINED +notdefined = IfcPlateTypeEnum.NOTDEFINED IfcPreferredSurfaceCurveRepresentation = enum_namespace() -curve3d = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'CURVE3D', INDETERMINATE) -pcurve_s1 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S1', INDETERMINATE) -pcurve_s2 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S2', INDETERMINATE) +curve3d = IfcPreferredSurfaceCurveRepresentation.CURVE3D +pcurve_s1 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S1 +pcurve_s2 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S2 IfcProcedureTypeEnum = enum_namespace() -advice_caution = express_getattr(IfcProcedureTypeEnum, 'ADVICE_CAUTION', INDETERMINATE) -advice_note = express_getattr(IfcProcedureTypeEnum, 'ADVICE_NOTE', INDETERMINATE) -advice_warning = express_getattr(IfcProcedureTypeEnum, 'ADVICE_WARNING', INDETERMINATE) -calibration = express_getattr(IfcProcedureTypeEnum, 'CALIBRATION', INDETERMINATE) -diagnostic = express_getattr(IfcProcedureTypeEnum, 'DIAGNOSTIC', INDETERMINATE) -shutdown = express_getattr(IfcProcedureTypeEnum, 'SHUTDOWN', INDETERMINATE) -startup = express_getattr(IfcProcedureTypeEnum, 'STARTUP', INDETERMINATE) -userdefined = express_getattr(IfcProcedureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProcedureTypeEnum, 'NOTDEFINED', INDETERMINATE) +advice_caution = IfcProcedureTypeEnum.ADVICE_CAUTION +advice_note = IfcProcedureTypeEnum.ADVICE_NOTE +advice_warning = IfcProcedureTypeEnum.ADVICE_WARNING +calibration = IfcProcedureTypeEnum.CALIBRATION +diagnostic = IfcProcedureTypeEnum.DIAGNOSTIC +shutdown = IfcProcedureTypeEnum.SHUTDOWN +startup = IfcProcedureTypeEnum.STARTUP +userdefined = IfcProcedureTypeEnum.USERDEFINED +notdefined = IfcProcedureTypeEnum.NOTDEFINED IfcProfileTypeEnum = enum_namespace() -curve = express_getattr(IfcProfileTypeEnum, 'CURVE', INDETERMINATE) -area = express_getattr(IfcProfileTypeEnum, 'AREA', INDETERMINATE) +curve = IfcProfileTypeEnum.CURVE +area = IfcProfileTypeEnum.AREA IfcProjectOrderTypeEnum = enum_namespace() -changeorder = express_getattr(IfcProjectOrderTypeEnum, 'CHANGEORDER', INDETERMINATE) -maintenanceworkorder = express_getattr(IfcProjectOrderTypeEnum, 'MAINTENANCEWORKORDER', INDETERMINATE) -moveorder = express_getattr(IfcProjectOrderTypeEnum, 'MOVEORDER', INDETERMINATE) -purchaseorder = express_getattr(IfcProjectOrderTypeEnum, 'PURCHASEORDER', INDETERMINATE) -workorder = express_getattr(IfcProjectOrderTypeEnum, 'WORKORDER', INDETERMINATE) -userdefined = express_getattr(IfcProjectOrderTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectOrderTypeEnum, 'NOTDEFINED', INDETERMINATE) +changeorder = IfcProjectOrderTypeEnum.CHANGEORDER +maintenanceworkorder = IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER +moveorder = IfcProjectOrderTypeEnum.MOVEORDER +purchaseorder = IfcProjectOrderTypeEnum.PURCHASEORDER +workorder = IfcProjectOrderTypeEnum.WORKORDER +userdefined = IfcProjectOrderTypeEnum.USERDEFINED +notdefined = IfcProjectOrderTypeEnum.NOTDEFINED IfcProjectedOrTrueLengthEnum = enum_namespace() -projected_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'PROJECTED_LENGTH', INDETERMINATE) -true_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'TRUE_LENGTH', INDETERMINATE) +projected_length = IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH +true_length = IfcProjectedOrTrueLengthEnum.TRUE_LENGTH IfcProjectionElementTypeEnum = enum_namespace() -blister = express_getattr(IfcProjectionElementTypeEnum, 'BLISTER', INDETERMINATE) -deviator = express_getattr(IfcProjectionElementTypeEnum, 'DEVIATOR', INDETERMINATE) -userdefined = express_getattr(IfcProjectionElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectionElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +blister = IfcProjectionElementTypeEnum.BLISTER +deviator = IfcProjectionElementTypeEnum.DEVIATOR +userdefined = IfcProjectionElementTypeEnum.USERDEFINED +notdefined = IfcProjectionElementTypeEnum.NOTDEFINED IfcPropertySetTemplateTypeEnum = enum_namespace() -pset_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENONLY', INDETERMINATE) -pset_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENOVERRIDE', INDETERMINATE) -pset_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_OCCURRENCEDRIVEN', INDETERMINATE) -pset_performancedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_PERFORMANCEDRIVEN', INDETERMINATE) -qto_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENONLY', INDETERMINATE) -qto_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENOVERRIDE', INDETERMINATE) -qto_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_OCCURRENCEDRIVEN', INDETERMINATE) -notdefined = express_getattr(IfcPropertySetTemplateTypeEnum, 'NOTDEFINED', INDETERMINATE) +pset_typedrivenonly = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENONLY +pset_typedrivenoverride = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENOVERRIDE +pset_occurrencedriven = IfcPropertySetTemplateTypeEnum.PSET_OCCURRENCEDRIVEN +pset_performancedriven = IfcPropertySetTemplateTypeEnum.PSET_PERFORMANCEDRIVEN +qto_typedrivenonly = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENONLY +qto_typedrivenoverride = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENOVERRIDE +qto_occurrencedriven = IfcPropertySetTemplateTypeEnum.QTO_OCCURRENCEDRIVEN +notdefined = IfcPropertySetTemplateTypeEnum.NOTDEFINED IfcProtectiveDeviceTrippingUnitTypeEnum = enum_namespace() -electronic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTRONIC', INDETERMINATE) -electromagnetic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTROMAGNETIC', INDETERMINATE) -residualcurrent = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'RESIDUALCURRENT', INDETERMINATE) -thermal = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'THERMAL', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'NOTDEFINED', INDETERMINATE) +electronic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTRONIC +electromagnetic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTROMAGNETIC +residualcurrent = IfcProtectiveDeviceTrippingUnitTypeEnum.RESIDUALCURRENT +thermal = IfcProtectiveDeviceTrippingUnitTypeEnum.THERMAL +userdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.NOTDEFINED IfcProtectiveDeviceTypeEnum = enum_namespace() -circuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'CIRCUITBREAKER', INDETERMINATE) -earthleakagecircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHLEAKAGECIRCUITBREAKER', INDETERMINATE) -earthingswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHINGSWITCH', INDETERMINATE) -fusedisconnector = express_getattr(IfcProtectiveDeviceTypeEnum, 'FUSEDISCONNECTOR', INDETERMINATE) -residualcurrentcircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTCIRCUITBREAKER', INDETERMINATE) -residualcurrentswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTSWITCH', INDETERMINATE) -varistor = express_getattr(IfcProtectiveDeviceTypeEnum, 'VARISTOR', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +circuitbreaker = IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER +earthleakagecircuitbreaker = IfcProtectiveDeviceTypeEnum.EARTHLEAKAGECIRCUITBREAKER +earthingswitch = IfcProtectiveDeviceTypeEnum.EARTHINGSWITCH +fusedisconnector = IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR +residualcurrentcircuitbreaker = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER +residualcurrentswitch = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH +varistor = IfcProtectiveDeviceTypeEnum.VARISTOR +userdefined = IfcProtectiveDeviceTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTypeEnum.NOTDEFINED IfcPumpTypeEnum = enum_namespace() -circulator = express_getattr(IfcPumpTypeEnum, 'CIRCULATOR', INDETERMINATE) -endsuction = express_getattr(IfcPumpTypeEnum, 'ENDSUCTION', INDETERMINATE) -splitcase = express_getattr(IfcPumpTypeEnum, 'SPLITCASE', INDETERMINATE) -submersiblepump = express_getattr(IfcPumpTypeEnum, 'SUBMERSIBLEPUMP', INDETERMINATE) -sumppump = express_getattr(IfcPumpTypeEnum, 'SUMPPUMP', INDETERMINATE) -verticalinline = express_getattr(IfcPumpTypeEnum, 'VERTICALINLINE', INDETERMINATE) -verticalturbine = express_getattr(IfcPumpTypeEnum, 'VERTICALTURBINE', INDETERMINATE) -userdefined = express_getattr(IfcPumpTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPumpTypeEnum, 'NOTDEFINED', INDETERMINATE) +circulator = IfcPumpTypeEnum.CIRCULATOR +endsuction = IfcPumpTypeEnum.ENDSUCTION +splitcase = IfcPumpTypeEnum.SPLITCASE +submersiblepump = IfcPumpTypeEnum.SUBMERSIBLEPUMP +sumppump = IfcPumpTypeEnum.SUMPPUMP +verticalinline = IfcPumpTypeEnum.VERTICALINLINE +verticalturbine = IfcPumpTypeEnum.VERTICALTURBINE +userdefined = IfcPumpTypeEnum.USERDEFINED +notdefined = IfcPumpTypeEnum.NOTDEFINED IfcRailingTypeEnum = enum_namespace() -handrail = express_getattr(IfcRailingTypeEnum, 'HANDRAIL', INDETERMINATE) -guardrail = express_getattr(IfcRailingTypeEnum, 'GUARDRAIL', INDETERMINATE) -balustrade = express_getattr(IfcRailingTypeEnum, 'BALUSTRADE', INDETERMINATE) -userdefined = express_getattr(IfcRailingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailingTypeEnum, 'NOTDEFINED', INDETERMINATE) +handrail = IfcRailingTypeEnum.HANDRAIL +guardrail = IfcRailingTypeEnum.GUARDRAIL +balustrade = IfcRailingTypeEnum.BALUSTRADE +userdefined = IfcRailingTypeEnum.USERDEFINED +notdefined = IfcRailingTypeEnum.NOTDEFINED IfcRampFlightTypeEnum = enum_namespace() -straight = express_getattr(IfcRampFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -spiral = express_getattr(IfcRampFlightTypeEnum, 'SPIRAL', INDETERMINATE) -userdefined = express_getattr(IfcRampFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight = IfcRampFlightTypeEnum.STRAIGHT +spiral = IfcRampFlightTypeEnum.SPIRAL +userdefined = IfcRampFlightTypeEnum.USERDEFINED +notdefined = IfcRampFlightTypeEnum.NOTDEFINED IfcRampTypeEnum = enum_namespace() -straight_run_ramp = express_getattr(IfcRampTypeEnum, 'STRAIGHT_RUN_RAMP', INDETERMINATE) -two_straight_run_ramp = express_getattr(IfcRampTypeEnum, 'TWO_STRAIGHT_RUN_RAMP', INDETERMINATE) -quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'QUARTER_TURN_RAMP', INDETERMINATE) -two_quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'TWO_QUARTER_TURN_RAMP', INDETERMINATE) -half_turn_ramp = express_getattr(IfcRampTypeEnum, 'HALF_TURN_RAMP', INDETERMINATE) -spiral_ramp = express_getattr(IfcRampTypeEnum, 'SPIRAL_RAMP', INDETERMINATE) -userdefined = express_getattr(IfcRampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight_run_ramp = IfcRampTypeEnum.STRAIGHT_RUN_RAMP +two_straight_run_ramp = IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP +quarter_turn_ramp = IfcRampTypeEnum.QUARTER_TURN_RAMP +two_quarter_turn_ramp = IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP +half_turn_ramp = IfcRampTypeEnum.HALF_TURN_RAMP +spiral_ramp = IfcRampTypeEnum.SPIRAL_RAMP +userdefined = IfcRampTypeEnum.USERDEFINED +notdefined = IfcRampTypeEnum.NOTDEFINED IfcRecurrenceTypeEnum = enum_namespace() -daily = express_getattr(IfcRecurrenceTypeEnum, 'DAILY', INDETERMINATE) -weekly = express_getattr(IfcRecurrenceTypeEnum, 'WEEKLY', INDETERMINATE) -monthly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_DAY_OF_MONTH', INDETERMINATE) -monthly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_POSITION', INDETERMINATE) -by_day_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_DAY_COUNT', INDETERMINATE) -by_weekday_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_WEEKDAY_COUNT', INDETERMINATE) -yearly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_DAY_OF_MONTH', INDETERMINATE) -yearly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_POSITION', INDETERMINATE) +daily = IfcRecurrenceTypeEnum.DAILY +weekly = IfcRecurrenceTypeEnum.WEEKLY +monthly_by_day_of_month = IfcRecurrenceTypeEnum.MONTHLY_BY_DAY_OF_MONTH +monthly_by_position = IfcRecurrenceTypeEnum.MONTHLY_BY_POSITION +by_day_count = IfcRecurrenceTypeEnum.BY_DAY_COUNT +by_weekday_count = IfcRecurrenceTypeEnum.BY_WEEKDAY_COUNT +yearly_by_day_of_month = IfcRecurrenceTypeEnum.YEARLY_BY_DAY_OF_MONTH +yearly_by_position = IfcRecurrenceTypeEnum.YEARLY_BY_POSITION IfcReferentTypeEnum = enum_namespace() -kilopoint = express_getattr(IfcReferentTypeEnum, 'KILOPOINT', INDETERMINATE) -milepoint = express_getattr(IfcReferentTypeEnum, 'MILEPOINT', INDETERMINATE) -station = express_getattr(IfcReferentTypeEnum, 'STATION', INDETERMINATE) -userdefined = express_getattr(IfcReferentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReferentTypeEnum, 'NOTDEFINED', INDETERMINATE) +kilopoint = IfcReferentTypeEnum.KILOPOINT +milepoint = IfcReferentTypeEnum.MILEPOINT +station = IfcReferentTypeEnum.STATION +userdefined = IfcReferentTypeEnum.USERDEFINED +notdefined = IfcReferentTypeEnum.NOTDEFINED IfcReflectanceMethodEnum = enum_namespace() -blinn = express_getattr(IfcReflectanceMethodEnum, 'BLINN', INDETERMINATE) -flat = express_getattr(IfcReflectanceMethodEnum, 'FLAT', INDETERMINATE) -glass = express_getattr(IfcReflectanceMethodEnum, 'GLASS', INDETERMINATE) -matt = express_getattr(IfcReflectanceMethodEnum, 'MATT', INDETERMINATE) -metal = express_getattr(IfcReflectanceMethodEnum, 'METAL', INDETERMINATE) -mirror = express_getattr(IfcReflectanceMethodEnum, 'MIRROR', INDETERMINATE) -phong = express_getattr(IfcReflectanceMethodEnum, 'PHONG', INDETERMINATE) -plastic = express_getattr(IfcReflectanceMethodEnum, 'PLASTIC', INDETERMINATE) -strauss = express_getattr(IfcReflectanceMethodEnum, 'STRAUSS', INDETERMINATE) -notdefined = express_getattr(IfcReflectanceMethodEnum, 'NOTDEFINED', INDETERMINATE) +blinn = IfcReflectanceMethodEnum.BLINN +flat = IfcReflectanceMethodEnum.FLAT +glass = IfcReflectanceMethodEnum.GLASS +matt = IfcReflectanceMethodEnum.MATT +metal = IfcReflectanceMethodEnum.METAL +mirror = IfcReflectanceMethodEnum.MIRROR +phong = IfcReflectanceMethodEnum.PHONG +plastic = IfcReflectanceMethodEnum.PLASTIC +strauss = IfcReflectanceMethodEnum.STRAUSS +notdefined = IfcReflectanceMethodEnum.NOTDEFINED IfcReinforcingBarRoleEnum = enum_namespace() -main = express_getattr(IfcReinforcingBarRoleEnum, 'MAIN', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarRoleEnum, 'SHEAR', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarRoleEnum, 'LIGATURE', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarRoleEnum, 'STUD', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarRoleEnum, 'PUNCHING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarRoleEnum, 'EDGE', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarRoleEnum, 'RING', INDETERMINATE) -anchoring = express_getattr(IfcReinforcingBarRoleEnum, 'ANCHORING', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarRoleEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarRoleEnum, 'NOTDEFINED', INDETERMINATE) +main = IfcReinforcingBarRoleEnum.MAIN +shear = IfcReinforcingBarRoleEnum.SHEAR +ligature = IfcReinforcingBarRoleEnum.LIGATURE +stud = IfcReinforcingBarRoleEnum.STUD +punching = IfcReinforcingBarRoleEnum.PUNCHING +edge = IfcReinforcingBarRoleEnum.EDGE +ring = IfcReinforcingBarRoleEnum.RING +anchoring = IfcReinforcingBarRoleEnum.ANCHORING +userdefined = IfcReinforcingBarRoleEnum.USERDEFINED +notdefined = IfcReinforcingBarRoleEnum.NOTDEFINED IfcReinforcingBarSurfaceEnum = enum_namespace() -plain = express_getattr(IfcReinforcingBarSurfaceEnum, 'PLAIN', INDETERMINATE) -textured = express_getattr(IfcReinforcingBarSurfaceEnum, 'TEXTURED', INDETERMINATE) +plain = IfcReinforcingBarSurfaceEnum.PLAIN +textured = IfcReinforcingBarSurfaceEnum.TEXTURED IfcReinforcingBarTypeEnum = enum_namespace() -anchoring = express_getattr(IfcReinforcingBarTypeEnum, 'ANCHORING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarTypeEnum, 'EDGE', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarTypeEnum, 'LIGATURE', INDETERMINATE) -main = express_getattr(IfcReinforcingBarTypeEnum, 'MAIN', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarTypeEnum, 'PUNCHING', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarTypeEnum, 'RING', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarTypeEnum, 'SHEAR', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarTypeEnum, 'STUD', INDETERMINATE) -spacebar = express_getattr(IfcReinforcingBarTypeEnum, 'SPACEBAR', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchoring = IfcReinforcingBarTypeEnum.ANCHORING +edge = IfcReinforcingBarTypeEnum.EDGE +ligature = IfcReinforcingBarTypeEnum.LIGATURE +main = IfcReinforcingBarTypeEnum.MAIN +punching = IfcReinforcingBarTypeEnum.PUNCHING +ring = IfcReinforcingBarTypeEnum.RING +shear = IfcReinforcingBarTypeEnum.SHEAR +stud = IfcReinforcingBarTypeEnum.STUD +spacebar = IfcReinforcingBarTypeEnum.SPACEBAR +userdefined = IfcReinforcingBarTypeEnum.USERDEFINED +notdefined = IfcReinforcingBarTypeEnum.NOTDEFINED IfcReinforcingMeshTypeEnum = enum_namespace() -userdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcReinforcingMeshTypeEnum.USERDEFINED +notdefined = IfcReinforcingMeshTypeEnum.NOTDEFINED IfcRoleEnum = enum_namespace() -supplier = express_getattr(IfcRoleEnum, 'SUPPLIER', INDETERMINATE) -manufacturer = express_getattr(IfcRoleEnum, 'MANUFACTURER', INDETERMINATE) -contractor = express_getattr(IfcRoleEnum, 'CONTRACTOR', INDETERMINATE) -subcontractor = express_getattr(IfcRoleEnum, 'SUBCONTRACTOR', INDETERMINATE) -architect = express_getattr(IfcRoleEnum, 'ARCHITECT', INDETERMINATE) -structuralengineer = express_getattr(IfcRoleEnum, 'STRUCTURALENGINEER', INDETERMINATE) -costengineer = express_getattr(IfcRoleEnum, 'COSTENGINEER', INDETERMINATE) -client = express_getattr(IfcRoleEnum, 'CLIENT', INDETERMINATE) -buildingowner = express_getattr(IfcRoleEnum, 'BUILDINGOWNER', INDETERMINATE) -buildingoperator = express_getattr(IfcRoleEnum, 'BUILDINGOPERATOR', INDETERMINATE) -mechanicalengineer = express_getattr(IfcRoleEnum, 'MECHANICALENGINEER', INDETERMINATE) -electricalengineer = express_getattr(IfcRoleEnum, 'ELECTRICALENGINEER', INDETERMINATE) -projectmanager = express_getattr(IfcRoleEnum, 'PROJECTMANAGER', INDETERMINATE) -facilitiesmanager = express_getattr(IfcRoleEnum, 'FACILITIESMANAGER', INDETERMINATE) -civilengineer = express_getattr(IfcRoleEnum, 'CIVILENGINEER', INDETERMINATE) -commissioningengineer = express_getattr(IfcRoleEnum, 'COMMISSIONINGENGINEER', INDETERMINATE) -engineer = express_getattr(IfcRoleEnum, 'ENGINEER', INDETERMINATE) -owner = express_getattr(IfcRoleEnum, 'OWNER', INDETERMINATE) -consultant = express_getattr(IfcRoleEnum, 'CONSULTANT', INDETERMINATE) -constructionmanager = express_getattr(IfcRoleEnum, 'CONSTRUCTIONMANAGER', INDETERMINATE) -fieldconstructionmanager = express_getattr(IfcRoleEnum, 'FIELDCONSTRUCTIONMANAGER', INDETERMINATE) -reseller = express_getattr(IfcRoleEnum, 'RESELLER', INDETERMINATE) -userdefined = express_getattr(IfcRoleEnum, 'USERDEFINED', INDETERMINATE) +supplier = IfcRoleEnum.SUPPLIER +manufacturer = IfcRoleEnum.MANUFACTURER +contractor = IfcRoleEnum.CONTRACTOR +subcontractor = IfcRoleEnum.SUBCONTRACTOR +architect = IfcRoleEnum.ARCHITECT +structuralengineer = IfcRoleEnum.STRUCTURALENGINEER +costengineer = IfcRoleEnum.COSTENGINEER +client = IfcRoleEnum.CLIENT +buildingowner = IfcRoleEnum.BUILDINGOWNER +buildingoperator = IfcRoleEnum.BUILDINGOPERATOR +mechanicalengineer = IfcRoleEnum.MECHANICALENGINEER +electricalengineer = IfcRoleEnum.ELECTRICALENGINEER +projectmanager = IfcRoleEnum.PROJECTMANAGER +facilitiesmanager = IfcRoleEnum.FACILITIESMANAGER +civilengineer = IfcRoleEnum.CIVILENGINEER +commissioningengineer = IfcRoleEnum.COMMISSIONINGENGINEER +engineer = IfcRoleEnum.ENGINEER +owner = IfcRoleEnum.OWNER +consultant = IfcRoleEnum.CONSULTANT +constructionmanager = IfcRoleEnum.CONSTRUCTIONMANAGER +fieldconstructionmanager = IfcRoleEnum.FIELDCONSTRUCTIONMANAGER +reseller = IfcRoleEnum.RESELLER +userdefined = IfcRoleEnum.USERDEFINED IfcRoofTypeEnum = enum_namespace() -flat_roof = express_getattr(IfcRoofTypeEnum, 'FLAT_ROOF', INDETERMINATE) -shed_roof = express_getattr(IfcRoofTypeEnum, 'SHED_ROOF', INDETERMINATE) -gable_roof = express_getattr(IfcRoofTypeEnum, 'GABLE_ROOF', INDETERMINATE) -hip_roof = express_getattr(IfcRoofTypeEnum, 'HIP_ROOF', INDETERMINATE) -hipped_gable_roof = express_getattr(IfcRoofTypeEnum, 'HIPPED_GABLE_ROOF', INDETERMINATE) -gambrel_roof = express_getattr(IfcRoofTypeEnum, 'GAMBREL_ROOF', INDETERMINATE) -mansard_roof = express_getattr(IfcRoofTypeEnum, 'MANSARD_ROOF', INDETERMINATE) -barrel_roof = express_getattr(IfcRoofTypeEnum, 'BARREL_ROOF', INDETERMINATE) -rainbow_roof = express_getattr(IfcRoofTypeEnum, 'RAINBOW_ROOF', INDETERMINATE) -butterfly_roof = express_getattr(IfcRoofTypeEnum, 'BUTTERFLY_ROOF', INDETERMINATE) -pavilion_roof = express_getattr(IfcRoofTypeEnum, 'PAVILION_ROOF', INDETERMINATE) -dome_roof = express_getattr(IfcRoofTypeEnum, 'DOME_ROOF', INDETERMINATE) -freeform = express_getattr(IfcRoofTypeEnum, 'FREEFORM', INDETERMINATE) -userdefined = express_getattr(IfcRoofTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoofTypeEnum, 'NOTDEFINED', INDETERMINATE) +flat_roof = IfcRoofTypeEnum.FLAT_ROOF +shed_roof = IfcRoofTypeEnum.SHED_ROOF +gable_roof = IfcRoofTypeEnum.GABLE_ROOF +hip_roof = IfcRoofTypeEnum.HIP_ROOF +hipped_gable_roof = IfcRoofTypeEnum.HIPPED_GABLE_ROOF +gambrel_roof = IfcRoofTypeEnum.GAMBREL_ROOF +mansard_roof = IfcRoofTypeEnum.MANSARD_ROOF +barrel_roof = IfcRoofTypeEnum.BARREL_ROOF +rainbow_roof = IfcRoofTypeEnum.RAINBOW_ROOF +butterfly_roof = IfcRoofTypeEnum.BUTTERFLY_ROOF +pavilion_roof = IfcRoofTypeEnum.PAVILION_ROOF +dome_roof = IfcRoofTypeEnum.DOME_ROOF +freeform = IfcRoofTypeEnum.FREEFORM +userdefined = IfcRoofTypeEnum.USERDEFINED +notdefined = IfcRoofTypeEnum.NOTDEFINED IfcSIPrefix = enum_namespace() -exa = express_getattr(IfcSIPrefix, 'EXA', INDETERMINATE) -peta = express_getattr(IfcSIPrefix, 'PETA', INDETERMINATE) -tera = express_getattr(IfcSIPrefix, 'TERA', INDETERMINATE) -giga = express_getattr(IfcSIPrefix, 'GIGA', INDETERMINATE) -mega = express_getattr(IfcSIPrefix, 'MEGA', INDETERMINATE) -kilo = express_getattr(IfcSIPrefix, 'KILO', INDETERMINATE) -hecto = express_getattr(IfcSIPrefix, 'HECTO', INDETERMINATE) -deca = express_getattr(IfcSIPrefix, 'DECA', INDETERMINATE) -deci = express_getattr(IfcSIPrefix, 'DECI', INDETERMINATE) -centi = express_getattr(IfcSIPrefix, 'CENTI', INDETERMINATE) -milli = express_getattr(IfcSIPrefix, 'MILLI', INDETERMINATE) -micro = express_getattr(IfcSIPrefix, 'MICRO', INDETERMINATE) -nano = express_getattr(IfcSIPrefix, 'NANO', INDETERMINATE) -pico = express_getattr(IfcSIPrefix, 'PICO', INDETERMINATE) -femto = express_getattr(IfcSIPrefix, 'FEMTO', INDETERMINATE) -atto = express_getattr(IfcSIPrefix, 'ATTO', INDETERMINATE) +exa = IfcSIPrefix.EXA +peta = IfcSIPrefix.PETA +tera = IfcSIPrefix.TERA +giga = IfcSIPrefix.GIGA +mega = IfcSIPrefix.MEGA +kilo = IfcSIPrefix.KILO +hecto = IfcSIPrefix.HECTO +deca = IfcSIPrefix.DECA +deci = IfcSIPrefix.DECI +centi = IfcSIPrefix.CENTI +milli = IfcSIPrefix.MILLI +micro = IfcSIPrefix.MICRO +nano = IfcSIPrefix.NANO +pico = IfcSIPrefix.PICO +femto = IfcSIPrefix.FEMTO +atto = IfcSIPrefix.ATTO IfcSIUnitName = enum_namespace() -ampere = express_getattr(IfcSIUnitName, 'AMPERE', INDETERMINATE) -becquerel = express_getattr(IfcSIUnitName, 'BECQUEREL', INDETERMINATE) -candela = express_getattr(IfcSIUnitName, 'CANDELA', INDETERMINATE) -coulomb = express_getattr(IfcSIUnitName, 'COULOMB', INDETERMINATE) -cubic_metre = express_getattr(IfcSIUnitName, 'CUBIC_METRE', INDETERMINATE) -degree_celsius = express_getattr(IfcSIUnitName, 'DEGREE_CELSIUS', INDETERMINATE) -farad = express_getattr(IfcSIUnitName, 'FARAD', INDETERMINATE) -gram = express_getattr(IfcSIUnitName, 'GRAM', INDETERMINATE) -gray = express_getattr(IfcSIUnitName, 'GRAY', INDETERMINATE) -henry = express_getattr(IfcSIUnitName, 'HENRY', INDETERMINATE) -hertz = express_getattr(IfcSIUnitName, 'HERTZ', INDETERMINATE) -joule = express_getattr(IfcSIUnitName, 'JOULE', INDETERMINATE) -kelvin = express_getattr(IfcSIUnitName, 'KELVIN', INDETERMINATE) -lumen = express_getattr(IfcSIUnitName, 'LUMEN', INDETERMINATE) -lux = express_getattr(IfcSIUnitName, 'LUX', INDETERMINATE) -metre = express_getattr(IfcSIUnitName, 'METRE', INDETERMINATE) -mole = express_getattr(IfcSIUnitName, 'MOLE', INDETERMINATE) -newton = express_getattr(IfcSIUnitName, 'NEWTON', INDETERMINATE) -ohm = express_getattr(IfcSIUnitName, 'OHM', INDETERMINATE) -pascal = express_getattr(IfcSIUnitName, 'PASCAL', INDETERMINATE) -radian = express_getattr(IfcSIUnitName, 'RADIAN', INDETERMINATE) -second = express_getattr(IfcSIUnitName, 'SECOND', INDETERMINATE) -siemens = express_getattr(IfcSIUnitName, 'SIEMENS', INDETERMINATE) -sievert = express_getattr(IfcSIUnitName, 'SIEVERT', INDETERMINATE) -square_metre = express_getattr(IfcSIUnitName, 'SQUARE_METRE', INDETERMINATE) -steradian = express_getattr(IfcSIUnitName, 'STERADIAN', INDETERMINATE) -tesla = express_getattr(IfcSIUnitName, 'TESLA', INDETERMINATE) -volt = express_getattr(IfcSIUnitName, 'VOLT', INDETERMINATE) -watt = express_getattr(IfcSIUnitName, 'WATT', INDETERMINATE) -weber = express_getattr(IfcSIUnitName, 'WEBER', INDETERMINATE) +ampere = IfcSIUnitName.AMPERE +becquerel = IfcSIUnitName.BECQUEREL +candela = IfcSIUnitName.CANDELA +coulomb = IfcSIUnitName.COULOMB +cubic_metre = IfcSIUnitName.CUBIC_METRE +degree_celsius = IfcSIUnitName.DEGREE_CELSIUS +farad = IfcSIUnitName.FARAD +gram = IfcSIUnitName.GRAM +gray = IfcSIUnitName.GRAY +henry = IfcSIUnitName.HENRY +hertz = IfcSIUnitName.HERTZ +joule = IfcSIUnitName.JOULE +kelvin = IfcSIUnitName.KELVIN +lumen = IfcSIUnitName.LUMEN +lux = IfcSIUnitName.LUX +metre = IfcSIUnitName.METRE +mole = IfcSIUnitName.MOLE +newton = IfcSIUnitName.NEWTON +ohm = IfcSIUnitName.OHM +pascal = IfcSIUnitName.PASCAL +radian = IfcSIUnitName.RADIAN +second = IfcSIUnitName.SECOND +siemens = IfcSIUnitName.SIEMENS +sievert = IfcSIUnitName.SIEVERT +square_metre = IfcSIUnitName.SQUARE_METRE +steradian = IfcSIUnitName.STERADIAN +tesla = IfcSIUnitName.TESLA +volt = IfcSIUnitName.VOLT +watt = IfcSIUnitName.WATT +weber = IfcSIUnitName.WEBER IfcSanitaryTerminalTypeEnum = enum_namespace() -bath = express_getattr(IfcSanitaryTerminalTypeEnum, 'BATH', INDETERMINATE) -bidet = express_getattr(IfcSanitaryTerminalTypeEnum, 'BIDET', INDETERMINATE) -cistern = express_getattr(IfcSanitaryTerminalTypeEnum, 'CISTERN', INDETERMINATE) -shower = express_getattr(IfcSanitaryTerminalTypeEnum, 'SHOWER', INDETERMINATE) -sink = express_getattr(IfcSanitaryTerminalTypeEnum, 'SINK', INDETERMINATE) -sanitaryfountain = express_getattr(IfcSanitaryTerminalTypeEnum, 'SANITARYFOUNTAIN', INDETERMINATE) -toiletpan = express_getattr(IfcSanitaryTerminalTypeEnum, 'TOILETPAN', INDETERMINATE) -urinal = express_getattr(IfcSanitaryTerminalTypeEnum, 'URINAL', INDETERMINATE) -washhandbasin = express_getattr(IfcSanitaryTerminalTypeEnum, 'WASHHANDBASIN', INDETERMINATE) -wcseat = express_getattr(IfcSanitaryTerminalTypeEnum, 'WCSEAT', INDETERMINATE) -userdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +bath = IfcSanitaryTerminalTypeEnum.BATH +bidet = IfcSanitaryTerminalTypeEnum.BIDET +cistern = IfcSanitaryTerminalTypeEnum.CISTERN +shower = IfcSanitaryTerminalTypeEnum.SHOWER +sink = IfcSanitaryTerminalTypeEnum.SINK +sanitaryfountain = IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN +toiletpan = IfcSanitaryTerminalTypeEnum.TOILETPAN +urinal = IfcSanitaryTerminalTypeEnum.URINAL +washhandbasin = IfcSanitaryTerminalTypeEnum.WASHHANDBASIN +wcseat = IfcSanitaryTerminalTypeEnum.WCSEAT +userdefined = IfcSanitaryTerminalTypeEnum.USERDEFINED +notdefined = IfcSanitaryTerminalTypeEnum.NOTDEFINED IfcSectionTypeEnum = enum_namespace() -uniform = express_getattr(IfcSectionTypeEnum, 'UNIFORM', INDETERMINATE) -tapered = express_getattr(IfcSectionTypeEnum, 'TAPERED', INDETERMINATE) +uniform = IfcSectionTypeEnum.UNIFORM +tapered = IfcSectionTypeEnum.TAPERED IfcSensorTypeEnum = enum_namespace() -cosensor = express_getattr(IfcSensorTypeEnum, 'COSENSOR', INDETERMINATE) -co2sensor = express_getattr(IfcSensorTypeEnum, 'CO2SENSOR', INDETERMINATE) -conductancesensor = express_getattr(IfcSensorTypeEnum, 'CONDUCTANCESENSOR', INDETERMINATE) -contactsensor = express_getattr(IfcSensorTypeEnum, 'CONTACTSENSOR', INDETERMINATE) -firesensor = express_getattr(IfcSensorTypeEnum, 'FIRESENSOR', INDETERMINATE) -flowsensor = express_getattr(IfcSensorTypeEnum, 'FLOWSENSOR', INDETERMINATE) -frostsensor = express_getattr(IfcSensorTypeEnum, 'FROSTSENSOR', INDETERMINATE) -gassensor = express_getattr(IfcSensorTypeEnum, 'GASSENSOR', INDETERMINATE) -heatsensor = express_getattr(IfcSensorTypeEnum, 'HEATSENSOR', INDETERMINATE) -humiditysensor = express_getattr(IfcSensorTypeEnum, 'HUMIDITYSENSOR', INDETERMINATE) -identifiersensor = express_getattr(IfcSensorTypeEnum, 'IDENTIFIERSENSOR', INDETERMINATE) -ionconcentrationsensor = express_getattr(IfcSensorTypeEnum, 'IONCONCENTRATIONSENSOR', INDETERMINATE) -levelsensor = express_getattr(IfcSensorTypeEnum, 'LEVELSENSOR', INDETERMINATE) -lightsensor = express_getattr(IfcSensorTypeEnum, 'LIGHTSENSOR', INDETERMINATE) -moisturesensor = express_getattr(IfcSensorTypeEnum, 'MOISTURESENSOR', INDETERMINATE) -movementsensor = express_getattr(IfcSensorTypeEnum, 'MOVEMENTSENSOR', INDETERMINATE) -phsensor = express_getattr(IfcSensorTypeEnum, 'PHSENSOR', INDETERMINATE) -pressuresensor = express_getattr(IfcSensorTypeEnum, 'PRESSURESENSOR', INDETERMINATE) -radiationsensor = express_getattr(IfcSensorTypeEnum, 'RADIATIONSENSOR', INDETERMINATE) -radioactivitysensor = express_getattr(IfcSensorTypeEnum, 'RADIOACTIVITYSENSOR', INDETERMINATE) -smokesensor = express_getattr(IfcSensorTypeEnum, 'SMOKESENSOR', INDETERMINATE) -soundsensor = express_getattr(IfcSensorTypeEnum, 'SOUNDSENSOR', INDETERMINATE) -temperaturesensor = express_getattr(IfcSensorTypeEnum, 'TEMPERATURESENSOR', INDETERMINATE) -windsensor = express_getattr(IfcSensorTypeEnum, 'WINDSENSOR', INDETERMINATE) -userdefined = express_getattr(IfcSensorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSensorTypeEnum, 'NOTDEFINED', INDETERMINATE) +cosensor = IfcSensorTypeEnum.COSENSOR +co2sensor = IfcSensorTypeEnum.CO2SENSOR +conductancesensor = IfcSensorTypeEnum.CONDUCTANCESENSOR +contactsensor = IfcSensorTypeEnum.CONTACTSENSOR +firesensor = IfcSensorTypeEnum.FIRESENSOR +flowsensor = IfcSensorTypeEnum.FLOWSENSOR +frostsensor = IfcSensorTypeEnum.FROSTSENSOR +gassensor = IfcSensorTypeEnum.GASSENSOR +heatsensor = IfcSensorTypeEnum.HEATSENSOR +humiditysensor = IfcSensorTypeEnum.HUMIDITYSENSOR +identifiersensor = IfcSensorTypeEnum.IDENTIFIERSENSOR +ionconcentrationsensor = IfcSensorTypeEnum.IONCONCENTRATIONSENSOR +levelsensor = IfcSensorTypeEnum.LEVELSENSOR +lightsensor = IfcSensorTypeEnum.LIGHTSENSOR +moisturesensor = IfcSensorTypeEnum.MOISTURESENSOR +movementsensor = IfcSensorTypeEnum.MOVEMENTSENSOR +phsensor = IfcSensorTypeEnum.PHSENSOR +pressuresensor = IfcSensorTypeEnum.PRESSURESENSOR +radiationsensor = IfcSensorTypeEnum.RADIATIONSENSOR +radioactivitysensor = IfcSensorTypeEnum.RADIOACTIVITYSENSOR +smokesensor = IfcSensorTypeEnum.SMOKESENSOR +soundsensor = IfcSensorTypeEnum.SOUNDSENSOR +temperaturesensor = IfcSensorTypeEnum.TEMPERATURESENSOR +windsensor = IfcSensorTypeEnum.WINDSENSOR +userdefined = IfcSensorTypeEnum.USERDEFINED +notdefined = IfcSensorTypeEnum.NOTDEFINED IfcSequenceEnum = enum_namespace() -start_start = express_getattr(IfcSequenceEnum, 'START_START', INDETERMINATE) -start_finish = express_getattr(IfcSequenceEnum, 'START_FINISH', INDETERMINATE) -finish_start = express_getattr(IfcSequenceEnum, 'FINISH_START', INDETERMINATE) -finish_finish = express_getattr(IfcSequenceEnum, 'FINISH_FINISH', INDETERMINATE) -userdefined = express_getattr(IfcSequenceEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSequenceEnum, 'NOTDEFINED', INDETERMINATE) +start_start = IfcSequenceEnum.START_START +start_finish = IfcSequenceEnum.START_FINISH +finish_start = IfcSequenceEnum.FINISH_START +finish_finish = IfcSequenceEnum.FINISH_FINISH +userdefined = IfcSequenceEnum.USERDEFINED +notdefined = IfcSequenceEnum.NOTDEFINED IfcShadingDeviceTypeEnum = enum_namespace() -jalousie = express_getattr(IfcShadingDeviceTypeEnum, 'JALOUSIE', INDETERMINATE) -shutter = express_getattr(IfcShadingDeviceTypeEnum, 'SHUTTER', INDETERMINATE) -awning = express_getattr(IfcShadingDeviceTypeEnum, 'AWNING', INDETERMINATE) -userdefined = express_getattr(IfcShadingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcShadingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +jalousie = IfcShadingDeviceTypeEnum.JALOUSIE +shutter = IfcShadingDeviceTypeEnum.SHUTTER +awning = IfcShadingDeviceTypeEnum.AWNING +userdefined = IfcShadingDeviceTypeEnum.USERDEFINED +notdefined = IfcShadingDeviceTypeEnum.NOTDEFINED IfcSimplePropertyTemplateTypeEnum = enum_namespace() -p_singlevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_SINGLEVALUE', INDETERMINATE) -p_enumeratedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_ENUMERATEDVALUE', INDETERMINATE) -p_boundedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_BOUNDEDVALUE', INDETERMINATE) -p_listvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_LISTVALUE', INDETERMINATE) -p_tablevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_TABLEVALUE', INDETERMINATE) -p_referencevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_REFERENCEVALUE', INDETERMINATE) -q_length = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_LENGTH', INDETERMINATE) -q_area = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_AREA', INDETERMINATE) -q_volume = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_VOLUME', INDETERMINATE) -q_count = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_COUNT', INDETERMINATE) -q_weight = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_WEIGHT', INDETERMINATE) -q_time = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_TIME', INDETERMINATE) +p_singlevalue = IfcSimplePropertyTemplateTypeEnum.P_SINGLEVALUE +p_enumeratedvalue = IfcSimplePropertyTemplateTypeEnum.P_ENUMERATEDVALUE +p_boundedvalue = IfcSimplePropertyTemplateTypeEnum.P_BOUNDEDVALUE +p_listvalue = IfcSimplePropertyTemplateTypeEnum.P_LISTVALUE +p_tablevalue = IfcSimplePropertyTemplateTypeEnum.P_TABLEVALUE +p_referencevalue = IfcSimplePropertyTemplateTypeEnum.P_REFERENCEVALUE +q_length = IfcSimplePropertyTemplateTypeEnum.Q_LENGTH +q_area = IfcSimplePropertyTemplateTypeEnum.Q_AREA +q_volume = IfcSimplePropertyTemplateTypeEnum.Q_VOLUME +q_count = IfcSimplePropertyTemplateTypeEnum.Q_COUNT +q_weight = IfcSimplePropertyTemplateTypeEnum.Q_WEIGHT +q_time = IfcSimplePropertyTemplateTypeEnum.Q_TIME IfcSlabTypeEnum = enum_namespace() -floor = express_getattr(IfcSlabTypeEnum, 'FLOOR', INDETERMINATE) -roof = express_getattr(IfcSlabTypeEnum, 'ROOF', INDETERMINATE) -landing = express_getattr(IfcSlabTypeEnum, 'LANDING', INDETERMINATE) -baseslab = express_getattr(IfcSlabTypeEnum, 'BASESLAB', INDETERMINATE) -approach_slab = express_getattr(IfcSlabTypeEnum, 'APPROACH_SLAB', INDETERMINATE) -paving = express_getattr(IfcSlabTypeEnum, 'PAVING', INDETERMINATE) -wearing = express_getattr(IfcSlabTypeEnum, 'WEARING', INDETERMINATE) -sidewalk = express_getattr(IfcSlabTypeEnum, 'SIDEWALK', INDETERMINATE) -userdefined = express_getattr(IfcSlabTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSlabTypeEnum, 'NOTDEFINED', INDETERMINATE) +floor = IfcSlabTypeEnum.FLOOR +roof = IfcSlabTypeEnum.ROOF +landing = IfcSlabTypeEnum.LANDING +baseslab = IfcSlabTypeEnum.BASESLAB +approach_slab = IfcSlabTypeEnum.APPROACH_SLAB +paving = IfcSlabTypeEnum.PAVING +wearing = IfcSlabTypeEnum.WEARING +sidewalk = IfcSlabTypeEnum.SIDEWALK +userdefined = IfcSlabTypeEnum.USERDEFINED +notdefined = IfcSlabTypeEnum.NOTDEFINED IfcSolarDeviceTypeEnum = enum_namespace() -solarcollector = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARCOLLECTOR', INDETERMINATE) -solarpanel = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARPANEL', INDETERMINATE) -userdefined = express_getattr(IfcSolarDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSolarDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +solarcollector = IfcSolarDeviceTypeEnum.SOLARCOLLECTOR +solarpanel = IfcSolarDeviceTypeEnum.SOLARPANEL +userdefined = IfcSolarDeviceTypeEnum.USERDEFINED +notdefined = IfcSolarDeviceTypeEnum.NOTDEFINED IfcSpaceHeaterTypeEnum = enum_namespace() -convector = express_getattr(IfcSpaceHeaterTypeEnum, 'CONVECTOR', INDETERMINATE) -radiator = express_getattr(IfcSpaceHeaterTypeEnum, 'RADIATOR', INDETERMINATE) -userdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'NOTDEFINED', INDETERMINATE) +convector = IfcSpaceHeaterTypeEnum.CONVECTOR +radiator = IfcSpaceHeaterTypeEnum.RADIATOR +userdefined = IfcSpaceHeaterTypeEnum.USERDEFINED +notdefined = IfcSpaceHeaterTypeEnum.NOTDEFINED IfcSpaceTypeEnum = enum_namespace() -space = express_getattr(IfcSpaceTypeEnum, 'SPACE', INDETERMINATE) -parking = express_getattr(IfcSpaceTypeEnum, 'PARKING', INDETERMINATE) -gfa = express_getattr(IfcSpaceTypeEnum, 'GFA', INDETERMINATE) -internal = express_getattr(IfcSpaceTypeEnum, 'INTERNAL', INDETERMINATE) -external = express_getattr(IfcSpaceTypeEnum, 'EXTERNAL', INDETERMINATE) -userdefined = express_getattr(IfcSpaceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceTypeEnum, 'NOTDEFINED', INDETERMINATE) +space = IfcSpaceTypeEnum.SPACE +parking = IfcSpaceTypeEnum.PARKING +gfa = IfcSpaceTypeEnum.GFA +internal = IfcSpaceTypeEnum.INTERNAL +external = IfcSpaceTypeEnum.EXTERNAL +userdefined = IfcSpaceTypeEnum.USERDEFINED +notdefined = IfcSpaceTypeEnum.NOTDEFINED IfcSpatialZoneTypeEnum = enum_namespace() -construction = express_getattr(IfcSpatialZoneTypeEnum, 'CONSTRUCTION', INDETERMINATE) -firesafety = express_getattr(IfcSpatialZoneTypeEnum, 'FIRESAFETY', INDETERMINATE) -lighting = express_getattr(IfcSpatialZoneTypeEnum, 'LIGHTING', INDETERMINATE) -occupancy = express_getattr(IfcSpatialZoneTypeEnum, 'OCCUPANCY', INDETERMINATE) -security = express_getattr(IfcSpatialZoneTypeEnum, 'SECURITY', INDETERMINATE) -thermal = express_getattr(IfcSpatialZoneTypeEnum, 'THERMAL', INDETERMINATE) -transport = express_getattr(IfcSpatialZoneTypeEnum, 'TRANSPORT', INDETERMINATE) -ventilation = express_getattr(IfcSpatialZoneTypeEnum, 'VENTILATION', INDETERMINATE) -userdefined = express_getattr(IfcSpatialZoneTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpatialZoneTypeEnum, 'NOTDEFINED', INDETERMINATE) +construction = IfcSpatialZoneTypeEnum.CONSTRUCTION +firesafety = IfcSpatialZoneTypeEnum.FIRESAFETY +lighting = IfcSpatialZoneTypeEnum.LIGHTING +occupancy = IfcSpatialZoneTypeEnum.OCCUPANCY +security = IfcSpatialZoneTypeEnum.SECURITY +thermal = IfcSpatialZoneTypeEnum.THERMAL +transport = IfcSpatialZoneTypeEnum.TRANSPORT +ventilation = IfcSpatialZoneTypeEnum.VENTILATION +userdefined = IfcSpatialZoneTypeEnum.USERDEFINED +notdefined = IfcSpatialZoneTypeEnum.NOTDEFINED IfcStackTerminalTypeEnum = enum_namespace() -birdcage = express_getattr(IfcStackTerminalTypeEnum, 'BIRDCAGE', INDETERMINATE) -cowl = express_getattr(IfcStackTerminalTypeEnum, 'COWL', INDETERMINATE) -rainwaterhopper = express_getattr(IfcStackTerminalTypeEnum, 'RAINWATERHOPPER', INDETERMINATE) -userdefined = express_getattr(IfcStackTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStackTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +birdcage = IfcStackTerminalTypeEnum.BIRDCAGE +cowl = IfcStackTerminalTypeEnum.COWL +rainwaterhopper = IfcStackTerminalTypeEnum.RAINWATERHOPPER +userdefined = IfcStackTerminalTypeEnum.USERDEFINED +notdefined = IfcStackTerminalTypeEnum.NOTDEFINED IfcStairFlightTypeEnum = enum_namespace() -straight = express_getattr(IfcStairFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -winder = express_getattr(IfcStairFlightTypeEnum, 'WINDER', INDETERMINATE) -spiral = express_getattr(IfcStairFlightTypeEnum, 'SPIRAL', INDETERMINATE) -curved = express_getattr(IfcStairFlightTypeEnum, 'CURVED', INDETERMINATE) -freeform = express_getattr(IfcStairFlightTypeEnum, 'FREEFORM', INDETERMINATE) -userdefined = express_getattr(IfcStairFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight = IfcStairFlightTypeEnum.STRAIGHT +winder = IfcStairFlightTypeEnum.WINDER +spiral = IfcStairFlightTypeEnum.SPIRAL +curved = IfcStairFlightTypeEnum.CURVED +freeform = IfcStairFlightTypeEnum.FREEFORM +userdefined = IfcStairFlightTypeEnum.USERDEFINED +notdefined = IfcStairFlightTypeEnum.NOTDEFINED IfcStairTypeEnum = enum_namespace() -straight_run_stair = express_getattr(IfcStairTypeEnum, 'STRAIGHT_RUN_STAIR', INDETERMINATE) -two_straight_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_STRAIGHT_RUN_STAIR', INDETERMINATE) -quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_WINDING_STAIR', INDETERMINATE) -quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_TURN_STAIR', INDETERMINATE) -half_winding_stair = express_getattr(IfcStairTypeEnum, 'HALF_WINDING_STAIR', INDETERMINATE) -half_turn_stair = express_getattr(IfcStairTypeEnum, 'HALF_TURN_STAIR', INDETERMINATE) -two_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_WINDING_STAIR', INDETERMINATE) -two_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_TURN_STAIR', INDETERMINATE) -three_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_WINDING_STAIR', INDETERMINATE) -three_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_TURN_STAIR', INDETERMINATE) -spiral_stair = express_getattr(IfcStairTypeEnum, 'SPIRAL_STAIR', INDETERMINATE) -double_return_stair = express_getattr(IfcStairTypeEnum, 'DOUBLE_RETURN_STAIR', INDETERMINATE) -curved_run_stair = express_getattr(IfcStairTypeEnum, 'CURVED_RUN_STAIR', INDETERMINATE) -two_curved_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_CURVED_RUN_STAIR', INDETERMINATE) -userdefined = express_getattr(IfcStairTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight_run_stair = IfcStairTypeEnum.STRAIGHT_RUN_STAIR +two_straight_run_stair = IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR +quarter_winding_stair = IfcStairTypeEnum.QUARTER_WINDING_STAIR +quarter_turn_stair = IfcStairTypeEnum.QUARTER_TURN_STAIR +half_winding_stair = IfcStairTypeEnum.HALF_WINDING_STAIR +half_turn_stair = IfcStairTypeEnum.HALF_TURN_STAIR +two_quarter_winding_stair = IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR +two_quarter_turn_stair = IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR +three_quarter_winding_stair = IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR +three_quarter_turn_stair = IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR +spiral_stair = IfcStairTypeEnum.SPIRAL_STAIR +double_return_stair = IfcStairTypeEnum.DOUBLE_RETURN_STAIR +curved_run_stair = IfcStairTypeEnum.CURVED_RUN_STAIR +two_curved_run_stair = IfcStairTypeEnum.TWO_CURVED_RUN_STAIR +userdefined = IfcStairTypeEnum.USERDEFINED +notdefined = IfcStairTypeEnum.NOTDEFINED IfcStateEnum = enum_namespace() -readwrite = express_getattr(IfcStateEnum, 'READWRITE', INDETERMINATE) -readonly = express_getattr(IfcStateEnum, 'READONLY', INDETERMINATE) -locked = express_getattr(IfcStateEnum, 'LOCKED', INDETERMINATE) -readwritelocked = express_getattr(IfcStateEnum, 'READWRITELOCKED', INDETERMINATE) -readonlylocked = express_getattr(IfcStateEnum, 'READONLYLOCKED', INDETERMINATE) +readwrite = IfcStateEnum.READWRITE +readonly = IfcStateEnum.READONLY +locked = IfcStateEnum.LOCKED +readwritelocked = IfcStateEnum.READWRITELOCKED +readonlylocked = IfcStateEnum.READONLYLOCKED IfcStructuralCurveActivityTypeEnum = enum_namespace() -const = express_getattr(IfcStructuralCurveActivityTypeEnum, 'CONST', INDETERMINATE) -linear = express_getattr(IfcStructuralCurveActivityTypeEnum, 'LINEAR', INDETERMINATE) -polygonal = express_getattr(IfcStructuralCurveActivityTypeEnum, 'POLYGONAL', INDETERMINATE) -equidistant = express_getattr(IfcStructuralCurveActivityTypeEnum, 'EQUIDISTANT', INDETERMINATE) -sinus = express_getattr(IfcStructuralCurveActivityTypeEnum, 'SINUS', INDETERMINATE) -parabola = express_getattr(IfcStructuralCurveActivityTypeEnum, 'PARABOLA', INDETERMINATE) -discrete = express_getattr(IfcStructuralCurveActivityTypeEnum, 'DISCRETE', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +const = IfcStructuralCurveActivityTypeEnum.CONST +linear = IfcStructuralCurveActivityTypeEnum.LINEAR +polygonal = IfcStructuralCurveActivityTypeEnum.POLYGONAL +equidistant = IfcStructuralCurveActivityTypeEnum.EQUIDISTANT +sinus = IfcStructuralCurveActivityTypeEnum.SINUS +parabola = IfcStructuralCurveActivityTypeEnum.PARABOLA +discrete = IfcStructuralCurveActivityTypeEnum.DISCRETE +userdefined = IfcStructuralCurveActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveActivityTypeEnum.NOTDEFINED IfcStructuralCurveMemberTypeEnum = enum_namespace() -rigid_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'RIGID_JOINED_MEMBER', INDETERMINATE) -pin_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'PIN_JOINED_MEMBER', INDETERMINATE) -cable = express_getattr(IfcStructuralCurveMemberTypeEnum, 'CABLE', INDETERMINATE) -tension_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'TENSION_MEMBER', INDETERMINATE) -compression_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'COMPRESSION_MEMBER', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +rigid_joined_member = IfcStructuralCurveMemberTypeEnum.RIGID_JOINED_MEMBER +pin_joined_member = IfcStructuralCurveMemberTypeEnum.PIN_JOINED_MEMBER +cable = IfcStructuralCurveMemberTypeEnum.CABLE +tension_member = IfcStructuralCurveMemberTypeEnum.TENSION_MEMBER +compression_member = IfcStructuralCurveMemberTypeEnum.COMPRESSION_MEMBER +userdefined = IfcStructuralCurveMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveMemberTypeEnum.NOTDEFINED IfcStructuralSurfaceActivityTypeEnum = enum_namespace() -const = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'CONST', INDETERMINATE) -bilinear = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'BILINEAR', INDETERMINATE) -discrete = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'DISCRETE', INDETERMINATE) -isocontour = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'ISOCONTOUR', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +const = IfcStructuralSurfaceActivityTypeEnum.CONST +bilinear = IfcStructuralSurfaceActivityTypeEnum.BILINEAR +discrete = IfcStructuralSurfaceActivityTypeEnum.DISCRETE +isocontour = IfcStructuralSurfaceActivityTypeEnum.ISOCONTOUR +userdefined = IfcStructuralSurfaceActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceActivityTypeEnum.NOTDEFINED IfcStructuralSurfaceMemberTypeEnum = enum_namespace() -bending_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'BENDING_ELEMENT', INDETERMINATE) -membrane_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'MEMBRANE_ELEMENT', INDETERMINATE) -shell = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'SHELL', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +bending_element = IfcStructuralSurfaceMemberTypeEnum.BENDING_ELEMENT +membrane_element = IfcStructuralSurfaceMemberTypeEnum.MEMBRANE_ELEMENT +shell = IfcStructuralSurfaceMemberTypeEnum.SHELL +userdefined = IfcStructuralSurfaceMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceMemberTypeEnum.NOTDEFINED IfcSubContractResourceTypeEnum = enum_namespace() -purchase = express_getattr(IfcSubContractResourceTypeEnum, 'PURCHASE', INDETERMINATE) -work = express_getattr(IfcSubContractResourceTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcSubContractResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSubContractResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +purchase = IfcSubContractResourceTypeEnum.PURCHASE +work = IfcSubContractResourceTypeEnum.WORK +userdefined = IfcSubContractResourceTypeEnum.USERDEFINED +notdefined = IfcSubContractResourceTypeEnum.NOTDEFINED IfcSurfaceFeatureTypeEnum = enum_namespace() -mark = express_getattr(IfcSurfaceFeatureTypeEnum, 'MARK', INDETERMINATE) -tag = express_getattr(IfcSurfaceFeatureTypeEnum, 'TAG', INDETERMINATE) -treatment = express_getattr(IfcSurfaceFeatureTypeEnum, 'TREATMENT', INDETERMINATE) -defect = express_getattr(IfcSurfaceFeatureTypeEnum, 'DEFECT', INDETERMINATE) -userdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +mark = IfcSurfaceFeatureTypeEnum.MARK +tag = IfcSurfaceFeatureTypeEnum.TAG +treatment = IfcSurfaceFeatureTypeEnum.TREATMENT +defect = IfcSurfaceFeatureTypeEnum.DEFECT +userdefined = IfcSurfaceFeatureTypeEnum.USERDEFINED +notdefined = IfcSurfaceFeatureTypeEnum.NOTDEFINED IfcSurfaceSide = enum_namespace() -positive = express_getattr(IfcSurfaceSide, 'POSITIVE', INDETERMINATE) -negative = express_getattr(IfcSurfaceSide, 'NEGATIVE', INDETERMINATE) -both = express_getattr(IfcSurfaceSide, 'BOTH', INDETERMINATE) +positive = IfcSurfaceSide.POSITIVE +negative = IfcSurfaceSide.NEGATIVE +both = IfcSurfaceSide.BOTH IfcSwitchingDeviceTypeEnum = enum_namespace() -contactor = express_getattr(IfcSwitchingDeviceTypeEnum, 'CONTACTOR', INDETERMINATE) -dimmerswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'DIMMERSWITCH', INDETERMINATE) -emergencystop = express_getattr(IfcSwitchingDeviceTypeEnum, 'EMERGENCYSTOP', INDETERMINATE) -keypad = express_getattr(IfcSwitchingDeviceTypeEnum, 'KEYPAD', INDETERMINATE) -momentaryswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'MOMENTARYSWITCH', INDETERMINATE) -selectorswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'SELECTORSWITCH', INDETERMINATE) -starter = express_getattr(IfcSwitchingDeviceTypeEnum, 'STARTER', INDETERMINATE) -switchdisconnector = express_getattr(IfcSwitchingDeviceTypeEnum, 'SWITCHDISCONNECTOR', INDETERMINATE) -toggleswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'TOGGLESWITCH', INDETERMINATE) -userdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +contactor = IfcSwitchingDeviceTypeEnum.CONTACTOR +dimmerswitch = IfcSwitchingDeviceTypeEnum.DIMMERSWITCH +emergencystop = IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP +keypad = IfcSwitchingDeviceTypeEnum.KEYPAD +momentaryswitch = IfcSwitchingDeviceTypeEnum.MOMENTARYSWITCH +selectorswitch = IfcSwitchingDeviceTypeEnum.SELECTORSWITCH +starter = IfcSwitchingDeviceTypeEnum.STARTER +switchdisconnector = IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR +toggleswitch = IfcSwitchingDeviceTypeEnum.TOGGLESWITCH +userdefined = IfcSwitchingDeviceTypeEnum.USERDEFINED +notdefined = IfcSwitchingDeviceTypeEnum.NOTDEFINED IfcSystemFurnitureElementTypeEnum = enum_namespace() -panel = express_getattr(IfcSystemFurnitureElementTypeEnum, 'PANEL', INDETERMINATE) -worksurface = express_getattr(IfcSystemFurnitureElementTypeEnum, 'WORKSURFACE', INDETERMINATE) -userdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +panel = IfcSystemFurnitureElementTypeEnum.PANEL +worksurface = IfcSystemFurnitureElementTypeEnum.WORKSURFACE +userdefined = IfcSystemFurnitureElementTypeEnum.USERDEFINED +notdefined = IfcSystemFurnitureElementTypeEnum.NOTDEFINED IfcTankTypeEnum = enum_namespace() -basin = express_getattr(IfcTankTypeEnum, 'BASIN', INDETERMINATE) -breakpressure = express_getattr(IfcTankTypeEnum, 'BREAKPRESSURE', INDETERMINATE) -expansion = express_getattr(IfcTankTypeEnum, 'EXPANSION', INDETERMINATE) -feedandexpansion = express_getattr(IfcTankTypeEnum, 'FEEDANDEXPANSION', INDETERMINATE) -pressurevessel = express_getattr(IfcTankTypeEnum, 'PRESSUREVESSEL', INDETERMINATE) -storage = express_getattr(IfcTankTypeEnum, 'STORAGE', INDETERMINATE) -vessel = express_getattr(IfcTankTypeEnum, 'VESSEL', INDETERMINATE) -userdefined = express_getattr(IfcTankTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTankTypeEnum, 'NOTDEFINED', INDETERMINATE) +basin = IfcTankTypeEnum.BASIN +breakpressure = IfcTankTypeEnum.BREAKPRESSURE +expansion = IfcTankTypeEnum.EXPANSION +feedandexpansion = IfcTankTypeEnum.FEEDANDEXPANSION +pressurevessel = IfcTankTypeEnum.PRESSUREVESSEL +storage = IfcTankTypeEnum.STORAGE +vessel = IfcTankTypeEnum.VESSEL +userdefined = IfcTankTypeEnum.USERDEFINED +notdefined = IfcTankTypeEnum.NOTDEFINED IfcTaskDurationEnum = enum_namespace() -elapsedtime = express_getattr(IfcTaskDurationEnum, 'ELAPSEDTIME', INDETERMINATE) -worktime = express_getattr(IfcTaskDurationEnum, 'WORKTIME', INDETERMINATE) -notdefined = express_getattr(IfcTaskDurationEnum, 'NOTDEFINED', INDETERMINATE) +elapsedtime = IfcTaskDurationEnum.ELAPSEDTIME +worktime = IfcTaskDurationEnum.WORKTIME +notdefined = IfcTaskDurationEnum.NOTDEFINED IfcTaskTypeEnum = enum_namespace() -attendance = express_getattr(IfcTaskTypeEnum, 'ATTENDANCE', INDETERMINATE) -construction = express_getattr(IfcTaskTypeEnum, 'CONSTRUCTION', INDETERMINATE) -demolition = express_getattr(IfcTaskTypeEnum, 'DEMOLITION', INDETERMINATE) -dismantle = express_getattr(IfcTaskTypeEnum, 'DISMANTLE', INDETERMINATE) -disposal = express_getattr(IfcTaskTypeEnum, 'DISPOSAL', INDETERMINATE) -installation = express_getattr(IfcTaskTypeEnum, 'INSTALLATION', INDETERMINATE) -logistic = express_getattr(IfcTaskTypeEnum, 'LOGISTIC', INDETERMINATE) -maintenance = express_getattr(IfcTaskTypeEnum, 'MAINTENANCE', INDETERMINATE) -move = express_getattr(IfcTaskTypeEnum, 'MOVE', INDETERMINATE) -operation = express_getattr(IfcTaskTypeEnum, 'OPERATION', INDETERMINATE) -removal = express_getattr(IfcTaskTypeEnum, 'REMOVAL', INDETERMINATE) -renovation = express_getattr(IfcTaskTypeEnum, 'RENOVATION', INDETERMINATE) -userdefined = express_getattr(IfcTaskTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTaskTypeEnum, 'NOTDEFINED', INDETERMINATE) +attendance = IfcTaskTypeEnum.ATTENDANCE +construction = IfcTaskTypeEnum.CONSTRUCTION +demolition = IfcTaskTypeEnum.DEMOLITION +dismantle = IfcTaskTypeEnum.DISMANTLE +disposal = IfcTaskTypeEnum.DISPOSAL +installation = IfcTaskTypeEnum.INSTALLATION +logistic = IfcTaskTypeEnum.LOGISTIC +maintenance = IfcTaskTypeEnum.MAINTENANCE +move = IfcTaskTypeEnum.MOVE +operation = IfcTaskTypeEnum.OPERATION +removal = IfcTaskTypeEnum.REMOVAL +renovation = IfcTaskTypeEnum.RENOVATION +userdefined = IfcTaskTypeEnum.USERDEFINED +notdefined = IfcTaskTypeEnum.NOTDEFINED IfcTendonAnchorTypeEnum = enum_namespace() -coupler = express_getattr(IfcTendonAnchorTypeEnum, 'COUPLER', INDETERMINATE) -fixed_end = express_getattr(IfcTendonAnchorTypeEnum, 'FIXED_END', INDETERMINATE) -tensioning_end = express_getattr(IfcTendonAnchorTypeEnum, 'TENSIONING_END', INDETERMINATE) -userdefined = express_getattr(IfcTendonAnchorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonAnchorTypeEnum, 'NOTDEFINED', INDETERMINATE) +coupler = IfcTendonAnchorTypeEnum.COUPLER +fixed_end = IfcTendonAnchorTypeEnum.FIXED_END +tensioning_end = IfcTendonAnchorTypeEnum.TENSIONING_END +userdefined = IfcTendonAnchorTypeEnum.USERDEFINED +notdefined = IfcTendonAnchorTypeEnum.NOTDEFINED IfcTendonConduitTypeEnum = enum_namespace() -duct = express_getattr(IfcTendonConduitTypeEnum, 'DUCT', INDETERMINATE) -coupler = express_getattr(IfcTendonConduitTypeEnum, 'COUPLER', INDETERMINATE) -grouting_duct = express_getattr(IfcTendonConduitTypeEnum, 'GROUTING_DUCT', INDETERMINATE) -trumpet = express_getattr(IfcTendonConduitTypeEnum, 'TRUMPET', INDETERMINATE) -diabolo = express_getattr(IfcTendonConduitTypeEnum, 'DIABOLO', INDETERMINATE) -userdefined = express_getattr(IfcTendonConduitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonConduitTypeEnum, 'NOTDEFINED', INDETERMINATE) +duct = IfcTendonConduitTypeEnum.DUCT +coupler = IfcTendonConduitTypeEnum.COUPLER +grouting_duct = IfcTendonConduitTypeEnum.GROUTING_DUCT +trumpet = IfcTendonConduitTypeEnum.TRUMPET +diabolo = IfcTendonConduitTypeEnum.DIABOLO +userdefined = IfcTendonConduitTypeEnum.USERDEFINED +notdefined = IfcTendonConduitTypeEnum.NOTDEFINED IfcTendonTypeEnum = enum_namespace() -bar = express_getattr(IfcTendonTypeEnum, 'BAR', INDETERMINATE) -coated = express_getattr(IfcTendonTypeEnum, 'COATED', INDETERMINATE) -strand = express_getattr(IfcTendonTypeEnum, 'STRAND', INDETERMINATE) -wire = express_getattr(IfcTendonTypeEnum, 'WIRE', INDETERMINATE) -userdefined = express_getattr(IfcTendonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonTypeEnum, 'NOTDEFINED', INDETERMINATE) +bar = IfcTendonTypeEnum.BAR +coated = IfcTendonTypeEnum.COATED +strand = IfcTendonTypeEnum.STRAND +wire = IfcTendonTypeEnum.WIRE +userdefined = IfcTendonTypeEnum.USERDEFINED +notdefined = IfcTendonTypeEnum.NOTDEFINED IfcTextPath = enum_namespace() -left = express_getattr(IfcTextPath, 'LEFT', INDETERMINATE) -right = express_getattr(IfcTextPath, 'RIGHT', INDETERMINATE) -up = express_getattr(IfcTextPath, 'UP', INDETERMINATE) -down = express_getattr(IfcTextPath, 'DOWN', INDETERMINATE) +left = IfcTextPath.LEFT +right = IfcTextPath.RIGHT +up = IfcTextPath.UP +down = IfcTextPath.DOWN IfcTimeSeriesDataTypeEnum = enum_namespace() -continuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'CONTINUOUS', INDETERMINATE) -discrete = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETE', INDETERMINATE) -discretebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETEBINARY', INDETERMINATE) -piecewisebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISEBINARY', INDETERMINATE) -piecewiseconstant = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONSTANT', INDETERMINATE) -piecewisecontinuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONTINUOUS', INDETERMINATE) -notdefined = express_getattr(IfcTimeSeriesDataTypeEnum, 'NOTDEFINED', INDETERMINATE) +continuous = IfcTimeSeriesDataTypeEnum.CONTINUOUS +discrete = IfcTimeSeriesDataTypeEnum.DISCRETE +discretebinary = IfcTimeSeriesDataTypeEnum.DISCRETEBINARY +piecewisebinary = IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY +piecewiseconstant = IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT +piecewisecontinuous = IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS +notdefined = IfcTimeSeriesDataTypeEnum.NOTDEFINED IfcTransformerTypeEnum = enum_namespace() -current = express_getattr(IfcTransformerTypeEnum, 'CURRENT', INDETERMINATE) -frequency = express_getattr(IfcTransformerTypeEnum, 'FREQUENCY', INDETERMINATE) -inverter = express_getattr(IfcTransformerTypeEnum, 'INVERTER', INDETERMINATE) -rectifier = express_getattr(IfcTransformerTypeEnum, 'RECTIFIER', INDETERMINATE) -voltage = express_getattr(IfcTransformerTypeEnum, 'VOLTAGE', INDETERMINATE) -userdefined = express_getattr(IfcTransformerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransformerTypeEnum, 'NOTDEFINED', INDETERMINATE) +current = IfcTransformerTypeEnum.CURRENT +frequency = IfcTransformerTypeEnum.FREQUENCY +inverter = IfcTransformerTypeEnum.INVERTER +rectifier = IfcTransformerTypeEnum.RECTIFIER +voltage = IfcTransformerTypeEnum.VOLTAGE +userdefined = IfcTransformerTypeEnum.USERDEFINED +notdefined = IfcTransformerTypeEnum.NOTDEFINED IfcTransitionCode = enum_namespace() -discontinuous = express_getattr(IfcTransitionCode, 'DISCONTINUOUS', INDETERMINATE) -continuous = express_getattr(IfcTransitionCode, 'CONTINUOUS', INDETERMINATE) -contsamegradient = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENT', INDETERMINATE) -contsamegradientsamecurvature = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENTSAMECURVATURE', INDETERMINATE) +discontinuous = IfcTransitionCode.DISCONTINUOUS +continuous = IfcTransitionCode.CONTINUOUS +contsamegradient = IfcTransitionCode.CONTSAMEGRADIENT +contsamegradientsamecurvature = IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE IfcTransitionCurveType = enum_namespace() -biquadraticparabola = express_getattr(IfcTransitionCurveType, 'BIQUADRATICPARABOLA', INDETERMINATE) -blosscurve = express_getattr(IfcTransitionCurveType, 'BLOSSCURVE', INDETERMINATE) -clothoidcurve = express_getattr(IfcTransitionCurveType, 'CLOTHOIDCURVE', INDETERMINATE) -cosinecurve = express_getattr(IfcTransitionCurveType, 'COSINECURVE', INDETERMINATE) -cubicparabola = express_getattr(IfcTransitionCurveType, 'CUBICPARABOLA', INDETERMINATE) -sinecurve = express_getattr(IfcTransitionCurveType, 'SINECURVE', INDETERMINATE) +biquadraticparabola = IfcTransitionCurveType.BIQUADRATICPARABOLA +blosscurve = IfcTransitionCurveType.BLOSSCURVE +clothoidcurve = IfcTransitionCurveType.CLOTHOIDCURVE +cosinecurve = IfcTransitionCurveType.COSINECURVE +cubicparabola = IfcTransitionCurveType.CUBICPARABOLA +sinecurve = IfcTransitionCurveType.SINECURVE IfcTransportElementTypeEnum = enum_namespace() -elevator = express_getattr(IfcTransportElementTypeEnum, 'ELEVATOR', INDETERMINATE) -escalator = express_getattr(IfcTransportElementTypeEnum, 'ESCALATOR', INDETERMINATE) -movingwalkway = express_getattr(IfcTransportElementTypeEnum, 'MOVINGWALKWAY', INDETERMINATE) -craneway = express_getattr(IfcTransportElementTypeEnum, 'CRANEWAY', INDETERMINATE) -liftinggear = express_getattr(IfcTransportElementTypeEnum, 'LIFTINGGEAR', INDETERMINATE) -userdefined = express_getattr(IfcTransportElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransportElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +elevator = IfcTransportElementTypeEnum.ELEVATOR +escalator = IfcTransportElementTypeEnum.ESCALATOR +movingwalkway = IfcTransportElementTypeEnum.MOVINGWALKWAY +craneway = IfcTransportElementTypeEnum.CRANEWAY +liftinggear = IfcTransportElementTypeEnum.LIFTINGGEAR +userdefined = IfcTransportElementTypeEnum.USERDEFINED +notdefined = IfcTransportElementTypeEnum.NOTDEFINED IfcTrimmingPreference = enum_namespace() -cartesian = express_getattr(IfcTrimmingPreference, 'CARTESIAN', INDETERMINATE) -parameter = express_getattr(IfcTrimmingPreference, 'PARAMETER', INDETERMINATE) -unspecified = express_getattr(IfcTrimmingPreference, 'UNSPECIFIED', INDETERMINATE) +cartesian = IfcTrimmingPreference.CARTESIAN +parameter = IfcTrimmingPreference.PARAMETER +unspecified = IfcTrimmingPreference.UNSPECIFIED IfcTubeBundleTypeEnum = enum_namespace() -finned = express_getattr(IfcTubeBundleTypeEnum, 'FINNED', INDETERMINATE) -userdefined = express_getattr(IfcTubeBundleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTubeBundleTypeEnum, 'NOTDEFINED', INDETERMINATE) +finned = IfcTubeBundleTypeEnum.FINNED +userdefined = IfcTubeBundleTypeEnum.USERDEFINED +notdefined = IfcTubeBundleTypeEnum.NOTDEFINED IfcUnitEnum = enum_namespace() -absorbeddoseunit = express_getattr(IfcUnitEnum, 'ABSORBEDDOSEUNIT', INDETERMINATE) -amountofsubstanceunit = express_getattr(IfcUnitEnum, 'AMOUNTOFSUBSTANCEUNIT', INDETERMINATE) -areaunit = express_getattr(IfcUnitEnum, 'AREAUNIT', INDETERMINATE) -doseequivalentunit = express_getattr(IfcUnitEnum, 'DOSEEQUIVALENTUNIT', INDETERMINATE) -electriccapacitanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCAPACITANCEUNIT', INDETERMINATE) -electricchargeunit = express_getattr(IfcUnitEnum, 'ELECTRICCHARGEUNIT', INDETERMINATE) -electricconductanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCONDUCTANCEUNIT', INDETERMINATE) -electriccurrentunit = express_getattr(IfcUnitEnum, 'ELECTRICCURRENTUNIT', INDETERMINATE) -electricresistanceunit = express_getattr(IfcUnitEnum, 'ELECTRICRESISTANCEUNIT', INDETERMINATE) -electricvoltageunit = express_getattr(IfcUnitEnum, 'ELECTRICVOLTAGEUNIT', INDETERMINATE) -energyunit = express_getattr(IfcUnitEnum, 'ENERGYUNIT', INDETERMINATE) -forceunit = express_getattr(IfcUnitEnum, 'FORCEUNIT', INDETERMINATE) -frequencyunit = express_getattr(IfcUnitEnum, 'FREQUENCYUNIT', INDETERMINATE) -illuminanceunit = express_getattr(IfcUnitEnum, 'ILLUMINANCEUNIT', INDETERMINATE) -inductanceunit = express_getattr(IfcUnitEnum, 'INDUCTANCEUNIT', INDETERMINATE) -lengthunit = express_getattr(IfcUnitEnum, 'LENGTHUNIT', INDETERMINATE) -luminousfluxunit = express_getattr(IfcUnitEnum, 'LUMINOUSFLUXUNIT', INDETERMINATE) -luminousintensityunit = express_getattr(IfcUnitEnum, 'LUMINOUSINTENSITYUNIT', INDETERMINATE) -magneticfluxdensityunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXDENSITYUNIT', INDETERMINATE) -magneticfluxunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXUNIT', INDETERMINATE) -massunit = express_getattr(IfcUnitEnum, 'MASSUNIT', INDETERMINATE) -planeangleunit = express_getattr(IfcUnitEnum, 'PLANEANGLEUNIT', INDETERMINATE) -powerunit = express_getattr(IfcUnitEnum, 'POWERUNIT', INDETERMINATE) -pressureunit = express_getattr(IfcUnitEnum, 'PRESSUREUNIT', INDETERMINATE) -radioactivityunit = express_getattr(IfcUnitEnum, 'RADIOACTIVITYUNIT', INDETERMINATE) -solidangleunit = express_getattr(IfcUnitEnum, 'SOLIDANGLEUNIT', INDETERMINATE) -thermodynamictemperatureunit = express_getattr(IfcUnitEnum, 'THERMODYNAMICTEMPERATUREUNIT', INDETERMINATE) -timeunit = express_getattr(IfcUnitEnum, 'TIMEUNIT', INDETERMINATE) -volumeunit = express_getattr(IfcUnitEnum, 'VOLUMEUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitEnum, 'USERDEFINED', INDETERMINATE) +absorbeddoseunit = IfcUnitEnum.ABSORBEDDOSEUNIT +amountofsubstanceunit = IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT +areaunit = IfcUnitEnum.AREAUNIT +doseequivalentunit = IfcUnitEnum.DOSEEQUIVALENTUNIT +electriccapacitanceunit = IfcUnitEnum.ELECTRICCAPACITANCEUNIT +electricchargeunit = IfcUnitEnum.ELECTRICCHARGEUNIT +electricconductanceunit = IfcUnitEnum.ELECTRICCONDUCTANCEUNIT +electriccurrentunit = IfcUnitEnum.ELECTRICCURRENTUNIT +electricresistanceunit = IfcUnitEnum.ELECTRICRESISTANCEUNIT +electricvoltageunit = IfcUnitEnum.ELECTRICVOLTAGEUNIT +energyunit = IfcUnitEnum.ENERGYUNIT +forceunit = IfcUnitEnum.FORCEUNIT +frequencyunit = IfcUnitEnum.FREQUENCYUNIT +illuminanceunit = IfcUnitEnum.ILLUMINANCEUNIT +inductanceunit = IfcUnitEnum.INDUCTANCEUNIT +lengthunit = IfcUnitEnum.LENGTHUNIT +luminousfluxunit = IfcUnitEnum.LUMINOUSFLUXUNIT +luminousintensityunit = IfcUnitEnum.LUMINOUSINTENSITYUNIT +magneticfluxdensityunit = IfcUnitEnum.MAGNETICFLUXDENSITYUNIT +magneticfluxunit = IfcUnitEnum.MAGNETICFLUXUNIT +massunit = IfcUnitEnum.MASSUNIT +planeangleunit = IfcUnitEnum.PLANEANGLEUNIT +powerunit = IfcUnitEnum.POWERUNIT +pressureunit = IfcUnitEnum.PRESSUREUNIT +radioactivityunit = IfcUnitEnum.RADIOACTIVITYUNIT +solidangleunit = IfcUnitEnum.SOLIDANGLEUNIT +thermodynamictemperatureunit = IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT +timeunit = IfcUnitEnum.TIMEUNIT +volumeunit = IfcUnitEnum.VOLUMEUNIT +userdefined = IfcUnitEnum.USERDEFINED IfcUnitaryControlElementTypeEnum = enum_namespace() -alarmpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'ALARMPANEL', INDETERMINATE) -controlpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'CONTROLPANEL', INDETERMINATE) -gasdetectionpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'GASDETECTIONPANEL', INDETERMINATE) -indicatorpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'INDICATORPANEL', INDETERMINATE) -mimicpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'MIMICPANEL', INDETERMINATE) -humidistat = express_getattr(IfcUnitaryControlElementTypeEnum, 'HUMIDISTAT', INDETERMINATE) -thermostat = express_getattr(IfcUnitaryControlElementTypeEnum, 'THERMOSTAT', INDETERMINATE) -weatherstation = express_getattr(IfcUnitaryControlElementTypeEnum, 'WEATHERSTATION', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +alarmpanel = IfcUnitaryControlElementTypeEnum.ALARMPANEL +controlpanel = IfcUnitaryControlElementTypeEnum.CONTROLPANEL +gasdetectionpanel = IfcUnitaryControlElementTypeEnum.GASDETECTIONPANEL +indicatorpanel = IfcUnitaryControlElementTypeEnum.INDICATORPANEL +mimicpanel = IfcUnitaryControlElementTypeEnum.MIMICPANEL +humidistat = IfcUnitaryControlElementTypeEnum.HUMIDISTAT +thermostat = IfcUnitaryControlElementTypeEnum.THERMOSTAT +weatherstation = IfcUnitaryControlElementTypeEnum.WEATHERSTATION +userdefined = IfcUnitaryControlElementTypeEnum.USERDEFINED +notdefined = IfcUnitaryControlElementTypeEnum.NOTDEFINED IfcUnitaryEquipmentTypeEnum = enum_namespace() -airhandler = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRHANDLER', INDETERMINATE) -airconditioningunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRCONDITIONINGUNIT', INDETERMINATE) -dehumidifier = express_getattr(IfcUnitaryEquipmentTypeEnum, 'DEHUMIDIFIER', INDETERMINATE) -splitsystem = express_getattr(IfcUnitaryEquipmentTypeEnum, 'SPLITSYSTEM', INDETERMINATE) -rooftopunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'ROOFTOPUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +airhandler = IfcUnitaryEquipmentTypeEnum.AIRHANDLER +airconditioningunit = IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT +dehumidifier = IfcUnitaryEquipmentTypeEnum.DEHUMIDIFIER +splitsystem = IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM +rooftopunit = IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT +userdefined = IfcUnitaryEquipmentTypeEnum.USERDEFINED +notdefined = IfcUnitaryEquipmentTypeEnum.NOTDEFINED IfcValveTypeEnum = enum_namespace() -airrelease = express_getattr(IfcValveTypeEnum, 'AIRRELEASE', INDETERMINATE) -antivacuum = express_getattr(IfcValveTypeEnum, 'ANTIVACUUM', INDETERMINATE) -changeover = express_getattr(IfcValveTypeEnum, 'CHANGEOVER', INDETERMINATE) -check = express_getattr(IfcValveTypeEnum, 'CHECK', INDETERMINATE) -commissioning = express_getattr(IfcValveTypeEnum, 'COMMISSIONING', INDETERMINATE) -diverting = express_getattr(IfcValveTypeEnum, 'DIVERTING', INDETERMINATE) -drawoffcock = express_getattr(IfcValveTypeEnum, 'DRAWOFFCOCK', INDETERMINATE) -doublecheck = express_getattr(IfcValveTypeEnum, 'DOUBLECHECK', INDETERMINATE) -doubleregulating = express_getattr(IfcValveTypeEnum, 'DOUBLEREGULATING', INDETERMINATE) -faucet = express_getattr(IfcValveTypeEnum, 'FAUCET', INDETERMINATE) -flushing = express_getattr(IfcValveTypeEnum, 'FLUSHING', INDETERMINATE) -gascock = express_getattr(IfcValveTypeEnum, 'GASCOCK', INDETERMINATE) -gastap = express_getattr(IfcValveTypeEnum, 'GASTAP', INDETERMINATE) -isolating = express_getattr(IfcValveTypeEnum, 'ISOLATING', INDETERMINATE) -mixing = express_getattr(IfcValveTypeEnum, 'MIXING', INDETERMINATE) -pressurereducing = express_getattr(IfcValveTypeEnum, 'PRESSUREREDUCING', INDETERMINATE) -pressurerelief = express_getattr(IfcValveTypeEnum, 'PRESSURERELIEF', INDETERMINATE) -regulating = express_getattr(IfcValveTypeEnum, 'REGULATING', INDETERMINATE) -safetycutoff = express_getattr(IfcValveTypeEnum, 'SAFETYCUTOFF', INDETERMINATE) -steamtrap = express_getattr(IfcValveTypeEnum, 'STEAMTRAP', INDETERMINATE) -stopcock = express_getattr(IfcValveTypeEnum, 'STOPCOCK', INDETERMINATE) -userdefined = express_getattr(IfcValveTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcValveTypeEnum, 'NOTDEFINED', INDETERMINATE) +airrelease = IfcValveTypeEnum.AIRRELEASE +antivacuum = IfcValveTypeEnum.ANTIVACUUM +changeover = IfcValveTypeEnum.CHANGEOVER +check = IfcValveTypeEnum.CHECK +commissioning = IfcValveTypeEnum.COMMISSIONING +diverting = IfcValveTypeEnum.DIVERTING +drawoffcock = IfcValveTypeEnum.DRAWOFFCOCK +doublecheck = IfcValveTypeEnum.DOUBLECHECK +doubleregulating = IfcValveTypeEnum.DOUBLEREGULATING +faucet = IfcValveTypeEnum.FAUCET +flushing = IfcValveTypeEnum.FLUSHING +gascock = IfcValveTypeEnum.GASCOCK +gastap = IfcValveTypeEnum.GASTAP +isolating = IfcValveTypeEnum.ISOLATING +mixing = IfcValveTypeEnum.MIXING +pressurereducing = IfcValveTypeEnum.PRESSUREREDUCING +pressurerelief = IfcValveTypeEnum.PRESSURERELIEF +regulating = IfcValveTypeEnum.REGULATING +safetycutoff = IfcValveTypeEnum.SAFETYCUTOFF +steamtrap = IfcValveTypeEnum.STEAMTRAP +stopcock = IfcValveTypeEnum.STOPCOCK +userdefined = IfcValveTypeEnum.USERDEFINED +notdefined = IfcValveTypeEnum.NOTDEFINED IfcVibrationDamperTypeEnum = enum_namespace() -bending_yield = express_getattr(IfcVibrationDamperTypeEnum, 'BENDING_YIELD', INDETERMINATE) -shear_yield = express_getattr(IfcVibrationDamperTypeEnum, 'SHEAR_YIELD', INDETERMINATE) -axial_yield = express_getattr(IfcVibrationDamperTypeEnum, 'AXIAL_YIELD', INDETERMINATE) -friction = express_getattr(IfcVibrationDamperTypeEnum, 'FRICTION', INDETERMINATE) -viscous = express_getattr(IfcVibrationDamperTypeEnum, 'VISCOUS', INDETERMINATE) -rubber = express_getattr(IfcVibrationDamperTypeEnum, 'RUBBER', INDETERMINATE) -userdefined = express_getattr(IfcVibrationDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +bending_yield = IfcVibrationDamperTypeEnum.BENDING_YIELD +shear_yield = IfcVibrationDamperTypeEnum.SHEAR_YIELD +axial_yield = IfcVibrationDamperTypeEnum.AXIAL_YIELD +friction = IfcVibrationDamperTypeEnum.FRICTION +viscous = IfcVibrationDamperTypeEnum.VISCOUS +rubber = IfcVibrationDamperTypeEnum.RUBBER +userdefined = IfcVibrationDamperTypeEnum.USERDEFINED +notdefined = IfcVibrationDamperTypeEnum.NOTDEFINED IfcVibrationIsolatorTypeEnum = enum_namespace() -compression = express_getattr(IfcVibrationIsolatorTypeEnum, 'COMPRESSION', INDETERMINATE) -spring = express_getattr(IfcVibrationIsolatorTypeEnum, 'SPRING', INDETERMINATE) -base = express_getattr(IfcVibrationIsolatorTypeEnum, 'BASE', INDETERMINATE) -userdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +compression = IfcVibrationIsolatorTypeEnum.COMPRESSION +spring = IfcVibrationIsolatorTypeEnum.SPRING +base = IfcVibrationIsolatorTypeEnum.BASE +userdefined = IfcVibrationIsolatorTypeEnum.USERDEFINED +notdefined = IfcVibrationIsolatorTypeEnum.NOTDEFINED IfcVoidingFeatureTypeEnum = enum_namespace() -cutout = express_getattr(IfcVoidingFeatureTypeEnum, 'CUTOUT', INDETERMINATE) -notch = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTCH', INDETERMINATE) -hole = express_getattr(IfcVoidingFeatureTypeEnum, 'HOLE', INDETERMINATE) -miter = express_getattr(IfcVoidingFeatureTypeEnum, 'MITER', INDETERMINATE) -chamfer = express_getattr(IfcVoidingFeatureTypeEnum, 'CHAMFER', INDETERMINATE) -edge = express_getattr(IfcVoidingFeatureTypeEnum, 'EDGE', INDETERMINATE) -userdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +cutout = IfcVoidingFeatureTypeEnum.CUTOUT +notch = IfcVoidingFeatureTypeEnum.NOTCH +hole = IfcVoidingFeatureTypeEnum.HOLE +miter = IfcVoidingFeatureTypeEnum.MITER +chamfer = IfcVoidingFeatureTypeEnum.CHAMFER +edge = IfcVoidingFeatureTypeEnum.EDGE +userdefined = IfcVoidingFeatureTypeEnum.USERDEFINED +notdefined = IfcVoidingFeatureTypeEnum.NOTDEFINED IfcWallTypeEnum = enum_namespace() -movable = express_getattr(IfcWallTypeEnum, 'MOVABLE', INDETERMINATE) -parapet = express_getattr(IfcWallTypeEnum, 'PARAPET', INDETERMINATE) -partitioning = express_getattr(IfcWallTypeEnum, 'PARTITIONING', INDETERMINATE) -plumbingwall = express_getattr(IfcWallTypeEnum, 'PLUMBINGWALL', INDETERMINATE) -shear = express_getattr(IfcWallTypeEnum, 'SHEAR', INDETERMINATE) -solidwall = express_getattr(IfcWallTypeEnum, 'SOLIDWALL', INDETERMINATE) -standard = express_getattr(IfcWallTypeEnum, 'STANDARD', INDETERMINATE) -polygonal = express_getattr(IfcWallTypeEnum, 'POLYGONAL', INDETERMINATE) -elementedwall = express_getattr(IfcWallTypeEnum, 'ELEMENTEDWALL', INDETERMINATE) -retainingwall = express_getattr(IfcWallTypeEnum, 'RETAININGWALL', INDETERMINATE) -userdefined = express_getattr(IfcWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +movable = IfcWallTypeEnum.MOVABLE +parapet = IfcWallTypeEnum.PARAPET +partitioning = IfcWallTypeEnum.PARTITIONING +plumbingwall = IfcWallTypeEnum.PLUMBINGWALL +shear = IfcWallTypeEnum.SHEAR +solidwall = IfcWallTypeEnum.SOLIDWALL +standard = IfcWallTypeEnum.STANDARD +polygonal = IfcWallTypeEnum.POLYGONAL +elementedwall = IfcWallTypeEnum.ELEMENTEDWALL +retainingwall = IfcWallTypeEnum.RETAININGWALL +userdefined = IfcWallTypeEnum.USERDEFINED +notdefined = IfcWallTypeEnum.NOTDEFINED IfcWasteTerminalTypeEnum = enum_namespace() -floortrap = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORTRAP', INDETERMINATE) -floorwaste = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORWASTE', INDETERMINATE) -gullysump = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYSUMP', INDETERMINATE) -gullytrap = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYTRAP', INDETERMINATE) -roofdrain = express_getattr(IfcWasteTerminalTypeEnum, 'ROOFDRAIN', INDETERMINATE) -wastedisposalunit = express_getattr(IfcWasteTerminalTypeEnum, 'WASTEDISPOSALUNIT', INDETERMINATE) -wastetrap = express_getattr(IfcWasteTerminalTypeEnum, 'WASTETRAP', INDETERMINATE) -userdefined = express_getattr(IfcWasteTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWasteTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +floortrap = IfcWasteTerminalTypeEnum.FLOORTRAP +floorwaste = IfcWasteTerminalTypeEnum.FLOORWASTE +gullysump = IfcWasteTerminalTypeEnum.GULLYSUMP +gullytrap = IfcWasteTerminalTypeEnum.GULLYTRAP +roofdrain = IfcWasteTerminalTypeEnum.ROOFDRAIN +wastedisposalunit = IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT +wastetrap = IfcWasteTerminalTypeEnum.WASTETRAP +userdefined = IfcWasteTerminalTypeEnum.USERDEFINED +notdefined = IfcWasteTerminalTypeEnum.NOTDEFINED IfcWindowPanelOperationEnum = enum_namespace() -sidehungrighthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGRIGHTHAND', INDETERMINATE) -sidehunglefthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGLEFTHAND', INDETERMINATE) -tiltandturnrighthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNRIGHTHAND', INDETERMINATE) -tiltandturnlefthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNLEFTHAND', INDETERMINATE) -tophung = express_getattr(IfcWindowPanelOperationEnum, 'TOPHUNG', INDETERMINATE) -bottomhung = express_getattr(IfcWindowPanelOperationEnum, 'BOTTOMHUNG', INDETERMINATE) -pivothorizontal = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTHORIZONTAL', INDETERMINATE) -pivotvertical = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTVERTICAL', INDETERMINATE) -slidinghorizontal = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGHORIZONTAL', INDETERMINATE) -slidingvertical = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGVERTICAL', INDETERMINATE) -removablecasement = express_getattr(IfcWindowPanelOperationEnum, 'REMOVABLECASEMENT', INDETERMINATE) -fixedcasement = express_getattr(IfcWindowPanelOperationEnum, 'FIXEDCASEMENT', INDETERMINATE) -otheroperation = express_getattr(IfcWindowPanelOperationEnum, 'OTHEROPERATION', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +sidehungrighthand = IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND +sidehunglefthand = IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND +tiltandturnrighthand = IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND +tiltandturnlefthand = IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND +tophung = IfcWindowPanelOperationEnum.TOPHUNG +bottomhung = IfcWindowPanelOperationEnum.BOTTOMHUNG +pivothorizontal = IfcWindowPanelOperationEnum.PIVOTHORIZONTAL +pivotvertical = IfcWindowPanelOperationEnum.PIVOTVERTICAL +slidinghorizontal = IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL +slidingvertical = IfcWindowPanelOperationEnum.SLIDINGVERTICAL +removablecasement = IfcWindowPanelOperationEnum.REMOVABLECASEMENT +fixedcasement = IfcWindowPanelOperationEnum.FIXEDCASEMENT +otheroperation = IfcWindowPanelOperationEnum.OTHEROPERATION +notdefined = IfcWindowPanelOperationEnum.NOTDEFINED IfcWindowPanelPositionEnum = enum_namespace() -left = express_getattr(IfcWindowPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcWindowPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcWindowPanelPositionEnum, 'RIGHT', INDETERMINATE) -bottom = express_getattr(IfcWindowPanelPositionEnum, 'BOTTOM', INDETERMINATE) -top = express_getattr(IfcWindowPanelPositionEnum, 'TOP', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcWindowPanelPositionEnum.LEFT +middle = IfcWindowPanelPositionEnum.MIDDLE +right = IfcWindowPanelPositionEnum.RIGHT +bottom = IfcWindowPanelPositionEnum.BOTTOM +top = IfcWindowPanelPositionEnum.TOP +notdefined = IfcWindowPanelPositionEnum.NOTDEFINED IfcWindowStyleConstructionEnum = enum_namespace() -aluminium = express_getattr(IfcWindowStyleConstructionEnum, 'ALUMINIUM', INDETERMINATE) -high_grade_steel = express_getattr(IfcWindowStyleConstructionEnum, 'HIGH_GRADE_STEEL', INDETERMINATE) -steel = express_getattr(IfcWindowStyleConstructionEnum, 'STEEL', INDETERMINATE) -wood = express_getattr(IfcWindowStyleConstructionEnum, 'WOOD', INDETERMINATE) -aluminium_wood = express_getattr(IfcWindowStyleConstructionEnum, 'ALUMINIUM_WOOD', INDETERMINATE) -plastic = express_getattr(IfcWindowStyleConstructionEnum, 'PLASTIC', INDETERMINATE) -other_construction = express_getattr(IfcWindowStyleConstructionEnum, 'OTHER_CONSTRUCTION', INDETERMINATE) -notdefined = express_getattr(IfcWindowStyleConstructionEnum, 'NOTDEFINED', INDETERMINATE) +aluminium = IfcWindowStyleConstructionEnum.ALUMINIUM +high_grade_steel = IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL +steel = IfcWindowStyleConstructionEnum.STEEL +wood = IfcWindowStyleConstructionEnum.WOOD +aluminium_wood = IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD +plastic = IfcWindowStyleConstructionEnum.PLASTIC +other_construction = IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION +notdefined = IfcWindowStyleConstructionEnum.NOTDEFINED IfcWindowStyleOperationEnum = enum_namespace() -single_panel = express_getattr(IfcWindowStyleOperationEnum, 'SINGLE_PANEL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowStyleOperationEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -double_panel_horizontal = express_getattr(IfcWindowStyleOperationEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowStyleOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowStyleOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_panel = IfcWindowStyleOperationEnum.SINGLE_PANEL +double_panel_vertical = IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL +double_panel_horizontal = IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL +triple_panel_vertical = IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL +triple_panel_bottom = IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM +triple_panel_top = IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP +triple_panel_left = IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT +triple_panel_horizontal = IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL +userdefined = IfcWindowStyleOperationEnum.USERDEFINED +notdefined = IfcWindowStyleOperationEnum.NOTDEFINED IfcWindowTypeEnum = enum_namespace() -window = express_getattr(IfcWindowTypeEnum, 'WINDOW', INDETERMINATE) -skylight = express_getattr(IfcWindowTypeEnum, 'SKYLIGHT', INDETERMINATE) -lightdome = express_getattr(IfcWindowTypeEnum, 'LIGHTDOME', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypeEnum, 'NOTDEFINED', INDETERMINATE) +window = IfcWindowTypeEnum.WINDOW +skylight = IfcWindowTypeEnum.SKYLIGHT +lightdome = IfcWindowTypeEnum.LIGHTDOME +userdefined = IfcWindowTypeEnum.USERDEFINED +notdefined = IfcWindowTypeEnum.NOTDEFINED IfcWindowTypePartitioningEnum = enum_namespace() -single_panel = express_getattr(IfcWindowTypePartitioningEnum, 'SINGLE_PANEL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -double_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypePartitioningEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypePartitioningEnum, 'NOTDEFINED', INDETERMINATE) +single_panel = IfcWindowTypePartitioningEnum.SINGLE_PANEL +double_panel_vertical = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_VERTICAL +double_panel_horizontal = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_HORIZONTAL +triple_panel_vertical = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_VERTICAL +triple_panel_bottom = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_BOTTOM +triple_panel_top = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_TOP +triple_panel_left = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_RIGHT +triple_panel_horizontal = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_HORIZONTAL +userdefined = IfcWindowTypePartitioningEnum.USERDEFINED +notdefined = IfcWindowTypePartitioningEnum.NOTDEFINED IfcWorkCalendarTypeEnum = enum_namespace() -firstshift = express_getattr(IfcWorkCalendarTypeEnum, 'FIRSTSHIFT', INDETERMINATE) -secondshift = express_getattr(IfcWorkCalendarTypeEnum, 'SECONDSHIFT', INDETERMINATE) -thirdshift = express_getattr(IfcWorkCalendarTypeEnum, 'THIRDSHIFT', INDETERMINATE) -userdefined = express_getattr(IfcWorkCalendarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkCalendarTypeEnum, 'NOTDEFINED', INDETERMINATE) +firstshift = IfcWorkCalendarTypeEnum.FIRSTSHIFT +secondshift = IfcWorkCalendarTypeEnum.SECONDSHIFT +thirdshift = IfcWorkCalendarTypeEnum.THIRDSHIFT +userdefined = IfcWorkCalendarTypeEnum.USERDEFINED +notdefined = IfcWorkCalendarTypeEnum.NOTDEFINED IfcWorkPlanTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkPlanTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkPlanTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkPlanTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkPlanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkPlanTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkPlanTypeEnum.ACTUAL +baseline = IfcWorkPlanTypeEnum.BASELINE +planned = IfcWorkPlanTypeEnum.PLANNED +userdefined = IfcWorkPlanTypeEnum.USERDEFINED +notdefined = IfcWorkPlanTypeEnum.NOTDEFINED IfcWorkScheduleTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkScheduleTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkScheduleTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkScheduleTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkScheduleTypeEnum.ACTUAL +baseline = IfcWorkScheduleTypeEnum.BASELINE +planned = IfcWorkScheduleTypeEnum.PLANNED +userdefined = IfcWorkScheduleTypeEnum.USERDEFINED +notdefined = IfcWorkScheduleTypeEnum.NOTDEFINED def IfcActionRequest(*args, **kwargs): return ifcopenshell.create_entity('IfcActionRequest', 'IFC4X2', *args, **kwargs) diff --git a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3.py b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3.py index 9d2f638222..3e99f58511 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3.py +++ b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3.py @@ -1,5 +1,8 @@ import ifcopenshell +def is_indeterminate(v): + return v is None or type(v).__name__ == 'indeterminate_type' + def exists(v): if callable(v): try: @@ -7,10 +10,10 @@ def exists(v): except IndexError as e: return False else: - return v is not None + return not is_indeterminate(v) def nvl(v, default): - return v if v is not None else default + return v if not is_indeterminate(v) else default def is_entity(inst): if isinstance(inst, ifcopenshell.entity_instance): @@ -22,13 +25,13 @@ def is_entity(inst): def express_len(v): if isinstance(v, ifcopenshell.entity_instance) and (not is_entity(v)): v = v[0] - elif v is None or v is INDETERMINATE: + elif is_indeterminate(v): return INDETERMINATE return len(v) old_range = range def range(*args): - if INDETERMINATE in args: + if any(map(is_indeterminate, args)): return yield from old_range(*args) sizeof = express_len @@ -149,2423 +152,2423 @@ class enum_namespace: def __getattr__(self, k): return express_getattr(k, 'upper', INDETERMINATE)() IfcActionRequestTypeEnum = enum_namespace() -email = express_getattr(IfcActionRequestTypeEnum, 'EMAIL', INDETERMINATE) -fax = express_getattr(IfcActionRequestTypeEnum, 'FAX', INDETERMINATE) -phone = express_getattr(IfcActionRequestTypeEnum, 'PHONE', INDETERMINATE) -post = express_getattr(IfcActionRequestTypeEnum, 'POST', INDETERMINATE) -verbal = express_getattr(IfcActionRequestTypeEnum, 'VERBAL', INDETERMINATE) -userdefined = express_getattr(IfcActionRequestTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionRequestTypeEnum, 'NOTDEFINED', INDETERMINATE) +email = IfcActionRequestTypeEnum.EMAIL +fax = IfcActionRequestTypeEnum.FAX +phone = IfcActionRequestTypeEnum.PHONE +post = IfcActionRequestTypeEnum.POST +verbal = IfcActionRequestTypeEnum.VERBAL +userdefined = IfcActionRequestTypeEnum.USERDEFINED +notdefined = IfcActionRequestTypeEnum.NOTDEFINED IfcActionSourceTypeEnum = enum_namespace() -brakes = express_getattr(IfcActionSourceTypeEnum, 'BRAKES', INDETERMINATE) -buoyancy = express_getattr(IfcActionSourceTypeEnum, 'BUOYANCY', INDETERMINATE) -completion_g1 = express_getattr(IfcActionSourceTypeEnum, 'COMPLETION_G1', INDETERMINATE) -creep = express_getattr(IfcActionSourceTypeEnum, 'CREEP', INDETERMINATE) -current = express_getattr(IfcActionSourceTypeEnum, 'CURRENT', INDETERMINATE) -dead_load_g = express_getattr(IfcActionSourceTypeEnum, 'DEAD_LOAD_G', INDETERMINATE) -earthquake_e = express_getattr(IfcActionSourceTypeEnum, 'EARTHQUAKE_E', INDETERMINATE) -erection = express_getattr(IfcActionSourceTypeEnum, 'ERECTION', INDETERMINATE) -fire = express_getattr(IfcActionSourceTypeEnum, 'FIRE', INDETERMINATE) -ice = express_getattr(IfcActionSourceTypeEnum, 'ICE', INDETERMINATE) -impact = express_getattr(IfcActionSourceTypeEnum, 'IMPACT', INDETERMINATE) -impulse = express_getattr(IfcActionSourceTypeEnum, 'IMPULSE', INDETERMINATE) -lack_of_fit = express_getattr(IfcActionSourceTypeEnum, 'LACK_OF_FIT', INDETERMINATE) -live_load_q = express_getattr(IfcActionSourceTypeEnum, 'LIVE_LOAD_Q', INDETERMINATE) -prestressing_p = express_getattr(IfcActionSourceTypeEnum, 'PRESTRESSING_P', INDETERMINATE) -propping = express_getattr(IfcActionSourceTypeEnum, 'PROPPING', INDETERMINATE) -rain = express_getattr(IfcActionSourceTypeEnum, 'RAIN', INDETERMINATE) -settlement_u = express_getattr(IfcActionSourceTypeEnum, 'SETTLEMENT_U', INDETERMINATE) -shrinkage = express_getattr(IfcActionSourceTypeEnum, 'SHRINKAGE', INDETERMINATE) -snow_s = express_getattr(IfcActionSourceTypeEnum, 'SNOW_S', INDETERMINATE) -system_imperfection = express_getattr(IfcActionSourceTypeEnum, 'SYSTEM_IMPERFECTION', INDETERMINATE) -temperature_t = express_getattr(IfcActionSourceTypeEnum, 'TEMPERATURE_T', INDETERMINATE) -transport = express_getattr(IfcActionSourceTypeEnum, 'TRANSPORT', INDETERMINATE) -wave = express_getattr(IfcActionSourceTypeEnum, 'WAVE', INDETERMINATE) -wind_w = express_getattr(IfcActionSourceTypeEnum, 'WIND_W', INDETERMINATE) -userdefined = express_getattr(IfcActionSourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionSourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +brakes = IfcActionSourceTypeEnum.BRAKES +buoyancy = IfcActionSourceTypeEnum.BUOYANCY +completion_g1 = IfcActionSourceTypeEnum.COMPLETION_G1 +creep = IfcActionSourceTypeEnum.CREEP +current = IfcActionSourceTypeEnum.CURRENT +dead_load_g = IfcActionSourceTypeEnum.DEAD_LOAD_G +earthquake_e = IfcActionSourceTypeEnum.EARTHQUAKE_E +erection = IfcActionSourceTypeEnum.ERECTION +fire = IfcActionSourceTypeEnum.FIRE +ice = IfcActionSourceTypeEnum.ICE +impact = IfcActionSourceTypeEnum.IMPACT +impulse = IfcActionSourceTypeEnum.IMPULSE +lack_of_fit = IfcActionSourceTypeEnum.LACK_OF_FIT +live_load_q = IfcActionSourceTypeEnum.LIVE_LOAD_Q +prestressing_p = IfcActionSourceTypeEnum.PRESTRESSING_P +propping = IfcActionSourceTypeEnum.PROPPING +rain = IfcActionSourceTypeEnum.RAIN +settlement_u = IfcActionSourceTypeEnum.SETTLEMENT_U +shrinkage = IfcActionSourceTypeEnum.SHRINKAGE +snow_s = IfcActionSourceTypeEnum.SNOW_S +system_imperfection = IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION +temperature_t = IfcActionSourceTypeEnum.TEMPERATURE_T +transport = IfcActionSourceTypeEnum.TRANSPORT +wave = IfcActionSourceTypeEnum.WAVE +wind_w = IfcActionSourceTypeEnum.WIND_W +userdefined = IfcActionSourceTypeEnum.USERDEFINED +notdefined = IfcActionSourceTypeEnum.NOTDEFINED IfcActionTypeEnum = enum_namespace() -extraordinary_a = express_getattr(IfcActionTypeEnum, 'EXTRAORDINARY_A', INDETERMINATE) -permanent_g = express_getattr(IfcActionTypeEnum, 'PERMANENT_G', INDETERMINATE) -variable_q = express_getattr(IfcActionTypeEnum, 'VARIABLE_Q', INDETERMINATE) -userdefined = express_getattr(IfcActionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionTypeEnum, 'NOTDEFINED', INDETERMINATE) +extraordinary_a = IfcActionTypeEnum.EXTRAORDINARY_A +permanent_g = IfcActionTypeEnum.PERMANENT_G +variable_q = IfcActionTypeEnum.VARIABLE_Q +userdefined = IfcActionTypeEnum.USERDEFINED +notdefined = IfcActionTypeEnum.NOTDEFINED IfcActuatorTypeEnum = enum_namespace() -electricactuator = express_getattr(IfcActuatorTypeEnum, 'ELECTRICACTUATOR', INDETERMINATE) -handoperatedactuator = express_getattr(IfcActuatorTypeEnum, 'HANDOPERATEDACTUATOR', INDETERMINATE) -hydraulicactuator = express_getattr(IfcActuatorTypeEnum, 'HYDRAULICACTUATOR', INDETERMINATE) -pneumaticactuator = express_getattr(IfcActuatorTypeEnum, 'PNEUMATICACTUATOR', INDETERMINATE) -thermostaticactuator = express_getattr(IfcActuatorTypeEnum, 'THERMOSTATICACTUATOR', INDETERMINATE) -userdefined = express_getattr(IfcActuatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActuatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +electricactuator = IfcActuatorTypeEnum.ELECTRICACTUATOR +handoperatedactuator = IfcActuatorTypeEnum.HANDOPERATEDACTUATOR +hydraulicactuator = IfcActuatorTypeEnum.HYDRAULICACTUATOR +pneumaticactuator = IfcActuatorTypeEnum.PNEUMATICACTUATOR +thermostaticactuator = IfcActuatorTypeEnum.THERMOSTATICACTUATOR +userdefined = IfcActuatorTypeEnum.USERDEFINED +notdefined = IfcActuatorTypeEnum.NOTDEFINED IfcAddressTypeEnum = enum_namespace() -distributionpoint = express_getattr(IfcAddressTypeEnum, 'DISTRIBUTIONPOINT', INDETERMINATE) -home = express_getattr(IfcAddressTypeEnum, 'HOME', INDETERMINATE) -office = express_getattr(IfcAddressTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcAddressTypeEnum, 'SITE', INDETERMINATE) -userdefined = express_getattr(IfcAddressTypeEnum, 'USERDEFINED', INDETERMINATE) +distributionpoint = IfcAddressTypeEnum.DISTRIBUTIONPOINT +home = IfcAddressTypeEnum.HOME +office = IfcAddressTypeEnum.OFFICE +site = IfcAddressTypeEnum.SITE +userdefined = IfcAddressTypeEnum.USERDEFINED IfcAirTerminalBoxTypeEnum = enum_namespace() -constantflow = express_getattr(IfcAirTerminalBoxTypeEnum, 'CONSTANTFLOW', INDETERMINATE) -variableflowpressuredependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREDEPENDANT', INDETERMINATE) -variableflowpressureindependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREINDEPENDANT', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +constantflow = IfcAirTerminalBoxTypeEnum.CONSTANTFLOW +variableflowpressuredependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT +variableflowpressureindependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT +userdefined = IfcAirTerminalBoxTypeEnum.USERDEFINED +notdefined = IfcAirTerminalBoxTypeEnum.NOTDEFINED IfcAirTerminalTypeEnum = enum_namespace() -diffuser = express_getattr(IfcAirTerminalTypeEnum, 'DIFFUSER', INDETERMINATE) -grille = express_getattr(IfcAirTerminalTypeEnum, 'GRILLE', INDETERMINATE) -louvre = express_getattr(IfcAirTerminalTypeEnum, 'LOUVRE', INDETERMINATE) -register = express_getattr(IfcAirTerminalTypeEnum, 'REGISTER', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +diffuser = IfcAirTerminalTypeEnum.DIFFUSER +grille = IfcAirTerminalTypeEnum.GRILLE +louvre = IfcAirTerminalTypeEnum.LOUVRE +register = IfcAirTerminalTypeEnum.REGISTER +userdefined = IfcAirTerminalTypeEnum.USERDEFINED +notdefined = IfcAirTerminalTypeEnum.NOTDEFINED IfcAirToAirHeatRecoveryTypeEnum = enum_namespace() -fixedplatecounterflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECOUNTERFLOWEXCHANGER', INDETERMINATE) -fixedplatecrossflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECROSSFLOWEXCHANGER', INDETERMINATE) -fixedplateparallelflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATEPARALLELFLOWEXCHANGER', INDETERMINATE) -heatpipe = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'HEATPIPE', INDETERMINATE) -rotarywheel = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'ROTARYWHEEL', INDETERMINATE) -runaroundcoilloop = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'RUNAROUNDCOILLOOP', INDETERMINATE) -thermosiphoncoiltypeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONCOILTYPEHEATEXCHANGERS', INDETERMINATE) -thermosiphonsealedtubeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONSEALEDTUBEHEATEXCHANGERS', INDETERMINATE) -twintowerenthalpyrecoveryloops = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'TWINTOWERENTHALPYRECOVERYLOOPS', INDETERMINATE) -userdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'NOTDEFINED', INDETERMINATE) +fixedplatecounterflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER +fixedplatecrossflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER +fixedplateparallelflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER +heatpipe = IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE +rotarywheel = IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL +runaroundcoilloop = IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP +thermosiphoncoiltypeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS +thermosiphonsealedtubeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS +twintowerenthalpyrecoveryloops = IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS +userdefined = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED +notdefined = IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED IfcAlarmTypeEnum = enum_namespace() -bell = express_getattr(IfcAlarmTypeEnum, 'BELL', INDETERMINATE) -breakglassbutton = express_getattr(IfcAlarmTypeEnum, 'BREAKGLASSBUTTON', INDETERMINATE) -light = express_getattr(IfcAlarmTypeEnum, 'LIGHT', INDETERMINATE) -manualpullbox = express_getattr(IfcAlarmTypeEnum, 'MANUALPULLBOX', INDETERMINATE) -railwaycrocodile = express_getattr(IfcAlarmTypeEnum, 'RAILWAYCROCODILE', INDETERMINATE) -railwaydetonator = express_getattr(IfcAlarmTypeEnum, 'RAILWAYDETONATOR', INDETERMINATE) -siren = express_getattr(IfcAlarmTypeEnum, 'SIREN', INDETERMINATE) -whistle = express_getattr(IfcAlarmTypeEnum, 'WHISTLE', INDETERMINATE) -userdefined = express_getattr(IfcAlarmTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlarmTypeEnum, 'NOTDEFINED', INDETERMINATE) +bell = IfcAlarmTypeEnum.BELL +breakglassbutton = IfcAlarmTypeEnum.BREAKGLASSBUTTON +light = IfcAlarmTypeEnum.LIGHT +manualpullbox = IfcAlarmTypeEnum.MANUALPULLBOX +railwaycrocodile = IfcAlarmTypeEnum.RAILWAYCROCODILE +railwaydetonator = IfcAlarmTypeEnum.RAILWAYDETONATOR +siren = IfcAlarmTypeEnum.SIREN +whistle = IfcAlarmTypeEnum.WHISTLE +userdefined = IfcAlarmTypeEnum.USERDEFINED +notdefined = IfcAlarmTypeEnum.NOTDEFINED IfcAlignmentCantSegmentTypeEnum = enum_namespace() -blosscurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'BLOSSCURVE', INDETERMINATE) -constantcant = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'CONSTANTCANT', INDETERMINATE) -cosinecurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'COSINECURVE', INDETERMINATE) -helmertcurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'HELMERTCURVE', INDETERMINATE) -lineartransition = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'LINEARTRANSITION', INDETERMINATE) -sinecurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'SINECURVE', INDETERMINATE) -viennesebend = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'VIENNESEBEND', INDETERMINATE) +blosscurve = IfcAlignmentCantSegmentTypeEnum.BLOSSCURVE +constantcant = IfcAlignmentCantSegmentTypeEnum.CONSTANTCANT +cosinecurve = IfcAlignmentCantSegmentTypeEnum.COSINECURVE +helmertcurve = IfcAlignmentCantSegmentTypeEnum.HELMERTCURVE +lineartransition = IfcAlignmentCantSegmentTypeEnum.LINEARTRANSITION +sinecurve = IfcAlignmentCantSegmentTypeEnum.SINECURVE +viennesebend = IfcAlignmentCantSegmentTypeEnum.VIENNESEBEND IfcAlignmentHorizontalSegmentTypeEnum = enum_namespace() -blosscurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'BLOSSCURVE', INDETERMINATE) -circulararc = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CIRCULARARC', INDETERMINATE) -clothoid = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CLOTHOID', INDETERMINATE) -cosinecurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'COSINECURVE', INDETERMINATE) -cubic = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CUBIC', INDETERMINATE) -helmertcurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'HELMERTCURVE', INDETERMINATE) -line = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'LINE', INDETERMINATE) -sinecurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'SINECURVE', INDETERMINATE) -viennesebend = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'VIENNESEBEND', INDETERMINATE) +blosscurve = IfcAlignmentHorizontalSegmentTypeEnum.BLOSSCURVE +circulararc = IfcAlignmentHorizontalSegmentTypeEnum.CIRCULARARC +clothoid = IfcAlignmentHorizontalSegmentTypeEnum.CLOTHOID +cosinecurve = IfcAlignmentHorizontalSegmentTypeEnum.COSINECURVE +cubic = IfcAlignmentHorizontalSegmentTypeEnum.CUBIC +helmertcurve = IfcAlignmentHorizontalSegmentTypeEnum.HELMERTCURVE +line = IfcAlignmentHorizontalSegmentTypeEnum.LINE +sinecurve = IfcAlignmentHorizontalSegmentTypeEnum.SINECURVE +viennesebend = IfcAlignmentHorizontalSegmentTypeEnum.VIENNESEBEND IfcAlignmentTypeEnum = enum_namespace() -userdefined = express_getattr(IfcAlignmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlignmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcAlignmentTypeEnum.USERDEFINED +notdefined = IfcAlignmentTypeEnum.NOTDEFINED IfcAlignmentVerticalSegmentTypeEnum = enum_namespace() -circulararc = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CIRCULARARC', INDETERMINATE) -clothoid = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CLOTHOID', INDETERMINATE) -constantgradient = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CONSTANTGRADIENT', INDETERMINATE) -parabolicarc = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'PARABOLICARC', INDETERMINATE) +circulararc = IfcAlignmentVerticalSegmentTypeEnum.CIRCULARARC +clothoid = IfcAlignmentVerticalSegmentTypeEnum.CLOTHOID +constantgradient = IfcAlignmentVerticalSegmentTypeEnum.CONSTANTGRADIENT +parabolicarc = IfcAlignmentVerticalSegmentTypeEnum.PARABOLICARC IfcAnalysisModelTypeEnum = enum_namespace() -in_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'IN_PLANE_LOADING_2D', INDETERMINATE) -loading_3d = express_getattr(IfcAnalysisModelTypeEnum, 'LOADING_3D', INDETERMINATE) -out_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'OUT_PLANE_LOADING_2D', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisModelTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisModelTypeEnum, 'NOTDEFINED', INDETERMINATE) +in_plane_loading_2d = IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D +loading_3d = IfcAnalysisModelTypeEnum.LOADING_3D +out_plane_loading_2d = IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D +userdefined = IfcAnalysisModelTypeEnum.USERDEFINED +notdefined = IfcAnalysisModelTypeEnum.NOTDEFINED IfcAnalysisTheoryTypeEnum = enum_namespace() -first_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FIRST_ORDER_THEORY', INDETERMINATE) -full_nonlinear_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FULL_NONLINEAR_THEORY', INDETERMINATE) -second_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'SECOND_ORDER_THEORY', INDETERMINATE) -third_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'THIRD_ORDER_THEORY', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +first_order_theory = IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY +full_nonlinear_theory = IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY +second_order_theory = IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY +third_order_theory = IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY +userdefined = IfcAnalysisTheoryTypeEnum.USERDEFINED +notdefined = IfcAnalysisTheoryTypeEnum.NOTDEFINED IfcAnnotationTypeEnum = enum_namespace() -asbuiltarea = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTAREA', INDETERMINATE) -asbuiltline = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTLINE', INDETERMINATE) -asbuiltpoint = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTPOINT', INDETERMINATE) -assumedarea = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDAREA', INDETERMINATE) -assumedline = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDLINE', INDETERMINATE) -assumedpoint = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDPOINT', INDETERMINATE) -non_physical_signal = express_getattr(IfcAnnotationTypeEnum, 'NON_PHYSICAL_SIGNAL', INDETERMINATE) -superelevationevent = express_getattr(IfcAnnotationTypeEnum, 'SUPERELEVATIONEVENT', INDETERMINATE) -widthevent = express_getattr(IfcAnnotationTypeEnum, 'WIDTHEVENT', INDETERMINATE) -userdefined = express_getattr(IfcAnnotationTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnnotationTypeEnum, 'NOTDEFINED', INDETERMINATE) +asbuiltarea = IfcAnnotationTypeEnum.ASBUILTAREA +asbuiltline = IfcAnnotationTypeEnum.ASBUILTLINE +asbuiltpoint = IfcAnnotationTypeEnum.ASBUILTPOINT +assumedarea = IfcAnnotationTypeEnum.ASSUMEDAREA +assumedline = IfcAnnotationTypeEnum.ASSUMEDLINE +assumedpoint = IfcAnnotationTypeEnum.ASSUMEDPOINT +non_physical_signal = IfcAnnotationTypeEnum.NON_PHYSICAL_SIGNAL +superelevationevent = IfcAnnotationTypeEnum.SUPERELEVATIONEVENT +widthevent = IfcAnnotationTypeEnum.WIDTHEVENT +userdefined = IfcAnnotationTypeEnum.USERDEFINED +notdefined = IfcAnnotationTypeEnum.NOTDEFINED IfcArithmeticOperatorEnum = enum_namespace() -add = express_getattr(IfcArithmeticOperatorEnum, 'ADD', INDETERMINATE) -divide = express_getattr(IfcArithmeticOperatorEnum, 'DIVIDE', INDETERMINATE) -multiply = express_getattr(IfcArithmeticOperatorEnum, 'MULTIPLY', INDETERMINATE) -subtract = express_getattr(IfcArithmeticOperatorEnum, 'SUBTRACT', INDETERMINATE) +add = IfcArithmeticOperatorEnum.ADD +divide = IfcArithmeticOperatorEnum.DIVIDE +multiply = IfcArithmeticOperatorEnum.MULTIPLY +subtract = IfcArithmeticOperatorEnum.SUBTRACT IfcAssemblyPlaceEnum = enum_namespace() -factory = express_getattr(IfcAssemblyPlaceEnum, 'FACTORY', INDETERMINATE) -site = express_getattr(IfcAssemblyPlaceEnum, 'SITE', INDETERMINATE) -notdefined = express_getattr(IfcAssemblyPlaceEnum, 'NOTDEFINED', INDETERMINATE) +factory = IfcAssemblyPlaceEnum.FACTORY +site = IfcAssemblyPlaceEnum.SITE +notdefined = IfcAssemblyPlaceEnum.NOTDEFINED IfcAudioVisualApplianceTypeEnum = enum_namespace() -amplifier = express_getattr(IfcAudioVisualApplianceTypeEnum, 'AMPLIFIER', INDETERMINATE) -camera = express_getattr(IfcAudioVisualApplianceTypeEnum, 'CAMERA', INDETERMINATE) -communicationterminal = express_getattr(IfcAudioVisualApplianceTypeEnum, 'COMMUNICATIONTERMINAL', INDETERMINATE) -display = express_getattr(IfcAudioVisualApplianceTypeEnum, 'DISPLAY', INDETERMINATE) -microphone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'MICROPHONE', INDETERMINATE) -player = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PLAYER', INDETERMINATE) -projector = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PROJECTOR', INDETERMINATE) -receiver = express_getattr(IfcAudioVisualApplianceTypeEnum, 'RECEIVER', INDETERMINATE) -recordingequipment = express_getattr(IfcAudioVisualApplianceTypeEnum, 'RECORDINGEQUIPMENT', INDETERMINATE) -speaker = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SPEAKER', INDETERMINATE) -switcher = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SWITCHER', INDETERMINATE) -telephone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TELEPHONE', INDETERMINATE) -tuner = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TUNER', INDETERMINATE) -userdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +amplifier = IfcAudioVisualApplianceTypeEnum.AMPLIFIER +camera = IfcAudioVisualApplianceTypeEnum.CAMERA +communicationterminal = IfcAudioVisualApplianceTypeEnum.COMMUNICATIONTERMINAL +display = IfcAudioVisualApplianceTypeEnum.DISPLAY +microphone = IfcAudioVisualApplianceTypeEnum.MICROPHONE +player = IfcAudioVisualApplianceTypeEnum.PLAYER +projector = IfcAudioVisualApplianceTypeEnum.PROJECTOR +receiver = IfcAudioVisualApplianceTypeEnum.RECEIVER +recordingequipment = IfcAudioVisualApplianceTypeEnum.RECORDINGEQUIPMENT +speaker = IfcAudioVisualApplianceTypeEnum.SPEAKER +switcher = IfcAudioVisualApplianceTypeEnum.SWITCHER +telephone = IfcAudioVisualApplianceTypeEnum.TELEPHONE +tuner = IfcAudioVisualApplianceTypeEnum.TUNER +userdefined = IfcAudioVisualApplianceTypeEnum.USERDEFINED +notdefined = IfcAudioVisualApplianceTypeEnum.NOTDEFINED IfcBSplineCurveForm = enum_namespace() -circular_arc = express_getattr(IfcBSplineCurveForm, 'CIRCULAR_ARC', INDETERMINATE) -elliptic_arc = express_getattr(IfcBSplineCurveForm, 'ELLIPTIC_ARC', INDETERMINATE) -hyperbolic_arc = express_getattr(IfcBSplineCurveForm, 'HYPERBOLIC_ARC', INDETERMINATE) -parabolic_arc = express_getattr(IfcBSplineCurveForm, 'PARABOLIC_ARC', INDETERMINATE) -polyline_form = express_getattr(IfcBSplineCurveForm, 'POLYLINE_FORM', INDETERMINATE) -unspecified = express_getattr(IfcBSplineCurveForm, 'UNSPECIFIED', INDETERMINATE) +circular_arc = IfcBSplineCurveForm.CIRCULAR_ARC +elliptic_arc = IfcBSplineCurveForm.ELLIPTIC_ARC +hyperbolic_arc = IfcBSplineCurveForm.HYPERBOLIC_ARC +parabolic_arc = IfcBSplineCurveForm.PARABOLIC_ARC +polyline_form = IfcBSplineCurveForm.POLYLINE_FORM +unspecified = IfcBSplineCurveForm.UNSPECIFIED IfcBSplineSurfaceForm = enum_namespace() -conical_surf = express_getattr(IfcBSplineSurfaceForm, 'CONICAL_SURF', INDETERMINATE) -cylindrical_surf = express_getattr(IfcBSplineSurfaceForm, 'CYLINDRICAL_SURF', INDETERMINATE) -generalised_cone = express_getattr(IfcBSplineSurfaceForm, 'GENERALISED_CONE', INDETERMINATE) -plane_surf = express_getattr(IfcBSplineSurfaceForm, 'PLANE_SURF', INDETERMINATE) -quadric_surf = express_getattr(IfcBSplineSurfaceForm, 'QUADRIC_SURF', INDETERMINATE) -ruled_surf = express_getattr(IfcBSplineSurfaceForm, 'RULED_SURF', INDETERMINATE) -spherical_surf = express_getattr(IfcBSplineSurfaceForm, 'SPHERICAL_SURF', INDETERMINATE) -surf_of_linear_extrusion = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_LINEAR_EXTRUSION', INDETERMINATE) -surf_of_revolution = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_REVOLUTION', INDETERMINATE) -toroidal_surf = express_getattr(IfcBSplineSurfaceForm, 'TOROIDAL_SURF', INDETERMINATE) -unspecified = express_getattr(IfcBSplineSurfaceForm, 'UNSPECIFIED', INDETERMINATE) +conical_surf = IfcBSplineSurfaceForm.CONICAL_SURF +cylindrical_surf = IfcBSplineSurfaceForm.CYLINDRICAL_SURF +generalised_cone = IfcBSplineSurfaceForm.GENERALISED_CONE +plane_surf = IfcBSplineSurfaceForm.PLANE_SURF +quadric_surf = IfcBSplineSurfaceForm.QUADRIC_SURF +ruled_surf = IfcBSplineSurfaceForm.RULED_SURF +spherical_surf = IfcBSplineSurfaceForm.SPHERICAL_SURF +surf_of_linear_extrusion = IfcBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION +surf_of_revolution = IfcBSplineSurfaceForm.SURF_OF_REVOLUTION +toroidal_surf = IfcBSplineSurfaceForm.TOROIDAL_SURF +unspecified = IfcBSplineSurfaceForm.UNSPECIFIED IfcBeamTypeEnum = enum_namespace() -beam = express_getattr(IfcBeamTypeEnum, 'BEAM', INDETERMINATE) -cornice = express_getattr(IfcBeamTypeEnum, 'CORNICE', INDETERMINATE) -diaphragm = express_getattr(IfcBeamTypeEnum, 'DIAPHRAGM', INDETERMINATE) -edgebeam = express_getattr(IfcBeamTypeEnum, 'EDGEBEAM', INDETERMINATE) -girder_segment = express_getattr(IfcBeamTypeEnum, 'GIRDER_SEGMENT', INDETERMINATE) -hatstone = express_getattr(IfcBeamTypeEnum, 'HATSTONE', INDETERMINATE) -hollowcore = express_getattr(IfcBeamTypeEnum, 'HOLLOWCORE', INDETERMINATE) -joist = express_getattr(IfcBeamTypeEnum, 'JOIST', INDETERMINATE) -lintel = express_getattr(IfcBeamTypeEnum, 'LINTEL', INDETERMINATE) -piercap = express_getattr(IfcBeamTypeEnum, 'PIERCAP', INDETERMINATE) -spandrel = express_getattr(IfcBeamTypeEnum, 'SPANDREL', INDETERMINATE) -t_beam = express_getattr(IfcBeamTypeEnum, 'T_BEAM', INDETERMINATE) -userdefined = express_getattr(IfcBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +beam = IfcBeamTypeEnum.BEAM +cornice = IfcBeamTypeEnum.CORNICE +diaphragm = IfcBeamTypeEnum.DIAPHRAGM +edgebeam = IfcBeamTypeEnum.EDGEBEAM +girder_segment = IfcBeamTypeEnum.GIRDER_SEGMENT +hatstone = IfcBeamTypeEnum.HATSTONE +hollowcore = IfcBeamTypeEnum.HOLLOWCORE +joist = IfcBeamTypeEnum.JOIST +lintel = IfcBeamTypeEnum.LINTEL +piercap = IfcBeamTypeEnum.PIERCAP +spandrel = IfcBeamTypeEnum.SPANDREL +t_beam = IfcBeamTypeEnum.T_BEAM +userdefined = IfcBeamTypeEnum.USERDEFINED +notdefined = IfcBeamTypeEnum.NOTDEFINED IfcBearingTypeDisplacementEnum = enum_namespace() -fixed_movement = express_getattr(IfcBearingTypeDisplacementEnum, 'FIXED_MOVEMENT', INDETERMINATE) -free_movement = express_getattr(IfcBearingTypeDisplacementEnum, 'FREE_MOVEMENT', INDETERMINATE) -guided_longitudinal = express_getattr(IfcBearingTypeDisplacementEnum, 'GUIDED_LONGITUDINAL', INDETERMINATE) -guided_transversal = express_getattr(IfcBearingTypeDisplacementEnum, 'GUIDED_TRANSVERSAL', INDETERMINATE) -notdefined = express_getattr(IfcBearingTypeDisplacementEnum, 'NOTDEFINED', INDETERMINATE) +fixed_movement = IfcBearingTypeDisplacementEnum.FIXED_MOVEMENT +free_movement = IfcBearingTypeDisplacementEnum.FREE_MOVEMENT +guided_longitudinal = IfcBearingTypeDisplacementEnum.GUIDED_LONGITUDINAL +guided_transversal = IfcBearingTypeDisplacementEnum.GUIDED_TRANSVERSAL +notdefined = IfcBearingTypeDisplacementEnum.NOTDEFINED IfcBearingTypeEnum = enum_namespace() -cylindrical = express_getattr(IfcBearingTypeEnum, 'CYLINDRICAL', INDETERMINATE) -disk = express_getattr(IfcBearingTypeEnum, 'DISK', INDETERMINATE) -elastomeric = express_getattr(IfcBearingTypeEnum, 'ELASTOMERIC', INDETERMINATE) -guide = express_getattr(IfcBearingTypeEnum, 'GUIDE', INDETERMINATE) -pot = express_getattr(IfcBearingTypeEnum, 'POT', INDETERMINATE) -rocker = express_getattr(IfcBearingTypeEnum, 'ROCKER', INDETERMINATE) -roller = express_getattr(IfcBearingTypeEnum, 'ROLLER', INDETERMINATE) -spherical = express_getattr(IfcBearingTypeEnum, 'SPHERICAL', INDETERMINATE) -userdefined = express_getattr(IfcBearingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBearingTypeEnum, 'NOTDEFINED', INDETERMINATE) +cylindrical = IfcBearingTypeEnum.CYLINDRICAL +disk = IfcBearingTypeEnum.DISK +elastomeric = IfcBearingTypeEnum.ELASTOMERIC +guide = IfcBearingTypeEnum.GUIDE +pot = IfcBearingTypeEnum.POT +rocker = IfcBearingTypeEnum.ROCKER +roller = IfcBearingTypeEnum.ROLLER +spherical = IfcBearingTypeEnum.SPHERICAL +userdefined = IfcBearingTypeEnum.USERDEFINED +notdefined = IfcBearingTypeEnum.NOTDEFINED IfcBenchmarkEnum = enum_namespace() -equalto = express_getattr(IfcBenchmarkEnum, 'EQUALTO', INDETERMINATE) -greaterthan = express_getattr(IfcBenchmarkEnum, 'GREATERTHAN', INDETERMINATE) -greaterthanorequalto = express_getattr(IfcBenchmarkEnum, 'GREATERTHANOREQUALTO', INDETERMINATE) -includedin = express_getattr(IfcBenchmarkEnum, 'INCLUDEDIN', INDETERMINATE) -includes = express_getattr(IfcBenchmarkEnum, 'INCLUDES', INDETERMINATE) -lessthan = express_getattr(IfcBenchmarkEnum, 'LESSTHAN', INDETERMINATE) -lessthanorequalto = express_getattr(IfcBenchmarkEnum, 'LESSTHANOREQUALTO', INDETERMINATE) -notequalto = express_getattr(IfcBenchmarkEnum, 'NOTEQUALTO', INDETERMINATE) -notincludedin = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDEDIN', INDETERMINATE) -notincludes = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDES', INDETERMINATE) +equalto = IfcBenchmarkEnum.EQUALTO +greaterthan = IfcBenchmarkEnum.GREATERTHAN +greaterthanorequalto = IfcBenchmarkEnum.GREATERTHANOREQUALTO +includedin = IfcBenchmarkEnum.INCLUDEDIN +includes = IfcBenchmarkEnum.INCLUDES +lessthan = IfcBenchmarkEnum.LESSTHAN +lessthanorequalto = IfcBenchmarkEnum.LESSTHANOREQUALTO +notequalto = IfcBenchmarkEnum.NOTEQUALTO +notincludedin = IfcBenchmarkEnum.NOTINCLUDEDIN +notincludes = IfcBenchmarkEnum.NOTINCLUDES IfcBoilerTypeEnum = enum_namespace() -steam = express_getattr(IfcBoilerTypeEnum, 'STEAM', INDETERMINATE) -water = express_getattr(IfcBoilerTypeEnum, 'WATER', INDETERMINATE) -userdefined = express_getattr(IfcBoilerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBoilerTypeEnum, 'NOTDEFINED', INDETERMINATE) +steam = IfcBoilerTypeEnum.STEAM +water = IfcBoilerTypeEnum.WATER +userdefined = IfcBoilerTypeEnum.USERDEFINED +notdefined = IfcBoilerTypeEnum.NOTDEFINED IfcBooleanOperator = enum_namespace() -difference = express_getattr(IfcBooleanOperator, 'DIFFERENCE', INDETERMINATE) -intersection = express_getattr(IfcBooleanOperator, 'INTERSECTION', INDETERMINATE) -union = express_getattr(IfcBooleanOperator, 'UNION', INDETERMINATE) +difference = IfcBooleanOperator.DIFFERENCE +intersection = IfcBooleanOperator.INTERSECTION +union = IfcBooleanOperator.UNION IfcBridgePartTypeEnum = enum_namespace() -abutment = express_getattr(IfcBridgePartTypeEnum, 'ABUTMENT', INDETERMINATE) -deck = express_getattr(IfcBridgePartTypeEnum, 'DECK', INDETERMINATE) -deck_segment = express_getattr(IfcBridgePartTypeEnum, 'DECK_SEGMENT', INDETERMINATE) -foundation = express_getattr(IfcBridgePartTypeEnum, 'FOUNDATION', INDETERMINATE) -pier = express_getattr(IfcBridgePartTypeEnum, 'PIER', INDETERMINATE) -pier_segment = express_getattr(IfcBridgePartTypeEnum, 'PIER_SEGMENT', INDETERMINATE) -pylon = express_getattr(IfcBridgePartTypeEnum, 'PYLON', INDETERMINATE) -substructure = express_getattr(IfcBridgePartTypeEnum, 'SUBSTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcBridgePartTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -surfacestructure = express_getattr(IfcBridgePartTypeEnum, 'SURFACESTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcBridgePartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBridgePartTypeEnum, 'NOTDEFINED', INDETERMINATE) +abutment = IfcBridgePartTypeEnum.ABUTMENT +deck = IfcBridgePartTypeEnum.DECK +deck_segment = IfcBridgePartTypeEnum.DECK_SEGMENT +foundation = IfcBridgePartTypeEnum.FOUNDATION +pier = IfcBridgePartTypeEnum.PIER +pier_segment = IfcBridgePartTypeEnum.PIER_SEGMENT +pylon = IfcBridgePartTypeEnum.PYLON +substructure = IfcBridgePartTypeEnum.SUBSTRUCTURE +superstructure = IfcBridgePartTypeEnum.SUPERSTRUCTURE +surfacestructure = IfcBridgePartTypeEnum.SURFACESTRUCTURE +userdefined = IfcBridgePartTypeEnum.USERDEFINED +notdefined = IfcBridgePartTypeEnum.NOTDEFINED IfcBridgeTypeEnum = enum_namespace() -arched = express_getattr(IfcBridgeTypeEnum, 'ARCHED', INDETERMINATE) -cable_stayed = express_getattr(IfcBridgeTypeEnum, 'CABLE_STAYED', INDETERMINATE) -cantilever = express_getattr(IfcBridgeTypeEnum, 'CANTILEVER', INDETERMINATE) -culvert = express_getattr(IfcBridgeTypeEnum, 'CULVERT', INDETERMINATE) -framework = express_getattr(IfcBridgeTypeEnum, 'FRAMEWORK', INDETERMINATE) -girder = express_getattr(IfcBridgeTypeEnum, 'GIRDER', INDETERMINATE) -suspension = express_getattr(IfcBridgeTypeEnum, 'SUSPENSION', INDETERMINATE) -truss = express_getattr(IfcBridgeTypeEnum, 'TRUSS', INDETERMINATE) -userdefined = express_getattr(IfcBridgeTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBridgeTypeEnum, 'NOTDEFINED', INDETERMINATE) +arched = IfcBridgeTypeEnum.ARCHED +cable_stayed = IfcBridgeTypeEnum.CABLE_STAYED +cantilever = IfcBridgeTypeEnum.CANTILEVER +culvert = IfcBridgeTypeEnum.CULVERT +framework = IfcBridgeTypeEnum.FRAMEWORK +girder = IfcBridgeTypeEnum.GIRDER +suspension = IfcBridgeTypeEnum.SUSPENSION +truss = IfcBridgeTypeEnum.TRUSS +userdefined = IfcBridgeTypeEnum.USERDEFINED +notdefined = IfcBridgeTypeEnum.NOTDEFINED IfcBuildingElementPartTypeEnum = enum_namespace() -apron = express_getattr(IfcBuildingElementPartTypeEnum, 'APRON', INDETERMINATE) -armourunit = express_getattr(IfcBuildingElementPartTypeEnum, 'ARMOURUNIT', INDETERMINATE) -insulation = express_getattr(IfcBuildingElementPartTypeEnum, 'INSULATION', INDETERMINATE) -precastpanel = express_getattr(IfcBuildingElementPartTypeEnum, 'PRECASTPANEL', INDETERMINATE) -safetycage = express_getattr(IfcBuildingElementPartTypeEnum, 'SAFETYCAGE', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +apron = IfcBuildingElementPartTypeEnum.APRON +armourunit = IfcBuildingElementPartTypeEnum.ARMOURUNIT +insulation = IfcBuildingElementPartTypeEnum.INSULATION +precastpanel = IfcBuildingElementPartTypeEnum.PRECASTPANEL +safetycage = IfcBuildingElementPartTypeEnum.SAFETYCAGE +userdefined = IfcBuildingElementPartTypeEnum.USERDEFINED +notdefined = IfcBuildingElementPartTypeEnum.NOTDEFINED IfcBuildingElementProxyTypeEnum = enum_namespace() -complex = express_getattr(IfcBuildingElementProxyTypeEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcBuildingElementProxyTypeEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcBuildingElementProxyTypeEnum, 'PARTIAL', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'NOTDEFINED', INDETERMINATE) +complex = IfcBuildingElementProxyTypeEnum.COMPLEX +element = IfcBuildingElementProxyTypeEnum.ELEMENT +partial = IfcBuildingElementProxyTypeEnum.PARTIAL +userdefined = IfcBuildingElementProxyTypeEnum.USERDEFINED +notdefined = IfcBuildingElementProxyTypeEnum.NOTDEFINED IfcBuildingSystemTypeEnum = enum_namespace() -erosionprevention = express_getattr(IfcBuildingSystemTypeEnum, 'EROSIONPREVENTION', INDETERMINATE) -fenestration = express_getattr(IfcBuildingSystemTypeEnum, 'FENESTRATION', INDETERMINATE) -foundation = express_getattr(IfcBuildingSystemTypeEnum, 'FOUNDATION', INDETERMINATE) -loadbearing = express_getattr(IfcBuildingSystemTypeEnum, 'LOADBEARING', INDETERMINATE) -outershell = express_getattr(IfcBuildingSystemTypeEnum, 'OUTERSHELL', INDETERMINATE) -prestressing = express_getattr(IfcBuildingSystemTypeEnum, 'PRESTRESSING', INDETERMINATE) -reinforcing = express_getattr(IfcBuildingSystemTypeEnum, 'REINFORCING', INDETERMINATE) -shading = express_getattr(IfcBuildingSystemTypeEnum, 'SHADING', INDETERMINATE) -transport = express_getattr(IfcBuildingSystemTypeEnum, 'TRANSPORT', INDETERMINATE) -userdefined = express_getattr(IfcBuildingSystemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingSystemTypeEnum, 'NOTDEFINED', INDETERMINATE) +erosionprevention = IfcBuildingSystemTypeEnum.EROSIONPREVENTION +fenestration = IfcBuildingSystemTypeEnum.FENESTRATION +foundation = IfcBuildingSystemTypeEnum.FOUNDATION +loadbearing = IfcBuildingSystemTypeEnum.LOADBEARING +outershell = IfcBuildingSystemTypeEnum.OUTERSHELL +prestressing = IfcBuildingSystemTypeEnum.PRESTRESSING +reinforcing = IfcBuildingSystemTypeEnum.REINFORCING +shading = IfcBuildingSystemTypeEnum.SHADING +transport = IfcBuildingSystemTypeEnum.TRANSPORT +userdefined = IfcBuildingSystemTypeEnum.USERDEFINED +notdefined = IfcBuildingSystemTypeEnum.NOTDEFINED IfcBuiltSystemTypeEnum = enum_namespace() -erosionprevention = express_getattr(IfcBuiltSystemTypeEnum, 'EROSIONPREVENTION', INDETERMINATE) -fenestration = express_getattr(IfcBuiltSystemTypeEnum, 'FENESTRATION', INDETERMINATE) -foundation = express_getattr(IfcBuiltSystemTypeEnum, 'FOUNDATION', INDETERMINATE) -loadbearing = express_getattr(IfcBuiltSystemTypeEnum, 'LOADBEARING', INDETERMINATE) -mooring = express_getattr(IfcBuiltSystemTypeEnum, 'MOORING', INDETERMINATE) -outershell = express_getattr(IfcBuiltSystemTypeEnum, 'OUTERSHELL', INDETERMINATE) -prestressing = express_getattr(IfcBuiltSystemTypeEnum, 'PRESTRESSING', INDETERMINATE) -railwayline = express_getattr(IfcBuiltSystemTypeEnum, 'RAILWAYLINE', INDETERMINATE) -railwaytrack = express_getattr(IfcBuiltSystemTypeEnum, 'RAILWAYTRACK', INDETERMINATE) -reinforcing = express_getattr(IfcBuiltSystemTypeEnum, 'REINFORCING', INDETERMINATE) -shading = express_getattr(IfcBuiltSystemTypeEnum, 'SHADING', INDETERMINATE) -trackcircuit = express_getattr(IfcBuiltSystemTypeEnum, 'TRACKCIRCUIT', INDETERMINATE) -transport = express_getattr(IfcBuiltSystemTypeEnum, 'TRANSPORT', INDETERMINATE) -userdefined = express_getattr(IfcBuiltSystemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuiltSystemTypeEnum, 'NOTDEFINED', INDETERMINATE) +erosionprevention = IfcBuiltSystemTypeEnum.EROSIONPREVENTION +fenestration = IfcBuiltSystemTypeEnum.FENESTRATION +foundation = IfcBuiltSystemTypeEnum.FOUNDATION +loadbearing = IfcBuiltSystemTypeEnum.LOADBEARING +mooring = IfcBuiltSystemTypeEnum.MOORING +outershell = IfcBuiltSystemTypeEnum.OUTERSHELL +prestressing = IfcBuiltSystemTypeEnum.PRESTRESSING +railwayline = IfcBuiltSystemTypeEnum.RAILWAYLINE +railwaytrack = IfcBuiltSystemTypeEnum.RAILWAYTRACK +reinforcing = IfcBuiltSystemTypeEnum.REINFORCING +shading = IfcBuiltSystemTypeEnum.SHADING +trackcircuit = IfcBuiltSystemTypeEnum.TRACKCIRCUIT +transport = IfcBuiltSystemTypeEnum.TRANSPORT +userdefined = IfcBuiltSystemTypeEnum.USERDEFINED +notdefined = IfcBuiltSystemTypeEnum.NOTDEFINED IfcBurnerTypeEnum = enum_namespace() -userdefined = express_getattr(IfcBurnerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBurnerTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcBurnerTypeEnum.USERDEFINED +notdefined = IfcBurnerTypeEnum.NOTDEFINED IfcCableCarrierFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcCableCarrierFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcCableCarrierFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -cross = express_getattr(IfcCableCarrierFittingTypeEnum, 'CROSS', INDETERMINATE) -junction = express_getattr(IfcCableCarrierFittingTypeEnum, 'JUNCTION', INDETERMINATE) -tee = express_getattr(IfcCableCarrierFittingTypeEnum, 'TEE', INDETERMINATE) -transition = express_getattr(IfcCableCarrierFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcCableCarrierFittingTypeEnum.BEND +connector = IfcCableCarrierFittingTypeEnum.CONNECTOR +cross = IfcCableCarrierFittingTypeEnum.CROSS +junction = IfcCableCarrierFittingTypeEnum.JUNCTION +tee = IfcCableCarrierFittingTypeEnum.TEE +transition = IfcCableCarrierFittingTypeEnum.TRANSITION +userdefined = IfcCableCarrierFittingTypeEnum.USERDEFINED +notdefined = IfcCableCarrierFittingTypeEnum.NOTDEFINED IfcCableCarrierSegmentTypeEnum = enum_namespace() -cablebracket = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLEBRACKET', INDETERMINATE) -cableladdersegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLELADDERSEGMENT', INDETERMINATE) -cabletraysegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRAYSEGMENT', INDETERMINATE) -cabletrunkingsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRUNKINGSEGMENT', INDETERMINATE) -catenarywire = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CATENARYWIRE', INDETERMINATE) -conduitsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CONDUITSEGMENT', INDETERMINATE) -dropper = express_getattr(IfcCableCarrierSegmentTypeEnum, 'DROPPER', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +cablebracket = IfcCableCarrierSegmentTypeEnum.CABLEBRACKET +cableladdersegment = IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT +cabletraysegment = IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT +cabletrunkingsegment = IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT +catenarywire = IfcCableCarrierSegmentTypeEnum.CATENARYWIRE +conduitsegment = IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT +dropper = IfcCableCarrierSegmentTypeEnum.DROPPER +userdefined = IfcCableCarrierSegmentTypeEnum.USERDEFINED +notdefined = IfcCableCarrierSegmentTypeEnum.NOTDEFINED IfcCableFittingTypeEnum = enum_namespace() -connector = express_getattr(IfcCableFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcCableFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcCableFittingTypeEnum, 'EXIT', INDETERMINATE) -fanout = express_getattr(IfcCableFittingTypeEnum, 'FANOUT', INDETERMINATE) -junction = express_getattr(IfcCableFittingTypeEnum, 'JUNCTION', INDETERMINATE) -transition = express_getattr(IfcCableFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcCableFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +connector = IfcCableFittingTypeEnum.CONNECTOR +entry = IfcCableFittingTypeEnum.ENTRY +exit = IfcCableFittingTypeEnum.EXIT +fanout = IfcCableFittingTypeEnum.FANOUT +junction = IfcCableFittingTypeEnum.JUNCTION +transition = IfcCableFittingTypeEnum.TRANSITION +userdefined = IfcCableFittingTypeEnum.USERDEFINED +notdefined = IfcCableFittingTypeEnum.NOTDEFINED IfcCableSegmentTypeEnum = enum_namespace() -busbarsegment = express_getattr(IfcCableSegmentTypeEnum, 'BUSBARSEGMENT', INDETERMINATE) -cablesegment = express_getattr(IfcCableSegmentTypeEnum, 'CABLESEGMENT', INDETERMINATE) -conductorsegment = express_getattr(IfcCableSegmentTypeEnum, 'CONDUCTORSEGMENT', INDETERMINATE) -contactwiresegment = express_getattr(IfcCableSegmentTypeEnum, 'CONTACTWIRESEGMENT', INDETERMINATE) -coresegment = express_getattr(IfcCableSegmentTypeEnum, 'CORESEGMENT', INDETERMINATE) -fibersegment = express_getattr(IfcCableSegmentTypeEnum, 'FIBERSEGMENT', INDETERMINATE) -fibertube = express_getattr(IfcCableSegmentTypeEnum, 'FIBERTUBE', INDETERMINATE) -opticalcablesegment = express_getattr(IfcCableSegmentTypeEnum, 'OPTICALCABLESEGMENT', INDETERMINATE) -stitchwire = express_getattr(IfcCableSegmentTypeEnum, 'STITCHWIRE', INDETERMINATE) -wirepairsegment = express_getattr(IfcCableSegmentTypeEnum, 'WIREPAIRSEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcCableSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +busbarsegment = IfcCableSegmentTypeEnum.BUSBARSEGMENT +cablesegment = IfcCableSegmentTypeEnum.CABLESEGMENT +conductorsegment = IfcCableSegmentTypeEnum.CONDUCTORSEGMENT +contactwiresegment = IfcCableSegmentTypeEnum.CONTACTWIRESEGMENT +coresegment = IfcCableSegmentTypeEnum.CORESEGMENT +fibersegment = IfcCableSegmentTypeEnum.FIBERSEGMENT +fibertube = IfcCableSegmentTypeEnum.FIBERTUBE +opticalcablesegment = IfcCableSegmentTypeEnum.OPTICALCABLESEGMENT +stitchwire = IfcCableSegmentTypeEnum.STITCHWIRE +wirepairsegment = IfcCableSegmentTypeEnum.WIREPAIRSEGMENT +userdefined = IfcCableSegmentTypeEnum.USERDEFINED +notdefined = IfcCableSegmentTypeEnum.NOTDEFINED IfcCaissonFoundationTypeEnum = enum_namespace() -caisson = express_getattr(IfcCaissonFoundationTypeEnum, 'CAISSON', INDETERMINATE) -well = express_getattr(IfcCaissonFoundationTypeEnum, 'WELL', INDETERMINATE) -userdefined = express_getattr(IfcCaissonFoundationTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCaissonFoundationTypeEnum, 'NOTDEFINED', INDETERMINATE) +caisson = IfcCaissonFoundationTypeEnum.CAISSON +well = IfcCaissonFoundationTypeEnum.WELL +userdefined = IfcCaissonFoundationTypeEnum.USERDEFINED +notdefined = IfcCaissonFoundationTypeEnum.NOTDEFINED IfcChangeActionEnum = enum_namespace() -added = express_getattr(IfcChangeActionEnum, 'ADDED', INDETERMINATE) -deleted = express_getattr(IfcChangeActionEnum, 'DELETED', INDETERMINATE) -modified = express_getattr(IfcChangeActionEnum, 'MODIFIED', INDETERMINATE) -nochange = express_getattr(IfcChangeActionEnum, 'NOCHANGE', INDETERMINATE) -notdefined = express_getattr(IfcChangeActionEnum, 'NOTDEFINED', INDETERMINATE) +added = IfcChangeActionEnum.ADDED +deleted = IfcChangeActionEnum.DELETED +modified = IfcChangeActionEnum.MODIFIED +nochange = IfcChangeActionEnum.NOCHANGE +notdefined = IfcChangeActionEnum.NOTDEFINED IfcChillerTypeEnum = enum_namespace() -aircooled = express_getattr(IfcChillerTypeEnum, 'AIRCOOLED', INDETERMINATE) -heatrecovery = express_getattr(IfcChillerTypeEnum, 'HEATRECOVERY', INDETERMINATE) -watercooled = express_getattr(IfcChillerTypeEnum, 'WATERCOOLED', INDETERMINATE) -userdefined = express_getattr(IfcChillerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChillerTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcChillerTypeEnum.AIRCOOLED +heatrecovery = IfcChillerTypeEnum.HEATRECOVERY +watercooled = IfcChillerTypeEnum.WATERCOOLED +userdefined = IfcChillerTypeEnum.USERDEFINED +notdefined = IfcChillerTypeEnum.NOTDEFINED IfcChimneyTypeEnum = enum_namespace() -userdefined = express_getattr(IfcChimneyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChimneyTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcChimneyTypeEnum.USERDEFINED +notdefined = IfcChimneyTypeEnum.NOTDEFINED IfcCoilTypeEnum = enum_namespace() -dxcoolingcoil = express_getattr(IfcCoilTypeEnum, 'DXCOOLINGCOIL', INDETERMINATE) -electricheatingcoil = express_getattr(IfcCoilTypeEnum, 'ELECTRICHEATINGCOIL', INDETERMINATE) -gasheatingcoil = express_getattr(IfcCoilTypeEnum, 'GASHEATINGCOIL', INDETERMINATE) -hydroniccoil = express_getattr(IfcCoilTypeEnum, 'HYDRONICCOIL', INDETERMINATE) -steamheatingcoil = express_getattr(IfcCoilTypeEnum, 'STEAMHEATINGCOIL', INDETERMINATE) -watercoolingcoil = express_getattr(IfcCoilTypeEnum, 'WATERCOOLINGCOIL', INDETERMINATE) -waterheatingcoil = express_getattr(IfcCoilTypeEnum, 'WATERHEATINGCOIL', INDETERMINATE) -userdefined = express_getattr(IfcCoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +dxcoolingcoil = IfcCoilTypeEnum.DXCOOLINGCOIL +electricheatingcoil = IfcCoilTypeEnum.ELECTRICHEATINGCOIL +gasheatingcoil = IfcCoilTypeEnum.GASHEATINGCOIL +hydroniccoil = IfcCoilTypeEnum.HYDRONICCOIL +steamheatingcoil = IfcCoilTypeEnum.STEAMHEATINGCOIL +watercoolingcoil = IfcCoilTypeEnum.WATERCOOLINGCOIL +waterheatingcoil = IfcCoilTypeEnum.WATERHEATINGCOIL +userdefined = IfcCoilTypeEnum.USERDEFINED +notdefined = IfcCoilTypeEnum.NOTDEFINED IfcColumnTypeEnum = enum_namespace() -column = express_getattr(IfcColumnTypeEnum, 'COLUMN', INDETERMINATE) -pierstem = express_getattr(IfcColumnTypeEnum, 'PIERSTEM', INDETERMINATE) -pierstem_segment = express_getattr(IfcColumnTypeEnum, 'PIERSTEM_SEGMENT', INDETERMINATE) -pilaster = express_getattr(IfcColumnTypeEnum, 'PILASTER', INDETERMINATE) -standcolumn = express_getattr(IfcColumnTypeEnum, 'STANDCOLUMN', INDETERMINATE) -userdefined = express_getattr(IfcColumnTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcColumnTypeEnum, 'NOTDEFINED', INDETERMINATE) +column = IfcColumnTypeEnum.COLUMN +pierstem = IfcColumnTypeEnum.PIERSTEM +pierstem_segment = IfcColumnTypeEnum.PIERSTEM_SEGMENT +pilaster = IfcColumnTypeEnum.PILASTER +standcolumn = IfcColumnTypeEnum.STANDCOLUMN +userdefined = IfcColumnTypeEnum.USERDEFINED +notdefined = IfcColumnTypeEnum.NOTDEFINED IfcCommunicationsApplianceTypeEnum = enum_namespace() -antenna = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ANTENNA', INDETERMINATE) -automaton = express_getattr(IfcCommunicationsApplianceTypeEnum, 'AUTOMATON', INDETERMINATE) -computer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'COMPUTER', INDETERMINATE) -fax = express_getattr(IfcCommunicationsApplianceTypeEnum, 'FAX', INDETERMINATE) -gateway = express_getattr(IfcCommunicationsApplianceTypeEnum, 'GATEWAY', INDETERMINATE) -intelligentperipheral = express_getattr(IfcCommunicationsApplianceTypeEnum, 'INTELLIGENTPERIPHERAL', INDETERMINATE) -ipnetworkequipment = express_getattr(IfcCommunicationsApplianceTypeEnum, 'IPNETWORKEQUIPMENT', INDETERMINATE) -linesideelectronicunit = express_getattr(IfcCommunicationsApplianceTypeEnum, 'LINESIDEELECTRONICUNIT', INDETERMINATE) -modem = express_getattr(IfcCommunicationsApplianceTypeEnum, 'MODEM', INDETERMINATE) -networkappliance = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKAPPLIANCE', INDETERMINATE) -networkbridge = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKBRIDGE', INDETERMINATE) -networkhub = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKHUB', INDETERMINATE) -opticallineterminal = express_getattr(IfcCommunicationsApplianceTypeEnum, 'OPTICALLINETERMINAL', INDETERMINATE) -opticalnetworkunit = express_getattr(IfcCommunicationsApplianceTypeEnum, 'OPTICALNETWORKUNIT', INDETERMINATE) -printer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'PRINTER', INDETERMINATE) -radioblockcenter = express_getattr(IfcCommunicationsApplianceTypeEnum, 'RADIOBLOCKCENTER', INDETERMINATE) -repeater = express_getattr(IfcCommunicationsApplianceTypeEnum, 'REPEATER', INDETERMINATE) -router = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ROUTER', INDETERMINATE) -scanner = express_getattr(IfcCommunicationsApplianceTypeEnum, 'SCANNER', INDETERMINATE) -telecommand = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TELECOMMAND', INDETERMINATE) -telephonyexchange = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TELEPHONYEXCHANGE', INDETERMINATE) -transitioncomponent = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSITIONCOMPONENT', INDETERMINATE) -transponder = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSPONDER', INDETERMINATE) -transportequipment = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSPORTEQUIPMENT', INDETERMINATE) -userdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +antenna = IfcCommunicationsApplianceTypeEnum.ANTENNA +automaton = IfcCommunicationsApplianceTypeEnum.AUTOMATON +computer = IfcCommunicationsApplianceTypeEnum.COMPUTER +fax = IfcCommunicationsApplianceTypeEnum.FAX +gateway = IfcCommunicationsApplianceTypeEnum.GATEWAY +intelligentperipheral = IfcCommunicationsApplianceTypeEnum.INTELLIGENTPERIPHERAL +ipnetworkequipment = IfcCommunicationsApplianceTypeEnum.IPNETWORKEQUIPMENT +linesideelectronicunit = IfcCommunicationsApplianceTypeEnum.LINESIDEELECTRONICUNIT +modem = IfcCommunicationsApplianceTypeEnum.MODEM +networkappliance = IfcCommunicationsApplianceTypeEnum.NETWORKAPPLIANCE +networkbridge = IfcCommunicationsApplianceTypeEnum.NETWORKBRIDGE +networkhub = IfcCommunicationsApplianceTypeEnum.NETWORKHUB +opticallineterminal = IfcCommunicationsApplianceTypeEnum.OPTICALLINETERMINAL +opticalnetworkunit = IfcCommunicationsApplianceTypeEnum.OPTICALNETWORKUNIT +printer = IfcCommunicationsApplianceTypeEnum.PRINTER +radioblockcenter = IfcCommunicationsApplianceTypeEnum.RADIOBLOCKCENTER +repeater = IfcCommunicationsApplianceTypeEnum.REPEATER +router = IfcCommunicationsApplianceTypeEnum.ROUTER +scanner = IfcCommunicationsApplianceTypeEnum.SCANNER +telecommand = IfcCommunicationsApplianceTypeEnum.TELECOMMAND +telephonyexchange = IfcCommunicationsApplianceTypeEnum.TELEPHONYEXCHANGE +transitioncomponent = IfcCommunicationsApplianceTypeEnum.TRANSITIONCOMPONENT +transponder = IfcCommunicationsApplianceTypeEnum.TRANSPONDER +transportequipment = IfcCommunicationsApplianceTypeEnum.TRANSPORTEQUIPMENT +userdefined = IfcCommunicationsApplianceTypeEnum.USERDEFINED +notdefined = IfcCommunicationsApplianceTypeEnum.NOTDEFINED IfcComplexPropertyTemplateTypeEnum = enum_namespace() -p_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'P_COMPLEX', INDETERMINATE) -q_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'Q_COMPLEX', INDETERMINATE) +p_complex = IfcComplexPropertyTemplateTypeEnum.P_COMPLEX +q_complex = IfcComplexPropertyTemplateTypeEnum.Q_COMPLEX IfcCompressorTypeEnum = enum_namespace() -booster = express_getattr(IfcCompressorTypeEnum, 'BOOSTER', INDETERMINATE) -dynamic = express_getattr(IfcCompressorTypeEnum, 'DYNAMIC', INDETERMINATE) -hermetic = express_getattr(IfcCompressorTypeEnum, 'HERMETIC', INDETERMINATE) -opentype = express_getattr(IfcCompressorTypeEnum, 'OPENTYPE', INDETERMINATE) -reciprocating = express_getattr(IfcCompressorTypeEnum, 'RECIPROCATING', INDETERMINATE) -rollingpiston = express_getattr(IfcCompressorTypeEnum, 'ROLLINGPISTON', INDETERMINATE) -rotary = express_getattr(IfcCompressorTypeEnum, 'ROTARY', INDETERMINATE) -rotaryvane = express_getattr(IfcCompressorTypeEnum, 'ROTARYVANE', INDETERMINATE) -scroll = express_getattr(IfcCompressorTypeEnum, 'SCROLL', INDETERMINATE) -semihermetic = express_getattr(IfcCompressorTypeEnum, 'SEMIHERMETIC', INDETERMINATE) -singlescrew = express_getattr(IfcCompressorTypeEnum, 'SINGLESCREW', INDETERMINATE) -singlestage = express_getattr(IfcCompressorTypeEnum, 'SINGLESTAGE', INDETERMINATE) -trochoidal = express_getattr(IfcCompressorTypeEnum, 'TROCHOIDAL', INDETERMINATE) -twinscrew = express_getattr(IfcCompressorTypeEnum, 'TWINSCREW', INDETERMINATE) -weldedshellhermetic = express_getattr(IfcCompressorTypeEnum, 'WELDEDSHELLHERMETIC', INDETERMINATE) -userdefined = express_getattr(IfcCompressorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCompressorTypeEnum, 'NOTDEFINED', INDETERMINATE) +booster = IfcCompressorTypeEnum.BOOSTER +dynamic = IfcCompressorTypeEnum.DYNAMIC +hermetic = IfcCompressorTypeEnum.HERMETIC +opentype = IfcCompressorTypeEnum.OPENTYPE +reciprocating = IfcCompressorTypeEnum.RECIPROCATING +rollingpiston = IfcCompressorTypeEnum.ROLLINGPISTON +rotary = IfcCompressorTypeEnum.ROTARY +rotaryvane = IfcCompressorTypeEnum.ROTARYVANE +scroll = IfcCompressorTypeEnum.SCROLL +semihermetic = IfcCompressorTypeEnum.SEMIHERMETIC +singlescrew = IfcCompressorTypeEnum.SINGLESCREW +singlestage = IfcCompressorTypeEnum.SINGLESTAGE +trochoidal = IfcCompressorTypeEnum.TROCHOIDAL +twinscrew = IfcCompressorTypeEnum.TWINSCREW +weldedshellhermetic = IfcCompressorTypeEnum.WELDEDSHELLHERMETIC +userdefined = IfcCompressorTypeEnum.USERDEFINED +notdefined = IfcCompressorTypeEnum.NOTDEFINED IfcCondenserTypeEnum = enum_namespace() -aircooled = express_getattr(IfcCondenserTypeEnum, 'AIRCOOLED', INDETERMINATE) -evaporativecooled = express_getattr(IfcCondenserTypeEnum, 'EVAPORATIVECOOLED', INDETERMINATE) -watercooled = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLED', INDETERMINATE) -watercooledbrazedplate = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDBRAZEDPLATE', INDETERMINATE) -watercooledshellcoil = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLCOIL', INDETERMINATE) -watercooledshelltube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLTUBE', INDETERMINATE) -watercooledtubeintube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDTUBEINTUBE', INDETERMINATE) -userdefined = express_getattr(IfcCondenserTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCondenserTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcCondenserTypeEnum.AIRCOOLED +evaporativecooled = IfcCondenserTypeEnum.EVAPORATIVECOOLED +watercooled = IfcCondenserTypeEnum.WATERCOOLED +watercooledbrazedplate = IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE +watercooledshellcoil = IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL +watercooledshelltube = IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE +watercooledtubeintube = IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE +userdefined = IfcCondenserTypeEnum.USERDEFINED +notdefined = IfcCondenserTypeEnum.NOTDEFINED IfcConnectionTypeEnum = enum_namespace() -atend = express_getattr(IfcConnectionTypeEnum, 'ATEND', INDETERMINATE) -atpath = express_getattr(IfcConnectionTypeEnum, 'ATPATH', INDETERMINATE) -atstart = express_getattr(IfcConnectionTypeEnum, 'ATSTART', INDETERMINATE) -notdefined = express_getattr(IfcConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +atend = IfcConnectionTypeEnum.ATEND +atpath = IfcConnectionTypeEnum.ATPATH +atstart = IfcConnectionTypeEnum.ATSTART +notdefined = IfcConnectionTypeEnum.NOTDEFINED IfcConstraintEnum = enum_namespace() -advisory = express_getattr(IfcConstraintEnum, 'ADVISORY', INDETERMINATE) -hard = express_getattr(IfcConstraintEnum, 'HARD', INDETERMINATE) -soft = express_getattr(IfcConstraintEnum, 'SOFT', INDETERMINATE) -userdefined = express_getattr(IfcConstraintEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstraintEnum, 'NOTDEFINED', INDETERMINATE) +advisory = IfcConstraintEnum.ADVISORY +hard = IfcConstraintEnum.HARD +soft = IfcConstraintEnum.SOFT +userdefined = IfcConstraintEnum.USERDEFINED +notdefined = IfcConstraintEnum.NOTDEFINED IfcConstructionEquipmentResourceTypeEnum = enum_namespace() -demolishing = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'DEMOLISHING', INDETERMINATE) -earthmoving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'EARTHMOVING', INDETERMINATE) -erecting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'ERECTING', INDETERMINATE) -heating = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'LIGHTING', INDETERMINATE) -paving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PAVING', INDETERMINATE) -pumping = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PUMPING', INDETERMINATE) -transporting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'TRANSPORTING', INDETERMINATE) -userdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +demolishing = IfcConstructionEquipmentResourceTypeEnum.DEMOLISHING +earthmoving = IfcConstructionEquipmentResourceTypeEnum.EARTHMOVING +erecting = IfcConstructionEquipmentResourceTypeEnum.ERECTING +heating = IfcConstructionEquipmentResourceTypeEnum.HEATING +lighting = IfcConstructionEquipmentResourceTypeEnum.LIGHTING +paving = IfcConstructionEquipmentResourceTypeEnum.PAVING +pumping = IfcConstructionEquipmentResourceTypeEnum.PUMPING +transporting = IfcConstructionEquipmentResourceTypeEnum.TRANSPORTING +userdefined = IfcConstructionEquipmentResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionEquipmentResourceTypeEnum.NOTDEFINED IfcConstructionMaterialResourceTypeEnum = enum_namespace() -aggregates = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'AGGREGATES', INDETERMINATE) -concrete = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'DRYWALL', INDETERMINATE) -fuel = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'FUEL', INDETERMINATE) -gypsum = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'GYPSUM', INDETERMINATE) -masonry = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'MASONRY', INDETERMINATE) -metal = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'METAL', INDETERMINATE) -plastic = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'PLASTIC', INDETERMINATE) -wood = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'WOOD', INDETERMINATE) -userdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +aggregates = IfcConstructionMaterialResourceTypeEnum.AGGREGATES +concrete = IfcConstructionMaterialResourceTypeEnum.CONCRETE +drywall = IfcConstructionMaterialResourceTypeEnum.DRYWALL +fuel = IfcConstructionMaterialResourceTypeEnum.FUEL +gypsum = IfcConstructionMaterialResourceTypeEnum.GYPSUM +masonry = IfcConstructionMaterialResourceTypeEnum.MASONRY +metal = IfcConstructionMaterialResourceTypeEnum.METAL +plastic = IfcConstructionMaterialResourceTypeEnum.PLASTIC +wood = IfcConstructionMaterialResourceTypeEnum.WOOD +userdefined = IfcConstructionMaterialResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionMaterialResourceTypeEnum.NOTDEFINED IfcConstructionProductResourceTypeEnum = enum_namespace() -assembly = express_getattr(IfcConstructionProductResourceTypeEnum, 'ASSEMBLY', INDETERMINATE) -formwork = express_getattr(IfcConstructionProductResourceTypeEnum, 'FORMWORK', INDETERMINATE) -userdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +assembly = IfcConstructionProductResourceTypeEnum.ASSEMBLY +formwork = IfcConstructionProductResourceTypeEnum.FORMWORK +userdefined = IfcConstructionProductResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionProductResourceTypeEnum.NOTDEFINED IfcControllerTypeEnum = enum_namespace() -floating = express_getattr(IfcControllerTypeEnum, 'FLOATING', INDETERMINATE) -multiposition = express_getattr(IfcControllerTypeEnum, 'MULTIPOSITION', INDETERMINATE) -programmable = express_getattr(IfcControllerTypeEnum, 'PROGRAMMABLE', INDETERMINATE) -proportional = express_getattr(IfcControllerTypeEnum, 'PROPORTIONAL', INDETERMINATE) -twoposition = express_getattr(IfcControllerTypeEnum, 'TWOPOSITION', INDETERMINATE) -userdefined = express_getattr(IfcControllerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcControllerTypeEnum, 'NOTDEFINED', INDETERMINATE) +floating = IfcControllerTypeEnum.FLOATING +multiposition = IfcControllerTypeEnum.MULTIPOSITION +programmable = IfcControllerTypeEnum.PROGRAMMABLE +proportional = IfcControllerTypeEnum.PROPORTIONAL +twoposition = IfcControllerTypeEnum.TWOPOSITION +userdefined = IfcControllerTypeEnum.USERDEFINED +notdefined = IfcControllerTypeEnum.NOTDEFINED IfcConveyorSegmentTypeEnum = enum_namespace() -beltconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'BELTCONVEYOR', INDETERMINATE) -bucketconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'BUCKETCONVEYOR', INDETERMINATE) -chuteconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'CHUTECONVEYOR', INDETERMINATE) -screwconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'SCREWCONVEYOR', INDETERMINATE) -userdefined = express_getattr(IfcConveyorSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConveyorSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +beltconveyor = IfcConveyorSegmentTypeEnum.BELTCONVEYOR +bucketconveyor = IfcConveyorSegmentTypeEnum.BUCKETCONVEYOR +chuteconveyor = IfcConveyorSegmentTypeEnum.CHUTECONVEYOR +screwconveyor = IfcConveyorSegmentTypeEnum.SCREWCONVEYOR +userdefined = IfcConveyorSegmentTypeEnum.USERDEFINED +notdefined = IfcConveyorSegmentTypeEnum.NOTDEFINED IfcCooledBeamTypeEnum = enum_namespace() -active = express_getattr(IfcCooledBeamTypeEnum, 'ACTIVE', INDETERMINATE) -passive = express_getattr(IfcCooledBeamTypeEnum, 'PASSIVE', INDETERMINATE) -userdefined = express_getattr(IfcCooledBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCooledBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +active = IfcCooledBeamTypeEnum.ACTIVE +passive = IfcCooledBeamTypeEnum.PASSIVE +userdefined = IfcCooledBeamTypeEnum.USERDEFINED +notdefined = IfcCooledBeamTypeEnum.NOTDEFINED IfcCoolingTowerTypeEnum = enum_namespace() -mechanicalforceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALFORCEDDRAFT', INDETERMINATE) -mechanicalinduceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALINDUCEDDRAFT', INDETERMINATE) -naturaldraft = express_getattr(IfcCoolingTowerTypeEnum, 'NATURALDRAFT', INDETERMINATE) -userdefined = express_getattr(IfcCoolingTowerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoolingTowerTypeEnum, 'NOTDEFINED', INDETERMINATE) +mechanicalforceddraft = IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT +mechanicalinduceddraft = IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT +naturaldraft = IfcCoolingTowerTypeEnum.NATURALDRAFT +userdefined = IfcCoolingTowerTypeEnum.USERDEFINED +notdefined = IfcCoolingTowerTypeEnum.NOTDEFINED IfcCostItemTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCostItemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostItemTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCostItemTypeEnum.USERDEFINED +notdefined = IfcCostItemTypeEnum.NOTDEFINED IfcCostScheduleTypeEnum = enum_namespace() -budget = express_getattr(IfcCostScheduleTypeEnum, 'BUDGET', INDETERMINATE) -costplan = express_getattr(IfcCostScheduleTypeEnum, 'COSTPLAN', INDETERMINATE) -estimate = express_getattr(IfcCostScheduleTypeEnum, 'ESTIMATE', INDETERMINATE) -pricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'PRICEDBILLOFQUANTITIES', INDETERMINATE) -scheduleofrates = express_getattr(IfcCostScheduleTypeEnum, 'SCHEDULEOFRATES', INDETERMINATE) -tender = express_getattr(IfcCostScheduleTypeEnum, 'TENDER', INDETERMINATE) -unpricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'UNPRICEDBILLOFQUANTITIES', INDETERMINATE) -userdefined = express_getattr(IfcCostScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +budget = IfcCostScheduleTypeEnum.BUDGET +costplan = IfcCostScheduleTypeEnum.COSTPLAN +estimate = IfcCostScheduleTypeEnum.ESTIMATE +pricedbillofquantities = IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES +scheduleofrates = IfcCostScheduleTypeEnum.SCHEDULEOFRATES +tender = IfcCostScheduleTypeEnum.TENDER +unpricedbillofquantities = IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES +userdefined = IfcCostScheduleTypeEnum.USERDEFINED +notdefined = IfcCostScheduleTypeEnum.NOTDEFINED IfcCourseTypeEnum = enum_namespace() -armour = express_getattr(IfcCourseTypeEnum, 'ARMOUR', INDETERMINATE) -ballastbed = express_getattr(IfcCourseTypeEnum, 'BALLASTBED', INDETERMINATE) -core = express_getattr(IfcCourseTypeEnum, 'CORE', INDETERMINATE) -filter = express_getattr(IfcCourseTypeEnum, 'FILTER', INDETERMINATE) -pavement = express_getattr(IfcCourseTypeEnum, 'PAVEMENT', INDETERMINATE) -protection = express_getattr(IfcCourseTypeEnum, 'PROTECTION', INDETERMINATE) -userdefined = express_getattr(IfcCourseTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCourseTypeEnum, 'NOTDEFINED', INDETERMINATE) +armour = IfcCourseTypeEnum.ARMOUR +ballastbed = IfcCourseTypeEnum.BALLASTBED +core = IfcCourseTypeEnum.CORE +filter = IfcCourseTypeEnum.FILTER +pavement = IfcCourseTypeEnum.PAVEMENT +protection = IfcCourseTypeEnum.PROTECTION +userdefined = IfcCourseTypeEnum.USERDEFINED +notdefined = IfcCourseTypeEnum.NOTDEFINED IfcCoveringTypeEnum = enum_namespace() -ceiling = express_getattr(IfcCoveringTypeEnum, 'CEILING', INDETERMINATE) -cladding = express_getattr(IfcCoveringTypeEnum, 'CLADDING', INDETERMINATE) -coping = express_getattr(IfcCoveringTypeEnum, 'COPING', INDETERMINATE) -flooring = express_getattr(IfcCoveringTypeEnum, 'FLOORING', INDETERMINATE) -insulation = express_getattr(IfcCoveringTypeEnum, 'INSULATION', INDETERMINATE) -membrane = express_getattr(IfcCoveringTypeEnum, 'MEMBRANE', INDETERMINATE) -molding = express_getattr(IfcCoveringTypeEnum, 'MOLDING', INDETERMINATE) -roofing = express_getattr(IfcCoveringTypeEnum, 'ROOFING', INDETERMINATE) -skirtingboard = express_getattr(IfcCoveringTypeEnum, 'SKIRTINGBOARD', INDETERMINATE) -sleeving = express_getattr(IfcCoveringTypeEnum, 'SLEEVING', INDETERMINATE) -topping = express_getattr(IfcCoveringTypeEnum, 'TOPPING', INDETERMINATE) -wrapping = express_getattr(IfcCoveringTypeEnum, 'WRAPPING', INDETERMINATE) -userdefined = express_getattr(IfcCoveringTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoveringTypeEnum, 'NOTDEFINED', INDETERMINATE) +ceiling = IfcCoveringTypeEnum.CEILING +cladding = IfcCoveringTypeEnum.CLADDING +coping = IfcCoveringTypeEnum.COPING +flooring = IfcCoveringTypeEnum.FLOORING +insulation = IfcCoveringTypeEnum.INSULATION +membrane = IfcCoveringTypeEnum.MEMBRANE +molding = IfcCoveringTypeEnum.MOLDING +roofing = IfcCoveringTypeEnum.ROOFING +skirtingboard = IfcCoveringTypeEnum.SKIRTINGBOARD +sleeving = IfcCoveringTypeEnum.SLEEVING +topping = IfcCoveringTypeEnum.TOPPING +wrapping = IfcCoveringTypeEnum.WRAPPING +userdefined = IfcCoveringTypeEnum.USERDEFINED +notdefined = IfcCoveringTypeEnum.NOTDEFINED IfcCrewResourceTypeEnum = enum_namespace() -office = express_getattr(IfcCrewResourceTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcCrewResourceTypeEnum, 'SITE', INDETERMINATE) -userdefined = express_getattr(IfcCrewResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCrewResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +office = IfcCrewResourceTypeEnum.OFFICE +site = IfcCrewResourceTypeEnum.SITE +userdefined = IfcCrewResourceTypeEnum.USERDEFINED +notdefined = IfcCrewResourceTypeEnum.NOTDEFINED IfcCurtainWallTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCurtainWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCurtainWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCurtainWallTypeEnum.USERDEFINED +notdefined = IfcCurtainWallTypeEnum.NOTDEFINED IfcCurveInterpolationEnum = enum_namespace() -linear = express_getattr(IfcCurveInterpolationEnum, 'LINEAR', INDETERMINATE) -log_linear = express_getattr(IfcCurveInterpolationEnum, 'LOG_LINEAR', INDETERMINATE) -log_log = express_getattr(IfcCurveInterpolationEnum, 'LOG_LOG', INDETERMINATE) -notdefined = express_getattr(IfcCurveInterpolationEnum, 'NOTDEFINED', INDETERMINATE) +linear = IfcCurveInterpolationEnum.LINEAR +log_linear = IfcCurveInterpolationEnum.LOG_LINEAR +log_log = IfcCurveInterpolationEnum.LOG_LOG +notdefined = IfcCurveInterpolationEnum.NOTDEFINED IfcDamperTypeEnum = enum_namespace() -backdraftdamper = express_getattr(IfcDamperTypeEnum, 'BACKDRAFTDAMPER', INDETERMINATE) -balancingdamper = express_getattr(IfcDamperTypeEnum, 'BALANCINGDAMPER', INDETERMINATE) -blastdamper = express_getattr(IfcDamperTypeEnum, 'BLASTDAMPER', INDETERMINATE) -controldamper = express_getattr(IfcDamperTypeEnum, 'CONTROLDAMPER', INDETERMINATE) -firedamper = express_getattr(IfcDamperTypeEnum, 'FIREDAMPER', INDETERMINATE) -firesmokedamper = express_getattr(IfcDamperTypeEnum, 'FIRESMOKEDAMPER', INDETERMINATE) -fumehoodexhaust = express_getattr(IfcDamperTypeEnum, 'FUMEHOODEXHAUST', INDETERMINATE) -gravitydamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYDAMPER', INDETERMINATE) -gravityreliefdamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYRELIEFDAMPER', INDETERMINATE) -reliefdamper = express_getattr(IfcDamperTypeEnum, 'RELIEFDAMPER', INDETERMINATE) -smokedamper = express_getattr(IfcDamperTypeEnum, 'SMOKEDAMPER', INDETERMINATE) -userdefined = express_getattr(IfcDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +backdraftdamper = IfcDamperTypeEnum.BACKDRAFTDAMPER +balancingdamper = IfcDamperTypeEnum.BALANCINGDAMPER +blastdamper = IfcDamperTypeEnum.BLASTDAMPER +controldamper = IfcDamperTypeEnum.CONTROLDAMPER +firedamper = IfcDamperTypeEnum.FIREDAMPER +firesmokedamper = IfcDamperTypeEnum.FIRESMOKEDAMPER +fumehoodexhaust = IfcDamperTypeEnum.FUMEHOODEXHAUST +gravitydamper = IfcDamperTypeEnum.GRAVITYDAMPER +gravityreliefdamper = IfcDamperTypeEnum.GRAVITYRELIEFDAMPER +reliefdamper = IfcDamperTypeEnum.RELIEFDAMPER +smokedamper = IfcDamperTypeEnum.SMOKEDAMPER +userdefined = IfcDamperTypeEnum.USERDEFINED +notdefined = IfcDamperTypeEnum.NOTDEFINED IfcDataOriginEnum = enum_namespace() -measured = express_getattr(IfcDataOriginEnum, 'MEASURED', INDETERMINATE) -predicted = express_getattr(IfcDataOriginEnum, 'PREDICTED', INDETERMINATE) -simulated = express_getattr(IfcDataOriginEnum, 'SIMULATED', INDETERMINATE) -userdefined = express_getattr(IfcDataOriginEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDataOriginEnum, 'NOTDEFINED', INDETERMINATE) +measured = IfcDataOriginEnum.MEASURED +predicted = IfcDataOriginEnum.PREDICTED +simulated = IfcDataOriginEnum.SIMULATED +userdefined = IfcDataOriginEnum.USERDEFINED +notdefined = IfcDataOriginEnum.NOTDEFINED IfcDerivedUnitEnum = enum_namespace() -accelerationunit = express_getattr(IfcDerivedUnitEnum, 'ACCELERATIONUNIT', INDETERMINATE) -angularvelocityunit = express_getattr(IfcDerivedUnitEnum, 'ANGULARVELOCITYUNIT', INDETERMINATE) -areadensityunit = express_getattr(IfcDerivedUnitEnum, 'AREADENSITYUNIT', INDETERMINATE) -compoundplaneangleunit = express_getattr(IfcDerivedUnitEnum, 'COMPOUNDPLANEANGLEUNIT', INDETERMINATE) -curvatureunit = express_getattr(IfcDerivedUnitEnum, 'CURVATUREUNIT', INDETERMINATE) -dynamicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'DYNAMICVISCOSITYUNIT', INDETERMINATE) -heatfluxdensityunit = express_getattr(IfcDerivedUnitEnum, 'HEATFLUXDENSITYUNIT', INDETERMINATE) -heatingvalueunit = express_getattr(IfcDerivedUnitEnum, 'HEATINGVALUEUNIT', INDETERMINATE) -integercountrateunit = express_getattr(IfcDerivedUnitEnum, 'INTEGERCOUNTRATEUNIT', INDETERMINATE) -ionconcentrationunit = express_getattr(IfcDerivedUnitEnum, 'IONCONCENTRATIONUNIT', INDETERMINATE) -isothermalmoisturecapacityunit = express_getattr(IfcDerivedUnitEnum, 'ISOTHERMALMOISTURECAPACITYUNIT', INDETERMINATE) -kinematicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'KINEMATICVISCOSITYUNIT', INDETERMINATE) -linearforceunit = express_getattr(IfcDerivedUnitEnum, 'LINEARFORCEUNIT', INDETERMINATE) -linearmomentunit = express_getattr(IfcDerivedUnitEnum, 'LINEARMOMENTUNIT', INDETERMINATE) -linearstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'LINEARSTIFFNESSUNIT', INDETERMINATE) -linearvelocityunit = express_getattr(IfcDerivedUnitEnum, 'LINEARVELOCITYUNIT', INDETERMINATE) -luminousintensitydistributionunit = express_getattr(IfcDerivedUnitEnum, 'LUMINOUSINTENSITYDISTRIBUTIONUNIT', INDETERMINATE) -massdensityunit = express_getattr(IfcDerivedUnitEnum, 'MASSDENSITYUNIT', INDETERMINATE) -massflowrateunit = express_getattr(IfcDerivedUnitEnum, 'MASSFLOWRATEUNIT', INDETERMINATE) -massperlengthunit = express_getattr(IfcDerivedUnitEnum, 'MASSPERLENGTHUNIT', INDETERMINATE) -modulusofelasticityunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFELASTICITYUNIT', INDETERMINATE) -modulusoflinearsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFLINEARSUBGRADEREACTIONUNIT', INDETERMINATE) -modulusofrotationalsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFROTATIONALSUBGRADEREACTIONUNIT', INDETERMINATE) -modulusofsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFSUBGRADEREACTIONUNIT', INDETERMINATE) -moisturediffusivityunit = express_getattr(IfcDerivedUnitEnum, 'MOISTUREDIFFUSIVITYUNIT', INDETERMINATE) -molecularweightunit = express_getattr(IfcDerivedUnitEnum, 'MOLECULARWEIGHTUNIT', INDETERMINATE) -momentofinertiaunit = express_getattr(IfcDerivedUnitEnum, 'MOMENTOFINERTIAUNIT', INDETERMINATE) -phunit = express_getattr(IfcDerivedUnitEnum, 'PHUNIT', INDETERMINATE) -planarforceunit = express_getattr(IfcDerivedUnitEnum, 'PLANARFORCEUNIT', INDETERMINATE) -rotationalfrequencyunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALFREQUENCYUNIT', INDETERMINATE) -rotationalmassunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALMASSUNIT', INDETERMINATE) -rotationalstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALSTIFFNESSUNIT', INDETERMINATE) -sectionareaintegralunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONAREAINTEGRALUNIT', INDETERMINATE) -sectionmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONMODULUSUNIT', INDETERMINATE) -shearmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SHEARMODULUSUNIT', INDETERMINATE) -soundpowerlevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERLEVELUNIT', INDETERMINATE) -soundpowerunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERUNIT', INDETERMINATE) -soundpressurelevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSURELEVELUNIT', INDETERMINATE) -soundpressureunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSUREUNIT', INDETERMINATE) -specificheatcapacityunit = express_getattr(IfcDerivedUnitEnum, 'SPECIFICHEATCAPACITYUNIT', INDETERMINATE) -temperaturegradientunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATUREGRADIENTUNIT', INDETERMINATE) -temperaturerateofchangeunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATURERATEOFCHANGEUNIT', INDETERMINATE) -thermaladmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALADMITTANCEUNIT', INDETERMINATE) -thermalconductanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALCONDUCTANCEUNIT', INDETERMINATE) -thermalexpansioncoefficientunit = express_getattr(IfcDerivedUnitEnum, 'THERMALEXPANSIONCOEFFICIENTUNIT', INDETERMINATE) -thermalresistanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALRESISTANCEUNIT', INDETERMINATE) -thermaltransmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALTRANSMITTANCEUNIT', INDETERMINATE) -torqueunit = express_getattr(IfcDerivedUnitEnum, 'TORQUEUNIT', INDETERMINATE) -vaporpermeabilityunit = express_getattr(IfcDerivedUnitEnum, 'VAPORPERMEABILITYUNIT', INDETERMINATE) -volumetricflowrateunit = express_getattr(IfcDerivedUnitEnum, 'VOLUMETRICFLOWRATEUNIT', INDETERMINATE) -warpingconstantunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGCONSTANTUNIT', INDETERMINATE) -warpingmomentunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGMOMENTUNIT', INDETERMINATE) -userdefined = express_getattr(IfcDerivedUnitEnum, 'USERDEFINED', INDETERMINATE) +accelerationunit = IfcDerivedUnitEnum.ACCELERATIONUNIT +angularvelocityunit = IfcDerivedUnitEnum.ANGULARVELOCITYUNIT +areadensityunit = IfcDerivedUnitEnum.AREADENSITYUNIT +compoundplaneangleunit = IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT +curvatureunit = IfcDerivedUnitEnum.CURVATUREUNIT +dynamicviscosityunit = IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT +heatfluxdensityunit = IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT +heatingvalueunit = IfcDerivedUnitEnum.HEATINGVALUEUNIT +integercountrateunit = IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT +ionconcentrationunit = IfcDerivedUnitEnum.IONCONCENTRATIONUNIT +isothermalmoisturecapacityunit = IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT +kinematicviscosityunit = IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT +linearforceunit = IfcDerivedUnitEnum.LINEARFORCEUNIT +linearmomentunit = IfcDerivedUnitEnum.LINEARMOMENTUNIT +linearstiffnessunit = IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT +linearvelocityunit = IfcDerivedUnitEnum.LINEARVELOCITYUNIT +luminousintensitydistributionunit = IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT +massdensityunit = IfcDerivedUnitEnum.MASSDENSITYUNIT +massflowrateunit = IfcDerivedUnitEnum.MASSFLOWRATEUNIT +massperlengthunit = IfcDerivedUnitEnum.MASSPERLENGTHUNIT +modulusofelasticityunit = IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT +modulusoflinearsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT +modulusofrotationalsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT +modulusofsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT +moisturediffusivityunit = IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT +molecularweightunit = IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT +momentofinertiaunit = IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT +phunit = IfcDerivedUnitEnum.PHUNIT +planarforceunit = IfcDerivedUnitEnum.PLANARFORCEUNIT +rotationalfrequencyunit = IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT +rotationalmassunit = IfcDerivedUnitEnum.ROTATIONALMASSUNIT +rotationalstiffnessunit = IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT +sectionareaintegralunit = IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT +sectionmodulusunit = IfcDerivedUnitEnum.SECTIONMODULUSUNIT +shearmodulusunit = IfcDerivedUnitEnum.SHEARMODULUSUNIT +soundpowerlevelunit = IfcDerivedUnitEnum.SOUNDPOWERLEVELUNIT +soundpowerunit = IfcDerivedUnitEnum.SOUNDPOWERUNIT +soundpressurelevelunit = IfcDerivedUnitEnum.SOUNDPRESSURELEVELUNIT +soundpressureunit = IfcDerivedUnitEnum.SOUNDPRESSUREUNIT +specificheatcapacityunit = IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT +temperaturegradientunit = IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT +temperaturerateofchangeunit = IfcDerivedUnitEnum.TEMPERATURERATEOFCHANGEUNIT +thermaladmittanceunit = IfcDerivedUnitEnum.THERMALADMITTANCEUNIT +thermalconductanceunit = IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT +thermalexpansioncoefficientunit = IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT +thermalresistanceunit = IfcDerivedUnitEnum.THERMALRESISTANCEUNIT +thermaltransmittanceunit = IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT +torqueunit = IfcDerivedUnitEnum.TORQUEUNIT +vaporpermeabilityunit = IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT +volumetricflowrateunit = IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT +warpingconstantunit = IfcDerivedUnitEnum.WARPINGCONSTANTUNIT +warpingmomentunit = IfcDerivedUnitEnum.WARPINGMOMENTUNIT +userdefined = IfcDerivedUnitEnum.USERDEFINED IfcDirectionSenseEnum = enum_namespace() -negative = express_getattr(IfcDirectionSenseEnum, 'NEGATIVE', INDETERMINATE) -positive = express_getattr(IfcDirectionSenseEnum, 'POSITIVE', INDETERMINATE) +negative = IfcDirectionSenseEnum.NEGATIVE +positive = IfcDirectionSenseEnum.POSITIVE IfcDiscreteAccessoryTypeEnum = enum_namespace() -anchorplate = express_getattr(IfcDiscreteAccessoryTypeEnum, 'ANCHORPLATE', INDETERMINATE) -birdprotection = express_getattr(IfcDiscreteAccessoryTypeEnum, 'BIRDPROTECTION', INDETERMINATE) -bracket = express_getattr(IfcDiscreteAccessoryTypeEnum, 'BRACKET', INDETERMINATE) -cablearranger = express_getattr(IfcDiscreteAccessoryTypeEnum, 'CABLEARRANGER', INDETERMINATE) -elastic_cushion = express_getattr(IfcDiscreteAccessoryTypeEnum, 'ELASTIC_CUSHION', INDETERMINATE) -expansion_joint_device = express_getattr(IfcDiscreteAccessoryTypeEnum, 'EXPANSION_JOINT_DEVICE', INDETERMINATE) -filler = express_getattr(IfcDiscreteAccessoryTypeEnum, 'FILLER', INDETERMINATE) -flashing = express_getattr(IfcDiscreteAccessoryTypeEnum, 'FLASHING', INDETERMINATE) -insulator = express_getattr(IfcDiscreteAccessoryTypeEnum, 'INSULATOR', INDETERMINATE) -lock = express_getattr(IfcDiscreteAccessoryTypeEnum, 'LOCK', INDETERMINATE) -panel_strengthening = express_getattr(IfcDiscreteAccessoryTypeEnum, 'PANEL_STRENGTHENING', INDETERMINATE) -pointmachinemountingdevice = express_getattr(IfcDiscreteAccessoryTypeEnum, 'POINTMACHINEMOUNTINGDEVICE', INDETERMINATE) -point_machine_locking_device = express_getattr(IfcDiscreteAccessoryTypeEnum, 'POINT_MACHINE_LOCKING_DEVICE', INDETERMINATE) -railbrace = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAILBRACE', INDETERMINATE) -railpad = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAILPAD', INDETERMINATE) -rail_lubrication = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAIL_LUBRICATION', INDETERMINATE) -rail_mechanical_equipment = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAIL_MECHANICAL_EQUIPMENT', INDETERMINATE) -shoe = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SHOE', INDETERMINATE) -slidingchair = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SLIDINGCHAIR', INDETERMINATE) -soundabsorption = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SOUNDABSORPTION', INDETERMINATE) -tensioningequipment = express_getattr(IfcDiscreteAccessoryTypeEnum, 'TENSIONINGEQUIPMENT', INDETERMINATE) -userdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorplate = IfcDiscreteAccessoryTypeEnum.ANCHORPLATE +birdprotection = IfcDiscreteAccessoryTypeEnum.BIRDPROTECTION +bracket = IfcDiscreteAccessoryTypeEnum.BRACKET +cablearranger = IfcDiscreteAccessoryTypeEnum.CABLEARRANGER +elastic_cushion = IfcDiscreteAccessoryTypeEnum.ELASTIC_CUSHION +expansion_joint_device = IfcDiscreteAccessoryTypeEnum.EXPANSION_JOINT_DEVICE +filler = IfcDiscreteAccessoryTypeEnum.FILLER +flashing = IfcDiscreteAccessoryTypeEnum.FLASHING +insulator = IfcDiscreteAccessoryTypeEnum.INSULATOR +lock = IfcDiscreteAccessoryTypeEnum.LOCK +panel_strengthening = IfcDiscreteAccessoryTypeEnum.PANEL_STRENGTHENING +pointmachinemountingdevice = IfcDiscreteAccessoryTypeEnum.POINTMACHINEMOUNTINGDEVICE +point_machine_locking_device = IfcDiscreteAccessoryTypeEnum.POINT_MACHINE_LOCKING_DEVICE +railbrace = IfcDiscreteAccessoryTypeEnum.RAILBRACE +railpad = IfcDiscreteAccessoryTypeEnum.RAILPAD +rail_lubrication = IfcDiscreteAccessoryTypeEnum.RAIL_LUBRICATION +rail_mechanical_equipment = IfcDiscreteAccessoryTypeEnum.RAIL_MECHANICAL_EQUIPMENT +shoe = IfcDiscreteAccessoryTypeEnum.SHOE +slidingchair = IfcDiscreteAccessoryTypeEnum.SLIDINGCHAIR +soundabsorption = IfcDiscreteAccessoryTypeEnum.SOUNDABSORPTION +tensioningequipment = IfcDiscreteAccessoryTypeEnum.TENSIONINGEQUIPMENT +userdefined = IfcDiscreteAccessoryTypeEnum.USERDEFINED +notdefined = IfcDiscreteAccessoryTypeEnum.NOTDEFINED IfcDistributionBoardTypeEnum = enum_namespace() -consumerunit = express_getattr(IfcDistributionBoardTypeEnum, 'CONSUMERUNIT', INDETERMINATE) -dispatchingboard = express_getattr(IfcDistributionBoardTypeEnum, 'DISPATCHINGBOARD', INDETERMINATE) -distributionboard = express_getattr(IfcDistributionBoardTypeEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -distributionframe = express_getattr(IfcDistributionBoardTypeEnum, 'DISTRIBUTIONFRAME', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcDistributionBoardTypeEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -switchboard = express_getattr(IfcDistributionBoardTypeEnum, 'SWITCHBOARD', INDETERMINATE) -userdefined = express_getattr(IfcDistributionBoardTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionBoardTypeEnum, 'NOTDEFINED', INDETERMINATE) +consumerunit = IfcDistributionBoardTypeEnum.CONSUMERUNIT +dispatchingboard = IfcDistributionBoardTypeEnum.DISPATCHINGBOARD +distributionboard = IfcDistributionBoardTypeEnum.DISTRIBUTIONBOARD +distributionframe = IfcDistributionBoardTypeEnum.DISTRIBUTIONFRAME +motorcontrolcentre = IfcDistributionBoardTypeEnum.MOTORCONTROLCENTRE +switchboard = IfcDistributionBoardTypeEnum.SWITCHBOARD +userdefined = IfcDistributionBoardTypeEnum.USERDEFINED +notdefined = IfcDistributionBoardTypeEnum.NOTDEFINED IfcDistributionChamberElementTypeEnum = enum_namespace() -formedduct = express_getattr(IfcDistributionChamberElementTypeEnum, 'FORMEDDUCT', INDETERMINATE) -inspectionchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONCHAMBER', INDETERMINATE) -inspectionpit = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONPIT', INDETERMINATE) -manhole = express_getattr(IfcDistributionChamberElementTypeEnum, 'MANHOLE', INDETERMINATE) -meterchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'METERCHAMBER', INDETERMINATE) -sump = express_getattr(IfcDistributionChamberElementTypeEnum, 'SUMP', INDETERMINATE) -trench = express_getattr(IfcDistributionChamberElementTypeEnum, 'TRENCH', INDETERMINATE) -valvechamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'VALVECHAMBER', INDETERMINATE) -userdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +formedduct = IfcDistributionChamberElementTypeEnum.FORMEDDUCT +inspectionchamber = IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER +inspectionpit = IfcDistributionChamberElementTypeEnum.INSPECTIONPIT +manhole = IfcDistributionChamberElementTypeEnum.MANHOLE +meterchamber = IfcDistributionChamberElementTypeEnum.METERCHAMBER +sump = IfcDistributionChamberElementTypeEnum.SUMP +trench = IfcDistributionChamberElementTypeEnum.TRENCH +valvechamber = IfcDistributionChamberElementTypeEnum.VALVECHAMBER +userdefined = IfcDistributionChamberElementTypeEnum.USERDEFINED +notdefined = IfcDistributionChamberElementTypeEnum.NOTDEFINED IfcDistributionPortTypeEnum = enum_namespace() -cable = express_getattr(IfcDistributionPortTypeEnum, 'CABLE', INDETERMINATE) -cablecarrier = express_getattr(IfcDistributionPortTypeEnum, 'CABLECARRIER', INDETERMINATE) -duct = express_getattr(IfcDistributionPortTypeEnum, 'DUCT', INDETERMINATE) -pipe = express_getattr(IfcDistributionPortTypeEnum, 'PIPE', INDETERMINATE) -wireless = express_getattr(IfcDistributionPortTypeEnum, 'WIRELESS', INDETERMINATE) -userdefined = express_getattr(IfcDistributionPortTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionPortTypeEnum, 'NOTDEFINED', INDETERMINATE) +cable = IfcDistributionPortTypeEnum.CABLE +cablecarrier = IfcDistributionPortTypeEnum.CABLECARRIER +duct = IfcDistributionPortTypeEnum.DUCT +pipe = IfcDistributionPortTypeEnum.PIPE +wireless = IfcDistributionPortTypeEnum.WIRELESS +userdefined = IfcDistributionPortTypeEnum.USERDEFINED +notdefined = IfcDistributionPortTypeEnum.NOTDEFINED IfcDistributionSystemEnum = enum_namespace() -airconditioning = express_getattr(IfcDistributionSystemEnum, 'AIRCONDITIONING', INDETERMINATE) -audiovisual = express_getattr(IfcDistributionSystemEnum, 'AUDIOVISUAL', INDETERMINATE) -catenary_system = express_getattr(IfcDistributionSystemEnum, 'CATENARY_SYSTEM', INDETERMINATE) -chemical = express_getattr(IfcDistributionSystemEnum, 'CHEMICAL', INDETERMINATE) -chilledwater = express_getattr(IfcDistributionSystemEnum, 'CHILLEDWATER', INDETERMINATE) -communication = express_getattr(IfcDistributionSystemEnum, 'COMMUNICATION', INDETERMINATE) -compressedair = express_getattr(IfcDistributionSystemEnum, 'COMPRESSEDAIR', INDETERMINATE) -condenserwater = express_getattr(IfcDistributionSystemEnum, 'CONDENSERWATER', INDETERMINATE) -control = express_getattr(IfcDistributionSystemEnum, 'CONTROL', INDETERMINATE) -conveying = express_getattr(IfcDistributionSystemEnum, 'CONVEYING', INDETERMINATE) -data = express_getattr(IfcDistributionSystemEnum, 'DATA', INDETERMINATE) -disposal = express_getattr(IfcDistributionSystemEnum, 'DISPOSAL', INDETERMINATE) -domesticcoldwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICCOLDWATER', INDETERMINATE) -domestichotwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICHOTWATER', INDETERMINATE) -drainage = express_getattr(IfcDistributionSystemEnum, 'DRAINAGE', INDETERMINATE) -earthing = express_getattr(IfcDistributionSystemEnum, 'EARTHING', INDETERMINATE) -electrical = express_getattr(IfcDistributionSystemEnum, 'ELECTRICAL', INDETERMINATE) -electroacoustic = express_getattr(IfcDistributionSystemEnum, 'ELECTROACOUSTIC', INDETERMINATE) -exhaust = express_getattr(IfcDistributionSystemEnum, 'EXHAUST', INDETERMINATE) -fireprotection = express_getattr(IfcDistributionSystemEnum, 'FIREPROTECTION', INDETERMINATE) -fixedtransmissionnetwork = express_getattr(IfcDistributionSystemEnum, 'FIXEDTRANSMISSIONNETWORK', INDETERMINATE) -fuel = express_getattr(IfcDistributionSystemEnum, 'FUEL', INDETERMINATE) -gas = express_getattr(IfcDistributionSystemEnum, 'GAS', INDETERMINATE) -hazardous = express_getattr(IfcDistributionSystemEnum, 'HAZARDOUS', INDETERMINATE) -heating = express_getattr(IfcDistributionSystemEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcDistributionSystemEnum, 'LIGHTING', INDETERMINATE) -lightningprotection = express_getattr(IfcDistributionSystemEnum, 'LIGHTNINGPROTECTION', INDETERMINATE) -mobilenetwork = express_getattr(IfcDistributionSystemEnum, 'MOBILENETWORK', INDETERMINATE) -monitoringsystem = express_getattr(IfcDistributionSystemEnum, 'MONITORINGSYSTEM', INDETERMINATE) -municipalsolidwaste = express_getattr(IfcDistributionSystemEnum, 'MUNICIPALSOLIDWASTE', INDETERMINATE) -oil = express_getattr(IfcDistributionSystemEnum, 'OIL', INDETERMINATE) -operational = express_getattr(IfcDistributionSystemEnum, 'OPERATIONAL', INDETERMINATE) -operationaltelephonysystem = express_getattr(IfcDistributionSystemEnum, 'OPERATIONALTELEPHONYSYSTEM', INDETERMINATE) -overhead_contactline_system = express_getattr(IfcDistributionSystemEnum, 'OVERHEAD_CONTACTLINE_SYSTEM', INDETERMINATE) -powergeneration = express_getattr(IfcDistributionSystemEnum, 'POWERGENERATION', INDETERMINATE) -rainwater = express_getattr(IfcDistributionSystemEnum, 'RAINWATER', INDETERMINATE) -refrigeration = express_getattr(IfcDistributionSystemEnum, 'REFRIGERATION', INDETERMINATE) -return_circuit = express_getattr(IfcDistributionSystemEnum, 'RETURN_CIRCUIT', INDETERMINATE) -security = express_getattr(IfcDistributionSystemEnum, 'SECURITY', INDETERMINATE) -sewage = express_getattr(IfcDistributionSystemEnum, 'SEWAGE', INDETERMINATE) -signal = express_getattr(IfcDistributionSystemEnum, 'SIGNAL', INDETERMINATE) -stormwater = express_getattr(IfcDistributionSystemEnum, 'STORMWATER', INDETERMINATE) -telephone = express_getattr(IfcDistributionSystemEnum, 'TELEPHONE', INDETERMINATE) -tv = express_getattr(IfcDistributionSystemEnum, 'TV', INDETERMINATE) -vacuum = express_getattr(IfcDistributionSystemEnum, 'VACUUM', INDETERMINATE) -vent = express_getattr(IfcDistributionSystemEnum, 'VENT', INDETERMINATE) -ventilation = express_getattr(IfcDistributionSystemEnum, 'VENTILATION', INDETERMINATE) -wastewater = express_getattr(IfcDistributionSystemEnum, 'WASTEWATER', INDETERMINATE) -watersupply = express_getattr(IfcDistributionSystemEnum, 'WATERSUPPLY', INDETERMINATE) -userdefined = express_getattr(IfcDistributionSystemEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionSystemEnum, 'NOTDEFINED', INDETERMINATE) +airconditioning = IfcDistributionSystemEnum.AIRCONDITIONING +audiovisual = IfcDistributionSystemEnum.AUDIOVISUAL +catenary_system = IfcDistributionSystemEnum.CATENARY_SYSTEM +chemical = IfcDistributionSystemEnum.CHEMICAL +chilledwater = IfcDistributionSystemEnum.CHILLEDWATER +communication = IfcDistributionSystemEnum.COMMUNICATION +compressedair = IfcDistributionSystemEnum.COMPRESSEDAIR +condenserwater = IfcDistributionSystemEnum.CONDENSERWATER +control = IfcDistributionSystemEnum.CONTROL +conveying = IfcDistributionSystemEnum.CONVEYING +data = IfcDistributionSystemEnum.DATA +disposal = IfcDistributionSystemEnum.DISPOSAL +domesticcoldwater = IfcDistributionSystemEnum.DOMESTICCOLDWATER +domestichotwater = IfcDistributionSystemEnum.DOMESTICHOTWATER +drainage = IfcDistributionSystemEnum.DRAINAGE +earthing = IfcDistributionSystemEnum.EARTHING +electrical = IfcDistributionSystemEnum.ELECTRICAL +electroacoustic = IfcDistributionSystemEnum.ELECTROACOUSTIC +exhaust = IfcDistributionSystemEnum.EXHAUST +fireprotection = IfcDistributionSystemEnum.FIREPROTECTION +fixedtransmissionnetwork = IfcDistributionSystemEnum.FIXEDTRANSMISSIONNETWORK +fuel = IfcDistributionSystemEnum.FUEL +gas = IfcDistributionSystemEnum.GAS +hazardous = IfcDistributionSystemEnum.HAZARDOUS +heating = IfcDistributionSystemEnum.HEATING +lighting = IfcDistributionSystemEnum.LIGHTING +lightningprotection = IfcDistributionSystemEnum.LIGHTNINGPROTECTION +mobilenetwork = IfcDistributionSystemEnum.MOBILENETWORK +monitoringsystem = IfcDistributionSystemEnum.MONITORINGSYSTEM +municipalsolidwaste = IfcDistributionSystemEnum.MUNICIPALSOLIDWASTE +oil = IfcDistributionSystemEnum.OIL +operational = IfcDistributionSystemEnum.OPERATIONAL +operationaltelephonysystem = IfcDistributionSystemEnum.OPERATIONALTELEPHONYSYSTEM +overhead_contactline_system = IfcDistributionSystemEnum.OVERHEAD_CONTACTLINE_SYSTEM +powergeneration = IfcDistributionSystemEnum.POWERGENERATION +rainwater = IfcDistributionSystemEnum.RAINWATER +refrigeration = IfcDistributionSystemEnum.REFRIGERATION +return_circuit = IfcDistributionSystemEnum.RETURN_CIRCUIT +security = IfcDistributionSystemEnum.SECURITY +sewage = IfcDistributionSystemEnum.SEWAGE +signal = IfcDistributionSystemEnum.SIGNAL +stormwater = IfcDistributionSystemEnum.STORMWATER +telephone = IfcDistributionSystemEnum.TELEPHONE +tv = IfcDistributionSystemEnum.TV +vacuum = IfcDistributionSystemEnum.VACUUM +vent = IfcDistributionSystemEnum.VENT +ventilation = IfcDistributionSystemEnum.VENTILATION +wastewater = IfcDistributionSystemEnum.WASTEWATER +watersupply = IfcDistributionSystemEnum.WATERSUPPLY +userdefined = IfcDistributionSystemEnum.USERDEFINED +notdefined = IfcDistributionSystemEnum.NOTDEFINED IfcDocumentConfidentialityEnum = enum_namespace() -confidential = express_getattr(IfcDocumentConfidentialityEnum, 'CONFIDENTIAL', INDETERMINATE) -personal = express_getattr(IfcDocumentConfidentialityEnum, 'PERSONAL', INDETERMINATE) -public = express_getattr(IfcDocumentConfidentialityEnum, 'PUBLIC', INDETERMINATE) -restricted = express_getattr(IfcDocumentConfidentialityEnum, 'RESTRICTED', INDETERMINATE) -userdefined = express_getattr(IfcDocumentConfidentialityEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDocumentConfidentialityEnum, 'NOTDEFINED', INDETERMINATE) +confidential = IfcDocumentConfidentialityEnum.CONFIDENTIAL +personal = IfcDocumentConfidentialityEnum.PERSONAL +public = IfcDocumentConfidentialityEnum.PUBLIC +restricted = IfcDocumentConfidentialityEnum.RESTRICTED +userdefined = IfcDocumentConfidentialityEnum.USERDEFINED +notdefined = IfcDocumentConfidentialityEnum.NOTDEFINED IfcDocumentStatusEnum = enum_namespace() -draft = express_getattr(IfcDocumentStatusEnum, 'DRAFT', INDETERMINATE) -final = express_getattr(IfcDocumentStatusEnum, 'FINAL', INDETERMINATE) -finaldraft = express_getattr(IfcDocumentStatusEnum, 'FINALDRAFT', INDETERMINATE) -revision = express_getattr(IfcDocumentStatusEnum, 'REVISION', INDETERMINATE) -notdefined = express_getattr(IfcDocumentStatusEnum, 'NOTDEFINED', INDETERMINATE) +draft = IfcDocumentStatusEnum.DRAFT +final = IfcDocumentStatusEnum.FINAL +finaldraft = IfcDocumentStatusEnum.FINALDRAFT +revision = IfcDocumentStatusEnum.REVISION +notdefined = IfcDocumentStatusEnum.NOTDEFINED IfcDoorPanelOperationEnum = enum_namespace() -double_acting = express_getattr(IfcDoorPanelOperationEnum, 'DOUBLE_ACTING', INDETERMINATE) -fixedpanel = express_getattr(IfcDoorPanelOperationEnum, 'FIXEDPANEL', INDETERMINATE) -folding = express_getattr(IfcDoorPanelOperationEnum, 'FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorPanelOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorPanelOperationEnum, 'ROLLINGUP', INDETERMINATE) -sliding = express_getattr(IfcDoorPanelOperationEnum, 'SLIDING', INDETERMINATE) -swinging = express_getattr(IfcDoorPanelOperationEnum, 'SWINGING', INDETERMINATE) -userdefined = express_getattr(IfcDoorPanelOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +double_acting = IfcDoorPanelOperationEnum.DOUBLE_ACTING +fixedpanel = IfcDoorPanelOperationEnum.FIXEDPANEL +folding = IfcDoorPanelOperationEnum.FOLDING +revolving = IfcDoorPanelOperationEnum.REVOLVING +rollingup = IfcDoorPanelOperationEnum.ROLLINGUP +sliding = IfcDoorPanelOperationEnum.SLIDING +swinging = IfcDoorPanelOperationEnum.SWINGING +userdefined = IfcDoorPanelOperationEnum.USERDEFINED +notdefined = IfcDoorPanelOperationEnum.NOTDEFINED IfcDoorPanelPositionEnum = enum_namespace() -left = express_getattr(IfcDoorPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcDoorPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcDoorPanelPositionEnum, 'RIGHT', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcDoorPanelPositionEnum.LEFT +middle = IfcDoorPanelPositionEnum.MIDDLE +right = IfcDoorPanelPositionEnum.RIGHT +notdefined = IfcDoorPanelPositionEnum.NOTDEFINED IfcDoorStyleConstructionEnum = enum_namespace() -aluminium = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM', INDETERMINATE) -aluminium_plastic = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM_PLASTIC', INDETERMINATE) -aluminium_wood = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM_WOOD', INDETERMINATE) -high_grade_steel = express_getattr(IfcDoorStyleConstructionEnum, 'HIGH_GRADE_STEEL', INDETERMINATE) -plastic = express_getattr(IfcDoorStyleConstructionEnum, 'PLASTIC', INDETERMINATE) -steel = express_getattr(IfcDoorStyleConstructionEnum, 'STEEL', INDETERMINATE) -wood = express_getattr(IfcDoorStyleConstructionEnum, 'WOOD', INDETERMINATE) -userdefined = express_getattr(IfcDoorStyleConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorStyleConstructionEnum, 'NOTDEFINED', INDETERMINATE) +aluminium = IfcDoorStyleConstructionEnum.ALUMINIUM +aluminium_plastic = IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC +aluminium_wood = IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD +high_grade_steel = IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL +plastic = IfcDoorStyleConstructionEnum.PLASTIC +steel = IfcDoorStyleConstructionEnum.STEEL +wood = IfcDoorStyleConstructionEnum.WOOD +userdefined = IfcDoorStyleConstructionEnum.USERDEFINED +notdefined = IfcDoorStyleConstructionEnum.NOTDEFINED IfcDoorStyleOperationEnum = enum_namespace() -double_door_double_swing = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_DOUBLE_SWING', INDETERMINATE) -double_door_folding = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_FOLDING', INDETERMINATE) -double_door_single_swing = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING', INDETERMINATE) -double_door_single_swing_opposite_left = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_door_single_swing_opposite_right = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_door_sliding = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SLIDING', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorStyleOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorStyleOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -revolving = express_getattr(IfcDoorStyleOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorStyleOperationEnum, 'ROLLINGUP', INDETERMINATE) -single_swing_left = express_getattr(IfcDoorStyleOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorStyleOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorStyleOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorStyleOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -userdefined = express_getattr(IfcDoorStyleOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorStyleOperationEnum, 'NOTDEFINED', INDETERMINATE) +double_door_double_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING +double_door_folding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING +double_door_single_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING +double_door_single_swing_opposite_left = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT +double_door_single_swing_opposite_right = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT +double_door_sliding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING +double_swing_left = IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT +folding_to_left = IfcDoorStyleOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT +revolving = IfcDoorStyleOperationEnum.REVOLVING +rollingup = IfcDoorStyleOperationEnum.ROLLINGUP +single_swing_left = IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT +sliding_to_left = IfcDoorStyleOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT +userdefined = IfcDoorStyleOperationEnum.USERDEFINED +notdefined = IfcDoorStyleOperationEnum.NOTDEFINED IfcDoorTypeEnum = enum_namespace() -boom_barrier = express_getattr(IfcDoorTypeEnum, 'BOOM_BARRIER', INDETERMINATE) -door = express_getattr(IfcDoorTypeEnum, 'DOOR', INDETERMINATE) -gate = express_getattr(IfcDoorTypeEnum, 'GATE', INDETERMINATE) -trapdoor = express_getattr(IfcDoorTypeEnum, 'TRAPDOOR', INDETERMINATE) -turnstile = express_getattr(IfcDoorTypeEnum, 'TURNSTILE', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeEnum, 'NOTDEFINED', INDETERMINATE) +boom_barrier = IfcDoorTypeEnum.BOOM_BARRIER +door = IfcDoorTypeEnum.DOOR +gate = IfcDoorTypeEnum.GATE +trapdoor = IfcDoorTypeEnum.TRAPDOOR +turnstile = IfcDoorTypeEnum.TURNSTILE +userdefined = IfcDoorTypeEnum.USERDEFINED +notdefined = IfcDoorTypeEnum.NOTDEFINED IfcDoorTypeOperationEnum = enum_namespace() -double_panel_double_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_DOUBLE_SWING', INDETERMINATE) -double_panel_folding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_FOLDING', INDETERMINATE) -double_panel_lifting_vertical = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_LIFTING_VERTICAL', INDETERMINATE) -double_panel_single_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_SINGLE_SWING', INDETERMINATE) -double_panel_single_swing_opposite_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_panel_single_swing_opposite_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_panel_sliding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_SLIDING', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -lifting_horizontal = express_getattr(IfcDoorTypeOperationEnum, 'LIFTING_HORIZONTAL', INDETERMINATE) -lifting_vertical_left = express_getattr(IfcDoorTypeOperationEnum, 'LIFTING_VERTICAL_LEFT', INDETERMINATE) -lifting_vertical_right = express_getattr(IfcDoorTypeOperationEnum, 'LIFTING_VERTICAL_RIGHT', INDETERMINATE) -revolving_horizontal = express_getattr(IfcDoorTypeOperationEnum, 'REVOLVING_HORIZONTAL', INDETERMINATE) -revolving_vertical = express_getattr(IfcDoorTypeOperationEnum, 'REVOLVING_VERTICAL', INDETERMINATE) -rollingup = express_getattr(IfcDoorTypeOperationEnum, 'ROLLINGUP', INDETERMINATE) -single_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -swing_fixed_left = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_LEFT', INDETERMINATE) -swing_fixed_right = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_RIGHT', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeOperationEnum, 'NOTDEFINED', INDETERMINATE) +double_panel_double_swing = IfcDoorTypeOperationEnum.DOUBLE_PANEL_DOUBLE_SWING +double_panel_folding = IfcDoorTypeOperationEnum.DOUBLE_PANEL_FOLDING +double_panel_lifting_vertical = IfcDoorTypeOperationEnum.DOUBLE_PANEL_LIFTING_VERTICAL +double_panel_single_swing = IfcDoorTypeOperationEnum.DOUBLE_PANEL_SINGLE_SWING +double_panel_single_swing_opposite_left = IfcDoorTypeOperationEnum.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT +double_panel_single_swing_opposite_right = IfcDoorTypeOperationEnum.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT +double_panel_sliding = IfcDoorTypeOperationEnum.DOUBLE_PANEL_SLIDING +double_swing_left = IfcDoorTypeOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorTypeOperationEnum.DOUBLE_SWING_RIGHT +folding_to_left = IfcDoorTypeOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorTypeOperationEnum.FOLDING_TO_RIGHT +lifting_horizontal = IfcDoorTypeOperationEnum.LIFTING_HORIZONTAL +lifting_vertical_left = IfcDoorTypeOperationEnum.LIFTING_VERTICAL_LEFT +lifting_vertical_right = IfcDoorTypeOperationEnum.LIFTING_VERTICAL_RIGHT +revolving_horizontal = IfcDoorTypeOperationEnum.REVOLVING_HORIZONTAL +revolving_vertical = IfcDoorTypeOperationEnum.REVOLVING_VERTICAL +rollingup = IfcDoorTypeOperationEnum.ROLLINGUP +single_swing_left = IfcDoorTypeOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorTypeOperationEnum.SINGLE_SWING_RIGHT +sliding_to_left = IfcDoorTypeOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorTypeOperationEnum.SLIDING_TO_RIGHT +swing_fixed_left = IfcDoorTypeOperationEnum.SWING_FIXED_LEFT +swing_fixed_right = IfcDoorTypeOperationEnum.SWING_FIXED_RIGHT +userdefined = IfcDoorTypeOperationEnum.USERDEFINED +notdefined = IfcDoorTypeOperationEnum.NOTDEFINED IfcDuctFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcDuctFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcDuctFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcDuctFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcDuctFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcDuctFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcDuctFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcDuctFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcDuctFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcDuctFittingTypeEnum.BEND +connector = IfcDuctFittingTypeEnum.CONNECTOR +entry = IfcDuctFittingTypeEnum.ENTRY +exit = IfcDuctFittingTypeEnum.EXIT +junction = IfcDuctFittingTypeEnum.JUNCTION +obstruction = IfcDuctFittingTypeEnum.OBSTRUCTION +transition = IfcDuctFittingTypeEnum.TRANSITION +userdefined = IfcDuctFittingTypeEnum.USERDEFINED +notdefined = IfcDuctFittingTypeEnum.NOTDEFINED IfcDuctSegmentTypeEnum = enum_namespace() -flexiblesegment = express_getattr(IfcDuctSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -rigidsegment = express_getattr(IfcDuctSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcDuctSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +flexiblesegment = IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT +rigidsegment = IfcDuctSegmentTypeEnum.RIGIDSEGMENT +userdefined = IfcDuctSegmentTypeEnum.USERDEFINED +notdefined = IfcDuctSegmentTypeEnum.NOTDEFINED IfcDuctSilencerTypeEnum = enum_namespace() -flatoval = express_getattr(IfcDuctSilencerTypeEnum, 'FLATOVAL', INDETERMINATE) -rectangular = express_getattr(IfcDuctSilencerTypeEnum, 'RECTANGULAR', INDETERMINATE) -round = express_getattr(IfcDuctSilencerTypeEnum, 'ROUND', INDETERMINATE) -userdefined = express_getattr(IfcDuctSilencerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSilencerTypeEnum, 'NOTDEFINED', INDETERMINATE) +flatoval = IfcDuctSilencerTypeEnum.FLATOVAL +rectangular = IfcDuctSilencerTypeEnum.RECTANGULAR +round = IfcDuctSilencerTypeEnum.ROUND +userdefined = IfcDuctSilencerTypeEnum.USERDEFINED +notdefined = IfcDuctSilencerTypeEnum.NOTDEFINED IfcEarthworksCutTypeEnum = enum_namespace() -base_excavation = express_getattr(IfcEarthworksCutTypeEnum, 'BASE_EXCAVATION', INDETERMINATE) -cut = express_getattr(IfcEarthworksCutTypeEnum, 'CUT', INDETERMINATE) -dredging = express_getattr(IfcEarthworksCutTypeEnum, 'DREDGING', INDETERMINATE) -excavation = express_getattr(IfcEarthworksCutTypeEnum, 'EXCAVATION', INDETERMINATE) -overexcavation = express_getattr(IfcEarthworksCutTypeEnum, 'OVEREXCAVATION', INDETERMINATE) -pavementmilling = express_getattr(IfcEarthworksCutTypeEnum, 'PAVEMENTMILLING', INDETERMINATE) -stepexcavation = express_getattr(IfcEarthworksCutTypeEnum, 'STEPEXCAVATION', INDETERMINATE) -topsoilremoval = express_getattr(IfcEarthworksCutTypeEnum, 'TOPSOILREMOVAL', INDETERMINATE) -trench = express_getattr(IfcEarthworksCutTypeEnum, 'TRENCH', INDETERMINATE) -userdefined = express_getattr(IfcEarthworksCutTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEarthworksCutTypeEnum, 'NOTDEFINED', INDETERMINATE) +base_excavation = IfcEarthworksCutTypeEnum.BASE_EXCAVATION +cut = IfcEarthworksCutTypeEnum.CUT +dredging = IfcEarthworksCutTypeEnum.DREDGING +excavation = IfcEarthworksCutTypeEnum.EXCAVATION +overexcavation = IfcEarthworksCutTypeEnum.OVEREXCAVATION +pavementmilling = IfcEarthworksCutTypeEnum.PAVEMENTMILLING +stepexcavation = IfcEarthworksCutTypeEnum.STEPEXCAVATION +topsoilremoval = IfcEarthworksCutTypeEnum.TOPSOILREMOVAL +trench = IfcEarthworksCutTypeEnum.TRENCH +userdefined = IfcEarthworksCutTypeEnum.USERDEFINED +notdefined = IfcEarthworksCutTypeEnum.NOTDEFINED IfcEarthworksFillTypeEnum = enum_namespace() -backfill = express_getattr(IfcEarthworksFillTypeEnum, 'BACKFILL', INDETERMINATE) -counterweight = express_getattr(IfcEarthworksFillTypeEnum, 'COUNTERWEIGHT', INDETERMINATE) -embankment = express_getattr(IfcEarthworksFillTypeEnum, 'EMBANKMENT', INDETERMINATE) -slopefill = express_getattr(IfcEarthworksFillTypeEnum, 'SLOPEFILL', INDETERMINATE) -subgrade = express_getattr(IfcEarthworksFillTypeEnum, 'SUBGRADE', INDETERMINATE) -subgradebed = express_getattr(IfcEarthworksFillTypeEnum, 'SUBGRADEBED', INDETERMINATE) -transitionsection = express_getattr(IfcEarthworksFillTypeEnum, 'TRANSITIONSECTION', INDETERMINATE) -userdefined = express_getattr(IfcEarthworksFillTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEarthworksFillTypeEnum, 'NOTDEFINED', INDETERMINATE) +backfill = IfcEarthworksFillTypeEnum.BACKFILL +counterweight = IfcEarthworksFillTypeEnum.COUNTERWEIGHT +embankment = IfcEarthworksFillTypeEnum.EMBANKMENT +slopefill = IfcEarthworksFillTypeEnum.SLOPEFILL +subgrade = IfcEarthworksFillTypeEnum.SUBGRADE +subgradebed = IfcEarthworksFillTypeEnum.SUBGRADEBED +transitionsection = IfcEarthworksFillTypeEnum.TRANSITIONSECTION +userdefined = IfcEarthworksFillTypeEnum.USERDEFINED +notdefined = IfcEarthworksFillTypeEnum.NOTDEFINED IfcElectricApplianceTypeEnum = enum_namespace() -dishwasher = express_getattr(IfcElectricApplianceTypeEnum, 'DISHWASHER', INDETERMINATE) -electriccooker = express_getattr(IfcElectricApplianceTypeEnum, 'ELECTRICCOOKER', INDETERMINATE) -freestandingelectricheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGELECTRICHEATER', INDETERMINATE) -freestandingfan = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGFAN', INDETERMINATE) -freestandingwatercooler = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERCOOLER', INDETERMINATE) -freestandingwaterheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERHEATER', INDETERMINATE) -freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FREEZER', INDETERMINATE) -fridge_freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FRIDGE_FREEZER', INDETERMINATE) -handdryer = express_getattr(IfcElectricApplianceTypeEnum, 'HANDDRYER', INDETERMINATE) -kitchenmachine = express_getattr(IfcElectricApplianceTypeEnum, 'KITCHENMACHINE', INDETERMINATE) -microwave = express_getattr(IfcElectricApplianceTypeEnum, 'MICROWAVE', INDETERMINATE) -photocopier = express_getattr(IfcElectricApplianceTypeEnum, 'PHOTOCOPIER', INDETERMINATE) -refrigerator = express_getattr(IfcElectricApplianceTypeEnum, 'REFRIGERATOR', INDETERMINATE) -tumbledryer = express_getattr(IfcElectricApplianceTypeEnum, 'TUMBLEDRYER', INDETERMINATE) -vendingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'VENDINGMACHINE', INDETERMINATE) -washingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'WASHINGMACHINE', INDETERMINATE) -userdefined = express_getattr(IfcElectricApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +dishwasher = IfcElectricApplianceTypeEnum.DISHWASHER +electriccooker = IfcElectricApplianceTypeEnum.ELECTRICCOOKER +freestandingelectricheater = IfcElectricApplianceTypeEnum.FREESTANDINGELECTRICHEATER +freestandingfan = IfcElectricApplianceTypeEnum.FREESTANDINGFAN +freestandingwatercooler = IfcElectricApplianceTypeEnum.FREESTANDINGWATERCOOLER +freestandingwaterheater = IfcElectricApplianceTypeEnum.FREESTANDINGWATERHEATER +freezer = IfcElectricApplianceTypeEnum.FREEZER +fridge_freezer = IfcElectricApplianceTypeEnum.FRIDGE_FREEZER +handdryer = IfcElectricApplianceTypeEnum.HANDDRYER +kitchenmachine = IfcElectricApplianceTypeEnum.KITCHENMACHINE +microwave = IfcElectricApplianceTypeEnum.MICROWAVE +photocopier = IfcElectricApplianceTypeEnum.PHOTOCOPIER +refrigerator = IfcElectricApplianceTypeEnum.REFRIGERATOR +tumbledryer = IfcElectricApplianceTypeEnum.TUMBLEDRYER +vendingmachine = IfcElectricApplianceTypeEnum.VENDINGMACHINE +washingmachine = IfcElectricApplianceTypeEnum.WASHINGMACHINE +userdefined = IfcElectricApplianceTypeEnum.USERDEFINED +notdefined = IfcElectricApplianceTypeEnum.NOTDEFINED IfcElectricDistributionBoardTypeEnum = enum_namespace() -consumerunit = express_getattr(IfcElectricDistributionBoardTypeEnum, 'CONSUMERUNIT', INDETERMINATE) -distributionboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcElectricDistributionBoardTypeEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -switchboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'SWITCHBOARD', INDETERMINATE) -userdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'NOTDEFINED', INDETERMINATE) +consumerunit = IfcElectricDistributionBoardTypeEnum.CONSUMERUNIT +distributionboard = IfcElectricDistributionBoardTypeEnum.DISTRIBUTIONBOARD +motorcontrolcentre = IfcElectricDistributionBoardTypeEnum.MOTORCONTROLCENTRE +switchboard = IfcElectricDistributionBoardTypeEnum.SWITCHBOARD +userdefined = IfcElectricDistributionBoardTypeEnum.USERDEFINED +notdefined = IfcElectricDistributionBoardTypeEnum.NOTDEFINED IfcElectricFlowStorageDeviceTypeEnum = enum_namespace() -battery = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'BATTERY', INDETERMINATE) -capacitor = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITOR', INDETERMINATE) -capacitorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITORBANK', INDETERMINATE) -compensator = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'COMPENSATOR', INDETERMINATE) -harmonicfilter = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'HARMONICFILTER', INDETERMINATE) -inductor = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTOR', INDETERMINATE) -inductorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTORBANK', INDETERMINATE) -recharger = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'RECHARGER', INDETERMINATE) -ups = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'UPS', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +battery = IfcElectricFlowStorageDeviceTypeEnum.BATTERY +capacitor = IfcElectricFlowStorageDeviceTypeEnum.CAPACITOR +capacitorbank = IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK +compensator = IfcElectricFlowStorageDeviceTypeEnum.COMPENSATOR +harmonicfilter = IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER +inductor = IfcElectricFlowStorageDeviceTypeEnum.INDUCTOR +inductorbank = IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK +recharger = IfcElectricFlowStorageDeviceTypeEnum.RECHARGER +ups = IfcElectricFlowStorageDeviceTypeEnum.UPS +userdefined = IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED IfcElectricFlowTreatmentDeviceTypeEnum = enum_namespace() -electronicfilter = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'ELECTRONICFILTER', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +electronicfilter = IfcElectricFlowTreatmentDeviceTypeEnum.ELECTRONICFILTER +userdefined = IfcElectricFlowTreatmentDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowTreatmentDeviceTypeEnum.NOTDEFINED IfcElectricGeneratorTypeEnum = enum_namespace() -chp = express_getattr(IfcElectricGeneratorTypeEnum, 'CHP', INDETERMINATE) -enginegenerator = express_getattr(IfcElectricGeneratorTypeEnum, 'ENGINEGENERATOR', INDETERMINATE) -standalone = express_getattr(IfcElectricGeneratorTypeEnum, 'STANDALONE', INDETERMINATE) -userdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'NOTDEFINED', INDETERMINATE) +chp = IfcElectricGeneratorTypeEnum.CHP +enginegenerator = IfcElectricGeneratorTypeEnum.ENGINEGENERATOR +standalone = IfcElectricGeneratorTypeEnum.STANDALONE +userdefined = IfcElectricGeneratorTypeEnum.USERDEFINED +notdefined = IfcElectricGeneratorTypeEnum.NOTDEFINED IfcElectricMotorTypeEnum = enum_namespace() -dc = express_getattr(IfcElectricMotorTypeEnum, 'DC', INDETERMINATE) -induction = express_getattr(IfcElectricMotorTypeEnum, 'INDUCTION', INDETERMINATE) -polyphase = express_getattr(IfcElectricMotorTypeEnum, 'POLYPHASE', INDETERMINATE) -reluctancesynchronous = express_getattr(IfcElectricMotorTypeEnum, 'RELUCTANCESYNCHRONOUS', INDETERMINATE) -synchronous = express_getattr(IfcElectricMotorTypeEnum, 'SYNCHRONOUS', INDETERMINATE) -userdefined = express_getattr(IfcElectricMotorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricMotorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dc = IfcElectricMotorTypeEnum.DC +induction = IfcElectricMotorTypeEnum.INDUCTION +polyphase = IfcElectricMotorTypeEnum.POLYPHASE +reluctancesynchronous = IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS +synchronous = IfcElectricMotorTypeEnum.SYNCHRONOUS +userdefined = IfcElectricMotorTypeEnum.USERDEFINED +notdefined = IfcElectricMotorTypeEnum.NOTDEFINED IfcElectricTimeControlTypeEnum = enum_namespace() -relay = express_getattr(IfcElectricTimeControlTypeEnum, 'RELAY', INDETERMINATE) -timeclock = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMECLOCK', INDETERMINATE) -timedelay = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMEDELAY', INDETERMINATE) -userdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'NOTDEFINED', INDETERMINATE) +relay = IfcElectricTimeControlTypeEnum.RELAY +timeclock = IfcElectricTimeControlTypeEnum.TIMECLOCK +timedelay = IfcElectricTimeControlTypeEnum.TIMEDELAY +userdefined = IfcElectricTimeControlTypeEnum.USERDEFINED +notdefined = IfcElectricTimeControlTypeEnum.NOTDEFINED IfcElementAssemblyTypeEnum = enum_namespace() -abutment = express_getattr(IfcElementAssemblyTypeEnum, 'ABUTMENT', INDETERMINATE) -accessory_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'ACCESSORY_ASSEMBLY', INDETERMINATE) -arch = express_getattr(IfcElementAssemblyTypeEnum, 'ARCH', INDETERMINATE) -beam_grid = express_getattr(IfcElementAssemblyTypeEnum, 'BEAM_GRID', INDETERMINATE) -braced_frame = express_getattr(IfcElementAssemblyTypeEnum, 'BRACED_FRAME', INDETERMINATE) -cross_bracing = express_getattr(IfcElementAssemblyTypeEnum, 'CROSS_BRACING', INDETERMINATE) -deck = express_getattr(IfcElementAssemblyTypeEnum, 'DECK', INDETERMINATE) -dilatationpanel = express_getattr(IfcElementAssemblyTypeEnum, 'DILATATIONPANEL', INDETERMINATE) -entranceworks = express_getattr(IfcElementAssemblyTypeEnum, 'ENTRANCEWORKS', INDETERMINATE) -girder = express_getattr(IfcElementAssemblyTypeEnum, 'GIRDER', INDETERMINATE) -grid = express_getattr(IfcElementAssemblyTypeEnum, 'GRID', INDETERMINATE) -mast = express_getattr(IfcElementAssemblyTypeEnum, 'MAST', INDETERMINATE) -pier = express_getattr(IfcElementAssemblyTypeEnum, 'PIER', INDETERMINATE) -pylon = express_getattr(IfcElementAssemblyTypeEnum, 'PYLON', INDETERMINATE) -rail_mechanical_equipment_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY', INDETERMINATE) -reinforcement_unit = express_getattr(IfcElementAssemblyTypeEnum, 'REINFORCEMENT_UNIT', INDETERMINATE) -rigid_frame = express_getattr(IfcElementAssemblyTypeEnum, 'RIGID_FRAME', INDETERMINATE) -shelter = express_getattr(IfcElementAssemblyTypeEnum, 'SHELTER', INDETERMINATE) -signalassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SIGNALASSEMBLY', INDETERMINATE) -slab_field = express_getattr(IfcElementAssemblyTypeEnum, 'SLAB_FIELD', INDETERMINATE) -sumpbuster = express_getattr(IfcElementAssemblyTypeEnum, 'SUMPBUSTER', INDETERMINATE) -supportingassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SUPPORTINGASSEMBLY', INDETERMINATE) -suspensionassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SUSPENSIONASSEMBLY', INDETERMINATE) -trackpanel = express_getattr(IfcElementAssemblyTypeEnum, 'TRACKPANEL', INDETERMINATE) -traction_switching_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'TRACTION_SWITCHING_ASSEMBLY', INDETERMINATE) -traffic_calming_device = express_getattr(IfcElementAssemblyTypeEnum, 'TRAFFIC_CALMING_DEVICE', INDETERMINATE) -truss = express_getattr(IfcElementAssemblyTypeEnum, 'TRUSS', INDETERMINATE) -turnoutpanel = express_getattr(IfcElementAssemblyTypeEnum, 'TURNOUTPANEL', INDETERMINATE) -userdefined = express_getattr(IfcElementAssemblyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElementAssemblyTypeEnum, 'NOTDEFINED', INDETERMINATE) +abutment = IfcElementAssemblyTypeEnum.ABUTMENT +accessory_assembly = IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY +arch = IfcElementAssemblyTypeEnum.ARCH +beam_grid = IfcElementAssemblyTypeEnum.BEAM_GRID +braced_frame = IfcElementAssemblyTypeEnum.BRACED_FRAME +cross_bracing = IfcElementAssemblyTypeEnum.CROSS_BRACING +deck = IfcElementAssemblyTypeEnum.DECK +dilatationpanel = IfcElementAssemblyTypeEnum.DILATATIONPANEL +entranceworks = IfcElementAssemblyTypeEnum.ENTRANCEWORKS +girder = IfcElementAssemblyTypeEnum.GIRDER +grid = IfcElementAssemblyTypeEnum.GRID +mast = IfcElementAssemblyTypeEnum.MAST +pier = IfcElementAssemblyTypeEnum.PIER +pylon = IfcElementAssemblyTypeEnum.PYLON +rail_mechanical_equipment_assembly = IfcElementAssemblyTypeEnum.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY +reinforcement_unit = IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT +rigid_frame = IfcElementAssemblyTypeEnum.RIGID_FRAME +shelter = IfcElementAssemblyTypeEnum.SHELTER +signalassembly = IfcElementAssemblyTypeEnum.SIGNALASSEMBLY +slab_field = IfcElementAssemblyTypeEnum.SLAB_FIELD +sumpbuster = IfcElementAssemblyTypeEnum.SUMPBUSTER +supportingassembly = IfcElementAssemblyTypeEnum.SUPPORTINGASSEMBLY +suspensionassembly = IfcElementAssemblyTypeEnum.SUSPENSIONASSEMBLY +trackpanel = IfcElementAssemblyTypeEnum.TRACKPANEL +traction_switching_assembly = IfcElementAssemblyTypeEnum.TRACTION_SWITCHING_ASSEMBLY +traffic_calming_device = IfcElementAssemblyTypeEnum.TRAFFIC_CALMING_DEVICE +truss = IfcElementAssemblyTypeEnum.TRUSS +turnoutpanel = IfcElementAssemblyTypeEnum.TURNOUTPANEL +userdefined = IfcElementAssemblyTypeEnum.USERDEFINED +notdefined = IfcElementAssemblyTypeEnum.NOTDEFINED IfcElementCompositionEnum = enum_namespace() -complex = express_getattr(IfcElementCompositionEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcElementCompositionEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcElementCompositionEnum, 'PARTIAL', INDETERMINATE) +complex = IfcElementCompositionEnum.COMPLEX +element = IfcElementCompositionEnum.ELEMENT +partial = IfcElementCompositionEnum.PARTIAL IfcEngineTypeEnum = enum_namespace() -externalcombustion = express_getattr(IfcEngineTypeEnum, 'EXTERNALCOMBUSTION', INDETERMINATE) -internalcombustion = express_getattr(IfcEngineTypeEnum, 'INTERNALCOMBUSTION', INDETERMINATE) -userdefined = express_getattr(IfcEngineTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEngineTypeEnum, 'NOTDEFINED', INDETERMINATE) +externalcombustion = IfcEngineTypeEnum.EXTERNALCOMBUSTION +internalcombustion = IfcEngineTypeEnum.INTERNALCOMBUSTION +userdefined = IfcEngineTypeEnum.USERDEFINED +notdefined = IfcEngineTypeEnum.NOTDEFINED IfcEvaporativeCoolerTypeEnum = enum_namespace() -directevaporativeairwasher = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEAIRWASHER', INDETERMINATE) -directevaporativepackagedrotaryaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER', INDETERMINATE) -directevaporativerandommediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER', INDETERMINATE) -directevaporativerigidmediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER', INDETERMINATE) -directevaporativeslingerspackagedaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER', INDETERMINATE) -indirectdirectcombination = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTDIRECTCOMBINATION', INDETERMINATE) -indirectevaporativecoolingtowerorcoilcooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER', INDETERMINATE) -indirectevaporativepackageaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEPACKAGEAIRCOOLER', INDETERMINATE) -indirectevaporativewetcoil = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEWETCOIL', INDETERMINATE) -userdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'NOTDEFINED', INDETERMINATE) +directevaporativeairwasher = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER +directevaporativepackagedrotaryaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER +directevaporativerandommediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER +directevaporativerigidmediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER +directevaporativeslingerspackagedaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER +indirectdirectcombination = IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION +indirectevaporativecoolingtowerorcoilcooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER +indirectevaporativepackageaircooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER +indirectevaporativewetcoil = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL +userdefined = IfcEvaporativeCoolerTypeEnum.USERDEFINED +notdefined = IfcEvaporativeCoolerTypeEnum.NOTDEFINED IfcEvaporatorTypeEnum = enum_namespace() -directexpansion = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSION', INDETERMINATE) -directexpansionbrazedplate = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONBRAZEDPLATE', INDETERMINATE) -directexpansionshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONSHELLANDTUBE', INDETERMINATE) -directexpansiontubeintube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONTUBEINTUBE', INDETERMINATE) -floodedshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'FLOODEDSHELLANDTUBE', INDETERMINATE) -shellandcoil = express_getattr(IfcEvaporatorTypeEnum, 'SHELLANDCOIL', INDETERMINATE) -userdefined = express_getattr(IfcEvaporatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +directexpansion = IfcEvaporatorTypeEnum.DIRECTEXPANSION +directexpansionbrazedplate = IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE +directexpansionshellandtube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE +directexpansiontubeintube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE +floodedshellandtube = IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE +shellandcoil = IfcEvaporatorTypeEnum.SHELLANDCOIL +userdefined = IfcEvaporatorTypeEnum.USERDEFINED +notdefined = IfcEvaporatorTypeEnum.NOTDEFINED IfcEventTriggerTypeEnum = enum_namespace() -eventcomplex = express_getattr(IfcEventTriggerTypeEnum, 'EVENTCOMPLEX', INDETERMINATE) -eventmessage = express_getattr(IfcEventTriggerTypeEnum, 'EVENTMESSAGE', INDETERMINATE) -eventrule = express_getattr(IfcEventTriggerTypeEnum, 'EVENTRULE', INDETERMINATE) -eventtime = express_getattr(IfcEventTriggerTypeEnum, 'EVENTTIME', INDETERMINATE) -userdefined = express_getattr(IfcEventTriggerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTriggerTypeEnum, 'NOTDEFINED', INDETERMINATE) +eventcomplex = IfcEventTriggerTypeEnum.EVENTCOMPLEX +eventmessage = IfcEventTriggerTypeEnum.EVENTMESSAGE +eventrule = IfcEventTriggerTypeEnum.EVENTRULE +eventtime = IfcEventTriggerTypeEnum.EVENTTIME +userdefined = IfcEventTriggerTypeEnum.USERDEFINED +notdefined = IfcEventTriggerTypeEnum.NOTDEFINED IfcEventTypeEnum = enum_namespace() -endevent = express_getattr(IfcEventTypeEnum, 'ENDEVENT', INDETERMINATE) -intermediateevent = express_getattr(IfcEventTypeEnum, 'INTERMEDIATEEVENT', INDETERMINATE) -startevent = express_getattr(IfcEventTypeEnum, 'STARTEVENT', INDETERMINATE) -userdefined = express_getattr(IfcEventTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTypeEnum, 'NOTDEFINED', INDETERMINATE) +endevent = IfcEventTypeEnum.ENDEVENT +intermediateevent = IfcEventTypeEnum.INTERMEDIATEEVENT +startevent = IfcEventTypeEnum.STARTEVENT +userdefined = IfcEventTypeEnum.USERDEFINED +notdefined = IfcEventTypeEnum.NOTDEFINED IfcExternalSpatialElementTypeEnum = enum_namespace() -external = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_fire = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_FIRE', INDETERMINATE) -external_water = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_WATER', INDETERMINATE) -userdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +external = IfcExternalSpatialElementTypeEnum.EXTERNAL +external_earth = IfcExternalSpatialElementTypeEnum.EXTERNAL_EARTH +external_fire = IfcExternalSpatialElementTypeEnum.EXTERNAL_FIRE +external_water = IfcExternalSpatialElementTypeEnum.EXTERNAL_WATER +userdefined = IfcExternalSpatialElementTypeEnum.USERDEFINED +notdefined = IfcExternalSpatialElementTypeEnum.NOTDEFINED IfcFacilityPartCommonTypeEnum = enum_namespace() -aboveground = express_getattr(IfcFacilityPartCommonTypeEnum, 'ABOVEGROUND', INDETERMINATE) -belowground = express_getattr(IfcFacilityPartCommonTypeEnum, 'BELOWGROUND', INDETERMINATE) -junction = express_getattr(IfcFacilityPartCommonTypeEnum, 'JUNCTION', INDETERMINATE) -levelcrossing = express_getattr(IfcFacilityPartCommonTypeEnum, 'LEVELCROSSING', INDETERMINATE) -segment = express_getattr(IfcFacilityPartCommonTypeEnum, 'SEGMENT', INDETERMINATE) -substructure = express_getattr(IfcFacilityPartCommonTypeEnum, 'SUBSTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcFacilityPartCommonTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -terminal = express_getattr(IfcFacilityPartCommonTypeEnum, 'TERMINAL', INDETERMINATE) -userdefined = express_getattr(IfcFacilityPartCommonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFacilityPartCommonTypeEnum, 'NOTDEFINED', INDETERMINATE) +aboveground = IfcFacilityPartCommonTypeEnum.ABOVEGROUND +belowground = IfcFacilityPartCommonTypeEnum.BELOWGROUND +junction = IfcFacilityPartCommonTypeEnum.JUNCTION +levelcrossing = IfcFacilityPartCommonTypeEnum.LEVELCROSSING +segment = IfcFacilityPartCommonTypeEnum.SEGMENT +substructure = IfcFacilityPartCommonTypeEnum.SUBSTRUCTURE +superstructure = IfcFacilityPartCommonTypeEnum.SUPERSTRUCTURE +terminal = IfcFacilityPartCommonTypeEnum.TERMINAL +userdefined = IfcFacilityPartCommonTypeEnum.USERDEFINED +notdefined = IfcFacilityPartCommonTypeEnum.NOTDEFINED IfcFacilityUsageEnum = enum_namespace() -lateral = express_getattr(IfcFacilityUsageEnum, 'LATERAL', INDETERMINATE) -longitudinal = express_getattr(IfcFacilityUsageEnum, 'LONGITUDINAL', INDETERMINATE) -region = express_getattr(IfcFacilityUsageEnum, 'REGION', INDETERMINATE) -vertical = express_getattr(IfcFacilityUsageEnum, 'VERTICAL', INDETERMINATE) -userdefined = express_getattr(IfcFacilityUsageEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFacilityUsageEnum, 'NOTDEFINED', INDETERMINATE) +lateral = IfcFacilityUsageEnum.LATERAL +longitudinal = IfcFacilityUsageEnum.LONGITUDINAL +region = IfcFacilityUsageEnum.REGION +vertical = IfcFacilityUsageEnum.VERTICAL +userdefined = IfcFacilityUsageEnum.USERDEFINED +notdefined = IfcFacilityUsageEnum.NOTDEFINED IfcFanTypeEnum = enum_namespace() -centrifugalairfoil = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALAIRFOIL', INDETERMINATE) -centrifugalbackwardinclinedcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALBACKWARDINCLINEDCURVED', INDETERMINATE) -centrifugalforwardcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALFORWARDCURVED', INDETERMINATE) -centrifugalradial = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALRADIAL', INDETERMINATE) -propelloraxial = express_getattr(IfcFanTypeEnum, 'PROPELLORAXIAL', INDETERMINATE) -tubeaxial = express_getattr(IfcFanTypeEnum, 'TUBEAXIAL', INDETERMINATE) -vaneaxial = express_getattr(IfcFanTypeEnum, 'VANEAXIAL', INDETERMINATE) -userdefined = express_getattr(IfcFanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFanTypeEnum, 'NOTDEFINED', INDETERMINATE) +centrifugalairfoil = IfcFanTypeEnum.CENTRIFUGALAIRFOIL +centrifugalbackwardinclinedcurved = IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED +centrifugalforwardcurved = IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED +centrifugalradial = IfcFanTypeEnum.CENTRIFUGALRADIAL +propelloraxial = IfcFanTypeEnum.PROPELLORAXIAL +tubeaxial = IfcFanTypeEnum.TUBEAXIAL +vaneaxial = IfcFanTypeEnum.VANEAXIAL +userdefined = IfcFanTypeEnum.USERDEFINED +notdefined = IfcFanTypeEnum.NOTDEFINED IfcFastenerTypeEnum = enum_namespace() -glue = express_getattr(IfcFastenerTypeEnum, 'GLUE', INDETERMINATE) -mortar = express_getattr(IfcFastenerTypeEnum, 'MORTAR', INDETERMINATE) -weld = express_getattr(IfcFastenerTypeEnum, 'WELD', INDETERMINATE) -userdefined = express_getattr(IfcFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +glue = IfcFastenerTypeEnum.GLUE +mortar = IfcFastenerTypeEnum.MORTAR +weld = IfcFastenerTypeEnum.WELD +userdefined = IfcFastenerTypeEnum.USERDEFINED +notdefined = IfcFastenerTypeEnum.NOTDEFINED IfcFilterTypeEnum = enum_namespace() -airparticlefilter = express_getattr(IfcFilterTypeEnum, 'AIRPARTICLEFILTER', INDETERMINATE) -compressedairfilter = express_getattr(IfcFilterTypeEnum, 'COMPRESSEDAIRFILTER', INDETERMINATE) -odorfilter = express_getattr(IfcFilterTypeEnum, 'ODORFILTER', INDETERMINATE) -oilfilter = express_getattr(IfcFilterTypeEnum, 'OILFILTER', INDETERMINATE) -strainer = express_getattr(IfcFilterTypeEnum, 'STRAINER', INDETERMINATE) -waterfilter = express_getattr(IfcFilterTypeEnum, 'WATERFILTER', INDETERMINATE) -userdefined = express_getattr(IfcFilterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFilterTypeEnum, 'NOTDEFINED', INDETERMINATE) +airparticlefilter = IfcFilterTypeEnum.AIRPARTICLEFILTER +compressedairfilter = IfcFilterTypeEnum.COMPRESSEDAIRFILTER +odorfilter = IfcFilterTypeEnum.ODORFILTER +oilfilter = IfcFilterTypeEnum.OILFILTER +strainer = IfcFilterTypeEnum.STRAINER +waterfilter = IfcFilterTypeEnum.WATERFILTER +userdefined = IfcFilterTypeEnum.USERDEFINED +notdefined = IfcFilterTypeEnum.NOTDEFINED IfcFireSuppressionTerminalTypeEnum = enum_namespace() -breechinginlet = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'BREECHINGINLET', INDETERMINATE) -firehydrant = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'FIREHYDRANT', INDETERMINATE) -firemonitor = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'FIREMONITOR', INDETERMINATE) -hosereel = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -sprinkler = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLER', INDETERMINATE) -sprinklerdeflector = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLERDEFLECTOR', INDETERMINATE) -userdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +breechinginlet = IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET +firehydrant = IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT +firemonitor = IfcFireSuppressionTerminalTypeEnum.FIREMONITOR +hosereel = IfcFireSuppressionTerminalTypeEnum.HOSEREEL +sprinkler = IfcFireSuppressionTerminalTypeEnum.SPRINKLER +sprinklerdeflector = IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR +userdefined = IfcFireSuppressionTerminalTypeEnum.USERDEFINED +notdefined = IfcFireSuppressionTerminalTypeEnum.NOTDEFINED IfcFlowDirectionEnum = enum_namespace() -sink = express_getattr(IfcFlowDirectionEnum, 'SINK', INDETERMINATE) -source = express_getattr(IfcFlowDirectionEnum, 'SOURCE', INDETERMINATE) -sourceandsink = express_getattr(IfcFlowDirectionEnum, 'SOURCEANDSINK', INDETERMINATE) -notdefined = express_getattr(IfcFlowDirectionEnum, 'NOTDEFINED', INDETERMINATE) +sink = IfcFlowDirectionEnum.SINK +source = IfcFlowDirectionEnum.SOURCE +sourceandsink = IfcFlowDirectionEnum.SOURCEANDSINK +notdefined = IfcFlowDirectionEnum.NOTDEFINED IfcFlowInstrumentTypeEnum = enum_namespace() -ammeter = express_getattr(IfcFlowInstrumentTypeEnum, 'AMMETER', INDETERMINATE) -combined = express_getattr(IfcFlowInstrumentTypeEnum, 'COMBINED', INDETERMINATE) -frequencymeter = express_getattr(IfcFlowInstrumentTypeEnum, 'FREQUENCYMETER', INDETERMINATE) -phaseanglemeter = express_getattr(IfcFlowInstrumentTypeEnum, 'PHASEANGLEMETER', INDETERMINATE) -powerfactormeter = express_getattr(IfcFlowInstrumentTypeEnum, 'POWERFACTORMETER', INDETERMINATE) -pressuregauge = express_getattr(IfcFlowInstrumentTypeEnum, 'PRESSUREGAUGE', INDETERMINATE) -thermometer = express_getattr(IfcFlowInstrumentTypeEnum, 'THERMOMETER', INDETERMINATE) -voltmeter = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER', INDETERMINATE) -voltmeter_peak = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_PEAK', INDETERMINATE) -voltmeter_rms = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_RMS', INDETERMINATE) -userdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'NOTDEFINED', INDETERMINATE) +ammeter = IfcFlowInstrumentTypeEnum.AMMETER +combined = IfcFlowInstrumentTypeEnum.COMBINED +frequencymeter = IfcFlowInstrumentTypeEnum.FREQUENCYMETER +phaseanglemeter = IfcFlowInstrumentTypeEnum.PHASEANGLEMETER +powerfactormeter = IfcFlowInstrumentTypeEnum.POWERFACTORMETER +pressuregauge = IfcFlowInstrumentTypeEnum.PRESSUREGAUGE +thermometer = IfcFlowInstrumentTypeEnum.THERMOMETER +voltmeter = IfcFlowInstrumentTypeEnum.VOLTMETER +voltmeter_peak = IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK +voltmeter_rms = IfcFlowInstrumentTypeEnum.VOLTMETER_RMS +userdefined = IfcFlowInstrumentTypeEnum.USERDEFINED +notdefined = IfcFlowInstrumentTypeEnum.NOTDEFINED IfcFlowMeterTypeEnum = enum_namespace() -energymeter = express_getattr(IfcFlowMeterTypeEnum, 'ENERGYMETER', INDETERMINATE) -gasmeter = express_getattr(IfcFlowMeterTypeEnum, 'GASMETER', INDETERMINATE) -oilmeter = express_getattr(IfcFlowMeterTypeEnum, 'OILMETER', INDETERMINATE) -watermeter = express_getattr(IfcFlowMeterTypeEnum, 'WATERMETER', INDETERMINATE) -userdefined = express_getattr(IfcFlowMeterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowMeterTypeEnum, 'NOTDEFINED', INDETERMINATE) +energymeter = IfcFlowMeterTypeEnum.ENERGYMETER +gasmeter = IfcFlowMeterTypeEnum.GASMETER +oilmeter = IfcFlowMeterTypeEnum.OILMETER +watermeter = IfcFlowMeterTypeEnum.WATERMETER +userdefined = IfcFlowMeterTypeEnum.USERDEFINED +notdefined = IfcFlowMeterTypeEnum.NOTDEFINED IfcFootingTypeEnum = enum_namespace() -caisson_foundation = express_getattr(IfcFootingTypeEnum, 'CAISSON_FOUNDATION', INDETERMINATE) -footing_beam = express_getattr(IfcFootingTypeEnum, 'FOOTING_BEAM', INDETERMINATE) -pad_footing = express_getattr(IfcFootingTypeEnum, 'PAD_FOOTING', INDETERMINATE) -pile_cap = express_getattr(IfcFootingTypeEnum, 'PILE_CAP', INDETERMINATE) -strip_footing = express_getattr(IfcFootingTypeEnum, 'STRIP_FOOTING', INDETERMINATE) -userdefined = express_getattr(IfcFootingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFootingTypeEnum, 'NOTDEFINED', INDETERMINATE) +caisson_foundation = IfcFootingTypeEnum.CAISSON_FOUNDATION +footing_beam = IfcFootingTypeEnum.FOOTING_BEAM +pad_footing = IfcFootingTypeEnum.PAD_FOOTING +pile_cap = IfcFootingTypeEnum.PILE_CAP +strip_footing = IfcFootingTypeEnum.STRIP_FOOTING +userdefined = IfcFootingTypeEnum.USERDEFINED +notdefined = IfcFootingTypeEnum.NOTDEFINED IfcFurnitureTypeEnum = enum_namespace() -bed = express_getattr(IfcFurnitureTypeEnum, 'BED', INDETERMINATE) -chair = express_getattr(IfcFurnitureTypeEnum, 'CHAIR', INDETERMINATE) -desk = express_getattr(IfcFurnitureTypeEnum, 'DESK', INDETERMINATE) -filecabinet = express_getattr(IfcFurnitureTypeEnum, 'FILECABINET', INDETERMINATE) -shelf = express_getattr(IfcFurnitureTypeEnum, 'SHELF', INDETERMINATE) -sofa = express_getattr(IfcFurnitureTypeEnum, 'SOFA', INDETERMINATE) -table = express_getattr(IfcFurnitureTypeEnum, 'TABLE', INDETERMINATE) -technicalcabinet = express_getattr(IfcFurnitureTypeEnum, 'TECHNICALCABINET', INDETERMINATE) -userdefined = express_getattr(IfcFurnitureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFurnitureTypeEnum, 'NOTDEFINED', INDETERMINATE) +bed = IfcFurnitureTypeEnum.BED +chair = IfcFurnitureTypeEnum.CHAIR +desk = IfcFurnitureTypeEnum.DESK +filecabinet = IfcFurnitureTypeEnum.FILECABINET +shelf = IfcFurnitureTypeEnum.SHELF +sofa = IfcFurnitureTypeEnum.SOFA +table = IfcFurnitureTypeEnum.TABLE +technicalcabinet = IfcFurnitureTypeEnum.TECHNICALCABINET +userdefined = IfcFurnitureTypeEnum.USERDEFINED +notdefined = IfcFurnitureTypeEnum.NOTDEFINED IfcGeographicElementTypeEnum = enum_namespace() -soil_boring_point = express_getattr(IfcGeographicElementTypeEnum, 'SOIL_BORING_POINT', INDETERMINATE) -terrain = express_getattr(IfcGeographicElementTypeEnum, 'TERRAIN', INDETERMINATE) -vegetation = express_getattr(IfcGeographicElementTypeEnum, 'VEGETATION', INDETERMINATE) -userdefined = express_getattr(IfcGeographicElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeographicElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +soil_boring_point = IfcGeographicElementTypeEnum.SOIL_BORING_POINT +terrain = IfcGeographicElementTypeEnum.TERRAIN +vegetation = IfcGeographicElementTypeEnum.VEGETATION +userdefined = IfcGeographicElementTypeEnum.USERDEFINED +notdefined = IfcGeographicElementTypeEnum.NOTDEFINED IfcGeometricProjectionEnum = enum_namespace() -elevation_view = express_getattr(IfcGeometricProjectionEnum, 'ELEVATION_VIEW', INDETERMINATE) -graph_view = express_getattr(IfcGeometricProjectionEnum, 'GRAPH_VIEW', INDETERMINATE) -model_view = express_getattr(IfcGeometricProjectionEnum, 'MODEL_VIEW', INDETERMINATE) -plan_view = express_getattr(IfcGeometricProjectionEnum, 'PLAN_VIEW', INDETERMINATE) -reflected_plan_view = express_getattr(IfcGeometricProjectionEnum, 'REFLECTED_PLAN_VIEW', INDETERMINATE) -section_view = express_getattr(IfcGeometricProjectionEnum, 'SECTION_VIEW', INDETERMINATE) -sketch_view = express_getattr(IfcGeometricProjectionEnum, 'SKETCH_VIEW', INDETERMINATE) -userdefined = express_getattr(IfcGeometricProjectionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeometricProjectionEnum, 'NOTDEFINED', INDETERMINATE) +elevation_view = IfcGeometricProjectionEnum.ELEVATION_VIEW +graph_view = IfcGeometricProjectionEnum.GRAPH_VIEW +model_view = IfcGeometricProjectionEnum.MODEL_VIEW +plan_view = IfcGeometricProjectionEnum.PLAN_VIEW +reflected_plan_view = IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW +section_view = IfcGeometricProjectionEnum.SECTION_VIEW +sketch_view = IfcGeometricProjectionEnum.SKETCH_VIEW +userdefined = IfcGeometricProjectionEnum.USERDEFINED +notdefined = IfcGeometricProjectionEnum.NOTDEFINED IfcGeotechnicalStratumTypeEnum = enum_namespace() -solid = express_getattr(IfcGeotechnicalStratumTypeEnum, 'SOLID', INDETERMINATE) -void = express_getattr(IfcGeotechnicalStratumTypeEnum, 'VOID', INDETERMINATE) -water = express_getattr(IfcGeotechnicalStratumTypeEnum, 'WATER', INDETERMINATE) -userdefined = express_getattr(IfcGeotechnicalStratumTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeotechnicalStratumTypeEnum, 'NOTDEFINED', INDETERMINATE) +solid = IfcGeotechnicalStratumTypeEnum.SOLID +void = IfcGeotechnicalStratumTypeEnum.VOID +water = IfcGeotechnicalStratumTypeEnum.WATER +userdefined = IfcGeotechnicalStratumTypeEnum.USERDEFINED +notdefined = IfcGeotechnicalStratumTypeEnum.NOTDEFINED IfcGlobalOrLocalEnum = enum_namespace() -global_coords = express_getattr(IfcGlobalOrLocalEnum, 'GLOBAL_COORDS', INDETERMINATE) -local_coords = express_getattr(IfcGlobalOrLocalEnum, 'LOCAL_COORDS', INDETERMINATE) +global_coords = IfcGlobalOrLocalEnum.GLOBAL_COORDS +local_coords = IfcGlobalOrLocalEnum.LOCAL_COORDS IfcGridTypeEnum = enum_namespace() -irregular = express_getattr(IfcGridTypeEnum, 'IRREGULAR', INDETERMINATE) -radial = express_getattr(IfcGridTypeEnum, 'RADIAL', INDETERMINATE) -rectangular = express_getattr(IfcGridTypeEnum, 'RECTANGULAR', INDETERMINATE) -triangular = express_getattr(IfcGridTypeEnum, 'TRIANGULAR', INDETERMINATE) -userdefined = express_getattr(IfcGridTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGridTypeEnum, 'NOTDEFINED', INDETERMINATE) +irregular = IfcGridTypeEnum.IRREGULAR +radial = IfcGridTypeEnum.RADIAL +rectangular = IfcGridTypeEnum.RECTANGULAR +triangular = IfcGridTypeEnum.TRIANGULAR +userdefined = IfcGridTypeEnum.USERDEFINED +notdefined = IfcGridTypeEnum.NOTDEFINED IfcHeatExchangerTypeEnum = enum_namespace() -plate = express_getattr(IfcHeatExchangerTypeEnum, 'PLATE', INDETERMINATE) -shellandtube = express_getattr(IfcHeatExchangerTypeEnum, 'SHELLANDTUBE', INDETERMINATE) -turnoutheating = express_getattr(IfcHeatExchangerTypeEnum, 'TURNOUTHEATING', INDETERMINATE) -userdefined = express_getattr(IfcHeatExchangerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHeatExchangerTypeEnum, 'NOTDEFINED', INDETERMINATE) +plate = IfcHeatExchangerTypeEnum.PLATE +shellandtube = IfcHeatExchangerTypeEnum.SHELLANDTUBE +turnoutheating = IfcHeatExchangerTypeEnum.TURNOUTHEATING +userdefined = IfcHeatExchangerTypeEnum.USERDEFINED +notdefined = IfcHeatExchangerTypeEnum.NOTDEFINED IfcHumidifierTypeEnum = enum_namespace() -adiabaticairwasher = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICAIRWASHER', INDETERMINATE) -adiabaticatomizing = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICATOMIZING', INDETERMINATE) -adiabaticcompressedairnozzle = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICCOMPRESSEDAIRNOZZLE', INDETERMINATE) -adiabaticpan = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICPAN', INDETERMINATE) -adiabaticrigidmedia = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICRIGIDMEDIA', INDETERMINATE) -adiabaticultrasonic = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICULTRASONIC', INDETERMINATE) -adiabaticwettedelement = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICWETTEDELEMENT', INDETERMINATE) -assistedbutane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDBUTANE', INDETERMINATE) -assistedelectric = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDELECTRIC', INDETERMINATE) -assistednaturalgas = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDNATURALGAS', INDETERMINATE) -assistedpropane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDPROPANE', INDETERMINATE) -assistedsteam = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDSTEAM', INDETERMINATE) -steaminjection = express_getattr(IfcHumidifierTypeEnum, 'STEAMINJECTION', INDETERMINATE) -userdefined = express_getattr(IfcHumidifierTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHumidifierTypeEnum, 'NOTDEFINED', INDETERMINATE) +adiabaticairwasher = IfcHumidifierTypeEnum.ADIABATICAIRWASHER +adiabaticatomizing = IfcHumidifierTypeEnum.ADIABATICATOMIZING +adiabaticcompressedairnozzle = IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE +adiabaticpan = IfcHumidifierTypeEnum.ADIABATICPAN +adiabaticrigidmedia = IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA +adiabaticultrasonic = IfcHumidifierTypeEnum.ADIABATICULTRASONIC +adiabaticwettedelement = IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT +assistedbutane = IfcHumidifierTypeEnum.ASSISTEDBUTANE +assistedelectric = IfcHumidifierTypeEnum.ASSISTEDELECTRIC +assistednaturalgas = IfcHumidifierTypeEnum.ASSISTEDNATURALGAS +assistedpropane = IfcHumidifierTypeEnum.ASSISTEDPROPANE +assistedsteam = IfcHumidifierTypeEnum.ASSISTEDSTEAM +steaminjection = IfcHumidifierTypeEnum.STEAMINJECTION +userdefined = IfcHumidifierTypeEnum.USERDEFINED +notdefined = IfcHumidifierTypeEnum.NOTDEFINED IfcImpactProtectionDeviceTypeEnum = enum_namespace() -bumper = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'BUMPER', INDETERMINATE) -crashcushion = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'CRASHCUSHION', INDETERMINATE) -dampingsystem = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'DAMPINGSYSTEM', INDETERMINATE) -fender = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'FENDER', INDETERMINATE) -userdefined = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +bumper = IfcImpactProtectionDeviceTypeEnum.BUMPER +crashcushion = IfcImpactProtectionDeviceTypeEnum.CRASHCUSHION +dampingsystem = IfcImpactProtectionDeviceTypeEnum.DAMPINGSYSTEM +fender = IfcImpactProtectionDeviceTypeEnum.FENDER +userdefined = IfcImpactProtectionDeviceTypeEnum.USERDEFINED +notdefined = IfcImpactProtectionDeviceTypeEnum.NOTDEFINED IfcInterceptorTypeEnum = enum_namespace() -cyclonic = express_getattr(IfcInterceptorTypeEnum, 'CYCLONIC', INDETERMINATE) -grease = express_getattr(IfcInterceptorTypeEnum, 'GREASE', INDETERMINATE) -oil = express_getattr(IfcInterceptorTypeEnum, 'OIL', INDETERMINATE) -petrol = express_getattr(IfcInterceptorTypeEnum, 'PETROL', INDETERMINATE) -userdefined = express_getattr(IfcInterceptorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInterceptorTypeEnum, 'NOTDEFINED', INDETERMINATE) +cyclonic = IfcInterceptorTypeEnum.CYCLONIC +grease = IfcInterceptorTypeEnum.GREASE +oil = IfcInterceptorTypeEnum.OIL +petrol = IfcInterceptorTypeEnum.PETROL +userdefined = IfcInterceptorTypeEnum.USERDEFINED +notdefined = IfcInterceptorTypeEnum.NOTDEFINED IfcInternalOrExternalEnum = enum_namespace() -external = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_fire = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_FIRE', INDETERMINATE) -external_water = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_WATER', INDETERMINATE) -internal = express_getattr(IfcInternalOrExternalEnum, 'INTERNAL', INDETERMINATE) -notdefined = express_getattr(IfcInternalOrExternalEnum, 'NOTDEFINED', INDETERMINATE) +external = IfcInternalOrExternalEnum.EXTERNAL +external_earth = IfcInternalOrExternalEnum.EXTERNAL_EARTH +external_fire = IfcInternalOrExternalEnum.EXTERNAL_FIRE +external_water = IfcInternalOrExternalEnum.EXTERNAL_WATER +internal = IfcInternalOrExternalEnum.INTERNAL +notdefined = IfcInternalOrExternalEnum.NOTDEFINED IfcInventoryTypeEnum = enum_namespace() -assetinventory = express_getattr(IfcInventoryTypeEnum, 'ASSETINVENTORY', INDETERMINATE) -furnitureinventory = express_getattr(IfcInventoryTypeEnum, 'FURNITUREINVENTORY', INDETERMINATE) -spaceinventory = express_getattr(IfcInventoryTypeEnum, 'SPACEINVENTORY', INDETERMINATE) -userdefined = express_getattr(IfcInventoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInventoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +assetinventory = IfcInventoryTypeEnum.ASSETINVENTORY +furnitureinventory = IfcInventoryTypeEnum.FURNITUREINVENTORY +spaceinventory = IfcInventoryTypeEnum.SPACEINVENTORY +userdefined = IfcInventoryTypeEnum.USERDEFINED +notdefined = IfcInventoryTypeEnum.NOTDEFINED IfcJunctionBoxTypeEnum = enum_namespace() -data = express_getattr(IfcJunctionBoxTypeEnum, 'DATA', INDETERMINATE) -power = express_getattr(IfcJunctionBoxTypeEnum, 'POWER', INDETERMINATE) -userdefined = express_getattr(IfcJunctionBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcJunctionBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +data = IfcJunctionBoxTypeEnum.DATA +power = IfcJunctionBoxTypeEnum.POWER +userdefined = IfcJunctionBoxTypeEnum.USERDEFINED +notdefined = IfcJunctionBoxTypeEnum.NOTDEFINED IfcKnotType = enum_namespace() -piecewise_bezier_knots = express_getattr(IfcKnotType, 'PIECEWISE_BEZIER_KNOTS', INDETERMINATE) -quasi_uniform_knots = express_getattr(IfcKnotType, 'QUASI_UNIFORM_KNOTS', INDETERMINATE) -uniform_knots = express_getattr(IfcKnotType, 'UNIFORM_KNOTS', INDETERMINATE) -unspecified = express_getattr(IfcKnotType, 'UNSPECIFIED', INDETERMINATE) +piecewise_bezier_knots = IfcKnotType.PIECEWISE_BEZIER_KNOTS +quasi_uniform_knots = IfcKnotType.QUASI_UNIFORM_KNOTS +uniform_knots = IfcKnotType.UNIFORM_KNOTS +unspecified = IfcKnotType.UNSPECIFIED IfcLaborResourceTypeEnum = enum_namespace() -administration = express_getattr(IfcLaborResourceTypeEnum, 'ADMINISTRATION', INDETERMINATE) -carpentry = express_getattr(IfcLaborResourceTypeEnum, 'CARPENTRY', INDETERMINATE) -cleaning = express_getattr(IfcLaborResourceTypeEnum, 'CLEANING', INDETERMINATE) -concrete = express_getattr(IfcLaborResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcLaborResourceTypeEnum, 'DRYWALL', INDETERMINATE) -electric = express_getattr(IfcLaborResourceTypeEnum, 'ELECTRIC', INDETERMINATE) -finishing = express_getattr(IfcLaborResourceTypeEnum, 'FINISHING', INDETERMINATE) -flooring = express_getattr(IfcLaborResourceTypeEnum, 'FLOORING', INDETERMINATE) -general = express_getattr(IfcLaborResourceTypeEnum, 'GENERAL', INDETERMINATE) -hvac = express_getattr(IfcLaborResourceTypeEnum, 'HVAC', INDETERMINATE) -landscaping = express_getattr(IfcLaborResourceTypeEnum, 'LANDSCAPING', INDETERMINATE) -masonry = express_getattr(IfcLaborResourceTypeEnum, 'MASONRY', INDETERMINATE) -painting = express_getattr(IfcLaborResourceTypeEnum, 'PAINTING', INDETERMINATE) -paving = express_getattr(IfcLaborResourceTypeEnum, 'PAVING', INDETERMINATE) -plumbing = express_getattr(IfcLaborResourceTypeEnum, 'PLUMBING', INDETERMINATE) -roofing = express_getattr(IfcLaborResourceTypeEnum, 'ROOFING', INDETERMINATE) -sitegrading = express_getattr(IfcLaborResourceTypeEnum, 'SITEGRADING', INDETERMINATE) -steelwork = express_getattr(IfcLaborResourceTypeEnum, 'STEELWORK', INDETERMINATE) -surveying = express_getattr(IfcLaborResourceTypeEnum, 'SURVEYING', INDETERMINATE) -userdefined = express_getattr(IfcLaborResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLaborResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +administration = IfcLaborResourceTypeEnum.ADMINISTRATION +carpentry = IfcLaborResourceTypeEnum.CARPENTRY +cleaning = IfcLaborResourceTypeEnum.CLEANING +concrete = IfcLaborResourceTypeEnum.CONCRETE +drywall = IfcLaborResourceTypeEnum.DRYWALL +electric = IfcLaborResourceTypeEnum.ELECTRIC +finishing = IfcLaborResourceTypeEnum.FINISHING +flooring = IfcLaborResourceTypeEnum.FLOORING +general = IfcLaborResourceTypeEnum.GENERAL +hvac = IfcLaborResourceTypeEnum.HVAC +landscaping = IfcLaborResourceTypeEnum.LANDSCAPING +masonry = IfcLaborResourceTypeEnum.MASONRY +painting = IfcLaborResourceTypeEnum.PAINTING +paving = IfcLaborResourceTypeEnum.PAVING +plumbing = IfcLaborResourceTypeEnum.PLUMBING +roofing = IfcLaborResourceTypeEnum.ROOFING +sitegrading = IfcLaborResourceTypeEnum.SITEGRADING +steelwork = IfcLaborResourceTypeEnum.STEELWORK +surveying = IfcLaborResourceTypeEnum.SURVEYING +userdefined = IfcLaborResourceTypeEnum.USERDEFINED +notdefined = IfcLaborResourceTypeEnum.NOTDEFINED IfcLampTypeEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLampTypeEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLampTypeEnum, 'FLUORESCENT', INDETERMINATE) -halogen = express_getattr(IfcLampTypeEnum, 'HALOGEN', INDETERMINATE) -highpressuremercury = express_getattr(IfcLampTypeEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLampTypeEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -led = express_getattr(IfcLampTypeEnum, 'LED', INDETERMINATE) -metalhalide = express_getattr(IfcLampTypeEnum, 'METALHALIDE', INDETERMINATE) -oled = express_getattr(IfcLampTypeEnum, 'OLED', INDETERMINATE) -tungstenfilament = express_getattr(IfcLampTypeEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -userdefined = express_getattr(IfcLampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLampTypeEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLampTypeEnum.COMPACTFLUORESCENT +fluorescent = IfcLampTypeEnum.FLUORESCENT +halogen = IfcLampTypeEnum.HALOGEN +highpressuremercury = IfcLampTypeEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLampTypeEnum.HIGHPRESSURESODIUM +led = IfcLampTypeEnum.LED +metalhalide = IfcLampTypeEnum.METALHALIDE +oled = IfcLampTypeEnum.OLED +tungstenfilament = IfcLampTypeEnum.TUNGSTENFILAMENT +userdefined = IfcLampTypeEnum.USERDEFINED +notdefined = IfcLampTypeEnum.NOTDEFINED IfcLayerSetDirectionEnum = enum_namespace() -axis1 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS1', INDETERMINATE) -axis2 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS2', INDETERMINATE) -axis3 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS3', INDETERMINATE) +axis1 = IfcLayerSetDirectionEnum.AXIS1 +axis2 = IfcLayerSetDirectionEnum.AXIS2 +axis3 = IfcLayerSetDirectionEnum.AXIS3 IfcLightDistributionCurveEnum = enum_namespace() -type_a = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_A', INDETERMINATE) -type_b = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_B', INDETERMINATE) -type_c = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_C', INDETERMINATE) -notdefined = express_getattr(IfcLightDistributionCurveEnum, 'NOTDEFINED', INDETERMINATE) +type_a = IfcLightDistributionCurveEnum.TYPE_A +type_b = IfcLightDistributionCurveEnum.TYPE_B +type_c = IfcLightDistributionCurveEnum.TYPE_C +notdefined = IfcLightDistributionCurveEnum.NOTDEFINED IfcLightEmissionSourceEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLightEmissionSourceEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLightEmissionSourceEnum, 'FLUORESCENT', INDETERMINATE) -highpressuremercury = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -lightemittingdiode = express_getattr(IfcLightEmissionSourceEnum, 'LIGHTEMITTINGDIODE', INDETERMINATE) -lowpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'LOWPRESSURESODIUM', INDETERMINATE) -lowvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'LOWVOLTAGEHALOGEN', INDETERMINATE) -mainvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'MAINVOLTAGEHALOGEN', INDETERMINATE) -metalhalide = express_getattr(IfcLightEmissionSourceEnum, 'METALHALIDE', INDETERMINATE) -tungstenfilament = express_getattr(IfcLightEmissionSourceEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -notdefined = express_getattr(IfcLightEmissionSourceEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLightEmissionSourceEnum.COMPACTFLUORESCENT +fluorescent = IfcLightEmissionSourceEnum.FLUORESCENT +highpressuremercury = IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM +lightemittingdiode = IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE +lowpressuresodium = IfcLightEmissionSourceEnum.LOWPRESSURESODIUM +lowvoltagehalogen = IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN +mainvoltagehalogen = IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN +metalhalide = IfcLightEmissionSourceEnum.METALHALIDE +tungstenfilament = IfcLightEmissionSourceEnum.TUNGSTENFILAMENT +notdefined = IfcLightEmissionSourceEnum.NOTDEFINED IfcLightFixtureTypeEnum = enum_namespace() -directionsource = express_getattr(IfcLightFixtureTypeEnum, 'DIRECTIONSOURCE', INDETERMINATE) -pointsource = express_getattr(IfcLightFixtureTypeEnum, 'POINTSOURCE', INDETERMINATE) -securitylighting = express_getattr(IfcLightFixtureTypeEnum, 'SECURITYLIGHTING', INDETERMINATE) -userdefined = express_getattr(IfcLightFixtureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLightFixtureTypeEnum, 'NOTDEFINED', INDETERMINATE) +directionsource = IfcLightFixtureTypeEnum.DIRECTIONSOURCE +pointsource = IfcLightFixtureTypeEnum.POINTSOURCE +securitylighting = IfcLightFixtureTypeEnum.SECURITYLIGHTING +userdefined = IfcLightFixtureTypeEnum.USERDEFINED +notdefined = IfcLightFixtureTypeEnum.NOTDEFINED IfcLiquidTerminalTypeEnum = enum_namespace() -hosereel = express_getattr(IfcLiquidTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -loadingarm = express_getattr(IfcLiquidTerminalTypeEnum, 'LOADINGARM', INDETERMINATE) -userdefined = express_getattr(IfcLiquidTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLiquidTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +hosereel = IfcLiquidTerminalTypeEnum.HOSEREEL +loadingarm = IfcLiquidTerminalTypeEnum.LOADINGARM +userdefined = IfcLiquidTerminalTypeEnum.USERDEFINED +notdefined = IfcLiquidTerminalTypeEnum.NOTDEFINED IfcLoadGroupTypeEnum = enum_namespace() -load_case = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_CASE', INDETERMINATE) -load_combination = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_COMBINATION', INDETERMINATE) -load_group = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_GROUP', INDETERMINATE) -userdefined = express_getattr(IfcLoadGroupTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLoadGroupTypeEnum, 'NOTDEFINED', INDETERMINATE) +load_case = IfcLoadGroupTypeEnum.LOAD_CASE +load_combination = IfcLoadGroupTypeEnum.LOAD_COMBINATION +load_group = IfcLoadGroupTypeEnum.LOAD_GROUP +userdefined = IfcLoadGroupTypeEnum.USERDEFINED +notdefined = IfcLoadGroupTypeEnum.NOTDEFINED IfcLogicalOperatorEnum = enum_namespace() -logicaland = express_getattr(IfcLogicalOperatorEnum, 'LOGICALAND', INDETERMINATE) -logicalnotand = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTAND', INDETERMINATE) -logicalnotor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTOR', INDETERMINATE) -logicalor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALOR', INDETERMINATE) -logicalxor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALXOR', INDETERMINATE) +logicaland = IfcLogicalOperatorEnum.LOGICALAND +logicalnotand = IfcLogicalOperatorEnum.LOGICALNOTAND +logicalnotor = IfcLogicalOperatorEnum.LOGICALNOTOR +logicalor = IfcLogicalOperatorEnum.LOGICALOR +logicalxor = IfcLogicalOperatorEnum.LOGICALXOR IfcMarineFacilityTypeEnum = enum_namespace() -barrierbeach = express_getattr(IfcMarineFacilityTypeEnum, 'BARRIERBEACH', INDETERMINATE) -breakwater = express_getattr(IfcMarineFacilityTypeEnum, 'BREAKWATER', INDETERMINATE) -canal = express_getattr(IfcMarineFacilityTypeEnum, 'CANAL', INDETERMINATE) -drydock = express_getattr(IfcMarineFacilityTypeEnum, 'DRYDOCK', INDETERMINATE) -floatingdock = express_getattr(IfcMarineFacilityTypeEnum, 'FLOATINGDOCK', INDETERMINATE) -hydrolift = express_getattr(IfcMarineFacilityTypeEnum, 'HYDROLIFT', INDETERMINATE) -jetty = express_getattr(IfcMarineFacilityTypeEnum, 'JETTY', INDETERMINATE) -launchrecovery = express_getattr(IfcMarineFacilityTypeEnum, 'LAUNCHRECOVERY', INDETERMINATE) -marinedefence = express_getattr(IfcMarineFacilityTypeEnum, 'MARINEDEFENCE', INDETERMINATE) -navigationalchannel = express_getattr(IfcMarineFacilityTypeEnum, 'NAVIGATIONALCHANNEL', INDETERMINATE) -port = express_getattr(IfcMarineFacilityTypeEnum, 'PORT', INDETERMINATE) -quay = express_getattr(IfcMarineFacilityTypeEnum, 'QUAY', INDETERMINATE) -revetment = express_getattr(IfcMarineFacilityTypeEnum, 'REVETMENT', INDETERMINATE) -shiplift = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPLIFT', INDETERMINATE) -shiplock = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPLOCK', INDETERMINATE) -shipyard = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPYARD', INDETERMINATE) -slipway = express_getattr(IfcMarineFacilityTypeEnum, 'SLIPWAY', INDETERMINATE) -waterway = express_getattr(IfcMarineFacilityTypeEnum, 'WATERWAY', INDETERMINATE) -waterwayshiplift = express_getattr(IfcMarineFacilityTypeEnum, 'WATERWAYSHIPLIFT', INDETERMINATE) -userdefined = express_getattr(IfcMarineFacilityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMarineFacilityTypeEnum, 'NOTDEFINED', INDETERMINATE) +barrierbeach = IfcMarineFacilityTypeEnum.BARRIERBEACH +breakwater = IfcMarineFacilityTypeEnum.BREAKWATER +canal = IfcMarineFacilityTypeEnum.CANAL +drydock = IfcMarineFacilityTypeEnum.DRYDOCK +floatingdock = IfcMarineFacilityTypeEnum.FLOATINGDOCK +hydrolift = IfcMarineFacilityTypeEnum.HYDROLIFT +jetty = IfcMarineFacilityTypeEnum.JETTY +launchrecovery = IfcMarineFacilityTypeEnum.LAUNCHRECOVERY +marinedefence = IfcMarineFacilityTypeEnum.MARINEDEFENCE +navigationalchannel = IfcMarineFacilityTypeEnum.NAVIGATIONALCHANNEL +port = IfcMarineFacilityTypeEnum.PORT +quay = IfcMarineFacilityTypeEnum.QUAY +revetment = IfcMarineFacilityTypeEnum.REVETMENT +shiplift = IfcMarineFacilityTypeEnum.SHIPLIFT +shiplock = IfcMarineFacilityTypeEnum.SHIPLOCK +shipyard = IfcMarineFacilityTypeEnum.SHIPYARD +slipway = IfcMarineFacilityTypeEnum.SLIPWAY +waterway = IfcMarineFacilityTypeEnum.WATERWAY +waterwayshiplift = IfcMarineFacilityTypeEnum.WATERWAYSHIPLIFT +userdefined = IfcMarineFacilityTypeEnum.USERDEFINED +notdefined = IfcMarineFacilityTypeEnum.NOTDEFINED IfcMarinePartTypeEnum = enum_namespace() -abovewaterline = express_getattr(IfcMarinePartTypeEnum, 'ABOVEWATERLINE', INDETERMINATE) -anchorage = express_getattr(IfcMarinePartTypeEnum, 'ANCHORAGE', INDETERMINATE) -approachchannel = express_getattr(IfcMarinePartTypeEnum, 'APPROACHCHANNEL', INDETERMINATE) -belowwaterline = express_getattr(IfcMarinePartTypeEnum, 'BELOWWATERLINE', INDETERMINATE) -berthingstructure = express_getattr(IfcMarinePartTypeEnum, 'BERTHINGSTRUCTURE', INDETERMINATE) -chamber = express_getattr(IfcMarinePartTypeEnum, 'CHAMBER', INDETERMINATE) -cill_level = express_getattr(IfcMarinePartTypeEnum, 'CILL_LEVEL', INDETERMINATE) -copelevel = express_getattr(IfcMarinePartTypeEnum, 'COPELEVEL', INDETERMINATE) -core = express_getattr(IfcMarinePartTypeEnum, 'CORE', INDETERMINATE) -crest = express_getattr(IfcMarinePartTypeEnum, 'CREST', INDETERMINATE) -gatehead = express_getattr(IfcMarinePartTypeEnum, 'GATEHEAD', INDETERMINATE) -gudingstructure = express_getattr(IfcMarinePartTypeEnum, 'GUDINGSTRUCTURE', INDETERMINATE) -highwaterline = express_getattr(IfcMarinePartTypeEnum, 'HIGHWATERLINE', INDETERMINATE) -landfield = express_getattr(IfcMarinePartTypeEnum, 'LANDFIELD', INDETERMINATE) -leewardside = express_getattr(IfcMarinePartTypeEnum, 'LEEWARDSIDE', INDETERMINATE) -lowwaterline = express_getattr(IfcMarinePartTypeEnum, 'LOWWATERLINE', INDETERMINATE) -manufacturing = express_getattr(IfcMarinePartTypeEnum, 'MANUFACTURING', INDETERMINATE) -navigationalarea = express_getattr(IfcMarinePartTypeEnum, 'NAVIGATIONALAREA', INDETERMINATE) -protection = express_getattr(IfcMarinePartTypeEnum, 'PROTECTION', INDETERMINATE) -shiptransfer = express_getattr(IfcMarinePartTypeEnum, 'SHIPTRANSFER', INDETERMINATE) -storagearea = express_getattr(IfcMarinePartTypeEnum, 'STORAGEAREA', INDETERMINATE) -vehicleservicing = express_getattr(IfcMarinePartTypeEnum, 'VEHICLESERVICING', INDETERMINATE) -waterfield = express_getattr(IfcMarinePartTypeEnum, 'WATERFIELD', INDETERMINATE) -weatherside = express_getattr(IfcMarinePartTypeEnum, 'WEATHERSIDE', INDETERMINATE) -userdefined = express_getattr(IfcMarinePartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMarinePartTypeEnum, 'NOTDEFINED', INDETERMINATE) +abovewaterline = IfcMarinePartTypeEnum.ABOVEWATERLINE +anchorage = IfcMarinePartTypeEnum.ANCHORAGE +approachchannel = IfcMarinePartTypeEnum.APPROACHCHANNEL +belowwaterline = IfcMarinePartTypeEnum.BELOWWATERLINE +berthingstructure = IfcMarinePartTypeEnum.BERTHINGSTRUCTURE +chamber = IfcMarinePartTypeEnum.CHAMBER +cill_level = IfcMarinePartTypeEnum.CILL_LEVEL +copelevel = IfcMarinePartTypeEnum.COPELEVEL +core = IfcMarinePartTypeEnum.CORE +crest = IfcMarinePartTypeEnum.CREST +gatehead = IfcMarinePartTypeEnum.GATEHEAD +gudingstructure = IfcMarinePartTypeEnum.GUDINGSTRUCTURE +highwaterline = IfcMarinePartTypeEnum.HIGHWATERLINE +landfield = IfcMarinePartTypeEnum.LANDFIELD +leewardside = IfcMarinePartTypeEnum.LEEWARDSIDE +lowwaterline = IfcMarinePartTypeEnum.LOWWATERLINE +manufacturing = IfcMarinePartTypeEnum.MANUFACTURING +navigationalarea = IfcMarinePartTypeEnum.NAVIGATIONALAREA +protection = IfcMarinePartTypeEnum.PROTECTION +shiptransfer = IfcMarinePartTypeEnum.SHIPTRANSFER +storagearea = IfcMarinePartTypeEnum.STORAGEAREA +vehicleservicing = IfcMarinePartTypeEnum.VEHICLESERVICING +waterfield = IfcMarinePartTypeEnum.WATERFIELD +weatherside = IfcMarinePartTypeEnum.WEATHERSIDE +userdefined = IfcMarinePartTypeEnum.USERDEFINED +notdefined = IfcMarinePartTypeEnum.NOTDEFINED IfcMechanicalFastenerTypeEnum = enum_namespace() -anchorbolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'ANCHORBOLT', INDETERMINATE) -bolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'BOLT', INDETERMINATE) -chain = express_getattr(IfcMechanicalFastenerTypeEnum, 'CHAIN', INDETERMINATE) -coupler = express_getattr(IfcMechanicalFastenerTypeEnum, 'COUPLER', INDETERMINATE) -dowel = express_getattr(IfcMechanicalFastenerTypeEnum, 'DOWEL', INDETERMINATE) -nail = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAIL', INDETERMINATE) -nailplate = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAILPLATE', INDETERMINATE) -railfastening = express_getattr(IfcMechanicalFastenerTypeEnum, 'RAILFASTENING', INDETERMINATE) -railjoint = express_getattr(IfcMechanicalFastenerTypeEnum, 'RAILJOINT', INDETERMINATE) -rivet = express_getattr(IfcMechanicalFastenerTypeEnum, 'RIVET', INDETERMINATE) -rope = express_getattr(IfcMechanicalFastenerTypeEnum, 'ROPE', INDETERMINATE) -screw = express_getattr(IfcMechanicalFastenerTypeEnum, 'SCREW', INDETERMINATE) -shearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'SHEARCONNECTOR', INDETERMINATE) -staple = express_getattr(IfcMechanicalFastenerTypeEnum, 'STAPLE', INDETERMINATE) -studshearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'STUDSHEARCONNECTOR', INDETERMINATE) -userdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorbolt = IfcMechanicalFastenerTypeEnum.ANCHORBOLT +bolt = IfcMechanicalFastenerTypeEnum.BOLT +chain = IfcMechanicalFastenerTypeEnum.CHAIN +coupler = IfcMechanicalFastenerTypeEnum.COUPLER +dowel = IfcMechanicalFastenerTypeEnum.DOWEL +nail = IfcMechanicalFastenerTypeEnum.NAIL +nailplate = IfcMechanicalFastenerTypeEnum.NAILPLATE +railfastening = IfcMechanicalFastenerTypeEnum.RAILFASTENING +railjoint = IfcMechanicalFastenerTypeEnum.RAILJOINT +rivet = IfcMechanicalFastenerTypeEnum.RIVET +rope = IfcMechanicalFastenerTypeEnum.ROPE +screw = IfcMechanicalFastenerTypeEnum.SCREW +shearconnector = IfcMechanicalFastenerTypeEnum.SHEARCONNECTOR +staple = IfcMechanicalFastenerTypeEnum.STAPLE +studshearconnector = IfcMechanicalFastenerTypeEnum.STUDSHEARCONNECTOR +userdefined = IfcMechanicalFastenerTypeEnum.USERDEFINED +notdefined = IfcMechanicalFastenerTypeEnum.NOTDEFINED IfcMedicalDeviceTypeEnum = enum_namespace() -airstation = express_getattr(IfcMedicalDeviceTypeEnum, 'AIRSTATION', INDETERMINATE) -feedairunit = express_getattr(IfcMedicalDeviceTypeEnum, 'FEEDAIRUNIT', INDETERMINATE) -oxygengenerator = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENGENERATOR', INDETERMINATE) -oxygenplant = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENPLANT', INDETERMINATE) -vacuumstation = express_getattr(IfcMedicalDeviceTypeEnum, 'VACUUMSTATION', INDETERMINATE) -userdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +airstation = IfcMedicalDeviceTypeEnum.AIRSTATION +feedairunit = IfcMedicalDeviceTypeEnum.FEEDAIRUNIT +oxygengenerator = IfcMedicalDeviceTypeEnum.OXYGENGENERATOR +oxygenplant = IfcMedicalDeviceTypeEnum.OXYGENPLANT +vacuumstation = IfcMedicalDeviceTypeEnum.VACUUMSTATION +userdefined = IfcMedicalDeviceTypeEnum.USERDEFINED +notdefined = IfcMedicalDeviceTypeEnum.NOTDEFINED IfcMemberTypeEnum = enum_namespace() -arch_segment = express_getattr(IfcMemberTypeEnum, 'ARCH_SEGMENT', INDETERMINATE) -brace = express_getattr(IfcMemberTypeEnum, 'BRACE', INDETERMINATE) -chord = express_getattr(IfcMemberTypeEnum, 'CHORD', INDETERMINATE) -collar = express_getattr(IfcMemberTypeEnum, 'COLLAR', INDETERMINATE) -member = express_getattr(IfcMemberTypeEnum, 'MEMBER', INDETERMINATE) -mullion = express_getattr(IfcMemberTypeEnum, 'MULLION', INDETERMINATE) -plate = express_getattr(IfcMemberTypeEnum, 'PLATE', INDETERMINATE) -post = express_getattr(IfcMemberTypeEnum, 'POST', INDETERMINATE) -purlin = express_getattr(IfcMemberTypeEnum, 'PURLIN', INDETERMINATE) -rafter = express_getattr(IfcMemberTypeEnum, 'RAFTER', INDETERMINATE) -stay_cable = express_getattr(IfcMemberTypeEnum, 'STAY_CABLE', INDETERMINATE) -stiffening_rib = express_getattr(IfcMemberTypeEnum, 'STIFFENING_RIB', INDETERMINATE) -stringer = express_getattr(IfcMemberTypeEnum, 'STRINGER', INDETERMINATE) -structuralcable = express_getattr(IfcMemberTypeEnum, 'STRUCTURALCABLE', INDETERMINATE) -strut = express_getattr(IfcMemberTypeEnum, 'STRUT', INDETERMINATE) -stud = express_getattr(IfcMemberTypeEnum, 'STUD', INDETERMINATE) -suspender = express_getattr(IfcMemberTypeEnum, 'SUSPENDER', INDETERMINATE) -suspension_cable = express_getattr(IfcMemberTypeEnum, 'SUSPENSION_CABLE', INDETERMINATE) -tiebar = express_getattr(IfcMemberTypeEnum, 'TIEBAR', INDETERMINATE) -userdefined = express_getattr(IfcMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +arch_segment = IfcMemberTypeEnum.ARCH_SEGMENT +brace = IfcMemberTypeEnum.BRACE +chord = IfcMemberTypeEnum.CHORD +collar = IfcMemberTypeEnum.COLLAR +member = IfcMemberTypeEnum.MEMBER +mullion = IfcMemberTypeEnum.MULLION +plate = IfcMemberTypeEnum.PLATE +post = IfcMemberTypeEnum.POST +purlin = IfcMemberTypeEnum.PURLIN +rafter = IfcMemberTypeEnum.RAFTER +stay_cable = IfcMemberTypeEnum.STAY_CABLE +stiffening_rib = IfcMemberTypeEnum.STIFFENING_RIB +stringer = IfcMemberTypeEnum.STRINGER +structuralcable = IfcMemberTypeEnum.STRUCTURALCABLE +strut = IfcMemberTypeEnum.STRUT +stud = IfcMemberTypeEnum.STUD +suspender = IfcMemberTypeEnum.SUSPENDER +suspension_cable = IfcMemberTypeEnum.SUSPENSION_CABLE +tiebar = IfcMemberTypeEnum.TIEBAR +userdefined = IfcMemberTypeEnum.USERDEFINED +notdefined = IfcMemberTypeEnum.NOTDEFINED IfcMobileTelecommunicationsApplianceTypeEnum = enum_namespace() -accesspoint = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'ACCESSPOINT', INDETERMINATE) -basebandunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'BASEBANDUNIT', INDETERMINATE) -basetransceiverstation = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'BASETRANSCEIVERSTATION', INDETERMINATE) -e_utran_node_b = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'E_UTRAN_NODE_B', INDETERMINATE) -gateway_gprs_support_node = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'GATEWAY_GPRS_SUPPORT_NODE', INDETERMINATE) -masterunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'MASTERUNIT', INDETERMINATE) -mobileswitchingcenter = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'MOBILESWITCHINGCENTER', INDETERMINATE) -mscserver = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'MSCSERVER', INDETERMINATE) -packetcontrolunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'PACKETCONTROLUNIT', INDETERMINATE) -remoteradiounit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'REMOTERADIOUNIT', INDETERMINATE) -remoteunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'REMOTEUNIT', INDETERMINATE) -service_gprs_support_node = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'SERVICE_GPRS_SUPPORT_NODE', INDETERMINATE) -subscriberserver = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'SUBSCRIBERSERVER', INDETERMINATE) -userdefined = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +accesspoint = IfcMobileTelecommunicationsApplianceTypeEnum.ACCESSPOINT +basebandunit = IfcMobileTelecommunicationsApplianceTypeEnum.BASEBANDUNIT +basetransceiverstation = IfcMobileTelecommunicationsApplianceTypeEnum.BASETRANSCEIVERSTATION +e_utran_node_b = IfcMobileTelecommunicationsApplianceTypeEnum.E_UTRAN_NODE_B +gateway_gprs_support_node = IfcMobileTelecommunicationsApplianceTypeEnum.GATEWAY_GPRS_SUPPORT_NODE +masterunit = IfcMobileTelecommunicationsApplianceTypeEnum.MASTERUNIT +mobileswitchingcenter = IfcMobileTelecommunicationsApplianceTypeEnum.MOBILESWITCHINGCENTER +mscserver = IfcMobileTelecommunicationsApplianceTypeEnum.MSCSERVER +packetcontrolunit = IfcMobileTelecommunicationsApplianceTypeEnum.PACKETCONTROLUNIT +remoteradiounit = IfcMobileTelecommunicationsApplianceTypeEnum.REMOTERADIOUNIT +remoteunit = IfcMobileTelecommunicationsApplianceTypeEnum.REMOTEUNIT +service_gprs_support_node = IfcMobileTelecommunicationsApplianceTypeEnum.SERVICE_GPRS_SUPPORT_NODE +subscriberserver = IfcMobileTelecommunicationsApplianceTypeEnum.SUBSCRIBERSERVER +userdefined = IfcMobileTelecommunicationsApplianceTypeEnum.USERDEFINED +notdefined = IfcMobileTelecommunicationsApplianceTypeEnum.NOTDEFINED IfcMooringDeviceTypeEnum = enum_namespace() -bollard = express_getattr(IfcMooringDeviceTypeEnum, 'BOLLARD', INDETERMINATE) -linetensioner = express_getattr(IfcMooringDeviceTypeEnum, 'LINETENSIONER', INDETERMINATE) -magneticdevice = express_getattr(IfcMooringDeviceTypeEnum, 'MAGNETICDEVICE', INDETERMINATE) -mooringhooks = express_getattr(IfcMooringDeviceTypeEnum, 'MOORINGHOOKS', INDETERMINATE) -vacuumdevice = express_getattr(IfcMooringDeviceTypeEnum, 'VACUUMDEVICE', INDETERMINATE) -userdefined = express_getattr(IfcMooringDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMooringDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +bollard = IfcMooringDeviceTypeEnum.BOLLARD +linetensioner = IfcMooringDeviceTypeEnum.LINETENSIONER +magneticdevice = IfcMooringDeviceTypeEnum.MAGNETICDEVICE +mooringhooks = IfcMooringDeviceTypeEnum.MOORINGHOOKS +vacuumdevice = IfcMooringDeviceTypeEnum.VACUUMDEVICE +userdefined = IfcMooringDeviceTypeEnum.USERDEFINED +notdefined = IfcMooringDeviceTypeEnum.NOTDEFINED IfcMotorConnectionTypeEnum = enum_namespace() -beltdrive = express_getattr(IfcMotorConnectionTypeEnum, 'BELTDRIVE', INDETERMINATE) -coupling = express_getattr(IfcMotorConnectionTypeEnum, 'COUPLING', INDETERMINATE) -directdrive = express_getattr(IfcMotorConnectionTypeEnum, 'DIRECTDRIVE', INDETERMINATE) -userdefined = express_getattr(IfcMotorConnectionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMotorConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +beltdrive = IfcMotorConnectionTypeEnum.BELTDRIVE +coupling = IfcMotorConnectionTypeEnum.COUPLING +directdrive = IfcMotorConnectionTypeEnum.DIRECTDRIVE +userdefined = IfcMotorConnectionTypeEnum.USERDEFINED +notdefined = IfcMotorConnectionTypeEnum.NOTDEFINED IfcNavigationElementTypeEnum = enum_namespace() -beacon = express_getattr(IfcNavigationElementTypeEnum, 'BEACON', INDETERMINATE) -buoy = express_getattr(IfcNavigationElementTypeEnum, 'BUOY', INDETERMINATE) -userdefined = express_getattr(IfcNavigationElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcNavigationElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +beacon = IfcNavigationElementTypeEnum.BEACON +buoy = IfcNavigationElementTypeEnum.BUOY +userdefined = IfcNavigationElementTypeEnum.USERDEFINED +notdefined = IfcNavigationElementTypeEnum.NOTDEFINED IfcObjectTypeEnum = enum_namespace() -actor = express_getattr(IfcObjectTypeEnum, 'ACTOR', INDETERMINATE) -control = express_getattr(IfcObjectTypeEnum, 'CONTROL', INDETERMINATE) -group = express_getattr(IfcObjectTypeEnum, 'GROUP', INDETERMINATE) -process = express_getattr(IfcObjectTypeEnum, 'PROCESS', INDETERMINATE) -product = express_getattr(IfcObjectTypeEnum, 'PRODUCT', INDETERMINATE) -project = express_getattr(IfcObjectTypeEnum, 'PROJECT', INDETERMINATE) -resource = express_getattr(IfcObjectTypeEnum, 'RESOURCE', INDETERMINATE) -notdefined = express_getattr(IfcObjectTypeEnum, 'NOTDEFINED', INDETERMINATE) +actor = IfcObjectTypeEnum.ACTOR +control = IfcObjectTypeEnum.CONTROL +group = IfcObjectTypeEnum.GROUP +process = IfcObjectTypeEnum.PROCESS +product = IfcObjectTypeEnum.PRODUCT +project = IfcObjectTypeEnum.PROJECT +resource = IfcObjectTypeEnum.RESOURCE +notdefined = IfcObjectTypeEnum.NOTDEFINED IfcObjectiveEnum = enum_namespace() -codecompliance = express_getattr(IfcObjectiveEnum, 'CODECOMPLIANCE', INDETERMINATE) -codewaiver = express_getattr(IfcObjectiveEnum, 'CODEWAIVER', INDETERMINATE) -designintent = express_getattr(IfcObjectiveEnum, 'DESIGNINTENT', INDETERMINATE) -external = express_getattr(IfcObjectiveEnum, 'EXTERNAL', INDETERMINATE) -healthandsafety = express_getattr(IfcObjectiveEnum, 'HEALTHANDSAFETY', INDETERMINATE) -mergeconflict = express_getattr(IfcObjectiveEnum, 'MERGECONFLICT', INDETERMINATE) -modelview = express_getattr(IfcObjectiveEnum, 'MODELVIEW', INDETERMINATE) -parameter = express_getattr(IfcObjectiveEnum, 'PARAMETER', INDETERMINATE) -requirement = express_getattr(IfcObjectiveEnum, 'REQUIREMENT', INDETERMINATE) -specification = express_getattr(IfcObjectiveEnum, 'SPECIFICATION', INDETERMINATE) -triggercondition = express_getattr(IfcObjectiveEnum, 'TRIGGERCONDITION', INDETERMINATE) -userdefined = express_getattr(IfcObjectiveEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcObjectiveEnum, 'NOTDEFINED', INDETERMINATE) +codecompliance = IfcObjectiveEnum.CODECOMPLIANCE +codewaiver = IfcObjectiveEnum.CODEWAIVER +designintent = IfcObjectiveEnum.DESIGNINTENT +external = IfcObjectiveEnum.EXTERNAL +healthandsafety = IfcObjectiveEnum.HEALTHANDSAFETY +mergeconflict = IfcObjectiveEnum.MERGECONFLICT +modelview = IfcObjectiveEnum.MODELVIEW +parameter = IfcObjectiveEnum.PARAMETER +requirement = IfcObjectiveEnum.REQUIREMENT +specification = IfcObjectiveEnum.SPECIFICATION +triggercondition = IfcObjectiveEnum.TRIGGERCONDITION +userdefined = IfcObjectiveEnum.USERDEFINED +notdefined = IfcObjectiveEnum.NOTDEFINED IfcOccupantTypeEnum = enum_namespace() -assignee = express_getattr(IfcOccupantTypeEnum, 'ASSIGNEE', INDETERMINATE) -assignor = express_getattr(IfcOccupantTypeEnum, 'ASSIGNOR', INDETERMINATE) -lessee = express_getattr(IfcOccupantTypeEnum, 'LESSEE', INDETERMINATE) -lessor = express_getattr(IfcOccupantTypeEnum, 'LESSOR', INDETERMINATE) -lettingagent = express_getattr(IfcOccupantTypeEnum, 'LETTINGAGENT', INDETERMINATE) -owner = express_getattr(IfcOccupantTypeEnum, 'OWNER', INDETERMINATE) -tenant = express_getattr(IfcOccupantTypeEnum, 'TENANT', INDETERMINATE) -userdefined = express_getattr(IfcOccupantTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOccupantTypeEnum, 'NOTDEFINED', INDETERMINATE) +assignee = IfcOccupantTypeEnum.ASSIGNEE +assignor = IfcOccupantTypeEnum.ASSIGNOR +lessee = IfcOccupantTypeEnum.LESSEE +lessor = IfcOccupantTypeEnum.LESSOR +lettingagent = IfcOccupantTypeEnum.LETTINGAGENT +owner = IfcOccupantTypeEnum.OWNER +tenant = IfcOccupantTypeEnum.TENANT +userdefined = IfcOccupantTypeEnum.USERDEFINED +notdefined = IfcOccupantTypeEnum.NOTDEFINED IfcOpeningElementTypeEnum = enum_namespace() -opening = express_getattr(IfcOpeningElementTypeEnum, 'OPENING', INDETERMINATE) -recess = express_getattr(IfcOpeningElementTypeEnum, 'RECESS', INDETERMINATE) -userdefined = express_getattr(IfcOpeningElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOpeningElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +opening = IfcOpeningElementTypeEnum.OPENING +recess = IfcOpeningElementTypeEnum.RECESS +userdefined = IfcOpeningElementTypeEnum.USERDEFINED +notdefined = IfcOpeningElementTypeEnum.NOTDEFINED IfcOutletTypeEnum = enum_namespace() -audiovisualoutlet = express_getattr(IfcOutletTypeEnum, 'AUDIOVISUALOUTLET', INDETERMINATE) -communicationsoutlet = express_getattr(IfcOutletTypeEnum, 'COMMUNICATIONSOUTLET', INDETERMINATE) -dataoutlet = express_getattr(IfcOutletTypeEnum, 'DATAOUTLET', INDETERMINATE) -poweroutlet = express_getattr(IfcOutletTypeEnum, 'POWEROUTLET', INDETERMINATE) -telephoneoutlet = express_getattr(IfcOutletTypeEnum, 'TELEPHONEOUTLET', INDETERMINATE) -userdefined = express_getattr(IfcOutletTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOutletTypeEnum, 'NOTDEFINED', INDETERMINATE) +audiovisualoutlet = IfcOutletTypeEnum.AUDIOVISUALOUTLET +communicationsoutlet = IfcOutletTypeEnum.COMMUNICATIONSOUTLET +dataoutlet = IfcOutletTypeEnum.DATAOUTLET +poweroutlet = IfcOutletTypeEnum.POWEROUTLET +telephoneoutlet = IfcOutletTypeEnum.TELEPHONEOUTLET +userdefined = IfcOutletTypeEnum.USERDEFINED +notdefined = IfcOutletTypeEnum.NOTDEFINED IfcPavementTypeEnum = enum_namespace() -flexible = express_getattr(IfcPavementTypeEnum, 'FLEXIBLE', INDETERMINATE) -rigid = express_getattr(IfcPavementTypeEnum, 'RIGID', INDETERMINATE) -userdefined = express_getattr(IfcPavementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPavementTypeEnum, 'NOTDEFINED', INDETERMINATE) +flexible = IfcPavementTypeEnum.FLEXIBLE +rigid = IfcPavementTypeEnum.RIGID +userdefined = IfcPavementTypeEnum.USERDEFINED +notdefined = IfcPavementTypeEnum.NOTDEFINED IfcPerformanceHistoryTypeEnum = enum_namespace() -userdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcPerformanceHistoryTypeEnum.USERDEFINED +notdefined = IfcPerformanceHistoryTypeEnum.NOTDEFINED IfcPermeableCoveringOperationEnum = enum_namespace() -grill = express_getattr(IfcPermeableCoveringOperationEnum, 'GRILL', INDETERMINATE) -louver = express_getattr(IfcPermeableCoveringOperationEnum, 'LOUVER', INDETERMINATE) -screen = express_getattr(IfcPermeableCoveringOperationEnum, 'SCREEN', INDETERMINATE) -userdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'NOTDEFINED', INDETERMINATE) +grill = IfcPermeableCoveringOperationEnum.GRILL +louver = IfcPermeableCoveringOperationEnum.LOUVER +screen = IfcPermeableCoveringOperationEnum.SCREEN +userdefined = IfcPermeableCoveringOperationEnum.USERDEFINED +notdefined = IfcPermeableCoveringOperationEnum.NOTDEFINED IfcPermitTypeEnum = enum_namespace() -access = express_getattr(IfcPermitTypeEnum, 'ACCESS', INDETERMINATE) -building = express_getattr(IfcPermitTypeEnum, 'BUILDING', INDETERMINATE) -work = express_getattr(IfcPermitTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcPermitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermitTypeEnum, 'NOTDEFINED', INDETERMINATE) +access = IfcPermitTypeEnum.ACCESS +building = IfcPermitTypeEnum.BUILDING +work = IfcPermitTypeEnum.WORK +userdefined = IfcPermitTypeEnum.USERDEFINED +notdefined = IfcPermitTypeEnum.NOTDEFINED IfcPhysicalOrVirtualEnum = enum_namespace() -physical = express_getattr(IfcPhysicalOrVirtualEnum, 'PHYSICAL', INDETERMINATE) -virtual = express_getattr(IfcPhysicalOrVirtualEnum, 'VIRTUAL', INDETERMINATE) -notdefined = express_getattr(IfcPhysicalOrVirtualEnum, 'NOTDEFINED', INDETERMINATE) +physical = IfcPhysicalOrVirtualEnum.PHYSICAL +virtual = IfcPhysicalOrVirtualEnum.VIRTUAL +notdefined = IfcPhysicalOrVirtualEnum.NOTDEFINED IfcPileConstructionEnum = enum_namespace() -cast_in_place = express_getattr(IfcPileConstructionEnum, 'CAST_IN_PLACE', INDETERMINATE) -composite = express_getattr(IfcPileConstructionEnum, 'COMPOSITE', INDETERMINATE) -precast_concrete = express_getattr(IfcPileConstructionEnum, 'PRECAST_CONCRETE', INDETERMINATE) -prefab_steel = express_getattr(IfcPileConstructionEnum, 'PREFAB_STEEL', INDETERMINATE) -userdefined = express_getattr(IfcPileConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileConstructionEnum, 'NOTDEFINED', INDETERMINATE) +cast_in_place = IfcPileConstructionEnum.CAST_IN_PLACE +composite = IfcPileConstructionEnum.COMPOSITE +precast_concrete = IfcPileConstructionEnum.PRECAST_CONCRETE +prefab_steel = IfcPileConstructionEnum.PREFAB_STEEL +userdefined = IfcPileConstructionEnum.USERDEFINED +notdefined = IfcPileConstructionEnum.NOTDEFINED IfcPileTypeEnum = enum_namespace() -bored = express_getattr(IfcPileTypeEnum, 'BORED', INDETERMINATE) -cohesion = express_getattr(IfcPileTypeEnum, 'COHESION', INDETERMINATE) -driven = express_getattr(IfcPileTypeEnum, 'DRIVEN', INDETERMINATE) -friction = express_getattr(IfcPileTypeEnum, 'FRICTION', INDETERMINATE) -jetgrouting = express_getattr(IfcPileTypeEnum, 'JETGROUTING', INDETERMINATE) -support = express_getattr(IfcPileTypeEnum, 'SUPPORT', INDETERMINATE) -userdefined = express_getattr(IfcPileTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileTypeEnum, 'NOTDEFINED', INDETERMINATE) +bored = IfcPileTypeEnum.BORED +cohesion = IfcPileTypeEnum.COHESION +driven = IfcPileTypeEnum.DRIVEN +friction = IfcPileTypeEnum.FRICTION +jetgrouting = IfcPileTypeEnum.JETGROUTING +support = IfcPileTypeEnum.SUPPORT +userdefined = IfcPileTypeEnum.USERDEFINED +notdefined = IfcPileTypeEnum.NOTDEFINED IfcPipeFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcPipeFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcPipeFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcPipeFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcPipeFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcPipeFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcPipeFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcPipeFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcPipeFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcPipeFittingTypeEnum.BEND +connector = IfcPipeFittingTypeEnum.CONNECTOR +entry = IfcPipeFittingTypeEnum.ENTRY +exit = IfcPipeFittingTypeEnum.EXIT +junction = IfcPipeFittingTypeEnum.JUNCTION +obstruction = IfcPipeFittingTypeEnum.OBSTRUCTION +transition = IfcPipeFittingTypeEnum.TRANSITION +userdefined = IfcPipeFittingTypeEnum.USERDEFINED +notdefined = IfcPipeFittingTypeEnum.NOTDEFINED IfcPipeSegmentTypeEnum = enum_namespace() -culvert = express_getattr(IfcPipeSegmentTypeEnum, 'CULVERT', INDETERMINATE) -flexiblesegment = express_getattr(IfcPipeSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -gutter = express_getattr(IfcPipeSegmentTypeEnum, 'GUTTER', INDETERMINATE) -rigidsegment = express_getattr(IfcPipeSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -spool = express_getattr(IfcPipeSegmentTypeEnum, 'SPOOL', INDETERMINATE) -userdefined = express_getattr(IfcPipeSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +culvert = IfcPipeSegmentTypeEnum.CULVERT +flexiblesegment = IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT +gutter = IfcPipeSegmentTypeEnum.GUTTER +rigidsegment = IfcPipeSegmentTypeEnum.RIGIDSEGMENT +spool = IfcPipeSegmentTypeEnum.SPOOL +userdefined = IfcPipeSegmentTypeEnum.USERDEFINED +notdefined = IfcPipeSegmentTypeEnum.NOTDEFINED IfcPlateTypeEnum = enum_namespace() -base_plate = express_getattr(IfcPlateTypeEnum, 'BASE_PLATE', INDETERMINATE) -cover_plate = express_getattr(IfcPlateTypeEnum, 'COVER_PLATE', INDETERMINATE) -curtain_panel = express_getattr(IfcPlateTypeEnum, 'CURTAIN_PANEL', INDETERMINATE) -flange_plate = express_getattr(IfcPlateTypeEnum, 'FLANGE_PLATE', INDETERMINATE) -gusset_plate = express_getattr(IfcPlateTypeEnum, 'GUSSET_PLATE', INDETERMINATE) -sheet = express_getattr(IfcPlateTypeEnum, 'SHEET', INDETERMINATE) -splice_plate = express_getattr(IfcPlateTypeEnum, 'SPLICE_PLATE', INDETERMINATE) -stiffener_plate = express_getattr(IfcPlateTypeEnum, 'STIFFENER_PLATE', INDETERMINATE) -web_plate = express_getattr(IfcPlateTypeEnum, 'WEB_PLATE', INDETERMINATE) -userdefined = express_getattr(IfcPlateTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPlateTypeEnum, 'NOTDEFINED', INDETERMINATE) +base_plate = IfcPlateTypeEnum.BASE_PLATE +cover_plate = IfcPlateTypeEnum.COVER_PLATE +curtain_panel = IfcPlateTypeEnum.CURTAIN_PANEL +flange_plate = IfcPlateTypeEnum.FLANGE_PLATE +gusset_plate = IfcPlateTypeEnum.GUSSET_PLATE +sheet = IfcPlateTypeEnum.SHEET +splice_plate = IfcPlateTypeEnum.SPLICE_PLATE +stiffener_plate = IfcPlateTypeEnum.STIFFENER_PLATE +web_plate = IfcPlateTypeEnum.WEB_PLATE +userdefined = IfcPlateTypeEnum.USERDEFINED +notdefined = IfcPlateTypeEnum.NOTDEFINED IfcPreferredSurfaceCurveRepresentation = enum_namespace() -curve3d = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'CURVE3D', INDETERMINATE) -pcurve_s1 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S1', INDETERMINATE) -pcurve_s2 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S2', INDETERMINATE) +curve3d = IfcPreferredSurfaceCurveRepresentation.CURVE3D +pcurve_s1 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S1 +pcurve_s2 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S2 IfcProcedureTypeEnum = enum_namespace() -advice_caution = express_getattr(IfcProcedureTypeEnum, 'ADVICE_CAUTION', INDETERMINATE) -advice_note = express_getattr(IfcProcedureTypeEnum, 'ADVICE_NOTE', INDETERMINATE) -advice_warning = express_getattr(IfcProcedureTypeEnum, 'ADVICE_WARNING', INDETERMINATE) -calibration = express_getattr(IfcProcedureTypeEnum, 'CALIBRATION', INDETERMINATE) -diagnostic = express_getattr(IfcProcedureTypeEnum, 'DIAGNOSTIC', INDETERMINATE) -shutdown = express_getattr(IfcProcedureTypeEnum, 'SHUTDOWN', INDETERMINATE) -startup = express_getattr(IfcProcedureTypeEnum, 'STARTUP', INDETERMINATE) -userdefined = express_getattr(IfcProcedureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProcedureTypeEnum, 'NOTDEFINED', INDETERMINATE) +advice_caution = IfcProcedureTypeEnum.ADVICE_CAUTION +advice_note = IfcProcedureTypeEnum.ADVICE_NOTE +advice_warning = IfcProcedureTypeEnum.ADVICE_WARNING +calibration = IfcProcedureTypeEnum.CALIBRATION +diagnostic = IfcProcedureTypeEnum.DIAGNOSTIC +shutdown = IfcProcedureTypeEnum.SHUTDOWN +startup = IfcProcedureTypeEnum.STARTUP +userdefined = IfcProcedureTypeEnum.USERDEFINED +notdefined = IfcProcedureTypeEnum.NOTDEFINED IfcProfileTypeEnum = enum_namespace() -area = express_getattr(IfcProfileTypeEnum, 'AREA', INDETERMINATE) -curve = express_getattr(IfcProfileTypeEnum, 'CURVE', INDETERMINATE) +area = IfcProfileTypeEnum.AREA +curve = IfcProfileTypeEnum.CURVE IfcProjectOrderTypeEnum = enum_namespace() -changeorder = express_getattr(IfcProjectOrderTypeEnum, 'CHANGEORDER', INDETERMINATE) -maintenanceworkorder = express_getattr(IfcProjectOrderTypeEnum, 'MAINTENANCEWORKORDER', INDETERMINATE) -moveorder = express_getattr(IfcProjectOrderTypeEnum, 'MOVEORDER', INDETERMINATE) -purchaseorder = express_getattr(IfcProjectOrderTypeEnum, 'PURCHASEORDER', INDETERMINATE) -workorder = express_getattr(IfcProjectOrderTypeEnum, 'WORKORDER', INDETERMINATE) -userdefined = express_getattr(IfcProjectOrderTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectOrderTypeEnum, 'NOTDEFINED', INDETERMINATE) +changeorder = IfcProjectOrderTypeEnum.CHANGEORDER +maintenanceworkorder = IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER +moveorder = IfcProjectOrderTypeEnum.MOVEORDER +purchaseorder = IfcProjectOrderTypeEnum.PURCHASEORDER +workorder = IfcProjectOrderTypeEnum.WORKORDER +userdefined = IfcProjectOrderTypeEnum.USERDEFINED +notdefined = IfcProjectOrderTypeEnum.NOTDEFINED IfcProjectedOrTrueLengthEnum = enum_namespace() -projected_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'PROJECTED_LENGTH', INDETERMINATE) -true_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'TRUE_LENGTH', INDETERMINATE) +projected_length = IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH +true_length = IfcProjectedOrTrueLengthEnum.TRUE_LENGTH IfcProjectionElementTypeEnum = enum_namespace() -blister = express_getattr(IfcProjectionElementTypeEnum, 'BLISTER', INDETERMINATE) -deviator = express_getattr(IfcProjectionElementTypeEnum, 'DEVIATOR', INDETERMINATE) -userdefined = express_getattr(IfcProjectionElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectionElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +blister = IfcProjectionElementTypeEnum.BLISTER +deviator = IfcProjectionElementTypeEnum.DEVIATOR +userdefined = IfcProjectionElementTypeEnum.USERDEFINED +notdefined = IfcProjectionElementTypeEnum.NOTDEFINED IfcPropertySetTemplateTypeEnum = enum_namespace() -pset_materialdriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_MATERIALDRIVEN', INDETERMINATE) -pset_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_OCCURRENCEDRIVEN', INDETERMINATE) -pset_performancedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_PERFORMANCEDRIVEN', INDETERMINATE) -pset_profiledriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_PROFILEDRIVEN', INDETERMINATE) -pset_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENONLY', INDETERMINATE) -pset_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENOVERRIDE', INDETERMINATE) -qto_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_OCCURRENCEDRIVEN', INDETERMINATE) -qto_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENONLY', INDETERMINATE) -qto_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENOVERRIDE', INDETERMINATE) -notdefined = express_getattr(IfcPropertySetTemplateTypeEnum, 'NOTDEFINED', INDETERMINATE) +pset_materialdriven = IfcPropertySetTemplateTypeEnum.PSET_MATERIALDRIVEN +pset_occurrencedriven = IfcPropertySetTemplateTypeEnum.PSET_OCCURRENCEDRIVEN +pset_performancedriven = IfcPropertySetTemplateTypeEnum.PSET_PERFORMANCEDRIVEN +pset_profiledriven = IfcPropertySetTemplateTypeEnum.PSET_PROFILEDRIVEN +pset_typedrivenonly = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENONLY +pset_typedrivenoverride = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENOVERRIDE +qto_occurrencedriven = IfcPropertySetTemplateTypeEnum.QTO_OCCURRENCEDRIVEN +qto_typedrivenonly = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENONLY +qto_typedrivenoverride = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENOVERRIDE +notdefined = IfcPropertySetTemplateTypeEnum.NOTDEFINED IfcProtectiveDeviceTrippingUnitTypeEnum = enum_namespace() -electromagnetic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTROMAGNETIC', INDETERMINATE) -electronic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTRONIC', INDETERMINATE) -residualcurrent = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'RESIDUALCURRENT', INDETERMINATE) -thermal = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'THERMAL', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'NOTDEFINED', INDETERMINATE) +electromagnetic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTROMAGNETIC +electronic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTRONIC +residualcurrent = IfcProtectiveDeviceTrippingUnitTypeEnum.RESIDUALCURRENT +thermal = IfcProtectiveDeviceTrippingUnitTypeEnum.THERMAL +userdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.NOTDEFINED IfcProtectiveDeviceTypeEnum = enum_namespace() -anti_arcing_device = express_getattr(IfcProtectiveDeviceTypeEnum, 'ANTI_ARCING_DEVICE', INDETERMINATE) -circuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'CIRCUITBREAKER', INDETERMINATE) -earthingswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHINGSWITCH', INDETERMINATE) -earthleakagecircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHLEAKAGECIRCUITBREAKER', INDETERMINATE) -fusedisconnector = express_getattr(IfcProtectiveDeviceTypeEnum, 'FUSEDISCONNECTOR', INDETERMINATE) -residualcurrentcircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTCIRCUITBREAKER', INDETERMINATE) -residualcurrentswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTSWITCH', INDETERMINATE) -sparkgap = express_getattr(IfcProtectiveDeviceTypeEnum, 'SPARKGAP', INDETERMINATE) -varistor = express_getattr(IfcProtectiveDeviceTypeEnum, 'VARISTOR', INDETERMINATE) -voltagelimiter = express_getattr(IfcProtectiveDeviceTypeEnum, 'VOLTAGELIMITER', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +anti_arcing_device = IfcProtectiveDeviceTypeEnum.ANTI_ARCING_DEVICE +circuitbreaker = IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER +earthingswitch = IfcProtectiveDeviceTypeEnum.EARTHINGSWITCH +earthleakagecircuitbreaker = IfcProtectiveDeviceTypeEnum.EARTHLEAKAGECIRCUITBREAKER +fusedisconnector = IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR +residualcurrentcircuitbreaker = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER +residualcurrentswitch = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH +sparkgap = IfcProtectiveDeviceTypeEnum.SPARKGAP +varistor = IfcProtectiveDeviceTypeEnum.VARISTOR +voltagelimiter = IfcProtectiveDeviceTypeEnum.VOLTAGELIMITER +userdefined = IfcProtectiveDeviceTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTypeEnum.NOTDEFINED IfcPumpTypeEnum = enum_namespace() -circulator = express_getattr(IfcPumpTypeEnum, 'CIRCULATOR', INDETERMINATE) -endsuction = express_getattr(IfcPumpTypeEnum, 'ENDSUCTION', INDETERMINATE) -splitcase = express_getattr(IfcPumpTypeEnum, 'SPLITCASE', INDETERMINATE) -submersiblepump = express_getattr(IfcPumpTypeEnum, 'SUBMERSIBLEPUMP', INDETERMINATE) -sumppump = express_getattr(IfcPumpTypeEnum, 'SUMPPUMP', INDETERMINATE) -verticalinline = express_getattr(IfcPumpTypeEnum, 'VERTICALINLINE', INDETERMINATE) -verticalturbine = express_getattr(IfcPumpTypeEnum, 'VERTICALTURBINE', INDETERMINATE) -userdefined = express_getattr(IfcPumpTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPumpTypeEnum, 'NOTDEFINED', INDETERMINATE) +circulator = IfcPumpTypeEnum.CIRCULATOR +endsuction = IfcPumpTypeEnum.ENDSUCTION +splitcase = IfcPumpTypeEnum.SPLITCASE +submersiblepump = IfcPumpTypeEnum.SUBMERSIBLEPUMP +sumppump = IfcPumpTypeEnum.SUMPPUMP +verticalinline = IfcPumpTypeEnum.VERTICALINLINE +verticalturbine = IfcPumpTypeEnum.VERTICALTURBINE +userdefined = IfcPumpTypeEnum.USERDEFINED +notdefined = IfcPumpTypeEnum.NOTDEFINED IfcRailTypeEnum = enum_namespace() -blade = express_getattr(IfcRailTypeEnum, 'BLADE', INDETERMINATE) -checkrail = express_getattr(IfcRailTypeEnum, 'CHECKRAIL', INDETERMINATE) -guardrail = express_getattr(IfcRailTypeEnum, 'GUARDRAIL', INDETERMINATE) -rackrail = express_getattr(IfcRailTypeEnum, 'RACKRAIL', INDETERMINATE) -rail = express_getattr(IfcRailTypeEnum, 'RAIL', INDETERMINATE) -stockrail = express_getattr(IfcRailTypeEnum, 'STOCKRAIL', INDETERMINATE) -userdefined = express_getattr(IfcRailTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailTypeEnum, 'NOTDEFINED', INDETERMINATE) +blade = IfcRailTypeEnum.BLADE +checkrail = IfcRailTypeEnum.CHECKRAIL +guardrail = IfcRailTypeEnum.GUARDRAIL +rackrail = IfcRailTypeEnum.RACKRAIL +rail = IfcRailTypeEnum.RAIL +stockrail = IfcRailTypeEnum.STOCKRAIL +userdefined = IfcRailTypeEnum.USERDEFINED +notdefined = IfcRailTypeEnum.NOTDEFINED IfcRailingTypeEnum = enum_namespace() -balustrade = express_getattr(IfcRailingTypeEnum, 'BALUSTRADE', INDETERMINATE) -fence = express_getattr(IfcRailingTypeEnum, 'FENCE', INDETERMINATE) -guardrail = express_getattr(IfcRailingTypeEnum, 'GUARDRAIL', INDETERMINATE) -handrail = express_getattr(IfcRailingTypeEnum, 'HANDRAIL', INDETERMINATE) -userdefined = express_getattr(IfcRailingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailingTypeEnum, 'NOTDEFINED', INDETERMINATE) +balustrade = IfcRailingTypeEnum.BALUSTRADE +fence = IfcRailingTypeEnum.FENCE +guardrail = IfcRailingTypeEnum.GUARDRAIL +handrail = IfcRailingTypeEnum.HANDRAIL +userdefined = IfcRailingTypeEnum.USERDEFINED +notdefined = IfcRailingTypeEnum.NOTDEFINED IfcRailwayPartTypeEnum = enum_namespace() -dilatationsuperstructure = express_getattr(IfcRailwayPartTypeEnum, 'DILATATIONSUPERSTRUCTURE', INDETERMINATE) -linesidestructure = express_getattr(IfcRailwayPartTypeEnum, 'LINESIDESTRUCTURE', INDETERMINATE) -linesidestructurepart = express_getattr(IfcRailwayPartTypeEnum, 'LINESIDESTRUCTUREPART', INDETERMINATE) -plaintracksuperstructure = express_getattr(IfcRailwayPartTypeEnum, 'PLAINTRACKSUPERSTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcRailwayPartTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -trackstructure = express_getattr(IfcRailwayPartTypeEnum, 'TRACKSTRUCTURE', INDETERMINATE) -trackstructurepart = express_getattr(IfcRailwayPartTypeEnum, 'TRACKSTRUCTUREPART', INDETERMINATE) -turnoutsuperstructure = express_getattr(IfcRailwayPartTypeEnum, 'TURNOUTSUPERSTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcRailwayPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailwayPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +dilatationsuperstructure = IfcRailwayPartTypeEnum.DILATATIONSUPERSTRUCTURE +linesidestructure = IfcRailwayPartTypeEnum.LINESIDESTRUCTURE +linesidestructurepart = IfcRailwayPartTypeEnum.LINESIDESTRUCTUREPART +plaintracksuperstructure = IfcRailwayPartTypeEnum.PLAINTRACKSUPERSTRUCTURE +superstructure = IfcRailwayPartTypeEnum.SUPERSTRUCTURE +trackstructure = IfcRailwayPartTypeEnum.TRACKSTRUCTURE +trackstructurepart = IfcRailwayPartTypeEnum.TRACKSTRUCTUREPART +turnoutsuperstructure = IfcRailwayPartTypeEnum.TURNOUTSUPERSTRUCTURE +userdefined = IfcRailwayPartTypeEnum.USERDEFINED +notdefined = IfcRailwayPartTypeEnum.NOTDEFINED IfcRailwayTypeEnum = enum_namespace() -userdefined = express_getattr(IfcRailwayTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailwayTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcRailwayTypeEnum.USERDEFINED +notdefined = IfcRailwayTypeEnum.NOTDEFINED IfcRampFlightTypeEnum = enum_namespace() -spiral = express_getattr(IfcRampFlightTypeEnum, 'SPIRAL', INDETERMINATE) -straight = express_getattr(IfcRampFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -userdefined = express_getattr(IfcRampFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +spiral = IfcRampFlightTypeEnum.SPIRAL +straight = IfcRampFlightTypeEnum.STRAIGHT +userdefined = IfcRampFlightTypeEnum.USERDEFINED +notdefined = IfcRampFlightTypeEnum.NOTDEFINED IfcRampTypeEnum = enum_namespace() -half_turn_ramp = express_getattr(IfcRampTypeEnum, 'HALF_TURN_RAMP', INDETERMINATE) -quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'QUARTER_TURN_RAMP', INDETERMINATE) -spiral_ramp = express_getattr(IfcRampTypeEnum, 'SPIRAL_RAMP', INDETERMINATE) -straight_run_ramp = express_getattr(IfcRampTypeEnum, 'STRAIGHT_RUN_RAMP', INDETERMINATE) -two_quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'TWO_QUARTER_TURN_RAMP', INDETERMINATE) -two_straight_run_ramp = express_getattr(IfcRampTypeEnum, 'TWO_STRAIGHT_RUN_RAMP', INDETERMINATE) -userdefined = express_getattr(IfcRampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampTypeEnum, 'NOTDEFINED', INDETERMINATE) +half_turn_ramp = IfcRampTypeEnum.HALF_TURN_RAMP +quarter_turn_ramp = IfcRampTypeEnum.QUARTER_TURN_RAMP +spiral_ramp = IfcRampTypeEnum.SPIRAL_RAMP +straight_run_ramp = IfcRampTypeEnum.STRAIGHT_RUN_RAMP +two_quarter_turn_ramp = IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP +two_straight_run_ramp = IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP +userdefined = IfcRampTypeEnum.USERDEFINED +notdefined = IfcRampTypeEnum.NOTDEFINED IfcRecurrenceTypeEnum = enum_namespace() -by_day_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_DAY_COUNT', INDETERMINATE) -by_weekday_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_WEEKDAY_COUNT', INDETERMINATE) -daily = express_getattr(IfcRecurrenceTypeEnum, 'DAILY', INDETERMINATE) -monthly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_DAY_OF_MONTH', INDETERMINATE) -monthly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_POSITION', INDETERMINATE) -weekly = express_getattr(IfcRecurrenceTypeEnum, 'WEEKLY', INDETERMINATE) -yearly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_DAY_OF_MONTH', INDETERMINATE) -yearly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_POSITION', INDETERMINATE) +by_day_count = IfcRecurrenceTypeEnum.BY_DAY_COUNT +by_weekday_count = IfcRecurrenceTypeEnum.BY_WEEKDAY_COUNT +daily = IfcRecurrenceTypeEnum.DAILY +monthly_by_day_of_month = IfcRecurrenceTypeEnum.MONTHLY_BY_DAY_OF_MONTH +monthly_by_position = IfcRecurrenceTypeEnum.MONTHLY_BY_POSITION +weekly = IfcRecurrenceTypeEnum.WEEKLY +yearly_by_day_of_month = IfcRecurrenceTypeEnum.YEARLY_BY_DAY_OF_MONTH +yearly_by_position = IfcRecurrenceTypeEnum.YEARLY_BY_POSITION IfcReferentTypeEnum = enum_namespace() -boundary = express_getattr(IfcReferentTypeEnum, 'BOUNDARY', INDETERMINATE) -intersection = express_getattr(IfcReferentTypeEnum, 'INTERSECTION', INDETERMINATE) -kilopoint = express_getattr(IfcReferentTypeEnum, 'KILOPOINT', INDETERMINATE) -landmark = express_getattr(IfcReferentTypeEnum, 'LANDMARK', INDETERMINATE) -milepoint = express_getattr(IfcReferentTypeEnum, 'MILEPOINT', INDETERMINATE) -position = express_getattr(IfcReferentTypeEnum, 'POSITION', INDETERMINATE) -referencemarker = express_getattr(IfcReferentTypeEnum, 'REFERENCEMARKER', INDETERMINATE) -station = express_getattr(IfcReferentTypeEnum, 'STATION', INDETERMINATE) -userdefined = express_getattr(IfcReferentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReferentTypeEnum, 'NOTDEFINED', INDETERMINATE) +boundary = IfcReferentTypeEnum.BOUNDARY +intersection = IfcReferentTypeEnum.INTERSECTION +kilopoint = IfcReferentTypeEnum.KILOPOINT +landmark = IfcReferentTypeEnum.LANDMARK +milepoint = IfcReferentTypeEnum.MILEPOINT +position = IfcReferentTypeEnum.POSITION +referencemarker = IfcReferentTypeEnum.REFERENCEMARKER +station = IfcReferentTypeEnum.STATION +userdefined = IfcReferentTypeEnum.USERDEFINED +notdefined = IfcReferentTypeEnum.NOTDEFINED IfcReflectanceMethodEnum = enum_namespace() -blinn = express_getattr(IfcReflectanceMethodEnum, 'BLINN', INDETERMINATE) -flat = express_getattr(IfcReflectanceMethodEnum, 'FLAT', INDETERMINATE) -glass = express_getattr(IfcReflectanceMethodEnum, 'GLASS', INDETERMINATE) -matt = express_getattr(IfcReflectanceMethodEnum, 'MATT', INDETERMINATE) -metal = express_getattr(IfcReflectanceMethodEnum, 'METAL', INDETERMINATE) -mirror = express_getattr(IfcReflectanceMethodEnum, 'MIRROR', INDETERMINATE) -phong = express_getattr(IfcReflectanceMethodEnum, 'PHONG', INDETERMINATE) -physical = express_getattr(IfcReflectanceMethodEnum, 'PHYSICAL', INDETERMINATE) -plastic = express_getattr(IfcReflectanceMethodEnum, 'PLASTIC', INDETERMINATE) -strauss = express_getattr(IfcReflectanceMethodEnum, 'STRAUSS', INDETERMINATE) -notdefined = express_getattr(IfcReflectanceMethodEnum, 'NOTDEFINED', INDETERMINATE) +blinn = IfcReflectanceMethodEnum.BLINN +flat = IfcReflectanceMethodEnum.FLAT +glass = IfcReflectanceMethodEnum.GLASS +matt = IfcReflectanceMethodEnum.MATT +metal = IfcReflectanceMethodEnum.METAL +mirror = IfcReflectanceMethodEnum.MIRROR +phong = IfcReflectanceMethodEnum.PHONG +physical = IfcReflectanceMethodEnum.PHYSICAL +plastic = IfcReflectanceMethodEnum.PLASTIC +strauss = IfcReflectanceMethodEnum.STRAUSS +notdefined = IfcReflectanceMethodEnum.NOTDEFINED IfcReinforcedSoilTypeEnum = enum_namespace() -dynamicallycompacted = express_getattr(IfcReinforcedSoilTypeEnum, 'DYNAMICALLYCOMPACTED', INDETERMINATE) -grouted = express_getattr(IfcReinforcedSoilTypeEnum, 'GROUTED', INDETERMINATE) -replaced = express_getattr(IfcReinforcedSoilTypeEnum, 'REPLACED', INDETERMINATE) -rollercompacted = express_getattr(IfcReinforcedSoilTypeEnum, 'ROLLERCOMPACTED', INDETERMINATE) -surchargepreloaded = express_getattr(IfcReinforcedSoilTypeEnum, 'SURCHARGEPRELOADED', INDETERMINATE) -verticallydrained = express_getattr(IfcReinforcedSoilTypeEnum, 'VERTICALLYDRAINED', INDETERMINATE) -userdefined = express_getattr(IfcReinforcedSoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcedSoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +dynamicallycompacted = IfcReinforcedSoilTypeEnum.DYNAMICALLYCOMPACTED +grouted = IfcReinforcedSoilTypeEnum.GROUTED +replaced = IfcReinforcedSoilTypeEnum.REPLACED +rollercompacted = IfcReinforcedSoilTypeEnum.ROLLERCOMPACTED +surchargepreloaded = IfcReinforcedSoilTypeEnum.SURCHARGEPRELOADED +verticallydrained = IfcReinforcedSoilTypeEnum.VERTICALLYDRAINED +userdefined = IfcReinforcedSoilTypeEnum.USERDEFINED +notdefined = IfcReinforcedSoilTypeEnum.NOTDEFINED IfcReinforcingBarRoleEnum = enum_namespace() -anchoring = express_getattr(IfcReinforcingBarRoleEnum, 'ANCHORING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarRoleEnum, 'EDGE', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarRoleEnum, 'LIGATURE', INDETERMINATE) -main = express_getattr(IfcReinforcingBarRoleEnum, 'MAIN', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarRoleEnum, 'PUNCHING', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarRoleEnum, 'RING', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarRoleEnum, 'SHEAR', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarRoleEnum, 'STUD', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarRoleEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarRoleEnum, 'NOTDEFINED', INDETERMINATE) +anchoring = IfcReinforcingBarRoleEnum.ANCHORING +edge = IfcReinforcingBarRoleEnum.EDGE +ligature = IfcReinforcingBarRoleEnum.LIGATURE +main = IfcReinforcingBarRoleEnum.MAIN +punching = IfcReinforcingBarRoleEnum.PUNCHING +ring = IfcReinforcingBarRoleEnum.RING +shear = IfcReinforcingBarRoleEnum.SHEAR +stud = IfcReinforcingBarRoleEnum.STUD +userdefined = IfcReinforcingBarRoleEnum.USERDEFINED +notdefined = IfcReinforcingBarRoleEnum.NOTDEFINED IfcReinforcingBarSurfaceEnum = enum_namespace() -plain = express_getattr(IfcReinforcingBarSurfaceEnum, 'PLAIN', INDETERMINATE) -textured = express_getattr(IfcReinforcingBarSurfaceEnum, 'TEXTURED', INDETERMINATE) +plain = IfcReinforcingBarSurfaceEnum.PLAIN +textured = IfcReinforcingBarSurfaceEnum.TEXTURED IfcReinforcingBarTypeEnum = enum_namespace() -anchoring = express_getattr(IfcReinforcingBarTypeEnum, 'ANCHORING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarTypeEnum, 'EDGE', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarTypeEnum, 'LIGATURE', INDETERMINATE) -main = express_getattr(IfcReinforcingBarTypeEnum, 'MAIN', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarTypeEnum, 'PUNCHING', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarTypeEnum, 'RING', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarTypeEnum, 'SHEAR', INDETERMINATE) -spacebar = express_getattr(IfcReinforcingBarTypeEnum, 'SPACEBAR', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarTypeEnum, 'STUD', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchoring = IfcReinforcingBarTypeEnum.ANCHORING +edge = IfcReinforcingBarTypeEnum.EDGE +ligature = IfcReinforcingBarTypeEnum.LIGATURE +main = IfcReinforcingBarTypeEnum.MAIN +punching = IfcReinforcingBarTypeEnum.PUNCHING +ring = IfcReinforcingBarTypeEnum.RING +shear = IfcReinforcingBarTypeEnum.SHEAR +spacebar = IfcReinforcingBarTypeEnum.SPACEBAR +stud = IfcReinforcingBarTypeEnum.STUD +userdefined = IfcReinforcingBarTypeEnum.USERDEFINED +notdefined = IfcReinforcingBarTypeEnum.NOTDEFINED IfcReinforcingMeshTypeEnum = enum_namespace() -userdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcReinforcingMeshTypeEnum.USERDEFINED +notdefined = IfcReinforcingMeshTypeEnum.NOTDEFINED IfcRoadPartTypeEnum = enum_namespace() -bicyclecrossing = express_getattr(IfcRoadPartTypeEnum, 'BICYCLECROSSING', INDETERMINATE) -bus_stop = express_getattr(IfcRoadPartTypeEnum, 'BUS_STOP', INDETERMINATE) -carriageway = express_getattr(IfcRoadPartTypeEnum, 'CARRIAGEWAY', INDETERMINATE) -centralisland = express_getattr(IfcRoadPartTypeEnum, 'CENTRALISLAND', INDETERMINATE) -centralreserve = express_getattr(IfcRoadPartTypeEnum, 'CENTRALRESERVE', INDETERMINATE) -hardshoulder = express_getattr(IfcRoadPartTypeEnum, 'HARDSHOULDER', INDETERMINATE) -intersection = express_getattr(IfcRoadPartTypeEnum, 'INTERSECTION', INDETERMINATE) -layby = express_getattr(IfcRoadPartTypeEnum, 'LAYBY', INDETERMINATE) -parkingbay = express_getattr(IfcRoadPartTypeEnum, 'PARKINGBAY', INDETERMINATE) -passingbay = express_getattr(IfcRoadPartTypeEnum, 'PASSINGBAY', INDETERMINATE) -pedestrian_crossing = express_getattr(IfcRoadPartTypeEnum, 'PEDESTRIAN_CROSSING', INDETERMINATE) -railwaycrossing = express_getattr(IfcRoadPartTypeEnum, 'RAILWAYCROSSING', INDETERMINATE) -refugeisland = express_getattr(IfcRoadPartTypeEnum, 'REFUGEISLAND', INDETERMINATE) -roadsegment = express_getattr(IfcRoadPartTypeEnum, 'ROADSEGMENT', INDETERMINATE) -roadside = express_getattr(IfcRoadPartTypeEnum, 'ROADSIDE', INDETERMINATE) -roadsidepart = express_getattr(IfcRoadPartTypeEnum, 'ROADSIDEPART', INDETERMINATE) -roadwayplateau = express_getattr(IfcRoadPartTypeEnum, 'ROADWAYPLATEAU', INDETERMINATE) -roundabout = express_getattr(IfcRoadPartTypeEnum, 'ROUNDABOUT', INDETERMINATE) -shoulder = express_getattr(IfcRoadPartTypeEnum, 'SHOULDER', INDETERMINATE) -sidewalk = express_getattr(IfcRoadPartTypeEnum, 'SIDEWALK', INDETERMINATE) -softshoulder = express_getattr(IfcRoadPartTypeEnum, 'SOFTSHOULDER', INDETERMINATE) -tollplaza = express_getattr(IfcRoadPartTypeEnum, 'TOLLPLAZA', INDETERMINATE) -trafficisland = express_getattr(IfcRoadPartTypeEnum, 'TRAFFICISLAND', INDETERMINATE) -trafficlane = express_getattr(IfcRoadPartTypeEnum, 'TRAFFICLANE', INDETERMINATE) -userdefined = express_getattr(IfcRoadPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoadPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +bicyclecrossing = IfcRoadPartTypeEnum.BICYCLECROSSING +bus_stop = IfcRoadPartTypeEnum.BUS_STOP +carriageway = IfcRoadPartTypeEnum.CARRIAGEWAY +centralisland = IfcRoadPartTypeEnum.CENTRALISLAND +centralreserve = IfcRoadPartTypeEnum.CENTRALRESERVE +hardshoulder = IfcRoadPartTypeEnum.HARDSHOULDER +intersection = IfcRoadPartTypeEnum.INTERSECTION +layby = IfcRoadPartTypeEnum.LAYBY +parkingbay = IfcRoadPartTypeEnum.PARKINGBAY +passingbay = IfcRoadPartTypeEnum.PASSINGBAY +pedestrian_crossing = IfcRoadPartTypeEnum.PEDESTRIAN_CROSSING +railwaycrossing = IfcRoadPartTypeEnum.RAILWAYCROSSING +refugeisland = IfcRoadPartTypeEnum.REFUGEISLAND +roadsegment = IfcRoadPartTypeEnum.ROADSEGMENT +roadside = IfcRoadPartTypeEnum.ROADSIDE +roadsidepart = IfcRoadPartTypeEnum.ROADSIDEPART +roadwayplateau = IfcRoadPartTypeEnum.ROADWAYPLATEAU +roundabout = IfcRoadPartTypeEnum.ROUNDABOUT +shoulder = IfcRoadPartTypeEnum.SHOULDER +sidewalk = IfcRoadPartTypeEnum.SIDEWALK +softshoulder = IfcRoadPartTypeEnum.SOFTSHOULDER +tollplaza = IfcRoadPartTypeEnum.TOLLPLAZA +trafficisland = IfcRoadPartTypeEnum.TRAFFICISLAND +trafficlane = IfcRoadPartTypeEnum.TRAFFICLANE +userdefined = IfcRoadPartTypeEnum.USERDEFINED +notdefined = IfcRoadPartTypeEnum.NOTDEFINED IfcRoadTypeEnum = enum_namespace() -userdefined = express_getattr(IfcRoadTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoadTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcRoadTypeEnum.USERDEFINED +notdefined = IfcRoadTypeEnum.NOTDEFINED IfcRoleEnum = enum_namespace() -architect = express_getattr(IfcRoleEnum, 'ARCHITECT', INDETERMINATE) -buildingoperator = express_getattr(IfcRoleEnum, 'BUILDINGOPERATOR', INDETERMINATE) -buildingowner = express_getattr(IfcRoleEnum, 'BUILDINGOWNER', INDETERMINATE) -civilengineer = express_getattr(IfcRoleEnum, 'CIVILENGINEER', INDETERMINATE) -client = express_getattr(IfcRoleEnum, 'CLIENT', INDETERMINATE) -commissioningengineer = express_getattr(IfcRoleEnum, 'COMMISSIONINGENGINEER', INDETERMINATE) -constructionmanager = express_getattr(IfcRoleEnum, 'CONSTRUCTIONMANAGER', INDETERMINATE) -consultant = express_getattr(IfcRoleEnum, 'CONSULTANT', INDETERMINATE) -contractor = express_getattr(IfcRoleEnum, 'CONTRACTOR', INDETERMINATE) -costengineer = express_getattr(IfcRoleEnum, 'COSTENGINEER', INDETERMINATE) -electricalengineer = express_getattr(IfcRoleEnum, 'ELECTRICALENGINEER', INDETERMINATE) -engineer = express_getattr(IfcRoleEnum, 'ENGINEER', INDETERMINATE) -facilitiesmanager = express_getattr(IfcRoleEnum, 'FACILITIESMANAGER', INDETERMINATE) -fieldconstructionmanager = express_getattr(IfcRoleEnum, 'FIELDCONSTRUCTIONMANAGER', INDETERMINATE) -manufacturer = express_getattr(IfcRoleEnum, 'MANUFACTURER', INDETERMINATE) -mechanicalengineer = express_getattr(IfcRoleEnum, 'MECHANICALENGINEER', INDETERMINATE) -owner = express_getattr(IfcRoleEnum, 'OWNER', INDETERMINATE) -projectmanager = express_getattr(IfcRoleEnum, 'PROJECTMANAGER', INDETERMINATE) -reseller = express_getattr(IfcRoleEnum, 'RESELLER', INDETERMINATE) -structuralengineer = express_getattr(IfcRoleEnum, 'STRUCTURALENGINEER', INDETERMINATE) -subcontractor = express_getattr(IfcRoleEnum, 'SUBCONTRACTOR', INDETERMINATE) -supplier = express_getattr(IfcRoleEnum, 'SUPPLIER', INDETERMINATE) -userdefined = express_getattr(IfcRoleEnum, 'USERDEFINED', INDETERMINATE) +architect = IfcRoleEnum.ARCHITECT +buildingoperator = IfcRoleEnum.BUILDINGOPERATOR +buildingowner = IfcRoleEnum.BUILDINGOWNER +civilengineer = IfcRoleEnum.CIVILENGINEER +client = IfcRoleEnum.CLIENT +commissioningengineer = IfcRoleEnum.COMMISSIONINGENGINEER +constructionmanager = IfcRoleEnum.CONSTRUCTIONMANAGER +consultant = IfcRoleEnum.CONSULTANT +contractor = IfcRoleEnum.CONTRACTOR +costengineer = IfcRoleEnum.COSTENGINEER +electricalengineer = IfcRoleEnum.ELECTRICALENGINEER +engineer = IfcRoleEnum.ENGINEER +facilitiesmanager = IfcRoleEnum.FACILITIESMANAGER +fieldconstructionmanager = IfcRoleEnum.FIELDCONSTRUCTIONMANAGER +manufacturer = IfcRoleEnum.MANUFACTURER +mechanicalengineer = IfcRoleEnum.MECHANICALENGINEER +owner = IfcRoleEnum.OWNER +projectmanager = IfcRoleEnum.PROJECTMANAGER +reseller = IfcRoleEnum.RESELLER +structuralengineer = IfcRoleEnum.STRUCTURALENGINEER +subcontractor = IfcRoleEnum.SUBCONTRACTOR +supplier = IfcRoleEnum.SUPPLIER +userdefined = IfcRoleEnum.USERDEFINED IfcRoofTypeEnum = enum_namespace() -barrel_roof = express_getattr(IfcRoofTypeEnum, 'BARREL_ROOF', INDETERMINATE) -butterfly_roof = express_getattr(IfcRoofTypeEnum, 'BUTTERFLY_ROOF', INDETERMINATE) -dome_roof = express_getattr(IfcRoofTypeEnum, 'DOME_ROOF', INDETERMINATE) -flat_roof = express_getattr(IfcRoofTypeEnum, 'FLAT_ROOF', INDETERMINATE) -freeform = express_getattr(IfcRoofTypeEnum, 'FREEFORM', INDETERMINATE) -gable_roof = express_getattr(IfcRoofTypeEnum, 'GABLE_ROOF', INDETERMINATE) -gambrel_roof = express_getattr(IfcRoofTypeEnum, 'GAMBREL_ROOF', INDETERMINATE) -hipped_gable_roof = express_getattr(IfcRoofTypeEnum, 'HIPPED_GABLE_ROOF', INDETERMINATE) -hip_roof = express_getattr(IfcRoofTypeEnum, 'HIP_ROOF', INDETERMINATE) -mansard_roof = express_getattr(IfcRoofTypeEnum, 'MANSARD_ROOF', INDETERMINATE) -pavilion_roof = express_getattr(IfcRoofTypeEnum, 'PAVILION_ROOF', INDETERMINATE) -rainbow_roof = express_getattr(IfcRoofTypeEnum, 'RAINBOW_ROOF', INDETERMINATE) -shed_roof = express_getattr(IfcRoofTypeEnum, 'SHED_ROOF', INDETERMINATE) -userdefined = express_getattr(IfcRoofTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoofTypeEnum, 'NOTDEFINED', INDETERMINATE) +barrel_roof = IfcRoofTypeEnum.BARREL_ROOF +butterfly_roof = IfcRoofTypeEnum.BUTTERFLY_ROOF +dome_roof = IfcRoofTypeEnum.DOME_ROOF +flat_roof = IfcRoofTypeEnum.FLAT_ROOF +freeform = IfcRoofTypeEnum.FREEFORM +gable_roof = IfcRoofTypeEnum.GABLE_ROOF +gambrel_roof = IfcRoofTypeEnum.GAMBREL_ROOF +hipped_gable_roof = IfcRoofTypeEnum.HIPPED_GABLE_ROOF +hip_roof = IfcRoofTypeEnum.HIP_ROOF +mansard_roof = IfcRoofTypeEnum.MANSARD_ROOF +pavilion_roof = IfcRoofTypeEnum.PAVILION_ROOF +rainbow_roof = IfcRoofTypeEnum.RAINBOW_ROOF +shed_roof = IfcRoofTypeEnum.SHED_ROOF +userdefined = IfcRoofTypeEnum.USERDEFINED +notdefined = IfcRoofTypeEnum.NOTDEFINED IfcSIPrefix = enum_namespace() -atto = express_getattr(IfcSIPrefix, 'ATTO', INDETERMINATE) -centi = express_getattr(IfcSIPrefix, 'CENTI', INDETERMINATE) -deca = express_getattr(IfcSIPrefix, 'DECA', INDETERMINATE) -deci = express_getattr(IfcSIPrefix, 'DECI', INDETERMINATE) -exa = express_getattr(IfcSIPrefix, 'EXA', INDETERMINATE) -femto = express_getattr(IfcSIPrefix, 'FEMTO', INDETERMINATE) -giga = express_getattr(IfcSIPrefix, 'GIGA', INDETERMINATE) -hecto = express_getattr(IfcSIPrefix, 'HECTO', INDETERMINATE) -kilo = express_getattr(IfcSIPrefix, 'KILO', INDETERMINATE) -mega = express_getattr(IfcSIPrefix, 'MEGA', INDETERMINATE) -micro = express_getattr(IfcSIPrefix, 'MICRO', INDETERMINATE) -milli = express_getattr(IfcSIPrefix, 'MILLI', INDETERMINATE) -nano = express_getattr(IfcSIPrefix, 'NANO', INDETERMINATE) -peta = express_getattr(IfcSIPrefix, 'PETA', INDETERMINATE) -pico = express_getattr(IfcSIPrefix, 'PICO', INDETERMINATE) -tera = express_getattr(IfcSIPrefix, 'TERA', INDETERMINATE) +atto = IfcSIPrefix.ATTO +centi = IfcSIPrefix.CENTI +deca = IfcSIPrefix.DECA +deci = IfcSIPrefix.DECI +exa = IfcSIPrefix.EXA +femto = IfcSIPrefix.FEMTO +giga = IfcSIPrefix.GIGA +hecto = IfcSIPrefix.HECTO +kilo = IfcSIPrefix.KILO +mega = IfcSIPrefix.MEGA +micro = IfcSIPrefix.MICRO +milli = IfcSIPrefix.MILLI +nano = IfcSIPrefix.NANO +peta = IfcSIPrefix.PETA +pico = IfcSIPrefix.PICO +tera = IfcSIPrefix.TERA IfcSIUnitName = enum_namespace() -ampere = express_getattr(IfcSIUnitName, 'AMPERE', INDETERMINATE) -becquerel = express_getattr(IfcSIUnitName, 'BECQUEREL', INDETERMINATE) -candela = express_getattr(IfcSIUnitName, 'CANDELA', INDETERMINATE) -coulomb = express_getattr(IfcSIUnitName, 'COULOMB', INDETERMINATE) -cubic_metre = express_getattr(IfcSIUnitName, 'CUBIC_METRE', INDETERMINATE) -degree_celsius = express_getattr(IfcSIUnitName, 'DEGREE_CELSIUS', INDETERMINATE) -farad = express_getattr(IfcSIUnitName, 'FARAD', INDETERMINATE) -gram = express_getattr(IfcSIUnitName, 'GRAM', INDETERMINATE) -gray = express_getattr(IfcSIUnitName, 'GRAY', INDETERMINATE) -henry = express_getattr(IfcSIUnitName, 'HENRY', INDETERMINATE) -hertz = express_getattr(IfcSIUnitName, 'HERTZ', INDETERMINATE) -joule = express_getattr(IfcSIUnitName, 'JOULE', INDETERMINATE) -kelvin = express_getattr(IfcSIUnitName, 'KELVIN', INDETERMINATE) -lumen = express_getattr(IfcSIUnitName, 'LUMEN', INDETERMINATE) -lux = express_getattr(IfcSIUnitName, 'LUX', INDETERMINATE) -metre = express_getattr(IfcSIUnitName, 'METRE', INDETERMINATE) -mole = express_getattr(IfcSIUnitName, 'MOLE', INDETERMINATE) -newton = express_getattr(IfcSIUnitName, 'NEWTON', INDETERMINATE) -ohm = express_getattr(IfcSIUnitName, 'OHM', INDETERMINATE) -pascal = express_getattr(IfcSIUnitName, 'PASCAL', INDETERMINATE) -radian = express_getattr(IfcSIUnitName, 'RADIAN', INDETERMINATE) -second = express_getattr(IfcSIUnitName, 'SECOND', INDETERMINATE) -siemens = express_getattr(IfcSIUnitName, 'SIEMENS', INDETERMINATE) -sievert = express_getattr(IfcSIUnitName, 'SIEVERT', INDETERMINATE) -square_metre = express_getattr(IfcSIUnitName, 'SQUARE_METRE', INDETERMINATE) -steradian = express_getattr(IfcSIUnitName, 'STERADIAN', INDETERMINATE) -tesla = express_getattr(IfcSIUnitName, 'TESLA', INDETERMINATE) -volt = express_getattr(IfcSIUnitName, 'VOLT', INDETERMINATE) -watt = express_getattr(IfcSIUnitName, 'WATT', INDETERMINATE) -weber = express_getattr(IfcSIUnitName, 'WEBER', INDETERMINATE) +ampere = IfcSIUnitName.AMPERE +becquerel = IfcSIUnitName.BECQUEREL +candela = IfcSIUnitName.CANDELA +coulomb = IfcSIUnitName.COULOMB +cubic_metre = IfcSIUnitName.CUBIC_METRE +degree_celsius = IfcSIUnitName.DEGREE_CELSIUS +farad = IfcSIUnitName.FARAD +gram = IfcSIUnitName.GRAM +gray = IfcSIUnitName.GRAY +henry = IfcSIUnitName.HENRY +hertz = IfcSIUnitName.HERTZ +joule = IfcSIUnitName.JOULE +kelvin = IfcSIUnitName.KELVIN +lumen = IfcSIUnitName.LUMEN +lux = IfcSIUnitName.LUX +metre = IfcSIUnitName.METRE +mole = IfcSIUnitName.MOLE +newton = IfcSIUnitName.NEWTON +ohm = IfcSIUnitName.OHM +pascal = IfcSIUnitName.PASCAL +radian = IfcSIUnitName.RADIAN +second = IfcSIUnitName.SECOND +siemens = IfcSIUnitName.SIEMENS +sievert = IfcSIUnitName.SIEVERT +square_metre = IfcSIUnitName.SQUARE_METRE +steradian = IfcSIUnitName.STERADIAN +tesla = IfcSIUnitName.TESLA +volt = IfcSIUnitName.VOLT +watt = IfcSIUnitName.WATT +weber = IfcSIUnitName.WEBER IfcSanitaryTerminalTypeEnum = enum_namespace() -bath = express_getattr(IfcSanitaryTerminalTypeEnum, 'BATH', INDETERMINATE) -bidet = express_getattr(IfcSanitaryTerminalTypeEnum, 'BIDET', INDETERMINATE) -cistern = express_getattr(IfcSanitaryTerminalTypeEnum, 'CISTERN', INDETERMINATE) -sanitaryfountain = express_getattr(IfcSanitaryTerminalTypeEnum, 'SANITARYFOUNTAIN', INDETERMINATE) -shower = express_getattr(IfcSanitaryTerminalTypeEnum, 'SHOWER', INDETERMINATE) -sink = express_getattr(IfcSanitaryTerminalTypeEnum, 'SINK', INDETERMINATE) -toiletpan = express_getattr(IfcSanitaryTerminalTypeEnum, 'TOILETPAN', INDETERMINATE) -urinal = express_getattr(IfcSanitaryTerminalTypeEnum, 'URINAL', INDETERMINATE) -washhandbasin = express_getattr(IfcSanitaryTerminalTypeEnum, 'WASHHANDBASIN', INDETERMINATE) -wcseat = express_getattr(IfcSanitaryTerminalTypeEnum, 'WCSEAT', INDETERMINATE) -userdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +bath = IfcSanitaryTerminalTypeEnum.BATH +bidet = IfcSanitaryTerminalTypeEnum.BIDET +cistern = IfcSanitaryTerminalTypeEnum.CISTERN +sanitaryfountain = IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN +shower = IfcSanitaryTerminalTypeEnum.SHOWER +sink = IfcSanitaryTerminalTypeEnum.SINK +toiletpan = IfcSanitaryTerminalTypeEnum.TOILETPAN +urinal = IfcSanitaryTerminalTypeEnum.URINAL +washhandbasin = IfcSanitaryTerminalTypeEnum.WASHHANDBASIN +wcseat = IfcSanitaryTerminalTypeEnum.WCSEAT +userdefined = IfcSanitaryTerminalTypeEnum.USERDEFINED +notdefined = IfcSanitaryTerminalTypeEnum.NOTDEFINED IfcSectionTypeEnum = enum_namespace() -tapered = express_getattr(IfcSectionTypeEnum, 'TAPERED', INDETERMINATE) -uniform = express_getattr(IfcSectionTypeEnum, 'UNIFORM', INDETERMINATE) +tapered = IfcSectionTypeEnum.TAPERED +uniform = IfcSectionTypeEnum.UNIFORM IfcSensorTypeEnum = enum_namespace() -co2sensor = express_getattr(IfcSensorTypeEnum, 'CO2SENSOR', INDETERMINATE) -conductancesensor = express_getattr(IfcSensorTypeEnum, 'CONDUCTANCESENSOR', INDETERMINATE) -contactsensor = express_getattr(IfcSensorTypeEnum, 'CONTACTSENSOR', INDETERMINATE) -cosensor = express_getattr(IfcSensorTypeEnum, 'COSENSOR', INDETERMINATE) -earthquakesensor = express_getattr(IfcSensorTypeEnum, 'EARTHQUAKESENSOR', INDETERMINATE) -firesensor = express_getattr(IfcSensorTypeEnum, 'FIRESENSOR', INDETERMINATE) -flowsensor = express_getattr(IfcSensorTypeEnum, 'FLOWSENSOR', INDETERMINATE) -foreignobjectdetectionsensor = express_getattr(IfcSensorTypeEnum, 'FOREIGNOBJECTDETECTIONSENSOR', INDETERMINATE) -frostsensor = express_getattr(IfcSensorTypeEnum, 'FROSTSENSOR', INDETERMINATE) -gassensor = express_getattr(IfcSensorTypeEnum, 'GASSENSOR', INDETERMINATE) -heatsensor = express_getattr(IfcSensorTypeEnum, 'HEATSENSOR', INDETERMINATE) -humiditysensor = express_getattr(IfcSensorTypeEnum, 'HUMIDITYSENSOR', INDETERMINATE) -identifiersensor = express_getattr(IfcSensorTypeEnum, 'IDENTIFIERSENSOR', INDETERMINATE) -ionconcentrationsensor = express_getattr(IfcSensorTypeEnum, 'IONCONCENTRATIONSENSOR', INDETERMINATE) -levelsensor = express_getattr(IfcSensorTypeEnum, 'LEVELSENSOR', INDETERMINATE) -lightsensor = express_getattr(IfcSensorTypeEnum, 'LIGHTSENSOR', INDETERMINATE) -moisturesensor = express_getattr(IfcSensorTypeEnum, 'MOISTURESENSOR', INDETERMINATE) -movementsensor = express_getattr(IfcSensorTypeEnum, 'MOVEMENTSENSOR', INDETERMINATE) -obstaclesensor = express_getattr(IfcSensorTypeEnum, 'OBSTACLESENSOR', INDETERMINATE) -phsensor = express_getattr(IfcSensorTypeEnum, 'PHSENSOR', INDETERMINATE) -pressuresensor = express_getattr(IfcSensorTypeEnum, 'PRESSURESENSOR', INDETERMINATE) -radiationsensor = express_getattr(IfcSensorTypeEnum, 'RADIATIONSENSOR', INDETERMINATE) -radioactivitysensor = express_getattr(IfcSensorTypeEnum, 'RADIOACTIVITYSENSOR', INDETERMINATE) -rainsensor = express_getattr(IfcSensorTypeEnum, 'RAINSENSOR', INDETERMINATE) -smokesensor = express_getattr(IfcSensorTypeEnum, 'SMOKESENSOR', INDETERMINATE) -snowdepthsensor = express_getattr(IfcSensorTypeEnum, 'SNOWDEPTHSENSOR', INDETERMINATE) -soundsensor = express_getattr(IfcSensorTypeEnum, 'SOUNDSENSOR', INDETERMINATE) -temperaturesensor = express_getattr(IfcSensorTypeEnum, 'TEMPERATURESENSOR', INDETERMINATE) -trainsensor = express_getattr(IfcSensorTypeEnum, 'TRAINSENSOR', INDETERMINATE) -turnoutclosuresensor = express_getattr(IfcSensorTypeEnum, 'TURNOUTCLOSURESENSOR', INDETERMINATE) -wheelsensor = express_getattr(IfcSensorTypeEnum, 'WHEELSENSOR', INDETERMINATE) -windsensor = express_getattr(IfcSensorTypeEnum, 'WINDSENSOR', INDETERMINATE) -userdefined = express_getattr(IfcSensorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSensorTypeEnum, 'NOTDEFINED', INDETERMINATE) +co2sensor = IfcSensorTypeEnum.CO2SENSOR +conductancesensor = IfcSensorTypeEnum.CONDUCTANCESENSOR +contactsensor = IfcSensorTypeEnum.CONTACTSENSOR +cosensor = IfcSensorTypeEnum.COSENSOR +earthquakesensor = IfcSensorTypeEnum.EARTHQUAKESENSOR +firesensor = IfcSensorTypeEnum.FIRESENSOR +flowsensor = IfcSensorTypeEnum.FLOWSENSOR +foreignobjectdetectionsensor = IfcSensorTypeEnum.FOREIGNOBJECTDETECTIONSENSOR +frostsensor = IfcSensorTypeEnum.FROSTSENSOR +gassensor = IfcSensorTypeEnum.GASSENSOR +heatsensor = IfcSensorTypeEnum.HEATSENSOR +humiditysensor = IfcSensorTypeEnum.HUMIDITYSENSOR +identifiersensor = IfcSensorTypeEnum.IDENTIFIERSENSOR +ionconcentrationsensor = IfcSensorTypeEnum.IONCONCENTRATIONSENSOR +levelsensor = IfcSensorTypeEnum.LEVELSENSOR +lightsensor = IfcSensorTypeEnum.LIGHTSENSOR +moisturesensor = IfcSensorTypeEnum.MOISTURESENSOR +movementsensor = IfcSensorTypeEnum.MOVEMENTSENSOR +obstaclesensor = IfcSensorTypeEnum.OBSTACLESENSOR +phsensor = IfcSensorTypeEnum.PHSENSOR +pressuresensor = IfcSensorTypeEnum.PRESSURESENSOR +radiationsensor = IfcSensorTypeEnum.RADIATIONSENSOR +radioactivitysensor = IfcSensorTypeEnum.RADIOACTIVITYSENSOR +rainsensor = IfcSensorTypeEnum.RAINSENSOR +smokesensor = IfcSensorTypeEnum.SMOKESENSOR +snowdepthsensor = IfcSensorTypeEnum.SNOWDEPTHSENSOR +soundsensor = IfcSensorTypeEnum.SOUNDSENSOR +temperaturesensor = IfcSensorTypeEnum.TEMPERATURESENSOR +trainsensor = IfcSensorTypeEnum.TRAINSENSOR +turnoutclosuresensor = IfcSensorTypeEnum.TURNOUTCLOSURESENSOR +wheelsensor = IfcSensorTypeEnum.WHEELSENSOR +windsensor = IfcSensorTypeEnum.WINDSENSOR +userdefined = IfcSensorTypeEnum.USERDEFINED +notdefined = IfcSensorTypeEnum.NOTDEFINED IfcSequenceEnum = enum_namespace() -finish_finish = express_getattr(IfcSequenceEnum, 'FINISH_FINISH', INDETERMINATE) -finish_start = express_getattr(IfcSequenceEnum, 'FINISH_START', INDETERMINATE) -start_finish = express_getattr(IfcSequenceEnum, 'START_FINISH', INDETERMINATE) -start_start = express_getattr(IfcSequenceEnum, 'START_START', INDETERMINATE) -userdefined = express_getattr(IfcSequenceEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSequenceEnum, 'NOTDEFINED', INDETERMINATE) +finish_finish = IfcSequenceEnum.FINISH_FINISH +finish_start = IfcSequenceEnum.FINISH_START +start_finish = IfcSequenceEnum.START_FINISH +start_start = IfcSequenceEnum.START_START +userdefined = IfcSequenceEnum.USERDEFINED +notdefined = IfcSequenceEnum.NOTDEFINED IfcShadingDeviceTypeEnum = enum_namespace() -awning = express_getattr(IfcShadingDeviceTypeEnum, 'AWNING', INDETERMINATE) -jalousie = express_getattr(IfcShadingDeviceTypeEnum, 'JALOUSIE', INDETERMINATE) -shutter = express_getattr(IfcShadingDeviceTypeEnum, 'SHUTTER', INDETERMINATE) -userdefined = express_getattr(IfcShadingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcShadingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +awning = IfcShadingDeviceTypeEnum.AWNING +jalousie = IfcShadingDeviceTypeEnum.JALOUSIE +shutter = IfcShadingDeviceTypeEnum.SHUTTER +userdefined = IfcShadingDeviceTypeEnum.USERDEFINED +notdefined = IfcShadingDeviceTypeEnum.NOTDEFINED IfcSignTypeEnum = enum_namespace() -marker = express_getattr(IfcSignTypeEnum, 'MARKER', INDETERMINATE) -mirror = express_getattr(IfcSignTypeEnum, 'MIRROR', INDETERMINATE) -pictoral = express_getattr(IfcSignTypeEnum, 'PICTORAL', INDETERMINATE) -userdefined = express_getattr(IfcSignTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSignTypeEnum, 'NOTDEFINED', INDETERMINATE) +marker = IfcSignTypeEnum.MARKER +mirror = IfcSignTypeEnum.MIRROR +pictoral = IfcSignTypeEnum.PICTORAL +userdefined = IfcSignTypeEnum.USERDEFINED +notdefined = IfcSignTypeEnum.NOTDEFINED IfcSignalTypeEnum = enum_namespace() -audio = express_getattr(IfcSignalTypeEnum, 'AUDIO', INDETERMINATE) -mixed = express_getattr(IfcSignalTypeEnum, 'MIXED', INDETERMINATE) -visual = express_getattr(IfcSignalTypeEnum, 'VISUAL', INDETERMINATE) -userdefined = express_getattr(IfcSignalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSignalTypeEnum, 'NOTDEFINED', INDETERMINATE) +audio = IfcSignalTypeEnum.AUDIO +mixed = IfcSignalTypeEnum.MIXED +visual = IfcSignalTypeEnum.VISUAL +userdefined = IfcSignalTypeEnum.USERDEFINED +notdefined = IfcSignalTypeEnum.NOTDEFINED IfcSimplePropertyTemplateTypeEnum = enum_namespace() -p_boundedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_BOUNDEDVALUE', INDETERMINATE) -p_enumeratedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_ENUMERATEDVALUE', INDETERMINATE) -p_listvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_LISTVALUE', INDETERMINATE) -p_referencevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_REFERENCEVALUE', INDETERMINATE) -p_singlevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_SINGLEVALUE', INDETERMINATE) -p_tablevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_TABLEVALUE', INDETERMINATE) -q_area = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_AREA', INDETERMINATE) -q_count = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_COUNT', INDETERMINATE) -q_length = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_LENGTH', INDETERMINATE) -q_number = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_NUMBER', INDETERMINATE) -q_time = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_TIME', INDETERMINATE) -q_volume = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_VOLUME', INDETERMINATE) -q_weight = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_WEIGHT', INDETERMINATE) +p_boundedvalue = IfcSimplePropertyTemplateTypeEnum.P_BOUNDEDVALUE +p_enumeratedvalue = IfcSimplePropertyTemplateTypeEnum.P_ENUMERATEDVALUE +p_listvalue = IfcSimplePropertyTemplateTypeEnum.P_LISTVALUE +p_referencevalue = IfcSimplePropertyTemplateTypeEnum.P_REFERENCEVALUE +p_singlevalue = IfcSimplePropertyTemplateTypeEnum.P_SINGLEVALUE +p_tablevalue = IfcSimplePropertyTemplateTypeEnum.P_TABLEVALUE +q_area = IfcSimplePropertyTemplateTypeEnum.Q_AREA +q_count = IfcSimplePropertyTemplateTypeEnum.Q_COUNT +q_length = IfcSimplePropertyTemplateTypeEnum.Q_LENGTH +q_number = IfcSimplePropertyTemplateTypeEnum.Q_NUMBER +q_time = IfcSimplePropertyTemplateTypeEnum.Q_TIME +q_volume = IfcSimplePropertyTemplateTypeEnum.Q_VOLUME +q_weight = IfcSimplePropertyTemplateTypeEnum.Q_WEIGHT IfcSlabTypeEnum = enum_namespace() -approach_slab = express_getattr(IfcSlabTypeEnum, 'APPROACH_SLAB', INDETERMINATE) -baseslab = express_getattr(IfcSlabTypeEnum, 'BASESLAB', INDETERMINATE) -floor = express_getattr(IfcSlabTypeEnum, 'FLOOR', INDETERMINATE) -landing = express_getattr(IfcSlabTypeEnum, 'LANDING', INDETERMINATE) -paving = express_getattr(IfcSlabTypeEnum, 'PAVING', INDETERMINATE) -roof = express_getattr(IfcSlabTypeEnum, 'ROOF', INDETERMINATE) -sidewalk = express_getattr(IfcSlabTypeEnum, 'SIDEWALK', INDETERMINATE) -trackslab = express_getattr(IfcSlabTypeEnum, 'TRACKSLAB', INDETERMINATE) -wearing = express_getattr(IfcSlabTypeEnum, 'WEARING', INDETERMINATE) -userdefined = express_getattr(IfcSlabTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSlabTypeEnum, 'NOTDEFINED', INDETERMINATE) +approach_slab = IfcSlabTypeEnum.APPROACH_SLAB +baseslab = IfcSlabTypeEnum.BASESLAB +floor = IfcSlabTypeEnum.FLOOR +landing = IfcSlabTypeEnum.LANDING +paving = IfcSlabTypeEnum.PAVING +roof = IfcSlabTypeEnum.ROOF +sidewalk = IfcSlabTypeEnum.SIDEWALK +trackslab = IfcSlabTypeEnum.TRACKSLAB +wearing = IfcSlabTypeEnum.WEARING +userdefined = IfcSlabTypeEnum.USERDEFINED +notdefined = IfcSlabTypeEnum.NOTDEFINED IfcSolarDeviceTypeEnum = enum_namespace() -solarcollector = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARCOLLECTOR', INDETERMINATE) -solarpanel = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARPANEL', INDETERMINATE) -userdefined = express_getattr(IfcSolarDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSolarDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +solarcollector = IfcSolarDeviceTypeEnum.SOLARCOLLECTOR +solarpanel = IfcSolarDeviceTypeEnum.SOLARPANEL +userdefined = IfcSolarDeviceTypeEnum.USERDEFINED +notdefined = IfcSolarDeviceTypeEnum.NOTDEFINED IfcSpaceHeaterTypeEnum = enum_namespace() -convector = express_getattr(IfcSpaceHeaterTypeEnum, 'CONVECTOR', INDETERMINATE) -radiator = express_getattr(IfcSpaceHeaterTypeEnum, 'RADIATOR', INDETERMINATE) -userdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'NOTDEFINED', INDETERMINATE) +convector = IfcSpaceHeaterTypeEnum.CONVECTOR +radiator = IfcSpaceHeaterTypeEnum.RADIATOR +userdefined = IfcSpaceHeaterTypeEnum.USERDEFINED +notdefined = IfcSpaceHeaterTypeEnum.NOTDEFINED IfcSpaceTypeEnum = enum_namespace() -berth = express_getattr(IfcSpaceTypeEnum, 'BERTH', INDETERMINATE) -external = express_getattr(IfcSpaceTypeEnum, 'EXTERNAL', INDETERMINATE) -gfa = express_getattr(IfcSpaceTypeEnum, 'GFA', INDETERMINATE) -internal = express_getattr(IfcSpaceTypeEnum, 'INTERNAL', INDETERMINATE) -parking = express_getattr(IfcSpaceTypeEnum, 'PARKING', INDETERMINATE) -space = express_getattr(IfcSpaceTypeEnum, 'SPACE', INDETERMINATE) -userdefined = express_getattr(IfcSpaceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceTypeEnum, 'NOTDEFINED', INDETERMINATE) +berth = IfcSpaceTypeEnum.BERTH +external = IfcSpaceTypeEnum.EXTERNAL +gfa = IfcSpaceTypeEnum.GFA +internal = IfcSpaceTypeEnum.INTERNAL +parking = IfcSpaceTypeEnum.PARKING +space = IfcSpaceTypeEnum.SPACE +userdefined = IfcSpaceTypeEnum.USERDEFINED +notdefined = IfcSpaceTypeEnum.NOTDEFINED IfcSpatialZoneTypeEnum = enum_namespace() -construction = express_getattr(IfcSpatialZoneTypeEnum, 'CONSTRUCTION', INDETERMINATE) -firesafety = express_getattr(IfcSpatialZoneTypeEnum, 'FIRESAFETY', INDETERMINATE) -interference = express_getattr(IfcSpatialZoneTypeEnum, 'INTERFERENCE', INDETERMINATE) -lighting = express_getattr(IfcSpatialZoneTypeEnum, 'LIGHTING', INDETERMINATE) -occupancy = express_getattr(IfcSpatialZoneTypeEnum, 'OCCUPANCY', INDETERMINATE) -reservation = express_getattr(IfcSpatialZoneTypeEnum, 'RESERVATION', INDETERMINATE) -security = express_getattr(IfcSpatialZoneTypeEnum, 'SECURITY', INDETERMINATE) -thermal = express_getattr(IfcSpatialZoneTypeEnum, 'THERMAL', INDETERMINATE) -transport = express_getattr(IfcSpatialZoneTypeEnum, 'TRANSPORT', INDETERMINATE) -ventilation = express_getattr(IfcSpatialZoneTypeEnum, 'VENTILATION', INDETERMINATE) -userdefined = express_getattr(IfcSpatialZoneTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpatialZoneTypeEnum, 'NOTDEFINED', INDETERMINATE) +construction = IfcSpatialZoneTypeEnum.CONSTRUCTION +firesafety = IfcSpatialZoneTypeEnum.FIRESAFETY +interference = IfcSpatialZoneTypeEnum.INTERFERENCE +lighting = IfcSpatialZoneTypeEnum.LIGHTING +occupancy = IfcSpatialZoneTypeEnum.OCCUPANCY +reservation = IfcSpatialZoneTypeEnum.RESERVATION +security = IfcSpatialZoneTypeEnum.SECURITY +thermal = IfcSpatialZoneTypeEnum.THERMAL +transport = IfcSpatialZoneTypeEnum.TRANSPORT +ventilation = IfcSpatialZoneTypeEnum.VENTILATION +userdefined = IfcSpatialZoneTypeEnum.USERDEFINED +notdefined = IfcSpatialZoneTypeEnum.NOTDEFINED IfcStackTerminalTypeEnum = enum_namespace() -birdcage = express_getattr(IfcStackTerminalTypeEnum, 'BIRDCAGE', INDETERMINATE) -cowl = express_getattr(IfcStackTerminalTypeEnum, 'COWL', INDETERMINATE) -rainwaterhopper = express_getattr(IfcStackTerminalTypeEnum, 'RAINWATERHOPPER', INDETERMINATE) -userdefined = express_getattr(IfcStackTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStackTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +birdcage = IfcStackTerminalTypeEnum.BIRDCAGE +cowl = IfcStackTerminalTypeEnum.COWL +rainwaterhopper = IfcStackTerminalTypeEnum.RAINWATERHOPPER +userdefined = IfcStackTerminalTypeEnum.USERDEFINED +notdefined = IfcStackTerminalTypeEnum.NOTDEFINED IfcStairFlightTypeEnum = enum_namespace() -curved = express_getattr(IfcStairFlightTypeEnum, 'CURVED', INDETERMINATE) -freeform = express_getattr(IfcStairFlightTypeEnum, 'FREEFORM', INDETERMINATE) -spiral = express_getattr(IfcStairFlightTypeEnum, 'SPIRAL', INDETERMINATE) -straight = express_getattr(IfcStairFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -winder = express_getattr(IfcStairFlightTypeEnum, 'WINDER', INDETERMINATE) -userdefined = express_getattr(IfcStairFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +curved = IfcStairFlightTypeEnum.CURVED +freeform = IfcStairFlightTypeEnum.FREEFORM +spiral = IfcStairFlightTypeEnum.SPIRAL +straight = IfcStairFlightTypeEnum.STRAIGHT +winder = IfcStairFlightTypeEnum.WINDER +userdefined = IfcStairFlightTypeEnum.USERDEFINED +notdefined = IfcStairFlightTypeEnum.NOTDEFINED IfcStairTypeEnum = enum_namespace() -curved_run_stair = express_getattr(IfcStairTypeEnum, 'CURVED_RUN_STAIR', INDETERMINATE) -double_return_stair = express_getattr(IfcStairTypeEnum, 'DOUBLE_RETURN_STAIR', INDETERMINATE) -half_turn_stair = express_getattr(IfcStairTypeEnum, 'HALF_TURN_STAIR', INDETERMINATE) -half_winding_stair = express_getattr(IfcStairTypeEnum, 'HALF_WINDING_STAIR', INDETERMINATE) -ladder = express_getattr(IfcStairTypeEnum, 'LADDER', INDETERMINATE) -quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_TURN_STAIR', INDETERMINATE) -quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_WINDING_STAIR', INDETERMINATE) -spiral_stair = express_getattr(IfcStairTypeEnum, 'SPIRAL_STAIR', INDETERMINATE) -straight_run_stair = express_getattr(IfcStairTypeEnum, 'STRAIGHT_RUN_STAIR', INDETERMINATE) -three_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_TURN_STAIR', INDETERMINATE) -three_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_WINDING_STAIR', INDETERMINATE) -two_curved_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_CURVED_RUN_STAIR', INDETERMINATE) -two_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_TURN_STAIR', INDETERMINATE) -two_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_WINDING_STAIR', INDETERMINATE) -two_straight_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_STRAIGHT_RUN_STAIR', INDETERMINATE) -userdefined = express_getattr(IfcStairTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairTypeEnum, 'NOTDEFINED', INDETERMINATE) +curved_run_stair = IfcStairTypeEnum.CURVED_RUN_STAIR +double_return_stair = IfcStairTypeEnum.DOUBLE_RETURN_STAIR +half_turn_stair = IfcStairTypeEnum.HALF_TURN_STAIR +half_winding_stair = IfcStairTypeEnum.HALF_WINDING_STAIR +ladder = IfcStairTypeEnum.LADDER +quarter_turn_stair = IfcStairTypeEnum.QUARTER_TURN_STAIR +quarter_winding_stair = IfcStairTypeEnum.QUARTER_WINDING_STAIR +spiral_stair = IfcStairTypeEnum.SPIRAL_STAIR +straight_run_stair = IfcStairTypeEnum.STRAIGHT_RUN_STAIR +three_quarter_turn_stair = IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR +three_quarter_winding_stair = IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR +two_curved_run_stair = IfcStairTypeEnum.TWO_CURVED_RUN_STAIR +two_quarter_turn_stair = IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR +two_quarter_winding_stair = IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR +two_straight_run_stair = IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR +userdefined = IfcStairTypeEnum.USERDEFINED +notdefined = IfcStairTypeEnum.NOTDEFINED IfcStateEnum = enum_namespace() -locked = express_getattr(IfcStateEnum, 'LOCKED', INDETERMINATE) -readonly = express_getattr(IfcStateEnum, 'READONLY', INDETERMINATE) -readonlylocked = express_getattr(IfcStateEnum, 'READONLYLOCKED', INDETERMINATE) -readwrite = express_getattr(IfcStateEnum, 'READWRITE', INDETERMINATE) -readwritelocked = express_getattr(IfcStateEnum, 'READWRITELOCKED', INDETERMINATE) +locked = IfcStateEnum.LOCKED +readonly = IfcStateEnum.READONLY +readonlylocked = IfcStateEnum.READONLYLOCKED +readwrite = IfcStateEnum.READWRITE +readwritelocked = IfcStateEnum.READWRITELOCKED IfcStructuralCurveActivityTypeEnum = enum_namespace() -const = express_getattr(IfcStructuralCurveActivityTypeEnum, 'CONST', INDETERMINATE) -discrete = express_getattr(IfcStructuralCurveActivityTypeEnum, 'DISCRETE', INDETERMINATE) -equidistant = express_getattr(IfcStructuralCurveActivityTypeEnum, 'EQUIDISTANT', INDETERMINATE) -linear = express_getattr(IfcStructuralCurveActivityTypeEnum, 'LINEAR', INDETERMINATE) -parabola = express_getattr(IfcStructuralCurveActivityTypeEnum, 'PARABOLA', INDETERMINATE) -polygonal = express_getattr(IfcStructuralCurveActivityTypeEnum, 'POLYGONAL', INDETERMINATE) -sinus = express_getattr(IfcStructuralCurveActivityTypeEnum, 'SINUS', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +const = IfcStructuralCurveActivityTypeEnum.CONST +discrete = IfcStructuralCurveActivityTypeEnum.DISCRETE +equidistant = IfcStructuralCurveActivityTypeEnum.EQUIDISTANT +linear = IfcStructuralCurveActivityTypeEnum.LINEAR +parabola = IfcStructuralCurveActivityTypeEnum.PARABOLA +polygonal = IfcStructuralCurveActivityTypeEnum.POLYGONAL +sinus = IfcStructuralCurveActivityTypeEnum.SINUS +userdefined = IfcStructuralCurveActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveActivityTypeEnum.NOTDEFINED IfcStructuralCurveMemberTypeEnum = enum_namespace() -cable = express_getattr(IfcStructuralCurveMemberTypeEnum, 'CABLE', INDETERMINATE) -compression_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'COMPRESSION_MEMBER', INDETERMINATE) -pin_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'PIN_JOINED_MEMBER', INDETERMINATE) -rigid_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'RIGID_JOINED_MEMBER', INDETERMINATE) -tension_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'TENSION_MEMBER', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +cable = IfcStructuralCurveMemberTypeEnum.CABLE +compression_member = IfcStructuralCurveMemberTypeEnum.COMPRESSION_MEMBER +pin_joined_member = IfcStructuralCurveMemberTypeEnum.PIN_JOINED_MEMBER +rigid_joined_member = IfcStructuralCurveMemberTypeEnum.RIGID_JOINED_MEMBER +tension_member = IfcStructuralCurveMemberTypeEnum.TENSION_MEMBER +userdefined = IfcStructuralCurveMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveMemberTypeEnum.NOTDEFINED IfcStructuralSurfaceActivityTypeEnum = enum_namespace() -bilinear = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'BILINEAR', INDETERMINATE) -const = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'CONST', INDETERMINATE) -discrete = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'DISCRETE', INDETERMINATE) -isocontour = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'ISOCONTOUR', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +bilinear = IfcStructuralSurfaceActivityTypeEnum.BILINEAR +const = IfcStructuralSurfaceActivityTypeEnum.CONST +discrete = IfcStructuralSurfaceActivityTypeEnum.DISCRETE +isocontour = IfcStructuralSurfaceActivityTypeEnum.ISOCONTOUR +userdefined = IfcStructuralSurfaceActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceActivityTypeEnum.NOTDEFINED IfcStructuralSurfaceMemberTypeEnum = enum_namespace() -bending_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'BENDING_ELEMENT', INDETERMINATE) -membrane_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'MEMBRANE_ELEMENT', INDETERMINATE) -shell = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'SHELL', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +bending_element = IfcStructuralSurfaceMemberTypeEnum.BENDING_ELEMENT +membrane_element = IfcStructuralSurfaceMemberTypeEnum.MEMBRANE_ELEMENT +shell = IfcStructuralSurfaceMemberTypeEnum.SHELL +userdefined = IfcStructuralSurfaceMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceMemberTypeEnum.NOTDEFINED IfcSubContractResourceTypeEnum = enum_namespace() -purchase = express_getattr(IfcSubContractResourceTypeEnum, 'PURCHASE', INDETERMINATE) -work = express_getattr(IfcSubContractResourceTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcSubContractResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSubContractResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +purchase = IfcSubContractResourceTypeEnum.PURCHASE +work = IfcSubContractResourceTypeEnum.WORK +userdefined = IfcSubContractResourceTypeEnum.USERDEFINED +notdefined = IfcSubContractResourceTypeEnum.NOTDEFINED IfcSurfaceFeatureTypeEnum = enum_namespace() -defect = express_getattr(IfcSurfaceFeatureTypeEnum, 'DEFECT', INDETERMINATE) -hatchmarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'HATCHMARKING', INDETERMINATE) -linemarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'LINEMARKING', INDETERMINATE) -mark = express_getattr(IfcSurfaceFeatureTypeEnum, 'MARK', INDETERMINATE) -nonskidsurfacing = express_getattr(IfcSurfaceFeatureTypeEnum, 'NONSKIDSURFACING', INDETERMINATE) -pavementsurfacemarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'PAVEMENTSURFACEMARKING', INDETERMINATE) -rumblestrip = express_getattr(IfcSurfaceFeatureTypeEnum, 'RUMBLESTRIP', INDETERMINATE) -symbolmarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'SYMBOLMARKING', INDETERMINATE) -tag = express_getattr(IfcSurfaceFeatureTypeEnum, 'TAG', INDETERMINATE) -transverserumblestrip = express_getattr(IfcSurfaceFeatureTypeEnum, 'TRANSVERSERUMBLESTRIP', INDETERMINATE) -treatment = express_getattr(IfcSurfaceFeatureTypeEnum, 'TREATMENT', INDETERMINATE) -userdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +defect = IfcSurfaceFeatureTypeEnum.DEFECT +hatchmarking = IfcSurfaceFeatureTypeEnum.HATCHMARKING +linemarking = IfcSurfaceFeatureTypeEnum.LINEMARKING +mark = IfcSurfaceFeatureTypeEnum.MARK +nonskidsurfacing = IfcSurfaceFeatureTypeEnum.NONSKIDSURFACING +pavementsurfacemarking = IfcSurfaceFeatureTypeEnum.PAVEMENTSURFACEMARKING +rumblestrip = IfcSurfaceFeatureTypeEnum.RUMBLESTRIP +symbolmarking = IfcSurfaceFeatureTypeEnum.SYMBOLMARKING +tag = IfcSurfaceFeatureTypeEnum.TAG +transverserumblestrip = IfcSurfaceFeatureTypeEnum.TRANSVERSERUMBLESTRIP +treatment = IfcSurfaceFeatureTypeEnum.TREATMENT +userdefined = IfcSurfaceFeatureTypeEnum.USERDEFINED +notdefined = IfcSurfaceFeatureTypeEnum.NOTDEFINED IfcSurfaceSide = enum_namespace() -both = express_getattr(IfcSurfaceSide, 'BOTH', INDETERMINATE) -negative = express_getattr(IfcSurfaceSide, 'NEGATIVE', INDETERMINATE) -positive = express_getattr(IfcSurfaceSide, 'POSITIVE', INDETERMINATE) +both = IfcSurfaceSide.BOTH +negative = IfcSurfaceSide.NEGATIVE +positive = IfcSurfaceSide.POSITIVE IfcSwitchingDeviceTypeEnum = enum_namespace() -contactor = express_getattr(IfcSwitchingDeviceTypeEnum, 'CONTACTOR', INDETERMINATE) -dimmerswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'DIMMERSWITCH', INDETERMINATE) -emergencystop = express_getattr(IfcSwitchingDeviceTypeEnum, 'EMERGENCYSTOP', INDETERMINATE) -keypad = express_getattr(IfcSwitchingDeviceTypeEnum, 'KEYPAD', INDETERMINATE) -momentaryswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'MOMENTARYSWITCH', INDETERMINATE) -relay = express_getattr(IfcSwitchingDeviceTypeEnum, 'RELAY', INDETERMINATE) -selectorswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'SELECTORSWITCH', INDETERMINATE) -starter = express_getattr(IfcSwitchingDeviceTypeEnum, 'STARTER', INDETERMINATE) -start_and_stop_equipment = express_getattr(IfcSwitchingDeviceTypeEnum, 'START_AND_STOP_EQUIPMENT', INDETERMINATE) -switchdisconnector = express_getattr(IfcSwitchingDeviceTypeEnum, 'SWITCHDISCONNECTOR', INDETERMINATE) -toggleswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'TOGGLESWITCH', INDETERMINATE) -userdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +contactor = IfcSwitchingDeviceTypeEnum.CONTACTOR +dimmerswitch = IfcSwitchingDeviceTypeEnum.DIMMERSWITCH +emergencystop = IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP +keypad = IfcSwitchingDeviceTypeEnum.KEYPAD +momentaryswitch = IfcSwitchingDeviceTypeEnum.MOMENTARYSWITCH +relay = IfcSwitchingDeviceTypeEnum.RELAY +selectorswitch = IfcSwitchingDeviceTypeEnum.SELECTORSWITCH +starter = IfcSwitchingDeviceTypeEnum.STARTER +start_and_stop_equipment = IfcSwitchingDeviceTypeEnum.START_AND_STOP_EQUIPMENT +switchdisconnector = IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR +toggleswitch = IfcSwitchingDeviceTypeEnum.TOGGLESWITCH +userdefined = IfcSwitchingDeviceTypeEnum.USERDEFINED +notdefined = IfcSwitchingDeviceTypeEnum.NOTDEFINED IfcSystemFurnitureElementTypeEnum = enum_namespace() -panel = express_getattr(IfcSystemFurnitureElementTypeEnum, 'PANEL', INDETERMINATE) -subrack = express_getattr(IfcSystemFurnitureElementTypeEnum, 'SUBRACK', INDETERMINATE) -worksurface = express_getattr(IfcSystemFurnitureElementTypeEnum, 'WORKSURFACE', INDETERMINATE) -userdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +panel = IfcSystemFurnitureElementTypeEnum.PANEL +subrack = IfcSystemFurnitureElementTypeEnum.SUBRACK +worksurface = IfcSystemFurnitureElementTypeEnum.WORKSURFACE +userdefined = IfcSystemFurnitureElementTypeEnum.USERDEFINED +notdefined = IfcSystemFurnitureElementTypeEnum.NOTDEFINED IfcTankTypeEnum = enum_namespace() -basin = express_getattr(IfcTankTypeEnum, 'BASIN', INDETERMINATE) -breakpressure = express_getattr(IfcTankTypeEnum, 'BREAKPRESSURE', INDETERMINATE) -expansion = express_getattr(IfcTankTypeEnum, 'EXPANSION', INDETERMINATE) -feedandexpansion = express_getattr(IfcTankTypeEnum, 'FEEDANDEXPANSION', INDETERMINATE) -oilretentiontray = express_getattr(IfcTankTypeEnum, 'OILRETENTIONTRAY', INDETERMINATE) -pressurevessel = express_getattr(IfcTankTypeEnum, 'PRESSUREVESSEL', INDETERMINATE) -storage = express_getattr(IfcTankTypeEnum, 'STORAGE', INDETERMINATE) -vessel = express_getattr(IfcTankTypeEnum, 'VESSEL', INDETERMINATE) -userdefined = express_getattr(IfcTankTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTankTypeEnum, 'NOTDEFINED', INDETERMINATE) +basin = IfcTankTypeEnum.BASIN +breakpressure = IfcTankTypeEnum.BREAKPRESSURE +expansion = IfcTankTypeEnum.EXPANSION +feedandexpansion = IfcTankTypeEnum.FEEDANDEXPANSION +oilretentiontray = IfcTankTypeEnum.OILRETENTIONTRAY +pressurevessel = IfcTankTypeEnum.PRESSUREVESSEL +storage = IfcTankTypeEnum.STORAGE +vessel = IfcTankTypeEnum.VESSEL +userdefined = IfcTankTypeEnum.USERDEFINED +notdefined = IfcTankTypeEnum.NOTDEFINED IfcTaskDurationEnum = enum_namespace() -elapsedtime = express_getattr(IfcTaskDurationEnum, 'ELAPSEDTIME', INDETERMINATE) -worktime = express_getattr(IfcTaskDurationEnum, 'WORKTIME', INDETERMINATE) -notdefined = express_getattr(IfcTaskDurationEnum, 'NOTDEFINED', INDETERMINATE) +elapsedtime = IfcTaskDurationEnum.ELAPSEDTIME +worktime = IfcTaskDurationEnum.WORKTIME +notdefined = IfcTaskDurationEnum.NOTDEFINED IfcTaskTypeEnum = enum_namespace() -adjustment = express_getattr(IfcTaskTypeEnum, 'ADJUSTMENT', INDETERMINATE) -attendance = express_getattr(IfcTaskTypeEnum, 'ATTENDANCE', INDETERMINATE) -calibration = express_getattr(IfcTaskTypeEnum, 'CALIBRATION', INDETERMINATE) -construction = express_getattr(IfcTaskTypeEnum, 'CONSTRUCTION', INDETERMINATE) -demolition = express_getattr(IfcTaskTypeEnum, 'DEMOLITION', INDETERMINATE) -dismantle = express_getattr(IfcTaskTypeEnum, 'DISMANTLE', INDETERMINATE) -disposal = express_getattr(IfcTaskTypeEnum, 'DISPOSAL', INDETERMINATE) -emergency = express_getattr(IfcTaskTypeEnum, 'EMERGENCY', INDETERMINATE) -inspection = express_getattr(IfcTaskTypeEnum, 'INSPECTION', INDETERMINATE) -installation = express_getattr(IfcTaskTypeEnum, 'INSTALLATION', INDETERMINATE) -logistic = express_getattr(IfcTaskTypeEnum, 'LOGISTIC', INDETERMINATE) -maintenance = express_getattr(IfcTaskTypeEnum, 'MAINTENANCE', INDETERMINATE) -move = express_getattr(IfcTaskTypeEnum, 'MOVE', INDETERMINATE) -operation = express_getattr(IfcTaskTypeEnum, 'OPERATION', INDETERMINATE) -removal = express_getattr(IfcTaskTypeEnum, 'REMOVAL', INDETERMINATE) -renovation = express_getattr(IfcTaskTypeEnum, 'RENOVATION', INDETERMINATE) -safety = express_getattr(IfcTaskTypeEnum, 'SAFETY', INDETERMINATE) -shutdown = express_getattr(IfcTaskTypeEnum, 'SHUTDOWN', INDETERMINATE) -startup = express_getattr(IfcTaskTypeEnum, 'STARTUP', INDETERMINATE) -testing = express_getattr(IfcTaskTypeEnum, 'TESTING', INDETERMINATE) -troubleshooting = express_getattr(IfcTaskTypeEnum, 'TROUBLESHOOTING', INDETERMINATE) -userdefined = express_getattr(IfcTaskTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTaskTypeEnum, 'NOTDEFINED', INDETERMINATE) +adjustment = IfcTaskTypeEnum.ADJUSTMENT +attendance = IfcTaskTypeEnum.ATTENDANCE +calibration = IfcTaskTypeEnum.CALIBRATION +construction = IfcTaskTypeEnum.CONSTRUCTION +demolition = IfcTaskTypeEnum.DEMOLITION +dismantle = IfcTaskTypeEnum.DISMANTLE +disposal = IfcTaskTypeEnum.DISPOSAL +emergency = IfcTaskTypeEnum.EMERGENCY +inspection = IfcTaskTypeEnum.INSPECTION +installation = IfcTaskTypeEnum.INSTALLATION +logistic = IfcTaskTypeEnum.LOGISTIC +maintenance = IfcTaskTypeEnum.MAINTENANCE +move = IfcTaskTypeEnum.MOVE +operation = IfcTaskTypeEnum.OPERATION +removal = IfcTaskTypeEnum.REMOVAL +renovation = IfcTaskTypeEnum.RENOVATION +safety = IfcTaskTypeEnum.SAFETY +shutdown = IfcTaskTypeEnum.SHUTDOWN +startup = IfcTaskTypeEnum.STARTUP +testing = IfcTaskTypeEnum.TESTING +troubleshooting = IfcTaskTypeEnum.TROUBLESHOOTING +userdefined = IfcTaskTypeEnum.USERDEFINED +notdefined = IfcTaskTypeEnum.NOTDEFINED IfcTendonAnchorTypeEnum = enum_namespace() -coupler = express_getattr(IfcTendonAnchorTypeEnum, 'COUPLER', INDETERMINATE) -fixed_end = express_getattr(IfcTendonAnchorTypeEnum, 'FIXED_END', INDETERMINATE) -tensioning_end = express_getattr(IfcTendonAnchorTypeEnum, 'TENSIONING_END', INDETERMINATE) -userdefined = express_getattr(IfcTendonAnchorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonAnchorTypeEnum, 'NOTDEFINED', INDETERMINATE) +coupler = IfcTendonAnchorTypeEnum.COUPLER +fixed_end = IfcTendonAnchorTypeEnum.FIXED_END +tensioning_end = IfcTendonAnchorTypeEnum.TENSIONING_END +userdefined = IfcTendonAnchorTypeEnum.USERDEFINED +notdefined = IfcTendonAnchorTypeEnum.NOTDEFINED IfcTendonConduitTypeEnum = enum_namespace() -coupler = express_getattr(IfcTendonConduitTypeEnum, 'COUPLER', INDETERMINATE) -diabolo = express_getattr(IfcTendonConduitTypeEnum, 'DIABOLO', INDETERMINATE) -duct = express_getattr(IfcTendonConduitTypeEnum, 'DUCT', INDETERMINATE) -grouting_duct = express_getattr(IfcTendonConduitTypeEnum, 'GROUTING_DUCT', INDETERMINATE) -trumpet = express_getattr(IfcTendonConduitTypeEnum, 'TRUMPET', INDETERMINATE) -userdefined = express_getattr(IfcTendonConduitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonConduitTypeEnum, 'NOTDEFINED', INDETERMINATE) +coupler = IfcTendonConduitTypeEnum.COUPLER +diabolo = IfcTendonConduitTypeEnum.DIABOLO +duct = IfcTendonConduitTypeEnum.DUCT +grouting_duct = IfcTendonConduitTypeEnum.GROUTING_DUCT +trumpet = IfcTendonConduitTypeEnum.TRUMPET +userdefined = IfcTendonConduitTypeEnum.USERDEFINED +notdefined = IfcTendonConduitTypeEnum.NOTDEFINED IfcTendonTypeEnum = enum_namespace() -bar = express_getattr(IfcTendonTypeEnum, 'BAR', INDETERMINATE) -coated = express_getattr(IfcTendonTypeEnum, 'COATED', INDETERMINATE) -strand = express_getattr(IfcTendonTypeEnum, 'STRAND', INDETERMINATE) -wire = express_getattr(IfcTendonTypeEnum, 'WIRE', INDETERMINATE) -userdefined = express_getattr(IfcTendonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonTypeEnum, 'NOTDEFINED', INDETERMINATE) +bar = IfcTendonTypeEnum.BAR +coated = IfcTendonTypeEnum.COATED +strand = IfcTendonTypeEnum.STRAND +wire = IfcTendonTypeEnum.WIRE +userdefined = IfcTendonTypeEnum.USERDEFINED +notdefined = IfcTendonTypeEnum.NOTDEFINED IfcTextPath = enum_namespace() -down = express_getattr(IfcTextPath, 'DOWN', INDETERMINATE) -left = express_getattr(IfcTextPath, 'LEFT', INDETERMINATE) -right = express_getattr(IfcTextPath, 'RIGHT', INDETERMINATE) -up = express_getattr(IfcTextPath, 'UP', INDETERMINATE) +down = IfcTextPath.DOWN +left = IfcTextPath.LEFT +right = IfcTextPath.RIGHT +up = IfcTextPath.UP IfcTimeSeriesDataTypeEnum = enum_namespace() -continuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'CONTINUOUS', INDETERMINATE) -discrete = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETE', INDETERMINATE) -discretebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETEBINARY', INDETERMINATE) -piecewisebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISEBINARY', INDETERMINATE) -piecewiseconstant = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONSTANT', INDETERMINATE) -piecewisecontinuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONTINUOUS', INDETERMINATE) -notdefined = express_getattr(IfcTimeSeriesDataTypeEnum, 'NOTDEFINED', INDETERMINATE) +continuous = IfcTimeSeriesDataTypeEnum.CONTINUOUS +discrete = IfcTimeSeriesDataTypeEnum.DISCRETE +discretebinary = IfcTimeSeriesDataTypeEnum.DISCRETEBINARY +piecewisebinary = IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY +piecewiseconstant = IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT +piecewisecontinuous = IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS +notdefined = IfcTimeSeriesDataTypeEnum.NOTDEFINED IfcTrackElementTypeEnum = enum_namespace() -blockingdevice = express_getattr(IfcTrackElementTypeEnum, 'BLOCKINGDEVICE', INDETERMINATE) -derailer = express_getattr(IfcTrackElementTypeEnum, 'DERAILER', INDETERMINATE) -frog = express_getattr(IfcTrackElementTypeEnum, 'FROG', INDETERMINATE) -half_set_of_blades = express_getattr(IfcTrackElementTypeEnum, 'HALF_SET_OF_BLADES', INDETERMINATE) -sleeper = express_getattr(IfcTrackElementTypeEnum, 'SLEEPER', INDETERMINATE) -speedregulator = express_getattr(IfcTrackElementTypeEnum, 'SPEEDREGULATOR', INDETERMINATE) -trackendofalignment = express_getattr(IfcTrackElementTypeEnum, 'TRACKENDOFALIGNMENT', INDETERMINATE) -vehiclestop = express_getattr(IfcTrackElementTypeEnum, 'VEHICLESTOP', INDETERMINATE) -userdefined = express_getattr(IfcTrackElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTrackElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +blockingdevice = IfcTrackElementTypeEnum.BLOCKINGDEVICE +derailer = IfcTrackElementTypeEnum.DERAILER +frog = IfcTrackElementTypeEnum.FROG +half_set_of_blades = IfcTrackElementTypeEnum.HALF_SET_OF_BLADES +sleeper = IfcTrackElementTypeEnum.SLEEPER +speedregulator = IfcTrackElementTypeEnum.SPEEDREGULATOR +trackendofalignment = IfcTrackElementTypeEnum.TRACKENDOFALIGNMENT +vehiclestop = IfcTrackElementTypeEnum.VEHICLESTOP +userdefined = IfcTrackElementTypeEnum.USERDEFINED +notdefined = IfcTrackElementTypeEnum.NOTDEFINED IfcTransformerTypeEnum = enum_namespace() -chopper = express_getattr(IfcTransformerTypeEnum, 'CHOPPER', INDETERMINATE) -combined = express_getattr(IfcTransformerTypeEnum, 'COMBINED', INDETERMINATE) -current = express_getattr(IfcTransformerTypeEnum, 'CURRENT', INDETERMINATE) -frequency = express_getattr(IfcTransformerTypeEnum, 'FREQUENCY', INDETERMINATE) -inverter = express_getattr(IfcTransformerTypeEnum, 'INVERTER', INDETERMINATE) -rectifier = express_getattr(IfcTransformerTypeEnum, 'RECTIFIER', INDETERMINATE) -voltage = express_getattr(IfcTransformerTypeEnum, 'VOLTAGE', INDETERMINATE) -userdefined = express_getattr(IfcTransformerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransformerTypeEnum, 'NOTDEFINED', INDETERMINATE) +chopper = IfcTransformerTypeEnum.CHOPPER +combined = IfcTransformerTypeEnum.COMBINED +current = IfcTransformerTypeEnum.CURRENT +frequency = IfcTransformerTypeEnum.FREQUENCY +inverter = IfcTransformerTypeEnum.INVERTER +rectifier = IfcTransformerTypeEnum.RECTIFIER +voltage = IfcTransformerTypeEnum.VOLTAGE +userdefined = IfcTransformerTypeEnum.USERDEFINED +notdefined = IfcTransformerTypeEnum.NOTDEFINED IfcTransitionCode = enum_namespace() -continuous = express_getattr(IfcTransitionCode, 'CONTINUOUS', INDETERMINATE) -contsamegradient = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENT', INDETERMINATE) -contsamegradientsamecurvature = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENTSAMECURVATURE', INDETERMINATE) -discontinuous = express_getattr(IfcTransitionCode, 'DISCONTINUOUS', INDETERMINATE) +continuous = IfcTransitionCode.CONTINUOUS +contsamegradient = IfcTransitionCode.CONTSAMEGRADIENT +contsamegradientsamecurvature = IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE +discontinuous = IfcTransitionCode.DISCONTINUOUS IfcTransportElementTypeEnum = enum_namespace() -craneway = express_getattr(IfcTransportElementTypeEnum, 'CRANEWAY', INDETERMINATE) -elevator = express_getattr(IfcTransportElementTypeEnum, 'ELEVATOR', INDETERMINATE) -escalator = express_getattr(IfcTransportElementTypeEnum, 'ESCALATOR', INDETERMINATE) -haulinggear = express_getattr(IfcTransportElementTypeEnum, 'HAULINGGEAR', INDETERMINATE) -liftinggear = express_getattr(IfcTransportElementTypeEnum, 'LIFTINGGEAR', INDETERMINATE) -movingwalkway = express_getattr(IfcTransportElementTypeEnum, 'MOVINGWALKWAY', INDETERMINATE) -userdefined = express_getattr(IfcTransportElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransportElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +craneway = IfcTransportElementTypeEnum.CRANEWAY +elevator = IfcTransportElementTypeEnum.ELEVATOR +escalator = IfcTransportElementTypeEnum.ESCALATOR +haulinggear = IfcTransportElementTypeEnum.HAULINGGEAR +liftinggear = IfcTransportElementTypeEnum.LIFTINGGEAR +movingwalkway = IfcTransportElementTypeEnum.MOVINGWALKWAY +userdefined = IfcTransportElementTypeEnum.USERDEFINED +notdefined = IfcTransportElementTypeEnum.NOTDEFINED IfcTrimmingPreference = enum_namespace() -cartesian = express_getattr(IfcTrimmingPreference, 'CARTESIAN', INDETERMINATE) -parameter = express_getattr(IfcTrimmingPreference, 'PARAMETER', INDETERMINATE) -unspecified = express_getattr(IfcTrimmingPreference, 'UNSPECIFIED', INDETERMINATE) +cartesian = IfcTrimmingPreference.CARTESIAN +parameter = IfcTrimmingPreference.PARAMETER +unspecified = IfcTrimmingPreference.UNSPECIFIED IfcTubeBundleTypeEnum = enum_namespace() -finned = express_getattr(IfcTubeBundleTypeEnum, 'FINNED', INDETERMINATE) -userdefined = express_getattr(IfcTubeBundleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTubeBundleTypeEnum, 'NOTDEFINED', INDETERMINATE) +finned = IfcTubeBundleTypeEnum.FINNED +userdefined = IfcTubeBundleTypeEnum.USERDEFINED +notdefined = IfcTubeBundleTypeEnum.NOTDEFINED IfcUnitEnum = enum_namespace() -absorbeddoseunit = express_getattr(IfcUnitEnum, 'ABSORBEDDOSEUNIT', INDETERMINATE) -amountofsubstanceunit = express_getattr(IfcUnitEnum, 'AMOUNTOFSUBSTANCEUNIT', INDETERMINATE) -areaunit = express_getattr(IfcUnitEnum, 'AREAUNIT', INDETERMINATE) -doseequivalentunit = express_getattr(IfcUnitEnum, 'DOSEEQUIVALENTUNIT', INDETERMINATE) -electriccapacitanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCAPACITANCEUNIT', INDETERMINATE) -electricchargeunit = express_getattr(IfcUnitEnum, 'ELECTRICCHARGEUNIT', INDETERMINATE) -electricconductanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCONDUCTANCEUNIT', INDETERMINATE) -electriccurrentunit = express_getattr(IfcUnitEnum, 'ELECTRICCURRENTUNIT', INDETERMINATE) -electricresistanceunit = express_getattr(IfcUnitEnum, 'ELECTRICRESISTANCEUNIT', INDETERMINATE) -electricvoltageunit = express_getattr(IfcUnitEnum, 'ELECTRICVOLTAGEUNIT', INDETERMINATE) -energyunit = express_getattr(IfcUnitEnum, 'ENERGYUNIT', INDETERMINATE) -forceunit = express_getattr(IfcUnitEnum, 'FORCEUNIT', INDETERMINATE) -frequencyunit = express_getattr(IfcUnitEnum, 'FREQUENCYUNIT', INDETERMINATE) -illuminanceunit = express_getattr(IfcUnitEnum, 'ILLUMINANCEUNIT', INDETERMINATE) -inductanceunit = express_getattr(IfcUnitEnum, 'INDUCTANCEUNIT', INDETERMINATE) -lengthunit = express_getattr(IfcUnitEnum, 'LENGTHUNIT', INDETERMINATE) -luminousfluxunit = express_getattr(IfcUnitEnum, 'LUMINOUSFLUXUNIT', INDETERMINATE) -luminousintensityunit = express_getattr(IfcUnitEnum, 'LUMINOUSINTENSITYUNIT', INDETERMINATE) -magneticfluxdensityunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXDENSITYUNIT', INDETERMINATE) -magneticfluxunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXUNIT', INDETERMINATE) -massunit = express_getattr(IfcUnitEnum, 'MASSUNIT', INDETERMINATE) -planeangleunit = express_getattr(IfcUnitEnum, 'PLANEANGLEUNIT', INDETERMINATE) -powerunit = express_getattr(IfcUnitEnum, 'POWERUNIT', INDETERMINATE) -pressureunit = express_getattr(IfcUnitEnum, 'PRESSUREUNIT', INDETERMINATE) -radioactivityunit = express_getattr(IfcUnitEnum, 'RADIOACTIVITYUNIT', INDETERMINATE) -solidangleunit = express_getattr(IfcUnitEnum, 'SOLIDANGLEUNIT', INDETERMINATE) -thermodynamictemperatureunit = express_getattr(IfcUnitEnum, 'THERMODYNAMICTEMPERATUREUNIT', INDETERMINATE) -timeunit = express_getattr(IfcUnitEnum, 'TIMEUNIT', INDETERMINATE) -volumeunit = express_getattr(IfcUnitEnum, 'VOLUMEUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitEnum, 'USERDEFINED', INDETERMINATE) +absorbeddoseunit = IfcUnitEnum.ABSORBEDDOSEUNIT +amountofsubstanceunit = IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT +areaunit = IfcUnitEnum.AREAUNIT +doseequivalentunit = IfcUnitEnum.DOSEEQUIVALENTUNIT +electriccapacitanceunit = IfcUnitEnum.ELECTRICCAPACITANCEUNIT +electricchargeunit = IfcUnitEnum.ELECTRICCHARGEUNIT +electricconductanceunit = IfcUnitEnum.ELECTRICCONDUCTANCEUNIT +electriccurrentunit = IfcUnitEnum.ELECTRICCURRENTUNIT +electricresistanceunit = IfcUnitEnum.ELECTRICRESISTANCEUNIT +electricvoltageunit = IfcUnitEnum.ELECTRICVOLTAGEUNIT +energyunit = IfcUnitEnum.ENERGYUNIT +forceunit = IfcUnitEnum.FORCEUNIT +frequencyunit = IfcUnitEnum.FREQUENCYUNIT +illuminanceunit = IfcUnitEnum.ILLUMINANCEUNIT +inductanceunit = IfcUnitEnum.INDUCTANCEUNIT +lengthunit = IfcUnitEnum.LENGTHUNIT +luminousfluxunit = IfcUnitEnum.LUMINOUSFLUXUNIT +luminousintensityunit = IfcUnitEnum.LUMINOUSINTENSITYUNIT +magneticfluxdensityunit = IfcUnitEnum.MAGNETICFLUXDENSITYUNIT +magneticfluxunit = IfcUnitEnum.MAGNETICFLUXUNIT +massunit = IfcUnitEnum.MASSUNIT +planeangleunit = IfcUnitEnum.PLANEANGLEUNIT +powerunit = IfcUnitEnum.POWERUNIT +pressureunit = IfcUnitEnum.PRESSUREUNIT +radioactivityunit = IfcUnitEnum.RADIOACTIVITYUNIT +solidangleunit = IfcUnitEnum.SOLIDANGLEUNIT +thermodynamictemperatureunit = IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT +timeunit = IfcUnitEnum.TIMEUNIT +volumeunit = IfcUnitEnum.VOLUMEUNIT +userdefined = IfcUnitEnum.USERDEFINED IfcUnitaryControlElementTypeEnum = enum_namespace() -alarmpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'ALARMPANEL', INDETERMINATE) -basestationcontroller = express_getattr(IfcUnitaryControlElementTypeEnum, 'BASESTATIONCONTROLLER', INDETERMINATE) -combined = express_getattr(IfcUnitaryControlElementTypeEnum, 'COMBINED', INDETERMINATE) -controlpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'CONTROLPANEL', INDETERMINATE) -gasdetectionpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'GASDETECTIONPANEL', INDETERMINATE) -humidistat = express_getattr(IfcUnitaryControlElementTypeEnum, 'HUMIDISTAT', INDETERMINATE) -indicatorpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'INDICATORPANEL', INDETERMINATE) -mimicpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'MIMICPANEL', INDETERMINATE) -thermostat = express_getattr(IfcUnitaryControlElementTypeEnum, 'THERMOSTAT', INDETERMINATE) -weatherstation = express_getattr(IfcUnitaryControlElementTypeEnum, 'WEATHERSTATION', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +alarmpanel = IfcUnitaryControlElementTypeEnum.ALARMPANEL +basestationcontroller = IfcUnitaryControlElementTypeEnum.BASESTATIONCONTROLLER +combined = IfcUnitaryControlElementTypeEnum.COMBINED +controlpanel = IfcUnitaryControlElementTypeEnum.CONTROLPANEL +gasdetectionpanel = IfcUnitaryControlElementTypeEnum.GASDETECTIONPANEL +humidistat = IfcUnitaryControlElementTypeEnum.HUMIDISTAT +indicatorpanel = IfcUnitaryControlElementTypeEnum.INDICATORPANEL +mimicpanel = IfcUnitaryControlElementTypeEnum.MIMICPANEL +thermostat = IfcUnitaryControlElementTypeEnum.THERMOSTAT +weatherstation = IfcUnitaryControlElementTypeEnum.WEATHERSTATION +userdefined = IfcUnitaryControlElementTypeEnum.USERDEFINED +notdefined = IfcUnitaryControlElementTypeEnum.NOTDEFINED IfcUnitaryEquipmentTypeEnum = enum_namespace() -airconditioningunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRCONDITIONINGUNIT', INDETERMINATE) -airhandler = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRHANDLER', INDETERMINATE) -dehumidifier = express_getattr(IfcUnitaryEquipmentTypeEnum, 'DEHUMIDIFIER', INDETERMINATE) -rooftopunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'ROOFTOPUNIT', INDETERMINATE) -splitsystem = express_getattr(IfcUnitaryEquipmentTypeEnum, 'SPLITSYSTEM', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +airconditioningunit = IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT +airhandler = IfcUnitaryEquipmentTypeEnum.AIRHANDLER +dehumidifier = IfcUnitaryEquipmentTypeEnum.DEHUMIDIFIER +rooftopunit = IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT +splitsystem = IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM +userdefined = IfcUnitaryEquipmentTypeEnum.USERDEFINED +notdefined = IfcUnitaryEquipmentTypeEnum.NOTDEFINED IfcValveTypeEnum = enum_namespace() -airrelease = express_getattr(IfcValveTypeEnum, 'AIRRELEASE', INDETERMINATE) -antivacuum = express_getattr(IfcValveTypeEnum, 'ANTIVACUUM', INDETERMINATE) -changeover = express_getattr(IfcValveTypeEnum, 'CHANGEOVER', INDETERMINATE) -check = express_getattr(IfcValveTypeEnum, 'CHECK', INDETERMINATE) -commissioning = express_getattr(IfcValveTypeEnum, 'COMMISSIONING', INDETERMINATE) -diverting = express_getattr(IfcValveTypeEnum, 'DIVERTING', INDETERMINATE) -doublecheck = express_getattr(IfcValveTypeEnum, 'DOUBLECHECK', INDETERMINATE) -doubleregulating = express_getattr(IfcValveTypeEnum, 'DOUBLEREGULATING', INDETERMINATE) -drawoffcock = express_getattr(IfcValveTypeEnum, 'DRAWOFFCOCK', INDETERMINATE) -faucet = express_getattr(IfcValveTypeEnum, 'FAUCET', INDETERMINATE) -flushing = express_getattr(IfcValveTypeEnum, 'FLUSHING', INDETERMINATE) -gascock = express_getattr(IfcValveTypeEnum, 'GASCOCK', INDETERMINATE) -gastap = express_getattr(IfcValveTypeEnum, 'GASTAP', INDETERMINATE) -isolating = express_getattr(IfcValveTypeEnum, 'ISOLATING', INDETERMINATE) -mixing = express_getattr(IfcValveTypeEnum, 'MIXING', INDETERMINATE) -pressurereducing = express_getattr(IfcValveTypeEnum, 'PRESSUREREDUCING', INDETERMINATE) -pressurerelief = express_getattr(IfcValveTypeEnum, 'PRESSURERELIEF', INDETERMINATE) -regulating = express_getattr(IfcValveTypeEnum, 'REGULATING', INDETERMINATE) -safetycutoff = express_getattr(IfcValveTypeEnum, 'SAFETYCUTOFF', INDETERMINATE) -steamtrap = express_getattr(IfcValveTypeEnum, 'STEAMTRAP', INDETERMINATE) -stopcock = express_getattr(IfcValveTypeEnum, 'STOPCOCK', INDETERMINATE) -userdefined = express_getattr(IfcValveTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcValveTypeEnum, 'NOTDEFINED', INDETERMINATE) +airrelease = IfcValveTypeEnum.AIRRELEASE +antivacuum = IfcValveTypeEnum.ANTIVACUUM +changeover = IfcValveTypeEnum.CHANGEOVER +check = IfcValveTypeEnum.CHECK +commissioning = IfcValveTypeEnum.COMMISSIONING +diverting = IfcValveTypeEnum.DIVERTING +doublecheck = IfcValveTypeEnum.DOUBLECHECK +doubleregulating = IfcValveTypeEnum.DOUBLEREGULATING +drawoffcock = IfcValveTypeEnum.DRAWOFFCOCK +faucet = IfcValveTypeEnum.FAUCET +flushing = IfcValveTypeEnum.FLUSHING +gascock = IfcValveTypeEnum.GASCOCK +gastap = IfcValveTypeEnum.GASTAP +isolating = IfcValveTypeEnum.ISOLATING +mixing = IfcValveTypeEnum.MIXING +pressurereducing = IfcValveTypeEnum.PRESSUREREDUCING +pressurerelief = IfcValveTypeEnum.PRESSURERELIEF +regulating = IfcValveTypeEnum.REGULATING +safetycutoff = IfcValveTypeEnum.SAFETYCUTOFF +steamtrap = IfcValveTypeEnum.STEAMTRAP +stopcock = IfcValveTypeEnum.STOPCOCK +userdefined = IfcValveTypeEnum.USERDEFINED +notdefined = IfcValveTypeEnum.NOTDEFINED IfcVehicleTypeEnum = enum_namespace() -cargo = express_getattr(IfcVehicleTypeEnum, 'CARGO', INDETERMINATE) -rollingstock = express_getattr(IfcVehicleTypeEnum, 'ROLLINGSTOCK', INDETERMINATE) -vehicle = express_getattr(IfcVehicleTypeEnum, 'VEHICLE', INDETERMINATE) -vehicleair = express_getattr(IfcVehicleTypeEnum, 'VEHICLEAIR', INDETERMINATE) -vehiclemarine = express_getattr(IfcVehicleTypeEnum, 'VEHICLEMARINE', INDETERMINATE) -vehicletracked = express_getattr(IfcVehicleTypeEnum, 'VEHICLETRACKED', INDETERMINATE) -vehiclewheeled = express_getattr(IfcVehicleTypeEnum, 'VEHICLEWHEELED', INDETERMINATE) -userdefined = express_getattr(IfcVehicleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVehicleTypeEnum, 'NOTDEFINED', INDETERMINATE) +cargo = IfcVehicleTypeEnum.CARGO +rollingstock = IfcVehicleTypeEnum.ROLLINGSTOCK +vehicle = IfcVehicleTypeEnum.VEHICLE +vehicleair = IfcVehicleTypeEnum.VEHICLEAIR +vehiclemarine = IfcVehicleTypeEnum.VEHICLEMARINE +vehicletracked = IfcVehicleTypeEnum.VEHICLETRACKED +vehiclewheeled = IfcVehicleTypeEnum.VEHICLEWHEELED +userdefined = IfcVehicleTypeEnum.USERDEFINED +notdefined = IfcVehicleTypeEnum.NOTDEFINED IfcVibrationDamperTypeEnum = enum_namespace() -axial_yield = express_getattr(IfcVibrationDamperTypeEnum, 'AXIAL_YIELD', INDETERMINATE) -bending_yield = express_getattr(IfcVibrationDamperTypeEnum, 'BENDING_YIELD', INDETERMINATE) -friction = express_getattr(IfcVibrationDamperTypeEnum, 'FRICTION', INDETERMINATE) -rubber = express_getattr(IfcVibrationDamperTypeEnum, 'RUBBER', INDETERMINATE) -shear_yield = express_getattr(IfcVibrationDamperTypeEnum, 'SHEAR_YIELD', INDETERMINATE) -viscous = express_getattr(IfcVibrationDamperTypeEnum, 'VISCOUS', INDETERMINATE) -userdefined = express_getattr(IfcVibrationDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +axial_yield = IfcVibrationDamperTypeEnum.AXIAL_YIELD +bending_yield = IfcVibrationDamperTypeEnum.BENDING_YIELD +friction = IfcVibrationDamperTypeEnum.FRICTION +rubber = IfcVibrationDamperTypeEnum.RUBBER +shear_yield = IfcVibrationDamperTypeEnum.SHEAR_YIELD +viscous = IfcVibrationDamperTypeEnum.VISCOUS +userdefined = IfcVibrationDamperTypeEnum.USERDEFINED +notdefined = IfcVibrationDamperTypeEnum.NOTDEFINED IfcVibrationIsolatorTypeEnum = enum_namespace() -base = express_getattr(IfcVibrationIsolatorTypeEnum, 'BASE', INDETERMINATE) -compression = express_getattr(IfcVibrationIsolatorTypeEnum, 'COMPRESSION', INDETERMINATE) -spring = express_getattr(IfcVibrationIsolatorTypeEnum, 'SPRING', INDETERMINATE) -userdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +base = IfcVibrationIsolatorTypeEnum.BASE +compression = IfcVibrationIsolatorTypeEnum.COMPRESSION +spring = IfcVibrationIsolatorTypeEnum.SPRING +userdefined = IfcVibrationIsolatorTypeEnum.USERDEFINED +notdefined = IfcVibrationIsolatorTypeEnum.NOTDEFINED IfcVirtualElementTypeEnum = enum_namespace() -boundary = express_getattr(IfcVirtualElementTypeEnum, 'BOUNDARY', INDETERMINATE) -clearance = express_getattr(IfcVirtualElementTypeEnum, 'CLEARANCE', INDETERMINATE) -provisionforvoid = express_getattr(IfcVirtualElementTypeEnum, 'PROVISIONFORVOID', INDETERMINATE) -userdefined = express_getattr(IfcVirtualElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVirtualElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +boundary = IfcVirtualElementTypeEnum.BOUNDARY +clearance = IfcVirtualElementTypeEnum.CLEARANCE +provisionforvoid = IfcVirtualElementTypeEnum.PROVISIONFORVOID +userdefined = IfcVirtualElementTypeEnum.USERDEFINED +notdefined = IfcVirtualElementTypeEnum.NOTDEFINED IfcVoidingFeatureTypeEnum = enum_namespace() -chamfer = express_getattr(IfcVoidingFeatureTypeEnum, 'CHAMFER', INDETERMINATE) -cutout = express_getattr(IfcVoidingFeatureTypeEnum, 'CUTOUT', INDETERMINATE) -edge = express_getattr(IfcVoidingFeatureTypeEnum, 'EDGE', INDETERMINATE) -hole = express_getattr(IfcVoidingFeatureTypeEnum, 'HOLE', INDETERMINATE) -miter = express_getattr(IfcVoidingFeatureTypeEnum, 'MITER', INDETERMINATE) -notch = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTCH', INDETERMINATE) -userdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +chamfer = IfcVoidingFeatureTypeEnum.CHAMFER +cutout = IfcVoidingFeatureTypeEnum.CUTOUT +edge = IfcVoidingFeatureTypeEnum.EDGE +hole = IfcVoidingFeatureTypeEnum.HOLE +miter = IfcVoidingFeatureTypeEnum.MITER +notch = IfcVoidingFeatureTypeEnum.NOTCH +userdefined = IfcVoidingFeatureTypeEnum.USERDEFINED +notdefined = IfcVoidingFeatureTypeEnum.NOTDEFINED IfcWallTypeEnum = enum_namespace() -elementedwall = express_getattr(IfcWallTypeEnum, 'ELEMENTEDWALL', INDETERMINATE) -movable = express_getattr(IfcWallTypeEnum, 'MOVABLE', INDETERMINATE) -parapet = express_getattr(IfcWallTypeEnum, 'PARAPET', INDETERMINATE) -partitioning = express_getattr(IfcWallTypeEnum, 'PARTITIONING', INDETERMINATE) -plumbingwall = express_getattr(IfcWallTypeEnum, 'PLUMBINGWALL', INDETERMINATE) -polygonal = express_getattr(IfcWallTypeEnum, 'POLYGONAL', INDETERMINATE) -retainingwall = express_getattr(IfcWallTypeEnum, 'RETAININGWALL', INDETERMINATE) -shear = express_getattr(IfcWallTypeEnum, 'SHEAR', INDETERMINATE) -solidwall = express_getattr(IfcWallTypeEnum, 'SOLIDWALL', INDETERMINATE) -standard = express_getattr(IfcWallTypeEnum, 'STANDARD', INDETERMINATE) -wavewall = express_getattr(IfcWallTypeEnum, 'WAVEWALL', INDETERMINATE) -userdefined = express_getattr(IfcWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +elementedwall = IfcWallTypeEnum.ELEMENTEDWALL +movable = IfcWallTypeEnum.MOVABLE +parapet = IfcWallTypeEnum.PARAPET +partitioning = IfcWallTypeEnum.PARTITIONING +plumbingwall = IfcWallTypeEnum.PLUMBINGWALL +polygonal = IfcWallTypeEnum.POLYGONAL +retainingwall = IfcWallTypeEnum.RETAININGWALL +shear = IfcWallTypeEnum.SHEAR +solidwall = IfcWallTypeEnum.SOLIDWALL +standard = IfcWallTypeEnum.STANDARD +wavewall = IfcWallTypeEnum.WAVEWALL +userdefined = IfcWallTypeEnum.USERDEFINED +notdefined = IfcWallTypeEnum.NOTDEFINED IfcWasteTerminalTypeEnum = enum_namespace() -floortrap = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORTRAP', INDETERMINATE) -floorwaste = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORWASTE', INDETERMINATE) -gullysump = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYSUMP', INDETERMINATE) -gullytrap = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYTRAP', INDETERMINATE) -roofdrain = express_getattr(IfcWasteTerminalTypeEnum, 'ROOFDRAIN', INDETERMINATE) -wastedisposalunit = express_getattr(IfcWasteTerminalTypeEnum, 'WASTEDISPOSALUNIT', INDETERMINATE) -wastetrap = express_getattr(IfcWasteTerminalTypeEnum, 'WASTETRAP', INDETERMINATE) -userdefined = express_getattr(IfcWasteTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWasteTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +floortrap = IfcWasteTerminalTypeEnum.FLOORTRAP +floorwaste = IfcWasteTerminalTypeEnum.FLOORWASTE +gullysump = IfcWasteTerminalTypeEnum.GULLYSUMP +gullytrap = IfcWasteTerminalTypeEnum.GULLYTRAP +roofdrain = IfcWasteTerminalTypeEnum.ROOFDRAIN +wastedisposalunit = IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT +wastetrap = IfcWasteTerminalTypeEnum.WASTETRAP +userdefined = IfcWasteTerminalTypeEnum.USERDEFINED +notdefined = IfcWasteTerminalTypeEnum.NOTDEFINED IfcWindowPanelOperationEnum = enum_namespace() -bottomhung = express_getattr(IfcWindowPanelOperationEnum, 'BOTTOMHUNG', INDETERMINATE) -fixedcasement = express_getattr(IfcWindowPanelOperationEnum, 'FIXEDCASEMENT', INDETERMINATE) -otheroperation = express_getattr(IfcWindowPanelOperationEnum, 'OTHEROPERATION', INDETERMINATE) -pivothorizontal = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTHORIZONTAL', INDETERMINATE) -pivotvertical = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTVERTICAL', INDETERMINATE) -removablecasement = express_getattr(IfcWindowPanelOperationEnum, 'REMOVABLECASEMENT', INDETERMINATE) -sidehunglefthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGLEFTHAND', INDETERMINATE) -sidehungrighthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGRIGHTHAND', INDETERMINATE) -slidinghorizontal = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGHORIZONTAL', INDETERMINATE) -slidingvertical = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGVERTICAL', INDETERMINATE) -tiltandturnlefthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNLEFTHAND', INDETERMINATE) -tiltandturnrighthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNRIGHTHAND', INDETERMINATE) -tophung = express_getattr(IfcWindowPanelOperationEnum, 'TOPHUNG', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +bottomhung = IfcWindowPanelOperationEnum.BOTTOMHUNG +fixedcasement = IfcWindowPanelOperationEnum.FIXEDCASEMENT +otheroperation = IfcWindowPanelOperationEnum.OTHEROPERATION +pivothorizontal = IfcWindowPanelOperationEnum.PIVOTHORIZONTAL +pivotvertical = IfcWindowPanelOperationEnum.PIVOTVERTICAL +removablecasement = IfcWindowPanelOperationEnum.REMOVABLECASEMENT +sidehunglefthand = IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND +sidehungrighthand = IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND +slidinghorizontal = IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL +slidingvertical = IfcWindowPanelOperationEnum.SLIDINGVERTICAL +tiltandturnlefthand = IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND +tiltandturnrighthand = IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND +tophung = IfcWindowPanelOperationEnum.TOPHUNG +notdefined = IfcWindowPanelOperationEnum.NOTDEFINED IfcWindowPanelPositionEnum = enum_namespace() -bottom = express_getattr(IfcWindowPanelPositionEnum, 'BOTTOM', INDETERMINATE) -left = express_getattr(IfcWindowPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcWindowPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcWindowPanelPositionEnum, 'RIGHT', INDETERMINATE) -top = express_getattr(IfcWindowPanelPositionEnum, 'TOP', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +bottom = IfcWindowPanelPositionEnum.BOTTOM +left = IfcWindowPanelPositionEnum.LEFT +middle = IfcWindowPanelPositionEnum.MIDDLE +right = IfcWindowPanelPositionEnum.RIGHT +top = IfcWindowPanelPositionEnum.TOP +notdefined = IfcWindowPanelPositionEnum.NOTDEFINED IfcWindowStyleConstructionEnum = enum_namespace() -aluminium = express_getattr(IfcWindowStyleConstructionEnum, 'ALUMINIUM', INDETERMINATE) -aluminium_wood = express_getattr(IfcWindowStyleConstructionEnum, 'ALUMINIUM_WOOD', INDETERMINATE) -high_grade_steel = express_getattr(IfcWindowStyleConstructionEnum, 'HIGH_GRADE_STEEL', INDETERMINATE) -other_construction = express_getattr(IfcWindowStyleConstructionEnum, 'OTHER_CONSTRUCTION', INDETERMINATE) -plastic = express_getattr(IfcWindowStyleConstructionEnum, 'PLASTIC', INDETERMINATE) -steel = express_getattr(IfcWindowStyleConstructionEnum, 'STEEL', INDETERMINATE) -wood = express_getattr(IfcWindowStyleConstructionEnum, 'WOOD', INDETERMINATE) -notdefined = express_getattr(IfcWindowStyleConstructionEnum, 'NOTDEFINED', INDETERMINATE) +aluminium = IfcWindowStyleConstructionEnum.ALUMINIUM +aluminium_wood = IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD +high_grade_steel = IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL +other_construction = IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION +plastic = IfcWindowStyleConstructionEnum.PLASTIC +steel = IfcWindowStyleConstructionEnum.STEEL +wood = IfcWindowStyleConstructionEnum.WOOD +notdefined = IfcWindowStyleConstructionEnum.NOTDEFINED IfcWindowStyleOperationEnum = enum_namespace() -double_panel_horizontal = express_getattr(IfcWindowStyleOperationEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowStyleOperationEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -single_panel = express_getattr(IfcWindowStyleOperationEnum, 'SINGLE_PANEL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowStyleOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowStyleOperationEnum, 'NOTDEFINED', INDETERMINATE) +double_panel_horizontal = IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL +double_panel_vertical = IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL +single_panel = IfcWindowStyleOperationEnum.SINGLE_PANEL +triple_panel_bottom = IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM +triple_panel_horizontal = IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL +triple_panel_left = IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT +triple_panel_top = IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP +triple_panel_vertical = IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL +userdefined = IfcWindowStyleOperationEnum.USERDEFINED +notdefined = IfcWindowStyleOperationEnum.NOTDEFINED IfcWindowTypeEnum = enum_namespace() -lightdome = express_getattr(IfcWindowTypeEnum, 'LIGHTDOME', INDETERMINATE) -skylight = express_getattr(IfcWindowTypeEnum, 'SKYLIGHT', INDETERMINATE) -window = express_getattr(IfcWindowTypeEnum, 'WINDOW', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypeEnum, 'NOTDEFINED', INDETERMINATE) +lightdome = IfcWindowTypeEnum.LIGHTDOME +skylight = IfcWindowTypeEnum.SKYLIGHT +window = IfcWindowTypeEnum.WINDOW +userdefined = IfcWindowTypeEnum.USERDEFINED +notdefined = IfcWindowTypeEnum.NOTDEFINED IfcWindowTypePartitioningEnum = enum_namespace() -double_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -single_panel = express_getattr(IfcWindowTypePartitioningEnum, 'SINGLE_PANEL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypePartitioningEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypePartitioningEnum, 'NOTDEFINED', INDETERMINATE) +double_panel_horizontal = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_HORIZONTAL +double_panel_vertical = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_VERTICAL +single_panel = IfcWindowTypePartitioningEnum.SINGLE_PANEL +triple_panel_bottom = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_BOTTOM +triple_panel_horizontal = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_HORIZONTAL +triple_panel_left = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_RIGHT +triple_panel_top = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_TOP +triple_panel_vertical = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_VERTICAL +userdefined = IfcWindowTypePartitioningEnum.USERDEFINED +notdefined = IfcWindowTypePartitioningEnum.NOTDEFINED IfcWorkCalendarTypeEnum = enum_namespace() -firstshift = express_getattr(IfcWorkCalendarTypeEnum, 'FIRSTSHIFT', INDETERMINATE) -secondshift = express_getattr(IfcWorkCalendarTypeEnum, 'SECONDSHIFT', INDETERMINATE) -thirdshift = express_getattr(IfcWorkCalendarTypeEnum, 'THIRDSHIFT', INDETERMINATE) -userdefined = express_getattr(IfcWorkCalendarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkCalendarTypeEnum, 'NOTDEFINED', INDETERMINATE) +firstshift = IfcWorkCalendarTypeEnum.FIRSTSHIFT +secondshift = IfcWorkCalendarTypeEnum.SECONDSHIFT +thirdshift = IfcWorkCalendarTypeEnum.THIRDSHIFT +userdefined = IfcWorkCalendarTypeEnum.USERDEFINED +notdefined = IfcWorkCalendarTypeEnum.NOTDEFINED IfcWorkPlanTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkPlanTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkPlanTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkPlanTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkPlanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkPlanTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkPlanTypeEnum.ACTUAL +baseline = IfcWorkPlanTypeEnum.BASELINE +planned = IfcWorkPlanTypeEnum.PLANNED +userdefined = IfcWorkPlanTypeEnum.USERDEFINED +notdefined = IfcWorkPlanTypeEnum.NOTDEFINED IfcWorkScheduleTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkScheduleTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkScheduleTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkScheduleTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkScheduleTypeEnum.ACTUAL +baseline = IfcWorkScheduleTypeEnum.BASELINE +planned = IfcWorkScheduleTypeEnum.PLANNED +userdefined = IfcWorkScheduleTypeEnum.USERDEFINED +notdefined = IfcWorkScheduleTypeEnum.NOTDEFINED def IfcActionRequest(*args, **kwargs): return ifcopenshell.create_entity('IfcActionRequest', 'IFC4X3', *args, **kwargs) diff --git a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_ADD1.py b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_ADD1.py index 2fcbb1f734..64f436782a 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_ADD1.py +++ b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_ADD1.py @@ -1,5 +1,8 @@ import ifcopenshell +def is_indeterminate(v): + return v is None or type(v).__name__ == 'indeterminate_type' + def exists(v): if callable(v): try: @@ -7,10 +10,10 @@ def exists(v): except IndexError as e: return False else: - return v is not None + return not is_indeterminate(v) def nvl(v, default): - return v if v is not None else default + return v if not is_indeterminate(v) else default def is_entity(inst): if isinstance(inst, ifcopenshell.entity_instance): @@ -22,13 +25,13 @@ def is_entity(inst): def express_len(v): if isinstance(v, ifcopenshell.entity_instance) and (not is_entity(v)): v = v[0] - elif v is None or v is INDETERMINATE: + elif is_indeterminate(v): return INDETERMINATE return len(v) old_range = range def range(*args): - if INDETERMINATE in args: + if any(map(is_indeterminate, args)): return yield from old_range(*args) sizeof = express_len @@ -149,2361 +152,2361 @@ class enum_namespace: def __getattr__(self, k): return express_getattr(k, 'upper', INDETERMINATE)() IfcActionRequestTypeEnum = enum_namespace() -email = express_getattr(IfcActionRequestTypeEnum, 'EMAIL', INDETERMINATE) -fax = express_getattr(IfcActionRequestTypeEnum, 'FAX', INDETERMINATE) -phone = express_getattr(IfcActionRequestTypeEnum, 'PHONE', INDETERMINATE) -post = express_getattr(IfcActionRequestTypeEnum, 'POST', INDETERMINATE) -verbal = express_getattr(IfcActionRequestTypeEnum, 'VERBAL', INDETERMINATE) -userdefined = express_getattr(IfcActionRequestTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionRequestTypeEnum, 'NOTDEFINED', INDETERMINATE) +email = IfcActionRequestTypeEnum.EMAIL +fax = IfcActionRequestTypeEnum.FAX +phone = IfcActionRequestTypeEnum.PHONE +post = IfcActionRequestTypeEnum.POST +verbal = IfcActionRequestTypeEnum.VERBAL +userdefined = IfcActionRequestTypeEnum.USERDEFINED +notdefined = IfcActionRequestTypeEnum.NOTDEFINED IfcActionSourceTypeEnum = enum_namespace() -brakes = express_getattr(IfcActionSourceTypeEnum, 'BRAKES', INDETERMINATE) -buoyancy = express_getattr(IfcActionSourceTypeEnum, 'BUOYANCY', INDETERMINATE) -completion_g1 = express_getattr(IfcActionSourceTypeEnum, 'COMPLETION_G1', INDETERMINATE) -creep = express_getattr(IfcActionSourceTypeEnum, 'CREEP', INDETERMINATE) -current = express_getattr(IfcActionSourceTypeEnum, 'CURRENT', INDETERMINATE) -dead_load_g = express_getattr(IfcActionSourceTypeEnum, 'DEAD_LOAD_G', INDETERMINATE) -earthquake_e = express_getattr(IfcActionSourceTypeEnum, 'EARTHQUAKE_E', INDETERMINATE) -erection = express_getattr(IfcActionSourceTypeEnum, 'ERECTION', INDETERMINATE) -fire = express_getattr(IfcActionSourceTypeEnum, 'FIRE', INDETERMINATE) -ice = express_getattr(IfcActionSourceTypeEnum, 'ICE', INDETERMINATE) -impact = express_getattr(IfcActionSourceTypeEnum, 'IMPACT', INDETERMINATE) -impulse = express_getattr(IfcActionSourceTypeEnum, 'IMPULSE', INDETERMINATE) -lack_of_fit = express_getattr(IfcActionSourceTypeEnum, 'LACK_OF_FIT', INDETERMINATE) -live_load_q = express_getattr(IfcActionSourceTypeEnum, 'LIVE_LOAD_Q', INDETERMINATE) -prestressing_p = express_getattr(IfcActionSourceTypeEnum, 'PRESTRESSING_P', INDETERMINATE) -propping = express_getattr(IfcActionSourceTypeEnum, 'PROPPING', INDETERMINATE) -rain = express_getattr(IfcActionSourceTypeEnum, 'RAIN', INDETERMINATE) -settlement_u = express_getattr(IfcActionSourceTypeEnum, 'SETTLEMENT_U', INDETERMINATE) -shrinkage = express_getattr(IfcActionSourceTypeEnum, 'SHRINKAGE', INDETERMINATE) -snow_s = express_getattr(IfcActionSourceTypeEnum, 'SNOW_S', INDETERMINATE) -system_imperfection = express_getattr(IfcActionSourceTypeEnum, 'SYSTEM_IMPERFECTION', INDETERMINATE) -temperature_t = express_getattr(IfcActionSourceTypeEnum, 'TEMPERATURE_T', INDETERMINATE) -transport = express_getattr(IfcActionSourceTypeEnum, 'TRANSPORT', INDETERMINATE) -wave = express_getattr(IfcActionSourceTypeEnum, 'WAVE', INDETERMINATE) -wind_w = express_getattr(IfcActionSourceTypeEnum, 'WIND_W', INDETERMINATE) -userdefined = express_getattr(IfcActionSourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionSourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +brakes = IfcActionSourceTypeEnum.BRAKES +buoyancy = IfcActionSourceTypeEnum.BUOYANCY +completion_g1 = IfcActionSourceTypeEnum.COMPLETION_G1 +creep = IfcActionSourceTypeEnum.CREEP +current = IfcActionSourceTypeEnum.CURRENT +dead_load_g = IfcActionSourceTypeEnum.DEAD_LOAD_G +earthquake_e = IfcActionSourceTypeEnum.EARTHQUAKE_E +erection = IfcActionSourceTypeEnum.ERECTION +fire = IfcActionSourceTypeEnum.FIRE +ice = IfcActionSourceTypeEnum.ICE +impact = IfcActionSourceTypeEnum.IMPACT +impulse = IfcActionSourceTypeEnum.IMPULSE +lack_of_fit = IfcActionSourceTypeEnum.LACK_OF_FIT +live_load_q = IfcActionSourceTypeEnum.LIVE_LOAD_Q +prestressing_p = IfcActionSourceTypeEnum.PRESTRESSING_P +propping = IfcActionSourceTypeEnum.PROPPING +rain = IfcActionSourceTypeEnum.RAIN +settlement_u = IfcActionSourceTypeEnum.SETTLEMENT_U +shrinkage = IfcActionSourceTypeEnum.SHRINKAGE +snow_s = IfcActionSourceTypeEnum.SNOW_S +system_imperfection = IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION +temperature_t = IfcActionSourceTypeEnum.TEMPERATURE_T +transport = IfcActionSourceTypeEnum.TRANSPORT +wave = IfcActionSourceTypeEnum.WAVE +wind_w = IfcActionSourceTypeEnum.WIND_W +userdefined = IfcActionSourceTypeEnum.USERDEFINED +notdefined = IfcActionSourceTypeEnum.NOTDEFINED IfcActionTypeEnum = enum_namespace() -extraordinary_a = express_getattr(IfcActionTypeEnum, 'EXTRAORDINARY_A', INDETERMINATE) -permanent_g = express_getattr(IfcActionTypeEnum, 'PERMANENT_G', INDETERMINATE) -variable_q = express_getattr(IfcActionTypeEnum, 'VARIABLE_Q', INDETERMINATE) -userdefined = express_getattr(IfcActionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionTypeEnum, 'NOTDEFINED', INDETERMINATE) +extraordinary_a = IfcActionTypeEnum.EXTRAORDINARY_A +permanent_g = IfcActionTypeEnum.PERMANENT_G +variable_q = IfcActionTypeEnum.VARIABLE_Q +userdefined = IfcActionTypeEnum.USERDEFINED +notdefined = IfcActionTypeEnum.NOTDEFINED IfcActuatorTypeEnum = enum_namespace() -electricactuator = express_getattr(IfcActuatorTypeEnum, 'ELECTRICACTUATOR', INDETERMINATE) -handoperatedactuator = express_getattr(IfcActuatorTypeEnum, 'HANDOPERATEDACTUATOR', INDETERMINATE) -hydraulicactuator = express_getattr(IfcActuatorTypeEnum, 'HYDRAULICACTUATOR', INDETERMINATE) -pneumaticactuator = express_getattr(IfcActuatorTypeEnum, 'PNEUMATICACTUATOR', INDETERMINATE) -thermostaticactuator = express_getattr(IfcActuatorTypeEnum, 'THERMOSTATICACTUATOR', INDETERMINATE) -userdefined = express_getattr(IfcActuatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActuatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +electricactuator = IfcActuatorTypeEnum.ELECTRICACTUATOR +handoperatedactuator = IfcActuatorTypeEnum.HANDOPERATEDACTUATOR +hydraulicactuator = IfcActuatorTypeEnum.HYDRAULICACTUATOR +pneumaticactuator = IfcActuatorTypeEnum.PNEUMATICACTUATOR +thermostaticactuator = IfcActuatorTypeEnum.THERMOSTATICACTUATOR +userdefined = IfcActuatorTypeEnum.USERDEFINED +notdefined = IfcActuatorTypeEnum.NOTDEFINED IfcAddressTypeEnum = enum_namespace() -distributionpoint = express_getattr(IfcAddressTypeEnum, 'DISTRIBUTIONPOINT', INDETERMINATE) -home = express_getattr(IfcAddressTypeEnum, 'HOME', INDETERMINATE) -office = express_getattr(IfcAddressTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcAddressTypeEnum, 'SITE', INDETERMINATE) -userdefined = express_getattr(IfcAddressTypeEnum, 'USERDEFINED', INDETERMINATE) +distributionpoint = IfcAddressTypeEnum.DISTRIBUTIONPOINT +home = IfcAddressTypeEnum.HOME +office = IfcAddressTypeEnum.OFFICE +site = IfcAddressTypeEnum.SITE +userdefined = IfcAddressTypeEnum.USERDEFINED IfcAirTerminalBoxTypeEnum = enum_namespace() -constantflow = express_getattr(IfcAirTerminalBoxTypeEnum, 'CONSTANTFLOW', INDETERMINATE) -variableflowpressuredependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREDEPENDANT', INDETERMINATE) -variableflowpressureindependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREINDEPENDANT', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +constantflow = IfcAirTerminalBoxTypeEnum.CONSTANTFLOW +variableflowpressuredependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT +variableflowpressureindependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT +userdefined = IfcAirTerminalBoxTypeEnum.USERDEFINED +notdefined = IfcAirTerminalBoxTypeEnum.NOTDEFINED IfcAirTerminalTypeEnum = enum_namespace() -diffuser = express_getattr(IfcAirTerminalTypeEnum, 'DIFFUSER', INDETERMINATE) -grille = express_getattr(IfcAirTerminalTypeEnum, 'GRILLE', INDETERMINATE) -louvre = express_getattr(IfcAirTerminalTypeEnum, 'LOUVRE', INDETERMINATE) -register = express_getattr(IfcAirTerminalTypeEnum, 'REGISTER', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +diffuser = IfcAirTerminalTypeEnum.DIFFUSER +grille = IfcAirTerminalTypeEnum.GRILLE +louvre = IfcAirTerminalTypeEnum.LOUVRE +register = IfcAirTerminalTypeEnum.REGISTER +userdefined = IfcAirTerminalTypeEnum.USERDEFINED +notdefined = IfcAirTerminalTypeEnum.NOTDEFINED IfcAirToAirHeatRecoveryTypeEnum = enum_namespace() -fixedplatecounterflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECOUNTERFLOWEXCHANGER', INDETERMINATE) -fixedplatecrossflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECROSSFLOWEXCHANGER', INDETERMINATE) -fixedplateparallelflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATEPARALLELFLOWEXCHANGER', INDETERMINATE) -heatpipe = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'HEATPIPE', INDETERMINATE) -rotarywheel = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'ROTARYWHEEL', INDETERMINATE) -runaroundcoilloop = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'RUNAROUNDCOILLOOP', INDETERMINATE) -thermosiphoncoiltypeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONCOILTYPEHEATEXCHANGERS', INDETERMINATE) -thermosiphonsealedtubeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONSEALEDTUBEHEATEXCHANGERS', INDETERMINATE) -twintowerenthalpyrecoveryloops = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'TWINTOWERENTHALPYRECOVERYLOOPS', INDETERMINATE) -userdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'NOTDEFINED', INDETERMINATE) +fixedplatecounterflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER +fixedplatecrossflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER +fixedplateparallelflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER +heatpipe = IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE +rotarywheel = IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL +runaroundcoilloop = IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP +thermosiphoncoiltypeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS +thermosiphonsealedtubeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS +twintowerenthalpyrecoveryloops = IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS +userdefined = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED +notdefined = IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED IfcAlarmTypeEnum = enum_namespace() -bell = express_getattr(IfcAlarmTypeEnum, 'BELL', INDETERMINATE) -breakglassbutton = express_getattr(IfcAlarmTypeEnum, 'BREAKGLASSBUTTON', INDETERMINATE) -light = express_getattr(IfcAlarmTypeEnum, 'LIGHT', INDETERMINATE) -manualpullbox = express_getattr(IfcAlarmTypeEnum, 'MANUALPULLBOX', INDETERMINATE) -railwaycrocodile = express_getattr(IfcAlarmTypeEnum, 'RAILWAYCROCODILE', INDETERMINATE) -railwaydetonator = express_getattr(IfcAlarmTypeEnum, 'RAILWAYDETONATOR', INDETERMINATE) -siren = express_getattr(IfcAlarmTypeEnum, 'SIREN', INDETERMINATE) -whistle = express_getattr(IfcAlarmTypeEnum, 'WHISTLE', INDETERMINATE) -userdefined = express_getattr(IfcAlarmTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlarmTypeEnum, 'NOTDEFINED', INDETERMINATE) +bell = IfcAlarmTypeEnum.BELL +breakglassbutton = IfcAlarmTypeEnum.BREAKGLASSBUTTON +light = IfcAlarmTypeEnum.LIGHT +manualpullbox = IfcAlarmTypeEnum.MANUALPULLBOX +railwaycrocodile = IfcAlarmTypeEnum.RAILWAYCROCODILE +railwaydetonator = IfcAlarmTypeEnum.RAILWAYDETONATOR +siren = IfcAlarmTypeEnum.SIREN +whistle = IfcAlarmTypeEnum.WHISTLE +userdefined = IfcAlarmTypeEnum.USERDEFINED +notdefined = IfcAlarmTypeEnum.NOTDEFINED IfcAlignmentCantSegmentTypeEnum = enum_namespace() -blosscurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'BLOSSCURVE', INDETERMINATE) -constantcant = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'CONSTANTCANT', INDETERMINATE) -cosinecurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'COSINECURVE', INDETERMINATE) -helmertcurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'HELMERTCURVE', INDETERMINATE) -lineartransition = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'LINEARTRANSITION', INDETERMINATE) -sinecurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'SINECURVE', INDETERMINATE) -viennesebend = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'VIENNESEBEND', INDETERMINATE) +blosscurve = IfcAlignmentCantSegmentTypeEnum.BLOSSCURVE +constantcant = IfcAlignmentCantSegmentTypeEnum.CONSTANTCANT +cosinecurve = IfcAlignmentCantSegmentTypeEnum.COSINECURVE +helmertcurve = IfcAlignmentCantSegmentTypeEnum.HELMERTCURVE +lineartransition = IfcAlignmentCantSegmentTypeEnum.LINEARTRANSITION +sinecurve = IfcAlignmentCantSegmentTypeEnum.SINECURVE +viennesebend = IfcAlignmentCantSegmentTypeEnum.VIENNESEBEND IfcAlignmentHorizontalSegmentTypeEnum = enum_namespace() -blosscurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'BLOSSCURVE', INDETERMINATE) -circulararc = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CIRCULARARC', INDETERMINATE) -clothoid = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CLOTHOID', INDETERMINATE) -cosinecurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'COSINECURVE', INDETERMINATE) -cubic = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CUBIC', INDETERMINATE) -helmertcurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'HELMERTCURVE', INDETERMINATE) -line = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'LINE', INDETERMINATE) -sinecurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'SINECURVE', INDETERMINATE) -viennesebend = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'VIENNESEBEND', INDETERMINATE) +blosscurve = IfcAlignmentHorizontalSegmentTypeEnum.BLOSSCURVE +circulararc = IfcAlignmentHorizontalSegmentTypeEnum.CIRCULARARC +clothoid = IfcAlignmentHorizontalSegmentTypeEnum.CLOTHOID +cosinecurve = IfcAlignmentHorizontalSegmentTypeEnum.COSINECURVE +cubic = IfcAlignmentHorizontalSegmentTypeEnum.CUBIC +helmertcurve = IfcAlignmentHorizontalSegmentTypeEnum.HELMERTCURVE +line = IfcAlignmentHorizontalSegmentTypeEnum.LINE +sinecurve = IfcAlignmentHorizontalSegmentTypeEnum.SINECURVE +viennesebend = IfcAlignmentHorizontalSegmentTypeEnum.VIENNESEBEND IfcAlignmentTypeEnum = enum_namespace() -userdefined = express_getattr(IfcAlignmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlignmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcAlignmentTypeEnum.USERDEFINED +notdefined = IfcAlignmentTypeEnum.NOTDEFINED IfcAlignmentVerticalSegmentTypeEnum = enum_namespace() -circulararc = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CIRCULARARC', INDETERMINATE) -clothoid = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CLOTHOID', INDETERMINATE) -constantgradient = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CONSTANTGRADIENT', INDETERMINATE) -parabolicarc = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'PARABOLICARC', INDETERMINATE) +circulararc = IfcAlignmentVerticalSegmentTypeEnum.CIRCULARARC +clothoid = IfcAlignmentVerticalSegmentTypeEnum.CLOTHOID +constantgradient = IfcAlignmentVerticalSegmentTypeEnum.CONSTANTGRADIENT +parabolicarc = IfcAlignmentVerticalSegmentTypeEnum.PARABOLICARC IfcAnalysisModelTypeEnum = enum_namespace() -in_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'IN_PLANE_LOADING_2D', INDETERMINATE) -loading_3d = express_getattr(IfcAnalysisModelTypeEnum, 'LOADING_3D', INDETERMINATE) -out_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'OUT_PLANE_LOADING_2D', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisModelTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisModelTypeEnum, 'NOTDEFINED', INDETERMINATE) +in_plane_loading_2d = IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D +loading_3d = IfcAnalysisModelTypeEnum.LOADING_3D +out_plane_loading_2d = IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D +userdefined = IfcAnalysisModelTypeEnum.USERDEFINED +notdefined = IfcAnalysisModelTypeEnum.NOTDEFINED IfcAnalysisTheoryTypeEnum = enum_namespace() -first_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FIRST_ORDER_THEORY', INDETERMINATE) -full_nonlinear_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FULL_NONLINEAR_THEORY', INDETERMINATE) -second_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'SECOND_ORDER_THEORY', INDETERMINATE) -third_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'THIRD_ORDER_THEORY', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +first_order_theory = IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY +full_nonlinear_theory = IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY +second_order_theory = IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY +third_order_theory = IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY +userdefined = IfcAnalysisTheoryTypeEnum.USERDEFINED +notdefined = IfcAnalysisTheoryTypeEnum.NOTDEFINED IfcAnnotationTypeEnum = enum_namespace() -asbuiltarea = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTAREA', INDETERMINATE) -asbuiltline = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTLINE', INDETERMINATE) -asbuiltpoint = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTPOINT', INDETERMINATE) -assumedarea = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDAREA', INDETERMINATE) -assumedline = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDLINE', INDETERMINATE) -assumedpoint = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDPOINT', INDETERMINATE) -non_physical_signal = express_getattr(IfcAnnotationTypeEnum, 'NON_PHYSICAL_SIGNAL', INDETERMINATE) -superelevationevent = express_getattr(IfcAnnotationTypeEnum, 'SUPERELEVATIONEVENT', INDETERMINATE) -widthevent = express_getattr(IfcAnnotationTypeEnum, 'WIDTHEVENT', INDETERMINATE) -userdefined = express_getattr(IfcAnnotationTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnnotationTypeEnum, 'NOTDEFINED', INDETERMINATE) +asbuiltarea = IfcAnnotationTypeEnum.ASBUILTAREA +asbuiltline = IfcAnnotationTypeEnum.ASBUILTLINE +asbuiltpoint = IfcAnnotationTypeEnum.ASBUILTPOINT +assumedarea = IfcAnnotationTypeEnum.ASSUMEDAREA +assumedline = IfcAnnotationTypeEnum.ASSUMEDLINE +assumedpoint = IfcAnnotationTypeEnum.ASSUMEDPOINT +non_physical_signal = IfcAnnotationTypeEnum.NON_PHYSICAL_SIGNAL +superelevationevent = IfcAnnotationTypeEnum.SUPERELEVATIONEVENT +widthevent = IfcAnnotationTypeEnum.WIDTHEVENT +userdefined = IfcAnnotationTypeEnum.USERDEFINED +notdefined = IfcAnnotationTypeEnum.NOTDEFINED IfcArithmeticOperatorEnum = enum_namespace() -add = express_getattr(IfcArithmeticOperatorEnum, 'ADD', INDETERMINATE) -divide = express_getattr(IfcArithmeticOperatorEnum, 'DIVIDE', INDETERMINATE) -multiply = express_getattr(IfcArithmeticOperatorEnum, 'MULTIPLY', INDETERMINATE) -subtract = express_getattr(IfcArithmeticOperatorEnum, 'SUBTRACT', INDETERMINATE) +add = IfcArithmeticOperatorEnum.ADD +divide = IfcArithmeticOperatorEnum.DIVIDE +multiply = IfcArithmeticOperatorEnum.MULTIPLY +subtract = IfcArithmeticOperatorEnum.SUBTRACT IfcAssemblyPlaceEnum = enum_namespace() -factory = express_getattr(IfcAssemblyPlaceEnum, 'FACTORY', INDETERMINATE) -site = express_getattr(IfcAssemblyPlaceEnum, 'SITE', INDETERMINATE) -notdefined = express_getattr(IfcAssemblyPlaceEnum, 'NOTDEFINED', INDETERMINATE) +factory = IfcAssemblyPlaceEnum.FACTORY +site = IfcAssemblyPlaceEnum.SITE +notdefined = IfcAssemblyPlaceEnum.NOTDEFINED IfcAudioVisualApplianceTypeEnum = enum_namespace() -amplifier = express_getattr(IfcAudioVisualApplianceTypeEnum, 'AMPLIFIER', INDETERMINATE) -camera = express_getattr(IfcAudioVisualApplianceTypeEnum, 'CAMERA', INDETERMINATE) -communicationterminal = express_getattr(IfcAudioVisualApplianceTypeEnum, 'COMMUNICATIONTERMINAL', INDETERMINATE) -display = express_getattr(IfcAudioVisualApplianceTypeEnum, 'DISPLAY', INDETERMINATE) -microphone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'MICROPHONE', INDETERMINATE) -player = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PLAYER', INDETERMINATE) -projector = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PROJECTOR', INDETERMINATE) -receiver = express_getattr(IfcAudioVisualApplianceTypeEnum, 'RECEIVER', INDETERMINATE) -recordingequipment = express_getattr(IfcAudioVisualApplianceTypeEnum, 'RECORDINGEQUIPMENT', INDETERMINATE) -speaker = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SPEAKER', INDETERMINATE) -switcher = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SWITCHER', INDETERMINATE) -telephone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TELEPHONE', INDETERMINATE) -tuner = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TUNER', INDETERMINATE) -userdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +amplifier = IfcAudioVisualApplianceTypeEnum.AMPLIFIER +camera = IfcAudioVisualApplianceTypeEnum.CAMERA +communicationterminal = IfcAudioVisualApplianceTypeEnum.COMMUNICATIONTERMINAL +display = IfcAudioVisualApplianceTypeEnum.DISPLAY +microphone = IfcAudioVisualApplianceTypeEnum.MICROPHONE +player = IfcAudioVisualApplianceTypeEnum.PLAYER +projector = IfcAudioVisualApplianceTypeEnum.PROJECTOR +receiver = IfcAudioVisualApplianceTypeEnum.RECEIVER +recordingequipment = IfcAudioVisualApplianceTypeEnum.RECORDINGEQUIPMENT +speaker = IfcAudioVisualApplianceTypeEnum.SPEAKER +switcher = IfcAudioVisualApplianceTypeEnum.SWITCHER +telephone = IfcAudioVisualApplianceTypeEnum.TELEPHONE +tuner = IfcAudioVisualApplianceTypeEnum.TUNER +userdefined = IfcAudioVisualApplianceTypeEnum.USERDEFINED +notdefined = IfcAudioVisualApplianceTypeEnum.NOTDEFINED IfcBSplineCurveForm = enum_namespace() -circular_arc = express_getattr(IfcBSplineCurveForm, 'CIRCULAR_ARC', INDETERMINATE) -elliptic_arc = express_getattr(IfcBSplineCurveForm, 'ELLIPTIC_ARC', INDETERMINATE) -hyperbolic_arc = express_getattr(IfcBSplineCurveForm, 'HYPERBOLIC_ARC', INDETERMINATE) -parabolic_arc = express_getattr(IfcBSplineCurveForm, 'PARABOLIC_ARC', INDETERMINATE) -polyline_form = express_getattr(IfcBSplineCurveForm, 'POLYLINE_FORM', INDETERMINATE) -unspecified = express_getattr(IfcBSplineCurveForm, 'UNSPECIFIED', INDETERMINATE) +circular_arc = IfcBSplineCurveForm.CIRCULAR_ARC +elliptic_arc = IfcBSplineCurveForm.ELLIPTIC_ARC +hyperbolic_arc = IfcBSplineCurveForm.HYPERBOLIC_ARC +parabolic_arc = IfcBSplineCurveForm.PARABOLIC_ARC +polyline_form = IfcBSplineCurveForm.POLYLINE_FORM +unspecified = IfcBSplineCurveForm.UNSPECIFIED IfcBSplineSurfaceForm = enum_namespace() -conical_surf = express_getattr(IfcBSplineSurfaceForm, 'CONICAL_SURF', INDETERMINATE) -cylindrical_surf = express_getattr(IfcBSplineSurfaceForm, 'CYLINDRICAL_SURF', INDETERMINATE) -generalised_cone = express_getattr(IfcBSplineSurfaceForm, 'GENERALISED_CONE', INDETERMINATE) -plane_surf = express_getattr(IfcBSplineSurfaceForm, 'PLANE_SURF', INDETERMINATE) -quadric_surf = express_getattr(IfcBSplineSurfaceForm, 'QUADRIC_SURF', INDETERMINATE) -ruled_surf = express_getattr(IfcBSplineSurfaceForm, 'RULED_SURF', INDETERMINATE) -spherical_surf = express_getattr(IfcBSplineSurfaceForm, 'SPHERICAL_SURF', INDETERMINATE) -surf_of_linear_extrusion = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_LINEAR_EXTRUSION', INDETERMINATE) -surf_of_revolution = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_REVOLUTION', INDETERMINATE) -toroidal_surf = express_getattr(IfcBSplineSurfaceForm, 'TOROIDAL_SURF', INDETERMINATE) -unspecified = express_getattr(IfcBSplineSurfaceForm, 'UNSPECIFIED', INDETERMINATE) +conical_surf = IfcBSplineSurfaceForm.CONICAL_SURF +cylindrical_surf = IfcBSplineSurfaceForm.CYLINDRICAL_SURF +generalised_cone = IfcBSplineSurfaceForm.GENERALISED_CONE +plane_surf = IfcBSplineSurfaceForm.PLANE_SURF +quadric_surf = IfcBSplineSurfaceForm.QUADRIC_SURF +ruled_surf = IfcBSplineSurfaceForm.RULED_SURF +spherical_surf = IfcBSplineSurfaceForm.SPHERICAL_SURF +surf_of_linear_extrusion = IfcBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION +surf_of_revolution = IfcBSplineSurfaceForm.SURF_OF_REVOLUTION +toroidal_surf = IfcBSplineSurfaceForm.TOROIDAL_SURF +unspecified = IfcBSplineSurfaceForm.UNSPECIFIED IfcBeamTypeEnum = enum_namespace() -beam = express_getattr(IfcBeamTypeEnum, 'BEAM', INDETERMINATE) -cornice = express_getattr(IfcBeamTypeEnum, 'CORNICE', INDETERMINATE) -diaphragm = express_getattr(IfcBeamTypeEnum, 'DIAPHRAGM', INDETERMINATE) -edgebeam = express_getattr(IfcBeamTypeEnum, 'EDGEBEAM', INDETERMINATE) -girder_segment = express_getattr(IfcBeamTypeEnum, 'GIRDER_SEGMENT', INDETERMINATE) -hatstone = express_getattr(IfcBeamTypeEnum, 'HATSTONE', INDETERMINATE) -hollowcore = express_getattr(IfcBeamTypeEnum, 'HOLLOWCORE', INDETERMINATE) -joist = express_getattr(IfcBeamTypeEnum, 'JOIST', INDETERMINATE) -lintel = express_getattr(IfcBeamTypeEnum, 'LINTEL', INDETERMINATE) -piercap = express_getattr(IfcBeamTypeEnum, 'PIERCAP', INDETERMINATE) -spandrel = express_getattr(IfcBeamTypeEnum, 'SPANDREL', INDETERMINATE) -t_beam = express_getattr(IfcBeamTypeEnum, 'T_BEAM', INDETERMINATE) -userdefined = express_getattr(IfcBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +beam = IfcBeamTypeEnum.BEAM +cornice = IfcBeamTypeEnum.CORNICE +diaphragm = IfcBeamTypeEnum.DIAPHRAGM +edgebeam = IfcBeamTypeEnum.EDGEBEAM +girder_segment = IfcBeamTypeEnum.GIRDER_SEGMENT +hatstone = IfcBeamTypeEnum.HATSTONE +hollowcore = IfcBeamTypeEnum.HOLLOWCORE +joist = IfcBeamTypeEnum.JOIST +lintel = IfcBeamTypeEnum.LINTEL +piercap = IfcBeamTypeEnum.PIERCAP +spandrel = IfcBeamTypeEnum.SPANDREL +t_beam = IfcBeamTypeEnum.T_BEAM +userdefined = IfcBeamTypeEnum.USERDEFINED +notdefined = IfcBeamTypeEnum.NOTDEFINED IfcBearingTypeEnum = enum_namespace() -cylindrical = express_getattr(IfcBearingTypeEnum, 'CYLINDRICAL', INDETERMINATE) -disk = express_getattr(IfcBearingTypeEnum, 'DISK', INDETERMINATE) -elastomeric = express_getattr(IfcBearingTypeEnum, 'ELASTOMERIC', INDETERMINATE) -guide = express_getattr(IfcBearingTypeEnum, 'GUIDE', INDETERMINATE) -pot = express_getattr(IfcBearingTypeEnum, 'POT', INDETERMINATE) -rocker = express_getattr(IfcBearingTypeEnum, 'ROCKER', INDETERMINATE) -roller = express_getattr(IfcBearingTypeEnum, 'ROLLER', INDETERMINATE) -spherical = express_getattr(IfcBearingTypeEnum, 'SPHERICAL', INDETERMINATE) -userdefined = express_getattr(IfcBearingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBearingTypeEnum, 'NOTDEFINED', INDETERMINATE) +cylindrical = IfcBearingTypeEnum.CYLINDRICAL +disk = IfcBearingTypeEnum.DISK +elastomeric = IfcBearingTypeEnum.ELASTOMERIC +guide = IfcBearingTypeEnum.GUIDE +pot = IfcBearingTypeEnum.POT +rocker = IfcBearingTypeEnum.ROCKER +roller = IfcBearingTypeEnum.ROLLER +spherical = IfcBearingTypeEnum.SPHERICAL +userdefined = IfcBearingTypeEnum.USERDEFINED +notdefined = IfcBearingTypeEnum.NOTDEFINED IfcBenchmarkEnum = enum_namespace() -equalto = express_getattr(IfcBenchmarkEnum, 'EQUALTO', INDETERMINATE) -greaterthan = express_getattr(IfcBenchmarkEnum, 'GREATERTHAN', INDETERMINATE) -greaterthanorequalto = express_getattr(IfcBenchmarkEnum, 'GREATERTHANOREQUALTO', INDETERMINATE) -includedin = express_getattr(IfcBenchmarkEnum, 'INCLUDEDIN', INDETERMINATE) -includes = express_getattr(IfcBenchmarkEnum, 'INCLUDES', INDETERMINATE) -lessthan = express_getattr(IfcBenchmarkEnum, 'LESSTHAN', INDETERMINATE) -lessthanorequalto = express_getattr(IfcBenchmarkEnum, 'LESSTHANOREQUALTO', INDETERMINATE) -notequalto = express_getattr(IfcBenchmarkEnum, 'NOTEQUALTO', INDETERMINATE) -notincludedin = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDEDIN', INDETERMINATE) -notincludes = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDES', INDETERMINATE) +equalto = IfcBenchmarkEnum.EQUALTO +greaterthan = IfcBenchmarkEnum.GREATERTHAN +greaterthanorequalto = IfcBenchmarkEnum.GREATERTHANOREQUALTO +includedin = IfcBenchmarkEnum.INCLUDEDIN +includes = IfcBenchmarkEnum.INCLUDES +lessthan = IfcBenchmarkEnum.LESSTHAN +lessthanorequalto = IfcBenchmarkEnum.LESSTHANOREQUALTO +notequalto = IfcBenchmarkEnum.NOTEQUALTO +notincludedin = IfcBenchmarkEnum.NOTINCLUDEDIN +notincludes = IfcBenchmarkEnum.NOTINCLUDES IfcBoilerTypeEnum = enum_namespace() -steam = express_getattr(IfcBoilerTypeEnum, 'STEAM', INDETERMINATE) -water = express_getattr(IfcBoilerTypeEnum, 'WATER', INDETERMINATE) -userdefined = express_getattr(IfcBoilerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBoilerTypeEnum, 'NOTDEFINED', INDETERMINATE) +steam = IfcBoilerTypeEnum.STEAM +water = IfcBoilerTypeEnum.WATER +userdefined = IfcBoilerTypeEnum.USERDEFINED +notdefined = IfcBoilerTypeEnum.NOTDEFINED IfcBooleanOperator = enum_namespace() -difference = express_getattr(IfcBooleanOperator, 'DIFFERENCE', INDETERMINATE) -intersection = express_getattr(IfcBooleanOperator, 'INTERSECTION', INDETERMINATE) -union = express_getattr(IfcBooleanOperator, 'UNION', INDETERMINATE) +difference = IfcBooleanOperator.DIFFERENCE +intersection = IfcBooleanOperator.INTERSECTION +union = IfcBooleanOperator.UNION IfcBridgePartTypeEnum = enum_namespace() -abutment = express_getattr(IfcBridgePartTypeEnum, 'ABUTMENT', INDETERMINATE) -deck = express_getattr(IfcBridgePartTypeEnum, 'DECK', INDETERMINATE) -deck_segment = express_getattr(IfcBridgePartTypeEnum, 'DECK_SEGMENT', INDETERMINATE) -foundation = express_getattr(IfcBridgePartTypeEnum, 'FOUNDATION', INDETERMINATE) -pier = express_getattr(IfcBridgePartTypeEnum, 'PIER', INDETERMINATE) -pier_segment = express_getattr(IfcBridgePartTypeEnum, 'PIER_SEGMENT', INDETERMINATE) -pylon = express_getattr(IfcBridgePartTypeEnum, 'PYLON', INDETERMINATE) -substructure = express_getattr(IfcBridgePartTypeEnum, 'SUBSTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcBridgePartTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -surfacestructure = express_getattr(IfcBridgePartTypeEnum, 'SURFACESTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcBridgePartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBridgePartTypeEnum, 'NOTDEFINED', INDETERMINATE) +abutment = IfcBridgePartTypeEnum.ABUTMENT +deck = IfcBridgePartTypeEnum.DECK +deck_segment = IfcBridgePartTypeEnum.DECK_SEGMENT +foundation = IfcBridgePartTypeEnum.FOUNDATION +pier = IfcBridgePartTypeEnum.PIER +pier_segment = IfcBridgePartTypeEnum.PIER_SEGMENT +pylon = IfcBridgePartTypeEnum.PYLON +substructure = IfcBridgePartTypeEnum.SUBSTRUCTURE +superstructure = IfcBridgePartTypeEnum.SUPERSTRUCTURE +surfacestructure = IfcBridgePartTypeEnum.SURFACESTRUCTURE +userdefined = IfcBridgePartTypeEnum.USERDEFINED +notdefined = IfcBridgePartTypeEnum.NOTDEFINED IfcBridgeTypeEnum = enum_namespace() -arched = express_getattr(IfcBridgeTypeEnum, 'ARCHED', INDETERMINATE) -cable_stayed = express_getattr(IfcBridgeTypeEnum, 'CABLE_STAYED', INDETERMINATE) -cantilever = express_getattr(IfcBridgeTypeEnum, 'CANTILEVER', INDETERMINATE) -culvert = express_getattr(IfcBridgeTypeEnum, 'CULVERT', INDETERMINATE) -framework = express_getattr(IfcBridgeTypeEnum, 'FRAMEWORK', INDETERMINATE) -girder = express_getattr(IfcBridgeTypeEnum, 'GIRDER', INDETERMINATE) -suspension = express_getattr(IfcBridgeTypeEnum, 'SUSPENSION', INDETERMINATE) -truss = express_getattr(IfcBridgeTypeEnum, 'TRUSS', INDETERMINATE) -userdefined = express_getattr(IfcBridgeTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBridgeTypeEnum, 'NOTDEFINED', INDETERMINATE) +arched = IfcBridgeTypeEnum.ARCHED +cable_stayed = IfcBridgeTypeEnum.CABLE_STAYED +cantilever = IfcBridgeTypeEnum.CANTILEVER +culvert = IfcBridgeTypeEnum.CULVERT +framework = IfcBridgeTypeEnum.FRAMEWORK +girder = IfcBridgeTypeEnum.GIRDER +suspension = IfcBridgeTypeEnum.SUSPENSION +truss = IfcBridgeTypeEnum.TRUSS +userdefined = IfcBridgeTypeEnum.USERDEFINED +notdefined = IfcBridgeTypeEnum.NOTDEFINED IfcBuildingElementPartTypeEnum = enum_namespace() -apron = express_getattr(IfcBuildingElementPartTypeEnum, 'APRON', INDETERMINATE) -armourunit = express_getattr(IfcBuildingElementPartTypeEnum, 'ARMOURUNIT', INDETERMINATE) -insulation = express_getattr(IfcBuildingElementPartTypeEnum, 'INSULATION', INDETERMINATE) -precastpanel = express_getattr(IfcBuildingElementPartTypeEnum, 'PRECASTPANEL', INDETERMINATE) -safetycage = express_getattr(IfcBuildingElementPartTypeEnum, 'SAFETYCAGE', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +apron = IfcBuildingElementPartTypeEnum.APRON +armourunit = IfcBuildingElementPartTypeEnum.ARMOURUNIT +insulation = IfcBuildingElementPartTypeEnum.INSULATION +precastpanel = IfcBuildingElementPartTypeEnum.PRECASTPANEL +safetycage = IfcBuildingElementPartTypeEnum.SAFETYCAGE +userdefined = IfcBuildingElementPartTypeEnum.USERDEFINED +notdefined = IfcBuildingElementPartTypeEnum.NOTDEFINED IfcBuildingElementProxyTypeEnum = enum_namespace() -complex = express_getattr(IfcBuildingElementProxyTypeEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcBuildingElementProxyTypeEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcBuildingElementProxyTypeEnum, 'PARTIAL', INDETERMINATE) -provisionforspace = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORSPACE', INDETERMINATE) -provisionforvoid = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORVOID', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'NOTDEFINED', INDETERMINATE) +complex = IfcBuildingElementProxyTypeEnum.COMPLEX +element = IfcBuildingElementProxyTypeEnum.ELEMENT +partial = IfcBuildingElementProxyTypeEnum.PARTIAL +provisionforspace = IfcBuildingElementProxyTypeEnum.PROVISIONFORSPACE +provisionforvoid = IfcBuildingElementProxyTypeEnum.PROVISIONFORVOID +userdefined = IfcBuildingElementProxyTypeEnum.USERDEFINED +notdefined = IfcBuildingElementProxyTypeEnum.NOTDEFINED IfcBuildingSystemTypeEnum = enum_namespace() -fenestration = express_getattr(IfcBuildingSystemTypeEnum, 'FENESTRATION', INDETERMINATE) -foundation = express_getattr(IfcBuildingSystemTypeEnum, 'FOUNDATION', INDETERMINATE) -loadbearing = express_getattr(IfcBuildingSystemTypeEnum, 'LOADBEARING', INDETERMINATE) -outershell = express_getattr(IfcBuildingSystemTypeEnum, 'OUTERSHELL', INDETERMINATE) -shading = express_getattr(IfcBuildingSystemTypeEnum, 'SHADING', INDETERMINATE) -transport = express_getattr(IfcBuildingSystemTypeEnum, 'TRANSPORT', INDETERMINATE) -userdefined = express_getattr(IfcBuildingSystemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingSystemTypeEnum, 'NOTDEFINED', INDETERMINATE) +fenestration = IfcBuildingSystemTypeEnum.FENESTRATION +foundation = IfcBuildingSystemTypeEnum.FOUNDATION +loadbearing = IfcBuildingSystemTypeEnum.LOADBEARING +outershell = IfcBuildingSystemTypeEnum.OUTERSHELL +shading = IfcBuildingSystemTypeEnum.SHADING +transport = IfcBuildingSystemTypeEnum.TRANSPORT +userdefined = IfcBuildingSystemTypeEnum.USERDEFINED +notdefined = IfcBuildingSystemTypeEnum.NOTDEFINED IfcBuiltSystemTypeEnum = enum_namespace() -erosionprevention = express_getattr(IfcBuiltSystemTypeEnum, 'EROSIONPREVENTION', INDETERMINATE) -fenestration = express_getattr(IfcBuiltSystemTypeEnum, 'FENESTRATION', INDETERMINATE) -foundation = express_getattr(IfcBuiltSystemTypeEnum, 'FOUNDATION', INDETERMINATE) -loadbearing = express_getattr(IfcBuiltSystemTypeEnum, 'LOADBEARING', INDETERMINATE) -mooring = express_getattr(IfcBuiltSystemTypeEnum, 'MOORING', INDETERMINATE) -outershell = express_getattr(IfcBuiltSystemTypeEnum, 'OUTERSHELL', INDETERMINATE) -prestressing = express_getattr(IfcBuiltSystemTypeEnum, 'PRESTRESSING', INDETERMINATE) -railwayline = express_getattr(IfcBuiltSystemTypeEnum, 'RAILWAYLINE', INDETERMINATE) -railwaytrack = express_getattr(IfcBuiltSystemTypeEnum, 'RAILWAYTRACK', INDETERMINATE) -reinforcing = express_getattr(IfcBuiltSystemTypeEnum, 'REINFORCING', INDETERMINATE) -shading = express_getattr(IfcBuiltSystemTypeEnum, 'SHADING', INDETERMINATE) -trackcircuit = express_getattr(IfcBuiltSystemTypeEnum, 'TRACKCIRCUIT', INDETERMINATE) -transport = express_getattr(IfcBuiltSystemTypeEnum, 'TRANSPORT', INDETERMINATE) -userdefined = express_getattr(IfcBuiltSystemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuiltSystemTypeEnum, 'NOTDEFINED', INDETERMINATE) +erosionprevention = IfcBuiltSystemTypeEnum.EROSIONPREVENTION +fenestration = IfcBuiltSystemTypeEnum.FENESTRATION +foundation = IfcBuiltSystemTypeEnum.FOUNDATION +loadbearing = IfcBuiltSystemTypeEnum.LOADBEARING +mooring = IfcBuiltSystemTypeEnum.MOORING +outershell = IfcBuiltSystemTypeEnum.OUTERSHELL +prestressing = IfcBuiltSystemTypeEnum.PRESTRESSING +railwayline = IfcBuiltSystemTypeEnum.RAILWAYLINE +railwaytrack = IfcBuiltSystemTypeEnum.RAILWAYTRACK +reinforcing = IfcBuiltSystemTypeEnum.REINFORCING +shading = IfcBuiltSystemTypeEnum.SHADING +trackcircuit = IfcBuiltSystemTypeEnum.TRACKCIRCUIT +transport = IfcBuiltSystemTypeEnum.TRANSPORT +userdefined = IfcBuiltSystemTypeEnum.USERDEFINED +notdefined = IfcBuiltSystemTypeEnum.NOTDEFINED IfcBurnerTypeEnum = enum_namespace() -userdefined = express_getattr(IfcBurnerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBurnerTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcBurnerTypeEnum.USERDEFINED +notdefined = IfcBurnerTypeEnum.NOTDEFINED IfcCableCarrierFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcCableCarrierFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcCableCarrierFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -cross = express_getattr(IfcCableCarrierFittingTypeEnum, 'CROSS', INDETERMINATE) -junction = express_getattr(IfcCableCarrierFittingTypeEnum, 'JUNCTION', INDETERMINATE) -reducer = express_getattr(IfcCableCarrierFittingTypeEnum, 'REDUCER', INDETERMINATE) -tee = express_getattr(IfcCableCarrierFittingTypeEnum, 'TEE', INDETERMINATE) -transition = express_getattr(IfcCableCarrierFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcCableCarrierFittingTypeEnum.BEND +connector = IfcCableCarrierFittingTypeEnum.CONNECTOR +cross = IfcCableCarrierFittingTypeEnum.CROSS +junction = IfcCableCarrierFittingTypeEnum.JUNCTION +reducer = IfcCableCarrierFittingTypeEnum.REDUCER +tee = IfcCableCarrierFittingTypeEnum.TEE +transition = IfcCableCarrierFittingTypeEnum.TRANSITION +userdefined = IfcCableCarrierFittingTypeEnum.USERDEFINED +notdefined = IfcCableCarrierFittingTypeEnum.NOTDEFINED IfcCableCarrierSegmentTypeEnum = enum_namespace() -cablebracket = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLEBRACKET', INDETERMINATE) -cableladdersegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLELADDERSEGMENT', INDETERMINATE) -cabletraysegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRAYSEGMENT', INDETERMINATE) -cabletrunkingsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRUNKINGSEGMENT', INDETERMINATE) -catenarywire = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CATENARYWIRE', INDETERMINATE) -conduitsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CONDUITSEGMENT', INDETERMINATE) -dropper = express_getattr(IfcCableCarrierSegmentTypeEnum, 'DROPPER', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +cablebracket = IfcCableCarrierSegmentTypeEnum.CABLEBRACKET +cableladdersegment = IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT +cabletraysegment = IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT +cabletrunkingsegment = IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT +catenarywire = IfcCableCarrierSegmentTypeEnum.CATENARYWIRE +conduitsegment = IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT +dropper = IfcCableCarrierSegmentTypeEnum.DROPPER +userdefined = IfcCableCarrierSegmentTypeEnum.USERDEFINED +notdefined = IfcCableCarrierSegmentTypeEnum.NOTDEFINED IfcCableFittingTypeEnum = enum_namespace() -connector = express_getattr(IfcCableFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcCableFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcCableFittingTypeEnum, 'EXIT', INDETERMINATE) -fanout = express_getattr(IfcCableFittingTypeEnum, 'FANOUT', INDETERMINATE) -junction = express_getattr(IfcCableFittingTypeEnum, 'JUNCTION', INDETERMINATE) -transition = express_getattr(IfcCableFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcCableFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +connector = IfcCableFittingTypeEnum.CONNECTOR +entry = IfcCableFittingTypeEnum.ENTRY +exit = IfcCableFittingTypeEnum.EXIT +fanout = IfcCableFittingTypeEnum.FANOUT +junction = IfcCableFittingTypeEnum.JUNCTION +transition = IfcCableFittingTypeEnum.TRANSITION +userdefined = IfcCableFittingTypeEnum.USERDEFINED +notdefined = IfcCableFittingTypeEnum.NOTDEFINED IfcCableSegmentTypeEnum = enum_namespace() -busbarsegment = express_getattr(IfcCableSegmentTypeEnum, 'BUSBARSEGMENT', INDETERMINATE) -cablesegment = express_getattr(IfcCableSegmentTypeEnum, 'CABLESEGMENT', INDETERMINATE) -conductorsegment = express_getattr(IfcCableSegmentTypeEnum, 'CONDUCTORSEGMENT', INDETERMINATE) -contactwiresegment = express_getattr(IfcCableSegmentTypeEnum, 'CONTACTWIRESEGMENT', INDETERMINATE) -coresegment = express_getattr(IfcCableSegmentTypeEnum, 'CORESEGMENT', INDETERMINATE) -fibersegment = express_getattr(IfcCableSegmentTypeEnum, 'FIBERSEGMENT', INDETERMINATE) -fibertube = express_getattr(IfcCableSegmentTypeEnum, 'FIBERTUBE', INDETERMINATE) -opticalcablesegment = express_getattr(IfcCableSegmentTypeEnum, 'OPTICALCABLESEGMENT', INDETERMINATE) -stitchwire = express_getattr(IfcCableSegmentTypeEnum, 'STITCHWIRE', INDETERMINATE) -wirepairsegment = express_getattr(IfcCableSegmentTypeEnum, 'WIREPAIRSEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcCableSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +busbarsegment = IfcCableSegmentTypeEnum.BUSBARSEGMENT +cablesegment = IfcCableSegmentTypeEnum.CABLESEGMENT +conductorsegment = IfcCableSegmentTypeEnum.CONDUCTORSEGMENT +contactwiresegment = IfcCableSegmentTypeEnum.CONTACTWIRESEGMENT +coresegment = IfcCableSegmentTypeEnum.CORESEGMENT +fibersegment = IfcCableSegmentTypeEnum.FIBERSEGMENT +fibertube = IfcCableSegmentTypeEnum.FIBERTUBE +opticalcablesegment = IfcCableSegmentTypeEnum.OPTICALCABLESEGMENT +stitchwire = IfcCableSegmentTypeEnum.STITCHWIRE +wirepairsegment = IfcCableSegmentTypeEnum.WIREPAIRSEGMENT +userdefined = IfcCableSegmentTypeEnum.USERDEFINED +notdefined = IfcCableSegmentTypeEnum.NOTDEFINED IfcCaissonFoundationTypeEnum = enum_namespace() -caisson = express_getattr(IfcCaissonFoundationTypeEnum, 'CAISSON', INDETERMINATE) -well = express_getattr(IfcCaissonFoundationTypeEnum, 'WELL', INDETERMINATE) -userdefined = express_getattr(IfcCaissonFoundationTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCaissonFoundationTypeEnum, 'NOTDEFINED', INDETERMINATE) +caisson = IfcCaissonFoundationTypeEnum.CAISSON +well = IfcCaissonFoundationTypeEnum.WELL +userdefined = IfcCaissonFoundationTypeEnum.USERDEFINED +notdefined = IfcCaissonFoundationTypeEnum.NOTDEFINED IfcChangeActionEnum = enum_namespace() -added = express_getattr(IfcChangeActionEnum, 'ADDED', INDETERMINATE) -deleted = express_getattr(IfcChangeActionEnum, 'DELETED', INDETERMINATE) -modified = express_getattr(IfcChangeActionEnum, 'MODIFIED', INDETERMINATE) -nochange = express_getattr(IfcChangeActionEnum, 'NOCHANGE', INDETERMINATE) -notdefined = express_getattr(IfcChangeActionEnum, 'NOTDEFINED', INDETERMINATE) +added = IfcChangeActionEnum.ADDED +deleted = IfcChangeActionEnum.DELETED +modified = IfcChangeActionEnum.MODIFIED +nochange = IfcChangeActionEnum.NOCHANGE +notdefined = IfcChangeActionEnum.NOTDEFINED IfcChillerTypeEnum = enum_namespace() -aircooled = express_getattr(IfcChillerTypeEnum, 'AIRCOOLED', INDETERMINATE) -heatrecovery = express_getattr(IfcChillerTypeEnum, 'HEATRECOVERY', INDETERMINATE) -watercooled = express_getattr(IfcChillerTypeEnum, 'WATERCOOLED', INDETERMINATE) -userdefined = express_getattr(IfcChillerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChillerTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcChillerTypeEnum.AIRCOOLED +heatrecovery = IfcChillerTypeEnum.HEATRECOVERY +watercooled = IfcChillerTypeEnum.WATERCOOLED +userdefined = IfcChillerTypeEnum.USERDEFINED +notdefined = IfcChillerTypeEnum.NOTDEFINED IfcChimneyTypeEnum = enum_namespace() -userdefined = express_getattr(IfcChimneyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChimneyTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcChimneyTypeEnum.USERDEFINED +notdefined = IfcChimneyTypeEnum.NOTDEFINED IfcCoilTypeEnum = enum_namespace() -dxcoolingcoil = express_getattr(IfcCoilTypeEnum, 'DXCOOLINGCOIL', INDETERMINATE) -electricheatingcoil = express_getattr(IfcCoilTypeEnum, 'ELECTRICHEATINGCOIL', INDETERMINATE) -gasheatingcoil = express_getattr(IfcCoilTypeEnum, 'GASHEATINGCOIL', INDETERMINATE) -hydroniccoil = express_getattr(IfcCoilTypeEnum, 'HYDRONICCOIL', INDETERMINATE) -steamheatingcoil = express_getattr(IfcCoilTypeEnum, 'STEAMHEATINGCOIL', INDETERMINATE) -watercoolingcoil = express_getattr(IfcCoilTypeEnum, 'WATERCOOLINGCOIL', INDETERMINATE) -waterheatingcoil = express_getattr(IfcCoilTypeEnum, 'WATERHEATINGCOIL', INDETERMINATE) -userdefined = express_getattr(IfcCoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +dxcoolingcoil = IfcCoilTypeEnum.DXCOOLINGCOIL +electricheatingcoil = IfcCoilTypeEnum.ELECTRICHEATINGCOIL +gasheatingcoil = IfcCoilTypeEnum.GASHEATINGCOIL +hydroniccoil = IfcCoilTypeEnum.HYDRONICCOIL +steamheatingcoil = IfcCoilTypeEnum.STEAMHEATINGCOIL +watercoolingcoil = IfcCoilTypeEnum.WATERCOOLINGCOIL +waterheatingcoil = IfcCoilTypeEnum.WATERHEATINGCOIL +userdefined = IfcCoilTypeEnum.USERDEFINED +notdefined = IfcCoilTypeEnum.NOTDEFINED IfcColumnTypeEnum = enum_namespace() -column = express_getattr(IfcColumnTypeEnum, 'COLUMN', INDETERMINATE) -pierstem = express_getattr(IfcColumnTypeEnum, 'PIERSTEM', INDETERMINATE) -pierstem_segment = express_getattr(IfcColumnTypeEnum, 'PIERSTEM_SEGMENT', INDETERMINATE) -pilaster = express_getattr(IfcColumnTypeEnum, 'PILASTER', INDETERMINATE) -standcolumn = express_getattr(IfcColumnTypeEnum, 'STANDCOLUMN', INDETERMINATE) -userdefined = express_getattr(IfcColumnTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcColumnTypeEnum, 'NOTDEFINED', INDETERMINATE) +column = IfcColumnTypeEnum.COLUMN +pierstem = IfcColumnTypeEnum.PIERSTEM +pierstem_segment = IfcColumnTypeEnum.PIERSTEM_SEGMENT +pilaster = IfcColumnTypeEnum.PILASTER +standcolumn = IfcColumnTypeEnum.STANDCOLUMN +userdefined = IfcColumnTypeEnum.USERDEFINED +notdefined = IfcColumnTypeEnum.NOTDEFINED IfcCommunicationsApplianceTypeEnum = enum_namespace() -antenna = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ANTENNA', INDETERMINATE) -automaton = express_getattr(IfcCommunicationsApplianceTypeEnum, 'AUTOMATON', INDETERMINATE) -computer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'COMPUTER', INDETERMINATE) -fax = express_getattr(IfcCommunicationsApplianceTypeEnum, 'FAX', INDETERMINATE) -gateway = express_getattr(IfcCommunicationsApplianceTypeEnum, 'GATEWAY', INDETERMINATE) -intelligentperipheral = express_getattr(IfcCommunicationsApplianceTypeEnum, 'INTELLIGENTPERIPHERAL', INDETERMINATE) -ipnetworkequipment = express_getattr(IfcCommunicationsApplianceTypeEnum, 'IPNETWORKEQUIPMENT', INDETERMINATE) -linesideelectronicunit = express_getattr(IfcCommunicationsApplianceTypeEnum, 'LINESIDEELECTRONICUNIT', INDETERMINATE) -modem = express_getattr(IfcCommunicationsApplianceTypeEnum, 'MODEM', INDETERMINATE) -networkappliance = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKAPPLIANCE', INDETERMINATE) -networkbridge = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKBRIDGE', INDETERMINATE) -networkhub = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKHUB', INDETERMINATE) -opticallineterminal = express_getattr(IfcCommunicationsApplianceTypeEnum, 'OPTICALLINETERMINAL', INDETERMINATE) -opticalnetworkunit = express_getattr(IfcCommunicationsApplianceTypeEnum, 'OPTICALNETWORKUNIT', INDETERMINATE) -printer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'PRINTER', INDETERMINATE) -radioblockcenter = express_getattr(IfcCommunicationsApplianceTypeEnum, 'RADIOBLOCKCENTER', INDETERMINATE) -repeater = express_getattr(IfcCommunicationsApplianceTypeEnum, 'REPEATER', INDETERMINATE) -router = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ROUTER', INDETERMINATE) -scanner = express_getattr(IfcCommunicationsApplianceTypeEnum, 'SCANNER', INDETERMINATE) -telecommand = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TELECOMMAND', INDETERMINATE) -telephonyexchange = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TELEPHONYEXCHANGE', INDETERMINATE) -transitioncomponent = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSITIONCOMPONENT', INDETERMINATE) -transponder = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSPONDER', INDETERMINATE) -transportequipment = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSPORTEQUIPMENT', INDETERMINATE) -userdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +antenna = IfcCommunicationsApplianceTypeEnum.ANTENNA +automaton = IfcCommunicationsApplianceTypeEnum.AUTOMATON +computer = IfcCommunicationsApplianceTypeEnum.COMPUTER +fax = IfcCommunicationsApplianceTypeEnum.FAX +gateway = IfcCommunicationsApplianceTypeEnum.GATEWAY +intelligentperipheral = IfcCommunicationsApplianceTypeEnum.INTELLIGENTPERIPHERAL +ipnetworkequipment = IfcCommunicationsApplianceTypeEnum.IPNETWORKEQUIPMENT +linesideelectronicunit = IfcCommunicationsApplianceTypeEnum.LINESIDEELECTRONICUNIT +modem = IfcCommunicationsApplianceTypeEnum.MODEM +networkappliance = IfcCommunicationsApplianceTypeEnum.NETWORKAPPLIANCE +networkbridge = IfcCommunicationsApplianceTypeEnum.NETWORKBRIDGE +networkhub = IfcCommunicationsApplianceTypeEnum.NETWORKHUB +opticallineterminal = IfcCommunicationsApplianceTypeEnum.OPTICALLINETERMINAL +opticalnetworkunit = IfcCommunicationsApplianceTypeEnum.OPTICALNETWORKUNIT +printer = IfcCommunicationsApplianceTypeEnum.PRINTER +radioblockcenter = IfcCommunicationsApplianceTypeEnum.RADIOBLOCKCENTER +repeater = IfcCommunicationsApplianceTypeEnum.REPEATER +router = IfcCommunicationsApplianceTypeEnum.ROUTER +scanner = IfcCommunicationsApplianceTypeEnum.SCANNER +telecommand = IfcCommunicationsApplianceTypeEnum.TELECOMMAND +telephonyexchange = IfcCommunicationsApplianceTypeEnum.TELEPHONYEXCHANGE +transitioncomponent = IfcCommunicationsApplianceTypeEnum.TRANSITIONCOMPONENT +transponder = IfcCommunicationsApplianceTypeEnum.TRANSPONDER +transportequipment = IfcCommunicationsApplianceTypeEnum.TRANSPORTEQUIPMENT +userdefined = IfcCommunicationsApplianceTypeEnum.USERDEFINED +notdefined = IfcCommunicationsApplianceTypeEnum.NOTDEFINED IfcComplexPropertyTemplateTypeEnum = enum_namespace() -p_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'P_COMPLEX', INDETERMINATE) -q_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'Q_COMPLEX', INDETERMINATE) +p_complex = IfcComplexPropertyTemplateTypeEnum.P_COMPLEX +q_complex = IfcComplexPropertyTemplateTypeEnum.Q_COMPLEX IfcCompressorTypeEnum = enum_namespace() -booster = express_getattr(IfcCompressorTypeEnum, 'BOOSTER', INDETERMINATE) -dynamic = express_getattr(IfcCompressorTypeEnum, 'DYNAMIC', INDETERMINATE) -hermetic = express_getattr(IfcCompressorTypeEnum, 'HERMETIC', INDETERMINATE) -opentype = express_getattr(IfcCompressorTypeEnum, 'OPENTYPE', INDETERMINATE) -reciprocating = express_getattr(IfcCompressorTypeEnum, 'RECIPROCATING', INDETERMINATE) -rollingpiston = express_getattr(IfcCompressorTypeEnum, 'ROLLINGPISTON', INDETERMINATE) -rotary = express_getattr(IfcCompressorTypeEnum, 'ROTARY', INDETERMINATE) -rotaryvane = express_getattr(IfcCompressorTypeEnum, 'ROTARYVANE', INDETERMINATE) -scroll = express_getattr(IfcCompressorTypeEnum, 'SCROLL', INDETERMINATE) -semihermetic = express_getattr(IfcCompressorTypeEnum, 'SEMIHERMETIC', INDETERMINATE) -singlescrew = express_getattr(IfcCompressorTypeEnum, 'SINGLESCREW', INDETERMINATE) -singlestage = express_getattr(IfcCompressorTypeEnum, 'SINGLESTAGE', INDETERMINATE) -trochoidal = express_getattr(IfcCompressorTypeEnum, 'TROCHOIDAL', INDETERMINATE) -twinscrew = express_getattr(IfcCompressorTypeEnum, 'TWINSCREW', INDETERMINATE) -weldedshellhermetic = express_getattr(IfcCompressorTypeEnum, 'WELDEDSHELLHERMETIC', INDETERMINATE) -userdefined = express_getattr(IfcCompressorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCompressorTypeEnum, 'NOTDEFINED', INDETERMINATE) +booster = IfcCompressorTypeEnum.BOOSTER +dynamic = IfcCompressorTypeEnum.DYNAMIC +hermetic = IfcCompressorTypeEnum.HERMETIC +opentype = IfcCompressorTypeEnum.OPENTYPE +reciprocating = IfcCompressorTypeEnum.RECIPROCATING +rollingpiston = IfcCompressorTypeEnum.ROLLINGPISTON +rotary = IfcCompressorTypeEnum.ROTARY +rotaryvane = IfcCompressorTypeEnum.ROTARYVANE +scroll = IfcCompressorTypeEnum.SCROLL +semihermetic = IfcCompressorTypeEnum.SEMIHERMETIC +singlescrew = IfcCompressorTypeEnum.SINGLESCREW +singlestage = IfcCompressorTypeEnum.SINGLESTAGE +trochoidal = IfcCompressorTypeEnum.TROCHOIDAL +twinscrew = IfcCompressorTypeEnum.TWINSCREW +weldedshellhermetic = IfcCompressorTypeEnum.WELDEDSHELLHERMETIC +userdefined = IfcCompressorTypeEnum.USERDEFINED +notdefined = IfcCompressorTypeEnum.NOTDEFINED IfcCondenserTypeEnum = enum_namespace() -aircooled = express_getattr(IfcCondenserTypeEnum, 'AIRCOOLED', INDETERMINATE) -evaporativecooled = express_getattr(IfcCondenserTypeEnum, 'EVAPORATIVECOOLED', INDETERMINATE) -watercooled = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLED', INDETERMINATE) -watercooledbrazedplate = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDBRAZEDPLATE', INDETERMINATE) -watercooledshellcoil = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLCOIL', INDETERMINATE) -watercooledshelltube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLTUBE', INDETERMINATE) -watercooledtubeintube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDTUBEINTUBE', INDETERMINATE) -userdefined = express_getattr(IfcCondenserTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCondenserTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcCondenserTypeEnum.AIRCOOLED +evaporativecooled = IfcCondenserTypeEnum.EVAPORATIVECOOLED +watercooled = IfcCondenserTypeEnum.WATERCOOLED +watercooledbrazedplate = IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE +watercooledshellcoil = IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL +watercooledshelltube = IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE +watercooledtubeintube = IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE +userdefined = IfcCondenserTypeEnum.USERDEFINED +notdefined = IfcCondenserTypeEnum.NOTDEFINED IfcConnectionTypeEnum = enum_namespace() -atend = express_getattr(IfcConnectionTypeEnum, 'ATEND', INDETERMINATE) -atpath = express_getattr(IfcConnectionTypeEnum, 'ATPATH', INDETERMINATE) -atstart = express_getattr(IfcConnectionTypeEnum, 'ATSTART', INDETERMINATE) -notdefined = express_getattr(IfcConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +atend = IfcConnectionTypeEnum.ATEND +atpath = IfcConnectionTypeEnum.ATPATH +atstart = IfcConnectionTypeEnum.ATSTART +notdefined = IfcConnectionTypeEnum.NOTDEFINED IfcConstraintEnum = enum_namespace() -advisory = express_getattr(IfcConstraintEnum, 'ADVISORY', INDETERMINATE) -hard = express_getattr(IfcConstraintEnum, 'HARD', INDETERMINATE) -soft = express_getattr(IfcConstraintEnum, 'SOFT', INDETERMINATE) -userdefined = express_getattr(IfcConstraintEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstraintEnum, 'NOTDEFINED', INDETERMINATE) +advisory = IfcConstraintEnum.ADVISORY +hard = IfcConstraintEnum.HARD +soft = IfcConstraintEnum.SOFT +userdefined = IfcConstraintEnum.USERDEFINED +notdefined = IfcConstraintEnum.NOTDEFINED IfcConstructionEquipmentResourceTypeEnum = enum_namespace() -demolishing = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'DEMOLISHING', INDETERMINATE) -earthmoving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'EARTHMOVING', INDETERMINATE) -erecting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'ERECTING', INDETERMINATE) -heating = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'LIGHTING', INDETERMINATE) -paving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PAVING', INDETERMINATE) -pumping = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PUMPING', INDETERMINATE) -transporting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'TRANSPORTING', INDETERMINATE) -userdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +demolishing = IfcConstructionEquipmentResourceTypeEnum.DEMOLISHING +earthmoving = IfcConstructionEquipmentResourceTypeEnum.EARTHMOVING +erecting = IfcConstructionEquipmentResourceTypeEnum.ERECTING +heating = IfcConstructionEquipmentResourceTypeEnum.HEATING +lighting = IfcConstructionEquipmentResourceTypeEnum.LIGHTING +paving = IfcConstructionEquipmentResourceTypeEnum.PAVING +pumping = IfcConstructionEquipmentResourceTypeEnum.PUMPING +transporting = IfcConstructionEquipmentResourceTypeEnum.TRANSPORTING +userdefined = IfcConstructionEquipmentResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionEquipmentResourceTypeEnum.NOTDEFINED IfcConstructionMaterialResourceTypeEnum = enum_namespace() -aggregates = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'AGGREGATES', INDETERMINATE) -concrete = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'DRYWALL', INDETERMINATE) -fuel = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'FUEL', INDETERMINATE) -gypsum = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'GYPSUM', INDETERMINATE) -masonry = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'MASONRY', INDETERMINATE) -metal = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'METAL', INDETERMINATE) -plastic = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'PLASTIC', INDETERMINATE) -wood = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'WOOD', INDETERMINATE) -userdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +aggregates = IfcConstructionMaterialResourceTypeEnum.AGGREGATES +concrete = IfcConstructionMaterialResourceTypeEnum.CONCRETE +drywall = IfcConstructionMaterialResourceTypeEnum.DRYWALL +fuel = IfcConstructionMaterialResourceTypeEnum.FUEL +gypsum = IfcConstructionMaterialResourceTypeEnum.GYPSUM +masonry = IfcConstructionMaterialResourceTypeEnum.MASONRY +metal = IfcConstructionMaterialResourceTypeEnum.METAL +plastic = IfcConstructionMaterialResourceTypeEnum.PLASTIC +wood = IfcConstructionMaterialResourceTypeEnum.WOOD +userdefined = IfcConstructionMaterialResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionMaterialResourceTypeEnum.NOTDEFINED IfcConstructionProductResourceTypeEnum = enum_namespace() -assembly = express_getattr(IfcConstructionProductResourceTypeEnum, 'ASSEMBLY', INDETERMINATE) -formwork = express_getattr(IfcConstructionProductResourceTypeEnum, 'FORMWORK', INDETERMINATE) -userdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +assembly = IfcConstructionProductResourceTypeEnum.ASSEMBLY +formwork = IfcConstructionProductResourceTypeEnum.FORMWORK +userdefined = IfcConstructionProductResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionProductResourceTypeEnum.NOTDEFINED IfcControllerTypeEnum = enum_namespace() -floating = express_getattr(IfcControllerTypeEnum, 'FLOATING', INDETERMINATE) -multiposition = express_getattr(IfcControllerTypeEnum, 'MULTIPOSITION', INDETERMINATE) -programmable = express_getattr(IfcControllerTypeEnum, 'PROGRAMMABLE', INDETERMINATE) -proportional = express_getattr(IfcControllerTypeEnum, 'PROPORTIONAL', INDETERMINATE) -twoposition = express_getattr(IfcControllerTypeEnum, 'TWOPOSITION', INDETERMINATE) -userdefined = express_getattr(IfcControllerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcControllerTypeEnum, 'NOTDEFINED', INDETERMINATE) +floating = IfcControllerTypeEnum.FLOATING +multiposition = IfcControllerTypeEnum.MULTIPOSITION +programmable = IfcControllerTypeEnum.PROGRAMMABLE +proportional = IfcControllerTypeEnum.PROPORTIONAL +twoposition = IfcControllerTypeEnum.TWOPOSITION +userdefined = IfcControllerTypeEnum.USERDEFINED +notdefined = IfcControllerTypeEnum.NOTDEFINED IfcConveyorSegmentTypeEnum = enum_namespace() -beltconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'BELTCONVEYOR', INDETERMINATE) -bucketconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'BUCKETCONVEYOR', INDETERMINATE) -chuteconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'CHUTECONVEYOR', INDETERMINATE) -screwconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'SCREWCONVEYOR', INDETERMINATE) -userdefined = express_getattr(IfcConveyorSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConveyorSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +beltconveyor = IfcConveyorSegmentTypeEnum.BELTCONVEYOR +bucketconveyor = IfcConveyorSegmentTypeEnum.BUCKETCONVEYOR +chuteconveyor = IfcConveyorSegmentTypeEnum.CHUTECONVEYOR +screwconveyor = IfcConveyorSegmentTypeEnum.SCREWCONVEYOR +userdefined = IfcConveyorSegmentTypeEnum.USERDEFINED +notdefined = IfcConveyorSegmentTypeEnum.NOTDEFINED IfcCooledBeamTypeEnum = enum_namespace() -active = express_getattr(IfcCooledBeamTypeEnum, 'ACTIVE', INDETERMINATE) -passive = express_getattr(IfcCooledBeamTypeEnum, 'PASSIVE', INDETERMINATE) -userdefined = express_getattr(IfcCooledBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCooledBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +active = IfcCooledBeamTypeEnum.ACTIVE +passive = IfcCooledBeamTypeEnum.PASSIVE +userdefined = IfcCooledBeamTypeEnum.USERDEFINED +notdefined = IfcCooledBeamTypeEnum.NOTDEFINED IfcCoolingTowerTypeEnum = enum_namespace() -mechanicalforceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALFORCEDDRAFT', INDETERMINATE) -mechanicalinduceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALINDUCEDDRAFT', INDETERMINATE) -naturaldraft = express_getattr(IfcCoolingTowerTypeEnum, 'NATURALDRAFT', INDETERMINATE) -userdefined = express_getattr(IfcCoolingTowerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoolingTowerTypeEnum, 'NOTDEFINED', INDETERMINATE) +mechanicalforceddraft = IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT +mechanicalinduceddraft = IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT +naturaldraft = IfcCoolingTowerTypeEnum.NATURALDRAFT +userdefined = IfcCoolingTowerTypeEnum.USERDEFINED +notdefined = IfcCoolingTowerTypeEnum.NOTDEFINED IfcCostItemTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCostItemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostItemTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCostItemTypeEnum.USERDEFINED +notdefined = IfcCostItemTypeEnum.NOTDEFINED IfcCostScheduleTypeEnum = enum_namespace() -budget = express_getattr(IfcCostScheduleTypeEnum, 'BUDGET', INDETERMINATE) -costplan = express_getattr(IfcCostScheduleTypeEnum, 'COSTPLAN', INDETERMINATE) -estimate = express_getattr(IfcCostScheduleTypeEnum, 'ESTIMATE', INDETERMINATE) -pricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'PRICEDBILLOFQUANTITIES', INDETERMINATE) -scheduleofrates = express_getattr(IfcCostScheduleTypeEnum, 'SCHEDULEOFRATES', INDETERMINATE) -tender = express_getattr(IfcCostScheduleTypeEnum, 'TENDER', INDETERMINATE) -unpricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'UNPRICEDBILLOFQUANTITIES', INDETERMINATE) -userdefined = express_getattr(IfcCostScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +budget = IfcCostScheduleTypeEnum.BUDGET +costplan = IfcCostScheduleTypeEnum.COSTPLAN +estimate = IfcCostScheduleTypeEnum.ESTIMATE +pricedbillofquantities = IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES +scheduleofrates = IfcCostScheduleTypeEnum.SCHEDULEOFRATES +tender = IfcCostScheduleTypeEnum.TENDER +unpricedbillofquantities = IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES +userdefined = IfcCostScheduleTypeEnum.USERDEFINED +notdefined = IfcCostScheduleTypeEnum.NOTDEFINED IfcCourseTypeEnum = enum_namespace() -armour = express_getattr(IfcCourseTypeEnum, 'ARMOUR', INDETERMINATE) -ballastbed = express_getattr(IfcCourseTypeEnum, 'BALLASTBED', INDETERMINATE) -core = express_getattr(IfcCourseTypeEnum, 'CORE', INDETERMINATE) -filter = express_getattr(IfcCourseTypeEnum, 'FILTER', INDETERMINATE) -pavement = express_getattr(IfcCourseTypeEnum, 'PAVEMENT', INDETERMINATE) -protection = express_getattr(IfcCourseTypeEnum, 'PROTECTION', INDETERMINATE) -userdefined = express_getattr(IfcCourseTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCourseTypeEnum, 'NOTDEFINED', INDETERMINATE) +armour = IfcCourseTypeEnum.ARMOUR +ballastbed = IfcCourseTypeEnum.BALLASTBED +core = IfcCourseTypeEnum.CORE +filter = IfcCourseTypeEnum.FILTER +pavement = IfcCourseTypeEnum.PAVEMENT +protection = IfcCourseTypeEnum.PROTECTION +userdefined = IfcCourseTypeEnum.USERDEFINED +notdefined = IfcCourseTypeEnum.NOTDEFINED IfcCoveringTypeEnum = enum_namespace() -ceiling = express_getattr(IfcCoveringTypeEnum, 'CEILING', INDETERMINATE) -cladding = express_getattr(IfcCoveringTypeEnum, 'CLADDING', INDETERMINATE) -coping = express_getattr(IfcCoveringTypeEnum, 'COPING', INDETERMINATE) -flooring = express_getattr(IfcCoveringTypeEnum, 'FLOORING', INDETERMINATE) -insulation = express_getattr(IfcCoveringTypeEnum, 'INSULATION', INDETERMINATE) -membrane = express_getattr(IfcCoveringTypeEnum, 'MEMBRANE', INDETERMINATE) -molding = express_getattr(IfcCoveringTypeEnum, 'MOLDING', INDETERMINATE) -roofing = express_getattr(IfcCoveringTypeEnum, 'ROOFING', INDETERMINATE) -skirtingboard = express_getattr(IfcCoveringTypeEnum, 'SKIRTINGBOARD', INDETERMINATE) -sleeving = express_getattr(IfcCoveringTypeEnum, 'SLEEVING', INDETERMINATE) -topping = express_getattr(IfcCoveringTypeEnum, 'TOPPING', INDETERMINATE) -wrapping = express_getattr(IfcCoveringTypeEnum, 'WRAPPING', INDETERMINATE) -userdefined = express_getattr(IfcCoveringTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoveringTypeEnum, 'NOTDEFINED', INDETERMINATE) +ceiling = IfcCoveringTypeEnum.CEILING +cladding = IfcCoveringTypeEnum.CLADDING +coping = IfcCoveringTypeEnum.COPING +flooring = IfcCoveringTypeEnum.FLOORING +insulation = IfcCoveringTypeEnum.INSULATION +membrane = IfcCoveringTypeEnum.MEMBRANE +molding = IfcCoveringTypeEnum.MOLDING +roofing = IfcCoveringTypeEnum.ROOFING +skirtingboard = IfcCoveringTypeEnum.SKIRTINGBOARD +sleeving = IfcCoveringTypeEnum.SLEEVING +topping = IfcCoveringTypeEnum.TOPPING +wrapping = IfcCoveringTypeEnum.WRAPPING +userdefined = IfcCoveringTypeEnum.USERDEFINED +notdefined = IfcCoveringTypeEnum.NOTDEFINED IfcCrewResourceTypeEnum = enum_namespace() -office = express_getattr(IfcCrewResourceTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcCrewResourceTypeEnum, 'SITE', INDETERMINATE) -userdefined = express_getattr(IfcCrewResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCrewResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +office = IfcCrewResourceTypeEnum.OFFICE +site = IfcCrewResourceTypeEnum.SITE +userdefined = IfcCrewResourceTypeEnum.USERDEFINED +notdefined = IfcCrewResourceTypeEnum.NOTDEFINED IfcCurtainWallTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCurtainWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCurtainWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCurtainWallTypeEnum.USERDEFINED +notdefined = IfcCurtainWallTypeEnum.NOTDEFINED IfcCurveInterpolationEnum = enum_namespace() -linear = express_getattr(IfcCurveInterpolationEnum, 'LINEAR', INDETERMINATE) -log_linear = express_getattr(IfcCurveInterpolationEnum, 'LOG_LINEAR', INDETERMINATE) -log_log = express_getattr(IfcCurveInterpolationEnum, 'LOG_LOG', INDETERMINATE) -notdefined = express_getattr(IfcCurveInterpolationEnum, 'NOTDEFINED', INDETERMINATE) +linear = IfcCurveInterpolationEnum.LINEAR +log_linear = IfcCurveInterpolationEnum.LOG_LINEAR +log_log = IfcCurveInterpolationEnum.LOG_LOG +notdefined = IfcCurveInterpolationEnum.NOTDEFINED IfcDamperTypeEnum = enum_namespace() -backdraftdamper = express_getattr(IfcDamperTypeEnum, 'BACKDRAFTDAMPER', INDETERMINATE) -balancingdamper = express_getattr(IfcDamperTypeEnum, 'BALANCINGDAMPER', INDETERMINATE) -blastdamper = express_getattr(IfcDamperTypeEnum, 'BLASTDAMPER', INDETERMINATE) -controldamper = express_getattr(IfcDamperTypeEnum, 'CONTROLDAMPER', INDETERMINATE) -firedamper = express_getattr(IfcDamperTypeEnum, 'FIREDAMPER', INDETERMINATE) -firesmokedamper = express_getattr(IfcDamperTypeEnum, 'FIRESMOKEDAMPER', INDETERMINATE) -fumehoodexhaust = express_getattr(IfcDamperTypeEnum, 'FUMEHOODEXHAUST', INDETERMINATE) -gravitydamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYDAMPER', INDETERMINATE) -gravityreliefdamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYRELIEFDAMPER', INDETERMINATE) -reliefdamper = express_getattr(IfcDamperTypeEnum, 'RELIEFDAMPER', INDETERMINATE) -smokedamper = express_getattr(IfcDamperTypeEnum, 'SMOKEDAMPER', INDETERMINATE) -userdefined = express_getattr(IfcDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +backdraftdamper = IfcDamperTypeEnum.BACKDRAFTDAMPER +balancingdamper = IfcDamperTypeEnum.BALANCINGDAMPER +blastdamper = IfcDamperTypeEnum.BLASTDAMPER +controldamper = IfcDamperTypeEnum.CONTROLDAMPER +firedamper = IfcDamperTypeEnum.FIREDAMPER +firesmokedamper = IfcDamperTypeEnum.FIRESMOKEDAMPER +fumehoodexhaust = IfcDamperTypeEnum.FUMEHOODEXHAUST +gravitydamper = IfcDamperTypeEnum.GRAVITYDAMPER +gravityreliefdamper = IfcDamperTypeEnum.GRAVITYRELIEFDAMPER +reliefdamper = IfcDamperTypeEnum.RELIEFDAMPER +smokedamper = IfcDamperTypeEnum.SMOKEDAMPER +userdefined = IfcDamperTypeEnum.USERDEFINED +notdefined = IfcDamperTypeEnum.NOTDEFINED IfcDataOriginEnum = enum_namespace() -measured = express_getattr(IfcDataOriginEnum, 'MEASURED', INDETERMINATE) -predicted = express_getattr(IfcDataOriginEnum, 'PREDICTED', INDETERMINATE) -simulated = express_getattr(IfcDataOriginEnum, 'SIMULATED', INDETERMINATE) -userdefined = express_getattr(IfcDataOriginEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDataOriginEnum, 'NOTDEFINED', INDETERMINATE) +measured = IfcDataOriginEnum.MEASURED +predicted = IfcDataOriginEnum.PREDICTED +simulated = IfcDataOriginEnum.SIMULATED +userdefined = IfcDataOriginEnum.USERDEFINED +notdefined = IfcDataOriginEnum.NOTDEFINED IfcDerivedUnitEnum = enum_namespace() -accelerationunit = express_getattr(IfcDerivedUnitEnum, 'ACCELERATIONUNIT', INDETERMINATE) -angularvelocityunit = express_getattr(IfcDerivedUnitEnum, 'ANGULARVELOCITYUNIT', INDETERMINATE) -areadensityunit = express_getattr(IfcDerivedUnitEnum, 'AREADENSITYUNIT', INDETERMINATE) -compoundplaneangleunit = express_getattr(IfcDerivedUnitEnum, 'COMPOUNDPLANEANGLEUNIT', INDETERMINATE) -curvatureunit = express_getattr(IfcDerivedUnitEnum, 'CURVATUREUNIT', INDETERMINATE) -dynamicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'DYNAMICVISCOSITYUNIT', INDETERMINATE) -heatfluxdensityunit = express_getattr(IfcDerivedUnitEnum, 'HEATFLUXDENSITYUNIT', INDETERMINATE) -heatingvalueunit = express_getattr(IfcDerivedUnitEnum, 'HEATINGVALUEUNIT', INDETERMINATE) -integercountrateunit = express_getattr(IfcDerivedUnitEnum, 'INTEGERCOUNTRATEUNIT', INDETERMINATE) -ionconcentrationunit = express_getattr(IfcDerivedUnitEnum, 'IONCONCENTRATIONUNIT', INDETERMINATE) -isothermalmoisturecapacityunit = express_getattr(IfcDerivedUnitEnum, 'ISOTHERMALMOISTURECAPACITYUNIT', INDETERMINATE) -kinematicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'KINEMATICVISCOSITYUNIT', INDETERMINATE) -linearforceunit = express_getattr(IfcDerivedUnitEnum, 'LINEARFORCEUNIT', INDETERMINATE) -linearmomentunit = express_getattr(IfcDerivedUnitEnum, 'LINEARMOMENTUNIT', INDETERMINATE) -linearstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'LINEARSTIFFNESSUNIT', INDETERMINATE) -linearvelocityunit = express_getattr(IfcDerivedUnitEnum, 'LINEARVELOCITYUNIT', INDETERMINATE) -luminousintensitydistributionunit = express_getattr(IfcDerivedUnitEnum, 'LUMINOUSINTENSITYDISTRIBUTIONUNIT', INDETERMINATE) -massdensityunit = express_getattr(IfcDerivedUnitEnum, 'MASSDENSITYUNIT', INDETERMINATE) -massflowrateunit = express_getattr(IfcDerivedUnitEnum, 'MASSFLOWRATEUNIT', INDETERMINATE) -massperlengthunit = express_getattr(IfcDerivedUnitEnum, 'MASSPERLENGTHUNIT', INDETERMINATE) -modulusofelasticityunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFELASTICITYUNIT', INDETERMINATE) -modulusoflinearsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFLINEARSUBGRADEREACTIONUNIT', INDETERMINATE) -modulusofrotationalsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFROTATIONALSUBGRADEREACTIONUNIT', INDETERMINATE) -modulusofsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFSUBGRADEREACTIONUNIT', INDETERMINATE) -moisturediffusivityunit = express_getattr(IfcDerivedUnitEnum, 'MOISTUREDIFFUSIVITYUNIT', INDETERMINATE) -molecularweightunit = express_getattr(IfcDerivedUnitEnum, 'MOLECULARWEIGHTUNIT', INDETERMINATE) -momentofinertiaunit = express_getattr(IfcDerivedUnitEnum, 'MOMENTOFINERTIAUNIT', INDETERMINATE) -phunit = express_getattr(IfcDerivedUnitEnum, 'PHUNIT', INDETERMINATE) -planarforceunit = express_getattr(IfcDerivedUnitEnum, 'PLANARFORCEUNIT', INDETERMINATE) -rotationalfrequencyunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALFREQUENCYUNIT', INDETERMINATE) -rotationalmassunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALMASSUNIT', INDETERMINATE) -rotationalstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALSTIFFNESSUNIT', INDETERMINATE) -sectionareaintegralunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONAREAINTEGRALUNIT', INDETERMINATE) -sectionmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONMODULUSUNIT', INDETERMINATE) -shearmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SHEARMODULUSUNIT', INDETERMINATE) -soundpowerlevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERLEVELUNIT', INDETERMINATE) -soundpowerunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERUNIT', INDETERMINATE) -soundpressurelevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSURELEVELUNIT', INDETERMINATE) -soundpressureunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSUREUNIT', INDETERMINATE) -specificheatcapacityunit = express_getattr(IfcDerivedUnitEnum, 'SPECIFICHEATCAPACITYUNIT', INDETERMINATE) -temperaturegradientunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATUREGRADIENTUNIT', INDETERMINATE) -temperaturerateofchangeunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATURERATEOFCHANGEUNIT', INDETERMINATE) -thermaladmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALADMITTANCEUNIT', INDETERMINATE) -thermalconductanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALCONDUCTANCEUNIT', INDETERMINATE) -thermalexpansioncoefficientunit = express_getattr(IfcDerivedUnitEnum, 'THERMALEXPANSIONCOEFFICIENTUNIT', INDETERMINATE) -thermalresistanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALRESISTANCEUNIT', INDETERMINATE) -thermaltransmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALTRANSMITTANCEUNIT', INDETERMINATE) -torqueunit = express_getattr(IfcDerivedUnitEnum, 'TORQUEUNIT', INDETERMINATE) -vaporpermeabilityunit = express_getattr(IfcDerivedUnitEnum, 'VAPORPERMEABILITYUNIT', INDETERMINATE) -volumetricflowrateunit = express_getattr(IfcDerivedUnitEnum, 'VOLUMETRICFLOWRATEUNIT', INDETERMINATE) -warpingconstantunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGCONSTANTUNIT', INDETERMINATE) -warpingmomentunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGMOMENTUNIT', INDETERMINATE) -userdefined = express_getattr(IfcDerivedUnitEnum, 'USERDEFINED', INDETERMINATE) +accelerationunit = IfcDerivedUnitEnum.ACCELERATIONUNIT +angularvelocityunit = IfcDerivedUnitEnum.ANGULARVELOCITYUNIT +areadensityunit = IfcDerivedUnitEnum.AREADENSITYUNIT +compoundplaneangleunit = IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT +curvatureunit = IfcDerivedUnitEnum.CURVATUREUNIT +dynamicviscosityunit = IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT +heatfluxdensityunit = IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT +heatingvalueunit = IfcDerivedUnitEnum.HEATINGVALUEUNIT +integercountrateunit = IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT +ionconcentrationunit = IfcDerivedUnitEnum.IONCONCENTRATIONUNIT +isothermalmoisturecapacityunit = IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT +kinematicviscosityunit = IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT +linearforceunit = IfcDerivedUnitEnum.LINEARFORCEUNIT +linearmomentunit = IfcDerivedUnitEnum.LINEARMOMENTUNIT +linearstiffnessunit = IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT +linearvelocityunit = IfcDerivedUnitEnum.LINEARVELOCITYUNIT +luminousintensitydistributionunit = IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT +massdensityunit = IfcDerivedUnitEnum.MASSDENSITYUNIT +massflowrateunit = IfcDerivedUnitEnum.MASSFLOWRATEUNIT +massperlengthunit = IfcDerivedUnitEnum.MASSPERLENGTHUNIT +modulusofelasticityunit = IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT +modulusoflinearsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT +modulusofrotationalsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT +modulusofsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT +moisturediffusivityunit = IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT +molecularweightunit = IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT +momentofinertiaunit = IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT +phunit = IfcDerivedUnitEnum.PHUNIT +planarforceunit = IfcDerivedUnitEnum.PLANARFORCEUNIT +rotationalfrequencyunit = IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT +rotationalmassunit = IfcDerivedUnitEnum.ROTATIONALMASSUNIT +rotationalstiffnessunit = IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT +sectionareaintegralunit = IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT +sectionmodulusunit = IfcDerivedUnitEnum.SECTIONMODULUSUNIT +shearmodulusunit = IfcDerivedUnitEnum.SHEARMODULUSUNIT +soundpowerlevelunit = IfcDerivedUnitEnum.SOUNDPOWERLEVELUNIT +soundpowerunit = IfcDerivedUnitEnum.SOUNDPOWERUNIT +soundpressurelevelunit = IfcDerivedUnitEnum.SOUNDPRESSURELEVELUNIT +soundpressureunit = IfcDerivedUnitEnum.SOUNDPRESSUREUNIT +specificheatcapacityunit = IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT +temperaturegradientunit = IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT +temperaturerateofchangeunit = IfcDerivedUnitEnum.TEMPERATURERATEOFCHANGEUNIT +thermaladmittanceunit = IfcDerivedUnitEnum.THERMALADMITTANCEUNIT +thermalconductanceunit = IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT +thermalexpansioncoefficientunit = IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT +thermalresistanceunit = IfcDerivedUnitEnum.THERMALRESISTANCEUNIT +thermaltransmittanceunit = IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT +torqueunit = IfcDerivedUnitEnum.TORQUEUNIT +vaporpermeabilityunit = IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT +volumetricflowrateunit = IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT +warpingconstantunit = IfcDerivedUnitEnum.WARPINGCONSTANTUNIT +warpingmomentunit = IfcDerivedUnitEnum.WARPINGMOMENTUNIT +userdefined = IfcDerivedUnitEnum.USERDEFINED IfcDirectionSenseEnum = enum_namespace() -negative = express_getattr(IfcDirectionSenseEnum, 'NEGATIVE', INDETERMINATE) -positive = express_getattr(IfcDirectionSenseEnum, 'POSITIVE', INDETERMINATE) +negative = IfcDirectionSenseEnum.NEGATIVE +positive = IfcDirectionSenseEnum.POSITIVE IfcDiscreteAccessoryTypeEnum = enum_namespace() -anchorplate = express_getattr(IfcDiscreteAccessoryTypeEnum, 'ANCHORPLATE', INDETERMINATE) -birdprotection = express_getattr(IfcDiscreteAccessoryTypeEnum, 'BIRDPROTECTION', INDETERMINATE) -bracket = express_getattr(IfcDiscreteAccessoryTypeEnum, 'BRACKET', INDETERMINATE) -cablearranger = express_getattr(IfcDiscreteAccessoryTypeEnum, 'CABLEARRANGER', INDETERMINATE) -elastic_cushion = express_getattr(IfcDiscreteAccessoryTypeEnum, 'ELASTIC_CUSHION', INDETERMINATE) -expansion_joint_device = express_getattr(IfcDiscreteAccessoryTypeEnum, 'EXPANSION_JOINT_DEVICE', INDETERMINATE) -filler = express_getattr(IfcDiscreteAccessoryTypeEnum, 'FILLER', INDETERMINATE) -flashing = express_getattr(IfcDiscreteAccessoryTypeEnum, 'FLASHING', INDETERMINATE) -insulator = express_getattr(IfcDiscreteAccessoryTypeEnum, 'INSULATOR', INDETERMINATE) -lock = express_getattr(IfcDiscreteAccessoryTypeEnum, 'LOCK', INDETERMINATE) -panel_strengthening = express_getattr(IfcDiscreteAccessoryTypeEnum, 'PANEL_STRENGTHENING', INDETERMINATE) -pointmachinemountingdevice = express_getattr(IfcDiscreteAccessoryTypeEnum, 'POINTMACHINEMOUNTINGDEVICE', INDETERMINATE) -point_machine_locking_device = express_getattr(IfcDiscreteAccessoryTypeEnum, 'POINT_MACHINE_LOCKING_DEVICE', INDETERMINATE) -railbrace = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAILBRACE', INDETERMINATE) -railpad = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAILPAD', INDETERMINATE) -rail_lubrication = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAIL_LUBRICATION', INDETERMINATE) -rail_mechanical_equipment = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAIL_MECHANICAL_EQUIPMENT', INDETERMINATE) -shoe = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SHOE', INDETERMINATE) -slidingchair = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SLIDINGCHAIR', INDETERMINATE) -soundabsorption = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SOUNDABSORPTION', INDETERMINATE) -tensioningequipment = express_getattr(IfcDiscreteAccessoryTypeEnum, 'TENSIONINGEQUIPMENT', INDETERMINATE) -userdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorplate = IfcDiscreteAccessoryTypeEnum.ANCHORPLATE +birdprotection = IfcDiscreteAccessoryTypeEnum.BIRDPROTECTION +bracket = IfcDiscreteAccessoryTypeEnum.BRACKET +cablearranger = IfcDiscreteAccessoryTypeEnum.CABLEARRANGER +elastic_cushion = IfcDiscreteAccessoryTypeEnum.ELASTIC_CUSHION +expansion_joint_device = IfcDiscreteAccessoryTypeEnum.EXPANSION_JOINT_DEVICE +filler = IfcDiscreteAccessoryTypeEnum.FILLER +flashing = IfcDiscreteAccessoryTypeEnum.FLASHING +insulator = IfcDiscreteAccessoryTypeEnum.INSULATOR +lock = IfcDiscreteAccessoryTypeEnum.LOCK +panel_strengthening = IfcDiscreteAccessoryTypeEnum.PANEL_STRENGTHENING +pointmachinemountingdevice = IfcDiscreteAccessoryTypeEnum.POINTMACHINEMOUNTINGDEVICE +point_machine_locking_device = IfcDiscreteAccessoryTypeEnum.POINT_MACHINE_LOCKING_DEVICE +railbrace = IfcDiscreteAccessoryTypeEnum.RAILBRACE +railpad = IfcDiscreteAccessoryTypeEnum.RAILPAD +rail_lubrication = IfcDiscreteAccessoryTypeEnum.RAIL_LUBRICATION +rail_mechanical_equipment = IfcDiscreteAccessoryTypeEnum.RAIL_MECHANICAL_EQUIPMENT +shoe = IfcDiscreteAccessoryTypeEnum.SHOE +slidingchair = IfcDiscreteAccessoryTypeEnum.SLIDINGCHAIR +soundabsorption = IfcDiscreteAccessoryTypeEnum.SOUNDABSORPTION +tensioningequipment = IfcDiscreteAccessoryTypeEnum.TENSIONINGEQUIPMENT +userdefined = IfcDiscreteAccessoryTypeEnum.USERDEFINED +notdefined = IfcDiscreteAccessoryTypeEnum.NOTDEFINED IfcDistributionBoardTypeEnum = enum_namespace() -consumerunit = express_getattr(IfcDistributionBoardTypeEnum, 'CONSUMERUNIT', INDETERMINATE) -dispatchingboard = express_getattr(IfcDistributionBoardTypeEnum, 'DISPATCHINGBOARD', INDETERMINATE) -distributionboard = express_getattr(IfcDistributionBoardTypeEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -distributionframe = express_getattr(IfcDistributionBoardTypeEnum, 'DISTRIBUTIONFRAME', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcDistributionBoardTypeEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -switchboard = express_getattr(IfcDistributionBoardTypeEnum, 'SWITCHBOARD', INDETERMINATE) -userdefined = express_getattr(IfcDistributionBoardTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionBoardTypeEnum, 'NOTDEFINED', INDETERMINATE) +consumerunit = IfcDistributionBoardTypeEnum.CONSUMERUNIT +dispatchingboard = IfcDistributionBoardTypeEnum.DISPATCHINGBOARD +distributionboard = IfcDistributionBoardTypeEnum.DISTRIBUTIONBOARD +distributionframe = IfcDistributionBoardTypeEnum.DISTRIBUTIONFRAME +motorcontrolcentre = IfcDistributionBoardTypeEnum.MOTORCONTROLCENTRE +switchboard = IfcDistributionBoardTypeEnum.SWITCHBOARD +userdefined = IfcDistributionBoardTypeEnum.USERDEFINED +notdefined = IfcDistributionBoardTypeEnum.NOTDEFINED IfcDistributionChamberElementTypeEnum = enum_namespace() -formedduct = express_getattr(IfcDistributionChamberElementTypeEnum, 'FORMEDDUCT', INDETERMINATE) -inspectionchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONCHAMBER', INDETERMINATE) -inspectionpit = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONPIT', INDETERMINATE) -manhole = express_getattr(IfcDistributionChamberElementTypeEnum, 'MANHOLE', INDETERMINATE) -meterchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'METERCHAMBER', INDETERMINATE) -sump = express_getattr(IfcDistributionChamberElementTypeEnum, 'SUMP', INDETERMINATE) -trench = express_getattr(IfcDistributionChamberElementTypeEnum, 'TRENCH', INDETERMINATE) -valvechamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'VALVECHAMBER', INDETERMINATE) -userdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +formedduct = IfcDistributionChamberElementTypeEnum.FORMEDDUCT +inspectionchamber = IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER +inspectionpit = IfcDistributionChamberElementTypeEnum.INSPECTIONPIT +manhole = IfcDistributionChamberElementTypeEnum.MANHOLE +meterchamber = IfcDistributionChamberElementTypeEnum.METERCHAMBER +sump = IfcDistributionChamberElementTypeEnum.SUMP +trench = IfcDistributionChamberElementTypeEnum.TRENCH +valvechamber = IfcDistributionChamberElementTypeEnum.VALVECHAMBER +userdefined = IfcDistributionChamberElementTypeEnum.USERDEFINED +notdefined = IfcDistributionChamberElementTypeEnum.NOTDEFINED IfcDistributionPortTypeEnum = enum_namespace() -cable = express_getattr(IfcDistributionPortTypeEnum, 'CABLE', INDETERMINATE) -cablecarrier = express_getattr(IfcDistributionPortTypeEnum, 'CABLECARRIER', INDETERMINATE) -duct = express_getattr(IfcDistributionPortTypeEnum, 'DUCT', INDETERMINATE) -pipe = express_getattr(IfcDistributionPortTypeEnum, 'PIPE', INDETERMINATE) -wireless = express_getattr(IfcDistributionPortTypeEnum, 'WIRELESS', INDETERMINATE) -userdefined = express_getattr(IfcDistributionPortTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionPortTypeEnum, 'NOTDEFINED', INDETERMINATE) +cable = IfcDistributionPortTypeEnum.CABLE +cablecarrier = IfcDistributionPortTypeEnum.CABLECARRIER +duct = IfcDistributionPortTypeEnum.DUCT +pipe = IfcDistributionPortTypeEnum.PIPE +wireless = IfcDistributionPortTypeEnum.WIRELESS +userdefined = IfcDistributionPortTypeEnum.USERDEFINED +notdefined = IfcDistributionPortTypeEnum.NOTDEFINED IfcDistributionSystemEnum = enum_namespace() -airconditioning = express_getattr(IfcDistributionSystemEnum, 'AIRCONDITIONING', INDETERMINATE) -audiovisual = express_getattr(IfcDistributionSystemEnum, 'AUDIOVISUAL', INDETERMINATE) -catenary_system = express_getattr(IfcDistributionSystemEnum, 'CATENARY_SYSTEM', INDETERMINATE) -chemical = express_getattr(IfcDistributionSystemEnum, 'CHEMICAL', INDETERMINATE) -chilledwater = express_getattr(IfcDistributionSystemEnum, 'CHILLEDWATER', INDETERMINATE) -communication = express_getattr(IfcDistributionSystemEnum, 'COMMUNICATION', INDETERMINATE) -compressedair = express_getattr(IfcDistributionSystemEnum, 'COMPRESSEDAIR', INDETERMINATE) -condenserwater = express_getattr(IfcDistributionSystemEnum, 'CONDENSERWATER', INDETERMINATE) -control = express_getattr(IfcDistributionSystemEnum, 'CONTROL', INDETERMINATE) -conveying = express_getattr(IfcDistributionSystemEnum, 'CONVEYING', INDETERMINATE) -data = express_getattr(IfcDistributionSystemEnum, 'DATA', INDETERMINATE) -disposal = express_getattr(IfcDistributionSystemEnum, 'DISPOSAL', INDETERMINATE) -domesticcoldwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICCOLDWATER', INDETERMINATE) -domestichotwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICHOTWATER', INDETERMINATE) -drainage = express_getattr(IfcDistributionSystemEnum, 'DRAINAGE', INDETERMINATE) -earthing = express_getattr(IfcDistributionSystemEnum, 'EARTHING', INDETERMINATE) -electrical = express_getattr(IfcDistributionSystemEnum, 'ELECTRICAL', INDETERMINATE) -electroacoustic = express_getattr(IfcDistributionSystemEnum, 'ELECTROACOUSTIC', INDETERMINATE) -exhaust = express_getattr(IfcDistributionSystemEnum, 'EXHAUST', INDETERMINATE) -fireprotection = express_getattr(IfcDistributionSystemEnum, 'FIREPROTECTION', INDETERMINATE) -fixedtransmissionnetwork = express_getattr(IfcDistributionSystemEnum, 'FIXEDTRANSMISSIONNETWORK', INDETERMINATE) -fuel = express_getattr(IfcDistributionSystemEnum, 'FUEL', INDETERMINATE) -gas = express_getattr(IfcDistributionSystemEnum, 'GAS', INDETERMINATE) -hazardous = express_getattr(IfcDistributionSystemEnum, 'HAZARDOUS', INDETERMINATE) -heating = express_getattr(IfcDistributionSystemEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcDistributionSystemEnum, 'LIGHTING', INDETERMINATE) -lightningprotection = express_getattr(IfcDistributionSystemEnum, 'LIGHTNINGPROTECTION', INDETERMINATE) -mobilenetwork = express_getattr(IfcDistributionSystemEnum, 'MOBILENETWORK', INDETERMINATE) -monitoringsystem = express_getattr(IfcDistributionSystemEnum, 'MONITORINGSYSTEM', INDETERMINATE) -municipalsolidwaste = express_getattr(IfcDistributionSystemEnum, 'MUNICIPALSOLIDWASTE', INDETERMINATE) -oil = express_getattr(IfcDistributionSystemEnum, 'OIL', INDETERMINATE) -operational = express_getattr(IfcDistributionSystemEnum, 'OPERATIONAL', INDETERMINATE) -operationaltelephonysystem = express_getattr(IfcDistributionSystemEnum, 'OPERATIONALTELEPHONYSYSTEM', INDETERMINATE) -overhead_contactline_system = express_getattr(IfcDistributionSystemEnum, 'OVERHEAD_CONTACTLINE_SYSTEM', INDETERMINATE) -powergeneration = express_getattr(IfcDistributionSystemEnum, 'POWERGENERATION', INDETERMINATE) -rainwater = express_getattr(IfcDistributionSystemEnum, 'RAINWATER', INDETERMINATE) -refrigeration = express_getattr(IfcDistributionSystemEnum, 'REFRIGERATION', INDETERMINATE) -return_circuit = express_getattr(IfcDistributionSystemEnum, 'RETURN_CIRCUIT', INDETERMINATE) -security = express_getattr(IfcDistributionSystemEnum, 'SECURITY', INDETERMINATE) -sewage = express_getattr(IfcDistributionSystemEnum, 'SEWAGE', INDETERMINATE) -signal = express_getattr(IfcDistributionSystemEnum, 'SIGNAL', INDETERMINATE) -stormwater = express_getattr(IfcDistributionSystemEnum, 'STORMWATER', INDETERMINATE) -telephone = express_getattr(IfcDistributionSystemEnum, 'TELEPHONE', INDETERMINATE) -tv = express_getattr(IfcDistributionSystemEnum, 'TV', INDETERMINATE) -vacuum = express_getattr(IfcDistributionSystemEnum, 'VACUUM', INDETERMINATE) -vent = express_getattr(IfcDistributionSystemEnum, 'VENT', INDETERMINATE) -ventilation = express_getattr(IfcDistributionSystemEnum, 'VENTILATION', INDETERMINATE) -wastewater = express_getattr(IfcDistributionSystemEnum, 'WASTEWATER', INDETERMINATE) -watersupply = express_getattr(IfcDistributionSystemEnum, 'WATERSUPPLY', INDETERMINATE) -userdefined = express_getattr(IfcDistributionSystemEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionSystemEnum, 'NOTDEFINED', INDETERMINATE) +airconditioning = IfcDistributionSystemEnum.AIRCONDITIONING +audiovisual = IfcDistributionSystemEnum.AUDIOVISUAL +catenary_system = IfcDistributionSystemEnum.CATENARY_SYSTEM +chemical = IfcDistributionSystemEnum.CHEMICAL +chilledwater = IfcDistributionSystemEnum.CHILLEDWATER +communication = IfcDistributionSystemEnum.COMMUNICATION +compressedair = IfcDistributionSystemEnum.COMPRESSEDAIR +condenserwater = IfcDistributionSystemEnum.CONDENSERWATER +control = IfcDistributionSystemEnum.CONTROL +conveying = IfcDistributionSystemEnum.CONVEYING +data = IfcDistributionSystemEnum.DATA +disposal = IfcDistributionSystemEnum.DISPOSAL +domesticcoldwater = IfcDistributionSystemEnum.DOMESTICCOLDWATER +domestichotwater = IfcDistributionSystemEnum.DOMESTICHOTWATER +drainage = IfcDistributionSystemEnum.DRAINAGE +earthing = IfcDistributionSystemEnum.EARTHING +electrical = IfcDistributionSystemEnum.ELECTRICAL +electroacoustic = IfcDistributionSystemEnum.ELECTROACOUSTIC +exhaust = IfcDistributionSystemEnum.EXHAUST +fireprotection = IfcDistributionSystemEnum.FIREPROTECTION +fixedtransmissionnetwork = IfcDistributionSystemEnum.FIXEDTRANSMISSIONNETWORK +fuel = IfcDistributionSystemEnum.FUEL +gas = IfcDistributionSystemEnum.GAS +hazardous = IfcDistributionSystemEnum.HAZARDOUS +heating = IfcDistributionSystemEnum.HEATING +lighting = IfcDistributionSystemEnum.LIGHTING +lightningprotection = IfcDistributionSystemEnum.LIGHTNINGPROTECTION +mobilenetwork = IfcDistributionSystemEnum.MOBILENETWORK +monitoringsystem = IfcDistributionSystemEnum.MONITORINGSYSTEM +municipalsolidwaste = IfcDistributionSystemEnum.MUNICIPALSOLIDWASTE +oil = IfcDistributionSystemEnum.OIL +operational = IfcDistributionSystemEnum.OPERATIONAL +operationaltelephonysystem = IfcDistributionSystemEnum.OPERATIONALTELEPHONYSYSTEM +overhead_contactline_system = IfcDistributionSystemEnum.OVERHEAD_CONTACTLINE_SYSTEM +powergeneration = IfcDistributionSystemEnum.POWERGENERATION +rainwater = IfcDistributionSystemEnum.RAINWATER +refrigeration = IfcDistributionSystemEnum.REFRIGERATION +return_circuit = IfcDistributionSystemEnum.RETURN_CIRCUIT +security = IfcDistributionSystemEnum.SECURITY +sewage = IfcDistributionSystemEnum.SEWAGE +signal = IfcDistributionSystemEnum.SIGNAL +stormwater = IfcDistributionSystemEnum.STORMWATER +telephone = IfcDistributionSystemEnum.TELEPHONE +tv = IfcDistributionSystemEnum.TV +vacuum = IfcDistributionSystemEnum.VACUUM +vent = IfcDistributionSystemEnum.VENT +ventilation = IfcDistributionSystemEnum.VENTILATION +wastewater = IfcDistributionSystemEnum.WASTEWATER +watersupply = IfcDistributionSystemEnum.WATERSUPPLY +userdefined = IfcDistributionSystemEnum.USERDEFINED +notdefined = IfcDistributionSystemEnum.NOTDEFINED IfcDocumentConfidentialityEnum = enum_namespace() -confidential = express_getattr(IfcDocumentConfidentialityEnum, 'CONFIDENTIAL', INDETERMINATE) -personal = express_getattr(IfcDocumentConfidentialityEnum, 'PERSONAL', INDETERMINATE) -public = express_getattr(IfcDocumentConfidentialityEnum, 'PUBLIC', INDETERMINATE) -restricted = express_getattr(IfcDocumentConfidentialityEnum, 'RESTRICTED', INDETERMINATE) -userdefined = express_getattr(IfcDocumentConfidentialityEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDocumentConfidentialityEnum, 'NOTDEFINED', INDETERMINATE) +confidential = IfcDocumentConfidentialityEnum.CONFIDENTIAL +personal = IfcDocumentConfidentialityEnum.PERSONAL +public = IfcDocumentConfidentialityEnum.PUBLIC +restricted = IfcDocumentConfidentialityEnum.RESTRICTED +userdefined = IfcDocumentConfidentialityEnum.USERDEFINED +notdefined = IfcDocumentConfidentialityEnum.NOTDEFINED IfcDocumentStatusEnum = enum_namespace() -draft = express_getattr(IfcDocumentStatusEnum, 'DRAFT', INDETERMINATE) -final = express_getattr(IfcDocumentStatusEnum, 'FINAL', INDETERMINATE) -finaldraft = express_getattr(IfcDocumentStatusEnum, 'FINALDRAFT', INDETERMINATE) -revision = express_getattr(IfcDocumentStatusEnum, 'REVISION', INDETERMINATE) -notdefined = express_getattr(IfcDocumentStatusEnum, 'NOTDEFINED', INDETERMINATE) +draft = IfcDocumentStatusEnum.DRAFT +final = IfcDocumentStatusEnum.FINAL +finaldraft = IfcDocumentStatusEnum.FINALDRAFT +revision = IfcDocumentStatusEnum.REVISION +notdefined = IfcDocumentStatusEnum.NOTDEFINED IfcDoorPanelOperationEnum = enum_namespace() -double_acting = express_getattr(IfcDoorPanelOperationEnum, 'DOUBLE_ACTING', INDETERMINATE) -fixedpanel = express_getattr(IfcDoorPanelOperationEnum, 'FIXEDPANEL', INDETERMINATE) -folding = express_getattr(IfcDoorPanelOperationEnum, 'FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorPanelOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorPanelOperationEnum, 'ROLLINGUP', INDETERMINATE) -sliding = express_getattr(IfcDoorPanelOperationEnum, 'SLIDING', INDETERMINATE) -swinging = express_getattr(IfcDoorPanelOperationEnum, 'SWINGING', INDETERMINATE) -userdefined = express_getattr(IfcDoorPanelOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +double_acting = IfcDoorPanelOperationEnum.DOUBLE_ACTING +fixedpanel = IfcDoorPanelOperationEnum.FIXEDPANEL +folding = IfcDoorPanelOperationEnum.FOLDING +revolving = IfcDoorPanelOperationEnum.REVOLVING +rollingup = IfcDoorPanelOperationEnum.ROLLINGUP +sliding = IfcDoorPanelOperationEnum.SLIDING +swinging = IfcDoorPanelOperationEnum.SWINGING +userdefined = IfcDoorPanelOperationEnum.USERDEFINED +notdefined = IfcDoorPanelOperationEnum.NOTDEFINED IfcDoorPanelPositionEnum = enum_namespace() -left = express_getattr(IfcDoorPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcDoorPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcDoorPanelPositionEnum, 'RIGHT', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcDoorPanelPositionEnum.LEFT +middle = IfcDoorPanelPositionEnum.MIDDLE +right = IfcDoorPanelPositionEnum.RIGHT +notdefined = IfcDoorPanelPositionEnum.NOTDEFINED IfcDoorTypeEnum = enum_namespace() -boom_barrier = express_getattr(IfcDoorTypeEnum, 'BOOM_BARRIER', INDETERMINATE) -door = express_getattr(IfcDoorTypeEnum, 'DOOR', INDETERMINATE) -gate = express_getattr(IfcDoorTypeEnum, 'GATE', INDETERMINATE) -trapdoor = express_getattr(IfcDoorTypeEnum, 'TRAPDOOR', INDETERMINATE) -turnstile = express_getattr(IfcDoorTypeEnum, 'TURNSTILE', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeEnum, 'NOTDEFINED', INDETERMINATE) +boom_barrier = IfcDoorTypeEnum.BOOM_BARRIER +door = IfcDoorTypeEnum.DOOR +gate = IfcDoorTypeEnum.GATE +trapdoor = IfcDoorTypeEnum.TRAPDOOR +turnstile = IfcDoorTypeEnum.TURNSTILE +userdefined = IfcDoorTypeEnum.USERDEFINED +notdefined = IfcDoorTypeEnum.NOTDEFINED IfcDoorTypeOperationEnum = enum_namespace() -double_door_double_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_DOUBLE_SWING', INDETERMINATE) -double_door_folding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_FOLDING', INDETERMINATE) -double_door_lifting_vertical = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_LIFTING_VERTICAL', INDETERMINATE) -double_door_single_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING', INDETERMINATE) -double_door_single_swing_opposite_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_door_single_swing_opposite_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_door_sliding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SLIDING', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -lifting_horizontal = express_getattr(IfcDoorTypeOperationEnum, 'LIFTING_HORIZONTAL', INDETERMINATE) -lifting_vertical_left = express_getattr(IfcDoorTypeOperationEnum, 'LIFTING_VERTICAL_LEFT', INDETERMINATE) -lifting_vertical_right = express_getattr(IfcDoorTypeOperationEnum, 'LIFTING_VERTICAL_RIGHT', INDETERMINATE) -revolving = express_getattr(IfcDoorTypeOperationEnum, 'REVOLVING', INDETERMINATE) -revolving_vertical = express_getattr(IfcDoorTypeOperationEnum, 'REVOLVING_VERTICAL', INDETERMINATE) -rollingup = express_getattr(IfcDoorTypeOperationEnum, 'ROLLINGUP', INDETERMINATE) -single_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -swing_fixed_left = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_LEFT', INDETERMINATE) -swing_fixed_right = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_RIGHT', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeOperationEnum, 'NOTDEFINED', INDETERMINATE) +double_door_double_swing = IfcDoorTypeOperationEnum.DOUBLE_DOOR_DOUBLE_SWING +double_door_folding = IfcDoorTypeOperationEnum.DOUBLE_DOOR_FOLDING +double_door_lifting_vertical = IfcDoorTypeOperationEnum.DOUBLE_DOOR_LIFTING_VERTICAL +double_door_single_swing = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING +double_door_single_swing_opposite_left = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT +double_door_single_swing_opposite_right = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT +double_door_sliding = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SLIDING +double_swing_left = IfcDoorTypeOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorTypeOperationEnum.DOUBLE_SWING_RIGHT +folding_to_left = IfcDoorTypeOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorTypeOperationEnum.FOLDING_TO_RIGHT +lifting_horizontal = IfcDoorTypeOperationEnum.LIFTING_HORIZONTAL +lifting_vertical_left = IfcDoorTypeOperationEnum.LIFTING_VERTICAL_LEFT +lifting_vertical_right = IfcDoorTypeOperationEnum.LIFTING_VERTICAL_RIGHT +revolving = IfcDoorTypeOperationEnum.REVOLVING +revolving_vertical = IfcDoorTypeOperationEnum.REVOLVING_VERTICAL +rollingup = IfcDoorTypeOperationEnum.ROLLINGUP +single_swing_left = IfcDoorTypeOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorTypeOperationEnum.SINGLE_SWING_RIGHT +sliding_to_left = IfcDoorTypeOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorTypeOperationEnum.SLIDING_TO_RIGHT +swing_fixed_left = IfcDoorTypeOperationEnum.SWING_FIXED_LEFT +swing_fixed_right = IfcDoorTypeOperationEnum.SWING_FIXED_RIGHT +userdefined = IfcDoorTypeOperationEnum.USERDEFINED +notdefined = IfcDoorTypeOperationEnum.NOTDEFINED IfcDuctFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcDuctFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcDuctFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcDuctFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcDuctFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcDuctFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcDuctFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcDuctFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcDuctFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcDuctFittingTypeEnum.BEND +connector = IfcDuctFittingTypeEnum.CONNECTOR +entry = IfcDuctFittingTypeEnum.ENTRY +exit = IfcDuctFittingTypeEnum.EXIT +junction = IfcDuctFittingTypeEnum.JUNCTION +obstruction = IfcDuctFittingTypeEnum.OBSTRUCTION +transition = IfcDuctFittingTypeEnum.TRANSITION +userdefined = IfcDuctFittingTypeEnum.USERDEFINED +notdefined = IfcDuctFittingTypeEnum.NOTDEFINED IfcDuctSegmentTypeEnum = enum_namespace() -flexiblesegment = express_getattr(IfcDuctSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -rigidsegment = express_getattr(IfcDuctSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcDuctSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +flexiblesegment = IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT +rigidsegment = IfcDuctSegmentTypeEnum.RIGIDSEGMENT +userdefined = IfcDuctSegmentTypeEnum.USERDEFINED +notdefined = IfcDuctSegmentTypeEnum.NOTDEFINED IfcDuctSilencerTypeEnum = enum_namespace() -flatoval = express_getattr(IfcDuctSilencerTypeEnum, 'FLATOVAL', INDETERMINATE) -rectangular = express_getattr(IfcDuctSilencerTypeEnum, 'RECTANGULAR', INDETERMINATE) -round = express_getattr(IfcDuctSilencerTypeEnum, 'ROUND', INDETERMINATE) -userdefined = express_getattr(IfcDuctSilencerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSilencerTypeEnum, 'NOTDEFINED', INDETERMINATE) +flatoval = IfcDuctSilencerTypeEnum.FLATOVAL +rectangular = IfcDuctSilencerTypeEnum.RECTANGULAR +round = IfcDuctSilencerTypeEnum.ROUND +userdefined = IfcDuctSilencerTypeEnum.USERDEFINED +notdefined = IfcDuctSilencerTypeEnum.NOTDEFINED IfcEarthworksCutTypeEnum = enum_namespace() -base_excavation = express_getattr(IfcEarthworksCutTypeEnum, 'BASE_EXCAVATION', INDETERMINATE) -cut = express_getattr(IfcEarthworksCutTypeEnum, 'CUT', INDETERMINATE) -dredging = express_getattr(IfcEarthworksCutTypeEnum, 'DREDGING', INDETERMINATE) -excavation = express_getattr(IfcEarthworksCutTypeEnum, 'EXCAVATION', INDETERMINATE) -overexcavation = express_getattr(IfcEarthworksCutTypeEnum, 'OVEREXCAVATION', INDETERMINATE) -pavementmilling = express_getattr(IfcEarthworksCutTypeEnum, 'PAVEMENTMILLING', INDETERMINATE) -stepexcavation = express_getattr(IfcEarthworksCutTypeEnum, 'STEPEXCAVATION', INDETERMINATE) -topsoilremoval = express_getattr(IfcEarthworksCutTypeEnum, 'TOPSOILREMOVAL', INDETERMINATE) -trench = express_getattr(IfcEarthworksCutTypeEnum, 'TRENCH', INDETERMINATE) -userdefined = express_getattr(IfcEarthworksCutTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEarthworksCutTypeEnum, 'NOTDEFINED', INDETERMINATE) +base_excavation = IfcEarthworksCutTypeEnum.BASE_EXCAVATION +cut = IfcEarthworksCutTypeEnum.CUT +dredging = IfcEarthworksCutTypeEnum.DREDGING +excavation = IfcEarthworksCutTypeEnum.EXCAVATION +overexcavation = IfcEarthworksCutTypeEnum.OVEREXCAVATION +pavementmilling = IfcEarthworksCutTypeEnum.PAVEMENTMILLING +stepexcavation = IfcEarthworksCutTypeEnum.STEPEXCAVATION +topsoilremoval = IfcEarthworksCutTypeEnum.TOPSOILREMOVAL +trench = IfcEarthworksCutTypeEnum.TRENCH +userdefined = IfcEarthworksCutTypeEnum.USERDEFINED +notdefined = IfcEarthworksCutTypeEnum.NOTDEFINED IfcEarthworksFillTypeEnum = enum_namespace() -backfill = express_getattr(IfcEarthworksFillTypeEnum, 'BACKFILL', INDETERMINATE) -counterweight = express_getattr(IfcEarthworksFillTypeEnum, 'COUNTERWEIGHT', INDETERMINATE) -embankment = express_getattr(IfcEarthworksFillTypeEnum, 'EMBANKMENT', INDETERMINATE) -slopefill = express_getattr(IfcEarthworksFillTypeEnum, 'SLOPEFILL', INDETERMINATE) -subgrade = express_getattr(IfcEarthworksFillTypeEnum, 'SUBGRADE', INDETERMINATE) -subgradebed = express_getattr(IfcEarthworksFillTypeEnum, 'SUBGRADEBED', INDETERMINATE) -transitionsection = express_getattr(IfcEarthworksFillTypeEnum, 'TRANSITIONSECTION', INDETERMINATE) -userdefined = express_getattr(IfcEarthworksFillTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEarthworksFillTypeEnum, 'NOTDEFINED', INDETERMINATE) +backfill = IfcEarthworksFillTypeEnum.BACKFILL +counterweight = IfcEarthworksFillTypeEnum.COUNTERWEIGHT +embankment = IfcEarthworksFillTypeEnum.EMBANKMENT +slopefill = IfcEarthworksFillTypeEnum.SLOPEFILL +subgrade = IfcEarthworksFillTypeEnum.SUBGRADE +subgradebed = IfcEarthworksFillTypeEnum.SUBGRADEBED +transitionsection = IfcEarthworksFillTypeEnum.TRANSITIONSECTION +userdefined = IfcEarthworksFillTypeEnum.USERDEFINED +notdefined = IfcEarthworksFillTypeEnum.NOTDEFINED IfcElectricApplianceTypeEnum = enum_namespace() -dishwasher = express_getattr(IfcElectricApplianceTypeEnum, 'DISHWASHER', INDETERMINATE) -electriccooker = express_getattr(IfcElectricApplianceTypeEnum, 'ELECTRICCOOKER', INDETERMINATE) -freestandingelectricheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGELECTRICHEATER', INDETERMINATE) -freestandingfan = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGFAN', INDETERMINATE) -freestandingwatercooler = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERCOOLER', INDETERMINATE) -freestandingwaterheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERHEATER', INDETERMINATE) -freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FREEZER', INDETERMINATE) -fridge_freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FRIDGE_FREEZER', INDETERMINATE) -handdryer = express_getattr(IfcElectricApplianceTypeEnum, 'HANDDRYER', INDETERMINATE) -kitchenmachine = express_getattr(IfcElectricApplianceTypeEnum, 'KITCHENMACHINE', INDETERMINATE) -microwave = express_getattr(IfcElectricApplianceTypeEnum, 'MICROWAVE', INDETERMINATE) -photocopier = express_getattr(IfcElectricApplianceTypeEnum, 'PHOTOCOPIER', INDETERMINATE) -refrigerator = express_getattr(IfcElectricApplianceTypeEnum, 'REFRIGERATOR', INDETERMINATE) -tumbledryer = express_getattr(IfcElectricApplianceTypeEnum, 'TUMBLEDRYER', INDETERMINATE) -vendingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'VENDINGMACHINE', INDETERMINATE) -washingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'WASHINGMACHINE', INDETERMINATE) -userdefined = express_getattr(IfcElectricApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +dishwasher = IfcElectricApplianceTypeEnum.DISHWASHER +electriccooker = IfcElectricApplianceTypeEnum.ELECTRICCOOKER +freestandingelectricheater = IfcElectricApplianceTypeEnum.FREESTANDINGELECTRICHEATER +freestandingfan = IfcElectricApplianceTypeEnum.FREESTANDINGFAN +freestandingwatercooler = IfcElectricApplianceTypeEnum.FREESTANDINGWATERCOOLER +freestandingwaterheater = IfcElectricApplianceTypeEnum.FREESTANDINGWATERHEATER +freezer = IfcElectricApplianceTypeEnum.FREEZER +fridge_freezer = IfcElectricApplianceTypeEnum.FRIDGE_FREEZER +handdryer = IfcElectricApplianceTypeEnum.HANDDRYER +kitchenmachine = IfcElectricApplianceTypeEnum.KITCHENMACHINE +microwave = IfcElectricApplianceTypeEnum.MICROWAVE +photocopier = IfcElectricApplianceTypeEnum.PHOTOCOPIER +refrigerator = IfcElectricApplianceTypeEnum.REFRIGERATOR +tumbledryer = IfcElectricApplianceTypeEnum.TUMBLEDRYER +vendingmachine = IfcElectricApplianceTypeEnum.VENDINGMACHINE +washingmachine = IfcElectricApplianceTypeEnum.WASHINGMACHINE +userdefined = IfcElectricApplianceTypeEnum.USERDEFINED +notdefined = IfcElectricApplianceTypeEnum.NOTDEFINED IfcElectricDistributionBoardTypeEnum = enum_namespace() -consumerunit = express_getattr(IfcElectricDistributionBoardTypeEnum, 'CONSUMERUNIT', INDETERMINATE) -distributionboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcElectricDistributionBoardTypeEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -switchboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'SWITCHBOARD', INDETERMINATE) -userdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'NOTDEFINED', INDETERMINATE) +consumerunit = IfcElectricDistributionBoardTypeEnum.CONSUMERUNIT +distributionboard = IfcElectricDistributionBoardTypeEnum.DISTRIBUTIONBOARD +motorcontrolcentre = IfcElectricDistributionBoardTypeEnum.MOTORCONTROLCENTRE +switchboard = IfcElectricDistributionBoardTypeEnum.SWITCHBOARD +userdefined = IfcElectricDistributionBoardTypeEnum.USERDEFINED +notdefined = IfcElectricDistributionBoardTypeEnum.NOTDEFINED IfcElectricFlowStorageDeviceTypeEnum = enum_namespace() -battery = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'BATTERY', INDETERMINATE) -capacitor = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITOR', INDETERMINATE) -capacitorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITORBANK', INDETERMINATE) -compensator = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'COMPENSATOR', INDETERMINATE) -harmonicfilter = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'HARMONICFILTER', INDETERMINATE) -inductor = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTOR', INDETERMINATE) -inductorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTORBANK', INDETERMINATE) -recharger = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'RECHARGER', INDETERMINATE) -ups = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'UPS', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +battery = IfcElectricFlowStorageDeviceTypeEnum.BATTERY +capacitor = IfcElectricFlowStorageDeviceTypeEnum.CAPACITOR +capacitorbank = IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK +compensator = IfcElectricFlowStorageDeviceTypeEnum.COMPENSATOR +harmonicfilter = IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER +inductor = IfcElectricFlowStorageDeviceTypeEnum.INDUCTOR +inductorbank = IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK +recharger = IfcElectricFlowStorageDeviceTypeEnum.RECHARGER +ups = IfcElectricFlowStorageDeviceTypeEnum.UPS +userdefined = IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED IfcElectricFlowTreatmentDeviceTypeEnum = enum_namespace() -electronicfilter = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'ELECTRONICFILTER', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +electronicfilter = IfcElectricFlowTreatmentDeviceTypeEnum.ELECTRONICFILTER +userdefined = IfcElectricFlowTreatmentDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowTreatmentDeviceTypeEnum.NOTDEFINED IfcElectricGeneratorTypeEnum = enum_namespace() -chp = express_getattr(IfcElectricGeneratorTypeEnum, 'CHP', INDETERMINATE) -enginegenerator = express_getattr(IfcElectricGeneratorTypeEnum, 'ENGINEGENERATOR', INDETERMINATE) -standalone = express_getattr(IfcElectricGeneratorTypeEnum, 'STANDALONE', INDETERMINATE) -userdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'NOTDEFINED', INDETERMINATE) +chp = IfcElectricGeneratorTypeEnum.CHP +enginegenerator = IfcElectricGeneratorTypeEnum.ENGINEGENERATOR +standalone = IfcElectricGeneratorTypeEnum.STANDALONE +userdefined = IfcElectricGeneratorTypeEnum.USERDEFINED +notdefined = IfcElectricGeneratorTypeEnum.NOTDEFINED IfcElectricMotorTypeEnum = enum_namespace() -dc = express_getattr(IfcElectricMotorTypeEnum, 'DC', INDETERMINATE) -induction = express_getattr(IfcElectricMotorTypeEnum, 'INDUCTION', INDETERMINATE) -polyphase = express_getattr(IfcElectricMotorTypeEnum, 'POLYPHASE', INDETERMINATE) -reluctancesynchronous = express_getattr(IfcElectricMotorTypeEnum, 'RELUCTANCESYNCHRONOUS', INDETERMINATE) -synchronous = express_getattr(IfcElectricMotorTypeEnum, 'SYNCHRONOUS', INDETERMINATE) -userdefined = express_getattr(IfcElectricMotorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricMotorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dc = IfcElectricMotorTypeEnum.DC +induction = IfcElectricMotorTypeEnum.INDUCTION +polyphase = IfcElectricMotorTypeEnum.POLYPHASE +reluctancesynchronous = IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS +synchronous = IfcElectricMotorTypeEnum.SYNCHRONOUS +userdefined = IfcElectricMotorTypeEnum.USERDEFINED +notdefined = IfcElectricMotorTypeEnum.NOTDEFINED IfcElectricTimeControlTypeEnum = enum_namespace() -relay = express_getattr(IfcElectricTimeControlTypeEnum, 'RELAY', INDETERMINATE) -timeclock = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMECLOCK', INDETERMINATE) -timedelay = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMEDELAY', INDETERMINATE) -userdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'NOTDEFINED', INDETERMINATE) +relay = IfcElectricTimeControlTypeEnum.RELAY +timeclock = IfcElectricTimeControlTypeEnum.TIMECLOCK +timedelay = IfcElectricTimeControlTypeEnum.TIMEDELAY +userdefined = IfcElectricTimeControlTypeEnum.USERDEFINED +notdefined = IfcElectricTimeControlTypeEnum.NOTDEFINED IfcElementAssemblyTypeEnum = enum_namespace() -abutment = express_getattr(IfcElementAssemblyTypeEnum, 'ABUTMENT', INDETERMINATE) -accessory_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'ACCESSORY_ASSEMBLY', INDETERMINATE) -arch = express_getattr(IfcElementAssemblyTypeEnum, 'ARCH', INDETERMINATE) -beam_grid = express_getattr(IfcElementAssemblyTypeEnum, 'BEAM_GRID', INDETERMINATE) -braced_frame = express_getattr(IfcElementAssemblyTypeEnum, 'BRACED_FRAME', INDETERMINATE) -cross_bracing = express_getattr(IfcElementAssemblyTypeEnum, 'CROSS_BRACING', INDETERMINATE) -deck = express_getattr(IfcElementAssemblyTypeEnum, 'DECK', INDETERMINATE) -dilatationpanel = express_getattr(IfcElementAssemblyTypeEnum, 'DILATATIONPANEL', INDETERMINATE) -entranceworks = express_getattr(IfcElementAssemblyTypeEnum, 'ENTRANCEWORKS', INDETERMINATE) -girder = express_getattr(IfcElementAssemblyTypeEnum, 'GIRDER', INDETERMINATE) -grid = express_getattr(IfcElementAssemblyTypeEnum, 'GRID', INDETERMINATE) -mast = express_getattr(IfcElementAssemblyTypeEnum, 'MAST', INDETERMINATE) -pier = express_getattr(IfcElementAssemblyTypeEnum, 'PIER', INDETERMINATE) -pylon = express_getattr(IfcElementAssemblyTypeEnum, 'PYLON', INDETERMINATE) -rail_mechanical_equipment_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY', INDETERMINATE) -reinforcement_unit = express_getattr(IfcElementAssemblyTypeEnum, 'REINFORCEMENT_UNIT', INDETERMINATE) -rigid_frame = express_getattr(IfcElementAssemblyTypeEnum, 'RIGID_FRAME', INDETERMINATE) -shelter = express_getattr(IfcElementAssemblyTypeEnum, 'SHELTER', INDETERMINATE) -signalassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SIGNALASSEMBLY', INDETERMINATE) -slab_field = express_getattr(IfcElementAssemblyTypeEnum, 'SLAB_FIELD', INDETERMINATE) -sumpbuster = express_getattr(IfcElementAssemblyTypeEnum, 'SUMPBUSTER', INDETERMINATE) -supportingassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SUPPORTINGASSEMBLY', INDETERMINATE) -suspensionassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SUSPENSIONASSEMBLY', INDETERMINATE) -trackpanel = express_getattr(IfcElementAssemblyTypeEnum, 'TRACKPANEL', INDETERMINATE) -traction_switching_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'TRACTION_SWITCHING_ASSEMBLY', INDETERMINATE) -traffic_calming_device = express_getattr(IfcElementAssemblyTypeEnum, 'TRAFFIC_CALMING_DEVICE', INDETERMINATE) -truss = express_getattr(IfcElementAssemblyTypeEnum, 'TRUSS', INDETERMINATE) -turnoutpanel = express_getattr(IfcElementAssemblyTypeEnum, 'TURNOUTPANEL', INDETERMINATE) -userdefined = express_getattr(IfcElementAssemblyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElementAssemblyTypeEnum, 'NOTDEFINED', INDETERMINATE) +abutment = IfcElementAssemblyTypeEnum.ABUTMENT +accessory_assembly = IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY +arch = IfcElementAssemblyTypeEnum.ARCH +beam_grid = IfcElementAssemblyTypeEnum.BEAM_GRID +braced_frame = IfcElementAssemblyTypeEnum.BRACED_FRAME +cross_bracing = IfcElementAssemblyTypeEnum.CROSS_BRACING +deck = IfcElementAssemblyTypeEnum.DECK +dilatationpanel = IfcElementAssemblyTypeEnum.DILATATIONPANEL +entranceworks = IfcElementAssemblyTypeEnum.ENTRANCEWORKS +girder = IfcElementAssemblyTypeEnum.GIRDER +grid = IfcElementAssemblyTypeEnum.GRID +mast = IfcElementAssemblyTypeEnum.MAST +pier = IfcElementAssemblyTypeEnum.PIER +pylon = IfcElementAssemblyTypeEnum.PYLON +rail_mechanical_equipment_assembly = IfcElementAssemblyTypeEnum.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY +reinforcement_unit = IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT +rigid_frame = IfcElementAssemblyTypeEnum.RIGID_FRAME +shelter = IfcElementAssemblyTypeEnum.SHELTER +signalassembly = IfcElementAssemblyTypeEnum.SIGNALASSEMBLY +slab_field = IfcElementAssemblyTypeEnum.SLAB_FIELD +sumpbuster = IfcElementAssemblyTypeEnum.SUMPBUSTER +supportingassembly = IfcElementAssemblyTypeEnum.SUPPORTINGASSEMBLY +suspensionassembly = IfcElementAssemblyTypeEnum.SUSPENSIONASSEMBLY +trackpanel = IfcElementAssemblyTypeEnum.TRACKPANEL +traction_switching_assembly = IfcElementAssemblyTypeEnum.TRACTION_SWITCHING_ASSEMBLY +traffic_calming_device = IfcElementAssemblyTypeEnum.TRAFFIC_CALMING_DEVICE +truss = IfcElementAssemblyTypeEnum.TRUSS +turnoutpanel = IfcElementAssemblyTypeEnum.TURNOUTPANEL +userdefined = IfcElementAssemblyTypeEnum.USERDEFINED +notdefined = IfcElementAssemblyTypeEnum.NOTDEFINED IfcElementCompositionEnum = enum_namespace() -complex = express_getattr(IfcElementCompositionEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcElementCompositionEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcElementCompositionEnum, 'PARTIAL', INDETERMINATE) +complex = IfcElementCompositionEnum.COMPLEX +element = IfcElementCompositionEnum.ELEMENT +partial = IfcElementCompositionEnum.PARTIAL IfcEngineTypeEnum = enum_namespace() -externalcombustion = express_getattr(IfcEngineTypeEnum, 'EXTERNALCOMBUSTION', INDETERMINATE) -internalcombustion = express_getattr(IfcEngineTypeEnum, 'INTERNALCOMBUSTION', INDETERMINATE) -userdefined = express_getattr(IfcEngineTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEngineTypeEnum, 'NOTDEFINED', INDETERMINATE) +externalcombustion = IfcEngineTypeEnum.EXTERNALCOMBUSTION +internalcombustion = IfcEngineTypeEnum.INTERNALCOMBUSTION +userdefined = IfcEngineTypeEnum.USERDEFINED +notdefined = IfcEngineTypeEnum.NOTDEFINED IfcEvaporativeCoolerTypeEnum = enum_namespace() -directevaporativeairwasher = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEAIRWASHER', INDETERMINATE) -directevaporativepackagedrotaryaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER', INDETERMINATE) -directevaporativerandommediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER', INDETERMINATE) -directevaporativerigidmediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER', INDETERMINATE) -directevaporativeslingerspackagedaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER', INDETERMINATE) -indirectdirectcombination = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTDIRECTCOMBINATION', INDETERMINATE) -indirectevaporativecoolingtowerorcoilcooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER', INDETERMINATE) -indirectevaporativepackageaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEPACKAGEAIRCOOLER', INDETERMINATE) -indirectevaporativewetcoil = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEWETCOIL', INDETERMINATE) -userdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'NOTDEFINED', INDETERMINATE) +directevaporativeairwasher = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER +directevaporativepackagedrotaryaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER +directevaporativerandommediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER +directevaporativerigidmediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER +directevaporativeslingerspackagedaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER +indirectdirectcombination = IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION +indirectevaporativecoolingtowerorcoilcooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER +indirectevaporativepackageaircooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER +indirectevaporativewetcoil = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL +userdefined = IfcEvaporativeCoolerTypeEnum.USERDEFINED +notdefined = IfcEvaporativeCoolerTypeEnum.NOTDEFINED IfcEvaporatorTypeEnum = enum_namespace() -directexpansion = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSION', INDETERMINATE) -directexpansionbrazedplate = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONBRAZEDPLATE', INDETERMINATE) -directexpansionshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONSHELLANDTUBE', INDETERMINATE) -directexpansiontubeintube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONTUBEINTUBE', INDETERMINATE) -floodedshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'FLOODEDSHELLANDTUBE', INDETERMINATE) -shellandcoil = express_getattr(IfcEvaporatorTypeEnum, 'SHELLANDCOIL', INDETERMINATE) -userdefined = express_getattr(IfcEvaporatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +directexpansion = IfcEvaporatorTypeEnum.DIRECTEXPANSION +directexpansionbrazedplate = IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE +directexpansionshellandtube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE +directexpansiontubeintube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE +floodedshellandtube = IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE +shellandcoil = IfcEvaporatorTypeEnum.SHELLANDCOIL +userdefined = IfcEvaporatorTypeEnum.USERDEFINED +notdefined = IfcEvaporatorTypeEnum.NOTDEFINED IfcEventTriggerTypeEnum = enum_namespace() -eventcomplex = express_getattr(IfcEventTriggerTypeEnum, 'EVENTCOMPLEX', INDETERMINATE) -eventmessage = express_getattr(IfcEventTriggerTypeEnum, 'EVENTMESSAGE', INDETERMINATE) -eventrule = express_getattr(IfcEventTriggerTypeEnum, 'EVENTRULE', INDETERMINATE) -eventtime = express_getattr(IfcEventTriggerTypeEnum, 'EVENTTIME', INDETERMINATE) -userdefined = express_getattr(IfcEventTriggerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTriggerTypeEnum, 'NOTDEFINED', INDETERMINATE) +eventcomplex = IfcEventTriggerTypeEnum.EVENTCOMPLEX +eventmessage = IfcEventTriggerTypeEnum.EVENTMESSAGE +eventrule = IfcEventTriggerTypeEnum.EVENTRULE +eventtime = IfcEventTriggerTypeEnum.EVENTTIME +userdefined = IfcEventTriggerTypeEnum.USERDEFINED +notdefined = IfcEventTriggerTypeEnum.NOTDEFINED IfcEventTypeEnum = enum_namespace() -endevent = express_getattr(IfcEventTypeEnum, 'ENDEVENT', INDETERMINATE) -intermediateevent = express_getattr(IfcEventTypeEnum, 'INTERMEDIATEEVENT', INDETERMINATE) -startevent = express_getattr(IfcEventTypeEnum, 'STARTEVENT', INDETERMINATE) -userdefined = express_getattr(IfcEventTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTypeEnum, 'NOTDEFINED', INDETERMINATE) +endevent = IfcEventTypeEnum.ENDEVENT +intermediateevent = IfcEventTypeEnum.INTERMEDIATEEVENT +startevent = IfcEventTypeEnum.STARTEVENT +userdefined = IfcEventTypeEnum.USERDEFINED +notdefined = IfcEventTypeEnum.NOTDEFINED IfcExternalSpatialElementTypeEnum = enum_namespace() -external = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_fire = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_FIRE', INDETERMINATE) -external_water = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_WATER', INDETERMINATE) -userdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +external = IfcExternalSpatialElementTypeEnum.EXTERNAL +external_earth = IfcExternalSpatialElementTypeEnum.EXTERNAL_EARTH +external_fire = IfcExternalSpatialElementTypeEnum.EXTERNAL_FIRE +external_water = IfcExternalSpatialElementTypeEnum.EXTERNAL_WATER +userdefined = IfcExternalSpatialElementTypeEnum.USERDEFINED +notdefined = IfcExternalSpatialElementTypeEnum.NOTDEFINED IfcFacilityPartCommonTypeEnum = enum_namespace() -aboveground = express_getattr(IfcFacilityPartCommonTypeEnum, 'ABOVEGROUND', INDETERMINATE) -belowground = express_getattr(IfcFacilityPartCommonTypeEnum, 'BELOWGROUND', INDETERMINATE) -junction = express_getattr(IfcFacilityPartCommonTypeEnum, 'JUNCTION', INDETERMINATE) -levelcrossing = express_getattr(IfcFacilityPartCommonTypeEnum, 'LEVELCROSSING', INDETERMINATE) -segment = express_getattr(IfcFacilityPartCommonTypeEnum, 'SEGMENT', INDETERMINATE) -substructure = express_getattr(IfcFacilityPartCommonTypeEnum, 'SUBSTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcFacilityPartCommonTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -terminal = express_getattr(IfcFacilityPartCommonTypeEnum, 'TERMINAL', INDETERMINATE) -userdefined = express_getattr(IfcFacilityPartCommonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFacilityPartCommonTypeEnum, 'NOTDEFINED', INDETERMINATE) +aboveground = IfcFacilityPartCommonTypeEnum.ABOVEGROUND +belowground = IfcFacilityPartCommonTypeEnum.BELOWGROUND +junction = IfcFacilityPartCommonTypeEnum.JUNCTION +levelcrossing = IfcFacilityPartCommonTypeEnum.LEVELCROSSING +segment = IfcFacilityPartCommonTypeEnum.SEGMENT +substructure = IfcFacilityPartCommonTypeEnum.SUBSTRUCTURE +superstructure = IfcFacilityPartCommonTypeEnum.SUPERSTRUCTURE +terminal = IfcFacilityPartCommonTypeEnum.TERMINAL +userdefined = IfcFacilityPartCommonTypeEnum.USERDEFINED +notdefined = IfcFacilityPartCommonTypeEnum.NOTDEFINED IfcFacilityUsageEnum = enum_namespace() -lateral = express_getattr(IfcFacilityUsageEnum, 'LATERAL', INDETERMINATE) -longitudinal = express_getattr(IfcFacilityUsageEnum, 'LONGITUDINAL', INDETERMINATE) -region = express_getattr(IfcFacilityUsageEnum, 'REGION', INDETERMINATE) -vertical = express_getattr(IfcFacilityUsageEnum, 'VERTICAL', INDETERMINATE) -userdefined = express_getattr(IfcFacilityUsageEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFacilityUsageEnum, 'NOTDEFINED', INDETERMINATE) +lateral = IfcFacilityUsageEnum.LATERAL +longitudinal = IfcFacilityUsageEnum.LONGITUDINAL +region = IfcFacilityUsageEnum.REGION +vertical = IfcFacilityUsageEnum.VERTICAL +userdefined = IfcFacilityUsageEnum.USERDEFINED +notdefined = IfcFacilityUsageEnum.NOTDEFINED IfcFanTypeEnum = enum_namespace() -centrifugalairfoil = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALAIRFOIL', INDETERMINATE) -centrifugalbackwardinclinedcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALBACKWARDINCLINEDCURVED', INDETERMINATE) -centrifugalforwardcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALFORWARDCURVED', INDETERMINATE) -centrifugalradial = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALRADIAL', INDETERMINATE) -propelloraxial = express_getattr(IfcFanTypeEnum, 'PROPELLORAXIAL', INDETERMINATE) -tubeaxial = express_getattr(IfcFanTypeEnum, 'TUBEAXIAL', INDETERMINATE) -vaneaxial = express_getattr(IfcFanTypeEnum, 'VANEAXIAL', INDETERMINATE) -userdefined = express_getattr(IfcFanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFanTypeEnum, 'NOTDEFINED', INDETERMINATE) +centrifugalairfoil = IfcFanTypeEnum.CENTRIFUGALAIRFOIL +centrifugalbackwardinclinedcurved = IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED +centrifugalforwardcurved = IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED +centrifugalradial = IfcFanTypeEnum.CENTRIFUGALRADIAL +propelloraxial = IfcFanTypeEnum.PROPELLORAXIAL +tubeaxial = IfcFanTypeEnum.TUBEAXIAL +vaneaxial = IfcFanTypeEnum.VANEAXIAL +userdefined = IfcFanTypeEnum.USERDEFINED +notdefined = IfcFanTypeEnum.NOTDEFINED IfcFastenerTypeEnum = enum_namespace() -glue = express_getattr(IfcFastenerTypeEnum, 'GLUE', INDETERMINATE) -mortar = express_getattr(IfcFastenerTypeEnum, 'MORTAR', INDETERMINATE) -weld = express_getattr(IfcFastenerTypeEnum, 'WELD', INDETERMINATE) -userdefined = express_getattr(IfcFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +glue = IfcFastenerTypeEnum.GLUE +mortar = IfcFastenerTypeEnum.MORTAR +weld = IfcFastenerTypeEnum.WELD +userdefined = IfcFastenerTypeEnum.USERDEFINED +notdefined = IfcFastenerTypeEnum.NOTDEFINED IfcFilterTypeEnum = enum_namespace() -airparticlefilter = express_getattr(IfcFilterTypeEnum, 'AIRPARTICLEFILTER', INDETERMINATE) -compressedairfilter = express_getattr(IfcFilterTypeEnum, 'COMPRESSEDAIRFILTER', INDETERMINATE) -odorfilter = express_getattr(IfcFilterTypeEnum, 'ODORFILTER', INDETERMINATE) -oilfilter = express_getattr(IfcFilterTypeEnum, 'OILFILTER', INDETERMINATE) -strainer = express_getattr(IfcFilterTypeEnum, 'STRAINER', INDETERMINATE) -waterfilter = express_getattr(IfcFilterTypeEnum, 'WATERFILTER', INDETERMINATE) -userdefined = express_getattr(IfcFilterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFilterTypeEnum, 'NOTDEFINED', INDETERMINATE) +airparticlefilter = IfcFilterTypeEnum.AIRPARTICLEFILTER +compressedairfilter = IfcFilterTypeEnum.COMPRESSEDAIRFILTER +odorfilter = IfcFilterTypeEnum.ODORFILTER +oilfilter = IfcFilterTypeEnum.OILFILTER +strainer = IfcFilterTypeEnum.STRAINER +waterfilter = IfcFilterTypeEnum.WATERFILTER +userdefined = IfcFilterTypeEnum.USERDEFINED +notdefined = IfcFilterTypeEnum.NOTDEFINED IfcFireSuppressionTerminalTypeEnum = enum_namespace() -breechinginlet = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'BREECHINGINLET', INDETERMINATE) -firehydrant = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'FIREHYDRANT', INDETERMINATE) -firemonitor = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'FIREMONITOR', INDETERMINATE) -hosereel = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -sprinkler = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLER', INDETERMINATE) -sprinklerdeflector = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLERDEFLECTOR', INDETERMINATE) -userdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +breechinginlet = IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET +firehydrant = IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT +firemonitor = IfcFireSuppressionTerminalTypeEnum.FIREMONITOR +hosereel = IfcFireSuppressionTerminalTypeEnum.HOSEREEL +sprinkler = IfcFireSuppressionTerminalTypeEnum.SPRINKLER +sprinklerdeflector = IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR +userdefined = IfcFireSuppressionTerminalTypeEnum.USERDEFINED +notdefined = IfcFireSuppressionTerminalTypeEnum.NOTDEFINED IfcFlowDirectionEnum = enum_namespace() -sink = express_getattr(IfcFlowDirectionEnum, 'SINK', INDETERMINATE) -source = express_getattr(IfcFlowDirectionEnum, 'SOURCE', INDETERMINATE) -sourceandsink = express_getattr(IfcFlowDirectionEnum, 'SOURCEANDSINK', INDETERMINATE) -notdefined = express_getattr(IfcFlowDirectionEnum, 'NOTDEFINED', INDETERMINATE) +sink = IfcFlowDirectionEnum.SINK +source = IfcFlowDirectionEnum.SOURCE +sourceandsink = IfcFlowDirectionEnum.SOURCEANDSINK +notdefined = IfcFlowDirectionEnum.NOTDEFINED IfcFlowInstrumentTypeEnum = enum_namespace() -ammeter = express_getattr(IfcFlowInstrumentTypeEnum, 'AMMETER', INDETERMINATE) -combined = express_getattr(IfcFlowInstrumentTypeEnum, 'COMBINED', INDETERMINATE) -frequencymeter = express_getattr(IfcFlowInstrumentTypeEnum, 'FREQUENCYMETER', INDETERMINATE) -phaseanglemeter = express_getattr(IfcFlowInstrumentTypeEnum, 'PHASEANGLEMETER', INDETERMINATE) -powerfactormeter = express_getattr(IfcFlowInstrumentTypeEnum, 'POWERFACTORMETER', INDETERMINATE) -pressuregauge = express_getattr(IfcFlowInstrumentTypeEnum, 'PRESSUREGAUGE', INDETERMINATE) -thermometer = express_getattr(IfcFlowInstrumentTypeEnum, 'THERMOMETER', INDETERMINATE) -voltmeter = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER', INDETERMINATE) -voltmeter_peak = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_PEAK', INDETERMINATE) -voltmeter_rms = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_RMS', INDETERMINATE) -userdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'NOTDEFINED', INDETERMINATE) +ammeter = IfcFlowInstrumentTypeEnum.AMMETER +combined = IfcFlowInstrumentTypeEnum.COMBINED +frequencymeter = IfcFlowInstrumentTypeEnum.FREQUENCYMETER +phaseanglemeter = IfcFlowInstrumentTypeEnum.PHASEANGLEMETER +powerfactormeter = IfcFlowInstrumentTypeEnum.POWERFACTORMETER +pressuregauge = IfcFlowInstrumentTypeEnum.PRESSUREGAUGE +thermometer = IfcFlowInstrumentTypeEnum.THERMOMETER +voltmeter = IfcFlowInstrumentTypeEnum.VOLTMETER +voltmeter_peak = IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK +voltmeter_rms = IfcFlowInstrumentTypeEnum.VOLTMETER_RMS +userdefined = IfcFlowInstrumentTypeEnum.USERDEFINED +notdefined = IfcFlowInstrumentTypeEnum.NOTDEFINED IfcFlowMeterTypeEnum = enum_namespace() -energymeter = express_getattr(IfcFlowMeterTypeEnum, 'ENERGYMETER', INDETERMINATE) -gasmeter = express_getattr(IfcFlowMeterTypeEnum, 'GASMETER', INDETERMINATE) -oilmeter = express_getattr(IfcFlowMeterTypeEnum, 'OILMETER', INDETERMINATE) -watermeter = express_getattr(IfcFlowMeterTypeEnum, 'WATERMETER', INDETERMINATE) -userdefined = express_getattr(IfcFlowMeterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowMeterTypeEnum, 'NOTDEFINED', INDETERMINATE) +energymeter = IfcFlowMeterTypeEnum.ENERGYMETER +gasmeter = IfcFlowMeterTypeEnum.GASMETER +oilmeter = IfcFlowMeterTypeEnum.OILMETER +watermeter = IfcFlowMeterTypeEnum.WATERMETER +userdefined = IfcFlowMeterTypeEnum.USERDEFINED +notdefined = IfcFlowMeterTypeEnum.NOTDEFINED IfcFootingTypeEnum = enum_namespace() -caisson_foundation = express_getattr(IfcFootingTypeEnum, 'CAISSON_FOUNDATION', INDETERMINATE) -footing_beam = express_getattr(IfcFootingTypeEnum, 'FOOTING_BEAM', INDETERMINATE) -pad_footing = express_getattr(IfcFootingTypeEnum, 'PAD_FOOTING', INDETERMINATE) -pile_cap = express_getattr(IfcFootingTypeEnum, 'PILE_CAP', INDETERMINATE) -strip_footing = express_getattr(IfcFootingTypeEnum, 'STRIP_FOOTING', INDETERMINATE) -userdefined = express_getattr(IfcFootingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFootingTypeEnum, 'NOTDEFINED', INDETERMINATE) +caisson_foundation = IfcFootingTypeEnum.CAISSON_FOUNDATION +footing_beam = IfcFootingTypeEnum.FOOTING_BEAM +pad_footing = IfcFootingTypeEnum.PAD_FOOTING +pile_cap = IfcFootingTypeEnum.PILE_CAP +strip_footing = IfcFootingTypeEnum.STRIP_FOOTING +userdefined = IfcFootingTypeEnum.USERDEFINED +notdefined = IfcFootingTypeEnum.NOTDEFINED IfcFurnitureTypeEnum = enum_namespace() -bed = express_getattr(IfcFurnitureTypeEnum, 'BED', INDETERMINATE) -chair = express_getattr(IfcFurnitureTypeEnum, 'CHAIR', INDETERMINATE) -desk = express_getattr(IfcFurnitureTypeEnum, 'DESK', INDETERMINATE) -filecabinet = express_getattr(IfcFurnitureTypeEnum, 'FILECABINET', INDETERMINATE) -shelf = express_getattr(IfcFurnitureTypeEnum, 'SHELF', INDETERMINATE) -sofa = express_getattr(IfcFurnitureTypeEnum, 'SOFA', INDETERMINATE) -table = express_getattr(IfcFurnitureTypeEnum, 'TABLE', INDETERMINATE) -technicalcabinet = express_getattr(IfcFurnitureTypeEnum, 'TECHNICALCABINET', INDETERMINATE) -userdefined = express_getattr(IfcFurnitureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFurnitureTypeEnum, 'NOTDEFINED', INDETERMINATE) +bed = IfcFurnitureTypeEnum.BED +chair = IfcFurnitureTypeEnum.CHAIR +desk = IfcFurnitureTypeEnum.DESK +filecabinet = IfcFurnitureTypeEnum.FILECABINET +shelf = IfcFurnitureTypeEnum.SHELF +sofa = IfcFurnitureTypeEnum.SOFA +table = IfcFurnitureTypeEnum.TABLE +technicalcabinet = IfcFurnitureTypeEnum.TECHNICALCABINET +userdefined = IfcFurnitureTypeEnum.USERDEFINED +notdefined = IfcFurnitureTypeEnum.NOTDEFINED IfcGeographicElementTypeEnum = enum_namespace() -soil_boring_point = express_getattr(IfcGeographicElementTypeEnum, 'SOIL_BORING_POINT', INDETERMINATE) -terrain = express_getattr(IfcGeographicElementTypeEnum, 'TERRAIN', INDETERMINATE) -vegetation = express_getattr(IfcGeographicElementTypeEnum, 'VEGETATION', INDETERMINATE) -userdefined = express_getattr(IfcGeographicElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeographicElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +soil_boring_point = IfcGeographicElementTypeEnum.SOIL_BORING_POINT +terrain = IfcGeographicElementTypeEnum.TERRAIN +vegetation = IfcGeographicElementTypeEnum.VEGETATION +userdefined = IfcGeographicElementTypeEnum.USERDEFINED +notdefined = IfcGeographicElementTypeEnum.NOTDEFINED IfcGeometricProjectionEnum = enum_namespace() -elevation_view = express_getattr(IfcGeometricProjectionEnum, 'ELEVATION_VIEW', INDETERMINATE) -graph_view = express_getattr(IfcGeometricProjectionEnum, 'GRAPH_VIEW', INDETERMINATE) -model_view = express_getattr(IfcGeometricProjectionEnum, 'MODEL_VIEW', INDETERMINATE) -plan_view = express_getattr(IfcGeometricProjectionEnum, 'PLAN_VIEW', INDETERMINATE) -reflected_plan_view = express_getattr(IfcGeometricProjectionEnum, 'REFLECTED_PLAN_VIEW', INDETERMINATE) -section_view = express_getattr(IfcGeometricProjectionEnum, 'SECTION_VIEW', INDETERMINATE) -sketch_view = express_getattr(IfcGeometricProjectionEnum, 'SKETCH_VIEW', INDETERMINATE) -userdefined = express_getattr(IfcGeometricProjectionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeometricProjectionEnum, 'NOTDEFINED', INDETERMINATE) +elevation_view = IfcGeometricProjectionEnum.ELEVATION_VIEW +graph_view = IfcGeometricProjectionEnum.GRAPH_VIEW +model_view = IfcGeometricProjectionEnum.MODEL_VIEW +plan_view = IfcGeometricProjectionEnum.PLAN_VIEW +reflected_plan_view = IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW +section_view = IfcGeometricProjectionEnum.SECTION_VIEW +sketch_view = IfcGeometricProjectionEnum.SKETCH_VIEW +userdefined = IfcGeometricProjectionEnum.USERDEFINED +notdefined = IfcGeometricProjectionEnum.NOTDEFINED IfcGeotechnicalStratumTypeEnum = enum_namespace() -solid = express_getattr(IfcGeotechnicalStratumTypeEnum, 'SOLID', INDETERMINATE) -void = express_getattr(IfcGeotechnicalStratumTypeEnum, 'VOID', INDETERMINATE) -water = express_getattr(IfcGeotechnicalStratumTypeEnum, 'WATER', INDETERMINATE) -userdefined = express_getattr(IfcGeotechnicalStratumTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeotechnicalStratumTypeEnum, 'NOTDEFINED', INDETERMINATE) +solid = IfcGeotechnicalStratumTypeEnum.SOLID +void = IfcGeotechnicalStratumTypeEnum.VOID +water = IfcGeotechnicalStratumTypeEnum.WATER +userdefined = IfcGeotechnicalStratumTypeEnum.USERDEFINED +notdefined = IfcGeotechnicalStratumTypeEnum.NOTDEFINED IfcGlobalOrLocalEnum = enum_namespace() -global_coords = express_getattr(IfcGlobalOrLocalEnum, 'GLOBAL_COORDS', INDETERMINATE) -local_coords = express_getattr(IfcGlobalOrLocalEnum, 'LOCAL_COORDS', INDETERMINATE) +global_coords = IfcGlobalOrLocalEnum.GLOBAL_COORDS +local_coords = IfcGlobalOrLocalEnum.LOCAL_COORDS IfcGridTypeEnum = enum_namespace() -irregular = express_getattr(IfcGridTypeEnum, 'IRREGULAR', INDETERMINATE) -radial = express_getattr(IfcGridTypeEnum, 'RADIAL', INDETERMINATE) -rectangular = express_getattr(IfcGridTypeEnum, 'RECTANGULAR', INDETERMINATE) -triangular = express_getattr(IfcGridTypeEnum, 'TRIANGULAR', INDETERMINATE) -userdefined = express_getattr(IfcGridTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGridTypeEnum, 'NOTDEFINED', INDETERMINATE) +irregular = IfcGridTypeEnum.IRREGULAR +radial = IfcGridTypeEnum.RADIAL +rectangular = IfcGridTypeEnum.RECTANGULAR +triangular = IfcGridTypeEnum.TRIANGULAR +userdefined = IfcGridTypeEnum.USERDEFINED +notdefined = IfcGridTypeEnum.NOTDEFINED IfcHeatExchangerTypeEnum = enum_namespace() -plate = express_getattr(IfcHeatExchangerTypeEnum, 'PLATE', INDETERMINATE) -shellandtube = express_getattr(IfcHeatExchangerTypeEnum, 'SHELLANDTUBE', INDETERMINATE) -turnoutheating = express_getattr(IfcHeatExchangerTypeEnum, 'TURNOUTHEATING', INDETERMINATE) -userdefined = express_getattr(IfcHeatExchangerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHeatExchangerTypeEnum, 'NOTDEFINED', INDETERMINATE) +plate = IfcHeatExchangerTypeEnum.PLATE +shellandtube = IfcHeatExchangerTypeEnum.SHELLANDTUBE +turnoutheating = IfcHeatExchangerTypeEnum.TURNOUTHEATING +userdefined = IfcHeatExchangerTypeEnum.USERDEFINED +notdefined = IfcHeatExchangerTypeEnum.NOTDEFINED IfcHumidifierTypeEnum = enum_namespace() -adiabaticairwasher = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICAIRWASHER', INDETERMINATE) -adiabaticatomizing = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICATOMIZING', INDETERMINATE) -adiabaticcompressedairnozzle = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICCOMPRESSEDAIRNOZZLE', INDETERMINATE) -adiabaticpan = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICPAN', INDETERMINATE) -adiabaticrigidmedia = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICRIGIDMEDIA', INDETERMINATE) -adiabaticultrasonic = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICULTRASONIC', INDETERMINATE) -adiabaticwettedelement = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICWETTEDELEMENT', INDETERMINATE) -assistedbutane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDBUTANE', INDETERMINATE) -assistedelectric = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDELECTRIC', INDETERMINATE) -assistednaturalgas = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDNATURALGAS', INDETERMINATE) -assistedpropane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDPROPANE', INDETERMINATE) -assistedsteam = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDSTEAM', INDETERMINATE) -steaminjection = express_getattr(IfcHumidifierTypeEnum, 'STEAMINJECTION', INDETERMINATE) -userdefined = express_getattr(IfcHumidifierTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHumidifierTypeEnum, 'NOTDEFINED', INDETERMINATE) +adiabaticairwasher = IfcHumidifierTypeEnum.ADIABATICAIRWASHER +adiabaticatomizing = IfcHumidifierTypeEnum.ADIABATICATOMIZING +adiabaticcompressedairnozzle = IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE +adiabaticpan = IfcHumidifierTypeEnum.ADIABATICPAN +adiabaticrigidmedia = IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA +adiabaticultrasonic = IfcHumidifierTypeEnum.ADIABATICULTRASONIC +adiabaticwettedelement = IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT +assistedbutane = IfcHumidifierTypeEnum.ASSISTEDBUTANE +assistedelectric = IfcHumidifierTypeEnum.ASSISTEDELECTRIC +assistednaturalgas = IfcHumidifierTypeEnum.ASSISTEDNATURALGAS +assistedpropane = IfcHumidifierTypeEnum.ASSISTEDPROPANE +assistedsteam = IfcHumidifierTypeEnum.ASSISTEDSTEAM +steaminjection = IfcHumidifierTypeEnum.STEAMINJECTION +userdefined = IfcHumidifierTypeEnum.USERDEFINED +notdefined = IfcHumidifierTypeEnum.NOTDEFINED IfcImpactProtectionDeviceTypeEnum = enum_namespace() -bumper = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'BUMPER', INDETERMINATE) -crashcushion = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'CRASHCUSHION', INDETERMINATE) -dampingsystem = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'DAMPINGSYSTEM', INDETERMINATE) -fender = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'FENDER', INDETERMINATE) -userdefined = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +bumper = IfcImpactProtectionDeviceTypeEnum.BUMPER +crashcushion = IfcImpactProtectionDeviceTypeEnum.CRASHCUSHION +dampingsystem = IfcImpactProtectionDeviceTypeEnum.DAMPINGSYSTEM +fender = IfcImpactProtectionDeviceTypeEnum.FENDER +userdefined = IfcImpactProtectionDeviceTypeEnum.USERDEFINED +notdefined = IfcImpactProtectionDeviceTypeEnum.NOTDEFINED IfcInterceptorTypeEnum = enum_namespace() -cyclonic = express_getattr(IfcInterceptorTypeEnum, 'CYCLONIC', INDETERMINATE) -grease = express_getattr(IfcInterceptorTypeEnum, 'GREASE', INDETERMINATE) -oil = express_getattr(IfcInterceptorTypeEnum, 'OIL', INDETERMINATE) -petrol = express_getattr(IfcInterceptorTypeEnum, 'PETROL', INDETERMINATE) -userdefined = express_getattr(IfcInterceptorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInterceptorTypeEnum, 'NOTDEFINED', INDETERMINATE) +cyclonic = IfcInterceptorTypeEnum.CYCLONIC +grease = IfcInterceptorTypeEnum.GREASE +oil = IfcInterceptorTypeEnum.OIL +petrol = IfcInterceptorTypeEnum.PETROL +userdefined = IfcInterceptorTypeEnum.USERDEFINED +notdefined = IfcInterceptorTypeEnum.NOTDEFINED IfcInternalOrExternalEnum = enum_namespace() -external = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_fire = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_FIRE', INDETERMINATE) -external_water = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_WATER', INDETERMINATE) -internal = express_getattr(IfcInternalOrExternalEnum, 'INTERNAL', INDETERMINATE) -notdefined = express_getattr(IfcInternalOrExternalEnum, 'NOTDEFINED', INDETERMINATE) +external = IfcInternalOrExternalEnum.EXTERNAL +external_earth = IfcInternalOrExternalEnum.EXTERNAL_EARTH +external_fire = IfcInternalOrExternalEnum.EXTERNAL_FIRE +external_water = IfcInternalOrExternalEnum.EXTERNAL_WATER +internal = IfcInternalOrExternalEnum.INTERNAL +notdefined = IfcInternalOrExternalEnum.NOTDEFINED IfcInventoryTypeEnum = enum_namespace() -assetinventory = express_getattr(IfcInventoryTypeEnum, 'ASSETINVENTORY', INDETERMINATE) -furnitureinventory = express_getattr(IfcInventoryTypeEnum, 'FURNITUREINVENTORY', INDETERMINATE) -spaceinventory = express_getattr(IfcInventoryTypeEnum, 'SPACEINVENTORY', INDETERMINATE) -userdefined = express_getattr(IfcInventoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInventoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +assetinventory = IfcInventoryTypeEnum.ASSETINVENTORY +furnitureinventory = IfcInventoryTypeEnum.FURNITUREINVENTORY +spaceinventory = IfcInventoryTypeEnum.SPACEINVENTORY +userdefined = IfcInventoryTypeEnum.USERDEFINED +notdefined = IfcInventoryTypeEnum.NOTDEFINED IfcJunctionBoxTypeEnum = enum_namespace() -data = express_getattr(IfcJunctionBoxTypeEnum, 'DATA', INDETERMINATE) -power = express_getattr(IfcJunctionBoxTypeEnum, 'POWER', INDETERMINATE) -userdefined = express_getattr(IfcJunctionBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcJunctionBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +data = IfcJunctionBoxTypeEnum.DATA +power = IfcJunctionBoxTypeEnum.POWER +userdefined = IfcJunctionBoxTypeEnum.USERDEFINED +notdefined = IfcJunctionBoxTypeEnum.NOTDEFINED IfcKerbTypeEnum = enum_namespace() -userdefined = express_getattr(IfcKerbTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcKerbTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcKerbTypeEnum.USERDEFINED +notdefined = IfcKerbTypeEnum.NOTDEFINED IfcKnotType = enum_namespace() -piecewise_bezier_knots = express_getattr(IfcKnotType, 'PIECEWISE_BEZIER_KNOTS', INDETERMINATE) -quasi_uniform_knots = express_getattr(IfcKnotType, 'QUASI_UNIFORM_KNOTS', INDETERMINATE) -uniform_knots = express_getattr(IfcKnotType, 'UNIFORM_KNOTS', INDETERMINATE) -unspecified = express_getattr(IfcKnotType, 'UNSPECIFIED', INDETERMINATE) +piecewise_bezier_knots = IfcKnotType.PIECEWISE_BEZIER_KNOTS +quasi_uniform_knots = IfcKnotType.QUASI_UNIFORM_KNOTS +uniform_knots = IfcKnotType.UNIFORM_KNOTS +unspecified = IfcKnotType.UNSPECIFIED IfcLaborResourceTypeEnum = enum_namespace() -administration = express_getattr(IfcLaborResourceTypeEnum, 'ADMINISTRATION', INDETERMINATE) -carpentry = express_getattr(IfcLaborResourceTypeEnum, 'CARPENTRY', INDETERMINATE) -cleaning = express_getattr(IfcLaborResourceTypeEnum, 'CLEANING', INDETERMINATE) -concrete = express_getattr(IfcLaborResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcLaborResourceTypeEnum, 'DRYWALL', INDETERMINATE) -electric = express_getattr(IfcLaborResourceTypeEnum, 'ELECTRIC', INDETERMINATE) -finishing = express_getattr(IfcLaborResourceTypeEnum, 'FINISHING', INDETERMINATE) -flooring = express_getattr(IfcLaborResourceTypeEnum, 'FLOORING', INDETERMINATE) -general = express_getattr(IfcLaborResourceTypeEnum, 'GENERAL', INDETERMINATE) -hvac = express_getattr(IfcLaborResourceTypeEnum, 'HVAC', INDETERMINATE) -landscaping = express_getattr(IfcLaborResourceTypeEnum, 'LANDSCAPING', INDETERMINATE) -masonry = express_getattr(IfcLaborResourceTypeEnum, 'MASONRY', INDETERMINATE) -painting = express_getattr(IfcLaborResourceTypeEnum, 'PAINTING', INDETERMINATE) -paving = express_getattr(IfcLaborResourceTypeEnum, 'PAVING', INDETERMINATE) -plumbing = express_getattr(IfcLaborResourceTypeEnum, 'PLUMBING', INDETERMINATE) -roofing = express_getattr(IfcLaborResourceTypeEnum, 'ROOFING', INDETERMINATE) -sitegrading = express_getattr(IfcLaborResourceTypeEnum, 'SITEGRADING', INDETERMINATE) -steelwork = express_getattr(IfcLaborResourceTypeEnum, 'STEELWORK', INDETERMINATE) -surveying = express_getattr(IfcLaborResourceTypeEnum, 'SURVEYING', INDETERMINATE) -userdefined = express_getattr(IfcLaborResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLaborResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +administration = IfcLaborResourceTypeEnum.ADMINISTRATION +carpentry = IfcLaborResourceTypeEnum.CARPENTRY +cleaning = IfcLaborResourceTypeEnum.CLEANING +concrete = IfcLaborResourceTypeEnum.CONCRETE +drywall = IfcLaborResourceTypeEnum.DRYWALL +electric = IfcLaborResourceTypeEnum.ELECTRIC +finishing = IfcLaborResourceTypeEnum.FINISHING +flooring = IfcLaborResourceTypeEnum.FLOORING +general = IfcLaborResourceTypeEnum.GENERAL +hvac = IfcLaborResourceTypeEnum.HVAC +landscaping = IfcLaborResourceTypeEnum.LANDSCAPING +masonry = IfcLaborResourceTypeEnum.MASONRY +painting = IfcLaborResourceTypeEnum.PAINTING +paving = IfcLaborResourceTypeEnum.PAVING +plumbing = IfcLaborResourceTypeEnum.PLUMBING +roofing = IfcLaborResourceTypeEnum.ROOFING +sitegrading = IfcLaborResourceTypeEnum.SITEGRADING +steelwork = IfcLaborResourceTypeEnum.STEELWORK +surveying = IfcLaborResourceTypeEnum.SURVEYING +userdefined = IfcLaborResourceTypeEnum.USERDEFINED +notdefined = IfcLaborResourceTypeEnum.NOTDEFINED IfcLampTypeEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLampTypeEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLampTypeEnum, 'FLUORESCENT', INDETERMINATE) -halogen = express_getattr(IfcLampTypeEnum, 'HALOGEN', INDETERMINATE) -highpressuremercury = express_getattr(IfcLampTypeEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLampTypeEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -led = express_getattr(IfcLampTypeEnum, 'LED', INDETERMINATE) -metalhalide = express_getattr(IfcLampTypeEnum, 'METALHALIDE', INDETERMINATE) -oled = express_getattr(IfcLampTypeEnum, 'OLED', INDETERMINATE) -tungstenfilament = express_getattr(IfcLampTypeEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -userdefined = express_getattr(IfcLampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLampTypeEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLampTypeEnum.COMPACTFLUORESCENT +fluorescent = IfcLampTypeEnum.FLUORESCENT +halogen = IfcLampTypeEnum.HALOGEN +highpressuremercury = IfcLampTypeEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLampTypeEnum.HIGHPRESSURESODIUM +led = IfcLampTypeEnum.LED +metalhalide = IfcLampTypeEnum.METALHALIDE +oled = IfcLampTypeEnum.OLED +tungstenfilament = IfcLampTypeEnum.TUNGSTENFILAMENT +userdefined = IfcLampTypeEnum.USERDEFINED +notdefined = IfcLampTypeEnum.NOTDEFINED IfcLayerSetDirectionEnum = enum_namespace() -axis1 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS1', INDETERMINATE) -axis2 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS2', INDETERMINATE) -axis3 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS3', INDETERMINATE) +axis1 = IfcLayerSetDirectionEnum.AXIS1 +axis2 = IfcLayerSetDirectionEnum.AXIS2 +axis3 = IfcLayerSetDirectionEnum.AXIS3 IfcLightDistributionCurveEnum = enum_namespace() -type_a = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_A', INDETERMINATE) -type_b = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_B', INDETERMINATE) -type_c = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_C', INDETERMINATE) -notdefined = express_getattr(IfcLightDistributionCurveEnum, 'NOTDEFINED', INDETERMINATE) +type_a = IfcLightDistributionCurveEnum.TYPE_A +type_b = IfcLightDistributionCurveEnum.TYPE_B +type_c = IfcLightDistributionCurveEnum.TYPE_C +notdefined = IfcLightDistributionCurveEnum.NOTDEFINED IfcLightEmissionSourceEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLightEmissionSourceEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLightEmissionSourceEnum, 'FLUORESCENT', INDETERMINATE) -highpressuremercury = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -lightemittingdiode = express_getattr(IfcLightEmissionSourceEnum, 'LIGHTEMITTINGDIODE', INDETERMINATE) -lowpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'LOWPRESSURESODIUM', INDETERMINATE) -lowvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'LOWVOLTAGEHALOGEN', INDETERMINATE) -mainvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'MAINVOLTAGEHALOGEN', INDETERMINATE) -metalhalide = express_getattr(IfcLightEmissionSourceEnum, 'METALHALIDE', INDETERMINATE) -tungstenfilament = express_getattr(IfcLightEmissionSourceEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -notdefined = express_getattr(IfcLightEmissionSourceEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLightEmissionSourceEnum.COMPACTFLUORESCENT +fluorescent = IfcLightEmissionSourceEnum.FLUORESCENT +highpressuremercury = IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM +lightemittingdiode = IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE +lowpressuresodium = IfcLightEmissionSourceEnum.LOWPRESSURESODIUM +lowvoltagehalogen = IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN +mainvoltagehalogen = IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN +metalhalide = IfcLightEmissionSourceEnum.METALHALIDE +tungstenfilament = IfcLightEmissionSourceEnum.TUNGSTENFILAMENT +notdefined = IfcLightEmissionSourceEnum.NOTDEFINED IfcLightFixtureTypeEnum = enum_namespace() -directionsource = express_getattr(IfcLightFixtureTypeEnum, 'DIRECTIONSOURCE', INDETERMINATE) -pointsource = express_getattr(IfcLightFixtureTypeEnum, 'POINTSOURCE', INDETERMINATE) -securitylighting = express_getattr(IfcLightFixtureTypeEnum, 'SECURITYLIGHTING', INDETERMINATE) -userdefined = express_getattr(IfcLightFixtureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLightFixtureTypeEnum, 'NOTDEFINED', INDETERMINATE) +directionsource = IfcLightFixtureTypeEnum.DIRECTIONSOURCE +pointsource = IfcLightFixtureTypeEnum.POINTSOURCE +securitylighting = IfcLightFixtureTypeEnum.SECURITYLIGHTING +userdefined = IfcLightFixtureTypeEnum.USERDEFINED +notdefined = IfcLightFixtureTypeEnum.NOTDEFINED IfcLiquidTerminalTypeEnum = enum_namespace() -hosereel = express_getattr(IfcLiquidTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -loadingarm = express_getattr(IfcLiquidTerminalTypeEnum, 'LOADINGARM', INDETERMINATE) -userdefined = express_getattr(IfcLiquidTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLiquidTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +hosereel = IfcLiquidTerminalTypeEnum.HOSEREEL +loadingarm = IfcLiquidTerminalTypeEnum.LOADINGARM +userdefined = IfcLiquidTerminalTypeEnum.USERDEFINED +notdefined = IfcLiquidTerminalTypeEnum.NOTDEFINED IfcLoadGroupTypeEnum = enum_namespace() -load_case = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_CASE', INDETERMINATE) -load_combination = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_COMBINATION', INDETERMINATE) -load_group = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_GROUP', INDETERMINATE) -userdefined = express_getattr(IfcLoadGroupTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLoadGroupTypeEnum, 'NOTDEFINED', INDETERMINATE) +load_case = IfcLoadGroupTypeEnum.LOAD_CASE +load_combination = IfcLoadGroupTypeEnum.LOAD_COMBINATION +load_group = IfcLoadGroupTypeEnum.LOAD_GROUP +userdefined = IfcLoadGroupTypeEnum.USERDEFINED +notdefined = IfcLoadGroupTypeEnum.NOTDEFINED IfcLogicalOperatorEnum = enum_namespace() -logicaland = express_getattr(IfcLogicalOperatorEnum, 'LOGICALAND', INDETERMINATE) -logicalnotand = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTAND', INDETERMINATE) -logicalnotor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTOR', INDETERMINATE) -logicalor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALOR', INDETERMINATE) -logicalxor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALXOR', INDETERMINATE) +logicaland = IfcLogicalOperatorEnum.LOGICALAND +logicalnotand = IfcLogicalOperatorEnum.LOGICALNOTAND +logicalnotor = IfcLogicalOperatorEnum.LOGICALNOTOR +logicalor = IfcLogicalOperatorEnum.LOGICALOR +logicalxor = IfcLogicalOperatorEnum.LOGICALXOR IfcMarineFacilityTypeEnum = enum_namespace() -barrierbeach = express_getattr(IfcMarineFacilityTypeEnum, 'BARRIERBEACH', INDETERMINATE) -breakwater = express_getattr(IfcMarineFacilityTypeEnum, 'BREAKWATER', INDETERMINATE) -canal = express_getattr(IfcMarineFacilityTypeEnum, 'CANAL', INDETERMINATE) -drydock = express_getattr(IfcMarineFacilityTypeEnum, 'DRYDOCK', INDETERMINATE) -floatingdock = express_getattr(IfcMarineFacilityTypeEnum, 'FLOATINGDOCK', INDETERMINATE) -hydrolift = express_getattr(IfcMarineFacilityTypeEnum, 'HYDROLIFT', INDETERMINATE) -jetty = express_getattr(IfcMarineFacilityTypeEnum, 'JETTY', INDETERMINATE) -launchrecovery = express_getattr(IfcMarineFacilityTypeEnum, 'LAUNCHRECOVERY', INDETERMINATE) -marinedefence = express_getattr(IfcMarineFacilityTypeEnum, 'MARINEDEFENCE', INDETERMINATE) -navigationalchannel = express_getattr(IfcMarineFacilityTypeEnum, 'NAVIGATIONALCHANNEL', INDETERMINATE) -port = express_getattr(IfcMarineFacilityTypeEnum, 'PORT', INDETERMINATE) -quay = express_getattr(IfcMarineFacilityTypeEnum, 'QUAY', INDETERMINATE) -revetment = express_getattr(IfcMarineFacilityTypeEnum, 'REVETMENT', INDETERMINATE) -shiplift = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPLIFT', INDETERMINATE) -shiplock = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPLOCK', INDETERMINATE) -shipyard = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPYARD', INDETERMINATE) -slipway = express_getattr(IfcMarineFacilityTypeEnum, 'SLIPWAY', INDETERMINATE) -waterway = express_getattr(IfcMarineFacilityTypeEnum, 'WATERWAY', INDETERMINATE) -waterwayshiplift = express_getattr(IfcMarineFacilityTypeEnum, 'WATERWAYSHIPLIFT', INDETERMINATE) -userdefined = express_getattr(IfcMarineFacilityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMarineFacilityTypeEnum, 'NOTDEFINED', INDETERMINATE) +barrierbeach = IfcMarineFacilityTypeEnum.BARRIERBEACH +breakwater = IfcMarineFacilityTypeEnum.BREAKWATER +canal = IfcMarineFacilityTypeEnum.CANAL +drydock = IfcMarineFacilityTypeEnum.DRYDOCK +floatingdock = IfcMarineFacilityTypeEnum.FLOATINGDOCK +hydrolift = IfcMarineFacilityTypeEnum.HYDROLIFT +jetty = IfcMarineFacilityTypeEnum.JETTY +launchrecovery = IfcMarineFacilityTypeEnum.LAUNCHRECOVERY +marinedefence = IfcMarineFacilityTypeEnum.MARINEDEFENCE +navigationalchannel = IfcMarineFacilityTypeEnum.NAVIGATIONALCHANNEL +port = IfcMarineFacilityTypeEnum.PORT +quay = IfcMarineFacilityTypeEnum.QUAY +revetment = IfcMarineFacilityTypeEnum.REVETMENT +shiplift = IfcMarineFacilityTypeEnum.SHIPLIFT +shiplock = IfcMarineFacilityTypeEnum.SHIPLOCK +shipyard = IfcMarineFacilityTypeEnum.SHIPYARD +slipway = IfcMarineFacilityTypeEnum.SLIPWAY +waterway = IfcMarineFacilityTypeEnum.WATERWAY +waterwayshiplift = IfcMarineFacilityTypeEnum.WATERWAYSHIPLIFT +userdefined = IfcMarineFacilityTypeEnum.USERDEFINED +notdefined = IfcMarineFacilityTypeEnum.NOTDEFINED IfcMarinePartTypeEnum = enum_namespace() -abovewaterline = express_getattr(IfcMarinePartTypeEnum, 'ABOVEWATERLINE', INDETERMINATE) -anchorage = express_getattr(IfcMarinePartTypeEnum, 'ANCHORAGE', INDETERMINATE) -approachchannel = express_getattr(IfcMarinePartTypeEnum, 'APPROACHCHANNEL', INDETERMINATE) -belowwaterline = express_getattr(IfcMarinePartTypeEnum, 'BELOWWATERLINE', INDETERMINATE) -berthingstructure = express_getattr(IfcMarinePartTypeEnum, 'BERTHINGSTRUCTURE', INDETERMINATE) -chamber = express_getattr(IfcMarinePartTypeEnum, 'CHAMBER', INDETERMINATE) -cill_level = express_getattr(IfcMarinePartTypeEnum, 'CILL_LEVEL', INDETERMINATE) -copelevel = express_getattr(IfcMarinePartTypeEnum, 'COPELEVEL', INDETERMINATE) -core = express_getattr(IfcMarinePartTypeEnum, 'CORE', INDETERMINATE) -crest = express_getattr(IfcMarinePartTypeEnum, 'CREST', INDETERMINATE) -gatehead = express_getattr(IfcMarinePartTypeEnum, 'GATEHEAD', INDETERMINATE) -gudingstructure = express_getattr(IfcMarinePartTypeEnum, 'GUDINGSTRUCTURE', INDETERMINATE) -highwaterline = express_getattr(IfcMarinePartTypeEnum, 'HIGHWATERLINE', INDETERMINATE) -landfield = express_getattr(IfcMarinePartTypeEnum, 'LANDFIELD', INDETERMINATE) -leewardside = express_getattr(IfcMarinePartTypeEnum, 'LEEWARDSIDE', INDETERMINATE) -lowwaterline = express_getattr(IfcMarinePartTypeEnum, 'LOWWATERLINE', INDETERMINATE) -manufacturing = express_getattr(IfcMarinePartTypeEnum, 'MANUFACTURING', INDETERMINATE) -navigationalarea = express_getattr(IfcMarinePartTypeEnum, 'NAVIGATIONALAREA', INDETERMINATE) -protection = express_getattr(IfcMarinePartTypeEnum, 'PROTECTION', INDETERMINATE) -shiptransfer = express_getattr(IfcMarinePartTypeEnum, 'SHIPTRANSFER', INDETERMINATE) -storagearea = express_getattr(IfcMarinePartTypeEnum, 'STORAGEAREA', INDETERMINATE) -vehicleservicing = express_getattr(IfcMarinePartTypeEnum, 'VEHICLESERVICING', INDETERMINATE) -waterfield = express_getattr(IfcMarinePartTypeEnum, 'WATERFIELD', INDETERMINATE) -weatherside = express_getattr(IfcMarinePartTypeEnum, 'WEATHERSIDE', INDETERMINATE) -userdefined = express_getattr(IfcMarinePartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMarinePartTypeEnum, 'NOTDEFINED', INDETERMINATE) +abovewaterline = IfcMarinePartTypeEnum.ABOVEWATERLINE +anchorage = IfcMarinePartTypeEnum.ANCHORAGE +approachchannel = IfcMarinePartTypeEnum.APPROACHCHANNEL +belowwaterline = IfcMarinePartTypeEnum.BELOWWATERLINE +berthingstructure = IfcMarinePartTypeEnum.BERTHINGSTRUCTURE +chamber = IfcMarinePartTypeEnum.CHAMBER +cill_level = IfcMarinePartTypeEnum.CILL_LEVEL +copelevel = IfcMarinePartTypeEnum.COPELEVEL +core = IfcMarinePartTypeEnum.CORE +crest = IfcMarinePartTypeEnum.CREST +gatehead = IfcMarinePartTypeEnum.GATEHEAD +gudingstructure = IfcMarinePartTypeEnum.GUDINGSTRUCTURE +highwaterline = IfcMarinePartTypeEnum.HIGHWATERLINE +landfield = IfcMarinePartTypeEnum.LANDFIELD +leewardside = IfcMarinePartTypeEnum.LEEWARDSIDE +lowwaterline = IfcMarinePartTypeEnum.LOWWATERLINE +manufacturing = IfcMarinePartTypeEnum.MANUFACTURING +navigationalarea = IfcMarinePartTypeEnum.NAVIGATIONALAREA +protection = IfcMarinePartTypeEnum.PROTECTION +shiptransfer = IfcMarinePartTypeEnum.SHIPTRANSFER +storagearea = IfcMarinePartTypeEnum.STORAGEAREA +vehicleservicing = IfcMarinePartTypeEnum.VEHICLESERVICING +waterfield = IfcMarinePartTypeEnum.WATERFIELD +weatherside = IfcMarinePartTypeEnum.WEATHERSIDE +userdefined = IfcMarinePartTypeEnum.USERDEFINED +notdefined = IfcMarinePartTypeEnum.NOTDEFINED IfcMechanicalFastenerTypeEnum = enum_namespace() -anchorbolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'ANCHORBOLT', INDETERMINATE) -bolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'BOLT', INDETERMINATE) -chain = express_getattr(IfcMechanicalFastenerTypeEnum, 'CHAIN', INDETERMINATE) -coupler = express_getattr(IfcMechanicalFastenerTypeEnum, 'COUPLER', INDETERMINATE) -dowel = express_getattr(IfcMechanicalFastenerTypeEnum, 'DOWEL', INDETERMINATE) -nail = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAIL', INDETERMINATE) -nailplate = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAILPLATE', INDETERMINATE) -railfastening = express_getattr(IfcMechanicalFastenerTypeEnum, 'RAILFASTENING', INDETERMINATE) -railjoint = express_getattr(IfcMechanicalFastenerTypeEnum, 'RAILJOINT', INDETERMINATE) -rivet = express_getattr(IfcMechanicalFastenerTypeEnum, 'RIVET', INDETERMINATE) -rope = express_getattr(IfcMechanicalFastenerTypeEnum, 'ROPE', INDETERMINATE) -screw = express_getattr(IfcMechanicalFastenerTypeEnum, 'SCREW', INDETERMINATE) -shearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'SHEARCONNECTOR', INDETERMINATE) -staple = express_getattr(IfcMechanicalFastenerTypeEnum, 'STAPLE', INDETERMINATE) -studshearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'STUDSHEARCONNECTOR', INDETERMINATE) -userdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorbolt = IfcMechanicalFastenerTypeEnum.ANCHORBOLT +bolt = IfcMechanicalFastenerTypeEnum.BOLT +chain = IfcMechanicalFastenerTypeEnum.CHAIN +coupler = IfcMechanicalFastenerTypeEnum.COUPLER +dowel = IfcMechanicalFastenerTypeEnum.DOWEL +nail = IfcMechanicalFastenerTypeEnum.NAIL +nailplate = IfcMechanicalFastenerTypeEnum.NAILPLATE +railfastening = IfcMechanicalFastenerTypeEnum.RAILFASTENING +railjoint = IfcMechanicalFastenerTypeEnum.RAILJOINT +rivet = IfcMechanicalFastenerTypeEnum.RIVET +rope = IfcMechanicalFastenerTypeEnum.ROPE +screw = IfcMechanicalFastenerTypeEnum.SCREW +shearconnector = IfcMechanicalFastenerTypeEnum.SHEARCONNECTOR +staple = IfcMechanicalFastenerTypeEnum.STAPLE +studshearconnector = IfcMechanicalFastenerTypeEnum.STUDSHEARCONNECTOR +userdefined = IfcMechanicalFastenerTypeEnum.USERDEFINED +notdefined = IfcMechanicalFastenerTypeEnum.NOTDEFINED IfcMedicalDeviceTypeEnum = enum_namespace() -airstation = express_getattr(IfcMedicalDeviceTypeEnum, 'AIRSTATION', INDETERMINATE) -feedairunit = express_getattr(IfcMedicalDeviceTypeEnum, 'FEEDAIRUNIT', INDETERMINATE) -oxygengenerator = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENGENERATOR', INDETERMINATE) -oxygenplant = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENPLANT', INDETERMINATE) -vacuumstation = express_getattr(IfcMedicalDeviceTypeEnum, 'VACUUMSTATION', INDETERMINATE) -userdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +airstation = IfcMedicalDeviceTypeEnum.AIRSTATION +feedairunit = IfcMedicalDeviceTypeEnum.FEEDAIRUNIT +oxygengenerator = IfcMedicalDeviceTypeEnum.OXYGENGENERATOR +oxygenplant = IfcMedicalDeviceTypeEnum.OXYGENPLANT +vacuumstation = IfcMedicalDeviceTypeEnum.VACUUMSTATION +userdefined = IfcMedicalDeviceTypeEnum.USERDEFINED +notdefined = IfcMedicalDeviceTypeEnum.NOTDEFINED IfcMemberTypeEnum = enum_namespace() -arch_segment = express_getattr(IfcMemberTypeEnum, 'ARCH_SEGMENT', INDETERMINATE) -brace = express_getattr(IfcMemberTypeEnum, 'BRACE', INDETERMINATE) -chord = express_getattr(IfcMemberTypeEnum, 'CHORD', INDETERMINATE) -collar = express_getattr(IfcMemberTypeEnum, 'COLLAR', INDETERMINATE) -member = express_getattr(IfcMemberTypeEnum, 'MEMBER', INDETERMINATE) -mullion = express_getattr(IfcMemberTypeEnum, 'MULLION', INDETERMINATE) -plate = express_getattr(IfcMemberTypeEnum, 'PLATE', INDETERMINATE) -post = express_getattr(IfcMemberTypeEnum, 'POST', INDETERMINATE) -purlin = express_getattr(IfcMemberTypeEnum, 'PURLIN', INDETERMINATE) -rafter = express_getattr(IfcMemberTypeEnum, 'RAFTER', INDETERMINATE) -stay_cable = express_getattr(IfcMemberTypeEnum, 'STAY_CABLE', INDETERMINATE) -stiffening_rib = express_getattr(IfcMemberTypeEnum, 'STIFFENING_RIB', INDETERMINATE) -stringer = express_getattr(IfcMemberTypeEnum, 'STRINGER', INDETERMINATE) -structuralcable = express_getattr(IfcMemberTypeEnum, 'STRUCTURALCABLE', INDETERMINATE) -strut = express_getattr(IfcMemberTypeEnum, 'STRUT', INDETERMINATE) -stud = express_getattr(IfcMemberTypeEnum, 'STUD', INDETERMINATE) -suspender = express_getattr(IfcMemberTypeEnum, 'SUSPENDER', INDETERMINATE) -suspension_cable = express_getattr(IfcMemberTypeEnum, 'SUSPENSION_CABLE', INDETERMINATE) -tiebar = express_getattr(IfcMemberTypeEnum, 'TIEBAR', INDETERMINATE) -userdefined = express_getattr(IfcMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +arch_segment = IfcMemberTypeEnum.ARCH_SEGMENT +brace = IfcMemberTypeEnum.BRACE +chord = IfcMemberTypeEnum.CHORD +collar = IfcMemberTypeEnum.COLLAR +member = IfcMemberTypeEnum.MEMBER +mullion = IfcMemberTypeEnum.MULLION +plate = IfcMemberTypeEnum.PLATE +post = IfcMemberTypeEnum.POST +purlin = IfcMemberTypeEnum.PURLIN +rafter = IfcMemberTypeEnum.RAFTER +stay_cable = IfcMemberTypeEnum.STAY_CABLE +stiffening_rib = IfcMemberTypeEnum.STIFFENING_RIB +stringer = IfcMemberTypeEnum.STRINGER +structuralcable = IfcMemberTypeEnum.STRUCTURALCABLE +strut = IfcMemberTypeEnum.STRUT +stud = IfcMemberTypeEnum.STUD +suspender = IfcMemberTypeEnum.SUSPENDER +suspension_cable = IfcMemberTypeEnum.SUSPENSION_CABLE +tiebar = IfcMemberTypeEnum.TIEBAR +userdefined = IfcMemberTypeEnum.USERDEFINED +notdefined = IfcMemberTypeEnum.NOTDEFINED IfcMobileTelecommunicationsApplianceTypeEnum = enum_namespace() -accesspoint = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'ACCESSPOINT', INDETERMINATE) -basebandunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'BASEBANDUNIT', INDETERMINATE) -basetransceiverstation = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'BASETRANSCEIVERSTATION', INDETERMINATE) -e_utran_node_b = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'E_UTRAN_NODE_B', INDETERMINATE) -gateway_gprs_support_node = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'GATEWAY_GPRS_SUPPORT_NODE', INDETERMINATE) -masterunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'MASTERUNIT', INDETERMINATE) -mobileswitchingcenter = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'MOBILESWITCHINGCENTER', INDETERMINATE) -mscserver = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'MSCSERVER', INDETERMINATE) -packetcontrolunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'PACKETCONTROLUNIT', INDETERMINATE) -remoteradiounit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'REMOTERADIOUNIT', INDETERMINATE) -remoteunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'REMOTEUNIT', INDETERMINATE) -service_gprs_support_node = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'SERVICE_GPRS_SUPPORT_NODE', INDETERMINATE) -subscriberserver = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'SUBSCRIBERSERVER', INDETERMINATE) -userdefined = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +accesspoint = IfcMobileTelecommunicationsApplianceTypeEnum.ACCESSPOINT +basebandunit = IfcMobileTelecommunicationsApplianceTypeEnum.BASEBANDUNIT +basetransceiverstation = IfcMobileTelecommunicationsApplianceTypeEnum.BASETRANSCEIVERSTATION +e_utran_node_b = IfcMobileTelecommunicationsApplianceTypeEnum.E_UTRAN_NODE_B +gateway_gprs_support_node = IfcMobileTelecommunicationsApplianceTypeEnum.GATEWAY_GPRS_SUPPORT_NODE +masterunit = IfcMobileTelecommunicationsApplianceTypeEnum.MASTERUNIT +mobileswitchingcenter = IfcMobileTelecommunicationsApplianceTypeEnum.MOBILESWITCHINGCENTER +mscserver = IfcMobileTelecommunicationsApplianceTypeEnum.MSCSERVER +packetcontrolunit = IfcMobileTelecommunicationsApplianceTypeEnum.PACKETCONTROLUNIT +remoteradiounit = IfcMobileTelecommunicationsApplianceTypeEnum.REMOTERADIOUNIT +remoteunit = IfcMobileTelecommunicationsApplianceTypeEnum.REMOTEUNIT +service_gprs_support_node = IfcMobileTelecommunicationsApplianceTypeEnum.SERVICE_GPRS_SUPPORT_NODE +subscriberserver = IfcMobileTelecommunicationsApplianceTypeEnum.SUBSCRIBERSERVER +userdefined = IfcMobileTelecommunicationsApplianceTypeEnum.USERDEFINED +notdefined = IfcMobileTelecommunicationsApplianceTypeEnum.NOTDEFINED IfcMooringDeviceTypeEnum = enum_namespace() -bollard = express_getattr(IfcMooringDeviceTypeEnum, 'BOLLARD', INDETERMINATE) -linetensioner = express_getattr(IfcMooringDeviceTypeEnum, 'LINETENSIONER', INDETERMINATE) -magneticdevice = express_getattr(IfcMooringDeviceTypeEnum, 'MAGNETICDEVICE', INDETERMINATE) -mooringhooks = express_getattr(IfcMooringDeviceTypeEnum, 'MOORINGHOOKS', INDETERMINATE) -vacuumdevice = express_getattr(IfcMooringDeviceTypeEnum, 'VACUUMDEVICE', INDETERMINATE) -userdefined = express_getattr(IfcMooringDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMooringDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +bollard = IfcMooringDeviceTypeEnum.BOLLARD +linetensioner = IfcMooringDeviceTypeEnum.LINETENSIONER +magneticdevice = IfcMooringDeviceTypeEnum.MAGNETICDEVICE +mooringhooks = IfcMooringDeviceTypeEnum.MOORINGHOOKS +vacuumdevice = IfcMooringDeviceTypeEnum.VACUUMDEVICE +userdefined = IfcMooringDeviceTypeEnum.USERDEFINED +notdefined = IfcMooringDeviceTypeEnum.NOTDEFINED IfcMotorConnectionTypeEnum = enum_namespace() -beltdrive = express_getattr(IfcMotorConnectionTypeEnum, 'BELTDRIVE', INDETERMINATE) -coupling = express_getattr(IfcMotorConnectionTypeEnum, 'COUPLING', INDETERMINATE) -directdrive = express_getattr(IfcMotorConnectionTypeEnum, 'DIRECTDRIVE', INDETERMINATE) -userdefined = express_getattr(IfcMotorConnectionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMotorConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +beltdrive = IfcMotorConnectionTypeEnum.BELTDRIVE +coupling = IfcMotorConnectionTypeEnum.COUPLING +directdrive = IfcMotorConnectionTypeEnum.DIRECTDRIVE +userdefined = IfcMotorConnectionTypeEnum.USERDEFINED +notdefined = IfcMotorConnectionTypeEnum.NOTDEFINED IfcNavigationElementTypeEnum = enum_namespace() -beacon = express_getattr(IfcNavigationElementTypeEnum, 'BEACON', INDETERMINATE) -buoy = express_getattr(IfcNavigationElementTypeEnum, 'BUOY', INDETERMINATE) -userdefined = express_getattr(IfcNavigationElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcNavigationElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +beacon = IfcNavigationElementTypeEnum.BEACON +buoy = IfcNavigationElementTypeEnum.BUOY +userdefined = IfcNavigationElementTypeEnum.USERDEFINED +notdefined = IfcNavigationElementTypeEnum.NOTDEFINED IfcObjectiveEnum = enum_namespace() -codecompliance = express_getattr(IfcObjectiveEnum, 'CODECOMPLIANCE', INDETERMINATE) -codewaiver = express_getattr(IfcObjectiveEnum, 'CODEWAIVER', INDETERMINATE) -designintent = express_getattr(IfcObjectiveEnum, 'DESIGNINTENT', INDETERMINATE) -external = express_getattr(IfcObjectiveEnum, 'EXTERNAL', INDETERMINATE) -healthandsafety = express_getattr(IfcObjectiveEnum, 'HEALTHANDSAFETY', INDETERMINATE) -mergeconflict = express_getattr(IfcObjectiveEnum, 'MERGECONFLICT', INDETERMINATE) -modelview = express_getattr(IfcObjectiveEnum, 'MODELVIEW', INDETERMINATE) -parameter = express_getattr(IfcObjectiveEnum, 'PARAMETER', INDETERMINATE) -requirement = express_getattr(IfcObjectiveEnum, 'REQUIREMENT', INDETERMINATE) -specification = express_getattr(IfcObjectiveEnum, 'SPECIFICATION', INDETERMINATE) -triggercondition = express_getattr(IfcObjectiveEnum, 'TRIGGERCONDITION', INDETERMINATE) -userdefined = express_getattr(IfcObjectiveEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcObjectiveEnum, 'NOTDEFINED', INDETERMINATE) +codecompliance = IfcObjectiveEnum.CODECOMPLIANCE +codewaiver = IfcObjectiveEnum.CODEWAIVER +designintent = IfcObjectiveEnum.DESIGNINTENT +external = IfcObjectiveEnum.EXTERNAL +healthandsafety = IfcObjectiveEnum.HEALTHANDSAFETY +mergeconflict = IfcObjectiveEnum.MERGECONFLICT +modelview = IfcObjectiveEnum.MODELVIEW +parameter = IfcObjectiveEnum.PARAMETER +requirement = IfcObjectiveEnum.REQUIREMENT +specification = IfcObjectiveEnum.SPECIFICATION +triggercondition = IfcObjectiveEnum.TRIGGERCONDITION +userdefined = IfcObjectiveEnum.USERDEFINED +notdefined = IfcObjectiveEnum.NOTDEFINED IfcOccupantTypeEnum = enum_namespace() -assignee = express_getattr(IfcOccupantTypeEnum, 'ASSIGNEE', INDETERMINATE) -assignor = express_getattr(IfcOccupantTypeEnum, 'ASSIGNOR', INDETERMINATE) -lessee = express_getattr(IfcOccupantTypeEnum, 'LESSEE', INDETERMINATE) -lessor = express_getattr(IfcOccupantTypeEnum, 'LESSOR', INDETERMINATE) -lettingagent = express_getattr(IfcOccupantTypeEnum, 'LETTINGAGENT', INDETERMINATE) -owner = express_getattr(IfcOccupantTypeEnum, 'OWNER', INDETERMINATE) -tenant = express_getattr(IfcOccupantTypeEnum, 'TENANT', INDETERMINATE) -userdefined = express_getattr(IfcOccupantTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOccupantTypeEnum, 'NOTDEFINED', INDETERMINATE) +assignee = IfcOccupantTypeEnum.ASSIGNEE +assignor = IfcOccupantTypeEnum.ASSIGNOR +lessee = IfcOccupantTypeEnum.LESSEE +lessor = IfcOccupantTypeEnum.LESSOR +lettingagent = IfcOccupantTypeEnum.LETTINGAGENT +owner = IfcOccupantTypeEnum.OWNER +tenant = IfcOccupantTypeEnum.TENANT +userdefined = IfcOccupantTypeEnum.USERDEFINED +notdefined = IfcOccupantTypeEnum.NOTDEFINED IfcOpeningElementTypeEnum = enum_namespace() -opening = express_getattr(IfcOpeningElementTypeEnum, 'OPENING', INDETERMINATE) -recess = express_getattr(IfcOpeningElementTypeEnum, 'RECESS', INDETERMINATE) -userdefined = express_getattr(IfcOpeningElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOpeningElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +opening = IfcOpeningElementTypeEnum.OPENING +recess = IfcOpeningElementTypeEnum.RECESS +userdefined = IfcOpeningElementTypeEnum.USERDEFINED +notdefined = IfcOpeningElementTypeEnum.NOTDEFINED IfcOutletTypeEnum = enum_namespace() -audiovisualoutlet = express_getattr(IfcOutletTypeEnum, 'AUDIOVISUALOUTLET', INDETERMINATE) -communicationsoutlet = express_getattr(IfcOutletTypeEnum, 'COMMUNICATIONSOUTLET', INDETERMINATE) -dataoutlet = express_getattr(IfcOutletTypeEnum, 'DATAOUTLET', INDETERMINATE) -poweroutlet = express_getattr(IfcOutletTypeEnum, 'POWEROUTLET', INDETERMINATE) -telephoneoutlet = express_getattr(IfcOutletTypeEnum, 'TELEPHONEOUTLET', INDETERMINATE) -userdefined = express_getattr(IfcOutletTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOutletTypeEnum, 'NOTDEFINED', INDETERMINATE) +audiovisualoutlet = IfcOutletTypeEnum.AUDIOVISUALOUTLET +communicationsoutlet = IfcOutletTypeEnum.COMMUNICATIONSOUTLET +dataoutlet = IfcOutletTypeEnum.DATAOUTLET +poweroutlet = IfcOutletTypeEnum.POWEROUTLET +telephoneoutlet = IfcOutletTypeEnum.TELEPHONEOUTLET +userdefined = IfcOutletTypeEnum.USERDEFINED +notdefined = IfcOutletTypeEnum.NOTDEFINED IfcPavementTypeEnum = enum_namespace() -flexible = express_getattr(IfcPavementTypeEnum, 'FLEXIBLE', INDETERMINATE) -rigid = express_getattr(IfcPavementTypeEnum, 'RIGID', INDETERMINATE) -userdefined = express_getattr(IfcPavementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPavementTypeEnum, 'NOTDEFINED', INDETERMINATE) +flexible = IfcPavementTypeEnum.FLEXIBLE +rigid = IfcPavementTypeEnum.RIGID +userdefined = IfcPavementTypeEnum.USERDEFINED +notdefined = IfcPavementTypeEnum.NOTDEFINED IfcPerformanceHistoryTypeEnum = enum_namespace() -userdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcPerformanceHistoryTypeEnum.USERDEFINED +notdefined = IfcPerformanceHistoryTypeEnum.NOTDEFINED IfcPermeableCoveringOperationEnum = enum_namespace() -grill = express_getattr(IfcPermeableCoveringOperationEnum, 'GRILL', INDETERMINATE) -louver = express_getattr(IfcPermeableCoveringOperationEnum, 'LOUVER', INDETERMINATE) -screen = express_getattr(IfcPermeableCoveringOperationEnum, 'SCREEN', INDETERMINATE) -userdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'NOTDEFINED', INDETERMINATE) +grill = IfcPermeableCoveringOperationEnum.GRILL +louver = IfcPermeableCoveringOperationEnum.LOUVER +screen = IfcPermeableCoveringOperationEnum.SCREEN +userdefined = IfcPermeableCoveringOperationEnum.USERDEFINED +notdefined = IfcPermeableCoveringOperationEnum.NOTDEFINED IfcPermitTypeEnum = enum_namespace() -access = express_getattr(IfcPermitTypeEnum, 'ACCESS', INDETERMINATE) -building = express_getattr(IfcPermitTypeEnum, 'BUILDING', INDETERMINATE) -work = express_getattr(IfcPermitTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcPermitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermitTypeEnum, 'NOTDEFINED', INDETERMINATE) +access = IfcPermitTypeEnum.ACCESS +building = IfcPermitTypeEnum.BUILDING +work = IfcPermitTypeEnum.WORK +userdefined = IfcPermitTypeEnum.USERDEFINED +notdefined = IfcPermitTypeEnum.NOTDEFINED IfcPhysicalOrVirtualEnum = enum_namespace() -physical = express_getattr(IfcPhysicalOrVirtualEnum, 'PHYSICAL', INDETERMINATE) -virtual = express_getattr(IfcPhysicalOrVirtualEnum, 'VIRTUAL', INDETERMINATE) -notdefined = express_getattr(IfcPhysicalOrVirtualEnum, 'NOTDEFINED', INDETERMINATE) +physical = IfcPhysicalOrVirtualEnum.PHYSICAL +virtual = IfcPhysicalOrVirtualEnum.VIRTUAL +notdefined = IfcPhysicalOrVirtualEnum.NOTDEFINED IfcPileConstructionEnum = enum_namespace() -cast_in_place = express_getattr(IfcPileConstructionEnum, 'CAST_IN_PLACE', INDETERMINATE) -composite = express_getattr(IfcPileConstructionEnum, 'COMPOSITE', INDETERMINATE) -precast_concrete = express_getattr(IfcPileConstructionEnum, 'PRECAST_CONCRETE', INDETERMINATE) -prefab_steel = express_getattr(IfcPileConstructionEnum, 'PREFAB_STEEL', INDETERMINATE) -userdefined = express_getattr(IfcPileConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileConstructionEnum, 'NOTDEFINED', INDETERMINATE) +cast_in_place = IfcPileConstructionEnum.CAST_IN_PLACE +composite = IfcPileConstructionEnum.COMPOSITE +precast_concrete = IfcPileConstructionEnum.PRECAST_CONCRETE +prefab_steel = IfcPileConstructionEnum.PREFAB_STEEL +userdefined = IfcPileConstructionEnum.USERDEFINED +notdefined = IfcPileConstructionEnum.NOTDEFINED IfcPileTypeEnum = enum_namespace() -bored = express_getattr(IfcPileTypeEnum, 'BORED', INDETERMINATE) -cohesion = express_getattr(IfcPileTypeEnum, 'COHESION', INDETERMINATE) -driven = express_getattr(IfcPileTypeEnum, 'DRIVEN', INDETERMINATE) -friction = express_getattr(IfcPileTypeEnum, 'FRICTION', INDETERMINATE) -jetgrouting = express_getattr(IfcPileTypeEnum, 'JETGROUTING', INDETERMINATE) -support = express_getattr(IfcPileTypeEnum, 'SUPPORT', INDETERMINATE) -userdefined = express_getattr(IfcPileTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileTypeEnum, 'NOTDEFINED', INDETERMINATE) +bored = IfcPileTypeEnum.BORED +cohesion = IfcPileTypeEnum.COHESION +driven = IfcPileTypeEnum.DRIVEN +friction = IfcPileTypeEnum.FRICTION +jetgrouting = IfcPileTypeEnum.JETGROUTING +support = IfcPileTypeEnum.SUPPORT +userdefined = IfcPileTypeEnum.USERDEFINED +notdefined = IfcPileTypeEnum.NOTDEFINED IfcPipeFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcPipeFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcPipeFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcPipeFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcPipeFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcPipeFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcPipeFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcPipeFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcPipeFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcPipeFittingTypeEnum.BEND +connector = IfcPipeFittingTypeEnum.CONNECTOR +entry = IfcPipeFittingTypeEnum.ENTRY +exit = IfcPipeFittingTypeEnum.EXIT +junction = IfcPipeFittingTypeEnum.JUNCTION +obstruction = IfcPipeFittingTypeEnum.OBSTRUCTION +transition = IfcPipeFittingTypeEnum.TRANSITION +userdefined = IfcPipeFittingTypeEnum.USERDEFINED +notdefined = IfcPipeFittingTypeEnum.NOTDEFINED IfcPipeSegmentTypeEnum = enum_namespace() -culvert = express_getattr(IfcPipeSegmentTypeEnum, 'CULVERT', INDETERMINATE) -flexiblesegment = express_getattr(IfcPipeSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -gutter = express_getattr(IfcPipeSegmentTypeEnum, 'GUTTER', INDETERMINATE) -rigidsegment = express_getattr(IfcPipeSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -spool = express_getattr(IfcPipeSegmentTypeEnum, 'SPOOL', INDETERMINATE) -userdefined = express_getattr(IfcPipeSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +culvert = IfcPipeSegmentTypeEnum.CULVERT +flexiblesegment = IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT +gutter = IfcPipeSegmentTypeEnum.GUTTER +rigidsegment = IfcPipeSegmentTypeEnum.RIGIDSEGMENT +spool = IfcPipeSegmentTypeEnum.SPOOL +userdefined = IfcPipeSegmentTypeEnum.USERDEFINED +notdefined = IfcPipeSegmentTypeEnum.NOTDEFINED IfcPlateTypeEnum = enum_namespace() -base_plate = express_getattr(IfcPlateTypeEnum, 'BASE_PLATE', INDETERMINATE) -cover_plate = express_getattr(IfcPlateTypeEnum, 'COVER_PLATE', INDETERMINATE) -curtain_panel = express_getattr(IfcPlateTypeEnum, 'CURTAIN_PANEL', INDETERMINATE) -flange_plate = express_getattr(IfcPlateTypeEnum, 'FLANGE_PLATE', INDETERMINATE) -gusset_plate = express_getattr(IfcPlateTypeEnum, 'GUSSET_PLATE', INDETERMINATE) -sheet = express_getattr(IfcPlateTypeEnum, 'SHEET', INDETERMINATE) -splice_plate = express_getattr(IfcPlateTypeEnum, 'SPLICE_PLATE', INDETERMINATE) -stiffener_plate = express_getattr(IfcPlateTypeEnum, 'STIFFENER_PLATE', INDETERMINATE) -web_plate = express_getattr(IfcPlateTypeEnum, 'WEB_PLATE', INDETERMINATE) -userdefined = express_getattr(IfcPlateTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPlateTypeEnum, 'NOTDEFINED', INDETERMINATE) +base_plate = IfcPlateTypeEnum.BASE_PLATE +cover_plate = IfcPlateTypeEnum.COVER_PLATE +curtain_panel = IfcPlateTypeEnum.CURTAIN_PANEL +flange_plate = IfcPlateTypeEnum.FLANGE_PLATE +gusset_plate = IfcPlateTypeEnum.GUSSET_PLATE +sheet = IfcPlateTypeEnum.SHEET +splice_plate = IfcPlateTypeEnum.SPLICE_PLATE +stiffener_plate = IfcPlateTypeEnum.STIFFENER_PLATE +web_plate = IfcPlateTypeEnum.WEB_PLATE +userdefined = IfcPlateTypeEnum.USERDEFINED +notdefined = IfcPlateTypeEnum.NOTDEFINED IfcPreferredSurfaceCurveRepresentation = enum_namespace() -curve3d = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'CURVE3D', INDETERMINATE) -pcurve_s1 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S1', INDETERMINATE) -pcurve_s2 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S2', INDETERMINATE) +curve3d = IfcPreferredSurfaceCurveRepresentation.CURVE3D +pcurve_s1 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S1 +pcurve_s2 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S2 IfcProcedureTypeEnum = enum_namespace() -advice_caution = express_getattr(IfcProcedureTypeEnum, 'ADVICE_CAUTION', INDETERMINATE) -advice_note = express_getattr(IfcProcedureTypeEnum, 'ADVICE_NOTE', INDETERMINATE) -advice_warning = express_getattr(IfcProcedureTypeEnum, 'ADVICE_WARNING', INDETERMINATE) -calibration = express_getattr(IfcProcedureTypeEnum, 'CALIBRATION', INDETERMINATE) -diagnostic = express_getattr(IfcProcedureTypeEnum, 'DIAGNOSTIC', INDETERMINATE) -shutdown = express_getattr(IfcProcedureTypeEnum, 'SHUTDOWN', INDETERMINATE) -startup = express_getattr(IfcProcedureTypeEnum, 'STARTUP', INDETERMINATE) -userdefined = express_getattr(IfcProcedureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProcedureTypeEnum, 'NOTDEFINED', INDETERMINATE) +advice_caution = IfcProcedureTypeEnum.ADVICE_CAUTION +advice_note = IfcProcedureTypeEnum.ADVICE_NOTE +advice_warning = IfcProcedureTypeEnum.ADVICE_WARNING +calibration = IfcProcedureTypeEnum.CALIBRATION +diagnostic = IfcProcedureTypeEnum.DIAGNOSTIC +shutdown = IfcProcedureTypeEnum.SHUTDOWN +startup = IfcProcedureTypeEnum.STARTUP +userdefined = IfcProcedureTypeEnum.USERDEFINED +notdefined = IfcProcedureTypeEnum.NOTDEFINED IfcProfileTypeEnum = enum_namespace() -area = express_getattr(IfcProfileTypeEnum, 'AREA', INDETERMINATE) -curve = express_getattr(IfcProfileTypeEnum, 'CURVE', INDETERMINATE) +area = IfcProfileTypeEnum.AREA +curve = IfcProfileTypeEnum.CURVE IfcProjectOrderTypeEnum = enum_namespace() -changeorder = express_getattr(IfcProjectOrderTypeEnum, 'CHANGEORDER', INDETERMINATE) -maintenanceworkorder = express_getattr(IfcProjectOrderTypeEnum, 'MAINTENANCEWORKORDER', INDETERMINATE) -moveorder = express_getattr(IfcProjectOrderTypeEnum, 'MOVEORDER', INDETERMINATE) -purchaseorder = express_getattr(IfcProjectOrderTypeEnum, 'PURCHASEORDER', INDETERMINATE) -workorder = express_getattr(IfcProjectOrderTypeEnum, 'WORKORDER', INDETERMINATE) -userdefined = express_getattr(IfcProjectOrderTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectOrderTypeEnum, 'NOTDEFINED', INDETERMINATE) +changeorder = IfcProjectOrderTypeEnum.CHANGEORDER +maintenanceworkorder = IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER +moveorder = IfcProjectOrderTypeEnum.MOVEORDER +purchaseorder = IfcProjectOrderTypeEnum.PURCHASEORDER +workorder = IfcProjectOrderTypeEnum.WORKORDER +userdefined = IfcProjectOrderTypeEnum.USERDEFINED +notdefined = IfcProjectOrderTypeEnum.NOTDEFINED IfcProjectedOrTrueLengthEnum = enum_namespace() -projected_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'PROJECTED_LENGTH', INDETERMINATE) -true_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'TRUE_LENGTH', INDETERMINATE) +projected_length = IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH +true_length = IfcProjectedOrTrueLengthEnum.TRUE_LENGTH IfcProjectionElementTypeEnum = enum_namespace() -blister = express_getattr(IfcProjectionElementTypeEnum, 'BLISTER', INDETERMINATE) -deviator = express_getattr(IfcProjectionElementTypeEnum, 'DEVIATOR', INDETERMINATE) -userdefined = express_getattr(IfcProjectionElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectionElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +blister = IfcProjectionElementTypeEnum.BLISTER +deviator = IfcProjectionElementTypeEnum.DEVIATOR +userdefined = IfcProjectionElementTypeEnum.USERDEFINED +notdefined = IfcProjectionElementTypeEnum.NOTDEFINED IfcPropertySetTemplateTypeEnum = enum_namespace() -pset_materialdriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_MATERIALDRIVEN', INDETERMINATE) -pset_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_OCCURRENCEDRIVEN', INDETERMINATE) -pset_performancedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_PERFORMANCEDRIVEN', INDETERMINATE) -pset_profiledriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_PROFILEDRIVEN', INDETERMINATE) -pset_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENONLY', INDETERMINATE) -pset_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENOVERRIDE', INDETERMINATE) -qto_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_OCCURRENCEDRIVEN', INDETERMINATE) -qto_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENONLY', INDETERMINATE) -qto_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENOVERRIDE', INDETERMINATE) -notdefined = express_getattr(IfcPropertySetTemplateTypeEnum, 'NOTDEFINED', INDETERMINATE) +pset_materialdriven = IfcPropertySetTemplateTypeEnum.PSET_MATERIALDRIVEN +pset_occurrencedriven = IfcPropertySetTemplateTypeEnum.PSET_OCCURRENCEDRIVEN +pset_performancedriven = IfcPropertySetTemplateTypeEnum.PSET_PERFORMANCEDRIVEN +pset_profiledriven = IfcPropertySetTemplateTypeEnum.PSET_PROFILEDRIVEN +pset_typedrivenonly = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENONLY +pset_typedrivenoverride = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENOVERRIDE +qto_occurrencedriven = IfcPropertySetTemplateTypeEnum.QTO_OCCURRENCEDRIVEN +qto_typedrivenonly = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENONLY +qto_typedrivenoverride = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENOVERRIDE +notdefined = IfcPropertySetTemplateTypeEnum.NOTDEFINED IfcProtectiveDeviceTrippingUnitTypeEnum = enum_namespace() -electromagnetic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTROMAGNETIC', INDETERMINATE) -electronic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTRONIC', INDETERMINATE) -residualcurrent = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'RESIDUALCURRENT', INDETERMINATE) -thermal = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'THERMAL', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'NOTDEFINED', INDETERMINATE) +electromagnetic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTROMAGNETIC +electronic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTRONIC +residualcurrent = IfcProtectiveDeviceTrippingUnitTypeEnum.RESIDUALCURRENT +thermal = IfcProtectiveDeviceTrippingUnitTypeEnum.THERMAL +userdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.NOTDEFINED IfcProtectiveDeviceTypeEnum = enum_namespace() -anti_arcing_device = express_getattr(IfcProtectiveDeviceTypeEnum, 'ANTI_ARCING_DEVICE', INDETERMINATE) -circuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'CIRCUITBREAKER', INDETERMINATE) -earthingswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHINGSWITCH', INDETERMINATE) -earthleakagecircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHLEAKAGECIRCUITBREAKER', INDETERMINATE) -fusedisconnector = express_getattr(IfcProtectiveDeviceTypeEnum, 'FUSEDISCONNECTOR', INDETERMINATE) -residualcurrentcircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTCIRCUITBREAKER', INDETERMINATE) -residualcurrentswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTSWITCH', INDETERMINATE) -sparkgap = express_getattr(IfcProtectiveDeviceTypeEnum, 'SPARKGAP', INDETERMINATE) -varistor = express_getattr(IfcProtectiveDeviceTypeEnum, 'VARISTOR', INDETERMINATE) -voltagelimiter = express_getattr(IfcProtectiveDeviceTypeEnum, 'VOLTAGELIMITER', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +anti_arcing_device = IfcProtectiveDeviceTypeEnum.ANTI_ARCING_DEVICE +circuitbreaker = IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER +earthingswitch = IfcProtectiveDeviceTypeEnum.EARTHINGSWITCH +earthleakagecircuitbreaker = IfcProtectiveDeviceTypeEnum.EARTHLEAKAGECIRCUITBREAKER +fusedisconnector = IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR +residualcurrentcircuitbreaker = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER +residualcurrentswitch = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH +sparkgap = IfcProtectiveDeviceTypeEnum.SPARKGAP +varistor = IfcProtectiveDeviceTypeEnum.VARISTOR +voltagelimiter = IfcProtectiveDeviceTypeEnum.VOLTAGELIMITER +userdefined = IfcProtectiveDeviceTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTypeEnum.NOTDEFINED IfcPumpTypeEnum = enum_namespace() -circulator = express_getattr(IfcPumpTypeEnum, 'CIRCULATOR', INDETERMINATE) -endsuction = express_getattr(IfcPumpTypeEnum, 'ENDSUCTION', INDETERMINATE) -splitcase = express_getattr(IfcPumpTypeEnum, 'SPLITCASE', INDETERMINATE) -submersiblepump = express_getattr(IfcPumpTypeEnum, 'SUBMERSIBLEPUMP', INDETERMINATE) -sumppump = express_getattr(IfcPumpTypeEnum, 'SUMPPUMP', INDETERMINATE) -verticalinline = express_getattr(IfcPumpTypeEnum, 'VERTICALINLINE', INDETERMINATE) -verticalturbine = express_getattr(IfcPumpTypeEnum, 'VERTICALTURBINE', INDETERMINATE) -userdefined = express_getattr(IfcPumpTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPumpTypeEnum, 'NOTDEFINED', INDETERMINATE) +circulator = IfcPumpTypeEnum.CIRCULATOR +endsuction = IfcPumpTypeEnum.ENDSUCTION +splitcase = IfcPumpTypeEnum.SPLITCASE +submersiblepump = IfcPumpTypeEnum.SUBMERSIBLEPUMP +sumppump = IfcPumpTypeEnum.SUMPPUMP +verticalinline = IfcPumpTypeEnum.VERTICALINLINE +verticalturbine = IfcPumpTypeEnum.VERTICALTURBINE +userdefined = IfcPumpTypeEnum.USERDEFINED +notdefined = IfcPumpTypeEnum.NOTDEFINED IfcRailTypeEnum = enum_namespace() -blade = express_getattr(IfcRailTypeEnum, 'BLADE', INDETERMINATE) -checkrail = express_getattr(IfcRailTypeEnum, 'CHECKRAIL', INDETERMINATE) -guardrail = express_getattr(IfcRailTypeEnum, 'GUARDRAIL', INDETERMINATE) -rackrail = express_getattr(IfcRailTypeEnum, 'RACKRAIL', INDETERMINATE) -rail = express_getattr(IfcRailTypeEnum, 'RAIL', INDETERMINATE) -stockrail = express_getattr(IfcRailTypeEnum, 'STOCKRAIL', INDETERMINATE) -userdefined = express_getattr(IfcRailTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailTypeEnum, 'NOTDEFINED', INDETERMINATE) +blade = IfcRailTypeEnum.BLADE +checkrail = IfcRailTypeEnum.CHECKRAIL +guardrail = IfcRailTypeEnum.GUARDRAIL +rackrail = IfcRailTypeEnum.RACKRAIL +rail = IfcRailTypeEnum.RAIL +stockrail = IfcRailTypeEnum.STOCKRAIL +userdefined = IfcRailTypeEnum.USERDEFINED +notdefined = IfcRailTypeEnum.NOTDEFINED IfcRailingTypeEnum = enum_namespace() -balustrade = express_getattr(IfcRailingTypeEnum, 'BALUSTRADE', INDETERMINATE) -fence = express_getattr(IfcRailingTypeEnum, 'FENCE', INDETERMINATE) -guardrail = express_getattr(IfcRailingTypeEnum, 'GUARDRAIL', INDETERMINATE) -handrail = express_getattr(IfcRailingTypeEnum, 'HANDRAIL', INDETERMINATE) -userdefined = express_getattr(IfcRailingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailingTypeEnum, 'NOTDEFINED', INDETERMINATE) +balustrade = IfcRailingTypeEnum.BALUSTRADE +fence = IfcRailingTypeEnum.FENCE +guardrail = IfcRailingTypeEnum.GUARDRAIL +handrail = IfcRailingTypeEnum.HANDRAIL +userdefined = IfcRailingTypeEnum.USERDEFINED +notdefined = IfcRailingTypeEnum.NOTDEFINED IfcRailwayPartTypeEnum = enum_namespace() -dilatationsuperstructure = express_getattr(IfcRailwayPartTypeEnum, 'DILATATIONSUPERSTRUCTURE', INDETERMINATE) -linesidestructure = express_getattr(IfcRailwayPartTypeEnum, 'LINESIDESTRUCTURE', INDETERMINATE) -linesidestructurepart = express_getattr(IfcRailwayPartTypeEnum, 'LINESIDESTRUCTUREPART', INDETERMINATE) -plaintracksuperstructure = express_getattr(IfcRailwayPartTypeEnum, 'PLAINTRACKSUPERSTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcRailwayPartTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -trackstructure = express_getattr(IfcRailwayPartTypeEnum, 'TRACKSTRUCTURE', INDETERMINATE) -trackstructurepart = express_getattr(IfcRailwayPartTypeEnum, 'TRACKSTRUCTUREPART', INDETERMINATE) -turnoutsuperstructure = express_getattr(IfcRailwayPartTypeEnum, 'TURNOUTSUPERSTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcRailwayPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailwayPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +dilatationsuperstructure = IfcRailwayPartTypeEnum.DILATATIONSUPERSTRUCTURE +linesidestructure = IfcRailwayPartTypeEnum.LINESIDESTRUCTURE +linesidestructurepart = IfcRailwayPartTypeEnum.LINESIDESTRUCTUREPART +plaintracksuperstructure = IfcRailwayPartTypeEnum.PLAINTRACKSUPERSTRUCTURE +superstructure = IfcRailwayPartTypeEnum.SUPERSTRUCTURE +trackstructure = IfcRailwayPartTypeEnum.TRACKSTRUCTURE +trackstructurepart = IfcRailwayPartTypeEnum.TRACKSTRUCTUREPART +turnoutsuperstructure = IfcRailwayPartTypeEnum.TURNOUTSUPERSTRUCTURE +userdefined = IfcRailwayPartTypeEnum.USERDEFINED +notdefined = IfcRailwayPartTypeEnum.NOTDEFINED IfcRailwayTypeEnum = enum_namespace() -userdefined = express_getattr(IfcRailwayTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailwayTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcRailwayTypeEnum.USERDEFINED +notdefined = IfcRailwayTypeEnum.NOTDEFINED IfcRampFlightTypeEnum = enum_namespace() -spiral = express_getattr(IfcRampFlightTypeEnum, 'SPIRAL', INDETERMINATE) -straight = express_getattr(IfcRampFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -userdefined = express_getattr(IfcRampFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +spiral = IfcRampFlightTypeEnum.SPIRAL +straight = IfcRampFlightTypeEnum.STRAIGHT +userdefined = IfcRampFlightTypeEnum.USERDEFINED +notdefined = IfcRampFlightTypeEnum.NOTDEFINED IfcRampTypeEnum = enum_namespace() -half_turn_ramp = express_getattr(IfcRampTypeEnum, 'HALF_TURN_RAMP', INDETERMINATE) -quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'QUARTER_TURN_RAMP', INDETERMINATE) -spiral_ramp = express_getattr(IfcRampTypeEnum, 'SPIRAL_RAMP', INDETERMINATE) -straight_run_ramp = express_getattr(IfcRampTypeEnum, 'STRAIGHT_RUN_RAMP', INDETERMINATE) -two_quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'TWO_QUARTER_TURN_RAMP', INDETERMINATE) -two_straight_run_ramp = express_getattr(IfcRampTypeEnum, 'TWO_STRAIGHT_RUN_RAMP', INDETERMINATE) -userdefined = express_getattr(IfcRampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampTypeEnum, 'NOTDEFINED', INDETERMINATE) +half_turn_ramp = IfcRampTypeEnum.HALF_TURN_RAMP +quarter_turn_ramp = IfcRampTypeEnum.QUARTER_TURN_RAMP +spiral_ramp = IfcRampTypeEnum.SPIRAL_RAMP +straight_run_ramp = IfcRampTypeEnum.STRAIGHT_RUN_RAMP +two_quarter_turn_ramp = IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP +two_straight_run_ramp = IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP +userdefined = IfcRampTypeEnum.USERDEFINED +notdefined = IfcRampTypeEnum.NOTDEFINED IfcRecurrenceTypeEnum = enum_namespace() -by_day_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_DAY_COUNT', INDETERMINATE) -by_weekday_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_WEEKDAY_COUNT', INDETERMINATE) -daily = express_getattr(IfcRecurrenceTypeEnum, 'DAILY', INDETERMINATE) -monthly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_DAY_OF_MONTH', INDETERMINATE) -monthly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_POSITION', INDETERMINATE) -weekly = express_getattr(IfcRecurrenceTypeEnum, 'WEEKLY', INDETERMINATE) -yearly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_DAY_OF_MONTH', INDETERMINATE) -yearly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_POSITION', INDETERMINATE) +by_day_count = IfcRecurrenceTypeEnum.BY_DAY_COUNT +by_weekday_count = IfcRecurrenceTypeEnum.BY_WEEKDAY_COUNT +daily = IfcRecurrenceTypeEnum.DAILY +monthly_by_day_of_month = IfcRecurrenceTypeEnum.MONTHLY_BY_DAY_OF_MONTH +monthly_by_position = IfcRecurrenceTypeEnum.MONTHLY_BY_POSITION +weekly = IfcRecurrenceTypeEnum.WEEKLY +yearly_by_day_of_month = IfcRecurrenceTypeEnum.YEARLY_BY_DAY_OF_MONTH +yearly_by_position = IfcRecurrenceTypeEnum.YEARLY_BY_POSITION IfcReferentTypeEnum = enum_namespace() -boundary = express_getattr(IfcReferentTypeEnum, 'BOUNDARY', INDETERMINATE) -intersection = express_getattr(IfcReferentTypeEnum, 'INTERSECTION', INDETERMINATE) -kilopoint = express_getattr(IfcReferentTypeEnum, 'KILOPOINT', INDETERMINATE) -landmark = express_getattr(IfcReferentTypeEnum, 'LANDMARK', INDETERMINATE) -milepoint = express_getattr(IfcReferentTypeEnum, 'MILEPOINT', INDETERMINATE) -position = express_getattr(IfcReferentTypeEnum, 'POSITION', INDETERMINATE) -referencemarker = express_getattr(IfcReferentTypeEnum, 'REFERENCEMARKER', INDETERMINATE) -station = express_getattr(IfcReferentTypeEnum, 'STATION', INDETERMINATE) -userdefined = express_getattr(IfcReferentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReferentTypeEnum, 'NOTDEFINED', INDETERMINATE) +boundary = IfcReferentTypeEnum.BOUNDARY +intersection = IfcReferentTypeEnum.INTERSECTION +kilopoint = IfcReferentTypeEnum.KILOPOINT +landmark = IfcReferentTypeEnum.LANDMARK +milepoint = IfcReferentTypeEnum.MILEPOINT +position = IfcReferentTypeEnum.POSITION +referencemarker = IfcReferentTypeEnum.REFERENCEMARKER +station = IfcReferentTypeEnum.STATION +userdefined = IfcReferentTypeEnum.USERDEFINED +notdefined = IfcReferentTypeEnum.NOTDEFINED IfcReflectanceMethodEnum = enum_namespace() -blinn = express_getattr(IfcReflectanceMethodEnum, 'BLINN', INDETERMINATE) -flat = express_getattr(IfcReflectanceMethodEnum, 'FLAT', INDETERMINATE) -glass = express_getattr(IfcReflectanceMethodEnum, 'GLASS', INDETERMINATE) -matt = express_getattr(IfcReflectanceMethodEnum, 'MATT', INDETERMINATE) -metal = express_getattr(IfcReflectanceMethodEnum, 'METAL', INDETERMINATE) -mirror = express_getattr(IfcReflectanceMethodEnum, 'MIRROR', INDETERMINATE) -phong = express_getattr(IfcReflectanceMethodEnum, 'PHONG', INDETERMINATE) -physical = express_getattr(IfcReflectanceMethodEnum, 'PHYSICAL', INDETERMINATE) -plastic = express_getattr(IfcReflectanceMethodEnum, 'PLASTIC', INDETERMINATE) -strauss = express_getattr(IfcReflectanceMethodEnum, 'STRAUSS', INDETERMINATE) -notdefined = express_getattr(IfcReflectanceMethodEnum, 'NOTDEFINED', INDETERMINATE) +blinn = IfcReflectanceMethodEnum.BLINN +flat = IfcReflectanceMethodEnum.FLAT +glass = IfcReflectanceMethodEnum.GLASS +matt = IfcReflectanceMethodEnum.MATT +metal = IfcReflectanceMethodEnum.METAL +mirror = IfcReflectanceMethodEnum.MIRROR +phong = IfcReflectanceMethodEnum.PHONG +physical = IfcReflectanceMethodEnum.PHYSICAL +plastic = IfcReflectanceMethodEnum.PLASTIC +strauss = IfcReflectanceMethodEnum.STRAUSS +notdefined = IfcReflectanceMethodEnum.NOTDEFINED IfcReinforcedSoilTypeEnum = enum_namespace() -dynamicallycompacted = express_getattr(IfcReinforcedSoilTypeEnum, 'DYNAMICALLYCOMPACTED', INDETERMINATE) -grouted = express_getattr(IfcReinforcedSoilTypeEnum, 'GROUTED', INDETERMINATE) -replaced = express_getattr(IfcReinforcedSoilTypeEnum, 'REPLACED', INDETERMINATE) -rollercompacted = express_getattr(IfcReinforcedSoilTypeEnum, 'ROLLERCOMPACTED', INDETERMINATE) -surchargepreloaded = express_getattr(IfcReinforcedSoilTypeEnum, 'SURCHARGEPRELOADED', INDETERMINATE) -verticallydrained = express_getattr(IfcReinforcedSoilTypeEnum, 'VERTICALLYDRAINED', INDETERMINATE) -userdefined = express_getattr(IfcReinforcedSoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcedSoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +dynamicallycompacted = IfcReinforcedSoilTypeEnum.DYNAMICALLYCOMPACTED +grouted = IfcReinforcedSoilTypeEnum.GROUTED +replaced = IfcReinforcedSoilTypeEnum.REPLACED +rollercompacted = IfcReinforcedSoilTypeEnum.ROLLERCOMPACTED +surchargepreloaded = IfcReinforcedSoilTypeEnum.SURCHARGEPRELOADED +verticallydrained = IfcReinforcedSoilTypeEnum.VERTICALLYDRAINED +userdefined = IfcReinforcedSoilTypeEnum.USERDEFINED +notdefined = IfcReinforcedSoilTypeEnum.NOTDEFINED IfcReinforcingBarRoleEnum = enum_namespace() -anchoring = express_getattr(IfcReinforcingBarRoleEnum, 'ANCHORING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarRoleEnum, 'EDGE', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarRoleEnum, 'LIGATURE', INDETERMINATE) -main = express_getattr(IfcReinforcingBarRoleEnum, 'MAIN', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarRoleEnum, 'PUNCHING', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarRoleEnum, 'RING', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarRoleEnum, 'SHEAR', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarRoleEnum, 'STUD', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarRoleEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarRoleEnum, 'NOTDEFINED', INDETERMINATE) +anchoring = IfcReinforcingBarRoleEnum.ANCHORING +edge = IfcReinforcingBarRoleEnum.EDGE +ligature = IfcReinforcingBarRoleEnum.LIGATURE +main = IfcReinforcingBarRoleEnum.MAIN +punching = IfcReinforcingBarRoleEnum.PUNCHING +ring = IfcReinforcingBarRoleEnum.RING +shear = IfcReinforcingBarRoleEnum.SHEAR +stud = IfcReinforcingBarRoleEnum.STUD +userdefined = IfcReinforcingBarRoleEnum.USERDEFINED +notdefined = IfcReinforcingBarRoleEnum.NOTDEFINED IfcReinforcingBarSurfaceEnum = enum_namespace() -plain = express_getattr(IfcReinforcingBarSurfaceEnum, 'PLAIN', INDETERMINATE) -textured = express_getattr(IfcReinforcingBarSurfaceEnum, 'TEXTURED', INDETERMINATE) +plain = IfcReinforcingBarSurfaceEnum.PLAIN +textured = IfcReinforcingBarSurfaceEnum.TEXTURED IfcReinforcingBarTypeEnum = enum_namespace() -anchoring = express_getattr(IfcReinforcingBarTypeEnum, 'ANCHORING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarTypeEnum, 'EDGE', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarTypeEnum, 'LIGATURE', INDETERMINATE) -main = express_getattr(IfcReinforcingBarTypeEnum, 'MAIN', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarTypeEnum, 'PUNCHING', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarTypeEnum, 'RING', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarTypeEnum, 'SHEAR', INDETERMINATE) -spacebar = express_getattr(IfcReinforcingBarTypeEnum, 'SPACEBAR', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarTypeEnum, 'STUD', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchoring = IfcReinforcingBarTypeEnum.ANCHORING +edge = IfcReinforcingBarTypeEnum.EDGE +ligature = IfcReinforcingBarTypeEnum.LIGATURE +main = IfcReinforcingBarTypeEnum.MAIN +punching = IfcReinforcingBarTypeEnum.PUNCHING +ring = IfcReinforcingBarTypeEnum.RING +shear = IfcReinforcingBarTypeEnum.SHEAR +spacebar = IfcReinforcingBarTypeEnum.SPACEBAR +stud = IfcReinforcingBarTypeEnum.STUD +userdefined = IfcReinforcingBarTypeEnum.USERDEFINED +notdefined = IfcReinforcingBarTypeEnum.NOTDEFINED IfcReinforcingMeshTypeEnum = enum_namespace() -userdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcReinforcingMeshTypeEnum.USERDEFINED +notdefined = IfcReinforcingMeshTypeEnum.NOTDEFINED IfcRoadPartTypeEnum = enum_namespace() -bicyclecrossing = express_getattr(IfcRoadPartTypeEnum, 'BICYCLECROSSING', INDETERMINATE) -bus_stop = express_getattr(IfcRoadPartTypeEnum, 'BUS_STOP', INDETERMINATE) -carriageway = express_getattr(IfcRoadPartTypeEnum, 'CARRIAGEWAY', INDETERMINATE) -centralisland = express_getattr(IfcRoadPartTypeEnum, 'CENTRALISLAND', INDETERMINATE) -centralreserve = express_getattr(IfcRoadPartTypeEnum, 'CENTRALRESERVE', INDETERMINATE) -hardshoulder = express_getattr(IfcRoadPartTypeEnum, 'HARDSHOULDER', INDETERMINATE) -intersection = express_getattr(IfcRoadPartTypeEnum, 'INTERSECTION', INDETERMINATE) -layby = express_getattr(IfcRoadPartTypeEnum, 'LAYBY', INDETERMINATE) -parkingbay = express_getattr(IfcRoadPartTypeEnum, 'PARKINGBAY', INDETERMINATE) -passingbay = express_getattr(IfcRoadPartTypeEnum, 'PASSINGBAY', INDETERMINATE) -pedestrian_crossing = express_getattr(IfcRoadPartTypeEnum, 'PEDESTRIAN_CROSSING', INDETERMINATE) -railwaycrossing = express_getattr(IfcRoadPartTypeEnum, 'RAILWAYCROSSING', INDETERMINATE) -refugeisland = express_getattr(IfcRoadPartTypeEnum, 'REFUGEISLAND', INDETERMINATE) -roadsegment = express_getattr(IfcRoadPartTypeEnum, 'ROADSEGMENT', INDETERMINATE) -roadside = express_getattr(IfcRoadPartTypeEnum, 'ROADSIDE', INDETERMINATE) -roadsidepart = express_getattr(IfcRoadPartTypeEnum, 'ROADSIDEPART', INDETERMINATE) -roadwayplateau = express_getattr(IfcRoadPartTypeEnum, 'ROADWAYPLATEAU', INDETERMINATE) -roundabout = express_getattr(IfcRoadPartTypeEnum, 'ROUNDABOUT', INDETERMINATE) -shoulder = express_getattr(IfcRoadPartTypeEnum, 'SHOULDER', INDETERMINATE) -sidewalk = express_getattr(IfcRoadPartTypeEnum, 'SIDEWALK', INDETERMINATE) -softshoulder = express_getattr(IfcRoadPartTypeEnum, 'SOFTSHOULDER', INDETERMINATE) -tollplaza = express_getattr(IfcRoadPartTypeEnum, 'TOLLPLAZA', INDETERMINATE) -trafficisland = express_getattr(IfcRoadPartTypeEnum, 'TRAFFICISLAND', INDETERMINATE) -trafficlane = express_getattr(IfcRoadPartTypeEnum, 'TRAFFICLANE', INDETERMINATE) -userdefined = express_getattr(IfcRoadPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoadPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +bicyclecrossing = IfcRoadPartTypeEnum.BICYCLECROSSING +bus_stop = IfcRoadPartTypeEnum.BUS_STOP +carriageway = IfcRoadPartTypeEnum.CARRIAGEWAY +centralisland = IfcRoadPartTypeEnum.CENTRALISLAND +centralreserve = IfcRoadPartTypeEnum.CENTRALRESERVE +hardshoulder = IfcRoadPartTypeEnum.HARDSHOULDER +intersection = IfcRoadPartTypeEnum.INTERSECTION +layby = IfcRoadPartTypeEnum.LAYBY +parkingbay = IfcRoadPartTypeEnum.PARKINGBAY +passingbay = IfcRoadPartTypeEnum.PASSINGBAY +pedestrian_crossing = IfcRoadPartTypeEnum.PEDESTRIAN_CROSSING +railwaycrossing = IfcRoadPartTypeEnum.RAILWAYCROSSING +refugeisland = IfcRoadPartTypeEnum.REFUGEISLAND +roadsegment = IfcRoadPartTypeEnum.ROADSEGMENT +roadside = IfcRoadPartTypeEnum.ROADSIDE +roadsidepart = IfcRoadPartTypeEnum.ROADSIDEPART +roadwayplateau = IfcRoadPartTypeEnum.ROADWAYPLATEAU +roundabout = IfcRoadPartTypeEnum.ROUNDABOUT +shoulder = IfcRoadPartTypeEnum.SHOULDER +sidewalk = IfcRoadPartTypeEnum.SIDEWALK +softshoulder = IfcRoadPartTypeEnum.SOFTSHOULDER +tollplaza = IfcRoadPartTypeEnum.TOLLPLAZA +trafficisland = IfcRoadPartTypeEnum.TRAFFICISLAND +trafficlane = IfcRoadPartTypeEnum.TRAFFICLANE +userdefined = IfcRoadPartTypeEnum.USERDEFINED +notdefined = IfcRoadPartTypeEnum.NOTDEFINED IfcRoadTypeEnum = enum_namespace() -userdefined = express_getattr(IfcRoadTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoadTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcRoadTypeEnum.USERDEFINED +notdefined = IfcRoadTypeEnum.NOTDEFINED IfcRoleEnum = enum_namespace() -architect = express_getattr(IfcRoleEnum, 'ARCHITECT', INDETERMINATE) -buildingoperator = express_getattr(IfcRoleEnum, 'BUILDINGOPERATOR', INDETERMINATE) -buildingowner = express_getattr(IfcRoleEnum, 'BUILDINGOWNER', INDETERMINATE) -civilengineer = express_getattr(IfcRoleEnum, 'CIVILENGINEER', INDETERMINATE) -client = express_getattr(IfcRoleEnum, 'CLIENT', INDETERMINATE) -commissioningengineer = express_getattr(IfcRoleEnum, 'COMMISSIONINGENGINEER', INDETERMINATE) -constructionmanager = express_getattr(IfcRoleEnum, 'CONSTRUCTIONMANAGER', INDETERMINATE) -consultant = express_getattr(IfcRoleEnum, 'CONSULTANT', INDETERMINATE) -contractor = express_getattr(IfcRoleEnum, 'CONTRACTOR', INDETERMINATE) -costengineer = express_getattr(IfcRoleEnum, 'COSTENGINEER', INDETERMINATE) -electricalengineer = express_getattr(IfcRoleEnum, 'ELECTRICALENGINEER', INDETERMINATE) -engineer = express_getattr(IfcRoleEnum, 'ENGINEER', INDETERMINATE) -facilitiesmanager = express_getattr(IfcRoleEnum, 'FACILITIESMANAGER', INDETERMINATE) -fieldconstructionmanager = express_getattr(IfcRoleEnum, 'FIELDCONSTRUCTIONMANAGER', INDETERMINATE) -manufacturer = express_getattr(IfcRoleEnum, 'MANUFACTURER', INDETERMINATE) -mechanicalengineer = express_getattr(IfcRoleEnum, 'MECHANICALENGINEER', INDETERMINATE) -owner = express_getattr(IfcRoleEnum, 'OWNER', INDETERMINATE) -projectmanager = express_getattr(IfcRoleEnum, 'PROJECTMANAGER', INDETERMINATE) -reseller = express_getattr(IfcRoleEnum, 'RESELLER', INDETERMINATE) -structuralengineer = express_getattr(IfcRoleEnum, 'STRUCTURALENGINEER', INDETERMINATE) -subcontractor = express_getattr(IfcRoleEnum, 'SUBCONTRACTOR', INDETERMINATE) -supplier = express_getattr(IfcRoleEnum, 'SUPPLIER', INDETERMINATE) -userdefined = express_getattr(IfcRoleEnum, 'USERDEFINED', INDETERMINATE) +architect = IfcRoleEnum.ARCHITECT +buildingoperator = IfcRoleEnum.BUILDINGOPERATOR +buildingowner = IfcRoleEnum.BUILDINGOWNER +civilengineer = IfcRoleEnum.CIVILENGINEER +client = IfcRoleEnum.CLIENT +commissioningengineer = IfcRoleEnum.COMMISSIONINGENGINEER +constructionmanager = IfcRoleEnum.CONSTRUCTIONMANAGER +consultant = IfcRoleEnum.CONSULTANT +contractor = IfcRoleEnum.CONTRACTOR +costengineer = IfcRoleEnum.COSTENGINEER +electricalengineer = IfcRoleEnum.ELECTRICALENGINEER +engineer = IfcRoleEnum.ENGINEER +facilitiesmanager = IfcRoleEnum.FACILITIESMANAGER +fieldconstructionmanager = IfcRoleEnum.FIELDCONSTRUCTIONMANAGER +manufacturer = IfcRoleEnum.MANUFACTURER +mechanicalengineer = IfcRoleEnum.MECHANICALENGINEER +owner = IfcRoleEnum.OWNER +projectmanager = IfcRoleEnum.PROJECTMANAGER +reseller = IfcRoleEnum.RESELLER +structuralengineer = IfcRoleEnum.STRUCTURALENGINEER +subcontractor = IfcRoleEnum.SUBCONTRACTOR +supplier = IfcRoleEnum.SUPPLIER +userdefined = IfcRoleEnum.USERDEFINED IfcRoofTypeEnum = enum_namespace() -barrel_roof = express_getattr(IfcRoofTypeEnum, 'BARREL_ROOF', INDETERMINATE) -butterfly_roof = express_getattr(IfcRoofTypeEnum, 'BUTTERFLY_ROOF', INDETERMINATE) -dome_roof = express_getattr(IfcRoofTypeEnum, 'DOME_ROOF', INDETERMINATE) -flat_roof = express_getattr(IfcRoofTypeEnum, 'FLAT_ROOF', INDETERMINATE) -freeform = express_getattr(IfcRoofTypeEnum, 'FREEFORM', INDETERMINATE) -gable_roof = express_getattr(IfcRoofTypeEnum, 'GABLE_ROOF', INDETERMINATE) -gambrel_roof = express_getattr(IfcRoofTypeEnum, 'GAMBREL_ROOF', INDETERMINATE) -hipped_gable_roof = express_getattr(IfcRoofTypeEnum, 'HIPPED_GABLE_ROOF', INDETERMINATE) -hip_roof = express_getattr(IfcRoofTypeEnum, 'HIP_ROOF', INDETERMINATE) -mansard_roof = express_getattr(IfcRoofTypeEnum, 'MANSARD_ROOF', INDETERMINATE) -pavilion_roof = express_getattr(IfcRoofTypeEnum, 'PAVILION_ROOF', INDETERMINATE) -rainbow_roof = express_getattr(IfcRoofTypeEnum, 'RAINBOW_ROOF', INDETERMINATE) -shed_roof = express_getattr(IfcRoofTypeEnum, 'SHED_ROOF', INDETERMINATE) -userdefined = express_getattr(IfcRoofTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoofTypeEnum, 'NOTDEFINED', INDETERMINATE) +barrel_roof = IfcRoofTypeEnum.BARREL_ROOF +butterfly_roof = IfcRoofTypeEnum.BUTTERFLY_ROOF +dome_roof = IfcRoofTypeEnum.DOME_ROOF +flat_roof = IfcRoofTypeEnum.FLAT_ROOF +freeform = IfcRoofTypeEnum.FREEFORM +gable_roof = IfcRoofTypeEnum.GABLE_ROOF +gambrel_roof = IfcRoofTypeEnum.GAMBREL_ROOF +hipped_gable_roof = IfcRoofTypeEnum.HIPPED_GABLE_ROOF +hip_roof = IfcRoofTypeEnum.HIP_ROOF +mansard_roof = IfcRoofTypeEnum.MANSARD_ROOF +pavilion_roof = IfcRoofTypeEnum.PAVILION_ROOF +rainbow_roof = IfcRoofTypeEnum.RAINBOW_ROOF +shed_roof = IfcRoofTypeEnum.SHED_ROOF +userdefined = IfcRoofTypeEnum.USERDEFINED +notdefined = IfcRoofTypeEnum.NOTDEFINED IfcSIPrefix = enum_namespace() -atto = express_getattr(IfcSIPrefix, 'ATTO', INDETERMINATE) -centi = express_getattr(IfcSIPrefix, 'CENTI', INDETERMINATE) -deca = express_getattr(IfcSIPrefix, 'DECA', INDETERMINATE) -deci = express_getattr(IfcSIPrefix, 'DECI', INDETERMINATE) -exa = express_getattr(IfcSIPrefix, 'EXA', INDETERMINATE) -femto = express_getattr(IfcSIPrefix, 'FEMTO', INDETERMINATE) -giga = express_getattr(IfcSIPrefix, 'GIGA', INDETERMINATE) -hecto = express_getattr(IfcSIPrefix, 'HECTO', INDETERMINATE) -kilo = express_getattr(IfcSIPrefix, 'KILO', INDETERMINATE) -mega = express_getattr(IfcSIPrefix, 'MEGA', INDETERMINATE) -micro = express_getattr(IfcSIPrefix, 'MICRO', INDETERMINATE) -milli = express_getattr(IfcSIPrefix, 'MILLI', INDETERMINATE) -nano = express_getattr(IfcSIPrefix, 'NANO', INDETERMINATE) -peta = express_getattr(IfcSIPrefix, 'PETA', INDETERMINATE) -pico = express_getattr(IfcSIPrefix, 'PICO', INDETERMINATE) -tera = express_getattr(IfcSIPrefix, 'TERA', INDETERMINATE) +atto = IfcSIPrefix.ATTO +centi = IfcSIPrefix.CENTI +deca = IfcSIPrefix.DECA +deci = IfcSIPrefix.DECI +exa = IfcSIPrefix.EXA +femto = IfcSIPrefix.FEMTO +giga = IfcSIPrefix.GIGA +hecto = IfcSIPrefix.HECTO +kilo = IfcSIPrefix.KILO +mega = IfcSIPrefix.MEGA +micro = IfcSIPrefix.MICRO +milli = IfcSIPrefix.MILLI +nano = IfcSIPrefix.NANO +peta = IfcSIPrefix.PETA +pico = IfcSIPrefix.PICO +tera = IfcSIPrefix.TERA IfcSIUnitName = enum_namespace() -ampere = express_getattr(IfcSIUnitName, 'AMPERE', INDETERMINATE) -becquerel = express_getattr(IfcSIUnitName, 'BECQUEREL', INDETERMINATE) -candela = express_getattr(IfcSIUnitName, 'CANDELA', INDETERMINATE) -coulomb = express_getattr(IfcSIUnitName, 'COULOMB', INDETERMINATE) -cubic_metre = express_getattr(IfcSIUnitName, 'CUBIC_METRE', INDETERMINATE) -degree_celsius = express_getattr(IfcSIUnitName, 'DEGREE_CELSIUS', INDETERMINATE) -farad = express_getattr(IfcSIUnitName, 'FARAD', INDETERMINATE) -gram = express_getattr(IfcSIUnitName, 'GRAM', INDETERMINATE) -gray = express_getattr(IfcSIUnitName, 'GRAY', INDETERMINATE) -henry = express_getattr(IfcSIUnitName, 'HENRY', INDETERMINATE) -hertz = express_getattr(IfcSIUnitName, 'HERTZ', INDETERMINATE) -joule = express_getattr(IfcSIUnitName, 'JOULE', INDETERMINATE) -kelvin = express_getattr(IfcSIUnitName, 'KELVIN', INDETERMINATE) -lumen = express_getattr(IfcSIUnitName, 'LUMEN', INDETERMINATE) -lux = express_getattr(IfcSIUnitName, 'LUX', INDETERMINATE) -metre = express_getattr(IfcSIUnitName, 'METRE', INDETERMINATE) -mole = express_getattr(IfcSIUnitName, 'MOLE', INDETERMINATE) -newton = express_getattr(IfcSIUnitName, 'NEWTON', INDETERMINATE) -ohm = express_getattr(IfcSIUnitName, 'OHM', INDETERMINATE) -pascal = express_getattr(IfcSIUnitName, 'PASCAL', INDETERMINATE) -radian = express_getattr(IfcSIUnitName, 'RADIAN', INDETERMINATE) -second = express_getattr(IfcSIUnitName, 'SECOND', INDETERMINATE) -siemens = express_getattr(IfcSIUnitName, 'SIEMENS', INDETERMINATE) -sievert = express_getattr(IfcSIUnitName, 'SIEVERT', INDETERMINATE) -square_metre = express_getattr(IfcSIUnitName, 'SQUARE_METRE', INDETERMINATE) -steradian = express_getattr(IfcSIUnitName, 'STERADIAN', INDETERMINATE) -tesla = express_getattr(IfcSIUnitName, 'TESLA', INDETERMINATE) -volt = express_getattr(IfcSIUnitName, 'VOLT', INDETERMINATE) -watt = express_getattr(IfcSIUnitName, 'WATT', INDETERMINATE) -weber = express_getattr(IfcSIUnitName, 'WEBER', INDETERMINATE) +ampere = IfcSIUnitName.AMPERE +becquerel = IfcSIUnitName.BECQUEREL +candela = IfcSIUnitName.CANDELA +coulomb = IfcSIUnitName.COULOMB +cubic_metre = IfcSIUnitName.CUBIC_METRE +degree_celsius = IfcSIUnitName.DEGREE_CELSIUS +farad = IfcSIUnitName.FARAD +gram = IfcSIUnitName.GRAM +gray = IfcSIUnitName.GRAY +henry = IfcSIUnitName.HENRY +hertz = IfcSIUnitName.HERTZ +joule = IfcSIUnitName.JOULE +kelvin = IfcSIUnitName.KELVIN +lumen = IfcSIUnitName.LUMEN +lux = IfcSIUnitName.LUX +metre = IfcSIUnitName.METRE +mole = IfcSIUnitName.MOLE +newton = IfcSIUnitName.NEWTON +ohm = IfcSIUnitName.OHM +pascal = IfcSIUnitName.PASCAL +radian = IfcSIUnitName.RADIAN +second = IfcSIUnitName.SECOND +siemens = IfcSIUnitName.SIEMENS +sievert = IfcSIUnitName.SIEVERT +square_metre = IfcSIUnitName.SQUARE_METRE +steradian = IfcSIUnitName.STERADIAN +tesla = IfcSIUnitName.TESLA +volt = IfcSIUnitName.VOLT +watt = IfcSIUnitName.WATT +weber = IfcSIUnitName.WEBER IfcSanitaryTerminalTypeEnum = enum_namespace() -bath = express_getattr(IfcSanitaryTerminalTypeEnum, 'BATH', INDETERMINATE) -bidet = express_getattr(IfcSanitaryTerminalTypeEnum, 'BIDET', INDETERMINATE) -cistern = express_getattr(IfcSanitaryTerminalTypeEnum, 'CISTERN', INDETERMINATE) -sanitaryfountain = express_getattr(IfcSanitaryTerminalTypeEnum, 'SANITARYFOUNTAIN', INDETERMINATE) -shower = express_getattr(IfcSanitaryTerminalTypeEnum, 'SHOWER', INDETERMINATE) -sink = express_getattr(IfcSanitaryTerminalTypeEnum, 'SINK', INDETERMINATE) -toiletpan = express_getattr(IfcSanitaryTerminalTypeEnum, 'TOILETPAN', INDETERMINATE) -urinal = express_getattr(IfcSanitaryTerminalTypeEnum, 'URINAL', INDETERMINATE) -washhandbasin = express_getattr(IfcSanitaryTerminalTypeEnum, 'WASHHANDBASIN', INDETERMINATE) -wcseat = express_getattr(IfcSanitaryTerminalTypeEnum, 'WCSEAT', INDETERMINATE) -userdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +bath = IfcSanitaryTerminalTypeEnum.BATH +bidet = IfcSanitaryTerminalTypeEnum.BIDET +cistern = IfcSanitaryTerminalTypeEnum.CISTERN +sanitaryfountain = IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN +shower = IfcSanitaryTerminalTypeEnum.SHOWER +sink = IfcSanitaryTerminalTypeEnum.SINK +toiletpan = IfcSanitaryTerminalTypeEnum.TOILETPAN +urinal = IfcSanitaryTerminalTypeEnum.URINAL +washhandbasin = IfcSanitaryTerminalTypeEnum.WASHHANDBASIN +wcseat = IfcSanitaryTerminalTypeEnum.WCSEAT +userdefined = IfcSanitaryTerminalTypeEnum.USERDEFINED +notdefined = IfcSanitaryTerminalTypeEnum.NOTDEFINED IfcSectionTypeEnum = enum_namespace() -tapered = express_getattr(IfcSectionTypeEnum, 'TAPERED', INDETERMINATE) -uniform = express_getattr(IfcSectionTypeEnum, 'UNIFORM', INDETERMINATE) +tapered = IfcSectionTypeEnum.TAPERED +uniform = IfcSectionTypeEnum.UNIFORM IfcSensorTypeEnum = enum_namespace() -co2sensor = express_getattr(IfcSensorTypeEnum, 'CO2SENSOR', INDETERMINATE) -conductancesensor = express_getattr(IfcSensorTypeEnum, 'CONDUCTANCESENSOR', INDETERMINATE) -contactsensor = express_getattr(IfcSensorTypeEnum, 'CONTACTSENSOR', INDETERMINATE) -cosensor = express_getattr(IfcSensorTypeEnum, 'COSENSOR', INDETERMINATE) -earthquakesensor = express_getattr(IfcSensorTypeEnum, 'EARTHQUAKESENSOR', INDETERMINATE) -firesensor = express_getattr(IfcSensorTypeEnum, 'FIRESENSOR', INDETERMINATE) -flowsensor = express_getattr(IfcSensorTypeEnum, 'FLOWSENSOR', INDETERMINATE) -foreignobjectdetectionsensor = express_getattr(IfcSensorTypeEnum, 'FOREIGNOBJECTDETECTIONSENSOR', INDETERMINATE) -frostsensor = express_getattr(IfcSensorTypeEnum, 'FROSTSENSOR', INDETERMINATE) -gassensor = express_getattr(IfcSensorTypeEnum, 'GASSENSOR', INDETERMINATE) -heatsensor = express_getattr(IfcSensorTypeEnum, 'HEATSENSOR', INDETERMINATE) -humiditysensor = express_getattr(IfcSensorTypeEnum, 'HUMIDITYSENSOR', INDETERMINATE) -identifiersensor = express_getattr(IfcSensorTypeEnum, 'IDENTIFIERSENSOR', INDETERMINATE) -ionconcentrationsensor = express_getattr(IfcSensorTypeEnum, 'IONCONCENTRATIONSENSOR', INDETERMINATE) -levelsensor = express_getattr(IfcSensorTypeEnum, 'LEVELSENSOR', INDETERMINATE) -lightsensor = express_getattr(IfcSensorTypeEnum, 'LIGHTSENSOR', INDETERMINATE) -moisturesensor = express_getattr(IfcSensorTypeEnum, 'MOISTURESENSOR', INDETERMINATE) -movementsensor = express_getattr(IfcSensorTypeEnum, 'MOVEMENTSENSOR', INDETERMINATE) -obstaclesensor = express_getattr(IfcSensorTypeEnum, 'OBSTACLESENSOR', INDETERMINATE) -phsensor = express_getattr(IfcSensorTypeEnum, 'PHSENSOR', INDETERMINATE) -pressuresensor = express_getattr(IfcSensorTypeEnum, 'PRESSURESENSOR', INDETERMINATE) -radiationsensor = express_getattr(IfcSensorTypeEnum, 'RADIATIONSENSOR', INDETERMINATE) -radioactivitysensor = express_getattr(IfcSensorTypeEnum, 'RADIOACTIVITYSENSOR', INDETERMINATE) -rainsensor = express_getattr(IfcSensorTypeEnum, 'RAINSENSOR', INDETERMINATE) -smokesensor = express_getattr(IfcSensorTypeEnum, 'SMOKESENSOR', INDETERMINATE) -snowdepthsensor = express_getattr(IfcSensorTypeEnum, 'SNOWDEPTHSENSOR', INDETERMINATE) -soundsensor = express_getattr(IfcSensorTypeEnum, 'SOUNDSENSOR', INDETERMINATE) -temperaturesensor = express_getattr(IfcSensorTypeEnum, 'TEMPERATURESENSOR', INDETERMINATE) -trainsensor = express_getattr(IfcSensorTypeEnum, 'TRAINSENSOR', INDETERMINATE) -turnoutclosuresensor = express_getattr(IfcSensorTypeEnum, 'TURNOUTCLOSURESENSOR', INDETERMINATE) -wheelsensor = express_getattr(IfcSensorTypeEnum, 'WHEELSENSOR', INDETERMINATE) -windsensor = express_getattr(IfcSensorTypeEnum, 'WINDSENSOR', INDETERMINATE) -userdefined = express_getattr(IfcSensorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSensorTypeEnum, 'NOTDEFINED', INDETERMINATE) +co2sensor = IfcSensorTypeEnum.CO2SENSOR +conductancesensor = IfcSensorTypeEnum.CONDUCTANCESENSOR +contactsensor = IfcSensorTypeEnum.CONTACTSENSOR +cosensor = IfcSensorTypeEnum.COSENSOR +earthquakesensor = IfcSensorTypeEnum.EARTHQUAKESENSOR +firesensor = IfcSensorTypeEnum.FIRESENSOR +flowsensor = IfcSensorTypeEnum.FLOWSENSOR +foreignobjectdetectionsensor = IfcSensorTypeEnum.FOREIGNOBJECTDETECTIONSENSOR +frostsensor = IfcSensorTypeEnum.FROSTSENSOR +gassensor = IfcSensorTypeEnum.GASSENSOR +heatsensor = IfcSensorTypeEnum.HEATSENSOR +humiditysensor = IfcSensorTypeEnum.HUMIDITYSENSOR +identifiersensor = IfcSensorTypeEnum.IDENTIFIERSENSOR +ionconcentrationsensor = IfcSensorTypeEnum.IONCONCENTRATIONSENSOR +levelsensor = IfcSensorTypeEnum.LEVELSENSOR +lightsensor = IfcSensorTypeEnum.LIGHTSENSOR +moisturesensor = IfcSensorTypeEnum.MOISTURESENSOR +movementsensor = IfcSensorTypeEnum.MOVEMENTSENSOR +obstaclesensor = IfcSensorTypeEnum.OBSTACLESENSOR +phsensor = IfcSensorTypeEnum.PHSENSOR +pressuresensor = IfcSensorTypeEnum.PRESSURESENSOR +radiationsensor = IfcSensorTypeEnum.RADIATIONSENSOR +radioactivitysensor = IfcSensorTypeEnum.RADIOACTIVITYSENSOR +rainsensor = IfcSensorTypeEnum.RAINSENSOR +smokesensor = IfcSensorTypeEnum.SMOKESENSOR +snowdepthsensor = IfcSensorTypeEnum.SNOWDEPTHSENSOR +soundsensor = IfcSensorTypeEnum.SOUNDSENSOR +temperaturesensor = IfcSensorTypeEnum.TEMPERATURESENSOR +trainsensor = IfcSensorTypeEnum.TRAINSENSOR +turnoutclosuresensor = IfcSensorTypeEnum.TURNOUTCLOSURESENSOR +wheelsensor = IfcSensorTypeEnum.WHEELSENSOR +windsensor = IfcSensorTypeEnum.WINDSENSOR +userdefined = IfcSensorTypeEnum.USERDEFINED +notdefined = IfcSensorTypeEnum.NOTDEFINED IfcSequenceEnum = enum_namespace() -finish_finish = express_getattr(IfcSequenceEnum, 'FINISH_FINISH', INDETERMINATE) -finish_start = express_getattr(IfcSequenceEnum, 'FINISH_START', INDETERMINATE) -start_finish = express_getattr(IfcSequenceEnum, 'START_FINISH', INDETERMINATE) -start_start = express_getattr(IfcSequenceEnum, 'START_START', INDETERMINATE) -userdefined = express_getattr(IfcSequenceEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSequenceEnum, 'NOTDEFINED', INDETERMINATE) +finish_finish = IfcSequenceEnum.FINISH_FINISH +finish_start = IfcSequenceEnum.FINISH_START +start_finish = IfcSequenceEnum.START_FINISH +start_start = IfcSequenceEnum.START_START +userdefined = IfcSequenceEnum.USERDEFINED +notdefined = IfcSequenceEnum.NOTDEFINED IfcShadingDeviceTypeEnum = enum_namespace() -awning = express_getattr(IfcShadingDeviceTypeEnum, 'AWNING', INDETERMINATE) -jalousie = express_getattr(IfcShadingDeviceTypeEnum, 'JALOUSIE', INDETERMINATE) -shutter = express_getattr(IfcShadingDeviceTypeEnum, 'SHUTTER', INDETERMINATE) -userdefined = express_getattr(IfcShadingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcShadingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +awning = IfcShadingDeviceTypeEnum.AWNING +jalousie = IfcShadingDeviceTypeEnum.JALOUSIE +shutter = IfcShadingDeviceTypeEnum.SHUTTER +userdefined = IfcShadingDeviceTypeEnum.USERDEFINED +notdefined = IfcShadingDeviceTypeEnum.NOTDEFINED IfcSignTypeEnum = enum_namespace() -marker = express_getattr(IfcSignTypeEnum, 'MARKER', INDETERMINATE) -mirror = express_getattr(IfcSignTypeEnum, 'MIRROR', INDETERMINATE) -pictoral = express_getattr(IfcSignTypeEnum, 'PICTORAL', INDETERMINATE) -userdefined = express_getattr(IfcSignTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSignTypeEnum, 'NOTDEFINED', INDETERMINATE) +marker = IfcSignTypeEnum.MARKER +mirror = IfcSignTypeEnum.MIRROR +pictoral = IfcSignTypeEnum.PICTORAL +userdefined = IfcSignTypeEnum.USERDEFINED +notdefined = IfcSignTypeEnum.NOTDEFINED IfcSignalTypeEnum = enum_namespace() -audio = express_getattr(IfcSignalTypeEnum, 'AUDIO', INDETERMINATE) -mixed = express_getattr(IfcSignalTypeEnum, 'MIXED', INDETERMINATE) -visual = express_getattr(IfcSignalTypeEnum, 'VISUAL', INDETERMINATE) -userdefined = express_getattr(IfcSignalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSignalTypeEnum, 'NOTDEFINED', INDETERMINATE) +audio = IfcSignalTypeEnum.AUDIO +mixed = IfcSignalTypeEnum.MIXED +visual = IfcSignalTypeEnum.VISUAL +userdefined = IfcSignalTypeEnum.USERDEFINED +notdefined = IfcSignalTypeEnum.NOTDEFINED IfcSimplePropertyTemplateTypeEnum = enum_namespace() -p_boundedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_BOUNDEDVALUE', INDETERMINATE) -p_enumeratedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_ENUMERATEDVALUE', INDETERMINATE) -p_listvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_LISTVALUE', INDETERMINATE) -p_referencevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_REFERENCEVALUE', INDETERMINATE) -p_singlevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_SINGLEVALUE', INDETERMINATE) -p_tablevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_TABLEVALUE', INDETERMINATE) -q_area = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_AREA', INDETERMINATE) -q_count = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_COUNT', INDETERMINATE) -q_length = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_LENGTH', INDETERMINATE) -q_number = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_NUMBER', INDETERMINATE) -q_time = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_TIME', INDETERMINATE) -q_volume = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_VOLUME', INDETERMINATE) -q_weight = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_WEIGHT', INDETERMINATE) +p_boundedvalue = IfcSimplePropertyTemplateTypeEnum.P_BOUNDEDVALUE +p_enumeratedvalue = IfcSimplePropertyTemplateTypeEnum.P_ENUMERATEDVALUE +p_listvalue = IfcSimplePropertyTemplateTypeEnum.P_LISTVALUE +p_referencevalue = IfcSimplePropertyTemplateTypeEnum.P_REFERENCEVALUE +p_singlevalue = IfcSimplePropertyTemplateTypeEnum.P_SINGLEVALUE +p_tablevalue = IfcSimplePropertyTemplateTypeEnum.P_TABLEVALUE +q_area = IfcSimplePropertyTemplateTypeEnum.Q_AREA +q_count = IfcSimplePropertyTemplateTypeEnum.Q_COUNT +q_length = IfcSimplePropertyTemplateTypeEnum.Q_LENGTH +q_number = IfcSimplePropertyTemplateTypeEnum.Q_NUMBER +q_time = IfcSimplePropertyTemplateTypeEnum.Q_TIME +q_volume = IfcSimplePropertyTemplateTypeEnum.Q_VOLUME +q_weight = IfcSimplePropertyTemplateTypeEnum.Q_WEIGHT IfcSlabTypeEnum = enum_namespace() -approach_slab = express_getattr(IfcSlabTypeEnum, 'APPROACH_SLAB', INDETERMINATE) -baseslab = express_getattr(IfcSlabTypeEnum, 'BASESLAB', INDETERMINATE) -floor = express_getattr(IfcSlabTypeEnum, 'FLOOR', INDETERMINATE) -landing = express_getattr(IfcSlabTypeEnum, 'LANDING', INDETERMINATE) -paving = express_getattr(IfcSlabTypeEnum, 'PAVING', INDETERMINATE) -roof = express_getattr(IfcSlabTypeEnum, 'ROOF', INDETERMINATE) -sidewalk = express_getattr(IfcSlabTypeEnum, 'SIDEWALK', INDETERMINATE) -trackslab = express_getattr(IfcSlabTypeEnum, 'TRACKSLAB', INDETERMINATE) -wearing = express_getattr(IfcSlabTypeEnum, 'WEARING', INDETERMINATE) -userdefined = express_getattr(IfcSlabTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSlabTypeEnum, 'NOTDEFINED', INDETERMINATE) +approach_slab = IfcSlabTypeEnum.APPROACH_SLAB +baseslab = IfcSlabTypeEnum.BASESLAB +floor = IfcSlabTypeEnum.FLOOR +landing = IfcSlabTypeEnum.LANDING +paving = IfcSlabTypeEnum.PAVING +roof = IfcSlabTypeEnum.ROOF +sidewalk = IfcSlabTypeEnum.SIDEWALK +trackslab = IfcSlabTypeEnum.TRACKSLAB +wearing = IfcSlabTypeEnum.WEARING +userdefined = IfcSlabTypeEnum.USERDEFINED +notdefined = IfcSlabTypeEnum.NOTDEFINED IfcSolarDeviceTypeEnum = enum_namespace() -solarcollector = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARCOLLECTOR', INDETERMINATE) -solarpanel = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARPANEL', INDETERMINATE) -userdefined = express_getattr(IfcSolarDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSolarDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +solarcollector = IfcSolarDeviceTypeEnum.SOLARCOLLECTOR +solarpanel = IfcSolarDeviceTypeEnum.SOLARPANEL +userdefined = IfcSolarDeviceTypeEnum.USERDEFINED +notdefined = IfcSolarDeviceTypeEnum.NOTDEFINED IfcSpaceHeaterTypeEnum = enum_namespace() -convector = express_getattr(IfcSpaceHeaterTypeEnum, 'CONVECTOR', INDETERMINATE) -radiator = express_getattr(IfcSpaceHeaterTypeEnum, 'RADIATOR', INDETERMINATE) -userdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'NOTDEFINED', INDETERMINATE) +convector = IfcSpaceHeaterTypeEnum.CONVECTOR +radiator = IfcSpaceHeaterTypeEnum.RADIATOR +userdefined = IfcSpaceHeaterTypeEnum.USERDEFINED +notdefined = IfcSpaceHeaterTypeEnum.NOTDEFINED IfcSpaceTypeEnum = enum_namespace() -berth = express_getattr(IfcSpaceTypeEnum, 'BERTH', INDETERMINATE) -external = express_getattr(IfcSpaceTypeEnum, 'EXTERNAL', INDETERMINATE) -gfa = express_getattr(IfcSpaceTypeEnum, 'GFA', INDETERMINATE) -internal = express_getattr(IfcSpaceTypeEnum, 'INTERNAL', INDETERMINATE) -parking = express_getattr(IfcSpaceTypeEnum, 'PARKING', INDETERMINATE) -space = express_getattr(IfcSpaceTypeEnum, 'SPACE', INDETERMINATE) -userdefined = express_getattr(IfcSpaceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceTypeEnum, 'NOTDEFINED', INDETERMINATE) +berth = IfcSpaceTypeEnum.BERTH +external = IfcSpaceTypeEnum.EXTERNAL +gfa = IfcSpaceTypeEnum.GFA +internal = IfcSpaceTypeEnum.INTERNAL +parking = IfcSpaceTypeEnum.PARKING +space = IfcSpaceTypeEnum.SPACE +userdefined = IfcSpaceTypeEnum.USERDEFINED +notdefined = IfcSpaceTypeEnum.NOTDEFINED IfcSpatialZoneTypeEnum = enum_namespace() -construction = express_getattr(IfcSpatialZoneTypeEnum, 'CONSTRUCTION', INDETERMINATE) -firesafety = express_getattr(IfcSpatialZoneTypeEnum, 'FIRESAFETY', INDETERMINATE) -interference = express_getattr(IfcSpatialZoneTypeEnum, 'INTERFERENCE', INDETERMINATE) -lighting = express_getattr(IfcSpatialZoneTypeEnum, 'LIGHTING', INDETERMINATE) -occupancy = express_getattr(IfcSpatialZoneTypeEnum, 'OCCUPANCY', INDETERMINATE) -reservation = express_getattr(IfcSpatialZoneTypeEnum, 'RESERVATION', INDETERMINATE) -security = express_getattr(IfcSpatialZoneTypeEnum, 'SECURITY', INDETERMINATE) -thermal = express_getattr(IfcSpatialZoneTypeEnum, 'THERMAL', INDETERMINATE) -transport = express_getattr(IfcSpatialZoneTypeEnum, 'TRANSPORT', INDETERMINATE) -ventilation = express_getattr(IfcSpatialZoneTypeEnum, 'VENTILATION', INDETERMINATE) -userdefined = express_getattr(IfcSpatialZoneTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpatialZoneTypeEnum, 'NOTDEFINED', INDETERMINATE) +construction = IfcSpatialZoneTypeEnum.CONSTRUCTION +firesafety = IfcSpatialZoneTypeEnum.FIRESAFETY +interference = IfcSpatialZoneTypeEnum.INTERFERENCE +lighting = IfcSpatialZoneTypeEnum.LIGHTING +occupancy = IfcSpatialZoneTypeEnum.OCCUPANCY +reservation = IfcSpatialZoneTypeEnum.RESERVATION +security = IfcSpatialZoneTypeEnum.SECURITY +thermal = IfcSpatialZoneTypeEnum.THERMAL +transport = IfcSpatialZoneTypeEnum.TRANSPORT +ventilation = IfcSpatialZoneTypeEnum.VENTILATION +userdefined = IfcSpatialZoneTypeEnum.USERDEFINED +notdefined = IfcSpatialZoneTypeEnum.NOTDEFINED IfcStackTerminalTypeEnum = enum_namespace() -birdcage = express_getattr(IfcStackTerminalTypeEnum, 'BIRDCAGE', INDETERMINATE) -cowl = express_getattr(IfcStackTerminalTypeEnum, 'COWL', INDETERMINATE) -rainwaterhopper = express_getattr(IfcStackTerminalTypeEnum, 'RAINWATERHOPPER', INDETERMINATE) -userdefined = express_getattr(IfcStackTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStackTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +birdcage = IfcStackTerminalTypeEnum.BIRDCAGE +cowl = IfcStackTerminalTypeEnum.COWL +rainwaterhopper = IfcStackTerminalTypeEnum.RAINWATERHOPPER +userdefined = IfcStackTerminalTypeEnum.USERDEFINED +notdefined = IfcStackTerminalTypeEnum.NOTDEFINED IfcStairFlightTypeEnum = enum_namespace() -curved = express_getattr(IfcStairFlightTypeEnum, 'CURVED', INDETERMINATE) -freeform = express_getattr(IfcStairFlightTypeEnum, 'FREEFORM', INDETERMINATE) -spiral = express_getattr(IfcStairFlightTypeEnum, 'SPIRAL', INDETERMINATE) -straight = express_getattr(IfcStairFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -winder = express_getattr(IfcStairFlightTypeEnum, 'WINDER', INDETERMINATE) -userdefined = express_getattr(IfcStairFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +curved = IfcStairFlightTypeEnum.CURVED +freeform = IfcStairFlightTypeEnum.FREEFORM +spiral = IfcStairFlightTypeEnum.SPIRAL +straight = IfcStairFlightTypeEnum.STRAIGHT +winder = IfcStairFlightTypeEnum.WINDER +userdefined = IfcStairFlightTypeEnum.USERDEFINED +notdefined = IfcStairFlightTypeEnum.NOTDEFINED IfcStairTypeEnum = enum_namespace() -curved_run_stair = express_getattr(IfcStairTypeEnum, 'CURVED_RUN_STAIR', INDETERMINATE) -double_return_stair = express_getattr(IfcStairTypeEnum, 'DOUBLE_RETURN_STAIR', INDETERMINATE) -half_turn_stair = express_getattr(IfcStairTypeEnum, 'HALF_TURN_STAIR', INDETERMINATE) -half_winding_stair = express_getattr(IfcStairTypeEnum, 'HALF_WINDING_STAIR', INDETERMINATE) -ladder = express_getattr(IfcStairTypeEnum, 'LADDER', INDETERMINATE) -quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_TURN_STAIR', INDETERMINATE) -quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_WINDING_STAIR', INDETERMINATE) -spiral_stair = express_getattr(IfcStairTypeEnum, 'SPIRAL_STAIR', INDETERMINATE) -straight_run_stair = express_getattr(IfcStairTypeEnum, 'STRAIGHT_RUN_STAIR', INDETERMINATE) -three_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_TURN_STAIR', INDETERMINATE) -three_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_WINDING_STAIR', INDETERMINATE) -two_curved_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_CURVED_RUN_STAIR', INDETERMINATE) -two_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_TURN_STAIR', INDETERMINATE) -two_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_WINDING_STAIR', INDETERMINATE) -two_straight_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_STRAIGHT_RUN_STAIR', INDETERMINATE) -userdefined = express_getattr(IfcStairTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairTypeEnum, 'NOTDEFINED', INDETERMINATE) +curved_run_stair = IfcStairTypeEnum.CURVED_RUN_STAIR +double_return_stair = IfcStairTypeEnum.DOUBLE_RETURN_STAIR +half_turn_stair = IfcStairTypeEnum.HALF_TURN_STAIR +half_winding_stair = IfcStairTypeEnum.HALF_WINDING_STAIR +ladder = IfcStairTypeEnum.LADDER +quarter_turn_stair = IfcStairTypeEnum.QUARTER_TURN_STAIR +quarter_winding_stair = IfcStairTypeEnum.QUARTER_WINDING_STAIR +spiral_stair = IfcStairTypeEnum.SPIRAL_STAIR +straight_run_stair = IfcStairTypeEnum.STRAIGHT_RUN_STAIR +three_quarter_turn_stair = IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR +three_quarter_winding_stair = IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR +two_curved_run_stair = IfcStairTypeEnum.TWO_CURVED_RUN_STAIR +two_quarter_turn_stair = IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR +two_quarter_winding_stair = IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR +two_straight_run_stair = IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR +userdefined = IfcStairTypeEnum.USERDEFINED +notdefined = IfcStairTypeEnum.NOTDEFINED IfcStateEnum = enum_namespace() -locked = express_getattr(IfcStateEnum, 'LOCKED', INDETERMINATE) -readonly = express_getattr(IfcStateEnum, 'READONLY', INDETERMINATE) -readonlylocked = express_getattr(IfcStateEnum, 'READONLYLOCKED', INDETERMINATE) -readwrite = express_getattr(IfcStateEnum, 'READWRITE', INDETERMINATE) -readwritelocked = express_getattr(IfcStateEnum, 'READWRITELOCKED', INDETERMINATE) +locked = IfcStateEnum.LOCKED +readonly = IfcStateEnum.READONLY +readonlylocked = IfcStateEnum.READONLYLOCKED +readwrite = IfcStateEnum.READWRITE +readwritelocked = IfcStateEnum.READWRITELOCKED IfcStructuralCurveActivityTypeEnum = enum_namespace() -const = express_getattr(IfcStructuralCurveActivityTypeEnum, 'CONST', INDETERMINATE) -discrete = express_getattr(IfcStructuralCurveActivityTypeEnum, 'DISCRETE', INDETERMINATE) -equidistant = express_getattr(IfcStructuralCurveActivityTypeEnum, 'EQUIDISTANT', INDETERMINATE) -linear = express_getattr(IfcStructuralCurveActivityTypeEnum, 'LINEAR', INDETERMINATE) -parabola = express_getattr(IfcStructuralCurveActivityTypeEnum, 'PARABOLA', INDETERMINATE) -polygonal = express_getattr(IfcStructuralCurveActivityTypeEnum, 'POLYGONAL', INDETERMINATE) -sinus = express_getattr(IfcStructuralCurveActivityTypeEnum, 'SINUS', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +const = IfcStructuralCurveActivityTypeEnum.CONST +discrete = IfcStructuralCurveActivityTypeEnum.DISCRETE +equidistant = IfcStructuralCurveActivityTypeEnum.EQUIDISTANT +linear = IfcStructuralCurveActivityTypeEnum.LINEAR +parabola = IfcStructuralCurveActivityTypeEnum.PARABOLA +polygonal = IfcStructuralCurveActivityTypeEnum.POLYGONAL +sinus = IfcStructuralCurveActivityTypeEnum.SINUS +userdefined = IfcStructuralCurveActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveActivityTypeEnum.NOTDEFINED IfcStructuralCurveMemberTypeEnum = enum_namespace() -cable = express_getattr(IfcStructuralCurveMemberTypeEnum, 'CABLE', INDETERMINATE) -compression_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'COMPRESSION_MEMBER', INDETERMINATE) -pin_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'PIN_JOINED_MEMBER', INDETERMINATE) -rigid_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'RIGID_JOINED_MEMBER', INDETERMINATE) -tension_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'TENSION_MEMBER', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +cable = IfcStructuralCurveMemberTypeEnum.CABLE +compression_member = IfcStructuralCurveMemberTypeEnum.COMPRESSION_MEMBER +pin_joined_member = IfcStructuralCurveMemberTypeEnum.PIN_JOINED_MEMBER +rigid_joined_member = IfcStructuralCurveMemberTypeEnum.RIGID_JOINED_MEMBER +tension_member = IfcStructuralCurveMemberTypeEnum.TENSION_MEMBER +userdefined = IfcStructuralCurveMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveMemberTypeEnum.NOTDEFINED IfcStructuralSurfaceActivityTypeEnum = enum_namespace() -bilinear = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'BILINEAR', INDETERMINATE) -const = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'CONST', INDETERMINATE) -discrete = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'DISCRETE', INDETERMINATE) -isocontour = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'ISOCONTOUR', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +bilinear = IfcStructuralSurfaceActivityTypeEnum.BILINEAR +const = IfcStructuralSurfaceActivityTypeEnum.CONST +discrete = IfcStructuralSurfaceActivityTypeEnum.DISCRETE +isocontour = IfcStructuralSurfaceActivityTypeEnum.ISOCONTOUR +userdefined = IfcStructuralSurfaceActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceActivityTypeEnum.NOTDEFINED IfcStructuralSurfaceMemberTypeEnum = enum_namespace() -bending_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'BENDING_ELEMENT', INDETERMINATE) -membrane_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'MEMBRANE_ELEMENT', INDETERMINATE) -shell = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'SHELL', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +bending_element = IfcStructuralSurfaceMemberTypeEnum.BENDING_ELEMENT +membrane_element = IfcStructuralSurfaceMemberTypeEnum.MEMBRANE_ELEMENT +shell = IfcStructuralSurfaceMemberTypeEnum.SHELL +userdefined = IfcStructuralSurfaceMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceMemberTypeEnum.NOTDEFINED IfcSubContractResourceTypeEnum = enum_namespace() -purchase = express_getattr(IfcSubContractResourceTypeEnum, 'PURCHASE', INDETERMINATE) -work = express_getattr(IfcSubContractResourceTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcSubContractResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSubContractResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +purchase = IfcSubContractResourceTypeEnum.PURCHASE +work = IfcSubContractResourceTypeEnum.WORK +userdefined = IfcSubContractResourceTypeEnum.USERDEFINED +notdefined = IfcSubContractResourceTypeEnum.NOTDEFINED IfcSurfaceFeatureTypeEnum = enum_namespace() -defect = express_getattr(IfcSurfaceFeatureTypeEnum, 'DEFECT', INDETERMINATE) -hatchmarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'HATCHMARKING', INDETERMINATE) -linemarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'LINEMARKING', INDETERMINATE) -mark = express_getattr(IfcSurfaceFeatureTypeEnum, 'MARK', INDETERMINATE) -nonskidsurfacing = express_getattr(IfcSurfaceFeatureTypeEnum, 'NONSKIDSURFACING', INDETERMINATE) -pavementsurfacemarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'PAVEMENTSURFACEMARKING', INDETERMINATE) -rumblestrip = express_getattr(IfcSurfaceFeatureTypeEnum, 'RUMBLESTRIP', INDETERMINATE) -symbolmarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'SYMBOLMARKING', INDETERMINATE) -tag = express_getattr(IfcSurfaceFeatureTypeEnum, 'TAG', INDETERMINATE) -transverserumblestrip = express_getattr(IfcSurfaceFeatureTypeEnum, 'TRANSVERSERUMBLESTRIP', INDETERMINATE) -treatment = express_getattr(IfcSurfaceFeatureTypeEnum, 'TREATMENT', INDETERMINATE) -userdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +defect = IfcSurfaceFeatureTypeEnum.DEFECT +hatchmarking = IfcSurfaceFeatureTypeEnum.HATCHMARKING +linemarking = IfcSurfaceFeatureTypeEnum.LINEMARKING +mark = IfcSurfaceFeatureTypeEnum.MARK +nonskidsurfacing = IfcSurfaceFeatureTypeEnum.NONSKIDSURFACING +pavementsurfacemarking = IfcSurfaceFeatureTypeEnum.PAVEMENTSURFACEMARKING +rumblestrip = IfcSurfaceFeatureTypeEnum.RUMBLESTRIP +symbolmarking = IfcSurfaceFeatureTypeEnum.SYMBOLMARKING +tag = IfcSurfaceFeatureTypeEnum.TAG +transverserumblestrip = IfcSurfaceFeatureTypeEnum.TRANSVERSERUMBLESTRIP +treatment = IfcSurfaceFeatureTypeEnum.TREATMENT +userdefined = IfcSurfaceFeatureTypeEnum.USERDEFINED +notdefined = IfcSurfaceFeatureTypeEnum.NOTDEFINED IfcSurfaceSide = enum_namespace() -both = express_getattr(IfcSurfaceSide, 'BOTH', INDETERMINATE) -negative = express_getattr(IfcSurfaceSide, 'NEGATIVE', INDETERMINATE) -positive = express_getattr(IfcSurfaceSide, 'POSITIVE', INDETERMINATE) +both = IfcSurfaceSide.BOTH +negative = IfcSurfaceSide.NEGATIVE +positive = IfcSurfaceSide.POSITIVE IfcSwitchingDeviceTypeEnum = enum_namespace() -contactor = express_getattr(IfcSwitchingDeviceTypeEnum, 'CONTACTOR', INDETERMINATE) -dimmerswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'DIMMERSWITCH', INDETERMINATE) -emergencystop = express_getattr(IfcSwitchingDeviceTypeEnum, 'EMERGENCYSTOP', INDETERMINATE) -keypad = express_getattr(IfcSwitchingDeviceTypeEnum, 'KEYPAD', INDETERMINATE) -momentaryswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'MOMENTARYSWITCH', INDETERMINATE) -relay = express_getattr(IfcSwitchingDeviceTypeEnum, 'RELAY', INDETERMINATE) -selectorswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'SELECTORSWITCH', INDETERMINATE) -starter = express_getattr(IfcSwitchingDeviceTypeEnum, 'STARTER', INDETERMINATE) -start_and_stop_equipment = express_getattr(IfcSwitchingDeviceTypeEnum, 'START_AND_STOP_EQUIPMENT', INDETERMINATE) -switchdisconnector = express_getattr(IfcSwitchingDeviceTypeEnum, 'SWITCHDISCONNECTOR', INDETERMINATE) -toggleswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'TOGGLESWITCH', INDETERMINATE) -userdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +contactor = IfcSwitchingDeviceTypeEnum.CONTACTOR +dimmerswitch = IfcSwitchingDeviceTypeEnum.DIMMERSWITCH +emergencystop = IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP +keypad = IfcSwitchingDeviceTypeEnum.KEYPAD +momentaryswitch = IfcSwitchingDeviceTypeEnum.MOMENTARYSWITCH +relay = IfcSwitchingDeviceTypeEnum.RELAY +selectorswitch = IfcSwitchingDeviceTypeEnum.SELECTORSWITCH +starter = IfcSwitchingDeviceTypeEnum.STARTER +start_and_stop_equipment = IfcSwitchingDeviceTypeEnum.START_AND_STOP_EQUIPMENT +switchdisconnector = IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR +toggleswitch = IfcSwitchingDeviceTypeEnum.TOGGLESWITCH +userdefined = IfcSwitchingDeviceTypeEnum.USERDEFINED +notdefined = IfcSwitchingDeviceTypeEnum.NOTDEFINED IfcSystemFurnitureElementTypeEnum = enum_namespace() -panel = express_getattr(IfcSystemFurnitureElementTypeEnum, 'PANEL', INDETERMINATE) -subrack = express_getattr(IfcSystemFurnitureElementTypeEnum, 'SUBRACK', INDETERMINATE) -worksurface = express_getattr(IfcSystemFurnitureElementTypeEnum, 'WORKSURFACE', INDETERMINATE) -userdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +panel = IfcSystemFurnitureElementTypeEnum.PANEL +subrack = IfcSystemFurnitureElementTypeEnum.SUBRACK +worksurface = IfcSystemFurnitureElementTypeEnum.WORKSURFACE +userdefined = IfcSystemFurnitureElementTypeEnum.USERDEFINED +notdefined = IfcSystemFurnitureElementTypeEnum.NOTDEFINED IfcTankTypeEnum = enum_namespace() -basin = express_getattr(IfcTankTypeEnum, 'BASIN', INDETERMINATE) -breakpressure = express_getattr(IfcTankTypeEnum, 'BREAKPRESSURE', INDETERMINATE) -expansion = express_getattr(IfcTankTypeEnum, 'EXPANSION', INDETERMINATE) -feedandexpansion = express_getattr(IfcTankTypeEnum, 'FEEDANDEXPANSION', INDETERMINATE) -oilretentiontray = express_getattr(IfcTankTypeEnum, 'OILRETENTIONTRAY', INDETERMINATE) -pressurevessel = express_getattr(IfcTankTypeEnum, 'PRESSUREVESSEL', INDETERMINATE) -storage = express_getattr(IfcTankTypeEnum, 'STORAGE', INDETERMINATE) -vessel = express_getattr(IfcTankTypeEnum, 'VESSEL', INDETERMINATE) -userdefined = express_getattr(IfcTankTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTankTypeEnum, 'NOTDEFINED', INDETERMINATE) +basin = IfcTankTypeEnum.BASIN +breakpressure = IfcTankTypeEnum.BREAKPRESSURE +expansion = IfcTankTypeEnum.EXPANSION +feedandexpansion = IfcTankTypeEnum.FEEDANDEXPANSION +oilretentiontray = IfcTankTypeEnum.OILRETENTIONTRAY +pressurevessel = IfcTankTypeEnum.PRESSUREVESSEL +storage = IfcTankTypeEnum.STORAGE +vessel = IfcTankTypeEnum.VESSEL +userdefined = IfcTankTypeEnum.USERDEFINED +notdefined = IfcTankTypeEnum.NOTDEFINED IfcTaskDurationEnum = enum_namespace() -elapsedtime = express_getattr(IfcTaskDurationEnum, 'ELAPSEDTIME', INDETERMINATE) -worktime = express_getattr(IfcTaskDurationEnum, 'WORKTIME', INDETERMINATE) -notdefined = express_getattr(IfcTaskDurationEnum, 'NOTDEFINED', INDETERMINATE) +elapsedtime = IfcTaskDurationEnum.ELAPSEDTIME +worktime = IfcTaskDurationEnum.WORKTIME +notdefined = IfcTaskDurationEnum.NOTDEFINED IfcTaskTypeEnum = enum_namespace() -adjustment = express_getattr(IfcTaskTypeEnum, 'ADJUSTMENT', INDETERMINATE) -attendance = express_getattr(IfcTaskTypeEnum, 'ATTENDANCE', INDETERMINATE) -calibration = express_getattr(IfcTaskTypeEnum, 'CALIBRATION', INDETERMINATE) -construction = express_getattr(IfcTaskTypeEnum, 'CONSTRUCTION', INDETERMINATE) -demolition = express_getattr(IfcTaskTypeEnum, 'DEMOLITION', INDETERMINATE) -dismantle = express_getattr(IfcTaskTypeEnum, 'DISMANTLE', INDETERMINATE) -disposal = express_getattr(IfcTaskTypeEnum, 'DISPOSAL', INDETERMINATE) -emergency = express_getattr(IfcTaskTypeEnum, 'EMERGENCY', INDETERMINATE) -inspection = express_getattr(IfcTaskTypeEnum, 'INSPECTION', INDETERMINATE) -installation = express_getattr(IfcTaskTypeEnum, 'INSTALLATION', INDETERMINATE) -logistic = express_getattr(IfcTaskTypeEnum, 'LOGISTIC', INDETERMINATE) -maintenance = express_getattr(IfcTaskTypeEnum, 'MAINTENANCE', INDETERMINATE) -move = express_getattr(IfcTaskTypeEnum, 'MOVE', INDETERMINATE) -operation = express_getattr(IfcTaskTypeEnum, 'OPERATION', INDETERMINATE) -removal = express_getattr(IfcTaskTypeEnum, 'REMOVAL', INDETERMINATE) -renovation = express_getattr(IfcTaskTypeEnum, 'RENOVATION', INDETERMINATE) -safety = express_getattr(IfcTaskTypeEnum, 'SAFETY', INDETERMINATE) -shutdown = express_getattr(IfcTaskTypeEnum, 'SHUTDOWN', INDETERMINATE) -startup = express_getattr(IfcTaskTypeEnum, 'STARTUP', INDETERMINATE) -testing = express_getattr(IfcTaskTypeEnum, 'TESTING', INDETERMINATE) -troubleshooting = express_getattr(IfcTaskTypeEnum, 'TROUBLESHOOTING', INDETERMINATE) -userdefined = express_getattr(IfcTaskTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTaskTypeEnum, 'NOTDEFINED', INDETERMINATE) +adjustment = IfcTaskTypeEnum.ADJUSTMENT +attendance = IfcTaskTypeEnum.ATTENDANCE +calibration = IfcTaskTypeEnum.CALIBRATION +construction = IfcTaskTypeEnum.CONSTRUCTION +demolition = IfcTaskTypeEnum.DEMOLITION +dismantle = IfcTaskTypeEnum.DISMANTLE +disposal = IfcTaskTypeEnum.DISPOSAL +emergency = IfcTaskTypeEnum.EMERGENCY +inspection = IfcTaskTypeEnum.INSPECTION +installation = IfcTaskTypeEnum.INSTALLATION +logistic = IfcTaskTypeEnum.LOGISTIC +maintenance = IfcTaskTypeEnum.MAINTENANCE +move = IfcTaskTypeEnum.MOVE +operation = IfcTaskTypeEnum.OPERATION +removal = IfcTaskTypeEnum.REMOVAL +renovation = IfcTaskTypeEnum.RENOVATION +safety = IfcTaskTypeEnum.SAFETY +shutdown = IfcTaskTypeEnum.SHUTDOWN +startup = IfcTaskTypeEnum.STARTUP +testing = IfcTaskTypeEnum.TESTING +troubleshooting = IfcTaskTypeEnum.TROUBLESHOOTING +userdefined = IfcTaskTypeEnum.USERDEFINED +notdefined = IfcTaskTypeEnum.NOTDEFINED IfcTendonAnchorTypeEnum = enum_namespace() -coupler = express_getattr(IfcTendonAnchorTypeEnum, 'COUPLER', INDETERMINATE) -fixed_end = express_getattr(IfcTendonAnchorTypeEnum, 'FIXED_END', INDETERMINATE) -tensioning_end = express_getattr(IfcTendonAnchorTypeEnum, 'TENSIONING_END', INDETERMINATE) -userdefined = express_getattr(IfcTendonAnchorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonAnchorTypeEnum, 'NOTDEFINED', INDETERMINATE) +coupler = IfcTendonAnchorTypeEnum.COUPLER +fixed_end = IfcTendonAnchorTypeEnum.FIXED_END +tensioning_end = IfcTendonAnchorTypeEnum.TENSIONING_END +userdefined = IfcTendonAnchorTypeEnum.USERDEFINED +notdefined = IfcTendonAnchorTypeEnum.NOTDEFINED IfcTendonConduitTypeEnum = enum_namespace() -coupler = express_getattr(IfcTendonConduitTypeEnum, 'COUPLER', INDETERMINATE) -diabolo = express_getattr(IfcTendonConduitTypeEnum, 'DIABOLO', INDETERMINATE) -duct = express_getattr(IfcTendonConduitTypeEnum, 'DUCT', INDETERMINATE) -grouting_duct = express_getattr(IfcTendonConduitTypeEnum, 'GROUTING_DUCT', INDETERMINATE) -trumpet = express_getattr(IfcTendonConduitTypeEnum, 'TRUMPET', INDETERMINATE) -userdefined = express_getattr(IfcTendonConduitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonConduitTypeEnum, 'NOTDEFINED', INDETERMINATE) +coupler = IfcTendonConduitTypeEnum.COUPLER +diabolo = IfcTendonConduitTypeEnum.DIABOLO +duct = IfcTendonConduitTypeEnum.DUCT +grouting_duct = IfcTendonConduitTypeEnum.GROUTING_DUCT +trumpet = IfcTendonConduitTypeEnum.TRUMPET +userdefined = IfcTendonConduitTypeEnum.USERDEFINED +notdefined = IfcTendonConduitTypeEnum.NOTDEFINED IfcTendonTypeEnum = enum_namespace() -bar = express_getattr(IfcTendonTypeEnum, 'BAR', INDETERMINATE) -coated = express_getattr(IfcTendonTypeEnum, 'COATED', INDETERMINATE) -strand = express_getattr(IfcTendonTypeEnum, 'STRAND', INDETERMINATE) -wire = express_getattr(IfcTendonTypeEnum, 'WIRE', INDETERMINATE) -userdefined = express_getattr(IfcTendonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonTypeEnum, 'NOTDEFINED', INDETERMINATE) +bar = IfcTendonTypeEnum.BAR +coated = IfcTendonTypeEnum.COATED +strand = IfcTendonTypeEnum.STRAND +wire = IfcTendonTypeEnum.WIRE +userdefined = IfcTendonTypeEnum.USERDEFINED +notdefined = IfcTendonTypeEnum.NOTDEFINED IfcTextPath = enum_namespace() -down = express_getattr(IfcTextPath, 'DOWN', INDETERMINATE) -left = express_getattr(IfcTextPath, 'LEFT', INDETERMINATE) -right = express_getattr(IfcTextPath, 'RIGHT', INDETERMINATE) -up = express_getattr(IfcTextPath, 'UP', INDETERMINATE) +down = IfcTextPath.DOWN +left = IfcTextPath.LEFT +right = IfcTextPath.RIGHT +up = IfcTextPath.UP IfcTimeSeriesDataTypeEnum = enum_namespace() -continuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'CONTINUOUS', INDETERMINATE) -discrete = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETE', INDETERMINATE) -discretebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETEBINARY', INDETERMINATE) -piecewisebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISEBINARY', INDETERMINATE) -piecewiseconstant = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONSTANT', INDETERMINATE) -piecewisecontinuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONTINUOUS', INDETERMINATE) -notdefined = express_getattr(IfcTimeSeriesDataTypeEnum, 'NOTDEFINED', INDETERMINATE) +continuous = IfcTimeSeriesDataTypeEnum.CONTINUOUS +discrete = IfcTimeSeriesDataTypeEnum.DISCRETE +discretebinary = IfcTimeSeriesDataTypeEnum.DISCRETEBINARY +piecewisebinary = IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY +piecewiseconstant = IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT +piecewisecontinuous = IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS +notdefined = IfcTimeSeriesDataTypeEnum.NOTDEFINED IfcTrackElementTypeEnum = enum_namespace() -blockingdevice = express_getattr(IfcTrackElementTypeEnum, 'BLOCKINGDEVICE', INDETERMINATE) -derailer = express_getattr(IfcTrackElementTypeEnum, 'DERAILER', INDETERMINATE) -frog = express_getattr(IfcTrackElementTypeEnum, 'FROG', INDETERMINATE) -half_set_of_blades = express_getattr(IfcTrackElementTypeEnum, 'HALF_SET_OF_BLADES', INDETERMINATE) -sleeper = express_getattr(IfcTrackElementTypeEnum, 'SLEEPER', INDETERMINATE) -speedregulator = express_getattr(IfcTrackElementTypeEnum, 'SPEEDREGULATOR', INDETERMINATE) -trackendofalignment = express_getattr(IfcTrackElementTypeEnum, 'TRACKENDOFALIGNMENT', INDETERMINATE) -vehiclestop = express_getattr(IfcTrackElementTypeEnum, 'VEHICLESTOP', INDETERMINATE) -userdefined = express_getattr(IfcTrackElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTrackElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +blockingdevice = IfcTrackElementTypeEnum.BLOCKINGDEVICE +derailer = IfcTrackElementTypeEnum.DERAILER +frog = IfcTrackElementTypeEnum.FROG +half_set_of_blades = IfcTrackElementTypeEnum.HALF_SET_OF_BLADES +sleeper = IfcTrackElementTypeEnum.SLEEPER +speedregulator = IfcTrackElementTypeEnum.SPEEDREGULATOR +trackendofalignment = IfcTrackElementTypeEnum.TRACKENDOFALIGNMENT +vehiclestop = IfcTrackElementTypeEnum.VEHICLESTOP +userdefined = IfcTrackElementTypeEnum.USERDEFINED +notdefined = IfcTrackElementTypeEnum.NOTDEFINED IfcTransformerTypeEnum = enum_namespace() -chopper = express_getattr(IfcTransformerTypeEnum, 'CHOPPER', INDETERMINATE) -combined = express_getattr(IfcTransformerTypeEnum, 'COMBINED', INDETERMINATE) -current = express_getattr(IfcTransformerTypeEnum, 'CURRENT', INDETERMINATE) -frequency = express_getattr(IfcTransformerTypeEnum, 'FREQUENCY', INDETERMINATE) -inverter = express_getattr(IfcTransformerTypeEnum, 'INVERTER', INDETERMINATE) -rectifier = express_getattr(IfcTransformerTypeEnum, 'RECTIFIER', INDETERMINATE) -voltage = express_getattr(IfcTransformerTypeEnum, 'VOLTAGE', INDETERMINATE) -userdefined = express_getattr(IfcTransformerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransformerTypeEnum, 'NOTDEFINED', INDETERMINATE) +chopper = IfcTransformerTypeEnum.CHOPPER +combined = IfcTransformerTypeEnum.COMBINED +current = IfcTransformerTypeEnum.CURRENT +frequency = IfcTransformerTypeEnum.FREQUENCY +inverter = IfcTransformerTypeEnum.INVERTER +rectifier = IfcTransformerTypeEnum.RECTIFIER +voltage = IfcTransformerTypeEnum.VOLTAGE +userdefined = IfcTransformerTypeEnum.USERDEFINED +notdefined = IfcTransformerTypeEnum.NOTDEFINED IfcTransitionCode = enum_namespace() -continuous = express_getattr(IfcTransitionCode, 'CONTINUOUS', INDETERMINATE) -contsamegradient = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENT', INDETERMINATE) -contsamegradientsamecurvature = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENTSAMECURVATURE', INDETERMINATE) -discontinuous = express_getattr(IfcTransitionCode, 'DISCONTINUOUS', INDETERMINATE) +continuous = IfcTransitionCode.CONTINUOUS +contsamegradient = IfcTransitionCode.CONTSAMEGRADIENT +contsamegradientsamecurvature = IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE +discontinuous = IfcTransitionCode.DISCONTINUOUS IfcTransportElementTypeEnum = enum_namespace() -craneway = express_getattr(IfcTransportElementTypeEnum, 'CRANEWAY', INDETERMINATE) -elevator = express_getattr(IfcTransportElementTypeEnum, 'ELEVATOR', INDETERMINATE) -escalator = express_getattr(IfcTransportElementTypeEnum, 'ESCALATOR', INDETERMINATE) -haulinggear = express_getattr(IfcTransportElementTypeEnum, 'HAULINGGEAR', INDETERMINATE) -liftinggear = express_getattr(IfcTransportElementTypeEnum, 'LIFTINGGEAR', INDETERMINATE) -movingwalkway = express_getattr(IfcTransportElementTypeEnum, 'MOVINGWALKWAY', INDETERMINATE) -userdefined = express_getattr(IfcTransportElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransportElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +craneway = IfcTransportElementTypeEnum.CRANEWAY +elevator = IfcTransportElementTypeEnum.ELEVATOR +escalator = IfcTransportElementTypeEnum.ESCALATOR +haulinggear = IfcTransportElementTypeEnum.HAULINGGEAR +liftinggear = IfcTransportElementTypeEnum.LIFTINGGEAR +movingwalkway = IfcTransportElementTypeEnum.MOVINGWALKWAY +userdefined = IfcTransportElementTypeEnum.USERDEFINED +notdefined = IfcTransportElementTypeEnum.NOTDEFINED IfcTrimmingPreference = enum_namespace() -cartesian = express_getattr(IfcTrimmingPreference, 'CARTESIAN', INDETERMINATE) -parameter = express_getattr(IfcTrimmingPreference, 'PARAMETER', INDETERMINATE) -unspecified = express_getattr(IfcTrimmingPreference, 'UNSPECIFIED', INDETERMINATE) +cartesian = IfcTrimmingPreference.CARTESIAN +parameter = IfcTrimmingPreference.PARAMETER +unspecified = IfcTrimmingPreference.UNSPECIFIED IfcTubeBundleTypeEnum = enum_namespace() -finned = express_getattr(IfcTubeBundleTypeEnum, 'FINNED', INDETERMINATE) -userdefined = express_getattr(IfcTubeBundleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTubeBundleTypeEnum, 'NOTDEFINED', INDETERMINATE) +finned = IfcTubeBundleTypeEnum.FINNED +userdefined = IfcTubeBundleTypeEnum.USERDEFINED +notdefined = IfcTubeBundleTypeEnum.NOTDEFINED IfcUnitEnum = enum_namespace() -absorbeddoseunit = express_getattr(IfcUnitEnum, 'ABSORBEDDOSEUNIT', INDETERMINATE) -amountofsubstanceunit = express_getattr(IfcUnitEnum, 'AMOUNTOFSUBSTANCEUNIT', INDETERMINATE) -areaunit = express_getattr(IfcUnitEnum, 'AREAUNIT', INDETERMINATE) -doseequivalentunit = express_getattr(IfcUnitEnum, 'DOSEEQUIVALENTUNIT', INDETERMINATE) -electriccapacitanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCAPACITANCEUNIT', INDETERMINATE) -electricchargeunit = express_getattr(IfcUnitEnum, 'ELECTRICCHARGEUNIT', INDETERMINATE) -electricconductanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCONDUCTANCEUNIT', INDETERMINATE) -electriccurrentunit = express_getattr(IfcUnitEnum, 'ELECTRICCURRENTUNIT', INDETERMINATE) -electricresistanceunit = express_getattr(IfcUnitEnum, 'ELECTRICRESISTANCEUNIT', INDETERMINATE) -electricvoltageunit = express_getattr(IfcUnitEnum, 'ELECTRICVOLTAGEUNIT', INDETERMINATE) -energyunit = express_getattr(IfcUnitEnum, 'ENERGYUNIT', INDETERMINATE) -forceunit = express_getattr(IfcUnitEnum, 'FORCEUNIT', INDETERMINATE) -frequencyunit = express_getattr(IfcUnitEnum, 'FREQUENCYUNIT', INDETERMINATE) -illuminanceunit = express_getattr(IfcUnitEnum, 'ILLUMINANCEUNIT', INDETERMINATE) -inductanceunit = express_getattr(IfcUnitEnum, 'INDUCTANCEUNIT', INDETERMINATE) -lengthunit = express_getattr(IfcUnitEnum, 'LENGTHUNIT', INDETERMINATE) -luminousfluxunit = express_getattr(IfcUnitEnum, 'LUMINOUSFLUXUNIT', INDETERMINATE) -luminousintensityunit = express_getattr(IfcUnitEnum, 'LUMINOUSINTENSITYUNIT', INDETERMINATE) -magneticfluxdensityunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXDENSITYUNIT', INDETERMINATE) -magneticfluxunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXUNIT', INDETERMINATE) -massunit = express_getattr(IfcUnitEnum, 'MASSUNIT', INDETERMINATE) -planeangleunit = express_getattr(IfcUnitEnum, 'PLANEANGLEUNIT', INDETERMINATE) -powerunit = express_getattr(IfcUnitEnum, 'POWERUNIT', INDETERMINATE) -pressureunit = express_getattr(IfcUnitEnum, 'PRESSUREUNIT', INDETERMINATE) -radioactivityunit = express_getattr(IfcUnitEnum, 'RADIOACTIVITYUNIT', INDETERMINATE) -solidangleunit = express_getattr(IfcUnitEnum, 'SOLIDANGLEUNIT', INDETERMINATE) -thermodynamictemperatureunit = express_getattr(IfcUnitEnum, 'THERMODYNAMICTEMPERATUREUNIT', INDETERMINATE) -timeunit = express_getattr(IfcUnitEnum, 'TIMEUNIT', INDETERMINATE) -volumeunit = express_getattr(IfcUnitEnum, 'VOLUMEUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitEnum, 'USERDEFINED', INDETERMINATE) +absorbeddoseunit = IfcUnitEnum.ABSORBEDDOSEUNIT +amountofsubstanceunit = IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT +areaunit = IfcUnitEnum.AREAUNIT +doseequivalentunit = IfcUnitEnum.DOSEEQUIVALENTUNIT +electriccapacitanceunit = IfcUnitEnum.ELECTRICCAPACITANCEUNIT +electricchargeunit = IfcUnitEnum.ELECTRICCHARGEUNIT +electricconductanceunit = IfcUnitEnum.ELECTRICCONDUCTANCEUNIT +electriccurrentunit = IfcUnitEnum.ELECTRICCURRENTUNIT +electricresistanceunit = IfcUnitEnum.ELECTRICRESISTANCEUNIT +electricvoltageunit = IfcUnitEnum.ELECTRICVOLTAGEUNIT +energyunit = IfcUnitEnum.ENERGYUNIT +forceunit = IfcUnitEnum.FORCEUNIT +frequencyunit = IfcUnitEnum.FREQUENCYUNIT +illuminanceunit = IfcUnitEnum.ILLUMINANCEUNIT +inductanceunit = IfcUnitEnum.INDUCTANCEUNIT +lengthunit = IfcUnitEnum.LENGTHUNIT +luminousfluxunit = IfcUnitEnum.LUMINOUSFLUXUNIT +luminousintensityunit = IfcUnitEnum.LUMINOUSINTENSITYUNIT +magneticfluxdensityunit = IfcUnitEnum.MAGNETICFLUXDENSITYUNIT +magneticfluxunit = IfcUnitEnum.MAGNETICFLUXUNIT +massunit = IfcUnitEnum.MASSUNIT +planeangleunit = IfcUnitEnum.PLANEANGLEUNIT +powerunit = IfcUnitEnum.POWERUNIT +pressureunit = IfcUnitEnum.PRESSUREUNIT +radioactivityunit = IfcUnitEnum.RADIOACTIVITYUNIT +solidangleunit = IfcUnitEnum.SOLIDANGLEUNIT +thermodynamictemperatureunit = IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT +timeunit = IfcUnitEnum.TIMEUNIT +volumeunit = IfcUnitEnum.VOLUMEUNIT +userdefined = IfcUnitEnum.USERDEFINED IfcUnitaryControlElementTypeEnum = enum_namespace() -alarmpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'ALARMPANEL', INDETERMINATE) -basestationcontroller = express_getattr(IfcUnitaryControlElementTypeEnum, 'BASESTATIONCONTROLLER', INDETERMINATE) -combined = express_getattr(IfcUnitaryControlElementTypeEnum, 'COMBINED', INDETERMINATE) -controlpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'CONTROLPANEL', INDETERMINATE) -gasdetectionpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'GASDETECTIONPANEL', INDETERMINATE) -humidistat = express_getattr(IfcUnitaryControlElementTypeEnum, 'HUMIDISTAT', INDETERMINATE) -indicatorpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'INDICATORPANEL', INDETERMINATE) -mimicpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'MIMICPANEL', INDETERMINATE) -thermostat = express_getattr(IfcUnitaryControlElementTypeEnum, 'THERMOSTAT', INDETERMINATE) -weatherstation = express_getattr(IfcUnitaryControlElementTypeEnum, 'WEATHERSTATION', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +alarmpanel = IfcUnitaryControlElementTypeEnum.ALARMPANEL +basestationcontroller = IfcUnitaryControlElementTypeEnum.BASESTATIONCONTROLLER +combined = IfcUnitaryControlElementTypeEnum.COMBINED +controlpanel = IfcUnitaryControlElementTypeEnum.CONTROLPANEL +gasdetectionpanel = IfcUnitaryControlElementTypeEnum.GASDETECTIONPANEL +humidistat = IfcUnitaryControlElementTypeEnum.HUMIDISTAT +indicatorpanel = IfcUnitaryControlElementTypeEnum.INDICATORPANEL +mimicpanel = IfcUnitaryControlElementTypeEnum.MIMICPANEL +thermostat = IfcUnitaryControlElementTypeEnum.THERMOSTAT +weatherstation = IfcUnitaryControlElementTypeEnum.WEATHERSTATION +userdefined = IfcUnitaryControlElementTypeEnum.USERDEFINED +notdefined = IfcUnitaryControlElementTypeEnum.NOTDEFINED IfcUnitaryEquipmentTypeEnum = enum_namespace() -airconditioningunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRCONDITIONINGUNIT', INDETERMINATE) -airhandler = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRHANDLER', INDETERMINATE) -dehumidifier = express_getattr(IfcUnitaryEquipmentTypeEnum, 'DEHUMIDIFIER', INDETERMINATE) -rooftopunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'ROOFTOPUNIT', INDETERMINATE) -splitsystem = express_getattr(IfcUnitaryEquipmentTypeEnum, 'SPLITSYSTEM', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +airconditioningunit = IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT +airhandler = IfcUnitaryEquipmentTypeEnum.AIRHANDLER +dehumidifier = IfcUnitaryEquipmentTypeEnum.DEHUMIDIFIER +rooftopunit = IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT +splitsystem = IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM +userdefined = IfcUnitaryEquipmentTypeEnum.USERDEFINED +notdefined = IfcUnitaryEquipmentTypeEnum.NOTDEFINED IfcValveTypeEnum = enum_namespace() -airrelease = express_getattr(IfcValveTypeEnum, 'AIRRELEASE', INDETERMINATE) -antivacuum = express_getattr(IfcValveTypeEnum, 'ANTIVACUUM', INDETERMINATE) -changeover = express_getattr(IfcValveTypeEnum, 'CHANGEOVER', INDETERMINATE) -check = express_getattr(IfcValveTypeEnum, 'CHECK', INDETERMINATE) -commissioning = express_getattr(IfcValveTypeEnum, 'COMMISSIONING', INDETERMINATE) -diverting = express_getattr(IfcValveTypeEnum, 'DIVERTING', INDETERMINATE) -doublecheck = express_getattr(IfcValveTypeEnum, 'DOUBLECHECK', INDETERMINATE) -doubleregulating = express_getattr(IfcValveTypeEnum, 'DOUBLEREGULATING', INDETERMINATE) -drawoffcock = express_getattr(IfcValveTypeEnum, 'DRAWOFFCOCK', INDETERMINATE) -faucet = express_getattr(IfcValveTypeEnum, 'FAUCET', INDETERMINATE) -flushing = express_getattr(IfcValveTypeEnum, 'FLUSHING', INDETERMINATE) -gascock = express_getattr(IfcValveTypeEnum, 'GASCOCK', INDETERMINATE) -gastap = express_getattr(IfcValveTypeEnum, 'GASTAP', INDETERMINATE) -isolating = express_getattr(IfcValveTypeEnum, 'ISOLATING', INDETERMINATE) -mixing = express_getattr(IfcValveTypeEnum, 'MIXING', INDETERMINATE) -pressurereducing = express_getattr(IfcValveTypeEnum, 'PRESSUREREDUCING', INDETERMINATE) -pressurerelief = express_getattr(IfcValveTypeEnum, 'PRESSURERELIEF', INDETERMINATE) -regulating = express_getattr(IfcValveTypeEnum, 'REGULATING', INDETERMINATE) -safetycutoff = express_getattr(IfcValveTypeEnum, 'SAFETYCUTOFF', INDETERMINATE) -steamtrap = express_getattr(IfcValveTypeEnum, 'STEAMTRAP', INDETERMINATE) -stopcock = express_getattr(IfcValveTypeEnum, 'STOPCOCK', INDETERMINATE) -userdefined = express_getattr(IfcValveTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcValveTypeEnum, 'NOTDEFINED', INDETERMINATE) +airrelease = IfcValveTypeEnum.AIRRELEASE +antivacuum = IfcValveTypeEnum.ANTIVACUUM +changeover = IfcValveTypeEnum.CHANGEOVER +check = IfcValveTypeEnum.CHECK +commissioning = IfcValveTypeEnum.COMMISSIONING +diverting = IfcValveTypeEnum.DIVERTING +doublecheck = IfcValveTypeEnum.DOUBLECHECK +doubleregulating = IfcValveTypeEnum.DOUBLEREGULATING +drawoffcock = IfcValveTypeEnum.DRAWOFFCOCK +faucet = IfcValveTypeEnum.FAUCET +flushing = IfcValveTypeEnum.FLUSHING +gascock = IfcValveTypeEnum.GASCOCK +gastap = IfcValveTypeEnum.GASTAP +isolating = IfcValveTypeEnum.ISOLATING +mixing = IfcValveTypeEnum.MIXING +pressurereducing = IfcValveTypeEnum.PRESSUREREDUCING +pressurerelief = IfcValveTypeEnum.PRESSURERELIEF +regulating = IfcValveTypeEnum.REGULATING +safetycutoff = IfcValveTypeEnum.SAFETYCUTOFF +steamtrap = IfcValveTypeEnum.STEAMTRAP +stopcock = IfcValveTypeEnum.STOPCOCK +userdefined = IfcValveTypeEnum.USERDEFINED +notdefined = IfcValveTypeEnum.NOTDEFINED IfcVehicleTypeEnum = enum_namespace() -cargo = express_getattr(IfcVehicleTypeEnum, 'CARGO', INDETERMINATE) -rollingstock = express_getattr(IfcVehicleTypeEnum, 'ROLLINGSTOCK', INDETERMINATE) -vehicle = express_getattr(IfcVehicleTypeEnum, 'VEHICLE', INDETERMINATE) -vehicleair = express_getattr(IfcVehicleTypeEnum, 'VEHICLEAIR', INDETERMINATE) -vehiclemarine = express_getattr(IfcVehicleTypeEnum, 'VEHICLEMARINE', INDETERMINATE) -vehicletracked = express_getattr(IfcVehicleTypeEnum, 'VEHICLETRACKED', INDETERMINATE) -vehiclewheeled = express_getattr(IfcVehicleTypeEnum, 'VEHICLEWHEELED', INDETERMINATE) -userdefined = express_getattr(IfcVehicleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVehicleTypeEnum, 'NOTDEFINED', INDETERMINATE) +cargo = IfcVehicleTypeEnum.CARGO +rollingstock = IfcVehicleTypeEnum.ROLLINGSTOCK +vehicle = IfcVehicleTypeEnum.VEHICLE +vehicleair = IfcVehicleTypeEnum.VEHICLEAIR +vehiclemarine = IfcVehicleTypeEnum.VEHICLEMARINE +vehicletracked = IfcVehicleTypeEnum.VEHICLETRACKED +vehiclewheeled = IfcVehicleTypeEnum.VEHICLEWHEELED +userdefined = IfcVehicleTypeEnum.USERDEFINED +notdefined = IfcVehicleTypeEnum.NOTDEFINED IfcVibrationDamperTypeEnum = enum_namespace() -axial_yield = express_getattr(IfcVibrationDamperTypeEnum, 'AXIAL_YIELD', INDETERMINATE) -bending_yield = express_getattr(IfcVibrationDamperTypeEnum, 'BENDING_YIELD', INDETERMINATE) -friction = express_getattr(IfcVibrationDamperTypeEnum, 'FRICTION', INDETERMINATE) -rubber = express_getattr(IfcVibrationDamperTypeEnum, 'RUBBER', INDETERMINATE) -shear_yield = express_getattr(IfcVibrationDamperTypeEnum, 'SHEAR_YIELD', INDETERMINATE) -viscous = express_getattr(IfcVibrationDamperTypeEnum, 'VISCOUS', INDETERMINATE) -userdefined = express_getattr(IfcVibrationDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +axial_yield = IfcVibrationDamperTypeEnum.AXIAL_YIELD +bending_yield = IfcVibrationDamperTypeEnum.BENDING_YIELD +friction = IfcVibrationDamperTypeEnum.FRICTION +rubber = IfcVibrationDamperTypeEnum.RUBBER +shear_yield = IfcVibrationDamperTypeEnum.SHEAR_YIELD +viscous = IfcVibrationDamperTypeEnum.VISCOUS +userdefined = IfcVibrationDamperTypeEnum.USERDEFINED +notdefined = IfcVibrationDamperTypeEnum.NOTDEFINED IfcVibrationIsolatorTypeEnum = enum_namespace() -base = express_getattr(IfcVibrationIsolatorTypeEnum, 'BASE', INDETERMINATE) -compression = express_getattr(IfcVibrationIsolatorTypeEnum, 'COMPRESSION', INDETERMINATE) -spring = express_getattr(IfcVibrationIsolatorTypeEnum, 'SPRING', INDETERMINATE) -userdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +base = IfcVibrationIsolatorTypeEnum.BASE +compression = IfcVibrationIsolatorTypeEnum.COMPRESSION +spring = IfcVibrationIsolatorTypeEnum.SPRING +userdefined = IfcVibrationIsolatorTypeEnum.USERDEFINED +notdefined = IfcVibrationIsolatorTypeEnum.NOTDEFINED IfcVirtualElementTypeEnum = enum_namespace() -boundary = express_getattr(IfcVirtualElementTypeEnum, 'BOUNDARY', INDETERMINATE) -clearance = express_getattr(IfcVirtualElementTypeEnum, 'CLEARANCE', INDETERMINATE) -provisionforvoid = express_getattr(IfcVirtualElementTypeEnum, 'PROVISIONFORVOID', INDETERMINATE) -userdefined = express_getattr(IfcVirtualElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVirtualElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +boundary = IfcVirtualElementTypeEnum.BOUNDARY +clearance = IfcVirtualElementTypeEnum.CLEARANCE +provisionforvoid = IfcVirtualElementTypeEnum.PROVISIONFORVOID +userdefined = IfcVirtualElementTypeEnum.USERDEFINED +notdefined = IfcVirtualElementTypeEnum.NOTDEFINED IfcVoidingFeatureTypeEnum = enum_namespace() -chamfer = express_getattr(IfcVoidingFeatureTypeEnum, 'CHAMFER', INDETERMINATE) -cutout = express_getattr(IfcVoidingFeatureTypeEnum, 'CUTOUT', INDETERMINATE) -edge = express_getattr(IfcVoidingFeatureTypeEnum, 'EDGE', INDETERMINATE) -hole = express_getattr(IfcVoidingFeatureTypeEnum, 'HOLE', INDETERMINATE) -miter = express_getattr(IfcVoidingFeatureTypeEnum, 'MITER', INDETERMINATE) -notch = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTCH', INDETERMINATE) -userdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +chamfer = IfcVoidingFeatureTypeEnum.CHAMFER +cutout = IfcVoidingFeatureTypeEnum.CUTOUT +edge = IfcVoidingFeatureTypeEnum.EDGE +hole = IfcVoidingFeatureTypeEnum.HOLE +miter = IfcVoidingFeatureTypeEnum.MITER +notch = IfcVoidingFeatureTypeEnum.NOTCH +userdefined = IfcVoidingFeatureTypeEnum.USERDEFINED +notdefined = IfcVoidingFeatureTypeEnum.NOTDEFINED IfcWallTypeEnum = enum_namespace() -elementedwall = express_getattr(IfcWallTypeEnum, 'ELEMENTEDWALL', INDETERMINATE) -movable = express_getattr(IfcWallTypeEnum, 'MOVABLE', INDETERMINATE) -parapet = express_getattr(IfcWallTypeEnum, 'PARAPET', INDETERMINATE) -partitioning = express_getattr(IfcWallTypeEnum, 'PARTITIONING', INDETERMINATE) -plumbingwall = express_getattr(IfcWallTypeEnum, 'PLUMBINGWALL', INDETERMINATE) -polygonal = express_getattr(IfcWallTypeEnum, 'POLYGONAL', INDETERMINATE) -retainingwall = express_getattr(IfcWallTypeEnum, 'RETAININGWALL', INDETERMINATE) -shear = express_getattr(IfcWallTypeEnum, 'SHEAR', INDETERMINATE) -solidwall = express_getattr(IfcWallTypeEnum, 'SOLIDWALL', INDETERMINATE) -standard = express_getattr(IfcWallTypeEnum, 'STANDARD', INDETERMINATE) -wavewall = express_getattr(IfcWallTypeEnum, 'WAVEWALL', INDETERMINATE) -userdefined = express_getattr(IfcWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +elementedwall = IfcWallTypeEnum.ELEMENTEDWALL +movable = IfcWallTypeEnum.MOVABLE +parapet = IfcWallTypeEnum.PARAPET +partitioning = IfcWallTypeEnum.PARTITIONING +plumbingwall = IfcWallTypeEnum.PLUMBINGWALL +polygonal = IfcWallTypeEnum.POLYGONAL +retainingwall = IfcWallTypeEnum.RETAININGWALL +shear = IfcWallTypeEnum.SHEAR +solidwall = IfcWallTypeEnum.SOLIDWALL +standard = IfcWallTypeEnum.STANDARD +wavewall = IfcWallTypeEnum.WAVEWALL +userdefined = IfcWallTypeEnum.USERDEFINED +notdefined = IfcWallTypeEnum.NOTDEFINED IfcWasteTerminalTypeEnum = enum_namespace() -floortrap = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORTRAP', INDETERMINATE) -floorwaste = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORWASTE', INDETERMINATE) -gullysump = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYSUMP', INDETERMINATE) -gullytrap = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYTRAP', INDETERMINATE) -roofdrain = express_getattr(IfcWasteTerminalTypeEnum, 'ROOFDRAIN', INDETERMINATE) -wastedisposalunit = express_getattr(IfcWasteTerminalTypeEnum, 'WASTEDISPOSALUNIT', INDETERMINATE) -wastetrap = express_getattr(IfcWasteTerminalTypeEnum, 'WASTETRAP', INDETERMINATE) -userdefined = express_getattr(IfcWasteTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWasteTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +floortrap = IfcWasteTerminalTypeEnum.FLOORTRAP +floorwaste = IfcWasteTerminalTypeEnum.FLOORWASTE +gullysump = IfcWasteTerminalTypeEnum.GULLYSUMP +gullytrap = IfcWasteTerminalTypeEnum.GULLYTRAP +roofdrain = IfcWasteTerminalTypeEnum.ROOFDRAIN +wastedisposalunit = IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT +wastetrap = IfcWasteTerminalTypeEnum.WASTETRAP +userdefined = IfcWasteTerminalTypeEnum.USERDEFINED +notdefined = IfcWasteTerminalTypeEnum.NOTDEFINED IfcWindowPanelOperationEnum = enum_namespace() -bottomhung = express_getattr(IfcWindowPanelOperationEnum, 'BOTTOMHUNG', INDETERMINATE) -fixedcasement = express_getattr(IfcWindowPanelOperationEnum, 'FIXEDCASEMENT', INDETERMINATE) -otheroperation = express_getattr(IfcWindowPanelOperationEnum, 'OTHEROPERATION', INDETERMINATE) -pivothorizontal = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTHORIZONTAL', INDETERMINATE) -pivotvertical = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTVERTICAL', INDETERMINATE) -removablecasement = express_getattr(IfcWindowPanelOperationEnum, 'REMOVABLECASEMENT', INDETERMINATE) -sidehunglefthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGLEFTHAND', INDETERMINATE) -sidehungrighthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGRIGHTHAND', INDETERMINATE) -slidinghorizontal = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGHORIZONTAL', INDETERMINATE) -slidingvertical = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGVERTICAL', INDETERMINATE) -tiltandturnlefthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNLEFTHAND', INDETERMINATE) -tiltandturnrighthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNRIGHTHAND', INDETERMINATE) -tophung = express_getattr(IfcWindowPanelOperationEnum, 'TOPHUNG', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +bottomhung = IfcWindowPanelOperationEnum.BOTTOMHUNG +fixedcasement = IfcWindowPanelOperationEnum.FIXEDCASEMENT +otheroperation = IfcWindowPanelOperationEnum.OTHEROPERATION +pivothorizontal = IfcWindowPanelOperationEnum.PIVOTHORIZONTAL +pivotvertical = IfcWindowPanelOperationEnum.PIVOTVERTICAL +removablecasement = IfcWindowPanelOperationEnum.REMOVABLECASEMENT +sidehunglefthand = IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND +sidehungrighthand = IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND +slidinghorizontal = IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL +slidingvertical = IfcWindowPanelOperationEnum.SLIDINGVERTICAL +tiltandturnlefthand = IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND +tiltandturnrighthand = IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND +tophung = IfcWindowPanelOperationEnum.TOPHUNG +notdefined = IfcWindowPanelOperationEnum.NOTDEFINED IfcWindowPanelPositionEnum = enum_namespace() -bottom = express_getattr(IfcWindowPanelPositionEnum, 'BOTTOM', INDETERMINATE) -left = express_getattr(IfcWindowPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcWindowPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcWindowPanelPositionEnum, 'RIGHT', INDETERMINATE) -top = express_getattr(IfcWindowPanelPositionEnum, 'TOP', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +bottom = IfcWindowPanelPositionEnum.BOTTOM +left = IfcWindowPanelPositionEnum.LEFT +middle = IfcWindowPanelPositionEnum.MIDDLE +right = IfcWindowPanelPositionEnum.RIGHT +top = IfcWindowPanelPositionEnum.TOP +notdefined = IfcWindowPanelPositionEnum.NOTDEFINED IfcWindowTypeEnum = enum_namespace() -lightdome = express_getattr(IfcWindowTypeEnum, 'LIGHTDOME', INDETERMINATE) -skylight = express_getattr(IfcWindowTypeEnum, 'SKYLIGHT', INDETERMINATE) -window = express_getattr(IfcWindowTypeEnum, 'WINDOW', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypeEnum, 'NOTDEFINED', INDETERMINATE) +lightdome = IfcWindowTypeEnum.LIGHTDOME +skylight = IfcWindowTypeEnum.SKYLIGHT +window = IfcWindowTypeEnum.WINDOW +userdefined = IfcWindowTypeEnum.USERDEFINED +notdefined = IfcWindowTypeEnum.NOTDEFINED IfcWindowTypePartitioningEnum = enum_namespace() -double_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -single_panel = express_getattr(IfcWindowTypePartitioningEnum, 'SINGLE_PANEL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypePartitioningEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypePartitioningEnum, 'NOTDEFINED', INDETERMINATE) +double_panel_horizontal = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_HORIZONTAL +double_panel_vertical = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_VERTICAL +single_panel = IfcWindowTypePartitioningEnum.SINGLE_PANEL +triple_panel_bottom = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_BOTTOM +triple_panel_horizontal = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_HORIZONTAL +triple_panel_left = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_RIGHT +triple_panel_top = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_TOP +triple_panel_vertical = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_VERTICAL +userdefined = IfcWindowTypePartitioningEnum.USERDEFINED +notdefined = IfcWindowTypePartitioningEnum.NOTDEFINED IfcWorkCalendarTypeEnum = enum_namespace() -firstshift = express_getattr(IfcWorkCalendarTypeEnum, 'FIRSTSHIFT', INDETERMINATE) -secondshift = express_getattr(IfcWorkCalendarTypeEnum, 'SECONDSHIFT', INDETERMINATE) -thirdshift = express_getattr(IfcWorkCalendarTypeEnum, 'THIRDSHIFT', INDETERMINATE) -userdefined = express_getattr(IfcWorkCalendarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkCalendarTypeEnum, 'NOTDEFINED', INDETERMINATE) +firstshift = IfcWorkCalendarTypeEnum.FIRSTSHIFT +secondshift = IfcWorkCalendarTypeEnum.SECONDSHIFT +thirdshift = IfcWorkCalendarTypeEnum.THIRDSHIFT +userdefined = IfcWorkCalendarTypeEnum.USERDEFINED +notdefined = IfcWorkCalendarTypeEnum.NOTDEFINED IfcWorkPlanTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkPlanTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkPlanTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkPlanTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkPlanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkPlanTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkPlanTypeEnum.ACTUAL +baseline = IfcWorkPlanTypeEnum.BASELINE +planned = IfcWorkPlanTypeEnum.PLANNED +userdefined = IfcWorkPlanTypeEnum.USERDEFINED +notdefined = IfcWorkPlanTypeEnum.NOTDEFINED IfcWorkScheduleTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkScheduleTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkScheduleTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkScheduleTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkScheduleTypeEnum.ACTUAL +baseline = IfcWorkScheduleTypeEnum.BASELINE +planned = IfcWorkScheduleTypeEnum.PLANNED +userdefined = IfcWorkScheduleTypeEnum.USERDEFINED +notdefined = IfcWorkScheduleTypeEnum.NOTDEFINED def IfcActionRequest(*args, **kwargs): return ifcopenshell.create_entity('IfcActionRequest', 'IFC4X3_ADD1', *args, **kwargs) diff --git a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_ADD2.py b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_ADD2.py index 5e6f27dd99..5eebf0d4d4 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_ADD2.py +++ b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_ADD2.py @@ -1,5 +1,8 @@ import ifcopenshell +def is_indeterminate(v): + return v is None or type(v).__name__ == 'indeterminate_type' + def exists(v): if callable(v): try: @@ -7,10 +10,10 @@ def exists(v): except IndexError as e: return False else: - return v is not None + return not is_indeterminate(v) def nvl(v, default): - return v if v is not None else default + return v if not is_indeterminate(v) else default def is_entity(inst): if isinstance(inst, ifcopenshell.entity_instance): @@ -22,13 +25,13 @@ def is_entity(inst): def express_len(v): if isinstance(v, ifcopenshell.entity_instance) and (not is_entity(v)): v = v[0] - elif v is None or v is INDETERMINATE: + elif is_indeterminate(v): return INDETERMINATE return len(v) old_range = range def range(*args): - if INDETERMINATE in args: + if any(map(is_indeterminate, args)): return yield from old_range(*args) sizeof = express_len @@ -149,2365 +152,2365 @@ class enum_namespace: def __getattr__(self, k): return express_getattr(k, 'upper', INDETERMINATE)() IfcActionRequestTypeEnum = enum_namespace() -email = express_getattr(IfcActionRequestTypeEnum, 'EMAIL', INDETERMINATE) -fax = express_getattr(IfcActionRequestTypeEnum, 'FAX', INDETERMINATE) -phone = express_getattr(IfcActionRequestTypeEnum, 'PHONE', INDETERMINATE) -post = express_getattr(IfcActionRequestTypeEnum, 'POST', INDETERMINATE) -verbal = express_getattr(IfcActionRequestTypeEnum, 'VERBAL', INDETERMINATE) -userdefined = express_getattr(IfcActionRequestTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionRequestTypeEnum, 'NOTDEFINED', INDETERMINATE) +email = IfcActionRequestTypeEnum.EMAIL +fax = IfcActionRequestTypeEnum.FAX +phone = IfcActionRequestTypeEnum.PHONE +post = IfcActionRequestTypeEnum.POST +verbal = IfcActionRequestTypeEnum.VERBAL +userdefined = IfcActionRequestTypeEnum.USERDEFINED +notdefined = IfcActionRequestTypeEnum.NOTDEFINED IfcActionSourceTypeEnum = enum_namespace() -brakes = express_getattr(IfcActionSourceTypeEnum, 'BRAKES', INDETERMINATE) -buoyancy = express_getattr(IfcActionSourceTypeEnum, 'BUOYANCY', INDETERMINATE) -completion_g1 = express_getattr(IfcActionSourceTypeEnum, 'COMPLETION_G1', INDETERMINATE) -creep = express_getattr(IfcActionSourceTypeEnum, 'CREEP', INDETERMINATE) -current = express_getattr(IfcActionSourceTypeEnum, 'CURRENT', INDETERMINATE) -dead_load_g = express_getattr(IfcActionSourceTypeEnum, 'DEAD_LOAD_G', INDETERMINATE) -earthquake_e = express_getattr(IfcActionSourceTypeEnum, 'EARTHQUAKE_E', INDETERMINATE) -erection = express_getattr(IfcActionSourceTypeEnum, 'ERECTION', INDETERMINATE) -fire = express_getattr(IfcActionSourceTypeEnum, 'FIRE', INDETERMINATE) -ice = express_getattr(IfcActionSourceTypeEnum, 'ICE', INDETERMINATE) -impact = express_getattr(IfcActionSourceTypeEnum, 'IMPACT', INDETERMINATE) -impulse = express_getattr(IfcActionSourceTypeEnum, 'IMPULSE', INDETERMINATE) -lack_of_fit = express_getattr(IfcActionSourceTypeEnum, 'LACK_OF_FIT', INDETERMINATE) -live_load_q = express_getattr(IfcActionSourceTypeEnum, 'LIVE_LOAD_Q', INDETERMINATE) -prestressing_p = express_getattr(IfcActionSourceTypeEnum, 'PRESTRESSING_P', INDETERMINATE) -propping = express_getattr(IfcActionSourceTypeEnum, 'PROPPING', INDETERMINATE) -rain = express_getattr(IfcActionSourceTypeEnum, 'RAIN', INDETERMINATE) -settlement_u = express_getattr(IfcActionSourceTypeEnum, 'SETTLEMENT_U', INDETERMINATE) -shrinkage = express_getattr(IfcActionSourceTypeEnum, 'SHRINKAGE', INDETERMINATE) -snow_s = express_getattr(IfcActionSourceTypeEnum, 'SNOW_S', INDETERMINATE) -system_imperfection = express_getattr(IfcActionSourceTypeEnum, 'SYSTEM_IMPERFECTION', INDETERMINATE) -temperature_t = express_getattr(IfcActionSourceTypeEnum, 'TEMPERATURE_T', INDETERMINATE) -transport = express_getattr(IfcActionSourceTypeEnum, 'TRANSPORT', INDETERMINATE) -wave = express_getattr(IfcActionSourceTypeEnum, 'WAVE', INDETERMINATE) -wind_w = express_getattr(IfcActionSourceTypeEnum, 'WIND_W', INDETERMINATE) -userdefined = express_getattr(IfcActionSourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionSourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +brakes = IfcActionSourceTypeEnum.BRAKES +buoyancy = IfcActionSourceTypeEnum.BUOYANCY +completion_g1 = IfcActionSourceTypeEnum.COMPLETION_G1 +creep = IfcActionSourceTypeEnum.CREEP +current = IfcActionSourceTypeEnum.CURRENT +dead_load_g = IfcActionSourceTypeEnum.DEAD_LOAD_G +earthquake_e = IfcActionSourceTypeEnum.EARTHQUAKE_E +erection = IfcActionSourceTypeEnum.ERECTION +fire = IfcActionSourceTypeEnum.FIRE +ice = IfcActionSourceTypeEnum.ICE +impact = IfcActionSourceTypeEnum.IMPACT +impulse = IfcActionSourceTypeEnum.IMPULSE +lack_of_fit = IfcActionSourceTypeEnum.LACK_OF_FIT +live_load_q = IfcActionSourceTypeEnum.LIVE_LOAD_Q +prestressing_p = IfcActionSourceTypeEnum.PRESTRESSING_P +propping = IfcActionSourceTypeEnum.PROPPING +rain = IfcActionSourceTypeEnum.RAIN +settlement_u = IfcActionSourceTypeEnum.SETTLEMENT_U +shrinkage = IfcActionSourceTypeEnum.SHRINKAGE +snow_s = IfcActionSourceTypeEnum.SNOW_S +system_imperfection = IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION +temperature_t = IfcActionSourceTypeEnum.TEMPERATURE_T +transport = IfcActionSourceTypeEnum.TRANSPORT +wave = IfcActionSourceTypeEnum.WAVE +wind_w = IfcActionSourceTypeEnum.WIND_W +userdefined = IfcActionSourceTypeEnum.USERDEFINED +notdefined = IfcActionSourceTypeEnum.NOTDEFINED IfcActionTypeEnum = enum_namespace() -extraordinary_a = express_getattr(IfcActionTypeEnum, 'EXTRAORDINARY_A', INDETERMINATE) -permanent_g = express_getattr(IfcActionTypeEnum, 'PERMANENT_G', INDETERMINATE) -variable_q = express_getattr(IfcActionTypeEnum, 'VARIABLE_Q', INDETERMINATE) -userdefined = express_getattr(IfcActionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionTypeEnum, 'NOTDEFINED', INDETERMINATE) +extraordinary_a = IfcActionTypeEnum.EXTRAORDINARY_A +permanent_g = IfcActionTypeEnum.PERMANENT_G +variable_q = IfcActionTypeEnum.VARIABLE_Q +userdefined = IfcActionTypeEnum.USERDEFINED +notdefined = IfcActionTypeEnum.NOTDEFINED IfcActuatorTypeEnum = enum_namespace() -electricactuator = express_getattr(IfcActuatorTypeEnum, 'ELECTRICACTUATOR', INDETERMINATE) -handoperatedactuator = express_getattr(IfcActuatorTypeEnum, 'HANDOPERATEDACTUATOR', INDETERMINATE) -hydraulicactuator = express_getattr(IfcActuatorTypeEnum, 'HYDRAULICACTUATOR', INDETERMINATE) -pneumaticactuator = express_getattr(IfcActuatorTypeEnum, 'PNEUMATICACTUATOR', INDETERMINATE) -thermostaticactuator = express_getattr(IfcActuatorTypeEnum, 'THERMOSTATICACTUATOR', INDETERMINATE) -userdefined = express_getattr(IfcActuatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActuatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +electricactuator = IfcActuatorTypeEnum.ELECTRICACTUATOR +handoperatedactuator = IfcActuatorTypeEnum.HANDOPERATEDACTUATOR +hydraulicactuator = IfcActuatorTypeEnum.HYDRAULICACTUATOR +pneumaticactuator = IfcActuatorTypeEnum.PNEUMATICACTUATOR +thermostaticactuator = IfcActuatorTypeEnum.THERMOSTATICACTUATOR +userdefined = IfcActuatorTypeEnum.USERDEFINED +notdefined = IfcActuatorTypeEnum.NOTDEFINED IfcAddressTypeEnum = enum_namespace() -distributionpoint = express_getattr(IfcAddressTypeEnum, 'DISTRIBUTIONPOINT', INDETERMINATE) -home = express_getattr(IfcAddressTypeEnum, 'HOME', INDETERMINATE) -office = express_getattr(IfcAddressTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcAddressTypeEnum, 'SITE', INDETERMINATE) -userdefined = express_getattr(IfcAddressTypeEnum, 'USERDEFINED', INDETERMINATE) +distributionpoint = IfcAddressTypeEnum.DISTRIBUTIONPOINT +home = IfcAddressTypeEnum.HOME +office = IfcAddressTypeEnum.OFFICE +site = IfcAddressTypeEnum.SITE +userdefined = IfcAddressTypeEnum.USERDEFINED IfcAirTerminalBoxTypeEnum = enum_namespace() -constantflow = express_getattr(IfcAirTerminalBoxTypeEnum, 'CONSTANTFLOW', INDETERMINATE) -variableflowpressuredependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREDEPENDANT', INDETERMINATE) -variableflowpressureindependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREINDEPENDANT', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +constantflow = IfcAirTerminalBoxTypeEnum.CONSTANTFLOW +variableflowpressuredependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT +variableflowpressureindependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT +userdefined = IfcAirTerminalBoxTypeEnum.USERDEFINED +notdefined = IfcAirTerminalBoxTypeEnum.NOTDEFINED IfcAirTerminalTypeEnum = enum_namespace() -diffuser = express_getattr(IfcAirTerminalTypeEnum, 'DIFFUSER', INDETERMINATE) -grille = express_getattr(IfcAirTerminalTypeEnum, 'GRILLE', INDETERMINATE) -louvre = express_getattr(IfcAirTerminalTypeEnum, 'LOUVRE', INDETERMINATE) -register = express_getattr(IfcAirTerminalTypeEnum, 'REGISTER', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +diffuser = IfcAirTerminalTypeEnum.DIFFUSER +grille = IfcAirTerminalTypeEnum.GRILLE +louvre = IfcAirTerminalTypeEnum.LOUVRE +register = IfcAirTerminalTypeEnum.REGISTER +userdefined = IfcAirTerminalTypeEnum.USERDEFINED +notdefined = IfcAirTerminalTypeEnum.NOTDEFINED IfcAirToAirHeatRecoveryTypeEnum = enum_namespace() -fixedplatecounterflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECOUNTERFLOWEXCHANGER', INDETERMINATE) -fixedplatecrossflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECROSSFLOWEXCHANGER', INDETERMINATE) -fixedplateparallelflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATEPARALLELFLOWEXCHANGER', INDETERMINATE) -heatpipe = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'HEATPIPE', INDETERMINATE) -rotarywheel = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'ROTARYWHEEL', INDETERMINATE) -runaroundcoilloop = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'RUNAROUNDCOILLOOP', INDETERMINATE) -thermosiphoncoiltypeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONCOILTYPEHEATEXCHANGERS', INDETERMINATE) -thermosiphonsealedtubeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONSEALEDTUBEHEATEXCHANGERS', INDETERMINATE) -twintowerenthalpyrecoveryloops = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'TWINTOWERENTHALPYRECOVERYLOOPS', INDETERMINATE) -userdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'NOTDEFINED', INDETERMINATE) +fixedplatecounterflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER +fixedplatecrossflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER +fixedplateparallelflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER +heatpipe = IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE +rotarywheel = IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL +runaroundcoilloop = IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP +thermosiphoncoiltypeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS +thermosiphonsealedtubeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS +twintowerenthalpyrecoveryloops = IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS +userdefined = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED +notdefined = IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED IfcAlarmTypeEnum = enum_namespace() -bell = express_getattr(IfcAlarmTypeEnum, 'BELL', INDETERMINATE) -breakglassbutton = express_getattr(IfcAlarmTypeEnum, 'BREAKGLASSBUTTON', INDETERMINATE) -light = express_getattr(IfcAlarmTypeEnum, 'LIGHT', INDETERMINATE) -manualpullbox = express_getattr(IfcAlarmTypeEnum, 'MANUALPULLBOX', INDETERMINATE) -railwaycrocodile = express_getattr(IfcAlarmTypeEnum, 'RAILWAYCROCODILE', INDETERMINATE) -railwaydetonator = express_getattr(IfcAlarmTypeEnum, 'RAILWAYDETONATOR', INDETERMINATE) -siren = express_getattr(IfcAlarmTypeEnum, 'SIREN', INDETERMINATE) -whistle = express_getattr(IfcAlarmTypeEnum, 'WHISTLE', INDETERMINATE) -userdefined = express_getattr(IfcAlarmTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlarmTypeEnum, 'NOTDEFINED', INDETERMINATE) +bell = IfcAlarmTypeEnum.BELL +breakglassbutton = IfcAlarmTypeEnum.BREAKGLASSBUTTON +light = IfcAlarmTypeEnum.LIGHT +manualpullbox = IfcAlarmTypeEnum.MANUALPULLBOX +railwaycrocodile = IfcAlarmTypeEnum.RAILWAYCROCODILE +railwaydetonator = IfcAlarmTypeEnum.RAILWAYDETONATOR +siren = IfcAlarmTypeEnum.SIREN +whistle = IfcAlarmTypeEnum.WHISTLE +userdefined = IfcAlarmTypeEnum.USERDEFINED +notdefined = IfcAlarmTypeEnum.NOTDEFINED IfcAlignmentCantSegmentTypeEnum = enum_namespace() -blosscurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'BLOSSCURVE', INDETERMINATE) -constantcant = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'CONSTANTCANT', INDETERMINATE) -cosinecurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'COSINECURVE', INDETERMINATE) -helmertcurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'HELMERTCURVE', INDETERMINATE) -lineartransition = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'LINEARTRANSITION', INDETERMINATE) -sinecurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'SINECURVE', INDETERMINATE) -viennesebend = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'VIENNESEBEND', INDETERMINATE) +blosscurve = IfcAlignmentCantSegmentTypeEnum.BLOSSCURVE +constantcant = IfcAlignmentCantSegmentTypeEnum.CONSTANTCANT +cosinecurve = IfcAlignmentCantSegmentTypeEnum.COSINECURVE +helmertcurve = IfcAlignmentCantSegmentTypeEnum.HELMERTCURVE +lineartransition = IfcAlignmentCantSegmentTypeEnum.LINEARTRANSITION +sinecurve = IfcAlignmentCantSegmentTypeEnum.SINECURVE +viennesebend = IfcAlignmentCantSegmentTypeEnum.VIENNESEBEND IfcAlignmentHorizontalSegmentTypeEnum = enum_namespace() -blosscurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'BLOSSCURVE', INDETERMINATE) -circulararc = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CIRCULARARC', INDETERMINATE) -clothoid = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CLOTHOID', INDETERMINATE) -cosinecurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'COSINECURVE', INDETERMINATE) -cubic = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CUBIC', INDETERMINATE) -helmertcurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'HELMERTCURVE', INDETERMINATE) -line = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'LINE', INDETERMINATE) -sinecurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'SINECURVE', INDETERMINATE) -viennesebend = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'VIENNESEBEND', INDETERMINATE) +blosscurve = IfcAlignmentHorizontalSegmentTypeEnum.BLOSSCURVE +circulararc = IfcAlignmentHorizontalSegmentTypeEnum.CIRCULARARC +clothoid = IfcAlignmentHorizontalSegmentTypeEnum.CLOTHOID +cosinecurve = IfcAlignmentHorizontalSegmentTypeEnum.COSINECURVE +cubic = IfcAlignmentHorizontalSegmentTypeEnum.CUBIC +helmertcurve = IfcAlignmentHorizontalSegmentTypeEnum.HELMERTCURVE +line = IfcAlignmentHorizontalSegmentTypeEnum.LINE +sinecurve = IfcAlignmentHorizontalSegmentTypeEnum.SINECURVE +viennesebend = IfcAlignmentHorizontalSegmentTypeEnum.VIENNESEBEND IfcAlignmentTypeEnum = enum_namespace() -userdefined = express_getattr(IfcAlignmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlignmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcAlignmentTypeEnum.USERDEFINED +notdefined = IfcAlignmentTypeEnum.NOTDEFINED IfcAlignmentVerticalSegmentTypeEnum = enum_namespace() -circulararc = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CIRCULARARC', INDETERMINATE) -clothoid = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CLOTHOID', INDETERMINATE) -constantgradient = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CONSTANTGRADIENT', INDETERMINATE) -parabolicarc = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'PARABOLICARC', INDETERMINATE) +circulararc = IfcAlignmentVerticalSegmentTypeEnum.CIRCULARARC +clothoid = IfcAlignmentVerticalSegmentTypeEnum.CLOTHOID +constantgradient = IfcAlignmentVerticalSegmentTypeEnum.CONSTANTGRADIENT +parabolicarc = IfcAlignmentVerticalSegmentTypeEnum.PARABOLICARC IfcAnalysisModelTypeEnum = enum_namespace() -in_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'IN_PLANE_LOADING_2D', INDETERMINATE) -loading_3d = express_getattr(IfcAnalysisModelTypeEnum, 'LOADING_3D', INDETERMINATE) -out_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'OUT_PLANE_LOADING_2D', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisModelTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisModelTypeEnum, 'NOTDEFINED', INDETERMINATE) +in_plane_loading_2d = IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D +loading_3d = IfcAnalysisModelTypeEnum.LOADING_3D +out_plane_loading_2d = IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D +userdefined = IfcAnalysisModelTypeEnum.USERDEFINED +notdefined = IfcAnalysisModelTypeEnum.NOTDEFINED IfcAnalysisTheoryTypeEnum = enum_namespace() -first_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FIRST_ORDER_THEORY', INDETERMINATE) -full_nonlinear_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FULL_NONLINEAR_THEORY', INDETERMINATE) -second_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'SECOND_ORDER_THEORY', INDETERMINATE) -third_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'THIRD_ORDER_THEORY', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +first_order_theory = IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY +full_nonlinear_theory = IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY +second_order_theory = IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY +third_order_theory = IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY +userdefined = IfcAnalysisTheoryTypeEnum.USERDEFINED +notdefined = IfcAnalysisTheoryTypeEnum.NOTDEFINED IfcAnnotationTypeEnum = enum_namespace() -contourline = express_getattr(IfcAnnotationTypeEnum, 'CONTOURLINE', INDETERMINATE) -dimension = express_getattr(IfcAnnotationTypeEnum, 'DIMENSION', INDETERMINATE) -isobar = express_getattr(IfcAnnotationTypeEnum, 'ISOBAR', INDETERMINATE) -isolux = express_getattr(IfcAnnotationTypeEnum, 'ISOLUX', INDETERMINATE) -isotherm = express_getattr(IfcAnnotationTypeEnum, 'ISOTHERM', INDETERMINATE) -leader = express_getattr(IfcAnnotationTypeEnum, 'LEADER', INDETERMINATE) -survey = express_getattr(IfcAnnotationTypeEnum, 'SURVEY', INDETERMINATE) -symbol = express_getattr(IfcAnnotationTypeEnum, 'SYMBOL', INDETERMINATE) -text = express_getattr(IfcAnnotationTypeEnum, 'TEXT', INDETERMINATE) -userdefined = express_getattr(IfcAnnotationTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnnotationTypeEnum, 'NOTDEFINED', INDETERMINATE) +contourline = IfcAnnotationTypeEnum.CONTOURLINE +dimension = IfcAnnotationTypeEnum.DIMENSION +isobar = IfcAnnotationTypeEnum.ISOBAR +isolux = IfcAnnotationTypeEnum.ISOLUX +isotherm = IfcAnnotationTypeEnum.ISOTHERM +leader = IfcAnnotationTypeEnum.LEADER +survey = IfcAnnotationTypeEnum.SURVEY +symbol = IfcAnnotationTypeEnum.SYMBOL +text = IfcAnnotationTypeEnum.TEXT +userdefined = IfcAnnotationTypeEnum.USERDEFINED +notdefined = IfcAnnotationTypeEnum.NOTDEFINED IfcArithmeticOperatorEnum = enum_namespace() -add = express_getattr(IfcArithmeticOperatorEnum, 'ADD', INDETERMINATE) -divide = express_getattr(IfcArithmeticOperatorEnum, 'DIVIDE', INDETERMINATE) -modulo = express_getattr(IfcArithmeticOperatorEnum, 'MODULO', INDETERMINATE) -multiply = express_getattr(IfcArithmeticOperatorEnum, 'MULTIPLY', INDETERMINATE) -subtract = express_getattr(IfcArithmeticOperatorEnum, 'SUBTRACT', INDETERMINATE) +add = IfcArithmeticOperatorEnum.ADD +divide = IfcArithmeticOperatorEnum.DIVIDE +modulo = IfcArithmeticOperatorEnum.MODULO +multiply = IfcArithmeticOperatorEnum.MULTIPLY +subtract = IfcArithmeticOperatorEnum.SUBTRACT IfcAssemblyPlaceEnum = enum_namespace() -factory = express_getattr(IfcAssemblyPlaceEnum, 'FACTORY', INDETERMINATE) -site = express_getattr(IfcAssemblyPlaceEnum, 'SITE', INDETERMINATE) -notdefined = express_getattr(IfcAssemblyPlaceEnum, 'NOTDEFINED', INDETERMINATE) +factory = IfcAssemblyPlaceEnum.FACTORY +site = IfcAssemblyPlaceEnum.SITE +notdefined = IfcAssemblyPlaceEnum.NOTDEFINED IfcAudioVisualApplianceTypeEnum = enum_namespace() -amplifier = express_getattr(IfcAudioVisualApplianceTypeEnum, 'AMPLIFIER', INDETERMINATE) -camera = express_getattr(IfcAudioVisualApplianceTypeEnum, 'CAMERA', INDETERMINATE) -communicationterminal = express_getattr(IfcAudioVisualApplianceTypeEnum, 'COMMUNICATIONTERMINAL', INDETERMINATE) -display = express_getattr(IfcAudioVisualApplianceTypeEnum, 'DISPLAY', INDETERMINATE) -microphone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'MICROPHONE', INDETERMINATE) -player = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PLAYER', INDETERMINATE) -projector = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PROJECTOR', INDETERMINATE) -receiver = express_getattr(IfcAudioVisualApplianceTypeEnum, 'RECEIVER', INDETERMINATE) -recordingequipment = express_getattr(IfcAudioVisualApplianceTypeEnum, 'RECORDINGEQUIPMENT', INDETERMINATE) -speaker = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SPEAKER', INDETERMINATE) -switcher = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SWITCHER', INDETERMINATE) -telephone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TELEPHONE', INDETERMINATE) -tuner = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TUNER', INDETERMINATE) -userdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +amplifier = IfcAudioVisualApplianceTypeEnum.AMPLIFIER +camera = IfcAudioVisualApplianceTypeEnum.CAMERA +communicationterminal = IfcAudioVisualApplianceTypeEnum.COMMUNICATIONTERMINAL +display = IfcAudioVisualApplianceTypeEnum.DISPLAY +microphone = IfcAudioVisualApplianceTypeEnum.MICROPHONE +player = IfcAudioVisualApplianceTypeEnum.PLAYER +projector = IfcAudioVisualApplianceTypeEnum.PROJECTOR +receiver = IfcAudioVisualApplianceTypeEnum.RECEIVER +recordingequipment = IfcAudioVisualApplianceTypeEnum.RECORDINGEQUIPMENT +speaker = IfcAudioVisualApplianceTypeEnum.SPEAKER +switcher = IfcAudioVisualApplianceTypeEnum.SWITCHER +telephone = IfcAudioVisualApplianceTypeEnum.TELEPHONE +tuner = IfcAudioVisualApplianceTypeEnum.TUNER +userdefined = IfcAudioVisualApplianceTypeEnum.USERDEFINED +notdefined = IfcAudioVisualApplianceTypeEnum.NOTDEFINED IfcBSplineCurveForm = enum_namespace() -circular_arc = express_getattr(IfcBSplineCurveForm, 'CIRCULAR_ARC', INDETERMINATE) -elliptic_arc = express_getattr(IfcBSplineCurveForm, 'ELLIPTIC_ARC', INDETERMINATE) -hyperbolic_arc = express_getattr(IfcBSplineCurveForm, 'HYPERBOLIC_ARC', INDETERMINATE) -parabolic_arc = express_getattr(IfcBSplineCurveForm, 'PARABOLIC_ARC', INDETERMINATE) -polyline_form = express_getattr(IfcBSplineCurveForm, 'POLYLINE_FORM', INDETERMINATE) -unspecified = express_getattr(IfcBSplineCurveForm, 'UNSPECIFIED', INDETERMINATE) +circular_arc = IfcBSplineCurveForm.CIRCULAR_ARC +elliptic_arc = IfcBSplineCurveForm.ELLIPTIC_ARC +hyperbolic_arc = IfcBSplineCurveForm.HYPERBOLIC_ARC +parabolic_arc = IfcBSplineCurveForm.PARABOLIC_ARC +polyline_form = IfcBSplineCurveForm.POLYLINE_FORM +unspecified = IfcBSplineCurveForm.UNSPECIFIED IfcBSplineSurfaceForm = enum_namespace() -conical_surf = express_getattr(IfcBSplineSurfaceForm, 'CONICAL_SURF', INDETERMINATE) -cylindrical_surf = express_getattr(IfcBSplineSurfaceForm, 'CYLINDRICAL_SURF', INDETERMINATE) -generalised_cone = express_getattr(IfcBSplineSurfaceForm, 'GENERALISED_CONE', INDETERMINATE) -plane_surf = express_getattr(IfcBSplineSurfaceForm, 'PLANE_SURF', INDETERMINATE) -quadric_surf = express_getattr(IfcBSplineSurfaceForm, 'QUADRIC_SURF', INDETERMINATE) -ruled_surf = express_getattr(IfcBSplineSurfaceForm, 'RULED_SURF', INDETERMINATE) -spherical_surf = express_getattr(IfcBSplineSurfaceForm, 'SPHERICAL_SURF', INDETERMINATE) -surf_of_linear_extrusion = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_LINEAR_EXTRUSION', INDETERMINATE) -surf_of_revolution = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_REVOLUTION', INDETERMINATE) -toroidal_surf = express_getattr(IfcBSplineSurfaceForm, 'TOROIDAL_SURF', INDETERMINATE) -unspecified = express_getattr(IfcBSplineSurfaceForm, 'UNSPECIFIED', INDETERMINATE) +conical_surf = IfcBSplineSurfaceForm.CONICAL_SURF +cylindrical_surf = IfcBSplineSurfaceForm.CYLINDRICAL_SURF +generalised_cone = IfcBSplineSurfaceForm.GENERALISED_CONE +plane_surf = IfcBSplineSurfaceForm.PLANE_SURF +quadric_surf = IfcBSplineSurfaceForm.QUADRIC_SURF +ruled_surf = IfcBSplineSurfaceForm.RULED_SURF +spherical_surf = IfcBSplineSurfaceForm.SPHERICAL_SURF +surf_of_linear_extrusion = IfcBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION +surf_of_revolution = IfcBSplineSurfaceForm.SURF_OF_REVOLUTION +toroidal_surf = IfcBSplineSurfaceForm.TOROIDAL_SURF +unspecified = IfcBSplineSurfaceForm.UNSPECIFIED IfcBeamTypeEnum = enum_namespace() -beam = express_getattr(IfcBeamTypeEnum, 'BEAM', INDETERMINATE) -cornice = express_getattr(IfcBeamTypeEnum, 'CORNICE', INDETERMINATE) -diaphragm = express_getattr(IfcBeamTypeEnum, 'DIAPHRAGM', INDETERMINATE) -edgebeam = express_getattr(IfcBeamTypeEnum, 'EDGEBEAM', INDETERMINATE) -girder_segment = express_getattr(IfcBeamTypeEnum, 'GIRDER_SEGMENT', INDETERMINATE) -hatstone = express_getattr(IfcBeamTypeEnum, 'HATSTONE', INDETERMINATE) -hollowcore = express_getattr(IfcBeamTypeEnum, 'HOLLOWCORE', INDETERMINATE) -joist = express_getattr(IfcBeamTypeEnum, 'JOIST', INDETERMINATE) -lintel = express_getattr(IfcBeamTypeEnum, 'LINTEL', INDETERMINATE) -piercap = express_getattr(IfcBeamTypeEnum, 'PIERCAP', INDETERMINATE) -spandrel = express_getattr(IfcBeamTypeEnum, 'SPANDREL', INDETERMINATE) -t_beam = express_getattr(IfcBeamTypeEnum, 'T_BEAM', INDETERMINATE) -userdefined = express_getattr(IfcBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +beam = IfcBeamTypeEnum.BEAM +cornice = IfcBeamTypeEnum.CORNICE +diaphragm = IfcBeamTypeEnum.DIAPHRAGM +edgebeam = IfcBeamTypeEnum.EDGEBEAM +girder_segment = IfcBeamTypeEnum.GIRDER_SEGMENT +hatstone = IfcBeamTypeEnum.HATSTONE +hollowcore = IfcBeamTypeEnum.HOLLOWCORE +joist = IfcBeamTypeEnum.JOIST +lintel = IfcBeamTypeEnum.LINTEL +piercap = IfcBeamTypeEnum.PIERCAP +spandrel = IfcBeamTypeEnum.SPANDREL +t_beam = IfcBeamTypeEnum.T_BEAM +userdefined = IfcBeamTypeEnum.USERDEFINED +notdefined = IfcBeamTypeEnum.NOTDEFINED IfcBearingTypeEnum = enum_namespace() -cylindrical = express_getattr(IfcBearingTypeEnum, 'CYLINDRICAL', INDETERMINATE) -disk = express_getattr(IfcBearingTypeEnum, 'DISK', INDETERMINATE) -elastomeric = express_getattr(IfcBearingTypeEnum, 'ELASTOMERIC', INDETERMINATE) -guide = express_getattr(IfcBearingTypeEnum, 'GUIDE', INDETERMINATE) -pot = express_getattr(IfcBearingTypeEnum, 'POT', INDETERMINATE) -rocker = express_getattr(IfcBearingTypeEnum, 'ROCKER', INDETERMINATE) -roller = express_getattr(IfcBearingTypeEnum, 'ROLLER', INDETERMINATE) -spherical = express_getattr(IfcBearingTypeEnum, 'SPHERICAL', INDETERMINATE) -userdefined = express_getattr(IfcBearingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBearingTypeEnum, 'NOTDEFINED', INDETERMINATE) +cylindrical = IfcBearingTypeEnum.CYLINDRICAL +disk = IfcBearingTypeEnum.DISK +elastomeric = IfcBearingTypeEnum.ELASTOMERIC +guide = IfcBearingTypeEnum.GUIDE +pot = IfcBearingTypeEnum.POT +rocker = IfcBearingTypeEnum.ROCKER +roller = IfcBearingTypeEnum.ROLLER +spherical = IfcBearingTypeEnum.SPHERICAL +userdefined = IfcBearingTypeEnum.USERDEFINED +notdefined = IfcBearingTypeEnum.NOTDEFINED IfcBenchmarkEnum = enum_namespace() -equalto = express_getattr(IfcBenchmarkEnum, 'EQUALTO', INDETERMINATE) -greaterthan = express_getattr(IfcBenchmarkEnum, 'GREATERTHAN', INDETERMINATE) -greaterthanorequalto = express_getattr(IfcBenchmarkEnum, 'GREATERTHANOREQUALTO', INDETERMINATE) -includedin = express_getattr(IfcBenchmarkEnum, 'INCLUDEDIN', INDETERMINATE) -includes = express_getattr(IfcBenchmarkEnum, 'INCLUDES', INDETERMINATE) -lessthan = express_getattr(IfcBenchmarkEnum, 'LESSTHAN', INDETERMINATE) -lessthanorequalto = express_getattr(IfcBenchmarkEnum, 'LESSTHANOREQUALTO', INDETERMINATE) -notequalto = express_getattr(IfcBenchmarkEnum, 'NOTEQUALTO', INDETERMINATE) -notincludedin = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDEDIN', INDETERMINATE) -notincludes = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDES', INDETERMINATE) +equalto = IfcBenchmarkEnum.EQUALTO +greaterthan = IfcBenchmarkEnum.GREATERTHAN +greaterthanorequalto = IfcBenchmarkEnum.GREATERTHANOREQUALTO +includedin = IfcBenchmarkEnum.INCLUDEDIN +includes = IfcBenchmarkEnum.INCLUDES +lessthan = IfcBenchmarkEnum.LESSTHAN +lessthanorequalto = IfcBenchmarkEnum.LESSTHANOREQUALTO +notequalto = IfcBenchmarkEnum.NOTEQUALTO +notincludedin = IfcBenchmarkEnum.NOTINCLUDEDIN +notincludes = IfcBenchmarkEnum.NOTINCLUDES IfcBoilerTypeEnum = enum_namespace() -steam = express_getattr(IfcBoilerTypeEnum, 'STEAM', INDETERMINATE) -water = express_getattr(IfcBoilerTypeEnum, 'WATER', INDETERMINATE) -userdefined = express_getattr(IfcBoilerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBoilerTypeEnum, 'NOTDEFINED', INDETERMINATE) +steam = IfcBoilerTypeEnum.STEAM +water = IfcBoilerTypeEnum.WATER +userdefined = IfcBoilerTypeEnum.USERDEFINED +notdefined = IfcBoilerTypeEnum.NOTDEFINED IfcBooleanOperator = enum_namespace() -difference = express_getattr(IfcBooleanOperator, 'DIFFERENCE', INDETERMINATE) -intersection = express_getattr(IfcBooleanOperator, 'INTERSECTION', INDETERMINATE) -union = express_getattr(IfcBooleanOperator, 'UNION', INDETERMINATE) +difference = IfcBooleanOperator.DIFFERENCE +intersection = IfcBooleanOperator.INTERSECTION +union = IfcBooleanOperator.UNION IfcBridgePartTypeEnum = enum_namespace() -abutment = express_getattr(IfcBridgePartTypeEnum, 'ABUTMENT', INDETERMINATE) -deck = express_getattr(IfcBridgePartTypeEnum, 'DECK', INDETERMINATE) -deck_segment = express_getattr(IfcBridgePartTypeEnum, 'DECK_SEGMENT', INDETERMINATE) -foundation = express_getattr(IfcBridgePartTypeEnum, 'FOUNDATION', INDETERMINATE) -pier = express_getattr(IfcBridgePartTypeEnum, 'PIER', INDETERMINATE) -pier_segment = express_getattr(IfcBridgePartTypeEnum, 'PIER_SEGMENT', INDETERMINATE) -pylon = express_getattr(IfcBridgePartTypeEnum, 'PYLON', INDETERMINATE) -substructure = express_getattr(IfcBridgePartTypeEnum, 'SUBSTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcBridgePartTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -surfacestructure = express_getattr(IfcBridgePartTypeEnum, 'SURFACESTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcBridgePartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBridgePartTypeEnum, 'NOTDEFINED', INDETERMINATE) +abutment = IfcBridgePartTypeEnum.ABUTMENT +deck = IfcBridgePartTypeEnum.DECK +deck_segment = IfcBridgePartTypeEnum.DECK_SEGMENT +foundation = IfcBridgePartTypeEnum.FOUNDATION +pier = IfcBridgePartTypeEnum.PIER +pier_segment = IfcBridgePartTypeEnum.PIER_SEGMENT +pylon = IfcBridgePartTypeEnum.PYLON +substructure = IfcBridgePartTypeEnum.SUBSTRUCTURE +superstructure = IfcBridgePartTypeEnum.SUPERSTRUCTURE +surfacestructure = IfcBridgePartTypeEnum.SURFACESTRUCTURE +userdefined = IfcBridgePartTypeEnum.USERDEFINED +notdefined = IfcBridgePartTypeEnum.NOTDEFINED IfcBridgeTypeEnum = enum_namespace() -arched = express_getattr(IfcBridgeTypeEnum, 'ARCHED', INDETERMINATE) -cable_stayed = express_getattr(IfcBridgeTypeEnum, 'CABLE_STAYED', INDETERMINATE) -cantilever = express_getattr(IfcBridgeTypeEnum, 'CANTILEVER', INDETERMINATE) -culvert = express_getattr(IfcBridgeTypeEnum, 'CULVERT', INDETERMINATE) -framework = express_getattr(IfcBridgeTypeEnum, 'FRAMEWORK', INDETERMINATE) -girder = express_getattr(IfcBridgeTypeEnum, 'GIRDER', INDETERMINATE) -suspension = express_getattr(IfcBridgeTypeEnum, 'SUSPENSION', INDETERMINATE) -truss = express_getattr(IfcBridgeTypeEnum, 'TRUSS', INDETERMINATE) -userdefined = express_getattr(IfcBridgeTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBridgeTypeEnum, 'NOTDEFINED', INDETERMINATE) +arched = IfcBridgeTypeEnum.ARCHED +cable_stayed = IfcBridgeTypeEnum.CABLE_STAYED +cantilever = IfcBridgeTypeEnum.CANTILEVER +culvert = IfcBridgeTypeEnum.CULVERT +framework = IfcBridgeTypeEnum.FRAMEWORK +girder = IfcBridgeTypeEnum.GIRDER +suspension = IfcBridgeTypeEnum.SUSPENSION +truss = IfcBridgeTypeEnum.TRUSS +userdefined = IfcBridgeTypeEnum.USERDEFINED +notdefined = IfcBridgeTypeEnum.NOTDEFINED IfcBuildingElementPartTypeEnum = enum_namespace() -apron = express_getattr(IfcBuildingElementPartTypeEnum, 'APRON', INDETERMINATE) -armourunit = express_getattr(IfcBuildingElementPartTypeEnum, 'ARMOURUNIT', INDETERMINATE) -insulation = express_getattr(IfcBuildingElementPartTypeEnum, 'INSULATION', INDETERMINATE) -precastpanel = express_getattr(IfcBuildingElementPartTypeEnum, 'PRECASTPANEL', INDETERMINATE) -safetycage = express_getattr(IfcBuildingElementPartTypeEnum, 'SAFETYCAGE', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +apron = IfcBuildingElementPartTypeEnum.APRON +armourunit = IfcBuildingElementPartTypeEnum.ARMOURUNIT +insulation = IfcBuildingElementPartTypeEnum.INSULATION +precastpanel = IfcBuildingElementPartTypeEnum.PRECASTPANEL +safetycage = IfcBuildingElementPartTypeEnum.SAFETYCAGE +userdefined = IfcBuildingElementPartTypeEnum.USERDEFINED +notdefined = IfcBuildingElementPartTypeEnum.NOTDEFINED IfcBuildingElementProxyTypeEnum = enum_namespace() -complex = express_getattr(IfcBuildingElementProxyTypeEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcBuildingElementProxyTypeEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcBuildingElementProxyTypeEnum, 'PARTIAL', INDETERMINATE) -provisionforspace = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORSPACE', INDETERMINATE) -provisionforvoid = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORVOID', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'NOTDEFINED', INDETERMINATE) +complex = IfcBuildingElementProxyTypeEnum.COMPLEX +element = IfcBuildingElementProxyTypeEnum.ELEMENT +partial = IfcBuildingElementProxyTypeEnum.PARTIAL +provisionforspace = IfcBuildingElementProxyTypeEnum.PROVISIONFORSPACE +provisionforvoid = IfcBuildingElementProxyTypeEnum.PROVISIONFORVOID +userdefined = IfcBuildingElementProxyTypeEnum.USERDEFINED +notdefined = IfcBuildingElementProxyTypeEnum.NOTDEFINED IfcBuildingSystemTypeEnum = enum_namespace() -fenestration = express_getattr(IfcBuildingSystemTypeEnum, 'FENESTRATION', INDETERMINATE) -foundation = express_getattr(IfcBuildingSystemTypeEnum, 'FOUNDATION', INDETERMINATE) -loadbearing = express_getattr(IfcBuildingSystemTypeEnum, 'LOADBEARING', INDETERMINATE) -outershell = express_getattr(IfcBuildingSystemTypeEnum, 'OUTERSHELL', INDETERMINATE) -shading = express_getattr(IfcBuildingSystemTypeEnum, 'SHADING', INDETERMINATE) -transport = express_getattr(IfcBuildingSystemTypeEnum, 'TRANSPORT', INDETERMINATE) -userdefined = express_getattr(IfcBuildingSystemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingSystemTypeEnum, 'NOTDEFINED', INDETERMINATE) +fenestration = IfcBuildingSystemTypeEnum.FENESTRATION +foundation = IfcBuildingSystemTypeEnum.FOUNDATION +loadbearing = IfcBuildingSystemTypeEnum.LOADBEARING +outershell = IfcBuildingSystemTypeEnum.OUTERSHELL +shading = IfcBuildingSystemTypeEnum.SHADING +transport = IfcBuildingSystemTypeEnum.TRANSPORT +userdefined = IfcBuildingSystemTypeEnum.USERDEFINED +notdefined = IfcBuildingSystemTypeEnum.NOTDEFINED IfcBuiltSystemTypeEnum = enum_namespace() -erosionprevention = express_getattr(IfcBuiltSystemTypeEnum, 'EROSIONPREVENTION', INDETERMINATE) -fenestration = express_getattr(IfcBuiltSystemTypeEnum, 'FENESTRATION', INDETERMINATE) -foundation = express_getattr(IfcBuiltSystemTypeEnum, 'FOUNDATION', INDETERMINATE) -loadbearing = express_getattr(IfcBuiltSystemTypeEnum, 'LOADBEARING', INDETERMINATE) -mooring = express_getattr(IfcBuiltSystemTypeEnum, 'MOORING', INDETERMINATE) -outershell = express_getattr(IfcBuiltSystemTypeEnum, 'OUTERSHELL', INDETERMINATE) -prestressing = express_getattr(IfcBuiltSystemTypeEnum, 'PRESTRESSING', INDETERMINATE) -railwayline = express_getattr(IfcBuiltSystemTypeEnum, 'RAILWAYLINE', INDETERMINATE) -railwaytrack = express_getattr(IfcBuiltSystemTypeEnum, 'RAILWAYTRACK', INDETERMINATE) -reinforcing = express_getattr(IfcBuiltSystemTypeEnum, 'REINFORCING', INDETERMINATE) -shading = express_getattr(IfcBuiltSystemTypeEnum, 'SHADING', INDETERMINATE) -trackcircuit = express_getattr(IfcBuiltSystemTypeEnum, 'TRACKCIRCUIT', INDETERMINATE) -transport = express_getattr(IfcBuiltSystemTypeEnum, 'TRANSPORT', INDETERMINATE) -userdefined = express_getattr(IfcBuiltSystemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuiltSystemTypeEnum, 'NOTDEFINED', INDETERMINATE) +erosionprevention = IfcBuiltSystemTypeEnum.EROSIONPREVENTION +fenestration = IfcBuiltSystemTypeEnum.FENESTRATION +foundation = IfcBuiltSystemTypeEnum.FOUNDATION +loadbearing = IfcBuiltSystemTypeEnum.LOADBEARING +mooring = IfcBuiltSystemTypeEnum.MOORING +outershell = IfcBuiltSystemTypeEnum.OUTERSHELL +prestressing = IfcBuiltSystemTypeEnum.PRESTRESSING +railwayline = IfcBuiltSystemTypeEnum.RAILWAYLINE +railwaytrack = IfcBuiltSystemTypeEnum.RAILWAYTRACK +reinforcing = IfcBuiltSystemTypeEnum.REINFORCING +shading = IfcBuiltSystemTypeEnum.SHADING +trackcircuit = IfcBuiltSystemTypeEnum.TRACKCIRCUIT +transport = IfcBuiltSystemTypeEnum.TRANSPORT +userdefined = IfcBuiltSystemTypeEnum.USERDEFINED +notdefined = IfcBuiltSystemTypeEnum.NOTDEFINED IfcBurnerTypeEnum = enum_namespace() -userdefined = express_getattr(IfcBurnerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBurnerTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcBurnerTypeEnum.USERDEFINED +notdefined = IfcBurnerTypeEnum.NOTDEFINED IfcCableCarrierFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcCableCarrierFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcCableCarrierFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -cross = express_getattr(IfcCableCarrierFittingTypeEnum, 'CROSS', INDETERMINATE) -junction = express_getattr(IfcCableCarrierFittingTypeEnum, 'JUNCTION', INDETERMINATE) -reducer = express_getattr(IfcCableCarrierFittingTypeEnum, 'REDUCER', INDETERMINATE) -tee = express_getattr(IfcCableCarrierFittingTypeEnum, 'TEE', INDETERMINATE) -transition = express_getattr(IfcCableCarrierFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcCableCarrierFittingTypeEnum.BEND +connector = IfcCableCarrierFittingTypeEnum.CONNECTOR +cross = IfcCableCarrierFittingTypeEnum.CROSS +junction = IfcCableCarrierFittingTypeEnum.JUNCTION +reducer = IfcCableCarrierFittingTypeEnum.REDUCER +tee = IfcCableCarrierFittingTypeEnum.TEE +transition = IfcCableCarrierFittingTypeEnum.TRANSITION +userdefined = IfcCableCarrierFittingTypeEnum.USERDEFINED +notdefined = IfcCableCarrierFittingTypeEnum.NOTDEFINED IfcCableCarrierSegmentTypeEnum = enum_namespace() -cablebracket = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLEBRACKET', INDETERMINATE) -cableladdersegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLELADDERSEGMENT', INDETERMINATE) -cabletraysegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRAYSEGMENT', INDETERMINATE) -cabletrunkingsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRUNKINGSEGMENT', INDETERMINATE) -catenarywire = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CATENARYWIRE', INDETERMINATE) -conduitsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CONDUITSEGMENT', INDETERMINATE) -dropper = express_getattr(IfcCableCarrierSegmentTypeEnum, 'DROPPER', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +cablebracket = IfcCableCarrierSegmentTypeEnum.CABLEBRACKET +cableladdersegment = IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT +cabletraysegment = IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT +cabletrunkingsegment = IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT +catenarywire = IfcCableCarrierSegmentTypeEnum.CATENARYWIRE +conduitsegment = IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT +dropper = IfcCableCarrierSegmentTypeEnum.DROPPER +userdefined = IfcCableCarrierSegmentTypeEnum.USERDEFINED +notdefined = IfcCableCarrierSegmentTypeEnum.NOTDEFINED IfcCableFittingTypeEnum = enum_namespace() -connector = express_getattr(IfcCableFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcCableFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcCableFittingTypeEnum, 'EXIT', INDETERMINATE) -fanout = express_getattr(IfcCableFittingTypeEnum, 'FANOUT', INDETERMINATE) -junction = express_getattr(IfcCableFittingTypeEnum, 'JUNCTION', INDETERMINATE) -transition = express_getattr(IfcCableFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcCableFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +connector = IfcCableFittingTypeEnum.CONNECTOR +entry = IfcCableFittingTypeEnum.ENTRY +exit = IfcCableFittingTypeEnum.EXIT +fanout = IfcCableFittingTypeEnum.FANOUT +junction = IfcCableFittingTypeEnum.JUNCTION +transition = IfcCableFittingTypeEnum.TRANSITION +userdefined = IfcCableFittingTypeEnum.USERDEFINED +notdefined = IfcCableFittingTypeEnum.NOTDEFINED IfcCableSegmentTypeEnum = enum_namespace() -busbarsegment = express_getattr(IfcCableSegmentTypeEnum, 'BUSBARSEGMENT', INDETERMINATE) -cablesegment = express_getattr(IfcCableSegmentTypeEnum, 'CABLESEGMENT', INDETERMINATE) -conductorsegment = express_getattr(IfcCableSegmentTypeEnum, 'CONDUCTORSEGMENT', INDETERMINATE) -contactwiresegment = express_getattr(IfcCableSegmentTypeEnum, 'CONTACTWIRESEGMENT', INDETERMINATE) -coresegment = express_getattr(IfcCableSegmentTypeEnum, 'CORESEGMENT', INDETERMINATE) -fibersegment = express_getattr(IfcCableSegmentTypeEnum, 'FIBERSEGMENT', INDETERMINATE) -fibertube = express_getattr(IfcCableSegmentTypeEnum, 'FIBERTUBE', INDETERMINATE) -opticalcablesegment = express_getattr(IfcCableSegmentTypeEnum, 'OPTICALCABLESEGMENT', INDETERMINATE) -stitchwire = express_getattr(IfcCableSegmentTypeEnum, 'STITCHWIRE', INDETERMINATE) -wirepairsegment = express_getattr(IfcCableSegmentTypeEnum, 'WIREPAIRSEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcCableSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +busbarsegment = IfcCableSegmentTypeEnum.BUSBARSEGMENT +cablesegment = IfcCableSegmentTypeEnum.CABLESEGMENT +conductorsegment = IfcCableSegmentTypeEnum.CONDUCTORSEGMENT +contactwiresegment = IfcCableSegmentTypeEnum.CONTACTWIRESEGMENT +coresegment = IfcCableSegmentTypeEnum.CORESEGMENT +fibersegment = IfcCableSegmentTypeEnum.FIBERSEGMENT +fibertube = IfcCableSegmentTypeEnum.FIBERTUBE +opticalcablesegment = IfcCableSegmentTypeEnum.OPTICALCABLESEGMENT +stitchwire = IfcCableSegmentTypeEnum.STITCHWIRE +wirepairsegment = IfcCableSegmentTypeEnum.WIREPAIRSEGMENT +userdefined = IfcCableSegmentTypeEnum.USERDEFINED +notdefined = IfcCableSegmentTypeEnum.NOTDEFINED IfcCaissonFoundationTypeEnum = enum_namespace() -caisson = express_getattr(IfcCaissonFoundationTypeEnum, 'CAISSON', INDETERMINATE) -well = express_getattr(IfcCaissonFoundationTypeEnum, 'WELL', INDETERMINATE) -userdefined = express_getattr(IfcCaissonFoundationTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCaissonFoundationTypeEnum, 'NOTDEFINED', INDETERMINATE) +caisson = IfcCaissonFoundationTypeEnum.CAISSON +well = IfcCaissonFoundationTypeEnum.WELL +userdefined = IfcCaissonFoundationTypeEnum.USERDEFINED +notdefined = IfcCaissonFoundationTypeEnum.NOTDEFINED IfcChangeActionEnum = enum_namespace() -added = express_getattr(IfcChangeActionEnum, 'ADDED', INDETERMINATE) -deleted = express_getattr(IfcChangeActionEnum, 'DELETED', INDETERMINATE) -modified = express_getattr(IfcChangeActionEnum, 'MODIFIED', INDETERMINATE) -nochange = express_getattr(IfcChangeActionEnum, 'NOCHANGE', INDETERMINATE) -notdefined = express_getattr(IfcChangeActionEnum, 'NOTDEFINED', INDETERMINATE) +added = IfcChangeActionEnum.ADDED +deleted = IfcChangeActionEnum.DELETED +modified = IfcChangeActionEnum.MODIFIED +nochange = IfcChangeActionEnum.NOCHANGE +notdefined = IfcChangeActionEnum.NOTDEFINED IfcChillerTypeEnum = enum_namespace() -aircooled = express_getattr(IfcChillerTypeEnum, 'AIRCOOLED', INDETERMINATE) -heatrecovery = express_getattr(IfcChillerTypeEnum, 'HEATRECOVERY', INDETERMINATE) -watercooled = express_getattr(IfcChillerTypeEnum, 'WATERCOOLED', INDETERMINATE) -userdefined = express_getattr(IfcChillerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChillerTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcChillerTypeEnum.AIRCOOLED +heatrecovery = IfcChillerTypeEnum.HEATRECOVERY +watercooled = IfcChillerTypeEnum.WATERCOOLED +userdefined = IfcChillerTypeEnum.USERDEFINED +notdefined = IfcChillerTypeEnum.NOTDEFINED IfcChimneyTypeEnum = enum_namespace() -userdefined = express_getattr(IfcChimneyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChimneyTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcChimneyTypeEnum.USERDEFINED +notdefined = IfcChimneyTypeEnum.NOTDEFINED IfcCoilTypeEnum = enum_namespace() -dxcoolingcoil = express_getattr(IfcCoilTypeEnum, 'DXCOOLINGCOIL', INDETERMINATE) -electricheatingcoil = express_getattr(IfcCoilTypeEnum, 'ELECTRICHEATINGCOIL', INDETERMINATE) -gasheatingcoil = express_getattr(IfcCoilTypeEnum, 'GASHEATINGCOIL', INDETERMINATE) -hydroniccoil = express_getattr(IfcCoilTypeEnum, 'HYDRONICCOIL', INDETERMINATE) -steamheatingcoil = express_getattr(IfcCoilTypeEnum, 'STEAMHEATINGCOIL', INDETERMINATE) -watercoolingcoil = express_getattr(IfcCoilTypeEnum, 'WATERCOOLINGCOIL', INDETERMINATE) -waterheatingcoil = express_getattr(IfcCoilTypeEnum, 'WATERHEATINGCOIL', INDETERMINATE) -userdefined = express_getattr(IfcCoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +dxcoolingcoil = IfcCoilTypeEnum.DXCOOLINGCOIL +electricheatingcoil = IfcCoilTypeEnum.ELECTRICHEATINGCOIL +gasheatingcoil = IfcCoilTypeEnum.GASHEATINGCOIL +hydroniccoil = IfcCoilTypeEnum.HYDRONICCOIL +steamheatingcoil = IfcCoilTypeEnum.STEAMHEATINGCOIL +watercoolingcoil = IfcCoilTypeEnum.WATERCOOLINGCOIL +waterheatingcoil = IfcCoilTypeEnum.WATERHEATINGCOIL +userdefined = IfcCoilTypeEnum.USERDEFINED +notdefined = IfcCoilTypeEnum.NOTDEFINED IfcColumnTypeEnum = enum_namespace() -column = express_getattr(IfcColumnTypeEnum, 'COLUMN', INDETERMINATE) -pierstem = express_getattr(IfcColumnTypeEnum, 'PIERSTEM', INDETERMINATE) -pierstem_segment = express_getattr(IfcColumnTypeEnum, 'PIERSTEM_SEGMENT', INDETERMINATE) -pilaster = express_getattr(IfcColumnTypeEnum, 'PILASTER', INDETERMINATE) -standcolumn = express_getattr(IfcColumnTypeEnum, 'STANDCOLUMN', INDETERMINATE) -userdefined = express_getattr(IfcColumnTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcColumnTypeEnum, 'NOTDEFINED', INDETERMINATE) +column = IfcColumnTypeEnum.COLUMN +pierstem = IfcColumnTypeEnum.PIERSTEM +pierstem_segment = IfcColumnTypeEnum.PIERSTEM_SEGMENT +pilaster = IfcColumnTypeEnum.PILASTER +standcolumn = IfcColumnTypeEnum.STANDCOLUMN +userdefined = IfcColumnTypeEnum.USERDEFINED +notdefined = IfcColumnTypeEnum.NOTDEFINED IfcCommunicationsApplianceTypeEnum = enum_namespace() -antenna = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ANTENNA', INDETERMINATE) -automaton = express_getattr(IfcCommunicationsApplianceTypeEnum, 'AUTOMATON', INDETERMINATE) -computer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'COMPUTER', INDETERMINATE) -fax = express_getattr(IfcCommunicationsApplianceTypeEnum, 'FAX', INDETERMINATE) -gateway = express_getattr(IfcCommunicationsApplianceTypeEnum, 'GATEWAY', INDETERMINATE) -intelligentperipheral = express_getattr(IfcCommunicationsApplianceTypeEnum, 'INTELLIGENTPERIPHERAL', INDETERMINATE) -ipnetworkequipment = express_getattr(IfcCommunicationsApplianceTypeEnum, 'IPNETWORKEQUIPMENT', INDETERMINATE) -linesideelectronicunit = express_getattr(IfcCommunicationsApplianceTypeEnum, 'LINESIDEELECTRONICUNIT', INDETERMINATE) -modem = express_getattr(IfcCommunicationsApplianceTypeEnum, 'MODEM', INDETERMINATE) -networkappliance = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKAPPLIANCE', INDETERMINATE) -networkbridge = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKBRIDGE', INDETERMINATE) -networkhub = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKHUB', INDETERMINATE) -opticallineterminal = express_getattr(IfcCommunicationsApplianceTypeEnum, 'OPTICALLINETERMINAL', INDETERMINATE) -opticalnetworkunit = express_getattr(IfcCommunicationsApplianceTypeEnum, 'OPTICALNETWORKUNIT', INDETERMINATE) -printer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'PRINTER', INDETERMINATE) -radioblockcenter = express_getattr(IfcCommunicationsApplianceTypeEnum, 'RADIOBLOCKCENTER', INDETERMINATE) -repeater = express_getattr(IfcCommunicationsApplianceTypeEnum, 'REPEATER', INDETERMINATE) -router = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ROUTER', INDETERMINATE) -scanner = express_getattr(IfcCommunicationsApplianceTypeEnum, 'SCANNER', INDETERMINATE) -telecommand = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TELECOMMAND', INDETERMINATE) -telephonyexchange = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TELEPHONYEXCHANGE', INDETERMINATE) -transitioncomponent = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSITIONCOMPONENT', INDETERMINATE) -transponder = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSPONDER', INDETERMINATE) -transportequipment = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSPORTEQUIPMENT', INDETERMINATE) -userdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +antenna = IfcCommunicationsApplianceTypeEnum.ANTENNA +automaton = IfcCommunicationsApplianceTypeEnum.AUTOMATON +computer = IfcCommunicationsApplianceTypeEnum.COMPUTER +fax = IfcCommunicationsApplianceTypeEnum.FAX +gateway = IfcCommunicationsApplianceTypeEnum.GATEWAY +intelligentperipheral = IfcCommunicationsApplianceTypeEnum.INTELLIGENTPERIPHERAL +ipnetworkequipment = IfcCommunicationsApplianceTypeEnum.IPNETWORKEQUIPMENT +linesideelectronicunit = IfcCommunicationsApplianceTypeEnum.LINESIDEELECTRONICUNIT +modem = IfcCommunicationsApplianceTypeEnum.MODEM +networkappliance = IfcCommunicationsApplianceTypeEnum.NETWORKAPPLIANCE +networkbridge = IfcCommunicationsApplianceTypeEnum.NETWORKBRIDGE +networkhub = IfcCommunicationsApplianceTypeEnum.NETWORKHUB +opticallineterminal = IfcCommunicationsApplianceTypeEnum.OPTICALLINETERMINAL +opticalnetworkunit = IfcCommunicationsApplianceTypeEnum.OPTICALNETWORKUNIT +printer = IfcCommunicationsApplianceTypeEnum.PRINTER +radioblockcenter = IfcCommunicationsApplianceTypeEnum.RADIOBLOCKCENTER +repeater = IfcCommunicationsApplianceTypeEnum.REPEATER +router = IfcCommunicationsApplianceTypeEnum.ROUTER +scanner = IfcCommunicationsApplianceTypeEnum.SCANNER +telecommand = IfcCommunicationsApplianceTypeEnum.TELECOMMAND +telephonyexchange = IfcCommunicationsApplianceTypeEnum.TELEPHONYEXCHANGE +transitioncomponent = IfcCommunicationsApplianceTypeEnum.TRANSITIONCOMPONENT +transponder = IfcCommunicationsApplianceTypeEnum.TRANSPONDER +transportequipment = IfcCommunicationsApplianceTypeEnum.TRANSPORTEQUIPMENT +userdefined = IfcCommunicationsApplianceTypeEnum.USERDEFINED +notdefined = IfcCommunicationsApplianceTypeEnum.NOTDEFINED IfcComplexPropertyTemplateTypeEnum = enum_namespace() -p_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'P_COMPLEX', INDETERMINATE) -q_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'Q_COMPLEX', INDETERMINATE) +p_complex = IfcComplexPropertyTemplateTypeEnum.P_COMPLEX +q_complex = IfcComplexPropertyTemplateTypeEnum.Q_COMPLEX IfcCompressorTypeEnum = enum_namespace() -booster = express_getattr(IfcCompressorTypeEnum, 'BOOSTER', INDETERMINATE) -dynamic = express_getattr(IfcCompressorTypeEnum, 'DYNAMIC', INDETERMINATE) -hermetic = express_getattr(IfcCompressorTypeEnum, 'HERMETIC', INDETERMINATE) -opentype = express_getattr(IfcCompressorTypeEnum, 'OPENTYPE', INDETERMINATE) -reciprocating = express_getattr(IfcCompressorTypeEnum, 'RECIPROCATING', INDETERMINATE) -rollingpiston = express_getattr(IfcCompressorTypeEnum, 'ROLLINGPISTON', INDETERMINATE) -rotary = express_getattr(IfcCompressorTypeEnum, 'ROTARY', INDETERMINATE) -rotaryvane = express_getattr(IfcCompressorTypeEnum, 'ROTARYVANE', INDETERMINATE) -scroll = express_getattr(IfcCompressorTypeEnum, 'SCROLL', INDETERMINATE) -semihermetic = express_getattr(IfcCompressorTypeEnum, 'SEMIHERMETIC', INDETERMINATE) -singlescrew = express_getattr(IfcCompressorTypeEnum, 'SINGLESCREW', INDETERMINATE) -singlestage = express_getattr(IfcCompressorTypeEnum, 'SINGLESTAGE', INDETERMINATE) -trochoidal = express_getattr(IfcCompressorTypeEnum, 'TROCHOIDAL', INDETERMINATE) -twinscrew = express_getattr(IfcCompressorTypeEnum, 'TWINSCREW', INDETERMINATE) -weldedshellhermetic = express_getattr(IfcCompressorTypeEnum, 'WELDEDSHELLHERMETIC', INDETERMINATE) -userdefined = express_getattr(IfcCompressorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCompressorTypeEnum, 'NOTDEFINED', INDETERMINATE) +booster = IfcCompressorTypeEnum.BOOSTER +dynamic = IfcCompressorTypeEnum.DYNAMIC +hermetic = IfcCompressorTypeEnum.HERMETIC +opentype = IfcCompressorTypeEnum.OPENTYPE +reciprocating = IfcCompressorTypeEnum.RECIPROCATING +rollingpiston = IfcCompressorTypeEnum.ROLLINGPISTON +rotary = IfcCompressorTypeEnum.ROTARY +rotaryvane = IfcCompressorTypeEnum.ROTARYVANE +scroll = IfcCompressorTypeEnum.SCROLL +semihermetic = IfcCompressorTypeEnum.SEMIHERMETIC +singlescrew = IfcCompressorTypeEnum.SINGLESCREW +singlestage = IfcCompressorTypeEnum.SINGLESTAGE +trochoidal = IfcCompressorTypeEnum.TROCHOIDAL +twinscrew = IfcCompressorTypeEnum.TWINSCREW +weldedshellhermetic = IfcCompressorTypeEnum.WELDEDSHELLHERMETIC +userdefined = IfcCompressorTypeEnum.USERDEFINED +notdefined = IfcCompressorTypeEnum.NOTDEFINED IfcCondenserTypeEnum = enum_namespace() -aircooled = express_getattr(IfcCondenserTypeEnum, 'AIRCOOLED', INDETERMINATE) -evaporativecooled = express_getattr(IfcCondenserTypeEnum, 'EVAPORATIVECOOLED', INDETERMINATE) -watercooled = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLED', INDETERMINATE) -watercooledbrazedplate = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDBRAZEDPLATE', INDETERMINATE) -watercooledshellcoil = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLCOIL', INDETERMINATE) -watercooledshelltube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLTUBE', INDETERMINATE) -watercooledtubeintube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDTUBEINTUBE', INDETERMINATE) -userdefined = express_getattr(IfcCondenserTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCondenserTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcCondenserTypeEnum.AIRCOOLED +evaporativecooled = IfcCondenserTypeEnum.EVAPORATIVECOOLED +watercooled = IfcCondenserTypeEnum.WATERCOOLED +watercooledbrazedplate = IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE +watercooledshellcoil = IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL +watercooledshelltube = IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE +watercooledtubeintube = IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE +userdefined = IfcCondenserTypeEnum.USERDEFINED +notdefined = IfcCondenserTypeEnum.NOTDEFINED IfcConnectionTypeEnum = enum_namespace() -atend = express_getattr(IfcConnectionTypeEnum, 'ATEND', INDETERMINATE) -atpath = express_getattr(IfcConnectionTypeEnum, 'ATPATH', INDETERMINATE) -atstart = express_getattr(IfcConnectionTypeEnum, 'ATSTART', INDETERMINATE) -notdefined = express_getattr(IfcConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +atend = IfcConnectionTypeEnum.ATEND +atpath = IfcConnectionTypeEnum.ATPATH +atstart = IfcConnectionTypeEnum.ATSTART +notdefined = IfcConnectionTypeEnum.NOTDEFINED IfcConstraintEnum = enum_namespace() -advisory = express_getattr(IfcConstraintEnum, 'ADVISORY', INDETERMINATE) -hard = express_getattr(IfcConstraintEnum, 'HARD', INDETERMINATE) -soft = express_getattr(IfcConstraintEnum, 'SOFT', INDETERMINATE) -userdefined = express_getattr(IfcConstraintEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstraintEnum, 'NOTDEFINED', INDETERMINATE) +advisory = IfcConstraintEnum.ADVISORY +hard = IfcConstraintEnum.HARD +soft = IfcConstraintEnum.SOFT +userdefined = IfcConstraintEnum.USERDEFINED +notdefined = IfcConstraintEnum.NOTDEFINED IfcConstructionEquipmentResourceTypeEnum = enum_namespace() -demolishing = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'DEMOLISHING', INDETERMINATE) -earthmoving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'EARTHMOVING', INDETERMINATE) -erecting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'ERECTING', INDETERMINATE) -heating = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'LIGHTING', INDETERMINATE) -paving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PAVING', INDETERMINATE) -pumping = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PUMPING', INDETERMINATE) -transporting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'TRANSPORTING', INDETERMINATE) -userdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +demolishing = IfcConstructionEquipmentResourceTypeEnum.DEMOLISHING +earthmoving = IfcConstructionEquipmentResourceTypeEnum.EARTHMOVING +erecting = IfcConstructionEquipmentResourceTypeEnum.ERECTING +heating = IfcConstructionEquipmentResourceTypeEnum.HEATING +lighting = IfcConstructionEquipmentResourceTypeEnum.LIGHTING +paving = IfcConstructionEquipmentResourceTypeEnum.PAVING +pumping = IfcConstructionEquipmentResourceTypeEnum.PUMPING +transporting = IfcConstructionEquipmentResourceTypeEnum.TRANSPORTING +userdefined = IfcConstructionEquipmentResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionEquipmentResourceTypeEnum.NOTDEFINED IfcConstructionMaterialResourceTypeEnum = enum_namespace() -aggregates = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'AGGREGATES', INDETERMINATE) -concrete = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'DRYWALL', INDETERMINATE) -fuel = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'FUEL', INDETERMINATE) -gypsum = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'GYPSUM', INDETERMINATE) -masonry = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'MASONRY', INDETERMINATE) -metal = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'METAL', INDETERMINATE) -plastic = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'PLASTIC', INDETERMINATE) -wood = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'WOOD', INDETERMINATE) -userdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +aggregates = IfcConstructionMaterialResourceTypeEnum.AGGREGATES +concrete = IfcConstructionMaterialResourceTypeEnum.CONCRETE +drywall = IfcConstructionMaterialResourceTypeEnum.DRYWALL +fuel = IfcConstructionMaterialResourceTypeEnum.FUEL +gypsum = IfcConstructionMaterialResourceTypeEnum.GYPSUM +masonry = IfcConstructionMaterialResourceTypeEnum.MASONRY +metal = IfcConstructionMaterialResourceTypeEnum.METAL +plastic = IfcConstructionMaterialResourceTypeEnum.PLASTIC +wood = IfcConstructionMaterialResourceTypeEnum.WOOD +userdefined = IfcConstructionMaterialResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionMaterialResourceTypeEnum.NOTDEFINED IfcConstructionProductResourceTypeEnum = enum_namespace() -assembly = express_getattr(IfcConstructionProductResourceTypeEnum, 'ASSEMBLY', INDETERMINATE) -formwork = express_getattr(IfcConstructionProductResourceTypeEnum, 'FORMWORK', INDETERMINATE) -userdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +assembly = IfcConstructionProductResourceTypeEnum.ASSEMBLY +formwork = IfcConstructionProductResourceTypeEnum.FORMWORK +userdefined = IfcConstructionProductResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionProductResourceTypeEnum.NOTDEFINED IfcControllerTypeEnum = enum_namespace() -floating = express_getattr(IfcControllerTypeEnum, 'FLOATING', INDETERMINATE) -multiposition = express_getattr(IfcControllerTypeEnum, 'MULTIPOSITION', INDETERMINATE) -programmable = express_getattr(IfcControllerTypeEnum, 'PROGRAMMABLE', INDETERMINATE) -proportional = express_getattr(IfcControllerTypeEnum, 'PROPORTIONAL', INDETERMINATE) -twoposition = express_getattr(IfcControllerTypeEnum, 'TWOPOSITION', INDETERMINATE) -userdefined = express_getattr(IfcControllerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcControllerTypeEnum, 'NOTDEFINED', INDETERMINATE) +floating = IfcControllerTypeEnum.FLOATING +multiposition = IfcControllerTypeEnum.MULTIPOSITION +programmable = IfcControllerTypeEnum.PROGRAMMABLE +proportional = IfcControllerTypeEnum.PROPORTIONAL +twoposition = IfcControllerTypeEnum.TWOPOSITION +userdefined = IfcControllerTypeEnum.USERDEFINED +notdefined = IfcControllerTypeEnum.NOTDEFINED IfcConveyorSegmentTypeEnum = enum_namespace() -beltconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'BELTCONVEYOR', INDETERMINATE) -bucketconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'BUCKETCONVEYOR', INDETERMINATE) -chuteconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'CHUTECONVEYOR', INDETERMINATE) -screwconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'SCREWCONVEYOR', INDETERMINATE) -userdefined = express_getattr(IfcConveyorSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConveyorSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +beltconveyor = IfcConveyorSegmentTypeEnum.BELTCONVEYOR +bucketconveyor = IfcConveyorSegmentTypeEnum.BUCKETCONVEYOR +chuteconveyor = IfcConveyorSegmentTypeEnum.CHUTECONVEYOR +screwconveyor = IfcConveyorSegmentTypeEnum.SCREWCONVEYOR +userdefined = IfcConveyorSegmentTypeEnum.USERDEFINED +notdefined = IfcConveyorSegmentTypeEnum.NOTDEFINED IfcCooledBeamTypeEnum = enum_namespace() -active = express_getattr(IfcCooledBeamTypeEnum, 'ACTIVE', INDETERMINATE) -passive = express_getattr(IfcCooledBeamTypeEnum, 'PASSIVE', INDETERMINATE) -userdefined = express_getattr(IfcCooledBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCooledBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +active = IfcCooledBeamTypeEnum.ACTIVE +passive = IfcCooledBeamTypeEnum.PASSIVE +userdefined = IfcCooledBeamTypeEnum.USERDEFINED +notdefined = IfcCooledBeamTypeEnum.NOTDEFINED IfcCoolingTowerTypeEnum = enum_namespace() -mechanicalforceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALFORCEDDRAFT', INDETERMINATE) -mechanicalinduceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALINDUCEDDRAFT', INDETERMINATE) -naturaldraft = express_getattr(IfcCoolingTowerTypeEnum, 'NATURALDRAFT', INDETERMINATE) -userdefined = express_getattr(IfcCoolingTowerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoolingTowerTypeEnum, 'NOTDEFINED', INDETERMINATE) +mechanicalforceddraft = IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT +mechanicalinduceddraft = IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT +naturaldraft = IfcCoolingTowerTypeEnum.NATURALDRAFT +userdefined = IfcCoolingTowerTypeEnum.USERDEFINED +notdefined = IfcCoolingTowerTypeEnum.NOTDEFINED IfcCostItemTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCostItemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostItemTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCostItemTypeEnum.USERDEFINED +notdefined = IfcCostItemTypeEnum.NOTDEFINED IfcCostScheduleTypeEnum = enum_namespace() -budget = express_getattr(IfcCostScheduleTypeEnum, 'BUDGET', INDETERMINATE) -costplan = express_getattr(IfcCostScheduleTypeEnum, 'COSTPLAN', INDETERMINATE) -estimate = express_getattr(IfcCostScheduleTypeEnum, 'ESTIMATE', INDETERMINATE) -pricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'PRICEDBILLOFQUANTITIES', INDETERMINATE) -scheduleofrates = express_getattr(IfcCostScheduleTypeEnum, 'SCHEDULEOFRATES', INDETERMINATE) -tender = express_getattr(IfcCostScheduleTypeEnum, 'TENDER', INDETERMINATE) -unpricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'UNPRICEDBILLOFQUANTITIES', INDETERMINATE) -userdefined = express_getattr(IfcCostScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +budget = IfcCostScheduleTypeEnum.BUDGET +costplan = IfcCostScheduleTypeEnum.COSTPLAN +estimate = IfcCostScheduleTypeEnum.ESTIMATE +pricedbillofquantities = IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES +scheduleofrates = IfcCostScheduleTypeEnum.SCHEDULEOFRATES +tender = IfcCostScheduleTypeEnum.TENDER +unpricedbillofquantities = IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES +userdefined = IfcCostScheduleTypeEnum.USERDEFINED +notdefined = IfcCostScheduleTypeEnum.NOTDEFINED IfcCourseTypeEnum = enum_namespace() -armour = express_getattr(IfcCourseTypeEnum, 'ARMOUR', INDETERMINATE) -ballastbed = express_getattr(IfcCourseTypeEnum, 'BALLASTBED', INDETERMINATE) -core = express_getattr(IfcCourseTypeEnum, 'CORE', INDETERMINATE) -filter = express_getattr(IfcCourseTypeEnum, 'FILTER', INDETERMINATE) -pavement = express_getattr(IfcCourseTypeEnum, 'PAVEMENT', INDETERMINATE) -protection = express_getattr(IfcCourseTypeEnum, 'PROTECTION', INDETERMINATE) -userdefined = express_getattr(IfcCourseTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCourseTypeEnum, 'NOTDEFINED', INDETERMINATE) +armour = IfcCourseTypeEnum.ARMOUR +ballastbed = IfcCourseTypeEnum.BALLASTBED +core = IfcCourseTypeEnum.CORE +filter = IfcCourseTypeEnum.FILTER +pavement = IfcCourseTypeEnum.PAVEMENT +protection = IfcCourseTypeEnum.PROTECTION +userdefined = IfcCourseTypeEnum.USERDEFINED +notdefined = IfcCourseTypeEnum.NOTDEFINED IfcCoveringTypeEnum = enum_namespace() -ceiling = express_getattr(IfcCoveringTypeEnum, 'CEILING', INDETERMINATE) -cladding = express_getattr(IfcCoveringTypeEnum, 'CLADDING', INDETERMINATE) -coping = express_getattr(IfcCoveringTypeEnum, 'COPING', INDETERMINATE) -flooring = express_getattr(IfcCoveringTypeEnum, 'FLOORING', INDETERMINATE) -insulation = express_getattr(IfcCoveringTypeEnum, 'INSULATION', INDETERMINATE) -membrane = express_getattr(IfcCoveringTypeEnum, 'MEMBRANE', INDETERMINATE) -molding = express_getattr(IfcCoveringTypeEnum, 'MOLDING', INDETERMINATE) -roofing = express_getattr(IfcCoveringTypeEnum, 'ROOFING', INDETERMINATE) -skirtingboard = express_getattr(IfcCoveringTypeEnum, 'SKIRTINGBOARD', INDETERMINATE) -sleeving = express_getattr(IfcCoveringTypeEnum, 'SLEEVING', INDETERMINATE) -topping = express_getattr(IfcCoveringTypeEnum, 'TOPPING', INDETERMINATE) -wrapping = express_getattr(IfcCoveringTypeEnum, 'WRAPPING', INDETERMINATE) -userdefined = express_getattr(IfcCoveringTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoveringTypeEnum, 'NOTDEFINED', INDETERMINATE) +ceiling = IfcCoveringTypeEnum.CEILING +cladding = IfcCoveringTypeEnum.CLADDING +coping = IfcCoveringTypeEnum.COPING +flooring = IfcCoveringTypeEnum.FLOORING +insulation = IfcCoveringTypeEnum.INSULATION +membrane = IfcCoveringTypeEnum.MEMBRANE +molding = IfcCoveringTypeEnum.MOLDING +roofing = IfcCoveringTypeEnum.ROOFING +skirtingboard = IfcCoveringTypeEnum.SKIRTINGBOARD +sleeving = IfcCoveringTypeEnum.SLEEVING +topping = IfcCoveringTypeEnum.TOPPING +wrapping = IfcCoveringTypeEnum.WRAPPING +userdefined = IfcCoveringTypeEnum.USERDEFINED +notdefined = IfcCoveringTypeEnum.NOTDEFINED IfcCrewResourceTypeEnum = enum_namespace() -office = express_getattr(IfcCrewResourceTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcCrewResourceTypeEnum, 'SITE', INDETERMINATE) -userdefined = express_getattr(IfcCrewResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCrewResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +office = IfcCrewResourceTypeEnum.OFFICE +site = IfcCrewResourceTypeEnum.SITE +userdefined = IfcCrewResourceTypeEnum.USERDEFINED +notdefined = IfcCrewResourceTypeEnum.NOTDEFINED IfcCurtainWallTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCurtainWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCurtainWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCurtainWallTypeEnum.USERDEFINED +notdefined = IfcCurtainWallTypeEnum.NOTDEFINED IfcCurveInterpolationEnum = enum_namespace() -linear = express_getattr(IfcCurveInterpolationEnum, 'LINEAR', INDETERMINATE) -log_linear = express_getattr(IfcCurveInterpolationEnum, 'LOG_LINEAR', INDETERMINATE) -log_log = express_getattr(IfcCurveInterpolationEnum, 'LOG_LOG', INDETERMINATE) -notdefined = express_getattr(IfcCurveInterpolationEnum, 'NOTDEFINED', INDETERMINATE) +linear = IfcCurveInterpolationEnum.LINEAR +log_linear = IfcCurveInterpolationEnum.LOG_LINEAR +log_log = IfcCurveInterpolationEnum.LOG_LOG +notdefined = IfcCurveInterpolationEnum.NOTDEFINED IfcDamperTypeEnum = enum_namespace() -backdraftdamper = express_getattr(IfcDamperTypeEnum, 'BACKDRAFTDAMPER', INDETERMINATE) -balancingdamper = express_getattr(IfcDamperTypeEnum, 'BALANCINGDAMPER', INDETERMINATE) -blastdamper = express_getattr(IfcDamperTypeEnum, 'BLASTDAMPER', INDETERMINATE) -controldamper = express_getattr(IfcDamperTypeEnum, 'CONTROLDAMPER', INDETERMINATE) -firedamper = express_getattr(IfcDamperTypeEnum, 'FIREDAMPER', INDETERMINATE) -firesmokedamper = express_getattr(IfcDamperTypeEnum, 'FIRESMOKEDAMPER', INDETERMINATE) -fumehoodexhaust = express_getattr(IfcDamperTypeEnum, 'FUMEHOODEXHAUST', INDETERMINATE) -gravitydamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYDAMPER', INDETERMINATE) -gravityreliefdamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYRELIEFDAMPER', INDETERMINATE) -reliefdamper = express_getattr(IfcDamperTypeEnum, 'RELIEFDAMPER', INDETERMINATE) -smokedamper = express_getattr(IfcDamperTypeEnum, 'SMOKEDAMPER', INDETERMINATE) -userdefined = express_getattr(IfcDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +backdraftdamper = IfcDamperTypeEnum.BACKDRAFTDAMPER +balancingdamper = IfcDamperTypeEnum.BALANCINGDAMPER +blastdamper = IfcDamperTypeEnum.BLASTDAMPER +controldamper = IfcDamperTypeEnum.CONTROLDAMPER +firedamper = IfcDamperTypeEnum.FIREDAMPER +firesmokedamper = IfcDamperTypeEnum.FIRESMOKEDAMPER +fumehoodexhaust = IfcDamperTypeEnum.FUMEHOODEXHAUST +gravitydamper = IfcDamperTypeEnum.GRAVITYDAMPER +gravityreliefdamper = IfcDamperTypeEnum.GRAVITYRELIEFDAMPER +reliefdamper = IfcDamperTypeEnum.RELIEFDAMPER +smokedamper = IfcDamperTypeEnum.SMOKEDAMPER +userdefined = IfcDamperTypeEnum.USERDEFINED +notdefined = IfcDamperTypeEnum.NOTDEFINED IfcDataOriginEnum = enum_namespace() -measured = express_getattr(IfcDataOriginEnum, 'MEASURED', INDETERMINATE) -predicted = express_getattr(IfcDataOriginEnum, 'PREDICTED', INDETERMINATE) -simulated = express_getattr(IfcDataOriginEnum, 'SIMULATED', INDETERMINATE) -userdefined = express_getattr(IfcDataOriginEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDataOriginEnum, 'NOTDEFINED', INDETERMINATE) +measured = IfcDataOriginEnum.MEASURED +predicted = IfcDataOriginEnum.PREDICTED +simulated = IfcDataOriginEnum.SIMULATED +userdefined = IfcDataOriginEnum.USERDEFINED +notdefined = IfcDataOriginEnum.NOTDEFINED IfcDerivedUnitEnum = enum_namespace() -accelerationunit = express_getattr(IfcDerivedUnitEnum, 'ACCELERATIONUNIT', INDETERMINATE) -angularvelocityunit = express_getattr(IfcDerivedUnitEnum, 'ANGULARVELOCITYUNIT', INDETERMINATE) -areadensityunit = express_getattr(IfcDerivedUnitEnum, 'AREADENSITYUNIT', INDETERMINATE) -compoundplaneangleunit = express_getattr(IfcDerivedUnitEnum, 'COMPOUNDPLANEANGLEUNIT', INDETERMINATE) -curvatureunit = express_getattr(IfcDerivedUnitEnum, 'CURVATUREUNIT', INDETERMINATE) -dynamicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'DYNAMICVISCOSITYUNIT', INDETERMINATE) -heatfluxdensityunit = express_getattr(IfcDerivedUnitEnum, 'HEATFLUXDENSITYUNIT', INDETERMINATE) -heatingvalueunit = express_getattr(IfcDerivedUnitEnum, 'HEATINGVALUEUNIT', INDETERMINATE) -integercountrateunit = express_getattr(IfcDerivedUnitEnum, 'INTEGERCOUNTRATEUNIT', INDETERMINATE) -ionconcentrationunit = express_getattr(IfcDerivedUnitEnum, 'IONCONCENTRATIONUNIT', INDETERMINATE) -isothermalmoisturecapacityunit = express_getattr(IfcDerivedUnitEnum, 'ISOTHERMALMOISTURECAPACITYUNIT', INDETERMINATE) -kinematicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'KINEMATICVISCOSITYUNIT', INDETERMINATE) -linearforceunit = express_getattr(IfcDerivedUnitEnum, 'LINEARFORCEUNIT', INDETERMINATE) -linearmomentunit = express_getattr(IfcDerivedUnitEnum, 'LINEARMOMENTUNIT', INDETERMINATE) -linearstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'LINEARSTIFFNESSUNIT', INDETERMINATE) -linearvelocityunit = express_getattr(IfcDerivedUnitEnum, 'LINEARVELOCITYUNIT', INDETERMINATE) -luminousintensitydistributionunit = express_getattr(IfcDerivedUnitEnum, 'LUMINOUSINTENSITYDISTRIBUTIONUNIT', INDETERMINATE) -massdensityunit = express_getattr(IfcDerivedUnitEnum, 'MASSDENSITYUNIT', INDETERMINATE) -massflowrateunit = express_getattr(IfcDerivedUnitEnum, 'MASSFLOWRATEUNIT', INDETERMINATE) -massperlengthunit = express_getattr(IfcDerivedUnitEnum, 'MASSPERLENGTHUNIT', INDETERMINATE) -modulusofelasticityunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFELASTICITYUNIT', INDETERMINATE) -modulusoflinearsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFLINEARSUBGRADEREACTIONUNIT', INDETERMINATE) -modulusofrotationalsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFROTATIONALSUBGRADEREACTIONUNIT', INDETERMINATE) -modulusofsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFSUBGRADEREACTIONUNIT', INDETERMINATE) -moisturediffusivityunit = express_getattr(IfcDerivedUnitEnum, 'MOISTUREDIFFUSIVITYUNIT', INDETERMINATE) -molecularweightunit = express_getattr(IfcDerivedUnitEnum, 'MOLECULARWEIGHTUNIT', INDETERMINATE) -momentofinertiaunit = express_getattr(IfcDerivedUnitEnum, 'MOMENTOFINERTIAUNIT', INDETERMINATE) -phunit = express_getattr(IfcDerivedUnitEnum, 'PHUNIT', INDETERMINATE) -planarforceunit = express_getattr(IfcDerivedUnitEnum, 'PLANARFORCEUNIT', INDETERMINATE) -rotationalfrequencyunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALFREQUENCYUNIT', INDETERMINATE) -rotationalmassunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALMASSUNIT', INDETERMINATE) -rotationalstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALSTIFFNESSUNIT', INDETERMINATE) -sectionareaintegralunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONAREAINTEGRALUNIT', INDETERMINATE) -sectionmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONMODULUSUNIT', INDETERMINATE) -shearmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SHEARMODULUSUNIT', INDETERMINATE) -soundpowerlevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERLEVELUNIT', INDETERMINATE) -soundpowerunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERUNIT', INDETERMINATE) -soundpressurelevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSURELEVELUNIT', INDETERMINATE) -soundpressureunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSUREUNIT', INDETERMINATE) -specificheatcapacityunit = express_getattr(IfcDerivedUnitEnum, 'SPECIFICHEATCAPACITYUNIT', INDETERMINATE) -temperaturegradientunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATUREGRADIENTUNIT', INDETERMINATE) -temperaturerateofchangeunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATURERATEOFCHANGEUNIT', INDETERMINATE) -thermaladmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALADMITTANCEUNIT', INDETERMINATE) -thermalconductanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALCONDUCTANCEUNIT', INDETERMINATE) -thermalexpansioncoefficientunit = express_getattr(IfcDerivedUnitEnum, 'THERMALEXPANSIONCOEFFICIENTUNIT', INDETERMINATE) -thermalresistanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALRESISTANCEUNIT', INDETERMINATE) -thermaltransmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALTRANSMITTANCEUNIT', INDETERMINATE) -torqueunit = express_getattr(IfcDerivedUnitEnum, 'TORQUEUNIT', INDETERMINATE) -vaporpermeabilityunit = express_getattr(IfcDerivedUnitEnum, 'VAPORPERMEABILITYUNIT', INDETERMINATE) -volumetricflowrateunit = express_getattr(IfcDerivedUnitEnum, 'VOLUMETRICFLOWRATEUNIT', INDETERMINATE) -warpingconstantunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGCONSTANTUNIT', INDETERMINATE) -warpingmomentunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGMOMENTUNIT', INDETERMINATE) -userdefined = express_getattr(IfcDerivedUnitEnum, 'USERDEFINED', INDETERMINATE) +accelerationunit = IfcDerivedUnitEnum.ACCELERATIONUNIT +angularvelocityunit = IfcDerivedUnitEnum.ANGULARVELOCITYUNIT +areadensityunit = IfcDerivedUnitEnum.AREADENSITYUNIT +compoundplaneangleunit = IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT +curvatureunit = IfcDerivedUnitEnum.CURVATUREUNIT +dynamicviscosityunit = IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT +heatfluxdensityunit = IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT +heatingvalueunit = IfcDerivedUnitEnum.HEATINGVALUEUNIT +integercountrateunit = IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT +ionconcentrationunit = IfcDerivedUnitEnum.IONCONCENTRATIONUNIT +isothermalmoisturecapacityunit = IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT +kinematicviscosityunit = IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT +linearforceunit = IfcDerivedUnitEnum.LINEARFORCEUNIT +linearmomentunit = IfcDerivedUnitEnum.LINEARMOMENTUNIT +linearstiffnessunit = IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT +linearvelocityunit = IfcDerivedUnitEnum.LINEARVELOCITYUNIT +luminousintensitydistributionunit = IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT +massdensityunit = IfcDerivedUnitEnum.MASSDENSITYUNIT +massflowrateunit = IfcDerivedUnitEnum.MASSFLOWRATEUNIT +massperlengthunit = IfcDerivedUnitEnum.MASSPERLENGTHUNIT +modulusofelasticityunit = IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT +modulusoflinearsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT +modulusofrotationalsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT +modulusofsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT +moisturediffusivityunit = IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT +molecularweightunit = IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT +momentofinertiaunit = IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT +phunit = IfcDerivedUnitEnum.PHUNIT +planarforceunit = IfcDerivedUnitEnum.PLANARFORCEUNIT +rotationalfrequencyunit = IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT +rotationalmassunit = IfcDerivedUnitEnum.ROTATIONALMASSUNIT +rotationalstiffnessunit = IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT +sectionareaintegralunit = IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT +sectionmodulusunit = IfcDerivedUnitEnum.SECTIONMODULUSUNIT +shearmodulusunit = IfcDerivedUnitEnum.SHEARMODULUSUNIT +soundpowerlevelunit = IfcDerivedUnitEnum.SOUNDPOWERLEVELUNIT +soundpowerunit = IfcDerivedUnitEnum.SOUNDPOWERUNIT +soundpressurelevelunit = IfcDerivedUnitEnum.SOUNDPRESSURELEVELUNIT +soundpressureunit = IfcDerivedUnitEnum.SOUNDPRESSUREUNIT +specificheatcapacityunit = IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT +temperaturegradientunit = IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT +temperaturerateofchangeunit = IfcDerivedUnitEnum.TEMPERATURERATEOFCHANGEUNIT +thermaladmittanceunit = IfcDerivedUnitEnum.THERMALADMITTANCEUNIT +thermalconductanceunit = IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT +thermalexpansioncoefficientunit = IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT +thermalresistanceunit = IfcDerivedUnitEnum.THERMALRESISTANCEUNIT +thermaltransmittanceunit = IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT +torqueunit = IfcDerivedUnitEnum.TORQUEUNIT +vaporpermeabilityunit = IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT +volumetricflowrateunit = IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT +warpingconstantunit = IfcDerivedUnitEnum.WARPINGCONSTANTUNIT +warpingmomentunit = IfcDerivedUnitEnum.WARPINGMOMENTUNIT +userdefined = IfcDerivedUnitEnum.USERDEFINED IfcDirectionSenseEnum = enum_namespace() -negative = express_getattr(IfcDirectionSenseEnum, 'NEGATIVE', INDETERMINATE) -positive = express_getattr(IfcDirectionSenseEnum, 'POSITIVE', INDETERMINATE) +negative = IfcDirectionSenseEnum.NEGATIVE +positive = IfcDirectionSenseEnum.POSITIVE IfcDiscreteAccessoryTypeEnum = enum_namespace() -anchorplate = express_getattr(IfcDiscreteAccessoryTypeEnum, 'ANCHORPLATE', INDETERMINATE) -birdprotection = express_getattr(IfcDiscreteAccessoryTypeEnum, 'BIRDPROTECTION', INDETERMINATE) -bracket = express_getattr(IfcDiscreteAccessoryTypeEnum, 'BRACKET', INDETERMINATE) -cablearranger = express_getattr(IfcDiscreteAccessoryTypeEnum, 'CABLEARRANGER', INDETERMINATE) -elastic_cushion = express_getattr(IfcDiscreteAccessoryTypeEnum, 'ELASTIC_CUSHION', INDETERMINATE) -expansion_joint_device = express_getattr(IfcDiscreteAccessoryTypeEnum, 'EXPANSION_JOINT_DEVICE', INDETERMINATE) -filler = express_getattr(IfcDiscreteAccessoryTypeEnum, 'FILLER', INDETERMINATE) -flashing = express_getattr(IfcDiscreteAccessoryTypeEnum, 'FLASHING', INDETERMINATE) -insulator = express_getattr(IfcDiscreteAccessoryTypeEnum, 'INSULATOR', INDETERMINATE) -lock = express_getattr(IfcDiscreteAccessoryTypeEnum, 'LOCK', INDETERMINATE) -panel_strengthening = express_getattr(IfcDiscreteAccessoryTypeEnum, 'PANEL_STRENGTHENING', INDETERMINATE) -pointmachinemountingdevice = express_getattr(IfcDiscreteAccessoryTypeEnum, 'POINTMACHINEMOUNTINGDEVICE', INDETERMINATE) -point_machine_locking_device = express_getattr(IfcDiscreteAccessoryTypeEnum, 'POINT_MACHINE_LOCKING_DEVICE', INDETERMINATE) -railbrace = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAILBRACE', INDETERMINATE) -railpad = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAILPAD', INDETERMINATE) -rail_lubrication = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAIL_LUBRICATION', INDETERMINATE) -rail_mechanical_equipment = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAIL_MECHANICAL_EQUIPMENT', INDETERMINATE) -shoe = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SHOE', INDETERMINATE) -slidingchair = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SLIDINGCHAIR', INDETERMINATE) -soundabsorption = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SOUNDABSORPTION', INDETERMINATE) -tensioningequipment = express_getattr(IfcDiscreteAccessoryTypeEnum, 'TENSIONINGEQUIPMENT', INDETERMINATE) -userdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorplate = IfcDiscreteAccessoryTypeEnum.ANCHORPLATE +birdprotection = IfcDiscreteAccessoryTypeEnum.BIRDPROTECTION +bracket = IfcDiscreteAccessoryTypeEnum.BRACKET +cablearranger = IfcDiscreteAccessoryTypeEnum.CABLEARRANGER +elastic_cushion = IfcDiscreteAccessoryTypeEnum.ELASTIC_CUSHION +expansion_joint_device = IfcDiscreteAccessoryTypeEnum.EXPANSION_JOINT_DEVICE +filler = IfcDiscreteAccessoryTypeEnum.FILLER +flashing = IfcDiscreteAccessoryTypeEnum.FLASHING +insulator = IfcDiscreteAccessoryTypeEnum.INSULATOR +lock = IfcDiscreteAccessoryTypeEnum.LOCK +panel_strengthening = IfcDiscreteAccessoryTypeEnum.PANEL_STRENGTHENING +pointmachinemountingdevice = IfcDiscreteAccessoryTypeEnum.POINTMACHINEMOUNTINGDEVICE +point_machine_locking_device = IfcDiscreteAccessoryTypeEnum.POINT_MACHINE_LOCKING_DEVICE +railbrace = IfcDiscreteAccessoryTypeEnum.RAILBRACE +railpad = IfcDiscreteAccessoryTypeEnum.RAILPAD +rail_lubrication = IfcDiscreteAccessoryTypeEnum.RAIL_LUBRICATION +rail_mechanical_equipment = IfcDiscreteAccessoryTypeEnum.RAIL_MECHANICAL_EQUIPMENT +shoe = IfcDiscreteAccessoryTypeEnum.SHOE +slidingchair = IfcDiscreteAccessoryTypeEnum.SLIDINGCHAIR +soundabsorption = IfcDiscreteAccessoryTypeEnum.SOUNDABSORPTION +tensioningequipment = IfcDiscreteAccessoryTypeEnum.TENSIONINGEQUIPMENT +userdefined = IfcDiscreteAccessoryTypeEnum.USERDEFINED +notdefined = IfcDiscreteAccessoryTypeEnum.NOTDEFINED IfcDistributionBoardTypeEnum = enum_namespace() -consumerunit = express_getattr(IfcDistributionBoardTypeEnum, 'CONSUMERUNIT', INDETERMINATE) -dispatchingboard = express_getattr(IfcDistributionBoardTypeEnum, 'DISPATCHINGBOARD', INDETERMINATE) -distributionboard = express_getattr(IfcDistributionBoardTypeEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -distributionframe = express_getattr(IfcDistributionBoardTypeEnum, 'DISTRIBUTIONFRAME', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcDistributionBoardTypeEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -switchboard = express_getattr(IfcDistributionBoardTypeEnum, 'SWITCHBOARD', INDETERMINATE) -userdefined = express_getattr(IfcDistributionBoardTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionBoardTypeEnum, 'NOTDEFINED', INDETERMINATE) +consumerunit = IfcDistributionBoardTypeEnum.CONSUMERUNIT +dispatchingboard = IfcDistributionBoardTypeEnum.DISPATCHINGBOARD +distributionboard = IfcDistributionBoardTypeEnum.DISTRIBUTIONBOARD +distributionframe = IfcDistributionBoardTypeEnum.DISTRIBUTIONFRAME +motorcontrolcentre = IfcDistributionBoardTypeEnum.MOTORCONTROLCENTRE +switchboard = IfcDistributionBoardTypeEnum.SWITCHBOARD +userdefined = IfcDistributionBoardTypeEnum.USERDEFINED +notdefined = IfcDistributionBoardTypeEnum.NOTDEFINED IfcDistributionChamberElementTypeEnum = enum_namespace() -formedduct = express_getattr(IfcDistributionChamberElementTypeEnum, 'FORMEDDUCT', INDETERMINATE) -inspectionchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONCHAMBER', INDETERMINATE) -inspectionpit = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONPIT', INDETERMINATE) -manhole = express_getattr(IfcDistributionChamberElementTypeEnum, 'MANHOLE', INDETERMINATE) -meterchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'METERCHAMBER', INDETERMINATE) -sump = express_getattr(IfcDistributionChamberElementTypeEnum, 'SUMP', INDETERMINATE) -trench = express_getattr(IfcDistributionChamberElementTypeEnum, 'TRENCH', INDETERMINATE) -valvechamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'VALVECHAMBER', INDETERMINATE) -userdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +formedduct = IfcDistributionChamberElementTypeEnum.FORMEDDUCT +inspectionchamber = IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER +inspectionpit = IfcDistributionChamberElementTypeEnum.INSPECTIONPIT +manhole = IfcDistributionChamberElementTypeEnum.MANHOLE +meterchamber = IfcDistributionChamberElementTypeEnum.METERCHAMBER +sump = IfcDistributionChamberElementTypeEnum.SUMP +trench = IfcDistributionChamberElementTypeEnum.TRENCH +valvechamber = IfcDistributionChamberElementTypeEnum.VALVECHAMBER +userdefined = IfcDistributionChamberElementTypeEnum.USERDEFINED +notdefined = IfcDistributionChamberElementTypeEnum.NOTDEFINED IfcDistributionPortTypeEnum = enum_namespace() -cable = express_getattr(IfcDistributionPortTypeEnum, 'CABLE', INDETERMINATE) -cablecarrier = express_getattr(IfcDistributionPortTypeEnum, 'CABLECARRIER', INDETERMINATE) -duct = express_getattr(IfcDistributionPortTypeEnum, 'DUCT', INDETERMINATE) -pipe = express_getattr(IfcDistributionPortTypeEnum, 'PIPE', INDETERMINATE) -wireless = express_getattr(IfcDistributionPortTypeEnum, 'WIRELESS', INDETERMINATE) -userdefined = express_getattr(IfcDistributionPortTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionPortTypeEnum, 'NOTDEFINED', INDETERMINATE) +cable = IfcDistributionPortTypeEnum.CABLE +cablecarrier = IfcDistributionPortTypeEnum.CABLECARRIER +duct = IfcDistributionPortTypeEnum.DUCT +pipe = IfcDistributionPortTypeEnum.PIPE +wireless = IfcDistributionPortTypeEnum.WIRELESS +userdefined = IfcDistributionPortTypeEnum.USERDEFINED +notdefined = IfcDistributionPortTypeEnum.NOTDEFINED IfcDistributionSystemEnum = enum_namespace() -airconditioning = express_getattr(IfcDistributionSystemEnum, 'AIRCONDITIONING', INDETERMINATE) -audiovisual = express_getattr(IfcDistributionSystemEnum, 'AUDIOVISUAL', INDETERMINATE) -catenary_system = express_getattr(IfcDistributionSystemEnum, 'CATENARY_SYSTEM', INDETERMINATE) -chemical = express_getattr(IfcDistributionSystemEnum, 'CHEMICAL', INDETERMINATE) -chilledwater = express_getattr(IfcDistributionSystemEnum, 'CHILLEDWATER', INDETERMINATE) -communication = express_getattr(IfcDistributionSystemEnum, 'COMMUNICATION', INDETERMINATE) -compressedair = express_getattr(IfcDistributionSystemEnum, 'COMPRESSEDAIR', INDETERMINATE) -condenserwater = express_getattr(IfcDistributionSystemEnum, 'CONDENSERWATER', INDETERMINATE) -control = express_getattr(IfcDistributionSystemEnum, 'CONTROL', INDETERMINATE) -conveying = express_getattr(IfcDistributionSystemEnum, 'CONVEYING', INDETERMINATE) -data = express_getattr(IfcDistributionSystemEnum, 'DATA', INDETERMINATE) -disposal = express_getattr(IfcDistributionSystemEnum, 'DISPOSAL', INDETERMINATE) -domesticcoldwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICCOLDWATER', INDETERMINATE) -domestichotwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICHOTWATER', INDETERMINATE) -drainage = express_getattr(IfcDistributionSystemEnum, 'DRAINAGE', INDETERMINATE) -earthing = express_getattr(IfcDistributionSystemEnum, 'EARTHING', INDETERMINATE) -electrical = express_getattr(IfcDistributionSystemEnum, 'ELECTRICAL', INDETERMINATE) -electroacoustic = express_getattr(IfcDistributionSystemEnum, 'ELECTROACOUSTIC', INDETERMINATE) -exhaust = express_getattr(IfcDistributionSystemEnum, 'EXHAUST', INDETERMINATE) -fireprotection = express_getattr(IfcDistributionSystemEnum, 'FIREPROTECTION', INDETERMINATE) -fixedtransmissionnetwork = express_getattr(IfcDistributionSystemEnum, 'FIXEDTRANSMISSIONNETWORK', INDETERMINATE) -fuel = express_getattr(IfcDistributionSystemEnum, 'FUEL', INDETERMINATE) -gas = express_getattr(IfcDistributionSystemEnum, 'GAS', INDETERMINATE) -hazardous = express_getattr(IfcDistributionSystemEnum, 'HAZARDOUS', INDETERMINATE) -heating = express_getattr(IfcDistributionSystemEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcDistributionSystemEnum, 'LIGHTING', INDETERMINATE) -lightningprotection = express_getattr(IfcDistributionSystemEnum, 'LIGHTNINGPROTECTION', INDETERMINATE) -mobilenetwork = express_getattr(IfcDistributionSystemEnum, 'MOBILENETWORK', INDETERMINATE) -monitoringsystem = express_getattr(IfcDistributionSystemEnum, 'MONITORINGSYSTEM', INDETERMINATE) -municipalsolidwaste = express_getattr(IfcDistributionSystemEnum, 'MUNICIPALSOLIDWASTE', INDETERMINATE) -oil = express_getattr(IfcDistributionSystemEnum, 'OIL', INDETERMINATE) -operational = express_getattr(IfcDistributionSystemEnum, 'OPERATIONAL', INDETERMINATE) -operationaltelephonysystem = express_getattr(IfcDistributionSystemEnum, 'OPERATIONALTELEPHONYSYSTEM', INDETERMINATE) -overhead_contactline_system = express_getattr(IfcDistributionSystemEnum, 'OVERHEAD_CONTACTLINE_SYSTEM', INDETERMINATE) -powergeneration = express_getattr(IfcDistributionSystemEnum, 'POWERGENERATION', INDETERMINATE) -rainwater = express_getattr(IfcDistributionSystemEnum, 'RAINWATER', INDETERMINATE) -refrigeration = express_getattr(IfcDistributionSystemEnum, 'REFRIGERATION', INDETERMINATE) -return_circuit = express_getattr(IfcDistributionSystemEnum, 'RETURN_CIRCUIT', INDETERMINATE) -security = express_getattr(IfcDistributionSystemEnum, 'SECURITY', INDETERMINATE) -sewage = express_getattr(IfcDistributionSystemEnum, 'SEWAGE', INDETERMINATE) -signal = express_getattr(IfcDistributionSystemEnum, 'SIGNAL', INDETERMINATE) -stormwater = express_getattr(IfcDistributionSystemEnum, 'STORMWATER', INDETERMINATE) -telephone = express_getattr(IfcDistributionSystemEnum, 'TELEPHONE', INDETERMINATE) -tv = express_getattr(IfcDistributionSystemEnum, 'TV', INDETERMINATE) -vacuum = express_getattr(IfcDistributionSystemEnum, 'VACUUM', INDETERMINATE) -vent = express_getattr(IfcDistributionSystemEnum, 'VENT', INDETERMINATE) -ventilation = express_getattr(IfcDistributionSystemEnum, 'VENTILATION', INDETERMINATE) -wastewater = express_getattr(IfcDistributionSystemEnum, 'WASTEWATER', INDETERMINATE) -watersupply = express_getattr(IfcDistributionSystemEnum, 'WATERSUPPLY', INDETERMINATE) -userdefined = express_getattr(IfcDistributionSystemEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionSystemEnum, 'NOTDEFINED', INDETERMINATE) +airconditioning = IfcDistributionSystemEnum.AIRCONDITIONING +audiovisual = IfcDistributionSystemEnum.AUDIOVISUAL +catenary_system = IfcDistributionSystemEnum.CATENARY_SYSTEM +chemical = IfcDistributionSystemEnum.CHEMICAL +chilledwater = IfcDistributionSystemEnum.CHILLEDWATER +communication = IfcDistributionSystemEnum.COMMUNICATION +compressedair = IfcDistributionSystemEnum.COMPRESSEDAIR +condenserwater = IfcDistributionSystemEnum.CONDENSERWATER +control = IfcDistributionSystemEnum.CONTROL +conveying = IfcDistributionSystemEnum.CONVEYING +data = IfcDistributionSystemEnum.DATA +disposal = IfcDistributionSystemEnum.DISPOSAL +domesticcoldwater = IfcDistributionSystemEnum.DOMESTICCOLDWATER +domestichotwater = IfcDistributionSystemEnum.DOMESTICHOTWATER +drainage = IfcDistributionSystemEnum.DRAINAGE +earthing = IfcDistributionSystemEnum.EARTHING +electrical = IfcDistributionSystemEnum.ELECTRICAL +electroacoustic = IfcDistributionSystemEnum.ELECTROACOUSTIC +exhaust = IfcDistributionSystemEnum.EXHAUST +fireprotection = IfcDistributionSystemEnum.FIREPROTECTION +fixedtransmissionnetwork = IfcDistributionSystemEnum.FIXEDTRANSMISSIONNETWORK +fuel = IfcDistributionSystemEnum.FUEL +gas = IfcDistributionSystemEnum.GAS +hazardous = IfcDistributionSystemEnum.HAZARDOUS +heating = IfcDistributionSystemEnum.HEATING +lighting = IfcDistributionSystemEnum.LIGHTING +lightningprotection = IfcDistributionSystemEnum.LIGHTNINGPROTECTION +mobilenetwork = IfcDistributionSystemEnum.MOBILENETWORK +monitoringsystem = IfcDistributionSystemEnum.MONITORINGSYSTEM +municipalsolidwaste = IfcDistributionSystemEnum.MUNICIPALSOLIDWASTE +oil = IfcDistributionSystemEnum.OIL +operational = IfcDistributionSystemEnum.OPERATIONAL +operationaltelephonysystem = IfcDistributionSystemEnum.OPERATIONALTELEPHONYSYSTEM +overhead_contactline_system = IfcDistributionSystemEnum.OVERHEAD_CONTACTLINE_SYSTEM +powergeneration = IfcDistributionSystemEnum.POWERGENERATION +rainwater = IfcDistributionSystemEnum.RAINWATER +refrigeration = IfcDistributionSystemEnum.REFRIGERATION +return_circuit = IfcDistributionSystemEnum.RETURN_CIRCUIT +security = IfcDistributionSystemEnum.SECURITY +sewage = IfcDistributionSystemEnum.SEWAGE +signal = IfcDistributionSystemEnum.SIGNAL +stormwater = IfcDistributionSystemEnum.STORMWATER +telephone = IfcDistributionSystemEnum.TELEPHONE +tv = IfcDistributionSystemEnum.TV +vacuum = IfcDistributionSystemEnum.VACUUM +vent = IfcDistributionSystemEnum.VENT +ventilation = IfcDistributionSystemEnum.VENTILATION +wastewater = IfcDistributionSystemEnum.WASTEWATER +watersupply = IfcDistributionSystemEnum.WATERSUPPLY +userdefined = IfcDistributionSystemEnum.USERDEFINED +notdefined = IfcDistributionSystemEnum.NOTDEFINED IfcDocumentConfidentialityEnum = enum_namespace() -confidential = express_getattr(IfcDocumentConfidentialityEnum, 'CONFIDENTIAL', INDETERMINATE) -personal = express_getattr(IfcDocumentConfidentialityEnum, 'PERSONAL', INDETERMINATE) -public = express_getattr(IfcDocumentConfidentialityEnum, 'PUBLIC', INDETERMINATE) -restricted = express_getattr(IfcDocumentConfidentialityEnum, 'RESTRICTED', INDETERMINATE) -userdefined = express_getattr(IfcDocumentConfidentialityEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDocumentConfidentialityEnum, 'NOTDEFINED', INDETERMINATE) +confidential = IfcDocumentConfidentialityEnum.CONFIDENTIAL +personal = IfcDocumentConfidentialityEnum.PERSONAL +public = IfcDocumentConfidentialityEnum.PUBLIC +restricted = IfcDocumentConfidentialityEnum.RESTRICTED +userdefined = IfcDocumentConfidentialityEnum.USERDEFINED +notdefined = IfcDocumentConfidentialityEnum.NOTDEFINED IfcDocumentStatusEnum = enum_namespace() -draft = express_getattr(IfcDocumentStatusEnum, 'DRAFT', INDETERMINATE) -final = express_getattr(IfcDocumentStatusEnum, 'FINAL', INDETERMINATE) -finaldraft = express_getattr(IfcDocumentStatusEnum, 'FINALDRAFT', INDETERMINATE) -revision = express_getattr(IfcDocumentStatusEnum, 'REVISION', INDETERMINATE) -notdefined = express_getattr(IfcDocumentStatusEnum, 'NOTDEFINED', INDETERMINATE) +draft = IfcDocumentStatusEnum.DRAFT +final = IfcDocumentStatusEnum.FINAL +finaldraft = IfcDocumentStatusEnum.FINALDRAFT +revision = IfcDocumentStatusEnum.REVISION +notdefined = IfcDocumentStatusEnum.NOTDEFINED IfcDoorPanelOperationEnum = enum_namespace() -double_acting = express_getattr(IfcDoorPanelOperationEnum, 'DOUBLE_ACTING', INDETERMINATE) -fixedpanel = express_getattr(IfcDoorPanelOperationEnum, 'FIXEDPANEL', INDETERMINATE) -folding = express_getattr(IfcDoorPanelOperationEnum, 'FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorPanelOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorPanelOperationEnum, 'ROLLINGUP', INDETERMINATE) -sliding = express_getattr(IfcDoorPanelOperationEnum, 'SLIDING', INDETERMINATE) -swinging = express_getattr(IfcDoorPanelOperationEnum, 'SWINGING', INDETERMINATE) -userdefined = express_getattr(IfcDoorPanelOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +double_acting = IfcDoorPanelOperationEnum.DOUBLE_ACTING +fixedpanel = IfcDoorPanelOperationEnum.FIXEDPANEL +folding = IfcDoorPanelOperationEnum.FOLDING +revolving = IfcDoorPanelOperationEnum.REVOLVING +rollingup = IfcDoorPanelOperationEnum.ROLLINGUP +sliding = IfcDoorPanelOperationEnum.SLIDING +swinging = IfcDoorPanelOperationEnum.SWINGING +userdefined = IfcDoorPanelOperationEnum.USERDEFINED +notdefined = IfcDoorPanelOperationEnum.NOTDEFINED IfcDoorPanelPositionEnum = enum_namespace() -left = express_getattr(IfcDoorPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcDoorPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcDoorPanelPositionEnum, 'RIGHT', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcDoorPanelPositionEnum.LEFT +middle = IfcDoorPanelPositionEnum.MIDDLE +right = IfcDoorPanelPositionEnum.RIGHT +notdefined = IfcDoorPanelPositionEnum.NOTDEFINED IfcDoorTypeEnum = enum_namespace() -boom_barrier = express_getattr(IfcDoorTypeEnum, 'BOOM_BARRIER', INDETERMINATE) -door = express_getattr(IfcDoorTypeEnum, 'DOOR', INDETERMINATE) -gate = express_getattr(IfcDoorTypeEnum, 'GATE', INDETERMINATE) -trapdoor = express_getattr(IfcDoorTypeEnum, 'TRAPDOOR', INDETERMINATE) -turnstile = express_getattr(IfcDoorTypeEnum, 'TURNSTILE', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeEnum, 'NOTDEFINED', INDETERMINATE) +boom_barrier = IfcDoorTypeEnum.BOOM_BARRIER +door = IfcDoorTypeEnum.DOOR +gate = IfcDoorTypeEnum.GATE +trapdoor = IfcDoorTypeEnum.TRAPDOOR +turnstile = IfcDoorTypeEnum.TURNSTILE +userdefined = IfcDoorTypeEnum.USERDEFINED +notdefined = IfcDoorTypeEnum.NOTDEFINED IfcDoorTypeOperationEnum = enum_namespace() -double_door_double_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_DOUBLE_SWING', INDETERMINATE) -double_door_folding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_FOLDING', INDETERMINATE) -double_door_lifting_vertical = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_LIFTING_VERTICAL', INDETERMINATE) -double_door_single_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING', INDETERMINATE) -double_door_single_swing_opposite_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_door_single_swing_opposite_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_door_sliding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SLIDING', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -lifting_horizontal = express_getattr(IfcDoorTypeOperationEnum, 'LIFTING_HORIZONTAL', INDETERMINATE) -lifting_vertical_left = express_getattr(IfcDoorTypeOperationEnum, 'LIFTING_VERTICAL_LEFT', INDETERMINATE) -lifting_vertical_right = express_getattr(IfcDoorTypeOperationEnum, 'LIFTING_VERTICAL_RIGHT', INDETERMINATE) -revolving = express_getattr(IfcDoorTypeOperationEnum, 'REVOLVING', INDETERMINATE) -revolving_vertical = express_getattr(IfcDoorTypeOperationEnum, 'REVOLVING_VERTICAL', INDETERMINATE) -rollingup = express_getattr(IfcDoorTypeOperationEnum, 'ROLLINGUP', INDETERMINATE) -single_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -swing_fixed_left = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_LEFT', INDETERMINATE) -swing_fixed_right = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_RIGHT', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeOperationEnum, 'NOTDEFINED', INDETERMINATE) +double_door_double_swing = IfcDoorTypeOperationEnum.DOUBLE_DOOR_DOUBLE_SWING +double_door_folding = IfcDoorTypeOperationEnum.DOUBLE_DOOR_FOLDING +double_door_lifting_vertical = IfcDoorTypeOperationEnum.DOUBLE_DOOR_LIFTING_VERTICAL +double_door_single_swing = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING +double_door_single_swing_opposite_left = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT +double_door_single_swing_opposite_right = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT +double_door_sliding = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SLIDING +double_swing_left = IfcDoorTypeOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorTypeOperationEnum.DOUBLE_SWING_RIGHT +folding_to_left = IfcDoorTypeOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorTypeOperationEnum.FOLDING_TO_RIGHT +lifting_horizontal = IfcDoorTypeOperationEnum.LIFTING_HORIZONTAL +lifting_vertical_left = IfcDoorTypeOperationEnum.LIFTING_VERTICAL_LEFT +lifting_vertical_right = IfcDoorTypeOperationEnum.LIFTING_VERTICAL_RIGHT +revolving = IfcDoorTypeOperationEnum.REVOLVING +revolving_vertical = IfcDoorTypeOperationEnum.REVOLVING_VERTICAL +rollingup = IfcDoorTypeOperationEnum.ROLLINGUP +single_swing_left = IfcDoorTypeOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorTypeOperationEnum.SINGLE_SWING_RIGHT +sliding_to_left = IfcDoorTypeOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorTypeOperationEnum.SLIDING_TO_RIGHT +swing_fixed_left = IfcDoorTypeOperationEnum.SWING_FIXED_LEFT +swing_fixed_right = IfcDoorTypeOperationEnum.SWING_FIXED_RIGHT +userdefined = IfcDoorTypeOperationEnum.USERDEFINED +notdefined = IfcDoorTypeOperationEnum.NOTDEFINED IfcDuctFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcDuctFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcDuctFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcDuctFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcDuctFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcDuctFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcDuctFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcDuctFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcDuctFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcDuctFittingTypeEnum.BEND +connector = IfcDuctFittingTypeEnum.CONNECTOR +entry = IfcDuctFittingTypeEnum.ENTRY +exit = IfcDuctFittingTypeEnum.EXIT +junction = IfcDuctFittingTypeEnum.JUNCTION +obstruction = IfcDuctFittingTypeEnum.OBSTRUCTION +transition = IfcDuctFittingTypeEnum.TRANSITION +userdefined = IfcDuctFittingTypeEnum.USERDEFINED +notdefined = IfcDuctFittingTypeEnum.NOTDEFINED IfcDuctSegmentTypeEnum = enum_namespace() -flexiblesegment = express_getattr(IfcDuctSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -rigidsegment = express_getattr(IfcDuctSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcDuctSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +flexiblesegment = IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT +rigidsegment = IfcDuctSegmentTypeEnum.RIGIDSEGMENT +userdefined = IfcDuctSegmentTypeEnum.USERDEFINED +notdefined = IfcDuctSegmentTypeEnum.NOTDEFINED IfcDuctSilencerTypeEnum = enum_namespace() -flatoval = express_getattr(IfcDuctSilencerTypeEnum, 'FLATOVAL', INDETERMINATE) -rectangular = express_getattr(IfcDuctSilencerTypeEnum, 'RECTANGULAR', INDETERMINATE) -round = express_getattr(IfcDuctSilencerTypeEnum, 'ROUND', INDETERMINATE) -userdefined = express_getattr(IfcDuctSilencerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSilencerTypeEnum, 'NOTDEFINED', INDETERMINATE) +flatoval = IfcDuctSilencerTypeEnum.FLATOVAL +rectangular = IfcDuctSilencerTypeEnum.RECTANGULAR +round = IfcDuctSilencerTypeEnum.ROUND +userdefined = IfcDuctSilencerTypeEnum.USERDEFINED +notdefined = IfcDuctSilencerTypeEnum.NOTDEFINED IfcEarthworksCutTypeEnum = enum_namespace() -base_excavation = express_getattr(IfcEarthworksCutTypeEnum, 'BASE_EXCAVATION', INDETERMINATE) -cut = express_getattr(IfcEarthworksCutTypeEnum, 'CUT', INDETERMINATE) -dredging = express_getattr(IfcEarthworksCutTypeEnum, 'DREDGING', INDETERMINATE) -excavation = express_getattr(IfcEarthworksCutTypeEnum, 'EXCAVATION', INDETERMINATE) -overexcavation = express_getattr(IfcEarthworksCutTypeEnum, 'OVEREXCAVATION', INDETERMINATE) -pavementmilling = express_getattr(IfcEarthworksCutTypeEnum, 'PAVEMENTMILLING', INDETERMINATE) -stepexcavation = express_getattr(IfcEarthworksCutTypeEnum, 'STEPEXCAVATION', INDETERMINATE) -topsoilremoval = express_getattr(IfcEarthworksCutTypeEnum, 'TOPSOILREMOVAL', INDETERMINATE) -trench = express_getattr(IfcEarthworksCutTypeEnum, 'TRENCH', INDETERMINATE) -userdefined = express_getattr(IfcEarthworksCutTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEarthworksCutTypeEnum, 'NOTDEFINED', INDETERMINATE) +base_excavation = IfcEarthworksCutTypeEnum.BASE_EXCAVATION +cut = IfcEarthworksCutTypeEnum.CUT +dredging = IfcEarthworksCutTypeEnum.DREDGING +excavation = IfcEarthworksCutTypeEnum.EXCAVATION +overexcavation = IfcEarthworksCutTypeEnum.OVEREXCAVATION +pavementmilling = IfcEarthworksCutTypeEnum.PAVEMENTMILLING +stepexcavation = IfcEarthworksCutTypeEnum.STEPEXCAVATION +topsoilremoval = IfcEarthworksCutTypeEnum.TOPSOILREMOVAL +trench = IfcEarthworksCutTypeEnum.TRENCH +userdefined = IfcEarthworksCutTypeEnum.USERDEFINED +notdefined = IfcEarthworksCutTypeEnum.NOTDEFINED IfcEarthworksFillTypeEnum = enum_namespace() -backfill = express_getattr(IfcEarthworksFillTypeEnum, 'BACKFILL', INDETERMINATE) -counterweight = express_getattr(IfcEarthworksFillTypeEnum, 'COUNTERWEIGHT', INDETERMINATE) -embankment = express_getattr(IfcEarthworksFillTypeEnum, 'EMBANKMENT', INDETERMINATE) -slopefill = express_getattr(IfcEarthworksFillTypeEnum, 'SLOPEFILL', INDETERMINATE) -subgrade = express_getattr(IfcEarthworksFillTypeEnum, 'SUBGRADE', INDETERMINATE) -subgradebed = express_getattr(IfcEarthworksFillTypeEnum, 'SUBGRADEBED', INDETERMINATE) -transitionsection = express_getattr(IfcEarthworksFillTypeEnum, 'TRANSITIONSECTION', INDETERMINATE) -userdefined = express_getattr(IfcEarthworksFillTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEarthworksFillTypeEnum, 'NOTDEFINED', INDETERMINATE) +backfill = IfcEarthworksFillTypeEnum.BACKFILL +counterweight = IfcEarthworksFillTypeEnum.COUNTERWEIGHT +embankment = IfcEarthworksFillTypeEnum.EMBANKMENT +slopefill = IfcEarthworksFillTypeEnum.SLOPEFILL +subgrade = IfcEarthworksFillTypeEnum.SUBGRADE +subgradebed = IfcEarthworksFillTypeEnum.SUBGRADEBED +transitionsection = IfcEarthworksFillTypeEnum.TRANSITIONSECTION +userdefined = IfcEarthworksFillTypeEnum.USERDEFINED +notdefined = IfcEarthworksFillTypeEnum.NOTDEFINED IfcElectricApplianceTypeEnum = enum_namespace() -dishwasher = express_getattr(IfcElectricApplianceTypeEnum, 'DISHWASHER', INDETERMINATE) -electriccooker = express_getattr(IfcElectricApplianceTypeEnum, 'ELECTRICCOOKER', INDETERMINATE) -freestandingelectricheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGELECTRICHEATER', INDETERMINATE) -freestandingfan = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGFAN', INDETERMINATE) -freestandingwatercooler = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERCOOLER', INDETERMINATE) -freestandingwaterheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERHEATER', INDETERMINATE) -freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FREEZER', INDETERMINATE) -fridge_freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FRIDGE_FREEZER', INDETERMINATE) -handdryer = express_getattr(IfcElectricApplianceTypeEnum, 'HANDDRYER', INDETERMINATE) -kitchenmachine = express_getattr(IfcElectricApplianceTypeEnum, 'KITCHENMACHINE', INDETERMINATE) -microwave = express_getattr(IfcElectricApplianceTypeEnum, 'MICROWAVE', INDETERMINATE) -photocopier = express_getattr(IfcElectricApplianceTypeEnum, 'PHOTOCOPIER', INDETERMINATE) -refrigerator = express_getattr(IfcElectricApplianceTypeEnum, 'REFRIGERATOR', INDETERMINATE) -tumbledryer = express_getattr(IfcElectricApplianceTypeEnum, 'TUMBLEDRYER', INDETERMINATE) -vendingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'VENDINGMACHINE', INDETERMINATE) -washingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'WASHINGMACHINE', INDETERMINATE) -userdefined = express_getattr(IfcElectricApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +dishwasher = IfcElectricApplianceTypeEnum.DISHWASHER +electriccooker = IfcElectricApplianceTypeEnum.ELECTRICCOOKER +freestandingelectricheater = IfcElectricApplianceTypeEnum.FREESTANDINGELECTRICHEATER +freestandingfan = IfcElectricApplianceTypeEnum.FREESTANDINGFAN +freestandingwatercooler = IfcElectricApplianceTypeEnum.FREESTANDINGWATERCOOLER +freestandingwaterheater = IfcElectricApplianceTypeEnum.FREESTANDINGWATERHEATER +freezer = IfcElectricApplianceTypeEnum.FREEZER +fridge_freezer = IfcElectricApplianceTypeEnum.FRIDGE_FREEZER +handdryer = IfcElectricApplianceTypeEnum.HANDDRYER +kitchenmachine = IfcElectricApplianceTypeEnum.KITCHENMACHINE +microwave = IfcElectricApplianceTypeEnum.MICROWAVE +photocopier = IfcElectricApplianceTypeEnum.PHOTOCOPIER +refrigerator = IfcElectricApplianceTypeEnum.REFRIGERATOR +tumbledryer = IfcElectricApplianceTypeEnum.TUMBLEDRYER +vendingmachine = IfcElectricApplianceTypeEnum.VENDINGMACHINE +washingmachine = IfcElectricApplianceTypeEnum.WASHINGMACHINE +userdefined = IfcElectricApplianceTypeEnum.USERDEFINED +notdefined = IfcElectricApplianceTypeEnum.NOTDEFINED IfcElectricDistributionBoardTypeEnum = enum_namespace() -consumerunit = express_getattr(IfcElectricDistributionBoardTypeEnum, 'CONSUMERUNIT', INDETERMINATE) -distributionboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcElectricDistributionBoardTypeEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -switchboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'SWITCHBOARD', INDETERMINATE) -userdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'NOTDEFINED', INDETERMINATE) +consumerunit = IfcElectricDistributionBoardTypeEnum.CONSUMERUNIT +distributionboard = IfcElectricDistributionBoardTypeEnum.DISTRIBUTIONBOARD +motorcontrolcentre = IfcElectricDistributionBoardTypeEnum.MOTORCONTROLCENTRE +switchboard = IfcElectricDistributionBoardTypeEnum.SWITCHBOARD +userdefined = IfcElectricDistributionBoardTypeEnum.USERDEFINED +notdefined = IfcElectricDistributionBoardTypeEnum.NOTDEFINED IfcElectricFlowStorageDeviceTypeEnum = enum_namespace() -battery = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'BATTERY', INDETERMINATE) -capacitor = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITOR', INDETERMINATE) -capacitorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITORBANK', INDETERMINATE) -compensator = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'COMPENSATOR', INDETERMINATE) -harmonicfilter = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'HARMONICFILTER', INDETERMINATE) -inductor = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTOR', INDETERMINATE) -inductorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTORBANK', INDETERMINATE) -recharger = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'RECHARGER', INDETERMINATE) -ups = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'UPS', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +battery = IfcElectricFlowStorageDeviceTypeEnum.BATTERY +capacitor = IfcElectricFlowStorageDeviceTypeEnum.CAPACITOR +capacitorbank = IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK +compensator = IfcElectricFlowStorageDeviceTypeEnum.COMPENSATOR +harmonicfilter = IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER +inductor = IfcElectricFlowStorageDeviceTypeEnum.INDUCTOR +inductorbank = IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK +recharger = IfcElectricFlowStorageDeviceTypeEnum.RECHARGER +ups = IfcElectricFlowStorageDeviceTypeEnum.UPS +userdefined = IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED IfcElectricFlowTreatmentDeviceTypeEnum = enum_namespace() -electronicfilter = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'ELECTRONICFILTER', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +electronicfilter = IfcElectricFlowTreatmentDeviceTypeEnum.ELECTRONICFILTER +userdefined = IfcElectricFlowTreatmentDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowTreatmentDeviceTypeEnum.NOTDEFINED IfcElectricGeneratorTypeEnum = enum_namespace() -chp = express_getattr(IfcElectricGeneratorTypeEnum, 'CHP', INDETERMINATE) -enginegenerator = express_getattr(IfcElectricGeneratorTypeEnum, 'ENGINEGENERATOR', INDETERMINATE) -standalone = express_getattr(IfcElectricGeneratorTypeEnum, 'STANDALONE', INDETERMINATE) -userdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'NOTDEFINED', INDETERMINATE) +chp = IfcElectricGeneratorTypeEnum.CHP +enginegenerator = IfcElectricGeneratorTypeEnum.ENGINEGENERATOR +standalone = IfcElectricGeneratorTypeEnum.STANDALONE +userdefined = IfcElectricGeneratorTypeEnum.USERDEFINED +notdefined = IfcElectricGeneratorTypeEnum.NOTDEFINED IfcElectricMotorTypeEnum = enum_namespace() -dc = express_getattr(IfcElectricMotorTypeEnum, 'DC', INDETERMINATE) -induction = express_getattr(IfcElectricMotorTypeEnum, 'INDUCTION', INDETERMINATE) -polyphase = express_getattr(IfcElectricMotorTypeEnum, 'POLYPHASE', INDETERMINATE) -reluctancesynchronous = express_getattr(IfcElectricMotorTypeEnum, 'RELUCTANCESYNCHRONOUS', INDETERMINATE) -synchronous = express_getattr(IfcElectricMotorTypeEnum, 'SYNCHRONOUS', INDETERMINATE) -userdefined = express_getattr(IfcElectricMotorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricMotorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dc = IfcElectricMotorTypeEnum.DC +induction = IfcElectricMotorTypeEnum.INDUCTION +polyphase = IfcElectricMotorTypeEnum.POLYPHASE +reluctancesynchronous = IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS +synchronous = IfcElectricMotorTypeEnum.SYNCHRONOUS +userdefined = IfcElectricMotorTypeEnum.USERDEFINED +notdefined = IfcElectricMotorTypeEnum.NOTDEFINED IfcElectricTimeControlTypeEnum = enum_namespace() -relay = express_getattr(IfcElectricTimeControlTypeEnum, 'RELAY', INDETERMINATE) -timeclock = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMECLOCK', INDETERMINATE) -timedelay = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMEDELAY', INDETERMINATE) -userdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'NOTDEFINED', INDETERMINATE) +relay = IfcElectricTimeControlTypeEnum.RELAY +timeclock = IfcElectricTimeControlTypeEnum.TIMECLOCK +timedelay = IfcElectricTimeControlTypeEnum.TIMEDELAY +userdefined = IfcElectricTimeControlTypeEnum.USERDEFINED +notdefined = IfcElectricTimeControlTypeEnum.NOTDEFINED IfcElementAssemblyTypeEnum = enum_namespace() -abutment = express_getattr(IfcElementAssemblyTypeEnum, 'ABUTMENT', INDETERMINATE) -accessory_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'ACCESSORY_ASSEMBLY', INDETERMINATE) -arch = express_getattr(IfcElementAssemblyTypeEnum, 'ARCH', INDETERMINATE) -beam_grid = express_getattr(IfcElementAssemblyTypeEnum, 'BEAM_GRID', INDETERMINATE) -braced_frame = express_getattr(IfcElementAssemblyTypeEnum, 'BRACED_FRAME', INDETERMINATE) -cross_bracing = express_getattr(IfcElementAssemblyTypeEnum, 'CROSS_BRACING', INDETERMINATE) -deck = express_getattr(IfcElementAssemblyTypeEnum, 'DECK', INDETERMINATE) -dilatationpanel = express_getattr(IfcElementAssemblyTypeEnum, 'DILATATIONPANEL', INDETERMINATE) -entranceworks = express_getattr(IfcElementAssemblyTypeEnum, 'ENTRANCEWORKS', INDETERMINATE) -girder = express_getattr(IfcElementAssemblyTypeEnum, 'GIRDER', INDETERMINATE) -grid = express_getattr(IfcElementAssemblyTypeEnum, 'GRID', INDETERMINATE) -mast = express_getattr(IfcElementAssemblyTypeEnum, 'MAST', INDETERMINATE) -pier = express_getattr(IfcElementAssemblyTypeEnum, 'PIER', INDETERMINATE) -pylon = express_getattr(IfcElementAssemblyTypeEnum, 'PYLON', INDETERMINATE) -rail_mechanical_equipment_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY', INDETERMINATE) -reinforcement_unit = express_getattr(IfcElementAssemblyTypeEnum, 'REINFORCEMENT_UNIT', INDETERMINATE) -rigid_frame = express_getattr(IfcElementAssemblyTypeEnum, 'RIGID_FRAME', INDETERMINATE) -shelter = express_getattr(IfcElementAssemblyTypeEnum, 'SHELTER', INDETERMINATE) -signalassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SIGNALASSEMBLY', INDETERMINATE) -slab_field = express_getattr(IfcElementAssemblyTypeEnum, 'SLAB_FIELD', INDETERMINATE) -sumpbuster = express_getattr(IfcElementAssemblyTypeEnum, 'SUMPBUSTER', INDETERMINATE) -supportingassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SUPPORTINGASSEMBLY', INDETERMINATE) -suspensionassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SUSPENSIONASSEMBLY', INDETERMINATE) -trackpanel = express_getattr(IfcElementAssemblyTypeEnum, 'TRACKPANEL', INDETERMINATE) -traction_switching_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'TRACTION_SWITCHING_ASSEMBLY', INDETERMINATE) -traffic_calming_device = express_getattr(IfcElementAssemblyTypeEnum, 'TRAFFIC_CALMING_DEVICE', INDETERMINATE) -truss = express_getattr(IfcElementAssemblyTypeEnum, 'TRUSS', INDETERMINATE) -turnoutpanel = express_getattr(IfcElementAssemblyTypeEnum, 'TURNOUTPANEL', INDETERMINATE) -userdefined = express_getattr(IfcElementAssemblyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElementAssemblyTypeEnum, 'NOTDEFINED', INDETERMINATE) +abutment = IfcElementAssemblyTypeEnum.ABUTMENT +accessory_assembly = IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY +arch = IfcElementAssemblyTypeEnum.ARCH +beam_grid = IfcElementAssemblyTypeEnum.BEAM_GRID +braced_frame = IfcElementAssemblyTypeEnum.BRACED_FRAME +cross_bracing = IfcElementAssemblyTypeEnum.CROSS_BRACING +deck = IfcElementAssemblyTypeEnum.DECK +dilatationpanel = IfcElementAssemblyTypeEnum.DILATATIONPANEL +entranceworks = IfcElementAssemblyTypeEnum.ENTRANCEWORKS +girder = IfcElementAssemblyTypeEnum.GIRDER +grid = IfcElementAssemblyTypeEnum.GRID +mast = IfcElementAssemblyTypeEnum.MAST +pier = IfcElementAssemblyTypeEnum.PIER +pylon = IfcElementAssemblyTypeEnum.PYLON +rail_mechanical_equipment_assembly = IfcElementAssemblyTypeEnum.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY +reinforcement_unit = IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT +rigid_frame = IfcElementAssemblyTypeEnum.RIGID_FRAME +shelter = IfcElementAssemblyTypeEnum.SHELTER +signalassembly = IfcElementAssemblyTypeEnum.SIGNALASSEMBLY +slab_field = IfcElementAssemblyTypeEnum.SLAB_FIELD +sumpbuster = IfcElementAssemblyTypeEnum.SUMPBUSTER +supportingassembly = IfcElementAssemblyTypeEnum.SUPPORTINGASSEMBLY +suspensionassembly = IfcElementAssemblyTypeEnum.SUSPENSIONASSEMBLY +trackpanel = IfcElementAssemblyTypeEnum.TRACKPANEL +traction_switching_assembly = IfcElementAssemblyTypeEnum.TRACTION_SWITCHING_ASSEMBLY +traffic_calming_device = IfcElementAssemblyTypeEnum.TRAFFIC_CALMING_DEVICE +truss = IfcElementAssemblyTypeEnum.TRUSS +turnoutpanel = IfcElementAssemblyTypeEnum.TURNOUTPANEL +userdefined = IfcElementAssemblyTypeEnum.USERDEFINED +notdefined = IfcElementAssemblyTypeEnum.NOTDEFINED IfcElementCompositionEnum = enum_namespace() -complex = express_getattr(IfcElementCompositionEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcElementCompositionEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcElementCompositionEnum, 'PARTIAL', INDETERMINATE) +complex = IfcElementCompositionEnum.COMPLEX +element = IfcElementCompositionEnum.ELEMENT +partial = IfcElementCompositionEnum.PARTIAL IfcEngineTypeEnum = enum_namespace() -externalcombustion = express_getattr(IfcEngineTypeEnum, 'EXTERNALCOMBUSTION', INDETERMINATE) -internalcombustion = express_getattr(IfcEngineTypeEnum, 'INTERNALCOMBUSTION', INDETERMINATE) -userdefined = express_getattr(IfcEngineTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEngineTypeEnum, 'NOTDEFINED', INDETERMINATE) +externalcombustion = IfcEngineTypeEnum.EXTERNALCOMBUSTION +internalcombustion = IfcEngineTypeEnum.INTERNALCOMBUSTION +userdefined = IfcEngineTypeEnum.USERDEFINED +notdefined = IfcEngineTypeEnum.NOTDEFINED IfcEvaporativeCoolerTypeEnum = enum_namespace() -directevaporativeairwasher = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEAIRWASHER', INDETERMINATE) -directevaporativepackagedrotaryaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER', INDETERMINATE) -directevaporativerandommediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER', INDETERMINATE) -directevaporativerigidmediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER', INDETERMINATE) -directevaporativeslingerspackagedaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER', INDETERMINATE) -indirectdirectcombination = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTDIRECTCOMBINATION', INDETERMINATE) -indirectevaporativecoolingtowerorcoilcooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER', INDETERMINATE) -indirectevaporativepackageaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEPACKAGEAIRCOOLER', INDETERMINATE) -indirectevaporativewetcoil = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEWETCOIL', INDETERMINATE) -userdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'NOTDEFINED', INDETERMINATE) +directevaporativeairwasher = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER +directevaporativepackagedrotaryaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER +directevaporativerandommediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER +directevaporativerigidmediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER +directevaporativeslingerspackagedaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER +indirectdirectcombination = IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION +indirectevaporativecoolingtowerorcoilcooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER +indirectevaporativepackageaircooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER +indirectevaporativewetcoil = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL +userdefined = IfcEvaporativeCoolerTypeEnum.USERDEFINED +notdefined = IfcEvaporativeCoolerTypeEnum.NOTDEFINED IfcEvaporatorTypeEnum = enum_namespace() -directexpansion = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSION', INDETERMINATE) -directexpansionbrazedplate = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONBRAZEDPLATE', INDETERMINATE) -directexpansionshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONSHELLANDTUBE', INDETERMINATE) -directexpansiontubeintube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONTUBEINTUBE', INDETERMINATE) -floodedshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'FLOODEDSHELLANDTUBE', INDETERMINATE) -shellandcoil = express_getattr(IfcEvaporatorTypeEnum, 'SHELLANDCOIL', INDETERMINATE) -userdefined = express_getattr(IfcEvaporatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +directexpansion = IfcEvaporatorTypeEnum.DIRECTEXPANSION +directexpansionbrazedplate = IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE +directexpansionshellandtube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE +directexpansiontubeintube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE +floodedshellandtube = IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE +shellandcoil = IfcEvaporatorTypeEnum.SHELLANDCOIL +userdefined = IfcEvaporatorTypeEnum.USERDEFINED +notdefined = IfcEvaporatorTypeEnum.NOTDEFINED IfcEventTriggerTypeEnum = enum_namespace() -eventcomplex = express_getattr(IfcEventTriggerTypeEnum, 'EVENTCOMPLEX', INDETERMINATE) -eventmessage = express_getattr(IfcEventTriggerTypeEnum, 'EVENTMESSAGE', INDETERMINATE) -eventrule = express_getattr(IfcEventTriggerTypeEnum, 'EVENTRULE', INDETERMINATE) -eventtime = express_getattr(IfcEventTriggerTypeEnum, 'EVENTTIME', INDETERMINATE) -userdefined = express_getattr(IfcEventTriggerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTriggerTypeEnum, 'NOTDEFINED', INDETERMINATE) +eventcomplex = IfcEventTriggerTypeEnum.EVENTCOMPLEX +eventmessage = IfcEventTriggerTypeEnum.EVENTMESSAGE +eventrule = IfcEventTriggerTypeEnum.EVENTRULE +eventtime = IfcEventTriggerTypeEnum.EVENTTIME +userdefined = IfcEventTriggerTypeEnum.USERDEFINED +notdefined = IfcEventTriggerTypeEnum.NOTDEFINED IfcEventTypeEnum = enum_namespace() -endevent = express_getattr(IfcEventTypeEnum, 'ENDEVENT', INDETERMINATE) -intermediateevent = express_getattr(IfcEventTypeEnum, 'INTERMEDIATEEVENT', INDETERMINATE) -startevent = express_getattr(IfcEventTypeEnum, 'STARTEVENT', INDETERMINATE) -userdefined = express_getattr(IfcEventTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTypeEnum, 'NOTDEFINED', INDETERMINATE) +endevent = IfcEventTypeEnum.ENDEVENT +intermediateevent = IfcEventTypeEnum.INTERMEDIATEEVENT +startevent = IfcEventTypeEnum.STARTEVENT +userdefined = IfcEventTypeEnum.USERDEFINED +notdefined = IfcEventTypeEnum.NOTDEFINED IfcExternalSpatialElementTypeEnum = enum_namespace() -external = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_fire = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_FIRE', INDETERMINATE) -external_water = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_WATER', INDETERMINATE) -userdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +external = IfcExternalSpatialElementTypeEnum.EXTERNAL +external_earth = IfcExternalSpatialElementTypeEnum.EXTERNAL_EARTH +external_fire = IfcExternalSpatialElementTypeEnum.EXTERNAL_FIRE +external_water = IfcExternalSpatialElementTypeEnum.EXTERNAL_WATER +userdefined = IfcExternalSpatialElementTypeEnum.USERDEFINED +notdefined = IfcExternalSpatialElementTypeEnum.NOTDEFINED IfcFacilityPartCommonTypeEnum = enum_namespace() -aboveground = express_getattr(IfcFacilityPartCommonTypeEnum, 'ABOVEGROUND', INDETERMINATE) -belowground = express_getattr(IfcFacilityPartCommonTypeEnum, 'BELOWGROUND', INDETERMINATE) -junction = express_getattr(IfcFacilityPartCommonTypeEnum, 'JUNCTION', INDETERMINATE) -levelcrossing = express_getattr(IfcFacilityPartCommonTypeEnum, 'LEVELCROSSING', INDETERMINATE) -segment = express_getattr(IfcFacilityPartCommonTypeEnum, 'SEGMENT', INDETERMINATE) -substructure = express_getattr(IfcFacilityPartCommonTypeEnum, 'SUBSTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcFacilityPartCommonTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -terminal = express_getattr(IfcFacilityPartCommonTypeEnum, 'TERMINAL', INDETERMINATE) -userdefined = express_getattr(IfcFacilityPartCommonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFacilityPartCommonTypeEnum, 'NOTDEFINED', INDETERMINATE) +aboveground = IfcFacilityPartCommonTypeEnum.ABOVEGROUND +belowground = IfcFacilityPartCommonTypeEnum.BELOWGROUND +junction = IfcFacilityPartCommonTypeEnum.JUNCTION +levelcrossing = IfcFacilityPartCommonTypeEnum.LEVELCROSSING +segment = IfcFacilityPartCommonTypeEnum.SEGMENT +substructure = IfcFacilityPartCommonTypeEnum.SUBSTRUCTURE +superstructure = IfcFacilityPartCommonTypeEnum.SUPERSTRUCTURE +terminal = IfcFacilityPartCommonTypeEnum.TERMINAL +userdefined = IfcFacilityPartCommonTypeEnum.USERDEFINED +notdefined = IfcFacilityPartCommonTypeEnum.NOTDEFINED IfcFacilityUsageEnum = enum_namespace() -lateral = express_getattr(IfcFacilityUsageEnum, 'LATERAL', INDETERMINATE) -longitudinal = express_getattr(IfcFacilityUsageEnum, 'LONGITUDINAL', INDETERMINATE) -region = express_getattr(IfcFacilityUsageEnum, 'REGION', INDETERMINATE) -vertical = express_getattr(IfcFacilityUsageEnum, 'VERTICAL', INDETERMINATE) -userdefined = express_getattr(IfcFacilityUsageEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFacilityUsageEnum, 'NOTDEFINED', INDETERMINATE) +lateral = IfcFacilityUsageEnum.LATERAL +longitudinal = IfcFacilityUsageEnum.LONGITUDINAL +region = IfcFacilityUsageEnum.REGION +vertical = IfcFacilityUsageEnum.VERTICAL +userdefined = IfcFacilityUsageEnum.USERDEFINED +notdefined = IfcFacilityUsageEnum.NOTDEFINED IfcFanTypeEnum = enum_namespace() -centrifugalairfoil = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALAIRFOIL', INDETERMINATE) -centrifugalbackwardinclinedcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALBACKWARDINCLINEDCURVED', INDETERMINATE) -centrifugalforwardcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALFORWARDCURVED', INDETERMINATE) -centrifugalradial = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALRADIAL', INDETERMINATE) -propelloraxial = express_getattr(IfcFanTypeEnum, 'PROPELLORAXIAL', INDETERMINATE) -tubeaxial = express_getattr(IfcFanTypeEnum, 'TUBEAXIAL', INDETERMINATE) -vaneaxial = express_getattr(IfcFanTypeEnum, 'VANEAXIAL', INDETERMINATE) -userdefined = express_getattr(IfcFanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFanTypeEnum, 'NOTDEFINED', INDETERMINATE) +centrifugalairfoil = IfcFanTypeEnum.CENTRIFUGALAIRFOIL +centrifugalbackwardinclinedcurved = IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED +centrifugalforwardcurved = IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED +centrifugalradial = IfcFanTypeEnum.CENTRIFUGALRADIAL +propelloraxial = IfcFanTypeEnum.PROPELLORAXIAL +tubeaxial = IfcFanTypeEnum.TUBEAXIAL +vaneaxial = IfcFanTypeEnum.VANEAXIAL +userdefined = IfcFanTypeEnum.USERDEFINED +notdefined = IfcFanTypeEnum.NOTDEFINED IfcFastenerTypeEnum = enum_namespace() -glue = express_getattr(IfcFastenerTypeEnum, 'GLUE', INDETERMINATE) -mortar = express_getattr(IfcFastenerTypeEnum, 'MORTAR', INDETERMINATE) -weld = express_getattr(IfcFastenerTypeEnum, 'WELD', INDETERMINATE) -userdefined = express_getattr(IfcFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +glue = IfcFastenerTypeEnum.GLUE +mortar = IfcFastenerTypeEnum.MORTAR +weld = IfcFastenerTypeEnum.WELD +userdefined = IfcFastenerTypeEnum.USERDEFINED +notdefined = IfcFastenerTypeEnum.NOTDEFINED IfcFilterTypeEnum = enum_namespace() -airparticlefilter = express_getattr(IfcFilterTypeEnum, 'AIRPARTICLEFILTER', INDETERMINATE) -compressedairfilter = express_getattr(IfcFilterTypeEnum, 'COMPRESSEDAIRFILTER', INDETERMINATE) -odorfilter = express_getattr(IfcFilterTypeEnum, 'ODORFILTER', INDETERMINATE) -oilfilter = express_getattr(IfcFilterTypeEnum, 'OILFILTER', INDETERMINATE) -strainer = express_getattr(IfcFilterTypeEnum, 'STRAINER', INDETERMINATE) -waterfilter = express_getattr(IfcFilterTypeEnum, 'WATERFILTER', INDETERMINATE) -userdefined = express_getattr(IfcFilterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFilterTypeEnum, 'NOTDEFINED', INDETERMINATE) +airparticlefilter = IfcFilterTypeEnum.AIRPARTICLEFILTER +compressedairfilter = IfcFilterTypeEnum.COMPRESSEDAIRFILTER +odorfilter = IfcFilterTypeEnum.ODORFILTER +oilfilter = IfcFilterTypeEnum.OILFILTER +strainer = IfcFilterTypeEnum.STRAINER +waterfilter = IfcFilterTypeEnum.WATERFILTER +userdefined = IfcFilterTypeEnum.USERDEFINED +notdefined = IfcFilterTypeEnum.NOTDEFINED IfcFireSuppressionTerminalTypeEnum = enum_namespace() -breechinginlet = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'BREECHINGINLET', INDETERMINATE) -firehydrant = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'FIREHYDRANT', INDETERMINATE) -firemonitor = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'FIREMONITOR', INDETERMINATE) -hosereel = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -sprinkler = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLER', INDETERMINATE) -sprinklerdeflector = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLERDEFLECTOR', INDETERMINATE) -userdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +breechinginlet = IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET +firehydrant = IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT +firemonitor = IfcFireSuppressionTerminalTypeEnum.FIREMONITOR +hosereel = IfcFireSuppressionTerminalTypeEnum.HOSEREEL +sprinkler = IfcFireSuppressionTerminalTypeEnum.SPRINKLER +sprinklerdeflector = IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR +userdefined = IfcFireSuppressionTerminalTypeEnum.USERDEFINED +notdefined = IfcFireSuppressionTerminalTypeEnum.NOTDEFINED IfcFlowDirectionEnum = enum_namespace() -sink = express_getattr(IfcFlowDirectionEnum, 'SINK', INDETERMINATE) -source = express_getattr(IfcFlowDirectionEnum, 'SOURCE', INDETERMINATE) -sourceandsink = express_getattr(IfcFlowDirectionEnum, 'SOURCEANDSINK', INDETERMINATE) -notdefined = express_getattr(IfcFlowDirectionEnum, 'NOTDEFINED', INDETERMINATE) +sink = IfcFlowDirectionEnum.SINK +source = IfcFlowDirectionEnum.SOURCE +sourceandsink = IfcFlowDirectionEnum.SOURCEANDSINK +notdefined = IfcFlowDirectionEnum.NOTDEFINED IfcFlowInstrumentTypeEnum = enum_namespace() -ammeter = express_getattr(IfcFlowInstrumentTypeEnum, 'AMMETER', INDETERMINATE) -combined = express_getattr(IfcFlowInstrumentTypeEnum, 'COMBINED', INDETERMINATE) -frequencymeter = express_getattr(IfcFlowInstrumentTypeEnum, 'FREQUENCYMETER', INDETERMINATE) -phaseanglemeter = express_getattr(IfcFlowInstrumentTypeEnum, 'PHASEANGLEMETER', INDETERMINATE) -powerfactormeter = express_getattr(IfcFlowInstrumentTypeEnum, 'POWERFACTORMETER', INDETERMINATE) -pressuregauge = express_getattr(IfcFlowInstrumentTypeEnum, 'PRESSUREGAUGE', INDETERMINATE) -thermometer = express_getattr(IfcFlowInstrumentTypeEnum, 'THERMOMETER', INDETERMINATE) -voltmeter = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER', INDETERMINATE) -voltmeter_peak = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_PEAK', INDETERMINATE) -voltmeter_rms = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_RMS', INDETERMINATE) -userdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'NOTDEFINED', INDETERMINATE) +ammeter = IfcFlowInstrumentTypeEnum.AMMETER +combined = IfcFlowInstrumentTypeEnum.COMBINED +frequencymeter = IfcFlowInstrumentTypeEnum.FREQUENCYMETER +phaseanglemeter = IfcFlowInstrumentTypeEnum.PHASEANGLEMETER +powerfactormeter = IfcFlowInstrumentTypeEnum.POWERFACTORMETER +pressuregauge = IfcFlowInstrumentTypeEnum.PRESSUREGAUGE +thermometer = IfcFlowInstrumentTypeEnum.THERMOMETER +voltmeter = IfcFlowInstrumentTypeEnum.VOLTMETER +voltmeter_peak = IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK +voltmeter_rms = IfcFlowInstrumentTypeEnum.VOLTMETER_RMS +userdefined = IfcFlowInstrumentTypeEnum.USERDEFINED +notdefined = IfcFlowInstrumentTypeEnum.NOTDEFINED IfcFlowMeterTypeEnum = enum_namespace() -energymeter = express_getattr(IfcFlowMeterTypeEnum, 'ENERGYMETER', INDETERMINATE) -gasmeter = express_getattr(IfcFlowMeterTypeEnum, 'GASMETER', INDETERMINATE) -oilmeter = express_getattr(IfcFlowMeterTypeEnum, 'OILMETER', INDETERMINATE) -watermeter = express_getattr(IfcFlowMeterTypeEnum, 'WATERMETER', INDETERMINATE) -userdefined = express_getattr(IfcFlowMeterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowMeterTypeEnum, 'NOTDEFINED', INDETERMINATE) +energymeter = IfcFlowMeterTypeEnum.ENERGYMETER +gasmeter = IfcFlowMeterTypeEnum.GASMETER +oilmeter = IfcFlowMeterTypeEnum.OILMETER +watermeter = IfcFlowMeterTypeEnum.WATERMETER +userdefined = IfcFlowMeterTypeEnum.USERDEFINED +notdefined = IfcFlowMeterTypeEnum.NOTDEFINED IfcFootingTypeEnum = enum_namespace() -caisson_foundation = express_getattr(IfcFootingTypeEnum, 'CAISSON_FOUNDATION', INDETERMINATE) -footing_beam = express_getattr(IfcFootingTypeEnum, 'FOOTING_BEAM', INDETERMINATE) -pad_footing = express_getattr(IfcFootingTypeEnum, 'PAD_FOOTING', INDETERMINATE) -pile_cap = express_getattr(IfcFootingTypeEnum, 'PILE_CAP', INDETERMINATE) -strip_footing = express_getattr(IfcFootingTypeEnum, 'STRIP_FOOTING', INDETERMINATE) -userdefined = express_getattr(IfcFootingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFootingTypeEnum, 'NOTDEFINED', INDETERMINATE) +caisson_foundation = IfcFootingTypeEnum.CAISSON_FOUNDATION +footing_beam = IfcFootingTypeEnum.FOOTING_BEAM +pad_footing = IfcFootingTypeEnum.PAD_FOOTING +pile_cap = IfcFootingTypeEnum.PILE_CAP +strip_footing = IfcFootingTypeEnum.STRIP_FOOTING +userdefined = IfcFootingTypeEnum.USERDEFINED +notdefined = IfcFootingTypeEnum.NOTDEFINED IfcFurnitureTypeEnum = enum_namespace() -bed = express_getattr(IfcFurnitureTypeEnum, 'BED', INDETERMINATE) -chair = express_getattr(IfcFurnitureTypeEnum, 'CHAIR', INDETERMINATE) -desk = express_getattr(IfcFurnitureTypeEnum, 'DESK', INDETERMINATE) -filecabinet = express_getattr(IfcFurnitureTypeEnum, 'FILECABINET', INDETERMINATE) -shelf = express_getattr(IfcFurnitureTypeEnum, 'SHELF', INDETERMINATE) -sofa = express_getattr(IfcFurnitureTypeEnum, 'SOFA', INDETERMINATE) -table = express_getattr(IfcFurnitureTypeEnum, 'TABLE', INDETERMINATE) -technicalcabinet = express_getattr(IfcFurnitureTypeEnum, 'TECHNICALCABINET', INDETERMINATE) -userdefined = express_getattr(IfcFurnitureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFurnitureTypeEnum, 'NOTDEFINED', INDETERMINATE) +bed = IfcFurnitureTypeEnum.BED +chair = IfcFurnitureTypeEnum.CHAIR +desk = IfcFurnitureTypeEnum.DESK +filecabinet = IfcFurnitureTypeEnum.FILECABINET +shelf = IfcFurnitureTypeEnum.SHELF +sofa = IfcFurnitureTypeEnum.SOFA +table = IfcFurnitureTypeEnum.TABLE +technicalcabinet = IfcFurnitureTypeEnum.TECHNICALCABINET +userdefined = IfcFurnitureTypeEnum.USERDEFINED +notdefined = IfcFurnitureTypeEnum.NOTDEFINED IfcGeographicElementTypeEnum = enum_namespace() -soil_boring_point = express_getattr(IfcGeographicElementTypeEnum, 'SOIL_BORING_POINT', INDETERMINATE) -terrain = express_getattr(IfcGeographicElementTypeEnum, 'TERRAIN', INDETERMINATE) -vegetation = express_getattr(IfcGeographicElementTypeEnum, 'VEGETATION', INDETERMINATE) -userdefined = express_getattr(IfcGeographicElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeographicElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +soil_boring_point = IfcGeographicElementTypeEnum.SOIL_BORING_POINT +terrain = IfcGeographicElementTypeEnum.TERRAIN +vegetation = IfcGeographicElementTypeEnum.VEGETATION +userdefined = IfcGeographicElementTypeEnum.USERDEFINED +notdefined = IfcGeographicElementTypeEnum.NOTDEFINED IfcGeometricProjectionEnum = enum_namespace() -elevation_view = express_getattr(IfcGeometricProjectionEnum, 'ELEVATION_VIEW', INDETERMINATE) -graph_view = express_getattr(IfcGeometricProjectionEnum, 'GRAPH_VIEW', INDETERMINATE) -model_view = express_getattr(IfcGeometricProjectionEnum, 'MODEL_VIEW', INDETERMINATE) -plan_view = express_getattr(IfcGeometricProjectionEnum, 'PLAN_VIEW', INDETERMINATE) -reflected_plan_view = express_getattr(IfcGeometricProjectionEnum, 'REFLECTED_PLAN_VIEW', INDETERMINATE) -section_view = express_getattr(IfcGeometricProjectionEnum, 'SECTION_VIEW', INDETERMINATE) -sketch_view = express_getattr(IfcGeometricProjectionEnum, 'SKETCH_VIEW', INDETERMINATE) -userdefined = express_getattr(IfcGeometricProjectionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeometricProjectionEnum, 'NOTDEFINED', INDETERMINATE) +elevation_view = IfcGeometricProjectionEnum.ELEVATION_VIEW +graph_view = IfcGeometricProjectionEnum.GRAPH_VIEW +model_view = IfcGeometricProjectionEnum.MODEL_VIEW +plan_view = IfcGeometricProjectionEnum.PLAN_VIEW +reflected_plan_view = IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW +section_view = IfcGeometricProjectionEnum.SECTION_VIEW +sketch_view = IfcGeometricProjectionEnum.SKETCH_VIEW +userdefined = IfcGeometricProjectionEnum.USERDEFINED +notdefined = IfcGeometricProjectionEnum.NOTDEFINED IfcGeotechnicalStratumTypeEnum = enum_namespace() -solid = express_getattr(IfcGeotechnicalStratumTypeEnum, 'SOLID', INDETERMINATE) -void = express_getattr(IfcGeotechnicalStratumTypeEnum, 'VOID', INDETERMINATE) -water = express_getattr(IfcGeotechnicalStratumTypeEnum, 'WATER', INDETERMINATE) -userdefined = express_getattr(IfcGeotechnicalStratumTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeotechnicalStratumTypeEnum, 'NOTDEFINED', INDETERMINATE) +solid = IfcGeotechnicalStratumTypeEnum.SOLID +void = IfcGeotechnicalStratumTypeEnum.VOID +water = IfcGeotechnicalStratumTypeEnum.WATER +userdefined = IfcGeotechnicalStratumTypeEnum.USERDEFINED +notdefined = IfcGeotechnicalStratumTypeEnum.NOTDEFINED IfcGlobalOrLocalEnum = enum_namespace() -global_coords = express_getattr(IfcGlobalOrLocalEnum, 'GLOBAL_COORDS', INDETERMINATE) -local_coords = express_getattr(IfcGlobalOrLocalEnum, 'LOCAL_COORDS', INDETERMINATE) +global_coords = IfcGlobalOrLocalEnum.GLOBAL_COORDS +local_coords = IfcGlobalOrLocalEnum.LOCAL_COORDS IfcGridTypeEnum = enum_namespace() -irregular = express_getattr(IfcGridTypeEnum, 'IRREGULAR', INDETERMINATE) -radial = express_getattr(IfcGridTypeEnum, 'RADIAL', INDETERMINATE) -rectangular = express_getattr(IfcGridTypeEnum, 'RECTANGULAR', INDETERMINATE) -triangular = express_getattr(IfcGridTypeEnum, 'TRIANGULAR', INDETERMINATE) -userdefined = express_getattr(IfcGridTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGridTypeEnum, 'NOTDEFINED', INDETERMINATE) +irregular = IfcGridTypeEnum.IRREGULAR +radial = IfcGridTypeEnum.RADIAL +rectangular = IfcGridTypeEnum.RECTANGULAR +triangular = IfcGridTypeEnum.TRIANGULAR +userdefined = IfcGridTypeEnum.USERDEFINED +notdefined = IfcGridTypeEnum.NOTDEFINED IfcHeatExchangerTypeEnum = enum_namespace() -plate = express_getattr(IfcHeatExchangerTypeEnum, 'PLATE', INDETERMINATE) -shellandtube = express_getattr(IfcHeatExchangerTypeEnum, 'SHELLANDTUBE', INDETERMINATE) -turnoutheating = express_getattr(IfcHeatExchangerTypeEnum, 'TURNOUTHEATING', INDETERMINATE) -userdefined = express_getattr(IfcHeatExchangerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHeatExchangerTypeEnum, 'NOTDEFINED', INDETERMINATE) +plate = IfcHeatExchangerTypeEnum.PLATE +shellandtube = IfcHeatExchangerTypeEnum.SHELLANDTUBE +turnoutheating = IfcHeatExchangerTypeEnum.TURNOUTHEATING +userdefined = IfcHeatExchangerTypeEnum.USERDEFINED +notdefined = IfcHeatExchangerTypeEnum.NOTDEFINED IfcHumidifierTypeEnum = enum_namespace() -adiabaticairwasher = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICAIRWASHER', INDETERMINATE) -adiabaticatomizing = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICATOMIZING', INDETERMINATE) -adiabaticcompressedairnozzle = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICCOMPRESSEDAIRNOZZLE', INDETERMINATE) -adiabaticpan = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICPAN', INDETERMINATE) -adiabaticrigidmedia = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICRIGIDMEDIA', INDETERMINATE) -adiabaticultrasonic = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICULTRASONIC', INDETERMINATE) -adiabaticwettedelement = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICWETTEDELEMENT', INDETERMINATE) -assistedbutane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDBUTANE', INDETERMINATE) -assistedelectric = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDELECTRIC', INDETERMINATE) -assistednaturalgas = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDNATURALGAS', INDETERMINATE) -assistedpropane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDPROPANE', INDETERMINATE) -assistedsteam = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDSTEAM', INDETERMINATE) -steaminjection = express_getattr(IfcHumidifierTypeEnum, 'STEAMINJECTION', INDETERMINATE) -userdefined = express_getattr(IfcHumidifierTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHumidifierTypeEnum, 'NOTDEFINED', INDETERMINATE) +adiabaticairwasher = IfcHumidifierTypeEnum.ADIABATICAIRWASHER +adiabaticatomizing = IfcHumidifierTypeEnum.ADIABATICATOMIZING +adiabaticcompressedairnozzle = IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE +adiabaticpan = IfcHumidifierTypeEnum.ADIABATICPAN +adiabaticrigidmedia = IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA +adiabaticultrasonic = IfcHumidifierTypeEnum.ADIABATICULTRASONIC +adiabaticwettedelement = IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT +assistedbutane = IfcHumidifierTypeEnum.ASSISTEDBUTANE +assistedelectric = IfcHumidifierTypeEnum.ASSISTEDELECTRIC +assistednaturalgas = IfcHumidifierTypeEnum.ASSISTEDNATURALGAS +assistedpropane = IfcHumidifierTypeEnum.ASSISTEDPROPANE +assistedsteam = IfcHumidifierTypeEnum.ASSISTEDSTEAM +steaminjection = IfcHumidifierTypeEnum.STEAMINJECTION +userdefined = IfcHumidifierTypeEnum.USERDEFINED +notdefined = IfcHumidifierTypeEnum.NOTDEFINED IfcImpactProtectionDeviceTypeEnum = enum_namespace() -bumper = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'BUMPER', INDETERMINATE) -crashcushion = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'CRASHCUSHION', INDETERMINATE) -dampingsystem = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'DAMPINGSYSTEM', INDETERMINATE) -fender = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'FENDER', INDETERMINATE) -userdefined = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +bumper = IfcImpactProtectionDeviceTypeEnum.BUMPER +crashcushion = IfcImpactProtectionDeviceTypeEnum.CRASHCUSHION +dampingsystem = IfcImpactProtectionDeviceTypeEnum.DAMPINGSYSTEM +fender = IfcImpactProtectionDeviceTypeEnum.FENDER +userdefined = IfcImpactProtectionDeviceTypeEnum.USERDEFINED +notdefined = IfcImpactProtectionDeviceTypeEnum.NOTDEFINED IfcInterceptorTypeEnum = enum_namespace() -cyclonic = express_getattr(IfcInterceptorTypeEnum, 'CYCLONIC', INDETERMINATE) -grease = express_getattr(IfcInterceptorTypeEnum, 'GREASE', INDETERMINATE) -oil = express_getattr(IfcInterceptorTypeEnum, 'OIL', INDETERMINATE) -petrol = express_getattr(IfcInterceptorTypeEnum, 'PETROL', INDETERMINATE) -userdefined = express_getattr(IfcInterceptorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInterceptorTypeEnum, 'NOTDEFINED', INDETERMINATE) +cyclonic = IfcInterceptorTypeEnum.CYCLONIC +grease = IfcInterceptorTypeEnum.GREASE +oil = IfcInterceptorTypeEnum.OIL +petrol = IfcInterceptorTypeEnum.PETROL +userdefined = IfcInterceptorTypeEnum.USERDEFINED +notdefined = IfcInterceptorTypeEnum.NOTDEFINED IfcInternalOrExternalEnum = enum_namespace() -external = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_fire = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_FIRE', INDETERMINATE) -external_water = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_WATER', INDETERMINATE) -internal = express_getattr(IfcInternalOrExternalEnum, 'INTERNAL', INDETERMINATE) -notdefined = express_getattr(IfcInternalOrExternalEnum, 'NOTDEFINED', INDETERMINATE) +external = IfcInternalOrExternalEnum.EXTERNAL +external_earth = IfcInternalOrExternalEnum.EXTERNAL_EARTH +external_fire = IfcInternalOrExternalEnum.EXTERNAL_FIRE +external_water = IfcInternalOrExternalEnum.EXTERNAL_WATER +internal = IfcInternalOrExternalEnum.INTERNAL +notdefined = IfcInternalOrExternalEnum.NOTDEFINED IfcInventoryTypeEnum = enum_namespace() -assetinventory = express_getattr(IfcInventoryTypeEnum, 'ASSETINVENTORY', INDETERMINATE) -furnitureinventory = express_getattr(IfcInventoryTypeEnum, 'FURNITUREINVENTORY', INDETERMINATE) -spaceinventory = express_getattr(IfcInventoryTypeEnum, 'SPACEINVENTORY', INDETERMINATE) -userdefined = express_getattr(IfcInventoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInventoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +assetinventory = IfcInventoryTypeEnum.ASSETINVENTORY +furnitureinventory = IfcInventoryTypeEnum.FURNITUREINVENTORY +spaceinventory = IfcInventoryTypeEnum.SPACEINVENTORY +userdefined = IfcInventoryTypeEnum.USERDEFINED +notdefined = IfcInventoryTypeEnum.NOTDEFINED IfcJunctionBoxTypeEnum = enum_namespace() -data = express_getattr(IfcJunctionBoxTypeEnum, 'DATA', INDETERMINATE) -power = express_getattr(IfcJunctionBoxTypeEnum, 'POWER', INDETERMINATE) -userdefined = express_getattr(IfcJunctionBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcJunctionBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +data = IfcJunctionBoxTypeEnum.DATA +power = IfcJunctionBoxTypeEnum.POWER +userdefined = IfcJunctionBoxTypeEnum.USERDEFINED +notdefined = IfcJunctionBoxTypeEnum.NOTDEFINED IfcKerbTypeEnum = enum_namespace() -userdefined = express_getattr(IfcKerbTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcKerbTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcKerbTypeEnum.USERDEFINED +notdefined = IfcKerbTypeEnum.NOTDEFINED IfcKnotType = enum_namespace() -piecewise_bezier_knots = express_getattr(IfcKnotType, 'PIECEWISE_BEZIER_KNOTS', INDETERMINATE) -quasi_uniform_knots = express_getattr(IfcKnotType, 'QUASI_UNIFORM_KNOTS', INDETERMINATE) -uniform_knots = express_getattr(IfcKnotType, 'UNIFORM_KNOTS', INDETERMINATE) -unspecified = express_getattr(IfcKnotType, 'UNSPECIFIED', INDETERMINATE) +piecewise_bezier_knots = IfcKnotType.PIECEWISE_BEZIER_KNOTS +quasi_uniform_knots = IfcKnotType.QUASI_UNIFORM_KNOTS +uniform_knots = IfcKnotType.UNIFORM_KNOTS +unspecified = IfcKnotType.UNSPECIFIED IfcLaborResourceTypeEnum = enum_namespace() -administration = express_getattr(IfcLaborResourceTypeEnum, 'ADMINISTRATION', INDETERMINATE) -carpentry = express_getattr(IfcLaborResourceTypeEnum, 'CARPENTRY', INDETERMINATE) -cleaning = express_getattr(IfcLaborResourceTypeEnum, 'CLEANING', INDETERMINATE) -concrete = express_getattr(IfcLaborResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcLaborResourceTypeEnum, 'DRYWALL', INDETERMINATE) -electric = express_getattr(IfcLaborResourceTypeEnum, 'ELECTRIC', INDETERMINATE) -finishing = express_getattr(IfcLaborResourceTypeEnum, 'FINISHING', INDETERMINATE) -flooring = express_getattr(IfcLaborResourceTypeEnum, 'FLOORING', INDETERMINATE) -general = express_getattr(IfcLaborResourceTypeEnum, 'GENERAL', INDETERMINATE) -hvac = express_getattr(IfcLaborResourceTypeEnum, 'HVAC', INDETERMINATE) -landscaping = express_getattr(IfcLaborResourceTypeEnum, 'LANDSCAPING', INDETERMINATE) -masonry = express_getattr(IfcLaborResourceTypeEnum, 'MASONRY', INDETERMINATE) -painting = express_getattr(IfcLaborResourceTypeEnum, 'PAINTING', INDETERMINATE) -paving = express_getattr(IfcLaborResourceTypeEnum, 'PAVING', INDETERMINATE) -plumbing = express_getattr(IfcLaborResourceTypeEnum, 'PLUMBING', INDETERMINATE) -roofing = express_getattr(IfcLaborResourceTypeEnum, 'ROOFING', INDETERMINATE) -sitegrading = express_getattr(IfcLaborResourceTypeEnum, 'SITEGRADING', INDETERMINATE) -steelwork = express_getattr(IfcLaborResourceTypeEnum, 'STEELWORK', INDETERMINATE) -surveying = express_getattr(IfcLaborResourceTypeEnum, 'SURVEYING', INDETERMINATE) -userdefined = express_getattr(IfcLaborResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLaborResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +administration = IfcLaborResourceTypeEnum.ADMINISTRATION +carpentry = IfcLaborResourceTypeEnum.CARPENTRY +cleaning = IfcLaborResourceTypeEnum.CLEANING +concrete = IfcLaborResourceTypeEnum.CONCRETE +drywall = IfcLaborResourceTypeEnum.DRYWALL +electric = IfcLaborResourceTypeEnum.ELECTRIC +finishing = IfcLaborResourceTypeEnum.FINISHING +flooring = IfcLaborResourceTypeEnum.FLOORING +general = IfcLaborResourceTypeEnum.GENERAL +hvac = IfcLaborResourceTypeEnum.HVAC +landscaping = IfcLaborResourceTypeEnum.LANDSCAPING +masonry = IfcLaborResourceTypeEnum.MASONRY +painting = IfcLaborResourceTypeEnum.PAINTING +paving = IfcLaborResourceTypeEnum.PAVING +plumbing = IfcLaborResourceTypeEnum.PLUMBING +roofing = IfcLaborResourceTypeEnum.ROOFING +sitegrading = IfcLaborResourceTypeEnum.SITEGRADING +steelwork = IfcLaborResourceTypeEnum.STEELWORK +surveying = IfcLaborResourceTypeEnum.SURVEYING +userdefined = IfcLaborResourceTypeEnum.USERDEFINED +notdefined = IfcLaborResourceTypeEnum.NOTDEFINED IfcLampTypeEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLampTypeEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLampTypeEnum, 'FLUORESCENT', INDETERMINATE) -halogen = express_getattr(IfcLampTypeEnum, 'HALOGEN', INDETERMINATE) -highpressuremercury = express_getattr(IfcLampTypeEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLampTypeEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -led = express_getattr(IfcLampTypeEnum, 'LED', INDETERMINATE) -metalhalide = express_getattr(IfcLampTypeEnum, 'METALHALIDE', INDETERMINATE) -oled = express_getattr(IfcLampTypeEnum, 'OLED', INDETERMINATE) -tungstenfilament = express_getattr(IfcLampTypeEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -userdefined = express_getattr(IfcLampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLampTypeEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLampTypeEnum.COMPACTFLUORESCENT +fluorescent = IfcLampTypeEnum.FLUORESCENT +halogen = IfcLampTypeEnum.HALOGEN +highpressuremercury = IfcLampTypeEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLampTypeEnum.HIGHPRESSURESODIUM +led = IfcLampTypeEnum.LED +metalhalide = IfcLampTypeEnum.METALHALIDE +oled = IfcLampTypeEnum.OLED +tungstenfilament = IfcLampTypeEnum.TUNGSTENFILAMENT +userdefined = IfcLampTypeEnum.USERDEFINED +notdefined = IfcLampTypeEnum.NOTDEFINED IfcLayerSetDirectionEnum = enum_namespace() -axis1 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS1', INDETERMINATE) -axis2 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS2', INDETERMINATE) -axis3 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS3', INDETERMINATE) +axis1 = IfcLayerSetDirectionEnum.AXIS1 +axis2 = IfcLayerSetDirectionEnum.AXIS2 +axis3 = IfcLayerSetDirectionEnum.AXIS3 IfcLightDistributionCurveEnum = enum_namespace() -type_a = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_A', INDETERMINATE) -type_b = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_B', INDETERMINATE) -type_c = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_C', INDETERMINATE) -notdefined = express_getattr(IfcLightDistributionCurveEnum, 'NOTDEFINED', INDETERMINATE) +type_a = IfcLightDistributionCurveEnum.TYPE_A +type_b = IfcLightDistributionCurveEnum.TYPE_B +type_c = IfcLightDistributionCurveEnum.TYPE_C +notdefined = IfcLightDistributionCurveEnum.NOTDEFINED IfcLightEmissionSourceEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLightEmissionSourceEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLightEmissionSourceEnum, 'FLUORESCENT', INDETERMINATE) -highpressuremercury = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -lightemittingdiode = express_getattr(IfcLightEmissionSourceEnum, 'LIGHTEMITTINGDIODE', INDETERMINATE) -lowpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'LOWPRESSURESODIUM', INDETERMINATE) -lowvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'LOWVOLTAGEHALOGEN', INDETERMINATE) -mainvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'MAINVOLTAGEHALOGEN', INDETERMINATE) -metalhalide = express_getattr(IfcLightEmissionSourceEnum, 'METALHALIDE', INDETERMINATE) -tungstenfilament = express_getattr(IfcLightEmissionSourceEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -notdefined = express_getattr(IfcLightEmissionSourceEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLightEmissionSourceEnum.COMPACTFLUORESCENT +fluorescent = IfcLightEmissionSourceEnum.FLUORESCENT +highpressuremercury = IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM +lightemittingdiode = IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE +lowpressuresodium = IfcLightEmissionSourceEnum.LOWPRESSURESODIUM +lowvoltagehalogen = IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN +mainvoltagehalogen = IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN +metalhalide = IfcLightEmissionSourceEnum.METALHALIDE +tungstenfilament = IfcLightEmissionSourceEnum.TUNGSTENFILAMENT +notdefined = IfcLightEmissionSourceEnum.NOTDEFINED IfcLightFixtureTypeEnum = enum_namespace() -directionsource = express_getattr(IfcLightFixtureTypeEnum, 'DIRECTIONSOURCE', INDETERMINATE) -pointsource = express_getattr(IfcLightFixtureTypeEnum, 'POINTSOURCE', INDETERMINATE) -securitylighting = express_getattr(IfcLightFixtureTypeEnum, 'SECURITYLIGHTING', INDETERMINATE) -userdefined = express_getattr(IfcLightFixtureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLightFixtureTypeEnum, 'NOTDEFINED', INDETERMINATE) +directionsource = IfcLightFixtureTypeEnum.DIRECTIONSOURCE +pointsource = IfcLightFixtureTypeEnum.POINTSOURCE +securitylighting = IfcLightFixtureTypeEnum.SECURITYLIGHTING +userdefined = IfcLightFixtureTypeEnum.USERDEFINED +notdefined = IfcLightFixtureTypeEnum.NOTDEFINED IfcLiquidTerminalTypeEnum = enum_namespace() -hosereel = express_getattr(IfcLiquidTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -loadingarm = express_getattr(IfcLiquidTerminalTypeEnum, 'LOADINGARM', INDETERMINATE) -userdefined = express_getattr(IfcLiquidTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLiquidTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +hosereel = IfcLiquidTerminalTypeEnum.HOSEREEL +loadingarm = IfcLiquidTerminalTypeEnum.LOADINGARM +userdefined = IfcLiquidTerminalTypeEnum.USERDEFINED +notdefined = IfcLiquidTerminalTypeEnum.NOTDEFINED IfcLoadGroupTypeEnum = enum_namespace() -load_case = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_CASE', INDETERMINATE) -load_combination = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_COMBINATION', INDETERMINATE) -load_group = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_GROUP', INDETERMINATE) -userdefined = express_getattr(IfcLoadGroupTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLoadGroupTypeEnum, 'NOTDEFINED', INDETERMINATE) +load_case = IfcLoadGroupTypeEnum.LOAD_CASE +load_combination = IfcLoadGroupTypeEnum.LOAD_COMBINATION +load_group = IfcLoadGroupTypeEnum.LOAD_GROUP +userdefined = IfcLoadGroupTypeEnum.USERDEFINED +notdefined = IfcLoadGroupTypeEnum.NOTDEFINED IfcLogicalOperatorEnum = enum_namespace() -logicaland = express_getattr(IfcLogicalOperatorEnum, 'LOGICALAND', INDETERMINATE) -logicalnotand = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTAND', INDETERMINATE) -logicalnotor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTOR', INDETERMINATE) -logicalor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALOR', INDETERMINATE) -logicalxor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALXOR', INDETERMINATE) +logicaland = IfcLogicalOperatorEnum.LOGICALAND +logicalnotand = IfcLogicalOperatorEnum.LOGICALNOTAND +logicalnotor = IfcLogicalOperatorEnum.LOGICALNOTOR +logicalor = IfcLogicalOperatorEnum.LOGICALOR +logicalxor = IfcLogicalOperatorEnum.LOGICALXOR IfcMarineFacilityTypeEnum = enum_namespace() -barrierbeach = express_getattr(IfcMarineFacilityTypeEnum, 'BARRIERBEACH', INDETERMINATE) -breakwater = express_getattr(IfcMarineFacilityTypeEnum, 'BREAKWATER', INDETERMINATE) -canal = express_getattr(IfcMarineFacilityTypeEnum, 'CANAL', INDETERMINATE) -drydock = express_getattr(IfcMarineFacilityTypeEnum, 'DRYDOCK', INDETERMINATE) -floatingdock = express_getattr(IfcMarineFacilityTypeEnum, 'FLOATINGDOCK', INDETERMINATE) -hydrolift = express_getattr(IfcMarineFacilityTypeEnum, 'HYDROLIFT', INDETERMINATE) -jetty = express_getattr(IfcMarineFacilityTypeEnum, 'JETTY', INDETERMINATE) -launchrecovery = express_getattr(IfcMarineFacilityTypeEnum, 'LAUNCHRECOVERY', INDETERMINATE) -marinedefence = express_getattr(IfcMarineFacilityTypeEnum, 'MARINEDEFENCE', INDETERMINATE) -navigationalchannel = express_getattr(IfcMarineFacilityTypeEnum, 'NAVIGATIONALCHANNEL', INDETERMINATE) -port = express_getattr(IfcMarineFacilityTypeEnum, 'PORT', INDETERMINATE) -quay = express_getattr(IfcMarineFacilityTypeEnum, 'QUAY', INDETERMINATE) -revetment = express_getattr(IfcMarineFacilityTypeEnum, 'REVETMENT', INDETERMINATE) -shiplift = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPLIFT', INDETERMINATE) -shiplock = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPLOCK', INDETERMINATE) -shipyard = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPYARD', INDETERMINATE) -slipway = express_getattr(IfcMarineFacilityTypeEnum, 'SLIPWAY', INDETERMINATE) -waterway = express_getattr(IfcMarineFacilityTypeEnum, 'WATERWAY', INDETERMINATE) -waterwayshiplift = express_getattr(IfcMarineFacilityTypeEnum, 'WATERWAYSHIPLIFT', INDETERMINATE) -userdefined = express_getattr(IfcMarineFacilityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMarineFacilityTypeEnum, 'NOTDEFINED', INDETERMINATE) +barrierbeach = IfcMarineFacilityTypeEnum.BARRIERBEACH +breakwater = IfcMarineFacilityTypeEnum.BREAKWATER +canal = IfcMarineFacilityTypeEnum.CANAL +drydock = IfcMarineFacilityTypeEnum.DRYDOCK +floatingdock = IfcMarineFacilityTypeEnum.FLOATINGDOCK +hydrolift = IfcMarineFacilityTypeEnum.HYDROLIFT +jetty = IfcMarineFacilityTypeEnum.JETTY +launchrecovery = IfcMarineFacilityTypeEnum.LAUNCHRECOVERY +marinedefence = IfcMarineFacilityTypeEnum.MARINEDEFENCE +navigationalchannel = IfcMarineFacilityTypeEnum.NAVIGATIONALCHANNEL +port = IfcMarineFacilityTypeEnum.PORT +quay = IfcMarineFacilityTypeEnum.QUAY +revetment = IfcMarineFacilityTypeEnum.REVETMENT +shiplift = IfcMarineFacilityTypeEnum.SHIPLIFT +shiplock = IfcMarineFacilityTypeEnum.SHIPLOCK +shipyard = IfcMarineFacilityTypeEnum.SHIPYARD +slipway = IfcMarineFacilityTypeEnum.SLIPWAY +waterway = IfcMarineFacilityTypeEnum.WATERWAY +waterwayshiplift = IfcMarineFacilityTypeEnum.WATERWAYSHIPLIFT +userdefined = IfcMarineFacilityTypeEnum.USERDEFINED +notdefined = IfcMarineFacilityTypeEnum.NOTDEFINED IfcMarinePartTypeEnum = enum_namespace() -abovewaterline = express_getattr(IfcMarinePartTypeEnum, 'ABOVEWATERLINE', INDETERMINATE) -anchorage = express_getattr(IfcMarinePartTypeEnum, 'ANCHORAGE', INDETERMINATE) -approachchannel = express_getattr(IfcMarinePartTypeEnum, 'APPROACHCHANNEL', INDETERMINATE) -belowwaterline = express_getattr(IfcMarinePartTypeEnum, 'BELOWWATERLINE', INDETERMINATE) -berthingstructure = express_getattr(IfcMarinePartTypeEnum, 'BERTHINGSTRUCTURE', INDETERMINATE) -chamber = express_getattr(IfcMarinePartTypeEnum, 'CHAMBER', INDETERMINATE) -cill_level = express_getattr(IfcMarinePartTypeEnum, 'CILL_LEVEL', INDETERMINATE) -copelevel = express_getattr(IfcMarinePartTypeEnum, 'COPELEVEL', INDETERMINATE) -core = express_getattr(IfcMarinePartTypeEnum, 'CORE', INDETERMINATE) -crest = express_getattr(IfcMarinePartTypeEnum, 'CREST', INDETERMINATE) -gatehead = express_getattr(IfcMarinePartTypeEnum, 'GATEHEAD', INDETERMINATE) -gudingstructure = express_getattr(IfcMarinePartTypeEnum, 'GUDINGSTRUCTURE', INDETERMINATE) -highwaterline = express_getattr(IfcMarinePartTypeEnum, 'HIGHWATERLINE', INDETERMINATE) -landfield = express_getattr(IfcMarinePartTypeEnum, 'LANDFIELD', INDETERMINATE) -leewardside = express_getattr(IfcMarinePartTypeEnum, 'LEEWARDSIDE', INDETERMINATE) -lowwaterline = express_getattr(IfcMarinePartTypeEnum, 'LOWWATERLINE', INDETERMINATE) -manufacturing = express_getattr(IfcMarinePartTypeEnum, 'MANUFACTURING', INDETERMINATE) -navigationalarea = express_getattr(IfcMarinePartTypeEnum, 'NAVIGATIONALAREA', INDETERMINATE) -protection = express_getattr(IfcMarinePartTypeEnum, 'PROTECTION', INDETERMINATE) -shiptransfer = express_getattr(IfcMarinePartTypeEnum, 'SHIPTRANSFER', INDETERMINATE) -storagearea = express_getattr(IfcMarinePartTypeEnum, 'STORAGEAREA', INDETERMINATE) -vehicleservicing = express_getattr(IfcMarinePartTypeEnum, 'VEHICLESERVICING', INDETERMINATE) -waterfield = express_getattr(IfcMarinePartTypeEnum, 'WATERFIELD', INDETERMINATE) -weatherside = express_getattr(IfcMarinePartTypeEnum, 'WEATHERSIDE', INDETERMINATE) -userdefined = express_getattr(IfcMarinePartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMarinePartTypeEnum, 'NOTDEFINED', INDETERMINATE) +abovewaterline = IfcMarinePartTypeEnum.ABOVEWATERLINE +anchorage = IfcMarinePartTypeEnum.ANCHORAGE +approachchannel = IfcMarinePartTypeEnum.APPROACHCHANNEL +belowwaterline = IfcMarinePartTypeEnum.BELOWWATERLINE +berthingstructure = IfcMarinePartTypeEnum.BERTHINGSTRUCTURE +chamber = IfcMarinePartTypeEnum.CHAMBER +cill_level = IfcMarinePartTypeEnum.CILL_LEVEL +copelevel = IfcMarinePartTypeEnum.COPELEVEL +core = IfcMarinePartTypeEnum.CORE +crest = IfcMarinePartTypeEnum.CREST +gatehead = IfcMarinePartTypeEnum.GATEHEAD +gudingstructure = IfcMarinePartTypeEnum.GUDINGSTRUCTURE +highwaterline = IfcMarinePartTypeEnum.HIGHWATERLINE +landfield = IfcMarinePartTypeEnum.LANDFIELD +leewardside = IfcMarinePartTypeEnum.LEEWARDSIDE +lowwaterline = IfcMarinePartTypeEnum.LOWWATERLINE +manufacturing = IfcMarinePartTypeEnum.MANUFACTURING +navigationalarea = IfcMarinePartTypeEnum.NAVIGATIONALAREA +protection = IfcMarinePartTypeEnum.PROTECTION +shiptransfer = IfcMarinePartTypeEnum.SHIPTRANSFER +storagearea = IfcMarinePartTypeEnum.STORAGEAREA +vehicleservicing = IfcMarinePartTypeEnum.VEHICLESERVICING +waterfield = IfcMarinePartTypeEnum.WATERFIELD +weatherside = IfcMarinePartTypeEnum.WEATHERSIDE +userdefined = IfcMarinePartTypeEnum.USERDEFINED +notdefined = IfcMarinePartTypeEnum.NOTDEFINED IfcMechanicalFastenerTypeEnum = enum_namespace() -anchorbolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'ANCHORBOLT', INDETERMINATE) -bolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'BOLT', INDETERMINATE) -chain = express_getattr(IfcMechanicalFastenerTypeEnum, 'CHAIN', INDETERMINATE) -coupler = express_getattr(IfcMechanicalFastenerTypeEnum, 'COUPLER', INDETERMINATE) -dowel = express_getattr(IfcMechanicalFastenerTypeEnum, 'DOWEL', INDETERMINATE) -nail = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAIL', INDETERMINATE) -nailplate = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAILPLATE', INDETERMINATE) -railfastening = express_getattr(IfcMechanicalFastenerTypeEnum, 'RAILFASTENING', INDETERMINATE) -railjoint = express_getattr(IfcMechanicalFastenerTypeEnum, 'RAILJOINT', INDETERMINATE) -rivet = express_getattr(IfcMechanicalFastenerTypeEnum, 'RIVET', INDETERMINATE) -rope = express_getattr(IfcMechanicalFastenerTypeEnum, 'ROPE', INDETERMINATE) -screw = express_getattr(IfcMechanicalFastenerTypeEnum, 'SCREW', INDETERMINATE) -shearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'SHEARCONNECTOR', INDETERMINATE) -staple = express_getattr(IfcMechanicalFastenerTypeEnum, 'STAPLE', INDETERMINATE) -studshearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'STUDSHEARCONNECTOR', INDETERMINATE) -userdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorbolt = IfcMechanicalFastenerTypeEnum.ANCHORBOLT +bolt = IfcMechanicalFastenerTypeEnum.BOLT +chain = IfcMechanicalFastenerTypeEnum.CHAIN +coupler = IfcMechanicalFastenerTypeEnum.COUPLER +dowel = IfcMechanicalFastenerTypeEnum.DOWEL +nail = IfcMechanicalFastenerTypeEnum.NAIL +nailplate = IfcMechanicalFastenerTypeEnum.NAILPLATE +railfastening = IfcMechanicalFastenerTypeEnum.RAILFASTENING +railjoint = IfcMechanicalFastenerTypeEnum.RAILJOINT +rivet = IfcMechanicalFastenerTypeEnum.RIVET +rope = IfcMechanicalFastenerTypeEnum.ROPE +screw = IfcMechanicalFastenerTypeEnum.SCREW +shearconnector = IfcMechanicalFastenerTypeEnum.SHEARCONNECTOR +staple = IfcMechanicalFastenerTypeEnum.STAPLE +studshearconnector = IfcMechanicalFastenerTypeEnum.STUDSHEARCONNECTOR +userdefined = IfcMechanicalFastenerTypeEnum.USERDEFINED +notdefined = IfcMechanicalFastenerTypeEnum.NOTDEFINED IfcMedicalDeviceTypeEnum = enum_namespace() -airstation = express_getattr(IfcMedicalDeviceTypeEnum, 'AIRSTATION', INDETERMINATE) -feedairunit = express_getattr(IfcMedicalDeviceTypeEnum, 'FEEDAIRUNIT', INDETERMINATE) -oxygengenerator = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENGENERATOR', INDETERMINATE) -oxygenplant = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENPLANT', INDETERMINATE) -vacuumstation = express_getattr(IfcMedicalDeviceTypeEnum, 'VACUUMSTATION', INDETERMINATE) -userdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +airstation = IfcMedicalDeviceTypeEnum.AIRSTATION +feedairunit = IfcMedicalDeviceTypeEnum.FEEDAIRUNIT +oxygengenerator = IfcMedicalDeviceTypeEnum.OXYGENGENERATOR +oxygenplant = IfcMedicalDeviceTypeEnum.OXYGENPLANT +vacuumstation = IfcMedicalDeviceTypeEnum.VACUUMSTATION +userdefined = IfcMedicalDeviceTypeEnum.USERDEFINED +notdefined = IfcMedicalDeviceTypeEnum.NOTDEFINED IfcMemberTypeEnum = enum_namespace() -arch_segment = express_getattr(IfcMemberTypeEnum, 'ARCH_SEGMENT', INDETERMINATE) -brace = express_getattr(IfcMemberTypeEnum, 'BRACE', INDETERMINATE) -chord = express_getattr(IfcMemberTypeEnum, 'CHORD', INDETERMINATE) -collar = express_getattr(IfcMemberTypeEnum, 'COLLAR', INDETERMINATE) -member = express_getattr(IfcMemberTypeEnum, 'MEMBER', INDETERMINATE) -mullion = express_getattr(IfcMemberTypeEnum, 'MULLION', INDETERMINATE) -plate = express_getattr(IfcMemberTypeEnum, 'PLATE', INDETERMINATE) -post = express_getattr(IfcMemberTypeEnum, 'POST', INDETERMINATE) -purlin = express_getattr(IfcMemberTypeEnum, 'PURLIN', INDETERMINATE) -rafter = express_getattr(IfcMemberTypeEnum, 'RAFTER', INDETERMINATE) -stay_cable = express_getattr(IfcMemberTypeEnum, 'STAY_CABLE', INDETERMINATE) -stiffening_rib = express_getattr(IfcMemberTypeEnum, 'STIFFENING_RIB', INDETERMINATE) -stringer = express_getattr(IfcMemberTypeEnum, 'STRINGER', INDETERMINATE) -structuralcable = express_getattr(IfcMemberTypeEnum, 'STRUCTURALCABLE', INDETERMINATE) -strut = express_getattr(IfcMemberTypeEnum, 'STRUT', INDETERMINATE) -stud = express_getattr(IfcMemberTypeEnum, 'STUD', INDETERMINATE) -suspender = express_getattr(IfcMemberTypeEnum, 'SUSPENDER', INDETERMINATE) -suspension_cable = express_getattr(IfcMemberTypeEnum, 'SUSPENSION_CABLE', INDETERMINATE) -tiebar = express_getattr(IfcMemberTypeEnum, 'TIEBAR', INDETERMINATE) -userdefined = express_getattr(IfcMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +arch_segment = IfcMemberTypeEnum.ARCH_SEGMENT +brace = IfcMemberTypeEnum.BRACE +chord = IfcMemberTypeEnum.CHORD +collar = IfcMemberTypeEnum.COLLAR +member = IfcMemberTypeEnum.MEMBER +mullion = IfcMemberTypeEnum.MULLION +plate = IfcMemberTypeEnum.PLATE +post = IfcMemberTypeEnum.POST +purlin = IfcMemberTypeEnum.PURLIN +rafter = IfcMemberTypeEnum.RAFTER +stay_cable = IfcMemberTypeEnum.STAY_CABLE +stiffening_rib = IfcMemberTypeEnum.STIFFENING_RIB +stringer = IfcMemberTypeEnum.STRINGER +structuralcable = IfcMemberTypeEnum.STRUCTURALCABLE +strut = IfcMemberTypeEnum.STRUT +stud = IfcMemberTypeEnum.STUD +suspender = IfcMemberTypeEnum.SUSPENDER +suspension_cable = IfcMemberTypeEnum.SUSPENSION_CABLE +tiebar = IfcMemberTypeEnum.TIEBAR +userdefined = IfcMemberTypeEnum.USERDEFINED +notdefined = IfcMemberTypeEnum.NOTDEFINED IfcMobileTelecommunicationsApplianceTypeEnum = enum_namespace() -accesspoint = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'ACCESSPOINT', INDETERMINATE) -basebandunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'BASEBANDUNIT', INDETERMINATE) -basetransceiverstation = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'BASETRANSCEIVERSTATION', INDETERMINATE) -e_utran_node_b = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'E_UTRAN_NODE_B', INDETERMINATE) -gateway_gprs_support_node = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'GATEWAY_GPRS_SUPPORT_NODE', INDETERMINATE) -masterunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'MASTERUNIT', INDETERMINATE) -mobileswitchingcenter = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'MOBILESWITCHINGCENTER', INDETERMINATE) -mscserver = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'MSCSERVER', INDETERMINATE) -packetcontrolunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'PACKETCONTROLUNIT', INDETERMINATE) -remoteradiounit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'REMOTERADIOUNIT', INDETERMINATE) -remoteunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'REMOTEUNIT', INDETERMINATE) -service_gprs_support_node = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'SERVICE_GPRS_SUPPORT_NODE', INDETERMINATE) -subscriberserver = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'SUBSCRIBERSERVER', INDETERMINATE) -userdefined = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +accesspoint = IfcMobileTelecommunicationsApplianceTypeEnum.ACCESSPOINT +basebandunit = IfcMobileTelecommunicationsApplianceTypeEnum.BASEBANDUNIT +basetransceiverstation = IfcMobileTelecommunicationsApplianceTypeEnum.BASETRANSCEIVERSTATION +e_utran_node_b = IfcMobileTelecommunicationsApplianceTypeEnum.E_UTRAN_NODE_B +gateway_gprs_support_node = IfcMobileTelecommunicationsApplianceTypeEnum.GATEWAY_GPRS_SUPPORT_NODE +masterunit = IfcMobileTelecommunicationsApplianceTypeEnum.MASTERUNIT +mobileswitchingcenter = IfcMobileTelecommunicationsApplianceTypeEnum.MOBILESWITCHINGCENTER +mscserver = IfcMobileTelecommunicationsApplianceTypeEnum.MSCSERVER +packetcontrolunit = IfcMobileTelecommunicationsApplianceTypeEnum.PACKETCONTROLUNIT +remoteradiounit = IfcMobileTelecommunicationsApplianceTypeEnum.REMOTERADIOUNIT +remoteunit = IfcMobileTelecommunicationsApplianceTypeEnum.REMOTEUNIT +service_gprs_support_node = IfcMobileTelecommunicationsApplianceTypeEnum.SERVICE_GPRS_SUPPORT_NODE +subscriberserver = IfcMobileTelecommunicationsApplianceTypeEnum.SUBSCRIBERSERVER +userdefined = IfcMobileTelecommunicationsApplianceTypeEnum.USERDEFINED +notdefined = IfcMobileTelecommunicationsApplianceTypeEnum.NOTDEFINED IfcMooringDeviceTypeEnum = enum_namespace() -bollard = express_getattr(IfcMooringDeviceTypeEnum, 'BOLLARD', INDETERMINATE) -linetensioner = express_getattr(IfcMooringDeviceTypeEnum, 'LINETENSIONER', INDETERMINATE) -magneticdevice = express_getattr(IfcMooringDeviceTypeEnum, 'MAGNETICDEVICE', INDETERMINATE) -mooringhooks = express_getattr(IfcMooringDeviceTypeEnum, 'MOORINGHOOKS', INDETERMINATE) -vacuumdevice = express_getattr(IfcMooringDeviceTypeEnum, 'VACUUMDEVICE', INDETERMINATE) -userdefined = express_getattr(IfcMooringDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMooringDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +bollard = IfcMooringDeviceTypeEnum.BOLLARD +linetensioner = IfcMooringDeviceTypeEnum.LINETENSIONER +magneticdevice = IfcMooringDeviceTypeEnum.MAGNETICDEVICE +mooringhooks = IfcMooringDeviceTypeEnum.MOORINGHOOKS +vacuumdevice = IfcMooringDeviceTypeEnum.VACUUMDEVICE +userdefined = IfcMooringDeviceTypeEnum.USERDEFINED +notdefined = IfcMooringDeviceTypeEnum.NOTDEFINED IfcMotorConnectionTypeEnum = enum_namespace() -beltdrive = express_getattr(IfcMotorConnectionTypeEnum, 'BELTDRIVE', INDETERMINATE) -coupling = express_getattr(IfcMotorConnectionTypeEnum, 'COUPLING', INDETERMINATE) -directdrive = express_getattr(IfcMotorConnectionTypeEnum, 'DIRECTDRIVE', INDETERMINATE) -userdefined = express_getattr(IfcMotorConnectionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMotorConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +beltdrive = IfcMotorConnectionTypeEnum.BELTDRIVE +coupling = IfcMotorConnectionTypeEnum.COUPLING +directdrive = IfcMotorConnectionTypeEnum.DIRECTDRIVE +userdefined = IfcMotorConnectionTypeEnum.USERDEFINED +notdefined = IfcMotorConnectionTypeEnum.NOTDEFINED IfcNavigationElementTypeEnum = enum_namespace() -beacon = express_getattr(IfcNavigationElementTypeEnum, 'BEACON', INDETERMINATE) -buoy = express_getattr(IfcNavigationElementTypeEnum, 'BUOY', INDETERMINATE) -userdefined = express_getattr(IfcNavigationElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcNavigationElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +beacon = IfcNavigationElementTypeEnum.BEACON +buoy = IfcNavigationElementTypeEnum.BUOY +userdefined = IfcNavigationElementTypeEnum.USERDEFINED +notdefined = IfcNavigationElementTypeEnum.NOTDEFINED IfcObjectiveEnum = enum_namespace() -codecompliance = express_getattr(IfcObjectiveEnum, 'CODECOMPLIANCE', INDETERMINATE) -codewaiver = express_getattr(IfcObjectiveEnum, 'CODEWAIVER', INDETERMINATE) -designintent = express_getattr(IfcObjectiveEnum, 'DESIGNINTENT', INDETERMINATE) -external = express_getattr(IfcObjectiveEnum, 'EXTERNAL', INDETERMINATE) -healthandsafety = express_getattr(IfcObjectiveEnum, 'HEALTHANDSAFETY', INDETERMINATE) -mergeconflict = express_getattr(IfcObjectiveEnum, 'MERGECONFLICT', INDETERMINATE) -modelview = express_getattr(IfcObjectiveEnum, 'MODELVIEW', INDETERMINATE) -parameter = express_getattr(IfcObjectiveEnum, 'PARAMETER', INDETERMINATE) -requirement = express_getattr(IfcObjectiveEnum, 'REQUIREMENT', INDETERMINATE) -specification = express_getattr(IfcObjectiveEnum, 'SPECIFICATION', INDETERMINATE) -triggercondition = express_getattr(IfcObjectiveEnum, 'TRIGGERCONDITION', INDETERMINATE) -userdefined = express_getattr(IfcObjectiveEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcObjectiveEnum, 'NOTDEFINED', INDETERMINATE) +codecompliance = IfcObjectiveEnum.CODECOMPLIANCE +codewaiver = IfcObjectiveEnum.CODEWAIVER +designintent = IfcObjectiveEnum.DESIGNINTENT +external = IfcObjectiveEnum.EXTERNAL +healthandsafety = IfcObjectiveEnum.HEALTHANDSAFETY +mergeconflict = IfcObjectiveEnum.MERGECONFLICT +modelview = IfcObjectiveEnum.MODELVIEW +parameter = IfcObjectiveEnum.PARAMETER +requirement = IfcObjectiveEnum.REQUIREMENT +specification = IfcObjectiveEnum.SPECIFICATION +triggercondition = IfcObjectiveEnum.TRIGGERCONDITION +userdefined = IfcObjectiveEnum.USERDEFINED +notdefined = IfcObjectiveEnum.NOTDEFINED IfcOccupantTypeEnum = enum_namespace() -assignee = express_getattr(IfcOccupantTypeEnum, 'ASSIGNEE', INDETERMINATE) -assignor = express_getattr(IfcOccupantTypeEnum, 'ASSIGNOR', INDETERMINATE) -lessee = express_getattr(IfcOccupantTypeEnum, 'LESSEE', INDETERMINATE) -lessor = express_getattr(IfcOccupantTypeEnum, 'LESSOR', INDETERMINATE) -lettingagent = express_getattr(IfcOccupantTypeEnum, 'LETTINGAGENT', INDETERMINATE) -owner = express_getattr(IfcOccupantTypeEnum, 'OWNER', INDETERMINATE) -tenant = express_getattr(IfcOccupantTypeEnum, 'TENANT', INDETERMINATE) -userdefined = express_getattr(IfcOccupantTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOccupantTypeEnum, 'NOTDEFINED', INDETERMINATE) +assignee = IfcOccupantTypeEnum.ASSIGNEE +assignor = IfcOccupantTypeEnum.ASSIGNOR +lessee = IfcOccupantTypeEnum.LESSEE +lessor = IfcOccupantTypeEnum.LESSOR +lettingagent = IfcOccupantTypeEnum.LETTINGAGENT +owner = IfcOccupantTypeEnum.OWNER +tenant = IfcOccupantTypeEnum.TENANT +userdefined = IfcOccupantTypeEnum.USERDEFINED +notdefined = IfcOccupantTypeEnum.NOTDEFINED IfcOpeningElementTypeEnum = enum_namespace() -opening = express_getattr(IfcOpeningElementTypeEnum, 'OPENING', INDETERMINATE) -recess = express_getattr(IfcOpeningElementTypeEnum, 'RECESS', INDETERMINATE) -userdefined = express_getattr(IfcOpeningElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOpeningElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +opening = IfcOpeningElementTypeEnum.OPENING +recess = IfcOpeningElementTypeEnum.RECESS +userdefined = IfcOpeningElementTypeEnum.USERDEFINED +notdefined = IfcOpeningElementTypeEnum.NOTDEFINED IfcOutletTypeEnum = enum_namespace() -audiovisualoutlet = express_getattr(IfcOutletTypeEnum, 'AUDIOVISUALOUTLET', INDETERMINATE) -communicationsoutlet = express_getattr(IfcOutletTypeEnum, 'COMMUNICATIONSOUTLET', INDETERMINATE) -dataoutlet = express_getattr(IfcOutletTypeEnum, 'DATAOUTLET', INDETERMINATE) -poweroutlet = express_getattr(IfcOutletTypeEnum, 'POWEROUTLET', INDETERMINATE) -telephoneoutlet = express_getattr(IfcOutletTypeEnum, 'TELEPHONEOUTLET', INDETERMINATE) -userdefined = express_getattr(IfcOutletTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOutletTypeEnum, 'NOTDEFINED', INDETERMINATE) +audiovisualoutlet = IfcOutletTypeEnum.AUDIOVISUALOUTLET +communicationsoutlet = IfcOutletTypeEnum.COMMUNICATIONSOUTLET +dataoutlet = IfcOutletTypeEnum.DATAOUTLET +poweroutlet = IfcOutletTypeEnum.POWEROUTLET +telephoneoutlet = IfcOutletTypeEnum.TELEPHONEOUTLET +userdefined = IfcOutletTypeEnum.USERDEFINED +notdefined = IfcOutletTypeEnum.NOTDEFINED IfcPavementTypeEnum = enum_namespace() -flexible = express_getattr(IfcPavementTypeEnum, 'FLEXIBLE', INDETERMINATE) -rigid = express_getattr(IfcPavementTypeEnum, 'RIGID', INDETERMINATE) -userdefined = express_getattr(IfcPavementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPavementTypeEnum, 'NOTDEFINED', INDETERMINATE) +flexible = IfcPavementTypeEnum.FLEXIBLE +rigid = IfcPavementTypeEnum.RIGID +userdefined = IfcPavementTypeEnum.USERDEFINED +notdefined = IfcPavementTypeEnum.NOTDEFINED IfcPerformanceHistoryTypeEnum = enum_namespace() -userdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcPerformanceHistoryTypeEnum.USERDEFINED +notdefined = IfcPerformanceHistoryTypeEnum.NOTDEFINED IfcPermeableCoveringOperationEnum = enum_namespace() -grill = express_getattr(IfcPermeableCoveringOperationEnum, 'GRILL', INDETERMINATE) -louver = express_getattr(IfcPermeableCoveringOperationEnum, 'LOUVER', INDETERMINATE) -screen = express_getattr(IfcPermeableCoveringOperationEnum, 'SCREEN', INDETERMINATE) -userdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'NOTDEFINED', INDETERMINATE) +grill = IfcPermeableCoveringOperationEnum.GRILL +louver = IfcPermeableCoveringOperationEnum.LOUVER +screen = IfcPermeableCoveringOperationEnum.SCREEN +userdefined = IfcPermeableCoveringOperationEnum.USERDEFINED +notdefined = IfcPermeableCoveringOperationEnum.NOTDEFINED IfcPermitTypeEnum = enum_namespace() -access = express_getattr(IfcPermitTypeEnum, 'ACCESS', INDETERMINATE) -building = express_getattr(IfcPermitTypeEnum, 'BUILDING', INDETERMINATE) -work = express_getattr(IfcPermitTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcPermitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermitTypeEnum, 'NOTDEFINED', INDETERMINATE) +access = IfcPermitTypeEnum.ACCESS +building = IfcPermitTypeEnum.BUILDING +work = IfcPermitTypeEnum.WORK +userdefined = IfcPermitTypeEnum.USERDEFINED +notdefined = IfcPermitTypeEnum.NOTDEFINED IfcPhysicalOrVirtualEnum = enum_namespace() -physical = express_getattr(IfcPhysicalOrVirtualEnum, 'PHYSICAL', INDETERMINATE) -virtual = express_getattr(IfcPhysicalOrVirtualEnum, 'VIRTUAL', INDETERMINATE) -notdefined = express_getattr(IfcPhysicalOrVirtualEnum, 'NOTDEFINED', INDETERMINATE) +physical = IfcPhysicalOrVirtualEnum.PHYSICAL +virtual = IfcPhysicalOrVirtualEnum.VIRTUAL +notdefined = IfcPhysicalOrVirtualEnum.NOTDEFINED IfcPileConstructionEnum = enum_namespace() -cast_in_place = express_getattr(IfcPileConstructionEnum, 'CAST_IN_PLACE', INDETERMINATE) -composite = express_getattr(IfcPileConstructionEnum, 'COMPOSITE', INDETERMINATE) -precast_concrete = express_getattr(IfcPileConstructionEnum, 'PRECAST_CONCRETE', INDETERMINATE) -prefab_steel = express_getattr(IfcPileConstructionEnum, 'PREFAB_STEEL', INDETERMINATE) -userdefined = express_getattr(IfcPileConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileConstructionEnum, 'NOTDEFINED', INDETERMINATE) +cast_in_place = IfcPileConstructionEnum.CAST_IN_PLACE +composite = IfcPileConstructionEnum.COMPOSITE +precast_concrete = IfcPileConstructionEnum.PRECAST_CONCRETE +prefab_steel = IfcPileConstructionEnum.PREFAB_STEEL +userdefined = IfcPileConstructionEnum.USERDEFINED +notdefined = IfcPileConstructionEnum.NOTDEFINED IfcPileTypeEnum = enum_namespace() -bored = express_getattr(IfcPileTypeEnum, 'BORED', INDETERMINATE) -cohesion = express_getattr(IfcPileTypeEnum, 'COHESION', INDETERMINATE) -driven = express_getattr(IfcPileTypeEnum, 'DRIVEN', INDETERMINATE) -friction = express_getattr(IfcPileTypeEnum, 'FRICTION', INDETERMINATE) -jetgrouting = express_getattr(IfcPileTypeEnum, 'JETGROUTING', INDETERMINATE) -support = express_getattr(IfcPileTypeEnum, 'SUPPORT', INDETERMINATE) -userdefined = express_getattr(IfcPileTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileTypeEnum, 'NOTDEFINED', INDETERMINATE) +bored = IfcPileTypeEnum.BORED +cohesion = IfcPileTypeEnum.COHESION +driven = IfcPileTypeEnum.DRIVEN +friction = IfcPileTypeEnum.FRICTION +jetgrouting = IfcPileTypeEnum.JETGROUTING +support = IfcPileTypeEnum.SUPPORT +userdefined = IfcPileTypeEnum.USERDEFINED +notdefined = IfcPileTypeEnum.NOTDEFINED IfcPipeFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcPipeFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcPipeFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcPipeFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcPipeFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcPipeFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcPipeFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcPipeFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcPipeFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcPipeFittingTypeEnum.BEND +connector = IfcPipeFittingTypeEnum.CONNECTOR +entry = IfcPipeFittingTypeEnum.ENTRY +exit = IfcPipeFittingTypeEnum.EXIT +junction = IfcPipeFittingTypeEnum.JUNCTION +obstruction = IfcPipeFittingTypeEnum.OBSTRUCTION +transition = IfcPipeFittingTypeEnum.TRANSITION +userdefined = IfcPipeFittingTypeEnum.USERDEFINED +notdefined = IfcPipeFittingTypeEnum.NOTDEFINED IfcPipeSegmentTypeEnum = enum_namespace() -culvert = express_getattr(IfcPipeSegmentTypeEnum, 'CULVERT', INDETERMINATE) -flexiblesegment = express_getattr(IfcPipeSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -gutter = express_getattr(IfcPipeSegmentTypeEnum, 'GUTTER', INDETERMINATE) -rigidsegment = express_getattr(IfcPipeSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -spool = express_getattr(IfcPipeSegmentTypeEnum, 'SPOOL', INDETERMINATE) -userdefined = express_getattr(IfcPipeSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +culvert = IfcPipeSegmentTypeEnum.CULVERT +flexiblesegment = IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT +gutter = IfcPipeSegmentTypeEnum.GUTTER +rigidsegment = IfcPipeSegmentTypeEnum.RIGIDSEGMENT +spool = IfcPipeSegmentTypeEnum.SPOOL +userdefined = IfcPipeSegmentTypeEnum.USERDEFINED +notdefined = IfcPipeSegmentTypeEnum.NOTDEFINED IfcPlateTypeEnum = enum_namespace() -base_plate = express_getattr(IfcPlateTypeEnum, 'BASE_PLATE', INDETERMINATE) -cover_plate = express_getattr(IfcPlateTypeEnum, 'COVER_PLATE', INDETERMINATE) -curtain_panel = express_getattr(IfcPlateTypeEnum, 'CURTAIN_PANEL', INDETERMINATE) -flange_plate = express_getattr(IfcPlateTypeEnum, 'FLANGE_PLATE', INDETERMINATE) -gusset_plate = express_getattr(IfcPlateTypeEnum, 'GUSSET_PLATE', INDETERMINATE) -sheet = express_getattr(IfcPlateTypeEnum, 'SHEET', INDETERMINATE) -splice_plate = express_getattr(IfcPlateTypeEnum, 'SPLICE_PLATE', INDETERMINATE) -stiffener_plate = express_getattr(IfcPlateTypeEnum, 'STIFFENER_PLATE', INDETERMINATE) -web_plate = express_getattr(IfcPlateTypeEnum, 'WEB_PLATE', INDETERMINATE) -userdefined = express_getattr(IfcPlateTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPlateTypeEnum, 'NOTDEFINED', INDETERMINATE) +base_plate = IfcPlateTypeEnum.BASE_PLATE +cover_plate = IfcPlateTypeEnum.COVER_PLATE +curtain_panel = IfcPlateTypeEnum.CURTAIN_PANEL +flange_plate = IfcPlateTypeEnum.FLANGE_PLATE +gusset_plate = IfcPlateTypeEnum.GUSSET_PLATE +sheet = IfcPlateTypeEnum.SHEET +splice_plate = IfcPlateTypeEnum.SPLICE_PLATE +stiffener_plate = IfcPlateTypeEnum.STIFFENER_PLATE +web_plate = IfcPlateTypeEnum.WEB_PLATE +userdefined = IfcPlateTypeEnum.USERDEFINED +notdefined = IfcPlateTypeEnum.NOTDEFINED IfcPreferredSurfaceCurveRepresentation = enum_namespace() -curve3d = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'CURVE3D', INDETERMINATE) -pcurve_s1 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S1', INDETERMINATE) -pcurve_s2 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S2', INDETERMINATE) +curve3d = IfcPreferredSurfaceCurveRepresentation.CURVE3D +pcurve_s1 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S1 +pcurve_s2 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S2 IfcProcedureTypeEnum = enum_namespace() -advice_caution = express_getattr(IfcProcedureTypeEnum, 'ADVICE_CAUTION', INDETERMINATE) -advice_note = express_getattr(IfcProcedureTypeEnum, 'ADVICE_NOTE', INDETERMINATE) -advice_warning = express_getattr(IfcProcedureTypeEnum, 'ADVICE_WARNING', INDETERMINATE) -calibration = express_getattr(IfcProcedureTypeEnum, 'CALIBRATION', INDETERMINATE) -diagnostic = express_getattr(IfcProcedureTypeEnum, 'DIAGNOSTIC', INDETERMINATE) -shutdown = express_getattr(IfcProcedureTypeEnum, 'SHUTDOWN', INDETERMINATE) -startup = express_getattr(IfcProcedureTypeEnum, 'STARTUP', INDETERMINATE) -userdefined = express_getattr(IfcProcedureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProcedureTypeEnum, 'NOTDEFINED', INDETERMINATE) +advice_caution = IfcProcedureTypeEnum.ADVICE_CAUTION +advice_note = IfcProcedureTypeEnum.ADVICE_NOTE +advice_warning = IfcProcedureTypeEnum.ADVICE_WARNING +calibration = IfcProcedureTypeEnum.CALIBRATION +diagnostic = IfcProcedureTypeEnum.DIAGNOSTIC +shutdown = IfcProcedureTypeEnum.SHUTDOWN +startup = IfcProcedureTypeEnum.STARTUP +userdefined = IfcProcedureTypeEnum.USERDEFINED +notdefined = IfcProcedureTypeEnum.NOTDEFINED IfcProfileTypeEnum = enum_namespace() -area = express_getattr(IfcProfileTypeEnum, 'AREA', INDETERMINATE) -curve = express_getattr(IfcProfileTypeEnum, 'CURVE', INDETERMINATE) +area = IfcProfileTypeEnum.AREA +curve = IfcProfileTypeEnum.CURVE IfcProjectOrderTypeEnum = enum_namespace() -changeorder = express_getattr(IfcProjectOrderTypeEnum, 'CHANGEORDER', INDETERMINATE) -maintenanceworkorder = express_getattr(IfcProjectOrderTypeEnum, 'MAINTENANCEWORKORDER', INDETERMINATE) -moveorder = express_getattr(IfcProjectOrderTypeEnum, 'MOVEORDER', INDETERMINATE) -purchaseorder = express_getattr(IfcProjectOrderTypeEnum, 'PURCHASEORDER', INDETERMINATE) -workorder = express_getattr(IfcProjectOrderTypeEnum, 'WORKORDER', INDETERMINATE) -userdefined = express_getattr(IfcProjectOrderTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectOrderTypeEnum, 'NOTDEFINED', INDETERMINATE) +changeorder = IfcProjectOrderTypeEnum.CHANGEORDER +maintenanceworkorder = IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER +moveorder = IfcProjectOrderTypeEnum.MOVEORDER +purchaseorder = IfcProjectOrderTypeEnum.PURCHASEORDER +workorder = IfcProjectOrderTypeEnum.WORKORDER +userdefined = IfcProjectOrderTypeEnum.USERDEFINED +notdefined = IfcProjectOrderTypeEnum.NOTDEFINED IfcProjectedOrTrueLengthEnum = enum_namespace() -projected_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'PROJECTED_LENGTH', INDETERMINATE) -true_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'TRUE_LENGTH', INDETERMINATE) +projected_length = IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH +true_length = IfcProjectedOrTrueLengthEnum.TRUE_LENGTH IfcProjectionElementTypeEnum = enum_namespace() -blister = express_getattr(IfcProjectionElementTypeEnum, 'BLISTER', INDETERMINATE) -deviator = express_getattr(IfcProjectionElementTypeEnum, 'DEVIATOR', INDETERMINATE) -userdefined = express_getattr(IfcProjectionElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectionElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +blister = IfcProjectionElementTypeEnum.BLISTER +deviator = IfcProjectionElementTypeEnum.DEVIATOR +userdefined = IfcProjectionElementTypeEnum.USERDEFINED +notdefined = IfcProjectionElementTypeEnum.NOTDEFINED IfcPropertySetTemplateTypeEnum = enum_namespace() -pset_materialdriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_MATERIALDRIVEN', INDETERMINATE) -pset_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_OCCURRENCEDRIVEN', INDETERMINATE) -pset_performancedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_PERFORMANCEDRIVEN', INDETERMINATE) -pset_profiledriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_PROFILEDRIVEN', INDETERMINATE) -pset_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENONLY', INDETERMINATE) -pset_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENOVERRIDE', INDETERMINATE) -qto_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_OCCURRENCEDRIVEN', INDETERMINATE) -qto_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENONLY', INDETERMINATE) -qto_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENOVERRIDE', INDETERMINATE) -notdefined = express_getattr(IfcPropertySetTemplateTypeEnum, 'NOTDEFINED', INDETERMINATE) +pset_materialdriven = IfcPropertySetTemplateTypeEnum.PSET_MATERIALDRIVEN +pset_occurrencedriven = IfcPropertySetTemplateTypeEnum.PSET_OCCURRENCEDRIVEN +pset_performancedriven = IfcPropertySetTemplateTypeEnum.PSET_PERFORMANCEDRIVEN +pset_profiledriven = IfcPropertySetTemplateTypeEnum.PSET_PROFILEDRIVEN +pset_typedrivenonly = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENONLY +pset_typedrivenoverride = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENOVERRIDE +qto_occurrencedriven = IfcPropertySetTemplateTypeEnum.QTO_OCCURRENCEDRIVEN +qto_typedrivenonly = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENONLY +qto_typedrivenoverride = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENOVERRIDE +notdefined = IfcPropertySetTemplateTypeEnum.NOTDEFINED IfcProtectiveDeviceTrippingUnitTypeEnum = enum_namespace() -electromagnetic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTROMAGNETIC', INDETERMINATE) -electronic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTRONIC', INDETERMINATE) -residualcurrent = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'RESIDUALCURRENT', INDETERMINATE) -thermal = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'THERMAL', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'NOTDEFINED', INDETERMINATE) +electromagnetic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTROMAGNETIC +electronic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTRONIC +residualcurrent = IfcProtectiveDeviceTrippingUnitTypeEnum.RESIDUALCURRENT +thermal = IfcProtectiveDeviceTrippingUnitTypeEnum.THERMAL +userdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.NOTDEFINED IfcProtectiveDeviceTypeEnum = enum_namespace() -anti_arcing_device = express_getattr(IfcProtectiveDeviceTypeEnum, 'ANTI_ARCING_DEVICE', INDETERMINATE) -circuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'CIRCUITBREAKER', INDETERMINATE) -earthingswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHINGSWITCH', INDETERMINATE) -earthleakagecircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHLEAKAGECIRCUITBREAKER', INDETERMINATE) -fusedisconnector = express_getattr(IfcProtectiveDeviceTypeEnum, 'FUSEDISCONNECTOR', INDETERMINATE) -residualcurrentcircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTCIRCUITBREAKER', INDETERMINATE) -residualcurrentswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTSWITCH', INDETERMINATE) -sparkgap = express_getattr(IfcProtectiveDeviceTypeEnum, 'SPARKGAP', INDETERMINATE) -varistor = express_getattr(IfcProtectiveDeviceTypeEnum, 'VARISTOR', INDETERMINATE) -voltagelimiter = express_getattr(IfcProtectiveDeviceTypeEnum, 'VOLTAGELIMITER', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +anti_arcing_device = IfcProtectiveDeviceTypeEnum.ANTI_ARCING_DEVICE +circuitbreaker = IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER +earthingswitch = IfcProtectiveDeviceTypeEnum.EARTHINGSWITCH +earthleakagecircuitbreaker = IfcProtectiveDeviceTypeEnum.EARTHLEAKAGECIRCUITBREAKER +fusedisconnector = IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR +residualcurrentcircuitbreaker = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER +residualcurrentswitch = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH +sparkgap = IfcProtectiveDeviceTypeEnum.SPARKGAP +varistor = IfcProtectiveDeviceTypeEnum.VARISTOR +voltagelimiter = IfcProtectiveDeviceTypeEnum.VOLTAGELIMITER +userdefined = IfcProtectiveDeviceTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTypeEnum.NOTDEFINED IfcPumpTypeEnum = enum_namespace() -circulator = express_getattr(IfcPumpTypeEnum, 'CIRCULATOR', INDETERMINATE) -endsuction = express_getattr(IfcPumpTypeEnum, 'ENDSUCTION', INDETERMINATE) -splitcase = express_getattr(IfcPumpTypeEnum, 'SPLITCASE', INDETERMINATE) -submersiblepump = express_getattr(IfcPumpTypeEnum, 'SUBMERSIBLEPUMP', INDETERMINATE) -sumppump = express_getattr(IfcPumpTypeEnum, 'SUMPPUMP', INDETERMINATE) -verticalinline = express_getattr(IfcPumpTypeEnum, 'VERTICALINLINE', INDETERMINATE) -verticalturbine = express_getattr(IfcPumpTypeEnum, 'VERTICALTURBINE', INDETERMINATE) -userdefined = express_getattr(IfcPumpTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPumpTypeEnum, 'NOTDEFINED', INDETERMINATE) +circulator = IfcPumpTypeEnum.CIRCULATOR +endsuction = IfcPumpTypeEnum.ENDSUCTION +splitcase = IfcPumpTypeEnum.SPLITCASE +submersiblepump = IfcPumpTypeEnum.SUBMERSIBLEPUMP +sumppump = IfcPumpTypeEnum.SUMPPUMP +verticalinline = IfcPumpTypeEnum.VERTICALINLINE +verticalturbine = IfcPumpTypeEnum.VERTICALTURBINE +userdefined = IfcPumpTypeEnum.USERDEFINED +notdefined = IfcPumpTypeEnum.NOTDEFINED IfcRailTypeEnum = enum_namespace() -blade = express_getattr(IfcRailTypeEnum, 'BLADE', INDETERMINATE) -checkrail = express_getattr(IfcRailTypeEnum, 'CHECKRAIL', INDETERMINATE) -guardrail = express_getattr(IfcRailTypeEnum, 'GUARDRAIL', INDETERMINATE) -rackrail = express_getattr(IfcRailTypeEnum, 'RACKRAIL', INDETERMINATE) -rail = express_getattr(IfcRailTypeEnum, 'RAIL', INDETERMINATE) -stockrail = express_getattr(IfcRailTypeEnum, 'STOCKRAIL', INDETERMINATE) -userdefined = express_getattr(IfcRailTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailTypeEnum, 'NOTDEFINED', INDETERMINATE) +blade = IfcRailTypeEnum.BLADE +checkrail = IfcRailTypeEnum.CHECKRAIL +guardrail = IfcRailTypeEnum.GUARDRAIL +rackrail = IfcRailTypeEnum.RACKRAIL +rail = IfcRailTypeEnum.RAIL +stockrail = IfcRailTypeEnum.STOCKRAIL +userdefined = IfcRailTypeEnum.USERDEFINED +notdefined = IfcRailTypeEnum.NOTDEFINED IfcRailingTypeEnum = enum_namespace() -balustrade = express_getattr(IfcRailingTypeEnum, 'BALUSTRADE', INDETERMINATE) -fence = express_getattr(IfcRailingTypeEnum, 'FENCE', INDETERMINATE) -guardrail = express_getattr(IfcRailingTypeEnum, 'GUARDRAIL', INDETERMINATE) -handrail = express_getattr(IfcRailingTypeEnum, 'HANDRAIL', INDETERMINATE) -userdefined = express_getattr(IfcRailingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailingTypeEnum, 'NOTDEFINED', INDETERMINATE) +balustrade = IfcRailingTypeEnum.BALUSTRADE +fence = IfcRailingTypeEnum.FENCE +guardrail = IfcRailingTypeEnum.GUARDRAIL +handrail = IfcRailingTypeEnum.HANDRAIL +userdefined = IfcRailingTypeEnum.USERDEFINED +notdefined = IfcRailingTypeEnum.NOTDEFINED IfcRailwayPartTypeEnum = enum_namespace() -abovetrack = express_getattr(IfcRailwayPartTypeEnum, 'ABOVETRACK', INDETERMINATE) -dilationtrack = express_getattr(IfcRailwayPartTypeEnum, 'DILATIONTRACK', INDETERMINATE) -lineside = express_getattr(IfcRailwayPartTypeEnum, 'LINESIDE', INDETERMINATE) -linesidepart = express_getattr(IfcRailwayPartTypeEnum, 'LINESIDEPART', INDETERMINATE) -plaintrack = express_getattr(IfcRailwayPartTypeEnum, 'PLAINTRACK', INDETERMINATE) -substructure = express_getattr(IfcRailwayPartTypeEnum, 'SUBSTRUCTURE', INDETERMINATE) -track = express_getattr(IfcRailwayPartTypeEnum, 'TRACK', INDETERMINATE) -trackpart = express_getattr(IfcRailwayPartTypeEnum, 'TRACKPART', INDETERMINATE) -turnouttrack = express_getattr(IfcRailwayPartTypeEnum, 'TURNOUTTRACK', INDETERMINATE) -userdefined = express_getattr(IfcRailwayPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailwayPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +abovetrack = IfcRailwayPartTypeEnum.ABOVETRACK +dilationtrack = IfcRailwayPartTypeEnum.DILATIONTRACK +lineside = IfcRailwayPartTypeEnum.LINESIDE +linesidepart = IfcRailwayPartTypeEnum.LINESIDEPART +plaintrack = IfcRailwayPartTypeEnum.PLAINTRACK +substructure = IfcRailwayPartTypeEnum.SUBSTRUCTURE +track = IfcRailwayPartTypeEnum.TRACK +trackpart = IfcRailwayPartTypeEnum.TRACKPART +turnouttrack = IfcRailwayPartTypeEnum.TURNOUTTRACK +userdefined = IfcRailwayPartTypeEnum.USERDEFINED +notdefined = IfcRailwayPartTypeEnum.NOTDEFINED IfcRailwayTypeEnum = enum_namespace() -userdefined = express_getattr(IfcRailwayTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailwayTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcRailwayTypeEnum.USERDEFINED +notdefined = IfcRailwayTypeEnum.NOTDEFINED IfcRampFlightTypeEnum = enum_namespace() -spiral = express_getattr(IfcRampFlightTypeEnum, 'SPIRAL', INDETERMINATE) -straight = express_getattr(IfcRampFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -userdefined = express_getattr(IfcRampFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +spiral = IfcRampFlightTypeEnum.SPIRAL +straight = IfcRampFlightTypeEnum.STRAIGHT +userdefined = IfcRampFlightTypeEnum.USERDEFINED +notdefined = IfcRampFlightTypeEnum.NOTDEFINED IfcRampTypeEnum = enum_namespace() -half_turn_ramp = express_getattr(IfcRampTypeEnum, 'HALF_TURN_RAMP', INDETERMINATE) -quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'QUARTER_TURN_RAMP', INDETERMINATE) -spiral_ramp = express_getattr(IfcRampTypeEnum, 'SPIRAL_RAMP', INDETERMINATE) -straight_run_ramp = express_getattr(IfcRampTypeEnum, 'STRAIGHT_RUN_RAMP', INDETERMINATE) -two_quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'TWO_QUARTER_TURN_RAMP', INDETERMINATE) -two_straight_run_ramp = express_getattr(IfcRampTypeEnum, 'TWO_STRAIGHT_RUN_RAMP', INDETERMINATE) -userdefined = express_getattr(IfcRampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampTypeEnum, 'NOTDEFINED', INDETERMINATE) +half_turn_ramp = IfcRampTypeEnum.HALF_TURN_RAMP +quarter_turn_ramp = IfcRampTypeEnum.QUARTER_TURN_RAMP +spiral_ramp = IfcRampTypeEnum.SPIRAL_RAMP +straight_run_ramp = IfcRampTypeEnum.STRAIGHT_RUN_RAMP +two_quarter_turn_ramp = IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP +two_straight_run_ramp = IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP +userdefined = IfcRampTypeEnum.USERDEFINED +notdefined = IfcRampTypeEnum.NOTDEFINED IfcRecurrenceTypeEnum = enum_namespace() -by_day_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_DAY_COUNT', INDETERMINATE) -by_weekday_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_WEEKDAY_COUNT', INDETERMINATE) -daily = express_getattr(IfcRecurrenceTypeEnum, 'DAILY', INDETERMINATE) -monthly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_DAY_OF_MONTH', INDETERMINATE) -monthly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_POSITION', INDETERMINATE) -weekly = express_getattr(IfcRecurrenceTypeEnum, 'WEEKLY', INDETERMINATE) -yearly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_DAY_OF_MONTH', INDETERMINATE) -yearly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_POSITION', INDETERMINATE) +by_day_count = IfcRecurrenceTypeEnum.BY_DAY_COUNT +by_weekday_count = IfcRecurrenceTypeEnum.BY_WEEKDAY_COUNT +daily = IfcRecurrenceTypeEnum.DAILY +monthly_by_day_of_month = IfcRecurrenceTypeEnum.MONTHLY_BY_DAY_OF_MONTH +monthly_by_position = IfcRecurrenceTypeEnum.MONTHLY_BY_POSITION +weekly = IfcRecurrenceTypeEnum.WEEKLY +yearly_by_day_of_month = IfcRecurrenceTypeEnum.YEARLY_BY_DAY_OF_MONTH +yearly_by_position = IfcRecurrenceTypeEnum.YEARLY_BY_POSITION IfcReferentTypeEnum = enum_namespace() -boundary = express_getattr(IfcReferentTypeEnum, 'BOUNDARY', INDETERMINATE) -intersection = express_getattr(IfcReferentTypeEnum, 'INTERSECTION', INDETERMINATE) -kilopoint = express_getattr(IfcReferentTypeEnum, 'KILOPOINT', INDETERMINATE) -landmark = express_getattr(IfcReferentTypeEnum, 'LANDMARK', INDETERMINATE) -milepoint = express_getattr(IfcReferentTypeEnum, 'MILEPOINT', INDETERMINATE) -position = express_getattr(IfcReferentTypeEnum, 'POSITION', INDETERMINATE) -referencemarker = express_getattr(IfcReferentTypeEnum, 'REFERENCEMARKER', INDETERMINATE) -station = express_getattr(IfcReferentTypeEnum, 'STATION', INDETERMINATE) -superelevationevent = express_getattr(IfcReferentTypeEnum, 'SUPERELEVATIONEVENT', INDETERMINATE) -widthevent = express_getattr(IfcReferentTypeEnum, 'WIDTHEVENT', INDETERMINATE) -userdefined = express_getattr(IfcReferentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReferentTypeEnum, 'NOTDEFINED', INDETERMINATE) +boundary = IfcReferentTypeEnum.BOUNDARY +intersection = IfcReferentTypeEnum.INTERSECTION +kilopoint = IfcReferentTypeEnum.KILOPOINT +landmark = IfcReferentTypeEnum.LANDMARK +milepoint = IfcReferentTypeEnum.MILEPOINT +position = IfcReferentTypeEnum.POSITION +referencemarker = IfcReferentTypeEnum.REFERENCEMARKER +station = IfcReferentTypeEnum.STATION +superelevationevent = IfcReferentTypeEnum.SUPERELEVATIONEVENT +widthevent = IfcReferentTypeEnum.WIDTHEVENT +userdefined = IfcReferentTypeEnum.USERDEFINED +notdefined = IfcReferentTypeEnum.NOTDEFINED IfcReflectanceMethodEnum = enum_namespace() -blinn = express_getattr(IfcReflectanceMethodEnum, 'BLINN', INDETERMINATE) -flat = express_getattr(IfcReflectanceMethodEnum, 'FLAT', INDETERMINATE) -glass = express_getattr(IfcReflectanceMethodEnum, 'GLASS', INDETERMINATE) -matt = express_getattr(IfcReflectanceMethodEnum, 'MATT', INDETERMINATE) -metal = express_getattr(IfcReflectanceMethodEnum, 'METAL', INDETERMINATE) -mirror = express_getattr(IfcReflectanceMethodEnum, 'MIRROR', INDETERMINATE) -phong = express_getattr(IfcReflectanceMethodEnum, 'PHONG', INDETERMINATE) -physical = express_getattr(IfcReflectanceMethodEnum, 'PHYSICAL', INDETERMINATE) -plastic = express_getattr(IfcReflectanceMethodEnum, 'PLASTIC', INDETERMINATE) -strauss = express_getattr(IfcReflectanceMethodEnum, 'STRAUSS', INDETERMINATE) -notdefined = express_getattr(IfcReflectanceMethodEnum, 'NOTDEFINED', INDETERMINATE) +blinn = IfcReflectanceMethodEnum.BLINN +flat = IfcReflectanceMethodEnum.FLAT +glass = IfcReflectanceMethodEnum.GLASS +matt = IfcReflectanceMethodEnum.MATT +metal = IfcReflectanceMethodEnum.METAL +mirror = IfcReflectanceMethodEnum.MIRROR +phong = IfcReflectanceMethodEnum.PHONG +physical = IfcReflectanceMethodEnum.PHYSICAL +plastic = IfcReflectanceMethodEnum.PLASTIC +strauss = IfcReflectanceMethodEnum.STRAUSS +notdefined = IfcReflectanceMethodEnum.NOTDEFINED IfcReinforcedSoilTypeEnum = enum_namespace() -dynamicallycompacted = express_getattr(IfcReinforcedSoilTypeEnum, 'DYNAMICALLYCOMPACTED', INDETERMINATE) -grouted = express_getattr(IfcReinforcedSoilTypeEnum, 'GROUTED', INDETERMINATE) -replaced = express_getattr(IfcReinforcedSoilTypeEnum, 'REPLACED', INDETERMINATE) -rollercompacted = express_getattr(IfcReinforcedSoilTypeEnum, 'ROLLERCOMPACTED', INDETERMINATE) -surchargepreloaded = express_getattr(IfcReinforcedSoilTypeEnum, 'SURCHARGEPRELOADED', INDETERMINATE) -verticallydrained = express_getattr(IfcReinforcedSoilTypeEnum, 'VERTICALLYDRAINED', INDETERMINATE) -userdefined = express_getattr(IfcReinforcedSoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcedSoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +dynamicallycompacted = IfcReinforcedSoilTypeEnum.DYNAMICALLYCOMPACTED +grouted = IfcReinforcedSoilTypeEnum.GROUTED +replaced = IfcReinforcedSoilTypeEnum.REPLACED +rollercompacted = IfcReinforcedSoilTypeEnum.ROLLERCOMPACTED +surchargepreloaded = IfcReinforcedSoilTypeEnum.SURCHARGEPRELOADED +verticallydrained = IfcReinforcedSoilTypeEnum.VERTICALLYDRAINED +userdefined = IfcReinforcedSoilTypeEnum.USERDEFINED +notdefined = IfcReinforcedSoilTypeEnum.NOTDEFINED IfcReinforcingBarRoleEnum = enum_namespace() -anchoring = express_getattr(IfcReinforcingBarRoleEnum, 'ANCHORING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarRoleEnum, 'EDGE', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarRoleEnum, 'LIGATURE', INDETERMINATE) -main = express_getattr(IfcReinforcingBarRoleEnum, 'MAIN', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarRoleEnum, 'PUNCHING', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarRoleEnum, 'RING', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarRoleEnum, 'SHEAR', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarRoleEnum, 'STUD', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarRoleEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarRoleEnum, 'NOTDEFINED', INDETERMINATE) +anchoring = IfcReinforcingBarRoleEnum.ANCHORING +edge = IfcReinforcingBarRoleEnum.EDGE +ligature = IfcReinforcingBarRoleEnum.LIGATURE +main = IfcReinforcingBarRoleEnum.MAIN +punching = IfcReinforcingBarRoleEnum.PUNCHING +ring = IfcReinforcingBarRoleEnum.RING +shear = IfcReinforcingBarRoleEnum.SHEAR +stud = IfcReinforcingBarRoleEnum.STUD +userdefined = IfcReinforcingBarRoleEnum.USERDEFINED +notdefined = IfcReinforcingBarRoleEnum.NOTDEFINED IfcReinforcingBarSurfaceEnum = enum_namespace() -plain = express_getattr(IfcReinforcingBarSurfaceEnum, 'PLAIN', INDETERMINATE) -textured = express_getattr(IfcReinforcingBarSurfaceEnum, 'TEXTURED', INDETERMINATE) +plain = IfcReinforcingBarSurfaceEnum.PLAIN +textured = IfcReinforcingBarSurfaceEnum.TEXTURED IfcReinforcingBarTypeEnum = enum_namespace() -anchoring = express_getattr(IfcReinforcingBarTypeEnum, 'ANCHORING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarTypeEnum, 'EDGE', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarTypeEnum, 'LIGATURE', INDETERMINATE) -main = express_getattr(IfcReinforcingBarTypeEnum, 'MAIN', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarTypeEnum, 'PUNCHING', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarTypeEnum, 'RING', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarTypeEnum, 'SHEAR', INDETERMINATE) -spacebar = express_getattr(IfcReinforcingBarTypeEnum, 'SPACEBAR', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarTypeEnum, 'STUD', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchoring = IfcReinforcingBarTypeEnum.ANCHORING +edge = IfcReinforcingBarTypeEnum.EDGE +ligature = IfcReinforcingBarTypeEnum.LIGATURE +main = IfcReinforcingBarTypeEnum.MAIN +punching = IfcReinforcingBarTypeEnum.PUNCHING +ring = IfcReinforcingBarTypeEnum.RING +shear = IfcReinforcingBarTypeEnum.SHEAR +spacebar = IfcReinforcingBarTypeEnum.SPACEBAR +stud = IfcReinforcingBarTypeEnum.STUD +userdefined = IfcReinforcingBarTypeEnum.USERDEFINED +notdefined = IfcReinforcingBarTypeEnum.NOTDEFINED IfcReinforcingMeshTypeEnum = enum_namespace() -userdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcReinforcingMeshTypeEnum.USERDEFINED +notdefined = IfcReinforcingMeshTypeEnum.NOTDEFINED IfcRoadPartTypeEnum = enum_namespace() -bicyclecrossing = express_getattr(IfcRoadPartTypeEnum, 'BICYCLECROSSING', INDETERMINATE) -bus_stop = express_getattr(IfcRoadPartTypeEnum, 'BUS_STOP', INDETERMINATE) -carriageway = express_getattr(IfcRoadPartTypeEnum, 'CARRIAGEWAY', INDETERMINATE) -centralisland = express_getattr(IfcRoadPartTypeEnum, 'CENTRALISLAND', INDETERMINATE) -centralreserve = express_getattr(IfcRoadPartTypeEnum, 'CENTRALRESERVE', INDETERMINATE) -hardshoulder = express_getattr(IfcRoadPartTypeEnum, 'HARDSHOULDER', INDETERMINATE) -intersection = express_getattr(IfcRoadPartTypeEnum, 'INTERSECTION', INDETERMINATE) -layby = express_getattr(IfcRoadPartTypeEnum, 'LAYBY', INDETERMINATE) -parkingbay = express_getattr(IfcRoadPartTypeEnum, 'PARKINGBAY', INDETERMINATE) -passingbay = express_getattr(IfcRoadPartTypeEnum, 'PASSINGBAY', INDETERMINATE) -pedestrian_crossing = express_getattr(IfcRoadPartTypeEnum, 'PEDESTRIAN_CROSSING', INDETERMINATE) -railwaycrossing = express_getattr(IfcRoadPartTypeEnum, 'RAILWAYCROSSING', INDETERMINATE) -refugeisland = express_getattr(IfcRoadPartTypeEnum, 'REFUGEISLAND', INDETERMINATE) -roadsegment = express_getattr(IfcRoadPartTypeEnum, 'ROADSEGMENT', INDETERMINATE) -roadside = express_getattr(IfcRoadPartTypeEnum, 'ROADSIDE', INDETERMINATE) -roadsidepart = express_getattr(IfcRoadPartTypeEnum, 'ROADSIDEPART', INDETERMINATE) -roadwayplateau = express_getattr(IfcRoadPartTypeEnum, 'ROADWAYPLATEAU', INDETERMINATE) -roundabout = express_getattr(IfcRoadPartTypeEnum, 'ROUNDABOUT', INDETERMINATE) -shoulder = express_getattr(IfcRoadPartTypeEnum, 'SHOULDER', INDETERMINATE) -sidewalk = express_getattr(IfcRoadPartTypeEnum, 'SIDEWALK', INDETERMINATE) -softshoulder = express_getattr(IfcRoadPartTypeEnum, 'SOFTSHOULDER', INDETERMINATE) -tollplaza = express_getattr(IfcRoadPartTypeEnum, 'TOLLPLAZA', INDETERMINATE) -trafficisland = express_getattr(IfcRoadPartTypeEnum, 'TRAFFICISLAND', INDETERMINATE) -trafficlane = express_getattr(IfcRoadPartTypeEnum, 'TRAFFICLANE', INDETERMINATE) -userdefined = express_getattr(IfcRoadPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoadPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +bicyclecrossing = IfcRoadPartTypeEnum.BICYCLECROSSING +bus_stop = IfcRoadPartTypeEnum.BUS_STOP +carriageway = IfcRoadPartTypeEnum.CARRIAGEWAY +centralisland = IfcRoadPartTypeEnum.CENTRALISLAND +centralreserve = IfcRoadPartTypeEnum.CENTRALRESERVE +hardshoulder = IfcRoadPartTypeEnum.HARDSHOULDER +intersection = IfcRoadPartTypeEnum.INTERSECTION +layby = IfcRoadPartTypeEnum.LAYBY +parkingbay = IfcRoadPartTypeEnum.PARKINGBAY +passingbay = IfcRoadPartTypeEnum.PASSINGBAY +pedestrian_crossing = IfcRoadPartTypeEnum.PEDESTRIAN_CROSSING +railwaycrossing = IfcRoadPartTypeEnum.RAILWAYCROSSING +refugeisland = IfcRoadPartTypeEnum.REFUGEISLAND +roadsegment = IfcRoadPartTypeEnum.ROADSEGMENT +roadside = IfcRoadPartTypeEnum.ROADSIDE +roadsidepart = IfcRoadPartTypeEnum.ROADSIDEPART +roadwayplateau = IfcRoadPartTypeEnum.ROADWAYPLATEAU +roundabout = IfcRoadPartTypeEnum.ROUNDABOUT +shoulder = IfcRoadPartTypeEnum.SHOULDER +sidewalk = IfcRoadPartTypeEnum.SIDEWALK +softshoulder = IfcRoadPartTypeEnum.SOFTSHOULDER +tollplaza = IfcRoadPartTypeEnum.TOLLPLAZA +trafficisland = IfcRoadPartTypeEnum.TRAFFICISLAND +trafficlane = IfcRoadPartTypeEnum.TRAFFICLANE +userdefined = IfcRoadPartTypeEnum.USERDEFINED +notdefined = IfcRoadPartTypeEnum.NOTDEFINED IfcRoadTypeEnum = enum_namespace() -userdefined = express_getattr(IfcRoadTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoadTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcRoadTypeEnum.USERDEFINED +notdefined = IfcRoadTypeEnum.NOTDEFINED IfcRoleEnum = enum_namespace() -architect = express_getattr(IfcRoleEnum, 'ARCHITECT', INDETERMINATE) -buildingoperator = express_getattr(IfcRoleEnum, 'BUILDINGOPERATOR', INDETERMINATE) -buildingowner = express_getattr(IfcRoleEnum, 'BUILDINGOWNER', INDETERMINATE) -civilengineer = express_getattr(IfcRoleEnum, 'CIVILENGINEER', INDETERMINATE) -client = express_getattr(IfcRoleEnum, 'CLIENT', INDETERMINATE) -commissioningengineer = express_getattr(IfcRoleEnum, 'COMMISSIONINGENGINEER', INDETERMINATE) -constructionmanager = express_getattr(IfcRoleEnum, 'CONSTRUCTIONMANAGER', INDETERMINATE) -consultant = express_getattr(IfcRoleEnum, 'CONSULTANT', INDETERMINATE) -contractor = express_getattr(IfcRoleEnum, 'CONTRACTOR', INDETERMINATE) -costengineer = express_getattr(IfcRoleEnum, 'COSTENGINEER', INDETERMINATE) -electricalengineer = express_getattr(IfcRoleEnum, 'ELECTRICALENGINEER', INDETERMINATE) -engineer = express_getattr(IfcRoleEnum, 'ENGINEER', INDETERMINATE) -facilitiesmanager = express_getattr(IfcRoleEnum, 'FACILITIESMANAGER', INDETERMINATE) -fieldconstructionmanager = express_getattr(IfcRoleEnum, 'FIELDCONSTRUCTIONMANAGER', INDETERMINATE) -manufacturer = express_getattr(IfcRoleEnum, 'MANUFACTURER', INDETERMINATE) -mechanicalengineer = express_getattr(IfcRoleEnum, 'MECHANICALENGINEER', INDETERMINATE) -owner = express_getattr(IfcRoleEnum, 'OWNER', INDETERMINATE) -projectmanager = express_getattr(IfcRoleEnum, 'PROJECTMANAGER', INDETERMINATE) -reseller = express_getattr(IfcRoleEnum, 'RESELLER', INDETERMINATE) -structuralengineer = express_getattr(IfcRoleEnum, 'STRUCTURALENGINEER', INDETERMINATE) -subcontractor = express_getattr(IfcRoleEnum, 'SUBCONTRACTOR', INDETERMINATE) -supplier = express_getattr(IfcRoleEnum, 'SUPPLIER', INDETERMINATE) -userdefined = express_getattr(IfcRoleEnum, 'USERDEFINED', INDETERMINATE) +architect = IfcRoleEnum.ARCHITECT +buildingoperator = IfcRoleEnum.BUILDINGOPERATOR +buildingowner = IfcRoleEnum.BUILDINGOWNER +civilengineer = IfcRoleEnum.CIVILENGINEER +client = IfcRoleEnum.CLIENT +commissioningengineer = IfcRoleEnum.COMMISSIONINGENGINEER +constructionmanager = IfcRoleEnum.CONSTRUCTIONMANAGER +consultant = IfcRoleEnum.CONSULTANT +contractor = IfcRoleEnum.CONTRACTOR +costengineer = IfcRoleEnum.COSTENGINEER +electricalengineer = IfcRoleEnum.ELECTRICALENGINEER +engineer = IfcRoleEnum.ENGINEER +facilitiesmanager = IfcRoleEnum.FACILITIESMANAGER +fieldconstructionmanager = IfcRoleEnum.FIELDCONSTRUCTIONMANAGER +manufacturer = IfcRoleEnum.MANUFACTURER +mechanicalengineer = IfcRoleEnum.MECHANICALENGINEER +owner = IfcRoleEnum.OWNER +projectmanager = IfcRoleEnum.PROJECTMANAGER +reseller = IfcRoleEnum.RESELLER +structuralengineer = IfcRoleEnum.STRUCTURALENGINEER +subcontractor = IfcRoleEnum.SUBCONTRACTOR +supplier = IfcRoleEnum.SUPPLIER +userdefined = IfcRoleEnum.USERDEFINED IfcRoofTypeEnum = enum_namespace() -barrel_roof = express_getattr(IfcRoofTypeEnum, 'BARREL_ROOF', INDETERMINATE) -butterfly_roof = express_getattr(IfcRoofTypeEnum, 'BUTTERFLY_ROOF', INDETERMINATE) -dome_roof = express_getattr(IfcRoofTypeEnum, 'DOME_ROOF', INDETERMINATE) -flat_roof = express_getattr(IfcRoofTypeEnum, 'FLAT_ROOF', INDETERMINATE) -freeform = express_getattr(IfcRoofTypeEnum, 'FREEFORM', INDETERMINATE) -gable_roof = express_getattr(IfcRoofTypeEnum, 'GABLE_ROOF', INDETERMINATE) -gambrel_roof = express_getattr(IfcRoofTypeEnum, 'GAMBREL_ROOF', INDETERMINATE) -hipped_gable_roof = express_getattr(IfcRoofTypeEnum, 'HIPPED_GABLE_ROOF', INDETERMINATE) -hip_roof = express_getattr(IfcRoofTypeEnum, 'HIP_ROOF', INDETERMINATE) -mansard_roof = express_getattr(IfcRoofTypeEnum, 'MANSARD_ROOF', INDETERMINATE) -pavilion_roof = express_getattr(IfcRoofTypeEnum, 'PAVILION_ROOF', INDETERMINATE) -rainbow_roof = express_getattr(IfcRoofTypeEnum, 'RAINBOW_ROOF', INDETERMINATE) -shed_roof = express_getattr(IfcRoofTypeEnum, 'SHED_ROOF', INDETERMINATE) -userdefined = express_getattr(IfcRoofTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoofTypeEnum, 'NOTDEFINED', INDETERMINATE) +barrel_roof = IfcRoofTypeEnum.BARREL_ROOF +butterfly_roof = IfcRoofTypeEnum.BUTTERFLY_ROOF +dome_roof = IfcRoofTypeEnum.DOME_ROOF +flat_roof = IfcRoofTypeEnum.FLAT_ROOF +freeform = IfcRoofTypeEnum.FREEFORM +gable_roof = IfcRoofTypeEnum.GABLE_ROOF +gambrel_roof = IfcRoofTypeEnum.GAMBREL_ROOF +hipped_gable_roof = IfcRoofTypeEnum.HIPPED_GABLE_ROOF +hip_roof = IfcRoofTypeEnum.HIP_ROOF +mansard_roof = IfcRoofTypeEnum.MANSARD_ROOF +pavilion_roof = IfcRoofTypeEnum.PAVILION_ROOF +rainbow_roof = IfcRoofTypeEnum.RAINBOW_ROOF +shed_roof = IfcRoofTypeEnum.SHED_ROOF +userdefined = IfcRoofTypeEnum.USERDEFINED +notdefined = IfcRoofTypeEnum.NOTDEFINED IfcSIPrefix = enum_namespace() -atto = express_getattr(IfcSIPrefix, 'ATTO', INDETERMINATE) -centi = express_getattr(IfcSIPrefix, 'CENTI', INDETERMINATE) -deca = express_getattr(IfcSIPrefix, 'DECA', INDETERMINATE) -deci = express_getattr(IfcSIPrefix, 'DECI', INDETERMINATE) -exa = express_getattr(IfcSIPrefix, 'EXA', INDETERMINATE) -femto = express_getattr(IfcSIPrefix, 'FEMTO', INDETERMINATE) -giga = express_getattr(IfcSIPrefix, 'GIGA', INDETERMINATE) -hecto = express_getattr(IfcSIPrefix, 'HECTO', INDETERMINATE) -kilo = express_getattr(IfcSIPrefix, 'KILO', INDETERMINATE) -mega = express_getattr(IfcSIPrefix, 'MEGA', INDETERMINATE) -micro = express_getattr(IfcSIPrefix, 'MICRO', INDETERMINATE) -milli = express_getattr(IfcSIPrefix, 'MILLI', INDETERMINATE) -nano = express_getattr(IfcSIPrefix, 'NANO', INDETERMINATE) -peta = express_getattr(IfcSIPrefix, 'PETA', INDETERMINATE) -pico = express_getattr(IfcSIPrefix, 'PICO', INDETERMINATE) -tera = express_getattr(IfcSIPrefix, 'TERA', INDETERMINATE) +atto = IfcSIPrefix.ATTO +centi = IfcSIPrefix.CENTI +deca = IfcSIPrefix.DECA +deci = IfcSIPrefix.DECI +exa = IfcSIPrefix.EXA +femto = IfcSIPrefix.FEMTO +giga = IfcSIPrefix.GIGA +hecto = IfcSIPrefix.HECTO +kilo = IfcSIPrefix.KILO +mega = IfcSIPrefix.MEGA +micro = IfcSIPrefix.MICRO +milli = IfcSIPrefix.MILLI +nano = IfcSIPrefix.NANO +peta = IfcSIPrefix.PETA +pico = IfcSIPrefix.PICO +tera = IfcSIPrefix.TERA IfcSIUnitName = enum_namespace() -ampere = express_getattr(IfcSIUnitName, 'AMPERE', INDETERMINATE) -becquerel = express_getattr(IfcSIUnitName, 'BECQUEREL', INDETERMINATE) -candela = express_getattr(IfcSIUnitName, 'CANDELA', INDETERMINATE) -coulomb = express_getattr(IfcSIUnitName, 'COULOMB', INDETERMINATE) -cubic_metre = express_getattr(IfcSIUnitName, 'CUBIC_METRE', INDETERMINATE) -degree_celsius = express_getattr(IfcSIUnitName, 'DEGREE_CELSIUS', INDETERMINATE) -farad = express_getattr(IfcSIUnitName, 'FARAD', INDETERMINATE) -gram = express_getattr(IfcSIUnitName, 'GRAM', INDETERMINATE) -gray = express_getattr(IfcSIUnitName, 'GRAY', INDETERMINATE) -henry = express_getattr(IfcSIUnitName, 'HENRY', INDETERMINATE) -hertz = express_getattr(IfcSIUnitName, 'HERTZ', INDETERMINATE) -joule = express_getattr(IfcSIUnitName, 'JOULE', INDETERMINATE) -kelvin = express_getattr(IfcSIUnitName, 'KELVIN', INDETERMINATE) -lumen = express_getattr(IfcSIUnitName, 'LUMEN', INDETERMINATE) -lux = express_getattr(IfcSIUnitName, 'LUX', INDETERMINATE) -metre = express_getattr(IfcSIUnitName, 'METRE', INDETERMINATE) -mole = express_getattr(IfcSIUnitName, 'MOLE', INDETERMINATE) -newton = express_getattr(IfcSIUnitName, 'NEWTON', INDETERMINATE) -ohm = express_getattr(IfcSIUnitName, 'OHM', INDETERMINATE) -pascal = express_getattr(IfcSIUnitName, 'PASCAL', INDETERMINATE) -radian = express_getattr(IfcSIUnitName, 'RADIAN', INDETERMINATE) -second = express_getattr(IfcSIUnitName, 'SECOND', INDETERMINATE) -siemens = express_getattr(IfcSIUnitName, 'SIEMENS', INDETERMINATE) -sievert = express_getattr(IfcSIUnitName, 'SIEVERT', INDETERMINATE) -square_metre = express_getattr(IfcSIUnitName, 'SQUARE_METRE', INDETERMINATE) -steradian = express_getattr(IfcSIUnitName, 'STERADIAN', INDETERMINATE) -tesla = express_getattr(IfcSIUnitName, 'TESLA', INDETERMINATE) -volt = express_getattr(IfcSIUnitName, 'VOLT', INDETERMINATE) -watt = express_getattr(IfcSIUnitName, 'WATT', INDETERMINATE) -weber = express_getattr(IfcSIUnitName, 'WEBER', INDETERMINATE) +ampere = IfcSIUnitName.AMPERE +becquerel = IfcSIUnitName.BECQUEREL +candela = IfcSIUnitName.CANDELA +coulomb = IfcSIUnitName.COULOMB +cubic_metre = IfcSIUnitName.CUBIC_METRE +degree_celsius = IfcSIUnitName.DEGREE_CELSIUS +farad = IfcSIUnitName.FARAD +gram = IfcSIUnitName.GRAM +gray = IfcSIUnitName.GRAY +henry = IfcSIUnitName.HENRY +hertz = IfcSIUnitName.HERTZ +joule = IfcSIUnitName.JOULE +kelvin = IfcSIUnitName.KELVIN +lumen = IfcSIUnitName.LUMEN +lux = IfcSIUnitName.LUX +metre = IfcSIUnitName.METRE +mole = IfcSIUnitName.MOLE +newton = IfcSIUnitName.NEWTON +ohm = IfcSIUnitName.OHM +pascal = IfcSIUnitName.PASCAL +radian = IfcSIUnitName.RADIAN +second = IfcSIUnitName.SECOND +siemens = IfcSIUnitName.SIEMENS +sievert = IfcSIUnitName.SIEVERT +square_metre = IfcSIUnitName.SQUARE_METRE +steradian = IfcSIUnitName.STERADIAN +tesla = IfcSIUnitName.TESLA +volt = IfcSIUnitName.VOLT +watt = IfcSIUnitName.WATT +weber = IfcSIUnitName.WEBER IfcSanitaryTerminalTypeEnum = enum_namespace() -bath = express_getattr(IfcSanitaryTerminalTypeEnum, 'BATH', INDETERMINATE) -bidet = express_getattr(IfcSanitaryTerminalTypeEnum, 'BIDET', INDETERMINATE) -cistern = express_getattr(IfcSanitaryTerminalTypeEnum, 'CISTERN', INDETERMINATE) -sanitaryfountain = express_getattr(IfcSanitaryTerminalTypeEnum, 'SANITARYFOUNTAIN', INDETERMINATE) -shower = express_getattr(IfcSanitaryTerminalTypeEnum, 'SHOWER', INDETERMINATE) -sink = express_getattr(IfcSanitaryTerminalTypeEnum, 'SINK', INDETERMINATE) -toiletpan = express_getattr(IfcSanitaryTerminalTypeEnum, 'TOILETPAN', INDETERMINATE) -urinal = express_getattr(IfcSanitaryTerminalTypeEnum, 'URINAL', INDETERMINATE) -washhandbasin = express_getattr(IfcSanitaryTerminalTypeEnum, 'WASHHANDBASIN', INDETERMINATE) -wcseat = express_getattr(IfcSanitaryTerminalTypeEnum, 'WCSEAT', INDETERMINATE) -userdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +bath = IfcSanitaryTerminalTypeEnum.BATH +bidet = IfcSanitaryTerminalTypeEnum.BIDET +cistern = IfcSanitaryTerminalTypeEnum.CISTERN +sanitaryfountain = IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN +shower = IfcSanitaryTerminalTypeEnum.SHOWER +sink = IfcSanitaryTerminalTypeEnum.SINK +toiletpan = IfcSanitaryTerminalTypeEnum.TOILETPAN +urinal = IfcSanitaryTerminalTypeEnum.URINAL +washhandbasin = IfcSanitaryTerminalTypeEnum.WASHHANDBASIN +wcseat = IfcSanitaryTerminalTypeEnum.WCSEAT +userdefined = IfcSanitaryTerminalTypeEnum.USERDEFINED +notdefined = IfcSanitaryTerminalTypeEnum.NOTDEFINED IfcSectionTypeEnum = enum_namespace() -tapered = express_getattr(IfcSectionTypeEnum, 'TAPERED', INDETERMINATE) -uniform = express_getattr(IfcSectionTypeEnum, 'UNIFORM', INDETERMINATE) +tapered = IfcSectionTypeEnum.TAPERED +uniform = IfcSectionTypeEnum.UNIFORM IfcSensorTypeEnum = enum_namespace() -co2sensor = express_getattr(IfcSensorTypeEnum, 'CO2SENSOR', INDETERMINATE) -conductancesensor = express_getattr(IfcSensorTypeEnum, 'CONDUCTANCESENSOR', INDETERMINATE) -contactsensor = express_getattr(IfcSensorTypeEnum, 'CONTACTSENSOR', INDETERMINATE) -cosensor = express_getattr(IfcSensorTypeEnum, 'COSENSOR', INDETERMINATE) -earthquakesensor = express_getattr(IfcSensorTypeEnum, 'EARTHQUAKESENSOR', INDETERMINATE) -firesensor = express_getattr(IfcSensorTypeEnum, 'FIRESENSOR', INDETERMINATE) -flowsensor = express_getattr(IfcSensorTypeEnum, 'FLOWSENSOR', INDETERMINATE) -foreignobjectdetectionsensor = express_getattr(IfcSensorTypeEnum, 'FOREIGNOBJECTDETECTIONSENSOR', INDETERMINATE) -frostsensor = express_getattr(IfcSensorTypeEnum, 'FROSTSENSOR', INDETERMINATE) -gassensor = express_getattr(IfcSensorTypeEnum, 'GASSENSOR', INDETERMINATE) -heatsensor = express_getattr(IfcSensorTypeEnum, 'HEATSENSOR', INDETERMINATE) -humiditysensor = express_getattr(IfcSensorTypeEnum, 'HUMIDITYSENSOR', INDETERMINATE) -identifiersensor = express_getattr(IfcSensorTypeEnum, 'IDENTIFIERSENSOR', INDETERMINATE) -ionconcentrationsensor = express_getattr(IfcSensorTypeEnum, 'IONCONCENTRATIONSENSOR', INDETERMINATE) -levelsensor = express_getattr(IfcSensorTypeEnum, 'LEVELSENSOR', INDETERMINATE) -lightsensor = express_getattr(IfcSensorTypeEnum, 'LIGHTSENSOR', INDETERMINATE) -moisturesensor = express_getattr(IfcSensorTypeEnum, 'MOISTURESENSOR', INDETERMINATE) -movementsensor = express_getattr(IfcSensorTypeEnum, 'MOVEMENTSENSOR', INDETERMINATE) -obstaclesensor = express_getattr(IfcSensorTypeEnum, 'OBSTACLESENSOR', INDETERMINATE) -phsensor = express_getattr(IfcSensorTypeEnum, 'PHSENSOR', INDETERMINATE) -pressuresensor = express_getattr(IfcSensorTypeEnum, 'PRESSURESENSOR', INDETERMINATE) -radiationsensor = express_getattr(IfcSensorTypeEnum, 'RADIATIONSENSOR', INDETERMINATE) -radioactivitysensor = express_getattr(IfcSensorTypeEnum, 'RADIOACTIVITYSENSOR', INDETERMINATE) -rainsensor = express_getattr(IfcSensorTypeEnum, 'RAINSENSOR', INDETERMINATE) -smokesensor = express_getattr(IfcSensorTypeEnum, 'SMOKESENSOR', INDETERMINATE) -snowdepthsensor = express_getattr(IfcSensorTypeEnum, 'SNOWDEPTHSENSOR', INDETERMINATE) -soundsensor = express_getattr(IfcSensorTypeEnum, 'SOUNDSENSOR', INDETERMINATE) -temperaturesensor = express_getattr(IfcSensorTypeEnum, 'TEMPERATURESENSOR', INDETERMINATE) -trainsensor = express_getattr(IfcSensorTypeEnum, 'TRAINSENSOR', INDETERMINATE) -turnoutclosuresensor = express_getattr(IfcSensorTypeEnum, 'TURNOUTCLOSURESENSOR', INDETERMINATE) -wheelsensor = express_getattr(IfcSensorTypeEnum, 'WHEELSENSOR', INDETERMINATE) -windsensor = express_getattr(IfcSensorTypeEnum, 'WINDSENSOR', INDETERMINATE) -userdefined = express_getattr(IfcSensorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSensorTypeEnum, 'NOTDEFINED', INDETERMINATE) +co2sensor = IfcSensorTypeEnum.CO2SENSOR +conductancesensor = IfcSensorTypeEnum.CONDUCTANCESENSOR +contactsensor = IfcSensorTypeEnum.CONTACTSENSOR +cosensor = IfcSensorTypeEnum.COSENSOR +earthquakesensor = IfcSensorTypeEnum.EARTHQUAKESENSOR +firesensor = IfcSensorTypeEnum.FIRESENSOR +flowsensor = IfcSensorTypeEnum.FLOWSENSOR +foreignobjectdetectionsensor = IfcSensorTypeEnum.FOREIGNOBJECTDETECTIONSENSOR +frostsensor = IfcSensorTypeEnum.FROSTSENSOR +gassensor = IfcSensorTypeEnum.GASSENSOR +heatsensor = IfcSensorTypeEnum.HEATSENSOR +humiditysensor = IfcSensorTypeEnum.HUMIDITYSENSOR +identifiersensor = IfcSensorTypeEnum.IDENTIFIERSENSOR +ionconcentrationsensor = IfcSensorTypeEnum.IONCONCENTRATIONSENSOR +levelsensor = IfcSensorTypeEnum.LEVELSENSOR +lightsensor = IfcSensorTypeEnum.LIGHTSENSOR +moisturesensor = IfcSensorTypeEnum.MOISTURESENSOR +movementsensor = IfcSensorTypeEnum.MOVEMENTSENSOR +obstaclesensor = IfcSensorTypeEnum.OBSTACLESENSOR +phsensor = IfcSensorTypeEnum.PHSENSOR +pressuresensor = IfcSensorTypeEnum.PRESSURESENSOR +radiationsensor = IfcSensorTypeEnum.RADIATIONSENSOR +radioactivitysensor = IfcSensorTypeEnum.RADIOACTIVITYSENSOR +rainsensor = IfcSensorTypeEnum.RAINSENSOR +smokesensor = IfcSensorTypeEnum.SMOKESENSOR +snowdepthsensor = IfcSensorTypeEnum.SNOWDEPTHSENSOR +soundsensor = IfcSensorTypeEnum.SOUNDSENSOR +temperaturesensor = IfcSensorTypeEnum.TEMPERATURESENSOR +trainsensor = IfcSensorTypeEnum.TRAINSENSOR +turnoutclosuresensor = IfcSensorTypeEnum.TURNOUTCLOSURESENSOR +wheelsensor = IfcSensorTypeEnum.WHEELSENSOR +windsensor = IfcSensorTypeEnum.WINDSENSOR +userdefined = IfcSensorTypeEnum.USERDEFINED +notdefined = IfcSensorTypeEnum.NOTDEFINED IfcSequenceEnum = enum_namespace() -finish_finish = express_getattr(IfcSequenceEnum, 'FINISH_FINISH', INDETERMINATE) -finish_start = express_getattr(IfcSequenceEnum, 'FINISH_START', INDETERMINATE) -start_finish = express_getattr(IfcSequenceEnum, 'START_FINISH', INDETERMINATE) -start_start = express_getattr(IfcSequenceEnum, 'START_START', INDETERMINATE) -userdefined = express_getattr(IfcSequenceEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSequenceEnum, 'NOTDEFINED', INDETERMINATE) +finish_finish = IfcSequenceEnum.FINISH_FINISH +finish_start = IfcSequenceEnum.FINISH_START +start_finish = IfcSequenceEnum.START_FINISH +start_start = IfcSequenceEnum.START_START +userdefined = IfcSequenceEnum.USERDEFINED +notdefined = IfcSequenceEnum.NOTDEFINED IfcShadingDeviceTypeEnum = enum_namespace() -awning = express_getattr(IfcShadingDeviceTypeEnum, 'AWNING', INDETERMINATE) -jalousie = express_getattr(IfcShadingDeviceTypeEnum, 'JALOUSIE', INDETERMINATE) -shutter = express_getattr(IfcShadingDeviceTypeEnum, 'SHUTTER', INDETERMINATE) -userdefined = express_getattr(IfcShadingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcShadingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +awning = IfcShadingDeviceTypeEnum.AWNING +jalousie = IfcShadingDeviceTypeEnum.JALOUSIE +shutter = IfcShadingDeviceTypeEnum.SHUTTER +userdefined = IfcShadingDeviceTypeEnum.USERDEFINED +notdefined = IfcShadingDeviceTypeEnum.NOTDEFINED IfcSignTypeEnum = enum_namespace() -marker = express_getattr(IfcSignTypeEnum, 'MARKER', INDETERMINATE) -mirror = express_getattr(IfcSignTypeEnum, 'MIRROR', INDETERMINATE) -pictoral = express_getattr(IfcSignTypeEnum, 'PICTORAL', INDETERMINATE) -userdefined = express_getattr(IfcSignTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSignTypeEnum, 'NOTDEFINED', INDETERMINATE) +marker = IfcSignTypeEnum.MARKER +mirror = IfcSignTypeEnum.MIRROR +pictoral = IfcSignTypeEnum.PICTORAL +userdefined = IfcSignTypeEnum.USERDEFINED +notdefined = IfcSignTypeEnum.NOTDEFINED IfcSignalTypeEnum = enum_namespace() -audio = express_getattr(IfcSignalTypeEnum, 'AUDIO', INDETERMINATE) -mixed = express_getattr(IfcSignalTypeEnum, 'MIXED', INDETERMINATE) -visual = express_getattr(IfcSignalTypeEnum, 'VISUAL', INDETERMINATE) -userdefined = express_getattr(IfcSignalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSignalTypeEnum, 'NOTDEFINED', INDETERMINATE) +audio = IfcSignalTypeEnum.AUDIO +mixed = IfcSignalTypeEnum.MIXED +visual = IfcSignalTypeEnum.VISUAL +userdefined = IfcSignalTypeEnum.USERDEFINED +notdefined = IfcSignalTypeEnum.NOTDEFINED IfcSimplePropertyTemplateTypeEnum = enum_namespace() -p_boundedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_BOUNDEDVALUE', INDETERMINATE) -p_enumeratedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_ENUMERATEDVALUE', INDETERMINATE) -p_listvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_LISTVALUE', INDETERMINATE) -p_referencevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_REFERENCEVALUE', INDETERMINATE) -p_singlevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_SINGLEVALUE', INDETERMINATE) -p_tablevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_TABLEVALUE', INDETERMINATE) -q_area = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_AREA', INDETERMINATE) -q_count = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_COUNT', INDETERMINATE) -q_length = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_LENGTH', INDETERMINATE) -q_number = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_NUMBER', INDETERMINATE) -q_time = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_TIME', INDETERMINATE) -q_volume = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_VOLUME', INDETERMINATE) -q_weight = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_WEIGHT', INDETERMINATE) +p_boundedvalue = IfcSimplePropertyTemplateTypeEnum.P_BOUNDEDVALUE +p_enumeratedvalue = IfcSimplePropertyTemplateTypeEnum.P_ENUMERATEDVALUE +p_listvalue = IfcSimplePropertyTemplateTypeEnum.P_LISTVALUE +p_referencevalue = IfcSimplePropertyTemplateTypeEnum.P_REFERENCEVALUE +p_singlevalue = IfcSimplePropertyTemplateTypeEnum.P_SINGLEVALUE +p_tablevalue = IfcSimplePropertyTemplateTypeEnum.P_TABLEVALUE +q_area = IfcSimplePropertyTemplateTypeEnum.Q_AREA +q_count = IfcSimplePropertyTemplateTypeEnum.Q_COUNT +q_length = IfcSimplePropertyTemplateTypeEnum.Q_LENGTH +q_number = IfcSimplePropertyTemplateTypeEnum.Q_NUMBER +q_time = IfcSimplePropertyTemplateTypeEnum.Q_TIME +q_volume = IfcSimplePropertyTemplateTypeEnum.Q_VOLUME +q_weight = IfcSimplePropertyTemplateTypeEnum.Q_WEIGHT IfcSlabTypeEnum = enum_namespace() -approach_slab = express_getattr(IfcSlabTypeEnum, 'APPROACH_SLAB', INDETERMINATE) -baseslab = express_getattr(IfcSlabTypeEnum, 'BASESLAB', INDETERMINATE) -floor = express_getattr(IfcSlabTypeEnum, 'FLOOR', INDETERMINATE) -landing = express_getattr(IfcSlabTypeEnum, 'LANDING', INDETERMINATE) -paving = express_getattr(IfcSlabTypeEnum, 'PAVING', INDETERMINATE) -roof = express_getattr(IfcSlabTypeEnum, 'ROOF', INDETERMINATE) -sidewalk = express_getattr(IfcSlabTypeEnum, 'SIDEWALK', INDETERMINATE) -trackslab = express_getattr(IfcSlabTypeEnum, 'TRACKSLAB', INDETERMINATE) -wearing = express_getattr(IfcSlabTypeEnum, 'WEARING', INDETERMINATE) -userdefined = express_getattr(IfcSlabTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSlabTypeEnum, 'NOTDEFINED', INDETERMINATE) +approach_slab = IfcSlabTypeEnum.APPROACH_SLAB +baseslab = IfcSlabTypeEnum.BASESLAB +floor = IfcSlabTypeEnum.FLOOR +landing = IfcSlabTypeEnum.LANDING +paving = IfcSlabTypeEnum.PAVING +roof = IfcSlabTypeEnum.ROOF +sidewalk = IfcSlabTypeEnum.SIDEWALK +trackslab = IfcSlabTypeEnum.TRACKSLAB +wearing = IfcSlabTypeEnum.WEARING +userdefined = IfcSlabTypeEnum.USERDEFINED +notdefined = IfcSlabTypeEnum.NOTDEFINED IfcSolarDeviceTypeEnum = enum_namespace() -solarcollector = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARCOLLECTOR', INDETERMINATE) -solarpanel = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARPANEL', INDETERMINATE) -userdefined = express_getattr(IfcSolarDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSolarDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +solarcollector = IfcSolarDeviceTypeEnum.SOLARCOLLECTOR +solarpanel = IfcSolarDeviceTypeEnum.SOLARPANEL +userdefined = IfcSolarDeviceTypeEnum.USERDEFINED +notdefined = IfcSolarDeviceTypeEnum.NOTDEFINED IfcSpaceHeaterTypeEnum = enum_namespace() -convector = express_getattr(IfcSpaceHeaterTypeEnum, 'CONVECTOR', INDETERMINATE) -radiator = express_getattr(IfcSpaceHeaterTypeEnum, 'RADIATOR', INDETERMINATE) -userdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'NOTDEFINED', INDETERMINATE) +convector = IfcSpaceHeaterTypeEnum.CONVECTOR +radiator = IfcSpaceHeaterTypeEnum.RADIATOR +userdefined = IfcSpaceHeaterTypeEnum.USERDEFINED +notdefined = IfcSpaceHeaterTypeEnum.NOTDEFINED IfcSpaceTypeEnum = enum_namespace() -berth = express_getattr(IfcSpaceTypeEnum, 'BERTH', INDETERMINATE) -external = express_getattr(IfcSpaceTypeEnum, 'EXTERNAL', INDETERMINATE) -gfa = express_getattr(IfcSpaceTypeEnum, 'GFA', INDETERMINATE) -internal = express_getattr(IfcSpaceTypeEnum, 'INTERNAL', INDETERMINATE) -parking = express_getattr(IfcSpaceTypeEnum, 'PARKING', INDETERMINATE) -space = express_getattr(IfcSpaceTypeEnum, 'SPACE', INDETERMINATE) -userdefined = express_getattr(IfcSpaceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceTypeEnum, 'NOTDEFINED', INDETERMINATE) +berth = IfcSpaceTypeEnum.BERTH +external = IfcSpaceTypeEnum.EXTERNAL +gfa = IfcSpaceTypeEnum.GFA +internal = IfcSpaceTypeEnum.INTERNAL +parking = IfcSpaceTypeEnum.PARKING +space = IfcSpaceTypeEnum.SPACE +userdefined = IfcSpaceTypeEnum.USERDEFINED +notdefined = IfcSpaceTypeEnum.NOTDEFINED IfcSpatialZoneTypeEnum = enum_namespace() -construction = express_getattr(IfcSpatialZoneTypeEnum, 'CONSTRUCTION', INDETERMINATE) -firesafety = express_getattr(IfcSpatialZoneTypeEnum, 'FIRESAFETY', INDETERMINATE) -interference = express_getattr(IfcSpatialZoneTypeEnum, 'INTERFERENCE', INDETERMINATE) -lighting = express_getattr(IfcSpatialZoneTypeEnum, 'LIGHTING', INDETERMINATE) -occupancy = express_getattr(IfcSpatialZoneTypeEnum, 'OCCUPANCY', INDETERMINATE) -reservation = express_getattr(IfcSpatialZoneTypeEnum, 'RESERVATION', INDETERMINATE) -security = express_getattr(IfcSpatialZoneTypeEnum, 'SECURITY', INDETERMINATE) -thermal = express_getattr(IfcSpatialZoneTypeEnum, 'THERMAL', INDETERMINATE) -transport = express_getattr(IfcSpatialZoneTypeEnum, 'TRANSPORT', INDETERMINATE) -ventilation = express_getattr(IfcSpatialZoneTypeEnum, 'VENTILATION', INDETERMINATE) -userdefined = express_getattr(IfcSpatialZoneTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpatialZoneTypeEnum, 'NOTDEFINED', INDETERMINATE) +construction = IfcSpatialZoneTypeEnum.CONSTRUCTION +firesafety = IfcSpatialZoneTypeEnum.FIRESAFETY +interference = IfcSpatialZoneTypeEnum.INTERFERENCE +lighting = IfcSpatialZoneTypeEnum.LIGHTING +occupancy = IfcSpatialZoneTypeEnum.OCCUPANCY +reservation = IfcSpatialZoneTypeEnum.RESERVATION +security = IfcSpatialZoneTypeEnum.SECURITY +thermal = IfcSpatialZoneTypeEnum.THERMAL +transport = IfcSpatialZoneTypeEnum.TRANSPORT +ventilation = IfcSpatialZoneTypeEnum.VENTILATION +userdefined = IfcSpatialZoneTypeEnum.USERDEFINED +notdefined = IfcSpatialZoneTypeEnum.NOTDEFINED IfcStackTerminalTypeEnum = enum_namespace() -birdcage = express_getattr(IfcStackTerminalTypeEnum, 'BIRDCAGE', INDETERMINATE) -cowl = express_getattr(IfcStackTerminalTypeEnum, 'COWL', INDETERMINATE) -rainwaterhopper = express_getattr(IfcStackTerminalTypeEnum, 'RAINWATERHOPPER', INDETERMINATE) -userdefined = express_getattr(IfcStackTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStackTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +birdcage = IfcStackTerminalTypeEnum.BIRDCAGE +cowl = IfcStackTerminalTypeEnum.COWL +rainwaterhopper = IfcStackTerminalTypeEnum.RAINWATERHOPPER +userdefined = IfcStackTerminalTypeEnum.USERDEFINED +notdefined = IfcStackTerminalTypeEnum.NOTDEFINED IfcStairFlightTypeEnum = enum_namespace() -curved = express_getattr(IfcStairFlightTypeEnum, 'CURVED', INDETERMINATE) -freeform = express_getattr(IfcStairFlightTypeEnum, 'FREEFORM', INDETERMINATE) -spiral = express_getattr(IfcStairFlightTypeEnum, 'SPIRAL', INDETERMINATE) -straight = express_getattr(IfcStairFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -winder = express_getattr(IfcStairFlightTypeEnum, 'WINDER', INDETERMINATE) -userdefined = express_getattr(IfcStairFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +curved = IfcStairFlightTypeEnum.CURVED +freeform = IfcStairFlightTypeEnum.FREEFORM +spiral = IfcStairFlightTypeEnum.SPIRAL +straight = IfcStairFlightTypeEnum.STRAIGHT +winder = IfcStairFlightTypeEnum.WINDER +userdefined = IfcStairFlightTypeEnum.USERDEFINED +notdefined = IfcStairFlightTypeEnum.NOTDEFINED IfcStairTypeEnum = enum_namespace() -curved_run_stair = express_getattr(IfcStairTypeEnum, 'CURVED_RUN_STAIR', INDETERMINATE) -double_return_stair = express_getattr(IfcStairTypeEnum, 'DOUBLE_RETURN_STAIR', INDETERMINATE) -half_turn_stair = express_getattr(IfcStairTypeEnum, 'HALF_TURN_STAIR', INDETERMINATE) -half_winding_stair = express_getattr(IfcStairTypeEnum, 'HALF_WINDING_STAIR', INDETERMINATE) -ladder = express_getattr(IfcStairTypeEnum, 'LADDER', INDETERMINATE) -quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_TURN_STAIR', INDETERMINATE) -quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_WINDING_STAIR', INDETERMINATE) -spiral_stair = express_getattr(IfcStairTypeEnum, 'SPIRAL_STAIR', INDETERMINATE) -straight_run_stair = express_getattr(IfcStairTypeEnum, 'STRAIGHT_RUN_STAIR', INDETERMINATE) -three_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_TURN_STAIR', INDETERMINATE) -three_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_WINDING_STAIR', INDETERMINATE) -two_curved_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_CURVED_RUN_STAIR', INDETERMINATE) -two_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_TURN_STAIR', INDETERMINATE) -two_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_WINDING_STAIR', INDETERMINATE) -two_straight_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_STRAIGHT_RUN_STAIR', INDETERMINATE) -userdefined = express_getattr(IfcStairTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairTypeEnum, 'NOTDEFINED', INDETERMINATE) +curved_run_stair = IfcStairTypeEnum.CURVED_RUN_STAIR +double_return_stair = IfcStairTypeEnum.DOUBLE_RETURN_STAIR +half_turn_stair = IfcStairTypeEnum.HALF_TURN_STAIR +half_winding_stair = IfcStairTypeEnum.HALF_WINDING_STAIR +ladder = IfcStairTypeEnum.LADDER +quarter_turn_stair = IfcStairTypeEnum.QUARTER_TURN_STAIR +quarter_winding_stair = IfcStairTypeEnum.QUARTER_WINDING_STAIR +spiral_stair = IfcStairTypeEnum.SPIRAL_STAIR +straight_run_stair = IfcStairTypeEnum.STRAIGHT_RUN_STAIR +three_quarter_turn_stair = IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR +three_quarter_winding_stair = IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR +two_curved_run_stair = IfcStairTypeEnum.TWO_CURVED_RUN_STAIR +two_quarter_turn_stair = IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR +two_quarter_winding_stair = IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR +two_straight_run_stair = IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR +userdefined = IfcStairTypeEnum.USERDEFINED +notdefined = IfcStairTypeEnum.NOTDEFINED IfcStateEnum = enum_namespace() -locked = express_getattr(IfcStateEnum, 'LOCKED', INDETERMINATE) -readonly = express_getattr(IfcStateEnum, 'READONLY', INDETERMINATE) -readonlylocked = express_getattr(IfcStateEnum, 'READONLYLOCKED', INDETERMINATE) -readwrite = express_getattr(IfcStateEnum, 'READWRITE', INDETERMINATE) -readwritelocked = express_getattr(IfcStateEnum, 'READWRITELOCKED', INDETERMINATE) +locked = IfcStateEnum.LOCKED +readonly = IfcStateEnum.READONLY +readonlylocked = IfcStateEnum.READONLYLOCKED +readwrite = IfcStateEnum.READWRITE +readwritelocked = IfcStateEnum.READWRITELOCKED IfcStructuralCurveActivityTypeEnum = enum_namespace() -const = express_getattr(IfcStructuralCurveActivityTypeEnum, 'CONST', INDETERMINATE) -discrete = express_getattr(IfcStructuralCurveActivityTypeEnum, 'DISCRETE', INDETERMINATE) -equidistant = express_getattr(IfcStructuralCurveActivityTypeEnum, 'EQUIDISTANT', INDETERMINATE) -linear = express_getattr(IfcStructuralCurveActivityTypeEnum, 'LINEAR', INDETERMINATE) -parabola = express_getattr(IfcStructuralCurveActivityTypeEnum, 'PARABOLA', INDETERMINATE) -polygonal = express_getattr(IfcStructuralCurveActivityTypeEnum, 'POLYGONAL', INDETERMINATE) -sinus = express_getattr(IfcStructuralCurveActivityTypeEnum, 'SINUS', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +const = IfcStructuralCurveActivityTypeEnum.CONST +discrete = IfcStructuralCurveActivityTypeEnum.DISCRETE +equidistant = IfcStructuralCurveActivityTypeEnum.EQUIDISTANT +linear = IfcStructuralCurveActivityTypeEnum.LINEAR +parabola = IfcStructuralCurveActivityTypeEnum.PARABOLA +polygonal = IfcStructuralCurveActivityTypeEnum.POLYGONAL +sinus = IfcStructuralCurveActivityTypeEnum.SINUS +userdefined = IfcStructuralCurveActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveActivityTypeEnum.NOTDEFINED IfcStructuralCurveMemberTypeEnum = enum_namespace() -cable = express_getattr(IfcStructuralCurveMemberTypeEnum, 'CABLE', INDETERMINATE) -compression_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'COMPRESSION_MEMBER', INDETERMINATE) -pin_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'PIN_JOINED_MEMBER', INDETERMINATE) -rigid_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'RIGID_JOINED_MEMBER', INDETERMINATE) -tension_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'TENSION_MEMBER', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +cable = IfcStructuralCurveMemberTypeEnum.CABLE +compression_member = IfcStructuralCurveMemberTypeEnum.COMPRESSION_MEMBER +pin_joined_member = IfcStructuralCurveMemberTypeEnum.PIN_JOINED_MEMBER +rigid_joined_member = IfcStructuralCurveMemberTypeEnum.RIGID_JOINED_MEMBER +tension_member = IfcStructuralCurveMemberTypeEnum.TENSION_MEMBER +userdefined = IfcStructuralCurveMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveMemberTypeEnum.NOTDEFINED IfcStructuralSurfaceActivityTypeEnum = enum_namespace() -bilinear = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'BILINEAR', INDETERMINATE) -const = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'CONST', INDETERMINATE) -discrete = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'DISCRETE', INDETERMINATE) -isocontour = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'ISOCONTOUR', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +bilinear = IfcStructuralSurfaceActivityTypeEnum.BILINEAR +const = IfcStructuralSurfaceActivityTypeEnum.CONST +discrete = IfcStructuralSurfaceActivityTypeEnum.DISCRETE +isocontour = IfcStructuralSurfaceActivityTypeEnum.ISOCONTOUR +userdefined = IfcStructuralSurfaceActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceActivityTypeEnum.NOTDEFINED IfcStructuralSurfaceMemberTypeEnum = enum_namespace() -bending_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'BENDING_ELEMENT', INDETERMINATE) -membrane_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'MEMBRANE_ELEMENT', INDETERMINATE) -shell = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'SHELL', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +bending_element = IfcStructuralSurfaceMemberTypeEnum.BENDING_ELEMENT +membrane_element = IfcStructuralSurfaceMemberTypeEnum.MEMBRANE_ELEMENT +shell = IfcStructuralSurfaceMemberTypeEnum.SHELL +userdefined = IfcStructuralSurfaceMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceMemberTypeEnum.NOTDEFINED IfcSubContractResourceTypeEnum = enum_namespace() -purchase = express_getattr(IfcSubContractResourceTypeEnum, 'PURCHASE', INDETERMINATE) -work = express_getattr(IfcSubContractResourceTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcSubContractResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSubContractResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +purchase = IfcSubContractResourceTypeEnum.PURCHASE +work = IfcSubContractResourceTypeEnum.WORK +userdefined = IfcSubContractResourceTypeEnum.USERDEFINED +notdefined = IfcSubContractResourceTypeEnum.NOTDEFINED IfcSurfaceFeatureTypeEnum = enum_namespace() -defect = express_getattr(IfcSurfaceFeatureTypeEnum, 'DEFECT', INDETERMINATE) -hatchmarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'HATCHMARKING', INDETERMINATE) -linemarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'LINEMARKING', INDETERMINATE) -mark = express_getattr(IfcSurfaceFeatureTypeEnum, 'MARK', INDETERMINATE) -nonskidsurfacing = express_getattr(IfcSurfaceFeatureTypeEnum, 'NONSKIDSURFACING', INDETERMINATE) -pavementsurfacemarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'PAVEMENTSURFACEMARKING', INDETERMINATE) -rumblestrip = express_getattr(IfcSurfaceFeatureTypeEnum, 'RUMBLESTRIP', INDETERMINATE) -symbolmarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'SYMBOLMARKING', INDETERMINATE) -tag = express_getattr(IfcSurfaceFeatureTypeEnum, 'TAG', INDETERMINATE) -transverserumblestrip = express_getattr(IfcSurfaceFeatureTypeEnum, 'TRANSVERSERUMBLESTRIP', INDETERMINATE) -treatment = express_getattr(IfcSurfaceFeatureTypeEnum, 'TREATMENT', INDETERMINATE) -userdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +defect = IfcSurfaceFeatureTypeEnum.DEFECT +hatchmarking = IfcSurfaceFeatureTypeEnum.HATCHMARKING +linemarking = IfcSurfaceFeatureTypeEnum.LINEMARKING +mark = IfcSurfaceFeatureTypeEnum.MARK +nonskidsurfacing = IfcSurfaceFeatureTypeEnum.NONSKIDSURFACING +pavementsurfacemarking = IfcSurfaceFeatureTypeEnum.PAVEMENTSURFACEMARKING +rumblestrip = IfcSurfaceFeatureTypeEnum.RUMBLESTRIP +symbolmarking = IfcSurfaceFeatureTypeEnum.SYMBOLMARKING +tag = IfcSurfaceFeatureTypeEnum.TAG +transverserumblestrip = IfcSurfaceFeatureTypeEnum.TRANSVERSERUMBLESTRIP +treatment = IfcSurfaceFeatureTypeEnum.TREATMENT +userdefined = IfcSurfaceFeatureTypeEnum.USERDEFINED +notdefined = IfcSurfaceFeatureTypeEnum.NOTDEFINED IfcSurfaceSide = enum_namespace() -both = express_getattr(IfcSurfaceSide, 'BOTH', INDETERMINATE) -negative = express_getattr(IfcSurfaceSide, 'NEGATIVE', INDETERMINATE) -positive = express_getattr(IfcSurfaceSide, 'POSITIVE', INDETERMINATE) +both = IfcSurfaceSide.BOTH +negative = IfcSurfaceSide.NEGATIVE +positive = IfcSurfaceSide.POSITIVE IfcSwitchingDeviceTypeEnum = enum_namespace() -contactor = express_getattr(IfcSwitchingDeviceTypeEnum, 'CONTACTOR', INDETERMINATE) -dimmerswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'DIMMERSWITCH', INDETERMINATE) -emergencystop = express_getattr(IfcSwitchingDeviceTypeEnum, 'EMERGENCYSTOP', INDETERMINATE) -keypad = express_getattr(IfcSwitchingDeviceTypeEnum, 'KEYPAD', INDETERMINATE) -momentaryswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'MOMENTARYSWITCH', INDETERMINATE) -relay = express_getattr(IfcSwitchingDeviceTypeEnum, 'RELAY', INDETERMINATE) -selectorswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'SELECTORSWITCH', INDETERMINATE) -starter = express_getattr(IfcSwitchingDeviceTypeEnum, 'STARTER', INDETERMINATE) -start_and_stop_equipment = express_getattr(IfcSwitchingDeviceTypeEnum, 'START_AND_STOP_EQUIPMENT', INDETERMINATE) -switchdisconnector = express_getattr(IfcSwitchingDeviceTypeEnum, 'SWITCHDISCONNECTOR', INDETERMINATE) -toggleswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'TOGGLESWITCH', INDETERMINATE) -userdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +contactor = IfcSwitchingDeviceTypeEnum.CONTACTOR +dimmerswitch = IfcSwitchingDeviceTypeEnum.DIMMERSWITCH +emergencystop = IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP +keypad = IfcSwitchingDeviceTypeEnum.KEYPAD +momentaryswitch = IfcSwitchingDeviceTypeEnum.MOMENTARYSWITCH +relay = IfcSwitchingDeviceTypeEnum.RELAY +selectorswitch = IfcSwitchingDeviceTypeEnum.SELECTORSWITCH +starter = IfcSwitchingDeviceTypeEnum.STARTER +start_and_stop_equipment = IfcSwitchingDeviceTypeEnum.START_AND_STOP_EQUIPMENT +switchdisconnector = IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR +toggleswitch = IfcSwitchingDeviceTypeEnum.TOGGLESWITCH +userdefined = IfcSwitchingDeviceTypeEnum.USERDEFINED +notdefined = IfcSwitchingDeviceTypeEnum.NOTDEFINED IfcSystemFurnitureElementTypeEnum = enum_namespace() -panel = express_getattr(IfcSystemFurnitureElementTypeEnum, 'PANEL', INDETERMINATE) -subrack = express_getattr(IfcSystemFurnitureElementTypeEnum, 'SUBRACK', INDETERMINATE) -worksurface = express_getattr(IfcSystemFurnitureElementTypeEnum, 'WORKSURFACE', INDETERMINATE) -userdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +panel = IfcSystemFurnitureElementTypeEnum.PANEL +subrack = IfcSystemFurnitureElementTypeEnum.SUBRACK +worksurface = IfcSystemFurnitureElementTypeEnum.WORKSURFACE +userdefined = IfcSystemFurnitureElementTypeEnum.USERDEFINED +notdefined = IfcSystemFurnitureElementTypeEnum.NOTDEFINED IfcTankTypeEnum = enum_namespace() -basin = express_getattr(IfcTankTypeEnum, 'BASIN', INDETERMINATE) -breakpressure = express_getattr(IfcTankTypeEnum, 'BREAKPRESSURE', INDETERMINATE) -expansion = express_getattr(IfcTankTypeEnum, 'EXPANSION', INDETERMINATE) -feedandexpansion = express_getattr(IfcTankTypeEnum, 'FEEDANDEXPANSION', INDETERMINATE) -oilretentiontray = express_getattr(IfcTankTypeEnum, 'OILRETENTIONTRAY', INDETERMINATE) -pressurevessel = express_getattr(IfcTankTypeEnum, 'PRESSUREVESSEL', INDETERMINATE) -storage = express_getattr(IfcTankTypeEnum, 'STORAGE', INDETERMINATE) -vessel = express_getattr(IfcTankTypeEnum, 'VESSEL', INDETERMINATE) -userdefined = express_getattr(IfcTankTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTankTypeEnum, 'NOTDEFINED', INDETERMINATE) +basin = IfcTankTypeEnum.BASIN +breakpressure = IfcTankTypeEnum.BREAKPRESSURE +expansion = IfcTankTypeEnum.EXPANSION +feedandexpansion = IfcTankTypeEnum.FEEDANDEXPANSION +oilretentiontray = IfcTankTypeEnum.OILRETENTIONTRAY +pressurevessel = IfcTankTypeEnum.PRESSUREVESSEL +storage = IfcTankTypeEnum.STORAGE +vessel = IfcTankTypeEnum.VESSEL +userdefined = IfcTankTypeEnum.USERDEFINED +notdefined = IfcTankTypeEnum.NOTDEFINED IfcTaskDurationEnum = enum_namespace() -elapsedtime = express_getattr(IfcTaskDurationEnum, 'ELAPSEDTIME', INDETERMINATE) -worktime = express_getattr(IfcTaskDurationEnum, 'WORKTIME', INDETERMINATE) -notdefined = express_getattr(IfcTaskDurationEnum, 'NOTDEFINED', INDETERMINATE) +elapsedtime = IfcTaskDurationEnum.ELAPSEDTIME +worktime = IfcTaskDurationEnum.WORKTIME +notdefined = IfcTaskDurationEnum.NOTDEFINED IfcTaskTypeEnum = enum_namespace() -adjustment = express_getattr(IfcTaskTypeEnum, 'ADJUSTMENT', INDETERMINATE) -attendance = express_getattr(IfcTaskTypeEnum, 'ATTENDANCE', INDETERMINATE) -calibration = express_getattr(IfcTaskTypeEnum, 'CALIBRATION', INDETERMINATE) -construction = express_getattr(IfcTaskTypeEnum, 'CONSTRUCTION', INDETERMINATE) -demolition = express_getattr(IfcTaskTypeEnum, 'DEMOLITION', INDETERMINATE) -dismantle = express_getattr(IfcTaskTypeEnum, 'DISMANTLE', INDETERMINATE) -disposal = express_getattr(IfcTaskTypeEnum, 'DISPOSAL', INDETERMINATE) -emergency = express_getattr(IfcTaskTypeEnum, 'EMERGENCY', INDETERMINATE) -inspection = express_getattr(IfcTaskTypeEnum, 'INSPECTION', INDETERMINATE) -installation = express_getattr(IfcTaskTypeEnum, 'INSTALLATION', INDETERMINATE) -logistic = express_getattr(IfcTaskTypeEnum, 'LOGISTIC', INDETERMINATE) -maintenance = express_getattr(IfcTaskTypeEnum, 'MAINTENANCE', INDETERMINATE) -move = express_getattr(IfcTaskTypeEnum, 'MOVE', INDETERMINATE) -operation = express_getattr(IfcTaskTypeEnum, 'OPERATION', INDETERMINATE) -removal = express_getattr(IfcTaskTypeEnum, 'REMOVAL', INDETERMINATE) -renovation = express_getattr(IfcTaskTypeEnum, 'RENOVATION', INDETERMINATE) -safety = express_getattr(IfcTaskTypeEnum, 'SAFETY', INDETERMINATE) -shutdown = express_getattr(IfcTaskTypeEnum, 'SHUTDOWN', INDETERMINATE) -startup = express_getattr(IfcTaskTypeEnum, 'STARTUP', INDETERMINATE) -testing = express_getattr(IfcTaskTypeEnum, 'TESTING', INDETERMINATE) -troubleshooting = express_getattr(IfcTaskTypeEnum, 'TROUBLESHOOTING', INDETERMINATE) -userdefined = express_getattr(IfcTaskTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTaskTypeEnum, 'NOTDEFINED', INDETERMINATE) +adjustment = IfcTaskTypeEnum.ADJUSTMENT +attendance = IfcTaskTypeEnum.ATTENDANCE +calibration = IfcTaskTypeEnum.CALIBRATION +construction = IfcTaskTypeEnum.CONSTRUCTION +demolition = IfcTaskTypeEnum.DEMOLITION +dismantle = IfcTaskTypeEnum.DISMANTLE +disposal = IfcTaskTypeEnum.DISPOSAL +emergency = IfcTaskTypeEnum.EMERGENCY +inspection = IfcTaskTypeEnum.INSPECTION +installation = IfcTaskTypeEnum.INSTALLATION +logistic = IfcTaskTypeEnum.LOGISTIC +maintenance = IfcTaskTypeEnum.MAINTENANCE +move = IfcTaskTypeEnum.MOVE +operation = IfcTaskTypeEnum.OPERATION +removal = IfcTaskTypeEnum.REMOVAL +renovation = IfcTaskTypeEnum.RENOVATION +safety = IfcTaskTypeEnum.SAFETY +shutdown = IfcTaskTypeEnum.SHUTDOWN +startup = IfcTaskTypeEnum.STARTUP +testing = IfcTaskTypeEnum.TESTING +troubleshooting = IfcTaskTypeEnum.TROUBLESHOOTING +userdefined = IfcTaskTypeEnum.USERDEFINED +notdefined = IfcTaskTypeEnum.NOTDEFINED IfcTendonAnchorTypeEnum = enum_namespace() -coupler = express_getattr(IfcTendonAnchorTypeEnum, 'COUPLER', INDETERMINATE) -fixed_end = express_getattr(IfcTendonAnchorTypeEnum, 'FIXED_END', INDETERMINATE) -tensioning_end = express_getattr(IfcTendonAnchorTypeEnum, 'TENSIONING_END', INDETERMINATE) -userdefined = express_getattr(IfcTendonAnchorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonAnchorTypeEnum, 'NOTDEFINED', INDETERMINATE) +coupler = IfcTendonAnchorTypeEnum.COUPLER +fixed_end = IfcTendonAnchorTypeEnum.FIXED_END +tensioning_end = IfcTendonAnchorTypeEnum.TENSIONING_END +userdefined = IfcTendonAnchorTypeEnum.USERDEFINED +notdefined = IfcTendonAnchorTypeEnum.NOTDEFINED IfcTendonConduitTypeEnum = enum_namespace() -coupler = express_getattr(IfcTendonConduitTypeEnum, 'COUPLER', INDETERMINATE) -diabolo = express_getattr(IfcTendonConduitTypeEnum, 'DIABOLO', INDETERMINATE) -duct = express_getattr(IfcTendonConduitTypeEnum, 'DUCT', INDETERMINATE) -grouting_duct = express_getattr(IfcTendonConduitTypeEnum, 'GROUTING_DUCT', INDETERMINATE) -trumpet = express_getattr(IfcTendonConduitTypeEnum, 'TRUMPET', INDETERMINATE) -userdefined = express_getattr(IfcTendonConduitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonConduitTypeEnum, 'NOTDEFINED', INDETERMINATE) +coupler = IfcTendonConduitTypeEnum.COUPLER +diabolo = IfcTendonConduitTypeEnum.DIABOLO +duct = IfcTendonConduitTypeEnum.DUCT +grouting_duct = IfcTendonConduitTypeEnum.GROUTING_DUCT +trumpet = IfcTendonConduitTypeEnum.TRUMPET +userdefined = IfcTendonConduitTypeEnum.USERDEFINED +notdefined = IfcTendonConduitTypeEnum.NOTDEFINED IfcTendonTypeEnum = enum_namespace() -bar = express_getattr(IfcTendonTypeEnum, 'BAR', INDETERMINATE) -coated = express_getattr(IfcTendonTypeEnum, 'COATED', INDETERMINATE) -strand = express_getattr(IfcTendonTypeEnum, 'STRAND', INDETERMINATE) -wire = express_getattr(IfcTendonTypeEnum, 'WIRE', INDETERMINATE) -userdefined = express_getattr(IfcTendonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonTypeEnum, 'NOTDEFINED', INDETERMINATE) +bar = IfcTendonTypeEnum.BAR +coated = IfcTendonTypeEnum.COATED +strand = IfcTendonTypeEnum.STRAND +wire = IfcTendonTypeEnum.WIRE +userdefined = IfcTendonTypeEnum.USERDEFINED +notdefined = IfcTendonTypeEnum.NOTDEFINED IfcTextPath = enum_namespace() -down = express_getattr(IfcTextPath, 'DOWN', INDETERMINATE) -left = express_getattr(IfcTextPath, 'LEFT', INDETERMINATE) -right = express_getattr(IfcTextPath, 'RIGHT', INDETERMINATE) -up = express_getattr(IfcTextPath, 'UP', INDETERMINATE) +down = IfcTextPath.DOWN +left = IfcTextPath.LEFT +right = IfcTextPath.RIGHT +up = IfcTextPath.UP IfcTimeSeriesDataTypeEnum = enum_namespace() -continuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'CONTINUOUS', INDETERMINATE) -discrete = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETE', INDETERMINATE) -discretebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETEBINARY', INDETERMINATE) -piecewisebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISEBINARY', INDETERMINATE) -piecewiseconstant = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONSTANT', INDETERMINATE) -piecewisecontinuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONTINUOUS', INDETERMINATE) -notdefined = express_getattr(IfcTimeSeriesDataTypeEnum, 'NOTDEFINED', INDETERMINATE) +continuous = IfcTimeSeriesDataTypeEnum.CONTINUOUS +discrete = IfcTimeSeriesDataTypeEnum.DISCRETE +discretebinary = IfcTimeSeriesDataTypeEnum.DISCRETEBINARY +piecewisebinary = IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY +piecewiseconstant = IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT +piecewisecontinuous = IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS +notdefined = IfcTimeSeriesDataTypeEnum.NOTDEFINED IfcTrackElementTypeEnum = enum_namespace() -blockingdevice = express_getattr(IfcTrackElementTypeEnum, 'BLOCKINGDEVICE', INDETERMINATE) -derailer = express_getattr(IfcTrackElementTypeEnum, 'DERAILER', INDETERMINATE) -frog = express_getattr(IfcTrackElementTypeEnum, 'FROG', INDETERMINATE) -half_set_of_blades = express_getattr(IfcTrackElementTypeEnum, 'HALF_SET_OF_BLADES', INDETERMINATE) -sleeper = express_getattr(IfcTrackElementTypeEnum, 'SLEEPER', INDETERMINATE) -speedregulator = express_getattr(IfcTrackElementTypeEnum, 'SPEEDREGULATOR', INDETERMINATE) -trackendofalignment = express_getattr(IfcTrackElementTypeEnum, 'TRACKENDOFALIGNMENT', INDETERMINATE) -vehiclestop = express_getattr(IfcTrackElementTypeEnum, 'VEHICLESTOP', INDETERMINATE) -userdefined = express_getattr(IfcTrackElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTrackElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +blockingdevice = IfcTrackElementTypeEnum.BLOCKINGDEVICE +derailer = IfcTrackElementTypeEnum.DERAILER +frog = IfcTrackElementTypeEnum.FROG +half_set_of_blades = IfcTrackElementTypeEnum.HALF_SET_OF_BLADES +sleeper = IfcTrackElementTypeEnum.SLEEPER +speedregulator = IfcTrackElementTypeEnum.SPEEDREGULATOR +trackendofalignment = IfcTrackElementTypeEnum.TRACKENDOFALIGNMENT +vehiclestop = IfcTrackElementTypeEnum.VEHICLESTOP +userdefined = IfcTrackElementTypeEnum.USERDEFINED +notdefined = IfcTrackElementTypeEnum.NOTDEFINED IfcTransformerTypeEnum = enum_namespace() -chopper = express_getattr(IfcTransformerTypeEnum, 'CHOPPER', INDETERMINATE) -combined = express_getattr(IfcTransformerTypeEnum, 'COMBINED', INDETERMINATE) -current = express_getattr(IfcTransformerTypeEnum, 'CURRENT', INDETERMINATE) -frequency = express_getattr(IfcTransformerTypeEnum, 'FREQUENCY', INDETERMINATE) -inverter = express_getattr(IfcTransformerTypeEnum, 'INVERTER', INDETERMINATE) -rectifier = express_getattr(IfcTransformerTypeEnum, 'RECTIFIER', INDETERMINATE) -voltage = express_getattr(IfcTransformerTypeEnum, 'VOLTAGE', INDETERMINATE) -userdefined = express_getattr(IfcTransformerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransformerTypeEnum, 'NOTDEFINED', INDETERMINATE) +chopper = IfcTransformerTypeEnum.CHOPPER +combined = IfcTransformerTypeEnum.COMBINED +current = IfcTransformerTypeEnum.CURRENT +frequency = IfcTransformerTypeEnum.FREQUENCY +inverter = IfcTransformerTypeEnum.INVERTER +rectifier = IfcTransformerTypeEnum.RECTIFIER +voltage = IfcTransformerTypeEnum.VOLTAGE +userdefined = IfcTransformerTypeEnum.USERDEFINED +notdefined = IfcTransformerTypeEnum.NOTDEFINED IfcTransitionCode = enum_namespace() -continuous = express_getattr(IfcTransitionCode, 'CONTINUOUS', INDETERMINATE) -contsamegradient = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENT', INDETERMINATE) -contsamegradientsamecurvature = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENTSAMECURVATURE', INDETERMINATE) -discontinuous = express_getattr(IfcTransitionCode, 'DISCONTINUOUS', INDETERMINATE) +continuous = IfcTransitionCode.CONTINUOUS +contsamegradient = IfcTransitionCode.CONTSAMEGRADIENT +contsamegradientsamecurvature = IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE +discontinuous = IfcTransitionCode.DISCONTINUOUS IfcTransportElementTypeEnum = enum_namespace() -craneway = express_getattr(IfcTransportElementTypeEnum, 'CRANEWAY', INDETERMINATE) -elevator = express_getattr(IfcTransportElementTypeEnum, 'ELEVATOR', INDETERMINATE) -escalator = express_getattr(IfcTransportElementTypeEnum, 'ESCALATOR', INDETERMINATE) -haulinggear = express_getattr(IfcTransportElementTypeEnum, 'HAULINGGEAR', INDETERMINATE) -liftinggear = express_getattr(IfcTransportElementTypeEnum, 'LIFTINGGEAR', INDETERMINATE) -movingwalkway = express_getattr(IfcTransportElementTypeEnum, 'MOVINGWALKWAY', INDETERMINATE) -userdefined = express_getattr(IfcTransportElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransportElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +craneway = IfcTransportElementTypeEnum.CRANEWAY +elevator = IfcTransportElementTypeEnum.ELEVATOR +escalator = IfcTransportElementTypeEnum.ESCALATOR +haulinggear = IfcTransportElementTypeEnum.HAULINGGEAR +liftinggear = IfcTransportElementTypeEnum.LIFTINGGEAR +movingwalkway = IfcTransportElementTypeEnum.MOVINGWALKWAY +userdefined = IfcTransportElementTypeEnum.USERDEFINED +notdefined = IfcTransportElementTypeEnum.NOTDEFINED IfcTrimmingPreference = enum_namespace() -cartesian = express_getattr(IfcTrimmingPreference, 'CARTESIAN', INDETERMINATE) -parameter = express_getattr(IfcTrimmingPreference, 'PARAMETER', INDETERMINATE) -unspecified = express_getattr(IfcTrimmingPreference, 'UNSPECIFIED', INDETERMINATE) +cartesian = IfcTrimmingPreference.CARTESIAN +parameter = IfcTrimmingPreference.PARAMETER +unspecified = IfcTrimmingPreference.UNSPECIFIED IfcTubeBundleTypeEnum = enum_namespace() -finned = express_getattr(IfcTubeBundleTypeEnum, 'FINNED', INDETERMINATE) -userdefined = express_getattr(IfcTubeBundleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTubeBundleTypeEnum, 'NOTDEFINED', INDETERMINATE) +finned = IfcTubeBundleTypeEnum.FINNED +userdefined = IfcTubeBundleTypeEnum.USERDEFINED +notdefined = IfcTubeBundleTypeEnum.NOTDEFINED IfcUnitEnum = enum_namespace() -absorbeddoseunit = express_getattr(IfcUnitEnum, 'ABSORBEDDOSEUNIT', INDETERMINATE) -amountofsubstanceunit = express_getattr(IfcUnitEnum, 'AMOUNTOFSUBSTANCEUNIT', INDETERMINATE) -areaunit = express_getattr(IfcUnitEnum, 'AREAUNIT', INDETERMINATE) -doseequivalentunit = express_getattr(IfcUnitEnum, 'DOSEEQUIVALENTUNIT', INDETERMINATE) -electriccapacitanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCAPACITANCEUNIT', INDETERMINATE) -electricchargeunit = express_getattr(IfcUnitEnum, 'ELECTRICCHARGEUNIT', INDETERMINATE) -electricconductanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCONDUCTANCEUNIT', INDETERMINATE) -electriccurrentunit = express_getattr(IfcUnitEnum, 'ELECTRICCURRENTUNIT', INDETERMINATE) -electricresistanceunit = express_getattr(IfcUnitEnum, 'ELECTRICRESISTANCEUNIT', INDETERMINATE) -electricvoltageunit = express_getattr(IfcUnitEnum, 'ELECTRICVOLTAGEUNIT', INDETERMINATE) -energyunit = express_getattr(IfcUnitEnum, 'ENERGYUNIT', INDETERMINATE) -forceunit = express_getattr(IfcUnitEnum, 'FORCEUNIT', INDETERMINATE) -frequencyunit = express_getattr(IfcUnitEnum, 'FREQUENCYUNIT', INDETERMINATE) -illuminanceunit = express_getattr(IfcUnitEnum, 'ILLUMINANCEUNIT', INDETERMINATE) -inductanceunit = express_getattr(IfcUnitEnum, 'INDUCTANCEUNIT', INDETERMINATE) -lengthunit = express_getattr(IfcUnitEnum, 'LENGTHUNIT', INDETERMINATE) -luminousfluxunit = express_getattr(IfcUnitEnum, 'LUMINOUSFLUXUNIT', INDETERMINATE) -luminousintensityunit = express_getattr(IfcUnitEnum, 'LUMINOUSINTENSITYUNIT', INDETERMINATE) -magneticfluxdensityunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXDENSITYUNIT', INDETERMINATE) -magneticfluxunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXUNIT', INDETERMINATE) -massunit = express_getattr(IfcUnitEnum, 'MASSUNIT', INDETERMINATE) -planeangleunit = express_getattr(IfcUnitEnum, 'PLANEANGLEUNIT', INDETERMINATE) -powerunit = express_getattr(IfcUnitEnum, 'POWERUNIT', INDETERMINATE) -pressureunit = express_getattr(IfcUnitEnum, 'PRESSUREUNIT', INDETERMINATE) -radioactivityunit = express_getattr(IfcUnitEnum, 'RADIOACTIVITYUNIT', INDETERMINATE) -solidangleunit = express_getattr(IfcUnitEnum, 'SOLIDANGLEUNIT', INDETERMINATE) -thermodynamictemperatureunit = express_getattr(IfcUnitEnum, 'THERMODYNAMICTEMPERATUREUNIT', INDETERMINATE) -timeunit = express_getattr(IfcUnitEnum, 'TIMEUNIT', INDETERMINATE) -volumeunit = express_getattr(IfcUnitEnum, 'VOLUMEUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitEnum, 'USERDEFINED', INDETERMINATE) +absorbeddoseunit = IfcUnitEnum.ABSORBEDDOSEUNIT +amountofsubstanceunit = IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT +areaunit = IfcUnitEnum.AREAUNIT +doseequivalentunit = IfcUnitEnum.DOSEEQUIVALENTUNIT +electriccapacitanceunit = IfcUnitEnum.ELECTRICCAPACITANCEUNIT +electricchargeunit = IfcUnitEnum.ELECTRICCHARGEUNIT +electricconductanceunit = IfcUnitEnum.ELECTRICCONDUCTANCEUNIT +electriccurrentunit = IfcUnitEnum.ELECTRICCURRENTUNIT +electricresistanceunit = IfcUnitEnum.ELECTRICRESISTANCEUNIT +electricvoltageunit = IfcUnitEnum.ELECTRICVOLTAGEUNIT +energyunit = IfcUnitEnum.ENERGYUNIT +forceunit = IfcUnitEnum.FORCEUNIT +frequencyunit = IfcUnitEnum.FREQUENCYUNIT +illuminanceunit = IfcUnitEnum.ILLUMINANCEUNIT +inductanceunit = IfcUnitEnum.INDUCTANCEUNIT +lengthunit = IfcUnitEnum.LENGTHUNIT +luminousfluxunit = IfcUnitEnum.LUMINOUSFLUXUNIT +luminousintensityunit = IfcUnitEnum.LUMINOUSINTENSITYUNIT +magneticfluxdensityunit = IfcUnitEnum.MAGNETICFLUXDENSITYUNIT +magneticfluxunit = IfcUnitEnum.MAGNETICFLUXUNIT +massunit = IfcUnitEnum.MASSUNIT +planeangleunit = IfcUnitEnum.PLANEANGLEUNIT +powerunit = IfcUnitEnum.POWERUNIT +pressureunit = IfcUnitEnum.PRESSUREUNIT +radioactivityunit = IfcUnitEnum.RADIOACTIVITYUNIT +solidangleunit = IfcUnitEnum.SOLIDANGLEUNIT +thermodynamictemperatureunit = IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT +timeunit = IfcUnitEnum.TIMEUNIT +volumeunit = IfcUnitEnum.VOLUMEUNIT +userdefined = IfcUnitEnum.USERDEFINED IfcUnitaryControlElementTypeEnum = enum_namespace() -alarmpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'ALARMPANEL', INDETERMINATE) -basestationcontroller = express_getattr(IfcUnitaryControlElementTypeEnum, 'BASESTATIONCONTROLLER', INDETERMINATE) -combined = express_getattr(IfcUnitaryControlElementTypeEnum, 'COMBINED', INDETERMINATE) -controlpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'CONTROLPANEL', INDETERMINATE) -gasdetectionpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'GASDETECTIONPANEL', INDETERMINATE) -humidistat = express_getattr(IfcUnitaryControlElementTypeEnum, 'HUMIDISTAT', INDETERMINATE) -indicatorpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'INDICATORPANEL', INDETERMINATE) -mimicpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'MIMICPANEL', INDETERMINATE) -thermostat = express_getattr(IfcUnitaryControlElementTypeEnum, 'THERMOSTAT', INDETERMINATE) -weatherstation = express_getattr(IfcUnitaryControlElementTypeEnum, 'WEATHERSTATION', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +alarmpanel = IfcUnitaryControlElementTypeEnum.ALARMPANEL +basestationcontroller = IfcUnitaryControlElementTypeEnum.BASESTATIONCONTROLLER +combined = IfcUnitaryControlElementTypeEnum.COMBINED +controlpanel = IfcUnitaryControlElementTypeEnum.CONTROLPANEL +gasdetectionpanel = IfcUnitaryControlElementTypeEnum.GASDETECTIONPANEL +humidistat = IfcUnitaryControlElementTypeEnum.HUMIDISTAT +indicatorpanel = IfcUnitaryControlElementTypeEnum.INDICATORPANEL +mimicpanel = IfcUnitaryControlElementTypeEnum.MIMICPANEL +thermostat = IfcUnitaryControlElementTypeEnum.THERMOSTAT +weatherstation = IfcUnitaryControlElementTypeEnum.WEATHERSTATION +userdefined = IfcUnitaryControlElementTypeEnum.USERDEFINED +notdefined = IfcUnitaryControlElementTypeEnum.NOTDEFINED IfcUnitaryEquipmentTypeEnum = enum_namespace() -airconditioningunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRCONDITIONINGUNIT', INDETERMINATE) -airhandler = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRHANDLER', INDETERMINATE) -dehumidifier = express_getattr(IfcUnitaryEquipmentTypeEnum, 'DEHUMIDIFIER', INDETERMINATE) -rooftopunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'ROOFTOPUNIT', INDETERMINATE) -splitsystem = express_getattr(IfcUnitaryEquipmentTypeEnum, 'SPLITSYSTEM', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +airconditioningunit = IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT +airhandler = IfcUnitaryEquipmentTypeEnum.AIRHANDLER +dehumidifier = IfcUnitaryEquipmentTypeEnum.DEHUMIDIFIER +rooftopunit = IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT +splitsystem = IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM +userdefined = IfcUnitaryEquipmentTypeEnum.USERDEFINED +notdefined = IfcUnitaryEquipmentTypeEnum.NOTDEFINED IfcValveTypeEnum = enum_namespace() -airrelease = express_getattr(IfcValveTypeEnum, 'AIRRELEASE', INDETERMINATE) -antivacuum = express_getattr(IfcValveTypeEnum, 'ANTIVACUUM', INDETERMINATE) -changeover = express_getattr(IfcValveTypeEnum, 'CHANGEOVER', INDETERMINATE) -check = express_getattr(IfcValveTypeEnum, 'CHECK', INDETERMINATE) -commissioning = express_getattr(IfcValveTypeEnum, 'COMMISSIONING', INDETERMINATE) -diverting = express_getattr(IfcValveTypeEnum, 'DIVERTING', INDETERMINATE) -doublecheck = express_getattr(IfcValveTypeEnum, 'DOUBLECHECK', INDETERMINATE) -doubleregulating = express_getattr(IfcValveTypeEnum, 'DOUBLEREGULATING', INDETERMINATE) -drawoffcock = express_getattr(IfcValveTypeEnum, 'DRAWOFFCOCK', INDETERMINATE) -faucet = express_getattr(IfcValveTypeEnum, 'FAUCET', INDETERMINATE) -flushing = express_getattr(IfcValveTypeEnum, 'FLUSHING', INDETERMINATE) -gascock = express_getattr(IfcValveTypeEnum, 'GASCOCK', INDETERMINATE) -gastap = express_getattr(IfcValveTypeEnum, 'GASTAP', INDETERMINATE) -isolating = express_getattr(IfcValveTypeEnum, 'ISOLATING', INDETERMINATE) -mixing = express_getattr(IfcValveTypeEnum, 'MIXING', INDETERMINATE) -pressurereducing = express_getattr(IfcValveTypeEnum, 'PRESSUREREDUCING', INDETERMINATE) -pressurerelief = express_getattr(IfcValveTypeEnum, 'PRESSURERELIEF', INDETERMINATE) -regulating = express_getattr(IfcValveTypeEnum, 'REGULATING', INDETERMINATE) -safetycutoff = express_getattr(IfcValveTypeEnum, 'SAFETYCUTOFF', INDETERMINATE) -steamtrap = express_getattr(IfcValveTypeEnum, 'STEAMTRAP', INDETERMINATE) -stopcock = express_getattr(IfcValveTypeEnum, 'STOPCOCK', INDETERMINATE) -userdefined = express_getattr(IfcValveTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcValveTypeEnum, 'NOTDEFINED', INDETERMINATE) +airrelease = IfcValveTypeEnum.AIRRELEASE +antivacuum = IfcValveTypeEnum.ANTIVACUUM +changeover = IfcValveTypeEnum.CHANGEOVER +check = IfcValveTypeEnum.CHECK +commissioning = IfcValveTypeEnum.COMMISSIONING +diverting = IfcValveTypeEnum.DIVERTING +doublecheck = IfcValveTypeEnum.DOUBLECHECK +doubleregulating = IfcValveTypeEnum.DOUBLEREGULATING +drawoffcock = IfcValveTypeEnum.DRAWOFFCOCK +faucet = IfcValveTypeEnum.FAUCET +flushing = IfcValveTypeEnum.FLUSHING +gascock = IfcValveTypeEnum.GASCOCK +gastap = IfcValveTypeEnum.GASTAP +isolating = IfcValveTypeEnum.ISOLATING +mixing = IfcValveTypeEnum.MIXING +pressurereducing = IfcValveTypeEnum.PRESSUREREDUCING +pressurerelief = IfcValveTypeEnum.PRESSURERELIEF +regulating = IfcValveTypeEnum.REGULATING +safetycutoff = IfcValveTypeEnum.SAFETYCUTOFF +steamtrap = IfcValveTypeEnum.STEAMTRAP +stopcock = IfcValveTypeEnum.STOPCOCK +userdefined = IfcValveTypeEnum.USERDEFINED +notdefined = IfcValveTypeEnum.NOTDEFINED IfcVehicleTypeEnum = enum_namespace() -cargo = express_getattr(IfcVehicleTypeEnum, 'CARGO', INDETERMINATE) -rollingstock = express_getattr(IfcVehicleTypeEnum, 'ROLLINGSTOCK', INDETERMINATE) -vehicle = express_getattr(IfcVehicleTypeEnum, 'VEHICLE', INDETERMINATE) -vehicleair = express_getattr(IfcVehicleTypeEnum, 'VEHICLEAIR', INDETERMINATE) -vehiclemarine = express_getattr(IfcVehicleTypeEnum, 'VEHICLEMARINE', INDETERMINATE) -vehicletracked = express_getattr(IfcVehicleTypeEnum, 'VEHICLETRACKED', INDETERMINATE) -vehiclewheeled = express_getattr(IfcVehicleTypeEnum, 'VEHICLEWHEELED', INDETERMINATE) -userdefined = express_getattr(IfcVehicleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVehicleTypeEnum, 'NOTDEFINED', INDETERMINATE) +cargo = IfcVehicleTypeEnum.CARGO +rollingstock = IfcVehicleTypeEnum.ROLLINGSTOCK +vehicle = IfcVehicleTypeEnum.VEHICLE +vehicleair = IfcVehicleTypeEnum.VEHICLEAIR +vehiclemarine = IfcVehicleTypeEnum.VEHICLEMARINE +vehicletracked = IfcVehicleTypeEnum.VEHICLETRACKED +vehiclewheeled = IfcVehicleTypeEnum.VEHICLEWHEELED +userdefined = IfcVehicleTypeEnum.USERDEFINED +notdefined = IfcVehicleTypeEnum.NOTDEFINED IfcVibrationDamperTypeEnum = enum_namespace() -axial_yield = express_getattr(IfcVibrationDamperTypeEnum, 'AXIAL_YIELD', INDETERMINATE) -bending_yield = express_getattr(IfcVibrationDamperTypeEnum, 'BENDING_YIELD', INDETERMINATE) -friction = express_getattr(IfcVibrationDamperTypeEnum, 'FRICTION', INDETERMINATE) -rubber = express_getattr(IfcVibrationDamperTypeEnum, 'RUBBER', INDETERMINATE) -shear_yield = express_getattr(IfcVibrationDamperTypeEnum, 'SHEAR_YIELD', INDETERMINATE) -viscous = express_getattr(IfcVibrationDamperTypeEnum, 'VISCOUS', INDETERMINATE) -userdefined = express_getattr(IfcVibrationDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +axial_yield = IfcVibrationDamperTypeEnum.AXIAL_YIELD +bending_yield = IfcVibrationDamperTypeEnum.BENDING_YIELD +friction = IfcVibrationDamperTypeEnum.FRICTION +rubber = IfcVibrationDamperTypeEnum.RUBBER +shear_yield = IfcVibrationDamperTypeEnum.SHEAR_YIELD +viscous = IfcVibrationDamperTypeEnum.VISCOUS +userdefined = IfcVibrationDamperTypeEnum.USERDEFINED +notdefined = IfcVibrationDamperTypeEnum.NOTDEFINED IfcVibrationIsolatorTypeEnum = enum_namespace() -base = express_getattr(IfcVibrationIsolatorTypeEnum, 'BASE', INDETERMINATE) -compression = express_getattr(IfcVibrationIsolatorTypeEnum, 'COMPRESSION', INDETERMINATE) -spring = express_getattr(IfcVibrationIsolatorTypeEnum, 'SPRING', INDETERMINATE) -userdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +base = IfcVibrationIsolatorTypeEnum.BASE +compression = IfcVibrationIsolatorTypeEnum.COMPRESSION +spring = IfcVibrationIsolatorTypeEnum.SPRING +userdefined = IfcVibrationIsolatorTypeEnum.USERDEFINED +notdefined = IfcVibrationIsolatorTypeEnum.NOTDEFINED IfcVirtualElementTypeEnum = enum_namespace() -boundary = express_getattr(IfcVirtualElementTypeEnum, 'BOUNDARY', INDETERMINATE) -clearance = express_getattr(IfcVirtualElementTypeEnum, 'CLEARANCE', INDETERMINATE) -provisionforvoid = express_getattr(IfcVirtualElementTypeEnum, 'PROVISIONFORVOID', INDETERMINATE) -userdefined = express_getattr(IfcVirtualElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVirtualElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +boundary = IfcVirtualElementTypeEnum.BOUNDARY +clearance = IfcVirtualElementTypeEnum.CLEARANCE +provisionforvoid = IfcVirtualElementTypeEnum.PROVISIONFORVOID +userdefined = IfcVirtualElementTypeEnum.USERDEFINED +notdefined = IfcVirtualElementTypeEnum.NOTDEFINED IfcVoidingFeatureTypeEnum = enum_namespace() -chamfer = express_getattr(IfcVoidingFeatureTypeEnum, 'CHAMFER', INDETERMINATE) -cutout = express_getattr(IfcVoidingFeatureTypeEnum, 'CUTOUT', INDETERMINATE) -edge = express_getattr(IfcVoidingFeatureTypeEnum, 'EDGE', INDETERMINATE) -hole = express_getattr(IfcVoidingFeatureTypeEnum, 'HOLE', INDETERMINATE) -miter = express_getattr(IfcVoidingFeatureTypeEnum, 'MITER', INDETERMINATE) -notch = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTCH', INDETERMINATE) -userdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +chamfer = IfcVoidingFeatureTypeEnum.CHAMFER +cutout = IfcVoidingFeatureTypeEnum.CUTOUT +edge = IfcVoidingFeatureTypeEnum.EDGE +hole = IfcVoidingFeatureTypeEnum.HOLE +miter = IfcVoidingFeatureTypeEnum.MITER +notch = IfcVoidingFeatureTypeEnum.NOTCH +userdefined = IfcVoidingFeatureTypeEnum.USERDEFINED +notdefined = IfcVoidingFeatureTypeEnum.NOTDEFINED IfcWallTypeEnum = enum_namespace() -elementedwall = express_getattr(IfcWallTypeEnum, 'ELEMENTEDWALL', INDETERMINATE) -movable = express_getattr(IfcWallTypeEnum, 'MOVABLE', INDETERMINATE) -parapet = express_getattr(IfcWallTypeEnum, 'PARAPET', INDETERMINATE) -partitioning = express_getattr(IfcWallTypeEnum, 'PARTITIONING', INDETERMINATE) -plumbingwall = express_getattr(IfcWallTypeEnum, 'PLUMBINGWALL', INDETERMINATE) -polygonal = express_getattr(IfcWallTypeEnum, 'POLYGONAL', INDETERMINATE) -retainingwall = express_getattr(IfcWallTypeEnum, 'RETAININGWALL', INDETERMINATE) -shear = express_getattr(IfcWallTypeEnum, 'SHEAR', INDETERMINATE) -solidwall = express_getattr(IfcWallTypeEnum, 'SOLIDWALL', INDETERMINATE) -standard = express_getattr(IfcWallTypeEnum, 'STANDARD', INDETERMINATE) -wavewall = express_getattr(IfcWallTypeEnum, 'WAVEWALL', INDETERMINATE) -userdefined = express_getattr(IfcWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +elementedwall = IfcWallTypeEnum.ELEMENTEDWALL +movable = IfcWallTypeEnum.MOVABLE +parapet = IfcWallTypeEnum.PARAPET +partitioning = IfcWallTypeEnum.PARTITIONING +plumbingwall = IfcWallTypeEnum.PLUMBINGWALL +polygonal = IfcWallTypeEnum.POLYGONAL +retainingwall = IfcWallTypeEnum.RETAININGWALL +shear = IfcWallTypeEnum.SHEAR +solidwall = IfcWallTypeEnum.SOLIDWALL +standard = IfcWallTypeEnum.STANDARD +wavewall = IfcWallTypeEnum.WAVEWALL +userdefined = IfcWallTypeEnum.USERDEFINED +notdefined = IfcWallTypeEnum.NOTDEFINED IfcWasteTerminalTypeEnum = enum_namespace() -floortrap = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORTRAP', INDETERMINATE) -floorwaste = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORWASTE', INDETERMINATE) -gullysump = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYSUMP', INDETERMINATE) -gullytrap = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYTRAP', INDETERMINATE) -roofdrain = express_getattr(IfcWasteTerminalTypeEnum, 'ROOFDRAIN', INDETERMINATE) -wastedisposalunit = express_getattr(IfcWasteTerminalTypeEnum, 'WASTEDISPOSALUNIT', INDETERMINATE) -wastetrap = express_getattr(IfcWasteTerminalTypeEnum, 'WASTETRAP', INDETERMINATE) -userdefined = express_getattr(IfcWasteTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWasteTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +floortrap = IfcWasteTerminalTypeEnum.FLOORTRAP +floorwaste = IfcWasteTerminalTypeEnum.FLOORWASTE +gullysump = IfcWasteTerminalTypeEnum.GULLYSUMP +gullytrap = IfcWasteTerminalTypeEnum.GULLYTRAP +roofdrain = IfcWasteTerminalTypeEnum.ROOFDRAIN +wastedisposalunit = IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT +wastetrap = IfcWasteTerminalTypeEnum.WASTETRAP +userdefined = IfcWasteTerminalTypeEnum.USERDEFINED +notdefined = IfcWasteTerminalTypeEnum.NOTDEFINED IfcWindowPanelOperationEnum = enum_namespace() -bottomhung = express_getattr(IfcWindowPanelOperationEnum, 'BOTTOMHUNG', INDETERMINATE) -fixedcasement = express_getattr(IfcWindowPanelOperationEnum, 'FIXEDCASEMENT', INDETERMINATE) -otheroperation = express_getattr(IfcWindowPanelOperationEnum, 'OTHEROPERATION', INDETERMINATE) -pivothorizontal = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTHORIZONTAL', INDETERMINATE) -pivotvertical = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTVERTICAL', INDETERMINATE) -removablecasement = express_getattr(IfcWindowPanelOperationEnum, 'REMOVABLECASEMENT', INDETERMINATE) -sidehunglefthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGLEFTHAND', INDETERMINATE) -sidehungrighthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGRIGHTHAND', INDETERMINATE) -slidinghorizontal = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGHORIZONTAL', INDETERMINATE) -slidingvertical = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGVERTICAL', INDETERMINATE) -tiltandturnlefthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNLEFTHAND', INDETERMINATE) -tiltandturnrighthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNRIGHTHAND', INDETERMINATE) -tophung = express_getattr(IfcWindowPanelOperationEnum, 'TOPHUNG', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +bottomhung = IfcWindowPanelOperationEnum.BOTTOMHUNG +fixedcasement = IfcWindowPanelOperationEnum.FIXEDCASEMENT +otheroperation = IfcWindowPanelOperationEnum.OTHEROPERATION +pivothorizontal = IfcWindowPanelOperationEnum.PIVOTHORIZONTAL +pivotvertical = IfcWindowPanelOperationEnum.PIVOTVERTICAL +removablecasement = IfcWindowPanelOperationEnum.REMOVABLECASEMENT +sidehunglefthand = IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND +sidehungrighthand = IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND +slidinghorizontal = IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL +slidingvertical = IfcWindowPanelOperationEnum.SLIDINGVERTICAL +tiltandturnlefthand = IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND +tiltandturnrighthand = IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND +tophung = IfcWindowPanelOperationEnum.TOPHUNG +notdefined = IfcWindowPanelOperationEnum.NOTDEFINED IfcWindowPanelPositionEnum = enum_namespace() -bottom = express_getattr(IfcWindowPanelPositionEnum, 'BOTTOM', INDETERMINATE) -left = express_getattr(IfcWindowPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcWindowPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcWindowPanelPositionEnum, 'RIGHT', INDETERMINATE) -top = express_getattr(IfcWindowPanelPositionEnum, 'TOP', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +bottom = IfcWindowPanelPositionEnum.BOTTOM +left = IfcWindowPanelPositionEnum.LEFT +middle = IfcWindowPanelPositionEnum.MIDDLE +right = IfcWindowPanelPositionEnum.RIGHT +top = IfcWindowPanelPositionEnum.TOP +notdefined = IfcWindowPanelPositionEnum.NOTDEFINED IfcWindowTypeEnum = enum_namespace() -lightdome = express_getattr(IfcWindowTypeEnum, 'LIGHTDOME', INDETERMINATE) -skylight = express_getattr(IfcWindowTypeEnum, 'SKYLIGHT', INDETERMINATE) -window = express_getattr(IfcWindowTypeEnum, 'WINDOW', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypeEnum, 'NOTDEFINED', INDETERMINATE) +lightdome = IfcWindowTypeEnum.LIGHTDOME +skylight = IfcWindowTypeEnum.SKYLIGHT +window = IfcWindowTypeEnum.WINDOW +userdefined = IfcWindowTypeEnum.USERDEFINED +notdefined = IfcWindowTypeEnum.NOTDEFINED IfcWindowTypePartitioningEnum = enum_namespace() -double_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -single_panel = express_getattr(IfcWindowTypePartitioningEnum, 'SINGLE_PANEL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypePartitioningEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypePartitioningEnum, 'NOTDEFINED', INDETERMINATE) +double_panel_horizontal = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_HORIZONTAL +double_panel_vertical = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_VERTICAL +single_panel = IfcWindowTypePartitioningEnum.SINGLE_PANEL +triple_panel_bottom = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_BOTTOM +triple_panel_horizontal = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_HORIZONTAL +triple_panel_left = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_RIGHT +triple_panel_top = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_TOP +triple_panel_vertical = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_VERTICAL +userdefined = IfcWindowTypePartitioningEnum.USERDEFINED +notdefined = IfcWindowTypePartitioningEnum.NOTDEFINED IfcWorkCalendarTypeEnum = enum_namespace() -firstshift = express_getattr(IfcWorkCalendarTypeEnum, 'FIRSTSHIFT', INDETERMINATE) -secondshift = express_getattr(IfcWorkCalendarTypeEnum, 'SECONDSHIFT', INDETERMINATE) -thirdshift = express_getattr(IfcWorkCalendarTypeEnum, 'THIRDSHIFT', INDETERMINATE) -userdefined = express_getattr(IfcWorkCalendarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkCalendarTypeEnum, 'NOTDEFINED', INDETERMINATE) +firstshift = IfcWorkCalendarTypeEnum.FIRSTSHIFT +secondshift = IfcWorkCalendarTypeEnum.SECONDSHIFT +thirdshift = IfcWorkCalendarTypeEnum.THIRDSHIFT +userdefined = IfcWorkCalendarTypeEnum.USERDEFINED +notdefined = IfcWorkCalendarTypeEnum.NOTDEFINED IfcWorkPlanTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkPlanTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkPlanTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkPlanTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkPlanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkPlanTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkPlanTypeEnum.ACTUAL +baseline = IfcWorkPlanTypeEnum.BASELINE +planned = IfcWorkPlanTypeEnum.PLANNED +userdefined = IfcWorkPlanTypeEnum.USERDEFINED +notdefined = IfcWorkPlanTypeEnum.NOTDEFINED IfcWorkScheduleTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkScheduleTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkScheduleTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkScheduleTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkScheduleTypeEnum.ACTUAL +baseline = IfcWorkScheduleTypeEnum.BASELINE +planned = IfcWorkScheduleTypeEnum.PLANNED +userdefined = IfcWorkScheduleTypeEnum.USERDEFINED +notdefined = IfcWorkScheduleTypeEnum.NOTDEFINED def IfcActionRequest(*args, **kwargs): return ifcopenshell.create_entity('IfcActionRequest', 'IFC4X3_ADD2', *args, **kwargs) diff --git a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_RC1.py b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_RC1.py index 13e34ec4f8..ee645919aa 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_RC1.py +++ b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_RC1.py @@ -1,5 +1,8 @@ import ifcopenshell +def is_indeterminate(v): + return v is None or type(v).__name__ == 'indeterminate_type' + def exists(v): if callable(v): try: @@ -7,10 +10,10 @@ def exists(v): except IndexError as e: return False else: - return v is not None + return not is_indeterminate(v) def nvl(v, default): - return v if v is not None else default + return v if not is_indeterminate(v) else default def is_entity(inst): if isinstance(inst, ifcopenshell.entity_instance): @@ -22,13 +25,13 @@ def is_entity(inst): def express_len(v): if isinstance(v, ifcopenshell.entity_instance) and (not is_entity(v)): v = v[0] - elif v is None or v is INDETERMINATE: + elif is_indeterminate(v): return INDETERMINATE return len(v) old_range = range def range(*args): - if INDETERMINATE in args: + if any(map(is_indeterminate, args)): return yield from old_range(*args) sizeof = express_len @@ -149,2337 +152,2337 @@ class enum_namespace: def __getattr__(self, k): return express_getattr(k, 'upper', INDETERMINATE)() IfcActionRequestTypeEnum = enum_namespace() -email = express_getattr(IfcActionRequestTypeEnum, 'EMAIL', INDETERMINATE) -fax = express_getattr(IfcActionRequestTypeEnum, 'FAX', INDETERMINATE) -phone = express_getattr(IfcActionRequestTypeEnum, 'PHONE', INDETERMINATE) -post = express_getattr(IfcActionRequestTypeEnum, 'POST', INDETERMINATE) -verbal = express_getattr(IfcActionRequestTypeEnum, 'VERBAL', INDETERMINATE) -userdefined = express_getattr(IfcActionRequestTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionRequestTypeEnum, 'NOTDEFINED', INDETERMINATE) +email = IfcActionRequestTypeEnum.EMAIL +fax = IfcActionRequestTypeEnum.FAX +phone = IfcActionRequestTypeEnum.PHONE +post = IfcActionRequestTypeEnum.POST +verbal = IfcActionRequestTypeEnum.VERBAL +userdefined = IfcActionRequestTypeEnum.USERDEFINED +notdefined = IfcActionRequestTypeEnum.NOTDEFINED IfcActionSourceTypeEnum = enum_namespace() -dead_load_g = express_getattr(IfcActionSourceTypeEnum, 'DEAD_LOAD_G', INDETERMINATE) -completion_g1 = express_getattr(IfcActionSourceTypeEnum, 'COMPLETION_G1', INDETERMINATE) -live_load_q = express_getattr(IfcActionSourceTypeEnum, 'LIVE_LOAD_Q', INDETERMINATE) -snow_s = express_getattr(IfcActionSourceTypeEnum, 'SNOW_S', INDETERMINATE) -wind_w = express_getattr(IfcActionSourceTypeEnum, 'WIND_W', INDETERMINATE) -prestressing_p = express_getattr(IfcActionSourceTypeEnum, 'PRESTRESSING_P', INDETERMINATE) -settlement_u = express_getattr(IfcActionSourceTypeEnum, 'SETTLEMENT_U', INDETERMINATE) -temperature_t = express_getattr(IfcActionSourceTypeEnum, 'TEMPERATURE_T', INDETERMINATE) -earthquake_e = express_getattr(IfcActionSourceTypeEnum, 'EARTHQUAKE_E', INDETERMINATE) -fire = express_getattr(IfcActionSourceTypeEnum, 'FIRE', INDETERMINATE) -impulse = express_getattr(IfcActionSourceTypeEnum, 'IMPULSE', INDETERMINATE) -impact = express_getattr(IfcActionSourceTypeEnum, 'IMPACT', INDETERMINATE) -transport = express_getattr(IfcActionSourceTypeEnum, 'TRANSPORT', INDETERMINATE) -erection = express_getattr(IfcActionSourceTypeEnum, 'ERECTION', INDETERMINATE) -propping = express_getattr(IfcActionSourceTypeEnum, 'PROPPING', INDETERMINATE) -system_imperfection = express_getattr(IfcActionSourceTypeEnum, 'SYSTEM_IMPERFECTION', INDETERMINATE) -shrinkage = express_getattr(IfcActionSourceTypeEnum, 'SHRINKAGE', INDETERMINATE) -creep = express_getattr(IfcActionSourceTypeEnum, 'CREEP', INDETERMINATE) -lack_of_fit = express_getattr(IfcActionSourceTypeEnum, 'LACK_OF_FIT', INDETERMINATE) -buoyancy = express_getattr(IfcActionSourceTypeEnum, 'BUOYANCY', INDETERMINATE) -ice = express_getattr(IfcActionSourceTypeEnum, 'ICE', INDETERMINATE) -current = express_getattr(IfcActionSourceTypeEnum, 'CURRENT', INDETERMINATE) -wave = express_getattr(IfcActionSourceTypeEnum, 'WAVE', INDETERMINATE) -rain = express_getattr(IfcActionSourceTypeEnum, 'RAIN', INDETERMINATE) -brakes = express_getattr(IfcActionSourceTypeEnum, 'BRAKES', INDETERMINATE) -userdefined = express_getattr(IfcActionSourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionSourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +dead_load_g = IfcActionSourceTypeEnum.DEAD_LOAD_G +completion_g1 = IfcActionSourceTypeEnum.COMPLETION_G1 +live_load_q = IfcActionSourceTypeEnum.LIVE_LOAD_Q +snow_s = IfcActionSourceTypeEnum.SNOW_S +wind_w = IfcActionSourceTypeEnum.WIND_W +prestressing_p = IfcActionSourceTypeEnum.PRESTRESSING_P +settlement_u = IfcActionSourceTypeEnum.SETTLEMENT_U +temperature_t = IfcActionSourceTypeEnum.TEMPERATURE_T +earthquake_e = IfcActionSourceTypeEnum.EARTHQUAKE_E +fire = IfcActionSourceTypeEnum.FIRE +impulse = IfcActionSourceTypeEnum.IMPULSE +impact = IfcActionSourceTypeEnum.IMPACT +transport = IfcActionSourceTypeEnum.TRANSPORT +erection = IfcActionSourceTypeEnum.ERECTION +propping = IfcActionSourceTypeEnum.PROPPING +system_imperfection = IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION +shrinkage = IfcActionSourceTypeEnum.SHRINKAGE +creep = IfcActionSourceTypeEnum.CREEP +lack_of_fit = IfcActionSourceTypeEnum.LACK_OF_FIT +buoyancy = IfcActionSourceTypeEnum.BUOYANCY +ice = IfcActionSourceTypeEnum.ICE +current = IfcActionSourceTypeEnum.CURRENT +wave = IfcActionSourceTypeEnum.WAVE +rain = IfcActionSourceTypeEnum.RAIN +brakes = IfcActionSourceTypeEnum.BRAKES +userdefined = IfcActionSourceTypeEnum.USERDEFINED +notdefined = IfcActionSourceTypeEnum.NOTDEFINED IfcActionTypeEnum = enum_namespace() -permanent_g = express_getattr(IfcActionTypeEnum, 'PERMANENT_G', INDETERMINATE) -variable_q = express_getattr(IfcActionTypeEnum, 'VARIABLE_Q', INDETERMINATE) -extraordinary_a = express_getattr(IfcActionTypeEnum, 'EXTRAORDINARY_A', INDETERMINATE) -userdefined = express_getattr(IfcActionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionTypeEnum, 'NOTDEFINED', INDETERMINATE) +permanent_g = IfcActionTypeEnum.PERMANENT_G +variable_q = IfcActionTypeEnum.VARIABLE_Q +extraordinary_a = IfcActionTypeEnum.EXTRAORDINARY_A +userdefined = IfcActionTypeEnum.USERDEFINED +notdefined = IfcActionTypeEnum.NOTDEFINED IfcActuatorTypeEnum = enum_namespace() -electricactuator = express_getattr(IfcActuatorTypeEnum, 'ELECTRICACTUATOR', INDETERMINATE) -handoperatedactuator = express_getattr(IfcActuatorTypeEnum, 'HANDOPERATEDACTUATOR', INDETERMINATE) -hydraulicactuator = express_getattr(IfcActuatorTypeEnum, 'HYDRAULICACTUATOR', INDETERMINATE) -pneumaticactuator = express_getattr(IfcActuatorTypeEnum, 'PNEUMATICACTUATOR', INDETERMINATE) -thermostaticactuator = express_getattr(IfcActuatorTypeEnum, 'THERMOSTATICACTUATOR', INDETERMINATE) -userdefined = express_getattr(IfcActuatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActuatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +electricactuator = IfcActuatorTypeEnum.ELECTRICACTUATOR +handoperatedactuator = IfcActuatorTypeEnum.HANDOPERATEDACTUATOR +hydraulicactuator = IfcActuatorTypeEnum.HYDRAULICACTUATOR +pneumaticactuator = IfcActuatorTypeEnum.PNEUMATICACTUATOR +thermostaticactuator = IfcActuatorTypeEnum.THERMOSTATICACTUATOR +userdefined = IfcActuatorTypeEnum.USERDEFINED +notdefined = IfcActuatorTypeEnum.NOTDEFINED IfcAddressTypeEnum = enum_namespace() -office = express_getattr(IfcAddressTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcAddressTypeEnum, 'SITE', INDETERMINATE) -home = express_getattr(IfcAddressTypeEnum, 'HOME', INDETERMINATE) -distributionpoint = express_getattr(IfcAddressTypeEnum, 'DISTRIBUTIONPOINT', INDETERMINATE) -userdefined = express_getattr(IfcAddressTypeEnum, 'USERDEFINED', INDETERMINATE) +office = IfcAddressTypeEnum.OFFICE +site = IfcAddressTypeEnum.SITE +home = IfcAddressTypeEnum.HOME +distributionpoint = IfcAddressTypeEnum.DISTRIBUTIONPOINT +userdefined = IfcAddressTypeEnum.USERDEFINED IfcAirTerminalBoxTypeEnum = enum_namespace() -constantflow = express_getattr(IfcAirTerminalBoxTypeEnum, 'CONSTANTFLOW', INDETERMINATE) -variableflowpressuredependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREDEPENDANT', INDETERMINATE) -variableflowpressureindependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREINDEPENDANT', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +constantflow = IfcAirTerminalBoxTypeEnum.CONSTANTFLOW +variableflowpressuredependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT +variableflowpressureindependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT +userdefined = IfcAirTerminalBoxTypeEnum.USERDEFINED +notdefined = IfcAirTerminalBoxTypeEnum.NOTDEFINED IfcAirTerminalTypeEnum = enum_namespace() -diffuser = express_getattr(IfcAirTerminalTypeEnum, 'DIFFUSER', INDETERMINATE) -grille = express_getattr(IfcAirTerminalTypeEnum, 'GRILLE', INDETERMINATE) -louvre = express_getattr(IfcAirTerminalTypeEnum, 'LOUVRE', INDETERMINATE) -register = express_getattr(IfcAirTerminalTypeEnum, 'REGISTER', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +diffuser = IfcAirTerminalTypeEnum.DIFFUSER +grille = IfcAirTerminalTypeEnum.GRILLE +louvre = IfcAirTerminalTypeEnum.LOUVRE +register = IfcAirTerminalTypeEnum.REGISTER +userdefined = IfcAirTerminalTypeEnum.USERDEFINED +notdefined = IfcAirTerminalTypeEnum.NOTDEFINED IfcAirToAirHeatRecoveryTypeEnum = enum_namespace() -fixedplatecounterflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECOUNTERFLOWEXCHANGER', INDETERMINATE) -fixedplatecrossflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECROSSFLOWEXCHANGER', INDETERMINATE) -fixedplateparallelflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATEPARALLELFLOWEXCHANGER', INDETERMINATE) -rotarywheel = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'ROTARYWHEEL', INDETERMINATE) -runaroundcoilloop = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'RUNAROUNDCOILLOOP', INDETERMINATE) -heatpipe = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'HEATPIPE', INDETERMINATE) -twintowerenthalpyrecoveryloops = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'TWINTOWERENTHALPYRECOVERYLOOPS', INDETERMINATE) -thermosiphonsealedtubeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONSEALEDTUBEHEATEXCHANGERS', INDETERMINATE) -thermosiphoncoiltypeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONCOILTYPEHEATEXCHANGERS', INDETERMINATE) -userdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'NOTDEFINED', INDETERMINATE) +fixedplatecounterflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER +fixedplatecrossflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER +fixedplateparallelflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER +rotarywheel = IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL +runaroundcoilloop = IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP +heatpipe = IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE +twintowerenthalpyrecoveryloops = IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS +thermosiphonsealedtubeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS +thermosiphoncoiltypeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS +userdefined = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED +notdefined = IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED IfcAlarmTypeEnum = enum_namespace() -bell = express_getattr(IfcAlarmTypeEnum, 'BELL', INDETERMINATE) -breakglassbutton = express_getattr(IfcAlarmTypeEnum, 'BREAKGLASSBUTTON', INDETERMINATE) -light = express_getattr(IfcAlarmTypeEnum, 'LIGHT', INDETERMINATE) -manualpullbox = express_getattr(IfcAlarmTypeEnum, 'MANUALPULLBOX', INDETERMINATE) -siren = express_getattr(IfcAlarmTypeEnum, 'SIREN', INDETERMINATE) -whistle = express_getattr(IfcAlarmTypeEnum, 'WHISTLE', INDETERMINATE) -railwaycrocodile = express_getattr(IfcAlarmTypeEnum, 'RAILWAYCROCODILE', INDETERMINATE) -railwaydetonator = express_getattr(IfcAlarmTypeEnum, 'RAILWAYDETONATOR', INDETERMINATE) -userdefined = express_getattr(IfcAlarmTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlarmTypeEnum, 'NOTDEFINED', INDETERMINATE) +bell = IfcAlarmTypeEnum.BELL +breakglassbutton = IfcAlarmTypeEnum.BREAKGLASSBUTTON +light = IfcAlarmTypeEnum.LIGHT +manualpullbox = IfcAlarmTypeEnum.MANUALPULLBOX +siren = IfcAlarmTypeEnum.SIREN +whistle = IfcAlarmTypeEnum.WHISTLE +railwaycrocodile = IfcAlarmTypeEnum.RAILWAYCROCODILE +railwaydetonator = IfcAlarmTypeEnum.RAILWAYDETONATOR +userdefined = IfcAlarmTypeEnum.USERDEFINED +notdefined = IfcAlarmTypeEnum.NOTDEFINED IfcAlignmentTypeEnum = enum_namespace() -userdefined = express_getattr(IfcAlignmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlignmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcAlignmentTypeEnum.USERDEFINED +notdefined = IfcAlignmentTypeEnum.NOTDEFINED IfcAnalysisModelTypeEnum = enum_namespace() -in_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'IN_PLANE_LOADING_2D', INDETERMINATE) -out_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'OUT_PLANE_LOADING_2D', INDETERMINATE) -loading_3d = express_getattr(IfcAnalysisModelTypeEnum, 'LOADING_3D', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisModelTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisModelTypeEnum, 'NOTDEFINED', INDETERMINATE) +in_plane_loading_2d = IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D +out_plane_loading_2d = IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D +loading_3d = IfcAnalysisModelTypeEnum.LOADING_3D +userdefined = IfcAnalysisModelTypeEnum.USERDEFINED +notdefined = IfcAnalysisModelTypeEnum.NOTDEFINED IfcAnalysisTheoryTypeEnum = enum_namespace() -first_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FIRST_ORDER_THEORY', INDETERMINATE) -second_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'SECOND_ORDER_THEORY', INDETERMINATE) -third_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'THIRD_ORDER_THEORY', INDETERMINATE) -full_nonlinear_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FULL_NONLINEAR_THEORY', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +first_order_theory = IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY +second_order_theory = IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY +third_order_theory = IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY +full_nonlinear_theory = IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY +userdefined = IfcAnalysisTheoryTypeEnum.USERDEFINED +notdefined = IfcAnalysisTheoryTypeEnum.NOTDEFINED IfcAnnotationTypeEnum = enum_namespace() -assumedpoint = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDPOINT', INDETERMINATE) -asbuiltarea = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTAREA', INDETERMINATE) -asbuiltline = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTLINE', INDETERMINATE) -non_physical_signal = express_getattr(IfcAnnotationTypeEnum, 'NON_PHYSICAL_SIGNAL', INDETERMINATE) -assumedline = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDLINE', INDETERMINATE) -widthevent = express_getattr(IfcAnnotationTypeEnum, 'WIDTHEVENT', INDETERMINATE) -assumedarea = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDAREA', INDETERMINATE) -superelevationevent = express_getattr(IfcAnnotationTypeEnum, 'SUPERELEVATIONEVENT', INDETERMINATE) -asbuiltpoint = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTPOINT', INDETERMINATE) -userdefined = express_getattr(IfcAnnotationTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnnotationTypeEnum, 'NOTDEFINED', INDETERMINATE) +assumedpoint = IfcAnnotationTypeEnum.ASSUMEDPOINT +asbuiltarea = IfcAnnotationTypeEnum.ASBUILTAREA +asbuiltline = IfcAnnotationTypeEnum.ASBUILTLINE +non_physical_signal = IfcAnnotationTypeEnum.NON_PHYSICAL_SIGNAL +assumedline = IfcAnnotationTypeEnum.ASSUMEDLINE +widthevent = IfcAnnotationTypeEnum.WIDTHEVENT +assumedarea = IfcAnnotationTypeEnum.ASSUMEDAREA +superelevationevent = IfcAnnotationTypeEnum.SUPERELEVATIONEVENT +asbuiltpoint = IfcAnnotationTypeEnum.ASBUILTPOINT +userdefined = IfcAnnotationTypeEnum.USERDEFINED +notdefined = IfcAnnotationTypeEnum.NOTDEFINED IfcArithmeticOperatorEnum = enum_namespace() -add = express_getattr(IfcArithmeticOperatorEnum, 'ADD', INDETERMINATE) -divide = express_getattr(IfcArithmeticOperatorEnum, 'DIVIDE', INDETERMINATE) -multiply = express_getattr(IfcArithmeticOperatorEnum, 'MULTIPLY', INDETERMINATE) -subtract = express_getattr(IfcArithmeticOperatorEnum, 'SUBTRACT', INDETERMINATE) +add = IfcArithmeticOperatorEnum.ADD +divide = IfcArithmeticOperatorEnum.DIVIDE +multiply = IfcArithmeticOperatorEnum.MULTIPLY +subtract = IfcArithmeticOperatorEnum.SUBTRACT IfcAssemblyPlaceEnum = enum_namespace() -site = express_getattr(IfcAssemblyPlaceEnum, 'SITE', INDETERMINATE) -factory = express_getattr(IfcAssemblyPlaceEnum, 'FACTORY', INDETERMINATE) -notdefined = express_getattr(IfcAssemblyPlaceEnum, 'NOTDEFINED', INDETERMINATE) +site = IfcAssemblyPlaceEnum.SITE +factory = IfcAssemblyPlaceEnum.FACTORY +notdefined = IfcAssemblyPlaceEnum.NOTDEFINED IfcAudioVisualApplianceTypeEnum = enum_namespace() -amplifier = express_getattr(IfcAudioVisualApplianceTypeEnum, 'AMPLIFIER', INDETERMINATE) -camera = express_getattr(IfcAudioVisualApplianceTypeEnum, 'CAMERA', INDETERMINATE) -display = express_getattr(IfcAudioVisualApplianceTypeEnum, 'DISPLAY', INDETERMINATE) -microphone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'MICROPHONE', INDETERMINATE) -player = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PLAYER', INDETERMINATE) -projector = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PROJECTOR', INDETERMINATE) -receiver = express_getattr(IfcAudioVisualApplianceTypeEnum, 'RECEIVER', INDETERMINATE) -speaker = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SPEAKER', INDETERMINATE) -switcher = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SWITCHER', INDETERMINATE) -telephone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TELEPHONE', INDETERMINATE) -tuner = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TUNER', INDETERMINATE) -railway_communication_terminal = express_getattr(IfcAudioVisualApplianceTypeEnum, 'RAILWAY_COMMUNICATION_TERMINAL', INDETERMINATE) -userdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +amplifier = IfcAudioVisualApplianceTypeEnum.AMPLIFIER +camera = IfcAudioVisualApplianceTypeEnum.CAMERA +display = IfcAudioVisualApplianceTypeEnum.DISPLAY +microphone = IfcAudioVisualApplianceTypeEnum.MICROPHONE +player = IfcAudioVisualApplianceTypeEnum.PLAYER +projector = IfcAudioVisualApplianceTypeEnum.PROJECTOR +receiver = IfcAudioVisualApplianceTypeEnum.RECEIVER +speaker = IfcAudioVisualApplianceTypeEnum.SPEAKER +switcher = IfcAudioVisualApplianceTypeEnum.SWITCHER +telephone = IfcAudioVisualApplianceTypeEnum.TELEPHONE +tuner = IfcAudioVisualApplianceTypeEnum.TUNER +railway_communication_terminal = IfcAudioVisualApplianceTypeEnum.RAILWAY_COMMUNICATION_TERMINAL +userdefined = IfcAudioVisualApplianceTypeEnum.USERDEFINED +notdefined = IfcAudioVisualApplianceTypeEnum.NOTDEFINED IfcBSplineCurveForm = enum_namespace() -polyline_form = express_getattr(IfcBSplineCurveForm, 'POLYLINE_FORM', INDETERMINATE) -circular_arc = express_getattr(IfcBSplineCurveForm, 'CIRCULAR_ARC', INDETERMINATE) -elliptic_arc = express_getattr(IfcBSplineCurveForm, 'ELLIPTIC_ARC', INDETERMINATE) -parabolic_arc = express_getattr(IfcBSplineCurveForm, 'PARABOLIC_ARC', INDETERMINATE) -hyperbolic_arc = express_getattr(IfcBSplineCurveForm, 'HYPERBOLIC_ARC', INDETERMINATE) -unspecified = express_getattr(IfcBSplineCurveForm, 'UNSPECIFIED', INDETERMINATE) +polyline_form = IfcBSplineCurveForm.POLYLINE_FORM +circular_arc = IfcBSplineCurveForm.CIRCULAR_ARC +elliptic_arc = IfcBSplineCurveForm.ELLIPTIC_ARC +parabolic_arc = IfcBSplineCurveForm.PARABOLIC_ARC +hyperbolic_arc = IfcBSplineCurveForm.HYPERBOLIC_ARC +unspecified = IfcBSplineCurveForm.UNSPECIFIED IfcBSplineSurfaceForm = enum_namespace() -plane_surf = express_getattr(IfcBSplineSurfaceForm, 'PLANE_SURF', INDETERMINATE) -cylindrical_surf = express_getattr(IfcBSplineSurfaceForm, 'CYLINDRICAL_SURF', INDETERMINATE) -conical_surf = express_getattr(IfcBSplineSurfaceForm, 'CONICAL_SURF', INDETERMINATE) -spherical_surf = express_getattr(IfcBSplineSurfaceForm, 'SPHERICAL_SURF', INDETERMINATE) -toroidal_surf = express_getattr(IfcBSplineSurfaceForm, 'TOROIDAL_SURF', INDETERMINATE) -surf_of_revolution = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_REVOLUTION', INDETERMINATE) -ruled_surf = express_getattr(IfcBSplineSurfaceForm, 'RULED_SURF', INDETERMINATE) -generalised_cone = express_getattr(IfcBSplineSurfaceForm, 'GENERALISED_CONE', INDETERMINATE) -quadric_surf = express_getattr(IfcBSplineSurfaceForm, 'QUADRIC_SURF', INDETERMINATE) -surf_of_linear_extrusion = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_LINEAR_EXTRUSION', INDETERMINATE) -unspecified = express_getattr(IfcBSplineSurfaceForm, 'UNSPECIFIED', INDETERMINATE) +plane_surf = IfcBSplineSurfaceForm.PLANE_SURF +cylindrical_surf = IfcBSplineSurfaceForm.CYLINDRICAL_SURF +conical_surf = IfcBSplineSurfaceForm.CONICAL_SURF +spherical_surf = IfcBSplineSurfaceForm.SPHERICAL_SURF +toroidal_surf = IfcBSplineSurfaceForm.TOROIDAL_SURF +surf_of_revolution = IfcBSplineSurfaceForm.SURF_OF_REVOLUTION +ruled_surf = IfcBSplineSurfaceForm.RULED_SURF +generalised_cone = IfcBSplineSurfaceForm.GENERALISED_CONE +quadric_surf = IfcBSplineSurfaceForm.QUADRIC_SURF +surf_of_linear_extrusion = IfcBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION +unspecified = IfcBSplineSurfaceForm.UNSPECIFIED IfcBeamTypeEnum = enum_namespace() -beam = express_getattr(IfcBeamTypeEnum, 'BEAM', INDETERMINATE) -joist = express_getattr(IfcBeamTypeEnum, 'JOIST', INDETERMINATE) -hollowcore = express_getattr(IfcBeamTypeEnum, 'HOLLOWCORE', INDETERMINATE) -lintel = express_getattr(IfcBeamTypeEnum, 'LINTEL', INDETERMINATE) -spandrel = express_getattr(IfcBeamTypeEnum, 'SPANDREL', INDETERMINATE) -t_beam = express_getattr(IfcBeamTypeEnum, 'T_BEAM', INDETERMINATE) -girder_segment = express_getattr(IfcBeamTypeEnum, 'GIRDER_SEGMENT', INDETERMINATE) -diaphragm = express_getattr(IfcBeamTypeEnum, 'DIAPHRAGM', INDETERMINATE) -piercap = express_getattr(IfcBeamTypeEnum, 'PIERCAP', INDETERMINATE) -hatstone = express_getattr(IfcBeamTypeEnum, 'HATSTONE', INDETERMINATE) -cornice = express_getattr(IfcBeamTypeEnum, 'CORNICE', INDETERMINATE) -edgebeam = express_getattr(IfcBeamTypeEnum, 'EDGEBEAM', INDETERMINATE) -userdefined = express_getattr(IfcBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +beam = IfcBeamTypeEnum.BEAM +joist = IfcBeamTypeEnum.JOIST +hollowcore = IfcBeamTypeEnum.HOLLOWCORE +lintel = IfcBeamTypeEnum.LINTEL +spandrel = IfcBeamTypeEnum.SPANDREL +t_beam = IfcBeamTypeEnum.T_BEAM +girder_segment = IfcBeamTypeEnum.GIRDER_SEGMENT +diaphragm = IfcBeamTypeEnum.DIAPHRAGM +piercap = IfcBeamTypeEnum.PIERCAP +hatstone = IfcBeamTypeEnum.HATSTONE +cornice = IfcBeamTypeEnum.CORNICE +edgebeam = IfcBeamTypeEnum.EDGEBEAM +userdefined = IfcBeamTypeEnum.USERDEFINED +notdefined = IfcBeamTypeEnum.NOTDEFINED IfcBearingTypeDisplacementEnum = enum_namespace() -fixed_movement = express_getattr(IfcBearingTypeDisplacementEnum, 'FIXED_MOVEMENT', INDETERMINATE) -guided_longitudinal = express_getattr(IfcBearingTypeDisplacementEnum, 'GUIDED_LONGITUDINAL', INDETERMINATE) -guided_transversal = express_getattr(IfcBearingTypeDisplacementEnum, 'GUIDED_TRANSVERSAL', INDETERMINATE) -free_movement = express_getattr(IfcBearingTypeDisplacementEnum, 'FREE_MOVEMENT', INDETERMINATE) -notdefined = express_getattr(IfcBearingTypeDisplacementEnum, 'NOTDEFINED', INDETERMINATE) +fixed_movement = IfcBearingTypeDisplacementEnum.FIXED_MOVEMENT +guided_longitudinal = IfcBearingTypeDisplacementEnum.GUIDED_LONGITUDINAL +guided_transversal = IfcBearingTypeDisplacementEnum.GUIDED_TRANSVERSAL +free_movement = IfcBearingTypeDisplacementEnum.FREE_MOVEMENT +notdefined = IfcBearingTypeDisplacementEnum.NOTDEFINED IfcBearingTypeEnum = enum_namespace() -cylindrical = express_getattr(IfcBearingTypeEnum, 'CYLINDRICAL', INDETERMINATE) -spherical = express_getattr(IfcBearingTypeEnum, 'SPHERICAL', INDETERMINATE) -elastomeric = express_getattr(IfcBearingTypeEnum, 'ELASTOMERIC', INDETERMINATE) -pot = express_getattr(IfcBearingTypeEnum, 'POT', INDETERMINATE) -guide = express_getattr(IfcBearingTypeEnum, 'GUIDE', INDETERMINATE) -rocker = express_getattr(IfcBearingTypeEnum, 'ROCKER', INDETERMINATE) -roller = express_getattr(IfcBearingTypeEnum, 'ROLLER', INDETERMINATE) -disk = express_getattr(IfcBearingTypeEnum, 'DISK', INDETERMINATE) -userdefined = express_getattr(IfcBearingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBearingTypeEnum, 'NOTDEFINED', INDETERMINATE) +cylindrical = IfcBearingTypeEnum.CYLINDRICAL +spherical = IfcBearingTypeEnum.SPHERICAL +elastomeric = IfcBearingTypeEnum.ELASTOMERIC +pot = IfcBearingTypeEnum.POT +guide = IfcBearingTypeEnum.GUIDE +rocker = IfcBearingTypeEnum.ROCKER +roller = IfcBearingTypeEnum.ROLLER +disk = IfcBearingTypeEnum.DISK +userdefined = IfcBearingTypeEnum.USERDEFINED +notdefined = IfcBearingTypeEnum.NOTDEFINED IfcBenchmarkEnum = enum_namespace() -greaterthan = express_getattr(IfcBenchmarkEnum, 'GREATERTHAN', INDETERMINATE) -greaterthanorequalto = express_getattr(IfcBenchmarkEnum, 'GREATERTHANOREQUALTO', INDETERMINATE) -lessthan = express_getattr(IfcBenchmarkEnum, 'LESSTHAN', INDETERMINATE) -lessthanorequalto = express_getattr(IfcBenchmarkEnum, 'LESSTHANOREQUALTO', INDETERMINATE) -equalto = express_getattr(IfcBenchmarkEnum, 'EQUALTO', INDETERMINATE) -notequalto = express_getattr(IfcBenchmarkEnum, 'NOTEQUALTO', INDETERMINATE) -includes = express_getattr(IfcBenchmarkEnum, 'INCLUDES', INDETERMINATE) -notincludes = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDES', INDETERMINATE) -includedin = express_getattr(IfcBenchmarkEnum, 'INCLUDEDIN', INDETERMINATE) -notincludedin = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDEDIN', INDETERMINATE) +greaterthan = IfcBenchmarkEnum.GREATERTHAN +greaterthanorequalto = IfcBenchmarkEnum.GREATERTHANOREQUALTO +lessthan = IfcBenchmarkEnum.LESSTHAN +lessthanorequalto = IfcBenchmarkEnum.LESSTHANOREQUALTO +equalto = IfcBenchmarkEnum.EQUALTO +notequalto = IfcBenchmarkEnum.NOTEQUALTO +includes = IfcBenchmarkEnum.INCLUDES +notincludes = IfcBenchmarkEnum.NOTINCLUDES +includedin = IfcBenchmarkEnum.INCLUDEDIN +notincludedin = IfcBenchmarkEnum.NOTINCLUDEDIN IfcBoilerTypeEnum = enum_namespace() -water = express_getattr(IfcBoilerTypeEnum, 'WATER', INDETERMINATE) -steam = express_getattr(IfcBoilerTypeEnum, 'STEAM', INDETERMINATE) -userdefined = express_getattr(IfcBoilerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBoilerTypeEnum, 'NOTDEFINED', INDETERMINATE) +water = IfcBoilerTypeEnum.WATER +steam = IfcBoilerTypeEnum.STEAM +userdefined = IfcBoilerTypeEnum.USERDEFINED +notdefined = IfcBoilerTypeEnum.NOTDEFINED IfcBooleanOperator = enum_namespace() -union = express_getattr(IfcBooleanOperator, 'UNION', INDETERMINATE) -intersection = express_getattr(IfcBooleanOperator, 'INTERSECTION', INDETERMINATE) -difference = express_getattr(IfcBooleanOperator, 'DIFFERENCE', INDETERMINATE) +union = IfcBooleanOperator.UNION +intersection = IfcBooleanOperator.INTERSECTION +difference = IfcBooleanOperator.DIFFERENCE IfcBridgePartTypeEnum = enum_namespace() -abutment = express_getattr(IfcBridgePartTypeEnum, 'ABUTMENT', INDETERMINATE) -deck = express_getattr(IfcBridgePartTypeEnum, 'DECK', INDETERMINATE) -deck_segment = express_getattr(IfcBridgePartTypeEnum, 'DECK_SEGMENT', INDETERMINATE) -foundation = express_getattr(IfcBridgePartTypeEnum, 'FOUNDATION', INDETERMINATE) -pier = express_getattr(IfcBridgePartTypeEnum, 'PIER', INDETERMINATE) -pier_segment = express_getattr(IfcBridgePartTypeEnum, 'PIER_SEGMENT', INDETERMINATE) -pylon = express_getattr(IfcBridgePartTypeEnum, 'PYLON', INDETERMINATE) -substructure = express_getattr(IfcBridgePartTypeEnum, 'SUBSTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcBridgePartTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -surfacestructure = express_getattr(IfcBridgePartTypeEnum, 'SURFACESTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcBridgePartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBridgePartTypeEnum, 'NOTDEFINED', INDETERMINATE) +abutment = IfcBridgePartTypeEnum.ABUTMENT +deck = IfcBridgePartTypeEnum.DECK +deck_segment = IfcBridgePartTypeEnum.DECK_SEGMENT +foundation = IfcBridgePartTypeEnum.FOUNDATION +pier = IfcBridgePartTypeEnum.PIER +pier_segment = IfcBridgePartTypeEnum.PIER_SEGMENT +pylon = IfcBridgePartTypeEnum.PYLON +substructure = IfcBridgePartTypeEnum.SUBSTRUCTURE +superstructure = IfcBridgePartTypeEnum.SUPERSTRUCTURE +surfacestructure = IfcBridgePartTypeEnum.SURFACESTRUCTURE +userdefined = IfcBridgePartTypeEnum.USERDEFINED +notdefined = IfcBridgePartTypeEnum.NOTDEFINED IfcBridgeTypeEnum = enum_namespace() -arched = express_getattr(IfcBridgeTypeEnum, 'ARCHED', INDETERMINATE) -cable_stayed = express_getattr(IfcBridgeTypeEnum, 'CABLE_STAYED', INDETERMINATE) -cantilever = express_getattr(IfcBridgeTypeEnum, 'CANTILEVER', INDETERMINATE) -culvert = express_getattr(IfcBridgeTypeEnum, 'CULVERT', INDETERMINATE) -framework = express_getattr(IfcBridgeTypeEnum, 'FRAMEWORK', INDETERMINATE) -girder = express_getattr(IfcBridgeTypeEnum, 'GIRDER', INDETERMINATE) -suspension = express_getattr(IfcBridgeTypeEnum, 'SUSPENSION', INDETERMINATE) -truss = express_getattr(IfcBridgeTypeEnum, 'TRUSS', INDETERMINATE) -userdefined = express_getattr(IfcBridgeTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBridgeTypeEnum, 'NOTDEFINED', INDETERMINATE) +arched = IfcBridgeTypeEnum.ARCHED +cable_stayed = IfcBridgeTypeEnum.CABLE_STAYED +cantilever = IfcBridgeTypeEnum.CANTILEVER +culvert = IfcBridgeTypeEnum.CULVERT +framework = IfcBridgeTypeEnum.FRAMEWORK +girder = IfcBridgeTypeEnum.GIRDER +suspension = IfcBridgeTypeEnum.SUSPENSION +truss = IfcBridgeTypeEnum.TRUSS +userdefined = IfcBridgeTypeEnum.USERDEFINED +notdefined = IfcBridgeTypeEnum.NOTDEFINED IfcBuildingElementPartTypeEnum = enum_namespace() -insulation = express_getattr(IfcBuildingElementPartTypeEnum, 'INSULATION', INDETERMINATE) -precastpanel = express_getattr(IfcBuildingElementPartTypeEnum, 'PRECASTPANEL', INDETERMINATE) -apron = express_getattr(IfcBuildingElementPartTypeEnum, 'APRON', INDETERMINATE) -armourunit = express_getattr(IfcBuildingElementPartTypeEnum, 'ARMOURUNIT', INDETERMINATE) -safetycage = express_getattr(IfcBuildingElementPartTypeEnum, 'SAFETYCAGE', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +insulation = IfcBuildingElementPartTypeEnum.INSULATION +precastpanel = IfcBuildingElementPartTypeEnum.PRECASTPANEL +apron = IfcBuildingElementPartTypeEnum.APRON +armourunit = IfcBuildingElementPartTypeEnum.ARMOURUNIT +safetycage = IfcBuildingElementPartTypeEnum.SAFETYCAGE +userdefined = IfcBuildingElementPartTypeEnum.USERDEFINED +notdefined = IfcBuildingElementPartTypeEnum.NOTDEFINED IfcBuildingElementProxyTypeEnum = enum_namespace() -complex = express_getattr(IfcBuildingElementProxyTypeEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcBuildingElementProxyTypeEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcBuildingElementProxyTypeEnum, 'PARTIAL', INDETERMINATE) -provisionforvoid = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORVOID', INDETERMINATE) -provisionforspace = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORSPACE', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'NOTDEFINED', INDETERMINATE) +complex = IfcBuildingElementProxyTypeEnum.COMPLEX +element = IfcBuildingElementProxyTypeEnum.ELEMENT +partial = IfcBuildingElementProxyTypeEnum.PARTIAL +provisionforvoid = IfcBuildingElementProxyTypeEnum.PROVISIONFORVOID +provisionforspace = IfcBuildingElementProxyTypeEnum.PROVISIONFORSPACE +userdefined = IfcBuildingElementProxyTypeEnum.USERDEFINED +notdefined = IfcBuildingElementProxyTypeEnum.NOTDEFINED IfcBuildingSystemTypeEnum = enum_namespace() -fenestration = express_getattr(IfcBuildingSystemTypeEnum, 'FENESTRATION', INDETERMINATE) -foundation = express_getattr(IfcBuildingSystemTypeEnum, 'FOUNDATION', INDETERMINATE) -loadbearing = express_getattr(IfcBuildingSystemTypeEnum, 'LOADBEARING', INDETERMINATE) -outershell = express_getattr(IfcBuildingSystemTypeEnum, 'OUTERSHELL', INDETERMINATE) -shading = express_getattr(IfcBuildingSystemTypeEnum, 'SHADING', INDETERMINATE) -transport = express_getattr(IfcBuildingSystemTypeEnum, 'TRANSPORT', INDETERMINATE) -reinforcing = express_getattr(IfcBuildingSystemTypeEnum, 'REINFORCING', INDETERMINATE) -prestressing = express_getattr(IfcBuildingSystemTypeEnum, 'PRESTRESSING', INDETERMINATE) -erosionprevention = express_getattr(IfcBuildingSystemTypeEnum, 'EROSIONPREVENTION', INDETERMINATE) -userdefined = express_getattr(IfcBuildingSystemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingSystemTypeEnum, 'NOTDEFINED', INDETERMINATE) +fenestration = IfcBuildingSystemTypeEnum.FENESTRATION +foundation = IfcBuildingSystemTypeEnum.FOUNDATION +loadbearing = IfcBuildingSystemTypeEnum.LOADBEARING +outershell = IfcBuildingSystemTypeEnum.OUTERSHELL +shading = IfcBuildingSystemTypeEnum.SHADING +transport = IfcBuildingSystemTypeEnum.TRANSPORT +reinforcing = IfcBuildingSystemTypeEnum.REINFORCING +prestressing = IfcBuildingSystemTypeEnum.PRESTRESSING +erosionprevention = IfcBuildingSystemTypeEnum.EROSIONPREVENTION +userdefined = IfcBuildingSystemTypeEnum.USERDEFINED +notdefined = IfcBuildingSystemTypeEnum.NOTDEFINED IfcBuiltSystemTypeEnum = enum_namespace() -reinforcing = express_getattr(IfcBuiltSystemTypeEnum, 'REINFORCING', INDETERMINATE) -mooring = express_getattr(IfcBuiltSystemTypeEnum, 'MOORING', INDETERMINATE) -outershell = express_getattr(IfcBuiltSystemTypeEnum, 'OUTERSHELL', INDETERMINATE) -trackcircuit = express_getattr(IfcBuiltSystemTypeEnum, 'TRACKCIRCUIT', INDETERMINATE) -erosionprevention = express_getattr(IfcBuiltSystemTypeEnum, 'EROSIONPREVENTION', INDETERMINATE) -foundation = express_getattr(IfcBuiltSystemTypeEnum, 'FOUNDATION', INDETERMINATE) -loadbearing = express_getattr(IfcBuiltSystemTypeEnum, 'LOADBEARING', INDETERMINATE) -shading = express_getattr(IfcBuiltSystemTypeEnum, 'SHADING', INDETERMINATE) -fenestration = express_getattr(IfcBuiltSystemTypeEnum, 'FENESTRATION', INDETERMINATE) -mooringsystem = express_getattr(IfcBuiltSystemTypeEnum, 'MOORINGSYSTEM', INDETERMINATE) -transport = express_getattr(IfcBuiltSystemTypeEnum, 'TRANSPORT', INDETERMINATE) -prestressing = express_getattr(IfcBuiltSystemTypeEnum, 'PRESTRESSING', INDETERMINATE) -userdefined = express_getattr(IfcBuiltSystemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuiltSystemTypeEnum, 'NOTDEFINED', INDETERMINATE) +reinforcing = IfcBuiltSystemTypeEnum.REINFORCING +mooring = IfcBuiltSystemTypeEnum.MOORING +outershell = IfcBuiltSystemTypeEnum.OUTERSHELL +trackcircuit = IfcBuiltSystemTypeEnum.TRACKCIRCUIT +erosionprevention = IfcBuiltSystemTypeEnum.EROSIONPREVENTION +foundation = IfcBuiltSystemTypeEnum.FOUNDATION +loadbearing = IfcBuiltSystemTypeEnum.LOADBEARING +shading = IfcBuiltSystemTypeEnum.SHADING +fenestration = IfcBuiltSystemTypeEnum.FENESTRATION +mooringsystem = IfcBuiltSystemTypeEnum.MOORINGSYSTEM +transport = IfcBuiltSystemTypeEnum.TRANSPORT +prestressing = IfcBuiltSystemTypeEnum.PRESTRESSING +userdefined = IfcBuiltSystemTypeEnum.USERDEFINED +notdefined = IfcBuiltSystemTypeEnum.NOTDEFINED IfcBurnerTypeEnum = enum_namespace() -userdefined = express_getattr(IfcBurnerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBurnerTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcBurnerTypeEnum.USERDEFINED +notdefined = IfcBurnerTypeEnum.NOTDEFINED IfcCableCarrierFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcCableCarrierFittingTypeEnum, 'BEND', INDETERMINATE) -cross = express_getattr(IfcCableCarrierFittingTypeEnum, 'CROSS', INDETERMINATE) -reducer = express_getattr(IfcCableCarrierFittingTypeEnum, 'REDUCER', INDETERMINATE) -tee = express_getattr(IfcCableCarrierFittingTypeEnum, 'TEE', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcCableCarrierFittingTypeEnum.BEND +cross = IfcCableCarrierFittingTypeEnum.CROSS +reducer = IfcCableCarrierFittingTypeEnum.REDUCER +tee = IfcCableCarrierFittingTypeEnum.TEE +userdefined = IfcCableCarrierFittingTypeEnum.USERDEFINED +notdefined = IfcCableCarrierFittingTypeEnum.NOTDEFINED IfcCableCarrierSegmentTypeEnum = enum_namespace() -cableladdersegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLELADDERSEGMENT', INDETERMINATE) -cabletraysegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRAYSEGMENT', INDETERMINATE) -cabletrunkingsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRUNKINGSEGMENT', INDETERMINATE) -conduitsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CONDUITSEGMENT', INDETERMINATE) -cablebracket = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLEBRACKET', INDETERMINATE) -catenarywire = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CATENARYWIRE', INDETERMINATE) -dropper = express_getattr(IfcCableCarrierSegmentTypeEnum, 'DROPPER', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +cableladdersegment = IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT +cabletraysegment = IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT +cabletrunkingsegment = IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT +conduitsegment = IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT +cablebracket = IfcCableCarrierSegmentTypeEnum.CABLEBRACKET +catenarywire = IfcCableCarrierSegmentTypeEnum.CATENARYWIRE +dropper = IfcCableCarrierSegmentTypeEnum.DROPPER +userdefined = IfcCableCarrierSegmentTypeEnum.USERDEFINED +notdefined = IfcCableCarrierSegmentTypeEnum.NOTDEFINED IfcCableFittingTypeEnum = enum_namespace() -connector = express_getattr(IfcCableFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcCableFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcCableFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcCableFittingTypeEnum, 'JUNCTION', INDETERMINATE) -transition = express_getattr(IfcCableFittingTypeEnum, 'TRANSITION', INDETERMINATE) -fanout = express_getattr(IfcCableFittingTypeEnum, 'FANOUT', INDETERMINATE) -userdefined = express_getattr(IfcCableFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +connector = IfcCableFittingTypeEnum.CONNECTOR +entry = IfcCableFittingTypeEnum.ENTRY +exit = IfcCableFittingTypeEnum.EXIT +junction = IfcCableFittingTypeEnum.JUNCTION +transition = IfcCableFittingTypeEnum.TRANSITION +fanout = IfcCableFittingTypeEnum.FANOUT +userdefined = IfcCableFittingTypeEnum.USERDEFINED +notdefined = IfcCableFittingTypeEnum.NOTDEFINED IfcCableSegmentTypeEnum = enum_namespace() -busbarsegment = express_getattr(IfcCableSegmentTypeEnum, 'BUSBARSEGMENT', INDETERMINATE) -cablesegment = express_getattr(IfcCableSegmentTypeEnum, 'CABLESEGMENT', INDETERMINATE) -conductorsegment = express_getattr(IfcCableSegmentTypeEnum, 'CONDUCTORSEGMENT', INDETERMINATE) -coresegment = express_getattr(IfcCableSegmentTypeEnum, 'CORESEGMENT', INDETERMINATE) -contactwiresegment = express_getattr(IfcCableSegmentTypeEnum, 'CONTACTWIRESEGMENT', INDETERMINATE) -fibersegment = express_getattr(IfcCableSegmentTypeEnum, 'FIBERSEGMENT', INDETERMINATE) -fibertube = express_getattr(IfcCableSegmentTypeEnum, 'FIBERTUBE', INDETERMINATE) -opticalcablesegment = express_getattr(IfcCableSegmentTypeEnum, 'OPTICALCABLESEGMENT', INDETERMINATE) -stitchwire = express_getattr(IfcCableSegmentTypeEnum, 'STITCHWIRE', INDETERMINATE) -wirepairsegment = express_getattr(IfcCableSegmentTypeEnum, 'WIREPAIRSEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcCableSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +busbarsegment = IfcCableSegmentTypeEnum.BUSBARSEGMENT +cablesegment = IfcCableSegmentTypeEnum.CABLESEGMENT +conductorsegment = IfcCableSegmentTypeEnum.CONDUCTORSEGMENT +coresegment = IfcCableSegmentTypeEnum.CORESEGMENT +contactwiresegment = IfcCableSegmentTypeEnum.CONTACTWIRESEGMENT +fibersegment = IfcCableSegmentTypeEnum.FIBERSEGMENT +fibertube = IfcCableSegmentTypeEnum.FIBERTUBE +opticalcablesegment = IfcCableSegmentTypeEnum.OPTICALCABLESEGMENT +stitchwire = IfcCableSegmentTypeEnum.STITCHWIRE +wirepairsegment = IfcCableSegmentTypeEnum.WIREPAIRSEGMENT +userdefined = IfcCableSegmentTypeEnum.USERDEFINED +notdefined = IfcCableSegmentTypeEnum.NOTDEFINED IfcCaissonFoundationTypeEnum = enum_namespace() -well = express_getattr(IfcCaissonFoundationTypeEnum, 'WELL', INDETERMINATE) -caisson = express_getattr(IfcCaissonFoundationTypeEnum, 'CAISSON', INDETERMINATE) -userdefined = express_getattr(IfcCaissonFoundationTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCaissonFoundationTypeEnum, 'NOTDEFINED', INDETERMINATE) +well = IfcCaissonFoundationTypeEnum.WELL +caisson = IfcCaissonFoundationTypeEnum.CAISSON +userdefined = IfcCaissonFoundationTypeEnum.USERDEFINED +notdefined = IfcCaissonFoundationTypeEnum.NOTDEFINED IfcChangeActionEnum = enum_namespace() -nochange = express_getattr(IfcChangeActionEnum, 'NOCHANGE', INDETERMINATE) -modified = express_getattr(IfcChangeActionEnum, 'MODIFIED', INDETERMINATE) -added = express_getattr(IfcChangeActionEnum, 'ADDED', INDETERMINATE) -deleted = express_getattr(IfcChangeActionEnum, 'DELETED', INDETERMINATE) -notdefined = express_getattr(IfcChangeActionEnum, 'NOTDEFINED', INDETERMINATE) +nochange = IfcChangeActionEnum.NOCHANGE +modified = IfcChangeActionEnum.MODIFIED +added = IfcChangeActionEnum.ADDED +deleted = IfcChangeActionEnum.DELETED +notdefined = IfcChangeActionEnum.NOTDEFINED IfcChillerTypeEnum = enum_namespace() -aircooled = express_getattr(IfcChillerTypeEnum, 'AIRCOOLED', INDETERMINATE) -watercooled = express_getattr(IfcChillerTypeEnum, 'WATERCOOLED', INDETERMINATE) -heatrecovery = express_getattr(IfcChillerTypeEnum, 'HEATRECOVERY', INDETERMINATE) -userdefined = express_getattr(IfcChillerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChillerTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcChillerTypeEnum.AIRCOOLED +watercooled = IfcChillerTypeEnum.WATERCOOLED +heatrecovery = IfcChillerTypeEnum.HEATRECOVERY +userdefined = IfcChillerTypeEnum.USERDEFINED +notdefined = IfcChillerTypeEnum.NOTDEFINED IfcChimneyTypeEnum = enum_namespace() -userdefined = express_getattr(IfcChimneyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChimneyTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcChimneyTypeEnum.USERDEFINED +notdefined = IfcChimneyTypeEnum.NOTDEFINED IfcCoilTypeEnum = enum_namespace() -dxcoolingcoil = express_getattr(IfcCoilTypeEnum, 'DXCOOLINGCOIL', INDETERMINATE) -electricheatingcoil = express_getattr(IfcCoilTypeEnum, 'ELECTRICHEATINGCOIL', INDETERMINATE) -gasheatingcoil = express_getattr(IfcCoilTypeEnum, 'GASHEATINGCOIL', INDETERMINATE) -hydroniccoil = express_getattr(IfcCoilTypeEnum, 'HYDRONICCOIL', INDETERMINATE) -steamheatingcoil = express_getattr(IfcCoilTypeEnum, 'STEAMHEATINGCOIL', INDETERMINATE) -watercoolingcoil = express_getattr(IfcCoilTypeEnum, 'WATERCOOLINGCOIL', INDETERMINATE) -waterheatingcoil = express_getattr(IfcCoilTypeEnum, 'WATERHEATINGCOIL', INDETERMINATE) -userdefined = express_getattr(IfcCoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +dxcoolingcoil = IfcCoilTypeEnum.DXCOOLINGCOIL +electricheatingcoil = IfcCoilTypeEnum.ELECTRICHEATINGCOIL +gasheatingcoil = IfcCoilTypeEnum.GASHEATINGCOIL +hydroniccoil = IfcCoilTypeEnum.HYDRONICCOIL +steamheatingcoil = IfcCoilTypeEnum.STEAMHEATINGCOIL +watercoolingcoil = IfcCoilTypeEnum.WATERCOOLINGCOIL +waterheatingcoil = IfcCoilTypeEnum.WATERHEATINGCOIL +userdefined = IfcCoilTypeEnum.USERDEFINED +notdefined = IfcCoilTypeEnum.NOTDEFINED IfcColumnTypeEnum = enum_namespace() -column = express_getattr(IfcColumnTypeEnum, 'COLUMN', INDETERMINATE) -pilaster = express_getattr(IfcColumnTypeEnum, 'PILASTER', INDETERMINATE) -pierstem = express_getattr(IfcColumnTypeEnum, 'PIERSTEM', INDETERMINATE) -pierstem_segment = express_getattr(IfcColumnTypeEnum, 'PIERSTEM_SEGMENT', INDETERMINATE) -standcolumn = express_getattr(IfcColumnTypeEnum, 'STANDCOLUMN', INDETERMINATE) -userdefined = express_getattr(IfcColumnTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcColumnTypeEnum, 'NOTDEFINED', INDETERMINATE) +column = IfcColumnTypeEnum.COLUMN +pilaster = IfcColumnTypeEnum.PILASTER +pierstem = IfcColumnTypeEnum.PIERSTEM +pierstem_segment = IfcColumnTypeEnum.PIERSTEM_SEGMENT +standcolumn = IfcColumnTypeEnum.STANDCOLUMN +userdefined = IfcColumnTypeEnum.USERDEFINED +notdefined = IfcColumnTypeEnum.NOTDEFINED IfcCommunicationsApplianceTypeEnum = enum_namespace() -antenna = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ANTENNA', INDETERMINATE) -computer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'COMPUTER', INDETERMINATE) -fax = express_getattr(IfcCommunicationsApplianceTypeEnum, 'FAX', INDETERMINATE) -gateway = express_getattr(IfcCommunicationsApplianceTypeEnum, 'GATEWAY', INDETERMINATE) -modem = express_getattr(IfcCommunicationsApplianceTypeEnum, 'MODEM', INDETERMINATE) -networkappliance = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKAPPLIANCE', INDETERMINATE) -networkbridge = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKBRIDGE', INDETERMINATE) -networkhub = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKHUB', INDETERMINATE) -printer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'PRINTER', INDETERMINATE) -repeater = express_getattr(IfcCommunicationsApplianceTypeEnum, 'REPEATER', INDETERMINATE) -router = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ROUTER', INDETERMINATE) -scanner = express_getattr(IfcCommunicationsApplianceTypeEnum, 'SCANNER', INDETERMINATE) -automaton = express_getattr(IfcCommunicationsApplianceTypeEnum, 'AUTOMATON', INDETERMINATE) -intelligent_peripheral = express_getattr(IfcCommunicationsApplianceTypeEnum, 'INTELLIGENT_PERIPHERAL', INDETERMINATE) -ip_network_equipment = express_getattr(IfcCommunicationsApplianceTypeEnum, 'IP_NETWORK_EQUIPMENT', INDETERMINATE) -optical_network_unit = express_getattr(IfcCommunicationsApplianceTypeEnum, 'OPTICAL_NETWORK_UNIT', INDETERMINATE) -telecommand = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TELECOMMAND', INDETERMINATE) -telephonyexchange = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TELEPHONYEXCHANGE', INDETERMINATE) -transitioncomponent = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSITIONCOMPONENT', INDETERMINATE) -transponder = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSPONDER', INDETERMINATE) -transportequipment = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSPORTEQUIPMENT', INDETERMINATE) -userdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +antenna = IfcCommunicationsApplianceTypeEnum.ANTENNA +computer = IfcCommunicationsApplianceTypeEnum.COMPUTER +fax = IfcCommunicationsApplianceTypeEnum.FAX +gateway = IfcCommunicationsApplianceTypeEnum.GATEWAY +modem = IfcCommunicationsApplianceTypeEnum.MODEM +networkappliance = IfcCommunicationsApplianceTypeEnum.NETWORKAPPLIANCE +networkbridge = IfcCommunicationsApplianceTypeEnum.NETWORKBRIDGE +networkhub = IfcCommunicationsApplianceTypeEnum.NETWORKHUB +printer = IfcCommunicationsApplianceTypeEnum.PRINTER +repeater = IfcCommunicationsApplianceTypeEnum.REPEATER +router = IfcCommunicationsApplianceTypeEnum.ROUTER +scanner = IfcCommunicationsApplianceTypeEnum.SCANNER +automaton = IfcCommunicationsApplianceTypeEnum.AUTOMATON +intelligent_peripheral = IfcCommunicationsApplianceTypeEnum.INTELLIGENT_PERIPHERAL +ip_network_equipment = IfcCommunicationsApplianceTypeEnum.IP_NETWORK_EQUIPMENT +optical_network_unit = IfcCommunicationsApplianceTypeEnum.OPTICAL_NETWORK_UNIT +telecommand = IfcCommunicationsApplianceTypeEnum.TELECOMMAND +telephonyexchange = IfcCommunicationsApplianceTypeEnum.TELEPHONYEXCHANGE +transitioncomponent = IfcCommunicationsApplianceTypeEnum.TRANSITIONCOMPONENT +transponder = IfcCommunicationsApplianceTypeEnum.TRANSPONDER +transportequipment = IfcCommunicationsApplianceTypeEnum.TRANSPORTEQUIPMENT +userdefined = IfcCommunicationsApplianceTypeEnum.USERDEFINED +notdefined = IfcCommunicationsApplianceTypeEnum.NOTDEFINED IfcComplexPropertyTemplateTypeEnum = enum_namespace() -p_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'P_COMPLEX', INDETERMINATE) -q_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'Q_COMPLEX', INDETERMINATE) +p_complex = IfcComplexPropertyTemplateTypeEnum.P_COMPLEX +q_complex = IfcComplexPropertyTemplateTypeEnum.Q_COMPLEX IfcCompressorTypeEnum = enum_namespace() -dynamic = express_getattr(IfcCompressorTypeEnum, 'DYNAMIC', INDETERMINATE) -reciprocating = express_getattr(IfcCompressorTypeEnum, 'RECIPROCATING', INDETERMINATE) -rotary = express_getattr(IfcCompressorTypeEnum, 'ROTARY', INDETERMINATE) -scroll = express_getattr(IfcCompressorTypeEnum, 'SCROLL', INDETERMINATE) -trochoidal = express_getattr(IfcCompressorTypeEnum, 'TROCHOIDAL', INDETERMINATE) -singlestage = express_getattr(IfcCompressorTypeEnum, 'SINGLESTAGE', INDETERMINATE) -booster = express_getattr(IfcCompressorTypeEnum, 'BOOSTER', INDETERMINATE) -opentype = express_getattr(IfcCompressorTypeEnum, 'OPENTYPE', INDETERMINATE) -hermetic = express_getattr(IfcCompressorTypeEnum, 'HERMETIC', INDETERMINATE) -semihermetic = express_getattr(IfcCompressorTypeEnum, 'SEMIHERMETIC', INDETERMINATE) -weldedshellhermetic = express_getattr(IfcCompressorTypeEnum, 'WELDEDSHELLHERMETIC', INDETERMINATE) -rollingpiston = express_getattr(IfcCompressorTypeEnum, 'ROLLINGPISTON', INDETERMINATE) -rotaryvane = express_getattr(IfcCompressorTypeEnum, 'ROTARYVANE', INDETERMINATE) -singlescrew = express_getattr(IfcCompressorTypeEnum, 'SINGLESCREW', INDETERMINATE) -twinscrew = express_getattr(IfcCompressorTypeEnum, 'TWINSCREW', INDETERMINATE) -userdefined = express_getattr(IfcCompressorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCompressorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dynamic = IfcCompressorTypeEnum.DYNAMIC +reciprocating = IfcCompressorTypeEnum.RECIPROCATING +rotary = IfcCompressorTypeEnum.ROTARY +scroll = IfcCompressorTypeEnum.SCROLL +trochoidal = IfcCompressorTypeEnum.TROCHOIDAL +singlestage = IfcCompressorTypeEnum.SINGLESTAGE +booster = IfcCompressorTypeEnum.BOOSTER +opentype = IfcCompressorTypeEnum.OPENTYPE +hermetic = IfcCompressorTypeEnum.HERMETIC +semihermetic = IfcCompressorTypeEnum.SEMIHERMETIC +weldedshellhermetic = IfcCompressorTypeEnum.WELDEDSHELLHERMETIC +rollingpiston = IfcCompressorTypeEnum.ROLLINGPISTON +rotaryvane = IfcCompressorTypeEnum.ROTARYVANE +singlescrew = IfcCompressorTypeEnum.SINGLESCREW +twinscrew = IfcCompressorTypeEnum.TWINSCREW +userdefined = IfcCompressorTypeEnum.USERDEFINED +notdefined = IfcCompressorTypeEnum.NOTDEFINED IfcCondenserTypeEnum = enum_namespace() -aircooled = express_getattr(IfcCondenserTypeEnum, 'AIRCOOLED', INDETERMINATE) -evaporativecooled = express_getattr(IfcCondenserTypeEnum, 'EVAPORATIVECOOLED', INDETERMINATE) -watercooled = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLED', INDETERMINATE) -watercooledbrazedplate = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDBRAZEDPLATE', INDETERMINATE) -watercooledshellcoil = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLCOIL', INDETERMINATE) -watercooledshelltube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLTUBE', INDETERMINATE) -watercooledtubeintube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDTUBEINTUBE', INDETERMINATE) -userdefined = express_getattr(IfcCondenserTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCondenserTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcCondenserTypeEnum.AIRCOOLED +evaporativecooled = IfcCondenserTypeEnum.EVAPORATIVECOOLED +watercooled = IfcCondenserTypeEnum.WATERCOOLED +watercooledbrazedplate = IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE +watercooledshellcoil = IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL +watercooledshelltube = IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE +watercooledtubeintube = IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE +userdefined = IfcCondenserTypeEnum.USERDEFINED +notdefined = IfcCondenserTypeEnum.NOTDEFINED IfcConnectionTypeEnum = enum_namespace() -atpath = express_getattr(IfcConnectionTypeEnum, 'ATPATH', INDETERMINATE) -atstart = express_getattr(IfcConnectionTypeEnum, 'ATSTART', INDETERMINATE) -atend = express_getattr(IfcConnectionTypeEnum, 'ATEND', INDETERMINATE) -notdefined = express_getattr(IfcConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +atpath = IfcConnectionTypeEnum.ATPATH +atstart = IfcConnectionTypeEnum.ATSTART +atend = IfcConnectionTypeEnum.ATEND +notdefined = IfcConnectionTypeEnum.NOTDEFINED IfcConstraintEnum = enum_namespace() -hard = express_getattr(IfcConstraintEnum, 'HARD', INDETERMINATE) -soft = express_getattr(IfcConstraintEnum, 'SOFT', INDETERMINATE) -advisory = express_getattr(IfcConstraintEnum, 'ADVISORY', INDETERMINATE) -userdefined = express_getattr(IfcConstraintEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstraintEnum, 'NOTDEFINED', INDETERMINATE) +hard = IfcConstraintEnum.HARD +soft = IfcConstraintEnum.SOFT +advisory = IfcConstraintEnum.ADVISORY +userdefined = IfcConstraintEnum.USERDEFINED +notdefined = IfcConstraintEnum.NOTDEFINED IfcConstructionEquipmentResourceTypeEnum = enum_namespace() -demolishing = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'DEMOLISHING', INDETERMINATE) -earthmoving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'EARTHMOVING', INDETERMINATE) -erecting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'ERECTING', INDETERMINATE) -heating = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'LIGHTING', INDETERMINATE) -paving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PAVING', INDETERMINATE) -pumping = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PUMPING', INDETERMINATE) -transporting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'TRANSPORTING', INDETERMINATE) -userdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +demolishing = IfcConstructionEquipmentResourceTypeEnum.DEMOLISHING +earthmoving = IfcConstructionEquipmentResourceTypeEnum.EARTHMOVING +erecting = IfcConstructionEquipmentResourceTypeEnum.ERECTING +heating = IfcConstructionEquipmentResourceTypeEnum.HEATING +lighting = IfcConstructionEquipmentResourceTypeEnum.LIGHTING +paving = IfcConstructionEquipmentResourceTypeEnum.PAVING +pumping = IfcConstructionEquipmentResourceTypeEnum.PUMPING +transporting = IfcConstructionEquipmentResourceTypeEnum.TRANSPORTING +userdefined = IfcConstructionEquipmentResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionEquipmentResourceTypeEnum.NOTDEFINED IfcConstructionMaterialResourceTypeEnum = enum_namespace() -aggregates = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'AGGREGATES', INDETERMINATE) -concrete = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'DRYWALL', INDETERMINATE) -fuel = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'FUEL', INDETERMINATE) -gypsum = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'GYPSUM', INDETERMINATE) -masonry = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'MASONRY', INDETERMINATE) -metal = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'METAL', INDETERMINATE) -plastic = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'PLASTIC', INDETERMINATE) -wood = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'WOOD', INDETERMINATE) -notdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) -userdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'USERDEFINED', INDETERMINATE) +aggregates = IfcConstructionMaterialResourceTypeEnum.AGGREGATES +concrete = IfcConstructionMaterialResourceTypeEnum.CONCRETE +drywall = IfcConstructionMaterialResourceTypeEnum.DRYWALL +fuel = IfcConstructionMaterialResourceTypeEnum.FUEL +gypsum = IfcConstructionMaterialResourceTypeEnum.GYPSUM +masonry = IfcConstructionMaterialResourceTypeEnum.MASONRY +metal = IfcConstructionMaterialResourceTypeEnum.METAL +plastic = IfcConstructionMaterialResourceTypeEnum.PLASTIC +wood = IfcConstructionMaterialResourceTypeEnum.WOOD +notdefined = IfcConstructionMaterialResourceTypeEnum.NOTDEFINED +userdefined = IfcConstructionMaterialResourceTypeEnum.USERDEFINED IfcConstructionProductResourceTypeEnum = enum_namespace() -assembly = express_getattr(IfcConstructionProductResourceTypeEnum, 'ASSEMBLY', INDETERMINATE) -formwork = express_getattr(IfcConstructionProductResourceTypeEnum, 'FORMWORK', INDETERMINATE) -userdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +assembly = IfcConstructionProductResourceTypeEnum.ASSEMBLY +formwork = IfcConstructionProductResourceTypeEnum.FORMWORK +userdefined = IfcConstructionProductResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionProductResourceTypeEnum.NOTDEFINED IfcControllerTypeEnum = enum_namespace() -floating = express_getattr(IfcControllerTypeEnum, 'FLOATING', INDETERMINATE) -programmable = express_getattr(IfcControllerTypeEnum, 'PROGRAMMABLE', INDETERMINATE) -proportional = express_getattr(IfcControllerTypeEnum, 'PROPORTIONAL', INDETERMINATE) -multiposition = express_getattr(IfcControllerTypeEnum, 'MULTIPOSITION', INDETERMINATE) -twoposition = express_getattr(IfcControllerTypeEnum, 'TWOPOSITION', INDETERMINATE) -userdefined = express_getattr(IfcControllerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcControllerTypeEnum, 'NOTDEFINED', INDETERMINATE) +floating = IfcControllerTypeEnum.FLOATING +programmable = IfcControllerTypeEnum.PROGRAMMABLE +proportional = IfcControllerTypeEnum.PROPORTIONAL +multiposition = IfcControllerTypeEnum.MULTIPOSITION +twoposition = IfcControllerTypeEnum.TWOPOSITION +userdefined = IfcControllerTypeEnum.USERDEFINED +notdefined = IfcControllerTypeEnum.NOTDEFINED IfcConveyorSegmentTypeEnum = enum_namespace() -chuteconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'CHUTECONVEYOR', INDETERMINATE) -beltconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'BELTCONVEYOR', INDETERMINATE) -screwconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'SCREWCONVEYOR', INDETERMINATE) -bucketconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'BUCKETCONVEYOR', INDETERMINATE) -userdefined = express_getattr(IfcConveyorSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConveyorSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +chuteconveyor = IfcConveyorSegmentTypeEnum.CHUTECONVEYOR +beltconveyor = IfcConveyorSegmentTypeEnum.BELTCONVEYOR +screwconveyor = IfcConveyorSegmentTypeEnum.SCREWCONVEYOR +bucketconveyor = IfcConveyorSegmentTypeEnum.BUCKETCONVEYOR +userdefined = IfcConveyorSegmentTypeEnum.USERDEFINED +notdefined = IfcConveyorSegmentTypeEnum.NOTDEFINED IfcCooledBeamTypeEnum = enum_namespace() -active = express_getattr(IfcCooledBeamTypeEnum, 'ACTIVE', INDETERMINATE) -passive = express_getattr(IfcCooledBeamTypeEnum, 'PASSIVE', INDETERMINATE) -userdefined = express_getattr(IfcCooledBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCooledBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +active = IfcCooledBeamTypeEnum.ACTIVE +passive = IfcCooledBeamTypeEnum.PASSIVE +userdefined = IfcCooledBeamTypeEnum.USERDEFINED +notdefined = IfcCooledBeamTypeEnum.NOTDEFINED IfcCoolingTowerTypeEnum = enum_namespace() -naturaldraft = express_getattr(IfcCoolingTowerTypeEnum, 'NATURALDRAFT', INDETERMINATE) -mechanicalinduceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALINDUCEDDRAFT', INDETERMINATE) -mechanicalforceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALFORCEDDRAFT', INDETERMINATE) -userdefined = express_getattr(IfcCoolingTowerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoolingTowerTypeEnum, 'NOTDEFINED', INDETERMINATE) +naturaldraft = IfcCoolingTowerTypeEnum.NATURALDRAFT +mechanicalinduceddraft = IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT +mechanicalforceddraft = IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT +userdefined = IfcCoolingTowerTypeEnum.USERDEFINED +notdefined = IfcCoolingTowerTypeEnum.NOTDEFINED IfcCostItemTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCostItemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostItemTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCostItemTypeEnum.USERDEFINED +notdefined = IfcCostItemTypeEnum.NOTDEFINED IfcCostScheduleTypeEnum = enum_namespace() -budget = express_getattr(IfcCostScheduleTypeEnum, 'BUDGET', INDETERMINATE) -costplan = express_getattr(IfcCostScheduleTypeEnum, 'COSTPLAN', INDETERMINATE) -estimate = express_getattr(IfcCostScheduleTypeEnum, 'ESTIMATE', INDETERMINATE) -tender = express_getattr(IfcCostScheduleTypeEnum, 'TENDER', INDETERMINATE) -pricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'PRICEDBILLOFQUANTITIES', INDETERMINATE) -unpricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'UNPRICEDBILLOFQUANTITIES', INDETERMINATE) -scheduleofrates = express_getattr(IfcCostScheduleTypeEnum, 'SCHEDULEOFRATES', INDETERMINATE) -userdefined = express_getattr(IfcCostScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +budget = IfcCostScheduleTypeEnum.BUDGET +costplan = IfcCostScheduleTypeEnum.COSTPLAN +estimate = IfcCostScheduleTypeEnum.ESTIMATE +tender = IfcCostScheduleTypeEnum.TENDER +pricedbillofquantities = IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES +unpricedbillofquantities = IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES +scheduleofrates = IfcCostScheduleTypeEnum.SCHEDULEOFRATES +userdefined = IfcCostScheduleTypeEnum.USERDEFINED +notdefined = IfcCostScheduleTypeEnum.NOTDEFINED IfcCourseTypeEnum = enum_namespace() -armour = express_getattr(IfcCourseTypeEnum, 'ARMOUR', INDETERMINATE) -filter = express_getattr(IfcCourseTypeEnum, 'FILTER', INDETERMINATE) -ballastbed = express_getattr(IfcCourseTypeEnum, 'BALLASTBED', INDETERMINATE) -core = express_getattr(IfcCourseTypeEnum, 'CORE', INDETERMINATE) -pavement = express_getattr(IfcCourseTypeEnum, 'PAVEMENT', INDETERMINATE) -protection = express_getattr(IfcCourseTypeEnum, 'PROTECTION', INDETERMINATE) -userdefined = express_getattr(IfcCourseTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCourseTypeEnum, 'NOTDEFINED', INDETERMINATE) +armour = IfcCourseTypeEnum.ARMOUR +filter = IfcCourseTypeEnum.FILTER +ballastbed = IfcCourseTypeEnum.BALLASTBED +core = IfcCourseTypeEnum.CORE +pavement = IfcCourseTypeEnum.PAVEMENT +protection = IfcCourseTypeEnum.PROTECTION +userdefined = IfcCourseTypeEnum.USERDEFINED +notdefined = IfcCourseTypeEnum.NOTDEFINED IfcCoveringTypeEnum = enum_namespace() -ceiling = express_getattr(IfcCoveringTypeEnum, 'CEILING', INDETERMINATE) -flooring = express_getattr(IfcCoveringTypeEnum, 'FLOORING', INDETERMINATE) -cladding = express_getattr(IfcCoveringTypeEnum, 'CLADDING', INDETERMINATE) -roofing = express_getattr(IfcCoveringTypeEnum, 'ROOFING', INDETERMINATE) -molding = express_getattr(IfcCoveringTypeEnum, 'MOLDING', INDETERMINATE) -skirtingboard = express_getattr(IfcCoveringTypeEnum, 'SKIRTINGBOARD', INDETERMINATE) -insulation = express_getattr(IfcCoveringTypeEnum, 'INSULATION', INDETERMINATE) -membrane = express_getattr(IfcCoveringTypeEnum, 'MEMBRANE', INDETERMINATE) -sleeving = express_getattr(IfcCoveringTypeEnum, 'SLEEVING', INDETERMINATE) -wrapping = express_getattr(IfcCoveringTypeEnum, 'WRAPPING', INDETERMINATE) -coping = express_getattr(IfcCoveringTypeEnum, 'COPING', INDETERMINATE) -userdefined = express_getattr(IfcCoveringTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoveringTypeEnum, 'NOTDEFINED', INDETERMINATE) +ceiling = IfcCoveringTypeEnum.CEILING +flooring = IfcCoveringTypeEnum.FLOORING +cladding = IfcCoveringTypeEnum.CLADDING +roofing = IfcCoveringTypeEnum.ROOFING +molding = IfcCoveringTypeEnum.MOLDING +skirtingboard = IfcCoveringTypeEnum.SKIRTINGBOARD +insulation = IfcCoveringTypeEnum.INSULATION +membrane = IfcCoveringTypeEnum.MEMBRANE +sleeving = IfcCoveringTypeEnum.SLEEVING +wrapping = IfcCoveringTypeEnum.WRAPPING +coping = IfcCoveringTypeEnum.COPING +userdefined = IfcCoveringTypeEnum.USERDEFINED +notdefined = IfcCoveringTypeEnum.NOTDEFINED IfcCrewResourceTypeEnum = enum_namespace() -office = express_getattr(IfcCrewResourceTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcCrewResourceTypeEnum, 'SITE', INDETERMINATE) -userdefined = express_getattr(IfcCrewResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCrewResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +office = IfcCrewResourceTypeEnum.OFFICE +site = IfcCrewResourceTypeEnum.SITE +userdefined = IfcCrewResourceTypeEnum.USERDEFINED +notdefined = IfcCrewResourceTypeEnum.NOTDEFINED IfcCurtainWallTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCurtainWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCurtainWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCurtainWallTypeEnum.USERDEFINED +notdefined = IfcCurtainWallTypeEnum.NOTDEFINED IfcCurveInterpolationEnum = enum_namespace() -linear = express_getattr(IfcCurveInterpolationEnum, 'LINEAR', INDETERMINATE) -log_linear = express_getattr(IfcCurveInterpolationEnum, 'LOG_LINEAR', INDETERMINATE) -log_log = express_getattr(IfcCurveInterpolationEnum, 'LOG_LOG', INDETERMINATE) -notdefined = express_getattr(IfcCurveInterpolationEnum, 'NOTDEFINED', INDETERMINATE) +linear = IfcCurveInterpolationEnum.LINEAR +log_linear = IfcCurveInterpolationEnum.LOG_LINEAR +log_log = IfcCurveInterpolationEnum.LOG_LOG +notdefined = IfcCurveInterpolationEnum.NOTDEFINED IfcDamperTypeEnum = enum_namespace() -backdraftdamper = express_getattr(IfcDamperTypeEnum, 'BACKDRAFTDAMPER', INDETERMINATE) -balancingdamper = express_getattr(IfcDamperTypeEnum, 'BALANCINGDAMPER', INDETERMINATE) -blastdamper = express_getattr(IfcDamperTypeEnum, 'BLASTDAMPER', INDETERMINATE) -controldamper = express_getattr(IfcDamperTypeEnum, 'CONTROLDAMPER', INDETERMINATE) -firedamper = express_getattr(IfcDamperTypeEnum, 'FIREDAMPER', INDETERMINATE) -firesmokedamper = express_getattr(IfcDamperTypeEnum, 'FIRESMOKEDAMPER', INDETERMINATE) -fumehoodexhaust = express_getattr(IfcDamperTypeEnum, 'FUMEHOODEXHAUST', INDETERMINATE) -gravitydamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYDAMPER', INDETERMINATE) -gravityreliefdamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYRELIEFDAMPER', INDETERMINATE) -reliefdamper = express_getattr(IfcDamperTypeEnum, 'RELIEFDAMPER', INDETERMINATE) -smokedamper = express_getattr(IfcDamperTypeEnum, 'SMOKEDAMPER', INDETERMINATE) -userdefined = express_getattr(IfcDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +backdraftdamper = IfcDamperTypeEnum.BACKDRAFTDAMPER +balancingdamper = IfcDamperTypeEnum.BALANCINGDAMPER +blastdamper = IfcDamperTypeEnum.BLASTDAMPER +controldamper = IfcDamperTypeEnum.CONTROLDAMPER +firedamper = IfcDamperTypeEnum.FIREDAMPER +firesmokedamper = IfcDamperTypeEnum.FIRESMOKEDAMPER +fumehoodexhaust = IfcDamperTypeEnum.FUMEHOODEXHAUST +gravitydamper = IfcDamperTypeEnum.GRAVITYDAMPER +gravityreliefdamper = IfcDamperTypeEnum.GRAVITYRELIEFDAMPER +reliefdamper = IfcDamperTypeEnum.RELIEFDAMPER +smokedamper = IfcDamperTypeEnum.SMOKEDAMPER +userdefined = IfcDamperTypeEnum.USERDEFINED +notdefined = IfcDamperTypeEnum.NOTDEFINED IfcDataOriginEnum = enum_namespace() -measured = express_getattr(IfcDataOriginEnum, 'MEASURED', INDETERMINATE) -predicted = express_getattr(IfcDataOriginEnum, 'PREDICTED', INDETERMINATE) -simulated = express_getattr(IfcDataOriginEnum, 'SIMULATED', INDETERMINATE) -userdefined = express_getattr(IfcDataOriginEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDataOriginEnum, 'NOTDEFINED', INDETERMINATE) +measured = IfcDataOriginEnum.MEASURED +predicted = IfcDataOriginEnum.PREDICTED +simulated = IfcDataOriginEnum.SIMULATED +userdefined = IfcDataOriginEnum.USERDEFINED +notdefined = IfcDataOriginEnum.NOTDEFINED IfcDerivedUnitEnum = enum_namespace() -angularvelocityunit = express_getattr(IfcDerivedUnitEnum, 'ANGULARVELOCITYUNIT', INDETERMINATE) -areadensityunit = express_getattr(IfcDerivedUnitEnum, 'AREADENSITYUNIT', INDETERMINATE) -compoundplaneangleunit = express_getattr(IfcDerivedUnitEnum, 'COMPOUNDPLANEANGLEUNIT', INDETERMINATE) -dynamicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'DYNAMICVISCOSITYUNIT', INDETERMINATE) -heatfluxdensityunit = express_getattr(IfcDerivedUnitEnum, 'HEATFLUXDENSITYUNIT', INDETERMINATE) -integercountrateunit = express_getattr(IfcDerivedUnitEnum, 'INTEGERCOUNTRATEUNIT', INDETERMINATE) -isothermalmoisturecapacityunit = express_getattr(IfcDerivedUnitEnum, 'ISOTHERMALMOISTURECAPACITYUNIT', INDETERMINATE) -kinematicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'KINEMATICVISCOSITYUNIT', INDETERMINATE) -linearvelocityunit = express_getattr(IfcDerivedUnitEnum, 'LINEARVELOCITYUNIT', INDETERMINATE) -massdensityunit = express_getattr(IfcDerivedUnitEnum, 'MASSDENSITYUNIT', INDETERMINATE) -massflowrateunit = express_getattr(IfcDerivedUnitEnum, 'MASSFLOWRATEUNIT', INDETERMINATE) -moisturediffusivityunit = express_getattr(IfcDerivedUnitEnum, 'MOISTUREDIFFUSIVITYUNIT', INDETERMINATE) -molecularweightunit = express_getattr(IfcDerivedUnitEnum, 'MOLECULARWEIGHTUNIT', INDETERMINATE) -specificheatcapacityunit = express_getattr(IfcDerivedUnitEnum, 'SPECIFICHEATCAPACITYUNIT', INDETERMINATE) -thermaladmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALADMITTANCEUNIT', INDETERMINATE) -thermalconductanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALCONDUCTANCEUNIT', INDETERMINATE) -thermalresistanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALRESISTANCEUNIT', INDETERMINATE) -thermaltransmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALTRANSMITTANCEUNIT', INDETERMINATE) -vaporpermeabilityunit = express_getattr(IfcDerivedUnitEnum, 'VAPORPERMEABILITYUNIT', INDETERMINATE) -volumetricflowrateunit = express_getattr(IfcDerivedUnitEnum, 'VOLUMETRICFLOWRATEUNIT', INDETERMINATE) -rotationalfrequencyunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALFREQUENCYUNIT', INDETERMINATE) -torqueunit = express_getattr(IfcDerivedUnitEnum, 'TORQUEUNIT', INDETERMINATE) -momentofinertiaunit = express_getattr(IfcDerivedUnitEnum, 'MOMENTOFINERTIAUNIT', INDETERMINATE) -linearmomentunit = express_getattr(IfcDerivedUnitEnum, 'LINEARMOMENTUNIT', INDETERMINATE) -linearforceunit = express_getattr(IfcDerivedUnitEnum, 'LINEARFORCEUNIT', INDETERMINATE) -planarforceunit = express_getattr(IfcDerivedUnitEnum, 'PLANARFORCEUNIT', INDETERMINATE) -modulusofelasticityunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFELASTICITYUNIT', INDETERMINATE) -shearmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SHEARMODULUSUNIT', INDETERMINATE) -linearstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'LINEARSTIFFNESSUNIT', INDETERMINATE) -rotationalstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALSTIFFNESSUNIT', INDETERMINATE) -modulusofsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFSUBGRADEREACTIONUNIT', INDETERMINATE) -accelerationunit = express_getattr(IfcDerivedUnitEnum, 'ACCELERATIONUNIT', INDETERMINATE) -curvatureunit = express_getattr(IfcDerivedUnitEnum, 'CURVATUREUNIT', INDETERMINATE) -heatingvalueunit = express_getattr(IfcDerivedUnitEnum, 'HEATINGVALUEUNIT', INDETERMINATE) -ionconcentrationunit = express_getattr(IfcDerivedUnitEnum, 'IONCONCENTRATIONUNIT', INDETERMINATE) -luminousintensitydistributionunit = express_getattr(IfcDerivedUnitEnum, 'LUMINOUSINTENSITYDISTRIBUTIONUNIT', INDETERMINATE) -massperlengthunit = express_getattr(IfcDerivedUnitEnum, 'MASSPERLENGTHUNIT', INDETERMINATE) -modulusoflinearsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFLINEARSUBGRADEREACTIONUNIT', INDETERMINATE) -modulusofrotationalsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFROTATIONALSUBGRADEREACTIONUNIT', INDETERMINATE) -phunit = express_getattr(IfcDerivedUnitEnum, 'PHUNIT', INDETERMINATE) -rotationalmassunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALMASSUNIT', INDETERMINATE) -sectionareaintegralunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONAREAINTEGRALUNIT', INDETERMINATE) -sectionmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONMODULUSUNIT', INDETERMINATE) -soundpowerlevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERLEVELUNIT', INDETERMINATE) -soundpowerunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERUNIT', INDETERMINATE) -soundpressurelevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSURELEVELUNIT', INDETERMINATE) -soundpressureunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSUREUNIT', INDETERMINATE) -temperaturegradientunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATUREGRADIENTUNIT', INDETERMINATE) -temperaturerateofchangeunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATURERATEOFCHANGEUNIT', INDETERMINATE) -thermalexpansioncoefficientunit = express_getattr(IfcDerivedUnitEnum, 'THERMALEXPANSIONCOEFFICIENTUNIT', INDETERMINATE) -warpingconstantunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGCONSTANTUNIT', INDETERMINATE) -warpingmomentunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGMOMENTUNIT', INDETERMINATE) -userdefined = express_getattr(IfcDerivedUnitEnum, 'USERDEFINED', INDETERMINATE) +angularvelocityunit = IfcDerivedUnitEnum.ANGULARVELOCITYUNIT +areadensityunit = IfcDerivedUnitEnum.AREADENSITYUNIT +compoundplaneangleunit = IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT +dynamicviscosityunit = IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT +heatfluxdensityunit = IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT +integercountrateunit = IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT +isothermalmoisturecapacityunit = IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT +kinematicviscosityunit = IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT +linearvelocityunit = IfcDerivedUnitEnum.LINEARVELOCITYUNIT +massdensityunit = IfcDerivedUnitEnum.MASSDENSITYUNIT +massflowrateunit = IfcDerivedUnitEnum.MASSFLOWRATEUNIT +moisturediffusivityunit = IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT +molecularweightunit = IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT +specificheatcapacityunit = IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT +thermaladmittanceunit = IfcDerivedUnitEnum.THERMALADMITTANCEUNIT +thermalconductanceunit = IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT +thermalresistanceunit = IfcDerivedUnitEnum.THERMALRESISTANCEUNIT +thermaltransmittanceunit = IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT +vaporpermeabilityunit = IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT +volumetricflowrateunit = IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT +rotationalfrequencyunit = IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT +torqueunit = IfcDerivedUnitEnum.TORQUEUNIT +momentofinertiaunit = IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT +linearmomentunit = IfcDerivedUnitEnum.LINEARMOMENTUNIT +linearforceunit = IfcDerivedUnitEnum.LINEARFORCEUNIT +planarforceunit = IfcDerivedUnitEnum.PLANARFORCEUNIT +modulusofelasticityunit = IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT +shearmodulusunit = IfcDerivedUnitEnum.SHEARMODULUSUNIT +linearstiffnessunit = IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT +rotationalstiffnessunit = IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT +modulusofsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT +accelerationunit = IfcDerivedUnitEnum.ACCELERATIONUNIT +curvatureunit = IfcDerivedUnitEnum.CURVATUREUNIT +heatingvalueunit = IfcDerivedUnitEnum.HEATINGVALUEUNIT +ionconcentrationunit = IfcDerivedUnitEnum.IONCONCENTRATIONUNIT +luminousintensitydistributionunit = IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT +massperlengthunit = IfcDerivedUnitEnum.MASSPERLENGTHUNIT +modulusoflinearsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT +modulusofrotationalsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT +phunit = IfcDerivedUnitEnum.PHUNIT +rotationalmassunit = IfcDerivedUnitEnum.ROTATIONALMASSUNIT +sectionareaintegralunit = IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT +sectionmodulusunit = IfcDerivedUnitEnum.SECTIONMODULUSUNIT +soundpowerlevelunit = IfcDerivedUnitEnum.SOUNDPOWERLEVELUNIT +soundpowerunit = IfcDerivedUnitEnum.SOUNDPOWERUNIT +soundpressurelevelunit = IfcDerivedUnitEnum.SOUNDPRESSURELEVELUNIT +soundpressureunit = IfcDerivedUnitEnum.SOUNDPRESSUREUNIT +temperaturegradientunit = IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT +temperaturerateofchangeunit = IfcDerivedUnitEnum.TEMPERATURERATEOFCHANGEUNIT +thermalexpansioncoefficientunit = IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT +warpingconstantunit = IfcDerivedUnitEnum.WARPINGCONSTANTUNIT +warpingmomentunit = IfcDerivedUnitEnum.WARPINGMOMENTUNIT +userdefined = IfcDerivedUnitEnum.USERDEFINED IfcDirectionSenseEnum = enum_namespace() -positive = express_getattr(IfcDirectionSenseEnum, 'POSITIVE', INDETERMINATE) -negative = express_getattr(IfcDirectionSenseEnum, 'NEGATIVE', INDETERMINATE) +positive = IfcDirectionSenseEnum.POSITIVE +negative = IfcDirectionSenseEnum.NEGATIVE IfcDiscreteAccessoryTypeEnum = enum_namespace() -anchorplate = express_getattr(IfcDiscreteAccessoryTypeEnum, 'ANCHORPLATE', INDETERMINATE) -bracket = express_getattr(IfcDiscreteAccessoryTypeEnum, 'BRACKET', INDETERMINATE) -shoe = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SHOE', INDETERMINATE) -expansion_joint_device = express_getattr(IfcDiscreteAccessoryTypeEnum, 'EXPANSION_JOINT_DEVICE', INDETERMINATE) -birdprotection = express_getattr(IfcDiscreteAccessoryTypeEnum, 'BIRDPROTECTION', INDETERMINATE) -cablearranger = express_getattr(IfcDiscreteAccessoryTypeEnum, 'CABLEARRANGER', INDETERMINATE) -insulator = express_getattr(IfcDiscreteAccessoryTypeEnum, 'INSULATOR', INDETERMINATE) -lock = express_getattr(IfcDiscreteAccessoryTypeEnum, 'LOCK', INDETERMINATE) -tensioningequipment = express_getattr(IfcDiscreteAccessoryTypeEnum, 'TENSIONINGEQUIPMENT', INDETERMINATE) -railpad = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAILPAD', INDETERMINATE) -slidingchair = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SLIDINGCHAIR', INDETERMINATE) -panel_strengthening = express_getattr(IfcDiscreteAccessoryTypeEnum, 'PANEL_STRENGTHENING', INDETERMINATE) -railbrace = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAILBRACE', INDETERMINATE) -elastic_cushion = express_getattr(IfcDiscreteAccessoryTypeEnum, 'ELASTIC_CUSHION', INDETERMINATE) -soundabsorption = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SOUNDABSORPTION', INDETERMINATE) -rail_lubrication = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAIL_LUBRICATION', INDETERMINATE) -rail_mechanical_equipment = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAIL_MECHANICAL_EQUIPMENT', INDETERMINATE) -userdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorplate = IfcDiscreteAccessoryTypeEnum.ANCHORPLATE +bracket = IfcDiscreteAccessoryTypeEnum.BRACKET +shoe = IfcDiscreteAccessoryTypeEnum.SHOE +expansion_joint_device = IfcDiscreteAccessoryTypeEnum.EXPANSION_JOINT_DEVICE +birdprotection = IfcDiscreteAccessoryTypeEnum.BIRDPROTECTION +cablearranger = IfcDiscreteAccessoryTypeEnum.CABLEARRANGER +insulator = IfcDiscreteAccessoryTypeEnum.INSULATOR +lock = IfcDiscreteAccessoryTypeEnum.LOCK +tensioningequipment = IfcDiscreteAccessoryTypeEnum.TENSIONINGEQUIPMENT +railpad = IfcDiscreteAccessoryTypeEnum.RAILPAD +slidingchair = IfcDiscreteAccessoryTypeEnum.SLIDINGCHAIR +panel_strengthening = IfcDiscreteAccessoryTypeEnum.PANEL_STRENGTHENING +railbrace = IfcDiscreteAccessoryTypeEnum.RAILBRACE +elastic_cushion = IfcDiscreteAccessoryTypeEnum.ELASTIC_CUSHION +soundabsorption = IfcDiscreteAccessoryTypeEnum.SOUNDABSORPTION +rail_lubrication = IfcDiscreteAccessoryTypeEnum.RAIL_LUBRICATION +rail_mechanical_equipment = IfcDiscreteAccessoryTypeEnum.RAIL_MECHANICAL_EQUIPMENT +userdefined = IfcDiscreteAccessoryTypeEnum.USERDEFINED +notdefined = IfcDiscreteAccessoryTypeEnum.NOTDEFINED IfcDistributionBoardTypeEnum = enum_namespace() -switchboard = express_getattr(IfcDistributionBoardTypeEnum, 'SWITCHBOARD', INDETERMINATE) -consumerunit = express_getattr(IfcDistributionBoardTypeEnum, 'CONSUMERUNIT', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcDistributionBoardTypeEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -distributionframe = express_getattr(IfcDistributionBoardTypeEnum, 'DISTRIBUTIONFRAME', INDETERMINATE) -distributionboard = express_getattr(IfcDistributionBoardTypeEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -userdefined = express_getattr(IfcDistributionBoardTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionBoardTypeEnum, 'NOTDEFINED', INDETERMINATE) +switchboard = IfcDistributionBoardTypeEnum.SWITCHBOARD +consumerunit = IfcDistributionBoardTypeEnum.CONSUMERUNIT +motorcontrolcentre = IfcDistributionBoardTypeEnum.MOTORCONTROLCENTRE +distributionframe = IfcDistributionBoardTypeEnum.DISTRIBUTIONFRAME +distributionboard = IfcDistributionBoardTypeEnum.DISTRIBUTIONBOARD +userdefined = IfcDistributionBoardTypeEnum.USERDEFINED +notdefined = IfcDistributionBoardTypeEnum.NOTDEFINED IfcDistributionChamberElementTypeEnum = enum_namespace() -formedduct = express_getattr(IfcDistributionChamberElementTypeEnum, 'FORMEDDUCT', INDETERMINATE) -inspectionchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONCHAMBER', INDETERMINATE) -inspectionpit = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONPIT', INDETERMINATE) -manhole = express_getattr(IfcDistributionChamberElementTypeEnum, 'MANHOLE', INDETERMINATE) -meterchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'METERCHAMBER', INDETERMINATE) -sump = express_getattr(IfcDistributionChamberElementTypeEnum, 'SUMP', INDETERMINATE) -trench = express_getattr(IfcDistributionChamberElementTypeEnum, 'TRENCH', INDETERMINATE) -valvechamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'VALVECHAMBER', INDETERMINATE) -userdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +formedduct = IfcDistributionChamberElementTypeEnum.FORMEDDUCT +inspectionchamber = IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER +inspectionpit = IfcDistributionChamberElementTypeEnum.INSPECTIONPIT +manhole = IfcDistributionChamberElementTypeEnum.MANHOLE +meterchamber = IfcDistributionChamberElementTypeEnum.METERCHAMBER +sump = IfcDistributionChamberElementTypeEnum.SUMP +trench = IfcDistributionChamberElementTypeEnum.TRENCH +valvechamber = IfcDistributionChamberElementTypeEnum.VALVECHAMBER +userdefined = IfcDistributionChamberElementTypeEnum.USERDEFINED +notdefined = IfcDistributionChamberElementTypeEnum.NOTDEFINED IfcDistributionPortTypeEnum = enum_namespace() -cable = express_getattr(IfcDistributionPortTypeEnum, 'CABLE', INDETERMINATE) -cablecarrier = express_getattr(IfcDistributionPortTypeEnum, 'CABLECARRIER', INDETERMINATE) -duct = express_getattr(IfcDistributionPortTypeEnum, 'DUCT', INDETERMINATE) -pipe = express_getattr(IfcDistributionPortTypeEnum, 'PIPE', INDETERMINATE) -wireless = express_getattr(IfcDistributionPortTypeEnum, 'WIRELESS', INDETERMINATE) -userdefined = express_getattr(IfcDistributionPortTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionPortTypeEnum, 'NOTDEFINED', INDETERMINATE) +cable = IfcDistributionPortTypeEnum.CABLE +cablecarrier = IfcDistributionPortTypeEnum.CABLECARRIER +duct = IfcDistributionPortTypeEnum.DUCT +pipe = IfcDistributionPortTypeEnum.PIPE +wireless = IfcDistributionPortTypeEnum.WIRELESS +userdefined = IfcDistributionPortTypeEnum.USERDEFINED +notdefined = IfcDistributionPortTypeEnum.NOTDEFINED IfcDistributionSystemEnum = enum_namespace() -airconditioning = express_getattr(IfcDistributionSystemEnum, 'AIRCONDITIONING', INDETERMINATE) -audiovisual = express_getattr(IfcDistributionSystemEnum, 'AUDIOVISUAL', INDETERMINATE) -chemical = express_getattr(IfcDistributionSystemEnum, 'CHEMICAL', INDETERMINATE) -chilledwater = express_getattr(IfcDistributionSystemEnum, 'CHILLEDWATER', INDETERMINATE) -communication = express_getattr(IfcDistributionSystemEnum, 'COMMUNICATION', INDETERMINATE) -compressedair = express_getattr(IfcDistributionSystemEnum, 'COMPRESSEDAIR', INDETERMINATE) -condenserwater = express_getattr(IfcDistributionSystemEnum, 'CONDENSERWATER', INDETERMINATE) -control = express_getattr(IfcDistributionSystemEnum, 'CONTROL', INDETERMINATE) -conveying = express_getattr(IfcDistributionSystemEnum, 'CONVEYING', INDETERMINATE) -data = express_getattr(IfcDistributionSystemEnum, 'DATA', INDETERMINATE) -disposal = express_getattr(IfcDistributionSystemEnum, 'DISPOSAL', INDETERMINATE) -domesticcoldwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICCOLDWATER', INDETERMINATE) -domestichotwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICHOTWATER', INDETERMINATE) -drainage = express_getattr(IfcDistributionSystemEnum, 'DRAINAGE', INDETERMINATE) -earthing = express_getattr(IfcDistributionSystemEnum, 'EARTHING', INDETERMINATE) -electrical = express_getattr(IfcDistributionSystemEnum, 'ELECTRICAL', INDETERMINATE) -electroacoustic = express_getattr(IfcDistributionSystemEnum, 'ELECTROACOUSTIC', INDETERMINATE) -exhaust = express_getattr(IfcDistributionSystemEnum, 'EXHAUST', INDETERMINATE) -fireprotection = express_getattr(IfcDistributionSystemEnum, 'FIREPROTECTION', INDETERMINATE) -fuel = express_getattr(IfcDistributionSystemEnum, 'FUEL', INDETERMINATE) -gas = express_getattr(IfcDistributionSystemEnum, 'GAS', INDETERMINATE) -hazardous = express_getattr(IfcDistributionSystemEnum, 'HAZARDOUS', INDETERMINATE) -heating = express_getattr(IfcDistributionSystemEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcDistributionSystemEnum, 'LIGHTING', INDETERMINATE) -lightningprotection = express_getattr(IfcDistributionSystemEnum, 'LIGHTNINGPROTECTION', INDETERMINATE) -municipalsolidwaste = express_getattr(IfcDistributionSystemEnum, 'MUNICIPALSOLIDWASTE', INDETERMINATE) -oil = express_getattr(IfcDistributionSystemEnum, 'OIL', INDETERMINATE) -operational = express_getattr(IfcDistributionSystemEnum, 'OPERATIONAL', INDETERMINATE) -powergeneration = express_getattr(IfcDistributionSystemEnum, 'POWERGENERATION', INDETERMINATE) -rainwater = express_getattr(IfcDistributionSystemEnum, 'RAINWATER', INDETERMINATE) -refrigeration = express_getattr(IfcDistributionSystemEnum, 'REFRIGERATION', INDETERMINATE) -security = express_getattr(IfcDistributionSystemEnum, 'SECURITY', INDETERMINATE) -sewage = express_getattr(IfcDistributionSystemEnum, 'SEWAGE', INDETERMINATE) -signal = express_getattr(IfcDistributionSystemEnum, 'SIGNAL', INDETERMINATE) -stormwater = express_getattr(IfcDistributionSystemEnum, 'STORMWATER', INDETERMINATE) -telephone = express_getattr(IfcDistributionSystemEnum, 'TELEPHONE', INDETERMINATE) -tv = express_getattr(IfcDistributionSystemEnum, 'TV', INDETERMINATE) -vacuum = express_getattr(IfcDistributionSystemEnum, 'VACUUM', INDETERMINATE) -vent = express_getattr(IfcDistributionSystemEnum, 'VENT', INDETERMINATE) -ventilation = express_getattr(IfcDistributionSystemEnum, 'VENTILATION', INDETERMINATE) -wastewater = express_getattr(IfcDistributionSystemEnum, 'WASTEWATER', INDETERMINATE) -watersupply = express_getattr(IfcDistributionSystemEnum, 'WATERSUPPLY', INDETERMINATE) -catenary_system = express_getattr(IfcDistributionSystemEnum, 'CATENARY_SYSTEM', INDETERMINATE) -overhead_contactline_system = express_getattr(IfcDistributionSystemEnum, 'OVERHEAD_CONTACTLINE_SYSTEM', INDETERMINATE) -return_circuit = express_getattr(IfcDistributionSystemEnum, 'RETURN_CIRCUIT', INDETERMINATE) -userdefined = express_getattr(IfcDistributionSystemEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionSystemEnum, 'NOTDEFINED', INDETERMINATE) +airconditioning = IfcDistributionSystemEnum.AIRCONDITIONING +audiovisual = IfcDistributionSystemEnum.AUDIOVISUAL +chemical = IfcDistributionSystemEnum.CHEMICAL +chilledwater = IfcDistributionSystemEnum.CHILLEDWATER +communication = IfcDistributionSystemEnum.COMMUNICATION +compressedair = IfcDistributionSystemEnum.COMPRESSEDAIR +condenserwater = IfcDistributionSystemEnum.CONDENSERWATER +control = IfcDistributionSystemEnum.CONTROL +conveying = IfcDistributionSystemEnum.CONVEYING +data = IfcDistributionSystemEnum.DATA +disposal = IfcDistributionSystemEnum.DISPOSAL +domesticcoldwater = IfcDistributionSystemEnum.DOMESTICCOLDWATER +domestichotwater = IfcDistributionSystemEnum.DOMESTICHOTWATER +drainage = IfcDistributionSystemEnum.DRAINAGE +earthing = IfcDistributionSystemEnum.EARTHING +electrical = IfcDistributionSystemEnum.ELECTRICAL +electroacoustic = IfcDistributionSystemEnum.ELECTROACOUSTIC +exhaust = IfcDistributionSystemEnum.EXHAUST +fireprotection = IfcDistributionSystemEnum.FIREPROTECTION +fuel = IfcDistributionSystemEnum.FUEL +gas = IfcDistributionSystemEnum.GAS +hazardous = IfcDistributionSystemEnum.HAZARDOUS +heating = IfcDistributionSystemEnum.HEATING +lighting = IfcDistributionSystemEnum.LIGHTING +lightningprotection = IfcDistributionSystemEnum.LIGHTNINGPROTECTION +municipalsolidwaste = IfcDistributionSystemEnum.MUNICIPALSOLIDWASTE +oil = IfcDistributionSystemEnum.OIL +operational = IfcDistributionSystemEnum.OPERATIONAL +powergeneration = IfcDistributionSystemEnum.POWERGENERATION +rainwater = IfcDistributionSystemEnum.RAINWATER +refrigeration = IfcDistributionSystemEnum.REFRIGERATION +security = IfcDistributionSystemEnum.SECURITY +sewage = IfcDistributionSystemEnum.SEWAGE +signal = IfcDistributionSystemEnum.SIGNAL +stormwater = IfcDistributionSystemEnum.STORMWATER +telephone = IfcDistributionSystemEnum.TELEPHONE +tv = IfcDistributionSystemEnum.TV +vacuum = IfcDistributionSystemEnum.VACUUM +vent = IfcDistributionSystemEnum.VENT +ventilation = IfcDistributionSystemEnum.VENTILATION +wastewater = IfcDistributionSystemEnum.WASTEWATER +watersupply = IfcDistributionSystemEnum.WATERSUPPLY +catenary_system = IfcDistributionSystemEnum.CATENARY_SYSTEM +overhead_contactline_system = IfcDistributionSystemEnum.OVERHEAD_CONTACTLINE_SYSTEM +return_circuit = IfcDistributionSystemEnum.RETURN_CIRCUIT +userdefined = IfcDistributionSystemEnum.USERDEFINED +notdefined = IfcDistributionSystemEnum.NOTDEFINED IfcDocumentConfidentialityEnum = enum_namespace() -public = express_getattr(IfcDocumentConfidentialityEnum, 'PUBLIC', INDETERMINATE) -restricted = express_getattr(IfcDocumentConfidentialityEnum, 'RESTRICTED', INDETERMINATE) -confidential = express_getattr(IfcDocumentConfidentialityEnum, 'CONFIDENTIAL', INDETERMINATE) -personal = express_getattr(IfcDocumentConfidentialityEnum, 'PERSONAL', INDETERMINATE) -userdefined = express_getattr(IfcDocumentConfidentialityEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDocumentConfidentialityEnum, 'NOTDEFINED', INDETERMINATE) +public = IfcDocumentConfidentialityEnum.PUBLIC +restricted = IfcDocumentConfidentialityEnum.RESTRICTED +confidential = IfcDocumentConfidentialityEnum.CONFIDENTIAL +personal = IfcDocumentConfidentialityEnum.PERSONAL +userdefined = IfcDocumentConfidentialityEnum.USERDEFINED +notdefined = IfcDocumentConfidentialityEnum.NOTDEFINED IfcDocumentStatusEnum = enum_namespace() -draft = express_getattr(IfcDocumentStatusEnum, 'DRAFT', INDETERMINATE) -finaldraft = express_getattr(IfcDocumentStatusEnum, 'FINALDRAFT', INDETERMINATE) -final = express_getattr(IfcDocumentStatusEnum, 'FINAL', INDETERMINATE) -revision = express_getattr(IfcDocumentStatusEnum, 'REVISION', INDETERMINATE) -notdefined = express_getattr(IfcDocumentStatusEnum, 'NOTDEFINED', INDETERMINATE) +draft = IfcDocumentStatusEnum.DRAFT +finaldraft = IfcDocumentStatusEnum.FINALDRAFT +final = IfcDocumentStatusEnum.FINAL +revision = IfcDocumentStatusEnum.REVISION +notdefined = IfcDocumentStatusEnum.NOTDEFINED IfcDoorPanelOperationEnum = enum_namespace() -swinging = express_getattr(IfcDoorPanelOperationEnum, 'SWINGING', INDETERMINATE) -double_acting = express_getattr(IfcDoorPanelOperationEnum, 'DOUBLE_ACTING', INDETERMINATE) -sliding = express_getattr(IfcDoorPanelOperationEnum, 'SLIDING', INDETERMINATE) -folding = express_getattr(IfcDoorPanelOperationEnum, 'FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorPanelOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorPanelOperationEnum, 'ROLLINGUP', INDETERMINATE) -fixedpanel = express_getattr(IfcDoorPanelOperationEnum, 'FIXEDPANEL', INDETERMINATE) -userdefined = express_getattr(IfcDoorPanelOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +swinging = IfcDoorPanelOperationEnum.SWINGING +double_acting = IfcDoorPanelOperationEnum.DOUBLE_ACTING +sliding = IfcDoorPanelOperationEnum.SLIDING +folding = IfcDoorPanelOperationEnum.FOLDING +revolving = IfcDoorPanelOperationEnum.REVOLVING +rollingup = IfcDoorPanelOperationEnum.ROLLINGUP +fixedpanel = IfcDoorPanelOperationEnum.FIXEDPANEL +userdefined = IfcDoorPanelOperationEnum.USERDEFINED +notdefined = IfcDoorPanelOperationEnum.NOTDEFINED IfcDoorPanelPositionEnum = enum_namespace() -left = express_getattr(IfcDoorPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcDoorPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcDoorPanelPositionEnum, 'RIGHT', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcDoorPanelPositionEnum.LEFT +middle = IfcDoorPanelPositionEnum.MIDDLE +right = IfcDoorPanelPositionEnum.RIGHT +notdefined = IfcDoorPanelPositionEnum.NOTDEFINED IfcDoorStyleConstructionEnum = enum_namespace() -aluminium = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM', INDETERMINATE) -high_grade_steel = express_getattr(IfcDoorStyleConstructionEnum, 'HIGH_GRADE_STEEL', INDETERMINATE) -steel = express_getattr(IfcDoorStyleConstructionEnum, 'STEEL', INDETERMINATE) -wood = express_getattr(IfcDoorStyleConstructionEnum, 'WOOD', INDETERMINATE) -aluminium_wood = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM_WOOD', INDETERMINATE) -aluminium_plastic = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM_PLASTIC', INDETERMINATE) -plastic = express_getattr(IfcDoorStyleConstructionEnum, 'PLASTIC', INDETERMINATE) -userdefined = express_getattr(IfcDoorStyleConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorStyleConstructionEnum, 'NOTDEFINED', INDETERMINATE) +aluminium = IfcDoorStyleConstructionEnum.ALUMINIUM +high_grade_steel = IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL +steel = IfcDoorStyleConstructionEnum.STEEL +wood = IfcDoorStyleConstructionEnum.WOOD +aluminium_wood = IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD +aluminium_plastic = IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC +plastic = IfcDoorStyleConstructionEnum.PLASTIC +userdefined = IfcDoorStyleConstructionEnum.USERDEFINED +notdefined = IfcDoorStyleConstructionEnum.NOTDEFINED IfcDoorStyleOperationEnum = enum_namespace() -single_swing_left = express_getattr(IfcDoorStyleOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorStyleOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -double_door_single_swing = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING', INDETERMINATE) -double_door_single_swing_opposite_left = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_door_single_swing_opposite_right = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -double_door_double_swing = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_DOUBLE_SWING', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorStyleOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorStyleOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -double_door_sliding = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SLIDING', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorStyleOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorStyleOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -double_door_folding = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorStyleOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorStyleOperationEnum, 'ROLLINGUP', INDETERMINATE) -userdefined = express_getattr(IfcDoorStyleOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorStyleOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_swing_left = IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT +double_door_single_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING +double_door_single_swing_opposite_left = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT +double_door_single_swing_opposite_right = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT +double_swing_left = IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT +double_door_double_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING +sliding_to_left = IfcDoorStyleOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT +double_door_sliding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING +folding_to_left = IfcDoorStyleOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT +double_door_folding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING +revolving = IfcDoorStyleOperationEnum.REVOLVING +rollingup = IfcDoorStyleOperationEnum.ROLLINGUP +userdefined = IfcDoorStyleOperationEnum.USERDEFINED +notdefined = IfcDoorStyleOperationEnum.NOTDEFINED IfcDoorTypeEnum = enum_namespace() -door = express_getattr(IfcDoorTypeEnum, 'DOOR', INDETERMINATE) -gate = express_getattr(IfcDoorTypeEnum, 'GATE', INDETERMINATE) -trapdoor = express_getattr(IfcDoorTypeEnum, 'TRAPDOOR', INDETERMINATE) -boom_barrier = express_getattr(IfcDoorTypeEnum, 'BOOM_BARRIER', INDETERMINATE) -turnstile = express_getattr(IfcDoorTypeEnum, 'TURNSTILE', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeEnum, 'NOTDEFINED', INDETERMINATE) +door = IfcDoorTypeEnum.DOOR +gate = IfcDoorTypeEnum.GATE +trapdoor = IfcDoorTypeEnum.TRAPDOOR +boom_barrier = IfcDoorTypeEnum.BOOM_BARRIER +turnstile = IfcDoorTypeEnum.TURNSTILE +userdefined = IfcDoorTypeEnum.USERDEFINED +notdefined = IfcDoorTypeEnum.NOTDEFINED IfcDoorTypeOperationEnum = enum_namespace() -single_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -double_door_single_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING', INDETERMINATE) -double_door_single_swing_opposite_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_door_single_swing_opposite_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -double_door_double_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_DOUBLE_SWING', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -double_door_sliding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SLIDING', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -double_door_folding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorTypeOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorTypeOperationEnum, 'ROLLINGUP', INDETERMINATE) -swing_fixed_left = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_LEFT', INDETERMINATE) -swing_fixed_right = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_RIGHT', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_swing_left = IfcDoorTypeOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorTypeOperationEnum.SINGLE_SWING_RIGHT +double_door_single_swing = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING +double_door_single_swing_opposite_left = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT +double_door_single_swing_opposite_right = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT +double_swing_left = IfcDoorTypeOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorTypeOperationEnum.DOUBLE_SWING_RIGHT +double_door_double_swing = IfcDoorTypeOperationEnum.DOUBLE_DOOR_DOUBLE_SWING +sliding_to_left = IfcDoorTypeOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorTypeOperationEnum.SLIDING_TO_RIGHT +double_door_sliding = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SLIDING +folding_to_left = IfcDoorTypeOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorTypeOperationEnum.FOLDING_TO_RIGHT +double_door_folding = IfcDoorTypeOperationEnum.DOUBLE_DOOR_FOLDING +revolving = IfcDoorTypeOperationEnum.REVOLVING +rollingup = IfcDoorTypeOperationEnum.ROLLINGUP +swing_fixed_left = IfcDoorTypeOperationEnum.SWING_FIXED_LEFT +swing_fixed_right = IfcDoorTypeOperationEnum.SWING_FIXED_RIGHT +userdefined = IfcDoorTypeOperationEnum.USERDEFINED +notdefined = IfcDoorTypeOperationEnum.NOTDEFINED IfcDuctFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcDuctFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcDuctFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcDuctFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcDuctFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcDuctFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcDuctFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcDuctFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcDuctFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcDuctFittingTypeEnum.BEND +connector = IfcDuctFittingTypeEnum.CONNECTOR +entry = IfcDuctFittingTypeEnum.ENTRY +exit = IfcDuctFittingTypeEnum.EXIT +junction = IfcDuctFittingTypeEnum.JUNCTION +obstruction = IfcDuctFittingTypeEnum.OBSTRUCTION +transition = IfcDuctFittingTypeEnum.TRANSITION +userdefined = IfcDuctFittingTypeEnum.USERDEFINED +notdefined = IfcDuctFittingTypeEnum.NOTDEFINED IfcDuctSegmentTypeEnum = enum_namespace() -rigidsegment = express_getattr(IfcDuctSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -flexiblesegment = express_getattr(IfcDuctSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcDuctSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +rigidsegment = IfcDuctSegmentTypeEnum.RIGIDSEGMENT +flexiblesegment = IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT +userdefined = IfcDuctSegmentTypeEnum.USERDEFINED +notdefined = IfcDuctSegmentTypeEnum.NOTDEFINED IfcDuctSilencerTypeEnum = enum_namespace() -flatoval = express_getattr(IfcDuctSilencerTypeEnum, 'FLATOVAL', INDETERMINATE) -rectangular = express_getattr(IfcDuctSilencerTypeEnum, 'RECTANGULAR', INDETERMINATE) -round = express_getattr(IfcDuctSilencerTypeEnum, 'ROUND', INDETERMINATE) -userdefined = express_getattr(IfcDuctSilencerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSilencerTypeEnum, 'NOTDEFINED', INDETERMINATE) +flatoval = IfcDuctSilencerTypeEnum.FLATOVAL +rectangular = IfcDuctSilencerTypeEnum.RECTANGULAR +round = IfcDuctSilencerTypeEnum.ROUND +userdefined = IfcDuctSilencerTypeEnum.USERDEFINED +notdefined = IfcDuctSilencerTypeEnum.NOTDEFINED IfcEarthworksCutTypeEnum = enum_namespace() -trench = express_getattr(IfcEarthworksCutTypeEnum, 'TRENCH', INDETERMINATE) -dredging = express_getattr(IfcEarthworksCutTypeEnum, 'DREDGING', INDETERMINATE) -excavation = express_getattr(IfcEarthworksCutTypeEnum, 'EXCAVATION', INDETERMINATE) -overexcavation = express_getattr(IfcEarthworksCutTypeEnum, 'OVEREXCAVATION', INDETERMINATE) -topsoilremoval = express_getattr(IfcEarthworksCutTypeEnum, 'TOPSOILREMOVAL', INDETERMINATE) -stepexcavation = express_getattr(IfcEarthworksCutTypeEnum, 'STEPEXCAVATION', INDETERMINATE) -pavementmilling = express_getattr(IfcEarthworksCutTypeEnum, 'PAVEMENTMILLING', INDETERMINATE) -cut = express_getattr(IfcEarthworksCutTypeEnum, 'CUT', INDETERMINATE) -base_excavation = express_getattr(IfcEarthworksCutTypeEnum, 'BASE_EXCAVATION', INDETERMINATE) -userdefined = express_getattr(IfcEarthworksCutTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEarthworksCutTypeEnum, 'NOTDEFINED', INDETERMINATE) +trench = IfcEarthworksCutTypeEnum.TRENCH +dredging = IfcEarthworksCutTypeEnum.DREDGING +excavation = IfcEarthworksCutTypeEnum.EXCAVATION +overexcavation = IfcEarthworksCutTypeEnum.OVEREXCAVATION +topsoilremoval = IfcEarthworksCutTypeEnum.TOPSOILREMOVAL +stepexcavation = IfcEarthworksCutTypeEnum.STEPEXCAVATION +pavementmilling = IfcEarthworksCutTypeEnum.PAVEMENTMILLING +cut = IfcEarthworksCutTypeEnum.CUT +base_excavation = IfcEarthworksCutTypeEnum.BASE_EXCAVATION +userdefined = IfcEarthworksCutTypeEnum.USERDEFINED +notdefined = IfcEarthworksCutTypeEnum.NOTDEFINED IfcEarthworksFillTypeEnum = enum_namespace() -backfill = express_getattr(IfcEarthworksFillTypeEnum, 'BACKFILL', INDETERMINATE) -counterweight = express_getattr(IfcEarthworksFillTypeEnum, 'COUNTERWEIGHT', INDETERMINATE) -subgrade = express_getattr(IfcEarthworksFillTypeEnum, 'SUBGRADE', INDETERMINATE) -embankment = express_getattr(IfcEarthworksFillTypeEnum, 'EMBANKMENT', INDETERMINATE) -transitionsection = express_getattr(IfcEarthworksFillTypeEnum, 'TRANSITIONSECTION', INDETERMINATE) -subgradebed = express_getattr(IfcEarthworksFillTypeEnum, 'SUBGRADEBED', INDETERMINATE) -slopefill = express_getattr(IfcEarthworksFillTypeEnum, 'SLOPEFILL', INDETERMINATE) -userdefined = express_getattr(IfcEarthworksFillTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEarthworksFillTypeEnum, 'NOTDEFINED', INDETERMINATE) +backfill = IfcEarthworksFillTypeEnum.BACKFILL +counterweight = IfcEarthworksFillTypeEnum.COUNTERWEIGHT +subgrade = IfcEarthworksFillTypeEnum.SUBGRADE +embankment = IfcEarthworksFillTypeEnum.EMBANKMENT +transitionsection = IfcEarthworksFillTypeEnum.TRANSITIONSECTION +subgradebed = IfcEarthworksFillTypeEnum.SUBGRADEBED +slopefill = IfcEarthworksFillTypeEnum.SLOPEFILL +userdefined = IfcEarthworksFillTypeEnum.USERDEFINED +notdefined = IfcEarthworksFillTypeEnum.NOTDEFINED IfcElectricApplianceTypeEnum = enum_namespace() -dishwasher = express_getattr(IfcElectricApplianceTypeEnum, 'DISHWASHER', INDETERMINATE) -electriccooker = express_getattr(IfcElectricApplianceTypeEnum, 'ELECTRICCOOKER', INDETERMINATE) -freestandingelectricheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGELECTRICHEATER', INDETERMINATE) -freestandingfan = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGFAN', INDETERMINATE) -freestandingwaterheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERHEATER', INDETERMINATE) -freestandingwatercooler = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERCOOLER', INDETERMINATE) -freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FREEZER', INDETERMINATE) -fridge_freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FRIDGE_FREEZER', INDETERMINATE) -handdryer = express_getattr(IfcElectricApplianceTypeEnum, 'HANDDRYER', INDETERMINATE) -kitchenmachine = express_getattr(IfcElectricApplianceTypeEnum, 'KITCHENMACHINE', INDETERMINATE) -microwave = express_getattr(IfcElectricApplianceTypeEnum, 'MICROWAVE', INDETERMINATE) -photocopier = express_getattr(IfcElectricApplianceTypeEnum, 'PHOTOCOPIER', INDETERMINATE) -refrigerator = express_getattr(IfcElectricApplianceTypeEnum, 'REFRIGERATOR', INDETERMINATE) -tumbledryer = express_getattr(IfcElectricApplianceTypeEnum, 'TUMBLEDRYER', INDETERMINATE) -vendingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'VENDINGMACHINE', INDETERMINATE) -washingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'WASHINGMACHINE', INDETERMINATE) -userdefined = express_getattr(IfcElectricApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +dishwasher = IfcElectricApplianceTypeEnum.DISHWASHER +electriccooker = IfcElectricApplianceTypeEnum.ELECTRICCOOKER +freestandingelectricheater = IfcElectricApplianceTypeEnum.FREESTANDINGELECTRICHEATER +freestandingfan = IfcElectricApplianceTypeEnum.FREESTANDINGFAN +freestandingwaterheater = IfcElectricApplianceTypeEnum.FREESTANDINGWATERHEATER +freestandingwatercooler = IfcElectricApplianceTypeEnum.FREESTANDINGWATERCOOLER +freezer = IfcElectricApplianceTypeEnum.FREEZER +fridge_freezer = IfcElectricApplianceTypeEnum.FRIDGE_FREEZER +handdryer = IfcElectricApplianceTypeEnum.HANDDRYER +kitchenmachine = IfcElectricApplianceTypeEnum.KITCHENMACHINE +microwave = IfcElectricApplianceTypeEnum.MICROWAVE +photocopier = IfcElectricApplianceTypeEnum.PHOTOCOPIER +refrigerator = IfcElectricApplianceTypeEnum.REFRIGERATOR +tumbledryer = IfcElectricApplianceTypeEnum.TUMBLEDRYER +vendingmachine = IfcElectricApplianceTypeEnum.VENDINGMACHINE +washingmachine = IfcElectricApplianceTypeEnum.WASHINGMACHINE +userdefined = IfcElectricApplianceTypeEnum.USERDEFINED +notdefined = IfcElectricApplianceTypeEnum.NOTDEFINED IfcElectricDistributionBoardTypeEnum = enum_namespace() -consumerunit = express_getattr(IfcElectricDistributionBoardTypeEnum, 'CONSUMERUNIT', INDETERMINATE) -distributionboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcElectricDistributionBoardTypeEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -switchboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'SWITCHBOARD', INDETERMINATE) -userdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'NOTDEFINED', INDETERMINATE) +consumerunit = IfcElectricDistributionBoardTypeEnum.CONSUMERUNIT +distributionboard = IfcElectricDistributionBoardTypeEnum.DISTRIBUTIONBOARD +motorcontrolcentre = IfcElectricDistributionBoardTypeEnum.MOTORCONTROLCENTRE +switchboard = IfcElectricDistributionBoardTypeEnum.SWITCHBOARD +userdefined = IfcElectricDistributionBoardTypeEnum.USERDEFINED +notdefined = IfcElectricDistributionBoardTypeEnum.NOTDEFINED IfcElectricFlowStorageDeviceTypeEnum = enum_namespace() -battery = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'BATTERY', INDETERMINATE) -capacitorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITORBANK', INDETERMINATE) -harmonicfilter = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'HARMONICFILTER', INDETERMINATE) -inductorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTORBANK', INDETERMINATE) -ups = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'UPS', INDETERMINATE) -capacitor = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITOR', INDETERMINATE) -compensator = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'COMPENSATOR', INDETERMINATE) -inductor = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTOR', INDETERMINATE) -recharger = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'RECHARGER', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +battery = IfcElectricFlowStorageDeviceTypeEnum.BATTERY +capacitorbank = IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK +harmonicfilter = IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER +inductorbank = IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK +ups = IfcElectricFlowStorageDeviceTypeEnum.UPS +capacitor = IfcElectricFlowStorageDeviceTypeEnum.CAPACITOR +compensator = IfcElectricFlowStorageDeviceTypeEnum.COMPENSATOR +inductor = IfcElectricFlowStorageDeviceTypeEnum.INDUCTOR +recharger = IfcElectricFlowStorageDeviceTypeEnum.RECHARGER +userdefined = IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED IfcElectricFlowTreatmentDeviceTypeEnum = enum_namespace() -electronicfilter = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'ELECTRONICFILTER', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +electronicfilter = IfcElectricFlowTreatmentDeviceTypeEnum.ELECTRONICFILTER +userdefined = IfcElectricFlowTreatmentDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowTreatmentDeviceTypeEnum.NOTDEFINED IfcElectricGeneratorTypeEnum = enum_namespace() -chp = express_getattr(IfcElectricGeneratorTypeEnum, 'CHP', INDETERMINATE) -enginegenerator = express_getattr(IfcElectricGeneratorTypeEnum, 'ENGINEGENERATOR', INDETERMINATE) -standalone = express_getattr(IfcElectricGeneratorTypeEnum, 'STANDALONE', INDETERMINATE) -userdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'NOTDEFINED', INDETERMINATE) +chp = IfcElectricGeneratorTypeEnum.CHP +enginegenerator = IfcElectricGeneratorTypeEnum.ENGINEGENERATOR +standalone = IfcElectricGeneratorTypeEnum.STANDALONE +userdefined = IfcElectricGeneratorTypeEnum.USERDEFINED +notdefined = IfcElectricGeneratorTypeEnum.NOTDEFINED IfcElectricMotorTypeEnum = enum_namespace() -dc = express_getattr(IfcElectricMotorTypeEnum, 'DC', INDETERMINATE) -induction = express_getattr(IfcElectricMotorTypeEnum, 'INDUCTION', INDETERMINATE) -polyphase = express_getattr(IfcElectricMotorTypeEnum, 'POLYPHASE', INDETERMINATE) -reluctancesynchronous = express_getattr(IfcElectricMotorTypeEnum, 'RELUCTANCESYNCHRONOUS', INDETERMINATE) -synchronous = express_getattr(IfcElectricMotorTypeEnum, 'SYNCHRONOUS', INDETERMINATE) -userdefined = express_getattr(IfcElectricMotorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricMotorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dc = IfcElectricMotorTypeEnum.DC +induction = IfcElectricMotorTypeEnum.INDUCTION +polyphase = IfcElectricMotorTypeEnum.POLYPHASE +reluctancesynchronous = IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS +synchronous = IfcElectricMotorTypeEnum.SYNCHRONOUS +userdefined = IfcElectricMotorTypeEnum.USERDEFINED +notdefined = IfcElectricMotorTypeEnum.NOTDEFINED IfcElectricTimeControlTypeEnum = enum_namespace() -timeclock = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMECLOCK', INDETERMINATE) -timedelay = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMEDELAY', INDETERMINATE) -relay = express_getattr(IfcElectricTimeControlTypeEnum, 'RELAY', INDETERMINATE) -userdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'NOTDEFINED', INDETERMINATE) +timeclock = IfcElectricTimeControlTypeEnum.TIMECLOCK +timedelay = IfcElectricTimeControlTypeEnum.TIMEDELAY +relay = IfcElectricTimeControlTypeEnum.RELAY +userdefined = IfcElectricTimeControlTypeEnum.USERDEFINED +notdefined = IfcElectricTimeControlTypeEnum.NOTDEFINED IfcElementAssemblyTypeEnum = enum_namespace() -accessory_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'ACCESSORY_ASSEMBLY', INDETERMINATE) -arch = express_getattr(IfcElementAssemblyTypeEnum, 'ARCH', INDETERMINATE) -beam_grid = express_getattr(IfcElementAssemblyTypeEnum, 'BEAM_GRID', INDETERMINATE) -braced_frame = express_getattr(IfcElementAssemblyTypeEnum, 'BRACED_FRAME', INDETERMINATE) -girder = express_getattr(IfcElementAssemblyTypeEnum, 'GIRDER', INDETERMINATE) -reinforcement_unit = express_getattr(IfcElementAssemblyTypeEnum, 'REINFORCEMENT_UNIT', INDETERMINATE) -rigid_frame = express_getattr(IfcElementAssemblyTypeEnum, 'RIGID_FRAME', INDETERMINATE) -slab_field = express_getattr(IfcElementAssemblyTypeEnum, 'SLAB_FIELD', INDETERMINATE) -truss = express_getattr(IfcElementAssemblyTypeEnum, 'TRUSS', INDETERMINATE) -abutment = express_getattr(IfcElementAssemblyTypeEnum, 'ABUTMENT', INDETERMINATE) -pier = express_getattr(IfcElementAssemblyTypeEnum, 'PIER', INDETERMINATE) -pylon = express_getattr(IfcElementAssemblyTypeEnum, 'PYLON', INDETERMINATE) -cross_bracing = express_getattr(IfcElementAssemblyTypeEnum, 'CROSS_BRACING', INDETERMINATE) -deck = express_getattr(IfcElementAssemblyTypeEnum, 'DECK', INDETERMINATE) -mast = express_getattr(IfcElementAssemblyTypeEnum, 'MAST', INDETERMINATE) -signalassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SIGNALASSEMBLY', INDETERMINATE) -grid = express_getattr(IfcElementAssemblyTypeEnum, 'GRID', INDETERMINATE) -shelter = express_getattr(IfcElementAssemblyTypeEnum, 'SHELTER', INDETERMINATE) -supportingassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SUPPORTINGASSEMBLY', INDETERMINATE) -suspensionassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SUSPENSIONASSEMBLY', INDETERMINATE) -traction_switching_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'TRACTION_SWITCHING_ASSEMBLY', INDETERMINATE) -trackpanel = express_getattr(IfcElementAssemblyTypeEnum, 'TRACKPANEL', INDETERMINATE) -turnoutpanel = express_getattr(IfcElementAssemblyTypeEnum, 'TURNOUTPANEL', INDETERMINATE) -dilatationpanel = express_getattr(IfcElementAssemblyTypeEnum, 'DILATATIONPANEL', INDETERMINATE) -rail_mechanical_equipment_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY', INDETERMINATE) -entranceworks = express_getattr(IfcElementAssemblyTypeEnum, 'ENTRANCEWORKS', INDETERMINATE) -sumpbuster = express_getattr(IfcElementAssemblyTypeEnum, 'SUMPBUSTER', INDETERMINATE) -traffic_calming_device = express_getattr(IfcElementAssemblyTypeEnum, 'TRAFFIC_CALMING_DEVICE', INDETERMINATE) -userdefined = express_getattr(IfcElementAssemblyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElementAssemblyTypeEnum, 'NOTDEFINED', INDETERMINATE) +accessory_assembly = IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY +arch = IfcElementAssemblyTypeEnum.ARCH +beam_grid = IfcElementAssemblyTypeEnum.BEAM_GRID +braced_frame = IfcElementAssemblyTypeEnum.BRACED_FRAME +girder = IfcElementAssemblyTypeEnum.GIRDER +reinforcement_unit = IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT +rigid_frame = IfcElementAssemblyTypeEnum.RIGID_FRAME +slab_field = IfcElementAssemblyTypeEnum.SLAB_FIELD +truss = IfcElementAssemblyTypeEnum.TRUSS +abutment = IfcElementAssemblyTypeEnum.ABUTMENT +pier = IfcElementAssemblyTypeEnum.PIER +pylon = IfcElementAssemblyTypeEnum.PYLON +cross_bracing = IfcElementAssemblyTypeEnum.CROSS_BRACING +deck = IfcElementAssemblyTypeEnum.DECK +mast = IfcElementAssemblyTypeEnum.MAST +signalassembly = IfcElementAssemblyTypeEnum.SIGNALASSEMBLY +grid = IfcElementAssemblyTypeEnum.GRID +shelter = IfcElementAssemblyTypeEnum.SHELTER +supportingassembly = IfcElementAssemblyTypeEnum.SUPPORTINGASSEMBLY +suspensionassembly = IfcElementAssemblyTypeEnum.SUSPENSIONASSEMBLY +traction_switching_assembly = IfcElementAssemblyTypeEnum.TRACTION_SWITCHING_ASSEMBLY +trackpanel = IfcElementAssemblyTypeEnum.TRACKPANEL +turnoutpanel = IfcElementAssemblyTypeEnum.TURNOUTPANEL +dilatationpanel = IfcElementAssemblyTypeEnum.DILATATIONPANEL +rail_mechanical_equipment_assembly = IfcElementAssemblyTypeEnum.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY +entranceworks = IfcElementAssemblyTypeEnum.ENTRANCEWORKS +sumpbuster = IfcElementAssemblyTypeEnum.SUMPBUSTER +traffic_calming_device = IfcElementAssemblyTypeEnum.TRAFFIC_CALMING_DEVICE +userdefined = IfcElementAssemblyTypeEnum.USERDEFINED +notdefined = IfcElementAssemblyTypeEnum.NOTDEFINED IfcElementCompositionEnum = enum_namespace() -complex = express_getattr(IfcElementCompositionEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcElementCompositionEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcElementCompositionEnum, 'PARTIAL', INDETERMINATE) +complex = IfcElementCompositionEnum.COMPLEX +element = IfcElementCompositionEnum.ELEMENT +partial = IfcElementCompositionEnum.PARTIAL IfcEngineTypeEnum = enum_namespace() -externalcombustion = express_getattr(IfcEngineTypeEnum, 'EXTERNALCOMBUSTION', INDETERMINATE) -internalcombustion = express_getattr(IfcEngineTypeEnum, 'INTERNALCOMBUSTION', INDETERMINATE) -userdefined = express_getattr(IfcEngineTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEngineTypeEnum, 'NOTDEFINED', INDETERMINATE) +externalcombustion = IfcEngineTypeEnum.EXTERNALCOMBUSTION +internalcombustion = IfcEngineTypeEnum.INTERNALCOMBUSTION +userdefined = IfcEngineTypeEnum.USERDEFINED +notdefined = IfcEngineTypeEnum.NOTDEFINED IfcEvaporativeCoolerTypeEnum = enum_namespace() -directevaporativerandommediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER', INDETERMINATE) -directevaporativerigidmediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER', INDETERMINATE) -directevaporativeslingerspackagedaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER', INDETERMINATE) -directevaporativepackagedrotaryaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER', INDETERMINATE) -directevaporativeairwasher = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEAIRWASHER', INDETERMINATE) -indirectevaporativepackageaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEPACKAGEAIRCOOLER', INDETERMINATE) -indirectevaporativewetcoil = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEWETCOIL', INDETERMINATE) -indirectevaporativecoolingtowerorcoilcooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER', INDETERMINATE) -indirectdirectcombination = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTDIRECTCOMBINATION', INDETERMINATE) -userdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'NOTDEFINED', INDETERMINATE) +directevaporativerandommediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER +directevaporativerigidmediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER +directevaporativeslingerspackagedaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER +directevaporativepackagedrotaryaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER +directevaporativeairwasher = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER +indirectevaporativepackageaircooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER +indirectevaporativewetcoil = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL +indirectevaporativecoolingtowerorcoilcooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER +indirectdirectcombination = IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION +userdefined = IfcEvaporativeCoolerTypeEnum.USERDEFINED +notdefined = IfcEvaporativeCoolerTypeEnum.NOTDEFINED IfcEvaporatorTypeEnum = enum_namespace() -directexpansion = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSION', INDETERMINATE) -directexpansionshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONSHELLANDTUBE', INDETERMINATE) -directexpansiontubeintube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONTUBEINTUBE', INDETERMINATE) -directexpansionbrazedplate = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONBRAZEDPLATE', INDETERMINATE) -floodedshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'FLOODEDSHELLANDTUBE', INDETERMINATE) -shellandcoil = express_getattr(IfcEvaporatorTypeEnum, 'SHELLANDCOIL', INDETERMINATE) -userdefined = express_getattr(IfcEvaporatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +directexpansion = IfcEvaporatorTypeEnum.DIRECTEXPANSION +directexpansionshellandtube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE +directexpansiontubeintube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE +directexpansionbrazedplate = IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE +floodedshellandtube = IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE +shellandcoil = IfcEvaporatorTypeEnum.SHELLANDCOIL +userdefined = IfcEvaporatorTypeEnum.USERDEFINED +notdefined = IfcEvaporatorTypeEnum.NOTDEFINED IfcEventTriggerTypeEnum = enum_namespace() -eventrule = express_getattr(IfcEventTriggerTypeEnum, 'EVENTRULE', INDETERMINATE) -eventmessage = express_getattr(IfcEventTriggerTypeEnum, 'EVENTMESSAGE', INDETERMINATE) -eventtime = express_getattr(IfcEventTriggerTypeEnum, 'EVENTTIME', INDETERMINATE) -eventcomplex = express_getattr(IfcEventTriggerTypeEnum, 'EVENTCOMPLEX', INDETERMINATE) -userdefined = express_getattr(IfcEventTriggerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTriggerTypeEnum, 'NOTDEFINED', INDETERMINATE) +eventrule = IfcEventTriggerTypeEnum.EVENTRULE +eventmessage = IfcEventTriggerTypeEnum.EVENTMESSAGE +eventtime = IfcEventTriggerTypeEnum.EVENTTIME +eventcomplex = IfcEventTriggerTypeEnum.EVENTCOMPLEX +userdefined = IfcEventTriggerTypeEnum.USERDEFINED +notdefined = IfcEventTriggerTypeEnum.NOTDEFINED IfcEventTypeEnum = enum_namespace() -startevent = express_getattr(IfcEventTypeEnum, 'STARTEVENT', INDETERMINATE) -endevent = express_getattr(IfcEventTypeEnum, 'ENDEVENT', INDETERMINATE) -intermediateevent = express_getattr(IfcEventTypeEnum, 'INTERMEDIATEEVENT', INDETERMINATE) -userdefined = express_getattr(IfcEventTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTypeEnum, 'NOTDEFINED', INDETERMINATE) +startevent = IfcEventTypeEnum.STARTEVENT +endevent = IfcEventTypeEnum.ENDEVENT +intermediateevent = IfcEventTypeEnum.INTERMEDIATEEVENT +userdefined = IfcEventTypeEnum.USERDEFINED +notdefined = IfcEventTypeEnum.NOTDEFINED IfcExternalSpatialElementTypeEnum = enum_namespace() -external = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_water = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_WATER', INDETERMINATE) -external_fire = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_FIRE', INDETERMINATE) -userdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +external = IfcExternalSpatialElementTypeEnum.EXTERNAL +external_earth = IfcExternalSpatialElementTypeEnum.EXTERNAL_EARTH +external_water = IfcExternalSpatialElementTypeEnum.EXTERNAL_WATER +external_fire = IfcExternalSpatialElementTypeEnum.EXTERNAL_FIRE +userdefined = IfcExternalSpatialElementTypeEnum.USERDEFINED +notdefined = IfcExternalSpatialElementTypeEnum.NOTDEFINED IfcFacilityPartCommonTypeEnum = enum_namespace() -segment = express_getattr(IfcFacilityPartCommonTypeEnum, 'SEGMENT', INDETERMINATE) -aboveground = express_getattr(IfcFacilityPartCommonTypeEnum, 'ABOVEGROUND', INDETERMINATE) -junction = express_getattr(IfcFacilityPartCommonTypeEnum, 'JUNCTION', INDETERMINATE) -levelcrossing = express_getattr(IfcFacilityPartCommonTypeEnum, 'LEVELCROSSING', INDETERMINATE) -belowground = express_getattr(IfcFacilityPartCommonTypeEnum, 'BELOWGROUND', INDETERMINATE) -substructure = express_getattr(IfcFacilityPartCommonTypeEnum, 'SUBSTRUCTURE', INDETERMINATE) -terminal = express_getattr(IfcFacilityPartCommonTypeEnum, 'TERMINAL', INDETERMINATE) -superstructure = express_getattr(IfcFacilityPartCommonTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcFacilityPartCommonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFacilityPartCommonTypeEnum, 'NOTDEFINED', INDETERMINATE) +segment = IfcFacilityPartCommonTypeEnum.SEGMENT +aboveground = IfcFacilityPartCommonTypeEnum.ABOVEGROUND +junction = IfcFacilityPartCommonTypeEnum.JUNCTION +levelcrossing = IfcFacilityPartCommonTypeEnum.LEVELCROSSING +belowground = IfcFacilityPartCommonTypeEnum.BELOWGROUND +substructure = IfcFacilityPartCommonTypeEnum.SUBSTRUCTURE +terminal = IfcFacilityPartCommonTypeEnum.TERMINAL +superstructure = IfcFacilityPartCommonTypeEnum.SUPERSTRUCTURE +userdefined = IfcFacilityPartCommonTypeEnum.USERDEFINED +notdefined = IfcFacilityPartCommonTypeEnum.NOTDEFINED IfcFacilityUsageEnum = enum_namespace() -lateral = express_getattr(IfcFacilityUsageEnum, 'LATERAL', INDETERMINATE) -region = express_getattr(IfcFacilityUsageEnum, 'REGION', INDETERMINATE) -vertical = express_getattr(IfcFacilityUsageEnum, 'VERTICAL', INDETERMINATE) -longitudinal = express_getattr(IfcFacilityUsageEnum, 'LONGITUDINAL', INDETERMINATE) -userdefined = express_getattr(IfcFacilityUsageEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFacilityUsageEnum, 'NOTDEFINED', INDETERMINATE) +lateral = IfcFacilityUsageEnum.LATERAL +region = IfcFacilityUsageEnum.REGION +vertical = IfcFacilityUsageEnum.VERTICAL +longitudinal = IfcFacilityUsageEnum.LONGITUDINAL +userdefined = IfcFacilityUsageEnum.USERDEFINED +notdefined = IfcFacilityUsageEnum.NOTDEFINED IfcFanTypeEnum = enum_namespace() -centrifugalforwardcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALFORWARDCURVED', INDETERMINATE) -centrifugalradial = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALRADIAL', INDETERMINATE) -centrifugalbackwardinclinedcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALBACKWARDINCLINEDCURVED', INDETERMINATE) -centrifugalairfoil = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALAIRFOIL', INDETERMINATE) -tubeaxial = express_getattr(IfcFanTypeEnum, 'TUBEAXIAL', INDETERMINATE) -vaneaxial = express_getattr(IfcFanTypeEnum, 'VANEAXIAL', INDETERMINATE) -propelloraxial = express_getattr(IfcFanTypeEnum, 'PROPELLORAXIAL', INDETERMINATE) -userdefined = express_getattr(IfcFanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFanTypeEnum, 'NOTDEFINED', INDETERMINATE) +centrifugalforwardcurved = IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED +centrifugalradial = IfcFanTypeEnum.CENTRIFUGALRADIAL +centrifugalbackwardinclinedcurved = IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED +centrifugalairfoil = IfcFanTypeEnum.CENTRIFUGALAIRFOIL +tubeaxial = IfcFanTypeEnum.TUBEAXIAL +vaneaxial = IfcFanTypeEnum.VANEAXIAL +propelloraxial = IfcFanTypeEnum.PROPELLORAXIAL +userdefined = IfcFanTypeEnum.USERDEFINED +notdefined = IfcFanTypeEnum.NOTDEFINED IfcFastenerTypeEnum = enum_namespace() -glue = express_getattr(IfcFastenerTypeEnum, 'GLUE', INDETERMINATE) -mortar = express_getattr(IfcFastenerTypeEnum, 'MORTAR', INDETERMINATE) -weld = express_getattr(IfcFastenerTypeEnum, 'WELD', INDETERMINATE) -userdefined = express_getattr(IfcFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +glue = IfcFastenerTypeEnum.GLUE +mortar = IfcFastenerTypeEnum.MORTAR +weld = IfcFastenerTypeEnum.WELD +userdefined = IfcFastenerTypeEnum.USERDEFINED +notdefined = IfcFastenerTypeEnum.NOTDEFINED IfcFilterTypeEnum = enum_namespace() -airparticlefilter = express_getattr(IfcFilterTypeEnum, 'AIRPARTICLEFILTER', INDETERMINATE) -compressedairfilter = express_getattr(IfcFilterTypeEnum, 'COMPRESSEDAIRFILTER', INDETERMINATE) -odorfilter = express_getattr(IfcFilterTypeEnum, 'ODORFILTER', INDETERMINATE) -oilfilter = express_getattr(IfcFilterTypeEnum, 'OILFILTER', INDETERMINATE) -strainer = express_getattr(IfcFilterTypeEnum, 'STRAINER', INDETERMINATE) -waterfilter = express_getattr(IfcFilterTypeEnum, 'WATERFILTER', INDETERMINATE) -userdefined = express_getattr(IfcFilterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFilterTypeEnum, 'NOTDEFINED', INDETERMINATE) +airparticlefilter = IfcFilterTypeEnum.AIRPARTICLEFILTER +compressedairfilter = IfcFilterTypeEnum.COMPRESSEDAIRFILTER +odorfilter = IfcFilterTypeEnum.ODORFILTER +oilfilter = IfcFilterTypeEnum.OILFILTER +strainer = IfcFilterTypeEnum.STRAINER +waterfilter = IfcFilterTypeEnum.WATERFILTER +userdefined = IfcFilterTypeEnum.USERDEFINED +notdefined = IfcFilterTypeEnum.NOTDEFINED IfcFireSuppressionTerminalTypeEnum = enum_namespace() -breechinginlet = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'BREECHINGINLET', INDETERMINATE) -firehydrant = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'FIREHYDRANT', INDETERMINATE) -hosereel = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -sprinkler = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLER', INDETERMINATE) -sprinklerdeflector = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLERDEFLECTOR', INDETERMINATE) -userdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +breechinginlet = IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET +firehydrant = IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT +hosereel = IfcFireSuppressionTerminalTypeEnum.HOSEREEL +sprinkler = IfcFireSuppressionTerminalTypeEnum.SPRINKLER +sprinklerdeflector = IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR +userdefined = IfcFireSuppressionTerminalTypeEnum.USERDEFINED +notdefined = IfcFireSuppressionTerminalTypeEnum.NOTDEFINED IfcFlowDirectionEnum = enum_namespace() -source = express_getattr(IfcFlowDirectionEnum, 'SOURCE', INDETERMINATE) -sink = express_getattr(IfcFlowDirectionEnum, 'SINK', INDETERMINATE) -sourceandsink = express_getattr(IfcFlowDirectionEnum, 'SOURCEANDSINK', INDETERMINATE) -notdefined = express_getattr(IfcFlowDirectionEnum, 'NOTDEFINED', INDETERMINATE) +source = IfcFlowDirectionEnum.SOURCE +sink = IfcFlowDirectionEnum.SINK +sourceandsink = IfcFlowDirectionEnum.SOURCEANDSINK +notdefined = IfcFlowDirectionEnum.NOTDEFINED IfcFlowInstrumentTypeEnum = enum_namespace() -pressuregauge = express_getattr(IfcFlowInstrumentTypeEnum, 'PRESSUREGAUGE', INDETERMINATE) -thermometer = express_getattr(IfcFlowInstrumentTypeEnum, 'THERMOMETER', INDETERMINATE) -ammeter = express_getattr(IfcFlowInstrumentTypeEnum, 'AMMETER', INDETERMINATE) -frequencymeter = express_getattr(IfcFlowInstrumentTypeEnum, 'FREQUENCYMETER', INDETERMINATE) -powerfactormeter = express_getattr(IfcFlowInstrumentTypeEnum, 'POWERFACTORMETER', INDETERMINATE) -phaseanglemeter = express_getattr(IfcFlowInstrumentTypeEnum, 'PHASEANGLEMETER', INDETERMINATE) -voltmeter_peak = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_PEAK', INDETERMINATE) -voltmeter_rms = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_RMS', INDETERMINATE) -combined = express_getattr(IfcFlowInstrumentTypeEnum, 'COMBINED', INDETERMINATE) -voltmeter = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER', INDETERMINATE) -userdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'NOTDEFINED', INDETERMINATE) +pressuregauge = IfcFlowInstrumentTypeEnum.PRESSUREGAUGE +thermometer = IfcFlowInstrumentTypeEnum.THERMOMETER +ammeter = IfcFlowInstrumentTypeEnum.AMMETER +frequencymeter = IfcFlowInstrumentTypeEnum.FREQUENCYMETER +powerfactormeter = IfcFlowInstrumentTypeEnum.POWERFACTORMETER +phaseanglemeter = IfcFlowInstrumentTypeEnum.PHASEANGLEMETER +voltmeter_peak = IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK +voltmeter_rms = IfcFlowInstrumentTypeEnum.VOLTMETER_RMS +combined = IfcFlowInstrumentTypeEnum.COMBINED +voltmeter = IfcFlowInstrumentTypeEnum.VOLTMETER +userdefined = IfcFlowInstrumentTypeEnum.USERDEFINED +notdefined = IfcFlowInstrumentTypeEnum.NOTDEFINED IfcFlowMeterTypeEnum = enum_namespace() -energymeter = express_getattr(IfcFlowMeterTypeEnum, 'ENERGYMETER', INDETERMINATE) -gasmeter = express_getattr(IfcFlowMeterTypeEnum, 'GASMETER', INDETERMINATE) -oilmeter = express_getattr(IfcFlowMeterTypeEnum, 'OILMETER', INDETERMINATE) -watermeter = express_getattr(IfcFlowMeterTypeEnum, 'WATERMETER', INDETERMINATE) -userdefined = express_getattr(IfcFlowMeterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowMeterTypeEnum, 'NOTDEFINED', INDETERMINATE) +energymeter = IfcFlowMeterTypeEnum.ENERGYMETER +gasmeter = IfcFlowMeterTypeEnum.GASMETER +oilmeter = IfcFlowMeterTypeEnum.OILMETER +watermeter = IfcFlowMeterTypeEnum.WATERMETER +userdefined = IfcFlowMeterTypeEnum.USERDEFINED +notdefined = IfcFlowMeterTypeEnum.NOTDEFINED IfcFootingTypeEnum = enum_namespace() -caisson_foundation = express_getattr(IfcFootingTypeEnum, 'CAISSON_FOUNDATION', INDETERMINATE) -footing_beam = express_getattr(IfcFootingTypeEnum, 'FOOTING_BEAM', INDETERMINATE) -pad_footing = express_getattr(IfcFootingTypeEnum, 'PAD_FOOTING', INDETERMINATE) -pile_cap = express_getattr(IfcFootingTypeEnum, 'PILE_CAP', INDETERMINATE) -strip_footing = express_getattr(IfcFootingTypeEnum, 'STRIP_FOOTING', INDETERMINATE) -userdefined = express_getattr(IfcFootingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFootingTypeEnum, 'NOTDEFINED', INDETERMINATE) +caisson_foundation = IfcFootingTypeEnum.CAISSON_FOUNDATION +footing_beam = IfcFootingTypeEnum.FOOTING_BEAM +pad_footing = IfcFootingTypeEnum.PAD_FOOTING +pile_cap = IfcFootingTypeEnum.PILE_CAP +strip_footing = IfcFootingTypeEnum.STRIP_FOOTING +userdefined = IfcFootingTypeEnum.USERDEFINED +notdefined = IfcFootingTypeEnum.NOTDEFINED IfcFurnitureTypeEnum = enum_namespace() -chair = express_getattr(IfcFurnitureTypeEnum, 'CHAIR', INDETERMINATE) -table = express_getattr(IfcFurnitureTypeEnum, 'TABLE', INDETERMINATE) -desk = express_getattr(IfcFurnitureTypeEnum, 'DESK', INDETERMINATE) -bed = express_getattr(IfcFurnitureTypeEnum, 'BED', INDETERMINATE) -filecabinet = express_getattr(IfcFurnitureTypeEnum, 'FILECABINET', INDETERMINATE) -shelf = express_getattr(IfcFurnitureTypeEnum, 'SHELF', INDETERMINATE) -sofa = express_getattr(IfcFurnitureTypeEnum, 'SOFA', INDETERMINATE) -technicalcabinet = express_getattr(IfcFurnitureTypeEnum, 'TECHNICALCABINET', INDETERMINATE) -userdefined = express_getattr(IfcFurnitureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFurnitureTypeEnum, 'NOTDEFINED', INDETERMINATE) +chair = IfcFurnitureTypeEnum.CHAIR +table = IfcFurnitureTypeEnum.TABLE +desk = IfcFurnitureTypeEnum.DESK +bed = IfcFurnitureTypeEnum.BED +filecabinet = IfcFurnitureTypeEnum.FILECABINET +shelf = IfcFurnitureTypeEnum.SHELF +sofa = IfcFurnitureTypeEnum.SOFA +technicalcabinet = IfcFurnitureTypeEnum.TECHNICALCABINET +userdefined = IfcFurnitureTypeEnum.USERDEFINED +notdefined = IfcFurnitureTypeEnum.NOTDEFINED IfcGeographicElementTypeEnum = enum_namespace() -terrain = express_getattr(IfcGeographicElementTypeEnum, 'TERRAIN', INDETERMINATE) -soil_boring_point = express_getattr(IfcGeographicElementTypeEnum, 'SOIL_BORING_POINT', INDETERMINATE) -userdefined = express_getattr(IfcGeographicElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeographicElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +terrain = IfcGeographicElementTypeEnum.TERRAIN +soil_boring_point = IfcGeographicElementTypeEnum.SOIL_BORING_POINT +userdefined = IfcGeographicElementTypeEnum.USERDEFINED +notdefined = IfcGeographicElementTypeEnum.NOTDEFINED IfcGeometricProjectionEnum = enum_namespace() -graph_view = express_getattr(IfcGeometricProjectionEnum, 'GRAPH_VIEW', INDETERMINATE) -sketch_view = express_getattr(IfcGeometricProjectionEnum, 'SKETCH_VIEW', INDETERMINATE) -model_view = express_getattr(IfcGeometricProjectionEnum, 'MODEL_VIEW', INDETERMINATE) -plan_view = express_getattr(IfcGeometricProjectionEnum, 'PLAN_VIEW', INDETERMINATE) -reflected_plan_view = express_getattr(IfcGeometricProjectionEnum, 'REFLECTED_PLAN_VIEW', INDETERMINATE) -section_view = express_getattr(IfcGeometricProjectionEnum, 'SECTION_VIEW', INDETERMINATE) -elevation_view = express_getattr(IfcGeometricProjectionEnum, 'ELEVATION_VIEW', INDETERMINATE) -userdefined = express_getattr(IfcGeometricProjectionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeometricProjectionEnum, 'NOTDEFINED', INDETERMINATE) +graph_view = IfcGeometricProjectionEnum.GRAPH_VIEW +sketch_view = IfcGeometricProjectionEnum.SKETCH_VIEW +model_view = IfcGeometricProjectionEnum.MODEL_VIEW +plan_view = IfcGeometricProjectionEnum.PLAN_VIEW +reflected_plan_view = IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW +section_view = IfcGeometricProjectionEnum.SECTION_VIEW +elevation_view = IfcGeometricProjectionEnum.ELEVATION_VIEW +userdefined = IfcGeometricProjectionEnum.USERDEFINED +notdefined = IfcGeometricProjectionEnum.NOTDEFINED IfcGlobalOrLocalEnum = enum_namespace() -global_coords = express_getattr(IfcGlobalOrLocalEnum, 'GLOBAL_COORDS', INDETERMINATE) -local_coords = express_getattr(IfcGlobalOrLocalEnum, 'LOCAL_COORDS', INDETERMINATE) +global_coords = IfcGlobalOrLocalEnum.GLOBAL_COORDS +local_coords = IfcGlobalOrLocalEnum.LOCAL_COORDS IfcGridTypeEnum = enum_namespace() -rectangular = express_getattr(IfcGridTypeEnum, 'RECTANGULAR', INDETERMINATE) -radial = express_getattr(IfcGridTypeEnum, 'RADIAL', INDETERMINATE) -triangular = express_getattr(IfcGridTypeEnum, 'TRIANGULAR', INDETERMINATE) -irregular = express_getattr(IfcGridTypeEnum, 'IRREGULAR', INDETERMINATE) -userdefined = express_getattr(IfcGridTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGridTypeEnum, 'NOTDEFINED', INDETERMINATE) +rectangular = IfcGridTypeEnum.RECTANGULAR +radial = IfcGridTypeEnum.RADIAL +triangular = IfcGridTypeEnum.TRIANGULAR +irregular = IfcGridTypeEnum.IRREGULAR +userdefined = IfcGridTypeEnum.USERDEFINED +notdefined = IfcGridTypeEnum.NOTDEFINED IfcHeatExchangerTypeEnum = enum_namespace() -plate = express_getattr(IfcHeatExchangerTypeEnum, 'PLATE', INDETERMINATE) -shellandtube = express_getattr(IfcHeatExchangerTypeEnum, 'SHELLANDTUBE', INDETERMINATE) -turnoutheating = express_getattr(IfcHeatExchangerTypeEnum, 'TURNOUTHEATING', INDETERMINATE) -userdefined = express_getattr(IfcHeatExchangerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHeatExchangerTypeEnum, 'NOTDEFINED', INDETERMINATE) +plate = IfcHeatExchangerTypeEnum.PLATE +shellandtube = IfcHeatExchangerTypeEnum.SHELLANDTUBE +turnoutheating = IfcHeatExchangerTypeEnum.TURNOUTHEATING +userdefined = IfcHeatExchangerTypeEnum.USERDEFINED +notdefined = IfcHeatExchangerTypeEnum.NOTDEFINED IfcHumidifierTypeEnum = enum_namespace() -steaminjection = express_getattr(IfcHumidifierTypeEnum, 'STEAMINJECTION', INDETERMINATE) -adiabaticairwasher = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICAIRWASHER', INDETERMINATE) -adiabaticpan = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICPAN', INDETERMINATE) -adiabaticwettedelement = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICWETTEDELEMENT', INDETERMINATE) -adiabaticatomizing = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICATOMIZING', INDETERMINATE) -adiabaticultrasonic = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICULTRASONIC', INDETERMINATE) -adiabaticrigidmedia = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICRIGIDMEDIA', INDETERMINATE) -adiabaticcompressedairnozzle = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICCOMPRESSEDAIRNOZZLE', INDETERMINATE) -assistedelectric = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDELECTRIC', INDETERMINATE) -assistednaturalgas = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDNATURALGAS', INDETERMINATE) -assistedpropane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDPROPANE', INDETERMINATE) -assistedbutane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDBUTANE', INDETERMINATE) -assistedsteam = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDSTEAM', INDETERMINATE) -userdefined = express_getattr(IfcHumidifierTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHumidifierTypeEnum, 'NOTDEFINED', INDETERMINATE) +steaminjection = IfcHumidifierTypeEnum.STEAMINJECTION +adiabaticairwasher = IfcHumidifierTypeEnum.ADIABATICAIRWASHER +adiabaticpan = IfcHumidifierTypeEnum.ADIABATICPAN +adiabaticwettedelement = IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT +adiabaticatomizing = IfcHumidifierTypeEnum.ADIABATICATOMIZING +adiabaticultrasonic = IfcHumidifierTypeEnum.ADIABATICULTRASONIC +adiabaticrigidmedia = IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA +adiabaticcompressedairnozzle = IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE +assistedelectric = IfcHumidifierTypeEnum.ASSISTEDELECTRIC +assistednaturalgas = IfcHumidifierTypeEnum.ASSISTEDNATURALGAS +assistedpropane = IfcHumidifierTypeEnum.ASSISTEDPROPANE +assistedbutane = IfcHumidifierTypeEnum.ASSISTEDBUTANE +assistedsteam = IfcHumidifierTypeEnum.ASSISTEDSTEAM +userdefined = IfcHumidifierTypeEnum.USERDEFINED +notdefined = IfcHumidifierTypeEnum.NOTDEFINED IfcImpactProtectionDeviceTypeEnum = enum_namespace() -crashcushion = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'CRASHCUSHION', INDETERMINATE) -dampingsystem = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'DAMPINGSYSTEM', INDETERMINATE) -fender = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'FENDER', INDETERMINATE) -bumper = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'BUMPER', INDETERMINATE) -userdefined = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +crashcushion = IfcImpactProtectionDeviceTypeEnum.CRASHCUSHION +dampingsystem = IfcImpactProtectionDeviceTypeEnum.DAMPINGSYSTEM +fender = IfcImpactProtectionDeviceTypeEnum.FENDER +bumper = IfcImpactProtectionDeviceTypeEnum.BUMPER +userdefined = IfcImpactProtectionDeviceTypeEnum.USERDEFINED +notdefined = IfcImpactProtectionDeviceTypeEnum.NOTDEFINED IfcInterceptorTypeEnum = enum_namespace() -cyclonic = express_getattr(IfcInterceptorTypeEnum, 'CYCLONIC', INDETERMINATE) -grease = express_getattr(IfcInterceptorTypeEnum, 'GREASE', INDETERMINATE) -oil = express_getattr(IfcInterceptorTypeEnum, 'OIL', INDETERMINATE) -petrol = express_getattr(IfcInterceptorTypeEnum, 'PETROL', INDETERMINATE) -userdefined = express_getattr(IfcInterceptorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInterceptorTypeEnum, 'NOTDEFINED', INDETERMINATE) +cyclonic = IfcInterceptorTypeEnum.CYCLONIC +grease = IfcInterceptorTypeEnum.GREASE +oil = IfcInterceptorTypeEnum.OIL +petrol = IfcInterceptorTypeEnum.PETROL +userdefined = IfcInterceptorTypeEnum.USERDEFINED +notdefined = IfcInterceptorTypeEnum.NOTDEFINED IfcInternalOrExternalEnum = enum_namespace() -internal = express_getattr(IfcInternalOrExternalEnum, 'INTERNAL', INDETERMINATE) -external = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_water = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_WATER', INDETERMINATE) -external_fire = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_FIRE', INDETERMINATE) -notdefined = express_getattr(IfcInternalOrExternalEnum, 'NOTDEFINED', INDETERMINATE) +internal = IfcInternalOrExternalEnum.INTERNAL +external = IfcInternalOrExternalEnum.EXTERNAL +external_earth = IfcInternalOrExternalEnum.EXTERNAL_EARTH +external_water = IfcInternalOrExternalEnum.EXTERNAL_WATER +external_fire = IfcInternalOrExternalEnum.EXTERNAL_FIRE +notdefined = IfcInternalOrExternalEnum.NOTDEFINED IfcInventoryTypeEnum = enum_namespace() -assetinventory = express_getattr(IfcInventoryTypeEnum, 'ASSETINVENTORY', INDETERMINATE) -spaceinventory = express_getattr(IfcInventoryTypeEnum, 'SPACEINVENTORY', INDETERMINATE) -furnitureinventory = express_getattr(IfcInventoryTypeEnum, 'FURNITUREINVENTORY', INDETERMINATE) -userdefined = express_getattr(IfcInventoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInventoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +assetinventory = IfcInventoryTypeEnum.ASSETINVENTORY +spaceinventory = IfcInventoryTypeEnum.SPACEINVENTORY +furnitureinventory = IfcInventoryTypeEnum.FURNITUREINVENTORY +userdefined = IfcInventoryTypeEnum.USERDEFINED +notdefined = IfcInventoryTypeEnum.NOTDEFINED IfcJunctionBoxTypeEnum = enum_namespace() -data = express_getattr(IfcJunctionBoxTypeEnum, 'DATA', INDETERMINATE) -power = express_getattr(IfcJunctionBoxTypeEnum, 'POWER', INDETERMINATE) -userdefined = express_getattr(IfcJunctionBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcJunctionBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +data = IfcJunctionBoxTypeEnum.DATA +power = IfcJunctionBoxTypeEnum.POWER +userdefined = IfcJunctionBoxTypeEnum.USERDEFINED +notdefined = IfcJunctionBoxTypeEnum.NOTDEFINED IfcKnotType = enum_namespace() -uniform_knots = express_getattr(IfcKnotType, 'UNIFORM_KNOTS', INDETERMINATE) -quasi_uniform_knots = express_getattr(IfcKnotType, 'QUASI_UNIFORM_KNOTS', INDETERMINATE) -piecewise_bezier_knots = express_getattr(IfcKnotType, 'PIECEWISE_BEZIER_KNOTS', INDETERMINATE) -unspecified = express_getattr(IfcKnotType, 'UNSPECIFIED', INDETERMINATE) +uniform_knots = IfcKnotType.UNIFORM_KNOTS +quasi_uniform_knots = IfcKnotType.QUASI_UNIFORM_KNOTS +piecewise_bezier_knots = IfcKnotType.PIECEWISE_BEZIER_KNOTS +unspecified = IfcKnotType.UNSPECIFIED IfcLaborResourceTypeEnum = enum_namespace() -administration = express_getattr(IfcLaborResourceTypeEnum, 'ADMINISTRATION', INDETERMINATE) -carpentry = express_getattr(IfcLaborResourceTypeEnum, 'CARPENTRY', INDETERMINATE) -cleaning = express_getattr(IfcLaborResourceTypeEnum, 'CLEANING', INDETERMINATE) -concrete = express_getattr(IfcLaborResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcLaborResourceTypeEnum, 'DRYWALL', INDETERMINATE) -electric = express_getattr(IfcLaborResourceTypeEnum, 'ELECTRIC', INDETERMINATE) -finishing = express_getattr(IfcLaborResourceTypeEnum, 'FINISHING', INDETERMINATE) -flooring = express_getattr(IfcLaborResourceTypeEnum, 'FLOORING', INDETERMINATE) -general = express_getattr(IfcLaborResourceTypeEnum, 'GENERAL', INDETERMINATE) -hvac = express_getattr(IfcLaborResourceTypeEnum, 'HVAC', INDETERMINATE) -landscaping = express_getattr(IfcLaborResourceTypeEnum, 'LANDSCAPING', INDETERMINATE) -masonry = express_getattr(IfcLaborResourceTypeEnum, 'MASONRY', INDETERMINATE) -painting = express_getattr(IfcLaborResourceTypeEnum, 'PAINTING', INDETERMINATE) -paving = express_getattr(IfcLaborResourceTypeEnum, 'PAVING', INDETERMINATE) -plumbing = express_getattr(IfcLaborResourceTypeEnum, 'PLUMBING', INDETERMINATE) -roofing = express_getattr(IfcLaborResourceTypeEnum, 'ROOFING', INDETERMINATE) -sitegrading = express_getattr(IfcLaborResourceTypeEnum, 'SITEGRADING', INDETERMINATE) -steelwork = express_getattr(IfcLaborResourceTypeEnum, 'STEELWORK', INDETERMINATE) -surveying = express_getattr(IfcLaborResourceTypeEnum, 'SURVEYING', INDETERMINATE) -userdefined = express_getattr(IfcLaborResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLaborResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +administration = IfcLaborResourceTypeEnum.ADMINISTRATION +carpentry = IfcLaborResourceTypeEnum.CARPENTRY +cleaning = IfcLaborResourceTypeEnum.CLEANING +concrete = IfcLaborResourceTypeEnum.CONCRETE +drywall = IfcLaborResourceTypeEnum.DRYWALL +electric = IfcLaborResourceTypeEnum.ELECTRIC +finishing = IfcLaborResourceTypeEnum.FINISHING +flooring = IfcLaborResourceTypeEnum.FLOORING +general = IfcLaborResourceTypeEnum.GENERAL +hvac = IfcLaborResourceTypeEnum.HVAC +landscaping = IfcLaborResourceTypeEnum.LANDSCAPING +masonry = IfcLaborResourceTypeEnum.MASONRY +painting = IfcLaborResourceTypeEnum.PAINTING +paving = IfcLaborResourceTypeEnum.PAVING +plumbing = IfcLaborResourceTypeEnum.PLUMBING +roofing = IfcLaborResourceTypeEnum.ROOFING +sitegrading = IfcLaborResourceTypeEnum.SITEGRADING +steelwork = IfcLaborResourceTypeEnum.STEELWORK +surveying = IfcLaborResourceTypeEnum.SURVEYING +userdefined = IfcLaborResourceTypeEnum.USERDEFINED +notdefined = IfcLaborResourceTypeEnum.NOTDEFINED IfcLampTypeEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLampTypeEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLampTypeEnum, 'FLUORESCENT', INDETERMINATE) -halogen = express_getattr(IfcLampTypeEnum, 'HALOGEN', INDETERMINATE) -highpressuremercury = express_getattr(IfcLampTypeEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLampTypeEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -led = express_getattr(IfcLampTypeEnum, 'LED', INDETERMINATE) -metalhalide = express_getattr(IfcLampTypeEnum, 'METALHALIDE', INDETERMINATE) -oled = express_getattr(IfcLampTypeEnum, 'OLED', INDETERMINATE) -tungstenfilament = express_getattr(IfcLampTypeEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -userdefined = express_getattr(IfcLampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLampTypeEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLampTypeEnum.COMPACTFLUORESCENT +fluorescent = IfcLampTypeEnum.FLUORESCENT +halogen = IfcLampTypeEnum.HALOGEN +highpressuremercury = IfcLampTypeEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLampTypeEnum.HIGHPRESSURESODIUM +led = IfcLampTypeEnum.LED +metalhalide = IfcLampTypeEnum.METALHALIDE +oled = IfcLampTypeEnum.OLED +tungstenfilament = IfcLampTypeEnum.TUNGSTENFILAMENT +userdefined = IfcLampTypeEnum.USERDEFINED +notdefined = IfcLampTypeEnum.NOTDEFINED IfcLayerSetDirectionEnum = enum_namespace() -axis1 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS1', INDETERMINATE) -axis2 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS2', INDETERMINATE) -axis3 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS3', INDETERMINATE) +axis1 = IfcLayerSetDirectionEnum.AXIS1 +axis2 = IfcLayerSetDirectionEnum.AXIS2 +axis3 = IfcLayerSetDirectionEnum.AXIS3 IfcLightDistributionCurveEnum = enum_namespace() -type_a = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_A', INDETERMINATE) -type_b = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_B', INDETERMINATE) -type_c = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_C', INDETERMINATE) -notdefined = express_getattr(IfcLightDistributionCurveEnum, 'NOTDEFINED', INDETERMINATE) +type_a = IfcLightDistributionCurveEnum.TYPE_A +type_b = IfcLightDistributionCurveEnum.TYPE_B +type_c = IfcLightDistributionCurveEnum.TYPE_C +notdefined = IfcLightDistributionCurveEnum.NOTDEFINED IfcLightEmissionSourceEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLightEmissionSourceEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLightEmissionSourceEnum, 'FLUORESCENT', INDETERMINATE) -highpressuremercury = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -lightemittingdiode = express_getattr(IfcLightEmissionSourceEnum, 'LIGHTEMITTINGDIODE', INDETERMINATE) -lowpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'LOWPRESSURESODIUM', INDETERMINATE) -lowvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'LOWVOLTAGEHALOGEN', INDETERMINATE) -mainvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'MAINVOLTAGEHALOGEN', INDETERMINATE) -metalhalide = express_getattr(IfcLightEmissionSourceEnum, 'METALHALIDE', INDETERMINATE) -tungstenfilament = express_getattr(IfcLightEmissionSourceEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -notdefined = express_getattr(IfcLightEmissionSourceEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLightEmissionSourceEnum.COMPACTFLUORESCENT +fluorescent = IfcLightEmissionSourceEnum.FLUORESCENT +highpressuremercury = IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM +lightemittingdiode = IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE +lowpressuresodium = IfcLightEmissionSourceEnum.LOWPRESSURESODIUM +lowvoltagehalogen = IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN +mainvoltagehalogen = IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN +metalhalide = IfcLightEmissionSourceEnum.METALHALIDE +tungstenfilament = IfcLightEmissionSourceEnum.TUNGSTENFILAMENT +notdefined = IfcLightEmissionSourceEnum.NOTDEFINED IfcLightFixtureTypeEnum = enum_namespace() -pointsource = express_getattr(IfcLightFixtureTypeEnum, 'POINTSOURCE', INDETERMINATE) -directionsource = express_getattr(IfcLightFixtureTypeEnum, 'DIRECTIONSOURCE', INDETERMINATE) -securitylighting = express_getattr(IfcLightFixtureTypeEnum, 'SECURITYLIGHTING', INDETERMINATE) -userdefined = express_getattr(IfcLightFixtureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLightFixtureTypeEnum, 'NOTDEFINED', INDETERMINATE) +pointsource = IfcLightFixtureTypeEnum.POINTSOURCE +directionsource = IfcLightFixtureTypeEnum.DIRECTIONSOURCE +securitylighting = IfcLightFixtureTypeEnum.SECURITYLIGHTING +userdefined = IfcLightFixtureTypeEnum.USERDEFINED +notdefined = IfcLightFixtureTypeEnum.NOTDEFINED IfcLiquidTerminalTypeEnum = enum_namespace() -loadingarm = express_getattr(IfcLiquidTerminalTypeEnum, 'LOADINGARM', INDETERMINATE) -hosereel = express_getattr(IfcLiquidTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -userdefined = express_getattr(IfcLiquidTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLiquidTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +loadingarm = IfcLiquidTerminalTypeEnum.LOADINGARM +hosereel = IfcLiquidTerminalTypeEnum.HOSEREEL +userdefined = IfcLiquidTerminalTypeEnum.USERDEFINED +notdefined = IfcLiquidTerminalTypeEnum.NOTDEFINED IfcLoadGroupTypeEnum = enum_namespace() -load_group = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_GROUP', INDETERMINATE) -load_case = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_CASE', INDETERMINATE) -load_combination = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_COMBINATION', INDETERMINATE) -userdefined = express_getattr(IfcLoadGroupTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLoadGroupTypeEnum, 'NOTDEFINED', INDETERMINATE) +load_group = IfcLoadGroupTypeEnum.LOAD_GROUP +load_case = IfcLoadGroupTypeEnum.LOAD_CASE +load_combination = IfcLoadGroupTypeEnum.LOAD_COMBINATION +userdefined = IfcLoadGroupTypeEnum.USERDEFINED +notdefined = IfcLoadGroupTypeEnum.NOTDEFINED IfcLogicalOperatorEnum = enum_namespace() -logicaland = express_getattr(IfcLogicalOperatorEnum, 'LOGICALAND', INDETERMINATE) -logicalor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALOR', INDETERMINATE) -logicalxor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALXOR', INDETERMINATE) -logicalnotand = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTAND', INDETERMINATE) -logicalnotor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTOR', INDETERMINATE) +logicaland = IfcLogicalOperatorEnum.LOGICALAND +logicalor = IfcLogicalOperatorEnum.LOGICALOR +logicalxor = IfcLogicalOperatorEnum.LOGICALXOR +logicalnotand = IfcLogicalOperatorEnum.LOGICALNOTAND +logicalnotor = IfcLogicalOperatorEnum.LOGICALNOTOR IfcMarineFacilityTypeEnum = enum_namespace() -canal = express_getattr(IfcMarineFacilityTypeEnum, 'CANAL', INDETERMINATE) -waterwayshiplift = express_getattr(IfcMarineFacilityTypeEnum, 'WATERWAYSHIPLIFT', INDETERMINATE) -embankment = express_getattr(IfcMarineFacilityTypeEnum, 'EMBANKMENT', INDETERMINATE) -launchrecovery = express_getattr(IfcMarineFacilityTypeEnum, 'LAUNCHRECOVERY', INDETERMINATE) -marinedefence = express_getattr(IfcMarineFacilityTypeEnum, 'MARINEDEFENCE', INDETERMINATE) -hydrolift = express_getattr(IfcMarineFacilityTypeEnum, 'HYDROLIFT', INDETERMINATE) -shipyard = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPYARD', INDETERMINATE) -shiplift = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPLIFT', INDETERMINATE) -port = express_getattr(IfcMarineFacilityTypeEnum, 'PORT', INDETERMINATE) -quay = express_getattr(IfcMarineFacilityTypeEnum, 'QUAY', INDETERMINATE) -floatingdock = express_getattr(IfcMarineFacilityTypeEnum, 'FLOATINGDOCK', INDETERMINATE) -navigationalchannel = express_getattr(IfcMarineFacilityTypeEnum, 'NAVIGATIONALCHANNEL', INDETERMINATE) -breakwater = express_getattr(IfcMarineFacilityTypeEnum, 'BREAKWATER', INDETERMINATE) -drydock = express_getattr(IfcMarineFacilityTypeEnum, 'DRYDOCK', INDETERMINATE) -jetty = express_getattr(IfcMarineFacilityTypeEnum, 'JETTY', INDETERMINATE) -shiplock = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPLOCK', INDETERMINATE) -barrierbeach = express_getattr(IfcMarineFacilityTypeEnum, 'BARRIERBEACH', INDETERMINATE) -slipway = express_getattr(IfcMarineFacilityTypeEnum, 'SLIPWAY', INDETERMINATE) -waterway = express_getattr(IfcMarineFacilityTypeEnum, 'WATERWAY', INDETERMINATE) -userdefined = express_getattr(IfcMarineFacilityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMarineFacilityTypeEnum, 'NOTDEFINED', INDETERMINATE) +canal = IfcMarineFacilityTypeEnum.CANAL +waterwayshiplift = IfcMarineFacilityTypeEnum.WATERWAYSHIPLIFT +embankment = IfcMarineFacilityTypeEnum.EMBANKMENT +launchrecovery = IfcMarineFacilityTypeEnum.LAUNCHRECOVERY +marinedefence = IfcMarineFacilityTypeEnum.MARINEDEFENCE +hydrolift = IfcMarineFacilityTypeEnum.HYDROLIFT +shipyard = IfcMarineFacilityTypeEnum.SHIPYARD +shiplift = IfcMarineFacilityTypeEnum.SHIPLIFT +port = IfcMarineFacilityTypeEnum.PORT +quay = IfcMarineFacilityTypeEnum.QUAY +floatingdock = IfcMarineFacilityTypeEnum.FLOATINGDOCK +navigationalchannel = IfcMarineFacilityTypeEnum.NAVIGATIONALCHANNEL +breakwater = IfcMarineFacilityTypeEnum.BREAKWATER +drydock = IfcMarineFacilityTypeEnum.DRYDOCK +jetty = IfcMarineFacilityTypeEnum.JETTY +shiplock = IfcMarineFacilityTypeEnum.SHIPLOCK +barrierbeach = IfcMarineFacilityTypeEnum.BARRIERBEACH +slipway = IfcMarineFacilityTypeEnum.SLIPWAY +waterway = IfcMarineFacilityTypeEnum.WATERWAY +userdefined = IfcMarineFacilityTypeEnum.USERDEFINED +notdefined = IfcMarineFacilityTypeEnum.NOTDEFINED IfcMarinePartTypeEnum = enum_namespace() -crest = express_getattr(IfcMarinePartTypeEnum, 'CREST', INDETERMINATE) -manufacturing = express_getattr(IfcMarinePartTypeEnum, 'MANUFACTURING', INDETERMINATE) -lowwaterline = express_getattr(IfcMarinePartTypeEnum, 'LOWWATERLINE', INDETERMINATE) -core = express_getattr(IfcMarinePartTypeEnum, 'CORE', INDETERMINATE) -waterfield = express_getattr(IfcMarinePartTypeEnum, 'WATERFIELD', INDETERMINATE) -cill_level = express_getattr(IfcMarinePartTypeEnum, 'CILL_LEVEL', INDETERMINATE) -berthingstructure = express_getattr(IfcMarinePartTypeEnum, 'BERTHINGSTRUCTURE', INDETERMINATE) -copelevel = express_getattr(IfcMarinePartTypeEnum, 'COPELEVEL', INDETERMINATE) -chamber = express_getattr(IfcMarinePartTypeEnum, 'CHAMBER', INDETERMINATE) -storage = express_getattr(IfcMarinePartTypeEnum, 'STORAGE', INDETERMINATE) -approachchannel = express_getattr(IfcMarinePartTypeEnum, 'APPROACHCHANNEL', INDETERMINATE) -vehicleservicing = express_getattr(IfcMarinePartTypeEnum, 'VEHICLESERVICING', INDETERMINATE) -shiptransfer = express_getattr(IfcMarinePartTypeEnum, 'SHIPTRANSFER', INDETERMINATE) -gatehead = express_getattr(IfcMarinePartTypeEnum, 'GATEHEAD', INDETERMINATE) -gudingstructure = express_getattr(IfcMarinePartTypeEnum, 'GUDINGSTRUCTURE', INDETERMINATE) -belowwaterline = express_getattr(IfcMarinePartTypeEnum, 'BELOWWATERLINE', INDETERMINATE) -weatherside = express_getattr(IfcMarinePartTypeEnum, 'WEATHERSIDE', INDETERMINATE) -landfield = express_getattr(IfcMarinePartTypeEnum, 'LANDFIELD', INDETERMINATE) -protection = express_getattr(IfcMarinePartTypeEnum, 'PROTECTION', INDETERMINATE) -leewardside = express_getattr(IfcMarinePartTypeEnum, 'LEEWARDSIDE', INDETERMINATE) -abovewaterline = express_getattr(IfcMarinePartTypeEnum, 'ABOVEWATERLINE', INDETERMINATE) -anchorage = express_getattr(IfcMarinePartTypeEnum, 'ANCHORAGE', INDETERMINATE) -navigationalarea = express_getattr(IfcMarinePartTypeEnum, 'NAVIGATIONALAREA', INDETERMINATE) -highwaterline = express_getattr(IfcMarinePartTypeEnum, 'HIGHWATERLINE', INDETERMINATE) -userdefined = express_getattr(IfcMarinePartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMarinePartTypeEnum, 'NOTDEFINED', INDETERMINATE) +crest = IfcMarinePartTypeEnum.CREST +manufacturing = IfcMarinePartTypeEnum.MANUFACTURING +lowwaterline = IfcMarinePartTypeEnum.LOWWATERLINE +core = IfcMarinePartTypeEnum.CORE +waterfield = IfcMarinePartTypeEnum.WATERFIELD +cill_level = IfcMarinePartTypeEnum.CILL_LEVEL +berthingstructure = IfcMarinePartTypeEnum.BERTHINGSTRUCTURE +copelevel = IfcMarinePartTypeEnum.COPELEVEL +chamber = IfcMarinePartTypeEnum.CHAMBER +storage = IfcMarinePartTypeEnum.STORAGE +approachchannel = IfcMarinePartTypeEnum.APPROACHCHANNEL +vehicleservicing = IfcMarinePartTypeEnum.VEHICLESERVICING +shiptransfer = IfcMarinePartTypeEnum.SHIPTRANSFER +gatehead = IfcMarinePartTypeEnum.GATEHEAD +gudingstructure = IfcMarinePartTypeEnum.GUDINGSTRUCTURE +belowwaterline = IfcMarinePartTypeEnum.BELOWWATERLINE +weatherside = IfcMarinePartTypeEnum.WEATHERSIDE +landfield = IfcMarinePartTypeEnum.LANDFIELD +protection = IfcMarinePartTypeEnum.PROTECTION +leewardside = IfcMarinePartTypeEnum.LEEWARDSIDE +abovewaterline = IfcMarinePartTypeEnum.ABOVEWATERLINE +anchorage = IfcMarinePartTypeEnum.ANCHORAGE +navigationalarea = IfcMarinePartTypeEnum.NAVIGATIONALAREA +highwaterline = IfcMarinePartTypeEnum.HIGHWATERLINE +userdefined = IfcMarinePartTypeEnum.USERDEFINED +notdefined = IfcMarinePartTypeEnum.NOTDEFINED IfcMechanicalFastenerTypeEnum = enum_namespace() -anchorbolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'ANCHORBOLT', INDETERMINATE) -bolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'BOLT', INDETERMINATE) -dowel = express_getattr(IfcMechanicalFastenerTypeEnum, 'DOWEL', INDETERMINATE) -nail = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAIL', INDETERMINATE) -nailplate = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAILPLATE', INDETERMINATE) -rivet = express_getattr(IfcMechanicalFastenerTypeEnum, 'RIVET', INDETERMINATE) -screw = express_getattr(IfcMechanicalFastenerTypeEnum, 'SCREW', INDETERMINATE) -shearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'SHEARCONNECTOR', INDETERMINATE) -staple = express_getattr(IfcMechanicalFastenerTypeEnum, 'STAPLE', INDETERMINATE) -studshearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'STUDSHEARCONNECTOR', INDETERMINATE) -coupler = express_getattr(IfcMechanicalFastenerTypeEnum, 'COUPLER', INDETERMINATE) -railjoint = express_getattr(IfcMechanicalFastenerTypeEnum, 'RAILJOINT', INDETERMINATE) -railfastening = express_getattr(IfcMechanicalFastenerTypeEnum, 'RAILFASTENING', INDETERMINATE) -chain = express_getattr(IfcMechanicalFastenerTypeEnum, 'CHAIN', INDETERMINATE) -rope = express_getattr(IfcMechanicalFastenerTypeEnum, 'ROPE', INDETERMINATE) -userdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorbolt = IfcMechanicalFastenerTypeEnum.ANCHORBOLT +bolt = IfcMechanicalFastenerTypeEnum.BOLT +dowel = IfcMechanicalFastenerTypeEnum.DOWEL +nail = IfcMechanicalFastenerTypeEnum.NAIL +nailplate = IfcMechanicalFastenerTypeEnum.NAILPLATE +rivet = IfcMechanicalFastenerTypeEnum.RIVET +screw = IfcMechanicalFastenerTypeEnum.SCREW +shearconnector = IfcMechanicalFastenerTypeEnum.SHEARCONNECTOR +staple = IfcMechanicalFastenerTypeEnum.STAPLE +studshearconnector = IfcMechanicalFastenerTypeEnum.STUDSHEARCONNECTOR +coupler = IfcMechanicalFastenerTypeEnum.COUPLER +railjoint = IfcMechanicalFastenerTypeEnum.RAILJOINT +railfastening = IfcMechanicalFastenerTypeEnum.RAILFASTENING +chain = IfcMechanicalFastenerTypeEnum.CHAIN +rope = IfcMechanicalFastenerTypeEnum.ROPE +userdefined = IfcMechanicalFastenerTypeEnum.USERDEFINED +notdefined = IfcMechanicalFastenerTypeEnum.NOTDEFINED IfcMedicalDeviceTypeEnum = enum_namespace() -airstation = express_getattr(IfcMedicalDeviceTypeEnum, 'AIRSTATION', INDETERMINATE) -feedairunit = express_getattr(IfcMedicalDeviceTypeEnum, 'FEEDAIRUNIT', INDETERMINATE) -oxygengenerator = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENGENERATOR', INDETERMINATE) -oxygenplant = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENPLANT', INDETERMINATE) -vacuumstation = express_getattr(IfcMedicalDeviceTypeEnum, 'VACUUMSTATION', INDETERMINATE) -userdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +airstation = IfcMedicalDeviceTypeEnum.AIRSTATION +feedairunit = IfcMedicalDeviceTypeEnum.FEEDAIRUNIT +oxygengenerator = IfcMedicalDeviceTypeEnum.OXYGENGENERATOR +oxygenplant = IfcMedicalDeviceTypeEnum.OXYGENPLANT +vacuumstation = IfcMedicalDeviceTypeEnum.VACUUMSTATION +userdefined = IfcMedicalDeviceTypeEnum.USERDEFINED +notdefined = IfcMedicalDeviceTypeEnum.NOTDEFINED IfcMemberTypeEnum = enum_namespace() -brace = express_getattr(IfcMemberTypeEnum, 'BRACE', INDETERMINATE) -chord = express_getattr(IfcMemberTypeEnum, 'CHORD', INDETERMINATE) -collar = express_getattr(IfcMemberTypeEnum, 'COLLAR', INDETERMINATE) -member = express_getattr(IfcMemberTypeEnum, 'MEMBER', INDETERMINATE) -mullion = express_getattr(IfcMemberTypeEnum, 'MULLION', INDETERMINATE) -plate = express_getattr(IfcMemberTypeEnum, 'PLATE', INDETERMINATE) -post = express_getattr(IfcMemberTypeEnum, 'POST', INDETERMINATE) -purlin = express_getattr(IfcMemberTypeEnum, 'PURLIN', INDETERMINATE) -rafter = express_getattr(IfcMemberTypeEnum, 'RAFTER', INDETERMINATE) -stringer = express_getattr(IfcMemberTypeEnum, 'STRINGER', INDETERMINATE) -strut = express_getattr(IfcMemberTypeEnum, 'STRUT', INDETERMINATE) -stud = express_getattr(IfcMemberTypeEnum, 'STUD', INDETERMINATE) -stiffening_rib = express_getattr(IfcMemberTypeEnum, 'STIFFENING_RIB', INDETERMINATE) -arch_segment = express_getattr(IfcMemberTypeEnum, 'ARCH_SEGMENT', INDETERMINATE) -suspension_cable = express_getattr(IfcMemberTypeEnum, 'SUSPENSION_CABLE', INDETERMINATE) -suspender = express_getattr(IfcMemberTypeEnum, 'SUSPENDER', INDETERMINATE) -stay_cable = express_getattr(IfcMemberTypeEnum, 'STAY_CABLE', INDETERMINATE) -structuralcable = express_getattr(IfcMemberTypeEnum, 'STRUCTURALCABLE', INDETERMINATE) -tiebar = express_getattr(IfcMemberTypeEnum, 'TIEBAR', INDETERMINATE) -userdefined = express_getattr(IfcMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +brace = IfcMemberTypeEnum.BRACE +chord = IfcMemberTypeEnum.CHORD +collar = IfcMemberTypeEnum.COLLAR +member = IfcMemberTypeEnum.MEMBER +mullion = IfcMemberTypeEnum.MULLION +plate = IfcMemberTypeEnum.PLATE +post = IfcMemberTypeEnum.POST +purlin = IfcMemberTypeEnum.PURLIN +rafter = IfcMemberTypeEnum.RAFTER +stringer = IfcMemberTypeEnum.STRINGER +strut = IfcMemberTypeEnum.STRUT +stud = IfcMemberTypeEnum.STUD +stiffening_rib = IfcMemberTypeEnum.STIFFENING_RIB +arch_segment = IfcMemberTypeEnum.ARCH_SEGMENT +suspension_cable = IfcMemberTypeEnum.SUSPENSION_CABLE +suspender = IfcMemberTypeEnum.SUSPENDER +stay_cable = IfcMemberTypeEnum.STAY_CABLE +structuralcable = IfcMemberTypeEnum.STRUCTURALCABLE +tiebar = IfcMemberTypeEnum.TIEBAR +userdefined = IfcMemberTypeEnum.USERDEFINED +notdefined = IfcMemberTypeEnum.NOTDEFINED IfcMobileTelecommunicationsApplianceTypeEnum = enum_namespace() -e_utran_node_b = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'E_UTRAN_NODE_B', INDETERMINATE) -remote_radio_unit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'REMOTE_RADIO_UNIT', INDETERMINATE) -accesspoint = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'ACCESSPOINT', INDETERMINATE) -basetransceiverstation = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'BASETRANSCEIVERSTATION', INDETERMINATE) -remoteunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'REMOTEUNIT', INDETERMINATE) -basebandunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'BASEBANDUNIT', INDETERMINATE) -masterunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'MASTERUNIT', INDETERMINATE) -userdefined = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +e_utran_node_b = IfcMobileTelecommunicationsApplianceTypeEnum.E_UTRAN_NODE_B +remote_radio_unit = IfcMobileTelecommunicationsApplianceTypeEnum.REMOTE_RADIO_UNIT +accesspoint = IfcMobileTelecommunicationsApplianceTypeEnum.ACCESSPOINT +basetransceiverstation = IfcMobileTelecommunicationsApplianceTypeEnum.BASETRANSCEIVERSTATION +remoteunit = IfcMobileTelecommunicationsApplianceTypeEnum.REMOTEUNIT +basebandunit = IfcMobileTelecommunicationsApplianceTypeEnum.BASEBANDUNIT +masterunit = IfcMobileTelecommunicationsApplianceTypeEnum.MASTERUNIT +userdefined = IfcMobileTelecommunicationsApplianceTypeEnum.USERDEFINED +notdefined = IfcMobileTelecommunicationsApplianceTypeEnum.NOTDEFINED IfcMooringDeviceTypeEnum = enum_namespace() -linetensioner = express_getattr(IfcMooringDeviceTypeEnum, 'LINETENSIONER', INDETERMINATE) -magneticdevice = express_getattr(IfcMooringDeviceTypeEnum, 'MAGNETICDEVICE', INDETERMINATE) -mooringhooks = express_getattr(IfcMooringDeviceTypeEnum, 'MOORINGHOOKS', INDETERMINATE) -vacuumdevice = express_getattr(IfcMooringDeviceTypeEnum, 'VACUUMDEVICE', INDETERMINATE) -bollard = express_getattr(IfcMooringDeviceTypeEnum, 'BOLLARD', INDETERMINATE) -userdefined = express_getattr(IfcMooringDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMooringDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +linetensioner = IfcMooringDeviceTypeEnum.LINETENSIONER +magneticdevice = IfcMooringDeviceTypeEnum.MAGNETICDEVICE +mooringhooks = IfcMooringDeviceTypeEnum.MOORINGHOOKS +vacuumdevice = IfcMooringDeviceTypeEnum.VACUUMDEVICE +bollard = IfcMooringDeviceTypeEnum.BOLLARD +userdefined = IfcMooringDeviceTypeEnum.USERDEFINED +notdefined = IfcMooringDeviceTypeEnum.NOTDEFINED IfcMotorConnectionTypeEnum = enum_namespace() -beltdrive = express_getattr(IfcMotorConnectionTypeEnum, 'BELTDRIVE', INDETERMINATE) -coupling = express_getattr(IfcMotorConnectionTypeEnum, 'COUPLING', INDETERMINATE) -directdrive = express_getattr(IfcMotorConnectionTypeEnum, 'DIRECTDRIVE', INDETERMINATE) -userdefined = express_getattr(IfcMotorConnectionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMotorConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +beltdrive = IfcMotorConnectionTypeEnum.BELTDRIVE +coupling = IfcMotorConnectionTypeEnum.COUPLING +directdrive = IfcMotorConnectionTypeEnum.DIRECTDRIVE +userdefined = IfcMotorConnectionTypeEnum.USERDEFINED +notdefined = IfcMotorConnectionTypeEnum.NOTDEFINED IfcNavigationElementTypeEnum = enum_namespace() -beacon = express_getattr(IfcNavigationElementTypeEnum, 'BEACON', INDETERMINATE) -buoy = express_getattr(IfcNavigationElementTypeEnum, 'BUOY', INDETERMINATE) -userdefined = express_getattr(IfcNavigationElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcNavigationElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +beacon = IfcNavigationElementTypeEnum.BEACON +buoy = IfcNavigationElementTypeEnum.BUOY +userdefined = IfcNavigationElementTypeEnum.USERDEFINED +notdefined = IfcNavigationElementTypeEnum.NOTDEFINED IfcNullStyle = enum_namespace() -null = express_getattr(IfcNullStyle, 'NULL', INDETERMINATE) +null = IfcNullStyle.NULL IfcObjectTypeEnum = enum_namespace() -product = express_getattr(IfcObjectTypeEnum, 'PRODUCT', INDETERMINATE) -process = express_getattr(IfcObjectTypeEnum, 'PROCESS', INDETERMINATE) -control = express_getattr(IfcObjectTypeEnum, 'CONTROL', INDETERMINATE) -resource = express_getattr(IfcObjectTypeEnum, 'RESOURCE', INDETERMINATE) -actor = express_getattr(IfcObjectTypeEnum, 'ACTOR', INDETERMINATE) -group = express_getattr(IfcObjectTypeEnum, 'GROUP', INDETERMINATE) -project = express_getattr(IfcObjectTypeEnum, 'PROJECT', INDETERMINATE) -notdefined = express_getattr(IfcObjectTypeEnum, 'NOTDEFINED', INDETERMINATE) +product = IfcObjectTypeEnum.PRODUCT +process = IfcObjectTypeEnum.PROCESS +control = IfcObjectTypeEnum.CONTROL +resource = IfcObjectTypeEnum.RESOURCE +actor = IfcObjectTypeEnum.ACTOR +group = IfcObjectTypeEnum.GROUP +project = IfcObjectTypeEnum.PROJECT +notdefined = IfcObjectTypeEnum.NOTDEFINED IfcObjectiveEnum = enum_namespace() -codecompliance = express_getattr(IfcObjectiveEnum, 'CODECOMPLIANCE', INDETERMINATE) -codewaiver = express_getattr(IfcObjectiveEnum, 'CODEWAIVER', INDETERMINATE) -designintent = express_getattr(IfcObjectiveEnum, 'DESIGNINTENT', INDETERMINATE) -external = express_getattr(IfcObjectiveEnum, 'EXTERNAL', INDETERMINATE) -healthandsafety = express_getattr(IfcObjectiveEnum, 'HEALTHANDSAFETY', INDETERMINATE) -mergeconflict = express_getattr(IfcObjectiveEnum, 'MERGECONFLICT', INDETERMINATE) -modelview = express_getattr(IfcObjectiveEnum, 'MODELVIEW', INDETERMINATE) -parameter = express_getattr(IfcObjectiveEnum, 'PARAMETER', INDETERMINATE) -requirement = express_getattr(IfcObjectiveEnum, 'REQUIREMENT', INDETERMINATE) -specification = express_getattr(IfcObjectiveEnum, 'SPECIFICATION', INDETERMINATE) -triggercondition = express_getattr(IfcObjectiveEnum, 'TRIGGERCONDITION', INDETERMINATE) -userdefined = express_getattr(IfcObjectiveEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcObjectiveEnum, 'NOTDEFINED', INDETERMINATE) +codecompliance = IfcObjectiveEnum.CODECOMPLIANCE +codewaiver = IfcObjectiveEnum.CODEWAIVER +designintent = IfcObjectiveEnum.DESIGNINTENT +external = IfcObjectiveEnum.EXTERNAL +healthandsafety = IfcObjectiveEnum.HEALTHANDSAFETY +mergeconflict = IfcObjectiveEnum.MERGECONFLICT +modelview = IfcObjectiveEnum.MODELVIEW +parameter = IfcObjectiveEnum.PARAMETER +requirement = IfcObjectiveEnum.REQUIREMENT +specification = IfcObjectiveEnum.SPECIFICATION +triggercondition = IfcObjectiveEnum.TRIGGERCONDITION +userdefined = IfcObjectiveEnum.USERDEFINED +notdefined = IfcObjectiveEnum.NOTDEFINED IfcOccupantTypeEnum = enum_namespace() -assignee = express_getattr(IfcOccupantTypeEnum, 'ASSIGNEE', INDETERMINATE) -assignor = express_getattr(IfcOccupantTypeEnum, 'ASSIGNOR', INDETERMINATE) -lessee = express_getattr(IfcOccupantTypeEnum, 'LESSEE', INDETERMINATE) -lessor = express_getattr(IfcOccupantTypeEnum, 'LESSOR', INDETERMINATE) -lettingagent = express_getattr(IfcOccupantTypeEnum, 'LETTINGAGENT', INDETERMINATE) -owner = express_getattr(IfcOccupantTypeEnum, 'OWNER', INDETERMINATE) -tenant = express_getattr(IfcOccupantTypeEnum, 'TENANT', INDETERMINATE) -userdefined = express_getattr(IfcOccupantTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOccupantTypeEnum, 'NOTDEFINED', INDETERMINATE) +assignee = IfcOccupantTypeEnum.ASSIGNEE +assignor = IfcOccupantTypeEnum.ASSIGNOR +lessee = IfcOccupantTypeEnum.LESSEE +lessor = IfcOccupantTypeEnum.LESSOR +lettingagent = IfcOccupantTypeEnum.LETTINGAGENT +owner = IfcOccupantTypeEnum.OWNER +tenant = IfcOccupantTypeEnum.TENANT +userdefined = IfcOccupantTypeEnum.USERDEFINED +notdefined = IfcOccupantTypeEnum.NOTDEFINED IfcOpeningElementTypeEnum = enum_namespace() -opening = express_getattr(IfcOpeningElementTypeEnum, 'OPENING', INDETERMINATE) -recess = express_getattr(IfcOpeningElementTypeEnum, 'RECESS', INDETERMINATE) -userdefined = express_getattr(IfcOpeningElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOpeningElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +opening = IfcOpeningElementTypeEnum.OPENING +recess = IfcOpeningElementTypeEnum.RECESS +userdefined = IfcOpeningElementTypeEnum.USERDEFINED +notdefined = IfcOpeningElementTypeEnum.NOTDEFINED IfcOutletTypeEnum = enum_namespace() -audiovisualoutlet = express_getattr(IfcOutletTypeEnum, 'AUDIOVISUALOUTLET', INDETERMINATE) -communicationsoutlet = express_getattr(IfcOutletTypeEnum, 'COMMUNICATIONSOUTLET', INDETERMINATE) -poweroutlet = express_getattr(IfcOutletTypeEnum, 'POWEROUTLET', INDETERMINATE) -dataoutlet = express_getattr(IfcOutletTypeEnum, 'DATAOUTLET', INDETERMINATE) -telephoneoutlet = express_getattr(IfcOutletTypeEnum, 'TELEPHONEOUTLET', INDETERMINATE) -userdefined = express_getattr(IfcOutletTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOutletTypeEnum, 'NOTDEFINED', INDETERMINATE) +audiovisualoutlet = IfcOutletTypeEnum.AUDIOVISUALOUTLET +communicationsoutlet = IfcOutletTypeEnum.COMMUNICATIONSOUTLET +poweroutlet = IfcOutletTypeEnum.POWEROUTLET +dataoutlet = IfcOutletTypeEnum.DATAOUTLET +telephoneoutlet = IfcOutletTypeEnum.TELEPHONEOUTLET +userdefined = IfcOutletTypeEnum.USERDEFINED +notdefined = IfcOutletTypeEnum.NOTDEFINED IfcPerformanceHistoryTypeEnum = enum_namespace() -userdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcPerformanceHistoryTypeEnum.USERDEFINED +notdefined = IfcPerformanceHistoryTypeEnum.NOTDEFINED IfcPermeableCoveringOperationEnum = enum_namespace() -grill = express_getattr(IfcPermeableCoveringOperationEnum, 'GRILL', INDETERMINATE) -louver = express_getattr(IfcPermeableCoveringOperationEnum, 'LOUVER', INDETERMINATE) -screen = express_getattr(IfcPermeableCoveringOperationEnum, 'SCREEN', INDETERMINATE) -userdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'NOTDEFINED', INDETERMINATE) +grill = IfcPermeableCoveringOperationEnum.GRILL +louver = IfcPermeableCoveringOperationEnum.LOUVER +screen = IfcPermeableCoveringOperationEnum.SCREEN +userdefined = IfcPermeableCoveringOperationEnum.USERDEFINED +notdefined = IfcPermeableCoveringOperationEnum.NOTDEFINED IfcPermitTypeEnum = enum_namespace() -access = express_getattr(IfcPermitTypeEnum, 'ACCESS', INDETERMINATE) -building = express_getattr(IfcPermitTypeEnum, 'BUILDING', INDETERMINATE) -work = express_getattr(IfcPermitTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcPermitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermitTypeEnum, 'NOTDEFINED', INDETERMINATE) +access = IfcPermitTypeEnum.ACCESS +building = IfcPermitTypeEnum.BUILDING +work = IfcPermitTypeEnum.WORK +userdefined = IfcPermitTypeEnum.USERDEFINED +notdefined = IfcPermitTypeEnum.NOTDEFINED IfcPhysicalOrVirtualEnum = enum_namespace() -physical = express_getattr(IfcPhysicalOrVirtualEnum, 'PHYSICAL', INDETERMINATE) -virtual = express_getattr(IfcPhysicalOrVirtualEnum, 'VIRTUAL', INDETERMINATE) -notdefined = express_getattr(IfcPhysicalOrVirtualEnum, 'NOTDEFINED', INDETERMINATE) +physical = IfcPhysicalOrVirtualEnum.PHYSICAL +virtual = IfcPhysicalOrVirtualEnum.VIRTUAL +notdefined = IfcPhysicalOrVirtualEnum.NOTDEFINED IfcPileConstructionEnum = enum_namespace() -cast_in_place = express_getattr(IfcPileConstructionEnum, 'CAST_IN_PLACE', INDETERMINATE) -composite = express_getattr(IfcPileConstructionEnum, 'COMPOSITE', INDETERMINATE) -precast_concrete = express_getattr(IfcPileConstructionEnum, 'PRECAST_CONCRETE', INDETERMINATE) -prefab_steel = express_getattr(IfcPileConstructionEnum, 'PREFAB_STEEL', INDETERMINATE) -userdefined = express_getattr(IfcPileConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileConstructionEnum, 'NOTDEFINED', INDETERMINATE) +cast_in_place = IfcPileConstructionEnum.CAST_IN_PLACE +composite = IfcPileConstructionEnum.COMPOSITE +precast_concrete = IfcPileConstructionEnum.PRECAST_CONCRETE +prefab_steel = IfcPileConstructionEnum.PREFAB_STEEL +userdefined = IfcPileConstructionEnum.USERDEFINED +notdefined = IfcPileConstructionEnum.NOTDEFINED IfcPileTypeEnum = enum_namespace() -bored = express_getattr(IfcPileTypeEnum, 'BORED', INDETERMINATE) -driven = express_getattr(IfcPileTypeEnum, 'DRIVEN', INDETERMINATE) -jetgrouting = express_getattr(IfcPileTypeEnum, 'JETGROUTING', INDETERMINATE) -cohesion = express_getattr(IfcPileTypeEnum, 'COHESION', INDETERMINATE) -friction = express_getattr(IfcPileTypeEnum, 'FRICTION', INDETERMINATE) -support = express_getattr(IfcPileTypeEnum, 'SUPPORT', INDETERMINATE) -userdefined = express_getattr(IfcPileTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileTypeEnum, 'NOTDEFINED', INDETERMINATE) +bored = IfcPileTypeEnum.BORED +driven = IfcPileTypeEnum.DRIVEN +jetgrouting = IfcPileTypeEnum.JETGROUTING +cohesion = IfcPileTypeEnum.COHESION +friction = IfcPileTypeEnum.FRICTION +support = IfcPileTypeEnum.SUPPORT +userdefined = IfcPileTypeEnum.USERDEFINED +notdefined = IfcPileTypeEnum.NOTDEFINED IfcPipeFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcPipeFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcPipeFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcPipeFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcPipeFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcPipeFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcPipeFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcPipeFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcPipeFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcPipeFittingTypeEnum.BEND +connector = IfcPipeFittingTypeEnum.CONNECTOR +entry = IfcPipeFittingTypeEnum.ENTRY +exit = IfcPipeFittingTypeEnum.EXIT +junction = IfcPipeFittingTypeEnum.JUNCTION +obstruction = IfcPipeFittingTypeEnum.OBSTRUCTION +transition = IfcPipeFittingTypeEnum.TRANSITION +userdefined = IfcPipeFittingTypeEnum.USERDEFINED +notdefined = IfcPipeFittingTypeEnum.NOTDEFINED IfcPipeSegmentTypeEnum = enum_namespace() -culvert = express_getattr(IfcPipeSegmentTypeEnum, 'CULVERT', INDETERMINATE) -flexiblesegment = express_getattr(IfcPipeSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -rigidsegment = express_getattr(IfcPipeSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -gutter = express_getattr(IfcPipeSegmentTypeEnum, 'GUTTER', INDETERMINATE) -spool = express_getattr(IfcPipeSegmentTypeEnum, 'SPOOL', INDETERMINATE) -userdefined = express_getattr(IfcPipeSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +culvert = IfcPipeSegmentTypeEnum.CULVERT +flexiblesegment = IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT +rigidsegment = IfcPipeSegmentTypeEnum.RIGIDSEGMENT +gutter = IfcPipeSegmentTypeEnum.GUTTER +spool = IfcPipeSegmentTypeEnum.SPOOL +userdefined = IfcPipeSegmentTypeEnum.USERDEFINED +notdefined = IfcPipeSegmentTypeEnum.NOTDEFINED IfcPlateTypeEnum = enum_namespace() -curtain_panel = express_getattr(IfcPlateTypeEnum, 'CURTAIN_PANEL', INDETERMINATE) -sheet = express_getattr(IfcPlateTypeEnum, 'SHEET', INDETERMINATE) -flange_plate = express_getattr(IfcPlateTypeEnum, 'FLANGE_PLATE', INDETERMINATE) -web_plate = express_getattr(IfcPlateTypeEnum, 'WEB_PLATE', INDETERMINATE) -stiffener_plate = express_getattr(IfcPlateTypeEnum, 'STIFFENER_PLATE', INDETERMINATE) -gusset_plate = express_getattr(IfcPlateTypeEnum, 'GUSSET_PLATE', INDETERMINATE) -cover_plate = express_getattr(IfcPlateTypeEnum, 'COVER_PLATE', INDETERMINATE) -splice_plate = express_getattr(IfcPlateTypeEnum, 'SPLICE_PLATE', INDETERMINATE) -base_plate = express_getattr(IfcPlateTypeEnum, 'BASE_PLATE', INDETERMINATE) -userdefined = express_getattr(IfcPlateTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPlateTypeEnum, 'NOTDEFINED', INDETERMINATE) +curtain_panel = IfcPlateTypeEnum.CURTAIN_PANEL +sheet = IfcPlateTypeEnum.SHEET +flange_plate = IfcPlateTypeEnum.FLANGE_PLATE +web_plate = IfcPlateTypeEnum.WEB_PLATE +stiffener_plate = IfcPlateTypeEnum.STIFFENER_PLATE +gusset_plate = IfcPlateTypeEnum.GUSSET_PLATE +cover_plate = IfcPlateTypeEnum.COVER_PLATE +splice_plate = IfcPlateTypeEnum.SPLICE_PLATE +base_plate = IfcPlateTypeEnum.BASE_PLATE +userdefined = IfcPlateTypeEnum.USERDEFINED +notdefined = IfcPlateTypeEnum.NOTDEFINED IfcPreferredSurfaceCurveRepresentation = enum_namespace() -curve3d = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'CURVE3D', INDETERMINATE) -pcurve_s1 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S1', INDETERMINATE) -pcurve_s2 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S2', INDETERMINATE) +curve3d = IfcPreferredSurfaceCurveRepresentation.CURVE3D +pcurve_s1 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S1 +pcurve_s2 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S2 IfcProcedureTypeEnum = enum_namespace() -advice_caution = express_getattr(IfcProcedureTypeEnum, 'ADVICE_CAUTION', INDETERMINATE) -advice_note = express_getattr(IfcProcedureTypeEnum, 'ADVICE_NOTE', INDETERMINATE) -advice_warning = express_getattr(IfcProcedureTypeEnum, 'ADVICE_WARNING', INDETERMINATE) -calibration = express_getattr(IfcProcedureTypeEnum, 'CALIBRATION', INDETERMINATE) -diagnostic = express_getattr(IfcProcedureTypeEnum, 'DIAGNOSTIC', INDETERMINATE) -shutdown = express_getattr(IfcProcedureTypeEnum, 'SHUTDOWN', INDETERMINATE) -startup = express_getattr(IfcProcedureTypeEnum, 'STARTUP', INDETERMINATE) -userdefined = express_getattr(IfcProcedureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProcedureTypeEnum, 'NOTDEFINED', INDETERMINATE) +advice_caution = IfcProcedureTypeEnum.ADVICE_CAUTION +advice_note = IfcProcedureTypeEnum.ADVICE_NOTE +advice_warning = IfcProcedureTypeEnum.ADVICE_WARNING +calibration = IfcProcedureTypeEnum.CALIBRATION +diagnostic = IfcProcedureTypeEnum.DIAGNOSTIC +shutdown = IfcProcedureTypeEnum.SHUTDOWN +startup = IfcProcedureTypeEnum.STARTUP +userdefined = IfcProcedureTypeEnum.USERDEFINED +notdefined = IfcProcedureTypeEnum.NOTDEFINED IfcProfileTypeEnum = enum_namespace() -curve = express_getattr(IfcProfileTypeEnum, 'CURVE', INDETERMINATE) -area = express_getattr(IfcProfileTypeEnum, 'AREA', INDETERMINATE) +curve = IfcProfileTypeEnum.CURVE +area = IfcProfileTypeEnum.AREA IfcProjectOrderTypeEnum = enum_namespace() -changeorder = express_getattr(IfcProjectOrderTypeEnum, 'CHANGEORDER', INDETERMINATE) -maintenanceworkorder = express_getattr(IfcProjectOrderTypeEnum, 'MAINTENANCEWORKORDER', INDETERMINATE) -moveorder = express_getattr(IfcProjectOrderTypeEnum, 'MOVEORDER', INDETERMINATE) -purchaseorder = express_getattr(IfcProjectOrderTypeEnum, 'PURCHASEORDER', INDETERMINATE) -workorder = express_getattr(IfcProjectOrderTypeEnum, 'WORKORDER', INDETERMINATE) -userdefined = express_getattr(IfcProjectOrderTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectOrderTypeEnum, 'NOTDEFINED', INDETERMINATE) +changeorder = IfcProjectOrderTypeEnum.CHANGEORDER +maintenanceworkorder = IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER +moveorder = IfcProjectOrderTypeEnum.MOVEORDER +purchaseorder = IfcProjectOrderTypeEnum.PURCHASEORDER +workorder = IfcProjectOrderTypeEnum.WORKORDER +userdefined = IfcProjectOrderTypeEnum.USERDEFINED +notdefined = IfcProjectOrderTypeEnum.NOTDEFINED IfcProjectedOrTrueLengthEnum = enum_namespace() -projected_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'PROJECTED_LENGTH', INDETERMINATE) -true_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'TRUE_LENGTH', INDETERMINATE) +projected_length = IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH +true_length = IfcProjectedOrTrueLengthEnum.TRUE_LENGTH IfcProjectionElementTypeEnum = enum_namespace() -blister = express_getattr(IfcProjectionElementTypeEnum, 'BLISTER', INDETERMINATE) -deviator = express_getattr(IfcProjectionElementTypeEnum, 'DEVIATOR', INDETERMINATE) -userdefined = express_getattr(IfcProjectionElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectionElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +blister = IfcProjectionElementTypeEnum.BLISTER +deviator = IfcProjectionElementTypeEnum.DEVIATOR +userdefined = IfcProjectionElementTypeEnum.USERDEFINED +notdefined = IfcProjectionElementTypeEnum.NOTDEFINED IfcPropertySetTemplateTypeEnum = enum_namespace() -pset_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENONLY', INDETERMINATE) -pset_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENOVERRIDE', INDETERMINATE) -pset_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_OCCURRENCEDRIVEN', INDETERMINATE) -pset_performancedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_PERFORMANCEDRIVEN', INDETERMINATE) -qto_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENONLY', INDETERMINATE) -qto_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENOVERRIDE', INDETERMINATE) -qto_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_OCCURRENCEDRIVEN', INDETERMINATE) -notdefined = express_getattr(IfcPropertySetTemplateTypeEnum, 'NOTDEFINED', INDETERMINATE) +pset_typedrivenonly = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENONLY +pset_typedrivenoverride = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENOVERRIDE +pset_occurrencedriven = IfcPropertySetTemplateTypeEnum.PSET_OCCURRENCEDRIVEN +pset_performancedriven = IfcPropertySetTemplateTypeEnum.PSET_PERFORMANCEDRIVEN +qto_typedrivenonly = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENONLY +qto_typedrivenoverride = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENOVERRIDE +qto_occurrencedriven = IfcPropertySetTemplateTypeEnum.QTO_OCCURRENCEDRIVEN +notdefined = IfcPropertySetTemplateTypeEnum.NOTDEFINED IfcProtectiveDeviceTrippingUnitTypeEnum = enum_namespace() -electronic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTRONIC', INDETERMINATE) -electromagnetic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTROMAGNETIC', INDETERMINATE) -residualcurrent = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'RESIDUALCURRENT', INDETERMINATE) -thermal = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'THERMAL', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'NOTDEFINED', INDETERMINATE) +electronic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTRONIC +electromagnetic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTROMAGNETIC +residualcurrent = IfcProtectiveDeviceTrippingUnitTypeEnum.RESIDUALCURRENT +thermal = IfcProtectiveDeviceTrippingUnitTypeEnum.THERMAL +userdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.NOTDEFINED IfcProtectiveDeviceTypeEnum = enum_namespace() -circuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'CIRCUITBREAKER', INDETERMINATE) -earthleakagecircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHLEAKAGECIRCUITBREAKER', INDETERMINATE) -earthingswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHINGSWITCH', INDETERMINATE) -fusedisconnector = express_getattr(IfcProtectiveDeviceTypeEnum, 'FUSEDISCONNECTOR', INDETERMINATE) -residualcurrentcircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTCIRCUITBREAKER', INDETERMINATE) -residualcurrentswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTSWITCH', INDETERMINATE) -varistor = express_getattr(IfcProtectiveDeviceTypeEnum, 'VARISTOR', INDETERMINATE) -anti_arcing_device = express_getattr(IfcProtectiveDeviceTypeEnum, 'ANTI_ARCING_DEVICE', INDETERMINATE) -sparkgap = express_getattr(IfcProtectiveDeviceTypeEnum, 'SPARKGAP', INDETERMINATE) -voltagelimiter = express_getattr(IfcProtectiveDeviceTypeEnum, 'VOLTAGELIMITER', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +circuitbreaker = IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER +earthleakagecircuitbreaker = IfcProtectiveDeviceTypeEnum.EARTHLEAKAGECIRCUITBREAKER +earthingswitch = IfcProtectiveDeviceTypeEnum.EARTHINGSWITCH +fusedisconnector = IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR +residualcurrentcircuitbreaker = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER +residualcurrentswitch = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH +varistor = IfcProtectiveDeviceTypeEnum.VARISTOR +anti_arcing_device = IfcProtectiveDeviceTypeEnum.ANTI_ARCING_DEVICE +sparkgap = IfcProtectiveDeviceTypeEnum.SPARKGAP +voltagelimiter = IfcProtectiveDeviceTypeEnum.VOLTAGELIMITER +userdefined = IfcProtectiveDeviceTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTypeEnum.NOTDEFINED IfcPumpTypeEnum = enum_namespace() -circulator = express_getattr(IfcPumpTypeEnum, 'CIRCULATOR', INDETERMINATE) -endsuction = express_getattr(IfcPumpTypeEnum, 'ENDSUCTION', INDETERMINATE) -splitcase = express_getattr(IfcPumpTypeEnum, 'SPLITCASE', INDETERMINATE) -submersiblepump = express_getattr(IfcPumpTypeEnum, 'SUBMERSIBLEPUMP', INDETERMINATE) -sumppump = express_getattr(IfcPumpTypeEnum, 'SUMPPUMP', INDETERMINATE) -verticalinline = express_getattr(IfcPumpTypeEnum, 'VERTICALINLINE', INDETERMINATE) -verticalturbine = express_getattr(IfcPumpTypeEnum, 'VERTICALTURBINE', INDETERMINATE) -userdefined = express_getattr(IfcPumpTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPumpTypeEnum, 'NOTDEFINED', INDETERMINATE) +circulator = IfcPumpTypeEnum.CIRCULATOR +endsuction = IfcPumpTypeEnum.ENDSUCTION +splitcase = IfcPumpTypeEnum.SPLITCASE +submersiblepump = IfcPumpTypeEnum.SUBMERSIBLEPUMP +sumppump = IfcPumpTypeEnum.SUMPPUMP +verticalinline = IfcPumpTypeEnum.VERTICALINLINE +verticalturbine = IfcPumpTypeEnum.VERTICALTURBINE +userdefined = IfcPumpTypeEnum.USERDEFINED +notdefined = IfcPumpTypeEnum.NOTDEFINED IfcRailTypeEnum = enum_namespace() -rackrail = express_getattr(IfcRailTypeEnum, 'RACKRAIL', INDETERMINATE) -blade = express_getattr(IfcRailTypeEnum, 'BLADE', INDETERMINATE) -guardrail = express_getattr(IfcRailTypeEnum, 'GUARDRAIL', INDETERMINATE) -stockrail = express_getattr(IfcRailTypeEnum, 'STOCKRAIL', INDETERMINATE) -checkrail = express_getattr(IfcRailTypeEnum, 'CHECKRAIL', INDETERMINATE) -rail = express_getattr(IfcRailTypeEnum, 'RAIL', INDETERMINATE) -userdefined = express_getattr(IfcRailTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailTypeEnum, 'NOTDEFINED', INDETERMINATE) +rackrail = IfcRailTypeEnum.RACKRAIL +blade = IfcRailTypeEnum.BLADE +guardrail = IfcRailTypeEnum.GUARDRAIL +stockrail = IfcRailTypeEnum.STOCKRAIL +checkrail = IfcRailTypeEnum.CHECKRAIL +rail = IfcRailTypeEnum.RAIL +userdefined = IfcRailTypeEnum.USERDEFINED +notdefined = IfcRailTypeEnum.NOTDEFINED IfcRailingTypeEnum = enum_namespace() -handrail = express_getattr(IfcRailingTypeEnum, 'HANDRAIL', INDETERMINATE) -guardrail = express_getattr(IfcRailingTypeEnum, 'GUARDRAIL', INDETERMINATE) -balustrade = express_getattr(IfcRailingTypeEnum, 'BALUSTRADE', INDETERMINATE) -fence = express_getattr(IfcRailingTypeEnum, 'FENCE', INDETERMINATE) -userdefined = express_getattr(IfcRailingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailingTypeEnum, 'NOTDEFINED', INDETERMINATE) +handrail = IfcRailingTypeEnum.HANDRAIL +guardrail = IfcRailingTypeEnum.GUARDRAIL +balustrade = IfcRailingTypeEnum.BALUSTRADE +fence = IfcRailingTypeEnum.FENCE +userdefined = IfcRailingTypeEnum.USERDEFINED +notdefined = IfcRailingTypeEnum.NOTDEFINED IfcRailwayPartTypeEnum = enum_namespace() -trackstructure = express_getattr(IfcRailwayPartTypeEnum, 'TRACKSTRUCTURE', INDETERMINATE) -trackstructurepart = express_getattr(IfcRailwayPartTypeEnum, 'TRACKSTRUCTUREPART', INDETERMINATE) -linesidestructurepart = express_getattr(IfcRailwayPartTypeEnum, 'LINESIDESTRUCTUREPART', INDETERMINATE) -dilatationsuperstructure = express_getattr(IfcRailwayPartTypeEnum, 'DILATATIONSUPERSTRUCTURE', INDETERMINATE) -plaintracksupestructure = express_getattr(IfcRailwayPartTypeEnum, 'PLAINTRACKSUPESTRUCTURE', INDETERMINATE) -linesidestructure = express_getattr(IfcRailwayPartTypeEnum, 'LINESIDESTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcRailwayPartTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -turnoutsuperstructure = express_getattr(IfcRailwayPartTypeEnum, 'TURNOUTSUPERSTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcRailwayPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailwayPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +trackstructure = IfcRailwayPartTypeEnum.TRACKSTRUCTURE +trackstructurepart = IfcRailwayPartTypeEnum.TRACKSTRUCTUREPART +linesidestructurepart = IfcRailwayPartTypeEnum.LINESIDESTRUCTUREPART +dilatationsuperstructure = IfcRailwayPartTypeEnum.DILATATIONSUPERSTRUCTURE +plaintracksupestructure = IfcRailwayPartTypeEnum.PLAINTRACKSUPESTRUCTURE +linesidestructure = IfcRailwayPartTypeEnum.LINESIDESTRUCTURE +superstructure = IfcRailwayPartTypeEnum.SUPERSTRUCTURE +turnoutsuperstructure = IfcRailwayPartTypeEnum.TURNOUTSUPERSTRUCTURE +userdefined = IfcRailwayPartTypeEnum.USERDEFINED +notdefined = IfcRailwayPartTypeEnum.NOTDEFINED IfcRampFlightTypeEnum = enum_namespace() -straight = express_getattr(IfcRampFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -spiral = express_getattr(IfcRampFlightTypeEnum, 'SPIRAL', INDETERMINATE) -userdefined = express_getattr(IfcRampFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight = IfcRampFlightTypeEnum.STRAIGHT +spiral = IfcRampFlightTypeEnum.SPIRAL +userdefined = IfcRampFlightTypeEnum.USERDEFINED +notdefined = IfcRampFlightTypeEnum.NOTDEFINED IfcRampTypeEnum = enum_namespace() -straight_run_ramp = express_getattr(IfcRampTypeEnum, 'STRAIGHT_RUN_RAMP', INDETERMINATE) -two_straight_run_ramp = express_getattr(IfcRampTypeEnum, 'TWO_STRAIGHT_RUN_RAMP', INDETERMINATE) -quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'QUARTER_TURN_RAMP', INDETERMINATE) -two_quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'TWO_QUARTER_TURN_RAMP', INDETERMINATE) -half_turn_ramp = express_getattr(IfcRampTypeEnum, 'HALF_TURN_RAMP', INDETERMINATE) -spiral_ramp = express_getattr(IfcRampTypeEnum, 'SPIRAL_RAMP', INDETERMINATE) -userdefined = express_getattr(IfcRampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight_run_ramp = IfcRampTypeEnum.STRAIGHT_RUN_RAMP +two_straight_run_ramp = IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP +quarter_turn_ramp = IfcRampTypeEnum.QUARTER_TURN_RAMP +two_quarter_turn_ramp = IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP +half_turn_ramp = IfcRampTypeEnum.HALF_TURN_RAMP +spiral_ramp = IfcRampTypeEnum.SPIRAL_RAMP +userdefined = IfcRampTypeEnum.USERDEFINED +notdefined = IfcRampTypeEnum.NOTDEFINED IfcRecurrenceTypeEnum = enum_namespace() -daily = express_getattr(IfcRecurrenceTypeEnum, 'DAILY', INDETERMINATE) -weekly = express_getattr(IfcRecurrenceTypeEnum, 'WEEKLY', INDETERMINATE) -monthly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_DAY_OF_MONTH', INDETERMINATE) -monthly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_POSITION', INDETERMINATE) -by_day_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_DAY_COUNT', INDETERMINATE) -by_weekday_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_WEEKDAY_COUNT', INDETERMINATE) -yearly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_DAY_OF_MONTH', INDETERMINATE) -yearly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_POSITION', INDETERMINATE) +daily = IfcRecurrenceTypeEnum.DAILY +weekly = IfcRecurrenceTypeEnum.WEEKLY +monthly_by_day_of_month = IfcRecurrenceTypeEnum.MONTHLY_BY_DAY_OF_MONTH +monthly_by_position = IfcRecurrenceTypeEnum.MONTHLY_BY_POSITION +by_day_count = IfcRecurrenceTypeEnum.BY_DAY_COUNT +by_weekday_count = IfcRecurrenceTypeEnum.BY_WEEKDAY_COUNT +yearly_by_day_of_month = IfcRecurrenceTypeEnum.YEARLY_BY_DAY_OF_MONTH +yearly_by_position = IfcRecurrenceTypeEnum.YEARLY_BY_POSITION IfcReferentTypeEnum = enum_namespace() -kilopoint = express_getattr(IfcReferentTypeEnum, 'KILOPOINT', INDETERMINATE) -milepoint = express_getattr(IfcReferentTypeEnum, 'MILEPOINT', INDETERMINATE) -station = express_getattr(IfcReferentTypeEnum, 'STATION', INDETERMINATE) -referencemarker = express_getattr(IfcReferentTypeEnum, 'REFERENCEMARKER', INDETERMINATE) -userdefined = express_getattr(IfcReferentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReferentTypeEnum, 'NOTDEFINED', INDETERMINATE) +kilopoint = IfcReferentTypeEnum.KILOPOINT +milepoint = IfcReferentTypeEnum.MILEPOINT +station = IfcReferentTypeEnum.STATION +referencemarker = IfcReferentTypeEnum.REFERENCEMARKER +userdefined = IfcReferentTypeEnum.USERDEFINED +notdefined = IfcReferentTypeEnum.NOTDEFINED IfcReflectanceMethodEnum = enum_namespace() -blinn = express_getattr(IfcReflectanceMethodEnum, 'BLINN', INDETERMINATE) -flat = express_getattr(IfcReflectanceMethodEnum, 'FLAT', INDETERMINATE) -glass = express_getattr(IfcReflectanceMethodEnum, 'GLASS', INDETERMINATE) -matt = express_getattr(IfcReflectanceMethodEnum, 'MATT', INDETERMINATE) -metal = express_getattr(IfcReflectanceMethodEnum, 'METAL', INDETERMINATE) -mirror = express_getattr(IfcReflectanceMethodEnum, 'MIRROR', INDETERMINATE) -phong = express_getattr(IfcReflectanceMethodEnum, 'PHONG', INDETERMINATE) -plastic = express_getattr(IfcReflectanceMethodEnum, 'PLASTIC', INDETERMINATE) -strauss = express_getattr(IfcReflectanceMethodEnum, 'STRAUSS', INDETERMINATE) -notdefined = express_getattr(IfcReflectanceMethodEnum, 'NOTDEFINED', INDETERMINATE) +blinn = IfcReflectanceMethodEnum.BLINN +flat = IfcReflectanceMethodEnum.FLAT +glass = IfcReflectanceMethodEnum.GLASS +matt = IfcReflectanceMethodEnum.MATT +metal = IfcReflectanceMethodEnum.METAL +mirror = IfcReflectanceMethodEnum.MIRROR +phong = IfcReflectanceMethodEnum.PHONG +plastic = IfcReflectanceMethodEnum.PLASTIC +strauss = IfcReflectanceMethodEnum.STRAUSS +notdefined = IfcReflectanceMethodEnum.NOTDEFINED IfcReinforcedSoilTypeEnum = enum_namespace() -surchargepreloaded = express_getattr(IfcReinforcedSoilTypeEnum, 'SURCHARGEPRELOADED', INDETERMINATE) -verticallydrained = express_getattr(IfcReinforcedSoilTypeEnum, 'VERTICALLYDRAINED', INDETERMINATE) -dynamicallycompacted = express_getattr(IfcReinforcedSoilTypeEnum, 'DYNAMICALLYCOMPACTED', INDETERMINATE) -replaced = express_getattr(IfcReinforcedSoilTypeEnum, 'REPLACED', INDETERMINATE) -rollercompacted = express_getattr(IfcReinforcedSoilTypeEnum, 'ROLLERCOMPACTED', INDETERMINATE) -grouted = express_getattr(IfcReinforcedSoilTypeEnum, 'GROUTED', INDETERMINATE) -userdefined = express_getattr(IfcReinforcedSoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcedSoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +surchargepreloaded = IfcReinforcedSoilTypeEnum.SURCHARGEPRELOADED +verticallydrained = IfcReinforcedSoilTypeEnum.VERTICALLYDRAINED +dynamicallycompacted = IfcReinforcedSoilTypeEnum.DYNAMICALLYCOMPACTED +replaced = IfcReinforcedSoilTypeEnum.REPLACED +rollercompacted = IfcReinforcedSoilTypeEnum.ROLLERCOMPACTED +grouted = IfcReinforcedSoilTypeEnum.GROUTED +userdefined = IfcReinforcedSoilTypeEnum.USERDEFINED +notdefined = IfcReinforcedSoilTypeEnum.NOTDEFINED IfcReinforcingBarRoleEnum = enum_namespace() -main = express_getattr(IfcReinforcingBarRoleEnum, 'MAIN', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarRoleEnum, 'SHEAR', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarRoleEnum, 'LIGATURE', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarRoleEnum, 'STUD', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarRoleEnum, 'PUNCHING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarRoleEnum, 'EDGE', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarRoleEnum, 'RING', INDETERMINATE) -anchoring = express_getattr(IfcReinforcingBarRoleEnum, 'ANCHORING', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarRoleEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarRoleEnum, 'NOTDEFINED', INDETERMINATE) +main = IfcReinforcingBarRoleEnum.MAIN +shear = IfcReinforcingBarRoleEnum.SHEAR +ligature = IfcReinforcingBarRoleEnum.LIGATURE +stud = IfcReinforcingBarRoleEnum.STUD +punching = IfcReinforcingBarRoleEnum.PUNCHING +edge = IfcReinforcingBarRoleEnum.EDGE +ring = IfcReinforcingBarRoleEnum.RING +anchoring = IfcReinforcingBarRoleEnum.ANCHORING +userdefined = IfcReinforcingBarRoleEnum.USERDEFINED +notdefined = IfcReinforcingBarRoleEnum.NOTDEFINED IfcReinforcingBarSurfaceEnum = enum_namespace() -plain = express_getattr(IfcReinforcingBarSurfaceEnum, 'PLAIN', INDETERMINATE) -textured = express_getattr(IfcReinforcingBarSurfaceEnum, 'TEXTURED', INDETERMINATE) +plain = IfcReinforcingBarSurfaceEnum.PLAIN +textured = IfcReinforcingBarSurfaceEnum.TEXTURED IfcReinforcingBarTypeEnum = enum_namespace() -anchoring = express_getattr(IfcReinforcingBarTypeEnum, 'ANCHORING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarTypeEnum, 'EDGE', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarTypeEnum, 'LIGATURE', INDETERMINATE) -main = express_getattr(IfcReinforcingBarTypeEnum, 'MAIN', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarTypeEnum, 'PUNCHING', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarTypeEnum, 'RING', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarTypeEnum, 'SHEAR', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarTypeEnum, 'STUD', INDETERMINATE) -spacebar = express_getattr(IfcReinforcingBarTypeEnum, 'SPACEBAR', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchoring = IfcReinforcingBarTypeEnum.ANCHORING +edge = IfcReinforcingBarTypeEnum.EDGE +ligature = IfcReinforcingBarTypeEnum.LIGATURE +main = IfcReinforcingBarTypeEnum.MAIN +punching = IfcReinforcingBarTypeEnum.PUNCHING +ring = IfcReinforcingBarTypeEnum.RING +shear = IfcReinforcingBarTypeEnum.SHEAR +stud = IfcReinforcingBarTypeEnum.STUD +spacebar = IfcReinforcingBarTypeEnum.SPACEBAR +userdefined = IfcReinforcingBarTypeEnum.USERDEFINED +notdefined = IfcReinforcingBarTypeEnum.NOTDEFINED IfcReinforcingMeshTypeEnum = enum_namespace() -userdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcReinforcingMeshTypeEnum.USERDEFINED +notdefined = IfcReinforcingMeshTypeEnum.NOTDEFINED IfcRoadPartTypeEnum = enum_namespace() -roadsidepart = express_getattr(IfcRoadPartTypeEnum, 'ROADSIDEPART', INDETERMINATE) -bus_stop = express_getattr(IfcRoadPartTypeEnum, 'BUS_STOP', INDETERMINATE) -hardshoulder = express_getattr(IfcRoadPartTypeEnum, 'HARDSHOULDER', INDETERMINATE) -intersection = express_getattr(IfcRoadPartTypeEnum, 'INTERSECTION', INDETERMINATE) -passingbay = express_getattr(IfcRoadPartTypeEnum, 'PASSINGBAY', INDETERMINATE) -roadwayplateau = express_getattr(IfcRoadPartTypeEnum, 'ROADWAYPLATEAU', INDETERMINATE) -roadside = express_getattr(IfcRoadPartTypeEnum, 'ROADSIDE', INDETERMINATE) -refugeisland = express_getattr(IfcRoadPartTypeEnum, 'REFUGEISLAND', INDETERMINATE) -tollplaza = express_getattr(IfcRoadPartTypeEnum, 'TOLLPLAZA', INDETERMINATE) -centralreserve = express_getattr(IfcRoadPartTypeEnum, 'CENTRALRESERVE', INDETERMINATE) -sidewalk = express_getattr(IfcRoadPartTypeEnum, 'SIDEWALK', INDETERMINATE) -parkingbay = express_getattr(IfcRoadPartTypeEnum, 'PARKINGBAY', INDETERMINATE) -railwaycrossing = express_getattr(IfcRoadPartTypeEnum, 'RAILWAYCROSSING', INDETERMINATE) -pedestrian_crossing = express_getattr(IfcRoadPartTypeEnum, 'PEDESTRIAN_CROSSING', INDETERMINATE) -softshoulder = express_getattr(IfcRoadPartTypeEnum, 'SOFTSHOULDER', INDETERMINATE) -bicyclecrossing = express_getattr(IfcRoadPartTypeEnum, 'BICYCLECROSSING', INDETERMINATE) -centralisland = express_getattr(IfcRoadPartTypeEnum, 'CENTRALISLAND', INDETERMINATE) -shoulder = express_getattr(IfcRoadPartTypeEnum, 'SHOULDER', INDETERMINATE) -trafficlane = express_getattr(IfcRoadPartTypeEnum, 'TRAFFICLANE', INDETERMINATE) -roadsegment = express_getattr(IfcRoadPartTypeEnum, 'ROADSEGMENT', INDETERMINATE) -roundabout = express_getattr(IfcRoadPartTypeEnum, 'ROUNDABOUT', INDETERMINATE) -layby = express_getattr(IfcRoadPartTypeEnum, 'LAYBY', INDETERMINATE) -carriageway = express_getattr(IfcRoadPartTypeEnum, 'CARRIAGEWAY', INDETERMINATE) -trafficisland = express_getattr(IfcRoadPartTypeEnum, 'TRAFFICISLAND', INDETERMINATE) -userdefined = express_getattr(IfcRoadPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoadPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +roadsidepart = IfcRoadPartTypeEnum.ROADSIDEPART +bus_stop = IfcRoadPartTypeEnum.BUS_STOP +hardshoulder = IfcRoadPartTypeEnum.HARDSHOULDER +intersection = IfcRoadPartTypeEnum.INTERSECTION +passingbay = IfcRoadPartTypeEnum.PASSINGBAY +roadwayplateau = IfcRoadPartTypeEnum.ROADWAYPLATEAU +roadside = IfcRoadPartTypeEnum.ROADSIDE +refugeisland = IfcRoadPartTypeEnum.REFUGEISLAND +tollplaza = IfcRoadPartTypeEnum.TOLLPLAZA +centralreserve = IfcRoadPartTypeEnum.CENTRALRESERVE +sidewalk = IfcRoadPartTypeEnum.SIDEWALK +parkingbay = IfcRoadPartTypeEnum.PARKINGBAY +railwaycrossing = IfcRoadPartTypeEnum.RAILWAYCROSSING +pedestrian_crossing = IfcRoadPartTypeEnum.PEDESTRIAN_CROSSING +softshoulder = IfcRoadPartTypeEnum.SOFTSHOULDER +bicyclecrossing = IfcRoadPartTypeEnum.BICYCLECROSSING +centralisland = IfcRoadPartTypeEnum.CENTRALISLAND +shoulder = IfcRoadPartTypeEnum.SHOULDER +trafficlane = IfcRoadPartTypeEnum.TRAFFICLANE +roadsegment = IfcRoadPartTypeEnum.ROADSEGMENT +roundabout = IfcRoadPartTypeEnum.ROUNDABOUT +layby = IfcRoadPartTypeEnum.LAYBY +carriageway = IfcRoadPartTypeEnum.CARRIAGEWAY +trafficisland = IfcRoadPartTypeEnum.TRAFFICISLAND +userdefined = IfcRoadPartTypeEnum.USERDEFINED +notdefined = IfcRoadPartTypeEnum.NOTDEFINED IfcRoleEnum = enum_namespace() -supplier = express_getattr(IfcRoleEnum, 'SUPPLIER', INDETERMINATE) -manufacturer = express_getattr(IfcRoleEnum, 'MANUFACTURER', INDETERMINATE) -contractor = express_getattr(IfcRoleEnum, 'CONTRACTOR', INDETERMINATE) -subcontractor = express_getattr(IfcRoleEnum, 'SUBCONTRACTOR', INDETERMINATE) -architect = express_getattr(IfcRoleEnum, 'ARCHITECT', INDETERMINATE) -structuralengineer = express_getattr(IfcRoleEnum, 'STRUCTURALENGINEER', INDETERMINATE) -costengineer = express_getattr(IfcRoleEnum, 'COSTENGINEER', INDETERMINATE) -client = express_getattr(IfcRoleEnum, 'CLIENT', INDETERMINATE) -buildingowner = express_getattr(IfcRoleEnum, 'BUILDINGOWNER', INDETERMINATE) -buildingoperator = express_getattr(IfcRoleEnum, 'BUILDINGOPERATOR', INDETERMINATE) -mechanicalengineer = express_getattr(IfcRoleEnum, 'MECHANICALENGINEER', INDETERMINATE) -electricalengineer = express_getattr(IfcRoleEnum, 'ELECTRICALENGINEER', INDETERMINATE) -projectmanager = express_getattr(IfcRoleEnum, 'PROJECTMANAGER', INDETERMINATE) -facilitiesmanager = express_getattr(IfcRoleEnum, 'FACILITIESMANAGER', INDETERMINATE) -civilengineer = express_getattr(IfcRoleEnum, 'CIVILENGINEER', INDETERMINATE) -commissioningengineer = express_getattr(IfcRoleEnum, 'COMMISSIONINGENGINEER', INDETERMINATE) -engineer = express_getattr(IfcRoleEnum, 'ENGINEER', INDETERMINATE) -owner = express_getattr(IfcRoleEnum, 'OWNER', INDETERMINATE) -consultant = express_getattr(IfcRoleEnum, 'CONSULTANT', INDETERMINATE) -constructionmanager = express_getattr(IfcRoleEnum, 'CONSTRUCTIONMANAGER', INDETERMINATE) -fieldconstructionmanager = express_getattr(IfcRoleEnum, 'FIELDCONSTRUCTIONMANAGER', INDETERMINATE) -reseller = express_getattr(IfcRoleEnum, 'RESELLER', INDETERMINATE) -userdefined = express_getattr(IfcRoleEnum, 'USERDEFINED', INDETERMINATE) +supplier = IfcRoleEnum.SUPPLIER +manufacturer = IfcRoleEnum.MANUFACTURER +contractor = IfcRoleEnum.CONTRACTOR +subcontractor = IfcRoleEnum.SUBCONTRACTOR +architect = IfcRoleEnum.ARCHITECT +structuralengineer = IfcRoleEnum.STRUCTURALENGINEER +costengineer = IfcRoleEnum.COSTENGINEER +client = IfcRoleEnum.CLIENT +buildingowner = IfcRoleEnum.BUILDINGOWNER +buildingoperator = IfcRoleEnum.BUILDINGOPERATOR +mechanicalengineer = IfcRoleEnum.MECHANICALENGINEER +electricalengineer = IfcRoleEnum.ELECTRICALENGINEER +projectmanager = IfcRoleEnum.PROJECTMANAGER +facilitiesmanager = IfcRoleEnum.FACILITIESMANAGER +civilengineer = IfcRoleEnum.CIVILENGINEER +commissioningengineer = IfcRoleEnum.COMMISSIONINGENGINEER +engineer = IfcRoleEnum.ENGINEER +owner = IfcRoleEnum.OWNER +consultant = IfcRoleEnum.CONSULTANT +constructionmanager = IfcRoleEnum.CONSTRUCTIONMANAGER +fieldconstructionmanager = IfcRoleEnum.FIELDCONSTRUCTIONMANAGER +reseller = IfcRoleEnum.RESELLER +userdefined = IfcRoleEnum.USERDEFINED IfcRoofTypeEnum = enum_namespace() -flat_roof = express_getattr(IfcRoofTypeEnum, 'FLAT_ROOF', INDETERMINATE) -shed_roof = express_getattr(IfcRoofTypeEnum, 'SHED_ROOF', INDETERMINATE) -gable_roof = express_getattr(IfcRoofTypeEnum, 'GABLE_ROOF', INDETERMINATE) -hip_roof = express_getattr(IfcRoofTypeEnum, 'HIP_ROOF', INDETERMINATE) -hipped_gable_roof = express_getattr(IfcRoofTypeEnum, 'HIPPED_GABLE_ROOF', INDETERMINATE) -gambrel_roof = express_getattr(IfcRoofTypeEnum, 'GAMBREL_ROOF', INDETERMINATE) -mansard_roof = express_getattr(IfcRoofTypeEnum, 'MANSARD_ROOF', INDETERMINATE) -barrel_roof = express_getattr(IfcRoofTypeEnum, 'BARREL_ROOF', INDETERMINATE) -rainbow_roof = express_getattr(IfcRoofTypeEnum, 'RAINBOW_ROOF', INDETERMINATE) -butterfly_roof = express_getattr(IfcRoofTypeEnum, 'BUTTERFLY_ROOF', INDETERMINATE) -pavilion_roof = express_getattr(IfcRoofTypeEnum, 'PAVILION_ROOF', INDETERMINATE) -dome_roof = express_getattr(IfcRoofTypeEnum, 'DOME_ROOF', INDETERMINATE) -freeform = express_getattr(IfcRoofTypeEnum, 'FREEFORM', INDETERMINATE) -userdefined = express_getattr(IfcRoofTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoofTypeEnum, 'NOTDEFINED', INDETERMINATE) +flat_roof = IfcRoofTypeEnum.FLAT_ROOF +shed_roof = IfcRoofTypeEnum.SHED_ROOF +gable_roof = IfcRoofTypeEnum.GABLE_ROOF +hip_roof = IfcRoofTypeEnum.HIP_ROOF +hipped_gable_roof = IfcRoofTypeEnum.HIPPED_GABLE_ROOF +gambrel_roof = IfcRoofTypeEnum.GAMBREL_ROOF +mansard_roof = IfcRoofTypeEnum.MANSARD_ROOF +barrel_roof = IfcRoofTypeEnum.BARREL_ROOF +rainbow_roof = IfcRoofTypeEnum.RAINBOW_ROOF +butterfly_roof = IfcRoofTypeEnum.BUTTERFLY_ROOF +pavilion_roof = IfcRoofTypeEnum.PAVILION_ROOF +dome_roof = IfcRoofTypeEnum.DOME_ROOF +freeform = IfcRoofTypeEnum.FREEFORM +userdefined = IfcRoofTypeEnum.USERDEFINED +notdefined = IfcRoofTypeEnum.NOTDEFINED IfcSIPrefix = enum_namespace() -exa = express_getattr(IfcSIPrefix, 'EXA', INDETERMINATE) -peta = express_getattr(IfcSIPrefix, 'PETA', INDETERMINATE) -tera = express_getattr(IfcSIPrefix, 'TERA', INDETERMINATE) -giga = express_getattr(IfcSIPrefix, 'GIGA', INDETERMINATE) -mega = express_getattr(IfcSIPrefix, 'MEGA', INDETERMINATE) -kilo = express_getattr(IfcSIPrefix, 'KILO', INDETERMINATE) -hecto = express_getattr(IfcSIPrefix, 'HECTO', INDETERMINATE) -deca = express_getattr(IfcSIPrefix, 'DECA', INDETERMINATE) -deci = express_getattr(IfcSIPrefix, 'DECI', INDETERMINATE) -centi = express_getattr(IfcSIPrefix, 'CENTI', INDETERMINATE) -milli = express_getattr(IfcSIPrefix, 'MILLI', INDETERMINATE) -micro = express_getattr(IfcSIPrefix, 'MICRO', INDETERMINATE) -nano = express_getattr(IfcSIPrefix, 'NANO', INDETERMINATE) -pico = express_getattr(IfcSIPrefix, 'PICO', INDETERMINATE) -femto = express_getattr(IfcSIPrefix, 'FEMTO', INDETERMINATE) -atto = express_getattr(IfcSIPrefix, 'ATTO', INDETERMINATE) +exa = IfcSIPrefix.EXA +peta = IfcSIPrefix.PETA +tera = IfcSIPrefix.TERA +giga = IfcSIPrefix.GIGA +mega = IfcSIPrefix.MEGA +kilo = IfcSIPrefix.KILO +hecto = IfcSIPrefix.HECTO +deca = IfcSIPrefix.DECA +deci = IfcSIPrefix.DECI +centi = IfcSIPrefix.CENTI +milli = IfcSIPrefix.MILLI +micro = IfcSIPrefix.MICRO +nano = IfcSIPrefix.NANO +pico = IfcSIPrefix.PICO +femto = IfcSIPrefix.FEMTO +atto = IfcSIPrefix.ATTO IfcSIUnitName = enum_namespace() -ampere = express_getattr(IfcSIUnitName, 'AMPERE', INDETERMINATE) -becquerel = express_getattr(IfcSIUnitName, 'BECQUEREL', INDETERMINATE) -candela = express_getattr(IfcSIUnitName, 'CANDELA', INDETERMINATE) -coulomb = express_getattr(IfcSIUnitName, 'COULOMB', INDETERMINATE) -cubic_metre = express_getattr(IfcSIUnitName, 'CUBIC_METRE', INDETERMINATE) -degree_celsius = express_getattr(IfcSIUnitName, 'DEGREE_CELSIUS', INDETERMINATE) -farad = express_getattr(IfcSIUnitName, 'FARAD', INDETERMINATE) -gram = express_getattr(IfcSIUnitName, 'GRAM', INDETERMINATE) -gray = express_getattr(IfcSIUnitName, 'GRAY', INDETERMINATE) -henry = express_getattr(IfcSIUnitName, 'HENRY', INDETERMINATE) -hertz = express_getattr(IfcSIUnitName, 'HERTZ', INDETERMINATE) -joule = express_getattr(IfcSIUnitName, 'JOULE', INDETERMINATE) -kelvin = express_getattr(IfcSIUnitName, 'KELVIN', INDETERMINATE) -lumen = express_getattr(IfcSIUnitName, 'LUMEN', INDETERMINATE) -lux = express_getattr(IfcSIUnitName, 'LUX', INDETERMINATE) -metre = express_getattr(IfcSIUnitName, 'METRE', INDETERMINATE) -mole = express_getattr(IfcSIUnitName, 'MOLE', INDETERMINATE) -newton = express_getattr(IfcSIUnitName, 'NEWTON', INDETERMINATE) -ohm = express_getattr(IfcSIUnitName, 'OHM', INDETERMINATE) -pascal = express_getattr(IfcSIUnitName, 'PASCAL', INDETERMINATE) -radian = express_getattr(IfcSIUnitName, 'RADIAN', INDETERMINATE) -second = express_getattr(IfcSIUnitName, 'SECOND', INDETERMINATE) -siemens = express_getattr(IfcSIUnitName, 'SIEMENS', INDETERMINATE) -sievert = express_getattr(IfcSIUnitName, 'SIEVERT', INDETERMINATE) -square_metre = express_getattr(IfcSIUnitName, 'SQUARE_METRE', INDETERMINATE) -steradian = express_getattr(IfcSIUnitName, 'STERADIAN', INDETERMINATE) -tesla = express_getattr(IfcSIUnitName, 'TESLA', INDETERMINATE) -volt = express_getattr(IfcSIUnitName, 'VOLT', INDETERMINATE) -watt = express_getattr(IfcSIUnitName, 'WATT', INDETERMINATE) -weber = express_getattr(IfcSIUnitName, 'WEBER', INDETERMINATE) +ampere = IfcSIUnitName.AMPERE +becquerel = IfcSIUnitName.BECQUEREL +candela = IfcSIUnitName.CANDELA +coulomb = IfcSIUnitName.COULOMB +cubic_metre = IfcSIUnitName.CUBIC_METRE +degree_celsius = IfcSIUnitName.DEGREE_CELSIUS +farad = IfcSIUnitName.FARAD +gram = IfcSIUnitName.GRAM +gray = IfcSIUnitName.GRAY +henry = IfcSIUnitName.HENRY +hertz = IfcSIUnitName.HERTZ +joule = IfcSIUnitName.JOULE +kelvin = IfcSIUnitName.KELVIN +lumen = IfcSIUnitName.LUMEN +lux = IfcSIUnitName.LUX +metre = IfcSIUnitName.METRE +mole = IfcSIUnitName.MOLE +newton = IfcSIUnitName.NEWTON +ohm = IfcSIUnitName.OHM +pascal = IfcSIUnitName.PASCAL +radian = IfcSIUnitName.RADIAN +second = IfcSIUnitName.SECOND +siemens = IfcSIUnitName.SIEMENS +sievert = IfcSIUnitName.SIEVERT +square_metre = IfcSIUnitName.SQUARE_METRE +steradian = IfcSIUnitName.STERADIAN +tesla = IfcSIUnitName.TESLA +volt = IfcSIUnitName.VOLT +watt = IfcSIUnitName.WATT +weber = IfcSIUnitName.WEBER IfcSanitaryTerminalTypeEnum = enum_namespace() -bath = express_getattr(IfcSanitaryTerminalTypeEnum, 'BATH', INDETERMINATE) -bidet = express_getattr(IfcSanitaryTerminalTypeEnum, 'BIDET', INDETERMINATE) -cistern = express_getattr(IfcSanitaryTerminalTypeEnum, 'CISTERN', INDETERMINATE) -shower = express_getattr(IfcSanitaryTerminalTypeEnum, 'SHOWER', INDETERMINATE) -sink = express_getattr(IfcSanitaryTerminalTypeEnum, 'SINK', INDETERMINATE) -sanitaryfountain = express_getattr(IfcSanitaryTerminalTypeEnum, 'SANITARYFOUNTAIN', INDETERMINATE) -toiletpan = express_getattr(IfcSanitaryTerminalTypeEnum, 'TOILETPAN', INDETERMINATE) -urinal = express_getattr(IfcSanitaryTerminalTypeEnum, 'URINAL', INDETERMINATE) -washhandbasin = express_getattr(IfcSanitaryTerminalTypeEnum, 'WASHHANDBASIN', INDETERMINATE) -wcseat = express_getattr(IfcSanitaryTerminalTypeEnum, 'WCSEAT', INDETERMINATE) -userdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +bath = IfcSanitaryTerminalTypeEnum.BATH +bidet = IfcSanitaryTerminalTypeEnum.BIDET +cistern = IfcSanitaryTerminalTypeEnum.CISTERN +shower = IfcSanitaryTerminalTypeEnum.SHOWER +sink = IfcSanitaryTerminalTypeEnum.SINK +sanitaryfountain = IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN +toiletpan = IfcSanitaryTerminalTypeEnum.TOILETPAN +urinal = IfcSanitaryTerminalTypeEnum.URINAL +washhandbasin = IfcSanitaryTerminalTypeEnum.WASHHANDBASIN +wcseat = IfcSanitaryTerminalTypeEnum.WCSEAT +userdefined = IfcSanitaryTerminalTypeEnum.USERDEFINED +notdefined = IfcSanitaryTerminalTypeEnum.NOTDEFINED IfcSectionTypeEnum = enum_namespace() -uniform = express_getattr(IfcSectionTypeEnum, 'UNIFORM', INDETERMINATE) -tapered = express_getattr(IfcSectionTypeEnum, 'TAPERED', INDETERMINATE) +uniform = IfcSectionTypeEnum.UNIFORM +tapered = IfcSectionTypeEnum.TAPERED IfcSensorTypeEnum = enum_namespace() -cosensor = express_getattr(IfcSensorTypeEnum, 'COSENSOR', INDETERMINATE) -co2sensor = express_getattr(IfcSensorTypeEnum, 'CO2SENSOR', INDETERMINATE) -conductancesensor = express_getattr(IfcSensorTypeEnum, 'CONDUCTANCESENSOR', INDETERMINATE) -contactsensor = express_getattr(IfcSensorTypeEnum, 'CONTACTSENSOR', INDETERMINATE) -firesensor = express_getattr(IfcSensorTypeEnum, 'FIRESENSOR', INDETERMINATE) -flowsensor = express_getattr(IfcSensorTypeEnum, 'FLOWSENSOR', INDETERMINATE) -frostsensor = express_getattr(IfcSensorTypeEnum, 'FROSTSENSOR', INDETERMINATE) -gassensor = express_getattr(IfcSensorTypeEnum, 'GASSENSOR', INDETERMINATE) -heatsensor = express_getattr(IfcSensorTypeEnum, 'HEATSENSOR', INDETERMINATE) -humiditysensor = express_getattr(IfcSensorTypeEnum, 'HUMIDITYSENSOR', INDETERMINATE) -identifiersensor = express_getattr(IfcSensorTypeEnum, 'IDENTIFIERSENSOR', INDETERMINATE) -ionconcentrationsensor = express_getattr(IfcSensorTypeEnum, 'IONCONCENTRATIONSENSOR', INDETERMINATE) -levelsensor = express_getattr(IfcSensorTypeEnum, 'LEVELSENSOR', INDETERMINATE) -lightsensor = express_getattr(IfcSensorTypeEnum, 'LIGHTSENSOR', INDETERMINATE) -moisturesensor = express_getattr(IfcSensorTypeEnum, 'MOISTURESENSOR', INDETERMINATE) -movementsensor = express_getattr(IfcSensorTypeEnum, 'MOVEMENTSENSOR', INDETERMINATE) -phsensor = express_getattr(IfcSensorTypeEnum, 'PHSENSOR', INDETERMINATE) -pressuresensor = express_getattr(IfcSensorTypeEnum, 'PRESSURESENSOR', INDETERMINATE) -radiationsensor = express_getattr(IfcSensorTypeEnum, 'RADIATIONSENSOR', INDETERMINATE) -radioactivitysensor = express_getattr(IfcSensorTypeEnum, 'RADIOACTIVITYSENSOR', INDETERMINATE) -smokesensor = express_getattr(IfcSensorTypeEnum, 'SMOKESENSOR', INDETERMINATE) -soundsensor = express_getattr(IfcSensorTypeEnum, 'SOUNDSENSOR', INDETERMINATE) -temperaturesensor = express_getattr(IfcSensorTypeEnum, 'TEMPERATURESENSOR', INDETERMINATE) -windsensor = express_getattr(IfcSensorTypeEnum, 'WINDSENSOR', INDETERMINATE) -earthquakesensor = express_getattr(IfcSensorTypeEnum, 'EARTHQUAKESENSOR', INDETERMINATE) -foreignobjectdetectionsensor = express_getattr(IfcSensorTypeEnum, 'FOREIGNOBJECTDETECTIONSENSOR', INDETERMINATE) -obstaclesensor = express_getattr(IfcSensorTypeEnum, 'OBSTACLESENSOR', INDETERMINATE) -rainsensor = express_getattr(IfcSensorTypeEnum, 'RAINSENSOR', INDETERMINATE) -snowdepthsensor = express_getattr(IfcSensorTypeEnum, 'SNOWDEPTHSENSOR', INDETERMINATE) -trainsensor = express_getattr(IfcSensorTypeEnum, 'TRAINSENSOR', INDETERMINATE) -turnoutclosuresensor = express_getattr(IfcSensorTypeEnum, 'TURNOUTCLOSURESENSOR', INDETERMINATE) -wheelsensor = express_getattr(IfcSensorTypeEnum, 'WHEELSENSOR', INDETERMINATE) -userdefined = express_getattr(IfcSensorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSensorTypeEnum, 'NOTDEFINED', INDETERMINATE) +cosensor = IfcSensorTypeEnum.COSENSOR +co2sensor = IfcSensorTypeEnum.CO2SENSOR +conductancesensor = IfcSensorTypeEnum.CONDUCTANCESENSOR +contactsensor = IfcSensorTypeEnum.CONTACTSENSOR +firesensor = IfcSensorTypeEnum.FIRESENSOR +flowsensor = IfcSensorTypeEnum.FLOWSENSOR +frostsensor = IfcSensorTypeEnum.FROSTSENSOR +gassensor = IfcSensorTypeEnum.GASSENSOR +heatsensor = IfcSensorTypeEnum.HEATSENSOR +humiditysensor = IfcSensorTypeEnum.HUMIDITYSENSOR +identifiersensor = IfcSensorTypeEnum.IDENTIFIERSENSOR +ionconcentrationsensor = IfcSensorTypeEnum.IONCONCENTRATIONSENSOR +levelsensor = IfcSensorTypeEnum.LEVELSENSOR +lightsensor = IfcSensorTypeEnum.LIGHTSENSOR +moisturesensor = IfcSensorTypeEnum.MOISTURESENSOR +movementsensor = IfcSensorTypeEnum.MOVEMENTSENSOR +phsensor = IfcSensorTypeEnum.PHSENSOR +pressuresensor = IfcSensorTypeEnum.PRESSURESENSOR +radiationsensor = IfcSensorTypeEnum.RADIATIONSENSOR +radioactivitysensor = IfcSensorTypeEnum.RADIOACTIVITYSENSOR +smokesensor = IfcSensorTypeEnum.SMOKESENSOR +soundsensor = IfcSensorTypeEnum.SOUNDSENSOR +temperaturesensor = IfcSensorTypeEnum.TEMPERATURESENSOR +windsensor = IfcSensorTypeEnum.WINDSENSOR +earthquakesensor = IfcSensorTypeEnum.EARTHQUAKESENSOR +foreignobjectdetectionsensor = IfcSensorTypeEnum.FOREIGNOBJECTDETECTIONSENSOR +obstaclesensor = IfcSensorTypeEnum.OBSTACLESENSOR +rainsensor = IfcSensorTypeEnum.RAINSENSOR +snowdepthsensor = IfcSensorTypeEnum.SNOWDEPTHSENSOR +trainsensor = IfcSensorTypeEnum.TRAINSENSOR +turnoutclosuresensor = IfcSensorTypeEnum.TURNOUTCLOSURESENSOR +wheelsensor = IfcSensorTypeEnum.WHEELSENSOR +userdefined = IfcSensorTypeEnum.USERDEFINED +notdefined = IfcSensorTypeEnum.NOTDEFINED IfcSequenceEnum = enum_namespace() -start_start = express_getattr(IfcSequenceEnum, 'START_START', INDETERMINATE) -start_finish = express_getattr(IfcSequenceEnum, 'START_FINISH', INDETERMINATE) -finish_start = express_getattr(IfcSequenceEnum, 'FINISH_START', INDETERMINATE) -finish_finish = express_getattr(IfcSequenceEnum, 'FINISH_FINISH', INDETERMINATE) -userdefined = express_getattr(IfcSequenceEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSequenceEnum, 'NOTDEFINED', INDETERMINATE) +start_start = IfcSequenceEnum.START_START +start_finish = IfcSequenceEnum.START_FINISH +finish_start = IfcSequenceEnum.FINISH_START +finish_finish = IfcSequenceEnum.FINISH_FINISH +userdefined = IfcSequenceEnum.USERDEFINED +notdefined = IfcSequenceEnum.NOTDEFINED IfcShadingDeviceTypeEnum = enum_namespace() -jalousie = express_getattr(IfcShadingDeviceTypeEnum, 'JALOUSIE', INDETERMINATE) -shutter = express_getattr(IfcShadingDeviceTypeEnum, 'SHUTTER', INDETERMINATE) -awning = express_getattr(IfcShadingDeviceTypeEnum, 'AWNING', INDETERMINATE) -userdefined = express_getattr(IfcShadingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcShadingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +jalousie = IfcShadingDeviceTypeEnum.JALOUSIE +shutter = IfcShadingDeviceTypeEnum.SHUTTER +awning = IfcShadingDeviceTypeEnum.AWNING +userdefined = IfcShadingDeviceTypeEnum.USERDEFINED +notdefined = IfcShadingDeviceTypeEnum.NOTDEFINED IfcSignTypeEnum = enum_namespace() -marker = express_getattr(IfcSignTypeEnum, 'MARKER', INDETERMINATE) -pictoral = express_getattr(IfcSignTypeEnum, 'PICTORAL', INDETERMINATE) -mirror = express_getattr(IfcSignTypeEnum, 'MIRROR', INDETERMINATE) -userdefined = express_getattr(IfcSignTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSignTypeEnum, 'NOTDEFINED', INDETERMINATE) +marker = IfcSignTypeEnum.MARKER +pictoral = IfcSignTypeEnum.PICTORAL +mirror = IfcSignTypeEnum.MIRROR +userdefined = IfcSignTypeEnum.USERDEFINED +notdefined = IfcSignTypeEnum.NOTDEFINED IfcSignalTypeEnum = enum_namespace() -visual = express_getattr(IfcSignalTypeEnum, 'VISUAL', INDETERMINATE) -audio = express_getattr(IfcSignalTypeEnum, 'AUDIO', INDETERMINATE) -mixed = express_getattr(IfcSignalTypeEnum, 'MIXED', INDETERMINATE) -userdefined = express_getattr(IfcSignalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSignalTypeEnum, 'NOTDEFINED', INDETERMINATE) +visual = IfcSignalTypeEnum.VISUAL +audio = IfcSignalTypeEnum.AUDIO +mixed = IfcSignalTypeEnum.MIXED +userdefined = IfcSignalTypeEnum.USERDEFINED +notdefined = IfcSignalTypeEnum.NOTDEFINED IfcSimplePropertyTemplateTypeEnum = enum_namespace() -p_singlevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_SINGLEVALUE', INDETERMINATE) -p_enumeratedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_ENUMERATEDVALUE', INDETERMINATE) -p_boundedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_BOUNDEDVALUE', INDETERMINATE) -p_listvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_LISTVALUE', INDETERMINATE) -p_tablevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_TABLEVALUE', INDETERMINATE) -p_referencevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_REFERENCEVALUE', INDETERMINATE) -q_length = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_LENGTH', INDETERMINATE) -q_area = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_AREA', INDETERMINATE) -q_volume = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_VOLUME', INDETERMINATE) -q_count = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_COUNT', INDETERMINATE) -q_weight = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_WEIGHT', INDETERMINATE) -q_time = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_TIME', INDETERMINATE) +p_singlevalue = IfcSimplePropertyTemplateTypeEnum.P_SINGLEVALUE +p_enumeratedvalue = IfcSimplePropertyTemplateTypeEnum.P_ENUMERATEDVALUE +p_boundedvalue = IfcSimplePropertyTemplateTypeEnum.P_BOUNDEDVALUE +p_listvalue = IfcSimplePropertyTemplateTypeEnum.P_LISTVALUE +p_tablevalue = IfcSimplePropertyTemplateTypeEnum.P_TABLEVALUE +p_referencevalue = IfcSimplePropertyTemplateTypeEnum.P_REFERENCEVALUE +q_length = IfcSimplePropertyTemplateTypeEnum.Q_LENGTH +q_area = IfcSimplePropertyTemplateTypeEnum.Q_AREA +q_volume = IfcSimplePropertyTemplateTypeEnum.Q_VOLUME +q_count = IfcSimplePropertyTemplateTypeEnum.Q_COUNT +q_weight = IfcSimplePropertyTemplateTypeEnum.Q_WEIGHT +q_time = IfcSimplePropertyTemplateTypeEnum.Q_TIME IfcSlabTypeEnum = enum_namespace() -floor = express_getattr(IfcSlabTypeEnum, 'FLOOR', INDETERMINATE) -roof = express_getattr(IfcSlabTypeEnum, 'ROOF', INDETERMINATE) -landing = express_getattr(IfcSlabTypeEnum, 'LANDING', INDETERMINATE) -baseslab = express_getattr(IfcSlabTypeEnum, 'BASESLAB', INDETERMINATE) -approach_slab = express_getattr(IfcSlabTypeEnum, 'APPROACH_SLAB', INDETERMINATE) -paving = express_getattr(IfcSlabTypeEnum, 'PAVING', INDETERMINATE) -wearing = express_getattr(IfcSlabTypeEnum, 'WEARING', INDETERMINATE) -sidewalk = express_getattr(IfcSlabTypeEnum, 'SIDEWALK', INDETERMINATE) -trackslab = express_getattr(IfcSlabTypeEnum, 'TRACKSLAB', INDETERMINATE) -userdefined = express_getattr(IfcSlabTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSlabTypeEnum, 'NOTDEFINED', INDETERMINATE) +floor = IfcSlabTypeEnum.FLOOR +roof = IfcSlabTypeEnum.ROOF +landing = IfcSlabTypeEnum.LANDING +baseslab = IfcSlabTypeEnum.BASESLAB +approach_slab = IfcSlabTypeEnum.APPROACH_SLAB +paving = IfcSlabTypeEnum.PAVING +wearing = IfcSlabTypeEnum.WEARING +sidewalk = IfcSlabTypeEnum.SIDEWALK +trackslab = IfcSlabTypeEnum.TRACKSLAB +userdefined = IfcSlabTypeEnum.USERDEFINED +notdefined = IfcSlabTypeEnum.NOTDEFINED IfcSolarDeviceTypeEnum = enum_namespace() -solarcollector = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARCOLLECTOR', INDETERMINATE) -solarpanel = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARPANEL', INDETERMINATE) -userdefined = express_getattr(IfcSolarDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSolarDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +solarcollector = IfcSolarDeviceTypeEnum.SOLARCOLLECTOR +solarpanel = IfcSolarDeviceTypeEnum.SOLARPANEL +userdefined = IfcSolarDeviceTypeEnum.USERDEFINED +notdefined = IfcSolarDeviceTypeEnum.NOTDEFINED IfcSpaceHeaterTypeEnum = enum_namespace() -convector = express_getattr(IfcSpaceHeaterTypeEnum, 'CONVECTOR', INDETERMINATE) -radiator = express_getattr(IfcSpaceHeaterTypeEnum, 'RADIATOR', INDETERMINATE) -userdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'NOTDEFINED', INDETERMINATE) +convector = IfcSpaceHeaterTypeEnum.CONVECTOR +radiator = IfcSpaceHeaterTypeEnum.RADIATOR +userdefined = IfcSpaceHeaterTypeEnum.USERDEFINED +notdefined = IfcSpaceHeaterTypeEnum.NOTDEFINED IfcSpaceTypeEnum = enum_namespace() -space = express_getattr(IfcSpaceTypeEnum, 'SPACE', INDETERMINATE) -parking = express_getattr(IfcSpaceTypeEnum, 'PARKING', INDETERMINATE) -gfa = express_getattr(IfcSpaceTypeEnum, 'GFA', INDETERMINATE) -internal = express_getattr(IfcSpaceTypeEnum, 'INTERNAL', INDETERMINATE) -external = express_getattr(IfcSpaceTypeEnum, 'EXTERNAL', INDETERMINATE) -userdefined = express_getattr(IfcSpaceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceTypeEnum, 'NOTDEFINED', INDETERMINATE) +space = IfcSpaceTypeEnum.SPACE +parking = IfcSpaceTypeEnum.PARKING +gfa = IfcSpaceTypeEnum.GFA +internal = IfcSpaceTypeEnum.INTERNAL +external = IfcSpaceTypeEnum.EXTERNAL +userdefined = IfcSpaceTypeEnum.USERDEFINED +notdefined = IfcSpaceTypeEnum.NOTDEFINED IfcSpatialZoneTypeEnum = enum_namespace() -construction = express_getattr(IfcSpatialZoneTypeEnum, 'CONSTRUCTION', INDETERMINATE) -firesafety = express_getattr(IfcSpatialZoneTypeEnum, 'FIRESAFETY', INDETERMINATE) -lighting = express_getattr(IfcSpatialZoneTypeEnum, 'LIGHTING', INDETERMINATE) -occupancy = express_getattr(IfcSpatialZoneTypeEnum, 'OCCUPANCY', INDETERMINATE) -security = express_getattr(IfcSpatialZoneTypeEnum, 'SECURITY', INDETERMINATE) -thermal = express_getattr(IfcSpatialZoneTypeEnum, 'THERMAL', INDETERMINATE) -transport = express_getattr(IfcSpatialZoneTypeEnum, 'TRANSPORT', INDETERMINATE) -ventilation = express_getattr(IfcSpatialZoneTypeEnum, 'VENTILATION', INDETERMINATE) -reservation = express_getattr(IfcSpatialZoneTypeEnum, 'RESERVATION', INDETERMINATE) -userdefined = express_getattr(IfcSpatialZoneTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpatialZoneTypeEnum, 'NOTDEFINED', INDETERMINATE) +construction = IfcSpatialZoneTypeEnum.CONSTRUCTION +firesafety = IfcSpatialZoneTypeEnum.FIRESAFETY +lighting = IfcSpatialZoneTypeEnum.LIGHTING +occupancy = IfcSpatialZoneTypeEnum.OCCUPANCY +security = IfcSpatialZoneTypeEnum.SECURITY +thermal = IfcSpatialZoneTypeEnum.THERMAL +transport = IfcSpatialZoneTypeEnum.TRANSPORT +ventilation = IfcSpatialZoneTypeEnum.VENTILATION +reservation = IfcSpatialZoneTypeEnum.RESERVATION +userdefined = IfcSpatialZoneTypeEnum.USERDEFINED +notdefined = IfcSpatialZoneTypeEnum.NOTDEFINED IfcStackTerminalTypeEnum = enum_namespace() -birdcage = express_getattr(IfcStackTerminalTypeEnum, 'BIRDCAGE', INDETERMINATE) -cowl = express_getattr(IfcStackTerminalTypeEnum, 'COWL', INDETERMINATE) -rainwaterhopper = express_getattr(IfcStackTerminalTypeEnum, 'RAINWATERHOPPER', INDETERMINATE) -userdefined = express_getattr(IfcStackTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStackTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +birdcage = IfcStackTerminalTypeEnum.BIRDCAGE +cowl = IfcStackTerminalTypeEnum.COWL +rainwaterhopper = IfcStackTerminalTypeEnum.RAINWATERHOPPER +userdefined = IfcStackTerminalTypeEnum.USERDEFINED +notdefined = IfcStackTerminalTypeEnum.NOTDEFINED IfcStairFlightTypeEnum = enum_namespace() -straight = express_getattr(IfcStairFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -winder = express_getattr(IfcStairFlightTypeEnum, 'WINDER', INDETERMINATE) -spiral = express_getattr(IfcStairFlightTypeEnum, 'SPIRAL', INDETERMINATE) -curved = express_getattr(IfcStairFlightTypeEnum, 'CURVED', INDETERMINATE) -freeform = express_getattr(IfcStairFlightTypeEnum, 'FREEFORM', INDETERMINATE) -userdefined = express_getattr(IfcStairFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight = IfcStairFlightTypeEnum.STRAIGHT +winder = IfcStairFlightTypeEnum.WINDER +spiral = IfcStairFlightTypeEnum.SPIRAL +curved = IfcStairFlightTypeEnum.CURVED +freeform = IfcStairFlightTypeEnum.FREEFORM +userdefined = IfcStairFlightTypeEnum.USERDEFINED +notdefined = IfcStairFlightTypeEnum.NOTDEFINED IfcStairTypeEnum = enum_namespace() -straight_run_stair = express_getattr(IfcStairTypeEnum, 'STRAIGHT_RUN_STAIR', INDETERMINATE) -two_straight_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_STRAIGHT_RUN_STAIR', INDETERMINATE) -quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_WINDING_STAIR', INDETERMINATE) -quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_TURN_STAIR', INDETERMINATE) -half_winding_stair = express_getattr(IfcStairTypeEnum, 'HALF_WINDING_STAIR', INDETERMINATE) -half_turn_stair = express_getattr(IfcStairTypeEnum, 'HALF_TURN_STAIR', INDETERMINATE) -two_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_WINDING_STAIR', INDETERMINATE) -two_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_TURN_STAIR', INDETERMINATE) -three_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_WINDING_STAIR', INDETERMINATE) -three_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_TURN_STAIR', INDETERMINATE) -spiral_stair = express_getattr(IfcStairTypeEnum, 'SPIRAL_STAIR', INDETERMINATE) -double_return_stair = express_getattr(IfcStairTypeEnum, 'DOUBLE_RETURN_STAIR', INDETERMINATE) -curved_run_stair = express_getattr(IfcStairTypeEnum, 'CURVED_RUN_STAIR', INDETERMINATE) -two_curved_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_CURVED_RUN_STAIR', INDETERMINATE) -ladder = express_getattr(IfcStairTypeEnum, 'LADDER', INDETERMINATE) -userdefined = express_getattr(IfcStairTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight_run_stair = IfcStairTypeEnum.STRAIGHT_RUN_STAIR +two_straight_run_stair = IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR +quarter_winding_stair = IfcStairTypeEnum.QUARTER_WINDING_STAIR +quarter_turn_stair = IfcStairTypeEnum.QUARTER_TURN_STAIR +half_winding_stair = IfcStairTypeEnum.HALF_WINDING_STAIR +half_turn_stair = IfcStairTypeEnum.HALF_TURN_STAIR +two_quarter_winding_stair = IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR +two_quarter_turn_stair = IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR +three_quarter_winding_stair = IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR +three_quarter_turn_stair = IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR +spiral_stair = IfcStairTypeEnum.SPIRAL_STAIR +double_return_stair = IfcStairTypeEnum.DOUBLE_RETURN_STAIR +curved_run_stair = IfcStairTypeEnum.CURVED_RUN_STAIR +two_curved_run_stair = IfcStairTypeEnum.TWO_CURVED_RUN_STAIR +ladder = IfcStairTypeEnum.LADDER +userdefined = IfcStairTypeEnum.USERDEFINED +notdefined = IfcStairTypeEnum.NOTDEFINED IfcStateEnum = enum_namespace() -readwrite = express_getattr(IfcStateEnum, 'READWRITE', INDETERMINATE) -readonly = express_getattr(IfcStateEnum, 'READONLY', INDETERMINATE) -locked = express_getattr(IfcStateEnum, 'LOCKED', INDETERMINATE) -readwritelocked = express_getattr(IfcStateEnum, 'READWRITELOCKED', INDETERMINATE) -readonlylocked = express_getattr(IfcStateEnum, 'READONLYLOCKED', INDETERMINATE) +readwrite = IfcStateEnum.READWRITE +readonly = IfcStateEnum.READONLY +locked = IfcStateEnum.LOCKED +readwritelocked = IfcStateEnum.READWRITELOCKED +readonlylocked = IfcStateEnum.READONLYLOCKED IfcStructuralCurveActivityTypeEnum = enum_namespace() -const = express_getattr(IfcStructuralCurveActivityTypeEnum, 'CONST', INDETERMINATE) -linear = express_getattr(IfcStructuralCurveActivityTypeEnum, 'LINEAR', INDETERMINATE) -polygonal = express_getattr(IfcStructuralCurveActivityTypeEnum, 'POLYGONAL', INDETERMINATE) -equidistant = express_getattr(IfcStructuralCurveActivityTypeEnum, 'EQUIDISTANT', INDETERMINATE) -sinus = express_getattr(IfcStructuralCurveActivityTypeEnum, 'SINUS', INDETERMINATE) -parabola = express_getattr(IfcStructuralCurveActivityTypeEnum, 'PARABOLA', INDETERMINATE) -discrete = express_getattr(IfcStructuralCurveActivityTypeEnum, 'DISCRETE', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +const = IfcStructuralCurveActivityTypeEnum.CONST +linear = IfcStructuralCurveActivityTypeEnum.LINEAR +polygonal = IfcStructuralCurveActivityTypeEnum.POLYGONAL +equidistant = IfcStructuralCurveActivityTypeEnum.EQUIDISTANT +sinus = IfcStructuralCurveActivityTypeEnum.SINUS +parabola = IfcStructuralCurveActivityTypeEnum.PARABOLA +discrete = IfcStructuralCurveActivityTypeEnum.DISCRETE +userdefined = IfcStructuralCurveActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveActivityTypeEnum.NOTDEFINED IfcStructuralCurveMemberTypeEnum = enum_namespace() -rigid_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'RIGID_JOINED_MEMBER', INDETERMINATE) -pin_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'PIN_JOINED_MEMBER', INDETERMINATE) -cable = express_getattr(IfcStructuralCurveMemberTypeEnum, 'CABLE', INDETERMINATE) -tension_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'TENSION_MEMBER', INDETERMINATE) -compression_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'COMPRESSION_MEMBER', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +rigid_joined_member = IfcStructuralCurveMemberTypeEnum.RIGID_JOINED_MEMBER +pin_joined_member = IfcStructuralCurveMemberTypeEnum.PIN_JOINED_MEMBER +cable = IfcStructuralCurveMemberTypeEnum.CABLE +tension_member = IfcStructuralCurveMemberTypeEnum.TENSION_MEMBER +compression_member = IfcStructuralCurveMemberTypeEnum.COMPRESSION_MEMBER +userdefined = IfcStructuralCurveMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveMemberTypeEnum.NOTDEFINED IfcStructuralSurfaceActivityTypeEnum = enum_namespace() -const = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'CONST', INDETERMINATE) -bilinear = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'BILINEAR', INDETERMINATE) -discrete = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'DISCRETE', INDETERMINATE) -isocontour = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'ISOCONTOUR', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +const = IfcStructuralSurfaceActivityTypeEnum.CONST +bilinear = IfcStructuralSurfaceActivityTypeEnum.BILINEAR +discrete = IfcStructuralSurfaceActivityTypeEnum.DISCRETE +isocontour = IfcStructuralSurfaceActivityTypeEnum.ISOCONTOUR +userdefined = IfcStructuralSurfaceActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceActivityTypeEnum.NOTDEFINED IfcStructuralSurfaceMemberTypeEnum = enum_namespace() -bending_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'BENDING_ELEMENT', INDETERMINATE) -membrane_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'MEMBRANE_ELEMENT', INDETERMINATE) -shell = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'SHELL', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +bending_element = IfcStructuralSurfaceMemberTypeEnum.BENDING_ELEMENT +membrane_element = IfcStructuralSurfaceMemberTypeEnum.MEMBRANE_ELEMENT +shell = IfcStructuralSurfaceMemberTypeEnum.SHELL +userdefined = IfcStructuralSurfaceMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceMemberTypeEnum.NOTDEFINED IfcSubContractResourceTypeEnum = enum_namespace() -purchase = express_getattr(IfcSubContractResourceTypeEnum, 'PURCHASE', INDETERMINATE) -work = express_getattr(IfcSubContractResourceTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcSubContractResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSubContractResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +purchase = IfcSubContractResourceTypeEnum.PURCHASE +work = IfcSubContractResourceTypeEnum.WORK +userdefined = IfcSubContractResourceTypeEnum.USERDEFINED +notdefined = IfcSubContractResourceTypeEnum.NOTDEFINED IfcSurfaceFeatureTypeEnum = enum_namespace() -mark = express_getattr(IfcSurfaceFeatureTypeEnum, 'MARK', INDETERMINATE) -tag = express_getattr(IfcSurfaceFeatureTypeEnum, 'TAG', INDETERMINATE) -treatment = express_getattr(IfcSurfaceFeatureTypeEnum, 'TREATMENT', INDETERMINATE) -defect = express_getattr(IfcSurfaceFeatureTypeEnum, 'DEFECT', INDETERMINATE) -hatchmarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'HATCHMARKING', INDETERMINATE) -linemarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'LINEMARKING', INDETERMINATE) -pavementsurfacemarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'PAVEMENTSURFACEMARKING', INDETERMINATE) -symbolmarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'SYMBOLMARKING', INDETERMINATE) -nonskidsurfacing = express_getattr(IfcSurfaceFeatureTypeEnum, 'NONSKIDSURFACING', INDETERMINATE) -rumblestrip = express_getattr(IfcSurfaceFeatureTypeEnum, 'RUMBLESTRIP', INDETERMINATE) -transverserumblestrip = express_getattr(IfcSurfaceFeatureTypeEnum, 'TRANSVERSERUMBLESTRIP', INDETERMINATE) -userdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +mark = IfcSurfaceFeatureTypeEnum.MARK +tag = IfcSurfaceFeatureTypeEnum.TAG +treatment = IfcSurfaceFeatureTypeEnum.TREATMENT +defect = IfcSurfaceFeatureTypeEnum.DEFECT +hatchmarking = IfcSurfaceFeatureTypeEnum.HATCHMARKING +linemarking = IfcSurfaceFeatureTypeEnum.LINEMARKING +pavementsurfacemarking = IfcSurfaceFeatureTypeEnum.PAVEMENTSURFACEMARKING +symbolmarking = IfcSurfaceFeatureTypeEnum.SYMBOLMARKING +nonskidsurfacing = IfcSurfaceFeatureTypeEnum.NONSKIDSURFACING +rumblestrip = IfcSurfaceFeatureTypeEnum.RUMBLESTRIP +transverserumblestrip = IfcSurfaceFeatureTypeEnum.TRANSVERSERUMBLESTRIP +userdefined = IfcSurfaceFeatureTypeEnum.USERDEFINED +notdefined = IfcSurfaceFeatureTypeEnum.NOTDEFINED IfcSurfaceSide = enum_namespace() -positive = express_getattr(IfcSurfaceSide, 'POSITIVE', INDETERMINATE) -negative = express_getattr(IfcSurfaceSide, 'NEGATIVE', INDETERMINATE) -both = express_getattr(IfcSurfaceSide, 'BOTH', INDETERMINATE) +positive = IfcSurfaceSide.POSITIVE +negative = IfcSurfaceSide.NEGATIVE +both = IfcSurfaceSide.BOTH IfcSwitchingDeviceTypeEnum = enum_namespace() -contactor = express_getattr(IfcSwitchingDeviceTypeEnum, 'CONTACTOR', INDETERMINATE) -dimmerswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'DIMMERSWITCH', INDETERMINATE) -emergencystop = express_getattr(IfcSwitchingDeviceTypeEnum, 'EMERGENCYSTOP', INDETERMINATE) -keypad = express_getattr(IfcSwitchingDeviceTypeEnum, 'KEYPAD', INDETERMINATE) -momentaryswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'MOMENTARYSWITCH', INDETERMINATE) -selectorswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'SELECTORSWITCH', INDETERMINATE) -starter = express_getattr(IfcSwitchingDeviceTypeEnum, 'STARTER', INDETERMINATE) -switchdisconnector = express_getattr(IfcSwitchingDeviceTypeEnum, 'SWITCHDISCONNECTOR', INDETERMINATE) -toggleswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'TOGGLESWITCH', INDETERMINATE) -relay = express_getattr(IfcSwitchingDeviceTypeEnum, 'RELAY', INDETERMINATE) -start_and_stop_equipment = express_getattr(IfcSwitchingDeviceTypeEnum, 'START_AND_STOP_EQUIPMENT', INDETERMINATE) -userdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +contactor = IfcSwitchingDeviceTypeEnum.CONTACTOR +dimmerswitch = IfcSwitchingDeviceTypeEnum.DIMMERSWITCH +emergencystop = IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP +keypad = IfcSwitchingDeviceTypeEnum.KEYPAD +momentaryswitch = IfcSwitchingDeviceTypeEnum.MOMENTARYSWITCH +selectorswitch = IfcSwitchingDeviceTypeEnum.SELECTORSWITCH +starter = IfcSwitchingDeviceTypeEnum.STARTER +switchdisconnector = IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR +toggleswitch = IfcSwitchingDeviceTypeEnum.TOGGLESWITCH +relay = IfcSwitchingDeviceTypeEnum.RELAY +start_and_stop_equipment = IfcSwitchingDeviceTypeEnum.START_AND_STOP_EQUIPMENT +userdefined = IfcSwitchingDeviceTypeEnum.USERDEFINED +notdefined = IfcSwitchingDeviceTypeEnum.NOTDEFINED IfcSystemFurnitureElementTypeEnum = enum_namespace() -panel = express_getattr(IfcSystemFurnitureElementTypeEnum, 'PANEL', INDETERMINATE) -worksurface = express_getattr(IfcSystemFurnitureElementTypeEnum, 'WORKSURFACE', INDETERMINATE) -subrack = express_getattr(IfcSystemFurnitureElementTypeEnum, 'SUBRACK', INDETERMINATE) -userdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +panel = IfcSystemFurnitureElementTypeEnum.PANEL +worksurface = IfcSystemFurnitureElementTypeEnum.WORKSURFACE +subrack = IfcSystemFurnitureElementTypeEnum.SUBRACK +userdefined = IfcSystemFurnitureElementTypeEnum.USERDEFINED +notdefined = IfcSystemFurnitureElementTypeEnum.NOTDEFINED IfcTankTypeEnum = enum_namespace() -basin = express_getattr(IfcTankTypeEnum, 'BASIN', INDETERMINATE) -breakpressure = express_getattr(IfcTankTypeEnum, 'BREAKPRESSURE', INDETERMINATE) -expansion = express_getattr(IfcTankTypeEnum, 'EXPANSION', INDETERMINATE) -feedandexpansion = express_getattr(IfcTankTypeEnum, 'FEEDANDEXPANSION', INDETERMINATE) -pressurevessel = express_getattr(IfcTankTypeEnum, 'PRESSUREVESSEL', INDETERMINATE) -storage = express_getattr(IfcTankTypeEnum, 'STORAGE', INDETERMINATE) -vessel = express_getattr(IfcTankTypeEnum, 'VESSEL', INDETERMINATE) -oilretentiontray = express_getattr(IfcTankTypeEnum, 'OILRETENTIONTRAY', INDETERMINATE) -userdefined = express_getattr(IfcTankTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTankTypeEnum, 'NOTDEFINED', INDETERMINATE) +basin = IfcTankTypeEnum.BASIN +breakpressure = IfcTankTypeEnum.BREAKPRESSURE +expansion = IfcTankTypeEnum.EXPANSION +feedandexpansion = IfcTankTypeEnum.FEEDANDEXPANSION +pressurevessel = IfcTankTypeEnum.PRESSUREVESSEL +storage = IfcTankTypeEnum.STORAGE +vessel = IfcTankTypeEnum.VESSEL +oilretentiontray = IfcTankTypeEnum.OILRETENTIONTRAY +userdefined = IfcTankTypeEnum.USERDEFINED +notdefined = IfcTankTypeEnum.NOTDEFINED IfcTaskDurationEnum = enum_namespace() -elapsedtime = express_getattr(IfcTaskDurationEnum, 'ELAPSEDTIME', INDETERMINATE) -worktime = express_getattr(IfcTaskDurationEnum, 'WORKTIME', INDETERMINATE) -notdefined = express_getattr(IfcTaskDurationEnum, 'NOTDEFINED', INDETERMINATE) +elapsedtime = IfcTaskDurationEnum.ELAPSEDTIME +worktime = IfcTaskDurationEnum.WORKTIME +notdefined = IfcTaskDurationEnum.NOTDEFINED IfcTaskTypeEnum = enum_namespace() -attendance = express_getattr(IfcTaskTypeEnum, 'ATTENDANCE', INDETERMINATE) -construction = express_getattr(IfcTaskTypeEnum, 'CONSTRUCTION', INDETERMINATE) -demolition = express_getattr(IfcTaskTypeEnum, 'DEMOLITION', INDETERMINATE) -dismantle = express_getattr(IfcTaskTypeEnum, 'DISMANTLE', INDETERMINATE) -disposal = express_getattr(IfcTaskTypeEnum, 'DISPOSAL', INDETERMINATE) -installation = express_getattr(IfcTaskTypeEnum, 'INSTALLATION', INDETERMINATE) -logistic = express_getattr(IfcTaskTypeEnum, 'LOGISTIC', INDETERMINATE) -maintenance = express_getattr(IfcTaskTypeEnum, 'MAINTENANCE', INDETERMINATE) -move = express_getattr(IfcTaskTypeEnum, 'MOVE', INDETERMINATE) -operation = express_getattr(IfcTaskTypeEnum, 'OPERATION', INDETERMINATE) -removal = express_getattr(IfcTaskTypeEnum, 'REMOVAL', INDETERMINATE) -renovation = express_getattr(IfcTaskTypeEnum, 'RENOVATION', INDETERMINATE) -userdefined = express_getattr(IfcTaskTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTaskTypeEnum, 'NOTDEFINED', INDETERMINATE) +attendance = IfcTaskTypeEnum.ATTENDANCE +construction = IfcTaskTypeEnum.CONSTRUCTION +demolition = IfcTaskTypeEnum.DEMOLITION +dismantle = IfcTaskTypeEnum.DISMANTLE +disposal = IfcTaskTypeEnum.DISPOSAL +installation = IfcTaskTypeEnum.INSTALLATION +logistic = IfcTaskTypeEnum.LOGISTIC +maintenance = IfcTaskTypeEnum.MAINTENANCE +move = IfcTaskTypeEnum.MOVE +operation = IfcTaskTypeEnum.OPERATION +removal = IfcTaskTypeEnum.REMOVAL +renovation = IfcTaskTypeEnum.RENOVATION +userdefined = IfcTaskTypeEnum.USERDEFINED +notdefined = IfcTaskTypeEnum.NOTDEFINED IfcTendonAnchorTypeEnum = enum_namespace() -coupler = express_getattr(IfcTendonAnchorTypeEnum, 'COUPLER', INDETERMINATE) -fixed_end = express_getattr(IfcTendonAnchorTypeEnum, 'FIXED_END', INDETERMINATE) -tensioning_end = express_getattr(IfcTendonAnchorTypeEnum, 'TENSIONING_END', INDETERMINATE) -userdefined = express_getattr(IfcTendonAnchorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonAnchorTypeEnum, 'NOTDEFINED', INDETERMINATE) +coupler = IfcTendonAnchorTypeEnum.COUPLER +fixed_end = IfcTendonAnchorTypeEnum.FIXED_END +tensioning_end = IfcTendonAnchorTypeEnum.TENSIONING_END +userdefined = IfcTendonAnchorTypeEnum.USERDEFINED +notdefined = IfcTendonAnchorTypeEnum.NOTDEFINED IfcTendonConduitTypeEnum = enum_namespace() -duct = express_getattr(IfcTendonConduitTypeEnum, 'DUCT', INDETERMINATE) -coupler = express_getattr(IfcTendonConduitTypeEnum, 'COUPLER', INDETERMINATE) -grouting_duct = express_getattr(IfcTendonConduitTypeEnum, 'GROUTING_DUCT', INDETERMINATE) -trumpet = express_getattr(IfcTendonConduitTypeEnum, 'TRUMPET', INDETERMINATE) -diabolo = express_getattr(IfcTendonConduitTypeEnum, 'DIABOLO', INDETERMINATE) -userdefined = express_getattr(IfcTendonConduitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonConduitTypeEnum, 'NOTDEFINED', INDETERMINATE) +duct = IfcTendonConduitTypeEnum.DUCT +coupler = IfcTendonConduitTypeEnum.COUPLER +grouting_duct = IfcTendonConduitTypeEnum.GROUTING_DUCT +trumpet = IfcTendonConduitTypeEnum.TRUMPET +diabolo = IfcTendonConduitTypeEnum.DIABOLO +userdefined = IfcTendonConduitTypeEnum.USERDEFINED +notdefined = IfcTendonConduitTypeEnum.NOTDEFINED IfcTendonTypeEnum = enum_namespace() -bar = express_getattr(IfcTendonTypeEnum, 'BAR', INDETERMINATE) -coated = express_getattr(IfcTendonTypeEnum, 'COATED', INDETERMINATE) -strand = express_getattr(IfcTendonTypeEnum, 'STRAND', INDETERMINATE) -wire = express_getattr(IfcTendonTypeEnum, 'WIRE', INDETERMINATE) -userdefined = express_getattr(IfcTendonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonTypeEnum, 'NOTDEFINED', INDETERMINATE) +bar = IfcTendonTypeEnum.BAR +coated = IfcTendonTypeEnum.COATED +strand = IfcTendonTypeEnum.STRAND +wire = IfcTendonTypeEnum.WIRE +userdefined = IfcTendonTypeEnum.USERDEFINED +notdefined = IfcTendonTypeEnum.NOTDEFINED IfcTextPath = enum_namespace() -left = express_getattr(IfcTextPath, 'LEFT', INDETERMINATE) -right = express_getattr(IfcTextPath, 'RIGHT', INDETERMINATE) -up = express_getattr(IfcTextPath, 'UP', INDETERMINATE) -down = express_getattr(IfcTextPath, 'DOWN', INDETERMINATE) +left = IfcTextPath.LEFT +right = IfcTextPath.RIGHT +up = IfcTextPath.UP +down = IfcTextPath.DOWN IfcTimeSeriesDataTypeEnum = enum_namespace() -continuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'CONTINUOUS', INDETERMINATE) -discrete = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETE', INDETERMINATE) -discretebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETEBINARY', INDETERMINATE) -piecewisebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISEBINARY', INDETERMINATE) -piecewiseconstant = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONSTANT', INDETERMINATE) -piecewisecontinuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONTINUOUS', INDETERMINATE) -notdefined = express_getattr(IfcTimeSeriesDataTypeEnum, 'NOTDEFINED', INDETERMINATE) +continuous = IfcTimeSeriesDataTypeEnum.CONTINUOUS +discrete = IfcTimeSeriesDataTypeEnum.DISCRETE +discretebinary = IfcTimeSeriesDataTypeEnum.DISCRETEBINARY +piecewisebinary = IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY +piecewiseconstant = IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT +piecewisecontinuous = IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS +notdefined = IfcTimeSeriesDataTypeEnum.NOTDEFINED IfcTrackElementTypeEnum = enum_namespace() -trackendofalignment = express_getattr(IfcTrackElementTypeEnum, 'TRACKENDOFALIGNMENT', INDETERMINATE) -blockingdevice = express_getattr(IfcTrackElementTypeEnum, 'BLOCKINGDEVICE', INDETERMINATE) -vehiclestop = express_getattr(IfcTrackElementTypeEnum, 'VEHICLESTOP', INDETERMINATE) -sleeper = express_getattr(IfcTrackElementTypeEnum, 'SLEEPER', INDETERMINATE) -half_set_of_blades = express_getattr(IfcTrackElementTypeEnum, 'HALF_SET_OF_BLADES', INDETERMINATE) -speedregulator = express_getattr(IfcTrackElementTypeEnum, 'SPEEDREGULATOR', INDETERMINATE) -derailer = express_getattr(IfcTrackElementTypeEnum, 'DERAILER', INDETERMINATE) -frog = express_getattr(IfcTrackElementTypeEnum, 'FROG', INDETERMINATE) -userdefined = express_getattr(IfcTrackElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTrackElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +trackendofalignment = IfcTrackElementTypeEnum.TRACKENDOFALIGNMENT +blockingdevice = IfcTrackElementTypeEnum.BLOCKINGDEVICE +vehiclestop = IfcTrackElementTypeEnum.VEHICLESTOP +sleeper = IfcTrackElementTypeEnum.SLEEPER +half_set_of_blades = IfcTrackElementTypeEnum.HALF_SET_OF_BLADES +speedregulator = IfcTrackElementTypeEnum.SPEEDREGULATOR +derailer = IfcTrackElementTypeEnum.DERAILER +frog = IfcTrackElementTypeEnum.FROG +userdefined = IfcTrackElementTypeEnum.USERDEFINED +notdefined = IfcTrackElementTypeEnum.NOTDEFINED IfcTransformerTypeEnum = enum_namespace() -current = express_getattr(IfcTransformerTypeEnum, 'CURRENT', INDETERMINATE) -frequency = express_getattr(IfcTransformerTypeEnum, 'FREQUENCY', INDETERMINATE) -inverter = express_getattr(IfcTransformerTypeEnum, 'INVERTER', INDETERMINATE) -rectifier = express_getattr(IfcTransformerTypeEnum, 'RECTIFIER', INDETERMINATE) -voltage = express_getattr(IfcTransformerTypeEnum, 'VOLTAGE', INDETERMINATE) -chopper = express_getattr(IfcTransformerTypeEnum, 'CHOPPER', INDETERMINATE) -combined = express_getattr(IfcTransformerTypeEnum, 'COMBINED', INDETERMINATE) -userdefined = express_getattr(IfcTransformerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransformerTypeEnum, 'NOTDEFINED', INDETERMINATE) +current = IfcTransformerTypeEnum.CURRENT +frequency = IfcTransformerTypeEnum.FREQUENCY +inverter = IfcTransformerTypeEnum.INVERTER +rectifier = IfcTransformerTypeEnum.RECTIFIER +voltage = IfcTransformerTypeEnum.VOLTAGE +chopper = IfcTransformerTypeEnum.CHOPPER +combined = IfcTransformerTypeEnum.COMBINED +userdefined = IfcTransformerTypeEnum.USERDEFINED +notdefined = IfcTransformerTypeEnum.NOTDEFINED IfcTransitionCode = enum_namespace() -discontinuous = express_getattr(IfcTransitionCode, 'DISCONTINUOUS', INDETERMINATE) -continuous = express_getattr(IfcTransitionCode, 'CONTINUOUS', INDETERMINATE) -contsamegradient = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENT', INDETERMINATE) -contsamegradientsamecurvature = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENTSAMECURVATURE', INDETERMINATE) +discontinuous = IfcTransitionCode.DISCONTINUOUS +continuous = IfcTransitionCode.CONTINUOUS +contsamegradient = IfcTransitionCode.CONTSAMEGRADIENT +contsamegradientsamecurvature = IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE IfcTransitionCurveType = enum_namespace() -biquadraticparabola = express_getattr(IfcTransitionCurveType, 'BIQUADRATICPARABOLA', INDETERMINATE) -blosscurve = express_getattr(IfcTransitionCurveType, 'BLOSSCURVE', INDETERMINATE) -clothoidcurve = express_getattr(IfcTransitionCurveType, 'CLOTHOIDCURVE', INDETERMINATE) -cosinecurve = express_getattr(IfcTransitionCurveType, 'COSINECURVE', INDETERMINATE) -cubicparabola = express_getattr(IfcTransitionCurveType, 'CUBICPARABOLA', INDETERMINATE) -sinecurve = express_getattr(IfcTransitionCurveType, 'SINECURVE', INDETERMINATE) +biquadraticparabola = IfcTransitionCurveType.BIQUADRATICPARABOLA +blosscurve = IfcTransitionCurveType.BLOSSCURVE +clothoidcurve = IfcTransitionCurveType.CLOTHOIDCURVE +cosinecurve = IfcTransitionCurveType.COSINECURVE +cubicparabola = IfcTransitionCurveType.CUBICPARABOLA +sinecurve = IfcTransitionCurveType.SINECURVE IfcTransportElementFixedTypeEnum = enum_namespace() -elevator = express_getattr(IfcTransportElementFixedTypeEnum, 'ELEVATOR', INDETERMINATE) -escalator = express_getattr(IfcTransportElementFixedTypeEnum, 'ESCALATOR', INDETERMINATE) -movingwalkway = express_getattr(IfcTransportElementFixedTypeEnum, 'MOVINGWALKWAY', INDETERMINATE) -craneway = express_getattr(IfcTransportElementFixedTypeEnum, 'CRANEWAY', INDETERMINATE) -liftinggear = express_getattr(IfcTransportElementFixedTypeEnum, 'LIFTINGGEAR', INDETERMINATE) -userdefined = express_getattr(IfcTransportElementFixedTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransportElementFixedTypeEnum, 'NOTDEFINED', INDETERMINATE) +elevator = IfcTransportElementFixedTypeEnum.ELEVATOR +escalator = IfcTransportElementFixedTypeEnum.ESCALATOR +movingwalkway = IfcTransportElementFixedTypeEnum.MOVINGWALKWAY +craneway = IfcTransportElementFixedTypeEnum.CRANEWAY +liftinggear = IfcTransportElementFixedTypeEnum.LIFTINGGEAR +userdefined = IfcTransportElementFixedTypeEnum.USERDEFINED +notdefined = IfcTransportElementFixedTypeEnum.NOTDEFINED IfcTransportElementNonFixedTypeEnum = enum_namespace() -vehicle = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLE', INDETERMINATE) -vehicletracked = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLETRACKED', INDETERMINATE) -rollingstock = express_getattr(IfcTransportElementNonFixedTypeEnum, 'ROLLINGSTOCK', INDETERMINATE) -vehiclewheeled = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLEWHEELED', INDETERMINATE) -vehicleair = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLEAIR', INDETERMINATE) -cargo = express_getattr(IfcTransportElementNonFixedTypeEnum, 'CARGO', INDETERMINATE) -vehiclemarine = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLEMARINE', INDETERMINATE) -userdefined = express_getattr(IfcTransportElementNonFixedTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransportElementNonFixedTypeEnum, 'NOTDEFINED', INDETERMINATE) +vehicle = IfcTransportElementNonFixedTypeEnum.VEHICLE +vehicletracked = IfcTransportElementNonFixedTypeEnum.VEHICLETRACKED +rollingstock = IfcTransportElementNonFixedTypeEnum.ROLLINGSTOCK +vehiclewheeled = IfcTransportElementNonFixedTypeEnum.VEHICLEWHEELED +vehicleair = IfcTransportElementNonFixedTypeEnum.VEHICLEAIR +cargo = IfcTransportElementNonFixedTypeEnum.CARGO +vehiclemarine = IfcTransportElementNonFixedTypeEnum.VEHICLEMARINE +userdefined = IfcTransportElementNonFixedTypeEnum.USERDEFINED +notdefined = IfcTransportElementNonFixedTypeEnum.NOTDEFINED IfcTrimmingPreference = enum_namespace() -cartesian = express_getattr(IfcTrimmingPreference, 'CARTESIAN', INDETERMINATE) -parameter = express_getattr(IfcTrimmingPreference, 'PARAMETER', INDETERMINATE) -unspecified = express_getattr(IfcTrimmingPreference, 'UNSPECIFIED', INDETERMINATE) +cartesian = IfcTrimmingPreference.CARTESIAN +parameter = IfcTrimmingPreference.PARAMETER +unspecified = IfcTrimmingPreference.UNSPECIFIED IfcTubeBundleTypeEnum = enum_namespace() -finned = express_getattr(IfcTubeBundleTypeEnum, 'FINNED', INDETERMINATE) -userdefined = express_getattr(IfcTubeBundleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTubeBundleTypeEnum, 'NOTDEFINED', INDETERMINATE) +finned = IfcTubeBundleTypeEnum.FINNED +userdefined = IfcTubeBundleTypeEnum.USERDEFINED +notdefined = IfcTubeBundleTypeEnum.NOTDEFINED IfcUnitEnum = enum_namespace() -absorbeddoseunit = express_getattr(IfcUnitEnum, 'ABSORBEDDOSEUNIT', INDETERMINATE) -amountofsubstanceunit = express_getattr(IfcUnitEnum, 'AMOUNTOFSUBSTANCEUNIT', INDETERMINATE) -areaunit = express_getattr(IfcUnitEnum, 'AREAUNIT', INDETERMINATE) -doseequivalentunit = express_getattr(IfcUnitEnum, 'DOSEEQUIVALENTUNIT', INDETERMINATE) -electriccapacitanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCAPACITANCEUNIT', INDETERMINATE) -electricchargeunit = express_getattr(IfcUnitEnum, 'ELECTRICCHARGEUNIT', INDETERMINATE) -electricconductanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCONDUCTANCEUNIT', INDETERMINATE) -electriccurrentunit = express_getattr(IfcUnitEnum, 'ELECTRICCURRENTUNIT', INDETERMINATE) -electricresistanceunit = express_getattr(IfcUnitEnum, 'ELECTRICRESISTANCEUNIT', INDETERMINATE) -electricvoltageunit = express_getattr(IfcUnitEnum, 'ELECTRICVOLTAGEUNIT', INDETERMINATE) -energyunit = express_getattr(IfcUnitEnum, 'ENERGYUNIT', INDETERMINATE) -forceunit = express_getattr(IfcUnitEnum, 'FORCEUNIT', INDETERMINATE) -frequencyunit = express_getattr(IfcUnitEnum, 'FREQUENCYUNIT', INDETERMINATE) -illuminanceunit = express_getattr(IfcUnitEnum, 'ILLUMINANCEUNIT', INDETERMINATE) -inductanceunit = express_getattr(IfcUnitEnum, 'INDUCTANCEUNIT', INDETERMINATE) -lengthunit = express_getattr(IfcUnitEnum, 'LENGTHUNIT', INDETERMINATE) -luminousfluxunit = express_getattr(IfcUnitEnum, 'LUMINOUSFLUXUNIT', INDETERMINATE) -luminousintensityunit = express_getattr(IfcUnitEnum, 'LUMINOUSINTENSITYUNIT', INDETERMINATE) -magneticfluxdensityunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXDENSITYUNIT', INDETERMINATE) -magneticfluxunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXUNIT', INDETERMINATE) -massunit = express_getattr(IfcUnitEnum, 'MASSUNIT', INDETERMINATE) -planeangleunit = express_getattr(IfcUnitEnum, 'PLANEANGLEUNIT', INDETERMINATE) -powerunit = express_getattr(IfcUnitEnum, 'POWERUNIT', INDETERMINATE) -pressureunit = express_getattr(IfcUnitEnum, 'PRESSUREUNIT', INDETERMINATE) -radioactivityunit = express_getattr(IfcUnitEnum, 'RADIOACTIVITYUNIT', INDETERMINATE) -solidangleunit = express_getattr(IfcUnitEnum, 'SOLIDANGLEUNIT', INDETERMINATE) -thermodynamictemperatureunit = express_getattr(IfcUnitEnum, 'THERMODYNAMICTEMPERATUREUNIT', INDETERMINATE) -timeunit = express_getattr(IfcUnitEnum, 'TIMEUNIT', INDETERMINATE) -volumeunit = express_getattr(IfcUnitEnum, 'VOLUMEUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitEnum, 'USERDEFINED', INDETERMINATE) +absorbeddoseunit = IfcUnitEnum.ABSORBEDDOSEUNIT +amountofsubstanceunit = IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT +areaunit = IfcUnitEnum.AREAUNIT +doseequivalentunit = IfcUnitEnum.DOSEEQUIVALENTUNIT +electriccapacitanceunit = IfcUnitEnum.ELECTRICCAPACITANCEUNIT +electricchargeunit = IfcUnitEnum.ELECTRICCHARGEUNIT +electricconductanceunit = IfcUnitEnum.ELECTRICCONDUCTANCEUNIT +electriccurrentunit = IfcUnitEnum.ELECTRICCURRENTUNIT +electricresistanceunit = IfcUnitEnum.ELECTRICRESISTANCEUNIT +electricvoltageunit = IfcUnitEnum.ELECTRICVOLTAGEUNIT +energyunit = IfcUnitEnum.ENERGYUNIT +forceunit = IfcUnitEnum.FORCEUNIT +frequencyunit = IfcUnitEnum.FREQUENCYUNIT +illuminanceunit = IfcUnitEnum.ILLUMINANCEUNIT +inductanceunit = IfcUnitEnum.INDUCTANCEUNIT +lengthunit = IfcUnitEnum.LENGTHUNIT +luminousfluxunit = IfcUnitEnum.LUMINOUSFLUXUNIT +luminousintensityunit = IfcUnitEnum.LUMINOUSINTENSITYUNIT +magneticfluxdensityunit = IfcUnitEnum.MAGNETICFLUXDENSITYUNIT +magneticfluxunit = IfcUnitEnum.MAGNETICFLUXUNIT +massunit = IfcUnitEnum.MASSUNIT +planeangleunit = IfcUnitEnum.PLANEANGLEUNIT +powerunit = IfcUnitEnum.POWERUNIT +pressureunit = IfcUnitEnum.PRESSUREUNIT +radioactivityunit = IfcUnitEnum.RADIOACTIVITYUNIT +solidangleunit = IfcUnitEnum.SOLIDANGLEUNIT +thermodynamictemperatureunit = IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT +timeunit = IfcUnitEnum.TIMEUNIT +volumeunit = IfcUnitEnum.VOLUMEUNIT +userdefined = IfcUnitEnum.USERDEFINED IfcUnitaryControlElementTypeEnum = enum_namespace() -alarmpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'ALARMPANEL', INDETERMINATE) -controlpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'CONTROLPANEL', INDETERMINATE) -gasdetectionpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'GASDETECTIONPANEL', INDETERMINATE) -indicatorpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'INDICATORPANEL', INDETERMINATE) -mimicpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'MIMICPANEL', INDETERMINATE) -humidistat = express_getattr(IfcUnitaryControlElementTypeEnum, 'HUMIDISTAT', INDETERMINATE) -thermostat = express_getattr(IfcUnitaryControlElementTypeEnum, 'THERMOSTAT', INDETERMINATE) -weatherstation = express_getattr(IfcUnitaryControlElementTypeEnum, 'WEATHERSTATION', INDETERMINATE) -combined = express_getattr(IfcUnitaryControlElementTypeEnum, 'COMBINED', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +alarmpanel = IfcUnitaryControlElementTypeEnum.ALARMPANEL +controlpanel = IfcUnitaryControlElementTypeEnum.CONTROLPANEL +gasdetectionpanel = IfcUnitaryControlElementTypeEnum.GASDETECTIONPANEL +indicatorpanel = IfcUnitaryControlElementTypeEnum.INDICATORPANEL +mimicpanel = IfcUnitaryControlElementTypeEnum.MIMICPANEL +humidistat = IfcUnitaryControlElementTypeEnum.HUMIDISTAT +thermostat = IfcUnitaryControlElementTypeEnum.THERMOSTAT +weatherstation = IfcUnitaryControlElementTypeEnum.WEATHERSTATION +combined = IfcUnitaryControlElementTypeEnum.COMBINED +userdefined = IfcUnitaryControlElementTypeEnum.USERDEFINED +notdefined = IfcUnitaryControlElementTypeEnum.NOTDEFINED IfcUnitaryEquipmentTypeEnum = enum_namespace() -airhandler = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRHANDLER', INDETERMINATE) -airconditioningunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRCONDITIONINGUNIT', INDETERMINATE) -dehumidifier = express_getattr(IfcUnitaryEquipmentTypeEnum, 'DEHUMIDIFIER', INDETERMINATE) -splitsystem = express_getattr(IfcUnitaryEquipmentTypeEnum, 'SPLITSYSTEM', INDETERMINATE) -rooftopunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'ROOFTOPUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +airhandler = IfcUnitaryEquipmentTypeEnum.AIRHANDLER +airconditioningunit = IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT +dehumidifier = IfcUnitaryEquipmentTypeEnum.DEHUMIDIFIER +splitsystem = IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM +rooftopunit = IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT +userdefined = IfcUnitaryEquipmentTypeEnum.USERDEFINED +notdefined = IfcUnitaryEquipmentTypeEnum.NOTDEFINED IfcValveTypeEnum = enum_namespace() -airrelease = express_getattr(IfcValveTypeEnum, 'AIRRELEASE', INDETERMINATE) -antivacuum = express_getattr(IfcValveTypeEnum, 'ANTIVACUUM', INDETERMINATE) -changeover = express_getattr(IfcValveTypeEnum, 'CHANGEOVER', INDETERMINATE) -check = express_getattr(IfcValveTypeEnum, 'CHECK', INDETERMINATE) -commissioning = express_getattr(IfcValveTypeEnum, 'COMMISSIONING', INDETERMINATE) -diverting = express_getattr(IfcValveTypeEnum, 'DIVERTING', INDETERMINATE) -drawoffcock = express_getattr(IfcValveTypeEnum, 'DRAWOFFCOCK', INDETERMINATE) -doublecheck = express_getattr(IfcValveTypeEnum, 'DOUBLECHECK', INDETERMINATE) -doubleregulating = express_getattr(IfcValveTypeEnum, 'DOUBLEREGULATING', INDETERMINATE) -faucet = express_getattr(IfcValveTypeEnum, 'FAUCET', INDETERMINATE) -flushing = express_getattr(IfcValveTypeEnum, 'FLUSHING', INDETERMINATE) -gascock = express_getattr(IfcValveTypeEnum, 'GASCOCK', INDETERMINATE) -gastap = express_getattr(IfcValveTypeEnum, 'GASTAP', INDETERMINATE) -isolating = express_getattr(IfcValveTypeEnum, 'ISOLATING', INDETERMINATE) -mixing = express_getattr(IfcValveTypeEnum, 'MIXING', INDETERMINATE) -pressurereducing = express_getattr(IfcValveTypeEnum, 'PRESSUREREDUCING', INDETERMINATE) -pressurerelief = express_getattr(IfcValveTypeEnum, 'PRESSURERELIEF', INDETERMINATE) -regulating = express_getattr(IfcValveTypeEnum, 'REGULATING', INDETERMINATE) -safetycutoff = express_getattr(IfcValveTypeEnum, 'SAFETYCUTOFF', INDETERMINATE) -steamtrap = express_getattr(IfcValveTypeEnum, 'STEAMTRAP', INDETERMINATE) -stopcock = express_getattr(IfcValveTypeEnum, 'STOPCOCK', INDETERMINATE) -userdefined = express_getattr(IfcValveTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcValveTypeEnum, 'NOTDEFINED', INDETERMINATE) +airrelease = IfcValveTypeEnum.AIRRELEASE +antivacuum = IfcValveTypeEnum.ANTIVACUUM +changeover = IfcValveTypeEnum.CHANGEOVER +check = IfcValveTypeEnum.CHECK +commissioning = IfcValveTypeEnum.COMMISSIONING +diverting = IfcValveTypeEnum.DIVERTING +drawoffcock = IfcValveTypeEnum.DRAWOFFCOCK +doublecheck = IfcValveTypeEnum.DOUBLECHECK +doubleregulating = IfcValveTypeEnum.DOUBLEREGULATING +faucet = IfcValveTypeEnum.FAUCET +flushing = IfcValveTypeEnum.FLUSHING +gascock = IfcValveTypeEnum.GASCOCK +gastap = IfcValveTypeEnum.GASTAP +isolating = IfcValveTypeEnum.ISOLATING +mixing = IfcValveTypeEnum.MIXING +pressurereducing = IfcValveTypeEnum.PRESSUREREDUCING +pressurerelief = IfcValveTypeEnum.PRESSURERELIEF +regulating = IfcValveTypeEnum.REGULATING +safetycutoff = IfcValveTypeEnum.SAFETYCUTOFF +steamtrap = IfcValveTypeEnum.STEAMTRAP +stopcock = IfcValveTypeEnum.STOPCOCK +userdefined = IfcValveTypeEnum.USERDEFINED +notdefined = IfcValveTypeEnum.NOTDEFINED IfcVibrationDamperTypeEnum = enum_namespace() -bending_yield = express_getattr(IfcVibrationDamperTypeEnum, 'BENDING_YIELD', INDETERMINATE) -shear_yield = express_getattr(IfcVibrationDamperTypeEnum, 'SHEAR_YIELD', INDETERMINATE) -axial_yield = express_getattr(IfcVibrationDamperTypeEnum, 'AXIAL_YIELD', INDETERMINATE) -friction = express_getattr(IfcVibrationDamperTypeEnum, 'FRICTION', INDETERMINATE) -viscous = express_getattr(IfcVibrationDamperTypeEnum, 'VISCOUS', INDETERMINATE) -rubber = express_getattr(IfcVibrationDamperTypeEnum, 'RUBBER', INDETERMINATE) -userdefined = express_getattr(IfcVibrationDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +bending_yield = IfcVibrationDamperTypeEnum.BENDING_YIELD +shear_yield = IfcVibrationDamperTypeEnum.SHEAR_YIELD +axial_yield = IfcVibrationDamperTypeEnum.AXIAL_YIELD +friction = IfcVibrationDamperTypeEnum.FRICTION +viscous = IfcVibrationDamperTypeEnum.VISCOUS +rubber = IfcVibrationDamperTypeEnum.RUBBER +userdefined = IfcVibrationDamperTypeEnum.USERDEFINED +notdefined = IfcVibrationDamperTypeEnum.NOTDEFINED IfcVibrationIsolatorTypeEnum = enum_namespace() -compression = express_getattr(IfcVibrationIsolatorTypeEnum, 'COMPRESSION', INDETERMINATE) -spring = express_getattr(IfcVibrationIsolatorTypeEnum, 'SPRING', INDETERMINATE) -base = express_getattr(IfcVibrationIsolatorTypeEnum, 'BASE', INDETERMINATE) -userdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +compression = IfcVibrationIsolatorTypeEnum.COMPRESSION +spring = IfcVibrationIsolatorTypeEnum.SPRING +base = IfcVibrationIsolatorTypeEnum.BASE +userdefined = IfcVibrationIsolatorTypeEnum.USERDEFINED +notdefined = IfcVibrationIsolatorTypeEnum.NOTDEFINED IfcVoidingFeatureTypeEnum = enum_namespace() -cutout = express_getattr(IfcVoidingFeatureTypeEnum, 'CUTOUT', INDETERMINATE) -notch = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTCH', INDETERMINATE) -hole = express_getattr(IfcVoidingFeatureTypeEnum, 'HOLE', INDETERMINATE) -miter = express_getattr(IfcVoidingFeatureTypeEnum, 'MITER', INDETERMINATE) -chamfer = express_getattr(IfcVoidingFeatureTypeEnum, 'CHAMFER', INDETERMINATE) -edge = express_getattr(IfcVoidingFeatureTypeEnum, 'EDGE', INDETERMINATE) -userdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +cutout = IfcVoidingFeatureTypeEnum.CUTOUT +notch = IfcVoidingFeatureTypeEnum.NOTCH +hole = IfcVoidingFeatureTypeEnum.HOLE +miter = IfcVoidingFeatureTypeEnum.MITER +chamfer = IfcVoidingFeatureTypeEnum.CHAMFER +edge = IfcVoidingFeatureTypeEnum.EDGE +userdefined = IfcVoidingFeatureTypeEnum.USERDEFINED +notdefined = IfcVoidingFeatureTypeEnum.NOTDEFINED IfcWallTypeEnum = enum_namespace() -movable = express_getattr(IfcWallTypeEnum, 'MOVABLE', INDETERMINATE) -parapet = express_getattr(IfcWallTypeEnum, 'PARAPET', INDETERMINATE) -partitioning = express_getattr(IfcWallTypeEnum, 'PARTITIONING', INDETERMINATE) -plumbingwall = express_getattr(IfcWallTypeEnum, 'PLUMBINGWALL', INDETERMINATE) -shear = express_getattr(IfcWallTypeEnum, 'SHEAR', INDETERMINATE) -solidwall = express_getattr(IfcWallTypeEnum, 'SOLIDWALL', INDETERMINATE) -standard = express_getattr(IfcWallTypeEnum, 'STANDARD', INDETERMINATE) -polygonal = express_getattr(IfcWallTypeEnum, 'POLYGONAL', INDETERMINATE) -elementedwall = express_getattr(IfcWallTypeEnum, 'ELEMENTEDWALL', INDETERMINATE) -retainingwall = express_getattr(IfcWallTypeEnum, 'RETAININGWALL', INDETERMINATE) -wavewall = express_getattr(IfcWallTypeEnum, 'WAVEWALL', INDETERMINATE) -userdefined = express_getattr(IfcWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +movable = IfcWallTypeEnum.MOVABLE +parapet = IfcWallTypeEnum.PARAPET +partitioning = IfcWallTypeEnum.PARTITIONING +plumbingwall = IfcWallTypeEnum.PLUMBINGWALL +shear = IfcWallTypeEnum.SHEAR +solidwall = IfcWallTypeEnum.SOLIDWALL +standard = IfcWallTypeEnum.STANDARD +polygonal = IfcWallTypeEnum.POLYGONAL +elementedwall = IfcWallTypeEnum.ELEMENTEDWALL +retainingwall = IfcWallTypeEnum.RETAININGWALL +wavewall = IfcWallTypeEnum.WAVEWALL +userdefined = IfcWallTypeEnum.USERDEFINED +notdefined = IfcWallTypeEnum.NOTDEFINED IfcWasteTerminalTypeEnum = enum_namespace() -floortrap = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORTRAP', INDETERMINATE) -floorwaste = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORWASTE', INDETERMINATE) -gullysump = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYSUMP', INDETERMINATE) -gullytrap = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYTRAP', INDETERMINATE) -roofdrain = express_getattr(IfcWasteTerminalTypeEnum, 'ROOFDRAIN', INDETERMINATE) -wastedisposalunit = express_getattr(IfcWasteTerminalTypeEnum, 'WASTEDISPOSALUNIT', INDETERMINATE) -wastetrap = express_getattr(IfcWasteTerminalTypeEnum, 'WASTETRAP', INDETERMINATE) -userdefined = express_getattr(IfcWasteTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWasteTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +floortrap = IfcWasteTerminalTypeEnum.FLOORTRAP +floorwaste = IfcWasteTerminalTypeEnum.FLOORWASTE +gullysump = IfcWasteTerminalTypeEnum.GULLYSUMP +gullytrap = IfcWasteTerminalTypeEnum.GULLYTRAP +roofdrain = IfcWasteTerminalTypeEnum.ROOFDRAIN +wastedisposalunit = IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT +wastetrap = IfcWasteTerminalTypeEnum.WASTETRAP +userdefined = IfcWasteTerminalTypeEnum.USERDEFINED +notdefined = IfcWasteTerminalTypeEnum.NOTDEFINED IfcWindowPanelOperationEnum = enum_namespace() -sidehungrighthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGRIGHTHAND', INDETERMINATE) -sidehunglefthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGLEFTHAND', INDETERMINATE) -tiltandturnrighthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNRIGHTHAND', INDETERMINATE) -tiltandturnlefthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNLEFTHAND', INDETERMINATE) -tophung = express_getattr(IfcWindowPanelOperationEnum, 'TOPHUNG', INDETERMINATE) -bottomhung = express_getattr(IfcWindowPanelOperationEnum, 'BOTTOMHUNG', INDETERMINATE) -pivothorizontal = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTHORIZONTAL', INDETERMINATE) -pivotvertical = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTVERTICAL', INDETERMINATE) -slidinghorizontal = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGHORIZONTAL', INDETERMINATE) -slidingvertical = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGVERTICAL', INDETERMINATE) -removablecasement = express_getattr(IfcWindowPanelOperationEnum, 'REMOVABLECASEMENT', INDETERMINATE) -fixedcasement = express_getattr(IfcWindowPanelOperationEnum, 'FIXEDCASEMENT', INDETERMINATE) -otheroperation = express_getattr(IfcWindowPanelOperationEnum, 'OTHEROPERATION', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +sidehungrighthand = IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND +sidehunglefthand = IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND +tiltandturnrighthand = IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND +tiltandturnlefthand = IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND +tophung = IfcWindowPanelOperationEnum.TOPHUNG +bottomhung = IfcWindowPanelOperationEnum.BOTTOMHUNG +pivothorizontal = IfcWindowPanelOperationEnum.PIVOTHORIZONTAL +pivotvertical = IfcWindowPanelOperationEnum.PIVOTVERTICAL +slidinghorizontal = IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL +slidingvertical = IfcWindowPanelOperationEnum.SLIDINGVERTICAL +removablecasement = IfcWindowPanelOperationEnum.REMOVABLECASEMENT +fixedcasement = IfcWindowPanelOperationEnum.FIXEDCASEMENT +otheroperation = IfcWindowPanelOperationEnum.OTHEROPERATION +notdefined = IfcWindowPanelOperationEnum.NOTDEFINED IfcWindowPanelPositionEnum = enum_namespace() -left = express_getattr(IfcWindowPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcWindowPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcWindowPanelPositionEnum, 'RIGHT', INDETERMINATE) -bottom = express_getattr(IfcWindowPanelPositionEnum, 'BOTTOM', INDETERMINATE) -top = express_getattr(IfcWindowPanelPositionEnum, 'TOP', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcWindowPanelPositionEnum.LEFT +middle = IfcWindowPanelPositionEnum.MIDDLE +right = IfcWindowPanelPositionEnum.RIGHT +bottom = IfcWindowPanelPositionEnum.BOTTOM +top = IfcWindowPanelPositionEnum.TOP +notdefined = IfcWindowPanelPositionEnum.NOTDEFINED IfcWindowStyleConstructionEnum = enum_namespace() -aluminium = express_getattr(IfcWindowStyleConstructionEnum, 'ALUMINIUM', INDETERMINATE) -high_grade_steel = express_getattr(IfcWindowStyleConstructionEnum, 'HIGH_GRADE_STEEL', INDETERMINATE) -steel = express_getattr(IfcWindowStyleConstructionEnum, 'STEEL', INDETERMINATE) -wood = express_getattr(IfcWindowStyleConstructionEnum, 'WOOD', INDETERMINATE) -aluminium_wood = express_getattr(IfcWindowStyleConstructionEnum, 'ALUMINIUM_WOOD', INDETERMINATE) -plastic = express_getattr(IfcWindowStyleConstructionEnum, 'PLASTIC', INDETERMINATE) -other_construction = express_getattr(IfcWindowStyleConstructionEnum, 'OTHER_CONSTRUCTION', INDETERMINATE) -notdefined = express_getattr(IfcWindowStyleConstructionEnum, 'NOTDEFINED', INDETERMINATE) +aluminium = IfcWindowStyleConstructionEnum.ALUMINIUM +high_grade_steel = IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL +steel = IfcWindowStyleConstructionEnum.STEEL +wood = IfcWindowStyleConstructionEnum.WOOD +aluminium_wood = IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD +plastic = IfcWindowStyleConstructionEnum.PLASTIC +other_construction = IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION +notdefined = IfcWindowStyleConstructionEnum.NOTDEFINED IfcWindowStyleOperationEnum = enum_namespace() -single_panel = express_getattr(IfcWindowStyleOperationEnum, 'SINGLE_PANEL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowStyleOperationEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -double_panel_horizontal = express_getattr(IfcWindowStyleOperationEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowStyleOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowStyleOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_panel = IfcWindowStyleOperationEnum.SINGLE_PANEL +double_panel_vertical = IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL +double_panel_horizontal = IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL +triple_panel_vertical = IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL +triple_panel_bottom = IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM +triple_panel_top = IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP +triple_panel_left = IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT +triple_panel_horizontal = IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL +userdefined = IfcWindowStyleOperationEnum.USERDEFINED +notdefined = IfcWindowStyleOperationEnum.NOTDEFINED IfcWindowTypeEnum = enum_namespace() -window = express_getattr(IfcWindowTypeEnum, 'WINDOW', INDETERMINATE) -skylight = express_getattr(IfcWindowTypeEnum, 'SKYLIGHT', INDETERMINATE) -lightdome = express_getattr(IfcWindowTypeEnum, 'LIGHTDOME', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypeEnum, 'NOTDEFINED', INDETERMINATE) +window = IfcWindowTypeEnum.WINDOW +skylight = IfcWindowTypeEnum.SKYLIGHT +lightdome = IfcWindowTypeEnum.LIGHTDOME +userdefined = IfcWindowTypeEnum.USERDEFINED +notdefined = IfcWindowTypeEnum.NOTDEFINED IfcWindowTypePartitioningEnum = enum_namespace() -single_panel = express_getattr(IfcWindowTypePartitioningEnum, 'SINGLE_PANEL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -double_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypePartitioningEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypePartitioningEnum, 'NOTDEFINED', INDETERMINATE) +single_panel = IfcWindowTypePartitioningEnum.SINGLE_PANEL +double_panel_vertical = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_VERTICAL +double_panel_horizontal = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_HORIZONTAL +triple_panel_vertical = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_VERTICAL +triple_panel_bottom = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_BOTTOM +triple_panel_top = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_TOP +triple_panel_left = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_RIGHT +triple_panel_horizontal = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_HORIZONTAL +userdefined = IfcWindowTypePartitioningEnum.USERDEFINED +notdefined = IfcWindowTypePartitioningEnum.NOTDEFINED IfcWorkCalendarTypeEnum = enum_namespace() -firstshift = express_getattr(IfcWorkCalendarTypeEnum, 'FIRSTSHIFT', INDETERMINATE) -secondshift = express_getattr(IfcWorkCalendarTypeEnum, 'SECONDSHIFT', INDETERMINATE) -thirdshift = express_getattr(IfcWorkCalendarTypeEnum, 'THIRDSHIFT', INDETERMINATE) -userdefined = express_getattr(IfcWorkCalendarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkCalendarTypeEnum, 'NOTDEFINED', INDETERMINATE) +firstshift = IfcWorkCalendarTypeEnum.FIRSTSHIFT +secondshift = IfcWorkCalendarTypeEnum.SECONDSHIFT +thirdshift = IfcWorkCalendarTypeEnum.THIRDSHIFT +userdefined = IfcWorkCalendarTypeEnum.USERDEFINED +notdefined = IfcWorkCalendarTypeEnum.NOTDEFINED IfcWorkPlanTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkPlanTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkPlanTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkPlanTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkPlanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkPlanTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkPlanTypeEnum.ACTUAL +baseline = IfcWorkPlanTypeEnum.BASELINE +planned = IfcWorkPlanTypeEnum.PLANNED +userdefined = IfcWorkPlanTypeEnum.USERDEFINED +notdefined = IfcWorkPlanTypeEnum.NOTDEFINED IfcWorkScheduleTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkScheduleTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkScheduleTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkScheduleTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkScheduleTypeEnum.ACTUAL +baseline = IfcWorkScheduleTypeEnum.BASELINE +planned = IfcWorkScheduleTypeEnum.PLANNED +userdefined = IfcWorkScheduleTypeEnum.USERDEFINED +notdefined = IfcWorkScheduleTypeEnum.NOTDEFINED def IfcActionRequest(*args, **kwargs): return ifcopenshell.create_entity('IfcActionRequest', 'IFC4X3_RC1', *args, **kwargs) diff --git a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_RC2.py b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_RC2.py index 516271085a..0303689be5 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_RC2.py +++ b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_RC2.py @@ -1,5 +1,8 @@ import ifcopenshell +def is_indeterminate(v): + return v is None or type(v).__name__ == 'indeterminate_type' + def exists(v): if callable(v): try: @@ -7,10 +10,10 @@ def exists(v): except IndexError as e: return False else: - return v is not None + return not is_indeterminate(v) def nvl(v, default): - return v if v is not None else default + return v if not is_indeterminate(v) else default def is_entity(inst): if isinstance(inst, ifcopenshell.entity_instance): @@ -22,13 +25,13 @@ def is_entity(inst): def express_len(v): if isinstance(v, ifcopenshell.entity_instance) and (not is_entity(v)): v = v[0] - elif v is None or v is INDETERMINATE: + elif is_indeterminate(v): return INDETERMINATE return len(v) old_range = range def range(*args): - if INDETERMINATE in args: + if any(map(is_indeterminate, args)): return yield from old_range(*args) sizeof = express_len @@ -149,2360 +152,2360 @@ class enum_namespace: def __getattr__(self, k): return express_getattr(k, 'upper', INDETERMINATE)() IfcActionRequestTypeEnum = enum_namespace() -email = express_getattr(IfcActionRequestTypeEnum, 'EMAIL', INDETERMINATE) -fax = express_getattr(IfcActionRequestTypeEnum, 'FAX', INDETERMINATE) -phone = express_getattr(IfcActionRequestTypeEnum, 'PHONE', INDETERMINATE) -post = express_getattr(IfcActionRequestTypeEnum, 'POST', INDETERMINATE) -verbal = express_getattr(IfcActionRequestTypeEnum, 'VERBAL', INDETERMINATE) -userdefined = express_getattr(IfcActionRequestTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionRequestTypeEnum, 'NOTDEFINED', INDETERMINATE) +email = IfcActionRequestTypeEnum.EMAIL +fax = IfcActionRequestTypeEnum.FAX +phone = IfcActionRequestTypeEnum.PHONE +post = IfcActionRequestTypeEnum.POST +verbal = IfcActionRequestTypeEnum.VERBAL +userdefined = IfcActionRequestTypeEnum.USERDEFINED +notdefined = IfcActionRequestTypeEnum.NOTDEFINED IfcActionSourceTypeEnum = enum_namespace() -dead_load_g = express_getattr(IfcActionSourceTypeEnum, 'DEAD_LOAD_G', INDETERMINATE) -completion_g1 = express_getattr(IfcActionSourceTypeEnum, 'COMPLETION_G1', INDETERMINATE) -live_load_q = express_getattr(IfcActionSourceTypeEnum, 'LIVE_LOAD_Q', INDETERMINATE) -snow_s = express_getattr(IfcActionSourceTypeEnum, 'SNOW_S', INDETERMINATE) -wind_w = express_getattr(IfcActionSourceTypeEnum, 'WIND_W', INDETERMINATE) -prestressing_p = express_getattr(IfcActionSourceTypeEnum, 'PRESTRESSING_P', INDETERMINATE) -settlement_u = express_getattr(IfcActionSourceTypeEnum, 'SETTLEMENT_U', INDETERMINATE) -temperature_t = express_getattr(IfcActionSourceTypeEnum, 'TEMPERATURE_T', INDETERMINATE) -earthquake_e = express_getattr(IfcActionSourceTypeEnum, 'EARTHQUAKE_E', INDETERMINATE) -fire = express_getattr(IfcActionSourceTypeEnum, 'FIRE', INDETERMINATE) -impulse = express_getattr(IfcActionSourceTypeEnum, 'IMPULSE', INDETERMINATE) -impact = express_getattr(IfcActionSourceTypeEnum, 'IMPACT', INDETERMINATE) -transport = express_getattr(IfcActionSourceTypeEnum, 'TRANSPORT', INDETERMINATE) -erection = express_getattr(IfcActionSourceTypeEnum, 'ERECTION', INDETERMINATE) -propping = express_getattr(IfcActionSourceTypeEnum, 'PROPPING', INDETERMINATE) -system_imperfection = express_getattr(IfcActionSourceTypeEnum, 'SYSTEM_IMPERFECTION', INDETERMINATE) -shrinkage = express_getattr(IfcActionSourceTypeEnum, 'SHRINKAGE', INDETERMINATE) -creep = express_getattr(IfcActionSourceTypeEnum, 'CREEP', INDETERMINATE) -lack_of_fit = express_getattr(IfcActionSourceTypeEnum, 'LACK_OF_FIT', INDETERMINATE) -buoyancy = express_getattr(IfcActionSourceTypeEnum, 'BUOYANCY', INDETERMINATE) -ice = express_getattr(IfcActionSourceTypeEnum, 'ICE', INDETERMINATE) -current = express_getattr(IfcActionSourceTypeEnum, 'CURRENT', INDETERMINATE) -wave = express_getattr(IfcActionSourceTypeEnum, 'WAVE', INDETERMINATE) -rain = express_getattr(IfcActionSourceTypeEnum, 'RAIN', INDETERMINATE) -brakes = express_getattr(IfcActionSourceTypeEnum, 'BRAKES', INDETERMINATE) -userdefined = express_getattr(IfcActionSourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionSourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +dead_load_g = IfcActionSourceTypeEnum.DEAD_LOAD_G +completion_g1 = IfcActionSourceTypeEnum.COMPLETION_G1 +live_load_q = IfcActionSourceTypeEnum.LIVE_LOAD_Q +snow_s = IfcActionSourceTypeEnum.SNOW_S +wind_w = IfcActionSourceTypeEnum.WIND_W +prestressing_p = IfcActionSourceTypeEnum.PRESTRESSING_P +settlement_u = IfcActionSourceTypeEnum.SETTLEMENT_U +temperature_t = IfcActionSourceTypeEnum.TEMPERATURE_T +earthquake_e = IfcActionSourceTypeEnum.EARTHQUAKE_E +fire = IfcActionSourceTypeEnum.FIRE +impulse = IfcActionSourceTypeEnum.IMPULSE +impact = IfcActionSourceTypeEnum.IMPACT +transport = IfcActionSourceTypeEnum.TRANSPORT +erection = IfcActionSourceTypeEnum.ERECTION +propping = IfcActionSourceTypeEnum.PROPPING +system_imperfection = IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION +shrinkage = IfcActionSourceTypeEnum.SHRINKAGE +creep = IfcActionSourceTypeEnum.CREEP +lack_of_fit = IfcActionSourceTypeEnum.LACK_OF_FIT +buoyancy = IfcActionSourceTypeEnum.BUOYANCY +ice = IfcActionSourceTypeEnum.ICE +current = IfcActionSourceTypeEnum.CURRENT +wave = IfcActionSourceTypeEnum.WAVE +rain = IfcActionSourceTypeEnum.RAIN +brakes = IfcActionSourceTypeEnum.BRAKES +userdefined = IfcActionSourceTypeEnum.USERDEFINED +notdefined = IfcActionSourceTypeEnum.NOTDEFINED IfcActionTypeEnum = enum_namespace() -permanent_g = express_getattr(IfcActionTypeEnum, 'PERMANENT_G', INDETERMINATE) -variable_q = express_getattr(IfcActionTypeEnum, 'VARIABLE_Q', INDETERMINATE) -extraordinary_a = express_getattr(IfcActionTypeEnum, 'EXTRAORDINARY_A', INDETERMINATE) -userdefined = express_getattr(IfcActionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionTypeEnum, 'NOTDEFINED', INDETERMINATE) +permanent_g = IfcActionTypeEnum.PERMANENT_G +variable_q = IfcActionTypeEnum.VARIABLE_Q +extraordinary_a = IfcActionTypeEnum.EXTRAORDINARY_A +userdefined = IfcActionTypeEnum.USERDEFINED +notdefined = IfcActionTypeEnum.NOTDEFINED IfcActuatorTypeEnum = enum_namespace() -electricactuator = express_getattr(IfcActuatorTypeEnum, 'ELECTRICACTUATOR', INDETERMINATE) -handoperatedactuator = express_getattr(IfcActuatorTypeEnum, 'HANDOPERATEDACTUATOR', INDETERMINATE) -hydraulicactuator = express_getattr(IfcActuatorTypeEnum, 'HYDRAULICACTUATOR', INDETERMINATE) -pneumaticactuator = express_getattr(IfcActuatorTypeEnum, 'PNEUMATICACTUATOR', INDETERMINATE) -thermostaticactuator = express_getattr(IfcActuatorTypeEnum, 'THERMOSTATICACTUATOR', INDETERMINATE) -userdefined = express_getattr(IfcActuatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActuatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +electricactuator = IfcActuatorTypeEnum.ELECTRICACTUATOR +handoperatedactuator = IfcActuatorTypeEnum.HANDOPERATEDACTUATOR +hydraulicactuator = IfcActuatorTypeEnum.HYDRAULICACTUATOR +pneumaticactuator = IfcActuatorTypeEnum.PNEUMATICACTUATOR +thermostaticactuator = IfcActuatorTypeEnum.THERMOSTATICACTUATOR +userdefined = IfcActuatorTypeEnum.USERDEFINED +notdefined = IfcActuatorTypeEnum.NOTDEFINED IfcAddressTypeEnum = enum_namespace() -office = express_getattr(IfcAddressTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcAddressTypeEnum, 'SITE', INDETERMINATE) -home = express_getattr(IfcAddressTypeEnum, 'HOME', INDETERMINATE) -distributionpoint = express_getattr(IfcAddressTypeEnum, 'DISTRIBUTIONPOINT', INDETERMINATE) -userdefined = express_getattr(IfcAddressTypeEnum, 'USERDEFINED', INDETERMINATE) +office = IfcAddressTypeEnum.OFFICE +site = IfcAddressTypeEnum.SITE +home = IfcAddressTypeEnum.HOME +distributionpoint = IfcAddressTypeEnum.DISTRIBUTIONPOINT +userdefined = IfcAddressTypeEnum.USERDEFINED IfcAirTerminalBoxTypeEnum = enum_namespace() -constantflow = express_getattr(IfcAirTerminalBoxTypeEnum, 'CONSTANTFLOW', INDETERMINATE) -variableflowpressuredependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREDEPENDANT', INDETERMINATE) -variableflowpressureindependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREINDEPENDANT', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +constantflow = IfcAirTerminalBoxTypeEnum.CONSTANTFLOW +variableflowpressuredependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT +variableflowpressureindependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT +userdefined = IfcAirTerminalBoxTypeEnum.USERDEFINED +notdefined = IfcAirTerminalBoxTypeEnum.NOTDEFINED IfcAirTerminalTypeEnum = enum_namespace() -diffuser = express_getattr(IfcAirTerminalTypeEnum, 'DIFFUSER', INDETERMINATE) -grille = express_getattr(IfcAirTerminalTypeEnum, 'GRILLE', INDETERMINATE) -louvre = express_getattr(IfcAirTerminalTypeEnum, 'LOUVRE', INDETERMINATE) -register = express_getattr(IfcAirTerminalTypeEnum, 'REGISTER', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +diffuser = IfcAirTerminalTypeEnum.DIFFUSER +grille = IfcAirTerminalTypeEnum.GRILLE +louvre = IfcAirTerminalTypeEnum.LOUVRE +register = IfcAirTerminalTypeEnum.REGISTER +userdefined = IfcAirTerminalTypeEnum.USERDEFINED +notdefined = IfcAirTerminalTypeEnum.NOTDEFINED IfcAirToAirHeatRecoveryTypeEnum = enum_namespace() -fixedplatecounterflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECOUNTERFLOWEXCHANGER', INDETERMINATE) -fixedplatecrossflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECROSSFLOWEXCHANGER', INDETERMINATE) -fixedplateparallelflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATEPARALLELFLOWEXCHANGER', INDETERMINATE) -rotarywheel = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'ROTARYWHEEL', INDETERMINATE) -runaroundcoilloop = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'RUNAROUNDCOILLOOP', INDETERMINATE) -heatpipe = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'HEATPIPE', INDETERMINATE) -twintowerenthalpyrecoveryloops = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'TWINTOWERENTHALPYRECOVERYLOOPS', INDETERMINATE) -thermosiphonsealedtubeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONSEALEDTUBEHEATEXCHANGERS', INDETERMINATE) -thermosiphoncoiltypeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONCOILTYPEHEATEXCHANGERS', INDETERMINATE) -userdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'NOTDEFINED', INDETERMINATE) +fixedplatecounterflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER +fixedplatecrossflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER +fixedplateparallelflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER +rotarywheel = IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL +runaroundcoilloop = IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP +heatpipe = IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE +twintowerenthalpyrecoveryloops = IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS +thermosiphonsealedtubeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS +thermosiphoncoiltypeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS +userdefined = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED +notdefined = IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED IfcAlarmTypeEnum = enum_namespace() -bell = express_getattr(IfcAlarmTypeEnum, 'BELL', INDETERMINATE) -breakglassbutton = express_getattr(IfcAlarmTypeEnum, 'BREAKGLASSBUTTON', INDETERMINATE) -light = express_getattr(IfcAlarmTypeEnum, 'LIGHT', INDETERMINATE) -manualpullbox = express_getattr(IfcAlarmTypeEnum, 'MANUALPULLBOX', INDETERMINATE) -siren = express_getattr(IfcAlarmTypeEnum, 'SIREN', INDETERMINATE) -whistle = express_getattr(IfcAlarmTypeEnum, 'WHISTLE', INDETERMINATE) -railwaycrocodile = express_getattr(IfcAlarmTypeEnum, 'RAILWAYCROCODILE', INDETERMINATE) -railwaydetonator = express_getattr(IfcAlarmTypeEnum, 'RAILWAYDETONATOR', INDETERMINATE) -userdefined = express_getattr(IfcAlarmTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlarmTypeEnum, 'NOTDEFINED', INDETERMINATE) +bell = IfcAlarmTypeEnum.BELL +breakglassbutton = IfcAlarmTypeEnum.BREAKGLASSBUTTON +light = IfcAlarmTypeEnum.LIGHT +manualpullbox = IfcAlarmTypeEnum.MANUALPULLBOX +siren = IfcAlarmTypeEnum.SIREN +whistle = IfcAlarmTypeEnum.WHISTLE +railwaycrocodile = IfcAlarmTypeEnum.RAILWAYCROCODILE +railwaydetonator = IfcAlarmTypeEnum.RAILWAYDETONATOR +userdefined = IfcAlarmTypeEnum.USERDEFINED +notdefined = IfcAlarmTypeEnum.NOTDEFINED IfcAlignmentCantSegmentTypeEnum = enum_namespace() -constantcant = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'CONSTANTCANT', INDETERMINATE) -lineartransition = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'LINEARTRANSITION', INDETERMINATE) -biquadraticparabola = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'BIQUADRATICPARABOLA', INDETERMINATE) -blosscurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'BLOSSCURVE', INDETERMINATE) -cosinecurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'COSINECURVE', INDETERMINATE) -sinecurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'SINECURVE', INDETERMINATE) -viennesebend = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'VIENNESEBEND', INDETERMINATE) +constantcant = IfcAlignmentCantSegmentTypeEnum.CONSTANTCANT +lineartransition = IfcAlignmentCantSegmentTypeEnum.LINEARTRANSITION +biquadraticparabola = IfcAlignmentCantSegmentTypeEnum.BIQUADRATICPARABOLA +blosscurve = IfcAlignmentCantSegmentTypeEnum.BLOSSCURVE +cosinecurve = IfcAlignmentCantSegmentTypeEnum.COSINECURVE +sinecurve = IfcAlignmentCantSegmentTypeEnum.SINECURVE +viennesebend = IfcAlignmentCantSegmentTypeEnum.VIENNESEBEND IfcAlignmentHorizontalSegmentTypeEnum = enum_namespace() -line = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'LINE', INDETERMINATE) -circulararc = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CIRCULARARC', INDETERMINATE) -clothoid = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CLOTHOID', INDETERMINATE) -cubicspiral = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CUBICSPIRAL', INDETERMINATE) -biquadraticparabola = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'BIQUADRATICPARABOLA', INDETERMINATE) -blosscurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'BLOSSCURVE', INDETERMINATE) -cosinecurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'COSINECURVE', INDETERMINATE) -sinecurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'SINECURVE', INDETERMINATE) -viennesebend = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'VIENNESEBEND', INDETERMINATE) +line = IfcAlignmentHorizontalSegmentTypeEnum.LINE +circulararc = IfcAlignmentHorizontalSegmentTypeEnum.CIRCULARARC +clothoid = IfcAlignmentHorizontalSegmentTypeEnum.CLOTHOID +cubicspiral = IfcAlignmentHorizontalSegmentTypeEnum.CUBICSPIRAL +biquadraticparabola = IfcAlignmentHorizontalSegmentTypeEnum.BIQUADRATICPARABOLA +blosscurve = IfcAlignmentHorizontalSegmentTypeEnum.BLOSSCURVE +cosinecurve = IfcAlignmentHorizontalSegmentTypeEnum.COSINECURVE +sinecurve = IfcAlignmentHorizontalSegmentTypeEnum.SINECURVE +viennesebend = IfcAlignmentHorizontalSegmentTypeEnum.VIENNESEBEND IfcAlignmentTypeEnum = enum_namespace() -userdefined = express_getattr(IfcAlignmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlignmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcAlignmentTypeEnum.USERDEFINED +notdefined = IfcAlignmentTypeEnum.NOTDEFINED IfcAlignmentVerticalSegmentTypeEnum = enum_namespace() -constantgradient = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CONSTANTGRADIENT', INDETERMINATE) -circulararc = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CIRCULARARC', INDETERMINATE) -parabolicarc = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'PARABOLICARC', INDETERMINATE) -clothoid = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CLOTHOID', INDETERMINATE) +constantgradient = IfcAlignmentVerticalSegmentTypeEnum.CONSTANTGRADIENT +circulararc = IfcAlignmentVerticalSegmentTypeEnum.CIRCULARARC +parabolicarc = IfcAlignmentVerticalSegmentTypeEnum.PARABOLICARC +clothoid = IfcAlignmentVerticalSegmentTypeEnum.CLOTHOID IfcAnalysisModelTypeEnum = enum_namespace() -in_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'IN_PLANE_LOADING_2D', INDETERMINATE) -out_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'OUT_PLANE_LOADING_2D', INDETERMINATE) -loading_3d = express_getattr(IfcAnalysisModelTypeEnum, 'LOADING_3D', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisModelTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisModelTypeEnum, 'NOTDEFINED', INDETERMINATE) +in_plane_loading_2d = IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D +out_plane_loading_2d = IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D +loading_3d = IfcAnalysisModelTypeEnum.LOADING_3D +userdefined = IfcAnalysisModelTypeEnum.USERDEFINED +notdefined = IfcAnalysisModelTypeEnum.NOTDEFINED IfcAnalysisTheoryTypeEnum = enum_namespace() -first_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FIRST_ORDER_THEORY', INDETERMINATE) -second_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'SECOND_ORDER_THEORY', INDETERMINATE) -third_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'THIRD_ORDER_THEORY', INDETERMINATE) -full_nonlinear_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FULL_NONLINEAR_THEORY', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +first_order_theory = IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY +second_order_theory = IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY +third_order_theory = IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY +full_nonlinear_theory = IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY +userdefined = IfcAnalysisTheoryTypeEnum.USERDEFINED +notdefined = IfcAnalysisTheoryTypeEnum.NOTDEFINED IfcAnnotationTypeEnum = enum_namespace() -assumedpoint = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDPOINT', INDETERMINATE) -asbuiltarea = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTAREA', INDETERMINATE) -asbuiltline = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTLINE', INDETERMINATE) -non_physical_signal = express_getattr(IfcAnnotationTypeEnum, 'NON_PHYSICAL_SIGNAL', INDETERMINATE) -assumedline = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDLINE', INDETERMINATE) -widthevent = express_getattr(IfcAnnotationTypeEnum, 'WIDTHEVENT', INDETERMINATE) -assumedarea = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDAREA', INDETERMINATE) -superelevationevent = express_getattr(IfcAnnotationTypeEnum, 'SUPERELEVATIONEVENT', INDETERMINATE) -asbuiltpoint = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTPOINT', INDETERMINATE) -userdefined = express_getattr(IfcAnnotationTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnnotationTypeEnum, 'NOTDEFINED', INDETERMINATE) +assumedpoint = IfcAnnotationTypeEnum.ASSUMEDPOINT +asbuiltarea = IfcAnnotationTypeEnum.ASBUILTAREA +asbuiltline = IfcAnnotationTypeEnum.ASBUILTLINE +non_physical_signal = IfcAnnotationTypeEnum.NON_PHYSICAL_SIGNAL +assumedline = IfcAnnotationTypeEnum.ASSUMEDLINE +widthevent = IfcAnnotationTypeEnum.WIDTHEVENT +assumedarea = IfcAnnotationTypeEnum.ASSUMEDAREA +superelevationevent = IfcAnnotationTypeEnum.SUPERELEVATIONEVENT +asbuiltpoint = IfcAnnotationTypeEnum.ASBUILTPOINT +userdefined = IfcAnnotationTypeEnum.USERDEFINED +notdefined = IfcAnnotationTypeEnum.NOTDEFINED IfcArithmeticOperatorEnum = enum_namespace() -add = express_getattr(IfcArithmeticOperatorEnum, 'ADD', INDETERMINATE) -divide = express_getattr(IfcArithmeticOperatorEnum, 'DIVIDE', INDETERMINATE) -multiply = express_getattr(IfcArithmeticOperatorEnum, 'MULTIPLY', INDETERMINATE) -subtract = express_getattr(IfcArithmeticOperatorEnum, 'SUBTRACT', INDETERMINATE) +add = IfcArithmeticOperatorEnum.ADD +divide = IfcArithmeticOperatorEnum.DIVIDE +multiply = IfcArithmeticOperatorEnum.MULTIPLY +subtract = IfcArithmeticOperatorEnum.SUBTRACT IfcAssemblyPlaceEnum = enum_namespace() -site = express_getattr(IfcAssemblyPlaceEnum, 'SITE', INDETERMINATE) -factory = express_getattr(IfcAssemblyPlaceEnum, 'FACTORY', INDETERMINATE) -notdefined = express_getattr(IfcAssemblyPlaceEnum, 'NOTDEFINED', INDETERMINATE) +site = IfcAssemblyPlaceEnum.SITE +factory = IfcAssemblyPlaceEnum.FACTORY +notdefined = IfcAssemblyPlaceEnum.NOTDEFINED IfcAudioVisualApplianceTypeEnum = enum_namespace() -amplifier = express_getattr(IfcAudioVisualApplianceTypeEnum, 'AMPLIFIER', INDETERMINATE) -camera = express_getattr(IfcAudioVisualApplianceTypeEnum, 'CAMERA', INDETERMINATE) -display = express_getattr(IfcAudioVisualApplianceTypeEnum, 'DISPLAY', INDETERMINATE) -microphone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'MICROPHONE', INDETERMINATE) -player = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PLAYER', INDETERMINATE) -projector = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PROJECTOR', INDETERMINATE) -receiver = express_getattr(IfcAudioVisualApplianceTypeEnum, 'RECEIVER', INDETERMINATE) -speaker = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SPEAKER', INDETERMINATE) -switcher = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SWITCHER', INDETERMINATE) -telephone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TELEPHONE', INDETERMINATE) -tuner = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TUNER', INDETERMINATE) -railway_communication_terminal = express_getattr(IfcAudioVisualApplianceTypeEnum, 'RAILWAY_COMMUNICATION_TERMINAL', INDETERMINATE) -userdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +amplifier = IfcAudioVisualApplianceTypeEnum.AMPLIFIER +camera = IfcAudioVisualApplianceTypeEnum.CAMERA +display = IfcAudioVisualApplianceTypeEnum.DISPLAY +microphone = IfcAudioVisualApplianceTypeEnum.MICROPHONE +player = IfcAudioVisualApplianceTypeEnum.PLAYER +projector = IfcAudioVisualApplianceTypeEnum.PROJECTOR +receiver = IfcAudioVisualApplianceTypeEnum.RECEIVER +speaker = IfcAudioVisualApplianceTypeEnum.SPEAKER +switcher = IfcAudioVisualApplianceTypeEnum.SWITCHER +telephone = IfcAudioVisualApplianceTypeEnum.TELEPHONE +tuner = IfcAudioVisualApplianceTypeEnum.TUNER +railway_communication_terminal = IfcAudioVisualApplianceTypeEnum.RAILWAY_COMMUNICATION_TERMINAL +userdefined = IfcAudioVisualApplianceTypeEnum.USERDEFINED +notdefined = IfcAudioVisualApplianceTypeEnum.NOTDEFINED IfcBSplineCurveForm = enum_namespace() -polyline_form = express_getattr(IfcBSplineCurveForm, 'POLYLINE_FORM', INDETERMINATE) -circular_arc = express_getattr(IfcBSplineCurveForm, 'CIRCULAR_ARC', INDETERMINATE) -elliptic_arc = express_getattr(IfcBSplineCurveForm, 'ELLIPTIC_ARC', INDETERMINATE) -parabolic_arc = express_getattr(IfcBSplineCurveForm, 'PARABOLIC_ARC', INDETERMINATE) -hyperbolic_arc = express_getattr(IfcBSplineCurveForm, 'HYPERBOLIC_ARC', INDETERMINATE) -unspecified = express_getattr(IfcBSplineCurveForm, 'UNSPECIFIED', INDETERMINATE) +polyline_form = IfcBSplineCurveForm.POLYLINE_FORM +circular_arc = IfcBSplineCurveForm.CIRCULAR_ARC +elliptic_arc = IfcBSplineCurveForm.ELLIPTIC_ARC +parabolic_arc = IfcBSplineCurveForm.PARABOLIC_ARC +hyperbolic_arc = IfcBSplineCurveForm.HYPERBOLIC_ARC +unspecified = IfcBSplineCurveForm.UNSPECIFIED IfcBSplineSurfaceForm = enum_namespace() -plane_surf = express_getattr(IfcBSplineSurfaceForm, 'PLANE_SURF', INDETERMINATE) -cylindrical_surf = express_getattr(IfcBSplineSurfaceForm, 'CYLINDRICAL_SURF', INDETERMINATE) -conical_surf = express_getattr(IfcBSplineSurfaceForm, 'CONICAL_SURF', INDETERMINATE) -spherical_surf = express_getattr(IfcBSplineSurfaceForm, 'SPHERICAL_SURF', INDETERMINATE) -toroidal_surf = express_getattr(IfcBSplineSurfaceForm, 'TOROIDAL_SURF', INDETERMINATE) -surf_of_revolution = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_REVOLUTION', INDETERMINATE) -ruled_surf = express_getattr(IfcBSplineSurfaceForm, 'RULED_SURF', INDETERMINATE) -generalised_cone = express_getattr(IfcBSplineSurfaceForm, 'GENERALISED_CONE', INDETERMINATE) -quadric_surf = express_getattr(IfcBSplineSurfaceForm, 'QUADRIC_SURF', INDETERMINATE) -surf_of_linear_extrusion = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_LINEAR_EXTRUSION', INDETERMINATE) -unspecified = express_getattr(IfcBSplineSurfaceForm, 'UNSPECIFIED', INDETERMINATE) +plane_surf = IfcBSplineSurfaceForm.PLANE_SURF +cylindrical_surf = IfcBSplineSurfaceForm.CYLINDRICAL_SURF +conical_surf = IfcBSplineSurfaceForm.CONICAL_SURF +spherical_surf = IfcBSplineSurfaceForm.SPHERICAL_SURF +toroidal_surf = IfcBSplineSurfaceForm.TOROIDAL_SURF +surf_of_revolution = IfcBSplineSurfaceForm.SURF_OF_REVOLUTION +ruled_surf = IfcBSplineSurfaceForm.RULED_SURF +generalised_cone = IfcBSplineSurfaceForm.GENERALISED_CONE +quadric_surf = IfcBSplineSurfaceForm.QUADRIC_SURF +surf_of_linear_extrusion = IfcBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION +unspecified = IfcBSplineSurfaceForm.UNSPECIFIED IfcBeamTypeEnum = enum_namespace() -beam = express_getattr(IfcBeamTypeEnum, 'BEAM', INDETERMINATE) -joist = express_getattr(IfcBeamTypeEnum, 'JOIST', INDETERMINATE) -hollowcore = express_getattr(IfcBeamTypeEnum, 'HOLLOWCORE', INDETERMINATE) -lintel = express_getattr(IfcBeamTypeEnum, 'LINTEL', INDETERMINATE) -spandrel = express_getattr(IfcBeamTypeEnum, 'SPANDREL', INDETERMINATE) -t_beam = express_getattr(IfcBeamTypeEnum, 'T_BEAM', INDETERMINATE) -girder_segment = express_getattr(IfcBeamTypeEnum, 'GIRDER_SEGMENT', INDETERMINATE) -diaphragm = express_getattr(IfcBeamTypeEnum, 'DIAPHRAGM', INDETERMINATE) -piercap = express_getattr(IfcBeamTypeEnum, 'PIERCAP', INDETERMINATE) -hatstone = express_getattr(IfcBeamTypeEnum, 'HATSTONE', INDETERMINATE) -cornice = express_getattr(IfcBeamTypeEnum, 'CORNICE', INDETERMINATE) -edgebeam = express_getattr(IfcBeamTypeEnum, 'EDGEBEAM', INDETERMINATE) -userdefined = express_getattr(IfcBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +beam = IfcBeamTypeEnum.BEAM +joist = IfcBeamTypeEnum.JOIST +hollowcore = IfcBeamTypeEnum.HOLLOWCORE +lintel = IfcBeamTypeEnum.LINTEL +spandrel = IfcBeamTypeEnum.SPANDREL +t_beam = IfcBeamTypeEnum.T_BEAM +girder_segment = IfcBeamTypeEnum.GIRDER_SEGMENT +diaphragm = IfcBeamTypeEnum.DIAPHRAGM +piercap = IfcBeamTypeEnum.PIERCAP +hatstone = IfcBeamTypeEnum.HATSTONE +cornice = IfcBeamTypeEnum.CORNICE +edgebeam = IfcBeamTypeEnum.EDGEBEAM +userdefined = IfcBeamTypeEnum.USERDEFINED +notdefined = IfcBeamTypeEnum.NOTDEFINED IfcBearingTypeDisplacementEnum = enum_namespace() -fixed_movement = express_getattr(IfcBearingTypeDisplacementEnum, 'FIXED_MOVEMENT', INDETERMINATE) -guided_longitudinal = express_getattr(IfcBearingTypeDisplacementEnum, 'GUIDED_LONGITUDINAL', INDETERMINATE) -guided_transversal = express_getattr(IfcBearingTypeDisplacementEnum, 'GUIDED_TRANSVERSAL', INDETERMINATE) -free_movement = express_getattr(IfcBearingTypeDisplacementEnum, 'FREE_MOVEMENT', INDETERMINATE) -notdefined = express_getattr(IfcBearingTypeDisplacementEnum, 'NOTDEFINED', INDETERMINATE) +fixed_movement = IfcBearingTypeDisplacementEnum.FIXED_MOVEMENT +guided_longitudinal = IfcBearingTypeDisplacementEnum.GUIDED_LONGITUDINAL +guided_transversal = IfcBearingTypeDisplacementEnum.GUIDED_TRANSVERSAL +free_movement = IfcBearingTypeDisplacementEnum.FREE_MOVEMENT +notdefined = IfcBearingTypeDisplacementEnum.NOTDEFINED IfcBearingTypeEnum = enum_namespace() -cylindrical = express_getattr(IfcBearingTypeEnum, 'CYLINDRICAL', INDETERMINATE) -spherical = express_getattr(IfcBearingTypeEnum, 'SPHERICAL', INDETERMINATE) -elastomeric = express_getattr(IfcBearingTypeEnum, 'ELASTOMERIC', INDETERMINATE) -pot = express_getattr(IfcBearingTypeEnum, 'POT', INDETERMINATE) -guide = express_getattr(IfcBearingTypeEnum, 'GUIDE', INDETERMINATE) -rocker = express_getattr(IfcBearingTypeEnum, 'ROCKER', INDETERMINATE) -roller = express_getattr(IfcBearingTypeEnum, 'ROLLER', INDETERMINATE) -disk = express_getattr(IfcBearingTypeEnum, 'DISK', INDETERMINATE) -userdefined = express_getattr(IfcBearingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBearingTypeEnum, 'NOTDEFINED', INDETERMINATE) +cylindrical = IfcBearingTypeEnum.CYLINDRICAL +spherical = IfcBearingTypeEnum.SPHERICAL +elastomeric = IfcBearingTypeEnum.ELASTOMERIC +pot = IfcBearingTypeEnum.POT +guide = IfcBearingTypeEnum.GUIDE +rocker = IfcBearingTypeEnum.ROCKER +roller = IfcBearingTypeEnum.ROLLER +disk = IfcBearingTypeEnum.DISK +userdefined = IfcBearingTypeEnum.USERDEFINED +notdefined = IfcBearingTypeEnum.NOTDEFINED IfcBenchmarkEnum = enum_namespace() -greaterthan = express_getattr(IfcBenchmarkEnum, 'GREATERTHAN', INDETERMINATE) -greaterthanorequalto = express_getattr(IfcBenchmarkEnum, 'GREATERTHANOREQUALTO', INDETERMINATE) -lessthan = express_getattr(IfcBenchmarkEnum, 'LESSTHAN', INDETERMINATE) -lessthanorequalto = express_getattr(IfcBenchmarkEnum, 'LESSTHANOREQUALTO', INDETERMINATE) -equalto = express_getattr(IfcBenchmarkEnum, 'EQUALTO', INDETERMINATE) -notequalto = express_getattr(IfcBenchmarkEnum, 'NOTEQUALTO', INDETERMINATE) -includes = express_getattr(IfcBenchmarkEnum, 'INCLUDES', INDETERMINATE) -notincludes = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDES', INDETERMINATE) -includedin = express_getattr(IfcBenchmarkEnum, 'INCLUDEDIN', INDETERMINATE) -notincludedin = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDEDIN', INDETERMINATE) +greaterthan = IfcBenchmarkEnum.GREATERTHAN +greaterthanorequalto = IfcBenchmarkEnum.GREATERTHANOREQUALTO +lessthan = IfcBenchmarkEnum.LESSTHAN +lessthanorequalto = IfcBenchmarkEnum.LESSTHANOREQUALTO +equalto = IfcBenchmarkEnum.EQUALTO +notequalto = IfcBenchmarkEnum.NOTEQUALTO +includes = IfcBenchmarkEnum.INCLUDES +notincludes = IfcBenchmarkEnum.NOTINCLUDES +includedin = IfcBenchmarkEnum.INCLUDEDIN +notincludedin = IfcBenchmarkEnum.NOTINCLUDEDIN IfcBoilerTypeEnum = enum_namespace() -water = express_getattr(IfcBoilerTypeEnum, 'WATER', INDETERMINATE) -steam = express_getattr(IfcBoilerTypeEnum, 'STEAM', INDETERMINATE) -userdefined = express_getattr(IfcBoilerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBoilerTypeEnum, 'NOTDEFINED', INDETERMINATE) +water = IfcBoilerTypeEnum.WATER +steam = IfcBoilerTypeEnum.STEAM +userdefined = IfcBoilerTypeEnum.USERDEFINED +notdefined = IfcBoilerTypeEnum.NOTDEFINED IfcBooleanOperator = enum_namespace() -union = express_getattr(IfcBooleanOperator, 'UNION', INDETERMINATE) -intersection = express_getattr(IfcBooleanOperator, 'INTERSECTION', INDETERMINATE) -difference = express_getattr(IfcBooleanOperator, 'DIFFERENCE', INDETERMINATE) +union = IfcBooleanOperator.UNION +intersection = IfcBooleanOperator.INTERSECTION +difference = IfcBooleanOperator.DIFFERENCE IfcBridgePartTypeEnum = enum_namespace() -abutment = express_getattr(IfcBridgePartTypeEnum, 'ABUTMENT', INDETERMINATE) -deck = express_getattr(IfcBridgePartTypeEnum, 'DECK', INDETERMINATE) -deck_segment = express_getattr(IfcBridgePartTypeEnum, 'DECK_SEGMENT', INDETERMINATE) -foundation = express_getattr(IfcBridgePartTypeEnum, 'FOUNDATION', INDETERMINATE) -pier = express_getattr(IfcBridgePartTypeEnum, 'PIER', INDETERMINATE) -pier_segment = express_getattr(IfcBridgePartTypeEnum, 'PIER_SEGMENT', INDETERMINATE) -pylon = express_getattr(IfcBridgePartTypeEnum, 'PYLON', INDETERMINATE) -substructure = express_getattr(IfcBridgePartTypeEnum, 'SUBSTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcBridgePartTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -surfacestructure = express_getattr(IfcBridgePartTypeEnum, 'SURFACESTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcBridgePartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBridgePartTypeEnum, 'NOTDEFINED', INDETERMINATE) +abutment = IfcBridgePartTypeEnum.ABUTMENT +deck = IfcBridgePartTypeEnum.DECK +deck_segment = IfcBridgePartTypeEnum.DECK_SEGMENT +foundation = IfcBridgePartTypeEnum.FOUNDATION +pier = IfcBridgePartTypeEnum.PIER +pier_segment = IfcBridgePartTypeEnum.PIER_SEGMENT +pylon = IfcBridgePartTypeEnum.PYLON +substructure = IfcBridgePartTypeEnum.SUBSTRUCTURE +superstructure = IfcBridgePartTypeEnum.SUPERSTRUCTURE +surfacestructure = IfcBridgePartTypeEnum.SURFACESTRUCTURE +userdefined = IfcBridgePartTypeEnum.USERDEFINED +notdefined = IfcBridgePartTypeEnum.NOTDEFINED IfcBridgeTypeEnum = enum_namespace() -arched = express_getattr(IfcBridgeTypeEnum, 'ARCHED', INDETERMINATE) -cable_stayed = express_getattr(IfcBridgeTypeEnum, 'CABLE_STAYED', INDETERMINATE) -cantilever = express_getattr(IfcBridgeTypeEnum, 'CANTILEVER', INDETERMINATE) -culvert = express_getattr(IfcBridgeTypeEnum, 'CULVERT', INDETERMINATE) -framework = express_getattr(IfcBridgeTypeEnum, 'FRAMEWORK', INDETERMINATE) -girder = express_getattr(IfcBridgeTypeEnum, 'GIRDER', INDETERMINATE) -suspension = express_getattr(IfcBridgeTypeEnum, 'SUSPENSION', INDETERMINATE) -truss = express_getattr(IfcBridgeTypeEnum, 'TRUSS', INDETERMINATE) -userdefined = express_getattr(IfcBridgeTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBridgeTypeEnum, 'NOTDEFINED', INDETERMINATE) +arched = IfcBridgeTypeEnum.ARCHED +cable_stayed = IfcBridgeTypeEnum.CABLE_STAYED +cantilever = IfcBridgeTypeEnum.CANTILEVER +culvert = IfcBridgeTypeEnum.CULVERT +framework = IfcBridgeTypeEnum.FRAMEWORK +girder = IfcBridgeTypeEnum.GIRDER +suspension = IfcBridgeTypeEnum.SUSPENSION +truss = IfcBridgeTypeEnum.TRUSS +userdefined = IfcBridgeTypeEnum.USERDEFINED +notdefined = IfcBridgeTypeEnum.NOTDEFINED IfcBuildingElementPartTypeEnum = enum_namespace() -insulation = express_getattr(IfcBuildingElementPartTypeEnum, 'INSULATION', INDETERMINATE) -precastpanel = express_getattr(IfcBuildingElementPartTypeEnum, 'PRECASTPANEL', INDETERMINATE) -apron = express_getattr(IfcBuildingElementPartTypeEnum, 'APRON', INDETERMINATE) -armourunit = express_getattr(IfcBuildingElementPartTypeEnum, 'ARMOURUNIT', INDETERMINATE) -safetycage = express_getattr(IfcBuildingElementPartTypeEnum, 'SAFETYCAGE', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +insulation = IfcBuildingElementPartTypeEnum.INSULATION +precastpanel = IfcBuildingElementPartTypeEnum.PRECASTPANEL +apron = IfcBuildingElementPartTypeEnum.APRON +armourunit = IfcBuildingElementPartTypeEnum.ARMOURUNIT +safetycage = IfcBuildingElementPartTypeEnum.SAFETYCAGE +userdefined = IfcBuildingElementPartTypeEnum.USERDEFINED +notdefined = IfcBuildingElementPartTypeEnum.NOTDEFINED IfcBuildingElementProxyTypeEnum = enum_namespace() -complex = express_getattr(IfcBuildingElementProxyTypeEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcBuildingElementProxyTypeEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcBuildingElementProxyTypeEnum, 'PARTIAL', INDETERMINATE) -provisionforvoid = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORVOID', INDETERMINATE) -provisionforspace = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORSPACE', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'NOTDEFINED', INDETERMINATE) +complex = IfcBuildingElementProxyTypeEnum.COMPLEX +element = IfcBuildingElementProxyTypeEnum.ELEMENT +partial = IfcBuildingElementProxyTypeEnum.PARTIAL +provisionforvoid = IfcBuildingElementProxyTypeEnum.PROVISIONFORVOID +provisionforspace = IfcBuildingElementProxyTypeEnum.PROVISIONFORSPACE +userdefined = IfcBuildingElementProxyTypeEnum.USERDEFINED +notdefined = IfcBuildingElementProxyTypeEnum.NOTDEFINED IfcBuildingSystemTypeEnum = enum_namespace() -fenestration = express_getattr(IfcBuildingSystemTypeEnum, 'FENESTRATION', INDETERMINATE) -foundation = express_getattr(IfcBuildingSystemTypeEnum, 'FOUNDATION', INDETERMINATE) -loadbearing = express_getattr(IfcBuildingSystemTypeEnum, 'LOADBEARING', INDETERMINATE) -outershell = express_getattr(IfcBuildingSystemTypeEnum, 'OUTERSHELL', INDETERMINATE) -shading = express_getattr(IfcBuildingSystemTypeEnum, 'SHADING', INDETERMINATE) -transport = express_getattr(IfcBuildingSystemTypeEnum, 'TRANSPORT', INDETERMINATE) -reinforcing = express_getattr(IfcBuildingSystemTypeEnum, 'REINFORCING', INDETERMINATE) -prestressing = express_getattr(IfcBuildingSystemTypeEnum, 'PRESTRESSING', INDETERMINATE) -erosionprevention = express_getattr(IfcBuildingSystemTypeEnum, 'EROSIONPREVENTION', INDETERMINATE) -userdefined = express_getattr(IfcBuildingSystemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingSystemTypeEnum, 'NOTDEFINED', INDETERMINATE) +fenestration = IfcBuildingSystemTypeEnum.FENESTRATION +foundation = IfcBuildingSystemTypeEnum.FOUNDATION +loadbearing = IfcBuildingSystemTypeEnum.LOADBEARING +outershell = IfcBuildingSystemTypeEnum.OUTERSHELL +shading = IfcBuildingSystemTypeEnum.SHADING +transport = IfcBuildingSystemTypeEnum.TRANSPORT +reinforcing = IfcBuildingSystemTypeEnum.REINFORCING +prestressing = IfcBuildingSystemTypeEnum.PRESTRESSING +erosionprevention = IfcBuildingSystemTypeEnum.EROSIONPREVENTION +userdefined = IfcBuildingSystemTypeEnum.USERDEFINED +notdefined = IfcBuildingSystemTypeEnum.NOTDEFINED IfcBuiltSystemTypeEnum = enum_namespace() -reinforcing = express_getattr(IfcBuiltSystemTypeEnum, 'REINFORCING', INDETERMINATE) -mooring = express_getattr(IfcBuiltSystemTypeEnum, 'MOORING', INDETERMINATE) -outershell = express_getattr(IfcBuiltSystemTypeEnum, 'OUTERSHELL', INDETERMINATE) -trackcircuit = express_getattr(IfcBuiltSystemTypeEnum, 'TRACKCIRCUIT', INDETERMINATE) -erosionprevention = express_getattr(IfcBuiltSystemTypeEnum, 'EROSIONPREVENTION', INDETERMINATE) -foundation = express_getattr(IfcBuiltSystemTypeEnum, 'FOUNDATION', INDETERMINATE) -loadbearing = express_getattr(IfcBuiltSystemTypeEnum, 'LOADBEARING', INDETERMINATE) -shading = express_getattr(IfcBuiltSystemTypeEnum, 'SHADING', INDETERMINATE) -fenestration = express_getattr(IfcBuiltSystemTypeEnum, 'FENESTRATION', INDETERMINATE) -mooringsystem = express_getattr(IfcBuiltSystemTypeEnum, 'MOORINGSYSTEM', INDETERMINATE) -transport = express_getattr(IfcBuiltSystemTypeEnum, 'TRANSPORT', INDETERMINATE) -prestressing = express_getattr(IfcBuiltSystemTypeEnum, 'PRESTRESSING', INDETERMINATE) -userdefined = express_getattr(IfcBuiltSystemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuiltSystemTypeEnum, 'NOTDEFINED', INDETERMINATE) +reinforcing = IfcBuiltSystemTypeEnum.REINFORCING +mooring = IfcBuiltSystemTypeEnum.MOORING +outershell = IfcBuiltSystemTypeEnum.OUTERSHELL +trackcircuit = IfcBuiltSystemTypeEnum.TRACKCIRCUIT +erosionprevention = IfcBuiltSystemTypeEnum.EROSIONPREVENTION +foundation = IfcBuiltSystemTypeEnum.FOUNDATION +loadbearing = IfcBuiltSystemTypeEnum.LOADBEARING +shading = IfcBuiltSystemTypeEnum.SHADING +fenestration = IfcBuiltSystemTypeEnum.FENESTRATION +mooringsystem = IfcBuiltSystemTypeEnum.MOORINGSYSTEM +transport = IfcBuiltSystemTypeEnum.TRANSPORT +prestressing = IfcBuiltSystemTypeEnum.PRESTRESSING +userdefined = IfcBuiltSystemTypeEnum.USERDEFINED +notdefined = IfcBuiltSystemTypeEnum.NOTDEFINED IfcBurnerTypeEnum = enum_namespace() -userdefined = express_getattr(IfcBurnerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBurnerTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcBurnerTypeEnum.USERDEFINED +notdefined = IfcBurnerTypeEnum.NOTDEFINED IfcCableCarrierFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcCableCarrierFittingTypeEnum, 'BEND', INDETERMINATE) -cross = express_getattr(IfcCableCarrierFittingTypeEnum, 'CROSS', INDETERMINATE) -reducer = express_getattr(IfcCableCarrierFittingTypeEnum, 'REDUCER', INDETERMINATE) -tee = express_getattr(IfcCableCarrierFittingTypeEnum, 'TEE', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcCableCarrierFittingTypeEnum.BEND +cross = IfcCableCarrierFittingTypeEnum.CROSS +reducer = IfcCableCarrierFittingTypeEnum.REDUCER +tee = IfcCableCarrierFittingTypeEnum.TEE +userdefined = IfcCableCarrierFittingTypeEnum.USERDEFINED +notdefined = IfcCableCarrierFittingTypeEnum.NOTDEFINED IfcCableCarrierSegmentTypeEnum = enum_namespace() -cableladdersegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLELADDERSEGMENT', INDETERMINATE) -cabletraysegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRAYSEGMENT', INDETERMINATE) -cabletrunkingsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRUNKINGSEGMENT', INDETERMINATE) -conduitsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CONDUITSEGMENT', INDETERMINATE) -cablebracket = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLEBRACKET', INDETERMINATE) -catenarywire = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CATENARYWIRE', INDETERMINATE) -dropper = express_getattr(IfcCableCarrierSegmentTypeEnum, 'DROPPER', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +cableladdersegment = IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT +cabletraysegment = IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT +cabletrunkingsegment = IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT +conduitsegment = IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT +cablebracket = IfcCableCarrierSegmentTypeEnum.CABLEBRACKET +catenarywire = IfcCableCarrierSegmentTypeEnum.CATENARYWIRE +dropper = IfcCableCarrierSegmentTypeEnum.DROPPER +userdefined = IfcCableCarrierSegmentTypeEnum.USERDEFINED +notdefined = IfcCableCarrierSegmentTypeEnum.NOTDEFINED IfcCableFittingTypeEnum = enum_namespace() -connector = express_getattr(IfcCableFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcCableFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcCableFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcCableFittingTypeEnum, 'JUNCTION', INDETERMINATE) -transition = express_getattr(IfcCableFittingTypeEnum, 'TRANSITION', INDETERMINATE) -fanout = express_getattr(IfcCableFittingTypeEnum, 'FANOUT', INDETERMINATE) -userdefined = express_getattr(IfcCableFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +connector = IfcCableFittingTypeEnum.CONNECTOR +entry = IfcCableFittingTypeEnum.ENTRY +exit = IfcCableFittingTypeEnum.EXIT +junction = IfcCableFittingTypeEnum.JUNCTION +transition = IfcCableFittingTypeEnum.TRANSITION +fanout = IfcCableFittingTypeEnum.FANOUT +userdefined = IfcCableFittingTypeEnum.USERDEFINED +notdefined = IfcCableFittingTypeEnum.NOTDEFINED IfcCableSegmentTypeEnum = enum_namespace() -busbarsegment = express_getattr(IfcCableSegmentTypeEnum, 'BUSBARSEGMENT', INDETERMINATE) -cablesegment = express_getattr(IfcCableSegmentTypeEnum, 'CABLESEGMENT', INDETERMINATE) -conductorsegment = express_getattr(IfcCableSegmentTypeEnum, 'CONDUCTORSEGMENT', INDETERMINATE) -coresegment = express_getattr(IfcCableSegmentTypeEnum, 'CORESEGMENT', INDETERMINATE) -contactwiresegment = express_getattr(IfcCableSegmentTypeEnum, 'CONTACTWIRESEGMENT', INDETERMINATE) -fibersegment = express_getattr(IfcCableSegmentTypeEnum, 'FIBERSEGMENT', INDETERMINATE) -fibertube = express_getattr(IfcCableSegmentTypeEnum, 'FIBERTUBE', INDETERMINATE) -opticalcablesegment = express_getattr(IfcCableSegmentTypeEnum, 'OPTICALCABLESEGMENT', INDETERMINATE) -stitchwire = express_getattr(IfcCableSegmentTypeEnum, 'STITCHWIRE', INDETERMINATE) -wirepairsegment = express_getattr(IfcCableSegmentTypeEnum, 'WIREPAIRSEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcCableSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +busbarsegment = IfcCableSegmentTypeEnum.BUSBARSEGMENT +cablesegment = IfcCableSegmentTypeEnum.CABLESEGMENT +conductorsegment = IfcCableSegmentTypeEnum.CONDUCTORSEGMENT +coresegment = IfcCableSegmentTypeEnum.CORESEGMENT +contactwiresegment = IfcCableSegmentTypeEnum.CONTACTWIRESEGMENT +fibersegment = IfcCableSegmentTypeEnum.FIBERSEGMENT +fibertube = IfcCableSegmentTypeEnum.FIBERTUBE +opticalcablesegment = IfcCableSegmentTypeEnum.OPTICALCABLESEGMENT +stitchwire = IfcCableSegmentTypeEnum.STITCHWIRE +wirepairsegment = IfcCableSegmentTypeEnum.WIREPAIRSEGMENT +userdefined = IfcCableSegmentTypeEnum.USERDEFINED +notdefined = IfcCableSegmentTypeEnum.NOTDEFINED IfcCaissonFoundationTypeEnum = enum_namespace() -well = express_getattr(IfcCaissonFoundationTypeEnum, 'WELL', INDETERMINATE) -caisson = express_getattr(IfcCaissonFoundationTypeEnum, 'CAISSON', INDETERMINATE) -userdefined = express_getattr(IfcCaissonFoundationTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCaissonFoundationTypeEnum, 'NOTDEFINED', INDETERMINATE) +well = IfcCaissonFoundationTypeEnum.WELL +caisson = IfcCaissonFoundationTypeEnum.CAISSON +userdefined = IfcCaissonFoundationTypeEnum.USERDEFINED +notdefined = IfcCaissonFoundationTypeEnum.NOTDEFINED IfcChangeActionEnum = enum_namespace() -nochange = express_getattr(IfcChangeActionEnum, 'NOCHANGE', INDETERMINATE) -modified = express_getattr(IfcChangeActionEnum, 'MODIFIED', INDETERMINATE) -added = express_getattr(IfcChangeActionEnum, 'ADDED', INDETERMINATE) -deleted = express_getattr(IfcChangeActionEnum, 'DELETED', INDETERMINATE) -notdefined = express_getattr(IfcChangeActionEnum, 'NOTDEFINED', INDETERMINATE) +nochange = IfcChangeActionEnum.NOCHANGE +modified = IfcChangeActionEnum.MODIFIED +added = IfcChangeActionEnum.ADDED +deleted = IfcChangeActionEnum.DELETED +notdefined = IfcChangeActionEnum.NOTDEFINED IfcChillerTypeEnum = enum_namespace() -aircooled = express_getattr(IfcChillerTypeEnum, 'AIRCOOLED', INDETERMINATE) -watercooled = express_getattr(IfcChillerTypeEnum, 'WATERCOOLED', INDETERMINATE) -heatrecovery = express_getattr(IfcChillerTypeEnum, 'HEATRECOVERY', INDETERMINATE) -userdefined = express_getattr(IfcChillerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChillerTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcChillerTypeEnum.AIRCOOLED +watercooled = IfcChillerTypeEnum.WATERCOOLED +heatrecovery = IfcChillerTypeEnum.HEATRECOVERY +userdefined = IfcChillerTypeEnum.USERDEFINED +notdefined = IfcChillerTypeEnum.NOTDEFINED IfcChimneyTypeEnum = enum_namespace() -userdefined = express_getattr(IfcChimneyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChimneyTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcChimneyTypeEnum.USERDEFINED +notdefined = IfcChimneyTypeEnum.NOTDEFINED IfcCoilTypeEnum = enum_namespace() -dxcoolingcoil = express_getattr(IfcCoilTypeEnum, 'DXCOOLINGCOIL', INDETERMINATE) -electricheatingcoil = express_getattr(IfcCoilTypeEnum, 'ELECTRICHEATINGCOIL', INDETERMINATE) -gasheatingcoil = express_getattr(IfcCoilTypeEnum, 'GASHEATINGCOIL', INDETERMINATE) -hydroniccoil = express_getattr(IfcCoilTypeEnum, 'HYDRONICCOIL', INDETERMINATE) -steamheatingcoil = express_getattr(IfcCoilTypeEnum, 'STEAMHEATINGCOIL', INDETERMINATE) -watercoolingcoil = express_getattr(IfcCoilTypeEnum, 'WATERCOOLINGCOIL', INDETERMINATE) -waterheatingcoil = express_getattr(IfcCoilTypeEnum, 'WATERHEATINGCOIL', INDETERMINATE) -userdefined = express_getattr(IfcCoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +dxcoolingcoil = IfcCoilTypeEnum.DXCOOLINGCOIL +electricheatingcoil = IfcCoilTypeEnum.ELECTRICHEATINGCOIL +gasheatingcoil = IfcCoilTypeEnum.GASHEATINGCOIL +hydroniccoil = IfcCoilTypeEnum.HYDRONICCOIL +steamheatingcoil = IfcCoilTypeEnum.STEAMHEATINGCOIL +watercoolingcoil = IfcCoilTypeEnum.WATERCOOLINGCOIL +waterheatingcoil = IfcCoilTypeEnum.WATERHEATINGCOIL +userdefined = IfcCoilTypeEnum.USERDEFINED +notdefined = IfcCoilTypeEnum.NOTDEFINED IfcColumnTypeEnum = enum_namespace() -column = express_getattr(IfcColumnTypeEnum, 'COLUMN', INDETERMINATE) -pilaster = express_getattr(IfcColumnTypeEnum, 'PILASTER', INDETERMINATE) -pierstem = express_getattr(IfcColumnTypeEnum, 'PIERSTEM', INDETERMINATE) -pierstem_segment = express_getattr(IfcColumnTypeEnum, 'PIERSTEM_SEGMENT', INDETERMINATE) -standcolumn = express_getattr(IfcColumnTypeEnum, 'STANDCOLUMN', INDETERMINATE) -userdefined = express_getattr(IfcColumnTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcColumnTypeEnum, 'NOTDEFINED', INDETERMINATE) +column = IfcColumnTypeEnum.COLUMN +pilaster = IfcColumnTypeEnum.PILASTER +pierstem = IfcColumnTypeEnum.PIERSTEM +pierstem_segment = IfcColumnTypeEnum.PIERSTEM_SEGMENT +standcolumn = IfcColumnTypeEnum.STANDCOLUMN +userdefined = IfcColumnTypeEnum.USERDEFINED +notdefined = IfcColumnTypeEnum.NOTDEFINED IfcCommunicationsApplianceTypeEnum = enum_namespace() -antenna = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ANTENNA', INDETERMINATE) -computer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'COMPUTER', INDETERMINATE) -fax = express_getattr(IfcCommunicationsApplianceTypeEnum, 'FAX', INDETERMINATE) -gateway = express_getattr(IfcCommunicationsApplianceTypeEnum, 'GATEWAY', INDETERMINATE) -modem = express_getattr(IfcCommunicationsApplianceTypeEnum, 'MODEM', INDETERMINATE) -networkappliance = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKAPPLIANCE', INDETERMINATE) -networkbridge = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKBRIDGE', INDETERMINATE) -networkhub = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKHUB', INDETERMINATE) -printer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'PRINTER', INDETERMINATE) -repeater = express_getattr(IfcCommunicationsApplianceTypeEnum, 'REPEATER', INDETERMINATE) -router = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ROUTER', INDETERMINATE) -scanner = express_getattr(IfcCommunicationsApplianceTypeEnum, 'SCANNER', INDETERMINATE) -automaton = express_getattr(IfcCommunicationsApplianceTypeEnum, 'AUTOMATON', INDETERMINATE) -intelligent_peripheral = express_getattr(IfcCommunicationsApplianceTypeEnum, 'INTELLIGENT_PERIPHERAL', INDETERMINATE) -ip_network_equipment = express_getattr(IfcCommunicationsApplianceTypeEnum, 'IP_NETWORK_EQUIPMENT', INDETERMINATE) -optical_network_unit = express_getattr(IfcCommunicationsApplianceTypeEnum, 'OPTICAL_NETWORK_UNIT', INDETERMINATE) -telecommand = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TELECOMMAND', INDETERMINATE) -telephonyexchange = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TELEPHONYEXCHANGE', INDETERMINATE) -transitioncomponent = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSITIONCOMPONENT', INDETERMINATE) -transponder = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSPONDER', INDETERMINATE) -transportequipment = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSPORTEQUIPMENT', INDETERMINATE) -userdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +antenna = IfcCommunicationsApplianceTypeEnum.ANTENNA +computer = IfcCommunicationsApplianceTypeEnum.COMPUTER +fax = IfcCommunicationsApplianceTypeEnum.FAX +gateway = IfcCommunicationsApplianceTypeEnum.GATEWAY +modem = IfcCommunicationsApplianceTypeEnum.MODEM +networkappliance = IfcCommunicationsApplianceTypeEnum.NETWORKAPPLIANCE +networkbridge = IfcCommunicationsApplianceTypeEnum.NETWORKBRIDGE +networkhub = IfcCommunicationsApplianceTypeEnum.NETWORKHUB +printer = IfcCommunicationsApplianceTypeEnum.PRINTER +repeater = IfcCommunicationsApplianceTypeEnum.REPEATER +router = IfcCommunicationsApplianceTypeEnum.ROUTER +scanner = IfcCommunicationsApplianceTypeEnum.SCANNER +automaton = IfcCommunicationsApplianceTypeEnum.AUTOMATON +intelligent_peripheral = IfcCommunicationsApplianceTypeEnum.INTELLIGENT_PERIPHERAL +ip_network_equipment = IfcCommunicationsApplianceTypeEnum.IP_NETWORK_EQUIPMENT +optical_network_unit = IfcCommunicationsApplianceTypeEnum.OPTICAL_NETWORK_UNIT +telecommand = IfcCommunicationsApplianceTypeEnum.TELECOMMAND +telephonyexchange = IfcCommunicationsApplianceTypeEnum.TELEPHONYEXCHANGE +transitioncomponent = IfcCommunicationsApplianceTypeEnum.TRANSITIONCOMPONENT +transponder = IfcCommunicationsApplianceTypeEnum.TRANSPONDER +transportequipment = IfcCommunicationsApplianceTypeEnum.TRANSPORTEQUIPMENT +userdefined = IfcCommunicationsApplianceTypeEnum.USERDEFINED +notdefined = IfcCommunicationsApplianceTypeEnum.NOTDEFINED IfcComplexPropertyTemplateTypeEnum = enum_namespace() -p_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'P_COMPLEX', INDETERMINATE) -q_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'Q_COMPLEX', INDETERMINATE) +p_complex = IfcComplexPropertyTemplateTypeEnum.P_COMPLEX +q_complex = IfcComplexPropertyTemplateTypeEnum.Q_COMPLEX IfcCompressorTypeEnum = enum_namespace() -dynamic = express_getattr(IfcCompressorTypeEnum, 'DYNAMIC', INDETERMINATE) -reciprocating = express_getattr(IfcCompressorTypeEnum, 'RECIPROCATING', INDETERMINATE) -rotary = express_getattr(IfcCompressorTypeEnum, 'ROTARY', INDETERMINATE) -scroll = express_getattr(IfcCompressorTypeEnum, 'SCROLL', INDETERMINATE) -trochoidal = express_getattr(IfcCompressorTypeEnum, 'TROCHOIDAL', INDETERMINATE) -singlestage = express_getattr(IfcCompressorTypeEnum, 'SINGLESTAGE', INDETERMINATE) -booster = express_getattr(IfcCompressorTypeEnum, 'BOOSTER', INDETERMINATE) -opentype = express_getattr(IfcCompressorTypeEnum, 'OPENTYPE', INDETERMINATE) -hermetic = express_getattr(IfcCompressorTypeEnum, 'HERMETIC', INDETERMINATE) -semihermetic = express_getattr(IfcCompressorTypeEnum, 'SEMIHERMETIC', INDETERMINATE) -weldedshellhermetic = express_getattr(IfcCompressorTypeEnum, 'WELDEDSHELLHERMETIC', INDETERMINATE) -rollingpiston = express_getattr(IfcCompressorTypeEnum, 'ROLLINGPISTON', INDETERMINATE) -rotaryvane = express_getattr(IfcCompressorTypeEnum, 'ROTARYVANE', INDETERMINATE) -singlescrew = express_getattr(IfcCompressorTypeEnum, 'SINGLESCREW', INDETERMINATE) -twinscrew = express_getattr(IfcCompressorTypeEnum, 'TWINSCREW', INDETERMINATE) -userdefined = express_getattr(IfcCompressorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCompressorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dynamic = IfcCompressorTypeEnum.DYNAMIC +reciprocating = IfcCompressorTypeEnum.RECIPROCATING +rotary = IfcCompressorTypeEnum.ROTARY +scroll = IfcCompressorTypeEnum.SCROLL +trochoidal = IfcCompressorTypeEnum.TROCHOIDAL +singlestage = IfcCompressorTypeEnum.SINGLESTAGE +booster = IfcCompressorTypeEnum.BOOSTER +opentype = IfcCompressorTypeEnum.OPENTYPE +hermetic = IfcCompressorTypeEnum.HERMETIC +semihermetic = IfcCompressorTypeEnum.SEMIHERMETIC +weldedshellhermetic = IfcCompressorTypeEnum.WELDEDSHELLHERMETIC +rollingpiston = IfcCompressorTypeEnum.ROLLINGPISTON +rotaryvane = IfcCompressorTypeEnum.ROTARYVANE +singlescrew = IfcCompressorTypeEnum.SINGLESCREW +twinscrew = IfcCompressorTypeEnum.TWINSCREW +userdefined = IfcCompressorTypeEnum.USERDEFINED +notdefined = IfcCompressorTypeEnum.NOTDEFINED IfcCondenserTypeEnum = enum_namespace() -aircooled = express_getattr(IfcCondenserTypeEnum, 'AIRCOOLED', INDETERMINATE) -evaporativecooled = express_getattr(IfcCondenserTypeEnum, 'EVAPORATIVECOOLED', INDETERMINATE) -watercooled = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLED', INDETERMINATE) -watercooledbrazedplate = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDBRAZEDPLATE', INDETERMINATE) -watercooledshellcoil = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLCOIL', INDETERMINATE) -watercooledshelltube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLTUBE', INDETERMINATE) -watercooledtubeintube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDTUBEINTUBE', INDETERMINATE) -userdefined = express_getattr(IfcCondenserTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCondenserTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcCondenserTypeEnum.AIRCOOLED +evaporativecooled = IfcCondenserTypeEnum.EVAPORATIVECOOLED +watercooled = IfcCondenserTypeEnum.WATERCOOLED +watercooledbrazedplate = IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE +watercooledshellcoil = IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL +watercooledshelltube = IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE +watercooledtubeintube = IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE +userdefined = IfcCondenserTypeEnum.USERDEFINED +notdefined = IfcCondenserTypeEnum.NOTDEFINED IfcConnectionTypeEnum = enum_namespace() -atpath = express_getattr(IfcConnectionTypeEnum, 'ATPATH', INDETERMINATE) -atstart = express_getattr(IfcConnectionTypeEnum, 'ATSTART', INDETERMINATE) -atend = express_getattr(IfcConnectionTypeEnum, 'ATEND', INDETERMINATE) -notdefined = express_getattr(IfcConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +atpath = IfcConnectionTypeEnum.ATPATH +atstart = IfcConnectionTypeEnum.ATSTART +atend = IfcConnectionTypeEnum.ATEND +notdefined = IfcConnectionTypeEnum.NOTDEFINED IfcConstraintEnum = enum_namespace() -hard = express_getattr(IfcConstraintEnum, 'HARD', INDETERMINATE) -soft = express_getattr(IfcConstraintEnum, 'SOFT', INDETERMINATE) -advisory = express_getattr(IfcConstraintEnum, 'ADVISORY', INDETERMINATE) -userdefined = express_getattr(IfcConstraintEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstraintEnum, 'NOTDEFINED', INDETERMINATE) +hard = IfcConstraintEnum.HARD +soft = IfcConstraintEnum.SOFT +advisory = IfcConstraintEnum.ADVISORY +userdefined = IfcConstraintEnum.USERDEFINED +notdefined = IfcConstraintEnum.NOTDEFINED IfcConstructionEquipmentResourceTypeEnum = enum_namespace() -demolishing = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'DEMOLISHING', INDETERMINATE) -earthmoving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'EARTHMOVING', INDETERMINATE) -erecting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'ERECTING', INDETERMINATE) -heating = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'LIGHTING', INDETERMINATE) -paving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PAVING', INDETERMINATE) -pumping = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PUMPING', INDETERMINATE) -transporting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'TRANSPORTING', INDETERMINATE) -userdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +demolishing = IfcConstructionEquipmentResourceTypeEnum.DEMOLISHING +earthmoving = IfcConstructionEquipmentResourceTypeEnum.EARTHMOVING +erecting = IfcConstructionEquipmentResourceTypeEnum.ERECTING +heating = IfcConstructionEquipmentResourceTypeEnum.HEATING +lighting = IfcConstructionEquipmentResourceTypeEnum.LIGHTING +paving = IfcConstructionEquipmentResourceTypeEnum.PAVING +pumping = IfcConstructionEquipmentResourceTypeEnum.PUMPING +transporting = IfcConstructionEquipmentResourceTypeEnum.TRANSPORTING +userdefined = IfcConstructionEquipmentResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionEquipmentResourceTypeEnum.NOTDEFINED IfcConstructionMaterialResourceTypeEnum = enum_namespace() -aggregates = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'AGGREGATES', INDETERMINATE) -concrete = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'DRYWALL', INDETERMINATE) -fuel = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'FUEL', INDETERMINATE) -gypsum = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'GYPSUM', INDETERMINATE) -masonry = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'MASONRY', INDETERMINATE) -metal = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'METAL', INDETERMINATE) -plastic = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'PLASTIC', INDETERMINATE) -wood = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'WOOD', INDETERMINATE) -notdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) -userdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'USERDEFINED', INDETERMINATE) +aggregates = IfcConstructionMaterialResourceTypeEnum.AGGREGATES +concrete = IfcConstructionMaterialResourceTypeEnum.CONCRETE +drywall = IfcConstructionMaterialResourceTypeEnum.DRYWALL +fuel = IfcConstructionMaterialResourceTypeEnum.FUEL +gypsum = IfcConstructionMaterialResourceTypeEnum.GYPSUM +masonry = IfcConstructionMaterialResourceTypeEnum.MASONRY +metal = IfcConstructionMaterialResourceTypeEnum.METAL +plastic = IfcConstructionMaterialResourceTypeEnum.PLASTIC +wood = IfcConstructionMaterialResourceTypeEnum.WOOD +notdefined = IfcConstructionMaterialResourceTypeEnum.NOTDEFINED +userdefined = IfcConstructionMaterialResourceTypeEnum.USERDEFINED IfcConstructionProductResourceTypeEnum = enum_namespace() -assembly = express_getattr(IfcConstructionProductResourceTypeEnum, 'ASSEMBLY', INDETERMINATE) -formwork = express_getattr(IfcConstructionProductResourceTypeEnum, 'FORMWORK', INDETERMINATE) -userdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +assembly = IfcConstructionProductResourceTypeEnum.ASSEMBLY +formwork = IfcConstructionProductResourceTypeEnum.FORMWORK +userdefined = IfcConstructionProductResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionProductResourceTypeEnum.NOTDEFINED IfcControllerTypeEnum = enum_namespace() -floating = express_getattr(IfcControllerTypeEnum, 'FLOATING', INDETERMINATE) -programmable = express_getattr(IfcControllerTypeEnum, 'PROGRAMMABLE', INDETERMINATE) -proportional = express_getattr(IfcControllerTypeEnum, 'PROPORTIONAL', INDETERMINATE) -multiposition = express_getattr(IfcControllerTypeEnum, 'MULTIPOSITION', INDETERMINATE) -twoposition = express_getattr(IfcControllerTypeEnum, 'TWOPOSITION', INDETERMINATE) -userdefined = express_getattr(IfcControllerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcControllerTypeEnum, 'NOTDEFINED', INDETERMINATE) +floating = IfcControllerTypeEnum.FLOATING +programmable = IfcControllerTypeEnum.PROGRAMMABLE +proportional = IfcControllerTypeEnum.PROPORTIONAL +multiposition = IfcControllerTypeEnum.MULTIPOSITION +twoposition = IfcControllerTypeEnum.TWOPOSITION +userdefined = IfcControllerTypeEnum.USERDEFINED +notdefined = IfcControllerTypeEnum.NOTDEFINED IfcConveyorSegmentTypeEnum = enum_namespace() -chuteconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'CHUTECONVEYOR', INDETERMINATE) -beltconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'BELTCONVEYOR', INDETERMINATE) -screwconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'SCREWCONVEYOR', INDETERMINATE) -bucketconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'BUCKETCONVEYOR', INDETERMINATE) -userdefined = express_getattr(IfcConveyorSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConveyorSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +chuteconveyor = IfcConveyorSegmentTypeEnum.CHUTECONVEYOR +beltconveyor = IfcConveyorSegmentTypeEnum.BELTCONVEYOR +screwconveyor = IfcConveyorSegmentTypeEnum.SCREWCONVEYOR +bucketconveyor = IfcConveyorSegmentTypeEnum.BUCKETCONVEYOR +userdefined = IfcConveyorSegmentTypeEnum.USERDEFINED +notdefined = IfcConveyorSegmentTypeEnum.NOTDEFINED IfcCooledBeamTypeEnum = enum_namespace() -active = express_getattr(IfcCooledBeamTypeEnum, 'ACTIVE', INDETERMINATE) -passive = express_getattr(IfcCooledBeamTypeEnum, 'PASSIVE', INDETERMINATE) -userdefined = express_getattr(IfcCooledBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCooledBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +active = IfcCooledBeamTypeEnum.ACTIVE +passive = IfcCooledBeamTypeEnum.PASSIVE +userdefined = IfcCooledBeamTypeEnum.USERDEFINED +notdefined = IfcCooledBeamTypeEnum.NOTDEFINED IfcCoolingTowerTypeEnum = enum_namespace() -naturaldraft = express_getattr(IfcCoolingTowerTypeEnum, 'NATURALDRAFT', INDETERMINATE) -mechanicalinduceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALINDUCEDDRAFT', INDETERMINATE) -mechanicalforceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALFORCEDDRAFT', INDETERMINATE) -userdefined = express_getattr(IfcCoolingTowerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoolingTowerTypeEnum, 'NOTDEFINED', INDETERMINATE) +naturaldraft = IfcCoolingTowerTypeEnum.NATURALDRAFT +mechanicalinduceddraft = IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT +mechanicalforceddraft = IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT +userdefined = IfcCoolingTowerTypeEnum.USERDEFINED +notdefined = IfcCoolingTowerTypeEnum.NOTDEFINED IfcCostItemTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCostItemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostItemTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCostItemTypeEnum.USERDEFINED +notdefined = IfcCostItemTypeEnum.NOTDEFINED IfcCostScheduleTypeEnum = enum_namespace() -budget = express_getattr(IfcCostScheduleTypeEnum, 'BUDGET', INDETERMINATE) -costplan = express_getattr(IfcCostScheduleTypeEnum, 'COSTPLAN', INDETERMINATE) -estimate = express_getattr(IfcCostScheduleTypeEnum, 'ESTIMATE', INDETERMINATE) -tender = express_getattr(IfcCostScheduleTypeEnum, 'TENDER', INDETERMINATE) -pricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'PRICEDBILLOFQUANTITIES', INDETERMINATE) -unpricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'UNPRICEDBILLOFQUANTITIES', INDETERMINATE) -scheduleofrates = express_getattr(IfcCostScheduleTypeEnum, 'SCHEDULEOFRATES', INDETERMINATE) -userdefined = express_getattr(IfcCostScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +budget = IfcCostScheduleTypeEnum.BUDGET +costplan = IfcCostScheduleTypeEnum.COSTPLAN +estimate = IfcCostScheduleTypeEnum.ESTIMATE +tender = IfcCostScheduleTypeEnum.TENDER +pricedbillofquantities = IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES +unpricedbillofquantities = IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES +scheduleofrates = IfcCostScheduleTypeEnum.SCHEDULEOFRATES +userdefined = IfcCostScheduleTypeEnum.USERDEFINED +notdefined = IfcCostScheduleTypeEnum.NOTDEFINED IfcCourseTypeEnum = enum_namespace() -armour = express_getattr(IfcCourseTypeEnum, 'ARMOUR', INDETERMINATE) -filter = express_getattr(IfcCourseTypeEnum, 'FILTER', INDETERMINATE) -ballastbed = express_getattr(IfcCourseTypeEnum, 'BALLASTBED', INDETERMINATE) -core = express_getattr(IfcCourseTypeEnum, 'CORE', INDETERMINATE) -pavement = express_getattr(IfcCourseTypeEnum, 'PAVEMENT', INDETERMINATE) -protection = express_getattr(IfcCourseTypeEnum, 'PROTECTION', INDETERMINATE) -userdefined = express_getattr(IfcCourseTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCourseTypeEnum, 'NOTDEFINED', INDETERMINATE) +armour = IfcCourseTypeEnum.ARMOUR +filter = IfcCourseTypeEnum.FILTER +ballastbed = IfcCourseTypeEnum.BALLASTBED +core = IfcCourseTypeEnum.CORE +pavement = IfcCourseTypeEnum.PAVEMENT +protection = IfcCourseTypeEnum.PROTECTION +userdefined = IfcCourseTypeEnum.USERDEFINED +notdefined = IfcCourseTypeEnum.NOTDEFINED IfcCoveringTypeEnum = enum_namespace() -ceiling = express_getattr(IfcCoveringTypeEnum, 'CEILING', INDETERMINATE) -flooring = express_getattr(IfcCoveringTypeEnum, 'FLOORING', INDETERMINATE) -cladding = express_getattr(IfcCoveringTypeEnum, 'CLADDING', INDETERMINATE) -roofing = express_getattr(IfcCoveringTypeEnum, 'ROOFING', INDETERMINATE) -molding = express_getattr(IfcCoveringTypeEnum, 'MOLDING', INDETERMINATE) -skirtingboard = express_getattr(IfcCoveringTypeEnum, 'SKIRTINGBOARD', INDETERMINATE) -insulation = express_getattr(IfcCoveringTypeEnum, 'INSULATION', INDETERMINATE) -membrane = express_getattr(IfcCoveringTypeEnum, 'MEMBRANE', INDETERMINATE) -sleeving = express_getattr(IfcCoveringTypeEnum, 'SLEEVING', INDETERMINATE) -wrapping = express_getattr(IfcCoveringTypeEnum, 'WRAPPING', INDETERMINATE) -coping = express_getattr(IfcCoveringTypeEnum, 'COPING', INDETERMINATE) -userdefined = express_getattr(IfcCoveringTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoveringTypeEnum, 'NOTDEFINED', INDETERMINATE) +ceiling = IfcCoveringTypeEnum.CEILING +flooring = IfcCoveringTypeEnum.FLOORING +cladding = IfcCoveringTypeEnum.CLADDING +roofing = IfcCoveringTypeEnum.ROOFING +molding = IfcCoveringTypeEnum.MOLDING +skirtingboard = IfcCoveringTypeEnum.SKIRTINGBOARD +insulation = IfcCoveringTypeEnum.INSULATION +membrane = IfcCoveringTypeEnum.MEMBRANE +sleeving = IfcCoveringTypeEnum.SLEEVING +wrapping = IfcCoveringTypeEnum.WRAPPING +coping = IfcCoveringTypeEnum.COPING +userdefined = IfcCoveringTypeEnum.USERDEFINED +notdefined = IfcCoveringTypeEnum.NOTDEFINED IfcCrewResourceTypeEnum = enum_namespace() -office = express_getattr(IfcCrewResourceTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcCrewResourceTypeEnum, 'SITE', INDETERMINATE) -userdefined = express_getattr(IfcCrewResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCrewResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +office = IfcCrewResourceTypeEnum.OFFICE +site = IfcCrewResourceTypeEnum.SITE +userdefined = IfcCrewResourceTypeEnum.USERDEFINED +notdefined = IfcCrewResourceTypeEnum.NOTDEFINED IfcCurtainWallTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCurtainWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCurtainWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCurtainWallTypeEnum.USERDEFINED +notdefined = IfcCurtainWallTypeEnum.NOTDEFINED IfcCurveInterpolationEnum = enum_namespace() -linear = express_getattr(IfcCurveInterpolationEnum, 'LINEAR', INDETERMINATE) -log_linear = express_getattr(IfcCurveInterpolationEnum, 'LOG_LINEAR', INDETERMINATE) -log_log = express_getattr(IfcCurveInterpolationEnum, 'LOG_LOG', INDETERMINATE) -notdefined = express_getattr(IfcCurveInterpolationEnum, 'NOTDEFINED', INDETERMINATE) +linear = IfcCurveInterpolationEnum.LINEAR +log_linear = IfcCurveInterpolationEnum.LOG_LINEAR +log_log = IfcCurveInterpolationEnum.LOG_LOG +notdefined = IfcCurveInterpolationEnum.NOTDEFINED IfcDamperTypeEnum = enum_namespace() -backdraftdamper = express_getattr(IfcDamperTypeEnum, 'BACKDRAFTDAMPER', INDETERMINATE) -balancingdamper = express_getattr(IfcDamperTypeEnum, 'BALANCINGDAMPER', INDETERMINATE) -blastdamper = express_getattr(IfcDamperTypeEnum, 'BLASTDAMPER', INDETERMINATE) -controldamper = express_getattr(IfcDamperTypeEnum, 'CONTROLDAMPER', INDETERMINATE) -firedamper = express_getattr(IfcDamperTypeEnum, 'FIREDAMPER', INDETERMINATE) -firesmokedamper = express_getattr(IfcDamperTypeEnum, 'FIRESMOKEDAMPER', INDETERMINATE) -fumehoodexhaust = express_getattr(IfcDamperTypeEnum, 'FUMEHOODEXHAUST', INDETERMINATE) -gravitydamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYDAMPER', INDETERMINATE) -gravityreliefdamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYRELIEFDAMPER', INDETERMINATE) -reliefdamper = express_getattr(IfcDamperTypeEnum, 'RELIEFDAMPER', INDETERMINATE) -smokedamper = express_getattr(IfcDamperTypeEnum, 'SMOKEDAMPER', INDETERMINATE) -userdefined = express_getattr(IfcDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +backdraftdamper = IfcDamperTypeEnum.BACKDRAFTDAMPER +balancingdamper = IfcDamperTypeEnum.BALANCINGDAMPER +blastdamper = IfcDamperTypeEnum.BLASTDAMPER +controldamper = IfcDamperTypeEnum.CONTROLDAMPER +firedamper = IfcDamperTypeEnum.FIREDAMPER +firesmokedamper = IfcDamperTypeEnum.FIRESMOKEDAMPER +fumehoodexhaust = IfcDamperTypeEnum.FUMEHOODEXHAUST +gravitydamper = IfcDamperTypeEnum.GRAVITYDAMPER +gravityreliefdamper = IfcDamperTypeEnum.GRAVITYRELIEFDAMPER +reliefdamper = IfcDamperTypeEnum.RELIEFDAMPER +smokedamper = IfcDamperTypeEnum.SMOKEDAMPER +userdefined = IfcDamperTypeEnum.USERDEFINED +notdefined = IfcDamperTypeEnum.NOTDEFINED IfcDataOriginEnum = enum_namespace() -measured = express_getattr(IfcDataOriginEnum, 'MEASURED', INDETERMINATE) -predicted = express_getattr(IfcDataOriginEnum, 'PREDICTED', INDETERMINATE) -simulated = express_getattr(IfcDataOriginEnum, 'SIMULATED', INDETERMINATE) -userdefined = express_getattr(IfcDataOriginEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDataOriginEnum, 'NOTDEFINED', INDETERMINATE) +measured = IfcDataOriginEnum.MEASURED +predicted = IfcDataOriginEnum.PREDICTED +simulated = IfcDataOriginEnum.SIMULATED +userdefined = IfcDataOriginEnum.USERDEFINED +notdefined = IfcDataOriginEnum.NOTDEFINED IfcDerivedUnitEnum = enum_namespace() -angularvelocityunit = express_getattr(IfcDerivedUnitEnum, 'ANGULARVELOCITYUNIT', INDETERMINATE) -areadensityunit = express_getattr(IfcDerivedUnitEnum, 'AREADENSITYUNIT', INDETERMINATE) -compoundplaneangleunit = express_getattr(IfcDerivedUnitEnum, 'COMPOUNDPLANEANGLEUNIT', INDETERMINATE) -dynamicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'DYNAMICVISCOSITYUNIT', INDETERMINATE) -heatfluxdensityunit = express_getattr(IfcDerivedUnitEnum, 'HEATFLUXDENSITYUNIT', INDETERMINATE) -integercountrateunit = express_getattr(IfcDerivedUnitEnum, 'INTEGERCOUNTRATEUNIT', INDETERMINATE) -isothermalmoisturecapacityunit = express_getattr(IfcDerivedUnitEnum, 'ISOTHERMALMOISTURECAPACITYUNIT', INDETERMINATE) -kinematicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'KINEMATICVISCOSITYUNIT', INDETERMINATE) -linearvelocityunit = express_getattr(IfcDerivedUnitEnum, 'LINEARVELOCITYUNIT', INDETERMINATE) -massdensityunit = express_getattr(IfcDerivedUnitEnum, 'MASSDENSITYUNIT', INDETERMINATE) -massflowrateunit = express_getattr(IfcDerivedUnitEnum, 'MASSFLOWRATEUNIT', INDETERMINATE) -moisturediffusivityunit = express_getattr(IfcDerivedUnitEnum, 'MOISTUREDIFFUSIVITYUNIT', INDETERMINATE) -molecularweightunit = express_getattr(IfcDerivedUnitEnum, 'MOLECULARWEIGHTUNIT', INDETERMINATE) -specificheatcapacityunit = express_getattr(IfcDerivedUnitEnum, 'SPECIFICHEATCAPACITYUNIT', INDETERMINATE) -thermaladmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALADMITTANCEUNIT', INDETERMINATE) -thermalconductanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALCONDUCTANCEUNIT', INDETERMINATE) -thermalresistanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALRESISTANCEUNIT', INDETERMINATE) -thermaltransmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALTRANSMITTANCEUNIT', INDETERMINATE) -vaporpermeabilityunit = express_getattr(IfcDerivedUnitEnum, 'VAPORPERMEABILITYUNIT', INDETERMINATE) -volumetricflowrateunit = express_getattr(IfcDerivedUnitEnum, 'VOLUMETRICFLOWRATEUNIT', INDETERMINATE) -rotationalfrequencyunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALFREQUENCYUNIT', INDETERMINATE) -torqueunit = express_getattr(IfcDerivedUnitEnum, 'TORQUEUNIT', INDETERMINATE) -momentofinertiaunit = express_getattr(IfcDerivedUnitEnum, 'MOMENTOFINERTIAUNIT', INDETERMINATE) -linearmomentunit = express_getattr(IfcDerivedUnitEnum, 'LINEARMOMENTUNIT', INDETERMINATE) -linearforceunit = express_getattr(IfcDerivedUnitEnum, 'LINEARFORCEUNIT', INDETERMINATE) -planarforceunit = express_getattr(IfcDerivedUnitEnum, 'PLANARFORCEUNIT', INDETERMINATE) -modulusofelasticityunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFELASTICITYUNIT', INDETERMINATE) -shearmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SHEARMODULUSUNIT', INDETERMINATE) -linearstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'LINEARSTIFFNESSUNIT', INDETERMINATE) -rotationalstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALSTIFFNESSUNIT', INDETERMINATE) -modulusofsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFSUBGRADEREACTIONUNIT', INDETERMINATE) -accelerationunit = express_getattr(IfcDerivedUnitEnum, 'ACCELERATIONUNIT', INDETERMINATE) -curvatureunit = express_getattr(IfcDerivedUnitEnum, 'CURVATUREUNIT', INDETERMINATE) -heatingvalueunit = express_getattr(IfcDerivedUnitEnum, 'HEATINGVALUEUNIT', INDETERMINATE) -ionconcentrationunit = express_getattr(IfcDerivedUnitEnum, 'IONCONCENTRATIONUNIT', INDETERMINATE) -luminousintensitydistributionunit = express_getattr(IfcDerivedUnitEnum, 'LUMINOUSINTENSITYDISTRIBUTIONUNIT', INDETERMINATE) -massperlengthunit = express_getattr(IfcDerivedUnitEnum, 'MASSPERLENGTHUNIT', INDETERMINATE) -modulusoflinearsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFLINEARSUBGRADEREACTIONUNIT', INDETERMINATE) -modulusofrotationalsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFROTATIONALSUBGRADEREACTIONUNIT', INDETERMINATE) -phunit = express_getattr(IfcDerivedUnitEnum, 'PHUNIT', INDETERMINATE) -rotationalmassunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALMASSUNIT', INDETERMINATE) -sectionareaintegralunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONAREAINTEGRALUNIT', INDETERMINATE) -sectionmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONMODULUSUNIT', INDETERMINATE) -soundpowerlevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERLEVELUNIT', INDETERMINATE) -soundpowerunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERUNIT', INDETERMINATE) -soundpressurelevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSURELEVELUNIT', INDETERMINATE) -soundpressureunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSUREUNIT', INDETERMINATE) -temperaturegradientunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATUREGRADIENTUNIT', INDETERMINATE) -temperaturerateofchangeunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATURERATEOFCHANGEUNIT', INDETERMINATE) -thermalexpansioncoefficientunit = express_getattr(IfcDerivedUnitEnum, 'THERMALEXPANSIONCOEFFICIENTUNIT', INDETERMINATE) -warpingconstantunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGCONSTANTUNIT', INDETERMINATE) -warpingmomentunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGMOMENTUNIT', INDETERMINATE) -userdefined = express_getattr(IfcDerivedUnitEnum, 'USERDEFINED', INDETERMINATE) +angularvelocityunit = IfcDerivedUnitEnum.ANGULARVELOCITYUNIT +areadensityunit = IfcDerivedUnitEnum.AREADENSITYUNIT +compoundplaneangleunit = IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT +dynamicviscosityunit = IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT +heatfluxdensityunit = IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT +integercountrateunit = IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT +isothermalmoisturecapacityunit = IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT +kinematicviscosityunit = IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT +linearvelocityunit = IfcDerivedUnitEnum.LINEARVELOCITYUNIT +massdensityunit = IfcDerivedUnitEnum.MASSDENSITYUNIT +massflowrateunit = IfcDerivedUnitEnum.MASSFLOWRATEUNIT +moisturediffusivityunit = IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT +molecularweightunit = IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT +specificheatcapacityunit = IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT +thermaladmittanceunit = IfcDerivedUnitEnum.THERMALADMITTANCEUNIT +thermalconductanceunit = IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT +thermalresistanceunit = IfcDerivedUnitEnum.THERMALRESISTANCEUNIT +thermaltransmittanceunit = IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT +vaporpermeabilityunit = IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT +volumetricflowrateunit = IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT +rotationalfrequencyunit = IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT +torqueunit = IfcDerivedUnitEnum.TORQUEUNIT +momentofinertiaunit = IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT +linearmomentunit = IfcDerivedUnitEnum.LINEARMOMENTUNIT +linearforceunit = IfcDerivedUnitEnum.LINEARFORCEUNIT +planarforceunit = IfcDerivedUnitEnum.PLANARFORCEUNIT +modulusofelasticityunit = IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT +shearmodulusunit = IfcDerivedUnitEnum.SHEARMODULUSUNIT +linearstiffnessunit = IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT +rotationalstiffnessunit = IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT +modulusofsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT +accelerationunit = IfcDerivedUnitEnum.ACCELERATIONUNIT +curvatureunit = IfcDerivedUnitEnum.CURVATUREUNIT +heatingvalueunit = IfcDerivedUnitEnum.HEATINGVALUEUNIT +ionconcentrationunit = IfcDerivedUnitEnum.IONCONCENTRATIONUNIT +luminousintensitydistributionunit = IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT +massperlengthunit = IfcDerivedUnitEnum.MASSPERLENGTHUNIT +modulusoflinearsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT +modulusofrotationalsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT +phunit = IfcDerivedUnitEnum.PHUNIT +rotationalmassunit = IfcDerivedUnitEnum.ROTATIONALMASSUNIT +sectionareaintegralunit = IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT +sectionmodulusunit = IfcDerivedUnitEnum.SECTIONMODULUSUNIT +soundpowerlevelunit = IfcDerivedUnitEnum.SOUNDPOWERLEVELUNIT +soundpowerunit = IfcDerivedUnitEnum.SOUNDPOWERUNIT +soundpressurelevelunit = IfcDerivedUnitEnum.SOUNDPRESSURELEVELUNIT +soundpressureunit = IfcDerivedUnitEnum.SOUNDPRESSUREUNIT +temperaturegradientunit = IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT +temperaturerateofchangeunit = IfcDerivedUnitEnum.TEMPERATURERATEOFCHANGEUNIT +thermalexpansioncoefficientunit = IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT +warpingconstantunit = IfcDerivedUnitEnum.WARPINGCONSTANTUNIT +warpingmomentunit = IfcDerivedUnitEnum.WARPINGMOMENTUNIT +userdefined = IfcDerivedUnitEnum.USERDEFINED IfcDirectionSenseEnum = enum_namespace() -positive = express_getattr(IfcDirectionSenseEnum, 'POSITIVE', INDETERMINATE) -negative = express_getattr(IfcDirectionSenseEnum, 'NEGATIVE', INDETERMINATE) +positive = IfcDirectionSenseEnum.POSITIVE +negative = IfcDirectionSenseEnum.NEGATIVE IfcDiscreteAccessoryTypeEnum = enum_namespace() -anchorplate = express_getattr(IfcDiscreteAccessoryTypeEnum, 'ANCHORPLATE', INDETERMINATE) -bracket = express_getattr(IfcDiscreteAccessoryTypeEnum, 'BRACKET', INDETERMINATE) -shoe = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SHOE', INDETERMINATE) -expansion_joint_device = express_getattr(IfcDiscreteAccessoryTypeEnum, 'EXPANSION_JOINT_DEVICE', INDETERMINATE) -birdprotection = express_getattr(IfcDiscreteAccessoryTypeEnum, 'BIRDPROTECTION', INDETERMINATE) -cablearranger = express_getattr(IfcDiscreteAccessoryTypeEnum, 'CABLEARRANGER', INDETERMINATE) -insulator = express_getattr(IfcDiscreteAccessoryTypeEnum, 'INSULATOR', INDETERMINATE) -lock = express_getattr(IfcDiscreteAccessoryTypeEnum, 'LOCK', INDETERMINATE) -tensioningequipment = express_getattr(IfcDiscreteAccessoryTypeEnum, 'TENSIONINGEQUIPMENT', INDETERMINATE) -railpad = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAILPAD', INDETERMINATE) -slidingchair = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SLIDINGCHAIR', INDETERMINATE) -panel_strengthening = express_getattr(IfcDiscreteAccessoryTypeEnum, 'PANEL_STRENGTHENING', INDETERMINATE) -railbrace = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAILBRACE', INDETERMINATE) -elastic_cushion = express_getattr(IfcDiscreteAccessoryTypeEnum, 'ELASTIC_CUSHION', INDETERMINATE) -soundabsorption = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SOUNDABSORPTION', INDETERMINATE) -rail_lubrication = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAIL_LUBRICATION', INDETERMINATE) -rail_mechanical_equipment = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAIL_MECHANICAL_EQUIPMENT', INDETERMINATE) -userdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorplate = IfcDiscreteAccessoryTypeEnum.ANCHORPLATE +bracket = IfcDiscreteAccessoryTypeEnum.BRACKET +shoe = IfcDiscreteAccessoryTypeEnum.SHOE +expansion_joint_device = IfcDiscreteAccessoryTypeEnum.EXPANSION_JOINT_DEVICE +birdprotection = IfcDiscreteAccessoryTypeEnum.BIRDPROTECTION +cablearranger = IfcDiscreteAccessoryTypeEnum.CABLEARRANGER +insulator = IfcDiscreteAccessoryTypeEnum.INSULATOR +lock = IfcDiscreteAccessoryTypeEnum.LOCK +tensioningequipment = IfcDiscreteAccessoryTypeEnum.TENSIONINGEQUIPMENT +railpad = IfcDiscreteAccessoryTypeEnum.RAILPAD +slidingchair = IfcDiscreteAccessoryTypeEnum.SLIDINGCHAIR +panel_strengthening = IfcDiscreteAccessoryTypeEnum.PANEL_STRENGTHENING +railbrace = IfcDiscreteAccessoryTypeEnum.RAILBRACE +elastic_cushion = IfcDiscreteAccessoryTypeEnum.ELASTIC_CUSHION +soundabsorption = IfcDiscreteAccessoryTypeEnum.SOUNDABSORPTION +rail_lubrication = IfcDiscreteAccessoryTypeEnum.RAIL_LUBRICATION +rail_mechanical_equipment = IfcDiscreteAccessoryTypeEnum.RAIL_MECHANICAL_EQUIPMENT +userdefined = IfcDiscreteAccessoryTypeEnum.USERDEFINED +notdefined = IfcDiscreteAccessoryTypeEnum.NOTDEFINED IfcDistributionBoardTypeEnum = enum_namespace() -switchboard = express_getattr(IfcDistributionBoardTypeEnum, 'SWITCHBOARD', INDETERMINATE) -consumerunit = express_getattr(IfcDistributionBoardTypeEnum, 'CONSUMERUNIT', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcDistributionBoardTypeEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -distributionframe = express_getattr(IfcDistributionBoardTypeEnum, 'DISTRIBUTIONFRAME', INDETERMINATE) -distributionboard = express_getattr(IfcDistributionBoardTypeEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -userdefined = express_getattr(IfcDistributionBoardTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionBoardTypeEnum, 'NOTDEFINED', INDETERMINATE) +switchboard = IfcDistributionBoardTypeEnum.SWITCHBOARD +consumerunit = IfcDistributionBoardTypeEnum.CONSUMERUNIT +motorcontrolcentre = IfcDistributionBoardTypeEnum.MOTORCONTROLCENTRE +distributionframe = IfcDistributionBoardTypeEnum.DISTRIBUTIONFRAME +distributionboard = IfcDistributionBoardTypeEnum.DISTRIBUTIONBOARD +userdefined = IfcDistributionBoardTypeEnum.USERDEFINED +notdefined = IfcDistributionBoardTypeEnum.NOTDEFINED IfcDistributionChamberElementTypeEnum = enum_namespace() -formedduct = express_getattr(IfcDistributionChamberElementTypeEnum, 'FORMEDDUCT', INDETERMINATE) -inspectionchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONCHAMBER', INDETERMINATE) -inspectionpit = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONPIT', INDETERMINATE) -manhole = express_getattr(IfcDistributionChamberElementTypeEnum, 'MANHOLE', INDETERMINATE) -meterchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'METERCHAMBER', INDETERMINATE) -sump = express_getattr(IfcDistributionChamberElementTypeEnum, 'SUMP', INDETERMINATE) -trench = express_getattr(IfcDistributionChamberElementTypeEnum, 'TRENCH', INDETERMINATE) -valvechamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'VALVECHAMBER', INDETERMINATE) -userdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +formedduct = IfcDistributionChamberElementTypeEnum.FORMEDDUCT +inspectionchamber = IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER +inspectionpit = IfcDistributionChamberElementTypeEnum.INSPECTIONPIT +manhole = IfcDistributionChamberElementTypeEnum.MANHOLE +meterchamber = IfcDistributionChamberElementTypeEnum.METERCHAMBER +sump = IfcDistributionChamberElementTypeEnum.SUMP +trench = IfcDistributionChamberElementTypeEnum.TRENCH +valvechamber = IfcDistributionChamberElementTypeEnum.VALVECHAMBER +userdefined = IfcDistributionChamberElementTypeEnum.USERDEFINED +notdefined = IfcDistributionChamberElementTypeEnum.NOTDEFINED IfcDistributionPortTypeEnum = enum_namespace() -cable = express_getattr(IfcDistributionPortTypeEnum, 'CABLE', INDETERMINATE) -cablecarrier = express_getattr(IfcDistributionPortTypeEnum, 'CABLECARRIER', INDETERMINATE) -duct = express_getattr(IfcDistributionPortTypeEnum, 'DUCT', INDETERMINATE) -pipe = express_getattr(IfcDistributionPortTypeEnum, 'PIPE', INDETERMINATE) -wireless = express_getattr(IfcDistributionPortTypeEnum, 'WIRELESS', INDETERMINATE) -userdefined = express_getattr(IfcDistributionPortTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionPortTypeEnum, 'NOTDEFINED', INDETERMINATE) +cable = IfcDistributionPortTypeEnum.CABLE +cablecarrier = IfcDistributionPortTypeEnum.CABLECARRIER +duct = IfcDistributionPortTypeEnum.DUCT +pipe = IfcDistributionPortTypeEnum.PIPE +wireless = IfcDistributionPortTypeEnum.WIRELESS +userdefined = IfcDistributionPortTypeEnum.USERDEFINED +notdefined = IfcDistributionPortTypeEnum.NOTDEFINED IfcDistributionSystemEnum = enum_namespace() -airconditioning = express_getattr(IfcDistributionSystemEnum, 'AIRCONDITIONING', INDETERMINATE) -audiovisual = express_getattr(IfcDistributionSystemEnum, 'AUDIOVISUAL', INDETERMINATE) -chemical = express_getattr(IfcDistributionSystemEnum, 'CHEMICAL', INDETERMINATE) -chilledwater = express_getattr(IfcDistributionSystemEnum, 'CHILLEDWATER', INDETERMINATE) -communication = express_getattr(IfcDistributionSystemEnum, 'COMMUNICATION', INDETERMINATE) -compressedair = express_getattr(IfcDistributionSystemEnum, 'COMPRESSEDAIR', INDETERMINATE) -condenserwater = express_getattr(IfcDistributionSystemEnum, 'CONDENSERWATER', INDETERMINATE) -control = express_getattr(IfcDistributionSystemEnum, 'CONTROL', INDETERMINATE) -conveying = express_getattr(IfcDistributionSystemEnum, 'CONVEYING', INDETERMINATE) -data = express_getattr(IfcDistributionSystemEnum, 'DATA', INDETERMINATE) -disposal = express_getattr(IfcDistributionSystemEnum, 'DISPOSAL', INDETERMINATE) -domesticcoldwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICCOLDWATER', INDETERMINATE) -domestichotwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICHOTWATER', INDETERMINATE) -drainage = express_getattr(IfcDistributionSystemEnum, 'DRAINAGE', INDETERMINATE) -earthing = express_getattr(IfcDistributionSystemEnum, 'EARTHING', INDETERMINATE) -electrical = express_getattr(IfcDistributionSystemEnum, 'ELECTRICAL', INDETERMINATE) -electroacoustic = express_getattr(IfcDistributionSystemEnum, 'ELECTROACOUSTIC', INDETERMINATE) -exhaust = express_getattr(IfcDistributionSystemEnum, 'EXHAUST', INDETERMINATE) -fireprotection = express_getattr(IfcDistributionSystemEnum, 'FIREPROTECTION', INDETERMINATE) -fuel = express_getattr(IfcDistributionSystemEnum, 'FUEL', INDETERMINATE) -gas = express_getattr(IfcDistributionSystemEnum, 'GAS', INDETERMINATE) -hazardous = express_getattr(IfcDistributionSystemEnum, 'HAZARDOUS', INDETERMINATE) -heating = express_getattr(IfcDistributionSystemEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcDistributionSystemEnum, 'LIGHTING', INDETERMINATE) -lightningprotection = express_getattr(IfcDistributionSystemEnum, 'LIGHTNINGPROTECTION', INDETERMINATE) -municipalsolidwaste = express_getattr(IfcDistributionSystemEnum, 'MUNICIPALSOLIDWASTE', INDETERMINATE) -oil = express_getattr(IfcDistributionSystemEnum, 'OIL', INDETERMINATE) -operational = express_getattr(IfcDistributionSystemEnum, 'OPERATIONAL', INDETERMINATE) -powergeneration = express_getattr(IfcDistributionSystemEnum, 'POWERGENERATION', INDETERMINATE) -rainwater = express_getattr(IfcDistributionSystemEnum, 'RAINWATER', INDETERMINATE) -refrigeration = express_getattr(IfcDistributionSystemEnum, 'REFRIGERATION', INDETERMINATE) -security = express_getattr(IfcDistributionSystemEnum, 'SECURITY', INDETERMINATE) -sewage = express_getattr(IfcDistributionSystemEnum, 'SEWAGE', INDETERMINATE) -signal = express_getattr(IfcDistributionSystemEnum, 'SIGNAL', INDETERMINATE) -stormwater = express_getattr(IfcDistributionSystemEnum, 'STORMWATER', INDETERMINATE) -telephone = express_getattr(IfcDistributionSystemEnum, 'TELEPHONE', INDETERMINATE) -tv = express_getattr(IfcDistributionSystemEnum, 'TV', INDETERMINATE) -vacuum = express_getattr(IfcDistributionSystemEnum, 'VACUUM', INDETERMINATE) -vent = express_getattr(IfcDistributionSystemEnum, 'VENT', INDETERMINATE) -ventilation = express_getattr(IfcDistributionSystemEnum, 'VENTILATION', INDETERMINATE) -wastewater = express_getattr(IfcDistributionSystemEnum, 'WASTEWATER', INDETERMINATE) -watersupply = express_getattr(IfcDistributionSystemEnum, 'WATERSUPPLY', INDETERMINATE) -catenary_system = express_getattr(IfcDistributionSystemEnum, 'CATENARY_SYSTEM', INDETERMINATE) -overhead_contactline_system = express_getattr(IfcDistributionSystemEnum, 'OVERHEAD_CONTACTLINE_SYSTEM', INDETERMINATE) -return_circuit = express_getattr(IfcDistributionSystemEnum, 'RETURN_CIRCUIT', INDETERMINATE) -userdefined = express_getattr(IfcDistributionSystemEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionSystemEnum, 'NOTDEFINED', INDETERMINATE) +airconditioning = IfcDistributionSystemEnum.AIRCONDITIONING +audiovisual = IfcDistributionSystemEnum.AUDIOVISUAL +chemical = IfcDistributionSystemEnum.CHEMICAL +chilledwater = IfcDistributionSystemEnum.CHILLEDWATER +communication = IfcDistributionSystemEnum.COMMUNICATION +compressedair = IfcDistributionSystemEnum.COMPRESSEDAIR +condenserwater = IfcDistributionSystemEnum.CONDENSERWATER +control = IfcDistributionSystemEnum.CONTROL +conveying = IfcDistributionSystemEnum.CONVEYING +data = IfcDistributionSystemEnum.DATA +disposal = IfcDistributionSystemEnum.DISPOSAL +domesticcoldwater = IfcDistributionSystemEnum.DOMESTICCOLDWATER +domestichotwater = IfcDistributionSystemEnum.DOMESTICHOTWATER +drainage = IfcDistributionSystemEnum.DRAINAGE +earthing = IfcDistributionSystemEnum.EARTHING +electrical = IfcDistributionSystemEnum.ELECTRICAL +electroacoustic = IfcDistributionSystemEnum.ELECTROACOUSTIC +exhaust = IfcDistributionSystemEnum.EXHAUST +fireprotection = IfcDistributionSystemEnum.FIREPROTECTION +fuel = IfcDistributionSystemEnum.FUEL +gas = IfcDistributionSystemEnum.GAS +hazardous = IfcDistributionSystemEnum.HAZARDOUS +heating = IfcDistributionSystemEnum.HEATING +lighting = IfcDistributionSystemEnum.LIGHTING +lightningprotection = IfcDistributionSystemEnum.LIGHTNINGPROTECTION +municipalsolidwaste = IfcDistributionSystemEnum.MUNICIPALSOLIDWASTE +oil = IfcDistributionSystemEnum.OIL +operational = IfcDistributionSystemEnum.OPERATIONAL +powergeneration = IfcDistributionSystemEnum.POWERGENERATION +rainwater = IfcDistributionSystemEnum.RAINWATER +refrigeration = IfcDistributionSystemEnum.REFRIGERATION +security = IfcDistributionSystemEnum.SECURITY +sewage = IfcDistributionSystemEnum.SEWAGE +signal = IfcDistributionSystemEnum.SIGNAL +stormwater = IfcDistributionSystemEnum.STORMWATER +telephone = IfcDistributionSystemEnum.TELEPHONE +tv = IfcDistributionSystemEnum.TV +vacuum = IfcDistributionSystemEnum.VACUUM +vent = IfcDistributionSystemEnum.VENT +ventilation = IfcDistributionSystemEnum.VENTILATION +wastewater = IfcDistributionSystemEnum.WASTEWATER +watersupply = IfcDistributionSystemEnum.WATERSUPPLY +catenary_system = IfcDistributionSystemEnum.CATENARY_SYSTEM +overhead_contactline_system = IfcDistributionSystemEnum.OVERHEAD_CONTACTLINE_SYSTEM +return_circuit = IfcDistributionSystemEnum.RETURN_CIRCUIT +userdefined = IfcDistributionSystemEnum.USERDEFINED +notdefined = IfcDistributionSystemEnum.NOTDEFINED IfcDocumentConfidentialityEnum = enum_namespace() -public = express_getattr(IfcDocumentConfidentialityEnum, 'PUBLIC', INDETERMINATE) -restricted = express_getattr(IfcDocumentConfidentialityEnum, 'RESTRICTED', INDETERMINATE) -confidential = express_getattr(IfcDocumentConfidentialityEnum, 'CONFIDENTIAL', INDETERMINATE) -personal = express_getattr(IfcDocumentConfidentialityEnum, 'PERSONAL', INDETERMINATE) -userdefined = express_getattr(IfcDocumentConfidentialityEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDocumentConfidentialityEnum, 'NOTDEFINED', INDETERMINATE) +public = IfcDocumentConfidentialityEnum.PUBLIC +restricted = IfcDocumentConfidentialityEnum.RESTRICTED +confidential = IfcDocumentConfidentialityEnum.CONFIDENTIAL +personal = IfcDocumentConfidentialityEnum.PERSONAL +userdefined = IfcDocumentConfidentialityEnum.USERDEFINED +notdefined = IfcDocumentConfidentialityEnum.NOTDEFINED IfcDocumentStatusEnum = enum_namespace() -draft = express_getattr(IfcDocumentStatusEnum, 'DRAFT', INDETERMINATE) -finaldraft = express_getattr(IfcDocumentStatusEnum, 'FINALDRAFT', INDETERMINATE) -final = express_getattr(IfcDocumentStatusEnum, 'FINAL', INDETERMINATE) -revision = express_getattr(IfcDocumentStatusEnum, 'REVISION', INDETERMINATE) -notdefined = express_getattr(IfcDocumentStatusEnum, 'NOTDEFINED', INDETERMINATE) +draft = IfcDocumentStatusEnum.DRAFT +finaldraft = IfcDocumentStatusEnum.FINALDRAFT +final = IfcDocumentStatusEnum.FINAL +revision = IfcDocumentStatusEnum.REVISION +notdefined = IfcDocumentStatusEnum.NOTDEFINED IfcDoorPanelOperationEnum = enum_namespace() -swinging = express_getattr(IfcDoorPanelOperationEnum, 'SWINGING', INDETERMINATE) -double_acting = express_getattr(IfcDoorPanelOperationEnum, 'DOUBLE_ACTING', INDETERMINATE) -sliding = express_getattr(IfcDoorPanelOperationEnum, 'SLIDING', INDETERMINATE) -folding = express_getattr(IfcDoorPanelOperationEnum, 'FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorPanelOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorPanelOperationEnum, 'ROLLINGUP', INDETERMINATE) -fixedpanel = express_getattr(IfcDoorPanelOperationEnum, 'FIXEDPANEL', INDETERMINATE) -userdefined = express_getattr(IfcDoorPanelOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +swinging = IfcDoorPanelOperationEnum.SWINGING +double_acting = IfcDoorPanelOperationEnum.DOUBLE_ACTING +sliding = IfcDoorPanelOperationEnum.SLIDING +folding = IfcDoorPanelOperationEnum.FOLDING +revolving = IfcDoorPanelOperationEnum.REVOLVING +rollingup = IfcDoorPanelOperationEnum.ROLLINGUP +fixedpanel = IfcDoorPanelOperationEnum.FIXEDPANEL +userdefined = IfcDoorPanelOperationEnum.USERDEFINED +notdefined = IfcDoorPanelOperationEnum.NOTDEFINED IfcDoorPanelPositionEnum = enum_namespace() -left = express_getattr(IfcDoorPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcDoorPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcDoorPanelPositionEnum, 'RIGHT', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcDoorPanelPositionEnum.LEFT +middle = IfcDoorPanelPositionEnum.MIDDLE +right = IfcDoorPanelPositionEnum.RIGHT +notdefined = IfcDoorPanelPositionEnum.NOTDEFINED IfcDoorStyleConstructionEnum = enum_namespace() -aluminium = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM', INDETERMINATE) -high_grade_steel = express_getattr(IfcDoorStyleConstructionEnum, 'HIGH_GRADE_STEEL', INDETERMINATE) -steel = express_getattr(IfcDoorStyleConstructionEnum, 'STEEL', INDETERMINATE) -wood = express_getattr(IfcDoorStyleConstructionEnum, 'WOOD', INDETERMINATE) -aluminium_wood = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM_WOOD', INDETERMINATE) -aluminium_plastic = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM_PLASTIC', INDETERMINATE) -plastic = express_getattr(IfcDoorStyleConstructionEnum, 'PLASTIC', INDETERMINATE) -userdefined = express_getattr(IfcDoorStyleConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorStyleConstructionEnum, 'NOTDEFINED', INDETERMINATE) +aluminium = IfcDoorStyleConstructionEnum.ALUMINIUM +high_grade_steel = IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL +steel = IfcDoorStyleConstructionEnum.STEEL +wood = IfcDoorStyleConstructionEnum.WOOD +aluminium_wood = IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD +aluminium_plastic = IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC +plastic = IfcDoorStyleConstructionEnum.PLASTIC +userdefined = IfcDoorStyleConstructionEnum.USERDEFINED +notdefined = IfcDoorStyleConstructionEnum.NOTDEFINED IfcDoorStyleOperationEnum = enum_namespace() -single_swing_left = express_getattr(IfcDoorStyleOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorStyleOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -double_door_single_swing = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING', INDETERMINATE) -double_door_single_swing_opposite_left = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_door_single_swing_opposite_right = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -double_door_double_swing = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_DOUBLE_SWING', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorStyleOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorStyleOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -double_door_sliding = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SLIDING', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorStyleOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorStyleOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -double_door_folding = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorStyleOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorStyleOperationEnum, 'ROLLINGUP', INDETERMINATE) -userdefined = express_getattr(IfcDoorStyleOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorStyleOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_swing_left = IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT +double_door_single_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING +double_door_single_swing_opposite_left = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT +double_door_single_swing_opposite_right = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT +double_swing_left = IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT +double_door_double_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING +sliding_to_left = IfcDoorStyleOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT +double_door_sliding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING +folding_to_left = IfcDoorStyleOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT +double_door_folding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING +revolving = IfcDoorStyleOperationEnum.REVOLVING +rollingup = IfcDoorStyleOperationEnum.ROLLINGUP +userdefined = IfcDoorStyleOperationEnum.USERDEFINED +notdefined = IfcDoorStyleOperationEnum.NOTDEFINED IfcDoorTypeEnum = enum_namespace() -door = express_getattr(IfcDoorTypeEnum, 'DOOR', INDETERMINATE) -gate = express_getattr(IfcDoorTypeEnum, 'GATE', INDETERMINATE) -trapdoor = express_getattr(IfcDoorTypeEnum, 'TRAPDOOR', INDETERMINATE) -boom_barrier = express_getattr(IfcDoorTypeEnum, 'BOOM_BARRIER', INDETERMINATE) -turnstile = express_getattr(IfcDoorTypeEnum, 'TURNSTILE', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeEnum, 'NOTDEFINED', INDETERMINATE) +door = IfcDoorTypeEnum.DOOR +gate = IfcDoorTypeEnum.GATE +trapdoor = IfcDoorTypeEnum.TRAPDOOR +boom_barrier = IfcDoorTypeEnum.BOOM_BARRIER +turnstile = IfcDoorTypeEnum.TURNSTILE +userdefined = IfcDoorTypeEnum.USERDEFINED +notdefined = IfcDoorTypeEnum.NOTDEFINED IfcDoorTypeOperationEnum = enum_namespace() -single_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -double_door_single_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING', INDETERMINATE) -double_door_single_swing_opposite_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_door_single_swing_opposite_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -double_door_double_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_DOUBLE_SWING', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -double_door_sliding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SLIDING', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -double_door_folding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorTypeOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorTypeOperationEnum, 'ROLLINGUP', INDETERMINATE) -swing_fixed_left = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_LEFT', INDETERMINATE) -swing_fixed_right = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_RIGHT', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_swing_left = IfcDoorTypeOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorTypeOperationEnum.SINGLE_SWING_RIGHT +double_door_single_swing = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING +double_door_single_swing_opposite_left = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT +double_door_single_swing_opposite_right = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT +double_swing_left = IfcDoorTypeOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorTypeOperationEnum.DOUBLE_SWING_RIGHT +double_door_double_swing = IfcDoorTypeOperationEnum.DOUBLE_DOOR_DOUBLE_SWING +sliding_to_left = IfcDoorTypeOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorTypeOperationEnum.SLIDING_TO_RIGHT +double_door_sliding = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SLIDING +folding_to_left = IfcDoorTypeOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorTypeOperationEnum.FOLDING_TO_RIGHT +double_door_folding = IfcDoorTypeOperationEnum.DOUBLE_DOOR_FOLDING +revolving = IfcDoorTypeOperationEnum.REVOLVING +rollingup = IfcDoorTypeOperationEnum.ROLLINGUP +swing_fixed_left = IfcDoorTypeOperationEnum.SWING_FIXED_LEFT +swing_fixed_right = IfcDoorTypeOperationEnum.SWING_FIXED_RIGHT +userdefined = IfcDoorTypeOperationEnum.USERDEFINED +notdefined = IfcDoorTypeOperationEnum.NOTDEFINED IfcDuctFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcDuctFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcDuctFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcDuctFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcDuctFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcDuctFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcDuctFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcDuctFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcDuctFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcDuctFittingTypeEnum.BEND +connector = IfcDuctFittingTypeEnum.CONNECTOR +entry = IfcDuctFittingTypeEnum.ENTRY +exit = IfcDuctFittingTypeEnum.EXIT +junction = IfcDuctFittingTypeEnum.JUNCTION +obstruction = IfcDuctFittingTypeEnum.OBSTRUCTION +transition = IfcDuctFittingTypeEnum.TRANSITION +userdefined = IfcDuctFittingTypeEnum.USERDEFINED +notdefined = IfcDuctFittingTypeEnum.NOTDEFINED IfcDuctSegmentTypeEnum = enum_namespace() -rigidsegment = express_getattr(IfcDuctSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -flexiblesegment = express_getattr(IfcDuctSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcDuctSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +rigidsegment = IfcDuctSegmentTypeEnum.RIGIDSEGMENT +flexiblesegment = IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT +userdefined = IfcDuctSegmentTypeEnum.USERDEFINED +notdefined = IfcDuctSegmentTypeEnum.NOTDEFINED IfcDuctSilencerTypeEnum = enum_namespace() -flatoval = express_getattr(IfcDuctSilencerTypeEnum, 'FLATOVAL', INDETERMINATE) -rectangular = express_getattr(IfcDuctSilencerTypeEnum, 'RECTANGULAR', INDETERMINATE) -round = express_getattr(IfcDuctSilencerTypeEnum, 'ROUND', INDETERMINATE) -userdefined = express_getattr(IfcDuctSilencerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSilencerTypeEnum, 'NOTDEFINED', INDETERMINATE) +flatoval = IfcDuctSilencerTypeEnum.FLATOVAL +rectangular = IfcDuctSilencerTypeEnum.RECTANGULAR +round = IfcDuctSilencerTypeEnum.ROUND +userdefined = IfcDuctSilencerTypeEnum.USERDEFINED +notdefined = IfcDuctSilencerTypeEnum.NOTDEFINED IfcEarthworksCutTypeEnum = enum_namespace() -trench = express_getattr(IfcEarthworksCutTypeEnum, 'TRENCH', INDETERMINATE) -dredging = express_getattr(IfcEarthworksCutTypeEnum, 'DREDGING', INDETERMINATE) -excavation = express_getattr(IfcEarthworksCutTypeEnum, 'EXCAVATION', INDETERMINATE) -overexcavation = express_getattr(IfcEarthworksCutTypeEnum, 'OVEREXCAVATION', INDETERMINATE) -topsoilremoval = express_getattr(IfcEarthworksCutTypeEnum, 'TOPSOILREMOVAL', INDETERMINATE) -stepexcavation = express_getattr(IfcEarthworksCutTypeEnum, 'STEPEXCAVATION', INDETERMINATE) -pavementmilling = express_getattr(IfcEarthworksCutTypeEnum, 'PAVEMENTMILLING', INDETERMINATE) -cut = express_getattr(IfcEarthworksCutTypeEnum, 'CUT', INDETERMINATE) -base_excavation = express_getattr(IfcEarthworksCutTypeEnum, 'BASE_EXCAVATION', INDETERMINATE) -userdefined = express_getattr(IfcEarthworksCutTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEarthworksCutTypeEnum, 'NOTDEFINED', INDETERMINATE) +trench = IfcEarthworksCutTypeEnum.TRENCH +dredging = IfcEarthworksCutTypeEnum.DREDGING +excavation = IfcEarthworksCutTypeEnum.EXCAVATION +overexcavation = IfcEarthworksCutTypeEnum.OVEREXCAVATION +topsoilremoval = IfcEarthworksCutTypeEnum.TOPSOILREMOVAL +stepexcavation = IfcEarthworksCutTypeEnum.STEPEXCAVATION +pavementmilling = IfcEarthworksCutTypeEnum.PAVEMENTMILLING +cut = IfcEarthworksCutTypeEnum.CUT +base_excavation = IfcEarthworksCutTypeEnum.BASE_EXCAVATION +userdefined = IfcEarthworksCutTypeEnum.USERDEFINED +notdefined = IfcEarthworksCutTypeEnum.NOTDEFINED IfcEarthworksFillTypeEnum = enum_namespace() -backfill = express_getattr(IfcEarthworksFillTypeEnum, 'BACKFILL', INDETERMINATE) -counterweight = express_getattr(IfcEarthworksFillTypeEnum, 'COUNTERWEIGHT', INDETERMINATE) -subgrade = express_getattr(IfcEarthworksFillTypeEnum, 'SUBGRADE', INDETERMINATE) -embankment = express_getattr(IfcEarthworksFillTypeEnum, 'EMBANKMENT', INDETERMINATE) -transitionsection = express_getattr(IfcEarthworksFillTypeEnum, 'TRANSITIONSECTION', INDETERMINATE) -subgradebed = express_getattr(IfcEarthworksFillTypeEnum, 'SUBGRADEBED', INDETERMINATE) -slopefill = express_getattr(IfcEarthworksFillTypeEnum, 'SLOPEFILL', INDETERMINATE) -userdefined = express_getattr(IfcEarthworksFillTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEarthworksFillTypeEnum, 'NOTDEFINED', INDETERMINATE) +backfill = IfcEarthworksFillTypeEnum.BACKFILL +counterweight = IfcEarthworksFillTypeEnum.COUNTERWEIGHT +subgrade = IfcEarthworksFillTypeEnum.SUBGRADE +embankment = IfcEarthworksFillTypeEnum.EMBANKMENT +transitionsection = IfcEarthworksFillTypeEnum.TRANSITIONSECTION +subgradebed = IfcEarthworksFillTypeEnum.SUBGRADEBED +slopefill = IfcEarthworksFillTypeEnum.SLOPEFILL +userdefined = IfcEarthworksFillTypeEnum.USERDEFINED +notdefined = IfcEarthworksFillTypeEnum.NOTDEFINED IfcElectricApplianceTypeEnum = enum_namespace() -dishwasher = express_getattr(IfcElectricApplianceTypeEnum, 'DISHWASHER', INDETERMINATE) -electriccooker = express_getattr(IfcElectricApplianceTypeEnum, 'ELECTRICCOOKER', INDETERMINATE) -freestandingelectricheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGELECTRICHEATER', INDETERMINATE) -freestandingfan = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGFAN', INDETERMINATE) -freestandingwaterheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERHEATER', INDETERMINATE) -freestandingwatercooler = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERCOOLER', INDETERMINATE) -freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FREEZER', INDETERMINATE) -fridge_freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FRIDGE_FREEZER', INDETERMINATE) -handdryer = express_getattr(IfcElectricApplianceTypeEnum, 'HANDDRYER', INDETERMINATE) -kitchenmachine = express_getattr(IfcElectricApplianceTypeEnum, 'KITCHENMACHINE', INDETERMINATE) -microwave = express_getattr(IfcElectricApplianceTypeEnum, 'MICROWAVE', INDETERMINATE) -photocopier = express_getattr(IfcElectricApplianceTypeEnum, 'PHOTOCOPIER', INDETERMINATE) -refrigerator = express_getattr(IfcElectricApplianceTypeEnum, 'REFRIGERATOR', INDETERMINATE) -tumbledryer = express_getattr(IfcElectricApplianceTypeEnum, 'TUMBLEDRYER', INDETERMINATE) -vendingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'VENDINGMACHINE', INDETERMINATE) -washingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'WASHINGMACHINE', INDETERMINATE) -userdefined = express_getattr(IfcElectricApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +dishwasher = IfcElectricApplianceTypeEnum.DISHWASHER +electriccooker = IfcElectricApplianceTypeEnum.ELECTRICCOOKER +freestandingelectricheater = IfcElectricApplianceTypeEnum.FREESTANDINGELECTRICHEATER +freestandingfan = IfcElectricApplianceTypeEnum.FREESTANDINGFAN +freestandingwaterheater = IfcElectricApplianceTypeEnum.FREESTANDINGWATERHEATER +freestandingwatercooler = IfcElectricApplianceTypeEnum.FREESTANDINGWATERCOOLER +freezer = IfcElectricApplianceTypeEnum.FREEZER +fridge_freezer = IfcElectricApplianceTypeEnum.FRIDGE_FREEZER +handdryer = IfcElectricApplianceTypeEnum.HANDDRYER +kitchenmachine = IfcElectricApplianceTypeEnum.KITCHENMACHINE +microwave = IfcElectricApplianceTypeEnum.MICROWAVE +photocopier = IfcElectricApplianceTypeEnum.PHOTOCOPIER +refrigerator = IfcElectricApplianceTypeEnum.REFRIGERATOR +tumbledryer = IfcElectricApplianceTypeEnum.TUMBLEDRYER +vendingmachine = IfcElectricApplianceTypeEnum.VENDINGMACHINE +washingmachine = IfcElectricApplianceTypeEnum.WASHINGMACHINE +userdefined = IfcElectricApplianceTypeEnum.USERDEFINED +notdefined = IfcElectricApplianceTypeEnum.NOTDEFINED IfcElectricDistributionBoardTypeEnum = enum_namespace() -consumerunit = express_getattr(IfcElectricDistributionBoardTypeEnum, 'CONSUMERUNIT', INDETERMINATE) -distributionboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcElectricDistributionBoardTypeEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -switchboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'SWITCHBOARD', INDETERMINATE) -userdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'NOTDEFINED', INDETERMINATE) +consumerunit = IfcElectricDistributionBoardTypeEnum.CONSUMERUNIT +distributionboard = IfcElectricDistributionBoardTypeEnum.DISTRIBUTIONBOARD +motorcontrolcentre = IfcElectricDistributionBoardTypeEnum.MOTORCONTROLCENTRE +switchboard = IfcElectricDistributionBoardTypeEnum.SWITCHBOARD +userdefined = IfcElectricDistributionBoardTypeEnum.USERDEFINED +notdefined = IfcElectricDistributionBoardTypeEnum.NOTDEFINED IfcElectricFlowStorageDeviceTypeEnum = enum_namespace() -battery = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'BATTERY', INDETERMINATE) -capacitorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITORBANK', INDETERMINATE) -harmonicfilter = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'HARMONICFILTER', INDETERMINATE) -inductorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTORBANK', INDETERMINATE) -ups = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'UPS', INDETERMINATE) -capacitor = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITOR', INDETERMINATE) -compensator = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'COMPENSATOR', INDETERMINATE) -inductor = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTOR', INDETERMINATE) -recharger = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'RECHARGER', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +battery = IfcElectricFlowStorageDeviceTypeEnum.BATTERY +capacitorbank = IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK +harmonicfilter = IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER +inductorbank = IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK +ups = IfcElectricFlowStorageDeviceTypeEnum.UPS +capacitor = IfcElectricFlowStorageDeviceTypeEnum.CAPACITOR +compensator = IfcElectricFlowStorageDeviceTypeEnum.COMPENSATOR +inductor = IfcElectricFlowStorageDeviceTypeEnum.INDUCTOR +recharger = IfcElectricFlowStorageDeviceTypeEnum.RECHARGER +userdefined = IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED IfcElectricFlowTreatmentDeviceTypeEnum = enum_namespace() -electronicfilter = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'ELECTRONICFILTER', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +electronicfilter = IfcElectricFlowTreatmentDeviceTypeEnum.ELECTRONICFILTER +userdefined = IfcElectricFlowTreatmentDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowTreatmentDeviceTypeEnum.NOTDEFINED IfcElectricGeneratorTypeEnum = enum_namespace() -chp = express_getattr(IfcElectricGeneratorTypeEnum, 'CHP', INDETERMINATE) -enginegenerator = express_getattr(IfcElectricGeneratorTypeEnum, 'ENGINEGENERATOR', INDETERMINATE) -standalone = express_getattr(IfcElectricGeneratorTypeEnum, 'STANDALONE', INDETERMINATE) -userdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'NOTDEFINED', INDETERMINATE) +chp = IfcElectricGeneratorTypeEnum.CHP +enginegenerator = IfcElectricGeneratorTypeEnum.ENGINEGENERATOR +standalone = IfcElectricGeneratorTypeEnum.STANDALONE +userdefined = IfcElectricGeneratorTypeEnum.USERDEFINED +notdefined = IfcElectricGeneratorTypeEnum.NOTDEFINED IfcElectricMotorTypeEnum = enum_namespace() -dc = express_getattr(IfcElectricMotorTypeEnum, 'DC', INDETERMINATE) -induction = express_getattr(IfcElectricMotorTypeEnum, 'INDUCTION', INDETERMINATE) -polyphase = express_getattr(IfcElectricMotorTypeEnum, 'POLYPHASE', INDETERMINATE) -reluctancesynchronous = express_getattr(IfcElectricMotorTypeEnum, 'RELUCTANCESYNCHRONOUS', INDETERMINATE) -synchronous = express_getattr(IfcElectricMotorTypeEnum, 'SYNCHRONOUS', INDETERMINATE) -userdefined = express_getattr(IfcElectricMotorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricMotorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dc = IfcElectricMotorTypeEnum.DC +induction = IfcElectricMotorTypeEnum.INDUCTION +polyphase = IfcElectricMotorTypeEnum.POLYPHASE +reluctancesynchronous = IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS +synchronous = IfcElectricMotorTypeEnum.SYNCHRONOUS +userdefined = IfcElectricMotorTypeEnum.USERDEFINED +notdefined = IfcElectricMotorTypeEnum.NOTDEFINED IfcElectricTimeControlTypeEnum = enum_namespace() -timeclock = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMECLOCK', INDETERMINATE) -timedelay = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMEDELAY', INDETERMINATE) -relay = express_getattr(IfcElectricTimeControlTypeEnum, 'RELAY', INDETERMINATE) -userdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'NOTDEFINED', INDETERMINATE) +timeclock = IfcElectricTimeControlTypeEnum.TIMECLOCK +timedelay = IfcElectricTimeControlTypeEnum.TIMEDELAY +relay = IfcElectricTimeControlTypeEnum.RELAY +userdefined = IfcElectricTimeControlTypeEnum.USERDEFINED +notdefined = IfcElectricTimeControlTypeEnum.NOTDEFINED IfcElementAssemblyTypeEnum = enum_namespace() -accessory_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'ACCESSORY_ASSEMBLY', INDETERMINATE) -arch = express_getattr(IfcElementAssemblyTypeEnum, 'ARCH', INDETERMINATE) -beam_grid = express_getattr(IfcElementAssemblyTypeEnum, 'BEAM_GRID', INDETERMINATE) -braced_frame = express_getattr(IfcElementAssemblyTypeEnum, 'BRACED_FRAME', INDETERMINATE) -girder = express_getattr(IfcElementAssemblyTypeEnum, 'GIRDER', INDETERMINATE) -reinforcement_unit = express_getattr(IfcElementAssemblyTypeEnum, 'REINFORCEMENT_UNIT', INDETERMINATE) -rigid_frame = express_getattr(IfcElementAssemblyTypeEnum, 'RIGID_FRAME', INDETERMINATE) -slab_field = express_getattr(IfcElementAssemblyTypeEnum, 'SLAB_FIELD', INDETERMINATE) -truss = express_getattr(IfcElementAssemblyTypeEnum, 'TRUSS', INDETERMINATE) -abutment = express_getattr(IfcElementAssemblyTypeEnum, 'ABUTMENT', INDETERMINATE) -pier = express_getattr(IfcElementAssemblyTypeEnum, 'PIER', INDETERMINATE) -pylon = express_getattr(IfcElementAssemblyTypeEnum, 'PYLON', INDETERMINATE) -cross_bracing = express_getattr(IfcElementAssemblyTypeEnum, 'CROSS_BRACING', INDETERMINATE) -deck = express_getattr(IfcElementAssemblyTypeEnum, 'DECK', INDETERMINATE) -mast = express_getattr(IfcElementAssemblyTypeEnum, 'MAST', INDETERMINATE) -signalassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SIGNALASSEMBLY', INDETERMINATE) -grid = express_getattr(IfcElementAssemblyTypeEnum, 'GRID', INDETERMINATE) -shelter = express_getattr(IfcElementAssemblyTypeEnum, 'SHELTER', INDETERMINATE) -supportingassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SUPPORTINGASSEMBLY', INDETERMINATE) -suspensionassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SUSPENSIONASSEMBLY', INDETERMINATE) -traction_switching_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'TRACTION_SWITCHING_ASSEMBLY', INDETERMINATE) -trackpanel = express_getattr(IfcElementAssemblyTypeEnum, 'TRACKPANEL', INDETERMINATE) -turnoutpanel = express_getattr(IfcElementAssemblyTypeEnum, 'TURNOUTPANEL', INDETERMINATE) -dilatationpanel = express_getattr(IfcElementAssemblyTypeEnum, 'DILATATIONPANEL', INDETERMINATE) -rail_mechanical_equipment_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY', INDETERMINATE) -entranceworks = express_getattr(IfcElementAssemblyTypeEnum, 'ENTRANCEWORKS', INDETERMINATE) -sumpbuster = express_getattr(IfcElementAssemblyTypeEnum, 'SUMPBUSTER', INDETERMINATE) -traffic_calming_device = express_getattr(IfcElementAssemblyTypeEnum, 'TRAFFIC_CALMING_DEVICE', INDETERMINATE) -userdefined = express_getattr(IfcElementAssemblyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElementAssemblyTypeEnum, 'NOTDEFINED', INDETERMINATE) +accessory_assembly = IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY +arch = IfcElementAssemblyTypeEnum.ARCH +beam_grid = IfcElementAssemblyTypeEnum.BEAM_GRID +braced_frame = IfcElementAssemblyTypeEnum.BRACED_FRAME +girder = IfcElementAssemblyTypeEnum.GIRDER +reinforcement_unit = IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT +rigid_frame = IfcElementAssemblyTypeEnum.RIGID_FRAME +slab_field = IfcElementAssemblyTypeEnum.SLAB_FIELD +truss = IfcElementAssemblyTypeEnum.TRUSS +abutment = IfcElementAssemblyTypeEnum.ABUTMENT +pier = IfcElementAssemblyTypeEnum.PIER +pylon = IfcElementAssemblyTypeEnum.PYLON +cross_bracing = IfcElementAssemblyTypeEnum.CROSS_BRACING +deck = IfcElementAssemblyTypeEnum.DECK +mast = IfcElementAssemblyTypeEnum.MAST +signalassembly = IfcElementAssemblyTypeEnum.SIGNALASSEMBLY +grid = IfcElementAssemblyTypeEnum.GRID +shelter = IfcElementAssemblyTypeEnum.SHELTER +supportingassembly = IfcElementAssemblyTypeEnum.SUPPORTINGASSEMBLY +suspensionassembly = IfcElementAssemblyTypeEnum.SUSPENSIONASSEMBLY +traction_switching_assembly = IfcElementAssemblyTypeEnum.TRACTION_SWITCHING_ASSEMBLY +trackpanel = IfcElementAssemblyTypeEnum.TRACKPANEL +turnoutpanel = IfcElementAssemblyTypeEnum.TURNOUTPANEL +dilatationpanel = IfcElementAssemblyTypeEnum.DILATATIONPANEL +rail_mechanical_equipment_assembly = IfcElementAssemblyTypeEnum.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY +entranceworks = IfcElementAssemblyTypeEnum.ENTRANCEWORKS +sumpbuster = IfcElementAssemblyTypeEnum.SUMPBUSTER +traffic_calming_device = IfcElementAssemblyTypeEnum.TRAFFIC_CALMING_DEVICE +userdefined = IfcElementAssemblyTypeEnum.USERDEFINED +notdefined = IfcElementAssemblyTypeEnum.NOTDEFINED IfcElementCompositionEnum = enum_namespace() -complex = express_getattr(IfcElementCompositionEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcElementCompositionEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcElementCompositionEnum, 'PARTIAL', INDETERMINATE) +complex = IfcElementCompositionEnum.COMPLEX +element = IfcElementCompositionEnum.ELEMENT +partial = IfcElementCompositionEnum.PARTIAL IfcEngineTypeEnum = enum_namespace() -externalcombustion = express_getattr(IfcEngineTypeEnum, 'EXTERNALCOMBUSTION', INDETERMINATE) -internalcombustion = express_getattr(IfcEngineTypeEnum, 'INTERNALCOMBUSTION', INDETERMINATE) -userdefined = express_getattr(IfcEngineTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEngineTypeEnum, 'NOTDEFINED', INDETERMINATE) +externalcombustion = IfcEngineTypeEnum.EXTERNALCOMBUSTION +internalcombustion = IfcEngineTypeEnum.INTERNALCOMBUSTION +userdefined = IfcEngineTypeEnum.USERDEFINED +notdefined = IfcEngineTypeEnum.NOTDEFINED IfcEvaporativeCoolerTypeEnum = enum_namespace() -directevaporativerandommediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER', INDETERMINATE) -directevaporativerigidmediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER', INDETERMINATE) -directevaporativeslingerspackagedaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER', INDETERMINATE) -directevaporativepackagedrotaryaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER', INDETERMINATE) -directevaporativeairwasher = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEAIRWASHER', INDETERMINATE) -indirectevaporativepackageaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEPACKAGEAIRCOOLER', INDETERMINATE) -indirectevaporativewetcoil = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEWETCOIL', INDETERMINATE) -indirectevaporativecoolingtowerorcoilcooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER', INDETERMINATE) -indirectdirectcombination = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTDIRECTCOMBINATION', INDETERMINATE) -userdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'NOTDEFINED', INDETERMINATE) +directevaporativerandommediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER +directevaporativerigidmediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER +directevaporativeslingerspackagedaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER +directevaporativepackagedrotaryaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER +directevaporativeairwasher = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER +indirectevaporativepackageaircooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER +indirectevaporativewetcoil = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL +indirectevaporativecoolingtowerorcoilcooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER +indirectdirectcombination = IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION +userdefined = IfcEvaporativeCoolerTypeEnum.USERDEFINED +notdefined = IfcEvaporativeCoolerTypeEnum.NOTDEFINED IfcEvaporatorTypeEnum = enum_namespace() -directexpansion = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSION', INDETERMINATE) -directexpansionshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONSHELLANDTUBE', INDETERMINATE) -directexpansiontubeintube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONTUBEINTUBE', INDETERMINATE) -directexpansionbrazedplate = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONBRAZEDPLATE', INDETERMINATE) -floodedshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'FLOODEDSHELLANDTUBE', INDETERMINATE) -shellandcoil = express_getattr(IfcEvaporatorTypeEnum, 'SHELLANDCOIL', INDETERMINATE) -userdefined = express_getattr(IfcEvaporatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +directexpansion = IfcEvaporatorTypeEnum.DIRECTEXPANSION +directexpansionshellandtube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE +directexpansiontubeintube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE +directexpansionbrazedplate = IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE +floodedshellandtube = IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE +shellandcoil = IfcEvaporatorTypeEnum.SHELLANDCOIL +userdefined = IfcEvaporatorTypeEnum.USERDEFINED +notdefined = IfcEvaporatorTypeEnum.NOTDEFINED IfcEventTriggerTypeEnum = enum_namespace() -eventrule = express_getattr(IfcEventTriggerTypeEnum, 'EVENTRULE', INDETERMINATE) -eventmessage = express_getattr(IfcEventTriggerTypeEnum, 'EVENTMESSAGE', INDETERMINATE) -eventtime = express_getattr(IfcEventTriggerTypeEnum, 'EVENTTIME', INDETERMINATE) -eventcomplex = express_getattr(IfcEventTriggerTypeEnum, 'EVENTCOMPLEX', INDETERMINATE) -userdefined = express_getattr(IfcEventTriggerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTriggerTypeEnum, 'NOTDEFINED', INDETERMINATE) +eventrule = IfcEventTriggerTypeEnum.EVENTRULE +eventmessage = IfcEventTriggerTypeEnum.EVENTMESSAGE +eventtime = IfcEventTriggerTypeEnum.EVENTTIME +eventcomplex = IfcEventTriggerTypeEnum.EVENTCOMPLEX +userdefined = IfcEventTriggerTypeEnum.USERDEFINED +notdefined = IfcEventTriggerTypeEnum.NOTDEFINED IfcEventTypeEnum = enum_namespace() -startevent = express_getattr(IfcEventTypeEnum, 'STARTEVENT', INDETERMINATE) -endevent = express_getattr(IfcEventTypeEnum, 'ENDEVENT', INDETERMINATE) -intermediateevent = express_getattr(IfcEventTypeEnum, 'INTERMEDIATEEVENT', INDETERMINATE) -userdefined = express_getattr(IfcEventTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTypeEnum, 'NOTDEFINED', INDETERMINATE) +startevent = IfcEventTypeEnum.STARTEVENT +endevent = IfcEventTypeEnum.ENDEVENT +intermediateevent = IfcEventTypeEnum.INTERMEDIATEEVENT +userdefined = IfcEventTypeEnum.USERDEFINED +notdefined = IfcEventTypeEnum.NOTDEFINED IfcExternalSpatialElementTypeEnum = enum_namespace() -external = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_water = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_WATER', INDETERMINATE) -external_fire = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_FIRE', INDETERMINATE) -userdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +external = IfcExternalSpatialElementTypeEnum.EXTERNAL +external_earth = IfcExternalSpatialElementTypeEnum.EXTERNAL_EARTH +external_water = IfcExternalSpatialElementTypeEnum.EXTERNAL_WATER +external_fire = IfcExternalSpatialElementTypeEnum.EXTERNAL_FIRE +userdefined = IfcExternalSpatialElementTypeEnum.USERDEFINED +notdefined = IfcExternalSpatialElementTypeEnum.NOTDEFINED IfcFacilityPartCommonTypeEnum = enum_namespace() -segment = express_getattr(IfcFacilityPartCommonTypeEnum, 'SEGMENT', INDETERMINATE) -aboveground = express_getattr(IfcFacilityPartCommonTypeEnum, 'ABOVEGROUND', INDETERMINATE) -junction = express_getattr(IfcFacilityPartCommonTypeEnum, 'JUNCTION', INDETERMINATE) -levelcrossing = express_getattr(IfcFacilityPartCommonTypeEnum, 'LEVELCROSSING', INDETERMINATE) -belowground = express_getattr(IfcFacilityPartCommonTypeEnum, 'BELOWGROUND', INDETERMINATE) -substructure = express_getattr(IfcFacilityPartCommonTypeEnum, 'SUBSTRUCTURE', INDETERMINATE) -terminal = express_getattr(IfcFacilityPartCommonTypeEnum, 'TERMINAL', INDETERMINATE) -superstructure = express_getattr(IfcFacilityPartCommonTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcFacilityPartCommonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFacilityPartCommonTypeEnum, 'NOTDEFINED', INDETERMINATE) +segment = IfcFacilityPartCommonTypeEnum.SEGMENT +aboveground = IfcFacilityPartCommonTypeEnum.ABOVEGROUND +junction = IfcFacilityPartCommonTypeEnum.JUNCTION +levelcrossing = IfcFacilityPartCommonTypeEnum.LEVELCROSSING +belowground = IfcFacilityPartCommonTypeEnum.BELOWGROUND +substructure = IfcFacilityPartCommonTypeEnum.SUBSTRUCTURE +terminal = IfcFacilityPartCommonTypeEnum.TERMINAL +superstructure = IfcFacilityPartCommonTypeEnum.SUPERSTRUCTURE +userdefined = IfcFacilityPartCommonTypeEnum.USERDEFINED +notdefined = IfcFacilityPartCommonTypeEnum.NOTDEFINED IfcFacilityUsageEnum = enum_namespace() -lateral = express_getattr(IfcFacilityUsageEnum, 'LATERAL', INDETERMINATE) -region = express_getattr(IfcFacilityUsageEnum, 'REGION', INDETERMINATE) -vertical = express_getattr(IfcFacilityUsageEnum, 'VERTICAL', INDETERMINATE) -longitudinal = express_getattr(IfcFacilityUsageEnum, 'LONGITUDINAL', INDETERMINATE) -userdefined = express_getattr(IfcFacilityUsageEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFacilityUsageEnum, 'NOTDEFINED', INDETERMINATE) +lateral = IfcFacilityUsageEnum.LATERAL +region = IfcFacilityUsageEnum.REGION +vertical = IfcFacilityUsageEnum.VERTICAL +longitudinal = IfcFacilityUsageEnum.LONGITUDINAL +userdefined = IfcFacilityUsageEnum.USERDEFINED +notdefined = IfcFacilityUsageEnum.NOTDEFINED IfcFanTypeEnum = enum_namespace() -centrifugalforwardcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALFORWARDCURVED', INDETERMINATE) -centrifugalradial = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALRADIAL', INDETERMINATE) -centrifugalbackwardinclinedcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALBACKWARDINCLINEDCURVED', INDETERMINATE) -centrifugalairfoil = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALAIRFOIL', INDETERMINATE) -tubeaxial = express_getattr(IfcFanTypeEnum, 'TUBEAXIAL', INDETERMINATE) -vaneaxial = express_getattr(IfcFanTypeEnum, 'VANEAXIAL', INDETERMINATE) -propelloraxial = express_getattr(IfcFanTypeEnum, 'PROPELLORAXIAL', INDETERMINATE) -userdefined = express_getattr(IfcFanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFanTypeEnum, 'NOTDEFINED', INDETERMINATE) +centrifugalforwardcurved = IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED +centrifugalradial = IfcFanTypeEnum.CENTRIFUGALRADIAL +centrifugalbackwardinclinedcurved = IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED +centrifugalairfoil = IfcFanTypeEnum.CENTRIFUGALAIRFOIL +tubeaxial = IfcFanTypeEnum.TUBEAXIAL +vaneaxial = IfcFanTypeEnum.VANEAXIAL +propelloraxial = IfcFanTypeEnum.PROPELLORAXIAL +userdefined = IfcFanTypeEnum.USERDEFINED +notdefined = IfcFanTypeEnum.NOTDEFINED IfcFastenerTypeEnum = enum_namespace() -glue = express_getattr(IfcFastenerTypeEnum, 'GLUE', INDETERMINATE) -mortar = express_getattr(IfcFastenerTypeEnum, 'MORTAR', INDETERMINATE) -weld = express_getattr(IfcFastenerTypeEnum, 'WELD', INDETERMINATE) -userdefined = express_getattr(IfcFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +glue = IfcFastenerTypeEnum.GLUE +mortar = IfcFastenerTypeEnum.MORTAR +weld = IfcFastenerTypeEnum.WELD +userdefined = IfcFastenerTypeEnum.USERDEFINED +notdefined = IfcFastenerTypeEnum.NOTDEFINED IfcFilterTypeEnum = enum_namespace() -airparticlefilter = express_getattr(IfcFilterTypeEnum, 'AIRPARTICLEFILTER', INDETERMINATE) -compressedairfilter = express_getattr(IfcFilterTypeEnum, 'COMPRESSEDAIRFILTER', INDETERMINATE) -odorfilter = express_getattr(IfcFilterTypeEnum, 'ODORFILTER', INDETERMINATE) -oilfilter = express_getattr(IfcFilterTypeEnum, 'OILFILTER', INDETERMINATE) -strainer = express_getattr(IfcFilterTypeEnum, 'STRAINER', INDETERMINATE) -waterfilter = express_getattr(IfcFilterTypeEnum, 'WATERFILTER', INDETERMINATE) -userdefined = express_getattr(IfcFilterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFilterTypeEnum, 'NOTDEFINED', INDETERMINATE) +airparticlefilter = IfcFilterTypeEnum.AIRPARTICLEFILTER +compressedairfilter = IfcFilterTypeEnum.COMPRESSEDAIRFILTER +odorfilter = IfcFilterTypeEnum.ODORFILTER +oilfilter = IfcFilterTypeEnum.OILFILTER +strainer = IfcFilterTypeEnum.STRAINER +waterfilter = IfcFilterTypeEnum.WATERFILTER +userdefined = IfcFilterTypeEnum.USERDEFINED +notdefined = IfcFilterTypeEnum.NOTDEFINED IfcFireSuppressionTerminalTypeEnum = enum_namespace() -breechinginlet = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'BREECHINGINLET', INDETERMINATE) -firehydrant = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'FIREHYDRANT', INDETERMINATE) -hosereel = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -sprinkler = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLER', INDETERMINATE) -sprinklerdeflector = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLERDEFLECTOR', INDETERMINATE) -userdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +breechinginlet = IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET +firehydrant = IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT +hosereel = IfcFireSuppressionTerminalTypeEnum.HOSEREEL +sprinkler = IfcFireSuppressionTerminalTypeEnum.SPRINKLER +sprinklerdeflector = IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR +userdefined = IfcFireSuppressionTerminalTypeEnum.USERDEFINED +notdefined = IfcFireSuppressionTerminalTypeEnum.NOTDEFINED IfcFlowDirectionEnum = enum_namespace() -source = express_getattr(IfcFlowDirectionEnum, 'SOURCE', INDETERMINATE) -sink = express_getattr(IfcFlowDirectionEnum, 'SINK', INDETERMINATE) -sourceandsink = express_getattr(IfcFlowDirectionEnum, 'SOURCEANDSINK', INDETERMINATE) -notdefined = express_getattr(IfcFlowDirectionEnum, 'NOTDEFINED', INDETERMINATE) +source = IfcFlowDirectionEnum.SOURCE +sink = IfcFlowDirectionEnum.SINK +sourceandsink = IfcFlowDirectionEnum.SOURCEANDSINK +notdefined = IfcFlowDirectionEnum.NOTDEFINED IfcFlowInstrumentTypeEnum = enum_namespace() -pressuregauge = express_getattr(IfcFlowInstrumentTypeEnum, 'PRESSUREGAUGE', INDETERMINATE) -thermometer = express_getattr(IfcFlowInstrumentTypeEnum, 'THERMOMETER', INDETERMINATE) -ammeter = express_getattr(IfcFlowInstrumentTypeEnum, 'AMMETER', INDETERMINATE) -frequencymeter = express_getattr(IfcFlowInstrumentTypeEnum, 'FREQUENCYMETER', INDETERMINATE) -powerfactormeter = express_getattr(IfcFlowInstrumentTypeEnum, 'POWERFACTORMETER', INDETERMINATE) -phaseanglemeter = express_getattr(IfcFlowInstrumentTypeEnum, 'PHASEANGLEMETER', INDETERMINATE) -voltmeter_peak = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_PEAK', INDETERMINATE) -voltmeter_rms = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_RMS', INDETERMINATE) -combined = express_getattr(IfcFlowInstrumentTypeEnum, 'COMBINED', INDETERMINATE) -voltmeter = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER', INDETERMINATE) -userdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'NOTDEFINED', INDETERMINATE) +pressuregauge = IfcFlowInstrumentTypeEnum.PRESSUREGAUGE +thermometer = IfcFlowInstrumentTypeEnum.THERMOMETER +ammeter = IfcFlowInstrumentTypeEnum.AMMETER +frequencymeter = IfcFlowInstrumentTypeEnum.FREQUENCYMETER +powerfactormeter = IfcFlowInstrumentTypeEnum.POWERFACTORMETER +phaseanglemeter = IfcFlowInstrumentTypeEnum.PHASEANGLEMETER +voltmeter_peak = IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK +voltmeter_rms = IfcFlowInstrumentTypeEnum.VOLTMETER_RMS +combined = IfcFlowInstrumentTypeEnum.COMBINED +voltmeter = IfcFlowInstrumentTypeEnum.VOLTMETER +userdefined = IfcFlowInstrumentTypeEnum.USERDEFINED +notdefined = IfcFlowInstrumentTypeEnum.NOTDEFINED IfcFlowMeterTypeEnum = enum_namespace() -energymeter = express_getattr(IfcFlowMeterTypeEnum, 'ENERGYMETER', INDETERMINATE) -gasmeter = express_getattr(IfcFlowMeterTypeEnum, 'GASMETER', INDETERMINATE) -oilmeter = express_getattr(IfcFlowMeterTypeEnum, 'OILMETER', INDETERMINATE) -watermeter = express_getattr(IfcFlowMeterTypeEnum, 'WATERMETER', INDETERMINATE) -userdefined = express_getattr(IfcFlowMeterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowMeterTypeEnum, 'NOTDEFINED', INDETERMINATE) +energymeter = IfcFlowMeterTypeEnum.ENERGYMETER +gasmeter = IfcFlowMeterTypeEnum.GASMETER +oilmeter = IfcFlowMeterTypeEnum.OILMETER +watermeter = IfcFlowMeterTypeEnum.WATERMETER +userdefined = IfcFlowMeterTypeEnum.USERDEFINED +notdefined = IfcFlowMeterTypeEnum.NOTDEFINED IfcFootingTypeEnum = enum_namespace() -caisson_foundation = express_getattr(IfcFootingTypeEnum, 'CAISSON_FOUNDATION', INDETERMINATE) -footing_beam = express_getattr(IfcFootingTypeEnum, 'FOOTING_BEAM', INDETERMINATE) -pad_footing = express_getattr(IfcFootingTypeEnum, 'PAD_FOOTING', INDETERMINATE) -pile_cap = express_getattr(IfcFootingTypeEnum, 'PILE_CAP', INDETERMINATE) -strip_footing = express_getattr(IfcFootingTypeEnum, 'STRIP_FOOTING', INDETERMINATE) -userdefined = express_getattr(IfcFootingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFootingTypeEnum, 'NOTDEFINED', INDETERMINATE) +caisson_foundation = IfcFootingTypeEnum.CAISSON_FOUNDATION +footing_beam = IfcFootingTypeEnum.FOOTING_BEAM +pad_footing = IfcFootingTypeEnum.PAD_FOOTING +pile_cap = IfcFootingTypeEnum.PILE_CAP +strip_footing = IfcFootingTypeEnum.STRIP_FOOTING +userdefined = IfcFootingTypeEnum.USERDEFINED +notdefined = IfcFootingTypeEnum.NOTDEFINED IfcFurnitureTypeEnum = enum_namespace() -chair = express_getattr(IfcFurnitureTypeEnum, 'CHAIR', INDETERMINATE) -table = express_getattr(IfcFurnitureTypeEnum, 'TABLE', INDETERMINATE) -desk = express_getattr(IfcFurnitureTypeEnum, 'DESK', INDETERMINATE) -bed = express_getattr(IfcFurnitureTypeEnum, 'BED', INDETERMINATE) -filecabinet = express_getattr(IfcFurnitureTypeEnum, 'FILECABINET', INDETERMINATE) -shelf = express_getattr(IfcFurnitureTypeEnum, 'SHELF', INDETERMINATE) -sofa = express_getattr(IfcFurnitureTypeEnum, 'SOFA', INDETERMINATE) -technicalcabinet = express_getattr(IfcFurnitureTypeEnum, 'TECHNICALCABINET', INDETERMINATE) -userdefined = express_getattr(IfcFurnitureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFurnitureTypeEnum, 'NOTDEFINED', INDETERMINATE) +chair = IfcFurnitureTypeEnum.CHAIR +table = IfcFurnitureTypeEnum.TABLE +desk = IfcFurnitureTypeEnum.DESK +bed = IfcFurnitureTypeEnum.BED +filecabinet = IfcFurnitureTypeEnum.FILECABINET +shelf = IfcFurnitureTypeEnum.SHELF +sofa = IfcFurnitureTypeEnum.SOFA +technicalcabinet = IfcFurnitureTypeEnum.TECHNICALCABINET +userdefined = IfcFurnitureTypeEnum.USERDEFINED +notdefined = IfcFurnitureTypeEnum.NOTDEFINED IfcGeographicElementTypeEnum = enum_namespace() -terrain = express_getattr(IfcGeographicElementTypeEnum, 'TERRAIN', INDETERMINATE) -soil_boring_point = express_getattr(IfcGeographicElementTypeEnum, 'SOIL_BORING_POINT', INDETERMINATE) -userdefined = express_getattr(IfcGeographicElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeographicElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +terrain = IfcGeographicElementTypeEnum.TERRAIN +soil_boring_point = IfcGeographicElementTypeEnum.SOIL_BORING_POINT +userdefined = IfcGeographicElementTypeEnum.USERDEFINED +notdefined = IfcGeographicElementTypeEnum.NOTDEFINED IfcGeometricProjectionEnum = enum_namespace() -graph_view = express_getattr(IfcGeometricProjectionEnum, 'GRAPH_VIEW', INDETERMINATE) -sketch_view = express_getattr(IfcGeometricProjectionEnum, 'SKETCH_VIEW', INDETERMINATE) -model_view = express_getattr(IfcGeometricProjectionEnum, 'MODEL_VIEW', INDETERMINATE) -plan_view = express_getattr(IfcGeometricProjectionEnum, 'PLAN_VIEW', INDETERMINATE) -reflected_plan_view = express_getattr(IfcGeometricProjectionEnum, 'REFLECTED_PLAN_VIEW', INDETERMINATE) -section_view = express_getattr(IfcGeometricProjectionEnum, 'SECTION_VIEW', INDETERMINATE) -elevation_view = express_getattr(IfcGeometricProjectionEnum, 'ELEVATION_VIEW', INDETERMINATE) -userdefined = express_getattr(IfcGeometricProjectionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeometricProjectionEnum, 'NOTDEFINED', INDETERMINATE) +graph_view = IfcGeometricProjectionEnum.GRAPH_VIEW +sketch_view = IfcGeometricProjectionEnum.SKETCH_VIEW +model_view = IfcGeometricProjectionEnum.MODEL_VIEW +plan_view = IfcGeometricProjectionEnum.PLAN_VIEW +reflected_plan_view = IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW +section_view = IfcGeometricProjectionEnum.SECTION_VIEW +elevation_view = IfcGeometricProjectionEnum.ELEVATION_VIEW +userdefined = IfcGeometricProjectionEnum.USERDEFINED +notdefined = IfcGeometricProjectionEnum.NOTDEFINED IfcGlobalOrLocalEnum = enum_namespace() -global_coords = express_getattr(IfcGlobalOrLocalEnum, 'GLOBAL_COORDS', INDETERMINATE) -local_coords = express_getattr(IfcGlobalOrLocalEnum, 'LOCAL_COORDS', INDETERMINATE) +global_coords = IfcGlobalOrLocalEnum.GLOBAL_COORDS +local_coords = IfcGlobalOrLocalEnum.LOCAL_COORDS IfcGridTypeEnum = enum_namespace() -rectangular = express_getattr(IfcGridTypeEnum, 'RECTANGULAR', INDETERMINATE) -radial = express_getattr(IfcGridTypeEnum, 'RADIAL', INDETERMINATE) -triangular = express_getattr(IfcGridTypeEnum, 'TRIANGULAR', INDETERMINATE) -irregular = express_getattr(IfcGridTypeEnum, 'IRREGULAR', INDETERMINATE) -userdefined = express_getattr(IfcGridTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGridTypeEnum, 'NOTDEFINED', INDETERMINATE) +rectangular = IfcGridTypeEnum.RECTANGULAR +radial = IfcGridTypeEnum.RADIAL +triangular = IfcGridTypeEnum.TRIANGULAR +irregular = IfcGridTypeEnum.IRREGULAR +userdefined = IfcGridTypeEnum.USERDEFINED +notdefined = IfcGridTypeEnum.NOTDEFINED IfcHeatExchangerTypeEnum = enum_namespace() -plate = express_getattr(IfcHeatExchangerTypeEnum, 'PLATE', INDETERMINATE) -shellandtube = express_getattr(IfcHeatExchangerTypeEnum, 'SHELLANDTUBE', INDETERMINATE) -turnoutheating = express_getattr(IfcHeatExchangerTypeEnum, 'TURNOUTHEATING', INDETERMINATE) -userdefined = express_getattr(IfcHeatExchangerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHeatExchangerTypeEnum, 'NOTDEFINED', INDETERMINATE) +plate = IfcHeatExchangerTypeEnum.PLATE +shellandtube = IfcHeatExchangerTypeEnum.SHELLANDTUBE +turnoutheating = IfcHeatExchangerTypeEnum.TURNOUTHEATING +userdefined = IfcHeatExchangerTypeEnum.USERDEFINED +notdefined = IfcHeatExchangerTypeEnum.NOTDEFINED IfcHumidifierTypeEnum = enum_namespace() -steaminjection = express_getattr(IfcHumidifierTypeEnum, 'STEAMINJECTION', INDETERMINATE) -adiabaticairwasher = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICAIRWASHER', INDETERMINATE) -adiabaticpan = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICPAN', INDETERMINATE) -adiabaticwettedelement = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICWETTEDELEMENT', INDETERMINATE) -adiabaticatomizing = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICATOMIZING', INDETERMINATE) -adiabaticultrasonic = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICULTRASONIC', INDETERMINATE) -adiabaticrigidmedia = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICRIGIDMEDIA', INDETERMINATE) -adiabaticcompressedairnozzle = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICCOMPRESSEDAIRNOZZLE', INDETERMINATE) -assistedelectric = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDELECTRIC', INDETERMINATE) -assistednaturalgas = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDNATURALGAS', INDETERMINATE) -assistedpropane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDPROPANE', INDETERMINATE) -assistedbutane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDBUTANE', INDETERMINATE) -assistedsteam = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDSTEAM', INDETERMINATE) -userdefined = express_getattr(IfcHumidifierTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHumidifierTypeEnum, 'NOTDEFINED', INDETERMINATE) +steaminjection = IfcHumidifierTypeEnum.STEAMINJECTION +adiabaticairwasher = IfcHumidifierTypeEnum.ADIABATICAIRWASHER +adiabaticpan = IfcHumidifierTypeEnum.ADIABATICPAN +adiabaticwettedelement = IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT +adiabaticatomizing = IfcHumidifierTypeEnum.ADIABATICATOMIZING +adiabaticultrasonic = IfcHumidifierTypeEnum.ADIABATICULTRASONIC +adiabaticrigidmedia = IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA +adiabaticcompressedairnozzle = IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE +assistedelectric = IfcHumidifierTypeEnum.ASSISTEDELECTRIC +assistednaturalgas = IfcHumidifierTypeEnum.ASSISTEDNATURALGAS +assistedpropane = IfcHumidifierTypeEnum.ASSISTEDPROPANE +assistedbutane = IfcHumidifierTypeEnum.ASSISTEDBUTANE +assistedsteam = IfcHumidifierTypeEnum.ASSISTEDSTEAM +userdefined = IfcHumidifierTypeEnum.USERDEFINED +notdefined = IfcHumidifierTypeEnum.NOTDEFINED IfcImpactProtectionDeviceTypeEnum = enum_namespace() -crashcushion = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'CRASHCUSHION', INDETERMINATE) -dampingsystem = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'DAMPINGSYSTEM', INDETERMINATE) -fender = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'FENDER', INDETERMINATE) -bumper = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'BUMPER', INDETERMINATE) -userdefined = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +crashcushion = IfcImpactProtectionDeviceTypeEnum.CRASHCUSHION +dampingsystem = IfcImpactProtectionDeviceTypeEnum.DAMPINGSYSTEM +fender = IfcImpactProtectionDeviceTypeEnum.FENDER +bumper = IfcImpactProtectionDeviceTypeEnum.BUMPER +userdefined = IfcImpactProtectionDeviceTypeEnum.USERDEFINED +notdefined = IfcImpactProtectionDeviceTypeEnum.NOTDEFINED IfcInterceptorTypeEnum = enum_namespace() -cyclonic = express_getattr(IfcInterceptorTypeEnum, 'CYCLONIC', INDETERMINATE) -grease = express_getattr(IfcInterceptorTypeEnum, 'GREASE', INDETERMINATE) -oil = express_getattr(IfcInterceptorTypeEnum, 'OIL', INDETERMINATE) -petrol = express_getattr(IfcInterceptorTypeEnum, 'PETROL', INDETERMINATE) -userdefined = express_getattr(IfcInterceptorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInterceptorTypeEnum, 'NOTDEFINED', INDETERMINATE) +cyclonic = IfcInterceptorTypeEnum.CYCLONIC +grease = IfcInterceptorTypeEnum.GREASE +oil = IfcInterceptorTypeEnum.OIL +petrol = IfcInterceptorTypeEnum.PETROL +userdefined = IfcInterceptorTypeEnum.USERDEFINED +notdefined = IfcInterceptorTypeEnum.NOTDEFINED IfcInternalOrExternalEnum = enum_namespace() -internal = express_getattr(IfcInternalOrExternalEnum, 'INTERNAL', INDETERMINATE) -external = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_water = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_WATER', INDETERMINATE) -external_fire = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_FIRE', INDETERMINATE) -notdefined = express_getattr(IfcInternalOrExternalEnum, 'NOTDEFINED', INDETERMINATE) +internal = IfcInternalOrExternalEnum.INTERNAL +external = IfcInternalOrExternalEnum.EXTERNAL +external_earth = IfcInternalOrExternalEnum.EXTERNAL_EARTH +external_water = IfcInternalOrExternalEnum.EXTERNAL_WATER +external_fire = IfcInternalOrExternalEnum.EXTERNAL_FIRE +notdefined = IfcInternalOrExternalEnum.NOTDEFINED IfcInventoryTypeEnum = enum_namespace() -assetinventory = express_getattr(IfcInventoryTypeEnum, 'ASSETINVENTORY', INDETERMINATE) -spaceinventory = express_getattr(IfcInventoryTypeEnum, 'SPACEINVENTORY', INDETERMINATE) -furnitureinventory = express_getattr(IfcInventoryTypeEnum, 'FURNITUREINVENTORY', INDETERMINATE) -userdefined = express_getattr(IfcInventoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInventoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +assetinventory = IfcInventoryTypeEnum.ASSETINVENTORY +spaceinventory = IfcInventoryTypeEnum.SPACEINVENTORY +furnitureinventory = IfcInventoryTypeEnum.FURNITUREINVENTORY +userdefined = IfcInventoryTypeEnum.USERDEFINED +notdefined = IfcInventoryTypeEnum.NOTDEFINED IfcJunctionBoxTypeEnum = enum_namespace() -data = express_getattr(IfcJunctionBoxTypeEnum, 'DATA', INDETERMINATE) -power = express_getattr(IfcJunctionBoxTypeEnum, 'POWER', INDETERMINATE) -userdefined = express_getattr(IfcJunctionBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcJunctionBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +data = IfcJunctionBoxTypeEnum.DATA +power = IfcJunctionBoxTypeEnum.POWER +userdefined = IfcJunctionBoxTypeEnum.USERDEFINED +notdefined = IfcJunctionBoxTypeEnum.NOTDEFINED IfcKnotType = enum_namespace() -uniform_knots = express_getattr(IfcKnotType, 'UNIFORM_KNOTS', INDETERMINATE) -quasi_uniform_knots = express_getattr(IfcKnotType, 'QUASI_UNIFORM_KNOTS', INDETERMINATE) -piecewise_bezier_knots = express_getattr(IfcKnotType, 'PIECEWISE_BEZIER_KNOTS', INDETERMINATE) -unspecified = express_getattr(IfcKnotType, 'UNSPECIFIED', INDETERMINATE) +uniform_knots = IfcKnotType.UNIFORM_KNOTS +quasi_uniform_knots = IfcKnotType.QUASI_UNIFORM_KNOTS +piecewise_bezier_knots = IfcKnotType.PIECEWISE_BEZIER_KNOTS +unspecified = IfcKnotType.UNSPECIFIED IfcLaborResourceTypeEnum = enum_namespace() -administration = express_getattr(IfcLaborResourceTypeEnum, 'ADMINISTRATION', INDETERMINATE) -carpentry = express_getattr(IfcLaborResourceTypeEnum, 'CARPENTRY', INDETERMINATE) -cleaning = express_getattr(IfcLaborResourceTypeEnum, 'CLEANING', INDETERMINATE) -concrete = express_getattr(IfcLaborResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcLaborResourceTypeEnum, 'DRYWALL', INDETERMINATE) -electric = express_getattr(IfcLaborResourceTypeEnum, 'ELECTRIC', INDETERMINATE) -finishing = express_getattr(IfcLaborResourceTypeEnum, 'FINISHING', INDETERMINATE) -flooring = express_getattr(IfcLaborResourceTypeEnum, 'FLOORING', INDETERMINATE) -general = express_getattr(IfcLaborResourceTypeEnum, 'GENERAL', INDETERMINATE) -hvac = express_getattr(IfcLaborResourceTypeEnum, 'HVAC', INDETERMINATE) -landscaping = express_getattr(IfcLaborResourceTypeEnum, 'LANDSCAPING', INDETERMINATE) -masonry = express_getattr(IfcLaborResourceTypeEnum, 'MASONRY', INDETERMINATE) -painting = express_getattr(IfcLaborResourceTypeEnum, 'PAINTING', INDETERMINATE) -paving = express_getattr(IfcLaborResourceTypeEnum, 'PAVING', INDETERMINATE) -plumbing = express_getattr(IfcLaborResourceTypeEnum, 'PLUMBING', INDETERMINATE) -roofing = express_getattr(IfcLaborResourceTypeEnum, 'ROOFING', INDETERMINATE) -sitegrading = express_getattr(IfcLaborResourceTypeEnum, 'SITEGRADING', INDETERMINATE) -steelwork = express_getattr(IfcLaborResourceTypeEnum, 'STEELWORK', INDETERMINATE) -surveying = express_getattr(IfcLaborResourceTypeEnum, 'SURVEYING', INDETERMINATE) -userdefined = express_getattr(IfcLaborResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLaborResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +administration = IfcLaborResourceTypeEnum.ADMINISTRATION +carpentry = IfcLaborResourceTypeEnum.CARPENTRY +cleaning = IfcLaborResourceTypeEnum.CLEANING +concrete = IfcLaborResourceTypeEnum.CONCRETE +drywall = IfcLaborResourceTypeEnum.DRYWALL +electric = IfcLaborResourceTypeEnum.ELECTRIC +finishing = IfcLaborResourceTypeEnum.FINISHING +flooring = IfcLaborResourceTypeEnum.FLOORING +general = IfcLaborResourceTypeEnum.GENERAL +hvac = IfcLaborResourceTypeEnum.HVAC +landscaping = IfcLaborResourceTypeEnum.LANDSCAPING +masonry = IfcLaborResourceTypeEnum.MASONRY +painting = IfcLaborResourceTypeEnum.PAINTING +paving = IfcLaborResourceTypeEnum.PAVING +plumbing = IfcLaborResourceTypeEnum.PLUMBING +roofing = IfcLaborResourceTypeEnum.ROOFING +sitegrading = IfcLaborResourceTypeEnum.SITEGRADING +steelwork = IfcLaborResourceTypeEnum.STEELWORK +surveying = IfcLaborResourceTypeEnum.SURVEYING +userdefined = IfcLaborResourceTypeEnum.USERDEFINED +notdefined = IfcLaborResourceTypeEnum.NOTDEFINED IfcLampTypeEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLampTypeEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLampTypeEnum, 'FLUORESCENT', INDETERMINATE) -halogen = express_getattr(IfcLampTypeEnum, 'HALOGEN', INDETERMINATE) -highpressuremercury = express_getattr(IfcLampTypeEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLampTypeEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -led = express_getattr(IfcLampTypeEnum, 'LED', INDETERMINATE) -metalhalide = express_getattr(IfcLampTypeEnum, 'METALHALIDE', INDETERMINATE) -oled = express_getattr(IfcLampTypeEnum, 'OLED', INDETERMINATE) -tungstenfilament = express_getattr(IfcLampTypeEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -userdefined = express_getattr(IfcLampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLampTypeEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLampTypeEnum.COMPACTFLUORESCENT +fluorescent = IfcLampTypeEnum.FLUORESCENT +halogen = IfcLampTypeEnum.HALOGEN +highpressuremercury = IfcLampTypeEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLampTypeEnum.HIGHPRESSURESODIUM +led = IfcLampTypeEnum.LED +metalhalide = IfcLampTypeEnum.METALHALIDE +oled = IfcLampTypeEnum.OLED +tungstenfilament = IfcLampTypeEnum.TUNGSTENFILAMENT +userdefined = IfcLampTypeEnum.USERDEFINED +notdefined = IfcLampTypeEnum.NOTDEFINED IfcLayerSetDirectionEnum = enum_namespace() -axis1 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS1', INDETERMINATE) -axis2 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS2', INDETERMINATE) -axis3 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS3', INDETERMINATE) +axis1 = IfcLayerSetDirectionEnum.AXIS1 +axis2 = IfcLayerSetDirectionEnum.AXIS2 +axis3 = IfcLayerSetDirectionEnum.AXIS3 IfcLightDistributionCurveEnum = enum_namespace() -type_a = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_A', INDETERMINATE) -type_b = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_B', INDETERMINATE) -type_c = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_C', INDETERMINATE) -notdefined = express_getattr(IfcLightDistributionCurveEnum, 'NOTDEFINED', INDETERMINATE) +type_a = IfcLightDistributionCurveEnum.TYPE_A +type_b = IfcLightDistributionCurveEnum.TYPE_B +type_c = IfcLightDistributionCurveEnum.TYPE_C +notdefined = IfcLightDistributionCurveEnum.NOTDEFINED IfcLightEmissionSourceEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLightEmissionSourceEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLightEmissionSourceEnum, 'FLUORESCENT', INDETERMINATE) -highpressuremercury = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -lightemittingdiode = express_getattr(IfcLightEmissionSourceEnum, 'LIGHTEMITTINGDIODE', INDETERMINATE) -lowpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'LOWPRESSURESODIUM', INDETERMINATE) -lowvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'LOWVOLTAGEHALOGEN', INDETERMINATE) -mainvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'MAINVOLTAGEHALOGEN', INDETERMINATE) -metalhalide = express_getattr(IfcLightEmissionSourceEnum, 'METALHALIDE', INDETERMINATE) -tungstenfilament = express_getattr(IfcLightEmissionSourceEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -notdefined = express_getattr(IfcLightEmissionSourceEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLightEmissionSourceEnum.COMPACTFLUORESCENT +fluorescent = IfcLightEmissionSourceEnum.FLUORESCENT +highpressuremercury = IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM +lightemittingdiode = IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE +lowpressuresodium = IfcLightEmissionSourceEnum.LOWPRESSURESODIUM +lowvoltagehalogen = IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN +mainvoltagehalogen = IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN +metalhalide = IfcLightEmissionSourceEnum.METALHALIDE +tungstenfilament = IfcLightEmissionSourceEnum.TUNGSTENFILAMENT +notdefined = IfcLightEmissionSourceEnum.NOTDEFINED IfcLightFixtureTypeEnum = enum_namespace() -pointsource = express_getattr(IfcLightFixtureTypeEnum, 'POINTSOURCE', INDETERMINATE) -directionsource = express_getattr(IfcLightFixtureTypeEnum, 'DIRECTIONSOURCE', INDETERMINATE) -securitylighting = express_getattr(IfcLightFixtureTypeEnum, 'SECURITYLIGHTING', INDETERMINATE) -userdefined = express_getattr(IfcLightFixtureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLightFixtureTypeEnum, 'NOTDEFINED', INDETERMINATE) +pointsource = IfcLightFixtureTypeEnum.POINTSOURCE +directionsource = IfcLightFixtureTypeEnum.DIRECTIONSOURCE +securitylighting = IfcLightFixtureTypeEnum.SECURITYLIGHTING +userdefined = IfcLightFixtureTypeEnum.USERDEFINED +notdefined = IfcLightFixtureTypeEnum.NOTDEFINED IfcLiquidTerminalTypeEnum = enum_namespace() -loadingarm = express_getattr(IfcLiquidTerminalTypeEnum, 'LOADINGARM', INDETERMINATE) -hosereel = express_getattr(IfcLiquidTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -userdefined = express_getattr(IfcLiquidTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLiquidTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +loadingarm = IfcLiquidTerminalTypeEnum.LOADINGARM +hosereel = IfcLiquidTerminalTypeEnum.HOSEREEL +userdefined = IfcLiquidTerminalTypeEnum.USERDEFINED +notdefined = IfcLiquidTerminalTypeEnum.NOTDEFINED IfcLoadGroupTypeEnum = enum_namespace() -load_group = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_GROUP', INDETERMINATE) -load_case = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_CASE', INDETERMINATE) -load_combination = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_COMBINATION', INDETERMINATE) -userdefined = express_getattr(IfcLoadGroupTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLoadGroupTypeEnum, 'NOTDEFINED', INDETERMINATE) +load_group = IfcLoadGroupTypeEnum.LOAD_GROUP +load_case = IfcLoadGroupTypeEnum.LOAD_CASE +load_combination = IfcLoadGroupTypeEnum.LOAD_COMBINATION +userdefined = IfcLoadGroupTypeEnum.USERDEFINED +notdefined = IfcLoadGroupTypeEnum.NOTDEFINED IfcLogicalOperatorEnum = enum_namespace() -logicaland = express_getattr(IfcLogicalOperatorEnum, 'LOGICALAND', INDETERMINATE) -logicalor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALOR', INDETERMINATE) -logicalxor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALXOR', INDETERMINATE) -logicalnotand = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTAND', INDETERMINATE) -logicalnotor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTOR', INDETERMINATE) +logicaland = IfcLogicalOperatorEnum.LOGICALAND +logicalor = IfcLogicalOperatorEnum.LOGICALOR +logicalxor = IfcLogicalOperatorEnum.LOGICALXOR +logicalnotand = IfcLogicalOperatorEnum.LOGICALNOTAND +logicalnotor = IfcLogicalOperatorEnum.LOGICALNOTOR IfcMarineFacilityTypeEnum = enum_namespace() -canal = express_getattr(IfcMarineFacilityTypeEnum, 'CANAL', INDETERMINATE) -waterwayshiplift = express_getattr(IfcMarineFacilityTypeEnum, 'WATERWAYSHIPLIFT', INDETERMINATE) -embankment = express_getattr(IfcMarineFacilityTypeEnum, 'EMBANKMENT', INDETERMINATE) -launchrecovery = express_getattr(IfcMarineFacilityTypeEnum, 'LAUNCHRECOVERY', INDETERMINATE) -marinedefence = express_getattr(IfcMarineFacilityTypeEnum, 'MARINEDEFENCE', INDETERMINATE) -hydrolift = express_getattr(IfcMarineFacilityTypeEnum, 'HYDROLIFT', INDETERMINATE) -shipyard = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPYARD', INDETERMINATE) -shiplift = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPLIFT', INDETERMINATE) -port = express_getattr(IfcMarineFacilityTypeEnum, 'PORT', INDETERMINATE) -quay = express_getattr(IfcMarineFacilityTypeEnum, 'QUAY', INDETERMINATE) -floatingdock = express_getattr(IfcMarineFacilityTypeEnum, 'FLOATINGDOCK', INDETERMINATE) -navigationalchannel = express_getattr(IfcMarineFacilityTypeEnum, 'NAVIGATIONALCHANNEL', INDETERMINATE) -breakwater = express_getattr(IfcMarineFacilityTypeEnum, 'BREAKWATER', INDETERMINATE) -drydock = express_getattr(IfcMarineFacilityTypeEnum, 'DRYDOCK', INDETERMINATE) -jetty = express_getattr(IfcMarineFacilityTypeEnum, 'JETTY', INDETERMINATE) -shiplock = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPLOCK', INDETERMINATE) -barrierbeach = express_getattr(IfcMarineFacilityTypeEnum, 'BARRIERBEACH', INDETERMINATE) -slipway = express_getattr(IfcMarineFacilityTypeEnum, 'SLIPWAY', INDETERMINATE) -waterway = express_getattr(IfcMarineFacilityTypeEnum, 'WATERWAY', INDETERMINATE) -userdefined = express_getattr(IfcMarineFacilityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMarineFacilityTypeEnum, 'NOTDEFINED', INDETERMINATE) +canal = IfcMarineFacilityTypeEnum.CANAL +waterwayshiplift = IfcMarineFacilityTypeEnum.WATERWAYSHIPLIFT +embankment = IfcMarineFacilityTypeEnum.EMBANKMENT +launchrecovery = IfcMarineFacilityTypeEnum.LAUNCHRECOVERY +marinedefence = IfcMarineFacilityTypeEnum.MARINEDEFENCE +hydrolift = IfcMarineFacilityTypeEnum.HYDROLIFT +shipyard = IfcMarineFacilityTypeEnum.SHIPYARD +shiplift = IfcMarineFacilityTypeEnum.SHIPLIFT +port = IfcMarineFacilityTypeEnum.PORT +quay = IfcMarineFacilityTypeEnum.QUAY +floatingdock = IfcMarineFacilityTypeEnum.FLOATINGDOCK +navigationalchannel = IfcMarineFacilityTypeEnum.NAVIGATIONALCHANNEL +breakwater = IfcMarineFacilityTypeEnum.BREAKWATER +drydock = IfcMarineFacilityTypeEnum.DRYDOCK +jetty = IfcMarineFacilityTypeEnum.JETTY +shiplock = IfcMarineFacilityTypeEnum.SHIPLOCK +barrierbeach = IfcMarineFacilityTypeEnum.BARRIERBEACH +slipway = IfcMarineFacilityTypeEnum.SLIPWAY +waterway = IfcMarineFacilityTypeEnum.WATERWAY +userdefined = IfcMarineFacilityTypeEnum.USERDEFINED +notdefined = IfcMarineFacilityTypeEnum.NOTDEFINED IfcMarinePartTypeEnum = enum_namespace() -crest = express_getattr(IfcMarinePartTypeEnum, 'CREST', INDETERMINATE) -manufacturing = express_getattr(IfcMarinePartTypeEnum, 'MANUFACTURING', INDETERMINATE) -lowwaterline = express_getattr(IfcMarinePartTypeEnum, 'LOWWATERLINE', INDETERMINATE) -core = express_getattr(IfcMarinePartTypeEnum, 'CORE', INDETERMINATE) -waterfield = express_getattr(IfcMarinePartTypeEnum, 'WATERFIELD', INDETERMINATE) -cill_level = express_getattr(IfcMarinePartTypeEnum, 'CILL_LEVEL', INDETERMINATE) -berthingstructure = express_getattr(IfcMarinePartTypeEnum, 'BERTHINGSTRUCTURE', INDETERMINATE) -copelevel = express_getattr(IfcMarinePartTypeEnum, 'COPELEVEL', INDETERMINATE) -chamber = express_getattr(IfcMarinePartTypeEnum, 'CHAMBER', INDETERMINATE) -storage = express_getattr(IfcMarinePartTypeEnum, 'STORAGE', INDETERMINATE) -approachchannel = express_getattr(IfcMarinePartTypeEnum, 'APPROACHCHANNEL', INDETERMINATE) -vehicleservicing = express_getattr(IfcMarinePartTypeEnum, 'VEHICLESERVICING', INDETERMINATE) -shiptransfer = express_getattr(IfcMarinePartTypeEnum, 'SHIPTRANSFER', INDETERMINATE) -gatehead = express_getattr(IfcMarinePartTypeEnum, 'GATEHEAD', INDETERMINATE) -gudingstructure = express_getattr(IfcMarinePartTypeEnum, 'GUDINGSTRUCTURE', INDETERMINATE) -belowwaterline = express_getattr(IfcMarinePartTypeEnum, 'BELOWWATERLINE', INDETERMINATE) -weatherside = express_getattr(IfcMarinePartTypeEnum, 'WEATHERSIDE', INDETERMINATE) -landfield = express_getattr(IfcMarinePartTypeEnum, 'LANDFIELD', INDETERMINATE) -protection = express_getattr(IfcMarinePartTypeEnum, 'PROTECTION', INDETERMINATE) -leewardside = express_getattr(IfcMarinePartTypeEnum, 'LEEWARDSIDE', INDETERMINATE) -abovewaterline = express_getattr(IfcMarinePartTypeEnum, 'ABOVEWATERLINE', INDETERMINATE) -anchorage = express_getattr(IfcMarinePartTypeEnum, 'ANCHORAGE', INDETERMINATE) -navigationalarea = express_getattr(IfcMarinePartTypeEnum, 'NAVIGATIONALAREA', INDETERMINATE) -highwaterline = express_getattr(IfcMarinePartTypeEnum, 'HIGHWATERLINE', INDETERMINATE) -userdefined = express_getattr(IfcMarinePartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMarinePartTypeEnum, 'NOTDEFINED', INDETERMINATE) +crest = IfcMarinePartTypeEnum.CREST +manufacturing = IfcMarinePartTypeEnum.MANUFACTURING +lowwaterline = IfcMarinePartTypeEnum.LOWWATERLINE +core = IfcMarinePartTypeEnum.CORE +waterfield = IfcMarinePartTypeEnum.WATERFIELD +cill_level = IfcMarinePartTypeEnum.CILL_LEVEL +berthingstructure = IfcMarinePartTypeEnum.BERTHINGSTRUCTURE +copelevel = IfcMarinePartTypeEnum.COPELEVEL +chamber = IfcMarinePartTypeEnum.CHAMBER +storage = IfcMarinePartTypeEnum.STORAGE +approachchannel = IfcMarinePartTypeEnum.APPROACHCHANNEL +vehicleservicing = IfcMarinePartTypeEnum.VEHICLESERVICING +shiptransfer = IfcMarinePartTypeEnum.SHIPTRANSFER +gatehead = IfcMarinePartTypeEnum.GATEHEAD +gudingstructure = IfcMarinePartTypeEnum.GUDINGSTRUCTURE +belowwaterline = IfcMarinePartTypeEnum.BELOWWATERLINE +weatherside = IfcMarinePartTypeEnum.WEATHERSIDE +landfield = IfcMarinePartTypeEnum.LANDFIELD +protection = IfcMarinePartTypeEnum.PROTECTION +leewardside = IfcMarinePartTypeEnum.LEEWARDSIDE +abovewaterline = IfcMarinePartTypeEnum.ABOVEWATERLINE +anchorage = IfcMarinePartTypeEnum.ANCHORAGE +navigationalarea = IfcMarinePartTypeEnum.NAVIGATIONALAREA +highwaterline = IfcMarinePartTypeEnum.HIGHWATERLINE +userdefined = IfcMarinePartTypeEnum.USERDEFINED +notdefined = IfcMarinePartTypeEnum.NOTDEFINED IfcMechanicalFastenerTypeEnum = enum_namespace() -anchorbolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'ANCHORBOLT', INDETERMINATE) -bolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'BOLT', INDETERMINATE) -dowel = express_getattr(IfcMechanicalFastenerTypeEnum, 'DOWEL', INDETERMINATE) -nail = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAIL', INDETERMINATE) -nailplate = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAILPLATE', INDETERMINATE) -rivet = express_getattr(IfcMechanicalFastenerTypeEnum, 'RIVET', INDETERMINATE) -screw = express_getattr(IfcMechanicalFastenerTypeEnum, 'SCREW', INDETERMINATE) -shearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'SHEARCONNECTOR', INDETERMINATE) -staple = express_getattr(IfcMechanicalFastenerTypeEnum, 'STAPLE', INDETERMINATE) -studshearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'STUDSHEARCONNECTOR', INDETERMINATE) -coupler = express_getattr(IfcMechanicalFastenerTypeEnum, 'COUPLER', INDETERMINATE) -railjoint = express_getattr(IfcMechanicalFastenerTypeEnum, 'RAILJOINT', INDETERMINATE) -railfastening = express_getattr(IfcMechanicalFastenerTypeEnum, 'RAILFASTENING', INDETERMINATE) -chain = express_getattr(IfcMechanicalFastenerTypeEnum, 'CHAIN', INDETERMINATE) -rope = express_getattr(IfcMechanicalFastenerTypeEnum, 'ROPE', INDETERMINATE) -userdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorbolt = IfcMechanicalFastenerTypeEnum.ANCHORBOLT +bolt = IfcMechanicalFastenerTypeEnum.BOLT +dowel = IfcMechanicalFastenerTypeEnum.DOWEL +nail = IfcMechanicalFastenerTypeEnum.NAIL +nailplate = IfcMechanicalFastenerTypeEnum.NAILPLATE +rivet = IfcMechanicalFastenerTypeEnum.RIVET +screw = IfcMechanicalFastenerTypeEnum.SCREW +shearconnector = IfcMechanicalFastenerTypeEnum.SHEARCONNECTOR +staple = IfcMechanicalFastenerTypeEnum.STAPLE +studshearconnector = IfcMechanicalFastenerTypeEnum.STUDSHEARCONNECTOR +coupler = IfcMechanicalFastenerTypeEnum.COUPLER +railjoint = IfcMechanicalFastenerTypeEnum.RAILJOINT +railfastening = IfcMechanicalFastenerTypeEnum.RAILFASTENING +chain = IfcMechanicalFastenerTypeEnum.CHAIN +rope = IfcMechanicalFastenerTypeEnum.ROPE +userdefined = IfcMechanicalFastenerTypeEnum.USERDEFINED +notdefined = IfcMechanicalFastenerTypeEnum.NOTDEFINED IfcMedicalDeviceTypeEnum = enum_namespace() -airstation = express_getattr(IfcMedicalDeviceTypeEnum, 'AIRSTATION', INDETERMINATE) -feedairunit = express_getattr(IfcMedicalDeviceTypeEnum, 'FEEDAIRUNIT', INDETERMINATE) -oxygengenerator = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENGENERATOR', INDETERMINATE) -oxygenplant = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENPLANT', INDETERMINATE) -vacuumstation = express_getattr(IfcMedicalDeviceTypeEnum, 'VACUUMSTATION', INDETERMINATE) -userdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +airstation = IfcMedicalDeviceTypeEnum.AIRSTATION +feedairunit = IfcMedicalDeviceTypeEnum.FEEDAIRUNIT +oxygengenerator = IfcMedicalDeviceTypeEnum.OXYGENGENERATOR +oxygenplant = IfcMedicalDeviceTypeEnum.OXYGENPLANT +vacuumstation = IfcMedicalDeviceTypeEnum.VACUUMSTATION +userdefined = IfcMedicalDeviceTypeEnum.USERDEFINED +notdefined = IfcMedicalDeviceTypeEnum.NOTDEFINED IfcMemberTypeEnum = enum_namespace() -brace = express_getattr(IfcMemberTypeEnum, 'BRACE', INDETERMINATE) -chord = express_getattr(IfcMemberTypeEnum, 'CHORD', INDETERMINATE) -collar = express_getattr(IfcMemberTypeEnum, 'COLLAR', INDETERMINATE) -member = express_getattr(IfcMemberTypeEnum, 'MEMBER', INDETERMINATE) -mullion = express_getattr(IfcMemberTypeEnum, 'MULLION', INDETERMINATE) -plate = express_getattr(IfcMemberTypeEnum, 'PLATE', INDETERMINATE) -post = express_getattr(IfcMemberTypeEnum, 'POST', INDETERMINATE) -purlin = express_getattr(IfcMemberTypeEnum, 'PURLIN', INDETERMINATE) -rafter = express_getattr(IfcMemberTypeEnum, 'RAFTER', INDETERMINATE) -stringer = express_getattr(IfcMemberTypeEnum, 'STRINGER', INDETERMINATE) -strut = express_getattr(IfcMemberTypeEnum, 'STRUT', INDETERMINATE) -stud = express_getattr(IfcMemberTypeEnum, 'STUD', INDETERMINATE) -stiffening_rib = express_getattr(IfcMemberTypeEnum, 'STIFFENING_RIB', INDETERMINATE) -arch_segment = express_getattr(IfcMemberTypeEnum, 'ARCH_SEGMENT', INDETERMINATE) -suspension_cable = express_getattr(IfcMemberTypeEnum, 'SUSPENSION_CABLE', INDETERMINATE) -suspender = express_getattr(IfcMemberTypeEnum, 'SUSPENDER', INDETERMINATE) -stay_cable = express_getattr(IfcMemberTypeEnum, 'STAY_CABLE', INDETERMINATE) -structuralcable = express_getattr(IfcMemberTypeEnum, 'STRUCTURALCABLE', INDETERMINATE) -tiebar = express_getattr(IfcMemberTypeEnum, 'TIEBAR', INDETERMINATE) -userdefined = express_getattr(IfcMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +brace = IfcMemberTypeEnum.BRACE +chord = IfcMemberTypeEnum.CHORD +collar = IfcMemberTypeEnum.COLLAR +member = IfcMemberTypeEnum.MEMBER +mullion = IfcMemberTypeEnum.MULLION +plate = IfcMemberTypeEnum.PLATE +post = IfcMemberTypeEnum.POST +purlin = IfcMemberTypeEnum.PURLIN +rafter = IfcMemberTypeEnum.RAFTER +stringer = IfcMemberTypeEnum.STRINGER +strut = IfcMemberTypeEnum.STRUT +stud = IfcMemberTypeEnum.STUD +stiffening_rib = IfcMemberTypeEnum.STIFFENING_RIB +arch_segment = IfcMemberTypeEnum.ARCH_SEGMENT +suspension_cable = IfcMemberTypeEnum.SUSPENSION_CABLE +suspender = IfcMemberTypeEnum.SUSPENDER +stay_cable = IfcMemberTypeEnum.STAY_CABLE +structuralcable = IfcMemberTypeEnum.STRUCTURALCABLE +tiebar = IfcMemberTypeEnum.TIEBAR +userdefined = IfcMemberTypeEnum.USERDEFINED +notdefined = IfcMemberTypeEnum.NOTDEFINED IfcMobileTelecommunicationsApplianceTypeEnum = enum_namespace() -e_utran_node_b = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'E_UTRAN_NODE_B', INDETERMINATE) -remote_radio_unit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'REMOTE_RADIO_UNIT', INDETERMINATE) -accesspoint = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'ACCESSPOINT', INDETERMINATE) -basetransceiverstation = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'BASETRANSCEIVERSTATION', INDETERMINATE) -remoteunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'REMOTEUNIT', INDETERMINATE) -basebandunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'BASEBANDUNIT', INDETERMINATE) -masterunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'MASTERUNIT', INDETERMINATE) -userdefined = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +e_utran_node_b = IfcMobileTelecommunicationsApplianceTypeEnum.E_UTRAN_NODE_B +remote_radio_unit = IfcMobileTelecommunicationsApplianceTypeEnum.REMOTE_RADIO_UNIT +accesspoint = IfcMobileTelecommunicationsApplianceTypeEnum.ACCESSPOINT +basetransceiverstation = IfcMobileTelecommunicationsApplianceTypeEnum.BASETRANSCEIVERSTATION +remoteunit = IfcMobileTelecommunicationsApplianceTypeEnum.REMOTEUNIT +basebandunit = IfcMobileTelecommunicationsApplianceTypeEnum.BASEBANDUNIT +masterunit = IfcMobileTelecommunicationsApplianceTypeEnum.MASTERUNIT +userdefined = IfcMobileTelecommunicationsApplianceTypeEnum.USERDEFINED +notdefined = IfcMobileTelecommunicationsApplianceTypeEnum.NOTDEFINED IfcMooringDeviceTypeEnum = enum_namespace() -linetensioner = express_getattr(IfcMooringDeviceTypeEnum, 'LINETENSIONER', INDETERMINATE) -magneticdevice = express_getattr(IfcMooringDeviceTypeEnum, 'MAGNETICDEVICE', INDETERMINATE) -mooringhooks = express_getattr(IfcMooringDeviceTypeEnum, 'MOORINGHOOKS', INDETERMINATE) -vacuumdevice = express_getattr(IfcMooringDeviceTypeEnum, 'VACUUMDEVICE', INDETERMINATE) -bollard = express_getattr(IfcMooringDeviceTypeEnum, 'BOLLARD', INDETERMINATE) -userdefined = express_getattr(IfcMooringDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMooringDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +linetensioner = IfcMooringDeviceTypeEnum.LINETENSIONER +magneticdevice = IfcMooringDeviceTypeEnum.MAGNETICDEVICE +mooringhooks = IfcMooringDeviceTypeEnum.MOORINGHOOKS +vacuumdevice = IfcMooringDeviceTypeEnum.VACUUMDEVICE +bollard = IfcMooringDeviceTypeEnum.BOLLARD +userdefined = IfcMooringDeviceTypeEnum.USERDEFINED +notdefined = IfcMooringDeviceTypeEnum.NOTDEFINED IfcMotorConnectionTypeEnum = enum_namespace() -beltdrive = express_getattr(IfcMotorConnectionTypeEnum, 'BELTDRIVE', INDETERMINATE) -coupling = express_getattr(IfcMotorConnectionTypeEnum, 'COUPLING', INDETERMINATE) -directdrive = express_getattr(IfcMotorConnectionTypeEnum, 'DIRECTDRIVE', INDETERMINATE) -userdefined = express_getattr(IfcMotorConnectionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMotorConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +beltdrive = IfcMotorConnectionTypeEnum.BELTDRIVE +coupling = IfcMotorConnectionTypeEnum.COUPLING +directdrive = IfcMotorConnectionTypeEnum.DIRECTDRIVE +userdefined = IfcMotorConnectionTypeEnum.USERDEFINED +notdefined = IfcMotorConnectionTypeEnum.NOTDEFINED IfcNavigationElementTypeEnum = enum_namespace() -beacon = express_getattr(IfcNavigationElementTypeEnum, 'BEACON', INDETERMINATE) -buoy = express_getattr(IfcNavigationElementTypeEnum, 'BUOY', INDETERMINATE) -userdefined = express_getattr(IfcNavigationElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcNavigationElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +beacon = IfcNavigationElementTypeEnum.BEACON +buoy = IfcNavigationElementTypeEnum.BUOY +userdefined = IfcNavigationElementTypeEnum.USERDEFINED +notdefined = IfcNavigationElementTypeEnum.NOTDEFINED IfcNullStyle = enum_namespace() -null = express_getattr(IfcNullStyle, 'NULL', INDETERMINATE) +null = IfcNullStyle.NULL IfcObjectTypeEnum = enum_namespace() -product = express_getattr(IfcObjectTypeEnum, 'PRODUCT', INDETERMINATE) -process = express_getattr(IfcObjectTypeEnum, 'PROCESS', INDETERMINATE) -control = express_getattr(IfcObjectTypeEnum, 'CONTROL', INDETERMINATE) -resource = express_getattr(IfcObjectTypeEnum, 'RESOURCE', INDETERMINATE) -actor = express_getattr(IfcObjectTypeEnum, 'ACTOR', INDETERMINATE) -group = express_getattr(IfcObjectTypeEnum, 'GROUP', INDETERMINATE) -project = express_getattr(IfcObjectTypeEnum, 'PROJECT', INDETERMINATE) -notdefined = express_getattr(IfcObjectTypeEnum, 'NOTDEFINED', INDETERMINATE) +product = IfcObjectTypeEnum.PRODUCT +process = IfcObjectTypeEnum.PROCESS +control = IfcObjectTypeEnum.CONTROL +resource = IfcObjectTypeEnum.RESOURCE +actor = IfcObjectTypeEnum.ACTOR +group = IfcObjectTypeEnum.GROUP +project = IfcObjectTypeEnum.PROJECT +notdefined = IfcObjectTypeEnum.NOTDEFINED IfcObjectiveEnum = enum_namespace() -codecompliance = express_getattr(IfcObjectiveEnum, 'CODECOMPLIANCE', INDETERMINATE) -codewaiver = express_getattr(IfcObjectiveEnum, 'CODEWAIVER', INDETERMINATE) -designintent = express_getattr(IfcObjectiveEnum, 'DESIGNINTENT', INDETERMINATE) -external = express_getattr(IfcObjectiveEnum, 'EXTERNAL', INDETERMINATE) -healthandsafety = express_getattr(IfcObjectiveEnum, 'HEALTHANDSAFETY', INDETERMINATE) -mergeconflict = express_getattr(IfcObjectiveEnum, 'MERGECONFLICT', INDETERMINATE) -modelview = express_getattr(IfcObjectiveEnum, 'MODELVIEW', INDETERMINATE) -parameter = express_getattr(IfcObjectiveEnum, 'PARAMETER', INDETERMINATE) -requirement = express_getattr(IfcObjectiveEnum, 'REQUIREMENT', INDETERMINATE) -specification = express_getattr(IfcObjectiveEnum, 'SPECIFICATION', INDETERMINATE) -triggercondition = express_getattr(IfcObjectiveEnum, 'TRIGGERCONDITION', INDETERMINATE) -userdefined = express_getattr(IfcObjectiveEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcObjectiveEnum, 'NOTDEFINED', INDETERMINATE) +codecompliance = IfcObjectiveEnum.CODECOMPLIANCE +codewaiver = IfcObjectiveEnum.CODEWAIVER +designintent = IfcObjectiveEnum.DESIGNINTENT +external = IfcObjectiveEnum.EXTERNAL +healthandsafety = IfcObjectiveEnum.HEALTHANDSAFETY +mergeconflict = IfcObjectiveEnum.MERGECONFLICT +modelview = IfcObjectiveEnum.MODELVIEW +parameter = IfcObjectiveEnum.PARAMETER +requirement = IfcObjectiveEnum.REQUIREMENT +specification = IfcObjectiveEnum.SPECIFICATION +triggercondition = IfcObjectiveEnum.TRIGGERCONDITION +userdefined = IfcObjectiveEnum.USERDEFINED +notdefined = IfcObjectiveEnum.NOTDEFINED IfcOccupantTypeEnum = enum_namespace() -assignee = express_getattr(IfcOccupantTypeEnum, 'ASSIGNEE', INDETERMINATE) -assignor = express_getattr(IfcOccupantTypeEnum, 'ASSIGNOR', INDETERMINATE) -lessee = express_getattr(IfcOccupantTypeEnum, 'LESSEE', INDETERMINATE) -lessor = express_getattr(IfcOccupantTypeEnum, 'LESSOR', INDETERMINATE) -lettingagent = express_getattr(IfcOccupantTypeEnum, 'LETTINGAGENT', INDETERMINATE) -owner = express_getattr(IfcOccupantTypeEnum, 'OWNER', INDETERMINATE) -tenant = express_getattr(IfcOccupantTypeEnum, 'TENANT', INDETERMINATE) -userdefined = express_getattr(IfcOccupantTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOccupantTypeEnum, 'NOTDEFINED', INDETERMINATE) +assignee = IfcOccupantTypeEnum.ASSIGNEE +assignor = IfcOccupantTypeEnum.ASSIGNOR +lessee = IfcOccupantTypeEnum.LESSEE +lessor = IfcOccupantTypeEnum.LESSOR +lettingagent = IfcOccupantTypeEnum.LETTINGAGENT +owner = IfcOccupantTypeEnum.OWNER +tenant = IfcOccupantTypeEnum.TENANT +userdefined = IfcOccupantTypeEnum.USERDEFINED +notdefined = IfcOccupantTypeEnum.NOTDEFINED IfcOpeningElementTypeEnum = enum_namespace() -opening = express_getattr(IfcOpeningElementTypeEnum, 'OPENING', INDETERMINATE) -recess = express_getattr(IfcOpeningElementTypeEnum, 'RECESS', INDETERMINATE) -userdefined = express_getattr(IfcOpeningElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOpeningElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +opening = IfcOpeningElementTypeEnum.OPENING +recess = IfcOpeningElementTypeEnum.RECESS +userdefined = IfcOpeningElementTypeEnum.USERDEFINED +notdefined = IfcOpeningElementTypeEnum.NOTDEFINED IfcOutletTypeEnum = enum_namespace() -audiovisualoutlet = express_getattr(IfcOutletTypeEnum, 'AUDIOVISUALOUTLET', INDETERMINATE) -communicationsoutlet = express_getattr(IfcOutletTypeEnum, 'COMMUNICATIONSOUTLET', INDETERMINATE) -poweroutlet = express_getattr(IfcOutletTypeEnum, 'POWEROUTLET', INDETERMINATE) -dataoutlet = express_getattr(IfcOutletTypeEnum, 'DATAOUTLET', INDETERMINATE) -telephoneoutlet = express_getattr(IfcOutletTypeEnum, 'TELEPHONEOUTLET', INDETERMINATE) -userdefined = express_getattr(IfcOutletTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOutletTypeEnum, 'NOTDEFINED', INDETERMINATE) +audiovisualoutlet = IfcOutletTypeEnum.AUDIOVISUALOUTLET +communicationsoutlet = IfcOutletTypeEnum.COMMUNICATIONSOUTLET +poweroutlet = IfcOutletTypeEnum.POWEROUTLET +dataoutlet = IfcOutletTypeEnum.DATAOUTLET +telephoneoutlet = IfcOutletTypeEnum.TELEPHONEOUTLET +userdefined = IfcOutletTypeEnum.USERDEFINED +notdefined = IfcOutletTypeEnum.NOTDEFINED IfcPerformanceHistoryTypeEnum = enum_namespace() -userdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcPerformanceHistoryTypeEnum.USERDEFINED +notdefined = IfcPerformanceHistoryTypeEnum.NOTDEFINED IfcPermeableCoveringOperationEnum = enum_namespace() -grill = express_getattr(IfcPermeableCoveringOperationEnum, 'GRILL', INDETERMINATE) -louver = express_getattr(IfcPermeableCoveringOperationEnum, 'LOUVER', INDETERMINATE) -screen = express_getattr(IfcPermeableCoveringOperationEnum, 'SCREEN', INDETERMINATE) -userdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'NOTDEFINED', INDETERMINATE) +grill = IfcPermeableCoveringOperationEnum.GRILL +louver = IfcPermeableCoveringOperationEnum.LOUVER +screen = IfcPermeableCoveringOperationEnum.SCREEN +userdefined = IfcPermeableCoveringOperationEnum.USERDEFINED +notdefined = IfcPermeableCoveringOperationEnum.NOTDEFINED IfcPermitTypeEnum = enum_namespace() -access = express_getattr(IfcPermitTypeEnum, 'ACCESS', INDETERMINATE) -building = express_getattr(IfcPermitTypeEnum, 'BUILDING', INDETERMINATE) -work = express_getattr(IfcPermitTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcPermitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermitTypeEnum, 'NOTDEFINED', INDETERMINATE) +access = IfcPermitTypeEnum.ACCESS +building = IfcPermitTypeEnum.BUILDING +work = IfcPermitTypeEnum.WORK +userdefined = IfcPermitTypeEnum.USERDEFINED +notdefined = IfcPermitTypeEnum.NOTDEFINED IfcPhysicalOrVirtualEnum = enum_namespace() -physical = express_getattr(IfcPhysicalOrVirtualEnum, 'PHYSICAL', INDETERMINATE) -virtual = express_getattr(IfcPhysicalOrVirtualEnum, 'VIRTUAL', INDETERMINATE) -notdefined = express_getattr(IfcPhysicalOrVirtualEnum, 'NOTDEFINED', INDETERMINATE) +physical = IfcPhysicalOrVirtualEnum.PHYSICAL +virtual = IfcPhysicalOrVirtualEnum.VIRTUAL +notdefined = IfcPhysicalOrVirtualEnum.NOTDEFINED IfcPileConstructionEnum = enum_namespace() -cast_in_place = express_getattr(IfcPileConstructionEnum, 'CAST_IN_PLACE', INDETERMINATE) -composite = express_getattr(IfcPileConstructionEnum, 'COMPOSITE', INDETERMINATE) -precast_concrete = express_getattr(IfcPileConstructionEnum, 'PRECAST_CONCRETE', INDETERMINATE) -prefab_steel = express_getattr(IfcPileConstructionEnum, 'PREFAB_STEEL', INDETERMINATE) -userdefined = express_getattr(IfcPileConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileConstructionEnum, 'NOTDEFINED', INDETERMINATE) +cast_in_place = IfcPileConstructionEnum.CAST_IN_PLACE +composite = IfcPileConstructionEnum.COMPOSITE +precast_concrete = IfcPileConstructionEnum.PRECAST_CONCRETE +prefab_steel = IfcPileConstructionEnum.PREFAB_STEEL +userdefined = IfcPileConstructionEnum.USERDEFINED +notdefined = IfcPileConstructionEnum.NOTDEFINED IfcPileTypeEnum = enum_namespace() -bored = express_getattr(IfcPileTypeEnum, 'BORED', INDETERMINATE) -driven = express_getattr(IfcPileTypeEnum, 'DRIVEN', INDETERMINATE) -jetgrouting = express_getattr(IfcPileTypeEnum, 'JETGROUTING', INDETERMINATE) -cohesion = express_getattr(IfcPileTypeEnum, 'COHESION', INDETERMINATE) -friction = express_getattr(IfcPileTypeEnum, 'FRICTION', INDETERMINATE) -support = express_getattr(IfcPileTypeEnum, 'SUPPORT', INDETERMINATE) -userdefined = express_getattr(IfcPileTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileTypeEnum, 'NOTDEFINED', INDETERMINATE) +bored = IfcPileTypeEnum.BORED +driven = IfcPileTypeEnum.DRIVEN +jetgrouting = IfcPileTypeEnum.JETGROUTING +cohesion = IfcPileTypeEnum.COHESION +friction = IfcPileTypeEnum.FRICTION +support = IfcPileTypeEnum.SUPPORT +userdefined = IfcPileTypeEnum.USERDEFINED +notdefined = IfcPileTypeEnum.NOTDEFINED IfcPipeFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcPipeFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcPipeFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcPipeFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcPipeFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcPipeFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcPipeFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcPipeFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcPipeFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcPipeFittingTypeEnum.BEND +connector = IfcPipeFittingTypeEnum.CONNECTOR +entry = IfcPipeFittingTypeEnum.ENTRY +exit = IfcPipeFittingTypeEnum.EXIT +junction = IfcPipeFittingTypeEnum.JUNCTION +obstruction = IfcPipeFittingTypeEnum.OBSTRUCTION +transition = IfcPipeFittingTypeEnum.TRANSITION +userdefined = IfcPipeFittingTypeEnum.USERDEFINED +notdefined = IfcPipeFittingTypeEnum.NOTDEFINED IfcPipeSegmentTypeEnum = enum_namespace() -culvert = express_getattr(IfcPipeSegmentTypeEnum, 'CULVERT', INDETERMINATE) -flexiblesegment = express_getattr(IfcPipeSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -rigidsegment = express_getattr(IfcPipeSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -gutter = express_getattr(IfcPipeSegmentTypeEnum, 'GUTTER', INDETERMINATE) -spool = express_getattr(IfcPipeSegmentTypeEnum, 'SPOOL', INDETERMINATE) -userdefined = express_getattr(IfcPipeSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +culvert = IfcPipeSegmentTypeEnum.CULVERT +flexiblesegment = IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT +rigidsegment = IfcPipeSegmentTypeEnum.RIGIDSEGMENT +gutter = IfcPipeSegmentTypeEnum.GUTTER +spool = IfcPipeSegmentTypeEnum.SPOOL +userdefined = IfcPipeSegmentTypeEnum.USERDEFINED +notdefined = IfcPipeSegmentTypeEnum.NOTDEFINED IfcPlateTypeEnum = enum_namespace() -curtain_panel = express_getattr(IfcPlateTypeEnum, 'CURTAIN_PANEL', INDETERMINATE) -sheet = express_getattr(IfcPlateTypeEnum, 'SHEET', INDETERMINATE) -flange_plate = express_getattr(IfcPlateTypeEnum, 'FLANGE_PLATE', INDETERMINATE) -web_plate = express_getattr(IfcPlateTypeEnum, 'WEB_PLATE', INDETERMINATE) -stiffener_plate = express_getattr(IfcPlateTypeEnum, 'STIFFENER_PLATE', INDETERMINATE) -gusset_plate = express_getattr(IfcPlateTypeEnum, 'GUSSET_PLATE', INDETERMINATE) -cover_plate = express_getattr(IfcPlateTypeEnum, 'COVER_PLATE', INDETERMINATE) -splice_plate = express_getattr(IfcPlateTypeEnum, 'SPLICE_PLATE', INDETERMINATE) -base_plate = express_getattr(IfcPlateTypeEnum, 'BASE_PLATE', INDETERMINATE) -userdefined = express_getattr(IfcPlateTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPlateTypeEnum, 'NOTDEFINED', INDETERMINATE) +curtain_panel = IfcPlateTypeEnum.CURTAIN_PANEL +sheet = IfcPlateTypeEnum.SHEET +flange_plate = IfcPlateTypeEnum.FLANGE_PLATE +web_plate = IfcPlateTypeEnum.WEB_PLATE +stiffener_plate = IfcPlateTypeEnum.STIFFENER_PLATE +gusset_plate = IfcPlateTypeEnum.GUSSET_PLATE +cover_plate = IfcPlateTypeEnum.COVER_PLATE +splice_plate = IfcPlateTypeEnum.SPLICE_PLATE +base_plate = IfcPlateTypeEnum.BASE_PLATE +userdefined = IfcPlateTypeEnum.USERDEFINED +notdefined = IfcPlateTypeEnum.NOTDEFINED IfcPreferredSurfaceCurveRepresentation = enum_namespace() -curve3d = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'CURVE3D', INDETERMINATE) -pcurve_s1 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S1', INDETERMINATE) -pcurve_s2 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S2', INDETERMINATE) +curve3d = IfcPreferredSurfaceCurveRepresentation.CURVE3D +pcurve_s1 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S1 +pcurve_s2 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S2 IfcProcedureTypeEnum = enum_namespace() -advice_caution = express_getattr(IfcProcedureTypeEnum, 'ADVICE_CAUTION', INDETERMINATE) -advice_note = express_getattr(IfcProcedureTypeEnum, 'ADVICE_NOTE', INDETERMINATE) -advice_warning = express_getattr(IfcProcedureTypeEnum, 'ADVICE_WARNING', INDETERMINATE) -calibration = express_getattr(IfcProcedureTypeEnum, 'CALIBRATION', INDETERMINATE) -diagnostic = express_getattr(IfcProcedureTypeEnum, 'DIAGNOSTIC', INDETERMINATE) -shutdown = express_getattr(IfcProcedureTypeEnum, 'SHUTDOWN', INDETERMINATE) -startup = express_getattr(IfcProcedureTypeEnum, 'STARTUP', INDETERMINATE) -userdefined = express_getattr(IfcProcedureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProcedureTypeEnum, 'NOTDEFINED', INDETERMINATE) +advice_caution = IfcProcedureTypeEnum.ADVICE_CAUTION +advice_note = IfcProcedureTypeEnum.ADVICE_NOTE +advice_warning = IfcProcedureTypeEnum.ADVICE_WARNING +calibration = IfcProcedureTypeEnum.CALIBRATION +diagnostic = IfcProcedureTypeEnum.DIAGNOSTIC +shutdown = IfcProcedureTypeEnum.SHUTDOWN +startup = IfcProcedureTypeEnum.STARTUP +userdefined = IfcProcedureTypeEnum.USERDEFINED +notdefined = IfcProcedureTypeEnum.NOTDEFINED IfcProfileTypeEnum = enum_namespace() -curve = express_getattr(IfcProfileTypeEnum, 'CURVE', INDETERMINATE) -area = express_getattr(IfcProfileTypeEnum, 'AREA', INDETERMINATE) +curve = IfcProfileTypeEnum.CURVE +area = IfcProfileTypeEnum.AREA IfcProjectOrderTypeEnum = enum_namespace() -changeorder = express_getattr(IfcProjectOrderTypeEnum, 'CHANGEORDER', INDETERMINATE) -maintenanceworkorder = express_getattr(IfcProjectOrderTypeEnum, 'MAINTENANCEWORKORDER', INDETERMINATE) -moveorder = express_getattr(IfcProjectOrderTypeEnum, 'MOVEORDER', INDETERMINATE) -purchaseorder = express_getattr(IfcProjectOrderTypeEnum, 'PURCHASEORDER', INDETERMINATE) -workorder = express_getattr(IfcProjectOrderTypeEnum, 'WORKORDER', INDETERMINATE) -userdefined = express_getattr(IfcProjectOrderTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectOrderTypeEnum, 'NOTDEFINED', INDETERMINATE) +changeorder = IfcProjectOrderTypeEnum.CHANGEORDER +maintenanceworkorder = IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER +moveorder = IfcProjectOrderTypeEnum.MOVEORDER +purchaseorder = IfcProjectOrderTypeEnum.PURCHASEORDER +workorder = IfcProjectOrderTypeEnum.WORKORDER +userdefined = IfcProjectOrderTypeEnum.USERDEFINED +notdefined = IfcProjectOrderTypeEnum.NOTDEFINED IfcProjectedOrTrueLengthEnum = enum_namespace() -projected_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'PROJECTED_LENGTH', INDETERMINATE) -true_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'TRUE_LENGTH', INDETERMINATE) +projected_length = IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH +true_length = IfcProjectedOrTrueLengthEnum.TRUE_LENGTH IfcProjectionElementTypeEnum = enum_namespace() -blister = express_getattr(IfcProjectionElementTypeEnum, 'BLISTER', INDETERMINATE) -deviator = express_getattr(IfcProjectionElementTypeEnum, 'DEVIATOR', INDETERMINATE) -userdefined = express_getattr(IfcProjectionElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectionElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +blister = IfcProjectionElementTypeEnum.BLISTER +deviator = IfcProjectionElementTypeEnum.DEVIATOR +userdefined = IfcProjectionElementTypeEnum.USERDEFINED +notdefined = IfcProjectionElementTypeEnum.NOTDEFINED IfcPropertySetTemplateTypeEnum = enum_namespace() -pset_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENONLY', INDETERMINATE) -pset_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENOVERRIDE', INDETERMINATE) -pset_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_OCCURRENCEDRIVEN', INDETERMINATE) -pset_performancedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_PERFORMANCEDRIVEN', INDETERMINATE) -qto_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENONLY', INDETERMINATE) -qto_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENOVERRIDE', INDETERMINATE) -qto_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_OCCURRENCEDRIVEN', INDETERMINATE) -notdefined = express_getattr(IfcPropertySetTemplateTypeEnum, 'NOTDEFINED', INDETERMINATE) +pset_typedrivenonly = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENONLY +pset_typedrivenoverride = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENOVERRIDE +pset_occurrencedriven = IfcPropertySetTemplateTypeEnum.PSET_OCCURRENCEDRIVEN +pset_performancedriven = IfcPropertySetTemplateTypeEnum.PSET_PERFORMANCEDRIVEN +qto_typedrivenonly = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENONLY +qto_typedrivenoverride = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENOVERRIDE +qto_occurrencedriven = IfcPropertySetTemplateTypeEnum.QTO_OCCURRENCEDRIVEN +notdefined = IfcPropertySetTemplateTypeEnum.NOTDEFINED IfcProtectiveDeviceTrippingUnitTypeEnum = enum_namespace() -electronic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTRONIC', INDETERMINATE) -electromagnetic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTROMAGNETIC', INDETERMINATE) -residualcurrent = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'RESIDUALCURRENT', INDETERMINATE) -thermal = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'THERMAL', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'NOTDEFINED', INDETERMINATE) +electronic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTRONIC +electromagnetic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTROMAGNETIC +residualcurrent = IfcProtectiveDeviceTrippingUnitTypeEnum.RESIDUALCURRENT +thermal = IfcProtectiveDeviceTrippingUnitTypeEnum.THERMAL +userdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.NOTDEFINED IfcProtectiveDeviceTypeEnum = enum_namespace() -circuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'CIRCUITBREAKER', INDETERMINATE) -earthleakagecircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHLEAKAGECIRCUITBREAKER', INDETERMINATE) -earthingswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHINGSWITCH', INDETERMINATE) -fusedisconnector = express_getattr(IfcProtectiveDeviceTypeEnum, 'FUSEDISCONNECTOR', INDETERMINATE) -residualcurrentcircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTCIRCUITBREAKER', INDETERMINATE) -residualcurrentswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTSWITCH', INDETERMINATE) -varistor = express_getattr(IfcProtectiveDeviceTypeEnum, 'VARISTOR', INDETERMINATE) -anti_arcing_device = express_getattr(IfcProtectiveDeviceTypeEnum, 'ANTI_ARCING_DEVICE', INDETERMINATE) -sparkgap = express_getattr(IfcProtectiveDeviceTypeEnum, 'SPARKGAP', INDETERMINATE) -voltagelimiter = express_getattr(IfcProtectiveDeviceTypeEnum, 'VOLTAGELIMITER', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +circuitbreaker = IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER +earthleakagecircuitbreaker = IfcProtectiveDeviceTypeEnum.EARTHLEAKAGECIRCUITBREAKER +earthingswitch = IfcProtectiveDeviceTypeEnum.EARTHINGSWITCH +fusedisconnector = IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR +residualcurrentcircuitbreaker = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER +residualcurrentswitch = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH +varistor = IfcProtectiveDeviceTypeEnum.VARISTOR +anti_arcing_device = IfcProtectiveDeviceTypeEnum.ANTI_ARCING_DEVICE +sparkgap = IfcProtectiveDeviceTypeEnum.SPARKGAP +voltagelimiter = IfcProtectiveDeviceTypeEnum.VOLTAGELIMITER +userdefined = IfcProtectiveDeviceTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTypeEnum.NOTDEFINED IfcPumpTypeEnum = enum_namespace() -circulator = express_getattr(IfcPumpTypeEnum, 'CIRCULATOR', INDETERMINATE) -endsuction = express_getattr(IfcPumpTypeEnum, 'ENDSUCTION', INDETERMINATE) -splitcase = express_getattr(IfcPumpTypeEnum, 'SPLITCASE', INDETERMINATE) -submersiblepump = express_getattr(IfcPumpTypeEnum, 'SUBMERSIBLEPUMP', INDETERMINATE) -sumppump = express_getattr(IfcPumpTypeEnum, 'SUMPPUMP', INDETERMINATE) -verticalinline = express_getattr(IfcPumpTypeEnum, 'VERTICALINLINE', INDETERMINATE) -verticalturbine = express_getattr(IfcPumpTypeEnum, 'VERTICALTURBINE', INDETERMINATE) -userdefined = express_getattr(IfcPumpTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPumpTypeEnum, 'NOTDEFINED', INDETERMINATE) +circulator = IfcPumpTypeEnum.CIRCULATOR +endsuction = IfcPumpTypeEnum.ENDSUCTION +splitcase = IfcPumpTypeEnum.SPLITCASE +submersiblepump = IfcPumpTypeEnum.SUBMERSIBLEPUMP +sumppump = IfcPumpTypeEnum.SUMPPUMP +verticalinline = IfcPumpTypeEnum.VERTICALINLINE +verticalturbine = IfcPumpTypeEnum.VERTICALTURBINE +userdefined = IfcPumpTypeEnum.USERDEFINED +notdefined = IfcPumpTypeEnum.NOTDEFINED IfcRailTypeEnum = enum_namespace() -rackrail = express_getattr(IfcRailTypeEnum, 'RACKRAIL', INDETERMINATE) -blade = express_getattr(IfcRailTypeEnum, 'BLADE', INDETERMINATE) -guardrail = express_getattr(IfcRailTypeEnum, 'GUARDRAIL', INDETERMINATE) -stockrail = express_getattr(IfcRailTypeEnum, 'STOCKRAIL', INDETERMINATE) -checkrail = express_getattr(IfcRailTypeEnum, 'CHECKRAIL', INDETERMINATE) -rail = express_getattr(IfcRailTypeEnum, 'RAIL', INDETERMINATE) -userdefined = express_getattr(IfcRailTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailTypeEnum, 'NOTDEFINED', INDETERMINATE) +rackrail = IfcRailTypeEnum.RACKRAIL +blade = IfcRailTypeEnum.BLADE +guardrail = IfcRailTypeEnum.GUARDRAIL +stockrail = IfcRailTypeEnum.STOCKRAIL +checkrail = IfcRailTypeEnum.CHECKRAIL +rail = IfcRailTypeEnum.RAIL +userdefined = IfcRailTypeEnum.USERDEFINED +notdefined = IfcRailTypeEnum.NOTDEFINED IfcRailingTypeEnum = enum_namespace() -handrail = express_getattr(IfcRailingTypeEnum, 'HANDRAIL', INDETERMINATE) -guardrail = express_getattr(IfcRailingTypeEnum, 'GUARDRAIL', INDETERMINATE) -balustrade = express_getattr(IfcRailingTypeEnum, 'BALUSTRADE', INDETERMINATE) -fence = express_getattr(IfcRailingTypeEnum, 'FENCE', INDETERMINATE) -userdefined = express_getattr(IfcRailingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailingTypeEnum, 'NOTDEFINED', INDETERMINATE) +handrail = IfcRailingTypeEnum.HANDRAIL +guardrail = IfcRailingTypeEnum.GUARDRAIL +balustrade = IfcRailingTypeEnum.BALUSTRADE +fence = IfcRailingTypeEnum.FENCE +userdefined = IfcRailingTypeEnum.USERDEFINED +notdefined = IfcRailingTypeEnum.NOTDEFINED IfcRailwayPartTypeEnum = enum_namespace() -trackstructure = express_getattr(IfcRailwayPartTypeEnum, 'TRACKSTRUCTURE', INDETERMINATE) -trackstructurepart = express_getattr(IfcRailwayPartTypeEnum, 'TRACKSTRUCTUREPART', INDETERMINATE) -linesidestructurepart = express_getattr(IfcRailwayPartTypeEnum, 'LINESIDESTRUCTUREPART', INDETERMINATE) -dilatationsuperstructure = express_getattr(IfcRailwayPartTypeEnum, 'DILATATIONSUPERSTRUCTURE', INDETERMINATE) -plaintracksupestructure = express_getattr(IfcRailwayPartTypeEnum, 'PLAINTRACKSUPESTRUCTURE', INDETERMINATE) -linesidestructure = express_getattr(IfcRailwayPartTypeEnum, 'LINESIDESTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcRailwayPartTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -turnoutsuperstructure = express_getattr(IfcRailwayPartTypeEnum, 'TURNOUTSUPERSTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcRailwayPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailwayPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +trackstructure = IfcRailwayPartTypeEnum.TRACKSTRUCTURE +trackstructurepart = IfcRailwayPartTypeEnum.TRACKSTRUCTUREPART +linesidestructurepart = IfcRailwayPartTypeEnum.LINESIDESTRUCTUREPART +dilatationsuperstructure = IfcRailwayPartTypeEnum.DILATATIONSUPERSTRUCTURE +plaintracksupestructure = IfcRailwayPartTypeEnum.PLAINTRACKSUPESTRUCTURE +linesidestructure = IfcRailwayPartTypeEnum.LINESIDESTRUCTURE +superstructure = IfcRailwayPartTypeEnum.SUPERSTRUCTURE +turnoutsuperstructure = IfcRailwayPartTypeEnum.TURNOUTSUPERSTRUCTURE +userdefined = IfcRailwayPartTypeEnum.USERDEFINED +notdefined = IfcRailwayPartTypeEnum.NOTDEFINED IfcRampFlightTypeEnum = enum_namespace() -straight = express_getattr(IfcRampFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -spiral = express_getattr(IfcRampFlightTypeEnum, 'SPIRAL', INDETERMINATE) -userdefined = express_getattr(IfcRampFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight = IfcRampFlightTypeEnum.STRAIGHT +spiral = IfcRampFlightTypeEnum.SPIRAL +userdefined = IfcRampFlightTypeEnum.USERDEFINED +notdefined = IfcRampFlightTypeEnum.NOTDEFINED IfcRampTypeEnum = enum_namespace() -straight_run_ramp = express_getattr(IfcRampTypeEnum, 'STRAIGHT_RUN_RAMP', INDETERMINATE) -two_straight_run_ramp = express_getattr(IfcRampTypeEnum, 'TWO_STRAIGHT_RUN_RAMP', INDETERMINATE) -quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'QUARTER_TURN_RAMP', INDETERMINATE) -two_quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'TWO_QUARTER_TURN_RAMP', INDETERMINATE) -half_turn_ramp = express_getattr(IfcRampTypeEnum, 'HALF_TURN_RAMP', INDETERMINATE) -spiral_ramp = express_getattr(IfcRampTypeEnum, 'SPIRAL_RAMP', INDETERMINATE) -userdefined = express_getattr(IfcRampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight_run_ramp = IfcRampTypeEnum.STRAIGHT_RUN_RAMP +two_straight_run_ramp = IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP +quarter_turn_ramp = IfcRampTypeEnum.QUARTER_TURN_RAMP +two_quarter_turn_ramp = IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP +half_turn_ramp = IfcRampTypeEnum.HALF_TURN_RAMP +spiral_ramp = IfcRampTypeEnum.SPIRAL_RAMP +userdefined = IfcRampTypeEnum.USERDEFINED +notdefined = IfcRampTypeEnum.NOTDEFINED IfcRecurrenceTypeEnum = enum_namespace() -daily = express_getattr(IfcRecurrenceTypeEnum, 'DAILY', INDETERMINATE) -weekly = express_getattr(IfcRecurrenceTypeEnum, 'WEEKLY', INDETERMINATE) -monthly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_DAY_OF_MONTH', INDETERMINATE) -monthly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_POSITION', INDETERMINATE) -by_day_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_DAY_COUNT', INDETERMINATE) -by_weekday_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_WEEKDAY_COUNT', INDETERMINATE) -yearly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_DAY_OF_MONTH', INDETERMINATE) -yearly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_POSITION', INDETERMINATE) +daily = IfcRecurrenceTypeEnum.DAILY +weekly = IfcRecurrenceTypeEnum.WEEKLY +monthly_by_day_of_month = IfcRecurrenceTypeEnum.MONTHLY_BY_DAY_OF_MONTH +monthly_by_position = IfcRecurrenceTypeEnum.MONTHLY_BY_POSITION +by_day_count = IfcRecurrenceTypeEnum.BY_DAY_COUNT +by_weekday_count = IfcRecurrenceTypeEnum.BY_WEEKDAY_COUNT +yearly_by_day_of_month = IfcRecurrenceTypeEnum.YEARLY_BY_DAY_OF_MONTH +yearly_by_position = IfcRecurrenceTypeEnum.YEARLY_BY_POSITION IfcReferentTypeEnum = enum_namespace() -kilopoint = express_getattr(IfcReferentTypeEnum, 'KILOPOINT', INDETERMINATE) -milepoint = express_getattr(IfcReferentTypeEnum, 'MILEPOINT', INDETERMINATE) -station = express_getattr(IfcReferentTypeEnum, 'STATION', INDETERMINATE) -referencemarker = express_getattr(IfcReferentTypeEnum, 'REFERENCEMARKER', INDETERMINATE) -userdefined = express_getattr(IfcReferentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReferentTypeEnum, 'NOTDEFINED', INDETERMINATE) +kilopoint = IfcReferentTypeEnum.KILOPOINT +milepoint = IfcReferentTypeEnum.MILEPOINT +station = IfcReferentTypeEnum.STATION +referencemarker = IfcReferentTypeEnum.REFERENCEMARKER +userdefined = IfcReferentTypeEnum.USERDEFINED +notdefined = IfcReferentTypeEnum.NOTDEFINED IfcReflectanceMethodEnum = enum_namespace() -blinn = express_getattr(IfcReflectanceMethodEnum, 'BLINN', INDETERMINATE) -flat = express_getattr(IfcReflectanceMethodEnum, 'FLAT', INDETERMINATE) -glass = express_getattr(IfcReflectanceMethodEnum, 'GLASS', INDETERMINATE) -matt = express_getattr(IfcReflectanceMethodEnum, 'MATT', INDETERMINATE) -metal = express_getattr(IfcReflectanceMethodEnum, 'METAL', INDETERMINATE) -mirror = express_getattr(IfcReflectanceMethodEnum, 'MIRROR', INDETERMINATE) -phong = express_getattr(IfcReflectanceMethodEnum, 'PHONG', INDETERMINATE) -plastic = express_getattr(IfcReflectanceMethodEnum, 'PLASTIC', INDETERMINATE) -strauss = express_getattr(IfcReflectanceMethodEnum, 'STRAUSS', INDETERMINATE) -notdefined = express_getattr(IfcReflectanceMethodEnum, 'NOTDEFINED', INDETERMINATE) +blinn = IfcReflectanceMethodEnum.BLINN +flat = IfcReflectanceMethodEnum.FLAT +glass = IfcReflectanceMethodEnum.GLASS +matt = IfcReflectanceMethodEnum.MATT +metal = IfcReflectanceMethodEnum.METAL +mirror = IfcReflectanceMethodEnum.MIRROR +phong = IfcReflectanceMethodEnum.PHONG +plastic = IfcReflectanceMethodEnum.PLASTIC +strauss = IfcReflectanceMethodEnum.STRAUSS +notdefined = IfcReflectanceMethodEnum.NOTDEFINED IfcReinforcedSoilTypeEnum = enum_namespace() -surchargepreloaded = express_getattr(IfcReinforcedSoilTypeEnum, 'SURCHARGEPRELOADED', INDETERMINATE) -verticallydrained = express_getattr(IfcReinforcedSoilTypeEnum, 'VERTICALLYDRAINED', INDETERMINATE) -dynamicallycompacted = express_getattr(IfcReinforcedSoilTypeEnum, 'DYNAMICALLYCOMPACTED', INDETERMINATE) -replaced = express_getattr(IfcReinforcedSoilTypeEnum, 'REPLACED', INDETERMINATE) -rollercompacted = express_getattr(IfcReinforcedSoilTypeEnum, 'ROLLERCOMPACTED', INDETERMINATE) -grouted = express_getattr(IfcReinforcedSoilTypeEnum, 'GROUTED', INDETERMINATE) -userdefined = express_getattr(IfcReinforcedSoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcedSoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +surchargepreloaded = IfcReinforcedSoilTypeEnum.SURCHARGEPRELOADED +verticallydrained = IfcReinforcedSoilTypeEnum.VERTICALLYDRAINED +dynamicallycompacted = IfcReinforcedSoilTypeEnum.DYNAMICALLYCOMPACTED +replaced = IfcReinforcedSoilTypeEnum.REPLACED +rollercompacted = IfcReinforcedSoilTypeEnum.ROLLERCOMPACTED +grouted = IfcReinforcedSoilTypeEnum.GROUTED +userdefined = IfcReinforcedSoilTypeEnum.USERDEFINED +notdefined = IfcReinforcedSoilTypeEnum.NOTDEFINED IfcReinforcingBarRoleEnum = enum_namespace() -main = express_getattr(IfcReinforcingBarRoleEnum, 'MAIN', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarRoleEnum, 'SHEAR', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarRoleEnum, 'LIGATURE', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarRoleEnum, 'STUD', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarRoleEnum, 'PUNCHING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarRoleEnum, 'EDGE', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarRoleEnum, 'RING', INDETERMINATE) -anchoring = express_getattr(IfcReinforcingBarRoleEnum, 'ANCHORING', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarRoleEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarRoleEnum, 'NOTDEFINED', INDETERMINATE) +main = IfcReinforcingBarRoleEnum.MAIN +shear = IfcReinforcingBarRoleEnum.SHEAR +ligature = IfcReinforcingBarRoleEnum.LIGATURE +stud = IfcReinforcingBarRoleEnum.STUD +punching = IfcReinforcingBarRoleEnum.PUNCHING +edge = IfcReinforcingBarRoleEnum.EDGE +ring = IfcReinforcingBarRoleEnum.RING +anchoring = IfcReinforcingBarRoleEnum.ANCHORING +userdefined = IfcReinforcingBarRoleEnum.USERDEFINED +notdefined = IfcReinforcingBarRoleEnum.NOTDEFINED IfcReinforcingBarSurfaceEnum = enum_namespace() -plain = express_getattr(IfcReinforcingBarSurfaceEnum, 'PLAIN', INDETERMINATE) -textured = express_getattr(IfcReinforcingBarSurfaceEnum, 'TEXTURED', INDETERMINATE) +plain = IfcReinforcingBarSurfaceEnum.PLAIN +textured = IfcReinforcingBarSurfaceEnum.TEXTURED IfcReinforcingBarTypeEnum = enum_namespace() -anchoring = express_getattr(IfcReinforcingBarTypeEnum, 'ANCHORING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarTypeEnum, 'EDGE', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarTypeEnum, 'LIGATURE', INDETERMINATE) -main = express_getattr(IfcReinforcingBarTypeEnum, 'MAIN', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarTypeEnum, 'PUNCHING', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarTypeEnum, 'RING', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarTypeEnum, 'SHEAR', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarTypeEnum, 'STUD', INDETERMINATE) -spacebar = express_getattr(IfcReinforcingBarTypeEnum, 'SPACEBAR', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchoring = IfcReinforcingBarTypeEnum.ANCHORING +edge = IfcReinforcingBarTypeEnum.EDGE +ligature = IfcReinforcingBarTypeEnum.LIGATURE +main = IfcReinforcingBarTypeEnum.MAIN +punching = IfcReinforcingBarTypeEnum.PUNCHING +ring = IfcReinforcingBarTypeEnum.RING +shear = IfcReinforcingBarTypeEnum.SHEAR +stud = IfcReinforcingBarTypeEnum.STUD +spacebar = IfcReinforcingBarTypeEnum.SPACEBAR +userdefined = IfcReinforcingBarTypeEnum.USERDEFINED +notdefined = IfcReinforcingBarTypeEnum.NOTDEFINED IfcReinforcingMeshTypeEnum = enum_namespace() -userdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcReinforcingMeshTypeEnum.USERDEFINED +notdefined = IfcReinforcingMeshTypeEnum.NOTDEFINED IfcRoadPartTypeEnum = enum_namespace() -roadsidepart = express_getattr(IfcRoadPartTypeEnum, 'ROADSIDEPART', INDETERMINATE) -bus_stop = express_getattr(IfcRoadPartTypeEnum, 'BUS_STOP', INDETERMINATE) -hardshoulder = express_getattr(IfcRoadPartTypeEnum, 'HARDSHOULDER', INDETERMINATE) -intersection = express_getattr(IfcRoadPartTypeEnum, 'INTERSECTION', INDETERMINATE) -passingbay = express_getattr(IfcRoadPartTypeEnum, 'PASSINGBAY', INDETERMINATE) -roadwayplateau = express_getattr(IfcRoadPartTypeEnum, 'ROADWAYPLATEAU', INDETERMINATE) -roadside = express_getattr(IfcRoadPartTypeEnum, 'ROADSIDE', INDETERMINATE) -refugeisland = express_getattr(IfcRoadPartTypeEnum, 'REFUGEISLAND', INDETERMINATE) -tollplaza = express_getattr(IfcRoadPartTypeEnum, 'TOLLPLAZA', INDETERMINATE) -centralreserve = express_getattr(IfcRoadPartTypeEnum, 'CENTRALRESERVE', INDETERMINATE) -sidewalk = express_getattr(IfcRoadPartTypeEnum, 'SIDEWALK', INDETERMINATE) -parkingbay = express_getattr(IfcRoadPartTypeEnum, 'PARKINGBAY', INDETERMINATE) -railwaycrossing = express_getattr(IfcRoadPartTypeEnum, 'RAILWAYCROSSING', INDETERMINATE) -pedestrian_crossing = express_getattr(IfcRoadPartTypeEnum, 'PEDESTRIAN_CROSSING', INDETERMINATE) -softshoulder = express_getattr(IfcRoadPartTypeEnum, 'SOFTSHOULDER', INDETERMINATE) -bicyclecrossing = express_getattr(IfcRoadPartTypeEnum, 'BICYCLECROSSING', INDETERMINATE) -centralisland = express_getattr(IfcRoadPartTypeEnum, 'CENTRALISLAND', INDETERMINATE) -shoulder = express_getattr(IfcRoadPartTypeEnum, 'SHOULDER', INDETERMINATE) -trafficlane = express_getattr(IfcRoadPartTypeEnum, 'TRAFFICLANE', INDETERMINATE) -roadsegment = express_getattr(IfcRoadPartTypeEnum, 'ROADSEGMENT', INDETERMINATE) -roundabout = express_getattr(IfcRoadPartTypeEnum, 'ROUNDABOUT', INDETERMINATE) -layby = express_getattr(IfcRoadPartTypeEnum, 'LAYBY', INDETERMINATE) -carriageway = express_getattr(IfcRoadPartTypeEnum, 'CARRIAGEWAY', INDETERMINATE) -trafficisland = express_getattr(IfcRoadPartTypeEnum, 'TRAFFICISLAND', INDETERMINATE) -userdefined = express_getattr(IfcRoadPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoadPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +roadsidepart = IfcRoadPartTypeEnum.ROADSIDEPART +bus_stop = IfcRoadPartTypeEnum.BUS_STOP +hardshoulder = IfcRoadPartTypeEnum.HARDSHOULDER +intersection = IfcRoadPartTypeEnum.INTERSECTION +passingbay = IfcRoadPartTypeEnum.PASSINGBAY +roadwayplateau = IfcRoadPartTypeEnum.ROADWAYPLATEAU +roadside = IfcRoadPartTypeEnum.ROADSIDE +refugeisland = IfcRoadPartTypeEnum.REFUGEISLAND +tollplaza = IfcRoadPartTypeEnum.TOLLPLAZA +centralreserve = IfcRoadPartTypeEnum.CENTRALRESERVE +sidewalk = IfcRoadPartTypeEnum.SIDEWALK +parkingbay = IfcRoadPartTypeEnum.PARKINGBAY +railwaycrossing = IfcRoadPartTypeEnum.RAILWAYCROSSING +pedestrian_crossing = IfcRoadPartTypeEnum.PEDESTRIAN_CROSSING +softshoulder = IfcRoadPartTypeEnum.SOFTSHOULDER +bicyclecrossing = IfcRoadPartTypeEnum.BICYCLECROSSING +centralisland = IfcRoadPartTypeEnum.CENTRALISLAND +shoulder = IfcRoadPartTypeEnum.SHOULDER +trafficlane = IfcRoadPartTypeEnum.TRAFFICLANE +roadsegment = IfcRoadPartTypeEnum.ROADSEGMENT +roundabout = IfcRoadPartTypeEnum.ROUNDABOUT +layby = IfcRoadPartTypeEnum.LAYBY +carriageway = IfcRoadPartTypeEnum.CARRIAGEWAY +trafficisland = IfcRoadPartTypeEnum.TRAFFICISLAND +userdefined = IfcRoadPartTypeEnum.USERDEFINED +notdefined = IfcRoadPartTypeEnum.NOTDEFINED IfcRoleEnum = enum_namespace() -supplier = express_getattr(IfcRoleEnum, 'SUPPLIER', INDETERMINATE) -manufacturer = express_getattr(IfcRoleEnum, 'MANUFACTURER', INDETERMINATE) -contractor = express_getattr(IfcRoleEnum, 'CONTRACTOR', INDETERMINATE) -subcontractor = express_getattr(IfcRoleEnum, 'SUBCONTRACTOR', INDETERMINATE) -architect = express_getattr(IfcRoleEnum, 'ARCHITECT', INDETERMINATE) -structuralengineer = express_getattr(IfcRoleEnum, 'STRUCTURALENGINEER', INDETERMINATE) -costengineer = express_getattr(IfcRoleEnum, 'COSTENGINEER', INDETERMINATE) -client = express_getattr(IfcRoleEnum, 'CLIENT', INDETERMINATE) -buildingowner = express_getattr(IfcRoleEnum, 'BUILDINGOWNER', INDETERMINATE) -buildingoperator = express_getattr(IfcRoleEnum, 'BUILDINGOPERATOR', INDETERMINATE) -mechanicalengineer = express_getattr(IfcRoleEnum, 'MECHANICALENGINEER', INDETERMINATE) -electricalengineer = express_getattr(IfcRoleEnum, 'ELECTRICALENGINEER', INDETERMINATE) -projectmanager = express_getattr(IfcRoleEnum, 'PROJECTMANAGER', INDETERMINATE) -facilitiesmanager = express_getattr(IfcRoleEnum, 'FACILITIESMANAGER', INDETERMINATE) -civilengineer = express_getattr(IfcRoleEnum, 'CIVILENGINEER', INDETERMINATE) -commissioningengineer = express_getattr(IfcRoleEnum, 'COMMISSIONINGENGINEER', INDETERMINATE) -engineer = express_getattr(IfcRoleEnum, 'ENGINEER', INDETERMINATE) -owner = express_getattr(IfcRoleEnum, 'OWNER', INDETERMINATE) -consultant = express_getattr(IfcRoleEnum, 'CONSULTANT', INDETERMINATE) -constructionmanager = express_getattr(IfcRoleEnum, 'CONSTRUCTIONMANAGER', INDETERMINATE) -fieldconstructionmanager = express_getattr(IfcRoleEnum, 'FIELDCONSTRUCTIONMANAGER', INDETERMINATE) -reseller = express_getattr(IfcRoleEnum, 'RESELLER', INDETERMINATE) -userdefined = express_getattr(IfcRoleEnum, 'USERDEFINED', INDETERMINATE) +supplier = IfcRoleEnum.SUPPLIER +manufacturer = IfcRoleEnum.MANUFACTURER +contractor = IfcRoleEnum.CONTRACTOR +subcontractor = IfcRoleEnum.SUBCONTRACTOR +architect = IfcRoleEnum.ARCHITECT +structuralengineer = IfcRoleEnum.STRUCTURALENGINEER +costengineer = IfcRoleEnum.COSTENGINEER +client = IfcRoleEnum.CLIENT +buildingowner = IfcRoleEnum.BUILDINGOWNER +buildingoperator = IfcRoleEnum.BUILDINGOPERATOR +mechanicalengineer = IfcRoleEnum.MECHANICALENGINEER +electricalengineer = IfcRoleEnum.ELECTRICALENGINEER +projectmanager = IfcRoleEnum.PROJECTMANAGER +facilitiesmanager = IfcRoleEnum.FACILITIESMANAGER +civilengineer = IfcRoleEnum.CIVILENGINEER +commissioningengineer = IfcRoleEnum.COMMISSIONINGENGINEER +engineer = IfcRoleEnum.ENGINEER +owner = IfcRoleEnum.OWNER +consultant = IfcRoleEnum.CONSULTANT +constructionmanager = IfcRoleEnum.CONSTRUCTIONMANAGER +fieldconstructionmanager = IfcRoleEnum.FIELDCONSTRUCTIONMANAGER +reseller = IfcRoleEnum.RESELLER +userdefined = IfcRoleEnum.USERDEFINED IfcRoofTypeEnum = enum_namespace() -flat_roof = express_getattr(IfcRoofTypeEnum, 'FLAT_ROOF', INDETERMINATE) -shed_roof = express_getattr(IfcRoofTypeEnum, 'SHED_ROOF', INDETERMINATE) -gable_roof = express_getattr(IfcRoofTypeEnum, 'GABLE_ROOF', INDETERMINATE) -hip_roof = express_getattr(IfcRoofTypeEnum, 'HIP_ROOF', INDETERMINATE) -hipped_gable_roof = express_getattr(IfcRoofTypeEnum, 'HIPPED_GABLE_ROOF', INDETERMINATE) -gambrel_roof = express_getattr(IfcRoofTypeEnum, 'GAMBREL_ROOF', INDETERMINATE) -mansard_roof = express_getattr(IfcRoofTypeEnum, 'MANSARD_ROOF', INDETERMINATE) -barrel_roof = express_getattr(IfcRoofTypeEnum, 'BARREL_ROOF', INDETERMINATE) -rainbow_roof = express_getattr(IfcRoofTypeEnum, 'RAINBOW_ROOF', INDETERMINATE) -butterfly_roof = express_getattr(IfcRoofTypeEnum, 'BUTTERFLY_ROOF', INDETERMINATE) -pavilion_roof = express_getattr(IfcRoofTypeEnum, 'PAVILION_ROOF', INDETERMINATE) -dome_roof = express_getattr(IfcRoofTypeEnum, 'DOME_ROOF', INDETERMINATE) -freeform = express_getattr(IfcRoofTypeEnum, 'FREEFORM', INDETERMINATE) -userdefined = express_getattr(IfcRoofTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoofTypeEnum, 'NOTDEFINED', INDETERMINATE) +flat_roof = IfcRoofTypeEnum.FLAT_ROOF +shed_roof = IfcRoofTypeEnum.SHED_ROOF +gable_roof = IfcRoofTypeEnum.GABLE_ROOF +hip_roof = IfcRoofTypeEnum.HIP_ROOF +hipped_gable_roof = IfcRoofTypeEnum.HIPPED_GABLE_ROOF +gambrel_roof = IfcRoofTypeEnum.GAMBREL_ROOF +mansard_roof = IfcRoofTypeEnum.MANSARD_ROOF +barrel_roof = IfcRoofTypeEnum.BARREL_ROOF +rainbow_roof = IfcRoofTypeEnum.RAINBOW_ROOF +butterfly_roof = IfcRoofTypeEnum.BUTTERFLY_ROOF +pavilion_roof = IfcRoofTypeEnum.PAVILION_ROOF +dome_roof = IfcRoofTypeEnum.DOME_ROOF +freeform = IfcRoofTypeEnum.FREEFORM +userdefined = IfcRoofTypeEnum.USERDEFINED +notdefined = IfcRoofTypeEnum.NOTDEFINED IfcSIPrefix = enum_namespace() -exa = express_getattr(IfcSIPrefix, 'EXA', INDETERMINATE) -peta = express_getattr(IfcSIPrefix, 'PETA', INDETERMINATE) -tera = express_getattr(IfcSIPrefix, 'TERA', INDETERMINATE) -giga = express_getattr(IfcSIPrefix, 'GIGA', INDETERMINATE) -mega = express_getattr(IfcSIPrefix, 'MEGA', INDETERMINATE) -kilo = express_getattr(IfcSIPrefix, 'KILO', INDETERMINATE) -hecto = express_getattr(IfcSIPrefix, 'HECTO', INDETERMINATE) -deca = express_getattr(IfcSIPrefix, 'DECA', INDETERMINATE) -deci = express_getattr(IfcSIPrefix, 'DECI', INDETERMINATE) -centi = express_getattr(IfcSIPrefix, 'CENTI', INDETERMINATE) -milli = express_getattr(IfcSIPrefix, 'MILLI', INDETERMINATE) -micro = express_getattr(IfcSIPrefix, 'MICRO', INDETERMINATE) -nano = express_getattr(IfcSIPrefix, 'NANO', INDETERMINATE) -pico = express_getattr(IfcSIPrefix, 'PICO', INDETERMINATE) -femto = express_getattr(IfcSIPrefix, 'FEMTO', INDETERMINATE) -atto = express_getattr(IfcSIPrefix, 'ATTO', INDETERMINATE) +exa = IfcSIPrefix.EXA +peta = IfcSIPrefix.PETA +tera = IfcSIPrefix.TERA +giga = IfcSIPrefix.GIGA +mega = IfcSIPrefix.MEGA +kilo = IfcSIPrefix.KILO +hecto = IfcSIPrefix.HECTO +deca = IfcSIPrefix.DECA +deci = IfcSIPrefix.DECI +centi = IfcSIPrefix.CENTI +milli = IfcSIPrefix.MILLI +micro = IfcSIPrefix.MICRO +nano = IfcSIPrefix.NANO +pico = IfcSIPrefix.PICO +femto = IfcSIPrefix.FEMTO +atto = IfcSIPrefix.ATTO IfcSIUnitName = enum_namespace() -ampere = express_getattr(IfcSIUnitName, 'AMPERE', INDETERMINATE) -becquerel = express_getattr(IfcSIUnitName, 'BECQUEREL', INDETERMINATE) -candela = express_getattr(IfcSIUnitName, 'CANDELA', INDETERMINATE) -coulomb = express_getattr(IfcSIUnitName, 'COULOMB', INDETERMINATE) -cubic_metre = express_getattr(IfcSIUnitName, 'CUBIC_METRE', INDETERMINATE) -degree_celsius = express_getattr(IfcSIUnitName, 'DEGREE_CELSIUS', INDETERMINATE) -farad = express_getattr(IfcSIUnitName, 'FARAD', INDETERMINATE) -gram = express_getattr(IfcSIUnitName, 'GRAM', INDETERMINATE) -gray = express_getattr(IfcSIUnitName, 'GRAY', INDETERMINATE) -henry = express_getattr(IfcSIUnitName, 'HENRY', INDETERMINATE) -hertz = express_getattr(IfcSIUnitName, 'HERTZ', INDETERMINATE) -joule = express_getattr(IfcSIUnitName, 'JOULE', INDETERMINATE) -kelvin = express_getattr(IfcSIUnitName, 'KELVIN', INDETERMINATE) -lumen = express_getattr(IfcSIUnitName, 'LUMEN', INDETERMINATE) -lux = express_getattr(IfcSIUnitName, 'LUX', INDETERMINATE) -metre = express_getattr(IfcSIUnitName, 'METRE', INDETERMINATE) -mole = express_getattr(IfcSIUnitName, 'MOLE', INDETERMINATE) -newton = express_getattr(IfcSIUnitName, 'NEWTON', INDETERMINATE) -ohm = express_getattr(IfcSIUnitName, 'OHM', INDETERMINATE) -pascal = express_getattr(IfcSIUnitName, 'PASCAL', INDETERMINATE) -radian = express_getattr(IfcSIUnitName, 'RADIAN', INDETERMINATE) -second = express_getattr(IfcSIUnitName, 'SECOND', INDETERMINATE) -siemens = express_getattr(IfcSIUnitName, 'SIEMENS', INDETERMINATE) -sievert = express_getattr(IfcSIUnitName, 'SIEVERT', INDETERMINATE) -square_metre = express_getattr(IfcSIUnitName, 'SQUARE_METRE', INDETERMINATE) -steradian = express_getattr(IfcSIUnitName, 'STERADIAN', INDETERMINATE) -tesla = express_getattr(IfcSIUnitName, 'TESLA', INDETERMINATE) -volt = express_getattr(IfcSIUnitName, 'VOLT', INDETERMINATE) -watt = express_getattr(IfcSIUnitName, 'WATT', INDETERMINATE) -weber = express_getattr(IfcSIUnitName, 'WEBER', INDETERMINATE) +ampere = IfcSIUnitName.AMPERE +becquerel = IfcSIUnitName.BECQUEREL +candela = IfcSIUnitName.CANDELA +coulomb = IfcSIUnitName.COULOMB +cubic_metre = IfcSIUnitName.CUBIC_METRE +degree_celsius = IfcSIUnitName.DEGREE_CELSIUS +farad = IfcSIUnitName.FARAD +gram = IfcSIUnitName.GRAM +gray = IfcSIUnitName.GRAY +henry = IfcSIUnitName.HENRY +hertz = IfcSIUnitName.HERTZ +joule = IfcSIUnitName.JOULE +kelvin = IfcSIUnitName.KELVIN +lumen = IfcSIUnitName.LUMEN +lux = IfcSIUnitName.LUX +metre = IfcSIUnitName.METRE +mole = IfcSIUnitName.MOLE +newton = IfcSIUnitName.NEWTON +ohm = IfcSIUnitName.OHM +pascal = IfcSIUnitName.PASCAL +radian = IfcSIUnitName.RADIAN +second = IfcSIUnitName.SECOND +siemens = IfcSIUnitName.SIEMENS +sievert = IfcSIUnitName.SIEVERT +square_metre = IfcSIUnitName.SQUARE_METRE +steradian = IfcSIUnitName.STERADIAN +tesla = IfcSIUnitName.TESLA +volt = IfcSIUnitName.VOLT +watt = IfcSIUnitName.WATT +weber = IfcSIUnitName.WEBER IfcSanitaryTerminalTypeEnum = enum_namespace() -bath = express_getattr(IfcSanitaryTerminalTypeEnum, 'BATH', INDETERMINATE) -bidet = express_getattr(IfcSanitaryTerminalTypeEnum, 'BIDET', INDETERMINATE) -cistern = express_getattr(IfcSanitaryTerminalTypeEnum, 'CISTERN', INDETERMINATE) -shower = express_getattr(IfcSanitaryTerminalTypeEnum, 'SHOWER', INDETERMINATE) -sink = express_getattr(IfcSanitaryTerminalTypeEnum, 'SINK', INDETERMINATE) -sanitaryfountain = express_getattr(IfcSanitaryTerminalTypeEnum, 'SANITARYFOUNTAIN', INDETERMINATE) -toiletpan = express_getattr(IfcSanitaryTerminalTypeEnum, 'TOILETPAN', INDETERMINATE) -urinal = express_getattr(IfcSanitaryTerminalTypeEnum, 'URINAL', INDETERMINATE) -washhandbasin = express_getattr(IfcSanitaryTerminalTypeEnum, 'WASHHANDBASIN', INDETERMINATE) -wcseat = express_getattr(IfcSanitaryTerminalTypeEnum, 'WCSEAT', INDETERMINATE) -userdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +bath = IfcSanitaryTerminalTypeEnum.BATH +bidet = IfcSanitaryTerminalTypeEnum.BIDET +cistern = IfcSanitaryTerminalTypeEnum.CISTERN +shower = IfcSanitaryTerminalTypeEnum.SHOWER +sink = IfcSanitaryTerminalTypeEnum.SINK +sanitaryfountain = IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN +toiletpan = IfcSanitaryTerminalTypeEnum.TOILETPAN +urinal = IfcSanitaryTerminalTypeEnum.URINAL +washhandbasin = IfcSanitaryTerminalTypeEnum.WASHHANDBASIN +wcseat = IfcSanitaryTerminalTypeEnum.WCSEAT +userdefined = IfcSanitaryTerminalTypeEnum.USERDEFINED +notdefined = IfcSanitaryTerminalTypeEnum.NOTDEFINED IfcSectionTypeEnum = enum_namespace() -uniform = express_getattr(IfcSectionTypeEnum, 'UNIFORM', INDETERMINATE) -tapered = express_getattr(IfcSectionTypeEnum, 'TAPERED', INDETERMINATE) +uniform = IfcSectionTypeEnum.UNIFORM +tapered = IfcSectionTypeEnum.TAPERED IfcSensorTypeEnum = enum_namespace() -cosensor = express_getattr(IfcSensorTypeEnum, 'COSENSOR', INDETERMINATE) -co2sensor = express_getattr(IfcSensorTypeEnum, 'CO2SENSOR', INDETERMINATE) -conductancesensor = express_getattr(IfcSensorTypeEnum, 'CONDUCTANCESENSOR', INDETERMINATE) -contactsensor = express_getattr(IfcSensorTypeEnum, 'CONTACTSENSOR', INDETERMINATE) -firesensor = express_getattr(IfcSensorTypeEnum, 'FIRESENSOR', INDETERMINATE) -flowsensor = express_getattr(IfcSensorTypeEnum, 'FLOWSENSOR', INDETERMINATE) -frostsensor = express_getattr(IfcSensorTypeEnum, 'FROSTSENSOR', INDETERMINATE) -gassensor = express_getattr(IfcSensorTypeEnum, 'GASSENSOR', INDETERMINATE) -heatsensor = express_getattr(IfcSensorTypeEnum, 'HEATSENSOR', INDETERMINATE) -humiditysensor = express_getattr(IfcSensorTypeEnum, 'HUMIDITYSENSOR', INDETERMINATE) -identifiersensor = express_getattr(IfcSensorTypeEnum, 'IDENTIFIERSENSOR', INDETERMINATE) -ionconcentrationsensor = express_getattr(IfcSensorTypeEnum, 'IONCONCENTRATIONSENSOR', INDETERMINATE) -levelsensor = express_getattr(IfcSensorTypeEnum, 'LEVELSENSOR', INDETERMINATE) -lightsensor = express_getattr(IfcSensorTypeEnum, 'LIGHTSENSOR', INDETERMINATE) -moisturesensor = express_getattr(IfcSensorTypeEnum, 'MOISTURESENSOR', INDETERMINATE) -movementsensor = express_getattr(IfcSensorTypeEnum, 'MOVEMENTSENSOR', INDETERMINATE) -phsensor = express_getattr(IfcSensorTypeEnum, 'PHSENSOR', INDETERMINATE) -pressuresensor = express_getattr(IfcSensorTypeEnum, 'PRESSURESENSOR', INDETERMINATE) -radiationsensor = express_getattr(IfcSensorTypeEnum, 'RADIATIONSENSOR', INDETERMINATE) -radioactivitysensor = express_getattr(IfcSensorTypeEnum, 'RADIOACTIVITYSENSOR', INDETERMINATE) -smokesensor = express_getattr(IfcSensorTypeEnum, 'SMOKESENSOR', INDETERMINATE) -soundsensor = express_getattr(IfcSensorTypeEnum, 'SOUNDSENSOR', INDETERMINATE) -temperaturesensor = express_getattr(IfcSensorTypeEnum, 'TEMPERATURESENSOR', INDETERMINATE) -windsensor = express_getattr(IfcSensorTypeEnum, 'WINDSENSOR', INDETERMINATE) -earthquakesensor = express_getattr(IfcSensorTypeEnum, 'EARTHQUAKESENSOR', INDETERMINATE) -foreignobjectdetectionsensor = express_getattr(IfcSensorTypeEnum, 'FOREIGNOBJECTDETECTIONSENSOR', INDETERMINATE) -obstaclesensor = express_getattr(IfcSensorTypeEnum, 'OBSTACLESENSOR', INDETERMINATE) -rainsensor = express_getattr(IfcSensorTypeEnum, 'RAINSENSOR', INDETERMINATE) -snowdepthsensor = express_getattr(IfcSensorTypeEnum, 'SNOWDEPTHSENSOR', INDETERMINATE) -trainsensor = express_getattr(IfcSensorTypeEnum, 'TRAINSENSOR', INDETERMINATE) -turnoutclosuresensor = express_getattr(IfcSensorTypeEnum, 'TURNOUTCLOSURESENSOR', INDETERMINATE) -wheelsensor = express_getattr(IfcSensorTypeEnum, 'WHEELSENSOR', INDETERMINATE) -userdefined = express_getattr(IfcSensorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSensorTypeEnum, 'NOTDEFINED', INDETERMINATE) +cosensor = IfcSensorTypeEnum.COSENSOR +co2sensor = IfcSensorTypeEnum.CO2SENSOR +conductancesensor = IfcSensorTypeEnum.CONDUCTANCESENSOR +contactsensor = IfcSensorTypeEnum.CONTACTSENSOR +firesensor = IfcSensorTypeEnum.FIRESENSOR +flowsensor = IfcSensorTypeEnum.FLOWSENSOR +frostsensor = IfcSensorTypeEnum.FROSTSENSOR +gassensor = IfcSensorTypeEnum.GASSENSOR +heatsensor = IfcSensorTypeEnum.HEATSENSOR +humiditysensor = IfcSensorTypeEnum.HUMIDITYSENSOR +identifiersensor = IfcSensorTypeEnum.IDENTIFIERSENSOR +ionconcentrationsensor = IfcSensorTypeEnum.IONCONCENTRATIONSENSOR +levelsensor = IfcSensorTypeEnum.LEVELSENSOR +lightsensor = IfcSensorTypeEnum.LIGHTSENSOR +moisturesensor = IfcSensorTypeEnum.MOISTURESENSOR +movementsensor = IfcSensorTypeEnum.MOVEMENTSENSOR +phsensor = IfcSensorTypeEnum.PHSENSOR +pressuresensor = IfcSensorTypeEnum.PRESSURESENSOR +radiationsensor = IfcSensorTypeEnum.RADIATIONSENSOR +radioactivitysensor = IfcSensorTypeEnum.RADIOACTIVITYSENSOR +smokesensor = IfcSensorTypeEnum.SMOKESENSOR +soundsensor = IfcSensorTypeEnum.SOUNDSENSOR +temperaturesensor = IfcSensorTypeEnum.TEMPERATURESENSOR +windsensor = IfcSensorTypeEnum.WINDSENSOR +earthquakesensor = IfcSensorTypeEnum.EARTHQUAKESENSOR +foreignobjectdetectionsensor = IfcSensorTypeEnum.FOREIGNOBJECTDETECTIONSENSOR +obstaclesensor = IfcSensorTypeEnum.OBSTACLESENSOR +rainsensor = IfcSensorTypeEnum.RAINSENSOR +snowdepthsensor = IfcSensorTypeEnum.SNOWDEPTHSENSOR +trainsensor = IfcSensorTypeEnum.TRAINSENSOR +turnoutclosuresensor = IfcSensorTypeEnum.TURNOUTCLOSURESENSOR +wheelsensor = IfcSensorTypeEnum.WHEELSENSOR +userdefined = IfcSensorTypeEnum.USERDEFINED +notdefined = IfcSensorTypeEnum.NOTDEFINED IfcSequenceEnum = enum_namespace() -start_start = express_getattr(IfcSequenceEnum, 'START_START', INDETERMINATE) -start_finish = express_getattr(IfcSequenceEnum, 'START_FINISH', INDETERMINATE) -finish_start = express_getattr(IfcSequenceEnum, 'FINISH_START', INDETERMINATE) -finish_finish = express_getattr(IfcSequenceEnum, 'FINISH_FINISH', INDETERMINATE) -userdefined = express_getattr(IfcSequenceEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSequenceEnum, 'NOTDEFINED', INDETERMINATE) +start_start = IfcSequenceEnum.START_START +start_finish = IfcSequenceEnum.START_FINISH +finish_start = IfcSequenceEnum.FINISH_START +finish_finish = IfcSequenceEnum.FINISH_FINISH +userdefined = IfcSequenceEnum.USERDEFINED +notdefined = IfcSequenceEnum.NOTDEFINED IfcShadingDeviceTypeEnum = enum_namespace() -jalousie = express_getattr(IfcShadingDeviceTypeEnum, 'JALOUSIE', INDETERMINATE) -shutter = express_getattr(IfcShadingDeviceTypeEnum, 'SHUTTER', INDETERMINATE) -awning = express_getattr(IfcShadingDeviceTypeEnum, 'AWNING', INDETERMINATE) -userdefined = express_getattr(IfcShadingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcShadingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +jalousie = IfcShadingDeviceTypeEnum.JALOUSIE +shutter = IfcShadingDeviceTypeEnum.SHUTTER +awning = IfcShadingDeviceTypeEnum.AWNING +userdefined = IfcShadingDeviceTypeEnum.USERDEFINED +notdefined = IfcShadingDeviceTypeEnum.NOTDEFINED IfcSignTypeEnum = enum_namespace() -marker = express_getattr(IfcSignTypeEnum, 'MARKER', INDETERMINATE) -pictoral = express_getattr(IfcSignTypeEnum, 'PICTORAL', INDETERMINATE) -mirror = express_getattr(IfcSignTypeEnum, 'MIRROR', INDETERMINATE) -userdefined = express_getattr(IfcSignTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSignTypeEnum, 'NOTDEFINED', INDETERMINATE) +marker = IfcSignTypeEnum.MARKER +pictoral = IfcSignTypeEnum.PICTORAL +mirror = IfcSignTypeEnum.MIRROR +userdefined = IfcSignTypeEnum.USERDEFINED +notdefined = IfcSignTypeEnum.NOTDEFINED IfcSignalTypeEnum = enum_namespace() -visual = express_getattr(IfcSignalTypeEnum, 'VISUAL', INDETERMINATE) -audio = express_getattr(IfcSignalTypeEnum, 'AUDIO', INDETERMINATE) -mixed = express_getattr(IfcSignalTypeEnum, 'MIXED', INDETERMINATE) -userdefined = express_getattr(IfcSignalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSignalTypeEnum, 'NOTDEFINED', INDETERMINATE) +visual = IfcSignalTypeEnum.VISUAL +audio = IfcSignalTypeEnum.AUDIO +mixed = IfcSignalTypeEnum.MIXED +userdefined = IfcSignalTypeEnum.USERDEFINED +notdefined = IfcSignalTypeEnum.NOTDEFINED IfcSimplePropertyTemplateTypeEnum = enum_namespace() -p_singlevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_SINGLEVALUE', INDETERMINATE) -p_enumeratedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_ENUMERATEDVALUE', INDETERMINATE) -p_boundedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_BOUNDEDVALUE', INDETERMINATE) -p_listvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_LISTVALUE', INDETERMINATE) -p_tablevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_TABLEVALUE', INDETERMINATE) -p_referencevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_REFERENCEVALUE', INDETERMINATE) -q_length = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_LENGTH', INDETERMINATE) -q_area = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_AREA', INDETERMINATE) -q_volume = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_VOLUME', INDETERMINATE) -q_count = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_COUNT', INDETERMINATE) -q_weight = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_WEIGHT', INDETERMINATE) -q_time = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_TIME', INDETERMINATE) +p_singlevalue = IfcSimplePropertyTemplateTypeEnum.P_SINGLEVALUE +p_enumeratedvalue = IfcSimplePropertyTemplateTypeEnum.P_ENUMERATEDVALUE +p_boundedvalue = IfcSimplePropertyTemplateTypeEnum.P_BOUNDEDVALUE +p_listvalue = IfcSimplePropertyTemplateTypeEnum.P_LISTVALUE +p_tablevalue = IfcSimplePropertyTemplateTypeEnum.P_TABLEVALUE +p_referencevalue = IfcSimplePropertyTemplateTypeEnum.P_REFERENCEVALUE +q_length = IfcSimplePropertyTemplateTypeEnum.Q_LENGTH +q_area = IfcSimplePropertyTemplateTypeEnum.Q_AREA +q_volume = IfcSimplePropertyTemplateTypeEnum.Q_VOLUME +q_count = IfcSimplePropertyTemplateTypeEnum.Q_COUNT +q_weight = IfcSimplePropertyTemplateTypeEnum.Q_WEIGHT +q_time = IfcSimplePropertyTemplateTypeEnum.Q_TIME IfcSlabTypeEnum = enum_namespace() -floor = express_getattr(IfcSlabTypeEnum, 'FLOOR', INDETERMINATE) -roof = express_getattr(IfcSlabTypeEnum, 'ROOF', INDETERMINATE) -landing = express_getattr(IfcSlabTypeEnum, 'LANDING', INDETERMINATE) -baseslab = express_getattr(IfcSlabTypeEnum, 'BASESLAB', INDETERMINATE) -approach_slab = express_getattr(IfcSlabTypeEnum, 'APPROACH_SLAB', INDETERMINATE) -paving = express_getattr(IfcSlabTypeEnum, 'PAVING', INDETERMINATE) -wearing = express_getattr(IfcSlabTypeEnum, 'WEARING', INDETERMINATE) -sidewalk = express_getattr(IfcSlabTypeEnum, 'SIDEWALK', INDETERMINATE) -trackslab = express_getattr(IfcSlabTypeEnum, 'TRACKSLAB', INDETERMINATE) -userdefined = express_getattr(IfcSlabTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSlabTypeEnum, 'NOTDEFINED', INDETERMINATE) +floor = IfcSlabTypeEnum.FLOOR +roof = IfcSlabTypeEnum.ROOF +landing = IfcSlabTypeEnum.LANDING +baseslab = IfcSlabTypeEnum.BASESLAB +approach_slab = IfcSlabTypeEnum.APPROACH_SLAB +paving = IfcSlabTypeEnum.PAVING +wearing = IfcSlabTypeEnum.WEARING +sidewalk = IfcSlabTypeEnum.SIDEWALK +trackslab = IfcSlabTypeEnum.TRACKSLAB +userdefined = IfcSlabTypeEnum.USERDEFINED +notdefined = IfcSlabTypeEnum.NOTDEFINED IfcSolarDeviceTypeEnum = enum_namespace() -solarcollector = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARCOLLECTOR', INDETERMINATE) -solarpanel = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARPANEL', INDETERMINATE) -userdefined = express_getattr(IfcSolarDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSolarDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +solarcollector = IfcSolarDeviceTypeEnum.SOLARCOLLECTOR +solarpanel = IfcSolarDeviceTypeEnum.SOLARPANEL +userdefined = IfcSolarDeviceTypeEnum.USERDEFINED +notdefined = IfcSolarDeviceTypeEnum.NOTDEFINED IfcSpaceHeaterTypeEnum = enum_namespace() -convector = express_getattr(IfcSpaceHeaterTypeEnum, 'CONVECTOR', INDETERMINATE) -radiator = express_getattr(IfcSpaceHeaterTypeEnum, 'RADIATOR', INDETERMINATE) -userdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'NOTDEFINED', INDETERMINATE) +convector = IfcSpaceHeaterTypeEnum.CONVECTOR +radiator = IfcSpaceHeaterTypeEnum.RADIATOR +userdefined = IfcSpaceHeaterTypeEnum.USERDEFINED +notdefined = IfcSpaceHeaterTypeEnum.NOTDEFINED IfcSpaceTypeEnum = enum_namespace() -space = express_getattr(IfcSpaceTypeEnum, 'SPACE', INDETERMINATE) -parking = express_getattr(IfcSpaceTypeEnum, 'PARKING', INDETERMINATE) -gfa = express_getattr(IfcSpaceTypeEnum, 'GFA', INDETERMINATE) -internal = express_getattr(IfcSpaceTypeEnum, 'INTERNAL', INDETERMINATE) -external = express_getattr(IfcSpaceTypeEnum, 'EXTERNAL', INDETERMINATE) -userdefined = express_getattr(IfcSpaceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceTypeEnum, 'NOTDEFINED', INDETERMINATE) +space = IfcSpaceTypeEnum.SPACE +parking = IfcSpaceTypeEnum.PARKING +gfa = IfcSpaceTypeEnum.GFA +internal = IfcSpaceTypeEnum.INTERNAL +external = IfcSpaceTypeEnum.EXTERNAL +userdefined = IfcSpaceTypeEnum.USERDEFINED +notdefined = IfcSpaceTypeEnum.NOTDEFINED IfcSpatialZoneTypeEnum = enum_namespace() -construction = express_getattr(IfcSpatialZoneTypeEnum, 'CONSTRUCTION', INDETERMINATE) -firesafety = express_getattr(IfcSpatialZoneTypeEnum, 'FIRESAFETY', INDETERMINATE) -lighting = express_getattr(IfcSpatialZoneTypeEnum, 'LIGHTING', INDETERMINATE) -occupancy = express_getattr(IfcSpatialZoneTypeEnum, 'OCCUPANCY', INDETERMINATE) -security = express_getattr(IfcSpatialZoneTypeEnum, 'SECURITY', INDETERMINATE) -thermal = express_getattr(IfcSpatialZoneTypeEnum, 'THERMAL', INDETERMINATE) -transport = express_getattr(IfcSpatialZoneTypeEnum, 'TRANSPORT', INDETERMINATE) -ventilation = express_getattr(IfcSpatialZoneTypeEnum, 'VENTILATION', INDETERMINATE) -reservation = express_getattr(IfcSpatialZoneTypeEnum, 'RESERVATION', INDETERMINATE) -userdefined = express_getattr(IfcSpatialZoneTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpatialZoneTypeEnum, 'NOTDEFINED', INDETERMINATE) +construction = IfcSpatialZoneTypeEnum.CONSTRUCTION +firesafety = IfcSpatialZoneTypeEnum.FIRESAFETY +lighting = IfcSpatialZoneTypeEnum.LIGHTING +occupancy = IfcSpatialZoneTypeEnum.OCCUPANCY +security = IfcSpatialZoneTypeEnum.SECURITY +thermal = IfcSpatialZoneTypeEnum.THERMAL +transport = IfcSpatialZoneTypeEnum.TRANSPORT +ventilation = IfcSpatialZoneTypeEnum.VENTILATION +reservation = IfcSpatialZoneTypeEnum.RESERVATION +userdefined = IfcSpatialZoneTypeEnum.USERDEFINED +notdefined = IfcSpatialZoneTypeEnum.NOTDEFINED IfcStackTerminalTypeEnum = enum_namespace() -birdcage = express_getattr(IfcStackTerminalTypeEnum, 'BIRDCAGE', INDETERMINATE) -cowl = express_getattr(IfcStackTerminalTypeEnum, 'COWL', INDETERMINATE) -rainwaterhopper = express_getattr(IfcStackTerminalTypeEnum, 'RAINWATERHOPPER', INDETERMINATE) -userdefined = express_getattr(IfcStackTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStackTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +birdcage = IfcStackTerminalTypeEnum.BIRDCAGE +cowl = IfcStackTerminalTypeEnum.COWL +rainwaterhopper = IfcStackTerminalTypeEnum.RAINWATERHOPPER +userdefined = IfcStackTerminalTypeEnum.USERDEFINED +notdefined = IfcStackTerminalTypeEnum.NOTDEFINED IfcStairFlightTypeEnum = enum_namespace() -straight = express_getattr(IfcStairFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -winder = express_getattr(IfcStairFlightTypeEnum, 'WINDER', INDETERMINATE) -spiral = express_getattr(IfcStairFlightTypeEnum, 'SPIRAL', INDETERMINATE) -curved = express_getattr(IfcStairFlightTypeEnum, 'CURVED', INDETERMINATE) -freeform = express_getattr(IfcStairFlightTypeEnum, 'FREEFORM', INDETERMINATE) -userdefined = express_getattr(IfcStairFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight = IfcStairFlightTypeEnum.STRAIGHT +winder = IfcStairFlightTypeEnum.WINDER +spiral = IfcStairFlightTypeEnum.SPIRAL +curved = IfcStairFlightTypeEnum.CURVED +freeform = IfcStairFlightTypeEnum.FREEFORM +userdefined = IfcStairFlightTypeEnum.USERDEFINED +notdefined = IfcStairFlightTypeEnum.NOTDEFINED IfcStairTypeEnum = enum_namespace() -straight_run_stair = express_getattr(IfcStairTypeEnum, 'STRAIGHT_RUN_STAIR', INDETERMINATE) -two_straight_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_STRAIGHT_RUN_STAIR', INDETERMINATE) -quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_WINDING_STAIR', INDETERMINATE) -quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_TURN_STAIR', INDETERMINATE) -half_winding_stair = express_getattr(IfcStairTypeEnum, 'HALF_WINDING_STAIR', INDETERMINATE) -half_turn_stair = express_getattr(IfcStairTypeEnum, 'HALF_TURN_STAIR', INDETERMINATE) -two_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_WINDING_STAIR', INDETERMINATE) -two_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_TURN_STAIR', INDETERMINATE) -three_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_WINDING_STAIR', INDETERMINATE) -three_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_TURN_STAIR', INDETERMINATE) -spiral_stair = express_getattr(IfcStairTypeEnum, 'SPIRAL_STAIR', INDETERMINATE) -double_return_stair = express_getattr(IfcStairTypeEnum, 'DOUBLE_RETURN_STAIR', INDETERMINATE) -curved_run_stair = express_getattr(IfcStairTypeEnum, 'CURVED_RUN_STAIR', INDETERMINATE) -two_curved_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_CURVED_RUN_STAIR', INDETERMINATE) -ladder = express_getattr(IfcStairTypeEnum, 'LADDER', INDETERMINATE) -userdefined = express_getattr(IfcStairTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight_run_stair = IfcStairTypeEnum.STRAIGHT_RUN_STAIR +two_straight_run_stair = IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR +quarter_winding_stair = IfcStairTypeEnum.QUARTER_WINDING_STAIR +quarter_turn_stair = IfcStairTypeEnum.QUARTER_TURN_STAIR +half_winding_stair = IfcStairTypeEnum.HALF_WINDING_STAIR +half_turn_stair = IfcStairTypeEnum.HALF_TURN_STAIR +two_quarter_winding_stair = IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR +two_quarter_turn_stair = IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR +three_quarter_winding_stair = IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR +three_quarter_turn_stair = IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR +spiral_stair = IfcStairTypeEnum.SPIRAL_STAIR +double_return_stair = IfcStairTypeEnum.DOUBLE_RETURN_STAIR +curved_run_stair = IfcStairTypeEnum.CURVED_RUN_STAIR +two_curved_run_stair = IfcStairTypeEnum.TWO_CURVED_RUN_STAIR +ladder = IfcStairTypeEnum.LADDER +userdefined = IfcStairTypeEnum.USERDEFINED +notdefined = IfcStairTypeEnum.NOTDEFINED IfcStateEnum = enum_namespace() -readwrite = express_getattr(IfcStateEnum, 'READWRITE', INDETERMINATE) -readonly = express_getattr(IfcStateEnum, 'READONLY', INDETERMINATE) -locked = express_getattr(IfcStateEnum, 'LOCKED', INDETERMINATE) -readwritelocked = express_getattr(IfcStateEnum, 'READWRITELOCKED', INDETERMINATE) -readonlylocked = express_getattr(IfcStateEnum, 'READONLYLOCKED', INDETERMINATE) +readwrite = IfcStateEnum.READWRITE +readonly = IfcStateEnum.READONLY +locked = IfcStateEnum.LOCKED +readwritelocked = IfcStateEnum.READWRITELOCKED +readonlylocked = IfcStateEnum.READONLYLOCKED IfcStructuralCurveActivityTypeEnum = enum_namespace() -const = express_getattr(IfcStructuralCurveActivityTypeEnum, 'CONST', INDETERMINATE) -linear = express_getattr(IfcStructuralCurveActivityTypeEnum, 'LINEAR', INDETERMINATE) -polygonal = express_getattr(IfcStructuralCurveActivityTypeEnum, 'POLYGONAL', INDETERMINATE) -equidistant = express_getattr(IfcStructuralCurveActivityTypeEnum, 'EQUIDISTANT', INDETERMINATE) -sinus = express_getattr(IfcStructuralCurveActivityTypeEnum, 'SINUS', INDETERMINATE) -parabola = express_getattr(IfcStructuralCurveActivityTypeEnum, 'PARABOLA', INDETERMINATE) -discrete = express_getattr(IfcStructuralCurveActivityTypeEnum, 'DISCRETE', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +const = IfcStructuralCurveActivityTypeEnum.CONST +linear = IfcStructuralCurveActivityTypeEnum.LINEAR +polygonal = IfcStructuralCurveActivityTypeEnum.POLYGONAL +equidistant = IfcStructuralCurveActivityTypeEnum.EQUIDISTANT +sinus = IfcStructuralCurveActivityTypeEnum.SINUS +parabola = IfcStructuralCurveActivityTypeEnum.PARABOLA +discrete = IfcStructuralCurveActivityTypeEnum.DISCRETE +userdefined = IfcStructuralCurveActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveActivityTypeEnum.NOTDEFINED IfcStructuralCurveMemberTypeEnum = enum_namespace() -rigid_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'RIGID_JOINED_MEMBER', INDETERMINATE) -pin_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'PIN_JOINED_MEMBER', INDETERMINATE) -cable = express_getattr(IfcStructuralCurveMemberTypeEnum, 'CABLE', INDETERMINATE) -tension_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'TENSION_MEMBER', INDETERMINATE) -compression_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'COMPRESSION_MEMBER', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +rigid_joined_member = IfcStructuralCurveMemberTypeEnum.RIGID_JOINED_MEMBER +pin_joined_member = IfcStructuralCurveMemberTypeEnum.PIN_JOINED_MEMBER +cable = IfcStructuralCurveMemberTypeEnum.CABLE +tension_member = IfcStructuralCurveMemberTypeEnum.TENSION_MEMBER +compression_member = IfcStructuralCurveMemberTypeEnum.COMPRESSION_MEMBER +userdefined = IfcStructuralCurveMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveMemberTypeEnum.NOTDEFINED IfcStructuralSurfaceActivityTypeEnum = enum_namespace() -const = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'CONST', INDETERMINATE) -bilinear = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'BILINEAR', INDETERMINATE) -discrete = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'DISCRETE', INDETERMINATE) -isocontour = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'ISOCONTOUR', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +const = IfcStructuralSurfaceActivityTypeEnum.CONST +bilinear = IfcStructuralSurfaceActivityTypeEnum.BILINEAR +discrete = IfcStructuralSurfaceActivityTypeEnum.DISCRETE +isocontour = IfcStructuralSurfaceActivityTypeEnum.ISOCONTOUR +userdefined = IfcStructuralSurfaceActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceActivityTypeEnum.NOTDEFINED IfcStructuralSurfaceMemberTypeEnum = enum_namespace() -bending_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'BENDING_ELEMENT', INDETERMINATE) -membrane_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'MEMBRANE_ELEMENT', INDETERMINATE) -shell = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'SHELL', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +bending_element = IfcStructuralSurfaceMemberTypeEnum.BENDING_ELEMENT +membrane_element = IfcStructuralSurfaceMemberTypeEnum.MEMBRANE_ELEMENT +shell = IfcStructuralSurfaceMemberTypeEnum.SHELL +userdefined = IfcStructuralSurfaceMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceMemberTypeEnum.NOTDEFINED IfcSubContractResourceTypeEnum = enum_namespace() -purchase = express_getattr(IfcSubContractResourceTypeEnum, 'PURCHASE', INDETERMINATE) -work = express_getattr(IfcSubContractResourceTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcSubContractResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSubContractResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +purchase = IfcSubContractResourceTypeEnum.PURCHASE +work = IfcSubContractResourceTypeEnum.WORK +userdefined = IfcSubContractResourceTypeEnum.USERDEFINED +notdefined = IfcSubContractResourceTypeEnum.NOTDEFINED IfcSurfaceFeatureTypeEnum = enum_namespace() -mark = express_getattr(IfcSurfaceFeatureTypeEnum, 'MARK', INDETERMINATE) -tag = express_getattr(IfcSurfaceFeatureTypeEnum, 'TAG', INDETERMINATE) -treatment = express_getattr(IfcSurfaceFeatureTypeEnum, 'TREATMENT', INDETERMINATE) -defect = express_getattr(IfcSurfaceFeatureTypeEnum, 'DEFECT', INDETERMINATE) -hatchmarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'HATCHMARKING', INDETERMINATE) -linemarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'LINEMARKING', INDETERMINATE) -pavementsurfacemarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'PAVEMENTSURFACEMARKING', INDETERMINATE) -symbolmarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'SYMBOLMARKING', INDETERMINATE) -nonskidsurfacing = express_getattr(IfcSurfaceFeatureTypeEnum, 'NONSKIDSURFACING', INDETERMINATE) -rumblestrip = express_getattr(IfcSurfaceFeatureTypeEnum, 'RUMBLESTRIP', INDETERMINATE) -transverserumblestrip = express_getattr(IfcSurfaceFeatureTypeEnum, 'TRANSVERSERUMBLESTRIP', INDETERMINATE) -userdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +mark = IfcSurfaceFeatureTypeEnum.MARK +tag = IfcSurfaceFeatureTypeEnum.TAG +treatment = IfcSurfaceFeatureTypeEnum.TREATMENT +defect = IfcSurfaceFeatureTypeEnum.DEFECT +hatchmarking = IfcSurfaceFeatureTypeEnum.HATCHMARKING +linemarking = IfcSurfaceFeatureTypeEnum.LINEMARKING +pavementsurfacemarking = IfcSurfaceFeatureTypeEnum.PAVEMENTSURFACEMARKING +symbolmarking = IfcSurfaceFeatureTypeEnum.SYMBOLMARKING +nonskidsurfacing = IfcSurfaceFeatureTypeEnum.NONSKIDSURFACING +rumblestrip = IfcSurfaceFeatureTypeEnum.RUMBLESTRIP +transverserumblestrip = IfcSurfaceFeatureTypeEnum.TRANSVERSERUMBLESTRIP +userdefined = IfcSurfaceFeatureTypeEnum.USERDEFINED +notdefined = IfcSurfaceFeatureTypeEnum.NOTDEFINED IfcSurfaceSide = enum_namespace() -positive = express_getattr(IfcSurfaceSide, 'POSITIVE', INDETERMINATE) -negative = express_getattr(IfcSurfaceSide, 'NEGATIVE', INDETERMINATE) -both = express_getattr(IfcSurfaceSide, 'BOTH', INDETERMINATE) +positive = IfcSurfaceSide.POSITIVE +negative = IfcSurfaceSide.NEGATIVE +both = IfcSurfaceSide.BOTH IfcSwitchingDeviceTypeEnum = enum_namespace() -contactor = express_getattr(IfcSwitchingDeviceTypeEnum, 'CONTACTOR', INDETERMINATE) -dimmerswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'DIMMERSWITCH', INDETERMINATE) -emergencystop = express_getattr(IfcSwitchingDeviceTypeEnum, 'EMERGENCYSTOP', INDETERMINATE) -keypad = express_getattr(IfcSwitchingDeviceTypeEnum, 'KEYPAD', INDETERMINATE) -momentaryswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'MOMENTARYSWITCH', INDETERMINATE) -selectorswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'SELECTORSWITCH', INDETERMINATE) -starter = express_getattr(IfcSwitchingDeviceTypeEnum, 'STARTER', INDETERMINATE) -switchdisconnector = express_getattr(IfcSwitchingDeviceTypeEnum, 'SWITCHDISCONNECTOR', INDETERMINATE) -toggleswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'TOGGLESWITCH', INDETERMINATE) -relay = express_getattr(IfcSwitchingDeviceTypeEnum, 'RELAY', INDETERMINATE) -start_and_stop_equipment = express_getattr(IfcSwitchingDeviceTypeEnum, 'START_AND_STOP_EQUIPMENT', INDETERMINATE) -userdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +contactor = IfcSwitchingDeviceTypeEnum.CONTACTOR +dimmerswitch = IfcSwitchingDeviceTypeEnum.DIMMERSWITCH +emergencystop = IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP +keypad = IfcSwitchingDeviceTypeEnum.KEYPAD +momentaryswitch = IfcSwitchingDeviceTypeEnum.MOMENTARYSWITCH +selectorswitch = IfcSwitchingDeviceTypeEnum.SELECTORSWITCH +starter = IfcSwitchingDeviceTypeEnum.STARTER +switchdisconnector = IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR +toggleswitch = IfcSwitchingDeviceTypeEnum.TOGGLESWITCH +relay = IfcSwitchingDeviceTypeEnum.RELAY +start_and_stop_equipment = IfcSwitchingDeviceTypeEnum.START_AND_STOP_EQUIPMENT +userdefined = IfcSwitchingDeviceTypeEnum.USERDEFINED +notdefined = IfcSwitchingDeviceTypeEnum.NOTDEFINED IfcSystemFurnitureElementTypeEnum = enum_namespace() -panel = express_getattr(IfcSystemFurnitureElementTypeEnum, 'PANEL', INDETERMINATE) -worksurface = express_getattr(IfcSystemFurnitureElementTypeEnum, 'WORKSURFACE', INDETERMINATE) -subrack = express_getattr(IfcSystemFurnitureElementTypeEnum, 'SUBRACK', INDETERMINATE) -userdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +panel = IfcSystemFurnitureElementTypeEnum.PANEL +worksurface = IfcSystemFurnitureElementTypeEnum.WORKSURFACE +subrack = IfcSystemFurnitureElementTypeEnum.SUBRACK +userdefined = IfcSystemFurnitureElementTypeEnum.USERDEFINED +notdefined = IfcSystemFurnitureElementTypeEnum.NOTDEFINED IfcTankTypeEnum = enum_namespace() -basin = express_getattr(IfcTankTypeEnum, 'BASIN', INDETERMINATE) -breakpressure = express_getattr(IfcTankTypeEnum, 'BREAKPRESSURE', INDETERMINATE) -expansion = express_getattr(IfcTankTypeEnum, 'EXPANSION', INDETERMINATE) -feedandexpansion = express_getattr(IfcTankTypeEnum, 'FEEDANDEXPANSION', INDETERMINATE) -pressurevessel = express_getattr(IfcTankTypeEnum, 'PRESSUREVESSEL', INDETERMINATE) -storage = express_getattr(IfcTankTypeEnum, 'STORAGE', INDETERMINATE) -vessel = express_getattr(IfcTankTypeEnum, 'VESSEL', INDETERMINATE) -oilretentiontray = express_getattr(IfcTankTypeEnum, 'OILRETENTIONTRAY', INDETERMINATE) -userdefined = express_getattr(IfcTankTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTankTypeEnum, 'NOTDEFINED', INDETERMINATE) +basin = IfcTankTypeEnum.BASIN +breakpressure = IfcTankTypeEnum.BREAKPRESSURE +expansion = IfcTankTypeEnum.EXPANSION +feedandexpansion = IfcTankTypeEnum.FEEDANDEXPANSION +pressurevessel = IfcTankTypeEnum.PRESSUREVESSEL +storage = IfcTankTypeEnum.STORAGE +vessel = IfcTankTypeEnum.VESSEL +oilretentiontray = IfcTankTypeEnum.OILRETENTIONTRAY +userdefined = IfcTankTypeEnum.USERDEFINED +notdefined = IfcTankTypeEnum.NOTDEFINED IfcTaskDurationEnum = enum_namespace() -elapsedtime = express_getattr(IfcTaskDurationEnum, 'ELAPSEDTIME', INDETERMINATE) -worktime = express_getattr(IfcTaskDurationEnum, 'WORKTIME', INDETERMINATE) -notdefined = express_getattr(IfcTaskDurationEnum, 'NOTDEFINED', INDETERMINATE) +elapsedtime = IfcTaskDurationEnum.ELAPSEDTIME +worktime = IfcTaskDurationEnum.WORKTIME +notdefined = IfcTaskDurationEnum.NOTDEFINED IfcTaskTypeEnum = enum_namespace() -attendance = express_getattr(IfcTaskTypeEnum, 'ATTENDANCE', INDETERMINATE) -construction = express_getattr(IfcTaskTypeEnum, 'CONSTRUCTION', INDETERMINATE) -demolition = express_getattr(IfcTaskTypeEnum, 'DEMOLITION', INDETERMINATE) -dismantle = express_getattr(IfcTaskTypeEnum, 'DISMANTLE', INDETERMINATE) -disposal = express_getattr(IfcTaskTypeEnum, 'DISPOSAL', INDETERMINATE) -installation = express_getattr(IfcTaskTypeEnum, 'INSTALLATION', INDETERMINATE) -logistic = express_getattr(IfcTaskTypeEnum, 'LOGISTIC', INDETERMINATE) -maintenance = express_getattr(IfcTaskTypeEnum, 'MAINTENANCE', INDETERMINATE) -move = express_getattr(IfcTaskTypeEnum, 'MOVE', INDETERMINATE) -operation = express_getattr(IfcTaskTypeEnum, 'OPERATION', INDETERMINATE) -removal = express_getattr(IfcTaskTypeEnum, 'REMOVAL', INDETERMINATE) -renovation = express_getattr(IfcTaskTypeEnum, 'RENOVATION', INDETERMINATE) -userdefined = express_getattr(IfcTaskTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTaskTypeEnum, 'NOTDEFINED', INDETERMINATE) +attendance = IfcTaskTypeEnum.ATTENDANCE +construction = IfcTaskTypeEnum.CONSTRUCTION +demolition = IfcTaskTypeEnum.DEMOLITION +dismantle = IfcTaskTypeEnum.DISMANTLE +disposal = IfcTaskTypeEnum.DISPOSAL +installation = IfcTaskTypeEnum.INSTALLATION +logistic = IfcTaskTypeEnum.LOGISTIC +maintenance = IfcTaskTypeEnum.MAINTENANCE +move = IfcTaskTypeEnum.MOVE +operation = IfcTaskTypeEnum.OPERATION +removal = IfcTaskTypeEnum.REMOVAL +renovation = IfcTaskTypeEnum.RENOVATION +userdefined = IfcTaskTypeEnum.USERDEFINED +notdefined = IfcTaskTypeEnum.NOTDEFINED IfcTendonAnchorTypeEnum = enum_namespace() -coupler = express_getattr(IfcTendonAnchorTypeEnum, 'COUPLER', INDETERMINATE) -fixed_end = express_getattr(IfcTendonAnchorTypeEnum, 'FIXED_END', INDETERMINATE) -tensioning_end = express_getattr(IfcTendonAnchorTypeEnum, 'TENSIONING_END', INDETERMINATE) -userdefined = express_getattr(IfcTendonAnchorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonAnchorTypeEnum, 'NOTDEFINED', INDETERMINATE) +coupler = IfcTendonAnchorTypeEnum.COUPLER +fixed_end = IfcTendonAnchorTypeEnum.FIXED_END +tensioning_end = IfcTendonAnchorTypeEnum.TENSIONING_END +userdefined = IfcTendonAnchorTypeEnum.USERDEFINED +notdefined = IfcTendonAnchorTypeEnum.NOTDEFINED IfcTendonConduitTypeEnum = enum_namespace() -duct = express_getattr(IfcTendonConduitTypeEnum, 'DUCT', INDETERMINATE) -coupler = express_getattr(IfcTendonConduitTypeEnum, 'COUPLER', INDETERMINATE) -grouting_duct = express_getattr(IfcTendonConduitTypeEnum, 'GROUTING_DUCT', INDETERMINATE) -trumpet = express_getattr(IfcTendonConduitTypeEnum, 'TRUMPET', INDETERMINATE) -diabolo = express_getattr(IfcTendonConduitTypeEnum, 'DIABOLO', INDETERMINATE) -userdefined = express_getattr(IfcTendonConduitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonConduitTypeEnum, 'NOTDEFINED', INDETERMINATE) +duct = IfcTendonConduitTypeEnum.DUCT +coupler = IfcTendonConduitTypeEnum.COUPLER +grouting_duct = IfcTendonConduitTypeEnum.GROUTING_DUCT +trumpet = IfcTendonConduitTypeEnum.TRUMPET +diabolo = IfcTendonConduitTypeEnum.DIABOLO +userdefined = IfcTendonConduitTypeEnum.USERDEFINED +notdefined = IfcTendonConduitTypeEnum.NOTDEFINED IfcTendonTypeEnum = enum_namespace() -bar = express_getattr(IfcTendonTypeEnum, 'BAR', INDETERMINATE) -coated = express_getattr(IfcTendonTypeEnum, 'COATED', INDETERMINATE) -strand = express_getattr(IfcTendonTypeEnum, 'STRAND', INDETERMINATE) -wire = express_getattr(IfcTendonTypeEnum, 'WIRE', INDETERMINATE) -userdefined = express_getattr(IfcTendonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonTypeEnum, 'NOTDEFINED', INDETERMINATE) +bar = IfcTendonTypeEnum.BAR +coated = IfcTendonTypeEnum.COATED +strand = IfcTendonTypeEnum.STRAND +wire = IfcTendonTypeEnum.WIRE +userdefined = IfcTendonTypeEnum.USERDEFINED +notdefined = IfcTendonTypeEnum.NOTDEFINED IfcTextPath = enum_namespace() -left = express_getattr(IfcTextPath, 'LEFT', INDETERMINATE) -right = express_getattr(IfcTextPath, 'RIGHT', INDETERMINATE) -up = express_getattr(IfcTextPath, 'UP', INDETERMINATE) -down = express_getattr(IfcTextPath, 'DOWN', INDETERMINATE) +left = IfcTextPath.LEFT +right = IfcTextPath.RIGHT +up = IfcTextPath.UP +down = IfcTextPath.DOWN IfcTimeSeriesDataTypeEnum = enum_namespace() -continuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'CONTINUOUS', INDETERMINATE) -discrete = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETE', INDETERMINATE) -discretebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETEBINARY', INDETERMINATE) -piecewisebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISEBINARY', INDETERMINATE) -piecewiseconstant = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONSTANT', INDETERMINATE) -piecewisecontinuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONTINUOUS', INDETERMINATE) -notdefined = express_getattr(IfcTimeSeriesDataTypeEnum, 'NOTDEFINED', INDETERMINATE) +continuous = IfcTimeSeriesDataTypeEnum.CONTINUOUS +discrete = IfcTimeSeriesDataTypeEnum.DISCRETE +discretebinary = IfcTimeSeriesDataTypeEnum.DISCRETEBINARY +piecewisebinary = IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY +piecewiseconstant = IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT +piecewisecontinuous = IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS +notdefined = IfcTimeSeriesDataTypeEnum.NOTDEFINED IfcTrackElementTypeEnum = enum_namespace() -trackendofalignment = express_getattr(IfcTrackElementTypeEnum, 'TRACKENDOFALIGNMENT', INDETERMINATE) -blockingdevice = express_getattr(IfcTrackElementTypeEnum, 'BLOCKINGDEVICE', INDETERMINATE) -vehiclestop = express_getattr(IfcTrackElementTypeEnum, 'VEHICLESTOP', INDETERMINATE) -sleeper = express_getattr(IfcTrackElementTypeEnum, 'SLEEPER', INDETERMINATE) -half_set_of_blades = express_getattr(IfcTrackElementTypeEnum, 'HALF_SET_OF_BLADES', INDETERMINATE) -speedregulator = express_getattr(IfcTrackElementTypeEnum, 'SPEEDREGULATOR', INDETERMINATE) -derailer = express_getattr(IfcTrackElementTypeEnum, 'DERAILER', INDETERMINATE) -frog = express_getattr(IfcTrackElementTypeEnum, 'FROG', INDETERMINATE) -userdefined = express_getattr(IfcTrackElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTrackElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +trackendofalignment = IfcTrackElementTypeEnum.TRACKENDOFALIGNMENT +blockingdevice = IfcTrackElementTypeEnum.BLOCKINGDEVICE +vehiclestop = IfcTrackElementTypeEnum.VEHICLESTOP +sleeper = IfcTrackElementTypeEnum.SLEEPER +half_set_of_blades = IfcTrackElementTypeEnum.HALF_SET_OF_BLADES +speedregulator = IfcTrackElementTypeEnum.SPEEDREGULATOR +derailer = IfcTrackElementTypeEnum.DERAILER +frog = IfcTrackElementTypeEnum.FROG +userdefined = IfcTrackElementTypeEnum.USERDEFINED +notdefined = IfcTrackElementTypeEnum.NOTDEFINED IfcTransformerTypeEnum = enum_namespace() -current = express_getattr(IfcTransformerTypeEnum, 'CURRENT', INDETERMINATE) -frequency = express_getattr(IfcTransformerTypeEnum, 'FREQUENCY', INDETERMINATE) -inverter = express_getattr(IfcTransformerTypeEnum, 'INVERTER', INDETERMINATE) -rectifier = express_getattr(IfcTransformerTypeEnum, 'RECTIFIER', INDETERMINATE) -voltage = express_getattr(IfcTransformerTypeEnum, 'VOLTAGE', INDETERMINATE) -chopper = express_getattr(IfcTransformerTypeEnum, 'CHOPPER', INDETERMINATE) -combined = express_getattr(IfcTransformerTypeEnum, 'COMBINED', INDETERMINATE) -userdefined = express_getattr(IfcTransformerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransformerTypeEnum, 'NOTDEFINED', INDETERMINATE) +current = IfcTransformerTypeEnum.CURRENT +frequency = IfcTransformerTypeEnum.FREQUENCY +inverter = IfcTransformerTypeEnum.INVERTER +rectifier = IfcTransformerTypeEnum.RECTIFIER +voltage = IfcTransformerTypeEnum.VOLTAGE +chopper = IfcTransformerTypeEnum.CHOPPER +combined = IfcTransformerTypeEnum.COMBINED +userdefined = IfcTransformerTypeEnum.USERDEFINED +notdefined = IfcTransformerTypeEnum.NOTDEFINED IfcTransitionCode = enum_namespace() -discontinuous = express_getattr(IfcTransitionCode, 'DISCONTINUOUS', INDETERMINATE) -continuous = express_getattr(IfcTransitionCode, 'CONTINUOUS', INDETERMINATE) -contsamegradient = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENT', INDETERMINATE) -contsamegradientsamecurvature = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENTSAMECURVATURE', INDETERMINATE) +discontinuous = IfcTransitionCode.DISCONTINUOUS +continuous = IfcTransitionCode.CONTINUOUS +contsamegradient = IfcTransitionCode.CONTSAMEGRADIENT +contsamegradientsamecurvature = IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE IfcTransitionCurveType = enum_namespace() -biquadraticparabola = express_getattr(IfcTransitionCurveType, 'BIQUADRATICPARABOLA', INDETERMINATE) -blosscurve = express_getattr(IfcTransitionCurveType, 'BLOSSCURVE', INDETERMINATE) -clothoidcurve = express_getattr(IfcTransitionCurveType, 'CLOTHOIDCURVE', INDETERMINATE) -cosinecurve = express_getattr(IfcTransitionCurveType, 'COSINECURVE', INDETERMINATE) -cubicparabola = express_getattr(IfcTransitionCurveType, 'CUBICPARABOLA', INDETERMINATE) -sinecurve = express_getattr(IfcTransitionCurveType, 'SINECURVE', INDETERMINATE) +biquadraticparabola = IfcTransitionCurveType.BIQUADRATICPARABOLA +blosscurve = IfcTransitionCurveType.BLOSSCURVE +clothoidcurve = IfcTransitionCurveType.CLOTHOIDCURVE +cosinecurve = IfcTransitionCurveType.COSINECURVE +cubicparabola = IfcTransitionCurveType.CUBICPARABOLA +sinecurve = IfcTransitionCurveType.SINECURVE IfcTransportElementFixedTypeEnum = enum_namespace() -elevator = express_getattr(IfcTransportElementFixedTypeEnum, 'ELEVATOR', INDETERMINATE) -escalator = express_getattr(IfcTransportElementFixedTypeEnum, 'ESCALATOR', INDETERMINATE) -movingwalkway = express_getattr(IfcTransportElementFixedTypeEnum, 'MOVINGWALKWAY', INDETERMINATE) -craneway = express_getattr(IfcTransportElementFixedTypeEnum, 'CRANEWAY', INDETERMINATE) -liftinggear = express_getattr(IfcTransportElementFixedTypeEnum, 'LIFTINGGEAR', INDETERMINATE) -userdefined = express_getattr(IfcTransportElementFixedTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransportElementFixedTypeEnum, 'NOTDEFINED', INDETERMINATE) +elevator = IfcTransportElementFixedTypeEnum.ELEVATOR +escalator = IfcTransportElementFixedTypeEnum.ESCALATOR +movingwalkway = IfcTransportElementFixedTypeEnum.MOVINGWALKWAY +craneway = IfcTransportElementFixedTypeEnum.CRANEWAY +liftinggear = IfcTransportElementFixedTypeEnum.LIFTINGGEAR +userdefined = IfcTransportElementFixedTypeEnum.USERDEFINED +notdefined = IfcTransportElementFixedTypeEnum.NOTDEFINED IfcTransportElementNonFixedTypeEnum = enum_namespace() -vehicle = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLE', INDETERMINATE) -vehicletracked = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLETRACKED', INDETERMINATE) -rollingstock = express_getattr(IfcTransportElementNonFixedTypeEnum, 'ROLLINGSTOCK', INDETERMINATE) -vehiclewheeled = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLEWHEELED', INDETERMINATE) -vehicleair = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLEAIR', INDETERMINATE) -cargo = express_getattr(IfcTransportElementNonFixedTypeEnum, 'CARGO', INDETERMINATE) -vehiclemarine = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLEMARINE', INDETERMINATE) -userdefined = express_getattr(IfcTransportElementNonFixedTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransportElementNonFixedTypeEnum, 'NOTDEFINED', INDETERMINATE) +vehicle = IfcTransportElementNonFixedTypeEnum.VEHICLE +vehicletracked = IfcTransportElementNonFixedTypeEnum.VEHICLETRACKED +rollingstock = IfcTransportElementNonFixedTypeEnum.ROLLINGSTOCK +vehiclewheeled = IfcTransportElementNonFixedTypeEnum.VEHICLEWHEELED +vehicleair = IfcTransportElementNonFixedTypeEnum.VEHICLEAIR +cargo = IfcTransportElementNonFixedTypeEnum.CARGO +vehiclemarine = IfcTransportElementNonFixedTypeEnum.VEHICLEMARINE +userdefined = IfcTransportElementNonFixedTypeEnum.USERDEFINED +notdefined = IfcTransportElementNonFixedTypeEnum.NOTDEFINED IfcTrimmingPreference = enum_namespace() -cartesian = express_getattr(IfcTrimmingPreference, 'CARTESIAN', INDETERMINATE) -parameter = express_getattr(IfcTrimmingPreference, 'PARAMETER', INDETERMINATE) -unspecified = express_getattr(IfcTrimmingPreference, 'UNSPECIFIED', INDETERMINATE) +cartesian = IfcTrimmingPreference.CARTESIAN +parameter = IfcTrimmingPreference.PARAMETER +unspecified = IfcTrimmingPreference.UNSPECIFIED IfcTubeBundleTypeEnum = enum_namespace() -finned = express_getattr(IfcTubeBundleTypeEnum, 'FINNED', INDETERMINATE) -userdefined = express_getattr(IfcTubeBundleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTubeBundleTypeEnum, 'NOTDEFINED', INDETERMINATE) +finned = IfcTubeBundleTypeEnum.FINNED +userdefined = IfcTubeBundleTypeEnum.USERDEFINED +notdefined = IfcTubeBundleTypeEnum.NOTDEFINED IfcUnitEnum = enum_namespace() -absorbeddoseunit = express_getattr(IfcUnitEnum, 'ABSORBEDDOSEUNIT', INDETERMINATE) -amountofsubstanceunit = express_getattr(IfcUnitEnum, 'AMOUNTOFSUBSTANCEUNIT', INDETERMINATE) -areaunit = express_getattr(IfcUnitEnum, 'AREAUNIT', INDETERMINATE) -doseequivalentunit = express_getattr(IfcUnitEnum, 'DOSEEQUIVALENTUNIT', INDETERMINATE) -electriccapacitanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCAPACITANCEUNIT', INDETERMINATE) -electricchargeunit = express_getattr(IfcUnitEnum, 'ELECTRICCHARGEUNIT', INDETERMINATE) -electricconductanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCONDUCTANCEUNIT', INDETERMINATE) -electriccurrentunit = express_getattr(IfcUnitEnum, 'ELECTRICCURRENTUNIT', INDETERMINATE) -electricresistanceunit = express_getattr(IfcUnitEnum, 'ELECTRICRESISTANCEUNIT', INDETERMINATE) -electricvoltageunit = express_getattr(IfcUnitEnum, 'ELECTRICVOLTAGEUNIT', INDETERMINATE) -energyunit = express_getattr(IfcUnitEnum, 'ENERGYUNIT', INDETERMINATE) -forceunit = express_getattr(IfcUnitEnum, 'FORCEUNIT', INDETERMINATE) -frequencyunit = express_getattr(IfcUnitEnum, 'FREQUENCYUNIT', INDETERMINATE) -illuminanceunit = express_getattr(IfcUnitEnum, 'ILLUMINANCEUNIT', INDETERMINATE) -inductanceunit = express_getattr(IfcUnitEnum, 'INDUCTANCEUNIT', INDETERMINATE) -lengthunit = express_getattr(IfcUnitEnum, 'LENGTHUNIT', INDETERMINATE) -luminousfluxunit = express_getattr(IfcUnitEnum, 'LUMINOUSFLUXUNIT', INDETERMINATE) -luminousintensityunit = express_getattr(IfcUnitEnum, 'LUMINOUSINTENSITYUNIT', INDETERMINATE) -magneticfluxdensityunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXDENSITYUNIT', INDETERMINATE) -magneticfluxunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXUNIT', INDETERMINATE) -massunit = express_getattr(IfcUnitEnum, 'MASSUNIT', INDETERMINATE) -planeangleunit = express_getattr(IfcUnitEnum, 'PLANEANGLEUNIT', INDETERMINATE) -powerunit = express_getattr(IfcUnitEnum, 'POWERUNIT', INDETERMINATE) -pressureunit = express_getattr(IfcUnitEnum, 'PRESSUREUNIT', INDETERMINATE) -radioactivityunit = express_getattr(IfcUnitEnum, 'RADIOACTIVITYUNIT', INDETERMINATE) -solidangleunit = express_getattr(IfcUnitEnum, 'SOLIDANGLEUNIT', INDETERMINATE) -thermodynamictemperatureunit = express_getattr(IfcUnitEnum, 'THERMODYNAMICTEMPERATUREUNIT', INDETERMINATE) -timeunit = express_getattr(IfcUnitEnum, 'TIMEUNIT', INDETERMINATE) -volumeunit = express_getattr(IfcUnitEnum, 'VOLUMEUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitEnum, 'USERDEFINED', INDETERMINATE) +absorbeddoseunit = IfcUnitEnum.ABSORBEDDOSEUNIT +amountofsubstanceunit = IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT +areaunit = IfcUnitEnum.AREAUNIT +doseequivalentunit = IfcUnitEnum.DOSEEQUIVALENTUNIT +electriccapacitanceunit = IfcUnitEnum.ELECTRICCAPACITANCEUNIT +electricchargeunit = IfcUnitEnum.ELECTRICCHARGEUNIT +electricconductanceunit = IfcUnitEnum.ELECTRICCONDUCTANCEUNIT +electriccurrentunit = IfcUnitEnum.ELECTRICCURRENTUNIT +electricresistanceunit = IfcUnitEnum.ELECTRICRESISTANCEUNIT +electricvoltageunit = IfcUnitEnum.ELECTRICVOLTAGEUNIT +energyunit = IfcUnitEnum.ENERGYUNIT +forceunit = IfcUnitEnum.FORCEUNIT +frequencyunit = IfcUnitEnum.FREQUENCYUNIT +illuminanceunit = IfcUnitEnum.ILLUMINANCEUNIT +inductanceunit = IfcUnitEnum.INDUCTANCEUNIT +lengthunit = IfcUnitEnum.LENGTHUNIT +luminousfluxunit = IfcUnitEnum.LUMINOUSFLUXUNIT +luminousintensityunit = IfcUnitEnum.LUMINOUSINTENSITYUNIT +magneticfluxdensityunit = IfcUnitEnum.MAGNETICFLUXDENSITYUNIT +magneticfluxunit = IfcUnitEnum.MAGNETICFLUXUNIT +massunit = IfcUnitEnum.MASSUNIT +planeangleunit = IfcUnitEnum.PLANEANGLEUNIT +powerunit = IfcUnitEnum.POWERUNIT +pressureunit = IfcUnitEnum.PRESSUREUNIT +radioactivityunit = IfcUnitEnum.RADIOACTIVITYUNIT +solidangleunit = IfcUnitEnum.SOLIDANGLEUNIT +thermodynamictemperatureunit = IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT +timeunit = IfcUnitEnum.TIMEUNIT +volumeunit = IfcUnitEnum.VOLUMEUNIT +userdefined = IfcUnitEnum.USERDEFINED IfcUnitaryControlElementTypeEnum = enum_namespace() -alarmpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'ALARMPANEL', INDETERMINATE) -controlpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'CONTROLPANEL', INDETERMINATE) -gasdetectionpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'GASDETECTIONPANEL', INDETERMINATE) -indicatorpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'INDICATORPANEL', INDETERMINATE) -mimicpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'MIMICPANEL', INDETERMINATE) -humidistat = express_getattr(IfcUnitaryControlElementTypeEnum, 'HUMIDISTAT', INDETERMINATE) -thermostat = express_getattr(IfcUnitaryControlElementTypeEnum, 'THERMOSTAT', INDETERMINATE) -weatherstation = express_getattr(IfcUnitaryControlElementTypeEnum, 'WEATHERSTATION', INDETERMINATE) -combined = express_getattr(IfcUnitaryControlElementTypeEnum, 'COMBINED', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +alarmpanel = IfcUnitaryControlElementTypeEnum.ALARMPANEL +controlpanel = IfcUnitaryControlElementTypeEnum.CONTROLPANEL +gasdetectionpanel = IfcUnitaryControlElementTypeEnum.GASDETECTIONPANEL +indicatorpanel = IfcUnitaryControlElementTypeEnum.INDICATORPANEL +mimicpanel = IfcUnitaryControlElementTypeEnum.MIMICPANEL +humidistat = IfcUnitaryControlElementTypeEnum.HUMIDISTAT +thermostat = IfcUnitaryControlElementTypeEnum.THERMOSTAT +weatherstation = IfcUnitaryControlElementTypeEnum.WEATHERSTATION +combined = IfcUnitaryControlElementTypeEnum.COMBINED +userdefined = IfcUnitaryControlElementTypeEnum.USERDEFINED +notdefined = IfcUnitaryControlElementTypeEnum.NOTDEFINED IfcUnitaryEquipmentTypeEnum = enum_namespace() -airhandler = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRHANDLER', INDETERMINATE) -airconditioningunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRCONDITIONINGUNIT', INDETERMINATE) -dehumidifier = express_getattr(IfcUnitaryEquipmentTypeEnum, 'DEHUMIDIFIER', INDETERMINATE) -splitsystem = express_getattr(IfcUnitaryEquipmentTypeEnum, 'SPLITSYSTEM', INDETERMINATE) -rooftopunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'ROOFTOPUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +airhandler = IfcUnitaryEquipmentTypeEnum.AIRHANDLER +airconditioningunit = IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT +dehumidifier = IfcUnitaryEquipmentTypeEnum.DEHUMIDIFIER +splitsystem = IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM +rooftopunit = IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT +userdefined = IfcUnitaryEquipmentTypeEnum.USERDEFINED +notdefined = IfcUnitaryEquipmentTypeEnum.NOTDEFINED IfcValveTypeEnum = enum_namespace() -airrelease = express_getattr(IfcValveTypeEnum, 'AIRRELEASE', INDETERMINATE) -antivacuum = express_getattr(IfcValveTypeEnum, 'ANTIVACUUM', INDETERMINATE) -changeover = express_getattr(IfcValveTypeEnum, 'CHANGEOVER', INDETERMINATE) -check = express_getattr(IfcValveTypeEnum, 'CHECK', INDETERMINATE) -commissioning = express_getattr(IfcValveTypeEnum, 'COMMISSIONING', INDETERMINATE) -diverting = express_getattr(IfcValveTypeEnum, 'DIVERTING', INDETERMINATE) -drawoffcock = express_getattr(IfcValveTypeEnum, 'DRAWOFFCOCK', INDETERMINATE) -doublecheck = express_getattr(IfcValveTypeEnum, 'DOUBLECHECK', INDETERMINATE) -doubleregulating = express_getattr(IfcValveTypeEnum, 'DOUBLEREGULATING', INDETERMINATE) -faucet = express_getattr(IfcValveTypeEnum, 'FAUCET', INDETERMINATE) -flushing = express_getattr(IfcValveTypeEnum, 'FLUSHING', INDETERMINATE) -gascock = express_getattr(IfcValveTypeEnum, 'GASCOCK', INDETERMINATE) -gastap = express_getattr(IfcValveTypeEnum, 'GASTAP', INDETERMINATE) -isolating = express_getattr(IfcValveTypeEnum, 'ISOLATING', INDETERMINATE) -mixing = express_getattr(IfcValveTypeEnum, 'MIXING', INDETERMINATE) -pressurereducing = express_getattr(IfcValveTypeEnum, 'PRESSUREREDUCING', INDETERMINATE) -pressurerelief = express_getattr(IfcValveTypeEnum, 'PRESSURERELIEF', INDETERMINATE) -regulating = express_getattr(IfcValveTypeEnum, 'REGULATING', INDETERMINATE) -safetycutoff = express_getattr(IfcValveTypeEnum, 'SAFETYCUTOFF', INDETERMINATE) -steamtrap = express_getattr(IfcValveTypeEnum, 'STEAMTRAP', INDETERMINATE) -stopcock = express_getattr(IfcValveTypeEnum, 'STOPCOCK', INDETERMINATE) -userdefined = express_getattr(IfcValveTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcValveTypeEnum, 'NOTDEFINED', INDETERMINATE) +airrelease = IfcValveTypeEnum.AIRRELEASE +antivacuum = IfcValveTypeEnum.ANTIVACUUM +changeover = IfcValveTypeEnum.CHANGEOVER +check = IfcValveTypeEnum.CHECK +commissioning = IfcValveTypeEnum.COMMISSIONING +diverting = IfcValveTypeEnum.DIVERTING +drawoffcock = IfcValveTypeEnum.DRAWOFFCOCK +doublecheck = IfcValveTypeEnum.DOUBLECHECK +doubleregulating = IfcValveTypeEnum.DOUBLEREGULATING +faucet = IfcValveTypeEnum.FAUCET +flushing = IfcValveTypeEnum.FLUSHING +gascock = IfcValveTypeEnum.GASCOCK +gastap = IfcValveTypeEnum.GASTAP +isolating = IfcValveTypeEnum.ISOLATING +mixing = IfcValveTypeEnum.MIXING +pressurereducing = IfcValveTypeEnum.PRESSUREREDUCING +pressurerelief = IfcValveTypeEnum.PRESSURERELIEF +regulating = IfcValveTypeEnum.REGULATING +safetycutoff = IfcValveTypeEnum.SAFETYCUTOFF +steamtrap = IfcValveTypeEnum.STEAMTRAP +stopcock = IfcValveTypeEnum.STOPCOCK +userdefined = IfcValveTypeEnum.USERDEFINED +notdefined = IfcValveTypeEnum.NOTDEFINED IfcVibrationDamperTypeEnum = enum_namespace() -bending_yield = express_getattr(IfcVibrationDamperTypeEnum, 'BENDING_YIELD', INDETERMINATE) -shear_yield = express_getattr(IfcVibrationDamperTypeEnum, 'SHEAR_YIELD', INDETERMINATE) -axial_yield = express_getattr(IfcVibrationDamperTypeEnum, 'AXIAL_YIELD', INDETERMINATE) -friction = express_getattr(IfcVibrationDamperTypeEnum, 'FRICTION', INDETERMINATE) -viscous = express_getattr(IfcVibrationDamperTypeEnum, 'VISCOUS', INDETERMINATE) -rubber = express_getattr(IfcVibrationDamperTypeEnum, 'RUBBER', INDETERMINATE) -userdefined = express_getattr(IfcVibrationDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +bending_yield = IfcVibrationDamperTypeEnum.BENDING_YIELD +shear_yield = IfcVibrationDamperTypeEnum.SHEAR_YIELD +axial_yield = IfcVibrationDamperTypeEnum.AXIAL_YIELD +friction = IfcVibrationDamperTypeEnum.FRICTION +viscous = IfcVibrationDamperTypeEnum.VISCOUS +rubber = IfcVibrationDamperTypeEnum.RUBBER +userdefined = IfcVibrationDamperTypeEnum.USERDEFINED +notdefined = IfcVibrationDamperTypeEnum.NOTDEFINED IfcVibrationIsolatorTypeEnum = enum_namespace() -compression = express_getattr(IfcVibrationIsolatorTypeEnum, 'COMPRESSION', INDETERMINATE) -spring = express_getattr(IfcVibrationIsolatorTypeEnum, 'SPRING', INDETERMINATE) -base = express_getattr(IfcVibrationIsolatorTypeEnum, 'BASE', INDETERMINATE) -userdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +compression = IfcVibrationIsolatorTypeEnum.COMPRESSION +spring = IfcVibrationIsolatorTypeEnum.SPRING +base = IfcVibrationIsolatorTypeEnum.BASE +userdefined = IfcVibrationIsolatorTypeEnum.USERDEFINED +notdefined = IfcVibrationIsolatorTypeEnum.NOTDEFINED IfcVoidingFeatureTypeEnum = enum_namespace() -cutout = express_getattr(IfcVoidingFeatureTypeEnum, 'CUTOUT', INDETERMINATE) -notch = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTCH', INDETERMINATE) -hole = express_getattr(IfcVoidingFeatureTypeEnum, 'HOLE', INDETERMINATE) -miter = express_getattr(IfcVoidingFeatureTypeEnum, 'MITER', INDETERMINATE) -chamfer = express_getattr(IfcVoidingFeatureTypeEnum, 'CHAMFER', INDETERMINATE) -edge = express_getattr(IfcVoidingFeatureTypeEnum, 'EDGE', INDETERMINATE) -userdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +cutout = IfcVoidingFeatureTypeEnum.CUTOUT +notch = IfcVoidingFeatureTypeEnum.NOTCH +hole = IfcVoidingFeatureTypeEnum.HOLE +miter = IfcVoidingFeatureTypeEnum.MITER +chamfer = IfcVoidingFeatureTypeEnum.CHAMFER +edge = IfcVoidingFeatureTypeEnum.EDGE +userdefined = IfcVoidingFeatureTypeEnum.USERDEFINED +notdefined = IfcVoidingFeatureTypeEnum.NOTDEFINED IfcWallTypeEnum = enum_namespace() -movable = express_getattr(IfcWallTypeEnum, 'MOVABLE', INDETERMINATE) -parapet = express_getattr(IfcWallTypeEnum, 'PARAPET', INDETERMINATE) -partitioning = express_getattr(IfcWallTypeEnum, 'PARTITIONING', INDETERMINATE) -plumbingwall = express_getattr(IfcWallTypeEnum, 'PLUMBINGWALL', INDETERMINATE) -shear = express_getattr(IfcWallTypeEnum, 'SHEAR', INDETERMINATE) -solidwall = express_getattr(IfcWallTypeEnum, 'SOLIDWALL', INDETERMINATE) -standard = express_getattr(IfcWallTypeEnum, 'STANDARD', INDETERMINATE) -polygonal = express_getattr(IfcWallTypeEnum, 'POLYGONAL', INDETERMINATE) -elementedwall = express_getattr(IfcWallTypeEnum, 'ELEMENTEDWALL', INDETERMINATE) -retainingwall = express_getattr(IfcWallTypeEnum, 'RETAININGWALL', INDETERMINATE) -wavewall = express_getattr(IfcWallTypeEnum, 'WAVEWALL', INDETERMINATE) -userdefined = express_getattr(IfcWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +movable = IfcWallTypeEnum.MOVABLE +parapet = IfcWallTypeEnum.PARAPET +partitioning = IfcWallTypeEnum.PARTITIONING +plumbingwall = IfcWallTypeEnum.PLUMBINGWALL +shear = IfcWallTypeEnum.SHEAR +solidwall = IfcWallTypeEnum.SOLIDWALL +standard = IfcWallTypeEnum.STANDARD +polygonal = IfcWallTypeEnum.POLYGONAL +elementedwall = IfcWallTypeEnum.ELEMENTEDWALL +retainingwall = IfcWallTypeEnum.RETAININGWALL +wavewall = IfcWallTypeEnum.WAVEWALL +userdefined = IfcWallTypeEnum.USERDEFINED +notdefined = IfcWallTypeEnum.NOTDEFINED IfcWasteTerminalTypeEnum = enum_namespace() -floortrap = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORTRAP', INDETERMINATE) -floorwaste = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORWASTE', INDETERMINATE) -gullysump = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYSUMP', INDETERMINATE) -gullytrap = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYTRAP', INDETERMINATE) -roofdrain = express_getattr(IfcWasteTerminalTypeEnum, 'ROOFDRAIN', INDETERMINATE) -wastedisposalunit = express_getattr(IfcWasteTerminalTypeEnum, 'WASTEDISPOSALUNIT', INDETERMINATE) -wastetrap = express_getattr(IfcWasteTerminalTypeEnum, 'WASTETRAP', INDETERMINATE) -userdefined = express_getattr(IfcWasteTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWasteTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +floortrap = IfcWasteTerminalTypeEnum.FLOORTRAP +floorwaste = IfcWasteTerminalTypeEnum.FLOORWASTE +gullysump = IfcWasteTerminalTypeEnum.GULLYSUMP +gullytrap = IfcWasteTerminalTypeEnum.GULLYTRAP +roofdrain = IfcWasteTerminalTypeEnum.ROOFDRAIN +wastedisposalunit = IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT +wastetrap = IfcWasteTerminalTypeEnum.WASTETRAP +userdefined = IfcWasteTerminalTypeEnum.USERDEFINED +notdefined = IfcWasteTerminalTypeEnum.NOTDEFINED IfcWindowPanelOperationEnum = enum_namespace() -sidehungrighthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGRIGHTHAND', INDETERMINATE) -sidehunglefthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGLEFTHAND', INDETERMINATE) -tiltandturnrighthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNRIGHTHAND', INDETERMINATE) -tiltandturnlefthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNLEFTHAND', INDETERMINATE) -tophung = express_getattr(IfcWindowPanelOperationEnum, 'TOPHUNG', INDETERMINATE) -bottomhung = express_getattr(IfcWindowPanelOperationEnum, 'BOTTOMHUNG', INDETERMINATE) -pivothorizontal = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTHORIZONTAL', INDETERMINATE) -pivotvertical = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTVERTICAL', INDETERMINATE) -slidinghorizontal = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGHORIZONTAL', INDETERMINATE) -slidingvertical = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGVERTICAL', INDETERMINATE) -removablecasement = express_getattr(IfcWindowPanelOperationEnum, 'REMOVABLECASEMENT', INDETERMINATE) -fixedcasement = express_getattr(IfcWindowPanelOperationEnum, 'FIXEDCASEMENT', INDETERMINATE) -otheroperation = express_getattr(IfcWindowPanelOperationEnum, 'OTHEROPERATION', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +sidehungrighthand = IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND +sidehunglefthand = IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND +tiltandturnrighthand = IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND +tiltandturnlefthand = IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND +tophung = IfcWindowPanelOperationEnum.TOPHUNG +bottomhung = IfcWindowPanelOperationEnum.BOTTOMHUNG +pivothorizontal = IfcWindowPanelOperationEnum.PIVOTHORIZONTAL +pivotvertical = IfcWindowPanelOperationEnum.PIVOTVERTICAL +slidinghorizontal = IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL +slidingvertical = IfcWindowPanelOperationEnum.SLIDINGVERTICAL +removablecasement = IfcWindowPanelOperationEnum.REMOVABLECASEMENT +fixedcasement = IfcWindowPanelOperationEnum.FIXEDCASEMENT +otheroperation = IfcWindowPanelOperationEnum.OTHEROPERATION +notdefined = IfcWindowPanelOperationEnum.NOTDEFINED IfcWindowPanelPositionEnum = enum_namespace() -left = express_getattr(IfcWindowPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcWindowPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcWindowPanelPositionEnum, 'RIGHT', INDETERMINATE) -bottom = express_getattr(IfcWindowPanelPositionEnum, 'BOTTOM', INDETERMINATE) -top = express_getattr(IfcWindowPanelPositionEnum, 'TOP', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcWindowPanelPositionEnum.LEFT +middle = IfcWindowPanelPositionEnum.MIDDLE +right = IfcWindowPanelPositionEnum.RIGHT +bottom = IfcWindowPanelPositionEnum.BOTTOM +top = IfcWindowPanelPositionEnum.TOP +notdefined = IfcWindowPanelPositionEnum.NOTDEFINED IfcWindowStyleConstructionEnum = enum_namespace() -aluminium = express_getattr(IfcWindowStyleConstructionEnum, 'ALUMINIUM', INDETERMINATE) -high_grade_steel = express_getattr(IfcWindowStyleConstructionEnum, 'HIGH_GRADE_STEEL', INDETERMINATE) -steel = express_getattr(IfcWindowStyleConstructionEnum, 'STEEL', INDETERMINATE) -wood = express_getattr(IfcWindowStyleConstructionEnum, 'WOOD', INDETERMINATE) -aluminium_wood = express_getattr(IfcWindowStyleConstructionEnum, 'ALUMINIUM_WOOD', INDETERMINATE) -plastic = express_getattr(IfcWindowStyleConstructionEnum, 'PLASTIC', INDETERMINATE) -other_construction = express_getattr(IfcWindowStyleConstructionEnum, 'OTHER_CONSTRUCTION', INDETERMINATE) -notdefined = express_getattr(IfcWindowStyleConstructionEnum, 'NOTDEFINED', INDETERMINATE) +aluminium = IfcWindowStyleConstructionEnum.ALUMINIUM +high_grade_steel = IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL +steel = IfcWindowStyleConstructionEnum.STEEL +wood = IfcWindowStyleConstructionEnum.WOOD +aluminium_wood = IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD +plastic = IfcWindowStyleConstructionEnum.PLASTIC +other_construction = IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION +notdefined = IfcWindowStyleConstructionEnum.NOTDEFINED IfcWindowStyleOperationEnum = enum_namespace() -single_panel = express_getattr(IfcWindowStyleOperationEnum, 'SINGLE_PANEL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowStyleOperationEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -double_panel_horizontal = express_getattr(IfcWindowStyleOperationEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowStyleOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowStyleOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_panel = IfcWindowStyleOperationEnum.SINGLE_PANEL +double_panel_vertical = IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL +double_panel_horizontal = IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL +triple_panel_vertical = IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL +triple_panel_bottom = IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM +triple_panel_top = IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP +triple_panel_left = IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT +triple_panel_horizontal = IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL +userdefined = IfcWindowStyleOperationEnum.USERDEFINED +notdefined = IfcWindowStyleOperationEnum.NOTDEFINED IfcWindowTypeEnum = enum_namespace() -window = express_getattr(IfcWindowTypeEnum, 'WINDOW', INDETERMINATE) -skylight = express_getattr(IfcWindowTypeEnum, 'SKYLIGHT', INDETERMINATE) -lightdome = express_getattr(IfcWindowTypeEnum, 'LIGHTDOME', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypeEnum, 'NOTDEFINED', INDETERMINATE) +window = IfcWindowTypeEnum.WINDOW +skylight = IfcWindowTypeEnum.SKYLIGHT +lightdome = IfcWindowTypeEnum.LIGHTDOME +userdefined = IfcWindowTypeEnum.USERDEFINED +notdefined = IfcWindowTypeEnum.NOTDEFINED IfcWindowTypePartitioningEnum = enum_namespace() -single_panel = express_getattr(IfcWindowTypePartitioningEnum, 'SINGLE_PANEL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -double_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypePartitioningEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypePartitioningEnum, 'NOTDEFINED', INDETERMINATE) +single_panel = IfcWindowTypePartitioningEnum.SINGLE_PANEL +double_panel_vertical = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_VERTICAL +double_panel_horizontal = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_HORIZONTAL +triple_panel_vertical = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_VERTICAL +triple_panel_bottom = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_BOTTOM +triple_panel_top = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_TOP +triple_panel_left = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_RIGHT +triple_panel_horizontal = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_HORIZONTAL +userdefined = IfcWindowTypePartitioningEnum.USERDEFINED +notdefined = IfcWindowTypePartitioningEnum.NOTDEFINED IfcWorkCalendarTypeEnum = enum_namespace() -firstshift = express_getattr(IfcWorkCalendarTypeEnum, 'FIRSTSHIFT', INDETERMINATE) -secondshift = express_getattr(IfcWorkCalendarTypeEnum, 'SECONDSHIFT', INDETERMINATE) -thirdshift = express_getattr(IfcWorkCalendarTypeEnum, 'THIRDSHIFT', INDETERMINATE) -userdefined = express_getattr(IfcWorkCalendarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkCalendarTypeEnum, 'NOTDEFINED', INDETERMINATE) +firstshift = IfcWorkCalendarTypeEnum.FIRSTSHIFT +secondshift = IfcWorkCalendarTypeEnum.SECONDSHIFT +thirdshift = IfcWorkCalendarTypeEnum.THIRDSHIFT +userdefined = IfcWorkCalendarTypeEnum.USERDEFINED +notdefined = IfcWorkCalendarTypeEnum.NOTDEFINED IfcWorkPlanTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkPlanTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkPlanTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkPlanTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkPlanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkPlanTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkPlanTypeEnum.ACTUAL +baseline = IfcWorkPlanTypeEnum.BASELINE +planned = IfcWorkPlanTypeEnum.PLANNED +userdefined = IfcWorkPlanTypeEnum.USERDEFINED +notdefined = IfcWorkPlanTypeEnum.NOTDEFINED IfcWorkScheduleTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkScheduleTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkScheduleTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkScheduleTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkScheduleTypeEnum.ACTUAL +baseline = IfcWorkScheduleTypeEnum.BASELINE +planned = IfcWorkScheduleTypeEnum.PLANNED +userdefined = IfcWorkScheduleTypeEnum.USERDEFINED +notdefined = IfcWorkScheduleTypeEnum.NOTDEFINED def IfcActionRequest(*args, **kwargs): return ifcopenshell.create_entity('IfcActionRequest', 'IFC4X3_RC2', *args, **kwargs) diff --git a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_RC3.py b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_RC3.py index 02c8a5a37d..38e4f8b448 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_RC3.py +++ b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_RC3.py @@ -1,5 +1,8 @@ import ifcopenshell +def is_indeterminate(v): + return v is None or type(v).__name__ == 'indeterminate_type' + def exists(v): if callable(v): try: @@ -7,10 +10,10 @@ def exists(v): except IndexError as e: return False else: - return v is not None + return not is_indeterminate(v) def nvl(v, default): - return v if v is not None else default + return v if not is_indeterminate(v) else default def is_entity(inst): if isinstance(inst, ifcopenshell.entity_instance): @@ -22,13 +25,13 @@ def is_entity(inst): def express_len(v): if isinstance(v, ifcopenshell.entity_instance) and (not is_entity(v)): v = v[0] - elif v is None or v is INDETERMINATE: + elif is_indeterminate(v): return INDETERMINATE return len(v) old_range = range def range(*args): - if INDETERMINATE in args: + if any(map(is_indeterminate, args)): return yield from old_range(*args) sizeof = express_len @@ -149,2373 +152,2373 @@ class enum_namespace: def __getattr__(self, k): return express_getattr(k, 'upper', INDETERMINATE)() IfcActionRequestTypeEnum = enum_namespace() -email = express_getattr(IfcActionRequestTypeEnum, 'EMAIL', INDETERMINATE) -fax = express_getattr(IfcActionRequestTypeEnum, 'FAX', INDETERMINATE) -phone = express_getattr(IfcActionRequestTypeEnum, 'PHONE', INDETERMINATE) -post = express_getattr(IfcActionRequestTypeEnum, 'POST', INDETERMINATE) -verbal = express_getattr(IfcActionRequestTypeEnum, 'VERBAL', INDETERMINATE) -userdefined = express_getattr(IfcActionRequestTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionRequestTypeEnum, 'NOTDEFINED', INDETERMINATE) +email = IfcActionRequestTypeEnum.EMAIL +fax = IfcActionRequestTypeEnum.FAX +phone = IfcActionRequestTypeEnum.PHONE +post = IfcActionRequestTypeEnum.POST +verbal = IfcActionRequestTypeEnum.VERBAL +userdefined = IfcActionRequestTypeEnum.USERDEFINED +notdefined = IfcActionRequestTypeEnum.NOTDEFINED IfcActionSourceTypeEnum = enum_namespace() -dead_load_g = express_getattr(IfcActionSourceTypeEnum, 'DEAD_LOAD_G', INDETERMINATE) -completion_g1 = express_getattr(IfcActionSourceTypeEnum, 'COMPLETION_G1', INDETERMINATE) -live_load_q = express_getattr(IfcActionSourceTypeEnum, 'LIVE_LOAD_Q', INDETERMINATE) -snow_s = express_getattr(IfcActionSourceTypeEnum, 'SNOW_S', INDETERMINATE) -wind_w = express_getattr(IfcActionSourceTypeEnum, 'WIND_W', INDETERMINATE) -prestressing_p = express_getattr(IfcActionSourceTypeEnum, 'PRESTRESSING_P', INDETERMINATE) -settlement_u = express_getattr(IfcActionSourceTypeEnum, 'SETTLEMENT_U', INDETERMINATE) -temperature_t = express_getattr(IfcActionSourceTypeEnum, 'TEMPERATURE_T', INDETERMINATE) -earthquake_e = express_getattr(IfcActionSourceTypeEnum, 'EARTHQUAKE_E', INDETERMINATE) -fire = express_getattr(IfcActionSourceTypeEnum, 'FIRE', INDETERMINATE) -impulse = express_getattr(IfcActionSourceTypeEnum, 'IMPULSE', INDETERMINATE) -impact = express_getattr(IfcActionSourceTypeEnum, 'IMPACT', INDETERMINATE) -transport = express_getattr(IfcActionSourceTypeEnum, 'TRANSPORT', INDETERMINATE) -erection = express_getattr(IfcActionSourceTypeEnum, 'ERECTION', INDETERMINATE) -propping = express_getattr(IfcActionSourceTypeEnum, 'PROPPING', INDETERMINATE) -system_imperfection = express_getattr(IfcActionSourceTypeEnum, 'SYSTEM_IMPERFECTION', INDETERMINATE) -shrinkage = express_getattr(IfcActionSourceTypeEnum, 'SHRINKAGE', INDETERMINATE) -creep = express_getattr(IfcActionSourceTypeEnum, 'CREEP', INDETERMINATE) -lack_of_fit = express_getattr(IfcActionSourceTypeEnum, 'LACK_OF_FIT', INDETERMINATE) -buoyancy = express_getattr(IfcActionSourceTypeEnum, 'BUOYANCY', INDETERMINATE) -ice = express_getattr(IfcActionSourceTypeEnum, 'ICE', INDETERMINATE) -current = express_getattr(IfcActionSourceTypeEnum, 'CURRENT', INDETERMINATE) -wave = express_getattr(IfcActionSourceTypeEnum, 'WAVE', INDETERMINATE) -rain = express_getattr(IfcActionSourceTypeEnum, 'RAIN', INDETERMINATE) -brakes = express_getattr(IfcActionSourceTypeEnum, 'BRAKES', INDETERMINATE) -userdefined = express_getattr(IfcActionSourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionSourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +dead_load_g = IfcActionSourceTypeEnum.DEAD_LOAD_G +completion_g1 = IfcActionSourceTypeEnum.COMPLETION_G1 +live_load_q = IfcActionSourceTypeEnum.LIVE_LOAD_Q +snow_s = IfcActionSourceTypeEnum.SNOW_S +wind_w = IfcActionSourceTypeEnum.WIND_W +prestressing_p = IfcActionSourceTypeEnum.PRESTRESSING_P +settlement_u = IfcActionSourceTypeEnum.SETTLEMENT_U +temperature_t = IfcActionSourceTypeEnum.TEMPERATURE_T +earthquake_e = IfcActionSourceTypeEnum.EARTHQUAKE_E +fire = IfcActionSourceTypeEnum.FIRE +impulse = IfcActionSourceTypeEnum.IMPULSE +impact = IfcActionSourceTypeEnum.IMPACT +transport = IfcActionSourceTypeEnum.TRANSPORT +erection = IfcActionSourceTypeEnum.ERECTION +propping = IfcActionSourceTypeEnum.PROPPING +system_imperfection = IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION +shrinkage = IfcActionSourceTypeEnum.SHRINKAGE +creep = IfcActionSourceTypeEnum.CREEP +lack_of_fit = IfcActionSourceTypeEnum.LACK_OF_FIT +buoyancy = IfcActionSourceTypeEnum.BUOYANCY +ice = IfcActionSourceTypeEnum.ICE +current = IfcActionSourceTypeEnum.CURRENT +wave = IfcActionSourceTypeEnum.WAVE +rain = IfcActionSourceTypeEnum.RAIN +brakes = IfcActionSourceTypeEnum.BRAKES +userdefined = IfcActionSourceTypeEnum.USERDEFINED +notdefined = IfcActionSourceTypeEnum.NOTDEFINED IfcActionTypeEnum = enum_namespace() -permanent_g = express_getattr(IfcActionTypeEnum, 'PERMANENT_G', INDETERMINATE) -variable_q = express_getattr(IfcActionTypeEnum, 'VARIABLE_Q', INDETERMINATE) -extraordinary_a = express_getattr(IfcActionTypeEnum, 'EXTRAORDINARY_A', INDETERMINATE) -userdefined = express_getattr(IfcActionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionTypeEnum, 'NOTDEFINED', INDETERMINATE) +permanent_g = IfcActionTypeEnum.PERMANENT_G +variable_q = IfcActionTypeEnum.VARIABLE_Q +extraordinary_a = IfcActionTypeEnum.EXTRAORDINARY_A +userdefined = IfcActionTypeEnum.USERDEFINED +notdefined = IfcActionTypeEnum.NOTDEFINED IfcActuatorTypeEnum = enum_namespace() -electricactuator = express_getattr(IfcActuatorTypeEnum, 'ELECTRICACTUATOR', INDETERMINATE) -handoperatedactuator = express_getattr(IfcActuatorTypeEnum, 'HANDOPERATEDACTUATOR', INDETERMINATE) -hydraulicactuator = express_getattr(IfcActuatorTypeEnum, 'HYDRAULICACTUATOR', INDETERMINATE) -pneumaticactuator = express_getattr(IfcActuatorTypeEnum, 'PNEUMATICACTUATOR', INDETERMINATE) -thermostaticactuator = express_getattr(IfcActuatorTypeEnum, 'THERMOSTATICACTUATOR', INDETERMINATE) -userdefined = express_getattr(IfcActuatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActuatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +electricactuator = IfcActuatorTypeEnum.ELECTRICACTUATOR +handoperatedactuator = IfcActuatorTypeEnum.HANDOPERATEDACTUATOR +hydraulicactuator = IfcActuatorTypeEnum.HYDRAULICACTUATOR +pneumaticactuator = IfcActuatorTypeEnum.PNEUMATICACTUATOR +thermostaticactuator = IfcActuatorTypeEnum.THERMOSTATICACTUATOR +userdefined = IfcActuatorTypeEnum.USERDEFINED +notdefined = IfcActuatorTypeEnum.NOTDEFINED IfcAddressTypeEnum = enum_namespace() -office = express_getattr(IfcAddressTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcAddressTypeEnum, 'SITE', INDETERMINATE) -home = express_getattr(IfcAddressTypeEnum, 'HOME', INDETERMINATE) -distributionpoint = express_getattr(IfcAddressTypeEnum, 'DISTRIBUTIONPOINT', INDETERMINATE) -userdefined = express_getattr(IfcAddressTypeEnum, 'USERDEFINED', INDETERMINATE) +office = IfcAddressTypeEnum.OFFICE +site = IfcAddressTypeEnum.SITE +home = IfcAddressTypeEnum.HOME +distributionpoint = IfcAddressTypeEnum.DISTRIBUTIONPOINT +userdefined = IfcAddressTypeEnum.USERDEFINED IfcAirTerminalBoxTypeEnum = enum_namespace() -constantflow = express_getattr(IfcAirTerminalBoxTypeEnum, 'CONSTANTFLOW', INDETERMINATE) -variableflowpressuredependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREDEPENDANT', INDETERMINATE) -variableflowpressureindependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREINDEPENDANT', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +constantflow = IfcAirTerminalBoxTypeEnum.CONSTANTFLOW +variableflowpressuredependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT +variableflowpressureindependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT +userdefined = IfcAirTerminalBoxTypeEnum.USERDEFINED +notdefined = IfcAirTerminalBoxTypeEnum.NOTDEFINED IfcAirTerminalTypeEnum = enum_namespace() -diffuser = express_getattr(IfcAirTerminalTypeEnum, 'DIFFUSER', INDETERMINATE) -grille = express_getattr(IfcAirTerminalTypeEnum, 'GRILLE', INDETERMINATE) -louvre = express_getattr(IfcAirTerminalTypeEnum, 'LOUVRE', INDETERMINATE) -register = express_getattr(IfcAirTerminalTypeEnum, 'REGISTER', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +diffuser = IfcAirTerminalTypeEnum.DIFFUSER +grille = IfcAirTerminalTypeEnum.GRILLE +louvre = IfcAirTerminalTypeEnum.LOUVRE +register = IfcAirTerminalTypeEnum.REGISTER +userdefined = IfcAirTerminalTypeEnum.USERDEFINED +notdefined = IfcAirTerminalTypeEnum.NOTDEFINED IfcAirToAirHeatRecoveryTypeEnum = enum_namespace() -fixedplatecounterflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECOUNTERFLOWEXCHANGER', INDETERMINATE) -fixedplatecrossflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECROSSFLOWEXCHANGER', INDETERMINATE) -fixedplateparallelflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATEPARALLELFLOWEXCHANGER', INDETERMINATE) -rotarywheel = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'ROTARYWHEEL', INDETERMINATE) -runaroundcoilloop = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'RUNAROUNDCOILLOOP', INDETERMINATE) -heatpipe = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'HEATPIPE', INDETERMINATE) -twintowerenthalpyrecoveryloops = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'TWINTOWERENTHALPYRECOVERYLOOPS', INDETERMINATE) -thermosiphonsealedtubeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONSEALEDTUBEHEATEXCHANGERS', INDETERMINATE) -thermosiphoncoiltypeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONCOILTYPEHEATEXCHANGERS', INDETERMINATE) -userdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'NOTDEFINED', INDETERMINATE) +fixedplatecounterflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER +fixedplatecrossflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER +fixedplateparallelflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER +rotarywheel = IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL +runaroundcoilloop = IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP +heatpipe = IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE +twintowerenthalpyrecoveryloops = IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS +thermosiphonsealedtubeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS +thermosiphoncoiltypeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS +userdefined = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED +notdefined = IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED IfcAlarmTypeEnum = enum_namespace() -bell = express_getattr(IfcAlarmTypeEnum, 'BELL', INDETERMINATE) -breakglassbutton = express_getattr(IfcAlarmTypeEnum, 'BREAKGLASSBUTTON', INDETERMINATE) -light = express_getattr(IfcAlarmTypeEnum, 'LIGHT', INDETERMINATE) -manualpullbox = express_getattr(IfcAlarmTypeEnum, 'MANUALPULLBOX', INDETERMINATE) -siren = express_getattr(IfcAlarmTypeEnum, 'SIREN', INDETERMINATE) -whistle = express_getattr(IfcAlarmTypeEnum, 'WHISTLE', INDETERMINATE) -railwaycrocodile = express_getattr(IfcAlarmTypeEnum, 'RAILWAYCROCODILE', INDETERMINATE) -railwaydetonator = express_getattr(IfcAlarmTypeEnum, 'RAILWAYDETONATOR', INDETERMINATE) -userdefined = express_getattr(IfcAlarmTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlarmTypeEnum, 'NOTDEFINED', INDETERMINATE) +bell = IfcAlarmTypeEnum.BELL +breakglassbutton = IfcAlarmTypeEnum.BREAKGLASSBUTTON +light = IfcAlarmTypeEnum.LIGHT +manualpullbox = IfcAlarmTypeEnum.MANUALPULLBOX +siren = IfcAlarmTypeEnum.SIREN +whistle = IfcAlarmTypeEnum.WHISTLE +railwaycrocodile = IfcAlarmTypeEnum.RAILWAYCROCODILE +railwaydetonator = IfcAlarmTypeEnum.RAILWAYDETONATOR +userdefined = IfcAlarmTypeEnum.USERDEFINED +notdefined = IfcAlarmTypeEnum.NOTDEFINED IfcAlignmentCantSegmentTypeEnum = enum_namespace() -constantcant = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'CONSTANTCANT', INDETERMINATE) -lineartransition = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'LINEARTRANSITION', INDETERMINATE) -helmertcurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'HELMERTCURVE', INDETERMINATE) -blosscurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'BLOSSCURVE', INDETERMINATE) -cosinecurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'COSINECURVE', INDETERMINATE) -sinecurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'SINECURVE', INDETERMINATE) -viennesebend = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'VIENNESEBEND', INDETERMINATE) +constantcant = IfcAlignmentCantSegmentTypeEnum.CONSTANTCANT +lineartransition = IfcAlignmentCantSegmentTypeEnum.LINEARTRANSITION +helmertcurve = IfcAlignmentCantSegmentTypeEnum.HELMERTCURVE +blosscurve = IfcAlignmentCantSegmentTypeEnum.BLOSSCURVE +cosinecurve = IfcAlignmentCantSegmentTypeEnum.COSINECURVE +sinecurve = IfcAlignmentCantSegmentTypeEnum.SINECURVE +viennesebend = IfcAlignmentCantSegmentTypeEnum.VIENNESEBEND IfcAlignmentHorizontalSegmentTypeEnum = enum_namespace() -line = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'LINE', INDETERMINATE) -circulararc = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CIRCULARARC', INDETERMINATE) -clothoid = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CLOTHOID', INDETERMINATE) -cubic = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CUBIC', INDETERMINATE) -helmertcurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'HELMERTCURVE', INDETERMINATE) -blosscurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'BLOSSCURVE', INDETERMINATE) -cubicspiral = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CUBICSPIRAL', INDETERMINATE) -cosinecurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'COSINECURVE', INDETERMINATE) -sinecurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'SINECURVE', INDETERMINATE) -viennesebend = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'VIENNESEBEND', INDETERMINATE) +line = IfcAlignmentHorizontalSegmentTypeEnum.LINE +circulararc = IfcAlignmentHorizontalSegmentTypeEnum.CIRCULARARC +clothoid = IfcAlignmentHorizontalSegmentTypeEnum.CLOTHOID +cubic = IfcAlignmentHorizontalSegmentTypeEnum.CUBIC +helmertcurve = IfcAlignmentHorizontalSegmentTypeEnum.HELMERTCURVE +blosscurve = IfcAlignmentHorizontalSegmentTypeEnum.BLOSSCURVE +cubicspiral = IfcAlignmentHorizontalSegmentTypeEnum.CUBICSPIRAL +cosinecurve = IfcAlignmentHorizontalSegmentTypeEnum.COSINECURVE +sinecurve = IfcAlignmentHorizontalSegmentTypeEnum.SINECURVE +viennesebend = IfcAlignmentHorizontalSegmentTypeEnum.VIENNESEBEND IfcAlignmentTypeEnum = enum_namespace() -userdefined = express_getattr(IfcAlignmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlignmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcAlignmentTypeEnum.USERDEFINED +notdefined = IfcAlignmentTypeEnum.NOTDEFINED IfcAlignmentVerticalSegmentTypeEnum = enum_namespace() -constantgradient = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CONSTANTGRADIENT', INDETERMINATE) -circulararc = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CIRCULARARC', INDETERMINATE) -parabolicarc = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'PARABOLICARC', INDETERMINATE) -clothoid = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CLOTHOID', INDETERMINATE) +constantgradient = IfcAlignmentVerticalSegmentTypeEnum.CONSTANTGRADIENT +circulararc = IfcAlignmentVerticalSegmentTypeEnum.CIRCULARARC +parabolicarc = IfcAlignmentVerticalSegmentTypeEnum.PARABOLICARC +clothoid = IfcAlignmentVerticalSegmentTypeEnum.CLOTHOID IfcAnalysisModelTypeEnum = enum_namespace() -in_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'IN_PLANE_LOADING_2D', INDETERMINATE) -out_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'OUT_PLANE_LOADING_2D', INDETERMINATE) -loading_3d = express_getattr(IfcAnalysisModelTypeEnum, 'LOADING_3D', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisModelTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisModelTypeEnum, 'NOTDEFINED', INDETERMINATE) +in_plane_loading_2d = IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D +out_plane_loading_2d = IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D +loading_3d = IfcAnalysisModelTypeEnum.LOADING_3D +userdefined = IfcAnalysisModelTypeEnum.USERDEFINED +notdefined = IfcAnalysisModelTypeEnum.NOTDEFINED IfcAnalysisTheoryTypeEnum = enum_namespace() -first_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FIRST_ORDER_THEORY', INDETERMINATE) -second_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'SECOND_ORDER_THEORY', INDETERMINATE) -third_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'THIRD_ORDER_THEORY', INDETERMINATE) -full_nonlinear_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FULL_NONLINEAR_THEORY', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +first_order_theory = IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY +second_order_theory = IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY +third_order_theory = IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY +full_nonlinear_theory = IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY +userdefined = IfcAnalysisTheoryTypeEnum.USERDEFINED +notdefined = IfcAnalysisTheoryTypeEnum.NOTDEFINED IfcAnnotationTypeEnum = enum_namespace() -assumedpoint = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDPOINT', INDETERMINATE) -asbuiltarea = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTAREA', INDETERMINATE) -asbuiltline = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTLINE', INDETERMINATE) -non_physical_signal = express_getattr(IfcAnnotationTypeEnum, 'NON_PHYSICAL_SIGNAL', INDETERMINATE) -assumedline = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDLINE', INDETERMINATE) -widthevent = express_getattr(IfcAnnotationTypeEnum, 'WIDTHEVENT', INDETERMINATE) -assumedarea = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDAREA', INDETERMINATE) -superelevationevent = express_getattr(IfcAnnotationTypeEnum, 'SUPERELEVATIONEVENT', INDETERMINATE) -asbuiltpoint = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTPOINT', INDETERMINATE) -userdefined = express_getattr(IfcAnnotationTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnnotationTypeEnum, 'NOTDEFINED', INDETERMINATE) +assumedpoint = IfcAnnotationTypeEnum.ASSUMEDPOINT +asbuiltarea = IfcAnnotationTypeEnum.ASBUILTAREA +asbuiltline = IfcAnnotationTypeEnum.ASBUILTLINE +non_physical_signal = IfcAnnotationTypeEnum.NON_PHYSICAL_SIGNAL +assumedline = IfcAnnotationTypeEnum.ASSUMEDLINE +widthevent = IfcAnnotationTypeEnum.WIDTHEVENT +assumedarea = IfcAnnotationTypeEnum.ASSUMEDAREA +superelevationevent = IfcAnnotationTypeEnum.SUPERELEVATIONEVENT +asbuiltpoint = IfcAnnotationTypeEnum.ASBUILTPOINT +userdefined = IfcAnnotationTypeEnum.USERDEFINED +notdefined = IfcAnnotationTypeEnum.NOTDEFINED IfcArithmeticOperatorEnum = enum_namespace() -add = express_getattr(IfcArithmeticOperatorEnum, 'ADD', INDETERMINATE) -divide = express_getattr(IfcArithmeticOperatorEnum, 'DIVIDE', INDETERMINATE) -multiply = express_getattr(IfcArithmeticOperatorEnum, 'MULTIPLY', INDETERMINATE) -subtract = express_getattr(IfcArithmeticOperatorEnum, 'SUBTRACT', INDETERMINATE) +add = IfcArithmeticOperatorEnum.ADD +divide = IfcArithmeticOperatorEnum.DIVIDE +multiply = IfcArithmeticOperatorEnum.MULTIPLY +subtract = IfcArithmeticOperatorEnum.SUBTRACT IfcAssemblyPlaceEnum = enum_namespace() -site = express_getattr(IfcAssemblyPlaceEnum, 'SITE', INDETERMINATE) -factory = express_getattr(IfcAssemblyPlaceEnum, 'FACTORY', INDETERMINATE) -notdefined = express_getattr(IfcAssemblyPlaceEnum, 'NOTDEFINED', INDETERMINATE) +site = IfcAssemblyPlaceEnum.SITE +factory = IfcAssemblyPlaceEnum.FACTORY +notdefined = IfcAssemblyPlaceEnum.NOTDEFINED IfcAudioVisualApplianceTypeEnum = enum_namespace() -amplifier = express_getattr(IfcAudioVisualApplianceTypeEnum, 'AMPLIFIER', INDETERMINATE) -camera = express_getattr(IfcAudioVisualApplianceTypeEnum, 'CAMERA', INDETERMINATE) -display = express_getattr(IfcAudioVisualApplianceTypeEnum, 'DISPLAY', INDETERMINATE) -microphone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'MICROPHONE', INDETERMINATE) -player = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PLAYER', INDETERMINATE) -projector = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PROJECTOR', INDETERMINATE) -receiver = express_getattr(IfcAudioVisualApplianceTypeEnum, 'RECEIVER', INDETERMINATE) -speaker = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SPEAKER', INDETERMINATE) -switcher = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SWITCHER', INDETERMINATE) -telephone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TELEPHONE', INDETERMINATE) -tuner = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TUNER', INDETERMINATE) -railway_communication_terminal = express_getattr(IfcAudioVisualApplianceTypeEnum, 'RAILWAY_COMMUNICATION_TERMINAL', INDETERMINATE) -userdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +amplifier = IfcAudioVisualApplianceTypeEnum.AMPLIFIER +camera = IfcAudioVisualApplianceTypeEnum.CAMERA +display = IfcAudioVisualApplianceTypeEnum.DISPLAY +microphone = IfcAudioVisualApplianceTypeEnum.MICROPHONE +player = IfcAudioVisualApplianceTypeEnum.PLAYER +projector = IfcAudioVisualApplianceTypeEnum.PROJECTOR +receiver = IfcAudioVisualApplianceTypeEnum.RECEIVER +speaker = IfcAudioVisualApplianceTypeEnum.SPEAKER +switcher = IfcAudioVisualApplianceTypeEnum.SWITCHER +telephone = IfcAudioVisualApplianceTypeEnum.TELEPHONE +tuner = IfcAudioVisualApplianceTypeEnum.TUNER +railway_communication_terminal = IfcAudioVisualApplianceTypeEnum.RAILWAY_COMMUNICATION_TERMINAL +userdefined = IfcAudioVisualApplianceTypeEnum.USERDEFINED +notdefined = IfcAudioVisualApplianceTypeEnum.NOTDEFINED IfcBSplineCurveForm = enum_namespace() -polyline_form = express_getattr(IfcBSplineCurveForm, 'POLYLINE_FORM', INDETERMINATE) -circular_arc = express_getattr(IfcBSplineCurveForm, 'CIRCULAR_ARC', INDETERMINATE) -elliptic_arc = express_getattr(IfcBSplineCurveForm, 'ELLIPTIC_ARC', INDETERMINATE) -parabolic_arc = express_getattr(IfcBSplineCurveForm, 'PARABOLIC_ARC', INDETERMINATE) -hyperbolic_arc = express_getattr(IfcBSplineCurveForm, 'HYPERBOLIC_ARC', INDETERMINATE) -unspecified = express_getattr(IfcBSplineCurveForm, 'UNSPECIFIED', INDETERMINATE) +polyline_form = IfcBSplineCurveForm.POLYLINE_FORM +circular_arc = IfcBSplineCurveForm.CIRCULAR_ARC +elliptic_arc = IfcBSplineCurveForm.ELLIPTIC_ARC +parabolic_arc = IfcBSplineCurveForm.PARABOLIC_ARC +hyperbolic_arc = IfcBSplineCurveForm.HYPERBOLIC_ARC +unspecified = IfcBSplineCurveForm.UNSPECIFIED IfcBSplineSurfaceForm = enum_namespace() -plane_surf = express_getattr(IfcBSplineSurfaceForm, 'PLANE_SURF', INDETERMINATE) -cylindrical_surf = express_getattr(IfcBSplineSurfaceForm, 'CYLINDRICAL_SURF', INDETERMINATE) -conical_surf = express_getattr(IfcBSplineSurfaceForm, 'CONICAL_SURF', INDETERMINATE) -spherical_surf = express_getattr(IfcBSplineSurfaceForm, 'SPHERICAL_SURF', INDETERMINATE) -toroidal_surf = express_getattr(IfcBSplineSurfaceForm, 'TOROIDAL_SURF', INDETERMINATE) -surf_of_revolution = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_REVOLUTION', INDETERMINATE) -ruled_surf = express_getattr(IfcBSplineSurfaceForm, 'RULED_SURF', INDETERMINATE) -generalised_cone = express_getattr(IfcBSplineSurfaceForm, 'GENERALISED_CONE', INDETERMINATE) -quadric_surf = express_getattr(IfcBSplineSurfaceForm, 'QUADRIC_SURF', INDETERMINATE) -surf_of_linear_extrusion = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_LINEAR_EXTRUSION', INDETERMINATE) -unspecified = express_getattr(IfcBSplineSurfaceForm, 'UNSPECIFIED', INDETERMINATE) +plane_surf = IfcBSplineSurfaceForm.PLANE_SURF +cylindrical_surf = IfcBSplineSurfaceForm.CYLINDRICAL_SURF +conical_surf = IfcBSplineSurfaceForm.CONICAL_SURF +spherical_surf = IfcBSplineSurfaceForm.SPHERICAL_SURF +toroidal_surf = IfcBSplineSurfaceForm.TOROIDAL_SURF +surf_of_revolution = IfcBSplineSurfaceForm.SURF_OF_REVOLUTION +ruled_surf = IfcBSplineSurfaceForm.RULED_SURF +generalised_cone = IfcBSplineSurfaceForm.GENERALISED_CONE +quadric_surf = IfcBSplineSurfaceForm.QUADRIC_SURF +surf_of_linear_extrusion = IfcBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION +unspecified = IfcBSplineSurfaceForm.UNSPECIFIED IfcBeamTypeEnum = enum_namespace() -beam = express_getattr(IfcBeamTypeEnum, 'BEAM', INDETERMINATE) -joist = express_getattr(IfcBeamTypeEnum, 'JOIST', INDETERMINATE) -hollowcore = express_getattr(IfcBeamTypeEnum, 'HOLLOWCORE', INDETERMINATE) -lintel = express_getattr(IfcBeamTypeEnum, 'LINTEL', INDETERMINATE) -spandrel = express_getattr(IfcBeamTypeEnum, 'SPANDREL', INDETERMINATE) -t_beam = express_getattr(IfcBeamTypeEnum, 'T_BEAM', INDETERMINATE) -girder_segment = express_getattr(IfcBeamTypeEnum, 'GIRDER_SEGMENT', INDETERMINATE) -diaphragm = express_getattr(IfcBeamTypeEnum, 'DIAPHRAGM', INDETERMINATE) -piercap = express_getattr(IfcBeamTypeEnum, 'PIERCAP', INDETERMINATE) -hatstone = express_getattr(IfcBeamTypeEnum, 'HATSTONE', INDETERMINATE) -cornice = express_getattr(IfcBeamTypeEnum, 'CORNICE', INDETERMINATE) -edgebeam = express_getattr(IfcBeamTypeEnum, 'EDGEBEAM', INDETERMINATE) -userdefined = express_getattr(IfcBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +beam = IfcBeamTypeEnum.BEAM +joist = IfcBeamTypeEnum.JOIST +hollowcore = IfcBeamTypeEnum.HOLLOWCORE +lintel = IfcBeamTypeEnum.LINTEL +spandrel = IfcBeamTypeEnum.SPANDREL +t_beam = IfcBeamTypeEnum.T_BEAM +girder_segment = IfcBeamTypeEnum.GIRDER_SEGMENT +diaphragm = IfcBeamTypeEnum.DIAPHRAGM +piercap = IfcBeamTypeEnum.PIERCAP +hatstone = IfcBeamTypeEnum.HATSTONE +cornice = IfcBeamTypeEnum.CORNICE +edgebeam = IfcBeamTypeEnum.EDGEBEAM +userdefined = IfcBeamTypeEnum.USERDEFINED +notdefined = IfcBeamTypeEnum.NOTDEFINED IfcBearingTypeDisplacementEnum = enum_namespace() -fixed_movement = express_getattr(IfcBearingTypeDisplacementEnum, 'FIXED_MOVEMENT', INDETERMINATE) -guided_longitudinal = express_getattr(IfcBearingTypeDisplacementEnum, 'GUIDED_LONGITUDINAL', INDETERMINATE) -guided_transversal = express_getattr(IfcBearingTypeDisplacementEnum, 'GUIDED_TRANSVERSAL', INDETERMINATE) -free_movement = express_getattr(IfcBearingTypeDisplacementEnum, 'FREE_MOVEMENT', INDETERMINATE) -notdefined = express_getattr(IfcBearingTypeDisplacementEnum, 'NOTDEFINED', INDETERMINATE) +fixed_movement = IfcBearingTypeDisplacementEnum.FIXED_MOVEMENT +guided_longitudinal = IfcBearingTypeDisplacementEnum.GUIDED_LONGITUDINAL +guided_transversal = IfcBearingTypeDisplacementEnum.GUIDED_TRANSVERSAL +free_movement = IfcBearingTypeDisplacementEnum.FREE_MOVEMENT +notdefined = IfcBearingTypeDisplacementEnum.NOTDEFINED IfcBearingTypeEnum = enum_namespace() -cylindrical = express_getattr(IfcBearingTypeEnum, 'CYLINDRICAL', INDETERMINATE) -spherical = express_getattr(IfcBearingTypeEnum, 'SPHERICAL', INDETERMINATE) -elastomeric = express_getattr(IfcBearingTypeEnum, 'ELASTOMERIC', INDETERMINATE) -pot = express_getattr(IfcBearingTypeEnum, 'POT', INDETERMINATE) -guide = express_getattr(IfcBearingTypeEnum, 'GUIDE', INDETERMINATE) -rocker = express_getattr(IfcBearingTypeEnum, 'ROCKER', INDETERMINATE) -roller = express_getattr(IfcBearingTypeEnum, 'ROLLER', INDETERMINATE) -disk = express_getattr(IfcBearingTypeEnum, 'DISK', INDETERMINATE) -userdefined = express_getattr(IfcBearingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBearingTypeEnum, 'NOTDEFINED', INDETERMINATE) +cylindrical = IfcBearingTypeEnum.CYLINDRICAL +spherical = IfcBearingTypeEnum.SPHERICAL +elastomeric = IfcBearingTypeEnum.ELASTOMERIC +pot = IfcBearingTypeEnum.POT +guide = IfcBearingTypeEnum.GUIDE +rocker = IfcBearingTypeEnum.ROCKER +roller = IfcBearingTypeEnum.ROLLER +disk = IfcBearingTypeEnum.DISK +userdefined = IfcBearingTypeEnum.USERDEFINED +notdefined = IfcBearingTypeEnum.NOTDEFINED IfcBenchmarkEnum = enum_namespace() -greaterthan = express_getattr(IfcBenchmarkEnum, 'GREATERTHAN', INDETERMINATE) -greaterthanorequalto = express_getattr(IfcBenchmarkEnum, 'GREATERTHANOREQUALTO', INDETERMINATE) -lessthan = express_getattr(IfcBenchmarkEnum, 'LESSTHAN', INDETERMINATE) -lessthanorequalto = express_getattr(IfcBenchmarkEnum, 'LESSTHANOREQUALTO', INDETERMINATE) -equalto = express_getattr(IfcBenchmarkEnum, 'EQUALTO', INDETERMINATE) -notequalto = express_getattr(IfcBenchmarkEnum, 'NOTEQUALTO', INDETERMINATE) -includes = express_getattr(IfcBenchmarkEnum, 'INCLUDES', INDETERMINATE) -notincludes = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDES', INDETERMINATE) -includedin = express_getattr(IfcBenchmarkEnum, 'INCLUDEDIN', INDETERMINATE) -notincludedin = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDEDIN', INDETERMINATE) +greaterthan = IfcBenchmarkEnum.GREATERTHAN +greaterthanorequalto = IfcBenchmarkEnum.GREATERTHANOREQUALTO +lessthan = IfcBenchmarkEnum.LESSTHAN +lessthanorequalto = IfcBenchmarkEnum.LESSTHANOREQUALTO +equalto = IfcBenchmarkEnum.EQUALTO +notequalto = IfcBenchmarkEnum.NOTEQUALTO +includes = IfcBenchmarkEnum.INCLUDES +notincludes = IfcBenchmarkEnum.NOTINCLUDES +includedin = IfcBenchmarkEnum.INCLUDEDIN +notincludedin = IfcBenchmarkEnum.NOTINCLUDEDIN IfcBoilerTypeEnum = enum_namespace() -water = express_getattr(IfcBoilerTypeEnum, 'WATER', INDETERMINATE) -steam = express_getattr(IfcBoilerTypeEnum, 'STEAM', INDETERMINATE) -userdefined = express_getattr(IfcBoilerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBoilerTypeEnum, 'NOTDEFINED', INDETERMINATE) +water = IfcBoilerTypeEnum.WATER +steam = IfcBoilerTypeEnum.STEAM +userdefined = IfcBoilerTypeEnum.USERDEFINED +notdefined = IfcBoilerTypeEnum.NOTDEFINED IfcBooleanOperator = enum_namespace() -union = express_getattr(IfcBooleanOperator, 'UNION', INDETERMINATE) -intersection = express_getattr(IfcBooleanOperator, 'INTERSECTION', INDETERMINATE) -difference = express_getattr(IfcBooleanOperator, 'DIFFERENCE', INDETERMINATE) +union = IfcBooleanOperator.UNION +intersection = IfcBooleanOperator.INTERSECTION +difference = IfcBooleanOperator.DIFFERENCE IfcBridgePartTypeEnum = enum_namespace() -abutment = express_getattr(IfcBridgePartTypeEnum, 'ABUTMENT', INDETERMINATE) -deck = express_getattr(IfcBridgePartTypeEnum, 'DECK', INDETERMINATE) -deck_segment = express_getattr(IfcBridgePartTypeEnum, 'DECK_SEGMENT', INDETERMINATE) -foundation = express_getattr(IfcBridgePartTypeEnum, 'FOUNDATION', INDETERMINATE) -pier = express_getattr(IfcBridgePartTypeEnum, 'PIER', INDETERMINATE) -pier_segment = express_getattr(IfcBridgePartTypeEnum, 'PIER_SEGMENT', INDETERMINATE) -pylon = express_getattr(IfcBridgePartTypeEnum, 'PYLON', INDETERMINATE) -substructure = express_getattr(IfcBridgePartTypeEnum, 'SUBSTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcBridgePartTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -surfacestructure = express_getattr(IfcBridgePartTypeEnum, 'SURFACESTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcBridgePartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBridgePartTypeEnum, 'NOTDEFINED', INDETERMINATE) +abutment = IfcBridgePartTypeEnum.ABUTMENT +deck = IfcBridgePartTypeEnum.DECK +deck_segment = IfcBridgePartTypeEnum.DECK_SEGMENT +foundation = IfcBridgePartTypeEnum.FOUNDATION +pier = IfcBridgePartTypeEnum.PIER +pier_segment = IfcBridgePartTypeEnum.PIER_SEGMENT +pylon = IfcBridgePartTypeEnum.PYLON +substructure = IfcBridgePartTypeEnum.SUBSTRUCTURE +superstructure = IfcBridgePartTypeEnum.SUPERSTRUCTURE +surfacestructure = IfcBridgePartTypeEnum.SURFACESTRUCTURE +userdefined = IfcBridgePartTypeEnum.USERDEFINED +notdefined = IfcBridgePartTypeEnum.NOTDEFINED IfcBridgeTypeEnum = enum_namespace() -arched = express_getattr(IfcBridgeTypeEnum, 'ARCHED', INDETERMINATE) -cable_stayed = express_getattr(IfcBridgeTypeEnum, 'CABLE_STAYED', INDETERMINATE) -cantilever = express_getattr(IfcBridgeTypeEnum, 'CANTILEVER', INDETERMINATE) -culvert = express_getattr(IfcBridgeTypeEnum, 'CULVERT', INDETERMINATE) -framework = express_getattr(IfcBridgeTypeEnum, 'FRAMEWORK', INDETERMINATE) -girder = express_getattr(IfcBridgeTypeEnum, 'GIRDER', INDETERMINATE) -suspension = express_getattr(IfcBridgeTypeEnum, 'SUSPENSION', INDETERMINATE) -truss = express_getattr(IfcBridgeTypeEnum, 'TRUSS', INDETERMINATE) -userdefined = express_getattr(IfcBridgeTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBridgeTypeEnum, 'NOTDEFINED', INDETERMINATE) +arched = IfcBridgeTypeEnum.ARCHED +cable_stayed = IfcBridgeTypeEnum.CABLE_STAYED +cantilever = IfcBridgeTypeEnum.CANTILEVER +culvert = IfcBridgeTypeEnum.CULVERT +framework = IfcBridgeTypeEnum.FRAMEWORK +girder = IfcBridgeTypeEnum.GIRDER +suspension = IfcBridgeTypeEnum.SUSPENSION +truss = IfcBridgeTypeEnum.TRUSS +userdefined = IfcBridgeTypeEnum.USERDEFINED +notdefined = IfcBridgeTypeEnum.NOTDEFINED IfcBuildingElementPartTypeEnum = enum_namespace() -insulation = express_getattr(IfcBuildingElementPartTypeEnum, 'INSULATION', INDETERMINATE) -precastpanel = express_getattr(IfcBuildingElementPartTypeEnum, 'PRECASTPANEL', INDETERMINATE) -apron = express_getattr(IfcBuildingElementPartTypeEnum, 'APRON', INDETERMINATE) -armourunit = express_getattr(IfcBuildingElementPartTypeEnum, 'ARMOURUNIT', INDETERMINATE) -safetycage = express_getattr(IfcBuildingElementPartTypeEnum, 'SAFETYCAGE', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +insulation = IfcBuildingElementPartTypeEnum.INSULATION +precastpanel = IfcBuildingElementPartTypeEnum.PRECASTPANEL +apron = IfcBuildingElementPartTypeEnum.APRON +armourunit = IfcBuildingElementPartTypeEnum.ARMOURUNIT +safetycage = IfcBuildingElementPartTypeEnum.SAFETYCAGE +userdefined = IfcBuildingElementPartTypeEnum.USERDEFINED +notdefined = IfcBuildingElementPartTypeEnum.NOTDEFINED IfcBuildingElementProxyTypeEnum = enum_namespace() -complex = express_getattr(IfcBuildingElementProxyTypeEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcBuildingElementProxyTypeEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcBuildingElementProxyTypeEnum, 'PARTIAL', INDETERMINATE) -provisionforvoid = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORVOID', INDETERMINATE) -provisionforspace = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORSPACE', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'NOTDEFINED', INDETERMINATE) +complex = IfcBuildingElementProxyTypeEnum.COMPLEX +element = IfcBuildingElementProxyTypeEnum.ELEMENT +partial = IfcBuildingElementProxyTypeEnum.PARTIAL +provisionforvoid = IfcBuildingElementProxyTypeEnum.PROVISIONFORVOID +provisionforspace = IfcBuildingElementProxyTypeEnum.PROVISIONFORSPACE +userdefined = IfcBuildingElementProxyTypeEnum.USERDEFINED +notdefined = IfcBuildingElementProxyTypeEnum.NOTDEFINED IfcBuildingSystemTypeEnum = enum_namespace() -fenestration = express_getattr(IfcBuildingSystemTypeEnum, 'FENESTRATION', INDETERMINATE) -foundation = express_getattr(IfcBuildingSystemTypeEnum, 'FOUNDATION', INDETERMINATE) -loadbearing = express_getattr(IfcBuildingSystemTypeEnum, 'LOADBEARING', INDETERMINATE) -outershell = express_getattr(IfcBuildingSystemTypeEnum, 'OUTERSHELL', INDETERMINATE) -shading = express_getattr(IfcBuildingSystemTypeEnum, 'SHADING', INDETERMINATE) -transport = express_getattr(IfcBuildingSystemTypeEnum, 'TRANSPORT', INDETERMINATE) -reinforcing = express_getattr(IfcBuildingSystemTypeEnum, 'REINFORCING', INDETERMINATE) -prestressing = express_getattr(IfcBuildingSystemTypeEnum, 'PRESTRESSING', INDETERMINATE) -erosionprevention = express_getattr(IfcBuildingSystemTypeEnum, 'EROSIONPREVENTION', INDETERMINATE) -userdefined = express_getattr(IfcBuildingSystemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingSystemTypeEnum, 'NOTDEFINED', INDETERMINATE) +fenestration = IfcBuildingSystemTypeEnum.FENESTRATION +foundation = IfcBuildingSystemTypeEnum.FOUNDATION +loadbearing = IfcBuildingSystemTypeEnum.LOADBEARING +outershell = IfcBuildingSystemTypeEnum.OUTERSHELL +shading = IfcBuildingSystemTypeEnum.SHADING +transport = IfcBuildingSystemTypeEnum.TRANSPORT +reinforcing = IfcBuildingSystemTypeEnum.REINFORCING +prestressing = IfcBuildingSystemTypeEnum.PRESTRESSING +erosionprevention = IfcBuildingSystemTypeEnum.EROSIONPREVENTION +userdefined = IfcBuildingSystemTypeEnum.USERDEFINED +notdefined = IfcBuildingSystemTypeEnum.NOTDEFINED IfcBuiltSystemTypeEnum = enum_namespace() -reinforcing = express_getattr(IfcBuiltSystemTypeEnum, 'REINFORCING', INDETERMINATE) -mooring = express_getattr(IfcBuiltSystemTypeEnum, 'MOORING', INDETERMINATE) -outershell = express_getattr(IfcBuiltSystemTypeEnum, 'OUTERSHELL', INDETERMINATE) -trackcircuit = express_getattr(IfcBuiltSystemTypeEnum, 'TRACKCIRCUIT', INDETERMINATE) -erosionprevention = express_getattr(IfcBuiltSystemTypeEnum, 'EROSIONPREVENTION', INDETERMINATE) -foundation = express_getattr(IfcBuiltSystemTypeEnum, 'FOUNDATION', INDETERMINATE) -loadbearing = express_getattr(IfcBuiltSystemTypeEnum, 'LOADBEARING', INDETERMINATE) -shading = express_getattr(IfcBuiltSystemTypeEnum, 'SHADING', INDETERMINATE) -fenestration = express_getattr(IfcBuiltSystemTypeEnum, 'FENESTRATION', INDETERMINATE) -mooringsystem = express_getattr(IfcBuiltSystemTypeEnum, 'MOORINGSYSTEM', INDETERMINATE) -transport = express_getattr(IfcBuiltSystemTypeEnum, 'TRANSPORT', INDETERMINATE) -prestressing = express_getattr(IfcBuiltSystemTypeEnum, 'PRESTRESSING', INDETERMINATE) -userdefined = express_getattr(IfcBuiltSystemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuiltSystemTypeEnum, 'NOTDEFINED', INDETERMINATE) +reinforcing = IfcBuiltSystemTypeEnum.REINFORCING +mooring = IfcBuiltSystemTypeEnum.MOORING +outershell = IfcBuiltSystemTypeEnum.OUTERSHELL +trackcircuit = IfcBuiltSystemTypeEnum.TRACKCIRCUIT +erosionprevention = IfcBuiltSystemTypeEnum.EROSIONPREVENTION +foundation = IfcBuiltSystemTypeEnum.FOUNDATION +loadbearing = IfcBuiltSystemTypeEnum.LOADBEARING +shading = IfcBuiltSystemTypeEnum.SHADING +fenestration = IfcBuiltSystemTypeEnum.FENESTRATION +mooringsystem = IfcBuiltSystemTypeEnum.MOORINGSYSTEM +transport = IfcBuiltSystemTypeEnum.TRANSPORT +prestressing = IfcBuiltSystemTypeEnum.PRESTRESSING +userdefined = IfcBuiltSystemTypeEnum.USERDEFINED +notdefined = IfcBuiltSystemTypeEnum.NOTDEFINED IfcBurnerTypeEnum = enum_namespace() -userdefined = express_getattr(IfcBurnerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBurnerTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcBurnerTypeEnum.USERDEFINED +notdefined = IfcBurnerTypeEnum.NOTDEFINED IfcCableCarrierFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcCableCarrierFittingTypeEnum, 'BEND', INDETERMINATE) -cross = express_getattr(IfcCableCarrierFittingTypeEnum, 'CROSS', INDETERMINATE) -reducer = express_getattr(IfcCableCarrierFittingTypeEnum, 'REDUCER', INDETERMINATE) -tee = express_getattr(IfcCableCarrierFittingTypeEnum, 'TEE', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcCableCarrierFittingTypeEnum.BEND +cross = IfcCableCarrierFittingTypeEnum.CROSS +reducer = IfcCableCarrierFittingTypeEnum.REDUCER +tee = IfcCableCarrierFittingTypeEnum.TEE +userdefined = IfcCableCarrierFittingTypeEnum.USERDEFINED +notdefined = IfcCableCarrierFittingTypeEnum.NOTDEFINED IfcCableCarrierSegmentTypeEnum = enum_namespace() -cableladdersegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLELADDERSEGMENT', INDETERMINATE) -cabletraysegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRAYSEGMENT', INDETERMINATE) -cabletrunkingsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRUNKINGSEGMENT', INDETERMINATE) -conduitsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CONDUITSEGMENT', INDETERMINATE) -cablebracket = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLEBRACKET', INDETERMINATE) -catenarywire = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CATENARYWIRE', INDETERMINATE) -dropper = express_getattr(IfcCableCarrierSegmentTypeEnum, 'DROPPER', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +cableladdersegment = IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT +cabletraysegment = IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT +cabletrunkingsegment = IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT +conduitsegment = IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT +cablebracket = IfcCableCarrierSegmentTypeEnum.CABLEBRACKET +catenarywire = IfcCableCarrierSegmentTypeEnum.CATENARYWIRE +dropper = IfcCableCarrierSegmentTypeEnum.DROPPER +userdefined = IfcCableCarrierSegmentTypeEnum.USERDEFINED +notdefined = IfcCableCarrierSegmentTypeEnum.NOTDEFINED IfcCableFittingTypeEnum = enum_namespace() -connector = express_getattr(IfcCableFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcCableFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcCableFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcCableFittingTypeEnum, 'JUNCTION', INDETERMINATE) -transition = express_getattr(IfcCableFittingTypeEnum, 'TRANSITION', INDETERMINATE) -fanout = express_getattr(IfcCableFittingTypeEnum, 'FANOUT', INDETERMINATE) -userdefined = express_getattr(IfcCableFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +connector = IfcCableFittingTypeEnum.CONNECTOR +entry = IfcCableFittingTypeEnum.ENTRY +exit = IfcCableFittingTypeEnum.EXIT +junction = IfcCableFittingTypeEnum.JUNCTION +transition = IfcCableFittingTypeEnum.TRANSITION +fanout = IfcCableFittingTypeEnum.FANOUT +userdefined = IfcCableFittingTypeEnum.USERDEFINED +notdefined = IfcCableFittingTypeEnum.NOTDEFINED IfcCableSegmentTypeEnum = enum_namespace() -busbarsegment = express_getattr(IfcCableSegmentTypeEnum, 'BUSBARSEGMENT', INDETERMINATE) -cablesegment = express_getattr(IfcCableSegmentTypeEnum, 'CABLESEGMENT', INDETERMINATE) -conductorsegment = express_getattr(IfcCableSegmentTypeEnum, 'CONDUCTORSEGMENT', INDETERMINATE) -coresegment = express_getattr(IfcCableSegmentTypeEnum, 'CORESEGMENT', INDETERMINATE) -contactwiresegment = express_getattr(IfcCableSegmentTypeEnum, 'CONTACTWIRESEGMENT', INDETERMINATE) -fibersegment = express_getattr(IfcCableSegmentTypeEnum, 'FIBERSEGMENT', INDETERMINATE) -fibertube = express_getattr(IfcCableSegmentTypeEnum, 'FIBERTUBE', INDETERMINATE) -opticalcablesegment = express_getattr(IfcCableSegmentTypeEnum, 'OPTICALCABLESEGMENT', INDETERMINATE) -stitchwire = express_getattr(IfcCableSegmentTypeEnum, 'STITCHWIRE', INDETERMINATE) -wirepairsegment = express_getattr(IfcCableSegmentTypeEnum, 'WIREPAIRSEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcCableSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +busbarsegment = IfcCableSegmentTypeEnum.BUSBARSEGMENT +cablesegment = IfcCableSegmentTypeEnum.CABLESEGMENT +conductorsegment = IfcCableSegmentTypeEnum.CONDUCTORSEGMENT +coresegment = IfcCableSegmentTypeEnum.CORESEGMENT +contactwiresegment = IfcCableSegmentTypeEnum.CONTACTWIRESEGMENT +fibersegment = IfcCableSegmentTypeEnum.FIBERSEGMENT +fibertube = IfcCableSegmentTypeEnum.FIBERTUBE +opticalcablesegment = IfcCableSegmentTypeEnum.OPTICALCABLESEGMENT +stitchwire = IfcCableSegmentTypeEnum.STITCHWIRE +wirepairsegment = IfcCableSegmentTypeEnum.WIREPAIRSEGMENT +userdefined = IfcCableSegmentTypeEnum.USERDEFINED +notdefined = IfcCableSegmentTypeEnum.NOTDEFINED IfcCaissonFoundationTypeEnum = enum_namespace() -well = express_getattr(IfcCaissonFoundationTypeEnum, 'WELL', INDETERMINATE) -caisson = express_getattr(IfcCaissonFoundationTypeEnum, 'CAISSON', INDETERMINATE) -userdefined = express_getattr(IfcCaissonFoundationTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCaissonFoundationTypeEnum, 'NOTDEFINED', INDETERMINATE) +well = IfcCaissonFoundationTypeEnum.WELL +caisson = IfcCaissonFoundationTypeEnum.CAISSON +userdefined = IfcCaissonFoundationTypeEnum.USERDEFINED +notdefined = IfcCaissonFoundationTypeEnum.NOTDEFINED IfcChangeActionEnum = enum_namespace() -nochange = express_getattr(IfcChangeActionEnum, 'NOCHANGE', INDETERMINATE) -modified = express_getattr(IfcChangeActionEnum, 'MODIFIED', INDETERMINATE) -added = express_getattr(IfcChangeActionEnum, 'ADDED', INDETERMINATE) -deleted = express_getattr(IfcChangeActionEnum, 'DELETED', INDETERMINATE) -notdefined = express_getattr(IfcChangeActionEnum, 'NOTDEFINED', INDETERMINATE) +nochange = IfcChangeActionEnum.NOCHANGE +modified = IfcChangeActionEnum.MODIFIED +added = IfcChangeActionEnum.ADDED +deleted = IfcChangeActionEnum.DELETED +notdefined = IfcChangeActionEnum.NOTDEFINED IfcChillerTypeEnum = enum_namespace() -aircooled = express_getattr(IfcChillerTypeEnum, 'AIRCOOLED', INDETERMINATE) -watercooled = express_getattr(IfcChillerTypeEnum, 'WATERCOOLED', INDETERMINATE) -heatrecovery = express_getattr(IfcChillerTypeEnum, 'HEATRECOVERY', INDETERMINATE) -userdefined = express_getattr(IfcChillerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChillerTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcChillerTypeEnum.AIRCOOLED +watercooled = IfcChillerTypeEnum.WATERCOOLED +heatrecovery = IfcChillerTypeEnum.HEATRECOVERY +userdefined = IfcChillerTypeEnum.USERDEFINED +notdefined = IfcChillerTypeEnum.NOTDEFINED IfcChimneyTypeEnum = enum_namespace() -userdefined = express_getattr(IfcChimneyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChimneyTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcChimneyTypeEnum.USERDEFINED +notdefined = IfcChimneyTypeEnum.NOTDEFINED IfcCoilTypeEnum = enum_namespace() -dxcoolingcoil = express_getattr(IfcCoilTypeEnum, 'DXCOOLINGCOIL', INDETERMINATE) -electricheatingcoil = express_getattr(IfcCoilTypeEnum, 'ELECTRICHEATINGCOIL', INDETERMINATE) -gasheatingcoil = express_getattr(IfcCoilTypeEnum, 'GASHEATINGCOIL', INDETERMINATE) -hydroniccoil = express_getattr(IfcCoilTypeEnum, 'HYDRONICCOIL', INDETERMINATE) -steamheatingcoil = express_getattr(IfcCoilTypeEnum, 'STEAMHEATINGCOIL', INDETERMINATE) -watercoolingcoil = express_getattr(IfcCoilTypeEnum, 'WATERCOOLINGCOIL', INDETERMINATE) -waterheatingcoil = express_getattr(IfcCoilTypeEnum, 'WATERHEATINGCOIL', INDETERMINATE) -userdefined = express_getattr(IfcCoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +dxcoolingcoil = IfcCoilTypeEnum.DXCOOLINGCOIL +electricheatingcoil = IfcCoilTypeEnum.ELECTRICHEATINGCOIL +gasheatingcoil = IfcCoilTypeEnum.GASHEATINGCOIL +hydroniccoil = IfcCoilTypeEnum.HYDRONICCOIL +steamheatingcoil = IfcCoilTypeEnum.STEAMHEATINGCOIL +watercoolingcoil = IfcCoilTypeEnum.WATERCOOLINGCOIL +waterheatingcoil = IfcCoilTypeEnum.WATERHEATINGCOIL +userdefined = IfcCoilTypeEnum.USERDEFINED +notdefined = IfcCoilTypeEnum.NOTDEFINED IfcColumnTypeEnum = enum_namespace() -column = express_getattr(IfcColumnTypeEnum, 'COLUMN', INDETERMINATE) -pilaster = express_getattr(IfcColumnTypeEnum, 'PILASTER', INDETERMINATE) -pierstem = express_getattr(IfcColumnTypeEnum, 'PIERSTEM', INDETERMINATE) -pierstem_segment = express_getattr(IfcColumnTypeEnum, 'PIERSTEM_SEGMENT', INDETERMINATE) -standcolumn = express_getattr(IfcColumnTypeEnum, 'STANDCOLUMN', INDETERMINATE) -userdefined = express_getattr(IfcColumnTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcColumnTypeEnum, 'NOTDEFINED', INDETERMINATE) +column = IfcColumnTypeEnum.COLUMN +pilaster = IfcColumnTypeEnum.PILASTER +pierstem = IfcColumnTypeEnum.PIERSTEM +pierstem_segment = IfcColumnTypeEnum.PIERSTEM_SEGMENT +standcolumn = IfcColumnTypeEnum.STANDCOLUMN +userdefined = IfcColumnTypeEnum.USERDEFINED +notdefined = IfcColumnTypeEnum.NOTDEFINED IfcCommunicationsApplianceTypeEnum = enum_namespace() -antenna = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ANTENNA', INDETERMINATE) -computer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'COMPUTER', INDETERMINATE) -fax = express_getattr(IfcCommunicationsApplianceTypeEnum, 'FAX', INDETERMINATE) -gateway = express_getattr(IfcCommunicationsApplianceTypeEnum, 'GATEWAY', INDETERMINATE) -modem = express_getattr(IfcCommunicationsApplianceTypeEnum, 'MODEM', INDETERMINATE) -networkappliance = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKAPPLIANCE', INDETERMINATE) -networkbridge = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKBRIDGE', INDETERMINATE) -networkhub = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKHUB', INDETERMINATE) -printer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'PRINTER', INDETERMINATE) -repeater = express_getattr(IfcCommunicationsApplianceTypeEnum, 'REPEATER', INDETERMINATE) -router = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ROUTER', INDETERMINATE) -scanner = express_getattr(IfcCommunicationsApplianceTypeEnum, 'SCANNER', INDETERMINATE) -automaton = express_getattr(IfcCommunicationsApplianceTypeEnum, 'AUTOMATON', INDETERMINATE) -intelligent_peripheral = express_getattr(IfcCommunicationsApplianceTypeEnum, 'INTELLIGENT_PERIPHERAL', INDETERMINATE) -ip_network_equipment = express_getattr(IfcCommunicationsApplianceTypeEnum, 'IP_NETWORK_EQUIPMENT', INDETERMINATE) -optical_network_unit = express_getattr(IfcCommunicationsApplianceTypeEnum, 'OPTICAL_NETWORK_UNIT', INDETERMINATE) -telecommand = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TELECOMMAND', INDETERMINATE) -telephonyexchange = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TELEPHONYEXCHANGE', INDETERMINATE) -transitioncomponent = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSITIONCOMPONENT', INDETERMINATE) -transponder = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSPONDER', INDETERMINATE) -transportequipment = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSPORTEQUIPMENT', INDETERMINATE) -userdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +antenna = IfcCommunicationsApplianceTypeEnum.ANTENNA +computer = IfcCommunicationsApplianceTypeEnum.COMPUTER +fax = IfcCommunicationsApplianceTypeEnum.FAX +gateway = IfcCommunicationsApplianceTypeEnum.GATEWAY +modem = IfcCommunicationsApplianceTypeEnum.MODEM +networkappliance = IfcCommunicationsApplianceTypeEnum.NETWORKAPPLIANCE +networkbridge = IfcCommunicationsApplianceTypeEnum.NETWORKBRIDGE +networkhub = IfcCommunicationsApplianceTypeEnum.NETWORKHUB +printer = IfcCommunicationsApplianceTypeEnum.PRINTER +repeater = IfcCommunicationsApplianceTypeEnum.REPEATER +router = IfcCommunicationsApplianceTypeEnum.ROUTER +scanner = IfcCommunicationsApplianceTypeEnum.SCANNER +automaton = IfcCommunicationsApplianceTypeEnum.AUTOMATON +intelligent_peripheral = IfcCommunicationsApplianceTypeEnum.INTELLIGENT_PERIPHERAL +ip_network_equipment = IfcCommunicationsApplianceTypeEnum.IP_NETWORK_EQUIPMENT +optical_network_unit = IfcCommunicationsApplianceTypeEnum.OPTICAL_NETWORK_UNIT +telecommand = IfcCommunicationsApplianceTypeEnum.TELECOMMAND +telephonyexchange = IfcCommunicationsApplianceTypeEnum.TELEPHONYEXCHANGE +transitioncomponent = IfcCommunicationsApplianceTypeEnum.TRANSITIONCOMPONENT +transponder = IfcCommunicationsApplianceTypeEnum.TRANSPONDER +transportequipment = IfcCommunicationsApplianceTypeEnum.TRANSPORTEQUIPMENT +userdefined = IfcCommunicationsApplianceTypeEnum.USERDEFINED +notdefined = IfcCommunicationsApplianceTypeEnum.NOTDEFINED IfcComplexPropertyTemplateTypeEnum = enum_namespace() -p_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'P_COMPLEX', INDETERMINATE) -q_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'Q_COMPLEX', INDETERMINATE) +p_complex = IfcComplexPropertyTemplateTypeEnum.P_COMPLEX +q_complex = IfcComplexPropertyTemplateTypeEnum.Q_COMPLEX IfcCompressorTypeEnum = enum_namespace() -dynamic = express_getattr(IfcCompressorTypeEnum, 'DYNAMIC', INDETERMINATE) -reciprocating = express_getattr(IfcCompressorTypeEnum, 'RECIPROCATING', INDETERMINATE) -rotary = express_getattr(IfcCompressorTypeEnum, 'ROTARY', INDETERMINATE) -scroll = express_getattr(IfcCompressorTypeEnum, 'SCROLL', INDETERMINATE) -trochoidal = express_getattr(IfcCompressorTypeEnum, 'TROCHOIDAL', INDETERMINATE) -singlestage = express_getattr(IfcCompressorTypeEnum, 'SINGLESTAGE', INDETERMINATE) -booster = express_getattr(IfcCompressorTypeEnum, 'BOOSTER', INDETERMINATE) -opentype = express_getattr(IfcCompressorTypeEnum, 'OPENTYPE', INDETERMINATE) -hermetic = express_getattr(IfcCompressorTypeEnum, 'HERMETIC', INDETERMINATE) -semihermetic = express_getattr(IfcCompressorTypeEnum, 'SEMIHERMETIC', INDETERMINATE) -weldedshellhermetic = express_getattr(IfcCompressorTypeEnum, 'WELDEDSHELLHERMETIC', INDETERMINATE) -rollingpiston = express_getattr(IfcCompressorTypeEnum, 'ROLLINGPISTON', INDETERMINATE) -rotaryvane = express_getattr(IfcCompressorTypeEnum, 'ROTARYVANE', INDETERMINATE) -singlescrew = express_getattr(IfcCompressorTypeEnum, 'SINGLESCREW', INDETERMINATE) -twinscrew = express_getattr(IfcCompressorTypeEnum, 'TWINSCREW', INDETERMINATE) -userdefined = express_getattr(IfcCompressorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCompressorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dynamic = IfcCompressorTypeEnum.DYNAMIC +reciprocating = IfcCompressorTypeEnum.RECIPROCATING +rotary = IfcCompressorTypeEnum.ROTARY +scroll = IfcCompressorTypeEnum.SCROLL +trochoidal = IfcCompressorTypeEnum.TROCHOIDAL +singlestage = IfcCompressorTypeEnum.SINGLESTAGE +booster = IfcCompressorTypeEnum.BOOSTER +opentype = IfcCompressorTypeEnum.OPENTYPE +hermetic = IfcCompressorTypeEnum.HERMETIC +semihermetic = IfcCompressorTypeEnum.SEMIHERMETIC +weldedshellhermetic = IfcCompressorTypeEnum.WELDEDSHELLHERMETIC +rollingpiston = IfcCompressorTypeEnum.ROLLINGPISTON +rotaryvane = IfcCompressorTypeEnum.ROTARYVANE +singlescrew = IfcCompressorTypeEnum.SINGLESCREW +twinscrew = IfcCompressorTypeEnum.TWINSCREW +userdefined = IfcCompressorTypeEnum.USERDEFINED +notdefined = IfcCompressorTypeEnum.NOTDEFINED IfcCondenserTypeEnum = enum_namespace() -aircooled = express_getattr(IfcCondenserTypeEnum, 'AIRCOOLED', INDETERMINATE) -evaporativecooled = express_getattr(IfcCondenserTypeEnum, 'EVAPORATIVECOOLED', INDETERMINATE) -watercooled = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLED', INDETERMINATE) -watercooledbrazedplate = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDBRAZEDPLATE', INDETERMINATE) -watercooledshellcoil = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLCOIL', INDETERMINATE) -watercooledshelltube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLTUBE', INDETERMINATE) -watercooledtubeintube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDTUBEINTUBE', INDETERMINATE) -userdefined = express_getattr(IfcCondenserTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCondenserTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcCondenserTypeEnum.AIRCOOLED +evaporativecooled = IfcCondenserTypeEnum.EVAPORATIVECOOLED +watercooled = IfcCondenserTypeEnum.WATERCOOLED +watercooledbrazedplate = IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE +watercooledshellcoil = IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL +watercooledshelltube = IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE +watercooledtubeintube = IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE +userdefined = IfcCondenserTypeEnum.USERDEFINED +notdefined = IfcCondenserTypeEnum.NOTDEFINED IfcConnectionTypeEnum = enum_namespace() -atpath = express_getattr(IfcConnectionTypeEnum, 'ATPATH', INDETERMINATE) -atstart = express_getattr(IfcConnectionTypeEnum, 'ATSTART', INDETERMINATE) -atend = express_getattr(IfcConnectionTypeEnum, 'ATEND', INDETERMINATE) -notdefined = express_getattr(IfcConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +atpath = IfcConnectionTypeEnum.ATPATH +atstart = IfcConnectionTypeEnum.ATSTART +atend = IfcConnectionTypeEnum.ATEND +notdefined = IfcConnectionTypeEnum.NOTDEFINED IfcConstraintEnum = enum_namespace() -hard = express_getattr(IfcConstraintEnum, 'HARD', INDETERMINATE) -soft = express_getattr(IfcConstraintEnum, 'SOFT', INDETERMINATE) -advisory = express_getattr(IfcConstraintEnum, 'ADVISORY', INDETERMINATE) -userdefined = express_getattr(IfcConstraintEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstraintEnum, 'NOTDEFINED', INDETERMINATE) +hard = IfcConstraintEnum.HARD +soft = IfcConstraintEnum.SOFT +advisory = IfcConstraintEnum.ADVISORY +userdefined = IfcConstraintEnum.USERDEFINED +notdefined = IfcConstraintEnum.NOTDEFINED IfcConstructionEquipmentResourceTypeEnum = enum_namespace() -demolishing = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'DEMOLISHING', INDETERMINATE) -earthmoving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'EARTHMOVING', INDETERMINATE) -erecting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'ERECTING', INDETERMINATE) -heating = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'LIGHTING', INDETERMINATE) -paving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PAVING', INDETERMINATE) -pumping = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PUMPING', INDETERMINATE) -transporting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'TRANSPORTING', INDETERMINATE) -userdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +demolishing = IfcConstructionEquipmentResourceTypeEnum.DEMOLISHING +earthmoving = IfcConstructionEquipmentResourceTypeEnum.EARTHMOVING +erecting = IfcConstructionEquipmentResourceTypeEnum.ERECTING +heating = IfcConstructionEquipmentResourceTypeEnum.HEATING +lighting = IfcConstructionEquipmentResourceTypeEnum.LIGHTING +paving = IfcConstructionEquipmentResourceTypeEnum.PAVING +pumping = IfcConstructionEquipmentResourceTypeEnum.PUMPING +transporting = IfcConstructionEquipmentResourceTypeEnum.TRANSPORTING +userdefined = IfcConstructionEquipmentResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionEquipmentResourceTypeEnum.NOTDEFINED IfcConstructionMaterialResourceTypeEnum = enum_namespace() -aggregates = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'AGGREGATES', INDETERMINATE) -concrete = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'DRYWALL', INDETERMINATE) -fuel = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'FUEL', INDETERMINATE) -gypsum = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'GYPSUM', INDETERMINATE) -masonry = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'MASONRY', INDETERMINATE) -metal = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'METAL', INDETERMINATE) -plastic = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'PLASTIC', INDETERMINATE) -wood = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'WOOD', INDETERMINATE) -notdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) -userdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'USERDEFINED', INDETERMINATE) +aggregates = IfcConstructionMaterialResourceTypeEnum.AGGREGATES +concrete = IfcConstructionMaterialResourceTypeEnum.CONCRETE +drywall = IfcConstructionMaterialResourceTypeEnum.DRYWALL +fuel = IfcConstructionMaterialResourceTypeEnum.FUEL +gypsum = IfcConstructionMaterialResourceTypeEnum.GYPSUM +masonry = IfcConstructionMaterialResourceTypeEnum.MASONRY +metal = IfcConstructionMaterialResourceTypeEnum.METAL +plastic = IfcConstructionMaterialResourceTypeEnum.PLASTIC +wood = IfcConstructionMaterialResourceTypeEnum.WOOD +notdefined = IfcConstructionMaterialResourceTypeEnum.NOTDEFINED +userdefined = IfcConstructionMaterialResourceTypeEnum.USERDEFINED IfcConstructionProductResourceTypeEnum = enum_namespace() -assembly = express_getattr(IfcConstructionProductResourceTypeEnum, 'ASSEMBLY', INDETERMINATE) -formwork = express_getattr(IfcConstructionProductResourceTypeEnum, 'FORMWORK', INDETERMINATE) -userdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +assembly = IfcConstructionProductResourceTypeEnum.ASSEMBLY +formwork = IfcConstructionProductResourceTypeEnum.FORMWORK +userdefined = IfcConstructionProductResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionProductResourceTypeEnum.NOTDEFINED IfcControllerTypeEnum = enum_namespace() -floating = express_getattr(IfcControllerTypeEnum, 'FLOATING', INDETERMINATE) -programmable = express_getattr(IfcControllerTypeEnum, 'PROGRAMMABLE', INDETERMINATE) -proportional = express_getattr(IfcControllerTypeEnum, 'PROPORTIONAL', INDETERMINATE) -multiposition = express_getattr(IfcControllerTypeEnum, 'MULTIPOSITION', INDETERMINATE) -twoposition = express_getattr(IfcControllerTypeEnum, 'TWOPOSITION', INDETERMINATE) -userdefined = express_getattr(IfcControllerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcControllerTypeEnum, 'NOTDEFINED', INDETERMINATE) +floating = IfcControllerTypeEnum.FLOATING +programmable = IfcControllerTypeEnum.PROGRAMMABLE +proportional = IfcControllerTypeEnum.PROPORTIONAL +multiposition = IfcControllerTypeEnum.MULTIPOSITION +twoposition = IfcControllerTypeEnum.TWOPOSITION +userdefined = IfcControllerTypeEnum.USERDEFINED +notdefined = IfcControllerTypeEnum.NOTDEFINED IfcConveyorSegmentTypeEnum = enum_namespace() -chuteconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'CHUTECONVEYOR', INDETERMINATE) -beltconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'BELTCONVEYOR', INDETERMINATE) -screwconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'SCREWCONVEYOR', INDETERMINATE) -bucketconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'BUCKETCONVEYOR', INDETERMINATE) -userdefined = express_getattr(IfcConveyorSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConveyorSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +chuteconveyor = IfcConveyorSegmentTypeEnum.CHUTECONVEYOR +beltconveyor = IfcConveyorSegmentTypeEnum.BELTCONVEYOR +screwconveyor = IfcConveyorSegmentTypeEnum.SCREWCONVEYOR +bucketconveyor = IfcConveyorSegmentTypeEnum.BUCKETCONVEYOR +userdefined = IfcConveyorSegmentTypeEnum.USERDEFINED +notdefined = IfcConveyorSegmentTypeEnum.NOTDEFINED IfcCooledBeamTypeEnum = enum_namespace() -active = express_getattr(IfcCooledBeamTypeEnum, 'ACTIVE', INDETERMINATE) -passive = express_getattr(IfcCooledBeamTypeEnum, 'PASSIVE', INDETERMINATE) -userdefined = express_getattr(IfcCooledBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCooledBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +active = IfcCooledBeamTypeEnum.ACTIVE +passive = IfcCooledBeamTypeEnum.PASSIVE +userdefined = IfcCooledBeamTypeEnum.USERDEFINED +notdefined = IfcCooledBeamTypeEnum.NOTDEFINED IfcCoolingTowerTypeEnum = enum_namespace() -naturaldraft = express_getattr(IfcCoolingTowerTypeEnum, 'NATURALDRAFT', INDETERMINATE) -mechanicalinduceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALINDUCEDDRAFT', INDETERMINATE) -mechanicalforceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALFORCEDDRAFT', INDETERMINATE) -userdefined = express_getattr(IfcCoolingTowerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoolingTowerTypeEnum, 'NOTDEFINED', INDETERMINATE) +naturaldraft = IfcCoolingTowerTypeEnum.NATURALDRAFT +mechanicalinduceddraft = IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT +mechanicalforceddraft = IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT +userdefined = IfcCoolingTowerTypeEnum.USERDEFINED +notdefined = IfcCoolingTowerTypeEnum.NOTDEFINED IfcCostItemTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCostItemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostItemTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCostItemTypeEnum.USERDEFINED +notdefined = IfcCostItemTypeEnum.NOTDEFINED IfcCostScheduleTypeEnum = enum_namespace() -budget = express_getattr(IfcCostScheduleTypeEnum, 'BUDGET', INDETERMINATE) -costplan = express_getattr(IfcCostScheduleTypeEnum, 'COSTPLAN', INDETERMINATE) -estimate = express_getattr(IfcCostScheduleTypeEnum, 'ESTIMATE', INDETERMINATE) -tender = express_getattr(IfcCostScheduleTypeEnum, 'TENDER', INDETERMINATE) -pricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'PRICEDBILLOFQUANTITIES', INDETERMINATE) -unpricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'UNPRICEDBILLOFQUANTITIES', INDETERMINATE) -scheduleofrates = express_getattr(IfcCostScheduleTypeEnum, 'SCHEDULEOFRATES', INDETERMINATE) -userdefined = express_getattr(IfcCostScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +budget = IfcCostScheduleTypeEnum.BUDGET +costplan = IfcCostScheduleTypeEnum.COSTPLAN +estimate = IfcCostScheduleTypeEnum.ESTIMATE +tender = IfcCostScheduleTypeEnum.TENDER +pricedbillofquantities = IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES +unpricedbillofquantities = IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES +scheduleofrates = IfcCostScheduleTypeEnum.SCHEDULEOFRATES +userdefined = IfcCostScheduleTypeEnum.USERDEFINED +notdefined = IfcCostScheduleTypeEnum.NOTDEFINED IfcCourseTypeEnum = enum_namespace() -armour = express_getattr(IfcCourseTypeEnum, 'ARMOUR', INDETERMINATE) -filter = express_getattr(IfcCourseTypeEnum, 'FILTER', INDETERMINATE) -ballastbed = express_getattr(IfcCourseTypeEnum, 'BALLASTBED', INDETERMINATE) -core = express_getattr(IfcCourseTypeEnum, 'CORE', INDETERMINATE) -pavement = express_getattr(IfcCourseTypeEnum, 'PAVEMENT', INDETERMINATE) -protection = express_getattr(IfcCourseTypeEnum, 'PROTECTION', INDETERMINATE) -userdefined = express_getattr(IfcCourseTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCourseTypeEnum, 'NOTDEFINED', INDETERMINATE) +armour = IfcCourseTypeEnum.ARMOUR +filter = IfcCourseTypeEnum.FILTER +ballastbed = IfcCourseTypeEnum.BALLASTBED +core = IfcCourseTypeEnum.CORE +pavement = IfcCourseTypeEnum.PAVEMENT +protection = IfcCourseTypeEnum.PROTECTION +userdefined = IfcCourseTypeEnum.USERDEFINED +notdefined = IfcCourseTypeEnum.NOTDEFINED IfcCoveringTypeEnum = enum_namespace() -ceiling = express_getattr(IfcCoveringTypeEnum, 'CEILING', INDETERMINATE) -flooring = express_getattr(IfcCoveringTypeEnum, 'FLOORING', INDETERMINATE) -cladding = express_getattr(IfcCoveringTypeEnum, 'CLADDING', INDETERMINATE) -roofing = express_getattr(IfcCoveringTypeEnum, 'ROOFING', INDETERMINATE) -molding = express_getattr(IfcCoveringTypeEnum, 'MOLDING', INDETERMINATE) -skirtingboard = express_getattr(IfcCoveringTypeEnum, 'SKIRTINGBOARD', INDETERMINATE) -insulation = express_getattr(IfcCoveringTypeEnum, 'INSULATION', INDETERMINATE) -membrane = express_getattr(IfcCoveringTypeEnum, 'MEMBRANE', INDETERMINATE) -sleeving = express_getattr(IfcCoveringTypeEnum, 'SLEEVING', INDETERMINATE) -wrapping = express_getattr(IfcCoveringTypeEnum, 'WRAPPING', INDETERMINATE) -coping = express_getattr(IfcCoveringTypeEnum, 'COPING', INDETERMINATE) -userdefined = express_getattr(IfcCoveringTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoveringTypeEnum, 'NOTDEFINED', INDETERMINATE) +ceiling = IfcCoveringTypeEnum.CEILING +flooring = IfcCoveringTypeEnum.FLOORING +cladding = IfcCoveringTypeEnum.CLADDING +roofing = IfcCoveringTypeEnum.ROOFING +molding = IfcCoveringTypeEnum.MOLDING +skirtingboard = IfcCoveringTypeEnum.SKIRTINGBOARD +insulation = IfcCoveringTypeEnum.INSULATION +membrane = IfcCoveringTypeEnum.MEMBRANE +sleeving = IfcCoveringTypeEnum.SLEEVING +wrapping = IfcCoveringTypeEnum.WRAPPING +coping = IfcCoveringTypeEnum.COPING +userdefined = IfcCoveringTypeEnum.USERDEFINED +notdefined = IfcCoveringTypeEnum.NOTDEFINED IfcCrewResourceTypeEnum = enum_namespace() -office = express_getattr(IfcCrewResourceTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcCrewResourceTypeEnum, 'SITE', INDETERMINATE) -userdefined = express_getattr(IfcCrewResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCrewResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +office = IfcCrewResourceTypeEnum.OFFICE +site = IfcCrewResourceTypeEnum.SITE +userdefined = IfcCrewResourceTypeEnum.USERDEFINED +notdefined = IfcCrewResourceTypeEnum.NOTDEFINED IfcCurtainWallTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCurtainWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCurtainWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCurtainWallTypeEnum.USERDEFINED +notdefined = IfcCurtainWallTypeEnum.NOTDEFINED IfcCurveInterpolationEnum = enum_namespace() -linear = express_getattr(IfcCurveInterpolationEnum, 'LINEAR', INDETERMINATE) -log_linear = express_getattr(IfcCurveInterpolationEnum, 'LOG_LINEAR', INDETERMINATE) -log_log = express_getattr(IfcCurveInterpolationEnum, 'LOG_LOG', INDETERMINATE) -notdefined = express_getattr(IfcCurveInterpolationEnum, 'NOTDEFINED', INDETERMINATE) +linear = IfcCurveInterpolationEnum.LINEAR +log_linear = IfcCurveInterpolationEnum.LOG_LINEAR +log_log = IfcCurveInterpolationEnum.LOG_LOG +notdefined = IfcCurveInterpolationEnum.NOTDEFINED IfcDamperTypeEnum = enum_namespace() -backdraftdamper = express_getattr(IfcDamperTypeEnum, 'BACKDRAFTDAMPER', INDETERMINATE) -balancingdamper = express_getattr(IfcDamperTypeEnum, 'BALANCINGDAMPER', INDETERMINATE) -blastdamper = express_getattr(IfcDamperTypeEnum, 'BLASTDAMPER', INDETERMINATE) -controldamper = express_getattr(IfcDamperTypeEnum, 'CONTROLDAMPER', INDETERMINATE) -firedamper = express_getattr(IfcDamperTypeEnum, 'FIREDAMPER', INDETERMINATE) -firesmokedamper = express_getattr(IfcDamperTypeEnum, 'FIRESMOKEDAMPER', INDETERMINATE) -fumehoodexhaust = express_getattr(IfcDamperTypeEnum, 'FUMEHOODEXHAUST', INDETERMINATE) -gravitydamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYDAMPER', INDETERMINATE) -gravityreliefdamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYRELIEFDAMPER', INDETERMINATE) -reliefdamper = express_getattr(IfcDamperTypeEnum, 'RELIEFDAMPER', INDETERMINATE) -smokedamper = express_getattr(IfcDamperTypeEnum, 'SMOKEDAMPER', INDETERMINATE) -userdefined = express_getattr(IfcDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +backdraftdamper = IfcDamperTypeEnum.BACKDRAFTDAMPER +balancingdamper = IfcDamperTypeEnum.BALANCINGDAMPER +blastdamper = IfcDamperTypeEnum.BLASTDAMPER +controldamper = IfcDamperTypeEnum.CONTROLDAMPER +firedamper = IfcDamperTypeEnum.FIREDAMPER +firesmokedamper = IfcDamperTypeEnum.FIRESMOKEDAMPER +fumehoodexhaust = IfcDamperTypeEnum.FUMEHOODEXHAUST +gravitydamper = IfcDamperTypeEnum.GRAVITYDAMPER +gravityreliefdamper = IfcDamperTypeEnum.GRAVITYRELIEFDAMPER +reliefdamper = IfcDamperTypeEnum.RELIEFDAMPER +smokedamper = IfcDamperTypeEnum.SMOKEDAMPER +userdefined = IfcDamperTypeEnum.USERDEFINED +notdefined = IfcDamperTypeEnum.NOTDEFINED IfcDataOriginEnum = enum_namespace() -measured = express_getattr(IfcDataOriginEnum, 'MEASURED', INDETERMINATE) -predicted = express_getattr(IfcDataOriginEnum, 'PREDICTED', INDETERMINATE) -simulated = express_getattr(IfcDataOriginEnum, 'SIMULATED', INDETERMINATE) -userdefined = express_getattr(IfcDataOriginEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDataOriginEnum, 'NOTDEFINED', INDETERMINATE) +measured = IfcDataOriginEnum.MEASURED +predicted = IfcDataOriginEnum.PREDICTED +simulated = IfcDataOriginEnum.SIMULATED +userdefined = IfcDataOriginEnum.USERDEFINED +notdefined = IfcDataOriginEnum.NOTDEFINED IfcDerivedUnitEnum = enum_namespace() -angularvelocityunit = express_getattr(IfcDerivedUnitEnum, 'ANGULARVELOCITYUNIT', INDETERMINATE) -areadensityunit = express_getattr(IfcDerivedUnitEnum, 'AREADENSITYUNIT', INDETERMINATE) -compoundplaneangleunit = express_getattr(IfcDerivedUnitEnum, 'COMPOUNDPLANEANGLEUNIT', INDETERMINATE) -dynamicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'DYNAMICVISCOSITYUNIT', INDETERMINATE) -heatfluxdensityunit = express_getattr(IfcDerivedUnitEnum, 'HEATFLUXDENSITYUNIT', INDETERMINATE) -integercountrateunit = express_getattr(IfcDerivedUnitEnum, 'INTEGERCOUNTRATEUNIT', INDETERMINATE) -isothermalmoisturecapacityunit = express_getattr(IfcDerivedUnitEnum, 'ISOTHERMALMOISTURECAPACITYUNIT', INDETERMINATE) -kinematicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'KINEMATICVISCOSITYUNIT', INDETERMINATE) -linearvelocityunit = express_getattr(IfcDerivedUnitEnum, 'LINEARVELOCITYUNIT', INDETERMINATE) -massdensityunit = express_getattr(IfcDerivedUnitEnum, 'MASSDENSITYUNIT', INDETERMINATE) -massflowrateunit = express_getattr(IfcDerivedUnitEnum, 'MASSFLOWRATEUNIT', INDETERMINATE) -moisturediffusivityunit = express_getattr(IfcDerivedUnitEnum, 'MOISTUREDIFFUSIVITYUNIT', INDETERMINATE) -molecularweightunit = express_getattr(IfcDerivedUnitEnum, 'MOLECULARWEIGHTUNIT', INDETERMINATE) -specificheatcapacityunit = express_getattr(IfcDerivedUnitEnum, 'SPECIFICHEATCAPACITYUNIT', INDETERMINATE) -thermaladmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALADMITTANCEUNIT', INDETERMINATE) -thermalconductanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALCONDUCTANCEUNIT', INDETERMINATE) -thermalresistanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALRESISTANCEUNIT', INDETERMINATE) -thermaltransmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALTRANSMITTANCEUNIT', INDETERMINATE) -vaporpermeabilityunit = express_getattr(IfcDerivedUnitEnum, 'VAPORPERMEABILITYUNIT', INDETERMINATE) -volumetricflowrateunit = express_getattr(IfcDerivedUnitEnum, 'VOLUMETRICFLOWRATEUNIT', INDETERMINATE) -rotationalfrequencyunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALFREQUENCYUNIT', INDETERMINATE) -torqueunit = express_getattr(IfcDerivedUnitEnum, 'TORQUEUNIT', INDETERMINATE) -momentofinertiaunit = express_getattr(IfcDerivedUnitEnum, 'MOMENTOFINERTIAUNIT', INDETERMINATE) -linearmomentunit = express_getattr(IfcDerivedUnitEnum, 'LINEARMOMENTUNIT', INDETERMINATE) -linearforceunit = express_getattr(IfcDerivedUnitEnum, 'LINEARFORCEUNIT', INDETERMINATE) -planarforceunit = express_getattr(IfcDerivedUnitEnum, 'PLANARFORCEUNIT', INDETERMINATE) -modulusofelasticityunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFELASTICITYUNIT', INDETERMINATE) -shearmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SHEARMODULUSUNIT', INDETERMINATE) -linearstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'LINEARSTIFFNESSUNIT', INDETERMINATE) -rotationalstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALSTIFFNESSUNIT', INDETERMINATE) -modulusofsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFSUBGRADEREACTIONUNIT', INDETERMINATE) -accelerationunit = express_getattr(IfcDerivedUnitEnum, 'ACCELERATIONUNIT', INDETERMINATE) -curvatureunit = express_getattr(IfcDerivedUnitEnum, 'CURVATUREUNIT', INDETERMINATE) -heatingvalueunit = express_getattr(IfcDerivedUnitEnum, 'HEATINGVALUEUNIT', INDETERMINATE) -ionconcentrationunit = express_getattr(IfcDerivedUnitEnum, 'IONCONCENTRATIONUNIT', INDETERMINATE) -luminousintensitydistributionunit = express_getattr(IfcDerivedUnitEnum, 'LUMINOUSINTENSITYDISTRIBUTIONUNIT', INDETERMINATE) -massperlengthunit = express_getattr(IfcDerivedUnitEnum, 'MASSPERLENGTHUNIT', INDETERMINATE) -modulusoflinearsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFLINEARSUBGRADEREACTIONUNIT', INDETERMINATE) -modulusofrotationalsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFROTATIONALSUBGRADEREACTIONUNIT', INDETERMINATE) -phunit = express_getattr(IfcDerivedUnitEnum, 'PHUNIT', INDETERMINATE) -rotationalmassunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALMASSUNIT', INDETERMINATE) -sectionareaintegralunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONAREAINTEGRALUNIT', INDETERMINATE) -sectionmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONMODULUSUNIT', INDETERMINATE) -soundpowerlevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERLEVELUNIT', INDETERMINATE) -soundpowerunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERUNIT', INDETERMINATE) -soundpressurelevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSURELEVELUNIT', INDETERMINATE) -soundpressureunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSUREUNIT', INDETERMINATE) -temperaturegradientunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATUREGRADIENTUNIT', INDETERMINATE) -temperaturerateofchangeunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATURERATEOFCHANGEUNIT', INDETERMINATE) -thermalexpansioncoefficientunit = express_getattr(IfcDerivedUnitEnum, 'THERMALEXPANSIONCOEFFICIENTUNIT', INDETERMINATE) -warpingconstantunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGCONSTANTUNIT', INDETERMINATE) -warpingmomentunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGMOMENTUNIT', INDETERMINATE) -userdefined = express_getattr(IfcDerivedUnitEnum, 'USERDEFINED', INDETERMINATE) +angularvelocityunit = IfcDerivedUnitEnum.ANGULARVELOCITYUNIT +areadensityunit = IfcDerivedUnitEnum.AREADENSITYUNIT +compoundplaneangleunit = IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT +dynamicviscosityunit = IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT +heatfluxdensityunit = IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT +integercountrateunit = IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT +isothermalmoisturecapacityunit = IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT +kinematicviscosityunit = IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT +linearvelocityunit = IfcDerivedUnitEnum.LINEARVELOCITYUNIT +massdensityunit = IfcDerivedUnitEnum.MASSDENSITYUNIT +massflowrateunit = IfcDerivedUnitEnum.MASSFLOWRATEUNIT +moisturediffusivityunit = IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT +molecularweightunit = IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT +specificheatcapacityunit = IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT +thermaladmittanceunit = IfcDerivedUnitEnum.THERMALADMITTANCEUNIT +thermalconductanceunit = IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT +thermalresistanceunit = IfcDerivedUnitEnum.THERMALRESISTANCEUNIT +thermaltransmittanceunit = IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT +vaporpermeabilityunit = IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT +volumetricflowrateunit = IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT +rotationalfrequencyunit = IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT +torqueunit = IfcDerivedUnitEnum.TORQUEUNIT +momentofinertiaunit = IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT +linearmomentunit = IfcDerivedUnitEnum.LINEARMOMENTUNIT +linearforceunit = IfcDerivedUnitEnum.LINEARFORCEUNIT +planarforceunit = IfcDerivedUnitEnum.PLANARFORCEUNIT +modulusofelasticityunit = IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT +shearmodulusunit = IfcDerivedUnitEnum.SHEARMODULUSUNIT +linearstiffnessunit = IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT +rotationalstiffnessunit = IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT +modulusofsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT +accelerationunit = IfcDerivedUnitEnum.ACCELERATIONUNIT +curvatureunit = IfcDerivedUnitEnum.CURVATUREUNIT +heatingvalueunit = IfcDerivedUnitEnum.HEATINGVALUEUNIT +ionconcentrationunit = IfcDerivedUnitEnum.IONCONCENTRATIONUNIT +luminousintensitydistributionunit = IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT +massperlengthunit = IfcDerivedUnitEnum.MASSPERLENGTHUNIT +modulusoflinearsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT +modulusofrotationalsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT +phunit = IfcDerivedUnitEnum.PHUNIT +rotationalmassunit = IfcDerivedUnitEnum.ROTATIONALMASSUNIT +sectionareaintegralunit = IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT +sectionmodulusunit = IfcDerivedUnitEnum.SECTIONMODULUSUNIT +soundpowerlevelunit = IfcDerivedUnitEnum.SOUNDPOWERLEVELUNIT +soundpowerunit = IfcDerivedUnitEnum.SOUNDPOWERUNIT +soundpressurelevelunit = IfcDerivedUnitEnum.SOUNDPRESSURELEVELUNIT +soundpressureunit = IfcDerivedUnitEnum.SOUNDPRESSUREUNIT +temperaturegradientunit = IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT +temperaturerateofchangeunit = IfcDerivedUnitEnum.TEMPERATURERATEOFCHANGEUNIT +thermalexpansioncoefficientunit = IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT +warpingconstantunit = IfcDerivedUnitEnum.WARPINGCONSTANTUNIT +warpingmomentunit = IfcDerivedUnitEnum.WARPINGMOMENTUNIT +userdefined = IfcDerivedUnitEnum.USERDEFINED IfcDirectionSenseEnum = enum_namespace() -positive = express_getattr(IfcDirectionSenseEnum, 'POSITIVE', INDETERMINATE) -negative = express_getattr(IfcDirectionSenseEnum, 'NEGATIVE', INDETERMINATE) +positive = IfcDirectionSenseEnum.POSITIVE +negative = IfcDirectionSenseEnum.NEGATIVE IfcDiscreteAccessoryTypeEnum = enum_namespace() -anchorplate = express_getattr(IfcDiscreteAccessoryTypeEnum, 'ANCHORPLATE', INDETERMINATE) -bracket = express_getattr(IfcDiscreteAccessoryTypeEnum, 'BRACKET', INDETERMINATE) -shoe = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SHOE', INDETERMINATE) -expansion_joint_device = express_getattr(IfcDiscreteAccessoryTypeEnum, 'EXPANSION_JOINT_DEVICE', INDETERMINATE) -cablearranger = express_getattr(IfcDiscreteAccessoryTypeEnum, 'CABLEARRANGER', INDETERMINATE) -insulator = express_getattr(IfcDiscreteAccessoryTypeEnum, 'INSULATOR', INDETERMINATE) -lock = express_getattr(IfcDiscreteAccessoryTypeEnum, 'LOCK', INDETERMINATE) -tensioningequipment = express_getattr(IfcDiscreteAccessoryTypeEnum, 'TENSIONINGEQUIPMENT', INDETERMINATE) -railpad = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAILPAD', INDETERMINATE) -slidingchair = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SLIDINGCHAIR', INDETERMINATE) -rail_lubrication = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAIL_LUBRICATION', INDETERMINATE) -panel_strengthening = express_getattr(IfcDiscreteAccessoryTypeEnum, 'PANEL_STRENGTHENING', INDETERMINATE) -railbrace = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAILBRACE', INDETERMINATE) -elastic_cushion = express_getattr(IfcDiscreteAccessoryTypeEnum, 'ELASTIC_CUSHION', INDETERMINATE) -soundabsorption = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SOUNDABSORPTION', INDETERMINATE) -pointmachinemountingdevice = express_getattr(IfcDiscreteAccessoryTypeEnum, 'POINTMACHINEMOUNTINGDEVICE', INDETERMINATE) -point_machine_locking_device = express_getattr(IfcDiscreteAccessoryTypeEnum, 'POINT_MACHINE_LOCKING_DEVICE', INDETERMINATE) -rail_mechanical_equipment = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAIL_MECHANICAL_EQUIPMENT', INDETERMINATE) -birdprotection = express_getattr(IfcDiscreteAccessoryTypeEnum, 'BIRDPROTECTION', INDETERMINATE) -userdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorplate = IfcDiscreteAccessoryTypeEnum.ANCHORPLATE +bracket = IfcDiscreteAccessoryTypeEnum.BRACKET +shoe = IfcDiscreteAccessoryTypeEnum.SHOE +expansion_joint_device = IfcDiscreteAccessoryTypeEnum.EXPANSION_JOINT_DEVICE +cablearranger = IfcDiscreteAccessoryTypeEnum.CABLEARRANGER +insulator = IfcDiscreteAccessoryTypeEnum.INSULATOR +lock = IfcDiscreteAccessoryTypeEnum.LOCK +tensioningequipment = IfcDiscreteAccessoryTypeEnum.TENSIONINGEQUIPMENT +railpad = IfcDiscreteAccessoryTypeEnum.RAILPAD +slidingchair = IfcDiscreteAccessoryTypeEnum.SLIDINGCHAIR +rail_lubrication = IfcDiscreteAccessoryTypeEnum.RAIL_LUBRICATION +panel_strengthening = IfcDiscreteAccessoryTypeEnum.PANEL_STRENGTHENING +railbrace = IfcDiscreteAccessoryTypeEnum.RAILBRACE +elastic_cushion = IfcDiscreteAccessoryTypeEnum.ELASTIC_CUSHION +soundabsorption = IfcDiscreteAccessoryTypeEnum.SOUNDABSORPTION +pointmachinemountingdevice = IfcDiscreteAccessoryTypeEnum.POINTMACHINEMOUNTINGDEVICE +point_machine_locking_device = IfcDiscreteAccessoryTypeEnum.POINT_MACHINE_LOCKING_DEVICE +rail_mechanical_equipment = IfcDiscreteAccessoryTypeEnum.RAIL_MECHANICAL_EQUIPMENT +birdprotection = IfcDiscreteAccessoryTypeEnum.BIRDPROTECTION +userdefined = IfcDiscreteAccessoryTypeEnum.USERDEFINED +notdefined = IfcDiscreteAccessoryTypeEnum.NOTDEFINED IfcDistributionBoardTypeEnum = enum_namespace() -switchboard = express_getattr(IfcDistributionBoardTypeEnum, 'SWITCHBOARD', INDETERMINATE) -consumerunit = express_getattr(IfcDistributionBoardTypeEnum, 'CONSUMERUNIT', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcDistributionBoardTypeEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -distributionframe = express_getattr(IfcDistributionBoardTypeEnum, 'DISTRIBUTIONFRAME', INDETERMINATE) -distributionboard = express_getattr(IfcDistributionBoardTypeEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -userdefined = express_getattr(IfcDistributionBoardTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionBoardTypeEnum, 'NOTDEFINED', INDETERMINATE) +switchboard = IfcDistributionBoardTypeEnum.SWITCHBOARD +consumerunit = IfcDistributionBoardTypeEnum.CONSUMERUNIT +motorcontrolcentre = IfcDistributionBoardTypeEnum.MOTORCONTROLCENTRE +distributionframe = IfcDistributionBoardTypeEnum.DISTRIBUTIONFRAME +distributionboard = IfcDistributionBoardTypeEnum.DISTRIBUTIONBOARD +userdefined = IfcDistributionBoardTypeEnum.USERDEFINED +notdefined = IfcDistributionBoardTypeEnum.NOTDEFINED IfcDistributionChamberElementTypeEnum = enum_namespace() -formedduct = express_getattr(IfcDistributionChamberElementTypeEnum, 'FORMEDDUCT', INDETERMINATE) -inspectionchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONCHAMBER', INDETERMINATE) -inspectionpit = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONPIT', INDETERMINATE) -manhole = express_getattr(IfcDistributionChamberElementTypeEnum, 'MANHOLE', INDETERMINATE) -meterchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'METERCHAMBER', INDETERMINATE) -sump = express_getattr(IfcDistributionChamberElementTypeEnum, 'SUMP', INDETERMINATE) -trench = express_getattr(IfcDistributionChamberElementTypeEnum, 'TRENCH', INDETERMINATE) -valvechamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'VALVECHAMBER', INDETERMINATE) -userdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +formedduct = IfcDistributionChamberElementTypeEnum.FORMEDDUCT +inspectionchamber = IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER +inspectionpit = IfcDistributionChamberElementTypeEnum.INSPECTIONPIT +manhole = IfcDistributionChamberElementTypeEnum.MANHOLE +meterchamber = IfcDistributionChamberElementTypeEnum.METERCHAMBER +sump = IfcDistributionChamberElementTypeEnum.SUMP +trench = IfcDistributionChamberElementTypeEnum.TRENCH +valvechamber = IfcDistributionChamberElementTypeEnum.VALVECHAMBER +userdefined = IfcDistributionChamberElementTypeEnum.USERDEFINED +notdefined = IfcDistributionChamberElementTypeEnum.NOTDEFINED IfcDistributionPortTypeEnum = enum_namespace() -cable = express_getattr(IfcDistributionPortTypeEnum, 'CABLE', INDETERMINATE) -cablecarrier = express_getattr(IfcDistributionPortTypeEnum, 'CABLECARRIER', INDETERMINATE) -duct = express_getattr(IfcDistributionPortTypeEnum, 'DUCT', INDETERMINATE) -pipe = express_getattr(IfcDistributionPortTypeEnum, 'PIPE', INDETERMINATE) -wireless = express_getattr(IfcDistributionPortTypeEnum, 'WIRELESS', INDETERMINATE) -userdefined = express_getattr(IfcDistributionPortTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionPortTypeEnum, 'NOTDEFINED', INDETERMINATE) +cable = IfcDistributionPortTypeEnum.CABLE +cablecarrier = IfcDistributionPortTypeEnum.CABLECARRIER +duct = IfcDistributionPortTypeEnum.DUCT +pipe = IfcDistributionPortTypeEnum.PIPE +wireless = IfcDistributionPortTypeEnum.WIRELESS +userdefined = IfcDistributionPortTypeEnum.USERDEFINED +notdefined = IfcDistributionPortTypeEnum.NOTDEFINED IfcDistributionSystemEnum = enum_namespace() -airconditioning = express_getattr(IfcDistributionSystemEnum, 'AIRCONDITIONING', INDETERMINATE) -audiovisual = express_getattr(IfcDistributionSystemEnum, 'AUDIOVISUAL', INDETERMINATE) -chemical = express_getattr(IfcDistributionSystemEnum, 'CHEMICAL', INDETERMINATE) -chilledwater = express_getattr(IfcDistributionSystemEnum, 'CHILLEDWATER', INDETERMINATE) -communication = express_getattr(IfcDistributionSystemEnum, 'COMMUNICATION', INDETERMINATE) -compressedair = express_getattr(IfcDistributionSystemEnum, 'COMPRESSEDAIR', INDETERMINATE) -condenserwater = express_getattr(IfcDistributionSystemEnum, 'CONDENSERWATER', INDETERMINATE) -control = express_getattr(IfcDistributionSystemEnum, 'CONTROL', INDETERMINATE) -conveying = express_getattr(IfcDistributionSystemEnum, 'CONVEYING', INDETERMINATE) -data = express_getattr(IfcDistributionSystemEnum, 'DATA', INDETERMINATE) -disposal = express_getattr(IfcDistributionSystemEnum, 'DISPOSAL', INDETERMINATE) -domesticcoldwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICCOLDWATER', INDETERMINATE) -domestichotwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICHOTWATER', INDETERMINATE) -drainage = express_getattr(IfcDistributionSystemEnum, 'DRAINAGE', INDETERMINATE) -earthing = express_getattr(IfcDistributionSystemEnum, 'EARTHING', INDETERMINATE) -electrical = express_getattr(IfcDistributionSystemEnum, 'ELECTRICAL', INDETERMINATE) -electroacoustic = express_getattr(IfcDistributionSystemEnum, 'ELECTROACOUSTIC', INDETERMINATE) -exhaust = express_getattr(IfcDistributionSystemEnum, 'EXHAUST', INDETERMINATE) -fireprotection = express_getattr(IfcDistributionSystemEnum, 'FIREPROTECTION', INDETERMINATE) -fuel = express_getattr(IfcDistributionSystemEnum, 'FUEL', INDETERMINATE) -gas = express_getattr(IfcDistributionSystemEnum, 'GAS', INDETERMINATE) -hazardous = express_getattr(IfcDistributionSystemEnum, 'HAZARDOUS', INDETERMINATE) -heating = express_getattr(IfcDistributionSystemEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcDistributionSystemEnum, 'LIGHTING', INDETERMINATE) -lightningprotection = express_getattr(IfcDistributionSystemEnum, 'LIGHTNINGPROTECTION', INDETERMINATE) -municipalsolidwaste = express_getattr(IfcDistributionSystemEnum, 'MUNICIPALSOLIDWASTE', INDETERMINATE) -oil = express_getattr(IfcDistributionSystemEnum, 'OIL', INDETERMINATE) -operational = express_getattr(IfcDistributionSystemEnum, 'OPERATIONAL', INDETERMINATE) -powergeneration = express_getattr(IfcDistributionSystemEnum, 'POWERGENERATION', INDETERMINATE) -rainwater = express_getattr(IfcDistributionSystemEnum, 'RAINWATER', INDETERMINATE) -refrigeration = express_getattr(IfcDistributionSystemEnum, 'REFRIGERATION', INDETERMINATE) -security = express_getattr(IfcDistributionSystemEnum, 'SECURITY', INDETERMINATE) -sewage = express_getattr(IfcDistributionSystemEnum, 'SEWAGE', INDETERMINATE) -signal = express_getattr(IfcDistributionSystemEnum, 'SIGNAL', INDETERMINATE) -stormwater = express_getattr(IfcDistributionSystemEnum, 'STORMWATER', INDETERMINATE) -telephone = express_getattr(IfcDistributionSystemEnum, 'TELEPHONE', INDETERMINATE) -tv = express_getattr(IfcDistributionSystemEnum, 'TV', INDETERMINATE) -vacuum = express_getattr(IfcDistributionSystemEnum, 'VACUUM', INDETERMINATE) -vent = express_getattr(IfcDistributionSystemEnum, 'VENT', INDETERMINATE) -ventilation = express_getattr(IfcDistributionSystemEnum, 'VENTILATION', INDETERMINATE) -wastewater = express_getattr(IfcDistributionSystemEnum, 'WASTEWATER', INDETERMINATE) -watersupply = express_getattr(IfcDistributionSystemEnum, 'WATERSUPPLY', INDETERMINATE) -catenary_system = express_getattr(IfcDistributionSystemEnum, 'CATENARY_SYSTEM', INDETERMINATE) -overhead_contactline_system = express_getattr(IfcDistributionSystemEnum, 'OVERHEAD_CONTACTLINE_SYSTEM', INDETERMINATE) -return_circuit = express_getattr(IfcDistributionSystemEnum, 'RETURN_CIRCUIT', INDETERMINATE) -userdefined = express_getattr(IfcDistributionSystemEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionSystemEnum, 'NOTDEFINED', INDETERMINATE) +airconditioning = IfcDistributionSystemEnum.AIRCONDITIONING +audiovisual = IfcDistributionSystemEnum.AUDIOVISUAL +chemical = IfcDistributionSystemEnum.CHEMICAL +chilledwater = IfcDistributionSystemEnum.CHILLEDWATER +communication = IfcDistributionSystemEnum.COMMUNICATION +compressedair = IfcDistributionSystemEnum.COMPRESSEDAIR +condenserwater = IfcDistributionSystemEnum.CONDENSERWATER +control = IfcDistributionSystemEnum.CONTROL +conveying = IfcDistributionSystemEnum.CONVEYING +data = IfcDistributionSystemEnum.DATA +disposal = IfcDistributionSystemEnum.DISPOSAL +domesticcoldwater = IfcDistributionSystemEnum.DOMESTICCOLDWATER +domestichotwater = IfcDistributionSystemEnum.DOMESTICHOTWATER +drainage = IfcDistributionSystemEnum.DRAINAGE +earthing = IfcDistributionSystemEnum.EARTHING +electrical = IfcDistributionSystemEnum.ELECTRICAL +electroacoustic = IfcDistributionSystemEnum.ELECTROACOUSTIC +exhaust = IfcDistributionSystemEnum.EXHAUST +fireprotection = IfcDistributionSystemEnum.FIREPROTECTION +fuel = IfcDistributionSystemEnum.FUEL +gas = IfcDistributionSystemEnum.GAS +hazardous = IfcDistributionSystemEnum.HAZARDOUS +heating = IfcDistributionSystemEnum.HEATING +lighting = IfcDistributionSystemEnum.LIGHTING +lightningprotection = IfcDistributionSystemEnum.LIGHTNINGPROTECTION +municipalsolidwaste = IfcDistributionSystemEnum.MUNICIPALSOLIDWASTE +oil = IfcDistributionSystemEnum.OIL +operational = IfcDistributionSystemEnum.OPERATIONAL +powergeneration = IfcDistributionSystemEnum.POWERGENERATION +rainwater = IfcDistributionSystemEnum.RAINWATER +refrigeration = IfcDistributionSystemEnum.REFRIGERATION +security = IfcDistributionSystemEnum.SECURITY +sewage = IfcDistributionSystemEnum.SEWAGE +signal = IfcDistributionSystemEnum.SIGNAL +stormwater = IfcDistributionSystemEnum.STORMWATER +telephone = IfcDistributionSystemEnum.TELEPHONE +tv = IfcDistributionSystemEnum.TV +vacuum = IfcDistributionSystemEnum.VACUUM +vent = IfcDistributionSystemEnum.VENT +ventilation = IfcDistributionSystemEnum.VENTILATION +wastewater = IfcDistributionSystemEnum.WASTEWATER +watersupply = IfcDistributionSystemEnum.WATERSUPPLY +catenary_system = IfcDistributionSystemEnum.CATENARY_SYSTEM +overhead_contactline_system = IfcDistributionSystemEnum.OVERHEAD_CONTACTLINE_SYSTEM +return_circuit = IfcDistributionSystemEnum.RETURN_CIRCUIT +userdefined = IfcDistributionSystemEnum.USERDEFINED +notdefined = IfcDistributionSystemEnum.NOTDEFINED IfcDocumentConfidentialityEnum = enum_namespace() -public = express_getattr(IfcDocumentConfidentialityEnum, 'PUBLIC', INDETERMINATE) -restricted = express_getattr(IfcDocumentConfidentialityEnum, 'RESTRICTED', INDETERMINATE) -confidential = express_getattr(IfcDocumentConfidentialityEnum, 'CONFIDENTIAL', INDETERMINATE) -personal = express_getattr(IfcDocumentConfidentialityEnum, 'PERSONAL', INDETERMINATE) -userdefined = express_getattr(IfcDocumentConfidentialityEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDocumentConfidentialityEnum, 'NOTDEFINED', INDETERMINATE) +public = IfcDocumentConfidentialityEnum.PUBLIC +restricted = IfcDocumentConfidentialityEnum.RESTRICTED +confidential = IfcDocumentConfidentialityEnum.CONFIDENTIAL +personal = IfcDocumentConfidentialityEnum.PERSONAL +userdefined = IfcDocumentConfidentialityEnum.USERDEFINED +notdefined = IfcDocumentConfidentialityEnum.NOTDEFINED IfcDocumentStatusEnum = enum_namespace() -draft = express_getattr(IfcDocumentStatusEnum, 'DRAFT', INDETERMINATE) -finaldraft = express_getattr(IfcDocumentStatusEnum, 'FINALDRAFT', INDETERMINATE) -final = express_getattr(IfcDocumentStatusEnum, 'FINAL', INDETERMINATE) -revision = express_getattr(IfcDocumentStatusEnum, 'REVISION', INDETERMINATE) -notdefined = express_getattr(IfcDocumentStatusEnum, 'NOTDEFINED', INDETERMINATE) +draft = IfcDocumentStatusEnum.DRAFT +finaldraft = IfcDocumentStatusEnum.FINALDRAFT +final = IfcDocumentStatusEnum.FINAL +revision = IfcDocumentStatusEnum.REVISION +notdefined = IfcDocumentStatusEnum.NOTDEFINED IfcDoorPanelOperationEnum = enum_namespace() -swinging = express_getattr(IfcDoorPanelOperationEnum, 'SWINGING', INDETERMINATE) -double_acting = express_getattr(IfcDoorPanelOperationEnum, 'DOUBLE_ACTING', INDETERMINATE) -sliding = express_getattr(IfcDoorPanelOperationEnum, 'SLIDING', INDETERMINATE) -folding = express_getattr(IfcDoorPanelOperationEnum, 'FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorPanelOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorPanelOperationEnum, 'ROLLINGUP', INDETERMINATE) -fixedpanel = express_getattr(IfcDoorPanelOperationEnum, 'FIXEDPANEL', INDETERMINATE) -userdefined = express_getattr(IfcDoorPanelOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +swinging = IfcDoorPanelOperationEnum.SWINGING +double_acting = IfcDoorPanelOperationEnum.DOUBLE_ACTING +sliding = IfcDoorPanelOperationEnum.SLIDING +folding = IfcDoorPanelOperationEnum.FOLDING +revolving = IfcDoorPanelOperationEnum.REVOLVING +rollingup = IfcDoorPanelOperationEnum.ROLLINGUP +fixedpanel = IfcDoorPanelOperationEnum.FIXEDPANEL +userdefined = IfcDoorPanelOperationEnum.USERDEFINED +notdefined = IfcDoorPanelOperationEnum.NOTDEFINED IfcDoorPanelPositionEnum = enum_namespace() -left = express_getattr(IfcDoorPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcDoorPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcDoorPanelPositionEnum, 'RIGHT', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcDoorPanelPositionEnum.LEFT +middle = IfcDoorPanelPositionEnum.MIDDLE +right = IfcDoorPanelPositionEnum.RIGHT +notdefined = IfcDoorPanelPositionEnum.NOTDEFINED IfcDoorStyleConstructionEnum = enum_namespace() -aluminium = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM', INDETERMINATE) -high_grade_steel = express_getattr(IfcDoorStyleConstructionEnum, 'HIGH_GRADE_STEEL', INDETERMINATE) -steel = express_getattr(IfcDoorStyleConstructionEnum, 'STEEL', INDETERMINATE) -wood = express_getattr(IfcDoorStyleConstructionEnum, 'WOOD', INDETERMINATE) -aluminium_wood = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM_WOOD', INDETERMINATE) -aluminium_plastic = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM_PLASTIC', INDETERMINATE) -plastic = express_getattr(IfcDoorStyleConstructionEnum, 'PLASTIC', INDETERMINATE) -userdefined = express_getattr(IfcDoorStyleConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorStyleConstructionEnum, 'NOTDEFINED', INDETERMINATE) +aluminium = IfcDoorStyleConstructionEnum.ALUMINIUM +high_grade_steel = IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL +steel = IfcDoorStyleConstructionEnum.STEEL +wood = IfcDoorStyleConstructionEnum.WOOD +aluminium_wood = IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD +aluminium_plastic = IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC +plastic = IfcDoorStyleConstructionEnum.PLASTIC +userdefined = IfcDoorStyleConstructionEnum.USERDEFINED +notdefined = IfcDoorStyleConstructionEnum.NOTDEFINED IfcDoorStyleOperationEnum = enum_namespace() -single_swing_left = express_getattr(IfcDoorStyleOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorStyleOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -double_door_single_swing = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING', INDETERMINATE) -double_door_single_swing_opposite_left = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_door_single_swing_opposite_right = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -double_door_double_swing = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_DOUBLE_SWING', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorStyleOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorStyleOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -double_door_sliding = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SLIDING', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorStyleOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorStyleOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -double_door_folding = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorStyleOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorStyleOperationEnum, 'ROLLINGUP', INDETERMINATE) -userdefined = express_getattr(IfcDoorStyleOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorStyleOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_swing_left = IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT +double_door_single_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING +double_door_single_swing_opposite_left = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT +double_door_single_swing_opposite_right = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT +double_swing_left = IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT +double_door_double_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING +sliding_to_left = IfcDoorStyleOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT +double_door_sliding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING +folding_to_left = IfcDoorStyleOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT +double_door_folding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING +revolving = IfcDoorStyleOperationEnum.REVOLVING +rollingup = IfcDoorStyleOperationEnum.ROLLINGUP +userdefined = IfcDoorStyleOperationEnum.USERDEFINED +notdefined = IfcDoorStyleOperationEnum.NOTDEFINED IfcDoorTypeEnum = enum_namespace() -door = express_getattr(IfcDoorTypeEnum, 'DOOR', INDETERMINATE) -gate = express_getattr(IfcDoorTypeEnum, 'GATE', INDETERMINATE) -trapdoor = express_getattr(IfcDoorTypeEnum, 'TRAPDOOR', INDETERMINATE) -boom_barrier = express_getattr(IfcDoorTypeEnum, 'BOOM_BARRIER', INDETERMINATE) -turnstile = express_getattr(IfcDoorTypeEnum, 'TURNSTILE', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeEnum, 'NOTDEFINED', INDETERMINATE) +door = IfcDoorTypeEnum.DOOR +gate = IfcDoorTypeEnum.GATE +trapdoor = IfcDoorTypeEnum.TRAPDOOR +boom_barrier = IfcDoorTypeEnum.BOOM_BARRIER +turnstile = IfcDoorTypeEnum.TURNSTILE +userdefined = IfcDoorTypeEnum.USERDEFINED +notdefined = IfcDoorTypeEnum.NOTDEFINED IfcDoorTypeOperationEnum = enum_namespace() -single_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -double_panel_single_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_SINGLE_SWING', INDETERMINATE) -double_panel_single_swing_opposite_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_panel_single_swing_opposite_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -double_panel_double_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_DOUBLE_SWING', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -double_panel_sliding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_SLIDING', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -double_panel_folding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_FOLDING', INDETERMINATE) -revolving_horizontal = express_getattr(IfcDoorTypeOperationEnum, 'REVOLVING_HORIZONTAL', INDETERMINATE) -rollingup = express_getattr(IfcDoorTypeOperationEnum, 'ROLLINGUP', INDETERMINATE) -swing_fixed_left = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_LEFT', INDETERMINATE) -swing_fixed_right = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_RIGHT', INDETERMINATE) -double_panel_lifting_vertical = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_LIFTING_VERTICAL', INDETERMINATE) -lifting_horizontal = express_getattr(IfcDoorTypeOperationEnum, 'LIFTING_HORIZONTAL', INDETERMINATE) -lifting_vertical_left = express_getattr(IfcDoorTypeOperationEnum, 'LIFTING_VERTICAL_LEFT', INDETERMINATE) -lifting_vertical_right = express_getattr(IfcDoorTypeOperationEnum, 'LIFTING_VERTICAL_RIGHT', INDETERMINATE) -revolving_vertical = express_getattr(IfcDoorTypeOperationEnum, 'REVOLVING_VERTICAL', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_swing_left = IfcDoorTypeOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorTypeOperationEnum.SINGLE_SWING_RIGHT +double_panel_single_swing = IfcDoorTypeOperationEnum.DOUBLE_PANEL_SINGLE_SWING +double_panel_single_swing_opposite_left = IfcDoorTypeOperationEnum.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT +double_panel_single_swing_opposite_right = IfcDoorTypeOperationEnum.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT +double_swing_left = IfcDoorTypeOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorTypeOperationEnum.DOUBLE_SWING_RIGHT +double_panel_double_swing = IfcDoorTypeOperationEnum.DOUBLE_PANEL_DOUBLE_SWING +sliding_to_left = IfcDoorTypeOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorTypeOperationEnum.SLIDING_TO_RIGHT +double_panel_sliding = IfcDoorTypeOperationEnum.DOUBLE_PANEL_SLIDING +folding_to_left = IfcDoorTypeOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorTypeOperationEnum.FOLDING_TO_RIGHT +double_panel_folding = IfcDoorTypeOperationEnum.DOUBLE_PANEL_FOLDING +revolving_horizontal = IfcDoorTypeOperationEnum.REVOLVING_HORIZONTAL +rollingup = IfcDoorTypeOperationEnum.ROLLINGUP +swing_fixed_left = IfcDoorTypeOperationEnum.SWING_FIXED_LEFT +swing_fixed_right = IfcDoorTypeOperationEnum.SWING_FIXED_RIGHT +double_panel_lifting_vertical = IfcDoorTypeOperationEnum.DOUBLE_PANEL_LIFTING_VERTICAL +lifting_horizontal = IfcDoorTypeOperationEnum.LIFTING_HORIZONTAL +lifting_vertical_left = IfcDoorTypeOperationEnum.LIFTING_VERTICAL_LEFT +lifting_vertical_right = IfcDoorTypeOperationEnum.LIFTING_VERTICAL_RIGHT +revolving_vertical = IfcDoorTypeOperationEnum.REVOLVING_VERTICAL +userdefined = IfcDoorTypeOperationEnum.USERDEFINED +notdefined = IfcDoorTypeOperationEnum.NOTDEFINED IfcDuctFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcDuctFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcDuctFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcDuctFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcDuctFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcDuctFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcDuctFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcDuctFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcDuctFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcDuctFittingTypeEnum.BEND +connector = IfcDuctFittingTypeEnum.CONNECTOR +entry = IfcDuctFittingTypeEnum.ENTRY +exit = IfcDuctFittingTypeEnum.EXIT +junction = IfcDuctFittingTypeEnum.JUNCTION +obstruction = IfcDuctFittingTypeEnum.OBSTRUCTION +transition = IfcDuctFittingTypeEnum.TRANSITION +userdefined = IfcDuctFittingTypeEnum.USERDEFINED +notdefined = IfcDuctFittingTypeEnum.NOTDEFINED IfcDuctSegmentTypeEnum = enum_namespace() -rigidsegment = express_getattr(IfcDuctSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -flexiblesegment = express_getattr(IfcDuctSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcDuctSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +rigidsegment = IfcDuctSegmentTypeEnum.RIGIDSEGMENT +flexiblesegment = IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT +userdefined = IfcDuctSegmentTypeEnum.USERDEFINED +notdefined = IfcDuctSegmentTypeEnum.NOTDEFINED IfcDuctSilencerTypeEnum = enum_namespace() -flatoval = express_getattr(IfcDuctSilencerTypeEnum, 'FLATOVAL', INDETERMINATE) -rectangular = express_getattr(IfcDuctSilencerTypeEnum, 'RECTANGULAR', INDETERMINATE) -round = express_getattr(IfcDuctSilencerTypeEnum, 'ROUND', INDETERMINATE) -userdefined = express_getattr(IfcDuctSilencerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSilencerTypeEnum, 'NOTDEFINED', INDETERMINATE) +flatoval = IfcDuctSilencerTypeEnum.FLATOVAL +rectangular = IfcDuctSilencerTypeEnum.RECTANGULAR +round = IfcDuctSilencerTypeEnum.ROUND +userdefined = IfcDuctSilencerTypeEnum.USERDEFINED +notdefined = IfcDuctSilencerTypeEnum.NOTDEFINED IfcEarthworksCutTypeEnum = enum_namespace() -trench = express_getattr(IfcEarthworksCutTypeEnum, 'TRENCH', INDETERMINATE) -dredging = express_getattr(IfcEarthworksCutTypeEnum, 'DREDGING', INDETERMINATE) -excavation = express_getattr(IfcEarthworksCutTypeEnum, 'EXCAVATION', INDETERMINATE) -overexcavation = express_getattr(IfcEarthworksCutTypeEnum, 'OVEREXCAVATION', INDETERMINATE) -topsoilremoval = express_getattr(IfcEarthworksCutTypeEnum, 'TOPSOILREMOVAL', INDETERMINATE) -stepexcavation = express_getattr(IfcEarthworksCutTypeEnum, 'STEPEXCAVATION', INDETERMINATE) -pavementmilling = express_getattr(IfcEarthworksCutTypeEnum, 'PAVEMENTMILLING', INDETERMINATE) -cut = express_getattr(IfcEarthworksCutTypeEnum, 'CUT', INDETERMINATE) -base_excavation = express_getattr(IfcEarthworksCutTypeEnum, 'BASE_EXCAVATION', INDETERMINATE) -userdefined = express_getattr(IfcEarthworksCutTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEarthworksCutTypeEnum, 'NOTDEFINED', INDETERMINATE) +trench = IfcEarthworksCutTypeEnum.TRENCH +dredging = IfcEarthworksCutTypeEnum.DREDGING +excavation = IfcEarthworksCutTypeEnum.EXCAVATION +overexcavation = IfcEarthworksCutTypeEnum.OVEREXCAVATION +topsoilremoval = IfcEarthworksCutTypeEnum.TOPSOILREMOVAL +stepexcavation = IfcEarthworksCutTypeEnum.STEPEXCAVATION +pavementmilling = IfcEarthworksCutTypeEnum.PAVEMENTMILLING +cut = IfcEarthworksCutTypeEnum.CUT +base_excavation = IfcEarthworksCutTypeEnum.BASE_EXCAVATION +userdefined = IfcEarthworksCutTypeEnum.USERDEFINED +notdefined = IfcEarthworksCutTypeEnum.NOTDEFINED IfcEarthworksFillTypeEnum = enum_namespace() -backfill = express_getattr(IfcEarthworksFillTypeEnum, 'BACKFILL', INDETERMINATE) -counterweight = express_getattr(IfcEarthworksFillTypeEnum, 'COUNTERWEIGHT', INDETERMINATE) -subgrade = express_getattr(IfcEarthworksFillTypeEnum, 'SUBGRADE', INDETERMINATE) -embankment = express_getattr(IfcEarthworksFillTypeEnum, 'EMBANKMENT', INDETERMINATE) -transitionsection = express_getattr(IfcEarthworksFillTypeEnum, 'TRANSITIONSECTION', INDETERMINATE) -subgradebed = express_getattr(IfcEarthworksFillTypeEnum, 'SUBGRADEBED', INDETERMINATE) -slopefill = express_getattr(IfcEarthworksFillTypeEnum, 'SLOPEFILL', INDETERMINATE) -userdefined = express_getattr(IfcEarthworksFillTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEarthworksFillTypeEnum, 'NOTDEFINED', INDETERMINATE) +backfill = IfcEarthworksFillTypeEnum.BACKFILL +counterweight = IfcEarthworksFillTypeEnum.COUNTERWEIGHT +subgrade = IfcEarthworksFillTypeEnum.SUBGRADE +embankment = IfcEarthworksFillTypeEnum.EMBANKMENT +transitionsection = IfcEarthworksFillTypeEnum.TRANSITIONSECTION +subgradebed = IfcEarthworksFillTypeEnum.SUBGRADEBED +slopefill = IfcEarthworksFillTypeEnum.SLOPEFILL +userdefined = IfcEarthworksFillTypeEnum.USERDEFINED +notdefined = IfcEarthworksFillTypeEnum.NOTDEFINED IfcElectricApplianceTypeEnum = enum_namespace() -dishwasher = express_getattr(IfcElectricApplianceTypeEnum, 'DISHWASHER', INDETERMINATE) -electriccooker = express_getattr(IfcElectricApplianceTypeEnum, 'ELECTRICCOOKER', INDETERMINATE) -freestandingelectricheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGELECTRICHEATER', INDETERMINATE) -freestandingfan = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGFAN', INDETERMINATE) -freestandingwaterheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERHEATER', INDETERMINATE) -freestandingwatercooler = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERCOOLER', INDETERMINATE) -freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FREEZER', INDETERMINATE) -fridge_freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FRIDGE_FREEZER', INDETERMINATE) -handdryer = express_getattr(IfcElectricApplianceTypeEnum, 'HANDDRYER', INDETERMINATE) -kitchenmachine = express_getattr(IfcElectricApplianceTypeEnum, 'KITCHENMACHINE', INDETERMINATE) -microwave = express_getattr(IfcElectricApplianceTypeEnum, 'MICROWAVE', INDETERMINATE) -photocopier = express_getattr(IfcElectricApplianceTypeEnum, 'PHOTOCOPIER', INDETERMINATE) -refrigerator = express_getattr(IfcElectricApplianceTypeEnum, 'REFRIGERATOR', INDETERMINATE) -tumbledryer = express_getattr(IfcElectricApplianceTypeEnum, 'TUMBLEDRYER', INDETERMINATE) -vendingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'VENDINGMACHINE', INDETERMINATE) -washingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'WASHINGMACHINE', INDETERMINATE) -userdefined = express_getattr(IfcElectricApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +dishwasher = IfcElectricApplianceTypeEnum.DISHWASHER +electriccooker = IfcElectricApplianceTypeEnum.ELECTRICCOOKER +freestandingelectricheater = IfcElectricApplianceTypeEnum.FREESTANDINGELECTRICHEATER +freestandingfan = IfcElectricApplianceTypeEnum.FREESTANDINGFAN +freestandingwaterheater = IfcElectricApplianceTypeEnum.FREESTANDINGWATERHEATER +freestandingwatercooler = IfcElectricApplianceTypeEnum.FREESTANDINGWATERCOOLER +freezer = IfcElectricApplianceTypeEnum.FREEZER +fridge_freezer = IfcElectricApplianceTypeEnum.FRIDGE_FREEZER +handdryer = IfcElectricApplianceTypeEnum.HANDDRYER +kitchenmachine = IfcElectricApplianceTypeEnum.KITCHENMACHINE +microwave = IfcElectricApplianceTypeEnum.MICROWAVE +photocopier = IfcElectricApplianceTypeEnum.PHOTOCOPIER +refrigerator = IfcElectricApplianceTypeEnum.REFRIGERATOR +tumbledryer = IfcElectricApplianceTypeEnum.TUMBLEDRYER +vendingmachine = IfcElectricApplianceTypeEnum.VENDINGMACHINE +washingmachine = IfcElectricApplianceTypeEnum.WASHINGMACHINE +userdefined = IfcElectricApplianceTypeEnum.USERDEFINED +notdefined = IfcElectricApplianceTypeEnum.NOTDEFINED IfcElectricDistributionBoardTypeEnum = enum_namespace() -consumerunit = express_getattr(IfcElectricDistributionBoardTypeEnum, 'CONSUMERUNIT', INDETERMINATE) -distributionboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcElectricDistributionBoardTypeEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -switchboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'SWITCHBOARD', INDETERMINATE) -userdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'NOTDEFINED', INDETERMINATE) +consumerunit = IfcElectricDistributionBoardTypeEnum.CONSUMERUNIT +distributionboard = IfcElectricDistributionBoardTypeEnum.DISTRIBUTIONBOARD +motorcontrolcentre = IfcElectricDistributionBoardTypeEnum.MOTORCONTROLCENTRE +switchboard = IfcElectricDistributionBoardTypeEnum.SWITCHBOARD +userdefined = IfcElectricDistributionBoardTypeEnum.USERDEFINED +notdefined = IfcElectricDistributionBoardTypeEnum.NOTDEFINED IfcElectricFlowStorageDeviceTypeEnum = enum_namespace() -battery = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'BATTERY', INDETERMINATE) -capacitorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITORBANK', INDETERMINATE) -harmonicfilter = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'HARMONICFILTER', INDETERMINATE) -inductorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTORBANK', INDETERMINATE) -ups = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'UPS', INDETERMINATE) -capacitor = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITOR', INDETERMINATE) -compensator = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'COMPENSATOR', INDETERMINATE) -inductor = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTOR', INDETERMINATE) -recharger = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'RECHARGER', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +battery = IfcElectricFlowStorageDeviceTypeEnum.BATTERY +capacitorbank = IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK +harmonicfilter = IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER +inductorbank = IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK +ups = IfcElectricFlowStorageDeviceTypeEnum.UPS +capacitor = IfcElectricFlowStorageDeviceTypeEnum.CAPACITOR +compensator = IfcElectricFlowStorageDeviceTypeEnum.COMPENSATOR +inductor = IfcElectricFlowStorageDeviceTypeEnum.INDUCTOR +recharger = IfcElectricFlowStorageDeviceTypeEnum.RECHARGER +userdefined = IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED IfcElectricFlowTreatmentDeviceTypeEnum = enum_namespace() -electronicfilter = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'ELECTRONICFILTER', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +electronicfilter = IfcElectricFlowTreatmentDeviceTypeEnum.ELECTRONICFILTER +userdefined = IfcElectricFlowTreatmentDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowTreatmentDeviceTypeEnum.NOTDEFINED IfcElectricGeneratorTypeEnum = enum_namespace() -chp = express_getattr(IfcElectricGeneratorTypeEnum, 'CHP', INDETERMINATE) -enginegenerator = express_getattr(IfcElectricGeneratorTypeEnum, 'ENGINEGENERATOR', INDETERMINATE) -standalone = express_getattr(IfcElectricGeneratorTypeEnum, 'STANDALONE', INDETERMINATE) -userdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'NOTDEFINED', INDETERMINATE) +chp = IfcElectricGeneratorTypeEnum.CHP +enginegenerator = IfcElectricGeneratorTypeEnum.ENGINEGENERATOR +standalone = IfcElectricGeneratorTypeEnum.STANDALONE +userdefined = IfcElectricGeneratorTypeEnum.USERDEFINED +notdefined = IfcElectricGeneratorTypeEnum.NOTDEFINED IfcElectricMotorTypeEnum = enum_namespace() -dc = express_getattr(IfcElectricMotorTypeEnum, 'DC', INDETERMINATE) -induction = express_getattr(IfcElectricMotorTypeEnum, 'INDUCTION', INDETERMINATE) -polyphase = express_getattr(IfcElectricMotorTypeEnum, 'POLYPHASE', INDETERMINATE) -reluctancesynchronous = express_getattr(IfcElectricMotorTypeEnum, 'RELUCTANCESYNCHRONOUS', INDETERMINATE) -synchronous = express_getattr(IfcElectricMotorTypeEnum, 'SYNCHRONOUS', INDETERMINATE) -userdefined = express_getattr(IfcElectricMotorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricMotorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dc = IfcElectricMotorTypeEnum.DC +induction = IfcElectricMotorTypeEnum.INDUCTION +polyphase = IfcElectricMotorTypeEnum.POLYPHASE +reluctancesynchronous = IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS +synchronous = IfcElectricMotorTypeEnum.SYNCHRONOUS +userdefined = IfcElectricMotorTypeEnum.USERDEFINED +notdefined = IfcElectricMotorTypeEnum.NOTDEFINED IfcElectricTimeControlTypeEnum = enum_namespace() -timeclock = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMECLOCK', INDETERMINATE) -timedelay = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMEDELAY', INDETERMINATE) -relay = express_getattr(IfcElectricTimeControlTypeEnum, 'RELAY', INDETERMINATE) -userdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'NOTDEFINED', INDETERMINATE) +timeclock = IfcElectricTimeControlTypeEnum.TIMECLOCK +timedelay = IfcElectricTimeControlTypeEnum.TIMEDELAY +relay = IfcElectricTimeControlTypeEnum.RELAY +userdefined = IfcElectricTimeControlTypeEnum.USERDEFINED +notdefined = IfcElectricTimeControlTypeEnum.NOTDEFINED IfcElementAssemblyTypeEnum = enum_namespace() -accessory_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'ACCESSORY_ASSEMBLY', INDETERMINATE) -arch = express_getattr(IfcElementAssemblyTypeEnum, 'ARCH', INDETERMINATE) -beam_grid = express_getattr(IfcElementAssemblyTypeEnum, 'BEAM_GRID', INDETERMINATE) -braced_frame = express_getattr(IfcElementAssemblyTypeEnum, 'BRACED_FRAME', INDETERMINATE) -girder = express_getattr(IfcElementAssemblyTypeEnum, 'GIRDER', INDETERMINATE) -reinforcement_unit = express_getattr(IfcElementAssemblyTypeEnum, 'REINFORCEMENT_UNIT', INDETERMINATE) -rigid_frame = express_getattr(IfcElementAssemblyTypeEnum, 'RIGID_FRAME', INDETERMINATE) -slab_field = express_getattr(IfcElementAssemblyTypeEnum, 'SLAB_FIELD', INDETERMINATE) -truss = express_getattr(IfcElementAssemblyTypeEnum, 'TRUSS', INDETERMINATE) -abutment = express_getattr(IfcElementAssemblyTypeEnum, 'ABUTMENT', INDETERMINATE) -pier = express_getattr(IfcElementAssemblyTypeEnum, 'PIER', INDETERMINATE) -pylon = express_getattr(IfcElementAssemblyTypeEnum, 'PYLON', INDETERMINATE) -cross_bracing = express_getattr(IfcElementAssemblyTypeEnum, 'CROSS_BRACING', INDETERMINATE) -deck = express_getattr(IfcElementAssemblyTypeEnum, 'DECK', INDETERMINATE) -mast = express_getattr(IfcElementAssemblyTypeEnum, 'MAST', INDETERMINATE) -signalassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SIGNALASSEMBLY', INDETERMINATE) -grid = express_getattr(IfcElementAssemblyTypeEnum, 'GRID', INDETERMINATE) -shelter = express_getattr(IfcElementAssemblyTypeEnum, 'SHELTER', INDETERMINATE) -supportingassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SUPPORTINGASSEMBLY', INDETERMINATE) -suspensionassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SUSPENSIONASSEMBLY', INDETERMINATE) -traction_switching_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'TRACTION_SWITCHING_ASSEMBLY', INDETERMINATE) -trackpanel = express_getattr(IfcElementAssemblyTypeEnum, 'TRACKPANEL', INDETERMINATE) -turnoutpanel = express_getattr(IfcElementAssemblyTypeEnum, 'TURNOUTPANEL', INDETERMINATE) -dilatationpanel = express_getattr(IfcElementAssemblyTypeEnum, 'DILATATIONPANEL', INDETERMINATE) -rail_mechanical_equipment_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY', INDETERMINATE) -entranceworks = express_getattr(IfcElementAssemblyTypeEnum, 'ENTRANCEWORKS', INDETERMINATE) -sumpbuster = express_getattr(IfcElementAssemblyTypeEnum, 'SUMPBUSTER', INDETERMINATE) -traffic_calming_device = express_getattr(IfcElementAssemblyTypeEnum, 'TRAFFIC_CALMING_DEVICE', INDETERMINATE) -userdefined = express_getattr(IfcElementAssemblyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElementAssemblyTypeEnum, 'NOTDEFINED', INDETERMINATE) +accessory_assembly = IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY +arch = IfcElementAssemblyTypeEnum.ARCH +beam_grid = IfcElementAssemblyTypeEnum.BEAM_GRID +braced_frame = IfcElementAssemblyTypeEnum.BRACED_FRAME +girder = IfcElementAssemblyTypeEnum.GIRDER +reinforcement_unit = IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT +rigid_frame = IfcElementAssemblyTypeEnum.RIGID_FRAME +slab_field = IfcElementAssemblyTypeEnum.SLAB_FIELD +truss = IfcElementAssemblyTypeEnum.TRUSS +abutment = IfcElementAssemblyTypeEnum.ABUTMENT +pier = IfcElementAssemblyTypeEnum.PIER +pylon = IfcElementAssemblyTypeEnum.PYLON +cross_bracing = IfcElementAssemblyTypeEnum.CROSS_BRACING +deck = IfcElementAssemblyTypeEnum.DECK +mast = IfcElementAssemblyTypeEnum.MAST +signalassembly = IfcElementAssemblyTypeEnum.SIGNALASSEMBLY +grid = IfcElementAssemblyTypeEnum.GRID +shelter = IfcElementAssemblyTypeEnum.SHELTER +supportingassembly = IfcElementAssemblyTypeEnum.SUPPORTINGASSEMBLY +suspensionassembly = IfcElementAssemblyTypeEnum.SUSPENSIONASSEMBLY +traction_switching_assembly = IfcElementAssemblyTypeEnum.TRACTION_SWITCHING_ASSEMBLY +trackpanel = IfcElementAssemblyTypeEnum.TRACKPANEL +turnoutpanel = IfcElementAssemblyTypeEnum.TURNOUTPANEL +dilatationpanel = IfcElementAssemblyTypeEnum.DILATATIONPANEL +rail_mechanical_equipment_assembly = IfcElementAssemblyTypeEnum.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY +entranceworks = IfcElementAssemblyTypeEnum.ENTRANCEWORKS +sumpbuster = IfcElementAssemblyTypeEnum.SUMPBUSTER +traffic_calming_device = IfcElementAssemblyTypeEnum.TRAFFIC_CALMING_DEVICE +userdefined = IfcElementAssemblyTypeEnum.USERDEFINED +notdefined = IfcElementAssemblyTypeEnum.NOTDEFINED IfcElementCompositionEnum = enum_namespace() -complex = express_getattr(IfcElementCompositionEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcElementCompositionEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcElementCompositionEnum, 'PARTIAL', INDETERMINATE) +complex = IfcElementCompositionEnum.COMPLEX +element = IfcElementCompositionEnum.ELEMENT +partial = IfcElementCompositionEnum.PARTIAL IfcEngineTypeEnum = enum_namespace() -externalcombustion = express_getattr(IfcEngineTypeEnum, 'EXTERNALCOMBUSTION', INDETERMINATE) -internalcombustion = express_getattr(IfcEngineTypeEnum, 'INTERNALCOMBUSTION', INDETERMINATE) -userdefined = express_getattr(IfcEngineTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEngineTypeEnum, 'NOTDEFINED', INDETERMINATE) +externalcombustion = IfcEngineTypeEnum.EXTERNALCOMBUSTION +internalcombustion = IfcEngineTypeEnum.INTERNALCOMBUSTION +userdefined = IfcEngineTypeEnum.USERDEFINED +notdefined = IfcEngineTypeEnum.NOTDEFINED IfcEvaporativeCoolerTypeEnum = enum_namespace() -directevaporativerandommediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER', INDETERMINATE) -directevaporativerigidmediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER', INDETERMINATE) -directevaporativeslingerspackagedaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER', INDETERMINATE) -directevaporativepackagedrotaryaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER', INDETERMINATE) -directevaporativeairwasher = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEAIRWASHER', INDETERMINATE) -indirectevaporativepackageaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEPACKAGEAIRCOOLER', INDETERMINATE) -indirectevaporativewetcoil = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEWETCOIL', INDETERMINATE) -indirectevaporativecoolingtowerorcoilcooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER', INDETERMINATE) -indirectdirectcombination = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTDIRECTCOMBINATION', INDETERMINATE) -userdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'NOTDEFINED', INDETERMINATE) +directevaporativerandommediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER +directevaporativerigidmediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER +directevaporativeslingerspackagedaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER +directevaporativepackagedrotaryaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER +directevaporativeairwasher = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER +indirectevaporativepackageaircooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER +indirectevaporativewetcoil = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL +indirectevaporativecoolingtowerorcoilcooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER +indirectdirectcombination = IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION +userdefined = IfcEvaporativeCoolerTypeEnum.USERDEFINED +notdefined = IfcEvaporativeCoolerTypeEnum.NOTDEFINED IfcEvaporatorTypeEnum = enum_namespace() -directexpansion = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSION', INDETERMINATE) -directexpansionshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONSHELLANDTUBE', INDETERMINATE) -directexpansiontubeintube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONTUBEINTUBE', INDETERMINATE) -directexpansionbrazedplate = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONBRAZEDPLATE', INDETERMINATE) -floodedshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'FLOODEDSHELLANDTUBE', INDETERMINATE) -shellandcoil = express_getattr(IfcEvaporatorTypeEnum, 'SHELLANDCOIL', INDETERMINATE) -userdefined = express_getattr(IfcEvaporatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +directexpansion = IfcEvaporatorTypeEnum.DIRECTEXPANSION +directexpansionshellandtube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE +directexpansiontubeintube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE +directexpansionbrazedplate = IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE +floodedshellandtube = IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE +shellandcoil = IfcEvaporatorTypeEnum.SHELLANDCOIL +userdefined = IfcEvaporatorTypeEnum.USERDEFINED +notdefined = IfcEvaporatorTypeEnum.NOTDEFINED IfcEventTriggerTypeEnum = enum_namespace() -eventrule = express_getattr(IfcEventTriggerTypeEnum, 'EVENTRULE', INDETERMINATE) -eventmessage = express_getattr(IfcEventTriggerTypeEnum, 'EVENTMESSAGE', INDETERMINATE) -eventtime = express_getattr(IfcEventTriggerTypeEnum, 'EVENTTIME', INDETERMINATE) -eventcomplex = express_getattr(IfcEventTriggerTypeEnum, 'EVENTCOMPLEX', INDETERMINATE) -userdefined = express_getattr(IfcEventTriggerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTriggerTypeEnum, 'NOTDEFINED', INDETERMINATE) +eventrule = IfcEventTriggerTypeEnum.EVENTRULE +eventmessage = IfcEventTriggerTypeEnum.EVENTMESSAGE +eventtime = IfcEventTriggerTypeEnum.EVENTTIME +eventcomplex = IfcEventTriggerTypeEnum.EVENTCOMPLEX +userdefined = IfcEventTriggerTypeEnum.USERDEFINED +notdefined = IfcEventTriggerTypeEnum.NOTDEFINED IfcEventTypeEnum = enum_namespace() -startevent = express_getattr(IfcEventTypeEnum, 'STARTEVENT', INDETERMINATE) -endevent = express_getattr(IfcEventTypeEnum, 'ENDEVENT', INDETERMINATE) -intermediateevent = express_getattr(IfcEventTypeEnum, 'INTERMEDIATEEVENT', INDETERMINATE) -userdefined = express_getattr(IfcEventTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTypeEnum, 'NOTDEFINED', INDETERMINATE) +startevent = IfcEventTypeEnum.STARTEVENT +endevent = IfcEventTypeEnum.ENDEVENT +intermediateevent = IfcEventTypeEnum.INTERMEDIATEEVENT +userdefined = IfcEventTypeEnum.USERDEFINED +notdefined = IfcEventTypeEnum.NOTDEFINED IfcExternalSpatialElementTypeEnum = enum_namespace() -external = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_water = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_WATER', INDETERMINATE) -external_fire = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_FIRE', INDETERMINATE) -userdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +external = IfcExternalSpatialElementTypeEnum.EXTERNAL +external_earth = IfcExternalSpatialElementTypeEnum.EXTERNAL_EARTH +external_water = IfcExternalSpatialElementTypeEnum.EXTERNAL_WATER +external_fire = IfcExternalSpatialElementTypeEnum.EXTERNAL_FIRE +userdefined = IfcExternalSpatialElementTypeEnum.USERDEFINED +notdefined = IfcExternalSpatialElementTypeEnum.NOTDEFINED IfcFacilityPartCommonTypeEnum = enum_namespace() -segment = express_getattr(IfcFacilityPartCommonTypeEnum, 'SEGMENT', INDETERMINATE) -aboveground = express_getattr(IfcFacilityPartCommonTypeEnum, 'ABOVEGROUND', INDETERMINATE) -junction = express_getattr(IfcFacilityPartCommonTypeEnum, 'JUNCTION', INDETERMINATE) -levelcrossing = express_getattr(IfcFacilityPartCommonTypeEnum, 'LEVELCROSSING', INDETERMINATE) -belowground = express_getattr(IfcFacilityPartCommonTypeEnum, 'BELOWGROUND', INDETERMINATE) -substructure = express_getattr(IfcFacilityPartCommonTypeEnum, 'SUBSTRUCTURE', INDETERMINATE) -terminal = express_getattr(IfcFacilityPartCommonTypeEnum, 'TERMINAL', INDETERMINATE) -superstructure = express_getattr(IfcFacilityPartCommonTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcFacilityPartCommonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFacilityPartCommonTypeEnum, 'NOTDEFINED', INDETERMINATE) +segment = IfcFacilityPartCommonTypeEnum.SEGMENT +aboveground = IfcFacilityPartCommonTypeEnum.ABOVEGROUND +junction = IfcFacilityPartCommonTypeEnum.JUNCTION +levelcrossing = IfcFacilityPartCommonTypeEnum.LEVELCROSSING +belowground = IfcFacilityPartCommonTypeEnum.BELOWGROUND +substructure = IfcFacilityPartCommonTypeEnum.SUBSTRUCTURE +terminal = IfcFacilityPartCommonTypeEnum.TERMINAL +superstructure = IfcFacilityPartCommonTypeEnum.SUPERSTRUCTURE +userdefined = IfcFacilityPartCommonTypeEnum.USERDEFINED +notdefined = IfcFacilityPartCommonTypeEnum.NOTDEFINED IfcFacilityUsageEnum = enum_namespace() -lateral = express_getattr(IfcFacilityUsageEnum, 'LATERAL', INDETERMINATE) -region = express_getattr(IfcFacilityUsageEnum, 'REGION', INDETERMINATE) -vertical = express_getattr(IfcFacilityUsageEnum, 'VERTICAL', INDETERMINATE) -longitudinal = express_getattr(IfcFacilityUsageEnum, 'LONGITUDINAL', INDETERMINATE) -userdefined = express_getattr(IfcFacilityUsageEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFacilityUsageEnum, 'NOTDEFINED', INDETERMINATE) +lateral = IfcFacilityUsageEnum.LATERAL +region = IfcFacilityUsageEnum.REGION +vertical = IfcFacilityUsageEnum.VERTICAL +longitudinal = IfcFacilityUsageEnum.LONGITUDINAL +userdefined = IfcFacilityUsageEnum.USERDEFINED +notdefined = IfcFacilityUsageEnum.NOTDEFINED IfcFanTypeEnum = enum_namespace() -centrifugalforwardcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALFORWARDCURVED', INDETERMINATE) -centrifugalradial = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALRADIAL', INDETERMINATE) -centrifugalbackwardinclinedcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALBACKWARDINCLINEDCURVED', INDETERMINATE) -centrifugalairfoil = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALAIRFOIL', INDETERMINATE) -tubeaxial = express_getattr(IfcFanTypeEnum, 'TUBEAXIAL', INDETERMINATE) -vaneaxial = express_getattr(IfcFanTypeEnum, 'VANEAXIAL', INDETERMINATE) -propelloraxial = express_getattr(IfcFanTypeEnum, 'PROPELLORAXIAL', INDETERMINATE) -userdefined = express_getattr(IfcFanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFanTypeEnum, 'NOTDEFINED', INDETERMINATE) +centrifugalforwardcurved = IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED +centrifugalradial = IfcFanTypeEnum.CENTRIFUGALRADIAL +centrifugalbackwardinclinedcurved = IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED +centrifugalairfoil = IfcFanTypeEnum.CENTRIFUGALAIRFOIL +tubeaxial = IfcFanTypeEnum.TUBEAXIAL +vaneaxial = IfcFanTypeEnum.VANEAXIAL +propelloraxial = IfcFanTypeEnum.PROPELLORAXIAL +userdefined = IfcFanTypeEnum.USERDEFINED +notdefined = IfcFanTypeEnum.NOTDEFINED IfcFastenerTypeEnum = enum_namespace() -glue = express_getattr(IfcFastenerTypeEnum, 'GLUE', INDETERMINATE) -mortar = express_getattr(IfcFastenerTypeEnum, 'MORTAR', INDETERMINATE) -weld = express_getattr(IfcFastenerTypeEnum, 'WELD', INDETERMINATE) -userdefined = express_getattr(IfcFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +glue = IfcFastenerTypeEnum.GLUE +mortar = IfcFastenerTypeEnum.MORTAR +weld = IfcFastenerTypeEnum.WELD +userdefined = IfcFastenerTypeEnum.USERDEFINED +notdefined = IfcFastenerTypeEnum.NOTDEFINED IfcFilterTypeEnum = enum_namespace() -airparticlefilter = express_getattr(IfcFilterTypeEnum, 'AIRPARTICLEFILTER', INDETERMINATE) -compressedairfilter = express_getattr(IfcFilterTypeEnum, 'COMPRESSEDAIRFILTER', INDETERMINATE) -odorfilter = express_getattr(IfcFilterTypeEnum, 'ODORFILTER', INDETERMINATE) -oilfilter = express_getattr(IfcFilterTypeEnum, 'OILFILTER', INDETERMINATE) -strainer = express_getattr(IfcFilterTypeEnum, 'STRAINER', INDETERMINATE) -waterfilter = express_getattr(IfcFilterTypeEnum, 'WATERFILTER', INDETERMINATE) -userdefined = express_getattr(IfcFilterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFilterTypeEnum, 'NOTDEFINED', INDETERMINATE) +airparticlefilter = IfcFilterTypeEnum.AIRPARTICLEFILTER +compressedairfilter = IfcFilterTypeEnum.COMPRESSEDAIRFILTER +odorfilter = IfcFilterTypeEnum.ODORFILTER +oilfilter = IfcFilterTypeEnum.OILFILTER +strainer = IfcFilterTypeEnum.STRAINER +waterfilter = IfcFilterTypeEnum.WATERFILTER +userdefined = IfcFilterTypeEnum.USERDEFINED +notdefined = IfcFilterTypeEnum.NOTDEFINED IfcFireSuppressionTerminalTypeEnum = enum_namespace() -breechinginlet = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'BREECHINGINLET', INDETERMINATE) -firehydrant = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'FIREHYDRANT', INDETERMINATE) -hosereel = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -sprinkler = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLER', INDETERMINATE) -sprinklerdeflector = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLERDEFLECTOR', INDETERMINATE) -firemonitor = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'FIREMONITOR', INDETERMINATE) -userdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +breechinginlet = IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET +firehydrant = IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT +hosereel = IfcFireSuppressionTerminalTypeEnum.HOSEREEL +sprinkler = IfcFireSuppressionTerminalTypeEnum.SPRINKLER +sprinklerdeflector = IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR +firemonitor = IfcFireSuppressionTerminalTypeEnum.FIREMONITOR +userdefined = IfcFireSuppressionTerminalTypeEnum.USERDEFINED +notdefined = IfcFireSuppressionTerminalTypeEnum.NOTDEFINED IfcFlowDirectionEnum = enum_namespace() -source = express_getattr(IfcFlowDirectionEnum, 'SOURCE', INDETERMINATE) -sink = express_getattr(IfcFlowDirectionEnum, 'SINK', INDETERMINATE) -sourceandsink = express_getattr(IfcFlowDirectionEnum, 'SOURCEANDSINK', INDETERMINATE) -notdefined = express_getattr(IfcFlowDirectionEnum, 'NOTDEFINED', INDETERMINATE) +source = IfcFlowDirectionEnum.SOURCE +sink = IfcFlowDirectionEnum.SINK +sourceandsink = IfcFlowDirectionEnum.SOURCEANDSINK +notdefined = IfcFlowDirectionEnum.NOTDEFINED IfcFlowInstrumentTypeEnum = enum_namespace() -pressuregauge = express_getattr(IfcFlowInstrumentTypeEnum, 'PRESSUREGAUGE', INDETERMINATE) -thermometer = express_getattr(IfcFlowInstrumentTypeEnum, 'THERMOMETER', INDETERMINATE) -ammeter = express_getattr(IfcFlowInstrumentTypeEnum, 'AMMETER', INDETERMINATE) -frequencymeter = express_getattr(IfcFlowInstrumentTypeEnum, 'FREQUENCYMETER', INDETERMINATE) -powerfactormeter = express_getattr(IfcFlowInstrumentTypeEnum, 'POWERFACTORMETER', INDETERMINATE) -phaseanglemeter = express_getattr(IfcFlowInstrumentTypeEnum, 'PHASEANGLEMETER', INDETERMINATE) -voltmeter_peak = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_PEAK', INDETERMINATE) -voltmeter_rms = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_RMS', INDETERMINATE) -combined = express_getattr(IfcFlowInstrumentTypeEnum, 'COMBINED', INDETERMINATE) -voltmeter = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER', INDETERMINATE) -userdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'NOTDEFINED', INDETERMINATE) +pressuregauge = IfcFlowInstrumentTypeEnum.PRESSUREGAUGE +thermometer = IfcFlowInstrumentTypeEnum.THERMOMETER +ammeter = IfcFlowInstrumentTypeEnum.AMMETER +frequencymeter = IfcFlowInstrumentTypeEnum.FREQUENCYMETER +powerfactormeter = IfcFlowInstrumentTypeEnum.POWERFACTORMETER +phaseanglemeter = IfcFlowInstrumentTypeEnum.PHASEANGLEMETER +voltmeter_peak = IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK +voltmeter_rms = IfcFlowInstrumentTypeEnum.VOLTMETER_RMS +combined = IfcFlowInstrumentTypeEnum.COMBINED +voltmeter = IfcFlowInstrumentTypeEnum.VOLTMETER +userdefined = IfcFlowInstrumentTypeEnum.USERDEFINED +notdefined = IfcFlowInstrumentTypeEnum.NOTDEFINED IfcFlowMeterTypeEnum = enum_namespace() -energymeter = express_getattr(IfcFlowMeterTypeEnum, 'ENERGYMETER', INDETERMINATE) -gasmeter = express_getattr(IfcFlowMeterTypeEnum, 'GASMETER', INDETERMINATE) -oilmeter = express_getattr(IfcFlowMeterTypeEnum, 'OILMETER', INDETERMINATE) -watermeter = express_getattr(IfcFlowMeterTypeEnum, 'WATERMETER', INDETERMINATE) -userdefined = express_getattr(IfcFlowMeterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowMeterTypeEnum, 'NOTDEFINED', INDETERMINATE) +energymeter = IfcFlowMeterTypeEnum.ENERGYMETER +gasmeter = IfcFlowMeterTypeEnum.GASMETER +oilmeter = IfcFlowMeterTypeEnum.OILMETER +watermeter = IfcFlowMeterTypeEnum.WATERMETER +userdefined = IfcFlowMeterTypeEnum.USERDEFINED +notdefined = IfcFlowMeterTypeEnum.NOTDEFINED IfcFootingTypeEnum = enum_namespace() -caisson_foundation = express_getattr(IfcFootingTypeEnum, 'CAISSON_FOUNDATION', INDETERMINATE) -footing_beam = express_getattr(IfcFootingTypeEnum, 'FOOTING_BEAM', INDETERMINATE) -pad_footing = express_getattr(IfcFootingTypeEnum, 'PAD_FOOTING', INDETERMINATE) -pile_cap = express_getattr(IfcFootingTypeEnum, 'PILE_CAP', INDETERMINATE) -strip_footing = express_getattr(IfcFootingTypeEnum, 'STRIP_FOOTING', INDETERMINATE) -userdefined = express_getattr(IfcFootingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFootingTypeEnum, 'NOTDEFINED', INDETERMINATE) +caisson_foundation = IfcFootingTypeEnum.CAISSON_FOUNDATION +footing_beam = IfcFootingTypeEnum.FOOTING_BEAM +pad_footing = IfcFootingTypeEnum.PAD_FOOTING +pile_cap = IfcFootingTypeEnum.PILE_CAP +strip_footing = IfcFootingTypeEnum.STRIP_FOOTING +userdefined = IfcFootingTypeEnum.USERDEFINED +notdefined = IfcFootingTypeEnum.NOTDEFINED IfcFurnitureTypeEnum = enum_namespace() -chair = express_getattr(IfcFurnitureTypeEnum, 'CHAIR', INDETERMINATE) -table = express_getattr(IfcFurnitureTypeEnum, 'TABLE', INDETERMINATE) -desk = express_getattr(IfcFurnitureTypeEnum, 'DESK', INDETERMINATE) -bed = express_getattr(IfcFurnitureTypeEnum, 'BED', INDETERMINATE) -filecabinet = express_getattr(IfcFurnitureTypeEnum, 'FILECABINET', INDETERMINATE) -shelf = express_getattr(IfcFurnitureTypeEnum, 'SHELF', INDETERMINATE) -sofa = express_getattr(IfcFurnitureTypeEnum, 'SOFA', INDETERMINATE) -technicalcabinet = express_getattr(IfcFurnitureTypeEnum, 'TECHNICALCABINET', INDETERMINATE) -userdefined = express_getattr(IfcFurnitureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFurnitureTypeEnum, 'NOTDEFINED', INDETERMINATE) +chair = IfcFurnitureTypeEnum.CHAIR +table = IfcFurnitureTypeEnum.TABLE +desk = IfcFurnitureTypeEnum.DESK +bed = IfcFurnitureTypeEnum.BED +filecabinet = IfcFurnitureTypeEnum.FILECABINET +shelf = IfcFurnitureTypeEnum.SHELF +sofa = IfcFurnitureTypeEnum.SOFA +technicalcabinet = IfcFurnitureTypeEnum.TECHNICALCABINET +userdefined = IfcFurnitureTypeEnum.USERDEFINED +notdefined = IfcFurnitureTypeEnum.NOTDEFINED IfcGeographicElementTypeEnum = enum_namespace() -terrain = express_getattr(IfcGeographicElementTypeEnum, 'TERRAIN', INDETERMINATE) -soil_boring_point = express_getattr(IfcGeographicElementTypeEnum, 'SOIL_BORING_POINT', INDETERMINATE) -userdefined = express_getattr(IfcGeographicElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeographicElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +terrain = IfcGeographicElementTypeEnum.TERRAIN +soil_boring_point = IfcGeographicElementTypeEnum.SOIL_BORING_POINT +userdefined = IfcGeographicElementTypeEnum.USERDEFINED +notdefined = IfcGeographicElementTypeEnum.NOTDEFINED IfcGeometricProjectionEnum = enum_namespace() -graph_view = express_getattr(IfcGeometricProjectionEnum, 'GRAPH_VIEW', INDETERMINATE) -sketch_view = express_getattr(IfcGeometricProjectionEnum, 'SKETCH_VIEW', INDETERMINATE) -model_view = express_getattr(IfcGeometricProjectionEnum, 'MODEL_VIEW', INDETERMINATE) -plan_view = express_getattr(IfcGeometricProjectionEnum, 'PLAN_VIEW', INDETERMINATE) -reflected_plan_view = express_getattr(IfcGeometricProjectionEnum, 'REFLECTED_PLAN_VIEW', INDETERMINATE) -section_view = express_getattr(IfcGeometricProjectionEnum, 'SECTION_VIEW', INDETERMINATE) -elevation_view = express_getattr(IfcGeometricProjectionEnum, 'ELEVATION_VIEW', INDETERMINATE) -userdefined = express_getattr(IfcGeometricProjectionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeometricProjectionEnum, 'NOTDEFINED', INDETERMINATE) +graph_view = IfcGeometricProjectionEnum.GRAPH_VIEW +sketch_view = IfcGeometricProjectionEnum.SKETCH_VIEW +model_view = IfcGeometricProjectionEnum.MODEL_VIEW +plan_view = IfcGeometricProjectionEnum.PLAN_VIEW +reflected_plan_view = IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW +section_view = IfcGeometricProjectionEnum.SECTION_VIEW +elevation_view = IfcGeometricProjectionEnum.ELEVATION_VIEW +userdefined = IfcGeometricProjectionEnum.USERDEFINED +notdefined = IfcGeometricProjectionEnum.NOTDEFINED IfcGlobalOrLocalEnum = enum_namespace() -global_coords = express_getattr(IfcGlobalOrLocalEnum, 'GLOBAL_COORDS', INDETERMINATE) -local_coords = express_getattr(IfcGlobalOrLocalEnum, 'LOCAL_COORDS', INDETERMINATE) +global_coords = IfcGlobalOrLocalEnum.GLOBAL_COORDS +local_coords = IfcGlobalOrLocalEnum.LOCAL_COORDS IfcGridTypeEnum = enum_namespace() -rectangular = express_getattr(IfcGridTypeEnum, 'RECTANGULAR', INDETERMINATE) -radial = express_getattr(IfcGridTypeEnum, 'RADIAL', INDETERMINATE) -triangular = express_getattr(IfcGridTypeEnum, 'TRIANGULAR', INDETERMINATE) -irregular = express_getattr(IfcGridTypeEnum, 'IRREGULAR', INDETERMINATE) -userdefined = express_getattr(IfcGridTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGridTypeEnum, 'NOTDEFINED', INDETERMINATE) +rectangular = IfcGridTypeEnum.RECTANGULAR +radial = IfcGridTypeEnum.RADIAL +triangular = IfcGridTypeEnum.TRIANGULAR +irregular = IfcGridTypeEnum.IRREGULAR +userdefined = IfcGridTypeEnum.USERDEFINED +notdefined = IfcGridTypeEnum.NOTDEFINED IfcHeatExchangerTypeEnum = enum_namespace() -plate = express_getattr(IfcHeatExchangerTypeEnum, 'PLATE', INDETERMINATE) -shellandtube = express_getattr(IfcHeatExchangerTypeEnum, 'SHELLANDTUBE', INDETERMINATE) -turnoutheating = express_getattr(IfcHeatExchangerTypeEnum, 'TURNOUTHEATING', INDETERMINATE) -userdefined = express_getattr(IfcHeatExchangerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHeatExchangerTypeEnum, 'NOTDEFINED', INDETERMINATE) +plate = IfcHeatExchangerTypeEnum.PLATE +shellandtube = IfcHeatExchangerTypeEnum.SHELLANDTUBE +turnoutheating = IfcHeatExchangerTypeEnum.TURNOUTHEATING +userdefined = IfcHeatExchangerTypeEnum.USERDEFINED +notdefined = IfcHeatExchangerTypeEnum.NOTDEFINED IfcHumidifierTypeEnum = enum_namespace() -steaminjection = express_getattr(IfcHumidifierTypeEnum, 'STEAMINJECTION', INDETERMINATE) -adiabaticairwasher = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICAIRWASHER', INDETERMINATE) -adiabaticpan = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICPAN', INDETERMINATE) -adiabaticwettedelement = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICWETTEDELEMENT', INDETERMINATE) -adiabaticatomizing = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICATOMIZING', INDETERMINATE) -adiabaticultrasonic = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICULTRASONIC', INDETERMINATE) -adiabaticrigidmedia = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICRIGIDMEDIA', INDETERMINATE) -adiabaticcompressedairnozzle = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICCOMPRESSEDAIRNOZZLE', INDETERMINATE) -assistedelectric = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDELECTRIC', INDETERMINATE) -assistednaturalgas = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDNATURALGAS', INDETERMINATE) -assistedpropane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDPROPANE', INDETERMINATE) -assistedbutane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDBUTANE', INDETERMINATE) -assistedsteam = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDSTEAM', INDETERMINATE) -userdefined = express_getattr(IfcHumidifierTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHumidifierTypeEnum, 'NOTDEFINED', INDETERMINATE) +steaminjection = IfcHumidifierTypeEnum.STEAMINJECTION +adiabaticairwasher = IfcHumidifierTypeEnum.ADIABATICAIRWASHER +adiabaticpan = IfcHumidifierTypeEnum.ADIABATICPAN +adiabaticwettedelement = IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT +adiabaticatomizing = IfcHumidifierTypeEnum.ADIABATICATOMIZING +adiabaticultrasonic = IfcHumidifierTypeEnum.ADIABATICULTRASONIC +adiabaticrigidmedia = IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA +adiabaticcompressedairnozzle = IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE +assistedelectric = IfcHumidifierTypeEnum.ASSISTEDELECTRIC +assistednaturalgas = IfcHumidifierTypeEnum.ASSISTEDNATURALGAS +assistedpropane = IfcHumidifierTypeEnum.ASSISTEDPROPANE +assistedbutane = IfcHumidifierTypeEnum.ASSISTEDBUTANE +assistedsteam = IfcHumidifierTypeEnum.ASSISTEDSTEAM +userdefined = IfcHumidifierTypeEnum.USERDEFINED +notdefined = IfcHumidifierTypeEnum.NOTDEFINED IfcImpactProtectionDeviceTypeEnum = enum_namespace() -crashcushion = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'CRASHCUSHION', INDETERMINATE) -dampingsystem = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'DAMPINGSYSTEM', INDETERMINATE) -fender = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'FENDER', INDETERMINATE) -bumper = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'BUMPER', INDETERMINATE) -userdefined = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +crashcushion = IfcImpactProtectionDeviceTypeEnum.CRASHCUSHION +dampingsystem = IfcImpactProtectionDeviceTypeEnum.DAMPINGSYSTEM +fender = IfcImpactProtectionDeviceTypeEnum.FENDER +bumper = IfcImpactProtectionDeviceTypeEnum.BUMPER +userdefined = IfcImpactProtectionDeviceTypeEnum.USERDEFINED +notdefined = IfcImpactProtectionDeviceTypeEnum.NOTDEFINED IfcInterceptorTypeEnum = enum_namespace() -cyclonic = express_getattr(IfcInterceptorTypeEnum, 'CYCLONIC', INDETERMINATE) -grease = express_getattr(IfcInterceptorTypeEnum, 'GREASE', INDETERMINATE) -oil = express_getattr(IfcInterceptorTypeEnum, 'OIL', INDETERMINATE) -petrol = express_getattr(IfcInterceptorTypeEnum, 'PETROL', INDETERMINATE) -userdefined = express_getattr(IfcInterceptorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInterceptorTypeEnum, 'NOTDEFINED', INDETERMINATE) +cyclonic = IfcInterceptorTypeEnum.CYCLONIC +grease = IfcInterceptorTypeEnum.GREASE +oil = IfcInterceptorTypeEnum.OIL +petrol = IfcInterceptorTypeEnum.PETROL +userdefined = IfcInterceptorTypeEnum.USERDEFINED +notdefined = IfcInterceptorTypeEnum.NOTDEFINED IfcInternalOrExternalEnum = enum_namespace() -internal = express_getattr(IfcInternalOrExternalEnum, 'INTERNAL', INDETERMINATE) -external = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_water = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_WATER', INDETERMINATE) -external_fire = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_FIRE', INDETERMINATE) -notdefined = express_getattr(IfcInternalOrExternalEnum, 'NOTDEFINED', INDETERMINATE) +internal = IfcInternalOrExternalEnum.INTERNAL +external = IfcInternalOrExternalEnum.EXTERNAL +external_earth = IfcInternalOrExternalEnum.EXTERNAL_EARTH +external_water = IfcInternalOrExternalEnum.EXTERNAL_WATER +external_fire = IfcInternalOrExternalEnum.EXTERNAL_FIRE +notdefined = IfcInternalOrExternalEnum.NOTDEFINED IfcInventoryTypeEnum = enum_namespace() -assetinventory = express_getattr(IfcInventoryTypeEnum, 'ASSETINVENTORY', INDETERMINATE) -spaceinventory = express_getattr(IfcInventoryTypeEnum, 'SPACEINVENTORY', INDETERMINATE) -furnitureinventory = express_getattr(IfcInventoryTypeEnum, 'FURNITUREINVENTORY', INDETERMINATE) -userdefined = express_getattr(IfcInventoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInventoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +assetinventory = IfcInventoryTypeEnum.ASSETINVENTORY +spaceinventory = IfcInventoryTypeEnum.SPACEINVENTORY +furnitureinventory = IfcInventoryTypeEnum.FURNITUREINVENTORY +userdefined = IfcInventoryTypeEnum.USERDEFINED +notdefined = IfcInventoryTypeEnum.NOTDEFINED IfcJunctionBoxTypeEnum = enum_namespace() -data = express_getattr(IfcJunctionBoxTypeEnum, 'DATA', INDETERMINATE) -power = express_getattr(IfcJunctionBoxTypeEnum, 'POWER', INDETERMINATE) -userdefined = express_getattr(IfcJunctionBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcJunctionBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +data = IfcJunctionBoxTypeEnum.DATA +power = IfcJunctionBoxTypeEnum.POWER +userdefined = IfcJunctionBoxTypeEnum.USERDEFINED +notdefined = IfcJunctionBoxTypeEnum.NOTDEFINED IfcKnotType = enum_namespace() -uniform_knots = express_getattr(IfcKnotType, 'UNIFORM_KNOTS', INDETERMINATE) -quasi_uniform_knots = express_getattr(IfcKnotType, 'QUASI_UNIFORM_KNOTS', INDETERMINATE) -piecewise_bezier_knots = express_getattr(IfcKnotType, 'PIECEWISE_BEZIER_KNOTS', INDETERMINATE) -unspecified = express_getattr(IfcKnotType, 'UNSPECIFIED', INDETERMINATE) +uniform_knots = IfcKnotType.UNIFORM_KNOTS +quasi_uniform_knots = IfcKnotType.QUASI_UNIFORM_KNOTS +piecewise_bezier_knots = IfcKnotType.PIECEWISE_BEZIER_KNOTS +unspecified = IfcKnotType.UNSPECIFIED IfcLaborResourceTypeEnum = enum_namespace() -administration = express_getattr(IfcLaborResourceTypeEnum, 'ADMINISTRATION', INDETERMINATE) -carpentry = express_getattr(IfcLaborResourceTypeEnum, 'CARPENTRY', INDETERMINATE) -cleaning = express_getattr(IfcLaborResourceTypeEnum, 'CLEANING', INDETERMINATE) -concrete = express_getattr(IfcLaborResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcLaborResourceTypeEnum, 'DRYWALL', INDETERMINATE) -electric = express_getattr(IfcLaborResourceTypeEnum, 'ELECTRIC', INDETERMINATE) -finishing = express_getattr(IfcLaborResourceTypeEnum, 'FINISHING', INDETERMINATE) -flooring = express_getattr(IfcLaborResourceTypeEnum, 'FLOORING', INDETERMINATE) -general = express_getattr(IfcLaborResourceTypeEnum, 'GENERAL', INDETERMINATE) -hvac = express_getattr(IfcLaborResourceTypeEnum, 'HVAC', INDETERMINATE) -landscaping = express_getattr(IfcLaborResourceTypeEnum, 'LANDSCAPING', INDETERMINATE) -masonry = express_getattr(IfcLaborResourceTypeEnum, 'MASONRY', INDETERMINATE) -painting = express_getattr(IfcLaborResourceTypeEnum, 'PAINTING', INDETERMINATE) -paving = express_getattr(IfcLaborResourceTypeEnum, 'PAVING', INDETERMINATE) -plumbing = express_getattr(IfcLaborResourceTypeEnum, 'PLUMBING', INDETERMINATE) -roofing = express_getattr(IfcLaborResourceTypeEnum, 'ROOFING', INDETERMINATE) -sitegrading = express_getattr(IfcLaborResourceTypeEnum, 'SITEGRADING', INDETERMINATE) -steelwork = express_getattr(IfcLaborResourceTypeEnum, 'STEELWORK', INDETERMINATE) -surveying = express_getattr(IfcLaborResourceTypeEnum, 'SURVEYING', INDETERMINATE) -userdefined = express_getattr(IfcLaborResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLaborResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +administration = IfcLaborResourceTypeEnum.ADMINISTRATION +carpentry = IfcLaborResourceTypeEnum.CARPENTRY +cleaning = IfcLaborResourceTypeEnum.CLEANING +concrete = IfcLaborResourceTypeEnum.CONCRETE +drywall = IfcLaborResourceTypeEnum.DRYWALL +electric = IfcLaborResourceTypeEnum.ELECTRIC +finishing = IfcLaborResourceTypeEnum.FINISHING +flooring = IfcLaborResourceTypeEnum.FLOORING +general = IfcLaborResourceTypeEnum.GENERAL +hvac = IfcLaborResourceTypeEnum.HVAC +landscaping = IfcLaborResourceTypeEnum.LANDSCAPING +masonry = IfcLaborResourceTypeEnum.MASONRY +painting = IfcLaborResourceTypeEnum.PAINTING +paving = IfcLaborResourceTypeEnum.PAVING +plumbing = IfcLaborResourceTypeEnum.PLUMBING +roofing = IfcLaborResourceTypeEnum.ROOFING +sitegrading = IfcLaborResourceTypeEnum.SITEGRADING +steelwork = IfcLaborResourceTypeEnum.STEELWORK +surveying = IfcLaborResourceTypeEnum.SURVEYING +userdefined = IfcLaborResourceTypeEnum.USERDEFINED +notdefined = IfcLaborResourceTypeEnum.NOTDEFINED IfcLampTypeEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLampTypeEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLampTypeEnum, 'FLUORESCENT', INDETERMINATE) -halogen = express_getattr(IfcLampTypeEnum, 'HALOGEN', INDETERMINATE) -highpressuremercury = express_getattr(IfcLampTypeEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLampTypeEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -led = express_getattr(IfcLampTypeEnum, 'LED', INDETERMINATE) -metalhalide = express_getattr(IfcLampTypeEnum, 'METALHALIDE', INDETERMINATE) -oled = express_getattr(IfcLampTypeEnum, 'OLED', INDETERMINATE) -tungstenfilament = express_getattr(IfcLampTypeEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -userdefined = express_getattr(IfcLampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLampTypeEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLampTypeEnum.COMPACTFLUORESCENT +fluorescent = IfcLampTypeEnum.FLUORESCENT +halogen = IfcLampTypeEnum.HALOGEN +highpressuremercury = IfcLampTypeEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLampTypeEnum.HIGHPRESSURESODIUM +led = IfcLampTypeEnum.LED +metalhalide = IfcLampTypeEnum.METALHALIDE +oled = IfcLampTypeEnum.OLED +tungstenfilament = IfcLampTypeEnum.TUNGSTENFILAMENT +userdefined = IfcLampTypeEnum.USERDEFINED +notdefined = IfcLampTypeEnum.NOTDEFINED IfcLayerSetDirectionEnum = enum_namespace() -axis1 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS1', INDETERMINATE) -axis2 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS2', INDETERMINATE) -axis3 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS3', INDETERMINATE) +axis1 = IfcLayerSetDirectionEnum.AXIS1 +axis2 = IfcLayerSetDirectionEnum.AXIS2 +axis3 = IfcLayerSetDirectionEnum.AXIS3 IfcLightDistributionCurveEnum = enum_namespace() -type_a = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_A', INDETERMINATE) -type_b = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_B', INDETERMINATE) -type_c = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_C', INDETERMINATE) -notdefined = express_getattr(IfcLightDistributionCurveEnum, 'NOTDEFINED', INDETERMINATE) +type_a = IfcLightDistributionCurveEnum.TYPE_A +type_b = IfcLightDistributionCurveEnum.TYPE_B +type_c = IfcLightDistributionCurveEnum.TYPE_C +notdefined = IfcLightDistributionCurveEnum.NOTDEFINED IfcLightEmissionSourceEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLightEmissionSourceEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLightEmissionSourceEnum, 'FLUORESCENT', INDETERMINATE) -highpressuremercury = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -lightemittingdiode = express_getattr(IfcLightEmissionSourceEnum, 'LIGHTEMITTINGDIODE', INDETERMINATE) -lowpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'LOWPRESSURESODIUM', INDETERMINATE) -lowvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'LOWVOLTAGEHALOGEN', INDETERMINATE) -mainvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'MAINVOLTAGEHALOGEN', INDETERMINATE) -metalhalide = express_getattr(IfcLightEmissionSourceEnum, 'METALHALIDE', INDETERMINATE) -tungstenfilament = express_getattr(IfcLightEmissionSourceEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -notdefined = express_getattr(IfcLightEmissionSourceEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLightEmissionSourceEnum.COMPACTFLUORESCENT +fluorescent = IfcLightEmissionSourceEnum.FLUORESCENT +highpressuremercury = IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM +lightemittingdiode = IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE +lowpressuresodium = IfcLightEmissionSourceEnum.LOWPRESSURESODIUM +lowvoltagehalogen = IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN +mainvoltagehalogen = IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN +metalhalide = IfcLightEmissionSourceEnum.METALHALIDE +tungstenfilament = IfcLightEmissionSourceEnum.TUNGSTENFILAMENT +notdefined = IfcLightEmissionSourceEnum.NOTDEFINED IfcLightFixtureTypeEnum = enum_namespace() -pointsource = express_getattr(IfcLightFixtureTypeEnum, 'POINTSOURCE', INDETERMINATE) -directionsource = express_getattr(IfcLightFixtureTypeEnum, 'DIRECTIONSOURCE', INDETERMINATE) -securitylighting = express_getattr(IfcLightFixtureTypeEnum, 'SECURITYLIGHTING', INDETERMINATE) -userdefined = express_getattr(IfcLightFixtureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLightFixtureTypeEnum, 'NOTDEFINED', INDETERMINATE) +pointsource = IfcLightFixtureTypeEnum.POINTSOURCE +directionsource = IfcLightFixtureTypeEnum.DIRECTIONSOURCE +securitylighting = IfcLightFixtureTypeEnum.SECURITYLIGHTING +userdefined = IfcLightFixtureTypeEnum.USERDEFINED +notdefined = IfcLightFixtureTypeEnum.NOTDEFINED IfcLiquidTerminalTypeEnum = enum_namespace() -loadingarm = express_getattr(IfcLiquidTerminalTypeEnum, 'LOADINGARM', INDETERMINATE) -hosereel = express_getattr(IfcLiquidTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -userdefined = express_getattr(IfcLiquidTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLiquidTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +loadingarm = IfcLiquidTerminalTypeEnum.LOADINGARM +hosereel = IfcLiquidTerminalTypeEnum.HOSEREEL +userdefined = IfcLiquidTerminalTypeEnum.USERDEFINED +notdefined = IfcLiquidTerminalTypeEnum.NOTDEFINED IfcLoadGroupTypeEnum = enum_namespace() -load_group = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_GROUP', INDETERMINATE) -load_case = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_CASE', INDETERMINATE) -load_combination = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_COMBINATION', INDETERMINATE) -userdefined = express_getattr(IfcLoadGroupTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLoadGroupTypeEnum, 'NOTDEFINED', INDETERMINATE) +load_group = IfcLoadGroupTypeEnum.LOAD_GROUP +load_case = IfcLoadGroupTypeEnum.LOAD_CASE +load_combination = IfcLoadGroupTypeEnum.LOAD_COMBINATION +userdefined = IfcLoadGroupTypeEnum.USERDEFINED +notdefined = IfcLoadGroupTypeEnum.NOTDEFINED IfcLogicalOperatorEnum = enum_namespace() -logicaland = express_getattr(IfcLogicalOperatorEnum, 'LOGICALAND', INDETERMINATE) -logicalor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALOR', INDETERMINATE) -logicalxor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALXOR', INDETERMINATE) -logicalnotand = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTAND', INDETERMINATE) -logicalnotor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTOR', INDETERMINATE) +logicaland = IfcLogicalOperatorEnum.LOGICALAND +logicalor = IfcLogicalOperatorEnum.LOGICALOR +logicalxor = IfcLogicalOperatorEnum.LOGICALXOR +logicalnotand = IfcLogicalOperatorEnum.LOGICALNOTAND +logicalnotor = IfcLogicalOperatorEnum.LOGICALNOTOR IfcMarineFacilityTypeEnum = enum_namespace() -canal = express_getattr(IfcMarineFacilityTypeEnum, 'CANAL', INDETERMINATE) -waterwayshiplift = express_getattr(IfcMarineFacilityTypeEnum, 'WATERWAYSHIPLIFT', INDETERMINATE) -revetment = express_getattr(IfcMarineFacilityTypeEnum, 'REVETMENT', INDETERMINATE) -launchrecovery = express_getattr(IfcMarineFacilityTypeEnum, 'LAUNCHRECOVERY', INDETERMINATE) -marinedefence = express_getattr(IfcMarineFacilityTypeEnum, 'MARINEDEFENCE', INDETERMINATE) -hydrolift = express_getattr(IfcMarineFacilityTypeEnum, 'HYDROLIFT', INDETERMINATE) -shipyard = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPYARD', INDETERMINATE) -shiplift = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPLIFT', INDETERMINATE) -port = express_getattr(IfcMarineFacilityTypeEnum, 'PORT', INDETERMINATE) -quay = express_getattr(IfcMarineFacilityTypeEnum, 'QUAY', INDETERMINATE) -floatingdock = express_getattr(IfcMarineFacilityTypeEnum, 'FLOATINGDOCK', INDETERMINATE) -navigationalchannel = express_getattr(IfcMarineFacilityTypeEnum, 'NAVIGATIONALCHANNEL', INDETERMINATE) -breakwater = express_getattr(IfcMarineFacilityTypeEnum, 'BREAKWATER', INDETERMINATE) -drydock = express_getattr(IfcMarineFacilityTypeEnum, 'DRYDOCK', INDETERMINATE) -jetty = express_getattr(IfcMarineFacilityTypeEnum, 'JETTY', INDETERMINATE) -shiplock = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPLOCK', INDETERMINATE) -barrierbeach = express_getattr(IfcMarineFacilityTypeEnum, 'BARRIERBEACH', INDETERMINATE) -slipway = express_getattr(IfcMarineFacilityTypeEnum, 'SLIPWAY', INDETERMINATE) -waterway = express_getattr(IfcMarineFacilityTypeEnum, 'WATERWAY', INDETERMINATE) -userdefined = express_getattr(IfcMarineFacilityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMarineFacilityTypeEnum, 'NOTDEFINED', INDETERMINATE) +canal = IfcMarineFacilityTypeEnum.CANAL +waterwayshiplift = IfcMarineFacilityTypeEnum.WATERWAYSHIPLIFT +revetment = IfcMarineFacilityTypeEnum.REVETMENT +launchrecovery = IfcMarineFacilityTypeEnum.LAUNCHRECOVERY +marinedefence = IfcMarineFacilityTypeEnum.MARINEDEFENCE +hydrolift = IfcMarineFacilityTypeEnum.HYDROLIFT +shipyard = IfcMarineFacilityTypeEnum.SHIPYARD +shiplift = IfcMarineFacilityTypeEnum.SHIPLIFT +port = IfcMarineFacilityTypeEnum.PORT +quay = IfcMarineFacilityTypeEnum.QUAY +floatingdock = IfcMarineFacilityTypeEnum.FLOATINGDOCK +navigationalchannel = IfcMarineFacilityTypeEnum.NAVIGATIONALCHANNEL +breakwater = IfcMarineFacilityTypeEnum.BREAKWATER +drydock = IfcMarineFacilityTypeEnum.DRYDOCK +jetty = IfcMarineFacilityTypeEnum.JETTY +shiplock = IfcMarineFacilityTypeEnum.SHIPLOCK +barrierbeach = IfcMarineFacilityTypeEnum.BARRIERBEACH +slipway = IfcMarineFacilityTypeEnum.SLIPWAY +waterway = IfcMarineFacilityTypeEnum.WATERWAY +userdefined = IfcMarineFacilityTypeEnum.USERDEFINED +notdefined = IfcMarineFacilityTypeEnum.NOTDEFINED IfcMarinePartTypeEnum = enum_namespace() -crest = express_getattr(IfcMarinePartTypeEnum, 'CREST', INDETERMINATE) -manufacturing = express_getattr(IfcMarinePartTypeEnum, 'MANUFACTURING', INDETERMINATE) -lowwaterline = express_getattr(IfcMarinePartTypeEnum, 'LOWWATERLINE', INDETERMINATE) -core = express_getattr(IfcMarinePartTypeEnum, 'CORE', INDETERMINATE) -waterfield = express_getattr(IfcMarinePartTypeEnum, 'WATERFIELD', INDETERMINATE) -cill_level = express_getattr(IfcMarinePartTypeEnum, 'CILL_LEVEL', INDETERMINATE) -berthingstructure = express_getattr(IfcMarinePartTypeEnum, 'BERTHINGSTRUCTURE', INDETERMINATE) -copelevel = express_getattr(IfcMarinePartTypeEnum, 'COPELEVEL', INDETERMINATE) -chamber = express_getattr(IfcMarinePartTypeEnum, 'CHAMBER', INDETERMINATE) -storage = express_getattr(IfcMarinePartTypeEnum, 'STORAGE', INDETERMINATE) -approachchannel = express_getattr(IfcMarinePartTypeEnum, 'APPROACHCHANNEL', INDETERMINATE) -vehicleservicing = express_getattr(IfcMarinePartTypeEnum, 'VEHICLESERVICING', INDETERMINATE) -shiptransfer = express_getattr(IfcMarinePartTypeEnum, 'SHIPTRANSFER', INDETERMINATE) -gatehead = express_getattr(IfcMarinePartTypeEnum, 'GATEHEAD', INDETERMINATE) -gudingstructure = express_getattr(IfcMarinePartTypeEnum, 'GUDINGSTRUCTURE', INDETERMINATE) -belowwaterline = express_getattr(IfcMarinePartTypeEnum, 'BELOWWATERLINE', INDETERMINATE) -weatherside = express_getattr(IfcMarinePartTypeEnum, 'WEATHERSIDE', INDETERMINATE) -landfield = express_getattr(IfcMarinePartTypeEnum, 'LANDFIELD', INDETERMINATE) -protection = express_getattr(IfcMarinePartTypeEnum, 'PROTECTION', INDETERMINATE) -leewardside = express_getattr(IfcMarinePartTypeEnum, 'LEEWARDSIDE', INDETERMINATE) -abovewaterline = express_getattr(IfcMarinePartTypeEnum, 'ABOVEWATERLINE', INDETERMINATE) -anchorage = express_getattr(IfcMarinePartTypeEnum, 'ANCHORAGE', INDETERMINATE) -navigationalarea = express_getattr(IfcMarinePartTypeEnum, 'NAVIGATIONALAREA', INDETERMINATE) -highwaterline = express_getattr(IfcMarinePartTypeEnum, 'HIGHWATERLINE', INDETERMINATE) -userdefined = express_getattr(IfcMarinePartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMarinePartTypeEnum, 'NOTDEFINED', INDETERMINATE) +crest = IfcMarinePartTypeEnum.CREST +manufacturing = IfcMarinePartTypeEnum.MANUFACTURING +lowwaterline = IfcMarinePartTypeEnum.LOWWATERLINE +core = IfcMarinePartTypeEnum.CORE +waterfield = IfcMarinePartTypeEnum.WATERFIELD +cill_level = IfcMarinePartTypeEnum.CILL_LEVEL +berthingstructure = IfcMarinePartTypeEnum.BERTHINGSTRUCTURE +copelevel = IfcMarinePartTypeEnum.COPELEVEL +chamber = IfcMarinePartTypeEnum.CHAMBER +storage = IfcMarinePartTypeEnum.STORAGE +approachchannel = IfcMarinePartTypeEnum.APPROACHCHANNEL +vehicleservicing = IfcMarinePartTypeEnum.VEHICLESERVICING +shiptransfer = IfcMarinePartTypeEnum.SHIPTRANSFER +gatehead = IfcMarinePartTypeEnum.GATEHEAD +gudingstructure = IfcMarinePartTypeEnum.GUDINGSTRUCTURE +belowwaterline = IfcMarinePartTypeEnum.BELOWWATERLINE +weatherside = IfcMarinePartTypeEnum.WEATHERSIDE +landfield = IfcMarinePartTypeEnum.LANDFIELD +protection = IfcMarinePartTypeEnum.PROTECTION +leewardside = IfcMarinePartTypeEnum.LEEWARDSIDE +abovewaterline = IfcMarinePartTypeEnum.ABOVEWATERLINE +anchorage = IfcMarinePartTypeEnum.ANCHORAGE +navigationalarea = IfcMarinePartTypeEnum.NAVIGATIONALAREA +highwaterline = IfcMarinePartTypeEnum.HIGHWATERLINE +userdefined = IfcMarinePartTypeEnum.USERDEFINED +notdefined = IfcMarinePartTypeEnum.NOTDEFINED IfcMechanicalFastenerTypeEnum = enum_namespace() -anchorbolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'ANCHORBOLT', INDETERMINATE) -bolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'BOLT', INDETERMINATE) -dowel = express_getattr(IfcMechanicalFastenerTypeEnum, 'DOWEL', INDETERMINATE) -nail = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAIL', INDETERMINATE) -nailplate = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAILPLATE', INDETERMINATE) -rivet = express_getattr(IfcMechanicalFastenerTypeEnum, 'RIVET', INDETERMINATE) -screw = express_getattr(IfcMechanicalFastenerTypeEnum, 'SCREW', INDETERMINATE) -shearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'SHEARCONNECTOR', INDETERMINATE) -staple = express_getattr(IfcMechanicalFastenerTypeEnum, 'STAPLE', INDETERMINATE) -studshearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'STUDSHEARCONNECTOR', INDETERMINATE) -coupler = express_getattr(IfcMechanicalFastenerTypeEnum, 'COUPLER', INDETERMINATE) -railjoint = express_getattr(IfcMechanicalFastenerTypeEnum, 'RAILJOINT', INDETERMINATE) -railfastening = express_getattr(IfcMechanicalFastenerTypeEnum, 'RAILFASTENING', INDETERMINATE) -chain = express_getattr(IfcMechanicalFastenerTypeEnum, 'CHAIN', INDETERMINATE) -rope = express_getattr(IfcMechanicalFastenerTypeEnum, 'ROPE', INDETERMINATE) -userdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorbolt = IfcMechanicalFastenerTypeEnum.ANCHORBOLT +bolt = IfcMechanicalFastenerTypeEnum.BOLT +dowel = IfcMechanicalFastenerTypeEnum.DOWEL +nail = IfcMechanicalFastenerTypeEnum.NAIL +nailplate = IfcMechanicalFastenerTypeEnum.NAILPLATE +rivet = IfcMechanicalFastenerTypeEnum.RIVET +screw = IfcMechanicalFastenerTypeEnum.SCREW +shearconnector = IfcMechanicalFastenerTypeEnum.SHEARCONNECTOR +staple = IfcMechanicalFastenerTypeEnum.STAPLE +studshearconnector = IfcMechanicalFastenerTypeEnum.STUDSHEARCONNECTOR +coupler = IfcMechanicalFastenerTypeEnum.COUPLER +railjoint = IfcMechanicalFastenerTypeEnum.RAILJOINT +railfastening = IfcMechanicalFastenerTypeEnum.RAILFASTENING +chain = IfcMechanicalFastenerTypeEnum.CHAIN +rope = IfcMechanicalFastenerTypeEnum.ROPE +userdefined = IfcMechanicalFastenerTypeEnum.USERDEFINED +notdefined = IfcMechanicalFastenerTypeEnum.NOTDEFINED IfcMedicalDeviceTypeEnum = enum_namespace() -airstation = express_getattr(IfcMedicalDeviceTypeEnum, 'AIRSTATION', INDETERMINATE) -feedairunit = express_getattr(IfcMedicalDeviceTypeEnum, 'FEEDAIRUNIT', INDETERMINATE) -oxygengenerator = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENGENERATOR', INDETERMINATE) -oxygenplant = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENPLANT', INDETERMINATE) -vacuumstation = express_getattr(IfcMedicalDeviceTypeEnum, 'VACUUMSTATION', INDETERMINATE) -userdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +airstation = IfcMedicalDeviceTypeEnum.AIRSTATION +feedairunit = IfcMedicalDeviceTypeEnum.FEEDAIRUNIT +oxygengenerator = IfcMedicalDeviceTypeEnum.OXYGENGENERATOR +oxygenplant = IfcMedicalDeviceTypeEnum.OXYGENPLANT +vacuumstation = IfcMedicalDeviceTypeEnum.VACUUMSTATION +userdefined = IfcMedicalDeviceTypeEnum.USERDEFINED +notdefined = IfcMedicalDeviceTypeEnum.NOTDEFINED IfcMemberTypeEnum = enum_namespace() -brace = express_getattr(IfcMemberTypeEnum, 'BRACE', INDETERMINATE) -chord = express_getattr(IfcMemberTypeEnum, 'CHORD', INDETERMINATE) -collar = express_getattr(IfcMemberTypeEnum, 'COLLAR', INDETERMINATE) -member = express_getattr(IfcMemberTypeEnum, 'MEMBER', INDETERMINATE) -mullion = express_getattr(IfcMemberTypeEnum, 'MULLION', INDETERMINATE) -plate = express_getattr(IfcMemberTypeEnum, 'PLATE', INDETERMINATE) -post = express_getattr(IfcMemberTypeEnum, 'POST', INDETERMINATE) -purlin = express_getattr(IfcMemberTypeEnum, 'PURLIN', INDETERMINATE) -rafter = express_getattr(IfcMemberTypeEnum, 'RAFTER', INDETERMINATE) -stringer = express_getattr(IfcMemberTypeEnum, 'STRINGER', INDETERMINATE) -strut = express_getattr(IfcMemberTypeEnum, 'STRUT', INDETERMINATE) -stud = express_getattr(IfcMemberTypeEnum, 'STUD', INDETERMINATE) -stiffening_rib = express_getattr(IfcMemberTypeEnum, 'STIFFENING_RIB', INDETERMINATE) -arch_segment = express_getattr(IfcMemberTypeEnum, 'ARCH_SEGMENT', INDETERMINATE) -suspension_cable = express_getattr(IfcMemberTypeEnum, 'SUSPENSION_CABLE', INDETERMINATE) -suspender = express_getattr(IfcMemberTypeEnum, 'SUSPENDER', INDETERMINATE) -stay_cable = express_getattr(IfcMemberTypeEnum, 'STAY_CABLE', INDETERMINATE) -structuralcable = express_getattr(IfcMemberTypeEnum, 'STRUCTURALCABLE', INDETERMINATE) -tiebar = express_getattr(IfcMemberTypeEnum, 'TIEBAR', INDETERMINATE) -userdefined = express_getattr(IfcMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +brace = IfcMemberTypeEnum.BRACE +chord = IfcMemberTypeEnum.CHORD +collar = IfcMemberTypeEnum.COLLAR +member = IfcMemberTypeEnum.MEMBER +mullion = IfcMemberTypeEnum.MULLION +plate = IfcMemberTypeEnum.PLATE +post = IfcMemberTypeEnum.POST +purlin = IfcMemberTypeEnum.PURLIN +rafter = IfcMemberTypeEnum.RAFTER +stringer = IfcMemberTypeEnum.STRINGER +strut = IfcMemberTypeEnum.STRUT +stud = IfcMemberTypeEnum.STUD +stiffening_rib = IfcMemberTypeEnum.STIFFENING_RIB +arch_segment = IfcMemberTypeEnum.ARCH_SEGMENT +suspension_cable = IfcMemberTypeEnum.SUSPENSION_CABLE +suspender = IfcMemberTypeEnum.SUSPENDER +stay_cable = IfcMemberTypeEnum.STAY_CABLE +structuralcable = IfcMemberTypeEnum.STRUCTURALCABLE +tiebar = IfcMemberTypeEnum.TIEBAR +userdefined = IfcMemberTypeEnum.USERDEFINED +notdefined = IfcMemberTypeEnum.NOTDEFINED IfcMobileTelecommunicationsApplianceTypeEnum = enum_namespace() -e_utran_node_b = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'E_UTRAN_NODE_B', INDETERMINATE) -remote_radio_unit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'REMOTE_RADIO_UNIT', INDETERMINATE) -accesspoint = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'ACCESSPOINT', INDETERMINATE) -basetransceiverstation = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'BASETRANSCEIVERSTATION', INDETERMINATE) -remoteunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'REMOTEUNIT', INDETERMINATE) -basebandunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'BASEBANDUNIT', INDETERMINATE) -masterunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'MASTERUNIT', INDETERMINATE) -userdefined = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +e_utran_node_b = IfcMobileTelecommunicationsApplianceTypeEnum.E_UTRAN_NODE_B +remote_radio_unit = IfcMobileTelecommunicationsApplianceTypeEnum.REMOTE_RADIO_UNIT +accesspoint = IfcMobileTelecommunicationsApplianceTypeEnum.ACCESSPOINT +basetransceiverstation = IfcMobileTelecommunicationsApplianceTypeEnum.BASETRANSCEIVERSTATION +remoteunit = IfcMobileTelecommunicationsApplianceTypeEnum.REMOTEUNIT +basebandunit = IfcMobileTelecommunicationsApplianceTypeEnum.BASEBANDUNIT +masterunit = IfcMobileTelecommunicationsApplianceTypeEnum.MASTERUNIT +userdefined = IfcMobileTelecommunicationsApplianceTypeEnum.USERDEFINED +notdefined = IfcMobileTelecommunicationsApplianceTypeEnum.NOTDEFINED IfcMooringDeviceTypeEnum = enum_namespace() -linetensioner = express_getattr(IfcMooringDeviceTypeEnum, 'LINETENSIONER', INDETERMINATE) -magneticdevice = express_getattr(IfcMooringDeviceTypeEnum, 'MAGNETICDEVICE', INDETERMINATE) -mooringhooks = express_getattr(IfcMooringDeviceTypeEnum, 'MOORINGHOOKS', INDETERMINATE) -vacuumdevice = express_getattr(IfcMooringDeviceTypeEnum, 'VACUUMDEVICE', INDETERMINATE) -bollard = express_getattr(IfcMooringDeviceTypeEnum, 'BOLLARD', INDETERMINATE) -userdefined = express_getattr(IfcMooringDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMooringDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +linetensioner = IfcMooringDeviceTypeEnum.LINETENSIONER +magneticdevice = IfcMooringDeviceTypeEnum.MAGNETICDEVICE +mooringhooks = IfcMooringDeviceTypeEnum.MOORINGHOOKS +vacuumdevice = IfcMooringDeviceTypeEnum.VACUUMDEVICE +bollard = IfcMooringDeviceTypeEnum.BOLLARD +userdefined = IfcMooringDeviceTypeEnum.USERDEFINED +notdefined = IfcMooringDeviceTypeEnum.NOTDEFINED IfcMotorConnectionTypeEnum = enum_namespace() -beltdrive = express_getattr(IfcMotorConnectionTypeEnum, 'BELTDRIVE', INDETERMINATE) -coupling = express_getattr(IfcMotorConnectionTypeEnum, 'COUPLING', INDETERMINATE) -directdrive = express_getattr(IfcMotorConnectionTypeEnum, 'DIRECTDRIVE', INDETERMINATE) -userdefined = express_getattr(IfcMotorConnectionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMotorConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +beltdrive = IfcMotorConnectionTypeEnum.BELTDRIVE +coupling = IfcMotorConnectionTypeEnum.COUPLING +directdrive = IfcMotorConnectionTypeEnum.DIRECTDRIVE +userdefined = IfcMotorConnectionTypeEnum.USERDEFINED +notdefined = IfcMotorConnectionTypeEnum.NOTDEFINED IfcNavigationElementTypeEnum = enum_namespace() -beacon = express_getattr(IfcNavigationElementTypeEnum, 'BEACON', INDETERMINATE) -buoy = express_getattr(IfcNavigationElementTypeEnum, 'BUOY', INDETERMINATE) -userdefined = express_getattr(IfcNavigationElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcNavigationElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +beacon = IfcNavigationElementTypeEnum.BEACON +buoy = IfcNavigationElementTypeEnum.BUOY +userdefined = IfcNavigationElementTypeEnum.USERDEFINED +notdefined = IfcNavigationElementTypeEnum.NOTDEFINED IfcObjectTypeEnum = enum_namespace() -product = express_getattr(IfcObjectTypeEnum, 'PRODUCT', INDETERMINATE) -process = express_getattr(IfcObjectTypeEnum, 'PROCESS', INDETERMINATE) -control = express_getattr(IfcObjectTypeEnum, 'CONTROL', INDETERMINATE) -resource = express_getattr(IfcObjectTypeEnum, 'RESOURCE', INDETERMINATE) -actor = express_getattr(IfcObjectTypeEnum, 'ACTOR', INDETERMINATE) -group = express_getattr(IfcObjectTypeEnum, 'GROUP', INDETERMINATE) -project = express_getattr(IfcObjectTypeEnum, 'PROJECT', INDETERMINATE) -notdefined = express_getattr(IfcObjectTypeEnum, 'NOTDEFINED', INDETERMINATE) +product = IfcObjectTypeEnum.PRODUCT +process = IfcObjectTypeEnum.PROCESS +control = IfcObjectTypeEnum.CONTROL +resource = IfcObjectTypeEnum.RESOURCE +actor = IfcObjectTypeEnum.ACTOR +group = IfcObjectTypeEnum.GROUP +project = IfcObjectTypeEnum.PROJECT +notdefined = IfcObjectTypeEnum.NOTDEFINED IfcObjectiveEnum = enum_namespace() -codecompliance = express_getattr(IfcObjectiveEnum, 'CODECOMPLIANCE', INDETERMINATE) -codewaiver = express_getattr(IfcObjectiveEnum, 'CODEWAIVER', INDETERMINATE) -designintent = express_getattr(IfcObjectiveEnum, 'DESIGNINTENT', INDETERMINATE) -external = express_getattr(IfcObjectiveEnum, 'EXTERNAL', INDETERMINATE) -healthandsafety = express_getattr(IfcObjectiveEnum, 'HEALTHANDSAFETY', INDETERMINATE) -mergeconflict = express_getattr(IfcObjectiveEnum, 'MERGECONFLICT', INDETERMINATE) -modelview = express_getattr(IfcObjectiveEnum, 'MODELVIEW', INDETERMINATE) -parameter = express_getattr(IfcObjectiveEnum, 'PARAMETER', INDETERMINATE) -requirement = express_getattr(IfcObjectiveEnum, 'REQUIREMENT', INDETERMINATE) -specification = express_getattr(IfcObjectiveEnum, 'SPECIFICATION', INDETERMINATE) -triggercondition = express_getattr(IfcObjectiveEnum, 'TRIGGERCONDITION', INDETERMINATE) -userdefined = express_getattr(IfcObjectiveEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcObjectiveEnum, 'NOTDEFINED', INDETERMINATE) +codecompliance = IfcObjectiveEnum.CODECOMPLIANCE +codewaiver = IfcObjectiveEnum.CODEWAIVER +designintent = IfcObjectiveEnum.DESIGNINTENT +external = IfcObjectiveEnum.EXTERNAL +healthandsafety = IfcObjectiveEnum.HEALTHANDSAFETY +mergeconflict = IfcObjectiveEnum.MERGECONFLICT +modelview = IfcObjectiveEnum.MODELVIEW +parameter = IfcObjectiveEnum.PARAMETER +requirement = IfcObjectiveEnum.REQUIREMENT +specification = IfcObjectiveEnum.SPECIFICATION +triggercondition = IfcObjectiveEnum.TRIGGERCONDITION +userdefined = IfcObjectiveEnum.USERDEFINED +notdefined = IfcObjectiveEnum.NOTDEFINED IfcOccupantTypeEnum = enum_namespace() -assignee = express_getattr(IfcOccupantTypeEnum, 'ASSIGNEE', INDETERMINATE) -assignor = express_getattr(IfcOccupantTypeEnum, 'ASSIGNOR', INDETERMINATE) -lessee = express_getattr(IfcOccupantTypeEnum, 'LESSEE', INDETERMINATE) -lessor = express_getattr(IfcOccupantTypeEnum, 'LESSOR', INDETERMINATE) -lettingagent = express_getattr(IfcOccupantTypeEnum, 'LETTINGAGENT', INDETERMINATE) -owner = express_getattr(IfcOccupantTypeEnum, 'OWNER', INDETERMINATE) -tenant = express_getattr(IfcOccupantTypeEnum, 'TENANT', INDETERMINATE) -userdefined = express_getattr(IfcOccupantTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOccupantTypeEnum, 'NOTDEFINED', INDETERMINATE) +assignee = IfcOccupantTypeEnum.ASSIGNEE +assignor = IfcOccupantTypeEnum.ASSIGNOR +lessee = IfcOccupantTypeEnum.LESSEE +lessor = IfcOccupantTypeEnum.LESSOR +lettingagent = IfcOccupantTypeEnum.LETTINGAGENT +owner = IfcOccupantTypeEnum.OWNER +tenant = IfcOccupantTypeEnum.TENANT +userdefined = IfcOccupantTypeEnum.USERDEFINED +notdefined = IfcOccupantTypeEnum.NOTDEFINED IfcOpeningElementTypeEnum = enum_namespace() -opening = express_getattr(IfcOpeningElementTypeEnum, 'OPENING', INDETERMINATE) -recess = express_getattr(IfcOpeningElementTypeEnum, 'RECESS', INDETERMINATE) -userdefined = express_getattr(IfcOpeningElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOpeningElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +opening = IfcOpeningElementTypeEnum.OPENING +recess = IfcOpeningElementTypeEnum.RECESS +userdefined = IfcOpeningElementTypeEnum.USERDEFINED +notdefined = IfcOpeningElementTypeEnum.NOTDEFINED IfcOutletTypeEnum = enum_namespace() -audiovisualoutlet = express_getattr(IfcOutletTypeEnum, 'AUDIOVISUALOUTLET', INDETERMINATE) -communicationsoutlet = express_getattr(IfcOutletTypeEnum, 'COMMUNICATIONSOUTLET', INDETERMINATE) -poweroutlet = express_getattr(IfcOutletTypeEnum, 'POWEROUTLET', INDETERMINATE) -dataoutlet = express_getattr(IfcOutletTypeEnum, 'DATAOUTLET', INDETERMINATE) -telephoneoutlet = express_getattr(IfcOutletTypeEnum, 'TELEPHONEOUTLET', INDETERMINATE) -userdefined = express_getattr(IfcOutletTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOutletTypeEnum, 'NOTDEFINED', INDETERMINATE) +audiovisualoutlet = IfcOutletTypeEnum.AUDIOVISUALOUTLET +communicationsoutlet = IfcOutletTypeEnum.COMMUNICATIONSOUTLET +poweroutlet = IfcOutletTypeEnum.POWEROUTLET +dataoutlet = IfcOutletTypeEnum.DATAOUTLET +telephoneoutlet = IfcOutletTypeEnum.TELEPHONEOUTLET +userdefined = IfcOutletTypeEnum.USERDEFINED +notdefined = IfcOutletTypeEnum.NOTDEFINED IfcPavementTypeEnum = enum_namespace() -flexible = express_getattr(IfcPavementTypeEnum, 'FLEXIBLE', INDETERMINATE) -rigid = express_getattr(IfcPavementTypeEnum, 'RIGID', INDETERMINATE) -userdefined = express_getattr(IfcPavementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPavementTypeEnum, 'NOTDEFINED', INDETERMINATE) +flexible = IfcPavementTypeEnum.FLEXIBLE +rigid = IfcPavementTypeEnum.RIGID +userdefined = IfcPavementTypeEnum.USERDEFINED +notdefined = IfcPavementTypeEnum.NOTDEFINED IfcPerformanceHistoryTypeEnum = enum_namespace() -userdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcPerformanceHistoryTypeEnum.USERDEFINED +notdefined = IfcPerformanceHistoryTypeEnum.NOTDEFINED IfcPermeableCoveringOperationEnum = enum_namespace() -grill = express_getattr(IfcPermeableCoveringOperationEnum, 'GRILL', INDETERMINATE) -louver = express_getattr(IfcPermeableCoveringOperationEnum, 'LOUVER', INDETERMINATE) -screen = express_getattr(IfcPermeableCoveringOperationEnum, 'SCREEN', INDETERMINATE) -userdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'NOTDEFINED', INDETERMINATE) +grill = IfcPermeableCoveringOperationEnum.GRILL +louver = IfcPermeableCoveringOperationEnum.LOUVER +screen = IfcPermeableCoveringOperationEnum.SCREEN +userdefined = IfcPermeableCoveringOperationEnum.USERDEFINED +notdefined = IfcPermeableCoveringOperationEnum.NOTDEFINED IfcPermitTypeEnum = enum_namespace() -access = express_getattr(IfcPermitTypeEnum, 'ACCESS', INDETERMINATE) -building = express_getattr(IfcPermitTypeEnum, 'BUILDING', INDETERMINATE) -work = express_getattr(IfcPermitTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcPermitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermitTypeEnum, 'NOTDEFINED', INDETERMINATE) +access = IfcPermitTypeEnum.ACCESS +building = IfcPermitTypeEnum.BUILDING +work = IfcPermitTypeEnum.WORK +userdefined = IfcPermitTypeEnum.USERDEFINED +notdefined = IfcPermitTypeEnum.NOTDEFINED IfcPhysicalOrVirtualEnum = enum_namespace() -physical = express_getattr(IfcPhysicalOrVirtualEnum, 'PHYSICAL', INDETERMINATE) -virtual = express_getattr(IfcPhysicalOrVirtualEnum, 'VIRTUAL', INDETERMINATE) -notdefined = express_getattr(IfcPhysicalOrVirtualEnum, 'NOTDEFINED', INDETERMINATE) +physical = IfcPhysicalOrVirtualEnum.PHYSICAL +virtual = IfcPhysicalOrVirtualEnum.VIRTUAL +notdefined = IfcPhysicalOrVirtualEnum.NOTDEFINED IfcPileConstructionEnum = enum_namespace() -cast_in_place = express_getattr(IfcPileConstructionEnum, 'CAST_IN_PLACE', INDETERMINATE) -composite = express_getattr(IfcPileConstructionEnum, 'COMPOSITE', INDETERMINATE) -precast_concrete = express_getattr(IfcPileConstructionEnum, 'PRECAST_CONCRETE', INDETERMINATE) -prefab_steel = express_getattr(IfcPileConstructionEnum, 'PREFAB_STEEL', INDETERMINATE) -userdefined = express_getattr(IfcPileConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileConstructionEnum, 'NOTDEFINED', INDETERMINATE) +cast_in_place = IfcPileConstructionEnum.CAST_IN_PLACE +composite = IfcPileConstructionEnum.COMPOSITE +precast_concrete = IfcPileConstructionEnum.PRECAST_CONCRETE +prefab_steel = IfcPileConstructionEnum.PREFAB_STEEL +userdefined = IfcPileConstructionEnum.USERDEFINED +notdefined = IfcPileConstructionEnum.NOTDEFINED IfcPileTypeEnum = enum_namespace() -bored = express_getattr(IfcPileTypeEnum, 'BORED', INDETERMINATE) -driven = express_getattr(IfcPileTypeEnum, 'DRIVEN', INDETERMINATE) -jetgrouting = express_getattr(IfcPileTypeEnum, 'JETGROUTING', INDETERMINATE) -cohesion = express_getattr(IfcPileTypeEnum, 'COHESION', INDETERMINATE) -friction = express_getattr(IfcPileTypeEnum, 'FRICTION', INDETERMINATE) -support = express_getattr(IfcPileTypeEnum, 'SUPPORT', INDETERMINATE) -userdefined = express_getattr(IfcPileTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileTypeEnum, 'NOTDEFINED', INDETERMINATE) +bored = IfcPileTypeEnum.BORED +driven = IfcPileTypeEnum.DRIVEN +jetgrouting = IfcPileTypeEnum.JETGROUTING +cohesion = IfcPileTypeEnum.COHESION +friction = IfcPileTypeEnum.FRICTION +support = IfcPileTypeEnum.SUPPORT +userdefined = IfcPileTypeEnum.USERDEFINED +notdefined = IfcPileTypeEnum.NOTDEFINED IfcPipeFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcPipeFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcPipeFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcPipeFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcPipeFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcPipeFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcPipeFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcPipeFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcPipeFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcPipeFittingTypeEnum.BEND +connector = IfcPipeFittingTypeEnum.CONNECTOR +entry = IfcPipeFittingTypeEnum.ENTRY +exit = IfcPipeFittingTypeEnum.EXIT +junction = IfcPipeFittingTypeEnum.JUNCTION +obstruction = IfcPipeFittingTypeEnum.OBSTRUCTION +transition = IfcPipeFittingTypeEnum.TRANSITION +userdefined = IfcPipeFittingTypeEnum.USERDEFINED +notdefined = IfcPipeFittingTypeEnum.NOTDEFINED IfcPipeSegmentTypeEnum = enum_namespace() -culvert = express_getattr(IfcPipeSegmentTypeEnum, 'CULVERT', INDETERMINATE) -flexiblesegment = express_getattr(IfcPipeSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -rigidsegment = express_getattr(IfcPipeSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -gutter = express_getattr(IfcPipeSegmentTypeEnum, 'GUTTER', INDETERMINATE) -spool = express_getattr(IfcPipeSegmentTypeEnum, 'SPOOL', INDETERMINATE) -userdefined = express_getattr(IfcPipeSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +culvert = IfcPipeSegmentTypeEnum.CULVERT +flexiblesegment = IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT +rigidsegment = IfcPipeSegmentTypeEnum.RIGIDSEGMENT +gutter = IfcPipeSegmentTypeEnum.GUTTER +spool = IfcPipeSegmentTypeEnum.SPOOL +userdefined = IfcPipeSegmentTypeEnum.USERDEFINED +notdefined = IfcPipeSegmentTypeEnum.NOTDEFINED IfcPlateTypeEnum = enum_namespace() -curtain_panel = express_getattr(IfcPlateTypeEnum, 'CURTAIN_PANEL', INDETERMINATE) -sheet = express_getattr(IfcPlateTypeEnum, 'SHEET', INDETERMINATE) -flange_plate = express_getattr(IfcPlateTypeEnum, 'FLANGE_PLATE', INDETERMINATE) -web_plate = express_getattr(IfcPlateTypeEnum, 'WEB_PLATE', INDETERMINATE) -stiffener_plate = express_getattr(IfcPlateTypeEnum, 'STIFFENER_PLATE', INDETERMINATE) -gusset_plate = express_getattr(IfcPlateTypeEnum, 'GUSSET_PLATE', INDETERMINATE) -cover_plate = express_getattr(IfcPlateTypeEnum, 'COVER_PLATE', INDETERMINATE) -splice_plate = express_getattr(IfcPlateTypeEnum, 'SPLICE_PLATE', INDETERMINATE) -base_plate = express_getattr(IfcPlateTypeEnum, 'BASE_PLATE', INDETERMINATE) -userdefined = express_getattr(IfcPlateTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPlateTypeEnum, 'NOTDEFINED', INDETERMINATE) +curtain_panel = IfcPlateTypeEnum.CURTAIN_PANEL +sheet = IfcPlateTypeEnum.SHEET +flange_plate = IfcPlateTypeEnum.FLANGE_PLATE +web_plate = IfcPlateTypeEnum.WEB_PLATE +stiffener_plate = IfcPlateTypeEnum.STIFFENER_PLATE +gusset_plate = IfcPlateTypeEnum.GUSSET_PLATE +cover_plate = IfcPlateTypeEnum.COVER_PLATE +splice_plate = IfcPlateTypeEnum.SPLICE_PLATE +base_plate = IfcPlateTypeEnum.BASE_PLATE +userdefined = IfcPlateTypeEnum.USERDEFINED +notdefined = IfcPlateTypeEnum.NOTDEFINED IfcPreferredSurfaceCurveRepresentation = enum_namespace() -curve3d = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'CURVE3D', INDETERMINATE) -pcurve_s1 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S1', INDETERMINATE) -pcurve_s2 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S2', INDETERMINATE) +curve3d = IfcPreferredSurfaceCurveRepresentation.CURVE3D +pcurve_s1 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S1 +pcurve_s2 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S2 IfcProcedureTypeEnum = enum_namespace() -advice_caution = express_getattr(IfcProcedureTypeEnum, 'ADVICE_CAUTION', INDETERMINATE) -advice_note = express_getattr(IfcProcedureTypeEnum, 'ADVICE_NOTE', INDETERMINATE) -advice_warning = express_getattr(IfcProcedureTypeEnum, 'ADVICE_WARNING', INDETERMINATE) -calibration = express_getattr(IfcProcedureTypeEnum, 'CALIBRATION', INDETERMINATE) -diagnostic = express_getattr(IfcProcedureTypeEnum, 'DIAGNOSTIC', INDETERMINATE) -shutdown = express_getattr(IfcProcedureTypeEnum, 'SHUTDOWN', INDETERMINATE) -startup = express_getattr(IfcProcedureTypeEnum, 'STARTUP', INDETERMINATE) -userdefined = express_getattr(IfcProcedureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProcedureTypeEnum, 'NOTDEFINED', INDETERMINATE) +advice_caution = IfcProcedureTypeEnum.ADVICE_CAUTION +advice_note = IfcProcedureTypeEnum.ADVICE_NOTE +advice_warning = IfcProcedureTypeEnum.ADVICE_WARNING +calibration = IfcProcedureTypeEnum.CALIBRATION +diagnostic = IfcProcedureTypeEnum.DIAGNOSTIC +shutdown = IfcProcedureTypeEnum.SHUTDOWN +startup = IfcProcedureTypeEnum.STARTUP +userdefined = IfcProcedureTypeEnum.USERDEFINED +notdefined = IfcProcedureTypeEnum.NOTDEFINED IfcProfileTypeEnum = enum_namespace() -curve = express_getattr(IfcProfileTypeEnum, 'CURVE', INDETERMINATE) -area = express_getattr(IfcProfileTypeEnum, 'AREA', INDETERMINATE) +curve = IfcProfileTypeEnum.CURVE +area = IfcProfileTypeEnum.AREA IfcProjectOrderTypeEnum = enum_namespace() -changeorder = express_getattr(IfcProjectOrderTypeEnum, 'CHANGEORDER', INDETERMINATE) -maintenanceworkorder = express_getattr(IfcProjectOrderTypeEnum, 'MAINTENANCEWORKORDER', INDETERMINATE) -moveorder = express_getattr(IfcProjectOrderTypeEnum, 'MOVEORDER', INDETERMINATE) -purchaseorder = express_getattr(IfcProjectOrderTypeEnum, 'PURCHASEORDER', INDETERMINATE) -workorder = express_getattr(IfcProjectOrderTypeEnum, 'WORKORDER', INDETERMINATE) -userdefined = express_getattr(IfcProjectOrderTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectOrderTypeEnum, 'NOTDEFINED', INDETERMINATE) +changeorder = IfcProjectOrderTypeEnum.CHANGEORDER +maintenanceworkorder = IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER +moveorder = IfcProjectOrderTypeEnum.MOVEORDER +purchaseorder = IfcProjectOrderTypeEnum.PURCHASEORDER +workorder = IfcProjectOrderTypeEnum.WORKORDER +userdefined = IfcProjectOrderTypeEnum.USERDEFINED +notdefined = IfcProjectOrderTypeEnum.NOTDEFINED IfcProjectedOrTrueLengthEnum = enum_namespace() -projected_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'PROJECTED_LENGTH', INDETERMINATE) -true_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'TRUE_LENGTH', INDETERMINATE) +projected_length = IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH +true_length = IfcProjectedOrTrueLengthEnum.TRUE_LENGTH IfcProjectionElementTypeEnum = enum_namespace() -blister = express_getattr(IfcProjectionElementTypeEnum, 'BLISTER', INDETERMINATE) -deviator = express_getattr(IfcProjectionElementTypeEnum, 'DEVIATOR', INDETERMINATE) -userdefined = express_getattr(IfcProjectionElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectionElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +blister = IfcProjectionElementTypeEnum.BLISTER +deviator = IfcProjectionElementTypeEnum.DEVIATOR +userdefined = IfcProjectionElementTypeEnum.USERDEFINED +notdefined = IfcProjectionElementTypeEnum.NOTDEFINED IfcPropertySetTemplateTypeEnum = enum_namespace() -pset_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENONLY', INDETERMINATE) -pset_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENOVERRIDE', INDETERMINATE) -pset_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_OCCURRENCEDRIVEN', INDETERMINATE) -pset_performancedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_PERFORMANCEDRIVEN', INDETERMINATE) -qto_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENONLY', INDETERMINATE) -qto_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENOVERRIDE', INDETERMINATE) -qto_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_OCCURRENCEDRIVEN', INDETERMINATE) -notdefined = express_getattr(IfcPropertySetTemplateTypeEnum, 'NOTDEFINED', INDETERMINATE) +pset_typedrivenonly = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENONLY +pset_typedrivenoverride = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENOVERRIDE +pset_occurrencedriven = IfcPropertySetTemplateTypeEnum.PSET_OCCURRENCEDRIVEN +pset_performancedriven = IfcPropertySetTemplateTypeEnum.PSET_PERFORMANCEDRIVEN +qto_typedrivenonly = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENONLY +qto_typedrivenoverride = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENOVERRIDE +qto_occurrencedriven = IfcPropertySetTemplateTypeEnum.QTO_OCCURRENCEDRIVEN +notdefined = IfcPropertySetTemplateTypeEnum.NOTDEFINED IfcProtectiveDeviceTrippingUnitTypeEnum = enum_namespace() -electronic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTRONIC', INDETERMINATE) -electromagnetic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTROMAGNETIC', INDETERMINATE) -residualcurrent = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'RESIDUALCURRENT', INDETERMINATE) -thermal = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'THERMAL', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'NOTDEFINED', INDETERMINATE) +electronic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTRONIC +electromagnetic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTROMAGNETIC +residualcurrent = IfcProtectiveDeviceTrippingUnitTypeEnum.RESIDUALCURRENT +thermal = IfcProtectiveDeviceTrippingUnitTypeEnum.THERMAL +userdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.NOTDEFINED IfcProtectiveDeviceTypeEnum = enum_namespace() -circuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'CIRCUITBREAKER', INDETERMINATE) -earthleakagecircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHLEAKAGECIRCUITBREAKER', INDETERMINATE) -earthingswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHINGSWITCH', INDETERMINATE) -fusedisconnector = express_getattr(IfcProtectiveDeviceTypeEnum, 'FUSEDISCONNECTOR', INDETERMINATE) -residualcurrentcircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTCIRCUITBREAKER', INDETERMINATE) -residualcurrentswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTSWITCH', INDETERMINATE) -varistor = express_getattr(IfcProtectiveDeviceTypeEnum, 'VARISTOR', INDETERMINATE) -anti_arcing_device = express_getattr(IfcProtectiveDeviceTypeEnum, 'ANTI_ARCING_DEVICE', INDETERMINATE) -sparkgap = express_getattr(IfcProtectiveDeviceTypeEnum, 'SPARKGAP', INDETERMINATE) -voltagelimiter = express_getattr(IfcProtectiveDeviceTypeEnum, 'VOLTAGELIMITER', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +circuitbreaker = IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER +earthleakagecircuitbreaker = IfcProtectiveDeviceTypeEnum.EARTHLEAKAGECIRCUITBREAKER +earthingswitch = IfcProtectiveDeviceTypeEnum.EARTHINGSWITCH +fusedisconnector = IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR +residualcurrentcircuitbreaker = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER +residualcurrentswitch = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH +varistor = IfcProtectiveDeviceTypeEnum.VARISTOR +anti_arcing_device = IfcProtectiveDeviceTypeEnum.ANTI_ARCING_DEVICE +sparkgap = IfcProtectiveDeviceTypeEnum.SPARKGAP +voltagelimiter = IfcProtectiveDeviceTypeEnum.VOLTAGELIMITER +userdefined = IfcProtectiveDeviceTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTypeEnum.NOTDEFINED IfcPumpTypeEnum = enum_namespace() -circulator = express_getattr(IfcPumpTypeEnum, 'CIRCULATOR', INDETERMINATE) -endsuction = express_getattr(IfcPumpTypeEnum, 'ENDSUCTION', INDETERMINATE) -splitcase = express_getattr(IfcPumpTypeEnum, 'SPLITCASE', INDETERMINATE) -submersiblepump = express_getattr(IfcPumpTypeEnum, 'SUBMERSIBLEPUMP', INDETERMINATE) -sumppump = express_getattr(IfcPumpTypeEnum, 'SUMPPUMP', INDETERMINATE) -verticalinline = express_getattr(IfcPumpTypeEnum, 'VERTICALINLINE', INDETERMINATE) -verticalturbine = express_getattr(IfcPumpTypeEnum, 'VERTICALTURBINE', INDETERMINATE) -userdefined = express_getattr(IfcPumpTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPumpTypeEnum, 'NOTDEFINED', INDETERMINATE) +circulator = IfcPumpTypeEnum.CIRCULATOR +endsuction = IfcPumpTypeEnum.ENDSUCTION +splitcase = IfcPumpTypeEnum.SPLITCASE +submersiblepump = IfcPumpTypeEnum.SUBMERSIBLEPUMP +sumppump = IfcPumpTypeEnum.SUMPPUMP +verticalinline = IfcPumpTypeEnum.VERTICALINLINE +verticalturbine = IfcPumpTypeEnum.VERTICALTURBINE +userdefined = IfcPumpTypeEnum.USERDEFINED +notdefined = IfcPumpTypeEnum.NOTDEFINED IfcRailTypeEnum = enum_namespace() -rackrail = express_getattr(IfcRailTypeEnum, 'RACKRAIL', INDETERMINATE) -blade = express_getattr(IfcRailTypeEnum, 'BLADE', INDETERMINATE) -guardrail = express_getattr(IfcRailTypeEnum, 'GUARDRAIL', INDETERMINATE) -stockrail = express_getattr(IfcRailTypeEnum, 'STOCKRAIL', INDETERMINATE) -checkrail = express_getattr(IfcRailTypeEnum, 'CHECKRAIL', INDETERMINATE) -rail = express_getattr(IfcRailTypeEnum, 'RAIL', INDETERMINATE) -userdefined = express_getattr(IfcRailTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailTypeEnum, 'NOTDEFINED', INDETERMINATE) +rackrail = IfcRailTypeEnum.RACKRAIL +blade = IfcRailTypeEnum.BLADE +guardrail = IfcRailTypeEnum.GUARDRAIL +stockrail = IfcRailTypeEnum.STOCKRAIL +checkrail = IfcRailTypeEnum.CHECKRAIL +rail = IfcRailTypeEnum.RAIL +userdefined = IfcRailTypeEnum.USERDEFINED +notdefined = IfcRailTypeEnum.NOTDEFINED IfcRailingTypeEnum = enum_namespace() -handrail = express_getattr(IfcRailingTypeEnum, 'HANDRAIL', INDETERMINATE) -guardrail = express_getattr(IfcRailingTypeEnum, 'GUARDRAIL', INDETERMINATE) -balustrade = express_getattr(IfcRailingTypeEnum, 'BALUSTRADE', INDETERMINATE) -fence = express_getattr(IfcRailingTypeEnum, 'FENCE', INDETERMINATE) -userdefined = express_getattr(IfcRailingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailingTypeEnum, 'NOTDEFINED', INDETERMINATE) +handrail = IfcRailingTypeEnum.HANDRAIL +guardrail = IfcRailingTypeEnum.GUARDRAIL +balustrade = IfcRailingTypeEnum.BALUSTRADE +fence = IfcRailingTypeEnum.FENCE +userdefined = IfcRailingTypeEnum.USERDEFINED +notdefined = IfcRailingTypeEnum.NOTDEFINED IfcRailwayPartTypeEnum = enum_namespace() -trackstructure = express_getattr(IfcRailwayPartTypeEnum, 'TRACKSTRUCTURE', INDETERMINATE) -trackstructurepart = express_getattr(IfcRailwayPartTypeEnum, 'TRACKSTRUCTUREPART', INDETERMINATE) -linesidestructurepart = express_getattr(IfcRailwayPartTypeEnum, 'LINESIDESTRUCTUREPART', INDETERMINATE) -dilatationsuperstructure = express_getattr(IfcRailwayPartTypeEnum, 'DILATATIONSUPERSTRUCTURE', INDETERMINATE) -plaintracksupestructure = express_getattr(IfcRailwayPartTypeEnum, 'PLAINTRACKSUPESTRUCTURE', INDETERMINATE) -linesidestructure = express_getattr(IfcRailwayPartTypeEnum, 'LINESIDESTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcRailwayPartTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -turnoutsuperstructure = express_getattr(IfcRailwayPartTypeEnum, 'TURNOUTSUPERSTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcRailwayPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailwayPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +trackstructure = IfcRailwayPartTypeEnum.TRACKSTRUCTURE +trackstructurepart = IfcRailwayPartTypeEnum.TRACKSTRUCTUREPART +linesidestructurepart = IfcRailwayPartTypeEnum.LINESIDESTRUCTUREPART +dilatationsuperstructure = IfcRailwayPartTypeEnum.DILATATIONSUPERSTRUCTURE +plaintracksupestructure = IfcRailwayPartTypeEnum.PLAINTRACKSUPESTRUCTURE +linesidestructure = IfcRailwayPartTypeEnum.LINESIDESTRUCTURE +superstructure = IfcRailwayPartTypeEnum.SUPERSTRUCTURE +turnoutsuperstructure = IfcRailwayPartTypeEnum.TURNOUTSUPERSTRUCTURE +userdefined = IfcRailwayPartTypeEnum.USERDEFINED +notdefined = IfcRailwayPartTypeEnum.NOTDEFINED IfcRailwayTypeEnum = enum_namespace() -userdefined = express_getattr(IfcRailwayTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailwayTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcRailwayTypeEnum.USERDEFINED +notdefined = IfcRailwayTypeEnum.NOTDEFINED IfcRampFlightTypeEnum = enum_namespace() -straight = express_getattr(IfcRampFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -spiral = express_getattr(IfcRampFlightTypeEnum, 'SPIRAL', INDETERMINATE) -userdefined = express_getattr(IfcRampFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight = IfcRampFlightTypeEnum.STRAIGHT +spiral = IfcRampFlightTypeEnum.SPIRAL +userdefined = IfcRampFlightTypeEnum.USERDEFINED +notdefined = IfcRampFlightTypeEnum.NOTDEFINED IfcRampTypeEnum = enum_namespace() -straight_run_ramp = express_getattr(IfcRampTypeEnum, 'STRAIGHT_RUN_RAMP', INDETERMINATE) -two_straight_run_ramp = express_getattr(IfcRampTypeEnum, 'TWO_STRAIGHT_RUN_RAMP', INDETERMINATE) -quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'QUARTER_TURN_RAMP', INDETERMINATE) -two_quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'TWO_QUARTER_TURN_RAMP', INDETERMINATE) -half_turn_ramp = express_getattr(IfcRampTypeEnum, 'HALF_TURN_RAMP', INDETERMINATE) -spiral_ramp = express_getattr(IfcRampTypeEnum, 'SPIRAL_RAMP', INDETERMINATE) -userdefined = express_getattr(IfcRampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight_run_ramp = IfcRampTypeEnum.STRAIGHT_RUN_RAMP +two_straight_run_ramp = IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP +quarter_turn_ramp = IfcRampTypeEnum.QUARTER_TURN_RAMP +two_quarter_turn_ramp = IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP +half_turn_ramp = IfcRampTypeEnum.HALF_TURN_RAMP +spiral_ramp = IfcRampTypeEnum.SPIRAL_RAMP +userdefined = IfcRampTypeEnum.USERDEFINED +notdefined = IfcRampTypeEnum.NOTDEFINED IfcRecurrenceTypeEnum = enum_namespace() -daily = express_getattr(IfcRecurrenceTypeEnum, 'DAILY', INDETERMINATE) -weekly = express_getattr(IfcRecurrenceTypeEnum, 'WEEKLY', INDETERMINATE) -monthly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_DAY_OF_MONTH', INDETERMINATE) -monthly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_POSITION', INDETERMINATE) -by_day_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_DAY_COUNT', INDETERMINATE) -by_weekday_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_WEEKDAY_COUNT', INDETERMINATE) -yearly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_DAY_OF_MONTH', INDETERMINATE) -yearly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_POSITION', INDETERMINATE) +daily = IfcRecurrenceTypeEnum.DAILY +weekly = IfcRecurrenceTypeEnum.WEEKLY +monthly_by_day_of_month = IfcRecurrenceTypeEnum.MONTHLY_BY_DAY_OF_MONTH +monthly_by_position = IfcRecurrenceTypeEnum.MONTHLY_BY_POSITION +by_day_count = IfcRecurrenceTypeEnum.BY_DAY_COUNT +by_weekday_count = IfcRecurrenceTypeEnum.BY_WEEKDAY_COUNT +yearly_by_day_of_month = IfcRecurrenceTypeEnum.YEARLY_BY_DAY_OF_MONTH +yearly_by_position = IfcRecurrenceTypeEnum.YEARLY_BY_POSITION IfcReferentTypeEnum = enum_namespace() -kilopoint = express_getattr(IfcReferentTypeEnum, 'KILOPOINT', INDETERMINATE) -milepoint = express_getattr(IfcReferentTypeEnum, 'MILEPOINT', INDETERMINATE) -station = express_getattr(IfcReferentTypeEnum, 'STATION', INDETERMINATE) -referencemarker = express_getattr(IfcReferentTypeEnum, 'REFERENCEMARKER', INDETERMINATE) -userdefined = express_getattr(IfcReferentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReferentTypeEnum, 'NOTDEFINED', INDETERMINATE) +kilopoint = IfcReferentTypeEnum.KILOPOINT +milepoint = IfcReferentTypeEnum.MILEPOINT +station = IfcReferentTypeEnum.STATION +referencemarker = IfcReferentTypeEnum.REFERENCEMARKER +userdefined = IfcReferentTypeEnum.USERDEFINED +notdefined = IfcReferentTypeEnum.NOTDEFINED IfcReflectanceMethodEnum = enum_namespace() -blinn = express_getattr(IfcReflectanceMethodEnum, 'BLINN', INDETERMINATE) -flat = express_getattr(IfcReflectanceMethodEnum, 'FLAT', INDETERMINATE) -glass = express_getattr(IfcReflectanceMethodEnum, 'GLASS', INDETERMINATE) -matt = express_getattr(IfcReflectanceMethodEnum, 'MATT', INDETERMINATE) -metal = express_getattr(IfcReflectanceMethodEnum, 'METAL', INDETERMINATE) -mirror = express_getattr(IfcReflectanceMethodEnum, 'MIRROR', INDETERMINATE) -phong = express_getattr(IfcReflectanceMethodEnum, 'PHONG', INDETERMINATE) -plastic = express_getattr(IfcReflectanceMethodEnum, 'PLASTIC', INDETERMINATE) -strauss = express_getattr(IfcReflectanceMethodEnum, 'STRAUSS', INDETERMINATE) -notdefined = express_getattr(IfcReflectanceMethodEnum, 'NOTDEFINED', INDETERMINATE) +blinn = IfcReflectanceMethodEnum.BLINN +flat = IfcReflectanceMethodEnum.FLAT +glass = IfcReflectanceMethodEnum.GLASS +matt = IfcReflectanceMethodEnum.MATT +metal = IfcReflectanceMethodEnum.METAL +mirror = IfcReflectanceMethodEnum.MIRROR +phong = IfcReflectanceMethodEnum.PHONG +plastic = IfcReflectanceMethodEnum.PLASTIC +strauss = IfcReflectanceMethodEnum.STRAUSS +notdefined = IfcReflectanceMethodEnum.NOTDEFINED IfcReinforcedSoilTypeEnum = enum_namespace() -surchargepreloaded = express_getattr(IfcReinforcedSoilTypeEnum, 'SURCHARGEPRELOADED', INDETERMINATE) -verticallydrained = express_getattr(IfcReinforcedSoilTypeEnum, 'VERTICALLYDRAINED', INDETERMINATE) -dynamicallycompacted = express_getattr(IfcReinforcedSoilTypeEnum, 'DYNAMICALLYCOMPACTED', INDETERMINATE) -replaced = express_getattr(IfcReinforcedSoilTypeEnum, 'REPLACED', INDETERMINATE) -rollercompacted = express_getattr(IfcReinforcedSoilTypeEnum, 'ROLLERCOMPACTED', INDETERMINATE) -grouted = express_getattr(IfcReinforcedSoilTypeEnum, 'GROUTED', INDETERMINATE) -userdefined = express_getattr(IfcReinforcedSoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcedSoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +surchargepreloaded = IfcReinforcedSoilTypeEnum.SURCHARGEPRELOADED +verticallydrained = IfcReinforcedSoilTypeEnum.VERTICALLYDRAINED +dynamicallycompacted = IfcReinforcedSoilTypeEnum.DYNAMICALLYCOMPACTED +replaced = IfcReinforcedSoilTypeEnum.REPLACED +rollercompacted = IfcReinforcedSoilTypeEnum.ROLLERCOMPACTED +grouted = IfcReinforcedSoilTypeEnum.GROUTED +userdefined = IfcReinforcedSoilTypeEnum.USERDEFINED +notdefined = IfcReinforcedSoilTypeEnum.NOTDEFINED IfcReinforcingBarRoleEnum = enum_namespace() -main = express_getattr(IfcReinforcingBarRoleEnum, 'MAIN', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarRoleEnum, 'SHEAR', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarRoleEnum, 'LIGATURE', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarRoleEnum, 'STUD', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarRoleEnum, 'PUNCHING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarRoleEnum, 'EDGE', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarRoleEnum, 'RING', INDETERMINATE) -anchoring = express_getattr(IfcReinforcingBarRoleEnum, 'ANCHORING', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarRoleEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarRoleEnum, 'NOTDEFINED', INDETERMINATE) +main = IfcReinforcingBarRoleEnum.MAIN +shear = IfcReinforcingBarRoleEnum.SHEAR +ligature = IfcReinforcingBarRoleEnum.LIGATURE +stud = IfcReinforcingBarRoleEnum.STUD +punching = IfcReinforcingBarRoleEnum.PUNCHING +edge = IfcReinforcingBarRoleEnum.EDGE +ring = IfcReinforcingBarRoleEnum.RING +anchoring = IfcReinforcingBarRoleEnum.ANCHORING +userdefined = IfcReinforcingBarRoleEnum.USERDEFINED +notdefined = IfcReinforcingBarRoleEnum.NOTDEFINED IfcReinforcingBarSurfaceEnum = enum_namespace() -plain = express_getattr(IfcReinforcingBarSurfaceEnum, 'PLAIN', INDETERMINATE) -textured = express_getattr(IfcReinforcingBarSurfaceEnum, 'TEXTURED', INDETERMINATE) +plain = IfcReinforcingBarSurfaceEnum.PLAIN +textured = IfcReinforcingBarSurfaceEnum.TEXTURED IfcReinforcingBarTypeEnum = enum_namespace() -anchoring = express_getattr(IfcReinforcingBarTypeEnum, 'ANCHORING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarTypeEnum, 'EDGE', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarTypeEnum, 'LIGATURE', INDETERMINATE) -main = express_getattr(IfcReinforcingBarTypeEnum, 'MAIN', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarTypeEnum, 'PUNCHING', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarTypeEnum, 'RING', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarTypeEnum, 'SHEAR', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarTypeEnum, 'STUD', INDETERMINATE) -spacebar = express_getattr(IfcReinforcingBarTypeEnum, 'SPACEBAR', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchoring = IfcReinforcingBarTypeEnum.ANCHORING +edge = IfcReinforcingBarTypeEnum.EDGE +ligature = IfcReinforcingBarTypeEnum.LIGATURE +main = IfcReinforcingBarTypeEnum.MAIN +punching = IfcReinforcingBarTypeEnum.PUNCHING +ring = IfcReinforcingBarTypeEnum.RING +shear = IfcReinforcingBarTypeEnum.SHEAR +stud = IfcReinforcingBarTypeEnum.STUD +spacebar = IfcReinforcingBarTypeEnum.SPACEBAR +userdefined = IfcReinforcingBarTypeEnum.USERDEFINED +notdefined = IfcReinforcingBarTypeEnum.NOTDEFINED IfcReinforcingMeshTypeEnum = enum_namespace() -userdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcReinforcingMeshTypeEnum.USERDEFINED +notdefined = IfcReinforcingMeshTypeEnum.NOTDEFINED IfcRoadPartTypeEnum = enum_namespace() -roadsidepart = express_getattr(IfcRoadPartTypeEnum, 'ROADSIDEPART', INDETERMINATE) -bus_stop = express_getattr(IfcRoadPartTypeEnum, 'BUS_STOP', INDETERMINATE) -hardshoulder = express_getattr(IfcRoadPartTypeEnum, 'HARDSHOULDER', INDETERMINATE) -intersection = express_getattr(IfcRoadPartTypeEnum, 'INTERSECTION', INDETERMINATE) -passingbay = express_getattr(IfcRoadPartTypeEnum, 'PASSINGBAY', INDETERMINATE) -roadwayplateau = express_getattr(IfcRoadPartTypeEnum, 'ROADWAYPLATEAU', INDETERMINATE) -roadside = express_getattr(IfcRoadPartTypeEnum, 'ROADSIDE', INDETERMINATE) -refugeisland = express_getattr(IfcRoadPartTypeEnum, 'REFUGEISLAND', INDETERMINATE) -tollplaza = express_getattr(IfcRoadPartTypeEnum, 'TOLLPLAZA', INDETERMINATE) -centralreserve = express_getattr(IfcRoadPartTypeEnum, 'CENTRALRESERVE', INDETERMINATE) -sidewalk = express_getattr(IfcRoadPartTypeEnum, 'SIDEWALK', INDETERMINATE) -parkingbay = express_getattr(IfcRoadPartTypeEnum, 'PARKINGBAY', INDETERMINATE) -railwaycrossing = express_getattr(IfcRoadPartTypeEnum, 'RAILWAYCROSSING', INDETERMINATE) -pedestrian_crossing = express_getattr(IfcRoadPartTypeEnum, 'PEDESTRIAN_CROSSING', INDETERMINATE) -softshoulder = express_getattr(IfcRoadPartTypeEnum, 'SOFTSHOULDER', INDETERMINATE) -bicyclecrossing = express_getattr(IfcRoadPartTypeEnum, 'BICYCLECROSSING', INDETERMINATE) -centralisland = express_getattr(IfcRoadPartTypeEnum, 'CENTRALISLAND', INDETERMINATE) -shoulder = express_getattr(IfcRoadPartTypeEnum, 'SHOULDER', INDETERMINATE) -trafficlane = express_getattr(IfcRoadPartTypeEnum, 'TRAFFICLANE', INDETERMINATE) -roadsegment = express_getattr(IfcRoadPartTypeEnum, 'ROADSEGMENT', INDETERMINATE) -roundabout = express_getattr(IfcRoadPartTypeEnum, 'ROUNDABOUT', INDETERMINATE) -layby = express_getattr(IfcRoadPartTypeEnum, 'LAYBY', INDETERMINATE) -carriageway = express_getattr(IfcRoadPartTypeEnum, 'CARRIAGEWAY', INDETERMINATE) -trafficisland = express_getattr(IfcRoadPartTypeEnum, 'TRAFFICISLAND', INDETERMINATE) -userdefined = express_getattr(IfcRoadPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoadPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +roadsidepart = IfcRoadPartTypeEnum.ROADSIDEPART +bus_stop = IfcRoadPartTypeEnum.BUS_STOP +hardshoulder = IfcRoadPartTypeEnum.HARDSHOULDER +intersection = IfcRoadPartTypeEnum.INTERSECTION +passingbay = IfcRoadPartTypeEnum.PASSINGBAY +roadwayplateau = IfcRoadPartTypeEnum.ROADWAYPLATEAU +roadside = IfcRoadPartTypeEnum.ROADSIDE +refugeisland = IfcRoadPartTypeEnum.REFUGEISLAND +tollplaza = IfcRoadPartTypeEnum.TOLLPLAZA +centralreserve = IfcRoadPartTypeEnum.CENTRALRESERVE +sidewalk = IfcRoadPartTypeEnum.SIDEWALK +parkingbay = IfcRoadPartTypeEnum.PARKINGBAY +railwaycrossing = IfcRoadPartTypeEnum.RAILWAYCROSSING +pedestrian_crossing = IfcRoadPartTypeEnum.PEDESTRIAN_CROSSING +softshoulder = IfcRoadPartTypeEnum.SOFTSHOULDER +bicyclecrossing = IfcRoadPartTypeEnum.BICYCLECROSSING +centralisland = IfcRoadPartTypeEnum.CENTRALISLAND +shoulder = IfcRoadPartTypeEnum.SHOULDER +trafficlane = IfcRoadPartTypeEnum.TRAFFICLANE +roadsegment = IfcRoadPartTypeEnum.ROADSEGMENT +roundabout = IfcRoadPartTypeEnum.ROUNDABOUT +layby = IfcRoadPartTypeEnum.LAYBY +carriageway = IfcRoadPartTypeEnum.CARRIAGEWAY +trafficisland = IfcRoadPartTypeEnum.TRAFFICISLAND +userdefined = IfcRoadPartTypeEnum.USERDEFINED +notdefined = IfcRoadPartTypeEnum.NOTDEFINED IfcRoadTypeEnum = enum_namespace() -userdefined = express_getattr(IfcRoadTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoadTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcRoadTypeEnum.USERDEFINED +notdefined = IfcRoadTypeEnum.NOTDEFINED IfcRoleEnum = enum_namespace() -supplier = express_getattr(IfcRoleEnum, 'SUPPLIER', INDETERMINATE) -manufacturer = express_getattr(IfcRoleEnum, 'MANUFACTURER', INDETERMINATE) -contractor = express_getattr(IfcRoleEnum, 'CONTRACTOR', INDETERMINATE) -subcontractor = express_getattr(IfcRoleEnum, 'SUBCONTRACTOR', INDETERMINATE) -architect = express_getattr(IfcRoleEnum, 'ARCHITECT', INDETERMINATE) -structuralengineer = express_getattr(IfcRoleEnum, 'STRUCTURALENGINEER', INDETERMINATE) -costengineer = express_getattr(IfcRoleEnum, 'COSTENGINEER', INDETERMINATE) -client = express_getattr(IfcRoleEnum, 'CLIENT', INDETERMINATE) -buildingowner = express_getattr(IfcRoleEnum, 'BUILDINGOWNER', INDETERMINATE) -buildingoperator = express_getattr(IfcRoleEnum, 'BUILDINGOPERATOR', INDETERMINATE) -mechanicalengineer = express_getattr(IfcRoleEnum, 'MECHANICALENGINEER', INDETERMINATE) -electricalengineer = express_getattr(IfcRoleEnum, 'ELECTRICALENGINEER', INDETERMINATE) -projectmanager = express_getattr(IfcRoleEnum, 'PROJECTMANAGER', INDETERMINATE) -facilitiesmanager = express_getattr(IfcRoleEnum, 'FACILITIESMANAGER', INDETERMINATE) -civilengineer = express_getattr(IfcRoleEnum, 'CIVILENGINEER', INDETERMINATE) -commissioningengineer = express_getattr(IfcRoleEnum, 'COMMISSIONINGENGINEER', INDETERMINATE) -engineer = express_getattr(IfcRoleEnum, 'ENGINEER', INDETERMINATE) -owner = express_getattr(IfcRoleEnum, 'OWNER', INDETERMINATE) -consultant = express_getattr(IfcRoleEnum, 'CONSULTANT', INDETERMINATE) -constructionmanager = express_getattr(IfcRoleEnum, 'CONSTRUCTIONMANAGER', INDETERMINATE) -fieldconstructionmanager = express_getattr(IfcRoleEnum, 'FIELDCONSTRUCTIONMANAGER', INDETERMINATE) -reseller = express_getattr(IfcRoleEnum, 'RESELLER', INDETERMINATE) -userdefined = express_getattr(IfcRoleEnum, 'USERDEFINED', INDETERMINATE) +supplier = IfcRoleEnum.SUPPLIER +manufacturer = IfcRoleEnum.MANUFACTURER +contractor = IfcRoleEnum.CONTRACTOR +subcontractor = IfcRoleEnum.SUBCONTRACTOR +architect = IfcRoleEnum.ARCHITECT +structuralengineer = IfcRoleEnum.STRUCTURALENGINEER +costengineer = IfcRoleEnum.COSTENGINEER +client = IfcRoleEnum.CLIENT +buildingowner = IfcRoleEnum.BUILDINGOWNER +buildingoperator = IfcRoleEnum.BUILDINGOPERATOR +mechanicalengineer = IfcRoleEnum.MECHANICALENGINEER +electricalengineer = IfcRoleEnum.ELECTRICALENGINEER +projectmanager = IfcRoleEnum.PROJECTMANAGER +facilitiesmanager = IfcRoleEnum.FACILITIESMANAGER +civilengineer = IfcRoleEnum.CIVILENGINEER +commissioningengineer = IfcRoleEnum.COMMISSIONINGENGINEER +engineer = IfcRoleEnum.ENGINEER +owner = IfcRoleEnum.OWNER +consultant = IfcRoleEnum.CONSULTANT +constructionmanager = IfcRoleEnum.CONSTRUCTIONMANAGER +fieldconstructionmanager = IfcRoleEnum.FIELDCONSTRUCTIONMANAGER +reseller = IfcRoleEnum.RESELLER +userdefined = IfcRoleEnum.USERDEFINED IfcRoofTypeEnum = enum_namespace() -flat_roof = express_getattr(IfcRoofTypeEnum, 'FLAT_ROOF', INDETERMINATE) -shed_roof = express_getattr(IfcRoofTypeEnum, 'SHED_ROOF', INDETERMINATE) -gable_roof = express_getattr(IfcRoofTypeEnum, 'GABLE_ROOF', INDETERMINATE) -hip_roof = express_getattr(IfcRoofTypeEnum, 'HIP_ROOF', INDETERMINATE) -hipped_gable_roof = express_getattr(IfcRoofTypeEnum, 'HIPPED_GABLE_ROOF', INDETERMINATE) -gambrel_roof = express_getattr(IfcRoofTypeEnum, 'GAMBREL_ROOF', INDETERMINATE) -mansard_roof = express_getattr(IfcRoofTypeEnum, 'MANSARD_ROOF', INDETERMINATE) -barrel_roof = express_getattr(IfcRoofTypeEnum, 'BARREL_ROOF', INDETERMINATE) -rainbow_roof = express_getattr(IfcRoofTypeEnum, 'RAINBOW_ROOF', INDETERMINATE) -butterfly_roof = express_getattr(IfcRoofTypeEnum, 'BUTTERFLY_ROOF', INDETERMINATE) -pavilion_roof = express_getattr(IfcRoofTypeEnum, 'PAVILION_ROOF', INDETERMINATE) -dome_roof = express_getattr(IfcRoofTypeEnum, 'DOME_ROOF', INDETERMINATE) -freeform = express_getattr(IfcRoofTypeEnum, 'FREEFORM', INDETERMINATE) -userdefined = express_getattr(IfcRoofTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoofTypeEnum, 'NOTDEFINED', INDETERMINATE) +flat_roof = IfcRoofTypeEnum.FLAT_ROOF +shed_roof = IfcRoofTypeEnum.SHED_ROOF +gable_roof = IfcRoofTypeEnum.GABLE_ROOF +hip_roof = IfcRoofTypeEnum.HIP_ROOF +hipped_gable_roof = IfcRoofTypeEnum.HIPPED_GABLE_ROOF +gambrel_roof = IfcRoofTypeEnum.GAMBREL_ROOF +mansard_roof = IfcRoofTypeEnum.MANSARD_ROOF +barrel_roof = IfcRoofTypeEnum.BARREL_ROOF +rainbow_roof = IfcRoofTypeEnum.RAINBOW_ROOF +butterfly_roof = IfcRoofTypeEnum.BUTTERFLY_ROOF +pavilion_roof = IfcRoofTypeEnum.PAVILION_ROOF +dome_roof = IfcRoofTypeEnum.DOME_ROOF +freeform = IfcRoofTypeEnum.FREEFORM +userdefined = IfcRoofTypeEnum.USERDEFINED +notdefined = IfcRoofTypeEnum.NOTDEFINED IfcSIPrefix = enum_namespace() -exa = express_getattr(IfcSIPrefix, 'EXA', INDETERMINATE) -peta = express_getattr(IfcSIPrefix, 'PETA', INDETERMINATE) -tera = express_getattr(IfcSIPrefix, 'TERA', INDETERMINATE) -giga = express_getattr(IfcSIPrefix, 'GIGA', INDETERMINATE) -mega = express_getattr(IfcSIPrefix, 'MEGA', INDETERMINATE) -kilo = express_getattr(IfcSIPrefix, 'KILO', INDETERMINATE) -hecto = express_getattr(IfcSIPrefix, 'HECTO', INDETERMINATE) -deca = express_getattr(IfcSIPrefix, 'DECA', INDETERMINATE) -deci = express_getattr(IfcSIPrefix, 'DECI', INDETERMINATE) -centi = express_getattr(IfcSIPrefix, 'CENTI', INDETERMINATE) -milli = express_getattr(IfcSIPrefix, 'MILLI', INDETERMINATE) -micro = express_getattr(IfcSIPrefix, 'MICRO', INDETERMINATE) -nano = express_getattr(IfcSIPrefix, 'NANO', INDETERMINATE) -pico = express_getattr(IfcSIPrefix, 'PICO', INDETERMINATE) -femto = express_getattr(IfcSIPrefix, 'FEMTO', INDETERMINATE) -atto = express_getattr(IfcSIPrefix, 'ATTO', INDETERMINATE) +exa = IfcSIPrefix.EXA +peta = IfcSIPrefix.PETA +tera = IfcSIPrefix.TERA +giga = IfcSIPrefix.GIGA +mega = IfcSIPrefix.MEGA +kilo = IfcSIPrefix.KILO +hecto = IfcSIPrefix.HECTO +deca = IfcSIPrefix.DECA +deci = IfcSIPrefix.DECI +centi = IfcSIPrefix.CENTI +milli = IfcSIPrefix.MILLI +micro = IfcSIPrefix.MICRO +nano = IfcSIPrefix.NANO +pico = IfcSIPrefix.PICO +femto = IfcSIPrefix.FEMTO +atto = IfcSIPrefix.ATTO IfcSIUnitName = enum_namespace() -ampere = express_getattr(IfcSIUnitName, 'AMPERE', INDETERMINATE) -becquerel = express_getattr(IfcSIUnitName, 'BECQUEREL', INDETERMINATE) -candela = express_getattr(IfcSIUnitName, 'CANDELA', INDETERMINATE) -coulomb = express_getattr(IfcSIUnitName, 'COULOMB', INDETERMINATE) -cubic_metre = express_getattr(IfcSIUnitName, 'CUBIC_METRE', INDETERMINATE) -degree_celsius = express_getattr(IfcSIUnitName, 'DEGREE_CELSIUS', INDETERMINATE) -farad = express_getattr(IfcSIUnitName, 'FARAD', INDETERMINATE) -gram = express_getattr(IfcSIUnitName, 'GRAM', INDETERMINATE) -gray = express_getattr(IfcSIUnitName, 'GRAY', INDETERMINATE) -henry = express_getattr(IfcSIUnitName, 'HENRY', INDETERMINATE) -hertz = express_getattr(IfcSIUnitName, 'HERTZ', INDETERMINATE) -joule = express_getattr(IfcSIUnitName, 'JOULE', INDETERMINATE) -kelvin = express_getattr(IfcSIUnitName, 'KELVIN', INDETERMINATE) -lumen = express_getattr(IfcSIUnitName, 'LUMEN', INDETERMINATE) -lux = express_getattr(IfcSIUnitName, 'LUX', INDETERMINATE) -metre = express_getattr(IfcSIUnitName, 'METRE', INDETERMINATE) -mole = express_getattr(IfcSIUnitName, 'MOLE', INDETERMINATE) -newton = express_getattr(IfcSIUnitName, 'NEWTON', INDETERMINATE) -ohm = express_getattr(IfcSIUnitName, 'OHM', INDETERMINATE) -pascal = express_getattr(IfcSIUnitName, 'PASCAL', INDETERMINATE) -radian = express_getattr(IfcSIUnitName, 'RADIAN', INDETERMINATE) -second = express_getattr(IfcSIUnitName, 'SECOND', INDETERMINATE) -siemens = express_getattr(IfcSIUnitName, 'SIEMENS', INDETERMINATE) -sievert = express_getattr(IfcSIUnitName, 'SIEVERT', INDETERMINATE) -square_metre = express_getattr(IfcSIUnitName, 'SQUARE_METRE', INDETERMINATE) -steradian = express_getattr(IfcSIUnitName, 'STERADIAN', INDETERMINATE) -tesla = express_getattr(IfcSIUnitName, 'TESLA', INDETERMINATE) -volt = express_getattr(IfcSIUnitName, 'VOLT', INDETERMINATE) -watt = express_getattr(IfcSIUnitName, 'WATT', INDETERMINATE) -weber = express_getattr(IfcSIUnitName, 'WEBER', INDETERMINATE) +ampere = IfcSIUnitName.AMPERE +becquerel = IfcSIUnitName.BECQUEREL +candela = IfcSIUnitName.CANDELA +coulomb = IfcSIUnitName.COULOMB +cubic_metre = IfcSIUnitName.CUBIC_METRE +degree_celsius = IfcSIUnitName.DEGREE_CELSIUS +farad = IfcSIUnitName.FARAD +gram = IfcSIUnitName.GRAM +gray = IfcSIUnitName.GRAY +henry = IfcSIUnitName.HENRY +hertz = IfcSIUnitName.HERTZ +joule = IfcSIUnitName.JOULE +kelvin = IfcSIUnitName.KELVIN +lumen = IfcSIUnitName.LUMEN +lux = IfcSIUnitName.LUX +metre = IfcSIUnitName.METRE +mole = IfcSIUnitName.MOLE +newton = IfcSIUnitName.NEWTON +ohm = IfcSIUnitName.OHM +pascal = IfcSIUnitName.PASCAL +radian = IfcSIUnitName.RADIAN +second = IfcSIUnitName.SECOND +siemens = IfcSIUnitName.SIEMENS +sievert = IfcSIUnitName.SIEVERT +square_metre = IfcSIUnitName.SQUARE_METRE +steradian = IfcSIUnitName.STERADIAN +tesla = IfcSIUnitName.TESLA +volt = IfcSIUnitName.VOLT +watt = IfcSIUnitName.WATT +weber = IfcSIUnitName.WEBER IfcSanitaryTerminalTypeEnum = enum_namespace() -bath = express_getattr(IfcSanitaryTerminalTypeEnum, 'BATH', INDETERMINATE) -bidet = express_getattr(IfcSanitaryTerminalTypeEnum, 'BIDET', INDETERMINATE) -cistern = express_getattr(IfcSanitaryTerminalTypeEnum, 'CISTERN', INDETERMINATE) -shower = express_getattr(IfcSanitaryTerminalTypeEnum, 'SHOWER', INDETERMINATE) -sink = express_getattr(IfcSanitaryTerminalTypeEnum, 'SINK', INDETERMINATE) -sanitaryfountain = express_getattr(IfcSanitaryTerminalTypeEnum, 'SANITARYFOUNTAIN', INDETERMINATE) -toiletpan = express_getattr(IfcSanitaryTerminalTypeEnum, 'TOILETPAN', INDETERMINATE) -urinal = express_getattr(IfcSanitaryTerminalTypeEnum, 'URINAL', INDETERMINATE) -washhandbasin = express_getattr(IfcSanitaryTerminalTypeEnum, 'WASHHANDBASIN', INDETERMINATE) -wcseat = express_getattr(IfcSanitaryTerminalTypeEnum, 'WCSEAT', INDETERMINATE) -userdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +bath = IfcSanitaryTerminalTypeEnum.BATH +bidet = IfcSanitaryTerminalTypeEnum.BIDET +cistern = IfcSanitaryTerminalTypeEnum.CISTERN +shower = IfcSanitaryTerminalTypeEnum.SHOWER +sink = IfcSanitaryTerminalTypeEnum.SINK +sanitaryfountain = IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN +toiletpan = IfcSanitaryTerminalTypeEnum.TOILETPAN +urinal = IfcSanitaryTerminalTypeEnum.URINAL +washhandbasin = IfcSanitaryTerminalTypeEnum.WASHHANDBASIN +wcseat = IfcSanitaryTerminalTypeEnum.WCSEAT +userdefined = IfcSanitaryTerminalTypeEnum.USERDEFINED +notdefined = IfcSanitaryTerminalTypeEnum.NOTDEFINED IfcSectionTypeEnum = enum_namespace() -uniform = express_getattr(IfcSectionTypeEnum, 'UNIFORM', INDETERMINATE) -tapered = express_getattr(IfcSectionTypeEnum, 'TAPERED', INDETERMINATE) +uniform = IfcSectionTypeEnum.UNIFORM +tapered = IfcSectionTypeEnum.TAPERED IfcSensorTypeEnum = enum_namespace() -cosensor = express_getattr(IfcSensorTypeEnum, 'COSENSOR', INDETERMINATE) -co2sensor = express_getattr(IfcSensorTypeEnum, 'CO2SENSOR', INDETERMINATE) -conductancesensor = express_getattr(IfcSensorTypeEnum, 'CONDUCTANCESENSOR', INDETERMINATE) -contactsensor = express_getattr(IfcSensorTypeEnum, 'CONTACTSENSOR', INDETERMINATE) -firesensor = express_getattr(IfcSensorTypeEnum, 'FIRESENSOR', INDETERMINATE) -flowsensor = express_getattr(IfcSensorTypeEnum, 'FLOWSENSOR', INDETERMINATE) -frostsensor = express_getattr(IfcSensorTypeEnum, 'FROSTSENSOR', INDETERMINATE) -gassensor = express_getattr(IfcSensorTypeEnum, 'GASSENSOR', INDETERMINATE) -heatsensor = express_getattr(IfcSensorTypeEnum, 'HEATSENSOR', INDETERMINATE) -humiditysensor = express_getattr(IfcSensorTypeEnum, 'HUMIDITYSENSOR', INDETERMINATE) -identifiersensor = express_getattr(IfcSensorTypeEnum, 'IDENTIFIERSENSOR', INDETERMINATE) -ionconcentrationsensor = express_getattr(IfcSensorTypeEnum, 'IONCONCENTRATIONSENSOR', INDETERMINATE) -levelsensor = express_getattr(IfcSensorTypeEnum, 'LEVELSENSOR', INDETERMINATE) -lightsensor = express_getattr(IfcSensorTypeEnum, 'LIGHTSENSOR', INDETERMINATE) -moisturesensor = express_getattr(IfcSensorTypeEnum, 'MOISTURESENSOR', INDETERMINATE) -movementsensor = express_getattr(IfcSensorTypeEnum, 'MOVEMENTSENSOR', INDETERMINATE) -phsensor = express_getattr(IfcSensorTypeEnum, 'PHSENSOR', INDETERMINATE) -pressuresensor = express_getattr(IfcSensorTypeEnum, 'PRESSURESENSOR', INDETERMINATE) -radiationsensor = express_getattr(IfcSensorTypeEnum, 'RADIATIONSENSOR', INDETERMINATE) -radioactivitysensor = express_getattr(IfcSensorTypeEnum, 'RADIOACTIVITYSENSOR', INDETERMINATE) -smokesensor = express_getattr(IfcSensorTypeEnum, 'SMOKESENSOR', INDETERMINATE) -soundsensor = express_getattr(IfcSensorTypeEnum, 'SOUNDSENSOR', INDETERMINATE) -temperaturesensor = express_getattr(IfcSensorTypeEnum, 'TEMPERATURESENSOR', INDETERMINATE) -windsensor = express_getattr(IfcSensorTypeEnum, 'WINDSENSOR', INDETERMINATE) -earthquakesensor = express_getattr(IfcSensorTypeEnum, 'EARTHQUAKESENSOR', INDETERMINATE) -foreignobjectdetectionsensor = express_getattr(IfcSensorTypeEnum, 'FOREIGNOBJECTDETECTIONSENSOR', INDETERMINATE) -obstaclesensor = express_getattr(IfcSensorTypeEnum, 'OBSTACLESENSOR', INDETERMINATE) -rainsensor = express_getattr(IfcSensorTypeEnum, 'RAINSENSOR', INDETERMINATE) -snowdepthsensor = express_getattr(IfcSensorTypeEnum, 'SNOWDEPTHSENSOR', INDETERMINATE) -trainsensor = express_getattr(IfcSensorTypeEnum, 'TRAINSENSOR', INDETERMINATE) -turnoutclosuresensor = express_getattr(IfcSensorTypeEnum, 'TURNOUTCLOSURESENSOR', INDETERMINATE) -wheelsensor = express_getattr(IfcSensorTypeEnum, 'WHEELSENSOR', INDETERMINATE) -userdefined = express_getattr(IfcSensorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSensorTypeEnum, 'NOTDEFINED', INDETERMINATE) +cosensor = IfcSensorTypeEnum.COSENSOR +co2sensor = IfcSensorTypeEnum.CO2SENSOR +conductancesensor = IfcSensorTypeEnum.CONDUCTANCESENSOR +contactsensor = IfcSensorTypeEnum.CONTACTSENSOR +firesensor = IfcSensorTypeEnum.FIRESENSOR +flowsensor = IfcSensorTypeEnum.FLOWSENSOR +frostsensor = IfcSensorTypeEnum.FROSTSENSOR +gassensor = IfcSensorTypeEnum.GASSENSOR +heatsensor = IfcSensorTypeEnum.HEATSENSOR +humiditysensor = IfcSensorTypeEnum.HUMIDITYSENSOR +identifiersensor = IfcSensorTypeEnum.IDENTIFIERSENSOR +ionconcentrationsensor = IfcSensorTypeEnum.IONCONCENTRATIONSENSOR +levelsensor = IfcSensorTypeEnum.LEVELSENSOR +lightsensor = IfcSensorTypeEnum.LIGHTSENSOR +moisturesensor = IfcSensorTypeEnum.MOISTURESENSOR +movementsensor = IfcSensorTypeEnum.MOVEMENTSENSOR +phsensor = IfcSensorTypeEnum.PHSENSOR +pressuresensor = IfcSensorTypeEnum.PRESSURESENSOR +radiationsensor = IfcSensorTypeEnum.RADIATIONSENSOR +radioactivitysensor = IfcSensorTypeEnum.RADIOACTIVITYSENSOR +smokesensor = IfcSensorTypeEnum.SMOKESENSOR +soundsensor = IfcSensorTypeEnum.SOUNDSENSOR +temperaturesensor = IfcSensorTypeEnum.TEMPERATURESENSOR +windsensor = IfcSensorTypeEnum.WINDSENSOR +earthquakesensor = IfcSensorTypeEnum.EARTHQUAKESENSOR +foreignobjectdetectionsensor = IfcSensorTypeEnum.FOREIGNOBJECTDETECTIONSENSOR +obstaclesensor = IfcSensorTypeEnum.OBSTACLESENSOR +rainsensor = IfcSensorTypeEnum.RAINSENSOR +snowdepthsensor = IfcSensorTypeEnum.SNOWDEPTHSENSOR +trainsensor = IfcSensorTypeEnum.TRAINSENSOR +turnoutclosuresensor = IfcSensorTypeEnum.TURNOUTCLOSURESENSOR +wheelsensor = IfcSensorTypeEnum.WHEELSENSOR +userdefined = IfcSensorTypeEnum.USERDEFINED +notdefined = IfcSensorTypeEnum.NOTDEFINED IfcSequenceEnum = enum_namespace() -start_start = express_getattr(IfcSequenceEnum, 'START_START', INDETERMINATE) -start_finish = express_getattr(IfcSequenceEnum, 'START_FINISH', INDETERMINATE) -finish_start = express_getattr(IfcSequenceEnum, 'FINISH_START', INDETERMINATE) -finish_finish = express_getattr(IfcSequenceEnum, 'FINISH_FINISH', INDETERMINATE) -userdefined = express_getattr(IfcSequenceEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSequenceEnum, 'NOTDEFINED', INDETERMINATE) +start_start = IfcSequenceEnum.START_START +start_finish = IfcSequenceEnum.START_FINISH +finish_start = IfcSequenceEnum.FINISH_START +finish_finish = IfcSequenceEnum.FINISH_FINISH +userdefined = IfcSequenceEnum.USERDEFINED +notdefined = IfcSequenceEnum.NOTDEFINED IfcShadingDeviceTypeEnum = enum_namespace() -jalousie = express_getattr(IfcShadingDeviceTypeEnum, 'JALOUSIE', INDETERMINATE) -shutter = express_getattr(IfcShadingDeviceTypeEnum, 'SHUTTER', INDETERMINATE) -awning = express_getattr(IfcShadingDeviceTypeEnum, 'AWNING', INDETERMINATE) -userdefined = express_getattr(IfcShadingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcShadingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +jalousie = IfcShadingDeviceTypeEnum.JALOUSIE +shutter = IfcShadingDeviceTypeEnum.SHUTTER +awning = IfcShadingDeviceTypeEnum.AWNING +userdefined = IfcShadingDeviceTypeEnum.USERDEFINED +notdefined = IfcShadingDeviceTypeEnum.NOTDEFINED IfcSignTypeEnum = enum_namespace() -marker = express_getattr(IfcSignTypeEnum, 'MARKER', INDETERMINATE) -pictoral = express_getattr(IfcSignTypeEnum, 'PICTORAL', INDETERMINATE) -mirror = express_getattr(IfcSignTypeEnum, 'MIRROR', INDETERMINATE) -userdefined = express_getattr(IfcSignTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSignTypeEnum, 'NOTDEFINED', INDETERMINATE) +marker = IfcSignTypeEnum.MARKER +pictoral = IfcSignTypeEnum.PICTORAL +mirror = IfcSignTypeEnum.MIRROR +userdefined = IfcSignTypeEnum.USERDEFINED +notdefined = IfcSignTypeEnum.NOTDEFINED IfcSignalTypeEnum = enum_namespace() -visual = express_getattr(IfcSignalTypeEnum, 'VISUAL', INDETERMINATE) -audio = express_getattr(IfcSignalTypeEnum, 'AUDIO', INDETERMINATE) -mixed = express_getattr(IfcSignalTypeEnum, 'MIXED', INDETERMINATE) -userdefined = express_getattr(IfcSignalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSignalTypeEnum, 'NOTDEFINED', INDETERMINATE) +visual = IfcSignalTypeEnum.VISUAL +audio = IfcSignalTypeEnum.AUDIO +mixed = IfcSignalTypeEnum.MIXED +userdefined = IfcSignalTypeEnum.USERDEFINED +notdefined = IfcSignalTypeEnum.NOTDEFINED IfcSimplePropertyTemplateTypeEnum = enum_namespace() -p_singlevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_SINGLEVALUE', INDETERMINATE) -p_enumeratedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_ENUMERATEDVALUE', INDETERMINATE) -p_boundedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_BOUNDEDVALUE', INDETERMINATE) -p_listvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_LISTVALUE', INDETERMINATE) -p_tablevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_TABLEVALUE', INDETERMINATE) -p_referencevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_REFERENCEVALUE', INDETERMINATE) -q_length = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_LENGTH', INDETERMINATE) -q_area = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_AREA', INDETERMINATE) -q_volume = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_VOLUME', INDETERMINATE) -q_count = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_COUNT', INDETERMINATE) -q_weight = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_WEIGHT', INDETERMINATE) -q_time = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_TIME', INDETERMINATE) +p_singlevalue = IfcSimplePropertyTemplateTypeEnum.P_SINGLEVALUE +p_enumeratedvalue = IfcSimplePropertyTemplateTypeEnum.P_ENUMERATEDVALUE +p_boundedvalue = IfcSimplePropertyTemplateTypeEnum.P_BOUNDEDVALUE +p_listvalue = IfcSimplePropertyTemplateTypeEnum.P_LISTVALUE +p_tablevalue = IfcSimplePropertyTemplateTypeEnum.P_TABLEVALUE +p_referencevalue = IfcSimplePropertyTemplateTypeEnum.P_REFERENCEVALUE +q_length = IfcSimplePropertyTemplateTypeEnum.Q_LENGTH +q_area = IfcSimplePropertyTemplateTypeEnum.Q_AREA +q_volume = IfcSimplePropertyTemplateTypeEnum.Q_VOLUME +q_count = IfcSimplePropertyTemplateTypeEnum.Q_COUNT +q_weight = IfcSimplePropertyTemplateTypeEnum.Q_WEIGHT +q_time = IfcSimplePropertyTemplateTypeEnum.Q_TIME IfcSlabTypeEnum = enum_namespace() -floor = express_getattr(IfcSlabTypeEnum, 'FLOOR', INDETERMINATE) -roof = express_getattr(IfcSlabTypeEnum, 'ROOF', INDETERMINATE) -landing = express_getattr(IfcSlabTypeEnum, 'LANDING', INDETERMINATE) -baseslab = express_getattr(IfcSlabTypeEnum, 'BASESLAB', INDETERMINATE) -approach_slab = express_getattr(IfcSlabTypeEnum, 'APPROACH_SLAB', INDETERMINATE) -paving = express_getattr(IfcSlabTypeEnum, 'PAVING', INDETERMINATE) -wearing = express_getattr(IfcSlabTypeEnum, 'WEARING', INDETERMINATE) -sidewalk = express_getattr(IfcSlabTypeEnum, 'SIDEWALK', INDETERMINATE) -trackslab = express_getattr(IfcSlabTypeEnum, 'TRACKSLAB', INDETERMINATE) -userdefined = express_getattr(IfcSlabTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSlabTypeEnum, 'NOTDEFINED', INDETERMINATE) +floor = IfcSlabTypeEnum.FLOOR +roof = IfcSlabTypeEnum.ROOF +landing = IfcSlabTypeEnum.LANDING +baseslab = IfcSlabTypeEnum.BASESLAB +approach_slab = IfcSlabTypeEnum.APPROACH_SLAB +paving = IfcSlabTypeEnum.PAVING +wearing = IfcSlabTypeEnum.WEARING +sidewalk = IfcSlabTypeEnum.SIDEWALK +trackslab = IfcSlabTypeEnum.TRACKSLAB +userdefined = IfcSlabTypeEnum.USERDEFINED +notdefined = IfcSlabTypeEnum.NOTDEFINED IfcSolarDeviceTypeEnum = enum_namespace() -solarcollector = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARCOLLECTOR', INDETERMINATE) -solarpanel = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARPANEL', INDETERMINATE) -userdefined = express_getattr(IfcSolarDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSolarDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +solarcollector = IfcSolarDeviceTypeEnum.SOLARCOLLECTOR +solarpanel = IfcSolarDeviceTypeEnum.SOLARPANEL +userdefined = IfcSolarDeviceTypeEnum.USERDEFINED +notdefined = IfcSolarDeviceTypeEnum.NOTDEFINED IfcSpaceHeaterTypeEnum = enum_namespace() -convector = express_getattr(IfcSpaceHeaterTypeEnum, 'CONVECTOR', INDETERMINATE) -radiator = express_getattr(IfcSpaceHeaterTypeEnum, 'RADIATOR', INDETERMINATE) -userdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'NOTDEFINED', INDETERMINATE) +convector = IfcSpaceHeaterTypeEnum.CONVECTOR +radiator = IfcSpaceHeaterTypeEnum.RADIATOR +userdefined = IfcSpaceHeaterTypeEnum.USERDEFINED +notdefined = IfcSpaceHeaterTypeEnum.NOTDEFINED IfcSpaceTypeEnum = enum_namespace() -space = express_getattr(IfcSpaceTypeEnum, 'SPACE', INDETERMINATE) -parking = express_getattr(IfcSpaceTypeEnum, 'PARKING', INDETERMINATE) -gfa = express_getattr(IfcSpaceTypeEnum, 'GFA', INDETERMINATE) -internal = express_getattr(IfcSpaceTypeEnum, 'INTERNAL', INDETERMINATE) -external = express_getattr(IfcSpaceTypeEnum, 'EXTERNAL', INDETERMINATE) -berth = express_getattr(IfcSpaceTypeEnum, 'BERTH', INDETERMINATE) -userdefined = express_getattr(IfcSpaceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceTypeEnum, 'NOTDEFINED', INDETERMINATE) +space = IfcSpaceTypeEnum.SPACE +parking = IfcSpaceTypeEnum.PARKING +gfa = IfcSpaceTypeEnum.GFA +internal = IfcSpaceTypeEnum.INTERNAL +external = IfcSpaceTypeEnum.EXTERNAL +berth = IfcSpaceTypeEnum.BERTH +userdefined = IfcSpaceTypeEnum.USERDEFINED +notdefined = IfcSpaceTypeEnum.NOTDEFINED IfcSpatialZoneTypeEnum = enum_namespace() -construction = express_getattr(IfcSpatialZoneTypeEnum, 'CONSTRUCTION', INDETERMINATE) -firesafety = express_getattr(IfcSpatialZoneTypeEnum, 'FIRESAFETY', INDETERMINATE) -lighting = express_getattr(IfcSpatialZoneTypeEnum, 'LIGHTING', INDETERMINATE) -occupancy = express_getattr(IfcSpatialZoneTypeEnum, 'OCCUPANCY', INDETERMINATE) -security = express_getattr(IfcSpatialZoneTypeEnum, 'SECURITY', INDETERMINATE) -thermal = express_getattr(IfcSpatialZoneTypeEnum, 'THERMAL', INDETERMINATE) -transport = express_getattr(IfcSpatialZoneTypeEnum, 'TRANSPORT', INDETERMINATE) -ventilation = express_getattr(IfcSpatialZoneTypeEnum, 'VENTILATION', INDETERMINATE) -reservation = express_getattr(IfcSpatialZoneTypeEnum, 'RESERVATION', INDETERMINATE) -userdefined = express_getattr(IfcSpatialZoneTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpatialZoneTypeEnum, 'NOTDEFINED', INDETERMINATE) +construction = IfcSpatialZoneTypeEnum.CONSTRUCTION +firesafety = IfcSpatialZoneTypeEnum.FIRESAFETY +lighting = IfcSpatialZoneTypeEnum.LIGHTING +occupancy = IfcSpatialZoneTypeEnum.OCCUPANCY +security = IfcSpatialZoneTypeEnum.SECURITY +thermal = IfcSpatialZoneTypeEnum.THERMAL +transport = IfcSpatialZoneTypeEnum.TRANSPORT +ventilation = IfcSpatialZoneTypeEnum.VENTILATION +reservation = IfcSpatialZoneTypeEnum.RESERVATION +userdefined = IfcSpatialZoneTypeEnum.USERDEFINED +notdefined = IfcSpatialZoneTypeEnum.NOTDEFINED IfcStackTerminalTypeEnum = enum_namespace() -birdcage = express_getattr(IfcStackTerminalTypeEnum, 'BIRDCAGE', INDETERMINATE) -cowl = express_getattr(IfcStackTerminalTypeEnum, 'COWL', INDETERMINATE) -rainwaterhopper = express_getattr(IfcStackTerminalTypeEnum, 'RAINWATERHOPPER', INDETERMINATE) -userdefined = express_getattr(IfcStackTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStackTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +birdcage = IfcStackTerminalTypeEnum.BIRDCAGE +cowl = IfcStackTerminalTypeEnum.COWL +rainwaterhopper = IfcStackTerminalTypeEnum.RAINWATERHOPPER +userdefined = IfcStackTerminalTypeEnum.USERDEFINED +notdefined = IfcStackTerminalTypeEnum.NOTDEFINED IfcStairFlightTypeEnum = enum_namespace() -straight = express_getattr(IfcStairFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -winder = express_getattr(IfcStairFlightTypeEnum, 'WINDER', INDETERMINATE) -spiral = express_getattr(IfcStairFlightTypeEnum, 'SPIRAL', INDETERMINATE) -curved = express_getattr(IfcStairFlightTypeEnum, 'CURVED', INDETERMINATE) -freeform = express_getattr(IfcStairFlightTypeEnum, 'FREEFORM', INDETERMINATE) -userdefined = express_getattr(IfcStairFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight = IfcStairFlightTypeEnum.STRAIGHT +winder = IfcStairFlightTypeEnum.WINDER +spiral = IfcStairFlightTypeEnum.SPIRAL +curved = IfcStairFlightTypeEnum.CURVED +freeform = IfcStairFlightTypeEnum.FREEFORM +userdefined = IfcStairFlightTypeEnum.USERDEFINED +notdefined = IfcStairFlightTypeEnum.NOTDEFINED IfcStairTypeEnum = enum_namespace() -straight_run_stair = express_getattr(IfcStairTypeEnum, 'STRAIGHT_RUN_STAIR', INDETERMINATE) -two_straight_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_STRAIGHT_RUN_STAIR', INDETERMINATE) -quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_WINDING_STAIR', INDETERMINATE) -quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_TURN_STAIR', INDETERMINATE) -half_winding_stair = express_getattr(IfcStairTypeEnum, 'HALF_WINDING_STAIR', INDETERMINATE) -half_turn_stair = express_getattr(IfcStairTypeEnum, 'HALF_TURN_STAIR', INDETERMINATE) -two_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_WINDING_STAIR', INDETERMINATE) -two_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_TURN_STAIR', INDETERMINATE) -three_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_WINDING_STAIR', INDETERMINATE) -three_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_TURN_STAIR', INDETERMINATE) -spiral_stair = express_getattr(IfcStairTypeEnum, 'SPIRAL_STAIR', INDETERMINATE) -double_return_stair = express_getattr(IfcStairTypeEnum, 'DOUBLE_RETURN_STAIR', INDETERMINATE) -curved_run_stair = express_getattr(IfcStairTypeEnum, 'CURVED_RUN_STAIR', INDETERMINATE) -two_curved_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_CURVED_RUN_STAIR', INDETERMINATE) -ladder = express_getattr(IfcStairTypeEnum, 'LADDER', INDETERMINATE) -userdefined = express_getattr(IfcStairTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight_run_stair = IfcStairTypeEnum.STRAIGHT_RUN_STAIR +two_straight_run_stair = IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR +quarter_winding_stair = IfcStairTypeEnum.QUARTER_WINDING_STAIR +quarter_turn_stair = IfcStairTypeEnum.QUARTER_TURN_STAIR +half_winding_stair = IfcStairTypeEnum.HALF_WINDING_STAIR +half_turn_stair = IfcStairTypeEnum.HALF_TURN_STAIR +two_quarter_winding_stair = IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR +two_quarter_turn_stair = IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR +three_quarter_winding_stair = IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR +three_quarter_turn_stair = IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR +spiral_stair = IfcStairTypeEnum.SPIRAL_STAIR +double_return_stair = IfcStairTypeEnum.DOUBLE_RETURN_STAIR +curved_run_stair = IfcStairTypeEnum.CURVED_RUN_STAIR +two_curved_run_stair = IfcStairTypeEnum.TWO_CURVED_RUN_STAIR +ladder = IfcStairTypeEnum.LADDER +userdefined = IfcStairTypeEnum.USERDEFINED +notdefined = IfcStairTypeEnum.NOTDEFINED IfcStateEnum = enum_namespace() -readwrite = express_getattr(IfcStateEnum, 'READWRITE', INDETERMINATE) -readonly = express_getattr(IfcStateEnum, 'READONLY', INDETERMINATE) -locked = express_getattr(IfcStateEnum, 'LOCKED', INDETERMINATE) -readwritelocked = express_getattr(IfcStateEnum, 'READWRITELOCKED', INDETERMINATE) -readonlylocked = express_getattr(IfcStateEnum, 'READONLYLOCKED', INDETERMINATE) +readwrite = IfcStateEnum.READWRITE +readonly = IfcStateEnum.READONLY +locked = IfcStateEnum.LOCKED +readwritelocked = IfcStateEnum.READWRITELOCKED +readonlylocked = IfcStateEnum.READONLYLOCKED IfcStructuralCurveActivityTypeEnum = enum_namespace() -const = express_getattr(IfcStructuralCurveActivityTypeEnum, 'CONST', INDETERMINATE) -linear = express_getattr(IfcStructuralCurveActivityTypeEnum, 'LINEAR', INDETERMINATE) -polygonal = express_getattr(IfcStructuralCurveActivityTypeEnum, 'POLYGONAL', INDETERMINATE) -equidistant = express_getattr(IfcStructuralCurveActivityTypeEnum, 'EQUIDISTANT', INDETERMINATE) -sinus = express_getattr(IfcStructuralCurveActivityTypeEnum, 'SINUS', INDETERMINATE) -parabola = express_getattr(IfcStructuralCurveActivityTypeEnum, 'PARABOLA', INDETERMINATE) -discrete = express_getattr(IfcStructuralCurveActivityTypeEnum, 'DISCRETE', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +const = IfcStructuralCurveActivityTypeEnum.CONST +linear = IfcStructuralCurveActivityTypeEnum.LINEAR +polygonal = IfcStructuralCurveActivityTypeEnum.POLYGONAL +equidistant = IfcStructuralCurveActivityTypeEnum.EQUIDISTANT +sinus = IfcStructuralCurveActivityTypeEnum.SINUS +parabola = IfcStructuralCurveActivityTypeEnum.PARABOLA +discrete = IfcStructuralCurveActivityTypeEnum.DISCRETE +userdefined = IfcStructuralCurveActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveActivityTypeEnum.NOTDEFINED IfcStructuralCurveMemberTypeEnum = enum_namespace() -rigid_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'RIGID_JOINED_MEMBER', INDETERMINATE) -pin_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'PIN_JOINED_MEMBER', INDETERMINATE) -cable = express_getattr(IfcStructuralCurveMemberTypeEnum, 'CABLE', INDETERMINATE) -tension_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'TENSION_MEMBER', INDETERMINATE) -compression_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'COMPRESSION_MEMBER', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +rigid_joined_member = IfcStructuralCurveMemberTypeEnum.RIGID_JOINED_MEMBER +pin_joined_member = IfcStructuralCurveMemberTypeEnum.PIN_JOINED_MEMBER +cable = IfcStructuralCurveMemberTypeEnum.CABLE +tension_member = IfcStructuralCurveMemberTypeEnum.TENSION_MEMBER +compression_member = IfcStructuralCurveMemberTypeEnum.COMPRESSION_MEMBER +userdefined = IfcStructuralCurveMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveMemberTypeEnum.NOTDEFINED IfcStructuralSurfaceActivityTypeEnum = enum_namespace() -const = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'CONST', INDETERMINATE) -bilinear = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'BILINEAR', INDETERMINATE) -discrete = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'DISCRETE', INDETERMINATE) -isocontour = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'ISOCONTOUR', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +const = IfcStructuralSurfaceActivityTypeEnum.CONST +bilinear = IfcStructuralSurfaceActivityTypeEnum.BILINEAR +discrete = IfcStructuralSurfaceActivityTypeEnum.DISCRETE +isocontour = IfcStructuralSurfaceActivityTypeEnum.ISOCONTOUR +userdefined = IfcStructuralSurfaceActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceActivityTypeEnum.NOTDEFINED IfcStructuralSurfaceMemberTypeEnum = enum_namespace() -bending_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'BENDING_ELEMENT', INDETERMINATE) -membrane_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'MEMBRANE_ELEMENT', INDETERMINATE) -shell = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'SHELL', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +bending_element = IfcStructuralSurfaceMemberTypeEnum.BENDING_ELEMENT +membrane_element = IfcStructuralSurfaceMemberTypeEnum.MEMBRANE_ELEMENT +shell = IfcStructuralSurfaceMemberTypeEnum.SHELL +userdefined = IfcStructuralSurfaceMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceMemberTypeEnum.NOTDEFINED IfcSubContractResourceTypeEnum = enum_namespace() -purchase = express_getattr(IfcSubContractResourceTypeEnum, 'PURCHASE', INDETERMINATE) -work = express_getattr(IfcSubContractResourceTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcSubContractResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSubContractResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +purchase = IfcSubContractResourceTypeEnum.PURCHASE +work = IfcSubContractResourceTypeEnum.WORK +userdefined = IfcSubContractResourceTypeEnum.USERDEFINED +notdefined = IfcSubContractResourceTypeEnum.NOTDEFINED IfcSurfaceFeatureTypeEnum = enum_namespace() -mark = express_getattr(IfcSurfaceFeatureTypeEnum, 'MARK', INDETERMINATE) -tag = express_getattr(IfcSurfaceFeatureTypeEnum, 'TAG', INDETERMINATE) -treatment = express_getattr(IfcSurfaceFeatureTypeEnum, 'TREATMENT', INDETERMINATE) -defect = express_getattr(IfcSurfaceFeatureTypeEnum, 'DEFECT', INDETERMINATE) -hatchmarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'HATCHMARKING', INDETERMINATE) -linemarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'LINEMARKING', INDETERMINATE) -pavementsurfacemarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'PAVEMENTSURFACEMARKING', INDETERMINATE) -symbolmarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'SYMBOLMARKING', INDETERMINATE) -nonskidsurfacing = express_getattr(IfcSurfaceFeatureTypeEnum, 'NONSKIDSURFACING', INDETERMINATE) -rumblestrip = express_getattr(IfcSurfaceFeatureTypeEnum, 'RUMBLESTRIP', INDETERMINATE) -transverserumblestrip = express_getattr(IfcSurfaceFeatureTypeEnum, 'TRANSVERSERUMBLESTRIP', INDETERMINATE) -userdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +mark = IfcSurfaceFeatureTypeEnum.MARK +tag = IfcSurfaceFeatureTypeEnum.TAG +treatment = IfcSurfaceFeatureTypeEnum.TREATMENT +defect = IfcSurfaceFeatureTypeEnum.DEFECT +hatchmarking = IfcSurfaceFeatureTypeEnum.HATCHMARKING +linemarking = IfcSurfaceFeatureTypeEnum.LINEMARKING +pavementsurfacemarking = IfcSurfaceFeatureTypeEnum.PAVEMENTSURFACEMARKING +symbolmarking = IfcSurfaceFeatureTypeEnum.SYMBOLMARKING +nonskidsurfacing = IfcSurfaceFeatureTypeEnum.NONSKIDSURFACING +rumblestrip = IfcSurfaceFeatureTypeEnum.RUMBLESTRIP +transverserumblestrip = IfcSurfaceFeatureTypeEnum.TRANSVERSERUMBLESTRIP +userdefined = IfcSurfaceFeatureTypeEnum.USERDEFINED +notdefined = IfcSurfaceFeatureTypeEnum.NOTDEFINED IfcSurfaceSide = enum_namespace() -positive = express_getattr(IfcSurfaceSide, 'POSITIVE', INDETERMINATE) -negative = express_getattr(IfcSurfaceSide, 'NEGATIVE', INDETERMINATE) -both = express_getattr(IfcSurfaceSide, 'BOTH', INDETERMINATE) +positive = IfcSurfaceSide.POSITIVE +negative = IfcSurfaceSide.NEGATIVE +both = IfcSurfaceSide.BOTH IfcSwitchingDeviceTypeEnum = enum_namespace() -contactor = express_getattr(IfcSwitchingDeviceTypeEnum, 'CONTACTOR', INDETERMINATE) -dimmerswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'DIMMERSWITCH', INDETERMINATE) -emergencystop = express_getattr(IfcSwitchingDeviceTypeEnum, 'EMERGENCYSTOP', INDETERMINATE) -keypad = express_getattr(IfcSwitchingDeviceTypeEnum, 'KEYPAD', INDETERMINATE) -momentaryswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'MOMENTARYSWITCH', INDETERMINATE) -selectorswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'SELECTORSWITCH', INDETERMINATE) -starter = express_getattr(IfcSwitchingDeviceTypeEnum, 'STARTER', INDETERMINATE) -switchdisconnector = express_getattr(IfcSwitchingDeviceTypeEnum, 'SWITCHDISCONNECTOR', INDETERMINATE) -toggleswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'TOGGLESWITCH', INDETERMINATE) -relay = express_getattr(IfcSwitchingDeviceTypeEnum, 'RELAY', INDETERMINATE) -start_and_stop_equipment = express_getattr(IfcSwitchingDeviceTypeEnum, 'START_AND_STOP_EQUIPMENT', INDETERMINATE) -userdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +contactor = IfcSwitchingDeviceTypeEnum.CONTACTOR +dimmerswitch = IfcSwitchingDeviceTypeEnum.DIMMERSWITCH +emergencystop = IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP +keypad = IfcSwitchingDeviceTypeEnum.KEYPAD +momentaryswitch = IfcSwitchingDeviceTypeEnum.MOMENTARYSWITCH +selectorswitch = IfcSwitchingDeviceTypeEnum.SELECTORSWITCH +starter = IfcSwitchingDeviceTypeEnum.STARTER +switchdisconnector = IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR +toggleswitch = IfcSwitchingDeviceTypeEnum.TOGGLESWITCH +relay = IfcSwitchingDeviceTypeEnum.RELAY +start_and_stop_equipment = IfcSwitchingDeviceTypeEnum.START_AND_STOP_EQUIPMENT +userdefined = IfcSwitchingDeviceTypeEnum.USERDEFINED +notdefined = IfcSwitchingDeviceTypeEnum.NOTDEFINED IfcSystemFurnitureElementTypeEnum = enum_namespace() -panel = express_getattr(IfcSystemFurnitureElementTypeEnum, 'PANEL', INDETERMINATE) -worksurface = express_getattr(IfcSystemFurnitureElementTypeEnum, 'WORKSURFACE', INDETERMINATE) -subrack = express_getattr(IfcSystemFurnitureElementTypeEnum, 'SUBRACK', INDETERMINATE) -userdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +panel = IfcSystemFurnitureElementTypeEnum.PANEL +worksurface = IfcSystemFurnitureElementTypeEnum.WORKSURFACE +subrack = IfcSystemFurnitureElementTypeEnum.SUBRACK +userdefined = IfcSystemFurnitureElementTypeEnum.USERDEFINED +notdefined = IfcSystemFurnitureElementTypeEnum.NOTDEFINED IfcTankTypeEnum = enum_namespace() -basin = express_getattr(IfcTankTypeEnum, 'BASIN', INDETERMINATE) -breakpressure = express_getattr(IfcTankTypeEnum, 'BREAKPRESSURE', INDETERMINATE) -expansion = express_getattr(IfcTankTypeEnum, 'EXPANSION', INDETERMINATE) -feedandexpansion = express_getattr(IfcTankTypeEnum, 'FEEDANDEXPANSION', INDETERMINATE) -pressurevessel = express_getattr(IfcTankTypeEnum, 'PRESSUREVESSEL', INDETERMINATE) -storage = express_getattr(IfcTankTypeEnum, 'STORAGE', INDETERMINATE) -vessel = express_getattr(IfcTankTypeEnum, 'VESSEL', INDETERMINATE) -oilretentiontray = express_getattr(IfcTankTypeEnum, 'OILRETENTIONTRAY', INDETERMINATE) -userdefined = express_getattr(IfcTankTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTankTypeEnum, 'NOTDEFINED', INDETERMINATE) +basin = IfcTankTypeEnum.BASIN +breakpressure = IfcTankTypeEnum.BREAKPRESSURE +expansion = IfcTankTypeEnum.EXPANSION +feedandexpansion = IfcTankTypeEnum.FEEDANDEXPANSION +pressurevessel = IfcTankTypeEnum.PRESSUREVESSEL +storage = IfcTankTypeEnum.STORAGE +vessel = IfcTankTypeEnum.VESSEL +oilretentiontray = IfcTankTypeEnum.OILRETENTIONTRAY +userdefined = IfcTankTypeEnum.USERDEFINED +notdefined = IfcTankTypeEnum.NOTDEFINED IfcTaskDurationEnum = enum_namespace() -elapsedtime = express_getattr(IfcTaskDurationEnum, 'ELAPSEDTIME', INDETERMINATE) -worktime = express_getattr(IfcTaskDurationEnum, 'WORKTIME', INDETERMINATE) -notdefined = express_getattr(IfcTaskDurationEnum, 'NOTDEFINED', INDETERMINATE) +elapsedtime = IfcTaskDurationEnum.ELAPSEDTIME +worktime = IfcTaskDurationEnum.WORKTIME +notdefined = IfcTaskDurationEnum.NOTDEFINED IfcTaskTypeEnum = enum_namespace() -attendance = express_getattr(IfcTaskTypeEnum, 'ATTENDANCE', INDETERMINATE) -construction = express_getattr(IfcTaskTypeEnum, 'CONSTRUCTION', INDETERMINATE) -demolition = express_getattr(IfcTaskTypeEnum, 'DEMOLITION', INDETERMINATE) -dismantle = express_getattr(IfcTaskTypeEnum, 'DISMANTLE', INDETERMINATE) -disposal = express_getattr(IfcTaskTypeEnum, 'DISPOSAL', INDETERMINATE) -installation = express_getattr(IfcTaskTypeEnum, 'INSTALLATION', INDETERMINATE) -logistic = express_getattr(IfcTaskTypeEnum, 'LOGISTIC', INDETERMINATE) -maintenance = express_getattr(IfcTaskTypeEnum, 'MAINTENANCE', INDETERMINATE) -move = express_getattr(IfcTaskTypeEnum, 'MOVE', INDETERMINATE) -operation = express_getattr(IfcTaskTypeEnum, 'OPERATION', INDETERMINATE) -removal = express_getattr(IfcTaskTypeEnum, 'REMOVAL', INDETERMINATE) -renovation = express_getattr(IfcTaskTypeEnum, 'RENOVATION', INDETERMINATE) -userdefined = express_getattr(IfcTaskTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTaskTypeEnum, 'NOTDEFINED', INDETERMINATE) +attendance = IfcTaskTypeEnum.ATTENDANCE +construction = IfcTaskTypeEnum.CONSTRUCTION +demolition = IfcTaskTypeEnum.DEMOLITION +dismantle = IfcTaskTypeEnum.DISMANTLE +disposal = IfcTaskTypeEnum.DISPOSAL +installation = IfcTaskTypeEnum.INSTALLATION +logistic = IfcTaskTypeEnum.LOGISTIC +maintenance = IfcTaskTypeEnum.MAINTENANCE +move = IfcTaskTypeEnum.MOVE +operation = IfcTaskTypeEnum.OPERATION +removal = IfcTaskTypeEnum.REMOVAL +renovation = IfcTaskTypeEnum.RENOVATION +userdefined = IfcTaskTypeEnum.USERDEFINED +notdefined = IfcTaskTypeEnum.NOTDEFINED IfcTendonAnchorTypeEnum = enum_namespace() -coupler = express_getattr(IfcTendonAnchorTypeEnum, 'COUPLER', INDETERMINATE) -fixed_end = express_getattr(IfcTendonAnchorTypeEnum, 'FIXED_END', INDETERMINATE) -tensioning_end = express_getattr(IfcTendonAnchorTypeEnum, 'TENSIONING_END', INDETERMINATE) -userdefined = express_getattr(IfcTendonAnchorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonAnchorTypeEnum, 'NOTDEFINED', INDETERMINATE) +coupler = IfcTendonAnchorTypeEnum.COUPLER +fixed_end = IfcTendonAnchorTypeEnum.FIXED_END +tensioning_end = IfcTendonAnchorTypeEnum.TENSIONING_END +userdefined = IfcTendonAnchorTypeEnum.USERDEFINED +notdefined = IfcTendonAnchorTypeEnum.NOTDEFINED IfcTendonConduitTypeEnum = enum_namespace() -duct = express_getattr(IfcTendonConduitTypeEnum, 'DUCT', INDETERMINATE) -coupler = express_getattr(IfcTendonConduitTypeEnum, 'COUPLER', INDETERMINATE) -grouting_duct = express_getattr(IfcTendonConduitTypeEnum, 'GROUTING_DUCT', INDETERMINATE) -trumpet = express_getattr(IfcTendonConduitTypeEnum, 'TRUMPET', INDETERMINATE) -diabolo = express_getattr(IfcTendonConduitTypeEnum, 'DIABOLO', INDETERMINATE) -userdefined = express_getattr(IfcTendonConduitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonConduitTypeEnum, 'NOTDEFINED', INDETERMINATE) +duct = IfcTendonConduitTypeEnum.DUCT +coupler = IfcTendonConduitTypeEnum.COUPLER +grouting_duct = IfcTendonConduitTypeEnum.GROUTING_DUCT +trumpet = IfcTendonConduitTypeEnum.TRUMPET +diabolo = IfcTendonConduitTypeEnum.DIABOLO +userdefined = IfcTendonConduitTypeEnum.USERDEFINED +notdefined = IfcTendonConduitTypeEnum.NOTDEFINED IfcTendonTypeEnum = enum_namespace() -bar = express_getattr(IfcTendonTypeEnum, 'BAR', INDETERMINATE) -coated = express_getattr(IfcTendonTypeEnum, 'COATED', INDETERMINATE) -strand = express_getattr(IfcTendonTypeEnum, 'STRAND', INDETERMINATE) -wire = express_getattr(IfcTendonTypeEnum, 'WIRE', INDETERMINATE) -userdefined = express_getattr(IfcTendonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonTypeEnum, 'NOTDEFINED', INDETERMINATE) +bar = IfcTendonTypeEnum.BAR +coated = IfcTendonTypeEnum.COATED +strand = IfcTendonTypeEnum.STRAND +wire = IfcTendonTypeEnum.WIRE +userdefined = IfcTendonTypeEnum.USERDEFINED +notdefined = IfcTendonTypeEnum.NOTDEFINED IfcTextPath = enum_namespace() -left = express_getattr(IfcTextPath, 'LEFT', INDETERMINATE) -right = express_getattr(IfcTextPath, 'RIGHT', INDETERMINATE) -up = express_getattr(IfcTextPath, 'UP', INDETERMINATE) -down = express_getattr(IfcTextPath, 'DOWN', INDETERMINATE) +left = IfcTextPath.LEFT +right = IfcTextPath.RIGHT +up = IfcTextPath.UP +down = IfcTextPath.DOWN IfcTimeSeriesDataTypeEnum = enum_namespace() -continuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'CONTINUOUS', INDETERMINATE) -discrete = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETE', INDETERMINATE) -discretebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETEBINARY', INDETERMINATE) -piecewisebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISEBINARY', INDETERMINATE) -piecewiseconstant = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONSTANT', INDETERMINATE) -piecewisecontinuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONTINUOUS', INDETERMINATE) -notdefined = express_getattr(IfcTimeSeriesDataTypeEnum, 'NOTDEFINED', INDETERMINATE) +continuous = IfcTimeSeriesDataTypeEnum.CONTINUOUS +discrete = IfcTimeSeriesDataTypeEnum.DISCRETE +discretebinary = IfcTimeSeriesDataTypeEnum.DISCRETEBINARY +piecewisebinary = IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY +piecewiseconstant = IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT +piecewisecontinuous = IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS +notdefined = IfcTimeSeriesDataTypeEnum.NOTDEFINED IfcTrackElementTypeEnum = enum_namespace() -trackendofalignment = express_getattr(IfcTrackElementTypeEnum, 'TRACKENDOFALIGNMENT', INDETERMINATE) -blockingdevice = express_getattr(IfcTrackElementTypeEnum, 'BLOCKINGDEVICE', INDETERMINATE) -vehiclestop = express_getattr(IfcTrackElementTypeEnum, 'VEHICLESTOP', INDETERMINATE) -sleeper = express_getattr(IfcTrackElementTypeEnum, 'SLEEPER', INDETERMINATE) -half_set_of_blades = express_getattr(IfcTrackElementTypeEnum, 'HALF_SET_OF_BLADES', INDETERMINATE) -speedregulator = express_getattr(IfcTrackElementTypeEnum, 'SPEEDREGULATOR', INDETERMINATE) -derailer = express_getattr(IfcTrackElementTypeEnum, 'DERAILER', INDETERMINATE) -frog = express_getattr(IfcTrackElementTypeEnum, 'FROG', INDETERMINATE) -userdefined = express_getattr(IfcTrackElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTrackElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +trackendofalignment = IfcTrackElementTypeEnum.TRACKENDOFALIGNMENT +blockingdevice = IfcTrackElementTypeEnum.BLOCKINGDEVICE +vehiclestop = IfcTrackElementTypeEnum.VEHICLESTOP +sleeper = IfcTrackElementTypeEnum.SLEEPER +half_set_of_blades = IfcTrackElementTypeEnum.HALF_SET_OF_BLADES +speedregulator = IfcTrackElementTypeEnum.SPEEDREGULATOR +derailer = IfcTrackElementTypeEnum.DERAILER +frog = IfcTrackElementTypeEnum.FROG +userdefined = IfcTrackElementTypeEnum.USERDEFINED +notdefined = IfcTrackElementTypeEnum.NOTDEFINED IfcTransformerTypeEnum = enum_namespace() -current = express_getattr(IfcTransformerTypeEnum, 'CURRENT', INDETERMINATE) -frequency = express_getattr(IfcTransformerTypeEnum, 'FREQUENCY', INDETERMINATE) -inverter = express_getattr(IfcTransformerTypeEnum, 'INVERTER', INDETERMINATE) -rectifier = express_getattr(IfcTransformerTypeEnum, 'RECTIFIER', INDETERMINATE) -voltage = express_getattr(IfcTransformerTypeEnum, 'VOLTAGE', INDETERMINATE) -chopper = express_getattr(IfcTransformerTypeEnum, 'CHOPPER', INDETERMINATE) -combined = express_getattr(IfcTransformerTypeEnum, 'COMBINED', INDETERMINATE) -userdefined = express_getattr(IfcTransformerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransformerTypeEnum, 'NOTDEFINED', INDETERMINATE) +current = IfcTransformerTypeEnum.CURRENT +frequency = IfcTransformerTypeEnum.FREQUENCY +inverter = IfcTransformerTypeEnum.INVERTER +rectifier = IfcTransformerTypeEnum.RECTIFIER +voltage = IfcTransformerTypeEnum.VOLTAGE +chopper = IfcTransformerTypeEnum.CHOPPER +combined = IfcTransformerTypeEnum.COMBINED +userdefined = IfcTransformerTypeEnum.USERDEFINED +notdefined = IfcTransformerTypeEnum.NOTDEFINED IfcTransitionCode = enum_namespace() -discontinuous = express_getattr(IfcTransitionCode, 'DISCONTINUOUS', INDETERMINATE) -continuous = express_getattr(IfcTransitionCode, 'CONTINUOUS', INDETERMINATE) -contsamegradient = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENT', INDETERMINATE) -contsamegradientsamecurvature = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENTSAMECURVATURE', INDETERMINATE) +discontinuous = IfcTransitionCode.DISCONTINUOUS +continuous = IfcTransitionCode.CONTINUOUS +contsamegradient = IfcTransitionCode.CONTSAMEGRADIENT +contsamegradientsamecurvature = IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE IfcTransportElementFixedTypeEnum = enum_namespace() -elevator = express_getattr(IfcTransportElementFixedTypeEnum, 'ELEVATOR', INDETERMINATE) -escalator = express_getattr(IfcTransportElementFixedTypeEnum, 'ESCALATOR', INDETERMINATE) -movingwalkway = express_getattr(IfcTransportElementFixedTypeEnum, 'MOVINGWALKWAY', INDETERMINATE) -craneway = express_getattr(IfcTransportElementFixedTypeEnum, 'CRANEWAY', INDETERMINATE) -liftinggear = express_getattr(IfcTransportElementFixedTypeEnum, 'LIFTINGGEAR', INDETERMINATE) -haulinggear = express_getattr(IfcTransportElementFixedTypeEnum, 'HAULINGGEAR', INDETERMINATE) -userdefined = express_getattr(IfcTransportElementFixedTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransportElementFixedTypeEnum, 'NOTDEFINED', INDETERMINATE) +elevator = IfcTransportElementFixedTypeEnum.ELEVATOR +escalator = IfcTransportElementFixedTypeEnum.ESCALATOR +movingwalkway = IfcTransportElementFixedTypeEnum.MOVINGWALKWAY +craneway = IfcTransportElementFixedTypeEnum.CRANEWAY +liftinggear = IfcTransportElementFixedTypeEnum.LIFTINGGEAR +haulinggear = IfcTransportElementFixedTypeEnum.HAULINGGEAR +userdefined = IfcTransportElementFixedTypeEnum.USERDEFINED +notdefined = IfcTransportElementFixedTypeEnum.NOTDEFINED IfcTransportElementNonFixedTypeEnum = enum_namespace() -vehicle = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLE', INDETERMINATE) -vehicletracked = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLETRACKED', INDETERMINATE) -rollingstock = express_getattr(IfcTransportElementNonFixedTypeEnum, 'ROLLINGSTOCK', INDETERMINATE) -vehiclewheeled = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLEWHEELED', INDETERMINATE) -vehicleair = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLEAIR', INDETERMINATE) -cargo = express_getattr(IfcTransportElementNonFixedTypeEnum, 'CARGO', INDETERMINATE) -vehiclemarine = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLEMARINE', INDETERMINATE) -userdefined = express_getattr(IfcTransportElementNonFixedTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransportElementNonFixedTypeEnum, 'NOTDEFINED', INDETERMINATE) +vehicle = IfcTransportElementNonFixedTypeEnum.VEHICLE +vehicletracked = IfcTransportElementNonFixedTypeEnum.VEHICLETRACKED +rollingstock = IfcTransportElementNonFixedTypeEnum.ROLLINGSTOCK +vehiclewheeled = IfcTransportElementNonFixedTypeEnum.VEHICLEWHEELED +vehicleair = IfcTransportElementNonFixedTypeEnum.VEHICLEAIR +cargo = IfcTransportElementNonFixedTypeEnum.CARGO +vehiclemarine = IfcTransportElementNonFixedTypeEnum.VEHICLEMARINE +userdefined = IfcTransportElementNonFixedTypeEnum.USERDEFINED +notdefined = IfcTransportElementNonFixedTypeEnum.NOTDEFINED IfcTrimmingPreference = enum_namespace() -cartesian = express_getattr(IfcTrimmingPreference, 'CARTESIAN', INDETERMINATE) -parameter = express_getattr(IfcTrimmingPreference, 'PARAMETER', INDETERMINATE) -unspecified = express_getattr(IfcTrimmingPreference, 'UNSPECIFIED', INDETERMINATE) +cartesian = IfcTrimmingPreference.CARTESIAN +parameter = IfcTrimmingPreference.PARAMETER +unspecified = IfcTrimmingPreference.UNSPECIFIED IfcTubeBundleTypeEnum = enum_namespace() -finned = express_getattr(IfcTubeBundleTypeEnum, 'FINNED', INDETERMINATE) -userdefined = express_getattr(IfcTubeBundleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTubeBundleTypeEnum, 'NOTDEFINED', INDETERMINATE) +finned = IfcTubeBundleTypeEnum.FINNED +userdefined = IfcTubeBundleTypeEnum.USERDEFINED +notdefined = IfcTubeBundleTypeEnum.NOTDEFINED IfcUnitEnum = enum_namespace() -absorbeddoseunit = express_getattr(IfcUnitEnum, 'ABSORBEDDOSEUNIT', INDETERMINATE) -amountofsubstanceunit = express_getattr(IfcUnitEnum, 'AMOUNTOFSUBSTANCEUNIT', INDETERMINATE) -areaunit = express_getattr(IfcUnitEnum, 'AREAUNIT', INDETERMINATE) -doseequivalentunit = express_getattr(IfcUnitEnum, 'DOSEEQUIVALENTUNIT', INDETERMINATE) -electriccapacitanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCAPACITANCEUNIT', INDETERMINATE) -electricchargeunit = express_getattr(IfcUnitEnum, 'ELECTRICCHARGEUNIT', INDETERMINATE) -electricconductanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCONDUCTANCEUNIT', INDETERMINATE) -electriccurrentunit = express_getattr(IfcUnitEnum, 'ELECTRICCURRENTUNIT', INDETERMINATE) -electricresistanceunit = express_getattr(IfcUnitEnum, 'ELECTRICRESISTANCEUNIT', INDETERMINATE) -electricvoltageunit = express_getattr(IfcUnitEnum, 'ELECTRICVOLTAGEUNIT', INDETERMINATE) -energyunit = express_getattr(IfcUnitEnum, 'ENERGYUNIT', INDETERMINATE) -forceunit = express_getattr(IfcUnitEnum, 'FORCEUNIT', INDETERMINATE) -frequencyunit = express_getattr(IfcUnitEnum, 'FREQUENCYUNIT', INDETERMINATE) -illuminanceunit = express_getattr(IfcUnitEnum, 'ILLUMINANCEUNIT', INDETERMINATE) -inductanceunit = express_getattr(IfcUnitEnum, 'INDUCTANCEUNIT', INDETERMINATE) -lengthunit = express_getattr(IfcUnitEnum, 'LENGTHUNIT', INDETERMINATE) -luminousfluxunit = express_getattr(IfcUnitEnum, 'LUMINOUSFLUXUNIT', INDETERMINATE) -luminousintensityunit = express_getattr(IfcUnitEnum, 'LUMINOUSINTENSITYUNIT', INDETERMINATE) -magneticfluxdensityunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXDENSITYUNIT', INDETERMINATE) -magneticfluxunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXUNIT', INDETERMINATE) -massunit = express_getattr(IfcUnitEnum, 'MASSUNIT', INDETERMINATE) -planeangleunit = express_getattr(IfcUnitEnum, 'PLANEANGLEUNIT', INDETERMINATE) -powerunit = express_getattr(IfcUnitEnum, 'POWERUNIT', INDETERMINATE) -pressureunit = express_getattr(IfcUnitEnum, 'PRESSUREUNIT', INDETERMINATE) -radioactivityunit = express_getattr(IfcUnitEnum, 'RADIOACTIVITYUNIT', INDETERMINATE) -solidangleunit = express_getattr(IfcUnitEnum, 'SOLIDANGLEUNIT', INDETERMINATE) -thermodynamictemperatureunit = express_getattr(IfcUnitEnum, 'THERMODYNAMICTEMPERATUREUNIT', INDETERMINATE) -timeunit = express_getattr(IfcUnitEnum, 'TIMEUNIT', INDETERMINATE) -volumeunit = express_getattr(IfcUnitEnum, 'VOLUMEUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitEnum, 'USERDEFINED', INDETERMINATE) +absorbeddoseunit = IfcUnitEnum.ABSORBEDDOSEUNIT +amountofsubstanceunit = IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT +areaunit = IfcUnitEnum.AREAUNIT +doseequivalentunit = IfcUnitEnum.DOSEEQUIVALENTUNIT +electriccapacitanceunit = IfcUnitEnum.ELECTRICCAPACITANCEUNIT +electricchargeunit = IfcUnitEnum.ELECTRICCHARGEUNIT +electricconductanceunit = IfcUnitEnum.ELECTRICCONDUCTANCEUNIT +electriccurrentunit = IfcUnitEnum.ELECTRICCURRENTUNIT +electricresistanceunit = IfcUnitEnum.ELECTRICRESISTANCEUNIT +electricvoltageunit = IfcUnitEnum.ELECTRICVOLTAGEUNIT +energyunit = IfcUnitEnum.ENERGYUNIT +forceunit = IfcUnitEnum.FORCEUNIT +frequencyunit = IfcUnitEnum.FREQUENCYUNIT +illuminanceunit = IfcUnitEnum.ILLUMINANCEUNIT +inductanceunit = IfcUnitEnum.INDUCTANCEUNIT +lengthunit = IfcUnitEnum.LENGTHUNIT +luminousfluxunit = IfcUnitEnum.LUMINOUSFLUXUNIT +luminousintensityunit = IfcUnitEnum.LUMINOUSINTENSITYUNIT +magneticfluxdensityunit = IfcUnitEnum.MAGNETICFLUXDENSITYUNIT +magneticfluxunit = IfcUnitEnum.MAGNETICFLUXUNIT +massunit = IfcUnitEnum.MASSUNIT +planeangleunit = IfcUnitEnum.PLANEANGLEUNIT +powerunit = IfcUnitEnum.POWERUNIT +pressureunit = IfcUnitEnum.PRESSUREUNIT +radioactivityunit = IfcUnitEnum.RADIOACTIVITYUNIT +solidangleunit = IfcUnitEnum.SOLIDANGLEUNIT +thermodynamictemperatureunit = IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT +timeunit = IfcUnitEnum.TIMEUNIT +volumeunit = IfcUnitEnum.VOLUMEUNIT +userdefined = IfcUnitEnum.USERDEFINED IfcUnitaryControlElementTypeEnum = enum_namespace() -alarmpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'ALARMPANEL', INDETERMINATE) -controlpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'CONTROLPANEL', INDETERMINATE) -gasdetectionpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'GASDETECTIONPANEL', INDETERMINATE) -indicatorpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'INDICATORPANEL', INDETERMINATE) -mimicpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'MIMICPANEL', INDETERMINATE) -humidistat = express_getattr(IfcUnitaryControlElementTypeEnum, 'HUMIDISTAT', INDETERMINATE) -thermostat = express_getattr(IfcUnitaryControlElementTypeEnum, 'THERMOSTAT', INDETERMINATE) -weatherstation = express_getattr(IfcUnitaryControlElementTypeEnum, 'WEATHERSTATION', INDETERMINATE) -combined = express_getattr(IfcUnitaryControlElementTypeEnum, 'COMBINED', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +alarmpanel = IfcUnitaryControlElementTypeEnum.ALARMPANEL +controlpanel = IfcUnitaryControlElementTypeEnum.CONTROLPANEL +gasdetectionpanel = IfcUnitaryControlElementTypeEnum.GASDETECTIONPANEL +indicatorpanel = IfcUnitaryControlElementTypeEnum.INDICATORPANEL +mimicpanel = IfcUnitaryControlElementTypeEnum.MIMICPANEL +humidistat = IfcUnitaryControlElementTypeEnum.HUMIDISTAT +thermostat = IfcUnitaryControlElementTypeEnum.THERMOSTAT +weatherstation = IfcUnitaryControlElementTypeEnum.WEATHERSTATION +combined = IfcUnitaryControlElementTypeEnum.COMBINED +userdefined = IfcUnitaryControlElementTypeEnum.USERDEFINED +notdefined = IfcUnitaryControlElementTypeEnum.NOTDEFINED IfcUnitaryEquipmentTypeEnum = enum_namespace() -airhandler = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRHANDLER', INDETERMINATE) -airconditioningunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRCONDITIONINGUNIT', INDETERMINATE) -dehumidifier = express_getattr(IfcUnitaryEquipmentTypeEnum, 'DEHUMIDIFIER', INDETERMINATE) -splitsystem = express_getattr(IfcUnitaryEquipmentTypeEnum, 'SPLITSYSTEM', INDETERMINATE) -rooftopunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'ROOFTOPUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +airhandler = IfcUnitaryEquipmentTypeEnum.AIRHANDLER +airconditioningunit = IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT +dehumidifier = IfcUnitaryEquipmentTypeEnum.DEHUMIDIFIER +splitsystem = IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM +rooftopunit = IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT +userdefined = IfcUnitaryEquipmentTypeEnum.USERDEFINED +notdefined = IfcUnitaryEquipmentTypeEnum.NOTDEFINED IfcValveTypeEnum = enum_namespace() -airrelease = express_getattr(IfcValveTypeEnum, 'AIRRELEASE', INDETERMINATE) -antivacuum = express_getattr(IfcValveTypeEnum, 'ANTIVACUUM', INDETERMINATE) -changeover = express_getattr(IfcValveTypeEnum, 'CHANGEOVER', INDETERMINATE) -check = express_getattr(IfcValveTypeEnum, 'CHECK', INDETERMINATE) -commissioning = express_getattr(IfcValveTypeEnum, 'COMMISSIONING', INDETERMINATE) -diverting = express_getattr(IfcValveTypeEnum, 'DIVERTING', INDETERMINATE) -drawoffcock = express_getattr(IfcValveTypeEnum, 'DRAWOFFCOCK', INDETERMINATE) -doublecheck = express_getattr(IfcValveTypeEnum, 'DOUBLECHECK', INDETERMINATE) -doubleregulating = express_getattr(IfcValveTypeEnum, 'DOUBLEREGULATING', INDETERMINATE) -faucet = express_getattr(IfcValveTypeEnum, 'FAUCET', INDETERMINATE) -flushing = express_getattr(IfcValveTypeEnum, 'FLUSHING', INDETERMINATE) -gascock = express_getattr(IfcValveTypeEnum, 'GASCOCK', INDETERMINATE) -gastap = express_getattr(IfcValveTypeEnum, 'GASTAP', INDETERMINATE) -isolating = express_getattr(IfcValveTypeEnum, 'ISOLATING', INDETERMINATE) -mixing = express_getattr(IfcValveTypeEnum, 'MIXING', INDETERMINATE) -pressurereducing = express_getattr(IfcValveTypeEnum, 'PRESSUREREDUCING', INDETERMINATE) -pressurerelief = express_getattr(IfcValveTypeEnum, 'PRESSURERELIEF', INDETERMINATE) -regulating = express_getattr(IfcValveTypeEnum, 'REGULATING', INDETERMINATE) -safetycutoff = express_getattr(IfcValveTypeEnum, 'SAFETYCUTOFF', INDETERMINATE) -steamtrap = express_getattr(IfcValveTypeEnum, 'STEAMTRAP', INDETERMINATE) -stopcock = express_getattr(IfcValveTypeEnum, 'STOPCOCK', INDETERMINATE) -userdefined = express_getattr(IfcValveTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcValveTypeEnum, 'NOTDEFINED', INDETERMINATE) +airrelease = IfcValveTypeEnum.AIRRELEASE +antivacuum = IfcValveTypeEnum.ANTIVACUUM +changeover = IfcValveTypeEnum.CHANGEOVER +check = IfcValveTypeEnum.CHECK +commissioning = IfcValveTypeEnum.COMMISSIONING +diverting = IfcValveTypeEnum.DIVERTING +drawoffcock = IfcValveTypeEnum.DRAWOFFCOCK +doublecheck = IfcValveTypeEnum.DOUBLECHECK +doubleregulating = IfcValveTypeEnum.DOUBLEREGULATING +faucet = IfcValveTypeEnum.FAUCET +flushing = IfcValveTypeEnum.FLUSHING +gascock = IfcValveTypeEnum.GASCOCK +gastap = IfcValveTypeEnum.GASTAP +isolating = IfcValveTypeEnum.ISOLATING +mixing = IfcValveTypeEnum.MIXING +pressurereducing = IfcValveTypeEnum.PRESSUREREDUCING +pressurerelief = IfcValveTypeEnum.PRESSURERELIEF +regulating = IfcValveTypeEnum.REGULATING +safetycutoff = IfcValveTypeEnum.SAFETYCUTOFF +steamtrap = IfcValveTypeEnum.STEAMTRAP +stopcock = IfcValveTypeEnum.STOPCOCK +userdefined = IfcValveTypeEnum.USERDEFINED +notdefined = IfcValveTypeEnum.NOTDEFINED IfcVibrationDamperTypeEnum = enum_namespace() -bending_yield = express_getattr(IfcVibrationDamperTypeEnum, 'BENDING_YIELD', INDETERMINATE) -shear_yield = express_getattr(IfcVibrationDamperTypeEnum, 'SHEAR_YIELD', INDETERMINATE) -axial_yield = express_getattr(IfcVibrationDamperTypeEnum, 'AXIAL_YIELD', INDETERMINATE) -friction = express_getattr(IfcVibrationDamperTypeEnum, 'FRICTION', INDETERMINATE) -viscous = express_getattr(IfcVibrationDamperTypeEnum, 'VISCOUS', INDETERMINATE) -rubber = express_getattr(IfcVibrationDamperTypeEnum, 'RUBBER', INDETERMINATE) -userdefined = express_getattr(IfcVibrationDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +bending_yield = IfcVibrationDamperTypeEnum.BENDING_YIELD +shear_yield = IfcVibrationDamperTypeEnum.SHEAR_YIELD +axial_yield = IfcVibrationDamperTypeEnum.AXIAL_YIELD +friction = IfcVibrationDamperTypeEnum.FRICTION +viscous = IfcVibrationDamperTypeEnum.VISCOUS +rubber = IfcVibrationDamperTypeEnum.RUBBER +userdefined = IfcVibrationDamperTypeEnum.USERDEFINED +notdefined = IfcVibrationDamperTypeEnum.NOTDEFINED IfcVibrationIsolatorTypeEnum = enum_namespace() -compression = express_getattr(IfcVibrationIsolatorTypeEnum, 'COMPRESSION', INDETERMINATE) -spring = express_getattr(IfcVibrationIsolatorTypeEnum, 'SPRING', INDETERMINATE) -base = express_getattr(IfcVibrationIsolatorTypeEnum, 'BASE', INDETERMINATE) -userdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +compression = IfcVibrationIsolatorTypeEnum.COMPRESSION +spring = IfcVibrationIsolatorTypeEnum.SPRING +base = IfcVibrationIsolatorTypeEnum.BASE +userdefined = IfcVibrationIsolatorTypeEnum.USERDEFINED +notdefined = IfcVibrationIsolatorTypeEnum.NOTDEFINED IfcVoidingFeatureTypeEnum = enum_namespace() -cutout = express_getattr(IfcVoidingFeatureTypeEnum, 'CUTOUT', INDETERMINATE) -notch = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTCH', INDETERMINATE) -hole = express_getattr(IfcVoidingFeatureTypeEnum, 'HOLE', INDETERMINATE) -miter = express_getattr(IfcVoidingFeatureTypeEnum, 'MITER', INDETERMINATE) -chamfer = express_getattr(IfcVoidingFeatureTypeEnum, 'CHAMFER', INDETERMINATE) -edge = express_getattr(IfcVoidingFeatureTypeEnum, 'EDGE', INDETERMINATE) -userdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +cutout = IfcVoidingFeatureTypeEnum.CUTOUT +notch = IfcVoidingFeatureTypeEnum.NOTCH +hole = IfcVoidingFeatureTypeEnum.HOLE +miter = IfcVoidingFeatureTypeEnum.MITER +chamfer = IfcVoidingFeatureTypeEnum.CHAMFER +edge = IfcVoidingFeatureTypeEnum.EDGE +userdefined = IfcVoidingFeatureTypeEnum.USERDEFINED +notdefined = IfcVoidingFeatureTypeEnum.NOTDEFINED IfcWallTypeEnum = enum_namespace() -movable = express_getattr(IfcWallTypeEnum, 'MOVABLE', INDETERMINATE) -parapet = express_getattr(IfcWallTypeEnum, 'PARAPET', INDETERMINATE) -partitioning = express_getattr(IfcWallTypeEnum, 'PARTITIONING', INDETERMINATE) -plumbingwall = express_getattr(IfcWallTypeEnum, 'PLUMBINGWALL', INDETERMINATE) -shear = express_getattr(IfcWallTypeEnum, 'SHEAR', INDETERMINATE) -solidwall = express_getattr(IfcWallTypeEnum, 'SOLIDWALL', INDETERMINATE) -standard = express_getattr(IfcWallTypeEnum, 'STANDARD', INDETERMINATE) -polygonal = express_getattr(IfcWallTypeEnum, 'POLYGONAL', INDETERMINATE) -elementedwall = express_getattr(IfcWallTypeEnum, 'ELEMENTEDWALL', INDETERMINATE) -retainingwall = express_getattr(IfcWallTypeEnum, 'RETAININGWALL', INDETERMINATE) -wavewall = express_getattr(IfcWallTypeEnum, 'WAVEWALL', INDETERMINATE) -userdefined = express_getattr(IfcWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +movable = IfcWallTypeEnum.MOVABLE +parapet = IfcWallTypeEnum.PARAPET +partitioning = IfcWallTypeEnum.PARTITIONING +plumbingwall = IfcWallTypeEnum.PLUMBINGWALL +shear = IfcWallTypeEnum.SHEAR +solidwall = IfcWallTypeEnum.SOLIDWALL +standard = IfcWallTypeEnum.STANDARD +polygonal = IfcWallTypeEnum.POLYGONAL +elementedwall = IfcWallTypeEnum.ELEMENTEDWALL +retainingwall = IfcWallTypeEnum.RETAININGWALL +wavewall = IfcWallTypeEnum.WAVEWALL +userdefined = IfcWallTypeEnum.USERDEFINED +notdefined = IfcWallTypeEnum.NOTDEFINED IfcWasteTerminalTypeEnum = enum_namespace() -floortrap = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORTRAP', INDETERMINATE) -floorwaste = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORWASTE', INDETERMINATE) -gullysump = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYSUMP', INDETERMINATE) -gullytrap = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYTRAP', INDETERMINATE) -roofdrain = express_getattr(IfcWasteTerminalTypeEnum, 'ROOFDRAIN', INDETERMINATE) -wastedisposalunit = express_getattr(IfcWasteTerminalTypeEnum, 'WASTEDISPOSALUNIT', INDETERMINATE) -wastetrap = express_getattr(IfcWasteTerminalTypeEnum, 'WASTETRAP', INDETERMINATE) -userdefined = express_getattr(IfcWasteTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWasteTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +floortrap = IfcWasteTerminalTypeEnum.FLOORTRAP +floorwaste = IfcWasteTerminalTypeEnum.FLOORWASTE +gullysump = IfcWasteTerminalTypeEnum.GULLYSUMP +gullytrap = IfcWasteTerminalTypeEnum.GULLYTRAP +roofdrain = IfcWasteTerminalTypeEnum.ROOFDRAIN +wastedisposalunit = IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT +wastetrap = IfcWasteTerminalTypeEnum.WASTETRAP +userdefined = IfcWasteTerminalTypeEnum.USERDEFINED +notdefined = IfcWasteTerminalTypeEnum.NOTDEFINED IfcWindowPanelOperationEnum = enum_namespace() -sidehungrighthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGRIGHTHAND', INDETERMINATE) -sidehunglefthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGLEFTHAND', INDETERMINATE) -tiltandturnrighthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNRIGHTHAND', INDETERMINATE) -tiltandturnlefthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNLEFTHAND', INDETERMINATE) -tophung = express_getattr(IfcWindowPanelOperationEnum, 'TOPHUNG', INDETERMINATE) -bottomhung = express_getattr(IfcWindowPanelOperationEnum, 'BOTTOMHUNG', INDETERMINATE) -pivothorizontal = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTHORIZONTAL', INDETERMINATE) -pivotvertical = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTVERTICAL', INDETERMINATE) -slidinghorizontal = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGHORIZONTAL', INDETERMINATE) -slidingvertical = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGVERTICAL', INDETERMINATE) -removablecasement = express_getattr(IfcWindowPanelOperationEnum, 'REMOVABLECASEMENT', INDETERMINATE) -fixedcasement = express_getattr(IfcWindowPanelOperationEnum, 'FIXEDCASEMENT', INDETERMINATE) -otheroperation = express_getattr(IfcWindowPanelOperationEnum, 'OTHEROPERATION', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +sidehungrighthand = IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND +sidehunglefthand = IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND +tiltandturnrighthand = IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND +tiltandturnlefthand = IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND +tophung = IfcWindowPanelOperationEnum.TOPHUNG +bottomhung = IfcWindowPanelOperationEnum.BOTTOMHUNG +pivothorizontal = IfcWindowPanelOperationEnum.PIVOTHORIZONTAL +pivotvertical = IfcWindowPanelOperationEnum.PIVOTVERTICAL +slidinghorizontal = IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL +slidingvertical = IfcWindowPanelOperationEnum.SLIDINGVERTICAL +removablecasement = IfcWindowPanelOperationEnum.REMOVABLECASEMENT +fixedcasement = IfcWindowPanelOperationEnum.FIXEDCASEMENT +otheroperation = IfcWindowPanelOperationEnum.OTHEROPERATION +notdefined = IfcWindowPanelOperationEnum.NOTDEFINED IfcWindowPanelPositionEnum = enum_namespace() -left = express_getattr(IfcWindowPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcWindowPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcWindowPanelPositionEnum, 'RIGHT', INDETERMINATE) -bottom = express_getattr(IfcWindowPanelPositionEnum, 'BOTTOM', INDETERMINATE) -top = express_getattr(IfcWindowPanelPositionEnum, 'TOP', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcWindowPanelPositionEnum.LEFT +middle = IfcWindowPanelPositionEnum.MIDDLE +right = IfcWindowPanelPositionEnum.RIGHT +bottom = IfcWindowPanelPositionEnum.BOTTOM +top = IfcWindowPanelPositionEnum.TOP +notdefined = IfcWindowPanelPositionEnum.NOTDEFINED IfcWindowStyleConstructionEnum = enum_namespace() -aluminium = express_getattr(IfcWindowStyleConstructionEnum, 'ALUMINIUM', INDETERMINATE) -high_grade_steel = express_getattr(IfcWindowStyleConstructionEnum, 'HIGH_GRADE_STEEL', INDETERMINATE) -steel = express_getattr(IfcWindowStyleConstructionEnum, 'STEEL', INDETERMINATE) -wood = express_getattr(IfcWindowStyleConstructionEnum, 'WOOD', INDETERMINATE) -aluminium_wood = express_getattr(IfcWindowStyleConstructionEnum, 'ALUMINIUM_WOOD', INDETERMINATE) -plastic = express_getattr(IfcWindowStyleConstructionEnum, 'PLASTIC', INDETERMINATE) -other_construction = express_getattr(IfcWindowStyleConstructionEnum, 'OTHER_CONSTRUCTION', INDETERMINATE) -notdefined = express_getattr(IfcWindowStyleConstructionEnum, 'NOTDEFINED', INDETERMINATE) +aluminium = IfcWindowStyleConstructionEnum.ALUMINIUM +high_grade_steel = IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL +steel = IfcWindowStyleConstructionEnum.STEEL +wood = IfcWindowStyleConstructionEnum.WOOD +aluminium_wood = IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD +plastic = IfcWindowStyleConstructionEnum.PLASTIC +other_construction = IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION +notdefined = IfcWindowStyleConstructionEnum.NOTDEFINED IfcWindowStyleOperationEnum = enum_namespace() -single_panel = express_getattr(IfcWindowStyleOperationEnum, 'SINGLE_PANEL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowStyleOperationEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -double_panel_horizontal = express_getattr(IfcWindowStyleOperationEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowStyleOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowStyleOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_panel = IfcWindowStyleOperationEnum.SINGLE_PANEL +double_panel_vertical = IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL +double_panel_horizontal = IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL +triple_panel_vertical = IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL +triple_panel_bottom = IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM +triple_panel_top = IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP +triple_panel_left = IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT +triple_panel_horizontal = IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL +userdefined = IfcWindowStyleOperationEnum.USERDEFINED +notdefined = IfcWindowStyleOperationEnum.NOTDEFINED IfcWindowTypeEnum = enum_namespace() -window = express_getattr(IfcWindowTypeEnum, 'WINDOW', INDETERMINATE) -skylight = express_getattr(IfcWindowTypeEnum, 'SKYLIGHT', INDETERMINATE) -lightdome = express_getattr(IfcWindowTypeEnum, 'LIGHTDOME', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypeEnum, 'NOTDEFINED', INDETERMINATE) +window = IfcWindowTypeEnum.WINDOW +skylight = IfcWindowTypeEnum.SKYLIGHT +lightdome = IfcWindowTypeEnum.LIGHTDOME +userdefined = IfcWindowTypeEnum.USERDEFINED +notdefined = IfcWindowTypeEnum.NOTDEFINED IfcWindowTypePartitioningEnum = enum_namespace() -single_panel = express_getattr(IfcWindowTypePartitioningEnum, 'SINGLE_PANEL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -double_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypePartitioningEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypePartitioningEnum, 'NOTDEFINED', INDETERMINATE) +single_panel = IfcWindowTypePartitioningEnum.SINGLE_PANEL +double_panel_vertical = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_VERTICAL +double_panel_horizontal = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_HORIZONTAL +triple_panel_vertical = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_VERTICAL +triple_panel_bottom = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_BOTTOM +triple_panel_top = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_TOP +triple_panel_left = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_RIGHT +triple_panel_horizontal = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_HORIZONTAL +userdefined = IfcWindowTypePartitioningEnum.USERDEFINED +notdefined = IfcWindowTypePartitioningEnum.NOTDEFINED IfcWorkCalendarTypeEnum = enum_namespace() -firstshift = express_getattr(IfcWorkCalendarTypeEnum, 'FIRSTSHIFT', INDETERMINATE) -secondshift = express_getattr(IfcWorkCalendarTypeEnum, 'SECONDSHIFT', INDETERMINATE) -thirdshift = express_getattr(IfcWorkCalendarTypeEnum, 'THIRDSHIFT', INDETERMINATE) -userdefined = express_getattr(IfcWorkCalendarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkCalendarTypeEnum, 'NOTDEFINED', INDETERMINATE) +firstshift = IfcWorkCalendarTypeEnum.FIRSTSHIFT +secondshift = IfcWorkCalendarTypeEnum.SECONDSHIFT +thirdshift = IfcWorkCalendarTypeEnum.THIRDSHIFT +userdefined = IfcWorkCalendarTypeEnum.USERDEFINED +notdefined = IfcWorkCalendarTypeEnum.NOTDEFINED IfcWorkPlanTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkPlanTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkPlanTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkPlanTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkPlanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkPlanTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkPlanTypeEnum.ACTUAL +baseline = IfcWorkPlanTypeEnum.BASELINE +planned = IfcWorkPlanTypeEnum.PLANNED +userdefined = IfcWorkPlanTypeEnum.USERDEFINED +notdefined = IfcWorkPlanTypeEnum.NOTDEFINED IfcWorkScheduleTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkScheduleTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkScheduleTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkScheduleTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkScheduleTypeEnum.ACTUAL +baseline = IfcWorkScheduleTypeEnum.BASELINE +planned = IfcWorkScheduleTypeEnum.PLANNED +userdefined = IfcWorkScheduleTypeEnum.USERDEFINED +notdefined = IfcWorkScheduleTypeEnum.NOTDEFINED def IfcActionRequest(*args, **kwargs): return ifcopenshell.create_entity('IfcActionRequest', 'IFC4X3_RC3', *args, **kwargs) diff --git a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_RC4.py b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_RC4.py index c83c75b94a..1a0dbfb756 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_RC4.py +++ b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_RC4.py @@ -1,5 +1,8 @@ import ifcopenshell +def is_indeterminate(v): + return v is None or type(v).__name__ == 'indeterminate_type' + def exists(v): if callable(v): try: @@ -7,10 +10,10 @@ def exists(v): except IndexError as e: return False else: - return v is not None + return not is_indeterminate(v) def nvl(v, default): - return v if v is not None else default + return v if not is_indeterminate(v) else default def is_entity(inst): if isinstance(inst, ifcopenshell.entity_instance): @@ -22,13 +25,13 @@ def is_entity(inst): def express_len(v): if isinstance(v, ifcopenshell.entity_instance) and (not is_entity(v)): v = v[0] - elif v is None or v is INDETERMINATE: + elif is_indeterminate(v): return INDETERMINATE return len(v) old_range = range def range(*args): - if INDETERMINATE in args: + if any(map(is_indeterminate, args)): return yield from old_range(*args) sizeof = express_len @@ -149,2392 +152,2392 @@ class enum_namespace: def __getattr__(self, k): return express_getattr(k, 'upper', INDETERMINATE)() IfcActionRequestTypeEnum = enum_namespace() -email = express_getattr(IfcActionRequestTypeEnum, 'EMAIL', INDETERMINATE) -fax = express_getattr(IfcActionRequestTypeEnum, 'FAX', INDETERMINATE) -phone = express_getattr(IfcActionRequestTypeEnum, 'PHONE', INDETERMINATE) -post = express_getattr(IfcActionRequestTypeEnum, 'POST', INDETERMINATE) -verbal = express_getattr(IfcActionRequestTypeEnum, 'VERBAL', INDETERMINATE) -userdefined = express_getattr(IfcActionRequestTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionRequestTypeEnum, 'NOTDEFINED', INDETERMINATE) +email = IfcActionRequestTypeEnum.EMAIL +fax = IfcActionRequestTypeEnum.FAX +phone = IfcActionRequestTypeEnum.PHONE +post = IfcActionRequestTypeEnum.POST +verbal = IfcActionRequestTypeEnum.VERBAL +userdefined = IfcActionRequestTypeEnum.USERDEFINED +notdefined = IfcActionRequestTypeEnum.NOTDEFINED IfcActionSourceTypeEnum = enum_namespace() -dead_load_g = express_getattr(IfcActionSourceTypeEnum, 'DEAD_LOAD_G', INDETERMINATE) -completion_g1 = express_getattr(IfcActionSourceTypeEnum, 'COMPLETION_G1', INDETERMINATE) -live_load_q = express_getattr(IfcActionSourceTypeEnum, 'LIVE_LOAD_Q', INDETERMINATE) -snow_s = express_getattr(IfcActionSourceTypeEnum, 'SNOW_S', INDETERMINATE) -wind_w = express_getattr(IfcActionSourceTypeEnum, 'WIND_W', INDETERMINATE) -prestressing_p = express_getattr(IfcActionSourceTypeEnum, 'PRESTRESSING_P', INDETERMINATE) -settlement_u = express_getattr(IfcActionSourceTypeEnum, 'SETTLEMENT_U', INDETERMINATE) -temperature_t = express_getattr(IfcActionSourceTypeEnum, 'TEMPERATURE_T', INDETERMINATE) -earthquake_e = express_getattr(IfcActionSourceTypeEnum, 'EARTHQUAKE_E', INDETERMINATE) -fire = express_getattr(IfcActionSourceTypeEnum, 'FIRE', INDETERMINATE) -impulse = express_getattr(IfcActionSourceTypeEnum, 'IMPULSE', INDETERMINATE) -impact = express_getattr(IfcActionSourceTypeEnum, 'IMPACT', INDETERMINATE) -transport = express_getattr(IfcActionSourceTypeEnum, 'TRANSPORT', INDETERMINATE) -erection = express_getattr(IfcActionSourceTypeEnum, 'ERECTION', INDETERMINATE) -propping = express_getattr(IfcActionSourceTypeEnum, 'PROPPING', INDETERMINATE) -system_imperfection = express_getattr(IfcActionSourceTypeEnum, 'SYSTEM_IMPERFECTION', INDETERMINATE) -shrinkage = express_getattr(IfcActionSourceTypeEnum, 'SHRINKAGE', INDETERMINATE) -creep = express_getattr(IfcActionSourceTypeEnum, 'CREEP', INDETERMINATE) -lack_of_fit = express_getattr(IfcActionSourceTypeEnum, 'LACK_OF_FIT', INDETERMINATE) -buoyancy = express_getattr(IfcActionSourceTypeEnum, 'BUOYANCY', INDETERMINATE) -ice = express_getattr(IfcActionSourceTypeEnum, 'ICE', INDETERMINATE) -current = express_getattr(IfcActionSourceTypeEnum, 'CURRENT', INDETERMINATE) -wave = express_getattr(IfcActionSourceTypeEnum, 'WAVE', INDETERMINATE) -rain = express_getattr(IfcActionSourceTypeEnum, 'RAIN', INDETERMINATE) -brakes = express_getattr(IfcActionSourceTypeEnum, 'BRAKES', INDETERMINATE) -userdefined = express_getattr(IfcActionSourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionSourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +dead_load_g = IfcActionSourceTypeEnum.DEAD_LOAD_G +completion_g1 = IfcActionSourceTypeEnum.COMPLETION_G1 +live_load_q = IfcActionSourceTypeEnum.LIVE_LOAD_Q +snow_s = IfcActionSourceTypeEnum.SNOW_S +wind_w = IfcActionSourceTypeEnum.WIND_W +prestressing_p = IfcActionSourceTypeEnum.PRESTRESSING_P +settlement_u = IfcActionSourceTypeEnum.SETTLEMENT_U +temperature_t = IfcActionSourceTypeEnum.TEMPERATURE_T +earthquake_e = IfcActionSourceTypeEnum.EARTHQUAKE_E +fire = IfcActionSourceTypeEnum.FIRE +impulse = IfcActionSourceTypeEnum.IMPULSE +impact = IfcActionSourceTypeEnum.IMPACT +transport = IfcActionSourceTypeEnum.TRANSPORT +erection = IfcActionSourceTypeEnum.ERECTION +propping = IfcActionSourceTypeEnum.PROPPING +system_imperfection = IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION +shrinkage = IfcActionSourceTypeEnum.SHRINKAGE +creep = IfcActionSourceTypeEnum.CREEP +lack_of_fit = IfcActionSourceTypeEnum.LACK_OF_FIT +buoyancy = IfcActionSourceTypeEnum.BUOYANCY +ice = IfcActionSourceTypeEnum.ICE +current = IfcActionSourceTypeEnum.CURRENT +wave = IfcActionSourceTypeEnum.WAVE +rain = IfcActionSourceTypeEnum.RAIN +brakes = IfcActionSourceTypeEnum.BRAKES +userdefined = IfcActionSourceTypeEnum.USERDEFINED +notdefined = IfcActionSourceTypeEnum.NOTDEFINED IfcActionTypeEnum = enum_namespace() -permanent_g = express_getattr(IfcActionTypeEnum, 'PERMANENT_G', INDETERMINATE) -variable_q = express_getattr(IfcActionTypeEnum, 'VARIABLE_Q', INDETERMINATE) -extraordinary_a = express_getattr(IfcActionTypeEnum, 'EXTRAORDINARY_A', INDETERMINATE) -userdefined = express_getattr(IfcActionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionTypeEnum, 'NOTDEFINED', INDETERMINATE) +permanent_g = IfcActionTypeEnum.PERMANENT_G +variable_q = IfcActionTypeEnum.VARIABLE_Q +extraordinary_a = IfcActionTypeEnum.EXTRAORDINARY_A +userdefined = IfcActionTypeEnum.USERDEFINED +notdefined = IfcActionTypeEnum.NOTDEFINED IfcActuatorTypeEnum = enum_namespace() -electricactuator = express_getattr(IfcActuatorTypeEnum, 'ELECTRICACTUATOR', INDETERMINATE) -handoperatedactuator = express_getattr(IfcActuatorTypeEnum, 'HANDOPERATEDACTUATOR', INDETERMINATE) -hydraulicactuator = express_getattr(IfcActuatorTypeEnum, 'HYDRAULICACTUATOR', INDETERMINATE) -pneumaticactuator = express_getattr(IfcActuatorTypeEnum, 'PNEUMATICACTUATOR', INDETERMINATE) -thermostaticactuator = express_getattr(IfcActuatorTypeEnum, 'THERMOSTATICACTUATOR', INDETERMINATE) -userdefined = express_getattr(IfcActuatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActuatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +electricactuator = IfcActuatorTypeEnum.ELECTRICACTUATOR +handoperatedactuator = IfcActuatorTypeEnum.HANDOPERATEDACTUATOR +hydraulicactuator = IfcActuatorTypeEnum.HYDRAULICACTUATOR +pneumaticactuator = IfcActuatorTypeEnum.PNEUMATICACTUATOR +thermostaticactuator = IfcActuatorTypeEnum.THERMOSTATICACTUATOR +userdefined = IfcActuatorTypeEnum.USERDEFINED +notdefined = IfcActuatorTypeEnum.NOTDEFINED IfcAddressTypeEnum = enum_namespace() -office = express_getattr(IfcAddressTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcAddressTypeEnum, 'SITE', INDETERMINATE) -home = express_getattr(IfcAddressTypeEnum, 'HOME', INDETERMINATE) -distributionpoint = express_getattr(IfcAddressTypeEnum, 'DISTRIBUTIONPOINT', INDETERMINATE) -userdefined = express_getattr(IfcAddressTypeEnum, 'USERDEFINED', INDETERMINATE) +office = IfcAddressTypeEnum.OFFICE +site = IfcAddressTypeEnum.SITE +home = IfcAddressTypeEnum.HOME +distributionpoint = IfcAddressTypeEnum.DISTRIBUTIONPOINT +userdefined = IfcAddressTypeEnum.USERDEFINED IfcAirTerminalBoxTypeEnum = enum_namespace() -constantflow = express_getattr(IfcAirTerminalBoxTypeEnum, 'CONSTANTFLOW', INDETERMINATE) -variableflowpressuredependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREDEPENDANT', INDETERMINATE) -variableflowpressureindependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREINDEPENDANT', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +constantflow = IfcAirTerminalBoxTypeEnum.CONSTANTFLOW +variableflowpressuredependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT +variableflowpressureindependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT +userdefined = IfcAirTerminalBoxTypeEnum.USERDEFINED +notdefined = IfcAirTerminalBoxTypeEnum.NOTDEFINED IfcAirTerminalTypeEnum = enum_namespace() -diffuser = express_getattr(IfcAirTerminalTypeEnum, 'DIFFUSER', INDETERMINATE) -grille = express_getattr(IfcAirTerminalTypeEnum, 'GRILLE', INDETERMINATE) -louvre = express_getattr(IfcAirTerminalTypeEnum, 'LOUVRE', INDETERMINATE) -register = express_getattr(IfcAirTerminalTypeEnum, 'REGISTER', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +diffuser = IfcAirTerminalTypeEnum.DIFFUSER +grille = IfcAirTerminalTypeEnum.GRILLE +louvre = IfcAirTerminalTypeEnum.LOUVRE +register = IfcAirTerminalTypeEnum.REGISTER +userdefined = IfcAirTerminalTypeEnum.USERDEFINED +notdefined = IfcAirTerminalTypeEnum.NOTDEFINED IfcAirToAirHeatRecoveryTypeEnum = enum_namespace() -fixedplatecounterflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECOUNTERFLOWEXCHANGER', INDETERMINATE) -fixedplatecrossflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECROSSFLOWEXCHANGER', INDETERMINATE) -fixedplateparallelflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATEPARALLELFLOWEXCHANGER', INDETERMINATE) -rotarywheel = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'ROTARYWHEEL', INDETERMINATE) -runaroundcoilloop = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'RUNAROUNDCOILLOOP', INDETERMINATE) -heatpipe = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'HEATPIPE', INDETERMINATE) -twintowerenthalpyrecoveryloops = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'TWINTOWERENTHALPYRECOVERYLOOPS', INDETERMINATE) -thermosiphonsealedtubeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONSEALEDTUBEHEATEXCHANGERS', INDETERMINATE) -thermosiphoncoiltypeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONCOILTYPEHEATEXCHANGERS', INDETERMINATE) -userdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'NOTDEFINED', INDETERMINATE) +fixedplatecounterflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER +fixedplatecrossflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER +fixedplateparallelflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER +rotarywheel = IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL +runaroundcoilloop = IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP +heatpipe = IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE +twintowerenthalpyrecoveryloops = IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS +thermosiphonsealedtubeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS +thermosiphoncoiltypeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS +userdefined = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED +notdefined = IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED IfcAlarmTypeEnum = enum_namespace() -bell = express_getattr(IfcAlarmTypeEnum, 'BELL', INDETERMINATE) -breakglassbutton = express_getattr(IfcAlarmTypeEnum, 'BREAKGLASSBUTTON', INDETERMINATE) -light = express_getattr(IfcAlarmTypeEnum, 'LIGHT', INDETERMINATE) -manualpullbox = express_getattr(IfcAlarmTypeEnum, 'MANUALPULLBOX', INDETERMINATE) -siren = express_getattr(IfcAlarmTypeEnum, 'SIREN', INDETERMINATE) -whistle = express_getattr(IfcAlarmTypeEnum, 'WHISTLE', INDETERMINATE) -railwaycrocodile = express_getattr(IfcAlarmTypeEnum, 'RAILWAYCROCODILE', INDETERMINATE) -railwaydetonator = express_getattr(IfcAlarmTypeEnum, 'RAILWAYDETONATOR', INDETERMINATE) -userdefined = express_getattr(IfcAlarmTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlarmTypeEnum, 'NOTDEFINED', INDETERMINATE) +bell = IfcAlarmTypeEnum.BELL +breakglassbutton = IfcAlarmTypeEnum.BREAKGLASSBUTTON +light = IfcAlarmTypeEnum.LIGHT +manualpullbox = IfcAlarmTypeEnum.MANUALPULLBOX +siren = IfcAlarmTypeEnum.SIREN +whistle = IfcAlarmTypeEnum.WHISTLE +railwaycrocodile = IfcAlarmTypeEnum.RAILWAYCROCODILE +railwaydetonator = IfcAlarmTypeEnum.RAILWAYDETONATOR +userdefined = IfcAlarmTypeEnum.USERDEFINED +notdefined = IfcAlarmTypeEnum.NOTDEFINED IfcAlignmentCantSegmentTypeEnum = enum_namespace() -blosscurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'BLOSSCURVE', INDETERMINATE) -constantcant = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'CONSTANTCANT', INDETERMINATE) -cosinecurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'COSINECURVE', INDETERMINATE) -helmertcurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'HELMERTCURVE', INDETERMINATE) -lineartransition = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'LINEARTRANSITION', INDETERMINATE) -sinecurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'SINECURVE', INDETERMINATE) -viennesebend = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'VIENNESEBEND', INDETERMINATE) +blosscurve = IfcAlignmentCantSegmentTypeEnum.BLOSSCURVE +constantcant = IfcAlignmentCantSegmentTypeEnum.CONSTANTCANT +cosinecurve = IfcAlignmentCantSegmentTypeEnum.COSINECURVE +helmertcurve = IfcAlignmentCantSegmentTypeEnum.HELMERTCURVE +lineartransition = IfcAlignmentCantSegmentTypeEnum.LINEARTRANSITION +sinecurve = IfcAlignmentCantSegmentTypeEnum.SINECURVE +viennesebend = IfcAlignmentCantSegmentTypeEnum.VIENNESEBEND IfcAlignmentHorizontalSegmentTypeEnum = enum_namespace() -line = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'LINE', INDETERMINATE) -circulararc = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CIRCULARARC', INDETERMINATE) -clothoid = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CLOTHOID', INDETERMINATE) -cubic = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CUBIC', INDETERMINATE) -helmertcurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'HELMERTCURVE', INDETERMINATE) -blosscurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'BLOSSCURVE', INDETERMINATE) -cosinecurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'COSINECURVE', INDETERMINATE) -sinecurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'SINECURVE', INDETERMINATE) -viennesebend = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'VIENNESEBEND', INDETERMINATE) +line = IfcAlignmentHorizontalSegmentTypeEnum.LINE +circulararc = IfcAlignmentHorizontalSegmentTypeEnum.CIRCULARARC +clothoid = IfcAlignmentHorizontalSegmentTypeEnum.CLOTHOID +cubic = IfcAlignmentHorizontalSegmentTypeEnum.CUBIC +helmertcurve = IfcAlignmentHorizontalSegmentTypeEnum.HELMERTCURVE +blosscurve = IfcAlignmentHorizontalSegmentTypeEnum.BLOSSCURVE +cosinecurve = IfcAlignmentHorizontalSegmentTypeEnum.COSINECURVE +sinecurve = IfcAlignmentHorizontalSegmentTypeEnum.SINECURVE +viennesebend = IfcAlignmentHorizontalSegmentTypeEnum.VIENNESEBEND IfcAlignmentTypeEnum = enum_namespace() -userdefined = express_getattr(IfcAlignmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlignmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcAlignmentTypeEnum.USERDEFINED +notdefined = IfcAlignmentTypeEnum.NOTDEFINED IfcAlignmentVerticalSegmentTypeEnum = enum_namespace() -constantgradient = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CONSTANTGRADIENT', INDETERMINATE) -circulararc = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CIRCULARARC', INDETERMINATE) -parabolicarc = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'PARABOLICARC', INDETERMINATE) -clothoid = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CLOTHOID', INDETERMINATE) +constantgradient = IfcAlignmentVerticalSegmentTypeEnum.CONSTANTGRADIENT +circulararc = IfcAlignmentVerticalSegmentTypeEnum.CIRCULARARC +parabolicarc = IfcAlignmentVerticalSegmentTypeEnum.PARABOLICARC +clothoid = IfcAlignmentVerticalSegmentTypeEnum.CLOTHOID IfcAnalysisModelTypeEnum = enum_namespace() -in_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'IN_PLANE_LOADING_2D', INDETERMINATE) -out_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'OUT_PLANE_LOADING_2D', INDETERMINATE) -loading_3d = express_getattr(IfcAnalysisModelTypeEnum, 'LOADING_3D', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisModelTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisModelTypeEnum, 'NOTDEFINED', INDETERMINATE) +in_plane_loading_2d = IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D +out_plane_loading_2d = IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D +loading_3d = IfcAnalysisModelTypeEnum.LOADING_3D +userdefined = IfcAnalysisModelTypeEnum.USERDEFINED +notdefined = IfcAnalysisModelTypeEnum.NOTDEFINED IfcAnalysisTheoryTypeEnum = enum_namespace() -first_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FIRST_ORDER_THEORY', INDETERMINATE) -second_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'SECOND_ORDER_THEORY', INDETERMINATE) -third_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'THIRD_ORDER_THEORY', INDETERMINATE) -full_nonlinear_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FULL_NONLINEAR_THEORY', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +first_order_theory = IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY +second_order_theory = IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY +third_order_theory = IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY +full_nonlinear_theory = IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY +userdefined = IfcAnalysisTheoryTypeEnum.USERDEFINED +notdefined = IfcAnalysisTheoryTypeEnum.NOTDEFINED IfcAnnotationTypeEnum = enum_namespace() -assumedpoint = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDPOINT', INDETERMINATE) -asbuiltarea = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTAREA', INDETERMINATE) -asbuiltline = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTLINE', INDETERMINATE) -non_physical_signal = express_getattr(IfcAnnotationTypeEnum, 'NON_PHYSICAL_SIGNAL', INDETERMINATE) -assumedline = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDLINE', INDETERMINATE) -widthevent = express_getattr(IfcAnnotationTypeEnum, 'WIDTHEVENT', INDETERMINATE) -assumedarea = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDAREA', INDETERMINATE) -superelevationevent = express_getattr(IfcAnnotationTypeEnum, 'SUPERELEVATIONEVENT', INDETERMINATE) -asbuiltpoint = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTPOINT', INDETERMINATE) -userdefined = express_getattr(IfcAnnotationTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnnotationTypeEnum, 'NOTDEFINED', INDETERMINATE) +assumedpoint = IfcAnnotationTypeEnum.ASSUMEDPOINT +asbuiltarea = IfcAnnotationTypeEnum.ASBUILTAREA +asbuiltline = IfcAnnotationTypeEnum.ASBUILTLINE +non_physical_signal = IfcAnnotationTypeEnum.NON_PHYSICAL_SIGNAL +assumedline = IfcAnnotationTypeEnum.ASSUMEDLINE +widthevent = IfcAnnotationTypeEnum.WIDTHEVENT +assumedarea = IfcAnnotationTypeEnum.ASSUMEDAREA +superelevationevent = IfcAnnotationTypeEnum.SUPERELEVATIONEVENT +asbuiltpoint = IfcAnnotationTypeEnum.ASBUILTPOINT +userdefined = IfcAnnotationTypeEnum.USERDEFINED +notdefined = IfcAnnotationTypeEnum.NOTDEFINED IfcArithmeticOperatorEnum = enum_namespace() -add = express_getattr(IfcArithmeticOperatorEnum, 'ADD', INDETERMINATE) -divide = express_getattr(IfcArithmeticOperatorEnum, 'DIVIDE', INDETERMINATE) -multiply = express_getattr(IfcArithmeticOperatorEnum, 'MULTIPLY', INDETERMINATE) -subtract = express_getattr(IfcArithmeticOperatorEnum, 'SUBTRACT', INDETERMINATE) +add = IfcArithmeticOperatorEnum.ADD +divide = IfcArithmeticOperatorEnum.DIVIDE +multiply = IfcArithmeticOperatorEnum.MULTIPLY +subtract = IfcArithmeticOperatorEnum.SUBTRACT IfcAssemblyPlaceEnum = enum_namespace() -site = express_getattr(IfcAssemblyPlaceEnum, 'SITE', INDETERMINATE) -factory = express_getattr(IfcAssemblyPlaceEnum, 'FACTORY', INDETERMINATE) -notdefined = express_getattr(IfcAssemblyPlaceEnum, 'NOTDEFINED', INDETERMINATE) +site = IfcAssemblyPlaceEnum.SITE +factory = IfcAssemblyPlaceEnum.FACTORY +notdefined = IfcAssemblyPlaceEnum.NOTDEFINED IfcAudioVisualApplianceTypeEnum = enum_namespace() -amplifier = express_getattr(IfcAudioVisualApplianceTypeEnum, 'AMPLIFIER', INDETERMINATE) -camera = express_getattr(IfcAudioVisualApplianceTypeEnum, 'CAMERA', INDETERMINATE) -display = express_getattr(IfcAudioVisualApplianceTypeEnum, 'DISPLAY', INDETERMINATE) -microphone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'MICROPHONE', INDETERMINATE) -player = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PLAYER', INDETERMINATE) -projector = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PROJECTOR', INDETERMINATE) -receiver = express_getattr(IfcAudioVisualApplianceTypeEnum, 'RECEIVER', INDETERMINATE) -speaker = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SPEAKER', INDETERMINATE) -switcher = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SWITCHER', INDETERMINATE) -telephone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TELEPHONE', INDETERMINATE) -tuner = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TUNER', INDETERMINATE) -communicationterminal = express_getattr(IfcAudioVisualApplianceTypeEnum, 'COMMUNICATIONTERMINAL', INDETERMINATE) -recordingequipment = express_getattr(IfcAudioVisualApplianceTypeEnum, 'RECORDINGEQUIPMENT', INDETERMINATE) -userdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +amplifier = IfcAudioVisualApplianceTypeEnum.AMPLIFIER +camera = IfcAudioVisualApplianceTypeEnum.CAMERA +display = IfcAudioVisualApplianceTypeEnum.DISPLAY +microphone = IfcAudioVisualApplianceTypeEnum.MICROPHONE +player = IfcAudioVisualApplianceTypeEnum.PLAYER +projector = IfcAudioVisualApplianceTypeEnum.PROJECTOR +receiver = IfcAudioVisualApplianceTypeEnum.RECEIVER +speaker = IfcAudioVisualApplianceTypeEnum.SPEAKER +switcher = IfcAudioVisualApplianceTypeEnum.SWITCHER +telephone = IfcAudioVisualApplianceTypeEnum.TELEPHONE +tuner = IfcAudioVisualApplianceTypeEnum.TUNER +communicationterminal = IfcAudioVisualApplianceTypeEnum.COMMUNICATIONTERMINAL +recordingequipment = IfcAudioVisualApplianceTypeEnum.RECORDINGEQUIPMENT +userdefined = IfcAudioVisualApplianceTypeEnum.USERDEFINED +notdefined = IfcAudioVisualApplianceTypeEnum.NOTDEFINED IfcBSplineCurveForm = enum_namespace() -polyline_form = express_getattr(IfcBSplineCurveForm, 'POLYLINE_FORM', INDETERMINATE) -circular_arc = express_getattr(IfcBSplineCurveForm, 'CIRCULAR_ARC', INDETERMINATE) -elliptic_arc = express_getattr(IfcBSplineCurveForm, 'ELLIPTIC_ARC', INDETERMINATE) -parabolic_arc = express_getattr(IfcBSplineCurveForm, 'PARABOLIC_ARC', INDETERMINATE) -hyperbolic_arc = express_getattr(IfcBSplineCurveForm, 'HYPERBOLIC_ARC', INDETERMINATE) -unspecified = express_getattr(IfcBSplineCurveForm, 'UNSPECIFIED', INDETERMINATE) +polyline_form = IfcBSplineCurveForm.POLYLINE_FORM +circular_arc = IfcBSplineCurveForm.CIRCULAR_ARC +elliptic_arc = IfcBSplineCurveForm.ELLIPTIC_ARC +parabolic_arc = IfcBSplineCurveForm.PARABOLIC_ARC +hyperbolic_arc = IfcBSplineCurveForm.HYPERBOLIC_ARC +unspecified = IfcBSplineCurveForm.UNSPECIFIED IfcBSplineSurfaceForm = enum_namespace() -plane_surf = express_getattr(IfcBSplineSurfaceForm, 'PLANE_SURF', INDETERMINATE) -cylindrical_surf = express_getattr(IfcBSplineSurfaceForm, 'CYLINDRICAL_SURF', INDETERMINATE) -conical_surf = express_getattr(IfcBSplineSurfaceForm, 'CONICAL_SURF', INDETERMINATE) -spherical_surf = express_getattr(IfcBSplineSurfaceForm, 'SPHERICAL_SURF', INDETERMINATE) -toroidal_surf = express_getattr(IfcBSplineSurfaceForm, 'TOROIDAL_SURF', INDETERMINATE) -surf_of_revolution = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_REVOLUTION', INDETERMINATE) -ruled_surf = express_getattr(IfcBSplineSurfaceForm, 'RULED_SURF', INDETERMINATE) -generalised_cone = express_getattr(IfcBSplineSurfaceForm, 'GENERALISED_CONE', INDETERMINATE) -quadric_surf = express_getattr(IfcBSplineSurfaceForm, 'QUADRIC_SURF', INDETERMINATE) -surf_of_linear_extrusion = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_LINEAR_EXTRUSION', INDETERMINATE) -unspecified = express_getattr(IfcBSplineSurfaceForm, 'UNSPECIFIED', INDETERMINATE) +plane_surf = IfcBSplineSurfaceForm.PLANE_SURF +cylindrical_surf = IfcBSplineSurfaceForm.CYLINDRICAL_SURF +conical_surf = IfcBSplineSurfaceForm.CONICAL_SURF +spherical_surf = IfcBSplineSurfaceForm.SPHERICAL_SURF +toroidal_surf = IfcBSplineSurfaceForm.TOROIDAL_SURF +surf_of_revolution = IfcBSplineSurfaceForm.SURF_OF_REVOLUTION +ruled_surf = IfcBSplineSurfaceForm.RULED_SURF +generalised_cone = IfcBSplineSurfaceForm.GENERALISED_CONE +quadric_surf = IfcBSplineSurfaceForm.QUADRIC_SURF +surf_of_linear_extrusion = IfcBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION +unspecified = IfcBSplineSurfaceForm.UNSPECIFIED IfcBeamTypeEnum = enum_namespace() -beam = express_getattr(IfcBeamTypeEnum, 'BEAM', INDETERMINATE) -joist = express_getattr(IfcBeamTypeEnum, 'JOIST', INDETERMINATE) -hollowcore = express_getattr(IfcBeamTypeEnum, 'HOLLOWCORE', INDETERMINATE) -lintel = express_getattr(IfcBeamTypeEnum, 'LINTEL', INDETERMINATE) -spandrel = express_getattr(IfcBeamTypeEnum, 'SPANDREL', INDETERMINATE) -t_beam = express_getattr(IfcBeamTypeEnum, 'T_BEAM', INDETERMINATE) -girder_segment = express_getattr(IfcBeamTypeEnum, 'GIRDER_SEGMENT', INDETERMINATE) -diaphragm = express_getattr(IfcBeamTypeEnum, 'DIAPHRAGM', INDETERMINATE) -piercap = express_getattr(IfcBeamTypeEnum, 'PIERCAP', INDETERMINATE) -hatstone = express_getattr(IfcBeamTypeEnum, 'HATSTONE', INDETERMINATE) -cornice = express_getattr(IfcBeamTypeEnum, 'CORNICE', INDETERMINATE) -edgebeam = express_getattr(IfcBeamTypeEnum, 'EDGEBEAM', INDETERMINATE) -userdefined = express_getattr(IfcBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +beam = IfcBeamTypeEnum.BEAM +joist = IfcBeamTypeEnum.JOIST +hollowcore = IfcBeamTypeEnum.HOLLOWCORE +lintel = IfcBeamTypeEnum.LINTEL +spandrel = IfcBeamTypeEnum.SPANDREL +t_beam = IfcBeamTypeEnum.T_BEAM +girder_segment = IfcBeamTypeEnum.GIRDER_SEGMENT +diaphragm = IfcBeamTypeEnum.DIAPHRAGM +piercap = IfcBeamTypeEnum.PIERCAP +hatstone = IfcBeamTypeEnum.HATSTONE +cornice = IfcBeamTypeEnum.CORNICE +edgebeam = IfcBeamTypeEnum.EDGEBEAM +userdefined = IfcBeamTypeEnum.USERDEFINED +notdefined = IfcBeamTypeEnum.NOTDEFINED IfcBearingTypeDisplacementEnum = enum_namespace() -fixed_movement = express_getattr(IfcBearingTypeDisplacementEnum, 'FIXED_MOVEMENT', INDETERMINATE) -guided_longitudinal = express_getattr(IfcBearingTypeDisplacementEnum, 'GUIDED_LONGITUDINAL', INDETERMINATE) -guided_transversal = express_getattr(IfcBearingTypeDisplacementEnum, 'GUIDED_TRANSVERSAL', INDETERMINATE) -free_movement = express_getattr(IfcBearingTypeDisplacementEnum, 'FREE_MOVEMENT', INDETERMINATE) -notdefined = express_getattr(IfcBearingTypeDisplacementEnum, 'NOTDEFINED', INDETERMINATE) +fixed_movement = IfcBearingTypeDisplacementEnum.FIXED_MOVEMENT +guided_longitudinal = IfcBearingTypeDisplacementEnum.GUIDED_LONGITUDINAL +guided_transversal = IfcBearingTypeDisplacementEnum.GUIDED_TRANSVERSAL +free_movement = IfcBearingTypeDisplacementEnum.FREE_MOVEMENT +notdefined = IfcBearingTypeDisplacementEnum.NOTDEFINED IfcBearingTypeEnum = enum_namespace() -cylindrical = express_getattr(IfcBearingTypeEnum, 'CYLINDRICAL', INDETERMINATE) -spherical = express_getattr(IfcBearingTypeEnum, 'SPHERICAL', INDETERMINATE) -elastomeric = express_getattr(IfcBearingTypeEnum, 'ELASTOMERIC', INDETERMINATE) -pot = express_getattr(IfcBearingTypeEnum, 'POT', INDETERMINATE) -guide = express_getattr(IfcBearingTypeEnum, 'GUIDE', INDETERMINATE) -rocker = express_getattr(IfcBearingTypeEnum, 'ROCKER', INDETERMINATE) -roller = express_getattr(IfcBearingTypeEnum, 'ROLLER', INDETERMINATE) -disk = express_getattr(IfcBearingTypeEnum, 'DISK', INDETERMINATE) -userdefined = express_getattr(IfcBearingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBearingTypeEnum, 'NOTDEFINED', INDETERMINATE) +cylindrical = IfcBearingTypeEnum.CYLINDRICAL +spherical = IfcBearingTypeEnum.SPHERICAL +elastomeric = IfcBearingTypeEnum.ELASTOMERIC +pot = IfcBearingTypeEnum.POT +guide = IfcBearingTypeEnum.GUIDE +rocker = IfcBearingTypeEnum.ROCKER +roller = IfcBearingTypeEnum.ROLLER +disk = IfcBearingTypeEnum.DISK +userdefined = IfcBearingTypeEnum.USERDEFINED +notdefined = IfcBearingTypeEnum.NOTDEFINED IfcBenchmarkEnum = enum_namespace() -greaterthan = express_getattr(IfcBenchmarkEnum, 'GREATERTHAN', INDETERMINATE) -greaterthanorequalto = express_getattr(IfcBenchmarkEnum, 'GREATERTHANOREQUALTO', INDETERMINATE) -lessthan = express_getattr(IfcBenchmarkEnum, 'LESSTHAN', INDETERMINATE) -lessthanorequalto = express_getattr(IfcBenchmarkEnum, 'LESSTHANOREQUALTO', INDETERMINATE) -equalto = express_getattr(IfcBenchmarkEnum, 'EQUALTO', INDETERMINATE) -notequalto = express_getattr(IfcBenchmarkEnum, 'NOTEQUALTO', INDETERMINATE) -includes = express_getattr(IfcBenchmarkEnum, 'INCLUDES', INDETERMINATE) -notincludes = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDES', INDETERMINATE) -includedin = express_getattr(IfcBenchmarkEnum, 'INCLUDEDIN', INDETERMINATE) -notincludedin = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDEDIN', INDETERMINATE) +greaterthan = IfcBenchmarkEnum.GREATERTHAN +greaterthanorequalto = IfcBenchmarkEnum.GREATERTHANOREQUALTO +lessthan = IfcBenchmarkEnum.LESSTHAN +lessthanorequalto = IfcBenchmarkEnum.LESSTHANOREQUALTO +equalto = IfcBenchmarkEnum.EQUALTO +notequalto = IfcBenchmarkEnum.NOTEQUALTO +includes = IfcBenchmarkEnum.INCLUDES +notincludes = IfcBenchmarkEnum.NOTINCLUDES +includedin = IfcBenchmarkEnum.INCLUDEDIN +notincludedin = IfcBenchmarkEnum.NOTINCLUDEDIN IfcBoilerTypeEnum = enum_namespace() -water = express_getattr(IfcBoilerTypeEnum, 'WATER', INDETERMINATE) -steam = express_getattr(IfcBoilerTypeEnum, 'STEAM', INDETERMINATE) -userdefined = express_getattr(IfcBoilerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBoilerTypeEnum, 'NOTDEFINED', INDETERMINATE) +water = IfcBoilerTypeEnum.WATER +steam = IfcBoilerTypeEnum.STEAM +userdefined = IfcBoilerTypeEnum.USERDEFINED +notdefined = IfcBoilerTypeEnum.NOTDEFINED IfcBooleanOperator = enum_namespace() -union = express_getattr(IfcBooleanOperator, 'UNION', INDETERMINATE) -intersection = express_getattr(IfcBooleanOperator, 'INTERSECTION', INDETERMINATE) -difference = express_getattr(IfcBooleanOperator, 'DIFFERENCE', INDETERMINATE) +union = IfcBooleanOperator.UNION +intersection = IfcBooleanOperator.INTERSECTION +difference = IfcBooleanOperator.DIFFERENCE IfcBridgePartTypeEnum = enum_namespace() -abutment = express_getattr(IfcBridgePartTypeEnum, 'ABUTMENT', INDETERMINATE) -deck = express_getattr(IfcBridgePartTypeEnum, 'DECK', INDETERMINATE) -deck_segment = express_getattr(IfcBridgePartTypeEnum, 'DECK_SEGMENT', INDETERMINATE) -foundation = express_getattr(IfcBridgePartTypeEnum, 'FOUNDATION', INDETERMINATE) -pier = express_getattr(IfcBridgePartTypeEnum, 'PIER', INDETERMINATE) -pier_segment = express_getattr(IfcBridgePartTypeEnum, 'PIER_SEGMENT', INDETERMINATE) -pylon = express_getattr(IfcBridgePartTypeEnum, 'PYLON', INDETERMINATE) -substructure = express_getattr(IfcBridgePartTypeEnum, 'SUBSTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcBridgePartTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -surfacestructure = express_getattr(IfcBridgePartTypeEnum, 'SURFACESTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcBridgePartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBridgePartTypeEnum, 'NOTDEFINED', INDETERMINATE) +abutment = IfcBridgePartTypeEnum.ABUTMENT +deck = IfcBridgePartTypeEnum.DECK +deck_segment = IfcBridgePartTypeEnum.DECK_SEGMENT +foundation = IfcBridgePartTypeEnum.FOUNDATION +pier = IfcBridgePartTypeEnum.PIER +pier_segment = IfcBridgePartTypeEnum.PIER_SEGMENT +pylon = IfcBridgePartTypeEnum.PYLON +substructure = IfcBridgePartTypeEnum.SUBSTRUCTURE +superstructure = IfcBridgePartTypeEnum.SUPERSTRUCTURE +surfacestructure = IfcBridgePartTypeEnum.SURFACESTRUCTURE +userdefined = IfcBridgePartTypeEnum.USERDEFINED +notdefined = IfcBridgePartTypeEnum.NOTDEFINED IfcBridgeTypeEnum = enum_namespace() -arched = express_getattr(IfcBridgeTypeEnum, 'ARCHED', INDETERMINATE) -cable_stayed = express_getattr(IfcBridgeTypeEnum, 'CABLE_STAYED', INDETERMINATE) -cantilever = express_getattr(IfcBridgeTypeEnum, 'CANTILEVER', INDETERMINATE) -culvert = express_getattr(IfcBridgeTypeEnum, 'CULVERT', INDETERMINATE) -framework = express_getattr(IfcBridgeTypeEnum, 'FRAMEWORK', INDETERMINATE) -girder = express_getattr(IfcBridgeTypeEnum, 'GIRDER', INDETERMINATE) -suspension = express_getattr(IfcBridgeTypeEnum, 'SUSPENSION', INDETERMINATE) -truss = express_getattr(IfcBridgeTypeEnum, 'TRUSS', INDETERMINATE) -userdefined = express_getattr(IfcBridgeTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBridgeTypeEnum, 'NOTDEFINED', INDETERMINATE) +arched = IfcBridgeTypeEnum.ARCHED +cable_stayed = IfcBridgeTypeEnum.CABLE_STAYED +cantilever = IfcBridgeTypeEnum.CANTILEVER +culvert = IfcBridgeTypeEnum.CULVERT +framework = IfcBridgeTypeEnum.FRAMEWORK +girder = IfcBridgeTypeEnum.GIRDER +suspension = IfcBridgeTypeEnum.SUSPENSION +truss = IfcBridgeTypeEnum.TRUSS +userdefined = IfcBridgeTypeEnum.USERDEFINED +notdefined = IfcBridgeTypeEnum.NOTDEFINED IfcBuildingElementPartTypeEnum = enum_namespace() -insulation = express_getattr(IfcBuildingElementPartTypeEnum, 'INSULATION', INDETERMINATE) -precastpanel = express_getattr(IfcBuildingElementPartTypeEnum, 'PRECASTPANEL', INDETERMINATE) -apron = express_getattr(IfcBuildingElementPartTypeEnum, 'APRON', INDETERMINATE) -armourunit = express_getattr(IfcBuildingElementPartTypeEnum, 'ARMOURUNIT', INDETERMINATE) -safetycage = express_getattr(IfcBuildingElementPartTypeEnum, 'SAFETYCAGE', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +insulation = IfcBuildingElementPartTypeEnum.INSULATION +precastpanel = IfcBuildingElementPartTypeEnum.PRECASTPANEL +apron = IfcBuildingElementPartTypeEnum.APRON +armourunit = IfcBuildingElementPartTypeEnum.ARMOURUNIT +safetycage = IfcBuildingElementPartTypeEnum.SAFETYCAGE +userdefined = IfcBuildingElementPartTypeEnum.USERDEFINED +notdefined = IfcBuildingElementPartTypeEnum.NOTDEFINED IfcBuildingElementProxyTypeEnum = enum_namespace() -complex = express_getattr(IfcBuildingElementProxyTypeEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcBuildingElementProxyTypeEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcBuildingElementProxyTypeEnum, 'PARTIAL', INDETERMINATE) -provisionforvoid = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORVOID', INDETERMINATE) -provisionforspace = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORSPACE', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'NOTDEFINED', INDETERMINATE) +complex = IfcBuildingElementProxyTypeEnum.COMPLEX +element = IfcBuildingElementProxyTypeEnum.ELEMENT +partial = IfcBuildingElementProxyTypeEnum.PARTIAL +provisionforvoid = IfcBuildingElementProxyTypeEnum.PROVISIONFORVOID +provisionforspace = IfcBuildingElementProxyTypeEnum.PROVISIONFORSPACE +userdefined = IfcBuildingElementProxyTypeEnum.USERDEFINED +notdefined = IfcBuildingElementProxyTypeEnum.NOTDEFINED IfcBuildingSystemTypeEnum = enum_namespace() -fenestration = express_getattr(IfcBuildingSystemTypeEnum, 'FENESTRATION', INDETERMINATE) -foundation = express_getattr(IfcBuildingSystemTypeEnum, 'FOUNDATION', INDETERMINATE) -loadbearing = express_getattr(IfcBuildingSystemTypeEnum, 'LOADBEARING', INDETERMINATE) -outershell = express_getattr(IfcBuildingSystemTypeEnum, 'OUTERSHELL', INDETERMINATE) -shading = express_getattr(IfcBuildingSystemTypeEnum, 'SHADING', INDETERMINATE) -transport = express_getattr(IfcBuildingSystemTypeEnum, 'TRANSPORT', INDETERMINATE) -reinforcing = express_getattr(IfcBuildingSystemTypeEnum, 'REINFORCING', INDETERMINATE) -prestressing = express_getattr(IfcBuildingSystemTypeEnum, 'PRESTRESSING', INDETERMINATE) -erosionprevention = express_getattr(IfcBuildingSystemTypeEnum, 'EROSIONPREVENTION', INDETERMINATE) -userdefined = express_getattr(IfcBuildingSystemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingSystemTypeEnum, 'NOTDEFINED', INDETERMINATE) +fenestration = IfcBuildingSystemTypeEnum.FENESTRATION +foundation = IfcBuildingSystemTypeEnum.FOUNDATION +loadbearing = IfcBuildingSystemTypeEnum.LOADBEARING +outershell = IfcBuildingSystemTypeEnum.OUTERSHELL +shading = IfcBuildingSystemTypeEnum.SHADING +transport = IfcBuildingSystemTypeEnum.TRANSPORT +reinforcing = IfcBuildingSystemTypeEnum.REINFORCING +prestressing = IfcBuildingSystemTypeEnum.PRESTRESSING +erosionprevention = IfcBuildingSystemTypeEnum.EROSIONPREVENTION +userdefined = IfcBuildingSystemTypeEnum.USERDEFINED +notdefined = IfcBuildingSystemTypeEnum.NOTDEFINED IfcBuiltSystemTypeEnum = enum_namespace() -reinforcing = express_getattr(IfcBuiltSystemTypeEnum, 'REINFORCING', INDETERMINATE) -mooring = express_getattr(IfcBuiltSystemTypeEnum, 'MOORING', INDETERMINATE) -outershell = express_getattr(IfcBuiltSystemTypeEnum, 'OUTERSHELL', INDETERMINATE) -trackcircuit = express_getattr(IfcBuiltSystemTypeEnum, 'TRACKCIRCUIT', INDETERMINATE) -erosionprevention = express_getattr(IfcBuiltSystemTypeEnum, 'EROSIONPREVENTION', INDETERMINATE) -foundation = express_getattr(IfcBuiltSystemTypeEnum, 'FOUNDATION', INDETERMINATE) -loadbearing = express_getattr(IfcBuiltSystemTypeEnum, 'LOADBEARING', INDETERMINATE) -shading = express_getattr(IfcBuiltSystemTypeEnum, 'SHADING', INDETERMINATE) -fenestration = express_getattr(IfcBuiltSystemTypeEnum, 'FENESTRATION', INDETERMINATE) -transport = express_getattr(IfcBuiltSystemTypeEnum, 'TRANSPORT', INDETERMINATE) -prestressing = express_getattr(IfcBuiltSystemTypeEnum, 'PRESTRESSING', INDETERMINATE) -userdefined = express_getattr(IfcBuiltSystemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuiltSystemTypeEnum, 'NOTDEFINED', INDETERMINATE) +reinforcing = IfcBuiltSystemTypeEnum.REINFORCING +mooring = IfcBuiltSystemTypeEnum.MOORING +outershell = IfcBuiltSystemTypeEnum.OUTERSHELL +trackcircuit = IfcBuiltSystemTypeEnum.TRACKCIRCUIT +erosionprevention = IfcBuiltSystemTypeEnum.EROSIONPREVENTION +foundation = IfcBuiltSystemTypeEnum.FOUNDATION +loadbearing = IfcBuiltSystemTypeEnum.LOADBEARING +shading = IfcBuiltSystemTypeEnum.SHADING +fenestration = IfcBuiltSystemTypeEnum.FENESTRATION +transport = IfcBuiltSystemTypeEnum.TRANSPORT +prestressing = IfcBuiltSystemTypeEnum.PRESTRESSING +userdefined = IfcBuiltSystemTypeEnum.USERDEFINED +notdefined = IfcBuiltSystemTypeEnum.NOTDEFINED IfcBurnerTypeEnum = enum_namespace() -userdefined = express_getattr(IfcBurnerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBurnerTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcBurnerTypeEnum.USERDEFINED +notdefined = IfcBurnerTypeEnum.NOTDEFINED IfcCableCarrierFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcCableCarrierFittingTypeEnum, 'BEND', INDETERMINATE) -cross = express_getattr(IfcCableCarrierFittingTypeEnum, 'CROSS', INDETERMINATE) -reducer = express_getattr(IfcCableCarrierFittingTypeEnum, 'REDUCER', INDETERMINATE) -tee = express_getattr(IfcCableCarrierFittingTypeEnum, 'TEE', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcCableCarrierFittingTypeEnum.BEND +cross = IfcCableCarrierFittingTypeEnum.CROSS +reducer = IfcCableCarrierFittingTypeEnum.REDUCER +tee = IfcCableCarrierFittingTypeEnum.TEE +userdefined = IfcCableCarrierFittingTypeEnum.USERDEFINED +notdefined = IfcCableCarrierFittingTypeEnum.NOTDEFINED IfcCableCarrierSegmentTypeEnum = enum_namespace() -cableladdersegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLELADDERSEGMENT', INDETERMINATE) -cabletraysegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRAYSEGMENT', INDETERMINATE) -cabletrunkingsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRUNKINGSEGMENT', INDETERMINATE) -conduitsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CONDUITSEGMENT', INDETERMINATE) -cablebracket = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLEBRACKET', INDETERMINATE) -catenarywire = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CATENARYWIRE', INDETERMINATE) -dropper = express_getattr(IfcCableCarrierSegmentTypeEnum, 'DROPPER', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +cableladdersegment = IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT +cabletraysegment = IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT +cabletrunkingsegment = IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT +conduitsegment = IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT +cablebracket = IfcCableCarrierSegmentTypeEnum.CABLEBRACKET +catenarywire = IfcCableCarrierSegmentTypeEnum.CATENARYWIRE +dropper = IfcCableCarrierSegmentTypeEnum.DROPPER +userdefined = IfcCableCarrierSegmentTypeEnum.USERDEFINED +notdefined = IfcCableCarrierSegmentTypeEnum.NOTDEFINED IfcCableFittingTypeEnum = enum_namespace() -connector = express_getattr(IfcCableFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcCableFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcCableFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcCableFittingTypeEnum, 'JUNCTION', INDETERMINATE) -transition = express_getattr(IfcCableFittingTypeEnum, 'TRANSITION', INDETERMINATE) -fanout = express_getattr(IfcCableFittingTypeEnum, 'FANOUT', INDETERMINATE) -userdefined = express_getattr(IfcCableFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +connector = IfcCableFittingTypeEnum.CONNECTOR +entry = IfcCableFittingTypeEnum.ENTRY +exit = IfcCableFittingTypeEnum.EXIT +junction = IfcCableFittingTypeEnum.JUNCTION +transition = IfcCableFittingTypeEnum.TRANSITION +fanout = IfcCableFittingTypeEnum.FANOUT +userdefined = IfcCableFittingTypeEnum.USERDEFINED +notdefined = IfcCableFittingTypeEnum.NOTDEFINED IfcCableSegmentTypeEnum = enum_namespace() -busbarsegment = express_getattr(IfcCableSegmentTypeEnum, 'BUSBARSEGMENT', INDETERMINATE) -cablesegment = express_getattr(IfcCableSegmentTypeEnum, 'CABLESEGMENT', INDETERMINATE) -conductorsegment = express_getattr(IfcCableSegmentTypeEnum, 'CONDUCTORSEGMENT', INDETERMINATE) -coresegment = express_getattr(IfcCableSegmentTypeEnum, 'CORESEGMENT', INDETERMINATE) -contactwiresegment = express_getattr(IfcCableSegmentTypeEnum, 'CONTACTWIRESEGMENT', INDETERMINATE) -fibersegment = express_getattr(IfcCableSegmentTypeEnum, 'FIBERSEGMENT', INDETERMINATE) -fibertube = express_getattr(IfcCableSegmentTypeEnum, 'FIBERTUBE', INDETERMINATE) -opticalcablesegment = express_getattr(IfcCableSegmentTypeEnum, 'OPTICALCABLESEGMENT', INDETERMINATE) -stitchwire = express_getattr(IfcCableSegmentTypeEnum, 'STITCHWIRE', INDETERMINATE) -wirepairsegment = express_getattr(IfcCableSegmentTypeEnum, 'WIREPAIRSEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcCableSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +busbarsegment = IfcCableSegmentTypeEnum.BUSBARSEGMENT +cablesegment = IfcCableSegmentTypeEnum.CABLESEGMENT +conductorsegment = IfcCableSegmentTypeEnum.CONDUCTORSEGMENT +coresegment = IfcCableSegmentTypeEnum.CORESEGMENT +contactwiresegment = IfcCableSegmentTypeEnum.CONTACTWIRESEGMENT +fibersegment = IfcCableSegmentTypeEnum.FIBERSEGMENT +fibertube = IfcCableSegmentTypeEnum.FIBERTUBE +opticalcablesegment = IfcCableSegmentTypeEnum.OPTICALCABLESEGMENT +stitchwire = IfcCableSegmentTypeEnum.STITCHWIRE +wirepairsegment = IfcCableSegmentTypeEnum.WIREPAIRSEGMENT +userdefined = IfcCableSegmentTypeEnum.USERDEFINED +notdefined = IfcCableSegmentTypeEnum.NOTDEFINED IfcCaissonFoundationTypeEnum = enum_namespace() -well = express_getattr(IfcCaissonFoundationTypeEnum, 'WELL', INDETERMINATE) -caisson = express_getattr(IfcCaissonFoundationTypeEnum, 'CAISSON', INDETERMINATE) -userdefined = express_getattr(IfcCaissonFoundationTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCaissonFoundationTypeEnum, 'NOTDEFINED', INDETERMINATE) +well = IfcCaissonFoundationTypeEnum.WELL +caisson = IfcCaissonFoundationTypeEnum.CAISSON +userdefined = IfcCaissonFoundationTypeEnum.USERDEFINED +notdefined = IfcCaissonFoundationTypeEnum.NOTDEFINED IfcChangeActionEnum = enum_namespace() -nochange = express_getattr(IfcChangeActionEnum, 'NOCHANGE', INDETERMINATE) -modified = express_getattr(IfcChangeActionEnum, 'MODIFIED', INDETERMINATE) -added = express_getattr(IfcChangeActionEnum, 'ADDED', INDETERMINATE) -deleted = express_getattr(IfcChangeActionEnum, 'DELETED', INDETERMINATE) -notdefined = express_getattr(IfcChangeActionEnum, 'NOTDEFINED', INDETERMINATE) +nochange = IfcChangeActionEnum.NOCHANGE +modified = IfcChangeActionEnum.MODIFIED +added = IfcChangeActionEnum.ADDED +deleted = IfcChangeActionEnum.DELETED +notdefined = IfcChangeActionEnum.NOTDEFINED IfcChillerTypeEnum = enum_namespace() -aircooled = express_getattr(IfcChillerTypeEnum, 'AIRCOOLED', INDETERMINATE) -watercooled = express_getattr(IfcChillerTypeEnum, 'WATERCOOLED', INDETERMINATE) -heatrecovery = express_getattr(IfcChillerTypeEnum, 'HEATRECOVERY', INDETERMINATE) -userdefined = express_getattr(IfcChillerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChillerTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcChillerTypeEnum.AIRCOOLED +watercooled = IfcChillerTypeEnum.WATERCOOLED +heatrecovery = IfcChillerTypeEnum.HEATRECOVERY +userdefined = IfcChillerTypeEnum.USERDEFINED +notdefined = IfcChillerTypeEnum.NOTDEFINED IfcChimneyTypeEnum = enum_namespace() -userdefined = express_getattr(IfcChimneyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChimneyTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcChimneyTypeEnum.USERDEFINED +notdefined = IfcChimneyTypeEnum.NOTDEFINED IfcCoilTypeEnum = enum_namespace() -dxcoolingcoil = express_getattr(IfcCoilTypeEnum, 'DXCOOLINGCOIL', INDETERMINATE) -electricheatingcoil = express_getattr(IfcCoilTypeEnum, 'ELECTRICHEATINGCOIL', INDETERMINATE) -gasheatingcoil = express_getattr(IfcCoilTypeEnum, 'GASHEATINGCOIL', INDETERMINATE) -hydroniccoil = express_getattr(IfcCoilTypeEnum, 'HYDRONICCOIL', INDETERMINATE) -steamheatingcoil = express_getattr(IfcCoilTypeEnum, 'STEAMHEATINGCOIL', INDETERMINATE) -watercoolingcoil = express_getattr(IfcCoilTypeEnum, 'WATERCOOLINGCOIL', INDETERMINATE) -waterheatingcoil = express_getattr(IfcCoilTypeEnum, 'WATERHEATINGCOIL', INDETERMINATE) -userdefined = express_getattr(IfcCoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +dxcoolingcoil = IfcCoilTypeEnum.DXCOOLINGCOIL +electricheatingcoil = IfcCoilTypeEnum.ELECTRICHEATINGCOIL +gasheatingcoil = IfcCoilTypeEnum.GASHEATINGCOIL +hydroniccoil = IfcCoilTypeEnum.HYDRONICCOIL +steamheatingcoil = IfcCoilTypeEnum.STEAMHEATINGCOIL +watercoolingcoil = IfcCoilTypeEnum.WATERCOOLINGCOIL +waterheatingcoil = IfcCoilTypeEnum.WATERHEATINGCOIL +userdefined = IfcCoilTypeEnum.USERDEFINED +notdefined = IfcCoilTypeEnum.NOTDEFINED IfcColumnTypeEnum = enum_namespace() -column = express_getattr(IfcColumnTypeEnum, 'COLUMN', INDETERMINATE) -pilaster = express_getattr(IfcColumnTypeEnum, 'PILASTER', INDETERMINATE) -pierstem = express_getattr(IfcColumnTypeEnum, 'PIERSTEM', INDETERMINATE) -pierstem_segment = express_getattr(IfcColumnTypeEnum, 'PIERSTEM_SEGMENT', INDETERMINATE) -standcolumn = express_getattr(IfcColumnTypeEnum, 'STANDCOLUMN', INDETERMINATE) -userdefined = express_getattr(IfcColumnTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcColumnTypeEnum, 'NOTDEFINED', INDETERMINATE) +column = IfcColumnTypeEnum.COLUMN +pilaster = IfcColumnTypeEnum.PILASTER +pierstem = IfcColumnTypeEnum.PIERSTEM +pierstem_segment = IfcColumnTypeEnum.PIERSTEM_SEGMENT +standcolumn = IfcColumnTypeEnum.STANDCOLUMN +userdefined = IfcColumnTypeEnum.USERDEFINED +notdefined = IfcColumnTypeEnum.NOTDEFINED IfcCommunicationsApplianceTypeEnum = enum_namespace() -antenna = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ANTENNA', INDETERMINATE) -computer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'COMPUTER', INDETERMINATE) -fax = express_getattr(IfcCommunicationsApplianceTypeEnum, 'FAX', INDETERMINATE) -gateway = express_getattr(IfcCommunicationsApplianceTypeEnum, 'GATEWAY', INDETERMINATE) -modem = express_getattr(IfcCommunicationsApplianceTypeEnum, 'MODEM', INDETERMINATE) -networkappliance = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKAPPLIANCE', INDETERMINATE) -networkbridge = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKBRIDGE', INDETERMINATE) -networkhub = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKHUB', INDETERMINATE) -printer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'PRINTER', INDETERMINATE) -repeater = express_getattr(IfcCommunicationsApplianceTypeEnum, 'REPEATER', INDETERMINATE) -router = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ROUTER', INDETERMINATE) -scanner = express_getattr(IfcCommunicationsApplianceTypeEnum, 'SCANNER', INDETERMINATE) -automaton = express_getattr(IfcCommunicationsApplianceTypeEnum, 'AUTOMATON', INDETERMINATE) -intelligentperipheral = express_getattr(IfcCommunicationsApplianceTypeEnum, 'INTELLIGENTPERIPHERAL', INDETERMINATE) -ipnetworkequipment = express_getattr(IfcCommunicationsApplianceTypeEnum, 'IPNETWORKEQUIPMENT', INDETERMINATE) -opticalnetworkunit = express_getattr(IfcCommunicationsApplianceTypeEnum, 'OPTICALNETWORKUNIT', INDETERMINATE) -telecommand = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TELECOMMAND', INDETERMINATE) -telephonyexchange = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TELEPHONYEXCHANGE', INDETERMINATE) -transitioncomponent = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSITIONCOMPONENT', INDETERMINATE) -transponder = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSPONDER', INDETERMINATE) -transportequipment = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSPORTEQUIPMENT', INDETERMINATE) -opticallineterminal = express_getattr(IfcCommunicationsApplianceTypeEnum, 'OPTICALLINETERMINAL', INDETERMINATE) -linesideelectronicunit = express_getattr(IfcCommunicationsApplianceTypeEnum, 'LINESIDEELECTRONICUNIT', INDETERMINATE) -radioblockcenter = express_getattr(IfcCommunicationsApplianceTypeEnum, 'RADIOBLOCKCENTER', INDETERMINATE) -userdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +antenna = IfcCommunicationsApplianceTypeEnum.ANTENNA +computer = IfcCommunicationsApplianceTypeEnum.COMPUTER +fax = IfcCommunicationsApplianceTypeEnum.FAX +gateway = IfcCommunicationsApplianceTypeEnum.GATEWAY +modem = IfcCommunicationsApplianceTypeEnum.MODEM +networkappliance = IfcCommunicationsApplianceTypeEnum.NETWORKAPPLIANCE +networkbridge = IfcCommunicationsApplianceTypeEnum.NETWORKBRIDGE +networkhub = IfcCommunicationsApplianceTypeEnum.NETWORKHUB +printer = IfcCommunicationsApplianceTypeEnum.PRINTER +repeater = IfcCommunicationsApplianceTypeEnum.REPEATER +router = IfcCommunicationsApplianceTypeEnum.ROUTER +scanner = IfcCommunicationsApplianceTypeEnum.SCANNER +automaton = IfcCommunicationsApplianceTypeEnum.AUTOMATON +intelligentperipheral = IfcCommunicationsApplianceTypeEnum.INTELLIGENTPERIPHERAL +ipnetworkequipment = IfcCommunicationsApplianceTypeEnum.IPNETWORKEQUIPMENT +opticalnetworkunit = IfcCommunicationsApplianceTypeEnum.OPTICALNETWORKUNIT +telecommand = IfcCommunicationsApplianceTypeEnum.TELECOMMAND +telephonyexchange = IfcCommunicationsApplianceTypeEnum.TELEPHONYEXCHANGE +transitioncomponent = IfcCommunicationsApplianceTypeEnum.TRANSITIONCOMPONENT +transponder = IfcCommunicationsApplianceTypeEnum.TRANSPONDER +transportequipment = IfcCommunicationsApplianceTypeEnum.TRANSPORTEQUIPMENT +opticallineterminal = IfcCommunicationsApplianceTypeEnum.OPTICALLINETERMINAL +linesideelectronicunit = IfcCommunicationsApplianceTypeEnum.LINESIDEELECTRONICUNIT +radioblockcenter = IfcCommunicationsApplianceTypeEnum.RADIOBLOCKCENTER +userdefined = IfcCommunicationsApplianceTypeEnum.USERDEFINED +notdefined = IfcCommunicationsApplianceTypeEnum.NOTDEFINED IfcComplexPropertyTemplateTypeEnum = enum_namespace() -p_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'P_COMPLEX', INDETERMINATE) -q_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'Q_COMPLEX', INDETERMINATE) +p_complex = IfcComplexPropertyTemplateTypeEnum.P_COMPLEX +q_complex = IfcComplexPropertyTemplateTypeEnum.Q_COMPLEX IfcCompressorTypeEnum = enum_namespace() -dynamic = express_getattr(IfcCompressorTypeEnum, 'DYNAMIC', INDETERMINATE) -reciprocating = express_getattr(IfcCompressorTypeEnum, 'RECIPROCATING', INDETERMINATE) -rotary = express_getattr(IfcCompressorTypeEnum, 'ROTARY', INDETERMINATE) -scroll = express_getattr(IfcCompressorTypeEnum, 'SCROLL', INDETERMINATE) -trochoidal = express_getattr(IfcCompressorTypeEnum, 'TROCHOIDAL', INDETERMINATE) -singlestage = express_getattr(IfcCompressorTypeEnum, 'SINGLESTAGE', INDETERMINATE) -booster = express_getattr(IfcCompressorTypeEnum, 'BOOSTER', INDETERMINATE) -opentype = express_getattr(IfcCompressorTypeEnum, 'OPENTYPE', INDETERMINATE) -hermetic = express_getattr(IfcCompressorTypeEnum, 'HERMETIC', INDETERMINATE) -semihermetic = express_getattr(IfcCompressorTypeEnum, 'SEMIHERMETIC', INDETERMINATE) -weldedshellhermetic = express_getattr(IfcCompressorTypeEnum, 'WELDEDSHELLHERMETIC', INDETERMINATE) -rollingpiston = express_getattr(IfcCompressorTypeEnum, 'ROLLINGPISTON', INDETERMINATE) -rotaryvane = express_getattr(IfcCompressorTypeEnum, 'ROTARYVANE', INDETERMINATE) -singlescrew = express_getattr(IfcCompressorTypeEnum, 'SINGLESCREW', INDETERMINATE) -twinscrew = express_getattr(IfcCompressorTypeEnum, 'TWINSCREW', INDETERMINATE) -userdefined = express_getattr(IfcCompressorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCompressorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dynamic = IfcCompressorTypeEnum.DYNAMIC +reciprocating = IfcCompressorTypeEnum.RECIPROCATING +rotary = IfcCompressorTypeEnum.ROTARY +scroll = IfcCompressorTypeEnum.SCROLL +trochoidal = IfcCompressorTypeEnum.TROCHOIDAL +singlestage = IfcCompressorTypeEnum.SINGLESTAGE +booster = IfcCompressorTypeEnum.BOOSTER +opentype = IfcCompressorTypeEnum.OPENTYPE +hermetic = IfcCompressorTypeEnum.HERMETIC +semihermetic = IfcCompressorTypeEnum.SEMIHERMETIC +weldedshellhermetic = IfcCompressorTypeEnum.WELDEDSHELLHERMETIC +rollingpiston = IfcCompressorTypeEnum.ROLLINGPISTON +rotaryvane = IfcCompressorTypeEnum.ROTARYVANE +singlescrew = IfcCompressorTypeEnum.SINGLESCREW +twinscrew = IfcCompressorTypeEnum.TWINSCREW +userdefined = IfcCompressorTypeEnum.USERDEFINED +notdefined = IfcCompressorTypeEnum.NOTDEFINED IfcCondenserTypeEnum = enum_namespace() -aircooled = express_getattr(IfcCondenserTypeEnum, 'AIRCOOLED', INDETERMINATE) -evaporativecooled = express_getattr(IfcCondenserTypeEnum, 'EVAPORATIVECOOLED', INDETERMINATE) -watercooled = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLED', INDETERMINATE) -watercooledbrazedplate = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDBRAZEDPLATE', INDETERMINATE) -watercooledshellcoil = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLCOIL', INDETERMINATE) -watercooledshelltube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLTUBE', INDETERMINATE) -watercooledtubeintube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDTUBEINTUBE', INDETERMINATE) -userdefined = express_getattr(IfcCondenserTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCondenserTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcCondenserTypeEnum.AIRCOOLED +evaporativecooled = IfcCondenserTypeEnum.EVAPORATIVECOOLED +watercooled = IfcCondenserTypeEnum.WATERCOOLED +watercooledbrazedplate = IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE +watercooledshellcoil = IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL +watercooledshelltube = IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE +watercooledtubeintube = IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE +userdefined = IfcCondenserTypeEnum.USERDEFINED +notdefined = IfcCondenserTypeEnum.NOTDEFINED IfcConnectionTypeEnum = enum_namespace() -atpath = express_getattr(IfcConnectionTypeEnum, 'ATPATH', INDETERMINATE) -atstart = express_getattr(IfcConnectionTypeEnum, 'ATSTART', INDETERMINATE) -atend = express_getattr(IfcConnectionTypeEnum, 'ATEND', INDETERMINATE) -notdefined = express_getattr(IfcConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +atpath = IfcConnectionTypeEnum.ATPATH +atstart = IfcConnectionTypeEnum.ATSTART +atend = IfcConnectionTypeEnum.ATEND +notdefined = IfcConnectionTypeEnum.NOTDEFINED IfcConstraintEnum = enum_namespace() -hard = express_getattr(IfcConstraintEnum, 'HARD', INDETERMINATE) -soft = express_getattr(IfcConstraintEnum, 'SOFT', INDETERMINATE) -advisory = express_getattr(IfcConstraintEnum, 'ADVISORY', INDETERMINATE) -userdefined = express_getattr(IfcConstraintEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstraintEnum, 'NOTDEFINED', INDETERMINATE) +hard = IfcConstraintEnum.HARD +soft = IfcConstraintEnum.SOFT +advisory = IfcConstraintEnum.ADVISORY +userdefined = IfcConstraintEnum.USERDEFINED +notdefined = IfcConstraintEnum.NOTDEFINED IfcConstructionEquipmentResourceTypeEnum = enum_namespace() -demolishing = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'DEMOLISHING', INDETERMINATE) -earthmoving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'EARTHMOVING', INDETERMINATE) -erecting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'ERECTING', INDETERMINATE) -heating = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'LIGHTING', INDETERMINATE) -paving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PAVING', INDETERMINATE) -pumping = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PUMPING', INDETERMINATE) -transporting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'TRANSPORTING', INDETERMINATE) -userdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +demolishing = IfcConstructionEquipmentResourceTypeEnum.DEMOLISHING +earthmoving = IfcConstructionEquipmentResourceTypeEnum.EARTHMOVING +erecting = IfcConstructionEquipmentResourceTypeEnum.ERECTING +heating = IfcConstructionEquipmentResourceTypeEnum.HEATING +lighting = IfcConstructionEquipmentResourceTypeEnum.LIGHTING +paving = IfcConstructionEquipmentResourceTypeEnum.PAVING +pumping = IfcConstructionEquipmentResourceTypeEnum.PUMPING +transporting = IfcConstructionEquipmentResourceTypeEnum.TRANSPORTING +userdefined = IfcConstructionEquipmentResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionEquipmentResourceTypeEnum.NOTDEFINED IfcConstructionMaterialResourceTypeEnum = enum_namespace() -aggregates = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'AGGREGATES', INDETERMINATE) -concrete = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'DRYWALL', INDETERMINATE) -fuel = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'FUEL', INDETERMINATE) -gypsum = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'GYPSUM', INDETERMINATE) -masonry = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'MASONRY', INDETERMINATE) -metal = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'METAL', INDETERMINATE) -plastic = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'PLASTIC', INDETERMINATE) -wood = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'WOOD', INDETERMINATE) -notdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) -userdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'USERDEFINED', INDETERMINATE) +aggregates = IfcConstructionMaterialResourceTypeEnum.AGGREGATES +concrete = IfcConstructionMaterialResourceTypeEnum.CONCRETE +drywall = IfcConstructionMaterialResourceTypeEnum.DRYWALL +fuel = IfcConstructionMaterialResourceTypeEnum.FUEL +gypsum = IfcConstructionMaterialResourceTypeEnum.GYPSUM +masonry = IfcConstructionMaterialResourceTypeEnum.MASONRY +metal = IfcConstructionMaterialResourceTypeEnum.METAL +plastic = IfcConstructionMaterialResourceTypeEnum.PLASTIC +wood = IfcConstructionMaterialResourceTypeEnum.WOOD +notdefined = IfcConstructionMaterialResourceTypeEnum.NOTDEFINED +userdefined = IfcConstructionMaterialResourceTypeEnum.USERDEFINED IfcConstructionProductResourceTypeEnum = enum_namespace() -assembly = express_getattr(IfcConstructionProductResourceTypeEnum, 'ASSEMBLY', INDETERMINATE) -formwork = express_getattr(IfcConstructionProductResourceTypeEnum, 'FORMWORK', INDETERMINATE) -userdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +assembly = IfcConstructionProductResourceTypeEnum.ASSEMBLY +formwork = IfcConstructionProductResourceTypeEnum.FORMWORK +userdefined = IfcConstructionProductResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionProductResourceTypeEnum.NOTDEFINED IfcControllerTypeEnum = enum_namespace() -floating = express_getattr(IfcControllerTypeEnum, 'FLOATING', INDETERMINATE) -programmable = express_getattr(IfcControllerTypeEnum, 'PROGRAMMABLE', INDETERMINATE) -proportional = express_getattr(IfcControllerTypeEnum, 'PROPORTIONAL', INDETERMINATE) -multiposition = express_getattr(IfcControllerTypeEnum, 'MULTIPOSITION', INDETERMINATE) -twoposition = express_getattr(IfcControllerTypeEnum, 'TWOPOSITION', INDETERMINATE) -userdefined = express_getattr(IfcControllerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcControllerTypeEnum, 'NOTDEFINED', INDETERMINATE) +floating = IfcControllerTypeEnum.FLOATING +programmable = IfcControllerTypeEnum.PROGRAMMABLE +proportional = IfcControllerTypeEnum.PROPORTIONAL +multiposition = IfcControllerTypeEnum.MULTIPOSITION +twoposition = IfcControllerTypeEnum.TWOPOSITION +userdefined = IfcControllerTypeEnum.USERDEFINED +notdefined = IfcControllerTypeEnum.NOTDEFINED IfcConveyorSegmentTypeEnum = enum_namespace() -chuteconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'CHUTECONVEYOR', INDETERMINATE) -beltconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'BELTCONVEYOR', INDETERMINATE) -screwconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'SCREWCONVEYOR', INDETERMINATE) -bucketconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'BUCKETCONVEYOR', INDETERMINATE) -userdefined = express_getattr(IfcConveyorSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConveyorSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +chuteconveyor = IfcConveyorSegmentTypeEnum.CHUTECONVEYOR +beltconveyor = IfcConveyorSegmentTypeEnum.BELTCONVEYOR +screwconveyor = IfcConveyorSegmentTypeEnum.SCREWCONVEYOR +bucketconveyor = IfcConveyorSegmentTypeEnum.BUCKETCONVEYOR +userdefined = IfcConveyorSegmentTypeEnum.USERDEFINED +notdefined = IfcConveyorSegmentTypeEnum.NOTDEFINED IfcCooledBeamTypeEnum = enum_namespace() -active = express_getattr(IfcCooledBeamTypeEnum, 'ACTIVE', INDETERMINATE) -passive = express_getattr(IfcCooledBeamTypeEnum, 'PASSIVE', INDETERMINATE) -userdefined = express_getattr(IfcCooledBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCooledBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +active = IfcCooledBeamTypeEnum.ACTIVE +passive = IfcCooledBeamTypeEnum.PASSIVE +userdefined = IfcCooledBeamTypeEnum.USERDEFINED +notdefined = IfcCooledBeamTypeEnum.NOTDEFINED IfcCoolingTowerTypeEnum = enum_namespace() -naturaldraft = express_getattr(IfcCoolingTowerTypeEnum, 'NATURALDRAFT', INDETERMINATE) -mechanicalinduceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALINDUCEDDRAFT', INDETERMINATE) -mechanicalforceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALFORCEDDRAFT', INDETERMINATE) -userdefined = express_getattr(IfcCoolingTowerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoolingTowerTypeEnum, 'NOTDEFINED', INDETERMINATE) +naturaldraft = IfcCoolingTowerTypeEnum.NATURALDRAFT +mechanicalinduceddraft = IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT +mechanicalforceddraft = IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT +userdefined = IfcCoolingTowerTypeEnum.USERDEFINED +notdefined = IfcCoolingTowerTypeEnum.NOTDEFINED IfcCostItemTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCostItemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostItemTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCostItemTypeEnum.USERDEFINED +notdefined = IfcCostItemTypeEnum.NOTDEFINED IfcCostScheduleTypeEnum = enum_namespace() -budget = express_getattr(IfcCostScheduleTypeEnum, 'BUDGET', INDETERMINATE) -costplan = express_getattr(IfcCostScheduleTypeEnum, 'COSTPLAN', INDETERMINATE) -estimate = express_getattr(IfcCostScheduleTypeEnum, 'ESTIMATE', INDETERMINATE) -tender = express_getattr(IfcCostScheduleTypeEnum, 'TENDER', INDETERMINATE) -pricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'PRICEDBILLOFQUANTITIES', INDETERMINATE) -unpricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'UNPRICEDBILLOFQUANTITIES', INDETERMINATE) -scheduleofrates = express_getattr(IfcCostScheduleTypeEnum, 'SCHEDULEOFRATES', INDETERMINATE) -userdefined = express_getattr(IfcCostScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +budget = IfcCostScheduleTypeEnum.BUDGET +costplan = IfcCostScheduleTypeEnum.COSTPLAN +estimate = IfcCostScheduleTypeEnum.ESTIMATE +tender = IfcCostScheduleTypeEnum.TENDER +pricedbillofquantities = IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES +unpricedbillofquantities = IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES +scheduleofrates = IfcCostScheduleTypeEnum.SCHEDULEOFRATES +userdefined = IfcCostScheduleTypeEnum.USERDEFINED +notdefined = IfcCostScheduleTypeEnum.NOTDEFINED IfcCourseTypeEnum = enum_namespace() -armour = express_getattr(IfcCourseTypeEnum, 'ARMOUR', INDETERMINATE) -filter = express_getattr(IfcCourseTypeEnum, 'FILTER', INDETERMINATE) -ballastbed = express_getattr(IfcCourseTypeEnum, 'BALLASTBED', INDETERMINATE) -core = express_getattr(IfcCourseTypeEnum, 'CORE', INDETERMINATE) -pavement = express_getattr(IfcCourseTypeEnum, 'PAVEMENT', INDETERMINATE) -protection = express_getattr(IfcCourseTypeEnum, 'PROTECTION', INDETERMINATE) -userdefined = express_getattr(IfcCourseTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCourseTypeEnum, 'NOTDEFINED', INDETERMINATE) +armour = IfcCourseTypeEnum.ARMOUR +filter = IfcCourseTypeEnum.FILTER +ballastbed = IfcCourseTypeEnum.BALLASTBED +core = IfcCourseTypeEnum.CORE +pavement = IfcCourseTypeEnum.PAVEMENT +protection = IfcCourseTypeEnum.PROTECTION +userdefined = IfcCourseTypeEnum.USERDEFINED +notdefined = IfcCourseTypeEnum.NOTDEFINED IfcCoveringTypeEnum = enum_namespace() -ceiling = express_getattr(IfcCoveringTypeEnum, 'CEILING', INDETERMINATE) -flooring = express_getattr(IfcCoveringTypeEnum, 'FLOORING', INDETERMINATE) -cladding = express_getattr(IfcCoveringTypeEnum, 'CLADDING', INDETERMINATE) -roofing = express_getattr(IfcCoveringTypeEnum, 'ROOFING', INDETERMINATE) -molding = express_getattr(IfcCoveringTypeEnum, 'MOLDING', INDETERMINATE) -skirtingboard = express_getattr(IfcCoveringTypeEnum, 'SKIRTINGBOARD', INDETERMINATE) -insulation = express_getattr(IfcCoveringTypeEnum, 'INSULATION', INDETERMINATE) -membrane = express_getattr(IfcCoveringTypeEnum, 'MEMBRANE', INDETERMINATE) -sleeving = express_getattr(IfcCoveringTypeEnum, 'SLEEVING', INDETERMINATE) -wrapping = express_getattr(IfcCoveringTypeEnum, 'WRAPPING', INDETERMINATE) -coping = express_getattr(IfcCoveringTypeEnum, 'COPING', INDETERMINATE) -userdefined = express_getattr(IfcCoveringTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoveringTypeEnum, 'NOTDEFINED', INDETERMINATE) +ceiling = IfcCoveringTypeEnum.CEILING +flooring = IfcCoveringTypeEnum.FLOORING +cladding = IfcCoveringTypeEnum.CLADDING +roofing = IfcCoveringTypeEnum.ROOFING +molding = IfcCoveringTypeEnum.MOLDING +skirtingboard = IfcCoveringTypeEnum.SKIRTINGBOARD +insulation = IfcCoveringTypeEnum.INSULATION +membrane = IfcCoveringTypeEnum.MEMBRANE +sleeving = IfcCoveringTypeEnum.SLEEVING +wrapping = IfcCoveringTypeEnum.WRAPPING +coping = IfcCoveringTypeEnum.COPING +userdefined = IfcCoveringTypeEnum.USERDEFINED +notdefined = IfcCoveringTypeEnum.NOTDEFINED IfcCrewResourceTypeEnum = enum_namespace() -office = express_getattr(IfcCrewResourceTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcCrewResourceTypeEnum, 'SITE', INDETERMINATE) -userdefined = express_getattr(IfcCrewResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCrewResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +office = IfcCrewResourceTypeEnum.OFFICE +site = IfcCrewResourceTypeEnum.SITE +userdefined = IfcCrewResourceTypeEnum.USERDEFINED +notdefined = IfcCrewResourceTypeEnum.NOTDEFINED IfcCurtainWallTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCurtainWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCurtainWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCurtainWallTypeEnum.USERDEFINED +notdefined = IfcCurtainWallTypeEnum.NOTDEFINED IfcCurveInterpolationEnum = enum_namespace() -linear = express_getattr(IfcCurveInterpolationEnum, 'LINEAR', INDETERMINATE) -log_linear = express_getattr(IfcCurveInterpolationEnum, 'LOG_LINEAR', INDETERMINATE) -log_log = express_getattr(IfcCurveInterpolationEnum, 'LOG_LOG', INDETERMINATE) -notdefined = express_getattr(IfcCurveInterpolationEnum, 'NOTDEFINED', INDETERMINATE) +linear = IfcCurveInterpolationEnum.LINEAR +log_linear = IfcCurveInterpolationEnum.LOG_LINEAR +log_log = IfcCurveInterpolationEnum.LOG_LOG +notdefined = IfcCurveInterpolationEnum.NOTDEFINED IfcDamperTypeEnum = enum_namespace() -backdraftdamper = express_getattr(IfcDamperTypeEnum, 'BACKDRAFTDAMPER', INDETERMINATE) -balancingdamper = express_getattr(IfcDamperTypeEnum, 'BALANCINGDAMPER', INDETERMINATE) -blastdamper = express_getattr(IfcDamperTypeEnum, 'BLASTDAMPER', INDETERMINATE) -controldamper = express_getattr(IfcDamperTypeEnum, 'CONTROLDAMPER', INDETERMINATE) -firedamper = express_getattr(IfcDamperTypeEnum, 'FIREDAMPER', INDETERMINATE) -firesmokedamper = express_getattr(IfcDamperTypeEnum, 'FIRESMOKEDAMPER', INDETERMINATE) -fumehoodexhaust = express_getattr(IfcDamperTypeEnum, 'FUMEHOODEXHAUST', INDETERMINATE) -gravitydamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYDAMPER', INDETERMINATE) -gravityreliefdamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYRELIEFDAMPER', INDETERMINATE) -reliefdamper = express_getattr(IfcDamperTypeEnum, 'RELIEFDAMPER', INDETERMINATE) -smokedamper = express_getattr(IfcDamperTypeEnum, 'SMOKEDAMPER', INDETERMINATE) -userdefined = express_getattr(IfcDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +backdraftdamper = IfcDamperTypeEnum.BACKDRAFTDAMPER +balancingdamper = IfcDamperTypeEnum.BALANCINGDAMPER +blastdamper = IfcDamperTypeEnum.BLASTDAMPER +controldamper = IfcDamperTypeEnum.CONTROLDAMPER +firedamper = IfcDamperTypeEnum.FIREDAMPER +firesmokedamper = IfcDamperTypeEnum.FIRESMOKEDAMPER +fumehoodexhaust = IfcDamperTypeEnum.FUMEHOODEXHAUST +gravitydamper = IfcDamperTypeEnum.GRAVITYDAMPER +gravityreliefdamper = IfcDamperTypeEnum.GRAVITYRELIEFDAMPER +reliefdamper = IfcDamperTypeEnum.RELIEFDAMPER +smokedamper = IfcDamperTypeEnum.SMOKEDAMPER +userdefined = IfcDamperTypeEnum.USERDEFINED +notdefined = IfcDamperTypeEnum.NOTDEFINED IfcDataOriginEnum = enum_namespace() -measured = express_getattr(IfcDataOriginEnum, 'MEASURED', INDETERMINATE) -predicted = express_getattr(IfcDataOriginEnum, 'PREDICTED', INDETERMINATE) -simulated = express_getattr(IfcDataOriginEnum, 'SIMULATED', INDETERMINATE) -userdefined = express_getattr(IfcDataOriginEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDataOriginEnum, 'NOTDEFINED', INDETERMINATE) +measured = IfcDataOriginEnum.MEASURED +predicted = IfcDataOriginEnum.PREDICTED +simulated = IfcDataOriginEnum.SIMULATED +userdefined = IfcDataOriginEnum.USERDEFINED +notdefined = IfcDataOriginEnum.NOTDEFINED IfcDerivedUnitEnum = enum_namespace() -angularvelocityunit = express_getattr(IfcDerivedUnitEnum, 'ANGULARVELOCITYUNIT', INDETERMINATE) -areadensityunit = express_getattr(IfcDerivedUnitEnum, 'AREADENSITYUNIT', INDETERMINATE) -compoundplaneangleunit = express_getattr(IfcDerivedUnitEnum, 'COMPOUNDPLANEANGLEUNIT', INDETERMINATE) -dynamicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'DYNAMICVISCOSITYUNIT', INDETERMINATE) -heatfluxdensityunit = express_getattr(IfcDerivedUnitEnum, 'HEATFLUXDENSITYUNIT', INDETERMINATE) -integercountrateunit = express_getattr(IfcDerivedUnitEnum, 'INTEGERCOUNTRATEUNIT', INDETERMINATE) -isothermalmoisturecapacityunit = express_getattr(IfcDerivedUnitEnum, 'ISOTHERMALMOISTURECAPACITYUNIT', INDETERMINATE) -kinematicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'KINEMATICVISCOSITYUNIT', INDETERMINATE) -linearvelocityunit = express_getattr(IfcDerivedUnitEnum, 'LINEARVELOCITYUNIT', INDETERMINATE) -massdensityunit = express_getattr(IfcDerivedUnitEnum, 'MASSDENSITYUNIT', INDETERMINATE) -massflowrateunit = express_getattr(IfcDerivedUnitEnum, 'MASSFLOWRATEUNIT', INDETERMINATE) -moisturediffusivityunit = express_getattr(IfcDerivedUnitEnum, 'MOISTUREDIFFUSIVITYUNIT', INDETERMINATE) -molecularweightunit = express_getattr(IfcDerivedUnitEnum, 'MOLECULARWEIGHTUNIT', INDETERMINATE) -specificheatcapacityunit = express_getattr(IfcDerivedUnitEnum, 'SPECIFICHEATCAPACITYUNIT', INDETERMINATE) -thermaladmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALADMITTANCEUNIT', INDETERMINATE) -thermalconductanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALCONDUCTANCEUNIT', INDETERMINATE) -thermalresistanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALRESISTANCEUNIT', INDETERMINATE) -thermaltransmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALTRANSMITTANCEUNIT', INDETERMINATE) -vaporpermeabilityunit = express_getattr(IfcDerivedUnitEnum, 'VAPORPERMEABILITYUNIT', INDETERMINATE) -volumetricflowrateunit = express_getattr(IfcDerivedUnitEnum, 'VOLUMETRICFLOWRATEUNIT', INDETERMINATE) -rotationalfrequencyunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALFREQUENCYUNIT', INDETERMINATE) -torqueunit = express_getattr(IfcDerivedUnitEnum, 'TORQUEUNIT', INDETERMINATE) -momentofinertiaunit = express_getattr(IfcDerivedUnitEnum, 'MOMENTOFINERTIAUNIT', INDETERMINATE) -linearmomentunit = express_getattr(IfcDerivedUnitEnum, 'LINEARMOMENTUNIT', INDETERMINATE) -linearforceunit = express_getattr(IfcDerivedUnitEnum, 'LINEARFORCEUNIT', INDETERMINATE) -planarforceunit = express_getattr(IfcDerivedUnitEnum, 'PLANARFORCEUNIT', INDETERMINATE) -modulusofelasticityunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFELASTICITYUNIT', INDETERMINATE) -shearmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SHEARMODULUSUNIT', INDETERMINATE) -linearstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'LINEARSTIFFNESSUNIT', INDETERMINATE) -rotationalstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALSTIFFNESSUNIT', INDETERMINATE) -modulusofsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFSUBGRADEREACTIONUNIT', INDETERMINATE) -accelerationunit = express_getattr(IfcDerivedUnitEnum, 'ACCELERATIONUNIT', INDETERMINATE) -curvatureunit = express_getattr(IfcDerivedUnitEnum, 'CURVATUREUNIT', INDETERMINATE) -heatingvalueunit = express_getattr(IfcDerivedUnitEnum, 'HEATINGVALUEUNIT', INDETERMINATE) -ionconcentrationunit = express_getattr(IfcDerivedUnitEnum, 'IONCONCENTRATIONUNIT', INDETERMINATE) -luminousintensitydistributionunit = express_getattr(IfcDerivedUnitEnum, 'LUMINOUSINTENSITYDISTRIBUTIONUNIT', INDETERMINATE) -massperlengthunit = express_getattr(IfcDerivedUnitEnum, 'MASSPERLENGTHUNIT', INDETERMINATE) -modulusoflinearsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFLINEARSUBGRADEREACTIONUNIT', INDETERMINATE) -modulusofrotationalsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFROTATIONALSUBGRADEREACTIONUNIT', INDETERMINATE) -phunit = express_getattr(IfcDerivedUnitEnum, 'PHUNIT', INDETERMINATE) -rotationalmassunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALMASSUNIT', INDETERMINATE) -sectionareaintegralunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONAREAINTEGRALUNIT', INDETERMINATE) -sectionmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONMODULUSUNIT', INDETERMINATE) -soundpowerlevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERLEVELUNIT', INDETERMINATE) -soundpowerunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERUNIT', INDETERMINATE) -soundpressurelevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSURELEVELUNIT', INDETERMINATE) -soundpressureunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSUREUNIT', INDETERMINATE) -temperaturegradientunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATUREGRADIENTUNIT', INDETERMINATE) -temperaturerateofchangeunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATURERATEOFCHANGEUNIT', INDETERMINATE) -thermalexpansioncoefficientunit = express_getattr(IfcDerivedUnitEnum, 'THERMALEXPANSIONCOEFFICIENTUNIT', INDETERMINATE) -warpingconstantunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGCONSTANTUNIT', INDETERMINATE) -warpingmomentunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGMOMENTUNIT', INDETERMINATE) -userdefined = express_getattr(IfcDerivedUnitEnum, 'USERDEFINED', INDETERMINATE) +angularvelocityunit = IfcDerivedUnitEnum.ANGULARVELOCITYUNIT +areadensityunit = IfcDerivedUnitEnum.AREADENSITYUNIT +compoundplaneangleunit = IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT +dynamicviscosityunit = IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT +heatfluxdensityunit = IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT +integercountrateunit = IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT +isothermalmoisturecapacityunit = IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT +kinematicviscosityunit = IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT +linearvelocityunit = IfcDerivedUnitEnum.LINEARVELOCITYUNIT +massdensityunit = IfcDerivedUnitEnum.MASSDENSITYUNIT +massflowrateunit = IfcDerivedUnitEnum.MASSFLOWRATEUNIT +moisturediffusivityunit = IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT +molecularweightunit = IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT +specificheatcapacityunit = IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT +thermaladmittanceunit = IfcDerivedUnitEnum.THERMALADMITTANCEUNIT +thermalconductanceunit = IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT +thermalresistanceunit = IfcDerivedUnitEnum.THERMALRESISTANCEUNIT +thermaltransmittanceunit = IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT +vaporpermeabilityunit = IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT +volumetricflowrateunit = IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT +rotationalfrequencyunit = IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT +torqueunit = IfcDerivedUnitEnum.TORQUEUNIT +momentofinertiaunit = IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT +linearmomentunit = IfcDerivedUnitEnum.LINEARMOMENTUNIT +linearforceunit = IfcDerivedUnitEnum.LINEARFORCEUNIT +planarforceunit = IfcDerivedUnitEnum.PLANARFORCEUNIT +modulusofelasticityunit = IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT +shearmodulusunit = IfcDerivedUnitEnum.SHEARMODULUSUNIT +linearstiffnessunit = IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT +rotationalstiffnessunit = IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT +modulusofsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT +accelerationunit = IfcDerivedUnitEnum.ACCELERATIONUNIT +curvatureunit = IfcDerivedUnitEnum.CURVATUREUNIT +heatingvalueunit = IfcDerivedUnitEnum.HEATINGVALUEUNIT +ionconcentrationunit = IfcDerivedUnitEnum.IONCONCENTRATIONUNIT +luminousintensitydistributionunit = IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT +massperlengthunit = IfcDerivedUnitEnum.MASSPERLENGTHUNIT +modulusoflinearsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT +modulusofrotationalsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT +phunit = IfcDerivedUnitEnum.PHUNIT +rotationalmassunit = IfcDerivedUnitEnum.ROTATIONALMASSUNIT +sectionareaintegralunit = IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT +sectionmodulusunit = IfcDerivedUnitEnum.SECTIONMODULUSUNIT +soundpowerlevelunit = IfcDerivedUnitEnum.SOUNDPOWERLEVELUNIT +soundpowerunit = IfcDerivedUnitEnum.SOUNDPOWERUNIT +soundpressurelevelunit = IfcDerivedUnitEnum.SOUNDPRESSURELEVELUNIT +soundpressureunit = IfcDerivedUnitEnum.SOUNDPRESSUREUNIT +temperaturegradientunit = IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT +temperaturerateofchangeunit = IfcDerivedUnitEnum.TEMPERATURERATEOFCHANGEUNIT +thermalexpansioncoefficientunit = IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT +warpingconstantunit = IfcDerivedUnitEnum.WARPINGCONSTANTUNIT +warpingmomentunit = IfcDerivedUnitEnum.WARPINGMOMENTUNIT +userdefined = IfcDerivedUnitEnum.USERDEFINED IfcDirectionSenseEnum = enum_namespace() -positive = express_getattr(IfcDirectionSenseEnum, 'POSITIVE', INDETERMINATE) -negative = express_getattr(IfcDirectionSenseEnum, 'NEGATIVE', INDETERMINATE) +positive = IfcDirectionSenseEnum.POSITIVE +negative = IfcDirectionSenseEnum.NEGATIVE IfcDiscreteAccessoryTypeEnum = enum_namespace() -anchorplate = express_getattr(IfcDiscreteAccessoryTypeEnum, 'ANCHORPLATE', INDETERMINATE) -bracket = express_getattr(IfcDiscreteAccessoryTypeEnum, 'BRACKET', INDETERMINATE) -shoe = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SHOE', INDETERMINATE) -expansion_joint_device = express_getattr(IfcDiscreteAccessoryTypeEnum, 'EXPANSION_JOINT_DEVICE', INDETERMINATE) -cablearranger = express_getattr(IfcDiscreteAccessoryTypeEnum, 'CABLEARRANGER', INDETERMINATE) -insulator = express_getattr(IfcDiscreteAccessoryTypeEnum, 'INSULATOR', INDETERMINATE) -lock = express_getattr(IfcDiscreteAccessoryTypeEnum, 'LOCK', INDETERMINATE) -tensioningequipment = express_getattr(IfcDiscreteAccessoryTypeEnum, 'TENSIONINGEQUIPMENT', INDETERMINATE) -railpad = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAILPAD', INDETERMINATE) -slidingchair = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SLIDINGCHAIR', INDETERMINATE) -rail_lubrication = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAIL_LUBRICATION', INDETERMINATE) -panel_strengthening = express_getattr(IfcDiscreteAccessoryTypeEnum, 'PANEL_STRENGTHENING', INDETERMINATE) -railbrace = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAILBRACE', INDETERMINATE) -elastic_cushion = express_getattr(IfcDiscreteAccessoryTypeEnum, 'ELASTIC_CUSHION', INDETERMINATE) -soundabsorption = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SOUNDABSORPTION', INDETERMINATE) -pointmachinemountingdevice = express_getattr(IfcDiscreteAccessoryTypeEnum, 'POINTMACHINEMOUNTINGDEVICE', INDETERMINATE) -point_machine_locking_device = express_getattr(IfcDiscreteAccessoryTypeEnum, 'POINT_MACHINE_LOCKING_DEVICE', INDETERMINATE) -rail_mechanical_equipment = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAIL_MECHANICAL_EQUIPMENT', INDETERMINATE) -birdprotection = express_getattr(IfcDiscreteAccessoryTypeEnum, 'BIRDPROTECTION', INDETERMINATE) -userdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorplate = IfcDiscreteAccessoryTypeEnum.ANCHORPLATE +bracket = IfcDiscreteAccessoryTypeEnum.BRACKET +shoe = IfcDiscreteAccessoryTypeEnum.SHOE +expansion_joint_device = IfcDiscreteAccessoryTypeEnum.EXPANSION_JOINT_DEVICE +cablearranger = IfcDiscreteAccessoryTypeEnum.CABLEARRANGER +insulator = IfcDiscreteAccessoryTypeEnum.INSULATOR +lock = IfcDiscreteAccessoryTypeEnum.LOCK +tensioningequipment = IfcDiscreteAccessoryTypeEnum.TENSIONINGEQUIPMENT +railpad = IfcDiscreteAccessoryTypeEnum.RAILPAD +slidingchair = IfcDiscreteAccessoryTypeEnum.SLIDINGCHAIR +rail_lubrication = IfcDiscreteAccessoryTypeEnum.RAIL_LUBRICATION +panel_strengthening = IfcDiscreteAccessoryTypeEnum.PANEL_STRENGTHENING +railbrace = IfcDiscreteAccessoryTypeEnum.RAILBRACE +elastic_cushion = IfcDiscreteAccessoryTypeEnum.ELASTIC_CUSHION +soundabsorption = IfcDiscreteAccessoryTypeEnum.SOUNDABSORPTION +pointmachinemountingdevice = IfcDiscreteAccessoryTypeEnum.POINTMACHINEMOUNTINGDEVICE +point_machine_locking_device = IfcDiscreteAccessoryTypeEnum.POINT_MACHINE_LOCKING_DEVICE +rail_mechanical_equipment = IfcDiscreteAccessoryTypeEnum.RAIL_MECHANICAL_EQUIPMENT +birdprotection = IfcDiscreteAccessoryTypeEnum.BIRDPROTECTION +userdefined = IfcDiscreteAccessoryTypeEnum.USERDEFINED +notdefined = IfcDiscreteAccessoryTypeEnum.NOTDEFINED IfcDistributionBoardTypeEnum = enum_namespace() -switchboard = express_getattr(IfcDistributionBoardTypeEnum, 'SWITCHBOARD', INDETERMINATE) -consumerunit = express_getattr(IfcDistributionBoardTypeEnum, 'CONSUMERUNIT', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcDistributionBoardTypeEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -distributionframe = express_getattr(IfcDistributionBoardTypeEnum, 'DISTRIBUTIONFRAME', INDETERMINATE) -distributionboard = express_getattr(IfcDistributionBoardTypeEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -dispatchingboard = express_getattr(IfcDistributionBoardTypeEnum, 'DISPATCHINGBOARD', INDETERMINATE) -userdefined = express_getattr(IfcDistributionBoardTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionBoardTypeEnum, 'NOTDEFINED', INDETERMINATE) +switchboard = IfcDistributionBoardTypeEnum.SWITCHBOARD +consumerunit = IfcDistributionBoardTypeEnum.CONSUMERUNIT +motorcontrolcentre = IfcDistributionBoardTypeEnum.MOTORCONTROLCENTRE +distributionframe = IfcDistributionBoardTypeEnum.DISTRIBUTIONFRAME +distributionboard = IfcDistributionBoardTypeEnum.DISTRIBUTIONBOARD +dispatchingboard = IfcDistributionBoardTypeEnum.DISPATCHINGBOARD +userdefined = IfcDistributionBoardTypeEnum.USERDEFINED +notdefined = IfcDistributionBoardTypeEnum.NOTDEFINED IfcDistributionChamberElementTypeEnum = enum_namespace() -formedduct = express_getattr(IfcDistributionChamberElementTypeEnum, 'FORMEDDUCT', INDETERMINATE) -inspectionchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONCHAMBER', INDETERMINATE) -inspectionpit = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONPIT', INDETERMINATE) -manhole = express_getattr(IfcDistributionChamberElementTypeEnum, 'MANHOLE', INDETERMINATE) -meterchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'METERCHAMBER', INDETERMINATE) -sump = express_getattr(IfcDistributionChamberElementTypeEnum, 'SUMP', INDETERMINATE) -trench = express_getattr(IfcDistributionChamberElementTypeEnum, 'TRENCH', INDETERMINATE) -valvechamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'VALVECHAMBER', INDETERMINATE) -userdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +formedduct = IfcDistributionChamberElementTypeEnum.FORMEDDUCT +inspectionchamber = IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER +inspectionpit = IfcDistributionChamberElementTypeEnum.INSPECTIONPIT +manhole = IfcDistributionChamberElementTypeEnum.MANHOLE +meterchamber = IfcDistributionChamberElementTypeEnum.METERCHAMBER +sump = IfcDistributionChamberElementTypeEnum.SUMP +trench = IfcDistributionChamberElementTypeEnum.TRENCH +valvechamber = IfcDistributionChamberElementTypeEnum.VALVECHAMBER +userdefined = IfcDistributionChamberElementTypeEnum.USERDEFINED +notdefined = IfcDistributionChamberElementTypeEnum.NOTDEFINED IfcDistributionPortTypeEnum = enum_namespace() -cable = express_getattr(IfcDistributionPortTypeEnum, 'CABLE', INDETERMINATE) -cablecarrier = express_getattr(IfcDistributionPortTypeEnum, 'CABLECARRIER', INDETERMINATE) -duct = express_getattr(IfcDistributionPortTypeEnum, 'DUCT', INDETERMINATE) -pipe = express_getattr(IfcDistributionPortTypeEnum, 'PIPE', INDETERMINATE) -wireless = express_getattr(IfcDistributionPortTypeEnum, 'WIRELESS', INDETERMINATE) -userdefined = express_getattr(IfcDistributionPortTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionPortTypeEnum, 'NOTDEFINED', INDETERMINATE) +cable = IfcDistributionPortTypeEnum.CABLE +cablecarrier = IfcDistributionPortTypeEnum.CABLECARRIER +duct = IfcDistributionPortTypeEnum.DUCT +pipe = IfcDistributionPortTypeEnum.PIPE +wireless = IfcDistributionPortTypeEnum.WIRELESS +userdefined = IfcDistributionPortTypeEnum.USERDEFINED +notdefined = IfcDistributionPortTypeEnum.NOTDEFINED IfcDistributionSystemEnum = enum_namespace() -airconditioning = express_getattr(IfcDistributionSystemEnum, 'AIRCONDITIONING', INDETERMINATE) -audiovisual = express_getattr(IfcDistributionSystemEnum, 'AUDIOVISUAL', INDETERMINATE) -chemical = express_getattr(IfcDistributionSystemEnum, 'CHEMICAL', INDETERMINATE) -chilledwater = express_getattr(IfcDistributionSystemEnum, 'CHILLEDWATER', INDETERMINATE) -communication = express_getattr(IfcDistributionSystemEnum, 'COMMUNICATION', INDETERMINATE) -compressedair = express_getattr(IfcDistributionSystemEnum, 'COMPRESSEDAIR', INDETERMINATE) -condenserwater = express_getattr(IfcDistributionSystemEnum, 'CONDENSERWATER', INDETERMINATE) -control = express_getattr(IfcDistributionSystemEnum, 'CONTROL', INDETERMINATE) -conveying = express_getattr(IfcDistributionSystemEnum, 'CONVEYING', INDETERMINATE) -data = express_getattr(IfcDistributionSystemEnum, 'DATA', INDETERMINATE) -disposal = express_getattr(IfcDistributionSystemEnum, 'DISPOSAL', INDETERMINATE) -domesticcoldwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICCOLDWATER', INDETERMINATE) -domestichotwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICHOTWATER', INDETERMINATE) -drainage = express_getattr(IfcDistributionSystemEnum, 'DRAINAGE', INDETERMINATE) -earthing = express_getattr(IfcDistributionSystemEnum, 'EARTHING', INDETERMINATE) -electrical = express_getattr(IfcDistributionSystemEnum, 'ELECTRICAL', INDETERMINATE) -electroacoustic = express_getattr(IfcDistributionSystemEnum, 'ELECTROACOUSTIC', INDETERMINATE) -exhaust = express_getattr(IfcDistributionSystemEnum, 'EXHAUST', INDETERMINATE) -fireprotection = express_getattr(IfcDistributionSystemEnum, 'FIREPROTECTION', INDETERMINATE) -fuel = express_getattr(IfcDistributionSystemEnum, 'FUEL', INDETERMINATE) -gas = express_getattr(IfcDistributionSystemEnum, 'GAS', INDETERMINATE) -hazardous = express_getattr(IfcDistributionSystemEnum, 'HAZARDOUS', INDETERMINATE) -heating = express_getattr(IfcDistributionSystemEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcDistributionSystemEnum, 'LIGHTING', INDETERMINATE) -lightningprotection = express_getattr(IfcDistributionSystemEnum, 'LIGHTNINGPROTECTION', INDETERMINATE) -municipalsolidwaste = express_getattr(IfcDistributionSystemEnum, 'MUNICIPALSOLIDWASTE', INDETERMINATE) -oil = express_getattr(IfcDistributionSystemEnum, 'OIL', INDETERMINATE) -operational = express_getattr(IfcDistributionSystemEnum, 'OPERATIONAL', INDETERMINATE) -powergeneration = express_getattr(IfcDistributionSystemEnum, 'POWERGENERATION', INDETERMINATE) -rainwater = express_getattr(IfcDistributionSystemEnum, 'RAINWATER', INDETERMINATE) -refrigeration = express_getattr(IfcDistributionSystemEnum, 'REFRIGERATION', INDETERMINATE) -security = express_getattr(IfcDistributionSystemEnum, 'SECURITY', INDETERMINATE) -sewage = express_getattr(IfcDistributionSystemEnum, 'SEWAGE', INDETERMINATE) -signal = express_getattr(IfcDistributionSystemEnum, 'SIGNAL', INDETERMINATE) -stormwater = express_getattr(IfcDistributionSystemEnum, 'STORMWATER', INDETERMINATE) -telephone = express_getattr(IfcDistributionSystemEnum, 'TELEPHONE', INDETERMINATE) -tv = express_getattr(IfcDistributionSystemEnum, 'TV', INDETERMINATE) -vacuum = express_getattr(IfcDistributionSystemEnum, 'VACUUM', INDETERMINATE) -vent = express_getattr(IfcDistributionSystemEnum, 'VENT', INDETERMINATE) -ventilation = express_getattr(IfcDistributionSystemEnum, 'VENTILATION', INDETERMINATE) -wastewater = express_getattr(IfcDistributionSystemEnum, 'WASTEWATER', INDETERMINATE) -watersupply = express_getattr(IfcDistributionSystemEnum, 'WATERSUPPLY', INDETERMINATE) -catenary_system = express_getattr(IfcDistributionSystemEnum, 'CATENARY_SYSTEM', INDETERMINATE) -overhead_contactline_system = express_getattr(IfcDistributionSystemEnum, 'OVERHEAD_CONTACTLINE_SYSTEM', INDETERMINATE) -return_circuit = express_getattr(IfcDistributionSystemEnum, 'RETURN_CIRCUIT', INDETERMINATE) -fixedtransmissionnetwork = express_getattr(IfcDistributionSystemEnum, 'FIXEDTRANSMISSIONNETWORK', INDETERMINATE) -operationaltelephonysystem = express_getattr(IfcDistributionSystemEnum, 'OPERATIONALTELEPHONYSYSTEM', INDETERMINATE) -mobilenetwork = express_getattr(IfcDistributionSystemEnum, 'MOBILENETWORK', INDETERMINATE) -monitoringsystem = express_getattr(IfcDistributionSystemEnum, 'MONITORINGSYSTEM', INDETERMINATE) -userdefined = express_getattr(IfcDistributionSystemEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionSystemEnum, 'NOTDEFINED', INDETERMINATE) +airconditioning = IfcDistributionSystemEnum.AIRCONDITIONING +audiovisual = IfcDistributionSystemEnum.AUDIOVISUAL +chemical = IfcDistributionSystemEnum.CHEMICAL +chilledwater = IfcDistributionSystemEnum.CHILLEDWATER +communication = IfcDistributionSystemEnum.COMMUNICATION +compressedair = IfcDistributionSystemEnum.COMPRESSEDAIR +condenserwater = IfcDistributionSystemEnum.CONDENSERWATER +control = IfcDistributionSystemEnum.CONTROL +conveying = IfcDistributionSystemEnum.CONVEYING +data = IfcDistributionSystemEnum.DATA +disposal = IfcDistributionSystemEnum.DISPOSAL +domesticcoldwater = IfcDistributionSystemEnum.DOMESTICCOLDWATER +domestichotwater = IfcDistributionSystemEnum.DOMESTICHOTWATER +drainage = IfcDistributionSystemEnum.DRAINAGE +earthing = IfcDistributionSystemEnum.EARTHING +electrical = IfcDistributionSystemEnum.ELECTRICAL +electroacoustic = IfcDistributionSystemEnum.ELECTROACOUSTIC +exhaust = IfcDistributionSystemEnum.EXHAUST +fireprotection = IfcDistributionSystemEnum.FIREPROTECTION +fuel = IfcDistributionSystemEnum.FUEL +gas = IfcDistributionSystemEnum.GAS +hazardous = IfcDistributionSystemEnum.HAZARDOUS +heating = IfcDistributionSystemEnum.HEATING +lighting = IfcDistributionSystemEnum.LIGHTING +lightningprotection = IfcDistributionSystemEnum.LIGHTNINGPROTECTION +municipalsolidwaste = IfcDistributionSystemEnum.MUNICIPALSOLIDWASTE +oil = IfcDistributionSystemEnum.OIL +operational = IfcDistributionSystemEnum.OPERATIONAL +powergeneration = IfcDistributionSystemEnum.POWERGENERATION +rainwater = IfcDistributionSystemEnum.RAINWATER +refrigeration = IfcDistributionSystemEnum.REFRIGERATION +security = IfcDistributionSystemEnum.SECURITY +sewage = IfcDistributionSystemEnum.SEWAGE +signal = IfcDistributionSystemEnum.SIGNAL +stormwater = IfcDistributionSystemEnum.STORMWATER +telephone = IfcDistributionSystemEnum.TELEPHONE +tv = IfcDistributionSystemEnum.TV +vacuum = IfcDistributionSystemEnum.VACUUM +vent = IfcDistributionSystemEnum.VENT +ventilation = IfcDistributionSystemEnum.VENTILATION +wastewater = IfcDistributionSystemEnum.WASTEWATER +watersupply = IfcDistributionSystemEnum.WATERSUPPLY +catenary_system = IfcDistributionSystemEnum.CATENARY_SYSTEM +overhead_contactline_system = IfcDistributionSystemEnum.OVERHEAD_CONTACTLINE_SYSTEM +return_circuit = IfcDistributionSystemEnum.RETURN_CIRCUIT +fixedtransmissionnetwork = IfcDistributionSystemEnum.FIXEDTRANSMISSIONNETWORK +operationaltelephonysystem = IfcDistributionSystemEnum.OPERATIONALTELEPHONYSYSTEM +mobilenetwork = IfcDistributionSystemEnum.MOBILENETWORK +monitoringsystem = IfcDistributionSystemEnum.MONITORINGSYSTEM +userdefined = IfcDistributionSystemEnum.USERDEFINED +notdefined = IfcDistributionSystemEnum.NOTDEFINED IfcDocumentConfidentialityEnum = enum_namespace() -public = express_getattr(IfcDocumentConfidentialityEnum, 'PUBLIC', INDETERMINATE) -restricted = express_getattr(IfcDocumentConfidentialityEnum, 'RESTRICTED', INDETERMINATE) -confidential = express_getattr(IfcDocumentConfidentialityEnum, 'CONFIDENTIAL', INDETERMINATE) -personal = express_getattr(IfcDocumentConfidentialityEnum, 'PERSONAL', INDETERMINATE) -userdefined = express_getattr(IfcDocumentConfidentialityEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDocumentConfidentialityEnum, 'NOTDEFINED', INDETERMINATE) +public = IfcDocumentConfidentialityEnum.PUBLIC +restricted = IfcDocumentConfidentialityEnum.RESTRICTED +confidential = IfcDocumentConfidentialityEnum.CONFIDENTIAL +personal = IfcDocumentConfidentialityEnum.PERSONAL +userdefined = IfcDocumentConfidentialityEnum.USERDEFINED +notdefined = IfcDocumentConfidentialityEnum.NOTDEFINED IfcDocumentStatusEnum = enum_namespace() -draft = express_getattr(IfcDocumentStatusEnum, 'DRAFT', INDETERMINATE) -finaldraft = express_getattr(IfcDocumentStatusEnum, 'FINALDRAFT', INDETERMINATE) -final = express_getattr(IfcDocumentStatusEnum, 'FINAL', INDETERMINATE) -revision = express_getattr(IfcDocumentStatusEnum, 'REVISION', INDETERMINATE) -notdefined = express_getattr(IfcDocumentStatusEnum, 'NOTDEFINED', INDETERMINATE) +draft = IfcDocumentStatusEnum.DRAFT +finaldraft = IfcDocumentStatusEnum.FINALDRAFT +final = IfcDocumentStatusEnum.FINAL +revision = IfcDocumentStatusEnum.REVISION +notdefined = IfcDocumentStatusEnum.NOTDEFINED IfcDoorPanelOperationEnum = enum_namespace() -swinging = express_getattr(IfcDoorPanelOperationEnum, 'SWINGING', INDETERMINATE) -double_acting = express_getattr(IfcDoorPanelOperationEnum, 'DOUBLE_ACTING', INDETERMINATE) -sliding = express_getattr(IfcDoorPanelOperationEnum, 'SLIDING', INDETERMINATE) -folding = express_getattr(IfcDoorPanelOperationEnum, 'FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorPanelOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorPanelOperationEnum, 'ROLLINGUP', INDETERMINATE) -fixedpanel = express_getattr(IfcDoorPanelOperationEnum, 'FIXEDPANEL', INDETERMINATE) -userdefined = express_getattr(IfcDoorPanelOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +swinging = IfcDoorPanelOperationEnum.SWINGING +double_acting = IfcDoorPanelOperationEnum.DOUBLE_ACTING +sliding = IfcDoorPanelOperationEnum.SLIDING +folding = IfcDoorPanelOperationEnum.FOLDING +revolving = IfcDoorPanelOperationEnum.REVOLVING +rollingup = IfcDoorPanelOperationEnum.ROLLINGUP +fixedpanel = IfcDoorPanelOperationEnum.FIXEDPANEL +userdefined = IfcDoorPanelOperationEnum.USERDEFINED +notdefined = IfcDoorPanelOperationEnum.NOTDEFINED IfcDoorPanelPositionEnum = enum_namespace() -left = express_getattr(IfcDoorPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcDoorPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcDoorPanelPositionEnum, 'RIGHT', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcDoorPanelPositionEnum.LEFT +middle = IfcDoorPanelPositionEnum.MIDDLE +right = IfcDoorPanelPositionEnum.RIGHT +notdefined = IfcDoorPanelPositionEnum.NOTDEFINED IfcDoorStyleConstructionEnum = enum_namespace() -aluminium = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM', INDETERMINATE) -high_grade_steel = express_getattr(IfcDoorStyleConstructionEnum, 'HIGH_GRADE_STEEL', INDETERMINATE) -steel = express_getattr(IfcDoorStyleConstructionEnum, 'STEEL', INDETERMINATE) -wood = express_getattr(IfcDoorStyleConstructionEnum, 'WOOD', INDETERMINATE) -aluminium_wood = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM_WOOD', INDETERMINATE) -aluminium_plastic = express_getattr(IfcDoorStyleConstructionEnum, 'ALUMINIUM_PLASTIC', INDETERMINATE) -plastic = express_getattr(IfcDoorStyleConstructionEnum, 'PLASTIC', INDETERMINATE) -userdefined = express_getattr(IfcDoorStyleConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorStyleConstructionEnum, 'NOTDEFINED', INDETERMINATE) +aluminium = IfcDoorStyleConstructionEnum.ALUMINIUM +high_grade_steel = IfcDoorStyleConstructionEnum.HIGH_GRADE_STEEL +steel = IfcDoorStyleConstructionEnum.STEEL +wood = IfcDoorStyleConstructionEnum.WOOD +aluminium_wood = IfcDoorStyleConstructionEnum.ALUMINIUM_WOOD +aluminium_plastic = IfcDoorStyleConstructionEnum.ALUMINIUM_PLASTIC +plastic = IfcDoorStyleConstructionEnum.PLASTIC +userdefined = IfcDoorStyleConstructionEnum.USERDEFINED +notdefined = IfcDoorStyleConstructionEnum.NOTDEFINED IfcDoorStyleOperationEnum = enum_namespace() -single_swing_left = express_getattr(IfcDoorStyleOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorStyleOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -double_door_single_swing = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING', INDETERMINATE) -double_door_single_swing_opposite_left = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_door_single_swing_opposite_right = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -double_door_double_swing = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_DOUBLE_SWING', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorStyleOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorStyleOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -double_door_sliding = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_SLIDING', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorStyleOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorStyleOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -double_door_folding = express_getattr(IfcDoorStyleOperationEnum, 'DOUBLE_DOOR_FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorStyleOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorStyleOperationEnum, 'ROLLINGUP', INDETERMINATE) -userdefined = express_getattr(IfcDoorStyleOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorStyleOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_swing_left = IfcDoorStyleOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorStyleOperationEnum.SINGLE_SWING_RIGHT +double_door_single_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING +double_door_single_swing_opposite_left = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT +double_door_single_swing_opposite_right = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT +double_swing_left = IfcDoorStyleOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorStyleOperationEnum.DOUBLE_SWING_RIGHT +double_door_double_swing = IfcDoorStyleOperationEnum.DOUBLE_DOOR_DOUBLE_SWING +sliding_to_left = IfcDoorStyleOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorStyleOperationEnum.SLIDING_TO_RIGHT +double_door_sliding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_SLIDING +folding_to_left = IfcDoorStyleOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorStyleOperationEnum.FOLDING_TO_RIGHT +double_door_folding = IfcDoorStyleOperationEnum.DOUBLE_DOOR_FOLDING +revolving = IfcDoorStyleOperationEnum.REVOLVING +rollingup = IfcDoorStyleOperationEnum.ROLLINGUP +userdefined = IfcDoorStyleOperationEnum.USERDEFINED +notdefined = IfcDoorStyleOperationEnum.NOTDEFINED IfcDoorTypeEnum = enum_namespace() -door = express_getattr(IfcDoorTypeEnum, 'DOOR', INDETERMINATE) -gate = express_getattr(IfcDoorTypeEnum, 'GATE', INDETERMINATE) -trapdoor = express_getattr(IfcDoorTypeEnum, 'TRAPDOOR', INDETERMINATE) -boom_barrier = express_getattr(IfcDoorTypeEnum, 'BOOM_BARRIER', INDETERMINATE) -turnstile = express_getattr(IfcDoorTypeEnum, 'TURNSTILE', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeEnum, 'NOTDEFINED', INDETERMINATE) +door = IfcDoorTypeEnum.DOOR +gate = IfcDoorTypeEnum.GATE +trapdoor = IfcDoorTypeEnum.TRAPDOOR +boom_barrier = IfcDoorTypeEnum.BOOM_BARRIER +turnstile = IfcDoorTypeEnum.TURNSTILE +userdefined = IfcDoorTypeEnum.USERDEFINED +notdefined = IfcDoorTypeEnum.NOTDEFINED IfcDoorTypeOperationEnum = enum_namespace() -single_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -double_panel_single_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_SINGLE_SWING', INDETERMINATE) -double_panel_single_swing_opposite_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_panel_single_swing_opposite_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -double_panel_double_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_DOUBLE_SWING', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -double_panel_sliding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_SLIDING', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -double_panel_folding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_FOLDING', INDETERMINATE) -revolving_horizontal = express_getattr(IfcDoorTypeOperationEnum, 'REVOLVING_HORIZONTAL', INDETERMINATE) -rollingup = express_getattr(IfcDoorTypeOperationEnum, 'ROLLINGUP', INDETERMINATE) -swing_fixed_left = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_LEFT', INDETERMINATE) -swing_fixed_right = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_RIGHT', INDETERMINATE) -double_panel_lifting_vertical = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_PANEL_LIFTING_VERTICAL', INDETERMINATE) -lifting_horizontal = express_getattr(IfcDoorTypeOperationEnum, 'LIFTING_HORIZONTAL', INDETERMINATE) -lifting_vertical_left = express_getattr(IfcDoorTypeOperationEnum, 'LIFTING_VERTICAL_LEFT', INDETERMINATE) -lifting_vertical_right = express_getattr(IfcDoorTypeOperationEnum, 'LIFTING_VERTICAL_RIGHT', INDETERMINATE) -revolving_vertical = express_getattr(IfcDoorTypeOperationEnum, 'REVOLVING_VERTICAL', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_swing_left = IfcDoorTypeOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorTypeOperationEnum.SINGLE_SWING_RIGHT +double_panel_single_swing = IfcDoorTypeOperationEnum.DOUBLE_PANEL_SINGLE_SWING +double_panel_single_swing_opposite_left = IfcDoorTypeOperationEnum.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT +double_panel_single_swing_opposite_right = IfcDoorTypeOperationEnum.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT +double_swing_left = IfcDoorTypeOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorTypeOperationEnum.DOUBLE_SWING_RIGHT +double_panel_double_swing = IfcDoorTypeOperationEnum.DOUBLE_PANEL_DOUBLE_SWING +sliding_to_left = IfcDoorTypeOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorTypeOperationEnum.SLIDING_TO_RIGHT +double_panel_sliding = IfcDoorTypeOperationEnum.DOUBLE_PANEL_SLIDING +folding_to_left = IfcDoorTypeOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorTypeOperationEnum.FOLDING_TO_RIGHT +double_panel_folding = IfcDoorTypeOperationEnum.DOUBLE_PANEL_FOLDING +revolving_horizontal = IfcDoorTypeOperationEnum.REVOLVING_HORIZONTAL +rollingup = IfcDoorTypeOperationEnum.ROLLINGUP +swing_fixed_left = IfcDoorTypeOperationEnum.SWING_FIXED_LEFT +swing_fixed_right = IfcDoorTypeOperationEnum.SWING_FIXED_RIGHT +double_panel_lifting_vertical = IfcDoorTypeOperationEnum.DOUBLE_PANEL_LIFTING_VERTICAL +lifting_horizontal = IfcDoorTypeOperationEnum.LIFTING_HORIZONTAL +lifting_vertical_left = IfcDoorTypeOperationEnum.LIFTING_VERTICAL_LEFT +lifting_vertical_right = IfcDoorTypeOperationEnum.LIFTING_VERTICAL_RIGHT +revolving_vertical = IfcDoorTypeOperationEnum.REVOLVING_VERTICAL +userdefined = IfcDoorTypeOperationEnum.USERDEFINED +notdefined = IfcDoorTypeOperationEnum.NOTDEFINED IfcDuctFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcDuctFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcDuctFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcDuctFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcDuctFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcDuctFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcDuctFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcDuctFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcDuctFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcDuctFittingTypeEnum.BEND +connector = IfcDuctFittingTypeEnum.CONNECTOR +entry = IfcDuctFittingTypeEnum.ENTRY +exit = IfcDuctFittingTypeEnum.EXIT +junction = IfcDuctFittingTypeEnum.JUNCTION +obstruction = IfcDuctFittingTypeEnum.OBSTRUCTION +transition = IfcDuctFittingTypeEnum.TRANSITION +userdefined = IfcDuctFittingTypeEnum.USERDEFINED +notdefined = IfcDuctFittingTypeEnum.NOTDEFINED IfcDuctSegmentTypeEnum = enum_namespace() -rigidsegment = express_getattr(IfcDuctSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -flexiblesegment = express_getattr(IfcDuctSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcDuctSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +rigidsegment = IfcDuctSegmentTypeEnum.RIGIDSEGMENT +flexiblesegment = IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT +userdefined = IfcDuctSegmentTypeEnum.USERDEFINED +notdefined = IfcDuctSegmentTypeEnum.NOTDEFINED IfcDuctSilencerTypeEnum = enum_namespace() -flatoval = express_getattr(IfcDuctSilencerTypeEnum, 'FLATOVAL', INDETERMINATE) -rectangular = express_getattr(IfcDuctSilencerTypeEnum, 'RECTANGULAR', INDETERMINATE) -round = express_getattr(IfcDuctSilencerTypeEnum, 'ROUND', INDETERMINATE) -userdefined = express_getattr(IfcDuctSilencerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSilencerTypeEnum, 'NOTDEFINED', INDETERMINATE) +flatoval = IfcDuctSilencerTypeEnum.FLATOVAL +rectangular = IfcDuctSilencerTypeEnum.RECTANGULAR +round = IfcDuctSilencerTypeEnum.ROUND +userdefined = IfcDuctSilencerTypeEnum.USERDEFINED +notdefined = IfcDuctSilencerTypeEnum.NOTDEFINED IfcEarthworksCutTypeEnum = enum_namespace() -trench = express_getattr(IfcEarthworksCutTypeEnum, 'TRENCH', INDETERMINATE) -dredging = express_getattr(IfcEarthworksCutTypeEnum, 'DREDGING', INDETERMINATE) -excavation = express_getattr(IfcEarthworksCutTypeEnum, 'EXCAVATION', INDETERMINATE) -overexcavation = express_getattr(IfcEarthworksCutTypeEnum, 'OVEREXCAVATION', INDETERMINATE) -topsoilremoval = express_getattr(IfcEarthworksCutTypeEnum, 'TOPSOILREMOVAL', INDETERMINATE) -stepexcavation = express_getattr(IfcEarthworksCutTypeEnum, 'STEPEXCAVATION', INDETERMINATE) -pavementmilling = express_getattr(IfcEarthworksCutTypeEnum, 'PAVEMENTMILLING', INDETERMINATE) -cut = express_getattr(IfcEarthworksCutTypeEnum, 'CUT', INDETERMINATE) -base_excavation = express_getattr(IfcEarthworksCutTypeEnum, 'BASE_EXCAVATION', INDETERMINATE) -userdefined = express_getattr(IfcEarthworksCutTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEarthworksCutTypeEnum, 'NOTDEFINED', INDETERMINATE) +trench = IfcEarthworksCutTypeEnum.TRENCH +dredging = IfcEarthworksCutTypeEnum.DREDGING +excavation = IfcEarthworksCutTypeEnum.EXCAVATION +overexcavation = IfcEarthworksCutTypeEnum.OVEREXCAVATION +topsoilremoval = IfcEarthworksCutTypeEnum.TOPSOILREMOVAL +stepexcavation = IfcEarthworksCutTypeEnum.STEPEXCAVATION +pavementmilling = IfcEarthworksCutTypeEnum.PAVEMENTMILLING +cut = IfcEarthworksCutTypeEnum.CUT +base_excavation = IfcEarthworksCutTypeEnum.BASE_EXCAVATION +userdefined = IfcEarthworksCutTypeEnum.USERDEFINED +notdefined = IfcEarthworksCutTypeEnum.NOTDEFINED IfcEarthworksFillTypeEnum = enum_namespace() -backfill = express_getattr(IfcEarthworksFillTypeEnum, 'BACKFILL', INDETERMINATE) -counterweight = express_getattr(IfcEarthworksFillTypeEnum, 'COUNTERWEIGHT', INDETERMINATE) -subgrade = express_getattr(IfcEarthworksFillTypeEnum, 'SUBGRADE', INDETERMINATE) -embankment = express_getattr(IfcEarthworksFillTypeEnum, 'EMBANKMENT', INDETERMINATE) -transitionsection = express_getattr(IfcEarthworksFillTypeEnum, 'TRANSITIONSECTION', INDETERMINATE) -subgradebed = express_getattr(IfcEarthworksFillTypeEnum, 'SUBGRADEBED', INDETERMINATE) -slopefill = express_getattr(IfcEarthworksFillTypeEnum, 'SLOPEFILL', INDETERMINATE) -userdefined = express_getattr(IfcEarthworksFillTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEarthworksFillTypeEnum, 'NOTDEFINED', INDETERMINATE) +backfill = IfcEarthworksFillTypeEnum.BACKFILL +counterweight = IfcEarthworksFillTypeEnum.COUNTERWEIGHT +subgrade = IfcEarthworksFillTypeEnum.SUBGRADE +embankment = IfcEarthworksFillTypeEnum.EMBANKMENT +transitionsection = IfcEarthworksFillTypeEnum.TRANSITIONSECTION +subgradebed = IfcEarthworksFillTypeEnum.SUBGRADEBED +slopefill = IfcEarthworksFillTypeEnum.SLOPEFILL +userdefined = IfcEarthworksFillTypeEnum.USERDEFINED +notdefined = IfcEarthworksFillTypeEnum.NOTDEFINED IfcElectricApplianceTypeEnum = enum_namespace() -dishwasher = express_getattr(IfcElectricApplianceTypeEnum, 'DISHWASHER', INDETERMINATE) -electriccooker = express_getattr(IfcElectricApplianceTypeEnum, 'ELECTRICCOOKER', INDETERMINATE) -freestandingelectricheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGELECTRICHEATER', INDETERMINATE) -freestandingfan = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGFAN', INDETERMINATE) -freestandingwaterheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERHEATER', INDETERMINATE) -freestandingwatercooler = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERCOOLER', INDETERMINATE) -freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FREEZER', INDETERMINATE) -fridge_freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FRIDGE_FREEZER', INDETERMINATE) -handdryer = express_getattr(IfcElectricApplianceTypeEnum, 'HANDDRYER', INDETERMINATE) -kitchenmachine = express_getattr(IfcElectricApplianceTypeEnum, 'KITCHENMACHINE', INDETERMINATE) -microwave = express_getattr(IfcElectricApplianceTypeEnum, 'MICROWAVE', INDETERMINATE) -photocopier = express_getattr(IfcElectricApplianceTypeEnum, 'PHOTOCOPIER', INDETERMINATE) -refrigerator = express_getattr(IfcElectricApplianceTypeEnum, 'REFRIGERATOR', INDETERMINATE) -tumbledryer = express_getattr(IfcElectricApplianceTypeEnum, 'TUMBLEDRYER', INDETERMINATE) -vendingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'VENDINGMACHINE', INDETERMINATE) -washingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'WASHINGMACHINE', INDETERMINATE) -userdefined = express_getattr(IfcElectricApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +dishwasher = IfcElectricApplianceTypeEnum.DISHWASHER +electriccooker = IfcElectricApplianceTypeEnum.ELECTRICCOOKER +freestandingelectricheater = IfcElectricApplianceTypeEnum.FREESTANDINGELECTRICHEATER +freestandingfan = IfcElectricApplianceTypeEnum.FREESTANDINGFAN +freestandingwaterheater = IfcElectricApplianceTypeEnum.FREESTANDINGWATERHEATER +freestandingwatercooler = IfcElectricApplianceTypeEnum.FREESTANDINGWATERCOOLER +freezer = IfcElectricApplianceTypeEnum.FREEZER +fridge_freezer = IfcElectricApplianceTypeEnum.FRIDGE_FREEZER +handdryer = IfcElectricApplianceTypeEnum.HANDDRYER +kitchenmachine = IfcElectricApplianceTypeEnum.KITCHENMACHINE +microwave = IfcElectricApplianceTypeEnum.MICROWAVE +photocopier = IfcElectricApplianceTypeEnum.PHOTOCOPIER +refrigerator = IfcElectricApplianceTypeEnum.REFRIGERATOR +tumbledryer = IfcElectricApplianceTypeEnum.TUMBLEDRYER +vendingmachine = IfcElectricApplianceTypeEnum.VENDINGMACHINE +washingmachine = IfcElectricApplianceTypeEnum.WASHINGMACHINE +userdefined = IfcElectricApplianceTypeEnum.USERDEFINED +notdefined = IfcElectricApplianceTypeEnum.NOTDEFINED IfcElectricDistributionBoardTypeEnum = enum_namespace() -consumerunit = express_getattr(IfcElectricDistributionBoardTypeEnum, 'CONSUMERUNIT', INDETERMINATE) -distributionboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcElectricDistributionBoardTypeEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -switchboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'SWITCHBOARD', INDETERMINATE) -userdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'NOTDEFINED', INDETERMINATE) +consumerunit = IfcElectricDistributionBoardTypeEnum.CONSUMERUNIT +distributionboard = IfcElectricDistributionBoardTypeEnum.DISTRIBUTIONBOARD +motorcontrolcentre = IfcElectricDistributionBoardTypeEnum.MOTORCONTROLCENTRE +switchboard = IfcElectricDistributionBoardTypeEnum.SWITCHBOARD +userdefined = IfcElectricDistributionBoardTypeEnum.USERDEFINED +notdefined = IfcElectricDistributionBoardTypeEnum.NOTDEFINED IfcElectricFlowStorageDeviceTypeEnum = enum_namespace() -battery = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'BATTERY', INDETERMINATE) -capacitorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITORBANK', INDETERMINATE) -harmonicfilter = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'HARMONICFILTER', INDETERMINATE) -inductorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTORBANK', INDETERMINATE) -ups = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'UPS', INDETERMINATE) -capacitor = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITOR', INDETERMINATE) -compensator = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'COMPENSATOR', INDETERMINATE) -inductor = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTOR', INDETERMINATE) -recharger = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'RECHARGER', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +battery = IfcElectricFlowStorageDeviceTypeEnum.BATTERY +capacitorbank = IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK +harmonicfilter = IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER +inductorbank = IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK +ups = IfcElectricFlowStorageDeviceTypeEnum.UPS +capacitor = IfcElectricFlowStorageDeviceTypeEnum.CAPACITOR +compensator = IfcElectricFlowStorageDeviceTypeEnum.COMPENSATOR +inductor = IfcElectricFlowStorageDeviceTypeEnum.INDUCTOR +recharger = IfcElectricFlowStorageDeviceTypeEnum.RECHARGER +userdefined = IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED IfcElectricFlowTreatmentDeviceTypeEnum = enum_namespace() -electronicfilter = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'ELECTRONICFILTER', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +electronicfilter = IfcElectricFlowTreatmentDeviceTypeEnum.ELECTRONICFILTER +userdefined = IfcElectricFlowTreatmentDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowTreatmentDeviceTypeEnum.NOTDEFINED IfcElectricGeneratorTypeEnum = enum_namespace() -chp = express_getattr(IfcElectricGeneratorTypeEnum, 'CHP', INDETERMINATE) -enginegenerator = express_getattr(IfcElectricGeneratorTypeEnum, 'ENGINEGENERATOR', INDETERMINATE) -standalone = express_getattr(IfcElectricGeneratorTypeEnum, 'STANDALONE', INDETERMINATE) -userdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'NOTDEFINED', INDETERMINATE) +chp = IfcElectricGeneratorTypeEnum.CHP +enginegenerator = IfcElectricGeneratorTypeEnum.ENGINEGENERATOR +standalone = IfcElectricGeneratorTypeEnum.STANDALONE +userdefined = IfcElectricGeneratorTypeEnum.USERDEFINED +notdefined = IfcElectricGeneratorTypeEnum.NOTDEFINED IfcElectricMotorTypeEnum = enum_namespace() -dc = express_getattr(IfcElectricMotorTypeEnum, 'DC', INDETERMINATE) -induction = express_getattr(IfcElectricMotorTypeEnum, 'INDUCTION', INDETERMINATE) -polyphase = express_getattr(IfcElectricMotorTypeEnum, 'POLYPHASE', INDETERMINATE) -reluctancesynchronous = express_getattr(IfcElectricMotorTypeEnum, 'RELUCTANCESYNCHRONOUS', INDETERMINATE) -synchronous = express_getattr(IfcElectricMotorTypeEnum, 'SYNCHRONOUS', INDETERMINATE) -userdefined = express_getattr(IfcElectricMotorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricMotorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dc = IfcElectricMotorTypeEnum.DC +induction = IfcElectricMotorTypeEnum.INDUCTION +polyphase = IfcElectricMotorTypeEnum.POLYPHASE +reluctancesynchronous = IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS +synchronous = IfcElectricMotorTypeEnum.SYNCHRONOUS +userdefined = IfcElectricMotorTypeEnum.USERDEFINED +notdefined = IfcElectricMotorTypeEnum.NOTDEFINED IfcElectricTimeControlTypeEnum = enum_namespace() -timeclock = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMECLOCK', INDETERMINATE) -timedelay = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMEDELAY', INDETERMINATE) -relay = express_getattr(IfcElectricTimeControlTypeEnum, 'RELAY', INDETERMINATE) -userdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'NOTDEFINED', INDETERMINATE) +timeclock = IfcElectricTimeControlTypeEnum.TIMECLOCK +timedelay = IfcElectricTimeControlTypeEnum.TIMEDELAY +relay = IfcElectricTimeControlTypeEnum.RELAY +userdefined = IfcElectricTimeControlTypeEnum.USERDEFINED +notdefined = IfcElectricTimeControlTypeEnum.NOTDEFINED IfcElementAssemblyTypeEnum = enum_namespace() -accessory_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'ACCESSORY_ASSEMBLY', INDETERMINATE) -arch = express_getattr(IfcElementAssemblyTypeEnum, 'ARCH', INDETERMINATE) -beam_grid = express_getattr(IfcElementAssemblyTypeEnum, 'BEAM_GRID', INDETERMINATE) -braced_frame = express_getattr(IfcElementAssemblyTypeEnum, 'BRACED_FRAME', INDETERMINATE) -girder = express_getattr(IfcElementAssemblyTypeEnum, 'GIRDER', INDETERMINATE) -reinforcement_unit = express_getattr(IfcElementAssemblyTypeEnum, 'REINFORCEMENT_UNIT', INDETERMINATE) -rigid_frame = express_getattr(IfcElementAssemblyTypeEnum, 'RIGID_FRAME', INDETERMINATE) -slab_field = express_getattr(IfcElementAssemblyTypeEnum, 'SLAB_FIELD', INDETERMINATE) -truss = express_getattr(IfcElementAssemblyTypeEnum, 'TRUSS', INDETERMINATE) -abutment = express_getattr(IfcElementAssemblyTypeEnum, 'ABUTMENT', INDETERMINATE) -pier = express_getattr(IfcElementAssemblyTypeEnum, 'PIER', INDETERMINATE) -pylon = express_getattr(IfcElementAssemblyTypeEnum, 'PYLON', INDETERMINATE) -cross_bracing = express_getattr(IfcElementAssemblyTypeEnum, 'CROSS_BRACING', INDETERMINATE) -deck = express_getattr(IfcElementAssemblyTypeEnum, 'DECK', INDETERMINATE) -mast = express_getattr(IfcElementAssemblyTypeEnum, 'MAST', INDETERMINATE) -signalassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SIGNALASSEMBLY', INDETERMINATE) -grid = express_getattr(IfcElementAssemblyTypeEnum, 'GRID', INDETERMINATE) -shelter = express_getattr(IfcElementAssemblyTypeEnum, 'SHELTER', INDETERMINATE) -supportingassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SUPPORTINGASSEMBLY', INDETERMINATE) -suspensionassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SUSPENSIONASSEMBLY', INDETERMINATE) -traction_switching_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'TRACTION_SWITCHING_ASSEMBLY', INDETERMINATE) -trackpanel = express_getattr(IfcElementAssemblyTypeEnum, 'TRACKPANEL', INDETERMINATE) -turnoutpanel = express_getattr(IfcElementAssemblyTypeEnum, 'TURNOUTPANEL', INDETERMINATE) -dilatationpanel = express_getattr(IfcElementAssemblyTypeEnum, 'DILATATIONPANEL', INDETERMINATE) -rail_mechanical_equipment_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY', INDETERMINATE) -entranceworks = express_getattr(IfcElementAssemblyTypeEnum, 'ENTRANCEWORKS', INDETERMINATE) -sumpbuster = express_getattr(IfcElementAssemblyTypeEnum, 'SUMPBUSTER', INDETERMINATE) -traffic_calming_device = express_getattr(IfcElementAssemblyTypeEnum, 'TRAFFIC_CALMING_DEVICE', INDETERMINATE) -userdefined = express_getattr(IfcElementAssemblyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElementAssemblyTypeEnum, 'NOTDEFINED', INDETERMINATE) +accessory_assembly = IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY +arch = IfcElementAssemblyTypeEnum.ARCH +beam_grid = IfcElementAssemblyTypeEnum.BEAM_GRID +braced_frame = IfcElementAssemblyTypeEnum.BRACED_FRAME +girder = IfcElementAssemblyTypeEnum.GIRDER +reinforcement_unit = IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT +rigid_frame = IfcElementAssemblyTypeEnum.RIGID_FRAME +slab_field = IfcElementAssemblyTypeEnum.SLAB_FIELD +truss = IfcElementAssemblyTypeEnum.TRUSS +abutment = IfcElementAssemblyTypeEnum.ABUTMENT +pier = IfcElementAssemblyTypeEnum.PIER +pylon = IfcElementAssemblyTypeEnum.PYLON +cross_bracing = IfcElementAssemblyTypeEnum.CROSS_BRACING +deck = IfcElementAssemblyTypeEnum.DECK +mast = IfcElementAssemblyTypeEnum.MAST +signalassembly = IfcElementAssemblyTypeEnum.SIGNALASSEMBLY +grid = IfcElementAssemblyTypeEnum.GRID +shelter = IfcElementAssemblyTypeEnum.SHELTER +supportingassembly = IfcElementAssemblyTypeEnum.SUPPORTINGASSEMBLY +suspensionassembly = IfcElementAssemblyTypeEnum.SUSPENSIONASSEMBLY +traction_switching_assembly = IfcElementAssemblyTypeEnum.TRACTION_SWITCHING_ASSEMBLY +trackpanel = IfcElementAssemblyTypeEnum.TRACKPANEL +turnoutpanel = IfcElementAssemblyTypeEnum.TURNOUTPANEL +dilatationpanel = IfcElementAssemblyTypeEnum.DILATATIONPANEL +rail_mechanical_equipment_assembly = IfcElementAssemblyTypeEnum.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY +entranceworks = IfcElementAssemblyTypeEnum.ENTRANCEWORKS +sumpbuster = IfcElementAssemblyTypeEnum.SUMPBUSTER +traffic_calming_device = IfcElementAssemblyTypeEnum.TRAFFIC_CALMING_DEVICE +userdefined = IfcElementAssemblyTypeEnum.USERDEFINED +notdefined = IfcElementAssemblyTypeEnum.NOTDEFINED IfcElementCompositionEnum = enum_namespace() -complex = express_getattr(IfcElementCompositionEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcElementCompositionEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcElementCompositionEnum, 'PARTIAL', INDETERMINATE) +complex = IfcElementCompositionEnum.COMPLEX +element = IfcElementCompositionEnum.ELEMENT +partial = IfcElementCompositionEnum.PARTIAL IfcEngineTypeEnum = enum_namespace() -externalcombustion = express_getattr(IfcEngineTypeEnum, 'EXTERNALCOMBUSTION', INDETERMINATE) -internalcombustion = express_getattr(IfcEngineTypeEnum, 'INTERNALCOMBUSTION', INDETERMINATE) -userdefined = express_getattr(IfcEngineTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEngineTypeEnum, 'NOTDEFINED', INDETERMINATE) +externalcombustion = IfcEngineTypeEnum.EXTERNALCOMBUSTION +internalcombustion = IfcEngineTypeEnum.INTERNALCOMBUSTION +userdefined = IfcEngineTypeEnum.USERDEFINED +notdefined = IfcEngineTypeEnum.NOTDEFINED IfcEvaporativeCoolerTypeEnum = enum_namespace() -directevaporativerandommediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER', INDETERMINATE) -directevaporativerigidmediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER', INDETERMINATE) -directevaporativeslingerspackagedaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER', INDETERMINATE) -directevaporativepackagedrotaryaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER', INDETERMINATE) -directevaporativeairwasher = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEAIRWASHER', INDETERMINATE) -indirectevaporativepackageaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEPACKAGEAIRCOOLER', INDETERMINATE) -indirectevaporativewetcoil = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEWETCOIL', INDETERMINATE) -indirectevaporativecoolingtowerorcoilcooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER', INDETERMINATE) -indirectdirectcombination = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTDIRECTCOMBINATION', INDETERMINATE) -userdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'NOTDEFINED', INDETERMINATE) +directevaporativerandommediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER +directevaporativerigidmediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER +directevaporativeslingerspackagedaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER +directevaporativepackagedrotaryaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER +directevaporativeairwasher = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER +indirectevaporativepackageaircooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER +indirectevaporativewetcoil = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL +indirectevaporativecoolingtowerorcoilcooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER +indirectdirectcombination = IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION +userdefined = IfcEvaporativeCoolerTypeEnum.USERDEFINED +notdefined = IfcEvaporativeCoolerTypeEnum.NOTDEFINED IfcEvaporatorTypeEnum = enum_namespace() -directexpansion = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSION', INDETERMINATE) -directexpansionshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONSHELLANDTUBE', INDETERMINATE) -directexpansiontubeintube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONTUBEINTUBE', INDETERMINATE) -directexpansionbrazedplate = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONBRAZEDPLATE', INDETERMINATE) -floodedshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'FLOODEDSHELLANDTUBE', INDETERMINATE) -shellandcoil = express_getattr(IfcEvaporatorTypeEnum, 'SHELLANDCOIL', INDETERMINATE) -userdefined = express_getattr(IfcEvaporatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +directexpansion = IfcEvaporatorTypeEnum.DIRECTEXPANSION +directexpansionshellandtube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE +directexpansiontubeintube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE +directexpansionbrazedplate = IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE +floodedshellandtube = IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE +shellandcoil = IfcEvaporatorTypeEnum.SHELLANDCOIL +userdefined = IfcEvaporatorTypeEnum.USERDEFINED +notdefined = IfcEvaporatorTypeEnum.NOTDEFINED IfcEventTriggerTypeEnum = enum_namespace() -eventrule = express_getattr(IfcEventTriggerTypeEnum, 'EVENTRULE', INDETERMINATE) -eventmessage = express_getattr(IfcEventTriggerTypeEnum, 'EVENTMESSAGE', INDETERMINATE) -eventtime = express_getattr(IfcEventTriggerTypeEnum, 'EVENTTIME', INDETERMINATE) -eventcomplex = express_getattr(IfcEventTriggerTypeEnum, 'EVENTCOMPLEX', INDETERMINATE) -userdefined = express_getattr(IfcEventTriggerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTriggerTypeEnum, 'NOTDEFINED', INDETERMINATE) +eventrule = IfcEventTriggerTypeEnum.EVENTRULE +eventmessage = IfcEventTriggerTypeEnum.EVENTMESSAGE +eventtime = IfcEventTriggerTypeEnum.EVENTTIME +eventcomplex = IfcEventTriggerTypeEnum.EVENTCOMPLEX +userdefined = IfcEventTriggerTypeEnum.USERDEFINED +notdefined = IfcEventTriggerTypeEnum.NOTDEFINED IfcEventTypeEnum = enum_namespace() -startevent = express_getattr(IfcEventTypeEnum, 'STARTEVENT', INDETERMINATE) -endevent = express_getattr(IfcEventTypeEnum, 'ENDEVENT', INDETERMINATE) -intermediateevent = express_getattr(IfcEventTypeEnum, 'INTERMEDIATEEVENT', INDETERMINATE) -userdefined = express_getattr(IfcEventTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTypeEnum, 'NOTDEFINED', INDETERMINATE) +startevent = IfcEventTypeEnum.STARTEVENT +endevent = IfcEventTypeEnum.ENDEVENT +intermediateevent = IfcEventTypeEnum.INTERMEDIATEEVENT +userdefined = IfcEventTypeEnum.USERDEFINED +notdefined = IfcEventTypeEnum.NOTDEFINED IfcExternalSpatialElementTypeEnum = enum_namespace() -external = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_water = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_WATER', INDETERMINATE) -external_fire = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_FIRE', INDETERMINATE) -userdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +external = IfcExternalSpatialElementTypeEnum.EXTERNAL +external_earth = IfcExternalSpatialElementTypeEnum.EXTERNAL_EARTH +external_water = IfcExternalSpatialElementTypeEnum.EXTERNAL_WATER +external_fire = IfcExternalSpatialElementTypeEnum.EXTERNAL_FIRE +userdefined = IfcExternalSpatialElementTypeEnum.USERDEFINED +notdefined = IfcExternalSpatialElementTypeEnum.NOTDEFINED IfcFacilityPartCommonTypeEnum = enum_namespace() -segment = express_getattr(IfcFacilityPartCommonTypeEnum, 'SEGMENT', INDETERMINATE) -aboveground = express_getattr(IfcFacilityPartCommonTypeEnum, 'ABOVEGROUND', INDETERMINATE) -junction = express_getattr(IfcFacilityPartCommonTypeEnum, 'JUNCTION', INDETERMINATE) -levelcrossing = express_getattr(IfcFacilityPartCommonTypeEnum, 'LEVELCROSSING', INDETERMINATE) -belowground = express_getattr(IfcFacilityPartCommonTypeEnum, 'BELOWGROUND', INDETERMINATE) -substructure = express_getattr(IfcFacilityPartCommonTypeEnum, 'SUBSTRUCTURE', INDETERMINATE) -terminal = express_getattr(IfcFacilityPartCommonTypeEnum, 'TERMINAL', INDETERMINATE) -superstructure = express_getattr(IfcFacilityPartCommonTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcFacilityPartCommonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFacilityPartCommonTypeEnum, 'NOTDEFINED', INDETERMINATE) +segment = IfcFacilityPartCommonTypeEnum.SEGMENT +aboveground = IfcFacilityPartCommonTypeEnum.ABOVEGROUND +junction = IfcFacilityPartCommonTypeEnum.JUNCTION +levelcrossing = IfcFacilityPartCommonTypeEnum.LEVELCROSSING +belowground = IfcFacilityPartCommonTypeEnum.BELOWGROUND +substructure = IfcFacilityPartCommonTypeEnum.SUBSTRUCTURE +terminal = IfcFacilityPartCommonTypeEnum.TERMINAL +superstructure = IfcFacilityPartCommonTypeEnum.SUPERSTRUCTURE +userdefined = IfcFacilityPartCommonTypeEnum.USERDEFINED +notdefined = IfcFacilityPartCommonTypeEnum.NOTDEFINED IfcFacilityUsageEnum = enum_namespace() -lateral = express_getattr(IfcFacilityUsageEnum, 'LATERAL', INDETERMINATE) -region = express_getattr(IfcFacilityUsageEnum, 'REGION', INDETERMINATE) -vertical = express_getattr(IfcFacilityUsageEnum, 'VERTICAL', INDETERMINATE) -longitudinal = express_getattr(IfcFacilityUsageEnum, 'LONGITUDINAL', INDETERMINATE) -userdefined = express_getattr(IfcFacilityUsageEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFacilityUsageEnum, 'NOTDEFINED', INDETERMINATE) +lateral = IfcFacilityUsageEnum.LATERAL +region = IfcFacilityUsageEnum.REGION +vertical = IfcFacilityUsageEnum.VERTICAL +longitudinal = IfcFacilityUsageEnum.LONGITUDINAL +userdefined = IfcFacilityUsageEnum.USERDEFINED +notdefined = IfcFacilityUsageEnum.NOTDEFINED IfcFanTypeEnum = enum_namespace() -centrifugalforwardcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALFORWARDCURVED', INDETERMINATE) -centrifugalradial = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALRADIAL', INDETERMINATE) -centrifugalbackwardinclinedcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALBACKWARDINCLINEDCURVED', INDETERMINATE) -centrifugalairfoil = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALAIRFOIL', INDETERMINATE) -tubeaxial = express_getattr(IfcFanTypeEnum, 'TUBEAXIAL', INDETERMINATE) -vaneaxial = express_getattr(IfcFanTypeEnum, 'VANEAXIAL', INDETERMINATE) -propelloraxial = express_getattr(IfcFanTypeEnum, 'PROPELLORAXIAL', INDETERMINATE) -userdefined = express_getattr(IfcFanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFanTypeEnum, 'NOTDEFINED', INDETERMINATE) +centrifugalforwardcurved = IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED +centrifugalradial = IfcFanTypeEnum.CENTRIFUGALRADIAL +centrifugalbackwardinclinedcurved = IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED +centrifugalairfoil = IfcFanTypeEnum.CENTRIFUGALAIRFOIL +tubeaxial = IfcFanTypeEnum.TUBEAXIAL +vaneaxial = IfcFanTypeEnum.VANEAXIAL +propelloraxial = IfcFanTypeEnum.PROPELLORAXIAL +userdefined = IfcFanTypeEnum.USERDEFINED +notdefined = IfcFanTypeEnum.NOTDEFINED IfcFastenerTypeEnum = enum_namespace() -glue = express_getattr(IfcFastenerTypeEnum, 'GLUE', INDETERMINATE) -mortar = express_getattr(IfcFastenerTypeEnum, 'MORTAR', INDETERMINATE) -weld = express_getattr(IfcFastenerTypeEnum, 'WELD', INDETERMINATE) -userdefined = express_getattr(IfcFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +glue = IfcFastenerTypeEnum.GLUE +mortar = IfcFastenerTypeEnum.MORTAR +weld = IfcFastenerTypeEnum.WELD +userdefined = IfcFastenerTypeEnum.USERDEFINED +notdefined = IfcFastenerTypeEnum.NOTDEFINED IfcFilterTypeEnum = enum_namespace() -airparticlefilter = express_getattr(IfcFilterTypeEnum, 'AIRPARTICLEFILTER', INDETERMINATE) -compressedairfilter = express_getattr(IfcFilterTypeEnum, 'COMPRESSEDAIRFILTER', INDETERMINATE) -odorfilter = express_getattr(IfcFilterTypeEnum, 'ODORFILTER', INDETERMINATE) -oilfilter = express_getattr(IfcFilterTypeEnum, 'OILFILTER', INDETERMINATE) -strainer = express_getattr(IfcFilterTypeEnum, 'STRAINER', INDETERMINATE) -waterfilter = express_getattr(IfcFilterTypeEnum, 'WATERFILTER', INDETERMINATE) -userdefined = express_getattr(IfcFilterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFilterTypeEnum, 'NOTDEFINED', INDETERMINATE) +airparticlefilter = IfcFilterTypeEnum.AIRPARTICLEFILTER +compressedairfilter = IfcFilterTypeEnum.COMPRESSEDAIRFILTER +odorfilter = IfcFilterTypeEnum.ODORFILTER +oilfilter = IfcFilterTypeEnum.OILFILTER +strainer = IfcFilterTypeEnum.STRAINER +waterfilter = IfcFilterTypeEnum.WATERFILTER +userdefined = IfcFilterTypeEnum.USERDEFINED +notdefined = IfcFilterTypeEnum.NOTDEFINED IfcFireSuppressionTerminalTypeEnum = enum_namespace() -breechinginlet = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'BREECHINGINLET', INDETERMINATE) -firehydrant = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'FIREHYDRANT', INDETERMINATE) -hosereel = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -sprinkler = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLER', INDETERMINATE) -sprinklerdeflector = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLERDEFLECTOR', INDETERMINATE) -firemonitor = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'FIREMONITOR', INDETERMINATE) -userdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +breechinginlet = IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET +firehydrant = IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT +hosereel = IfcFireSuppressionTerminalTypeEnum.HOSEREEL +sprinkler = IfcFireSuppressionTerminalTypeEnum.SPRINKLER +sprinklerdeflector = IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR +firemonitor = IfcFireSuppressionTerminalTypeEnum.FIREMONITOR +userdefined = IfcFireSuppressionTerminalTypeEnum.USERDEFINED +notdefined = IfcFireSuppressionTerminalTypeEnum.NOTDEFINED IfcFlowDirectionEnum = enum_namespace() -source = express_getattr(IfcFlowDirectionEnum, 'SOURCE', INDETERMINATE) -sink = express_getattr(IfcFlowDirectionEnum, 'SINK', INDETERMINATE) -sourceandsink = express_getattr(IfcFlowDirectionEnum, 'SOURCEANDSINK', INDETERMINATE) -notdefined = express_getattr(IfcFlowDirectionEnum, 'NOTDEFINED', INDETERMINATE) +source = IfcFlowDirectionEnum.SOURCE +sink = IfcFlowDirectionEnum.SINK +sourceandsink = IfcFlowDirectionEnum.SOURCEANDSINK +notdefined = IfcFlowDirectionEnum.NOTDEFINED IfcFlowInstrumentTypeEnum = enum_namespace() -pressuregauge = express_getattr(IfcFlowInstrumentTypeEnum, 'PRESSUREGAUGE', INDETERMINATE) -thermometer = express_getattr(IfcFlowInstrumentTypeEnum, 'THERMOMETER', INDETERMINATE) -ammeter = express_getattr(IfcFlowInstrumentTypeEnum, 'AMMETER', INDETERMINATE) -frequencymeter = express_getattr(IfcFlowInstrumentTypeEnum, 'FREQUENCYMETER', INDETERMINATE) -powerfactormeter = express_getattr(IfcFlowInstrumentTypeEnum, 'POWERFACTORMETER', INDETERMINATE) -phaseanglemeter = express_getattr(IfcFlowInstrumentTypeEnum, 'PHASEANGLEMETER', INDETERMINATE) -voltmeter_peak = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_PEAK', INDETERMINATE) -voltmeter_rms = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_RMS', INDETERMINATE) -combined = express_getattr(IfcFlowInstrumentTypeEnum, 'COMBINED', INDETERMINATE) -voltmeter = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER', INDETERMINATE) -userdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'NOTDEFINED', INDETERMINATE) +pressuregauge = IfcFlowInstrumentTypeEnum.PRESSUREGAUGE +thermometer = IfcFlowInstrumentTypeEnum.THERMOMETER +ammeter = IfcFlowInstrumentTypeEnum.AMMETER +frequencymeter = IfcFlowInstrumentTypeEnum.FREQUENCYMETER +powerfactormeter = IfcFlowInstrumentTypeEnum.POWERFACTORMETER +phaseanglemeter = IfcFlowInstrumentTypeEnum.PHASEANGLEMETER +voltmeter_peak = IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK +voltmeter_rms = IfcFlowInstrumentTypeEnum.VOLTMETER_RMS +combined = IfcFlowInstrumentTypeEnum.COMBINED +voltmeter = IfcFlowInstrumentTypeEnum.VOLTMETER +userdefined = IfcFlowInstrumentTypeEnum.USERDEFINED +notdefined = IfcFlowInstrumentTypeEnum.NOTDEFINED IfcFlowMeterTypeEnum = enum_namespace() -energymeter = express_getattr(IfcFlowMeterTypeEnum, 'ENERGYMETER', INDETERMINATE) -gasmeter = express_getattr(IfcFlowMeterTypeEnum, 'GASMETER', INDETERMINATE) -oilmeter = express_getattr(IfcFlowMeterTypeEnum, 'OILMETER', INDETERMINATE) -watermeter = express_getattr(IfcFlowMeterTypeEnum, 'WATERMETER', INDETERMINATE) -userdefined = express_getattr(IfcFlowMeterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowMeterTypeEnum, 'NOTDEFINED', INDETERMINATE) +energymeter = IfcFlowMeterTypeEnum.ENERGYMETER +gasmeter = IfcFlowMeterTypeEnum.GASMETER +oilmeter = IfcFlowMeterTypeEnum.OILMETER +watermeter = IfcFlowMeterTypeEnum.WATERMETER +userdefined = IfcFlowMeterTypeEnum.USERDEFINED +notdefined = IfcFlowMeterTypeEnum.NOTDEFINED IfcFootingTypeEnum = enum_namespace() -caisson_foundation = express_getattr(IfcFootingTypeEnum, 'CAISSON_FOUNDATION', INDETERMINATE) -footing_beam = express_getattr(IfcFootingTypeEnum, 'FOOTING_BEAM', INDETERMINATE) -pad_footing = express_getattr(IfcFootingTypeEnum, 'PAD_FOOTING', INDETERMINATE) -pile_cap = express_getattr(IfcFootingTypeEnum, 'PILE_CAP', INDETERMINATE) -strip_footing = express_getattr(IfcFootingTypeEnum, 'STRIP_FOOTING', INDETERMINATE) -userdefined = express_getattr(IfcFootingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFootingTypeEnum, 'NOTDEFINED', INDETERMINATE) +caisson_foundation = IfcFootingTypeEnum.CAISSON_FOUNDATION +footing_beam = IfcFootingTypeEnum.FOOTING_BEAM +pad_footing = IfcFootingTypeEnum.PAD_FOOTING +pile_cap = IfcFootingTypeEnum.PILE_CAP +strip_footing = IfcFootingTypeEnum.STRIP_FOOTING +userdefined = IfcFootingTypeEnum.USERDEFINED +notdefined = IfcFootingTypeEnum.NOTDEFINED IfcFurnitureTypeEnum = enum_namespace() -chair = express_getattr(IfcFurnitureTypeEnum, 'CHAIR', INDETERMINATE) -table = express_getattr(IfcFurnitureTypeEnum, 'TABLE', INDETERMINATE) -desk = express_getattr(IfcFurnitureTypeEnum, 'DESK', INDETERMINATE) -bed = express_getattr(IfcFurnitureTypeEnum, 'BED', INDETERMINATE) -filecabinet = express_getattr(IfcFurnitureTypeEnum, 'FILECABINET', INDETERMINATE) -shelf = express_getattr(IfcFurnitureTypeEnum, 'SHELF', INDETERMINATE) -sofa = express_getattr(IfcFurnitureTypeEnum, 'SOFA', INDETERMINATE) -technicalcabinet = express_getattr(IfcFurnitureTypeEnum, 'TECHNICALCABINET', INDETERMINATE) -userdefined = express_getattr(IfcFurnitureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFurnitureTypeEnum, 'NOTDEFINED', INDETERMINATE) +chair = IfcFurnitureTypeEnum.CHAIR +table = IfcFurnitureTypeEnum.TABLE +desk = IfcFurnitureTypeEnum.DESK +bed = IfcFurnitureTypeEnum.BED +filecabinet = IfcFurnitureTypeEnum.FILECABINET +shelf = IfcFurnitureTypeEnum.SHELF +sofa = IfcFurnitureTypeEnum.SOFA +technicalcabinet = IfcFurnitureTypeEnum.TECHNICALCABINET +userdefined = IfcFurnitureTypeEnum.USERDEFINED +notdefined = IfcFurnitureTypeEnum.NOTDEFINED IfcGeographicElementTypeEnum = enum_namespace() -terrain = express_getattr(IfcGeographicElementTypeEnum, 'TERRAIN', INDETERMINATE) -soil_boring_point = express_getattr(IfcGeographicElementTypeEnum, 'SOIL_BORING_POINT', INDETERMINATE) -userdefined = express_getattr(IfcGeographicElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeographicElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +terrain = IfcGeographicElementTypeEnum.TERRAIN +soil_boring_point = IfcGeographicElementTypeEnum.SOIL_BORING_POINT +userdefined = IfcGeographicElementTypeEnum.USERDEFINED +notdefined = IfcGeographicElementTypeEnum.NOTDEFINED IfcGeometricProjectionEnum = enum_namespace() -graph_view = express_getattr(IfcGeometricProjectionEnum, 'GRAPH_VIEW', INDETERMINATE) -sketch_view = express_getattr(IfcGeometricProjectionEnum, 'SKETCH_VIEW', INDETERMINATE) -model_view = express_getattr(IfcGeometricProjectionEnum, 'MODEL_VIEW', INDETERMINATE) -plan_view = express_getattr(IfcGeometricProjectionEnum, 'PLAN_VIEW', INDETERMINATE) -reflected_plan_view = express_getattr(IfcGeometricProjectionEnum, 'REFLECTED_PLAN_VIEW', INDETERMINATE) -section_view = express_getattr(IfcGeometricProjectionEnum, 'SECTION_VIEW', INDETERMINATE) -elevation_view = express_getattr(IfcGeometricProjectionEnum, 'ELEVATION_VIEW', INDETERMINATE) -userdefined = express_getattr(IfcGeometricProjectionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeometricProjectionEnum, 'NOTDEFINED', INDETERMINATE) +graph_view = IfcGeometricProjectionEnum.GRAPH_VIEW +sketch_view = IfcGeometricProjectionEnum.SKETCH_VIEW +model_view = IfcGeometricProjectionEnum.MODEL_VIEW +plan_view = IfcGeometricProjectionEnum.PLAN_VIEW +reflected_plan_view = IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW +section_view = IfcGeometricProjectionEnum.SECTION_VIEW +elevation_view = IfcGeometricProjectionEnum.ELEVATION_VIEW +userdefined = IfcGeometricProjectionEnum.USERDEFINED +notdefined = IfcGeometricProjectionEnum.NOTDEFINED IfcGlobalOrLocalEnum = enum_namespace() -global_coords = express_getattr(IfcGlobalOrLocalEnum, 'GLOBAL_COORDS', INDETERMINATE) -local_coords = express_getattr(IfcGlobalOrLocalEnum, 'LOCAL_COORDS', INDETERMINATE) +global_coords = IfcGlobalOrLocalEnum.GLOBAL_COORDS +local_coords = IfcGlobalOrLocalEnum.LOCAL_COORDS IfcGridTypeEnum = enum_namespace() -rectangular = express_getattr(IfcGridTypeEnum, 'RECTANGULAR', INDETERMINATE) -radial = express_getattr(IfcGridTypeEnum, 'RADIAL', INDETERMINATE) -triangular = express_getattr(IfcGridTypeEnum, 'TRIANGULAR', INDETERMINATE) -irregular = express_getattr(IfcGridTypeEnum, 'IRREGULAR', INDETERMINATE) -userdefined = express_getattr(IfcGridTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGridTypeEnum, 'NOTDEFINED', INDETERMINATE) +rectangular = IfcGridTypeEnum.RECTANGULAR +radial = IfcGridTypeEnum.RADIAL +triangular = IfcGridTypeEnum.TRIANGULAR +irregular = IfcGridTypeEnum.IRREGULAR +userdefined = IfcGridTypeEnum.USERDEFINED +notdefined = IfcGridTypeEnum.NOTDEFINED IfcHeatExchangerTypeEnum = enum_namespace() -plate = express_getattr(IfcHeatExchangerTypeEnum, 'PLATE', INDETERMINATE) -shellandtube = express_getattr(IfcHeatExchangerTypeEnum, 'SHELLANDTUBE', INDETERMINATE) -turnoutheating = express_getattr(IfcHeatExchangerTypeEnum, 'TURNOUTHEATING', INDETERMINATE) -userdefined = express_getattr(IfcHeatExchangerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHeatExchangerTypeEnum, 'NOTDEFINED', INDETERMINATE) +plate = IfcHeatExchangerTypeEnum.PLATE +shellandtube = IfcHeatExchangerTypeEnum.SHELLANDTUBE +turnoutheating = IfcHeatExchangerTypeEnum.TURNOUTHEATING +userdefined = IfcHeatExchangerTypeEnum.USERDEFINED +notdefined = IfcHeatExchangerTypeEnum.NOTDEFINED IfcHumidifierTypeEnum = enum_namespace() -steaminjection = express_getattr(IfcHumidifierTypeEnum, 'STEAMINJECTION', INDETERMINATE) -adiabaticairwasher = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICAIRWASHER', INDETERMINATE) -adiabaticpan = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICPAN', INDETERMINATE) -adiabaticwettedelement = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICWETTEDELEMENT', INDETERMINATE) -adiabaticatomizing = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICATOMIZING', INDETERMINATE) -adiabaticultrasonic = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICULTRASONIC', INDETERMINATE) -adiabaticrigidmedia = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICRIGIDMEDIA', INDETERMINATE) -adiabaticcompressedairnozzle = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICCOMPRESSEDAIRNOZZLE', INDETERMINATE) -assistedelectric = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDELECTRIC', INDETERMINATE) -assistednaturalgas = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDNATURALGAS', INDETERMINATE) -assistedpropane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDPROPANE', INDETERMINATE) -assistedbutane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDBUTANE', INDETERMINATE) -assistedsteam = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDSTEAM', INDETERMINATE) -userdefined = express_getattr(IfcHumidifierTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHumidifierTypeEnum, 'NOTDEFINED', INDETERMINATE) +steaminjection = IfcHumidifierTypeEnum.STEAMINJECTION +adiabaticairwasher = IfcHumidifierTypeEnum.ADIABATICAIRWASHER +adiabaticpan = IfcHumidifierTypeEnum.ADIABATICPAN +adiabaticwettedelement = IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT +adiabaticatomizing = IfcHumidifierTypeEnum.ADIABATICATOMIZING +adiabaticultrasonic = IfcHumidifierTypeEnum.ADIABATICULTRASONIC +adiabaticrigidmedia = IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA +adiabaticcompressedairnozzle = IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE +assistedelectric = IfcHumidifierTypeEnum.ASSISTEDELECTRIC +assistednaturalgas = IfcHumidifierTypeEnum.ASSISTEDNATURALGAS +assistedpropane = IfcHumidifierTypeEnum.ASSISTEDPROPANE +assistedbutane = IfcHumidifierTypeEnum.ASSISTEDBUTANE +assistedsteam = IfcHumidifierTypeEnum.ASSISTEDSTEAM +userdefined = IfcHumidifierTypeEnum.USERDEFINED +notdefined = IfcHumidifierTypeEnum.NOTDEFINED IfcImpactProtectionDeviceTypeEnum = enum_namespace() -crashcushion = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'CRASHCUSHION', INDETERMINATE) -dampingsystem = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'DAMPINGSYSTEM', INDETERMINATE) -fender = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'FENDER', INDETERMINATE) -bumper = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'BUMPER', INDETERMINATE) -userdefined = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +crashcushion = IfcImpactProtectionDeviceTypeEnum.CRASHCUSHION +dampingsystem = IfcImpactProtectionDeviceTypeEnum.DAMPINGSYSTEM +fender = IfcImpactProtectionDeviceTypeEnum.FENDER +bumper = IfcImpactProtectionDeviceTypeEnum.BUMPER +userdefined = IfcImpactProtectionDeviceTypeEnum.USERDEFINED +notdefined = IfcImpactProtectionDeviceTypeEnum.NOTDEFINED IfcInterceptorTypeEnum = enum_namespace() -cyclonic = express_getattr(IfcInterceptorTypeEnum, 'CYCLONIC', INDETERMINATE) -grease = express_getattr(IfcInterceptorTypeEnum, 'GREASE', INDETERMINATE) -oil = express_getattr(IfcInterceptorTypeEnum, 'OIL', INDETERMINATE) -petrol = express_getattr(IfcInterceptorTypeEnum, 'PETROL', INDETERMINATE) -userdefined = express_getattr(IfcInterceptorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInterceptorTypeEnum, 'NOTDEFINED', INDETERMINATE) +cyclonic = IfcInterceptorTypeEnum.CYCLONIC +grease = IfcInterceptorTypeEnum.GREASE +oil = IfcInterceptorTypeEnum.OIL +petrol = IfcInterceptorTypeEnum.PETROL +userdefined = IfcInterceptorTypeEnum.USERDEFINED +notdefined = IfcInterceptorTypeEnum.NOTDEFINED IfcInternalOrExternalEnum = enum_namespace() -internal = express_getattr(IfcInternalOrExternalEnum, 'INTERNAL', INDETERMINATE) -external = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_water = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_WATER', INDETERMINATE) -external_fire = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_FIRE', INDETERMINATE) -notdefined = express_getattr(IfcInternalOrExternalEnum, 'NOTDEFINED', INDETERMINATE) +internal = IfcInternalOrExternalEnum.INTERNAL +external = IfcInternalOrExternalEnum.EXTERNAL +external_earth = IfcInternalOrExternalEnum.EXTERNAL_EARTH +external_water = IfcInternalOrExternalEnum.EXTERNAL_WATER +external_fire = IfcInternalOrExternalEnum.EXTERNAL_FIRE +notdefined = IfcInternalOrExternalEnum.NOTDEFINED IfcInventoryTypeEnum = enum_namespace() -assetinventory = express_getattr(IfcInventoryTypeEnum, 'ASSETINVENTORY', INDETERMINATE) -spaceinventory = express_getattr(IfcInventoryTypeEnum, 'SPACEINVENTORY', INDETERMINATE) -furnitureinventory = express_getattr(IfcInventoryTypeEnum, 'FURNITUREINVENTORY', INDETERMINATE) -userdefined = express_getattr(IfcInventoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInventoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +assetinventory = IfcInventoryTypeEnum.ASSETINVENTORY +spaceinventory = IfcInventoryTypeEnum.SPACEINVENTORY +furnitureinventory = IfcInventoryTypeEnum.FURNITUREINVENTORY +userdefined = IfcInventoryTypeEnum.USERDEFINED +notdefined = IfcInventoryTypeEnum.NOTDEFINED IfcJunctionBoxTypeEnum = enum_namespace() -data = express_getattr(IfcJunctionBoxTypeEnum, 'DATA', INDETERMINATE) -power = express_getattr(IfcJunctionBoxTypeEnum, 'POWER', INDETERMINATE) -userdefined = express_getattr(IfcJunctionBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcJunctionBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +data = IfcJunctionBoxTypeEnum.DATA +power = IfcJunctionBoxTypeEnum.POWER +userdefined = IfcJunctionBoxTypeEnum.USERDEFINED +notdefined = IfcJunctionBoxTypeEnum.NOTDEFINED IfcKnotType = enum_namespace() -uniform_knots = express_getattr(IfcKnotType, 'UNIFORM_KNOTS', INDETERMINATE) -quasi_uniform_knots = express_getattr(IfcKnotType, 'QUASI_UNIFORM_KNOTS', INDETERMINATE) -piecewise_bezier_knots = express_getattr(IfcKnotType, 'PIECEWISE_BEZIER_KNOTS', INDETERMINATE) -unspecified = express_getattr(IfcKnotType, 'UNSPECIFIED', INDETERMINATE) +uniform_knots = IfcKnotType.UNIFORM_KNOTS +quasi_uniform_knots = IfcKnotType.QUASI_UNIFORM_KNOTS +piecewise_bezier_knots = IfcKnotType.PIECEWISE_BEZIER_KNOTS +unspecified = IfcKnotType.UNSPECIFIED IfcLaborResourceTypeEnum = enum_namespace() -administration = express_getattr(IfcLaborResourceTypeEnum, 'ADMINISTRATION', INDETERMINATE) -carpentry = express_getattr(IfcLaborResourceTypeEnum, 'CARPENTRY', INDETERMINATE) -cleaning = express_getattr(IfcLaborResourceTypeEnum, 'CLEANING', INDETERMINATE) -concrete = express_getattr(IfcLaborResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcLaborResourceTypeEnum, 'DRYWALL', INDETERMINATE) -electric = express_getattr(IfcLaborResourceTypeEnum, 'ELECTRIC', INDETERMINATE) -finishing = express_getattr(IfcLaborResourceTypeEnum, 'FINISHING', INDETERMINATE) -flooring = express_getattr(IfcLaborResourceTypeEnum, 'FLOORING', INDETERMINATE) -general = express_getattr(IfcLaborResourceTypeEnum, 'GENERAL', INDETERMINATE) -hvac = express_getattr(IfcLaborResourceTypeEnum, 'HVAC', INDETERMINATE) -landscaping = express_getattr(IfcLaborResourceTypeEnum, 'LANDSCAPING', INDETERMINATE) -masonry = express_getattr(IfcLaborResourceTypeEnum, 'MASONRY', INDETERMINATE) -painting = express_getattr(IfcLaborResourceTypeEnum, 'PAINTING', INDETERMINATE) -paving = express_getattr(IfcLaborResourceTypeEnum, 'PAVING', INDETERMINATE) -plumbing = express_getattr(IfcLaborResourceTypeEnum, 'PLUMBING', INDETERMINATE) -roofing = express_getattr(IfcLaborResourceTypeEnum, 'ROOFING', INDETERMINATE) -sitegrading = express_getattr(IfcLaborResourceTypeEnum, 'SITEGRADING', INDETERMINATE) -steelwork = express_getattr(IfcLaborResourceTypeEnum, 'STEELWORK', INDETERMINATE) -surveying = express_getattr(IfcLaborResourceTypeEnum, 'SURVEYING', INDETERMINATE) -userdefined = express_getattr(IfcLaborResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLaborResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +administration = IfcLaborResourceTypeEnum.ADMINISTRATION +carpentry = IfcLaborResourceTypeEnum.CARPENTRY +cleaning = IfcLaborResourceTypeEnum.CLEANING +concrete = IfcLaborResourceTypeEnum.CONCRETE +drywall = IfcLaborResourceTypeEnum.DRYWALL +electric = IfcLaborResourceTypeEnum.ELECTRIC +finishing = IfcLaborResourceTypeEnum.FINISHING +flooring = IfcLaborResourceTypeEnum.FLOORING +general = IfcLaborResourceTypeEnum.GENERAL +hvac = IfcLaborResourceTypeEnum.HVAC +landscaping = IfcLaborResourceTypeEnum.LANDSCAPING +masonry = IfcLaborResourceTypeEnum.MASONRY +painting = IfcLaborResourceTypeEnum.PAINTING +paving = IfcLaborResourceTypeEnum.PAVING +plumbing = IfcLaborResourceTypeEnum.PLUMBING +roofing = IfcLaborResourceTypeEnum.ROOFING +sitegrading = IfcLaborResourceTypeEnum.SITEGRADING +steelwork = IfcLaborResourceTypeEnum.STEELWORK +surveying = IfcLaborResourceTypeEnum.SURVEYING +userdefined = IfcLaborResourceTypeEnum.USERDEFINED +notdefined = IfcLaborResourceTypeEnum.NOTDEFINED IfcLampTypeEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLampTypeEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLampTypeEnum, 'FLUORESCENT', INDETERMINATE) -halogen = express_getattr(IfcLampTypeEnum, 'HALOGEN', INDETERMINATE) -highpressuremercury = express_getattr(IfcLampTypeEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLampTypeEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -led = express_getattr(IfcLampTypeEnum, 'LED', INDETERMINATE) -metalhalide = express_getattr(IfcLampTypeEnum, 'METALHALIDE', INDETERMINATE) -oled = express_getattr(IfcLampTypeEnum, 'OLED', INDETERMINATE) -tungstenfilament = express_getattr(IfcLampTypeEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -userdefined = express_getattr(IfcLampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLampTypeEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLampTypeEnum.COMPACTFLUORESCENT +fluorescent = IfcLampTypeEnum.FLUORESCENT +halogen = IfcLampTypeEnum.HALOGEN +highpressuremercury = IfcLampTypeEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLampTypeEnum.HIGHPRESSURESODIUM +led = IfcLampTypeEnum.LED +metalhalide = IfcLampTypeEnum.METALHALIDE +oled = IfcLampTypeEnum.OLED +tungstenfilament = IfcLampTypeEnum.TUNGSTENFILAMENT +userdefined = IfcLampTypeEnum.USERDEFINED +notdefined = IfcLampTypeEnum.NOTDEFINED IfcLayerSetDirectionEnum = enum_namespace() -axis1 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS1', INDETERMINATE) -axis2 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS2', INDETERMINATE) -axis3 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS3', INDETERMINATE) +axis1 = IfcLayerSetDirectionEnum.AXIS1 +axis2 = IfcLayerSetDirectionEnum.AXIS2 +axis3 = IfcLayerSetDirectionEnum.AXIS3 IfcLightDistributionCurveEnum = enum_namespace() -type_a = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_A', INDETERMINATE) -type_b = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_B', INDETERMINATE) -type_c = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_C', INDETERMINATE) -notdefined = express_getattr(IfcLightDistributionCurveEnum, 'NOTDEFINED', INDETERMINATE) +type_a = IfcLightDistributionCurveEnum.TYPE_A +type_b = IfcLightDistributionCurveEnum.TYPE_B +type_c = IfcLightDistributionCurveEnum.TYPE_C +notdefined = IfcLightDistributionCurveEnum.NOTDEFINED IfcLightEmissionSourceEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLightEmissionSourceEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLightEmissionSourceEnum, 'FLUORESCENT', INDETERMINATE) -highpressuremercury = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -lightemittingdiode = express_getattr(IfcLightEmissionSourceEnum, 'LIGHTEMITTINGDIODE', INDETERMINATE) -lowpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'LOWPRESSURESODIUM', INDETERMINATE) -lowvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'LOWVOLTAGEHALOGEN', INDETERMINATE) -mainvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'MAINVOLTAGEHALOGEN', INDETERMINATE) -metalhalide = express_getattr(IfcLightEmissionSourceEnum, 'METALHALIDE', INDETERMINATE) -tungstenfilament = express_getattr(IfcLightEmissionSourceEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -notdefined = express_getattr(IfcLightEmissionSourceEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLightEmissionSourceEnum.COMPACTFLUORESCENT +fluorescent = IfcLightEmissionSourceEnum.FLUORESCENT +highpressuremercury = IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM +lightemittingdiode = IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE +lowpressuresodium = IfcLightEmissionSourceEnum.LOWPRESSURESODIUM +lowvoltagehalogen = IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN +mainvoltagehalogen = IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN +metalhalide = IfcLightEmissionSourceEnum.METALHALIDE +tungstenfilament = IfcLightEmissionSourceEnum.TUNGSTENFILAMENT +notdefined = IfcLightEmissionSourceEnum.NOTDEFINED IfcLightFixtureTypeEnum = enum_namespace() -pointsource = express_getattr(IfcLightFixtureTypeEnum, 'POINTSOURCE', INDETERMINATE) -directionsource = express_getattr(IfcLightFixtureTypeEnum, 'DIRECTIONSOURCE', INDETERMINATE) -securitylighting = express_getattr(IfcLightFixtureTypeEnum, 'SECURITYLIGHTING', INDETERMINATE) -userdefined = express_getattr(IfcLightFixtureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLightFixtureTypeEnum, 'NOTDEFINED', INDETERMINATE) +pointsource = IfcLightFixtureTypeEnum.POINTSOURCE +directionsource = IfcLightFixtureTypeEnum.DIRECTIONSOURCE +securitylighting = IfcLightFixtureTypeEnum.SECURITYLIGHTING +userdefined = IfcLightFixtureTypeEnum.USERDEFINED +notdefined = IfcLightFixtureTypeEnum.NOTDEFINED IfcLiquidTerminalTypeEnum = enum_namespace() -loadingarm = express_getattr(IfcLiquidTerminalTypeEnum, 'LOADINGARM', INDETERMINATE) -hosereel = express_getattr(IfcLiquidTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -userdefined = express_getattr(IfcLiquidTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLiquidTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +loadingarm = IfcLiquidTerminalTypeEnum.LOADINGARM +hosereel = IfcLiquidTerminalTypeEnum.HOSEREEL +userdefined = IfcLiquidTerminalTypeEnum.USERDEFINED +notdefined = IfcLiquidTerminalTypeEnum.NOTDEFINED IfcLoadGroupTypeEnum = enum_namespace() -load_group = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_GROUP', INDETERMINATE) -load_case = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_CASE', INDETERMINATE) -load_combination = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_COMBINATION', INDETERMINATE) -userdefined = express_getattr(IfcLoadGroupTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLoadGroupTypeEnum, 'NOTDEFINED', INDETERMINATE) +load_group = IfcLoadGroupTypeEnum.LOAD_GROUP +load_case = IfcLoadGroupTypeEnum.LOAD_CASE +load_combination = IfcLoadGroupTypeEnum.LOAD_COMBINATION +userdefined = IfcLoadGroupTypeEnum.USERDEFINED +notdefined = IfcLoadGroupTypeEnum.NOTDEFINED IfcLogicalOperatorEnum = enum_namespace() -logicaland = express_getattr(IfcLogicalOperatorEnum, 'LOGICALAND', INDETERMINATE) -logicalor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALOR', INDETERMINATE) -logicalxor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALXOR', INDETERMINATE) -logicalnotand = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTAND', INDETERMINATE) -logicalnotor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTOR', INDETERMINATE) +logicaland = IfcLogicalOperatorEnum.LOGICALAND +logicalor = IfcLogicalOperatorEnum.LOGICALOR +logicalxor = IfcLogicalOperatorEnum.LOGICALXOR +logicalnotand = IfcLogicalOperatorEnum.LOGICALNOTAND +logicalnotor = IfcLogicalOperatorEnum.LOGICALNOTOR IfcMarineFacilityTypeEnum = enum_namespace() -canal = express_getattr(IfcMarineFacilityTypeEnum, 'CANAL', INDETERMINATE) -waterwayshiplift = express_getattr(IfcMarineFacilityTypeEnum, 'WATERWAYSHIPLIFT', INDETERMINATE) -revetment = express_getattr(IfcMarineFacilityTypeEnum, 'REVETMENT', INDETERMINATE) -launchrecovery = express_getattr(IfcMarineFacilityTypeEnum, 'LAUNCHRECOVERY', INDETERMINATE) -marinedefence = express_getattr(IfcMarineFacilityTypeEnum, 'MARINEDEFENCE', INDETERMINATE) -hydrolift = express_getattr(IfcMarineFacilityTypeEnum, 'HYDROLIFT', INDETERMINATE) -shipyard = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPYARD', INDETERMINATE) -shiplift = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPLIFT', INDETERMINATE) -port = express_getattr(IfcMarineFacilityTypeEnum, 'PORT', INDETERMINATE) -quay = express_getattr(IfcMarineFacilityTypeEnum, 'QUAY', INDETERMINATE) -floatingdock = express_getattr(IfcMarineFacilityTypeEnum, 'FLOATINGDOCK', INDETERMINATE) -navigationalchannel = express_getattr(IfcMarineFacilityTypeEnum, 'NAVIGATIONALCHANNEL', INDETERMINATE) -breakwater = express_getattr(IfcMarineFacilityTypeEnum, 'BREAKWATER', INDETERMINATE) -drydock = express_getattr(IfcMarineFacilityTypeEnum, 'DRYDOCK', INDETERMINATE) -jetty = express_getattr(IfcMarineFacilityTypeEnum, 'JETTY', INDETERMINATE) -shiplock = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPLOCK', INDETERMINATE) -barrierbeach = express_getattr(IfcMarineFacilityTypeEnum, 'BARRIERBEACH', INDETERMINATE) -slipway = express_getattr(IfcMarineFacilityTypeEnum, 'SLIPWAY', INDETERMINATE) -waterway = express_getattr(IfcMarineFacilityTypeEnum, 'WATERWAY', INDETERMINATE) -userdefined = express_getattr(IfcMarineFacilityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMarineFacilityTypeEnum, 'NOTDEFINED', INDETERMINATE) +canal = IfcMarineFacilityTypeEnum.CANAL +waterwayshiplift = IfcMarineFacilityTypeEnum.WATERWAYSHIPLIFT +revetment = IfcMarineFacilityTypeEnum.REVETMENT +launchrecovery = IfcMarineFacilityTypeEnum.LAUNCHRECOVERY +marinedefence = IfcMarineFacilityTypeEnum.MARINEDEFENCE +hydrolift = IfcMarineFacilityTypeEnum.HYDROLIFT +shipyard = IfcMarineFacilityTypeEnum.SHIPYARD +shiplift = IfcMarineFacilityTypeEnum.SHIPLIFT +port = IfcMarineFacilityTypeEnum.PORT +quay = IfcMarineFacilityTypeEnum.QUAY +floatingdock = IfcMarineFacilityTypeEnum.FLOATINGDOCK +navigationalchannel = IfcMarineFacilityTypeEnum.NAVIGATIONALCHANNEL +breakwater = IfcMarineFacilityTypeEnum.BREAKWATER +drydock = IfcMarineFacilityTypeEnum.DRYDOCK +jetty = IfcMarineFacilityTypeEnum.JETTY +shiplock = IfcMarineFacilityTypeEnum.SHIPLOCK +barrierbeach = IfcMarineFacilityTypeEnum.BARRIERBEACH +slipway = IfcMarineFacilityTypeEnum.SLIPWAY +waterway = IfcMarineFacilityTypeEnum.WATERWAY +userdefined = IfcMarineFacilityTypeEnum.USERDEFINED +notdefined = IfcMarineFacilityTypeEnum.NOTDEFINED IfcMarinePartTypeEnum = enum_namespace() -crest = express_getattr(IfcMarinePartTypeEnum, 'CREST', INDETERMINATE) -manufacturing = express_getattr(IfcMarinePartTypeEnum, 'MANUFACTURING', INDETERMINATE) -lowwaterline = express_getattr(IfcMarinePartTypeEnum, 'LOWWATERLINE', INDETERMINATE) -core = express_getattr(IfcMarinePartTypeEnum, 'CORE', INDETERMINATE) -waterfield = express_getattr(IfcMarinePartTypeEnum, 'WATERFIELD', INDETERMINATE) -cill_level = express_getattr(IfcMarinePartTypeEnum, 'CILL_LEVEL', INDETERMINATE) -berthingstructure = express_getattr(IfcMarinePartTypeEnum, 'BERTHINGSTRUCTURE', INDETERMINATE) -copelevel = express_getattr(IfcMarinePartTypeEnum, 'COPELEVEL', INDETERMINATE) -chamber = express_getattr(IfcMarinePartTypeEnum, 'CHAMBER', INDETERMINATE) -storagearea = express_getattr(IfcMarinePartTypeEnum, 'STORAGEAREA', INDETERMINATE) -approachchannel = express_getattr(IfcMarinePartTypeEnum, 'APPROACHCHANNEL', INDETERMINATE) -vehicleservicing = express_getattr(IfcMarinePartTypeEnum, 'VEHICLESERVICING', INDETERMINATE) -shiptransfer = express_getattr(IfcMarinePartTypeEnum, 'SHIPTRANSFER', INDETERMINATE) -gatehead = express_getattr(IfcMarinePartTypeEnum, 'GATEHEAD', INDETERMINATE) -gudingstructure = express_getattr(IfcMarinePartTypeEnum, 'GUDINGSTRUCTURE', INDETERMINATE) -belowwaterline = express_getattr(IfcMarinePartTypeEnum, 'BELOWWATERLINE', INDETERMINATE) -weatherside = express_getattr(IfcMarinePartTypeEnum, 'WEATHERSIDE', INDETERMINATE) -landfield = express_getattr(IfcMarinePartTypeEnum, 'LANDFIELD', INDETERMINATE) -protection = express_getattr(IfcMarinePartTypeEnum, 'PROTECTION', INDETERMINATE) -leewardside = express_getattr(IfcMarinePartTypeEnum, 'LEEWARDSIDE', INDETERMINATE) -abovewaterline = express_getattr(IfcMarinePartTypeEnum, 'ABOVEWATERLINE', INDETERMINATE) -anchorage = express_getattr(IfcMarinePartTypeEnum, 'ANCHORAGE', INDETERMINATE) -navigationalarea = express_getattr(IfcMarinePartTypeEnum, 'NAVIGATIONALAREA', INDETERMINATE) -highwaterline = express_getattr(IfcMarinePartTypeEnum, 'HIGHWATERLINE', INDETERMINATE) -userdefined = express_getattr(IfcMarinePartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMarinePartTypeEnum, 'NOTDEFINED', INDETERMINATE) +crest = IfcMarinePartTypeEnum.CREST +manufacturing = IfcMarinePartTypeEnum.MANUFACTURING +lowwaterline = IfcMarinePartTypeEnum.LOWWATERLINE +core = IfcMarinePartTypeEnum.CORE +waterfield = IfcMarinePartTypeEnum.WATERFIELD +cill_level = IfcMarinePartTypeEnum.CILL_LEVEL +berthingstructure = IfcMarinePartTypeEnum.BERTHINGSTRUCTURE +copelevel = IfcMarinePartTypeEnum.COPELEVEL +chamber = IfcMarinePartTypeEnum.CHAMBER +storagearea = IfcMarinePartTypeEnum.STORAGEAREA +approachchannel = IfcMarinePartTypeEnum.APPROACHCHANNEL +vehicleservicing = IfcMarinePartTypeEnum.VEHICLESERVICING +shiptransfer = IfcMarinePartTypeEnum.SHIPTRANSFER +gatehead = IfcMarinePartTypeEnum.GATEHEAD +gudingstructure = IfcMarinePartTypeEnum.GUDINGSTRUCTURE +belowwaterline = IfcMarinePartTypeEnum.BELOWWATERLINE +weatherside = IfcMarinePartTypeEnum.WEATHERSIDE +landfield = IfcMarinePartTypeEnum.LANDFIELD +protection = IfcMarinePartTypeEnum.PROTECTION +leewardside = IfcMarinePartTypeEnum.LEEWARDSIDE +abovewaterline = IfcMarinePartTypeEnum.ABOVEWATERLINE +anchorage = IfcMarinePartTypeEnum.ANCHORAGE +navigationalarea = IfcMarinePartTypeEnum.NAVIGATIONALAREA +highwaterline = IfcMarinePartTypeEnum.HIGHWATERLINE +userdefined = IfcMarinePartTypeEnum.USERDEFINED +notdefined = IfcMarinePartTypeEnum.NOTDEFINED IfcMechanicalFastenerTypeEnum = enum_namespace() -anchorbolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'ANCHORBOLT', INDETERMINATE) -bolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'BOLT', INDETERMINATE) -dowel = express_getattr(IfcMechanicalFastenerTypeEnum, 'DOWEL', INDETERMINATE) -nail = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAIL', INDETERMINATE) -nailplate = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAILPLATE', INDETERMINATE) -rivet = express_getattr(IfcMechanicalFastenerTypeEnum, 'RIVET', INDETERMINATE) -screw = express_getattr(IfcMechanicalFastenerTypeEnum, 'SCREW', INDETERMINATE) -shearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'SHEARCONNECTOR', INDETERMINATE) -staple = express_getattr(IfcMechanicalFastenerTypeEnum, 'STAPLE', INDETERMINATE) -studshearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'STUDSHEARCONNECTOR', INDETERMINATE) -coupler = express_getattr(IfcMechanicalFastenerTypeEnum, 'COUPLER', INDETERMINATE) -railjoint = express_getattr(IfcMechanicalFastenerTypeEnum, 'RAILJOINT', INDETERMINATE) -railfastening = express_getattr(IfcMechanicalFastenerTypeEnum, 'RAILFASTENING', INDETERMINATE) -chain = express_getattr(IfcMechanicalFastenerTypeEnum, 'CHAIN', INDETERMINATE) -rope = express_getattr(IfcMechanicalFastenerTypeEnum, 'ROPE', INDETERMINATE) -userdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorbolt = IfcMechanicalFastenerTypeEnum.ANCHORBOLT +bolt = IfcMechanicalFastenerTypeEnum.BOLT +dowel = IfcMechanicalFastenerTypeEnum.DOWEL +nail = IfcMechanicalFastenerTypeEnum.NAIL +nailplate = IfcMechanicalFastenerTypeEnum.NAILPLATE +rivet = IfcMechanicalFastenerTypeEnum.RIVET +screw = IfcMechanicalFastenerTypeEnum.SCREW +shearconnector = IfcMechanicalFastenerTypeEnum.SHEARCONNECTOR +staple = IfcMechanicalFastenerTypeEnum.STAPLE +studshearconnector = IfcMechanicalFastenerTypeEnum.STUDSHEARCONNECTOR +coupler = IfcMechanicalFastenerTypeEnum.COUPLER +railjoint = IfcMechanicalFastenerTypeEnum.RAILJOINT +railfastening = IfcMechanicalFastenerTypeEnum.RAILFASTENING +chain = IfcMechanicalFastenerTypeEnum.CHAIN +rope = IfcMechanicalFastenerTypeEnum.ROPE +userdefined = IfcMechanicalFastenerTypeEnum.USERDEFINED +notdefined = IfcMechanicalFastenerTypeEnum.NOTDEFINED IfcMedicalDeviceTypeEnum = enum_namespace() -airstation = express_getattr(IfcMedicalDeviceTypeEnum, 'AIRSTATION', INDETERMINATE) -feedairunit = express_getattr(IfcMedicalDeviceTypeEnum, 'FEEDAIRUNIT', INDETERMINATE) -oxygengenerator = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENGENERATOR', INDETERMINATE) -oxygenplant = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENPLANT', INDETERMINATE) -vacuumstation = express_getattr(IfcMedicalDeviceTypeEnum, 'VACUUMSTATION', INDETERMINATE) -userdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +airstation = IfcMedicalDeviceTypeEnum.AIRSTATION +feedairunit = IfcMedicalDeviceTypeEnum.FEEDAIRUNIT +oxygengenerator = IfcMedicalDeviceTypeEnum.OXYGENGENERATOR +oxygenplant = IfcMedicalDeviceTypeEnum.OXYGENPLANT +vacuumstation = IfcMedicalDeviceTypeEnum.VACUUMSTATION +userdefined = IfcMedicalDeviceTypeEnum.USERDEFINED +notdefined = IfcMedicalDeviceTypeEnum.NOTDEFINED IfcMemberTypeEnum = enum_namespace() -brace = express_getattr(IfcMemberTypeEnum, 'BRACE', INDETERMINATE) -chord = express_getattr(IfcMemberTypeEnum, 'CHORD', INDETERMINATE) -collar = express_getattr(IfcMemberTypeEnum, 'COLLAR', INDETERMINATE) -member = express_getattr(IfcMemberTypeEnum, 'MEMBER', INDETERMINATE) -mullion = express_getattr(IfcMemberTypeEnum, 'MULLION', INDETERMINATE) -plate = express_getattr(IfcMemberTypeEnum, 'PLATE', INDETERMINATE) -post = express_getattr(IfcMemberTypeEnum, 'POST', INDETERMINATE) -purlin = express_getattr(IfcMemberTypeEnum, 'PURLIN', INDETERMINATE) -rafter = express_getattr(IfcMemberTypeEnum, 'RAFTER', INDETERMINATE) -stringer = express_getattr(IfcMemberTypeEnum, 'STRINGER', INDETERMINATE) -strut = express_getattr(IfcMemberTypeEnum, 'STRUT', INDETERMINATE) -stud = express_getattr(IfcMemberTypeEnum, 'STUD', INDETERMINATE) -stiffening_rib = express_getattr(IfcMemberTypeEnum, 'STIFFENING_RIB', INDETERMINATE) -arch_segment = express_getattr(IfcMemberTypeEnum, 'ARCH_SEGMENT', INDETERMINATE) -suspension_cable = express_getattr(IfcMemberTypeEnum, 'SUSPENSION_CABLE', INDETERMINATE) -suspender = express_getattr(IfcMemberTypeEnum, 'SUSPENDER', INDETERMINATE) -stay_cable = express_getattr(IfcMemberTypeEnum, 'STAY_CABLE', INDETERMINATE) -structuralcable = express_getattr(IfcMemberTypeEnum, 'STRUCTURALCABLE', INDETERMINATE) -tiebar = express_getattr(IfcMemberTypeEnum, 'TIEBAR', INDETERMINATE) -userdefined = express_getattr(IfcMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +brace = IfcMemberTypeEnum.BRACE +chord = IfcMemberTypeEnum.CHORD +collar = IfcMemberTypeEnum.COLLAR +member = IfcMemberTypeEnum.MEMBER +mullion = IfcMemberTypeEnum.MULLION +plate = IfcMemberTypeEnum.PLATE +post = IfcMemberTypeEnum.POST +purlin = IfcMemberTypeEnum.PURLIN +rafter = IfcMemberTypeEnum.RAFTER +stringer = IfcMemberTypeEnum.STRINGER +strut = IfcMemberTypeEnum.STRUT +stud = IfcMemberTypeEnum.STUD +stiffening_rib = IfcMemberTypeEnum.STIFFENING_RIB +arch_segment = IfcMemberTypeEnum.ARCH_SEGMENT +suspension_cable = IfcMemberTypeEnum.SUSPENSION_CABLE +suspender = IfcMemberTypeEnum.SUSPENDER +stay_cable = IfcMemberTypeEnum.STAY_CABLE +structuralcable = IfcMemberTypeEnum.STRUCTURALCABLE +tiebar = IfcMemberTypeEnum.TIEBAR +userdefined = IfcMemberTypeEnum.USERDEFINED +notdefined = IfcMemberTypeEnum.NOTDEFINED IfcMobileTelecommunicationsApplianceTypeEnum = enum_namespace() -e_utran_node_b = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'E_UTRAN_NODE_B', INDETERMINATE) -remoteradiounit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'REMOTERADIOUNIT', INDETERMINATE) -accesspoint = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'ACCESSPOINT', INDETERMINATE) -basetransceiverstation = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'BASETRANSCEIVERSTATION', INDETERMINATE) -remoteunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'REMOTEUNIT', INDETERMINATE) -basebandunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'BASEBANDUNIT', INDETERMINATE) -masterunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'MASTERUNIT', INDETERMINATE) -gateway_gprs_support_node = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'GATEWAY_GPRS_SUPPORT_NODE', INDETERMINATE) -subscriberserver = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'SUBSCRIBERSERVER', INDETERMINATE) -mobileswitchingcenter = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'MOBILESWITCHINGCENTER', INDETERMINATE) -mscserver = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'MSCSERVER', INDETERMINATE) -packetcontrolunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'PACKETCONTROLUNIT', INDETERMINATE) -service_gprs_support_node = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'SERVICE_GPRS_SUPPORT_NODE', INDETERMINATE) -userdefined = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +e_utran_node_b = IfcMobileTelecommunicationsApplianceTypeEnum.E_UTRAN_NODE_B +remoteradiounit = IfcMobileTelecommunicationsApplianceTypeEnum.REMOTERADIOUNIT +accesspoint = IfcMobileTelecommunicationsApplianceTypeEnum.ACCESSPOINT +basetransceiverstation = IfcMobileTelecommunicationsApplianceTypeEnum.BASETRANSCEIVERSTATION +remoteunit = IfcMobileTelecommunicationsApplianceTypeEnum.REMOTEUNIT +basebandunit = IfcMobileTelecommunicationsApplianceTypeEnum.BASEBANDUNIT +masterunit = IfcMobileTelecommunicationsApplianceTypeEnum.MASTERUNIT +gateway_gprs_support_node = IfcMobileTelecommunicationsApplianceTypeEnum.GATEWAY_GPRS_SUPPORT_NODE +subscriberserver = IfcMobileTelecommunicationsApplianceTypeEnum.SUBSCRIBERSERVER +mobileswitchingcenter = IfcMobileTelecommunicationsApplianceTypeEnum.MOBILESWITCHINGCENTER +mscserver = IfcMobileTelecommunicationsApplianceTypeEnum.MSCSERVER +packetcontrolunit = IfcMobileTelecommunicationsApplianceTypeEnum.PACKETCONTROLUNIT +service_gprs_support_node = IfcMobileTelecommunicationsApplianceTypeEnum.SERVICE_GPRS_SUPPORT_NODE +userdefined = IfcMobileTelecommunicationsApplianceTypeEnum.USERDEFINED +notdefined = IfcMobileTelecommunicationsApplianceTypeEnum.NOTDEFINED IfcMooringDeviceTypeEnum = enum_namespace() -linetensioner = express_getattr(IfcMooringDeviceTypeEnum, 'LINETENSIONER', INDETERMINATE) -magneticdevice = express_getattr(IfcMooringDeviceTypeEnum, 'MAGNETICDEVICE', INDETERMINATE) -mooringhooks = express_getattr(IfcMooringDeviceTypeEnum, 'MOORINGHOOKS', INDETERMINATE) -vacuumdevice = express_getattr(IfcMooringDeviceTypeEnum, 'VACUUMDEVICE', INDETERMINATE) -bollard = express_getattr(IfcMooringDeviceTypeEnum, 'BOLLARD', INDETERMINATE) -userdefined = express_getattr(IfcMooringDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMooringDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +linetensioner = IfcMooringDeviceTypeEnum.LINETENSIONER +magneticdevice = IfcMooringDeviceTypeEnum.MAGNETICDEVICE +mooringhooks = IfcMooringDeviceTypeEnum.MOORINGHOOKS +vacuumdevice = IfcMooringDeviceTypeEnum.VACUUMDEVICE +bollard = IfcMooringDeviceTypeEnum.BOLLARD +userdefined = IfcMooringDeviceTypeEnum.USERDEFINED +notdefined = IfcMooringDeviceTypeEnum.NOTDEFINED IfcMotorConnectionTypeEnum = enum_namespace() -beltdrive = express_getattr(IfcMotorConnectionTypeEnum, 'BELTDRIVE', INDETERMINATE) -coupling = express_getattr(IfcMotorConnectionTypeEnum, 'COUPLING', INDETERMINATE) -directdrive = express_getattr(IfcMotorConnectionTypeEnum, 'DIRECTDRIVE', INDETERMINATE) -userdefined = express_getattr(IfcMotorConnectionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMotorConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +beltdrive = IfcMotorConnectionTypeEnum.BELTDRIVE +coupling = IfcMotorConnectionTypeEnum.COUPLING +directdrive = IfcMotorConnectionTypeEnum.DIRECTDRIVE +userdefined = IfcMotorConnectionTypeEnum.USERDEFINED +notdefined = IfcMotorConnectionTypeEnum.NOTDEFINED IfcNavigationElementTypeEnum = enum_namespace() -beacon = express_getattr(IfcNavigationElementTypeEnum, 'BEACON', INDETERMINATE) -buoy = express_getattr(IfcNavigationElementTypeEnum, 'BUOY', INDETERMINATE) -userdefined = express_getattr(IfcNavigationElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcNavigationElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +beacon = IfcNavigationElementTypeEnum.BEACON +buoy = IfcNavigationElementTypeEnum.BUOY +userdefined = IfcNavigationElementTypeEnum.USERDEFINED +notdefined = IfcNavigationElementTypeEnum.NOTDEFINED IfcObjectTypeEnum = enum_namespace() -product = express_getattr(IfcObjectTypeEnum, 'PRODUCT', INDETERMINATE) -process = express_getattr(IfcObjectTypeEnum, 'PROCESS', INDETERMINATE) -control = express_getattr(IfcObjectTypeEnum, 'CONTROL', INDETERMINATE) -resource = express_getattr(IfcObjectTypeEnum, 'RESOURCE', INDETERMINATE) -actor = express_getattr(IfcObjectTypeEnum, 'ACTOR', INDETERMINATE) -group = express_getattr(IfcObjectTypeEnum, 'GROUP', INDETERMINATE) -project = express_getattr(IfcObjectTypeEnum, 'PROJECT', INDETERMINATE) -notdefined = express_getattr(IfcObjectTypeEnum, 'NOTDEFINED', INDETERMINATE) +product = IfcObjectTypeEnum.PRODUCT +process = IfcObjectTypeEnum.PROCESS +control = IfcObjectTypeEnum.CONTROL +resource = IfcObjectTypeEnum.RESOURCE +actor = IfcObjectTypeEnum.ACTOR +group = IfcObjectTypeEnum.GROUP +project = IfcObjectTypeEnum.PROJECT +notdefined = IfcObjectTypeEnum.NOTDEFINED IfcObjectiveEnum = enum_namespace() -codecompliance = express_getattr(IfcObjectiveEnum, 'CODECOMPLIANCE', INDETERMINATE) -codewaiver = express_getattr(IfcObjectiveEnum, 'CODEWAIVER', INDETERMINATE) -designintent = express_getattr(IfcObjectiveEnum, 'DESIGNINTENT', INDETERMINATE) -external = express_getattr(IfcObjectiveEnum, 'EXTERNAL', INDETERMINATE) -healthandsafety = express_getattr(IfcObjectiveEnum, 'HEALTHANDSAFETY', INDETERMINATE) -mergeconflict = express_getattr(IfcObjectiveEnum, 'MERGECONFLICT', INDETERMINATE) -modelview = express_getattr(IfcObjectiveEnum, 'MODELVIEW', INDETERMINATE) -parameter = express_getattr(IfcObjectiveEnum, 'PARAMETER', INDETERMINATE) -requirement = express_getattr(IfcObjectiveEnum, 'REQUIREMENT', INDETERMINATE) -specification = express_getattr(IfcObjectiveEnum, 'SPECIFICATION', INDETERMINATE) -triggercondition = express_getattr(IfcObjectiveEnum, 'TRIGGERCONDITION', INDETERMINATE) -userdefined = express_getattr(IfcObjectiveEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcObjectiveEnum, 'NOTDEFINED', INDETERMINATE) +codecompliance = IfcObjectiveEnum.CODECOMPLIANCE +codewaiver = IfcObjectiveEnum.CODEWAIVER +designintent = IfcObjectiveEnum.DESIGNINTENT +external = IfcObjectiveEnum.EXTERNAL +healthandsafety = IfcObjectiveEnum.HEALTHANDSAFETY +mergeconflict = IfcObjectiveEnum.MERGECONFLICT +modelview = IfcObjectiveEnum.MODELVIEW +parameter = IfcObjectiveEnum.PARAMETER +requirement = IfcObjectiveEnum.REQUIREMENT +specification = IfcObjectiveEnum.SPECIFICATION +triggercondition = IfcObjectiveEnum.TRIGGERCONDITION +userdefined = IfcObjectiveEnum.USERDEFINED +notdefined = IfcObjectiveEnum.NOTDEFINED IfcOccupantTypeEnum = enum_namespace() -assignee = express_getattr(IfcOccupantTypeEnum, 'ASSIGNEE', INDETERMINATE) -assignor = express_getattr(IfcOccupantTypeEnum, 'ASSIGNOR', INDETERMINATE) -lessee = express_getattr(IfcOccupantTypeEnum, 'LESSEE', INDETERMINATE) -lessor = express_getattr(IfcOccupantTypeEnum, 'LESSOR', INDETERMINATE) -lettingagent = express_getattr(IfcOccupantTypeEnum, 'LETTINGAGENT', INDETERMINATE) -owner = express_getattr(IfcOccupantTypeEnum, 'OWNER', INDETERMINATE) -tenant = express_getattr(IfcOccupantTypeEnum, 'TENANT', INDETERMINATE) -userdefined = express_getattr(IfcOccupantTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOccupantTypeEnum, 'NOTDEFINED', INDETERMINATE) +assignee = IfcOccupantTypeEnum.ASSIGNEE +assignor = IfcOccupantTypeEnum.ASSIGNOR +lessee = IfcOccupantTypeEnum.LESSEE +lessor = IfcOccupantTypeEnum.LESSOR +lettingagent = IfcOccupantTypeEnum.LETTINGAGENT +owner = IfcOccupantTypeEnum.OWNER +tenant = IfcOccupantTypeEnum.TENANT +userdefined = IfcOccupantTypeEnum.USERDEFINED +notdefined = IfcOccupantTypeEnum.NOTDEFINED IfcOpeningElementTypeEnum = enum_namespace() -opening = express_getattr(IfcOpeningElementTypeEnum, 'OPENING', INDETERMINATE) -recess = express_getattr(IfcOpeningElementTypeEnum, 'RECESS', INDETERMINATE) -userdefined = express_getattr(IfcOpeningElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOpeningElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +opening = IfcOpeningElementTypeEnum.OPENING +recess = IfcOpeningElementTypeEnum.RECESS +userdefined = IfcOpeningElementTypeEnum.USERDEFINED +notdefined = IfcOpeningElementTypeEnum.NOTDEFINED IfcOutletTypeEnum = enum_namespace() -audiovisualoutlet = express_getattr(IfcOutletTypeEnum, 'AUDIOVISUALOUTLET', INDETERMINATE) -communicationsoutlet = express_getattr(IfcOutletTypeEnum, 'COMMUNICATIONSOUTLET', INDETERMINATE) -poweroutlet = express_getattr(IfcOutletTypeEnum, 'POWEROUTLET', INDETERMINATE) -dataoutlet = express_getattr(IfcOutletTypeEnum, 'DATAOUTLET', INDETERMINATE) -telephoneoutlet = express_getattr(IfcOutletTypeEnum, 'TELEPHONEOUTLET', INDETERMINATE) -userdefined = express_getattr(IfcOutletTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOutletTypeEnum, 'NOTDEFINED', INDETERMINATE) +audiovisualoutlet = IfcOutletTypeEnum.AUDIOVISUALOUTLET +communicationsoutlet = IfcOutletTypeEnum.COMMUNICATIONSOUTLET +poweroutlet = IfcOutletTypeEnum.POWEROUTLET +dataoutlet = IfcOutletTypeEnum.DATAOUTLET +telephoneoutlet = IfcOutletTypeEnum.TELEPHONEOUTLET +userdefined = IfcOutletTypeEnum.USERDEFINED +notdefined = IfcOutletTypeEnum.NOTDEFINED IfcPavementTypeEnum = enum_namespace() -flexible = express_getattr(IfcPavementTypeEnum, 'FLEXIBLE', INDETERMINATE) -rigid = express_getattr(IfcPavementTypeEnum, 'RIGID', INDETERMINATE) -userdefined = express_getattr(IfcPavementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPavementTypeEnum, 'NOTDEFINED', INDETERMINATE) +flexible = IfcPavementTypeEnum.FLEXIBLE +rigid = IfcPavementTypeEnum.RIGID +userdefined = IfcPavementTypeEnum.USERDEFINED +notdefined = IfcPavementTypeEnum.NOTDEFINED IfcPerformanceHistoryTypeEnum = enum_namespace() -userdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcPerformanceHistoryTypeEnum.USERDEFINED +notdefined = IfcPerformanceHistoryTypeEnum.NOTDEFINED IfcPermeableCoveringOperationEnum = enum_namespace() -grill = express_getattr(IfcPermeableCoveringOperationEnum, 'GRILL', INDETERMINATE) -louver = express_getattr(IfcPermeableCoveringOperationEnum, 'LOUVER', INDETERMINATE) -screen = express_getattr(IfcPermeableCoveringOperationEnum, 'SCREEN', INDETERMINATE) -userdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'NOTDEFINED', INDETERMINATE) +grill = IfcPermeableCoveringOperationEnum.GRILL +louver = IfcPermeableCoveringOperationEnum.LOUVER +screen = IfcPermeableCoveringOperationEnum.SCREEN +userdefined = IfcPermeableCoveringOperationEnum.USERDEFINED +notdefined = IfcPermeableCoveringOperationEnum.NOTDEFINED IfcPermitTypeEnum = enum_namespace() -access = express_getattr(IfcPermitTypeEnum, 'ACCESS', INDETERMINATE) -building = express_getattr(IfcPermitTypeEnum, 'BUILDING', INDETERMINATE) -work = express_getattr(IfcPermitTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcPermitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermitTypeEnum, 'NOTDEFINED', INDETERMINATE) +access = IfcPermitTypeEnum.ACCESS +building = IfcPermitTypeEnum.BUILDING +work = IfcPermitTypeEnum.WORK +userdefined = IfcPermitTypeEnum.USERDEFINED +notdefined = IfcPermitTypeEnum.NOTDEFINED IfcPhysicalOrVirtualEnum = enum_namespace() -physical = express_getattr(IfcPhysicalOrVirtualEnum, 'PHYSICAL', INDETERMINATE) -virtual = express_getattr(IfcPhysicalOrVirtualEnum, 'VIRTUAL', INDETERMINATE) -notdefined = express_getattr(IfcPhysicalOrVirtualEnum, 'NOTDEFINED', INDETERMINATE) +physical = IfcPhysicalOrVirtualEnum.PHYSICAL +virtual = IfcPhysicalOrVirtualEnum.VIRTUAL +notdefined = IfcPhysicalOrVirtualEnum.NOTDEFINED IfcPileConstructionEnum = enum_namespace() -cast_in_place = express_getattr(IfcPileConstructionEnum, 'CAST_IN_PLACE', INDETERMINATE) -composite = express_getattr(IfcPileConstructionEnum, 'COMPOSITE', INDETERMINATE) -precast_concrete = express_getattr(IfcPileConstructionEnum, 'PRECAST_CONCRETE', INDETERMINATE) -prefab_steel = express_getattr(IfcPileConstructionEnum, 'PREFAB_STEEL', INDETERMINATE) -userdefined = express_getattr(IfcPileConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileConstructionEnum, 'NOTDEFINED', INDETERMINATE) +cast_in_place = IfcPileConstructionEnum.CAST_IN_PLACE +composite = IfcPileConstructionEnum.COMPOSITE +precast_concrete = IfcPileConstructionEnum.PRECAST_CONCRETE +prefab_steel = IfcPileConstructionEnum.PREFAB_STEEL +userdefined = IfcPileConstructionEnum.USERDEFINED +notdefined = IfcPileConstructionEnum.NOTDEFINED IfcPileTypeEnum = enum_namespace() -bored = express_getattr(IfcPileTypeEnum, 'BORED', INDETERMINATE) -driven = express_getattr(IfcPileTypeEnum, 'DRIVEN', INDETERMINATE) -jetgrouting = express_getattr(IfcPileTypeEnum, 'JETGROUTING', INDETERMINATE) -cohesion = express_getattr(IfcPileTypeEnum, 'COHESION', INDETERMINATE) -friction = express_getattr(IfcPileTypeEnum, 'FRICTION', INDETERMINATE) -support = express_getattr(IfcPileTypeEnum, 'SUPPORT', INDETERMINATE) -userdefined = express_getattr(IfcPileTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileTypeEnum, 'NOTDEFINED', INDETERMINATE) +bored = IfcPileTypeEnum.BORED +driven = IfcPileTypeEnum.DRIVEN +jetgrouting = IfcPileTypeEnum.JETGROUTING +cohesion = IfcPileTypeEnum.COHESION +friction = IfcPileTypeEnum.FRICTION +support = IfcPileTypeEnum.SUPPORT +userdefined = IfcPileTypeEnum.USERDEFINED +notdefined = IfcPileTypeEnum.NOTDEFINED IfcPipeFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcPipeFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcPipeFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcPipeFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcPipeFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcPipeFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcPipeFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcPipeFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcPipeFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcPipeFittingTypeEnum.BEND +connector = IfcPipeFittingTypeEnum.CONNECTOR +entry = IfcPipeFittingTypeEnum.ENTRY +exit = IfcPipeFittingTypeEnum.EXIT +junction = IfcPipeFittingTypeEnum.JUNCTION +obstruction = IfcPipeFittingTypeEnum.OBSTRUCTION +transition = IfcPipeFittingTypeEnum.TRANSITION +userdefined = IfcPipeFittingTypeEnum.USERDEFINED +notdefined = IfcPipeFittingTypeEnum.NOTDEFINED IfcPipeSegmentTypeEnum = enum_namespace() -culvert = express_getattr(IfcPipeSegmentTypeEnum, 'CULVERT', INDETERMINATE) -flexiblesegment = express_getattr(IfcPipeSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -rigidsegment = express_getattr(IfcPipeSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -gutter = express_getattr(IfcPipeSegmentTypeEnum, 'GUTTER', INDETERMINATE) -spool = express_getattr(IfcPipeSegmentTypeEnum, 'SPOOL', INDETERMINATE) -userdefined = express_getattr(IfcPipeSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +culvert = IfcPipeSegmentTypeEnum.CULVERT +flexiblesegment = IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT +rigidsegment = IfcPipeSegmentTypeEnum.RIGIDSEGMENT +gutter = IfcPipeSegmentTypeEnum.GUTTER +spool = IfcPipeSegmentTypeEnum.SPOOL +userdefined = IfcPipeSegmentTypeEnum.USERDEFINED +notdefined = IfcPipeSegmentTypeEnum.NOTDEFINED IfcPlateTypeEnum = enum_namespace() -curtain_panel = express_getattr(IfcPlateTypeEnum, 'CURTAIN_PANEL', INDETERMINATE) -sheet = express_getattr(IfcPlateTypeEnum, 'SHEET', INDETERMINATE) -flange_plate = express_getattr(IfcPlateTypeEnum, 'FLANGE_PLATE', INDETERMINATE) -web_plate = express_getattr(IfcPlateTypeEnum, 'WEB_PLATE', INDETERMINATE) -stiffener_plate = express_getattr(IfcPlateTypeEnum, 'STIFFENER_PLATE', INDETERMINATE) -gusset_plate = express_getattr(IfcPlateTypeEnum, 'GUSSET_PLATE', INDETERMINATE) -cover_plate = express_getattr(IfcPlateTypeEnum, 'COVER_PLATE', INDETERMINATE) -splice_plate = express_getattr(IfcPlateTypeEnum, 'SPLICE_PLATE', INDETERMINATE) -base_plate = express_getattr(IfcPlateTypeEnum, 'BASE_PLATE', INDETERMINATE) -userdefined = express_getattr(IfcPlateTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPlateTypeEnum, 'NOTDEFINED', INDETERMINATE) +curtain_panel = IfcPlateTypeEnum.CURTAIN_PANEL +sheet = IfcPlateTypeEnum.SHEET +flange_plate = IfcPlateTypeEnum.FLANGE_PLATE +web_plate = IfcPlateTypeEnum.WEB_PLATE +stiffener_plate = IfcPlateTypeEnum.STIFFENER_PLATE +gusset_plate = IfcPlateTypeEnum.GUSSET_PLATE +cover_plate = IfcPlateTypeEnum.COVER_PLATE +splice_plate = IfcPlateTypeEnum.SPLICE_PLATE +base_plate = IfcPlateTypeEnum.BASE_PLATE +userdefined = IfcPlateTypeEnum.USERDEFINED +notdefined = IfcPlateTypeEnum.NOTDEFINED IfcPreferredSurfaceCurveRepresentation = enum_namespace() -curve3d = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'CURVE3D', INDETERMINATE) -pcurve_s1 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S1', INDETERMINATE) -pcurve_s2 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S2', INDETERMINATE) +curve3d = IfcPreferredSurfaceCurveRepresentation.CURVE3D +pcurve_s1 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S1 +pcurve_s2 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S2 IfcProcedureTypeEnum = enum_namespace() -advice_caution = express_getattr(IfcProcedureTypeEnum, 'ADVICE_CAUTION', INDETERMINATE) -advice_note = express_getattr(IfcProcedureTypeEnum, 'ADVICE_NOTE', INDETERMINATE) -advice_warning = express_getattr(IfcProcedureTypeEnum, 'ADVICE_WARNING', INDETERMINATE) -calibration = express_getattr(IfcProcedureTypeEnum, 'CALIBRATION', INDETERMINATE) -diagnostic = express_getattr(IfcProcedureTypeEnum, 'DIAGNOSTIC', INDETERMINATE) -shutdown = express_getattr(IfcProcedureTypeEnum, 'SHUTDOWN', INDETERMINATE) -startup = express_getattr(IfcProcedureTypeEnum, 'STARTUP', INDETERMINATE) -userdefined = express_getattr(IfcProcedureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProcedureTypeEnum, 'NOTDEFINED', INDETERMINATE) +advice_caution = IfcProcedureTypeEnum.ADVICE_CAUTION +advice_note = IfcProcedureTypeEnum.ADVICE_NOTE +advice_warning = IfcProcedureTypeEnum.ADVICE_WARNING +calibration = IfcProcedureTypeEnum.CALIBRATION +diagnostic = IfcProcedureTypeEnum.DIAGNOSTIC +shutdown = IfcProcedureTypeEnum.SHUTDOWN +startup = IfcProcedureTypeEnum.STARTUP +userdefined = IfcProcedureTypeEnum.USERDEFINED +notdefined = IfcProcedureTypeEnum.NOTDEFINED IfcProfileTypeEnum = enum_namespace() -curve = express_getattr(IfcProfileTypeEnum, 'CURVE', INDETERMINATE) -area = express_getattr(IfcProfileTypeEnum, 'AREA', INDETERMINATE) +curve = IfcProfileTypeEnum.CURVE +area = IfcProfileTypeEnum.AREA IfcProjectOrderTypeEnum = enum_namespace() -changeorder = express_getattr(IfcProjectOrderTypeEnum, 'CHANGEORDER', INDETERMINATE) -maintenanceworkorder = express_getattr(IfcProjectOrderTypeEnum, 'MAINTENANCEWORKORDER', INDETERMINATE) -moveorder = express_getattr(IfcProjectOrderTypeEnum, 'MOVEORDER', INDETERMINATE) -purchaseorder = express_getattr(IfcProjectOrderTypeEnum, 'PURCHASEORDER', INDETERMINATE) -workorder = express_getattr(IfcProjectOrderTypeEnum, 'WORKORDER', INDETERMINATE) -userdefined = express_getattr(IfcProjectOrderTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectOrderTypeEnum, 'NOTDEFINED', INDETERMINATE) +changeorder = IfcProjectOrderTypeEnum.CHANGEORDER +maintenanceworkorder = IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER +moveorder = IfcProjectOrderTypeEnum.MOVEORDER +purchaseorder = IfcProjectOrderTypeEnum.PURCHASEORDER +workorder = IfcProjectOrderTypeEnum.WORKORDER +userdefined = IfcProjectOrderTypeEnum.USERDEFINED +notdefined = IfcProjectOrderTypeEnum.NOTDEFINED IfcProjectedOrTrueLengthEnum = enum_namespace() -projected_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'PROJECTED_LENGTH', INDETERMINATE) -true_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'TRUE_LENGTH', INDETERMINATE) +projected_length = IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH +true_length = IfcProjectedOrTrueLengthEnum.TRUE_LENGTH IfcProjectionElementTypeEnum = enum_namespace() -blister = express_getattr(IfcProjectionElementTypeEnum, 'BLISTER', INDETERMINATE) -deviator = express_getattr(IfcProjectionElementTypeEnum, 'DEVIATOR', INDETERMINATE) -userdefined = express_getattr(IfcProjectionElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectionElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +blister = IfcProjectionElementTypeEnum.BLISTER +deviator = IfcProjectionElementTypeEnum.DEVIATOR +userdefined = IfcProjectionElementTypeEnum.USERDEFINED +notdefined = IfcProjectionElementTypeEnum.NOTDEFINED IfcPropertySetTemplateTypeEnum = enum_namespace() -pset_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENONLY', INDETERMINATE) -pset_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENOVERRIDE', INDETERMINATE) -pset_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_OCCURRENCEDRIVEN', INDETERMINATE) -pset_performancedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_PERFORMANCEDRIVEN', INDETERMINATE) -qto_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENONLY', INDETERMINATE) -qto_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENOVERRIDE', INDETERMINATE) -qto_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_OCCURRENCEDRIVEN', INDETERMINATE) -notdefined = express_getattr(IfcPropertySetTemplateTypeEnum, 'NOTDEFINED', INDETERMINATE) +pset_typedrivenonly = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENONLY +pset_typedrivenoverride = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENOVERRIDE +pset_occurrencedriven = IfcPropertySetTemplateTypeEnum.PSET_OCCURRENCEDRIVEN +pset_performancedriven = IfcPropertySetTemplateTypeEnum.PSET_PERFORMANCEDRIVEN +qto_typedrivenonly = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENONLY +qto_typedrivenoverride = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENOVERRIDE +qto_occurrencedriven = IfcPropertySetTemplateTypeEnum.QTO_OCCURRENCEDRIVEN +notdefined = IfcPropertySetTemplateTypeEnum.NOTDEFINED IfcProtectiveDeviceTrippingUnitTypeEnum = enum_namespace() -electronic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTRONIC', INDETERMINATE) -electromagnetic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTROMAGNETIC', INDETERMINATE) -residualcurrent = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'RESIDUALCURRENT', INDETERMINATE) -thermal = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'THERMAL', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'NOTDEFINED', INDETERMINATE) +electronic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTRONIC +electromagnetic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTROMAGNETIC +residualcurrent = IfcProtectiveDeviceTrippingUnitTypeEnum.RESIDUALCURRENT +thermal = IfcProtectiveDeviceTrippingUnitTypeEnum.THERMAL +userdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.NOTDEFINED IfcProtectiveDeviceTypeEnum = enum_namespace() -circuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'CIRCUITBREAKER', INDETERMINATE) -earthleakagecircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHLEAKAGECIRCUITBREAKER', INDETERMINATE) -earthingswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHINGSWITCH', INDETERMINATE) -fusedisconnector = express_getattr(IfcProtectiveDeviceTypeEnum, 'FUSEDISCONNECTOR', INDETERMINATE) -residualcurrentcircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTCIRCUITBREAKER', INDETERMINATE) -residualcurrentswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTSWITCH', INDETERMINATE) -varistor = express_getattr(IfcProtectiveDeviceTypeEnum, 'VARISTOR', INDETERMINATE) -anti_arcing_device = express_getattr(IfcProtectiveDeviceTypeEnum, 'ANTI_ARCING_DEVICE', INDETERMINATE) -sparkgap = express_getattr(IfcProtectiveDeviceTypeEnum, 'SPARKGAP', INDETERMINATE) -voltagelimiter = express_getattr(IfcProtectiveDeviceTypeEnum, 'VOLTAGELIMITER', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +circuitbreaker = IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER +earthleakagecircuitbreaker = IfcProtectiveDeviceTypeEnum.EARTHLEAKAGECIRCUITBREAKER +earthingswitch = IfcProtectiveDeviceTypeEnum.EARTHINGSWITCH +fusedisconnector = IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR +residualcurrentcircuitbreaker = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER +residualcurrentswitch = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH +varistor = IfcProtectiveDeviceTypeEnum.VARISTOR +anti_arcing_device = IfcProtectiveDeviceTypeEnum.ANTI_ARCING_DEVICE +sparkgap = IfcProtectiveDeviceTypeEnum.SPARKGAP +voltagelimiter = IfcProtectiveDeviceTypeEnum.VOLTAGELIMITER +userdefined = IfcProtectiveDeviceTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTypeEnum.NOTDEFINED IfcPumpTypeEnum = enum_namespace() -circulator = express_getattr(IfcPumpTypeEnum, 'CIRCULATOR', INDETERMINATE) -endsuction = express_getattr(IfcPumpTypeEnum, 'ENDSUCTION', INDETERMINATE) -splitcase = express_getattr(IfcPumpTypeEnum, 'SPLITCASE', INDETERMINATE) -submersiblepump = express_getattr(IfcPumpTypeEnum, 'SUBMERSIBLEPUMP', INDETERMINATE) -sumppump = express_getattr(IfcPumpTypeEnum, 'SUMPPUMP', INDETERMINATE) -verticalinline = express_getattr(IfcPumpTypeEnum, 'VERTICALINLINE', INDETERMINATE) -verticalturbine = express_getattr(IfcPumpTypeEnum, 'VERTICALTURBINE', INDETERMINATE) -userdefined = express_getattr(IfcPumpTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPumpTypeEnum, 'NOTDEFINED', INDETERMINATE) +circulator = IfcPumpTypeEnum.CIRCULATOR +endsuction = IfcPumpTypeEnum.ENDSUCTION +splitcase = IfcPumpTypeEnum.SPLITCASE +submersiblepump = IfcPumpTypeEnum.SUBMERSIBLEPUMP +sumppump = IfcPumpTypeEnum.SUMPPUMP +verticalinline = IfcPumpTypeEnum.VERTICALINLINE +verticalturbine = IfcPumpTypeEnum.VERTICALTURBINE +userdefined = IfcPumpTypeEnum.USERDEFINED +notdefined = IfcPumpTypeEnum.NOTDEFINED IfcRailTypeEnum = enum_namespace() -rackrail = express_getattr(IfcRailTypeEnum, 'RACKRAIL', INDETERMINATE) -blade = express_getattr(IfcRailTypeEnum, 'BLADE', INDETERMINATE) -guardrail = express_getattr(IfcRailTypeEnum, 'GUARDRAIL', INDETERMINATE) -stockrail = express_getattr(IfcRailTypeEnum, 'STOCKRAIL', INDETERMINATE) -checkrail = express_getattr(IfcRailTypeEnum, 'CHECKRAIL', INDETERMINATE) -rail = express_getattr(IfcRailTypeEnum, 'RAIL', INDETERMINATE) -userdefined = express_getattr(IfcRailTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailTypeEnum, 'NOTDEFINED', INDETERMINATE) +rackrail = IfcRailTypeEnum.RACKRAIL +blade = IfcRailTypeEnum.BLADE +guardrail = IfcRailTypeEnum.GUARDRAIL +stockrail = IfcRailTypeEnum.STOCKRAIL +checkrail = IfcRailTypeEnum.CHECKRAIL +rail = IfcRailTypeEnum.RAIL +userdefined = IfcRailTypeEnum.USERDEFINED +notdefined = IfcRailTypeEnum.NOTDEFINED IfcRailingTypeEnum = enum_namespace() -handrail = express_getattr(IfcRailingTypeEnum, 'HANDRAIL', INDETERMINATE) -guardrail = express_getattr(IfcRailingTypeEnum, 'GUARDRAIL', INDETERMINATE) -balustrade = express_getattr(IfcRailingTypeEnum, 'BALUSTRADE', INDETERMINATE) -fence = express_getattr(IfcRailingTypeEnum, 'FENCE', INDETERMINATE) -userdefined = express_getattr(IfcRailingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailingTypeEnum, 'NOTDEFINED', INDETERMINATE) +handrail = IfcRailingTypeEnum.HANDRAIL +guardrail = IfcRailingTypeEnum.GUARDRAIL +balustrade = IfcRailingTypeEnum.BALUSTRADE +fence = IfcRailingTypeEnum.FENCE +userdefined = IfcRailingTypeEnum.USERDEFINED +notdefined = IfcRailingTypeEnum.NOTDEFINED IfcRailwayPartTypeEnum = enum_namespace() -trackstructure = express_getattr(IfcRailwayPartTypeEnum, 'TRACKSTRUCTURE', INDETERMINATE) -trackstructurepart = express_getattr(IfcRailwayPartTypeEnum, 'TRACKSTRUCTUREPART', INDETERMINATE) -linesidestructurepart = express_getattr(IfcRailwayPartTypeEnum, 'LINESIDESTRUCTUREPART', INDETERMINATE) -dilatationsuperstructure = express_getattr(IfcRailwayPartTypeEnum, 'DILATATIONSUPERSTRUCTURE', INDETERMINATE) -plaintracksupestructure = express_getattr(IfcRailwayPartTypeEnum, 'PLAINTRACKSUPESTRUCTURE', INDETERMINATE) -linesidestructure = express_getattr(IfcRailwayPartTypeEnum, 'LINESIDESTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcRailwayPartTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -turnoutsuperstructure = express_getattr(IfcRailwayPartTypeEnum, 'TURNOUTSUPERSTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcRailwayPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailwayPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +trackstructure = IfcRailwayPartTypeEnum.TRACKSTRUCTURE +trackstructurepart = IfcRailwayPartTypeEnum.TRACKSTRUCTUREPART +linesidestructurepart = IfcRailwayPartTypeEnum.LINESIDESTRUCTUREPART +dilatationsuperstructure = IfcRailwayPartTypeEnum.DILATATIONSUPERSTRUCTURE +plaintracksupestructure = IfcRailwayPartTypeEnum.PLAINTRACKSUPESTRUCTURE +linesidestructure = IfcRailwayPartTypeEnum.LINESIDESTRUCTURE +superstructure = IfcRailwayPartTypeEnum.SUPERSTRUCTURE +turnoutsuperstructure = IfcRailwayPartTypeEnum.TURNOUTSUPERSTRUCTURE +userdefined = IfcRailwayPartTypeEnum.USERDEFINED +notdefined = IfcRailwayPartTypeEnum.NOTDEFINED IfcRailwayTypeEnum = enum_namespace() -userdefined = express_getattr(IfcRailwayTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailwayTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcRailwayTypeEnum.USERDEFINED +notdefined = IfcRailwayTypeEnum.NOTDEFINED IfcRampFlightTypeEnum = enum_namespace() -straight = express_getattr(IfcRampFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -spiral = express_getattr(IfcRampFlightTypeEnum, 'SPIRAL', INDETERMINATE) -userdefined = express_getattr(IfcRampFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight = IfcRampFlightTypeEnum.STRAIGHT +spiral = IfcRampFlightTypeEnum.SPIRAL +userdefined = IfcRampFlightTypeEnum.USERDEFINED +notdefined = IfcRampFlightTypeEnum.NOTDEFINED IfcRampTypeEnum = enum_namespace() -straight_run_ramp = express_getattr(IfcRampTypeEnum, 'STRAIGHT_RUN_RAMP', INDETERMINATE) -two_straight_run_ramp = express_getattr(IfcRampTypeEnum, 'TWO_STRAIGHT_RUN_RAMP', INDETERMINATE) -quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'QUARTER_TURN_RAMP', INDETERMINATE) -two_quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'TWO_QUARTER_TURN_RAMP', INDETERMINATE) -half_turn_ramp = express_getattr(IfcRampTypeEnum, 'HALF_TURN_RAMP', INDETERMINATE) -spiral_ramp = express_getattr(IfcRampTypeEnum, 'SPIRAL_RAMP', INDETERMINATE) -userdefined = express_getattr(IfcRampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight_run_ramp = IfcRampTypeEnum.STRAIGHT_RUN_RAMP +two_straight_run_ramp = IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP +quarter_turn_ramp = IfcRampTypeEnum.QUARTER_TURN_RAMP +two_quarter_turn_ramp = IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP +half_turn_ramp = IfcRampTypeEnum.HALF_TURN_RAMP +spiral_ramp = IfcRampTypeEnum.SPIRAL_RAMP +userdefined = IfcRampTypeEnum.USERDEFINED +notdefined = IfcRampTypeEnum.NOTDEFINED IfcRecurrenceTypeEnum = enum_namespace() -daily = express_getattr(IfcRecurrenceTypeEnum, 'DAILY', INDETERMINATE) -weekly = express_getattr(IfcRecurrenceTypeEnum, 'WEEKLY', INDETERMINATE) -monthly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_DAY_OF_MONTH', INDETERMINATE) -monthly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_POSITION', INDETERMINATE) -by_day_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_DAY_COUNT', INDETERMINATE) -by_weekday_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_WEEKDAY_COUNT', INDETERMINATE) -yearly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_DAY_OF_MONTH', INDETERMINATE) -yearly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_POSITION', INDETERMINATE) +daily = IfcRecurrenceTypeEnum.DAILY +weekly = IfcRecurrenceTypeEnum.WEEKLY +monthly_by_day_of_month = IfcRecurrenceTypeEnum.MONTHLY_BY_DAY_OF_MONTH +monthly_by_position = IfcRecurrenceTypeEnum.MONTHLY_BY_POSITION +by_day_count = IfcRecurrenceTypeEnum.BY_DAY_COUNT +by_weekday_count = IfcRecurrenceTypeEnum.BY_WEEKDAY_COUNT +yearly_by_day_of_month = IfcRecurrenceTypeEnum.YEARLY_BY_DAY_OF_MONTH +yearly_by_position = IfcRecurrenceTypeEnum.YEARLY_BY_POSITION IfcReferentTypeEnum = enum_namespace() -kilopoint = express_getattr(IfcReferentTypeEnum, 'KILOPOINT', INDETERMINATE) -milepoint = express_getattr(IfcReferentTypeEnum, 'MILEPOINT', INDETERMINATE) -station = express_getattr(IfcReferentTypeEnum, 'STATION', INDETERMINATE) -referencemarker = express_getattr(IfcReferentTypeEnum, 'REFERENCEMARKER', INDETERMINATE) -landmark = express_getattr(IfcReferentTypeEnum, 'LANDMARK', INDETERMINATE) -boundary = express_getattr(IfcReferentTypeEnum, 'BOUNDARY', INDETERMINATE) -intersection = express_getattr(IfcReferentTypeEnum, 'INTERSECTION', INDETERMINATE) -position = express_getattr(IfcReferentTypeEnum, 'POSITION', INDETERMINATE) -userdefined = express_getattr(IfcReferentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReferentTypeEnum, 'NOTDEFINED', INDETERMINATE) +kilopoint = IfcReferentTypeEnum.KILOPOINT +milepoint = IfcReferentTypeEnum.MILEPOINT +station = IfcReferentTypeEnum.STATION +referencemarker = IfcReferentTypeEnum.REFERENCEMARKER +landmark = IfcReferentTypeEnum.LANDMARK +boundary = IfcReferentTypeEnum.BOUNDARY +intersection = IfcReferentTypeEnum.INTERSECTION +position = IfcReferentTypeEnum.POSITION +userdefined = IfcReferentTypeEnum.USERDEFINED +notdefined = IfcReferentTypeEnum.NOTDEFINED IfcReflectanceMethodEnum = enum_namespace() -blinn = express_getattr(IfcReflectanceMethodEnum, 'BLINN', INDETERMINATE) -flat = express_getattr(IfcReflectanceMethodEnum, 'FLAT', INDETERMINATE) -glass = express_getattr(IfcReflectanceMethodEnum, 'GLASS', INDETERMINATE) -matt = express_getattr(IfcReflectanceMethodEnum, 'MATT', INDETERMINATE) -metal = express_getattr(IfcReflectanceMethodEnum, 'METAL', INDETERMINATE) -mirror = express_getattr(IfcReflectanceMethodEnum, 'MIRROR', INDETERMINATE) -phong = express_getattr(IfcReflectanceMethodEnum, 'PHONG', INDETERMINATE) -plastic = express_getattr(IfcReflectanceMethodEnum, 'PLASTIC', INDETERMINATE) -strauss = express_getattr(IfcReflectanceMethodEnum, 'STRAUSS', INDETERMINATE) -notdefined = express_getattr(IfcReflectanceMethodEnum, 'NOTDEFINED', INDETERMINATE) +blinn = IfcReflectanceMethodEnum.BLINN +flat = IfcReflectanceMethodEnum.FLAT +glass = IfcReflectanceMethodEnum.GLASS +matt = IfcReflectanceMethodEnum.MATT +metal = IfcReflectanceMethodEnum.METAL +mirror = IfcReflectanceMethodEnum.MIRROR +phong = IfcReflectanceMethodEnum.PHONG +plastic = IfcReflectanceMethodEnum.PLASTIC +strauss = IfcReflectanceMethodEnum.STRAUSS +notdefined = IfcReflectanceMethodEnum.NOTDEFINED IfcReinforcedSoilTypeEnum = enum_namespace() -surchargepreloaded = express_getattr(IfcReinforcedSoilTypeEnum, 'SURCHARGEPRELOADED', INDETERMINATE) -verticallydrained = express_getattr(IfcReinforcedSoilTypeEnum, 'VERTICALLYDRAINED', INDETERMINATE) -dynamicallycompacted = express_getattr(IfcReinforcedSoilTypeEnum, 'DYNAMICALLYCOMPACTED', INDETERMINATE) -replaced = express_getattr(IfcReinforcedSoilTypeEnum, 'REPLACED', INDETERMINATE) -rollercompacted = express_getattr(IfcReinforcedSoilTypeEnum, 'ROLLERCOMPACTED', INDETERMINATE) -grouted = express_getattr(IfcReinforcedSoilTypeEnum, 'GROUTED', INDETERMINATE) -userdefined = express_getattr(IfcReinforcedSoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcedSoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +surchargepreloaded = IfcReinforcedSoilTypeEnum.SURCHARGEPRELOADED +verticallydrained = IfcReinforcedSoilTypeEnum.VERTICALLYDRAINED +dynamicallycompacted = IfcReinforcedSoilTypeEnum.DYNAMICALLYCOMPACTED +replaced = IfcReinforcedSoilTypeEnum.REPLACED +rollercompacted = IfcReinforcedSoilTypeEnum.ROLLERCOMPACTED +grouted = IfcReinforcedSoilTypeEnum.GROUTED +userdefined = IfcReinforcedSoilTypeEnum.USERDEFINED +notdefined = IfcReinforcedSoilTypeEnum.NOTDEFINED IfcReinforcingBarRoleEnum = enum_namespace() -main = express_getattr(IfcReinforcingBarRoleEnum, 'MAIN', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarRoleEnum, 'SHEAR', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarRoleEnum, 'LIGATURE', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarRoleEnum, 'STUD', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarRoleEnum, 'PUNCHING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarRoleEnum, 'EDGE', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarRoleEnum, 'RING', INDETERMINATE) -anchoring = express_getattr(IfcReinforcingBarRoleEnum, 'ANCHORING', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarRoleEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarRoleEnum, 'NOTDEFINED', INDETERMINATE) +main = IfcReinforcingBarRoleEnum.MAIN +shear = IfcReinforcingBarRoleEnum.SHEAR +ligature = IfcReinforcingBarRoleEnum.LIGATURE +stud = IfcReinforcingBarRoleEnum.STUD +punching = IfcReinforcingBarRoleEnum.PUNCHING +edge = IfcReinforcingBarRoleEnum.EDGE +ring = IfcReinforcingBarRoleEnum.RING +anchoring = IfcReinforcingBarRoleEnum.ANCHORING +userdefined = IfcReinforcingBarRoleEnum.USERDEFINED +notdefined = IfcReinforcingBarRoleEnum.NOTDEFINED IfcReinforcingBarSurfaceEnum = enum_namespace() -plain = express_getattr(IfcReinforcingBarSurfaceEnum, 'PLAIN', INDETERMINATE) -textured = express_getattr(IfcReinforcingBarSurfaceEnum, 'TEXTURED', INDETERMINATE) +plain = IfcReinforcingBarSurfaceEnum.PLAIN +textured = IfcReinforcingBarSurfaceEnum.TEXTURED IfcReinforcingBarTypeEnum = enum_namespace() -anchoring = express_getattr(IfcReinforcingBarTypeEnum, 'ANCHORING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarTypeEnum, 'EDGE', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarTypeEnum, 'LIGATURE', INDETERMINATE) -main = express_getattr(IfcReinforcingBarTypeEnum, 'MAIN', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarTypeEnum, 'PUNCHING', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarTypeEnum, 'RING', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarTypeEnum, 'SHEAR', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarTypeEnum, 'STUD', INDETERMINATE) -spacebar = express_getattr(IfcReinforcingBarTypeEnum, 'SPACEBAR', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchoring = IfcReinforcingBarTypeEnum.ANCHORING +edge = IfcReinforcingBarTypeEnum.EDGE +ligature = IfcReinforcingBarTypeEnum.LIGATURE +main = IfcReinforcingBarTypeEnum.MAIN +punching = IfcReinforcingBarTypeEnum.PUNCHING +ring = IfcReinforcingBarTypeEnum.RING +shear = IfcReinforcingBarTypeEnum.SHEAR +stud = IfcReinforcingBarTypeEnum.STUD +spacebar = IfcReinforcingBarTypeEnum.SPACEBAR +userdefined = IfcReinforcingBarTypeEnum.USERDEFINED +notdefined = IfcReinforcingBarTypeEnum.NOTDEFINED IfcReinforcingMeshTypeEnum = enum_namespace() -userdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcReinforcingMeshTypeEnum.USERDEFINED +notdefined = IfcReinforcingMeshTypeEnum.NOTDEFINED IfcRoadPartTypeEnum = enum_namespace() -roadsidepart = express_getattr(IfcRoadPartTypeEnum, 'ROADSIDEPART', INDETERMINATE) -bus_stop = express_getattr(IfcRoadPartTypeEnum, 'BUS_STOP', INDETERMINATE) -hardshoulder = express_getattr(IfcRoadPartTypeEnum, 'HARDSHOULDER', INDETERMINATE) -intersection = express_getattr(IfcRoadPartTypeEnum, 'INTERSECTION', INDETERMINATE) -passingbay = express_getattr(IfcRoadPartTypeEnum, 'PASSINGBAY', INDETERMINATE) -roadwayplateau = express_getattr(IfcRoadPartTypeEnum, 'ROADWAYPLATEAU', INDETERMINATE) -roadside = express_getattr(IfcRoadPartTypeEnum, 'ROADSIDE', INDETERMINATE) -refugeisland = express_getattr(IfcRoadPartTypeEnum, 'REFUGEISLAND', INDETERMINATE) -tollplaza = express_getattr(IfcRoadPartTypeEnum, 'TOLLPLAZA', INDETERMINATE) -centralreserve = express_getattr(IfcRoadPartTypeEnum, 'CENTRALRESERVE', INDETERMINATE) -sidewalk = express_getattr(IfcRoadPartTypeEnum, 'SIDEWALK', INDETERMINATE) -parkingbay = express_getattr(IfcRoadPartTypeEnum, 'PARKINGBAY', INDETERMINATE) -railwaycrossing = express_getattr(IfcRoadPartTypeEnum, 'RAILWAYCROSSING', INDETERMINATE) -pedestrian_crossing = express_getattr(IfcRoadPartTypeEnum, 'PEDESTRIAN_CROSSING', INDETERMINATE) -softshoulder = express_getattr(IfcRoadPartTypeEnum, 'SOFTSHOULDER', INDETERMINATE) -bicyclecrossing = express_getattr(IfcRoadPartTypeEnum, 'BICYCLECROSSING', INDETERMINATE) -centralisland = express_getattr(IfcRoadPartTypeEnum, 'CENTRALISLAND', INDETERMINATE) -shoulder = express_getattr(IfcRoadPartTypeEnum, 'SHOULDER', INDETERMINATE) -trafficlane = express_getattr(IfcRoadPartTypeEnum, 'TRAFFICLANE', INDETERMINATE) -roadsegment = express_getattr(IfcRoadPartTypeEnum, 'ROADSEGMENT', INDETERMINATE) -roundabout = express_getattr(IfcRoadPartTypeEnum, 'ROUNDABOUT', INDETERMINATE) -layby = express_getattr(IfcRoadPartTypeEnum, 'LAYBY', INDETERMINATE) -carriageway = express_getattr(IfcRoadPartTypeEnum, 'CARRIAGEWAY', INDETERMINATE) -trafficisland = express_getattr(IfcRoadPartTypeEnum, 'TRAFFICISLAND', INDETERMINATE) -userdefined = express_getattr(IfcRoadPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoadPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +roadsidepart = IfcRoadPartTypeEnum.ROADSIDEPART +bus_stop = IfcRoadPartTypeEnum.BUS_STOP +hardshoulder = IfcRoadPartTypeEnum.HARDSHOULDER +intersection = IfcRoadPartTypeEnum.INTERSECTION +passingbay = IfcRoadPartTypeEnum.PASSINGBAY +roadwayplateau = IfcRoadPartTypeEnum.ROADWAYPLATEAU +roadside = IfcRoadPartTypeEnum.ROADSIDE +refugeisland = IfcRoadPartTypeEnum.REFUGEISLAND +tollplaza = IfcRoadPartTypeEnum.TOLLPLAZA +centralreserve = IfcRoadPartTypeEnum.CENTRALRESERVE +sidewalk = IfcRoadPartTypeEnum.SIDEWALK +parkingbay = IfcRoadPartTypeEnum.PARKINGBAY +railwaycrossing = IfcRoadPartTypeEnum.RAILWAYCROSSING +pedestrian_crossing = IfcRoadPartTypeEnum.PEDESTRIAN_CROSSING +softshoulder = IfcRoadPartTypeEnum.SOFTSHOULDER +bicyclecrossing = IfcRoadPartTypeEnum.BICYCLECROSSING +centralisland = IfcRoadPartTypeEnum.CENTRALISLAND +shoulder = IfcRoadPartTypeEnum.SHOULDER +trafficlane = IfcRoadPartTypeEnum.TRAFFICLANE +roadsegment = IfcRoadPartTypeEnum.ROADSEGMENT +roundabout = IfcRoadPartTypeEnum.ROUNDABOUT +layby = IfcRoadPartTypeEnum.LAYBY +carriageway = IfcRoadPartTypeEnum.CARRIAGEWAY +trafficisland = IfcRoadPartTypeEnum.TRAFFICISLAND +userdefined = IfcRoadPartTypeEnum.USERDEFINED +notdefined = IfcRoadPartTypeEnum.NOTDEFINED IfcRoadTypeEnum = enum_namespace() -userdefined = express_getattr(IfcRoadTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoadTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcRoadTypeEnum.USERDEFINED +notdefined = IfcRoadTypeEnum.NOTDEFINED IfcRoleEnum = enum_namespace() -supplier = express_getattr(IfcRoleEnum, 'SUPPLIER', INDETERMINATE) -manufacturer = express_getattr(IfcRoleEnum, 'MANUFACTURER', INDETERMINATE) -contractor = express_getattr(IfcRoleEnum, 'CONTRACTOR', INDETERMINATE) -subcontractor = express_getattr(IfcRoleEnum, 'SUBCONTRACTOR', INDETERMINATE) -architect = express_getattr(IfcRoleEnum, 'ARCHITECT', INDETERMINATE) -structuralengineer = express_getattr(IfcRoleEnum, 'STRUCTURALENGINEER', INDETERMINATE) -costengineer = express_getattr(IfcRoleEnum, 'COSTENGINEER', INDETERMINATE) -client = express_getattr(IfcRoleEnum, 'CLIENT', INDETERMINATE) -buildingowner = express_getattr(IfcRoleEnum, 'BUILDINGOWNER', INDETERMINATE) -buildingoperator = express_getattr(IfcRoleEnum, 'BUILDINGOPERATOR', INDETERMINATE) -mechanicalengineer = express_getattr(IfcRoleEnum, 'MECHANICALENGINEER', INDETERMINATE) -electricalengineer = express_getattr(IfcRoleEnum, 'ELECTRICALENGINEER', INDETERMINATE) -projectmanager = express_getattr(IfcRoleEnum, 'PROJECTMANAGER', INDETERMINATE) -facilitiesmanager = express_getattr(IfcRoleEnum, 'FACILITIESMANAGER', INDETERMINATE) -civilengineer = express_getattr(IfcRoleEnum, 'CIVILENGINEER', INDETERMINATE) -commissioningengineer = express_getattr(IfcRoleEnum, 'COMMISSIONINGENGINEER', INDETERMINATE) -engineer = express_getattr(IfcRoleEnum, 'ENGINEER', INDETERMINATE) -owner = express_getattr(IfcRoleEnum, 'OWNER', INDETERMINATE) -consultant = express_getattr(IfcRoleEnum, 'CONSULTANT', INDETERMINATE) -constructionmanager = express_getattr(IfcRoleEnum, 'CONSTRUCTIONMANAGER', INDETERMINATE) -fieldconstructionmanager = express_getattr(IfcRoleEnum, 'FIELDCONSTRUCTIONMANAGER', INDETERMINATE) -reseller = express_getattr(IfcRoleEnum, 'RESELLER', INDETERMINATE) -userdefined = express_getattr(IfcRoleEnum, 'USERDEFINED', INDETERMINATE) +supplier = IfcRoleEnum.SUPPLIER +manufacturer = IfcRoleEnum.MANUFACTURER +contractor = IfcRoleEnum.CONTRACTOR +subcontractor = IfcRoleEnum.SUBCONTRACTOR +architect = IfcRoleEnum.ARCHITECT +structuralengineer = IfcRoleEnum.STRUCTURALENGINEER +costengineer = IfcRoleEnum.COSTENGINEER +client = IfcRoleEnum.CLIENT +buildingowner = IfcRoleEnum.BUILDINGOWNER +buildingoperator = IfcRoleEnum.BUILDINGOPERATOR +mechanicalengineer = IfcRoleEnum.MECHANICALENGINEER +electricalengineer = IfcRoleEnum.ELECTRICALENGINEER +projectmanager = IfcRoleEnum.PROJECTMANAGER +facilitiesmanager = IfcRoleEnum.FACILITIESMANAGER +civilengineer = IfcRoleEnum.CIVILENGINEER +commissioningengineer = IfcRoleEnum.COMMISSIONINGENGINEER +engineer = IfcRoleEnum.ENGINEER +owner = IfcRoleEnum.OWNER +consultant = IfcRoleEnum.CONSULTANT +constructionmanager = IfcRoleEnum.CONSTRUCTIONMANAGER +fieldconstructionmanager = IfcRoleEnum.FIELDCONSTRUCTIONMANAGER +reseller = IfcRoleEnum.RESELLER +userdefined = IfcRoleEnum.USERDEFINED IfcRoofTypeEnum = enum_namespace() -flat_roof = express_getattr(IfcRoofTypeEnum, 'FLAT_ROOF', INDETERMINATE) -shed_roof = express_getattr(IfcRoofTypeEnum, 'SHED_ROOF', INDETERMINATE) -gable_roof = express_getattr(IfcRoofTypeEnum, 'GABLE_ROOF', INDETERMINATE) -hip_roof = express_getattr(IfcRoofTypeEnum, 'HIP_ROOF', INDETERMINATE) -hipped_gable_roof = express_getattr(IfcRoofTypeEnum, 'HIPPED_GABLE_ROOF', INDETERMINATE) -gambrel_roof = express_getattr(IfcRoofTypeEnum, 'GAMBREL_ROOF', INDETERMINATE) -mansard_roof = express_getattr(IfcRoofTypeEnum, 'MANSARD_ROOF', INDETERMINATE) -barrel_roof = express_getattr(IfcRoofTypeEnum, 'BARREL_ROOF', INDETERMINATE) -rainbow_roof = express_getattr(IfcRoofTypeEnum, 'RAINBOW_ROOF', INDETERMINATE) -butterfly_roof = express_getattr(IfcRoofTypeEnum, 'BUTTERFLY_ROOF', INDETERMINATE) -pavilion_roof = express_getattr(IfcRoofTypeEnum, 'PAVILION_ROOF', INDETERMINATE) -dome_roof = express_getattr(IfcRoofTypeEnum, 'DOME_ROOF', INDETERMINATE) -freeform = express_getattr(IfcRoofTypeEnum, 'FREEFORM', INDETERMINATE) -userdefined = express_getattr(IfcRoofTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoofTypeEnum, 'NOTDEFINED', INDETERMINATE) +flat_roof = IfcRoofTypeEnum.FLAT_ROOF +shed_roof = IfcRoofTypeEnum.SHED_ROOF +gable_roof = IfcRoofTypeEnum.GABLE_ROOF +hip_roof = IfcRoofTypeEnum.HIP_ROOF +hipped_gable_roof = IfcRoofTypeEnum.HIPPED_GABLE_ROOF +gambrel_roof = IfcRoofTypeEnum.GAMBREL_ROOF +mansard_roof = IfcRoofTypeEnum.MANSARD_ROOF +barrel_roof = IfcRoofTypeEnum.BARREL_ROOF +rainbow_roof = IfcRoofTypeEnum.RAINBOW_ROOF +butterfly_roof = IfcRoofTypeEnum.BUTTERFLY_ROOF +pavilion_roof = IfcRoofTypeEnum.PAVILION_ROOF +dome_roof = IfcRoofTypeEnum.DOME_ROOF +freeform = IfcRoofTypeEnum.FREEFORM +userdefined = IfcRoofTypeEnum.USERDEFINED +notdefined = IfcRoofTypeEnum.NOTDEFINED IfcSIPrefix = enum_namespace() -exa = express_getattr(IfcSIPrefix, 'EXA', INDETERMINATE) -peta = express_getattr(IfcSIPrefix, 'PETA', INDETERMINATE) -tera = express_getattr(IfcSIPrefix, 'TERA', INDETERMINATE) -giga = express_getattr(IfcSIPrefix, 'GIGA', INDETERMINATE) -mega = express_getattr(IfcSIPrefix, 'MEGA', INDETERMINATE) -kilo = express_getattr(IfcSIPrefix, 'KILO', INDETERMINATE) -hecto = express_getattr(IfcSIPrefix, 'HECTO', INDETERMINATE) -deca = express_getattr(IfcSIPrefix, 'DECA', INDETERMINATE) -deci = express_getattr(IfcSIPrefix, 'DECI', INDETERMINATE) -centi = express_getattr(IfcSIPrefix, 'CENTI', INDETERMINATE) -milli = express_getattr(IfcSIPrefix, 'MILLI', INDETERMINATE) -micro = express_getattr(IfcSIPrefix, 'MICRO', INDETERMINATE) -nano = express_getattr(IfcSIPrefix, 'NANO', INDETERMINATE) -pico = express_getattr(IfcSIPrefix, 'PICO', INDETERMINATE) -femto = express_getattr(IfcSIPrefix, 'FEMTO', INDETERMINATE) -atto = express_getattr(IfcSIPrefix, 'ATTO', INDETERMINATE) +exa = IfcSIPrefix.EXA +peta = IfcSIPrefix.PETA +tera = IfcSIPrefix.TERA +giga = IfcSIPrefix.GIGA +mega = IfcSIPrefix.MEGA +kilo = IfcSIPrefix.KILO +hecto = IfcSIPrefix.HECTO +deca = IfcSIPrefix.DECA +deci = IfcSIPrefix.DECI +centi = IfcSIPrefix.CENTI +milli = IfcSIPrefix.MILLI +micro = IfcSIPrefix.MICRO +nano = IfcSIPrefix.NANO +pico = IfcSIPrefix.PICO +femto = IfcSIPrefix.FEMTO +atto = IfcSIPrefix.ATTO IfcSIUnitName = enum_namespace() -ampere = express_getattr(IfcSIUnitName, 'AMPERE', INDETERMINATE) -becquerel = express_getattr(IfcSIUnitName, 'BECQUEREL', INDETERMINATE) -candela = express_getattr(IfcSIUnitName, 'CANDELA', INDETERMINATE) -coulomb = express_getattr(IfcSIUnitName, 'COULOMB', INDETERMINATE) -cubic_metre = express_getattr(IfcSIUnitName, 'CUBIC_METRE', INDETERMINATE) -degree_celsius = express_getattr(IfcSIUnitName, 'DEGREE_CELSIUS', INDETERMINATE) -farad = express_getattr(IfcSIUnitName, 'FARAD', INDETERMINATE) -gram = express_getattr(IfcSIUnitName, 'GRAM', INDETERMINATE) -gray = express_getattr(IfcSIUnitName, 'GRAY', INDETERMINATE) -henry = express_getattr(IfcSIUnitName, 'HENRY', INDETERMINATE) -hertz = express_getattr(IfcSIUnitName, 'HERTZ', INDETERMINATE) -joule = express_getattr(IfcSIUnitName, 'JOULE', INDETERMINATE) -kelvin = express_getattr(IfcSIUnitName, 'KELVIN', INDETERMINATE) -lumen = express_getattr(IfcSIUnitName, 'LUMEN', INDETERMINATE) -lux = express_getattr(IfcSIUnitName, 'LUX', INDETERMINATE) -metre = express_getattr(IfcSIUnitName, 'METRE', INDETERMINATE) -mole = express_getattr(IfcSIUnitName, 'MOLE', INDETERMINATE) -newton = express_getattr(IfcSIUnitName, 'NEWTON', INDETERMINATE) -ohm = express_getattr(IfcSIUnitName, 'OHM', INDETERMINATE) -pascal = express_getattr(IfcSIUnitName, 'PASCAL', INDETERMINATE) -radian = express_getattr(IfcSIUnitName, 'RADIAN', INDETERMINATE) -second = express_getattr(IfcSIUnitName, 'SECOND', INDETERMINATE) -siemens = express_getattr(IfcSIUnitName, 'SIEMENS', INDETERMINATE) -sievert = express_getattr(IfcSIUnitName, 'SIEVERT', INDETERMINATE) -square_metre = express_getattr(IfcSIUnitName, 'SQUARE_METRE', INDETERMINATE) -steradian = express_getattr(IfcSIUnitName, 'STERADIAN', INDETERMINATE) -tesla = express_getattr(IfcSIUnitName, 'TESLA', INDETERMINATE) -volt = express_getattr(IfcSIUnitName, 'VOLT', INDETERMINATE) -watt = express_getattr(IfcSIUnitName, 'WATT', INDETERMINATE) -weber = express_getattr(IfcSIUnitName, 'WEBER', INDETERMINATE) +ampere = IfcSIUnitName.AMPERE +becquerel = IfcSIUnitName.BECQUEREL +candela = IfcSIUnitName.CANDELA +coulomb = IfcSIUnitName.COULOMB +cubic_metre = IfcSIUnitName.CUBIC_METRE +degree_celsius = IfcSIUnitName.DEGREE_CELSIUS +farad = IfcSIUnitName.FARAD +gram = IfcSIUnitName.GRAM +gray = IfcSIUnitName.GRAY +henry = IfcSIUnitName.HENRY +hertz = IfcSIUnitName.HERTZ +joule = IfcSIUnitName.JOULE +kelvin = IfcSIUnitName.KELVIN +lumen = IfcSIUnitName.LUMEN +lux = IfcSIUnitName.LUX +metre = IfcSIUnitName.METRE +mole = IfcSIUnitName.MOLE +newton = IfcSIUnitName.NEWTON +ohm = IfcSIUnitName.OHM +pascal = IfcSIUnitName.PASCAL +radian = IfcSIUnitName.RADIAN +second = IfcSIUnitName.SECOND +siemens = IfcSIUnitName.SIEMENS +sievert = IfcSIUnitName.SIEVERT +square_metre = IfcSIUnitName.SQUARE_METRE +steradian = IfcSIUnitName.STERADIAN +tesla = IfcSIUnitName.TESLA +volt = IfcSIUnitName.VOLT +watt = IfcSIUnitName.WATT +weber = IfcSIUnitName.WEBER IfcSanitaryTerminalTypeEnum = enum_namespace() -bath = express_getattr(IfcSanitaryTerminalTypeEnum, 'BATH', INDETERMINATE) -bidet = express_getattr(IfcSanitaryTerminalTypeEnum, 'BIDET', INDETERMINATE) -cistern = express_getattr(IfcSanitaryTerminalTypeEnum, 'CISTERN', INDETERMINATE) -shower = express_getattr(IfcSanitaryTerminalTypeEnum, 'SHOWER', INDETERMINATE) -sink = express_getattr(IfcSanitaryTerminalTypeEnum, 'SINK', INDETERMINATE) -sanitaryfountain = express_getattr(IfcSanitaryTerminalTypeEnum, 'SANITARYFOUNTAIN', INDETERMINATE) -toiletpan = express_getattr(IfcSanitaryTerminalTypeEnum, 'TOILETPAN', INDETERMINATE) -urinal = express_getattr(IfcSanitaryTerminalTypeEnum, 'URINAL', INDETERMINATE) -washhandbasin = express_getattr(IfcSanitaryTerminalTypeEnum, 'WASHHANDBASIN', INDETERMINATE) -wcseat = express_getattr(IfcSanitaryTerminalTypeEnum, 'WCSEAT', INDETERMINATE) -userdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +bath = IfcSanitaryTerminalTypeEnum.BATH +bidet = IfcSanitaryTerminalTypeEnum.BIDET +cistern = IfcSanitaryTerminalTypeEnum.CISTERN +shower = IfcSanitaryTerminalTypeEnum.SHOWER +sink = IfcSanitaryTerminalTypeEnum.SINK +sanitaryfountain = IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN +toiletpan = IfcSanitaryTerminalTypeEnum.TOILETPAN +urinal = IfcSanitaryTerminalTypeEnum.URINAL +washhandbasin = IfcSanitaryTerminalTypeEnum.WASHHANDBASIN +wcseat = IfcSanitaryTerminalTypeEnum.WCSEAT +userdefined = IfcSanitaryTerminalTypeEnum.USERDEFINED +notdefined = IfcSanitaryTerminalTypeEnum.NOTDEFINED IfcSectionTypeEnum = enum_namespace() -uniform = express_getattr(IfcSectionTypeEnum, 'UNIFORM', INDETERMINATE) -tapered = express_getattr(IfcSectionTypeEnum, 'TAPERED', INDETERMINATE) +uniform = IfcSectionTypeEnum.UNIFORM +tapered = IfcSectionTypeEnum.TAPERED IfcSensorTypeEnum = enum_namespace() -cosensor = express_getattr(IfcSensorTypeEnum, 'COSENSOR', INDETERMINATE) -co2sensor = express_getattr(IfcSensorTypeEnum, 'CO2SENSOR', INDETERMINATE) -conductancesensor = express_getattr(IfcSensorTypeEnum, 'CONDUCTANCESENSOR', INDETERMINATE) -contactsensor = express_getattr(IfcSensorTypeEnum, 'CONTACTSENSOR', INDETERMINATE) -firesensor = express_getattr(IfcSensorTypeEnum, 'FIRESENSOR', INDETERMINATE) -flowsensor = express_getattr(IfcSensorTypeEnum, 'FLOWSENSOR', INDETERMINATE) -frostsensor = express_getattr(IfcSensorTypeEnum, 'FROSTSENSOR', INDETERMINATE) -gassensor = express_getattr(IfcSensorTypeEnum, 'GASSENSOR', INDETERMINATE) -heatsensor = express_getattr(IfcSensorTypeEnum, 'HEATSENSOR', INDETERMINATE) -humiditysensor = express_getattr(IfcSensorTypeEnum, 'HUMIDITYSENSOR', INDETERMINATE) -identifiersensor = express_getattr(IfcSensorTypeEnum, 'IDENTIFIERSENSOR', INDETERMINATE) -ionconcentrationsensor = express_getattr(IfcSensorTypeEnum, 'IONCONCENTRATIONSENSOR', INDETERMINATE) -levelsensor = express_getattr(IfcSensorTypeEnum, 'LEVELSENSOR', INDETERMINATE) -lightsensor = express_getattr(IfcSensorTypeEnum, 'LIGHTSENSOR', INDETERMINATE) -moisturesensor = express_getattr(IfcSensorTypeEnum, 'MOISTURESENSOR', INDETERMINATE) -movementsensor = express_getattr(IfcSensorTypeEnum, 'MOVEMENTSENSOR', INDETERMINATE) -phsensor = express_getattr(IfcSensorTypeEnum, 'PHSENSOR', INDETERMINATE) -pressuresensor = express_getattr(IfcSensorTypeEnum, 'PRESSURESENSOR', INDETERMINATE) -radiationsensor = express_getattr(IfcSensorTypeEnum, 'RADIATIONSENSOR', INDETERMINATE) -radioactivitysensor = express_getattr(IfcSensorTypeEnum, 'RADIOACTIVITYSENSOR', INDETERMINATE) -smokesensor = express_getattr(IfcSensorTypeEnum, 'SMOKESENSOR', INDETERMINATE) -soundsensor = express_getattr(IfcSensorTypeEnum, 'SOUNDSENSOR', INDETERMINATE) -temperaturesensor = express_getattr(IfcSensorTypeEnum, 'TEMPERATURESENSOR', INDETERMINATE) -windsensor = express_getattr(IfcSensorTypeEnum, 'WINDSENSOR', INDETERMINATE) -earthquakesensor = express_getattr(IfcSensorTypeEnum, 'EARTHQUAKESENSOR', INDETERMINATE) -foreignobjectdetectionsensor = express_getattr(IfcSensorTypeEnum, 'FOREIGNOBJECTDETECTIONSENSOR', INDETERMINATE) -obstaclesensor = express_getattr(IfcSensorTypeEnum, 'OBSTACLESENSOR', INDETERMINATE) -rainsensor = express_getattr(IfcSensorTypeEnum, 'RAINSENSOR', INDETERMINATE) -snowdepthsensor = express_getattr(IfcSensorTypeEnum, 'SNOWDEPTHSENSOR', INDETERMINATE) -trainsensor = express_getattr(IfcSensorTypeEnum, 'TRAINSENSOR', INDETERMINATE) -turnoutclosuresensor = express_getattr(IfcSensorTypeEnum, 'TURNOUTCLOSURESENSOR', INDETERMINATE) -wheelsensor = express_getattr(IfcSensorTypeEnum, 'WHEELSENSOR', INDETERMINATE) -userdefined = express_getattr(IfcSensorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSensorTypeEnum, 'NOTDEFINED', INDETERMINATE) +cosensor = IfcSensorTypeEnum.COSENSOR +co2sensor = IfcSensorTypeEnum.CO2SENSOR +conductancesensor = IfcSensorTypeEnum.CONDUCTANCESENSOR +contactsensor = IfcSensorTypeEnum.CONTACTSENSOR +firesensor = IfcSensorTypeEnum.FIRESENSOR +flowsensor = IfcSensorTypeEnum.FLOWSENSOR +frostsensor = IfcSensorTypeEnum.FROSTSENSOR +gassensor = IfcSensorTypeEnum.GASSENSOR +heatsensor = IfcSensorTypeEnum.HEATSENSOR +humiditysensor = IfcSensorTypeEnum.HUMIDITYSENSOR +identifiersensor = IfcSensorTypeEnum.IDENTIFIERSENSOR +ionconcentrationsensor = IfcSensorTypeEnum.IONCONCENTRATIONSENSOR +levelsensor = IfcSensorTypeEnum.LEVELSENSOR +lightsensor = IfcSensorTypeEnum.LIGHTSENSOR +moisturesensor = IfcSensorTypeEnum.MOISTURESENSOR +movementsensor = IfcSensorTypeEnum.MOVEMENTSENSOR +phsensor = IfcSensorTypeEnum.PHSENSOR +pressuresensor = IfcSensorTypeEnum.PRESSURESENSOR +radiationsensor = IfcSensorTypeEnum.RADIATIONSENSOR +radioactivitysensor = IfcSensorTypeEnum.RADIOACTIVITYSENSOR +smokesensor = IfcSensorTypeEnum.SMOKESENSOR +soundsensor = IfcSensorTypeEnum.SOUNDSENSOR +temperaturesensor = IfcSensorTypeEnum.TEMPERATURESENSOR +windsensor = IfcSensorTypeEnum.WINDSENSOR +earthquakesensor = IfcSensorTypeEnum.EARTHQUAKESENSOR +foreignobjectdetectionsensor = IfcSensorTypeEnum.FOREIGNOBJECTDETECTIONSENSOR +obstaclesensor = IfcSensorTypeEnum.OBSTACLESENSOR +rainsensor = IfcSensorTypeEnum.RAINSENSOR +snowdepthsensor = IfcSensorTypeEnum.SNOWDEPTHSENSOR +trainsensor = IfcSensorTypeEnum.TRAINSENSOR +turnoutclosuresensor = IfcSensorTypeEnum.TURNOUTCLOSURESENSOR +wheelsensor = IfcSensorTypeEnum.WHEELSENSOR +userdefined = IfcSensorTypeEnum.USERDEFINED +notdefined = IfcSensorTypeEnum.NOTDEFINED IfcSequenceEnum = enum_namespace() -start_start = express_getattr(IfcSequenceEnum, 'START_START', INDETERMINATE) -start_finish = express_getattr(IfcSequenceEnum, 'START_FINISH', INDETERMINATE) -finish_start = express_getattr(IfcSequenceEnum, 'FINISH_START', INDETERMINATE) -finish_finish = express_getattr(IfcSequenceEnum, 'FINISH_FINISH', INDETERMINATE) -userdefined = express_getattr(IfcSequenceEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSequenceEnum, 'NOTDEFINED', INDETERMINATE) +start_start = IfcSequenceEnum.START_START +start_finish = IfcSequenceEnum.START_FINISH +finish_start = IfcSequenceEnum.FINISH_START +finish_finish = IfcSequenceEnum.FINISH_FINISH +userdefined = IfcSequenceEnum.USERDEFINED +notdefined = IfcSequenceEnum.NOTDEFINED IfcShadingDeviceTypeEnum = enum_namespace() -jalousie = express_getattr(IfcShadingDeviceTypeEnum, 'JALOUSIE', INDETERMINATE) -shutter = express_getattr(IfcShadingDeviceTypeEnum, 'SHUTTER', INDETERMINATE) -awning = express_getattr(IfcShadingDeviceTypeEnum, 'AWNING', INDETERMINATE) -userdefined = express_getattr(IfcShadingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcShadingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +jalousie = IfcShadingDeviceTypeEnum.JALOUSIE +shutter = IfcShadingDeviceTypeEnum.SHUTTER +awning = IfcShadingDeviceTypeEnum.AWNING +userdefined = IfcShadingDeviceTypeEnum.USERDEFINED +notdefined = IfcShadingDeviceTypeEnum.NOTDEFINED IfcSignTypeEnum = enum_namespace() -marker = express_getattr(IfcSignTypeEnum, 'MARKER', INDETERMINATE) -pictoral = express_getattr(IfcSignTypeEnum, 'PICTORAL', INDETERMINATE) -mirror = express_getattr(IfcSignTypeEnum, 'MIRROR', INDETERMINATE) -userdefined = express_getattr(IfcSignTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSignTypeEnum, 'NOTDEFINED', INDETERMINATE) +marker = IfcSignTypeEnum.MARKER +pictoral = IfcSignTypeEnum.PICTORAL +mirror = IfcSignTypeEnum.MIRROR +userdefined = IfcSignTypeEnum.USERDEFINED +notdefined = IfcSignTypeEnum.NOTDEFINED IfcSignalTypeEnum = enum_namespace() -visual = express_getattr(IfcSignalTypeEnum, 'VISUAL', INDETERMINATE) -audio = express_getattr(IfcSignalTypeEnum, 'AUDIO', INDETERMINATE) -mixed = express_getattr(IfcSignalTypeEnum, 'MIXED', INDETERMINATE) -userdefined = express_getattr(IfcSignalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSignalTypeEnum, 'NOTDEFINED', INDETERMINATE) +visual = IfcSignalTypeEnum.VISUAL +audio = IfcSignalTypeEnum.AUDIO +mixed = IfcSignalTypeEnum.MIXED +userdefined = IfcSignalTypeEnum.USERDEFINED +notdefined = IfcSignalTypeEnum.NOTDEFINED IfcSimplePropertyTemplateTypeEnum = enum_namespace() -p_singlevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_SINGLEVALUE', INDETERMINATE) -p_enumeratedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_ENUMERATEDVALUE', INDETERMINATE) -p_boundedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_BOUNDEDVALUE', INDETERMINATE) -p_listvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_LISTVALUE', INDETERMINATE) -p_tablevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_TABLEVALUE', INDETERMINATE) -p_referencevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_REFERENCEVALUE', INDETERMINATE) -q_length = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_LENGTH', INDETERMINATE) -q_area = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_AREA', INDETERMINATE) -q_volume = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_VOLUME', INDETERMINATE) -q_count = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_COUNT', INDETERMINATE) -q_weight = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_WEIGHT', INDETERMINATE) -q_time = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_TIME', INDETERMINATE) +p_singlevalue = IfcSimplePropertyTemplateTypeEnum.P_SINGLEVALUE +p_enumeratedvalue = IfcSimplePropertyTemplateTypeEnum.P_ENUMERATEDVALUE +p_boundedvalue = IfcSimplePropertyTemplateTypeEnum.P_BOUNDEDVALUE +p_listvalue = IfcSimplePropertyTemplateTypeEnum.P_LISTVALUE +p_tablevalue = IfcSimplePropertyTemplateTypeEnum.P_TABLEVALUE +p_referencevalue = IfcSimplePropertyTemplateTypeEnum.P_REFERENCEVALUE +q_length = IfcSimplePropertyTemplateTypeEnum.Q_LENGTH +q_area = IfcSimplePropertyTemplateTypeEnum.Q_AREA +q_volume = IfcSimplePropertyTemplateTypeEnum.Q_VOLUME +q_count = IfcSimplePropertyTemplateTypeEnum.Q_COUNT +q_weight = IfcSimplePropertyTemplateTypeEnum.Q_WEIGHT +q_time = IfcSimplePropertyTemplateTypeEnum.Q_TIME IfcSlabTypeEnum = enum_namespace() -floor = express_getattr(IfcSlabTypeEnum, 'FLOOR', INDETERMINATE) -roof = express_getattr(IfcSlabTypeEnum, 'ROOF', INDETERMINATE) -landing = express_getattr(IfcSlabTypeEnum, 'LANDING', INDETERMINATE) -baseslab = express_getattr(IfcSlabTypeEnum, 'BASESLAB', INDETERMINATE) -approach_slab = express_getattr(IfcSlabTypeEnum, 'APPROACH_SLAB', INDETERMINATE) -paving = express_getattr(IfcSlabTypeEnum, 'PAVING', INDETERMINATE) -wearing = express_getattr(IfcSlabTypeEnum, 'WEARING', INDETERMINATE) -sidewalk = express_getattr(IfcSlabTypeEnum, 'SIDEWALK', INDETERMINATE) -trackslab = express_getattr(IfcSlabTypeEnum, 'TRACKSLAB', INDETERMINATE) -userdefined = express_getattr(IfcSlabTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSlabTypeEnum, 'NOTDEFINED', INDETERMINATE) +floor = IfcSlabTypeEnum.FLOOR +roof = IfcSlabTypeEnum.ROOF +landing = IfcSlabTypeEnum.LANDING +baseslab = IfcSlabTypeEnum.BASESLAB +approach_slab = IfcSlabTypeEnum.APPROACH_SLAB +paving = IfcSlabTypeEnum.PAVING +wearing = IfcSlabTypeEnum.WEARING +sidewalk = IfcSlabTypeEnum.SIDEWALK +trackslab = IfcSlabTypeEnum.TRACKSLAB +userdefined = IfcSlabTypeEnum.USERDEFINED +notdefined = IfcSlabTypeEnum.NOTDEFINED IfcSolarDeviceTypeEnum = enum_namespace() -solarcollector = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARCOLLECTOR', INDETERMINATE) -solarpanel = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARPANEL', INDETERMINATE) -userdefined = express_getattr(IfcSolarDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSolarDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +solarcollector = IfcSolarDeviceTypeEnum.SOLARCOLLECTOR +solarpanel = IfcSolarDeviceTypeEnum.SOLARPANEL +userdefined = IfcSolarDeviceTypeEnum.USERDEFINED +notdefined = IfcSolarDeviceTypeEnum.NOTDEFINED IfcSpaceHeaterTypeEnum = enum_namespace() -convector = express_getattr(IfcSpaceHeaterTypeEnum, 'CONVECTOR', INDETERMINATE) -radiator = express_getattr(IfcSpaceHeaterTypeEnum, 'RADIATOR', INDETERMINATE) -userdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'NOTDEFINED', INDETERMINATE) +convector = IfcSpaceHeaterTypeEnum.CONVECTOR +radiator = IfcSpaceHeaterTypeEnum.RADIATOR +userdefined = IfcSpaceHeaterTypeEnum.USERDEFINED +notdefined = IfcSpaceHeaterTypeEnum.NOTDEFINED IfcSpaceTypeEnum = enum_namespace() -space = express_getattr(IfcSpaceTypeEnum, 'SPACE', INDETERMINATE) -parking = express_getattr(IfcSpaceTypeEnum, 'PARKING', INDETERMINATE) -gfa = express_getattr(IfcSpaceTypeEnum, 'GFA', INDETERMINATE) -internal = express_getattr(IfcSpaceTypeEnum, 'INTERNAL', INDETERMINATE) -external = express_getattr(IfcSpaceTypeEnum, 'EXTERNAL', INDETERMINATE) -berth = express_getattr(IfcSpaceTypeEnum, 'BERTH', INDETERMINATE) -userdefined = express_getattr(IfcSpaceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceTypeEnum, 'NOTDEFINED', INDETERMINATE) +space = IfcSpaceTypeEnum.SPACE +parking = IfcSpaceTypeEnum.PARKING +gfa = IfcSpaceTypeEnum.GFA +internal = IfcSpaceTypeEnum.INTERNAL +external = IfcSpaceTypeEnum.EXTERNAL +berth = IfcSpaceTypeEnum.BERTH +userdefined = IfcSpaceTypeEnum.USERDEFINED +notdefined = IfcSpaceTypeEnum.NOTDEFINED IfcSpatialZoneTypeEnum = enum_namespace() -construction = express_getattr(IfcSpatialZoneTypeEnum, 'CONSTRUCTION', INDETERMINATE) -firesafety = express_getattr(IfcSpatialZoneTypeEnum, 'FIRESAFETY', INDETERMINATE) -lighting = express_getattr(IfcSpatialZoneTypeEnum, 'LIGHTING', INDETERMINATE) -occupancy = express_getattr(IfcSpatialZoneTypeEnum, 'OCCUPANCY', INDETERMINATE) -security = express_getattr(IfcSpatialZoneTypeEnum, 'SECURITY', INDETERMINATE) -thermal = express_getattr(IfcSpatialZoneTypeEnum, 'THERMAL', INDETERMINATE) -transport = express_getattr(IfcSpatialZoneTypeEnum, 'TRANSPORT', INDETERMINATE) -ventilation = express_getattr(IfcSpatialZoneTypeEnum, 'VENTILATION', INDETERMINATE) -reservation = express_getattr(IfcSpatialZoneTypeEnum, 'RESERVATION', INDETERMINATE) -interference = express_getattr(IfcSpatialZoneTypeEnum, 'INTERFERENCE', INDETERMINATE) -userdefined = express_getattr(IfcSpatialZoneTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpatialZoneTypeEnum, 'NOTDEFINED', INDETERMINATE) +construction = IfcSpatialZoneTypeEnum.CONSTRUCTION +firesafety = IfcSpatialZoneTypeEnum.FIRESAFETY +lighting = IfcSpatialZoneTypeEnum.LIGHTING +occupancy = IfcSpatialZoneTypeEnum.OCCUPANCY +security = IfcSpatialZoneTypeEnum.SECURITY +thermal = IfcSpatialZoneTypeEnum.THERMAL +transport = IfcSpatialZoneTypeEnum.TRANSPORT +ventilation = IfcSpatialZoneTypeEnum.VENTILATION +reservation = IfcSpatialZoneTypeEnum.RESERVATION +interference = IfcSpatialZoneTypeEnum.INTERFERENCE +userdefined = IfcSpatialZoneTypeEnum.USERDEFINED +notdefined = IfcSpatialZoneTypeEnum.NOTDEFINED IfcStackTerminalTypeEnum = enum_namespace() -birdcage = express_getattr(IfcStackTerminalTypeEnum, 'BIRDCAGE', INDETERMINATE) -cowl = express_getattr(IfcStackTerminalTypeEnum, 'COWL', INDETERMINATE) -rainwaterhopper = express_getattr(IfcStackTerminalTypeEnum, 'RAINWATERHOPPER', INDETERMINATE) -userdefined = express_getattr(IfcStackTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStackTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +birdcage = IfcStackTerminalTypeEnum.BIRDCAGE +cowl = IfcStackTerminalTypeEnum.COWL +rainwaterhopper = IfcStackTerminalTypeEnum.RAINWATERHOPPER +userdefined = IfcStackTerminalTypeEnum.USERDEFINED +notdefined = IfcStackTerminalTypeEnum.NOTDEFINED IfcStairFlightTypeEnum = enum_namespace() -straight = express_getattr(IfcStairFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -winder = express_getattr(IfcStairFlightTypeEnum, 'WINDER', INDETERMINATE) -spiral = express_getattr(IfcStairFlightTypeEnum, 'SPIRAL', INDETERMINATE) -curved = express_getattr(IfcStairFlightTypeEnum, 'CURVED', INDETERMINATE) -freeform = express_getattr(IfcStairFlightTypeEnum, 'FREEFORM', INDETERMINATE) -userdefined = express_getattr(IfcStairFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight = IfcStairFlightTypeEnum.STRAIGHT +winder = IfcStairFlightTypeEnum.WINDER +spiral = IfcStairFlightTypeEnum.SPIRAL +curved = IfcStairFlightTypeEnum.CURVED +freeform = IfcStairFlightTypeEnum.FREEFORM +userdefined = IfcStairFlightTypeEnum.USERDEFINED +notdefined = IfcStairFlightTypeEnum.NOTDEFINED IfcStairTypeEnum = enum_namespace() -straight_run_stair = express_getattr(IfcStairTypeEnum, 'STRAIGHT_RUN_STAIR', INDETERMINATE) -two_straight_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_STRAIGHT_RUN_STAIR', INDETERMINATE) -quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_WINDING_STAIR', INDETERMINATE) -quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_TURN_STAIR', INDETERMINATE) -half_winding_stair = express_getattr(IfcStairTypeEnum, 'HALF_WINDING_STAIR', INDETERMINATE) -half_turn_stair = express_getattr(IfcStairTypeEnum, 'HALF_TURN_STAIR', INDETERMINATE) -two_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_WINDING_STAIR', INDETERMINATE) -two_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_TURN_STAIR', INDETERMINATE) -three_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_WINDING_STAIR', INDETERMINATE) -three_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_TURN_STAIR', INDETERMINATE) -spiral_stair = express_getattr(IfcStairTypeEnum, 'SPIRAL_STAIR', INDETERMINATE) -double_return_stair = express_getattr(IfcStairTypeEnum, 'DOUBLE_RETURN_STAIR', INDETERMINATE) -curved_run_stair = express_getattr(IfcStairTypeEnum, 'CURVED_RUN_STAIR', INDETERMINATE) -two_curved_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_CURVED_RUN_STAIR', INDETERMINATE) -ladder = express_getattr(IfcStairTypeEnum, 'LADDER', INDETERMINATE) -userdefined = express_getattr(IfcStairTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairTypeEnum, 'NOTDEFINED', INDETERMINATE) +straight_run_stair = IfcStairTypeEnum.STRAIGHT_RUN_STAIR +two_straight_run_stair = IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR +quarter_winding_stair = IfcStairTypeEnum.QUARTER_WINDING_STAIR +quarter_turn_stair = IfcStairTypeEnum.QUARTER_TURN_STAIR +half_winding_stair = IfcStairTypeEnum.HALF_WINDING_STAIR +half_turn_stair = IfcStairTypeEnum.HALF_TURN_STAIR +two_quarter_winding_stair = IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR +two_quarter_turn_stair = IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR +three_quarter_winding_stair = IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR +three_quarter_turn_stair = IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR +spiral_stair = IfcStairTypeEnum.SPIRAL_STAIR +double_return_stair = IfcStairTypeEnum.DOUBLE_RETURN_STAIR +curved_run_stair = IfcStairTypeEnum.CURVED_RUN_STAIR +two_curved_run_stair = IfcStairTypeEnum.TWO_CURVED_RUN_STAIR +ladder = IfcStairTypeEnum.LADDER +userdefined = IfcStairTypeEnum.USERDEFINED +notdefined = IfcStairTypeEnum.NOTDEFINED IfcStateEnum = enum_namespace() -readwrite = express_getattr(IfcStateEnum, 'READWRITE', INDETERMINATE) -readonly = express_getattr(IfcStateEnum, 'READONLY', INDETERMINATE) -locked = express_getattr(IfcStateEnum, 'LOCKED', INDETERMINATE) -readwritelocked = express_getattr(IfcStateEnum, 'READWRITELOCKED', INDETERMINATE) -readonlylocked = express_getattr(IfcStateEnum, 'READONLYLOCKED', INDETERMINATE) +readwrite = IfcStateEnum.READWRITE +readonly = IfcStateEnum.READONLY +locked = IfcStateEnum.LOCKED +readwritelocked = IfcStateEnum.READWRITELOCKED +readonlylocked = IfcStateEnum.READONLYLOCKED IfcStructuralCurveActivityTypeEnum = enum_namespace() -const = express_getattr(IfcStructuralCurveActivityTypeEnum, 'CONST', INDETERMINATE) -linear = express_getattr(IfcStructuralCurveActivityTypeEnum, 'LINEAR', INDETERMINATE) -polygonal = express_getattr(IfcStructuralCurveActivityTypeEnum, 'POLYGONAL', INDETERMINATE) -equidistant = express_getattr(IfcStructuralCurveActivityTypeEnum, 'EQUIDISTANT', INDETERMINATE) -sinus = express_getattr(IfcStructuralCurveActivityTypeEnum, 'SINUS', INDETERMINATE) -parabola = express_getattr(IfcStructuralCurveActivityTypeEnum, 'PARABOLA', INDETERMINATE) -discrete = express_getattr(IfcStructuralCurveActivityTypeEnum, 'DISCRETE', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +const = IfcStructuralCurveActivityTypeEnum.CONST +linear = IfcStructuralCurveActivityTypeEnum.LINEAR +polygonal = IfcStructuralCurveActivityTypeEnum.POLYGONAL +equidistant = IfcStructuralCurveActivityTypeEnum.EQUIDISTANT +sinus = IfcStructuralCurveActivityTypeEnum.SINUS +parabola = IfcStructuralCurveActivityTypeEnum.PARABOLA +discrete = IfcStructuralCurveActivityTypeEnum.DISCRETE +userdefined = IfcStructuralCurveActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveActivityTypeEnum.NOTDEFINED IfcStructuralCurveMemberTypeEnum = enum_namespace() -rigid_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'RIGID_JOINED_MEMBER', INDETERMINATE) -pin_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'PIN_JOINED_MEMBER', INDETERMINATE) -cable = express_getattr(IfcStructuralCurveMemberTypeEnum, 'CABLE', INDETERMINATE) -tension_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'TENSION_MEMBER', INDETERMINATE) -compression_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'COMPRESSION_MEMBER', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +rigid_joined_member = IfcStructuralCurveMemberTypeEnum.RIGID_JOINED_MEMBER +pin_joined_member = IfcStructuralCurveMemberTypeEnum.PIN_JOINED_MEMBER +cable = IfcStructuralCurveMemberTypeEnum.CABLE +tension_member = IfcStructuralCurveMemberTypeEnum.TENSION_MEMBER +compression_member = IfcStructuralCurveMemberTypeEnum.COMPRESSION_MEMBER +userdefined = IfcStructuralCurveMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveMemberTypeEnum.NOTDEFINED IfcStructuralSurfaceActivityTypeEnum = enum_namespace() -const = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'CONST', INDETERMINATE) -bilinear = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'BILINEAR', INDETERMINATE) -discrete = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'DISCRETE', INDETERMINATE) -isocontour = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'ISOCONTOUR', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +const = IfcStructuralSurfaceActivityTypeEnum.CONST +bilinear = IfcStructuralSurfaceActivityTypeEnum.BILINEAR +discrete = IfcStructuralSurfaceActivityTypeEnum.DISCRETE +isocontour = IfcStructuralSurfaceActivityTypeEnum.ISOCONTOUR +userdefined = IfcStructuralSurfaceActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceActivityTypeEnum.NOTDEFINED IfcStructuralSurfaceMemberTypeEnum = enum_namespace() -bending_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'BENDING_ELEMENT', INDETERMINATE) -membrane_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'MEMBRANE_ELEMENT', INDETERMINATE) -shell = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'SHELL', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +bending_element = IfcStructuralSurfaceMemberTypeEnum.BENDING_ELEMENT +membrane_element = IfcStructuralSurfaceMemberTypeEnum.MEMBRANE_ELEMENT +shell = IfcStructuralSurfaceMemberTypeEnum.SHELL +userdefined = IfcStructuralSurfaceMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceMemberTypeEnum.NOTDEFINED IfcSubContractResourceTypeEnum = enum_namespace() -purchase = express_getattr(IfcSubContractResourceTypeEnum, 'PURCHASE', INDETERMINATE) -work = express_getattr(IfcSubContractResourceTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcSubContractResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSubContractResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +purchase = IfcSubContractResourceTypeEnum.PURCHASE +work = IfcSubContractResourceTypeEnum.WORK +userdefined = IfcSubContractResourceTypeEnum.USERDEFINED +notdefined = IfcSubContractResourceTypeEnum.NOTDEFINED IfcSurfaceFeatureTypeEnum = enum_namespace() -mark = express_getattr(IfcSurfaceFeatureTypeEnum, 'MARK', INDETERMINATE) -tag = express_getattr(IfcSurfaceFeatureTypeEnum, 'TAG', INDETERMINATE) -treatment = express_getattr(IfcSurfaceFeatureTypeEnum, 'TREATMENT', INDETERMINATE) -defect = express_getattr(IfcSurfaceFeatureTypeEnum, 'DEFECT', INDETERMINATE) -hatchmarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'HATCHMARKING', INDETERMINATE) -linemarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'LINEMARKING', INDETERMINATE) -pavementsurfacemarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'PAVEMENTSURFACEMARKING', INDETERMINATE) -symbolmarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'SYMBOLMARKING', INDETERMINATE) -nonskidsurfacing = express_getattr(IfcSurfaceFeatureTypeEnum, 'NONSKIDSURFACING', INDETERMINATE) -rumblestrip = express_getattr(IfcSurfaceFeatureTypeEnum, 'RUMBLESTRIP', INDETERMINATE) -transverserumblestrip = express_getattr(IfcSurfaceFeatureTypeEnum, 'TRANSVERSERUMBLESTRIP', INDETERMINATE) -userdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +mark = IfcSurfaceFeatureTypeEnum.MARK +tag = IfcSurfaceFeatureTypeEnum.TAG +treatment = IfcSurfaceFeatureTypeEnum.TREATMENT +defect = IfcSurfaceFeatureTypeEnum.DEFECT +hatchmarking = IfcSurfaceFeatureTypeEnum.HATCHMARKING +linemarking = IfcSurfaceFeatureTypeEnum.LINEMARKING +pavementsurfacemarking = IfcSurfaceFeatureTypeEnum.PAVEMENTSURFACEMARKING +symbolmarking = IfcSurfaceFeatureTypeEnum.SYMBOLMARKING +nonskidsurfacing = IfcSurfaceFeatureTypeEnum.NONSKIDSURFACING +rumblestrip = IfcSurfaceFeatureTypeEnum.RUMBLESTRIP +transverserumblestrip = IfcSurfaceFeatureTypeEnum.TRANSVERSERUMBLESTRIP +userdefined = IfcSurfaceFeatureTypeEnum.USERDEFINED +notdefined = IfcSurfaceFeatureTypeEnum.NOTDEFINED IfcSurfaceSide = enum_namespace() -positive = express_getattr(IfcSurfaceSide, 'POSITIVE', INDETERMINATE) -negative = express_getattr(IfcSurfaceSide, 'NEGATIVE', INDETERMINATE) -both = express_getattr(IfcSurfaceSide, 'BOTH', INDETERMINATE) +positive = IfcSurfaceSide.POSITIVE +negative = IfcSurfaceSide.NEGATIVE +both = IfcSurfaceSide.BOTH IfcSwitchingDeviceTypeEnum = enum_namespace() -contactor = express_getattr(IfcSwitchingDeviceTypeEnum, 'CONTACTOR', INDETERMINATE) -dimmerswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'DIMMERSWITCH', INDETERMINATE) -emergencystop = express_getattr(IfcSwitchingDeviceTypeEnum, 'EMERGENCYSTOP', INDETERMINATE) -keypad = express_getattr(IfcSwitchingDeviceTypeEnum, 'KEYPAD', INDETERMINATE) -momentaryswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'MOMENTARYSWITCH', INDETERMINATE) -selectorswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'SELECTORSWITCH', INDETERMINATE) -starter = express_getattr(IfcSwitchingDeviceTypeEnum, 'STARTER', INDETERMINATE) -switchdisconnector = express_getattr(IfcSwitchingDeviceTypeEnum, 'SWITCHDISCONNECTOR', INDETERMINATE) -toggleswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'TOGGLESWITCH', INDETERMINATE) -relay = express_getattr(IfcSwitchingDeviceTypeEnum, 'RELAY', INDETERMINATE) -start_and_stop_equipment = express_getattr(IfcSwitchingDeviceTypeEnum, 'START_AND_STOP_EQUIPMENT', INDETERMINATE) -userdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +contactor = IfcSwitchingDeviceTypeEnum.CONTACTOR +dimmerswitch = IfcSwitchingDeviceTypeEnum.DIMMERSWITCH +emergencystop = IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP +keypad = IfcSwitchingDeviceTypeEnum.KEYPAD +momentaryswitch = IfcSwitchingDeviceTypeEnum.MOMENTARYSWITCH +selectorswitch = IfcSwitchingDeviceTypeEnum.SELECTORSWITCH +starter = IfcSwitchingDeviceTypeEnum.STARTER +switchdisconnector = IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR +toggleswitch = IfcSwitchingDeviceTypeEnum.TOGGLESWITCH +relay = IfcSwitchingDeviceTypeEnum.RELAY +start_and_stop_equipment = IfcSwitchingDeviceTypeEnum.START_AND_STOP_EQUIPMENT +userdefined = IfcSwitchingDeviceTypeEnum.USERDEFINED +notdefined = IfcSwitchingDeviceTypeEnum.NOTDEFINED IfcSystemFurnitureElementTypeEnum = enum_namespace() -panel = express_getattr(IfcSystemFurnitureElementTypeEnum, 'PANEL', INDETERMINATE) -worksurface = express_getattr(IfcSystemFurnitureElementTypeEnum, 'WORKSURFACE', INDETERMINATE) -subrack = express_getattr(IfcSystemFurnitureElementTypeEnum, 'SUBRACK', INDETERMINATE) -userdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +panel = IfcSystemFurnitureElementTypeEnum.PANEL +worksurface = IfcSystemFurnitureElementTypeEnum.WORKSURFACE +subrack = IfcSystemFurnitureElementTypeEnum.SUBRACK +userdefined = IfcSystemFurnitureElementTypeEnum.USERDEFINED +notdefined = IfcSystemFurnitureElementTypeEnum.NOTDEFINED IfcTankTypeEnum = enum_namespace() -basin = express_getattr(IfcTankTypeEnum, 'BASIN', INDETERMINATE) -breakpressure = express_getattr(IfcTankTypeEnum, 'BREAKPRESSURE', INDETERMINATE) -expansion = express_getattr(IfcTankTypeEnum, 'EXPANSION', INDETERMINATE) -feedandexpansion = express_getattr(IfcTankTypeEnum, 'FEEDANDEXPANSION', INDETERMINATE) -pressurevessel = express_getattr(IfcTankTypeEnum, 'PRESSUREVESSEL', INDETERMINATE) -storage = express_getattr(IfcTankTypeEnum, 'STORAGE', INDETERMINATE) -vessel = express_getattr(IfcTankTypeEnum, 'VESSEL', INDETERMINATE) -oilretentiontray = express_getattr(IfcTankTypeEnum, 'OILRETENTIONTRAY', INDETERMINATE) -userdefined = express_getattr(IfcTankTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTankTypeEnum, 'NOTDEFINED', INDETERMINATE) +basin = IfcTankTypeEnum.BASIN +breakpressure = IfcTankTypeEnum.BREAKPRESSURE +expansion = IfcTankTypeEnum.EXPANSION +feedandexpansion = IfcTankTypeEnum.FEEDANDEXPANSION +pressurevessel = IfcTankTypeEnum.PRESSUREVESSEL +storage = IfcTankTypeEnum.STORAGE +vessel = IfcTankTypeEnum.VESSEL +oilretentiontray = IfcTankTypeEnum.OILRETENTIONTRAY +userdefined = IfcTankTypeEnum.USERDEFINED +notdefined = IfcTankTypeEnum.NOTDEFINED IfcTaskDurationEnum = enum_namespace() -elapsedtime = express_getattr(IfcTaskDurationEnum, 'ELAPSEDTIME', INDETERMINATE) -worktime = express_getattr(IfcTaskDurationEnum, 'WORKTIME', INDETERMINATE) -notdefined = express_getattr(IfcTaskDurationEnum, 'NOTDEFINED', INDETERMINATE) +elapsedtime = IfcTaskDurationEnum.ELAPSEDTIME +worktime = IfcTaskDurationEnum.WORKTIME +notdefined = IfcTaskDurationEnum.NOTDEFINED IfcTaskTypeEnum = enum_namespace() -attendance = express_getattr(IfcTaskTypeEnum, 'ATTENDANCE', INDETERMINATE) -construction = express_getattr(IfcTaskTypeEnum, 'CONSTRUCTION', INDETERMINATE) -demolition = express_getattr(IfcTaskTypeEnum, 'DEMOLITION', INDETERMINATE) -dismantle = express_getattr(IfcTaskTypeEnum, 'DISMANTLE', INDETERMINATE) -disposal = express_getattr(IfcTaskTypeEnum, 'DISPOSAL', INDETERMINATE) -installation = express_getattr(IfcTaskTypeEnum, 'INSTALLATION', INDETERMINATE) -logistic = express_getattr(IfcTaskTypeEnum, 'LOGISTIC', INDETERMINATE) -maintenance = express_getattr(IfcTaskTypeEnum, 'MAINTENANCE', INDETERMINATE) -move = express_getattr(IfcTaskTypeEnum, 'MOVE', INDETERMINATE) -operation = express_getattr(IfcTaskTypeEnum, 'OPERATION', INDETERMINATE) -removal = express_getattr(IfcTaskTypeEnum, 'REMOVAL', INDETERMINATE) -renovation = express_getattr(IfcTaskTypeEnum, 'RENOVATION', INDETERMINATE) -userdefined = express_getattr(IfcTaskTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTaskTypeEnum, 'NOTDEFINED', INDETERMINATE) +attendance = IfcTaskTypeEnum.ATTENDANCE +construction = IfcTaskTypeEnum.CONSTRUCTION +demolition = IfcTaskTypeEnum.DEMOLITION +dismantle = IfcTaskTypeEnum.DISMANTLE +disposal = IfcTaskTypeEnum.DISPOSAL +installation = IfcTaskTypeEnum.INSTALLATION +logistic = IfcTaskTypeEnum.LOGISTIC +maintenance = IfcTaskTypeEnum.MAINTENANCE +move = IfcTaskTypeEnum.MOVE +operation = IfcTaskTypeEnum.OPERATION +removal = IfcTaskTypeEnum.REMOVAL +renovation = IfcTaskTypeEnum.RENOVATION +userdefined = IfcTaskTypeEnum.USERDEFINED +notdefined = IfcTaskTypeEnum.NOTDEFINED IfcTendonAnchorTypeEnum = enum_namespace() -coupler = express_getattr(IfcTendonAnchorTypeEnum, 'COUPLER', INDETERMINATE) -fixed_end = express_getattr(IfcTendonAnchorTypeEnum, 'FIXED_END', INDETERMINATE) -tensioning_end = express_getattr(IfcTendonAnchorTypeEnum, 'TENSIONING_END', INDETERMINATE) -userdefined = express_getattr(IfcTendonAnchorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonAnchorTypeEnum, 'NOTDEFINED', INDETERMINATE) +coupler = IfcTendonAnchorTypeEnum.COUPLER +fixed_end = IfcTendonAnchorTypeEnum.FIXED_END +tensioning_end = IfcTendonAnchorTypeEnum.TENSIONING_END +userdefined = IfcTendonAnchorTypeEnum.USERDEFINED +notdefined = IfcTendonAnchorTypeEnum.NOTDEFINED IfcTendonConduitTypeEnum = enum_namespace() -duct = express_getattr(IfcTendonConduitTypeEnum, 'DUCT', INDETERMINATE) -coupler = express_getattr(IfcTendonConduitTypeEnum, 'COUPLER', INDETERMINATE) -grouting_duct = express_getattr(IfcTendonConduitTypeEnum, 'GROUTING_DUCT', INDETERMINATE) -trumpet = express_getattr(IfcTendonConduitTypeEnum, 'TRUMPET', INDETERMINATE) -diabolo = express_getattr(IfcTendonConduitTypeEnum, 'DIABOLO', INDETERMINATE) -userdefined = express_getattr(IfcTendonConduitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonConduitTypeEnum, 'NOTDEFINED', INDETERMINATE) +duct = IfcTendonConduitTypeEnum.DUCT +coupler = IfcTendonConduitTypeEnum.COUPLER +grouting_duct = IfcTendonConduitTypeEnum.GROUTING_DUCT +trumpet = IfcTendonConduitTypeEnum.TRUMPET +diabolo = IfcTendonConduitTypeEnum.DIABOLO +userdefined = IfcTendonConduitTypeEnum.USERDEFINED +notdefined = IfcTendonConduitTypeEnum.NOTDEFINED IfcTendonTypeEnum = enum_namespace() -bar = express_getattr(IfcTendonTypeEnum, 'BAR', INDETERMINATE) -coated = express_getattr(IfcTendonTypeEnum, 'COATED', INDETERMINATE) -strand = express_getattr(IfcTendonTypeEnum, 'STRAND', INDETERMINATE) -wire = express_getattr(IfcTendonTypeEnum, 'WIRE', INDETERMINATE) -userdefined = express_getattr(IfcTendonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonTypeEnum, 'NOTDEFINED', INDETERMINATE) +bar = IfcTendonTypeEnum.BAR +coated = IfcTendonTypeEnum.COATED +strand = IfcTendonTypeEnum.STRAND +wire = IfcTendonTypeEnum.WIRE +userdefined = IfcTendonTypeEnum.USERDEFINED +notdefined = IfcTendonTypeEnum.NOTDEFINED IfcTextPath = enum_namespace() -left = express_getattr(IfcTextPath, 'LEFT', INDETERMINATE) -right = express_getattr(IfcTextPath, 'RIGHT', INDETERMINATE) -up = express_getattr(IfcTextPath, 'UP', INDETERMINATE) -down = express_getattr(IfcTextPath, 'DOWN', INDETERMINATE) +left = IfcTextPath.LEFT +right = IfcTextPath.RIGHT +up = IfcTextPath.UP +down = IfcTextPath.DOWN IfcTimeSeriesDataTypeEnum = enum_namespace() -continuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'CONTINUOUS', INDETERMINATE) -discrete = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETE', INDETERMINATE) -discretebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETEBINARY', INDETERMINATE) -piecewisebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISEBINARY', INDETERMINATE) -piecewiseconstant = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONSTANT', INDETERMINATE) -piecewisecontinuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONTINUOUS', INDETERMINATE) -notdefined = express_getattr(IfcTimeSeriesDataTypeEnum, 'NOTDEFINED', INDETERMINATE) +continuous = IfcTimeSeriesDataTypeEnum.CONTINUOUS +discrete = IfcTimeSeriesDataTypeEnum.DISCRETE +discretebinary = IfcTimeSeriesDataTypeEnum.DISCRETEBINARY +piecewisebinary = IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY +piecewiseconstant = IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT +piecewisecontinuous = IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS +notdefined = IfcTimeSeriesDataTypeEnum.NOTDEFINED IfcTrackElementTypeEnum = enum_namespace() -trackendofalignment = express_getattr(IfcTrackElementTypeEnum, 'TRACKENDOFALIGNMENT', INDETERMINATE) -blockingdevice = express_getattr(IfcTrackElementTypeEnum, 'BLOCKINGDEVICE', INDETERMINATE) -vehiclestop = express_getattr(IfcTrackElementTypeEnum, 'VEHICLESTOP', INDETERMINATE) -sleeper = express_getattr(IfcTrackElementTypeEnum, 'SLEEPER', INDETERMINATE) -half_set_of_blades = express_getattr(IfcTrackElementTypeEnum, 'HALF_SET_OF_BLADES', INDETERMINATE) -speedregulator = express_getattr(IfcTrackElementTypeEnum, 'SPEEDREGULATOR', INDETERMINATE) -derailer = express_getattr(IfcTrackElementTypeEnum, 'DERAILER', INDETERMINATE) -frog = express_getattr(IfcTrackElementTypeEnum, 'FROG', INDETERMINATE) -userdefined = express_getattr(IfcTrackElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTrackElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +trackendofalignment = IfcTrackElementTypeEnum.TRACKENDOFALIGNMENT +blockingdevice = IfcTrackElementTypeEnum.BLOCKINGDEVICE +vehiclestop = IfcTrackElementTypeEnum.VEHICLESTOP +sleeper = IfcTrackElementTypeEnum.SLEEPER +half_set_of_blades = IfcTrackElementTypeEnum.HALF_SET_OF_BLADES +speedregulator = IfcTrackElementTypeEnum.SPEEDREGULATOR +derailer = IfcTrackElementTypeEnum.DERAILER +frog = IfcTrackElementTypeEnum.FROG +userdefined = IfcTrackElementTypeEnum.USERDEFINED +notdefined = IfcTrackElementTypeEnum.NOTDEFINED IfcTransformerTypeEnum = enum_namespace() -current = express_getattr(IfcTransformerTypeEnum, 'CURRENT', INDETERMINATE) -frequency = express_getattr(IfcTransformerTypeEnum, 'FREQUENCY', INDETERMINATE) -inverter = express_getattr(IfcTransformerTypeEnum, 'INVERTER', INDETERMINATE) -rectifier = express_getattr(IfcTransformerTypeEnum, 'RECTIFIER', INDETERMINATE) -voltage = express_getattr(IfcTransformerTypeEnum, 'VOLTAGE', INDETERMINATE) -chopper = express_getattr(IfcTransformerTypeEnum, 'CHOPPER', INDETERMINATE) -combined = express_getattr(IfcTransformerTypeEnum, 'COMBINED', INDETERMINATE) -userdefined = express_getattr(IfcTransformerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransformerTypeEnum, 'NOTDEFINED', INDETERMINATE) +current = IfcTransformerTypeEnum.CURRENT +frequency = IfcTransformerTypeEnum.FREQUENCY +inverter = IfcTransformerTypeEnum.INVERTER +rectifier = IfcTransformerTypeEnum.RECTIFIER +voltage = IfcTransformerTypeEnum.VOLTAGE +chopper = IfcTransformerTypeEnum.CHOPPER +combined = IfcTransformerTypeEnum.COMBINED +userdefined = IfcTransformerTypeEnum.USERDEFINED +notdefined = IfcTransformerTypeEnum.NOTDEFINED IfcTransitionCode = enum_namespace() -discontinuous = express_getattr(IfcTransitionCode, 'DISCONTINUOUS', INDETERMINATE) -continuous = express_getattr(IfcTransitionCode, 'CONTINUOUS', INDETERMINATE) -contsamegradient = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENT', INDETERMINATE) -contsamegradientsamecurvature = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENTSAMECURVATURE', INDETERMINATE) +discontinuous = IfcTransitionCode.DISCONTINUOUS +continuous = IfcTransitionCode.CONTINUOUS +contsamegradient = IfcTransitionCode.CONTSAMEGRADIENT +contsamegradientsamecurvature = IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE IfcTransportElementFixedTypeEnum = enum_namespace() -elevator = express_getattr(IfcTransportElementFixedTypeEnum, 'ELEVATOR', INDETERMINATE) -escalator = express_getattr(IfcTransportElementFixedTypeEnum, 'ESCALATOR', INDETERMINATE) -movingwalkway = express_getattr(IfcTransportElementFixedTypeEnum, 'MOVINGWALKWAY', INDETERMINATE) -craneway = express_getattr(IfcTransportElementFixedTypeEnum, 'CRANEWAY', INDETERMINATE) -liftinggear = express_getattr(IfcTransportElementFixedTypeEnum, 'LIFTINGGEAR', INDETERMINATE) -haulinggear = express_getattr(IfcTransportElementFixedTypeEnum, 'HAULINGGEAR', INDETERMINATE) -userdefined = express_getattr(IfcTransportElementFixedTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransportElementFixedTypeEnum, 'NOTDEFINED', INDETERMINATE) +elevator = IfcTransportElementFixedTypeEnum.ELEVATOR +escalator = IfcTransportElementFixedTypeEnum.ESCALATOR +movingwalkway = IfcTransportElementFixedTypeEnum.MOVINGWALKWAY +craneway = IfcTransportElementFixedTypeEnum.CRANEWAY +liftinggear = IfcTransportElementFixedTypeEnum.LIFTINGGEAR +haulinggear = IfcTransportElementFixedTypeEnum.HAULINGGEAR +userdefined = IfcTransportElementFixedTypeEnum.USERDEFINED +notdefined = IfcTransportElementFixedTypeEnum.NOTDEFINED IfcTransportElementNonFixedTypeEnum = enum_namespace() -vehicle = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLE', INDETERMINATE) -vehicletracked = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLETRACKED', INDETERMINATE) -rollingstock = express_getattr(IfcTransportElementNonFixedTypeEnum, 'ROLLINGSTOCK', INDETERMINATE) -vehiclewheeled = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLEWHEELED', INDETERMINATE) -vehicleair = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLEAIR', INDETERMINATE) -cargo = express_getattr(IfcTransportElementNonFixedTypeEnum, 'CARGO', INDETERMINATE) -vehiclemarine = express_getattr(IfcTransportElementNonFixedTypeEnum, 'VEHICLEMARINE', INDETERMINATE) -userdefined = express_getattr(IfcTransportElementNonFixedTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransportElementNonFixedTypeEnum, 'NOTDEFINED', INDETERMINATE) +vehicle = IfcTransportElementNonFixedTypeEnum.VEHICLE +vehicletracked = IfcTransportElementNonFixedTypeEnum.VEHICLETRACKED +rollingstock = IfcTransportElementNonFixedTypeEnum.ROLLINGSTOCK +vehiclewheeled = IfcTransportElementNonFixedTypeEnum.VEHICLEWHEELED +vehicleair = IfcTransportElementNonFixedTypeEnum.VEHICLEAIR +cargo = IfcTransportElementNonFixedTypeEnum.CARGO +vehiclemarine = IfcTransportElementNonFixedTypeEnum.VEHICLEMARINE +userdefined = IfcTransportElementNonFixedTypeEnum.USERDEFINED +notdefined = IfcTransportElementNonFixedTypeEnum.NOTDEFINED IfcTrimmingPreference = enum_namespace() -cartesian = express_getattr(IfcTrimmingPreference, 'CARTESIAN', INDETERMINATE) -parameter = express_getattr(IfcTrimmingPreference, 'PARAMETER', INDETERMINATE) -unspecified = express_getattr(IfcTrimmingPreference, 'UNSPECIFIED', INDETERMINATE) +cartesian = IfcTrimmingPreference.CARTESIAN +parameter = IfcTrimmingPreference.PARAMETER +unspecified = IfcTrimmingPreference.UNSPECIFIED IfcTubeBundleTypeEnum = enum_namespace() -finned = express_getattr(IfcTubeBundleTypeEnum, 'FINNED', INDETERMINATE) -userdefined = express_getattr(IfcTubeBundleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTubeBundleTypeEnum, 'NOTDEFINED', INDETERMINATE) +finned = IfcTubeBundleTypeEnum.FINNED +userdefined = IfcTubeBundleTypeEnum.USERDEFINED +notdefined = IfcTubeBundleTypeEnum.NOTDEFINED IfcUnitEnum = enum_namespace() -absorbeddoseunit = express_getattr(IfcUnitEnum, 'ABSORBEDDOSEUNIT', INDETERMINATE) -amountofsubstanceunit = express_getattr(IfcUnitEnum, 'AMOUNTOFSUBSTANCEUNIT', INDETERMINATE) -areaunit = express_getattr(IfcUnitEnum, 'AREAUNIT', INDETERMINATE) -doseequivalentunit = express_getattr(IfcUnitEnum, 'DOSEEQUIVALENTUNIT', INDETERMINATE) -electriccapacitanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCAPACITANCEUNIT', INDETERMINATE) -electricchargeunit = express_getattr(IfcUnitEnum, 'ELECTRICCHARGEUNIT', INDETERMINATE) -electricconductanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCONDUCTANCEUNIT', INDETERMINATE) -electriccurrentunit = express_getattr(IfcUnitEnum, 'ELECTRICCURRENTUNIT', INDETERMINATE) -electricresistanceunit = express_getattr(IfcUnitEnum, 'ELECTRICRESISTANCEUNIT', INDETERMINATE) -electricvoltageunit = express_getattr(IfcUnitEnum, 'ELECTRICVOLTAGEUNIT', INDETERMINATE) -energyunit = express_getattr(IfcUnitEnum, 'ENERGYUNIT', INDETERMINATE) -forceunit = express_getattr(IfcUnitEnum, 'FORCEUNIT', INDETERMINATE) -frequencyunit = express_getattr(IfcUnitEnum, 'FREQUENCYUNIT', INDETERMINATE) -illuminanceunit = express_getattr(IfcUnitEnum, 'ILLUMINANCEUNIT', INDETERMINATE) -inductanceunit = express_getattr(IfcUnitEnum, 'INDUCTANCEUNIT', INDETERMINATE) -lengthunit = express_getattr(IfcUnitEnum, 'LENGTHUNIT', INDETERMINATE) -luminousfluxunit = express_getattr(IfcUnitEnum, 'LUMINOUSFLUXUNIT', INDETERMINATE) -luminousintensityunit = express_getattr(IfcUnitEnum, 'LUMINOUSINTENSITYUNIT', INDETERMINATE) -magneticfluxdensityunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXDENSITYUNIT', INDETERMINATE) -magneticfluxunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXUNIT', INDETERMINATE) -massunit = express_getattr(IfcUnitEnum, 'MASSUNIT', INDETERMINATE) -planeangleunit = express_getattr(IfcUnitEnum, 'PLANEANGLEUNIT', INDETERMINATE) -powerunit = express_getattr(IfcUnitEnum, 'POWERUNIT', INDETERMINATE) -pressureunit = express_getattr(IfcUnitEnum, 'PRESSUREUNIT', INDETERMINATE) -radioactivityunit = express_getattr(IfcUnitEnum, 'RADIOACTIVITYUNIT', INDETERMINATE) -solidangleunit = express_getattr(IfcUnitEnum, 'SOLIDANGLEUNIT', INDETERMINATE) -thermodynamictemperatureunit = express_getattr(IfcUnitEnum, 'THERMODYNAMICTEMPERATUREUNIT', INDETERMINATE) -timeunit = express_getattr(IfcUnitEnum, 'TIMEUNIT', INDETERMINATE) -volumeunit = express_getattr(IfcUnitEnum, 'VOLUMEUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitEnum, 'USERDEFINED', INDETERMINATE) +absorbeddoseunit = IfcUnitEnum.ABSORBEDDOSEUNIT +amountofsubstanceunit = IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT +areaunit = IfcUnitEnum.AREAUNIT +doseequivalentunit = IfcUnitEnum.DOSEEQUIVALENTUNIT +electriccapacitanceunit = IfcUnitEnum.ELECTRICCAPACITANCEUNIT +electricchargeunit = IfcUnitEnum.ELECTRICCHARGEUNIT +electricconductanceunit = IfcUnitEnum.ELECTRICCONDUCTANCEUNIT +electriccurrentunit = IfcUnitEnum.ELECTRICCURRENTUNIT +electricresistanceunit = IfcUnitEnum.ELECTRICRESISTANCEUNIT +electricvoltageunit = IfcUnitEnum.ELECTRICVOLTAGEUNIT +energyunit = IfcUnitEnum.ENERGYUNIT +forceunit = IfcUnitEnum.FORCEUNIT +frequencyunit = IfcUnitEnum.FREQUENCYUNIT +illuminanceunit = IfcUnitEnum.ILLUMINANCEUNIT +inductanceunit = IfcUnitEnum.INDUCTANCEUNIT +lengthunit = IfcUnitEnum.LENGTHUNIT +luminousfluxunit = IfcUnitEnum.LUMINOUSFLUXUNIT +luminousintensityunit = IfcUnitEnum.LUMINOUSINTENSITYUNIT +magneticfluxdensityunit = IfcUnitEnum.MAGNETICFLUXDENSITYUNIT +magneticfluxunit = IfcUnitEnum.MAGNETICFLUXUNIT +massunit = IfcUnitEnum.MASSUNIT +planeangleunit = IfcUnitEnum.PLANEANGLEUNIT +powerunit = IfcUnitEnum.POWERUNIT +pressureunit = IfcUnitEnum.PRESSUREUNIT +radioactivityunit = IfcUnitEnum.RADIOACTIVITYUNIT +solidangleunit = IfcUnitEnum.SOLIDANGLEUNIT +thermodynamictemperatureunit = IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT +timeunit = IfcUnitEnum.TIMEUNIT +volumeunit = IfcUnitEnum.VOLUMEUNIT +userdefined = IfcUnitEnum.USERDEFINED IfcUnitaryControlElementTypeEnum = enum_namespace() -alarmpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'ALARMPANEL', INDETERMINATE) -controlpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'CONTROLPANEL', INDETERMINATE) -gasdetectionpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'GASDETECTIONPANEL', INDETERMINATE) -indicatorpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'INDICATORPANEL', INDETERMINATE) -mimicpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'MIMICPANEL', INDETERMINATE) -humidistat = express_getattr(IfcUnitaryControlElementTypeEnum, 'HUMIDISTAT', INDETERMINATE) -thermostat = express_getattr(IfcUnitaryControlElementTypeEnum, 'THERMOSTAT', INDETERMINATE) -weatherstation = express_getattr(IfcUnitaryControlElementTypeEnum, 'WEATHERSTATION', INDETERMINATE) -combined = express_getattr(IfcUnitaryControlElementTypeEnum, 'COMBINED', INDETERMINATE) -basestationcontroller = express_getattr(IfcUnitaryControlElementTypeEnum, 'BASESTATIONCONTROLLER', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +alarmpanel = IfcUnitaryControlElementTypeEnum.ALARMPANEL +controlpanel = IfcUnitaryControlElementTypeEnum.CONTROLPANEL +gasdetectionpanel = IfcUnitaryControlElementTypeEnum.GASDETECTIONPANEL +indicatorpanel = IfcUnitaryControlElementTypeEnum.INDICATORPANEL +mimicpanel = IfcUnitaryControlElementTypeEnum.MIMICPANEL +humidistat = IfcUnitaryControlElementTypeEnum.HUMIDISTAT +thermostat = IfcUnitaryControlElementTypeEnum.THERMOSTAT +weatherstation = IfcUnitaryControlElementTypeEnum.WEATHERSTATION +combined = IfcUnitaryControlElementTypeEnum.COMBINED +basestationcontroller = IfcUnitaryControlElementTypeEnum.BASESTATIONCONTROLLER +userdefined = IfcUnitaryControlElementTypeEnum.USERDEFINED +notdefined = IfcUnitaryControlElementTypeEnum.NOTDEFINED IfcUnitaryEquipmentTypeEnum = enum_namespace() -airhandler = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRHANDLER', INDETERMINATE) -airconditioningunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRCONDITIONINGUNIT', INDETERMINATE) -dehumidifier = express_getattr(IfcUnitaryEquipmentTypeEnum, 'DEHUMIDIFIER', INDETERMINATE) -splitsystem = express_getattr(IfcUnitaryEquipmentTypeEnum, 'SPLITSYSTEM', INDETERMINATE) -rooftopunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'ROOFTOPUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +airhandler = IfcUnitaryEquipmentTypeEnum.AIRHANDLER +airconditioningunit = IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT +dehumidifier = IfcUnitaryEquipmentTypeEnum.DEHUMIDIFIER +splitsystem = IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM +rooftopunit = IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT +userdefined = IfcUnitaryEquipmentTypeEnum.USERDEFINED +notdefined = IfcUnitaryEquipmentTypeEnum.NOTDEFINED IfcValveTypeEnum = enum_namespace() -airrelease = express_getattr(IfcValveTypeEnum, 'AIRRELEASE', INDETERMINATE) -antivacuum = express_getattr(IfcValveTypeEnum, 'ANTIVACUUM', INDETERMINATE) -changeover = express_getattr(IfcValveTypeEnum, 'CHANGEOVER', INDETERMINATE) -check = express_getattr(IfcValveTypeEnum, 'CHECK', INDETERMINATE) -commissioning = express_getattr(IfcValveTypeEnum, 'COMMISSIONING', INDETERMINATE) -diverting = express_getattr(IfcValveTypeEnum, 'DIVERTING', INDETERMINATE) -drawoffcock = express_getattr(IfcValveTypeEnum, 'DRAWOFFCOCK', INDETERMINATE) -doublecheck = express_getattr(IfcValveTypeEnum, 'DOUBLECHECK', INDETERMINATE) -doubleregulating = express_getattr(IfcValveTypeEnum, 'DOUBLEREGULATING', INDETERMINATE) -faucet = express_getattr(IfcValveTypeEnum, 'FAUCET', INDETERMINATE) -flushing = express_getattr(IfcValveTypeEnum, 'FLUSHING', INDETERMINATE) -gascock = express_getattr(IfcValveTypeEnum, 'GASCOCK', INDETERMINATE) -gastap = express_getattr(IfcValveTypeEnum, 'GASTAP', INDETERMINATE) -isolating = express_getattr(IfcValveTypeEnum, 'ISOLATING', INDETERMINATE) -mixing = express_getattr(IfcValveTypeEnum, 'MIXING', INDETERMINATE) -pressurereducing = express_getattr(IfcValveTypeEnum, 'PRESSUREREDUCING', INDETERMINATE) -pressurerelief = express_getattr(IfcValveTypeEnum, 'PRESSURERELIEF', INDETERMINATE) -regulating = express_getattr(IfcValveTypeEnum, 'REGULATING', INDETERMINATE) -safetycutoff = express_getattr(IfcValveTypeEnum, 'SAFETYCUTOFF', INDETERMINATE) -steamtrap = express_getattr(IfcValveTypeEnum, 'STEAMTRAP', INDETERMINATE) -stopcock = express_getattr(IfcValveTypeEnum, 'STOPCOCK', INDETERMINATE) -userdefined = express_getattr(IfcValveTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcValveTypeEnum, 'NOTDEFINED', INDETERMINATE) +airrelease = IfcValveTypeEnum.AIRRELEASE +antivacuum = IfcValveTypeEnum.ANTIVACUUM +changeover = IfcValveTypeEnum.CHANGEOVER +check = IfcValveTypeEnum.CHECK +commissioning = IfcValveTypeEnum.COMMISSIONING +diverting = IfcValveTypeEnum.DIVERTING +drawoffcock = IfcValveTypeEnum.DRAWOFFCOCK +doublecheck = IfcValveTypeEnum.DOUBLECHECK +doubleregulating = IfcValveTypeEnum.DOUBLEREGULATING +faucet = IfcValveTypeEnum.FAUCET +flushing = IfcValveTypeEnum.FLUSHING +gascock = IfcValveTypeEnum.GASCOCK +gastap = IfcValveTypeEnum.GASTAP +isolating = IfcValveTypeEnum.ISOLATING +mixing = IfcValveTypeEnum.MIXING +pressurereducing = IfcValveTypeEnum.PRESSUREREDUCING +pressurerelief = IfcValveTypeEnum.PRESSURERELIEF +regulating = IfcValveTypeEnum.REGULATING +safetycutoff = IfcValveTypeEnum.SAFETYCUTOFF +steamtrap = IfcValveTypeEnum.STEAMTRAP +stopcock = IfcValveTypeEnum.STOPCOCK +userdefined = IfcValveTypeEnum.USERDEFINED +notdefined = IfcValveTypeEnum.NOTDEFINED IfcVibrationDamperTypeEnum = enum_namespace() -bending_yield = express_getattr(IfcVibrationDamperTypeEnum, 'BENDING_YIELD', INDETERMINATE) -shear_yield = express_getattr(IfcVibrationDamperTypeEnum, 'SHEAR_YIELD', INDETERMINATE) -axial_yield = express_getattr(IfcVibrationDamperTypeEnum, 'AXIAL_YIELD', INDETERMINATE) -friction = express_getattr(IfcVibrationDamperTypeEnum, 'FRICTION', INDETERMINATE) -viscous = express_getattr(IfcVibrationDamperTypeEnum, 'VISCOUS', INDETERMINATE) -rubber = express_getattr(IfcVibrationDamperTypeEnum, 'RUBBER', INDETERMINATE) -userdefined = express_getattr(IfcVibrationDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +bending_yield = IfcVibrationDamperTypeEnum.BENDING_YIELD +shear_yield = IfcVibrationDamperTypeEnum.SHEAR_YIELD +axial_yield = IfcVibrationDamperTypeEnum.AXIAL_YIELD +friction = IfcVibrationDamperTypeEnum.FRICTION +viscous = IfcVibrationDamperTypeEnum.VISCOUS +rubber = IfcVibrationDamperTypeEnum.RUBBER +userdefined = IfcVibrationDamperTypeEnum.USERDEFINED +notdefined = IfcVibrationDamperTypeEnum.NOTDEFINED IfcVibrationIsolatorTypeEnum = enum_namespace() -compression = express_getattr(IfcVibrationIsolatorTypeEnum, 'COMPRESSION', INDETERMINATE) -spring = express_getattr(IfcVibrationIsolatorTypeEnum, 'SPRING', INDETERMINATE) -base = express_getattr(IfcVibrationIsolatorTypeEnum, 'BASE', INDETERMINATE) -userdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +compression = IfcVibrationIsolatorTypeEnum.COMPRESSION +spring = IfcVibrationIsolatorTypeEnum.SPRING +base = IfcVibrationIsolatorTypeEnum.BASE +userdefined = IfcVibrationIsolatorTypeEnum.USERDEFINED +notdefined = IfcVibrationIsolatorTypeEnum.NOTDEFINED IfcVoidingFeatureTypeEnum = enum_namespace() -cutout = express_getattr(IfcVoidingFeatureTypeEnum, 'CUTOUT', INDETERMINATE) -notch = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTCH', INDETERMINATE) -hole = express_getattr(IfcVoidingFeatureTypeEnum, 'HOLE', INDETERMINATE) -miter = express_getattr(IfcVoidingFeatureTypeEnum, 'MITER', INDETERMINATE) -chamfer = express_getattr(IfcVoidingFeatureTypeEnum, 'CHAMFER', INDETERMINATE) -edge = express_getattr(IfcVoidingFeatureTypeEnum, 'EDGE', INDETERMINATE) -userdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +cutout = IfcVoidingFeatureTypeEnum.CUTOUT +notch = IfcVoidingFeatureTypeEnum.NOTCH +hole = IfcVoidingFeatureTypeEnum.HOLE +miter = IfcVoidingFeatureTypeEnum.MITER +chamfer = IfcVoidingFeatureTypeEnum.CHAMFER +edge = IfcVoidingFeatureTypeEnum.EDGE +userdefined = IfcVoidingFeatureTypeEnum.USERDEFINED +notdefined = IfcVoidingFeatureTypeEnum.NOTDEFINED IfcWallTypeEnum = enum_namespace() -movable = express_getattr(IfcWallTypeEnum, 'MOVABLE', INDETERMINATE) -parapet = express_getattr(IfcWallTypeEnum, 'PARAPET', INDETERMINATE) -partitioning = express_getattr(IfcWallTypeEnum, 'PARTITIONING', INDETERMINATE) -plumbingwall = express_getattr(IfcWallTypeEnum, 'PLUMBINGWALL', INDETERMINATE) -shear = express_getattr(IfcWallTypeEnum, 'SHEAR', INDETERMINATE) -solidwall = express_getattr(IfcWallTypeEnum, 'SOLIDWALL', INDETERMINATE) -standard = express_getattr(IfcWallTypeEnum, 'STANDARD', INDETERMINATE) -polygonal = express_getattr(IfcWallTypeEnum, 'POLYGONAL', INDETERMINATE) -elementedwall = express_getattr(IfcWallTypeEnum, 'ELEMENTEDWALL', INDETERMINATE) -retainingwall = express_getattr(IfcWallTypeEnum, 'RETAININGWALL', INDETERMINATE) -wavewall = express_getattr(IfcWallTypeEnum, 'WAVEWALL', INDETERMINATE) -userdefined = express_getattr(IfcWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +movable = IfcWallTypeEnum.MOVABLE +parapet = IfcWallTypeEnum.PARAPET +partitioning = IfcWallTypeEnum.PARTITIONING +plumbingwall = IfcWallTypeEnum.PLUMBINGWALL +shear = IfcWallTypeEnum.SHEAR +solidwall = IfcWallTypeEnum.SOLIDWALL +standard = IfcWallTypeEnum.STANDARD +polygonal = IfcWallTypeEnum.POLYGONAL +elementedwall = IfcWallTypeEnum.ELEMENTEDWALL +retainingwall = IfcWallTypeEnum.RETAININGWALL +wavewall = IfcWallTypeEnum.WAVEWALL +userdefined = IfcWallTypeEnum.USERDEFINED +notdefined = IfcWallTypeEnum.NOTDEFINED IfcWasteTerminalTypeEnum = enum_namespace() -floortrap = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORTRAP', INDETERMINATE) -floorwaste = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORWASTE', INDETERMINATE) -gullysump = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYSUMP', INDETERMINATE) -gullytrap = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYTRAP', INDETERMINATE) -roofdrain = express_getattr(IfcWasteTerminalTypeEnum, 'ROOFDRAIN', INDETERMINATE) -wastedisposalunit = express_getattr(IfcWasteTerminalTypeEnum, 'WASTEDISPOSALUNIT', INDETERMINATE) -wastetrap = express_getattr(IfcWasteTerminalTypeEnum, 'WASTETRAP', INDETERMINATE) -userdefined = express_getattr(IfcWasteTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWasteTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +floortrap = IfcWasteTerminalTypeEnum.FLOORTRAP +floorwaste = IfcWasteTerminalTypeEnum.FLOORWASTE +gullysump = IfcWasteTerminalTypeEnum.GULLYSUMP +gullytrap = IfcWasteTerminalTypeEnum.GULLYTRAP +roofdrain = IfcWasteTerminalTypeEnum.ROOFDRAIN +wastedisposalunit = IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT +wastetrap = IfcWasteTerminalTypeEnum.WASTETRAP +userdefined = IfcWasteTerminalTypeEnum.USERDEFINED +notdefined = IfcWasteTerminalTypeEnum.NOTDEFINED IfcWindowPanelOperationEnum = enum_namespace() -sidehungrighthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGRIGHTHAND', INDETERMINATE) -sidehunglefthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGLEFTHAND', INDETERMINATE) -tiltandturnrighthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNRIGHTHAND', INDETERMINATE) -tiltandturnlefthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNLEFTHAND', INDETERMINATE) -tophung = express_getattr(IfcWindowPanelOperationEnum, 'TOPHUNG', INDETERMINATE) -bottomhung = express_getattr(IfcWindowPanelOperationEnum, 'BOTTOMHUNG', INDETERMINATE) -pivothorizontal = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTHORIZONTAL', INDETERMINATE) -pivotvertical = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTVERTICAL', INDETERMINATE) -slidinghorizontal = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGHORIZONTAL', INDETERMINATE) -slidingvertical = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGVERTICAL', INDETERMINATE) -removablecasement = express_getattr(IfcWindowPanelOperationEnum, 'REMOVABLECASEMENT', INDETERMINATE) -fixedcasement = express_getattr(IfcWindowPanelOperationEnum, 'FIXEDCASEMENT', INDETERMINATE) -otheroperation = express_getattr(IfcWindowPanelOperationEnum, 'OTHEROPERATION', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +sidehungrighthand = IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND +sidehunglefthand = IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND +tiltandturnrighthand = IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND +tiltandturnlefthand = IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND +tophung = IfcWindowPanelOperationEnum.TOPHUNG +bottomhung = IfcWindowPanelOperationEnum.BOTTOMHUNG +pivothorizontal = IfcWindowPanelOperationEnum.PIVOTHORIZONTAL +pivotvertical = IfcWindowPanelOperationEnum.PIVOTVERTICAL +slidinghorizontal = IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL +slidingvertical = IfcWindowPanelOperationEnum.SLIDINGVERTICAL +removablecasement = IfcWindowPanelOperationEnum.REMOVABLECASEMENT +fixedcasement = IfcWindowPanelOperationEnum.FIXEDCASEMENT +otheroperation = IfcWindowPanelOperationEnum.OTHEROPERATION +notdefined = IfcWindowPanelOperationEnum.NOTDEFINED IfcWindowPanelPositionEnum = enum_namespace() -left = express_getattr(IfcWindowPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcWindowPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcWindowPanelPositionEnum, 'RIGHT', INDETERMINATE) -bottom = express_getattr(IfcWindowPanelPositionEnum, 'BOTTOM', INDETERMINATE) -top = express_getattr(IfcWindowPanelPositionEnum, 'TOP', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcWindowPanelPositionEnum.LEFT +middle = IfcWindowPanelPositionEnum.MIDDLE +right = IfcWindowPanelPositionEnum.RIGHT +bottom = IfcWindowPanelPositionEnum.BOTTOM +top = IfcWindowPanelPositionEnum.TOP +notdefined = IfcWindowPanelPositionEnum.NOTDEFINED IfcWindowStyleConstructionEnum = enum_namespace() -aluminium = express_getattr(IfcWindowStyleConstructionEnum, 'ALUMINIUM', INDETERMINATE) -high_grade_steel = express_getattr(IfcWindowStyleConstructionEnum, 'HIGH_GRADE_STEEL', INDETERMINATE) -steel = express_getattr(IfcWindowStyleConstructionEnum, 'STEEL', INDETERMINATE) -wood = express_getattr(IfcWindowStyleConstructionEnum, 'WOOD', INDETERMINATE) -aluminium_wood = express_getattr(IfcWindowStyleConstructionEnum, 'ALUMINIUM_WOOD', INDETERMINATE) -plastic = express_getattr(IfcWindowStyleConstructionEnum, 'PLASTIC', INDETERMINATE) -other_construction = express_getattr(IfcWindowStyleConstructionEnum, 'OTHER_CONSTRUCTION', INDETERMINATE) -notdefined = express_getattr(IfcWindowStyleConstructionEnum, 'NOTDEFINED', INDETERMINATE) +aluminium = IfcWindowStyleConstructionEnum.ALUMINIUM +high_grade_steel = IfcWindowStyleConstructionEnum.HIGH_GRADE_STEEL +steel = IfcWindowStyleConstructionEnum.STEEL +wood = IfcWindowStyleConstructionEnum.WOOD +aluminium_wood = IfcWindowStyleConstructionEnum.ALUMINIUM_WOOD +plastic = IfcWindowStyleConstructionEnum.PLASTIC +other_construction = IfcWindowStyleConstructionEnum.OTHER_CONSTRUCTION +notdefined = IfcWindowStyleConstructionEnum.NOTDEFINED IfcWindowStyleOperationEnum = enum_namespace() -single_panel = express_getattr(IfcWindowStyleOperationEnum, 'SINGLE_PANEL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowStyleOperationEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -double_panel_horizontal = express_getattr(IfcWindowStyleOperationEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowStyleOperationEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowStyleOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowStyleOperationEnum, 'NOTDEFINED', INDETERMINATE) +single_panel = IfcWindowStyleOperationEnum.SINGLE_PANEL +double_panel_vertical = IfcWindowStyleOperationEnum.DOUBLE_PANEL_VERTICAL +double_panel_horizontal = IfcWindowStyleOperationEnum.DOUBLE_PANEL_HORIZONTAL +triple_panel_vertical = IfcWindowStyleOperationEnum.TRIPLE_PANEL_VERTICAL +triple_panel_bottom = IfcWindowStyleOperationEnum.TRIPLE_PANEL_BOTTOM +triple_panel_top = IfcWindowStyleOperationEnum.TRIPLE_PANEL_TOP +triple_panel_left = IfcWindowStyleOperationEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowStyleOperationEnum.TRIPLE_PANEL_RIGHT +triple_panel_horizontal = IfcWindowStyleOperationEnum.TRIPLE_PANEL_HORIZONTAL +userdefined = IfcWindowStyleOperationEnum.USERDEFINED +notdefined = IfcWindowStyleOperationEnum.NOTDEFINED IfcWindowTypeEnum = enum_namespace() -window = express_getattr(IfcWindowTypeEnum, 'WINDOW', INDETERMINATE) -skylight = express_getattr(IfcWindowTypeEnum, 'SKYLIGHT', INDETERMINATE) -lightdome = express_getattr(IfcWindowTypeEnum, 'LIGHTDOME', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypeEnum, 'NOTDEFINED', INDETERMINATE) +window = IfcWindowTypeEnum.WINDOW +skylight = IfcWindowTypeEnum.SKYLIGHT +lightdome = IfcWindowTypeEnum.LIGHTDOME +userdefined = IfcWindowTypeEnum.USERDEFINED +notdefined = IfcWindowTypeEnum.NOTDEFINED IfcWindowTypePartitioningEnum = enum_namespace() -single_panel = express_getattr(IfcWindowTypePartitioningEnum, 'SINGLE_PANEL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -double_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypePartitioningEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypePartitioningEnum, 'NOTDEFINED', INDETERMINATE) +single_panel = IfcWindowTypePartitioningEnum.SINGLE_PANEL +double_panel_vertical = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_VERTICAL +double_panel_horizontal = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_HORIZONTAL +triple_panel_vertical = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_VERTICAL +triple_panel_bottom = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_BOTTOM +triple_panel_top = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_TOP +triple_panel_left = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_RIGHT +triple_panel_horizontal = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_HORIZONTAL +userdefined = IfcWindowTypePartitioningEnum.USERDEFINED +notdefined = IfcWindowTypePartitioningEnum.NOTDEFINED IfcWorkCalendarTypeEnum = enum_namespace() -firstshift = express_getattr(IfcWorkCalendarTypeEnum, 'FIRSTSHIFT', INDETERMINATE) -secondshift = express_getattr(IfcWorkCalendarTypeEnum, 'SECONDSHIFT', INDETERMINATE) -thirdshift = express_getattr(IfcWorkCalendarTypeEnum, 'THIRDSHIFT', INDETERMINATE) -userdefined = express_getattr(IfcWorkCalendarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkCalendarTypeEnum, 'NOTDEFINED', INDETERMINATE) +firstshift = IfcWorkCalendarTypeEnum.FIRSTSHIFT +secondshift = IfcWorkCalendarTypeEnum.SECONDSHIFT +thirdshift = IfcWorkCalendarTypeEnum.THIRDSHIFT +userdefined = IfcWorkCalendarTypeEnum.USERDEFINED +notdefined = IfcWorkCalendarTypeEnum.NOTDEFINED IfcWorkPlanTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkPlanTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkPlanTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkPlanTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkPlanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkPlanTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkPlanTypeEnum.ACTUAL +baseline = IfcWorkPlanTypeEnum.BASELINE +planned = IfcWorkPlanTypeEnum.PLANNED +userdefined = IfcWorkPlanTypeEnum.USERDEFINED +notdefined = IfcWorkPlanTypeEnum.NOTDEFINED IfcWorkScheduleTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkScheduleTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkScheduleTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkScheduleTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkScheduleTypeEnum.ACTUAL +baseline = IfcWorkScheduleTypeEnum.BASELINE +planned = IfcWorkScheduleTypeEnum.PLANNED +userdefined = IfcWorkScheduleTypeEnum.USERDEFINED +notdefined = IfcWorkScheduleTypeEnum.NOTDEFINED def IfcActionRequest(*args, **kwargs): return ifcopenshell.create_entity('IfcActionRequest', 'IFC4X3_RC4', *args, **kwargs) diff --git a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_TC1.py b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_TC1.py index ec18f39a93..ce2c064993 100644 --- a/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_TC1.py +++ b/src/ifcopenshell-python/ifcopenshell/express/rules/IFC4X3_TC1.py @@ -1,5 +1,8 @@ import ifcopenshell +def is_indeterminate(v): + return v is None or type(v).__name__ == 'indeterminate_type' + def exists(v): if callable(v): try: @@ -7,10 +10,10 @@ def exists(v): except IndexError as e: return False else: - return v is not None + return not is_indeterminate(v) def nvl(v, default): - return v if v is not None else default + return v if not is_indeterminate(v) else default def is_entity(inst): if isinstance(inst, ifcopenshell.entity_instance): @@ -22,13 +25,13 @@ def is_entity(inst): def express_len(v): if isinstance(v, ifcopenshell.entity_instance) and (not is_entity(v)): v = v[0] - elif v is None or v is INDETERMINATE: + elif is_indeterminate(v): return INDETERMINATE return len(v) old_range = range def range(*args): - if INDETERMINATE in args: + if any(map(is_indeterminate, args)): return yield from old_range(*args) sizeof = express_len @@ -149,2361 +152,2361 @@ class enum_namespace: def __getattr__(self, k): return express_getattr(k, 'upper', INDETERMINATE)() IfcActionRequestTypeEnum = enum_namespace() -email = express_getattr(IfcActionRequestTypeEnum, 'EMAIL', INDETERMINATE) -fax = express_getattr(IfcActionRequestTypeEnum, 'FAX', INDETERMINATE) -phone = express_getattr(IfcActionRequestTypeEnum, 'PHONE', INDETERMINATE) -post = express_getattr(IfcActionRequestTypeEnum, 'POST', INDETERMINATE) -verbal = express_getattr(IfcActionRequestTypeEnum, 'VERBAL', INDETERMINATE) -userdefined = express_getattr(IfcActionRequestTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionRequestTypeEnum, 'NOTDEFINED', INDETERMINATE) +email = IfcActionRequestTypeEnum.EMAIL +fax = IfcActionRequestTypeEnum.FAX +phone = IfcActionRequestTypeEnum.PHONE +post = IfcActionRequestTypeEnum.POST +verbal = IfcActionRequestTypeEnum.VERBAL +userdefined = IfcActionRequestTypeEnum.USERDEFINED +notdefined = IfcActionRequestTypeEnum.NOTDEFINED IfcActionSourceTypeEnum = enum_namespace() -brakes = express_getattr(IfcActionSourceTypeEnum, 'BRAKES', INDETERMINATE) -buoyancy = express_getattr(IfcActionSourceTypeEnum, 'BUOYANCY', INDETERMINATE) -completion_g1 = express_getattr(IfcActionSourceTypeEnum, 'COMPLETION_G1', INDETERMINATE) -creep = express_getattr(IfcActionSourceTypeEnum, 'CREEP', INDETERMINATE) -current = express_getattr(IfcActionSourceTypeEnum, 'CURRENT', INDETERMINATE) -dead_load_g = express_getattr(IfcActionSourceTypeEnum, 'DEAD_LOAD_G', INDETERMINATE) -earthquake_e = express_getattr(IfcActionSourceTypeEnum, 'EARTHQUAKE_E', INDETERMINATE) -erection = express_getattr(IfcActionSourceTypeEnum, 'ERECTION', INDETERMINATE) -fire = express_getattr(IfcActionSourceTypeEnum, 'FIRE', INDETERMINATE) -ice = express_getattr(IfcActionSourceTypeEnum, 'ICE', INDETERMINATE) -impact = express_getattr(IfcActionSourceTypeEnum, 'IMPACT', INDETERMINATE) -impulse = express_getattr(IfcActionSourceTypeEnum, 'IMPULSE', INDETERMINATE) -lack_of_fit = express_getattr(IfcActionSourceTypeEnum, 'LACK_OF_FIT', INDETERMINATE) -live_load_q = express_getattr(IfcActionSourceTypeEnum, 'LIVE_LOAD_Q', INDETERMINATE) -prestressing_p = express_getattr(IfcActionSourceTypeEnum, 'PRESTRESSING_P', INDETERMINATE) -propping = express_getattr(IfcActionSourceTypeEnum, 'PROPPING', INDETERMINATE) -rain = express_getattr(IfcActionSourceTypeEnum, 'RAIN', INDETERMINATE) -settlement_u = express_getattr(IfcActionSourceTypeEnum, 'SETTLEMENT_U', INDETERMINATE) -shrinkage = express_getattr(IfcActionSourceTypeEnum, 'SHRINKAGE', INDETERMINATE) -snow_s = express_getattr(IfcActionSourceTypeEnum, 'SNOW_S', INDETERMINATE) -system_imperfection = express_getattr(IfcActionSourceTypeEnum, 'SYSTEM_IMPERFECTION', INDETERMINATE) -temperature_t = express_getattr(IfcActionSourceTypeEnum, 'TEMPERATURE_T', INDETERMINATE) -transport = express_getattr(IfcActionSourceTypeEnum, 'TRANSPORT', INDETERMINATE) -wave = express_getattr(IfcActionSourceTypeEnum, 'WAVE', INDETERMINATE) -wind_w = express_getattr(IfcActionSourceTypeEnum, 'WIND_W', INDETERMINATE) -userdefined = express_getattr(IfcActionSourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionSourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +brakes = IfcActionSourceTypeEnum.BRAKES +buoyancy = IfcActionSourceTypeEnum.BUOYANCY +completion_g1 = IfcActionSourceTypeEnum.COMPLETION_G1 +creep = IfcActionSourceTypeEnum.CREEP +current = IfcActionSourceTypeEnum.CURRENT +dead_load_g = IfcActionSourceTypeEnum.DEAD_LOAD_G +earthquake_e = IfcActionSourceTypeEnum.EARTHQUAKE_E +erection = IfcActionSourceTypeEnum.ERECTION +fire = IfcActionSourceTypeEnum.FIRE +ice = IfcActionSourceTypeEnum.ICE +impact = IfcActionSourceTypeEnum.IMPACT +impulse = IfcActionSourceTypeEnum.IMPULSE +lack_of_fit = IfcActionSourceTypeEnum.LACK_OF_FIT +live_load_q = IfcActionSourceTypeEnum.LIVE_LOAD_Q +prestressing_p = IfcActionSourceTypeEnum.PRESTRESSING_P +propping = IfcActionSourceTypeEnum.PROPPING +rain = IfcActionSourceTypeEnum.RAIN +settlement_u = IfcActionSourceTypeEnum.SETTLEMENT_U +shrinkage = IfcActionSourceTypeEnum.SHRINKAGE +snow_s = IfcActionSourceTypeEnum.SNOW_S +system_imperfection = IfcActionSourceTypeEnum.SYSTEM_IMPERFECTION +temperature_t = IfcActionSourceTypeEnum.TEMPERATURE_T +transport = IfcActionSourceTypeEnum.TRANSPORT +wave = IfcActionSourceTypeEnum.WAVE +wind_w = IfcActionSourceTypeEnum.WIND_W +userdefined = IfcActionSourceTypeEnum.USERDEFINED +notdefined = IfcActionSourceTypeEnum.NOTDEFINED IfcActionTypeEnum = enum_namespace() -extraordinary_a = express_getattr(IfcActionTypeEnum, 'EXTRAORDINARY_A', INDETERMINATE) -permanent_g = express_getattr(IfcActionTypeEnum, 'PERMANENT_G', INDETERMINATE) -variable_q = express_getattr(IfcActionTypeEnum, 'VARIABLE_Q', INDETERMINATE) -userdefined = express_getattr(IfcActionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActionTypeEnum, 'NOTDEFINED', INDETERMINATE) +extraordinary_a = IfcActionTypeEnum.EXTRAORDINARY_A +permanent_g = IfcActionTypeEnum.PERMANENT_G +variable_q = IfcActionTypeEnum.VARIABLE_Q +userdefined = IfcActionTypeEnum.USERDEFINED +notdefined = IfcActionTypeEnum.NOTDEFINED IfcActuatorTypeEnum = enum_namespace() -electricactuator = express_getattr(IfcActuatorTypeEnum, 'ELECTRICACTUATOR', INDETERMINATE) -handoperatedactuator = express_getattr(IfcActuatorTypeEnum, 'HANDOPERATEDACTUATOR', INDETERMINATE) -hydraulicactuator = express_getattr(IfcActuatorTypeEnum, 'HYDRAULICACTUATOR', INDETERMINATE) -pneumaticactuator = express_getattr(IfcActuatorTypeEnum, 'PNEUMATICACTUATOR', INDETERMINATE) -thermostaticactuator = express_getattr(IfcActuatorTypeEnum, 'THERMOSTATICACTUATOR', INDETERMINATE) -userdefined = express_getattr(IfcActuatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcActuatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +electricactuator = IfcActuatorTypeEnum.ELECTRICACTUATOR +handoperatedactuator = IfcActuatorTypeEnum.HANDOPERATEDACTUATOR +hydraulicactuator = IfcActuatorTypeEnum.HYDRAULICACTUATOR +pneumaticactuator = IfcActuatorTypeEnum.PNEUMATICACTUATOR +thermostaticactuator = IfcActuatorTypeEnum.THERMOSTATICACTUATOR +userdefined = IfcActuatorTypeEnum.USERDEFINED +notdefined = IfcActuatorTypeEnum.NOTDEFINED IfcAddressTypeEnum = enum_namespace() -distributionpoint = express_getattr(IfcAddressTypeEnum, 'DISTRIBUTIONPOINT', INDETERMINATE) -home = express_getattr(IfcAddressTypeEnum, 'HOME', INDETERMINATE) -office = express_getattr(IfcAddressTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcAddressTypeEnum, 'SITE', INDETERMINATE) -userdefined = express_getattr(IfcAddressTypeEnum, 'USERDEFINED', INDETERMINATE) +distributionpoint = IfcAddressTypeEnum.DISTRIBUTIONPOINT +home = IfcAddressTypeEnum.HOME +office = IfcAddressTypeEnum.OFFICE +site = IfcAddressTypeEnum.SITE +userdefined = IfcAddressTypeEnum.USERDEFINED IfcAirTerminalBoxTypeEnum = enum_namespace() -constantflow = express_getattr(IfcAirTerminalBoxTypeEnum, 'CONSTANTFLOW', INDETERMINATE) -variableflowpressuredependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREDEPENDANT', INDETERMINATE) -variableflowpressureindependant = express_getattr(IfcAirTerminalBoxTypeEnum, 'VARIABLEFLOWPRESSUREINDEPENDANT', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +constantflow = IfcAirTerminalBoxTypeEnum.CONSTANTFLOW +variableflowpressuredependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREDEPENDANT +variableflowpressureindependant = IfcAirTerminalBoxTypeEnum.VARIABLEFLOWPRESSUREINDEPENDANT +userdefined = IfcAirTerminalBoxTypeEnum.USERDEFINED +notdefined = IfcAirTerminalBoxTypeEnum.NOTDEFINED IfcAirTerminalTypeEnum = enum_namespace() -diffuser = express_getattr(IfcAirTerminalTypeEnum, 'DIFFUSER', INDETERMINATE) -grille = express_getattr(IfcAirTerminalTypeEnum, 'GRILLE', INDETERMINATE) -louvre = express_getattr(IfcAirTerminalTypeEnum, 'LOUVRE', INDETERMINATE) -register = express_getattr(IfcAirTerminalTypeEnum, 'REGISTER', INDETERMINATE) -userdefined = express_getattr(IfcAirTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +diffuser = IfcAirTerminalTypeEnum.DIFFUSER +grille = IfcAirTerminalTypeEnum.GRILLE +louvre = IfcAirTerminalTypeEnum.LOUVRE +register = IfcAirTerminalTypeEnum.REGISTER +userdefined = IfcAirTerminalTypeEnum.USERDEFINED +notdefined = IfcAirTerminalTypeEnum.NOTDEFINED IfcAirToAirHeatRecoveryTypeEnum = enum_namespace() -fixedplatecounterflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECOUNTERFLOWEXCHANGER', INDETERMINATE) -fixedplatecrossflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATECROSSFLOWEXCHANGER', INDETERMINATE) -fixedplateparallelflowexchanger = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'FIXEDPLATEPARALLELFLOWEXCHANGER', INDETERMINATE) -heatpipe = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'HEATPIPE', INDETERMINATE) -rotarywheel = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'ROTARYWHEEL', INDETERMINATE) -runaroundcoilloop = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'RUNAROUNDCOILLOOP', INDETERMINATE) -thermosiphoncoiltypeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONCOILTYPEHEATEXCHANGERS', INDETERMINATE) -thermosiphonsealedtubeheatexchangers = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'THERMOSIPHONSEALEDTUBEHEATEXCHANGERS', INDETERMINATE) -twintowerenthalpyrecoveryloops = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'TWINTOWERENTHALPYRECOVERYLOOPS', INDETERMINATE) -userdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAirToAirHeatRecoveryTypeEnum, 'NOTDEFINED', INDETERMINATE) +fixedplatecounterflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECOUNTERFLOWEXCHANGER +fixedplatecrossflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATECROSSFLOWEXCHANGER +fixedplateparallelflowexchanger = IfcAirToAirHeatRecoveryTypeEnum.FIXEDPLATEPARALLELFLOWEXCHANGER +heatpipe = IfcAirToAirHeatRecoveryTypeEnum.HEATPIPE +rotarywheel = IfcAirToAirHeatRecoveryTypeEnum.ROTARYWHEEL +runaroundcoilloop = IfcAirToAirHeatRecoveryTypeEnum.RUNAROUNDCOILLOOP +thermosiphoncoiltypeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONCOILTYPEHEATEXCHANGERS +thermosiphonsealedtubeheatexchangers = IfcAirToAirHeatRecoveryTypeEnum.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS +twintowerenthalpyrecoveryloops = IfcAirToAirHeatRecoveryTypeEnum.TWINTOWERENTHALPYRECOVERYLOOPS +userdefined = IfcAirToAirHeatRecoveryTypeEnum.USERDEFINED +notdefined = IfcAirToAirHeatRecoveryTypeEnum.NOTDEFINED IfcAlarmTypeEnum = enum_namespace() -bell = express_getattr(IfcAlarmTypeEnum, 'BELL', INDETERMINATE) -breakglassbutton = express_getattr(IfcAlarmTypeEnum, 'BREAKGLASSBUTTON', INDETERMINATE) -light = express_getattr(IfcAlarmTypeEnum, 'LIGHT', INDETERMINATE) -manualpullbox = express_getattr(IfcAlarmTypeEnum, 'MANUALPULLBOX', INDETERMINATE) -railwaycrocodile = express_getattr(IfcAlarmTypeEnum, 'RAILWAYCROCODILE', INDETERMINATE) -railwaydetonator = express_getattr(IfcAlarmTypeEnum, 'RAILWAYDETONATOR', INDETERMINATE) -siren = express_getattr(IfcAlarmTypeEnum, 'SIREN', INDETERMINATE) -whistle = express_getattr(IfcAlarmTypeEnum, 'WHISTLE', INDETERMINATE) -userdefined = express_getattr(IfcAlarmTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlarmTypeEnum, 'NOTDEFINED', INDETERMINATE) +bell = IfcAlarmTypeEnum.BELL +breakglassbutton = IfcAlarmTypeEnum.BREAKGLASSBUTTON +light = IfcAlarmTypeEnum.LIGHT +manualpullbox = IfcAlarmTypeEnum.MANUALPULLBOX +railwaycrocodile = IfcAlarmTypeEnum.RAILWAYCROCODILE +railwaydetonator = IfcAlarmTypeEnum.RAILWAYDETONATOR +siren = IfcAlarmTypeEnum.SIREN +whistle = IfcAlarmTypeEnum.WHISTLE +userdefined = IfcAlarmTypeEnum.USERDEFINED +notdefined = IfcAlarmTypeEnum.NOTDEFINED IfcAlignmentCantSegmentTypeEnum = enum_namespace() -blosscurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'BLOSSCURVE', INDETERMINATE) -constantcant = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'CONSTANTCANT', INDETERMINATE) -cosinecurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'COSINECURVE', INDETERMINATE) -helmertcurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'HELMERTCURVE', INDETERMINATE) -lineartransition = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'LINEARTRANSITION', INDETERMINATE) -sinecurve = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'SINECURVE', INDETERMINATE) -viennesebend = express_getattr(IfcAlignmentCantSegmentTypeEnum, 'VIENNESEBEND', INDETERMINATE) +blosscurve = IfcAlignmentCantSegmentTypeEnum.BLOSSCURVE +constantcant = IfcAlignmentCantSegmentTypeEnum.CONSTANTCANT +cosinecurve = IfcAlignmentCantSegmentTypeEnum.COSINECURVE +helmertcurve = IfcAlignmentCantSegmentTypeEnum.HELMERTCURVE +lineartransition = IfcAlignmentCantSegmentTypeEnum.LINEARTRANSITION +sinecurve = IfcAlignmentCantSegmentTypeEnum.SINECURVE +viennesebend = IfcAlignmentCantSegmentTypeEnum.VIENNESEBEND IfcAlignmentHorizontalSegmentTypeEnum = enum_namespace() -blosscurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'BLOSSCURVE', INDETERMINATE) -circulararc = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CIRCULARARC', INDETERMINATE) -clothoid = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CLOTHOID', INDETERMINATE) -cosinecurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'COSINECURVE', INDETERMINATE) -cubic = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'CUBIC', INDETERMINATE) -helmertcurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'HELMERTCURVE', INDETERMINATE) -line = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'LINE', INDETERMINATE) -sinecurve = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'SINECURVE', INDETERMINATE) -viennesebend = express_getattr(IfcAlignmentHorizontalSegmentTypeEnum, 'VIENNESEBEND', INDETERMINATE) +blosscurve = IfcAlignmentHorizontalSegmentTypeEnum.BLOSSCURVE +circulararc = IfcAlignmentHorizontalSegmentTypeEnum.CIRCULARARC +clothoid = IfcAlignmentHorizontalSegmentTypeEnum.CLOTHOID +cosinecurve = IfcAlignmentHorizontalSegmentTypeEnum.COSINECURVE +cubic = IfcAlignmentHorizontalSegmentTypeEnum.CUBIC +helmertcurve = IfcAlignmentHorizontalSegmentTypeEnum.HELMERTCURVE +line = IfcAlignmentHorizontalSegmentTypeEnum.LINE +sinecurve = IfcAlignmentHorizontalSegmentTypeEnum.SINECURVE +viennesebend = IfcAlignmentHorizontalSegmentTypeEnum.VIENNESEBEND IfcAlignmentTypeEnum = enum_namespace() -userdefined = express_getattr(IfcAlignmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAlignmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcAlignmentTypeEnum.USERDEFINED +notdefined = IfcAlignmentTypeEnum.NOTDEFINED IfcAlignmentVerticalSegmentTypeEnum = enum_namespace() -circulararc = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CIRCULARARC', INDETERMINATE) -clothoid = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CLOTHOID', INDETERMINATE) -constantgradient = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'CONSTANTGRADIENT', INDETERMINATE) -parabolicarc = express_getattr(IfcAlignmentVerticalSegmentTypeEnum, 'PARABOLICARC', INDETERMINATE) +circulararc = IfcAlignmentVerticalSegmentTypeEnum.CIRCULARARC +clothoid = IfcAlignmentVerticalSegmentTypeEnum.CLOTHOID +constantgradient = IfcAlignmentVerticalSegmentTypeEnum.CONSTANTGRADIENT +parabolicarc = IfcAlignmentVerticalSegmentTypeEnum.PARABOLICARC IfcAnalysisModelTypeEnum = enum_namespace() -in_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'IN_PLANE_LOADING_2D', INDETERMINATE) -loading_3d = express_getattr(IfcAnalysisModelTypeEnum, 'LOADING_3D', INDETERMINATE) -out_plane_loading_2d = express_getattr(IfcAnalysisModelTypeEnum, 'OUT_PLANE_LOADING_2D', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisModelTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisModelTypeEnum, 'NOTDEFINED', INDETERMINATE) +in_plane_loading_2d = IfcAnalysisModelTypeEnum.IN_PLANE_LOADING_2D +loading_3d = IfcAnalysisModelTypeEnum.LOADING_3D +out_plane_loading_2d = IfcAnalysisModelTypeEnum.OUT_PLANE_LOADING_2D +userdefined = IfcAnalysisModelTypeEnum.USERDEFINED +notdefined = IfcAnalysisModelTypeEnum.NOTDEFINED IfcAnalysisTheoryTypeEnum = enum_namespace() -first_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FIRST_ORDER_THEORY', INDETERMINATE) -full_nonlinear_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'FULL_NONLINEAR_THEORY', INDETERMINATE) -second_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'SECOND_ORDER_THEORY', INDETERMINATE) -third_order_theory = express_getattr(IfcAnalysisTheoryTypeEnum, 'THIRD_ORDER_THEORY', INDETERMINATE) -userdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnalysisTheoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +first_order_theory = IfcAnalysisTheoryTypeEnum.FIRST_ORDER_THEORY +full_nonlinear_theory = IfcAnalysisTheoryTypeEnum.FULL_NONLINEAR_THEORY +second_order_theory = IfcAnalysisTheoryTypeEnum.SECOND_ORDER_THEORY +third_order_theory = IfcAnalysisTheoryTypeEnum.THIRD_ORDER_THEORY +userdefined = IfcAnalysisTheoryTypeEnum.USERDEFINED +notdefined = IfcAnalysisTheoryTypeEnum.NOTDEFINED IfcAnnotationTypeEnum = enum_namespace() -asbuiltarea = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTAREA', INDETERMINATE) -asbuiltline = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTLINE', INDETERMINATE) -asbuiltpoint = express_getattr(IfcAnnotationTypeEnum, 'ASBUILTPOINT', INDETERMINATE) -assumedarea = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDAREA', INDETERMINATE) -assumedline = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDLINE', INDETERMINATE) -assumedpoint = express_getattr(IfcAnnotationTypeEnum, 'ASSUMEDPOINT', INDETERMINATE) -non_physical_signal = express_getattr(IfcAnnotationTypeEnum, 'NON_PHYSICAL_SIGNAL', INDETERMINATE) -superelevationevent = express_getattr(IfcAnnotationTypeEnum, 'SUPERELEVATIONEVENT', INDETERMINATE) -widthevent = express_getattr(IfcAnnotationTypeEnum, 'WIDTHEVENT', INDETERMINATE) -userdefined = express_getattr(IfcAnnotationTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAnnotationTypeEnum, 'NOTDEFINED', INDETERMINATE) +asbuiltarea = IfcAnnotationTypeEnum.ASBUILTAREA +asbuiltline = IfcAnnotationTypeEnum.ASBUILTLINE +asbuiltpoint = IfcAnnotationTypeEnum.ASBUILTPOINT +assumedarea = IfcAnnotationTypeEnum.ASSUMEDAREA +assumedline = IfcAnnotationTypeEnum.ASSUMEDLINE +assumedpoint = IfcAnnotationTypeEnum.ASSUMEDPOINT +non_physical_signal = IfcAnnotationTypeEnum.NON_PHYSICAL_SIGNAL +superelevationevent = IfcAnnotationTypeEnum.SUPERELEVATIONEVENT +widthevent = IfcAnnotationTypeEnum.WIDTHEVENT +userdefined = IfcAnnotationTypeEnum.USERDEFINED +notdefined = IfcAnnotationTypeEnum.NOTDEFINED IfcArithmeticOperatorEnum = enum_namespace() -add = express_getattr(IfcArithmeticOperatorEnum, 'ADD', INDETERMINATE) -divide = express_getattr(IfcArithmeticOperatorEnum, 'DIVIDE', INDETERMINATE) -multiply = express_getattr(IfcArithmeticOperatorEnum, 'MULTIPLY', INDETERMINATE) -subtract = express_getattr(IfcArithmeticOperatorEnum, 'SUBTRACT', INDETERMINATE) +add = IfcArithmeticOperatorEnum.ADD +divide = IfcArithmeticOperatorEnum.DIVIDE +multiply = IfcArithmeticOperatorEnum.MULTIPLY +subtract = IfcArithmeticOperatorEnum.SUBTRACT IfcAssemblyPlaceEnum = enum_namespace() -factory = express_getattr(IfcAssemblyPlaceEnum, 'FACTORY', INDETERMINATE) -site = express_getattr(IfcAssemblyPlaceEnum, 'SITE', INDETERMINATE) -notdefined = express_getattr(IfcAssemblyPlaceEnum, 'NOTDEFINED', INDETERMINATE) +factory = IfcAssemblyPlaceEnum.FACTORY +site = IfcAssemblyPlaceEnum.SITE +notdefined = IfcAssemblyPlaceEnum.NOTDEFINED IfcAudioVisualApplianceTypeEnum = enum_namespace() -amplifier = express_getattr(IfcAudioVisualApplianceTypeEnum, 'AMPLIFIER', INDETERMINATE) -camera = express_getattr(IfcAudioVisualApplianceTypeEnum, 'CAMERA', INDETERMINATE) -communicationterminal = express_getattr(IfcAudioVisualApplianceTypeEnum, 'COMMUNICATIONTERMINAL', INDETERMINATE) -display = express_getattr(IfcAudioVisualApplianceTypeEnum, 'DISPLAY', INDETERMINATE) -microphone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'MICROPHONE', INDETERMINATE) -player = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PLAYER', INDETERMINATE) -projector = express_getattr(IfcAudioVisualApplianceTypeEnum, 'PROJECTOR', INDETERMINATE) -receiver = express_getattr(IfcAudioVisualApplianceTypeEnum, 'RECEIVER', INDETERMINATE) -recordingequipment = express_getattr(IfcAudioVisualApplianceTypeEnum, 'RECORDINGEQUIPMENT', INDETERMINATE) -speaker = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SPEAKER', INDETERMINATE) -switcher = express_getattr(IfcAudioVisualApplianceTypeEnum, 'SWITCHER', INDETERMINATE) -telephone = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TELEPHONE', INDETERMINATE) -tuner = express_getattr(IfcAudioVisualApplianceTypeEnum, 'TUNER', INDETERMINATE) -userdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcAudioVisualApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +amplifier = IfcAudioVisualApplianceTypeEnum.AMPLIFIER +camera = IfcAudioVisualApplianceTypeEnum.CAMERA +communicationterminal = IfcAudioVisualApplianceTypeEnum.COMMUNICATIONTERMINAL +display = IfcAudioVisualApplianceTypeEnum.DISPLAY +microphone = IfcAudioVisualApplianceTypeEnum.MICROPHONE +player = IfcAudioVisualApplianceTypeEnum.PLAYER +projector = IfcAudioVisualApplianceTypeEnum.PROJECTOR +receiver = IfcAudioVisualApplianceTypeEnum.RECEIVER +recordingequipment = IfcAudioVisualApplianceTypeEnum.RECORDINGEQUIPMENT +speaker = IfcAudioVisualApplianceTypeEnum.SPEAKER +switcher = IfcAudioVisualApplianceTypeEnum.SWITCHER +telephone = IfcAudioVisualApplianceTypeEnum.TELEPHONE +tuner = IfcAudioVisualApplianceTypeEnum.TUNER +userdefined = IfcAudioVisualApplianceTypeEnum.USERDEFINED +notdefined = IfcAudioVisualApplianceTypeEnum.NOTDEFINED IfcBSplineCurveForm = enum_namespace() -circular_arc = express_getattr(IfcBSplineCurveForm, 'CIRCULAR_ARC', INDETERMINATE) -elliptic_arc = express_getattr(IfcBSplineCurveForm, 'ELLIPTIC_ARC', INDETERMINATE) -hyperbolic_arc = express_getattr(IfcBSplineCurveForm, 'HYPERBOLIC_ARC', INDETERMINATE) -parabolic_arc = express_getattr(IfcBSplineCurveForm, 'PARABOLIC_ARC', INDETERMINATE) -polyline_form = express_getattr(IfcBSplineCurveForm, 'POLYLINE_FORM', INDETERMINATE) -unspecified = express_getattr(IfcBSplineCurveForm, 'UNSPECIFIED', INDETERMINATE) +circular_arc = IfcBSplineCurveForm.CIRCULAR_ARC +elliptic_arc = IfcBSplineCurveForm.ELLIPTIC_ARC +hyperbolic_arc = IfcBSplineCurveForm.HYPERBOLIC_ARC +parabolic_arc = IfcBSplineCurveForm.PARABOLIC_ARC +polyline_form = IfcBSplineCurveForm.POLYLINE_FORM +unspecified = IfcBSplineCurveForm.UNSPECIFIED IfcBSplineSurfaceForm = enum_namespace() -conical_surf = express_getattr(IfcBSplineSurfaceForm, 'CONICAL_SURF', INDETERMINATE) -cylindrical_surf = express_getattr(IfcBSplineSurfaceForm, 'CYLINDRICAL_SURF', INDETERMINATE) -generalised_cone = express_getattr(IfcBSplineSurfaceForm, 'GENERALISED_CONE', INDETERMINATE) -plane_surf = express_getattr(IfcBSplineSurfaceForm, 'PLANE_SURF', INDETERMINATE) -quadric_surf = express_getattr(IfcBSplineSurfaceForm, 'QUADRIC_SURF', INDETERMINATE) -ruled_surf = express_getattr(IfcBSplineSurfaceForm, 'RULED_SURF', INDETERMINATE) -spherical_surf = express_getattr(IfcBSplineSurfaceForm, 'SPHERICAL_SURF', INDETERMINATE) -surf_of_linear_extrusion = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_LINEAR_EXTRUSION', INDETERMINATE) -surf_of_revolution = express_getattr(IfcBSplineSurfaceForm, 'SURF_OF_REVOLUTION', INDETERMINATE) -toroidal_surf = express_getattr(IfcBSplineSurfaceForm, 'TOROIDAL_SURF', INDETERMINATE) -unspecified = express_getattr(IfcBSplineSurfaceForm, 'UNSPECIFIED', INDETERMINATE) +conical_surf = IfcBSplineSurfaceForm.CONICAL_SURF +cylindrical_surf = IfcBSplineSurfaceForm.CYLINDRICAL_SURF +generalised_cone = IfcBSplineSurfaceForm.GENERALISED_CONE +plane_surf = IfcBSplineSurfaceForm.PLANE_SURF +quadric_surf = IfcBSplineSurfaceForm.QUADRIC_SURF +ruled_surf = IfcBSplineSurfaceForm.RULED_SURF +spherical_surf = IfcBSplineSurfaceForm.SPHERICAL_SURF +surf_of_linear_extrusion = IfcBSplineSurfaceForm.SURF_OF_LINEAR_EXTRUSION +surf_of_revolution = IfcBSplineSurfaceForm.SURF_OF_REVOLUTION +toroidal_surf = IfcBSplineSurfaceForm.TOROIDAL_SURF +unspecified = IfcBSplineSurfaceForm.UNSPECIFIED IfcBeamTypeEnum = enum_namespace() -beam = express_getattr(IfcBeamTypeEnum, 'BEAM', INDETERMINATE) -cornice = express_getattr(IfcBeamTypeEnum, 'CORNICE', INDETERMINATE) -diaphragm = express_getattr(IfcBeamTypeEnum, 'DIAPHRAGM', INDETERMINATE) -edgebeam = express_getattr(IfcBeamTypeEnum, 'EDGEBEAM', INDETERMINATE) -girder_segment = express_getattr(IfcBeamTypeEnum, 'GIRDER_SEGMENT', INDETERMINATE) -hatstone = express_getattr(IfcBeamTypeEnum, 'HATSTONE', INDETERMINATE) -hollowcore = express_getattr(IfcBeamTypeEnum, 'HOLLOWCORE', INDETERMINATE) -joist = express_getattr(IfcBeamTypeEnum, 'JOIST', INDETERMINATE) -lintel = express_getattr(IfcBeamTypeEnum, 'LINTEL', INDETERMINATE) -piercap = express_getattr(IfcBeamTypeEnum, 'PIERCAP', INDETERMINATE) -spandrel = express_getattr(IfcBeamTypeEnum, 'SPANDREL', INDETERMINATE) -t_beam = express_getattr(IfcBeamTypeEnum, 'T_BEAM', INDETERMINATE) -userdefined = express_getattr(IfcBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +beam = IfcBeamTypeEnum.BEAM +cornice = IfcBeamTypeEnum.CORNICE +diaphragm = IfcBeamTypeEnum.DIAPHRAGM +edgebeam = IfcBeamTypeEnum.EDGEBEAM +girder_segment = IfcBeamTypeEnum.GIRDER_SEGMENT +hatstone = IfcBeamTypeEnum.HATSTONE +hollowcore = IfcBeamTypeEnum.HOLLOWCORE +joist = IfcBeamTypeEnum.JOIST +lintel = IfcBeamTypeEnum.LINTEL +piercap = IfcBeamTypeEnum.PIERCAP +spandrel = IfcBeamTypeEnum.SPANDREL +t_beam = IfcBeamTypeEnum.T_BEAM +userdefined = IfcBeamTypeEnum.USERDEFINED +notdefined = IfcBeamTypeEnum.NOTDEFINED IfcBearingTypeEnum = enum_namespace() -cylindrical = express_getattr(IfcBearingTypeEnum, 'CYLINDRICAL', INDETERMINATE) -disk = express_getattr(IfcBearingTypeEnum, 'DISK', INDETERMINATE) -elastomeric = express_getattr(IfcBearingTypeEnum, 'ELASTOMERIC', INDETERMINATE) -guide = express_getattr(IfcBearingTypeEnum, 'GUIDE', INDETERMINATE) -pot = express_getattr(IfcBearingTypeEnum, 'POT', INDETERMINATE) -rocker = express_getattr(IfcBearingTypeEnum, 'ROCKER', INDETERMINATE) -roller = express_getattr(IfcBearingTypeEnum, 'ROLLER', INDETERMINATE) -spherical = express_getattr(IfcBearingTypeEnum, 'SPHERICAL', INDETERMINATE) -userdefined = express_getattr(IfcBearingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBearingTypeEnum, 'NOTDEFINED', INDETERMINATE) +cylindrical = IfcBearingTypeEnum.CYLINDRICAL +disk = IfcBearingTypeEnum.DISK +elastomeric = IfcBearingTypeEnum.ELASTOMERIC +guide = IfcBearingTypeEnum.GUIDE +pot = IfcBearingTypeEnum.POT +rocker = IfcBearingTypeEnum.ROCKER +roller = IfcBearingTypeEnum.ROLLER +spherical = IfcBearingTypeEnum.SPHERICAL +userdefined = IfcBearingTypeEnum.USERDEFINED +notdefined = IfcBearingTypeEnum.NOTDEFINED IfcBenchmarkEnum = enum_namespace() -equalto = express_getattr(IfcBenchmarkEnum, 'EQUALTO', INDETERMINATE) -greaterthan = express_getattr(IfcBenchmarkEnum, 'GREATERTHAN', INDETERMINATE) -greaterthanorequalto = express_getattr(IfcBenchmarkEnum, 'GREATERTHANOREQUALTO', INDETERMINATE) -includedin = express_getattr(IfcBenchmarkEnum, 'INCLUDEDIN', INDETERMINATE) -includes = express_getattr(IfcBenchmarkEnum, 'INCLUDES', INDETERMINATE) -lessthan = express_getattr(IfcBenchmarkEnum, 'LESSTHAN', INDETERMINATE) -lessthanorequalto = express_getattr(IfcBenchmarkEnum, 'LESSTHANOREQUALTO', INDETERMINATE) -notequalto = express_getattr(IfcBenchmarkEnum, 'NOTEQUALTO', INDETERMINATE) -notincludedin = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDEDIN', INDETERMINATE) -notincludes = express_getattr(IfcBenchmarkEnum, 'NOTINCLUDES', INDETERMINATE) +equalto = IfcBenchmarkEnum.EQUALTO +greaterthan = IfcBenchmarkEnum.GREATERTHAN +greaterthanorequalto = IfcBenchmarkEnum.GREATERTHANOREQUALTO +includedin = IfcBenchmarkEnum.INCLUDEDIN +includes = IfcBenchmarkEnum.INCLUDES +lessthan = IfcBenchmarkEnum.LESSTHAN +lessthanorequalto = IfcBenchmarkEnum.LESSTHANOREQUALTO +notequalto = IfcBenchmarkEnum.NOTEQUALTO +notincludedin = IfcBenchmarkEnum.NOTINCLUDEDIN +notincludes = IfcBenchmarkEnum.NOTINCLUDES IfcBoilerTypeEnum = enum_namespace() -steam = express_getattr(IfcBoilerTypeEnum, 'STEAM', INDETERMINATE) -water = express_getattr(IfcBoilerTypeEnum, 'WATER', INDETERMINATE) -userdefined = express_getattr(IfcBoilerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBoilerTypeEnum, 'NOTDEFINED', INDETERMINATE) +steam = IfcBoilerTypeEnum.STEAM +water = IfcBoilerTypeEnum.WATER +userdefined = IfcBoilerTypeEnum.USERDEFINED +notdefined = IfcBoilerTypeEnum.NOTDEFINED IfcBooleanOperator = enum_namespace() -difference = express_getattr(IfcBooleanOperator, 'DIFFERENCE', INDETERMINATE) -intersection = express_getattr(IfcBooleanOperator, 'INTERSECTION', INDETERMINATE) -union = express_getattr(IfcBooleanOperator, 'UNION', INDETERMINATE) +difference = IfcBooleanOperator.DIFFERENCE +intersection = IfcBooleanOperator.INTERSECTION +union = IfcBooleanOperator.UNION IfcBridgePartTypeEnum = enum_namespace() -abutment = express_getattr(IfcBridgePartTypeEnum, 'ABUTMENT', INDETERMINATE) -deck = express_getattr(IfcBridgePartTypeEnum, 'DECK', INDETERMINATE) -deck_segment = express_getattr(IfcBridgePartTypeEnum, 'DECK_SEGMENT', INDETERMINATE) -foundation = express_getattr(IfcBridgePartTypeEnum, 'FOUNDATION', INDETERMINATE) -pier = express_getattr(IfcBridgePartTypeEnum, 'PIER', INDETERMINATE) -pier_segment = express_getattr(IfcBridgePartTypeEnum, 'PIER_SEGMENT', INDETERMINATE) -pylon = express_getattr(IfcBridgePartTypeEnum, 'PYLON', INDETERMINATE) -substructure = express_getattr(IfcBridgePartTypeEnum, 'SUBSTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcBridgePartTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -surfacestructure = express_getattr(IfcBridgePartTypeEnum, 'SURFACESTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcBridgePartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBridgePartTypeEnum, 'NOTDEFINED', INDETERMINATE) +abutment = IfcBridgePartTypeEnum.ABUTMENT +deck = IfcBridgePartTypeEnum.DECK +deck_segment = IfcBridgePartTypeEnum.DECK_SEGMENT +foundation = IfcBridgePartTypeEnum.FOUNDATION +pier = IfcBridgePartTypeEnum.PIER +pier_segment = IfcBridgePartTypeEnum.PIER_SEGMENT +pylon = IfcBridgePartTypeEnum.PYLON +substructure = IfcBridgePartTypeEnum.SUBSTRUCTURE +superstructure = IfcBridgePartTypeEnum.SUPERSTRUCTURE +surfacestructure = IfcBridgePartTypeEnum.SURFACESTRUCTURE +userdefined = IfcBridgePartTypeEnum.USERDEFINED +notdefined = IfcBridgePartTypeEnum.NOTDEFINED IfcBridgeTypeEnum = enum_namespace() -arched = express_getattr(IfcBridgeTypeEnum, 'ARCHED', INDETERMINATE) -cable_stayed = express_getattr(IfcBridgeTypeEnum, 'CABLE_STAYED', INDETERMINATE) -cantilever = express_getattr(IfcBridgeTypeEnum, 'CANTILEVER', INDETERMINATE) -culvert = express_getattr(IfcBridgeTypeEnum, 'CULVERT', INDETERMINATE) -framework = express_getattr(IfcBridgeTypeEnum, 'FRAMEWORK', INDETERMINATE) -girder = express_getattr(IfcBridgeTypeEnum, 'GIRDER', INDETERMINATE) -suspension = express_getattr(IfcBridgeTypeEnum, 'SUSPENSION', INDETERMINATE) -truss = express_getattr(IfcBridgeTypeEnum, 'TRUSS', INDETERMINATE) -userdefined = express_getattr(IfcBridgeTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBridgeTypeEnum, 'NOTDEFINED', INDETERMINATE) +arched = IfcBridgeTypeEnum.ARCHED +cable_stayed = IfcBridgeTypeEnum.CABLE_STAYED +cantilever = IfcBridgeTypeEnum.CANTILEVER +culvert = IfcBridgeTypeEnum.CULVERT +framework = IfcBridgeTypeEnum.FRAMEWORK +girder = IfcBridgeTypeEnum.GIRDER +suspension = IfcBridgeTypeEnum.SUSPENSION +truss = IfcBridgeTypeEnum.TRUSS +userdefined = IfcBridgeTypeEnum.USERDEFINED +notdefined = IfcBridgeTypeEnum.NOTDEFINED IfcBuildingElementPartTypeEnum = enum_namespace() -apron = express_getattr(IfcBuildingElementPartTypeEnum, 'APRON', INDETERMINATE) -armourunit = express_getattr(IfcBuildingElementPartTypeEnum, 'ARMOURUNIT', INDETERMINATE) -insulation = express_getattr(IfcBuildingElementPartTypeEnum, 'INSULATION', INDETERMINATE) -precastpanel = express_getattr(IfcBuildingElementPartTypeEnum, 'PRECASTPANEL', INDETERMINATE) -safetycage = express_getattr(IfcBuildingElementPartTypeEnum, 'SAFETYCAGE', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +apron = IfcBuildingElementPartTypeEnum.APRON +armourunit = IfcBuildingElementPartTypeEnum.ARMOURUNIT +insulation = IfcBuildingElementPartTypeEnum.INSULATION +precastpanel = IfcBuildingElementPartTypeEnum.PRECASTPANEL +safetycage = IfcBuildingElementPartTypeEnum.SAFETYCAGE +userdefined = IfcBuildingElementPartTypeEnum.USERDEFINED +notdefined = IfcBuildingElementPartTypeEnum.NOTDEFINED IfcBuildingElementProxyTypeEnum = enum_namespace() -complex = express_getattr(IfcBuildingElementProxyTypeEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcBuildingElementProxyTypeEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcBuildingElementProxyTypeEnum, 'PARTIAL', INDETERMINATE) -provisionforspace = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORSPACE', INDETERMINATE) -provisionforvoid = express_getattr(IfcBuildingElementProxyTypeEnum, 'PROVISIONFORVOID', INDETERMINATE) -userdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingElementProxyTypeEnum, 'NOTDEFINED', INDETERMINATE) +complex = IfcBuildingElementProxyTypeEnum.COMPLEX +element = IfcBuildingElementProxyTypeEnum.ELEMENT +partial = IfcBuildingElementProxyTypeEnum.PARTIAL +provisionforspace = IfcBuildingElementProxyTypeEnum.PROVISIONFORSPACE +provisionforvoid = IfcBuildingElementProxyTypeEnum.PROVISIONFORVOID +userdefined = IfcBuildingElementProxyTypeEnum.USERDEFINED +notdefined = IfcBuildingElementProxyTypeEnum.NOTDEFINED IfcBuildingSystemTypeEnum = enum_namespace() -fenestration = express_getattr(IfcBuildingSystemTypeEnum, 'FENESTRATION', INDETERMINATE) -foundation = express_getattr(IfcBuildingSystemTypeEnum, 'FOUNDATION', INDETERMINATE) -loadbearing = express_getattr(IfcBuildingSystemTypeEnum, 'LOADBEARING', INDETERMINATE) -outershell = express_getattr(IfcBuildingSystemTypeEnum, 'OUTERSHELL', INDETERMINATE) -shading = express_getattr(IfcBuildingSystemTypeEnum, 'SHADING', INDETERMINATE) -transport = express_getattr(IfcBuildingSystemTypeEnum, 'TRANSPORT', INDETERMINATE) -userdefined = express_getattr(IfcBuildingSystemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuildingSystemTypeEnum, 'NOTDEFINED', INDETERMINATE) +fenestration = IfcBuildingSystemTypeEnum.FENESTRATION +foundation = IfcBuildingSystemTypeEnum.FOUNDATION +loadbearing = IfcBuildingSystemTypeEnum.LOADBEARING +outershell = IfcBuildingSystemTypeEnum.OUTERSHELL +shading = IfcBuildingSystemTypeEnum.SHADING +transport = IfcBuildingSystemTypeEnum.TRANSPORT +userdefined = IfcBuildingSystemTypeEnum.USERDEFINED +notdefined = IfcBuildingSystemTypeEnum.NOTDEFINED IfcBuiltSystemTypeEnum = enum_namespace() -erosionprevention = express_getattr(IfcBuiltSystemTypeEnum, 'EROSIONPREVENTION', INDETERMINATE) -fenestration = express_getattr(IfcBuiltSystemTypeEnum, 'FENESTRATION', INDETERMINATE) -foundation = express_getattr(IfcBuiltSystemTypeEnum, 'FOUNDATION', INDETERMINATE) -loadbearing = express_getattr(IfcBuiltSystemTypeEnum, 'LOADBEARING', INDETERMINATE) -mooring = express_getattr(IfcBuiltSystemTypeEnum, 'MOORING', INDETERMINATE) -outershell = express_getattr(IfcBuiltSystemTypeEnum, 'OUTERSHELL', INDETERMINATE) -prestressing = express_getattr(IfcBuiltSystemTypeEnum, 'PRESTRESSING', INDETERMINATE) -railwayline = express_getattr(IfcBuiltSystemTypeEnum, 'RAILWAYLINE', INDETERMINATE) -railwaytrack = express_getattr(IfcBuiltSystemTypeEnum, 'RAILWAYTRACK', INDETERMINATE) -reinforcing = express_getattr(IfcBuiltSystemTypeEnum, 'REINFORCING', INDETERMINATE) -shading = express_getattr(IfcBuiltSystemTypeEnum, 'SHADING', INDETERMINATE) -trackcircuit = express_getattr(IfcBuiltSystemTypeEnum, 'TRACKCIRCUIT', INDETERMINATE) -transport = express_getattr(IfcBuiltSystemTypeEnum, 'TRANSPORT', INDETERMINATE) -userdefined = express_getattr(IfcBuiltSystemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBuiltSystemTypeEnum, 'NOTDEFINED', INDETERMINATE) +erosionprevention = IfcBuiltSystemTypeEnum.EROSIONPREVENTION +fenestration = IfcBuiltSystemTypeEnum.FENESTRATION +foundation = IfcBuiltSystemTypeEnum.FOUNDATION +loadbearing = IfcBuiltSystemTypeEnum.LOADBEARING +mooring = IfcBuiltSystemTypeEnum.MOORING +outershell = IfcBuiltSystemTypeEnum.OUTERSHELL +prestressing = IfcBuiltSystemTypeEnum.PRESTRESSING +railwayline = IfcBuiltSystemTypeEnum.RAILWAYLINE +railwaytrack = IfcBuiltSystemTypeEnum.RAILWAYTRACK +reinforcing = IfcBuiltSystemTypeEnum.REINFORCING +shading = IfcBuiltSystemTypeEnum.SHADING +trackcircuit = IfcBuiltSystemTypeEnum.TRACKCIRCUIT +transport = IfcBuiltSystemTypeEnum.TRANSPORT +userdefined = IfcBuiltSystemTypeEnum.USERDEFINED +notdefined = IfcBuiltSystemTypeEnum.NOTDEFINED IfcBurnerTypeEnum = enum_namespace() -userdefined = express_getattr(IfcBurnerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcBurnerTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcBurnerTypeEnum.USERDEFINED +notdefined = IfcBurnerTypeEnum.NOTDEFINED IfcCableCarrierFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcCableCarrierFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcCableCarrierFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -cross = express_getattr(IfcCableCarrierFittingTypeEnum, 'CROSS', INDETERMINATE) -junction = express_getattr(IfcCableCarrierFittingTypeEnum, 'JUNCTION', INDETERMINATE) -reducer = express_getattr(IfcCableCarrierFittingTypeEnum, 'REDUCER', INDETERMINATE) -tee = express_getattr(IfcCableCarrierFittingTypeEnum, 'TEE', INDETERMINATE) -transition = express_getattr(IfcCableCarrierFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcCableCarrierFittingTypeEnum.BEND +connector = IfcCableCarrierFittingTypeEnum.CONNECTOR +cross = IfcCableCarrierFittingTypeEnum.CROSS +junction = IfcCableCarrierFittingTypeEnum.JUNCTION +reducer = IfcCableCarrierFittingTypeEnum.REDUCER +tee = IfcCableCarrierFittingTypeEnum.TEE +transition = IfcCableCarrierFittingTypeEnum.TRANSITION +userdefined = IfcCableCarrierFittingTypeEnum.USERDEFINED +notdefined = IfcCableCarrierFittingTypeEnum.NOTDEFINED IfcCableCarrierSegmentTypeEnum = enum_namespace() -cablebracket = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLEBRACKET', INDETERMINATE) -cableladdersegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLELADDERSEGMENT', INDETERMINATE) -cabletraysegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRAYSEGMENT', INDETERMINATE) -cabletrunkingsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CABLETRUNKINGSEGMENT', INDETERMINATE) -catenarywire = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CATENARYWIRE', INDETERMINATE) -conduitsegment = express_getattr(IfcCableCarrierSegmentTypeEnum, 'CONDUITSEGMENT', INDETERMINATE) -dropper = express_getattr(IfcCableCarrierSegmentTypeEnum, 'DROPPER', INDETERMINATE) -userdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableCarrierSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +cablebracket = IfcCableCarrierSegmentTypeEnum.CABLEBRACKET +cableladdersegment = IfcCableCarrierSegmentTypeEnum.CABLELADDERSEGMENT +cabletraysegment = IfcCableCarrierSegmentTypeEnum.CABLETRAYSEGMENT +cabletrunkingsegment = IfcCableCarrierSegmentTypeEnum.CABLETRUNKINGSEGMENT +catenarywire = IfcCableCarrierSegmentTypeEnum.CATENARYWIRE +conduitsegment = IfcCableCarrierSegmentTypeEnum.CONDUITSEGMENT +dropper = IfcCableCarrierSegmentTypeEnum.DROPPER +userdefined = IfcCableCarrierSegmentTypeEnum.USERDEFINED +notdefined = IfcCableCarrierSegmentTypeEnum.NOTDEFINED IfcCableFittingTypeEnum = enum_namespace() -connector = express_getattr(IfcCableFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcCableFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcCableFittingTypeEnum, 'EXIT', INDETERMINATE) -fanout = express_getattr(IfcCableFittingTypeEnum, 'FANOUT', INDETERMINATE) -junction = express_getattr(IfcCableFittingTypeEnum, 'JUNCTION', INDETERMINATE) -transition = express_getattr(IfcCableFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcCableFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +connector = IfcCableFittingTypeEnum.CONNECTOR +entry = IfcCableFittingTypeEnum.ENTRY +exit = IfcCableFittingTypeEnum.EXIT +fanout = IfcCableFittingTypeEnum.FANOUT +junction = IfcCableFittingTypeEnum.JUNCTION +transition = IfcCableFittingTypeEnum.TRANSITION +userdefined = IfcCableFittingTypeEnum.USERDEFINED +notdefined = IfcCableFittingTypeEnum.NOTDEFINED IfcCableSegmentTypeEnum = enum_namespace() -busbarsegment = express_getattr(IfcCableSegmentTypeEnum, 'BUSBARSEGMENT', INDETERMINATE) -cablesegment = express_getattr(IfcCableSegmentTypeEnum, 'CABLESEGMENT', INDETERMINATE) -conductorsegment = express_getattr(IfcCableSegmentTypeEnum, 'CONDUCTORSEGMENT', INDETERMINATE) -contactwiresegment = express_getattr(IfcCableSegmentTypeEnum, 'CONTACTWIRESEGMENT', INDETERMINATE) -coresegment = express_getattr(IfcCableSegmentTypeEnum, 'CORESEGMENT', INDETERMINATE) -fibersegment = express_getattr(IfcCableSegmentTypeEnum, 'FIBERSEGMENT', INDETERMINATE) -fibertube = express_getattr(IfcCableSegmentTypeEnum, 'FIBERTUBE', INDETERMINATE) -opticalcablesegment = express_getattr(IfcCableSegmentTypeEnum, 'OPTICALCABLESEGMENT', INDETERMINATE) -stitchwire = express_getattr(IfcCableSegmentTypeEnum, 'STITCHWIRE', INDETERMINATE) -wirepairsegment = express_getattr(IfcCableSegmentTypeEnum, 'WIREPAIRSEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcCableSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCableSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +busbarsegment = IfcCableSegmentTypeEnum.BUSBARSEGMENT +cablesegment = IfcCableSegmentTypeEnum.CABLESEGMENT +conductorsegment = IfcCableSegmentTypeEnum.CONDUCTORSEGMENT +contactwiresegment = IfcCableSegmentTypeEnum.CONTACTWIRESEGMENT +coresegment = IfcCableSegmentTypeEnum.CORESEGMENT +fibersegment = IfcCableSegmentTypeEnum.FIBERSEGMENT +fibertube = IfcCableSegmentTypeEnum.FIBERTUBE +opticalcablesegment = IfcCableSegmentTypeEnum.OPTICALCABLESEGMENT +stitchwire = IfcCableSegmentTypeEnum.STITCHWIRE +wirepairsegment = IfcCableSegmentTypeEnum.WIREPAIRSEGMENT +userdefined = IfcCableSegmentTypeEnum.USERDEFINED +notdefined = IfcCableSegmentTypeEnum.NOTDEFINED IfcCaissonFoundationTypeEnum = enum_namespace() -caisson = express_getattr(IfcCaissonFoundationTypeEnum, 'CAISSON', INDETERMINATE) -well = express_getattr(IfcCaissonFoundationTypeEnum, 'WELL', INDETERMINATE) -userdefined = express_getattr(IfcCaissonFoundationTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCaissonFoundationTypeEnum, 'NOTDEFINED', INDETERMINATE) +caisson = IfcCaissonFoundationTypeEnum.CAISSON +well = IfcCaissonFoundationTypeEnum.WELL +userdefined = IfcCaissonFoundationTypeEnum.USERDEFINED +notdefined = IfcCaissonFoundationTypeEnum.NOTDEFINED IfcChangeActionEnum = enum_namespace() -added = express_getattr(IfcChangeActionEnum, 'ADDED', INDETERMINATE) -deleted = express_getattr(IfcChangeActionEnum, 'DELETED', INDETERMINATE) -modified = express_getattr(IfcChangeActionEnum, 'MODIFIED', INDETERMINATE) -nochange = express_getattr(IfcChangeActionEnum, 'NOCHANGE', INDETERMINATE) -notdefined = express_getattr(IfcChangeActionEnum, 'NOTDEFINED', INDETERMINATE) +added = IfcChangeActionEnum.ADDED +deleted = IfcChangeActionEnum.DELETED +modified = IfcChangeActionEnum.MODIFIED +nochange = IfcChangeActionEnum.NOCHANGE +notdefined = IfcChangeActionEnum.NOTDEFINED IfcChillerTypeEnum = enum_namespace() -aircooled = express_getattr(IfcChillerTypeEnum, 'AIRCOOLED', INDETERMINATE) -heatrecovery = express_getattr(IfcChillerTypeEnum, 'HEATRECOVERY', INDETERMINATE) -watercooled = express_getattr(IfcChillerTypeEnum, 'WATERCOOLED', INDETERMINATE) -userdefined = express_getattr(IfcChillerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChillerTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcChillerTypeEnum.AIRCOOLED +heatrecovery = IfcChillerTypeEnum.HEATRECOVERY +watercooled = IfcChillerTypeEnum.WATERCOOLED +userdefined = IfcChillerTypeEnum.USERDEFINED +notdefined = IfcChillerTypeEnum.NOTDEFINED IfcChimneyTypeEnum = enum_namespace() -userdefined = express_getattr(IfcChimneyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcChimneyTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcChimneyTypeEnum.USERDEFINED +notdefined = IfcChimneyTypeEnum.NOTDEFINED IfcCoilTypeEnum = enum_namespace() -dxcoolingcoil = express_getattr(IfcCoilTypeEnum, 'DXCOOLINGCOIL', INDETERMINATE) -electricheatingcoil = express_getattr(IfcCoilTypeEnum, 'ELECTRICHEATINGCOIL', INDETERMINATE) -gasheatingcoil = express_getattr(IfcCoilTypeEnum, 'GASHEATINGCOIL', INDETERMINATE) -hydroniccoil = express_getattr(IfcCoilTypeEnum, 'HYDRONICCOIL', INDETERMINATE) -steamheatingcoil = express_getattr(IfcCoilTypeEnum, 'STEAMHEATINGCOIL', INDETERMINATE) -watercoolingcoil = express_getattr(IfcCoilTypeEnum, 'WATERCOOLINGCOIL', INDETERMINATE) -waterheatingcoil = express_getattr(IfcCoilTypeEnum, 'WATERHEATINGCOIL', INDETERMINATE) -userdefined = express_getattr(IfcCoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +dxcoolingcoil = IfcCoilTypeEnum.DXCOOLINGCOIL +electricheatingcoil = IfcCoilTypeEnum.ELECTRICHEATINGCOIL +gasheatingcoil = IfcCoilTypeEnum.GASHEATINGCOIL +hydroniccoil = IfcCoilTypeEnum.HYDRONICCOIL +steamheatingcoil = IfcCoilTypeEnum.STEAMHEATINGCOIL +watercoolingcoil = IfcCoilTypeEnum.WATERCOOLINGCOIL +waterheatingcoil = IfcCoilTypeEnum.WATERHEATINGCOIL +userdefined = IfcCoilTypeEnum.USERDEFINED +notdefined = IfcCoilTypeEnum.NOTDEFINED IfcColumnTypeEnum = enum_namespace() -column = express_getattr(IfcColumnTypeEnum, 'COLUMN', INDETERMINATE) -pierstem = express_getattr(IfcColumnTypeEnum, 'PIERSTEM', INDETERMINATE) -pierstem_segment = express_getattr(IfcColumnTypeEnum, 'PIERSTEM_SEGMENT', INDETERMINATE) -pilaster = express_getattr(IfcColumnTypeEnum, 'PILASTER', INDETERMINATE) -standcolumn = express_getattr(IfcColumnTypeEnum, 'STANDCOLUMN', INDETERMINATE) -userdefined = express_getattr(IfcColumnTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcColumnTypeEnum, 'NOTDEFINED', INDETERMINATE) +column = IfcColumnTypeEnum.COLUMN +pierstem = IfcColumnTypeEnum.PIERSTEM +pierstem_segment = IfcColumnTypeEnum.PIERSTEM_SEGMENT +pilaster = IfcColumnTypeEnum.PILASTER +standcolumn = IfcColumnTypeEnum.STANDCOLUMN +userdefined = IfcColumnTypeEnum.USERDEFINED +notdefined = IfcColumnTypeEnum.NOTDEFINED IfcCommunicationsApplianceTypeEnum = enum_namespace() -antenna = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ANTENNA', INDETERMINATE) -automaton = express_getattr(IfcCommunicationsApplianceTypeEnum, 'AUTOMATON', INDETERMINATE) -computer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'COMPUTER', INDETERMINATE) -fax = express_getattr(IfcCommunicationsApplianceTypeEnum, 'FAX', INDETERMINATE) -gateway = express_getattr(IfcCommunicationsApplianceTypeEnum, 'GATEWAY', INDETERMINATE) -intelligentperipheral = express_getattr(IfcCommunicationsApplianceTypeEnum, 'INTELLIGENTPERIPHERAL', INDETERMINATE) -ipnetworkequipment = express_getattr(IfcCommunicationsApplianceTypeEnum, 'IPNETWORKEQUIPMENT', INDETERMINATE) -linesideelectronicunit = express_getattr(IfcCommunicationsApplianceTypeEnum, 'LINESIDEELECTRONICUNIT', INDETERMINATE) -modem = express_getattr(IfcCommunicationsApplianceTypeEnum, 'MODEM', INDETERMINATE) -networkappliance = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKAPPLIANCE', INDETERMINATE) -networkbridge = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKBRIDGE', INDETERMINATE) -networkhub = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NETWORKHUB', INDETERMINATE) -opticallineterminal = express_getattr(IfcCommunicationsApplianceTypeEnum, 'OPTICALLINETERMINAL', INDETERMINATE) -opticalnetworkunit = express_getattr(IfcCommunicationsApplianceTypeEnum, 'OPTICALNETWORKUNIT', INDETERMINATE) -printer = express_getattr(IfcCommunicationsApplianceTypeEnum, 'PRINTER', INDETERMINATE) -radioblockcenter = express_getattr(IfcCommunicationsApplianceTypeEnum, 'RADIOBLOCKCENTER', INDETERMINATE) -repeater = express_getattr(IfcCommunicationsApplianceTypeEnum, 'REPEATER', INDETERMINATE) -router = express_getattr(IfcCommunicationsApplianceTypeEnum, 'ROUTER', INDETERMINATE) -scanner = express_getattr(IfcCommunicationsApplianceTypeEnum, 'SCANNER', INDETERMINATE) -telecommand = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TELECOMMAND', INDETERMINATE) -telephonyexchange = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TELEPHONYEXCHANGE', INDETERMINATE) -transitioncomponent = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSITIONCOMPONENT', INDETERMINATE) -transponder = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSPONDER', INDETERMINATE) -transportequipment = express_getattr(IfcCommunicationsApplianceTypeEnum, 'TRANSPORTEQUIPMENT', INDETERMINATE) -userdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCommunicationsApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +antenna = IfcCommunicationsApplianceTypeEnum.ANTENNA +automaton = IfcCommunicationsApplianceTypeEnum.AUTOMATON +computer = IfcCommunicationsApplianceTypeEnum.COMPUTER +fax = IfcCommunicationsApplianceTypeEnum.FAX +gateway = IfcCommunicationsApplianceTypeEnum.GATEWAY +intelligentperipheral = IfcCommunicationsApplianceTypeEnum.INTELLIGENTPERIPHERAL +ipnetworkequipment = IfcCommunicationsApplianceTypeEnum.IPNETWORKEQUIPMENT +linesideelectronicunit = IfcCommunicationsApplianceTypeEnum.LINESIDEELECTRONICUNIT +modem = IfcCommunicationsApplianceTypeEnum.MODEM +networkappliance = IfcCommunicationsApplianceTypeEnum.NETWORKAPPLIANCE +networkbridge = IfcCommunicationsApplianceTypeEnum.NETWORKBRIDGE +networkhub = IfcCommunicationsApplianceTypeEnum.NETWORKHUB +opticallineterminal = IfcCommunicationsApplianceTypeEnum.OPTICALLINETERMINAL +opticalnetworkunit = IfcCommunicationsApplianceTypeEnum.OPTICALNETWORKUNIT +printer = IfcCommunicationsApplianceTypeEnum.PRINTER +radioblockcenter = IfcCommunicationsApplianceTypeEnum.RADIOBLOCKCENTER +repeater = IfcCommunicationsApplianceTypeEnum.REPEATER +router = IfcCommunicationsApplianceTypeEnum.ROUTER +scanner = IfcCommunicationsApplianceTypeEnum.SCANNER +telecommand = IfcCommunicationsApplianceTypeEnum.TELECOMMAND +telephonyexchange = IfcCommunicationsApplianceTypeEnum.TELEPHONYEXCHANGE +transitioncomponent = IfcCommunicationsApplianceTypeEnum.TRANSITIONCOMPONENT +transponder = IfcCommunicationsApplianceTypeEnum.TRANSPONDER +transportequipment = IfcCommunicationsApplianceTypeEnum.TRANSPORTEQUIPMENT +userdefined = IfcCommunicationsApplianceTypeEnum.USERDEFINED +notdefined = IfcCommunicationsApplianceTypeEnum.NOTDEFINED IfcComplexPropertyTemplateTypeEnum = enum_namespace() -p_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'P_COMPLEX', INDETERMINATE) -q_complex = express_getattr(IfcComplexPropertyTemplateTypeEnum, 'Q_COMPLEX', INDETERMINATE) +p_complex = IfcComplexPropertyTemplateTypeEnum.P_COMPLEX +q_complex = IfcComplexPropertyTemplateTypeEnum.Q_COMPLEX IfcCompressorTypeEnum = enum_namespace() -booster = express_getattr(IfcCompressorTypeEnum, 'BOOSTER', INDETERMINATE) -dynamic = express_getattr(IfcCompressorTypeEnum, 'DYNAMIC', INDETERMINATE) -hermetic = express_getattr(IfcCompressorTypeEnum, 'HERMETIC', INDETERMINATE) -opentype = express_getattr(IfcCompressorTypeEnum, 'OPENTYPE', INDETERMINATE) -reciprocating = express_getattr(IfcCompressorTypeEnum, 'RECIPROCATING', INDETERMINATE) -rollingpiston = express_getattr(IfcCompressorTypeEnum, 'ROLLINGPISTON', INDETERMINATE) -rotary = express_getattr(IfcCompressorTypeEnum, 'ROTARY', INDETERMINATE) -rotaryvane = express_getattr(IfcCompressorTypeEnum, 'ROTARYVANE', INDETERMINATE) -scroll = express_getattr(IfcCompressorTypeEnum, 'SCROLL', INDETERMINATE) -semihermetic = express_getattr(IfcCompressorTypeEnum, 'SEMIHERMETIC', INDETERMINATE) -singlescrew = express_getattr(IfcCompressorTypeEnum, 'SINGLESCREW', INDETERMINATE) -singlestage = express_getattr(IfcCompressorTypeEnum, 'SINGLESTAGE', INDETERMINATE) -trochoidal = express_getattr(IfcCompressorTypeEnum, 'TROCHOIDAL', INDETERMINATE) -twinscrew = express_getattr(IfcCompressorTypeEnum, 'TWINSCREW', INDETERMINATE) -weldedshellhermetic = express_getattr(IfcCompressorTypeEnum, 'WELDEDSHELLHERMETIC', INDETERMINATE) -userdefined = express_getattr(IfcCompressorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCompressorTypeEnum, 'NOTDEFINED', INDETERMINATE) +booster = IfcCompressorTypeEnum.BOOSTER +dynamic = IfcCompressorTypeEnum.DYNAMIC +hermetic = IfcCompressorTypeEnum.HERMETIC +opentype = IfcCompressorTypeEnum.OPENTYPE +reciprocating = IfcCompressorTypeEnum.RECIPROCATING +rollingpiston = IfcCompressorTypeEnum.ROLLINGPISTON +rotary = IfcCompressorTypeEnum.ROTARY +rotaryvane = IfcCompressorTypeEnum.ROTARYVANE +scroll = IfcCompressorTypeEnum.SCROLL +semihermetic = IfcCompressorTypeEnum.SEMIHERMETIC +singlescrew = IfcCompressorTypeEnum.SINGLESCREW +singlestage = IfcCompressorTypeEnum.SINGLESTAGE +trochoidal = IfcCompressorTypeEnum.TROCHOIDAL +twinscrew = IfcCompressorTypeEnum.TWINSCREW +weldedshellhermetic = IfcCompressorTypeEnum.WELDEDSHELLHERMETIC +userdefined = IfcCompressorTypeEnum.USERDEFINED +notdefined = IfcCompressorTypeEnum.NOTDEFINED IfcCondenserTypeEnum = enum_namespace() -aircooled = express_getattr(IfcCondenserTypeEnum, 'AIRCOOLED', INDETERMINATE) -evaporativecooled = express_getattr(IfcCondenserTypeEnum, 'EVAPORATIVECOOLED', INDETERMINATE) -watercooled = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLED', INDETERMINATE) -watercooledbrazedplate = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDBRAZEDPLATE', INDETERMINATE) -watercooledshellcoil = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLCOIL', INDETERMINATE) -watercooledshelltube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDSHELLTUBE', INDETERMINATE) -watercooledtubeintube = express_getattr(IfcCondenserTypeEnum, 'WATERCOOLEDTUBEINTUBE', INDETERMINATE) -userdefined = express_getattr(IfcCondenserTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCondenserTypeEnum, 'NOTDEFINED', INDETERMINATE) +aircooled = IfcCondenserTypeEnum.AIRCOOLED +evaporativecooled = IfcCondenserTypeEnum.EVAPORATIVECOOLED +watercooled = IfcCondenserTypeEnum.WATERCOOLED +watercooledbrazedplate = IfcCondenserTypeEnum.WATERCOOLEDBRAZEDPLATE +watercooledshellcoil = IfcCondenserTypeEnum.WATERCOOLEDSHELLCOIL +watercooledshelltube = IfcCondenserTypeEnum.WATERCOOLEDSHELLTUBE +watercooledtubeintube = IfcCondenserTypeEnum.WATERCOOLEDTUBEINTUBE +userdefined = IfcCondenserTypeEnum.USERDEFINED +notdefined = IfcCondenserTypeEnum.NOTDEFINED IfcConnectionTypeEnum = enum_namespace() -atend = express_getattr(IfcConnectionTypeEnum, 'ATEND', INDETERMINATE) -atpath = express_getattr(IfcConnectionTypeEnum, 'ATPATH', INDETERMINATE) -atstart = express_getattr(IfcConnectionTypeEnum, 'ATSTART', INDETERMINATE) -notdefined = express_getattr(IfcConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +atend = IfcConnectionTypeEnum.ATEND +atpath = IfcConnectionTypeEnum.ATPATH +atstart = IfcConnectionTypeEnum.ATSTART +notdefined = IfcConnectionTypeEnum.NOTDEFINED IfcConstraintEnum = enum_namespace() -advisory = express_getattr(IfcConstraintEnum, 'ADVISORY', INDETERMINATE) -hard = express_getattr(IfcConstraintEnum, 'HARD', INDETERMINATE) -soft = express_getattr(IfcConstraintEnum, 'SOFT', INDETERMINATE) -userdefined = express_getattr(IfcConstraintEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstraintEnum, 'NOTDEFINED', INDETERMINATE) +advisory = IfcConstraintEnum.ADVISORY +hard = IfcConstraintEnum.HARD +soft = IfcConstraintEnum.SOFT +userdefined = IfcConstraintEnum.USERDEFINED +notdefined = IfcConstraintEnum.NOTDEFINED IfcConstructionEquipmentResourceTypeEnum = enum_namespace() -demolishing = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'DEMOLISHING', INDETERMINATE) -earthmoving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'EARTHMOVING', INDETERMINATE) -erecting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'ERECTING', INDETERMINATE) -heating = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'LIGHTING', INDETERMINATE) -paving = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PAVING', INDETERMINATE) -pumping = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'PUMPING', INDETERMINATE) -transporting = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'TRANSPORTING', INDETERMINATE) -userdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionEquipmentResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +demolishing = IfcConstructionEquipmentResourceTypeEnum.DEMOLISHING +earthmoving = IfcConstructionEquipmentResourceTypeEnum.EARTHMOVING +erecting = IfcConstructionEquipmentResourceTypeEnum.ERECTING +heating = IfcConstructionEquipmentResourceTypeEnum.HEATING +lighting = IfcConstructionEquipmentResourceTypeEnum.LIGHTING +paving = IfcConstructionEquipmentResourceTypeEnum.PAVING +pumping = IfcConstructionEquipmentResourceTypeEnum.PUMPING +transporting = IfcConstructionEquipmentResourceTypeEnum.TRANSPORTING +userdefined = IfcConstructionEquipmentResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionEquipmentResourceTypeEnum.NOTDEFINED IfcConstructionMaterialResourceTypeEnum = enum_namespace() -aggregates = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'AGGREGATES', INDETERMINATE) -concrete = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'DRYWALL', INDETERMINATE) -fuel = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'FUEL', INDETERMINATE) -gypsum = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'GYPSUM', INDETERMINATE) -masonry = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'MASONRY', INDETERMINATE) -metal = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'METAL', INDETERMINATE) -plastic = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'PLASTIC', INDETERMINATE) -wood = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'WOOD', INDETERMINATE) -userdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionMaterialResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +aggregates = IfcConstructionMaterialResourceTypeEnum.AGGREGATES +concrete = IfcConstructionMaterialResourceTypeEnum.CONCRETE +drywall = IfcConstructionMaterialResourceTypeEnum.DRYWALL +fuel = IfcConstructionMaterialResourceTypeEnum.FUEL +gypsum = IfcConstructionMaterialResourceTypeEnum.GYPSUM +masonry = IfcConstructionMaterialResourceTypeEnum.MASONRY +metal = IfcConstructionMaterialResourceTypeEnum.METAL +plastic = IfcConstructionMaterialResourceTypeEnum.PLASTIC +wood = IfcConstructionMaterialResourceTypeEnum.WOOD +userdefined = IfcConstructionMaterialResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionMaterialResourceTypeEnum.NOTDEFINED IfcConstructionProductResourceTypeEnum = enum_namespace() -assembly = express_getattr(IfcConstructionProductResourceTypeEnum, 'ASSEMBLY', INDETERMINATE) -formwork = express_getattr(IfcConstructionProductResourceTypeEnum, 'FORMWORK', INDETERMINATE) -userdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConstructionProductResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +assembly = IfcConstructionProductResourceTypeEnum.ASSEMBLY +formwork = IfcConstructionProductResourceTypeEnum.FORMWORK +userdefined = IfcConstructionProductResourceTypeEnum.USERDEFINED +notdefined = IfcConstructionProductResourceTypeEnum.NOTDEFINED IfcControllerTypeEnum = enum_namespace() -floating = express_getattr(IfcControllerTypeEnum, 'FLOATING', INDETERMINATE) -multiposition = express_getattr(IfcControllerTypeEnum, 'MULTIPOSITION', INDETERMINATE) -programmable = express_getattr(IfcControllerTypeEnum, 'PROGRAMMABLE', INDETERMINATE) -proportional = express_getattr(IfcControllerTypeEnum, 'PROPORTIONAL', INDETERMINATE) -twoposition = express_getattr(IfcControllerTypeEnum, 'TWOPOSITION', INDETERMINATE) -userdefined = express_getattr(IfcControllerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcControllerTypeEnum, 'NOTDEFINED', INDETERMINATE) +floating = IfcControllerTypeEnum.FLOATING +multiposition = IfcControllerTypeEnum.MULTIPOSITION +programmable = IfcControllerTypeEnum.PROGRAMMABLE +proportional = IfcControllerTypeEnum.PROPORTIONAL +twoposition = IfcControllerTypeEnum.TWOPOSITION +userdefined = IfcControllerTypeEnum.USERDEFINED +notdefined = IfcControllerTypeEnum.NOTDEFINED IfcConveyorSegmentTypeEnum = enum_namespace() -beltconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'BELTCONVEYOR', INDETERMINATE) -bucketconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'BUCKETCONVEYOR', INDETERMINATE) -chuteconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'CHUTECONVEYOR', INDETERMINATE) -screwconveyor = express_getattr(IfcConveyorSegmentTypeEnum, 'SCREWCONVEYOR', INDETERMINATE) -userdefined = express_getattr(IfcConveyorSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcConveyorSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +beltconveyor = IfcConveyorSegmentTypeEnum.BELTCONVEYOR +bucketconveyor = IfcConveyorSegmentTypeEnum.BUCKETCONVEYOR +chuteconveyor = IfcConveyorSegmentTypeEnum.CHUTECONVEYOR +screwconveyor = IfcConveyorSegmentTypeEnum.SCREWCONVEYOR +userdefined = IfcConveyorSegmentTypeEnum.USERDEFINED +notdefined = IfcConveyorSegmentTypeEnum.NOTDEFINED IfcCooledBeamTypeEnum = enum_namespace() -active = express_getattr(IfcCooledBeamTypeEnum, 'ACTIVE', INDETERMINATE) -passive = express_getattr(IfcCooledBeamTypeEnum, 'PASSIVE', INDETERMINATE) -userdefined = express_getattr(IfcCooledBeamTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCooledBeamTypeEnum, 'NOTDEFINED', INDETERMINATE) +active = IfcCooledBeamTypeEnum.ACTIVE +passive = IfcCooledBeamTypeEnum.PASSIVE +userdefined = IfcCooledBeamTypeEnum.USERDEFINED +notdefined = IfcCooledBeamTypeEnum.NOTDEFINED IfcCoolingTowerTypeEnum = enum_namespace() -mechanicalforceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALFORCEDDRAFT', INDETERMINATE) -mechanicalinduceddraft = express_getattr(IfcCoolingTowerTypeEnum, 'MECHANICALINDUCEDDRAFT', INDETERMINATE) -naturaldraft = express_getattr(IfcCoolingTowerTypeEnum, 'NATURALDRAFT', INDETERMINATE) -userdefined = express_getattr(IfcCoolingTowerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoolingTowerTypeEnum, 'NOTDEFINED', INDETERMINATE) +mechanicalforceddraft = IfcCoolingTowerTypeEnum.MECHANICALFORCEDDRAFT +mechanicalinduceddraft = IfcCoolingTowerTypeEnum.MECHANICALINDUCEDDRAFT +naturaldraft = IfcCoolingTowerTypeEnum.NATURALDRAFT +userdefined = IfcCoolingTowerTypeEnum.USERDEFINED +notdefined = IfcCoolingTowerTypeEnum.NOTDEFINED IfcCostItemTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCostItemTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostItemTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCostItemTypeEnum.USERDEFINED +notdefined = IfcCostItemTypeEnum.NOTDEFINED IfcCostScheduleTypeEnum = enum_namespace() -budget = express_getattr(IfcCostScheduleTypeEnum, 'BUDGET', INDETERMINATE) -costplan = express_getattr(IfcCostScheduleTypeEnum, 'COSTPLAN', INDETERMINATE) -estimate = express_getattr(IfcCostScheduleTypeEnum, 'ESTIMATE', INDETERMINATE) -pricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'PRICEDBILLOFQUANTITIES', INDETERMINATE) -scheduleofrates = express_getattr(IfcCostScheduleTypeEnum, 'SCHEDULEOFRATES', INDETERMINATE) -tender = express_getattr(IfcCostScheduleTypeEnum, 'TENDER', INDETERMINATE) -unpricedbillofquantities = express_getattr(IfcCostScheduleTypeEnum, 'UNPRICEDBILLOFQUANTITIES', INDETERMINATE) -userdefined = express_getattr(IfcCostScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCostScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +budget = IfcCostScheduleTypeEnum.BUDGET +costplan = IfcCostScheduleTypeEnum.COSTPLAN +estimate = IfcCostScheduleTypeEnum.ESTIMATE +pricedbillofquantities = IfcCostScheduleTypeEnum.PRICEDBILLOFQUANTITIES +scheduleofrates = IfcCostScheduleTypeEnum.SCHEDULEOFRATES +tender = IfcCostScheduleTypeEnum.TENDER +unpricedbillofquantities = IfcCostScheduleTypeEnum.UNPRICEDBILLOFQUANTITIES +userdefined = IfcCostScheduleTypeEnum.USERDEFINED +notdefined = IfcCostScheduleTypeEnum.NOTDEFINED IfcCourseTypeEnum = enum_namespace() -armour = express_getattr(IfcCourseTypeEnum, 'ARMOUR', INDETERMINATE) -ballastbed = express_getattr(IfcCourseTypeEnum, 'BALLASTBED', INDETERMINATE) -core = express_getattr(IfcCourseTypeEnum, 'CORE', INDETERMINATE) -filter = express_getattr(IfcCourseTypeEnum, 'FILTER', INDETERMINATE) -pavement = express_getattr(IfcCourseTypeEnum, 'PAVEMENT', INDETERMINATE) -protection = express_getattr(IfcCourseTypeEnum, 'PROTECTION', INDETERMINATE) -userdefined = express_getattr(IfcCourseTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCourseTypeEnum, 'NOTDEFINED', INDETERMINATE) +armour = IfcCourseTypeEnum.ARMOUR +ballastbed = IfcCourseTypeEnum.BALLASTBED +core = IfcCourseTypeEnum.CORE +filter = IfcCourseTypeEnum.FILTER +pavement = IfcCourseTypeEnum.PAVEMENT +protection = IfcCourseTypeEnum.PROTECTION +userdefined = IfcCourseTypeEnum.USERDEFINED +notdefined = IfcCourseTypeEnum.NOTDEFINED IfcCoveringTypeEnum = enum_namespace() -ceiling = express_getattr(IfcCoveringTypeEnum, 'CEILING', INDETERMINATE) -cladding = express_getattr(IfcCoveringTypeEnum, 'CLADDING', INDETERMINATE) -coping = express_getattr(IfcCoveringTypeEnum, 'COPING', INDETERMINATE) -flooring = express_getattr(IfcCoveringTypeEnum, 'FLOORING', INDETERMINATE) -insulation = express_getattr(IfcCoveringTypeEnum, 'INSULATION', INDETERMINATE) -membrane = express_getattr(IfcCoveringTypeEnum, 'MEMBRANE', INDETERMINATE) -molding = express_getattr(IfcCoveringTypeEnum, 'MOLDING', INDETERMINATE) -roofing = express_getattr(IfcCoveringTypeEnum, 'ROOFING', INDETERMINATE) -skirtingboard = express_getattr(IfcCoveringTypeEnum, 'SKIRTINGBOARD', INDETERMINATE) -sleeving = express_getattr(IfcCoveringTypeEnum, 'SLEEVING', INDETERMINATE) -topping = express_getattr(IfcCoveringTypeEnum, 'TOPPING', INDETERMINATE) -wrapping = express_getattr(IfcCoveringTypeEnum, 'WRAPPING', INDETERMINATE) -userdefined = express_getattr(IfcCoveringTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCoveringTypeEnum, 'NOTDEFINED', INDETERMINATE) +ceiling = IfcCoveringTypeEnum.CEILING +cladding = IfcCoveringTypeEnum.CLADDING +coping = IfcCoveringTypeEnum.COPING +flooring = IfcCoveringTypeEnum.FLOORING +insulation = IfcCoveringTypeEnum.INSULATION +membrane = IfcCoveringTypeEnum.MEMBRANE +molding = IfcCoveringTypeEnum.MOLDING +roofing = IfcCoveringTypeEnum.ROOFING +skirtingboard = IfcCoveringTypeEnum.SKIRTINGBOARD +sleeving = IfcCoveringTypeEnum.SLEEVING +topping = IfcCoveringTypeEnum.TOPPING +wrapping = IfcCoveringTypeEnum.WRAPPING +userdefined = IfcCoveringTypeEnum.USERDEFINED +notdefined = IfcCoveringTypeEnum.NOTDEFINED IfcCrewResourceTypeEnum = enum_namespace() -office = express_getattr(IfcCrewResourceTypeEnum, 'OFFICE', INDETERMINATE) -site = express_getattr(IfcCrewResourceTypeEnum, 'SITE', INDETERMINATE) -userdefined = express_getattr(IfcCrewResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCrewResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +office = IfcCrewResourceTypeEnum.OFFICE +site = IfcCrewResourceTypeEnum.SITE +userdefined = IfcCrewResourceTypeEnum.USERDEFINED +notdefined = IfcCrewResourceTypeEnum.NOTDEFINED IfcCurtainWallTypeEnum = enum_namespace() -userdefined = express_getattr(IfcCurtainWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcCurtainWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcCurtainWallTypeEnum.USERDEFINED +notdefined = IfcCurtainWallTypeEnum.NOTDEFINED IfcCurveInterpolationEnum = enum_namespace() -linear = express_getattr(IfcCurveInterpolationEnum, 'LINEAR', INDETERMINATE) -log_linear = express_getattr(IfcCurveInterpolationEnum, 'LOG_LINEAR', INDETERMINATE) -log_log = express_getattr(IfcCurveInterpolationEnum, 'LOG_LOG', INDETERMINATE) -notdefined = express_getattr(IfcCurveInterpolationEnum, 'NOTDEFINED', INDETERMINATE) +linear = IfcCurveInterpolationEnum.LINEAR +log_linear = IfcCurveInterpolationEnum.LOG_LINEAR +log_log = IfcCurveInterpolationEnum.LOG_LOG +notdefined = IfcCurveInterpolationEnum.NOTDEFINED IfcDamperTypeEnum = enum_namespace() -backdraftdamper = express_getattr(IfcDamperTypeEnum, 'BACKDRAFTDAMPER', INDETERMINATE) -balancingdamper = express_getattr(IfcDamperTypeEnum, 'BALANCINGDAMPER', INDETERMINATE) -blastdamper = express_getattr(IfcDamperTypeEnum, 'BLASTDAMPER', INDETERMINATE) -controldamper = express_getattr(IfcDamperTypeEnum, 'CONTROLDAMPER', INDETERMINATE) -firedamper = express_getattr(IfcDamperTypeEnum, 'FIREDAMPER', INDETERMINATE) -firesmokedamper = express_getattr(IfcDamperTypeEnum, 'FIRESMOKEDAMPER', INDETERMINATE) -fumehoodexhaust = express_getattr(IfcDamperTypeEnum, 'FUMEHOODEXHAUST', INDETERMINATE) -gravitydamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYDAMPER', INDETERMINATE) -gravityreliefdamper = express_getattr(IfcDamperTypeEnum, 'GRAVITYRELIEFDAMPER', INDETERMINATE) -reliefdamper = express_getattr(IfcDamperTypeEnum, 'RELIEFDAMPER', INDETERMINATE) -smokedamper = express_getattr(IfcDamperTypeEnum, 'SMOKEDAMPER', INDETERMINATE) -userdefined = express_getattr(IfcDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +backdraftdamper = IfcDamperTypeEnum.BACKDRAFTDAMPER +balancingdamper = IfcDamperTypeEnum.BALANCINGDAMPER +blastdamper = IfcDamperTypeEnum.BLASTDAMPER +controldamper = IfcDamperTypeEnum.CONTROLDAMPER +firedamper = IfcDamperTypeEnum.FIREDAMPER +firesmokedamper = IfcDamperTypeEnum.FIRESMOKEDAMPER +fumehoodexhaust = IfcDamperTypeEnum.FUMEHOODEXHAUST +gravitydamper = IfcDamperTypeEnum.GRAVITYDAMPER +gravityreliefdamper = IfcDamperTypeEnum.GRAVITYRELIEFDAMPER +reliefdamper = IfcDamperTypeEnum.RELIEFDAMPER +smokedamper = IfcDamperTypeEnum.SMOKEDAMPER +userdefined = IfcDamperTypeEnum.USERDEFINED +notdefined = IfcDamperTypeEnum.NOTDEFINED IfcDataOriginEnum = enum_namespace() -measured = express_getattr(IfcDataOriginEnum, 'MEASURED', INDETERMINATE) -predicted = express_getattr(IfcDataOriginEnum, 'PREDICTED', INDETERMINATE) -simulated = express_getattr(IfcDataOriginEnum, 'SIMULATED', INDETERMINATE) -userdefined = express_getattr(IfcDataOriginEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDataOriginEnum, 'NOTDEFINED', INDETERMINATE) +measured = IfcDataOriginEnum.MEASURED +predicted = IfcDataOriginEnum.PREDICTED +simulated = IfcDataOriginEnum.SIMULATED +userdefined = IfcDataOriginEnum.USERDEFINED +notdefined = IfcDataOriginEnum.NOTDEFINED IfcDerivedUnitEnum = enum_namespace() -accelerationunit = express_getattr(IfcDerivedUnitEnum, 'ACCELERATIONUNIT', INDETERMINATE) -angularvelocityunit = express_getattr(IfcDerivedUnitEnum, 'ANGULARVELOCITYUNIT', INDETERMINATE) -areadensityunit = express_getattr(IfcDerivedUnitEnum, 'AREADENSITYUNIT', INDETERMINATE) -compoundplaneangleunit = express_getattr(IfcDerivedUnitEnum, 'COMPOUNDPLANEANGLEUNIT', INDETERMINATE) -curvatureunit = express_getattr(IfcDerivedUnitEnum, 'CURVATUREUNIT', INDETERMINATE) -dynamicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'DYNAMICVISCOSITYUNIT', INDETERMINATE) -heatfluxdensityunit = express_getattr(IfcDerivedUnitEnum, 'HEATFLUXDENSITYUNIT', INDETERMINATE) -heatingvalueunit = express_getattr(IfcDerivedUnitEnum, 'HEATINGVALUEUNIT', INDETERMINATE) -integercountrateunit = express_getattr(IfcDerivedUnitEnum, 'INTEGERCOUNTRATEUNIT', INDETERMINATE) -ionconcentrationunit = express_getattr(IfcDerivedUnitEnum, 'IONCONCENTRATIONUNIT', INDETERMINATE) -isothermalmoisturecapacityunit = express_getattr(IfcDerivedUnitEnum, 'ISOTHERMALMOISTURECAPACITYUNIT', INDETERMINATE) -kinematicviscosityunit = express_getattr(IfcDerivedUnitEnum, 'KINEMATICVISCOSITYUNIT', INDETERMINATE) -linearforceunit = express_getattr(IfcDerivedUnitEnum, 'LINEARFORCEUNIT', INDETERMINATE) -linearmomentunit = express_getattr(IfcDerivedUnitEnum, 'LINEARMOMENTUNIT', INDETERMINATE) -linearstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'LINEARSTIFFNESSUNIT', INDETERMINATE) -linearvelocityunit = express_getattr(IfcDerivedUnitEnum, 'LINEARVELOCITYUNIT', INDETERMINATE) -luminousintensitydistributionunit = express_getattr(IfcDerivedUnitEnum, 'LUMINOUSINTENSITYDISTRIBUTIONUNIT', INDETERMINATE) -massdensityunit = express_getattr(IfcDerivedUnitEnum, 'MASSDENSITYUNIT', INDETERMINATE) -massflowrateunit = express_getattr(IfcDerivedUnitEnum, 'MASSFLOWRATEUNIT', INDETERMINATE) -massperlengthunit = express_getattr(IfcDerivedUnitEnum, 'MASSPERLENGTHUNIT', INDETERMINATE) -modulusofelasticityunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFELASTICITYUNIT', INDETERMINATE) -modulusoflinearsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFLINEARSUBGRADEREACTIONUNIT', INDETERMINATE) -modulusofrotationalsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFROTATIONALSUBGRADEREACTIONUNIT', INDETERMINATE) -modulusofsubgradereactionunit = express_getattr(IfcDerivedUnitEnum, 'MODULUSOFSUBGRADEREACTIONUNIT', INDETERMINATE) -moisturediffusivityunit = express_getattr(IfcDerivedUnitEnum, 'MOISTUREDIFFUSIVITYUNIT', INDETERMINATE) -molecularweightunit = express_getattr(IfcDerivedUnitEnum, 'MOLECULARWEIGHTUNIT', INDETERMINATE) -momentofinertiaunit = express_getattr(IfcDerivedUnitEnum, 'MOMENTOFINERTIAUNIT', INDETERMINATE) -phunit = express_getattr(IfcDerivedUnitEnum, 'PHUNIT', INDETERMINATE) -planarforceunit = express_getattr(IfcDerivedUnitEnum, 'PLANARFORCEUNIT', INDETERMINATE) -rotationalfrequencyunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALFREQUENCYUNIT', INDETERMINATE) -rotationalmassunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALMASSUNIT', INDETERMINATE) -rotationalstiffnessunit = express_getattr(IfcDerivedUnitEnum, 'ROTATIONALSTIFFNESSUNIT', INDETERMINATE) -sectionareaintegralunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONAREAINTEGRALUNIT', INDETERMINATE) -sectionmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SECTIONMODULUSUNIT', INDETERMINATE) -shearmodulusunit = express_getattr(IfcDerivedUnitEnum, 'SHEARMODULUSUNIT', INDETERMINATE) -soundpowerlevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERLEVELUNIT', INDETERMINATE) -soundpowerunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPOWERUNIT', INDETERMINATE) -soundpressurelevelunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSURELEVELUNIT', INDETERMINATE) -soundpressureunit = express_getattr(IfcDerivedUnitEnum, 'SOUNDPRESSUREUNIT', INDETERMINATE) -specificheatcapacityunit = express_getattr(IfcDerivedUnitEnum, 'SPECIFICHEATCAPACITYUNIT', INDETERMINATE) -temperaturegradientunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATUREGRADIENTUNIT', INDETERMINATE) -temperaturerateofchangeunit = express_getattr(IfcDerivedUnitEnum, 'TEMPERATURERATEOFCHANGEUNIT', INDETERMINATE) -thermaladmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALADMITTANCEUNIT', INDETERMINATE) -thermalconductanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALCONDUCTANCEUNIT', INDETERMINATE) -thermalexpansioncoefficientunit = express_getattr(IfcDerivedUnitEnum, 'THERMALEXPANSIONCOEFFICIENTUNIT', INDETERMINATE) -thermalresistanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALRESISTANCEUNIT', INDETERMINATE) -thermaltransmittanceunit = express_getattr(IfcDerivedUnitEnum, 'THERMALTRANSMITTANCEUNIT', INDETERMINATE) -torqueunit = express_getattr(IfcDerivedUnitEnum, 'TORQUEUNIT', INDETERMINATE) -vaporpermeabilityunit = express_getattr(IfcDerivedUnitEnum, 'VAPORPERMEABILITYUNIT', INDETERMINATE) -volumetricflowrateunit = express_getattr(IfcDerivedUnitEnum, 'VOLUMETRICFLOWRATEUNIT', INDETERMINATE) -warpingconstantunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGCONSTANTUNIT', INDETERMINATE) -warpingmomentunit = express_getattr(IfcDerivedUnitEnum, 'WARPINGMOMENTUNIT', INDETERMINATE) -userdefined = express_getattr(IfcDerivedUnitEnum, 'USERDEFINED', INDETERMINATE) +accelerationunit = IfcDerivedUnitEnum.ACCELERATIONUNIT +angularvelocityunit = IfcDerivedUnitEnum.ANGULARVELOCITYUNIT +areadensityunit = IfcDerivedUnitEnum.AREADENSITYUNIT +compoundplaneangleunit = IfcDerivedUnitEnum.COMPOUNDPLANEANGLEUNIT +curvatureunit = IfcDerivedUnitEnum.CURVATUREUNIT +dynamicviscosityunit = IfcDerivedUnitEnum.DYNAMICVISCOSITYUNIT +heatfluxdensityunit = IfcDerivedUnitEnum.HEATFLUXDENSITYUNIT +heatingvalueunit = IfcDerivedUnitEnum.HEATINGVALUEUNIT +integercountrateunit = IfcDerivedUnitEnum.INTEGERCOUNTRATEUNIT +ionconcentrationunit = IfcDerivedUnitEnum.IONCONCENTRATIONUNIT +isothermalmoisturecapacityunit = IfcDerivedUnitEnum.ISOTHERMALMOISTURECAPACITYUNIT +kinematicviscosityunit = IfcDerivedUnitEnum.KINEMATICVISCOSITYUNIT +linearforceunit = IfcDerivedUnitEnum.LINEARFORCEUNIT +linearmomentunit = IfcDerivedUnitEnum.LINEARMOMENTUNIT +linearstiffnessunit = IfcDerivedUnitEnum.LINEARSTIFFNESSUNIT +linearvelocityunit = IfcDerivedUnitEnum.LINEARVELOCITYUNIT +luminousintensitydistributionunit = IfcDerivedUnitEnum.LUMINOUSINTENSITYDISTRIBUTIONUNIT +massdensityunit = IfcDerivedUnitEnum.MASSDENSITYUNIT +massflowrateunit = IfcDerivedUnitEnum.MASSFLOWRATEUNIT +massperlengthunit = IfcDerivedUnitEnum.MASSPERLENGTHUNIT +modulusofelasticityunit = IfcDerivedUnitEnum.MODULUSOFELASTICITYUNIT +modulusoflinearsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFLINEARSUBGRADEREACTIONUNIT +modulusofrotationalsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT +modulusofsubgradereactionunit = IfcDerivedUnitEnum.MODULUSOFSUBGRADEREACTIONUNIT +moisturediffusivityunit = IfcDerivedUnitEnum.MOISTUREDIFFUSIVITYUNIT +molecularweightunit = IfcDerivedUnitEnum.MOLECULARWEIGHTUNIT +momentofinertiaunit = IfcDerivedUnitEnum.MOMENTOFINERTIAUNIT +phunit = IfcDerivedUnitEnum.PHUNIT +planarforceunit = IfcDerivedUnitEnum.PLANARFORCEUNIT +rotationalfrequencyunit = IfcDerivedUnitEnum.ROTATIONALFREQUENCYUNIT +rotationalmassunit = IfcDerivedUnitEnum.ROTATIONALMASSUNIT +rotationalstiffnessunit = IfcDerivedUnitEnum.ROTATIONALSTIFFNESSUNIT +sectionareaintegralunit = IfcDerivedUnitEnum.SECTIONAREAINTEGRALUNIT +sectionmodulusunit = IfcDerivedUnitEnum.SECTIONMODULUSUNIT +shearmodulusunit = IfcDerivedUnitEnum.SHEARMODULUSUNIT +soundpowerlevelunit = IfcDerivedUnitEnum.SOUNDPOWERLEVELUNIT +soundpowerunit = IfcDerivedUnitEnum.SOUNDPOWERUNIT +soundpressurelevelunit = IfcDerivedUnitEnum.SOUNDPRESSURELEVELUNIT +soundpressureunit = IfcDerivedUnitEnum.SOUNDPRESSUREUNIT +specificheatcapacityunit = IfcDerivedUnitEnum.SPECIFICHEATCAPACITYUNIT +temperaturegradientunit = IfcDerivedUnitEnum.TEMPERATUREGRADIENTUNIT +temperaturerateofchangeunit = IfcDerivedUnitEnum.TEMPERATURERATEOFCHANGEUNIT +thermaladmittanceunit = IfcDerivedUnitEnum.THERMALADMITTANCEUNIT +thermalconductanceunit = IfcDerivedUnitEnum.THERMALCONDUCTANCEUNIT +thermalexpansioncoefficientunit = IfcDerivedUnitEnum.THERMALEXPANSIONCOEFFICIENTUNIT +thermalresistanceunit = IfcDerivedUnitEnum.THERMALRESISTANCEUNIT +thermaltransmittanceunit = IfcDerivedUnitEnum.THERMALTRANSMITTANCEUNIT +torqueunit = IfcDerivedUnitEnum.TORQUEUNIT +vaporpermeabilityunit = IfcDerivedUnitEnum.VAPORPERMEABILITYUNIT +volumetricflowrateunit = IfcDerivedUnitEnum.VOLUMETRICFLOWRATEUNIT +warpingconstantunit = IfcDerivedUnitEnum.WARPINGCONSTANTUNIT +warpingmomentunit = IfcDerivedUnitEnum.WARPINGMOMENTUNIT +userdefined = IfcDerivedUnitEnum.USERDEFINED IfcDirectionSenseEnum = enum_namespace() -negative = express_getattr(IfcDirectionSenseEnum, 'NEGATIVE', INDETERMINATE) -positive = express_getattr(IfcDirectionSenseEnum, 'POSITIVE', INDETERMINATE) +negative = IfcDirectionSenseEnum.NEGATIVE +positive = IfcDirectionSenseEnum.POSITIVE IfcDiscreteAccessoryTypeEnum = enum_namespace() -anchorplate = express_getattr(IfcDiscreteAccessoryTypeEnum, 'ANCHORPLATE', INDETERMINATE) -birdprotection = express_getattr(IfcDiscreteAccessoryTypeEnum, 'BIRDPROTECTION', INDETERMINATE) -bracket = express_getattr(IfcDiscreteAccessoryTypeEnum, 'BRACKET', INDETERMINATE) -cablearranger = express_getattr(IfcDiscreteAccessoryTypeEnum, 'CABLEARRANGER', INDETERMINATE) -elastic_cushion = express_getattr(IfcDiscreteAccessoryTypeEnum, 'ELASTIC_CUSHION', INDETERMINATE) -expansion_joint_device = express_getattr(IfcDiscreteAccessoryTypeEnum, 'EXPANSION_JOINT_DEVICE', INDETERMINATE) -filler = express_getattr(IfcDiscreteAccessoryTypeEnum, 'FILLER', INDETERMINATE) -flashing = express_getattr(IfcDiscreteAccessoryTypeEnum, 'FLASHING', INDETERMINATE) -insulator = express_getattr(IfcDiscreteAccessoryTypeEnum, 'INSULATOR', INDETERMINATE) -lock = express_getattr(IfcDiscreteAccessoryTypeEnum, 'LOCK', INDETERMINATE) -panel_strengthening = express_getattr(IfcDiscreteAccessoryTypeEnum, 'PANEL_STRENGTHENING', INDETERMINATE) -pointmachinemountingdevice = express_getattr(IfcDiscreteAccessoryTypeEnum, 'POINTMACHINEMOUNTINGDEVICE', INDETERMINATE) -point_machine_locking_device = express_getattr(IfcDiscreteAccessoryTypeEnum, 'POINT_MACHINE_LOCKING_DEVICE', INDETERMINATE) -railbrace = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAILBRACE', INDETERMINATE) -railpad = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAILPAD', INDETERMINATE) -rail_lubrication = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAIL_LUBRICATION', INDETERMINATE) -rail_mechanical_equipment = express_getattr(IfcDiscreteAccessoryTypeEnum, 'RAIL_MECHANICAL_EQUIPMENT', INDETERMINATE) -shoe = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SHOE', INDETERMINATE) -slidingchair = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SLIDINGCHAIR', INDETERMINATE) -soundabsorption = express_getattr(IfcDiscreteAccessoryTypeEnum, 'SOUNDABSORPTION', INDETERMINATE) -tensioningequipment = express_getattr(IfcDiscreteAccessoryTypeEnum, 'TENSIONINGEQUIPMENT', INDETERMINATE) -userdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDiscreteAccessoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorplate = IfcDiscreteAccessoryTypeEnum.ANCHORPLATE +birdprotection = IfcDiscreteAccessoryTypeEnum.BIRDPROTECTION +bracket = IfcDiscreteAccessoryTypeEnum.BRACKET +cablearranger = IfcDiscreteAccessoryTypeEnum.CABLEARRANGER +elastic_cushion = IfcDiscreteAccessoryTypeEnum.ELASTIC_CUSHION +expansion_joint_device = IfcDiscreteAccessoryTypeEnum.EXPANSION_JOINT_DEVICE +filler = IfcDiscreteAccessoryTypeEnum.FILLER +flashing = IfcDiscreteAccessoryTypeEnum.FLASHING +insulator = IfcDiscreteAccessoryTypeEnum.INSULATOR +lock = IfcDiscreteAccessoryTypeEnum.LOCK +panel_strengthening = IfcDiscreteAccessoryTypeEnum.PANEL_STRENGTHENING +pointmachinemountingdevice = IfcDiscreteAccessoryTypeEnum.POINTMACHINEMOUNTINGDEVICE +point_machine_locking_device = IfcDiscreteAccessoryTypeEnum.POINT_MACHINE_LOCKING_DEVICE +railbrace = IfcDiscreteAccessoryTypeEnum.RAILBRACE +railpad = IfcDiscreteAccessoryTypeEnum.RAILPAD +rail_lubrication = IfcDiscreteAccessoryTypeEnum.RAIL_LUBRICATION +rail_mechanical_equipment = IfcDiscreteAccessoryTypeEnum.RAIL_MECHANICAL_EQUIPMENT +shoe = IfcDiscreteAccessoryTypeEnum.SHOE +slidingchair = IfcDiscreteAccessoryTypeEnum.SLIDINGCHAIR +soundabsorption = IfcDiscreteAccessoryTypeEnum.SOUNDABSORPTION +tensioningequipment = IfcDiscreteAccessoryTypeEnum.TENSIONINGEQUIPMENT +userdefined = IfcDiscreteAccessoryTypeEnum.USERDEFINED +notdefined = IfcDiscreteAccessoryTypeEnum.NOTDEFINED IfcDistributionBoardTypeEnum = enum_namespace() -consumerunit = express_getattr(IfcDistributionBoardTypeEnum, 'CONSUMERUNIT', INDETERMINATE) -dispatchingboard = express_getattr(IfcDistributionBoardTypeEnum, 'DISPATCHINGBOARD', INDETERMINATE) -distributionboard = express_getattr(IfcDistributionBoardTypeEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -distributionframe = express_getattr(IfcDistributionBoardTypeEnum, 'DISTRIBUTIONFRAME', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcDistributionBoardTypeEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -switchboard = express_getattr(IfcDistributionBoardTypeEnum, 'SWITCHBOARD', INDETERMINATE) -userdefined = express_getattr(IfcDistributionBoardTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionBoardTypeEnum, 'NOTDEFINED', INDETERMINATE) +consumerunit = IfcDistributionBoardTypeEnum.CONSUMERUNIT +dispatchingboard = IfcDistributionBoardTypeEnum.DISPATCHINGBOARD +distributionboard = IfcDistributionBoardTypeEnum.DISTRIBUTIONBOARD +distributionframe = IfcDistributionBoardTypeEnum.DISTRIBUTIONFRAME +motorcontrolcentre = IfcDistributionBoardTypeEnum.MOTORCONTROLCENTRE +switchboard = IfcDistributionBoardTypeEnum.SWITCHBOARD +userdefined = IfcDistributionBoardTypeEnum.USERDEFINED +notdefined = IfcDistributionBoardTypeEnum.NOTDEFINED IfcDistributionChamberElementTypeEnum = enum_namespace() -formedduct = express_getattr(IfcDistributionChamberElementTypeEnum, 'FORMEDDUCT', INDETERMINATE) -inspectionchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONCHAMBER', INDETERMINATE) -inspectionpit = express_getattr(IfcDistributionChamberElementTypeEnum, 'INSPECTIONPIT', INDETERMINATE) -manhole = express_getattr(IfcDistributionChamberElementTypeEnum, 'MANHOLE', INDETERMINATE) -meterchamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'METERCHAMBER', INDETERMINATE) -sump = express_getattr(IfcDistributionChamberElementTypeEnum, 'SUMP', INDETERMINATE) -trench = express_getattr(IfcDistributionChamberElementTypeEnum, 'TRENCH', INDETERMINATE) -valvechamber = express_getattr(IfcDistributionChamberElementTypeEnum, 'VALVECHAMBER', INDETERMINATE) -userdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionChamberElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +formedduct = IfcDistributionChamberElementTypeEnum.FORMEDDUCT +inspectionchamber = IfcDistributionChamberElementTypeEnum.INSPECTIONCHAMBER +inspectionpit = IfcDistributionChamberElementTypeEnum.INSPECTIONPIT +manhole = IfcDistributionChamberElementTypeEnum.MANHOLE +meterchamber = IfcDistributionChamberElementTypeEnum.METERCHAMBER +sump = IfcDistributionChamberElementTypeEnum.SUMP +trench = IfcDistributionChamberElementTypeEnum.TRENCH +valvechamber = IfcDistributionChamberElementTypeEnum.VALVECHAMBER +userdefined = IfcDistributionChamberElementTypeEnum.USERDEFINED +notdefined = IfcDistributionChamberElementTypeEnum.NOTDEFINED IfcDistributionPortTypeEnum = enum_namespace() -cable = express_getattr(IfcDistributionPortTypeEnum, 'CABLE', INDETERMINATE) -cablecarrier = express_getattr(IfcDistributionPortTypeEnum, 'CABLECARRIER', INDETERMINATE) -duct = express_getattr(IfcDistributionPortTypeEnum, 'DUCT', INDETERMINATE) -pipe = express_getattr(IfcDistributionPortTypeEnum, 'PIPE', INDETERMINATE) -wireless = express_getattr(IfcDistributionPortTypeEnum, 'WIRELESS', INDETERMINATE) -userdefined = express_getattr(IfcDistributionPortTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionPortTypeEnum, 'NOTDEFINED', INDETERMINATE) +cable = IfcDistributionPortTypeEnum.CABLE +cablecarrier = IfcDistributionPortTypeEnum.CABLECARRIER +duct = IfcDistributionPortTypeEnum.DUCT +pipe = IfcDistributionPortTypeEnum.PIPE +wireless = IfcDistributionPortTypeEnum.WIRELESS +userdefined = IfcDistributionPortTypeEnum.USERDEFINED +notdefined = IfcDistributionPortTypeEnum.NOTDEFINED IfcDistributionSystemEnum = enum_namespace() -airconditioning = express_getattr(IfcDistributionSystemEnum, 'AIRCONDITIONING', INDETERMINATE) -audiovisual = express_getattr(IfcDistributionSystemEnum, 'AUDIOVISUAL', INDETERMINATE) -catenary_system = express_getattr(IfcDistributionSystemEnum, 'CATENARY_SYSTEM', INDETERMINATE) -chemical = express_getattr(IfcDistributionSystemEnum, 'CHEMICAL', INDETERMINATE) -chilledwater = express_getattr(IfcDistributionSystemEnum, 'CHILLEDWATER', INDETERMINATE) -communication = express_getattr(IfcDistributionSystemEnum, 'COMMUNICATION', INDETERMINATE) -compressedair = express_getattr(IfcDistributionSystemEnum, 'COMPRESSEDAIR', INDETERMINATE) -condenserwater = express_getattr(IfcDistributionSystemEnum, 'CONDENSERWATER', INDETERMINATE) -control = express_getattr(IfcDistributionSystemEnum, 'CONTROL', INDETERMINATE) -conveying = express_getattr(IfcDistributionSystemEnum, 'CONVEYING', INDETERMINATE) -data = express_getattr(IfcDistributionSystemEnum, 'DATA', INDETERMINATE) -disposal = express_getattr(IfcDistributionSystemEnum, 'DISPOSAL', INDETERMINATE) -domesticcoldwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICCOLDWATER', INDETERMINATE) -domestichotwater = express_getattr(IfcDistributionSystemEnum, 'DOMESTICHOTWATER', INDETERMINATE) -drainage = express_getattr(IfcDistributionSystemEnum, 'DRAINAGE', INDETERMINATE) -earthing = express_getattr(IfcDistributionSystemEnum, 'EARTHING', INDETERMINATE) -electrical = express_getattr(IfcDistributionSystemEnum, 'ELECTRICAL', INDETERMINATE) -electroacoustic = express_getattr(IfcDistributionSystemEnum, 'ELECTROACOUSTIC', INDETERMINATE) -exhaust = express_getattr(IfcDistributionSystemEnum, 'EXHAUST', INDETERMINATE) -fireprotection = express_getattr(IfcDistributionSystemEnum, 'FIREPROTECTION', INDETERMINATE) -fixedtransmissionnetwork = express_getattr(IfcDistributionSystemEnum, 'FIXEDTRANSMISSIONNETWORK', INDETERMINATE) -fuel = express_getattr(IfcDistributionSystemEnum, 'FUEL', INDETERMINATE) -gas = express_getattr(IfcDistributionSystemEnum, 'GAS', INDETERMINATE) -hazardous = express_getattr(IfcDistributionSystemEnum, 'HAZARDOUS', INDETERMINATE) -heating = express_getattr(IfcDistributionSystemEnum, 'HEATING', INDETERMINATE) -lighting = express_getattr(IfcDistributionSystemEnum, 'LIGHTING', INDETERMINATE) -lightningprotection = express_getattr(IfcDistributionSystemEnum, 'LIGHTNINGPROTECTION', INDETERMINATE) -mobilenetwork = express_getattr(IfcDistributionSystemEnum, 'MOBILENETWORK', INDETERMINATE) -monitoringsystem = express_getattr(IfcDistributionSystemEnum, 'MONITORINGSYSTEM', INDETERMINATE) -municipalsolidwaste = express_getattr(IfcDistributionSystemEnum, 'MUNICIPALSOLIDWASTE', INDETERMINATE) -oil = express_getattr(IfcDistributionSystemEnum, 'OIL', INDETERMINATE) -operational = express_getattr(IfcDistributionSystemEnum, 'OPERATIONAL', INDETERMINATE) -operationaltelephonysystem = express_getattr(IfcDistributionSystemEnum, 'OPERATIONALTELEPHONYSYSTEM', INDETERMINATE) -overhead_contactline_system = express_getattr(IfcDistributionSystemEnum, 'OVERHEAD_CONTACTLINE_SYSTEM', INDETERMINATE) -powergeneration = express_getattr(IfcDistributionSystemEnum, 'POWERGENERATION', INDETERMINATE) -rainwater = express_getattr(IfcDistributionSystemEnum, 'RAINWATER', INDETERMINATE) -refrigeration = express_getattr(IfcDistributionSystemEnum, 'REFRIGERATION', INDETERMINATE) -return_circuit = express_getattr(IfcDistributionSystemEnum, 'RETURN_CIRCUIT', INDETERMINATE) -security = express_getattr(IfcDistributionSystemEnum, 'SECURITY', INDETERMINATE) -sewage = express_getattr(IfcDistributionSystemEnum, 'SEWAGE', INDETERMINATE) -signal = express_getattr(IfcDistributionSystemEnum, 'SIGNAL', INDETERMINATE) -stormwater = express_getattr(IfcDistributionSystemEnum, 'STORMWATER', INDETERMINATE) -telephone = express_getattr(IfcDistributionSystemEnum, 'TELEPHONE', INDETERMINATE) -tv = express_getattr(IfcDistributionSystemEnum, 'TV', INDETERMINATE) -vacuum = express_getattr(IfcDistributionSystemEnum, 'VACUUM', INDETERMINATE) -vent = express_getattr(IfcDistributionSystemEnum, 'VENT', INDETERMINATE) -ventilation = express_getattr(IfcDistributionSystemEnum, 'VENTILATION', INDETERMINATE) -wastewater = express_getattr(IfcDistributionSystemEnum, 'WASTEWATER', INDETERMINATE) -watersupply = express_getattr(IfcDistributionSystemEnum, 'WATERSUPPLY', INDETERMINATE) -userdefined = express_getattr(IfcDistributionSystemEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDistributionSystemEnum, 'NOTDEFINED', INDETERMINATE) +airconditioning = IfcDistributionSystemEnum.AIRCONDITIONING +audiovisual = IfcDistributionSystemEnum.AUDIOVISUAL +catenary_system = IfcDistributionSystemEnum.CATENARY_SYSTEM +chemical = IfcDistributionSystemEnum.CHEMICAL +chilledwater = IfcDistributionSystemEnum.CHILLEDWATER +communication = IfcDistributionSystemEnum.COMMUNICATION +compressedair = IfcDistributionSystemEnum.COMPRESSEDAIR +condenserwater = IfcDistributionSystemEnum.CONDENSERWATER +control = IfcDistributionSystemEnum.CONTROL +conveying = IfcDistributionSystemEnum.CONVEYING +data = IfcDistributionSystemEnum.DATA +disposal = IfcDistributionSystemEnum.DISPOSAL +domesticcoldwater = IfcDistributionSystemEnum.DOMESTICCOLDWATER +domestichotwater = IfcDistributionSystemEnum.DOMESTICHOTWATER +drainage = IfcDistributionSystemEnum.DRAINAGE +earthing = IfcDistributionSystemEnum.EARTHING +electrical = IfcDistributionSystemEnum.ELECTRICAL +electroacoustic = IfcDistributionSystemEnum.ELECTROACOUSTIC +exhaust = IfcDistributionSystemEnum.EXHAUST +fireprotection = IfcDistributionSystemEnum.FIREPROTECTION +fixedtransmissionnetwork = IfcDistributionSystemEnum.FIXEDTRANSMISSIONNETWORK +fuel = IfcDistributionSystemEnum.FUEL +gas = IfcDistributionSystemEnum.GAS +hazardous = IfcDistributionSystemEnum.HAZARDOUS +heating = IfcDistributionSystemEnum.HEATING +lighting = IfcDistributionSystemEnum.LIGHTING +lightningprotection = IfcDistributionSystemEnum.LIGHTNINGPROTECTION +mobilenetwork = IfcDistributionSystemEnum.MOBILENETWORK +monitoringsystem = IfcDistributionSystemEnum.MONITORINGSYSTEM +municipalsolidwaste = IfcDistributionSystemEnum.MUNICIPALSOLIDWASTE +oil = IfcDistributionSystemEnum.OIL +operational = IfcDistributionSystemEnum.OPERATIONAL +operationaltelephonysystem = IfcDistributionSystemEnum.OPERATIONALTELEPHONYSYSTEM +overhead_contactline_system = IfcDistributionSystemEnum.OVERHEAD_CONTACTLINE_SYSTEM +powergeneration = IfcDistributionSystemEnum.POWERGENERATION +rainwater = IfcDistributionSystemEnum.RAINWATER +refrigeration = IfcDistributionSystemEnum.REFRIGERATION +return_circuit = IfcDistributionSystemEnum.RETURN_CIRCUIT +security = IfcDistributionSystemEnum.SECURITY +sewage = IfcDistributionSystemEnum.SEWAGE +signal = IfcDistributionSystemEnum.SIGNAL +stormwater = IfcDistributionSystemEnum.STORMWATER +telephone = IfcDistributionSystemEnum.TELEPHONE +tv = IfcDistributionSystemEnum.TV +vacuum = IfcDistributionSystemEnum.VACUUM +vent = IfcDistributionSystemEnum.VENT +ventilation = IfcDistributionSystemEnum.VENTILATION +wastewater = IfcDistributionSystemEnum.WASTEWATER +watersupply = IfcDistributionSystemEnum.WATERSUPPLY +userdefined = IfcDistributionSystemEnum.USERDEFINED +notdefined = IfcDistributionSystemEnum.NOTDEFINED IfcDocumentConfidentialityEnum = enum_namespace() -confidential = express_getattr(IfcDocumentConfidentialityEnum, 'CONFIDENTIAL', INDETERMINATE) -personal = express_getattr(IfcDocumentConfidentialityEnum, 'PERSONAL', INDETERMINATE) -public = express_getattr(IfcDocumentConfidentialityEnum, 'PUBLIC', INDETERMINATE) -restricted = express_getattr(IfcDocumentConfidentialityEnum, 'RESTRICTED', INDETERMINATE) -userdefined = express_getattr(IfcDocumentConfidentialityEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDocumentConfidentialityEnum, 'NOTDEFINED', INDETERMINATE) +confidential = IfcDocumentConfidentialityEnum.CONFIDENTIAL +personal = IfcDocumentConfidentialityEnum.PERSONAL +public = IfcDocumentConfidentialityEnum.PUBLIC +restricted = IfcDocumentConfidentialityEnum.RESTRICTED +userdefined = IfcDocumentConfidentialityEnum.USERDEFINED +notdefined = IfcDocumentConfidentialityEnum.NOTDEFINED IfcDocumentStatusEnum = enum_namespace() -draft = express_getattr(IfcDocumentStatusEnum, 'DRAFT', INDETERMINATE) -final = express_getattr(IfcDocumentStatusEnum, 'FINAL', INDETERMINATE) -finaldraft = express_getattr(IfcDocumentStatusEnum, 'FINALDRAFT', INDETERMINATE) -revision = express_getattr(IfcDocumentStatusEnum, 'REVISION', INDETERMINATE) -notdefined = express_getattr(IfcDocumentStatusEnum, 'NOTDEFINED', INDETERMINATE) +draft = IfcDocumentStatusEnum.DRAFT +final = IfcDocumentStatusEnum.FINAL +finaldraft = IfcDocumentStatusEnum.FINALDRAFT +revision = IfcDocumentStatusEnum.REVISION +notdefined = IfcDocumentStatusEnum.NOTDEFINED IfcDoorPanelOperationEnum = enum_namespace() -double_acting = express_getattr(IfcDoorPanelOperationEnum, 'DOUBLE_ACTING', INDETERMINATE) -fixedpanel = express_getattr(IfcDoorPanelOperationEnum, 'FIXEDPANEL', INDETERMINATE) -folding = express_getattr(IfcDoorPanelOperationEnum, 'FOLDING', INDETERMINATE) -revolving = express_getattr(IfcDoorPanelOperationEnum, 'REVOLVING', INDETERMINATE) -rollingup = express_getattr(IfcDoorPanelOperationEnum, 'ROLLINGUP', INDETERMINATE) -sliding = express_getattr(IfcDoorPanelOperationEnum, 'SLIDING', INDETERMINATE) -swinging = express_getattr(IfcDoorPanelOperationEnum, 'SWINGING', INDETERMINATE) -userdefined = express_getattr(IfcDoorPanelOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +double_acting = IfcDoorPanelOperationEnum.DOUBLE_ACTING +fixedpanel = IfcDoorPanelOperationEnum.FIXEDPANEL +folding = IfcDoorPanelOperationEnum.FOLDING +revolving = IfcDoorPanelOperationEnum.REVOLVING +rollingup = IfcDoorPanelOperationEnum.ROLLINGUP +sliding = IfcDoorPanelOperationEnum.SLIDING +swinging = IfcDoorPanelOperationEnum.SWINGING +userdefined = IfcDoorPanelOperationEnum.USERDEFINED +notdefined = IfcDoorPanelOperationEnum.NOTDEFINED IfcDoorPanelPositionEnum = enum_namespace() -left = express_getattr(IfcDoorPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcDoorPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcDoorPanelPositionEnum, 'RIGHT', INDETERMINATE) -notdefined = express_getattr(IfcDoorPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +left = IfcDoorPanelPositionEnum.LEFT +middle = IfcDoorPanelPositionEnum.MIDDLE +right = IfcDoorPanelPositionEnum.RIGHT +notdefined = IfcDoorPanelPositionEnum.NOTDEFINED IfcDoorTypeEnum = enum_namespace() -boom_barrier = express_getattr(IfcDoorTypeEnum, 'BOOM_BARRIER', INDETERMINATE) -door = express_getattr(IfcDoorTypeEnum, 'DOOR', INDETERMINATE) -gate = express_getattr(IfcDoorTypeEnum, 'GATE', INDETERMINATE) -trapdoor = express_getattr(IfcDoorTypeEnum, 'TRAPDOOR', INDETERMINATE) -turnstile = express_getattr(IfcDoorTypeEnum, 'TURNSTILE', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeEnum, 'NOTDEFINED', INDETERMINATE) +boom_barrier = IfcDoorTypeEnum.BOOM_BARRIER +door = IfcDoorTypeEnum.DOOR +gate = IfcDoorTypeEnum.GATE +trapdoor = IfcDoorTypeEnum.TRAPDOOR +turnstile = IfcDoorTypeEnum.TURNSTILE +userdefined = IfcDoorTypeEnum.USERDEFINED +notdefined = IfcDoorTypeEnum.NOTDEFINED IfcDoorTypeOperationEnum = enum_namespace() -double_door_double_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_DOUBLE_SWING', INDETERMINATE) -double_door_folding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_FOLDING', INDETERMINATE) -double_door_lifting_vertical = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_LIFTING_VERTICAL', INDETERMINATE) -double_door_single_swing = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING', INDETERMINATE) -double_door_single_swing_opposite_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT', INDETERMINATE) -double_door_single_swing_opposite_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT', INDETERMINATE) -double_door_sliding = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_DOOR_SLIDING', INDETERMINATE) -double_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_LEFT', INDETERMINATE) -double_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'DOUBLE_SWING_RIGHT', INDETERMINATE) -folding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_LEFT', INDETERMINATE) -folding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'FOLDING_TO_RIGHT', INDETERMINATE) -lifting_horizontal = express_getattr(IfcDoorTypeOperationEnum, 'LIFTING_HORIZONTAL', INDETERMINATE) -lifting_vertical_left = express_getattr(IfcDoorTypeOperationEnum, 'LIFTING_VERTICAL_LEFT', INDETERMINATE) -lifting_vertical_right = express_getattr(IfcDoorTypeOperationEnum, 'LIFTING_VERTICAL_RIGHT', INDETERMINATE) -revolving = express_getattr(IfcDoorTypeOperationEnum, 'REVOLVING', INDETERMINATE) -revolving_vertical = express_getattr(IfcDoorTypeOperationEnum, 'REVOLVING_VERTICAL', INDETERMINATE) -rollingup = express_getattr(IfcDoorTypeOperationEnum, 'ROLLINGUP', INDETERMINATE) -single_swing_left = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_LEFT', INDETERMINATE) -single_swing_right = express_getattr(IfcDoorTypeOperationEnum, 'SINGLE_SWING_RIGHT', INDETERMINATE) -sliding_to_left = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_LEFT', INDETERMINATE) -sliding_to_right = express_getattr(IfcDoorTypeOperationEnum, 'SLIDING_TO_RIGHT', INDETERMINATE) -swing_fixed_left = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_LEFT', INDETERMINATE) -swing_fixed_right = express_getattr(IfcDoorTypeOperationEnum, 'SWING_FIXED_RIGHT', INDETERMINATE) -userdefined = express_getattr(IfcDoorTypeOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDoorTypeOperationEnum, 'NOTDEFINED', INDETERMINATE) +double_door_double_swing = IfcDoorTypeOperationEnum.DOUBLE_DOOR_DOUBLE_SWING +double_door_folding = IfcDoorTypeOperationEnum.DOUBLE_DOOR_FOLDING +double_door_lifting_vertical = IfcDoorTypeOperationEnum.DOUBLE_DOOR_LIFTING_VERTICAL +double_door_single_swing = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING +double_door_single_swing_opposite_left = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT +double_door_single_swing_opposite_right = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT +double_door_sliding = IfcDoorTypeOperationEnum.DOUBLE_DOOR_SLIDING +double_swing_left = IfcDoorTypeOperationEnum.DOUBLE_SWING_LEFT +double_swing_right = IfcDoorTypeOperationEnum.DOUBLE_SWING_RIGHT +folding_to_left = IfcDoorTypeOperationEnum.FOLDING_TO_LEFT +folding_to_right = IfcDoorTypeOperationEnum.FOLDING_TO_RIGHT +lifting_horizontal = IfcDoorTypeOperationEnum.LIFTING_HORIZONTAL +lifting_vertical_left = IfcDoorTypeOperationEnum.LIFTING_VERTICAL_LEFT +lifting_vertical_right = IfcDoorTypeOperationEnum.LIFTING_VERTICAL_RIGHT +revolving = IfcDoorTypeOperationEnum.REVOLVING +revolving_vertical = IfcDoorTypeOperationEnum.REVOLVING_VERTICAL +rollingup = IfcDoorTypeOperationEnum.ROLLINGUP +single_swing_left = IfcDoorTypeOperationEnum.SINGLE_SWING_LEFT +single_swing_right = IfcDoorTypeOperationEnum.SINGLE_SWING_RIGHT +sliding_to_left = IfcDoorTypeOperationEnum.SLIDING_TO_LEFT +sliding_to_right = IfcDoorTypeOperationEnum.SLIDING_TO_RIGHT +swing_fixed_left = IfcDoorTypeOperationEnum.SWING_FIXED_LEFT +swing_fixed_right = IfcDoorTypeOperationEnum.SWING_FIXED_RIGHT +userdefined = IfcDoorTypeOperationEnum.USERDEFINED +notdefined = IfcDoorTypeOperationEnum.NOTDEFINED IfcDuctFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcDuctFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcDuctFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcDuctFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcDuctFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcDuctFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcDuctFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcDuctFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcDuctFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcDuctFittingTypeEnum.BEND +connector = IfcDuctFittingTypeEnum.CONNECTOR +entry = IfcDuctFittingTypeEnum.ENTRY +exit = IfcDuctFittingTypeEnum.EXIT +junction = IfcDuctFittingTypeEnum.JUNCTION +obstruction = IfcDuctFittingTypeEnum.OBSTRUCTION +transition = IfcDuctFittingTypeEnum.TRANSITION +userdefined = IfcDuctFittingTypeEnum.USERDEFINED +notdefined = IfcDuctFittingTypeEnum.NOTDEFINED IfcDuctSegmentTypeEnum = enum_namespace() -flexiblesegment = express_getattr(IfcDuctSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -rigidsegment = express_getattr(IfcDuctSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -userdefined = express_getattr(IfcDuctSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +flexiblesegment = IfcDuctSegmentTypeEnum.FLEXIBLESEGMENT +rigidsegment = IfcDuctSegmentTypeEnum.RIGIDSEGMENT +userdefined = IfcDuctSegmentTypeEnum.USERDEFINED +notdefined = IfcDuctSegmentTypeEnum.NOTDEFINED IfcDuctSilencerTypeEnum = enum_namespace() -flatoval = express_getattr(IfcDuctSilencerTypeEnum, 'FLATOVAL', INDETERMINATE) -rectangular = express_getattr(IfcDuctSilencerTypeEnum, 'RECTANGULAR', INDETERMINATE) -round = express_getattr(IfcDuctSilencerTypeEnum, 'ROUND', INDETERMINATE) -userdefined = express_getattr(IfcDuctSilencerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcDuctSilencerTypeEnum, 'NOTDEFINED', INDETERMINATE) +flatoval = IfcDuctSilencerTypeEnum.FLATOVAL +rectangular = IfcDuctSilencerTypeEnum.RECTANGULAR +round = IfcDuctSilencerTypeEnum.ROUND +userdefined = IfcDuctSilencerTypeEnum.USERDEFINED +notdefined = IfcDuctSilencerTypeEnum.NOTDEFINED IfcEarthworksCutTypeEnum = enum_namespace() -base_excavation = express_getattr(IfcEarthworksCutTypeEnum, 'BASE_EXCAVATION', INDETERMINATE) -cut = express_getattr(IfcEarthworksCutTypeEnum, 'CUT', INDETERMINATE) -dredging = express_getattr(IfcEarthworksCutTypeEnum, 'DREDGING', INDETERMINATE) -excavation = express_getattr(IfcEarthworksCutTypeEnum, 'EXCAVATION', INDETERMINATE) -overexcavation = express_getattr(IfcEarthworksCutTypeEnum, 'OVEREXCAVATION', INDETERMINATE) -pavementmilling = express_getattr(IfcEarthworksCutTypeEnum, 'PAVEMENTMILLING', INDETERMINATE) -stepexcavation = express_getattr(IfcEarthworksCutTypeEnum, 'STEPEXCAVATION', INDETERMINATE) -topsoilremoval = express_getattr(IfcEarthworksCutTypeEnum, 'TOPSOILREMOVAL', INDETERMINATE) -trench = express_getattr(IfcEarthworksCutTypeEnum, 'TRENCH', INDETERMINATE) -userdefined = express_getattr(IfcEarthworksCutTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEarthworksCutTypeEnum, 'NOTDEFINED', INDETERMINATE) +base_excavation = IfcEarthworksCutTypeEnum.BASE_EXCAVATION +cut = IfcEarthworksCutTypeEnum.CUT +dredging = IfcEarthworksCutTypeEnum.DREDGING +excavation = IfcEarthworksCutTypeEnum.EXCAVATION +overexcavation = IfcEarthworksCutTypeEnum.OVEREXCAVATION +pavementmilling = IfcEarthworksCutTypeEnum.PAVEMENTMILLING +stepexcavation = IfcEarthworksCutTypeEnum.STEPEXCAVATION +topsoilremoval = IfcEarthworksCutTypeEnum.TOPSOILREMOVAL +trench = IfcEarthworksCutTypeEnum.TRENCH +userdefined = IfcEarthworksCutTypeEnum.USERDEFINED +notdefined = IfcEarthworksCutTypeEnum.NOTDEFINED IfcEarthworksFillTypeEnum = enum_namespace() -backfill = express_getattr(IfcEarthworksFillTypeEnum, 'BACKFILL', INDETERMINATE) -counterweight = express_getattr(IfcEarthworksFillTypeEnum, 'COUNTERWEIGHT', INDETERMINATE) -embankment = express_getattr(IfcEarthworksFillTypeEnum, 'EMBANKMENT', INDETERMINATE) -slopefill = express_getattr(IfcEarthworksFillTypeEnum, 'SLOPEFILL', INDETERMINATE) -subgrade = express_getattr(IfcEarthworksFillTypeEnum, 'SUBGRADE', INDETERMINATE) -subgradebed = express_getattr(IfcEarthworksFillTypeEnum, 'SUBGRADEBED', INDETERMINATE) -transitionsection = express_getattr(IfcEarthworksFillTypeEnum, 'TRANSITIONSECTION', INDETERMINATE) -userdefined = express_getattr(IfcEarthworksFillTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEarthworksFillTypeEnum, 'NOTDEFINED', INDETERMINATE) +backfill = IfcEarthworksFillTypeEnum.BACKFILL +counterweight = IfcEarthworksFillTypeEnum.COUNTERWEIGHT +embankment = IfcEarthworksFillTypeEnum.EMBANKMENT +slopefill = IfcEarthworksFillTypeEnum.SLOPEFILL +subgrade = IfcEarthworksFillTypeEnum.SUBGRADE +subgradebed = IfcEarthworksFillTypeEnum.SUBGRADEBED +transitionsection = IfcEarthworksFillTypeEnum.TRANSITIONSECTION +userdefined = IfcEarthworksFillTypeEnum.USERDEFINED +notdefined = IfcEarthworksFillTypeEnum.NOTDEFINED IfcElectricApplianceTypeEnum = enum_namespace() -dishwasher = express_getattr(IfcElectricApplianceTypeEnum, 'DISHWASHER', INDETERMINATE) -electriccooker = express_getattr(IfcElectricApplianceTypeEnum, 'ELECTRICCOOKER', INDETERMINATE) -freestandingelectricheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGELECTRICHEATER', INDETERMINATE) -freestandingfan = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGFAN', INDETERMINATE) -freestandingwatercooler = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERCOOLER', INDETERMINATE) -freestandingwaterheater = express_getattr(IfcElectricApplianceTypeEnum, 'FREESTANDINGWATERHEATER', INDETERMINATE) -freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FREEZER', INDETERMINATE) -fridge_freezer = express_getattr(IfcElectricApplianceTypeEnum, 'FRIDGE_FREEZER', INDETERMINATE) -handdryer = express_getattr(IfcElectricApplianceTypeEnum, 'HANDDRYER', INDETERMINATE) -kitchenmachine = express_getattr(IfcElectricApplianceTypeEnum, 'KITCHENMACHINE', INDETERMINATE) -microwave = express_getattr(IfcElectricApplianceTypeEnum, 'MICROWAVE', INDETERMINATE) -photocopier = express_getattr(IfcElectricApplianceTypeEnum, 'PHOTOCOPIER', INDETERMINATE) -refrigerator = express_getattr(IfcElectricApplianceTypeEnum, 'REFRIGERATOR', INDETERMINATE) -tumbledryer = express_getattr(IfcElectricApplianceTypeEnum, 'TUMBLEDRYER', INDETERMINATE) -vendingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'VENDINGMACHINE', INDETERMINATE) -washingmachine = express_getattr(IfcElectricApplianceTypeEnum, 'WASHINGMACHINE', INDETERMINATE) -userdefined = express_getattr(IfcElectricApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +dishwasher = IfcElectricApplianceTypeEnum.DISHWASHER +electriccooker = IfcElectricApplianceTypeEnum.ELECTRICCOOKER +freestandingelectricheater = IfcElectricApplianceTypeEnum.FREESTANDINGELECTRICHEATER +freestandingfan = IfcElectricApplianceTypeEnum.FREESTANDINGFAN +freestandingwatercooler = IfcElectricApplianceTypeEnum.FREESTANDINGWATERCOOLER +freestandingwaterheater = IfcElectricApplianceTypeEnum.FREESTANDINGWATERHEATER +freezer = IfcElectricApplianceTypeEnum.FREEZER +fridge_freezer = IfcElectricApplianceTypeEnum.FRIDGE_FREEZER +handdryer = IfcElectricApplianceTypeEnum.HANDDRYER +kitchenmachine = IfcElectricApplianceTypeEnum.KITCHENMACHINE +microwave = IfcElectricApplianceTypeEnum.MICROWAVE +photocopier = IfcElectricApplianceTypeEnum.PHOTOCOPIER +refrigerator = IfcElectricApplianceTypeEnum.REFRIGERATOR +tumbledryer = IfcElectricApplianceTypeEnum.TUMBLEDRYER +vendingmachine = IfcElectricApplianceTypeEnum.VENDINGMACHINE +washingmachine = IfcElectricApplianceTypeEnum.WASHINGMACHINE +userdefined = IfcElectricApplianceTypeEnum.USERDEFINED +notdefined = IfcElectricApplianceTypeEnum.NOTDEFINED IfcElectricDistributionBoardTypeEnum = enum_namespace() -consumerunit = express_getattr(IfcElectricDistributionBoardTypeEnum, 'CONSUMERUNIT', INDETERMINATE) -distributionboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'DISTRIBUTIONBOARD', INDETERMINATE) -motorcontrolcentre = express_getattr(IfcElectricDistributionBoardTypeEnum, 'MOTORCONTROLCENTRE', INDETERMINATE) -switchboard = express_getattr(IfcElectricDistributionBoardTypeEnum, 'SWITCHBOARD', INDETERMINATE) -userdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricDistributionBoardTypeEnum, 'NOTDEFINED', INDETERMINATE) +consumerunit = IfcElectricDistributionBoardTypeEnum.CONSUMERUNIT +distributionboard = IfcElectricDistributionBoardTypeEnum.DISTRIBUTIONBOARD +motorcontrolcentre = IfcElectricDistributionBoardTypeEnum.MOTORCONTROLCENTRE +switchboard = IfcElectricDistributionBoardTypeEnum.SWITCHBOARD +userdefined = IfcElectricDistributionBoardTypeEnum.USERDEFINED +notdefined = IfcElectricDistributionBoardTypeEnum.NOTDEFINED IfcElectricFlowStorageDeviceTypeEnum = enum_namespace() -battery = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'BATTERY', INDETERMINATE) -capacitor = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITOR', INDETERMINATE) -capacitorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'CAPACITORBANK', INDETERMINATE) -compensator = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'COMPENSATOR', INDETERMINATE) -harmonicfilter = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'HARMONICFILTER', INDETERMINATE) -inductor = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTOR', INDETERMINATE) -inductorbank = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'INDUCTORBANK', INDETERMINATE) -recharger = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'RECHARGER', INDETERMINATE) -ups = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'UPS', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowStorageDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +battery = IfcElectricFlowStorageDeviceTypeEnum.BATTERY +capacitor = IfcElectricFlowStorageDeviceTypeEnum.CAPACITOR +capacitorbank = IfcElectricFlowStorageDeviceTypeEnum.CAPACITORBANK +compensator = IfcElectricFlowStorageDeviceTypeEnum.COMPENSATOR +harmonicfilter = IfcElectricFlowStorageDeviceTypeEnum.HARMONICFILTER +inductor = IfcElectricFlowStorageDeviceTypeEnum.INDUCTOR +inductorbank = IfcElectricFlowStorageDeviceTypeEnum.INDUCTORBANK +recharger = IfcElectricFlowStorageDeviceTypeEnum.RECHARGER +ups = IfcElectricFlowStorageDeviceTypeEnum.UPS +userdefined = IfcElectricFlowStorageDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowStorageDeviceTypeEnum.NOTDEFINED IfcElectricFlowTreatmentDeviceTypeEnum = enum_namespace() -electronicfilter = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'ELECTRONICFILTER', INDETERMINATE) -userdefined = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricFlowTreatmentDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +electronicfilter = IfcElectricFlowTreatmentDeviceTypeEnum.ELECTRONICFILTER +userdefined = IfcElectricFlowTreatmentDeviceTypeEnum.USERDEFINED +notdefined = IfcElectricFlowTreatmentDeviceTypeEnum.NOTDEFINED IfcElectricGeneratorTypeEnum = enum_namespace() -chp = express_getattr(IfcElectricGeneratorTypeEnum, 'CHP', INDETERMINATE) -enginegenerator = express_getattr(IfcElectricGeneratorTypeEnum, 'ENGINEGENERATOR', INDETERMINATE) -standalone = express_getattr(IfcElectricGeneratorTypeEnum, 'STANDALONE', INDETERMINATE) -userdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricGeneratorTypeEnum, 'NOTDEFINED', INDETERMINATE) +chp = IfcElectricGeneratorTypeEnum.CHP +enginegenerator = IfcElectricGeneratorTypeEnum.ENGINEGENERATOR +standalone = IfcElectricGeneratorTypeEnum.STANDALONE +userdefined = IfcElectricGeneratorTypeEnum.USERDEFINED +notdefined = IfcElectricGeneratorTypeEnum.NOTDEFINED IfcElectricMotorTypeEnum = enum_namespace() -dc = express_getattr(IfcElectricMotorTypeEnum, 'DC', INDETERMINATE) -induction = express_getattr(IfcElectricMotorTypeEnum, 'INDUCTION', INDETERMINATE) -polyphase = express_getattr(IfcElectricMotorTypeEnum, 'POLYPHASE', INDETERMINATE) -reluctancesynchronous = express_getattr(IfcElectricMotorTypeEnum, 'RELUCTANCESYNCHRONOUS', INDETERMINATE) -synchronous = express_getattr(IfcElectricMotorTypeEnum, 'SYNCHRONOUS', INDETERMINATE) -userdefined = express_getattr(IfcElectricMotorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricMotorTypeEnum, 'NOTDEFINED', INDETERMINATE) +dc = IfcElectricMotorTypeEnum.DC +induction = IfcElectricMotorTypeEnum.INDUCTION +polyphase = IfcElectricMotorTypeEnum.POLYPHASE +reluctancesynchronous = IfcElectricMotorTypeEnum.RELUCTANCESYNCHRONOUS +synchronous = IfcElectricMotorTypeEnum.SYNCHRONOUS +userdefined = IfcElectricMotorTypeEnum.USERDEFINED +notdefined = IfcElectricMotorTypeEnum.NOTDEFINED IfcElectricTimeControlTypeEnum = enum_namespace() -relay = express_getattr(IfcElectricTimeControlTypeEnum, 'RELAY', INDETERMINATE) -timeclock = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMECLOCK', INDETERMINATE) -timedelay = express_getattr(IfcElectricTimeControlTypeEnum, 'TIMEDELAY', INDETERMINATE) -userdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElectricTimeControlTypeEnum, 'NOTDEFINED', INDETERMINATE) +relay = IfcElectricTimeControlTypeEnum.RELAY +timeclock = IfcElectricTimeControlTypeEnum.TIMECLOCK +timedelay = IfcElectricTimeControlTypeEnum.TIMEDELAY +userdefined = IfcElectricTimeControlTypeEnum.USERDEFINED +notdefined = IfcElectricTimeControlTypeEnum.NOTDEFINED IfcElementAssemblyTypeEnum = enum_namespace() -abutment = express_getattr(IfcElementAssemblyTypeEnum, 'ABUTMENT', INDETERMINATE) -accessory_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'ACCESSORY_ASSEMBLY', INDETERMINATE) -arch = express_getattr(IfcElementAssemblyTypeEnum, 'ARCH', INDETERMINATE) -beam_grid = express_getattr(IfcElementAssemblyTypeEnum, 'BEAM_GRID', INDETERMINATE) -braced_frame = express_getattr(IfcElementAssemblyTypeEnum, 'BRACED_FRAME', INDETERMINATE) -cross_bracing = express_getattr(IfcElementAssemblyTypeEnum, 'CROSS_BRACING', INDETERMINATE) -deck = express_getattr(IfcElementAssemblyTypeEnum, 'DECK', INDETERMINATE) -dilatationpanel = express_getattr(IfcElementAssemblyTypeEnum, 'DILATATIONPANEL', INDETERMINATE) -entranceworks = express_getattr(IfcElementAssemblyTypeEnum, 'ENTRANCEWORKS', INDETERMINATE) -girder = express_getattr(IfcElementAssemblyTypeEnum, 'GIRDER', INDETERMINATE) -grid = express_getattr(IfcElementAssemblyTypeEnum, 'GRID', INDETERMINATE) -mast = express_getattr(IfcElementAssemblyTypeEnum, 'MAST', INDETERMINATE) -pier = express_getattr(IfcElementAssemblyTypeEnum, 'PIER', INDETERMINATE) -pylon = express_getattr(IfcElementAssemblyTypeEnum, 'PYLON', INDETERMINATE) -rail_mechanical_equipment_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY', INDETERMINATE) -reinforcement_unit = express_getattr(IfcElementAssemblyTypeEnum, 'REINFORCEMENT_UNIT', INDETERMINATE) -rigid_frame = express_getattr(IfcElementAssemblyTypeEnum, 'RIGID_FRAME', INDETERMINATE) -shelter = express_getattr(IfcElementAssemblyTypeEnum, 'SHELTER', INDETERMINATE) -signalassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SIGNALASSEMBLY', INDETERMINATE) -slab_field = express_getattr(IfcElementAssemblyTypeEnum, 'SLAB_FIELD', INDETERMINATE) -sumpbuster = express_getattr(IfcElementAssemblyTypeEnum, 'SUMPBUSTER', INDETERMINATE) -supportingassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SUPPORTINGASSEMBLY', INDETERMINATE) -suspensionassembly = express_getattr(IfcElementAssemblyTypeEnum, 'SUSPENSIONASSEMBLY', INDETERMINATE) -trackpanel = express_getattr(IfcElementAssemblyTypeEnum, 'TRACKPANEL', INDETERMINATE) -traction_switching_assembly = express_getattr(IfcElementAssemblyTypeEnum, 'TRACTION_SWITCHING_ASSEMBLY', INDETERMINATE) -traffic_calming_device = express_getattr(IfcElementAssemblyTypeEnum, 'TRAFFIC_CALMING_DEVICE', INDETERMINATE) -truss = express_getattr(IfcElementAssemblyTypeEnum, 'TRUSS', INDETERMINATE) -turnoutpanel = express_getattr(IfcElementAssemblyTypeEnum, 'TURNOUTPANEL', INDETERMINATE) -userdefined = express_getattr(IfcElementAssemblyTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcElementAssemblyTypeEnum, 'NOTDEFINED', INDETERMINATE) +abutment = IfcElementAssemblyTypeEnum.ABUTMENT +accessory_assembly = IfcElementAssemblyTypeEnum.ACCESSORY_ASSEMBLY +arch = IfcElementAssemblyTypeEnum.ARCH +beam_grid = IfcElementAssemblyTypeEnum.BEAM_GRID +braced_frame = IfcElementAssemblyTypeEnum.BRACED_FRAME +cross_bracing = IfcElementAssemblyTypeEnum.CROSS_BRACING +deck = IfcElementAssemblyTypeEnum.DECK +dilatationpanel = IfcElementAssemblyTypeEnum.DILATATIONPANEL +entranceworks = IfcElementAssemblyTypeEnum.ENTRANCEWORKS +girder = IfcElementAssemblyTypeEnum.GIRDER +grid = IfcElementAssemblyTypeEnum.GRID +mast = IfcElementAssemblyTypeEnum.MAST +pier = IfcElementAssemblyTypeEnum.PIER +pylon = IfcElementAssemblyTypeEnum.PYLON +rail_mechanical_equipment_assembly = IfcElementAssemblyTypeEnum.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY +reinforcement_unit = IfcElementAssemblyTypeEnum.REINFORCEMENT_UNIT +rigid_frame = IfcElementAssemblyTypeEnum.RIGID_FRAME +shelter = IfcElementAssemblyTypeEnum.SHELTER +signalassembly = IfcElementAssemblyTypeEnum.SIGNALASSEMBLY +slab_field = IfcElementAssemblyTypeEnum.SLAB_FIELD +sumpbuster = IfcElementAssemblyTypeEnum.SUMPBUSTER +supportingassembly = IfcElementAssemblyTypeEnum.SUPPORTINGASSEMBLY +suspensionassembly = IfcElementAssemblyTypeEnum.SUSPENSIONASSEMBLY +trackpanel = IfcElementAssemblyTypeEnum.TRACKPANEL +traction_switching_assembly = IfcElementAssemblyTypeEnum.TRACTION_SWITCHING_ASSEMBLY +traffic_calming_device = IfcElementAssemblyTypeEnum.TRAFFIC_CALMING_DEVICE +truss = IfcElementAssemblyTypeEnum.TRUSS +turnoutpanel = IfcElementAssemblyTypeEnum.TURNOUTPANEL +userdefined = IfcElementAssemblyTypeEnum.USERDEFINED +notdefined = IfcElementAssemblyTypeEnum.NOTDEFINED IfcElementCompositionEnum = enum_namespace() -complex = express_getattr(IfcElementCompositionEnum, 'COMPLEX', INDETERMINATE) -element = express_getattr(IfcElementCompositionEnum, 'ELEMENT', INDETERMINATE) -partial = express_getattr(IfcElementCompositionEnum, 'PARTIAL', INDETERMINATE) +complex = IfcElementCompositionEnum.COMPLEX +element = IfcElementCompositionEnum.ELEMENT +partial = IfcElementCompositionEnum.PARTIAL IfcEngineTypeEnum = enum_namespace() -externalcombustion = express_getattr(IfcEngineTypeEnum, 'EXTERNALCOMBUSTION', INDETERMINATE) -internalcombustion = express_getattr(IfcEngineTypeEnum, 'INTERNALCOMBUSTION', INDETERMINATE) -userdefined = express_getattr(IfcEngineTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEngineTypeEnum, 'NOTDEFINED', INDETERMINATE) +externalcombustion = IfcEngineTypeEnum.EXTERNALCOMBUSTION +internalcombustion = IfcEngineTypeEnum.INTERNALCOMBUSTION +userdefined = IfcEngineTypeEnum.USERDEFINED +notdefined = IfcEngineTypeEnum.NOTDEFINED IfcEvaporativeCoolerTypeEnum = enum_namespace() -directevaporativeairwasher = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEAIRWASHER', INDETERMINATE) -directevaporativepackagedrotaryaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER', INDETERMINATE) -directevaporativerandommediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER', INDETERMINATE) -directevaporativerigidmediaaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER', INDETERMINATE) -directevaporativeslingerspackagedaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER', INDETERMINATE) -indirectdirectcombination = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTDIRECTCOMBINATION', INDETERMINATE) -indirectevaporativecoolingtowerorcoilcooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER', INDETERMINATE) -indirectevaporativepackageaircooler = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEPACKAGEAIRCOOLER', INDETERMINATE) -indirectevaporativewetcoil = express_getattr(IfcEvaporativeCoolerTypeEnum, 'INDIRECTEVAPORATIVEWETCOIL', INDETERMINATE) -userdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporativeCoolerTypeEnum, 'NOTDEFINED', INDETERMINATE) +directevaporativeairwasher = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEAIRWASHER +directevaporativepackagedrotaryaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER +directevaporativerandommediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER +directevaporativerigidmediaaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER +directevaporativeslingerspackagedaircooler = IfcEvaporativeCoolerTypeEnum.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER +indirectdirectcombination = IfcEvaporativeCoolerTypeEnum.INDIRECTDIRECTCOMBINATION +indirectevaporativecoolingtowerorcoilcooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER +indirectevaporativepackageaircooler = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER +indirectevaporativewetcoil = IfcEvaporativeCoolerTypeEnum.INDIRECTEVAPORATIVEWETCOIL +userdefined = IfcEvaporativeCoolerTypeEnum.USERDEFINED +notdefined = IfcEvaporativeCoolerTypeEnum.NOTDEFINED IfcEvaporatorTypeEnum = enum_namespace() -directexpansion = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSION', INDETERMINATE) -directexpansionbrazedplate = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONBRAZEDPLATE', INDETERMINATE) -directexpansionshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONSHELLANDTUBE', INDETERMINATE) -directexpansiontubeintube = express_getattr(IfcEvaporatorTypeEnum, 'DIRECTEXPANSIONTUBEINTUBE', INDETERMINATE) -floodedshellandtube = express_getattr(IfcEvaporatorTypeEnum, 'FLOODEDSHELLANDTUBE', INDETERMINATE) -shellandcoil = express_getattr(IfcEvaporatorTypeEnum, 'SHELLANDCOIL', INDETERMINATE) -userdefined = express_getattr(IfcEvaporatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEvaporatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +directexpansion = IfcEvaporatorTypeEnum.DIRECTEXPANSION +directexpansionbrazedplate = IfcEvaporatorTypeEnum.DIRECTEXPANSIONBRAZEDPLATE +directexpansionshellandtube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONSHELLANDTUBE +directexpansiontubeintube = IfcEvaporatorTypeEnum.DIRECTEXPANSIONTUBEINTUBE +floodedshellandtube = IfcEvaporatorTypeEnum.FLOODEDSHELLANDTUBE +shellandcoil = IfcEvaporatorTypeEnum.SHELLANDCOIL +userdefined = IfcEvaporatorTypeEnum.USERDEFINED +notdefined = IfcEvaporatorTypeEnum.NOTDEFINED IfcEventTriggerTypeEnum = enum_namespace() -eventcomplex = express_getattr(IfcEventTriggerTypeEnum, 'EVENTCOMPLEX', INDETERMINATE) -eventmessage = express_getattr(IfcEventTriggerTypeEnum, 'EVENTMESSAGE', INDETERMINATE) -eventrule = express_getattr(IfcEventTriggerTypeEnum, 'EVENTRULE', INDETERMINATE) -eventtime = express_getattr(IfcEventTriggerTypeEnum, 'EVENTTIME', INDETERMINATE) -userdefined = express_getattr(IfcEventTriggerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTriggerTypeEnum, 'NOTDEFINED', INDETERMINATE) +eventcomplex = IfcEventTriggerTypeEnum.EVENTCOMPLEX +eventmessage = IfcEventTriggerTypeEnum.EVENTMESSAGE +eventrule = IfcEventTriggerTypeEnum.EVENTRULE +eventtime = IfcEventTriggerTypeEnum.EVENTTIME +userdefined = IfcEventTriggerTypeEnum.USERDEFINED +notdefined = IfcEventTriggerTypeEnum.NOTDEFINED IfcEventTypeEnum = enum_namespace() -endevent = express_getattr(IfcEventTypeEnum, 'ENDEVENT', INDETERMINATE) -intermediateevent = express_getattr(IfcEventTypeEnum, 'INTERMEDIATEEVENT', INDETERMINATE) -startevent = express_getattr(IfcEventTypeEnum, 'STARTEVENT', INDETERMINATE) -userdefined = express_getattr(IfcEventTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcEventTypeEnum, 'NOTDEFINED', INDETERMINATE) +endevent = IfcEventTypeEnum.ENDEVENT +intermediateevent = IfcEventTypeEnum.INTERMEDIATEEVENT +startevent = IfcEventTypeEnum.STARTEVENT +userdefined = IfcEventTypeEnum.USERDEFINED +notdefined = IfcEventTypeEnum.NOTDEFINED IfcExternalSpatialElementTypeEnum = enum_namespace() -external = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_fire = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_FIRE', INDETERMINATE) -external_water = express_getattr(IfcExternalSpatialElementTypeEnum, 'EXTERNAL_WATER', INDETERMINATE) -userdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcExternalSpatialElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +external = IfcExternalSpatialElementTypeEnum.EXTERNAL +external_earth = IfcExternalSpatialElementTypeEnum.EXTERNAL_EARTH +external_fire = IfcExternalSpatialElementTypeEnum.EXTERNAL_FIRE +external_water = IfcExternalSpatialElementTypeEnum.EXTERNAL_WATER +userdefined = IfcExternalSpatialElementTypeEnum.USERDEFINED +notdefined = IfcExternalSpatialElementTypeEnum.NOTDEFINED IfcFacilityPartCommonTypeEnum = enum_namespace() -aboveground = express_getattr(IfcFacilityPartCommonTypeEnum, 'ABOVEGROUND', INDETERMINATE) -belowground = express_getattr(IfcFacilityPartCommonTypeEnum, 'BELOWGROUND', INDETERMINATE) -junction = express_getattr(IfcFacilityPartCommonTypeEnum, 'JUNCTION', INDETERMINATE) -levelcrossing = express_getattr(IfcFacilityPartCommonTypeEnum, 'LEVELCROSSING', INDETERMINATE) -segment = express_getattr(IfcFacilityPartCommonTypeEnum, 'SEGMENT', INDETERMINATE) -substructure = express_getattr(IfcFacilityPartCommonTypeEnum, 'SUBSTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcFacilityPartCommonTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -terminal = express_getattr(IfcFacilityPartCommonTypeEnum, 'TERMINAL', INDETERMINATE) -userdefined = express_getattr(IfcFacilityPartCommonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFacilityPartCommonTypeEnum, 'NOTDEFINED', INDETERMINATE) +aboveground = IfcFacilityPartCommonTypeEnum.ABOVEGROUND +belowground = IfcFacilityPartCommonTypeEnum.BELOWGROUND +junction = IfcFacilityPartCommonTypeEnum.JUNCTION +levelcrossing = IfcFacilityPartCommonTypeEnum.LEVELCROSSING +segment = IfcFacilityPartCommonTypeEnum.SEGMENT +substructure = IfcFacilityPartCommonTypeEnum.SUBSTRUCTURE +superstructure = IfcFacilityPartCommonTypeEnum.SUPERSTRUCTURE +terminal = IfcFacilityPartCommonTypeEnum.TERMINAL +userdefined = IfcFacilityPartCommonTypeEnum.USERDEFINED +notdefined = IfcFacilityPartCommonTypeEnum.NOTDEFINED IfcFacilityUsageEnum = enum_namespace() -lateral = express_getattr(IfcFacilityUsageEnum, 'LATERAL', INDETERMINATE) -longitudinal = express_getattr(IfcFacilityUsageEnum, 'LONGITUDINAL', INDETERMINATE) -region = express_getattr(IfcFacilityUsageEnum, 'REGION', INDETERMINATE) -vertical = express_getattr(IfcFacilityUsageEnum, 'VERTICAL', INDETERMINATE) -userdefined = express_getattr(IfcFacilityUsageEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFacilityUsageEnum, 'NOTDEFINED', INDETERMINATE) +lateral = IfcFacilityUsageEnum.LATERAL +longitudinal = IfcFacilityUsageEnum.LONGITUDINAL +region = IfcFacilityUsageEnum.REGION +vertical = IfcFacilityUsageEnum.VERTICAL +userdefined = IfcFacilityUsageEnum.USERDEFINED +notdefined = IfcFacilityUsageEnum.NOTDEFINED IfcFanTypeEnum = enum_namespace() -centrifugalairfoil = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALAIRFOIL', INDETERMINATE) -centrifugalbackwardinclinedcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALBACKWARDINCLINEDCURVED', INDETERMINATE) -centrifugalforwardcurved = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALFORWARDCURVED', INDETERMINATE) -centrifugalradial = express_getattr(IfcFanTypeEnum, 'CENTRIFUGALRADIAL', INDETERMINATE) -propelloraxial = express_getattr(IfcFanTypeEnum, 'PROPELLORAXIAL', INDETERMINATE) -tubeaxial = express_getattr(IfcFanTypeEnum, 'TUBEAXIAL', INDETERMINATE) -vaneaxial = express_getattr(IfcFanTypeEnum, 'VANEAXIAL', INDETERMINATE) -userdefined = express_getattr(IfcFanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFanTypeEnum, 'NOTDEFINED', INDETERMINATE) +centrifugalairfoil = IfcFanTypeEnum.CENTRIFUGALAIRFOIL +centrifugalbackwardinclinedcurved = IfcFanTypeEnum.CENTRIFUGALBACKWARDINCLINEDCURVED +centrifugalforwardcurved = IfcFanTypeEnum.CENTRIFUGALFORWARDCURVED +centrifugalradial = IfcFanTypeEnum.CENTRIFUGALRADIAL +propelloraxial = IfcFanTypeEnum.PROPELLORAXIAL +tubeaxial = IfcFanTypeEnum.TUBEAXIAL +vaneaxial = IfcFanTypeEnum.VANEAXIAL +userdefined = IfcFanTypeEnum.USERDEFINED +notdefined = IfcFanTypeEnum.NOTDEFINED IfcFastenerTypeEnum = enum_namespace() -glue = express_getattr(IfcFastenerTypeEnum, 'GLUE', INDETERMINATE) -mortar = express_getattr(IfcFastenerTypeEnum, 'MORTAR', INDETERMINATE) -weld = express_getattr(IfcFastenerTypeEnum, 'WELD', INDETERMINATE) -userdefined = express_getattr(IfcFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +glue = IfcFastenerTypeEnum.GLUE +mortar = IfcFastenerTypeEnum.MORTAR +weld = IfcFastenerTypeEnum.WELD +userdefined = IfcFastenerTypeEnum.USERDEFINED +notdefined = IfcFastenerTypeEnum.NOTDEFINED IfcFilterTypeEnum = enum_namespace() -airparticlefilter = express_getattr(IfcFilterTypeEnum, 'AIRPARTICLEFILTER', INDETERMINATE) -compressedairfilter = express_getattr(IfcFilterTypeEnum, 'COMPRESSEDAIRFILTER', INDETERMINATE) -odorfilter = express_getattr(IfcFilterTypeEnum, 'ODORFILTER', INDETERMINATE) -oilfilter = express_getattr(IfcFilterTypeEnum, 'OILFILTER', INDETERMINATE) -strainer = express_getattr(IfcFilterTypeEnum, 'STRAINER', INDETERMINATE) -waterfilter = express_getattr(IfcFilterTypeEnum, 'WATERFILTER', INDETERMINATE) -userdefined = express_getattr(IfcFilterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFilterTypeEnum, 'NOTDEFINED', INDETERMINATE) +airparticlefilter = IfcFilterTypeEnum.AIRPARTICLEFILTER +compressedairfilter = IfcFilterTypeEnum.COMPRESSEDAIRFILTER +odorfilter = IfcFilterTypeEnum.ODORFILTER +oilfilter = IfcFilterTypeEnum.OILFILTER +strainer = IfcFilterTypeEnum.STRAINER +waterfilter = IfcFilterTypeEnum.WATERFILTER +userdefined = IfcFilterTypeEnum.USERDEFINED +notdefined = IfcFilterTypeEnum.NOTDEFINED IfcFireSuppressionTerminalTypeEnum = enum_namespace() -breechinginlet = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'BREECHINGINLET', INDETERMINATE) -firehydrant = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'FIREHYDRANT', INDETERMINATE) -firemonitor = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'FIREMONITOR', INDETERMINATE) -hosereel = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -sprinkler = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLER', INDETERMINATE) -sprinklerdeflector = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'SPRINKLERDEFLECTOR', INDETERMINATE) -userdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFireSuppressionTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +breechinginlet = IfcFireSuppressionTerminalTypeEnum.BREECHINGINLET +firehydrant = IfcFireSuppressionTerminalTypeEnum.FIREHYDRANT +firemonitor = IfcFireSuppressionTerminalTypeEnum.FIREMONITOR +hosereel = IfcFireSuppressionTerminalTypeEnum.HOSEREEL +sprinkler = IfcFireSuppressionTerminalTypeEnum.SPRINKLER +sprinklerdeflector = IfcFireSuppressionTerminalTypeEnum.SPRINKLERDEFLECTOR +userdefined = IfcFireSuppressionTerminalTypeEnum.USERDEFINED +notdefined = IfcFireSuppressionTerminalTypeEnum.NOTDEFINED IfcFlowDirectionEnum = enum_namespace() -sink = express_getattr(IfcFlowDirectionEnum, 'SINK', INDETERMINATE) -source = express_getattr(IfcFlowDirectionEnum, 'SOURCE', INDETERMINATE) -sourceandsink = express_getattr(IfcFlowDirectionEnum, 'SOURCEANDSINK', INDETERMINATE) -notdefined = express_getattr(IfcFlowDirectionEnum, 'NOTDEFINED', INDETERMINATE) +sink = IfcFlowDirectionEnum.SINK +source = IfcFlowDirectionEnum.SOURCE +sourceandsink = IfcFlowDirectionEnum.SOURCEANDSINK +notdefined = IfcFlowDirectionEnum.NOTDEFINED IfcFlowInstrumentTypeEnum = enum_namespace() -ammeter = express_getattr(IfcFlowInstrumentTypeEnum, 'AMMETER', INDETERMINATE) -combined = express_getattr(IfcFlowInstrumentTypeEnum, 'COMBINED', INDETERMINATE) -frequencymeter = express_getattr(IfcFlowInstrumentTypeEnum, 'FREQUENCYMETER', INDETERMINATE) -phaseanglemeter = express_getattr(IfcFlowInstrumentTypeEnum, 'PHASEANGLEMETER', INDETERMINATE) -powerfactormeter = express_getattr(IfcFlowInstrumentTypeEnum, 'POWERFACTORMETER', INDETERMINATE) -pressuregauge = express_getattr(IfcFlowInstrumentTypeEnum, 'PRESSUREGAUGE', INDETERMINATE) -thermometer = express_getattr(IfcFlowInstrumentTypeEnum, 'THERMOMETER', INDETERMINATE) -voltmeter = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER', INDETERMINATE) -voltmeter_peak = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_PEAK', INDETERMINATE) -voltmeter_rms = express_getattr(IfcFlowInstrumentTypeEnum, 'VOLTMETER_RMS', INDETERMINATE) -userdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowInstrumentTypeEnum, 'NOTDEFINED', INDETERMINATE) +ammeter = IfcFlowInstrumentTypeEnum.AMMETER +combined = IfcFlowInstrumentTypeEnum.COMBINED +frequencymeter = IfcFlowInstrumentTypeEnum.FREQUENCYMETER +phaseanglemeter = IfcFlowInstrumentTypeEnum.PHASEANGLEMETER +powerfactormeter = IfcFlowInstrumentTypeEnum.POWERFACTORMETER +pressuregauge = IfcFlowInstrumentTypeEnum.PRESSUREGAUGE +thermometer = IfcFlowInstrumentTypeEnum.THERMOMETER +voltmeter = IfcFlowInstrumentTypeEnum.VOLTMETER +voltmeter_peak = IfcFlowInstrumentTypeEnum.VOLTMETER_PEAK +voltmeter_rms = IfcFlowInstrumentTypeEnum.VOLTMETER_RMS +userdefined = IfcFlowInstrumentTypeEnum.USERDEFINED +notdefined = IfcFlowInstrumentTypeEnum.NOTDEFINED IfcFlowMeterTypeEnum = enum_namespace() -energymeter = express_getattr(IfcFlowMeterTypeEnum, 'ENERGYMETER', INDETERMINATE) -gasmeter = express_getattr(IfcFlowMeterTypeEnum, 'GASMETER', INDETERMINATE) -oilmeter = express_getattr(IfcFlowMeterTypeEnum, 'OILMETER', INDETERMINATE) -watermeter = express_getattr(IfcFlowMeterTypeEnum, 'WATERMETER', INDETERMINATE) -userdefined = express_getattr(IfcFlowMeterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFlowMeterTypeEnum, 'NOTDEFINED', INDETERMINATE) +energymeter = IfcFlowMeterTypeEnum.ENERGYMETER +gasmeter = IfcFlowMeterTypeEnum.GASMETER +oilmeter = IfcFlowMeterTypeEnum.OILMETER +watermeter = IfcFlowMeterTypeEnum.WATERMETER +userdefined = IfcFlowMeterTypeEnum.USERDEFINED +notdefined = IfcFlowMeterTypeEnum.NOTDEFINED IfcFootingTypeEnum = enum_namespace() -caisson_foundation = express_getattr(IfcFootingTypeEnum, 'CAISSON_FOUNDATION', INDETERMINATE) -footing_beam = express_getattr(IfcFootingTypeEnum, 'FOOTING_BEAM', INDETERMINATE) -pad_footing = express_getattr(IfcFootingTypeEnum, 'PAD_FOOTING', INDETERMINATE) -pile_cap = express_getattr(IfcFootingTypeEnum, 'PILE_CAP', INDETERMINATE) -strip_footing = express_getattr(IfcFootingTypeEnum, 'STRIP_FOOTING', INDETERMINATE) -userdefined = express_getattr(IfcFootingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFootingTypeEnum, 'NOTDEFINED', INDETERMINATE) +caisson_foundation = IfcFootingTypeEnum.CAISSON_FOUNDATION +footing_beam = IfcFootingTypeEnum.FOOTING_BEAM +pad_footing = IfcFootingTypeEnum.PAD_FOOTING +pile_cap = IfcFootingTypeEnum.PILE_CAP +strip_footing = IfcFootingTypeEnum.STRIP_FOOTING +userdefined = IfcFootingTypeEnum.USERDEFINED +notdefined = IfcFootingTypeEnum.NOTDEFINED IfcFurnitureTypeEnum = enum_namespace() -bed = express_getattr(IfcFurnitureTypeEnum, 'BED', INDETERMINATE) -chair = express_getattr(IfcFurnitureTypeEnum, 'CHAIR', INDETERMINATE) -desk = express_getattr(IfcFurnitureTypeEnum, 'DESK', INDETERMINATE) -filecabinet = express_getattr(IfcFurnitureTypeEnum, 'FILECABINET', INDETERMINATE) -shelf = express_getattr(IfcFurnitureTypeEnum, 'SHELF', INDETERMINATE) -sofa = express_getattr(IfcFurnitureTypeEnum, 'SOFA', INDETERMINATE) -table = express_getattr(IfcFurnitureTypeEnum, 'TABLE', INDETERMINATE) -technicalcabinet = express_getattr(IfcFurnitureTypeEnum, 'TECHNICALCABINET', INDETERMINATE) -userdefined = express_getattr(IfcFurnitureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcFurnitureTypeEnum, 'NOTDEFINED', INDETERMINATE) +bed = IfcFurnitureTypeEnum.BED +chair = IfcFurnitureTypeEnum.CHAIR +desk = IfcFurnitureTypeEnum.DESK +filecabinet = IfcFurnitureTypeEnum.FILECABINET +shelf = IfcFurnitureTypeEnum.SHELF +sofa = IfcFurnitureTypeEnum.SOFA +table = IfcFurnitureTypeEnum.TABLE +technicalcabinet = IfcFurnitureTypeEnum.TECHNICALCABINET +userdefined = IfcFurnitureTypeEnum.USERDEFINED +notdefined = IfcFurnitureTypeEnum.NOTDEFINED IfcGeographicElementTypeEnum = enum_namespace() -soil_boring_point = express_getattr(IfcGeographicElementTypeEnum, 'SOIL_BORING_POINT', INDETERMINATE) -terrain = express_getattr(IfcGeographicElementTypeEnum, 'TERRAIN', INDETERMINATE) -vegetation = express_getattr(IfcGeographicElementTypeEnum, 'VEGETATION', INDETERMINATE) -userdefined = express_getattr(IfcGeographicElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeographicElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +soil_boring_point = IfcGeographicElementTypeEnum.SOIL_BORING_POINT +terrain = IfcGeographicElementTypeEnum.TERRAIN +vegetation = IfcGeographicElementTypeEnum.VEGETATION +userdefined = IfcGeographicElementTypeEnum.USERDEFINED +notdefined = IfcGeographicElementTypeEnum.NOTDEFINED IfcGeometricProjectionEnum = enum_namespace() -elevation_view = express_getattr(IfcGeometricProjectionEnum, 'ELEVATION_VIEW', INDETERMINATE) -graph_view = express_getattr(IfcGeometricProjectionEnum, 'GRAPH_VIEW', INDETERMINATE) -model_view = express_getattr(IfcGeometricProjectionEnum, 'MODEL_VIEW', INDETERMINATE) -plan_view = express_getattr(IfcGeometricProjectionEnum, 'PLAN_VIEW', INDETERMINATE) -reflected_plan_view = express_getattr(IfcGeometricProjectionEnum, 'REFLECTED_PLAN_VIEW', INDETERMINATE) -section_view = express_getattr(IfcGeometricProjectionEnum, 'SECTION_VIEW', INDETERMINATE) -sketch_view = express_getattr(IfcGeometricProjectionEnum, 'SKETCH_VIEW', INDETERMINATE) -userdefined = express_getattr(IfcGeometricProjectionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeometricProjectionEnum, 'NOTDEFINED', INDETERMINATE) +elevation_view = IfcGeometricProjectionEnum.ELEVATION_VIEW +graph_view = IfcGeometricProjectionEnum.GRAPH_VIEW +model_view = IfcGeometricProjectionEnum.MODEL_VIEW +plan_view = IfcGeometricProjectionEnum.PLAN_VIEW +reflected_plan_view = IfcGeometricProjectionEnum.REFLECTED_PLAN_VIEW +section_view = IfcGeometricProjectionEnum.SECTION_VIEW +sketch_view = IfcGeometricProjectionEnum.SKETCH_VIEW +userdefined = IfcGeometricProjectionEnum.USERDEFINED +notdefined = IfcGeometricProjectionEnum.NOTDEFINED IfcGeotechnicalStratumTypeEnum = enum_namespace() -solid = express_getattr(IfcGeotechnicalStratumTypeEnum, 'SOLID', INDETERMINATE) -void = express_getattr(IfcGeotechnicalStratumTypeEnum, 'VOID', INDETERMINATE) -water = express_getattr(IfcGeotechnicalStratumTypeEnum, 'WATER', INDETERMINATE) -userdefined = express_getattr(IfcGeotechnicalStratumTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGeotechnicalStratumTypeEnum, 'NOTDEFINED', INDETERMINATE) +solid = IfcGeotechnicalStratumTypeEnum.SOLID +void = IfcGeotechnicalStratumTypeEnum.VOID +water = IfcGeotechnicalStratumTypeEnum.WATER +userdefined = IfcGeotechnicalStratumTypeEnum.USERDEFINED +notdefined = IfcGeotechnicalStratumTypeEnum.NOTDEFINED IfcGlobalOrLocalEnum = enum_namespace() -global_coords = express_getattr(IfcGlobalOrLocalEnum, 'GLOBAL_COORDS', INDETERMINATE) -local_coords = express_getattr(IfcGlobalOrLocalEnum, 'LOCAL_COORDS', INDETERMINATE) +global_coords = IfcGlobalOrLocalEnum.GLOBAL_COORDS +local_coords = IfcGlobalOrLocalEnum.LOCAL_COORDS IfcGridTypeEnum = enum_namespace() -irregular = express_getattr(IfcGridTypeEnum, 'IRREGULAR', INDETERMINATE) -radial = express_getattr(IfcGridTypeEnum, 'RADIAL', INDETERMINATE) -rectangular = express_getattr(IfcGridTypeEnum, 'RECTANGULAR', INDETERMINATE) -triangular = express_getattr(IfcGridTypeEnum, 'TRIANGULAR', INDETERMINATE) -userdefined = express_getattr(IfcGridTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcGridTypeEnum, 'NOTDEFINED', INDETERMINATE) +irregular = IfcGridTypeEnum.IRREGULAR +radial = IfcGridTypeEnum.RADIAL +rectangular = IfcGridTypeEnum.RECTANGULAR +triangular = IfcGridTypeEnum.TRIANGULAR +userdefined = IfcGridTypeEnum.USERDEFINED +notdefined = IfcGridTypeEnum.NOTDEFINED IfcHeatExchangerTypeEnum = enum_namespace() -plate = express_getattr(IfcHeatExchangerTypeEnum, 'PLATE', INDETERMINATE) -shellandtube = express_getattr(IfcHeatExchangerTypeEnum, 'SHELLANDTUBE', INDETERMINATE) -turnoutheating = express_getattr(IfcHeatExchangerTypeEnum, 'TURNOUTHEATING', INDETERMINATE) -userdefined = express_getattr(IfcHeatExchangerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHeatExchangerTypeEnum, 'NOTDEFINED', INDETERMINATE) +plate = IfcHeatExchangerTypeEnum.PLATE +shellandtube = IfcHeatExchangerTypeEnum.SHELLANDTUBE +turnoutheating = IfcHeatExchangerTypeEnum.TURNOUTHEATING +userdefined = IfcHeatExchangerTypeEnum.USERDEFINED +notdefined = IfcHeatExchangerTypeEnum.NOTDEFINED IfcHumidifierTypeEnum = enum_namespace() -adiabaticairwasher = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICAIRWASHER', INDETERMINATE) -adiabaticatomizing = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICATOMIZING', INDETERMINATE) -adiabaticcompressedairnozzle = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICCOMPRESSEDAIRNOZZLE', INDETERMINATE) -adiabaticpan = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICPAN', INDETERMINATE) -adiabaticrigidmedia = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICRIGIDMEDIA', INDETERMINATE) -adiabaticultrasonic = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICULTRASONIC', INDETERMINATE) -adiabaticwettedelement = express_getattr(IfcHumidifierTypeEnum, 'ADIABATICWETTEDELEMENT', INDETERMINATE) -assistedbutane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDBUTANE', INDETERMINATE) -assistedelectric = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDELECTRIC', INDETERMINATE) -assistednaturalgas = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDNATURALGAS', INDETERMINATE) -assistedpropane = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDPROPANE', INDETERMINATE) -assistedsteam = express_getattr(IfcHumidifierTypeEnum, 'ASSISTEDSTEAM', INDETERMINATE) -steaminjection = express_getattr(IfcHumidifierTypeEnum, 'STEAMINJECTION', INDETERMINATE) -userdefined = express_getattr(IfcHumidifierTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcHumidifierTypeEnum, 'NOTDEFINED', INDETERMINATE) +adiabaticairwasher = IfcHumidifierTypeEnum.ADIABATICAIRWASHER +adiabaticatomizing = IfcHumidifierTypeEnum.ADIABATICATOMIZING +adiabaticcompressedairnozzle = IfcHumidifierTypeEnum.ADIABATICCOMPRESSEDAIRNOZZLE +adiabaticpan = IfcHumidifierTypeEnum.ADIABATICPAN +adiabaticrigidmedia = IfcHumidifierTypeEnum.ADIABATICRIGIDMEDIA +adiabaticultrasonic = IfcHumidifierTypeEnum.ADIABATICULTRASONIC +adiabaticwettedelement = IfcHumidifierTypeEnum.ADIABATICWETTEDELEMENT +assistedbutane = IfcHumidifierTypeEnum.ASSISTEDBUTANE +assistedelectric = IfcHumidifierTypeEnum.ASSISTEDELECTRIC +assistednaturalgas = IfcHumidifierTypeEnum.ASSISTEDNATURALGAS +assistedpropane = IfcHumidifierTypeEnum.ASSISTEDPROPANE +assistedsteam = IfcHumidifierTypeEnum.ASSISTEDSTEAM +steaminjection = IfcHumidifierTypeEnum.STEAMINJECTION +userdefined = IfcHumidifierTypeEnum.USERDEFINED +notdefined = IfcHumidifierTypeEnum.NOTDEFINED IfcImpactProtectionDeviceTypeEnum = enum_namespace() -bumper = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'BUMPER', INDETERMINATE) -crashcushion = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'CRASHCUSHION', INDETERMINATE) -dampingsystem = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'DAMPINGSYSTEM', INDETERMINATE) -fender = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'FENDER', INDETERMINATE) -userdefined = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcImpactProtectionDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +bumper = IfcImpactProtectionDeviceTypeEnum.BUMPER +crashcushion = IfcImpactProtectionDeviceTypeEnum.CRASHCUSHION +dampingsystem = IfcImpactProtectionDeviceTypeEnum.DAMPINGSYSTEM +fender = IfcImpactProtectionDeviceTypeEnum.FENDER +userdefined = IfcImpactProtectionDeviceTypeEnum.USERDEFINED +notdefined = IfcImpactProtectionDeviceTypeEnum.NOTDEFINED IfcInterceptorTypeEnum = enum_namespace() -cyclonic = express_getattr(IfcInterceptorTypeEnum, 'CYCLONIC', INDETERMINATE) -grease = express_getattr(IfcInterceptorTypeEnum, 'GREASE', INDETERMINATE) -oil = express_getattr(IfcInterceptorTypeEnum, 'OIL', INDETERMINATE) -petrol = express_getattr(IfcInterceptorTypeEnum, 'PETROL', INDETERMINATE) -userdefined = express_getattr(IfcInterceptorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInterceptorTypeEnum, 'NOTDEFINED', INDETERMINATE) +cyclonic = IfcInterceptorTypeEnum.CYCLONIC +grease = IfcInterceptorTypeEnum.GREASE +oil = IfcInterceptorTypeEnum.OIL +petrol = IfcInterceptorTypeEnum.PETROL +userdefined = IfcInterceptorTypeEnum.USERDEFINED +notdefined = IfcInterceptorTypeEnum.NOTDEFINED IfcInternalOrExternalEnum = enum_namespace() -external = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL', INDETERMINATE) -external_earth = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_EARTH', INDETERMINATE) -external_fire = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_FIRE', INDETERMINATE) -external_water = express_getattr(IfcInternalOrExternalEnum, 'EXTERNAL_WATER', INDETERMINATE) -internal = express_getattr(IfcInternalOrExternalEnum, 'INTERNAL', INDETERMINATE) -notdefined = express_getattr(IfcInternalOrExternalEnum, 'NOTDEFINED', INDETERMINATE) +external = IfcInternalOrExternalEnum.EXTERNAL +external_earth = IfcInternalOrExternalEnum.EXTERNAL_EARTH +external_fire = IfcInternalOrExternalEnum.EXTERNAL_FIRE +external_water = IfcInternalOrExternalEnum.EXTERNAL_WATER +internal = IfcInternalOrExternalEnum.INTERNAL +notdefined = IfcInternalOrExternalEnum.NOTDEFINED IfcInventoryTypeEnum = enum_namespace() -assetinventory = express_getattr(IfcInventoryTypeEnum, 'ASSETINVENTORY', INDETERMINATE) -furnitureinventory = express_getattr(IfcInventoryTypeEnum, 'FURNITUREINVENTORY', INDETERMINATE) -spaceinventory = express_getattr(IfcInventoryTypeEnum, 'SPACEINVENTORY', INDETERMINATE) -userdefined = express_getattr(IfcInventoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcInventoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +assetinventory = IfcInventoryTypeEnum.ASSETINVENTORY +furnitureinventory = IfcInventoryTypeEnum.FURNITUREINVENTORY +spaceinventory = IfcInventoryTypeEnum.SPACEINVENTORY +userdefined = IfcInventoryTypeEnum.USERDEFINED +notdefined = IfcInventoryTypeEnum.NOTDEFINED IfcJunctionBoxTypeEnum = enum_namespace() -data = express_getattr(IfcJunctionBoxTypeEnum, 'DATA', INDETERMINATE) -power = express_getattr(IfcJunctionBoxTypeEnum, 'POWER', INDETERMINATE) -userdefined = express_getattr(IfcJunctionBoxTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcJunctionBoxTypeEnum, 'NOTDEFINED', INDETERMINATE) +data = IfcJunctionBoxTypeEnum.DATA +power = IfcJunctionBoxTypeEnum.POWER +userdefined = IfcJunctionBoxTypeEnum.USERDEFINED +notdefined = IfcJunctionBoxTypeEnum.NOTDEFINED IfcKerbTypeEnum = enum_namespace() -userdefined = express_getattr(IfcKerbTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcKerbTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcKerbTypeEnum.USERDEFINED +notdefined = IfcKerbTypeEnum.NOTDEFINED IfcKnotType = enum_namespace() -piecewise_bezier_knots = express_getattr(IfcKnotType, 'PIECEWISE_BEZIER_KNOTS', INDETERMINATE) -quasi_uniform_knots = express_getattr(IfcKnotType, 'QUASI_UNIFORM_KNOTS', INDETERMINATE) -uniform_knots = express_getattr(IfcKnotType, 'UNIFORM_KNOTS', INDETERMINATE) -unspecified = express_getattr(IfcKnotType, 'UNSPECIFIED', INDETERMINATE) +piecewise_bezier_knots = IfcKnotType.PIECEWISE_BEZIER_KNOTS +quasi_uniform_knots = IfcKnotType.QUASI_UNIFORM_KNOTS +uniform_knots = IfcKnotType.UNIFORM_KNOTS +unspecified = IfcKnotType.UNSPECIFIED IfcLaborResourceTypeEnum = enum_namespace() -administration = express_getattr(IfcLaborResourceTypeEnum, 'ADMINISTRATION', INDETERMINATE) -carpentry = express_getattr(IfcLaborResourceTypeEnum, 'CARPENTRY', INDETERMINATE) -cleaning = express_getattr(IfcLaborResourceTypeEnum, 'CLEANING', INDETERMINATE) -concrete = express_getattr(IfcLaborResourceTypeEnum, 'CONCRETE', INDETERMINATE) -drywall = express_getattr(IfcLaborResourceTypeEnum, 'DRYWALL', INDETERMINATE) -electric = express_getattr(IfcLaborResourceTypeEnum, 'ELECTRIC', INDETERMINATE) -finishing = express_getattr(IfcLaborResourceTypeEnum, 'FINISHING', INDETERMINATE) -flooring = express_getattr(IfcLaborResourceTypeEnum, 'FLOORING', INDETERMINATE) -general = express_getattr(IfcLaborResourceTypeEnum, 'GENERAL', INDETERMINATE) -hvac = express_getattr(IfcLaborResourceTypeEnum, 'HVAC', INDETERMINATE) -landscaping = express_getattr(IfcLaborResourceTypeEnum, 'LANDSCAPING', INDETERMINATE) -masonry = express_getattr(IfcLaborResourceTypeEnum, 'MASONRY', INDETERMINATE) -painting = express_getattr(IfcLaborResourceTypeEnum, 'PAINTING', INDETERMINATE) -paving = express_getattr(IfcLaborResourceTypeEnum, 'PAVING', INDETERMINATE) -plumbing = express_getattr(IfcLaborResourceTypeEnum, 'PLUMBING', INDETERMINATE) -roofing = express_getattr(IfcLaborResourceTypeEnum, 'ROOFING', INDETERMINATE) -sitegrading = express_getattr(IfcLaborResourceTypeEnum, 'SITEGRADING', INDETERMINATE) -steelwork = express_getattr(IfcLaborResourceTypeEnum, 'STEELWORK', INDETERMINATE) -surveying = express_getattr(IfcLaborResourceTypeEnum, 'SURVEYING', INDETERMINATE) -userdefined = express_getattr(IfcLaborResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLaborResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +administration = IfcLaborResourceTypeEnum.ADMINISTRATION +carpentry = IfcLaborResourceTypeEnum.CARPENTRY +cleaning = IfcLaborResourceTypeEnum.CLEANING +concrete = IfcLaborResourceTypeEnum.CONCRETE +drywall = IfcLaborResourceTypeEnum.DRYWALL +electric = IfcLaborResourceTypeEnum.ELECTRIC +finishing = IfcLaborResourceTypeEnum.FINISHING +flooring = IfcLaborResourceTypeEnum.FLOORING +general = IfcLaborResourceTypeEnum.GENERAL +hvac = IfcLaborResourceTypeEnum.HVAC +landscaping = IfcLaborResourceTypeEnum.LANDSCAPING +masonry = IfcLaborResourceTypeEnum.MASONRY +painting = IfcLaborResourceTypeEnum.PAINTING +paving = IfcLaborResourceTypeEnum.PAVING +plumbing = IfcLaborResourceTypeEnum.PLUMBING +roofing = IfcLaborResourceTypeEnum.ROOFING +sitegrading = IfcLaborResourceTypeEnum.SITEGRADING +steelwork = IfcLaborResourceTypeEnum.STEELWORK +surveying = IfcLaborResourceTypeEnum.SURVEYING +userdefined = IfcLaborResourceTypeEnum.USERDEFINED +notdefined = IfcLaborResourceTypeEnum.NOTDEFINED IfcLampTypeEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLampTypeEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLampTypeEnum, 'FLUORESCENT', INDETERMINATE) -halogen = express_getattr(IfcLampTypeEnum, 'HALOGEN', INDETERMINATE) -highpressuremercury = express_getattr(IfcLampTypeEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLampTypeEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -led = express_getattr(IfcLampTypeEnum, 'LED', INDETERMINATE) -metalhalide = express_getattr(IfcLampTypeEnum, 'METALHALIDE', INDETERMINATE) -oled = express_getattr(IfcLampTypeEnum, 'OLED', INDETERMINATE) -tungstenfilament = express_getattr(IfcLampTypeEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -userdefined = express_getattr(IfcLampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLampTypeEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLampTypeEnum.COMPACTFLUORESCENT +fluorescent = IfcLampTypeEnum.FLUORESCENT +halogen = IfcLampTypeEnum.HALOGEN +highpressuremercury = IfcLampTypeEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLampTypeEnum.HIGHPRESSURESODIUM +led = IfcLampTypeEnum.LED +metalhalide = IfcLampTypeEnum.METALHALIDE +oled = IfcLampTypeEnum.OLED +tungstenfilament = IfcLampTypeEnum.TUNGSTENFILAMENT +userdefined = IfcLampTypeEnum.USERDEFINED +notdefined = IfcLampTypeEnum.NOTDEFINED IfcLayerSetDirectionEnum = enum_namespace() -axis1 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS1', INDETERMINATE) -axis2 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS2', INDETERMINATE) -axis3 = express_getattr(IfcLayerSetDirectionEnum, 'AXIS3', INDETERMINATE) +axis1 = IfcLayerSetDirectionEnum.AXIS1 +axis2 = IfcLayerSetDirectionEnum.AXIS2 +axis3 = IfcLayerSetDirectionEnum.AXIS3 IfcLightDistributionCurveEnum = enum_namespace() -type_a = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_A', INDETERMINATE) -type_b = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_B', INDETERMINATE) -type_c = express_getattr(IfcLightDistributionCurveEnum, 'TYPE_C', INDETERMINATE) -notdefined = express_getattr(IfcLightDistributionCurveEnum, 'NOTDEFINED', INDETERMINATE) +type_a = IfcLightDistributionCurveEnum.TYPE_A +type_b = IfcLightDistributionCurveEnum.TYPE_B +type_c = IfcLightDistributionCurveEnum.TYPE_C +notdefined = IfcLightDistributionCurveEnum.NOTDEFINED IfcLightEmissionSourceEnum = enum_namespace() -compactfluorescent = express_getattr(IfcLightEmissionSourceEnum, 'COMPACTFLUORESCENT', INDETERMINATE) -fluorescent = express_getattr(IfcLightEmissionSourceEnum, 'FLUORESCENT', INDETERMINATE) -highpressuremercury = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSUREMERCURY', INDETERMINATE) -highpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'HIGHPRESSURESODIUM', INDETERMINATE) -lightemittingdiode = express_getattr(IfcLightEmissionSourceEnum, 'LIGHTEMITTINGDIODE', INDETERMINATE) -lowpressuresodium = express_getattr(IfcLightEmissionSourceEnum, 'LOWPRESSURESODIUM', INDETERMINATE) -lowvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'LOWVOLTAGEHALOGEN', INDETERMINATE) -mainvoltagehalogen = express_getattr(IfcLightEmissionSourceEnum, 'MAINVOLTAGEHALOGEN', INDETERMINATE) -metalhalide = express_getattr(IfcLightEmissionSourceEnum, 'METALHALIDE', INDETERMINATE) -tungstenfilament = express_getattr(IfcLightEmissionSourceEnum, 'TUNGSTENFILAMENT', INDETERMINATE) -notdefined = express_getattr(IfcLightEmissionSourceEnum, 'NOTDEFINED', INDETERMINATE) +compactfluorescent = IfcLightEmissionSourceEnum.COMPACTFLUORESCENT +fluorescent = IfcLightEmissionSourceEnum.FLUORESCENT +highpressuremercury = IfcLightEmissionSourceEnum.HIGHPRESSUREMERCURY +highpressuresodium = IfcLightEmissionSourceEnum.HIGHPRESSURESODIUM +lightemittingdiode = IfcLightEmissionSourceEnum.LIGHTEMITTINGDIODE +lowpressuresodium = IfcLightEmissionSourceEnum.LOWPRESSURESODIUM +lowvoltagehalogen = IfcLightEmissionSourceEnum.LOWVOLTAGEHALOGEN +mainvoltagehalogen = IfcLightEmissionSourceEnum.MAINVOLTAGEHALOGEN +metalhalide = IfcLightEmissionSourceEnum.METALHALIDE +tungstenfilament = IfcLightEmissionSourceEnum.TUNGSTENFILAMENT +notdefined = IfcLightEmissionSourceEnum.NOTDEFINED IfcLightFixtureTypeEnum = enum_namespace() -directionsource = express_getattr(IfcLightFixtureTypeEnum, 'DIRECTIONSOURCE', INDETERMINATE) -pointsource = express_getattr(IfcLightFixtureTypeEnum, 'POINTSOURCE', INDETERMINATE) -securitylighting = express_getattr(IfcLightFixtureTypeEnum, 'SECURITYLIGHTING', INDETERMINATE) -userdefined = express_getattr(IfcLightFixtureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLightFixtureTypeEnum, 'NOTDEFINED', INDETERMINATE) +directionsource = IfcLightFixtureTypeEnum.DIRECTIONSOURCE +pointsource = IfcLightFixtureTypeEnum.POINTSOURCE +securitylighting = IfcLightFixtureTypeEnum.SECURITYLIGHTING +userdefined = IfcLightFixtureTypeEnum.USERDEFINED +notdefined = IfcLightFixtureTypeEnum.NOTDEFINED IfcLiquidTerminalTypeEnum = enum_namespace() -hosereel = express_getattr(IfcLiquidTerminalTypeEnum, 'HOSEREEL', INDETERMINATE) -loadingarm = express_getattr(IfcLiquidTerminalTypeEnum, 'LOADINGARM', INDETERMINATE) -userdefined = express_getattr(IfcLiquidTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLiquidTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +hosereel = IfcLiquidTerminalTypeEnum.HOSEREEL +loadingarm = IfcLiquidTerminalTypeEnum.LOADINGARM +userdefined = IfcLiquidTerminalTypeEnum.USERDEFINED +notdefined = IfcLiquidTerminalTypeEnum.NOTDEFINED IfcLoadGroupTypeEnum = enum_namespace() -load_case = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_CASE', INDETERMINATE) -load_combination = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_COMBINATION', INDETERMINATE) -load_group = express_getattr(IfcLoadGroupTypeEnum, 'LOAD_GROUP', INDETERMINATE) -userdefined = express_getattr(IfcLoadGroupTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcLoadGroupTypeEnum, 'NOTDEFINED', INDETERMINATE) +load_case = IfcLoadGroupTypeEnum.LOAD_CASE +load_combination = IfcLoadGroupTypeEnum.LOAD_COMBINATION +load_group = IfcLoadGroupTypeEnum.LOAD_GROUP +userdefined = IfcLoadGroupTypeEnum.USERDEFINED +notdefined = IfcLoadGroupTypeEnum.NOTDEFINED IfcLogicalOperatorEnum = enum_namespace() -logicaland = express_getattr(IfcLogicalOperatorEnum, 'LOGICALAND', INDETERMINATE) -logicalnotand = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTAND', INDETERMINATE) -logicalnotor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALNOTOR', INDETERMINATE) -logicalor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALOR', INDETERMINATE) -logicalxor = express_getattr(IfcLogicalOperatorEnum, 'LOGICALXOR', INDETERMINATE) +logicaland = IfcLogicalOperatorEnum.LOGICALAND +logicalnotand = IfcLogicalOperatorEnum.LOGICALNOTAND +logicalnotor = IfcLogicalOperatorEnum.LOGICALNOTOR +logicalor = IfcLogicalOperatorEnum.LOGICALOR +logicalxor = IfcLogicalOperatorEnum.LOGICALXOR IfcMarineFacilityTypeEnum = enum_namespace() -barrierbeach = express_getattr(IfcMarineFacilityTypeEnum, 'BARRIERBEACH', INDETERMINATE) -breakwater = express_getattr(IfcMarineFacilityTypeEnum, 'BREAKWATER', INDETERMINATE) -canal = express_getattr(IfcMarineFacilityTypeEnum, 'CANAL', INDETERMINATE) -drydock = express_getattr(IfcMarineFacilityTypeEnum, 'DRYDOCK', INDETERMINATE) -floatingdock = express_getattr(IfcMarineFacilityTypeEnum, 'FLOATINGDOCK', INDETERMINATE) -hydrolift = express_getattr(IfcMarineFacilityTypeEnum, 'HYDROLIFT', INDETERMINATE) -jetty = express_getattr(IfcMarineFacilityTypeEnum, 'JETTY', INDETERMINATE) -launchrecovery = express_getattr(IfcMarineFacilityTypeEnum, 'LAUNCHRECOVERY', INDETERMINATE) -marinedefence = express_getattr(IfcMarineFacilityTypeEnum, 'MARINEDEFENCE', INDETERMINATE) -navigationalchannel = express_getattr(IfcMarineFacilityTypeEnum, 'NAVIGATIONALCHANNEL', INDETERMINATE) -port = express_getattr(IfcMarineFacilityTypeEnum, 'PORT', INDETERMINATE) -quay = express_getattr(IfcMarineFacilityTypeEnum, 'QUAY', INDETERMINATE) -revetment = express_getattr(IfcMarineFacilityTypeEnum, 'REVETMENT', INDETERMINATE) -shiplift = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPLIFT', INDETERMINATE) -shiplock = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPLOCK', INDETERMINATE) -shipyard = express_getattr(IfcMarineFacilityTypeEnum, 'SHIPYARD', INDETERMINATE) -slipway = express_getattr(IfcMarineFacilityTypeEnum, 'SLIPWAY', INDETERMINATE) -waterway = express_getattr(IfcMarineFacilityTypeEnum, 'WATERWAY', INDETERMINATE) -waterwayshiplift = express_getattr(IfcMarineFacilityTypeEnum, 'WATERWAYSHIPLIFT', INDETERMINATE) -userdefined = express_getattr(IfcMarineFacilityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMarineFacilityTypeEnum, 'NOTDEFINED', INDETERMINATE) +barrierbeach = IfcMarineFacilityTypeEnum.BARRIERBEACH +breakwater = IfcMarineFacilityTypeEnum.BREAKWATER +canal = IfcMarineFacilityTypeEnum.CANAL +drydock = IfcMarineFacilityTypeEnum.DRYDOCK +floatingdock = IfcMarineFacilityTypeEnum.FLOATINGDOCK +hydrolift = IfcMarineFacilityTypeEnum.HYDROLIFT +jetty = IfcMarineFacilityTypeEnum.JETTY +launchrecovery = IfcMarineFacilityTypeEnum.LAUNCHRECOVERY +marinedefence = IfcMarineFacilityTypeEnum.MARINEDEFENCE +navigationalchannel = IfcMarineFacilityTypeEnum.NAVIGATIONALCHANNEL +port = IfcMarineFacilityTypeEnum.PORT +quay = IfcMarineFacilityTypeEnum.QUAY +revetment = IfcMarineFacilityTypeEnum.REVETMENT +shiplift = IfcMarineFacilityTypeEnum.SHIPLIFT +shiplock = IfcMarineFacilityTypeEnum.SHIPLOCK +shipyard = IfcMarineFacilityTypeEnum.SHIPYARD +slipway = IfcMarineFacilityTypeEnum.SLIPWAY +waterway = IfcMarineFacilityTypeEnum.WATERWAY +waterwayshiplift = IfcMarineFacilityTypeEnum.WATERWAYSHIPLIFT +userdefined = IfcMarineFacilityTypeEnum.USERDEFINED +notdefined = IfcMarineFacilityTypeEnum.NOTDEFINED IfcMarinePartTypeEnum = enum_namespace() -abovewaterline = express_getattr(IfcMarinePartTypeEnum, 'ABOVEWATERLINE', INDETERMINATE) -anchorage = express_getattr(IfcMarinePartTypeEnum, 'ANCHORAGE', INDETERMINATE) -approachchannel = express_getattr(IfcMarinePartTypeEnum, 'APPROACHCHANNEL', INDETERMINATE) -belowwaterline = express_getattr(IfcMarinePartTypeEnum, 'BELOWWATERLINE', INDETERMINATE) -berthingstructure = express_getattr(IfcMarinePartTypeEnum, 'BERTHINGSTRUCTURE', INDETERMINATE) -chamber = express_getattr(IfcMarinePartTypeEnum, 'CHAMBER', INDETERMINATE) -cill_level = express_getattr(IfcMarinePartTypeEnum, 'CILL_LEVEL', INDETERMINATE) -copelevel = express_getattr(IfcMarinePartTypeEnum, 'COPELEVEL', INDETERMINATE) -core = express_getattr(IfcMarinePartTypeEnum, 'CORE', INDETERMINATE) -crest = express_getattr(IfcMarinePartTypeEnum, 'CREST', INDETERMINATE) -gatehead = express_getattr(IfcMarinePartTypeEnum, 'GATEHEAD', INDETERMINATE) -gudingstructure = express_getattr(IfcMarinePartTypeEnum, 'GUDINGSTRUCTURE', INDETERMINATE) -highwaterline = express_getattr(IfcMarinePartTypeEnum, 'HIGHWATERLINE', INDETERMINATE) -landfield = express_getattr(IfcMarinePartTypeEnum, 'LANDFIELD', INDETERMINATE) -leewardside = express_getattr(IfcMarinePartTypeEnum, 'LEEWARDSIDE', INDETERMINATE) -lowwaterline = express_getattr(IfcMarinePartTypeEnum, 'LOWWATERLINE', INDETERMINATE) -manufacturing = express_getattr(IfcMarinePartTypeEnum, 'MANUFACTURING', INDETERMINATE) -navigationalarea = express_getattr(IfcMarinePartTypeEnum, 'NAVIGATIONALAREA', INDETERMINATE) -protection = express_getattr(IfcMarinePartTypeEnum, 'PROTECTION', INDETERMINATE) -shiptransfer = express_getattr(IfcMarinePartTypeEnum, 'SHIPTRANSFER', INDETERMINATE) -storagearea = express_getattr(IfcMarinePartTypeEnum, 'STORAGEAREA', INDETERMINATE) -vehicleservicing = express_getattr(IfcMarinePartTypeEnum, 'VEHICLESERVICING', INDETERMINATE) -waterfield = express_getattr(IfcMarinePartTypeEnum, 'WATERFIELD', INDETERMINATE) -weatherside = express_getattr(IfcMarinePartTypeEnum, 'WEATHERSIDE', INDETERMINATE) -userdefined = express_getattr(IfcMarinePartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMarinePartTypeEnum, 'NOTDEFINED', INDETERMINATE) +abovewaterline = IfcMarinePartTypeEnum.ABOVEWATERLINE +anchorage = IfcMarinePartTypeEnum.ANCHORAGE +approachchannel = IfcMarinePartTypeEnum.APPROACHCHANNEL +belowwaterline = IfcMarinePartTypeEnum.BELOWWATERLINE +berthingstructure = IfcMarinePartTypeEnum.BERTHINGSTRUCTURE +chamber = IfcMarinePartTypeEnum.CHAMBER +cill_level = IfcMarinePartTypeEnum.CILL_LEVEL +copelevel = IfcMarinePartTypeEnum.COPELEVEL +core = IfcMarinePartTypeEnum.CORE +crest = IfcMarinePartTypeEnum.CREST +gatehead = IfcMarinePartTypeEnum.GATEHEAD +gudingstructure = IfcMarinePartTypeEnum.GUDINGSTRUCTURE +highwaterline = IfcMarinePartTypeEnum.HIGHWATERLINE +landfield = IfcMarinePartTypeEnum.LANDFIELD +leewardside = IfcMarinePartTypeEnum.LEEWARDSIDE +lowwaterline = IfcMarinePartTypeEnum.LOWWATERLINE +manufacturing = IfcMarinePartTypeEnum.MANUFACTURING +navigationalarea = IfcMarinePartTypeEnum.NAVIGATIONALAREA +protection = IfcMarinePartTypeEnum.PROTECTION +shiptransfer = IfcMarinePartTypeEnum.SHIPTRANSFER +storagearea = IfcMarinePartTypeEnum.STORAGEAREA +vehicleservicing = IfcMarinePartTypeEnum.VEHICLESERVICING +waterfield = IfcMarinePartTypeEnum.WATERFIELD +weatherside = IfcMarinePartTypeEnum.WEATHERSIDE +userdefined = IfcMarinePartTypeEnum.USERDEFINED +notdefined = IfcMarinePartTypeEnum.NOTDEFINED IfcMechanicalFastenerTypeEnum = enum_namespace() -anchorbolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'ANCHORBOLT', INDETERMINATE) -bolt = express_getattr(IfcMechanicalFastenerTypeEnum, 'BOLT', INDETERMINATE) -chain = express_getattr(IfcMechanicalFastenerTypeEnum, 'CHAIN', INDETERMINATE) -coupler = express_getattr(IfcMechanicalFastenerTypeEnum, 'COUPLER', INDETERMINATE) -dowel = express_getattr(IfcMechanicalFastenerTypeEnum, 'DOWEL', INDETERMINATE) -nail = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAIL', INDETERMINATE) -nailplate = express_getattr(IfcMechanicalFastenerTypeEnum, 'NAILPLATE', INDETERMINATE) -railfastening = express_getattr(IfcMechanicalFastenerTypeEnum, 'RAILFASTENING', INDETERMINATE) -railjoint = express_getattr(IfcMechanicalFastenerTypeEnum, 'RAILJOINT', INDETERMINATE) -rivet = express_getattr(IfcMechanicalFastenerTypeEnum, 'RIVET', INDETERMINATE) -rope = express_getattr(IfcMechanicalFastenerTypeEnum, 'ROPE', INDETERMINATE) -screw = express_getattr(IfcMechanicalFastenerTypeEnum, 'SCREW', INDETERMINATE) -shearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'SHEARCONNECTOR', INDETERMINATE) -staple = express_getattr(IfcMechanicalFastenerTypeEnum, 'STAPLE', INDETERMINATE) -studshearconnector = express_getattr(IfcMechanicalFastenerTypeEnum, 'STUDSHEARCONNECTOR', INDETERMINATE) -userdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMechanicalFastenerTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchorbolt = IfcMechanicalFastenerTypeEnum.ANCHORBOLT +bolt = IfcMechanicalFastenerTypeEnum.BOLT +chain = IfcMechanicalFastenerTypeEnum.CHAIN +coupler = IfcMechanicalFastenerTypeEnum.COUPLER +dowel = IfcMechanicalFastenerTypeEnum.DOWEL +nail = IfcMechanicalFastenerTypeEnum.NAIL +nailplate = IfcMechanicalFastenerTypeEnum.NAILPLATE +railfastening = IfcMechanicalFastenerTypeEnum.RAILFASTENING +railjoint = IfcMechanicalFastenerTypeEnum.RAILJOINT +rivet = IfcMechanicalFastenerTypeEnum.RIVET +rope = IfcMechanicalFastenerTypeEnum.ROPE +screw = IfcMechanicalFastenerTypeEnum.SCREW +shearconnector = IfcMechanicalFastenerTypeEnum.SHEARCONNECTOR +staple = IfcMechanicalFastenerTypeEnum.STAPLE +studshearconnector = IfcMechanicalFastenerTypeEnum.STUDSHEARCONNECTOR +userdefined = IfcMechanicalFastenerTypeEnum.USERDEFINED +notdefined = IfcMechanicalFastenerTypeEnum.NOTDEFINED IfcMedicalDeviceTypeEnum = enum_namespace() -airstation = express_getattr(IfcMedicalDeviceTypeEnum, 'AIRSTATION', INDETERMINATE) -feedairunit = express_getattr(IfcMedicalDeviceTypeEnum, 'FEEDAIRUNIT', INDETERMINATE) -oxygengenerator = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENGENERATOR', INDETERMINATE) -oxygenplant = express_getattr(IfcMedicalDeviceTypeEnum, 'OXYGENPLANT', INDETERMINATE) -vacuumstation = express_getattr(IfcMedicalDeviceTypeEnum, 'VACUUMSTATION', INDETERMINATE) -userdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMedicalDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +airstation = IfcMedicalDeviceTypeEnum.AIRSTATION +feedairunit = IfcMedicalDeviceTypeEnum.FEEDAIRUNIT +oxygengenerator = IfcMedicalDeviceTypeEnum.OXYGENGENERATOR +oxygenplant = IfcMedicalDeviceTypeEnum.OXYGENPLANT +vacuumstation = IfcMedicalDeviceTypeEnum.VACUUMSTATION +userdefined = IfcMedicalDeviceTypeEnum.USERDEFINED +notdefined = IfcMedicalDeviceTypeEnum.NOTDEFINED IfcMemberTypeEnum = enum_namespace() -arch_segment = express_getattr(IfcMemberTypeEnum, 'ARCH_SEGMENT', INDETERMINATE) -brace = express_getattr(IfcMemberTypeEnum, 'BRACE', INDETERMINATE) -chord = express_getattr(IfcMemberTypeEnum, 'CHORD', INDETERMINATE) -collar = express_getattr(IfcMemberTypeEnum, 'COLLAR', INDETERMINATE) -member = express_getattr(IfcMemberTypeEnum, 'MEMBER', INDETERMINATE) -mullion = express_getattr(IfcMemberTypeEnum, 'MULLION', INDETERMINATE) -plate = express_getattr(IfcMemberTypeEnum, 'PLATE', INDETERMINATE) -post = express_getattr(IfcMemberTypeEnum, 'POST', INDETERMINATE) -purlin = express_getattr(IfcMemberTypeEnum, 'PURLIN', INDETERMINATE) -rafter = express_getattr(IfcMemberTypeEnum, 'RAFTER', INDETERMINATE) -stay_cable = express_getattr(IfcMemberTypeEnum, 'STAY_CABLE', INDETERMINATE) -stiffening_rib = express_getattr(IfcMemberTypeEnum, 'STIFFENING_RIB', INDETERMINATE) -stringer = express_getattr(IfcMemberTypeEnum, 'STRINGER', INDETERMINATE) -structuralcable = express_getattr(IfcMemberTypeEnum, 'STRUCTURALCABLE', INDETERMINATE) -strut = express_getattr(IfcMemberTypeEnum, 'STRUT', INDETERMINATE) -stud = express_getattr(IfcMemberTypeEnum, 'STUD', INDETERMINATE) -suspender = express_getattr(IfcMemberTypeEnum, 'SUSPENDER', INDETERMINATE) -suspension_cable = express_getattr(IfcMemberTypeEnum, 'SUSPENSION_CABLE', INDETERMINATE) -tiebar = express_getattr(IfcMemberTypeEnum, 'TIEBAR', INDETERMINATE) -userdefined = express_getattr(IfcMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +arch_segment = IfcMemberTypeEnum.ARCH_SEGMENT +brace = IfcMemberTypeEnum.BRACE +chord = IfcMemberTypeEnum.CHORD +collar = IfcMemberTypeEnum.COLLAR +member = IfcMemberTypeEnum.MEMBER +mullion = IfcMemberTypeEnum.MULLION +plate = IfcMemberTypeEnum.PLATE +post = IfcMemberTypeEnum.POST +purlin = IfcMemberTypeEnum.PURLIN +rafter = IfcMemberTypeEnum.RAFTER +stay_cable = IfcMemberTypeEnum.STAY_CABLE +stiffening_rib = IfcMemberTypeEnum.STIFFENING_RIB +stringer = IfcMemberTypeEnum.STRINGER +structuralcable = IfcMemberTypeEnum.STRUCTURALCABLE +strut = IfcMemberTypeEnum.STRUT +stud = IfcMemberTypeEnum.STUD +suspender = IfcMemberTypeEnum.SUSPENDER +suspension_cable = IfcMemberTypeEnum.SUSPENSION_CABLE +tiebar = IfcMemberTypeEnum.TIEBAR +userdefined = IfcMemberTypeEnum.USERDEFINED +notdefined = IfcMemberTypeEnum.NOTDEFINED IfcMobileTelecommunicationsApplianceTypeEnum = enum_namespace() -accesspoint = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'ACCESSPOINT', INDETERMINATE) -basebandunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'BASEBANDUNIT', INDETERMINATE) -basetransceiverstation = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'BASETRANSCEIVERSTATION', INDETERMINATE) -e_utran_node_b = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'E_UTRAN_NODE_B', INDETERMINATE) -gateway_gprs_support_node = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'GATEWAY_GPRS_SUPPORT_NODE', INDETERMINATE) -masterunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'MASTERUNIT', INDETERMINATE) -mobileswitchingcenter = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'MOBILESWITCHINGCENTER', INDETERMINATE) -mscserver = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'MSCSERVER', INDETERMINATE) -packetcontrolunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'PACKETCONTROLUNIT', INDETERMINATE) -remoteradiounit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'REMOTERADIOUNIT', INDETERMINATE) -remoteunit = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'REMOTEUNIT', INDETERMINATE) -service_gprs_support_node = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'SERVICE_GPRS_SUPPORT_NODE', INDETERMINATE) -subscriberserver = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'SUBSCRIBERSERVER', INDETERMINATE) -userdefined = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMobileTelecommunicationsApplianceTypeEnum, 'NOTDEFINED', INDETERMINATE) +accesspoint = IfcMobileTelecommunicationsApplianceTypeEnum.ACCESSPOINT +basebandunit = IfcMobileTelecommunicationsApplianceTypeEnum.BASEBANDUNIT +basetransceiverstation = IfcMobileTelecommunicationsApplianceTypeEnum.BASETRANSCEIVERSTATION +e_utran_node_b = IfcMobileTelecommunicationsApplianceTypeEnum.E_UTRAN_NODE_B +gateway_gprs_support_node = IfcMobileTelecommunicationsApplianceTypeEnum.GATEWAY_GPRS_SUPPORT_NODE +masterunit = IfcMobileTelecommunicationsApplianceTypeEnum.MASTERUNIT +mobileswitchingcenter = IfcMobileTelecommunicationsApplianceTypeEnum.MOBILESWITCHINGCENTER +mscserver = IfcMobileTelecommunicationsApplianceTypeEnum.MSCSERVER +packetcontrolunit = IfcMobileTelecommunicationsApplianceTypeEnum.PACKETCONTROLUNIT +remoteradiounit = IfcMobileTelecommunicationsApplianceTypeEnum.REMOTERADIOUNIT +remoteunit = IfcMobileTelecommunicationsApplianceTypeEnum.REMOTEUNIT +service_gprs_support_node = IfcMobileTelecommunicationsApplianceTypeEnum.SERVICE_GPRS_SUPPORT_NODE +subscriberserver = IfcMobileTelecommunicationsApplianceTypeEnum.SUBSCRIBERSERVER +userdefined = IfcMobileTelecommunicationsApplianceTypeEnum.USERDEFINED +notdefined = IfcMobileTelecommunicationsApplianceTypeEnum.NOTDEFINED IfcMooringDeviceTypeEnum = enum_namespace() -bollard = express_getattr(IfcMooringDeviceTypeEnum, 'BOLLARD', INDETERMINATE) -linetensioner = express_getattr(IfcMooringDeviceTypeEnum, 'LINETENSIONER', INDETERMINATE) -magneticdevice = express_getattr(IfcMooringDeviceTypeEnum, 'MAGNETICDEVICE', INDETERMINATE) -mooringhooks = express_getattr(IfcMooringDeviceTypeEnum, 'MOORINGHOOKS', INDETERMINATE) -vacuumdevice = express_getattr(IfcMooringDeviceTypeEnum, 'VACUUMDEVICE', INDETERMINATE) -userdefined = express_getattr(IfcMooringDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMooringDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +bollard = IfcMooringDeviceTypeEnum.BOLLARD +linetensioner = IfcMooringDeviceTypeEnum.LINETENSIONER +magneticdevice = IfcMooringDeviceTypeEnum.MAGNETICDEVICE +mooringhooks = IfcMooringDeviceTypeEnum.MOORINGHOOKS +vacuumdevice = IfcMooringDeviceTypeEnum.VACUUMDEVICE +userdefined = IfcMooringDeviceTypeEnum.USERDEFINED +notdefined = IfcMooringDeviceTypeEnum.NOTDEFINED IfcMotorConnectionTypeEnum = enum_namespace() -beltdrive = express_getattr(IfcMotorConnectionTypeEnum, 'BELTDRIVE', INDETERMINATE) -coupling = express_getattr(IfcMotorConnectionTypeEnum, 'COUPLING', INDETERMINATE) -directdrive = express_getattr(IfcMotorConnectionTypeEnum, 'DIRECTDRIVE', INDETERMINATE) -userdefined = express_getattr(IfcMotorConnectionTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcMotorConnectionTypeEnum, 'NOTDEFINED', INDETERMINATE) +beltdrive = IfcMotorConnectionTypeEnum.BELTDRIVE +coupling = IfcMotorConnectionTypeEnum.COUPLING +directdrive = IfcMotorConnectionTypeEnum.DIRECTDRIVE +userdefined = IfcMotorConnectionTypeEnum.USERDEFINED +notdefined = IfcMotorConnectionTypeEnum.NOTDEFINED IfcNavigationElementTypeEnum = enum_namespace() -beacon = express_getattr(IfcNavigationElementTypeEnum, 'BEACON', INDETERMINATE) -buoy = express_getattr(IfcNavigationElementTypeEnum, 'BUOY', INDETERMINATE) -userdefined = express_getattr(IfcNavigationElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcNavigationElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +beacon = IfcNavigationElementTypeEnum.BEACON +buoy = IfcNavigationElementTypeEnum.BUOY +userdefined = IfcNavigationElementTypeEnum.USERDEFINED +notdefined = IfcNavigationElementTypeEnum.NOTDEFINED IfcObjectiveEnum = enum_namespace() -codecompliance = express_getattr(IfcObjectiveEnum, 'CODECOMPLIANCE', INDETERMINATE) -codewaiver = express_getattr(IfcObjectiveEnum, 'CODEWAIVER', INDETERMINATE) -designintent = express_getattr(IfcObjectiveEnum, 'DESIGNINTENT', INDETERMINATE) -external = express_getattr(IfcObjectiveEnum, 'EXTERNAL', INDETERMINATE) -healthandsafety = express_getattr(IfcObjectiveEnum, 'HEALTHANDSAFETY', INDETERMINATE) -mergeconflict = express_getattr(IfcObjectiveEnum, 'MERGECONFLICT', INDETERMINATE) -modelview = express_getattr(IfcObjectiveEnum, 'MODELVIEW', INDETERMINATE) -parameter = express_getattr(IfcObjectiveEnum, 'PARAMETER', INDETERMINATE) -requirement = express_getattr(IfcObjectiveEnum, 'REQUIREMENT', INDETERMINATE) -specification = express_getattr(IfcObjectiveEnum, 'SPECIFICATION', INDETERMINATE) -triggercondition = express_getattr(IfcObjectiveEnum, 'TRIGGERCONDITION', INDETERMINATE) -userdefined = express_getattr(IfcObjectiveEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcObjectiveEnum, 'NOTDEFINED', INDETERMINATE) +codecompliance = IfcObjectiveEnum.CODECOMPLIANCE +codewaiver = IfcObjectiveEnum.CODEWAIVER +designintent = IfcObjectiveEnum.DESIGNINTENT +external = IfcObjectiveEnum.EXTERNAL +healthandsafety = IfcObjectiveEnum.HEALTHANDSAFETY +mergeconflict = IfcObjectiveEnum.MERGECONFLICT +modelview = IfcObjectiveEnum.MODELVIEW +parameter = IfcObjectiveEnum.PARAMETER +requirement = IfcObjectiveEnum.REQUIREMENT +specification = IfcObjectiveEnum.SPECIFICATION +triggercondition = IfcObjectiveEnum.TRIGGERCONDITION +userdefined = IfcObjectiveEnum.USERDEFINED +notdefined = IfcObjectiveEnum.NOTDEFINED IfcOccupantTypeEnum = enum_namespace() -assignee = express_getattr(IfcOccupantTypeEnum, 'ASSIGNEE', INDETERMINATE) -assignor = express_getattr(IfcOccupantTypeEnum, 'ASSIGNOR', INDETERMINATE) -lessee = express_getattr(IfcOccupantTypeEnum, 'LESSEE', INDETERMINATE) -lessor = express_getattr(IfcOccupantTypeEnum, 'LESSOR', INDETERMINATE) -lettingagent = express_getattr(IfcOccupantTypeEnum, 'LETTINGAGENT', INDETERMINATE) -owner = express_getattr(IfcOccupantTypeEnum, 'OWNER', INDETERMINATE) -tenant = express_getattr(IfcOccupantTypeEnum, 'TENANT', INDETERMINATE) -userdefined = express_getattr(IfcOccupantTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOccupantTypeEnum, 'NOTDEFINED', INDETERMINATE) +assignee = IfcOccupantTypeEnum.ASSIGNEE +assignor = IfcOccupantTypeEnum.ASSIGNOR +lessee = IfcOccupantTypeEnum.LESSEE +lessor = IfcOccupantTypeEnum.LESSOR +lettingagent = IfcOccupantTypeEnum.LETTINGAGENT +owner = IfcOccupantTypeEnum.OWNER +tenant = IfcOccupantTypeEnum.TENANT +userdefined = IfcOccupantTypeEnum.USERDEFINED +notdefined = IfcOccupantTypeEnum.NOTDEFINED IfcOpeningElementTypeEnum = enum_namespace() -opening = express_getattr(IfcOpeningElementTypeEnum, 'OPENING', INDETERMINATE) -recess = express_getattr(IfcOpeningElementTypeEnum, 'RECESS', INDETERMINATE) -userdefined = express_getattr(IfcOpeningElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOpeningElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +opening = IfcOpeningElementTypeEnum.OPENING +recess = IfcOpeningElementTypeEnum.RECESS +userdefined = IfcOpeningElementTypeEnum.USERDEFINED +notdefined = IfcOpeningElementTypeEnum.NOTDEFINED IfcOutletTypeEnum = enum_namespace() -audiovisualoutlet = express_getattr(IfcOutletTypeEnum, 'AUDIOVISUALOUTLET', INDETERMINATE) -communicationsoutlet = express_getattr(IfcOutletTypeEnum, 'COMMUNICATIONSOUTLET', INDETERMINATE) -dataoutlet = express_getattr(IfcOutletTypeEnum, 'DATAOUTLET', INDETERMINATE) -poweroutlet = express_getattr(IfcOutletTypeEnum, 'POWEROUTLET', INDETERMINATE) -telephoneoutlet = express_getattr(IfcOutletTypeEnum, 'TELEPHONEOUTLET', INDETERMINATE) -userdefined = express_getattr(IfcOutletTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcOutletTypeEnum, 'NOTDEFINED', INDETERMINATE) +audiovisualoutlet = IfcOutletTypeEnum.AUDIOVISUALOUTLET +communicationsoutlet = IfcOutletTypeEnum.COMMUNICATIONSOUTLET +dataoutlet = IfcOutletTypeEnum.DATAOUTLET +poweroutlet = IfcOutletTypeEnum.POWEROUTLET +telephoneoutlet = IfcOutletTypeEnum.TELEPHONEOUTLET +userdefined = IfcOutletTypeEnum.USERDEFINED +notdefined = IfcOutletTypeEnum.NOTDEFINED IfcPavementTypeEnum = enum_namespace() -flexible = express_getattr(IfcPavementTypeEnum, 'FLEXIBLE', INDETERMINATE) -rigid = express_getattr(IfcPavementTypeEnum, 'RIGID', INDETERMINATE) -userdefined = express_getattr(IfcPavementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPavementTypeEnum, 'NOTDEFINED', INDETERMINATE) +flexible = IfcPavementTypeEnum.FLEXIBLE +rigid = IfcPavementTypeEnum.RIGID +userdefined = IfcPavementTypeEnum.USERDEFINED +notdefined = IfcPavementTypeEnum.NOTDEFINED IfcPerformanceHistoryTypeEnum = enum_namespace() -userdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPerformanceHistoryTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcPerformanceHistoryTypeEnum.USERDEFINED +notdefined = IfcPerformanceHistoryTypeEnum.NOTDEFINED IfcPermeableCoveringOperationEnum = enum_namespace() -grill = express_getattr(IfcPermeableCoveringOperationEnum, 'GRILL', INDETERMINATE) -louver = express_getattr(IfcPermeableCoveringOperationEnum, 'LOUVER', INDETERMINATE) -screen = express_getattr(IfcPermeableCoveringOperationEnum, 'SCREEN', INDETERMINATE) -userdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermeableCoveringOperationEnum, 'NOTDEFINED', INDETERMINATE) +grill = IfcPermeableCoveringOperationEnum.GRILL +louver = IfcPermeableCoveringOperationEnum.LOUVER +screen = IfcPermeableCoveringOperationEnum.SCREEN +userdefined = IfcPermeableCoveringOperationEnum.USERDEFINED +notdefined = IfcPermeableCoveringOperationEnum.NOTDEFINED IfcPermitTypeEnum = enum_namespace() -access = express_getattr(IfcPermitTypeEnum, 'ACCESS', INDETERMINATE) -building = express_getattr(IfcPermitTypeEnum, 'BUILDING', INDETERMINATE) -work = express_getattr(IfcPermitTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcPermitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPermitTypeEnum, 'NOTDEFINED', INDETERMINATE) +access = IfcPermitTypeEnum.ACCESS +building = IfcPermitTypeEnum.BUILDING +work = IfcPermitTypeEnum.WORK +userdefined = IfcPermitTypeEnum.USERDEFINED +notdefined = IfcPermitTypeEnum.NOTDEFINED IfcPhysicalOrVirtualEnum = enum_namespace() -physical = express_getattr(IfcPhysicalOrVirtualEnum, 'PHYSICAL', INDETERMINATE) -virtual = express_getattr(IfcPhysicalOrVirtualEnum, 'VIRTUAL', INDETERMINATE) -notdefined = express_getattr(IfcPhysicalOrVirtualEnum, 'NOTDEFINED', INDETERMINATE) +physical = IfcPhysicalOrVirtualEnum.PHYSICAL +virtual = IfcPhysicalOrVirtualEnum.VIRTUAL +notdefined = IfcPhysicalOrVirtualEnum.NOTDEFINED IfcPileConstructionEnum = enum_namespace() -cast_in_place = express_getattr(IfcPileConstructionEnum, 'CAST_IN_PLACE', INDETERMINATE) -composite = express_getattr(IfcPileConstructionEnum, 'COMPOSITE', INDETERMINATE) -precast_concrete = express_getattr(IfcPileConstructionEnum, 'PRECAST_CONCRETE', INDETERMINATE) -prefab_steel = express_getattr(IfcPileConstructionEnum, 'PREFAB_STEEL', INDETERMINATE) -userdefined = express_getattr(IfcPileConstructionEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileConstructionEnum, 'NOTDEFINED', INDETERMINATE) +cast_in_place = IfcPileConstructionEnum.CAST_IN_PLACE +composite = IfcPileConstructionEnum.COMPOSITE +precast_concrete = IfcPileConstructionEnum.PRECAST_CONCRETE +prefab_steel = IfcPileConstructionEnum.PREFAB_STEEL +userdefined = IfcPileConstructionEnum.USERDEFINED +notdefined = IfcPileConstructionEnum.NOTDEFINED IfcPileTypeEnum = enum_namespace() -bored = express_getattr(IfcPileTypeEnum, 'BORED', INDETERMINATE) -cohesion = express_getattr(IfcPileTypeEnum, 'COHESION', INDETERMINATE) -driven = express_getattr(IfcPileTypeEnum, 'DRIVEN', INDETERMINATE) -friction = express_getattr(IfcPileTypeEnum, 'FRICTION', INDETERMINATE) -jetgrouting = express_getattr(IfcPileTypeEnum, 'JETGROUTING', INDETERMINATE) -support = express_getattr(IfcPileTypeEnum, 'SUPPORT', INDETERMINATE) -userdefined = express_getattr(IfcPileTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPileTypeEnum, 'NOTDEFINED', INDETERMINATE) +bored = IfcPileTypeEnum.BORED +cohesion = IfcPileTypeEnum.COHESION +driven = IfcPileTypeEnum.DRIVEN +friction = IfcPileTypeEnum.FRICTION +jetgrouting = IfcPileTypeEnum.JETGROUTING +support = IfcPileTypeEnum.SUPPORT +userdefined = IfcPileTypeEnum.USERDEFINED +notdefined = IfcPileTypeEnum.NOTDEFINED IfcPipeFittingTypeEnum = enum_namespace() -bend = express_getattr(IfcPipeFittingTypeEnum, 'BEND', INDETERMINATE) -connector = express_getattr(IfcPipeFittingTypeEnum, 'CONNECTOR', INDETERMINATE) -entry = express_getattr(IfcPipeFittingTypeEnum, 'ENTRY', INDETERMINATE) -exit = express_getattr(IfcPipeFittingTypeEnum, 'EXIT', INDETERMINATE) -junction = express_getattr(IfcPipeFittingTypeEnum, 'JUNCTION', INDETERMINATE) -obstruction = express_getattr(IfcPipeFittingTypeEnum, 'OBSTRUCTION', INDETERMINATE) -transition = express_getattr(IfcPipeFittingTypeEnum, 'TRANSITION', INDETERMINATE) -userdefined = express_getattr(IfcPipeFittingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeFittingTypeEnum, 'NOTDEFINED', INDETERMINATE) +bend = IfcPipeFittingTypeEnum.BEND +connector = IfcPipeFittingTypeEnum.CONNECTOR +entry = IfcPipeFittingTypeEnum.ENTRY +exit = IfcPipeFittingTypeEnum.EXIT +junction = IfcPipeFittingTypeEnum.JUNCTION +obstruction = IfcPipeFittingTypeEnum.OBSTRUCTION +transition = IfcPipeFittingTypeEnum.TRANSITION +userdefined = IfcPipeFittingTypeEnum.USERDEFINED +notdefined = IfcPipeFittingTypeEnum.NOTDEFINED IfcPipeSegmentTypeEnum = enum_namespace() -culvert = express_getattr(IfcPipeSegmentTypeEnum, 'CULVERT', INDETERMINATE) -flexiblesegment = express_getattr(IfcPipeSegmentTypeEnum, 'FLEXIBLESEGMENT', INDETERMINATE) -gutter = express_getattr(IfcPipeSegmentTypeEnum, 'GUTTER', INDETERMINATE) -rigidsegment = express_getattr(IfcPipeSegmentTypeEnum, 'RIGIDSEGMENT', INDETERMINATE) -spool = express_getattr(IfcPipeSegmentTypeEnum, 'SPOOL', INDETERMINATE) -userdefined = express_getattr(IfcPipeSegmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPipeSegmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +culvert = IfcPipeSegmentTypeEnum.CULVERT +flexiblesegment = IfcPipeSegmentTypeEnum.FLEXIBLESEGMENT +gutter = IfcPipeSegmentTypeEnum.GUTTER +rigidsegment = IfcPipeSegmentTypeEnum.RIGIDSEGMENT +spool = IfcPipeSegmentTypeEnum.SPOOL +userdefined = IfcPipeSegmentTypeEnum.USERDEFINED +notdefined = IfcPipeSegmentTypeEnum.NOTDEFINED IfcPlateTypeEnum = enum_namespace() -base_plate = express_getattr(IfcPlateTypeEnum, 'BASE_PLATE', INDETERMINATE) -cover_plate = express_getattr(IfcPlateTypeEnum, 'COVER_PLATE', INDETERMINATE) -curtain_panel = express_getattr(IfcPlateTypeEnum, 'CURTAIN_PANEL', INDETERMINATE) -flange_plate = express_getattr(IfcPlateTypeEnum, 'FLANGE_PLATE', INDETERMINATE) -gusset_plate = express_getattr(IfcPlateTypeEnum, 'GUSSET_PLATE', INDETERMINATE) -sheet = express_getattr(IfcPlateTypeEnum, 'SHEET', INDETERMINATE) -splice_plate = express_getattr(IfcPlateTypeEnum, 'SPLICE_PLATE', INDETERMINATE) -stiffener_plate = express_getattr(IfcPlateTypeEnum, 'STIFFENER_PLATE', INDETERMINATE) -web_plate = express_getattr(IfcPlateTypeEnum, 'WEB_PLATE', INDETERMINATE) -userdefined = express_getattr(IfcPlateTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPlateTypeEnum, 'NOTDEFINED', INDETERMINATE) +base_plate = IfcPlateTypeEnum.BASE_PLATE +cover_plate = IfcPlateTypeEnum.COVER_PLATE +curtain_panel = IfcPlateTypeEnum.CURTAIN_PANEL +flange_plate = IfcPlateTypeEnum.FLANGE_PLATE +gusset_plate = IfcPlateTypeEnum.GUSSET_PLATE +sheet = IfcPlateTypeEnum.SHEET +splice_plate = IfcPlateTypeEnum.SPLICE_PLATE +stiffener_plate = IfcPlateTypeEnum.STIFFENER_PLATE +web_plate = IfcPlateTypeEnum.WEB_PLATE +userdefined = IfcPlateTypeEnum.USERDEFINED +notdefined = IfcPlateTypeEnum.NOTDEFINED IfcPreferredSurfaceCurveRepresentation = enum_namespace() -curve3d = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'CURVE3D', INDETERMINATE) -pcurve_s1 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S1', INDETERMINATE) -pcurve_s2 = express_getattr(IfcPreferredSurfaceCurveRepresentation, 'PCURVE_S2', INDETERMINATE) +curve3d = IfcPreferredSurfaceCurveRepresentation.CURVE3D +pcurve_s1 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S1 +pcurve_s2 = IfcPreferredSurfaceCurveRepresentation.PCURVE_S2 IfcProcedureTypeEnum = enum_namespace() -advice_caution = express_getattr(IfcProcedureTypeEnum, 'ADVICE_CAUTION', INDETERMINATE) -advice_note = express_getattr(IfcProcedureTypeEnum, 'ADVICE_NOTE', INDETERMINATE) -advice_warning = express_getattr(IfcProcedureTypeEnum, 'ADVICE_WARNING', INDETERMINATE) -calibration = express_getattr(IfcProcedureTypeEnum, 'CALIBRATION', INDETERMINATE) -diagnostic = express_getattr(IfcProcedureTypeEnum, 'DIAGNOSTIC', INDETERMINATE) -shutdown = express_getattr(IfcProcedureTypeEnum, 'SHUTDOWN', INDETERMINATE) -startup = express_getattr(IfcProcedureTypeEnum, 'STARTUP', INDETERMINATE) -userdefined = express_getattr(IfcProcedureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProcedureTypeEnum, 'NOTDEFINED', INDETERMINATE) +advice_caution = IfcProcedureTypeEnum.ADVICE_CAUTION +advice_note = IfcProcedureTypeEnum.ADVICE_NOTE +advice_warning = IfcProcedureTypeEnum.ADVICE_WARNING +calibration = IfcProcedureTypeEnum.CALIBRATION +diagnostic = IfcProcedureTypeEnum.DIAGNOSTIC +shutdown = IfcProcedureTypeEnum.SHUTDOWN +startup = IfcProcedureTypeEnum.STARTUP +userdefined = IfcProcedureTypeEnum.USERDEFINED +notdefined = IfcProcedureTypeEnum.NOTDEFINED IfcProfileTypeEnum = enum_namespace() -area = express_getattr(IfcProfileTypeEnum, 'AREA', INDETERMINATE) -curve = express_getattr(IfcProfileTypeEnum, 'CURVE', INDETERMINATE) +area = IfcProfileTypeEnum.AREA +curve = IfcProfileTypeEnum.CURVE IfcProjectOrderTypeEnum = enum_namespace() -changeorder = express_getattr(IfcProjectOrderTypeEnum, 'CHANGEORDER', INDETERMINATE) -maintenanceworkorder = express_getattr(IfcProjectOrderTypeEnum, 'MAINTENANCEWORKORDER', INDETERMINATE) -moveorder = express_getattr(IfcProjectOrderTypeEnum, 'MOVEORDER', INDETERMINATE) -purchaseorder = express_getattr(IfcProjectOrderTypeEnum, 'PURCHASEORDER', INDETERMINATE) -workorder = express_getattr(IfcProjectOrderTypeEnum, 'WORKORDER', INDETERMINATE) -userdefined = express_getattr(IfcProjectOrderTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectOrderTypeEnum, 'NOTDEFINED', INDETERMINATE) +changeorder = IfcProjectOrderTypeEnum.CHANGEORDER +maintenanceworkorder = IfcProjectOrderTypeEnum.MAINTENANCEWORKORDER +moveorder = IfcProjectOrderTypeEnum.MOVEORDER +purchaseorder = IfcProjectOrderTypeEnum.PURCHASEORDER +workorder = IfcProjectOrderTypeEnum.WORKORDER +userdefined = IfcProjectOrderTypeEnum.USERDEFINED +notdefined = IfcProjectOrderTypeEnum.NOTDEFINED IfcProjectedOrTrueLengthEnum = enum_namespace() -projected_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'PROJECTED_LENGTH', INDETERMINATE) -true_length = express_getattr(IfcProjectedOrTrueLengthEnum, 'TRUE_LENGTH', INDETERMINATE) +projected_length = IfcProjectedOrTrueLengthEnum.PROJECTED_LENGTH +true_length = IfcProjectedOrTrueLengthEnum.TRUE_LENGTH IfcProjectionElementTypeEnum = enum_namespace() -blister = express_getattr(IfcProjectionElementTypeEnum, 'BLISTER', INDETERMINATE) -deviator = express_getattr(IfcProjectionElementTypeEnum, 'DEVIATOR', INDETERMINATE) -userdefined = express_getattr(IfcProjectionElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProjectionElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +blister = IfcProjectionElementTypeEnum.BLISTER +deviator = IfcProjectionElementTypeEnum.DEVIATOR +userdefined = IfcProjectionElementTypeEnum.USERDEFINED +notdefined = IfcProjectionElementTypeEnum.NOTDEFINED IfcPropertySetTemplateTypeEnum = enum_namespace() -pset_materialdriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_MATERIALDRIVEN', INDETERMINATE) -pset_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_OCCURRENCEDRIVEN', INDETERMINATE) -pset_performancedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_PERFORMANCEDRIVEN', INDETERMINATE) -pset_profiledriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_PROFILEDRIVEN', INDETERMINATE) -pset_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENONLY', INDETERMINATE) -pset_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'PSET_TYPEDRIVENOVERRIDE', INDETERMINATE) -qto_occurrencedriven = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_OCCURRENCEDRIVEN', INDETERMINATE) -qto_typedrivenonly = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENONLY', INDETERMINATE) -qto_typedrivenoverride = express_getattr(IfcPropertySetTemplateTypeEnum, 'QTO_TYPEDRIVENOVERRIDE', INDETERMINATE) -notdefined = express_getattr(IfcPropertySetTemplateTypeEnum, 'NOTDEFINED', INDETERMINATE) +pset_materialdriven = IfcPropertySetTemplateTypeEnum.PSET_MATERIALDRIVEN +pset_occurrencedriven = IfcPropertySetTemplateTypeEnum.PSET_OCCURRENCEDRIVEN +pset_performancedriven = IfcPropertySetTemplateTypeEnum.PSET_PERFORMANCEDRIVEN +pset_profiledriven = IfcPropertySetTemplateTypeEnum.PSET_PROFILEDRIVEN +pset_typedrivenonly = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENONLY +pset_typedrivenoverride = IfcPropertySetTemplateTypeEnum.PSET_TYPEDRIVENOVERRIDE +qto_occurrencedriven = IfcPropertySetTemplateTypeEnum.QTO_OCCURRENCEDRIVEN +qto_typedrivenonly = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENONLY +qto_typedrivenoverride = IfcPropertySetTemplateTypeEnum.QTO_TYPEDRIVENOVERRIDE +notdefined = IfcPropertySetTemplateTypeEnum.NOTDEFINED IfcProtectiveDeviceTrippingUnitTypeEnum = enum_namespace() -electromagnetic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTROMAGNETIC', INDETERMINATE) -electronic = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'ELECTRONIC', INDETERMINATE) -residualcurrent = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'RESIDUALCURRENT', INDETERMINATE) -thermal = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'THERMAL', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTrippingUnitTypeEnum, 'NOTDEFINED', INDETERMINATE) +electromagnetic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTROMAGNETIC +electronic = IfcProtectiveDeviceTrippingUnitTypeEnum.ELECTRONIC +residualcurrent = IfcProtectiveDeviceTrippingUnitTypeEnum.RESIDUALCURRENT +thermal = IfcProtectiveDeviceTrippingUnitTypeEnum.THERMAL +userdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTrippingUnitTypeEnum.NOTDEFINED IfcProtectiveDeviceTypeEnum = enum_namespace() -anti_arcing_device = express_getattr(IfcProtectiveDeviceTypeEnum, 'ANTI_ARCING_DEVICE', INDETERMINATE) -circuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'CIRCUITBREAKER', INDETERMINATE) -earthingswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHINGSWITCH', INDETERMINATE) -earthleakagecircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'EARTHLEAKAGECIRCUITBREAKER', INDETERMINATE) -fusedisconnector = express_getattr(IfcProtectiveDeviceTypeEnum, 'FUSEDISCONNECTOR', INDETERMINATE) -residualcurrentcircuitbreaker = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTCIRCUITBREAKER', INDETERMINATE) -residualcurrentswitch = express_getattr(IfcProtectiveDeviceTypeEnum, 'RESIDUALCURRENTSWITCH', INDETERMINATE) -sparkgap = express_getattr(IfcProtectiveDeviceTypeEnum, 'SPARKGAP', INDETERMINATE) -varistor = express_getattr(IfcProtectiveDeviceTypeEnum, 'VARISTOR', INDETERMINATE) -voltagelimiter = express_getattr(IfcProtectiveDeviceTypeEnum, 'VOLTAGELIMITER', INDETERMINATE) -userdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcProtectiveDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +anti_arcing_device = IfcProtectiveDeviceTypeEnum.ANTI_ARCING_DEVICE +circuitbreaker = IfcProtectiveDeviceTypeEnum.CIRCUITBREAKER +earthingswitch = IfcProtectiveDeviceTypeEnum.EARTHINGSWITCH +earthleakagecircuitbreaker = IfcProtectiveDeviceTypeEnum.EARTHLEAKAGECIRCUITBREAKER +fusedisconnector = IfcProtectiveDeviceTypeEnum.FUSEDISCONNECTOR +residualcurrentcircuitbreaker = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTCIRCUITBREAKER +residualcurrentswitch = IfcProtectiveDeviceTypeEnum.RESIDUALCURRENTSWITCH +sparkgap = IfcProtectiveDeviceTypeEnum.SPARKGAP +varistor = IfcProtectiveDeviceTypeEnum.VARISTOR +voltagelimiter = IfcProtectiveDeviceTypeEnum.VOLTAGELIMITER +userdefined = IfcProtectiveDeviceTypeEnum.USERDEFINED +notdefined = IfcProtectiveDeviceTypeEnum.NOTDEFINED IfcPumpTypeEnum = enum_namespace() -circulator = express_getattr(IfcPumpTypeEnum, 'CIRCULATOR', INDETERMINATE) -endsuction = express_getattr(IfcPumpTypeEnum, 'ENDSUCTION', INDETERMINATE) -splitcase = express_getattr(IfcPumpTypeEnum, 'SPLITCASE', INDETERMINATE) -submersiblepump = express_getattr(IfcPumpTypeEnum, 'SUBMERSIBLEPUMP', INDETERMINATE) -sumppump = express_getattr(IfcPumpTypeEnum, 'SUMPPUMP', INDETERMINATE) -verticalinline = express_getattr(IfcPumpTypeEnum, 'VERTICALINLINE', INDETERMINATE) -verticalturbine = express_getattr(IfcPumpTypeEnum, 'VERTICALTURBINE', INDETERMINATE) -userdefined = express_getattr(IfcPumpTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcPumpTypeEnum, 'NOTDEFINED', INDETERMINATE) +circulator = IfcPumpTypeEnum.CIRCULATOR +endsuction = IfcPumpTypeEnum.ENDSUCTION +splitcase = IfcPumpTypeEnum.SPLITCASE +submersiblepump = IfcPumpTypeEnum.SUBMERSIBLEPUMP +sumppump = IfcPumpTypeEnum.SUMPPUMP +verticalinline = IfcPumpTypeEnum.VERTICALINLINE +verticalturbine = IfcPumpTypeEnum.VERTICALTURBINE +userdefined = IfcPumpTypeEnum.USERDEFINED +notdefined = IfcPumpTypeEnum.NOTDEFINED IfcRailTypeEnum = enum_namespace() -blade = express_getattr(IfcRailTypeEnum, 'BLADE', INDETERMINATE) -checkrail = express_getattr(IfcRailTypeEnum, 'CHECKRAIL', INDETERMINATE) -guardrail = express_getattr(IfcRailTypeEnum, 'GUARDRAIL', INDETERMINATE) -rackrail = express_getattr(IfcRailTypeEnum, 'RACKRAIL', INDETERMINATE) -rail = express_getattr(IfcRailTypeEnum, 'RAIL', INDETERMINATE) -stockrail = express_getattr(IfcRailTypeEnum, 'STOCKRAIL', INDETERMINATE) -userdefined = express_getattr(IfcRailTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailTypeEnum, 'NOTDEFINED', INDETERMINATE) +blade = IfcRailTypeEnum.BLADE +checkrail = IfcRailTypeEnum.CHECKRAIL +guardrail = IfcRailTypeEnum.GUARDRAIL +rackrail = IfcRailTypeEnum.RACKRAIL +rail = IfcRailTypeEnum.RAIL +stockrail = IfcRailTypeEnum.STOCKRAIL +userdefined = IfcRailTypeEnum.USERDEFINED +notdefined = IfcRailTypeEnum.NOTDEFINED IfcRailingTypeEnum = enum_namespace() -balustrade = express_getattr(IfcRailingTypeEnum, 'BALUSTRADE', INDETERMINATE) -fence = express_getattr(IfcRailingTypeEnum, 'FENCE', INDETERMINATE) -guardrail = express_getattr(IfcRailingTypeEnum, 'GUARDRAIL', INDETERMINATE) -handrail = express_getattr(IfcRailingTypeEnum, 'HANDRAIL', INDETERMINATE) -userdefined = express_getattr(IfcRailingTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailingTypeEnum, 'NOTDEFINED', INDETERMINATE) +balustrade = IfcRailingTypeEnum.BALUSTRADE +fence = IfcRailingTypeEnum.FENCE +guardrail = IfcRailingTypeEnum.GUARDRAIL +handrail = IfcRailingTypeEnum.HANDRAIL +userdefined = IfcRailingTypeEnum.USERDEFINED +notdefined = IfcRailingTypeEnum.NOTDEFINED IfcRailwayPartTypeEnum = enum_namespace() -dilatationsuperstructure = express_getattr(IfcRailwayPartTypeEnum, 'DILATATIONSUPERSTRUCTURE', INDETERMINATE) -linesidestructure = express_getattr(IfcRailwayPartTypeEnum, 'LINESIDESTRUCTURE', INDETERMINATE) -linesidestructurepart = express_getattr(IfcRailwayPartTypeEnum, 'LINESIDESTRUCTUREPART', INDETERMINATE) -plaintracksuperstructure = express_getattr(IfcRailwayPartTypeEnum, 'PLAINTRACKSUPERSTRUCTURE', INDETERMINATE) -superstructure = express_getattr(IfcRailwayPartTypeEnum, 'SUPERSTRUCTURE', INDETERMINATE) -trackstructure = express_getattr(IfcRailwayPartTypeEnum, 'TRACKSTRUCTURE', INDETERMINATE) -trackstructurepart = express_getattr(IfcRailwayPartTypeEnum, 'TRACKSTRUCTUREPART', INDETERMINATE) -turnoutsuperstructure = express_getattr(IfcRailwayPartTypeEnum, 'TURNOUTSUPERSTRUCTURE', INDETERMINATE) -userdefined = express_getattr(IfcRailwayPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailwayPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +dilatationsuperstructure = IfcRailwayPartTypeEnum.DILATATIONSUPERSTRUCTURE +linesidestructure = IfcRailwayPartTypeEnum.LINESIDESTRUCTURE +linesidestructurepart = IfcRailwayPartTypeEnum.LINESIDESTRUCTUREPART +plaintracksuperstructure = IfcRailwayPartTypeEnum.PLAINTRACKSUPERSTRUCTURE +superstructure = IfcRailwayPartTypeEnum.SUPERSTRUCTURE +trackstructure = IfcRailwayPartTypeEnum.TRACKSTRUCTURE +trackstructurepart = IfcRailwayPartTypeEnum.TRACKSTRUCTUREPART +turnoutsuperstructure = IfcRailwayPartTypeEnum.TURNOUTSUPERSTRUCTURE +userdefined = IfcRailwayPartTypeEnum.USERDEFINED +notdefined = IfcRailwayPartTypeEnum.NOTDEFINED IfcRailwayTypeEnum = enum_namespace() -userdefined = express_getattr(IfcRailwayTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRailwayTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcRailwayTypeEnum.USERDEFINED +notdefined = IfcRailwayTypeEnum.NOTDEFINED IfcRampFlightTypeEnum = enum_namespace() -spiral = express_getattr(IfcRampFlightTypeEnum, 'SPIRAL', INDETERMINATE) -straight = express_getattr(IfcRampFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -userdefined = express_getattr(IfcRampFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +spiral = IfcRampFlightTypeEnum.SPIRAL +straight = IfcRampFlightTypeEnum.STRAIGHT +userdefined = IfcRampFlightTypeEnum.USERDEFINED +notdefined = IfcRampFlightTypeEnum.NOTDEFINED IfcRampTypeEnum = enum_namespace() -half_turn_ramp = express_getattr(IfcRampTypeEnum, 'HALF_TURN_RAMP', INDETERMINATE) -quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'QUARTER_TURN_RAMP', INDETERMINATE) -spiral_ramp = express_getattr(IfcRampTypeEnum, 'SPIRAL_RAMP', INDETERMINATE) -straight_run_ramp = express_getattr(IfcRampTypeEnum, 'STRAIGHT_RUN_RAMP', INDETERMINATE) -two_quarter_turn_ramp = express_getattr(IfcRampTypeEnum, 'TWO_QUARTER_TURN_RAMP', INDETERMINATE) -two_straight_run_ramp = express_getattr(IfcRampTypeEnum, 'TWO_STRAIGHT_RUN_RAMP', INDETERMINATE) -userdefined = express_getattr(IfcRampTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRampTypeEnum, 'NOTDEFINED', INDETERMINATE) +half_turn_ramp = IfcRampTypeEnum.HALF_TURN_RAMP +quarter_turn_ramp = IfcRampTypeEnum.QUARTER_TURN_RAMP +spiral_ramp = IfcRampTypeEnum.SPIRAL_RAMP +straight_run_ramp = IfcRampTypeEnum.STRAIGHT_RUN_RAMP +two_quarter_turn_ramp = IfcRampTypeEnum.TWO_QUARTER_TURN_RAMP +two_straight_run_ramp = IfcRampTypeEnum.TWO_STRAIGHT_RUN_RAMP +userdefined = IfcRampTypeEnum.USERDEFINED +notdefined = IfcRampTypeEnum.NOTDEFINED IfcRecurrenceTypeEnum = enum_namespace() -by_day_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_DAY_COUNT', INDETERMINATE) -by_weekday_count = express_getattr(IfcRecurrenceTypeEnum, 'BY_WEEKDAY_COUNT', INDETERMINATE) -daily = express_getattr(IfcRecurrenceTypeEnum, 'DAILY', INDETERMINATE) -monthly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_DAY_OF_MONTH', INDETERMINATE) -monthly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'MONTHLY_BY_POSITION', INDETERMINATE) -weekly = express_getattr(IfcRecurrenceTypeEnum, 'WEEKLY', INDETERMINATE) -yearly_by_day_of_month = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_DAY_OF_MONTH', INDETERMINATE) -yearly_by_position = express_getattr(IfcRecurrenceTypeEnum, 'YEARLY_BY_POSITION', INDETERMINATE) +by_day_count = IfcRecurrenceTypeEnum.BY_DAY_COUNT +by_weekday_count = IfcRecurrenceTypeEnum.BY_WEEKDAY_COUNT +daily = IfcRecurrenceTypeEnum.DAILY +monthly_by_day_of_month = IfcRecurrenceTypeEnum.MONTHLY_BY_DAY_OF_MONTH +monthly_by_position = IfcRecurrenceTypeEnum.MONTHLY_BY_POSITION +weekly = IfcRecurrenceTypeEnum.WEEKLY +yearly_by_day_of_month = IfcRecurrenceTypeEnum.YEARLY_BY_DAY_OF_MONTH +yearly_by_position = IfcRecurrenceTypeEnum.YEARLY_BY_POSITION IfcReferentTypeEnum = enum_namespace() -boundary = express_getattr(IfcReferentTypeEnum, 'BOUNDARY', INDETERMINATE) -intersection = express_getattr(IfcReferentTypeEnum, 'INTERSECTION', INDETERMINATE) -kilopoint = express_getattr(IfcReferentTypeEnum, 'KILOPOINT', INDETERMINATE) -landmark = express_getattr(IfcReferentTypeEnum, 'LANDMARK', INDETERMINATE) -milepoint = express_getattr(IfcReferentTypeEnum, 'MILEPOINT', INDETERMINATE) -position = express_getattr(IfcReferentTypeEnum, 'POSITION', INDETERMINATE) -referencemarker = express_getattr(IfcReferentTypeEnum, 'REFERENCEMARKER', INDETERMINATE) -station = express_getattr(IfcReferentTypeEnum, 'STATION', INDETERMINATE) -userdefined = express_getattr(IfcReferentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReferentTypeEnum, 'NOTDEFINED', INDETERMINATE) +boundary = IfcReferentTypeEnum.BOUNDARY +intersection = IfcReferentTypeEnum.INTERSECTION +kilopoint = IfcReferentTypeEnum.KILOPOINT +landmark = IfcReferentTypeEnum.LANDMARK +milepoint = IfcReferentTypeEnum.MILEPOINT +position = IfcReferentTypeEnum.POSITION +referencemarker = IfcReferentTypeEnum.REFERENCEMARKER +station = IfcReferentTypeEnum.STATION +userdefined = IfcReferentTypeEnum.USERDEFINED +notdefined = IfcReferentTypeEnum.NOTDEFINED IfcReflectanceMethodEnum = enum_namespace() -blinn = express_getattr(IfcReflectanceMethodEnum, 'BLINN', INDETERMINATE) -flat = express_getattr(IfcReflectanceMethodEnum, 'FLAT', INDETERMINATE) -glass = express_getattr(IfcReflectanceMethodEnum, 'GLASS', INDETERMINATE) -matt = express_getattr(IfcReflectanceMethodEnum, 'MATT', INDETERMINATE) -metal = express_getattr(IfcReflectanceMethodEnum, 'METAL', INDETERMINATE) -mirror = express_getattr(IfcReflectanceMethodEnum, 'MIRROR', INDETERMINATE) -phong = express_getattr(IfcReflectanceMethodEnum, 'PHONG', INDETERMINATE) -physical = express_getattr(IfcReflectanceMethodEnum, 'PHYSICAL', INDETERMINATE) -plastic = express_getattr(IfcReflectanceMethodEnum, 'PLASTIC', INDETERMINATE) -strauss = express_getattr(IfcReflectanceMethodEnum, 'STRAUSS', INDETERMINATE) -notdefined = express_getattr(IfcReflectanceMethodEnum, 'NOTDEFINED', INDETERMINATE) +blinn = IfcReflectanceMethodEnum.BLINN +flat = IfcReflectanceMethodEnum.FLAT +glass = IfcReflectanceMethodEnum.GLASS +matt = IfcReflectanceMethodEnum.MATT +metal = IfcReflectanceMethodEnum.METAL +mirror = IfcReflectanceMethodEnum.MIRROR +phong = IfcReflectanceMethodEnum.PHONG +physical = IfcReflectanceMethodEnum.PHYSICAL +plastic = IfcReflectanceMethodEnum.PLASTIC +strauss = IfcReflectanceMethodEnum.STRAUSS +notdefined = IfcReflectanceMethodEnum.NOTDEFINED IfcReinforcedSoilTypeEnum = enum_namespace() -dynamicallycompacted = express_getattr(IfcReinforcedSoilTypeEnum, 'DYNAMICALLYCOMPACTED', INDETERMINATE) -grouted = express_getattr(IfcReinforcedSoilTypeEnum, 'GROUTED', INDETERMINATE) -replaced = express_getattr(IfcReinforcedSoilTypeEnum, 'REPLACED', INDETERMINATE) -rollercompacted = express_getattr(IfcReinforcedSoilTypeEnum, 'ROLLERCOMPACTED', INDETERMINATE) -surchargepreloaded = express_getattr(IfcReinforcedSoilTypeEnum, 'SURCHARGEPRELOADED', INDETERMINATE) -verticallydrained = express_getattr(IfcReinforcedSoilTypeEnum, 'VERTICALLYDRAINED', INDETERMINATE) -userdefined = express_getattr(IfcReinforcedSoilTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcedSoilTypeEnum, 'NOTDEFINED', INDETERMINATE) +dynamicallycompacted = IfcReinforcedSoilTypeEnum.DYNAMICALLYCOMPACTED +grouted = IfcReinforcedSoilTypeEnum.GROUTED +replaced = IfcReinforcedSoilTypeEnum.REPLACED +rollercompacted = IfcReinforcedSoilTypeEnum.ROLLERCOMPACTED +surchargepreloaded = IfcReinforcedSoilTypeEnum.SURCHARGEPRELOADED +verticallydrained = IfcReinforcedSoilTypeEnum.VERTICALLYDRAINED +userdefined = IfcReinforcedSoilTypeEnum.USERDEFINED +notdefined = IfcReinforcedSoilTypeEnum.NOTDEFINED IfcReinforcingBarRoleEnum = enum_namespace() -anchoring = express_getattr(IfcReinforcingBarRoleEnum, 'ANCHORING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarRoleEnum, 'EDGE', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarRoleEnum, 'LIGATURE', INDETERMINATE) -main = express_getattr(IfcReinforcingBarRoleEnum, 'MAIN', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarRoleEnum, 'PUNCHING', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarRoleEnum, 'RING', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarRoleEnum, 'SHEAR', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarRoleEnum, 'STUD', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarRoleEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarRoleEnum, 'NOTDEFINED', INDETERMINATE) +anchoring = IfcReinforcingBarRoleEnum.ANCHORING +edge = IfcReinforcingBarRoleEnum.EDGE +ligature = IfcReinforcingBarRoleEnum.LIGATURE +main = IfcReinforcingBarRoleEnum.MAIN +punching = IfcReinforcingBarRoleEnum.PUNCHING +ring = IfcReinforcingBarRoleEnum.RING +shear = IfcReinforcingBarRoleEnum.SHEAR +stud = IfcReinforcingBarRoleEnum.STUD +userdefined = IfcReinforcingBarRoleEnum.USERDEFINED +notdefined = IfcReinforcingBarRoleEnum.NOTDEFINED IfcReinforcingBarSurfaceEnum = enum_namespace() -plain = express_getattr(IfcReinforcingBarSurfaceEnum, 'PLAIN', INDETERMINATE) -textured = express_getattr(IfcReinforcingBarSurfaceEnum, 'TEXTURED', INDETERMINATE) +plain = IfcReinforcingBarSurfaceEnum.PLAIN +textured = IfcReinforcingBarSurfaceEnum.TEXTURED IfcReinforcingBarTypeEnum = enum_namespace() -anchoring = express_getattr(IfcReinforcingBarTypeEnum, 'ANCHORING', INDETERMINATE) -edge = express_getattr(IfcReinforcingBarTypeEnum, 'EDGE', INDETERMINATE) -ligature = express_getattr(IfcReinforcingBarTypeEnum, 'LIGATURE', INDETERMINATE) -main = express_getattr(IfcReinforcingBarTypeEnum, 'MAIN', INDETERMINATE) -punching = express_getattr(IfcReinforcingBarTypeEnum, 'PUNCHING', INDETERMINATE) -ring = express_getattr(IfcReinforcingBarTypeEnum, 'RING', INDETERMINATE) -shear = express_getattr(IfcReinforcingBarTypeEnum, 'SHEAR', INDETERMINATE) -spacebar = express_getattr(IfcReinforcingBarTypeEnum, 'SPACEBAR', INDETERMINATE) -stud = express_getattr(IfcReinforcingBarTypeEnum, 'STUD', INDETERMINATE) -userdefined = express_getattr(IfcReinforcingBarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingBarTypeEnum, 'NOTDEFINED', INDETERMINATE) +anchoring = IfcReinforcingBarTypeEnum.ANCHORING +edge = IfcReinforcingBarTypeEnum.EDGE +ligature = IfcReinforcingBarTypeEnum.LIGATURE +main = IfcReinforcingBarTypeEnum.MAIN +punching = IfcReinforcingBarTypeEnum.PUNCHING +ring = IfcReinforcingBarTypeEnum.RING +shear = IfcReinforcingBarTypeEnum.SHEAR +spacebar = IfcReinforcingBarTypeEnum.SPACEBAR +stud = IfcReinforcingBarTypeEnum.STUD +userdefined = IfcReinforcingBarTypeEnum.USERDEFINED +notdefined = IfcReinforcingBarTypeEnum.NOTDEFINED IfcReinforcingMeshTypeEnum = enum_namespace() -userdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcReinforcingMeshTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcReinforcingMeshTypeEnum.USERDEFINED +notdefined = IfcReinforcingMeshTypeEnum.NOTDEFINED IfcRoadPartTypeEnum = enum_namespace() -bicyclecrossing = express_getattr(IfcRoadPartTypeEnum, 'BICYCLECROSSING', INDETERMINATE) -bus_stop = express_getattr(IfcRoadPartTypeEnum, 'BUS_STOP', INDETERMINATE) -carriageway = express_getattr(IfcRoadPartTypeEnum, 'CARRIAGEWAY', INDETERMINATE) -centralisland = express_getattr(IfcRoadPartTypeEnum, 'CENTRALISLAND', INDETERMINATE) -centralreserve = express_getattr(IfcRoadPartTypeEnum, 'CENTRALRESERVE', INDETERMINATE) -hardshoulder = express_getattr(IfcRoadPartTypeEnum, 'HARDSHOULDER', INDETERMINATE) -intersection = express_getattr(IfcRoadPartTypeEnum, 'INTERSECTION', INDETERMINATE) -layby = express_getattr(IfcRoadPartTypeEnum, 'LAYBY', INDETERMINATE) -parkingbay = express_getattr(IfcRoadPartTypeEnum, 'PARKINGBAY', INDETERMINATE) -passingbay = express_getattr(IfcRoadPartTypeEnum, 'PASSINGBAY', INDETERMINATE) -pedestrian_crossing = express_getattr(IfcRoadPartTypeEnum, 'PEDESTRIAN_CROSSING', INDETERMINATE) -railwaycrossing = express_getattr(IfcRoadPartTypeEnum, 'RAILWAYCROSSING', INDETERMINATE) -refugeisland = express_getattr(IfcRoadPartTypeEnum, 'REFUGEISLAND', INDETERMINATE) -roadsegment = express_getattr(IfcRoadPartTypeEnum, 'ROADSEGMENT', INDETERMINATE) -roadside = express_getattr(IfcRoadPartTypeEnum, 'ROADSIDE', INDETERMINATE) -roadsidepart = express_getattr(IfcRoadPartTypeEnum, 'ROADSIDEPART', INDETERMINATE) -roadwayplateau = express_getattr(IfcRoadPartTypeEnum, 'ROADWAYPLATEAU', INDETERMINATE) -roundabout = express_getattr(IfcRoadPartTypeEnum, 'ROUNDABOUT', INDETERMINATE) -shoulder = express_getattr(IfcRoadPartTypeEnum, 'SHOULDER', INDETERMINATE) -sidewalk = express_getattr(IfcRoadPartTypeEnum, 'SIDEWALK', INDETERMINATE) -softshoulder = express_getattr(IfcRoadPartTypeEnum, 'SOFTSHOULDER', INDETERMINATE) -tollplaza = express_getattr(IfcRoadPartTypeEnum, 'TOLLPLAZA', INDETERMINATE) -trafficisland = express_getattr(IfcRoadPartTypeEnum, 'TRAFFICISLAND', INDETERMINATE) -trafficlane = express_getattr(IfcRoadPartTypeEnum, 'TRAFFICLANE', INDETERMINATE) -userdefined = express_getattr(IfcRoadPartTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoadPartTypeEnum, 'NOTDEFINED', INDETERMINATE) +bicyclecrossing = IfcRoadPartTypeEnum.BICYCLECROSSING +bus_stop = IfcRoadPartTypeEnum.BUS_STOP +carriageway = IfcRoadPartTypeEnum.CARRIAGEWAY +centralisland = IfcRoadPartTypeEnum.CENTRALISLAND +centralreserve = IfcRoadPartTypeEnum.CENTRALRESERVE +hardshoulder = IfcRoadPartTypeEnum.HARDSHOULDER +intersection = IfcRoadPartTypeEnum.INTERSECTION +layby = IfcRoadPartTypeEnum.LAYBY +parkingbay = IfcRoadPartTypeEnum.PARKINGBAY +passingbay = IfcRoadPartTypeEnum.PASSINGBAY +pedestrian_crossing = IfcRoadPartTypeEnum.PEDESTRIAN_CROSSING +railwaycrossing = IfcRoadPartTypeEnum.RAILWAYCROSSING +refugeisland = IfcRoadPartTypeEnum.REFUGEISLAND +roadsegment = IfcRoadPartTypeEnum.ROADSEGMENT +roadside = IfcRoadPartTypeEnum.ROADSIDE +roadsidepart = IfcRoadPartTypeEnum.ROADSIDEPART +roadwayplateau = IfcRoadPartTypeEnum.ROADWAYPLATEAU +roundabout = IfcRoadPartTypeEnum.ROUNDABOUT +shoulder = IfcRoadPartTypeEnum.SHOULDER +sidewalk = IfcRoadPartTypeEnum.SIDEWALK +softshoulder = IfcRoadPartTypeEnum.SOFTSHOULDER +tollplaza = IfcRoadPartTypeEnum.TOLLPLAZA +trafficisland = IfcRoadPartTypeEnum.TRAFFICISLAND +trafficlane = IfcRoadPartTypeEnum.TRAFFICLANE +userdefined = IfcRoadPartTypeEnum.USERDEFINED +notdefined = IfcRoadPartTypeEnum.NOTDEFINED IfcRoadTypeEnum = enum_namespace() -userdefined = express_getattr(IfcRoadTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoadTypeEnum, 'NOTDEFINED', INDETERMINATE) +userdefined = IfcRoadTypeEnum.USERDEFINED +notdefined = IfcRoadTypeEnum.NOTDEFINED IfcRoleEnum = enum_namespace() -architect = express_getattr(IfcRoleEnum, 'ARCHITECT', INDETERMINATE) -buildingoperator = express_getattr(IfcRoleEnum, 'BUILDINGOPERATOR', INDETERMINATE) -buildingowner = express_getattr(IfcRoleEnum, 'BUILDINGOWNER', INDETERMINATE) -civilengineer = express_getattr(IfcRoleEnum, 'CIVILENGINEER', INDETERMINATE) -client = express_getattr(IfcRoleEnum, 'CLIENT', INDETERMINATE) -commissioningengineer = express_getattr(IfcRoleEnum, 'COMMISSIONINGENGINEER', INDETERMINATE) -constructionmanager = express_getattr(IfcRoleEnum, 'CONSTRUCTIONMANAGER', INDETERMINATE) -consultant = express_getattr(IfcRoleEnum, 'CONSULTANT', INDETERMINATE) -contractor = express_getattr(IfcRoleEnum, 'CONTRACTOR', INDETERMINATE) -costengineer = express_getattr(IfcRoleEnum, 'COSTENGINEER', INDETERMINATE) -electricalengineer = express_getattr(IfcRoleEnum, 'ELECTRICALENGINEER', INDETERMINATE) -engineer = express_getattr(IfcRoleEnum, 'ENGINEER', INDETERMINATE) -facilitiesmanager = express_getattr(IfcRoleEnum, 'FACILITIESMANAGER', INDETERMINATE) -fieldconstructionmanager = express_getattr(IfcRoleEnum, 'FIELDCONSTRUCTIONMANAGER', INDETERMINATE) -manufacturer = express_getattr(IfcRoleEnum, 'MANUFACTURER', INDETERMINATE) -mechanicalengineer = express_getattr(IfcRoleEnum, 'MECHANICALENGINEER', INDETERMINATE) -owner = express_getattr(IfcRoleEnum, 'OWNER', INDETERMINATE) -projectmanager = express_getattr(IfcRoleEnum, 'PROJECTMANAGER', INDETERMINATE) -reseller = express_getattr(IfcRoleEnum, 'RESELLER', INDETERMINATE) -structuralengineer = express_getattr(IfcRoleEnum, 'STRUCTURALENGINEER', INDETERMINATE) -subcontractor = express_getattr(IfcRoleEnum, 'SUBCONTRACTOR', INDETERMINATE) -supplier = express_getattr(IfcRoleEnum, 'SUPPLIER', INDETERMINATE) -userdefined = express_getattr(IfcRoleEnum, 'USERDEFINED', INDETERMINATE) +architect = IfcRoleEnum.ARCHITECT +buildingoperator = IfcRoleEnum.BUILDINGOPERATOR +buildingowner = IfcRoleEnum.BUILDINGOWNER +civilengineer = IfcRoleEnum.CIVILENGINEER +client = IfcRoleEnum.CLIENT +commissioningengineer = IfcRoleEnum.COMMISSIONINGENGINEER +constructionmanager = IfcRoleEnum.CONSTRUCTIONMANAGER +consultant = IfcRoleEnum.CONSULTANT +contractor = IfcRoleEnum.CONTRACTOR +costengineer = IfcRoleEnum.COSTENGINEER +electricalengineer = IfcRoleEnum.ELECTRICALENGINEER +engineer = IfcRoleEnum.ENGINEER +facilitiesmanager = IfcRoleEnum.FACILITIESMANAGER +fieldconstructionmanager = IfcRoleEnum.FIELDCONSTRUCTIONMANAGER +manufacturer = IfcRoleEnum.MANUFACTURER +mechanicalengineer = IfcRoleEnum.MECHANICALENGINEER +owner = IfcRoleEnum.OWNER +projectmanager = IfcRoleEnum.PROJECTMANAGER +reseller = IfcRoleEnum.RESELLER +structuralengineer = IfcRoleEnum.STRUCTURALENGINEER +subcontractor = IfcRoleEnum.SUBCONTRACTOR +supplier = IfcRoleEnum.SUPPLIER +userdefined = IfcRoleEnum.USERDEFINED IfcRoofTypeEnum = enum_namespace() -barrel_roof = express_getattr(IfcRoofTypeEnum, 'BARREL_ROOF', INDETERMINATE) -butterfly_roof = express_getattr(IfcRoofTypeEnum, 'BUTTERFLY_ROOF', INDETERMINATE) -dome_roof = express_getattr(IfcRoofTypeEnum, 'DOME_ROOF', INDETERMINATE) -flat_roof = express_getattr(IfcRoofTypeEnum, 'FLAT_ROOF', INDETERMINATE) -freeform = express_getattr(IfcRoofTypeEnum, 'FREEFORM', INDETERMINATE) -gable_roof = express_getattr(IfcRoofTypeEnum, 'GABLE_ROOF', INDETERMINATE) -gambrel_roof = express_getattr(IfcRoofTypeEnum, 'GAMBREL_ROOF', INDETERMINATE) -hipped_gable_roof = express_getattr(IfcRoofTypeEnum, 'HIPPED_GABLE_ROOF', INDETERMINATE) -hip_roof = express_getattr(IfcRoofTypeEnum, 'HIP_ROOF', INDETERMINATE) -mansard_roof = express_getattr(IfcRoofTypeEnum, 'MANSARD_ROOF', INDETERMINATE) -pavilion_roof = express_getattr(IfcRoofTypeEnum, 'PAVILION_ROOF', INDETERMINATE) -rainbow_roof = express_getattr(IfcRoofTypeEnum, 'RAINBOW_ROOF', INDETERMINATE) -shed_roof = express_getattr(IfcRoofTypeEnum, 'SHED_ROOF', INDETERMINATE) -userdefined = express_getattr(IfcRoofTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcRoofTypeEnum, 'NOTDEFINED', INDETERMINATE) +barrel_roof = IfcRoofTypeEnum.BARREL_ROOF +butterfly_roof = IfcRoofTypeEnum.BUTTERFLY_ROOF +dome_roof = IfcRoofTypeEnum.DOME_ROOF +flat_roof = IfcRoofTypeEnum.FLAT_ROOF +freeform = IfcRoofTypeEnum.FREEFORM +gable_roof = IfcRoofTypeEnum.GABLE_ROOF +gambrel_roof = IfcRoofTypeEnum.GAMBREL_ROOF +hipped_gable_roof = IfcRoofTypeEnum.HIPPED_GABLE_ROOF +hip_roof = IfcRoofTypeEnum.HIP_ROOF +mansard_roof = IfcRoofTypeEnum.MANSARD_ROOF +pavilion_roof = IfcRoofTypeEnum.PAVILION_ROOF +rainbow_roof = IfcRoofTypeEnum.RAINBOW_ROOF +shed_roof = IfcRoofTypeEnum.SHED_ROOF +userdefined = IfcRoofTypeEnum.USERDEFINED +notdefined = IfcRoofTypeEnum.NOTDEFINED IfcSIPrefix = enum_namespace() -atto = express_getattr(IfcSIPrefix, 'ATTO', INDETERMINATE) -centi = express_getattr(IfcSIPrefix, 'CENTI', INDETERMINATE) -deca = express_getattr(IfcSIPrefix, 'DECA', INDETERMINATE) -deci = express_getattr(IfcSIPrefix, 'DECI', INDETERMINATE) -exa = express_getattr(IfcSIPrefix, 'EXA', INDETERMINATE) -femto = express_getattr(IfcSIPrefix, 'FEMTO', INDETERMINATE) -giga = express_getattr(IfcSIPrefix, 'GIGA', INDETERMINATE) -hecto = express_getattr(IfcSIPrefix, 'HECTO', INDETERMINATE) -kilo = express_getattr(IfcSIPrefix, 'KILO', INDETERMINATE) -mega = express_getattr(IfcSIPrefix, 'MEGA', INDETERMINATE) -micro = express_getattr(IfcSIPrefix, 'MICRO', INDETERMINATE) -milli = express_getattr(IfcSIPrefix, 'MILLI', INDETERMINATE) -nano = express_getattr(IfcSIPrefix, 'NANO', INDETERMINATE) -peta = express_getattr(IfcSIPrefix, 'PETA', INDETERMINATE) -pico = express_getattr(IfcSIPrefix, 'PICO', INDETERMINATE) -tera = express_getattr(IfcSIPrefix, 'TERA', INDETERMINATE) +atto = IfcSIPrefix.ATTO +centi = IfcSIPrefix.CENTI +deca = IfcSIPrefix.DECA +deci = IfcSIPrefix.DECI +exa = IfcSIPrefix.EXA +femto = IfcSIPrefix.FEMTO +giga = IfcSIPrefix.GIGA +hecto = IfcSIPrefix.HECTO +kilo = IfcSIPrefix.KILO +mega = IfcSIPrefix.MEGA +micro = IfcSIPrefix.MICRO +milli = IfcSIPrefix.MILLI +nano = IfcSIPrefix.NANO +peta = IfcSIPrefix.PETA +pico = IfcSIPrefix.PICO +tera = IfcSIPrefix.TERA IfcSIUnitName = enum_namespace() -ampere = express_getattr(IfcSIUnitName, 'AMPERE', INDETERMINATE) -becquerel = express_getattr(IfcSIUnitName, 'BECQUEREL', INDETERMINATE) -candela = express_getattr(IfcSIUnitName, 'CANDELA', INDETERMINATE) -coulomb = express_getattr(IfcSIUnitName, 'COULOMB', INDETERMINATE) -cubic_metre = express_getattr(IfcSIUnitName, 'CUBIC_METRE', INDETERMINATE) -degree_celsius = express_getattr(IfcSIUnitName, 'DEGREE_CELSIUS', INDETERMINATE) -farad = express_getattr(IfcSIUnitName, 'FARAD', INDETERMINATE) -gram = express_getattr(IfcSIUnitName, 'GRAM', INDETERMINATE) -gray = express_getattr(IfcSIUnitName, 'GRAY', INDETERMINATE) -henry = express_getattr(IfcSIUnitName, 'HENRY', INDETERMINATE) -hertz = express_getattr(IfcSIUnitName, 'HERTZ', INDETERMINATE) -joule = express_getattr(IfcSIUnitName, 'JOULE', INDETERMINATE) -kelvin = express_getattr(IfcSIUnitName, 'KELVIN', INDETERMINATE) -lumen = express_getattr(IfcSIUnitName, 'LUMEN', INDETERMINATE) -lux = express_getattr(IfcSIUnitName, 'LUX', INDETERMINATE) -metre = express_getattr(IfcSIUnitName, 'METRE', INDETERMINATE) -mole = express_getattr(IfcSIUnitName, 'MOLE', INDETERMINATE) -newton = express_getattr(IfcSIUnitName, 'NEWTON', INDETERMINATE) -ohm = express_getattr(IfcSIUnitName, 'OHM', INDETERMINATE) -pascal = express_getattr(IfcSIUnitName, 'PASCAL', INDETERMINATE) -radian = express_getattr(IfcSIUnitName, 'RADIAN', INDETERMINATE) -second = express_getattr(IfcSIUnitName, 'SECOND', INDETERMINATE) -siemens = express_getattr(IfcSIUnitName, 'SIEMENS', INDETERMINATE) -sievert = express_getattr(IfcSIUnitName, 'SIEVERT', INDETERMINATE) -square_metre = express_getattr(IfcSIUnitName, 'SQUARE_METRE', INDETERMINATE) -steradian = express_getattr(IfcSIUnitName, 'STERADIAN', INDETERMINATE) -tesla = express_getattr(IfcSIUnitName, 'TESLA', INDETERMINATE) -volt = express_getattr(IfcSIUnitName, 'VOLT', INDETERMINATE) -watt = express_getattr(IfcSIUnitName, 'WATT', INDETERMINATE) -weber = express_getattr(IfcSIUnitName, 'WEBER', INDETERMINATE) +ampere = IfcSIUnitName.AMPERE +becquerel = IfcSIUnitName.BECQUEREL +candela = IfcSIUnitName.CANDELA +coulomb = IfcSIUnitName.COULOMB +cubic_metre = IfcSIUnitName.CUBIC_METRE +degree_celsius = IfcSIUnitName.DEGREE_CELSIUS +farad = IfcSIUnitName.FARAD +gram = IfcSIUnitName.GRAM +gray = IfcSIUnitName.GRAY +henry = IfcSIUnitName.HENRY +hertz = IfcSIUnitName.HERTZ +joule = IfcSIUnitName.JOULE +kelvin = IfcSIUnitName.KELVIN +lumen = IfcSIUnitName.LUMEN +lux = IfcSIUnitName.LUX +metre = IfcSIUnitName.METRE +mole = IfcSIUnitName.MOLE +newton = IfcSIUnitName.NEWTON +ohm = IfcSIUnitName.OHM +pascal = IfcSIUnitName.PASCAL +radian = IfcSIUnitName.RADIAN +second = IfcSIUnitName.SECOND +siemens = IfcSIUnitName.SIEMENS +sievert = IfcSIUnitName.SIEVERT +square_metre = IfcSIUnitName.SQUARE_METRE +steradian = IfcSIUnitName.STERADIAN +tesla = IfcSIUnitName.TESLA +volt = IfcSIUnitName.VOLT +watt = IfcSIUnitName.WATT +weber = IfcSIUnitName.WEBER IfcSanitaryTerminalTypeEnum = enum_namespace() -bath = express_getattr(IfcSanitaryTerminalTypeEnum, 'BATH', INDETERMINATE) -bidet = express_getattr(IfcSanitaryTerminalTypeEnum, 'BIDET', INDETERMINATE) -cistern = express_getattr(IfcSanitaryTerminalTypeEnum, 'CISTERN', INDETERMINATE) -sanitaryfountain = express_getattr(IfcSanitaryTerminalTypeEnum, 'SANITARYFOUNTAIN', INDETERMINATE) -shower = express_getattr(IfcSanitaryTerminalTypeEnum, 'SHOWER', INDETERMINATE) -sink = express_getattr(IfcSanitaryTerminalTypeEnum, 'SINK', INDETERMINATE) -toiletpan = express_getattr(IfcSanitaryTerminalTypeEnum, 'TOILETPAN', INDETERMINATE) -urinal = express_getattr(IfcSanitaryTerminalTypeEnum, 'URINAL', INDETERMINATE) -washhandbasin = express_getattr(IfcSanitaryTerminalTypeEnum, 'WASHHANDBASIN', INDETERMINATE) -wcseat = express_getattr(IfcSanitaryTerminalTypeEnum, 'WCSEAT', INDETERMINATE) -userdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSanitaryTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +bath = IfcSanitaryTerminalTypeEnum.BATH +bidet = IfcSanitaryTerminalTypeEnum.BIDET +cistern = IfcSanitaryTerminalTypeEnum.CISTERN +sanitaryfountain = IfcSanitaryTerminalTypeEnum.SANITARYFOUNTAIN +shower = IfcSanitaryTerminalTypeEnum.SHOWER +sink = IfcSanitaryTerminalTypeEnum.SINK +toiletpan = IfcSanitaryTerminalTypeEnum.TOILETPAN +urinal = IfcSanitaryTerminalTypeEnum.URINAL +washhandbasin = IfcSanitaryTerminalTypeEnum.WASHHANDBASIN +wcseat = IfcSanitaryTerminalTypeEnum.WCSEAT +userdefined = IfcSanitaryTerminalTypeEnum.USERDEFINED +notdefined = IfcSanitaryTerminalTypeEnum.NOTDEFINED IfcSectionTypeEnum = enum_namespace() -tapered = express_getattr(IfcSectionTypeEnum, 'TAPERED', INDETERMINATE) -uniform = express_getattr(IfcSectionTypeEnum, 'UNIFORM', INDETERMINATE) +tapered = IfcSectionTypeEnum.TAPERED +uniform = IfcSectionTypeEnum.UNIFORM IfcSensorTypeEnum = enum_namespace() -co2sensor = express_getattr(IfcSensorTypeEnum, 'CO2SENSOR', INDETERMINATE) -conductancesensor = express_getattr(IfcSensorTypeEnum, 'CONDUCTANCESENSOR', INDETERMINATE) -contactsensor = express_getattr(IfcSensorTypeEnum, 'CONTACTSENSOR', INDETERMINATE) -cosensor = express_getattr(IfcSensorTypeEnum, 'COSENSOR', INDETERMINATE) -earthquakesensor = express_getattr(IfcSensorTypeEnum, 'EARTHQUAKESENSOR', INDETERMINATE) -firesensor = express_getattr(IfcSensorTypeEnum, 'FIRESENSOR', INDETERMINATE) -flowsensor = express_getattr(IfcSensorTypeEnum, 'FLOWSENSOR', INDETERMINATE) -foreignobjectdetectionsensor = express_getattr(IfcSensorTypeEnum, 'FOREIGNOBJECTDETECTIONSENSOR', INDETERMINATE) -frostsensor = express_getattr(IfcSensorTypeEnum, 'FROSTSENSOR', INDETERMINATE) -gassensor = express_getattr(IfcSensorTypeEnum, 'GASSENSOR', INDETERMINATE) -heatsensor = express_getattr(IfcSensorTypeEnum, 'HEATSENSOR', INDETERMINATE) -humiditysensor = express_getattr(IfcSensorTypeEnum, 'HUMIDITYSENSOR', INDETERMINATE) -identifiersensor = express_getattr(IfcSensorTypeEnum, 'IDENTIFIERSENSOR', INDETERMINATE) -ionconcentrationsensor = express_getattr(IfcSensorTypeEnum, 'IONCONCENTRATIONSENSOR', INDETERMINATE) -levelsensor = express_getattr(IfcSensorTypeEnum, 'LEVELSENSOR', INDETERMINATE) -lightsensor = express_getattr(IfcSensorTypeEnum, 'LIGHTSENSOR', INDETERMINATE) -moisturesensor = express_getattr(IfcSensorTypeEnum, 'MOISTURESENSOR', INDETERMINATE) -movementsensor = express_getattr(IfcSensorTypeEnum, 'MOVEMENTSENSOR', INDETERMINATE) -obstaclesensor = express_getattr(IfcSensorTypeEnum, 'OBSTACLESENSOR', INDETERMINATE) -phsensor = express_getattr(IfcSensorTypeEnum, 'PHSENSOR', INDETERMINATE) -pressuresensor = express_getattr(IfcSensorTypeEnum, 'PRESSURESENSOR', INDETERMINATE) -radiationsensor = express_getattr(IfcSensorTypeEnum, 'RADIATIONSENSOR', INDETERMINATE) -radioactivitysensor = express_getattr(IfcSensorTypeEnum, 'RADIOACTIVITYSENSOR', INDETERMINATE) -rainsensor = express_getattr(IfcSensorTypeEnum, 'RAINSENSOR', INDETERMINATE) -smokesensor = express_getattr(IfcSensorTypeEnum, 'SMOKESENSOR', INDETERMINATE) -snowdepthsensor = express_getattr(IfcSensorTypeEnum, 'SNOWDEPTHSENSOR', INDETERMINATE) -soundsensor = express_getattr(IfcSensorTypeEnum, 'SOUNDSENSOR', INDETERMINATE) -temperaturesensor = express_getattr(IfcSensorTypeEnum, 'TEMPERATURESENSOR', INDETERMINATE) -trainsensor = express_getattr(IfcSensorTypeEnum, 'TRAINSENSOR', INDETERMINATE) -turnoutclosuresensor = express_getattr(IfcSensorTypeEnum, 'TURNOUTCLOSURESENSOR', INDETERMINATE) -wheelsensor = express_getattr(IfcSensorTypeEnum, 'WHEELSENSOR', INDETERMINATE) -windsensor = express_getattr(IfcSensorTypeEnum, 'WINDSENSOR', INDETERMINATE) -userdefined = express_getattr(IfcSensorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSensorTypeEnum, 'NOTDEFINED', INDETERMINATE) +co2sensor = IfcSensorTypeEnum.CO2SENSOR +conductancesensor = IfcSensorTypeEnum.CONDUCTANCESENSOR +contactsensor = IfcSensorTypeEnum.CONTACTSENSOR +cosensor = IfcSensorTypeEnum.COSENSOR +earthquakesensor = IfcSensorTypeEnum.EARTHQUAKESENSOR +firesensor = IfcSensorTypeEnum.FIRESENSOR +flowsensor = IfcSensorTypeEnum.FLOWSENSOR +foreignobjectdetectionsensor = IfcSensorTypeEnum.FOREIGNOBJECTDETECTIONSENSOR +frostsensor = IfcSensorTypeEnum.FROSTSENSOR +gassensor = IfcSensorTypeEnum.GASSENSOR +heatsensor = IfcSensorTypeEnum.HEATSENSOR +humiditysensor = IfcSensorTypeEnum.HUMIDITYSENSOR +identifiersensor = IfcSensorTypeEnum.IDENTIFIERSENSOR +ionconcentrationsensor = IfcSensorTypeEnum.IONCONCENTRATIONSENSOR +levelsensor = IfcSensorTypeEnum.LEVELSENSOR +lightsensor = IfcSensorTypeEnum.LIGHTSENSOR +moisturesensor = IfcSensorTypeEnum.MOISTURESENSOR +movementsensor = IfcSensorTypeEnum.MOVEMENTSENSOR +obstaclesensor = IfcSensorTypeEnum.OBSTACLESENSOR +phsensor = IfcSensorTypeEnum.PHSENSOR +pressuresensor = IfcSensorTypeEnum.PRESSURESENSOR +radiationsensor = IfcSensorTypeEnum.RADIATIONSENSOR +radioactivitysensor = IfcSensorTypeEnum.RADIOACTIVITYSENSOR +rainsensor = IfcSensorTypeEnum.RAINSENSOR +smokesensor = IfcSensorTypeEnum.SMOKESENSOR +snowdepthsensor = IfcSensorTypeEnum.SNOWDEPTHSENSOR +soundsensor = IfcSensorTypeEnum.SOUNDSENSOR +temperaturesensor = IfcSensorTypeEnum.TEMPERATURESENSOR +trainsensor = IfcSensorTypeEnum.TRAINSENSOR +turnoutclosuresensor = IfcSensorTypeEnum.TURNOUTCLOSURESENSOR +wheelsensor = IfcSensorTypeEnum.WHEELSENSOR +windsensor = IfcSensorTypeEnum.WINDSENSOR +userdefined = IfcSensorTypeEnum.USERDEFINED +notdefined = IfcSensorTypeEnum.NOTDEFINED IfcSequenceEnum = enum_namespace() -finish_finish = express_getattr(IfcSequenceEnum, 'FINISH_FINISH', INDETERMINATE) -finish_start = express_getattr(IfcSequenceEnum, 'FINISH_START', INDETERMINATE) -start_finish = express_getattr(IfcSequenceEnum, 'START_FINISH', INDETERMINATE) -start_start = express_getattr(IfcSequenceEnum, 'START_START', INDETERMINATE) -userdefined = express_getattr(IfcSequenceEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSequenceEnum, 'NOTDEFINED', INDETERMINATE) +finish_finish = IfcSequenceEnum.FINISH_FINISH +finish_start = IfcSequenceEnum.FINISH_START +start_finish = IfcSequenceEnum.START_FINISH +start_start = IfcSequenceEnum.START_START +userdefined = IfcSequenceEnum.USERDEFINED +notdefined = IfcSequenceEnum.NOTDEFINED IfcShadingDeviceTypeEnum = enum_namespace() -awning = express_getattr(IfcShadingDeviceTypeEnum, 'AWNING', INDETERMINATE) -jalousie = express_getattr(IfcShadingDeviceTypeEnum, 'JALOUSIE', INDETERMINATE) -shutter = express_getattr(IfcShadingDeviceTypeEnum, 'SHUTTER', INDETERMINATE) -userdefined = express_getattr(IfcShadingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcShadingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +awning = IfcShadingDeviceTypeEnum.AWNING +jalousie = IfcShadingDeviceTypeEnum.JALOUSIE +shutter = IfcShadingDeviceTypeEnum.SHUTTER +userdefined = IfcShadingDeviceTypeEnum.USERDEFINED +notdefined = IfcShadingDeviceTypeEnum.NOTDEFINED IfcSignTypeEnum = enum_namespace() -marker = express_getattr(IfcSignTypeEnum, 'MARKER', INDETERMINATE) -mirror = express_getattr(IfcSignTypeEnum, 'MIRROR', INDETERMINATE) -pictoral = express_getattr(IfcSignTypeEnum, 'PICTORAL', INDETERMINATE) -userdefined = express_getattr(IfcSignTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSignTypeEnum, 'NOTDEFINED', INDETERMINATE) +marker = IfcSignTypeEnum.MARKER +mirror = IfcSignTypeEnum.MIRROR +pictoral = IfcSignTypeEnum.PICTORAL +userdefined = IfcSignTypeEnum.USERDEFINED +notdefined = IfcSignTypeEnum.NOTDEFINED IfcSignalTypeEnum = enum_namespace() -audio = express_getattr(IfcSignalTypeEnum, 'AUDIO', INDETERMINATE) -mixed = express_getattr(IfcSignalTypeEnum, 'MIXED', INDETERMINATE) -visual = express_getattr(IfcSignalTypeEnum, 'VISUAL', INDETERMINATE) -userdefined = express_getattr(IfcSignalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSignalTypeEnum, 'NOTDEFINED', INDETERMINATE) +audio = IfcSignalTypeEnum.AUDIO +mixed = IfcSignalTypeEnum.MIXED +visual = IfcSignalTypeEnum.VISUAL +userdefined = IfcSignalTypeEnum.USERDEFINED +notdefined = IfcSignalTypeEnum.NOTDEFINED IfcSimplePropertyTemplateTypeEnum = enum_namespace() -p_boundedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_BOUNDEDVALUE', INDETERMINATE) -p_enumeratedvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_ENUMERATEDVALUE', INDETERMINATE) -p_listvalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_LISTVALUE', INDETERMINATE) -p_referencevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_REFERENCEVALUE', INDETERMINATE) -p_singlevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_SINGLEVALUE', INDETERMINATE) -p_tablevalue = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'P_TABLEVALUE', INDETERMINATE) -q_area = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_AREA', INDETERMINATE) -q_count = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_COUNT', INDETERMINATE) -q_length = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_LENGTH', INDETERMINATE) -q_number = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_NUMBER', INDETERMINATE) -q_time = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_TIME', INDETERMINATE) -q_volume = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_VOLUME', INDETERMINATE) -q_weight = express_getattr(IfcSimplePropertyTemplateTypeEnum, 'Q_WEIGHT', INDETERMINATE) +p_boundedvalue = IfcSimplePropertyTemplateTypeEnum.P_BOUNDEDVALUE +p_enumeratedvalue = IfcSimplePropertyTemplateTypeEnum.P_ENUMERATEDVALUE +p_listvalue = IfcSimplePropertyTemplateTypeEnum.P_LISTVALUE +p_referencevalue = IfcSimplePropertyTemplateTypeEnum.P_REFERENCEVALUE +p_singlevalue = IfcSimplePropertyTemplateTypeEnum.P_SINGLEVALUE +p_tablevalue = IfcSimplePropertyTemplateTypeEnum.P_TABLEVALUE +q_area = IfcSimplePropertyTemplateTypeEnum.Q_AREA +q_count = IfcSimplePropertyTemplateTypeEnum.Q_COUNT +q_length = IfcSimplePropertyTemplateTypeEnum.Q_LENGTH +q_number = IfcSimplePropertyTemplateTypeEnum.Q_NUMBER +q_time = IfcSimplePropertyTemplateTypeEnum.Q_TIME +q_volume = IfcSimplePropertyTemplateTypeEnum.Q_VOLUME +q_weight = IfcSimplePropertyTemplateTypeEnum.Q_WEIGHT IfcSlabTypeEnum = enum_namespace() -approach_slab = express_getattr(IfcSlabTypeEnum, 'APPROACH_SLAB', INDETERMINATE) -baseslab = express_getattr(IfcSlabTypeEnum, 'BASESLAB', INDETERMINATE) -floor = express_getattr(IfcSlabTypeEnum, 'FLOOR', INDETERMINATE) -landing = express_getattr(IfcSlabTypeEnum, 'LANDING', INDETERMINATE) -paving = express_getattr(IfcSlabTypeEnum, 'PAVING', INDETERMINATE) -roof = express_getattr(IfcSlabTypeEnum, 'ROOF', INDETERMINATE) -sidewalk = express_getattr(IfcSlabTypeEnum, 'SIDEWALK', INDETERMINATE) -trackslab = express_getattr(IfcSlabTypeEnum, 'TRACKSLAB', INDETERMINATE) -wearing = express_getattr(IfcSlabTypeEnum, 'WEARING', INDETERMINATE) -userdefined = express_getattr(IfcSlabTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSlabTypeEnum, 'NOTDEFINED', INDETERMINATE) +approach_slab = IfcSlabTypeEnum.APPROACH_SLAB +baseslab = IfcSlabTypeEnum.BASESLAB +floor = IfcSlabTypeEnum.FLOOR +landing = IfcSlabTypeEnum.LANDING +paving = IfcSlabTypeEnum.PAVING +roof = IfcSlabTypeEnum.ROOF +sidewalk = IfcSlabTypeEnum.SIDEWALK +trackslab = IfcSlabTypeEnum.TRACKSLAB +wearing = IfcSlabTypeEnum.WEARING +userdefined = IfcSlabTypeEnum.USERDEFINED +notdefined = IfcSlabTypeEnum.NOTDEFINED IfcSolarDeviceTypeEnum = enum_namespace() -solarcollector = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARCOLLECTOR', INDETERMINATE) -solarpanel = express_getattr(IfcSolarDeviceTypeEnum, 'SOLARPANEL', INDETERMINATE) -userdefined = express_getattr(IfcSolarDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSolarDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +solarcollector = IfcSolarDeviceTypeEnum.SOLARCOLLECTOR +solarpanel = IfcSolarDeviceTypeEnum.SOLARPANEL +userdefined = IfcSolarDeviceTypeEnum.USERDEFINED +notdefined = IfcSolarDeviceTypeEnum.NOTDEFINED IfcSpaceHeaterTypeEnum = enum_namespace() -convector = express_getattr(IfcSpaceHeaterTypeEnum, 'CONVECTOR', INDETERMINATE) -radiator = express_getattr(IfcSpaceHeaterTypeEnum, 'RADIATOR', INDETERMINATE) -userdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceHeaterTypeEnum, 'NOTDEFINED', INDETERMINATE) +convector = IfcSpaceHeaterTypeEnum.CONVECTOR +radiator = IfcSpaceHeaterTypeEnum.RADIATOR +userdefined = IfcSpaceHeaterTypeEnum.USERDEFINED +notdefined = IfcSpaceHeaterTypeEnum.NOTDEFINED IfcSpaceTypeEnum = enum_namespace() -berth = express_getattr(IfcSpaceTypeEnum, 'BERTH', INDETERMINATE) -external = express_getattr(IfcSpaceTypeEnum, 'EXTERNAL', INDETERMINATE) -gfa = express_getattr(IfcSpaceTypeEnum, 'GFA', INDETERMINATE) -internal = express_getattr(IfcSpaceTypeEnum, 'INTERNAL', INDETERMINATE) -parking = express_getattr(IfcSpaceTypeEnum, 'PARKING', INDETERMINATE) -space = express_getattr(IfcSpaceTypeEnum, 'SPACE', INDETERMINATE) -userdefined = express_getattr(IfcSpaceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpaceTypeEnum, 'NOTDEFINED', INDETERMINATE) +berth = IfcSpaceTypeEnum.BERTH +external = IfcSpaceTypeEnum.EXTERNAL +gfa = IfcSpaceTypeEnum.GFA +internal = IfcSpaceTypeEnum.INTERNAL +parking = IfcSpaceTypeEnum.PARKING +space = IfcSpaceTypeEnum.SPACE +userdefined = IfcSpaceTypeEnum.USERDEFINED +notdefined = IfcSpaceTypeEnum.NOTDEFINED IfcSpatialZoneTypeEnum = enum_namespace() -construction = express_getattr(IfcSpatialZoneTypeEnum, 'CONSTRUCTION', INDETERMINATE) -firesafety = express_getattr(IfcSpatialZoneTypeEnum, 'FIRESAFETY', INDETERMINATE) -interference = express_getattr(IfcSpatialZoneTypeEnum, 'INTERFERENCE', INDETERMINATE) -lighting = express_getattr(IfcSpatialZoneTypeEnum, 'LIGHTING', INDETERMINATE) -occupancy = express_getattr(IfcSpatialZoneTypeEnum, 'OCCUPANCY', INDETERMINATE) -reservation = express_getattr(IfcSpatialZoneTypeEnum, 'RESERVATION', INDETERMINATE) -security = express_getattr(IfcSpatialZoneTypeEnum, 'SECURITY', INDETERMINATE) -thermal = express_getattr(IfcSpatialZoneTypeEnum, 'THERMAL', INDETERMINATE) -transport = express_getattr(IfcSpatialZoneTypeEnum, 'TRANSPORT', INDETERMINATE) -ventilation = express_getattr(IfcSpatialZoneTypeEnum, 'VENTILATION', INDETERMINATE) -userdefined = express_getattr(IfcSpatialZoneTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSpatialZoneTypeEnum, 'NOTDEFINED', INDETERMINATE) +construction = IfcSpatialZoneTypeEnum.CONSTRUCTION +firesafety = IfcSpatialZoneTypeEnum.FIRESAFETY +interference = IfcSpatialZoneTypeEnum.INTERFERENCE +lighting = IfcSpatialZoneTypeEnum.LIGHTING +occupancy = IfcSpatialZoneTypeEnum.OCCUPANCY +reservation = IfcSpatialZoneTypeEnum.RESERVATION +security = IfcSpatialZoneTypeEnum.SECURITY +thermal = IfcSpatialZoneTypeEnum.THERMAL +transport = IfcSpatialZoneTypeEnum.TRANSPORT +ventilation = IfcSpatialZoneTypeEnum.VENTILATION +userdefined = IfcSpatialZoneTypeEnum.USERDEFINED +notdefined = IfcSpatialZoneTypeEnum.NOTDEFINED IfcStackTerminalTypeEnum = enum_namespace() -birdcage = express_getattr(IfcStackTerminalTypeEnum, 'BIRDCAGE', INDETERMINATE) -cowl = express_getattr(IfcStackTerminalTypeEnum, 'COWL', INDETERMINATE) -rainwaterhopper = express_getattr(IfcStackTerminalTypeEnum, 'RAINWATERHOPPER', INDETERMINATE) -userdefined = express_getattr(IfcStackTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStackTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +birdcage = IfcStackTerminalTypeEnum.BIRDCAGE +cowl = IfcStackTerminalTypeEnum.COWL +rainwaterhopper = IfcStackTerminalTypeEnum.RAINWATERHOPPER +userdefined = IfcStackTerminalTypeEnum.USERDEFINED +notdefined = IfcStackTerminalTypeEnum.NOTDEFINED IfcStairFlightTypeEnum = enum_namespace() -curved = express_getattr(IfcStairFlightTypeEnum, 'CURVED', INDETERMINATE) -freeform = express_getattr(IfcStairFlightTypeEnum, 'FREEFORM', INDETERMINATE) -spiral = express_getattr(IfcStairFlightTypeEnum, 'SPIRAL', INDETERMINATE) -straight = express_getattr(IfcStairFlightTypeEnum, 'STRAIGHT', INDETERMINATE) -winder = express_getattr(IfcStairFlightTypeEnum, 'WINDER', INDETERMINATE) -userdefined = express_getattr(IfcStairFlightTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairFlightTypeEnum, 'NOTDEFINED', INDETERMINATE) +curved = IfcStairFlightTypeEnum.CURVED +freeform = IfcStairFlightTypeEnum.FREEFORM +spiral = IfcStairFlightTypeEnum.SPIRAL +straight = IfcStairFlightTypeEnum.STRAIGHT +winder = IfcStairFlightTypeEnum.WINDER +userdefined = IfcStairFlightTypeEnum.USERDEFINED +notdefined = IfcStairFlightTypeEnum.NOTDEFINED IfcStairTypeEnum = enum_namespace() -curved_run_stair = express_getattr(IfcStairTypeEnum, 'CURVED_RUN_STAIR', INDETERMINATE) -double_return_stair = express_getattr(IfcStairTypeEnum, 'DOUBLE_RETURN_STAIR', INDETERMINATE) -half_turn_stair = express_getattr(IfcStairTypeEnum, 'HALF_TURN_STAIR', INDETERMINATE) -half_winding_stair = express_getattr(IfcStairTypeEnum, 'HALF_WINDING_STAIR', INDETERMINATE) -ladder = express_getattr(IfcStairTypeEnum, 'LADDER', INDETERMINATE) -quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_TURN_STAIR', INDETERMINATE) -quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'QUARTER_WINDING_STAIR', INDETERMINATE) -spiral_stair = express_getattr(IfcStairTypeEnum, 'SPIRAL_STAIR', INDETERMINATE) -straight_run_stair = express_getattr(IfcStairTypeEnum, 'STRAIGHT_RUN_STAIR', INDETERMINATE) -three_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_TURN_STAIR', INDETERMINATE) -three_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'THREE_QUARTER_WINDING_STAIR', INDETERMINATE) -two_curved_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_CURVED_RUN_STAIR', INDETERMINATE) -two_quarter_turn_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_TURN_STAIR', INDETERMINATE) -two_quarter_winding_stair = express_getattr(IfcStairTypeEnum, 'TWO_QUARTER_WINDING_STAIR', INDETERMINATE) -two_straight_run_stair = express_getattr(IfcStairTypeEnum, 'TWO_STRAIGHT_RUN_STAIR', INDETERMINATE) -userdefined = express_getattr(IfcStairTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStairTypeEnum, 'NOTDEFINED', INDETERMINATE) +curved_run_stair = IfcStairTypeEnum.CURVED_RUN_STAIR +double_return_stair = IfcStairTypeEnum.DOUBLE_RETURN_STAIR +half_turn_stair = IfcStairTypeEnum.HALF_TURN_STAIR +half_winding_stair = IfcStairTypeEnum.HALF_WINDING_STAIR +ladder = IfcStairTypeEnum.LADDER +quarter_turn_stair = IfcStairTypeEnum.QUARTER_TURN_STAIR +quarter_winding_stair = IfcStairTypeEnum.QUARTER_WINDING_STAIR +spiral_stair = IfcStairTypeEnum.SPIRAL_STAIR +straight_run_stair = IfcStairTypeEnum.STRAIGHT_RUN_STAIR +three_quarter_turn_stair = IfcStairTypeEnum.THREE_QUARTER_TURN_STAIR +three_quarter_winding_stair = IfcStairTypeEnum.THREE_QUARTER_WINDING_STAIR +two_curved_run_stair = IfcStairTypeEnum.TWO_CURVED_RUN_STAIR +two_quarter_turn_stair = IfcStairTypeEnum.TWO_QUARTER_TURN_STAIR +two_quarter_winding_stair = IfcStairTypeEnum.TWO_QUARTER_WINDING_STAIR +two_straight_run_stair = IfcStairTypeEnum.TWO_STRAIGHT_RUN_STAIR +userdefined = IfcStairTypeEnum.USERDEFINED +notdefined = IfcStairTypeEnum.NOTDEFINED IfcStateEnum = enum_namespace() -locked = express_getattr(IfcStateEnum, 'LOCKED', INDETERMINATE) -readonly = express_getattr(IfcStateEnum, 'READONLY', INDETERMINATE) -readonlylocked = express_getattr(IfcStateEnum, 'READONLYLOCKED', INDETERMINATE) -readwrite = express_getattr(IfcStateEnum, 'READWRITE', INDETERMINATE) -readwritelocked = express_getattr(IfcStateEnum, 'READWRITELOCKED', INDETERMINATE) +locked = IfcStateEnum.LOCKED +readonly = IfcStateEnum.READONLY +readonlylocked = IfcStateEnum.READONLYLOCKED +readwrite = IfcStateEnum.READWRITE +readwritelocked = IfcStateEnum.READWRITELOCKED IfcStructuralCurveActivityTypeEnum = enum_namespace() -const = express_getattr(IfcStructuralCurveActivityTypeEnum, 'CONST', INDETERMINATE) -discrete = express_getattr(IfcStructuralCurveActivityTypeEnum, 'DISCRETE', INDETERMINATE) -equidistant = express_getattr(IfcStructuralCurveActivityTypeEnum, 'EQUIDISTANT', INDETERMINATE) -linear = express_getattr(IfcStructuralCurveActivityTypeEnum, 'LINEAR', INDETERMINATE) -parabola = express_getattr(IfcStructuralCurveActivityTypeEnum, 'PARABOLA', INDETERMINATE) -polygonal = express_getattr(IfcStructuralCurveActivityTypeEnum, 'POLYGONAL', INDETERMINATE) -sinus = express_getattr(IfcStructuralCurveActivityTypeEnum, 'SINUS', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +const = IfcStructuralCurveActivityTypeEnum.CONST +discrete = IfcStructuralCurveActivityTypeEnum.DISCRETE +equidistant = IfcStructuralCurveActivityTypeEnum.EQUIDISTANT +linear = IfcStructuralCurveActivityTypeEnum.LINEAR +parabola = IfcStructuralCurveActivityTypeEnum.PARABOLA +polygonal = IfcStructuralCurveActivityTypeEnum.POLYGONAL +sinus = IfcStructuralCurveActivityTypeEnum.SINUS +userdefined = IfcStructuralCurveActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveActivityTypeEnum.NOTDEFINED IfcStructuralCurveMemberTypeEnum = enum_namespace() -cable = express_getattr(IfcStructuralCurveMemberTypeEnum, 'CABLE', INDETERMINATE) -compression_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'COMPRESSION_MEMBER', INDETERMINATE) -pin_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'PIN_JOINED_MEMBER', INDETERMINATE) -rigid_joined_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'RIGID_JOINED_MEMBER', INDETERMINATE) -tension_member = express_getattr(IfcStructuralCurveMemberTypeEnum, 'TENSION_MEMBER', INDETERMINATE) -userdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralCurveMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +cable = IfcStructuralCurveMemberTypeEnum.CABLE +compression_member = IfcStructuralCurveMemberTypeEnum.COMPRESSION_MEMBER +pin_joined_member = IfcStructuralCurveMemberTypeEnum.PIN_JOINED_MEMBER +rigid_joined_member = IfcStructuralCurveMemberTypeEnum.RIGID_JOINED_MEMBER +tension_member = IfcStructuralCurveMemberTypeEnum.TENSION_MEMBER +userdefined = IfcStructuralCurveMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralCurveMemberTypeEnum.NOTDEFINED IfcStructuralSurfaceActivityTypeEnum = enum_namespace() -bilinear = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'BILINEAR', INDETERMINATE) -const = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'CONST', INDETERMINATE) -discrete = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'DISCRETE', INDETERMINATE) -isocontour = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'ISOCONTOUR', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceActivityTypeEnum, 'NOTDEFINED', INDETERMINATE) +bilinear = IfcStructuralSurfaceActivityTypeEnum.BILINEAR +const = IfcStructuralSurfaceActivityTypeEnum.CONST +discrete = IfcStructuralSurfaceActivityTypeEnum.DISCRETE +isocontour = IfcStructuralSurfaceActivityTypeEnum.ISOCONTOUR +userdefined = IfcStructuralSurfaceActivityTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceActivityTypeEnum.NOTDEFINED IfcStructuralSurfaceMemberTypeEnum = enum_namespace() -bending_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'BENDING_ELEMENT', INDETERMINATE) -membrane_element = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'MEMBRANE_ELEMENT', INDETERMINATE) -shell = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'SHELL', INDETERMINATE) -userdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcStructuralSurfaceMemberTypeEnum, 'NOTDEFINED', INDETERMINATE) +bending_element = IfcStructuralSurfaceMemberTypeEnum.BENDING_ELEMENT +membrane_element = IfcStructuralSurfaceMemberTypeEnum.MEMBRANE_ELEMENT +shell = IfcStructuralSurfaceMemberTypeEnum.SHELL +userdefined = IfcStructuralSurfaceMemberTypeEnum.USERDEFINED +notdefined = IfcStructuralSurfaceMemberTypeEnum.NOTDEFINED IfcSubContractResourceTypeEnum = enum_namespace() -purchase = express_getattr(IfcSubContractResourceTypeEnum, 'PURCHASE', INDETERMINATE) -work = express_getattr(IfcSubContractResourceTypeEnum, 'WORK', INDETERMINATE) -userdefined = express_getattr(IfcSubContractResourceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSubContractResourceTypeEnum, 'NOTDEFINED', INDETERMINATE) +purchase = IfcSubContractResourceTypeEnum.PURCHASE +work = IfcSubContractResourceTypeEnum.WORK +userdefined = IfcSubContractResourceTypeEnum.USERDEFINED +notdefined = IfcSubContractResourceTypeEnum.NOTDEFINED IfcSurfaceFeatureTypeEnum = enum_namespace() -defect = express_getattr(IfcSurfaceFeatureTypeEnum, 'DEFECT', INDETERMINATE) -hatchmarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'HATCHMARKING', INDETERMINATE) -linemarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'LINEMARKING', INDETERMINATE) -mark = express_getattr(IfcSurfaceFeatureTypeEnum, 'MARK', INDETERMINATE) -nonskidsurfacing = express_getattr(IfcSurfaceFeatureTypeEnum, 'NONSKIDSURFACING', INDETERMINATE) -pavementsurfacemarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'PAVEMENTSURFACEMARKING', INDETERMINATE) -rumblestrip = express_getattr(IfcSurfaceFeatureTypeEnum, 'RUMBLESTRIP', INDETERMINATE) -symbolmarking = express_getattr(IfcSurfaceFeatureTypeEnum, 'SYMBOLMARKING', INDETERMINATE) -tag = express_getattr(IfcSurfaceFeatureTypeEnum, 'TAG', INDETERMINATE) -transverserumblestrip = express_getattr(IfcSurfaceFeatureTypeEnum, 'TRANSVERSERUMBLESTRIP', INDETERMINATE) -treatment = express_getattr(IfcSurfaceFeatureTypeEnum, 'TREATMENT', INDETERMINATE) -userdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSurfaceFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +defect = IfcSurfaceFeatureTypeEnum.DEFECT +hatchmarking = IfcSurfaceFeatureTypeEnum.HATCHMARKING +linemarking = IfcSurfaceFeatureTypeEnum.LINEMARKING +mark = IfcSurfaceFeatureTypeEnum.MARK +nonskidsurfacing = IfcSurfaceFeatureTypeEnum.NONSKIDSURFACING +pavementsurfacemarking = IfcSurfaceFeatureTypeEnum.PAVEMENTSURFACEMARKING +rumblestrip = IfcSurfaceFeatureTypeEnum.RUMBLESTRIP +symbolmarking = IfcSurfaceFeatureTypeEnum.SYMBOLMARKING +tag = IfcSurfaceFeatureTypeEnum.TAG +transverserumblestrip = IfcSurfaceFeatureTypeEnum.TRANSVERSERUMBLESTRIP +treatment = IfcSurfaceFeatureTypeEnum.TREATMENT +userdefined = IfcSurfaceFeatureTypeEnum.USERDEFINED +notdefined = IfcSurfaceFeatureTypeEnum.NOTDEFINED IfcSurfaceSide = enum_namespace() -both = express_getattr(IfcSurfaceSide, 'BOTH', INDETERMINATE) -negative = express_getattr(IfcSurfaceSide, 'NEGATIVE', INDETERMINATE) -positive = express_getattr(IfcSurfaceSide, 'POSITIVE', INDETERMINATE) +both = IfcSurfaceSide.BOTH +negative = IfcSurfaceSide.NEGATIVE +positive = IfcSurfaceSide.POSITIVE IfcSwitchingDeviceTypeEnum = enum_namespace() -contactor = express_getattr(IfcSwitchingDeviceTypeEnum, 'CONTACTOR', INDETERMINATE) -dimmerswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'DIMMERSWITCH', INDETERMINATE) -emergencystop = express_getattr(IfcSwitchingDeviceTypeEnum, 'EMERGENCYSTOP', INDETERMINATE) -keypad = express_getattr(IfcSwitchingDeviceTypeEnum, 'KEYPAD', INDETERMINATE) -momentaryswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'MOMENTARYSWITCH', INDETERMINATE) -relay = express_getattr(IfcSwitchingDeviceTypeEnum, 'RELAY', INDETERMINATE) -selectorswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'SELECTORSWITCH', INDETERMINATE) -starter = express_getattr(IfcSwitchingDeviceTypeEnum, 'STARTER', INDETERMINATE) -start_and_stop_equipment = express_getattr(IfcSwitchingDeviceTypeEnum, 'START_AND_STOP_EQUIPMENT', INDETERMINATE) -switchdisconnector = express_getattr(IfcSwitchingDeviceTypeEnum, 'SWITCHDISCONNECTOR', INDETERMINATE) -toggleswitch = express_getattr(IfcSwitchingDeviceTypeEnum, 'TOGGLESWITCH', INDETERMINATE) -userdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSwitchingDeviceTypeEnum, 'NOTDEFINED', INDETERMINATE) +contactor = IfcSwitchingDeviceTypeEnum.CONTACTOR +dimmerswitch = IfcSwitchingDeviceTypeEnum.DIMMERSWITCH +emergencystop = IfcSwitchingDeviceTypeEnum.EMERGENCYSTOP +keypad = IfcSwitchingDeviceTypeEnum.KEYPAD +momentaryswitch = IfcSwitchingDeviceTypeEnum.MOMENTARYSWITCH +relay = IfcSwitchingDeviceTypeEnum.RELAY +selectorswitch = IfcSwitchingDeviceTypeEnum.SELECTORSWITCH +starter = IfcSwitchingDeviceTypeEnum.STARTER +start_and_stop_equipment = IfcSwitchingDeviceTypeEnum.START_AND_STOP_EQUIPMENT +switchdisconnector = IfcSwitchingDeviceTypeEnum.SWITCHDISCONNECTOR +toggleswitch = IfcSwitchingDeviceTypeEnum.TOGGLESWITCH +userdefined = IfcSwitchingDeviceTypeEnum.USERDEFINED +notdefined = IfcSwitchingDeviceTypeEnum.NOTDEFINED IfcSystemFurnitureElementTypeEnum = enum_namespace() -panel = express_getattr(IfcSystemFurnitureElementTypeEnum, 'PANEL', INDETERMINATE) -subrack = express_getattr(IfcSystemFurnitureElementTypeEnum, 'SUBRACK', INDETERMINATE) -worksurface = express_getattr(IfcSystemFurnitureElementTypeEnum, 'WORKSURFACE', INDETERMINATE) -userdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcSystemFurnitureElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +panel = IfcSystemFurnitureElementTypeEnum.PANEL +subrack = IfcSystemFurnitureElementTypeEnum.SUBRACK +worksurface = IfcSystemFurnitureElementTypeEnum.WORKSURFACE +userdefined = IfcSystemFurnitureElementTypeEnum.USERDEFINED +notdefined = IfcSystemFurnitureElementTypeEnum.NOTDEFINED IfcTankTypeEnum = enum_namespace() -basin = express_getattr(IfcTankTypeEnum, 'BASIN', INDETERMINATE) -breakpressure = express_getattr(IfcTankTypeEnum, 'BREAKPRESSURE', INDETERMINATE) -expansion = express_getattr(IfcTankTypeEnum, 'EXPANSION', INDETERMINATE) -feedandexpansion = express_getattr(IfcTankTypeEnum, 'FEEDANDEXPANSION', INDETERMINATE) -oilretentiontray = express_getattr(IfcTankTypeEnum, 'OILRETENTIONTRAY', INDETERMINATE) -pressurevessel = express_getattr(IfcTankTypeEnum, 'PRESSUREVESSEL', INDETERMINATE) -storage = express_getattr(IfcTankTypeEnum, 'STORAGE', INDETERMINATE) -vessel = express_getattr(IfcTankTypeEnum, 'VESSEL', INDETERMINATE) -userdefined = express_getattr(IfcTankTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTankTypeEnum, 'NOTDEFINED', INDETERMINATE) +basin = IfcTankTypeEnum.BASIN +breakpressure = IfcTankTypeEnum.BREAKPRESSURE +expansion = IfcTankTypeEnum.EXPANSION +feedandexpansion = IfcTankTypeEnum.FEEDANDEXPANSION +oilretentiontray = IfcTankTypeEnum.OILRETENTIONTRAY +pressurevessel = IfcTankTypeEnum.PRESSUREVESSEL +storage = IfcTankTypeEnum.STORAGE +vessel = IfcTankTypeEnum.VESSEL +userdefined = IfcTankTypeEnum.USERDEFINED +notdefined = IfcTankTypeEnum.NOTDEFINED IfcTaskDurationEnum = enum_namespace() -elapsedtime = express_getattr(IfcTaskDurationEnum, 'ELAPSEDTIME', INDETERMINATE) -worktime = express_getattr(IfcTaskDurationEnum, 'WORKTIME', INDETERMINATE) -notdefined = express_getattr(IfcTaskDurationEnum, 'NOTDEFINED', INDETERMINATE) +elapsedtime = IfcTaskDurationEnum.ELAPSEDTIME +worktime = IfcTaskDurationEnum.WORKTIME +notdefined = IfcTaskDurationEnum.NOTDEFINED IfcTaskTypeEnum = enum_namespace() -adjustment = express_getattr(IfcTaskTypeEnum, 'ADJUSTMENT', INDETERMINATE) -attendance = express_getattr(IfcTaskTypeEnum, 'ATTENDANCE', INDETERMINATE) -calibration = express_getattr(IfcTaskTypeEnum, 'CALIBRATION', INDETERMINATE) -construction = express_getattr(IfcTaskTypeEnum, 'CONSTRUCTION', INDETERMINATE) -demolition = express_getattr(IfcTaskTypeEnum, 'DEMOLITION', INDETERMINATE) -dismantle = express_getattr(IfcTaskTypeEnum, 'DISMANTLE', INDETERMINATE) -disposal = express_getattr(IfcTaskTypeEnum, 'DISPOSAL', INDETERMINATE) -emergency = express_getattr(IfcTaskTypeEnum, 'EMERGENCY', INDETERMINATE) -inspection = express_getattr(IfcTaskTypeEnum, 'INSPECTION', INDETERMINATE) -installation = express_getattr(IfcTaskTypeEnum, 'INSTALLATION', INDETERMINATE) -logistic = express_getattr(IfcTaskTypeEnum, 'LOGISTIC', INDETERMINATE) -maintenance = express_getattr(IfcTaskTypeEnum, 'MAINTENANCE', INDETERMINATE) -move = express_getattr(IfcTaskTypeEnum, 'MOVE', INDETERMINATE) -operation = express_getattr(IfcTaskTypeEnum, 'OPERATION', INDETERMINATE) -removal = express_getattr(IfcTaskTypeEnum, 'REMOVAL', INDETERMINATE) -renovation = express_getattr(IfcTaskTypeEnum, 'RENOVATION', INDETERMINATE) -safety = express_getattr(IfcTaskTypeEnum, 'SAFETY', INDETERMINATE) -shutdown = express_getattr(IfcTaskTypeEnum, 'SHUTDOWN', INDETERMINATE) -startup = express_getattr(IfcTaskTypeEnum, 'STARTUP', INDETERMINATE) -testing = express_getattr(IfcTaskTypeEnum, 'TESTING', INDETERMINATE) -troubleshooting = express_getattr(IfcTaskTypeEnum, 'TROUBLESHOOTING', INDETERMINATE) -userdefined = express_getattr(IfcTaskTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTaskTypeEnum, 'NOTDEFINED', INDETERMINATE) +adjustment = IfcTaskTypeEnum.ADJUSTMENT +attendance = IfcTaskTypeEnum.ATTENDANCE +calibration = IfcTaskTypeEnum.CALIBRATION +construction = IfcTaskTypeEnum.CONSTRUCTION +demolition = IfcTaskTypeEnum.DEMOLITION +dismantle = IfcTaskTypeEnum.DISMANTLE +disposal = IfcTaskTypeEnum.DISPOSAL +emergency = IfcTaskTypeEnum.EMERGENCY +inspection = IfcTaskTypeEnum.INSPECTION +installation = IfcTaskTypeEnum.INSTALLATION +logistic = IfcTaskTypeEnum.LOGISTIC +maintenance = IfcTaskTypeEnum.MAINTENANCE +move = IfcTaskTypeEnum.MOVE +operation = IfcTaskTypeEnum.OPERATION +removal = IfcTaskTypeEnum.REMOVAL +renovation = IfcTaskTypeEnum.RENOVATION +safety = IfcTaskTypeEnum.SAFETY +shutdown = IfcTaskTypeEnum.SHUTDOWN +startup = IfcTaskTypeEnum.STARTUP +testing = IfcTaskTypeEnum.TESTING +troubleshooting = IfcTaskTypeEnum.TROUBLESHOOTING +userdefined = IfcTaskTypeEnum.USERDEFINED +notdefined = IfcTaskTypeEnum.NOTDEFINED IfcTendonAnchorTypeEnum = enum_namespace() -coupler = express_getattr(IfcTendonAnchorTypeEnum, 'COUPLER', INDETERMINATE) -fixed_end = express_getattr(IfcTendonAnchorTypeEnum, 'FIXED_END', INDETERMINATE) -tensioning_end = express_getattr(IfcTendonAnchorTypeEnum, 'TENSIONING_END', INDETERMINATE) -userdefined = express_getattr(IfcTendonAnchorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonAnchorTypeEnum, 'NOTDEFINED', INDETERMINATE) +coupler = IfcTendonAnchorTypeEnum.COUPLER +fixed_end = IfcTendonAnchorTypeEnum.FIXED_END +tensioning_end = IfcTendonAnchorTypeEnum.TENSIONING_END +userdefined = IfcTendonAnchorTypeEnum.USERDEFINED +notdefined = IfcTendonAnchorTypeEnum.NOTDEFINED IfcTendonConduitTypeEnum = enum_namespace() -coupler = express_getattr(IfcTendonConduitTypeEnum, 'COUPLER', INDETERMINATE) -diabolo = express_getattr(IfcTendonConduitTypeEnum, 'DIABOLO', INDETERMINATE) -duct = express_getattr(IfcTendonConduitTypeEnum, 'DUCT', INDETERMINATE) -grouting_duct = express_getattr(IfcTendonConduitTypeEnum, 'GROUTING_DUCT', INDETERMINATE) -trumpet = express_getattr(IfcTendonConduitTypeEnum, 'TRUMPET', INDETERMINATE) -userdefined = express_getattr(IfcTendonConduitTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonConduitTypeEnum, 'NOTDEFINED', INDETERMINATE) +coupler = IfcTendonConduitTypeEnum.COUPLER +diabolo = IfcTendonConduitTypeEnum.DIABOLO +duct = IfcTendonConduitTypeEnum.DUCT +grouting_duct = IfcTendonConduitTypeEnum.GROUTING_DUCT +trumpet = IfcTendonConduitTypeEnum.TRUMPET +userdefined = IfcTendonConduitTypeEnum.USERDEFINED +notdefined = IfcTendonConduitTypeEnum.NOTDEFINED IfcTendonTypeEnum = enum_namespace() -bar = express_getattr(IfcTendonTypeEnum, 'BAR', INDETERMINATE) -coated = express_getattr(IfcTendonTypeEnum, 'COATED', INDETERMINATE) -strand = express_getattr(IfcTendonTypeEnum, 'STRAND', INDETERMINATE) -wire = express_getattr(IfcTendonTypeEnum, 'WIRE', INDETERMINATE) -userdefined = express_getattr(IfcTendonTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTendonTypeEnum, 'NOTDEFINED', INDETERMINATE) +bar = IfcTendonTypeEnum.BAR +coated = IfcTendonTypeEnum.COATED +strand = IfcTendonTypeEnum.STRAND +wire = IfcTendonTypeEnum.WIRE +userdefined = IfcTendonTypeEnum.USERDEFINED +notdefined = IfcTendonTypeEnum.NOTDEFINED IfcTextPath = enum_namespace() -down = express_getattr(IfcTextPath, 'DOWN', INDETERMINATE) -left = express_getattr(IfcTextPath, 'LEFT', INDETERMINATE) -right = express_getattr(IfcTextPath, 'RIGHT', INDETERMINATE) -up = express_getattr(IfcTextPath, 'UP', INDETERMINATE) +down = IfcTextPath.DOWN +left = IfcTextPath.LEFT +right = IfcTextPath.RIGHT +up = IfcTextPath.UP IfcTimeSeriesDataTypeEnum = enum_namespace() -continuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'CONTINUOUS', INDETERMINATE) -discrete = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETE', INDETERMINATE) -discretebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'DISCRETEBINARY', INDETERMINATE) -piecewisebinary = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISEBINARY', INDETERMINATE) -piecewiseconstant = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONSTANT', INDETERMINATE) -piecewisecontinuous = express_getattr(IfcTimeSeriesDataTypeEnum, 'PIECEWISECONTINUOUS', INDETERMINATE) -notdefined = express_getattr(IfcTimeSeriesDataTypeEnum, 'NOTDEFINED', INDETERMINATE) +continuous = IfcTimeSeriesDataTypeEnum.CONTINUOUS +discrete = IfcTimeSeriesDataTypeEnum.DISCRETE +discretebinary = IfcTimeSeriesDataTypeEnum.DISCRETEBINARY +piecewisebinary = IfcTimeSeriesDataTypeEnum.PIECEWISEBINARY +piecewiseconstant = IfcTimeSeriesDataTypeEnum.PIECEWISECONSTANT +piecewisecontinuous = IfcTimeSeriesDataTypeEnum.PIECEWISECONTINUOUS +notdefined = IfcTimeSeriesDataTypeEnum.NOTDEFINED IfcTrackElementTypeEnum = enum_namespace() -blockingdevice = express_getattr(IfcTrackElementTypeEnum, 'BLOCKINGDEVICE', INDETERMINATE) -derailer = express_getattr(IfcTrackElementTypeEnum, 'DERAILER', INDETERMINATE) -frog = express_getattr(IfcTrackElementTypeEnum, 'FROG', INDETERMINATE) -half_set_of_blades = express_getattr(IfcTrackElementTypeEnum, 'HALF_SET_OF_BLADES', INDETERMINATE) -sleeper = express_getattr(IfcTrackElementTypeEnum, 'SLEEPER', INDETERMINATE) -speedregulator = express_getattr(IfcTrackElementTypeEnum, 'SPEEDREGULATOR', INDETERMINATE) -trackendofalignment = express_getattr(IfcTrackElementTypeEnum, 'TRACKENDOFALIGNMENT', INDETERMINATE) -vehiclestop = express_getattr(IfcTrackElementTypeEnum, 'VEHICLESTOP', INDETERMINATE) -userdefined = express_getattr(IfcTrackElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTrackElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +blockingdevice = IfcTrackElementTypeEnum.BLOCKINGDEVICE +derailer = IfcTrackElementTypeEnum.DERAILER +frog = IfcTrackElementTypeEnum.FROG +half_set_of_blades = IfcTrackElementTypeEnum.HALF_SET_OF_BLADES +sleeper = IfcTrackElementTypeEnum.SLEEPER +speedregulator = IfcTrackElementTypeEnum.SPEEDREGULATOR +trackendofalignment = IfcTrackElementTypeEnum.TRACKENDOFALIGNMENT +vehiclestop = IfcTrackElementTypeEnum.VEHICLESTOP +userdefined = IfcTrackElementTypeEnum.USERDEFINED +notdefined = IfcTrackElementTypeEnum.NOTDEFINED IfcTransformerTypeEnum = enum_namespace() -chopper = express_getattr(IfcTransformerTypeEnum, 'CHOPPER', INDETERMINATE) -combined = express_getattr(IfcTransformerTypeEnum, 'COMBINED', INDETERMINATE) -current = express_getattr(IfcTransformerTypeEnum, 'CURRENT', INDETERMINATE) -frequency = express_getattr(IfcTransformerTypeEnum, 'FREQUENCY', INDETERMINATE) -inverter = express_getattr(IfcTransformerTypeEnum, 'INVERTER', INDETERMINATE) -rectifier = express_getattr(IfcTransformerTypeEnum, 'RECTIFIER', INDETERMINATE) -voltage = express_getattr(IfcTransformerTypeEnum, 'VOLTAGE', INDETERMINATE) -userdefined = express_getattr(IfcTransformerTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransformerTypeEnum, 'NOTDEFINED', INDETERMINATE) +chopper = IfcTransformerTypeEnum.CHOPPER +combined = IfcTransformerTypeEnum.COMBINED +current = IfcTransformerTypeEnum.CURRENT +frequency = IfcTransformerTypeEnum.FREQUENCY +inverter = IfcTransformerTypeEnum.INVERTER +rectifier = IfcTransformerTypeEnum.RECTIFIER +voltage = IfcTransformerTypeEnum.VOLTAGE +userdefined = IfcTransformerTypeEnum.USERDEFINED +notdefined = IfcTransformerTypeEnum.NOTDEFINED IfcTransitionCode = enum_namespace() -continuous = express_getattr(IfcTransitionCode, 'CONTINUOUS', INDETERMINATE) -contsamegradient = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENT', INDETERMINATE) -contsamegradientsamecurvature = express_getattr(IfcTransitionCode, 'CONTSAMEGRADIENTSAMECURVATURE', INDETERMINATE) -discontinuous = express_getattr(IfcTransitionCode, 'DISCONTINUOUS', INDETERMINATE) +continuous = IfcTransitionCode.CONTINUOUS +contsamegradient = IfcTransitionCode.CONTSAMEGRADIENT +contsamegradientsamecurvature = IfcTransitionCode.CONTSAMEGRADIENTSAMECURVATURE +discontinuous = IfcTransitionCode.DISCONTINUOUS IfcTransportElementTypeEnum = enum_namespace() -craneway = express_getattr(IfcTransportElementTypeEnum, 'CRANEWAY', INDETERMINATE) -elevator = express_getattr(IfcTransportElementTypeEnum, 'ELEVATOR', INDETERMINATE) -escalator = express_getattr(IfcTransportElementTypeEnum, 'ESCALATOR', INDETERMINATE) -haulinggear = express_getattr(IfcTransportElementTypeEnum, 'HAULINGGEAR', INDETERMINATE) -liftinggear = express_getattr(IfcTransportElementTypeEnum, 'LIFTINGGEAR', INDETERMINATE) -movingwalkway = express_getattr(IfcTransportElementTypeEnum, 'MOVINGWALKWAY', INDETERMINATE) -userdefined = express_getattr(IfcTransportElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTransportElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +craneway = IfcTransportElementTypeEnum.CRANEWAY +elevator = IfcTransportElementTypeEnum.ELEVATOR +escalator = IfcTransportElementTypeEnum.ESCALATOR +haulinggear = IfcTransportElementTypeEnum.HAULINGGEAR +liftinggear = IfcTransportElementTypeEnum.LIFTINGGEAR +movingwalkway = IfcTransportElementTypeEnum.MOVINGWALKWAY +userdefined = IfcTransportElementTypeEnum.USERDEFINED +notdefined = IfcTransportElementTypeEnum.NOTDEFINED IfcTrimmingPreference = enum_namespace() -cartesian = express_getattr(IfcTrimmingPreference, 'CARTESIAN', INDETERMINATE) -parameter = express_getattr(IfcTrimmingPreference, 'PARAMETER', INDETERMINATE) -unspecified = express_getattr(IfcTrimmingPreference, 'UNSPECIFIED', INDETERMINATE) +cartesian = IfcTrimmingPreference.CARTESIAN +parameter = IfcTrimmingPreference.PARAMETER +unspecified = IfcTrimmingPreference.UNSPECIFIED IfcTubeBundleTypeEnum = enum_namespace() -finned = express_getattr(IfcTubeBundleTypeEnum, 'FINNED', INDETERMINATE) -userdefined = express_getattr(IfcTubeBundleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcTubeBundleTypeEnum, 'NOTDEFINED', INDETERMINATE) +finned = IfcTubeBundleTypeEnum.FINNED +userdefined = IfcTubeBundleTypeEnum.USERDEFINED +notdefined = IfcTubeBundleTypeEnum.NOTDEFINED IfcUnitEnum = enum_namespace() -absorbeddoseunit = express_getattr(IfcUnitEnum, 'ABSORBEDDOSEUNIT', INDETERMINATE) -amountofsubstanceunit = express_getattr(IfcUnitEnum, 'AMOUNTOFSUBSTANCEUNIT', INDETERMINATE) -areaunit = express_getattr(IfcUnitEnum, 'AREAUNIT', INDETERMINATE) -doseequivalentunit = express_getattr(IfcUnitEnum, 'DOSEEQUIVALENTUNIT', INDETERMINATE) -electriccapacitanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCAPACITANCEUNIT', INDETERMINATE) -electricchargeunit = express_getattr(IfcUnitEnum, 'ELECTRICCHARGEUNIT', INDETERMINATE) -electricconductanceunit = express_getattr(IfcUnitEnum, 'ELECTRICCONDUCTANCEUNIT', INDETERMINATE) -electriccurrentunit = express_getattr(IfcUnitEnum, 'ELECTRICCURRENTUNIT', INDETERMINATE) -electricresistanceunit = express_getattr(IfcUnitEnum, 'ELECTRICRESISTANCEUNIT', INDETERMINATE) -electricvoltageunit = express_getattr(IfcUnitEnum, 'ELECTRICVOLTAGEUNIT', INDETERMINATE) -energyunit = express_getattr(IfcUnitEnum, 'ENERGYUNIT', INDETERMINATE) -forceunit = express_getattr(IfcUnitEnum, 'FORCEUNIT', INDETERMINATE) -frequencyunit = express_getattr(IfcUnitEnum, 'FREQUENCYUNIT', INDETERMINATE) -illuminanceunit = express_getattr(IfcUnitEnum, 'ILLUMINANCEUNIT', INDETERMINATE) -inductanceunit = express_getattr(IfcUnitEnum, 'INDUCTANCEUNIT', INDETERMINATE) -lengthunit = express_getattr(IfcUnitEnum, 'LENGTHUNIT', INDETERMINATE) -luminousfluxunit = express_getattr(IfcUnitEnum, 'LUMINOUSFLUXUNIT', INDETERMINATE) -luminousintensityunit = express_getattr(IfcUnitEnum, 'LUMINOUSINTENSITYUNIT', INDETERMINATE) -magneticfluxdensityunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXDENSITYUNIT', INDETERMINATE) -magneticfluxunit = express_getattr(IfcUnitEnum, 'MAGNETICFLUXUNIT', INDETERMINATE) -massunit = express_getattr(IfcUnitEnum, 'MASSUNIT', INDETERMINATE) -planeangleunit = express_getattr(IfcUnitEnum, 'PLANEANGLEUNIT', INDETERMINATE) -powerunit = express_getattr(IfcUnitEnum, 'POWERUNIT', INDETERMINATE) -pressureunit = express_getattr(IfcUnitEnum, 'PRESSUREUNIT', INDETERMINATE) -radioactivityunit = express_getattr(IfcUnitEnum, 'RADIOACTIVITYUNIT', INDETERMINATE) -solidangleunit = express_getattr(IfcUnitEnum, 'SOLIDANGLEUNIT', INDETERMINATE) -thermodynamictemperatureunit = express_getattr(IfcUnitEnum, 'THERMODYNAMICTEMPERATUREUNIT', INDETERMINATE) -timeunit = express_getattr(IfcUnitEnum, 'TIMEUNIT', INDETERMINATE) -volumeunit = express_getattr(IfcUnitEnum, 'VOLUMEUNIT', INDETERMINATE) -userdefined = express_getattr(IfcUnitEnum, 'USERDEFINED', INDETERMINATE) +absorbeddoseunit = IfcUnitEnum.ABSORBEDDOSEUNIT +amountofsubstanceunit = IfcUnitEnum.AMOUNTOFSUBSTANCEUNIT +areaunit = IfcUnitEnum.AREAUNIT +doseequivalentunit = IfcUnitEnum.DOSEEQUIVALENTUNIT +electriccapacitanceunit = IfcUnitEnum.ELECTRICCAPACITANCEUNIT +electricchargeunit = IfcUnitEnum.ELECTRICCHARGEUNIT +electricconductanceunit = IfcUnitEnum.ELECTRICCONDUCTANCEUNIT +electriccurrentunit = IfcUnitEnum.ELECTRICCURRENTUNIT +electricresistanceunit = IfcUnitEnum.ELECTRICRESISTANCEUNIT +electricvoltageunit = IfcUnitEnum.ELECTRICVOLTAGEUNIT +energyunit = IfcUnitEnum.ENERGYUNIT +forceunit = IfcUnitEnum.FORCEUNIT +frequencyunit = IfcUnitEnum.FREQUENCYUNIT +illuminanceunit = IfcUnitEnum.ILLUMINANCEUNIT +inductanceunit = IfcUnitEnum.INDUCTANCEUNIT +lengthunit = IfcUnitEnum.LENGTHUNIT +luminousfluxunit = IfcUnitEnum.LUMINOUSFLUXUNIT +luminousintensityunit = IfcUnitEnum.LUMINOUSINTENSITYUNIT +magneticfluxdensityunit = IfcUnitEnum.MAGNETICFLUXDENSITYUNIT +magneticfluxunit = IfcUnitEnum.MAGNETICFLUXUNIT +massunit = IfcUnitEnum.MASSUNIT +planeangleunit = IfcUnitEnum.PLANEANGLEUNIT +powerunit = IfcUnitEnum.POWERUNIT +pressureunit = IfcUnitEnum.PRESSUREUNIT +radioactivityunit = IfcUnitEnum.RADIOACTIVITYUNIT +solidangleunit = IfcUnitEnum.SOLIDANGLEUNIT +thermodynamictemperatureunit = IfcUnitEnum.THERMODYNAMICTEMPERATUREUNIT +timeunit = IfcUnitEnum.TIMEUNIT +volumeunit = IfcUnitEnum.VOLUMEUNIT +userdefined = IfcUnitEnum.USERDEFINED IfcUnitaryControlElementTypeEnum = enum_namespace() -alarmpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'ALARMPANEL', INDETERMINATE) -basestationcontroller = express_getattr(IfcUnitaryControlElementTypeEnum, 'BASESTATIONCONTROLLER', INDETERMINATE) -combined = express_getattr(IfcUnitaryControlElementTypeEnum, 'COMBINED', INDETERMINATE) -controlpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'CONTROLPANEL', INDETERMINATE) -gasdetectionpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'GASDETECTIONPANEL', INDETERMINATE) -humidistat = express_getattr(IfcUnitaryControlElementTypeEnum, 'HUMIDISTAT', INDETERMINATE) -indicatorpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'INDICATORPANEL', INDETERMINATE) -mimicpanel = express_getattr(IfcUnitaryControlElementTypeEnum, 'MIMICPANEL', INDETERMINATE) -thermostat = express_getattr(IfcUnitaryControlElementTypeEnum, 'THERMOSTAT', INDETERMINATE) -weatherstation = express_getattr(IfcUnitaryControlElementTypeEnum, 'WEATHERSTATION', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryControlElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +alarmpanel = IfcUnitaryControlElementTypeEnum.ALARMPANEL +basestationcontroller = IfcUnitaryControlElementTypeEnum.BASESTATIONCONTROLLER +combined = IfcUnitaryControlElementTypeEnum.COMBINED +controlpanel = IfcUnitaryControlElementTypeEnum.CONTROLPANEL +gasdetectionpanel = IfcUnitaryControlElementTypeEnum.GASDETECTIONPANEL +humidistat = IfcUnitaryControlElementTypeEnum.HUMIDISTAT +indicatorpanel = IfcUnitaryControlElementTypeEnum.INDICATORPANEL +mimicpanel = IfcUnitaryControlElementTypeEnum.MIMICPANEL +thermostat = IfcUnitaryControlElementTypeEnum.THERMOSTAT +weatherstation = IfcUnitaryControlElementTypeEnum.WEATHERSTATION +userdefined = IfcUnitaryControlElementTypeEnum.USERDEFINED +notdefined = IfcUnitaryControlElementTypeEnum.NOTDEFINED IfcUnitaryEquipmentTypeEnum = enum_namespace() -airconditioningunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRCONDITIONINGUNIT', INDETERMINATE) -airhandler = express_getattr(IfcUnitaryEquipmentTypeEnum, 'AIRHANDLER', INDETERMINATE) -dehumidifier = express_getattr(IfcUnitaryEquipmentTypeEnum, 'DEHUMIDIFIER', INDETERMINATE) -rooftopunit = express_getattr(IfcUnitaryEquipmentTypeEnum, 'ROOFTOPUNIT', INDETERMINATE) -splitsystem = express_getattr(IfcUnitaryEquipmentTypeEnum, 'SPLITSYSTEM', INDETERMINATE) -userdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcUnitaryEquipmentTypeEnum, 'NOTDEFINED', INDETERMINATE) +airconditioningunit = IfcUnitaryEquipmentTypeEnum.AIRCONDITIONINGUNIT +airhandler = IfcUnitaryEquipmentTypeEnum.AIRHANDLER +dehumidifier = IfcUnitaryEquipmentTypeEnum.DEHUMIDIFIER +rooftopunit = IfcUnitaryEquipmentTypeEnum.ROOFTOPUNIT +splitsystem = IfcUnitaryEquipmentTypeEnum.SPLITSYSTEM +userdefined = IfcUnitaryEquipmentTypeEnum.USERDEFINED +notdefined = IfcUnitaryEquipmentTypeEnum.NOTDEFINED IfcValveTypeEnum = enum_namespace() -airrelease = express_getattr(IfcValveTypeEnum, 'AIRRELEASE', INDETERMINATE) -antivacuum = express_getattr(IfcValveTypeEnum, 'ANTIVACUUM', INDETERMINATE) -changeover = express_getattr(IfcValveTypeEnum, 'CHANGEOVER', INDETERMINATE) -check = express_getattr(IfcValveTypeEnum, 'CHECK', INDETERMINATE) -commissioning = express_getattr(IfcValveTypeEnum, 'COMMISSIONING', INDETERMINATE) -diverting = express_getattr(IfcValveTypeEnum, 'DIVERTING', INDETERMINATE) -doublecheck = express_getattr(IfcValveTypeEnum, 'DOUBLECHECK', INDETERMINATE) -doubleregulating = express_getattr(IfcValveTypeEnum, 'DOUBLEREGULATING', INDETERMINATE) -drawoffcock = express_getattr(IfcValveTypeEnum, 'DRAWOFFCOCK', INDETERMINATE) -faucet = express_getattr(IfcValveTypeEnum, 'FAUCET', INDETERMINATE) -flushing = express_getattr(IfcValveTypeEnum, 'FLUSHING', INDETERMINATE) -gascock = express_getattr(IfcValveTypeEnum, 'GASCOCK', INDETERMINATE) -gastap = express_getattr(IfcValveTypeEnum, 'GASTAP', INDETERMINATE) -isolating = express_getattr(IfcValveTypeEnum, 'ISOLATING', INDETERMINATE) -mixing = express_getattr(IfcValveTypeEnum, 'MIXING', INDETERMINATE) -pressurereducing = express_getattr(IfcValveTypeEnum, 'PRESSUREREDUCING', INDETERMINATE) -pressurerelief = express_getattr(IfcValveTypeEnum, 'PRESSURERELIEF', INDETERMINATE) -regulating = express_getattr(IfcValveTypeEnum, 'REGULATING', INDETERMINATE) -safetycutoff = express_getattr(IfcValveTypeEnum, 'SAFETYCUTOFF', INDETERMINATE) -steamtrap = express_getattr(IfcValveTypeEnum, 'STEAMTRAP', INDETERMINATE) -stopcock = express_getattr(IfcValveTypeEnum, 'STOPCOCK', INDETERMINATE) -userdefined = express_getattr(IfcValveTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcValveTypeEnum, 'NOTDEFINED', INDETERMINATE) +airrelease = IfcValveTypeEnum.AIRRELEASE +antivacuum = IfcValveTypeEnum.ANTIVACUUM +changeover = IfcValveTypeEnum.CHANGEOVER +check = IfcValveTypeEnum.CHECK +commissioning = IfcValveTypeEnum.COMMISSIONING +diverting = IfcValveTypeEnum.DIVERTING +doublecheck = IfcValveTypeEnum.DOUBLECHECK +doubleregulating = IfcValveTypeEnum.DOUBLEREGULATING +drawoffcock = IfcValveTypeEnum.DRAWOFFCOCK +faucet = IfcValveTypeEnum.FAUCET +flushing = IfcValveTypeEnum.FLUSHING +gascock = IfcValveTypeEnum.GASCOCK +gastap = IfcValveTypeEnum.GASTAP +isolating = IfcValveTypeEnum.ISOLATING +mixing = IfcValveTypeEnum.MIXING +pressurereducing = IfcValveTypeEnum.PRESSUREREDUCING +pressurerelief = IfcValveTypeEnum.PRESSURERELIEF +regulating = IfcValveTypeEnum.REGULATING +safetycutoff = IfcValveTypeEnum.SAFETYCUTOFF +steamtrap = IfcValveTypeEnum.STEAMTRAP +stopcock = IfcValveTypeEnum.STOPCOCK +userdefined = IfcValveTypeEnum.USERDEFINED +notdefined = IfcValveTypeEnum.NOTDEFINED IfcVehicleTypeEnum = enum_namespace() -cargo = express_getattr(IfcVehicleTypeEnum, 'CARGO', INDETERMINATE) -rollingstock = express_getattr(IfcVehicleTypeEnum, 'ROLLINGSTOCK', INDETERMINATE) -vehicle = express_getattr(IfcVehicleTypeEnum, 'VEHICLE', INDETERMINATE) -vehicleair = express_getattr(IfcVehicleTypeEnum, 'VEHICLEAIR', INDETERMINATE) -vehiclemarine = express_getattr(IfcVehicleTypeEnum, 'VEHICLEMARINE', INDETERMINATE) -vehicletracked = express_getattr(IfcVehicleTypeEnum, 'VEHICLETRACKED', INDETERMINATE) -vehiclewheeled = express_getattr(IfcVehicleTypeEnum, 'VEHICLEWHEELED', INDETERMINATE) -userdefined = express_getattr(IfcVehicleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVehicleTypeEnum, 'NOTDEFINED', INDETERMINATE) +cargo = IfcVehicleTypeEnum.CARGO +rollingstock = IfcVehicleTypeEnum.ROLLINGSTOCK +vehicle = IfcVehicleTypeEnum.VEHICLE +vehicleair = IfcVehicleTypeEnum.VEHICLEAIR +vehiclemarine = IfcVehicleTypeEnum.VEHICLEMARINE +vehicletracked = IfcVehicleTypeEnum.VEHICLETRACKED +vehiclewheeled = IfcVehicleTypeEnum.VEHICLEWHEELED +userdefined = IfcVehicleTypeEnum.USERDEFINED +notdefined = IfcVehicleTypeEnum.NOTDEFINED IfcVibrationDamperTypeEnum = enum_namespace() -axial_yield = express_getattr(IfcVibrationDamperTypeEnum, 'AXIAL_YIELD', INDETERMINATE) -bending_yield = express_getattr(IfcVibrationDamperTypeEnum, 'BENDING_YIELD', INDETERMINATE) -friction = express_getattr(IfcVibrationDamperTypeEnum, 'FRICTION', INDETERMINATE) -rubber = express_getattr(IfcVibrationDamperTypeEnum, 'RUBBER', INDETERMINATE) -shear_yield = express_getattr(IfcVibrationDamperTypeEnum, 'SHEAR_YIELD', INDETERMINATE) -viscous = express_getattr(IfcVibrationDamperTypeEnum, 'VISCOUS', INDETERMINATE) -userdefined = express_getattr(IfcVibrationDamperTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationDamperTypeEnum, 'NOTDEFINED', INDETERMINATE) +axial_yield = IfcVibrationDamperTypeEnum.AXIAL_YIELD +bending_yield = IfcVibrationDamperTypeEnum.BENDING_YIELD +friction = IfcVibrationDamperTypeEnum.FRICTION +rubber = IfcVibrationDamperTypeEnum.RUBBER +shear_yield = IfcVibrationDamperTypeEnum.SHEAR_YIELD +viscous = IfcVibrationDamperTypeEnum.VISCOUS +userdefined = IfcVibrationDamperTypeEnum.USERDEFINED +notdefined = IfcVibrationDamperTypeEnum.NOTDEFINED IfcVibrationIsolatorTypeEnum = enum_namespace() -base = express_getattr(IfcVibrationIsolatorTypeEnum, 'BASE', INDETERMINATE) -compression = express_getattr(IfcVibrationIsolatorTypeEnum, 'COMPRESSION', INDETERMINATE) -spring = express_getattr(IfcVibrationIsolatorTypeEnum, 'SPRING', INDETERMINATE) -userdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVibrationIsolatorTypeEnum, 'NOTDEFINED', INDETERMINATE) +base = IfcVibrationIsolatorTypeEnum.BASE +compression = IfcVibrationIsolatorTypeEnum.COMPRESSION +spring = IfcVibrationIsolatorTypeEnum.SPRING +userdefined = IfcVibrationIsolatorTypeEnum.USERDEFINED +notdefined = IfcVibrationIsolatorTypeEnum.NOTDEFINED IfcVirtualElementTypeEnum = enum_namespace() -boundary = express_getattr(IfcVirtualElementTypeEnum, 'BOUNDARY', INDETERMINATE) -clearance = express_getattr(IfcVirtualElementTypeEnum, 'CLEARANCE', INDETERMINATE) -provisionforvoid = express_getattr(IfcVirtualElementTypeEnum, 'PROVISIONFORVOID', INDETERMINATE) -userdefined = express_getattr(IfcVirtualElementTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVirtualElementTypeEnum, 'NOTDEFINED', INDETERMINATE) +boundary = IfcVirtualElementTypeEnum.BOUNDARY +clearance = IfcVirtualElementTypeEnum.CLEARANCE +provisionforvoid = IfcVirtualElementTypeEnum.PROVISIONFORVOID +userdefined = IfcVirtualElementTypeEnum.USERDEFINED +notdefined = IfcVirtualElementTypeEnum.NOTDEFINED IfcVoidingFeatureTypeEnum = enum_namespace() -chamfer = express_getattr(IfcVoidingFeatureTypeEnum, 'CHAMFER', INDETERMINATE) -cutout = express_getattr(IfcVoidingFeatureTypeEnum, 'CUTOUT', INDETERMINATE) -edge = express_getattr(IfcVoidingFeatureTypeEnum, 'EDGE', INDETERMINATE) -hole = express_getattr(IfcVoidingFeatureTypeEnum, 'HOLE', INDETERMINATE) -miter = express_getattr(IfcVoidingFeatureTypeEnum, 'MITER', INDETERMINATE) -notch = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTCH', INDETERMINATE) -userdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcVoidingFeatureTypeEnum, 'NOTDEFINED', INDETERMINATE) +chamfer = IfcVoidingFeatureTypeEnum.CHAMFER +cutout = IfcVoidingFeatureTypeEnum.CUTOUT +edge = IfcVoidingFeatureTypeEnum.EDGE +hole = IfcVoidingFeatureTypeEnum.HOLE +miter = IfcVoidingFeatureTypeEnum.MITER +notch = IfcVoidingFeatureTypeEnum.NOTCH +userdefined = IfcVoidingFeatureTypeEnum.USERDEFINED +notdefined = IfcVoidingFeatureTypeEnum.NOTDEFINED IfcWallTypeEnum = enum_namespace() -elementedwall = express_getattr(IfcWallTypeEnum, 'ELEMENTEDWALL', INDETERMINATE) -movable = express_getattr(IfcWallTypeEnum, 'MOVABLE', INDETERMINATE) -parapet = express_getattr(IfcWallTypeEnum, 'PARAPET', INDETERMINATE) -partitioning = express_getattr(IfcWallTypeEnum, 'PARTITIONING', INDETERMINATE) -plumbingwall = express_getattr(IfcWallTypeEnum, 'PLUMBINGWALL', INDETERMINATE) -polygonal = express_getattr(IfcWallTypeEnum, 'POLYGONAL', INDETERMINATE) -retainingwall = express_getattr(IfcWallTypeEnum, 'RETAININGWALL', INDETERMINATE) -shear = express_getattr(IfcWallTypeEnum, 'SHEAR', INDETERMINATE) -solidwall = express_getattr(IfcWallTypeEnum, 'SOLIDWALL', INDETERMINATE) -standard = express_getattr(IfcWallTypeEnum, 'STANDARD', INDETERMINATE) -wavewall = express_getattr(IfcWallTypeEnum, 'WAVEWALL', INDETERMINATE) -userdefined = express_getattr(IfcWallTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWallTypeEnum, 'NOTDEFINED', INDETERMINATE) +elementedwall = IfcWallTypeEnum.ELEMENTEDWALL +movable = IfcWallTypeEnum.MOVABLE +parapet = IfcWallTypeEnum.PARAPET +partitioning = IfcWallTypeEnum.PARTITIONING +plumbingwall = IfcWallTypeEnum.PLUMBINGWALL +polygonal = IfcWallTypeEnum.POLYGONAL +retainingwall = IfcWallTypeEnum.RETAININGWALL +shear = IfcWallTypeEnum.SHEAR +solidwall = IfcWallTypeEnum.SOLIDWALL +standard = IfcWallTypeEnum.STANDARD +wavewall = IfcWallTypeEnum.WAVEWALL +userdefined = IfcWallTypeEnum.USERDEFINED +notdefined = IfcWallTypeEnum.NOTDEFINED IfcWasteTerminalTypeEnum = enum_namespace() -floortrap = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORTRAP', INDETERMINATE) -floorwaste = express_getattr(IfcWasteTerminalTypeEnum, 'FLOORWASTE', INDETERMINATE) -gullysump = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYSUMP', INDETERMINATE) -gullytrap = express_getattr(IfcWasteTerminalTypeEnum, 'GULLYTRAP', INDETERMINATE) -roofdrain = express_getattr(IfcWasteTerminalTypeEnum, 'ROOFDRAIN', INDETERMINATE) -wastedisposalunit = express_getattr(IfcWasteTerminalTypeEnum, 'WASTEDISPOSALUNIT', INDETERMINATE) -wastetrap = express_getattr(IfcWasteTerminalTypeEnum, 'WASTETRAP', INDETERMINATE) -userdefined = express_getattr(IfcWasteTerminalTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWasteTerminalTypeEnum, 'NOTDEFINED', INDETERMINATE) +floortrap = IfcWasteTerminalTypeEnum.FLOORTRAP +floorwaste = IfcWasteTerminalTypeEnum.FLOORWASTE +gullysump = IfcWasteTerminalTypeEnum.GULLYSUMP +gullytrap = IfcWasteTerminalTypeEnum.GULLYTRAP +roofdrain = IfcWasteTerminalTypeEnum.ROOFDRAIN +wastedisposalunit = IfcWasteTerminalTypeEnum.WASTEDISPOSALUNIT +wastetrap = IfcWasteTerminalTypeEnum.WASTETRAP +userdefined = IfcWasteTerminalTypeEnum.USERDEFINED +notdefined = IfcWasteTerminalTypeEnum.NOTDEFINED IfcWindowPanelOperationEnum = enum_namespace() -bottomhung = express_getattr(IfcWindowPanelOperationEnum, 'BOTTOMHUNG', INDETERMINATE) -fixedcasement = express_getattr(IfcWindowPanelOperationEnum, 'FIXEDCASEMENT', INDETERMINATE) -otheroperation = express_getattr(IfcWindowPanelOperationEnum, 'OTHEROPERATION', INDETERMINATE) -pivothorizontal = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTHORIZONTAL', INDETERMINATE) -pivotvertical = express_getattr(IfcWindowPanelOperationEnum, 'PIVOTVERTICAL', INDETERMINATE) -removablecasement = express_getattr(IfcWindowPanelOperationEnum, 'REMOVABLECASEMENT', INDETERMINATE) -sidehunglefthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGLEFTHAND', INDETERMINATE) -sidehungrighthand = express_getattr(IfcWindowPanelOperationEnum, 'SIDEHUNGRIGHTHAND', INDETERMINATE) -slidinghorizontal = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGHORIZONTAL', INDETERMINATE) -slidingvertical = express_getattr(IfcWindowPanelOperationEnum, 'SLIDINGVERTICAL', INDETERMINATE) -tiltandturnlefthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNLEFTHAND', INDETERMINATE) -tiltandturnrighthand = express_getattr(IfcWindowPanelOperationEnum, 'TILTANDTURNRIGHTHAND', INDETERMINATE) -tophung = express_getattr(IfcWindowPanelOperationEnum, 'TOPHUNG', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelOperationEnum, 'NOTDEFINED', INDETERMINATE) +bottomhung = IfcWindowPanelOperationEnum.BOTTOMHUNG +fixedcasement = IfcWindowPanelOperationEnum.FIXEDCASEMENT +otheroperation = IfcWindowPanelOperationEnum.OTHEROPERATION +pivothorizontal = IfcWindowPanelOperationEnum.PIVOTHORIZONTAL +pivotvertical = IfcWindowPanelOperationEnum.PIVOTVERTICAL +removablecasement = IfcWindowPanelOperationEnum.REMOVABLECASEMENT +sidehunglefthand = IfcWindowPanelOperationEnum.SIDEHUNGLEFTHAND +sidehungrighthand = IfcWindowPanelOperationEnum.SIDEHUNGRIGHTHAND +slidinghorizontal = IfcWindowPanelOperationEnum.SLIDINGHORIZONTAL +slidingvertical = IfcWindowPanelOperationEnum.SLIDINGVERTICAL +tiltandturnlefthand = IfcWindowPanelOperationEnum.TILTANDTURNLEFTHAND +tiltandturnrighthand = IfcWindowPanelOperationEnum.TILTANDTURNRIGHTHAND +tophung = IfcWindowPanelOperationEnum.TOPHUNG +notdefined = IfcWindowPanelOperationEnum.NOTDEFINED IfcWindowPanelPositionEnum = enum_namespace() -bottom = express_getattr(IfcWindowPanelPositionEnum, 'BOTTOM', INDETERMINATE) -left = express_getattr(IfcWindowPanelPositionEnum, 'LEFT', INDETERMINATE) -middle = express_getattr(IfcWindowPanelPositionEnum, 'MIDDLE', INDETERMINATE) -right = express_getattr(IfcWindowPanelPositionEnum, 'RIGHT', INDETERMINATE) -top = express_getattr(IfcWindowPanelPositionEnum, 'TOP', INDETERMINATE) -notdefined = express_getattr(IfcWindowPanelPositionEnum, 'NOTDEFINED', INDETERMINATE) +bottom = IfcWindowPanelPositionEnum.BOTTOM +left = IfcWindowPanelPositionEnum.LEFT +middle = IfcWindowPanelPositionEnum.MIDDLE +right = IfcWindowPanelPositionEnum.RIGHT +top = IfcWindowPanelPositionEnum.TOP +notdefined = IfcWindowPanelPositionEnum.NOTDEFINED IfcWindowTypeEnum = enum_namespace() -lightdome = express_getattr(IfcWindowTypeEnum, 'LIGHTDOME', INDETERMINATE) -skylight = express_getattr(IfcWindowTypeEnum, 'SKYLIGHT', INDETERMINATE) -window = express_getattr(IfcWindowTypeEnum, 'WINDOW', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypeEnum, 'NOTDEFINED', INDETERMINATE) +lightdome = IfcWindowTypeEnum.LIGHTDOME +skylight = IfcWindowTypeEnum.SKYLIGHT +window = IfcWindowTypeEnum.WINDOW +userdefined = IfcWindowTypeEnum.USERDEFINED +notdefined = IfcWindowTypeEnum.NOTDEFINED IfcWindowTypePartitioningEnum = enum_namespace() -double_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_HORIZONTAL', INDETERMINATE) -double_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'DOUBLE_PANEL_VERTICAL', INDETERMINATE) -single_panel = express_getattr(IfcWindowTypePartitioningEnum, 'SINGLE_PANEL', INDETERMINATE) -triple_panel_bottom = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_BOTTOM', INDETERMINATE) -triple_panel_horizontal = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_HORIZONTAL', INDETERMINATE) -triple_panel_left = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_LEFT', INDETERMINATE) -triple_panel_right = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_RIGHT', INDETERMINATE) -triple_panel_top = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_TOP', INDETERMINATE) -triple_panel_vertical = express_getattr(IfcWindowTypePartitioningEnum, 'TRIPLE_PANEL_VERTICAL', INDETERMINATE) -userdefined = express_getattr(IfcWindowTypePartitioningEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWindowTypePartitioningEnum, 'NOTDEFINED', INDETERMINATE) +double_panel_horizontal = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_HORIZONTAL +double_panel_vertical = IfcWindowTypePartitioningEnum.DOUBLE_PANEL_VERTICAL +single_panel = IfcWindowTypePartitioningEnum.SINGLE_PANEL +triple_panel_bottom = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_BOTTOM +triple_panel_horizontal = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_HORIZONTAL +triple_panel_left = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_LEFT +triple_panel_right = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_RIGHT +triple_panel_top = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_TOP +triple_panel_vertical = IfcWindowTypePartitioningEnum.TRIPLE_PANEL_VERTICAL +userdefined = IfcWindowTypePartitioningEnum.USERDEFINED +notdefined = IfcWindowTypePartitioningEnum.NOTDEFINED IfcWorkCalendarTypeEnum = enum_namespace() -firstshift = express_getattr(IfcWorkCalendarTypeEnum, 'FIRSTSHIFT', INDETERMINATE) -secondshift = express_getattr(IfcWorkCalendarTypeEnum, 'SECONDSHIFT', INDETERMINATE) -thirdshift = express_getattr(IfcWorkCalendarTypeEnum, 'THIRDSHIFT', INDETERMINATE) -userdefined = express_getattr(IfcWorkCalendarTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkCalendarTypeEnum, 'NOTDEFINED', INDETERMINATE) +firstshift = IfcWorkCalendarTypeEnum.FIRSTSHIFT +secondshift = IfcWorkCalendarTypeEnum.SECONDSHIFT +thirdshift = IfcWorkCalendarTypeEnum.THIRDSHIFT +userdefined = IfcWorkCalendarTypeEnum.USERDEFINED +notdefined = IfcWorkCalendarTypeEnum.NOTDEFINED IfcWorkPlanTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkPlanTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkPlanTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkPlanTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkPlanTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkPlanTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkPlanTypeEnum.ACTUAL +baseline = IfcWorkPlanTypeEnum.BASELINE +planned = IfcWorkPlanTypeEnum.PLANNED +userdefined = IfcWorkPlanTypeEnum.USERDEFINED +notdefined = IfcWorkPlanTypeEnum.NOTDEFINED IfcWorkScheduleTypeEnum = enum_namespace() -actual = express_getattr(IfcWorkScheduleTypeEnum, 'ACTUAL', INDETERMINATE) -baseline = express_getattr(IfcWorkScheduleTypeEnum, 'BASELINE', INDETERMINATE) -planned = express_getattr(IfcWorkScheduleTypeEnum, 'PLANNED', INDETERMINATE) -userdefined = express_getattr(IfcWorkScheduleTypeEnum, 'USERDEFINED', INDETERMINATE) -notdefined = express_getattr(IfcWorkScheduleTypeEnum, 'NOTDEFINED', INDETERMINATE) +actual = IfcWorkScheduleTypeEnum.ACTUAL +baseline = IfcWorkScheduleTypeEnum.BASELINE +planned = IfcWorkScheduleTypeEnum.PLANNED +userdefined = IfcWorkScheduleTypeEnum.USERDEFINED +notdefined = IfcWorkScheduleTypeEnum.NOTDEFINED def IfcActionRequest(*args, **kwargs): return ifcopenshell.create_entity('IfcActionRequest', 'IFC4X3_TC1', *args, **kwargs) diff --git a/src/ifcopenshell-python/ifcopenshell/util/geolocation.py b/src/ifcopenshell-python/ifcopenshell/util/geolocation.py index fba8dfffaf..42aa28ca51 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/geolocation.py +++ b/src/ifcopenshell-python/ifcopenshell/util/geolocation.py @@ -18,7 +18,7 @@ import math from decimal import ROUND_HALF_UP, Decimal -from typing import NamedTuple, Optional, Union +from typing import NamedTuple, Optional, Union, Any import numpy as np @@ -268,6 +268,15 @@ def get_helmert_transformation_parameters(ifc_file: ifcopenshell.file) -> Option return HelmertTransformation(e, n, h, xaa, xao, scale, factor_x, factor_y, factor_z) +def get_crs(ifc_file: ifcopenshell.file) -> dict[str, Any]: + """Get CRS information from an IFC file.""" + if ifc_file.schema == "IFC2X3": + return ifcopenshell.util.element.get_pset(ifc_file.by_type("IfcProject")[0], "ePSet_ProjectedCRS") + for context in ifc_file.by_type("IfcGeometricRepresentationContext", include_subtypes=False): + if operation := context.HasCoordinateOperation: + return operation[0].TargetCRS.get_info() + + def auto_z2e(ifc_file: ifcopenshell.file, z: float, should_return_in_map_units: bool = True) -> float: """Convert a Z coordinate to an elevation using model georeferencing data diff --git a/src/ifcopenshell-python/ifcopenshell/util/selector.py b/src/ifcopenshell-python/ifcopenshell/util/selector.py index abcba23a0f..d3bef9758f 100644 --- a/src/ifcopenshell-python/ifcopenshell/util/selector.py +++ b/src/ifcopenshell-python/ifcopenshell/util/selector.py @@ -144,7 +144,7 @@ format_grammar = lark.Lark( | mul_div "*" function -> multiply | mul_div "/" function -> divide - function: round | number | int | format_length | lower | upper | title | concat | substr | variable | ESCAPED_STRING | NUMBER | "(" expression ")" + function: round | number | int | format_length | lower | upper | title | concat | substr | sort | reverse | join | variable | ESCAPED_STRING | SIGNED_NUMBER | "(" expression ")" variable: "{{" query_path "}}" query_path: /[^}]+/ @@ -160,6 +160,9 @@ format_grammar = lark.Lark( title: "title(" expression ")" concat: "concat(" expression ("," expression)* ")" substr: "substr(" expression "," SIGNED_INT ["," SIGNED_INT] ")" + sort: "sort(" expression ")" + reverse: "reverse(" expression ")" + join: "join(" ESCAPED_STRING "," expression ")" boolean: TRUE | FALSE TRUE: "true" | "True" | "TRUE" @@ -201,6 +204,8 @@ class FormatTransformer(lark.Transformer): self.element = element def start(self, args): + if isinstance(args[0], (list, tuple)): + return ", ".join(args[0]) return args[0] def expression(self, args): @@ -208,18 +213,11 @@ class FormatTransformer(lark.Transformer): def variable(self, args): """Handle variable substitution like {{z}} or {{Pset_Wall.FireRating}}""" - if self.element is None: - return "0" # Default value if no element context - - query_path = args[0] - try: - value = get_element_value(self.element, query_path) - if value is None: - return "0" - # Convert to string for further processing - return str(value) - except: - return "0" # Return default on error + if self.element: + try: + return get_element_value(self.element, args[0]) + except: + pass def query_path(self, args): """Extract the query path from variable""" @@ -301,6 +299,15 @@ class FormatTransformer(lark.Transformer): elif len(args) == 2: return str(args[0])[int(args[1]) :] + def sort(self, args): + return sorted(args[0]) + + def reverse(self, args): + return list(reversed(args[0])) + + def join(self, args): + return args[0].join(args[1]) + def boolean(self, args): if not args: return True diff --git a/src/ifcopenshell-python/test/api/alignment/test_create_as_offset_curve.py b/src/ifcopenshell-python/test/api/alignment/test_create_as_offset_curve.py index 0b431163bc..ac763e6af1 100644 --- a/src/ifcopenshell-python/test/api/alignment/test_create_as_offset_curve.py +++ b/src/ifcopenshell-python/test/api/alignment/test_create_as_offset_curve.py @@ -18,7 +18,6 @@ import math - import ifcopenshell.api.alignment import ifcopenshell.api.unit import ifcopenshell.util diff --git a/src/ifcopenshell-python/test/api/alignment/test_create_layout_segment.py b/src/ifcopenshell-python/test/api/alignment/test_create_layout_segment.py index ad654ac97d..e1b0978e1a 100644 --- a/src/ifcopenshell-python/test/api/alignment/test_create_layout_segment.py +++ b/src/ifcopenshell-python/test/api/alignment/test_create_layout_segment.py @@ -18,7 +18,6 @@ import math - import ifcopenshell.api.alignment import ifcopenshell.api.context import ifcopenshell.api.unit diff --git a/src/ifcopenshell-python/test/test_stream.py b/src/ifcopenshell-python/test/test_stream.py index 20fe67e5ec..754fcc4527 100644 --- a/src/ifcopenshell-python/test/test_stream.py +++ b/src/ifcopenshell-python/test/test_stream.py @@ -18,7 +18,6 @@ from pathlib import Path - import ifcopenshell TEST_FILE = Path(__file__).parent / "files" / "basic.ifc" diff --git a/src/ifcopenshell-python/test/util/test_file.py b/src/ifcopenshell-python/test/util/test_file.py index a1ee333b6b..18fc8ef07c 100644 --- a/src/ifcopenshell-python/test/util/test_file.py +++ b/src/ifcopenshell-python/test/util/test_file.py @@ -20,7 +20,6 @@ import tempfile import zipfile from pathlib import Path - import ifcopenshell.util.file as subject import test.bootstrap diff --git a/src/ifcopenshell-python/test/util/test_selector.py b/src/ifcopenshell-python/test/util/test_selector.py index 0b90f3b278..3c94876a66 100644 --- a/src/ifcopenshell-python/test/util/test_selector.py +++ b/src/ifcopenshell-python/test/util/test_selector.py @@ -35,7 +35,7 @@ import ifcopenshell.util.selector as subject import test.bootstrap -class TestFormat: +class TestFormat(test.bootstrap.IFC4): def test_no_formatting(self): assert subject.format("123") == "123" assert subject.format('"123"') == "123" @@ -54,6 +54,7 @@ class TestFormat: def test_number_formatting(self): assert subject.format("round(123, 5)") == "125" assert subject.format('round("123", 5)') == "125" + assert subject.format('round(-123, 5)') == "-125" assert subject.format("int(123.123)") == "123" assert subject.format("int(123)") == "123" assert subject.format("number(123)") == "123" @@ -77,6 +78,38 @@ class TestFormat: assert subject.format('imperial_length(3.0, 4, "foot", "foot", false)') == "3' - 0\"" assert subject.format('imperial_length(3.0, 4, "foot", "foot", False)') == "3' - 0\"" + def test_variable_formatting(self): + assert subject.format('{{undefined}}') is None + assert subject.format('upper({{undefined}})') == "NONE" + assert subject.format('int({{undefined}})') == "0" + element = ifcopenshell.api.root.create_entity(self.file, ifc_class="IfcWall") + assert subject.format('{{undefined}}', element) is None + assert subject.format('{{class}}', element) == "IfcWall" + assert subject.format('{{ class }}', element) == "IfcWall" + assert subject.format('upper({{ class }})', element) == "IFCWALL" + + def test_list_formatting(self): + element = ifcopenshell.api.root.create_entity(self.file, ifc_class="IfcWall") + material = ifcopenshell.api.material.add_material(self.file, name="CON01") + material2 = ifcopenshell.api.material.add_material(self.file, name="CON03") + material3 = ifcopenshell.api.material.add_material(self.file, name="CON02") + material_set = ifcopenshell.api.material.add_material_set(self.file, set_type="IfcMaterialLayerSet") + layer = ifcopenshell.api.material.add_layer(self.file, layer_set=material_set, material=material) + layer = ifcopenshell.api.material.add_layer(self.file, layer_set=material_set, material=material2) + layer = ifcopenshell.api.material.add_layer(self.file, layer_set=material_set, material=material3) + ifcopenshell.api.material.assign_material(self.file, products=[element], material=material_set) + assert subject.format('{{materials.Name}}', element) == "CON01, CON03, CON02" + assert subject.format('sort({{materials.Name}})', element) == "CON01, CON02, CON03" + assert subject.format('reverse({{materials.Name}})', element) == "CON02, CON03, CON01" + assert subject.format('join("-", {{materials.Name}})', element) == "CON01-CON03-CON02" + + def test_expressions(self): + assert subject.format('2+3') == "5" + assert subject.format('-2+3') == "1" + assert subject.format('2-3') == "-1" + assert subject.format('3*2') == "6" + assert subject.format('3/2') == "1.5" + class TestGetElementValue(test.bootstrap.IFC4): def test_selecting_an_elements_class_or_id_using_a_query(self): diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index f0f880b7d6..95ab95c0db 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -746,7 +746,7 @@ namespace { static std::string format_double(const double& d) { std::ostringstream oss; oss.imbue(std::locale::classic()); - oss << std::setprecision(std::numeric_limits::digits10) << d; + oss << std::setprecision(std::numeric_limits::max_digits10) << d; const std::string str = oss.str(); oss.str(""); std::string::size_type e = str.find('e'); diff --git a/src/ifcpatch/bootstrap.py b/src/ifcpatch/bootstrap.py index 368d7b5cff..f703e25969 100644 --- a/src/ifcpatch/bootstrap.py +++ b/src/ifcpatch/bootstrap.py @@ -15,12 +15,3 @@ # # You should have received a copy of the GNU Lesser General Public License # along with IfcPatch. If not, see . - -import ifcopenshell.util.element -import ifcopenshell.util.schema -import ifcopenshell.util.selector -import ifcpatch.__main__ -import ifcpatch.recipes -import toposort - -import ifcpatch diff --git a/src/ifcpatch/ifcpatch/__init__.py b/src/ifcpatch/ifcpatch/__init__.py index 7ea668d55e..c279bfea1c 100644 --- a/src/ifcpatch/ifcpatch/__init__.py +++ b/src/ifcpatch/ifcpatch/__init__.py @@ -18,7 +18,6 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcPatch. If not, see . -import collections import importlib import importlib.util import inspect diff --git a/src/ifcpatch/ifcpatch/recipes/AGS2IFC.py b/src/ifcpatch/ifcpatch/recipes/AGS2IFC.py index 8067d2e718..d24aec34e4 100644 --- a/src/ifcpatch/ifcpatch/recipes/AGS2IFC.py +++ b/src/ifcpatch/ifcpatch/recipes/AGS2IFC.py @@ -19,9 +19,7 @@ import csv import os -from itertools import cycle -import ifcopenshell import ifcopenshell.api.aggregate import ifcopenshell.api.context import ifcopenshell.api.document diff --git a/src/ifcpatch/ifcpatch/recipes/AddGeometricRepresentationToAlignment.py b/src/ifcpatch/ifcpatch/recipes/AddGeometricRepresentationToAlignment.py index 65f48f899d..8045490181 100644 --- a/src/ifcpatch/ifcpatch/recipes/AddGeometricRepresentationToAlignment.py +++ b/src/ifcpatch/ifcpatch/recipes/AddGeometricRepresentationToAlignment.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcPatch. If not, see . -import typing from logging import Logger from typing import Union diff --git a/src/ifcpatch/ifcpatch/recipes/AddLinearPlacementFallbackPosition.py b/src/ifcpatch/ifcpatch/recipes/AddLinearPlacementFallbackPosition.py index 9ec3f52a6a..c659c38c64 100644 --- a/src/ifcpatch/ifcpatch/recipes/AddLinearPlacementFallbackPosition.py +++ b/src/ifcpatch/ifcpatch/recipes/AddLinearPlacementFallbackPosition.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcPatch. If not, see . -import typing from logging import Logger from typing import Union diff --git a/src/ifcpatch/ifcpatch/recipes/AddZeroLengthSegmentToAlignment.py b/src/ifcpatch/ifcpatch/recipes/AddZeroLengthSegmentToAlignment.py index e1f6664cd0..d92f794959 100644 --- a/src/ifcpatch/ifcpatch/recipes/AddZeroLengthSegmentToAlignment.py +++ b/src/ifcpatch/ifcpatch/recipes/AddZeroLengthSegmentToAlignment.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcPatch. If not, see . -import typing from logging import Logger from typing import Union diff --git a/src/ifcpatch/ifcpatch/recipes/ConvertLengthUnit.py b/src/ifcpatch/ifcpatch/recipes/ConvertLengthUnit.py index 6b3554b192..3b5774bfcb 100644 --- a/src/ifcpatch/ifcpatch/recipes/ConvertLengthUnit.py +++ b/src/ifcpatch/ifcpatch/recipes/ConvertLengthUnit.py @@ -21,10 +21,6 @@ from logging import Logger from typing import Union import ifcopenshell -import ifcopenshell.api -import ifcopenshell.api.owner.settings -import ifcopenshell.util.element -import ifcopenshell.util.pset import ifcopenshell.util.unit import ifcpatch diff --git a/src/ifcpatch/ifcpatch/recipes/ConvertNestToAggregate.py b/src/ifcpatch/ifcpatch/recipes/ConvertNestToAggregate.py index 8471ed28f3..0d10de9bae 100644 --- a/src/ifcpatch/ifcpatch/recipes/ConvertNestToAggregate.py +++ b/src/ifcpatch/ifcpatch/recipes/ConvertNestToAggregate.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcPatch. If not, see . -import ifcopenshell import ifcopenshell.guid diff --git a/src/ifcpatch/ifcpatch/recipes/ConvertPropertiesToQuantities.py b/src/ifcpatch/ifcpatch/recipes/ConvertPropertiesToQuantities.py index a9df2c93c4..3b3b54cac4 100644 --- a/src/ifcpatch/ifcpatch/recipes/ConvertPropertiesToQuantities.py +++ b/src/ifcpatch/ifcpatch/recipes/ConvertPropertiesToQuantities.py @@ -20,9 +20,7 @@ from logging import Logger from typing import Union import ifcopenshell -import ifcopenshell.api import ifcopenshell.api.pset -import ifcopenshell.util.element import ifcopenshell.util.pset diff --git a/src/ifcpatch/ifcpatch/recipes/DowngradeIndexedPolyCurve.py b/src/ifcpatch/ifcpatch/recipes/DowngradeIndexedPolyCurve.py index ea169f2967..4ae36f26b8 100644 --- a/src/ifcpatch/ifcpatch/recipes/DowngradeIndexedPolyCurve.py +++ b/src/ifcpatch/ifcpatch/recipes/DowngradeIndexedPolyCurve.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcPatch. If not, see . -import ifcopenshell import ifcopenshell.util.element diff --git a/src/ifcpatch/ifcpatch/recipes/ExtractElements.py b/src/ifcpatch/ifcpatch/recipes/ExtractElements.py index 31f1fb4140..6f88f820be 100644 --- a/src/ifcpatch/ifcpatch/recipes/ExtractElements.py +++ b/src/ifcpatch/ifcpatch/recipes/ExtractElements.py @@ -20,7 +20,6 @@ from logging import Logger from typing import Union import ifcopenshell -import ifcopenshell.api import ifcopenshell.api.project import ifcopenshell.guid import ifcopenshell.util.selector diff --git a/src/ifcpatch/ifcpatch/recipes/ExtractPropertiesToSQLite.py b/src/ifcpatch/ifcpatch/recipes/ExtractPropertiesToSQLite.py index 5df98c4ab4..634a8fb796 100644 --- a/src/ifcpatch/ifcpatch/recipes/ExtractPropertiesToSQLite.py +++ b/src/ifcpatch/ifcpatch/recipes/ExtractPropertiesToSQLite.py @@ -17,13 +17,8 @@ # along with IfcPatch. If not, see . -import json -import os -import re import tempfile -import time -import ifcopenshell import ifcopenshell.util.element try: diff --git a/src/ifcpatch/ifcpatch/recipes/FixArchiCADToRevitDoorSwings.py b/src/ifcpatch/ifcpatch/recipes/FixArchiCADToRevitDoorSwings.py index cf602bab0a..c2523c7e8f 100644 --- a/src/ifcpatch/ifcpatch/recipes/FixArchiCADToRevitDoorSwings.py +++ b/src/ifcpatch/ifcpatch/recipes/FixArchiCADToRevitDoorSwings.py @@ -18,8 +18,6 @@ import logging -import math -import os from typing import Union import ifcopenshell diff --git a/src/ifcpatch/ifcpatch/recipes/FixArchiCADToRevitSpaces.py b/src/ifcpatch/ifcpatch/recipes/FixArchiCADToRevitSpaces.py index c6ea871c7b..38a7a2950e 100644 --- a/src/ifcpatch/ifcpatch/recipes/FixArchiCADToRevitSpaces.py +++ b/src/ifcpatch/ifcpatch/recipes/FixArchiCADToRevitSpaces.py @@ -18,8 +18,6 @@ import logging -import ifcopenshell - class Patcher: def __init__(self, file: None, logger: logging.Logger, filepath: str): @@ -70,7 +68,6 @@ class Patcher: def patch(self) -> None: import bonsai.tool as tool import bpy - import ifcopenshell import ifcopenshell.util.element from mathutils import Matrix, Vector diff --git a/src/ifcpatch/ifcpatch/recipes/FixRevit2025TINs.py b/src/ifcpatch/ifcpatch/recipes/FixRevit2025TINs.py index d6dc49be18..642afb6e8c 100644 --- a/src/ifcpatch/ifcpatch/recipes/FixRevit2025TINs.py +++ b/src/ifcpatch/ifcpatch/recipes/FixRevit2025TINs.py @@ -21,9 +21,7 @@ import logging from typing import Optional import ifcopenshell -import ifcopenshell.util.schema import ifcopenshell.util.shape_builder -import ifcopenshell.util.unit class Patcher: @@ -167,8 +165,6 @@ class Patcher: import bpy import ifcopenshell.api.geometry import ifcopenshell.api.root - import ifcopenshell.api.spatial - import ifcopenshell.api.type import ifcopenshell.util.element import ifcopenshell.util.representation @@ -234,11 +230,8 @@ class Patcher: import bmesh import bonsai.tool as tool - import bpy import ifcopenshell.api.geometry import ifcopenshell.api.root - import ifcopenshell.api.spatial - import ifcopenshell.api.type import ifcopenshell.util.element import ifcopenshell.util.representation @@ -284,11 +277,8 @@ class Patcher: import bmesh import bonsai.tool as tool - import bpy import ifcopenshell.api.geometry import ifcopenshell.api.root - import ifcopenshell.api.spatial - import ifcopenshell.api.type import ifcopenshell.util.element import ifcopenshell.util.representation from mathutils import Matrix diff --git a/src/ifcpatch/ifcpatch/recipes/FixRevitClassificationCodeTypes.py b/src/ifcpatch/ifcpatch/recipes/FixRevitClassificationCodeTypes.py index 1ec5b331de..1ec871160a 100644 --- a/src/ifcpatch/ifcpatch/recipes/FixRevitClassificationCodeTypes.py +++ b/src/ifcpatch/ifcpatch/recipes/FixRevitClassificationCodeTypes.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcPatch. If not, see . -import ifcopenshell import ifcopenshell.util.element diff --git a/src/ifcpatch/ifcpatch/recipes/FixRevitTINs.py b/src/ifcpatch/ifcpatch/recipes/FixRevitTINs.py index 872b1a0091..6c083456e9 100644 --- a/src/ifcpatch/ifcpatch/recipes/FixRevitTINs.py +++ b/src/ifcpatch/ifcpatch/recipes/FixRevitTINs.py @@ -19,8 +19,6 @@ import logging -import ifcopenshell - class Patcher: def __init__(self, file: None, logger: logging.Logger, filepath: str, is_solid: bool = True): diff --git a/src/ifcpatch/ifcpatch/recipes/Ifc2Sql.py b/src/ifcpatch/ifcpatch/recipes/Ifc2Sql.py index 74744f3487..f7e294898a 100644 --- a/src/ifcpatch/ifcpatch/recipes/Ifc2Sql.py +++ b/src/ifcpatch/ifcpatch/recipes/Ifc2Sql.py @@ -21,9 +21,7 @@ import itertools import json import logging import multiprocessing -import os import re -import tempfile import time import typing from pathlib import Path diff --git a/src/ifcpatch/ifcpatch/recipes/MergeDuplicateTypes.py b/src/ifcpatch/ifcpatch/recipes/MergeDuplicateTypes.py index 2c8385066b..38b01135b3 100644 --- a/src/ifcpatch/ifcpatch/recipes/MergeDuplicateTypes.py +++ b/src/ifcpatch/ifcpatch/recipes/MergeDuplicateTypes.py @@ -20,7 +20,6 @@ from logging import Logger from typing import Any import ifcopenshell -import ifcopenshell.api import ifcopenshell.api.type import ifcopenshell.util.element diff --git a/src/ifcpatch/ifcpatch/recipes/Migrate.py b/src/ifcpatch/ifcpatch/recipes/Migrate.py index 6b5c18ff11..627342f096 100644 --- a/src/ifcpatch/ifcpatch/recipes/Migrate.py +++ b/src/ifcpatch/ifcpatch/recipes/Migrate.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcPatch. If not, see . -import typing from logging import Logger from typing import Union diff --git a/src/ifcpatch/ifcpatch/recipes/OffsetObjectPlacements.py b/src/ifcpatch/ifcpatch/recipes/OffsetObjectPlacements.py index a575fc4eac..7b8f122482 100644 --- a/src/ifcpatch/ifcpatch/recipes/OffsetObjectPlacements.py +++ b/src/ifcpatch/ifcpatch/recipes/OffsetObjectPlacements.py @@ -19,7 +19,6 @@ import math import typing -import ifcopenshell import ifcopenshell.util.placement import numpy as np from ifcopenshell.util.shape_builder import ShapeBuilder diff --git a/src/ifcpatch/ifcpatch/recipes/Optimise.py b/src/ifcpatch/ifcpatch/recipes/Optimise.py index 79699ae2e6..b0043a7299 100644 --- a/src/ifcpatch/ifcpatch/recipes/Optimise.py +++ b/src/ifcpatch/ifcpatch/recipes/Optimise.py @@ -17,7 +17,6 @@ # along with IfcPatch. If not, see . import ifcopenshell -import ifcopenshell.util.element class Patcher: diff --git a/src/ifcpatch/ifcpatch/recipes/PatchStationReferentPosition.py b/src/ifcpatch/ifcpatch/recipes/PatchStationReferentPosition.py index cd3a4fb523..9af1afc950 100644 --- a/src/ifcpatch/ifcpatch/recipes/PatchStationReferentPosition.py +++ b/src/ifcpatch/ifcpatch/recipes/PatchStationReferentPosition.py @@ -1,4 +1,3 @@ -import typing from logging import Logger from typing import Union diff --git a/src/ifcpatch/ifcpatch/recipes/ResetAbsoluteCoordinates.py b/src/ifcpatch/ifcpatch/recipes/ResetAbsoluteCoordinates.py index 641ba928b1..1414464fcd 100644 --- a/src/ifcpatch/ifcpatch/recipes/ResetAbsoluteCoordinates.py +++ b/src/ifcpatch/ifcpatch/recipes/ResetAbsoluteCoordinates.py @@ -17,7 +17,7 @@ # along with IfcPatch. If not, see . import logging -from typing import Literal, Optional, Union +from typing import Literal, Union import ifcopenshell import numpy as np diff --git a/src/ifcpatch/ifcpatch/recipes/ResetSpatialElementLocations.py b/src/ifcpatch/ifcpatch/recipes/ResetSpatialElementLocations.py index 0f7c3933b4..9bd751e763 100644 --- a/src/ifcpatch/ifcpatch/recipes/ResetSpatialElementLocations.py +++ b/src/ifcpatch/ifcpatch/recipes/ResetSpatialElementLocations.py @@ -19,9 +19,7 @@ import logging import ifcopenshell -import ifcopenshell.api import ifcopenshell.api.geometry -import ifcopenshell.util import ifcopenshell.util.element import ifcopenshell.util.placement import numpy as np diff --git a/src/ifcpatch/ifcpatch/recipes/SetFalseOrigin.py b/src/ifcpatch/ifcpatch/recipes/SetFalseOrigin.py index 72218e5ecf..bd8706f9e1 100644 --- a/src/ifcpatch/ifcpatch/recipes/SetFalseOrigin.py +++ b/src/ifcpatch/ifcpatch/recipes/SetFalseOrigin.py @@ -18,7 +18,6 @@ import typing -import ifcopenshell import ifcopenshell.api.georeference import ifcopenshell.util.geolocation diff --git a/src/ifcpatch/ifcpatch/recipes/TessellateElements.py b/src/ifcpatch/ifcpatch/recipes/TessellateElements.py index 14ee80aec2..75dc5578d8 100644 --- a/src/ifcpatch/ifcpatch/recipes/TessellateElements.py +++ b/src/ifcpatch/ifcpatch/recipes/TessellateElements.py @@ -21,7 +21,6 @@ from logging import Logger from typing import Union import ifcopenshell -import ifcopenshell.api import ifcopenshell.api.geometry import ifcopenshell.geom import ifcopenshell.util.representation diff --git a/src/ifcpatch/ifcpatch/recipes/UnsharePsets.py b/src/ifcpatch/ifcpatch/recipes/UnsharePsets.py index e7a1ad9eb1..67dc3da646 100644 --- a/src/ifcpatch/ifcpatch/recipes/UnsharePsets.py +++ b/src/ifcpatch/ifcpatch/recipes/UnsharePsets.py @@ -20,7 +20,6 @@ from logging import Logger import ifcopenshell import ifcopenshell.api.pset -import ifcopenshell.guid import ifcopenshell.util.element import ifcopenshell.util.selector diff --git a/src/ifcpatch/pyproject.toml b/src/ifcpatch/pyproject.toml index 72ec9ca3f0..22cf2ec3c5 100644 --- a/src/ifcpatch/pyproject.toml +++ b/src/ifcpatch/pyproject.toml @@ -31,3 +31,11 @@ Issues = "https://github.com/IfcOpenShell/IfcOpenShell/issues" [tool.setuptools.packages.find] include = ["ifcpatch*"] exclude = ["test*"] + +[tool.ruff] +extend = "../../pyproject.toml" + +[tool.ruff.lint] +select = [ + "F401", # unused imports +] diff --git a/src/ifcpatch/test/test_ConvertLengthUnit.py b/src/ifcpatch/test/test_ConvertLengthUnit.py index a4f586512f..6fdf2668ec 100644 --- a/src/ifcpatch/test/test_ConvertLengthUnit.py +++ b/src/ifcpatch/test/test_ConvertLengthUnit.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcOpenShell. If not, see . -import ifcopenshell.api import ifcopenshell.api.root import ifcopenshell.api.unit import ifcopenshell.util.unit diff --git a/src/ifcpatch/test/test_ExtractElements.py b/src/ifcpatch/test/test_ExtractElements.py index fe2e9350dd..8d7d4021c6 100644 --- a/src/ifcpatch/test/test_ExtractElements.py +++ b/src/ifcpatch/test/test_ExtractElements.py @@ -19,7 +19,6 @@ import os import ifcopenshell -import ifcopenshell.api import ifcopenshell.api.aggregate import ifcopenshell.api.root import ifcopenshell.api.spatial diff --git a/src/ifcpatch/test/test_Ifc2Sql.py b/src/ifcpatch/test/test_Ifc2Sql.py index 79257a69c3..49e38c08fe 100644 --- a/src/ifcpatch/test/test_Ifc2Sql.py +++ b/src/ifcpatch/test/test_Ifc2Sql.py @@ -20,15 +20,6 @@ import tempfile from pathlib import Path import ifcopenshell -import ifcopenshell.api.context -import ifcopenshell.api.geometry -import ifcopenshell.api.georeference -import ifcopenshell.geom -import ifcopenshell.util.geolocation -import ifcopenshell.util.placement -import ifcopenshell.util.representation -import ifcopenshell.util.shape -import ifcopenshell.util.shape_builder import ifcpatch diff --git a/src/ifcpatch/test/test_MergeDuplicateTypes.py b/src/ifcpatch/test/test_MergeDuplicateTypes.py index 439f7a0c06..565a62517b 100644 --- a/src/ifcpatch/test/test_MergeDuplicateTypes.py +++ b/src/ifcpatch/test/test_MergeDuplicateTypes.py @@ -16,17 +16,13 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcOpenShell. If not, see . -import os -import ifcopenshell -import ifcopenshell.api import ifcopenshell.api.geometry import ifcopenshell.api.material import ifcopenshell.api.root import ifcopenshell.api.type import ifcopenshell.util.element import ifcopenshell.util.representation -import pytest import ifcpatch import test.bootstrap diff --git a/src/ifcpatch/test/test_Migrate.py b/src/ifcpatch/test/test_Migrate.py index 319e01d91b..85e60ff09f 100644 --- a/src/ifcpatch/test/test_Migrate.py +++ b/src/ifcpatch/test/test_Migrate.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcOpenShell. If not, see . -import ifcopenshell import ifcpatch import test.bootstrap diff --git a/src/ifcpatch/test/test_RegenerateGlobalIds.py b/src/ifcpatch/test/test_RegenerateGlobalIds.py index e51e4c7a9c..4858b6a7b0 100644 --- a/src/ifcpatch/test/test_RegenerateGlobalIds.py +++ b/src/ifcpatch/test/test_RegenerateGlobalIds.py @@ -16,13 +16,8 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcOpenShell. If not, see . -import os -import ifcopenshell -import ifcopenshell.api import ifcopenshell.api.root -import ifcopenshell.util.element -import pytest import ifcpatch import test.bootstrap diff --git a/src/ifcpatch/test/test_ResetSpatialElementLocations.py b/src/ifcpatch/test/test_ResetSpatialElementLocations.py index 5d446c9128..d0dc385015 100644 --- a/src/ifcpatch/test/test_ResetSpatialElementLocations.py +++ b/src/ifcpatch/test/test_ResetSpatialElementLocations.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcOpenShell. If not, see . -import ifcopenshell.api import ifcopenshell.api.aggregate import ifcopenshell.api.geometry import ifcopenshell.api.root diff --git a/src/ifcpatch/test/test_SetFalseOrigin.py b/src/ifcpatch/test/test_SetFalseOrigin.py index 1357ec39b0..e15e8684fb 100644 --- a/src/ifcpatch/test/test_SetFalseOrigin.py +++ b/src/ifcpatch/test/test_SetFalseOrigin.py @@ -16,7 +16,6 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcOpenShell. If not, see . -import ifcopenshell.api import ifcopenshell.api.aggregate import ifcopenshell.api.context import ifcopenshell.api.geometry diff --git a/src/ifcpatch/test/test_TesselateElements.py b/src/ifcpatch/test/test_TesselateElements.py index 7acdc899a7..9e15c35f72 100644 --- a/src/ifcpatch/test/test_TesselateElements.py +++ b/src/ifcpatch/test/test_TesselateElements.py @@ -16,14 +16,10 @@ # You should have received a copy of the GNU Lesser General Public License # along with IfcOpenShell. If not, see . -import ifcopenshell import ifcopenshell.api.context import ifcopenshell.api.geometry -import ifcopenshell.api.profile import ifcopenshell.api.root import ifcopenshell.api.unit -import ifcopenshell.geom -import ifcopenshell.util.element import ifcopenshell.util.representation from ifcopenshell.util.shape_builder import ShapeBuilder diff --git a/src/ifcpatch/test/test_UnsharePsets.py b/src/ifcpatch/test/test_UnsharePsets.py index fc40bdb74d..ae09ed879b 100644 --- a/src/ifcpatch/test/test_UnsharePsets.py +++ b/src/ifcpatch/test/test_UnsharePsets.py @@ -18,7 +18,6 @@ import ifcopenshell import ifcopenshell.api.pset -import ifcopenshell.geom import ifcopenshell.util.element import ifcpatch diff --git a/src/ifcsverchok/__init__.py b/src/ifcsverchok/__init__.py index 4594d8a367..2355ab6783 100644 --- a/src/ifcsverchok/__init__.py +++ b/src/ifcsverchok/__init__.py @@ -120,6 +120,8 @@ def nodes_index() -> list[tuple[str, list[tuple[str, str]]]]: ("ifc.shape_builder.representation", "SvIfcSbRepresentation"), ("ifc.shape_builder.test", "SvIfcSbTest"), ("ifc.shape_builder.shape_output", "SvSbShapeOutput"), + ("ifc.shape_builder.mesh", "SvSbMesh"), + ("ifc.shape_builder.polyline", "SvSbPolyline"), ], ), ] diff --git a/src/ifcsverchok/helper.py b/src/ifcsverchok/helper.py index 8f9bda0c97..7407bd94cd 100644 --- a/src/ifcsverchok/helper.py +++ b/src/ifcsverchok/helper.py @@ -75,7 +75,18 @@ def get_socket_value( *, value_type: Literal["SINGLE_VALUE", "CONTAINER", "FLATTEN"] = "SINGLE_VALUE", ) -> Any: - value = sockets[name].sv_get() + """ + :param value_type: + + - ``SINGLE_VALUE`` - e.g. ``[[x]]`` -> ``x``. + + - ``CONTAINER`` - e.g. ``[ [ [x, y, z], [x,y, z] ] ]`` -> ``[ [x1, y1, z1], [x2, y2, z2] ]``. + + - ``FLATTEN`` - e.g. `` [ [ [x1], [x2] ] ] `` -> `` [x1, x2] ``. + """ + socket = sockets[name] + assert isinstance(socket, sverchok.core.sockets.SvSocketCommon) + value = socket.sv_get() if value_type == "FLATTEN": return flatten_data(value) value = value[0] @@ -91,10 +102,19 @@ def set_socket_value( *, value_type: Literal["SINGLE_VALUE", "FINAL_VALUE"] = "SINGLE_VALUE", ) -> None: + """ + :param value_type: + + - ``SINGLE_VALUE`` - e.g. ``x`` -> ``[[x]]``. + + - ``FINAL_VALUE`` - keep value as is. + """ + socket = sockets[name] + assert isinstance(socket, sverchok.core.sockets.SvSocketCommon) if value_type == "SINGLE_VALUE": - sockets[name].sv_set([[value]]) + socket.sv_set([[value]]) return - sockets[name].sv_set(value) + socket.sv_set(value) def create_socket( diff --git a/src/ifcsverchok/nodes/ifc/shape_builder/extrude.py b/src/ifcsverchok/nodes/ifc/shape_builder/extrude.py index 3b984dd4d7..1725f37aa2 100644 --- a/src/ifcsverchok/nodes/ifc/shape_builder/extrude.py +++ b/src/ifcsverchok/nodes/ifc/shape_builder/extrude.py @@ -20,12 +20,12 @@ from typing import TYPE_CHECKING, Literal import bpy import ifcopenshell -from ifcopenshell.util.shape_builder import ShapeBuilder -from sverchok.data_structure import updateNode -from sverchok.node_tree import SverchCustomTreeNode - import ifcsverchok.helper import ifcsverchok.helper as helper +from ifcopenshell.util.shape_builder import ShapeBuilder +from sverchok.core.sockets import SvVerticesSocket +from sverchok.data_structure import updateNode +from sverchok.node_tree import SverchCustomTreeNode class SvIfcSbExtrude(bpy.types.Node, SverchCustomTreeNode, ifcsverchok.helper.SvIfcCore): @@ -62,6 +62,7 @@ class SvIfcSbExtrude(bpy.types.Node, SverchCustomTreeNode, ifcsverchok.helper.Sv self.inputs, "Position", data_type="list[list[tuple[float, float, float]]]", + socket_type=SvVerticesSocket, ) helper.create_socket( self.outputs, diff --git a/src/ifcsverchok/nodes/ifc/shape_builder/mesh.py b/src/ifcsverchok/nodes/ifc/shape_builder/mesh.py new file mode 100644 index 0000000000..8b740bef08 --- /dev/null +++ b/src/ifcsverchok/nodes/ifc/shape_builder/mesh.py @@ -0,0 +1,51 @@ +# IfcSverchok - IFC Sverchok extension +# Copyright (C) 2022 Martina Jakubowska +# +# This file is part of IfcSverchok. +# +# IfcSverchok is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcSverchok is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with IfcSverchok. If not, see . + +import bpy +import ifcsverchok.helper as helper +import sverchok.core.sockets +from ifcsverchok.nodes.ifc.shape_builder.representation import ShapeBuilder +from sverchok.node_tree import SverchCustomTreeNode + + +class SvSbMesh(bpy.types.Node, SverchCustomTreeNode, helper.SvIfcCore): + bl_idname = "SvSbMesh" + bl_label = "IFC Mesh" + + def sv_init(self, context): + helper.create_socket(self.inputs, "Vers", socket_type=sverchok.core.sockets.SvVerticesSocket) + helper.create_socket(self.inputs, "Pols") + helper.create_socket(self.outputs, "Representation Item", data_type="list[list[ifcopenshell.entity_instance]]") + + def process(self): + ifc_file = helper.get_file() + + vertices: list[[list[float]]] = helper.get_socket_value(self.inputs, "Vers", value_type="CONTAINER") + polygons: list[[list[int]]] = helper.get_socket_value(self.inputs, "Pols", value_type="CONTAINER") + + builder = ShapeBuilder(ifc_file) + mesh = builder.mesh(vertices, polygons) + helper.set_socket_value(self.outputs, "Representation Item", mesh) + + +def register(): + bpy.utils.register_class(SvSbMesh) + + +def unregister(): + bpy.utils.unregister_class(SvSbMesh) diff --git a/src/ifcsverchok/nodes/ifc/shape_builder/polyline.py b/src/ifcsverchok/nodes/ifc/shape_builder/polyline.py new file mode 100644 index 0000000000..2f27a3834f --- /dev/null +++ b/src/ifcsverchok/nodes/ifc/shape_builder/polyline.py @@ -0,0 +1,52 @@ +# IfcSverchok - IFC Sverchok extension +# Copyright (C) 2022 Martina Jakubowska +# +# This file is part of IfcSverchok. +# +# IfcSverchok is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# IfcSverchok is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with IfcSverchok. If not, see . + +import bpy +import ifcsverchok.helper as helper +import sverchok.core.sockets +from ifcsverchok.nodes.ifc.shape_builder.representation import ShapeBuilder +from sverchok.node_tree import SverchCustomTreeNode + + +class SvSbPolyline(bpy.types.Node, SverchCustomTreeNode, helper.SvIfcCore): + bl_idname = "SvSbPolyline" + bl_label = "IFC Polyline" + bl_description = "Create closed polyline from vertices." + + def sv_init(self, context): + helper.create_socket(self.inputs, "Vers", socket_type=sverchok.core.sockets.SvVerticesSocket) + helper.create_socket(self.inputs, "Closed", data_type="list[list[bool]]") + helper.create_socket(self.outputs, "Representation Item", data_type="list[list[ifcopenshell.entity_instance]]") + + def process(self): + ifc_file = helper.get_file() + + vertices: list[[list[float]]] = helper.get_socket_value(self.inputs, "Vers", value_type="CONTAINER") + closed = helper.get_socket_value(self.inputs, "Closed") + + builder = ShapeBuilder(ifc_file) + Polyline = builder.polyline(vertices, closed=closed) + helper.set_socket_value(self.outputs, "Representation Item", Polyline) + + +def register(): + bpy.utils.register_class(SvSbPolyline) + + +def unregister(): + bpy.utils.unregister_class(SvSbPolyline) diff --git a/src/ifcsverchok/nodes/ifc/shape_builder/rectangle.py b/src/ifcsverchok/nodes/ifc/shape_builder/rectangle.py index 8b9b60c81d..35e73db71f 100644 --- a/src/ifcsverchok/nodes/ifc/shape_builder/rectangle.py +++ b/src/ifcsverchok/nodes/ifc/shape_builder/rectangle.py @@ -17,11 +17,10 @@ # along with IfcSverchok. If not, see . import bpy -from ifcopenshell.util.shape_builder import ShapeBuilder -from sverchok.node_tree import SverchCustomTreeNode - import ifcsverchok.helper import ifcsverchok.helper as helper +from ifcopenshell.util.shape_builder import ShapeBuilder +from sverchok.node_tree import SverchCustomTreeNode class SvIfcSbRectangle(bpy.types.Node, SverchCustomTreeNode, ifcsverchok.helper.SvIfcCore): diff --git a/src/ifcsverchok/nodes/ifc/shape_builder/representation.py b/src/ifcsverchok/nodes/ifc/shape_builder/representation.py index c1e8a9eb54..7fefe038dc 100644 --- a/src/ifcsverchok/nodes/ifc/shape_builder/representation.py +++ b/src/ifcsverchok/nodes/ifc/shape_builder/representation.py @@ -19,11 +19,10 @@ import bpy import ifcopenshell import ifcopenshell.util.representation -from ifcopenshell.util.shape_builder import ShapeBuilder -from sverchok.node_tree import SverchCustomTreeNode - import ifcsverchok.helper import ifcsverchok.helper as helper +from ifcopenshell.util.shape_builder import ShapeBuilder +from sverchok.node_tree import SverchCustomTreeNode class SvIfcSbRepresentation(bpy.types.Node, SverchCustomTreeNode, ifcsverchok.helper.SvIfcCore): diff --git a/src/ifcsverchok/nodes/ifc/shape_builder/shape_output.py b/src/ifcsverchok/nodes/ifc/shape_builder/shape_output.py index c3555c25e4..d8585ba7a2 100644 --- a/src/ifcsverchok/nodes/ifc/shape_builder/shape_output.py +++ b/src/ifcsverchok/nodes/ifc/shape_builder/shape_output.py @@ -21,11 +21,10 @@ import ifcopenshell import ifcopenshell.geom import ifcopenshell.ifcopenshell_wrapper as W import ifcopenshell.util.shape +import ifcsverchok.helper as helper import sverchok.core.sockets from sverchok.node_tree import SverchCustomTreeNode -import ifcsverchok.helper as helper - class SvSbShapeOutput(bpy.types.Node, SverchCustomTreeNode, helper.SvIfcCore): """ @@ -52,6 +51,7 @@ class SvSbShapeOutput(bpy.types.Node, SverchCustomTreeNode, helper.SvIfcCore): def create(self, entity: ifcopenshell.entity_instance) -> None: assert bpy.context.scene settings = ifcopenshell.geom.settings() + settings.set("dimensionality", ifcopenshell.ifcopenshell_wrapper.CURVES_SURFACES_AND_SOLIDS) shape = ifcopenshell.geom.create_shape(settings, entity) assert isinstance(shape, W.Triangulation) self.verts = ifcopenshell.util.shape.get_vertices(shape).tolist() diff --git a/src/ifcsverchok/nodes/ifc/shape_builder/test.py b/src/ifcsverchok/nodes/ifc/shape_builder/test.py index e2fc702721..4b8cd2ba04 100644 --- a/src/ifcsverchok/nodes/ifc/shape_builder/test.py +++ b/src/ifcsverchok/nodes/ifc/shape_builder/test.py @@ -17,10 +17,9 @@ # along with IfcSverchok. If not, see . import bpy -from sverchok.node_tree import SverchCustomTreeNode - import ifcsverchok.helper import ifcsverchok.helper as helper +from sverchok.node_tree import SverchCustomTreeNode class SvIfcSbTest(bpy.types.Node, SverchCustomTreeNode, ifcsverchok.helper.SvIfcCore): diff --git a/src/ifctester/ifctester/__init__.py b/src/ifctester/ifctester/__init__.py index edb1db90e4..f7d708105d 100644 --- a/src/ifctester/ifctester/__init__.py +++ b/src/ifctester/ifctester/__init__.py @@ -19,3 +19,4 @@ from .ids import open __version__ = version = "0.0.0" +__all__ = ["open"] diff --git a/src/ifctester/ifctester/ids.py b/src/ifctester/ifctester/ids.py index ea21aa15fd..8d00ce9fac 100644 --- a/src/ifctester/ifctester/ids.py +++ b/src/ifctester/ifctester/ids.py @@ -42,6 +42,7 @@ from .facet import ( get_psets, ) +__all__ = ["Attribute", "Classification", "Entity", "Material", "PartOf", "Property", "Restriction"] cwd = os.path.dirname(os.path.realpath(__file__)) schema = None @@ -300,23 +301,15 @@ class Specification: if not is_applicable: continue self.applicable_entities.append(element) - for facet in self.requirements: - result = facet(element) - is_pass = bool(result) - if self.maxOccurs != 0: # This is a required or optional specification - if is_pass: + if self.maxOccurs != 0: # Requirements are skipped for prohibited applicability + for facet in self.requirements: + result = facet(element) + if bool(result): self.passed_entities.add(element) facet.passed_entities.add(element) else: self.failed_entities.add(element) facet.failures.append(FacetFailure(element=element, reason=str(result))) - else: # This is a prohibited specification - if is_pass: - self.failed_entities.add(element) - facet.failures.append(FacetFailure(element=element, reason=str(result))) - else: - self.passed_entities.add(element) - facet.passed_entities.add(element) self.status = True for facet in self.requirements: diff --git a/src/ifctester/ifctester/reporter.py b/src/ifctester/ifctester/reporter.py index 220d0f96a9..38b3ba8f5b 100644 --- a/src/ifctester/ifctester/reporter.py +++ b/src/ifctester/ifctester/reporter.py @@ -81,10 +81,12 @@ class ResultsSpecification(TypedDict): description: str instructions: str status: bool + is_skipped: bool is_ifc_version: bool total_applicable: int total_applicable_pass: int total_applicable_fail: int + applicable_entities: list[ResultsEntity] percent_applicable_pass: ResultsPercent total_checks: int total_checks_pass: int @@ -367,16 +369,24 @@ class Json(Reporter): cardinality = "optional" elif specification.minOccurs == 0 and specification.maxOccurs == 0: cardinality = "prohibited" + elif specification.minOccurs >= 1: + # Any minimum occurrence >= 1 means the specification is required + cardinality = "required" + else: + # minOccurs == 0 with any other maxOccurs value means optional + cardinality = "optional" return ResultsSpecification( name=specification.name, description=specification.description, instructions=specification.instructions, status=specification.status, + is_skipped=cardinality == "optional" and total_checks == 0, is_ifc_version=specification.is_ifc_version, total_applicable=total_applicable, total_applicable_pass=total_applicable_pass, total_applicable_fail=total_applicable - total_applicable_pass, + applicable_entities=self.report_applicable_entities(specification), percent_applicable_pass=percent_applicable_pass, total_checks=total_checks, total_checks_pass=total_checks_pass, @@ -387,6 +397,24 @@ class Json(Reporter): requirements=requirements, ) + def report_applicable_entities(self, specification: Specification) -> list[ResultsEntity]: + return [ + ResultsEntity( + { + "element": e, + "element_type": ifcopenshell.util.element.get_type(e), + "class": e.is_a(), + "predefined_type": ifcopenshell.util.element.get_predefined_type(e), + "name": getattr(e, "Name", None), + "description": getattr(e, "Description", None), + "id": e.id(), + "global_id": getattr(e, "GlobalId", None), + "tag": getattr(e, "Tag", None), + } + ) + for e in specification.applicable_entities + ] + def report_passed_entities(self, requirement: Facet) -> list[ResultsEntity]: return [ ResultsEntity( @@ -448,11 +476,13 @@ class Html(Json): def report(self) -> None: super().report() for spec in self.results["specifications"]: - if spec["cardinality"] == "optional" and spec["total_checks"] == 0: - spec["is_skipped"] = True spec["is_prohibited"] = spec["cardinality"] == "prohibited" spec["cardinality"] = spec["cardinality"].capitalize() spec["has_requirements"] = bool(spec["requirements"]) + total_applicable_entities = len(spec["applicable_entities"]) + spec["applicable_entities"] = self.limit_entities(spec["applicable_entities"]) + spec["has_omitted_applicable"] = total_applicable_entities > self.entity_limit + spec["total_omitted_applicable"] = total_applicable_entities - self.entity_limit for requirement in spec["requirements"]: total_passed_entities = len(requirement["passed_entities"]) total_failed_entities = len(requirement["failed_entities"]) diff --git a/src/ifctester/ifctester/templates/report.html b/src/ifctester/ifctester/templates/report.html index 456e90e5f4..51beb5c0f5 100644 --- a/src/ifctester/ifctester/templates/report.html +++ b/src/ifctester/ifctester/templates/report.html @@ -152,7 +152,6 @@

Requirements

- {{/has_requirements}}
    {{#requirements}}
  1. @@ -252,6 +251,45 @@
  2. {{/requirements}}
+ {{/has_requirements}} + {{#is_prohibited}} + {{#total_applicable}} + + + + + + + + + + + + + {{#applicable_entities}} + + + + + + + + + {{#extra_of_type}} + + + + {{/extra_of_type}} + {{/applicable_entities}} + {{#has_omitted_applicable}} + + + + {{/has_omitted_applicable}} + +
ClassPredefinedTypeNameDescriptionGlobalIdTag
{{class}}{{predefined_type}}{{name}}{{description}}{{global_id}}{{tag}}
... {{extra_of_type}} more of the same element type ({{type_name}} with Tag {{type_tag}} and GlobalId {{type_global_id}}) not shown ...
... {{total_omitted_applicable}} more failing elements not shown out of {{total_applicable}} total ...
+ {{/total_applicable}} + {{/is_prohibited}} {{/specifications}} diff --git a/src/ifctester/pyproject.toml b/src/ifctester/pyproject.toml index c174854190..1be89ed68b 100644 --- a/src/ifctester/pyproject.toml +++ b/src/ifctester/pyproject.toml @@ -32,3 +32,9 @@ exclude = ["test*"] [tool.setuptools.package-data] "*" = ["*.*"] + +[tool.ruff] +extend = "../../pyproject.toml" +lint.select = [ + "F401", # unused imports +] diff --git a/src/ifctester/test/ids_doc_generator.py b/src/ifctester/test/ids_doc_generator.py index a8323fbeed..3788afebbc 100644 --- a/src/ifctester/test/ids_doc_generator.py +++ b/src/ifctester/test/ids_doc_generator.py @@ -24,7 +24,6 @@ from pathlib import Path from xml.dom.minidom import parseString import ifcopenshell -import ifcopenshell.api import ifcopenshell.api.aggregate import ifcopenshell.api.context import ifcopenshell.api.geometry diff --git a/src/ifctester/test/test_facet.py b/src/ifctester/test/test_facet.py index 2e0a16ec85..3c5d91a6e4 100644 --- a/src/ifctester/test/test_facet.py +++ b/src/ifctester/test/test_facet.py @@ -20,7 +20,6 @@ import uuid import ifcopenshell -import ifcopenshell.api import ifcopenshell.api.aggregate import ifcopenshell.api.classification import ifcopenshell.api.group @@ -34,6 +33,7 @@ import ifcopenshell.api.type import ifcopenshell.api.unit import ifcopenshell.guid import ifcopenshell.util.pset + import ifctester.facet import ifctester.ids from ifctester.facet import ( diff --git a/src/ifctester/test/test_ids.py b/src/ifctester/test/test_ids.py index 0a851a355c..9410d73948 100644 --- a/src/ifctester/test/test_ids.py +++ b/src/ifctester/test/test_ids.py @@ -20,7 +20,6 @@ import os from typing import Optional import ifcopenshell -import ifcopenshell.api import ifcopenshell.api.material import pytest import xmlschema diff --git a/src/ifctester/webapp/package-lock.json b/src/ifctester/webapp/package-lock.json index 9b7f5b6058..647b9d534e 100644 --- a/src/ifctester/webapp/package-lock.json +++ b/src/ifctester/webapp/package-lock.json @@ -2851,9 +2851,9 @@ } }, "node_modules/tar": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.3.tgz", - "integrity": "sha512-ENg5JUHUm2rDD7IvKNFGzyElLXNjachNLp6RaGf4+JOgxXHkqA+gq81ZAMCUmtMtqBsoU62lcp6S27g1LCYGGQ==", + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.7.tgz", + "integrity": "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { diff --git a/src/ifctester/webapp/public/worker/api.py b/src/ifctester/webapp/public/worker/api.py index dafc61c646..c7d3a90662 100644 --- a/src/ifctester/webapp/public/worker/api.py +++ b/src/ifctester/webapp/public/worker/api.py @@ -1,13 +1,10 @@ -import xml.etree.ElementTree as ET - import ifcopenshell -import ifcopenshell.util import ifcopenshell.util.attribute import ifcopenshell.util.pset -import ifcopenshell.util.schema -from ifctester.ids import Ids, IdsXmlValidationError, get_schema from xmlschema.validators.exceptions import XMLSchemaValidationError +from ifctester.ids import Ids, IdsXmlValidationError, get_schema + # https://github.com/buildingSMART/IDS/blob/9914d568c7ac037acd97e58a0d16e9f93c3e3416/Schema/ids.xsd#L232 ifc_schemas = ["IFC2X3", "IFC4", "IFC4X3_ADD2"] diff --git a/src/ifctester/webapp/src/pages/Home/IdsViewer.svelte b/src/ifctester/webapp/src/pages/Home/IdsViewer.svelte index e9645e0984..2fda5f0c2c 100644 --- a/src/ifctester/webapp/src/pages/Home/IdsViewer.svelte +++ b/src/ifctester/webapp/src/pages/Home/IdsViewer.svelte @@ -50,13 +50,7 @@ function getSpecificationStatus(specIndex, auditData) { const spec = auditData.specifications[specIndex]; if (!spec) return null; - - // If no applicable elements and no checks, and it passed, it's actually skipped - if (spec.total_applicable === 0 && spec.total_checks === 0 && spec.status === true) { - return 'skipped'; - } - - return spec.status; + return spec.is_skipped ? 'skipped' : spec.status; } function getSpecificationStats(specIndex, auditData) { @@ -79,11 +73,13 @@ const status = getSpecificationStatus(specIndex, auditData); if (status === 'skipped') { - return "Skipped because no applicable entities were found and the cardinality is OPTIONAL or PROHIBITED"; + return "Skipped because no applicable entities were found and the cardinality is OPTIONAL"; } if (status === false) { // Failed - if (spec.total_applicable === 0) { + if (spec.cardinality === 'prohibited') { + return `Failed because ${spec.total_applicable} prohibited entities were found`; + } else if (spec.total_applicable === 0) { return "Failed because no applicable entities were found but the cardinality is REQUIRED"; } else { const failedChecks = spec.total_checks - spec.total_checks_pass; @@ -240,19 +236,30 @@ {#if "@description" in spec}

{spec["@description"]}

{/if} +
+ {#if spec.applicability["@minOccurs"] === 1 && spec.applicability["@maxOccurs"] === 'unbounded'} + Required + {/if} + {#if spec.applicability["@minOccurs"] === 0 && spec.applicability["@maxOccurs"] === 'unbounded'} + Optional + {/if} + {#if spec.applicability["@minOccurs"] === 0 && spec.applicability["@maxOccurs"] === 0} + Prohibited + {/if} + {#if auditReport} + {@const stats = getSpecificationStats(index, auditReport.data)} + {@const status = getSpecificationStatus(index, auditReport.data)} + {#if stats && spec.applicability["@maxOccurs"] !== 0 && status !== 'skipped'} + Checks: {stats.checksPassed}/{stats.checksTotal} + Requirements: {stats.requirementsPassed}/{stats.requirements} + {/if} + {/if} +
{#if auditReport} {@const reason = getSpecificationReason(index, auditReport.data)} {#if reason}

{reason}

{/if} - {@const stats = getSpecificationStats(index, auditReport.data)} - {@const status = getSpecificationStatus(index, auditReport.data)} - {#if stats && status !== 'skipped'} -
- Checks: {stats.checksPassed}/{stats.checksTotal} - Requirements: {stats.requirementsPassed}/{stats.requirements} -
- {/if} {/if}
@@ -292,9 +299,105 @@ {/if} {/each}
+ + {#if auditReport} + {@const status = getSpecificationStatus(index, auditReport.data)} + {#if ! status && spec.applicability["@maxOccurs"] == 0} + {@const specReport = auditReport.data.specifications[index]} +
+ {#if specReport.applicable_entities && specReport.applicable_entities.length > 0} +
+

Failed Elements ({specReport.applicable_entities.length})

+
+ + + + + + + + + + + + + + + {#each specReport.applicable_entities.slice(0, 10) as entity} + + + + + + + + + + {/each} + {#if specReport.applicable_entities.length > 10} + + + + {/if} + +
ClassPredefinedTypeNameDescriptionWarningGlobalIdTag
{entity.class}{entity.predefined_type || '-'} + + +
{entity.name || '-'}
+
+ +

{entity.name || '-'}

+
+
+
+ + +
{entity.description || '-'}
+
+ +

{entity.description || '-'}

+
+
+
+ + +
{entity.reason || '-'}
+
+ +

{entity.reason || '-'}

+
+
+
+ + +
{entity.global_id || '-'}
+
+ +

{entity.global_id || '-'}

+
+
+
+ + +
{entity.tag || '-'}
+
+ +

{entity.tag || '-'}

+
+
+
... {specReport.applicable_entities.length - 10} more failing elements not shown ...
+
+
+
+ {/if} +
+ + {/if} + {/if} + {#if Array.isArray(spec.requirements) && spec.requirements.length > 0}

Requirements

@@ -497,6 +600,7 @@ {/each}
+ {/if} {/if} @@ -1128,4 +1232,4 @@ white-space: nowrap; cursor: pointer; } - \ No newline at end of file + diff --git a/src/ifcwrap/CMakeLists.txt b/src/ifcwrap/CMakeLists.txt index 47420d9817..16e3a86565 100644 --- a/src/ifcwrap/CMakeLists.txt +++ b/src/ifcwrap/CMakeLists.txt @@ -140,6 +140,7 @@ else() target_link_libraries(ifcopenshell_wrapper PRIVATE ${IFCOPENSHELL_LIBRARIES} ${LIBSVGFILL}) endif() target_link_libraries(ifcopenshell_wrapper PRIVATE ${CGAL_LIBRARIES}) +target_link_libraries(ifcopenshell_wrapper PRIVATE IfcGeom ${kernel_libraries}) if((NOT WIN32) AND BUILD_SHARED_LIBS) SET_INSTALL_RPATHS(ifcopenshell_wrapper "${IFCDIRS};${OCC_LIBRARY_DIR}") endif() diff --git a/src/ifcwrap/utils/type_conversion.i b/src/ifcwrap/utils/type_conversion.i index 292a2e0c11..3eacf55fac 100644 --- a/src/ifcwrap/utils/type_conversion.i +++ b/src/ifcwrap/utils/type_conversion.i @@ -31,6 +31,7 @@ bool check_aggregate_of_type(PyObject* aggregate, void* type_obj) { if (!PySequence_Check(aggregate)) return false; + if (PySequence_Size(aggregate) == -1) return false; for(Py_ssize_t i = 0; i < PySequence_Size(aggregate); ++i) { PyObject* element = PySequence_GetItem(aggregate, i); // This is equivalent to the PyFloat_CheckExact macro. This means @@ -46,6 +47,7 @@ bool check_aggregate_of_aggregate_of_type(PyObject* aggregate, void* type_obj) { if (!PySequence_Check(aggregate)) return false; + if (PySequence_Size(aggregate) == -1) return false; for(Py_ssize_t i = 0; i < PySequence_Size(aggregate); ++i) { PyObject* element = PySequence_GetItem(aggregate, i); bool b = check_aggregate_of_type(element, type_obj); diff --git a/src/svgfill/src/arrange_polygons.cpp b/src/svgfill/src/arrange_polygons.cpp index 7bddc2e41a..0e77a28886 100644 --- a/src/svgfill/src/arrange_polygons.cpp +++ b/src/svgfill/src/arrange_polygons.cpp @@ -164,31 +164,6 @@ boost::optional subtract_retain_largest(const T& lhs, const T& rhs) { return boost::none; } -// Function to write polygons as line segments in OBJ format -void write_polygon_to_obj(std::ofstream& ofs, size_t& vertex_index, bool as_line, const Polygon_2& polygon, const std::string& name) { - ofs << "o " << name << "\n"; // Object name - - // Write vertices - for (auto vit = polygon.vertices_begin(); vit != polygon.vertices_end(); ++vit) { - ofs << "v " << CGAL::to_double(vit->x()) << " " << CGAL::to_double(vit->y()) << " 0\n"; - } - - if (as_line) { - // Write line segments (edges) - for (size_t j = 0; j < polygon.size(); ++j) { - ofs << "l " << vertex_index + j << " " << vertex_index + (j + 1) % polygon.size() << "\n"; - } - } else { - ofs << "f"; - for (size_t j = 0; j < polygon.size(); ++j) { - ofs << " " << vertex_index + j; - } - ofs << "\n"; - } - - vertex_index += polygon.size(); -} - Polygon_2 circ_to_poly(typename Arrangement_2::Ccb_halfedge_const_circulator circ) { Polygon_2 poly; @@ -208,27 +183,6 @@ Polygon_with_holes_2 circ_to_poly(typename Arrangement_2::Ccb_halfedge_const_cir return poly; } -void write_polygon_to_svg(std::ostream& ofs, const Polygon_2& polygon) { - ofs << "x()) << "," << CGAL::to_double(vit->y()) << " "; - } - ofs << "\" style=\"fill:none;stroke-width:1\" />\n"; -} - -// Function to write a Polygon_with_holes_2 to an SVG file -void write_polygon_with_holes_to_svg(std::ostream& ofs, const Polygon_with_holes_2& polygon_with_holes) { - // Write the outer boundary (main polygon) - if (!polygon_with_holes.is_unbounded()) { - write_polygon_to_svg(ofs, polygon_with_holes.outer_boundary()); - } - - // Write the holes (if any) with a different color (e.g., red) - for (auto hit = polygon_with_holes.holes_begin(); hit != polygon_with_holes.holes_end(); ++hit) { - write_polygon_to_svg(ofs, *hit); - } -} - Polygon_2 fuse_with_offset(const std::vector& polygons, double polygon_offset_distance) { // Find the outer perimeter using offset - union - negative offset std::vector offset_polygons; @@ -285,78 +239,77 @@ Polygon_2 fuse_with_offset(const std::vector& polygons, double polygo return inner_offset.front(); } -void arrange_cgal_polygons(const std::vector& input_polygons_, std::vector& output_polygons, double polygon_offset_distance = -1.) { - static const double OVERLAP_RESOLUTION_DISTANCE = 1.e-2; - // even larger amount of inset so that outer perimeter is safely within all input polygons even when overlap resolution is applied - // no, `1.e-2 + 1.e-5` creates issues with the outer perimeter, are there other tolerances in play? - static const double OUTER_PERIMITER_ADDITIONAL_INSET_AMOUNT = 1.e-5; +double estimate_polygon_offset_distance(const std::vector& polygons) { + double total_edge_length = 0.; + size_t num_edges = 0; + for (auto& p : polygons) { + for (auto it = p.edges_begin(); it != p.edges_end(); ++it) { + total_edge_length += std::sqrt(CGAL::to_double(CGAL::squared_distance(it->start(), it->end()))); + num_edges += 1; + } + } + return total_edge_length / num_edges / 2; +} - if (polygon_offset_distance < 0.) { - double total_edge_length = 0.; - size_t num_edges = 0; - for (auto& p : input_polygons_) { - for (auto it = p.edges_begin(); it != p.edges_end(); ++it) { - total_edge_length += std::sqrt(CGAL::to_double(CGAL::squared_distance(it->start(), it->end()))); - num_edges += 1; +void clean_polygon(Polygon_2& poly) { + // Ensure counterclockwise orientation and remove duplicate last point if present also remove close points + if (!poly.is_counterclockwise_oriented()) { + poly.reverse_orientation(); + } + std::vector> ps(poly.begin(), poly.end()); + if (ps.front() == ps.back()) { + ps.pop_back(); + } + poly = Polygon_2(ps.begin(), ps.end()); + remove_close_points(poly); +} + +void smooth_polygon(double factor, Polygon_2& poly) { + auto ps = create_and_convert_offset_polygon(-factor, poly); + if (ps.size() == 1) { + auto r2 = ps.front(); + ps = create_and_convert_offset_polygon(+factor, r2); + if (ps.size() == 1) { + poly = ps.front(); + } + } +} + +template +void split_self_intersecting_polygon(const CGAL::Polygon_2& poly, OutIt output_it) { + if (poly.is_simple()) { + *output_it++ = poly; + return; + } + Arrangement_2 arr; + for (auto it = poly.edges_begin(); it != poly.edges_end(); ++it) { + CGAL::insert(arr, Segment_2(it->start(), it->end())); + } + for (auto it = arr.faces_begin(); it != arr.faces_end(); ++it) { + if (it->is_unbounded()) { + for (auto jt = it->inner_ccbs_begin(); jt != it->inner_ccbs_end(); ++jt) { + auto inner = circ_to_poly(*jt); + // reverse because it's an inner bound to the infinite outer facet + inner.reverse_orientation(); + *output_it++ = inner; } } - polygon_offset_distance = total_edge_length / num_edges / 2; } +} - auto input_polygons__ = input_polygons_; - decltype(input_polygons__) input_polygons; - - for (auto& i : input_polygons__) { - std::vector> ps(i.begin(), i.end()); - if (ps.front() == ps.back()) { - ps.pop_back(); - } - input_polygons.emplace_back(ps.begin(), ps.end()); - } - - for (auto& polygon : input_polygons) { - if (!polygon.is_counterclockwise_oriented()) { - polygon.reverse_orientation(); - } - } - - for (auto& polygon : input_polygons) { - remove_close_points(polygon); - } - -#ifdef SVGFILL_DEBUG - std::ofstream obj("obj.obj"); - size_t vi = 1; - - std::ofstream svg("svg.svg"); - svg << "\n"; - - for (auto it = input_polygons.begin(); it != input_polygons.end(); ++it) { - write_polygon_to_obj(obj, vi, true, *it, "input_poly_" + std::to_string(std::distance(input_polygons.begin(), it))); - write_polygon_to_svg(svg, *it); - } - - obj << std::flush; -#endif - +std::set> +find_overlaps(const std::vector& polygons) { typedef CGAL::Box_intersection_d::Box_with_handle_d Box; + std::vector boxes; + std::vector>> input_triangulated; - std::vector boxes; - for (auto it = input_polygons.begin(); it != input_polygons.end(); ++it) { + for (auto it = polygons.begin(); it != polygons.end(); ++it) { constexpr double offset = 1.e-3; auto b = it->bbox(); boxes.emplace_back( CGAL::Bbox_2(b.xmin() - offset, b.ymin() - offset, b.xmax() + offset, b.ymax() + offset), - std::distance(input_polygons.begin(), it) - ); - - if (!it->is_simple()) { -#ifdef SVGFILL_DEBUG - write_polygon_to_obj(obj, vi, true, *it, "self-intersecting"); -#endif - throw std::runtime_error("Self-intersecting input"); - } + std::distance(polygons.begin(), it)); CGAL::Polygon_triangulation_decomposition_2 decompositor; std::vector temp; @@ -378,10 +331,8 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v bool registered_overlap = false; for (auto& t2 : input_triangulated[b.handle()]) { if (CGAL::squared_distance(t1, t2) < (1.e-3 * 1.e-3)) { - overlaps.insert({ - (a.handle() < b.handle()) ? a.handle() : b.handle(), - (a.handle() < b.handle()) ? b.handle() : a.handle() - }); + overlaps.insert({(a.handle() < b.handle()) ? a.handle() : b.handle(), + (a.handle() < b.handle()) ? b.handle() : a.handle()}); registered_overlap = true; break; } @@ -393,297 +344,319 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v } }); - if (true) { - // solve overlaps by means of subtraction - // loop over overlaps and subtract the smaller polygon from the larger one + return overlaps; +} - std::set eliminated_polies; - std::map overlap_counts; - for (auto& p : overlaps) { - overlap_counts[p.first]++; - overlap_counts[p.second]++; +class DebugWriter { + public: + DebugWriter(bool enabled, const std::string& filename_prefix) + : enabled_(enabled) { + if (enabled_) { + obj.open(filename_prefix + ".obj"); + vi = 1; + svg.open(filename_prefix + ".svg"); + svg << "\n"; } - - for (const auto& edge : overlaps) { - // Skip eliminated - if (eliminated_polies.find(edge.first) != eliminated_polies.end() || - eliminated_polies.find(edge.second) != eliminated_polies.end()) { - continue; - } - - // Many overlaps indicate an aggregated polygon, skip them - /* - if (overlap_counts[edge.first] > 10 || overlap_counts[edge.second] > 10) { - if (overlap_counts[edge.first] > 10) { - eliminated_polies.insert(edge.first); - } - if (overlap_counts[edge.second] > 10) { - eliminated_polies.insert(edge.second); - } - continue; - } - */ - - // these are pointers now, because otherwise swap would not work? - auto* poly1 = &input_polygons[edge.first]; - auto* poly2 = &input_polygons[edge.second]; - - // Populate eliminated_polies with small polygons - // This can happen over time when modifications are made to the polygons to solve overlaps - bool skip = false; - if (poly1->area() < 1.e-2) { - eliminated_polies.insert(edge.first); - skip = true; - } - if (poly2->area() < 1.e-2) { - eliminated_polies.insert(edge.second); - skip = true; - } - // Small slivers are also just eliminated - if (!maybe_take_first_if_single_item(create_and_convert_offset_polygon(-1.e-1, *poly1))) { - eliminated_polies.insert(edge.first); - skip = true; - } - if (!maybe_take_first_if_single_item(create_and_convert_offset_polygon(-1.e-1, *poly2))) { - eliminated_polies.insert(edge.second); - skip = true; - } - if (skip) { - continue; - } - - // Skip polygons that have a very high intersection over union - // ratio, which indicates that they are very likely duplicates - if (CGAL::do_intersect(*poly1, *poly2)) { - std::vector result; - CGAL::intersection(*poly1, *poly2, std::back_inserter(result)); - typename K::FT intersection_area = 0; - for (auto& r : result) { - auto poly_area = r.outer_boundary().area(); - for (auto& h : r.holes()) { - poly_area -= h.area(); - } - intersection_area += poly_area; - } - CGAL::Polygon_with_holes_2 poly12; - CGAL::join(*poly1, *poly2, poly12); - typename K::FT union_area = poly12.outer_boundary().area(); - for (auto& h : poly12.holes()) { - union_area -= h.area(); - } - if (union_area > 0 && intersection_area / union_area > 0.99) { - // std::cerr << intersection_area / union_area << std::endl; - eliminated_polies.insert(edge.first); - continue; - } - } - - if (!(poly1->is_simple() && poly2->is_simple())) { - continue; - } - - { - std::vector result; - // std::cerr << poly1.area() << " " << poly2.area() << std::endl; - // std::cerr.flush(); - - boost::optional mp1, mp2, mp3, mp4; - bool swap = false; - - swap = poly1->area() <= poly2->area(); - if (swap) { - std::swap(poly1, poly2); - } - - bool success = false; - if ((mp1 = maybe_take_first_if_single_item(create_and_convert_offset_polygon(OVERLAP_RESOLUTION_DISTANCE, *poly2)))) { - if ((mp2 = subtract_retain_largest(*poly1, *mp1))) { - if ((mp3 = maybe_take_first_if_single_item(create_and_convert_offset_polygon(OVERLAP_RESOLUTION_DISTANCE * 2, *mp2)))) { - if ((mp4 = subtract_retain_largest(*poly2, *mp3))) { - *poly1 = *mp2; - *poly2 = *mp4; - success = true; - } - } - } - } - - /* - if (swap) { - // swap back to retain original ordering - // what's the point in swapping back here? - std::swap(poly1, poly2); - } - */ - - if (!success) { - eliminated_polies.insert(swap ? edge.first : edge.second); - continue; - } - } - } - - // iterate over the eliminated polygons and remove them from the input polygons - for (auto it = eliminated_polies.rbegin(); it != eliminated_polies.rend(); ++it) { - input_polygons.erase(input_polygons.begin() + *it); + } + ~DebugWriter() { + if (enabled_) { + svg << "\n"; + obj << std::flush; + obj.close(); + svg.close(); } } + void write_polygon(const Polygon_2& polygon, const std::string& name) { + if (enabled_) { + write_polygon_to_obj_(obj, vi, true, polygon, name); + write_polygon_to_svg_(svg, polygon, name); + obj << std::flush; + } + } + + void write_segment(const Point_2& p, const Point_2& q, const std::string& name) { + if (enabled_) { + if (last_segment_name_ != name) { + last_segment_name_ = name; + obj << "o " << name << "\n"; + } + obj << "v " << CGAL::to_double(p.x()) << " " << CGAL::to_double(p.y()) << " 0\n"; + obj << "v " << CGAL::to_double(q.x()) << " " << CGAL::to_double(q.y()) << " 0\n"; + obj << "l " << vi++; + obj << " " << vi++ << "\n"; + + svg << ""; + + obj << std::flush; + } + } + + void write_polygon(const Polygon_with_holes_2& polygon, const std::string& name) { + if (enabled_) { + write_polygon(polygon.outer_boundary(), name); + for (auto hit = polygon.holes_begin(); hit != polygon.holes_end(); ++hit) { + write_polygon(*hit, name); + } + } + } + + void write_polygons(const std::vector& polygons, const std::string& name) { + if (enabled_) { + size_t i = 0; + for (auto& polygon : polygons) { + write_polygon_to_obj_(obj, vi, true, polygon, name + "_" + std::to_string(i++)); + write_polygon_to_svg_(svg, polygon, name); + } + obj << std::flush; + } + } + + void write_polygons(const std::vector& polygons, const std::string& name) { + if (enabled_) { + size_t i = 0; + for (auto& polygon : polygons) { + write_polygon_to_obj_(obj, vi, true, polygon.outer_boundary(), name + "_" + std::to_string(i)); + write_polygon_to_svg_(svg, polygon.outer_boundary(), name); + for (auto hit = polygon.holes_begin(); hit != polygon.holes_end(); ++hit) { + write_polygon_to_obj_(obj, vi, true, *hit, name + "_" + std::to_string(i)); + write_polygon_to_svg_(svg, *hit, name); + } + } + obj << std::flush; + } + } + + private: + std::ofstream obj; + size_t vi; + std::ofstream svg; + bool enabled_; + std::string last_segment_name_; + + void write_polygon_to_svg_(std::ostream& ofs, const Polygon_2& polygon, const std::string& class_name = "") { + ofs << "x()) << "," << -CGAL::to_double(vit->y()) << " "; + } + ofs << "\"/>\n"; + } + + void write_polygon_to_obj_(std::ofstream& ofs, size_t& vertex_index, bool as_line, const Polygon_2& polygon, const std::string& name) { + ofs << "o " << name << "\n"; // Object name + + // Write vertices + for (auto vit = polygon.vertices_begin(); vit != polygon.vertices_end(); ++vit) { + ofs << "v " << CGAL::to_double(vit->x()) << " " << CGAL::to_double(vit->y()) << " 0\n"; + } + + if (as_line) { + // Write line segments (edges) + for (size_t j = 0; j < polygon.size(); ++j) { + ofs << "l " << vertex_index + j << " " << vertex_index + (j + 1) % polygon.size() << "\n"; + } + } else { + ofs << "f"; + for (size_t j = 0; j < polygon.size(); ++j) { + ofs << " " << vertex_index + j; + } + ofs << "\n"; + } + + vertex_index += polygon.size(); + } +}; + +void eliminate_overlaps(double OVERLAP_RESOLUTION_DISTANCE, std::vector& polygons) { + // solve overlaps by means of subtraction + // loop over overlaps and subtract the smaller polygon from the larger one + + std::set eliminated_polies; + /* - if constexpr (false) { - // solve overlap by means of union into components - std::vector> adj(input_polygons.size()); - for (const auto& edge : overlaps) { - adj[edge.first].push_back(edge.second); - adj[edge.second].push_back(edge.first); - } - - std::vector visited(input_polygons.size(), false); - std::vector> connected_components; - - for (size_t v = 0; v < input_polygons.size(); ++v) { - if (!visited[v]) { - connected_components.emplace_back(); - - std::stack stack; - stack.push(v); - visited[v] = true; - - while (!stack.empty()) { - size_t u = stack.top(); - stack.pop(); - connected_components.back().push_back(u); - - for (size_t neighbor : adj[u]) { - if (!visited[neighbor]) { - visited[neighbor] = true; - stack.push(neighbor); - } - } - } - } - } - - std::vector fused_polies; - - for (auto& comp : connected_components) { - std::vector comp_polies; - if (comp.size() == 1) { - fused_polies.push_back(input_polygons[comp.front()]); - } else { - for (auto& c : comp) { - comp_polies.push_back(input_polygons[c]); - } - fused_polies.push_back(fuse_with_offset(comp_polies, 1.e-2)); - } - } - -#ifdef SVGFILL_DEBUG - for (auto it = fused_polies.begin(); it != fused_polies.end(); ++it) { - write_polygon_to_obj(obj, vi, true, *it, "fused_poly_" + std::to_string(std::distance(fused_polies.begin(), it))); - write_polygon_to_svg(svg, *it); - } -#endif - - input_polygons = fused_polies; + std::map overlap_counts; + for (auto& p : overlaps) { + overlap_counts[p.first]++; + overlap_counts[p.second]++; } */ - { - // [NB Nov 6] we cannot do this anymore because it could revert the spacing between input polygons - // that touch in the corner. - // Now that overlaps/touches at corners are handled more locally only a small indent is produced - // which would be undone by means of an inset+offset. - // - // [NB Nov 10] this is actually still necessary though, but we apply a much smaller distance now - // to keep the overlap eliminations in tact - // - // Inset-offset to remove tiny details that may cause enourmous spikes in offsets - for (auto& r : input_polygons) { - auto ps = create_and_convert_offset_polygon(-polygon_offset_distance / 10000., r); - if (ps.size() == 1) { - auto r2 = ps.front(); - ps = create_and_convert_offset_polygon(+polygon_offset_distance / 10000., r2); - if (ps.size() == 1) { - r = ps.front(); + auto overlaps = find_overlaps(polygons); + + for (const auto& edge : overlaps) { + // Skip eliminated + if (eliminated_polies.find(edge.first) != eliminated_polies.end() || + eliminated_polies.find(edge.second) != eliminated_polies.end()) { + continue; + } + + // Many overlaps indicate an aggregated polygon, skip them + /* + if (overlap_counts[edge.first] > 10 || overlap_counts[edge.second] > 10) { + if (overlap_counts[edge.first] > 10) { + eliminated_polies.insert(edge.first); + } + if (overlap_counts[edge.second] > 10) { + eliminated_polies.insert(edge.second); + } + continue; + } + */ + + // these are pointers now, because otherwise swap would not work? + auto* poly1 = &polygons[edge.first]; + auto* poly2 = &polygons[edge.second]; + + // @todo this is applied during overlap processing, maybe better after the boolean operation, + // because they can be come small or narrow when overlaps are resolved + + // Populate eliminated_polies with small polygons + // This can happen over time when modifications are made to the polygons to solve overlaps + bool skip = false; + if (poly1->area() < 1.e-2) { + eliminated_polies.insert(edge.first); + skip = true; + } + if (poly2->area() < 1.e-2) { + eliminated_polies.insert(edge.second); + skip = true; + } + // Small slivers are also just eliminated + if (!maybe_take_first_if_single_item(create_and_convert_offset_polygon(-1.e-1, *poly1))) { + eliminated_polies.insert(edge.first); + skip = true; + } + if (!maybe_take_first_if_single_item(create_and_convert_offset_polygon(-1.e-1, *poly2))) { + eliminated_polies.insert(edge.second); + skip = true; + } + if (skip) { + continue; + } + + // Skip polygons that have a very high intersection over union + // ratio, which indicates that they are very likely duplicates + if (CGAL::do_intersect(*poly1, *poly2)) { + std::vector result; + CGAL::intersection(*poly1, *poly2, std::back_inserter(result)); + typename K::FT intersection_area = 0; + for (auto& r : result) { + auto poly_area = r.outer_boundary().area(); + for (auto& h : r.holes()) { + poly_area -= h.area(); } + intersection_area += poly_area; + } + CGAL::Polygon_with_holes_2 poly12; + CGAL::join(*poly1, *poly2, poly12); + typename K::FT union_area = poly12.outer_boundary().area(); + for (auto& h : poly12.holes()) { + union_area -= h.area(); + } + if (union_area > 0 && intersection_area / union_area > 0.99) { + // std::cerr << intersection_area / union_area << std::endl; + eliminated_polies.insert(edge.first); + continue; + } + } + + if (!(poly1->is_simple() && poly2->is_simple())) { + continue; + } + + { + std::vector result; + + boost::optional mp1, mp2, mp3, mp4; + bool swap = false; + + swap = poly1->area() <= poly2->area(); + if (swap) { + std::swap(poly1, poly2); + } + + bool success = false; + if ((mp1 = maybe_take_first_if_single_item(create_and_convert_offset_polygon(OVERLAP_RESOLUTION_DISTANCE, *poly2)))) { + if ((mp2 = subtract_retain_largest(*poly1, *mp1))) { + if ((mp3 = maybe_take_first_if_single_item(create_and_convert_offset_polygon(OVERLAP_RESOLUTION_DISTANCE * 2, *mp2)))) { + if ((mp4 = subtract_retain_largest(*poly2, *mp3))) { + *poly1 = *mp2; + *poly2 = *mp4; + success = true; + } + } + } + } + + if (!success) { + eliminated_polies.insert(swap ? edge.first : edge.second); + continue; } } } -#ifdef SVGFILL_DEBUG - for (auto it = input_polygons.begin(); it != input_polygons.end(); ++it) { - write_polygon_to_obj(obj, vi, true, *it, "processed_input_poly_" + std::to_string(std::distance(input_polygons.begin(), it))); - write_polygon_to_svg(svg, *it); + // iterate over the eliminated polygons and remove them from the input polygons + for (auto it = eliminated_polies.rbegin(); it != eliminated_polies.rend(); ++it) { + polygons.erase(polygons.begin() + *it); } -#endif +} - // Unfortunately CGAL does not seem to have a ready to use aabb primitive for segments in 2D, - // so we have to use 3D segments and aabb tree for 2D polygons. - std::list> all_segs; - std::unordered_map*, decltype(input_polygons.begin())> seg_to_poly; +class SegmentLookup { + public: + typedef std::vector::const_iterator PolygonIt; - for (auto it = input_polygons.begin(); it != input_polygons.end(); ++it) { - for (auto eit = it->edges_begin(); eit != it->edges_end(); ++eit) { - CGAL::Segment_3 seg3d( - CGAL::Point_3(eit->source().x(), eit->source().y(), 0), - CGAL::Point_3(eit->target().x(), eit->target().y(), 0) - ); - all_segs.push_back(seg3d); - seg_to_poly[&all_segs.back()] = it; - } - } - - using TreeTraits = CGAL::AABB_traits>::iterator>>; - using Tree = CGAL::AABB_tree; - - Tree tree(all_segs.begin(), all_segs.end()); - tree.accelerate_distance_queries(); - - auto input_polygon_boundary = - [&](const Point_2& p, double tol = 1e-5) -> decltype(input_polygons.begin()) + SegmentLookup(const std::vector& polygons) + : polygons_ref_(polygons) { + // Unfortunately CGAL does not seem to have a ready to use aabb primitive for segments in 2D, + // so we have to use 3D segments and aabb tree for 2D polygons. + for (auto it = polygons.begin(); it != polygons.end(); ++it) { + for (auto eit = it->edges_begin(); eit != it->edges_end(); ++eit) { + CGAL::Segment_3 seg3d( + CGAL::Point_3(eit->source().x(), eit->source().y(), 0), + CGAL::Point_3(eit->target().x(), eit->target().y(), 0)); + all_segs.push_back(seg3d); + seg_to_poly[&all_segs.back()] = it; + } + } + tree_ = Tree(all_segs.begin(), all_segs.end()); + tree_.accelerate_distance_queries(); + } + + // This part is the most computationally expensive. Caching effectively halves the lookup time here, since every vertex on the subdivided corridor mesh has on average two outgoing edges. + PolygonIt input_polygon_boundary(const Point_2& p, double tol = 1e-5) { + auto it = input_polygon_boundary_cache_.find(p); + if (it != input_polygon_boundary_cache_.end()) { + return it->second; + } + // Find closest point & corresponding segment - auto closest = tree.closest_point_and_primitive(CGAL::Point_3(p.x(), p.y(), 0)); + auto closest = tree_.closest_point_and_primitive(CGAL::Point_3(p.x(), p.y(), 0)); const auto& closest_pt = closest.first; auto seg_ptr = &*closest.second; double d = CGAL::to_double(CGAL::squared_distance(p, Point_2(closest_pt.x(), closest_pt.y()))); + + PolygonIt res; if (d < (tol * tol)) { - return seg_to_poly.find(seg_ptr)->second; + res = seg_to_poly.find(seg_ptr)->second; + } else { + res = polygons_ref_.end(); } - return input_polygons.end(); + + input_polygon_boundary_cache_[p] = res; + return res; }; - /* - auto input_polygon_boundary = [&input_polygons](const CGAL::Point_2& p, double tol = 1.e-5) { - // unfortunately some imprecision slept into the code so we can't - // so we can't just use has_on_boundary() anymore - double D = std::numeric_limits::infinity(); - for (auto it = input_polygons.begin(); it != input_polygons.end(); ++it) { - for (auto jt = it->edges_begin(); jt != it->edges_end(); ++jt) { - const auto& seg = *jt; - auto d = std::sqrt(CGAL::to_double(CGAL::squared_distance(seg, p))); - if (d < D) { - D = d; - } - if (d < tol) { - return it; - } - } - } - return input_polygons.end(); - }; - */ - - auto close_input_point = [&input_polygons](const CGAL::Point_2& P) { + std::pair> close_input_point(const CGAL::Point_2& P) const { + // @todo use tree CGAL::Point_2 closest; double closest_distance = std::numeric_limits::infinity(); - auto input_it = input_polygons.end(); + auto input_it = polygons_ref_.end(); // unfortunately some imprecision slept into the code so we can't // so we can't just use has_on_boundary() anymore - for (auto it = input_polygons.begin(); it != input_polygons.end(); ++it) { + for (auto it = polygons_ref_.begin(); it != polygons_ref_.end(); ++it) { for (auto& p : *it) { auto d = std::sqrt(CGAL::to_double(CGAL::squared_distance(P, p))); if (d < closest_distance) { @@ -697,14 +670,16 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v return std::make_pair(input_it, closest); }; - auto project_input_point = [&input_polygons](const CGAL::Point_2& P) { + std::pair> project_input_point(const CGAL::Point_2& P) const { + // @todo use tree + CGAL::Point_2 closest; typename K::FT closest_sq_distance = std::numeric_limits::infinity(); - auto input_it = input_polygons.end(); + auto input_it = polygons_ref_.end(); // unfortunately some imprecision slept into the code so we can't // so we can't just use has_on_boundary() anymore - for (auto it = input_polygons.begin(); it != input_polygons.end(); ++it) { + for (auto it = polygons_ref_.begin(); it != polygons_ref_.end(); ++it) { for (auto jt = it->edges_begin(); jt != it->edges_end(); ++jt) { auto Pp = jt->supporting_line().projection(P); auto d = CGAL::squared_distance(Pp, P); @@ -719,224 +694,52 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v return std::make_pair(input_it, closest); }; - // Find the outer perimeter using offset - union - negative offset - std::vector offset_polygons; - for (auto& r : input_polygons) { - auto R = r; - if (!R.is_counterclockwise_oriented()) { - R.reverse_orientation(); - } +private: + using TreeTraits = CGAL::AABB_traits>::iterator>>; + using Tree = CGAL::AABB_tree; - // Overlap removal can also result in close points causing problems when converted into non-exact nt - remove_close_points(R); + const std::vector& polygons_ref_; + std::list> all_segs; + std::unordered_map*, PolygonIt> seg_to_poly; + Tree tree_; - auto ps = create_and_convert_offset_polygon(polygon_offset_distance, R); - for (auto& p : ps) { - if (!p.is_simple()) { - /*{ - std::cerr << "input ["; - bool first = true; - for (auto& pp : r) { - if (!first) { - std::cerr << ","; - } - first = false; - std::cerr << "(" << pp.x() << "," << pp.y() << ")"; - } - std::cerr << "]" << std::endl; - } + std::map::const_iterator> input_polygon_boundary_cache_; +}; - { - std::cerr << "["; - bool first = true; - for (auto& pp : p) { - if (!first) { - std::cerr << ","; - } - first = false; - std::cerr << "(" << pp.x() << "," << pp.y() << ")"; - } - std::cerr << "]" << std::endl; - }*/ - - throw std::runtime_error("Complex polygon originated from offset"); - } - } - offset_polygons.insert(offset_polygons.end(), ps.begin(), ps.end()); - } - -#ifdef SVGFILL_DEBUG - for (auto it = offset_polygons.begin(); it != offset_polygons.end(); ++it) { - write_polygon_to_obj(obj, vi, true, *it, "offset_poly_" + std::to_string(std::distance(offset_polygons.begin(), it))); - write_polygon_to_svg(svg, *it); - } -#endif - - // Perform Boolean union on the offset polygons - std::vector unioned_polygons; - CGAL::join(offset_polygons.begin(), offset_polygons.end(), std::back_inserter(unioned_polygons)); - - if (unioned_polygons.size() > 1) { - // @todo this is currently one of the major limitations in the code that still can be eliminated - // by grouping the input polygons by their perimiter polygon in unioned_polygons - std::sort(unioned_polygons.begin(), unioned_polygons.end(), [](auto& p, auto& q) { return p.outer_boundary().area() > q.outer_boundary().area(); }); - } - -#ifdef SVGFILL_DEBUG - write_polygon_to_obj(obj, vi, true, unioned_polygons.front().outer_boundary(), "offset_poly_joined"); - write_polygon_to_svg(svg, unioned_polygons.front().outer_boundary()); - -#endif - - Polygon_2 fused_removed_close_points; - { - std::vector> ps; - auto& p = unioned_polygons.front().outer_boundary(); - ps.reserve(p.size()); - auto I = p.begin(); - auto J = I + 1; - for (;; ++J) { - bool last = false; - if (J == p.end()) { - J = p.begin(); - last = true; - } - // if (CGAL::squared_distance(*I, *J) > (polygon_offset_distance * polygon_offset_distance)) { - if (CGAL::squared_distance(*I, *J) > (1.e-4 * 1.e-4)) { - ps.push_back(*J); - I = J; - } - if (last) { - break; - } - } - fused_removed_close_points = Polygon_2(ps.begin(), ps.end()); - } - - // Apply negative offset to get the outer perimeter polygon - auto inner_offset = create_and_convert_offset_polygon( - // Because polygon_offset is inexact, make sure our inset distance is slightly larger - // std::nexttoward(-polygon_offset_distance, -std::numeric_limits::infinity()), - - // 1.e-8 even was too little and still resulted in slivers of triangle around the perimeter - -polygon_offset_distance - OUTER_PERIMITER_ADDITIONAL_INSET_AMOUNT, - fused_removed_close_points); - -#ifdef SVGFILL_DEBUG - write_polygon_to_obj(obj, vi, true, inner_offset.front(), "joined_inset"); - write_polygon_to_svg(svg, inner_offset.front()); -#endif - - /* - // there is non-insignificant chance that around the outer boundary, vertices are located in - // between of the input polyhedra, but intermediate vertices result in triangles that will no longer - // span between the two spaces with two edges and therefore cause the topological centre line - // to no run up to the center. Eliminate all vertices that are not on the polyhedral boundary of polygon. - - // this theory proved to be false. once we have topological end points in our graph that are - // connected to input polyhedra to form closed cells, we move those topological end points to - // the average of the input polyhedra corner points, thus effectively also moving them outwards. - { - for (auto& i : inner_offset) { - std::vector> ps; - for (auto& p : i) { - if (input_polygon_boundary(p, 1.e-3) != input_polygons.end()) { - ps.push_back(p); - } - } - i = Polygon_2(ps.begin(), ps.end()); +Polygon_2 subdivide_polygon(double max_distance, const Polygon_2 & p) { + std::vector points; + for (auto it = p.edges_begin(); it != p.edges_end(); ++it) { + const auto& seg = *it; + auto num_splits = (int)std::ceil(std::sqrt(CGAL::to_double(seg.squared_length())) / max_distance) - 1; + points.push_back(seg.source()); + for (auto i = 0; i < num_splits; ++i) { + auto d = (seg.target() - seg.source()) / (num_splits + 1) * (i + 1); + points.push_back(seg.source() + d); } } + return Polygon_2(points.begin(), points.end()); +}; -#ifdef SVGFILL_DEBUG - write_polygon_to_obj(obj, vi, true, inner_offset.front(), "joined_inset_cleaned"); - write_polygon_to_svg(svg, inner_offset.front()); -#endif - */ - - // Subtract original polygons from outer perimeter - std::vector difference_result, difference_result_subdivided; - for (auto& i : inner_offset) { - std::vector working_copy; - working_copy.emplace_back(i); - - for (auto& r : input_polygons) { - std::vector temp_working_copy; - for (auto& wc : working_copy) { - CGAL::difference(wc, r, std::back_inserter(temp_working_copy)); - } - working_copy = temp_working_copy; - } - difference_result.insert(difference_result.end(), working_copy.begin(), working_copy.end()); +Polygon_with_holes_2 subdivide_polygon(double max_distance, const Polygon_with_holes_2& pwh) { + Polygon_2 outer = subdivide_polygon(max_distance, pwh.outer_boundary()); + std::vector holes; + for (auto hit = pwh.holes_begin(); hit != pwh.holes_end(); ++hit) { + holes.push_back(subdivide_polygon(max_distance, *hit)); } + return Polygon_with_holes_2(outer, holes.begin(), holes.end()); +}; - // subdivide difference_result to have better behave triangulation - - { - const double max_distance = polygon_offset_distance / 8.; - auto subdivide_polygon = [max_distance](const Polygon_2& p) { - std::vector points; - for (auto it = p.edges_begin(); it != p.edges_end(); ++it) { - const auto& seg = *it; - auto num_splits = (int)std::ceil(std::sqrt(CGAL::to_double(seg.squared_length())) / max_distance) - 1; - points.push_back(seg.source()); - for (auto i = 0; i < num_splits; ++i) { - auto d = (seg.target() - seg.source()) / (num_splits + 1) * (i + 1); - points.push_back(seg.source() + d); - } - } - return Polygon_2(points.begin(), points.end()); - }; - - for (auto& pwh : difference_result) { - // Subdivide outer boundary - Polygon_2 outer = subdivide_polygon(pwh.outer_boundary()); - // Subdivide holes - std::vector holes; - for (auto hit = pwh.holes_begin(); hit != pwh.holes_end(); ++hit) { - holes.push_back(subdivide_polygon(*hit)); - } - // Construct new Polygon_with_holes_2 - difference_result_subdivided.push_back(Polygon_with_holes_2(outer, holes.begin(), holes.end())); - } - } - -#ifdef SVGFILL_DEBUG - for (auto it = difference_result_subdivided.begin(); it != difference_result_subdivided.end(); ++it) { - auto i = std::distance(difference_result_subdivided.begin(), it); - write_polygon_to_obj(obj, vi, true, it->outer_boundary(), "difference_result_subdivided_" + std::to_string(i)); - write_polygon_to_svg(svg, it->outer_boundary()); - for (auto& p : it->holes()) { - write_polygon_to_obj(obj, vi, true, p, "difference_result_subdivided_" + std::to_string(i)); - write_polygon_to_svg(svg, p); - } - } -#endif - - std::list> triangular_polygons; - - for (auto& pwh : difference_result_subdivided) { - CGAL::Polygon_triangulation_decomposition_2 decompositor; - decompositor(pwh, std::back_inserter(triangular_polygons)); - } - - triangular_polygons.erase(std::remove_if(triangular_polygons.begin(), triangular_polygons.end(), [](const CGAL::Polygon_2& p) { - return CGAL::to_double(p.area()) < 1.e-8; - }), triangular_polygons.end()); - -#ifdef SVGFILL_DEBUG - for (auto it = triangular_polygons.begin(); it != triangular_polygons.end(); ++it) { - write_polygon_to_obj(obj, vi, false, *it, "tri_" + std::to_string(std::distance(triangular_polygons.begin(), it))); - write_polygon_to_svg(svg, *it); - } -#endif - +std::tuple< + std::map>, + std::map>, + std::map, std::vector*>>> +build_line_graph(const std::vector& input_polygons, SegmentLookup& segment_lookup, const std::vector& triangular_polygons) { // Build maps of triangle -> edge and edge -> triangle in order to do traversal on the 'corridor mesh' - std::map, std::vector*>> segment_to_facet; - std::map, std::vector*>> segment_to_input_facet; + std::map, std::vector*>> segment_to_facet; + std::map, std::vector*>> segment_to_input_facet; std::map, Point_2> segment_to_midpoint; std::map> midpoint_to_segment; - std::map*, std::vector>> facet_to_segment; + std::map*, std::vector>> facet_to_segment; for (auto& tri : triangular_polygons) { for (size_t i = 0; i < 3; ++i) { @@ -950,26 +753,14 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v } } - // This part is the most computationally expensive. Caching effectively halves the lookup time here, since every vertex has two outgoing edges. - std::map input_polygon_boundary_cache; - auto cached_input_polygon_boundary = [&](const Point_2& p, double tol = 1e-5) -> decltype(input_polygons.begin()) - { - auto it = input_polygon_boundary_cache.find(p); - if (it == input_polygon_boundary_cache.end()) { - auto index = input_polygon_boundary(p, tol); - input_polygon_boundary_cache[p] = index; - return index; - } else { - return it->second; - } - }; + // @todo The smarter thing to do probably after creating the corridor mesh, register segments wrt to originating input polygon(s) and maintain that mapping when subdividing // Register midpoints on the edges within the 'corridor mesh' that span multiple input polygons for (auto& p : segment_to_facet) { auto center = CGAL::ORIGIN + (((p.first.first - CGAL::ORIGIN) + (p.first.second - CGAL::ORIGIN)) / 2); - auto p1index = cached_input_polygon_boundary(p.first.first); - auto p2index = cached_input_polygon_boundary(p.first.second); + auto p1index = segment_lookup.input_polygon_boundary(p.first.first); + auto p2index = segment_lookup.input_polygon_boundary(p.first.second); segment_to_input_facet[p.first].push_back(&*p1index); segment_to_input_facet[p.first].push_back(&*p2index); @@ -978,17 +769,8 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v segment_to_midpoint[p.first] = center; midpoint_to_segment[center] = p.first; } - - if (p1index != input_polygons.end() && p2index != input_polygons.end() && p1index != p2index) { - segment_to_midpoint[p.first] = center; - midpoint_to_segment[center] = p.first; - } } -#ifdef SVGFILL_DEBUG - obj << "o network_1\n"; -#endif - // Observe corridor mesh topology to join edge midpoints into a network std::map> line_graph; for (auto& p : segment_to_midpoint) { @@ -1000,20 +782,15 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v decltype(segment_to_midpoint)::const_iterator it; if ((it = segment_to_midpoint.find(r)) != segment_to_midpoint.end()) { line_graph[p.second].push_back(it->second); - -#ifdef SVGFILL_DEBUG - obj << "v " << CGAL::to_double(p.second.x()) << " " << CGAL::to_double(p.second.y()) << " 0\n"; - obj << "v " << CGAL::to_double(it->second.x()) << " " << CGAL::to_double(it->second.y()) << " 0\n"; - obj << "l " << vi++; - obj << " " << vi++ << "\n"; - - svg << "second.x()) << "\" y2=\"" << CGAL::to_double(it->second.y()) << "\" />"; -#endif } } } } + return {line_graph, midpoint_to_segment, segment_to_input_facet}; +} + +std::set> find_triangles(const std::map>& line_graph) { // Find triangles in this network often occuring at junctions in the corridor mesh std::set> triangles; std::function&)> find_triangles_recursive; @@ -1024,7 +801,7 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v const std::vector& neighbors_current = line_graph.at(path.back()); if (std::find(neighbors_current.begin(), neighbors_current.end(), path.front()) != neighbors_current.end()) { // We found a triangle, add it to the set - Triangle triangle = { path[0], path[1], path[2] }; + Triangle triangle = {path[0], path[1], path[2]}; std::sort(triangle.begin(), triangle.end()); triangles.insert(triangle); } @@ -1037,29 +814,28 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v if (std::find(path.begin(), path.end(), neighbor) == path.end()) { path.push_back(neighbor); find_triangles_recursive(path); - path.pop_back(); // Backtrack + path.pop_back(); // Backtrack } } }; for (auto& p : line_graph) { - std::vector ps = { p.first }; + std::vector ps = {p.first}; find_triangles_recursive(ps); } - // For every triangle found in the network we eliminate one edge to break the cycle - // The edge we eliminate is the edge with the greatest angle with any of it's neighbours + return triangles; +} - // non exact time, we need sqrt +std::set> eliminate_triangles(const std::map>& line_graph) { + auto triangles = find_triangles(line_graph); + + // @todo this currently uses a simple cartesian kernel for performance for support of sqrt, but + // this should be possible to rewrite as ratios/slopes in the exact kernel as well using SK = CGAL::Simple_cartesian; CGAL::Cartesian_converter C{}; -#ifdef SVGFILL_DEBUG - obj << "o eliminated\n"; -#endif - std::set> eliminated_segments; - for (auto& t : triangles) { Triangle st; std::transform(t.begin(), t.end(), st.begin(), C); @@ -1075,7 +851,7 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v double max_abs_dot = 0.; { - auto& ni = line_graph[t[i]]; + auto& ni = line_graph.find(t[i])->second; for (auto& n : ni) { if (std::find(t.begin(), t.end(), n) == t.end()) { // not contained in triangle @@ -1092,7 +868,7 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v } { - auto& nj = line_graph[t[j]]; + auto& nj = line_graph.find(t[j])->second; for (auto& n : nj) { if (std::find(t.begin(), t.end(), n) == t.end()) { // not contained in triangle @@ -1106,7 +882,6 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v } } } - } if (max_abs_dot < global_min_abs_dot) { @@ -1119,176 +894,132 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v auto i = global_min_abs_dot_index; auto j = (i + 2) % 3; - eliminated_segments.insert({ t[i], t[j] }); - eliminated_segments.insert({ t[j], t[i] }); - -#ifdef SVGFILL_DEBUG - obj << "v " << st[j].x() << " " << st[j].y() << " 0\n"; - obj << "v " << st[i].x() << " " << st[i].y() << " 0\n"; - obj << "l " << vi++; - obj << " " << vi++ << "\n"; - - svg << ""; -#endif + eliminated_segments.insert({t[i], t[j]}); + eliminated_segments.insert({t[j], t[i]}); } - } - Graph2D G2(line_graph); - for (auto& e : eliminated_segments) { - G2.remove_edge(e.first, e.second); + return eliminated_segments; +} + +bool is_parallel_2degree_node(Graph2D::vertex_const_iterator vit) { + auto it = vit->second.begin(); + auto& P = *it++; + auto& Q = *it++; + auto e1 = P - vit->first; + auto e2 = vit->first - Q; + if (e1.squared_length() == 0 || e2.squared_length() == 0) { + // @todo why does this happen? + return false; } + e1 /= std::sqrt(CGAL::to_double(e1.squared_length())); + e2 /= std::sqrt(CGAL::to_double(e2.squared_length())); + return std::abs(CGAL::to_double(e1 * e2)) > (1. - 1.e-5); +}; - auto G = G2.weld_vertices(); -#ifdef SVGFILL_DEBUG - obj << "o network_2\n"; - for (auto it = G.edges_begin(); it != G.edges_end(); ++it) { - obj << "v " << CGAL::to_double(it->first.x()) << " " << CGAL::to_double(it->first.y()) << " 0\n"; - obj << "v " << CGAL::to_double(it->second.x()) << " " << CGAL::to_double(it->second.y()) << " 0\n"; - obj << "l " << vi++; - obj << " " << vi++ << "\n"; - } - obj << std::flush; -#endif - - auto is_parallel_2degree_node = [](decltype(G)::vertex_const_iterator vit) { - auto it = vit->second.begin(); - auto& P = *it++; - auto& Q = *it++; - auto e1 = P - vit->first; - auto e2 = vit->first - Q; - if (e1.squared_length() == 0 || e2.squared_length() == 0) { - // @todo why does this happen? - return false; - } - e1 /= std::sqrt(CGAL::to_double(e1.squared_length())); - e2 /= std::sqrt(CGAL::to_double(e2.squared_length())); - return std::abs(CGAL::to_double(e1 * e2)) > (1. - 1.e-5); - }; - - { - // Remove colinear vertices - size_t n_vertices_removed = 0; - for (auto vit = G.vertices_begin(); vit != G.vertices_end();) { - if (vit->second.size() == 2) { - if (is_parallel_2degree_node(vit)) { - vit = G.eliminate_vertex(vit); - ++n_vertices_removed; - } else { - ++vit; - } +void eliminate_colinear_vertices(Graph2D& G) { + size_t n_vertices_removed = 0; + for (auto vit = G.vertices_begin(); vit != G.vertices_end();) { + if (vit->second.size() == 2) { + if (is_parallel_2degree_node(vit)) { + vit = G.eliminate_vertex(vit); + ++n_vertices_removed; } else { ++vit; } + } else { + ++vit; } - // std::cout << "Eliminated " << n_vertices_removed << " vertices" << std::endl; } +} - // Ortho edge slide - { - std::list> edges_to_remove, edges_to_insert; +void edge_slide(Graph2D& G) { + std::list> edges_to_remove, edges_to_insert; - for (auto vit = G.vertices_begin(); vit != G.vertices_end(); ++vit) { - auto& selected = vit->first; + for (auto vit = G.vertices_begin(); vit != G.vertices_end(); ++vit) { + auto& selected = vit->first; - if (vit->second.size() >= 3) { - for (auto vjt = vit->second.begin(); vjt != vit->second.end(); ++vjt) { - auto& neighbour = *vjt; - bool processed_neighbour = false; + if (vit->second.size() >= 3) { + for (auto vjt = vit->second.begin(); vjt != vit->second.end(); ++vjt) { + auto& neighbour = *vjt; + bool processed_neighbour = false; - if (G.find(neighbour)->second.size() == 2 && !is_parallel_2degree_node(G.find(neighbour))) { - auto vkt = G.find(neighbour)->second.begin(); - if (selected == *vkt) { - vkt++; - } - auto& other = *vkt; + if (G.find(neighbour)->second.size() == 2 && !is_parallel_2degree_node(G.find(neighbour))) { + auto vkt = G.find(neighbour)->second.begin(); + if (selected == *vkt) { + vkt++; + } + auto& other = *vkt; - if ((other - neighbour).squared_length() < (neighbour - selected).squared_length()) { - continue; - } + if ((other - neighbour).squared_length() < (neighbour - selected).squared_length()) { + continue; + } - auto incoming = CGAL::Ray_2(other, neighbour - other); - boost::optional> closest_neighbouring_segment; - boost::optional> closest_intersection_point; - K::FT sq_distance_along_ray = std::numeric_limits::infinity(); + auto incoming = CGAL::Ray_2(other, neighbour - other); + boost::optional> closest_neighbouring_segment; + boost::optional> closest_intersection_point; + K::FT sq_distance_along_ray = std::numeric_limits::infinity(); - for (auto vlt = vit->second.begin(); vlt != vit->second.end(); ++vlt) { - auto& other_neighbour = *vlt; - if (vlt != vjt) { - CGAL::Segment_2 neighbouring_segment(selected, other_neighbour); - auto x = CGAL::intersection(incoming, neighbouring_segment); - if (x) { - if (auto* xp = variant_get>(&*x)) { - auto dist = ((*xp) - other).squared_length(); - if (dist < sq_distance_along_ray) { - closest_neighbouring_segment = neighbouring_segment; - closest_intersection_point = *xp; - sq_distance_along_ray = dist; - } + for (auto vlt = vit->second.begin(); vlt != vit->second.end(); ++vlt) { + auto& other_neighbour = *vlt; + if (vlt != vjt) { + CGAL::Segment_2 neighbouring_segment(selected, other_neighbour); + auto x = CGAL::intersection(incoming, neighbouring_segment); + if (x) { + if (auto* xp = variant_get>(&*x)) { + auto dist = ((*xp) - other).squared_length(); + if (dist < sq_distance_along_ray) { + closest_neighbouring_segment = neighbouring_segment; + closest_intersection_point = *xp; + sq_distance_along_ray = dist; } } } } - - if (closest_intersection_point && closest_neighbouring_segment) { - edges_to_remove.push_back(*closest_neighbouring_segment); - edges_to_remove.push_back({ neighbour, selected }); - edges_to_insert.push_back({ closest_neighbouring_segment->source(), *closest_intersection_point }); - edges_to_insert.push_back({ closest_neighbouring_segment->target(), *closest_intersection_point }); - edges_to_insert.push_back({ neighbour, *closest_intersection_point }); - - processed_neighbour = true; - } } - if (processed_neighbour) { - // Only one neigbour is processed because otherwise we obtain intersections - break; + + if (closest_intersection_point && closest_neighbouring_segment) { + edges_to_remove.push_back(*closest_neighbouring_segment); + edges_to_remove.push_back({neighbour, selected}); + edges_to_insert.push_back({closest_neighbouring_segment->source(), *closest_intersection_point}); + edges_to_insert.push_back({closest_neighbouring_segment->target(), *closest_intersection_point}); + edges_to_insert.push_back({neighbour, *closest_intersection_point}); + + processed_neighbour = true; } } + if (processed_neighbour) { + // Only one neigbour is processed because otherwise we obtain intersections + break; + } } } - - for (auto& s : edges_to_remove) { - G.remove_edge(s.source(), s.target()); - } - - - for (auto& s : edges_to_insert) { - G.insert(s.source(), s.target()); - } - -#ifdef SVGFILL_DEBUG - obj << "o network_3\n"; - for (auto it = G.edges_begin(); it != G.edges_end(); ++it) { - obj << "v " << CGAL::to_double(it->first.x()) << " " << CGAL::to_double(it->first.y()) << " 0\n"; - obj << "v " << CGAL::to_double(it->second.x()) << " " << CGAL::to_double(it->second.y()) << " 0\n"; - obj << "l " << vi++; - obj << " " << vi++ << "\n"; - } -#endif } - // Now plot the edges on an arrangement in order to find planar cycles - // and merge the corridor-halves with their neighbouring input polygon - - Arrangement_2 arr; - - for (auto it = G.edges_begin(); it != G.edges_end(); ++it) { - if (it->first == it->second) { - continue; - } - CGAL::insert(arr, Segment_2(it->first, it->second)); + for (auto& s : edges_to_remove) { + G.remove_edge(s.source(), s.target()); } - std::list> move_ops; - std::list> edge_ops; + for (auto& s : edges_to_insert) { + G.insert(s.source(), s.target()); + } +} + +std::list> extend_end_vertices_based_on_input( + const Graph2D& G, + const std::map>& midpoint_to_segment, + const std::map, std::vector*>>& segment_to_input_facet, + const Polygon_list& inner_offset, + const SegmentLookup& segment_lookup +){ + std::list> constructed_segments; for (auto it = G.vertices_begin(); it != G.vertices_end(); ++it) { if (it->second.size() == 1) { auto& M = it->first; - decltype(midpoint_to_segment)::mapped_type* q = nullptr; + const std::pair* q = nullptr; if (midpoint_to_segment.find(M) == midpoint_to_segment.end()) { typename K::FT min_sq_distance = std::numeric_limits::infinity(); @@ -1299,7 +1030,7 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v } } } else { - q = &midpoint_to_segment[M]; + q = &midpoint_to_segment.find(M)->second; } if (q == nullptr) { @@ -1309,7 +1040,7 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v bool handled_as_graph_path = false; // distance from unioned - shoot ray? - if (segment_to_input_facet[*q].size() == 2) { + if (segment_to_input_facet.find(*q)->second.size() == 2) { for (auto& bnd : inner_offset) { // if point M is contained in bnd interior: if (bnd.has_on_bounded_side(M)) { @@ -1339,10 +1070,10 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v Graph2D GGG(bnd); GGG.refine(*GGG.query(*closest_intersection_point, 0.01), *closest_intersection_point); - std::array>, 2> input_points = { { {}, {} } }; + std::array>, 2> input_points = {{{}, {}}}; size_t i = 0; - for (auto& fac : segment_to_input_facet[*q]) { + for (auto& fac : segment_to_input_facet.find(*q)->second) { for (auto it = fac->vertices_begin(); it != fac->vertices_end(); ++it) { auto seg = GGG.query(*it, 0.01); if (seg) { @@ -1361,13 +1092,13 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v if (!a1.empty() && !a2.empty()) { if (M != *closest_intersection_point) { - edge_ops.push_front({ M, *closest_intersection_point }); + constructed_segments.push_front({M, *closest_intersection_point}); } for (auto it = a1.begin(); it != a1.end() && std::next(it) != a1.end(); ++it) { - edge_ops.push_front({ *it, *(std::next(it)) }); + constructed_segments.push_front({*it, *(std::next(it))}); } for (auto it = a2.begin(); it != a2.end() && std::next(it) != a2.end(); ++it) { - edge_ops.push_front({ *it, *(std::next(it)) }); + constructed_segments.push_front({*it, *(std::next(it))}); } handled_as_graph_path = true; @@ -1381,8 +1112,8 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v if (!handled_as_graph_path) { // else we choose to map point to the midpoint of the found two close points. - auto pq = close_input_point(q->first); - auto pr = close_input_point(q->second); + auto pq = segment_lookup.close_input_point(q->first); + auto pr = segment_lookup.close_input_point(q->second); auto Q = pq.second; auto R = pr.second; @@ -1392,16 +1123,16 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v // where Q and R are co-located, because the point R' is further away // in that case M + M-Q should gives is x that we then project onto the // input boundary - // - // - // ┌───────┐ - // │ │ - // │ │ - // │ │ - // └───────o <--Q,R - // - // ────────o <--M - // + // + // + // ┌───────┐ + // │ │ + // │ │ + // │ │ + // └───────o <--Q,R + // + // ────────o <--M + // // ┌───────x───────────────o <---R' // │ │ // │ │ @@ -1410,93 +1141,22 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v // └───────────────────────┘ // @todo is this projection actually necessary or is it already 'exact enough'? - R = project_input_point(M + (M - Q)).second; + R = segment_lookup.project_input_point(M + (M - Q)).second; } auto avg = CGAL::ORIGIN + ((Q - CGAL::ORIGIN) + (R - CGAL::ORIGIN)) / 2; - move_ops.push_front({ M, avg }); - edge_ops.push_front({ avg, Q }); - edge_ops.push_front({ avg, R }); - + constructed_segments.push_front({M, avg}); + constructed_segments.push_front({avg, Q}); + constructed_segments.push_front({avg, R}); } } } -#ifdef SVGFILL_DEBUG - obj << "o network_4\n"; -#endif + return constructed_segments; +} - // note that we actually don't move but draw an edge - for (auto& pq : move_ops) { - if (pq.first == pq.second) { - continue; - } - CGAL::insert(arr, Segment_2(pq.first, pq.second)); - -#ifdef SVGFILL_DEBUG - obj << "v " << CGAL::to_double(pq.first.x()) << " " << CGAL::to_double(pq.first.y()) << " 0\n"; - obj << "v " << CGAL::to_double(pq.second.x()) << " " << CGAL::to_double(pq.second.y()) << " 0\n"; - obj << "l " << vi++; - obj << " " << vi++ << "\n"; -#endif - } - - - for (auto& pq : edge_ops) { - if (pq.first == pq.second) { - continue; - } - CGAL::insert(arr, Segment_2(pq.first, pq.second)); - -#ifdef SVGFILL_DEBUG - obj << "v " << CGAL::to_double(pq.first.x()) << " " << CGAL::to_double(pq.first.y()) << " 0\n"; - obj << "v " << CGAL::to_double(pq.second.x()) << " " << CGAL::to_double(pq.second.y()) << " 0\n"; - obj << "l " << vi++; - obj << " " << vi++ << "\n"; -#endif - } - - // Plot input polygons - for (auto& poly : input_polygons) { - for (size_t i = 0; i != poly.size(); ++i) { - auto j = (i + 1) % poly.size(); - if (poly.vertex(i) == poly.vertex(j)) { - continue; - } - CGAL::insert(arr, Segment_2(poly.vertex(i), poly.vertex(j))); - } - } - - -#ifdef SVGFILL_DEBUG - { - obj << "o arrangement_1\n"; - for (auto it = arr.edges_begin(); it != arr.edges_end(); ++it) { - auto& p = it->source()->point(); - auto& q = it->target()->point(); - obj << "v " << CGAL::to_double(p.x()) << " " << CGAL::to_double(p.y()) << " 0\n"; - obj << "v " << CGAL::to_double(q.x()) << " " << CGAL::to_double(q.y()) << " 0\n"; - obj << "l " << vi++; - obj << " " << vi++ << "\n"; - } - } -#endif - - /* { - // debug, add outer bounds so that we can plot the face for any remaining edges - auto poly = unioned_polygons.front().outer_boundary(); - for (size_t i = 0; i != poly.size(); ++i) { - auto j = (i + 1) % poly.size(); - CGAL::insert(arr, Segment_2(poly.vertex(i), poly.vertex(j))); - } - } */ - - // Now loop over the arrangement faces, when a face coincides with a point on the - // corridor network we know it needs to be joined with an input polygon. In that - // case the edges need to be eliminated that correspond to original geometry. - - size_t face_id = 0; +void fuse_corridor_halves_with_input(Arrangement_2& arr, Graph2D& G, SegmentLookup& segment_lookup, const Polygon_list& input_polygons, DebugWriter& debug_output) { std::set edges_to_remove; for (auto it = arr.faces_begin(); it != arr.faces_end(); ++it) { @@ -1535,7 +1195,7 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v auto& p = curr->source()->point(); auto& q = curr->target()->point(); auto center = CGAL::ORIGIN + (((p - CGAL::ORIGIN) + (q - CGAL::ORIGIN)) / 2); - auto p1index = input_polygon_boundary(center); + auto p1index = segment_lookup.input_polygon_boundary(center); const bool on_orig_bound = p1index != input_polygons.end(); if (on_orig_bound) { if (edges_to_remove.find(curr->twin()) != edges_to_remove.end()) { @@ -1553,7 +1213,7 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v auto& p = curr->source()->point(); auto& q = curr->target()->point(); auto center = CGAL::ORIGIN + (((p - CGAL::ORIGIN) + (q - CGAL::ORIGIN)) / 2); - auto p1index = input_polygon_boundary(center); + auto p1index = segment_lookup.input_polygon_boundary(center); const bool on_orig_bound = p1index != input_polygons.end(); if (on_orig_bound) { if (edges_to_remove.find(curr->twin()) != edges_to_remove.end()) { @@ -1569,126 +1229,314 @@ void arrange_cgal_polygons(const std::vector& input_polygons_, std::v } } } - -#ifdef SVGFILL_DEBUG - write_polygon_to_svg(svg, circ_to_poly(it->outer_ccb())); - - obj << "o " << "face_"; - if (is_corridor) { - obj << "corri_"; - } - obj << face_id++ << "\n"; - - std::ostringstream oss; - - { - auto vv = vi; - auto curr = it->outer_ccb(); - do { - auto& p = curr->source()->point(); - obj << "v " << CGAL::to_double(p.x()) << " " << CGAL::to_double(p.y()) << " 0\n"; - oss << "l " << vi++; - ++curr; - if (curr == it->outer_ccb()) { - oss << " " << vv << "\n"; - } else { - oss << " " << vi << "\n"; - } - } while (curr != it->outer_ccb()); - } - - for (auto jt = it->inner_ccbs_begin(); jt != it->inner_ccbs_end(); ++jt) { - auto vv = vi; - auto curr = *jt; - do { - auto& p = curr->source()->point(); - obj << "v " << CGAL::to_double(p.x()) << " " << CGAL::to_double(p.y()) << " 0\n"; - oss << "l " << vi++; - ++curr; - if (curr == *jt) { - oss << " " << vv << "\n"; - } else { - oss << " " << vi << "\n"; - } - } while (curr != *jt); - } - - obj << oss.str(); -#endif } size_t remove_id = 0; for (auto& e : edges_to_remove) { -#ifdef SVGFILL_DEBUG - obj << "o " << "remove_" << remove_id++ << "\n"; - { - auto& p = e->source()->point(); - obj << "v " << CGAL::to_double(p.x()) << " " << CGAL::to_double(p.y()) << " 0\n"; - } - { - auto& p = e->target()->point(); - obj << "v " << CGAL::to_double(p.x()) << " " << CGAL::to_double(p.y()) << " 0\n"; - } - obj << "l " << vi++; - obj << " " << vi++ << std::endl; -#endif + debug_output.write_segment(e->source()->point(), e->target()->point(), "arr_remove_edge_" + std::to_string(remove_id++)); CGAL::remove_edge(arr, e); } +} + +class timer { + public: + class entry { + public: + entry(std::map::const_iterator start_it) + : start_it(start_it) {} + void stop() { + auto end = std::chrono::high_resolution_clock::now(); + auto duration = std::chrono::duration(end - start_it->second).count(); + std::cerr << "Timing for " << start_it->first << ": " << duration << " ms" << std::endl; + } + + private: + std::map::const_iterator start_it; + }; + + entry start(const std::string& name) { + return entry(timings_.insert({name, std::chrono::high_resolution_clock::now()}).first); + } + + private: + std::map< + std::string, + std::chrono::high_resolution_clock::time_point> + timings_; +}; + +void arrange_cgal_polygons(const std::vector& input_polygons_, std::vector& output_polygons, double polygon_offset_distance = -1.) { + static const double OVERLAP_RESOLUTION_DISTANCE = 1.e-2; + // even larger amount of inset so that outer perimeter is safely within all input polygons even when overlap resolution is applied + // no, `1.e-2 + 1.e-5` creates issues with the outer perimeter, are there other tolerances in play? + static const double OUTER_PERIMITER_ADDITIONAL_INSET_AMOUNT = 1.e-5; + +#ifdef SVGFILL_DEBUG + auto t = std::time(nullptr); + auto tm = *std::localtime(&t); + + std::ostringstream oss; + oss << std::put_time(&tm, "arrangement_%Y%m%d%H%M%S"); + auto now = oss.str(); + DebugWriter debug_output(true, now); +#else + DebugWriter debug_output(false, ""); +#endif + + timer timer; + + auto t0 = timer.start("input"); + + debug_output.write_polygons(input_polygons_, "input"); + + if (polygon_offset_distance < 0.) { + polygon_offset_distance = estimate_polygon_offset_distance(input_polygons_); + } + + // Create copy to make mutable for cleaning + auto input_polygons = input_polygons_; + + for (auto& polygon : input_polygons) { + clean_polygon(polygon); + } + + { + decltype(input_polygons) split_polygons; + for (auto& poly : input_polygons) { + split_self_intersecting_polygon(poly, std::back_inserter(split_polygons)); + } + std::swap(input_polygons, split_polygons); + } + + t0.stop(); + t0 = timer.start("overlap elimination"); + + eliminate_overlaps(OVERLAP_RESOLUTION_DISTANCE, input_polygons); + + t0.stop(); + + // [NB Nov 6] we cannot do this anymore because it could revert the spacing between input polygons + // that touch in the corner. + // Now that overlaps/touches at corners are handled more locally only a small indent is produced + // which would be undone by means of an inset+offset. + // + // [NB Nov 10] this is actually still necessary though, but we apply a much smaller distance now + // to keep the overlap eliminations in tact + // + // Inset-offset to remove tiny details that may cause enourmous spikes in offsets + for (auto& r : input_polygons) { + smooth_polygon(-polygon_offset_distance / 10000., r); + } + + debug_output.write_polygons(input_polygons, "processed_input"); + + SegmentLookup segment_lookup(input_polygons); + + t0 = timer.start("outer perimeter"); + + // Find the outer perimeter using offset - union - negative offset + std::vector offset_polygons; + for (auto& r : input_polygons) { + auto R = r; + if (!R.is_counterclockwise_oriented()) { + R.reverse_orientation(); + } + + // Overlap removal can also result in close points causing problems when converted into non-exact nt + remove_close_points(R); + + auto ps = create_and_convert_offset_polygon(polygon_offset_distance, R); + for (auto& p : ps) { + if (!p.is_simple()) { + throw std::runtime_error("Complex polygon originated from offset"); + } + } + offset_polygons.insert(offset_polygons.end(), ps.begin(), ps.end()); + } + + debug_output.write_polygons(offset_polygons, "offset_input"); + + // Perform Boolean union on the offset polygons + std::vector unioned_polygons; + CGAL::join(offset_polygons.begin(), offset_polygons.end(), std::back_inserter(unioned_polygons)); + + if (unioned_polygons.size() > 1) { + // @todo this is currently one of the major limitations in the code that still can be eliminated + // by grouping the input polygons by their perimiter polygon in unioned_polygons + std::sort(unioned_polygons.begin(), unioned_polygons.end(), [](auto& p, auto& q) { return p.outer_boundary().area() > q.outer_boundary().area(); }); + } + + debug_output.write_polygon(unioned_polygons.front().outer_boundary(), "offset_joined"); + + Polygon_2 fused_removed_close_points = unioned_polygons.front().outer_boundary(); + remove_close_points(fused_removed_close_points, 1.e-4); + + // Apply negative offset to get the outer perimeter polygon + auto inner_offset = create_and_convert_offset_polygon( + // Because polygon_offset is inexact, make sure our inset distance is slightly larger + // std::nexttoward(-polygon_offset_distance, -std::numeric_limits::infinity()), + + // 1.e-8 even was too little and still resulted in slivers of triangle around the perimeter + -polygon_offset_distance - OUTER_PERIMITER_ADDITIONAL_INSET_AMOUNT, + fused_removed_close_points); + + debug_output.write_polygons(inner_offset, "outer_perimiter"); + + t0.stop(); + t0 = timer.start("corridor creation"); + + // Subtract original polygons from outer perimeter + std::vector difference_result, difference_result_subdivided; + for (auto& i : inner_offset) { + std::vector working_copy; + working_copy.emplace_back(i); + + for (auto& r : input_polygons) { + std::vector temp_working_copy; + for (auto& wc : working_copy) { + CGAL::difference(wc, r, std::back_inserter(temp_working_copy)); + } + working_copy = temp_working_copy; + } + difference_result.insert(difference_result.end(), working_copy.begin(), working_copy.end()); + } + + t0.stop(); + t0 = timer.start("corridor triangulation"); + + // subdivide difference_result to have better more detailed triangulation and therefore less-pronounced artefacts in midpoint network + + for (auto& pwh : difference_result) { + difference_result_subdivided.push_back(subdivide_polygon(polygon_offset_distance / 8., pwh)); + // difference_result_subdivided.push_back(subdivide_polygon(polygon_offset_distance / 64., pwh)); + } + + debug_output.write_polygons(difference_result_subdivided, "corridor_subdivided"); + + std::vector> triangular_polygons; + for (auto& pwh : difference_result_subdivided) { + CGAL::Polygon_triangulation_decomposition_2 decompositor; + decompositor(pwh, std::back_inserter(triangular_polygons)); + } + + t0.stop(); + + /* + * // @todo decide whether this is smart or not + * // Would this not hurt topology too much? + triangular_polygons.erase(std::remove_if(triangular_polygons.begin(), triangular_polygons.end(), [](const CGAL::Polygon_2& p) { + return CGAL::to_double(p.area()) < 1.e-8; + }), triangular_polygons.end()); + */ + + t0 = timer.start("center line"); + + debug_output.write_polygons(triangular_polygons, "triangulated_corridor"); + + auto [line_graph, midpoint_to_segment, segment_to_input_facet] = build_line_graph(input_polygons, segment_lookup, triangular_polygons); + for (auto& p : line_graph) { + for (auto& q : p.second) { + debug_output.write_segment(p.first, q, "network_1"); + } + } + + t0.stop(); + + t0 = timer.start("center line cleaning"); + + auto triangles = find_triangles(line_graph); + + // For every triangle found in the network we eliminate one edge to break the cycle + // The edge we eliminate is the edge with the greatest angle with any of it's neighbours + auto eliminated_segments = eliminate_triangles(line_graph); + + Graph2D G2(line_graph); + for (auto& e : eliminated_segments) { + debug_output.write_segment(e.first, e.second, "eliminated"); + G2.remove_edge(e.first, e.second); + } + + auto G = G2.weld_vertices(); + + for (auto it = G.edges_begin(); it != G.edges_end(); ++it) { + debug_output.write_segment(it->first, it->second, "network_2"); + } + + eliminate_colinear_vertices(G); + + edge_slide(G); + + for (auto it = G.edges_begin(); it != G.edges_end(); ++it) { + debug_output.write_segment(it->first, it->second, "network_3"); + } + + t0.stop(); + + t0 = timer.start("topology"); + + auto segments = extend_end_vertices_based_on_input(G, midpoint_to_segment, segment_to_input_facet, inner_offset, segment_lookup); + + // Now plot the edges on an arrangement in order to find planar cycles + // and merge the corridor-halves with their neighbouring input polygon + Arrangement_2 arr; + G.to_arrangement(arr); + + for (auto& pq : segments) { + if (pq.first == pq.second) { + continue; + } + CGAL::insert(arr, Segment_2(pq.first, pq.second)); + + debug_output.write_segment(pq.first, pq.second, "extended_segments"); + } + + // Write input polygons to arrangement_2 + for (auto& poly : input_polygons) { + for (size_t i = 0; i != poly.size(); ++i) { + auto j = (i + 1) % poly.size(); + if (poly.vertex(i) == poly.vertex(j)) { + continue; + } + CGAL::insert(arr, Segment_2(poly.vertex(i), poly.vertex(j))); + } + } + + // Just for the automatic numbering, create a full vector + std::vector temp; + for (auto it = arr.faces_begin(); it != arr.faces_end(); ++it) { + if (it->is_unbounded()) { + continue; + } + temp.push_back(circ_to_poly(it->outer_ccb())); + } + debug_output.write_polygons(temp, "arr_faces"); + + + /* { + // debug, add outer bounds so that we can plot the face for any remaining edges + auto poly = unioned_polygons.front().outer_boundary(); + for (size_t i = 0; i != poly.size(); ++i) { + auto j = (i + 1) % poly.size(); + CGAL::insert(arr, Segment_2(poly.vertex(i), poly.vertex(j))); + } + } */ + + // Now loop over the arrangement faces, when a face coincides with a point on the + // corridor network we know it needs to be joined with an input polygon. In that + // case the edges need to be eliminated that correspond to original geometry. + + fuse_corridor_halves_with_input(arr, G, segment_lookup, input_polygons, debug_output); + + t0.stop(); for (auto it = arr.faces_begin(); it != arr.faces_end(); ++it) { if (it->is_unbounded()) { continue; } - output_polygons.push_back(circ_to_poly(it->outer_ccb())); - -#ifdef SVGFILL_DEBUG - write_polygon_to_svg(svg, circ_to_poly(it->outer_ccb())); - - obj << "o " << "merged_face_"; - obj << face_id++ << "\n"; - - std::ostringstream oss; - - { - auto vv = vi; - auto curr = it->outer_ccb(); - do { - auto& p = curr->source()->point(); - obj << "v " << CGAL::to_double(p.x()) << " " << CGAL::to_double(p.y()) << " 0\n"; - oss << "l " << vi++; - ++curr; - if (curr == it->outer_ccb()) { - oss << " " << vv << "\n"; - } else { - oss << " " << vi << "\n"; - } - } while (curr != it->outer_ccb()); - } - - for (auto jt = it->inner_ccbs_begin(); jt != it->inner_ccbs_end(); ++jt) { - auto vv = vi; - auto curr = *jt; - do { - auto& p = curr->source()->point(); - obj << "v " << CGAL::to_double(p.x()) << " " << CGAL::to_double(p.y()) << " 0\n"; - oss << "l " << vi++; - ++curr; - if (curr == *jt) { - oss << " " << vv << "\n"; - } else { - oss << " " << vi << "\n"; - } - } while (curr != *jt); - } - - obj << oss.str(); -#endif } -#ifdef SVGFILL_DEBUG - svg << "\n"; -#endif + debug_output.write_polygons(output_polygons, "arr_faces_merged"); } #ifndef SVGFILL_MAIN diff --git a/src/svgfill/src/graph_2d.h b/src/svgfill/src/graph_2d.h index aaaa059b4e..da2b5014ec 100644 --- a/src/svgfill/src/graph_2d.h +++ b/src/svgfill/src/graph_2d.h @@ -2,8 +2,10 @@ #define GRAPH_2D_H #ifdef SVGFILL_DEBUG +#if 0 #include #endif +#endif template class Graph2D { @@ -334,6 +336,16 @@ public: return Graph2D(input_adjacency_list); } + template + void to_arrangement(T& arr) { + for (auto it = edges_begin(); it != edges_end(); ++it) { + if (it->first == it->second) { + continue; + } + CGAL::insert(arr, CGAL::Segment_2(it->first, it->second)); + } + } + void assert_symmetric() { #ifdef SVGFILL_DEBUG #if 0 diff --git a/test/run.py b/test/run.py index 320b8decc4..ad1880166f 100644 --- a/test/run.py +++ b/test/run.py @@ -28,7 +28,6 @@ import inspect import os -import shutil import subprocess import sys from urllib.request import urlretrieve diff --git a/win/patches/.gersemirc b/win/patches/.gersemirc new file mode 100644 index 0000000000..f64d72913d --- /dev/null +++ b/win/patches/.gersemirc @@ -0,0 +1 @@ +disable_formatting: true