在线观看av毛片亚洲_伊人久久大香线蕉成人综合网_一级片黄色视频播放_日韩免费86av网址_亚洲av理论在线电影网_一区二区国产免费高清在线观看视频_亚洲国产精品久久99人人更爽_精品少妇人妻久久免费

首頁 > 文章中心 > 正文

鑒于ACAD給排水制圖過程

前言:本站為你精心整理了鑒于ACAD給排水制圖過程范文,希望能為你的創(chuàng)作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。

鑒于ACAD給排水制圖過程

摘要:目前,專業(yè)給排水設(shè)計軟件包很多,但在具體使用過程中,會遇到設(shè)計習(xí)慣不同、使用煩瑣等問題。筆者在AUTOCAD平臺上,用LISP語言編寫了一系列程序,大大簡化了設(shè)計、制圖,并且提高了出圖效率和設(shè)計的準(zhǔn)確性。

關(guān)鍵詞:計算機繪圖程序給排水設(shè)計

目前,幾乎所有的設(shè)計院都配備了給排水設(shè)計軟件包,但是設(shè)計人員在使用軟件過程中,常常會遇到諸多不便之處。如建筑外框不認(rèn),初始化數(shù)據(jù)輸入不直觀,數(shù)據(jù)輸入不當(dāng)時出錯,修改不便等等。設(shè)計人員或是用鼠標(biāo),或是用AutoCAD“硬畫”。這種方式出圖效率很低,而且圖面質(zhì)量難以保證。

1程序設(shè)計目的

針對上述軟件包使用不便或適應(yīng)性不強等問題,筆者幾年來在這一方面做了一些探索,用AutoLisp成功地開發(fā)一套比較完善且易學(xué)實用的系列化小程序。此程序的特點在于遵循傳統(tǒng)繪圖習(xí)慣,進(jìn)行平面化設(shè)計的思路,按照傳統(tǒng)繪圖方式,靈活運用各個程序段,加強人機對話,力求機器的自動生成。

2主要程序介紹

本程序組中包含程序段40余條,分為工具類與專業(yè)類,其中主要程序段有:

TK•LSP&TK•DCL:圖庫管理程序。

XX•LSP:由平面圖生成系統(tǒng)圖程序(原圖)。

GG•LSP:標(biāo)注給水管道管徑并進(jìn)行分層處理程序。

PG.LSP:標(biāo)注排水管道管徑并進(jìn)行分層處理程序。

GB•LSP:對給水管管徑及管段長度計算統(tǒng)計程序。

PB•LSP:對排水管管徑及管段長度計算統(tǒng)計程序。

ZT•LSP:對總體排水管道管徑及管段長度進(jìn)行計算并標(biāo)注程序。

GDPM•LSP:自動生成排水管道剖面并同時標(biāo)注程序。

GCL•LSP:對給排水工程量對照定額進(jìn)行工程概算程序。

DE•LSP:調(diào)出事先輸入的定額程序。

LB•LSP:對給排水管管徑及管段長度并進(jìn)行列表處理程序。

3使用方法

本程序是依托建筑或其他專業(yè)提供的平面圖,按傳統(tǒng)手工制圖的方法與步驟進(jìn)行平面設(shè)計。筆者把給排水的圖元分為直線,多義線,圖塊(帶屬性),文字等等。

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

繪制排水系統(tǒng)圖時,先用LG•LSP程序生成排水立管,在各排水點插入各種存水彎、排水栓等,再用XX•LSP程序?qū)⑵矫鎴D進(jìn)行圖形處理,使之成為具有透視效果的系統(tǒng)透視圖,最后把各層支管與立管聯(lián)接好,排水系統(tǒng)圖就形成了。

最后,再用CSD命令對圖面進(jìn)行美化,由于采用程序繪制的圖元是由PLINE,BLOCK等組成,且是分層,分類放置的。據(jù)此,可用LB•LSP程序中有關(guān)命令,取出圖中的類、層、塊、點、線等特性,進(jìn)行歸類、計算、列表并生成一個主要材料表,自動列于圖中。如果調(diào)出事先輸入的定額,給出工程特征參數(shù),就可用KS•LSP程序中有關(guān)命令,計算出一個概算表。材料表、概算表都能自動生成。至于給水總圖的繪制,給水圖可類似繪出。排水總圖繪制水比較復(fù)雜。ZT•LSP程序中包含了各管段的計算、繪制及標(biāo)注等工具,并可自動生成管道剖面。其程序可節(jié)省繪圖時間50%。本系列程序如果加載于其他成功軟件包之上,功效更加明顯。

4程序舉例

限于篇幅,這里僅列其中之一以供同行們參考。

;本程序?qū)LKINE,BLOCK,TEXT等圖元分別進(jìn)

;行旋轉(zhuǎn)與平移處理,達(dá)到平面圖形的透視效

;果。程序?qū)INE,DIM,SOLID等圖元進(jìn)行刪

;除。

(defunc:xx(/xxyk1k2k3stn)

(setqss(ssget)ang(/pi4);選擇需要進(jìn)行旋轉(zhuǎn)與平移處理的對象(實體)

(setqy(cadr(nth1(entsel″\\\\n選擇水平線″))))

;Y用戶選擇的旋轉(zhuǎn)基準(zhǔn)線

(setqe(ssnamess0)n0)

(setqk1(list″a″)k2(list″b″)k3(list″c″))

;初始化k1k2k3放置實

;體名的列表,并設(shè)“a”“b”“c”為結(jié)束標(biāo)記

(whilee

;while語句開始,對所選項實體進(jìn)行旋分類處理

(setqst(cdr(assoc0(entgete))))

(if(=st″LWPOLYLINE″)(setqk2(consek2))

;if語句開始

(if(or(=st″CILCLE″)(=ST″insert\")(=st\"TEXT);if語句開始

(setqk1(consek1))

(entdele)

);if語句結(jié)束

);if語句結(jié)束

(setqn(=1n))

(setqe(ssnamessn))

);while語句結(jié)果

(setqn0)

(if(/=(ntnk2)″b″)(setq1(entget(nthnk2))(setq1nil))

(while1;while語句開始

;對所選項的PLINE線實體進(jìn)行旋轉(zhuǎn)處理,角度45度

(if(/=(cdr(assoc0(entget(nthnk2))))\"ABC\")

;if語句開始對復(fù)合弧線不處理

(progn(setqz(cdr(assoc381)))

p1(assoc101)la(cdr(assoc81))

m(-(length1)(length(memberp11)))

p2(cdr(nth(+m4)1))p1(cdrp1)

;p1起點坐標(biāo),p2終點坐標(biāo)

(setqx1(carp1)x2(carp2)y1(cadrp1)

y2(cadrp2)dy1(-y1y)dy2(-y2y))

(setqp3(list(+x1(*(cosang)dy1))(+y1z(*(-(sinang)1)dy1)))

p4(list(+x2(*(cosang)dy2))(=y2z(*(-(sinang)1)dy2))))

(setq1(subst(cons380.0)(assoc381)1)

;修改高度信息

1(subst(cons10p3)(nthm1)1)

;修改起點坐標(biāo)信息

1(subst(cons10p4)(mthm4)1)1))

;修改終點坐標(biāo)信息

(entmod1)

));if語句結(jié)束

(setqn(=1n))

(if(/=(nthnk2)″b″)(setq1(entget(nthnk2)))

(setq1nil))

);while語句結(jié)束

(setqn0)

(if(/=(ntnk1)″a″)(setq1(entget(nthnk1)))

(setq1nil))

while1;while語句開始,對所選的

;TEXT、BLOCK、ATTRIBUTE等實

;體進(jìn)行旋轉(zhuǎn)及平移處理,角度

;45度

if(=nil(assoc111))(setqp1(cdr(assoc101)))

;if語句開始

(if(=0.0(nth1(assoc111)))(setqp1(cdr

(assoc101)));if語句開始

(setqp1(cdr(assoc111)))

);if語句結(jié)束,本語句對文字對齊方式的判斷,并提取高度和插入點信息

);if語句結(jié)束,本語句對是否為文字的判斷,并提取高度和插入點信息

(setqx1(carp1)y1(cadrp1)z(nth2p1))

(setqdy1(-y1y)

(setqp3(list(=x1(*(cosang)dy1))(=y1z(*(-(sinang)1))))

(if(=nil(assoc111));if語句開始

(progn(setq1(subst(cons10p3)(assoc101)1))

(entmod1))

(if(=0.0(nth1(assoc111)));if語句開始

(progn(setq1(subst(cons10p3)(assoc101)1))

(entmod1)

);endofPROGN

(progn(setq1(subst(cons11p3)(assoc111)1))

(entmod1)

);endofPROGN

);if語名結(jié)束,本語句對文字對齊方式的判斷,并修改高度和插入點信息

);if語名結(jié)束,本語句對是否為文字的判斷,并修改高度和插入點信息

(setqname(cdr(assoc01)))

(if(=(cdr(assoc661))1);if語句開始,是否為帶屬性的塊

(progn(setq11(entget(entnext(cdr(assoc-11))))

(setqp1(cdr(assoc1111)))

(setqx1(carp1)y1(cadrp1)

(setqp3(list(+x1(*(cosang)dy1))(+y1z(*(-(sinang)1)dy1))))

(setq11(subst(cons11p3)(assoc1111)11))

(entmod11)

));if語句結(jié)束,修改中屬性的插入點信息

(setqang(/(cdr(assoc501))2))

(setq1(subst(cons50ang)(assoc501)1))

(entmod1);通過修改塊的插入角度信息進(jìn)行旋轉(zhuǎn)

(setqn(+1n)

(if(/=(nthnk1)″a″)(setq1(entget(nthnk1)))(setq1nil))

);while語句結(jié)束

(setqn0)

(while(<n(sslengthss));while語句開始,對名為“ZXR-2035”的塊

;進(jìn)行高度平移處理

(setqstl(entget(ssnamessn)))

(setqpt1(cdr(assoc10stl)))

(if(/=″ZXR-2035″(cdr(assoc2(entget(ssnamessn)))));if語句開始

(progn

(setqpt1(list(carpt1)(cadrpot1)0))

(setqstl(subst(cons10pt1)(assoc10st1(st1))

(entmodst1)));if語句結(jié)束

(setqn(+1n))

);while語句結(jié)束

(redraw)

);defun結(jié)束

5實際運用

本程序通過筆者所在單位這幾年來工程設(shè)計人員的運用,得到了逐步完善與推廣,實踐證明,該程序易學(xué)好用。故提煉出來與同仁商榷。

申扎县| 舟曲县| 英德市| 柳江县| 五峰| 洪雅县| 林西县| 郯城县| 响水县| 苏州市| 义马市| 株洲县| 府谷县| 思茅市| 临沂市| 富蕴县| 滨州市| 贵州省| 富蕴县| 温州市| 双流县| 满洲里市| 石柱| 濮阳县| 南昌县| 岳普湖县| 莱阳市| 讷河市| 遂平县| 赤峰市| 新和县| 龙游县| 建阳市| 丰县| 宜君县| 岢岚县| 资兴市| 内江市| 长丰县| 钦州市| 诸城市|