drawing-machine/draw.py

37 lines
909 B
Python
Raw Normal View History

2018-03-21 11:06:44 -04:00
#!/usr/bin/env python3
"""
Brings together the different components needed to make the drawing
machine chooch.
"""
import os
import stream
2018-03-21 12:00:46 -04:00
import linedraw
2018-03-21 11:06:44 -04:00
def draw(rec_filename):
"""
Takes the filename received from the bluetooth server, vectorizes
it and streams the resulting G-code to the GRBL controller.
"""
print("Vectorizing " + rec_filename + "...")
linedraw.sketch(rec_filename)
gcode_filename = rec_filename.replace("received", "converted")
gcode_filename = os.path.splitext(gcode_filename)[0] + ".ngc"
print("Streaming " + gcode_filename + "...")
stream.stream(gcode_filename)
if __name__ == "__main__":
import argparse
parser = argparse.ArgumentParser(
description="Vectorizes the given image and streams the resultant" \
+ "G-code to GRBL.")
parser.add_argument(
"filename",
help="The path to the image to be drawn.")
args = parser.parse_args()
draw(args.filename)