在 3D 打印、逆向工程和计算机辅助设计中,STL 文件是最常见的几何数据格式之一。它结构简单、通用性强,但也有一个典型问题:当模型精度提高后,三角面片数量会快速增加,文件体积随之变大,后续的导入、显示、选面、接触识别和仿真前处理都会受到影响。
在晶格结构、拓扑优化结果、扫描模型和复杂装配体中,一个 STL 模型往往包含几十万甚至上百万个三角面片。模型越复杂,前处理越容易变得“又重又慢”。针对这一问题,OptFuture 围绕 STL 模型处理流程进行了系统优化,从三角面片简化、自动接触识别、基于角度的面拾取三个方面提升复杂 STL 模型的处理效率。
高精度扫描模型或复杂结构导出的 STL 文件,通常包含大量三角面片。面片数量过多不仅会增加文件体积,也会影响后续显示、交互和计算效率。
OptFuture 提供了三角面片简化功能。用户可以通过设置迭代次数、最大角度、三角形长宽比和目标百分比等参数,在尽量保持几何特征的前提下,减少模型中的三角面片数量,从而实现 STL 模型轻量化。
本文选取两类典型复杂 STL 模型进行展示:一类是 TPMS 晶格结构模型,另一类是卡通玩偶模型。两者都包含大量三角面片,能够较好地体现三角面片简化功能在复杂几何处理中的效果。
图 1 所示为 TPMS 晶格结构模型,由 5 × 5 × 5 个 Gyroid 单胞组成。原始模型三角面片数量约为 203 万,文件大小约为 97.2 MB。采用 OptFuture 的三角面片简化功能,所有简化参数均适用默认值,经过简化三角面片数量降至约 99.5 万,文件大小减小至约 47.5 MB。
从图1中简化前后的模型对比可以看出,简化前后的模型外形基本一致,肉眼无法发现差别,但模型数据量减少到原来的约一半。对于TPMS晶格这一类几何外形高度复杂的结构,进行轻量化处理能够显著降低后续可视化交互操作和仿真前处理的负担。
图2 卡通玩偶几何模型的三角面片简化 图 2 所示为卡通玩偶模型。原始模型包含 378848 个三角面片,文件大小约为 18.0 MB。采用默认参数经过第一次简化后,三角面片数量减少至 189420,文件大小降至 9.03 MB,基本达到预设的 50% 简化目标。
在此基础上仍然采用默认参数继续进行第二次简化,三角面片数量进一步减少至 143822,文件大小降至 6.85 MB。与第一次简化后的模型相比,第二次简化又减少了约 24% 的三角面片数量和文件体积。
从整体外观来看,最终简化模型与初始模型仍保持较高一致性。即使放大观察局部细节,除个别位置线条略显锐利外,主要形貌特征仍能得到较好保留。这说明 OptFuture 的三角面片简化不仅能够实现模型“瘦身”,也能够兼顾几何保真度。
在有限元分析和装配模拟中,接触关系的定义往往是前处理中的重要步骤。对于规则零件,接触对可以手动选择;但对于 STL 模型,尤其是包含大量碎面、复杂曲面或晶格填充结构的模型,手动逐一识别接触区域不仅耗时,也容易遗漏。
OptFuture 提供了自动接触识别功能,该功能同样适用于STL模型,且在最近的1.0版本中进行了优化升级,显著提升了STL模型的接触识别效率。模型导入后,用户可以通过项目树中的“连接”节点快速识别几何模型中的接触关系,减少人工查找和逐项设置的工作量。
(a)孔明锁几何圆形
(b)孔明锁的接触自动识别
图3 孔明锁STL几何模型的接触对自动识别
图 3 所示为球状孔明锁模型。该模型由六个相同零件通过榫卯结构相互扣合形成,结构关系复杂,接触位置分布较多。
在 OptFuture 中导入该 STL 几何模型后,通过自动接触识别功能(所有参数保持默认),可以快速捕捉模型中的接触关系。结果显示,该模型共识别出 15 对接触关系。相比手动查找和逐一指定接触对,自动识别能够明显降低复杂装配结构的前处理工作量。
(a)两个TPMS晶格填充的空心圆柱
(b)晶格结构的接触对自动识别 图4 晶格填充几何体的接触对自动识别
图 4 所示为两个 TPMS 晶格填充的空心圆柱结构。两个圆柱之间存在紧密配合关系,其中大圆柱内径与小圆柱外径相等。由于内部填充了大量 TPMS 晶格,模型表面由海量三角面片构成,接触区域的人工选取难度较高。
通过 OptFuture 的自动接触识别功能(所有参数保持默认),可以识别出模型中的接触关系。虽然该模型整体只包含 1 对接触,但接触面和目标面涉及的对象数量均达到两万余个。如果依靠人工处理,前处理成本会很高;自动识别功能则能显著提高此类复杂晶格结构的建模效率。
STL 模型的另一个典型问题是“面太碎”。一个原本连续、平整的面,在 STL 中可能被拆分成大量三角面片。对于用户而言,原本简单的选面操作可能变成繁琐的逐片点击。
在约束、载荷、边界条件或集 合定义过程中,这类问题尤其明显。为提升交互效率,OptFuture 提供了基于角度的面拾取功能。用户只需点击某个三角面片,系统即可根据相邻面片之间的角度关系,自动识别并选取连续面区域。
本文以 OptFuture 中简化后的桥梁拓扑优化结果为例进行展示。如图 5 所示,在定义“约束面”和“载荷面”集 合时,用户无需逐一选择碎面,只需使用角度选取工具点击目标区域中的任意三角面片,系统即可自动扩展并选中完整连续面,在点选过程中角度参数保持默认值20度。
对于拓扑优化结果、扫描模型和复杂 STL 几何,这一功能能够显著改善选面体验,提高前处理效率。
STL 模型处理的难点,往往不只是“能不能打开模型”,而是模型是否足够轻量、接触关系是否容易识别、边界面是否方便选取。面对复杂晶格、拓扑优化结果和高精度扫描模型,传统处理流程很容易受到三角面片数量和碎面结构的限制。
OptFuture 从三角面片简化、自动接触识别和基于角度的面拾取三个环节入手,提升了 STL 模型从导入、前处理到交互选取的整体效率。对于需要处理复杂 STL 模型的工程师而言,这不仅能减少重复操作,也能让后续仿真分析流程更加顺畅、高效。