文档库

最新最全的文档下载
当前位置:文档库 > 基于Pro_E二次开发的零件参数化设计_程俊峰

基于Pro_E二次开发的零件参数化设计_程俊峰

基于Pro/E二次开发的零件参数化设计

程俊峰,沈精虎

(青岛大学机电工程学院,青岛266071)

摘要:论述一种基于P ro/E二次开发的参数化设计新方案,并详细介绍实现的过程。在VC.N e t2003环境下,利用P ro/E 提供的二次开发工具P ro/T oo l kit编写具有通用性的零件参数化设计工具,扩展了P ro/E的参数化设计功能,介绍其实现的原理、方法以及关键技术。工程应用实例表明上述方案减小了设计者的劳动强度,提高了参数化建模的效率。

关键词:参数化设计;P ro/E;P ro/T oo l kit;二次开发

中图分类号:TP391 72 文献标识码:A 文章编号:1671 3133(2008)02 0076 05

A para m eterized design of co mponent based on

Pro/E secondary develop m ent

Cheng Jun feng,Shen Jing hu

(Co llege o fM echan ica l&E lectron ic Eng i n eering,Q ingdao Un i v ersity,Q ingdao266071,Shandong,C HN) Abstrac t:D e m onstrates a ne w para m eter ized design precept based on P ro/E secondary dev elopment and i ntroduces the rea lization o f that i n deta i.l A co mmon too l w as progra mm ed using t he secondary deve l op m ent too l P ro/Too l k it of Pro/E under the VC. N e t2003deve lop m ent c ircu m stance.T he assistant tool i s used to desi gn pa rame terized co m ponent,wh ich extends t he para m eter ized functi on of P ro/E,after tha t,t he pri nc i p l e,m ethod and key technique of realizati on f o r the too l is d i scussed.An examp l e of eng ineer i ng applica tion prov ed that above m entioned sche m e i nduced the l abo r i ntens it y and i m proved effic i ency of estab lishi ng para m eter ized mode.l

K ey word s:Para m ete rized desi gn;P ro/E;P ro/T oolkit;Secondary develop m ent

以Pro/E为代表的参数化特征造型是目前成熟的CAD技术。许多企业在Pro/E平台上进行零件的参数化设计,开发参数化造型系统,以便快速实现产品的系列化。

目前主流的参数化设计方案是:在Pro/E环境下利用交互方式生成三维模型,然后在已创建的三维零件模型的基础上,根据零件的设计要求建立一组可以完全控制三维模型形状和大小的设计参数,最后利用Pro/E提供的二次开发工具Pro/Too l k it进行二次开发,实现特定零件的参数化驱动。这种设计方法虽然简单实用,但是存在两个问题:1)参数化建模过程操作繁琐;2)应用程序不通用,需要为每个零件编写参数化驱动程序,工作量大,存在重复劳动。

本文将以Pro/E W ildFire3 0为设计环境,对三维零件模型参数化设计和程序开发所涉及的一些主要技术和方法进行研究,针对上述问题,在原有建模方法的基础上提出改进方案,并且详细介绍方案的实现过程和参数化辅助设计工具的开发过程。1 参数化建模方案

1 1 参数化建模规则

零件参数化模型的设计是整个参数化驱动的核心,模型的好坏直接影响该系统能否生成符合要求的零件,影响二次开发的难度和工作量。为了能够创建良好的参数化模型,制定以下规则。

1)对于零件特征:(1)对零件的形状进行分析,模型中尽量减少特征数量;(2)先建立主要特征,再创建圆角、倒角等辅助特征。

2)对于尺寸标注:(1)优先使用几何约束,减少尺寸约束的数量;(2)尺寸标注符合设计思想,便于实现参数驱动;(3)优先使用辅助工具修改尺寸值,不仅操作方便直观,而且还可以添加尺寸说明和修改系统自动生成的尺寸符号(名称),以便理解尺寸的含义和添加关系式。

3)对于参数的命名:参数名要直接体现参数的意义,建模时首先定制命名规则,可以使用英文或者中

76

文。例如:应该直接使用 Gear_Num ber !、 齿数!、 套筒内孔直径!等含义清楚的参数名,不要使用 L1!、 DD1!等容易混淆的参数名,这也是参数化建模程序能够通用的重要条件。文中采用的命名规则为:

零件名+零件部位或特征名+尺寸类型1 2 参数化设计的实现过程

基于Pro_E二次开发的零件参数化设计_程俊峰

简单零件光纤擦拭器套筒为例介绍如何按照图1 套筒

建模规则实现参数化设计,复杂零件的创建方法与此相同。套筒的二维零件图如图1所示。

1 2 1 创建模型

根据本文第1 1节参数化设计规则和零件的形状特点,使用旋转特征创建零件的主体。草绘图形尺寸,尺寸比例与零件图的尺寸比例相同即可。

编辑草绘图形约束时,优先使用对称、相等、垂直等几何约束,按照尺寸标注规则修改尺寸的标注位置,然后可直接生成特征。草绘截面如图2

所示。

基于Pro_E二次开发的零件参数化设计_程俊峰

图2 套筒草绘图

基于Pro_E二次开发的零件参数化设计_程俊峰

尺寸可以在生成该特征后,使用辅助工具修改,同时添加尺寸说明,并且根据需要修改系统自动生成的尺寸名称。辅助工具提供了两种尺寸信息的修改方式:1)在列表中显示选中特征的尺寸,在文本框修改尺寸信息(见图3);2)在列表中显示零件所有尺寸,

在文本框中修改尺寸信息。

基于Pro_E二次开发的零件参数化设计_程俊峰

图3 尺寸设置

方式1)的具体操作过程为:在显示设置2中选中 显示特征尺寸!,树型列表中将显示已经创建的所有特征,选中树型列表中的特征项则在列表框中显示该特征的所有标准尺寸,选中列表中的尺寸,则在绘图区加高显示该尺寸,同时在文本框中显示尺寸的相关信息。然后可以在文本框中修改尺寸和系统自动生成的尺寸名称,以及为添加重要尺寸的尺寸说明,最后单击 修改!按钮,完成该尺寸的修改。应用同样的方法逐一修改尺寸的信息,修改完所有尺寸后,单击 更新!按钮,系统将按照所修改的尺寸信息重新生成三维模型。方式2)的操作过程与之类似,不再赘述。

在三维模式下修改尺寸信息的好处是更直观,这种方法也符合W i n do w s 操作习惯。同时程序也为Pro /E 增加了修改尺寸名称和添加尺寸说明的功能,零件越复杂越能体现这些功能所带来的方便。在建模过程中,要结合包括Pro /E 所提供的方式在内的几种方法的优点来创建模型。

1 2 2 创建参数和关系式

Pro /E 提供了两种创建参数和关系式的方式:1)在创建或修改特征需要输入尺寸值时,直接输入参数名,系统将自动创建参数,并且为参数和对应的尺寸建立相应的关系;2)利用Pro /E 的参数功能创建参数,再利用Pro /E 提供的关系式功能创建新的关系式。方式2)可以用来创建较复杂的关系式,但是操作不

方便。

图4 参数和关系式设置

辅助设计工具提供了第三种创建关系式的方式,主要用于添加模型的参数与尺寸或尺寸与尺寸间的复杂关系式。下面介绍应用辅助工具添加参数

和关系式的方法(见图4)。

在参数设置栏添加参数:根据提示在文本框中输入自定义参数名,同时选择参数类型、输入参数值,单击 添加!按钮完成参数的添加。

在关系式设置栏添加关系式:在文本框中输入关系式,单击 添加!按钮,程序自动检测关系式是否正确,检查无误后实现该关系式的添加。按照这种方法可以逐一添加所有关系式。

这些添加关系式的方法各有优缺点,在实际建模过程中应该结合这三种方法的优势来添加关系式,同

77

时还需要注意,关系式的添加顺序不能颠倒。

使用同样的步骤创建其他特征,直到完成零件的设计。最后保存零件模型,零件的参数化设计完成。1 2 3 零件的参数化驱动

用户可以在启动Pro /E 软件平台后,注册应用程序,装载三维零件模型,通过菜单调用辅助工具。程序自动检索零件中的所有参数,并将其显示在参数设置对话框中,用户便可以通过人机交互界面进行操作,如图5a 所示。由于参数名含义明确,在对话框中很容易修改相关参数的数据,然后单击 更新!按钮,生成新的零件模型。图5a 、图5b 分别是修改参数前、

基于Pro_E二次开发的零件参数化设计_程俊峰

后的对比图。

基于Pro_E二次开发的零件参数化设计_程俊峰

图5 零件的参数化驱动

另外在零件系列化的过程中,随时可以暂停程序,在Pro /E 环境下对零件进行交互式设计,修改其局部特征,重新设计后不影响应用程序的运行。

其他零件的应用:图6所示为光纤擦拭器滑块的参数化设计实例。对话框为用户修改滑块参数的界面,图6a 、图6b 分别是模型参数更改前、

后的对比图。

基于Pro_E二次开发的零件参数化设计_程俊峰

基于Pro_E二次开发的零件参数化设计_程俊峰

图6 设计实例

2 程序的实现

应用程序采用同步模式开发,通过动态链接库的方式集成到Pro /E 系统中。系统首先由VC .net2003向导自动生成M FC DLL 框架程序,然后设置编译环境,进行界面和功能的设计。

2 1 界面的设计

界面的设计是在VC .net 提供的对话框编辑器中完成的。在编辑器中可以进行人机界面的可视化设计,并且界面的风格基于W indo w s 操作习惯。具体操作过程为:插入对话框资源、添加控件、设置对话框与控件的相关属性。

对话框可以通过菜单或者快捷键调用,还可以根据需要动态设置对话框的大小,用以显示不同内容,菜单是利用Pro /Too lkit 提供的相关函数设计的,集成在Pro /E 的菜单条中,如图7所示。单击菜单 零件参数化设计!(见图7a),显示对话框(见图7b)

图7 菜单和交互界面

2 2 功能设计及其特点

1)程序界面采用非模态对话框设计,随时可以关

闭或最小化对话框,以方便在Pro /E 环境中对零件进行交互式设计。

2)程序具有通用性,不必为产品的每个零件均设计一套参数化驱动程序。

程序由相互独立又有联系的三部分组成:参数设置、尺寸设置和关系式设置,

它们之间通过零件模型

图8 数据传递

传递数据信息。程

序所涉及到的数据信息均保存在零件模型中,双向传递,

如图8所示,从而实现程序的通用性。

3)方便添加、修改和删除参数,实现参数驱动模型。在建模过程中添加的参数名保存在模型中,程序在启动时根据用户设置读取模型中的参数,借助辅助工具可以方便地添加、修改和删除参数,并实现模型再生。

4)方便在三维模型下修改尺寸相关数据。在草绘过程中修改尺寸值较为繁琐,应用辅助工具在生成特征后修改尺寸值更方便更直观。草绘时只需按照参数化建模规则2)(见本文第1 1节)调整标注尺寸

78

的位置,生成特征,然后修改尺寸值和添加重要尺寸的尺寸说明,最后单击更新按钮,程序将按照修改后的尺寸重新生成特征。

5)方便添加、修改和删除关系式,快速体现设计意图。

尺寸名称由系统自动生成,对于复杂零件,尺寸非常多,在添加尺寸关系式时,尤其是当关系式尺寸存在于多个特征中,往往需要在众多尺寸中查找,导致添加关系式极不方便。辅助工具提供两种方法解决这一问题:(1)根据添加的尺寸说明查找该尺寸;(2)在尺寸设置树型列表中单击某一特征,列表中显示该特征的相关尺寸,单击某一尺寸,绘图区的三维模型上将加亮显示该尺寸,对话框中同时显示尺寸的相关信息。

添加完关系式后,程序计算各个关系式的结果,并将其显示在关系式列表中,便于检查模型是否满足设计要求。

总之,辅助工具的主要功能是快速地实现工程师的设计思想,方便快捷地修改零件的关系式、尺寸和参数,并生成新的三维模型,完成零件的参数化设计。2 3 程序开发流程

应用程序采用面向对象的C++语言编写,充分利用了M FC (M icr osoft Fundati o n C lasses)所提供的类库,从而减少了程序的编写量。比如利用M FC 动态数组模板CA rray 类,动态储存参数对象、特征对象、尺寸对象和关系式对象的指针,

基于Pro_E二次开发的零件参数化设计_程俊峰

方便程序功能的实现。

图9 程序框架

程序主要由三个功能模块组成:参数设置、尺寸设置和关系式设置,程序主要框架如图9所示,图9中 对象!的含义是指参数对象、尺寸对象和关系式对象。

源程序采用模块化编写,各模

块按照功能划分,便于功能的扩展和维护。比如,参数设置模块中获取模型中参数对象指针的相关函数如下:

//自定义参数访问动作函数,将得到的参数对象指针添加到数组变

量中

ProError cjf Para m eter Acti onFn (ProPara m eter *

Para m,ProError stat u s ,

CA rray*p_pdata)

{

p_pdata->Add(*Para m );//利用CA rray 类成员函数保存参数

对象指针

ret u rn(PRO_TK_NO _ERROR); //继续访问其他参数 }

//自定义参数访问过滤函数,用于过滤掉不需要的参数

ProE rror cjf Para m eterF il ter Fn(ProPara m eter*Para m,P ro E rror stat us , CA rray*p_pdata)

{

ProChar L i n e strt m p ;//定义临时变量,用于储存参数对象名称 Pro W stri ngToS tri ng(strt mp,Para m ->id);//获取参数对象名称字

符串

//过滤系统自动生成的参数,"DESCR I PT I ON"和"M ODELED_BY" if(strc m p(strt m p ,"DE SCRIPTI ON ")==0? strc m p(strt m p ,"M ODELED_BY")==0)

ret u rn(PRO_TK_CONT I NUE );//忽略该参数,访问下一参数 el se

ret u rn(PRO_TK_NO _ERROR);//访问该参数 }

//用户自定义函数,访问零件模型所有参数对象指针。输入零件实

体对象指针cu rsoli d,输出该零件的参数对象指针到动态数组par m et erlist 中void cj f Get Para O f So li d (ProSoli d c u rsolid ,CArray &par m et erlist)

{

Pro M odelite m m odelit e m; ProE rror st atus ;

//获取参数对象的父对象,即当前零件的模型项 status=P ro M d l T o M odelite m (curs o li d ,&m odelite m ); //调用参数对象访问函数,访问当前模型项的所有参数 status=P roPara m eter V i s i t(&m od elit e m,//输入数据,当前模型项 (ProPara m eter F ilter)cjf Para m eter F ilterFn,

//调用参数过滤函数

(ProPara m eter Action)cjf Para m et er A cti onFn,//调用访问动作函数 (CA rray

*)&par m eterlist);//输出

数据

}

这些自定义函数也具有通用性,可以作为子函数被其他辅助设计系统调用。这里仅给出了获取参数对象指针的部分实例程序,其他部分程序可以按照这种思路写出。

3 结语

本文结合Pro /E 二次开发,探索了一条快速实现零件参数化设计的方法。应用辅助工具可以快速实现产品的系列化和变形设计。

参数化辅助设计工具具有很好的通用性,适用于普通零件的参数化设计,扩展了Pro /E 的功能,提高了参数化设计的效率。辅助工具是光纤擦拭器设计系统的一部分,也可以集成到其他计算机辅助设计系统中或者独立使用,具有较高的应用价值。本文可作为研

79

基于JS P技术的项目甘特图设计与实现

王俊1,杨涛2

(1北京信息控制研究所,北京100036;2北京神舟航天软件技术有限公司,北京100036)

摘要:甘特图能直观地反映任务工期、进度、逻辑关系以及关键路径,是一种有效的项目进度管理工具。提出一种能够适应大数据量的基于JSP(Job Shop P rob le m)技术的项目甘特图绘制方法。该方法能够广泛应用于基于W eb的项目管理系统的开发。

关键词:JSP技术;甘特图;项目管理

中图分类号:TP391 7 文献标识码:B 文章编号:1671 3133(2008)02 0080 04

Design and i m ple m entati on of dra w i ng Gantt chart based on JS P technology

W ang Jun1,Yang tao2

(1B eiji n g Instit u te of I nfo r m ation and Contro,l B eiji n g100036,C HN;

2Be ijing Shenzhou A erospace Soft w are Technology Co.,Ltd,B eij n g100036,CHN)

Abstrac t:G antt chart can reflect the ti m e li m it f o r a pro ject,schedu l e,l og i ca l re lati onship and critical path i ntuiti v ely.It i s an ef fecti ve tool f o r pro j ect schedu l e m anage m en t too.l Proposes a m ethod for dra w i ng G antt chart based on JSP techno l ogy,wh i ch is suitable for b i g a m ount data and used w i dely i n the deve l op m ent o f eng i neer i ng pro j ect m anage m ent syste m based on W eb.

K ey word s:JSP techno l ogy;G antt chart;P ro ject m anag e m ent

甘特图是表示某种活动进度信息的图形,活动和其他项目要素的名称从上到下排列在图的左侧,时间显示在图形顶部,活动历时用对应时标轴的横线条表示[1]。甘特图建立了一个基于时间的网络,能直观地反映任务工期、进度、逻辑关系以及关键路径,也可以作为一个项目进度管理工具来评价计划和实际进展之间的差别。

JSP中实现动态图形的方法通常有两种[2,3]:1)在

JSP页面中插入App let小程序,由App let根据相应的已知数据进行绘图操作;2)通过放在服务器端的Java B ean或Servlet组件或应用逻辑,根据JSP页面提供的数据动态生成i m age图像,把生成的图像存在服务器上,然后再把图像通过网页显示给用户。生成图像的方法不利于与用户交互,而Applet能够让生成的图形捕捉不同的鼠标动作并做出反应,并且Applet与javascri p t具有良好的交互能力,App let能够响应来自

究人员开发基于Pr o/E平台各种产品模块的参考资料。

参考文献:

[1] 谭雪松.P ro/ENG I N EER W il dfire2 0中文版典型实

例[M].北京:人民邮电出版社,2005.

[2] 李世国.P ro/TOOLK IT程序设计[M].北京:机械工

业出版社,2003.

[3] Pa rame tric T echnology Co rporati on.P ro/TOOLK IT

W il dfire2 0U ser s Gu i de.U S A:PTC,2003.

[4] Tom A rcher A ndre w W h ite chape.l V isua l C++.N ET

宝典[M].马云,等译.北京:电子工业出版社,2003.

[5] 杨青,陈东祥.基于P ro/Eng ineer的三维零件模型的

参数化设计[J].机械设计,2006(9).

[6] 刘碧俊.基于P ro/E的仿形靠模三维造型设计[J].

现代制造工程,2007(1):55-56.

作者简介:程俊峰,硕士研究生,主要研究方向为机械CAD/CAM。

沈精虎,教授,主要研究方向为机械CAD/CAM。

作者通讯地址:青岛大学机电工程学院05级机械电子研究生(青岛266071)

E m ai:l m ailcj@f163.co m

收稿日期:2007 11 19

80