- UID
- 215174
- 积分
- 286
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2005-1-29
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
实体表达方式:handle, ObjectID,ads_name,指针point
Object Arx中,表达实体的方式主要有handle, ObjectID,ads_name,指针point;这些方式之间有什么区别呢?
Handle: 永远不变,存在DWG文件中;
ObjectId:每次打开一个图,所有的对象都分得一个ObjectId,这个ObjectId维持不变,直到DWG被关闭
Point: 每次得到它,它总在变,就算它代表的实体是不变的.
ads_name 同 Point一样
以下函数是常用的:
Acad::ErrorStatus
AcDbDatabase::acdbOpenObject(AcDbObject*& obj, AcDbObjectId id, AcDb::OpenMode mode,
Adesk::Boolean openErasedObject = Adesk::kFalse)
Acad::ErrorStatus
getAcDbObjectId(AcDbObjectId& retId,Adesk::Boolean createIfNotFound,
const AcDbHandle& objHandle,Adesk::UInt32 xRefId=0);
AcDbObject* pObject;
AcDbHandle handle;
pObject->getAcDbHandle(handle);
acdbGetAdsName(ads_name& objName,AcDbObjectId objId);
acdbGetObjectId(AcDbObjectId& objId,ads_name objName);
acdbHandEnt(const char * handle,ads_name entres); |
|