mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-10 17:58:20 +00:00
Minor fixes to IfcFM
This commit is contained in:
@@ -50,6 +50,9 @@ class Parser:
|
||||
module = importlib.import_module(f"ifcfm.{preset}")
|
||||
self.get_category_elements = getattr(module, "get_category_elements")
|
||||
self.get_element_data = getattr(module, "get_element_data")
|
||||
elif isinstance(preset, dict):
|
||||
self.get_category_elements = preset["get_category_elements"]
|
||||
self.get_element_data = preset["get_element_data"]
|
||||
else:
|
||||
self.get_category_elements = getattr(preset, "get_category_elements")
|
||||
self.get_element_data = getattr(preset, "get_element_data")
|
||||
@@ -91,6 +94,8 @@ class Writer:
|
||||
if isinstance(self.parser.preset, str):
|
||||
module = importlib.import_module(f"ifcfm.{self.parser.preset}")
|
||||
self.config = getattr(module, "config")
|
||||
elif isinstance(self.parser.preset, dict):
|
||||
self.config = self.parser.preset["config"]
|
||||
else:
|
||||
self.config = getattr(self.parser.preset, "config")
|
||||
|
||||
|
||||
@@ -134,7 +134,7 @@ def get_space_data(ifc_file, element):
|
||||
def get_zone_data(ifc_file, element):
|
||||
zone, space = element
|
||||
return {
|
||||
"key": (element.Name or "Unnamed") + (space.Name or "Unnamed"),
|
||||
"key": (zone.Name or "Unnamed") + (space.Name or "Unnamed"),
|
||||
"Name": zone.Name,
|
||||
"SpaceName": space.Name,
|
||||
"AuthorOrganizationName": get_owner_name(zone),
|
||||
|
||||
@@ -89,7 +89,7 @@ def get_types(ifc_file):
|
||||
|
||||
def get_components(ifc_file):
|
||||
elements = set()
|
||||
for element_type in ifcopenshell.util.fm.get_cobie_types(ifc_file):
|
||||
for element_type in get_types(ifc_file):
|
||||
elements.update(ifcopenshell.util.element.get_types(element_type))
|
||||
return elements
|
||||
|
||||
|
||||
Reference in New Issue
Block a user