老司机亚洲精品影院,网址永久国产成人,久久亚洲私人国产精品,色婷婷久久综合中文久久蜜桃av 91精品国产mcu-久久93精品国产91久久综合-91精品国产自产91精品-911亚洲精品

歡迎光臨深圳市凱迪賢模具有限公司官網(wǎng)!
0755-26825352
18948189678
AutoCAD R12兩個(gè)新增命令在編程中的應(yīng)用

/ 2021/6/5 10:43:19

摘要AutoCAD R12版新增加了BHATCH命令來(lái)補(bǔ)充和加強(qiáng)HATCH命令功能。


關(guān)鍵詞AutoCAD R12 命令 應(yīng)用


 


  Auto中填充陰影線圖案(PAT文件)是一項(xiàng)十分有用的功能,在各種圖形中都可能用到。我們?cè)陂_發(fā)工程地質(zhì)時(shí),經(jīng)常要在圖面上的指定區(qū)域內(nèi)填充巖性花紋圖案,而且填充區(qū)域不規(guī)則。在Auto低版本中,填充花紋命令僅有一條HATCH,使用HATCH時(shí),需選擇圍成閉合區(qū)域的有關(guān)實(shí)體,若實(shí)體選擇不全則會(huì)使填充出現(xiàn)混亂,特別是當(dāng)填充區(qū)域由若干線、弧、園等實(shí)體交叉組合而成時(shí),就要沿閉合區(qū)域的各點(diǎn)繪制一條PLINE線,然后以這條線作為填充邊界線,在填充完成以后還要將這條線刪除,比較麻煩。


  Auto R12版新增加了BHATCH命令來(lái)補(bǔ)充和加強(qiáng)HATCH命令功能。BHATCH命令以窗口交互方式執(zhí)行,它將自動(dòng)以多義線來(lái)定義邊界,然后忽略全部或部份不是邊界的區(qū)域,完成填充后自行刪除多義線,還可以使邊界內(nèi)的圖形和文字避開填充圖案。簡(jiǎn)言之,填充時(shí)只需要用鼠標(biāo)器點(diǎn)取閉合區(qū)域內(nèi)一點(diǎn)就可完成填充。為了更方便地使用HATCH和BHATCH這兩個(gè)命令,在R12版中還新增加了一條命令BPOLY。使用BPOLY可迅速生成一封閉曲線的邊界,即通過點(diǎn)取封閉區(qū)域內(nèi)任意一點(diǎn)形成本區(qū)域的邊界線,根據(jù)返回的邊界線可使用HATCH填充花紋圖案,也可使用AREA來(lái)計(jì)算封閉區(qū)域的面積和周長(zhǎng)。有關(guān)這兩條命令的操作,可參閱Auto R12的使用說(shuō)明書,通過簡(jiǎn)單的練習(xí)就可以掌握。本文想就如何在AUTO LSP中調(diào)用這兩個(gè)命令進(jìn)行編程的問題做一簡(jiǎn)單介紹。


  BHATCH和BPOLY命令不同于一般的Auto命令,它們是用ADS應(yīng)用程序開發(fā)的,如果想在圖形編輯狀態(tài)下或在AUTO LISP中使用這兩個(gè)命令, 就要在Auto初始化時(shí)加載名為AAPP的ADS程序,方法是在當(dāng)前搜索路徑上是否有A.ADS文件,這是一個(gè)純文本的ASCII碼文件,在這個(gè)文件中如有一行為AAPP,那么在進(jìn)入A圖形時(shí)自動(dòng)加載AAPP,在Auto的Command:提示符下調(diào)用AUTO LISP函數(shù)(ADS),將得到當(dāng)前已加載的全部ADS應(yīng)用程序的信息。如已加載AAPP,在“Command:”就可以使用BPOLY和BHATCH。


  在AUTO LISP語(yǔ)言中,不能像調(diào)用一般命令那樣用(COMMAND “命令”)來(lái)調(diào)用BPOLY和BHATCH,而是用(CBPOLY 點(diǎn))、(CBHATCH 點(diǎn))來(lái)調(diào)用,執(zhí)行(CBHATCH 點(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ì)開發(fā)中,使用上述方法解決了復(fù)雜的不規(guī)則區(qū)域自動(dòng)填充多種花紋圖案的程序,編寫了對(duì)花紋圖案的編輯命令,即對(duì)已經(jīng)繪制到圖形中的花紋進(jìn)行編輯修改(篇幅所限源程序不列出) 。這里僅簡(jiǎn)介使用方法,在運(yùn)行本程序之前,所編輯花紋的區(qū)域已經(jīng)存在。


在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ì)剖面圖,也可使用本程序。



服務(wù)熱線

0755-26825352

企業(yè)微信銷售咨詢