mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-20 15:08:51 +00:00
Reuse tool.Ifc.Operator
This commit is contained in:
@@ -391,14 +391,11 @@ class DisableEditingBoundary(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class EditBoundaryAttributes(bpy.types.Operator):
|
class EditBoundaryAttributes(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.edit_boundary_attributes"
|
bl_idname = "bim.edit_boundary_attributes"
|
||||||
bl_label = "Disable Editing Boundary Relations"
|
bl_label = "Disable Editing Boundary Relations"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
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)
|
||||||
@@ -412,7 +409,7 @@ class EditBoundaryAttributes(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class UpdateBoundaryGeometry(bpy.types.Operator):
|
class UpdateBoundaryGeometry(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.update_boundary_geometry"
|
bl_idname = "bim.update_boundary_geometry"
|
||||||
bl_label = "Update Boundary Geometry"
|
bl_label = "Update Boundary Geometry"
|
||||||
bl_description = """
|
bl_description = """
|
||||||
@@ -421,9 +418,6 @@ class UpdateBoundaryGeometry(bpy.types.Operator):
|
|||||||
"""
|
"""
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
tool.Boundary.move_origin_to_space_origin(context.active_object)
|
tool.Boundary.move_origin_to_space_origin(context.active_object)
|
||||||
settings = tool.Boundary.get_assign_connection_geometry_settings(context.active_object)
|
settings = tool.Boundary.get_assign_connection_geometry_settings(context.active_object)
|
||||||
|
|||||||
@@ -77,14 +77,11 @@ class DisableEditingConstraint(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class AddObjective(bpy.types.Operator):
|
class AddObjective(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.add_objective"
|
bl_idname = "bim.add_objective"
|
||||||
bl_label = "Add Objective"
|
bl_label = "Add Objective"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
result = ifcopenshell.api.run("constraint.add_objective", IfcStore.get_file())
|
result = ifcopenshell.api.run("constraint.add_objective", IfcStore.get_file())
|
||||||
bpy.ops.bim.load_objectives()
|
bpy.ops.bim.load_objectives()
|
||||||
@@ -92,14 +89,11 @@ class AddObjective(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class EditObjective(bpy.types.Operator):
|
class EditObjective(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.edit_objective"
|
bl_idname = "bim.edit_objective"
|
||||||
bl_label = "Edit Objective"
|
bl_label = "Edit Objective"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
props = context.scene.BIMConstraintProperties
|
props = context.scene.BIMConstraintProperties
|
||||||
attributes = {}
|
attributes = {}
|
||||||
@@ -120,15 +114,12 @@ class EditObjective(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class RemoveConstraint(bpy.types.Operator):
|
class RemoveConstraint(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.remove_constraint"
|
bl_idname = "bim.remove_constraint"
|
||||||
bl_label = "Remove Constraint"
|
bl_label = "Remove Constraint"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
constraint: bpy.props.IntProperty()
|
constraint: bpy.props.IntProperty()
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
props = context.scene.BIMConstraintProperties
|
props = context.scene.BIMConstraintProperties
|
||||||
self.file = IfcStore.get_file()
|
self.file = IfcStore.get_file()
|
||||||
@@ -168,16 +159,13 @@ class DisableAssigningConstraint(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class AssignConstraint(bpy.types.Operator):
|
class AssignConstraint(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.assign_constraint"
|
bl_idname = "bim.assign_constraint"
|
||||||
bl_label = "Assign Constraint"
|
bl_label = "Assign Constraint"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
obj: bpy.props.StringProperty()
|
obj: bpy.props.StringProperty()
|
||||||
constraint: bpy.props.IntProperty()
|
constraint: bpy.props.IntProperty()
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
self.file = tool.Ifc.get()
|
self.file = tool.Ifc.get()
|
||||||
objs = [bpy.data.objects.get(self.obj)] if self.obj else context.selected_objects
|
objs = [bpy.data.objects.get(self.obj)] if self.obj else context.selected_objects
|
||||||
@@ -194,16 +182,13 @@ class AssignConstraint(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class UnassignConstraint(bpy.types.Operator):
|
class UnassignConstraint(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.unassign_constraint"
|
bl_idname = "bim.unassign_constraint"
|
||||||
bl_label = "Unassign Constraint"
|
bl_label = "Unassign Constraint"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
obj: bpy.props.StringProperty()
|
obj: bpy.props.StringProperty()
|
||||||
constraint: bpy.props.IntProperty()
|
constraint: bpy.props.IntProperty()
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
self.file = tool.Ifc.get()
|
self.file = tool.Ifc.get()
|
||||||
objs = [bpy.data.objects.get(self.obj)] if self.obj else context.selected_objects
|
objs = [bpy.data.objects.get(self.obj)] if self.obj else context.selected_objects
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ class CreateAllShapes(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class CreateShapeFromStepId(bpy.types.Operator):
|
class CreateShapeFromStepId(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.create_shape_from_step_id"
|
bl_idname = "bim.create_shape_from_step_id"
|
||||||
bl_label = "Create Shape From STEP ID"
|
bl_label = "Create Shape From STEP ID"
|
||||||
bl_description = "Recreate a mesh object from a STEP ID"
|
bl_description = "Recreate a mesh object from a STEP ID"
|
||||||
@@ -236,9 +236,6 @@ class CreateShapeFromStepId(bpy.types.Operator):
|
|||||||
def poll(cls, context):
|
def poll(cls, context):
|
||||||
return IfcStore.get_file()
|
return IfcStore.get_file()
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
logger = logging.getLogger("ImportIFC")
|
logger = logging.getLogger("ImportIFC")
|
||||||
self.ifc_import_settings = import_ifc.IfcImportSettings.factory(context, IfcStore.path, logger)
|
self.ifc_import_settings = import_ifc.IfcImportSettings.factory(context, IfcStore.path, logger)
|
||||||
|
|||||||
@@ -1233,7 +1233,7 @@ class DuplicateLinkedAggregateTo3dCursor(bpy.types.Operator):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class RefreshLinkedAggregate(bpy.types.Operator):
|
class RefreshLinkedAggregate(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.refresh_linked_aggregate"
|
bl_idname = "bim.refresh_linked_aggregate"
|
||||||
bl_label = "IFC Refresh Linked Aggregate"
|
bl_label = "IFC Refresh Linked Aggregate"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
@@ -1242,14 +1242,6 @@ class RefreshLinkedAggregate(bpy.types.Operator):
|
|||||||
def poll(cls, context):
|
def poll(cls, context):
|
||||||
return len(context.selected_objects) > 0
|
return len(context.selected_objects) > 0
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
# Deep magick from the dawn of time
|
|
||||||
if IfcStore.get_file():
|
|
||||||
IfcStore.execute_ifc_operator(self, context)
|
|
||||||
return {"FINISHED"}
|
|
||||||
|
|
||||||
return {"FINISHED"}
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
self.new_active_obj = None
|
self.new_active_obj = None
|
||||||
self.group_name = "BBIM_Linked_Aggregate"
|
self.group_name = "BBIM_Linked_Aggregate"
|
||||||
@@ -1576,15 +1568,12 @@ class OverridePasteBuffer(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class OverrideModeSetEdit(bpy.types.Operator):
|
class OverrideModeSetEdit(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_description = "Switch from Object mode to Edit mode"
|
bl_description = "Switch from Object mode to Edit mode"
|
||||||
bl_idname = "bim.override_mode_set_edit"
|
bl_idname = "bim.override_mode_set_edit"
|
||||||
bl_label = "IFC Mode Set Edit"
|
bl_label = "IFC Mode Set Edit"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
selected_objs = tool.Blender.get_selected_objects()
|
selected_objs = tool.Blender.get_selected_objects()
|
||||||
active_obj = context.active_object
|
active_obj = context.active_object
|
||||||
@@ -1702,15 +1691,12 @@ class OverrideModeSetEdit(bpy.types.Operator):
|
|||||||
return self.execute(context)
|
return self.execute(context)
|
||||||
|
|
||||||
|
|
||||||
class OverrideModeSetObject(bpy.types.Operator):
|
class OverrideModeSetObject(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.override_mode_set_object"
|
bl_idname = "bim.override_mode_set_object"
|
||||||
bl_label = "IFC Mode Set Object"
|
bl_label = "IFC Mode Set Object"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
should_save: bpy.props.BoolProperty(name="Should Save", default=True)
|
should_save: bpy.props.BoolProperty(name="Should Save", default=True)
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
if not context.active_object:
|
if not context.active_object:
|
||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|||||||
@@ -78,14 +78,11 @@ class DisableEditingLayer(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class AddPresentationLayer(bpy.types.Operator):
|
class AddPresentationLayer(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.add_presentation_layer"
|
bl_idname = "bim.add_presentation_layer"
|
||||||
bl_label = "Add Layer"
|
bl_label = "Add Layer"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
result = ifcopenshell.api.run("layer.add_layer", IfcStore.get_file())
|
result = ifcopenshell.api.run("layer.add_layer", IfcStore.get_file())
|
||||||
bpy.ops.bim.load_layers()
|
bpy.ops.bim.load_layers()
|
||||||
@@ -93,14 +90,11 @@ class AddPresentationLayer(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class EditPresentationLayer(bpy.types.Operator):
|
class EditPresentationLayer(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.edit_presentation_layer"
|
bl_idname = "bim.edit_presentation_layer"
|
||||||
bl_label = "Edit Layer"
|
bl_label = "Edit Layer"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
props = context.scene.BIMLayerProperties
|
props = context.scene.BIMLayerProperties
|
||||||
attributes = {}
|
attributes = {}
|
||||||
@@ -117,15 +111,12 @@ class EditPresentationLayer(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class RemovePresentationLayer(bpy.types.Operator):
|
class RemovePresentationLayer(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.remove_presentation_layer"
|
bl_idname = "bim.remove_presentation_layer"
|
||||||
bl_label = "Remove Presentation Layer"
|
bl_label = "Remove Presentation Layer"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
layer: bpy.props.IntProperty()
|
layer: bpy.props.IntProperty()
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
props = context.scene.BIMLayerProperties
|
props = context.scene.BIMLayerProperties
|
||||||
self.file = IfcStore.get_file()
|
self.file = IfcStore.get_file()
|
||||||
@@ -134,7 +125,7 @@ class RemovePresentationLayer(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class AssignPresentationLayer(bpy.types.Operator):
|
class AssignPresentationLayer(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.assign_presentation_layer"
|
bl_idname = "bim.assign_presentation_layer"
|
||||||
bl_label = "Assign Presentation Layer"
|
bl_label = "Assign Presentation Layer"
|
||||||
bl_description = "Assign presentation layer to the active representation of the active object"
|
bl_description = "Assign presentation layer to the active representation of the active object"
|
||||||
@@ -142,9 +133,6 @@ class AssignPresentationLayer(bpy.types.Operator):
|
|||||||
item: bpy.props.StringProperty()
|
item: bpy.props.StringProperty()
|
||||||
layer: bpy.props.IntProperty()
|
layer: bpy.props.IntProperty()
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
item = bpy.data.meshes.get(self.item) if self.item else context.active_object.data
|
item = bpy.data.meshes.get(self.item) if self.item else context.active_object.data
|
||||||
self.file = IfcStore.get_file()
|
self.file = IfcStore.get_file()
|
||||||
@@ -159,7 +147,7 @@ class AssignPresentationLayer(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class UnassignPresentationLayer(bpy.types.Operator):
|
class UnassignPresentationLayer(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.unassign_presentation_layer"
|
bl_idname = "bim.unassign_presentation_layer"
|
||||||
bl_label = "Unassign Presentation Layer"
|
bl_label = "Unassign Presentation Layer"
|
||||||
bl_description = "Unassign presentation layer from the active representation of the active object"
|
bl_description = "Unassign presentation layer from the active representation of the active object"
|
||||||
@@ -167,9 +155,6 @@ class UnassignPresentationLayer(bpy.types.Operator):
|
|||||||
item: bpy.props.StringProperty()
|
item: bpy.props.StringProperty()
|
||||||
layer: bpy.props.IntProperty()
|
layer: bpy.props.IntProperty()
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
item = bpy.data.meshes.get(self.item) if self.item else context.active_object.data
|
item = bpy.data.meshes.get(self.item) if self.item else context.active_object.data
|
||||||
self.file = IfcStore.get_file()
|
self.file = IfcStore.get_file()
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ class AddDefaultType(bpy.types.Operator, tool.Ifc.Operator):
|
|||||||
bpy.ops.bim.add_type()
|
bpy.ops.bim.add_type()
|
||||||
|
|
||||||
|
|
||||||
class AddConstrTypeInstance(bpy.types.Operator):
|
class AddConstrTypeInstance(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.add_constr_type_instance"
|
bl_idname = "bim.add_constr_type_instance"
|
||||||
bl_label = "Add"
|
bl_label = "Add"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
@@ -123,9 +123,6 @@ class AddConstrTypeInstance(bpy.types.Operator):
|
|||||||
def invoke(self, context, event):
|
def invoke(self, context, event):
|
||||||
return self.execute(context)
|
return self.execute(context)
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
props = context.scene.BIMModelProperties
|
props = context.scene.BIMModelProperties
|
||||||
relating_type_id = self.relating_type_id or props.relating_type_id
|
relating_type_id = self.relating_type_id or props.relating_type_id
|
||||||
|
|||||||
@@ -367,7 +367,7 @@ class SaveLibraryFile(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class AppendEntireLibrary(bpy.types.Operator):
|
class AppendEntireLibrary(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.append_entire_library"
|
bl_idname = "bim.append_entire_library"
|
||||||
bl_label = "Append Entire Library"
|
bl_label = "Append Entire Library"
|
||||||
|
|
||||||
@@ -375,9 +375,6 @@ class AppendEntireLibrary(bpy.types.Operator):
|
|||||||
def poll(cls, context):
|
def poll(cls, context):
|
||||||
return IfcStore.get_file()
|
return IfcStore.get_file()
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
self.file = IfcStore.get_file()
|
self.file = IfcStore.get_file()
|
||||||
self.library = IfcStore.library_file
|
self.library = IfcStore.library_file
|
||||||
@@ -389,7 +386,7 @@ class AppendEntireLibrary(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class AppendLibraryElementByQuery(bpy.types.Operator):
|
class AppendLibraryElementByQuery(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.append_library_element_by_query"
|
bl_idname = "bim.append_library_element_by_query"
|
||||||
bl_label = "Append Library Element By Query"
|
bl_label = "Append Library Element By Query"
|
||||||
query: bpy.props.StringProperty(name="Query")
|
query: bpy.props.StringProperty(name="Query")
|
||||||
@@ -398,9 +395,6 @@ class AppendLibraryElementByQuery(bpy.types.Operator):
|
|||||||
def poll(cls, context):
|
def poll(cls, context):
|
||||||
return IfcStore.get_file()
|
return IfcStore.get_file()
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
self.file = IfcStore.get_file()
|
self.file = IfcStore.get_file()
|
||||||
self.library = IfcStore.library_file
|
self.library = IfcStore.library_file
|
||||||
@@ -416,7 +410,7 @@ class AppendLibraryElementByQuery(bpy.types.Operator):
|
|||||||
self.layout.prop(self, "query")
|
self.layout.prop(self, "query")
|
||||||
|
|
||||||
|
|
||||||
class AppendLibraryElement(bpy.types.Operator):
|
class AppendLibraryElement(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.append_library_element"
|
bl_idname = "bim.append_library_element"
|
||||||
bl_label = "Append Library Element"
|
bl_label = "Append Library Element"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
@@ -431,9 +425,6 @@ class AppendLibraryElement(bpy.types.Operator):
|
|||||||
cls.poll_message_set("Please create or load a project first.")
|
cls.poll_message_set("Please create or load a project first.")
|
||||||
return poll
|
return poll
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
self.file = IfcStore.get_file()
|
self.file = IfcStore.get_file()
|
||||||
element = ifcopenshell.api.run(
|
element = ifcopenshell.api.run(
|
||||||
|
|||||||
@@ -305,15 +305,12 @@ class BIM_OT_clear_list(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class BIM_OT_rename_parameters(bpy.types.Operator):
|
class BIM_OT_rename_parameters(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_label = "Rename Parameters"
|
bl_label = "Rename Parameters"
|
||||||
bl_idname = "bim.rename_parameters"
|
bl_idname = "bim.rename_parameters"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
bl_description = "Rename parameters that are subclasses of IfcElement"
|
bl_description = "Rename parameters that are subclasses of IfcElement"
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
props_to_map = context.scene.RenameProperties
|
props_to_map = context.scene.RenameProperties
|
||||||
ifc_file = IfcStore.get_file()
|
ifc_file = IfcStore.get_file()
|
||||||
@@ -342,15 +339,12 @@ class BIM_OT_rename_parameters(bpy.types.Operator):
|
|||||||
obj_prop.Name = prop2map.new_property_name
|
obj_prop.Name = prop2map.new_property_name
|
||||||
|
|
||||||
|
|
||||||
class BIM_OT_add_edit_custom_property(bpy.types.Operator):
|
class BIM_OT_add_edit_custom_property(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_label = "Add or Edit a Custom Property"
|
bl_label = "Add or Edit a Custom Property"
|
||||||
bl_idname = "bim.add_edit_custom_property"
|
bl_idname = "bim.add_edit_custom_property"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
index: bpy.props.IntProperty()
|
index: bpy.props.IntProperty()
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
self.file = IfcStore.get_file()
|
self.file = IfcStore.get_file()
|
||||||
props = context.scene.AddEditProperties
|
props = context.scene.AddEditProperties
|
||||||
@@ -399,16 +393,13 @@ class BIM_OT_add_edit_custom_property(bpy.types.Operator):
|
|||||||
return prop_enum_value
|
return prop_enum_value
|
||||||
|
|
||||||
|
|
||||||
class BIM_OT_bulk_remove_psets(bpy.types.Operator):
|
class BIM_OT_bulk_remove_psets(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_label = "Bulk Remove Psets from Selected Objects"
|
bl_label = "Bulk Remove Psets from Selected Objects"
|
||||||
bl_idname = "bim.bulk_remove_psets"
|
bl_idname = "bim.bulk_remove_psets"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
bl_description = "Bulk remove psets from selected objects"
|
bl_description = "Bulk remove psets from selected objects"
|
||||||
index: bpy.props.IntProperty()
|
index: bpy.props.IntProperty()
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
self.file = IfcStore.get_file()
|
self.file = IfcStore.get_file()
|
||||||
props = context.scene.DeletePsets
|
props = context.scene.DeletePsets
|
||||||
|
|||||||
@@ -74,16 +74,13 @@ class DisableReassignClass(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class ReassignClass(bpy.types.Operator):
|
class ReassignClass(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.reassign_class"
|
bl_idname = "bim.reassign_class"
|
||||||
bl_label = "Reassign IFC Class"
|
bl_label = "Reassign IFC Class"
|
||||||
bl_description = "Reassign IFC class for selected objects"
|
bl_description = "Reassign IFC class for selected objects"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
obj: bpy.props.StringProperty()
|
obj: bpy.props.StringProperty()
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
if self.obj:
|
if self.obj:
|
||||||
objects = [bpy.data.objects.get(self.obj)]
|
objects = [bpy.data.objects.get(self.obj)]
|
||||||
@@ -211,7 +208,7 @@ class AssignClass(bpy.types.Operator, tool.Ifc.Operator):
|
|||||||
context.view_layer.objects.active = active_object
|
context.view_layer.objects.active = active_object
|
||||||
|
|
||||||
|
|
||||||
class UnlinkObject(bpy.types.Operator):
|
class UnlinkObject(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.unlink_object"
|
bl_idname = "bim.unlink_object"
|
||||||
bl_label = "Unlink Object"
|
bl_label = "Unlink Object"
|
||||||
bl_description = (
|
bl_description = (
|
||||||
@@ -225,9 +222,6 @@ class UnlinkObject(bpy.types.Operator):
|
|||||||
should_delete: bpy.props.BoolProperty(name="Delete IFC Element", default=True)
|
should_delete: bpy.props.BoolProperty(name="Delete IFC Element", default=True)
|
||||||
skip_invoke: bpy.props.BoolProperty(default=False, options={"SKIP_SAVE"})
|
skip_invoke: bpy.props.BoolProperty(default=False, options={"SKIP_SAVE"})
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
if self.obj:
|
if self.obj:
|
||||||
objects = [bpy.data.objects.get(self.obj)]
|
objects = [bpy.data.objects.get(self.obj)]
|
||||||
|
|||||||
@@ -523,7 +523,7 @@ class AssignProcess(bpy.types.Operator, tool.Ifc.Operator):
|
|||||||
pass # TODO
|
pass # TODO
|
||||||
|
|
||||||
|
|
||||||
class UnassignProcess(bpy.types.Operator):
|
class UnassignProcess(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.unassign_process"
|
bl_idname = "bim.unassign_process"
|
||||||
bl_label = "Unassign Process"
|
bl_label = "Unassign Process"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
@@ -532,9 +532,6 @@ class UnassignProcess(bpy.types.Operator):
|
|||||||
related_object: bpy.props.IntProperty()
|
related_object: bpy.props.IntProperty()
|
||||||
resource: bpy.props.IntProperty()
|
resource: bpy.props.IntProperty()
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
if self.related_object_type == "RESOURCE":
|
if self.related_object_type == "RESOURCE":
|
||||||
core.unassign_resource(
|
core.unassign_resource(
|
||||||
@@ -877,16 +874,13 @@ class RemoveWorkTime(bpy.types.Operator, tool.Ifc.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class AssignRecurrencePattern(bpy.types.Operator):
|
class AssignRecurrencePattern(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.assign_recurrence_pattern"
|
bl_idname = "bim.assign_recurrence_pattern"
|
||||||
bl_label = "Assign Recurrence Pattern"
|
bl_label = "Assign Recurrence Pattern"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
work_time: bpy.props.IntProperty()
|
work_time: bpy.props.IntProperty()
|
||||||
recurrence_type: bpy.props.StringProperty()
|
recurrence_type: bpy.props.StringProperty()
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
core.assign_recurrence_pattern(
|
core.assign_recurrence_pattern(
|
||||||
tool.Ifc, work_time=tool.Ifc.get().by_id(self.work_time), recurrence_type=self.recurrence_type
|
tool.Ifc, work_time=tool.Ifc.get().by_id(self.work_time), recurrence_type=self.recurrence_type
|
||||||
@@ -894,15 +888,12 @@ class AssignRecurrencePattern(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class UnassignRecurrencePattern(bpy.types.Operator):
|
class UnassignRecurrencePattern(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.unassign_recurrence_pattern"
|
bl_idname = "bim.unassign_recurrence_pattern"
|
||||||
bl_label = "Unassign Recurrence Pattern"
|
bl_label = "Unassign Recurrence Pattern"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
recurrence_pattern: bpy.props.IntProperty()
|
recurrence_pattern: bpy.props.IntProperty()
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
core.unassign_recurrence_pattern(tool.Ifc, recurrence_pattern=tool.Ifc.get().by_id(self.recurrence_pattern))
|
core.unassign_recurrence_pattern(tool.Ifc, recurrence_pattern=tool.Ifc.get().by_id(self.recurrence_pattern))
|
||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|||||||
@@ -53,15 +53,12 @@ class AssignType(bpy.types.Operator, tool.Ifc.Operator):
|
|||||||
obj.name = tool.Model.generate_occurrence_name(type, element.is_a())
|
obj.name = tool.Model.generate_occurrence_name(type, element.is_a())
|
||||||
|
|
||||||
|
|
||||||
class UnassignType(bpy.types.Operator):
|
class UnassignType(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.unassign_type"
|
bl_idname = "bim.unassign_type"
|
||||||
bl_label = "Unassign Type"
|
bl_label = "Unassign Type"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
related_object: bpy.props.StringProperty()
|
related_object: bpy.props.StringProperty()
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
def exclude_callback(attribute):
|
def exclude_callback(attribute):
|
||||||
return attribute.is_a("IfcProfileDef") and attribute.ProfileName
|
return attribute.is_a("IfcProfileDef") and attribute.ProfileName
|
||||||
|
|||||||
@@ -175,16 +175,13 @@ class RemoveOpening(bpy.types.Operator, tool.Ifc.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
class AddFilling(bpy.types.Operator):
|
class AddFilling(bpy.types.Operator, tool.Ifc.Operator):
|
||||||
bl_idname = "bim.add_filling"
|
bl_idname = "bim.add_filling"
|
||||||
bl_label = "Add Filling"
|
bl_label = "Add Filling"
|
||||||
bl_options = {"REGISTER", "UNDO"}
|
bl_options = {"REGISTER", "UNDO"}
|
||||||
opening: bpy.props.StringProperty()
|
opening: bpy.props.StringProperty()
|
||||||
obj: bpy.props.StringProperty()
|
obj: bpy.props.StringProperty()
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return IfcStore.execute_ifc_operator(self, context)
|
|
||||||
|
|
||||||
def _execute(self, context):
|
def _execute(self, context):
|
||||||
obj = context.scene.objects.get(self.obj, context.active_object)
|
obj = context.scene.objects.get(self.obj, context.active_object)
|
||||||
opening = context.scene.objects.get(self.opening, context.scene.VoidProperties.desired_opening)
|
opening = context.scene.objects.get(self.opening, context.scene.VoidProperties.desired_opening)
|
||||||
|
|||||||
Reference in New Issue
Block a user