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

         

Вставлять блок с атрибутами в рисунок


1 Создают примитив блок-ссылки (AcDbBlockReference).

2 Называют setBlockTableRecord () функцией, чтобы определить объект ID упомянутой записи таблицы блоков. (Объект ID может также быть определен непосредственно в конструкторе блок-ссылки.)

3 Добавляют в конец блок-ссылку к записи таблицы блоков (пространство модели, пространство листа, или некоторый другой блок).

4 Используют запись таблицы блоков iterator на упомянутой записи таблицы блоков, ища определения атрибута. Для каждого найденного, создайте новый AcDbAttribute примитив, заполните это с данными определения атрибута, и затем добавьте в конец это к блок-ссылке, используя appendAttribute () функция.

Следующий пример создает блок-ссылку, заполняет атрибуты, и добавляет ссылку к базе данных. Это использует глобальные функции, чтобы получить ввод пользователя. CreateBlockWithAttributes () функция, показанная в предыдущем разделе используется, чтобы создать блок-ссылку. Этот пример использует запись таблицы блоков iterator, чтобы шагнуть через определения атрибута и создавать соответствующий атрибут для каждого определения атрибута. Атрибуты со значением установлены от первоначального определения атрибута, используя setPropertiesFrom () функция.

void

addBlockWithAttributes()

{

// Get an insertion point for the block reference,

// definition, and attribute definition.

//

AcGePoint3d basePoint;

if (acedGetPoint(NULL, "\nEnter insertion point: ",

asDblArray(basePoint)) != RTNORM)

return;

// Get the rotation angle for the attribute definition.

//

double textAngle;

if (acedGetAngle(asDblArray(basePoint),

"\nEnter rotation angle: ", &textAngle) != RTNORM)

return;

// Define the height used for the attribute definition text.

//

double textHeight;

if (acedGetDist(asDblArray(basePoint),

"\nEnter text height: ", &textHeight) != RTNORM)

return;

// Build the block definition to be inserted.

//

AcDbObjectId blockId;

defineBlockWithAttributes(blockId, basePoint,



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







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий