How to choose a CAD-to-real-time-3D pipeline

CAD 到实时3D管线将原生工程数据转换为实时3D应用程序可以以帧率渲染的资产。这是一个评估框架,而不是产品推荐:应该关注什么,应该在自己的数据上测试什么,以及在做出提交之前应该向供应商询问什么。它涵盖了管线读取哪些格式、如何将精确曲面转换为三角形、元数据是否会保留以及工程部门发布修订版时会发生什么。它假定您已经决定需要的是一个管线,而不是一个查看器或一次性转换器。
大多数CAD转化软件的比较仅限于格式列表。那部分很简单。决定你的项目能否成功交付的决策发生在更下游的环节,几乎没有人会把它们记录下来。
CAD到实时3D管线究竟是什么?
CAD 到实时3D应用程序管线是一个可重复的过程,它接收原生 CAD 数据,将精确曲面转换为三角网格,根据性能预算优化这些网格,保留所挂的到它们的工程数据,并将可部署的资产交付到目标设备。当源代码改变时,它会再次运行。
有三种产品类别经常被混淆,而这种混淆会造成高昂的成本。
- 查看器允许用户查看CAD数据。它按需渲染,但不会生成任何可供编译版本的内容。
- 转换器可以将文件从一种格式转换为另一种格式。一个文件输入,一个文件输出,没有优化,没有结构。
- 一个管线可以反复将源 CAD 文件转换为优化的、有组织的、可部署的资产,并且设置可以重复使用和管理。
市场对这种区别尚不明确。如今搜索“CAD转化软件”,结果包括一个2D栅格转矢量工具、两个通用的在线文件转换器,以及一个将AutoCAD、SOLIDWORKS和CATIA列为转化软件的汇总列表。这些是创作应用程序。如果排名靠前的结果无法区分创作和转化,买家可能会评估错误的类别。
如果您还在考虑需要类产品,不妨从3D可视化软件开始。本指南从下一步开始。
六个阶段,以及每个阶段需要评估的内容。
任何可靠的管线都会做到六件事。每个阶段都有其自身的故障模式。
- 摄入。读取原生和中性 CAD 数据,以及实景捕捉数据。评估格式的广度,以及读取方式是原生读取还是通过导出读取。
- 修理和准备。修复、缝合和去除从未为渲染而设计的几何体。评估该工具自动修复了哪些问题。
- 镶嵌。将精确曲面转换为三角形。评估您可控的公差参数。
- 优化并生成 LOD。打出三角形,然后绘制调用预算。评估抽取质量和LOD自动化。
- 传输数据。保留层级结构、零件编号、材料和产品制造信息(PMI)。评估哪些东西能保留下来,哪些东西会被丢弃。
- 自动化和管理。无头运行,变更时重新运行,控制访问。评估API、触发模型和审计跟踪。
摄入方式:哪些格式,以及原生格式与中性格式。
管线可以通过两种方式读取您的 CAD 文件,而这其中的区别至关重要。
原生读取是指该管线直接打开 CATIA V5、Siemens NX .prt、Creo、SOLIDWORKS 或 Inventor 文件,并使用供应商自己的几何定义。中性读取是指先将文件导出为 STEP、IGES 或 JT 格式,然后管线读取这些格式的文件。
中性格式实用且得到广泛支持。它们也是存在交接问题的地方。每一次中性跳转都是丢弃装配结构、零件命名、单位、自定义属性和产品制造信息的机会。此外,跳跃操作也是手动完成的,因此两次跳跃的方式并不相同,也无法实现端到端的自动化。如果你的数据源是 CATIA 程序集,那么直接读取 CATIA 会从循环中移除一个步骤、一个变量和一个人员。
现实捕捉也属于这一范畴。激光扫描和摄影测量数据以 E57、PTS 或 PLY 格式的点云形式到达。一个能够将点云端转化为网格并与 CAD 结合使用的管线,可以让您将设计好的模型和实际建造的扫描模型放在同一个场景中。
注意格式计数。“支持 200 种格式”通常意味着 200 种扩展名,其中许多是同一格式的不同版本,有些需要在同一台机器上安装并获得许可的创作应用程序。询问哪些格式可以读取 B-rep,哪些格式可以读取 PMI,哪些格式可以读取元数据。从这三列开始,统计数据就不再是营销手段了。
Unity Asset Transformer可读取 70 多种格式和扩展名。其公布的表格列出了 CATIA V4、V5 和 V6 的原生格式,从 UG11 到 NX2412 的 NX-Unigraphics .prt 格式,Creo、SOLIDWORKS、Solid 边缘、Inventor、JT、最高至 AP242 的 STEP 格式,IGES、Parasolid、ACIS、Revit、Navisworks、IFC 和 Rhino 格式,以及网格和点云端输入格式。 同一张表格标明了哪些格式包含 B-rep、PMI 和元数据,这是值得向任何供应商询问的详细信息关卡。
要进行的测试:向供应商发送你最糟糕的真实程序集,而不是演示文件。选择那个有 40,000 个零件、来源混杂、命名规则没人记得当初是怎么定下来的。Check输出结果,包括装配结构、零件名称和单位。
产出与投入同样重要。询问管线写入的格式,并将它们映射到资产的去向。FBX是Unity和 Unreal 的常用交换格式。glTF 和 GLB 是 Web 和浏览器格式, WebGL或 WebGPU 应用程序会使用这些格式。USD和美元Z在移动AR和DCC生态系统中被广泛使用。OBJ 和 STL 仅包含几何体,会丢失层级结构,因此应将其作为最后的选择,而不是目标格式。一条仅写入这些限制之一的管线,您可以稍后部署。
镶嵌:将精确曲面转化为三角形
镶嵌是指用三角形网格来近似精确的 CAD 曲面的过程。CAD 可以精确地描述几何形状,例如边界表示曲面和 NURBS。实时引擎渲染三角形。两者之间的任何转化都是近似值,其质量由您控制,而不是由工具决定。
它受两个因素控制。
最大下垂度,也称为弦长容差或弦长报错,是指三角形网格与真实表面的最大偏差距离,以毫米为单位表示。拧紧它,就会有更多的三角形紧贴表面。放宽螺丝,三角形和可见的切面就会减少。
最大角是指同一面上两个相邻三角形的法线之间允许的最大夹角。仅靠下垂无法很好地处理紧密的曲面,因为一个小圆角可以位于较大的下垂容差内,同时看起来仍然像倒角。最大角度迫使三角形进入这些区域。
已发布的预设值显示了其适用范围。Asset Transformer 的质量预设范围从最密集的 0.01 毫米到最粗糙的 3 毫米,其下垂率会根据模型的边界框缩放公差,因此支架和机身不会被以相同的方式处理。如果下垂度设置得太粗,就会出现多面圆柱体和曲面面板上的条纹。设置得太精细,生成的三角形数量过多,目标设备无法渲染。
网格修复也是在镶嵌结构中进行的。工业CAD并非为渲染而设计。预计需要进行修复和缝合以闭合表面之间的缝隙、自由边缘修复和正常对齐,以便面部剔除不会使模型的某些部分从一侧不可见。
一个测序点比任何单个设置都更有价值。在曲面细分中把握好平衡,比先密集镶嵌再进行后期破坏要好得多。抽取法只能处理给定的三角形。
优化和LOD:从帧率反推
这是几乎没人会画的链条,而且它与大多数团队的工作方式截然相反。起始设备本身入手,而不是从型号入手。
平台持有者会公布预算。引擎供应商大多不会提供这样的数据,在你寻找并不存在权威的Unity或 Unreal 引擎数据之前,了解这一点是值得的。Unity 的图形优化文档刻意采用定性描述,而 Khronos 则将其 glTF 资源创建指南从固定数字转向了针对每个用例的审核配置文件。您的预算取决于您目标硬件的配置。
Meta 将其三角棋盘格数据作为内部推荐范围发布,将其绘制调用数据作为示例范围发布。它还指出,大型开放世界场景的目标三角形数量应约为规定三角形数量的 50%,因为公布的目标来自较小的封闭式关卡。
横着看表格,就能看出限制条件。同一个组件,如果能在桌面审阅工作站上渲染效果尚可接受,那么在共享空间 visionOS 应用中必须容纳 250,000 个三角形,而在网页和移动AR应用中,则必须符合 Google 建议的 100,000 个三角形限制和 10 MB模型大小。最宽松的目标和最严格的目标之间的差距才是真正的设计限制,而对于大多数团队来说,最严格的目标是网页,而不是头盔。那不是一个最后就能解决的减量问题。无论你是构建网页配置器、设计评审、培训模拟还是数字孪生,这都是你在开始时分配的多边形预算。
平局呼吁需要特别关注,因为工业数据打破了通常的建议。当场景需要多次实例化少量对象时,批处理和GPU 实例化效果很好。工业组件的配置文件恰恰相反:数量庞大的不同部件,每个部件都有其自身的材料。合并材质相同的部件,以及实例化重复部件(例如紧固件),比减少三角形的数量更能提高帧率。
值得花时间学习的技巧:
- 保留锐利边缘的抽取法。Asset Transformer 的简化文档显示,CAD 零件从 140,846 个三角形减少到 13,126 个三角形,减少了 90%,并且文档称质量丢失几乎无法察觉,包括尖锐边缘。
- 移除被遮挡的内部几何体。发动机很乐意为密封阀门的内部弹簧渲染,而这些弹簧是任何人都看不到的。
- 击败。抑制在观看距离下低于一个像素的孔洞、圆角、凸起文字和线迹。
- 实例化重复部分。成千上万个相同的螺栓应该被多次引用到一个网格中。
- 信封或代理生成。将最远LOD层级的子组件替换为其外壳。
你的数据能保存下来吗?元数据、层级结构和 PMI
几何体部分是每个人都会检查的。它所所挂的数据才是可能悄然消失的部分。这有多重要取决于具体用例:Web 配置器可能只需要零件标识符,而如果网格上无法解析层次结构和零件编号,服务培训应用程序将无法使用。在根据这一点给供应商评分之前,请先确定您的应用程序实际需要什么。
CAD装配体包含的不仅仅是曲面:
- 将网格与 ERP 或 PLM 记录关联起来的零件编号和标识符
- 程序集层次结构,包括子装配体、实例和局部变换
- 材质和颜色,按部位、身体或面部关卡分配
- Custom属性,例如供应商、批量、版本和成本中心
- PMI 和 GD&T ,即承载设计意图的公差、基准和注释。
预期会有三种结果,而不是两种。Hierarchy和部件名称通常会在本地读取时保留下来,但通常会在中性导出过程中退化。材质通常会保留颜色,但会失去物理特性,因此下游有人会重新分配着色器。PMI 只有在源格式和读取器都支持的情况下才能存在,这就是为什么格式表在列关卡而不是行关卡上很重要的原因。
要运行的测试:转换一个已知的装配体,然后验证指定的零件号在目标应用程序中的指定的网格上是否仍然能够解析。数据表中并没有“保留元数据”。一个零件,一个数字,一次查找。然后,在进行降维之后再执行一次,因为优化过程中属性很容易脱离它们所描述的几何形状。对于任何涉及服务、培训或质量的事项,make其作为一项评分要求,而不是可有可无的选项。
自动化、变更传播和治理
供应商比较中很少出现的三个标准,却最有可能决定你的管线能否度过第二年。
自动化。该管线能否在无人操作的情况下运行?它可以通过命令行或API以无头模式运行吗?它可以批次处理数百个文件吗?设置是保存为已命名、已版本化的配置文件,还是由下一个运行程序的人重新发现?是否有脚本接口,例如Python API,用于处理预设值不适用的情况?仅以交互方式运行的管线只有一个操作员,并且该操作员是单点故障。
更改传播。这是最容易出错的地方,而且几乎所有竞争对手的页面上都没有提到这一点。工程部发布了C版本。会发生什么?在非管理型管线中,除非有人记得,否则什么都不会发生,因此您的培训应用程序、配置器和审核环境都会向决策者显示修订版 B。问三个问题。源更改是否会自动触发重新运行?已更新的资源是会应用到已部署的应用程序,还是只会应用到资源库?完整重新运行需要多长时间?因为这才是真正的更新延迟。云管线自动化与3D流媒体相结合可以形成闭环,将已更新的资源推送到running的应用程序中,从而提示用户拉取最新版本。
治理。转换后的资产增长迅速,而且它们是具有血缘关系的衍生数据。寻找基于角色的访问控制 (RBAC)、将优化资产与其源 CAD 版本关联起来的修订历史记录、审计跟踪以及与 PLM 或 PDM 的连接,这样管线就不会成为未跟踪文件的平行宇宙。这样一来, 3D资产管理就成为了管线的一部分,而不是一项单独的购买项目。本指南旨在指导如何管理3D数据基础设施,内容涵盖架构层。
多源CAD:对多个数据源进行标准化
根据CADENAS PARTsolutions 的一项调查,大约 48% 的工程部门在多 CAD 环境下工作。如果你的数据属于其中之一,那么规范化是首要要求,而不是特殊情况。
当多个原生数据源向同一个管线供料时,通常会出现以下四个问题:
- 单位和坐标系。一个数据源以毫米和 Z 轴向上为单位,另一个数据源以英寸和 Y 轴向上为单位。零件到货时缩放不符或侧放。这个报错在一个零件中很明显,但在包含 30,000 个零件的装配体中却看不见。
- 命名和材料规范。每个创作工具都会导出自己的属性名称。如果没有映射层,基于零件编号的下游自动化会因来源不同而中断。
- 程序集合并。CATIA 主体和 NX 支架必须成为一个具有一个根的层级结构,而不是并排的两个场景。
- 每个源的曲面细分设置。适用于机加工外壳的公差对于钣金面板来说可能是错误的。
询问规范化规则是否可配置和可重用,还是每次导入都硬编码。
自己Build,还是购买现成的管线?
自行编写转化脚本是最常见的实际替代方案,值得认真考虑。
建设的理由。只需一种源格式、一个目标平台和稳定的要求,在开源或授权内核上脚本,只需一个周末的工作,即可获得多年低维护的服务。团队在这方面做得很好。您可以掌控输出结果,无需支付按席位计费的许可费,并且可以根据您的数据调整管线,而不是让数据适应产品。
随着时间推移,建筑成本会是多少?首先要考虑格式覆盖率,因为信息来源会不断增加。有人收购了一家使用 Creo 的公司,而你只有 STEP 格式的脚本需要一个你没有的转换器。内核许可是一项实际的成本项,而且当 CAD 供应商发布新版本时,内核也需要升级,因此每次 CAD发布都会变成一次维护事件。Quality是最难达到的上限:干净锐利的边缘保持和自动LOD生成是专业工作,而一个不熟练的降阶器会把你的倒角弄圆。编写脚本的专家成了唯一的故障点,既没有文档,也没有继任计划。
当建筑方式正确时。一种格式,一个目标,小批量生产,公司内部已具备几何专业知识。或者,某个需求非常指定的,以至于没有产品能够满足。几十年前,美国国家标准与技术研究院 (NIST) 就量化了互操作性错误造成的损失,发现不完善的互操作性每年至少给美国汽车供应链造成 10 亿美元的损失,其中大部分是由于花费在纠正和重新创建不可用数据文件上的时间和资源造成的。此后,格式数量只增不减。
成本
价格会过时,所以要评估模型而不是数字。
- 每个席位。交互式桌面工具的指定许可证或浮动许可证。它具有可预测性,并且其扩展性取决于操作者而非数据量。
- 按转化或按体积计算。常见于云端和API定价中。低数据量下效率高,如果你的源数据经常变动,则值得建模。
- SDK或运行时许可。用于将转化嵌入到您自己的产品中。通常通过协商解决,往往涉及版税或分销条款。
- 企业版或本地部署。当数据无法离开您的网络时需要用到。按平台协议定价。
成本很少是由席位数量决定的。其驱动因素是货源的多样性和数量。十种格式和每日修订的成本比一百个座位每季度阅读一次 STEP 课程的支持还要高。
公布的价格是衡量透明度的合理指标。在Unity Asset Transformer产品系列中, Asset Transformer Studio 列出了按年计费的每席位price,工具包捆绑在Unity Industry订阅中, SDK则有报价。相关工具(例如产品配置软件)可能需要单独的许可,因此作用域整个流程进行评估,而不仅仅是转化步骤。
候选名单核对清单
针对包括Unity在内的所有供应商的十五个问题。诚实的人可以回答所有这些问题。
- 我的哪些 CAD 原生格式可以直接读取,无需导出步骤?
- 对于每种格式,您是读取 B-rep、PMI 和元数据,还是只读取几何数据?
- 我可以设置哪些曲面细分参数,单位是什么?
- 我可以将曲面细分和优化设置保存为可重复使用的命名配置文件吗?
- 你们对锐利边缘的简化质量如何?能否展示一下我的几何图形简化前后的对比图?
- 你们会自动生成LOD层级吗?我可以为每个层级设置三角形目标吗?
- 能否自动移除被遮挡的内部几何体并实例重复部分?
- 在整个管线中,装配层级、零件编号、材料和自定义属性会发生什么变化?
- 经过简化和LOD生成后,元数据是否仍然所挂的到几何体上?
- 该管线能否以无头模式、批次、通过 CLI 或API运行,而无需交互式会话?
- 当源 CAD 文件更新时,管线是否会自动重新运行,已更新的资产是否会到达已部署的应用程序?
- 我的最大规模汇编程序需要重新运行多长时间?
- 转换后的资产是如何进行版本控制的?我能否将一个资产追溯到其源 CAD 版本?
- 你们提供哪些访问控制和审计日志记录功能?你们是否与我的PLM或PDM系统集成?
- 添加源格式、将使用量翻倍或需要本地部署时,价格会如何变化?
[常见问题解答]
查看器显示 CAD 数据,但不产生任何输出。转换器一次只能将一个文件转换为另一种格式,不进行任何优化。管线反复摄取源 CAD,对其进行细分,根据性能预算对其进行优化,保留其元数据,并交付可部署的资产。只有第三个具备生产能力。
无需中间的FBX或 OBJ 步骤。Pipeline 工具可以直接读取 CATIA、NX、Creo 和 SOLIDWORKS 等原生格式,并在导入过程中将精确的曲面转换为网格。FBX和 glTF 格式对于在编辑器外预处理非常大的程序集很有用,但它们只是工作流程的一种选项,而不是一种必要条件。
镶嵌容差,通常以最大垂度或弦长容差表示,是指三角形网格与真实 CAD 曲面的最大偏差距离。已发布的预设范围大致为:从密集输出的 0.01 毫米到粗糙输出的 3 毫米。根据你的三角形预算和观看距离选择它,并将其与最大角度设置搭配使用,以便紧密的圆角能够正确地拼接。
Unity和平台持有者都没有公布推荐的LOD数量。实际上,对于VR和桌面应用来说,三层加上一个精简状态是一个常见的起点;而对于网络交付来说,两到三层通常是比较常见的,因为下载大小首先是限制因素。从你的设备预算倒推:如果你的最远层级超过了预算,那就增加一个层级。
这取决于格式和读者。有些存活下来,有些退化,有些消失。程序集层次结构和零件名称通常会保留在原生读取中。材质通常会以颜色的形式保留下来,但会失去其物理形态。PMI 仅在源格式和读取器都支持的情况下才能存在。测试时应使用指定的零件编号,而不是依赖数据手册。
这取决于你的管线是否实现了自动化。在手动管线中,除非有人注意到,否则什么都不会发生,已部署的应用程序会一直显示之前的版本。在自动化管线中,源更改会触发重新运行,已更新的资产通过流式传输或更新提示到达资产库和已部署的应用程序。
不适用于交互式工作。桌面工具和编辑器插件是为技术美术师和工程师设计的,基于规则的预设涵盖了大多数可重复的准备工作。自动化层确实需要开发人员的能力:编写API、将触发器连接到 PLM 以及在 CI 或云端中running转换。



