摘 要:人性化的办公座椅设计是企业展示自身研发实力和拓展市场的基础。本文章基于UG软件,应用计算机语言搭建办公座椅再设计平台,以满足生产企业发展需求。
关键词:UG;二次开发;开发环境;设计平台
1 UG软件概述
UG是Unlgraphiessolutions公司的产品。1997年10月Unigraphies Solutions公司合并了Intergraph公司的机械CAD产品,将微机版的SOLIDEDGE软件统一到Parasolid平台上,形成了一个从低端到高端比较完善的企业级CAD/CAE/CAM/PDM集成系统。
2 应用UG/OPEN API搭建再设计平台
UG/Open是一系列UG开发工具的总称,由UG/Open API、UG/Open GRIP、UG/Open MenuScript及UG/Open UIStyler4个部分组成。[1,2,3]UG/OPEN API结合C++程序能实现与Unigraphics的各种交互操作。本文章使用UG/Open API,UG/Open MenuScript作为再设计平台的开发工具。
2.1 UG二次开发环境搭建
本文利用MFC AppWizard向导创建了UG二次开发编译环境。在VC++ 6.0下开发UG座椅设计动态链接库DCEvaluate.dll文件,其具体步骤如下:
第一,在VC++6.0中创建一个MFC AppWizard(dll)工程,工程名为DCEvaluate。在工程向导里面设置工程为共享MFC动态链接库。
第二,设置开发环境:添加并配置UG二次开发的UG/Open API静态库文件libopenintpp.lib,libopenpp.lib,libufun.lib,libugopenint.lib libvmathpp.lib等。
第三,在工程中添加UG用户入口函数:为了使UG能识别工程所生成的dll文件,需要在dll工程中添加用户入口函数,通过入口函数UG才能调用并实现dll的功能。UG用户入口函数如下:
Extern “C” DllExport void ufusr(char *parm,int *returnCode,int rlen)
{//Initialize the API environmentUgSession session(true);……
第四,将编写好的功能代码在VC++中编译。
第五,交互对话框的设计:为了使用户与UG交互进行座椅设计,本文利用MFC对话框资源作为用户交互界面,在工程中添加界面对话框资源,通过界面设计与功能实现,从而实现座椅设计。
第六,配置数据库:为了利用数据库来完成座椅设计,需要对数据库进行配置,然后通过功能代码实现对数据库的操作。本文利用数据源ODBC来建立写数据库的操作。连接数据库的核心代码如下:
CDatabase *m_pdatabase;CRecordset *m_pset;try{m_pdatabase=new CDatabase();……
第七,座椅设计界面交互功能实现:在界面中有对座椅的初始化,参数化更新以及生成脊椎曲线生成。通过代码编写实现其功能。其功能实现所用到的UG/Open API函数主要有:UF_PART_open找开模型,UF_free_string_array释放资源,UF_PART_close_all(关闭模型),UF_PART_new(创建新新型),UF_OBJ_delete_object(删除对象),UF_CURVE_create_spline_thru_pts(生成曲线),UF_MODL_edit_exp(编辑表达式)等。
第八,编译生成DCEvaluate.dll文件:通过编写代码完成座椅设计界面交互功能,最后将整个工程进行编译生成DCEvaluate.dll文件。
2.2 UG二次开发环境的设置
办公座椅再设计平台作为UG的一个插件在UG中使用,要让它在UG环境中正常运行,需要对UG环境进行设置,其具体步骤如下:
第一,创建UG用户工作目录:在磁盘上创建一个文件夹,将其命名为DCEvaluate,本文中该文件夹的绝对路径为“D:\DCEvaluate”,在该文件夹下再创建两个子文件夹,分别为application和startup,其中application中存放UG启动时需要加载的共享动态链接库文件(*.dll)以及对话框资源文件(*.dlg),startup中存放菜单脚本文件(*.men)。
第二,配置用户工作目录环境:在通常情况下,UG规定了配置文件$UGBASEDIR\UGII \ugii_env.dat为UG环境变量的配置。当UG启动时,系统检查该文件中的环境变量配置,并自动加载文件中所有配置下的环境变量,通过环境变量来确定UG的配置。UGII_USER_DIR是用来确定用户的工作目录的环境变量,系统会通过环境变量的值找到用户工作目录,然后加载目录中的资源。例如,菜单,对话框,以及动态链接库等。配置文件ugii_env.dat的语法如下:一是文件以‘#注释,需要对一行进行注释时,在行开头加上‘#。二是为了保证变量配置的正确性,每一行只允许配置一个变量。三是变量的加载是按先后顺序进行加载的,如果变量配置中有同名变量,则只有排在最后的一个变量配置生效。本文变量配置中,在ugii_env.dat文件中的最后一行加入 UGII_USER_DIR=D:\vcproject\ug\ug_run。至此,UG二次开发环境的设置完成。
2.3 菜单项的设计
最后利用MenuScript来编辑菜单文件,根据菜单文件编写的语法创建UG的主菜单及下拉菜单,然后将编辑完成的men文件放入上文中的startup文件夹中。本文中利用MenuScript创建的座椅设计菜单核心代码如下:
VERSION 120 EDIT UG_GATEWAY_MAIN_MENUBAR BEFORE UG_HELP CASCADE_BUTTON STANDARD_PART_MENU LABEL办公座椅人机设计……END_OF_MENU
3 小结
本文章基于UG软件,利用其二次开发环境,搭建了办公座椅再设计平台,为生产企业后续的研发提供了一定的数据支持,同时为办公座椅再设计提供了设计平台,缩短了企业再设计周期,提高了再设计效率。
参考文献:
[1] 尹显东,刘春燕,崔树礼,李在铭.UG的二次开发及其应用技术研究[J].机械,2002(1).
[2] 范元勋,庄亚红,王华坤.UG二次开发工具的使用[J].机械制造与自动化,2002(6).
[3] 宋传斌,张树生,张博林.基于UG平台的保护头盔外壳参数化逆向设计[J].现代制造工程,2008(4).
[4] 周宇峰.基于UG三维参数化标准库件开发方法的研究[J].新疆大学,2003.
作者简介:许云(1985—),男,湖南怀化人,贵州师范学院助教。