三层C/S模式在UG/Open开发中的应用研究

2010-11-28 04:59张博林宋传斌
制造技术与机床 2010年5期
关键词:渐开线文件夹对话框

张博林 黄 勇 宋传斌

(①航宇救生装备有限公司,湖北襄樊 441002;②华东交通大学机电学院,江西南昌 330013)

在现代CAD平台上进行应用开发过程中,随着对数据信息需求量的增大以及日益繁多的数据种类,使得数据信息必须从应用程序中独立出来,把运行过程中产生的数据组成独立的数据库。这样既有利于应用程序和数据相对独立,方便数据的维护,又有助于不同应用程序之间的数据共享。

目前,UG平台上的UG/Open开发工具没有提供直接访问数据库的接口,极大限制了应用系统的开发,因此,有必要对数据库的开发方法及开发模式(C/S模式)在UG/Open开发中的应用进行研究。

1 UG/Open开发工具

UG/Open是在UG平台上进行二次开发的主要工具,使用该工具可以实现用户的要求,完成个性化开发,主要包括以下四个部分:(1)UG/Open API,它提供了直接访问UG的函数接口;(2)UG/Open Grip,它是早期的UG二次开发语言,适合于在UG中进行自动化建模,具有简单、易懂的特点;(3)UG/Open Menu-Script,利用它可以实现对UG平台上菜单、工具条进行定制;(4)UG/Open UIStyler,利用它可以实现UG界面的可视化编辑,能方便的开发出与UG平台一致的交互界面。

2 C/S模式

(1)两层C/S模式 是最简单的C/S模式,如图1所示。它是由客户层和数据层组成,当客户层向数据层发送请求时,数据层根据请求做出相应的反应,并把结果返回给客户机。由于客户层中包含请求服务的功能,因而,容易形成胖客户层,导致功能更新繁烦,维护成本高,运行效率低。

该模式的缺点主要是请求服务的功能安装在客户层,不同客户端应用程序安装在不同的计算机上,对于功能需要经常更新的系统,升级、维护成本较高。

(2)三层C/S模式 为了克服两层C/S模式的不足,可以将请求服务功能从客户层中分离出来,形成业务逻辑层。客户层主要负责与用户的交互,业务逻辑层主要完成请求服务的功能,数据层主要用来存储程序运行所需要的数据及运行过程中产生的数据,形成三层C/S模式。为了在程序上实现三层C/S模式,需要有各种技术的支持,COM组件就是实现该模式的方式之一。基于COM组件的三层C/S模式如图2所示。

3 C/S模式在UG/Open开发中的应用方法

目前,VC中的MFC是实现C/S模式的工具之一,但是,UG/Open一直没有提供直接访问MFC的方法,在UG/Open应用开发中不能直接调用MFC类库。为了开发出用户需求的应用系统,实现C/S模式在UG/Open开发中的应用,必须解决UG/Open与MFC的混合开发问题,因此,必须对应用程序的结构做出如下改变:

(1)利用应用程序向导中的MFC AppWizard(dll)创建应用程序,并在Project name和Location中写入项目名称和路径;

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

(3)将 UG/Open API函数库所在路径加入到Tools/Options菜单Directaries选项卡Include files和Library files栏中;

(4)在Project/Settings菜单Link选项卡Object/library modules栏中加入库文件libugopenint.lib和libufun.lib;

(5)在全局对象类theApp下面添加自定义函数,编写程序。

(6)编译、连接。

(7)将产生的dll文件拷贝到startup文件夹中。

(8)如果其它应用程序要引用自定义函数,需将产生的lib文件拷贝到该应用程序文件夹中,按动态连接库方式加以引用。

4 开发实例

以下就以渐开线直齿轮库的建立为例,阐述三层C/S模式在UG/Open参数化设计中的应用方法。

4.1 总体结构

该系统采用C/S模式,主要由3个层次组成:客户层、业务逻辑层和数据层。客户层主要完成获取用户输入的数据、齿轮的参数化设计和后台数据库管理的界面。业务逻辑层主要完成对后台数据库的管理,通过COM组件实现。数据层主要用来存放直齿轮的相关信息。系统的总体结构如图3所示。

4.2 建立数据库

直齿轮数据库中包含7个属性,即:齿轮号、模数、齿数、压力角、齿顶高系数、径向间隙系数、齿宽,如图4所示。

4.3 设置开发环境

(1)在自定义目录下创建startup、application、grip和database四个文件夹。其中,自定义的菜单及dll文件在startup文件夹中,对话框文件在application文件夹中,齿轮参数化设计程序在grip文件夹中,齿轮库在database文件夹中。

(2)注册环境变量,其中,变量名为UGII_USER_DIR,变量值为自定义目录,如图5所示。

4.4 用户界面的开发

(1)菜单的建立

(2)对话框的建立

该实例采用UG对话框与MFC对话框相结合的方式,利用UG/Open UIStyle工具与MFC对话框编辑器进行,如图6和图7所示。

4.5 参数化程序的开发

(1)渐开线参数化程序的UG/Open Grip实现

(2)利用UG/Open API调用参数化设计程序

4.6 三层C/S模式的开发

(1)COM组件接口

(2)通过COM组件对数据库进行访问

5 运行结果

(1)运行UG,出现直齿轮库菜单,如图8所示。

(2)选择渐开线直齿轮菜单,弹出主界面,如图9所示。

(3)选择渐开线直齿轮按钮,进入直齿轮库,如图10所示。其中,入库和删除功能通过调用COM组件实现,三维模型功能通过UG/Open实现。

(4)选择齿轮号1和三维模型按钮,完成从库中调用齿轮号1的齿轮三维模型,如图11所示。

6 结语

本文在UG平台上引入了C/S模式的开发思想,总结出了C/S模式在UG/Open开发中的应用方法,并把数据库通过三层C/S模式应用到了UG/Open开发中,实现了基于COM组件的三层C/S模式渐开线直齿轮库的开发,为UG平台上CAD系统的开发提供了数据支持,同时,可为其它方面的UG/Open开发提供参考和借鉴。

[1]董正卫,等编著.UG/OPEN API编程基础[M].北京:清华大学出版社,2002.

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

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

[4]黄勇,张博林.MFC在UG二次开发中的应用[J].重型机械,2005(6).

猜你喜欢
渐开线文件夹对话框
Fast Folders,让你的文件夹四通八达
基于NURBS理论的渐开线齿轮齿面修复
基于Pro/E的渐开线内花键安装盘参数化设计
正常恢复虚拟机
用修正渐开线投影法螺旋铣球面宏程序的编制
Bootlace Worms’Secret etc.
What Is Beauty?
渐开线齿廓链轮梳齿刀的设计
摸清超标源头 大文件夹这样处理
调动右键 解决文件夹管理三大难题