
李咏红
(电子科技大学机械电子工程学院,四川成都610054)
摘 要:本文详细研究了利用Pro ΠE 二次开发工具Pro ΠT oolkit 进行参数化二次开发、原理、方法和实现的关键技术,建立了参数化零件二次开发模型和开发流程,利用VC ++,实现了3D 零件模型的二次开发。关键词:Pro ΠE;Pro ΠT oolkit ;参数化零件;二次开发
中图分类号:TP391172 文献标识码:A 文章编号:167224984(2005)0120101203
Study and realization of the further development about the parameter part of Pro ΠE
LI Y ong 2hong
(C ollege of Mechanical E lectronic Engineering ,University of E lectronic Science and T echnology ,Chengdu 610054,China )Abstract :The detailed study has been made about the principle 、the method and the realized techniques of the further development using Pro ΠT oolkit 1A development flow and a further development m odel of parameter part were created and realized the further development of 3D part m odel by means of C ΠC ++1K ey w ord :Pro ΠE;Pro ΠT oolkit ;Parameter part ;Further development
收稿日期:2004203202;收到修改稿日期:2004205216
1 引 言
Pro ΠEngineer (简称Pro ΠE )是美国PTC 公司开发
的三维C AD ΠC AM 系统,为产品提供了设计、装配、制造、分析、数据管理、二次开发等一套完整的解决方案。其二次开发包Pro ΠT oolkit 以C 语言为依托,利用其开发的应用程序能够安全地访问和控制Pro ΠE ,实现用户应用程序与Pro ΠE 系统的无缝集成,同时利用Pro ΠT oolkit 提供的交互用户界面工具,设计出方便与实用的人机界面,从而大大提高系统的使
用效率[1,2]
。
国内研究者在利用Pro ΠT oolkit 进行二次开发方面做了大量的工作,包括Pro ΠT oolkit 开发环境和开
发模式[3],
并应用于实际习染的研究开发[4,5]
。但存在一个问题是,对于二次开发实现的技术细节讨论较少。本文以Pro ΠEngineer Wild fire 版本为基础,从参数化零件二次的原理、实现流程和实现方法上,对利用Pro ΠT oolkit 工具进行二次开发关键技术作一些研究。
2 Pro ΠT oolkit 二次开发模型
利用Pro ΠT oolkit 提供的开发接口,主要进行数据库接口模型、定制的用户界面模块和零件参数化模块的二次开发。
数据库接口模块主要包括两类接口:一类是标准零部件数据接口,Pro ΠT oolkit 函数利用该接口实现对基准零部件模型参数和设计参数的检索与修改,最终实现模型的更新;一类是外部数据接口,主要实现一些辅助文件的输入输出,如各种信息提示等。定制的用户界面,主要包括菜单技术和对话框技术,并且保持操作界面的一致性,以满足用户不同的功能需求。零件参数化设计模块,这是实现二次开发的关键模块。
3 零件参数化设计的实现方式
Pro ΠE 实现零件参数化设计主要采用两种方式:
第31卷第1期 2005年1月中国测试技术
CHI NA ME AS URE ME NT TECH NO LOGY V ol 131 N o 11Jan ,2005
一是通过Pro ΠE 交互环境直接创建参数化实体模型,另一是利用二次开发工具自动生成。
Pro ΠEngineer 交互环境能够实现复杂零部件的参数化设计,但是对于相似零部件,新设计零件时都需要重新建立模型,设计周期变长。利用Pro ΠEngineer 二次开发工具(如Pro ΠT oolkit ,Pro ΠT able ),只要建立了相似零部件间的尺寸关系、约束关系,通过程序控制,就可以实现相似零部件的快速设计,缩短开发周期。对于复杂零部件的模型,完全由Pro ΠT oolkit 程序自动生成是非常困难甚至是不可能的(如可变截面扫描,混合扫描等高级特征)。
本模型采用结合二者的优势来实现参数化零件设计的二次开发,即采用三维参数化模型与程序控制相结合实现:将常用的各种标准件或专用件用Pro ΠEngineer 交互方式创建其三维基本模型,建立相应的设计参数和约束关系,并保存到零部件基本数据库作为基准零部件模型;然后由Pro ΠT oolkit 程序检索基准零部件模型的设计参数供用户编辑修改,最后按照新的设计参数更新,设计出新的零部件模型,实现快速设计
。采用这种方式,可以方便的实现产品的系列化和变形设计。
4 零件参数化设计二次开发流程及其实现
开发流程如图2所示。
下面对参数化零件二次开发中涉及到的基准模
型参数建立、模型的输入输出、模型参数的检索和更新以及模型的更新等关键技术进行讨论。411 基准零件模型参数的建立
基准零件的建立就是典型零件参数化建模的过程,采用交互方式完成。基准零部件建模的完善程
度将直接决定Pro ΠT oolkit 程序的开发难度和工作量。
Pro ΠE 属于特征全约束的参数化建模,通过尺寸标注和施加相切、共线、垂直、对称等关系实现特征的全约束。交互式建模时除应考虑零件特征的全约束外(模型内部参数
),还必须正确设置控制三维模型的设计参数以及建立参数之间的关联关系,Pro ΠT oolkit 程序通过控制这些参数实现零件的参数化设计。本节以图3所示典型零件螺栓为例来说明。
模型特征内部参数:在建立基准模型时,Pro ΠE 系统内部以d 0,d 1,d 2,……等默认符号给内部参数命名,用于控制模型形状。通过修改参数可实现模型参数化设计。
用户自定义参数(外部参数)及其关系式的确定:用户自定义参数的特点是参数值可变。通过控制这些参数来改变零件的形状,实现参数化设计。螺纹特征的用户自定义参数主要有:公称直径M D ,螺距P ,螺纹长度Ls ,螺纹剖面形状等。前三个参数都是参数,通过交互环境直接设置;对于螺纹剖面,不同的螺纹形式有不同的剖面形状,但控制其形状特征的参数可由参数确定,即剖面参数是导出参数,通过建立用户自定义参数之间的关系式来确定。如图3,以三角形螺纹为例,其剖面参数关系式是:B t =P Π8,B d =P Π8,H s =
58×3P
2
,其他特征的参数确定类似。
用户自定义参数与模型内部特征参数的关联:没有建立参数关联之前,用户自定义参数与模型内部参数没有关系。要通过用户自定义参数控制模型,即控制内部参数,必须使二者关联。通过建立参数关联,才能实现用户交互修改外部参数(自定义参数)后,利用Pro ΠT oolkit 函数,将外部参数改变传递到系统内部参数,最后实现模型的更新,产生新模型,这是参数化的关键。412 模型文件的输入输出
在Pro ΠT oolkit 中模型对象被声明为一个非透明句柄(指针)ProMdl ,ProMdl 的实例化就是各种模型
102
中国测试技术
2005年1月
类型,如三维实体对象ProS olid 是ProMdl 的一个实
例,而零件ProPart 则是ProS olid 的实例,各种类型的对象之间可以进行类型转换,实现实体之间的层次关系。
模型文件的输入:利用ProMdlLoad ()将指定的模型文件装入当前进程,调用ProMdlDisplay ()显示模型,利用ProMdlCurrentG et ()获取当前进程中的模型句柄,为下一步模型参数检索作准备。
模型文件的输出:参数化设计完成的新零件模型需要保存,可用ProMdlC opy ()在内存中先备份新模型,然后用ProMdlSave ()保存备份模型,最后用ProMdlErase ()删除备份模型,使用该方法的优点在于不会改变基准模型。413 模型参数对象检索、参数值获取及参数和模型更新
这是实现参数化设计的关键模块,实现流程如图4所示。参数对象(Parameter Object )和参数值(the Value of a parameter )都是类型为结构体的一种数据对象,参数的检索、更新都要涉及到这两个数据结构
。
建立数据结构后,要实现参数化,必须实现双向
数据流,即从基准模型设计参数到交互界面,供用户修改;另一方面,用户修改后的新参数值,要从用户界面返回到基准模型以实现参数更新,进而更新零件模型。
Pro ΠT oolkit 函数实现模型参数的检索,首先必须得到指向该参数对象的指针,一般有两种方式实现,一是若已知用户自定义参数的名称,调用ProParameterInit ()直接获取该参数名对应的参数对象指针;二是在不知参数的名称,调用ProParameterVisit ()函数遍历模型中的全部参数。可以设定相应的过滤条件将不需要的参数进行过滤。检索出参数对象之后,调用ProParameterValueG et ()函数取得ProParamvalue 结构体对象,通过直接访问ProParamvalue 结构体的成员即可取得参数值,利用Pro ΠT oolkit UI 函数将参数值显示到用户界面对参数值进行修改,再利用UI 元件函数获取其数值,在参数更新之前,须按照约束条件进行参数值合法性检查。满足约束条件的新的参数值才能向模型参数值结构体赋值,通过与模型参数检索相反的过程实现参数更新,最后以新参数值调用函数ProS olidRegenate (),实现模型的更新。
5 结束语
本文研究了利用Pro ΠEngineer 二次开发工具包Pro ΠT oolkit 进行参数化零件设计的开发模型,实现流程及其实现的关键技术,开发了相应的软件系统,并应用与实际零件的设计,取得了较好效果。
参考文献
[1] Parametric T echnology C orporation ,Pro ΠE NGI NEER Wild fire
Online Help[R],US A :PT C ,20031
[2] Parametric T echnology C orporation ,Pro ΠE NGI NEER Wild fire
Pro ΠT OO LKIT User πs G uide[C],US A :PT C ,20031[3] 金淘,陈敏,童水光1Pro ΠE NGI NEER 软件的二次开发技
术[J ]1计算机工程与应用,2001,131
[4] 贺菲,刘子建1基于Pro ΠE 的C AD 系统二次开发技术
[J ]1计算机应用,2002,22(11)1
[5] 江渡,单泉,兰丽华1基于Pro ΠE 二次开发的铁路客车
钢结构三维参数化C AD 系统[J ]1机械设计与制造工
程,2002,31(5)1
第31卷第1期
李咏红:Pro ΠEngineer 的参数化零件二次开发研究与实现
103
