Fix #1496. Mirrored elements have their placements correctly synced.

This commit is contained in:
Dion Moult
2023-02-03 15:53:21 +11:00
parent 158a4c5e75
commit 1ed7b21ab0
3 changed files with 8 additions and 3 deletions
@@ -198,12 +198,13 @@ class UpdateRepresentation(bpy.types.Operator):
settings = tool.Boundary.get_assign_connection_geometry_settings(obj)
ifcopenshell.api.run("boundary.assign_connection_geometry", tool.Ifc.get(), **settings)
return
elif material and material.is_a() in ["IfcMaterialProfileSet", "IfcMaterialLayerSet"]:
# These objects are parametrically based on an axis and should not be modified as a mesh
return
core.edit_object_placement(tool.Ifc, tool.Geometry, tool.Surveyor, obj=obj)
if material and material.is_a() in ["IfcMaterialProfileSet", "IfcMaterialLayerSet"]:
# These objects are parametrically based on an axis and should not be modified as a mesh
return
old_representation = self.file.by_id(obj.data.BIMMeshProperties.ifc_definition_id)
context_of_items = old_representation.ContextOfItems
@@ -263,6 +263,8 @@ class ExtendProfile(bpy.types.Operator, tool.Ifc.Operator):
return {"FINISHED"}
if not context.active_object:
return {"FINISHED"}
for obj in selected_objs:
tool.Geometry.clear_scale(obj)
if len(selected_objs) == 1:
joiner.join_E(context.active_object, context.scene.cursor.location)
return {"FINISHED"}
@@ -94,6 +94,8 @@ class JoinWall(bpy.types.Operator, tool.Ifc.Operator):
return {"FINISHED"}
if not context.active_object:
return {"FINISHED"}
for obj in selected_objs:
tool.Geometry.clear_scale(obj)
if len(selected_objs) == 1:
joiner.join_E(context.active_object, context.scene.cursor.location)
return {"FINISHED"}