QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
实体表达方式:handle, ObjectID,ads_name,指针point$ Y# I  D4 w3 v/ b- _5 r
Object Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢? 3 i( J5 s; L/ z& z$ {$ M
Handle:  永远不变,存在DWG文件中;
) E# B5 O* S* V! w9 V$ sObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭
! v3 K7 I7 ~( ^7 O- Q% `Point: 每次得到它,它总在变,就算它代表的实体是不变的.- l- Y& N, M0 {( W  X
ads_name 同 Point一样
9 Y, Q; C+ C/ J* \+ x- d0 a
6 G$ m) M& G3 d$ y# t& c& V7 i以下函数是常用的:* @: |, a1 W" M  a( |
Acad::ErrorStatus & L. c6 b4 B$ ?2 F9 k+ N
AcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,* q" M& t) p9 K- v
                    Adesk::Boolean openErasedObject = Adesk::kFalse)/ X$ i9 U% R+ M( m0 k  z6 z
Acad::ErrorStatus
/ M% C! d' I% g) h* g' U2 VgetAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,. r8 K- p' \/ Z
           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);1 H! t1 g9 y1 U8 S0 X

2 Q# A% P- ?$ x3 G4 s" mAcDbObject* pObject;
; ?/ S8 U$ Y9 w; C3 ~/ G# VAcDbHandle handle;
- Z6 D# P9 j, T& n. c% v3 ^
1 {) b% H9 t* p+ k1 F( lpObject->getAcDbHandle(handle);
6 m2 [* I9 L$ T+ A( s: }. Z+ L( CacdbGetAdsName(ads_name& objName,AcDbObjectId objId); / Y3 w2 ?9 m. {8 y, R) j( V
acdbGetObjectId(AcDbObjectId& objId,ads_name objName);
, q9 H. g, ^  [0 p; l/ b. vacdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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