天气与日历 切换到窄版

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

[每日一码] AcDbEntity::explode()函数用法例子代码

[复制链接]
  • TA的每日心情
    开心
    昨天 06:36
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    105

    主题

    11

    回帖

    1308

    积分

    管理员

    积分
    1308
    QQ
    发表于 2024-3-14 21:00:33 | 显示全部楼层 |阅读模式
    1. static void test(void)
    2. {
    3.         ads采用name ent;
    4.         ads采用point pt;
    5.         if (acedEntSel(采用T("/n请选择对象:"), ent, pt) != RTNORM)
    6.         {
    7.                 return;
    8.         }
    9.         AcDbObjectId entId;
    10.         acdbGetObjectId(entId, ent);
    11.         AcDbEntity *pEnt = NULL;
    12.         acdbOpenObject(pEnt, entId, AcDb::kForWrite);
    13.         AcDbVoidPtrArray pExps;
    14.         if (pEnt->explode(pExps) == Acad::eOk)
    15.         {
    16.                 for (int i = 0; i < pExps.length(); i++)
    17.                 {
    18.                         AcDbEntity *pExpEnt = (AcDbEntity*)pExps<i>;
    19.                         acutPrintf(采用T("/n分解后的对象类型名是: %s"), (pExpEnt->isA()->name()));
    20.                         AppendEntity(pExpEnt);
    21.                 }
    22.                 pEnt->erase(true);
    23.         }
    24.         else
    25.         {
    26.                 acutPrintf(采用T("/n该对象不能被分解!"));
    27.         }
    28.         pEnt->close();
    29. }
    30. 添加实体到数据库:
    31. static AcDbObjectId AppendEntity(AcDbEntity *pEnt)
    32. {
    33.         AcDbDatabase *pDb = acdbHostApplicationServices()->workingDatabase();
    34.         AcDbBlockTable *pBt;
    35.         pDb->getBlockTable(pBt, AcDb::kForRead);
    36.         AcDbBlockTableRecord *pBtr;
    37.         pBt->getAt(ACDB采用MODEL采用SPACE, pBtr, AcDb::kForWrite);
    38.         AcDbObjectId entId;
    39.         pBtr->appendAcDbEntity(entId, pEnt);
    40.         pBtr->close();
    41.         pBt->close();
    42.         pEnt->close();
    43.         return entId;
    44. }
    复制代码

     

     

     

     

    [每日一码] AcDbEntity::explode()函数用法例子代码
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

    GMT+8, 2024-11-1 08:15 , Processed in 0.183735 second(s), 29 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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