[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
This commit is contained in:
@@ -198,7 +198,6 @@ class TestPathVcarve(PathTestWithAssets):
|
||||
newPosition = FreeCAD.Base.Vector(0, 1.7, 3)
|
||||
assert not PathVcarve.canSkipRepositioning(positionHistory, newPosition, 0.01)
|
||||
|
||||
|
||||
def test18(self):
|
||||
"""Verify if canSkipRepositioning allows to skip if new edge ends in current position"""
|
||||
|
||||
@@ -214,7 +213,6 @@ class TestPathVcarve(PathTestWithAssets):
|
||||
newPosition = FreeCAD.Base.Vector(0, 0, 0)
|
||||
assert PathVcarve.canSkipRepositioning(positionHistory, newPosition, defaultTolerance)
|
||||
|
||||
|
||||
# same but should fail because we are out of tolerance
|
||||
newPosition = FreeCAD.Base.Vector(0, 0.1, 0)
|
||||
assert not PathVcarve.canSkipRepositioning(positionHistory, newPosition, defaultTolerance)
|
||||
@@ -224,8 +222,7 @@ class TestPathVcarve(PathTestWithAssets):
|
||||
assert PathVcarve.canSkipRepositioning(positionHistory, newPosition, 0.1)
|
||||
|
||||
def test19(self):
|
||||
"""Verify virtualBackTrackEdges() various scenarios
|
||||
"""
|
||||
"""Verify virtualBackTrackEdges() various scenarios"""
|
||||
|
||||
defaultTolerance = Path.Preferences.defaultGeometryTolerance()
|
||||
|
||||
@@ -237,17 +234,24 @@ class TestPathVcarve(PathTestWithAssets):
|
||||
]
|
||||
|
||||
# new edge ends at current position
|
||||
newEdge = Part.Edge(Part.LineSegment(FreeCAD.Base.Vector(1,2,3), FreeCAD.Base.Vector(0,1,5)))
|
||||
newEdge = Part.Edge(
|
||||
Part.LineSegment(FreeCAD.Base.Vector(1, 2, 3), FreeCAD.Base.Vector(0, 1, 5))
|
||||
)
|
||||
|
||||
virtualEdges = PathVcarve.generateVirtualBackTrackEdges(positionHistory, newEdge, defaultTolerance)
|
||||
virtualEdges = PathVcarve.generateVirtualBackTrackEdges(
|
||||
positionHistory, newEdge, defaultTolerance
|
||||
)
|
||||
|
||||
assert len(virtualEdges) == 1
|
||||
|
||||
|
||||
virtualEdge = virtualEdges[0]
|
||||
# virtualEdge is essentially a reversed newEdge
|
||||
assert virtualEdge.valueAt(virtualEdge.FirstParameter) == newEdge.valueAt(newEdge.LastParameter)
|
||||
assert virtualEdge.valueAt(virtualEdge.LastParameter) == newEdge.valueAt(newEdge.FirstParameter)
|
||||
|
||||
assert virtualEdge.valueAt(virtualEdge.FirstParameter) == newEdge.valueAt(
|
||||
newEdge.LastParameter
|
||||
)
|
||||
assert virtualEdge.valueAt(virtualEdge.LastParameter) == newEdge.valueAt(
|
||||
newEdge.FirstParameter
|
||||
)
|
||||
|
||||
# test scenario 2 - refer to function comments for explanation
|
||||
|
||||
@@ -257,12 +261,16 @@ class TestPathVcarve(PathTestWithAssets):
|
||||
]
|
||||
|
||||
# new edge ends at previous position
|
||||
newEdge = Part.Edge(Part.LineSegment(FreeCAD.Base.Vector(1,2,3), FreeCAD.Base.Vector(0,0,0)))
|
||||
newEdge = Part.Edge(
|
||||
Part.LineSegment(FreeCAD.Base.Vector(1, 2, 3), FreeCAD.Base.Vector(0, 0, 0))
|
||||
)
|
||||
|
||||
virtualEdges = PathVcarve.generateVirtualBackTrackEdges(positionHistory, newEdge, defaultTolerance)
|
||||
virtualEdges = PathVcarve.generateVirtualBackTrackEdges(
|
||||
positionHistory, newEdge, defaultTolerance
|
||||
)
|
||||
|
||||
assert len(virtualEdges) == 2
|
||||
|
||||
|
||||
virtualEdge1 = virtualEdges[0]
|
||||
virtualEdge2 = virtualEdges[1]
|
||||
|
||||
@@ -271,8 +279,7 @@ class TestPathVcarve(PathTestWithAssets):
|
||||
assert virtualEdge1.valueAt(virtualEdge1.FirstParameter) == positionHistory[-1]
|
||||
assert virtualEdge1.valueAt(virtualEdge1.LastParameter) == positionHistory[-2]
|
||||
|
||||
|
||||
assert virtualEdge2.valueAt(virtualEdge2.FirstParameter) == positionHistory[-2]
|
||||
assert virtualEdge2.valueAt(virtualEdge2.LastParameter) == newEdge.valueAt(newEdge.FirstParameter)
|
||||
|
||||
|
||||
assert virtualEdge2.valueAt(virtualEdge2.LastParameter) == newEdge.valueAt(
|
||||
newEdge.FirstParameter
|
||||
)
|
||||
|
||||
@@ -145,6 +145,7 @@ def _sortVoronoiWires(wires, start=FreeCAD.Vector(0, 0, 0)):
|
||||
|
||||
return result
|
||||
|
||||
|
||||
def getReversedEdge(edge):
|
||||
# returns a reversed edge (copy of original edge)
|
||||
curve = edge.Curve
|
||||
@@ -152,9 +153,7 @@ def getReversedEdge(edge):
|
||||
last = edge.LastParameter
|
||||
curve_c = curve.copy()
|
||||
curve_c.reverse()
|
||||
return Part.Edge(
|
||||
curve_c, curve_c.reversedParameter(last), curve_c.reversedParameter(first)
|
||||
)
|
||||
return Part.Edge(curve_c, curve_c.reversedParameter(last), curve_c.reversedParameter(first))
|
||||
|
||||
|
||||
def generateVirtualBackTrackEdges(positionHistory, nextEdge, tolerance) -> list:
|
||||
@@ -167,7 +166,7 @@ def generateVirtualBackTrackEdges(positionHistory, nextEdge, tolerance) -> list:
|
||||
|
||||
if not positionHistory:
|
||||
return []
|
||||
|
||||
|
||||
backTrackEdges = []
|
||||
|
||||
currentPosition = positionHistory[-1]
|
||||
@@ -177,7 +176,7 @@ def generateVirtualBackTrackEdges(positionHistory, nextEdge, tolerance) -> list:
|
||||
nextEdgeEnd = nextEdge.valueAt(nextEdge.LastParameter)
|
||||
|
||||
# Scenario 1
|
||||
#
|
||||
#
|
||||
# in some cases travelling between wires looks like that:
|
||||
# A ========= B ------- D
|
||||
# |
|
||||
@@ -212,11 +211,9 @@ def generateVirtualBackTrackEdges(positionHistory, nextEdge, tolerance) -> list:
|
||||
# instead of G0 - just carve the edge in reverse direction
|
||||
backTrackEdges.append(getReversedEdge(nextEdge))
|
||||
|
||||
|
||||
return backTrackEdges
|
||||
|
||||
|
||||
|
||||
def canSkipRepositioning(positionHistory, newPosition, tolerance):
|
||||
"""
|
||||
Calculate if it makes sense to raise head to safe height and reposition before
|
||||
@@ -592,8 +589,6 @@ class ObjectVcarve(PathEngraveBase.ObjectOp):
|
||||
# but using some routing logic we may avoid raising CNC toolbit and using G0
|
||||
# and instead traverse back already carved edges at full speed
|
||||
|
||||
|
||||
|
||||
edge_list = backtrack_edges + wire
|
||||
|
||||
e = edge_list[0]
|
||||
|
||||
Reference in New Issue
Block a user