paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Formalizing Linear Motion G-Code for Invariant Checking and Differential Testing of Fabrication Tools

形式化直线运动 G-code:面向制造工具的不变式检查与差分测试
OOPSLA 9(OOPSLA2)2025匹配度 3/10 · 论文将抽象解释、不变式检查和差分测试应用于G-code与制造流水线,属于程序分析技术的跨域应用;但未涉及LLM/Agent、机器学习系统、浮点程序分析或贝叶斯程序分析等用户核心方向,因此匹配度较低。引用 2 inbox
Yumeng He, Chandrakana Nandi, Sreepathi Pai
crossref: 2026-09-10

AI 速览

一句话:提出将 G-code 提升为长方体集合与近似点云表示的算法,支撑 CAD 不变式检查、切片器差分测试与网格修复评估。

3D打印制造流水线类似编译器:CAD模型经网格降维,由切片器编译为G-code机器码。但传统不变式检查与差分测试难以直接应用,因为模型同时以几何对象和受切片器及用户参数影响的机器码存在。本文提出G-code提升算法,将程序表示为长方体集合,并定义近似点云表示以高效操作这些长方体,从而支持不变式检查与差分测试。作者实现工具GlitchFinder,在58个真实CAD模型上评估三类用例:定位CAD错误、定量比较切片器、评估网格修复效果。结果显示,该工具能识别小特征导致的切片问题,揭示Cura与PrusaSlicer的切片差异,并发现MeshLab与Meshmixer修复时引入新错误。

问题
计算制造流水线缺乏针对 G-code 的程序不变式检查与差分测试技术,难以自动定位切片与网格修复中的缺陷。
方法
提出将 G-code 程序提升为长方体集合,并定义近似点云表示以高效操作几何体,支持不变式检查与差分测试。
评估
在 58 个真实 CAD 模型上评估原型工具 GlitchFinder,覆盖 CAD 错误定位、切片器定量比较与网格修复工具效果评估三类用例。
原文摘要(Abstract)

The computational fabrication pipeline for 3D printing is much like a compiler – users design models in Computer Aided Design (CAD) tools that are lowered to polygon meshes to be ultimately compiled to machine code by 3D slicers. For traditional compilers and programming languages, techniques for checking program invariants are well-established. Similarly, methods like differential testing are frequently used to uncover bugs in compilers themselves, which makes them more reliable. The fabrication pipeline would benefit from similar techniques but traditional approaches do not directly apply to the representations used in this domain. Unlike traditional programs, 3D models exist both as geometric objects (a CAD model or a polygon mesh) as well as machine code that ultimately runs on the hardware. The machine code, like in traditional compiling, is affected by many factors like the model, the slicer being used, and numerous user-configurable parameters that control the slicing process. In this work, we propose a new algorithm for lifting G-code (a common language used in many fabrication pipelines) by denoting a G-code program to a set of cuboids, and then defining an approximate point cloud representation for efficiently operating on these cuboids. Our algorithm opens up new opportunities: we show three use cases that demonstrate how it enables (1) error localization in CAD models through invariant checking, (2) quantitative comparisons between slicers, and (3) evaluating the efficacy of mesh repair tools. We present a prototype implementation of our algorithm in a tool, GlitchFinder , and evaluate it on 58 real-world CAD models. Our results show that GlitchFinder is particularly effective in identifying slicing issues due to small features, can highlight differences in how popular slicers (Cura and PrusaSlicer) slice the same model, and can identify cases where mesh repair tools (MeshLab and Meshmixer) introduce new errors during repair.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot2938,
  title = {Formalizing Linear Motion G-Code for Invariant Checking and Differential Testing of Fabrication Tools},
  author = {Yumeng He and Chandrakana Nandi and Sreepathi Pai},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {OOPSLA2},
  year = {2025},
  doi = {10.1145/3763106}
}