Слои

Материал из K3-Macro
Макро | Создание макропрограмм | Переменные и выражения | Вызов из ZIP | Типовые параметры | Создание геом. объектов | Буфер обмена | Сценарии | Параметрические библиотеки | Геометрические характеристики | Атрибуты | Структурные объекты | Текстовые файлы | Системные параметры | Работа с файлами | Редактирование объектов | Удаление объектов | Размеры | Штриховка | Объект «Текст» | Камера | Работа с видом | Наборы параметров | Запрос информации у пользователя | Фильтры | Слои | Графы | Универсальные плоские объекты | Функции работы с системой | Функции работы с объектами сцены | Работа с динамически подключаемыми библиотеками | Функции работы с массивами | Работа со строками | Математические функции | Работа с файлами DBF dBASE IV | Унифицированная работа с базами данных | Вычисление выражений | Присвоение имени объекту | Откатка и восстановление команд | Изменение режима трассировки макропрограмм | Вызов внешних приложений и задач | Проверка условия | Проверка типа переменной | Установкв статуса вывода сообщений | Выдача системного сообщения | Выбор объектов | Версия системы | Информация о системе | Проверка принадлежности к списку | Помещение строки в буфер команд | Получение метапути | Установка курсора ожидания | Мебельные команды и функции для макропрограммирования‎

Состояние слоев
Редактирование слоёв

В K3 возможна работа со слоями. Работа со слоями в K3 представляет собой набор инструментов, практически идентичных работе со слоями в других системах автоматизированного проектирования (САПР).

В общем случае слои в K3 можно представить как набор прозрачных "пленок", наложенных одна на другую. Каждый слой в K3 может иметь свое имя, цвет, толщину линии и другие характеристики. Слой может быть включен или выключен, на слое может быть разрешено или не разрешено редактирование объектов.

В интерактивном режиме практически вся работа со слоями осуществляется при помощи диалоговых окон, представленных на рисунках.

Команды и функции работы со слоями повторяют опции данных диалоговых окон.

В данном разделе собрано описание команд и функций, позволяющих осуществлять операции по работе со слоями.

Работа со слоями[править | править код]

layers [<Params> done]

Команда layers осуществляет работу со слоями, согласно параметрам <Params>, представленным в следующих разделах. Если параметры <Params> отсутствуют, работа осуществляется при помощи диалогового окна, представленного на рисунке выше.

Если в команде опустить параметр с именем слоя, с которым нужно произвести те или иные действия (<Name>), то выбор слоя осуществляется при помощи диалогового окна, представленного на рисунке выше. Для выбора слоя в данном случае его нужно указать в первой колонке диалогового окна.

Pluso.png Слой с именем "0" не может быть ни удален, ни переименован.
I.png В процессе работы со слоями можно устанавливать цвет, толщину и тип линии объектов слоя, а также графический коэффициент. При этом, если объект имеет одну из указанных характеристик "По слою", то именно этот цвет (толщину, тип линии, графический коэффициент) он и получит. При этом любую из указанных характеристик объект может иметь явно и отличную от характеристик слоя. Например, для слоя установлен цвет - зеленый. Этим цветом по-умолчанию будут отображаться все объекты в слое, если только объекту явно не приписан другой цвет.

Создание нового слоя[править | править код]

layers new <Name>

Команда создает новый слой в списке слоев с именем <Name>. Текущим при этом остается слой, который был до создания нового. Максимальное число созданных слоев - 255.


layers make <Name>

Команда создает новый слой в списке слоев с именем <Name> и делает его текущим.

I.png Если слой с именем <Name> удален, то команда layers make снимает пометку на удаление.


layers rename <OldName> <NewName>

Команда переименовывает слой в списке слоев с именем <OldName> и устанавливает у него имя <NewName>.

Смена текущего слоя[править | править код]

layers set <Name>

Команда делает текущим слой именем <Name>. Слой с данным именем уже должен существовать.

I.png Если слой с именем <Name> удален, то команда layers set снимает пометку на удаление.

Включение/выключение слоя[править | править код]

layers {on | off} {<Name> | all}

Команда включает (on) или выключает (off) слой с именем <Name>. Если указан ключ all, то команда включает (или выключает) все слои. Объекты, расположенные на выключенном слое не отображаются.

I.png Действие этой (и некоторых других) команд работы со слоями распространяется только на слои, непомеченные к удалению (см. рисунок выше, второй столбец справа). Подробнее об удалении слоев см. раздел "Удаление слоя"

Блокировка слоя[править | править код]

layers {lock | unlock} {<Name> | all}

Команда блокирует (lock) или разблокирует (unlock) слой с именем <Name>. Если указан ключ all, то команда блокирует (или разблокирует) все слои. Объекты, расположенные на заблокированном слое нельзя ни отредактировать, ни удалить. Добавление новых объектов допускается.

I.png Действие этой (и некоторых других) команд работы со слоями распространяется только на слои, непомеченные к удалению (см. рисунок выше, второй столбец справа). Подробнее об удалении слоев см раздел "Удаление слоя"

Цвет объектов слоя[править | править код]

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" удалить нельзя.

I.png Механизм удаления слоев действует следующим образом. При удалении слоев реально слой не удаляется, а только помечается к удалению (галочка во втором справа столбце диалогового окна). Реально слой удалится при повторном открытии файла, в котором слои помечены к удалению. Снять пометку к удалению слоя можно исключительно при помощи диалогового окна.

Список слоев[править | править код]

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>.

См. также[править | править код]


Макро | Создание макропрограмм | Переменные и выражения | Вызов из ZIP | Типовые параметры | Создание геом. объектов | Буфер обмена | Сценарии | Параметрические библиотеки | Геометрические характеристики | Атрибуты | Структурные объекты | Текстовые файлы | Системные параметры | Работа с файлами | Редактирование объектов | Удаление объектов | Размеры | Штриховка | Объект «Текст» | Камера | Работа с видом | Наборы параметров | Запрос информации у пользователя | Фильтры | Слои | Графы | Универсальные плоские объекты | Функции работы с системой | Функции работы с объектами сцены | Работа с динамически подключаемыми библиотеками | Функции работы с массивами | Работа со строками | Математические функции | Работа с файлами DBF dBASE IV | Унифицированная работа с базами данных | Вычисление выражений | Присвоение имени объекту | Откатка и восстановление команд | Изменение режима трассировки макропрограмм | Вызов внешних приложений и задач | Проверка условия | Проверка типа переменной | Установкв статуса вывода сообщений | Выдача системного сообщения | Выбор объектов | Версия системы | Информация о системе | Проверка принадлежности к списку | Помещение строки в буфер команд | Получение метапути | Установка курсора ожидания | Мебельные команды и функции для макропрограммирования‎