admin 发表于 2024-2-26 09:34:42

[教学] 一炸到底

static void asdkMyGroupMyCommand () {
                // Put your command code here
                ads采用name ss;
                if (RTNORM!=acedSSGet(NULL,NULL,NULL,NULL,ss))
                {
                        return;
                }
                long slen;
                acedSSLength(ss,&slen);
                ads采用name en;
                AcDbObjectId id;
                AcDbEntity* pEnt=NULL;
                Acad::ErrorStatus es;
                AcDbVoidPtrArray ids;
                for (long i=0;i<slen;i++)
                {
                        acedSSName(ss,i,en);
                        acdbGetObjectId(id,en);
                        es=acdbOpenAcDbEntity(pEnt,id,AcDb::kForWrite);
                        if (es==Acad::eOk);
                        {
                              es=pEnt->explode(ids);
                        }
                        if (pEnt!=NULL)
                        {
                              pEnt->close();
                        }               
                }
                if (ids.isEmpty())
                {
                        return;
                }
                int j=0;
                AcDbBlockTableRecordPointer btr(curDoc()->database()->currentSpaceId(),AcDb::kForWrite);
                if (btr.openStatus()!=Acad::eOk)
                {
                        return;
                }
                bool flag=true;
                while(flag)
                {
                        pEnt=(AcDbEntity *)ids.at(j);
                        if (pEnt->explode(ids) !=Acad::eOk)
                        {
                              btr->appendAcDbEntity(pEnt);
                              pEnt->close();
                        }
                        j++;
                        if (j==ids.logicalLength())                        
                              flag=false;               
                }
      }
页: [1]
查看完整版本: [教学] 一炸到底