摘要 本文阐述了在液压CAD系统中,针对AutoCAD R13 for Windows二次开发环境下,利用其内部ASI接口技术进行程序设计,实现与Visual Foxpro 3.0之间进行数据交换的方法。
关键词:AutoCAD 二次开发 接口 数据交换
1 引言
数据交换是CAD的核心技术,可以说没有数据的有效交换,就没有CAD优越性的充分发挥。在AutoCAD环境下进行CAD软件二次开发时,如何实现各模块间数据的有效交换,如何解决各类不同软件间的接口问题以及如何实现图形实体与非图形实体数据的联系,是二次开发CAD系统解决的关键问题。
本文着重讨论了AutoCAD R13 C4 for Windows环境下与Visual Foxpro 3.0之间进行的数据交换的ASI (AutoCAD SQL Interface)程序设计方法,并具体应用于液压系统的CAD软件中。
2 AutoCAD的开发与数据库的访问
象其他流行软件一样,Autodesk公司在AutoCAD R13内部提供了与外部数据库相互联系的机制。AutoCAD本身含有ASI(AutoCAD SQL Interface)、ASE(AutoCAD SQL Extension)和DBMS(Database Manager System)驱动程序几部分。AutoCAD与数据库文件之间进行数据交换的示意图如图所示。
AutoCAD与数据库文件之间数据交换示意图 ASI遵循ANSI/ISOSQL标准,是用于从AutoCAD中访问外部数据库的函数集。用ASI建立的应用程序,均可通过AutoCAD的开发应用系统;C语言开发的ADS,Visual C++4.0开发的ARX或其内部所自带的AutoLISP语言连接到AutoCAD系统中,同时可以在不同的数据库驱动程序支持下对不同的数据库进行数据的存取交换。 3 ASI方法的使用 3.1 ASI的支持文件与开发环境 4 实例说明 本例给出一个由Visual Foxpro3.0环境下,建立起来的液压系统软件包设计中的顺序阀数据库文件SXFLIB.DBF,其数据结构如下表所示。 |
Name | Type | Diameter | Pressure | Flux | Scale |
顺序阀 | X-F*#p#分页标题#e#10D3-P-* | 10.0 | 20.0 | 40.0 | 0.5 |
顺序阀 | 2X-F*10D3-AB/BA-* | 10.0 | 20.0 | 40.0 | 1.0 |
单向顺序阀 | XA-F*10D3-B-* | 10.0 | 20.0 | 40.0 | 0.7 |
单向顺序阀 | XA-F*10D3-B(A)-* | 10.0 | 20.0 | 40.0 | 0.5 |
编制ASI应用程序,实现所需功能: (1)编制ins-rowvalue命令,实现将AutoCAD图形上的数据和名称做一标记插入到数据库的记录中。 (2)编制get-rowvalue命令,实现从数据库选定行中读取数据,在软件的对话框中显示出来,并按数据所提供的比例画出图形。 (3)编制fetch-dallue命令,实现从数据库中读取所有记录,在对话框的列表框内显示出来,以便用户调用,插入图形中。 由于AutoCAD可通过ASI/ASE、DBMS访问数据库,所以使许多应用项目的设计思路大为开阔,节省了设计者的工作时间,提高了工作效率,降低了投入成本,有利于集成系统的实现。 |