ObjectARX, AutoCAD. Среда программирования библиотеки C++


         

Типичная операция глубокого клона - часть 2


// this example.

//

AcDbBlockTable *pBlockTable;

acdbHostApplicationServices()->workingDatabase()

->getSymbolTable(pBlockTable, AcDb::kForRead);

AcDbObjectId modelSpaceId;

pBlockTable->getAt(ACDB_MODEL_SPACE, modelSpaceId);

pBlockTable->close();

// Step 4: Create a new ID map.

//

AcDbIdMapping idMap;

// Step 5: Call deepCloneObjects().

//

acdbHostApplicationServices()->workingDatabase()

->deepCloneObjects(objList, modelSpaceId, idMap);

// Now we can go through the ID map and do whatever we’d

// like to the original and/or clone objects.

//

// For this example, we’ll print out the object IDs of

// the new objects resulting from the cloning process.

//

AcDbIdMappingIter iter(idMap);

for (iter.start(); !iter.done(); iter.next()) {

AcDbIdPair idPair;

iter.getMap(idPair);

if (!idPair.isCloned())

continue;

acutPrintf("\nObjectId is: %Ld", idPair.value().asOldId());

}

}




Содержание  Назад  Вперед