明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1173|回复: 2

[求助]请教这是为什么?

[复制链接]
发表于 2005-3-24 13:41:00 | 显示全部楼层 |阅读模式
void AdeskCreateDim()
{
AcGePoint3d pt1(0,0,0),pt2(10,0,0),pt3(5,5,0);
AcDbRotatedDimension *pDim=new AcDbRotatedDimension(0,pt1,pt2,pt3);
Acad::ErrorStatus es ;
AcDbBlockTable *pBlockTbl ;
AcDbBlockTableRecord *pBlkTblRec;
if ( (es =acdbHostApplicationServices ()->workingDatabase ()->getBlockTable (pBlockTbl, AcDb::kForRead)) != Acad::eOk )
{
acutPrintf ("\nCouldn't open the block table!") ;
return;
}
if ( (es =pBlockTbl->getAt (ACDB_MODEL_SPACE, pBlkTblRec, AcDb::kForWrite)) != Acad::eOk )
{
acutPrintf ("\nCouldn't get Model Space! Drawing corrupt.\n") ;
pBlockTbl->close () ;
return;
}
if ( (es =pBlkTblRec->appendAcDbEntity (pDim)) != Acad::eOk )
{
delete pDim ;
pBlkTblRec->erase () ;
pBlkTblRec->close () ;
return;
}
pDim->close();
pBlkTblRec->close();
}
在Acad中键入命令createdim,出现如下提示:
Regen terminated
键入命令"x"->"all"则标注显示在屏幕上.
请教这是为什么?
发表于 2005-3-24 16:47:00 | 显示全部楼层
if ( (es =pBlkTblRec->appendAcDbEntity (pDim)) != Acad::eOk )
{
delete pDim ;
pBlkTblRec->erase () ;
pBlkTblRec->close () ;
return;
}
pDim->close();
pBlkTblRec->close();
} 这两个地方(直接造成问题的是后一个地方)你只关了block table record, 没有关block table, 所以ACAD就暴走了.
 楼主| 发表于 2005-3-25 17:49:00 | 显示全部楼层
谢谢啦!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 07:43 , Processed in 0.160669 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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