![]() |
【转帖】
实体表达方式: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::openmode 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? |
所有的时间均为北京时间。 现在的时间是 05:56 AM. |