QIDISlicer通过指定查找和替换对,辅以可选的正则表达式匹配、大小写敏感和整词匹配功能,简化了G代码的后期处理,这些功能与流行的文本编辑器所提供的功能相似。
正则表达式是一种功能强大且适应性强的工具,能够设置甚至复杂的替换。对于更精细的后期处理需求,用户可以选择使用外部后期处理脚本。
该功能可通过打印设置 -> 输出选项访问。
G代码在预览之前会经过处理,确保您的修改在G代码预览中可见。启用“详细G代码”是有益的,因为它会生成额外的注释,然后可以使用正则表达式进行匹配。
正则匹配前 | 正则匹配后 |
![]() |
![]() |
QIDISlicer支持Perl兼容的正则表达式语法,如boost Perl正则表达式语法所述。其中,“单行”修饰符模仿了Perl的s/修饰符。当启用正则表达式时,“替换为”模式支持boost扩展格式语法中详述的“扩展”语法。正则表达式引擎支持前瞻和后顾断言,但仅限于固定长度模式。当禁用正则表达式时,在“查找”和“替换为”模式中均支持如n、r、t等占位符,类似于Notepad++的“扩展”语法。
G代码查找/替换后期处理器以块为单位处理G代码,从Z移动开始到过渡到下一层,为每个层生成一个块。在处理下一个块之前,多个查找/替换模式会顺序应用于单个G代码块。匹配多行模式是可行的,但仅限于单个G代码块内,通常在一个层内。虽然正则表达式功能强大,但也可能很复杂,因此我们建议使用101在线测试平台来熟悉正则表达式。请记住在regex101在线测试平台中将正则表达式风格切换为ECMAScript。
使用相对复杂的正则表达式对G代码进行复杂修改的生动示例:将顶部实心填充的挤出率从默认的95%增加到98%。
(;TYPE:Top solid infilln)(.*?)(;TYPE:|$)(?!Top solid infill)
${1}M221 S98n${2}M221 S95n${3}