打印文件乱码预检
在开始打印前,对 G 代码文件做一次本地体检:检查文件是否损坏乱码,并统计打印范围、尺寸、成型高度与层数等信息。
功能概述
- 乱码 / 损坏检查:逐字节做 UTF-8 合法性校验(兼容跨块多字节序列),精确定位首个非法字节的行号与字节偏移;能识别切片软件用 GBK 等编码写中文导致的非 UTF-8、以及拷贝损坏等乱码问题
- 控制字符检测:专门识别 G 代码中被损坏成
0x00–0x1F的异常字节(如参数字母E被改成0x05)。这类字节是合法 ASCII、UTF-8 校验发现不了,但会让 Klipper 在对应行解析报错;工具会给出所在行号与字节偏移 - 非 ASCII 统计:统计文件中的非 ASCII 字节数量;只要文件是合法 UTF-8,这些字节无论是出现在注释还是中文参数名(如加热器名),都不算损坏,不影响打印;若指令行含非 ASCII,会中性列出所在行号供核对
- 打印范围分析:解析
G0/G1坐标,给出 X / Y / Z 各轴最小值、最大值与行程,汇总打印尺寸(X × Y)、成型高度(Z) - 打印信息统计:估算打印尺寸(X × Y)、成型高度(Z)与打印层数
- 上位机远程读取:输入上位机 IP 连接 Moonraker 后,可从两类来源选择文件下载并在浏览器本地预检,均按最新时间倒序:
- 打印文件:列出
gcodes目录(含子目录)中的 G 代码文件,按修改时间倒序,行内懒加载模型缩略图(列表默认展示前 50 个,可“显示更多”) - 历史任务:读取打印历史(Moonraker History 组件),按最近打印时间倒序,显示状态、耗时、耗材,并在缩略图存在时展示模型预览图;点击任一条即可下载对应 G 代码文件本地分析
- 打印文件:列出
- 本地解析:所有分析在浏览器本地完成,文件内容不会上传到任何服务器
注意事项
- 支持
.gcode/.gco/.gc/.g/.nc等常见打印文件后缀 - 建议 PC 端访问以获得更好体验;大体积文件(如上百 MB)分析需要一定时间,请耐心等待进度条完成
- 打印范围与层数按 G 代码运动指令统计得出,含空程移动,为参考值;实际成型尺寸以切片软件为准
- 若文件使用了非标准指令格式或大量自定义宏,范围统计可能不完整
- 上位机远程读取为只读操作,仅下载
gcodes目录中的 G 代码文件与读取打印历史,不会修改或删除上位机文件;需保证当前浏览器能访问上位机的 Moonraker(默认端口7125),网络不通或使用 HTTPS 混合内容时可能连接失败,此时可改用本地上传
Loading...
Loading...