Some refactoring

This commit is contained in:
Markus Lampert
2017-07-25 13:57:41 -07:00
committed by wmayer
parent c200fb1bc6
commit 0fe6036d29
2 changed files with 50 additions and 10 deletions

View File

@@ -162,7 +162,7 @@ class ObjectDressup(QtCore.QObject):
self.obj = obj;
minZ = sys.maxint
minZ = +sys.maxint
minX = minZ
minY = minZ
@@ -191,10 +191,28 @@ class ObjectDressup(QtCore.QObject):
self.ptMax = FreeCAD.Vector(maxX, maxY, maxZ)
self.masterSolid = TagSolid(self, minZ, self.toolRadius())
self.solids = [self.masterSolid.cloneAt(pos) for pos in self.obj.Positions]
self.tagSolid = Part.Compound(self.solids)
self.wire, rapid = PathGeom.wireForPath(obj.Base.Path)
self.edges = self.wire.Edges
maxTagZ = minZ + obj.Height
lastX = 0
lastY = 0
lastZ = 0
commands = []
for cmd in obj.Base.Path.Commands:
if cmd in PathGeom.CmdMove:
if lastZ <= maxTagZ or cmd.Parameters.get('Z', lastZ) <= maxTagZ:
pass
else:
commands.append(cmd)
else:
commands.append(cmd)
obj.Path = obj.Base.Path
self.changed.emit()

View File

@@ -143,17 +143,39 @@ class PathDressupTagTaskPanel:
tags.append((x, y, enabled))
return tags
def getTagParameters(self):
self.obj.Width = FreeCAD.Units.Quantity(self.formTags.ifWidth.text()).Value
self.obj.Height = FreeCAD.Units.Quantity(self.formTags.ifHeight.text()).Value
self.obj.Angle = self.formTags.dsbAngle.value()
self.obj.Radius = FreeCAD.Units.Quantity(self.formTags.ifRadius.text()).Value
def getFields(self):
self.getTagParameters()
width = FreeCAD.Units.Quantity(self.formTags.ifWidth.text()).Value
height = FreeCAD.Units.Quantity(self.formTags.ifHeight.text()).Value
angle = self.formTags.dsbAngle.value()
radius = FreeCAD.Units.Quantity(self.formTags.ifRadius.text()).Value
tags = self.getTags(True)
self.obj.Proxy.setXyEnabled(tags)
self.isDirty = True
positions = []
disabled = []
for i, (x, y, enabled) in enumerate(tags):
positions.append(FreeCAD.Vector(x, y, 0))
if not enabled:
disabled.append(i)
if width != self.obj.Width:
self.obj.Width = width
self.isDirty = True
if height != self.obj.Height:
self.obj.Height = height
self.isDirty = True
if angle != self.obj.Angle:
self.obj.Angle = angle
self.isDirty = True
if radius != self.obj.Radius:
self.obj.Radius = radius
self.isDirty = True
if positions != self.obj.Positions:
self.obj.Positions = positions
self.isDirty = True
if disabled != self.obj.Disabled:
self.obj.Disabled = disabled
self.isDirty = True
def updateTagsView(self):
PathLog.track()