首页 | 资讯 | 厂商 | 产品 | 供应 | 求购 | 下载 | 技术 | 会展 | 论坛 | 求职 | 招聘 | 杂志 | 周刊 | 机床 | 模具 | 刀具 | 工业润滑油 | 五金 | 测量与检测 | 我的助理
 技术文章搜索
  当前位置:中国金属加工网 >> 技术中心 >> 详细内容
在AutoCAD环境下与数据库间的互联技术

MW35.com 2008-1-21
    摘要 本文阐述了在液压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系统中,同时可以在不同的数据库驱动程序支持下对不同的数据库进行数据的存取交换。
  
  ASE是一组命令集,可将SQL连接到AtuoCAD系统中。其实质就是利用ASI建立的ADS/ARX的应用程序。使用ASE可以在AutoCAD内部对外部数据库中的数据文件的记录和字段进行查询和修改等操作,可以将数据关联到图形实体和非图形实体(如哑图中尺寸参数替换和明细表等)上,实现图形和数据间的双向查询,并可以实现在图形中动态跟踪显示数据。
  
  AutoCAD本身包含一组数据库驱动程序,其中每一个驱动程序都支持自己所连接的一种外部DBMS。其中用ADS/ARX或AutoLISP建立的应用程序,不必考虑DBMS专用的代码应用程序,是用ASI编程还是用ASE命令编程,其实质都是遵循通用SQL标准的。
  
  AutoCAD支持的开发语言有Turbo C,Visual Basic 5.0,Visual C/C++4.0和内部拥有AutoLISP语言,其中C,VB通过建立生成ADS的函数,VC生成的是ARX函数,与AutoCAD信息相联系。
  
  ASE作为AutoCAD内部的一组命令,可用编程方式执行。ASE作为AutoCAD访问数据库的核心具有更直接访问数据库的能力,允许应用程序对多种DBMS,DBMS内的多个数据库,库内的多张表进行数据访问。ASE和ASI可根据需要单独或同时使用。ASE方法在显示属性、编辑、列表框、基于查询等功能方面显得容易实现,但对于复杂的应用程序,就要使用ASI方式编程实现功能。

3 ASI方法的使用

3.1 ASI的支持文件与开发环境
  
  AutoCAD R13 for windows所支持的ASI编程的文件都存放在缺省的\ACAD\WIN\ASE目录中。有ASI目标库(文件后缀为.LIB)如asiatm80.lib;ASI头文件(asi.h含ASI的通用定义)、(asierr.h包含返回出错代码值的含义)、(asiappl.h含主要的AutoCAD SQL结构查询语言的头文件)、(asisdata.h含C++的用户接口定义)。
  
  用ASI编制的应用程序,可用的编译器有:Borland C/C++4.0、Microsoft C/C++7.0、Microsoft Visual C++4.0以上版本等。

3.2 利用ASI与数据库交互处理的实现过程步骤

连通数据库:通过asi-initsql,ads-initdrv,asi-connect分别对ASI指定的DBMS驱动程序进行初始化,登录到所指定的数据库。

打开一个通讯句柄:这可通过调用asi-compile函数来实现。在ASI程序中,每条SQL语句都通过一个通讯句柄来进行处理。

编译SQL语句:通过调用asi-compile函数来实现。

执行SQL语句:用asi-iexecute函数执行SQL语句。

查询和处理数据:逐行查询结果,选取当前行,进行数据处理。所需的函数有:asi-fetch获得光标所在的当前行;asi-coldsc获得一列的说明;asi-delete删除当前行;asi-update更换当前行,等函数。

关闭通讯句柄:用asi-chandle函数关闭语句处理的句柄,并释放句柄。

断开与数据库的连接:调用asi-disconnect函数,断开登录的数据库;调用asi-temdrv函数,终止驱动程序;调用asi-temrsql函数,终止程序接口。
 
  上述每一过程可用ASI的出错代码处理函数进行错误信息处理,用asi-err获得一条出错代码,用asi-errmsg函数获得一条出错信息。

4 实例说明

本例给出一个由Visual Foxpro3.0环境下,建立起来的液压系统软件包设计中的顺序阀数据库文件SXFLIB.DBF,其数据结构如下表所示。
 


搜索更多相关内容:

[1] [2] [3]  下一页


发表评论】【收藏此页】【打印文章】【关闭本页


声明:所载此文出于传递更多信息之目的,并不意味赞同其观点或证实其描述。数据仅供参考!
广告文字链接,企业推广更有效!现在加入,让你生意越来越旺!广告位咨询电话:0755-83042680
·上海三住精密机械
硬质合金立铣刀,球头铣刀,丝锥,金刚石砂轮,研磨工具,刀柄,铰刀,电极
www.misumi.com.cn
·韩国YG-1
韩国最大端铣刀制造商公制,英制端铣刀,旋转锉,切削刀具,钻子,丝锥
www.yg1.co.kr
·美国斯图尔特润滑油
世界知名的特种润滑油,添加剂等产品的领导者.金属切削液,淬火液
www.dastuart.com
·广州联诺化工科技
水性环保切削液,切削油,成型油,防锈油,冲压拉伸油,特种润滑脂
www.xf-chemical.com
·大族激光
激光切割机,激光焊接机, 激光内雕机,提供整套激光加工解决方案
www.hanslaser.com
·广东粤港大地制漆
机械设备漆系列,金属烘漆系列,钢结构漆系列,防腐涂料系列
www.da-di.com
·星辰激光技术
在线飞行打标机,金属激光切割机, 彩色激光打标机,连续激光电源
www.stars-laser.com
·您的位置!
获取此处广告文字链接,让您的企业和产品推广更有效!咨询电话:0755-83042680

■ 相关内容
·AutoCAD中输出位图 2008-1-31
·AutoCAD中的坐标系 2008-1-28
·AutoCAD R12两个新增命令在编程中的应用 2008-1-17
·从AutoCAD中精确输出图像文件 2008-1-15
·AutoCAD中计算二维图形的面积 2008-1-15
·AutoCAD 2000在塑料成型模具设计中的应用 2008-1-14
·AutoCAD、全站仪和编程计算器在工程测量中的应用 2008-1-12
·利用AutoCAD临时文件找回丢失的CAD文件 2008-1-10
 
■ 热点应用
·台达人机界面在点胶机器人上的应用
·台达门机专用变频器应用
·中达电通车铣复合加工机床解决方案
·开关稳压电源在数控机床维修改造中
·数控技术在磁轴承中的应用
·PDM在焊接设备制造企业中的应用
·惠丰变频器在数控机床上的应用
·四方E380变频器在数控车床上的应用
·科姆龙变频器在数控车床上的应用
 
■ 热点论文
·超硬高速钢及普通高速钢丝锥的使用
·中达车床数控系统规格
·基于台达机电一体化技术的高速并条
·细说高效高速加工
·切削技术与刀具工业的新时代
·CVD金刚石薄膜涂层工具的研究概况
·加工中心托板交换装置的快速抬起机