天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 57|回复: 0

从组里面删除

[复制链接]
  • TA的每日心情
    开心
    6 小时前
  • 签到天数: 80 天

    [LV.6]常住居民II

    1543

    主题

    202

    回帖

    214748万

    积分

    管理员

    积分
    2147483647
    发表于 2024-3-29 22:53:12 | 显示全部楼层 |阅读模式
    1. static void RemoveFromGroup()
    2. {
    3.   ads_name ss;
    4.   resbuf rbPickStyle;
    5.   acedGetVar(_T("PICKSTYLE"), &rbPickStyle);
    6.   resbuf rbPickStyleNew = rbPickStyle;
    7.   rbPickStyleNew.resval.rint &= 0x02;
    8.   acedSetVar(_T("PICKSTYLE"), &rbPickStyleNew);
    9.   if (acedSSGet(NULL, NULL, NULL, NULL, ss) == RTNORM)
    10.   {
    11.     Adesk::Int32 n = 0;  acedSSLength(ss, &n);
    12.     if (n == 0) { acedSSFree(ss); return; }
    13.     AcDbObjectIdArray ids;
    14.     for (int i = 0; i < (int)n; i++)
    15.     {
    16.       ads_name en; acedSSName(ss, i, en);
    17.       AcDbObjectId id; acdbGetObjectId(id, en);
    18.       if (id.isValid()) ids.append(id);
    19.     }
    20.     acedSSFree(ss);

    21.     for (int i = 0; i < ids.length(); i++)
    22.     {
    23.       AcDbObjectId idEnt = ids[i];
    24.       const AcDbVoidPtrArray* reacts = NULL;
    25.       {
    26.         AcDbEntityPointer pEnt(idEnt, AcDb::kForRead);
    27.         if (pEnt.openStatus() == Acad::eOk)
    28.         {
    29.           reacts = pEnt->reactors();
    30.         }
    31.       }

    32.       if (reacts && reacts->length() > 0)
    33.       {
    34.         for (int j = 0; j < reacts->length(); j++)
    35.         {
    36.           if (acdbIsPersistentReactor(reacts->at(j)))
    37.           {
    38.             AcDbObjectId idReact = acdbPersistentReactorObjectId(reacts->at(j));
    39.             if (idReact.objectClass() == AcDbGroup::desc())
    40.             {
    41.               AcDbObjectPointer<AcDbGroup> pGroup(idReact, AcDb::kForWrite);
    42.               if (pGroup.openStatus() == Acad::eOk)
    43.               {
    44.                 // acutPrintf(_T("\nGroup name: '%s'"), pGroup->name());
    45.                 pGroup->remove(idEnt);
    46.                 if (pGroup->numEntities() == 0)
    47.                   pGroup->erase();
    48.               }
    49.             }
    50.           }
    51.         }
    52.       }
    53.     }
    54.   }
    55.   acedSetVar(_T("PICKSTYLE"), &rbPickStyle);
    56. }
    复制代码

     

     

     

     

    从组里面删除
    中国膜结构网打造全中国最好的膜结构综合平台 ,统一协调膜结构设计,膜结构施工,膜材采购,膜材定制,膜结构预算全方位服务。 中国空间膜结构协会合作单位。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|中国膜结构网_中国空间膜结构协会

    GMT+8, 2024-5-13 15:54 , Processed in 0.060151 second(s), 21 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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