• objectarx 把当前图形输出


    方法1: 

    AcDbDatabase *pdb;
     acdbCurDwg()->wblock(pdb);
     pdb->saveAs(str);
     pdb->closeInput(true);
     delete pdb;

    方法2:

    AcDbDatabase * pDB=acdbHostApplicationServices()->workingDatabase();
     AcDbBlockTable *pBT1;
     pDB->getBlockTable(pBT1,AcDb::kForRead);

     AcDbBlockTableRecord *pBTR1;
     pBT1->getAt(ACDB_MODEL_SPACE,pBTR1,AcDb::kForRead);
     AcDbBlockTableRecordIterator * pBTRIt;
     AcDbObjectIdArray objArr;
     AcDbIdMapping idMap;

     pBTR1->newIterator(pBTRIt);
     pBTRIt->start();

     for (;!pBTRIt->done();pBTRIt->step())
     {
      AcDbObjectId objID;
      pBTRIt->getEntityId(objID);
      objArr.append(objID); 
     }
     delete pBTRIt;
     pBTR1->close();
     pBT1->close();
     AcDbDatabase* pTempDb=new AcDbDatabase();
     idMap.setDestDb(pTempDb);
     pTempDb->getSymbolTable(pBT1,AcDb::kForRead);
     Acad::ErrorStatus e;
     AcDbBlockTableRecord * pBTR2;
     AcDbObjectId pSpaceObjID;
     pBT1->getAt(ACDB_MODEL_SPACE,pSpaceObjID);
     pBT1->close();
     // pSpaceObjID=getBlockId(ACDB_PAPER_SPACE);

     e=pTempDb->wblockCloneObjects(objArr,pSpaceObjID,idMap,AcDb::kDrcIgnore);
     //acdbHostApplicationServices()->setWorkingDatabase(pTempDb);
     
     //if (Acad::eOk!=acdbHostApplicationServices()->workingDatabase()
      //->insert(AcGeMatrix3d::kIdentity,pTempDb))
     //{
      //acedAlert(_T("insert 操作失败!"));
     //}
     
     //delete pTempDb;
     pTempDb->saveAs(str);
     delete  pTempDb;

  • 相关阅读:
    [科普]DNS相关的攻击介绍
    php过滤函数
    robots.txt 文件指南
    【转】mysql函数
    java入门篇17 -- JDBC编程
    java入门16 -- http编程
    java入门篇14 --- tcp/udp
    java入门篇13 -- 多线程
    java入门篇12 --- IO操作
    java入门篇11 --- 集合
  • 原文地址:https://www.cnblogs.com/mjgw/p/12406152.html
Copyright © 2020-2023  润新知