《(2020年)行业分析报告VBA技术的智能建筑综合布线CAD系统的开发与研究基于》由会员分享,可在线阅读,更多相关《(2020年)行业分析报告VBA技术的智能建筑综合布线CAD系统的开发与研究基于(5页珍藏版)》请在金锄头文库上搜索。
1、基于Visual LISP 和AutoCAD VBA技术的智能建筑综合布线CAD系统的开发与研究【摘 要】 本文基于对Visual LISP和AutoCAD VBA两种AutoCAD二次开发工具的研究,通过与传统智能建筑综合布线设计方法的比较,开发了一种全新的智能建筑综合布线CAD系统。【关键词】 综合布线;CAD;Visual LISP;AutoCAD VBA引言作为智能建筑的“中枢神经”系统,综合布线系统是智能建筑必备的基础设施。但发生故障导致智能系统瘫痪的根源,有70%以上是由于智能系统的布线不善。因此,有必要加强对综合布线系统设计和施工方法的研究。综合布线是否合理,将直接影响到“3A的
2、功能。而当前国内相当数量综合布线的工程设计人员仍利用手工进行设计,过程非常繁琐,而且布线器件数量的分类统计和各种线缆长度的测量、计算既费力又容易出错,加上现在的网络系统越来越复杂,综合布线设计的工作量非常大。综合布线CAD系统正是为解决这一矛盾而开发的。本文所提出的系统是利用AutoCAD 2004提供的面向对象的Visual LISP可视化开发工具和AutoCAD VBA技术进行AutoCAD平台上的二次开发,采用面向对象的分析设计方法。1、CAD技术在国内外综合布线行业的应用状况 由于综合布线技术在智能建筑中得到广泛应用是近十年左右的时间。综合布线系统CAD的研究和应用目前仍处于起步阶段。
3、虽然国内外已有科研院所和系统集成商等各种类型的单位在开发综合布线系统CAD软件,但仅有的己经开发出来的几个综合布线系统CAD软件,多是用来进行方案设计,能够用来进行施工图设计的CAD软件极少,且没有任何一款软件被广泛使用。国内也已经开始有综合布线系统的CAD软件出现。这类软件大多数是由计算机专业的人员开发。由于开发人员以计算机专业知识为主而没有综合布线工程实践经验。因此,开发出的这类CAD系统在用于设计,特别是用于施工图设计时,总会出现这样或那样的问题。出于商业目的,这类软件又几乎没有给综合布线系统的专业人员留任何开发接口,使得这类CAD系统即使在使用中有问题,综合布线系统的专业人员也无法对其
4、再进行开发,从而影响到软件的推广应用。全面推广应用智能建筑综合布线系统CAD技术,特别是综合布线系统的施工图设计CAD技术,还需要智能建筑综合布线专业的科研和工程技术人员的继续共同努力。国外一些著名的布线厂商,如西蒙公司等,开发出的软件只是针对自己产品的CAD系统,这类CAD系统不具备通用性,用哪家公司的CAD系统做的设计,在工程实施时就必须采用哪家的产品,否则就无法实施。而且该类CAD系统大多只能用来做综合布线系统的方案设计,施工图设计仍然要用通用绘图软件由设计者一笔笔绘出。2、传统的综合布线设计方法存在的问题 目前,综合布线工程的施工图设计基本上都是由设计者手工进行,然后利用AutoCAD
5、等通用绘图软件绘图。与现代设计方法相比,这种落后的设计方法存在以下缺点: 在进行综合布线工程的施工图设计时,各种设备和线缆图形符号的绘制和修改很费时间,而且在这些图形符号的绘制过程中存在大量的重复工作。设计者需要花费大量的时间考虑绘图的问题,以致于没有足够的精力来考虑设计方案选择以及规范条文等问题,使得设计过程本末倒置。 没有精通综合布线系统相关规范和标准的设计者在进行施工图设计时,往往需要边做设计边翻阅规范,使得设计效率很低。 施工图设计过程中还有大量计算工作。特别是目前的商务大楼和综合楼的综合布线工程施工图设计,由于其中的办公室大多为大开间办公室,使得计算过程更为复杂。 综合布线工程中各种
6、设备和线缆的用量统计是一项十分繁琐且容易出错的工作。特别是现在的布线系统越来越庞大,越来越复杂,使得手工统计设备和材料用量的工作更加费时间。3、综合布线CAD系统的总体结构与功能综合布线CAD系统研究的目标是为设计人员提供一个方便实用的设计环境和工具,缩短设计周期,提高设计效率和质量,促进设计标准化和计算机化。该系统采用综合布线设计功能与AutoCAD2004的基本功能无缝结合的方式,其设计的专业功能完全自行设计开发。围绕综合布线设计过程的特点,根据系统划分原理,将该系统划分为若干功能模块:建筑群干线子系统设计、建筑物干线子系统设计、水平子系统设计、工作区子系统设计,把它们加入到AutoCAD
7、的系统菜单中,这样既保持了AutoCAD2004一贯风格,同时又加入了综合布线设计所需的特殊风格。其总体结构如图1所示。图1 综合布线总体结构功能图4、AutoCAD VBA与Visual LISP开发技术简介4.1 AutoCAD VBAAutoCAD 2004已经将AutoCAD VBA集成在系统内部,使用户使用更加方便。AutoCAD VBA依靠ActiveX技术来操作AutoCAD。VBA是Visual Basic for Application的缩写,由Visual Basic派生而来,现在已经成为Microsoft产品的标准语言。AutoCAD VBA集成开发环境具有如下特点:VB
8、A使AutoCAD能够与其它应用程序直接共享数据,如Microsoft Office 2003软件等。在VBA集成开发环境中,可以通过拖动图标的方法,简单而可视化地建立用户界面。VBA的语言代码完全继承了VB的特征,可以说是世界上最简单的编程语言,但其功能并不比其它编程语言弱。 具有开放式的对象模型。AutoCAD 2004软件中的ActiveX对象模型十分有用,它显示了每一个对象的方法和属性。用户可以按照自己的愿望对AutoCAD2004进行编程或定制。 良好的运行速度。VBA的运行速度与ObjectARX应用程序非常接近,比其它开发方式(ADS, LISP等)要提高许多。4.2 Visua
9、l LISP开发环境Visual LISP作为AutoLISP的集成开发环境,增加了许多新功能,使AutoLISP的编程更加方便快捷。 Visual LISP提供了一个使用方便、功能齐全的编程环境。 Visual LISP编程环境提供了功能强大的程序调试功能。 Visual LISP提供了一些文件管理功能。本文中利用Visual LISP和AutoCAD VBA开发技术可定义部分新的AutoCAD命令,从而可以大大提高工程技术人员的设计效率,缩短设计周期。另外还可编写能够直接被用来进行综合布线系统施工图设计的程序。综合布线系统的专业人员也可以在研究过程中编写的程序为基础,根据自己的需要继续进行
10、开发。5、综合布线AutoCAD运行环境的设置在以下介绍的开发综合布线CAD系统的方法中,默认操作系统安装在C盘,AutoCAD 2004的安装目录为C:PROGRAM FILES AutoCAD 2004.在综合布线CAD系统中,开发了一些系统支持文件,这些文件需要放到AutoCAD的支持文件搜索路径中。为了方便维护系统,综合布线CAD系统在原AutoCAD系统的基础上增加几个子目录用于存放这些文件,并将这几个子目录设置为AutoCAD的支持文件搜索路径。综合布线CAD系统增加的AutoCAD支持文件搜索路径为:C:Program filesAutoCAD 2004SCS,C:Program
11、 filesAutoCAD 2004Block,C:Program filesAutoCAD 2004BMP其中SCS子目录用于存放用Visual LISP和VBA编写的程序文件;Block子目录用于存放新定义的图块文件;BMP子目录用于存放新开发的工具栏菜单的图标文件。为了方便使用ADO库,在每次启动综合布线CAD系统时就将ADO库导入系统,这样就避免了每次使用ADO库时都必须首先加载的麻烦。实现的方法是在系统文件C:Program filesAutoCAD 2004Supportacad2004.lsp中运用(vlax-import-type-library)函数导入ADO库。将下列程序语
12、句加入到acad2004.1sp文件中的(princ)语句之前即可达到该目的。 (vlax-import-type-library :tlb-filename C:Program FilesCommon Filessystemadomsado15.d11 :methods-prefix “ado-” :properties-prefix “ado-” :constants-prefix “ado-”)加入上述代码之后,所有新的ADO函数均以“ado-”开始。在上述加载ADO库的过程中使用了ActiveX的实用函数(vlax-import-type-library,因此在运行加载ADO库的函数语
13、句之前需要先加载Visual LISP的扩展函数。实现的方法是在文件C: Program filesAutoCAD 2004Supportacad2004.1sp中的(vlax-import-type-library)函数语句之前加入以下语句:(vl-load-com)每次启动系统时,该函数都将加载Visual LISP的扩展函数。因此,在使用Visual LISP编写的程序中,即使使用了Visual LISP的扩展函数,也没有再调用该函数。所有新开发的综合布线CAD的命令代码均在文件equipments.lsp和文件syscom.lsp中,为了方便使用这些命令,需要在每次启动CAD系统时就加
14、载这两个文件。其方法是在文件C:Program filesAutoCAD 2004Supportacad2004.lsp中的(princ)语句之前加入下列语句: (load C:program filesacad2004SCSequipments.lsp) (load C:Program filesacad2004SCSsyscom.lsp) 这样,在使用这些新开发的命令时,不需要每次都手工加载这两个文件就可以直接使用文件中定义的AutoCAD命令。 使用AutoCAD VBA开发的程序都保存在acad.dvb文件中,该文件位于C:Program filesAutoCAD 2004SCS文件夹
15、中。每次启动系统时,该文件都被自动加载。6、数据库的建立 在综合布线CAD系统中,需要一个数据库来存储设计过程中的大量非图形数据,并在其中形成最后的材料用量报表。本CAD系统选择了Microsoft Access 2003数据库系统,存储数据的数据库文件为data.mdb,该文件存放在C:My Documents。 该数据库包括“材料用量报表”、“插座信息”、“插座用途”、“建筑基本信息”和“双绞线信息”等五个数据表。其中,除了“插座用途”和“插座信息”表之间存在一对多的对应关系之外,其余的表之间不存在明显的对应关系。但有些表中的部分或全部数据是利用其它表中的数据作为原始数据进行计算后得到的。7、综合布线CAD系统的工作流程图2 综合布线CAD系统的工作流程8、目前综合布线CAD系统存在的主要问题8.1综合布线CAD系统的程序还需要进一步优化和完善。很多程序还没有在工程实际中使用,还没有得到工程实践的检验,因此可能还存在功能不完善的地方,可能有些功能不太实用,这些问题需要到工程实践中去解决。8.2工程造价的计算。综合布线CAD系统可以提供综合布线工程的主要设备和材料用量报表,如果在此基础上再将设备和材料的单价以及相关的预算定额输入到数据库系统中,通过编程使计算机自动生成整个工程的造价报