王豐斌
(116000 大連昊坤建筑工程有限責(zé)任公司 遼寧 大連)
摘 要:目前CAD技術(shù)已經(jīng)廣泛的應(yīng)用于建筑制圖中,本文通過(guò)對(duì)CAD二次開(kāi)發(fā)技術(shù)應(yīng)用的分析,提出了在建筑制圖中CAD技術(shù)二次開(kāi)發(fā)的手段和形式,為制圖人員更好的利用CAD提供參考意見(jiàn)和建議。
關(guān)鍵詞:CAD二次開(kāi)發(fā);建筑制圖;手段;形式
一、CAD二次開(kāi)發(fā)的概念
CAD是Computer Aided Design的英文縮寫(xiě),是利用計(jì)算機(jī)及其圖形設(shè)備幫助設(shè)計(jì)人員進(jìn)行設(shè)計(jì)工作的一個(gè)軟件。目前,建筑制圖行業(yè)廣泛使用的CAD軟件是美國(guó)AUTODESK公司開(kāi)發(fā)的Auto CAD軟件,它是一個(gè)功能強(qiáng)大、易學(xué)易用、具有開(kāi)放型結(jié)構(gòu)的軟件,不僅便于用戶使用,而且系統(tǒng)本身可不斷地?cái)U(kuò)充和完善。AutoCAD成為全球二維CAD的標(biāo)準(zhǔn),它不但具有開(kāi)放的體系結(jié)構(gòu),而其還允許用戶和開(kāi)發(fā)者采用高級(jí)編程語(yǔ)言對(duì)其進(jìn)行擴(kuò)充和修改,即二次開(kāi)發(fā)。二次開(kāi)發(fā)能最大限度地滿足用戶的特殊要求,它可以根據(jù)客戶的特殊用途進(jìn)行軟件的客戶化定制,從而能夠大大縮短制圖的時(shí)間,還是一種有效的提高正確性的途徑。
二、建筑制圖CAD二次開(kāi)發(fā)的主要內(nèi)容
建筑制圖中要經(jīng)常使用很多標(biāo)準(zhǔn)和圖庫(kù)。不同國(guó)家不同公司都有自己的制圖規(guī)定和標(biāo)準(zhǔn)。通常使用的AutoCAD不可能涵蓋全部。這樣對(duì)于制圖人員,如果使用沒(méi)有二次的CAD,需要進(jìn)行大量的初始設(shè)置和標(biāo)準(zhǔn)建立,浪費(fèi)大量的時(shí)間,而且極易產(chǎn)生錯(cuò)誤。針對(duì)這些問(wèn)題,使用者利用軟件本身的開(kāi)放結(jié)構(gòu),對(duì)CAD進(jìn)行二次開(kāi)發(fā),其主要內(nèi)容包括:①用戶自己編寫(xiě)各種自定義函數(shù),形成若干LISP、ARX、VLX或ADS等文件。②建立便于建筑制圖使用者自身要求的菜單文件,簡(jiǎn)單的做法就是在AutoCAD原菜單文件內(nèi)添加自己的內(nèi)容,然后通過(guò)調(diào)用的方式加入到系統(tǒng)中去,便于使用。③在系統(tǒng)的ACAD.LSP或類(lèi)似文件中加入使用者自己的程序以便進(jìn)行各種初始化操作,在啟動(dòng)時(shí)自動(dòng)裝入一些文件等。④設(shè)置某些路徑。這些操作在程序開(kāi)發(fā)成功后向其它AutoCAD系統(tǒng)上安裝應(yīng)用,特別是需要大批安裝時(shí),需要進(jìn)行很多文件檢索、內(nèi)容增刪、子目錄創(chuàng)建、文件拷貝、系統(tǒng)設(shè)置等繁瑣工作,令上述工作全部自動(dòng)進(jìn)行,使整個(gè)二次開(kāi)發(fā)程序在每次使用Auto CAD情況下自動(dòng)嵌入系統(tǒng)。
三、建筑制圖CAD二次開(kāi)發(fā)的手段
既然二次開(kāi)發(fā)是非常必要的,如何進(jìn)行有效的開(kāi)發(fā)就成為使用者主要考慮的問(wèn)題。針對(duì)不同的使用情況,采用不同的二次開(kāi)發(fā)手段。以下總結(jié)了三種常用的CAD二次開(kāi)發(fā)手段,根據(jù)實(shí)際情況采用:
(1)通過(guò)標(biāo)準(zhǔn)庫(kù)文件,改造或建立建筑制圖的標(biāo)準(zhǔn)庫(kù)文件。通過(guò)定制修改屏幕、對(duì)話框及下拉選單,定制修改標(biāo)準(zhǔn)建筑模塊形或繪圖符號(hào)、線型和陰影圖案等。
(2)與其它軟件之間的數(shù)據(jù)交換。如使用圖形交換文件進(jìn)行交換;利用剪貼板進(jìn)行靜態(tài)數(shù)據(jù)傳遞及存儲(chǔ)等。
(3)使用Auto LISP、ADS、APR 及VBA等進(jìn)行編程,這是二次開(kāi)發(fā)的主要內(nèi)容。Auto CAD共提供了4種不同層次的開(kāi)發(fā)工具:①Auto LISP程序設(shè)計(jì)語(yǔ)言是一種用于Auto CAD環(huán)境的解釋語(yǔ)言。由于其語(yǔ)法靈活、簡(jiǎn)潔,表達(dá)能力強(qiáng),非常容易掌握。大多數(shù)開(kāi)發(fā)人員都是用Auto LISP進(jìn)入開(kāi)發(fā)的。還有如Auto LISP內(nèi)置于Auto CAD中,與Auto CAD通信簡(jiǎn)便。同時(shí),在編制大系統(tǒng)中,可以將一個(gè)大系統(tǒng)分成若干個(gè)模塊,利用Auto CAD中函數(shù)實(shí)現(xiàn)相應(yīng)的功能,并在函數(shù)之間相互調(diào)用,通過(guò)主程序加以控制。因此,完全勝任大系統(tǒng)的編程要求。②ADS開(kāi)發(fā)系統(tǒng).ADS是Auto CAD提供的基于C語(yǔ)言開(kāi)發(fā)應(yīng)用程序的系統(tǒng)。它對(duì)開(kāi)發(fā)人員的C語(yǔ)言要求較高,ADS作為一組Auto LISP外部函數(shù)由Auto LISP解釋器裝入、解釋并請(qǐng)求Auto CAD運(yùn)行。由于ADS程序必須通過(guò)Auto LISP解釋加載,所以,ADS各方面使用性能相應(yīng)受到限制,同時(shí),隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,面向過(guò)程的ADS已經(jīng)有些力不從心了。越來(lái)越少的開(kāi)發(fā)人員使用這種手段。③ARX開(kāi)發(fā)環(huán)境.面向?qū)ο蟮木幊汰h(huán)境ARX在編寫(xiě)應(yīng)用程序時(shí)不需經(jīng)過(guò)Auto LISP解釋加載,它可和Auto CAD進(jìn)行共享地址空間并擁有同一線程,這使ARX編寫(xiě)的命令與Auto CAD中的Line、Circle等命令處于同一級(jí)別,顯然要比Auto LISP、ADS方式得到更快響應(yīng),同時(shí)ARX程序一經(jīng)注冊(cè),即被添加到Auto CAD原始命令集中,成為Auto CAD命令集的一部分。④利用VBA組件進(jìn)行開(kāi)發(fā)。這使得開(kāi)發(fā)者對(duì)于Auto CAD系統(tǒng)內(nèi)部的模塊的替換和添加成為可能。但這必須建立在開(kāi)發(fā)者對(duì)于VBA熟悉,把Auto CAD中的實(shí)體作為對(duì)象,對(duì)這些實(shí)體的操作作為方法,編制處理過(guò)程或宏命令。這一開(kāi)發(fā)手段,使得開(kāi)發(fā)者能進(jìn)入至Auto CAD內(nèi)部進(jìn)行用戶化處理。這樣Auto CAD向可用戶化邁進(jìn)一步。
四、建筑制圖CAD二次開(kāi)發(fā)的形式
根據(jù)Auto CAD提供的開(kāi)發(fā)手段,最常用的Auto CAD開(kāi)發(fā)形式有參數(shù)化CAD、成組CAD、交互式CAD和智能化CAD四種主要形式:
1.參數(shù)化CAD
參數(shù)化CAD應(yīng)用軟件主要用于標(biāo)準(zhǔn)化;系列化和通用化程度比較高的定型產(chǎn)品。輸入建筑制圖的主要參數(shù),通過(guò)計(jì)算機(jī)量規(guī)的數(shù)據(jù)庫(kù)中的數(shù)據(jù),進(jìn)行必要的計(jì)算,將查詢或計(jì)算得到的數(shù)據(jù),在標(biāo)準(zhǔn)圖樣上進(jìn)行變量代換,實(shí)現(xiàn)參數(shù)化繪圖,最后生成符合要求的圖樣??梢?jiàn),這類(lèi)軟件使用時(shí)效率較高,但由于專(zhuān)業(yè)性較強(qiáng),使其推廣受到限制。因此,它適于企業(yè)技術(shù)人員自行進(jìn)行開(kāi)發(fā)。
2.成組CAD
成組CAD應(yīng)用軟件利用成組技術(shù)原理,將需要設(shè)計(jì)的零件特征編碼與源設(shè)計(jì)編碼相比較,通過(guò)屏幕提示,決定對(duì)源設(shè)計(jì)零件直接引用或進(jìn)行修改。但是,由于成組CAD是針對(duì)某一類(lèi)或一系列產(chǎn)品進(jìn)行開(kāi)發(fā),所以應(yīng)用的廣泛性受到了一定程度上的約束。
3.交互式CAD
交互式CAD應(yīng)用軟件由于利用人機(jī)交互的方式進(jìn)行設(shè)計(jì),模擬了制圖人員的制圖過(guò)程。利用Auto CAD中菜單的定制及制圖人機(jī)交互的對(duì)話框等,從而滿足在制圖時(shí)人機(jī)交互的需要。交互式CAD具有應(yīng)用廣泛性、使用靈活性、設(shè)計(jì)對(duì)象的適應(yīng)性等特性,但對(duì)于開(kāi)發(fā)人員的設(shè)計(jì)水平要求較高。
4.智能化CAD
智能化CAD就是將人工智能技術(shù)與CAD技術(shù)融為一體的專(zhuān)家系統(tǒng)。系統(tǒng)的更高的創(chuàng)造性思維活動(dòng)層次上給予人員有效的輔助,是真正意義上的計(jì)算機(jī)輔助設(shè)計(jì)。如專(zhuān)家系統(tǒng)技術(shù)的引入,可引進(jìn)專(zhuān)家設(shè)計(jì)的思路,提供設(shè)計(jì)方案的選擇,最終能夠模擬專(zhuān)家設(shè)計(jì)過(guò)程,根據(jù)設(shè)計(jì)中的問(wèn)題提出合理的解決方案。顯然,采用智能化CAD的專(zhuān)家設(shè)計(jì)系統(tǒng)也可能使一般的設(shè)計(jì)人員做出專(zhuān)家級(jí)水平的設(shè)計(jì)來(lái)。
五、結(jié)論
從各方面分析來(lái)看,Auto LISP仍然是Auto CAD的基本開(kāi)發(fā)手段。ADS將逐步被更為完善的ARX所取代。VBA則成為Auto CAD用戶二次開(kāi)發(fā)的另一支生產(chǎn)軍。Auto CAD提供的開(kāi)發(fā)手段讓各類(lèi)開(kāi)發(fā)者都能有適合于自己的開(kāi)發(fā)工具。CAD的二次開(kāi)發(fā)給建筑制圖帶來(lái)了革命性的進(jìn)步,不僅大幅度的減少了作圖時(shí)間,減輕制圖者的負(fù)擔(dān),而且作圖的質(zhì)量也得到了保證。未來(lái)建筑CAD二次開(kāi)發(fā)必將得到更廣泛的應(yīng)用。
參考文獻(xiàn):
[1]李琛??;建筑CAD基礎(chǔ)與應(yīng)用.北京:機(jī)械工業(yè)出版社,2010.9.
[2]耿國(guó)強(qiáng),張紅松,胡仁喜,等.AutoCAD2010 中文版入門(mén)與提高.北京:化工出版社,2009.
[3]張同偉,土木工程CAD.機(jī)械工業(yè)出版社,2008.