QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
实体表达方式:handle, ObjectID,ads_name,指针point2 ?- E. X) t% W4 L- {2 w. x" j& @
Object Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢?
0 E5 i! r( |8 l9 LHandle:  永远不变,存在DWG文件中;0 Y: e* D: I7 X6 i. {* H
ObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭: c5 l3 |; p& b& t
Point: 每次得到它,它总在变,就算它代表的实体是不变的.
( V8 h' e( \4 j1 @# nads_name 同 Point一样
0 G& ^7 m! D3 e3 k/ h# P: j
! ~1 f8 Z8 U( k' Q以下函数是常用的:9 I% g1 N9 \; {9 h* j
Acad::ErrorStatus # X" x, J4 g  {' C! s
AcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,% J! |8 N/ _: m. i6 O
                    Adesk::Boolean openErasedObject = Adesk::kFalse); v- R/ l7 w5 j$ }0 V
Acad::ErrorStatus
& n$ a# Z/ l; ~3 LgetAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,
: S' v! n+ q* ~8 Q6 C2 e* t2 v           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);
/ }* Z+ @/ e( ]* x
( }; ]/ j& U6 B! o3 ?3 ZAcDbObject* pObject;
6 Q% c6 C7 ~1 |) g/ L0 V1 C+ l1 C  |AcDbHandle handle;
0 O0 b; s8 [. l: z5 F' t5 k
+ I/ y; A% X3 g2 g, w* fpObject->getAcDbHandle(handle);
8 `/ L5 R/ v/ N/ Z# W& l# S7 ~acdbGetAdsName(ads_name& objName,AcDbObjectId objId);
+ h. |7 m# x; A2 s4 A, b3 h" FacdbGetObjectId(AcDbObjectId& objId,ads_name objName);
- ~% E1 ~+ _$ W- f. f- aacdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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