1 绪论
1.1 课题背景
随着计算机技术的普及和发展,CAD (Computer Aided Design)技术已经成为企业提高产品创新能力、经济效益以及竞争优势的重要手段。由CIMdata与e-works Research在CIMdata2012 PLM市场和产业发展论坛(中国)上联合权威发布的《2012中国PLM研究报告》中指出中国三维CAD技术正在得到广泛应用,三维CAD替代二维CAD趋势明显;2011年三维CAD市场较2010增长20.66%,而二维CAD仅为8.01%;未来五年(2012 - 2016) 二维CAD市场可能会出现下滑,而三维CAD将会保持在5%左右的增长速度[1]。此外,基于云计算及移动终端的应用也将推动三维CAD的快速发展。三维数字化设计技术正逐渐成为企业设计运用的热点,也是企业深化应用所必要的工具。这主要是由于三维模型具有形象直观、更接近于真实的事物对象,并且三维实体造型技术具有可视化程度高、形象直观、设计效率高等优点,使得设计者能够借助于计算机将头脑中的或已有的产品形体,转变为可视、可分析、可修改、可进一步模拟加工的实体模型。
虽然使用三维CAD来设计新产品有上述诸多好处,而且越来越多的公司JT-始统一使用三维CAD平台来执行产品研发工作,但大多数企业仍然继续混合使用二维和三维工具。二维CAD之所以仍然占有一部分市场,一方面是由于很多设计人员已经习惯了使用二维CAD进行产品设计,不愿意再去接触三维CAD;另一方面是由于三维CAD的价格要比二维CAD贵的多,而且国内市场上的主流三维CAD软件都是国外的,由于核心技术的垄断,从而造成了商业垄断,使得价格更加昂贵,在很大程度上限制了我国企业在三维CAD技术方面的应用。因此研发具有自主产权的国产三维图形软件,对于掌握核心技术及推动我国制造业信息化的发展具有一定的理论意义与应用价值。对于高档的CAD系统来说,具有真实感的图形這染效果是必不可少的,甚至需要达到照片级的效果,比如具有丰富的色彩,高级的透明应用,以及其它各种真三维效果等。这样就可以使设计人员和决策人员在产品投产和工程项目投标之前就能全面准确地了解其外观,有助于设计的决策,缩短审批的周期,加快产品开发的进程三维CAD系统的基本组成部分之一为三维图形平台,它包括图形输出功能与人机交互功能,是模型数据可视化及设计人员实现设计意图的基础。三维图形平台不仅应用在机械CAD方面,它还广泛应用于其它领域,如GIS系统、VR (虚拟现实)、科学可视化、在线3D产品展示等应用中。
大部分研究人员、企业的开发人员在进行三维图形领域软件开发时会应用已有的图形开发库,原因有以下几点:(1)没有人想重新来实现已经实现的功能;(2)建立在已有的软件框架基础上来开发自己的软件可以节约大量的用于实现和测试图形库所花费的时间;(3)使用已有的图形库可以使发人员集中精力去实现自己的特定功能;(4)开发者可以继承使用授权的代码,而不必再新引进一套体制[3]。而且,三维图形的显示与交互技术涉及到包括计算机图形学、数学、物理学等在内的众多学科。因此,没有必要从头来研究己经成熟的计算机图形技术。
3三维场景图渲染及交互操作........................................20
3.1场景渲染与交互操作.......................................20
3.2三维模型渲染.......................................2
3.3草图绘制.......................................27
4装配模型渲染与操作.......................................34
4.1装配模型设计.......................................34
4.2 装配图段树设计.......................................35
4.3装配环境零部件的交互操作.......................................36
4.4干涉检测.......................................41
5零部件包围盒的连续碰撞检测.......................................43
5.1连续碰撞检测.......................................43
5.2GJK相关理论.......................................43
5.3LCCD 算法.......................................45
结论
本文对HOOPS 3DF的结构与工作原理进行了深入的研究,结合JhSolid原有的架构搭建了一个三维图形平台。在此平台上设计了与JhSolid系统相关的各种功能,如三维模型的渲染、二维草图的绘制以及各种操作等。另外还新增加了两种标准文件输出格式,方便能够与其它CAD软件进行数据交换。总结全文,主要完成了以下工作:
(1)在JhSolid系统框架下搭建了基于HOOPS的三维图形平台,实现了Parasolid与H00PS/3dGS图形数据库之间数据的传递以及HOOPS/MVO与MFC框架下GUI之间的连接。
(2)建立了由HOOPS控制的窗口以及场景。根据HOOPS图形绘制原理,设计了几种不同的显示模式:渲染、带边线渲染、线框和消隐模式。基于摄像机机制与推导出的变换矩阵,实现了三维场景与二维草图之间的视图转换以及构造基面的拾取与草图绘制等功能。
(3)根据JhSolid装配模型的特点,分别为零件类文档和装配类文档设计了相应模型图段层次结构树,并且对图段树进行了一定的优化。通过对段层次结构以及装配建模的分析,设计了一种递归查找算法用于实现零件和组件的选取,进而实现对装配模型的其它操作。
(4)为了实现装配环境下的动态干涉检测,对连续碰撞进行了深入的研究,提出一种新的基于GJK的包围盒连续碰撞检测算法。此算法不需要构造扫掠体,而是对Minkowski差集与相对路径执行GJK分离轴算法,从而实现在整个时间区间一次性完成碰撞检测的任务;若检测到发生碰撞,则对Minkowski差集与相对路径进行求交计算,确定出第一次发生碰撞的位置,进而调整运动物体的位置,完成碰撞响应过程,实现连续碰撞检测。对于多体碰撞,提出一种支撑点投影算法,剔除必定不发生碰撞的物体,加快碰撞检测的速度。