APP下载

基于数据库的UG参数化设计方法探讨

2010-09-11董新华王庆明林海龙

制造技术与机床 2010年2期
关键词:渐开线二次开发对话框

董新华 王庆明 林海龙

(①华东理工大学机械与动力工程学院,上海 200237;②信阳农业高等专科学校,河南信阳 464000)

基于数据库的UG参数化设计方法探讨

董新华①②王庆明①林海龙①

(①华东理工大学机械与动力工程学院,上海 200237;②信阳农业高等专科学校,河南信阳 464000)

通过具体实例分析了基于数据库的UG参数化设计的不同方法及设计过程的特点,供操作者在设计不同对象时找到适宜的参数化设计途径提供参考。

数据库 UG/Open 参数化设计 二次开发

UG是先进CAD/CAM的软件之一,广泛应用于航空、机械、汽车、家电等领域。UG参数化设计是指在零件或部件形状的基础上,用一组尺寸参数和约束定义该几何图形的形状,尺寸参数和约束与几何图形有显式的对应关系,当尺寸或约束发生改变时,相应的几何图形也发生相应的变化,从而达到驱动该几何图形的目的[1]。参数化设计的关键是几何约束关系的提取和表达、几何约束求解以及参数化几何模型的构造[2]。参数化设计主要用于标准化、系列化、通用化程度比较高的定型产品。

在UG CAD中,主要有交互图形参数化设计与二次开发参数化设计方法。交互图形设计方法是指在UG系统的环境中,用户通过UG提供的模型交互命令和参数化设计的建模方法,如通过草绘、成型特征、细节特征等来满足设计的要求,从而完成产品的参数化设计。二次开发参数化设计是指在UG系统的基础上,利用UG/Open、VC等相关工具反映设计要求,并支持对知识库的创建、知识的获取及使用,快速响应需求,是一种高级的参数设计方法。

1 交互图形参数化设计

交互图形设计方法是一种在新产品的开发过程中不可缺少的方法。用户通过草绘、成型特征、设计特征、细节特征等UG提供的模型交互操作命令完成建模。在建模过程中,通过UG的电子表格(Speedsheel)提取、修改工作部件的表达式与属性,然后再利用部件族功能,快速设计结构与形状基本相同而部分参数值不同的系列部件[3]。交互图形设计方法仅能使用电子表格数据库,非常适合于建立零件库的工作,能参数化建立一批形状类似,但尺寸不同的零件[4]。

交互图形参数化设计是对常规交互图形设计的扩展,即首先设计出一个模板文件,并在此基础上,利用UG集成电子表格功能,逐步完成创建电子表格、参数化部件、创建部件各过程。其参数化设计流程如图1所示。下面以内齿圈参数化设计为例分析具体设计过程。

1.1 创建三维模型

启动UG,新建模型文件,命名为innergear.prt,按照以下操作完成。

(1)建立表达式:工具→表达式,打开表达式对话框,建立如下表达式:

其中:m为模数,z为齿数,α为压力角,ha为齿顶高系数,c为径向间隙系数,w为齿宽,d为分度圆直径,da为齿顶圆直径,df齿根圆直径,db为基圆直径,s为分度圆上齿轮的厚度,dd为内齿轮外径。

再建立渐开线方程的表达式:

(2)创建齿坯:插入→草图,进入草图绘制环境,绘制内齿圈外径圆,直径值设为dd,然后执行插入→设计特征→拉伸,进入拉伸对话框,设置拉伸终点距离值为w。

(3)绘制渐开线:插入→曲线→规律曲线,打开规律曲线对话框,选择根据方程方式,以t为参数,依次定义 xt、yt、zt绘出渐开线。

(4)绘制齿槽轮廓线:插入→草图,进入草图绘制环境,先绘制四个圆,直径值为 db、da、d、df,再绘制两条直线,过原点O和渐开线与分度圆的交点作一条直线,作另一条直线,约束与第一条直线的夹角值为(s*180/d)/pi(),如图2所示。

(5)拉伸绘制齿槽轮廓线切除齿坯[5]:插入→设计特征→拉伸,进入拉伸对话框,选择上步创建的1/2渐开线齿形草图进行拉伸。然后,执行插入→关联复制→镜向特征,对拉伸完成的1/2渐开线特征进行镜像。

(6)圆周阵列拉伸特征:插入→关联复制→实例特征→圆形阵列,在实例对话框中输入圆形阵列数目z,阵列角度360/z。然后,执行基准轴→z轴,完成圆形阵列操作,再次进行拉伸得到所需内齿圈三维模型。如图3所示。

1.2 创建电子表格

通过工具→部件族,把相关参数如 a、c、ha、m、w、z、dd定义为部件族参数列,然后指定族保存目录,创建电子表格。如图4所示。

1.3 参数化部件

参照当前部件参数列的意义,在电子表格参数行的后面添加要创建的部件族的每一个成员的参数。每一行参数代表一个成员部件,需要给出每行的DB_PART_NO和OS_PART_NAME,以便对部件进行管理和存储。如图5所示。

1.4 创建部件

根据需要,选择表格中的一行或几行,执行部件族菜单中的创建部件命令,得到相应参数的部件,最后执行保存族命令。

至此,交互图形参数化设计结束,以后在设计时,只需要打开1.1节所创建的三维模型文件,执行部件族命令,选择编辑,调出图5。按上述方法,即可得到需要的参数化部件。

2 基于三维模型的二次开发参数化设计

二次开发的参数化设计方法又可分为基于三维模型的参数化设计方法和基于参数化程序的设计方法。

基于三维模型的参数化设计方法的总体思路是通过修改三维模型的特征,从而驱动三维模型发生相应的变化,达到参数化设计的目的。一般情况下,通过修改特征的参数来实现。首先获得特征的参数,然后改变该参数的值,最后利用二次开发函数UF_MODL_update()更新模型,使得对参数的修改反映到图形上[6]。其基本流程如图6所示。

仍以同样的内齿圈为参数化设计对象,其开发过程如下。

2.1 开发环境设置

利用Visual C++对UG进行二次开发,需要进行环境设置。

如果在应用程序开发向导中没有UG/Open App-Wizard V18选项,应将UgOpen_v18.awx文件复制到VC安装目录(如D:program files)Microsoft Visual StudioCommonMSDev98BinIDE子目录中。为了实现UG对参数化设计系统的调用,还要设置环境变量UGII_USER_DIR为用户自定义目录。在自定义目录下建立startup和application子目录,startup子目录用来放置菜单文件及所有DLL文件,application子目录用来存放对话框*.dlg文件。

2.2 数据库的建立和注册

Visual C++可以使用各种类型的(如 Access、SQL Server、Oracle等)数据库,由于数据量相对较少,使用Access数据库即可。打开Access,新建数据库文件innergear.mdb。内齿圈数据库设计包含8个字段,即齿轮号、内齿圈外径、模数、齿数、压力角、齿顶高系数、径向间隙系数、齿宽。添加数据并保存。

通过控制面板→管理工具→数据源命令,用ODBC数据源管理器注册相应的数据源(如innergear)。

2.3 建立菜单、设计UIStyler对话框

UG/OPEN MenuScript是UG提供定制菜单的专用模块,可用文本编辑器编写菜单脚本,修改扩展名为men,并存放在用户目录startup下。这样UG在启动时出现相应菜单,即可调出参数化设计界面。

UG/OPEN UIStyler是开发UG对话框的可视化工具。在UG下,选择开始→所有应用模块→用户界面样式编辑器,进入对话框设计界面,完成如图7所示界面。

编辑完成后,在用户目录application下生成一个对话框模板文件(innergear_template.c)、一个对话框头文件(innergear.h)和一个对话框资源文件(innergear.dlg)。其中对话框资源文件、头文件与UG/OPEN API结合,编译成动态链接库文件(innergear.dll)。

2.4 创建三维模型

创建三维模型采用交互图形设计方法,即与1.1节相同。

2.5 创建程序框架、MFC对话框

与对话框相对应的应用程序框架创建步骤是,启动 VC,新建 Projects,选中 UG/Open AppWizard V18,输入文件名innergear,按向导提示完成。接着在Visual C++的工作空间中删除*.cpp和*.h这两个向导自动生成文件,更改2.3节生成的innergear_template.c为innergear.cpp,连同2.3节生成的另一文件innergear.h一并添加到VC++工作空间中。

与MFC对话框相对应的数据库访问程序框架创建步骤是,新建Projects,选中MFC AppWizard(dll),输入文件名choicedata,按向导提示完成。然后在新建的对话框资源中添加框架、列表框、按钮等显示数据库信息控件。如图8所示。

然后,创建其对话框类CDataChoice和CInsertDialog,定义该类成员变量、函数和消息。最后添加相应代码,实现对数据的访问。

2.6 数据库的访问

在对话框类中定义类的实例,通过类的方法对后台数据库进行访问,在VC++中与数据库连接的主要程序代码[7]如下:

2.7 编写回调函数

(1)修改相对应特征的参数[8]

(2)UG/Open API对数据库的调用

在UG/Open API中,可以通过调用外部函数来实现对MFC编写的数据库DLL进行访问。外部函数定义为:

把得到的数据库中的数据通过str_mid数组带回到API程序中。

2.8 编译、连接、运行

首先编译实现后台数据库的访问的动态链接库程序,即选择Project的Setting命令,在Link选项卡添加libufun.lib和libugopenint.lib,再设置API函数库所在的路径(如 D:PROGRAM FILESUGSNX 5.0UGOPEN),通过编译、连接,得到 choicedata.dll文件和choicedata.lib库文件。其次再编译框架程序,在Link选项卡添加libufun.lib、libugopenint.lib和choicedata.lib库文件,然后再进行编译、连接,得到innergear.dll文件。把编译和连接过程得到的所有动态链接库文件复制到用户目录startup下,以便于UG系统自行调用。

启动UG,执行自动加载的菜单命令,出现系统主界面如图7所示。单击读入三维模型,系统自动读入程序2.4节所设计模型样板,并把相关数据写入对话框中,在输入框更改相应的参数,单击确定按钮,程序自动完成内齿圈参数的设计与建模。如图3所示。

至此,基于三维模型的参数化设计结束。在以后的设计中,只需执行自动加载的菜单命令,调出输入参数的Styler对话框。先读入三维模型,然后修改相关参数。也可以把机械设计手册中内齿圈标准件数据表导入到2.2先建立的access数据表中,然后从数据库中调入参数,最后更新模型。

3 基于参数化程序的二次开发设计

基于参数化程序的设计方法的总体思路遵循点、线、面、体的方式进行,通过寻找模型上的关键点或根据数学方程求得关键点,再把关键点连成线,把线构成面,通过面生成体。整个过程主要通过UG/Open API和UG/Open Grip实现。其设计流程如图9所示。

从图6和图9的对照可以看出,基于参数化程序的设计方法与基于三维模型的参数化设计方法主要区别是创建三维模型的方式不同。前者使用交互图形进行三维建模,后者通过UG/Open Grip编写参数化设计程序实现三维建模。另外,后者在编写回调函数中,需再调用参数化设计程序。其它步骤与基于三维模型的参数化设计相同。对于不同部分,设计如下。

3.1 用UG/Open Grip编写内齿圈参数化设计程序

依据直齿轮的渐开线方程,计算关键点的数据,应用Grip中的样条指令做出渐开线,然后根据直齿轮的参数计算公式,得到相应的曲线,最后再用实体建模命令及变换矩阵得到内齿圈实体模型。

(1)渐开线直齿轮的参数定义

利用渐开线直齿轮的参数定义和渐开线方程完成内齿圈的Grip程序。Grip编程一般利用文本编辑器编写源代码,以grs扩展名保存,经过编译得到gri文件,链接后生成可执行的grx文件(本例是innergear.grs)。

3.2 调用参数化设计程序

利用UG提供的UF_call_grip函数实现参数化设计程序的调用。其函数原型为:

其中:grip_executable为innergear.grs所在路径;count为innergear.grs中参数的数量,即UFARGS数组的长度;UFARGS表示innergear.grs程序参数的数组指针。

基于参数化程序的设计建模直观、快速,能大大提高设计效率,但该方法需要设计者熟悉Grip语言,能计算相应零件方程关键点的数据,并会使用实体建模命令及变换矩阵等相关知识,适用于高级设计人员。

4 结语

通过对基于数据库的UG参数化设计的不同方法的分析,以内齿圈参数化设计为例,分析了基于数据库条件下,三种参数化设计方法的实现详细过程。交互图形方法能通过设计变量来控制零部件三维模型的生成,具有用户扩充零件数据库功能。UG的二次开发可以实现交互方式操作难以实现的功能,如复杂模型的参数化建模,UG平台上的PDM和CAPP等功能。在通用CAD软件上进行二次开发可以明显提高设计效率,方便地建立标准件和企业常用零件数据库。所做工作可以为不同层次操作者在设计不同对象时找到适合自身特点的参数化设计方法。

1 林莉.基于UG的齿轮参数化设计[J].机械制造与研究,2006,35(3):76 ~77,81

2 刘道华,张申亚等.基于特征的机械参数化设计方法的探讨[J].信阳师范学院学报(自然科学版),2007,20(4):492~495

3 李小力,余世浩.电子表单在UG软件中的应用[J].机械设计与制造,2008(4):62~63

4 林立彬,石勇等.精通UG NX 4.0[M].北京:电子工业出版社.2006.

5 龚剑波.从变位齿轮全参数化建模谈UG的参数化设计[J].航空精密制造技术2006,42(5):28 ~30,34

6 王晓林,唐良宝.基于三维模型的参数化设计方法研究与应用[J].机械设计与制造,2007(8):73~75

7 黄勇,张博林等.UG二次开发与数据库应用基础与典型范例[M].北京:电子工业出版社.2008.

8 (美)西蒙(Simon,D.),周瑜萍等编著.Visual C++6编程宝典[M].北京:电子工业出版社,2005.

如果您想发表对本文的看法,请将文章编号填入读者意见调查表中的相应位置。

The Discussion of UG Parametric Design Based on Database

DONG Xinhua①②,WANG Qingming①,LIN Hailong①
(①School of Mechanical and Power Engineering,East China University of Science and Technology,Shanghai 200237,CHN;②Xinyang Agricultural College,Xinyang 464000,CHN)

In this paper,different methods of parametric design based on UG and database is analyzed and characteristics of all sorts of parametric design process is discovered.All the works provide a reference for the different level operators who try to find suitable parametric design approach when they design different object.

Database;UG/Open;Parametric Design;Secondary Development

TH16,TP391

董新华,男,1976年生,在读研究生,主要研究方向为数字化设计制造技术、计算机应用。

(编辑 孙德茂)(

2009-09-06)

10231

猜你喜欢

渐开线二次开发对话框
基于NURBS理论的渐开线齿轮齿面修复
基于Pro/E的渐开线内花键安装盘参数化设计
正常恢复虚拟机
用修正渐开线投影法螺旋铣球面宏程序的编制
西门子Operate高级编程的旋转坐标系二次开发
浅谈Mastercam后处理器的二次开发
Bootlace Worms’Secret etc.
What Is Beauty?
西门子Easy Screen对倒棱机床界面二次开发
渐开线齿廓链轮梳齿刀的设计