- UID
- 168781
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2004-8-24
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
在打开dwg文件时,我已经得到了文件的名称。
第一种方法是
AcDbDatabase * pDb=new AcDbDatabase(Adesk::kFalse);
if(pDb->readDwgFile(strPath,_SH_DENYWR)!=Acad::eOk ) return;
AcDbBlockTable *pBTR;
AcDbBlockTableRecord *pBTRRcd;
pBTR->getAt(ACDB_MODEL_SPACE,pBTRRcd,AcDb::kForWrite);
pBTR->close();
在pBTR->getAt时出错。
第二种方法是
acDocManager->executeInApplicationContext(writedwg, (void *)pDwgfile);
void writedwg(void *strPath)
{
if (acDocManager->isApplicationContext())
{
if (openfileindoc(strPath)==1)// 打开dwg文件并active
{
WriteDwgdoc();
acDocManager->closeDocument(pDoc1);
}
}
使用第一种方法的pDb->readDwgFile失败,使用
acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pBTR,AcDb::kForRea)成功,
pBTR->getAt(ACDB_MODEL_SPACE,pBTRRcd,AcDb::kForWrite);
AcDbText *pText2=new AcDbText(AcGePoint3d(172.3801,168.3943,0),ItemNo,AcDbObjectId::kNull,3,0);
可是pBTRRcd->appendAcDbEntity(pText2);失败。
请问大侠,这失败的原因是什么呀,有没有需要注意的因素在里面呀 |
|