From a6c11b7e23f9372d5d82e013cc62a8eed28bae08 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 15 Aug 2021 18:32:42 +1000 Subject: [PATCH] Improved accuracy of boolean modifiers for dynamic voids --- .../bim/module/geometry/operator.py | 2 ++ .../blenderbim/bim/module/void/operator.py | 2 ++ src/blenderbim/demo-library.blend | Bin 865972 -> 868072 bytes 3 files changed, 4 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/operator.py b/src/blenderbim/blenderbim/bim/module/geometry/operator.py index 3d2be2b4d2..485ef7d77b 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/operator.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/operator.py @@ -228,6 +228,8 @@ class SwitchRepresentation(bpy.types.Operator): modifier = self.element_obj.modifiers.new("IfcOpeningElement", "BOOLEAN") modifier.operation = "DIFFERENCE" modifier.object = opening + modifier.solver = "EXACT" + modifier.use_self = True else: for modifier in self.element_obj.modifiers: if modifier.type == "BOOLEAN" and "IfcOpeningElement" in modifier.name: diff --git a/src/blenderbim/blenderbim/bim/module/void/operator.py b/src/blenderbim/blenderbim/bim/module/void/operator.py index d859a87601..0a2d8ee319 100644 --- a/src/blenderbim/blenderbim/bim/module/void/operator.py +++ b/src/blenderbim/blenderbim/bim/module/void/operator.py @@ -55,6 +55,8 @@ class AddOpening(bpy.types.Operator): modifier = obj.modifiers.new("IfcOpeningElement", "BOOLEAN") modifier.operation = "DIFFERENCE" modifier.object = opening + modifier.solver = "EXACT" + modifier.use_self = True return {"FINISHED"} diff --git a/src/blenderbim/demo-library.blend b/src/blenderbim/demo-library.blend index 3660fbfc0fa46fb1e9f7149c9fb9dc9839c9638c..06132f34b144548d17ea379b55bcb712336bb542 100644 GIT binary patch delta 38048 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