天气与日历 切换到窄版

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

清除嵌套匿名块

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

    [LV.6]常住居民II

    410

    主题

    167

    回帖

    2704

    积分

    管理员

    积分
    2704
    发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
    Acad::ErrorStatus Grazie::purge()
    {
        Acad::ErrorStatus es;
        AcDbObjectIdArray ids;
        AcDbObjectId id;

        CString nome=L"";
        AcDbObjectId tblRecId;

        AcDbDatabase *pDbUse=acdbHostApplicationServices()->workingDatabase();
        ids.setLogicalLength(0).setPhysicalLength(0);

        AcDbBlockTable *pBlockTable;
        es=acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pBlockTable, AcDb::kForWrite);

        AcDbBlockTableIterator* tblIter;
        es = pBlockTable->newIterator(tblIter);
        if (es == Acad::eOk)
        {
          // walk table and just collect all the objIds
          // of the entries
            for (; !tblIter->done(); tblIter->step())
            {
                AcDbBlockTableRecord* blkRec;
                es = tblIter->getRecord(blkRec, AcDb::kForWrite);
                if (es == Acad::eOk)
                {
                    //if(blkRec->isKindOf(AcDbBlockReference::desc()))
                    {
                        if (blkRec->isAnonymous())
                        {
                            ACHAR* locName;
                            blkRec->getName(locName);
                            id=blkRec->id();
                            ids.append(id);
      
                        }
                    }
                    blkRec->close();
                }
            }
            delete tblIter;
        }
        pBlockTable->close();

        es=pDbUse->purge(ids);

        es = pBlockTable->newIterator(tblIter);
        if (es == Acad::eOk)
        {
          // walk table and just collect all the objIds
          // of the entries
            for (; !tblIter->done(); tblIter->step())
            {
                AcDbBlockTableRecord* blkRec;
                es = tblIter->getRecord(blkRec, AcDb::kForWrite);
                if (es == Acad::eOk)
                {
                    //if(blkRec->isKindOf(AcDbBlockReference::desc()))
                    {
                        if (blkRec->isAnonymous())
                        {
                            ACHAR* locName;
                            blkRec->getName(locName);
                            id=blkRec->id();
                            if(ids.find(id)>=0)
                            {
                                nome=L"";
                                nome=locName;
    //                            if(nome.Find(L"*D")==0 || nome.Find(L"*U")==0)
                                    es=blkRec->erase();
                            }
                        }
                    }
                    blkRec->close();
                }
            }
            delete tblIter;
        }
        pBlockTable->close();
        ids.setLogicalLength(0).setPhysicalLength(0);

        return es;

    }[code][code][code]        int i, nCount = ids.length();
            for (i = 0; i < nCount; ++i)
            {
                    AcDbBlockTableRecord* blkRec=NULL;
                    if ( (es=acdbOpenObject(blkRec, ids[i], AcDb::kForWrite)) == Acad::eOk )
                    {
                            es = blkRec->erase();
                            blkRec->close();               
                    }
            }[/code][/code][/code]

                ACHAR* locName;
                blkRec->getName(locName);

     

     

     

     

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

    本版积分规则

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

    GMT+8, 2024-7-1 05:32 , Processed in 0.056715 second(s), 22 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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