QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
实体表达方式:handle, ObjectID,ads_name,指针point
0 X' p# y; h2 {$ d0 X  r, h6 s; VObject Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢?
  O0 N% s3 i/ U8 l% eHandle:  永远不变,存在DWG文件中;  T4 B9 J- X, x$ w0 l( T3 G) P5 H* C
ObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭
" |# Y, U1 L& d+ e1 _8 dPoint: 每次得到它,它总在变,就算它代表的实体是不变的.8 ^( W! Q. B- R# ~3 `4 N5 M
ads_name 同 Point一样   }& x3 M. M4 [1 j4 e

" v) D) ^! v2 D7 M以下函数是常用的:! S& N# V8 c! V7 l! W  L
Acad::ErrorStatus / ~+ x( w2 U4 Y& ?5 c* m
AcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,
2 S5 c8 I: _) j+ k! D" g                    Adesk::Boolean openErasedObject = Adesk::kFalse)9 v8 X7 ], ^  P0 a: L4 u
Acad::ErrorStatus
5 u" b* {' d* k* A! K1 [) IgetAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,: T1 e' ?' j- H# f$ |! |
           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);" d* t- h* t4 {5 o4 z

7 F6 ?* `1 A  y4 U4 n4 _AcDbObject* pObject;
1 r* {. E) p% kAcDbHandle handle;/ M, P# k& N4 F, Z3 u, y! Y
1 T& [' |' n# y3 m7 S/ t0 K
pObject->getAcDbHandle(handle);2 m( `3 W6 i3 n
acdbGetAdsName(ads_name& objName,AcDbObjectId objId);
! z, E( l+ N9 |4 e+ hacdbGetObjectId(AcDbObjectId& objId,ads_name objName);
/ i4 T2 J4 S" J1 `$ C  b, iacdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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