LOGO
帮助文档
旧版文档
简介得到所有实体得到跨范围实体
简介

在本示例中将使用构造选择集对被过滤对象进行过滤,该类封装了选择集及其处理函数,支持如下过滤条件。


参数类型类型
RTDXF0TEXT文字
MTEXT多行文字
CIRCLE
ARC圆弧
LINE线
LWPOLYLINE多段线
INSERT图块
ELLIPSE椭圆
SPLINE样条线
LinkLine超链接
8图层
2图块
-4通配符
62颜色
-3扩展数据


颜色


实体的颜色可以通过0~256的数字值来指定和读取,也可以通过 McCmColor 类的实例来指定和读取,McCmColor类可以用来扩展颜色模型。McCmColor类可以用来表示真彩色中的任何一种色彩。


颜色值1~7代表的标准颜色如下:


颜色值1234567
颜色绿紫红白或黑


颜色值7对应的颜色与控件背景颜色有关。如果背景是黑,则7对应的颜色是白,反之则对应的颜色是黑。


还有一些颜色值代表了一些特殊的含义:


    0:指定实体的颜色为 BYBLOCK 。即实体继承当前块表记录中块参照的颜色值,如果实体直接处于模型空间或图纸空间块表记录中,则实体的颜色就是黑或白。

    256:指定实体的颜色为 BYLAYER 。实体使用其所在层的颜色。

    257:实体 无颜色 。这种情况仅在实体刚刚实例化,在被赋予0~256之间颜色值或被添加到数据库并使用数据库的当前颜色值之前才会出现。

得到所有实体

主要用到函数说明:


MrxDbgSelSet.allSelect 方法 (MxResbuf)


得到当前空间的所有实体。详细说明如下:


参数说明

MxResbuf filter

过滤条件


使用如下:


    MrxDbgSelSet ss = new MrxDbgSelSet();    
    MxResbuf filter = new MxResbuf();
    ss.allSelect(filter);
    String sT;
    sT = String.format("currentSelect:%d",ss.size());
    Log.e("MrxDbgSelSet",sT);
得到跨范围实体

主要用到函数说明:


MrxDbgSelSet.crossingSelect 方法 (McGePoint3d, McGePoint3d)


通过两点范围构造选择集。详细说明如下:


参数说明

McGePoint3d pt1

第一点

McGePoint3d pt2

第二点


使用如下:


      MrxDbgSelSet ss = new MrxDbgSelSet();      
      McGePoint3d pt1 = new McGePoint3d(100,10,10);      
      McGePoint3d pt2 = new McGePoint3d(0,0,0);

      ss.crossingSelect(pt1,pt2);
      String sT;
      sT = String.format("crossingSelect:%d",ss.size());
      Log.e("MrxDbgSelSet",sT);