CADは、レイヤ0上のすべてのエンティティ(COM VBインターフェース言語)を得ます

機能の主な用途:


IMxDrawSelectionSetは選択::


設定の選択セット。詳細は以下のとおりです。


パラメータ 説明

MCAD_McSelectモード[IN]

建設モード選択セット

[IN] VARIANT POINT1

オブジェクトセットポイントを選択するのに必要な選択時の設定

[IN] VARIANTポイント2

オブジェクトセットポイントを選択するのに必要な選択時の設定

VARIANT filterData [オプション、IN]

フィルタセット選択データ構造

次の値を取ることができます

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 MxDrawResbuf
Set filter = New MxDrawResbuf
' 把图层名 "0" 作为过滤条件
filter.AddString "0" , 8
 
'定义选择集对象
Dim ss As MxDrawSelectionSet
Set ss = New MxDrawSelectionSet
 
' 选择图上的所有实体,过滤条为filter
ss.Select 5, , , , filter
 
' 遍历选择集中的实体
Dim i As Integer
 
i = 0
Do While i < ss.Count
     Dim ent As MxDrawEntity
     Set ent = ss.Item(i)
     MsgBox ent.Layer
     i = i + 1
Loop

おすすめ

転載: www.cnblogs.com/yzy0224/p/11004342.html