作为目前国内外*为流行的CAD通用软件,AutoCAD强大的图形功能、友好的用户界面以及强大的二次开发功能,为机械标准件在AutoCAD中的快速绘制提供了方便. 进行机械设计难免要查询和绘制标准件,由于标准件绘制极为繁琐,且需反复查手册找数据,非常耗时耗力,因此有必要利用AutoCAD二次开发功能,开发能快速、准确查询和绘制机械标准件的软件,以提高绘图速度和节省人力资源.本系统所设计的机械标准件库,解决了这一系列的问题. 1 设计思想 标准件库的设计基于这样一个前提:查询与绘制工作为后台服务,对客户透明,其目的是让用户只进行*简单操作即可得到由系统绘制的标准件的图形,并可查询到与该标准件相关的信息. 整个系统可分为如下几大功能模块 (如图1所示). 图1 系统的功能模块 Fig.1 The function modules of thesystem 系统首先通过人机交互模块获得查询和绘制的条件,然后对数据库进行查询,并将所获取的数据返回给图形绘制模块进行绘图操作. 2.系统数据的管理 本系统通过建立一个专门的数据库系统来管理所有标准件的参数、图形以及相关的各种信息. 2.1 数据库的创建 创建数据库前首先要分析清楚需要创建的数据库必须有哪些内容.对机械标准件来说,各标准件至少都应创建一个记录其类型和型号、特定的参数等的主表.以轴承为例,必须建一个包括类型、型号、参数、图像文件的存储地址等字段的表(如表1所示). 表1 轴承的主表 Table 1 Themain list of bearing 表1中字段名的含义如表2所示. 表2 字段名的意义 Table2 The meaningsof column names type | model | slide adrs | d | dd | b | d1 | d3 | r | rg | lh | s0 | 类型 | 型号 | 图像文件地址 | 内径 | 外径 | 宽 | 装配内径 | 装配外径 | 轴承圆角 | 轴肩圆角 | 预期寿命 | **系数 |
除了主表外,还要根据不同的需要向数据库增加一个记录各种辅助信息的辅助表.辅助表与主表一一对应,主要记录标准件的附加信息,如:价格、产地等. 由于主表记录的都是统一、不变的数据,为维护其**性,对主表进行修改必须具备较高的权限.而辅助表记录的信息要经常改变,为方便用户修改,不作权限的设定. 另外,针对每个设计系统都自动生成一个动态表,用来记录用户设计中用到的标准件的信息.当用户插入一个标准件时,动态表便将该标准件记录下来,用户删除某个标准件时,动态表也相应删除该标准件的记录.有了动态表,用户可以很轻松的得到设计中所涉及的标准件的各种信息,包括各种标准件的数目、价格、库存等. 2.2 应用程序的编制 机械标准件库作为一个独立的系统存在,用户既可通过AutoCAD对其进行访问,亦可单独运行其应用程序,进行插入、删除、查询等操作,因此必须为其编写应用程序. 由于很多企业的设计都是在多机系统上进行,所以,选择具有强大的客户机/服务器开发功能的PowerBuilder6.0作为应用程序开发工具,能为以后完善系统、开发客户机/服务器体系提供更大的灵活性. PowerBuilder6.0的应用程序要使用的所有窗口都可以由它的Window描绘器实现,窗口及其上的各种控件必须用PowerBuilder6.0的PowerScript语言来驱动.通过Window描绘器的Image控件,可将标准件的相应图形显示在主窗口上,用户使用时更加清楚明了. 轴承的数据库系统运行时如图2所示. 图2 轴承数据库系统的主窗口 Fig.2 The main window of the bearingDB system 3 查询和绘图的处理 系统查询和绘图的功能主要在AutoCAD中实现 3.1 开发工具的选择 AutoCAD提供多种开发工具,包括AutoLISP、ADS、ARX等.用C++编写的ARX文件能自如地生成各种界面和调用AutoCAD内部命令,但较ADS复杂,因此系统采用VisualC++5.0语言在ARX程序框架结构的基础上调用ADS函数,以加速程序的开发. 3.2 数据库的访问 系统对数据库的访问,要通过ASE(AutoCADSQL扩充)或ASI(AutoCADSQL程序接口)利用SQL(结构查询语言)进行.为了让用户使用得更方便、简单,这些操作通过ARX编程由系统实现.ASE通过执行SQL命令可以对外部数据库进行管理,但它无法将访问数据库的返回值赋给AutoCAD变量.因此,用ADS编写AutoCAD应用程序调用SQL功能访问标准件库并返回结果时,必须通过ASI进行. ASI是ADS的一个命令集,这些命令能够查询数据库并将查询结果赋给内存变量.ADS利用这些命令访问机械标准件库,获得标准件库的相关数据后赋给相应的函数,其中图像文件一项返回的是标识它们的存储地址的字符串. 在AutoCAD中对主表和辅助表只能进行查询操作,不能进行删除和插入操作,以保证数据的**.查询时需要进行有效性检验,以避免用户误操作,保证查询结果的准确有效. 对主表和辅助表的删除、插入操作,可以利用标准件数据库的应用程序进行,其中,对主表的操作要受权限的限制. 3.3 绘图 在ADS中调用AutoCAD命令可以很容易地实现图形的绘制. 首先,要由用户给出标准件的插入点,有了插入点后,系统通过ads-command()函数调用AutoCAD的作图命令作图.ads-command()函数所需的参数由系统根据用户的不同要求访问标准件库后返回. 4 用户界面的处理 系统的用户界面采取对话框的形式,以简化人机交互操作.为求简单明了,对话框上插入相应标准件的实物立体图和不同方向的视图.用户只需选择所需标准件的型号和视图并提供插入点即可得到相应的图形.这些预览功能确保了输入的准确性. 系统的用户界面由两级对话框组成,程序运行时先弹出**级对话框供用户选择标准件种类(如:轴承、螺母等)之用,当标准件种类选定后弹出**级对话框供用户选定所选标准件的参数. 系统通过调用相对应的对话框构件的初始化函数ads-action-tile()来响应用户在对话框上进行的操作. 以垫圈为例,程序运行时其**级对话框形状如图3所示. 图3 插入垫圈的对话框 Fig.3 The dialog-box for inserting agasket 系统要对显示在对话框上的大量的图像文件进行管理,处理方法是将图像文件的地址和名字作为一个字段存储在标准件库中,需要时通过标准件库返回的地址进行调用. 5 结 论 通过机械标准件数据库系统的开发,��解决机械设计中所涉及的大量的标准件的快速查询与绘制提供了有效途径,同时,也解决了数据的**性和查询的准确性问题.并且,由于系统大量调用各种相关的图像,使用户界面更加友好,使用更加直接. |