На этой странице я буду выкладывать исходные коды программ на языке лисп, которые я использую для упрощения решения типовых задач.
Команда: OBJTOLAYER
Описание: Этот код перемещает все объекты чертежа на один слой. Есть возможность указать имя слоя и опция удаления пустых слоев после перемещения.
Вводимые данные:
Имя слоя, если слоя с таким именем нет — он будет создан;
Удаление пустых слоев [да/ нет] — удаляет или оставляет пустые слои после перемещения объектов.
PS Этот код я написал по просьбе моего боевого товарища Ольги Семыкиной, разгребающей великолепные чертежи лучших проектировщиков нашей необъятной Родины.
Команда: COLORCHANGE
Описание: Эта маленькая программа позволяет в два клика изменить цвет всех слоев на нужный, а затем всем примитивам, в том числе внутри блоков, изменяет изменяет текущее значение свойства цвет на значение «по слою». Таким образом весь чертеж изменяет текущие цвета на цвет указанный вами.
Вводимые данные:
- Номер цвета — целое число от 1 до 255 — номера цветов из палитры автокада.
Внимание!
Цвет меняется у всех слоев без исключения! У заблокированных, выключенных, замороженных, даже у слоев внешних ссылок.
PS Использую данный код для упрощения работы с чудесно разноцветными файлами планировок, полученных от заказчика, если конечно у него они есть 🙂
Команда: LINESUM
Описание:Данный код позволяет получить сумму длин отрезков (LINE) и полилиний (LWPOLYLINE). Для этого сначала указываем объект для выбора слоя, далее выделяем объекты. Длины всех объектов LINE и LWPOLYLINE находящихся на указанном слое суммируются и информация о количестве линий и сумме их длин выводится на экан.
Внимание! Объекты прямоугольник и многоугольник являются объектами LWPOLYLINE, и идут в сумму как одна линия (периметр). Будьте внимательны.
PS Этот лисп я постоянно использую для подсчета длин проводов, гофры, труб и т.д.
Команда: SBL
Описание: С помощью команды SBL можно быстро выбрать блоки на указанном слое, указав сначала на любой объект для выбора слоя, а потом выделить часть чертежа или весь чертеж и нажать ВВОД, после чего все блоки на указанном слое, попавшие в область выделения будут выбраны.
Команда: SBN
Описание: С помощью команды SBN можно быстро выбрать блоки с определенным именем, указав сначала на блок для выбора имени, а потом выделить часть чертежа или весь чертеж и нажать ВВОД, после чего все блоки с данным именем, попавшие в область выделения будут выбраны.
PS Конечно можно все это проделать через опцию «Быстрый выбор», который окажется совсем не быстрым если эти действия нужно повторять часто… Этими кодами я пользуюсь очень часто.
Команда: АС
Описание: Этот код увеличивает численное значение атрибута в блоке при клике по нему, заменяя старое значение.
Вводимые данные:
- Имя атрибута — TAG (имя) атрибута, в который будет заноситься значение, заглавными буквами
- Префикс: Строка в префиксом, например «BTH.1.»
- Суффикс: Строка с суффиксом, например «/1»
- Начальное значение: число, с которого начинаем отсчет , например 10
- Шаг: число, величина инкремента , например 1
Таким образом при клике по блоку в котором есть указанный атрибут, значение будет перезаписано с увеличением на шаг. Т.е. BTH.1.10/1 , BTH.1.11/1, BTH.1.12/1 и т.д.
PS Сам данный код теперь использую редко так как перестал подписывать извещатели вручную, но может кому пригодится.