Merge pull request #26658 from Dimitris75/CAM---Experimental-Waterline-Minor-Fixs
CAM - Experimental Waterline Minor Fix
This commit is contained in:
@@ -1897,7 +1897,7 @@ class ObjectWaterline(PathOp.ObjectOp):
|
||||
if cont:
|
||||
# Identify solid areas in the offset data
|
||||
if obj.CutPattern == "Offset" or obj.CutPattern == "None":
|
||||
ofstSolidFacesList = self._getSolidAreasFromPlanarFaces(ofstArea)
|
||||
ofstSolidFacesList = self._getSolidAreasFromPlanarFaces(ofstArea.Faces)
|
||||
if ofstSolidFacesList:
|
||||
clearArea = Part.makeCompound(ofstSolidFacesList)
|
||||
self.showDebugObject(clearArea, "ClearArea_{}".format(caCnt))
|
||||
@@ -2014,6 +2014,12 @@ class ObjectWaterline(PathOp.ObjectOp):
|
||||
startVect = FreeCAD.Vector(V[0].X, V[0].Y, V[0].Z)
|
||||
|
||||
commands.append(Path.Command("N (Wire {}.)".format(w)))
|
||||
|
||||
# This ensures the tool is directly above the entry point before plunging,
|
||||
# preventing diagonal moves through the material.
|
||||
commands.append(
|
||||
Path.Command("G0", {"X": startVect.x, "Y": startVect.y, "F": self.horizRapid})
|
||||
)
|
||||
(cmds, endVect) = self._wireToPath(obj, wire, startVect)
|
||||
commands.extend(cmds)
|
||||
commands.append(Path.Command("G0", {"Z": obj.SafeHeight.Value, "F": self.vertRapid}))
|
||||
@@ -2303,8 +2309,7 @@ class ObjectWaterline(PathOp.ObjectOp):
|
||||
pathParams["feedrate"] = self.horizFeed
|
||||
pathParams["feedrate_v"] = self.vertFeed
|
||||
pathParams["verbose"] = True
|
||||
pathParams["resume_height"] = obj.SafeHeight.Value
|
||||
pathParams["retraction"] = obj.ClearanceHeight.Value
|
||||
pathParams["retraction"] = obj.SafeHeight.Value
|
||||
pathParams["return_end"] = True
|
||||
# Note that emitting preambles between moves breaks some dressups and prevents path optimization on some controllers
|
||||
pathParams["preamble"] = False
|
||||
|
||||
Reference in New Issue
Block a user