您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > VBA技术的智能建筑综合布线CAD系统的开发与研究-基于
—1—基于VisualLISP和AutoCADVBA技术的智能建筑综合布线CAD系统的开发与研究【摘要】本文基于对VisualLISP和AutoCADVBA两种AutoCAD二次开发工具的研究,通过与传统智能建筑综合布线设计方法的比较,开发了一种全新的智能建筑综合布线CAD系统。【关键词】综合布线;CAD;VisualLISP;AutoCADVBA引言作为智能建筑的“中枢神经”系统,综合布线系统是智能建筑必备的基础设施。但发生故障导致智能系统瘫痪的根源,有70%以上是由于智能系统的布线不善。因此,有必要加强对综合布线系统设计和施工方法的研究。综合布线是否合理,将直接影响到“3A的功能。而当前国内相当数量综合布线的工程设计人员仍利用手工进行设计,过程非常繁琐,而且布线器件数量的分类统计和各种线缆长度的测量、计算既费力又容易出错,加上现在的网络系统越来越复杂,综合布线设计的工作量非常大。综合布线CAD系统正是为解决这一矛盾而开发的。本文所提出的系统是利用AutoCAD2004提供的面向对象的VisualLISP可视化开发工具和AutoCADVBA技术进行AutoCAD平台上的二次开发,采用面向对象的分析设计方法。1、CAD技术在国内外综合布线行业的应用状况由于综合布线技术在智能建筑中得到广泛应用是近十年左右的时间。综合布线系统CAD的研究和应用目前仍处于起步阶段。虽然国内外已有科研院所和系统集成商等各种类型的单位在开发综合布线系统CAD软件,但仅有的己经开发出来的几个综合布线系统CAD软件,多是用来进行方案设计,能够用来进行施工图设计的CAD软件极少,且没有任何一款软件被广泛使用。国内也已经开始有综合布线系统的CAD软件出现。这类软件大多数是由计算机专业的人员开发。由于开发人员以计算机专业知识为主而没有综合布线工程实践经验。因此,开发出的这类CAD系统在用于设计,特别是用于施工图设计时,总会出现这样或那样的问题。出于商业目的,这类软件又几乎没有给综合布线系统的专业人员留任何开发接口,使得这类CAD系统即使在使用中有问题,综合布线系统的专业人员也无法对其再进行开发,从而影响到软件的推广应用。全面推广应用智能建筑综合布线系统CAD技术,特别是综合布线系统的施工图设计CAD技术,还需要智能建筑综合布线专业的科研和工程技术人员的继续共同努力。国外一些著名的布线厂商,如西蒙公司等,开发出的软件只是针对自己产品的CAD系统,这类CAD系统不具备通用性,用哪家公司的CAD系统做的设计,在工程实施时就必须采用哪家的产品,否则就无法实施。而且该类CAD系统大多只能用来做综合布线系统的方案设计,施工图设计仍然要用通用绘图软件由设计者一笔笔绘出。2、传统的综合布线设计方法存在的问题目前,综合布线工程的施工图设计基本上都是由设计者手工进行,然后利用AutoCAD等通用绘图软件绘图。与现代设计方法相比,这种落后的设计方法存在以下缺点:①在进行综合布线工程的施工图设计时,各种设备和线缆图形符号的绘制和修改很费时间,而且在这些图形符号的绘制过程中存在大量的重复工作。设计者需要花费大量的时间考虑绘图的问题,以致于没有足够的精力来考虑设计方案选择以及规范条文等问题,使得设计过程本末倒置。②没有精通综合布线系统相关规范和标准的设计者在进行施工图设计时,往往需要边做设计边翻阅规范,使得设计效率很低。③施工图设计过程中还有大量计算工作。特别是目前的商务大楼和综合楼的综合布线工程施工图设计,由于其中的办公室大多为大开间办公室,使得计算过程更为复杂。④综合布线工程中各种设备和线缆的用量统计是一项十分繁琐且容易出错的工作。特别是现在—2—的布线系统越来越庞大,越来越复杂,使得手工统计设备和材料用量的工作更加费时间。3、综合布线CAD系统的总体结构与功能综合布线CAD系统研究的目标是为设计人员提供一个方便实用的设计环境和工具,缩短设计周期,提高设计效率和质量,促进设计标准化和计算机化。该系统采用综合布线设计功能与AutoCAD2004的基本功能无缝结合的方式,其设计的专业功能完全自行设计开发。围绕综合布线设计过程的特点,根据系统划分原理,将该系统划分为若干功能模块:建筑群干线子系统设计、建筑物干线子系统设计、水平子系统设计、工作区子系统设计,把它们加入到AutoCAD的系统菜单中,这样既保持了AutoCAD2004一贯风格,同时又加入了综合布线设计所需的特殊风格。其总体结构如图1所示。长度统计建筑群干线线缆数量建筑群配线架统计移动删除修改建立延伸打断裁剪修改建立建筑物配线架数量统计移动删除修改建立统计延伸打断裁剪修改建立长度建筑物干线线缆水平线缆数量建立修改裁剪打断延伸统计转接点建立修改删除移动统计总数量楼层配线架数量统计移动删除修改建立插座信息建筑群干线子系统设计建筑物干线子系统设计水平子系统设计工作区子系统设计帮助(H)窗口(W)修改(M)绘图(D)工具(T)格式(O)视图(V)编辑(E)文件(F)图形数据库功能结构化布线设计功能CAD基本功能结构化布线设计系统图1综合布线总体结构功能图4、AutoCADVBA与VisualLISP开发技术简介4.1AutoCADVBAAutoCAD2004已经将AutoCADVBA集成在系统内部,使用户使用更加方便。AutoCADVBA依靠ActiveX技术来操作AutoCAD。VBA是VisualBasicforApplication的缩写,由VisualBasic派生而来,现在已经成为Microsoft产品的标准语言。AutoCADVBA集成开发环境具有如下特点:VBA使AutoCAD能够与其它应用程序直接共享数据,如MicrosoftOffice2003软件等。在VBA集成开发环境中,可以通过拖动图标的方法,简单而可视化地建立用户界面。VBA的语言代码完全继承了VB的特征,可以说是世界上最简单的编程语言,但其功能并不比其它编程语言弱。具有开放式的对象模型。AutoCAD2004软件中的ActiveX对象模型十分有用,它显示了每一个对象的方法和属性。用户可以按照自己的愿望对AutoCAD2004进行编程或定制。良好的运行速度。VBA的运行速度与ObjectARX应用程序非常接近,比其它开发方式(ADS,LISP等)要提高许多。—3—4.2VisualLISP开发环境VisualLISP作为AutoLISP的集成开发环境,增加了许多新功能,使AutoLISP的编程更加方便快捷。①VisualLISP提供了一个使用方便、功能齐全的编程环境。②VisualLISP编程环境提供了功能强大的程序调试功能。③VisualLISP提供了一些文件管理功能。本文中利用VisualLISP和AutoCADVBA开发技术可定义部分新的AutoCAD命令,从而可以大大提高工程技术人员的设计效率,缩短设计周期。另外还可编写能够直接被用来进行综合布线系统施工图设计的程序。综合布线系统的专业人员也可以在研究过程中编写的程序为基础,根据自己的需要继续进行开发。5、综合布线AutoCAD运行环境的设置在以下介绍的开发综合布线CAD系统的方法中,默认操作系统安装在C盘,AutoCAD2004的安装目录为C:\PROGRAMFILES\AutoCAD2004\.在综合布线CAD系统中,开发了一些系统支持文件,这些文件需要放到AutoCAD的支持文件搜索路径中。为了方便维护系统,综合布线CAD系统在原AutoCAD系统的基础上增加几个子目录用于存放这些文件,并将这几个子目录设置为AutoCAD的支持文件搜索路径。综合布线CAD系统增加的AutoCAD支持文件搜索路径为:C:\Programfiles\AutoCAD2004\SCS,C:\Programfiles\AutoCAD2004\Block,C:\Programfiles\AutoCAD2004\BMP其中SCS子目录用于存放用VisualLISP和VBA编写的程序文件;Block子目录用于存放新定义的图块文件;BMP子目录用于存放新开发的工具栏菜单的图标文件。为了方便使用ADO库,在每次启动综合布线CAD系统时就将ADO库导入系统,这样就避免了每次使用ADO库时都必须首先加载的麻烦。实现的方法是在系统文件C:\Programfiles\AutoCAD2004\Support\acad2004.lsp中运用(vlax-import-type-library)函数导入ADO库。将下列程序语句加入到acad2004.1sp文件中的((princ)语句之前即可达到该目的。(vlax-import-type-library:tlb-filenameC:\\ProgramFiles\\CommonFiles\\system\\ado\\msado15.d11:methods-prefix“ado-”:properties-prefix“ado-”:constants-prefix“ado-”)加入上述代码之后,所有新的ADO函数均以“ado-”开始。在上述加载ADO库的过程中使用了ActiveX的实用函数(vlax-import-type-library,因此在运行加载ADO库的函数语句之前需要先加载VisualLISP的扩展函数。实现的方法是在文件C:\Programfiles\AutoCAD2004\Support\acad2004.1sp中的(vlax-import-type-library)函数语句之前加入以下语句:(vl-load-com)每次启动系统时,该函数都将加载VisualLISP的扩展函数。因此,在使用VisualLISP编写的程序中,即使使用了VisualLISP的扩展函数,也没有再调用该函数。所有新开发的综合布线CAD的命令代码均在文件equipments.lsp和文件syscom.lsp中,为了方便使用这些命令,需要在每次启动CAD系统时就加载这两个文件。其方法是在文件C:\Programfiles\AutoCAD2004\Support\acad2004.lsp中的(princ)语句之前加入下列语句:(loadC:\\programfiles\\acad2004\\SCS\\equipments.lsp)(loadC:\\Programfiles\\acad2004\\SCS\\syscom.lsp)这样,在使用这些新开发的命令时,不需要每次都手工加载这两个文件就可以直接使用文件中定义的AutoCAD命令。—4—使用AutoCADVBA开发的程序都保存在acad.dvb文件中,该文件位于C:\Programfiles\AutoCAD2004\SCS文件夹中。每次启动系统时,该文件都被自动加载。6、数据库的建立在综合布线CAD系统中,需要一个数据库来存储设计过程中的大量非图形数据,并在其中形成最后的材料用量报表。本CAD系统选择了MicrosoftAccess2003数据库系统,存储数据的数据库文件为data.mdb,该文件存放在C:\MyDocuments\。该数据库包括“材料用量报表”、“插座信息”、“插座用途”、“建筑基本信息”和“双绞线信息”等五个数据表。其中,除了“插座用途”和“插座信息”表之间存在一对多的对应关系之外,其余的表之间不存在明显的对应关系。但有些表中的部分或全部数据是利用其它表中的数据作为原始数据进行计算后得到的。7、综合布线CAD系统的工作流程材料用量报表生成设计总说明建筑基本信息表光纤配线架类型数据配线架类型语音配线架类型配线类型数据干线类型语音干线类型数据设备间位置语音设备间位置楼层配线间数平均层高楼层数楼层配线间所在楼层将建筑物基本信息写入数据库绘制系统图生成信息点编号将信息点编号写入平面图中插座信息表所在楼层插座ID中心点坐标插座功能双绞线信息表各层信息点数最近点距离最远点距离将插座信息读入数据库绘制平面图插座功能颜色比例初始化系统图2综合布线CAD系统的工作流程8、目前综合布线CAD系统存在的主要问题8.1综合布线CAD系统的程序还需要进一步优化和
本文标题:VBA技术的智能建筑综合布线CAD系统的开发与研究-基于
链接地址:https://www.777doc.com/doc-164423 .html