From b31ada686f5030199873609e7f0a45527f334982 Mon Sep 17 00:00:00 2001 From: Roy-043 Date: Thu, 16 Jan 2025 13:39:11 +0100 Subject: [PATCH] Draft: Clone: avoid B-spline faces in more cases B-spline faces can be avoided if the absolute values of the scaling factors are the same. The `transformShape` method can handle this if two additional arguments are provided. --- src/Mod/Draft/draftobjects/clone.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/Mod/Draft/draftobjects/clone.py b/src/Mod/Draft/draftobjects/clone.py index f9cdbf5c6eae..932ff0309c6e 100644 --- a/src/Mod/Draft/draftobjects/clone.py +++ b/src/Mod/Draft/draftobjects/clone.py @@ -116,15 +116,11 @@ def execute(self,obj): sh = self.join(obj, shapes) m = App.Matrix() if hasattr(obj,"Scale") and not sh.isNull(): - sx,sy,sz = obj.Scale - if not DraftVecUtils.equals(obj.Scale,App.Vector(1, 1, 1)): + if not DraftVecUtils.equals(obj.Scale, App.Vector(1, 1, 1)): op = sh.Placement sh.Placement = App.Placement() m.scale(obj.Scale) - if sx == sy == sz: - sh.transformShape(m) - else: - sh = sh.transformGeometry(m) + sh.transformShape(m, False, True) sh.Placement = op obj.Shape = sh