QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
实体表达方式:handle, ObjectID,ads_name,指针point  S5 \/ T" e9 P9 J. _4 E! F
Object Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢? . X* h  g4 o" g9 \# X8 X6 i
Handle:  永远不变,存在DWG文件中;
  ?% b' i9 p3 w5 d+ P/ P9 D- ^/ W9 ?ObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭
; Q  m/ |+ E, @Point: 每次得到它,它总在变,就算它代表的实体是不变的.
" ~' K. ^* g* o  n' E! lads_name 同 Point一样 & S) h* A/ ~8 Y" `% @1 ]/ u
" d# E% D9 O8 X" X  F
以下函数是常用的:
) `! ^3 l, Y  S$ A/ |/ x2 z' c% }Acad::ErrorStatus ; }+ }- o# i# B
AcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,
# X# W; u0 D1 F                    Adesk::Boolean openErasedObject = Adesk::kFalse): C/ W# j  R/ ^7 w2 u' P9 q0 d
Acad::ErrorStatus5 K0 n8 t4 u! R3 ^
getAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,
  o7 C: S; G2 j/ v, D+ U           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);
( z( K5 K5 L# J# ^" P2 N+ M; W
5 {  e8 c1 I( n+ J' PAcDbObject* pObject;  S5 P( b& U8 y! D& @1 W
AcDbHandle handle;  ~$ j: i9 P: I, H% u
. I" w5 ^; S- h# m: m% c
pObject->getAcDbHandle(handle);/ q0 |/ D/ k4 U2 g4 x
acdbGetAdsName(ads_name& objName,AcDbObjectId objId);
% W/ L# n0 h3 ^3 hacdbGetObjectId(AcDbObjectId& objId,ads_name objName);
, @3 ^2 d6 H: H/ z1 UacdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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