WIP port object material assignment with 3 new features. See message. See #1222.

* Full support for editing IfcMaterialList added
 * The reusability of material set relationships are now roundtripped
 * UI is sensitive to IFC schema version and adapts intelligently
This commit is contained in:
Dion Moult
2021-01-17 12:46:35 +11:00
parent fa4ba58cac
commit 25fb9be82e
21 changed files with 943 additions and 292 deletions
@@ -0,0 +1,19 @@
import ifcopenshell
class Usecase:
def __init__(self, file, settings=None):
self.file = file
self.settings = {"layer_set": None, "material": None}
for key, value in settings.items():
self.settings[key] = value
def execute(self):
layers = list(self.settings["layer_set"].MaterialLayers)
layer = self.file.create_entity("IfcMaterialLayer", **{
"Material": self.settings["material"],
"LayerThickness": 0.
})
layers.append(layer)
self.settings["layer_set"].MaterialLayers = layers
return layer