mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-30 00:23:14 +00:00
Fix #3453. Hidden annotation type removed, and demo library now comes with linetypes for dashed, fine, thin, medium, thick, and strong.
This commit is contained in:
@@ -146,6 +146,12 @@ class LibraryGenerator:
|
||||
self.create_type("IfcDoorType", "DT01", {"model_body": "Door", "plan_body": "Door-Plan"})
|
||||
self.create_type("IfcFurnitureType", "BUN01", {"model_body": "Bunny", "plan_body": "Bunny-Plan"})
|
||||
|
||||
self.create_line_type("DASHED", "dashed")
|
||||
self.create_line_type("FINE", "fine")
|
||||
self.create_line_type("THIN", "thin")
|
||||
self.create_line_type("MEDIUM", "medium")
|
||||
self.create_line_type("THICK", "thick")
|
||||
self.create_line_type("STRONG", "strong")
|
||||
self.create_text_type("DOOR-TAG", "door-tag", ["{{type.Name}}", "{{Name}}"])
|
||||
self.create_text_type("WINDOW-TAG", "window-tag", ["{{Name}}"])
|
||||
self.create_text_type("SPACE-TAG", "space-tag", ["{{Name}}", "{{Description}}", "``round({{Qto_SpaceBaseQuantities.NetFloorArea}} or 0., 2)``"])
|
||||
@@ -155,6 +161,12 @@ class LibraryGenerator:
|
||||
|
||||
self.file.write("IFC4 Demo Library.ifc")
|
||||
|
||||
def create_line_type(self, name, classes):
|
||||
element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcTypeProduct", name=name)
|
||||
element.ApplicableOccurrence = "IfcAnnotation/LINEWORK"
|
||||
pset = ifcopenshell.api.run("pset.add_pset", self.file, product=element, name="EPset_Annotation")
|
||||
ifcopenshell.api.run("pset.edit_pset", self.file, pset=pset, properties={"Classes": classes})
|
||||
|
||||
def create_text_type(self, name, symbol, literals):
|
||||
element = ifcopenshell.api.run("root.create_entity", self.file, ifc_class="IfcTypeProduct", name=name)
|
||||
element.ApplicableOccurrence = "IfcAnnotation/TEXT"
|
||||
|
||||
Reference in New Issue
Block a user