mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-26 10:11:46 +00:00
Add support for rel_void / rel_fill / rel_project relative placement when editing object placements(#1471)
* Add support for rel_void / rel_fill * Fix relationships, and add support for projection elements Co-authored-by: Dion Moult <dion@thinkmoult.com>
This commit is contained in:
@@ -33,6 +33,15 @@ class Usecase:
|
|||||||
elif hasattr(self.settings["product"], "Decomposes") and self.settings["product"].Decomposes:
|
elif hasattr(self.settings["product"], "Decomposes") and self.settings["product"].Decomposes:
|
||||||
relating_object = self.settings["product"].Decomposes[0].RelatingObject
|
relating_object = self.settings["product"].Decomposes[0].RelatingObject
|
||||||
placement_rel_to = relating_object.ObjectPlacement if hasattr(relating_object, "ObjectPlacement") else None
|
placement_rel_to = relating_object.ObjectPlacement if hasattr(relating_object, "ObjectPlacement") else None
|
||||||
|
elif hasattr(self.settings["product"], "VoidsElements") and self.settings["product"].VoidsElements:
|
||||||
|
relating_object = self.settings["product"].VoidsElements[0].RelatingBuildingElement
|
||||||
|
placement_rel_to = relating_object.ObjectPlacement if hasattr(relating_object, "ObjectPlacement") else None
|
||||||
|
elif hasattr(self.settings["product"], "FillsVoids") and self.settings["product"].FillsVoids:
|
||||||
|
relating_object = self.settings["product"].FillsVoids[0].RelatingOpeningElement
|
||||||
|
placement_rel_to = relating_object.ObjectPlacement if hasattr(relating_object, "ObjectPlacement") else None
|
||||||
|
elif hasattr(self.settings["product"], "ProjectsElements") and self.settings["product"].ProjectsElements:
|
||||||
|
relating_object = self.settings["product"].ProjectsElements[0].RelatingElement
|
||||||
|
placement_rel_to = relating_object.ObjectPlacement if hasattr(relating_object, "ObjectPlacement") else None
|
||||||
|
|
||||||
placement = self.file.createIfcLocalPlacement(placement_rel_to, self.get_relative_placement(placement_rel_to))
|
placement = self.file.createIfcLocalPlacement(placement_rel_to, self.get_relative_placement(placement_rel_to))
|
||||||
if self.settings["product"].ObjectPlacement:
|
if self.settings["product"].ObjectPlacement:
|
||||||
|
|||||||
Reference in New Issue
Block a user