print number of generated points

master
Hendrik Schutter 10 months ago
parent 834341584d
commit ff49e082e8

@ -15,7 +15,7 @@ example_usage = "-i test_data/Test_H.svg -o test_data/test.gcode"
svg_shapes = set(['rect', 'circle', 'ellipse', 'line', 'polyline', 'polygon', 'path'])
gcode_file_path = " "
def gcode_write(gcode):
def gcode_write(gcode_file, gcode):
if (debug):
for cmd in gcode.split("\n"):
if len(cmd):
@ -53,7 +53,8 @@ def read_input_file(svg_file_path):
print("unable to read svg file: \n" + str(e))
sys.exit(1)
def generate_gcode(svg_file_root_tree, gcode_file):
def generate_gcode(svg_file_root_tree, gcode_file):
generated_points_count = 0
width = svg_file_root_tree.get('width')
height = svg_file_root_tree.get('height')
if width == None or height == None:
@ -69,9 +70,9 @@ def generate_gcode(svg_file_root_tree, gcode_file):
print("[SVG loaded] With:" + str(width) + "mm Height:" + str(height) + "mm")
#generate start cmds's
gcode_write(preamble)
gcode_write(gcode_file, preamble)
num_points = 0
for elem in svg_file_root_tree.iter():
try:
_, tag_suffix = elem.tag.split('}')
@ -80,29 +81,30 @@ def generate_gcode(svg_file_root_tree, gcode_file):
if tag_suffix in svg_shapes:
shape_class = getattr(shapes_pkg, tag_suffix)
shape_obj = shape_class(elem)
d = shape_obj.d_path()
m = shape_obj.transformation_matrix()
if d:
#gcode_file.write(shape_preamble)
p = point_generator(d, m, smoothness)
for x,y in p:
#print(";X: " + str(x) + " Y: " + str(y))
obj_path = shape_obj.d_path()
obj_trans_matrix = shape_obj.transformation_matrix()
if obj_path:
gcode_write(gcode_file, "; == Start of " + tag_suffix + " ==\n")
points = point_generator(obj_path, obj_trans_matrix, smoothness)
num_points = 0
for x,y in points:
if (debug): print("[Point] X: " + str(x) + " Y: " + str(y))
if x > 0 and x < bed_max_x and y > 0 and y < bed_max_y:
gcode_file.write("G1 X%0.01f Y%0.01f\n" % (x, y))
gcode_write(gcode_file, "G1 X%0.001f Y%0.001f\n" % (x, y))
num_points += 1
if num_points == 1:
gcode_file.write("M3 I S150 ;start laser\n")
else:
if (num_points == 1):
gcode_write(gcode_file, "M3 I S150 ;start laser\n")
elif (debug):
print("\n; Coordinates out of range:", "G1 X%0.01f Y%0.01f" % (x, y))
print("; Raw:", str(x), str(y), "\nScaled:", str(x), str(y), "\n")
close_on_failure()
gcode_file.write("M5 ;stop laser\n")
num_points = 0
#gcode_file.write(shape_postamble)
gcode_write(gcode_file, "M5 ;stop laser\n")
gcode_write(gcode_file, "; == End of " + tag_suffix + " ==\n")
generated_points_count += num_points
gcode_file.write(postamble)
print("\nGenerated", num_points, "points")
gcode_write(gcode_file, postamble)
print("\nGenerated", generated_points_count, "points")
if __name__ == "__main__":
sys.setrecursionlimit(20000) #needed for svg's with more indepented paths

@ -1,6 +1,7 @@
G90 ;Absolute programming
G21 ;Programming in millimeters (mm)
M5 ;Disable laser
; == Start of rect ==
G1 X0.1 Y0.1
M3 I S150 ;start laser
G1 X0.1 Y0.1
@ -9,5 +10,6 @@ G1 X9.9 Y9.9
G1 X0.1 Y9.9
G1 X0.1 Y0.1
M5 ;stop laser
; == End of rect ==
G1 X0.0 Y0.0; Display printbed
M02 ;End of program

Loading…
Cancel
Save

Du besuchst diese Seite mit einem veralteten IPv4-Internetzugang. Möglicherweise treten in Zukunft Probleme mit der Erreichbarkeit und Performance auf. Bitte frage deinen Internetanbieter oder Netzwerkadministrator nach IPv6-Unterstützung.
You are visiting this site with an outdated IPv4 internet access. You may experience problems with accessibility and performance in the future. Please ask your ISP or network administrator for IPv6 support.
Weitere Infos | More Information
Klicke zum schließen | Click to close