zoukankan      html  css  js  c++  java
  • 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;

  • 相关阅读:
    File类总结
    MyBatis框架一级缓存与二级缓存
    SpringMVC运行原理总结
    SpringMVC:详述拦截器
    SpringMVC:自定义视图及其执行过程
    详述ThreadLocal
    浅析MVC中的数据流动
    error: gpg failed to sign the data 的一个解决办法
    保险业务核心系统设计参考
    奇怪的404
  • 原文地址:https://www.cnblogs.com/mjgw/p/12406152.html
Copyright © 2011-2022 走看看