mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-23 14:06:26 +00:00
@@ -257,12 +257,12 @@ class EditBoundaryAttributes(bpy.types.Operator):
|
|||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
bprops = context.active_object.bim_boundary_properties
|
bprops = context.active_object.bim_boundary_properties
|
||||||
boundary = tool.Ifc.get_entity(context.active_object)
|
boundary = tool.Ifc.get_entity(context.active_object)
|
||||||
|
attributes = dict()
|
||||||
for ifc_attribute, blender_property in EDITABLE_ATTRIBUTES.items():
|
for ifc_attribute, blender_property in EDITABLE_ATTRIBUTES.items():
|
||||||
if not hasattr(boundary, ifc_attribute):
|
|
||||||
continue
|
|
||||||
obj = getattr(bprops, blender_property, None)
|
obj = getattr(bprops, blender_property, None)
|
||||||
entity = tool.Ifc.get_entity(obj)
|
entity = tool.Ifc.get_entity(obj)
|
||||||
setattr(boundary, ifc_attribute, entity)
|
attributes[blender_property] = entity
|
||||||
|
ifcopenshell.api.run("boundary.edit_attributes", tool.Ifc.get(), entity=boundary, **attributes)
|
||||||
bpy.ops.bim.disable_editing_boundary()
|
bpy.ops.bim.disable_editing_boundary()
|
||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
class Usecase:
|
||||||
|
def __init__(self, file, **kwargs):
|
||||||
|
"""location, axis and ref_direction defines the plane"""
|
||||||
|
self.file = file
|
||||||
|
self.entity: "IfcRelSpaceBoundary"
|
||||||
|
self.relating_space: "IfcSpace | IfcExternalSpatialElement"
|
||||||
|
self.related_building_element: "IfcElement"
|
||||||
|
self.parent_boundary: "IfcRelSpaceBoundary" = None
|
||||||
|
self.corresponding_boundary: "IfcRelSpaceBoundary" = None
|
||||||
|
for key, value in kwargs.items():
|
||||||
|
setattr(self, key, value)
|
||||||
|
|
||||||
|
def execute(self):
|
||||||
|
self.entity.RelatingSpace = self.relating_space
|
||||||
|
self.entity.RelatedBuildingElement = self.related_building_element
|
||||||
|
if hasattr(self.entity, "ParentBoundary"):
|
||||||
|
self.entity.ParentBoundary = self.parent_boundary
|
||||||
|
if hasattr(self.entity, "CorrespondingBoundary"):
|
||||||
|
self.entity.CorrespondingBoundary = self.corresponding_boundary
|
||||||
Reference in New Issue
Block a user