Implement support for showing IfcMaterialLayerSetUsage material types

This commit is contained in:
Dion Moult
2021-03-05 18:27:19 +11:00
parent 76487ea3bf
commit be66a98cfa
3 changed files with 43 additions and 16 deletions
@@ -21,6 +21,7 @@ class Data:
cls.materials = {}
cls.constituent_sets = {}
cls.constituents = {}
cls.layer_set_usages = {}
cls.layer_sets = {}
cls.layers = {}
cls.profile_sets = {}
@@ -39,6 +40,7 @@ class Data:
cls.load_materials()
cls.load_constituents()
cls.load_layers()
cls.load_layer_usages()
cls.load_profiles()
cls.load_lists()
cls.is_loaded = True
@@ -62,6 +64,11 @@ class Data:
cls.load_element("IfcMaterialLayer", cls.layers)
cls.load_element("IfcMaterialLayerSet", cls.layer_sets)
@classmethod
def load_layer_usages(cls):
cls.layer_set_usages = {}
cls.load_element("IfcMaterialLayerSetUsage", cls.layer_set_usages)
@classmethod
def load_profiles(cls):
cls.profile_sets = {}
@@ -103,8 +110,6 @@ class Data:
@classmethod
def load_association(cls, association, product_id):
material_select = association.RelatingMaterial
if material_select.is_a("IfcMaterialLayerSetUsage"): # TODO: implement usages
material_select = material_select.ForLayerSet
elif material_select.is_a("IfcMaterialProfileSetUsage"): # TODO: implement usages
if material_select.is_a("IfcMaterialProfileSetUsage"): # TODO: implement usages
material_select = material_select.ForProfileSet
cls.products[product_id] = {"type": material_select.is_a(), "id": material_select.id()}