QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
实体表达方式:handle, ObjectID,ads_name,指针point
- h8 Q9 a& g2 C; aObject Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢?
, d" y1 N& ?) C  o. n, X2 qHandle:  永远不变,存在DWG文件中;; |! l, i  S  Z# y
ObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭' ?# J8 K+ c5 R4 j: c8 Z, c$ x
Point: 每次得到它,它总在变,就算它代表的实体是不变的.
5 o+ Q" B' z& n# \* `7 K% Iads_name 同 Point一样 9 ^4 j" u! t7 h) a& V1 e. L& N

5 ^- r4 t* y; J; V# K以下函数是常用的:& C4 m: S3 i8 |8 T
Acad::ErrorStatus
1 N: J) G2 T( q: H: t- NAcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,# f- D% U: h/ c6 [
                    Adesk::Boolean openErasedObject = Adesk::kFalse)
  z# ?5 ]( e) W& LAcad::ErrorStatus: B0 W4 q8 g0 k$ a% n- W
getAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,
" @4 y) a5 d" t3 L* s+ M3 C$ S           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);
# Z; ~2 P) F7 t: N" j+ O" j; E
, u* m& F* n' @& L" L3 MAcDbObject* pObject;
' L' s! e- I) t1 J4 \. f4 o! V6 cAcDbHandle handle;
; ?: d) F% M* I  q7 B0 F
; {; ~. B  W( _2 e: RpObject->getAcDbHandle(handle);& g( H+ H% X+ v# t
acdbGetAdsName(ads_name& objName,AcDbObjectId objId); 5 U" o* D6 p  c  p6 M( x' {
acdbGetObjectId(AcDbObjectId& objId,ads_name objName); ! E3 @5 s. s1 l% |
acdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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