服務(wù)熱線
0755-26825352
摘要:AutoCAD R12版新增加了BHATCH命令來(lái)補(bǔ)充和加強(qiáng)HATCH命令功能。
關(guān)鍵詞:AutoCAD R12 命令 應(yīng)用
Auto
Auto
BHATCH和BPOLY命令不同于一般的Auto
在AUTO LISP語(yǔ)言中,不能像調(diào)用一般命令那樣用(COMMAND “命令”)來(lái)調(diào)用BPOLY和BHATCH,而是用(C:BPOLY 點(diǎn))、(C:BHATCH 點(diǎn))來(lái)調(diào)用,執(zhí)行(C:BHATCH 點(diǎn))之前要通過SETVAR對(duì)幾個(gè)系統(tǒng)變量進(jìn)行設(shè)置,HPANG是圖案填充角度,HPNAME是圖案填充名稱,HPSCALE是圖案填充比例系數(shù)。以下是一個(gè)簡(jiǎn)單的填充花紋圖案的LISP程序:
程序1清單:
(setq yf$ (getstring (strcat "花紋代號(hào): "))) ;輸入花紋代號(hào)
(setq bl (getreal "\n比例<1>:")) ;輸入比例
(if (= bl nil) (setq bl 1.0)) ;比例約定值為1
(setq ang (getreal "\n角度<0>:")) ;輸入角度
(if (= ang nil) (setq ang 0.0)) ;角度約定值為0
(setq pt (getpoint "\n選擇區(qū)域內(nèi)任意一點(diǎn):")) ;輸入?yún)^(qū)域內(nèi)任意一點(diǎn)坐標(biāo)
(setvar "hpang" ang) ;設(shè)置填充角度為ang
(setvar "hpscale" bl) ;設(shè)置填充比例為bl
(setvar "hpname" yf$) ;設(shè)置填充花紋為yf$
(while pt ;PT為真時(shí)執(zhí)行循環(huán)體內(nèi)程序,否則退出
(c:bhatch pt)
(setq pt (getpoint "\n選擇區(qū)域內(nèi)任意一點(diǎn):")) ;輸入?yún)^(qū)域內(nèi)任意一點(diǎn)坐標(biāo)繼續(xù)填充
);while pt
用程序1填充花紋時(shí),選定點(diǎn)周圍不能形成一個(gè)閉和區(qū)域時(shí),除未填充外也不顯示任何信息,因此需要增加一個(gè)判斷,用程序2來(lái)實(shí)現(xiàn)。
程序2清單:
(setq yf$ (getstring (strcat "花紋代號(hào): "))) ;輸入花紋代號(hào)
(setq bl (getreal "\n比例<1>:")) ;輸入比例
(if (= bl nil) (setq bl 1.0)) ;比例約定值為1
(setq ang (getreal "\n角度<0>:")) ;輸入角度
(if (= ang nil) (setq ang 0.0)) ;角度約定值為0
(setq pt (getpoint "\n選擇區(qū)域內(nèi)任意一點(diǎn):")) ;輸入?yún)^(qū)域內(nèi)任意一點(diǎn)坐標(biāo)
(while pt ;PT為真時(shí)執(zhí)行循環(huán)體內(nèi)程序,否則退出
(setq e (c:bpoly pt)) ;得到PT點(diǎn)所在的邊界線,
(if e ;如邊界線存在就填充,否則不填充
(progn
(command "hatch" yf$ bl ang e "") ;填充花紋
(command "erase" e "") ;刪除邊界線
(princ "\n填充完畢") ;打印填充完畢
);progn
(princ "\n邊界線不存在,不能填充")
);if
(setq pt (getpoint "\n選擇區(qū)域內(nèi)任意一點(diǎn):")) ;輸入?yún)^(qū)域內(nèi)任意一點(diǎn)坐標(biāo)繼續(xù)填充
);while pt
為了更加方便實(shí)用,可以編制花紋圖案的圖標(biāo)菜單,當(dāng)提示輸入花紋圖案時(shí),激活圖標(biāo)菜單。我們?cè)趯?shí)際運(yùn)用時(shí),從BPOLY返回的邊界實(shí)體的各點(diǎn)坐標(biāo)中計(jì)算出一個(gè)范圍,該范圍內(nèi)的文本實(shí)體同時(shí)選中,使這些文本避開陰影線圖案。
以上兩個(gè)小程序所實(shí)現(xiàn)的功能與BPOLY和BHATCH相同,其實(shí)際意義不在于此,而是想通過以上介紹,能夠?qū)⑵鋺?yīng)用到解決更為復(fù)雜的情況上,例如我們?cè)诘刭|(zhì)
在Command提示符下用LOAD 加載本程序,計(jì)算機(jī)提示:
I.選目標(biāo) T.改花紋代號(hào) A.比例角度 C.改顏色 P.改邊界 X.結(jié)束<X>:
選項(xiàng)I: 選定要編輯的花紋圖案,只需用鼠標(biāo)點(diǎn)取花紋圖案上的一點(diǎn)即可;
選項(xiàng)T: 修改花紋圖案的代號(hào),輸入新的花紋代號(hào);
選項(xiàng)A: 修改花紋圖案的比例角度,輸入新的比例和角度;
選項(xiàng)C: 修改花紋圖案的顏色,輸入新的顏色號(hào);
選項(xiàng)P: 是修改花紋圖案的邊界線,提示選擇欲修改的邊界線,然后是一個(gè)類似PEDIT的多義線頂點(diǎn)編輯命令,可將頂點(diǎn)位置移動(dòng)或者刪除,待新的邊界線修改完成以后,圖面上的花紋圖案立即按新的邊界更新。需注意的一點(diǎn)是在修改邊界線之前選擇花紋圖案實(shí)體時(shí),一定要使選擇點(diǎn)位于新的邊界線之內(nèi),否則圖案將填充在新邊界線之外。
以前繪制到圖形中的花紋圖案,如果發(fā)現(xiàn)代號(hào)、角度、比例、顏色、邊界線等不滿意時(shí),就要將其刪除再重新繪制,而且還不能保證重新繪制的花紋圖案完全正確,使用本程序就可以隨心所欲地非常方便地對(duì)花紋進(jìn)行編輯修改,直到滿意為止。
在繪制工程地質(zhì)剖面圖時(shí),巖層產(chǎn)狀在剖面拐點(diǎn)處的視傾角將發(fā)生變化,填充花紋時(shí)在拐點(diǎn)兩側(cè)應(yīng)該使用不同的視傾角,而且在拐點(diǎn)處花紋應(yīng)該連結(jié)正確。我們使用了以上兩個(gè)命令編寫了一個(gè)LISP程序,比較好的解決了這個(gè)問題,繪制的圖形如上圖所示。繪制褶皺構(gòu)造的地質(zhì)剖面圖,也可使用本程序。