CAD/CAE/EDA/CFD/PLM软件产品发展历史很长,涉及到的知识面也非常广:计算力学,电磁学,热,声,流体,计算图形学,并行计算,几何造型,各种数值计算算法,网格生成,GUI设计,PDE,随便一个话题都是一个非常大的领域,单独研究开发都能做上好几年。
开发仿真类的商业软件,讲究的是高效率,快速研发出产品,及早推向市场。在国内IP保护不够,研发投入不足的情况下,选择合适的开发工具就非常重要。
--------------------------------
作为科普,仿真软件开发工具介绍系列将会介绍一些适用于商业开发的工具。仍然,目标是开发能向国际主流CAE产品看齐的产品。希望对国内研发企业选择开发工具有些帮助。
介绍的工具中有免费的也有商业的,这些工具都有成功应用的经验,对于商业开发工具,因为都是本人使用过的,评价会比较客观,从而避免打广告的嫌疑。
--------------------------------
仿真产品开发广泛用到的两个商业组件HOOPS/ACIS。之所以放在一起介绍是因为这两个组件目前是捆绑销售。
HOOPS是Techsoft3d公司(最早由Autodesk出来的一帮人创建的公司)开发的一个图形显示产品,提供了核心的图形架构和显示功能。我们知道在各种数值计算软件产品中,需要对几何模型和有限元模型,后处理结果等进行各种编辑操作和显示,传统图形显示开发工具为OpenGL,但是OpenGL的缺陷也是非常明显的,需要开发人员有较深的图形学功底,而且功能的开发周期很长。开发人员只需要有基本的图形学和编程水平,就可以使用HOOPS快速的搭建起图像显示和图形编辑的应用程序。
缺点:作为显示工具在几何造型功能方面很弱,性能还可以提升。
---------------------------
ACIS是Spatial公司的产品,2000年公司被达索收购,相比HOOPS名气要大一些,ACIS利用的是B-rep即边界表示法来表示几何。AICS是最早开发并且商业化比较成功的三维几何造型引擎。简单讲可以利用代码创建出各种复杂的三维几何,并且支持复杂的几何操作,比如布尔操作,装配,特征识别,网格划分等。ACIS的文件名后缀为*.sat和*.sab(sat为ASCII码文件,sab为二进制文件),作为事实上3D几何工业标准之一,大多数的三维CAD产品和仿真产品都支持 *.sat文件的导入导出。
个人认为,ACIS最大的优点在于两个方面:稳定性和标准。对于复杂几何的生成和编辑高度依赖其稳定性,从开发角度来讲,复杂的几何出了问题,几乎是无法调试的。作为事实上的3D图形标准之一,使用了AICS也就意味着能和大多数的软件产品兼容。
缺点:多线程支持弱,性能还有很大提升空间,显示模块弱。
----------------------
作为两个组件功能互补,Spatial公司开发出了ACIS/HOOPS bridge,即AICS用来造型,HOOPS用来显示ACIS的模型。总之利用AICS/HOOPS可以快速开发出三维CAD应用程序。
----------------------
这两个组件在国外有很多成功应用;在国内也有企业在用,但总体量并不大,主要原因还是在价格上偏贵。如果开发的产品附加值不高的话,采用这套系统得不偿失。也从另外一个方面说明了自主研发和核心技术的重要性:没有核心技术,基础的第三方产品都买不了。