CAD得到范围内实体(网页版)
主要用到函数说明:
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 返回当前图上已经选择的实体 |
js中使用如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
function SelectWindow(){ //实例化一个构造选择集进行过滤,该类封装了选择集及其处理函数。 var ss = mxOcx.NewSelectionSet(); //构造一个过滤链表 var spFilte = mxOcx.NewResbuf(); //定义两个点的位置 //定义第一个点的位置 var vPt1 = mxOcx.NewPoint(); vPt1.x = -20; vPt1.y = -20; //定义第二个点的位置 var vPt2 = mxOcx.NewPoint(); vPt2.x = 20; vPt2.y = 20; //选取跨范围的实体 ss.Select(0, vPt1, vPt2,spFilte); for (var i = 0; i < ss.Count; i++) { var ent = ss.Item(i); alert(ent.ObjectName); }} |
浙公网安备 33010602011771号