QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
8天前
查看: 1440|回复: 0
收起左侧

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

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

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

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

x
实体表达方式:handle, ObjectID,ads_name,指针point7 j5 Z3 F8 d- C: D
Object Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢? , u/ B4 _6 P5 E" [
Handle:  永远不变,存在DWG文件中;: _0 }$ t9 T' Y5 p( J
ObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭1 E, v; a" U5 e6 r
Point: 每次得到它,它总在变,就算它代表的实体是不变的.. u5 B; h0 G$ b% ?6 E$ C
ads_name 同 Point一样
5 R/ W8 C4 u% O) d
# R! H. |2 m- }5 Z/ d以下函数是常用的:
5 @8 i+ l4 D: zAcad::ErrorStatus
/ [, o! |+ h3 U2 u5 gAcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,4 n3 ?" C( f# H2 ?! `
                    Adesk::Boolean openErasedObject = Adesk::kFalse)& C% s4 }3 w* u; _
Acad::ErrorStatus
* W. c( R8 o( w1 g. UgetAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,
9 _; H2 B1 T' D7 K( {% ?+ _           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);# y+ q5 n4 {0 p8 R- i7 p/ ?, c$ u

5 g2 d# ?4 E0 u1 z7 P4 {. EAcDbObject* pObject;
! h( U. t) `9 UAcDbHandle handle;) a6 ~" ~2 p, a; `# j' G: w
! z3 G2 [5 ]; u9 i$ r7 A, E) X
pObject->getAcDbHandle(handle);
6 x  u; I' B* a) }+ PacdbGetAdsName(ads_name& objName,AcDbObjectId objId);
' O8 t; A: w' ~* e  V$ XacdbGetObjectId(AcDbObjectId& objId,ads_name objName);
4 n, F* s: I; m$ r( F# O7 r0 I) ?4 t& Z7 kacdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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