基于Pro/E的智能化标准件库系统的开发
来源:筏尚旅游网
10 Die and Mould Technology No.2 20 1 2 文章编号:1001—4934(2012)02—0010—06 基于Pro/E的智能化标准件库系统的开发 欧阳乐,柳 伟,周雄辉 (上海交通大学模具CAD国家工程研究中心,上海200030) 摘 要:在Pro/E平台上,以组件级、零件级、特征级等多层次参数化技术为基础,通 过综合运用Pro/Toolkit、UDF和Pro/Program等多种二次开发技术,建立了智能化 标准件库系统。本系统能够同时兼容零件标准件和组件标准件,结合Pro/E本身的 装配定位方式,并实现了标准件的追加加5-,自动打孔等多种功能,从而扩大了标准件 库的使用范围,提高了标准件库使用的智能化。 关键词:标准件库;智能化;Pro/E;UDF 中图分类号:TP 391.72 文献标识码:A Development of intelligent standard parts library system based on Pro/E OU Yang-le,LIU Wei,ZHOU Xiong-hui Abstract:On the Pro/E platform,based on the multi—layered parametric technology com- posed of component level,part level and feature level,through the integration of many secondary development technologies such as Pro/Toolkit,UDF and Pro/Program,the intel- ligent standard parts library system was constructed.This system can be compatible with the standard parts in part and assembly,meanwhile,by combination with the Pro/E assembly positioning,the functions such as the additional processing on the standard parts and auto— matic drilling are achieved SO as to enla rge the application range of the intelligent standard parts library and improve its inteIligentialize. Keywords:standard parts library;intelligentize;Pro/E;UDF 0 引言 以及特定的追加加工需求,有效地提高产品设 计过程的智能化与效率一直是用户所关心的问 在机械产品的开发过程中,通常会用到大 题 。 量的通用件、标准件和相似件,有时为了满足用 为此各相关行业都建立了众多的国标、行 户的特定需求,也需要对这些零部件进行一些 标和企业标准件库,开发了很多基于Auto— 追加加212 E 。因此,如何利用已有的资源,在标 CAD、NX、Pro/E、CATIA等CAD平台的标准 准化、模块化的基础上,有机地融合企业的设计 件库系统[3 ]。但是许多标准件库一般采用简 流程与知识,方便地支持用户的各种操作习惯 单、单一的参数化建库方法,如建立基于UDF 收稿日期:2011-12~08 作者简介:欧阳乐(1987一),男,硕士研究生。 模具技术2012.No.2 11 (用户自定义特征)的标准件库,使用族表建立 模智能标准件库系统。 标准件库,或者仅对模板进行尺寸的参数化,而 忽略了特征参数化的作用等,造成建库工作量 1 系统框架 大,而且功能单一,缺乏灵活性、通用性与智能 化。 为了便于标准件库系统在不同CAD平台 特别是在标准件库的功能方面,一般的标 上实现,本文将标准件数据库、零部件检索、型 准件库仅将生成好的零件导人到组件环境,其 号选择、规格参数选择与约束处理,以及历史记 装配定位的方式也比较固定、单一_5],一般采用 录、收藏夹、BOM表或订单操作等与CAD平台 装配特征树实现点面装配方式_6]。但对于大部 无关的通用功能独立出来,采用COM组件实 分零部件来说,装配约束需要根据不同的情况, 现,形成独立的界面系统,使之可以单独运行, 作不同的处理 ],如自动装配、连续布置等。此 也便于在各CAD平台上的接插。而仅将与各 外,标准件装入被装配体以后,还需要创建相互 CAD平台(API)相关的模型参数化驱动、零部 配合的装配孔,而装配孔和标准件一样,也可以 件装配定位以及装配孔自动生成等功能在各 标准化、参数化,使在装配标准件的同时,能够 CAD平台中实现,以尽量减少将标准件库嵌入 在被装配体中自动打出相应配合的标准孔,从 (ADD-IN)各CAD平台的开发工作量。 而有效地提高产品设计的效率。 本系统的基本架构如图1所示,整个标准 本文以注塑模具用标准件库为应用需求, 件库系统以Pro/Toolkit应用程序的形式,通过 研究基于Visual C++,以Pro/Toolkit为主要 动态链接库集成嵌入Pro/E平台。其中,界面 的二次开发工具,结合Pro/Program、用户自定 系统部分基于Visual Studio 2010平台,利用 义特征(UDF)、族表(Family Table)等二次开发 VC++的MFC开发,采用COM组件,以静态 技术l_8],在特征级、零件级和组件级上,对标准 链接的方式与Pro/E插件相结合,并提供了多 件进行尺寸、特征、元件上的参数化,以减少了 个函数接口,用以传递用户选择的型号、规格参 标准库所需的模板数量。同时整合零件模板与 数、追加加工等信息,实现与用户的交互;而 组件模板的驱动程序,实现零件、组件的无差别 Pro/E插件系统则以参数的形式传递给界面系 调用。此外,在标准化的基础上加人满足用户 统Pro/E建模的信息,从而实现两者之间的通 特定需求的追加加工的参数化,以及自动生成 信。本文主要介绍Pro/E插件系统以及其中的 标准件装配孔等多项功能,来进一步开发注塑 二次开发关键技术。 图1系统框架 12 2 系统实现流程 为了能够兼容Pro/E wildfire各版本,本系 统是以Pro/E 2.0为平台,配合Visual Studio 6.0,基于Pro/Toolkit进行的二次开发。系统 流程如图2所示,主要关键点如下。 -(1) 启动界面系统,用户交互获得所需的零 部件的基本信息,如型号、参数,以及所需追加 工等信息。 (2)通过用户选择的型号查找型号与模板 对照表,获得对应模板。同时,检查系统内存中 是否存在与即将调入的模板重名的零件,如果 存在,则提示用户重命名。否则对调人内存的 模板进行参数化,再生成得到用户所需的标准件。 (3)调用Pro/E本身的装配定位方式对标 准件进行装配,用户可以选择被装配体,以及是 否连续自动装配配套零部件等。 (4)调用UDF库,通过识别标准件中的特 定面组,在用户选择的被装配体上插入实体化 特征,自动生成配合装配孑L。 (5)导入零件后,如果用户需要对某零件参 数进行修改,可以点击特征树或模型上的该零 件进行反选编辑,系统根据修改参数重新参数 化该零件。 (6)根据需要或完成模具设计后,点击 BOM表功能菜单,系统遍历产品或模具模型, 获取所有零部件型号、规格参数等属性数据,生 成BOM表和标准件订单。 3 关键技术 3.1 组件参数化及与零件的同等调用 在标准件中,不光只有零件,也有很多组 件。本系统对于组件与零件可以实现无差别调 用,即标准件不管是零件还是组件,都可以在本 系统中进行参数化与装配定位。 组件的参数化与零件的参数化有所不同, 可以运用自顶向下的方式(Top—Down Design), 通过在组件级中添加参数,使组件级参数与零 件级参数进行关联,这样只要控制组件级参数 便可以控制组件中各个零件的参数变化以及零 Die and Mould Technology No.2 20 1 2 图2系统流程图 件的装配关系。 要在系统中实现组件与零件的无差别调 用,主要存在2个难点:(1)采用何种方式使用 户需要的新模型(组件或零件)从原模板文件中 分离出来;(2)如何保证系统实现过程所有的 API函数都不会排斥组件对象与零件对象。 Windows提供的AP1可以对零件模板进 行复制并重命名,从而使新模型在Pro/E之外 就与原模板分离。但对组件来说,却无法简单 地复制组件及其元件。所以必须借助Pro/E本 身的API才能实现组件的完整拷贝。但Pro/E 本身并没有提供对于组件及其元件进行类似 “另存为”功能的AP1,即无法直接通过Pro/ Toolkit的API既对组件重命名,又拷贝组件及 模具技术2012.No.2 其元件至用户目录。这就对系统整体实现流程 提出了更高的要求。 在Pro/E中要对模型进行任何操作,都先 要把模型载入Pro/E的内存空间,获得该模型 的不透明句柄。在Pro/Toolkit中,不透明句柄 属于内存指针,具有内存指针的可变性,即不透 明句柄指向的数据对象移动到不同的内存位 置,该指针会被重新定位。 运用不透明句柄的这一特性,在整个系统过 程中可以使用同一个不透明句柄对象,通过使内 存指针重新定位来获得新模型的句柄,实现新模 型从模板文件中分离。同时可采用分步执行的 方法,来避免Pro/E中API功能不足的问题。 此外,为了保证系统实现过程所有的API 函数都不排斥组件对象与零件对象,就需要使 贯穿程序始终的不透明句柄(即模型对象旬柄) 弱化模型类型信息,以避免由于模型类型问题 造成程序崩溃。 3.2自动装配孔生成 自动生成满足特定配合关系的装配孔可以 有效地提高设计效率,将UDF与Pro/Toolkit 结合起来可以实现这一目标。UDF通常作为不 熟悉或不使用程序情况下的二次开发工具。而 将UDF与Pro/Toolkit结合,最大改善在于: (1)可以实现UDF的图形化界面调用;(2)可 以通过连接数据库来驱动各种可变尺寸;(3) 可以通过程序判断,输入UDF特征所需要的对 象,从而自动在适合的地方调用适当的UDF,实 现模型设计的自动化。 通过Pro/Toolkit调用UDF特征,可以完 全替代通过特征树来创建特征,可以根据需要 实现的功能与参照选择的不同,制作不同的 UDF特征,并储存在GPH格式的文件中。在 利用Pro/Toolkit调入经过特别制作的UDF特 征,不但可以释放GPH文件中储存的信息,创 建相应的特征或实现具体的功能,而且能够控 制UDF特征在组件及元件中的插入位置。 本系统采用实体化特征作为创建装配孔的 基本特征,通过遍历新生产的标准件,识别标准 件中的面组句柄[9],作为实体化特征的参照。 当用户装配完标准件以后,启动打装配孔的程 13 序,通过转换UDF库的路径,找到储存UDF特 征的GPH文件,通过与用户交互获得需要打装 配孔的元件,从而提取出这些元件的个数和在 装配树上的路径。再通过使用ProUdfdata数 据结构,在需要打装配孔的元件中循环插入 UDF特征,从而实现自动打装配孔的功能。自 动生成装配孔流程如图3所示。通过这种方式 所生成的装配孔可以随着已经装配的标准件移 动,图4所示为装配孔实现效果图。 图3 自动生成装配孑L流程 图4装配孑L实现效果图 14 3.3装配定位 Pro/Toolkit中没有直接提供一整套的装 配定位方式,只是提供了一个调入装配界面的 接口。本系统采用直接在特定初始位置调入标 准件,再清理约束重新调入Pro/E装配界面的 方法,模拟了Pro/E自身的装配过程,方便用户 操作。实现这种装配定位方法的具体流程如 图5所示。 图5标准件的装配足位 (1)利用ProSolidOutlineGet()获得标准件和 用户组件的最大外形尺寸,并将2个包络体两对 角点的坐标储存在Pro3dPnt类型的数组对象中。 (2)将标准件调入用户组件环境中指定的 初始位置,为了保证调入的零件与原有的装配 体不相互干涉,需要利用(1)中的组件与零件的 最大外形尺寸计算出来模型初始的坐标位置: 先需要初始化标准件的位置矩阵,使其指向(0, 0,O),然后通过计算得到正确的初始位置(init— pos[33[O],init—pos[3][1],init—pos[3][2])。 计算方法如下所示: Die and Mould Technology No.2 2012 init—pos[3]Eo]一asm—point[1][o]+(comp— point[1][0]—— comp—point[0 ̄Eo])/2+(asm—point[1]Eo]一 asm—point[0][O])/10; //计算标准件导入的X反向的坐标 init—pos[3][1]一asm—point[O][1]+comp— point[1][1]; //计算标准件导入的y反向的坐标 init—pos[3][2]一asm—point[1][2]一comp— point[-1J[2]; //计算标准件导人的Z反向的坐标 (3)利用ProAsmcompConstrRedefUI()对 装入的标准件进行重新装配定位。此时若用户 选择取消装配定位,根据Pro/E的使用习惯,这 个标准件将直接从装配树与绘图区中删除。为 了用程序实现同样的效果,需要对取消装配和 装配不成功等情况进行特殊处理。即通过检测 装配情况并获取装配函数的返回值,如果返回 值出现异常(如出现PRO—TK—USER—ABORT 或者PRO—TK—BAD—INPUTS),则使用Pro- FeatureDelete()函数来删除所导人的标准件。 4应用实例 本文以某应用广泛的塑料模具用零件手册 为基础,根据上述系统框架及实现,建立了智能 化标准件库系统。本系统以Add In插件方式 安装,伴随Pro/E系统而启动。 在启动标准件库系统以后,用户可以根据 “产品群一类型一规格”的三级界面,查找标准 件的类型、找到具体型号、选择或输人参数尺寸 和所需的追加加工类型。图6所示为标准件系 统的第三级选型界面。当用户完成标准件的选 择后,程序会生成参数化标准件等待装配,用户 可以根据需求对标准件进行安装,包括选择需 要将标准件装入的目标元件,系统会在目标元 件中插入实体化剪切特征,自动创建装配孔, 图7所示是完成装配及打孔的效果图。完成所 有标准件设计后,由于每个通过本系统调入的 标准件中都记录了相关的类型、规格参数等属 性信息,系统可以根据用户需要生成BOM表或 标准件订单。 模具技术2012.No.2 15 无差别参数化,提高了标准件库的适用范围。 通过调入Pro/E自身的装配定位界面,模仿 Pro/E添加元件到组件的功能,极大地满足了 用户的使用习惯。此外,系统通过识别标准件 上的特征,运用Pro/Toolkit调用UDF特征,实 现在被装配体上插入实体化特征,从而省去了 用户自己为所调入的标准件进行的打装配孔等 剪切操作,实现了装配孔的参数化、标准化,有 效地提高了设计效率。 参考文献: 图6选型界面 [1]周晖,胡于进.基于Pro/E的标准件库及其装配工具 集的开发[J].计算机与数字工程,2007(2):69—72. [2]Cao Y,Bai Y,Wang Y,et a1.Three-dimensional standard part library development based on Pro/ TOOLKIT and database[J].International Conference on Networking and Digital Society(ICNDS),2009 (5):158-161. [3]陈勇,苏文斌.基于Pro/Family Table和Pro/Program 三维冲压模标准模架库的建立EJ].机电工程技术, 2004,33(5):27—33. [4]李世国.Pr0/T00LKIT程序设计[M].北京:机械工 业出版社,2003. g5]单泉,雷毅,闫光荣.基于模块化产品族的智能装配设 计[J].工程图学学报,2009(1):1-5. 图7完成装配及打子L的效果图 [6]严忠胜,梅琼风.交互式面向装配的Pro/E标准件库 开发[J].机械设计与制造,2009(10):225—227. 5 结论 本文结合Pro/E提供的Pro/Toolkit、UDF 和Pro/Program等多种二次开发技术,利用多 层次参数化的理念,开发了一个智能化插件式 标准件库系统。本系统通过统一零件与组件的 调入方式,并对组件标准件与零件标准件进行 [7]张小兵,周雄辉,柳伟,等.基于Inventor的产品组装 生产线参数化CAD系统开发[J].模具技术,2011(1): 40-44. [8]汪硕,梅琼风,姜昆,等.基于Pro/E的智能化标准件 库开发[J].模具技术,2010(4):5-9. E9]田传艳,杨利平.基于Pro/TOOLKIT的Pro/E模型 特征识别与提取的二次开发[J-1.仪器仪表学报,2010 (8):212—216. 本刊加入“万方数据——数字化期刊群"的声明 为了实现科技期刊编辑、出版发行工作的电子化,推进科技信息交流的网络化进程,我刊 现已入网“万方数据——数字化期刊群”,所以,向本刊投稿并录用的稿件文章,将一律由编辑 部统一纳入“万方数据——数字化期刊群”,进入因特网提供信息服务。凡有不同意者,请另 投它刊。本刊所付稿酬包含刊物内容上网服务报酬,不再另付。 一“万方数据——数字化期-tll群”是国家“丸五”重点科技攻关项目。本于 全文内容按照统 格式制作,读者可上网查询浏览本刊内容,并征订本刊。 《模具技术》编辑部