基于ACAD平臺的給排水制圖程序_第1頁
基于ACAD平臺的給排水制圖程序_第2頁
基于ACAD平臺的給排水制圖程序_第3頁
基于ACAD平臺的給排水制圖程序_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 06-03-14 16:57:00 作者:張顯如1,毋建軍2,編輯:studa9ngns摘要:目前,專業(yè)給排水設(shè)計軟件包很多,但在具體使用過程中,會遇到設(shè)計習(xí)慣不同、使用煩瑣等問題。筆者在AUTOCAD平臺上,用LISP語言編寫了一系列程序,大大簡化了設(shè)計、制圖,并且提高了出圖效率和設(shè)計的準(zhǔn)確性。 關(guān)鍵詞:計算機繪圖 程序 給排水設(shè)計 目前,幾乎所有的設(shè)計院都配備了給排水設(shè)計軟件包,但是設(shè)計人員在使用軟件過程中,常常會遇到諸多不便之處。如建筑外框不認,初始化數(shù)據(jù)輸入不直觀,數(shù)據(jù)輸入不當(dāng)時出錯,修改不便等等。設(shè)計人員或是用鼠標(biāo)代筆,或是用AutoCAD“硬畫”。這種方式出圖效率很低,而且圖面質(zhì)

2、量難以保證。 程序設(shè)計目的 針對上述軟件包使用不便或適應(yīng)性不強等問題,筆者幾年來在這一方面做了一些探索,用AutoLisp成功地開發(fā)一套比較完善且易學(xué)實用的系列化小程序。此程序的特點在于遵循傳統(tǒng)繪圖習(xí)慣,進行平面化設(shè)計的思路,按照傳統(tǒng)繪圖方式,靈活運用各個程序段,加強人機對話,力求機器的自動生成。 2主要程序介紹 本程序組中包含程序段40余條,分為工具類與專業(yè)類,其中主要程序段有: TKLSPTKDCL:圖庫管理程序。 XXLSP:由平面圖生成系統(tǒng)圖程序(原圖)。 GGLSP:標(biāo)注給水管道管徑并進行分層處理程序。 PG.LSP:標(biāo)注排水管道管徑并進行分層處理程序。 GBLSP:對給水管管徑及管

3、段長度計算統(tǒng)計程序。 PBLSP:對排水管管徑及管段長度計算統(tǒng)計程序。 ZTLSP:對總體排水管道管徑及管段長度進行計算并標(biāo)注程序。 GDPMLSP:自動生成排水管道剖面并同時標(biāo)注程序。 GCLLSP:對給排水工程量對照定額進行工程概算程序。 DELSP:調(diào)出事先輸入的定額程序。 LBLSP:對給排水管管徑及管段長度并進行列表處理程序。 3使用方法 本程序是依托建筑或其他專業(yè)提供的平面圖,按傳統(tǒng)手工制圖的方法與步驟進行平面設(shè)計。筆者把給排水的圖元分為直線,多義線,圖塊(帶屬性),文字等等。 設(shè)計人員在繪制給水平面圖時。用PLINE線繪制水平管,繪制給水立管時插入一個帶有立管高度屬性的圖塊 。排

4、水平面圖的繪制方法與給水相同。繪制其它給排水附件如衛(wèi)生設(shè)備、閥門、消火栓、水嘴等附件均采用不同圖塊表達,這種作圖方式直觀、簡捷、明快。在各層圖面線條完成后,應(yīng)用GGLSP、PGLSP程序標(biāo)注其管徑。在標(biāo)注管徑的時候,程序?qū)Υ诉M行分層分類管理。配合CAD將各層平面設(shè)計完成并確認無誤后,把各層另存為相應(yīng)各層系統(tǒng)圖圖名,此時設(shè)計人員可將用圖塊表達的系統(tǒng)圖圖元如:水嘴、存水彎、消火栓、甚至標(biāo)準(zhǔn)化的系統(tǒng)圖元等插入圖中,并將各管段安裝高度給出。確認無誤后,用XXLSP程序?qū)⒋藞D進行圖形處理。使之成為具有透視效果的系統(tǒng)透視圖,再用JLLSP程序?qū)⒆髌矫鎴D時輸入的立管高度屬性取出,并繪制成給水立管,將此圖適當(dāng)

5、處理后,最后把各層系統(tǒng)圖組合起來便成為給水透視圖。 繪制排水系統(tǒng)圖時,先用程序生成排水立管,在各排水點插入各種存水彎、排水栓等,再用XXLSP程序?qū)⑵矫鎴D進行圖形處理,使之成為具有透視效果的系統(tǒng)透視圖,最后把各層支管與立管聯(lián)接好,排水系統(tǒng)圖就形成了。 最后,再用CSD命令對圖面進行美化,由于采用程序繪制的圖元是由PLINE,BLOCK等組成,且是分層,分類放置的。據(jù)此,可用LBLSP程序中有關(guān)命令,取出圖中的類、層、塊、點、線等特性,進行歸類、計算、列表并生成一個主要材料表,自動列于圖中。如果調(diào)出事先輸入的定額,給出工程特征參數(shù),就可用KSLSP程序中有關(guān)命令,計算出一個概算表。材料表、概算表

6、都能自動生成。至于給水總圖的繪制,給水圖可類似繪出。排水總圖繪制水比較復(fù)雜。ZTLSP程序中包含了各管段的計算、繪制及標(biāo)注等工具,并可自動生成管道剖面。其程序可節(jié)省繪圖時間50。本系列程序如果加載于其他成功 06-03-14 16:57:00 作者:張顯如1,毋建軍2,編輯:studa9ngns軟件包之上,功效更加明顯。 4 程序舉例 限于篇幅,這里僅列其中之一以供同行們參考。 ;本程序?qū)LKINE,BLOCK,TEXT等圖元分別進 ;行旋轉(zhuǎn)與平移處理,達到平面圖形的透視效 ;果。程序?qū)INE,DIM,SOLID等圖元進行刪 ;除。 (defun c:xx(/xxy k1 k2 k3 st

7、n) (setq ss(ssget)ang(/pi4);選擇需要進行旋轉(zhuǎn)與平移處理的對象(實體) (setqy (cadr(nth1 (entseln 選擇水平線) ;Y用戶選擇的旋轉(zhuǎn)基準(zhǔn)線 (setq e(ssnamess 0)n0) (setq k1(lista)k2(listb)k3(listc) ;初始化k1k2k3放置實 ;體名的列表,并設(shè)“a”“b”“c”為結(jié)束標(biāo)記 (while e ;while 語句開始,對所選項實體進行旋分類處理 (setq st(cdr(assoc 0(entget e) (if (=stLWPOL YLINE)(setq k2 (cons e k2);if

8、 語句開始 (if (or(=stCILCLE)(=STinsert)(=stTEXT);if 語句開始(setq k1(cons e k1) (entdele) ); if 語句結(jié)束 ) ;if 語句結(jié)束(setq n( =1n)(setqe (ssname ss n ) ;while 語句結(jié)果 (setq n0) (if(/=(ntnk2)b)(setq 1(entget(nth n k2)(setq 1 nil)(while 1; while 語句開始 ;對所選項的PLINE線實體進行旋轉(zhuǎn)處理,角度45度(if(/=(cdr(assoc 0 (entget(nth nk2)ABC) ;i

9、f語句開始對復(fù)合弧線不處理 (progn(setq z(cdr(assoc381) p1(assoc 10 1)la (cdr(assoc 8 1) m(-(length 1)(length(member p11) p2(cdr(nth(+m4)1)p1(cdrp1);p1 起點坐標(biāo),p2終點坐標(biāo) (setqx1(carp1)x2(car p2)y1(cadrp1) y2(cadr p2)dy1(-y1y)dy2(-y2y) (setq p3 (list(+x1(*(cos ang )dy1)(+y1z(*(-(sin ang)1)dy1) p4(list(+x2(*(cos ang)dy2)

10、(=y2z(*(-(sin ang)1)dy2) (setq 1(subst(cons 380.0)(assoc 381)1) ;修改高度信息 1(subst(cons 10p3)(nth m 1)1) ;修改起點坐標(biāo)信息 1(subst(cons 10p4)(mth m4)1)1) ;修改終點坐標(biāo)信息 (entmod 1) );if語句結(jié)束(setqn( =1n) (if(/=(nthnk2)b)(setq1 (entget(nth n k2)(setq 1 nil);while語句結(jié)束 (setq n0) (if(/=(nt n k1)a)(setq 1(entget(nthn k1)(s

11、etq 1 nil) while 1 ;while語句開始,對所選的 ;TEXT、BLOCK、ATTRIBUTE等實 ;體進行旋轉(zhuǎn)及平移處理,角度 ;45度 if(=nil(assoc 111)(setq p1(cdr(assoc 101 ) ;if 語句開始 (if(=0.0(nth 1(assoc 1 1 1)(setq p1(cdr(assoc 101);if 語句開始 (setq p1(cdr(assoc111) );if 語句結(jié)束,本語句對文字對齊方式的判斷,并提取高度和插入點信息 );if 語句結(jié)束,本語句對是否為文字的判斷,并提取高度和插入點信息 (setq x1(carp1)y1(cadrp1)z(nth 2p1) (setq dy 1(-y1y) (setq p3(list(=x1(*( cos ang)dy1)(=y1z(*(-(sin ang)1) (if (=nil(assoc 111);if 語句開始 (progn(setq 1(subst(cons 10 p3)(assoc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論