CAM: snapmaker --machine is a required option
This commit is contained in:
@@ -238,10 +238,22 @@ M5
|
||||
) # no TLO on Snapmaker (G43 inserted after tool change)
|
||||
|
||||
def test_models(self):
|
||||
"""Test the various models."""
|
||||
"""Test the various models, and also test models that don't exist cause an error."""
|
||||
command = Path.Command("G0 X10 Y20 Z30")
|
||||
expected = "G0 X10.000 Y20.000 Z30.000"
|
||||
|
||||
with self.assertRaises(SystemExit):
|
||||
self.get_gcode(
|
||||
[command],
|
||||
"--no-header",
|
||||
)
|
||||
|
||||
with self.assertRaises(SystemExit):
|
||||
gcode = self.get_gcode(
|
||||
[command],
|
||||
"--machine=robot --no-header",
|
||||
)
|
||||
|
||||
gcode = self.get_gcode(
|
||||
[command],
|
||||
"--machine=Original --toolhead=50W --spindle-percent --no-header",
|
||||
|
||||
@@ -179,7 +179,7 @@ class Snapmaker(Path.Post.Processor.PostProcessor):
|
||||
self.values["END_OF_LINE_CHARACTERS"] = "\n"
|
||||
self.values["FINISH_LABEL"] = "End"
|
||||
self.values["LINE_INCREMENT"] = 1
|
||||
self.values["MACHINE_NAME"] = "Generic Snapmaker"
|
||||
self.values["MACHINE_NAME"] = None
|
||||
self.values["MODAL"] = False
|
||||
self.values["OUTPUT_PATH_LABELS"] = True
|
||||
self.values["OUTPUT_HEADER"] = (
|
||||
@@ -327,6 +327,7 @@ class Snapmaker(Path.Post.Processor.PostProcessor):
|
||||
group.add_argument(
|
||||
"--machine",
|
||||
default=None,
|
||||
required=True,
|
||||
choices=self.values["MACHINES"].keys(),
|
||||
help=f"Snapmaker machine. Choose from [{self.values['MACHINES'].keys()}].",
|
||||
)
|
||||
@@ -382,12 +383,12 @@ class Snapmaker(Path.Post.Processor.PostProcessor):
|
||||
if flag: # process extra arguments only if flag is True
|
||||
self._units = self.values["UNITS"]
|
||||
|
||||
if args.machine:
|
||||
machine = self.values["MACHINES"][args.machine]
|
||||
self.values["MACHINE_KEY"] = machine["key"]
|
||||
self.values["MACHINE_NAME"] = machine["name"]
|
||||
# The deepcopy is necessary to avoid modifying the boundaries in the MACHINES dict.
|
||||
self.values["BOUNDARIES"] = copy.deepcopy(machine["boundaries"])
|
||||
# --machine is a required "option"
|
||||
machine = self.values["MACHINES"][args.machine]
|
||||
self.values["MACHINE_KEY"] = machine["key"]
|
||||
self.values["MACHINE_NAME"] = machine["name"]
|
||||
# The deepcopy is necessary to avoid modifying the boundaries in the MACHINES dict.
|
||||
self.values["BOUNDARIES"] = copy.deepcopy(machine["boundaries"])
|
||||
|
||||
if args.boundaries: # may override machine boundaries, which is expected
|
||||
self.values["BOUNDARIES"] = args.boundaries
|
||||
|
||||
Reference in New Issue
Block a user