找回密码
 立即注册

QQ登录

只需一步,快速开始

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

[每日一码] ARX 创建组实例(新建组,选择实体添加到组,输入层,修改组所在的层)

[复制链接]

0

主题

0

回帖

28

积分

管理员

积分
28
发表于 2024-3-14 20:05:03 | 显示全部楼层 |阅读模式
  1. static void TESTgrpcmd()  
  2. {  
  3.         CString strGrp;  
  4.         if(acedGetString(0,采用T("\n输入组名"),strGrp.GetBuffer(10)) != RTNORM)  
  5.         {  
  6.                 return;  
  7.         }  
  8.         strGrp.ReleaseBuffer();  
  9.         ads采用name ss;  
  10.         if(acedSSGet(NULL,NULL,NULL,NULL,ss) != RTNORM)  
  11.         {  
  12.                 return;  
  13.         }  
  14.         CString strLayer;  
  15.         if(acedGetString(0,采用T("\n输入层名称"),strLayer.GetBuffer(10)) != RTNORM)  
  16.         {  
  17.                 acedSSFree(ss);  
  18.                 return;  
  19.         }  
  20.         ////创建组,改变层  
  21.         AcDbGroup* pGrp = new AcDbGroup(strGrp);  
  22.         long len ;  
  23.         acedSSLength(ss,&len);  
  24.         AcDbObjectId idObj;  
  25.         ads采用name enName;  
  26.         AcDbEntity* pEnt;  
  27.         ErrorStatus es;  
  28.         for(int i = 0;i < len;i ++)  
  29.         {  
  30.                 if(acedSSName(ss,i,enName) != RTNORM)  
  31.                 {  
  32.                         continue;  
  33.                 }  
  34.                 acdbGetObjectId(idObj,enName);  
  35.                 pGrp->append(idObj);  
  36.         }  
  37.         pGrp->setLayer(strLayer);  
  38.         ////把组添加到词典中  
  39.         AcDbDictionary* pGrpDic;  
  40.         acdbHostApplicationServices()->workingDatabase()->getGroupDictionary(pGrpDic,AcDb::kForWrite);  
  41.         AcDbObjectId idGrp;  
  42.         pGrpDic->setAt(strGrp,pGrp,idGrp);  
  43.         ////释放内存  
  44.         pGrp->close();  
  45.         pGrpDic->close();  
  46.         acedSSFree(ss);  
  47. }
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-29 04:45 , Processed in 0.154986 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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