子顺 发表于 2002-8-8 18:27:00

to: leeyealu.

首先非常感谢你给我回复。我想返回一个实体名称。如camsh,是不是该这样写:
ObjectName CreateSh()
{
   AcDbEntity *pEnt;
   CString camsh;
   .........
   //函数主体;
   ..........
   camsh=(pEnt-isA())->name();
}

但是我有个问题,请问我开始就定义了这个实体的名称,如ads_name camsh;
还要定义这个实体为CString类型吗。

leeyeafu 发表于 2002-8-9 09:17:00

ObjectName只是AcDbEntity *的一个成员函数,与ads_name的数据结构不同

ObjectName只是AcDbEntity *(实际上是它的一个基类AcDbObject *)的一个成员函数,与ads_name的数据结构完全不同,(pEnt->isA())返回pEnt的对象类型,正如你所看到的,AcDbLine,AcDbCircle...,不是ads_name,->name()函数以CString或char *(字符串)返回该类型名称,不是实体名称。
你若已用ads_name camsh说明,camsh就是实体名称,要获取它的ObjectName,需提取DXF组码。
ads_name的数据结构:typedef long ads_name;
页: [1]
查看完整版本: to: leeyealu.