예제 #1
0
def test_skeinforge_formatted_stretch():
    gcode_oracle = open_gcode_file('skeinforge_model1_poststretch.gcode')
    gcode = open_gcode_file('skeinforge_model1_prestretch.gcode')

    SkeinforgeStretchFilter().filter(gcode)

    gcode_eq(gcode_oracle, gcode)
예제 #2
0
def test_precision():
    """makes sure that gcode are equals if the numeric values are similar enough
    and different is the numeric values are far enough"""
    gcode_eq(open_gcode_file('simple1.gcode'),
             open_gcode_file('simple1_equivalent.gcode'))
    assert_not_equal(open_gcode_file('simple1.gcode'),
                     open_gcode_file('simple1_slightly_different.gcode'))
예제 #3
0
def test_nop_relative_extrusion():
    gcode = open_gcode_file('simple1.gcode')
    gcode_oracle = open_gcode_file('simple1.gcode')

    GCodeToRelativeExtrusionFilter().filter(gcode)

    gcode_eq(gcode_oracle, gcode)
예제 #4
0
def test_trivial_relative_extrusion():
    gcode = open_gcode_file('simple3.gcode')
    gcode_oracle = open_gcode_file('simple3-relative.gcode')

    GCodeToRelativeExtrusionFilter().filter(gcode)

    gcode_eq(gcode_oracle, gcode)
예제 #5
0
def test_nop_move():
    gcode = open_gcode_file('simple1.gcode')
    gcode_oracle = open_gcode_file('simple1.gcode')

    GCodeXYTranslateFilter(x=0, y=0).filter(gcode)

    gcode_eq(gcode_oracle, gcode)
예제 #6
0
def test_trivial_move():
    gcode = open_gcode_file('simple1.gcode')
    gcode_oracle = open_gcode_file('simple2.gcode')

    GCodeXYTranslateFilter(x=1, y=2).filter(gcode)

    gcode_eq(gcode_oracle, gcode)
예제 #7
0
def test_pause_at_layer():
    original_gcode = open_gcode_file("arc_raw_1.gcode")
    paused_gcode = open_gcode_file("arc_raw_1.gcode")

    iterator = GCodeIterator(paused_gcode, digits_of_precision=3)
    pause_at_layer = pal.PauseAtLayer(pause_layer_list=[1])
    iterator.accept(pause_at_layer)

    result = original_gcode.diff(paused_gcode)
    expected_result = pal.PAUSE_COMMAND
    has_pause_command = True if expected_result in result else False
    message = "Expected '%s' in 'vs' part of diff message; whole message is '%s'" % (expected_result, result)
    assert_equal(has_pause_command, True, message)
예제 #8
0
def test_pause_at_layer():
    original_gcode = open_gcode_file("arc_raw_1.gcode")
    paused_gcode = open_gcode_file("arc_raw_1.gcode")

    iterator = GCodeIterator(paused_gcode, digits_of_precision=3)
    pause_at_layer = pal.PauseAtLayer(pause_layer_list=[1])
    iterator.accept(pause_at_layer)

    result = original_gcode.diff(paused_gcode)
    expected_result = pal.PAUSE_COMMAND
    has_pause_command = True if expected_result in result else False
    message = "Expected '%s' in 'vs' part of diff message; whole message is '%s'" % (
        expected_result, result)
    assert_equal(has_pause_command, True, message)
예제 #9
0
def test_arc_optimization_4():
    gcode = open_gcode_file('arc_raw_4.gcode')
    gcode_ref = open_gcode_file('arc_ref_4.gcode')
    logging.basicConfig(level=logging.DEBUG)
    GCodeArcOptimizerFilter().filter(gcode)
    gcode_eq(gcode_ref, gcode)
예제 #10
0
def test_square_stretch_cura():
    simple_square_gcode = open_gcode_file('cura_square.gcode')

    logging.basicConfig(level=logging.DEBUG)
    CuraStretchFilter().filter(simple_square_gcode)
    simple_square_gcode.write()
예제 #11
0
def test_square_stretch_slic3r():
    simple_square_gcode = open_gcode_file('slic3r_square.gcode')

    logging.basicConfig(level=logging.DEBUG)
    Slic3rStretchFilter().filter(simple_square_gcode)
    simple_square_gcode.write()
예제 #12
0
def test_ignore_non_command():
    gcode_eq(open_gcode_file('empty_for_good.gcode'), open_gcode_file('empty_skeinforge_format.gcode'))
예제 #13
0
def test_arc_optimization_4():
    gcode = open_gcode_file('arc_raw_4.gcode')
    gcode_ref = open_gcode_file('arc_ref_4.gcode')
    logging.basicConfig(level=logging.DEBUG)
    GCodeArcOptimizerFilter().filter(gcode)
    gcode_eq(gcode_ref, gcode)
예제 #14
0
def test_identity_equality():
    gcode_eq(open_gcode_file('simple1.gcode'), open_gcode_file('simple1.gcode'))
예제 #15
0
def test_precision():
    """makes sure that gcode are equals if the numeric values are similar enough
    and different is the numeric values are far enough"""
    gcode_eq(open_gcode_file('simple1.gcode'), open_gcode_file('simple1_equivalent.gcode'))
    assert_not_equal(open_gcode_file('simple1.gcode'), open_gcode_file('simple1_slightly_different.gcode'))
예제 #16
0
def test_trivial_difference():
    assert_not_equal(open_gcode_file('simple1.gcode'),
                     open_gcode_file('simple2.gcode'))
예제 #17
0
def test_ignore_non_command():
    gcode_eq(open_gcode_file('empty_for_good.gcode'),
             open_gcode_file('empty_skeinforge_format.gcode'))
예제 #18
0
def test_square_stretch_skeinforge():
    simple_square_gcode = open_gcode_file('skeinforge_square.gcode')

    logging.basicConfig(level=logging.DEBUG)
    SkeinforgeStretchFilter().filter(simple_square_gcode)
    simple_square_gcode.write()
예제 #19
0
def test_identity_equality():
    gcode_eq(open_gcode_file('simple1.gcode'),
             open_gcode_file('simple1.gcode'))
예제 #20
0
def test_trivial_difference():
    assert_not_equal(open_gcode_file('simple1.gcode'), open_gcode_file('simple2.gcode'))