style.remove_style to handle IfcFillAreaStyles

This commit is contained in:
Andrej730
2024-10-01 15:27:52 +05:00
parent 19f1c87437
commit f63a7d420e
2 changed files with 27 additions and 1 deletions
@@ -69,6 +69,28 @@ class TestRemoveStyle(test.bootstrap.IFC4):
assert len(self.file.by_type("IfcMaterialDefinitionRepresentation")) == 0
assert len(self.file.by_type("IfcStyledRepresentation")) == 0
def test_remove_fill_area_with_fill_area_style_hatching(self):
element = self.file.create_entity("IfcWall")
material = ifcopenshell.api.material.add_material(self.file)
ifcopenshell.api.material.assign_material(self.file, products=[element], material=material)
curve_style = self.file.create_entity("IfcCurveStyle")
fill_style = self.file.create_entity("IfcFillAreaStyleHatching", HatchLineAppearance=curve_style)
style = self.file.create_entity("IfcFillAreaStyle", FillStyles=[fill_style])
self.file.create_entity(
"IfcMaterialDefinitionRepresentation",
RepresentedMaterial=material,
Representations=[
self.file.create_entity(
"IfcStyledRepresentation",
Items=[self.file.create_entity("IfcStyledItem", Styles=[style])],
)
],
)
ifcopenshell.api.style.remove_style(self.file, style)
assert len(self.file.by_type("IfcPresentationStyle")) == 0
assert len(self.file.by_type("IfcMaterialDefinitionRepresentation")) == 0
assert len(self.file.by_type("IfcStyledRepresentation")) == 0
class TestRemoveStyleIFC2X3(test.bootstrap.IFC2X3, TestRemoveStyle):
pass