认清你真正要构建的系统
在编写任何一行代码之前,团队必须清晰看待任何一款专业 3D 工程应用底层的技术栈。它绝不是 “带界面的建模工具” 那么简单。
你至少要看到五个完全不同的技术层:
3D工程应用程序的五个技术层:
- 几何内核--表示与处理 3D 形状的数学引擎,支撑布尔运算、曲面创建、倒圆角、公差建模等。这是最底层、也是最难做好的部分。
- CAD 互操作性--用户需要导入和导出 CATIA、SOLIDWORKS、NX、Creo、STEP、IGES、JT、IFC 以及其他多种格式的文件。每种格式、每个版本都有独特细节,维护转换器需要多人全职投入。
- 可视化--在屏幕上高效渲染 3D 模型,处理场景管理、GPU 优化、跨桌面 / 网页 / 移动端支持。
- 网格划分--如果你的应用涉及仿真(有限元分析、计算机辅助设计、电磁学),你需要可靠而精确的面网格和体网格生成。
- 应用框架基础架构--撤销 / 重做、保存 / 恢复、选择与高亮、命令机制、错误处理、中断操作等。这些功能缺失时才会被注意到,但必不可少。
每一层都代表着多年的专业开发经验。你的团队可能在其中的一个或两个方面拥有深厚的专业知识。其余的呢?这就是问题所在。
自研 vs 采购:决策远比想象更微妙
大多数团队将其视为二元选择:完全自研或完全授权。实际上有三条路径,差异远超表面所见 。
路径 1:全部自研 。最大程度的控制。最大程度的知识产权保护。同时,开发风险最大、成本最高,而且没有外部研发支持。你需要聘请和留住计算几何、图形编程、文件格式解析方面的专家--这些人既昂贵又难找。你的开发周期会延长,因为你要自下而上地开发。互操作性也会受到影响,因为开发和维护数十种格式的 CAD 转换器对于一个小团队来说是一项巨大的工作量。而且,您的定制内核将不可避免地遇到需要数月才能克服的能力障碍。
途径 2:与 CAD 原始设备制造商合作。开发风险低,前期开发成本低。但授权成本往往很高,功能灵活性大大降低(受制于他们的架构),知识产权保护也很薄弱,因为你是在别人的品牌平台上进行开发。支持通常仅限于原始设备制造商决定提供的内容。
途径 3:使用专门的 SDK 和开发框架。这是一条中间道路,对于大多数团队来说,这是一条真正可行的道路。开发风险降低,因为你是在成熟技术的基础上进行开发。成本适中--您实际上是在与供应商分担研发费用,而供应商的全部业务就是维护这些组件。您可以保持较高的功能灵活性和知识产权保护。同时,您还能获得来自数十年来一直致力于解决这些问题的专家的全球研发支持。
一旦你诚实地计算出这些数字,你就会明白其中的道理。但人们并不总是诚实地计算数字。
想深入了解这种权衡吗?
- Spatial 的博文"何时3D软件开发工具包才有意义 "清楚地阐述了这一标准。
加速开发的真实案例
理论是好的,但我们发现看看实际团队的做法更有用。以下是几个真实的例子,它们来自处于 3D 应用领域不同阶段的公司。
节省十年开发时间
JSOL 公司制造的 JMAG 是一种电磁仿真工具,广泛应用于汽车和电子行业。他们面临的挑战是真实的:他们需要3D几何处理、多种格式的 CAD 导入、交互式操作以及分析模型的失败分析。在公司内部建立几何处理系统是不可行的,这也是困扰许多团队的地方--CAD 系统每年都会更新其格式。这意味着即使您今天解决了导入问题,您也要承担永无止境的持续维护负担。
通过集成3D ACIS Modeler、3D InterOp 和HOOPS Visualize,JMAG 实现了 Spatial 案例研究中描述的 "十年软件开发收益"。这并不是市场宣传。
如果将几何内核、多格式 CAD 输入和交互式可视化考虑在内,十年时间是一个团队从零开始构建和强化这三个软件所需的合理估计时间。
将网格划分时间缩短 80%-90%
Coreform 开发了等几何分析软件,这是一种下一代有限元分析方法,可直接处理 CAD 几何图形,而不是先将所有内容转换为传统网格。他们需要实体几何处理和多格式 CAD 导入,但又不想在这两方面花费数年时间。通过使用3D ACIS Modeler和3D InterOp,他们比预期提前推出了该系统。现在,他们客户的仿真工程师节省了 80-90% 传统上用于网格划分的时间。
Coreform 的经验中有一点非常突出:Spatial 的支持团队与 Coreform 自己的工程师共同开发。在集成复杂的 SDK 时,这种亲力亲为的技术协作比人们想象的更重要。
专注物理场,而非底层基建
Treble Technologies 运行着一个基于浏览器的云原生声学模拟平台。他们的核心专长是声学物理和求解器算法,这也是他们希望工程师花时间研究的领域。为了生成网格(包括曲网格和体网格),他们集成了3D Precise Mesh,使仿真管道运行得更快,而无需将团队分流到网格生成工作中。
这种模式值得关注。云原生方面增加了限制(一切都需要在容器中无头、大规模地运行),您最不希望的就是在分布式环境中调试自定义网格生成器。
处理混乱的真实 CAD 数据
雷尼绍(Renishaw)是一家计量和快速成型制造公司,它遇到了一个制造软件从业人员都深有体会的问题:STL 文件通常都是垃圾文件。他们的制造准备软件 QuantAM 在修复损坏的 STL 几何图形方面花费了太多时间。通过集成 Spatial 的 SDK(3D InterOp和ACIS),他们可以直接导入本地 CAD 格式,从而避免了整个 STL 质量问题。
“与 Spatial 合作让我们不仅能高质量修复 STL,更能直接导入各种 CAD 格式。”
雷尼绍集团软件总监 Stephen Anderson。
小团队,大抱负
FVA GmbH 开发了用于变速箱分析的传动系仿真软件。他们的内部曲面建模遇到了很大的限制--无法处理布尔运算、有限元网格或质量/体积计算。每一个新的几何例程都会耗费他们没有的工程时间。他们集成了3D ACIS Modeler、3D Precise Mesh 和3D InterOp,现在他们的客户专注于齿轮分析,而 FVA-Workbench 则处理几何图形。
“与 Spatial 合作让我们精干的开发团队专注核心竞争力:数值仿真。”
FVA GmbH 首席执行官 Norbert Haefke。
这句话比我们能写的任何东西都更能抓住整个论点。小型团队不可能在几何基础架构上花费数年时间。就是不能。
更多跨行业实例
这种模式适用于不同的领域:
- 史陶比尔机器人公司(Stäubli Robotics)的机器人套件需要一个能够在未来 5-10 年内使用的 3D 引擎。他们选择了CGM Modeler、CGM Polyhedra、3D InterOp 和HOOPS Visualize,获得了流畅的3D表现和模块化架构。
- Dukin Co在 ACIS 和 HOOPS 的基础上开发了坐标测量机仿真软件,开发时间缩短了 30%,成本降低了 50%。
- Prototek使用 3D InterOp 和 CGM Modeler 构建了一个自动报价工具,将报价时间从数小时缩短到数秒。
- COSCOM使用 ACIS 对 CNC 数字孪生中的 CAD 数据进行智能缩减,处理了影响性能的海量刀具几何数据集。
看看其他团队是如何加速开发的:
- 在Spatial 的案例研究页面浏览更多信息。
应用框架的重要性(被严重低估)
有些团队总是低估了基本应用基础架构的工作量。在处理3D模型状态时,仅撤销/重做一项就复杂得令人吃惊。如果再加上保存/还原、选择高亮、命令路由、错误处理和取消机制,那么在你的应用程序做出任何独特的操作之前,你就需要付出大量的工程努力。
AGM 是 Spatial 的应用框架,包含 20 多万行代码和超过 15 年的开发时间。基于该框架开发的 40 多个商业应用程序已在全球发布。
它支持 C++ 和 C#,可在桌面和网络上运行,并附带完整的源代码和为期 4 天的培训计划。
比方说,如果你的团队有 8 名开发人员,他们第一年的工作就是构建应用基础架构,那么在你编写任何特定领域的代码之前,就已经花费了 8 个人年的时间。有了 AGM 这样的框架,就可以将时间压缩到几周。首次发布时间的差异是巨大的。
我们并不是说每个团队都需要 AGM。但是,如果您盯着堆栈中的应用框架层,估计 "几个月 "就能完成构建,那么您可能低估了三倍。
不要忽视云端
还有一点越来越重要:部署目标。你的用户可能希望最终能访问网络,也许是移动网络。有些用户希望使用云托管工作流。如果您的架构从一开始就没有考虑到这一点,以后再进行改造就会很麻烦。
HOOPS Visualize Web 可处理基于网络的3D可视化。AGM支持桌面和网络部署框架。尽早规划这些功能--即使首次发布仅为桌面版--也可避免日后的架构重写。
Simus Systems 需要将其成本核算软件转移到云端,从不同的 CAD 系统服务器端读取文件。通过使用3D InterOp,他们在大约六个月的时间内就建立了足够的功能,可以继续实施云计算。
计划您的部署策略?
- 了解更多有关基于网络的 3D 可视化HOOPS Visualize的信息。
- 了解用于桌面和网络应用程序开发的AGM。
切实可行的加速策略
如果我们今天要为一个开始开发新 3D 工程应用程序的团队提供建议,我们会这样告诉他们。
极度坦诚地定位你的竞争优势。
你的应用程序值得购买的具体能力是什么?这就是你的工程人才应该花时间的地方。其他一切都可以申请 SDK 许可。您的领域专家在 CAD 格式解析或撤消/重做基础架构上花费的每一个小时,都是他们没有用在使您的产品值得购买的功能上的一个小时。这是内部构建基础架构的真正成本,也是大多数团队低估的成本。
拆解技术栈,逐层评估
绘制分层蛋糕。也许你拥有真正的内核专业知识,但对构建 CAD 转换器毫无兴趣。许可互操作性(类似3D InterOp,已有 300 多家公司使用了 20 多年)并构建自己的内核。也许您的内核需求是标准的,但您的仿真管道是独特的。授权使用内核(CGM Modeler,为 CATIA V5 和 3DEXPERIENCE 平台提供支持,或 3DACIS Modeler,35 年来一直是建模内核市场的支柱),然后专注于仿真。
估算时间,然后加倍。
对于每个基础架构层,估算从头开始构建需要多长时间。如果这个数字让你感到害怕,那么这就是有用的信息。如果想从更广阔的角度了解如何分配开发资源,《明智地使用 3D 软件开发资源》值得一读。
从框架开始。
基础架构代码并不是让你与众不同的地方。而是耗费时间的地方。在数周而不是数月内建立起一个可运行的应用程序骨架,会改变项目的心理动态。你的团队看到了进展。你的利益相关者看到了进展。势头很重要。
尽早评估 SDK,而不是在耗费了六个月的时间之后。
不要等到已经在几何管道上耗费了大量时间,才开始考虑商业选择。申请评估并根据实际用例运行真实代码。为集成工作做好预算,而不仅仅是授权--SDK 集成是一项真正的工程工作,但它是有限制和可预测的,而从零开始的开发工作则永远无法做到这一点。
从第一天起就计划好互操作性和部署范围。
您的用户生活在一个多 CAD 的世界中。如果您的应用程序无法读取他们的文件,其他一切都将变得毫无意义。桌面版可能是你的第一个版本,但从一开始就要为网络和云计算而设计。以后再改装会很麻烦。
能按时发布 3D 工程应用程序的团队并不一定规模更大或资金更充足。他们是那些想明白了该把工程精力花在哪里,以及该在哪里停止重塑已经存在的基础架构的团队。
准备好加速您的3D应用开发了吗?
- 下载Spatial 的电子书《如何成功开发、部署和支持 3D 应用程序》,获取全面的生命周期指南。
- 访问spatial.com,申请 SDK 评估,获取针对您的使用案例运行的真实代码。