温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023
基于
AutoCAD
ADO
远程
设计
电缆
布线
系统
中的
应用
基于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 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; EDA
1. 引言
在计算机辅助设计〔CAD〕中,AutoCAD一直占据重要地位,但缺乏与其他系统的通用数据库的联系,且它不具备orCAD,Protel等专业EDA(电子设计自动化)工具的布线功能,通过VBA技术可以实现VB控制AutoCAD的绘图,但无法实现人工绘图信息自动回归,所以数据交换仍多采用数据交换文件DXF,鉴于VB在控制AutoCAD及数据库管理均有良好功能,在自动布线环节又可起到算法数据的管理,此项技术可联系两者的优点,并消除了其他布线系统只是针对集成电路,印刷板电路,对大型系统布线有使用困难的弱点;以及有无法自己定制数据库交换的缺陷,可为专业领域的绘图、布线,提供更高层次的功能:导线的遗漏检测,导线接插件端子的匹配、导线型号、规格、颜色、长度的选择、导线电流计算,非标准化器件绘制,与计算机辅助制造〔CAM〕及计算机辅助测试〔CAT〕互连提供良好接口。
2. AutoCAD与数据库信息交换
通过对DXF格式文件的扫描,产生数据库表以交互图形信息。
DXF文件的格式:
典型的DXF文件由以下几个节组成:
(1) 标题节〔HEADER〕
标题节记录了图形的一般信息。它包括AutoCAD图形数据库的版本号以及大量的系统变量。每个参数都有表示变量名字符串的9组和假设干个表示变量值的组。
(2) 类节〔CLASSES〕
类节保存由应用程序定义的类,而该类的实例出现在块节、实体节、对象节中。
(3) 表节〔TABLES〕
表节按顺序包含表1所述9个符号表信息
序号
表名
说明
1
APPID
应用程序标志符表
2
BLOCK_RECORD
块引用描述表
3
DIMSTYLE
尺寸标注格式描述表
4
LAYER
层描述表
5
LTYPE
线型定义表
6
STYLE
文本格式表
7
UCS
用户坐标系统表
8
VIEW
视图表
9
VPORT
视口配置表
表1。1
(4) 块节〔BLOCKS〕
块节描述图形中包含的块的定义,包括块内的实体
(5) 实体节〔ENTITIES〕
实体节描述构成图形所有图形实体和块引用,但不包括块内的实体.
(6) 对象节〔OBJECTS〕
对象节包含图形数据库中所有非图形实体的定义数据.所有不是实体,也不是符号表记录,又不是符号表的实体出现在该节中.
用VB设计应用程序DXF文件接口程序的例如如下:
Open CommonDialog1.FileName For Input As #1(翻开选中的DXF文件)
Do While Not EOF(1)(外层循环开始,到文件结束为止)
Line 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
Loop
3. ADO在远程设计中的连接
作图环境和布线环境的别离有利于在AutoCAD下作图不破坏已布线记录,利用Automation 技术在两种环境切换,不会影响整体功能。
OrCAD,Protel 等多应用于PCB(印制电路板)和专用集成电路设计的设计,对大型布线系统,如航空电缆,电力系统等布线并不适宜,基于布线系统的复杂性,Vb环境下的通用作图环境是windows所支持的点阵图,而我们需要矢量作图法,以矢量信息为记录,保证了与数据库的数据交换。
在VB中采用了ADO控件〔ActiveX Data Objects〕是由微软公司推出的以ActiveX技术为根底的数据存取方法。ADO的主要特点是使用更加容易,访问速度更快,而对磁盘和存储容量的要求更小;ADO支持建立各种客户/效劳器模式与基于Web的应用程序,具有远程数据效劳RDS〔Remote Data Service〕的特性, 通过RDS能够在一次往返中将效劳器端的数据传送到客户端的应用程序或Web页面中,并在客户端对数据进行处理后,立即更新效劳器端的数据。采用ADO所基于的OLE DB技术,可以对电子邮件、文本文件、数据表格等各类数据通过统一的接口API接口进行存取,是远程数据存取的一个主要开展方向。
DCOM
数据库
ADO
Active Server
(DLL or EXE)
Client Application
OLE DB
记录矢量绘图的信息方法:在VB picyurebox控件中使用line,circle,rect等绘图语句同时,放置记录到数据控件的recordset中, ADO连接及定义原理图表,例如:
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\布线库.mdb"
Adodc1.CommandType = adCmdTable
Adodc1.RecordSource = "原理图导线表"
Adodc1.Refresh
Adodc1.Recordset.Filter = "命令='T' and N4='" & Adodc1.Recordset.Fields("源代号").Value & "' and N5='" & Adodc1.Recordset.Fields("源针号").Value & "'"
If Adodc1.Recordset.AbsolutePosition >= 0 Then
……参加绘图时的矢量信息……
End if
Adodc1.Recordset.Filter = 0
Adodc1.Recordset.MoveFirst
矢量作图的关键点是放大,缩小时,线信息不变,只是重新定义坐标系:
(M为放大倍数),例如:
picture1.Cls
Tempy = Abs(picture1.ScaleHeight)
Tempx = Abs(picture1.ScaleWidth)
Mousey = CInt(VScroll1.Value / 2.5) x 2.5
Mousex = CInt(HScroll1.Value / 2.5) x 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 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.activedocument.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. 自动布线
元件表,节点表;导线表
引入布线
算法
导线,端子参数输入,用于检测CAT
6. 结论
AutoCAD的优点在于可以绘制复杂图形,可以对布线中的辅助线有良好的构造,弥补其他EDA工具的缺乏,VB环境的优点是可以处理布线外的事务处理,以强化效率,并可以自定义布线法那么以适应特殊环境需要,使用ADO数据控件可丰富数据库管理的。
两者在工程布线,管道设计的应用有较强的工程价值.并实现远程设计,及布线与绘制辅助图形人员别离。