收缩包裹

ShrinkWrap 允许您从网格、NURBS 几何、细分物件和点云创建包裹网格。 在准备 3D 打印文件时,您应该有一个单一的封闭网格。ShrinkWrap(收缩包裹)可以生成一个封闭的网格,与给定的几何体的数量和类型无关。在本教程中,我们将了解 ShrinkWrap 的工作原理以及它在减少 3D 打印模型的准备时间中所起的作用。

例 1 - 由球体制作成的戒指

rendering

下载并打开 01-spheres-ring.3dm

ring spheres

请注意,该文件由多个未连接的球体组成。要将设计准备为用于打印的单个网格,请启动 ShrinkWrap 并选择 54 个球体。此操作将显示以下对话框:

Shrinkwrap dialog 1

其中一个重要的设置是目标边缘长度。这决定了包裹在物件周围的网格的细密程度。ShrinkWrap(收缩包裹)会根据模型大小进行估计,以便您的第一个预览会得到一个合理的结果,但很可能,这个值需要更小才能在物件周围进行准确包裹。

ShrinkWrap 单位
在这个例子中,我们的文件以毫米为单位。这意味着在目标边缘长度为 1 时,网格边缘的大小将约为 1 毫米。较小的值耗费的时间越长,但却会创建更精确的网格。最佳设置取决于您的模型的需要以及用于最终输出的 3D 打印的需要。例如,如果您的打印机分辨率为 0.1 毫米,使用更小的单位大小就没有意义,因为这些细节在打印过程中会丢失。

勾选预览隐藏输入物件选项。请注意,当前网格相当粗糙:

ring wrapped coarse

为了获得更好的网格,将目标边缘长度降低到 0.1。注意及时预览,了解如何更新为更密集的网格,以更贴近基础物件:

ring wrapped fine

隐藏网格边缘可以更好地显示物件的外观。取消选中绘制网格线选项即可实现。

ring wrapped

您可以看到生成的网格仍然需要一些细化,并且可能需要进行后处理来稍微平滑凹边。通过设置平滑迭代来实现这一点。较高的值将使形状更加平滑。凸角将被修剪,凹角将被填充。在下面的动图中,平滑设置在 0 和 100 之间进行变化。

soomthing

ShrinkWrap 不仅仅适用于 NURBS 物件。现在,我们将在刚刚的输出中添加一个爪,并调整单位和平滑度以获得最终结果。 打开图层 Prong。这是一个细分物件。选择所有球体和爪,然后重新运行 ShrinkWrap ,此次目标边缘长度设置为 0.05,平滑迭代设置为 5 :

Shrinkwrap dialog 2

结果是一个封闭的网格,可以用来制作蜡质3D打印模型,用于失蜡铸造。

spheres with prong result

例 2 - 逆向工程 SLC

下载、解压并打开 ring_slc.zip

slc file

如果您仔细检查文件,您会发现文件由多个由网格制成的切片组成。这意味着这些曲线都是多重曲线。为了将这些曲线进行收缩包裹,我们首先需将曲线的点提取到点云中。

未选择曲线时,运行指令 ExtractPt 并将指令行选项中的输出选项设置为点云。现在选择曲线并按下 键结束指令。

pointcloud

选择上面创建的点云并使用以下设置运行 ShrinkWrap :

shrinkwrap pointcloud

请注意,扩张顶点和点选项是自动选中的状态。此选项可以增加每个点的体积。这也意味着我们收缩包裹后的物件的大小将受所选的目标边缘长度的影响。因此,偏移也可以设置为负值。

信息
填补输入物件中的洞也可以被勾选,但此选项在对点云进行收缩包裹时不影响。这个功能在下一个例子中有用。

结果是一个闭合的网格,可以直接用于3D打印:

Alt text

例 3 - 将不完整的扫描件进行收缩包裹

在这个例子中,我们将解释如何从缺失数据的扫描件开始创建一个可用的封闭形状。

下载并打开 shoelast.3dm

3d scans

3DFace

为了制作封闭的网格,可以使用 ShrinkWrap 对孔洞进行封闭,但封闭的孔洞的大小是有限制的。输入物件处理得越好,就能将目标边缘长度设置得越精确。 通过添加细分嵌面来大致将孔洞进行封闭。在 SubD 选项卡打开时,用于创建这些嵌面( 3DFace )的工具位于左侧边栏中。打开顶点物件锁点。通过捕捉到网格开始制作嵌面,然后通过点编辑进行雕刻和精化。从最大的孔洞开始,通过对扫描件和细分嵌面进行收缩包裹,以检查它们之间的情况。 add subd surfaces

一旦所有孔洞大致都封闭了,使用以下设置进行收缩包裹 ShrinkWrap :

dialog

shrinkwrap

我们可以使用收缩包裹结果作为 Quadremesh 的基础来进一步细化形状。 然而,在运行 Quadremesh 之前,我们想要制作一条引导曲线,可以在 Quadremesh 中使用它来创建边缘循环。在 视图中创建一个贴合鞋形的曲线。并确保曲线与网格相交。

side curve for surface

使用 ExtrudeCrv 在双侧挤出这条曲线,使其完全与网格相交。然后,运行 MeshIntersect 提取相交线。

结果是一个锯齿状的 1 阶曲线。运行 Rebuild ,启用删除输入物件选项,将曲线重建为 3 阶曲线,100 个控制点。现在运行 Fair ,将公差设置为 100,以平滑曲线:

faired curve

启动 Quadremesh ,在对话框中点击选取曲线按钮选择平滑曲线。将曲线影响更改为创建边缘循环。勾选转换为细分物件

dialog

我们现在将以两种方式优化 SubD 的形状。按下 (Mac 上为 ) 并双击最靠近曲线的边缘循环:

select edgeloop

选择这些边,运行 SubDCrease ,并将整个边缘循环的权重设置为100。

接下来的步骤是创建的相交的曲面进行展平。打开细分物件的控制点( PointsOn / F10)并在 视图中,使用 Lasso 选择图中指示的控制点:

selected points

打开 guidesurface 图层,保持点处于选中状态,使用 Pull 将点拉到引导曲面上。 通过一些点编辑,我们可以进一步细化形状以达到以下结果: quadremesh

其它教学

完成
祝贺您已经完成了这个教程的学习!如果您有任何问题,请在论坛上发出提问或者发邮件给 gijs@mcneel.com