APP下载

基于COM组件的UG/Open参数化设计研究

2012-09-26

制造技术与机床 2012年2期
关键词:环境变量选项卡文件夹

黄 勇

(华东交通大学机电学院,江西南昌330013)

随着网络技术和COM技术的发展,以组件技术作为程序的开发方法已经成为趋势。基于COM的应用程序可对用户的需求作出快速的响应,应用程序开发人员可以快速从某个COM组件库中取出所需的COM组件,就如同搭积木一样,快速地组装到一块,以构造所需要的应用程序。因此,将COM组件技术引入到UG二次开发中,实现UG/Open、VC和COM三者相结合的开发就显得非常有意义。当用户的要求发生改变时,就只需改变COM组件中接口的内容,客户端不需要作任何变化,可以更高效地满足用户的要求。

1 COM组件在UG/Open开发中的应用方法

目前,VC中的MFC是实现COM组件的工具之一,即可以通过MFC创建COM组件,访问COM组件中的接口。但是,UG/Open一直没有提供直接访问MFC的方法,在UG/Open应用开发中不能直接调用MFC类库,同时,与MFC界面相比,UG/Open UIStyler提供的界面种类少,应用不方便,有些界面很难实现,从一定程度上限制了应用程序的开发。为了开发出用户需求的应用系统,实现COM组件在UG/Open开发中的应用,必须解决UG/Open与MFC的混合开发问题。因此,为了使UG/Open开发中支持MFC,必须对应用程序的结构做出如下改变:

(1)利用应用程序向导中的MFC AppWizard(dll)创建应用程序;

(2)确定Regular DLL using shared MFC DLL程序类型;

(3)在theApp类下面添加自定义函数,编写程序。

(4)编译、连接。

注意:将UG/Open API函数库加入到Tools/Options菜单Directaries选项卡Include files和Library files栏中;同时,在 Project/Settings菜单 Link选项卡Object/library modules栏中加入库文件 libugopenint.lib 和 libufun.lib。

(5)将产生的动态连接库复制到startup文件夹中。

2 开发实例

以下就以花键轴参数化设计为例,阐述COM组件在UG/Open参数化设计中的应用方法。

2.1 总体结构

本实例采用COM组件技术,主要由2个层次组成:组件服务器和客户端。客户端主要完成菜单、用户界面等,组件服务器主要完成花键轴参数化设计。客户端通过访问COM组件的接口实现花键轴参数化设计,系统的组成如图1所示。

2.2 建立开发环境

(1)新建文件夹,并在该文件夹下建立startup、application、prt三个子文件夹,startup文件夹用来放置菜单及DLL文件,application文件夹用来放置对话框文件* .dlg,prt文件夹用来放置花键轴三维模型模板文件。本实例新建文件夹的路径是D:COM_PARA_DESIGNPART_PARA_DESIGN_COM,并在该文件夹下建立startup、application和prt三个子文件夹。

(2)注册环境变量,在【我的电脑】上单击右键选择【属性】,在弹出的对话框里选择【高级】选项卡,在该选项卡里选择【环境变量】,出现环境变量窗口,在此窗口中选择【新建】,弹出新建用户变量窗口,如图2所示,在此窗口中完成环境变量的注册。

在本实例中,新建变量名“UGII_USER_DIR”,变量值“D:COM_PARA_DESIGNPART_PARA_DESIGN_COM”。

2.3 三维模型模板的建立

在UG平台上,通过草绘、拉伸、圆形阵列、孔特征及凸台特征等参数化建模方法,建立花键轴的三维模型,名称为:COM_PART,存放在D:COM_PARA_DESIGNPART_PARA_DESIGN_COMprt目录下,并建立、生成相应的表达式,如图3和4所示。

2.4 用户界面的开发

(1)菜单的建立

在startup文件夹下,新建菜单文件(.men)。具体内容如下所示:

启动UG,如图5所示。

(2)对话框的建立

该实例采用UG/Open UIStyler定制对话框的方式,如图6所示,对话框另存为Client_DIA.dlg,存放在 application文件夹中。

2.5 参数化设计 COM 组件的开发

(1)使用VC向导中的ATL COM AppWizard创建COM服务器框架工程,如图7所示,单击【OK】,在弹出的对话框中,建立单击【Finish】,完成COM框架。

(2)启动ATL COM AppWizard来加入对COM对象的支持,并添加IParaDesign接口,在IParaDesign接口中添加读模板和参数化设计的方法。

(3)编译、链接,生成参数化设计COM组件。

2.6 访问COM组件,实现参数化设计

3 运行结果

(1)建立环境变量,启动UG,如图8所示。

(2)选择菜单,出现系统主界面,并获取当前模型的数据信息到对话框中,如图9所示。

(3)可以在对话框中输入数据,如图10所示。

(4)选择【确定】按钮,调用花键轴参数化COM组件,进行参数化设计,如图11所示。

4 应用情况

基于COM组件的参数化设计方法成功地将UG/Open、MFC、COM三者相结合,并已经成功应用到了企业UG应用开发中,解决了特定产品设计必须采用二次开发参数化设计的难题。当企业需求发生变化时,只需要改变相应的COM组件,程序接口不需要发生任何变化,快速响应了企业的多变。

5 结语

本文在UG平台上引入了利用COM组件进行参数化设计的开发思想,总结出了COM组件在UG/Open参数化设计开发中的应用方法,并以花键轴参数化设计为例,实现了COM组件参数化设计的开发。该方法已经成功应用到了企业产品设计中,同时,可为其他CAD的开发提供参考和借鉴。

[1]任哲.MFC Windows应用程序设计[M].北京:清华大学出版社,2004.

[2]董正卫,田立中,付宜利.UG/Open API编程基础[M].北京:清华大学出版社,2002.

[3]王庆林.UG/Open GRIP实用编程基础[M].北京:清华大学出版社,2002.

[4]孙鑫,余安萍.VC++深入详解[M].北京:电子工业出版社,2006.

猜你喜欢

环境变量选项卡文件夹
Fast Folders,让你的文件夹四通八达
从桌面右键菜单调用环境变量选项
PPT中巧作形意信息图
巧用Word替换纠正角标跑偏
彻底弄懂Windows 10环境变量
禁用一切 优化无限
摸清超标源头 大文件夹这样处理
调动右键 解决文件夹管理三大难题
基于三阶段DEA—Malmquist模型的中国省域城镇化效率测度及其收敛分析
不容忽视的空文件夹