基于Pro/E的自动化建模和装配系统的研究和实现
2017-07-19晏名超张洪彬张靖鑫
晏名超 张洪彬 张靖鑫
摘 要:讨论了利用Visual Studio 2005开发环境和Pro/TOOLKIT二次开发工具进行Pro/E二次开发的方法,分析了开发过程的关键技术和步骤,以标准件如齿轮为例,实现了基于 Pro/TOOLKIT零件自动建模的方法,研究了零部件自动装配方法,实现了球阀装配体的自动装配。
关键词:Pro/Toolkit;C++;自动装配;自动建模
Pro/TOOLKIT是美国Parametric Technology Corporation(PTC)公司为Pro/ENGINEER软件
提供的开发工具包,其主要目的是让用户或第三
方通过C程序代码扩充Pro/ENGINEER系统的功能,开发基于Pro/ENGINEER系统的应用程序模块,从而满足用户的特殊要求。Pro/TOOLKIT工具包提供了开发 Pro/ENGINEER所需的函数库文件和头文件,使用户编写的应用程序能够安全地控制和访问 Pro/ENGINEER,并可以实现应用程序模块与Pro/ENGINEER 系统的无缝集成[1]。
1 自动化建模和装配系统实现过程
1.1 开发环境配置
环境配置一共分为三步:首先在Visual Studio 2005中设置包含文件路径,然后导入库文件的路径,最后指明具体所需库文件。
1.2 编写源文件
源文件包括:对话框资源文件、窗口信息文件和程序源文件。
对话框编写方式使用Pro/TOOLKIT提供的UI对话框技术,可以设计出风格与Pro/ENGINEER系统本身具有的对话框相似的人机交互界面,文件扩展名为.res。
程序源文件指我们所要编写的C++程序。Pro/TOOLKIT应用程序的核心是:user_initialize()和user_terminate()两个函数。user_initialize()是 Pro/ TOOLKIT应用程序的初始化函数,在该函数中设置用户的交互接口,如设置菜单、调用对话框或直接调用所需的函数等;user_terminate()函数在终止同步模式的应用程序时调用,该函数由用户定义,其中可以不执行任何动作。
窗口信息文件是含有在调用某些需要人机交互的函数时在屏幕上显示的提示信息。
1.3 生成可执行文件
创建Pro/TOOLKIT应用程序使用Make文件,文件名前缀为Make_的文件为Pro/TOOLKIT工具包提供的Make文件范例,这些文件中对编译和连接所需选项等均已按系统默认安装进行了设置,用户可以将Make文件范例复制和修改,生成自己所需的Make文件。
1.4 在Pro/ENGINEER中注册并运行
在Pro/ENGINEER中运行Pro/TOOLKIT应用程序时,必须先制作一个后缀为.dat 的注册文件,注册文件的作用是向Pro/ENGINEER系统传递应用程序的信息[3]。
2 关键开发技术
2.1 菜单的设计方法和相关函数
菜单设计主要用到菜单条(Menu bar)和菜单按钮(Push button),其中“标准件”就是菜单条,“齿轮”就是菜单按钮。
菜单条是Pro/ENGINEER界面顶部菜单栏中的菜单,创建方法是:直接调用ProMenubarMenuAdd()函数向Pro/ENGINEER添加所需菜单。
菜单按钮是下拉菜单中用来启动一组指令的菜单项,创建方法是:直接调用ProMenubarmenuPushbuttonAdd()函数,这个函数会调用一个动作函数ProCmdActionAdd(),该函数功能是设置相对应菜单按钮的动作。
2.2 自动化建模实现方法和相关函数
自动化建模程序的设计流程分为以下三步。
第一步获得需要编辑的模型句柄,若模型已在Pro/ENGINEER中打开,则利用ProMdlCurrentGet()函数从内存中调取当前用户正在编辑模型的ProMdl句柄,若模型未打开,则利用ProMdlLoad()函数从磁盘中调取模型,此函数需要模型的物理地址作为输入参数。
第二步从模型句柄中获取需要修改的参数值,该步要用到ProParameterInit()函数,其功能是根据已知的参数名和父对象,获得指向参数对象的指针,参数名在设计模型时指定[4];然后调用ProParameterValueGet()函数从参数对象中提取参数值,最后用ProParameterValueSet()函数对参数值进行修改。
第三步调用ProSolidRegenerate()函数,该函数会按照修改后的参数值再生指定实体。整个系统界面如图1所示。
2.3 自动化装配实现方法和相关函数
自动化装配程序的设计流程分为以下三步。
第一步调用ProAsmcompAssemble函数将待装配模型组装到组立档案中,此时不添加任何约束,即仅仅将模型添加到原裝配体中。
第二步设置约束的组立端参考(ProSelection asm_ref)和元件端参考(ProSelection comp_ref),即设置需要进行装配的两个模型,组立端参考和元件端参考可以通过调用ProSelectionAlloc函数由程序创建。
第三步定义组装的约束方式,Pro/TOOLKIT使用类型ProAsmcompconstraint来表示一个约束,首先使用ProAsmcompconstraintAlloc 函数定义约束,但是不设置约束类型,然后用ProAsmcompconstraintTypeSet()函数设置约束类型,约束类型有:匹配、对齐、插入等。
以装配球阀为例演示整个自动化装配系统操作步骤,如图2所示。
3 结论
自动化建模和装配技术是当前二次开发研究的重点方向。它是采用参数化模型通过调整参数来修改和控制几何形状,从而自动实现产品的精确造型。并且将装配过程程序化,通过调用程序实现装配体的自动装配过程,从而省去了设计人员作简单重复的劳动之苦,大大提高了的工作效率、节约了企业成本。
参考文献
[1]李世国.Pro/TOOLKIT程序设计[M].北京:机械工业出版社,2003:1-41
[2]张继春.Pro/E野火版二次开发实用教程.北京:北京大学出版社,2003:12-30.
[3]二代龙震工作室.Pro/TOOLKITWildfire2.0插件设计.电子工业出版社,2005:65-70.
[4]钟日铭.Pro/E机械设计实例教程.北京:清华大学出版社,2007:220-280.
[5]孙鑫,余安萍.VC++深入详解[M].北京:电子工业出版社,2003:63-99