QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
实体表达方式:handle, ObjectID,ads_name,指针point
/ h& y3 S3 ~. E  M9 C4 T; j8 aObject Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢?
6 M1 u4 [9 j" t  |2 V5 ?Handle:  永远不变,存在DWG文件中;# P% ~; ]6 i5 N  z
ObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭' S8 {0 B+ p( d% M  D* |; e' M
Point: 每次得到它,它总在变,就算它代表的实体是不变的.% F  ]6 V) y8 j. n2 C2 ?
ads_name 同 Point一样
6 V. U: n+ G- z1 T
( a5 a( e2 Y( L3 _) v' b以下函数是常用的:. ?% p+ T: r5 n; f7 M1 D- R3 |
Acad::ErrorStatus
; }3 n: }6 N, o; H: P9 kAcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,4 n. `+ d/ I: ^
                    Adesk::Boolean openErasedObject = Adesk::kFalse)# i: f/ \. h$ Q' _! o% V! P
Acad::ErrorStatus+ h4 z9 e( e, ~' ~. `
getAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,
! I  h: E. K+ B, \; b           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);
( W6 g4 h* d  B2 q4 p5 X" G0 i5 r) D$ o, L
AcDbObject* pObject;- ?- u' Z# a: v) o
AcDbHandle handle;
4 U- j' u* q) h: J+ W, p1 {8 Z6 a4 C. x" R% {: k% G
pObject->getAcDbHandle(handle);9 k, i# U: \3 h5 V; }
acdbGetAdsName(ads_name& objName,AcDbObjectId objId);
$ c, P  z" J% V9 c' c1 uacdbGetObjectId(AcDbObjectId& objId,ads_name objName); 2 G$ S$ a1 l" N# k1 H
acdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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