4.3. Слои При создании сложных рисунков возникает необходимость присвоения имен отдельным объектам или группам объектов, чтобы ими можно было удобнее оперировать в дальнейшей работе. Особенно это важно при разработке сложных рисунков и своих собственных приложений, функционирующих в среде AutoCAD. Данной цели служит еще одно свойство примитивов — слой. Более того, слой обладает неоценимой возможностью замораживания (выключения), когда ряд второстепенных в данный момент объектов можно, не удаляя, сделать невидимыми, что позволит успешнее работать с главными объектами. Основной командой работы со слоями является команда LAYER (СЛОЙ), которой соответствуют кнопка панели Layers (Слои) и пункт Layer (Слои) падающего меню Format (Формат). Команда LAYER (СЛОЙ) открывает диалоговое окно Layer Properties Manager (Диспетчер свойств слоев) (рис. 4.14). Рис. 4.14. Диалоговое окно Layer Properties Manager Область Named layer filters (Именованные фильтры слоев) в левом верхнем углу — это область, в которой можно задать, все ли слои надо выводить в данное диалоговое окно, и если не все, то какой применить фильтр (т. е. критерий выборки). Раскрывающийся список содержит три варианта фильтров: Show all layers (Показать все слои); Show all used layers (Показать все используемые слои); Show all Xref dependent layers (Показать все зависимые от ссылок слои). К используемым относятся слои, на которых есть какие-то объекты рисунка, блоков или внешних ссылок (о блоках и внешних ссылках см. гл. 7). С помощью кнопки можно открыть диалоговое окно Named Layer Filters (Именованные фильтры слоев) (рис. 4.15) и создать свой фильтр слоев, присвоив ему имя. Рис. 4.15. Диалоговое окно Named Layer Filters В раскрывающемся списке Filter name (Имя фильтра) вы можете ввести имя своего фильтра и сохранить его в рисунке с помощью кнопки Add (Добавить). Установки для фильтра должны быть сделаны с помощью расположенных ниже раскрывающихся списков и полей: On/Off (Вкл/Откл); Freeze/Thaw (Заморожен/Разморожен); Current viewport (Активный ВЭкран); New viewport (Новый ВЭкран); Lock/Unlock (Блокирован/Разблокирован); Plot (Печать); Color (Цвет); Lineweight (Вес линии); Linetype (Тип линии); Plot style (Стиль печати). Установки, которые нужно сделать в этих полях для своего фильтра, будут понятны после ознакомления с описанными далее свойствами слоев. Кнопки Delete (Удалить) и Reset (Сброс) предназначены, соответственно, для удаления именованных фильтров и восстановления значений, предлагаемых системой по умолчанию. Новая кнопка Delete All (Удалить все) позволяет удалить из рисунка все фильтры, кроме трех стандартных. Кнопка Close (Закрыть) закрывает диалоговое окно Named Layer Filters (Именованные фильтры слоев), а кнопка Help (Справка) вызывает соответствующий раздел справочной системы. Продолжим рассмотрение диалогового окна Layer Properties Manager (Диспетчер свойств слоев) (см. рис. 4.14). Флажки Invert filters (Инвертировать фильтры) и Apply to layers toolbar (Применить к панели слоев) позволяют, соответственно, сменить фильтр на противоположный или применить его к списку слоев панели инструментов Layers (Слои). Один слой является текущим (активным). Его имя видно в левом верхнем углу ниже области Named layer filters (Именованные фильтры слоев): Current Layer: 0 (Текущий слой: 0) Текущий слои — это слой, на котором будут создаваться новые объекты. В правом верхнем углу расположены следующие кнопки: New (Новый) — создает новый слой: Delete (Удалить) — удаляет из рисунка слой (это возможно только в том случае, если слой является неиспользуемым); Current (Текущий) — устанавливает имя другого слоя в качестве текущего, это имя заносится в системную переменную CLAYER; Show details (С подробностями) — показывает в нижней части окна свойства отмеченного слоя в подробном виде; Save state (Сохранить состояние) — сохраняет текущие установки слоев в файле конфигурации с расширением las для последующего их восстановления; State Manager (Диспетчер конфигураций слоев) — вызывает диалоговое окно, в котором можно выбрать восстановление установок слоев, ранее сохраненных в файле с расширением las. В центральной части окна находится список слоев рисунка и их характеристик (свойств). В новом чертеже обязательно присутствует слой 0, который по умолчанию является текущим и который нельзя удалить. Каждый слой имеет характеристики, которые выводятся в виде заголовков столбцов. Если они не видны полностью, можно, устанавливая курсор на разделитель между столбцами, двигать его влево или вправо до такого места, чтобы нужные наименования хорошо читались. Другой способ — щелкнуть с помощью правой кнопки мыши по строке заголовков столбцов, после чего откроется контекстное меню с единственным пунктом Maximize column headings (Развернуть заголовки). Щелчок левой кнопкой мыши по появившейся строке разворачивает наименования столбцов полностью, но при этом часть столбцов может уйти вправо за пределы окна. Характеристики слоев следующие: Name (Имя) — имя слоя, длиной от 1 до 255 символов; On (Вкл) — состояние включения слоя (включен или выключен); Freeze in all VP (Замороженный на всех ВЭ) — состояние замораживания относительно всех видовых экранов одновременно (заморожен или разморожен); Lock (Блокированный) — состояние блокированности (блокирован или разблокирован); Color (Цвет) — текущий цвет для объектов слоя, у которых в качестве цвета задано значение By Layer (Послою); Linetype (Тип линии) — текущий тип линии для объектов слоя, у которых в качестве типа линии задано значение ByLayer (Послою); Lineweight (Вес линии) — текущий вес линии для объектов слоя, у которых в качестве веса задано значение ByLayer (Послою); Plot Style (Стиль печати) — стиль печати, применяемый при выводе к слою; Plot (Печать) — состояние объектов слоя относительно вывода на внешнее устройство (печатать или не печатать). При работе с видовыми экранами в пространстве листа к перечисленным характеристикам добавятся и другие, которые рассмотрены в гл. 10. Разберем приведенные основные характеристики более подробно. Имя слоя назначается пользователем и может иметь длину от 1 до 255 символов (символы — латинские и русские буквы, цифры и некоторые знаки). Не допускаются в именах запятые, точки, звездочки и другие. Пробелы в именах допускаются, но могут вызвать трудности в некоторых операциях. Для создания нового слоя нажмите кнопку New (Новый), после чего будет добавлена строка нового слоя с условным именем Layerl (Слой!) (а по мере создания слоев число в конце имени по умолчанию будет увеличиваться). Имя слоя в первый момент выделено и доступно для редактирования (рис. 4.16). Рис. 4.16. Задание имени нового слоя при его создании В это время вы можете изменить имя на любое удобное вам, а можете согласиться с предложенным. Следует иметь в виду, что имена слоев в одном рисунке не должны повторяться. Давайте согласимся с именем Layerl (Слой1) в качестве нового слоя, нажав кнопку ОК. Новый слой будет создан с теми же характеристиками, что и слой 0, имеющий на рис. 4.16 установки, присваиваемые по умолчанию. Следующая после имени характеристика слоя — On (Вкл). Если у слоя в этом столбце стоит значок (желтая лампочка), то слои считается включенным, если значок (синяя лампочка) — то выключенным. Объекты, расположенные на слое, который выключается, становятся временно невидимыми (до тех пор, пока слой не будет включен). Любой слой, даже текущий, может быть выключен (для текущего слоя система AutoCAD при выключении выдает предупреждение, поскольку примитивы, создаваемые на этом слое, будут временно исчезать). Третья характеристика слоя — Freeze in all VP (Замороженный на всех ВЭ). Если у слоя в этом столбце стоит значок (желтое солнце), то слои считается размороженным, если значок (синяя снежинка) — то замороженным. Объекты, расположенные на слое, который замораживается, становятся временно невидимыми (до тех пор, пока слой не будет разморожен). Любой слой, кроме текущего, может быть заморожен. Таким образом, объекты на данном слое видны только в том случае, если слой включен и разморожен одновременно. Следующая характеристика слоя — Lock (Блокированный). Если у слоя в этом столбце стоит значок (открытый замок), то слой считается разблокированным, если значок (закрытый замок) — то блокированным. На блокированном слое вы можете создавать новые объекты, но существующие примитивы редактировать или удалять нельзя. Характеристика Color (Цвет) говорит о реальном цвете объектов слоя, у которых в качестве цвета задано специальное значение ByLayer (Послою). Если в диалоговом окне Layer Properties Manager (Диспетчер свойств слоев) щелкнуть с помощью левой кнопки мыши по квадратному значку цвета слоя или наименованию цвета, то раскроется диалоговое окно Select Color (Выбор цвета), которое нам уже известно (см. рис. 4.6). При изменении цвета слоя изменится цвет и у тех примитивов, которые лежат на этом слое и имеют в качестве цвета значение ByLayer (Послою) (это значение тоже присутствует в диалоговом окне Select Color (Выбор цвета)). Следующая характеристика — Linetype (Тип линии). Она задает реальный тип линии, которым будут нарисованы объекты этого слоя, имеющие в качестве типа значение ByLayer (Послою). Если в диалоговом окне Layer Properties Manager (Диспетчер свойств слоев) щелкнуть с помощью левой кнопки мыши по значку типа линии или наименованию типа линии (чаще всего это Continuous), то раскроется диалоговое окно Select Linetype (Выбор типа линии) (рис. 4.17), в котором нужно выбрать нужный вам тип линии. Если требуемого типа линии в окне нет, можно выполнить его загрузку с помощью кнопки Load (Загрузить). Очередная характеристика слоя — Lineweight (Вес линии). Она задает реальный вес (толщину) линии, которым будут нарисованы объекты этого слоя, имеющие в качестве веса значение ByLayer (Послою). Если в диалоговом окне Layer Properties Manager (Диспетчер свойств слоев) (см. рис. 4.14) щелкнуть с помощью левой кнопки мыши по значку веса линии, то раскроется диалоговое окно Lineweight (Вес линии) (рис. 4.18), в котором вы можете установить нужный вес. О весах см. разд. 4.4. Рис. 4.17. Диалоговое окно Select Linetype Рис. 4.18. Диалоговое окно Lineweight Характеристика Plot Style (Стиль печати) (см. рис. 4.14) описывает стиль печати, применяемый при выводе слоя. О стилях печати см. разд. 6.3. Характеристика Plot (Печать) указывает, будут ли выводиться на печать объекты слоя, если даже он включен и разморожен. Значок (неперечеркнутый принтер) показывает, что объекты слоя будут печататься, а значок (зачеркнутый принтер) — не будут. Вспомогательные слои или слои, которые в данный момент не нужны, можно таким образом отсекать от вывода на графопостроитель или принтер. Разумеется, если слой выключить или заморозить, то его объекты тоже не будут распечатываться. Раскрывающийся список Layer (Слои) панели Layers (Слои) (пример приведен на рис. 4.19) теперь имеет большую ширину, чем он имел в предыдущих версиях системы AutoCAD в панели Object Properties (Свойства объектов). Он содержит имена всех слоев и их свойств и в закрытом виде показывает имя текущего слоя и значки его основных характеристик. Рис. 4.19. Раскрывающийся список Layer С помощью этого списка можно назначить новый текущий слой. Для этого надо открыть список слоев и переместить указатель на строку того слоя, который должен стать текущим, а затем щелкнуть левой кнопки мыши по имени слоя. Тот же список дает возможность быстрой корректировки основных характеристик любого существующего слоя: надо открыть список и щелкнуть по тому значку слоя, который должен изменить свой вид на противоположный. Для того чтобы закрыть измененный раскрывшийся список, необходимо щелкнуть левой кнопкой мыши в любой свободной области графического экрана. Однако раскрывающийся список Layer (Слои) нельзя использовать для создания нового слоя. Правая кнопка мыши, при нахождении курсора внутри списка слоев диалогового окна Layer Properties Manager (Диспетчер свойств слоев) (см. рис. 4.14), вызывает контекстное меню, приведенное на рис. 4.20. Рис. 4.20. Контекстное меню операций над слоями В это меню входят следующие операции над слоями: Make Current (Сделать текущим); New Layer (Новый слой); Select All (Выбрать все); Clear All (Очистить все); Select all but current (Выбрать все, кроме текущего); Invert selection (Инвертировать выбор); Invert layer filter (Инвертировать фильтр слоев); Layer filters (Фильтры слоев); Save layer states (Сохранить состояния слоев). Кнопка панели Layers (Слои) соответствует команде AI_MOLC, устанавливающей в качестве текущего слой того примитива, который вам нужно будет указать. Запрос команды: Select object whose layer will become current: (Выберите объект, слой которого должен стать текущим:) После указания объекта его слой назначается текущим. Кнопка соответствует команде LAYERP (СЛОЙП), которая позволяет вернуться к предыдущему состоянию слоев, но со следующими ограничениями: имена переименованных слоев не восстанавливаются; удаленные слои не восстанавливаются; новые слои не удаляются. Замечание Работой команды LAYERP (СЛОЙП) управляет другая команда — LAYERPMODE (СЛОЙПРЕЖИМ), которая разрешает или запрещает работу LAYERP (СЛОЙП). Если на одном или нескольких примитивах рисунка высветить ручки, тогда раскрывающийся список Layer (Слои) может быть использован для изменения слоя (т. е. переноса на другой слой) выделенных объектов, аналогично использованию раскрывающегося списка Color Control (Цвета) для изменения цвета объектов.