开鑫五金网 >> 旋耕机

利用AGM加速3D应用程序的开发防水箱

2022-07-21

利用AGM加速3D应用程序的开发

利用AGM加速3D应用程序的开发 2011年12月03日 来源: 一、概述众所周知,3D应用程序的开发涉及到造型和可视化等多方面的专业知识,想要在短时间内开发出满足市场需要的3D软件产品往往需要很多专业开发人员数年的努力。通过使用Spatial提供的3D组件可以提高产品竞争力并加速产品上市,但是3D组件毕竟不是最终产品,开发人员还需要在这些3D组件的基础上进行专门功能的开发,形成自己的特色。而对于使用这些3D组件的开发人员来说,如果没有透彻地了解3D组件,那么搭建一个稳定、可靠和可重用的应用程序架构就会变得很困难。为了缩短用户开发3D应用程序的周期,并使他们能够尽快地将开发出的软件产品投向市场,Spatial的专业技术人员结合多个行业不同用户的实际需要,有针对性地提供了商业源代码级别的3D应用程序框架——AGM。二、AGM简介(1)AGM架构AGM是搭建在Spatial 3D组件产品-ACIS、HOOPS和InterOp基础之上的一个商业级别的应用程序框架。AGM中提供了对底层3D组件的访问接口,用户可以直接使用AGM中提供的功能访问底层的3D组件,也可以直接访问底层3D组件。AGM的这种架构给用户提供了很大的灵活性和可扩充性。

图1 AGM架构

(2)AGM的功能AGM包括基本模块和可选模块。AGM基本模块中实现了ACIS模型和HOOPS显示对象之间的映射、模型建立和可视化范例、视图操作、检取高亮、历史回退管理以及显示对象保存等功能,用户可以非常方便和直观地进行建模和可视化操作。AGM可选模块中提供了面向行业的应用,如创新的2D草绘模块、CAE前后处理模块、机构运动和仿真模块以及和解释性语言Scheme进行集成等,用户可在商品化软件中直接使用这些模块,大大简化这些行业用户的开发。另外,用户可以参考AGM中提供的示范代码和算法,为应用程序增加更加丰富的造型、可视化和数据交换等功能。(3)AGM的价值首先,使用AGM可以极大地加快产品的开发速度并缩短产品的上市时间。AGM中已经封装了典型3D应用软件中的通用功能,如模型创建、操作和显示等。另外,AGM的设计充分考虑到了ACIS的层次结构,所以开发人员可以很快熟悉AGM并利用AGM来进行复杂建模和可视化应用。AGM是比较成熟和稳定的商业程序架构,使用AGM应用程序框架来进行3D应用程序的开发,将大大提升软件开发人员在3D处理方面的经验并大幅度减少用于测试和纠错的时间。其次,AGM使用灵活,扩展性强。AGM框架集成了ACIS和HOOPS中的部分功能, 但这并不意味着AGM限制了ACIS和HOOPS的高级扩展。与从底层自行开发商业化软件不同,开发人员不仅可以直接使用AGM中提供的功能,而且也可以直接调用底层的ACIS和HOOPS的API函数,所以在AGM上所进行的开发没有在其他商业程序上进行二次开发的局限性。此外,用户还可以直接使用AGM中所实现的独特功能,以提升软件产品的附加值和竞争力。(4) 平台支持目前,AGM提供了对Microsoft的VC6.0和C++.NET平台的支持,另外由于AGM的内部是采用标准C++实现的,因此用户可以很容易移植到Trolltech的Qt等平台上。三、AGM中的独特功能(1) 本地装配支持 AGM可以表示出拥有多个实例的装配件的结构。结合InterOp的使用,AGM可以读入由高端CAD软件,如CATIA V5和Pro/E所创建的装配件并且显示它们的装配结构。另外,由于AGM中提供了对InterOp中记录装配结构的XML文件的解析功能,因此可以读入由高端CAD软件,如CATIA V5、UG、Pro/ENGINEER以及SolidWorks等所创建的装配件并显示它们的装配结构。如图3所示为读入CATIA V5装配文件的示例,气缸盖和连杆是实例对象,内存中只需保存一个。

(2) CATIA V5风格界面AGM中实现了视图背景设置、多视窗口、CATIA V5风格视图操作、透明对象树等功能,使人机界面更加友好。

1) 视图背景设置支持单色、过渡色或背景图案的设定;2) 多视窗口的实现可以使用户同时通过不同的角度观察一个模型,或对某个窗口的模型进行单独操作;3) CATIA V5风格的视图操作使得用户可以象使用CAITA V5一样在任何时候只需要利用鼠标操作即可完成视图平移、旋转、缩放、旋转中心设定等操作,而无需通过菜单或工具条激活相应的视图操作命令,而且视图操作是透明的;(4)透明对象树结构不仅大大增加了场景的空间,而且由于对象树中的2D对象和场景中的3D对象是关联的,最终用户可以通过该树与3D对象进行交互,如双击和右键菜单等。(3) 可用于大模型显示的数据格式AGM拥有能够充分利用ACIS中的保存恢复机制以及HOOPS流化处理和高度压缩的功能的文件格式。AGM文件中同时包含了B_Rep和具有流化处理功能的显示数据,既能够对ACIS模型和显示对象(如树状结构、工作平面、箭头等)进行快速读写,又可以用来实现对B_Rep数据的延时加载,这对于需要处理大模型显示的应用程序是很非常有用的。如图4所示的模型是用ACIS的Scheme命令创建,并利用AGM进行快速加载的。

图4 AGM大模型保存

(4) 创新的2D草绘模块(可选) 该2D草绘模块的实现采用了一种新的草图绘制和更新机制,用户不但可以创建并动态编辑2D草图,还能够自动处理多草图轮廓的情况,在草图创建的过程中具有支持栅格和端点捕捉、拖拽修改、坐标和参数输入修改、动态橡皮筋等特点,使用非常方便,如图5所示。另外,在该模块中也提供了拉伸和旋转等实体造型功能,且这些特征的创建和编辑都是和2D草图轮廓的完全关联的。

图5 草图构造示例

(5) CAE前处理模块(可选)AGM的CAE前处理模块中提供了和Simmetrix公司的网格划分器的接口以及在模型和网格上添加边界条件等功能。该演示了如何集成第三方的网格划分器,并包含了指定划分网格和分析参数的功能,如约束,物理属性等。使用Simmetrix的网格划分器来生成二阶六面体的示例,保留了网格节点与B_Rep间的映射信息。

(6) CAE后处理模块(可选)该模块中实现了CAE网格(包括四面体、五面体和六面体等)的显示和处理,不仅可以处理节点信息,而且采用LOD的技术优化了网格的显示,从而可以实现非常大的网格模型的显示。云图的显示可以是层次图和渐变图形式。而且支持实时的切平面显示、等值面显示和矢量图显示等。另外,可以支持颜色的数目和取值范围的修改,从而显示出最终用户所关心的取值范围内的云图分布情况。

(7) 机构运动和仿真模块(可选) 这个模块适用于开发三坐标测量、加工和机构仿真等方面的软件。用户可以通过建立零件结构以及指定运动类型和范围来进行机构仿真。在仿真过程中可以支持利用HOOPS的基于多边形的动态碰撞检查,也可以支持利用ACIS进行高精度干涉检查和坐标信息提取,如图10所示。

图10 机构仿真和动态干涉检查

(8) 解释性语言的集成(可选) 这个模块可以在用户的应用程序中集成ACIS Scheme解释性语言的使用,而且用户可以通过扩展Scheme命令来实现对应用程序命令的管理。四、结束语AGM的发布采用源代码形式发布,用户可以根据需要选择可选的模块,或在基本模块的基础上进行定制开发。另外,授权AGM的同时还可以根据用户的需要使用10天的咨询服务,如进行AGM的培训、AGM开发人员和用户合作进行AGM的扩充,或让AGM的开发人员进行专门功能的开发等。到目前为止,已经有14家公司使用了AGM,并且其中8家开发的软件产品已经商业化或被企业使用(其中最快的4个月就推出了产品),其余的几家公司正在继续开发,不久就会发布产品。从这些AGM用户反馈的情况来看,AGM大大提高了他们的开发效率,而且也可以有效提升软件产品的竞争力。(end)

隆回县城南食品厂

兰州安宁金科龙塑胶厂

牡丹江铁路东方农副产品经销处

华星包装袋厂

永济市凯旋商贸有限公司

上海勃誉机电设备有限公司

上海炎信阀门有限公司

深圳市麦得利电子有限公司

上海宝含电气自动化有限公司

阳台

友情链接