Выбор объектов
В K3 можно осуществлять выбор одного (и только одного) объекта либо выбор нескольких объектов. Очевидно, что выбор одного объекта может быть частным случаем выбора нескольких объектов, а может осуществляться отдельной командой — objident
.
Выбор нескольких объектов может выполняться с фильтром и без фильтра. Фильтр может быть по типу объекта (линия, дуга и пр. - см. Работа с фильтрами) и по атрибутам.
select [prompt <Prompt>] [stayblink] [partly|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;