QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
11天前
查看: 1416|回复: 0
收起左侧

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

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

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

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

x
实体表达方式:handle, ObjectID,ads_name,指针point
2 K# Z$ m, |0 f3 Q5 A0 @Object Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢?
; e+ G% [) {! G9 g. ^Handle:  永远不变,存在DWG文件中;
; }9 B1 h$ J" w: jObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭
& o- ?) @! R' q, _* N" yPoint: 每次得到它,它总在变,就算它代表的实体是不变的.
- J. E6 H/ f% f9 }6 Iads_name 同 Point一样
& w( I& x1 F6 f2 B# T/ P2 _* O
( F( ]4 _1 [( F- I+ }) H以下函数是常用的:; {% a+ b. E" v# B% \
Acad::ErrorStatus
8 d: _6 m5 D7 O+ @, r1 C# KAcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,
$ m: q  G7 h; I- p& @0 \4 o                    Adesk::Boolean openErasedObject = Adesk::kFalse)
; H. D' X0 f5 |0 @2 TAcad::ErrorStatus
' a4 x$ c! S6 P" r; zgetAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,1 ?( v/ |& j' u- N  C5 E
           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);, ?* Y  x% `1 [' \

4 [" t1 n  w) z; ?" k3 O, s) H; |AcDbObject* pObject;
/ c% F) V5 E6 P/ j4 b% sAcDbHandle handle;$ T0 z; h6 I1 Q5 F

2 @5 ?6 w$ |/ H- G5 u7 d$ kpObject->getAcDbHandle(handle);
1 e7 ~. C( X! G( t% jacdbGetAdsName(ads_name& objName,AcDbObjectId objId);
4 v+ j: P/ e2 QacdbGetObjectId(AcDbObjectId& objId,ads_name objName);
  {- R% Y9 a9 c$ h3 hacdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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