Слои
В K3 возможна работа со слоями. Работа со слоями в K3 представляет собой набор инструментов, практически идентичных работе со слоями в других системах автоматизированного проектирования (САПР).
В общем случае слои в K3 можно представить как набор прозрачных "пленок", наложенных одна на другую. Каждый слой в K3 может иметь свое имя, цвет, толщину линии и другие характеристики. Слой может быть включен или выключен, на слое может быть разрешено или не разрешено редактирование объектов.
В интерактивном режиме практически вся работа со слоями осуществляется при помощи диалоговых окон, представленных на рисунках.
Команды и функции работы со слоями повторяют опции данных диалоговых окон.
В данном разделе собрано описание команд и функций, позволяющих осуществлять операции по работе со слоями.
Работа со слоями
layers [<Params> done]
Команда layers осуществляет работу со слоями, согласно параметрам <Params>, представленным в следующих разделах. Если параметры <Params> отсутствуют, работа осуществляется при помощи диалогового окна, представленного на рисунке справа.
Если в команде опустить параметр с именем слоя, с которым нужно произвести те или иные действия (<Name>), то выбор слоя осуществляется при помощи диалогового окна, представленного на рисунке слева. Для выбора слоя в данном случае его нужно указать в первой колонке диалогового окна.
| Слой с именем "0" не может быть ни удален, ни переименован. |
Создание нового слоя
layers new <Name>
Команда создает новый слой в списке слоев с именем <Name>. Текущим при этом остается слой, который был до создания нового. Максимальное число созданных слоев — 255.
layers make <Name>
Команда создает новый слой в списке слоев с именем <Name> и делает его текущим.
Если слой с именем <Name> удален, то команда layers make снимает пометку на удаление.
|
layers rename <OldName> <NewName>
Команда переименовывает слой в списке слоев с именем <OldName> и устанавливает у него имя <NewName>.
Смена текущего слоя
layers set <Name>
Команда делает текущим слой именем <Name>. Слой с данным именем уже должен существовать.
Если слой с именем <Name> удален, то команда layers set снимает пометку на удаление.
|
Включение/выключение слоя
layers {on | off} {<Name> | all}
Команда включает (on) или выключает (off) слой с именем <Name>. Если указан ключ all, то команда включает (или выключает) все слои. Объекты, расположенные на выключенном слое не отображаются.
| Действие этой (и некоторых других) команд работы со слоями распространяется только на слои, непомеченные к удалению (см. рисунок справа, второй столбец справа). Подробнее об удалении слоев см. раздел "Удаление слоя" |
Блокировка слоя
layers {lock | unlock} {<Name> | all}
Команда блокирует (lock) или разблокирует (unlock) слой с именем <Name>. Если указан ключ all, то команда блокирует (или разблокирует) все слои. Объекты, расположенные на заблокированном слое нельзя ни отредактировать, ни удалить. Добавление новых объектов допускается.
| Действие этой (и некоторых других) команд работы со слоями распространяется только на слои, непомеченные к удалению (см. рисунок справа, второй столбец справа). Подробнее об удалении слоев см раздел "Удаление слоя" |
Цвет объектов слоя
layers color <Name> <Color>
Команда устанавливает цвет <Color> объектов слоя с именем <Name>.
Применить цвет к объектам слоя
доступно с 2.03.2020
layers applycolor <Name> {Yes|No}
Команда включает/выключает режим Применить цвет к объектам слоя для слоя с именем <Name>.
Если режим выключен, то при смене цвета слоя объекты, лежащие на этом слое, будут отображаться своим цветом. Если режим включен, объекты слоя будут отображаться цветом слоя. Аналогично при переносе с одного слоя на другой объекты отображаются цветом слоя-адресата только в том случае, если режим включен.
Тип линии объектов слоя
layers ltype <Name> <LineType>
Команда устанавливает тип линии <LineType> объектов слоя с именем <Name>.
Толщина линии объектов слоя
layers lwidth <Name> <LineWidth>
Команда устанавливает толщину линии <LineWidth> объектов слоя с именем <Name>.
Графический коэффициент объектов слоя
layers grfcoeff <Name> [{absolute | relative}] <GrfCoeff>
Команда устанавливает графический коэффициент (ключ absolute — по-умолчанию) или относительное изменение графического коэффициента относительно текущего (ключ relative) <GrfCoeff> объектов слоя с именем <Name>.
Удаление слоя
layers delete <Name>
layers delete all
Команда помечает к удалению слой в списке слоев с именем <Name> или все слои, кроме слоя с именем "0", если выбран ключ all. Текущий слой и слой с именем "0" удалить нельзя.
Список слоев
layers list
Команда выводит в командное окно список существующих слоев с их характеристиками (см. рисунок).
Функции работы со слоями
CountLayers
INT CountLayers()
Функция возвращает количество существующих, не удаленных слоев.
NameLayers
INT NameLayers(varname ARRAY <Arr>[, varname ARRAY <Off>])
Функция заносит в массив <Arr> имена существующих, не удаленных слоёв и возвращает количество заполненных элементов в массиве <Arr>, в массив <Off> состояние включен (0) или выключен(1) соответствующего слоя. Если число слоёв больше размерности массива <Arr>, то массив заполняется до конца, игнорируя не уместившиеся названия слоёв.
ExistsLayer
logical ExistsLayer(STRING <NameLayer>[, varname INT <Off>[, varname INT <Lock>]])
Функция определяет существование слоя по его имени. <NameLayer> — строка с названием слоя (регистр букв не важен). Дополнительные параметры определяют: <Off> — выключен (1) или включен (0) слой с именам <NameLayer>.; <Lock> — заблокирован (1) или разблокирован(0) слой с именем <NameLayer>.
Функция возвращает:
- 1 — слой с таким именем существует,
- 0 — слоя с таким именем не существует;
- -1 — слой с таким именем удален.
GetLayer
String GetLayer(Object <Obj>)
Функция возвращает имя слоя, которому принадлежит объект <Obj>.

