zoukankan      html  css  js  c++  java
  • ObjectARX使用事务简单示例

    		AcDbDatabase *pDb = acDocManager->mdiActiveDocument()->database();
    		
    		if (!pDb)
    		{
    			acutPrintf(_T("
    NullDabase!"));
    			return;
    		}
    		AcTransaction *pTrans = actrTransactionManager->startTransaction();
    		if (!pTrans)
    		{
    			acutPrintf(_T("
    NullTransaction!"));
    			return;
    		}		
    		AcDbObject *pObj = NULL;
    		Acad::ErrorStatus es= pTrans->getObject(pObj,pDb->blockTableId(),AcDb::kForRead);
    		if (Acad::eOk != es || !pObj)
    		{
    			acutPrintf(_T("
    GetObject Error= %s !"),es);
    			actrTransactionManager->abortTransaction();
    			return;
    		}
    		AcDbBlockTable *pBlkTbl = AcDbBlockTable::cast(pObj);
    		if (!pBlkTbl)
    		{
    			acutPrintf(_T("
    Cast Error= %s !"),es);
    			actrTransactionManager->abortTransaction();
    			return;
    		}
    		AcDbObjectId msObjId;
    		es = pBlkTbl->getAt(ACDB_MODEL_SPACE,msObjId);
    		if (Acad::eOk != es)
    		{
    			acutPrintf(_T("
    GetObjId Error= %s !"),es);
    			actrTransactionManager->abortTransaction();
    			return;
    		}
    		es = pTrans->getObject(pObj,msObjId,AcDb::kForWrite);
    		if (Acad::eOk != es || !pObj)
    		{
    			acutPrintf(_T("
    GetObject Error= %s !"),es);
    			actrTransactionManager->abortTransaction();
    			return;
    		}
    		AcDbBlockTableRecord *pTblRcd=AcDbBlockTableRecord::cast(pObj);
    		if (!pTblRcd)
    		{
    			acutPrintf(_T("
    Cast Error= %s !"),es);
    			actrTransactionManager->abortTransaction();
    			return;
    		}
    		AcDbLine *pLine = new AcDbLine(AcGePoint3d(0,0,0),AcGePoint3d(500,0,0));
    		pLine->setColorIndex(1);
    		pTblRcd->appendAcDbEntity(pLine);
    		actrTransactionManager->addNewlyCreatedDBRObject(pLine,true);
    		actrTransactionManager->endTransaction();
    
  • 相关阅读:
    var 全局变量 局部变量
    C#的发展历程第五
    优雅的处理Redis访问超时
    《集体智慧编程》读书笔记10
    《集体智慧编程》读书笔记9
    C#码农的大数据之路
    C#码农的大数据之路
    C#码农的大数据之路
    C#码农的大数据之路
    .NET遇上Docker
  • 原文地址:https://www.cnblogs.com/edata/p/15368493.html
Copyright © 2011-2022 走看看