乐筑天下

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

[求助]插入指定图形数据库块问题

[复制链接]

11

主题

21

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2009-11-23 18:15:00 | 显示全部楼层 |阅读模式
AcDbObjectId CDraw::CreateBlock(AcDbDatabase *pDb,CString blkName,AcGePoint3d origin,int num,...)
{
// 获得当前图形数据库的块表
AcDbBlockTable *pBlkTbl;
/*acdbHostApplicationServices()->workingDatabase()
  ->getBlockTable(pBlkTbl, AcDb::kForWrite);*/
  pDb->getSymbolTable(pBlkTbl, AcDb::kForRead);
// 创建新的块表记录
AcDbBlockTableRecord *pBlkTblRcd;
pBlkTblRcd = new AcDbBlockTableRecord();
/* AcDbBlockTableRecord *pBlkTblRcd;
  pBlkTbl->getAt(ACDB_MODEL_SPACE,pBlkTblRcd,AcDb::kForWrite);*/
// 根据用户的输入设置块表记录的名称
//char blkName[40];
//if (acedGetString(Adesk::kFalse, "\n输入图块的名称:", blkName) !=
// RTNORM)
//{
// pBlkTbl->close();
// delete pBlkTblRcd;
// return;
//}
pBlkTblRcd->setName(blkName);
// 将块表记录添加到块表中
AcDbObjectId blkDefId;
pBlkTblRcd->setOrigin(origin);
pBlkTbl->add(blkDefId, pBlkTblRcd); //为什么运行到这出错,提示eNotOpenWrite?高手帮帮忙?
pBlkTbl->close();
// 向块表记录中添加实体
AcDbObjectId entId;
va_list pa;
va_start( pa, num );     /* Initialize variable arguments. */
for(int i=0;iappendAcDbEntity(entId, pEnt);
  pEnt->close();
}
va_end( pa );      
// 关闭实体和块表记录
pBlkTblRcd->close();
return blkDefId;
}
回复

使用道具 举报

2

主题

165

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
173
发表于 2009-11-25 17:44:00 | 显示全部楼层
pBlkTbl->add(blkDefId, pBlkTblRcd); //为什么运行到这出错,提示eNotOpenWrite?高手帮帮忙?
你的块表打开的状态不是【写】的!
回复

使用道具 举报

11

主题

21

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 2009-11-27 17:53:00 | 显示全部楼层
谢谢!已解决~
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-5 21:54 , Processed in 0.270293 second(s), 58 queries .

© 2020-2025 乐筑天下

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