几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(C++) (http://www.dimcax.com/hust/forumdisplay.php?f=34)
-   -   【转帖】 (http://www.dimcax.com/hust/showthread.php?t=7496)

yang686526 2009-04-17 10:30 PM

【转帖】
 
实体表达方式: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.