Выбор объектов (макро)

Материал из GEOS_WIKI
Перейти к: навигация, поиск

Эта статья — о макрокоманде. Об указании и выборе объектов в интерфейсе К3-Мебель читайте здесь

В K3 можно осуществлять выбор одного (и только одного) объекта либо выбор нескольких объектов. Очевидно, что выбор одного объекта может быть частным случаем выбора нескольких объектов, а может осуществляться отдельной командой — objident.

Выбор нескольких объектов может выполняться с фильтром и без фильтра. Фильтр может быть по типу объекта (линия, дуга и пр. - см. Работа с фильтрами) и по атрибутам.


select [prompt <Prompt>] [stayblink] [partly|tree|wholly] [done] <Objects>

Команда select осуществляет выбор объектов <Objects> и помещает их в список выбранных. Необязательный ключ prompt <Prompt> задает подсказку выбора объектов. Получить объект из списка выбранных можно, например, с помощью функции GetSelNum. Необязательный ключ stayblink позволяет оставить выделение выбранных объектов по завершению команды select. Команда select сбрасывает выделение ранее выбранных объектов.

Необязательный ключ done позволяет отказаться от выбора объектов без завершения макропрограммы. Нажатие клавиши Esc позволяет отказаться от выбора объектов с завершением макропрограммы.


selbyattr <Filter> [prompt <Prompt>] [stayblink] [wholly|partly|child] <Objects>

Команда selbyattr позволяет пользователю указывать (выбирать) только те объекты <Objects> сцены, атрибуты которых удовлетворяют условию, записанному в текстовой строке <Filter>, и помещает их в список выбранных. Получить объект из списка выбранных можно, например, с помощью функции GetSelNum. Необязательный ключ prompt <Prompt> задает подсказку выбора объектов. Ключи wholly и partly позволяют осуществлять выбор только среди объектов верхнего уровня (wholly) или выбирать объекты максимального уровня, удовлетворяющие условию <Filter> (partly). Если ключ явно не задан, то считается заданным ключ wholly. Необязательный ключ stayblink позволяет оставить выделение выбранных объектов по завершению команды selbyattr.

Если задан ключ child, то в список выбранных попадут все объекты, удовлетворяющие условию <Filter>, родителями которых являются объекты <Objects>. Если условию удовлетворяют сами объекты <Objects>, то они так же попадут в список выбранных. В список выбранных попадают объекты, минимального уровня вложенности. То есть, если объект типа "группа" удовлетворяет условию и объекты, входящие в эту группу так же удовлетворяют условию, то в списке выбранных будет только объект "группа".

Пример:

// Выбор всех объектов сцены
select all done;
// Удаление первого объекта из списка выбранных
delete getselnum(1) done; 
//Выбор всех объектов, у которых атрибут "Posit" равен 10
selbyattr "Posit==10" all done;