机床夹具参数化零部件图形库及其系统介绍
<DD>对于计算机辅助夹具设计系统(CAFD)的研究开发,机床夹具零部件图形库在系统中占有重要的位置。传统上这些零部件的图形库都挂在CAD图形软件上,这只能在零部件数量较少的原型系统上应用。当前各种-机床夹具</A>系统都拥有规格数量很多的零部件,如专用夹具属于GB的-零部件</A>的品种、规格数量就达到了数以万计的规模,再加上槽系组合夹具、孔系组合夹具、气动液压等动力源以及通用夹具的零部件,其数量相当可观;其次对CAFD系统来说,夹具零部件图形库应是一个独立的部分,以便CAFD系统检索、调用;再有参数化技术的成熟,建立基于参数化的夹具零部件图形库具有可简化图形储存、修改结构设计以及减少储存空间等优点。为此,我们研究开发了基于客户机/服务器模式的机床夹具参数化零部件图形库及其系统,用以满足上述需求。<H1><FONT size=2>1 设计方案的确定</FONT></H1>
<OL><B>
<UL>
<LI>客户机/服务器体系结构</LI>
<LI>系统软、硬件方案</LI>
<LI>参数化零部件图形库总体设计框架</LI></UL></B>
<DD>随着越来越多的部门安装网络以便共享网络环境下的资源,面向对象的方法和客户机服务器体系结构倍受青睐。客户机厂服务器结构包括连接在一个网络中的多台计算机。那些处理应用程序的计算机称为客户机,而在后台集中处理数据库服务的计算机称为服务器。在数据库环境下,客户机和服务器通过若干称作中间件的程序设计接口进行通信。客户机的功能包括管理用户接口、从用户接受数据、处理应用程序、产生数据库请求、向服务器发送数据库请求以及从服务器接收结果等。服务器的功能包括从客户机接受数据库请求、处理数据库请求、将结果格式化并传送给客户机、执行完整性检查、提供并行访问控制以及优化查询和更新处理等。<B> </B>
<DD>本参数化零部件图形库设计系统采用客户机/服务器体系结构,系统运行环境的设置如下: </DD>
<DD><B>硬件环境</B> 1台IBM PC Server高档微机服务器,2至数台客户机(PⅡ450,64M内存,10.4G硬盘)。 </DD>
<DD><B>软件环境</B> 服务器操作系统为Windows NT4.0操作系统,客户机操作系统为Windows NT4.0操作系统、Windows 98操作系统,服务器、客户机网络协议集TCP/IP,数据库管理系统为Microsoft SQL Server 6.5,客户机应用程序开发工具为Visual C++ 6.0,AutoCAD R14。<BR>
<TABLE align=right>
<TBODY>
<TR>
<TD align=middle><FONT size=2><IMG alt="" src="http://www.chmcw.com/upload/news/RCL/13220_wthfro633810218094375000.jpg" width=404 height=157><BR><B>图1 总体设计方案</B></FONT></TD></TR></TBODY></TABLE>
<DD>在本系统中,机床夹具零部件的各参数数据存放在服务器端。用C++语言编制绘制机床夹具零部件参数化图形的程序,通过接口程序读取服务器数据库中的字段值,用户可以交互修改字段值,将得到的字段值作为尺寸参数传递给程序中的绘图函数,在AutoCAD环境中进行绘图,实现机床夹具零部件参数化设计。总体设计方案见图1所示。</DD></OL></DD></DD>
<OL></OL>
<H1><FONT size=2>2 数据库设计</FONT></H1>
<OL><B>
<UL>
<LI>数据库结构设计</LI>
<LI>数据库操作界面设计</LI></UL></B>
<DD>在利用MicrosoftS QLS erver设计数据库结构时,机床夹具每个零部件对应一个表。 </DD>
<DD>由于零件尺寸参数之间存在尺寸链关系,用户输入参数值时产生的错误会造成绘图错误,我们通过设置有效性规则来解决此问题。当用户输人的参数值不符合尺寸链关系时,即弹出对话框提示错误。这使得数据库操作界面具有一定的纠错功能。<B> </B>
<DD>Microsoft Visual C++ 6.0具有强大的可视化编程功能,因此可利用其编制数据库操作界面,方便地完成数据记录的查询、添加、删除以及修改等功能。</DD></DD></OL>
<H1><FONT size=2>3 参数化绘图中数据库的C++语言接口程序设计</FONT></H1></DD>
<DD>AutoCAD从12版本开始提供了与外部数据库的接口ASI(AutoCAD SQL Interface),将SQL(Structured Query Language)语言集成到AutoCAD,在AutoCAD内部可实现与外部数据库的数据交换。ADS ASI由一组庞大的C语言库函数组成,执行时需要驱动程序支持,而且随着版本的升级ASI函数做了很大的修改,这些都大大加重了开发者的负担,光是对不同环境的适应工作就花费了大量时间,延长了软件开发周期。 </DD>
<DD>ObjectARX是基于AutoCAD R14的一种新的编程环境,它提供了以C++为基础的面向对象的开发环境及接口,能真正直接地访问AutoCAD R14图形数据库。ObjectARX编程环境除自身提供了几个使用方便的类库外,还可利用MFC类库来编制丰富的Windows风格界面。ARX 以动态链接库(DLL)的形式与AutoCAD共享地址空间,直接调用AutoCAD核心函数,并可直接访问AutoCAD数据库。与ADS及AutoLISP相比,ARX应用程序运行更快速且稳定。 </DD>
<DD>笔者在采用Visual C++ 6.0编写的ObjectARX应用程序中实现数据库连接。下面以机床夹具常用零件A型平压板为例介绍参数化绘图中用Visual C++ 6.0操作数据库的方法。
<OL style="LIST-STYLE-TYPE: lower-alpha">
<LI>通过ODBC连接数据库。ODBC(Open DatabaseConnectivity)是Microsoft's Windows的开放式服务体系结构数据库部分,是一个用于访问多种数据库的统一的界面标准。ODBC实际是一个数据库访问库,但是只提供一个统一的应用程序接口(API)。这样利用ODBC可以避免应用程序随数据库的改变而改变。ODBC通过使用数据库驱动程序获得数据库的独立性,驱动程序所提供的标准接口允许应用程序开发者和驱动程序提供者在应用程序和数据源之间传递数据。
<DD>通过Windows 98控制面板中的ODBC可以连接本参数化设计系统所使用的建立在服务器中的机床夹具零部件数据库。 </DD></LI>
<LI>对应数据库中的每一表,从Crecordset派生一个应用程序指定的记录集类。打开数据库并创建一记录集对象,调用记录集的Open成员函数打开记录集,然后再用Requery成员函数重建一个记录集。将该记录集中的所有记录写人一结构体数组中。<BR>
<TABLE align=right>
<TBODY>
<TR>
<TD align=middle><FONT size=2><IMG alt="" src="http://www.chmcw.com/upload/news/RCL/13220_ppmjur633810218328125000.jpg" width=295 height=258><BR><B>图2 零部件参数控制对话框</B></FONT></TD></TR></TBODY></TABLE></LI>
<LI>对应数据库中的每一表,从资源中增加一对话框资源并从CDialog派生一个应用程序指定的对话框类。在对话框中,根据表中的字段数决定编辑框(EditBox)的数量,静态文本框(StaticText)的标题与数据库中的字段名相同。零件参数控制对话框见图2所示。</LI>
<LI>将记录集中的第一条记录作为默认值显示到对话框各编辑框中。用户可通过对话框右边的两个按钮(上一条记录和下一条记录)选择合适的记录,也可直接在编辑框中输人记录号,得到所需记录,显示在各编辑框中。</LI>
<LI>用户可对各编辑框中的参数值进行编辑修改,按OK按钮后,首先检查各参数值是否符合尺寸链关系式,如果符合,则将各编辑框中的值作为尺寸参数值传递到绘图函数中;否则,弹出对话框提示错误。</LI></OL>
<H1><FONT size=2>4 结语</FONT></H1></DD>
<DD>基于客户机/服务器模式的机床夹具参数化零部件图形库,不仅容量大,使用安全可靠,运行稳定,而且在客户机上可以安装各种类型的CAFD系统,便于在网络环境下,多人同时设计夹具,满足了CAFD系统对零部件图库的要求。同时这类结构的图形数据库的架构,也可以用于各类机械,包括机床在内的各种计算机辅助机械设计的图形数据库,故有一定的普遍意义。 </DD>
页:
[1]