Path: Fix InverseAngle feature
The `ReverseDirection` property is now hidden by default. It should not be necessary due to recent implementation of `isFaceUp()` method.
This commit is contained in:
@@ -909,10 +909,11 @@ class ObjectOp(PathOp.ObjectOp):
|
||||
elif axis == 'Y':
|
||||
vect = FreeCAD.Vector(0, 1, 0)
|
||||
|
||||
if obj.InverseAngle is True:
|
||||
angle = -1 * angle
|
||||
if math.fabs(angle) == 0.0:
|
||||
angle = 0.0
|
||||
# Commented out to fix PocketShape InverseAngle rotation problem
|
||||
# if obj.InverseAngle is True:
|
||||
# angle = -1 * angle
|
||||
# if math.fabs(angle) == 0.0:
|
||||
# angle = 0.0
|
||||
|
||||
# Create a temporary clone of model for rotational use.
|
||||
(clnBase, clnStock, tag) = self.cloneBaseAndStock(obj, base, angle, axis, subCount)
|
||||
@@ -939,7 +940,7 @@ class ObjectOp(PathOp.ObjectOp):
|
||||
clnStock.purgeTouched()
|
||||
# Update property and angle values
|
||||
obj.InverseAngle = True
|
||||
obj.AttemptInverseAngle = False
|
||||
# obj.AttemptInverseAngle = False
|
||||
angle = -1 * angle
|
||||
|
||||
PathLog.debug(translate("Path", "Rotated to inverse angle."))
|
||||
|
||||
@@ -299,13 +299,13 @@ class ObjectPocket(PathPocketBase.ObjectPocket):
|
||||
self.setEditorProperties(obj)
|
||||
|
||||
def setEditorProperties(self, obj):
|
||||
obj.setEditorMode('ReverseDirection', 2)
|
||||
if obj.EnableRotation == 'Off':
|
||||
obj.setEditorMode('ReverseDirection', 2)
|
||||
obj.setEditorMode('InverseAngle', 2)
|
||||
obj.setEditorMode('AttemptInverseAngle', 2)
|
||||
obj.setEditorMode('LimitDepthToFace', 2)
|
||||
else:
|
||||
obj.setEditorMode('ReverseDirection', 0)
|
||||
# obj.setEditorMode('ReverseDirection', 0)
|
||||
obj.setEditorMode('InverseAngle', 0)
|
||||
obj.setEditorMode('AttemptInverseAngle', 0)
|
||||
obj.setEditorMode('LimitDepthToFace', 0)
|
||||
@@ -446,6 +446,7 @@ class ObjectPocket(PathPocketBase.ObjectPocket):
|
||||
for (base, subList) in obj.Base:
|
||||
baseSubsTuples.append((base, subList, 0.0, 'X', stock))
|
||||
else:
|
||||
PathLog.debug('Rotation is active...')
|
||||
for p in range(0, len(obj.Base)):
|
||||
(base, subsList) = obj.Base[p]
|
||||
isLoop = False
|
||||
@@ -478,8 +479,10 @@ class ObjectPocket(PathPocketBase.ObjectPocket):
|
||||
break
|
||||
|
||||
if rtn is False:
|
||||
PathLog.debug(translate("Path", "Face appears misaligned after initial rotation."))
|
||||
if obj.InverseAngle is False:
|
||||
PathLog.debug(translate("Path", "Face appears misaligned after initial rotation.") + ' 1')
|
||||
if obj.InverseAngle:
|
||||
(clnBase, clnStock, angle) = self.applyInverseAngle(obj, clnBase, clnStock, axis, angle)
|
||||
else:
|
||||
if obj.AttemptInverseAngle is True:
|
||||
(clnBase, clnStock, angle) = self.applyInverseAngle(obj, clnBase, clnStock, axis, angle)
|
||||
else:
|
||||
@@ -543,8 +546,13 @@ class ObjectPocket(PathPocketBase.ObjectPocket):
|
||||
angle -= 180.0
|
||||
|
||||
if rtn is True:
|
||||
PathLog.debug(translate("Path", "Face appears misaligned after initial rotation."))
|
||||
if obj.InverseAngle is False:
|
||||
PathLog.debug(translate("Path", "Face appears misaligned after initial rotation.") + ' 2')
|
||||
if obj.InverseAngle:
|
||||
(clnBase, clnStock, angle) = self.applyInverseAngle(obj, clnBase, clnStock, axis, angle)
|
||||
if self.isFaceUp(clnBase, faceIA) is False:
|
||||
PathLog.debug('isFaceUp is False')
|
||||
angle += 180.0
|
||||
else:
|
||||
if obj.AttemptInverseAngle is True:
|
||||
(clnBase, clnStock, angle) = self.applyInverseAngle(obj, clnBase, clnStock, axis, angle)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user