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



         

Функции Данных Примитива


Некоторые функции работают на данных примитива и могут использоваться, чтобы изменить базу данных текущего рисунка. AcdbEntDel () функция удаляет указанный примитив. Примитив не очищен от базы данных, пока Вы не оставляете текущий рисунок.

Так, если приложение вызывает acdbEntDel () второй раз в течение того сеанса и определяет тот же самый примитив, примитив восстановлен. (Вы можете использовать acdbHandEnt () чтобы восстановить{*отыскать*} названия{*имена*} удаленных примитивов.)

ОБРАТИТЕ ВНИМАНИЕ На использование acdbEntDel (), атрибуты, и вершина ломаной линии не может быть удалена независимо от их родительских примитивов; acdbEntDel () работает только на основных примитивах. Чтобы удалять атрибут или вершину, используйте acedCommand () или acedCmd () чтобы вызвать AutoCAD ATTEDIT или команды PEDIT, используйте acdbEntMod () чтобы переопределить примитив без нежелательных подпримитивов, или откройте вершину, или припишите, и используйте ее стирание () метод стереть это.

AcdbEntGet () функция возвращает данные определения указанного примитива.

Данные возвращены как список связей буферов результатов. Тип каждого элемента (буфер) в списке определен кодом группы DXF. Первый элемент в списке содержит текущее имя примитива (restype == -1).

ObjectARX-приложение могло отыскивать и печатать данные определения для примитива,  используя следующий две функции. (Printdxf () функция не обрабатывает расширенные данные.)

void getlast()

{

struct resbuf *ebuf, *eb;

ads_name ent1;

acdbEntLast(ent1);

ebuf = acdbEntGet(ent1);

eb = ebuf;

acutPrintf("\nResults of entgetting last entity\n");

// Print items in the list.

for (eb = ebuf; eb != NULL; eb = eb->rbnext)

printdxf(eb);

// Release the acdbEntGet() list.

acutRelRb(ebuf);

}

int printdxf(eb)

struct resbuf *eb;

{

int rt;

if (eb == NULL)

return RTNONE;

if ((eb->restype >= 0) && (eb->restype <= 9))

rt = RTSTR ;

else if ((eb->restype >= 10) && (eb->restype <= 19))




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