找回密码
 立即注册

QQ登录

只需一步,快速开始

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

objectarx 删除块定义

[复制链接]

1

主题

0

回帖

35

积分

管理员

积分
35
发表于 2024-3-16 09:44:32 | 显示全部楼层 |阅读模式
  1. void DeleteBlockDefinition(AcDbDatabase* pDb, const char* blockName)
  2. {
  3.     // 打开块字典
  4.     AcDbDictionary *pBlockDict;
  5.     Acad::ErrorStatus es = pDb->getSymbolTable(pBlockDict, AcDb::kForWrite);
  6.     if (es != Acad::eOk) return;
  7.     AcDbObjectId blkId;
  8.     es = pBlockDict->getAt(blockName, blkId);
  9.     if (es == Acad::eOk)
  10.     {
  11.         AcDbBlockTableRecord* pBlockRec;
  12.         es = blkId.openAcDbObject(pBlockRec, AcDb::kForWrite);
  13.         if (es == Acad::eOk)
  14.         {
  15.             // 删除块内所有实体(如果需要)
  16.             // ...
  17.             
  18.             // 删除块定义
  19.             pBlockRec->erase();
  20.             pBlockRec->close();
  21.         }
  22.     }
  23.     pBlockDict->close();
  24. }
  25. // 示例使用
  26. DeleteBlockDefinition(pDb, "MyBlock");
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-1-1 18:16 , Processed in 0.115450 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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