CAD中VBA操作多段線畫矩形_第1頁(yè)
CAD中VBA操作多段線畫矩形_第2頁(yè)
CAD中VBA操作多段線畫矩形_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——CAD中VBA操作多段線畫矩形VBA操作多段線畫矩形

在CAD中使用VBA畫多段線閉合的矩形。其實(shí)這個(gè)多段線圍起來(lái),圍成一個(gè)矩形即可。

VBA中多段線是一串點(diǎn),每個(gè)點(diǎn)使用兩個(gè)雙精度數(shù)值描述,這些數(shù)值連續(xù)放在數(shù)組中,就用ThisDrawing.ModelSpace.AddLightWeightPolyline(數(shù)組名)命令畫出一段多段線。畫出矩形,關(guān)鍵就是要控制好四個(gè)頂點(diǎn)。

本次測(cè)試中使用一條直線(用于定矩形的方向的基準(zhǔn)線)為參數(shù)畫出一個(gè)矩形。假使希望控制矩形的寬度,也可以再加其他控制條件。

提醒用戶畫矩形,選取第一個(gè)點(diǎn)(sp,這里的點(diǎn)其實(shí)是一個(gè)只有兩個(gè)元素的數(shù)組)

提醒用戶畫矩形,選取其次個(gè)點(diǎn)(ep)

由兩點(diǎn)算這條基準(zhǔn)線的長(zhǎng)度l、角度正弦sina和角度余弦cosa

l=sqr((sp(1)-ep(1))^2+(sp(0)-ep(0)^2))

sina=(ep(1)-sp(1))/lcosa=(ep(0)-sp(0))/l

由此可知,第三點(diǎn)坐標(biāo)p3(ep(0)+w*(-sina),ep(1)+w*cosa)進(jìn)而推得第四點(diǎn)p4(p3(0)+(-cosa)*l,p3(1)+(-sina)*l)最終還要連回第一點(diǎn),古增加一個(gè)p5,和sp同一點(diǎn)。

于是這個(gè)數(shù)組組建完畢,總共是個(gè)數(shù)值,每?jī)蓚€(gè)數(shù)值對(duì)應(yīng)一個(gè)點(diǎn),總共五個(gè)點(diǎn)。代碼實(shí)現(xiàn)如下:

SubRectang()OnErrorGoToESC

sp=ThisDrawing.Utility.GetPoint(,\起點(diǎn):\ep=ThisDrawing.Utility.GetPoint(sp,\終點(diǎn):\

l=Sqr((sp(1)-ep(1))^2+(sp(0)-ep(0))^2)sina=-(sp(1)-ep(1))/dcosa=-(sp(0)-ep(0))/d

Dimp(1To10)AsDoublep(1)=sp(0)

p(2)=sp(1)‘第一點(diǎn)p(3)=p(1)+sl*cosap(4)=p(2)+sl*sina‘其次點(diǎn)p(5)=p(3)+sw*-sina

p(6)=p(4)+sw*(cosa)‘第三點(diǎn)p(7)=p(5)+sl*(-cosa)

p(8)=p(6)+sl*(-sina)‘第四點(diǎn)p(9)=p(1)

p(10)=p(2)‘第五點(diǎn)

Dimrect(0To0)AsAcadEntity

Setrect(0)=ThisDrawing.ModelSpace.AddLightWeightPolyline(p)ESC:

IfErrThenMsgBo

溫馨提示

  • 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)論