首页 > 范文大全 > 正文

基于UG的冲压模具标准件库的研究与开发

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于UG的冲压模具标准件库的研究与开发范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:基于ug软件分析了建立标准件库的几种方法,并讨论了它们各自的应用范围。结合实例,重点阐述了在Visual C-6.0环境下运用C++编程语言和UG/OPEN API开发动态链接库(DLL)的方法,通过UG软件调用相关的DLL文件即可建立人机交互式的标准件库。使标准件库可依据人们使用的习惯进行开发,具有很强的人性化和柔性化。

关键词:UG二次开发;标准件库;模具设计;UG/OPEN API

中图分类号: TG76 文献标识码: A 文章编号:

前言

随着技术的发展,为了缩短汽车覆盖件模具产品的开发周期、提高市场竞争力,各主流模具企业均开始了3D覆盖件模具设计。3D模具设计越是普及,其基石---标准件库的作用就越显重要,本文研究的目的是创建出更便于设计者使用的标准件库,以此来提高设计的速度与质量,并为日后备料单的自动输出做好铺垫工作。

UG软件是当前广泛应用的三维CAD/CAM软件之一,并且该软件还提供了相应的二次开发工具,我们可利用这些工具创建出符合自身需要的标准件库,从而大大减少设计人员的重复而烦琐的劳动,使技术人员能腾出更多的时间进行模具结构和工艺方面的改进,进而提高了模具设计的质量和效率。

就UG软件而言,建立三维标准件库的方法大致有三种:(1)利用部件族建立标准件库;(2)利用参数化建模与程序设计相结合的方法建立标准件库;(3)运用程序设计建立标准件库;下面结合“自动输出备料单”功能的需要对这三种方法逐一进行阐述。

1 利用部件族建立标准件库

首先利用UG软件中的特征建模模块进行参数化建模,之后再用部件族功能创建该标准件的部件族,该方法操作简单,可由多人同时创建,不足的地方表现在标准件的调用方式和标准件规格的更改等方面,它的调用方式主要有:从另一个UG窗口复制过来或装配到当前模具图中,无论采用哪种调用方式,更改标准件规格时需要进入部件族进行更改,比较麻烦。

通过部件族命令对属性进行编辑时也存在一些问题。现在很多公司开发了“自动输出备料单”功能,备料单的自动输出需要用到标准件的属性,虽然部件族的“可用列”中可以对属性进行编辑,但编辑后的属性只出现在装配导航器中,在实体上表达不出来,不利于备料单的自动输出,需要对UG软件中的部件族这个命令进行适当的开发,补充一些功能。

利用参数化建模与程序设计相结合的方法建立标准件库

首先利用UG软件中的特征建模模块进行标准件的参数化建模,之后再利用程序语言将所需要的标准件调到当前模具图中,然后利用对话框去更改标准件的规格,并能实现“点”定位或“线-线”定位。

“点”定位是用户利用点构造器来创建一点,之后程序会以该点为基点,在工作坐标系下来创建标准件;如果用户需要将标准件按指定的方向进行创建,那可通过来“线-线”定位方式来定位,用户通过选两条垂直的线或实体的边界来建立一坐标系,该坐标系的方向用来指定创建标准件的方向,该坐标系的原点用来指定创建标准件基点,在标准件创建完成后坐标系会自动恢复到原工作坐标系。根据标准件的实际使用情况,我们可以选用不同的定位方式。

如果将这类程序标准化,该类程序就具有通用性,能提高标准件库开发的速度。但标准件较复杂时程序运行时间较长(例如冲头合件),同时在合件的属性添加上存在难度,需要做一些特殊处理。下面以导拄为例进行过程说明。

2.1 建立参数化实体

在特征建模中建立导柱合件参数化实体,建模过程中需要注意建模的先后顺序,必要时可对表达式进行重命名,如图1所示:

图1 导柱合件实体

2.2 建立对话框

在 User Interface Style(UIStyle) 界面下建立如图2所示的对话框, 保存后UIStyle会在相应的路径下自动生成*.dlg、*.h、*.c三个文件。

图2 导柱合件对话框

程序设计

在Visual C-6.0环境中利用C或C++编程语言进行编程,新建一个工程,工程名称最好与3.2中所建的对话框名称相同,然后将建对话框时生成的*.h和*.c文件替换所建工程中的文件,接下来在*.c文件中开始编程工作,程序设计的目的是将前面所创建的参数化实体调到当前模具图中,并获得有关表达式,根据在对话框输入的数据去更改这些表达式的值,最后更新模型生成我们所需要的标准件,在写程序之前需要对该标准件的各数值之间的逻辑关系进行细致的分析。该函数的主要程序如下:

UF_STYLER_create_dialog ( " Guide.dlg",PRO_DESIG_cbs, PRO_DESIG_CB_COUNT, NULL, response );-----启动对话框

……

tag_t * exps;

int number_of_exps;

UF_MODL_ask_exps_of_part(part,&number_of_exps,&exps);---获得有关表达式

UF_STYLER_item_value_type_t data;

data.item_attr=UF_STYLER_VALUE;

data.item_id=PRO_DESIG_OPTION_L;

UF_STYLER_ask_value(dialog_id,&data);

index_a=data.value.integer; -----读取输入到对话框中的数据

……

UF_MODL_update();----更新模型

程序设计完成后,经过编译,即可生成*.DLL文件,之后将生成的*.DLL文件放到UG安装的相应目录下。

编写菜单脚本文件

利用UG/Open MenuScript工具提供的用于定义UG菜单的脚本语言,编写菜单脚本文件,菜单脚本文件可在记事本中编写,需保存为*.men或*.tbr格式,*.Men格式的脚本文件是用于创建主菜单上的下拉菜单,*.tbr格式的脚本文件是用于创建快捷工具条,该实例中编写的菜单脚本文件保存为*.tbr格式,其内容如下:

! TITLE NC_TOOLS !

TITLE 外购标准件库-----定义工具条的标题

VERSION 170

BUTTON waigou

LABEL 导板 -----定义控件的标题

BITMAP WEAR PLATE.BMP -----定义控件所调用的图片

ACTION WEAR.dll -----定义控件所调用的DLL文件

BUTTON waigou

LABEL 导柱合件

BITMAP Guide Post.BMP

ACTION Guide.dll

BUTTON waigou

LABEL 冲头合件

……

将所生成的*.tbr格式的文件也放到相应的文件夹下,重新打开UG会出现如图3所示的外购标准件工具条,工具条中的控件可调用相对应的DLL文件和图片,实现DLL文件与UG有效的融合,至此一个简单的外购标准件库创建完成。用户调用标准件时只需点击相应的菜单,就会出现相关标准件的对话框,在对话框中输入所需要的规格,标准件便自动生成。

图3 标准件库的界面

运用程序设计建立标准件库

运用程序设计建立的标准件库在使用方面和前种方法一样,在运行速度方面上受标准件的复杂程度影响小,附属文件少,标准件的属性添加方便,有利于备料单的自动输出;缺点是程序比较复杂,开发周期相对较长,下面以冲头为例进行简要说明。

3.1 在UIStyle 界面下创建如图4所示的对话框:

图4 圆型冲头合件对话框

3.2 程序设计

同样,在Visual C-6.0环境中利用C或C++编程语言进行编程,此处程序设计的目的是依据在对话框中输入的数据直接创建出所需要的标准件实体,该函数的主要程序如下:

UF_STYLER_create_dialog (" punch.dlg",PRO_DESIG_cbs, PRO_DESIG_CB_COUNT, NULL, response) ; -----启动对话框

……

double origin[3],point2[3],point3[3];

int BH,index_bh;

charheight[10],diam[10],ctbh[10], ct[10]="薄";

tag_tcyl_tag, body_tag,cyl0,cyl2,cyl1, body_obj_id0, body_obj_id1;

UF_FEATURE_SIGN sign1 = UF_POSITIVE;

data.item_attr=UF_STYLER_VALUE;

data.item_id=PRO_DESIG_OPTION_BH;

UF_STYLER_ask_value(dialog_id,&data);

index_bh=data.value.integer;

data.item_attr=UF_STYLER_SUBITEM_VALUES;

UF_STYLER_ask_value(dialog_id,&data);

strcpy( ctbh,data.value.strings[index_bh]);

if(ctbh[0]==ct[0])

BH=5;else BH=8; ----得到BH值

…… ----其他具体数值的确定省略

UF_STYLER_free_value(&data);

sprintf(height,"%d",BH);

UF_MODL_create_cylinder (UF_NULLSIGN, NULL,base_pt,height,diam,direction,&cyl0); ----创建冲头的轴肩部分

UF_MODL_create_cylinder (sign1,body_obj_id0,base_pt,height,diam, direction,&cyl1);

UF_MODL_create_cylinder (sign1, body_obj_id1,height,diam, direction,&cyl2); ----创建刃口部分

……

冲孔存在正冲和侧冲两种形式,针对这种情况可以做出两类冲头标准件,一类是基于点定位的,在正冲时使用;另一类是基于“线-线”定位的,在侧冲时使用。也可以将这两类标准件组合到一类上,那就在对话框上再增加一个选择定位方式的控件,根据冲孔的形式来选择不同的定位方式。

另外,由于所冲孔的圆心不一定是整数,为此可以对相关数据进行取整,以尽可能地减少设计人员对标准件进行的调整工作。

3.3 编写菜单脚本文件

菜单脚本文件创建与2.4节的脚本文件创建方法相同。

结论

标准件库开发的成功与否直接影响着设计的效率,如果没有一个好的标准件库,预开发“自动输出备料单”的功能,那也将困难重重。本文就基于UG软件建立标准件库的几种常用方法的优缺点及大致思路进行了对比,它们各有利弊,可以将这几种方法结合起来用(尤其是后两种方法),既能快速的创建出标准件库又有利于后续工作的进行,从而达到效益的最大化。

参考文献:

1.董正卫,田立中,伏宜利.UG/OPEN API.编程基础.北京:清华大学出版社,2002

2.林锐,顾晓刚,谢义军.高质量程序设计指南-C++/C语言.北京:电子工业出版社,2002.6

3.黄维通.Visual C++面向对象与可视化程序设计.北京:清华大学出版社,2000

姓名:王彦芬 性别:女民族:汉

出生日期:1982.1籍贯:河北保定

职称:助理工程师学位:专科

2005.7毕业于北华航天工业学院 材料成型及控制工程专业

2005年至2007年就职于霸州市北方汽车配件有限公司

2007年至今就职于长城汽车股份有限公司

主要从事汽车覆盖件模具设计及模具CAD技术的研究工作,以及汽车塑料件开发工作