为机床工具企业提供深度市场分析                     

用户名:   密码:         免费注册  |   点击 进入企业管理  |   申请VIP  |   退出登录  |  

English  |   German  |   Japanese  |   添加收藏  |  

车床 铣床 钻床 数控系统 加工中心 锻压机床 刨插拉床 螺纹加工机床 齿轮加工
磨床 镗床 刀具 功能部件 配件附件 检验测量 机床电器 特种加工 机器人

捷太格特
搜索
热门关键字:

数控机床

 | 数控车床 | 数控系统 | 滚齿机 | 数控铣床 | 铣刀 | 主轴 | 立式加工中心 | 机器人
      用户频道:    应用案例 |  汽车 |  模具 |  船舶 |  电工电力 |  工程机械 |  航空航天 |  仪器仪表 |  通用机械 |  轨道交通 |  发动机加工 |  齿轮加工 |  汽轮机加工
您现在的位置:数控机床市场网> 专题>冲压模具加工专题
基于UG的冲压模具二次开发技术研究
Nov 14, 2012  来源:  作者:程精涛,彭宗峰,宁文波

      UG是一个当今世界上最先进,紧密集成的CAD/CAM/CAE高端软件,得到了广泛应用。然而,UG只是一个面向通用产品的平台,没有把用户的特殊需要和设计经验集成到系统中,为此,有必要利用UG的二次开发工具对具体行业(产品)进行二次开发,以提高设计效率,缩短设计周期。特别在模具行业,相关的软件较少,产品结构复杂,设计要求高,部分零部件已形成系列化,开发出专用的冲模CAD系统,以适应系列化产品的设计,大大提高三维冲压模设计效率,为并行化设计打下基础。

 

      一、UG二次开发的实现途径

 

      UG/Open是一系列UG开发工具的总称,主要包括UG/OpenAPI、UG/OpenMenuScript、UG/OpenGRIP、UG/OpenUIStyle、UG/OpenC++、宏命令(Macro)等。主要介绍本文用到的以下几个模块。

 

      1、用户菜单脚本UG/OpenMenuScript

 

      UG/OpenMenuScript提供一套用于定义UG菜单的脚本语言,UG的菜单也是用该语言写成的,开发者使用该脚本语言可以修改UG界面的菜单结构,如添加、删除和定制菜单,以及改变菜单的显示文本或响应行为(actions)等。菜单脚本文件的扩展名为*.men(文件).可以用微软的记事本来制作,最后将扩展名由txt改为men即可。使用前,用记事本打开UG安装目录下的UGII\ugii_env.dat文件,找到#UGII_USER_DIR=${HOME}行,去掉#和${HOME},在=号后输入自己的目录,本论文为C:\GEAR,在此目录下建立两个文件夹,取名为startup和application。其中*.men文件必须位于"用户目录\startup目录"中,UG启动后会自动加载。

 

      本文部分菜单脚本编辑语言主要的语法格式如下:

 

      VERSION120//兼容Ugv12的菜单脚本

      EDITUG_GATEWAY_MAIN_MENUBAR//编辑UG主菜单

      BEFOREUG_HELP//第一级菜单位于Help菜单之前

      CASCADE_BUTTONLAUNCH_CASCADE//菜单的ID

      LABEL宁文波-冲模设计//定义主菜单的标题

      END_OF_BEFORE//结束第一级菜单的编辑

      MENULAUNCH_CASCADE//编辑第二级菜单

      BUTTONmj//下拉菜单的ID

      LABEL模架设计(&J)//定义菜单的标题

      BITMAPC:\tm.bmp//加载位图

      ACTIONSmojia.dlg//菜单的相应行为

      SEPARATOR//菜单中画分割线......

      END_OF_MENU//结束菜单的编辑

 

      2、UG/OpenUIStyle对话框技术

 

      和VisualC++对话框设计相似,UIStyler包含对话框的各种控件,即UIObjects对象,如Label、ActionButton、Bitmap、Integer、Real、String、RadioBox、ScaleInteger(Real)StrolledWindow、SelectionBox、ToggleButton、SelectList等,可以随意对它们进行组合并编辑确定其位置。每一UIObjects对象具有一定的属性、选择性及回调函数,这些性质均应在生成UIStyler对话框文件之前确定。在保存UIStyler对话框时共生成三个文件:*.dlg、*_template.c、*.h。其中*.dlg是UIStyle对话框界面文件,非ASCII格式,封装了对话框的图形界面;*_template.c、*.h分别是UIStyler对话框C语言模板文件和头文件。用户的主要工作是修改*_template.c模板文件并在其中添加用户代码,确定UIStyler对话框被调用的形式及其所实现的功能。这些工作都在VisualC++6.0中完成,最终和*.h编译链接生成可调用的*.DLL文件。

 

      3、UG/OpenAPI

 

      UG/OpenAPI又称userfunction,是一个允许程序访问并改变UG对象模型的程序集。UG/OpenAPI封装了近2000个UG操作的函数,它可以对UG的图形终端、文件管理系统和数据库进行操作,几乎所有能在UG界面上的操作都可以用UG/OpenAPI函数实现。UG/OpenAPI程序分为内部程序(InternalUG/OpenAPI程序)和外部程序(ExternalUG/OpenAPI程序)。内部程序必须在UG环境下运行,根据所编制的程序进行交互操作。外部程序在操作系统中执行,不进入到UG环境中,程序执行过程不能进行交互操作。本文主要用到了内部程序,其格式一般为:

 

      #include<uf.h>//包含UG/OpenAPI公共类型和函数定义 //包含额外的头文件

      voidufusr(char*param,int*retcod,intparm_len)//程序的入口函数

      {

      //定义变量

      UF_initialize();//访问许可

      body//应用主体

      UF_terminate();//返回许可

      }

 

      4、UG/OpenGRIP

 

      UG/OpenGRIP是UG提供的二次开发语言模块,也具有外部高级开发语言的接口。GRIP是UG的内嵌语言,能够实现强大的图形绘制、装配、工程图的生成和一定的文件管理功能,主要进行UG的功能调用。GRIP程序一般是在UG平台下编制的,有独特的开发工具、编译链接过程、程序语法和文件格式,可以与UG/OpenAPI相互调用。

 

1

 

      二、应用实例

 

      以模架为例,利用UIStyler制作程序中使用的对话框(图2-1),并在VC++6.0中编程,编制程序的目的是生成动态链接库文件*dll。利用UG/OpenMenuScript生成用户菜单。(图2-2)。

 

2

 

      对话框编辑完成后以名称mojia保存,生成三个用户文件:界面文件mojia.dlg、头文件mojia.h、模板文件mojia_template.c。把mojia_template.c调入VC++6.0,对程序链接编译后,只能生成一个空的*.dll文件。要实现用户的特定功能,需要在程序中添加相应代码。

 

      部分代码如下:

 

      intUB_apply_cb(intdialog_id,

 

      void*client_data,

 

      UF_STYLER_item_value_type_p_tcallback_data)

 

      {

 

      UF_STYLER_item_value_type_tdata;

 

      intresponse=0;

 

      interror_code=0;

 

      chargrip_exe[1024];

 

      char*program_name="mojia.grx";

 

      doublepassnumber[3];

 

      /*MakesureUserFunctionisavailable.*/ 

   

      if(UF_initialize()!=0)  

 

      return(UF_UI_CB_CONTINUE_DIALOG);

 

      /*----Enteryourcallbackcodehere-----*/

   

      data.item_id="L";

 

      data.item_attr=UF_STYLER_VALUE;

 

      UF_STYLER_ask_value(dialog_id,&data);

 

      passnumber[0]=data.value.real;

 

      ......

 

      该程序调用mojia.grx的绘图程序,并把用户输入对话框内的数据传递给GRIP,其部分代码如下(在NXOPENGrip编译连接后的代码,图2-3):

 

3

 

      程序运行结果如图2-4。注意*dll要放在startup文件下,*grx*dlg要放在application文件下。程序要在UG基础环境中运行,否则会出现找不到实体的提示。

 

4

 

      三、结论和展望

 

      本文利用UG二次开发功能实现冲模部件的参数化三维设计,为加快模具建模速度、节省设计时间方面将会取得一定成效。

    投稿箱:
        如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
名企推荐
山特维克可乐满
哈斯自动数控机械(上海)有限公司
西门子(中国)有限公司
哈挺机床(上海)有限公司
北京阿奇夏米尔技术服务有限责任公司
陕西秦川机械发展股份有限公司