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



         

Манипуляция наборами выборов


Вы можете добавлять примитивы к набору выборов или удалять их из этого,  вызывая функции acedSSAdd () и acedSSDel (), которые являются подобными опциям Add и Remove, когда AutoCAD в интерактивном режиме запрашивает пользователя выбирать объекты или удалять объекты.

ОБРАТИТЕ ВНИМАНИЕ На acedSSAdd () функция может также использоваться, чтобы создать новый набор выборов, как показано в следующем примере. Как с acedSSGet (), acedSSAdd () создает новый выбор, устанавливают только, если это возвращает RTNORM.

Следующий типовой кодовый фрагмент создает набор выборов, который включает первые и последние примитивы в текущий рисунок.

 

ads_name fname, lname; // Entity names

ads_name ourset; // Selection set name

// Get the first entity in the drawing.

if (acdbEntNext(NULL, fname) != RTNORM) {

acdbFail("No entities in drawing\n");

return BAD;

}

// Create a selection set that contains the first entity.

if (acedSSAdd(fname, NULL, ourset) != RTNORM) {

acdbFail("Unable to create selection set\n");

return BAD;

}

// Get the last entity in the drawing.

if (acdbEntLast(lname) != RTNORM) {

acdbFail("No entities in drawing\n");

return BAD;

}

// Add the last entity to the same selection set.

if (acedSSAdd(lname, ourset, ourset) != RTNORM) {

acdbFail("Unable to add entity to selection set\n");

return BAD;

}

Пример выполняется правильно, даже если имеется только один примитив в базе данных (когда и acdbEntNext () и acdbEntLast () устанавливают их параметры в то же самое имя примитива). Если acedSSAdd () пропускают имя примитива, который является уже в наборе выборов, это игнорирует запрос и не сообщает о ошибке.

Поскольку пример также иллюстрирует, вторые и третьи параметры к acedSSAdd () можно пропускать как то же самое имя набора выбора. То есть если запрос успешен, набор выборов, названный обоими параметрами содержит дополнительного члена после acedSSAdd () возвращения (если указанный примитив не был уже в наборе выборов).




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