Journal

MiGumi: Making Tightly Coupled Integral Joints Millable

Aditya Ganeshan, Kurt Fleischer, Wenzel Jakob, Ariel Shamir, Daniel Ritchie, Takeo Igarashi, Maria Larsson

问题与动机

传统整体木接头(日语称为 Kigumi)无需胶水、钉子或螺丝即可组装,凭借紧密贴合的配合面来约束运动、传递载荷,具有强度高、可重复使用、外形优雅的优点。但手工制作它们需要极高的精度、专用工具和多年的训练,因此在现代制造流程中已很少见。

三轴 CNC 铣削是一个有吸引力的替代方案:它易于获取、可编程、在现代木工中被广泛使用。然而传统接头设计中包含尖锐的内角,这类特征手工工具容易实现,却与圆柱形铣刀不兼容——非零半径的铣刀不可避免地会把对齐的内角磨圆。对多数加工场景来说这类刀具伪影可以接受,但整体接头是例外:它们的功能完全依赖配合面之间的紧密接触,即便是微小的圆角误差也会引入间隙或重叠,破坏对齐、损害配合,很多情况下会让组装在物理上无法完成。

因此,把整体接头设计适配到 CNC 加工,不只是把形状翻译成刀具路径那么简单:几何本身必须预先修改,以补偿铣削伪影并保持零件之间的精确接触。难点在于,多数接头远比简单的燕尾榫复杂——表面往往由来自不同方向的多次铣削加工形成,可能与正交面上切出的其它表面相互作用,很多接头还涉及两个以上的零件。适配这类设计需要仔细推理加工误差如何在相互作用的表面之间累积。

核心贡献

论文提出两条主线来解决这一问题:一是设计一种表示”可铣削几何”的语言,二是协同优化各零件几何以恢复紧密耦合。具体贡献有三项:

  • MXG(Millable Extrusion Geometry,可铣削挤出几何):一种领域专用语言,把形状建模为平端铣刀铣削操作的结果,既能在理想条件下描述无伪影的几何,又能系统地控制铣削引发的伪影。
  • 可微优化框架:通过最大化零件 MXG 程序之间的表面邻近度和铣削路径对齐度,在加工约束下恢复紧密耦合。
  • 数据集:30 个用 MXG 建模的传统接头设计,作为”可铣削性感知”接头生成的基准。

结果被称为 Millable Kigumi 或 MiGumi 接头——传统紧密耦合整体接头的可铣削再诠释。

方法

可铣削挤出几何 MXG

一个可铣削实体 \(P \subset \mathbb{R}^3\) 表示为材料坯料减去一系列铣削去除体:

\[P = M - \bigcup_i V_i\]

其中 \(M\) 是材料坯料,每个 \(V_i\) 是一次铣削操作去除的体积。为保证物理可实现,\(V_i\) 必须能表达为与刀具扫掠体的 Minkowski 和。平端等半径钻头旋转扫掠得到一个圆柱,因此:

\[V_i = X_i \oplus \mathrm{Cyl}_i\]

其中 \(X_i\) 是任意形状,\(\mathrm{Cyl}_i\) 是第 \(i\) 次操作钻头的旋转扫掠体。为保证可达性,\(\mathrm{Cyl}_i\) 被建模为一个沿远离铣削方向延伸的半无限圆柱,确保每个 \(V_i\) 都能从坯料外部接触到。

满足上式的一种构造方式,是把 \(V_i\) 定义为二维区域 \(C_i \subset \mathbb{R}^2\) 的挤出:该区域嵌入在与铣削方向 \(n_i\) 正交的平面内,沿半无限区间 \((-\infty, h_i)\) 挤出。若 \(C_i\) 满足 Minkowski 条件,即 \(C_i = X_i \oplus B_r\)(\(B_r\) 是半径为 \(r\) 的圆盘),则得到的体积可由半径 \(r\) 的平端刀具铣出。

MXG 的核心构件是 Millable Extrusion Field(可铣削挤出场) \(\mathcal{E}\),代表一次铣削操作。它由一个二维符号距离函数 \(f_i: \mathbb{R}^2 \to \mathbb{R}\)、一个嵌入平面 \(p(o_i, n_i)\)、一个挤出高度 \(h_i\) 和一个钻头半径 \(r_i\) 参数化,通过把子水平集 \(C_i = \{x \mid f_i(x) \le 0\}\) 沿方向 \(n_i\) 挤出来定义体积。

为保证可铣削性,基区域 \(C_i\) 必须满足关于半径 \(r_i\) 圆盘的 Minkowski 条件。论文用形态学开运算来强制这一点:先腐蚀 \(f_i\) 得到 \(g_i = f_i \ominus B_{r_i}\),再膨胀回去得到更新后的区域

\[C_i^r = \{x \mid (g_i \oplus B_{r_i})(x) \le 0\}\]

这保证了挤出体能被半径 \(r_i\) 的钻头物理实现。\(f_i\) 可用任意 CSG 表达式指定,从而允许丰富的参数化轮廓。

完整零件被表示为坯料减去若干可铣削挤出体 \(P = M - \bigcup_i \mathcal{E}_i\),因此由构造即保证可铣削。MXG 的关键特性是它通过每次减法的参数(钻头方向 \(n_i\) 和半径 \(r\))显式控制铣削伪影:增大半径会逐步放大内角圆化,改变方向会移动伪影的位置和朝向。

作者在理想的零半径设定 \(r = 0\) 下编写接头设计,得到所谓 MXG0 程序——它虽不可直接加工,却忠实捕捉了传统接头的原始意图形状。随着刀具半径 \(r\) 增大,同一程序会产生被伪影扭曲的几何。

恢复紧密耦合

作者用两个互补的度量来形式化紧密耦合。

Surface Gap(表面间隙):给定零件集合 \(\mathcal{P} = \{P_1, \dots, P_n\}\) 和耦合体 \(\Omega \subset \mathbb{R}^3\)(定义为接头内部体积,排除外露表面),表面间隙定义为

\[M_S(\mathcal{P}; \Omega) = \sum_{a=1}^{n} \int_{\partial P_a \cap \Omega} \min_{b \ne a} D(x, P_b)\, dA(x)\]

其中 \(D(x, P_b)\) 是点 \(x\) 到零件 \(P_b\) 表面的欧氏距离。当 \(M_S(\mathcal{P}; \Omega) = 0\) 时称系统紧密耦合,即耦合体内每个表面点都与另一零件表面精确接触。

面向 MXG 形状的高效计算:由于每个零件由平面挤出构成,其边界可分解为坯料表面 \(\partial M\)、侧面 \(\partial L_i\) 和端面 \(\partial C_i\) 三部分。侧面项由二维轮廓沿方向 \(n_i\) 扫掠生成,因此可把三维表面积分转化为对一族平面轮廓的一维积分:

\[\int_{\partial L_i} T = \int_{z=-\infty}^{h_i} \left( \int_{\partial C_i(z)} \min_{P_b \ne P} D(x, P_b)\, ds(x) \right) dz\]

关键观察是:对任意两个切平面 \(z_1\) 和 \(z_2\),只要积分域 \(\partial C_i(z)\) 相同、且来自其它零件的投影轮廓集合不变,则切片积分相同。因此这些切片可归并成少数几个等价类,只需在每个代表性切片上计算一次二维轮廓积分并按等价类大小加权求和:

\[\int_{\partial L_i} T \approx \sum_{k=1}^{m} w_k \cdot \left( \int_{\partial C_i(z_k)} \min_{P_b \ne P} D(x, P_b(z_k))\, ds(x) \right)\]

这把完整的三维问题域坍缩到稀疏的一维平面曲线集合上,使得优化在计算上可行。传统整体接头中大片区域满足等价条件,因此只用少量代表性轮廓就能高效估计。为保持切片集紧凑,来自非平行方向挤出的界面轮廓在优化中保持固定。

Milling Path Distance(铣削路径距离):每个挤出区域由基曲线膨胀而来 \(C_i = g_i \oplus B_{r_i}\),\(g_i\) 的零水平集 \(\partial g_i\) 被解释为生成该表面的铣削路径(注意这不是实际制造用的刀具路径)。仅靠 Surface Gap 会产生病态:多条不同铣削路径能生成几乎相同的挤出轮廓,导致某些参数梯度为零、收敛差。为此,当一个紧密耦合表面由两条法向平行的挤出 \((\mathcal{E}_i^a, \mathcal{E}_j^b)\) 生成时,它们的铣削路径必须保持等于刀具半径之和的固定间距。度量为:

\[M_P(g_i^a, g_j^b) = \int_{x \in \partial g_i^a} \left( D(x, g_j^b) - (r_i + r_j) \right)^2 ds(x)\]

即惩罚路径间距偏离理想值 \(r_i + r_j\),并施加对称版本。

优化

优化把无伪影的 MXG0 程序转化为在目标钻头半径 \(r > 0\) 下仍保持紧密耦合的 MXG\(_r\) 程序。由于接触依赖所有零件的相互作用,优化必须在所有零件间同时进行。作者采样一组紧凑的切片覆盖耦合体内的全部侧面,在每个切片内对所有相交路径做协同优化;非对齐挤出之间的界面轮廓被视为固定,使每个切片阶段能独立进行同时保持全局耦合。

最终目标函数结合三项损失:

\[L_{\text{total}} = L_S + \lambda_P \cdot L_P + \lambda_{\text{occ}} \cdot L_{\text{occ}}\]

其中 \(L_S\) 是 Surface Gap 的 Monte Carlo 近似,\(L_P\) 是 Milling Path Distance 的近似,\(L_{\text{occ}}\) 是占用保持损失,惩罚优化后几何相对原设计的占用偏差以保持几何保真度。\(\lambda_P\) 与 \(\lambda_{\text{occ}}\) 控制辅助项的相对影响。

两个实现策略提升了优化质量:一是逐步半径展开,从零半径开始小步增大 \(r\) 并逐步重优化,提升稳定性;二是用半径 \(r_d/2\) 下 Opening & Diff-Flip 的输出来初始化路径场 \(g_i\),扩展早期表达能力、避免停滞。

实验与结果

所有实验使用固定钻头半径 \(r_d = 3.175\) mm(1/8 英寸),坯料为 \(3 \times 3\) cm 截面。数据集包含 30 个基于日本木工技法目录建模的传统接头,覆盖案件接头、圆柱坯料接头、斜向切削、直角接头、三件式接头、直连接头等多种功能与结构母题。作者发现目录中约 80% 的设计能用平端挤出忠实建模,这反映了传统制造与 MXG 表示之间的一致性——两者都要求材料沿方向从坯料外部去除。整个数据集的编写约耗时 40 人时。

对比方法为两种非优化基线:Opening-Only(MO,仅对每个零件做形态学开运算,不恢复耦合)和 Opening & Diff-Flip(ODF,先开运算再把开运算去除的体积补到配对零件上)。

评价指标包括:Exact Millability(%M,所有减法满足 Minkowski 条件的设计百分比)、Coupling Success Rate(\(C_\tau\),通过体素化统计重叠与间隙体积、在阈值 \(\tau = 135\) mm³ 内视为紧密耦合的设计比例)、Median Violation Volume(V,间隙加重叠的中位失配体积)、Design Deviation(D,优化前后不匹配体素数的中位数)。

主要结果如下:

方法 %M ↑ \(C_\tau\) ↑
Opening-Only (MO) 100% 6.25%
Opening & Diff-Flip (ODF) 25% 96.87%
Ours 100% 90.62%

MO 保证了完美可铣削性却几乎完全无法保持耦合;ODF 大幅改善接触但 75% 的设计含无效减法、可铣削性大跌。只有本文的优化方法同时满足两个条件:所有接头由构造保证完全可铣削(%M = 100%),且几乎所有配合面达成紧密接触(\(C_\tau\) = 90.62%)。

消融实验表明:去掉 \(L_P\) 或 \(L_S\) 都会显著增大表面间隙,说明两者对紧密耦合都不可或缺;去掉 \(L_{\text{occ}}\) 会增大设计偏差;去掉逐步半径展开或 ODF 初始化都会导致性能大幅下降(V 分别升至 142.11 和 238.64 mm³)。完整方法在 V 与 D 两项指标上均最优(V = 74.82 mm³,D = 456.14 mm³)。优化约每平面切片 5 分钟,多数接头 1 到 3 个切片,完整优化通常在约 10 分钟内完成。

物理制造:作者用配备 1/4 英寸平端刀的三轴 CNC 机床制作了 8 个接头,方形零件由 3 cm 木坯切出、圆柱零件直径 4 cm,全部无胶无钉组装。各接头达成精确对齐与紧密接触,无可见间隙或重叠,观测到的铣削伪影(如内角半径)与优化中建模的一致,验证了伪影感知表示能准确迁移到物理制造。每个接头需 18 到 25 分钟机时。

设计探索:通过显式建模诱发伪影的参数(刀具方向与钻头半径),作者展示了同一功能接头的不同变体——将所有挤出沿滑动轴对齐可把伪影藏在内部、改善外观但需轴向平行铣削;全部横向铣削则保证三轴机床可达性但把伪影暴露在外。

局限与未来工作

  • 多凹面减法的尖内角:当多条铣削路径在尖锐内角相交时,几何上无法在满足可铣削约束的同时保持完美接触,会产生微小但不可避免的间隙;两条挤出与固定边界交接时也有此问题。
  • 表达范围:源目录中约 20% 的接头(如 Osaka-Jo Otemon Joint)含无法分解为外部可达平端铣削操作的减法,无法用 MXG 表示,可能需要引入辅助平面切削或凿子、锯片等二次工具的混合制造策略。
  • 人工编写 MXG0:从零创建设计仍需专业知识与时间,未来可探索从网格几何自动推断减法挤出程序,或提供母题库、草图编辑、基于学习的检索等更易用的编写界面。
  • 未考虑装配序列:优化后的接头虽紧密耦合,但可能因几何改变而无法组装(数据集中 30 个里有 1 个优化后无法手动装配),未来可把方向阻塞分析纳入优化循环。
  • 大师木匠的完整技法(如刻意的微小错位、打入的楔子)仍超出系统范围,建模这些专家技巧仍是开放挑战。