QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
实体表达方式:handle, ObjectID,ads_name,指针point
1 }3 u  ?- u0 j+ `! wObject Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢? . L% A+ B# a( K3 ], t* J/ `. d. d" V7 J
Handle:  永远不变,存在DWG文件中;
* F2 Z1 b9 d3 Q4 [7 \ObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭' i9 j; g. Y6 A
Point: 每次得到它,它总在变,就算它代表的实体是不变的.
+ l; V% Q1 D3 N9 jads_name 同 Point一样 . D) F+ x5 u- g+ [
  [" T5 A) w& F. N1 q
以下函数是常用的:% H/ R  w1 A# ]: d4 y3 b3 Z: R3 @7 r
Acad::ErrorStatus & c5 _# T. d/ t4 m2 i$ I% Q
AcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,9 |# c) l3 D. `8 W
                    Adesk::Boolean openErasedObject = Adesk::kFalse)
" ~9 W) c5 Q( eAcad::ErrorStatus
0 k' h/ u+ [+ w3 x/ |getAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,
% v- n8 g7 G6 j9 ]2 L2 m* j           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);& {3 t, |3 R1 T8 J3 ~' t% E/ ]& t% q# d

$ y$ w* ]; a( a' P8 j( D2 A( gAcDbObject* pObject;) O, K* Z6 J1 E' v  U. D
AcDbHandle handle;. ^5 h7 m0 t7 T
, N! `; ~' Z: D" k* `) u: }
pObject->getAcDbHandle(handle);( u$ g' ~% f2 G3 o$ S6 Y9 I
acdbGetAdsName(ads_name& objName,AcDbObjectId objId); ; n* ~* O" a: W5 Y/ T3 a! U( K
acdbGetObjectId(AcDbObjectId& objId,ads_name objName); 5 y6 D# z) _& q% q1 i! V4 L: d7 L) j
acdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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