APP下载

基于UG二次开发的注塑模辅助设计插件的设计

2014-03-17欧阳文凯

科教导刊 2014年5期
关键词:模具设计注塑模

欧阳文凯

摘 要 本文以成型教研室《基于UG的模具设计库插件开发》的科研项目为例,对基于UG二次开发的注塑模辅助设计插件的设计过程做一个具体的说明,说明了UG二次开发的技巧和方法,以及UG二次开发在注塑模辅助设计当中的应用和前景。

关键词 UG二次开发 模具设计 注塑模

中图分类号:G642 文献标识码:A

Injection Mold Plug-aided Design Based on

UG Secondary Development

OUYANG Wenkai

(Department of Mechanical Engineering, Wuhan University

of Technology Huaxia College, Wuhan, Hubei 430223)

Abstract In this paper, take molding department "UG-based mold design library plug-in development" research for example, to make a specific description UG secondary development based injection mold design plug-aided design process, explains UG secondary development of skills and methods, and the development and application of UG and prospects among injection mold-aided design.

Key words UG secondary development; mold design; injection mold

0 前言

在目前激烈的市场竞争中,模具的开发主要靠UG等三维软件进行完成。但是以UG软件进行模具设计和开发,专业度非常高,一般人难以掌握,而软件本身,也有不足,难以和生产实践相适应,是造成模具设计工程技术人员进步的主要瓶颈。

基于此现实问题,成型教研室提出《基于UG的模具设计库插件开发》的科研立项,目的是在UG软件中接入一个插件,此插件将囊括150套注塑模复杂模具的整体结构,以及7大类典型常见模具的标准结构,用户可以根据自己的产品工艺特点,根据电脑的检索分类,随时调用匹配的模具结构,辅助设计人员进行设计,既方便教学使用,又能应用于实践生产当中。

1 UG二次开发介绍

Unigraphics(简称UG)是当前世界上最先进和精密集成的,面向制造行业的CAID/CAD/CAM/CAE 高端软件,它为制造行业产品开发的全过程提供解决方案,功能包括:概念设计,工业设计,性能分析和制造。

UG是一个功能强大的通用3D机械CAD/CAM软件系统,用户若要以它为平台进行二次开发,实现大型的机械设计系统(如模具智能化专家系统CAD软件),就必须利用UG的开发模块,借助C/C++,在以UNIX为操作系统的工作站上或以Windows为操作系统的微机工作站上编写C程序,进而生成可执行文件。

用户二次开发的结果,最终要供他人使用,因此良好的交互界面是非常重要的。UG提供的User Tool工具可使用户的开发结果与UG的集成交互界面有机地结合起来,形成一个风格一致的统一界面,方便了用户的使用和操作。

UG二次开发使用到的工具有:UG API , UG GRIP , UG OPEN , NX OPEN , MANUSCRIPT , BLOCK UI STYLER等等。

2 UG二次开发的一般过程

作为UG NX 6.0与外部应用程序之间的接口,UG/Open API是一系列函数的集合。通过UG/Open API的编程,用户几乎能够实现所有的UG NX 5.0功能。开发者可以通过用C++语言编程来调用这些函数,从而实现用户的需求。

(1)对UG part文件及相应模型进行操作,包括建立UG NX 6.0模型、查询模型对象、建立并遍历装配体及创建工程图等。

(2)在UG NX 6.0中创建交互式程序界面。

(3)创建并管理用户定义对象等。

应用函数时应注意,所有的UG/Open API 应用必须及时进行初始化和终止,以确保获取或释放UG/Open API的执行许可权限。

初始化函数是UF_initialize,开始调用UG/Open API的函数时应先调用UF_initialize来获取执行许可权限。终止函数是UF_terminate,不再需要调用UG/Open API的函数时,必须先调用UF_terminate来释放执行许可。

UG/Open API 程序能在两种不同的环境(依赖于程序的连接方式)下运行,即Internal环境(也叫“Internal开发模式”)和External模式。其中Internal环境下的程序只能在UG NX 6.0的界面环境(session)下运行,在运行这些程序时它们被加载到UG NX 6.0的运行空间中(UG NX 5.0分配的内存)。External模式开发的程序能在各种操作系统(Windowns NT/2000/XP及UNIX)下运行,不在UG NX 6.0环境中或作为UG NX 6.0的子进程运行。尽管没有图形显示,但UG/Open API提供了函数用于打印机或绘图仪输出,也可以输出成CGM文件或其他数据文件。

图1

UG二次开发需要vs2008、UG6.0这样的工作环境,它的一般过程是:(1)利用manuscript语言编制插件启动文件;(2)需要利用UI styler设计对话框界面文件;(3)需要利用vs2008编辑对话框生成的C语言文件,在其中添加相关的功能代码;(4)设置UG相关环境变量,使设计好的插件内嵌入UG界面中。endprint

所以UG二次开发是一个复杂的过程,需要对多种软件非常熟悉的操作。

3 插件工作界面的设计

UG插件工作界面的设置可以使用多种途径,比如用VS2008自带的MFC来设置界面,这样设置的界面功能非常强大,也容易调节,但是不符合UG本身的风格,如果要设计一款完全融合UG风格的软件工作界面,必须使用UI styler程序,利用UI styler设计软件工作界面,并且导入至VS2008的一般步骤为:

(1)设计对话框界面草图;(2)利用UIStyler工具创建对话框;(3)设置对话框中的回调函数;(4)保存对话框;(5)将系统自动生成的对话框C语言模板文件复制到VC2008项目中;(6)修改C文件,添加回调函数代码,编译连接文件;(7)将对话框文件(.dlg)复制到相应的目录下,将共享库文件(.dll)复制到相应的目录下;(8)运行、测试及调试应用程序。

图1为本次科研项目设计的插件工作界面。

4 回调函数功能代码的完成

利用UIStyler工具创建了对话框工作界面以后,要想实现其中的每一个按钮功能就必须将对话框生成的C语言文件导入到VC2008项目中,然后再其中修改相应回调的处理代码,以实现各种功能。

下面这段代码就是在回调函数中实现二级对话框弹出的代码

NXOpen::UIStyler::DialogResponse response;

theNXStyler001 = new NXStyler001();

response = theNXStyler0066->Show();

delete theNXStyler001;

其中001表示第一个二级对话框的编号,其工作界面如图2:

图2

下面这段代码就是在回调函数中实现参数化一个长方体的代码:

if(!UF_initialize())

{

char *edge[3]={NULL};

tag_t block_tag;

int error = 0;

double length =this->changeReal4->ItemValue();

double width = this->changeReal5->ItemValue();

double height = this->changeReal6->ItemValue();

double x =this->changeReal7->ItemValue();

double y= this->changeReal8->ItemValue();

double z= this->changeReal9->ItemValue();

double corner[3];

corner[0]=x;

corner[1]=y;

corner[2]=z;

edge[0]= (char *)UF_allocate_memory(256*sizeof(char),&error);

edge[1]= (char *)UF_allocate_memory(256*sizeof(char),&error);

edge[2]= (char *)UF_allocate_memory(256*sizeof(char),&error);

sprintf(edge[0],"%f",length);

sprintf(edge[1],"%f",width);

sprintf(edge[2],"%f",height);

UF_MODL_create_block1(UF_NULLSIGN,corner,edge,&block_tag);

UF_free(edge[0]);

UF_free(edge[1]);

UF_free(edge[2]);

}

UF_terminate();

其工作界面如图3:

图3

5结语

UG插件设计好后,我们将UG插件给学生使用,得到很好的反响,又把UG插件给一些搞模具设计的公司使用,也得到不错的反响。

本插件的创新之处在,将150套注塑模复杂结构嵌入软件中,并分成了标准的七大类和一个其他类,让不熟悉模具结构的设计人员可以随时搜索匹配,从而熟悉模具的具体结构特点,以便进行模具设计,因而特别适用于进行注塑模具设计学习和课程设计的学生,以及不是很熟悉各种模具结构的模具设计从业人员。

以后拟打算在此插件的基础上,将软件参数化模型的功能进一步强化,使整套模具的各个部分全部都可以进行参数化建模,从而让整个模具设计更加人性化和简单化,也使模具设计人员能够更加得心应手的操作此款插件。

目前我国很多高等院校都开设了模具方向的课程,包括UG软件设计课,该研究成果能弥补这一缺陷,不但大大提高课程的教学质量,还为学生将来寻找就业机会打下坚实的基础。该研究成果还可以作为专利申报,满足模具设计技术人员的需要。

参考文献

[1] 张冶等.Unigraphics NX参数化设计实例教程[M].清华大学出版社,2003.8.

[2] 夏天等.UG二次开发技术基础[M].电子工业出版社,2005.9.endprint

所以UG二次开发是一个复杂的过程,需要对多种软件非常熟悉的操作。

3 插件工作界面的设计

UG插件工作界面的设置可以使用多种途径,比如用VS2008自带的MFC来设置界面,这样设置的界面功能非常强大,也容易调节,但是不符合UG本身的风格,如果要设计一款完全融合UG风格的软件工作界面,必须使用UI styler程序,利用UI styler设计软件工作界面,并且导入至VS2008的一般步骤为:

(1)设计对话框界面草图;(2)利用UIStyler工具创建对话框;(3)设置对话框中的回调函数;(4)保存对话框;(5)将系统自动生成的对话框C语言模板文件复制到VC2008项目中;(6)修改C文件,添加回调函数代码,编译连接文件;(7)将对话框文件(.dlg)复制到相应的目录下,将共享库文件(.dll)复制到相应的目录下;(8)运行、测试及调试应用程序。

图1为本次科研项目设计的插件工作界面。

4 回调函数功能代码的完成

利用UIStyler工具创建了对话框工作界面以后,要想实现其中的每一个按钮功能就必须将对话框生成的C语言文件导入到VC2008项目中,然后再其中修改相应回调的处理代码,以实现各种功能。

下面这段代码就是在回调函数中实现二级对话框弹出的代码

NXOpen::UIStyler::DialogResponse response;

theNXStyler001 = new NXStyler001();

response = theNXStyler0066->Show();

delete theNXStyler001;

其中001表示第一个二级对话框的编号,其工作界面如图2:

图2

下面这段代码就是在回调函数中实现参数化一个长方体的代码:

if(!UF_initialize())

{

char *edge[3]={NULL};

tag_t block_tag;

int error = 0;

double length =this->changeReal4->ItemValue();

double width = this->changeReal5->ItemValue();

double height = this->changeReal6->ItemValue();

double x =this->changeReal7->ItemValue();

double y= this->changeReal8->ItemValue();

double z= this->changeReal9->ItemValue();

double corner[3];

corner[0]=x;

corner[1]=y;

corner[2]=z;

edge[0]= (char *)UF_allocate_memory(256*sizeof(char),&error);

edge[1]= (char *)UF_allocate_memory(256*sizeof(char),&error);

edge[2]= (char *)UF_allocate_memory(256*sizeof(char),&error);

sprintf(edge[0],"%f",length);

sprintf(edge[1],"%f",width);

sprintf(edge[2],"%f",height);

UF_MODL_create_block1(UF_NULLSIGN,corner,edge,&block_tag);

UF_free(edge[0]);

UF_free(edge[1]);

UF_free(edge[2]);

}

UF_terminate();

其工作界面如图3:

图3

5结语

UG插件设计好后,我们将UG插件给学生使用,得到很好的反响,又把UG插件给一些搞模具设计的公司使用,也得到不错的反响。

本插件的创新之处在,将150套注塑模复杂结构嵌入软件中,并分成了标准的七大类和一个其他类,让不熟悉模具结构的设计人员可以随时搜索匹配,从而熟悉模具的具体结构特点,以便进行模具设计,因而特别适用于进行注塑模具设计学习和课程设计的学生,以及不是很熟悉各种模具结构的模具设计从业人员。

以后拟打算在此插件的基础上,将软件参数化模型的功能进一步强化,使整套模具的各个部分全部都可以进行参数化建模,从而让整个模具设计更加人性化和简单化,也使模具设计人员能够更加得心应手的操作此款插件。

目前我国很多高等院校都开设了模具方向的课程,包括UG软件设计课,该研究成果能弥补这一缺陷,不但大大提高课程的教学质量,还为学生将来寻找就业机会打下坚实的基础。该研究成果还可以作为专利申报,满足模具设计技术人员的需要。

参考文献

[1] 张冶等.Unigraphics NX参数化设计实例教程[M].清华大学出版社,2003.8.

[2] 夏天等.UG二次开发技术基础[M].电子工业出版社,2005.9.endprint

所以UG二次开发是一个复杂的过程,需要对多种软件非常熟悉的操作。

3 插件工作界面的设计

UG插件工作界面的设置可以使用多种途径,比如用VS2008自带的MFC来设置界面,这样设置的界面功能非常强大,也容易调节,但是不符合UG本身的风格,如果要设计一款完全融合UG风格的软件工作界面,必须使用UI styler程序,利用UI styler设计软件工作界面,并且导入至VS2008的一般步骤为:

(1)设计对话框界面草图;(2)利用UIStyler工具创建对话框;(3)设置对话框中的回调函数;(4)保存对话框;(5)将系统自动生成的对话框C语言模板文件复制到VC2008项目中;(6)修改C文件,添加回调函数代码,编译连接文件;(7)将对话框文件(.dlg)复制到相应的目录下,将共享库文件(.dll)复制到相应的目录下;(8)运行、测试及调试应用程序。

图1为本次科研项目设计的插件工作界面。

4 回调函数功能代码的完成

利用UIStyler工具创建了对话框工作界面以后,要想实现其中的每一个按钮功能就必须将对话框生成的C语言文件导入到VC2008项目中,然后再其中修改相应回调的处理代码,以实现各种功能。

下面这段代码就是在回调函数中实现二级对话框弹出的代码

NXOpen::UIStyler::DialogResponse response;

theNXStyler001 = new NXStyler001();

response = theNXStyler0066->Show();

delete theNXStyler001;

其中001表示第一个二级对话框的编号,其工作界面如图2:

图2

下面这段代码就是在回调函数中实现参数化一个长方体的代码:

if(!UF_initialize())

{

char *edge[3]={NULL};

tag_t block_tag;

int error = 0;

double length =this->changeReal4->ItemValue();

double width = this->changeReal5->ItemValue();

double height = this->changeReal6->ItemValue();

double x =this->changeReal7->ItemValue();

double y= this->changeReal8->ItemValue();

double z= this->changeReal9->ItemValue();

double corner[3];

corner[0]=x;

corner[1]=y;

corner[2]=z;

edge[0]= (char *)UF_allocate_memory(256*sizeof(char),&error);

edge[1]= (char *)UF_allocate_memory(256*sizeof(char),&error);

edge[2]= (char *)UF_allocate_memory(256*sizeof(char),&error);

sprintf(edge[0],"%f",length);

sprintf(edge[1],"%f",width);

sprintf(edge[2],"%f",height);

UF_MODL_create_block1(UF_NULLSIGN,corner,edge,&block_tag);

UF_free(edge[0]);

UF_free(edge[1]);

UF_free(edge[2]);

}

UF_terminate();

其工作界面如图3:

图3

5结语

UG插件设计好后,我们将UG插件给学生使用,得到很好的反响,又把UG插件给一些搞模具设计的公司使用,也得到不错的反响。

本插件的创新之处在,将150套注塑模复杂结构嵌入软件中,并分成了标准的七大类和一个其他类,让不熟悉模具结构的设计人员可以随时搜索匹配,从而熟悉模具的具体结构特点,以便进行模具设计,因而特别适用于进行注塑模具设计学习和课程设计的学生,以及不是很熟悉各种模具结构的模具设计从业人员。

以后拟打算在此插件的基础上,将软件参数化模型的功能进一步强化,使整套模具的各个部分全部都可以进行参数化建模,从而让整个模具设计更加人性化和简单化,也使模具设计人员能够更加得心应手的操作此款插件。

目前我国很多高等院校都开设了模具方向的课程,包括UG软件设计课,该研究成果能弥补这一缺陷,不但大大提高课程的教学质量,还为学生将来寻找就业机会打下坚实的基础。该研究成果还可以作为专利申报,满足模具设计技术人员的需要。

参考文献

[1] 张冶等.Unigraphics NX参数化设计实例教程[M].清华大学出版社,2003.8.

[2] 夏天等.UG二次开发技术基础[M].电子工业出版社,2005.9.endprint

猜你喜欢

模具设计注塑模
汽车滤清套盖倒装式六板点浇口注塑模设计
内倾斜护帮结构控释注水漏斗热流道注塑模具
基于Pro/E的开关盒注塑模具设计
行李舱盖冲压工艺及模具设计
探讨补偿回弹冲压件模具设计的方法
浅析高职高专“模具设计”课程中“课程设计”的设计
基于OBE模式的模具课程设计改革与实践
基于Moldf low2012的注塑模具CAE分析
汽车左后门板大型注塑模设计
注塑模具随形冷却结构对制品成型的热响应分析