Added multi base model support to CircularHoleBase op

This commit is contained in:
Markus Lampert
2018-08-31 19:48:18 -07:00
committed by wmayer
parent 73ce00d39b
commit 37620c5461

View File

@@ -187,19 +187,21 @@ class ObjectOp(PathOp.ObjectOp):
if not self.getJob(obj):
return
features = []
if self.baseIsArchPanel(obj, self.baseobject):
holeshapes = self.baseobject.Proxy.getHoles(self.baseobject, transform=True)
if 1 == len(self.model) and self.baseIsArchPanel(obj, self.model[0]):
panel = self.model[0]
holeshapes = panel.Proxy.getHoles(panel, transform=True)
tooldiameter = obj.ToolController.Proxy.getTool(obj.ToolController).Diameter
for holeNr, hole in enumerate(holeshapes):
PathLog.debug('Entering new HoleShape')
for wireNr, wire in enumerate(hole.Wires):
PathLog.debug('Entering new Wire')
for edgeNr, edge in enumerate(wire.Edges):
if PathUtils.isDrillable(self.baseobject, edge, tooldiameter):
if PathUtils.isDrillable(panel, edge, tooldiameter):
PathLog.debug('Found drillable hole edges: {}'.format(edge))
features.append((self.baseobject, "%d.%d.%d" % (holeNr, wireNr, edgeNr)))
features.append((panel, "%d.%d.%d" % (holeNr, wireNr, edgeNr)))
else:
features = self.findHoles(obj, self.baseobject)
for base in self.model:
features.extend(self.findHoles(obj, base))
obj.Base = features
obj.Disabled = []