Set myselect(i) = ThisDrawing.ModelSpace.AddCircle(pp, Rnd * 30 + 1)
这条语句的作用是以pp点坐标为圆心,画一个圆,半径是1-30之间的随机数,赋值给myselect选择集. 2.提标用户在屏幕中选取
选择语句这样写:Set sset = ThisDrawing.SelectionSets.Add(\其中”ss1”是一个选择集名称,这个参数可以随意写一个,注意不要重复就可以了.
下面的例程是让用户选择对象,然后把选中的对象改为绿色,最后把选择集删除 Sub mysel()
Dim sset As AcadSelectionSet '定义选择集对象 Dim element As AcadEntity '定义选择集中的元素对象
Set sset = ThisDrawing.SelectionSets.Add(\新建一个选择集 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(\新建一个选择集 Call sel1.Select(acSelectionSetAll) '全部选中 sel1.Highlight (True) '显示选择的对象 sco= sel1.Count '计算选择集中的对象数 MsgBox \选中对象数:\显示对话框 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(\新建一个选择集 Call sel1.Select(Mode, p1, p2) '选择对象 sel1.Highlight (ture) '显示已选中的对象 End Sub 回复
9楼2006-10-21 10:30回复9楼
flapsesame 老马
next--第十课:画多段线和样条线 画二维多段线语句这样写:
set lobj= ThisDrawing.ModelSpace.AddLightweightPolyline(fitpoint) Add