klipper激光雕刻gcode生成

前言

  • 本文介绍激光雕刻软件lightburn简单配置,并导出gcode文件
  • 本文是对前文klipper实现激光雕刻的补充
  • 目的是利用导出的gcode文件配合klipper固件实现脱机激光雕刻

创建激光雕刻机设备

  1. 打开软件、跟着流程走点击OK
    请添加图片描述
  2. 手动创建设备
    在这里插入图片描述
  3. 选择GRBL固件的激光控制器
    在这里插入图片描述
  4. 选择USB串口的连接方式,本次实验目标是导出gcode实现脱机激光雕刻,这里的联机方式并不重要
    在这里插入图片描述
  5. 设备的雕刻尺寸,根据自己的机型填写
    在这里插入图片描述
  6. 根据机型选择坐标原点位置
    在这里插入图片描述
  7. 完成设备创建
    在这里插入图片描述在这里插入图片描述

配置软件

  • 修改语言 Menu->Language->汉语
  • 修改速度单位 菜单栏->编辑->设置
    在这里插入图片描述
  • 修改激光功率最大值 菜单栏->编辑->设备设置 修改为255 因为klipper中把S255设定为最大功率输出
    PS:这里不意味着激光功率只有255档,S值可以为小数
    在这里插入图片描述

创建gcode文件

  1. 点击矩形工具
  2. 在画布上拖拽绘制矩形
  3. 双击图层修改速度与功率
  4. 点击保存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转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值