QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
7天前
查看: 1436|回复: 0
收起左侧

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

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

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

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

x
实体表达方式:handle, ObjectID,ads_name,指针point; @0 U$ J- P3 n. ]+ p9 ^
Object Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢? - ?4 j6 A0 y6 V) ?  e
Handle:  永远不变,存在DWG文件中;# c. [; R6 L$ K# F
ObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭' ~' l+ n; y) l- c
Point: 每次得到它,它总在变,就算它代表的实体是不变的.7 l$ q' ?. m/ S' y1 o
ads_name 同 Point一样 0 e, E- ^' S( _. z- s+ ~, D
5 e% ~8 g+ S2 D! w% o6 G
以下函数是常用的:  _3 a) S# F$ d& x
Acad::ErrorStatus
9 ], B, x* p. W, z. mAcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,! K3 g$ G( U. U' K; J$ A
                    Adesk::Boolean openErasedObject = Adesk::kFalse)
, B# a$ O2 D$ w6 Z" N6 mAcad::ErrorStatus
! v- B1 E( |- ~  R& t/ w; EgetAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,: s9 _. t0 D- Y
           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);
* h3 b0 s# y2 ?, z
! B7 D$ S6 n" F5 m9 `$ [$ q' VAcDbObject* pObject;
/ Z8 v: w* t2 q0 Q; z1 V: k1 qAcDbHandle handle;
% S9 k; s8 M. l, b/ u6 R7 l8 T( H$ Y# w  ^: L" q5 T
pObject->getAcDbHandle(handle);  n, `* j$ |2 I2 J
acdbGetAdsName(ads_name& objName,AcDbObjectId objId);
9 M6 Y) q! d7 aacdbGetObjectId(AcDbObjectId& objId,ads_name objName);
3 d, j1 r# s: e! x' R5 ~3 y* {8 UacdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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