Merge pull request #20928 from LarryWoestman/refactor
CAM: Fix tool changes not correctly output in gcode in the refactored code base
This commit is contained in:
@@ -143,7 +143,6 @@ M2
|
||||
expected = """G17 G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
M5
|
||||
G17 G90
|
||||
M2
|
||||
|
||||
@@ -103,8 +103,8 @@ class TestRefactoredTestPost(PathTestUtils.PathTestBase):
|
||||
gcode = self.post.export()[0][1]
|
||||
if debug:
|
||||
print(f"--------{nl}{gcode}--------{nl}")
|
||||
# there are 4 lines of "other stuff" before the line we are interested in
|
||||
self.assertEqual(gcode.splitlines()[4], expected)
|
||||
# there are 3 lines of "other stuff" before the line we are interested in
|
||||
self.assertEqual(gcode.splitlines()[3], expected)
|
||||
|
||||
def multi_compare(self, path, expected, args, debug=False):
|
||||
"""Perform a test with multiple lines of gcode comparison."""
|
||||
@@ -144,12 +144,12 @@ class TestRefactoredTestPost(PathTestUtils.PathTestBase):
|
||||
self.job.PostProcessorArgs = "--axis-modal"
|
||||
gcode = self.post.export()[0][1]
|
||||
# print(f"--------{nl}{gcode}--------{nl}")
|
||||
self.assertEqual(gcode.splitlines()[5], "G0 Y30.000")
|
||||
self.assertEqual(gcode.splitlines()[4], "G0 Y30.000")
|
||||
|
||||
self.job.PostProcessorArgs = "--no-axis-modal"
|
||||
gcode = self.post.export()[0][1]
|
||||
# print(f"--------{nl}{gcode}--------{nl}")
|
||||
self.assertEqual(gcode.splitlines()[5], "G0 X10.000 Y30.000 Z30.000")
|
||||
self.assertEqual(gcode.splitlines()[4], "G0 X10.000 Y30.000 Z30.000")
|
||||
|
||||
#############################################################################
|
||||
|
||||
@@ -172,7 +172,6 @@ G54
|
||||
(Block-name: TC: Default Tool)
|
||||
(Block-expand: 0)
|
||||
(Block-enable: 1)
|
||||
M6 T1
|
||||
(Block-name: Profile)
|
||||
(Block-expand: 0)
|
||||
(Block-enable: 1)
|
||||
@@ -187,7 +186,6 @@ M6 T1
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
""",
|
||||
"--no-bcnc",
|
||||
)
|
||||
@@ -211,7 +209,6 @@ M6 T1
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G0 X1.000 Y2.000
|
||||
G0 Z8.000
|
||||
G90
|
||||
@@ -238,7 +235,6 @@ G90
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G0 X1.000 Y2.000
|
||||
G0 Z8.000
|
||||
G90
|
||||
@@ -274,7 +270,6 @@ G90
|
||||
"""G90
|
||||
G20
|
||||
G54
|
||||
M6 T1
|
||||
G0 X1.0000 Y2.0000
|
||||
G0 Z8.0000
|
||||
G90
|
||||
@@ -439,14 +434,14 @@ G54
|
||||
# print(f"--------{nl}{gcode}--------{nl}")
|
||||
# Note: The "internal" F speed is in mm/s,
|
||||
# while the output F speed is in mm/min.
|
||||
self.assertEqual(gcode.splitlines()[4], "G1 X10.000 Y20.000 Z30.000 F7387.407")
|
||||
self.assertEqual(gcode.splitlines()[3], "G1 X10.000 Y20.000 Z30.000 F7387.407")
|
||||
|
||||
self.job.PostProcessorArgs = "--feed-precision=2"
|
||||
gcode = self.post.export()[0][1]
|
||||
# print(f"--------{nl}{gcode}--------{nl}")
|
||||
# Note: The "internal" F speed is in mm/s,
|
||||
# while the output F speed is in mm/min.
|
||||
self.assertEqual(gcode.splitlines()[4], "G1 X10.000 Y20.000 Z30.000 F7387.41")
|
||||
self.assertEqual(gcode.splitlines()[3], "G1 X10.000 Y20.000 Z30.000 F7387.41")
|
||||
|
||||
#############################################################################
|
||||
|
||||
@@ -522,13 +517,11 @@ G54
|
||||
self.assertEqual(split_gcode[4], "G90")
|
||||
self.assertEqual(split_gcode[5], "G21")
|
||||
self.assertEqual(split_gcode[6], "G54")
|
||||
self.assertEqual(split_gcode[7], "M6 T1")
|
||||
|
||||
# Test without comments or header.
|
||||
expected = """G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
"""
|
||||
self.job.PostProcessorArgs = "--no-comments --no-header"
|
||||
gcode = self.post.export()[0][1]
|
||||
@@ -539,7 +532,7 @@ M6 T1
|
||||
|
||||
def test00160(self):
|
||||
"""Test Line Numbers."""
|
||||
self.single_compare("G0 X10 Y20 Z30", "N140 G0 X10.000 Y20.000 Z30.000", "--line-numbers")
|
||||
self.single_compare("G0 X10 Y20 Z30", "N130 G0 X10.000 Y20.000 Z30.000", "--line-numbers")
|
||||
|
||||
#############################################################################
|
||||
|
||||
@@ -555,7 +548,7 @@ M6 T1
|
||||
# print(f"--------{nl}{gcode}--------{nl}")
|
||||
self.assertEqual(gcode.splitlines()[1], "G20")
|
||||
self.assertEqual(
|
||||
gcode.splitlines()[4],
|
||||
gcode.splitlines()[3],
|
||||
"G0 X0.3937 Y0.7874 Z1.1811 A10.0000 B20.0000 C30.0000 U0.3937 V0.7874 W1.1811",
|
||||
)
|
||||
|
||||
@@ -575,11 +568,11 @@ M6 T1
|
||||
self.job.PostProcessorArgs = "--modal"
|
||||
gcode = self.post.export()[0][1]
|
||||
# print(f"--------{nl}{gcode}--------{nl}")
|
||||
self.assertEqual(gcode.splitlines()[5], "X10.000 Y30.000 Z30.000")
|
||||
self.assertEqual(gcode.splitlines()[4], "X10.000 Y30.000 Z30.000")
|
||||
self.job.PostProcessorArgs = "--no-modal"
|
||||
gcode = self.post.export()[0][1]
|
||||
# print(f"--------{nl}{gcode}--------{nl}")
|
||||
self.assertEqual(gcode.splitlines()[5], "G0 X10.000 Y30.000 Z30.000")
|
||||
self.assertEqual(gcode.splitlines()[4], "G0 X10.000 Y30.000 Z30.000")
|
||||
|
||||
#############################################################################
|
||||
|
||||
@@ -743,7 +736,7 @@ M6 T1
|
||||
|
||||
self.profile_op.Path = Path.Path([c, c2])
|
||||
|
||||
self.job.PostProcessorArgs = "--tlo"
|
||||
self.job.PostProcessorArgs = "--tlo --tool_change"
|
||||
gcode = self.post.export()[0][1]
|
||||
split_gcode = gcode.splitlines()
|
||||
# print(f"--------{nl}{gcode}--------{nl}")
|
||||
@@ -752,7 +745,7 @@ M6 T1
|
||||
self.assertEqual(split_gcode[7], "M3 S3000")
|
||||
|
||||
# suppress TLO
|
||||
self.job.PostProcessorArgs = "--no-tlo"
|
||||
self.job.PostProcessorArgs = "--no-tlo --tool_change"
|
||||
gcode = self.post.export()[0][1]
|
||||
split_gcode = gcode.splitlines()
|
||||
# print(f"--------{nl}{gcode}--------{nl}")
|
||||
@@ -769,19 +762,30 @@ M6 T1
|
||||
c2 = Path.Command("M3 S3000")
|
||||
self.profile_op.Path = Path.Path([c, c2])
|
||||
|
||||
self.job.PostProcessorArgs = "--tool_change"
|
||||
self.job.PostProcessorArgs = "--no-comments --no-tool_change"
|
||||
gcode = self.post.export()[0][1]
|
||||
split_gcode = gcode.splitlines()
|
||||
# print(f"--------{nl}{gcode}--------{nl}")
|
||||
self.assertEqual(split_gcode[2], "G54")
|
||||
self.assertEqual(split_gcode[3], "M3 S3000")
|
||||
|
||||
self.job.PostProcessorArgs = "--no-comments --tool_change"
|
||||
gcode = self.post.export()[0][1]
|
||||
split_gcode = gcode.splitlines()
|
||||
# print(f"--------{nl}{gcode}--------{nl}")
|
||||
self.assertEqual(split_gcode[4], "M6 T2")
|
||||
self.assertEqual(split_gcode[5], "M3 S3000")
|
||||
|
||||
self.job.PostProcessorArgs = "--comments --no-tool_change"
|
||||
gcode = self.post.export()[0][1]
|
||||
split_gcode = gcode.splitlines()
|
||||
# print(f"--------{nl}{gcode}--------{nl}")
|
||||
self.assertEqual(split_gcode[13], "(M6 T2)")
|
||||
self.assertEqual(split_gcode[14], "M3 S3000")
|
||||
|
||||
self.job.PostProcessorArgs = "--comments --tool_change"
|
||||
gcode = self.post.export()[0][1]
|
||||
split_gcode = gcode.splitlines()
|
||||
# print(f"--------{nl}{gcode}--------{nl}")
|
||||
self.assertEqual(split_gcode[13], "M6 T2")
|
||||
|
||||
#############################################################################
|
||||
|
||||
@@ -795,14 +799,14 @@ M6 T1
|
||||
self.job.PostProcessorArgs = ""
|
||||
gcode = self.post.export()[0][1]
|
||||
# print(f"--------{nl}{gcode}--------{nl}")
|
||||
self.assertEqual(gcode.splitlines()[4], "M3 S3000")
|
||||
self.assertEqual(gcode.splitlines()[3], "M3 S3000")
|
||||
|
||||
self.job.PostProcessorArgs = "--wait-for-spindle=1.23456"
|
||||
gcode = self.post.export()[0][1]
|
||||
split_gcode = gcode.splitlines()
|
||||
# print(f"--------{nl}{gcode}--------{nl}")
|
||||
self.assertEqual(split_gcode[4], "M3 S3000")
|
||||
self.assertEqual(split_gcode[5], "G4 P1.23456")
|
||||
self.assertEqual(split_gcode[3], "M3 S3000")
|
||||
self.assertEqual(split_gcode[4], "G4 P1.23456")
|
||||
|
||||
c = Path.Command("M4 S3000")
|
||||
self.profile_op.Path = Path.Path([c])
|
||||
@@ -812,11 +816,11 @@ M6 T1
|
||||
self.job.PostProcessorArgs = ""
|
||||
gcode = self.post.export()[0][1]
|
||||
# print(f"--------{nl}{gcode}--------{nl}")
|
||||
self.assertEqual(gcode.splitlines()[4], "M4 S3000")
|
||||
self.assertEqual(gcode.splitlines()[3], "M4 S3000")
|
||||
|
||||
self.job.PostProcessorArgs = "--wait-for-spindle=1.23456"
|
||||
gcode = self.post.export()[0][1]
|
||||
split_gcode = gcode.splitlines()
|
||||
# print(f"--------{nl}{gcode}--------{nl}")
|
||||
self.assertEqual(split_gcode[4], "M4 S3000")
|
||||
self.assertEqual(split_gcode[5], "G4 P1.23456")
|
||||
self.assertEqual(split_gcode[3], "M4 S3000")
|
||||
self.assertEqual(split_gcode[4], "G4 P1.23456")
|
||||
|
||||
@@ -103,8 +103,8 @@ class TestRefactoredTestPostGCodes(PathTestUtils.PathTestBase):
|
||||
gcode = self.post.export()[0][1]
|
||||
if debug:
|
||||
print(f"--------{nl}{gcode}--------{nl}")
|
||||
# there are 4 lines of "other stuff" before the line we are interested in
|
||||
self.assertEqual(gcode.splitlines()[4], expected)
|
||||
# there are 3 lines of "other stuff" before the line we are interested in
|
||||
self.assertEqual(gcode.splitlines()[3], expected)
|
||||
|
||||
def multi_compare(self, path, expected, args, debug=False):
|
||||
"""Perform a test with multiple lines of gcode comparison."""
|
||||
@@ -726,7 +726,6 @@ class TestRefactoredTestPostGCodes(PathTestUtils.PathTestBase):
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G0 X1.000 Y2.000
|
||||
G0 Z8.000
|
||||
G90
|
||||
@@ -742,7 +741,6 @@ G90
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G0 X1.000 Y2.000
|
||||
G0 Z8.000
|
||||
G90
|
||||
@@ -823,7 +821,6 @@ G90
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G0 X1.000 Y2.000
|
||||
G0 Z8.000
|
||||
G91
|
||||
@@ -839,7 +836,6 @@ G90
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G0 X1.000 Y2.000
|
||||
G0 Z8.000
|
||||
G91
|
||||
@@ -922,7 +918,6 @@ G90
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G0 X1.000 Y2.000
|
||||
G0 Z8.000
|
||||
G90
|
||||
@@ -938,7 +933,6 @@ G90
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G0 X1.000 Y2.000
|
||||
G0 Z8.000
|
||||
G90
|
||||
@@ -1001,7 +995,6 @@ G90
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G0 X1.000 Y2.000
|
||||
G0 Z8.000
|
||||
G91
|
||||
@@ -1017,7 +1010,6 @@ G90
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G0 X1.000 Y2.000
|
||||
G0 Z8.000
|
||||
G91
|
||||
@@ -1082,7 +1074,6 @@ G90
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G0 X1.000 Y2.000
|
||||
G0 Z8.000
|
||||
G90
|
||||
@@ -1098,7 +1089,6 @@ G90
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G0 X1.000 Y2.000
|
||||
G0 Z8.000
|
||||
G90
|
||||
@@ -1163,7 +1153,6 @@ G90
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G0 X1.000 Y2.000
|
||||
G0 Z8.000
|
||||
G91
|
||||
@@ -1179,7 +1168,6 @@ G90
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G0 X1.000 Y2.000
|
||||
G0 Z8.000
|
||||
G91
|
||||
@@ -1246,7 +1234,6 @@ G90
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G0 X1.000 Y2.000
|
||||
G0 Z8.000
|
||||
G90
|
||||
@@ -1262,7 +1249,6 @@ G90
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G0 X1.000 Y2.000
|
||||
G0 Z8.000
|
||||
G90
|
||||
@@ -1343,7 +1329,6 @@ G90
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G0 X1.000 Y2.000
|
||||
G0 Z8.000
|
||||
G91
|
||||
@@ -1359,7 +1344,6 @@ G90
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G0 X1.000 Y2.000
|
||||
G0 Z8.000
|
||||
G91
|
||||
@@ -1791,7 +1775,6 @@ G90
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G1 X10.000 Y20.000 Z30.000 A40.000 B50.000 C60.000 U70.000 V80.000 W90.000 F74.074
|
||||
G1 X10.000 Y20.000 Z30.000 A40.000 B50.000 C60.000 U70.000 V80.000 W90.000 F74.074
|
||||
G1 X20.000 Y30.000 Z10.000 A70.000 B80.000 C90.000 U40.000 V50.000 W60.000 F74.074
|
||||
@@ -1799,7 +1782,6 @@ G1 X20.000 Y30.000 Z10.000 A70.000 B80.000 C90.000 U40.000 V50.000 W60.000 F74.0
|
||||
"""G90
|
||||
G20
|
||||
G54
|
||||
M6 T1
|
||||
G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F2.9163
|
||||
G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F74.0736
|
||||
G1 X0.7874 Y1.1811 Z0.3937 A70.0000 B80.0000 C90.0000 U1.5748 V1.9685 W2.3622 F2.9163
|
||||
@@ -1814,14 +1796,12 @@ G1 X0.7874 Y1.1811 Z0.3937 A70.0000 B80.0000 C90.0000 U1.5748 V1.9685 W2.3622 F2
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G1 X10.000 Y20.000 Z30.000 A40.000 B50.000 C60.000 U70.000 V80.000 W90.000 F74.074
|
||||
G1 X20.000 Y20.000 Z30.000 A40.000 B50.000 C60.000 U70.000 V80.000 W90.000 F74.074
|
||||
""",
|
||||
"""G90
|
||||
G20
|
||||
G54
|
||||
M6 T1
|
||||
G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F2.9163
|
||||
G1 X0.7874 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F2.9163
|
||||
""",
|
||||
@@ -1835,14 +1815,12 @@ G1 X0.7874 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F2
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G1 X10.000 Y20.000 Z30.000 A40.000 B50.000 C60.000 U70.000 V80.000 W90.000 F74.074
|
||||
G1 X10.000 Y30.000 Z30.000 A40.000 B50.000 C60.000 U70.000 V80.000 W90.000 F74.074
|
||||
""",
|
||||
"""G90
|
||||
G20
|
||||
G54
|
||||
M6 T1
|
||||
G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F2.9163
|
||||
G1 X0.3937 Y1.1811 Z1.1811 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F2.9163
|
||||
""",
|
||||
@@ -1856,14 +1834,12 @@ G1 X0.3937 Y1.1811 Z1.1811 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F2
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G1 X10.000 Y20.000 Z30.000 A40.000 B50.000 C60.000 U70.000 V80.000 W90.000 F74.074
|
||||
G1 X10.000 Y20.000 Z10.000 A40.000 B50.000 C60.000 U70.000 V80.000 W90.000 F74.074
|
||||
""",
|
||||
"""G90
|
||||
G20
|
||||
G54
|
||||
M6 T1
|
||||
G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F2.9163
|
||||
G1 X0.3937 Y0.7874 Z0.3937 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F2.9163
|
||||
""",
|
||||
@@ -1877,14 +1853,12 @@ G1 X0.3937 Y0.7874 Z0.3937 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F2
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G1 X10.000 Y20.000 Z30.000 A40.000 B50.000 C60.000 U70.000 V80.000 W90.000 F74.074
|
||||
G1 X10.000 Y20.000 Z30.000 A70.000 B50.000 C60.000 U70.000 V80.000 W90.000 F74.074
|
||||
""",
|
||||
"""G90
|
||||
G20
|
||||
G54
|
||||
M6 T1
|
||||
G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F2.9163
|
||||
G1 X0.3937 Y0.7874 Z1.1811 A70.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F74.0736
|
||||
""",
|
||||
@@ -1898,14 +1872,12 @@ G1 X0.3937 Y0.7874 Z1.1811 A70.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F7
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G1 X10.000 Y20.000 Z30.000 A40.000 B50.000 C60.000 U70.000 V80.000 W90.000 F74.074
|
||||
G1 X10.000 Y20.000 Z30.000 A40.000 B80.000 C60.000 U70.000 V80.000 W90.000 F74.074
|
||||
""",
|
||||
"""G90
|
||||
G20
|
||||
G54
|
||||
M6 T1
|
||||
G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F2.9163
|
||||
G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B80.0000 C60.0000 U2.7559 V3.1496 W3.5433 F74.0736
|
||||
""",
|
||||
@@ -1919,14 +1891,12 @@ G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B80.0000 C60.0000 U2.7559 V3.1496 W3.5433 F7
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G1 X10.000 Y20.000 Z30.000 A40.000 B50.000 C60.000 U70.000 V80.000 W90.000 F74.074
|
||||
G1 X10.000 Y20.000 Z30.000 A40.000 B50.000 C90.000 U70.000 V80.000 W90.000 F74.074
|
||||
""",
|
||||
"""G90
|
||||
G20
|
||||
G54
|
||||
M6 T1
|
||||
G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F2.9163
|
||||
G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C90.0000 U2.7559 V3.1496 W3.5433 F74.0736
|
||||
""",
|
||||
@@ -1940,14 +1910,12 @@ G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C90.0000 U2.7559 V3.1496 W3.5433 F7
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G1 X10.000 Y20.000 Z30.000 A40.000 B50.000 C60.000 U70.000 V80.000 W90.000 F74.074
|
||||
G1 X10.000 Y20.000 Z30.000 A40.000 B50.000 C60.000 U40.000 V80.000 W90.000 F74.074
|
||||
""",
|
||||
"""G90
|
||||
G20
|
||||
G54
|
||||
M6 T1
|
||||
G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F2.9163
|
||||
G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 U1.5748 V3.1496 W3.5433 F2.9163
|
||||
""",
|
||||
@@ -1961,14 +1929,12 @@ G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 U1.5748 V3.1496 W3.5433 F2
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G1 X10.000 Y20.000 Z30.000 A40.000 B50.000 C60.000 U70.000 V80.000 W90.000 F74.074
|
||||
G1 X10.000 Y20.000 Z30.000 A40.000 B50.000 C60.000 U70.000 V50.000 W90.000 F74.074
|
||||
""",
|
||||
"""G90
|
||||
G20
|
||||
G54
|
||||
M6 T1
|
||||
G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F2.9163
|
||||
G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 U2.7559 V1.9685 W3.5433 F2.9163
|
||||
""",
|
||||
@@ -1982,14 +1948,12 @@ G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 U2.7559 V1.9685 W3.5433 F2
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G1 X10.000 Y20.000 Z30.000 A40.000 B50.000 C60.000 U70.000 V80.000 W90.000 F74.074
|
||||
G1 X10.000 Y20.000 Z30.000 A40.000 B50.000 C60.000 U70.000 V80.000 W60.000 F74.074
|
||||
""",
|
||||
"""G90
|
||||
G20
|
||||
G54
|
||||
M6 T1
|
||||
G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F2.9163
|
||||
G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W2.3622 F2.9163
|
||||
""",
|
||||
@@ -2004,7 +1968,6 @@ G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W2.3622 F2
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G1 X10.000 Y20.000 Z30.000 F74.074
|
||||
G1 X10.000 Y20.000 Z30.000 F74.074
|
||||
G1 X20.000 Y30.000 Z10.000 F74.074
|
||||
@@ -2012,7 +1975,6 @@ G1 X20.000 Y30.000 Z10.000 F74.074
|
||||
"""G90
|
||||
G20
|
||||
G54
|
||||
M6 T1
|
||||
G1 X0.3937 Y0.7874 Z1.1811 F2.9163
|
||||
G1 X0.3937 Y0.7874 Z1.1811 F2.9163
|
||||
G1 X0.7874 Y1.1811 Z0.3937 F2.9163
|
||||
@@ -2028,7 +1990,6 @@ G1 X0.7874 Y1.1811 Z0.3937 F2.9163
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G1 U70.000 V80.000 W90.000 F74.074
|
||||
G1 U70.000 V80.000 W90.000 F74.074
|
||||
G1 U40.000 V50.000 W60.000 F74.074
|
||||
@@ -2036,7 +1997,6 @@ G1 U40.000 V50.000 W60.000 F74.074
|
||||
"""G90
|
||||
G20
|
||||
G54
|
||||
M6 T1
|
||||
G1 U2.7559 V3.1496 W3.5433 F2.9163
|
||||
G1 U2.7559 V3.1496 W3.5433 F2.9163
|
||||
G1 U1.5748 V1.9685 W2.3622 F2.9163
|
||||
@@ -2052,7 +2012,6 @@ G1 U1.5748 V1.9685 W2.3622 F2.9163
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G1 A40.000 B50.000 C60.000 F74.074
|
||||
G1 A40.000 B50.000 C60.000 F74.074
|
||||
G1 A70.000 B80.000 C90.000 F74.074
|
||||
@@ -2060,7 +2019,6 @@ G1 A70.000 B80.000 C90.000 F74.074
|
||||
"""G90
|
||||
G20
|
||||
G54
|
||||
M6 T1
|
||||
G1 A40.0000 B50.0000 C60.0000 F74.0736
|
||||
G1 A40.0000 B50.0000 C60.0000 F74.0736
|
||||
G1 A70.0000 B80.0000 C90.0000 F74.0736
|
||||
@@ -2076,7 +2034,6 @@ G1 A70.0000 B80.0000 C90.0000 F74.0736
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G1 X10.000 Y20.000 Z30.000 A40.000 B50.000 C60.000 F74.074
|
||||
G1 X10.000 Y20.000 Z30.000 A40.000 B50.000 C60.000 F74.074
|
||||
G1 X20.000 Y30.000 Z10.000 A70.000 B80.000 C90.000 F74.074
|
||||
@@ -2084,7 +2041,6 @@ G1 X20.000 Y30.000 Z10.000 A70.000 B80.000 C90.000 F74.074
|
||||
"""G90
|
||||
G20
|
||||
G54
|
||||
M6 T1
|
||||
G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 F2.9163
|
||||
G1 X0.3937 Y0.7874 Z1.1811 A40.0000 B50.0000 C60.0000 F74.0736
|
||||
G1 X0.7874 Y1.1811 Z0.3937 A70.0000 B80.0000 C90.0000 F2.9163
|
||||
@@ -2100,7 +2056,6 @@ G1 X0.7874 Y1.1811 Z0.3937 A70.0000 B80.0000 C90.0000 F2.9163
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G1 A40.000 B50.000 C60.000 U70.000 V80.000 W90.000 F74.074
|
||||
G1 A40.000 B50.000 C60.000 U70.000 V80.000 W90.000 F74.074
|
||||
G1 A70.000 B80.000 C90.000 U40.000 V50.000 W60.000 F74.074
|
||||
@@ -2108,7 +2063,6 @@ G1 A70.000 B80.000 C90.000 U40.000 V50.000 W60.000 F74.074
|
||||
"""G90
|
||||
G20
|
||||
G54
|
||||
M6 T1
|
||||
G1 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F2.9163
|
||||
G1 A40.0000 B50.0000 C60.0000 U2.7559 V3.1496 W3.5433 F74.0736
|
||||
G1 A70.0000 B80.0000 C90.0000 U1.5748 V1.9685 W2.3622 F2.9163
|
||||
@@ -2124,7 +2078,6 @@ G1 A70.0000 B80.0000 C90.0000 U1.5748 V1.9685 W2.3622 F2.9163
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G1 X10.000 A40.000 F74.074
|
||||
G1 X10.000 A40.000 F74.074
|
||||
G1 X20.000 A70.000 F74.074
|
||||
@@ -2132,7 +2085,6 @@ G1 X20.000 A70.000 F74.074
|
||||
"""G90
|
||||
G20
|
||||
G54
|
||||
M6 T1
|
||||
G1 X0.3937 A40.0000 F2.9163
|
||||
G1 X0.3937 A40.0000 F74.0736
|
||||
G1 X0.7874 A70.0000 F2.9163
|
||||
@@ -2148,7 +2100,6 @@ G1 X0.7874 A70.0000 F2.9163
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G1 A40.000 U70.000 F74.074
|
||||
G1 A40.000 U70.000 F74.074
|
||||
G1 A70.000 U40.000 F74.074
|
||||
@@ -2156,7 +2107,6 @@ G1 A70.000 U40.000 F74.074
|
||||
"""G90
|
||||
G20
|
||||
G54
|
||||
M6 T1
|
||||
G1 A40.0000 U2.7559 F2.9163
|
||||
G1 A40.0000 U2.7559 F74.0736
|
||||
G1 A70.0000 U1.5748 F2.9163
|
||||
@@ -2172,7 +2122,6 @@ G1 A70.0000 U1.5748 F2.9163
|
||||
"""G90
|
||||
G21
|
||||
G54
|
||||
M6 T1
|
||||
G1 A40.000 F74.074
|
||||
G1 A40.000 F74.074
|
||||
G1 A70.000 F74.074
|
||||
@@ -2180,7 +2129,6 @@ G1 A70.000 F74.074
|
||||
"""G90
|
||||
G20
|
||||
G54
|
||||
M6 T1
|
||||
G1 A40.0000 F74.0736
|
||||
G1 A40.0000 F74.0736
|
||||
G1 A70.0000 F74.0736
|
||||
|
||||
@@ -103,8 +103,8 @@ class TestRefactoredTestPostMCodes(PathTestUtils.PathTestBase):
|
||||
gcode = self.post.export()[0][1]
|
||||
if debug:
|
||||
print(f"--------{nl}{gcode}--------{nl}")
|
||||
# there are 4 lines of "other stuff" before the line we are interested in
|
||||
self.assertEqual(gcode.splitlines()[4], expected)
|
||||
# there are 3 lines of "other stuff" before the line we are interested in
|
||||
self.assertEqual(gcode.splitlines()[3], expected)
|
||||
|
||||
#############################################################################
|
||||
#
|
||||
@@ -162,8 +162,26 @@ class TestRefactoredTestPostMCodes(PathTestUtils.PathTestBase):
|
||||
|
||||
def test20060(self):
|
||||
"""Test M6 command Generation."""
|
||||
self.single_compare("M6", "M6", "")
|
||||
self.single_compare("M06", "M06", "")
|
||||
|
||||
c = Path.Command("M6 T2")
|
||||
|
||||
self.profile_op.Path = Path.Path([c])
|
||||
|
||||
self.job.PostProcessorArgs = "--tool_change"
|
||||
gcode = self.post.export()[0][1]
|
||||
split_gcode = gcode.splitlines()
|
||||
# print(f"--------{nl}{gcode}--------{nl}")
|
||||
self.assertEqual(split_gcode[4], "M6 T2")
|
||||
|
||||
c = Path.Command("M06 T02")
|
||||
|
||||
self.profile_op.Path = Path.Path([c])
|
||||
|
||||
self.job.PostProcessorArgs = "--tool_change"
|
||||
gcode = self.post.export()[0][1]
|
||||
split_gcode = gcode.splitlines()
|
||||
# print(f"--------{nl}{gcode}--------{nl}")
|
||||
self.assertEqual(split_gcode[4], "M06 T2")
|
||||
|
||||
#############################################################################
|
||||
|
||||
|
||||
@@ -174,11 +174,12 @@ def check_for_tool_change(
|
||||
gcode.append(f"{linenumber(values)}M5{nl}")
|
||||
for line in values["TOOL_CHANGE"].splitlines(False):
|
||||
gcode.append(f"{linenumber(values)}{line}{nl}")
|
||||
elif values["OUTPUT_COMMENTS"]:
|
||||
return False
|
||||
if values["OUTPUT_COMMENTS"]:
|
||||
# convert the tool change to a comment
|
||||
comment = create_comment(values, format_command_line(values, command_line))
|
||||
gcode.append(f"{linenumber(values)}{comment}{nl}")
|
||||
return True
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user