找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 134|回复: 0

实体发布到模型空间

[复制链接]

0

主题

0

回帖

26

积分

管理员

积分
26
发表于 2024-3-6 11:44:10 | 显示全部楼层 |阅读模式
  1. AcDbObjectId CDwgDataBaseUtil::PostToModelSpace(AcDbEntity *pEnt, AcDbDatabase *pDb) {
  2.         if (pEnt == NULL) {
  3.                 return AcDbObjectId::kNull;//空指针
  4.         }
  5.         AcDbBlockTable *pTable;//块表
  6.         AcDbBlockTableRecord *blkTblRec;//模型空间记录
  7.         AcDbObjectId objId;//对象ID
  8.         pDb->getBlockTable(pTable, AcDb::OpenMode::kForRead);
  9.         //从数据库pDb中获取块表(block table),并将其存储在变量pTable中。这个操作使用只读模式。
  10.         pTable->getAt(ACDB采用MODEL采用SPACE, blkTblRec,AcDb::OpenMode::kForWrite);
  11.         //在块表(block table)中获取模型空间的记录,并将其存储在变量blkTblRec中。这个操作使用写入模式。
  12.         pTable->close();//关闭块表(block table)
  13.        
  14.         Acad::ErrorStatus status=blkTblRec->appendAcDbEntity(objId,pEnt);
  15.         //在模型空间记录(block table record)中追加实体。如果操作成功,则返回状态码Acad::eOk;否则,返回其他状态码。
  16.         if (status != Acad::eOk) {
  17.                 blkTblRec->close();
  18.                
  19.                 delete pEnt;
  20.                 pEnt = NULL;
  21.                 return AcDbObjectId::kNull;
  22.         }
  23.         blkTblRec->close();
  24.         pEnt->close();
  25.         return objId;
  26. }
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|膜结构网

GMT+8, 2024-12-28 14:41 , Processed in 0.107792 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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