Слои

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

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

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

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

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

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

Работа со слоями

layers [<Params> done]

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

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



Примечание 1. Слой с именем "0" не может быть ни удален, ни переименован.

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



Создание нового слоя

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

Тип линии объектов слоя

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) соответствующего слоя. Если число слоёв больше размерности массива, массив заполняется до конца, игнорируя не уместившиеся названия слоёв.

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