QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 1443|回复: 0
收起左侧

[分享] ARX 实体的表达方式

[复制链接]
发表于 2008-11-1 08:22:22 | 显示全部楼层 |阅读模式 来自: 中国山东烟台

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
实体表达方式:handle, ObjectID,ads_name,指针point
6 B! v1 q! X8 A+ GObject Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢? 4 h  w+ l& v( p6 ^, g. N& V
Handle:  永远不变,存在DWG文件中;6 J5 K9 ^& N" x4 A, o. L" U
ObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭% w1 ]2 A; u/ U* r  K
Point: 每次得到它,它总在变,就算它代表的实体是不变的.+ k' ]& q/ o4 y  u, n) J
ads_name 同 Point一样 8 ?% f' J7 |: B/ _8 P" |# [

4 A) n! J( b$ J以下函数是常用的:
/ _! b6 d& s* Z+ D/ d- T8 ?Acad::ErrorStatus : J( R! }, t" e+ Q* Z" u
AcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,
% g- e- b5 L" C9 n                    Adesk::Boolean openErasedObject = Adesk::kFalse)
9 T; D) G& f1 t7 L; r: q0 pAcad::ErrorStatus
' Q0 m! z8 a* s* U  F6 ugetAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,
2 @5 h3 r8 X  u           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);! E5 E. [. {, S4 i  q- @' @6 t; }
% r- O  U+ g' z! p" `# ?- d
AcDbObject* pObject;
" U/ p; e/ T) T0 T# G7 {  p& ]AcDbHandle handle;+ o) P3 `) c0 D3 T. n

( z, H6 c( r! C" H$ Q( tpObject->getAcDbHandle(handle);
; r0 s! ^) z' ]acdbGetAdsName(ads_name& objName,AcDbObjectId objId);
, K, [' S6 \- c! NacdbGetObjectId(AcDbObjectId& objId,ads_name objName); / l. V' z  t' W7 J. @! W
acdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表