实体表达方式:handle, objectid,ads_name,指针point
实体表达方式:handle, objectid,ads_name,指针point
object arx中,表达实体的方式主要有handle, objectid,ads_name,指针point;这些方式之间有什么区别呢?
handle: 永远不变,存在dwg文件中;
objectid:每次打开一个图,所有的对象都分得一个objectid,这个objectid维持不变,直到dwg被关闭
point: 每次得到它,它总在变,就算它代表的实体是不变的.
ads_name 同 point一样
以下函数是常用的:
acad::errorstatus
acdbdatabase::acdbopenobject(acdbobject*& obj,
acdbobjectid id,
acdb:

penmode mode,
adesk::boolean
openerasedobject =
adesk::kfalse)
acad::errorstatus
getacdbobjectid(acdbobjectid& retid,
adesk::boolean createifnotfound,
const acdbhandle& objhandle,
adesk::uint32 xrefid=0);
acdbobject* pobject;
acdbhandle handle;
pobject->getacdbhandle(handle);
acdbgetadsname(ads_name& objname,
acdbobjectid objid);
acdbgetobjectid(acdbobjectid& objid,
ads_name objname);
我想保存对象的句柄到别的对象的扩展数据中,需要得到它的值,是不是只有用getintoasciibuffer这个函数呀?
我把扩展数据中的handle(十六进制数)取出来了,怎么得到acdbobjectid或acdbhandle呀?
是不是刚加入数据库的 对象没有acdbhandle?为啥我读取刚加入数据库的对象的acdbhandle,却得不到。
应该编入faq
怎么获得最后画的图形的handle?