QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
实体表达方式:handle, ObjectID,ads_name,指针point* s. R2 K8 j( J  |. F2 K
Object Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢?
' @2 {; p8 K( k! QHandle:  永远不变,存在DWG文件中;9 r' Z- e1 d  x5 l: B5 x8 |
ObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭
9 w0 \- ]% [5 vPoint: 每次得到它,它总在变,就算它代表的实体是不变的.
( g6 d; ~/ G3 Rads_name 同 Point一样 5 R) k3 R: K) T

" `, j7 C/ v% L: o以下函数是常用的:
" }- d0 j! Y2 |' yAcad::ErrorStatus ! x, P% H, d6 f, a2 L8 i
AcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,
* j; c. d8 f5 k2 [3 ~% X                    Adesk::Boolean openErasedObject = Adesk::kFalse)+ W+ {2 c' N+ B( p8 w  w6 u- W7 h
Acad::ErrorStatus
5 ?) d' F' y  A, lgetAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,1 N/ E) b: F  N6 W* n' y6 K
           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);
; @* r# f6 i( |8 b7 n/ `( V) Z3 W$ Q' e9 F/ @: j# Q1 q- L
AcDbObject* pObject;3 o, X2 U: ^. }  k3 j: Z; g
AcDbHandle handle;0 y) Z! t% H( b* x

* Y0 {: L( t3 Y$ ~3 @% RpObject->getAcDbHandle(handle);' K5 c/ d" X$ K3 o6 M5 ]  O
acdbGetAdsName(ads_name& objName,AcDbObjectId objId); ' x0 o# ?  ], R- }) o4 b% s, ]/ H+ r
acdbGetObjectId(AcDbObjectId& objId,ads_name objName);
% P9 R/ k* `: N2 ~7 a2 n: LacdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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