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