找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[教学] 一炸到底

[复制链接]

0

主题

0

回帖

26

积分

管理员

积分
26
发表于 2024-2-26 09:34:42 | 显示全部楼层 |阅读模式
  1. static void asdkMyGroupMyCommand () {
  2.                 // Put your command code here
  3.                 ads采用name ss;
  4.                 if (RTNORM!=acedSSGet(NULL,NULL,NULL,NULL,ss))
  5.                 {
  6.                         return;
  7.                 }
  8.                 long slen;
  9.                 acedSSLength(ss,&slen);
  10.                 ads采用name en;
  11.                 AcDbObjectId id;
  12.                 AcDbEntity* pEnt=NULL;
  13.                 Acad::ErrorStatus es;
  14.                 AcDbVoidPtrArray ids;
  15.                 for (long i=0;i<slen;i++)
  16.                 {
  17.                         acedSSName(ss,i,en);
  18.                         acdbGetObjectId(id,en);
  19.                         es=acdbOpenAcDbEntity(pEnt,id,AcDb::kForWrite);
  20.                         if (es==Acad::eOk);
  21.                         {
  22.                                 es=pEnt->explode(ids);
  23.                         }
  24.                         if (pEnt!=NULL)
  25.                         {
  26.                                 pEnt->close();
  27.                         }               
  28.                 }
  29.                 if (ids.isEmpty())
  30.                 {
  31.                         return;
  32.                 }
  33.                 int j=0;
  34.                 AcDbBlockTableRecordPointer btr(curDoc()->database()->currentSpaceId(),AcDb::kForWrite);
  35.                 if (btr.openStatus()!=Acad::eOk)
  36.                 {
  37.                         return;
  38.                 }
  39.                 bool flag=true;
  40.                 while(flag)
  41.                 {
  42.                         pEnt=(AcDbEntity *)ids.at(j);
  43.                         if (pEnt->explode(ids) !=Acad::eOk)
  44.                         {
  45.                                 btr->appendAcDbEntity(pEnt);
  46.                                 pEnt->close();
  47.                         }
  48.                         j++;
  49.                         if (j==ids.logicalLength())                        
  50.                                 flag=false;                 
  51.                 }
  52.         }
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-28 13:42 , Processed in 0.165184 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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