閱讀 3000 次 淺談小區(qū)給排水CAD系統(tǒng)的開發(fā)與應(yīng)用
淺談小區(qū)給排水CAD系統(tǒng)的開發(fā)與應(yīng)用
賀超 李麗
鄭州市市政勘測設(shè)計(jì)研究院
針對(duì)小區(qū)給排水計(jì)算機(jī)輔助設(shè)計(jì)的需要,本人開發(fā)了一套小區(qū)給排水CAD軟件。該軟件以AutoCAD為平臺(tái),主要采用Autolisp語言編寫,具有實(shí)用、方便、靈活的特點(diǎn),能夠顯著高小區(qū)給排水設(shè)計(jì)的效率。在這里談?wù)勗陂_發(fā)該軟件時(shí)的思路和經(jīng)驗(yàn)。
1、繪制管段、檢查井
管段由設(shè)計(jì)者根據(jù)自己的設(shè)計(jì)意圖繪制,軟件要求繪制的管段以“LINE”圖元表示。軟件提供的命令讓設(shè)計(jì)者選擇代表設(shè)計(jì)管段的“LINE”圖元,然后由程序把這些圖元轉(zhuǎn)換到特殊的“設(shè)計(jì)管段”圖層,并且自動(dòng)將其轉(zhuǎn)換為特定的顏色以便明確地提示用戶:這些圖元已被定義為設(shè)計(jì)管段。圖面上有了由一系列首尾相連的直線組成的支狀管段,但程序還不知道這些管段的流水方向及起終點(diǎn),所以軟件提供了命令讓設(shè)計(jì)者選擇支狀設(shè)計(jì)管段的終點(diǎn),這樣程序就可據(jù)此由終點(diǎn)管段逐一向上游定義各設(shè)計(jì)管段的流水方向。軟件提供多種方式繪制檢查井。
2、確定各管段的管徑、坡度、標(biāo)高等參數(shù)
用戶可能希望軟件的智能可以達(dá)到確定管段的管徑、坡度、標(biāo)高等參數(shù)的程度。但這目前看來意義不大,因?yàn)楣芏螀?shù)的確定受很多因素和條件的影響。即使用戶把所有的因素和條件都輸入給軟件(這本身就是很大的工作量),面對(duì)不同的設(shè)計(jì)環(huán)境,不同的設(shè)計(jì)方案要求,軟件所給出的方案也往往不能符合設(shè)計(jì)者特殊的要求。所以這方面還要發(fā)揮設(shè)計(jì)者的創(chuàng)造力,而軟件的任務(wù)是把設(shè)計(jì)者確定的管段參數(shù)輸入,再由軟件處理。圖l所示的“管段編輯”對(duì)話框就是軟件提供的管段參數(shù)輸入界面,它能根據(jù)相鄰管段參數(shù)智能地分析計(jì)算當(dāng)前管段的參數(shù),給出缺省值。輸入管段參數(shù)后,軟件還可以檢查出交叉管段的間距是否滿足要求。
對(duì)于管段參數(shù)的存取,傳統(tǒng)的方法是把數(shù)據(jù)存人數(shù)據(jù)文件。而本軟件應(yīng)用了Autolisp擴(kuò)充實(shí)體數(shù)據(jù)功能。擴(kuò)充實(shí)體數(shù)據(jù)(xdata)是一種記錄特殊應(yīng)用目的信息的方法,它依附于圖形文件中特定的圖元(entity),是圖形文件內(nèi)部的數(shù)據(jù)。它的引入大大增強(qiáng)了AutoCAD開發(fā)的手段。
圖l
應(yīng)用這項(xiàng)技術(shù)后,圖面上表示管段的直線就不再是單純意義的一段直線圖元,它包含了該管段的各種參數(shù),包括管段類型、坡度、起止點(diǎn)樁號(hào)、標(biāo)高等,甚至可以包括管段的材質(zhì)、管壁厚、管壁粗糙系數(shù)、管內(nèi)水流速度、水流充滿度等,這樣就為軟件各種功能的實(shí)現(xiàn)奠定了基礎(chǔ)。
3、計(jì)算并標(biāo)注管段和檢查井參數(shù)
用傳統(tǒng)方法進(jìn)行小區(qū)給排水設(shè)計(jì),管段和檢查井參數(shù)的標(biāo)注占工作量的大部分。而在本軟件提供的環(huán)境中,這些只是點(diǎn)點(diǎn)鼠標(biāo)就可輕松完成的。用戶只需點(diǎn)選或框選需要標(biāo)注的管段和檢查井,程序就從管段和檢查井圖元中提取擴(kuò)充實(shí)體數(shù)據(jù),經(jīng)過計(jì)算處理,完成標(biāo)注。標(biāo)注后成圖效果見圖2。
(圖2)
4、統(tǒng)計(jì)工程量
設(shè)計(jì)的最后一步是統(tǒng)計(jì)工程量。因?yàn)槊總(gè)管段圖元和檢查井圖元中都包含記錄其規(guī)格的擴(kuò)充實(shí)體數(shù)據(jù),軟件就可以據(jù)此分別計(jì)算出不同管徑管段的長度、不同規(guī)格檢查井的個(gè)數(shù)。通過該軟件的開發(fā),積累了一些CAD開發(fā)的經(jīng)驗(yàn)和感受,在此粗淺地談幾點(diǎn):
(1)CAD軟件的開發(fā)前期的方案設(shè)計(jì)階段,首先必須考慮人和計(jì)算機(jī)各自的特點(diǎn),確定最佳的人一機(jī)功能分配,合理地組成一個(gè)高效能的CAD軟件。只有把設(shè)計(jì)者的創(chuàng)造力與計(jì)算機(jī)執(zhí)行重復(fù)工作的優(yōu)勢(shì)結(jié)合起來,才能開發(fā)出設(shè)計(jì)者認(rèn)可的實(shí)用的CAD軟件。
(2)開發(fā)者應(yīng)遵循良好的編程風(fēng)格,比如:
①因?yàn)槌绦蜻\(yùn)行過程中,可能會(huì)改變一些環(huán)境變量,所以在程序運(yùn)行結(jié)束時(shí),應(yīng)由該程序本身恢復(fù)運(yùn)行前的環(huán)境變量值,否則會(huì)擾亂用戶的繪圖環(huán)境設(shè)置。
②對(duì)用戶的輸入要進(jìn)行有效性驗(yàn)證,將錯(cuò)誤控制集成到程序中。因?yàn)槌绦蛳到y(tǒng)越大,功能越復(fù)雜,其遇到錯(cuò)誤時(shí)崩潰地也就越強(qiáng)烈。
③雖然使用內(nèi)存幾乎是沒有限制的,但有效的內(nèi)存使用會(huì)提高程序執(zhí)行效率。好的習(xí)慣包括:對(duì)遞歸操作使用LAMBDA,降低遞歸操作對(duì)堆?臻g的要求;只要可能就使用局部變量;當(dāng)不需要時(shí),重置變量為空;限制變量或函數(shù)名字為六個(gè)字母或更少。
④在程序文件中要多加注釋,為編程者自己或開發(fā)同伴的閱讀和調(diào)試提供方便。
(3)要為用戶的人機(jī)交互提供盡可能友好的界面。一方面,要利用清晰和準(zhǔn)確的提示、菜單名稱、幫助屏幕讓用戶知道下面要發(fā)生什么,用GRTEXT顯示程序狀態(tài);另一方面,盡可能為用戶的輸入提供對(duì)話框。雖然引入對(duì)話框會(huì)大大增加程序的復(fù)雜性,但它提高了軟件的專業(yè)化程度和使用效率,縮短了用戶與軟件之間的距離,使用戶更愿意接受。
(4)擴(kuò)充實(shí)體數(shù)據(jù)Xdate給AutoCAD應(yīng)用程序的開發(fā)提供了起所未有的威力。這是本人在CAD開發(fā)中經(jīng)常使用的功能。正如前面所述,在軟件的平面圖模塊中,向圖形文件的直線圖元中加入Xdate,包括管段類型、坡度、起止點(diǎn)樁號(hào)、標(biāo)高、管段的材質(zhì)、管壁厚、管內(nèi)水流速度、水流充滿度等,這些簡單的直線圖元就被模擬成生動(dòng)的工程管道實(shí)體。這樣就為軟件的智能化奠定了基礎(chǔ)。
CAD軟件的開發(fā)是實(shí)踐性很強(qiáng)的工作,需要付出大量辛勤的勞動(dòng)。如果開發(fā)者以正確的理論為指導(dǎo),吸取前人先進(jìn)的開發(fā)經(jīng)驗(yàn),就能事半功倍、少走彎路。筆者在此發(fā)表一些淺見,希望能對(duì)讀者有所幫助。
參考文獻(xiàn)
[1]李靜文安靜.建筑給水排水工程CAD。中國建筑工業(yè)出版社,1999
[2]Rusty Gesner&Joseph Smith.Maximizing AutoLISE New Riders Publishin9.1 992
[3]趙景亮.AutoCAD 2004與AutoLISP二次開發(fā)技術(shù).北京:清華大學(xué)出版社,2004.Ol
(本文來源:陜西省土木建筑學(xué)會(huì) 文徑網(wǎng)絡(luò):溫紅娟 劉紅娟 尹維維 編輯 文徑 審核)
上一篇: 淺談古人防火意識(shí)及防范措施 |
下一篇: 重視建筑電氣施工中的技術(shù)變更 |