乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 40|回复: 2

试图更改CAD文件中数字标注内容时出错(附源码)

[复制链接]

10

主题

24

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
64
发表于 2007-12-16 16:24:00 | 显示全部楼层 |阅读模式
试图更改CAD文件中数字标注内容时出错,源码如下:
//打开数据库
AcDbBlockTable *pBlockTable;
acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBlockTable,AcDb::kForWrite);
AcDbBlockTableRecord *pBlockTableRecord;
pBlockTable->getAt(ACDB_MODEL_SPACE,pBlockTableRecord,AcDb::kForWrite);
pBlockTable->close();
AfxMessageBox("open model space");
//创建块表记录遍历器,用遍历器遍历实体,并修改标注值。
AcDbRotatedDimension *pDimention;
char* Texttemp;
ACHAR* Astr;
Astr="111";
AcDbBlockTableRecordIterator *pBlockIterator;
pBlockTableRecord->newIterator(pBlockIterator);
for(pBlockIterator->start();!pBlockIterator->done();pBlockIterator->step())
{
  AcDbEntity *pEntity;
  pBlockIterator->getEntity(pEntity,AcDb::kForWrite);
  const char *pCname=pEntity->isA()->name();
  if(strcmp(pCname,"AcDbRotatedDimension")==0)
  {
       pDimention=AcDbRotatedDimension::cast(pEntity);
      Texttemp=pDimention->dimensionText();
       if(strcmp(Texttemp,"e")==0)
       {
            AfxMessageBox("found linedim");
            pDimention->setDimensionText(Astr);
       }
  }
}
delete pBlockIterator;
pBlockTableRecord->close();
出错提示:内部错误:
是不是CAD文件在打开时,不能用ARX修改实体。
期盼高手指点!!!

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

10

主题

24

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
64
发表于 2007-12-16 17:39:00 | 显示全部楼层
搞定了,实体没有关闭的缘故
回复

使用道具 举报

2

主题

87

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
95
发表于 2011-8-1 10:52:00 | 显示全部楼层
thank you
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-5 14:38 , Processed in 0.165665 second(s), 58 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表