您的位置:网站首页 > Inventor教程

Open Inventor在钣金CAD/CAM系统中的应用

时间:2008-09-06 22:54:21 来源:
本文主要介绍Open Inventor在软件系统中的实现方式及一些关键技术。
一、 Open Inventor简介

    用户在使用CAD/CAM 软件系统时要进行大量的人机对话,而人机对话的介质是图形,所以选择一个合适的图形开发工具至关重要。本文选择的图形开发工具是来自Mercury的Open Inventor。Open Inventor是在OpenGL的基础上开发的一个图形工具库,具有全面强大的组件用于快速产品开发,从而帮助用户缩短开发周期,优化开发成本与资源,给用户带来更大的开发效率。Open Inventor是一个面向对象的高效的三维图形制作系统,它还提供了多种文件格式接口的方法,用户可以用这些方法读入或输出图形对象。Open Inventor把图形对象的信息和对图形对象的操作封装在一起。这样,用户很容易对创建的图形对象实现改变颜色、大小、纹理、移动位置、变换视角、动画、鼠标选取、高亮度显示等一系列操作。
二、系统总体结构设计及关键技术

系统总体结构如图1所示。


1. 图形处理
    图形处理主要工作是将输入的钣金图形展开放样,为后面的排样和加工仿真做准备。三维图形的形成是由一个二维截面在一定的轨迹上运动得到的。根据这样的原理将复杂的钣金图形分割成若千简单形体,读取每个分割体的数据,包括截面数据、相应的轨迹数据和分割体之间的拓扑关系数据,这些数据分别记录。展开放样就是求轨迹的实长,实长求得后再根据记录的截面数据,使用Open Inventor 中的SoExtrusion()生成分割体的展开图,再依据拓扑关系数据将分割体的展开图平铺在同一平面上,形成原有钣金图形的展开图。
2. 排样处理
    钣金的排样下料算法为割料问题(CuttingstockProbleln ,CSP),即怎样在一个或者多个矩形上不重叠地排放不同形状的平面图形使得这些图形的面积利用率最高,该问题属于NP----完全问题,也是NP----难问题,找到最优解非常困难,主要采用近似算法解决一些问题。目前常见的近似算法有遗传算法、蚂蚁算法、模拟退火算法、贪心算法等。这些算法较复杂,用常规方法编写效率低,为此可借Matlab强大的数值计算功能,与VC++混合编程。通过MaUab 编译器将其m文件转换成C/C++代码文件并生成必要的库后再通过VC++编译器生成可独立执行的应用程序,这种方式可直接调用其中的库函数生成并发布不必依赖Matlab 的可执行文件。
3. 仿真加工模块
    仿真加工主要分为加工过程模拟和NC指令输出。加工过程是去除材料的过程,运用布尔运算的减运算,使用Open Inventor中的SoT如ersensoro设置时间函数,在每一个时间周期内完成一次布尔减运算,布尔运算可使用SOBoloperation(),每个动作连在一起就形成了整个加工过程。输出的NC代码要符合数控机床中数控系统要求才能进行加工,不同的数控系统对NC代码编写要求也不同,而刀具轨迹是相同的,为此设置后置处理程序读取刀具匀迹数据,再根据数控系统要求转换为相应的NC代码。
三 、结束语
    在现实应用中,该系统提高了设计效率、优化了排样下料以及增强了产品制造的可预见性,缩短了产品从设计到制造的周期,对于推广产品的数字化设计和制造及提高产品的市场的竞争力,具有重要的实际意义和使用价值。并且其它软件平台(如Pro/e) 可导入系统输出的图形文件进行其他分析,系统生成的NC代码可输入相应的数控机床进行数控加工。