Автоматизация AutoCAD

Подготовка подложки — слои DWG/DXF

Выключить лишние слои подложки одной командой: правила по маскам → готовый LSP-скрипт для AutoCAD/nanoCAD (и SCR для старых LT).

Отключение лишних слоёв подложки по правилам «маска слоя → действие» (выключить, заморозить, заблокировать, не трогать). Из правил генерируется AutoLISP-файл: одна команда приводит слои любого похожего чертежа в порядок, вторая возвращает всё обратно — правила по маскам переиспользуются на всех типовых чертежах.

Список слоёв берётся из DXF-файла (читается локально в браузере и никуда не загружается; DWG предварительно сохраните как DXF), из вывода команды «-СЛОЙ → ?» или из типовых наборов масок. Синтаксис масок — wcmatch AutoLISP: звёздочка — любые символы, «?» — один символ, «#» — цифра, «~» в начале — «кроме», запятая разделяет маски. Правила применяются сверху вниз, действует первое совпавшее: «не трогать» выше по списку — исключение из масок ниже.

Имена слоёв не стандартизированы — у каждой организации свой шаблон, поэтому стартовые наборы сверьте со слоями реального проекта. Разница действий: выключенный слой скрыт; замороженный ещё и не пересчитывается при регенерации (быстрее на тяжёлых чертежах); заблокированный виден, но защищён от выбора и правок.

Вопросы и ответы

Почему загружается DXF, а не DWG?

DWG — закрытый двоичный формат, сервис его не читает. Сохраните копию как DXF («Сохранить как → DXF», пакетно — бесплатный ODA File Converter): его таблица слоёв текстовая и читается локально, файл никуда не отправляется. Либо вставьте список слоёв текстом: команда -СЛОЙ → «?» печатает его в текстовое окно (F2).

Скрипт привязан к конкретному чертежу?

Нет: правила задаются масками (АР*, ОВ* и т. п.), поэтому одна команда работает на любом чертеже с похожей структурой слоёв. Настраивается один раз под типовые проекты организации, дальше в каждой новой подложке достаточно набрать команду.

Работает ли LSP в AutoCAD LT и nanoCAD?

Полный AutoCAD и nanoCAD — да. AutoCAD LT 2023 и старше — нет (там нет AutoLISP); в LT 2024+ AutoLISP появился и, по справке Autodesk, используемые vla-/vlax-функции поддерживаются (внешние COM-объекты — нет), однако на LT работа не проверялась. Для LT сервис генерирует упрощённый вариант SCR (командный сценарий): он не поддерживает исключения «не трогать» и порядок правил, но маски выключения/заморозки/блокировки отрабатывает.

Как загрузить LSP-файл в AutoCAD?

Разово — перетащите файл в окно чертежа или выполните ЗАГПРИЛ (_APPLOAD). Чтобы команда была в каждом чертеже, добавьте файл в автозагрузку: ЗАГПРИЛ → «Приложения, загружаемые с автозагрузкой» (Startup Suite). После загрузки наберите имя команды в командной строке.

Как вернуть слои обратно?

Вместе с основной командой генерируется команда «ИМЯ-СБРОС»: она включает, размораживает и разблокирует все слои чертежа. Точечно состояние слоёв можно вернуть и штатным диспетчером слоёв.