New IFC to Brick class mapping utility

This commit is contained in:
Dion Moult
2022-01-10 15:35:37 +11:00
parent 8eccb1a5ed
commit 256f40ed44
3 changed files with 67 additions and 0 deletions
@@ -0,0 +1,20 @@
import os
import json
cwd = os.path.dirname(os.path.realpath(__file__))
ifc4_to_brick_map = {}
with open(os.path.join(cwd, "ifc4_to_brick.json")) as f:
ifc4_to_brick_map = json.load(f)
def get_brick_type(element):
predefined_type = getattr(element, "PredefinedType", None)
result = None
if predefined_type:
result = ifc4_to_brick_map.get(f"{element.is_a()}.{predefined_type}", None)
if not result:
result = ifc4_to_brick_map.get(element.is_a(), None)
return result