QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
实体表达方式:handle, ObjectID,ads_name,指针point- p, d8 _2 W7 S
Object Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢? * k8 a, ~5 o% o
Handle:  永远不变,存在DWG文件中;8 b$ ^+ [' Q% `6 ?8 H2 a
ObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭
" F) a) t4 g5 S+ FPoint: 每次得到它,它总在变,就算它代表的实体是不变的.
+ O# E! w4 [8 u8 lads_name 同 Point一样 7 f& x0 t# I7 ^( H

3 H& Y: Z  a/ z' W以下函数是常用的:
. G  q/ W6 u) n+ X/ J0 L6 ~Acad::ErrorStatus
$ {( M6 j, W7 |5 d0 X) W1 SAcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,
$ I9 D6 I1 J$ x, |5 @                    Adesk::Boolean openErasedObject = Adesk::kFalse)4 {; w8 C! J# i9 W7 E
Acad::ErrorStatus# d4 a7 B, u. H& ^3 R2 k
getAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,
  p9 h2 S% D8 h6 E, {3 s           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);' G8 \1 {6 z1 |

/ w* o% ~* Z6 x( T3 D8 _AcDbObject* pObject;
; G/ H; g. I: }# \+ M+ |AcDbHandle handle;
+ A! D$ f0 m! N- s$ \. M/ u) T' T2 |( R6 e# R8 N* A7 ^
pObject->getAcDbHandle(handle);
) P) x+ |) l2 v+ @: j- M1 wacdbGetAdsName(ads_name& objName,AcDbObjectId objId); 8 G4 d/ b" b  g$ H4 \( E1 \9 B
acdbGetObjectId(AcDbObjectId& objId,ads_name objName); 6 A$ c+ q" T; A
acdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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