diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index 851a87f8d4..2c6f2aec23 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -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 diff --git a/src/blenderbim/blenderbim/bim/module/model/profile.py b/src/blenderbim/blenderbim/bim/module/model/profile.py index 3348319347..0944ba858c 100644 --- a/src/blenderbim/blenderbim/bim/module/model/profile.py +++ b/src/blenderbim/blenderbim/bim/module/model/profile.py @@ -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"} diff --git a/src/blenderbim/blenderbim/bim/module/model/wall.py b/src/blenderbim/blenderbim/bim/module/model/wall.py index a6f7cdc8a5..e2f500f114 100644 --- a/src/blenderbim/blenderbim/bim/module/model/wall.py +++ b/src/blenderbim/blenderbim/bim/module/model/wall.py @@ -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"}