zixun
山東茂隆新材料科技有限公司 2020-11-11 3243
Abstract: The integral program and method for CAD drawing and calculation in water engineering are discussed and an ADS developing system and working process are presented. A practical example of ADS for hydraulic calculation and drawing of schematic circuit are shown in this paper on the basis of a building water and drainage design.
目前國內已有十幾家單位相繼推出了在AutoCAD基礎上開發(fā)的給排水設計軟件包,但熟悉和掌握作為通用圖形平臺的AutoCAD,仍是每個應用計算機進行設計的人員的基本技能。而且,由于現有的軟件包不一定符合用戶的設計習慣,其計算功能也偏于簡單,以至于不能滿足給排水專業(yè)設計的特定要求,致使多數設計人員重新回到 AutoCAD平臺。因此,我們需要開發(fā)符合設計習慣的計算繪圖一體化程序。
1、給排CAD的特點
用AutoCAD從事給排水工程設計,在繪圖方面其應用一般是復制條件圖、繪制工藝圖等,本專業(yè)重復繪圖相對較少。從計算上看除個別情況外,通常計算簡捷而成熟,手冊眾多、計算無處不有。諸如各種水量、流量計算,給排水管線水力計算,水箱、水池容積計算,管網平差計算等,經驗數據大量用于設計,而專門的計算程序所得結果數據亦難以直接用于繪圖。由此可知在設計中引入CAD,把計算融入繪圖應是給排水專業(yè)計算機應用的方向之一。
2、給排CAD計算繪圖一體化程序
計算繪圖一體化的主導思想在于交叉進行計算與繪圖,提高自動化程度,提高計算的精度與速度,避免數據的重復輸入,提高設計效率。在CAD平臺上自動提取計算數據,用戶參與意見將計算結果直接用于繪圖、標注或再計算。若將要解決的某個問題作為一個單元模塊,分步編程、集成應用,可提高程序的實用性、適應性、靈活性。
給排CAD計算繪圖一體化的實現有賴于給排水專業(yè)人員和計算機人員的進一步協(xié)作,選擇合適的高級語言、采用適當的程序結構、正確的計算方法,運用數據共享和通訊技術,經過長期實踐才能完成。實現圖1所示的計算繪圖一體化功能,應把設計任務模塊從上到下細分,以一個設計任務為單元編程,在特定的語言環(huán)境中經編輯、編譯、調試等步驟來完成計算繪圖一體化程序的設計。
3、實現方法
3.1 開發(fā)環(huán)境AutoCAD中常用二次開發(fā)的AutoLISP應用語言是一種解釋性語言。因圖形處理功能強而備受使用者歡迎,不足之處是當圖形內容多、計算量大時處理速度慢。為提高計算速度與精度宜選擇ADS( AutoCAD Development System)開發(fā)系統(tǒng)、ARX(AutoCAD Runtime eXtension)開發(fā)環(huán)境或與DXF(Drawing eXchange Format)進行交換的其它高級語言。其中ADS是AutoCAD的C語言環(huán)境,既能充分利用C語言固有的強大功能,又向開發(fā)者提供了豐富的應用程序接口例程,功
在底基層鋪設塑料夾層排水板能夠防止底基細料進入地基層(也就是起到隔離作用)。骨料基層會在有限程度內進入土工網的上層部分。這樣,復合土工排水網還有一種潛在的限制骨料基層橫向移動的作用,在這個方式上,它的作用類似于土工格柵的加固作用。一般來說,復合土工排水網的抗拉強度和剛性優(yōu)于許多用于地基加固的土工格柵,這種限制作用將提高地基的支撐能力。
能完整、接口簡單、效率高、速度快、便于多模塊組合。用ADS開發(fā)的應用程序在R11以上的版本運行即可,與AutoCAD 13.0版本以上提供的ARX具有相同的開發(fā)環(huán)境(使用C語言環(huán)境編程)。故ADS程序具有較好的移植性、延續(xù)性、通用性。3.2 ADS程序的組成及工作流程ADS程序除輸入輸出語句外與C語言程序類似,而圖形處理功能部分與AutoLISP語言相關。由于它并非最低層代碼,必須由AutoLISP解釋器加載,因此一個完整的ADS應用程序除包含用戶為解決某個問題而設計外部函數外,還必須能支持并且使用ADS環(huán)境所定義的與AutoLISP的接口程序。
由main函數調用系統(tǒng)提供的ads_init函數初始化ADS和AutoLISP的界面,并通過新建立的通訊鏈用 ads_link通知 AutoLISP準備接受調用請求。當收到函數定義請求碼(RQXLOAD)時,ADS用ads_defun函數定義自己的外部函數;若收到函數調用請求碼(RQSUBR),則執(zhí)行某個已加載的外部函數。其中RSRSLT表示接收、處理AutoLISP請求;RSERR表示ADS程序出錯。
外部函數是ADS應用程序自己定義的可在命令行執(zhí)行或被AutoLISP調用的函數,一旦完成應用程序的裝載,執(zhí)行ADS程序就像執(zhí)行AutoLISP程序一樣。如把圖1中設計任務模塊細分后定義成一個外部函數,通過外部函數調用設計依據、計算、繪圖等模塊函數來實現多模塊的集成應用。因此外部函數是用戶編程的主要內容,而接口程序是定制ADS應用程序的基本平臺。
4、程序舉例
以建筑給水系統(tǒng)水力計算為例:輸入給水當量即得設計秒流量;選定管材、管徑,便可計算流速、校驗結果。若符合設計要求可按圖形提取管長,計算沿程水頭損失,并將計算結果賦給對應管段,為系統(tǒng)圖的繪制及標注作好準備;然后計算局部水頭損失,最后輸入高差及流出水頭等得系統(tǒng)所需水壓總值。為此編寫的ADS源程序名為SLJS.C(程序略)。由外部函數SLSJ()有序地調用設計依據確定、計算管徑的尋找、計算、繪圖、標注以及管網類型選擇等不同功能的模塊函數,完成實例中計算、繪圖一體化設計,具體如下:1.編譯:將程序SLJS.C拷貝至AutoCAD環(huán)境ADS目錄下,用W90SAMP.BAT編譯產生SLJS.EXP文件或用Borland C編譯產生可執(zhí)行文件 SLJS.EXE. 2.裝載:與裝載AutoLISP程序一樣,有2種方法。
(1)修改AutoCAD的標準菜單文件ACAD.MNU,使其置于AutoCAD的下拉式菜單或屏幕菜單中執(zhí)行;也可放入用戶自制的實用菜單內執(zhí)行,如圖1中建筑給排水生活、生產給水設計的子菜單。
?。?)在Command:行,用格式為(XLOAD “SJLS.EXP”)的命令載入。
3.執(zhí)行及結果:點取菜單或執(zhí)行SJLS命令,繪制某住宅樓給水系統(tǒng)圖并計算該系統(tǒng)所需壓力值。該住宅樓有8層,共32戶用水,每戶給水當量為4,共4根給水立管。其中設計秒流量公式中的系數α=1.02、k=0.0 045,管長及高差.用該程序完成最不利主干管的繪制與標注(SL-1立管上點①與供水點②之間的管路),同時計算得所需水壓349kPa(34.892m H2O)。支管標記在繪制主干管時作為圖塊插入,其余部分由AutoCAD命令編輯而得,見圖3.也可用此程序對成圖后的給水系統(tǒng)進行計算或標注。若將計算結果按表格方式輸出即得計算書,對復雜管道系統(tǒng)的水力計算,只需將以前的計算結果作為下次計算的基礎數據便可分步完成全部的計算與繪圖,但應進一步擴充和完善程序。