QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
8天前
查看: 1437|回复: 0
收起左侧

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

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

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

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

x
实体表达方式:handle, ObjectID,ads_name,指针point
6 Q' D8 d; T1 ]# GObject Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢?
. v5 W( [3 h- e6 kHandle:  永远不变,存在DWG文件中;" E6 f* i) H7 e, |
ObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭
4 T  g# E  g) L- v: J  j1 GPoint: 每次得到它,它总在变,就算它代表的实体是不变的.
0 u, R5 j8 I( c" dads_name 同 Point一样
: D/ |! B6 v, B9 ]+ z6 v7 v" B- q1 H# }) q' X; L$ s
以下函数是常用的:
7 t/ d# K% H4 n3 M' B$ PAcad::ErrorStatus
1 y1 U- ]4 U, ^. z5 zAcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,2 @" }" H' d/ z. W
                    Adesk::Boolean openErasedObject = Adesk::kFalse)5 T' L4 ^; e# U& n0 K6 O
Acad::ErrorStatus  X4 B5 i) H' Q
getAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,( I0 R" g- p5 \: b9 ?
           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);. B& a5 L% w2 v/ x* |' R& {
: A; q; J. L) g1 e* {. c
AcDbObject* pObject;
, z! e! v, O3 a4 ]$ r$ rAcDbHandle handle;
3 H5 E9 X) o$ Q5 h4 }9 u% I+ t7 c5 T5 w( K4 c& d
pObject->getAcDbHandle(handle);# ]5 w) `5 R% M' J3 ?8 [3 A% g
acdbGetAdsName(ads_name& objName,AcDbObjectId objId);
' h" J7 b1 t4 {/ b5 k' d6 lacdbGetObjectId(AcDbObjectId& objId,ads_name objName);
  _, j! N3 Z1 j0 B# x! g8 uacdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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