From 5dd3d3d8b1056909fdeb29ce034b591a54d73590 Mon Sep 17 00:00:00 2001 From: tarman3 Date: Sun, 16 Nov 2025 21:15:45 +0200 Subject: [PATCH] CAM: Engrave - Fix #22380 - duplicates --- src/Mod/CAM/Path/Op/Engrave.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/Mod/CAM/Path/Op/Engrave.py b/src/Mod/CAM/Path/Op/Engrave.py index 296132fd0b..672600fb8c 100644 --- a/src/Mod/CAM/Path/Op/Engrave.py +++ b/src/Mod/CAM/Path/Op/Engrave.py @@ -99,30 +99,31 @@ class ObjectEngrave(PathEngraveBase.ObjectOp): jobshapes = [] - if len(obj.Base) >= 1: # user has selected specific subelements + if obj.Base: + # user has selected specific subelements Path.Log.track(len(obj.Base)) - wires = [] for base, subs in obj.Base: edges = [] - basewires = [] + wires = [] for feature in subs: sub = base.Shape.getElement(feature) - if type(sub) == Part.Edge: + if isinstance(sub, Part.Edge): edges.append(sub) elif sub.Wires: - basewires.extend(sub.Wires) + wires.extend(sub.Wires) else: - basewires.append(Part.Wire(sub.Edges)) + wires.append(Part.Wire(sub.Edges)) - for edgelist in Part.sortEdges(edges): - basewires.append(Part.Wire(edgelist)) + for sortedEdges in Part.sortEdges(edges): + wires.append(Part.Wire(sortedEdges)) - wires.extend(basewires) jobshapes.append(Part.makeCompound(wires)) - elif len(obj.BaseShapes) > 0: # user added specific shapes + elif obj.BaseShapes: + # user added specific shapes jobshapes.extend([base.Shape for base in obj.BaseShapes]) else: + # process all objects in Job.Model.Group Path.Log.track(self.model) for base in self.model: Path.Log.track(base.Label)