mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 17:31:45 +00:00
Resolve #1836. Scaling in Blender is now auto resolved when representations are updated.
This commit is contained in:
@@ -66,6 +66,15 @@ class Usecase:
|
||||
return any([abs((tM @ v.co).z) > threshold for v in face.verts])
|
||||
|
||||
def evaluate_geometry(self):
|
||||
if self.settings["blender_object"].scale != Vector((1., 1., 1.)):
|
||||
if self.settings["blender_object"].data.users == 1:
|
||||
context_override = {}
|
||||
context_override["object"] = context_override["active_object"] = self.settings["blender_object"]
|
||||
context_override["selected_objects"] = context_override["selected_editable_objects"] = [self.settings["blender_object"]]
|
||||
bpy.ops.object.transform_apply(context_override, location=False, rotation=False, scale=True)
|
||||
else:
|
||||
self.settings["blender_object"].scale = Vector((1., 1., 1.))
|
||||
|
||||
for modifier in self.settings["blender_object"].modifiers:
|
||||
if modifier.type == "BOOLEAN":
|
||||
modifier.show_viewport = False
|
||||
|
||||
@@ -34,9 +34,8 @@ class Usecase:
|
||||
self.settings["product"].RepresentationMaps = self.settings["product"].RepresentationMaps or None
|
||||
|
||||
def remove_representation_map_only(self, representation_map):
|
||||
dummy_representation = self.file.createIfcShapeRepresentation()
|
||||
representation_map.MappedRepresentation = dummy_representation
|
||||
ifcopenshell.util.element.remove_deep(self.file, representation_map)
|
||||
representation_map.MappedRepresentation = self.file.createIfcShapeRepresentation()
|
||||
ifcopenshell.util.element.remove_deep2(self.file, representation_map)
|
||||
self.file.remove(representation_map)
|
||||
|
||||
def unassign_products_using_mapped_representation(self, representation_map):
|
||||
|
||||
Reference in New Issue
Block a user