Autocad-VBA二次开发简易教程

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

>>灞曞紑鍏ㄦ枃<<
12@gma联系客服:779662525#qq.com(#替换为@)