CAD当前选择实体发生变化调用事件(com接口)

Posted yzy0224

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CAD当前选择实体发生变化调用事件(com接口)相关的知识,希望对你有一定的参考价值。

主要用到函数说明:


_DMxDrawXEvents::SelectModified


当前选择实体发生变化,会调用该事件,详细说明如下:


参数 说明

IDispatch* pAryId

当前被选择的实体lId,是一个实体lid链表

IDispatch* pModifyId

本次发生变化的对象id数组

VARIANT_BOOL isAdd

aryModifyId的对象,是新加入到选择集,还是删除


c#代码实现如下:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private void axMxDrawX1_SelectModified(object sender, AxMxDrawXLib._DMxDrawXEvents_SelectModifiedEvent e)
    MxDrawResbuf aryId = (MxDrawResbuf)e.pAryId;           
    int iCount = aryId.Count;           
    for (int i = 0; i < iCount; i++)
                  
     // 得到当前,被选中的实体.
        Int64  id = aryId.AtObjectId(i);
  
               
    // 得到选择时的,鼠标坐标点.
    MxDrawResbuf param = (MxDrawResbuf)axMxDrawX1.CustomEventParam();           
    if (param.Count >= 2)
    
        MxDrawPoint pt1 = param.AtPoint(0);
        MxDrawPoint pt2 = param.AtPoint(1);
 
        MessageBox.Show(String.Format("pt1:0:N3,1:N3,pt2:2:N3,3:N3", pt1.x, pt1.y, pt2.x, pt2.y));
 
    

以上是关于CAD当前选择实体发生变化调用事件(com接口)的主要内容,如果未能解决你的问题,请参考以下文章

CAD由一个自定义实体事件中的id得到自定义实体对象(com接口VB语言)

CAD关于删除实体操作(com接口网页版)

CAD关于实体扩展记录操作(com接口网页版)

CAD绘制自定义实体(com接口)

CAD实现自定义实体夹点移动(com接口VB语言)

CAD交互绘制矩形框(com接口)