mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-17 14:02:27 +00:00
Fix validation errors in IFC2X3 with missing ownership and mandatory attributes
This commit is contained in:
@@ -18,7 +18,12 @@ class Usecase:
|
|||||||
return rel.RelatingPropertyDefinition
|
return rel.RelatingPropertyDefinition
|
||||||
|
|
||||||
pset = self.file.create_entity(
|
pset = self.file.create_entity(
|
||||||
"IfcPropertySet", **{"GlobalId": ifcopenshell.guid.new(), "Name": self.settings["name"]}
|
"IfcPropertySet",
|
||||||
|
**{
|
||||||
|
"GlobalId": ifcopenshell.guid.new(),
|
||||||
|
"OwnerHistory": ifcopenshell.api.run("owner.create_owner_history", self.file),
|
||||||
|
"Name": self.settings["name"],
|
||||||
|
}
|
||||||
)
|
)
|
||||||
self.file.create_entity(
|
self.file.create_entity(
|
||||||
"IfcRelDefinesByProperties",
|
"IfcRelDefinesByProperties",
|
||||||
@@ -36,7 +41,12 @@ class Usecase:
|
|||||||
return definition
|
return definition
|
||||||
|
|
||||||
pset = self.file.create_entity(
|
pset = self.file.create_entity(
|
||||||
"IfcPropertySet", **{"GlobalId": ifcopenshell.guid.new(), "Name": self.settings["name"]}
|
"IfcPropertySet",
|
||||||
|
**{
|
||||||
|
"GlobalId": ifcopenshell.guid.new(),
|
||||||
|
"OwnerHistory": ifcopenshell.api.run("owner.create_owner_history", self.file),
|
||||||
|
"Name": self.settings["name"],
|
||||||
|
}
|
||||||
)
|
)
|
||||||
has_property_sets = list(self.settings["product"].HasPropertySets or [])
|
has_property_sets = list(self.settings["product"].HasPropertySets or [])
|
||||||
has_property_sets.append(pset)
|
has_property_sets.append(pset)
|
||||||
|
|||||||
@@ -19,7 +19,12 @@ class Usecase:
|
|||||||
return rel.RelatingPropertyDefinition
|
return rel.RelatingPropertyDefinition
|
||||||
|
|
||||||
qto = self.file.create_entity(
|
qto = self.file.create_entity(
|
||||||
"IfcElementQuantity", **{"GlobalId": ifcopenshell.guid.new(), "Name": self.settings["name"]}
|
"IfcElementQuantity",
|
||||||
|
**{
|
||||||
|
"GlobalId": ifcopenshell.guid.new(),
|
||||||
|
"OwnerHistory": ifcopenshell.api.run("owner.create_owner_history", self.file),
|
||||||
|
"Name": self.settings["name"],
|
||||||
|
}
|
||||||
)
|
)
|
||||||
self.file.create_entity(
|
self.file.create_entity(
|
||||||
"IfcRelDefinesByProperties",
|
"IfcRelDefinesByProperties",
|
||||||
|
|||||||
@@ -28,4 +28,12 @@ class Usecase:
|
|||||||
element.ObjectType = self.settings["predefined_type"]
|
element.ObjectType = self.settings["predefined_type"]
|
||||||
elif hasattr(element, "ObjectType"):
|
elif hasattr(element, "ObjectType"):
|
||||||
element.ObjectType = self.settings["predefined_type"]
|
element.ObjectType = self.settings["predefined_type"]
|
||||||
|
if self.file.schema == "IFC2X3":
|
||||||
|
self.handle_2x3_defaults(element)
|
||||||
return element
|
return element
|
||||||
|
|
||||||
|
def handle_2x3_defaults(self, element):
|
||||||
|
if element.is_a("IfcSpatialStructureElement"):
|
||||||
|
element.CompositionType = "ELEMENT"
|
||||||
|
elif element.is_a("IfcRoof"):
|
||||||
|
element.ShapeType = "NOTDEFINED"
|
||||||
|
|||||||
Reference in New Issue
Block a user