QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
实体表达方式:handle, ObjectID,ads_name,指针point( p2 }; A0 o6 O0 W
Object Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢?
& t, T) f5 \8 r* X) YHandle:  永远不变,存在DWG文件中;
" K- m" u# }: G) Y5 z( \2 aObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭9 O/ O  ]4 _, B, R  y/ {
Point: 每次得到它,它总在变,就算它代表的实体是不变的.
! z) J; r+ C7 Fads_name 同 Point一样
+ K+ W$ h& b: P) x
- e. X- I1 O  o( b以下函数是常用的:
" o) U3 x+ E9 |Acad::ErrorStatus % w5 B6 s6 \  ^! P
AcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,. ^( I, g% d/ L) C% u! d0 S) @
                    Adesk::Boolean openErasedObject = Adesk::kFalse)! \& ?; Q+ [6 L$ R; |5 M: q. R
Acad::ErrorStatus. @3 e; d+ v6 c6 c
getAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,
' S/ A; r6 ^% m( h" k0 E% F# h           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);
* ^, s# x2 b. ~/ X# R% V4 ?: Z2 h
' \6 E: d- t4 Z( z6 RAcDbObject* pObject;4 r/ E' T7 g1 l( v# T$ g- T
AcDbHandle handle;
0 |6 X/ `. n8 y: A& N8 E5 b" u/ v2 M: l# Z
pObject->getAcDbHandle(handle);
$ r  ~4 @* h: d2 w) wacdbGetAdsName(ads_name& objName,AcDbObjectId objId); 5 k" T. o" n# u" r0 K
acdbGetObjectId(AcDbObjectId& objId,ads_name objName);
* m8 D- Q8 i  d/ ^# C1 {$ kacdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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