
摘要
计算机辅助设计(CAD)模型通常通过依次绘制参数化草图并应用CAD操作来构建,以获得三维模型。三维CAD逆向工程的问题在于从点云等三维表示中重建草图和CAD操作序列。本文通过在三个层面提出创新贡献来应对这一挑战:CAD序列表示、网络设计和数据集。具体而言,我们将CAD草图-拉伸序列表示为Python代码。所提出的CAD-Recode方法将点云转换为Python代码,当执行这些代码时,可以重建CAD模型。利用预训练大型语言模型(LLMs)对Python代码的熟悉程度,我们采用了一个相对较小的LLM作为CAD-Recode的解码器,并将其与轻量级点云投影仪结合使用。CAD-Recode仅在一个包含一百万个多样化的CAD序列的合成数据集上进行训练。在三个数据集上,CAD-Recode显著优于现有方法,同时所需的输入点数较少。值得注意的是,在DeepCAD和Fusion360数据集上,其平均Chamfer距离比最先进的方法低10倍。此外,我们展示了我们的CAD Python代码输出可以被现成的LLMs解释,从而实现基于点云的CAD编辑和特定于CAD的问题回答。
代码仓库
filaPro/cad-recode
官方
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| cad-reconstruction-on-cc3d | CAD-Recode | Chamfer Distance: 0.765 Chamfer Distance (median): 0.313 IoU: 74.2 |
| cad-reconstruction-on-deepcad | CAD-Recode | Camfer Distance (median): 0.157 Chamfer Distance: 0.298 IoU: 92.0 |
| cad-reconstruction-on-fusion-360-gallery | CAD-Recode | Chamfer Distance: 0.354 Chamfer Distance (median): 0.151 IoU: 87.8 |