代码改变世界

VB编程用选择集选择实体对象

2011-06-14 19:12  精诚所至 金石为开  阅读(1049)  评论(0编辑  收藏  举报

一个选择集是一组指定的作为单个单元处理的AutoCAD对象,一个选择集可以由单个对象组成,也可以是更加复杂的组,比如在某一层上某一颜色的对象集,用选择集选择实体分为两步:创建选择集,将对象添加到选择集。

  • 创建选择集

用Add方法创建选择 集,下面的语句创建一个名为TEST的新选择集。

Dim ssetobj As AcadSelectionSet
Set ssetobj = acadapp.ActiveDocument.SelectionSets.Add("TEST")

  • 把对象加入选择集

可以使用下列方法向选择集添加对象。

AddTtem方法用于加入一个或多个对象到指定的选择集,语法格式如下。

object.AddItems Items

Select方法用于选择对象并加入到活动选择集,语法格式如下。

object.Select Mode[,Point1][,Point2][,FilterType][,FilterData]

SelectAtPoint方法通过给定点选择对象并加入到活动选择集,语法格式如下。

objcet.SelectAtPoint (Point [,FilterType,FilterData])

SelectByPolygon方法选择多边形范围内的对象并加入到活动选择集,语法格式如下。

object.SelectByPolygon (Mode,PointList[,FilterType,FilterData])

SelectOnScreen方法提示用户从屏幕选择对象并加入到活动选择集,语法格式如下。

object.SelectOnScreen [FiterType][,FilterData]

下面的代码用鼠标从屏幕上选择加入到选择集,并将被选择实体改变颜色。

Private Sub Command1_Click()
    Dim ssetobj As AcadSelectionSet
    Set ssetobj = acadapp.ActiveDocument.SelectionSets.Add("TEST3")
    AppActivate acadapp.Caption
    ssetobj.SelectOnScreen
    AppActivate Form1.Caption
    Dim pickedobjs As AcadEntity
    For Each pickedobjs In ssetobj
        pickedobjs.Color = acGreen
        pickedobjs.Update
    Next
    ssetobj.Delete
End Sub

运行该程序,AutoCAD窗口的命令行将提示用户选择实体对象,选择完毕,被选择的实体将变成绿色。