QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
11天前
查看: 1418|回复: 0
收起左侧

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

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

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

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

x
实体表达方式:handle, ObjectID,ads_name,指针point4 v; R: H  f) Z0 _
Object Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢?
" D$ O. ?8 h$ `. BHandle:  永远不变,存在DWG文件中;- z6 v3 ]; t) N2 c. o, z" s
ObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭+ f  c1 G5 @  G9 a
Point: 每次得到它,它总在变,就算它代表的实体是不变的.% I9 A1 ?( H. }1 \% |( w6 w( N' X% t
ads_name 同 Point一样
2 A' W% \8 e; y2 n! I+ u# F; h/ ^3 H# S. c$ P4 t$ s4 I. v6 T
以下函数是常用的:, ^8 D7 u' d9 }- F) w
Acad::ErrorStatus
$ M  g5 z6 v9 \AcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,
$ y, R4 Z; C3 b) J$ K! O                    Adesk::Boolean openErasedObject = Adesk::kFalse)
$ w. j$ i/ ~  M- s% w3 Y- z9 \; l, vAcad::ErrorStatus
& \' [1 M1 e& c8 {getAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,/ j) j/ J* {' M  e2 R  b6 o
           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);6 ~1 f, G4 N# \

5 ~9 e" z) [' s" g. Z7 iAcDbObject* pObject;" w$ P/ J2 K9 ~$ ^. e$ ]$ J
AcDbHandle handle;
( {9 m6 S" a9 |6 D; H2 ]& F  _" ~
pObject->getAcDbHandle(handle);& r0 e. }( w$ M5 l! E( G& ~
acdbGetAdsName(ads_name& objName,AcDbObjectId objId); ! U) V: o9 P$ q# w6 J; D
acdbGetObjectId(AcDbObjectId& objId,ads_name objName); ! j- v+ G. K: x5 V
acdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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