1、基于AutoCAD及ADO的远程设计在电缆布线系统中的应用 沈晓东 杨明 南京航空航天大学机电学院: 本文以航空电缆布线为例,介绍AutoCAD与客户程序及数据库的应用连接,并以ADO实现远程设计中的数据连接,有望联系起矢量绘图及数据库管理两大功能为一身,实现远程CAD设计,在EDA领域有广泛的应用。关键词: AutoCAD ADO DXF EDA 自动布线Abstract: This paper introduces the realization of the aviation cable layout .It involved the VB active automation ,data
2、 access from DXF ,ADO control and the alorithms about cable layout. It also describes the typical application of the long-distance design in the nonstandard EDA.Keywords: AutoCAD; ADO; DXF; EDA1. 引言在计算机辅助设计CAD中,AutoCAD一直占据重要地位,但缺乏与其他系统的通用数据库的联系,且它不具备orCAD,Protel等专业EDA(电子设计自动化)工具的布线功能,通过VBA技术可以实现VB控制
3、AutoCAD的绘图,但无法实现人工绘图信息自动回归,所以数据交换仍多采用数据交换文件DXF,鉴于VB在控制AutoCAD及数据库管理均有良好功能,在自动布线环节又可起到算法数据的管理,此项技术可联系两者的优点,并消除了其他布线系统只是针对集成电路,印刷板电路,对大型系统布线有使用困难的弱点;以及有无法自己定制数据库交换的缺陷,可为专业领域的绘图、布线,提供更高层次的功能:导线的遗漏检测,导线接插件端子的匹配、导线型号、规格、颜色、长度的选择、导线电流计算,非标准化器件绘制,与计算机辅助制造CAM及计算机辅助测试CAT互连提供良好接口。2. AutoCAD与数据库信息交换 通过对DXF格式文件
4、的扫描,产生数据库表以交互图形信息。 DXF文件的格式:典型的DXF文件由以下几个节组成:(1) 标题节HEADER 标题节记录了图形的一般信息。它包括AutoCAD图形数据库的版本号以及大量的系统变量。每个参数都有表示变量名字符串的9组和假设干个表示变量值的组。(2) 类节CLASSES 类节保存由应用程序定义的类,而该类的实例出现在块节、实体节、对象节中。(3) 表节TABLES表节按顺序包含表1所述9个符号表信息序号表名说明1APPID应用程序标志符表2BLOCK_RECORD块引用描述表3DIMSTYLE尺寸标注格式描述表4LAYER层描述表5LTYPE线型定义表6STYLE文本格式表
5、7UCS用户坐标系统表8VIEW视图表9VPORT视口配置表表1。1(4) 块节BLOCKS块节描述图形中包含的块的定义,包括块内的实体(5) 实体节ENTITIES实体节描述构成图形所有图形实体和块引用,但不包括块内的实体.(6) 对象节OBJECTS对象节包含图形数据库中所有非图形实体的定义数据.所有不是实体,也不是符号表记录,又不是符号表的实体出现在该节中.用VB设计应用程序DXF文件接口程序的例如如下: Open CommonDialog1.FileName For Input As #1(翻开选中的DXF文件) Do While Not EOF(1)(外层循环开始,到文件结束为止)L
6、ine Input #1, txtline(txtline为STRING型变量,作用是存储DXF文件中的每一行数据)Select Case txtline Case LAYER: Case BLOCK Case INSERT: Case LINE Case CIRCLE: Case ARC Case TEXT: Case else END SELECT Loop3. ADO在远程设计中的连接 作图环境和布线环境的别离有利于在AutoCAD下作图不破坏已布线记录,利用Automation 技术在两种环境切换,不会影响整体功能。 OrCAD,Protel 等多应用于PCB(印制电路板)和专用集成电
7、路设计的设计,对大型布线系统,如航空电缆,电力系统等布线并不适宜,基于布线系统的复杂性,Vb环境下的通用作图环境是windows所支持的点阵图,而我们需要矢量作图法,以矢量信息为记录,保证了与数据库的数据交换。 在VB中采用了ADO控件ActiveX Data Objects是由微软公司推出的以ActiveX技术为根底的数据存取方法。ADO的主要特点是使用更加容易,访问速度更快,而对磁盘和存储容量的要求更小;ADO支持建立各种客户/效劳器模式与基于Web的应用程序,具有远程数据效劳RDSRemote Data Service的特性, 通过RDS能够在一次往返中将效劳器端的数据传送到客户端的应用
8、程序或Web页面中,并在客户端对数据进行处理后,立即更新效劳器端的数据。采用ADO所基于的OLE DB技术,可以对电子邮件、文本文件、数据表格等各类数据通过统一的接口API接口进行存取,是远程数据存取的一个主要开展方向。DCOM数据库 ADOActive Server(DLL or EXE)Client ApplicationOLE DB 记录矢量绘图的信息方法:在VB picyurebox控件中使用line,circle,rect等绘图语句同时,放置记录到数据控件的recordset中, ADO连接及定义原理图表,例如:Adodc1.ConnectionString = Provider=M
9、icrosoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source= & App.Path & 布线库.mdbAdodc1.CommandType = adCmdTableAdodc1.RecordSource = 原理图导线表Adodc1.RefreshAdodc1.Recordset.Filter = 命令=T and N4= & Adodc1.Recordset.Fields(源代号).Value & and N5= & Adodc1.Recordset.Fields(源针号).Value & If Adodc1.Recordse
10、t.AbsolutePosition = 0 Then 参加绘图时的矢量信息End if Adodc1.Recordset.Filter = 0 Adodc1.Recordset.MoveFirst矢量作图的关键点是放大,缩小时,线信息不变,只是重新定义坐标系:(M为放大倍数),例如: picture1.ClsTempy = Abs(picture1.ScaleHeight) Tempx = Abs(picture1.ScaleWidth)Mousey = CInt(VScroll1.Value / 2.5) x 2.5Mousex = CInt(HScroll1.Value / 2.5) x
11、 2.5 picture1.Scale (Mousex, (Mousey + Tempy / M)-(Mousex + Tempx / M), Mousey) 4. AutoCAD与VB的ActiveX Automation 连接技术 为使用AutoCAD的Auotomation对象,必须首先在Visual Basic 6.0中引用该对象类型库acad.tlb,并连接如下1: Public acadApp As Object AutoCAD 的application对象 Public acadDoc As Object AutoCAD document对象 Public moSpace As
12、Object Modelspace 模型空间对象集合 Public paSpace As Object PaperSace 图纸空间对象集合 On Error Resume Next Set acadApp = GetObject(, AutoCAD.Application) If Err Then Err.Clear Set acadApp = Creatobject(“AutoCAD.Application) If Err Then Msgbox Err.description Exit Sub End If End if 在存储及绘图模板使用如下3:acadDoc.activedocum
13、ent.SaveAs(d:capp原理图.dwg) 执行ActiveDocument对象的SaveAs方法exportFile := d:capp原理图acadDoc.Export (exportFile, DXF,acadDoc)使用Export方法把图形文档存放在d:capp路径中acadDoc.activedocument.new (acad) 执行ActiveDocument对象的New方法,以acad.dwt为模板创立一个新的图像文件。5. 事例分析:以航空电缆布线系统为例,以下为系统框图: AutoCAD绘制辅助图,Export方式导出DXF图形信息导入导出VB通过ADO控件对远程数据库的连接Active Automation生成辅助图表,目录表远程中心数据库VB布线绘图:1. 手动布线2. 自动布线元件表,节点表;导线表引入布线算法导线,端子参数输入,用于检测CAT6. 结论 AutoCAD的优点在于可以绘制复杂图形,可以对布线中的辅助线有良好的构造,弥补其他EDA工具的缺乏,VB环境的优点是可以处理布线外的事务处理,以强化效率,并可以自定义布线法那么以适应特殊环境需要,使用ADO数据控件可丰富数据库管理的。两者在工程布线,管道设计的应用有较强的工程价值.并实现远程设计,及布线与绘制辅助图形人员别离。