PrintAnything:跳过网格重建,直接从点云生成3D打印G代码

快速导读:PrintAnything的关键洞察是:既然3D打印本身就是逐层堆积的,为什么不直接在二维切片层面解决问题?它提出了一种叫几何平面图的新表示,英文叫G-plan map。每一层切片被压缩成三张图:占用图告诉你哪里有材料,区域图区分外壳和填充,流量图控制挤出速率。这三张图合在一起,就完整描述了这一层该怎么打。整个流程从点云出发,经过一个编码器和切片条件化的U-Net,直接预测每一层的G-plan map,然后编译成G代码,完全绕过了网格。

3D打印的常规流程要求输入水密网格模型,但现实世界中大量三维数据以点云形式存在——无论是激光雷达扫描、深度相机采集,还是生成式AI输出的三维内容。将点云转换为网格再送入切片软件,这一中间步骤常常引入孔洞、拓扑错误等几何伪影,最终导致打印失败。PrintAnything正是针对这一痛点,提出了一种完全绕过网格重建的端到端方案。

该工作的核心思想是学习一种名为几何平面图(G-plan map)的紧凑二维表示,它由占用图、区域图和流量图三部分组成,能够完整描述每一层切片的几何形状与打印路径。基于此表示,PrintAnything构建了一个三阶段管线:点云编码与G-plan预测、填充模式推荐、以及逐层G代码编译。整个流程从无定向点云出发,直接输出可送入3D打印机执行的标准G代码。

英文题目:PrintAnything: Learning Geometric Plan Map for 3D Printing G-code Generation from Unoriented Point Clouds

论文出处:arXiv 每日论文精选 · arXiv:2607.27729

原始论文:PDF / 论文页面

对应视频标题:PrintAnything:跳过网格重建,直接从点云生成3D打印G代码|推荐指数:★★★★★

这篇论文解决什么问题?

当前主流的FDM 3D打印切片软件(如Cura、PrusaSlicer)仅接受STL等网格格式作为输入。这意味着任何来自3D扫描仪或NeRF/3D Gaussian Splatting等方法的点云,都必须先经过表面重建才能进入打印流程。然而,点云到网格的转换本身就是一个具有挑战性的病态问题,尤其当点云稀疏、含噪声或存在遮挡时,重建结果往往出现缺失面片、非流形边等缺陷。

这些网格缺陷在切片阶段会被进一步放大。例如,一个微小的孔洞可能导致切片轮廓断裂,使生成的G代码包含不连续的挤出路径,最终在打印件上表现为层间分离或结构缺失。论文指出,这种跨阶段的误差累积是网格管线打印失败的主要原因之一。

另一方面,随着3D生成模型(如Point-E、Shap-E)的快速发展,点云作为三维内容的原生输出格式变得越来越普遍。如果能直接从点云生成可打印的G代码,将极大缩短从创意到实体的链路,这正是PrintAnything试图解决的核心问题。

核心创新

方法概览

PrintAnything的关键洞察是:既然3D打印本身就是逐层堆积的,为什么不直接在二维切片层面解决问题?它提出了一种叫几何平面图的新表示,英文叫G-plan map。每一层切片被压缩成三张图:占用图告诉你哪里有材料,区域图区分外壳和填充,流量图控制挤出速率。这三张图合在一起,就完整描述了这一层该怎么打。整个流程从点云出发,经过一个编码器和切片条件化的U-Net,直接预测每一层的G-plan map,然后编译成G代码,完全绕过了网格。

  • 几何平面图(G-plan map)定义:对于每一层切片,G-plan map由三个通道组成——占用图M(二值图,标记材料存在与否)、区域图R(整数图,区分外壳、顶底层和内部填充区域)、流量图Q(连续值图,编码挤出速率)。这三个通道共同提供了生成完整G代码所需的全部几何与路径信息。
  • 点云投影与多切片条件化(MSC):传统点云到切片的投影通常只考虑当前层高度附近的点,容易因局部稀疏而产生歧义。MSC策略将当前切片及其上下相邻切片的点云同时投影,形成多通道的2D特征图,为网络提供层间上下文,帮助推断被遮挡或缺失的几何结构。
  • 全局-局部编码架构:使用Point Transformer V3作为全局点云编码器,提取整个物体的形状先验;然后通过一个切片条件化的U-Net(GPNet)将全局特征与MSC投影特征融合,逐层预测G-plan map。这种设计兼顾了整体形状一致性和局部切片精度。
  • 填充模式推荐器:不同填充图案(蜂窝、网格、直线等)和填充密度在强度和材料成本之间存在权衡。PrintAnything设计了一个轻量级推荐网络,根据G-plan map中的区域信息自动选择最优填充图案和缩放比例,以平衡结构强度与打印效率。
  • 逐层G代码编译器:将填充后的G-plan map转换为有序的刀具路径和标准G代码。编译器首先从占用图中提取轮廓,然后根据区域图分配外壳、顶底层和填充路径,最后利用流量图调节挤出量,确保材料沉积均匀。
  • 训练数据构建:从Slice-100K数据集中提取配对的CAD模型与G代码,逆向生成每层的真值G-plan map。具体地,通过解析G代码中的移动指令重建占用图和区域图,并根据挤出长度计算流量图。

逐图理解论文

网格管线的失败案例

网格管线的失败案例
Fig. 1: Motivated by Two Challenges: (a) No Point Cloud support for 3D Printing Slicers (b) Point Cloud to Mesh reconstruction is limited and error-prone. We present (c) PrintAnything converts point clouds into a G-plan Map and compiles slice-wise G-code for printing.

图1直观展示了本文的两大动机:现有切片软件不支持点云输入,而点云到网格的转换容易产生孔洞和拓扑错误。右侧展示了PrintAnything的解决方案——直接从点云预测G-plan map并编译G代码。

核心洞察:几何平面图

核心洞察:几何平面图
Fig. 2: The framework of PrintAnything. From input point cloud and slice indices, we encode them and pass to GPNet that predicts M, R, Q. The M, R, Q along with infill pattern dictionary are given to infill pattern generator to generate infilled M, R, Q. Lastly, we feed the infilled M, R, Q to layer-wise G-code generator to get predicted G-code which is directly converted to 3D print output.

图2呈现了PrintAnything的完整框架,包含三个核心阶段:G-plan map预测、填充模式生成和逐层G代码编译。从输入点云到最终打印输出,整个流程无需任何网格表示。

多切片条件化与填充推荐

多切片条件化与填充推荐
Table 2: Ablation of multi-slice conditioning (MSC) on Slice-100K [16].

但点云投影到单层切片时,常常因为局部稀疏而产生歧义。PrintAnything用了一个叫多切片条件化的策略,把当前层和上下相邻层的点云一起投影,给网络提供层间上下文。这样一来,即使某层点云有缺失,网络也能从邻居层推断出合理的几何结构。此外,它还内置了一个填充模式推荐器,能自动在蜂窝、网格等图案中选择最优方案,平衡强度和材料成本。

鲁棒性与实物验证

鲁棒性与实物验证
Fig. 5: Qualitative Results on incomplete and noisy point cloud input on Slice-100K [16]. Yellow boxes highlight regions with missing observations for incomplete input. For the noisy case, enlarged insets are provided for clearer comparison.

图5展示了方法对不完整和噪声点云的鲁棒性。黄色框标出缺失区域,但PrintAnything仍能预测出完整的占用图并生成连贯的刀具路径,这对真实扫描场景尤为重要。

实验如何设计?

  • 主实验在Slice-100K数据集上进行,该数据集包含约10万个配对的CAD模型与G代码,涵盖机械零件、日用品等多种类别。
  • 对比基线包括三类网格重建管线:经典泊松表面重建、基于学习的DWG方法、以及面向艺术创作的MeshAnything。所有基线均先重建网格,再通过标准切片软件生成G代码。
  • 评估指标涵盖三维几何精度(Chamfer Distance、F1_3D)和二维切片精度(F1_2D),后者直接衡量生成G代码与真值在每层切片上的重叠程度。
  • 消融实验分别验证了MSC策略、G-plan map各通道(M、R、Q)的贡献,以及填充推荐器的有效性。
  • 鲁棒性测试在人为引入缺失区域和高斯噪声的点云上进行,模拟真实扫描中的遮挡和测量误差。
  • 最终在Bambu Lab X1-Carbon打印机上进行实物打印验证,展示方法的实际可行性。

关键结果与论文证据

  • 在Slice-100K数据集上,PrintAnything在所有指标上均优于网格重建基线,达到CD 0.047、F1_3D 0.7414、F1_2D 0.677(Table 1,第10页)。网格管线因重建误差在切片阶段被放大,切片级F1_2D分数明显偏低。
  • MSC消融实验显示,启用多切片条件化后,CD从0.059降至0.047(降低20.3%),F1_3D从0.702提升至0.741(提升5.6%)(Table 2,第11页)。这表明层间上下文对解决切片歧义至关重要。
  • 填充推荐器在强度-成本综合评分上达到0.937,优于随机尺度基线(如蜂窝+随机尺度仅0.830)(Table 3,第11页)。
  • G-plan map中流量图Q的加入显著改善了挤出平滑性:Δρ-smooth从0.081降至0.035(降低56.8%),ρ-CV从1.059降至0.909(降低14.2%)(Table 4,第13页)。
  • 在不完整点云测试中,即使输入缺失了圆形几何区域,PrintAnything仍能恢复完整的可打印形状,生成连贯的占用图和刀具路径(Figure 5,第12页)。
  • 在噪声点云测试中,投影切片保持稳定,预测的占用图和G代码未引入虚假伪影(Figure 5,第13页)。
  • 实物打印结果(Figure 6,第14页)验证了生成的G代码可直接在商用打印机上成功执行,打印件表面质量良好,无明显的层间缺陷。

阅读时需要注意

  • 方法未显式融入3D打印的物理先验(如材料收缩、热变形、桥接限制),完全依赖几何推理,可能在复杂悬空结构或特殊材料场景下产生次优路径。
  • 当前框架为监督学习范式,性能受限于Slice-100K数据集的规模和多样性,对于数据集中未覆盖的极端几何形状或新型打印工艺,泛化能力尚不明确。
  • G代码编译器目前针对标准FDM打印机设计,尚未扩展到多材料打印、支撑结构自动生成等高级功能。

关联工作

  • Slice-100K数据集(第4页):目前最大的多模态3D打印数据集,提供CAD模型与G代码的配对,是本文训练和评估的基础。
  • 泊松表面重建(第10页):经典的点云到网格方法,作为传统管线代表参与对比。
  • DWG与MeshAnything(第10页):分别代表基于学习和基于规则的最新网格生成方法,用于展示网格管线的固有局限。
  • Point Transformer V3(第5页):作为全局点云编码器,提供高效的多尺度点云特征提取能力。

展开:论文全文中文翻译

以下译文用于快速探索和学习,技术术语按需要保留英文;正式引用和精确表述请以原论文为准。

第 1 页

PrintAnything:从无定向点云学习几何平面图 以生成3D打印G代码

Sangmin Hong¹,Daniel Sungho Jung¹,Heewon Kim†³,⁴,Kyoung Mu Lee†¹,²

¹ 首尔大学IPAI,韩国首尔 ² 首尔大学电子与计算机工程系及自动化系统研究所,韩国首尔 ³ 崇实大学,韩国首尔 ⁴ Kairoba Inc.

{mchiash2,dqj5182,kyoungmu}@snu.ac.kr, hwkim@ssu.ac.kr

摘要。点云是最基础且广泛使用的3D表示之一,是3D形状最基本的几何表示。然而,现有的大多数3D打印流程需要水密网格作为输入,这阻碍了点云直接用于制造。常见的变通方法是从点云重建网格;但由此产生的网格往往包含几何瑕疵,如错误的面或拓扑不一致,这些瑕疵难以修复并可能导致打印失败。为克服这些局限,我们提出PrintAnything,一个新颖的框架,能够直接从3D点云学习生成可执行的3D打印G代码,无需网格重建。为使点云能作为逐切片刀具路径生成的直接输入,我们引入了一种逐切片点投影策略,将非结构化的3D点云转换为与切片对齐的2D表示,这与3D打印中熔融沉积成型的逐层特性一致。为消除网格依赖并提供一种连接点云与G代码的统一表示,我们提出了几何平面图(Geometric plan (G-plan) map),这是一种紧凑的2D表示,由占用图、区域图和流量图组成,编码了3D打印中刀具路径合成所需的几何与挤出属性。因此,我们提出的方法能直接从点云精确生成可打印的G代码,实现了一条实用且完全无网格的3D打印流程。代码已公开于https://github.com/Sangminhong/PrintAnything。

关键词:3D打印 · 制造 · G代码 · 点云

1 引言

点云是3D几何的基本表示,并常作为现代传感器和相机的原生输出出现。它们

† 共同通讯作者。

第 2 页

2 S. Hong et al.

(a) 挑战一:不支持点云作为输入 (b) 挑战二:错误的网格重建导致失败

输入点云 输入点云 网格重建 输出3D打印

(c) PrintAnything概览

输入点云 G-plan Map 输出3D打印

图1:两大挑战驱动:(a) 3D打印切片软件不支持点云输入;(b) 点云到网格的重建存在局限且易出错。我们提出(c) PrintAnything,将点云转换为G-plan Map并编译逐层G代码以进行打印。

点云自然地由LiDAR传感器[13]、RGB-D相机[12]产生,并且越来越多地由3D生成模型[8,15,18,23,34,41,43,46,60]产生。与此同时,3D打印因其在快速原型制作和定制化制造方面的可及性和有效性,已成为一种广泛采用的3D几何体制造技术。然而,点云与3D打印的集成在实践中仍然有限。因此,实现通过3D打印直接制造点云,是一个重要但尚未被充分探索的问题。 有两个主要问题阻碍了点云直接用于3D打印。首先,现有的3D打印流程无法直接接受点云作为输入。在典型的制造工作流中,数字3D模型通过切片软件[40]转换为逐层刀具路径,这些刀具路径通过指定喷嘴运动和材料挤出的G代码指令来执行。这些流程假设以水密网格作为输入表示,这使得点云与标准切片工具不兼容,尽管在许多采集流程中,点云往往是最容易获得的3D信号。其次,将点云转换为网格可能会引入导致打印失败的错误。一种常见做法是在切片前从点云重建网格[5,11,17,27,38],但从稀疏或有噪声的点云重建表面本质上是病态的,并且经常产生诸如错误面片、孔洞或拓扑不一致等伪影。这些缺陷难以修复,并可能传播到切片阶段,导致无效的刀具路径或在制造过程中出现不稳定的挤出。对于仅由原始点坐标组成、没有法向量的无定向点云,这个问题尤其严重。

第 3 页

PrintAnything 3

如图1所示。因此,对网格的依赖不仅阻碍了无定向点云作为直接输入,还在点云的3D打印流程中引入了潜在的故障传播。 为克服这些挑战,我们提出了PrintAnything,一个无需网格重建,直接从点云学习生成可执行3D打印G代码的框架。为使点云能用作3D打印流程的输入,我们引入了一种逐切片点投影策略,将无结构点云转换为与切片对齐的2D输入,编码每个切片高度周围的局部几何上下文。这些切片对齐的表示使模型能够推理每个打印层的几何形状,同时保留原始3D点云的信息。此外,为消除由错误网格重建导致的故障,我们引入了几何平面图(G-plan)图,一种由占用图、区域图和流量图组成的紧凑逐切片表示。占用图指定哪些空间位置对应打印材料,区域图编码刀具路径合成所需的结构类别(例如,壁或填充),流量图则表示材料沉积的挤出相关属性,如图1所示。基于此表示,PrintAnything从输入点云预测每个切片的G-plan图,在预测的填充区域内生成适当的填充图案,并最终将生成的图转换为有序的刀具路径,以产生可执行的G代码。通过此流程,PrintAnything实现了一种完全无网格的方法,直接将点云转换为用于3D制造的可打印指令。 总之,我们的主要贡献如下:

– 我们提出了PrintAnything,一个直接从点云生成可执行3D打印G代码的框架,实现了一个实用且完全无网格的制造流程。 – 为将点云几何与逐切片打印对齐,我们提出了一种逐切片点投影策略,将无结构3D点转换为适合刀具路径相关学习的切片对齐2D表示。 – 为用统一表示连接点云和G代码,我们提出了几何平面图(G-plan)图,一种由占用图、区域图和流量图组成的紧凑逐切片表示,编码了刀具路径合成所需的几何和挤出属性。 – 因此,我们的方法无需网格重建,即可直接从点云精确生成可打印的G代码,展示了一个稳健的无网格3D打印流程。

2 相关工作

3D打印。3D打印的最新进展在速度、精度、结构一致性和跨多样几何形状的鲁棒性方面均有提升[10, 20, 24, 35, 50, 61]。先前的工作探索了可打印连接件[20]、大规模模型数据集[61]、碰撞感知线框打印[50]、缆索驱动系统的刚度优化[10]、具有亚毫米精度的移动3D打印[24],以及

第 4 页

4 S. Hong 等

填充图案 字典

G代码 输入 点云 GPNet 填充图案生成器 逐层编译器

预测的G代码 3D打印输出

预测的G-Plan Map 填充后的G-Plan Map

图 2: PrintAnything框架。从输入点云和切片索引开始,我们对其进行编码并传入GPNet,以预测M、R、Q。随后,M、R、Q连同填充图案字典被送入填充图案生成器,生成填充后的M、R、Q。最后,我们将填充后的M、R、Q输入逐层G代码生成器,得到预测的G代码,并直接转换为3D打印输出。

基于挤出的传感器制造工艺[35]。近期的研究探索了多轴和基于学习的切片方法,包括曲线切片生成[58]、表示无关的神经切片[26]、成对的CAD–G代码数据集[16]、基于强化学习的刀具路径规划[14, 33]以及图像到G代码的生成[48]。我们使用Slice-100K [16]作为主要的实验数据集。与现有方法不同,PrintAnything能直接从点云生成可打印的G代码,使拥有3D扫描数据的用户能够获得制造就绪的刀具路径。 面向制造的AI。AI已被广泛应用于制造业,以实现重复流程的自动化并利用特定任务的数据。代表性方向包括形状设计[7, 19, 54, 55]、装配[2, 3, 29, 36, 44, 47]、人员监控与技能迁移[22, 30]、视觉检测[25, 53, 56]以及工厂仿真[57]。近期的研究进一步探讨了制造模型部署中的权衡[52]、光刻仿真与掩模优化[59]、基于视觉的自动缝纫[21]、用于机器人任务排序的强化学习[30]、面向装配状态识别的表示学习[44]、兼容仿真的装配资产生成[47]、工业异常生成[45],以及面向制造检测的大语言模型适配[25]。

3 方法

图2展示了PrintAnything的整体流程,该流程包含三个阶段:几何平面图预测、填充图案生成以及逐层G代码生成。在训练之前,我们从真实G代码和3D模型构建真实G-plan map,随后用于监督PrintAnything的训练。

第 5 页

PrintAnything 5

切片 N

.

.

.

切片 1

切片 0

占用图 M 区域图 R 流量图 Q

G代码 3D模型 几何平面图

图 3: GT G-plan map 生成。我们从一对 G代码 和 3D 模型生成几何平面图 (G-plan) 地图。

3.1 GT 几何平面图 (G-plan) 地图生成

给定一对由 3D 网格 M 及其对应的切片 G代码 G 组成的配对,我们构建三个几何平面图 (G-plan) 地图:占用图 M、区域图 R 和流量图 Q。切片 G代码 G 编码了 3D 打印机的刀具路径坐标以及打印属性,包括结构类别(例如,间隙、壁、填充、支撑、裙边)和给定切片上每条路径段的挤出长度。对于每个切片,我们首先通过光栅化 G 中指定的结构类别来构建区域图 R。基于 R,我们随后构建占用图 M,它表示所有打印区域的并集。最后,我们通过将归一化的挤出长度值分配给相应的坐标来计算流量图 Q。所有地图都被调整到 256 × 256 的固定分辨率,以便与基于图像的编码器-解码器框架(例如,U-Net [42])兼容。

3.2 几何平面图预测

给定输入点云 P ∈ RN×3,我们的模型预测第 3.1 节中定义的 G-plan 地图。对于由 Zslice ∈ {0, 1, . . . , N} 索引的每个切片,我们估计占用图 M pred,′、区域图 R′pred 和流量图 Q′pred。我们将归一化的切片高度表示为 ˜Zslice = ZsliceN ∈ [0, 1]。我们首先使用点云编码器 Eglobal(即 Point Transformer V3 [51])对输入点云进行编码,生成全局特征:zg = Eglobal(P) ∈ RD。对于每个切片,我们通过将点云投影到高度为 ˜Zslice 的打印机 XY 网格上来构建切片对齐的 2D 输入。满足 |z − ˜Zslice| ≤ ∆z/2 的点被选中,连同上方和下方的相邻区间,以提供局部上下文,我们称之为多切片条件化 (MSC)。我们将这些点光栅化到一个 H × W 的网格中,并为每个区间计算占用掩码、密度图和高度偏移图。将这些通道连接起来得到一个张量:HZslice ∈ RC×H×W。归一化的切片高度使用 MLP 嵌入:zzs = Ezslice(˜Zslice)。基于全局特征 zg 和嵌入的切片高度 zzs,我们构建切片条件向量为 hZslice = [ zg; zzs ]。然后,我们使用一个由编码器和解码器组成的 U-Net [42] 架构 (GPNet)。编码器处理切片输入如下:

第 6 页

6 S. Hong 等

Xzslice = EGPNet(Hzslice)。条件向量 hZslice 通过 FiLM [39] 注入瓶颈层:

\mathb f {X}_{z _ {\ m athrm {slic e }}}' = \mathbf{X}_{z_{\mathrm{slice}}}\odot(1+\gamma(\mathbf{h}_{z_{\mathrm{slice}}}))\beta(\mathbf{h}_{z_{\mathrm{slice}}}). (1)

最终,解码器生成特征图:Yzslice = DGPNet(X′zslice)。最后,通过 1×1 卷积头预测最终的 G-plan 图:

M'_{\ mathrm {pred} } ,\; R'_{\mat hrm {pred}}, \; Q'_{\mathrm{pred}}=\mathcal{H}_{\mathrm{M}}(\mathbf{Y}_{z_{\mathrm{slice}}}),\;\mathcal{H}_{\mathrm{R}}(\mathbf{Y}_{z_{\mathrm{slice}}}),\;\mathcal{H}_{\mathrm{Q}}(\mathbf{Y}_{z_{\mathrm{slice}}}). (2)

所有图均在 256×256 分辨率下预测。

3.3 填充图案生成

我们的目标是选择一个填充图案 p 和缩放比例 s,以平衡零件强度和打印成本。我们并非从零开始学习填充几何,而是利用一个小型手工设计模板库(例如网格、立方、蜂窝、螺旋二十四面体),并使用自动生成的监督信号训练一个轻量级推荐器。我们通过反复采样一个训练形状,并随机选择一个模板图案 p 和一个连续的缩放参数 s,构建了一个引导数据集。对于每个采样对 (p, s),我们使用周期性包裹将相应模板变形至目标层分辨率,使图案无缝平铺,并仅将其插入预测区域图 R 中指定的填充区域内,同时保持结构区域(外壁/支撑/裙边)不变。这将为所选 (p, s) 生成合成的 G-plan 图 Mpred、Rpred 和 Qpred。然后,我们从合成图中计算两个低成本的代理目标:强度代理 S 和成本代理 C。强度代理随以下因素增加:(i) 占用区域内的填充比率,(ii) 以最大连通分量比例衡量的填充连通性,以及 (iii) 方向平衡性;成本代理随材料用量和填充边界过渡次数增加,这作为路径复杂度和打印开销的简单代理。重复此过程可生成大量带标签的样本,形式如下:

(\hip (M '_{\mat hrm {pre d} }, R' _{\ mathrm{pred}},Q'_{\mathrm{pred}}),\,p,\,s)\\longrightarrow(S,\,C), (3)

其中 ϕ(M pred,′ R′pred, Q′pred) 表示从预测的 G-plan 图中计算出的简单特征。 利用此数据集,我们拟合一个小型代理推荐器,该推荐器包含两个回归器,用于从候选选择中预测 ˆS(p, s) 和 ˆC(p, s)。在推理时,我们枚举一个离散候选集 {(pi, si)},为每个候选预测 ( ˆSi, ˆCi),并保留构成帕累托前沿的非支配解(更高的预测强度与更低的预测成本)。我们从此前沿中选择最终策略,并通过将相应模板变形并插入预测的 G-plan 图中来生成最终填充。

第 7 页

PrintAnything 7

3.4 逐切片G代码生成

给定填充后的几何平面图 Mpred、Rpred 和 Qpred,我们通过将每个切片转换为打印机XY平面上的有序刀具路径来生成G代码。每个切片提供像素到毫米的尺度 px_mm、切片高度以及物理坐标中的栅格原点。在转换之前,我们通过将栅格原点置于打印床中心来居中切片。对于像素位置 u = (ux, uy),像素中心处的物理坐标为:

( x, y ) = \ big ((u_x + 0 .5) \ ,\te xttt { px \ _mm}x_0,\;(u_y0.5)\,\texttt{px\_mm}y_0\big(4)

其中 (x0, y0) 是居中的原点偏移量,单位为毫米。我们从占用掩码 Mpred 生成轮廓和填充刀具路径,其中区域图 Rpred 确定每个区域的结构类型(例如,壁、填充),并根据每个线段的物理长度、打印参数以及从 Qpred 采样的流量值计算其挤出量。例如,当 px_mm = 0.5 mm、切片高度 0.20 mm、线宽 0.45 mm、居中原点 (100, 100) mm、丝材直径 1.75 mm 且 Qpred = 1.0 时,三个边界像素 (20, 40) → (60, 40) → (60, 80)(在 Rpred 中标记为壁)映射到 (110.25, 120.25)、(130.25, 120.25) 和 (130.25, 140.25) mm,对于 (20, 40) 通过 (20+0.5)×0.5 + 100 = 110.25 mm 和 (40+0.5)×0.5 + 100 = 120.25 mm 计算得出。每个线段的长度为 20 mm,产生的沉积体积为 0.45×0.20×20 = 1.8 mm³,对应的挤出长度为 1.8 ÷ π(1.75/2)² ≈ 0.75 mm。沿连续线段累积挤出量可生成如下G代码:

示例G代码

; 轮廓(壁) G1 X110.25 Y120.25 Z0.20 E0.75 G1 X130.25 Y120.25 Z0.20 E1.50 G1 X130.25 Y140.25 Z0.20 E1.05

这些指令在沉积材料的同时沿连接的线段移动喷嘴。按高度递增顺序处理所有切片,即可生成最终的逐切片G代码,其中 Mpred 确定打印区域,Rpred 指定结构角色,Qpred 控制空间变化的挤出量。

3.5 最终输出与损失函数

在训练过程中,模型为每个由 Zslice 索引的切片预测几何平面图 M pred,′ R′pred 和 Q′pred,并使用第3.1节中描述的真值图 M、R 和 Q 进行监督。我们优化一个多任务目标,该目标结合了占用、区域分类和流量估计的损失。占用损失鼓励准确预测打印区域与空白区域。我们使用二元交叉熵(BCE)与 Dice [32] 损失相结合:

\ mathcla {L} _M = \matrmh {B CE}(M_{pred}',M)\mathrm{DICE}(M_{pred}',M). (5)

第 8 页

8 S. Hong 等

区域损失使用加权交叉熵对结构标签进行监督: \ mathcal {L} _R =\mathrm{WCE}(R_{pred}',R), (6)

其中 WCE 表示加权交叉熵。流量损失仅衡量已打印区域内预测挤出流量的误差。我们使用带掩码的 Huber [6] 损失: \ mathca l{L}_Q = \ mathrm{Huber}\!\left(Q_{pred}',Q;M\right(7) 其中掩码 M 将损失限制在已打印区域。最终训练目标是三项损失的加权和,其中 λM、λR 和 λQ 是平衡各项贡献的标量权重:

\mat h cal { L} = \lambda_M\mathcal{L}_M\lambda_R\mathcal{L}_R\lambda_Q\mathcal{L}_Q. (8)

4 实现细节

我们在 PyTorch [37] 中实现 PrintAnything,并使用混合精度通过 AdamW [28] 进行训练。每个形状采样 N=30,000 个表面点,并将其归一化到 [−1, 1]。所有几何平面图均按每层 256×256 的固定分辨率进行光栅化和预测。遵循第 3 节,我们使用全局点云编码器 Eglobal(Point Transformer V3 [51])对输入点云进行编码,生成全局特征 zg。对于每个切片,我们通过将目标高度附近的点(包括上下相邻区间以获取局部上下文)投影到打印机 XY 网格上,构建一个切片对齐的 2D 输入。我们使用 MLP 嵌入归一化的切片高度 ˜z ∈[0, 1],并将其与 zg 拼接以形成切片条件向量。我们使用 U-Net [42] 作为 GPNet 的主干网络来处理切片输入,通过 FiLM [39] 在瓶颈处注入条件信息,并使用独立的 1×1 卷积头预测占用图、区域图和流量图。我们训练 50 个 epoch,学习率为 2×10−4,权重衰减为 10−4。所有实验均在单块 NVIDIA Quadro RTX 8000 GPU 上进行。对于所有生成的 G代码,我们使用 PrusaSlicer [40] 模拟打印过程并可视化 3D 打印结果。

5 实验

5.1 数据集

我们在 Slice-100K [16] 上进行实验,这是一个用于学习面向打印的 3D 表示的大规模数据集。每个样本包含一个 3D 形状及其制造监督信息,包括其 CAD 模型(STL)和由标准切片流程生成的对应真实 G代码。我们将形状按 9:1 的比例随机划分为训练集和测试集,并报告在留出测试集上的平均性能。 作为输入,我们将每个形状表示为表面点云:均匀采样 30k 个点,并将坐标归一化到 [−1, 1] 范围内。对于监督和模型输出,我们通过将真实 G代码光栅化为目标切片分辨率下的占用图、区域图和流量图来构建逐层几何平面图,这些图用于训练和评估我们的模型。

第 9 页

PrintAnything 9

5.2 评估指标

在所有实验中,我们报告了在Slice-100K [16]数据集测试集上的平均性能。对于3D几何评估,我们的主要评估指标是倒角距离(Chamfer Distance, CD)和F1分数(F13D)。令P表示从预测形状采样的点,G表示从真实(GT)网格采样的点。我们使用如下定义的倒角距离(CD)进行评估:

\[ d_{\text{CD}}(\mathcal{P}, \mathcal{G}) = \frac{1}{|\mathcal{P}|}\sum_{p\in\mathcal{P}}\min_{g\in\mathcal{G}}\|p-g\|_2 + \frac{1}{|\mathcal{G}|}\sum_{g\in\mathcal{G}}\min_{p\in\mathcal{P}}\|g-p\|_2 \quad (9) \]

我们还报告了在设置距离阈值τ = 1 mm后的3D点F1分数:

\[ \text{F1}_{3D} = \frac{2\text{P}_{3D}\text{R}_{3D}}{\text{P}_{3D}+\text{R}_{3D}}, \quad (10) \]

其中P和R表示在P和G之间计算的精确率和召回率。为了评估切片级结构精度,我们从真实G代码中栅格化切片,并为每个栅格化切片计算二值占用F1分数:

\[ \text{F1}_{2D} = \frac{2\text{P}_{2D}\text{R}_{2D}}{\text{P}_{2D}+\text{R}_{2D}}, \quad (11) \]

其中P2D和R2D表示预测切片占用的精确率和召回率。最终分数通过对切片和样本取平均得到。对于几何平面图(G-plan map)设计的消融研究,我们进一步评估从生成G代码中导出的挤出流量属性。我们仅考虑具有非零XY运动的挤出移动(∆Ek > 0)。对于每次移动,我们定义平面行程长度∆sk = ∥(xk, yk) −(xk−1, yk−1)∥2和挤出密度ρk = ∆Ek / (∆sk+ϵ)。我们使用以下公式测量挤出平滑度:

\[ \Delta\rho_{\text{smooth}} = \frac{1}{N-1}\sum_{k=2}^{N}\left|\rho_k-\rho_{k-1}\right| \quad (12) \]

它捕捉了沿刀具路径挤出密度的局部变化。我们还通过计算每个切片内挤出密度的变异系数来评估每切片挤出一致性:

\[ \text{CV}_z = \frac{\text{std}(\rho^{(z)})}{|\text{mean}(\rho^{(z)})|+\epsilon}, \qquad \rho\text{-CV} = \frac{1}{Z'}\sum_{z=1}^{Z'}\text{CV}_z \quad (13) \]

其中ρ(z)表示切片z内移动的挤出密度,Z′是包含至少一次挤出移动的切片数量。较低的值表示更平滑和更一致的挤出行为。

5.3 与最先进方法的比较

如第1节所述,从点观测进行打印的一种自然且广泛采用的基线方法是首先将输入转换为网格,然后依赖

第 10 页

10 S. Hong 等

点云 Poisson MeshAnything DWG 本文方法

图 4: 在 Slice-100K [16] 数据集上的定性结果。

成熟的切片软件来生成G代码。遵循这一原则,我们与基于经典泊松曲面重建 [17] 以及近期基于学习的方法 DWG [27] 和 MeshAnything [5] 构建的强大网格转换流程进行了比较。对于每个基线方法,我们从输入点云重建网格,并将生成的网格输入 PrusaSlicer [40] 以生成最终的刀具路径,从而形成一个标准的“点云 → 网格 → 切片器 → G代码”工作流程。 表 1 总结了在 Slice-100K [16] 上的结果。我们的方法在所有指标上均取得了最佳性能,达到了 0.047 的倒角距离 (CD)、0.7414 的 F13D 和 0.677 的 F12D。相比之下,基于网格的流程往往会跨阶段累积误差:重建过程中引入的微小几何瑕疵在切片后可能被放大,这在较低的切片级分数中体现得最为明显。

表 1: 在 Slice-100K [16] 数据集上,各种点云到G代码预测技术的定量比较。

表示形式 方法 CD ↓ F13D ↑ F12D ↑

网格 Poisson [17] 0.088 0.682 0.587 DWG [27] 0.062 0.712 0.496 MeshAnything [5] 0.157 0.480 0.356

几何平面图 PrintAnything (本文) 0.047 0.741 0.677

第 11 页

PrintAnything 11

我们在图4中进一步可视化了输出的3D打印件。泊松重建通常会平滑掉薄壁结构,而基于学习的网格方法可能引入破损表面或局部杂乱,这会在切片后转化为缺失或碎片化的刀具路径。相比之下,我们的方法生成了更连贯、更完整的打印结构,尤其是在具有细长部件和尖锐特征的形状上,从而产生与目标切片更匹配的刀具路径。总体而言,这些定量和定性结果表明,用我们的G-plan map表示输入,能比基于网格的转换流程加传统切片器产生更可靠、更忠实于切片的刀具路径。

表2:在Slice-100K [16]上对多切片条件化(MSC)的消融实验。

多切片条件化 CD ↓ F13D ↑ F12D ↑ ✗ 0.059 0.702 0.652 ✓ 0.047 0.741 0.677

5.4 多切片条件化

表2展示了多切片条件化(MSC)在Slice-100K [16]上的影响。启用MSC显著提升了几何精度:CD从0.059降至0.047,降幅达20.3%。它还提高了3D形状保真度,F13D从0.702提升至0.741,提升幅度为5.6%。这些增益表明,基于多个相邻切片的条件化有助于模型解决切片间的歧义。通过强制切片间连续性和结构支撑线索,我们的PrintAnything能做出比仅依赖单切片上下文更一致的刀具路径决策。

表3:在Slice-100K [16]上,我们的推荐器与随机尺度/固定尺度基线的比较。

方法 强度 ↑ 成本 ↓ 综合↑

随机图案 + 随机尺度 0.294 38,808 0.757 立方体 + 随机尺度 0.298 36,994 0.806 网格 + 随机尺度 0.310 41,535 0.748 螺旋体 + 随机尺度 0.271 42,247 0.643 蜂窝 + 随机尺度 0.294 35,445 0.830 随机图案 + 固定尺度 (s=1.0) 0.300 35,866 0.837 我们的(推荐器) 0.308 32,974 0.937

5.5 填充策略推荐

表3将我们的填充策略推荐器与多种填充图案下的随机尺度和固定尺度基线进行了比较。我们评估每种方法

第 12 页

12 S. Hong et al.

GT点云 不完整点云 点投影切片 PrintAnything(本文方法) 预测占用图

(a) 不完整点云输入的定性结果

GT点云 含噪点云 点投影切片 PrintAnything(本文方法) 预测占用图

(b) 含噪点云输入的定性结果

图5: 在Slice-100K [16]数据集上,针对不完整和含噪点云输入的定性结果。黄色框标出 不完整输入中缺失观测的区域。对于含噪情况,提供了放大插图以便更清晰地比较。

我们采用三个标准进行评估:结构强度代理指标、制造成本代理指标,以及平衡两者的综合得分。具体而言,强度代理指标衡量:(i) 占用区域内的填充材料比率,(ii) 填充的连通性(最大连通分量比率),以及(iii) 一个方向平衡项,该项倾向于分布良好的填充边界;而成本代理指标则随总占用面积和填充边界转换次数的增加而增大。这些指标的详细计算方法见补充材料。我们将综合得分计算为:综合得分 = 10^5 · 强度 / 成本。 在基线方法中,随机缩放策略偶尔能获得有竞争力的强度。例如,Grid + Random Scale取得了0.310的最高强度值,但其成本高达41,535,因此综合得分较低,仅为0.748。相比之下,我们的推荐器在实现0.308的高强度值的同时,产生了最低的制造成本32,974。因此,它获得了0.937的最佳综合得分。总体而言,这些结果表明,我们的推荐器能够学习选择更好地平衡强度与成本权衡的填充策略,从而实现更高效且可靠的制造结果。

第 13 页

PrintAnything 13

5.6 对扫描伪影的鲁棒性

在实际应用中,由消费级深度传感器或3D扫描仪获取的点云常常受到遮挡和测量噪声的影响。为增强对此类扫描伪影的鲁棒性,我们在训练过程中额外应用了两种数据增强:结构化孔洞丢弃,即移除一个连续3D球形区域内的点以模拟遮挡;以及在归一化坐标下添加标准差为0.01的高斯噪声。 图5展示了缺失部分圆形几何结构的不完整点云的定性结果,这是一种由传感器与物体间遮挡导致的常见失效模式。尽管存在观测缺失,我们的方法仍能恢复出完整的可打印形状,生成稳定的占用预测和连贯的刀具路径。图5展示了一个含噪输入案例。即使点云被噪声破坏,投影切片依然保持稳定,并且预测的占用图和生成的G代码都保留了预期的结构,没有引入虚假伪影。总体而言,这些结果表明我们的流程对现实扫描缺陷具有鲁棒性,能够从不完美的点观测中可靠地生成可打印的刀具路径。

表4:在Slice-100K [16]上对表示方法的消融实验。

M R Q CD ↓ F13D ↑ F12D ↑ ∆ρ-smooth ↓ ρ-CV ↓ ✓ ✗ ✗ 0.052 0.709 0.635 0.082 1.055 ✓ ✓ ✗ 0.046 0.728 0.675 0.081 1.059 ✓ ✓ ✓ 0.047 0.741 0.677 0.035 0.909

5.7 对几何平面图设计的消融实验

我们通过逐步添加其组件M、R、Q来分析所提出的几何平面图(Geometric plan (G-plan) map)的设计。具体来说,我们比较了三种配置:仅使用占用图M(第一行),使用占用图M和区域图R(第二行),以及使用包含流量图Q的完整表示(第三行)。表4报告了在Slice-100K [16]上的结果。仅使用M能提供粗略的可打印几何结构,但无法区分需要不同沉积行为的结构差异区域。区域图R提升了几何保真度,使倒角距离(Chamfer Distance, CD)降低了11.5%,F13D提高了2.7%。这一改进表明,区域级别的线索有助于消除边界和内部支撑周围刀具路径分配的歧义。添加流量图Q进一步改善了预测刀具路径的流量相关指标。特别是,流量平滑度度量∆ρ-smooth从0.081降至0.035,降幅达56.8%;挤出变异性ρ-CV从1.059降至0.909,降幅为14.2%。总体而言,结果强调了我们几何平面图的所有组件不仅对几何重建至关重要,而且对G代码生成过程中实现单位路径长度的挤出一致性也至关重要。

第 14 页

14 S. Hong 等

输入点云 由真实机器3D打印的输出

图 6: 由真实机器3D打印的输出可视化。

第 15 页

PrintAnything 15

5.8 真实3D打印机上的结果

图6展示了直接由PrintAnything生成的G代码制作的真实3D打印结果。所有物体均使用Bambu Lab X1-Carbon打印机进行制造,未对生成的G代码进行任何额外的后处理,这使我们能够评估本方法原始的打印质量。结果表明,预测的G代码在多种形状和几何复杂度下均具有鲁棒性。特别是,第一、二、三和第七行展示了制造业中常用的带有齿轮结构的机械零件,打印输出在整个齿轮上呈现出均匀且形态良好的齿形。第四行展示了一个具有纤细脆弱结构的复杂物体,PrintAnything仍能为其生成细节丰富且稳定的打印件。我们通过手动压力测试进一步评估了打印物体的结构完整性,打印件在合理的外力下保持完好。这些结果表明,PrintAnything能够生成可靠的G代码,并有效地在真实3D打印硬件上转化为高质量的物理打印件。

6 结论

我们提出了PrintAnything,这是一个无需网格重建,直接从点云生成可执行3D打印G代码的框架。为了连接点云与逐层制造,我们引入了一种逐层点投影策略,将点云转换为与切片对齐的2D表示。我们进一步提出了Geometric plan (G-plan) map,它由占用图、区域图和流量图组成,编码了刀具路径合成所需的几何与挤出特性。最终,PrintAnything从输入点云预测G-plan maps,并将其转换为可执行的刀具路径以生成可打印的G代码,从而实现了一条实用的无网格制造流程。作为未来工作,我们计划扩展该框架,以支持更多样化的打印机设置和具有物理约束的材料。

致谢

本工作部分得到了韩国政府(MSIT)资助的IITP项目[编号:RS-2021-II211343,人工智能研究生院计划(首尔大学),编号:RS-2024-00426853,编号:RS-2025-02303870,编号:2022-0-00156]的支持。我们感谢Juhyoung Lee在物理3D打印和样品制造方面提供的帮助。

第 16 页

16 S. Hong et al.

参考文献

1. de Avila Belbute-Peres, F., Smith, K., Allen, K., Tenenbaum, J., Kolter, J.Z.: 面向学习与控制的端到端可微物理。NeurIPS (2018) 29 2. Ben-Shabat, Y., Yu, X., Saleh, F., Campbell, D., Rodriguez-Opazo, C., Li, H., Gould, S.: IKEA ASM数据集:通过动作、物体和姿态理解人们组装家具。见:WACV,第847–859页 (2021) 4 3. Bhatt, P.M., Kulkarni, A., Malhan, R.K., Gupta, S.K.: 优化零件放置以提高机器人增材制造的精度。见:ICRA (2021) 4 4. Chang, A.X., Funkhouser, T., Guibas, L., Hanrahan, P., Huang, Q., Li, Z., Savarese, S., Savva, M., Song, S., Su, H., 等:ShapeNet:一个信息丰富的3D模型库。arXiv预印本 arXiv:1512.03012 (2015) 27 5. Chen, Y., He, T., Huang, D., Ye, W., Chen, S., Tang, J., Cai, Z., Yang, L., Yu, G., Lin, G., 等:MeshAnything:基于自回归Transformer的艺术家创作网格生成。见:ICLR 2, 10, 28, 29 6. Collins, J.R.: 存在不对称性时位置参数的稳健估计。The Annals of Statistics (1976) 8, 25 7. Du, T., Inala, J.P., Pu, Y., Spielberg, A., Schulz, A., Rus, D., Solar-Lezama, A., Matusik, W.: InverseCSG:将3D模型自动转换为CSG树。ACM TOG (2018) 4 8. Du, Y., Zhao, Z., Su, S., Golluri, S., Zheng, H., Yao, R., Wang, C.: SuperPC:一个用于点云补全、上采样、去噪和着色的单一扩散模型。见:CVPR (2025) 2 9. Greydanus, S., Dzamba, M., Yosinski, J.: 哈密顿神经网络。NeurIPS (2019) 29 10. Gueners, D., Chanal, H., Bouzgarrou, B.: 用于增材制造的绳索驱动并联机器人刚度优化。见:ICRA (2020) 3 11. Hanocka, R., Metzer, G., Giryes, R., Cohen-Or, D.: Point2Mesh:可变形网格的自先验。ACM TOG (2020) 2 12. Hong, S., Lee, S., Lee, K.M.: StarryGazer:利用单目深度估计模型进行领域无关的单深度图像补全。arXiv预印本 arXiv:2512.13147 (2025) 2, 30 13. Hong, S., Yavartanoo, M., Neshatavar, R., Lee, K.M.: ACL-SPC:用于自监督点云补全的自适应闭环系统。见:CVPR (2023) 2, 30 14. Huang, Y., Guo, Y., Su, R., Han, X., Ding, J., Zhang, T., Liu, T., Wang, W., Fang, G., Song, X., 等:基于学习的多样化图结构刀具路径规划器用于3D打印。ACM TOG (2024) 4 15. Huang, Z., Johnson, J., Debnath, S., Rehg, J.M., Wu, C.Y.: PointInfinity:分辨率不变的点扩散模型。见:CVPR (2024) 2 16. Jignasu, A.N., Marshall, K., Mishra, A.K., Nerone Rillo, L., Ganapathysubramanian, B., Balu, A., Hegde, C., Krishnamurthy, A.: Slice-100K:一个用于挤出式3D打印的多模态数据集。NeurIPS (2024) 4, 8, 9, 10, 11, 12, 13, 28, 31, 32 17. Kazhdan, M., Bolitho, M., Hoppe, H.: 泊松表面重建。见:SGP (2006) 2, 10, 28, 29 18. Kim, J., Yoo, J., Lee, J., Hong, S.: SetVAE:学习集合结构数据生成式建模的层次化组合。见:IEEE/CVF计算机视觉与模式识别会议论文集,第15059–15068页 (2021) 2 19. Koch, S., Matveev, A., Jiang, Z., Williams, F., Artemov, A., Burnaev, E., Alexa, M., Zorin, D., Panozzo, D.: ABC:一个用于几何深度学习的大型CAD模型数据集。见:CVPR (2019) 4

第 17 页

PrintAnything 17

20. Koyama, Y., Sueda, S., Steinhardt, E., Igarashi, T., Shamir, A., Matusik, W.: AutoConnect: 可3D打印连接件的计算设计. ACM TOG (2015) 3 21. Ku, S., Choi, H., Kim, H.Y., Park, Y.L.: 基于机器视觉的自动化缝纫系统用于智能服装制造. RA-L (2023) 4 22. Kubota, A., Iqbal, T., Shah, J.A., Riek, L.D.: 制造业中的活动识别:运动捕捉与sEMG+惯性可穿戴设备在检测精细与粗略动作中的作用. In: ICRA (2019) 4 23. Lee, J.J., Benes, B.: RGB2Point: 从单张RGB图像生成3D点云. In: WACV (2025) 2 24. Li, J., Aubin-Fournier, P.L., Skonieczny, K.: SLAAM: 同步定位与增材制造. T-RO (2020) 3 25. Li, Y., Yuan, S., Wang, H., Li, Q., Liu, M., Xu, C., Shi, G., Zuo, W.: Triad: 赋能基于LMM的异常检测,结合专家引导的感兴趣区域分词器与制造工艺. In: ICCV (2025) 4 26. Liu, T., Zhang, T., Chen, Y., Huang, Y., Wang, C.C.: 用于多轴3D打印的神经切片器. ACM TOG (2024) 4 27. Liu, W., Li, J., Chen, X., Hou, F., Xin, S., Wang, X., Wu, Z., Qian, C., He, Y.: 扩散缠绕梯度 (DWG): 一种从无定向点云进行3D重建的并行可扩展方法. ACM TOG (2025) 2, 10, 28, 29 28. Loshchilov, I., Hutter, F.: 解耦权重衰减正则化. In: ICLR (2019) 8 29. Malhan, R.K., Kabir, A.M., Shah, B., Gupta, S.K.: 针对复杂制造任务,识别冗余机械臂的可行工件放置. In: ICRA (2019) 4 30. Manyar, O.M., McNulty, Z., Nikolaidis, S., Gupta, S.K.: 用于在制造应用中将任务排序策略从人类迁移到机器人的逆强化学习框架. In: ICRA (2023) 4 31. Mezghanni, M., Bodrito, T., Boulkenafed, M., Ovsjanikov, M.: 用于精确3D建模的物理仿真层. In: CVPR (2022) 29 32. Milletari, F., Navab, N., Ahmadi, S.A.: V-Net: 用于体积医学图像分割的全卷积神经网络. In: 3DV (2016) 7, 24 33. Mnih, V., Kavukcuoglu, K., Silver, D., Graves, A., Antonoglou, I., Wierstra, D., Riedmiller, M.: 使用深度强化学习玩Atari游戏. arXiv preprint arXiv:1312.5602 (2013) 4 34. Mo, S., Xie, E., Wu, Y., Chen, J., Nießner, M., Li, Z.: 使用极端掩码快速训练扩散Transformer以生成3D点云. In: ECCV (2024) 2 35. Munasinghe, N., Masangkay, J., Paul, G.: 用于先进制造应用的温度补偿3D打印应变传感器. In: ICRA (2021) 3, 4 36. Owan, P., Garbini, J., Devasia, S.: 通过任务动力学模仿学习实现动态自主,加快受限空间制造遥操作. RA-L (2020) 4 37. Paszke, A., Gross, S., Massa, F., Lerer, A., Bradbury, J., Chanan, G., Killeen, T., Lin, Z., Gimelshein, N., Antiga, L., Desmaison, A., Köpf, A., Yang, E., DeVito, Z., Raison, M., Tejani, A., Chilamkurthy, S., Steiner, B., Fang, L., Bai, J., Chintala, S.: PyTorch: 一种命令式风格的高性能深度学习库. In: NeurIPS (2019) 8 38. Peng, S., Jiang, C., Liao, Y., Niemeyer, M., Pollefeys, M., Geiger, A.: Shape as Points: 一种可微泊松求解器. NeurIPS (2021) 2

第 18 页

18 S. Hong 等

39. Perez, E., Strub, F., De Vries, H., Dumoulin, V., Courville, A.: FiLM: 基于通用条件化层的视觉推理。见: AAAI (2018) 6, 8, 24 40. Prusa Research a.s.: PrusaSlicer。https://www.prusa3d.com/page/prusaslicer_424/ (2026) 2, 8, 10 41. Ren, Z., Kim, M., Liu, F., Liu, X.: TIGER: 基于扩散过程的时变去噪模型用于三维点云生成。见: CVPR (2024) 2 42. Ronneberger, O., Fischer, P., Brox, T.: U-Net: 用于生物医学图像分割的卷积网络。见: MICCAI (2015) 5, 8, 23 43. Sanghi, A., Chu, H., Lambourne, J.G., Wang, Y., Cheng, C.Y., Fumero, M., Malekshan, K.R.: CLIP-Forge: 面向零样本文本到形状生成。见: CVPR (2022) 2 44. Schoonbeek, T.J., Balachandran, G., Onvlee, H., Houben, T., Hung, S.H., Kustra, J., de With, P.H., van der Sommen, F.: 面向可泛化装配状态识别的监督表示学习。RA-L (2024) 4 45. Tong, X., Chang, Y., Zhao, Q., Yu, J., Wang, B., Lin, J., Lin, Y., Mai, X., Wang, H., Tao, Z., 等: 面向工业异常检测的组件感知无监督逻辑异常生成。见: ICRA (2025) 4 46. Vahdat, A., Williams, F., Gojcic, Z., Litany, O., Fidler, S., Kreis, K., 等: LION: 用于三维形状生成的隐式点扩散模型。NeurIPS (2022) 2 47. Wang, Y., Tang, B., Gan, C., Fox, D., Mo, K., Narang, Y., Akinola, I.: MatchMaker: 面向机器人装配的自动化资产生成。见: ICRA (2025) 4 48. Wang, Z., Jadhav, Y., Pak, P., Farimani, A.B.: Image2Gcode: 使用扩散变换器模型面向增材制造的图像到G代码生成。arXiv 预印本 arXiv:2511.20636 (2025) 4 49. Wright, L.G., Onodera, T., Stein, M.M., Wang, T., Schachter, D.T., Hu, Z., McMahon, P.L.: 使用反向传播训练的深度物理神经网络。Nature (2022) 29 50. Wu, R., Peng, H., Guimbretière, F., Marschner, S.: 使用五自由度线框打印机打印任意网格。ACM TOG (2016) 3 51. Wu, X., Jiang, L., Wang, P.S., Liu, Z., Liu, X., Qiao, Y., Ouyang, W., He, T., Zhao, H.: Point Transformer V3: 更简单、更快、更强。见: CVPR (2024) 5, 8, 23 52. Yang, C., Wu, Z., Chee, J., De Sa, C., Udell, M.: 我们能降到多低: 低精度训练中以内存换取误差。见: ICLR (2022) 4 53. Yang, H., Zhu, H., Li, J., Chen, J., Yin, Z.: 面向纹理缺陷精确视觉检测的多类别分解编辑网络。T-ASE (2023) 4 54. Yavartanoo, M., Hong, S., Neshatavar, R., Lee, K.M.: CNC-Net: 面向CNC加工操作的自监督学习。见: CVPR (2024) 4 55. Yavartanoo, M., Hong, S., Neshatavar, R., Lee, K.M.: Text2CAD: 通过技术图纸实现文本到三维CAD生成。arXiv 预印本 arXiv:2411.06206 (2024) 4 56. Zhang, G., Cui, K., Hung, T.Y., Lu, S.: Defect-GAN: 面向自动化缺陷检测的高保真缺陷合成。见: WACV (2021) 4 57. Zhang, M., Wang, X., Decardi-Nelson, B., Song, B., Zhang, A., Liu, J., Tao, S., Cheng, J., Liu, X., Yu, D., 等: SMPL: 模拟工业制造与过程控制学习环境。NeurIPS (2022) 4 58. Zhang, T., Fang, G., Huang, Y., Dutta, N., Lefebvre, S., Kilic, Z.M., Wang, C.C.: S3-Slicer: 面向多轴三维打印的通用切片框架。ACM TOG (2022) 4 59. Zheng, S., Yang, H., Zhu, B., Yu, B., Wong, M.: LithoBench: 面向半导体制造的AI计算光刻基准测试。NeurIPS (2023) 4

第 19 页

PrintAnything 19

60. Zhou, C., Zhong, F., Hanji, P., Guo, Z., Fogarty, K., Sztrajman, A., Gao, H., Oztireli, C.: Frepolad: 面向点云生成的频率校正点潜在扩散模型。In: ECCV (2024) 2 61. Zhou, Q., Jacobson, A.: Thingi10K: 一个包含10,000个3D打印模型的数据集。arXiv preprint arXiv:1605.04797 (2016) 3

第 20 页

20 S. Hong 等

“PrintAnything: 面向无定向点云3D打印G代码生成的 几何平面图学习”补充材料

本补充材料包含因篇幅限制未能在正文中呈现的额外实验、分析与结果。内容概要如下: – S1. 逐切片G代码编译器细节 – S2. 真值G-plan map生成细节 – S3. 模型架构细节 – S4. 损失函数细节 – S5. 强度与成本代理指标的详细计算 – S6. 未见数据的定性结果 – S7. 预测G-plan map可视化 – S8. 填充后G-plan map可视化 – S9. 错误网格重建的结果 – S10. 运行时间对比 – S11. 局限性与社会影响

S1 逐切片G代码编译器细节

算法1描述了将预测的G-plan map转换为可执行3D打印G代码的逐切片流程。该编译器接收三种逐层图——占用掩膜M、区域图R和流量图Q——以及打印机参数作为输入,这些参数包括线宽w、层高h、轮廓壁数K、填充密度\rho、丝材直径d_{\mathrm{fil}}和打印速度。对于每一层,算法首先从占用掩膜中提取轮廓以生成轮廓路径。从外边界开始,每条轮廓被简化、转换为打印机坐标,并利用R赋予区域特定属性。长度为\ell的轮廓段的挤出量由基础挤出量E_{\mathrm{base}} = \frac{\ell w h}{A_f}计算得出,其中A_f = \pi (d_{\mathrm{fil}}/2)^2是丝材横截面积,然后通过从Q中该段中点处采样的流量值进行调制。完成一层轮廓壁后,对工作掩膜进行腐蚀以生成下一层内壁,此过程重复K次。随后,算法在占用区域内生成填充。扫描线间距由目标填充密度\rho决定,占用区间从占用掩膜中识别。对于每个长度为\ell的区间,挤出量使用相同的基础公式计算,并由从Q中采样的流量值调制。最终生成的轮廓和填充移动指令与打印机特定的头部和尾部信息一起,按顺序写入标准G代码文件,生成适用于熔丝制造(FFF)打印机的可执行指令。

第 21 页

PrintAnything 21

算法1 从几何平面图(G-plan map)到G代码的逐切片转换

要求: 具有占用掩膜M、区域图R和流量图Q的逐层几何平面图(G-plan map) 要求: 打印机设置:线宽w、层高h、壁数K、填充密度ρ和打印速度 确保: 包含外壁和填充的G代码 1: 加载几何平面图(G-plan map)并初始化G代码文件 2: 计算耗材面积 Af = π(dfil/2)² 3: 写入打印机文件头 4: 对于每一层 5: 加载 M、R 和 Q 6: 写入层注释头 7: 8: 外壁生成 9: 初始化工作掩膜 W ← M 10: 对于 k = 1 到 K 11: 从 W 中提取轮廓 12: 如果不存在轮廓,则 13: 中断 14: 结束条件 15: 对于每个轮廓 16: 简化轮廓并将顶点转换为打印机坐标 17: 使用 R 分配区域特定的打印属性 18: 移动到第一个点 19: 对于每个长度为 ℓ 的轮廓段 20: Ebase ← whℓ / Af 21: 在段中点处从 Q 采样 qv 22: E ← Ebase · qv 23: 写入挤出移动指令 24: 结束循环 25: 结束循环 26: 腐蚀 W 以获得下一个内壁 27: 结束循环 28: 29: 填充生成 30: 根据填充密度 ρ 计算扫描线间距 31: 对于每条选定的扫描线 32: 在 M 中找到被占用的区间 33: 对于每个长度为 ℓ 的区间 34: 使用 R 分配区域特定的打印属性 35: 移动到区间起点 36: Ebase ← whℓ / Af 37: 在区间中点处从 Q 采样 qv 38: E ← Ebase · qv 39: 写入到区间终点的挤出移动指令 40: 结束循环 41: 结束循环 42: 结束循环 43: 写入G代码文件尾

第 22 页

22 S. Hong 等

S2 真实几何平面图(G-plan map)生成细节

算法2描述了从G代码文件生成真实几何平面图(G-plan map)的过程。输入为G代码文件,以及可选的栅格化参数,如像素尺寸p、丝材直径df和喷嘴宽度dn。算法首先解析G代码文件,提取沉积的刀具路径段。对于文件中的每一行,解析器更新打印机状态,并检查该指令是否对应挤出运动。若是,则将该指令转换为一个沉积段,包含其端点、层高、挤出宽度、打印速度和运动类型,并将该段追加到对应层。解析完所有刀具路径后,算法从G代码文件头(若可用)中估算打印参数,包括丝材直径和喷嘴宽度。若未显式指定栅格像素尺寸,则根据喷嘴宽度确定,以保持合适的空间分辨率。接下来,算法通过收集所有沉积段的端点并确定全局2D边界框,为所有层计算一个共享的栅格网格。然后,每一层被栅格化为构成几何平面图(G-plan)表示的三个图:占用掩膜M、区域图R和流量图Q。对于层中的每个沉积段,算法确定其挤出宽度、层高、区域标签和体积流量,并根据其局部宽度将该段栅格化到网格上。对于每个被覆盖的像素,占用掩膜M被标记为已占用,区域图R被赋予或更新为对应的区域标签,流量图Q则累加该段的流量贡献。处理完层中的所有段后,对覆盖像素上的累积流量值进行归一化,得到最终的流量图。生成的(M, R, Q)图与一个清单文件一起为每一层保存,该清单文件记录了栅格元数据、打印机和材料参数,以及生成图的文件路径。

算法2 G代码到几何平面图(G-plan map)栅格化(第一部分)

Require: 单挤出机熔融沉积成型(FDM)G代码文件 Require: 可选的栅格化设置:像素尺寸p、丝材直径df、喷嘴宽度dn Ensure: 每层几何平面图(G-plan map)(M, R, Q)及一个清单文件 1: 初始化解析器状态和空的层列表 2: 解析沉积的刀具路径段 3: for G代码文件中的每一行 do 4: 更新解析器状态和层元数据 5: if 该行对应一个挤出运动 then 6: 将其转换为一个包含端点、层高、宽度、速度和类型的沉积段 7: 将该段追加到当前层 8: end if 9: end for

第 23 页

PrintAnything 23

算法2 G代码到几何平面图栅格化(第二部分)

10: 估计打印参数 11: 若可用,从G代码头部确定df和dn 12: 若未提供p,则从dn中选择 13: 计算共享栅格边界 14: 收集所有层上的线段端点 15: 计算全局2D边界框及所有层共享的栅格网格 16: 将每一层栅格化到几何平面图中 17: Af ←π(df/2)2 18: for 每一层 do 19: 将占用掩膜M、区域图R和流量图Q初始化为零数组 20: for 该层中每个沉积线段 do 21: 确定线段宽度、高度、区域标签和体积流量 22: 使用其局部宽度将线段栅格化到网格上 23: for 每个被覆盖的像素 do 24: 将M设为已占用 25: 在R中分配或更新区域标签 26: 将线段流量累加到Q中 27: end for 28: end for 29: 在已覆盖像素上对Q进行归一化 30: 保存当前层的M、R和Q 31: end for 32: 写入清单文件 33: 保存栅格元数据、打印机/材料参数及每层文件路径

S3 模型架构细节

我们的模型由一个3D点云编码器和一个2D层解码器组成。编码器从输入点云中提取全局形状特征,解码器则针对每个查询的打印高度预测逐层的几何平面图(M, R, Q)。 PTv3编码器。我们使用Point Transformer V3 (PTv3) [51] 对输入点云 P ∈R1×N×C 进行编码,其中前三个通道为归一化的3D坐标。我们将体素大小设为0.06,并在分类模式下使用PTv3,即仅使用嵌入主干和编码器部分。编码器包含五个阶段,通道维度分别为 (32, 64, 128, 256, 512),深度为 (2, 2, 2, 2, 2),注意力头数为 (2, 4, 8, 16, 32),块大小始终为128。PTv3输出维度为512的逐点特征,这些特征经过全局最大池化和线性投影,得到一个全局特征向量 g ∈R1×512。 逐层解码器。给定全局特征 g,我们使用一个2D U-Net [42] 逐层解码几何平面图。对于每个查询的层高度 z,解码器的输入包括:1) 前一层的占用图,以及2) 查询高度附近的点云提示栅格。每个提示切片包含三个通道:占用、密度和平均高度偏移。使用三个切片 {−1, 0, +1} 可得到9个提示通道,因此解码器的总输入为10个通道。

第 24 页

24 S. Hong 等

查询高度 z ∈ [0, 1] 由一个 MLP 嵌入,并与全局特征 g 融合。该条件化通过 FiLM [39] 注入到 U-Net 瓶颈层: \m a t h b f { x } _ { \ m a t h r m { b o t } } \leftarrow \mathbf{x}_{\mathrm{bot}} \odot (1+\gamma) + \beta

U-Net 与输出头。解码器采用标准 U-Net,基础宽度为 32,编码器通道数为

1 0 \ r i g h t a r r o w 32 \rightarrow \rightarrow \rightarrow \rightarrow

并配有一个对称的解码器,包含跳跃连接和双线性上采样。最终共享特征图具有 64 个通道。基于该特征图,我们通过一个 1×1 卷积预测五类(间隙、壁、填充、支撑和裙边)的区域图 R,并通过另一个 1×1 卷积预测流量图 Q。占用掩码 M 由区域预测导出,将所有非间隙类视为占用: p ( M = 1 ) = 1 – \mathrm{softmax}(R)_{\text{gap}}.

S4 损失函数细节

在训练过程中,模型为 Zslice 索引的每个切片预测 G-plan 图 M pred、R′pred 和 Q′pred。这些预测使用对应的真值图 M、R 和 Q 进行监督。我们优化以下多任务目标: L = \lambda_M L_M + \lambda_R L_R + \lambda_Q L_Q, 其中,在我们的实现中,λM = 1,λR = 1,λQ = 3 × 10⁻⁵。 为减少内存和计算量,我们不在每次迭代中监督所有切片。相反,对于每个训练样本,我们始终包含顶部和底部切片,并额外随机采样最多 20 个中间切片。令 S 表示选定的切片集。最终训练损失在选定切片上取平均: m L_{ \ r } = \frac{1}{|S|} \sum_{Z_{\text{slice}} \in S} \left( \lambda_M L_M + \lambda_R L_R + \lambda_Q L_Q \right) a t h m {iter}

占用损失监督打印区域与空区域。遵循主稿,我们结合二元交叉熵(BCE)和 Dice [32] 损失:

L_M = \mathrm{BCE}(M'_{\mathrm{pred}}, M) + \mathrm{DICE}(M'_{\mathrm{pred}}, M).

在实现中,BCE 应用于 logits,而 Dice 项由 sigmoid 概率计算得出。具体地,令

P_M = \sigma (M'_{\mathrm{pred}}),

Dice 项的实现为:

h M ' _ { \ m a t h r \m a t h r m { D I C E } ( = 1 – \frac{2 \sum (P_M \cdot M) + \epsilon}{\sum P_M + \sum M + \epsilon} m { p r e d } }, M)

第 25 页

PrintAnything 25

其中 ϵ = 10−5。Dice 项特别有用,因为占用图通常稀疏且高度不平衡。 区域损失使用加权交叉熵(WCE)监督结构区域标签: L _R=\mathrm {WCE}(R'_{\mathrm{pred}},R)。 我们使用五类,即间隙、壁、填充、支撑和裙边。在实现中, 类别权重设置为

[0. 1,\ 3.0, \ 1. 0,\ 2.0,\

这降低了对占主导地位的间隙类的权重,并强调了相对稀疏但 重要的类别,如壁和支撑。 流量损失仅在打印区域内监督预测的挤出流量。 遵循主稿,我们使用掩码 Huber [6] 损失:

L _Q=\mathrm {H u b e r }\!\left(Q'_{\mathrm{pred}},Q;M\right

其中占用掩码 M 将监督限制在打印像素上。更明确地说,如果 δ 表示 Huber 阈值,Ω= {i | Mi = 1} 表示占用像素集合,则

_ L f {1}{| \ Omega |} \ su m _{i\in\Omega}\mathrm{Huber}_\delta\!\left(Q'_{\mathrm{pred},i}-Q_i\right Q=\ rac

此外,占用和区域预测在解码器中结构耦合:占用是通过将所有非间隙类视为占用来从区域预测中导出的。因此,占用损失和区域损失是互补的,LM 监督粗略的打印-空白布局,而 LR 在打印区域内提供更精细的语义指导。 总体而言,损失公式联合监督几何、语义区域结构和挤出流量,而切片采样策略使训练对具有许多层的物体保持高效。

S5 强度和成本代理的详细计算

本节提供强度和成本代理的详细计算。 对于每一层 ℓ,令 Mℓ∈RH×W 表示占用图,Rℓ∈RH×W 表示区域图。当 Mℓ(i, j) > 0 时,像素被视为占用,填充像素定义为在 Rℓ 中被分配到填充区域的像素。所有量首先按层计算,然后跨层聚合。强度代理结合了三个因素:填充材料比率、填充连通性和方向平衡。对于每一层,我们计算占用像素的数量

\m a thrm {o c c}_\e ll =\#\{(i,j)\midM_\ell(i,j)>0\},

以及填充像素的数量

\m a thrm {i n f}_\e ll =\#\{(i,j)\midR_\ell(i,j)\in\mathcal{I}\},

第 26 页

26 S. Hong et al.

其中 \protect{I} 表示填充区域。对所有层求和可得 \mat h r {occ }_{\ma t h m {tot}}=\sum\mathrm,\qquad\mathrm{inf}_{\mathrm{tot}}=\sum\mathrm{inf}_\ell

m r 则填充材料比为 \mathr r_ { {\mathrm{inf}_{\mathrm{tot}}}{\max(\mathrm{occ}_{\mathrm{tot}},1)}. m {inf}}=\f rac

接下来定义二值填充掩膜

I_\ el l (i,j)= \m a thbf{1}[R_\ell(i,j)\in\mathcal{I}],

并在 I_\ell 上使用4邻域连通性计算连通分量。令 C_\ell^{\max 为最大连通填充分量的尺寸。连通性 得分为 t m {conn h {1}{L}\sum=1}^{L}\frac{C_\ell^{\max}}{\max(\mathrm{inf}_\ell s_{ \ a }} = \fra c rm

为量化方向均衡性,我们统计水平和垂直方向上的填充边界跳变: t _ h ll =\su m _{ i ,j}\b ig|I _\e l l ,j+1)- I _\ el l (i,j )\big|,\qquadt_v^\ell=\sum_{i,j}\big|I_\ell(i+1,j)-I_\ell(i,j)\big ^\e (i

逐层方向均衡项为 _\ell= \fra d )}{\max(\max(t_h^\ell,t_v^\ell c {\min (t_h ^\ell ,t_v^\ell 样本级方向均衡性为

a \ s_ { t {dir}}=\frac{1}{L}\sum=1}^{L}d_\ell m hrm

最终强度代理指标为

\mathr m {S trength} = 0.5 \,\mathrm { c lip }(r_{\mathrm{inf}})0.3\,\mathrm{clip}(s_{\mathrm0.2\,\mathrm{clip}(s_{\mathrm{dir}}),

其中 \protec t \math rm {c lip}(x)=\max(0,\min(1,x ))。对于成本代理指标,我们使用总占用面积与填充边界复杂度。填充边界跳变总数为 \ T_ { mrm { t ot}}=\sum=1}^{L}(t_h^\ell+t_v^\ell ath 成本代理指标定义为

\m a thrm { C ost }=\mathrm{occ}_{\mathrm{tot}}+0.5\,T_{\mathrm{tot}}.

最后,综合得分为

mbined}= \mathr m {C o 5}\cdot\frac{\mathrm{Strength}}{\mathrm{Cost}}. 10^{ 该得分倾向于在保持较低制造成本的同时实现高结构强度的图案。

第 27 页

PrintAnything 27

输入点云 PrintAnything(本文方法) 输入点云 PrintAnything(本文方法)

图S1:在ShapeNet [4]数据集上的定性结果。

S6 未见数据的定性结果

我们展示了PrintAnything在来自ShapeNet [4]数据集的未见点云数据上的额外定性结果。在图S1中,我们可视化了四个示例,包括飞机、长凳、枪和椅子形状。即使对于飞机和枪等复杂几何形状,最终的3D打印输出仍然保持精细,并保留了输入点云的几何结构。这些结果表明,PrintAnything能很好地泛化到训练期间未观察到的未见点云形状。

S7 预测G-plan图的可视化

图S3可视化了PrintAnything生成的预测几何平面图(G-plan)图及其对应的输入点云。G-plan表示由占用图M pred,′、区域图R′pred和流量图Q′pred组成。区域图编码了打印语义,包括间隙、壁、填充、支撑和裙边,分别以黑色、红色、绿色、蓝色和黄色可视化。如图所示,PrintAnything预测了精确的占用掩码和区域分配,捕捉了每个切片的几何结构。预测的流量图进一步提供了范围在[0, 255]内的逐像素材料沉积值,用于在逐层制造过程中控制挤出。即使对于具有复杂几何形状的形状,例如第二行中的齿轮示例,模型也能准确地恢复详细的占用和区域结构。在第四行中,预测的G-plan图正确地表示了汽车部件内部的填充模式。此外,对于螺旋桨切片等薄壁结构,PrintAnything仍然能产生准确的占用、区域和流量预测,证明了所提出的表示方法对于复杂和细粒度几何形状的鲁棒性。

S8 填充后G-plan图的可视化

图S4可视化了由我们的填充推荐器生成的填充后几何平面图(G-plan)图。与图S3中所示的区域图R′pred不同,后者

第 28 页

28 S. Hong et al.

输入点云 Poisson MeshAnything DWG

图 S2:Slice-100K [16] 数据集上错误网格的可视化。

将填充区域表示为单一语义区域,而填充区域图 Rpred 则在填充区域内显式地融入了选定的填充图案。这种表示方式将预测的语义填充区域转换为结构化的打印图案,可在制造过程中直接执行。图中的每一行展示了我们系统推荐的不同填充图案,包括网格、立方、螺旋二十四面体和蜂窝结构。从上到下,各行依次展示了网格、立方、螺旋二十四面体、蜂窝、网格和螺旋二十四面体填充图案。推荐器为每个形状选择合适的填充策略,以平衡结构强度与材料成本之间的权衡。如示例所示,推荐的填充图案多样,且在结构上与打印物体的几何形状保持一致。

S9 错误网格重建的结果

图 S2 可视化了先前方法 [5,17,27] 在 Slice-100K [16] 数据集上从输入点云重建 3D 网格时产生的错误网格。我们观察到,即使对于具有密集且干净的输入点云的简单形状,这些方法也常常生成带有孔洞和反转面等瑕疵的网格。特别是,即使对于简单的平面,从点云到网格的重建也可能具有挑战性。这些示例表明,即使在看似简单的情况下,网格重建也经常失败,这支持了 PrintAnything 背后的动机,因为错误的网格重建往往会导致

第 29 页

PrintAnything 29

导致3D打印失败。相比之下,PrintAnything直接对输入点云进行操作,并预测可转换为可打印形状的3D打印G代码,从而避免了网格重建的失败模式,并生成稳健且精确的3D打印输出。

表S1:3D打印G代码生成的平均推理时间对比。

方法 平均推理时间 (秒)

Poisson surface reconstruction [17] 123.97 MeshAnything [5] 113.62 DWG [27] 0.37 Ours 0.33

S10 运行时间对比

表S1展示了不同方法生成3D打印G代码的平均推理时间。我们将我们的方法与使用Poisson surface reconstruction [17]的传统几何重建方法、使用MeshAnything [5]的基于学习的网格生成方法以及最新方法DWG [27]进行了比较。结果表明,我们的方法实现了最快的推理时间,平均仅需0.33秒,略快于DWG(0.37秒),且远快于Poisson重建和MeshAnything。这种显著的效率提升源于直接预测可打印的G代码,无需昂贵的网格重建或优化过程。结果证明,我们的方法能够实现高效且实用的G代码生成,适用于实时或交互式3D打印应用。

S11 局限性与社会影响

局限性。PrintAnything解决了从无定向点云进行3D打印的两个主要挑战:现有切片软件不直接支持点云输入,以及错误的网格重建常导致打印失败。通过直接从点云预测可打印结构,我们的框架能够在不依赖中间网格重建的情况下实现稳健的G代码生成。尽管取得了这些进展,我们当前的公式并未显式地融入3D打印过程的物理归纳偏置 [1,9,31,49]。虽然所提出的几何平面图在实践中能生成稳定且可打印的G代码,但模型主要依赖几何推理,并未显式考虑制造过程中的材料行为或物理约束。此外,大规模3D打印数据集的可用性本身有限,使得监督学习难以扩展。探索自监督学习

第 30 页

30 S. Hong 等

局限性。尽管PrintAnything在从点云生成可打印结构方面表现出色,但其性能仍受限于当前几何平面图(G-plan)地图表示的表达能力。具体而言,几何平面图(G-plan)地图将3D几何体压缩为2D表示,这可能导致精细几何细节的丢失,尤其是在处理薄壁结构或复杂内部特征时。此外,该方法假设输入点云是完整且无噪声的,这在现实世界的扫描数据中可能并不总是成立。未来的工作可以探索更强大的几何表示,并纳入不确定性建模,以处理不完整或有噪声的输入。此外,虽然多切片条件化(MSC)策略有助于保持切片间的一致性,但长序列上的误差累积仍然是一个挑战。最后,当前框架依赖于大规模合成数据集进行训练;探索领域自适应或自监督策略[12,13]以减少对标注训练数据的依赖是必要的。

社会影响。所提出的方法有潜力惠及增材制造和数字制造领域的广泛应用,特别是在必须直接从点云数据生成可打印结构的场景中。此类能力可支持快速原型制作、制造自动化,并为没有完整CAD模型的用户提供更广泛的3D打印技术可及性。然而,与许多制造技术一样,也存在滥用的潜在风险。特别是,从几何输入自动生成可打印的G代码可能被利用来生产未经授权或有害的物体,例如可能对公共安全构成风险的武器或其他危险物品。因此,PrintAnything的开发和部署应伴随对伦理和社会影响的审慎考量。鼓励在遵守适用法规和安全指南的前提下负责任地使用,未来的工作可以探索安全意识约束或过滤策略,以进一步减轻潜在的滥用风险。

第 31 页

PrintAnything 31

输入点云 M'pred R'pred Q'pred

图 S3:在 Slice-100K [16] 数据集上预测的 Geometric plan (G-plan) map 可视化。

第 32 页

32 S. Hong 等

输入点云 Mpred Rpred Qpred

图 S4:在 Slice-100K [16] 数据集上填充后的几何平面图(G-plan map)可视化。

发表评论