QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
实体表达方式:handle, ObjectID,ads_name,指针point% V( f# ]5 z- a. Z  \7 A
Object Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢?   a, N. U- P' z
Handle:  永远不变,存在DWG文件中;1 \. `; P8 }# S2 f
ObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭: {2 X7 S- S4 q" Z
Point: 每次得到它,它总在变,就算它代表的实体是不变的.3 ]1 m6 l. r# g& L* _" M0 }0 G
ads_name 同 Point一样
; t" g, v% |2 O5 q8 ~% q' I, R8 V# R, F4 C3 K
以下函数是常用的:
+ {1 G) A. V6 h  w% g) KAcad::ErrorStatus
/ L7 o# y0 d6 R' dAcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,& B' Z( i& U+ F( Y" R. b
                    Adesk::Boolean openErasedObject = Adesk::kFalse), Z) ~  D  b. f
Acad::ErrorStatus2 b* J* a  {3 p
getAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,  Q% K/ X! ?) f" T, t9 p% p7 I: M
           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);
' P1 o6 G/ P0 w! K
6 y0 }, I/ P! F/ `' l1 qAcDbObject* pObject;
+ Z4 f6 l" P' ]! f6 d8 iAcDbHandle handle;5 J2 W! x6 ~: V/ A# ~) Y+ ]
% `" j. t* m5 _: ?4 ]5 Q, M
pObject->getAcDbHandle(handle);
) I. k0 L" N+ S+ G  {3 UacdbGetAdsName(ads_name& objName,AcDbObjectId objId);
) T" x5 M# N' `/ I8 j- F6 HacdbGetObjectId(AcDbObjectId& objId,ads_name objName); ( y% V2 M5 \) K1 \6 x
acdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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