- 积分
- 14526
- 明经币
- 个
- 注册时间
- 2011-12-24
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 风树 于 2013-10-13 20:52 编辑
//代码片段
////////////////////A段
AcDbDatabase *m_pDb = new AcDbDatabase(true, true);
Acad::ErrorStatus es = Acad::eOk;
AcDbBlockTable *pTab = NULL;
if ((es = m_pDb->getBlockTable(pTab,AcDb::kForRead))!=Acad::eOk)
return FALSE;
AcDbObjectId modelSpaceId;
es = pTab->getAt(ACDB_MODEL_SPACE, modelSpaceId);
AcDbObjectIdArray IdArray;
IdArray.append(ObjectId);/////////
AcDbIdMapping idMap;
///////////////////B段
es = m_pDb->deepCloneObjects(IdArray, modelSpaceId, idMap);
///////////////////问题描述
1、 A段代码正常,ObjectId为我传入的对象ID,正常。
2、ObjectId,传入普通对象时,B段代码正常;传入自定义实体时返回值为eWrongDatabase。
怎么原因呢,难道自定义实体还要重载什么函数才能解决这个问题???
////////////////////
暂时变通一下,用wblock
|
|