From 2e351b4254bc96bf9f33b109f4d0ffa9bbccef13 Mon Sep 17 00:00:00 2001 From: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com> Date: Tue, 15 Jul 2025 10:26:35 +0100 Subject: [PATCH] feat: attach attributes that are on the element type level (#9) * Added better property extraction * property sets naming * Get attributes from element type --- src/speckleifc/__main__.py | 1 + src/speckleifc/property_extraction.py | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/speckleifc/__main__.py b/src/speckleifc/__main__.py index 9e4ee57..3b56d01 100644 --- a/src/speckleifc/__main__.py +++ b/src/speckleifc/__main__.py @@ -102,6 +102,7 @@ def open_and_convert_file( model_id=model_id, project_id=project_id, message=version_message, + source_application="IFC", ) version = client.version.create(create_version) end = time.time() diff --git a/src/speckleifc/property_extraction.py b/src/speckleifc/property_extraction.py index 4d848a1..82396dd 100644 --- a/src/speckleifc/property_extraction.py +++ b/src/speckleifc/property_extraction.py @@ -6,7 +6,7 @@ from ifcopenshell.util.element import get_type def extract_properties(element: entity_instance) -> dict[str, object]: properties: dict[str, object] = { - "Attributes": get_attributes(element), + "Attributes": _get_attributes(element), "Property Sets": _get_ifc_object_properties(element), } @@ -14,11 +14,14 @@ def extract_properties(element: entity_instance) -> dict[str, object]: properties["Element Type Property Sets"] = _get_ifc_element_type_properties( ifc_type, ) + properties["Element Type Attributes"] = _get_attributes( + ifc_type, + ) return properties -def get_attributes(element: entity_instance) -> dict[str, object]: +def _get_attributes(element: entity_instance) -> dict[str, object]: return element.get_info(True, False, scalar_only=True)