获取ARX实体的DXF信息

来源:互联网 发布:注册不带www域名 编辑:程序博客网 时间:2024/06/05 11:40

下面介绍两种: 一种是在ARX程序中,一种是在CAD中,获取DXF信息

 

1. 在CAD中,可以在Command中输入以下信息,然后点选实体,就可以获取到实体的信息:

命令: (entget(car(entsel)))
命令: (entsel)
选择对象: (<图元名: 7ffffb05380> (792.588 573.405 0.0))

命令: (car(entsel))
选择对象: <图元名: 7ffffb05380>

命令: (entget(car(entsel)))
选择对象: ((-1 . <图元名: 7ffffb05380>) (0 . "TEXT") (330 . <图元名: 7ffffb039f0>) (5 .
"140") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "注释层") (100 .
"AcDbText") (10 789.655 572.652 0.0) (40 . 2.5) (1 . "未命名") (50 . 0.0) (41 .
1.0) (51 . 0.0) (7 . "Standard") (71 . 0) (72 . 0) (11 0.0 0.0 0.0) (210 0.0
0.0 1.0) (100 . "AcDbText") (73 . 0))

 

2. 在Arx程序中,通过这这个函数实现获取

函数:acdbEntGet

struct resbuf *

acdbEntGet(const ads_name ent);

Retrieves the specified entity from the drawing database and returns its definition data as a linked list of result buffers. This function is used also to examine dictionaries.

例如,在已知objid情况下,获取信息:

ads_name ads;
acdbGetAdsName(ads, objid);
resbuf* pResbuf = acdbEntGet(ads);

resbuf* pNext = pResbuf;
for (; pNext != NULL; pNext=pNext->rbnext)
{
      if (pNext->restype == 0)
      { // DXF == 0时,内容为String型,代表类型名称,例如 TEXT
            break;
     }
}

Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu  转载请标明来源 

1 0
原创粉丝点击