第4期 2010年4月 文章编号:1001—3997(2010)04—0069—02 机械设计与制造 Machinery Design&Manufacture 69 Parasolid应用平台研究术 朱虎扶建辉 (沈阳航空工业学院机电工程学院,沈阳110136) A study on the platform for parasolid application ZHU Hu.FU Jan—Hui (College of Mechanical and Electrical Engineering,Shenyang Institute of Aeronautical Engineering, Shenyang 1 10136,China) ●◇●‘、●◇●◇・◇・0●0●◇●◇●◇・◇●◇●◇●◇・◇・◇●◇●◇・◇・◇●◇●◇●◇・◇●◇●◇●◇●◇●◇・◇・◇●◇●◇●◇●◇・◇・◇●◇。 【摘要】Parasolid是当今最流行的建模核心之一,广泛应用于CAD/CAM/CAE等领域。但是,它作5 为一个API(Application Programming Interface)不能工作,需要运行平台。提出了在Windows XP环 境下利用Visual C+十和OpenGL建立一个具有Parasolid数据读写、可视化、屏幕拾取、测量等功能的 Parasolid应用平台的开发方法,并完成了相应软件系统。应用实例表明,该平台具有实用性。 5 关键词:Parasolid;0penGL;建模核心 2 ; 【Abstract】Parasolid is one of the most popular modeling kernels today and widely used in CAD/i j CAM/CAE aFe.However, an API(Application Programming Interface),Parasolid could not work inde一6 5 pendently without rz running pz咖r以A methodfor establishing the platform,which have the function of Q ?Parasolid data reading/writing,visualization,entity picking nd aentity measuring is proposed by using Vi— j sual c++and OpenGL in Windows XP environment,nd口SOaj ̄ware of the pltaform has been developed.6 The case stu@indicates that this pltaform is practicable. 2 Key words:Parasolid;OpenGL;Modeling kernel 中图分类号:TH12,TG66文献标识码:A 1 Parasolid建模核心 Parasolid是支持实体建模、Cellular建模、自由曲面建模和 Sheet建模边界表示(B—rep)方式的几何建模核心,由500多个面向 如图2所示,几何实体有四种,它们分别是:曲面、曲线和点。 拓扑实体包括构造模型的所有实体,包括体、区域、壳、面、环、翼、 边和顶点。其它实体由组和屙}生组成。 对象的程序代码(Object Oriented Routine)构成,可采用C、c++、Vi— sual C++进行应用程序编程,采用完全公开其数据结构的Pa rasolid XT格式,能够支持多种操作系统平台,具有良好移植性的开放型内 核。Parasolid的 栏吉卡勾和几附妾口(Interface),如图1所示。 Parasolid接口是应用程序和Parasolid的桥梁,分为上层接 口和下层接口。PK接口和KI接口是Parasolid的上层接口,由一 组位于内核内而由外部调用的函数组成。应用程序通过它们可以 进行建模、操作对象和控制建模器的功能。Frustrum(用户写的函 数集)接口、图形输出(GO)接口和外部几何(FG)接口是Parasolid 的下层接口,由一组位于内核外而由内核调用的函数组成,提供 文件操作、内存管理、图形处理等功能。 图2 Parasolid模型结构 2 Parasolid数据的读写 Parasolid建模核心提供了文本(ACSII)和二进制(Binary)的文 件格式,也就是X—t文件和X—b文件。其中X—t文件的数据格式是 公开的,所有的应用程序不必借助Parasolid内核,就可以直接访问 Parasolid模型文件的所有信息,同时可以将零件模型存储为过去 的任何一个版本。利用PK_PART_receive(*key, options,n_parts, parts)函数来读人Parasolid的数据。该函数共有四个参数,其中 前两个是输入参数:参数key用来传递关键字符,例如,文件名;参 Parasolid的模型实体包括几何实体、拓扑实体和其它实体, 数options用来设置被读入文件的格式。后两个是返回参数:参数 ★来稿日期:2009—06—19 女基金项目:教育部回国留学人员科研基金资助项目(2007—331) 70 n_朱虎等:Parasolid应用平台研究 第4期 parts是返回被读入实体的个数,参数pans是函数返回的实体。 如图4所示。是经该平台以Parasolid格式写入的文件存储到指定 如图5所示。在用户界面,可利用鼠际选取Parasolid 可通过Parasolid的PK函数PK_PART_transmit(n_pans, 硬盘上的隋况,即圆柱面,其颜色变 *pans,*key,*options)把Part中的拓扑和几何对象、标识(Tag)、 模型上的任意拓扑实体。被拾取到的拓扑实体,对象集合(Groups)、对象的属性(Attirbutes)等储存到文件之中。 为红色,同时自动弹出用来说明被拾取拓扑实体信息的信息框,给 该函数的功能是通过给定的关键字符把实体写入文件,其四个参 出了被拾取拓扑实体的类型及标记号(tag),如图6所示。 数全为输人参数。参数n_parts为要写入的实体的个数;参数 发射方向 parts为要写入的实体;参数key为关键字符;参数options为设置 传递状态的选项(如传递的文件格式)。 3 Parasolid数据的可视化 发射点 在把Parasolid数据读人之后,首要的任务就是把它可视化。 Parasolid提供了PK_GEOM—render_line()、PK_TOPOL_render_ 图3拾取光线与面的交点 line()、PK_TOPOL_render_facet()三种PK渲染函数。通过PK_ TOPOL_render_facet()函数来渲染实体的。当任何一种PK渲染 函数被调用时,实体生成的图形数据通过一系列图形输出(GO) 接口函数输出。也就是说,在使用PK TOPOL_render_facet()函数 之前,必须加入图形输出(GO)函数。图形输出(GO)函数不但使 我们从Parasolid中获取图形数据得以实现,而且还能给图形系 统(如OpenGL)输出指令以画出实体图形。 图4用户界面和Parasolid模型 4 Parasolid拓扑实体的屏幕拾取 在交互式实体造型系统中,拓扑实体的屏幕拾取是必不可少 的重要功能。采用PK_BODY_pick—topols函数并结合OpenGL的 Picking函数来实现Parasolid实体中面、边、顶点等拓扑实体的屏 幕选取。该函数的功能是从实体中提取拓扑实体,也就是利用直 线光束从一批给定的实体中拾取面、边和顶点等拓扑实体。当向 某一方向发射光线时,与该光线相交的面将被拾取;而处于与该 光线某一指定距离位置的边和顶点也将被拾取到。对于输入的实 体,该函数将返回按设定的拾取光线和拾取控制选项选取的拓扑 图5存储的Parasolid文件 信息。拾取光线由发射点和发射方向来设定;拾取控制选项用来 定义能被选取的各拓扑类型的最大数量;定义用于裁剪的远/近 平面;定义用直线段近似化曲线的公差、定义拾取光线与顶点以 及边的最大距离;定义是否选取隐面(backfacingfaces)等选项。 5 Parasolid实体的测量 所谓的Parasolid实体测量是指在屏幕上测出实体边的长度 图6拓扑实体的拾取 和任意方向上实体的厚度。至于边的长度,根据第5节描述的屏 7结束语 幕拾取功能提取边的拓扑信息后,用PK EDGE—ask—ve ̄ices()函 研究开发了Parasolid工作平台软件。从应用实例中可以看 数求出边的两个顶点拓扑信息,并用PK—VERTEX—ask_point() 出,该平台软件能够正确地读人并显示Parasolid模型,可把 函数求出顶点坐标后,即可计算出边的长度。任意方向上实体厚 Parasolid数据写入到硬盘文件化,还能够从屏幕准确地提取所希 度的测量,可利用PK_BODY_pick—topols()函数来实现。函数在 望的拓扑实体,而且软件运行可靠、稳定,可为Parasolid提供一 由某一点沿着某一方向向实体模型发射光线时,将返回光线交于 个良好的工作平台,具有一定的应用意义。 面的所有交点的坐标,如图3所示。因此只要在所求厚度的方向 参考文献 上,定义拾取光线的发射点和发射方向即可。 1唐荣锡.CAD产业发展的回顾与思考(之三)从Romulus Parasolid到ACIS. 6应用实例 中国制造业信息化[Jj,2005,34(2):39 2成基华,范玉青,袁国平等.CAD/CAM开发平台及其发展趋势.计算机辅 提出的Parasolid应用平台在Windows XP环境下利用Visual 助设计与图形学学报[J],2000,12(2):154--159 C-H-、OpenGL和Parasolid19.1建模核心实现。该平台具有Parasolid 3郑春峰,王永皎,何利力.基于PARASOLID的CAD系统开发.计算机应用 文件的读人、可视化、写入、拓扑实体的屏幕拾取、实体测量等功能。 研究_J],2006,23(8):216---217 4孙家广,胡事民计算机图形学基础教程[M].北京:清华大学出版社, 该平台的用户界面和把读入的Parasolid模型进行可视化的画面, 2O05:11】~1】3