QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
实体表达方式:handle, ObjectID,ads_name,指针point
0 G% J( q+ S9 |: q6 GObject Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢?
( J- k" J5 W4 R4 u0 S2 E: CHandle:  永远不变,存在DWG文件中;" t+ ^- t2 S. ^, k0 M
ObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭
0 b* |+ n  V: V! R( U5 nPoint: 每次得到它,它总在变,就算它代表的实体是不变的.
3 o$ u6 J' G4 ^: yads_name 同 Point一样
4 A, d  h$ W. H3 v- h# b# z7 C7 Z9 F- b) S% V5 p
以下函数是常用的:) m2 w9 P' {5 E( H
Acad::ErrorStatus
* s; V& H. v2 T- T' I; yAcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,6 C! j0 z4 O6 P
                    Adesk::Boolean openErasedObject = Adesk::kFalse); {9 `- Q) t/ J: M
Acad::ErrorStatus3 O" A9 ?- v& [; e  u8 k+ R
getAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,# w9 k* B3 y3 S# g+ d
           const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);1 g# k$ H* j; r7 Y& a; I
+ D' U! h1 A% k5 z+ U
AcDbObject* pObject;
: w0 h2 f9 ?$ g- }$ r& ?5 zAcDbHandle handle;$ L4 M; s( r1 |7 w$ q0 B7 P

5 W9 }' Z( x0 S; T/ SpObject->getAcDbHandle(handle);- k' S) b0 G# s8 X* I
acdbGetAdsName(ads_name& objName,AcDbObjectId objId);
- U5 ]. Z- E4 z# a$ jacdbGetObjectId(AcDbObjectId& objId,ads_name objName); . R8 K7 A3 I9 b) p) S# D+ J/ T6 o
acdbHandEnt(const char * handle,ads_name entres);
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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