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

       

Создание записи простой таблицы блока


Следующий пример демонстрирует создание новой записи таблицы блоков и добавления ее в конец этой таблицы. Он создает линию и добавляет ее в новый блок.

void

makeABlock()

{

// Create and name a new block table record.

//

AcDbBlockTableRecord *pBlockTableRec

= new AcDbBlockTableRecord();

pBlockTableRec->setName("ASDK-NO-ATTR");

// Get the block table.

//

AcDbBlockTable *pBlockTable = NULL;

acdbHostApplicationServices()->workingDatabase()

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

// Add the new block table record to the block table.

//

AcDbObjectId blockTableRecordId;

pBlockTable->add(blockTableRecordId, pBlockTableRec);

pBlockTable->close();

// Create and add a line entity to the component’s

// block record.

//

AcDbLine *pLine = new AcDbLine();

AcDbObjectId lineId;

pLine->setStartPoint(AcGePoint3d(3, 3, 0));

pLine->setEndPoint(AcGePoint3d(6, 6, 0));

pLine->setColorIndex(3);

pBlockTableRec->appendAcDbEntity(lineId, pLine);

pLine->close();

pBlockTableRec->close();

}



Содержание раздела