plotter app
This commit is contained in:
45
plotter-app/svgToGcode.py
Normal file
45
plotter-app/svgToGcode.py
Normal file
@@ -0,0 +1,45 @@
|
||||
from svg_to_gcode.svg_parser import parse_string
|
||||
from svg_to_gcode.compiler import Compiler, interfaces
|
||||
#pip install svg-to-gcode
|
||||
|
||||
|
||||
|
||||
class CustomInterface(interfaces.Gcode):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
#self.fan_speed = 1
|
||||
|
||||
# Override the laser_off method such that it gets the pen up
|
||||
def laser_off(self):
|
||||
return "G0 Z5.0;\n"
|
||||
|
||||
# Override the set_laser_power method
|
||||
def set_laser_power(self, power):
|
||||
if power < 0 or power > 1:
|
||||
raise ValueError(f"{power} is out of bounds. Laser power must be given between 0 and 1. "
|
||||
f"The interface will scale it correctly.")
|
||||
|
||||
return "G0 Z0.0;\n"
|
||||
|
||||
# def home_axes(self):
|
||||
# return "$H;"
|
||||
def home_cycle():
|
||||
return "$H; \n G92 X0 Y750"
|
||||
|
||||
|
||||
def convertToGcode(targetData, output):
|
||||
|
||||
#creating a compiler with the custom inteface class
|
||||
#also giving a custom header with the function home_cycle()
|
||||
gcode_compiler = Compiler(CustomInterface, movement_speed=1000, cutting_speed=300, pass_depth=5,custom_header = [CustomInterface.home_cycle()])
|
||||
|
||||
|
||||
curves = parse_string(targetData) # Parse an svg file into geometric curves
|
||||
gcode_compiler.append_curves(curves)
|
||||
|
||||
return gcode_compiler.compile(passes=1)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user