QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
实体表达方式:handle, ObjectID,ads_name,指针point7 l+ B1 B* Z7 Z0 H
Object Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢?
4 P- `, \% n3 J% W) B0 a$ hHandle:  永远不变,存在DWG文件中;
! Z6 f; |' @/ I$ i. t$ F$ xObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭
" r5 E# a! ~; b. [4 OPoint: 每次得到它,它总在变,就算它代表的实体是不变的.2 Q8 j3 K5 n4 A/ X
ads_name 同 Point一样 ) M0 w& @: l" }  O# ?$ e$ a

$ ~& V" C3 Z3 x2 y以下函数是常用的:7 v. B1 A; C( M4 @3 w+ ~
Acad::ErrorStatus
* ]: |- {6 J$ R. |8 ]  I( @AcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,- A. {" ]3 P6 S4 S# E9 u
                    Adesk::Boolean openErasedObject = Adesk::kFalse)& d( d! B6 i  Z% _" ]; _. x# p
Acad::ErrorStatus
, w+ ]3 c) K) b2 S' GgetAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,* K6 s* y# s) Z# j
           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);/ K7 E$ l0 ^' J9 m$ e  b0 x& c  o
2 q) R. X* O: [$ Q2 y5 K
AcDbObject* pObject;3 e  Y. A; D+ e0 m- n! O+ a
AcDbHandle handle;
+ q9 ^( ]+ H- o, s2 f9 }
3 I) [3 U# O; YpObject->getAcDbHandle(handle);* C2 [3 r; q' j8 s
acdbGetAdsName(ads_name& objName,AcDbObjectId objId);
! O3 u  f$ w! @$ n) \5 Z. S) Z3 z' FacdbGetObjectId(AcDbObjectId& objId,ads_name objName); ' C4 S# a, _2 W7 ?! ~$ w
acdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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