CAD得到0层上的所有实体(com接口VB语言)
主要用到函数说明:
IMxDrawSelectionSet::Select
构造选择集。详细说明如下:
| 参数 | 说明 |
|---|---|
|
[in] MCAD_McSelect Mode |
构造选择集方式 |
|
[in] VARIANT point1 |
构造择择集时需要使用到的点对象 |
|
[in] VARIANT point2 |
构造择择集时需要使用到的点对象 |
|
[in,optional] VARIANT filterData |
构造选择集的过滤数据 |
|
可以取如下值 |
mcSelectionSetWindow = 0, mcSelectionSetCrossing = 1, mcSelectionSetFence = 2, mcSelectionSetPrevious = 3, mcSelectionSetLast = 4, mcSelectionSetAll = 5, 选择图面上的所有实体 mcSelectionSetWindowPolygon = 6, mcSelectionSetCrossingPolygon = 7, mcSelectionSetUserSelect = 8 mcSelectionImpliedSelectSelect = 9,_I 返回当前图上已经选择的实体 |
代码实现如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
'设置过滤条变量Dim filter As MxDrawResbufSet filter = New MxDrawResbuf'把图层名"0"作为过滤条件filter.AddString "0", 8'定义选择集对象Dim ss As MxDrawSelectionSetSet ss = New MxDrawSelectionSet'选择图上的所有实体,过滤条为filterss.Select 5, , , , filter' 遍历选择集中的实体Dim i As Integeri = 0Do While i < ss.Count Dim ent As MxDrawEntity Set ent = ss.Item(i) MsgBox ent.Layer i = i + 1Loop |
浙公网安备 33010602011771号