有一位叫自然9172的網友提出了下面的問題:
繪制三維多段線時X、Y值在屏幕上用鼠標選取,Z值用鍵盤輸入
本課將講解這個問題。
為了簡化程序,這里用多條直線來代替多段線。以下是源碼:
Sub myl()
Dim p1 As Variant '申明端點坐標
Dim p2 As Variant
p1 = ThisDrawing.Utility.GetPoint(, "輸入點:") '獲取點坐標
z = ThisDrawing.Utility.GetReal("Z坐標:") '用戶輸入Z坐標值
p1(2) = z '將Z坐標值賦予點坐標中
On Error GoTo Err_Control '出錯陷井
Do '開始循環
p2 = ThisDrawing.Utility.GetPoint(p1, vbCr & "輸入下一點:") '獲取下一個點的坐標
z = ThisDrawing.Utility.GetReal("Z坐標:") '用戶輸入Z坐標值
p2(2) = z '將Z坐標值賦予點坐標中
Call ThisDrawing.ModelSpace.AddLine(p1, p2) '畫直線
p1 = p2 '將第二點的端點保存為下一條直線的第一個端點坐標
Loop
Err_Control:
End Sub
先談一下本程序的設計思路:
1、獲取第一點坐標
2、輸入第一點Z坐標
3、獲取第二點坐標
4、輸入第二點Z坐標
5、以第一、二點為端點,畫直線
6、下一條線的第一點=這條線的第二點
7、回到第3步進行循環
如果用戶沒有輸入坐標或Z值,則程序結束。
首先看以下兩條語句:
p1 = ThisDrawing.Utility.GetPoint(, "輸入點:") ‘獲取點坐標
……
p2 = ThisDrawing.Utility.GetPoint(p1, vbCr & "輸入下一點:") '獲取下一個點的坐標
這兩條語句的作用是由用戶輸入點用鼠標選取點坐標,并把坐標值賦給p1、p2兩個變量。ThisDrawing.Utility.GetPoint()在ACAD中這是最常用的方法之一,它需要兩個參數,在逗號前面的參數應該是一個點坐標,它的作用是在屏幕上畫一條線,前一個端點位于點坐標位置,后一個端點跟隨鼠標移動,逗號之前可以什么都不填,這時沒有線條會跟隨鼠標移動,但逗號必須保留。
逗號后面使用一串字符,程序在命令行顯示這串字符,這不難理解。
VbCr通常代表一個回車符,而在這個語句中,它的作用是在命令行不顯示“命令:”
&的作用是連接字符。舉例:
“愛我中華 ”&”抵制日貨 ”&”從我做起”
z = ThisDrawing.Utility.GetReal("Z坐標:") '用戶輸入Z坐標值
由用戶輸入一個實數
On Error GoTo Err_Control '出錯陷井
……
Err_Control:
On Error是出錯陷井語句,在程序出錯時將執行On Error 后面的語句
GoTo Err_contorl 是程序跳轉語句,它的作用是在程序中尋找Err_control:,并執行這一行后面的語句,本例中Err_Control:后就是結束宏,所以只要出現錯誤,程序中止。
Do '開始循環
……
Loop ‘結束循環
這個循環就歷害了,它會無休止地進行循環,好在本例中已經有了一個出錯陷井,當用戶輸入回車時,由于程序沒有得到點或坐標,程序出錯,跳出循環,中止程序。如果要人為控制跳出循環,可以在代碼中用Exit Do語句跳出循環。在For 變量 和Next 變量之間如果要跳出循環,那么只要在循環體內加一個Exit for 就可以跳出循環,關于這方面的例程以后會講到。
Call ThisDrawing.ModelSpace.AddLine(p1, p2) '畫直線
畫直線方法也是很常用的,它的兩個參數是點坐標變量
本課到此結束,請做思考題:
連續畫圓,每次要求用戶輸入圓心、半徑,當用戶不再輸入圓心或半徑時程序才退出
相關文章
- 2021-09-08BIM技術叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業技術人員計算機應用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應用 制表、數據處理及宏應用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎培訓教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術設計案例教程中文版AutoCAD 建筑設計案例
- 2021-08-29環境藝術制圖AutoCAD [徐幼光 編著] 2013年PDF下載
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年PDF