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