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

       

Списки Фильтра Набора Выбора


Когда entmask параметр определяет, что список значений поля примитива, acedSSGet () просматривает выбранные примитивы и создает набор выборов, содержащий названия{*имена*} всех основных примитивов, которые соответствуют{*согласовывают*} указанным критериям. Например, используя этот механизм, Вы можете получить набор выборов, который включает все примитивы данного типа, на данном уровне, или данного цвета.

Вы можете использовать фильтр вместе с любой из опций выбора. Опция “X” говорит, что создала набор выборов, используя только фильтрация; как в предыдущих версиях AutoCAD, если Вы используете,  опция “X”, acedSSGet () просматривает полную базу данных рисунка.

ОБРАТИТЕ ВНИМАНИЕ, определена ли только фильтрация (“X”) но entmask параметр - NULL, acedSSGet () выбирает все примитивы в базе данных.

Entmask параметр должен быть список буфера результата. Каждый буфер определяет свойство, чтобы проверить{*отметить*} и значение, которое составляет соответствие; restype поле буфера - код группы DXF, который указывает вид свойства, чтобы смотреть для, и его resval поле определяет значение, чтобы соответствовать{*согласовать*}.

Следующее - некоторые примеры.

struct resbuf eb1, eb2, eb3;

char sbuf1[10], sbuf2[10]; // Buffers to hold strings

ads_name ssname1, ssname2;

eb1.restype = 0;// Entity name

strcpy(sbuf1, "CIRCLE");

eb1.resval.rstring = sbuf1;

eb1.rbnext = NULL; // No other properties

// Retrieve all circles.

acedSSGet("X", NULL, NULL, &eb1, ssname1);

eb2.restype = 8; // Layer name

strcpy(sbuf2, "FLOOR3");

eb2.resval.rstring = sbuf2;

eb2.rbnext = NULL; // No other properties

// Retrieve all entities on layer FLOOR3.

acedSSGet("X", NULL, NULL, &eb2, ssname2);

ОБРАТИТЕ ВНИМАНИЕ resval, указанный в каждом буфере должен иметь соответствующий тип.

Например, типы имени - строки (resval.rstring); повышение и толщина - с двойной точностью с плавающей точкой значения (resval.rreal); цвет, признаки - следуйте, и пометьте значения - короткие целые числа (resval.rint); векторы вытеснения - трехмерные точки (resval.rpoint); и т.д.



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







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