CAM: Engrave - Fix #22380 - duplicates
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user