AutoCAD R12兩個(gè)新增命令在編程中的應(yīng)用_第1頁(yè)
AutoCAD R12兩個(gè)新增命令在編程中的應(yīng)用_第2頁(yè)
AutoCAD R12兩個(gè)新增命令在編程中的應(yīng)用_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

AutoCADR12兩個(gè)新增命令在編程中的應(yīng)用

摘要:AutoCADR12版新增加了BHATCH命令來(lái)補(bǔ)充和加強(qiáng)HATCH命令功能。關(guān)鍵詞:AutoCADR12命令應(yīng)用AutoCAD中填充陰影線圖案(PAT文件)是一項(xiàng)十分有用的功能,在各種圖形中都可能用到。我們?cè)陂_(kāi)發(fā)工程地質(zhì)CAD軟件時(shí),經(jīng)常要在圖面上的指定區(qū)域內(nèi)填充巖性花紋圖案,而且填充區(qū)域不規(guī)則。在AutoCAD低版本中,填充花紋命令僅有一條HATCH,使用HATCH時(shí),需選擇圍成閉合區(qū)域的有關(guān)實(shí)體,若實(shí)體選擇不全則會(huì)使填充出現(xiàn)混亂,特別是當(dāng)填充區(qū)域由若干線、弧、園等實(shí)體交叉組合而成時(shí),就要沿閉合區(qū)域的各點(diǎn)繪制一條PLINE線,然后以這條線作為填充邊界線,在填充完成以后還要將這條線刪除,比較麻煩。AutoCADR12版新增加了BHATCH命令來(lái)補(bǔ)充和加強(qiáng)HATCH命令功能。BHATCH命令以窗口交互方式執(zhí)行,它將自動(dòng)以多義線來(lái)定義邊界,然后忽略全部或部份不是邊界的區(qū)域,完成填充后自行刪除多義線,還可以使邊界內(nèi)的圖形和文字避開(kāi)填充圖案。簡(jiǎn)言之,填充時(shí)只需要用鼠標(biāo)器點(diǎn)取閉合區(qū)域內(nèi)一點(diǎn)就可完成填充。為了更方便地使用HATCH和BHATCH這兩個(gè)命令,在R12版中還新增加了一條命令BPOLY。使用BPOLY可迅速生成一封閉曲線的邊界,即通過(guò)點(diǎn)取封閉區(qū)域內(nèi)任意一點(diǎn)形成本區(qū)域的邊界線,根據(jù)返回的邊界線可使用HATCH填充花紋圖案,也可使用AREA來(lái)計(jì)算封閉區(qū)域的面積和周長(zhǎng)。有關(guān)這兩條命令的操作,可參閱AutoCADR12的使用說(shuō)明書,通過(guò)簡(jiǎn)單的練習(xí)就可以掌握。本文想就如何在AUTOLSP中調(diào)用這兩個(gè)命令進(jìn)行編程的問(wèn)題做一簡(jiǎn)單介紹。BHATCH和BPOLY命令不同于一般的AutoCAD命令,它們是用ADS應(yīng)用程序開(kāi)發(fā)的,如果想在圖形編輯狀態(tài)下或在AUTOLISP中使用這兩個(gè)命令,就要在AutoCAD初始化時(shí)加載名為ACADAPP的ADS程序,方法是在當(dāng)前搜索路徑上是否有ACAD.ADS文件,這是一個(gè)純文本的ASCII碼文件,在這個(gè)文件中如有一行為ACADAPP,那么在進(jìn)入ACAD圖形時(shí)自動(dòng)加載ACADAPP,在AutoCAD的Command:提示符下調(diào)用AUTOLISP函數(shù)(ADS),將得到當(dāng)前已加載的全部ADS應(yīng)用程序的信息。如已加載ACADAPP,在“Command:”就可以使用BPOLY和BHATCH。在AUTOLISP語(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))之前要通過(guò)SETVAR對(duì)幾個(gè)系統(tǒng)變量進(jìn)行設(shè)置,HPANG是圖案填充角度,HPNAME是圖案填充名稱,HPSCALE是圖案填充比例系數(shù)。以下是一個(gè)簡(jiǎn)單的填充花紋圖案的LISP程序:程序1清單:(setqyf$(getstring(strcat"花紋代號(hào):")));輸入花紋代號(hào)(setqbl(getreal"\n比例<1>:"));輸入比例(if(=blnil)(setqbl1.0));比例約定值為1(setqang(getreal"\n角度<0>:"));輸入角度(if(=angnil)(setqang0.0));角度約定值為0(setqpt(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$(whilept;PT為真時(shí)執(zhí)行循環(huán)體內(nèi)程序,否則退出(c:bhatchpt)(setqpt(getpoint"\n選擇區(qū)域內(nèi)任意一點(diǎn):"));輸入?yún)^(qū)域內(nèi)任意一點(diǎn)坐標(biāo)繼續(xù)填充);whilept用程序1填充花紋時(shí),選定點(diǎn)周圍不能形成一個(gè)閉和區(qū)域時(shí),除未填充外也不顯示任何信息,因此需要增加一個(gè)判斷,用程序2來(lái)實(shí)現(xiàn)。程序2清單:(setqyf$(getstring(strcat"花紋代號(hào):")));輸入花紋代號(hào)(setqbl(getreal"\n比例<1>:"));輸入比例(if(=blnil)(setqbl1.0));比例約定值為1(setqang(getreal"\n角度<0>:"));輸入角度(if(=angnil)(setqang0.0));角度約定值為0(setqpt(getpoint"\n選擇區(qū)域內(nèi)任意一點(diǎn):"));輸入?yún)^(qū)域內(nèi)任意一點(diǎn)坐標(biāo)(whilept;PT為真時(shí)執(zhí)行循環(huán)體內(nèi)程序,否則退出(setqe(c:bpolypt));得到PT點(diǎn)所在的邊界線,(ife;如邊界線存在就填充,否則不填充(progn(command"hatch"yf$blange"");填充花紋(command"erase"e"");刪除邊界線(princ"\n填充完畢");打印填充完畢);progn(princ"\n邊界線不存在,不能填充"));if(setqpt(getpoint"\n選擇區(qū)域內(nèi)任意一點(diǎn):"));輸入?yún)^(qū)域內(nèi)任意一點(diǎn)坐標(biāo)繼續(xù)填充);whilept為了更加方便實(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í)選中,使這些文本避開(kāi)陰影線圖案。以上兩個(gè)小程序所實(shí)現(xiàn)的功能與BPOLY和BHATCH相同,其實(shí)際意義不在于此,而是想通過(guò)以上介紹,能夠?qū)⑵鋺?yīng)用到解決更為復(fù)雜的情況上,例如我們?cè)诘刭|(zhì)CAD軟件開(kāi)發(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í),就要將其刪除再重新繪制,而且還不能保證重新繪制的花紋圖案完全正確,使用本程序就可以隨心所欲

溫馨提示

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

評(píng)論

0/150

提交評(píng)論