1.在創建對象的同時可以直接引用.以前的例程中已經做過多次了,現在復習一下,看例程:先隨機畫300個圓,在畫圓時直接引用,然后再把這些圓根本大小修改顏色.
Sub c300()
Dim myselect(0 To 300) As AcadEntity '定義選擇集數組
Dim pp(0 To 2) As Double '圓心坐標
For i = 0 To 300 '循環300次
pp(0) = 3000 * Rnd: pp(1) = 3000 * Rnd: pp(2) = 0 '設置圓心坐標
Set myselect(i) = ThisDrawing.ModelSpace.AddCircle(pp, Rnd * 30 + 1) '畫不同大小的圓
Next i
For i = 1 To 300
If myselect(i).Radius > 10 Then '判斷圓的直徑是否大于10
myselect(i).color = Int(255 * Rnd + 1) '大圓顏色改為隨機數
Else
myselect(i).color = 0 '小圓改為白色
End If
Next i
ZoomExtents '縮放到顯示全部對象
End Sub
pp(0) = 3000 * Rnd: pp(1) = 3000 * Rnd: pp(2) = 0
這一行實際上應該是三條語句,用三行合并為一行,用冒號分開
rnd是隨機數函數,它的數值為0-1之間的小數,3000*rnd得到的數值就是在0-3000之間的隨機數
Set myselect(i) = ThisDrawing.ModelSpace.AddCircle(pp, Rnd * 30 + 1)
這條語句的作用是以pp點坐標為圓心,畫一個圓,半徑是1-30之間的隨機數,賦值給myselect選擇集.
2.提標用戶在屏幕中選取
選擇語句這樣寫:Set sset = ThisDrawing.SelectionSets.Add("ss1"),其中”ss1”是一個選擇集名稱,這個參數可以隨意寫一個,注意不要重復就可以了.
下面的例程是讓用戶選擇對象,然后把選中的對象改為綠色,最后把選擇集刪除
Sub mysel()
Dim sset As AcadSelectionSet '定義選擇集對象
Dim element As AcadEntity '定義選擇集中的元素對象
Set sset = ThisDrawing.SelectionSets.Add("ss1") '新建一個選擇集
sset.SelectOnScreen '提示用戶選擇
For Each element In sset '在選擇集中進行循環
element.color = acGreen '改為綠色
Next
sset.Delete '刪除選擇集
End Sub
3.選擇全部對象
用select方法,參數為acSelectionSetAll ,看例程,這個程序選擇全部對象,顯示選中的對象,并計算對象數.
Sub allsel()
Dim sel1 As AcadSelectionSet '定義選擇集對象
Set sel1 = ThisDrawing.SelectionSets.Add("s") '新建一個選擇集
Call sel1.Select(acSelectionSetAll) '全部選中
sel1.Highlight (True) '顯示選擇的對象
sco= sel1.Count '計算選擇集中的對象數
MsgBox "選中對象數:" & CStr(sco) '顯示對話框
End Sub
3.運用select方法
上面的例題已經運用了select方法,下面講一下select的5種選擇方式:
1:擇全部對象(acselectionsetall)
2.選擇上次創建的對象(acselectionsetlast)
3.選擇上次選擇的對象(acselectionsetprevious)
4.選擇矩形窗口內對象(acselectionsetwindow)
5.選擇矩形窗口內以及與邊界相交的對象(acselectionsetcrossing)
還是看代碼來學習.其中選擇語句是:
Call sel1.Select(Mode, p1, p2)
Mode已經定義為5,也就是選擇矩形窗口內以及與邊界相交的對象,p1和p2是兩個點坐標,
Sub selnew()
Dim sel1 As AcadSelectionSet '定義選擇集對象
Dim p1(0 To 2) As Double '坐標1
Dim p2(0 To 2) As Double '坐標2
p1(0) = 0: p1(1) = 0: p1(2) = 0 '設置坐標1
p2(0) = 300: p2(1) = 300: p2(2) = 0 '設置坐標1
Mode = 5 '把選擇模式存入mode變量中
Set sel1 = ThisDrawing.SelectionSets.Add("sel3") '新建一個選擇集
Call sel1.Select(Mode, p1, p2) '選擇對象
sel1.Highlight (ture) '顯示已選中的對象
End Sub
相關文章
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎培訓教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎培訓教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30高等院校藝術設計案例教程中文版AutoCAD 建筑設計案例
- 2021-08-29機械AutoCAD 項目教程 第3版 [繆希偉 主編] 2012年PDF
- 2021-08-21AutoCAD 2013建筑設計與施工圖繪制實例教程中文版 [麓
- 2021-08-21AutoCAD 2013機械繪圖實例教程中文版 [陳志民 等編著]
- 2021-08-20AutoCAD 2011建筑制圖案例教程中文版 [夏志新,沙新美,彭
- 2021-08-18天正TArch2013與AutoCAD 建筑制圖實戰教程 [景學紅,耿
- 2021-08-18圖形圖像設計專家Maya金典案例教程PDF下載