Ejemplo n.º 1
0
    def test000(self):
        """Test Output Generation.
        Empty path.  Produces only the preamble and postable.
        """

        self.docobj.Path = Path.Path([])
        postables = [self.docobj]

        # Test generating with header
        # Header contains a time stamp that messes up unit testing.
        # Only test length of result.
        args = "--no-show-editor"
        gcode = postprocessor.export(postables, "gcode.tmp", args)
        self.assertTrue(len(gcode.splitlines()) == 14)

        # Test without header
        expected = """(Begin preamble)
G17 G54 G40 G49 G80 G90
G21
(Begin operation: testpath)
(Machine units: mm/min)
(Finish operation: testpath)
(Begin postamble)
M05
G17 G54 G90 G80 G40
M2
"""

        self.docobj.Path = Path.Path([])
        postables = [self.docobj]

        args = "--no-header --no-show-editor"
        # args = ("--no-header --no-comments --no-show-editor --precision=2")
        gcode = postprocessor.export(postables, "gcode.tmp", args)
        self.assertEqual(gcode, expected)

        # test without comments
        expected = """G17 G54 G40 G49 G80 G90
G21
M05
G17 G54 G90 G80 G40
M2
"""

        args = "--no-header --no-comments --no-show-editor"
        # args = ("--no-header --no-comments --no-show-editor --precision=2")
        gcode = postprocessor.export(postables, "gcode.tmp", args)
        self.assertEqual(gcode, expected)
Ejemplo n.º 2
0
 def test040(self):
     """
     Test Post-amble
     """
     self.docobj.Path = Path.Path([])
     postables = [self.docobj]
     args = "--no-header --no-comments --postamble='G0 Z50\nM2' --no-show-editor"
     gcode = postprocessor.export(postables, "gcode.tmp", args)
     result = gcode.splitlines()[-2]
     self.assertEqual(result, "G0 Z50")
     self.assertEqual(gcode.splitlines()[-1], "M2")
Ejemplo n.º 3
0
    def test080(self):
        """
        Test tool change
        """
        c = Path.Command("M6 T2")
        c2 = Path.Command("M3 S3000")
        self.docobj.Path = Path.Path([c, c2])
        postables = [self.docobj]

        args = "--no-header --no-show-editor"
        gcode = postprocessor.export(postables, "gcode.tmp", args)
        self.assertEqual(gcode.splitlines()[6], "M5")
        self.assertEqual(gcode.splitlines()[7], "M6 T2")
        self.assertEqual(gcode.splitlines()[8], "G43 H2")
        self.assertEqual(gcode.splitlines()[9], "M3 S3000")

        # suppress TLO
        args = "--no-header --no-tlo --no-show-editor"
        gcode = postprocessor.export(postables, "gcode.tmp", args)
        self.assertEqual(gcode.splitlines()[8], "M3 S3000")
Ejemplo n.º 4
0
    def test010(self):
        """Test command Generation.
        Test Precision
        """
        c = Path.Command("G0 X10 Y20 Z30")

        self.docobj.Path = Path.Path([c])
        postables = [self.docobj]

        args = "--no-header --no-show-editor"
        gcode = postprocessor.export(postables, "gcode.tmp", args)
        result = gcode.splitlines()[5]
        expected = "G0 X10.000 Y20.000 Z30.000"
        self.assertEqual(result, expected)

        args = "--no-header --precision=2 --no-show-editor"
        gcode = postprocessor.export(postables, "gcode.tmp", args)
        result = gcode.splitlines()[5]
        expected = "G0 X10.00 Y20.00 Z30.00"
        self.assertEqual(result, expected)
Ejemplo n.º 5
0
    def test030(self):
        """
        Test Pre-amble
        """

        self.docobj.Path = Path.Path([])
        postables = [self.docobj]

        args = "--no-header --no-comments --preamble='G18 G55' --no-show-editor"
        gcode = postprocessor.export(postables, "gcode.tmp", args)
        result = gcode.splitlines()[0]
        self.assertEqual(result, "G18 G55")
Ejemplo n.º 6
0
    def test050(self):
        """
        Test inches
        """

        c = Path.Command("G0 X10 Y20 Z30")
        self.docobj.Path = Path.Path([c])
        postables = [self.docobj]

        args = "--no-header --inches --no-show-editor"
        gcode = postprocessor.export(postables, "gcode.tmp", args)
        self.assertEqual(gcode.splitlines()[2], "G20")

        result = gcode.splitlines()[5]
        expected = "G0 X0.3937 Y0.7874 Z1.1811"
        self.assertEqual(result, expected)

        args = "--no-header --inches --precision=2 --no-show-editor"
        gcode = postprocessor.export(postables, "gcode.tmp", args)
        result = gcode.splitlines()[5]
        expected = "G0 X0.39 Y0.79 Z1.18"
        self.assertEqual(result, expected)
Ejemplo n.º 7
0
    def test020(self):
        """
        Test Line Numbers
        """
        c = Path.Command("G0 X10 Y20 Z30")

        self.docobj.Path = Path.Path([c])
        postables = [self.docobj]

        args = "--no-header --line-numbers --no-show-editor"
        gcode = postprocessor.export(postables, "gcode.tmp", args)
        result = gcode.splitlines()[5]
        expected = "N150 G0 X10.000 Y20.000 Z30.000"
        self.assertEqual(result, expected)
Ejemplo n.º 8
0
    def test090(self):
        """
        Test comment
        """

        c = Path.Command("(comment)")

        self.docobj.Path = Path.Path([c])
        postables = [self.docobj]

        args = "--no-header --no-show-editor"
        gcode = postprocessor.export(postables, "gcode.tmp", args)
        result = gcode.splitlines()[5]
        expected = "(comment)"
        self.assertEqual(result, expected)
Ejemplo n.º 9
0
    def test070(self):
        """
        Test axis modal
        Suppress the axis coordinate if the same as previous
        """
        c = Path.Command("G0 X10 Y20 Z30")
        c1 = Path.Command("G0 X10 Y30 Z30")

        self.docobj.Path = Path.Path([c, c1])
        postables = [self.docobj]

        args = "--no-header --axis-modal --no-show-editor"
        gcode = postprocessor.export(postables, "gcode.tmp", args)
        result = gcode.splitlines()[6]
        expected = "G0 Y30.000"
        self.assertEqual(result, expected)