mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-11 02:02:22 +00:00
@@ -257,12 +257,12 @@ class EditBoundaryAttributes(bpy.types.Operator):
|
||||
def _execute(self, context):
|
||||
bprops = context.active_object.bim_boundary_properties
|
||||
boundary = tool.Ifc.get_entity(context.active_object)
|
||||
attributes = dict()
|
||||
for ifc_attribute, blender_property in EDITABLE_ATTRIBUTES.items():
|
||||
if not hasattr(boundary, ifc_attribute):
|
||||
continue
|
||||
obj = getattr(bprops, blender_property, None)
|
||||
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()
|
||||
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