前言
- 本文介绍激光雕刻软件lightburn简单配置,并导出gcode文件
- 本文是对前文klipper实现激光雕刻的补充
- 目的是利用导出的gcode文件配合klipper固件实现脱机激光雕刻
创建激光雕刻机设备
- 打开软件、跟着流程走点击OK
- 手动创建设备
- 选择GRBL固件的激光控制器
- 选择USB串口的连接方式,本次实验目标是导出gcode实现脱机激光雕刻,这里的联机方式并不重要
- 设备的雕刻尺寸,根据自己的机型填写
- 根据机型选择坐标原点位置
- 完成设备创建
配置软件
- 修改语言 Menu->Language->汉语
- 修改速度单位 菜单栏->编辑->设置
- 修改激光功率最大值 菜单栏->编辑->设备设置 修改为255 因为klipper中把S255设定为最大功率输出
PS:这里不意味着激光功率只有255档,S值可以为小数
创建gcode文件
- 点击矩形工具
- 在画布上拖拽绘制矩形
- 双击图层修改速度与功率
- 点击保存gcode
gcode代码转换
上一步导出的gcode与klipper能直接执行的gcode还有一些差别,还需要进一步转换才能进行激光雕刻
这里简单写一下python脚本完成gcode转换
在导出的gcode代码的同一目录下创建convert.py文件并填入下面的代码
import re
import sys
input_file = sys.argv[1]
out_file = input_file[0:-6] + '.klipper' + '.gcode'
pattern = r'S\d+(?:\.\d+)?'
set_laser = None
last_line = None
with open(input_file, 'r') as inf, open(out_file, 'w') as outf:
for line in inf:
if line[0:2] == "G0":
outf.write("M3 S0\n")
res = re.search(pattern, line)
try:
if res:
set_laser = f'M3 {res.group(0)}\n'
outf.write(set_laser)
elif last_line and last_line[0:3] == "G0 " :
if set_laser:
outf.write(set_laser)
except IndexError as e:
pass
outf.write(line)
last_line = line
打开命令行窗口执行命令python convert.py rect.gcode后生成的rect.klipper.gcode文件可以上传到klipper上位机进行打印
PS:这里要求电脑安装python
测试结果
后言
在进行gcode转换的时候要求电脑上安装python,且操作过于繁琐。
可以通过将python脚本放到上位机中,用安装klipper时自带的python解释器来进行gcode转换。