QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
实体表达方式:handle, ObjectID,ads_name,指针point
! T: F/ i: l! J* hObject Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢? 3 F" u" A! O( A: o. H0 t' e
Handle:  永远不变,存在DWG文件中;
7 Y( T, d! l4 S9 eObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭
5 n- i. H4 j# x& z8 |# kPoint: 每次得到它,它总在变,就算它代表的实体是不变的.
; ~  [  L# h$ O% _  q& {- ~. mads_name 同 Point一样 / L7 y% u3 [7 Q" S( u

3 V4 O/ }" C! I( F以下函数是常用的:
: ?5 U: b  {* CAcad::ErrorStatus 4 ~1 |' u5 f" V5 f
AcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,
1 a. A2 w6 K0 r. S2 O                    Adesk::Boolean openErasedObject = Adesk::kFalse)
7 K: l. W# Z$ g! i- t$ Y: cAcad::ErrorStatus
$ S7 y2 U. k0 O. L0 [4 ogetAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,  X& ]( r8 N% Q7 Z3 x8 u
           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);# k, r" Q  S$ Z, v9 u5 D
/ E( W- b4 g9 M0 N( m  V/ q( k
AcDbObject* pObject;: [4 l% F# J3 b3 |
AcDbHandle handle;) u* X6 X0 q, K

6 O2 }5 D( E* w# @pObject->getAcDbHandle(handle);& R$ @  q2 @/ R. e$ q7 v
acdbGetAdsName(ads_name& objName,AcDbObjectId objId); ; I7 `, Z. [1 E3 ~
acdbGetObjectId(AcDbObjectId& objId,ads_name objName);
8 s4 Q! V# L6 K) nacdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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