Исходные коды

На этой странице я буду выкладывать исходные коды программ на языке лисп, которые я использую для упрощения решения типовых задач.

 

Все объекты чертежа на один слой в два клика!

Команда: OBJTOLAYER
Описание: Этот код перемещает все объекты чертежа на один слой. Есть возможность указать имя слоя и опция удаления пустых слоев после перемещения.
Вводимые данные:
Имя слоя, если слоя с таким именем нет — он будет создан;

Удаление пустых слоев [да/ нет] — удаляет или оставляет пустые слои после перемещения объектов.

PS Этот код я написал по просьбе моего боевого товарища Ольги Семыкиной, разгребающей великолепные чертежи лучших проектировщиков нашей необъятной Родины.

Size: 1 kB
Сделать весь чертеж одного цвета в два клика!

Команда: COLORCHANGE
Описание: Эта маленькая программа позволяет в два клика изменить цвет всех слоев на нужный, а затем всем примитивам, в том числе внутри блоков, изменяет изменяет текущее значение свойства цвет на значение «по слою».  Таким образом весь чертеж изменяет текущие цвета на цвет указанный вами.
Вводимые данные:

  • Номер цвета — целое число от 1 до 255 — номера цветов из палитры автокада.

Внимание!

Цвет меняется у всех слоев без исключения! У заблокированных, выключенных, замороженных, даже у слоев внешних ссылок.

PS Использую данный код для упрощения работы с чудесно разноцветными файлами планировок, полученных от заказчика, если конечно у него они есть 🙂

Size: 922 B
Сумма длин выделенных линий

Команда: LINESUM
Описание:Данный код позволяет получить сумму длин отрезков (LINE) и полилиний (LWPOLYLINE). Для этого сначала указываем объект для выбора слоя, далее выделяем объекты. Длины всех объектов LINE и LWPOLYLINE находящихся на указанном слое суммируются и информация о количестве линий и сумме их длин выводится на экан.

Внимание! Объекты прямоугольник и многоугольник являются объектами LWPOLYLINE, и идут в сумму как одна линия (периметр). Будьте внимательны.

PS Этот лисп я постоянно использую для подсчета длин проводов, гофры, труб и т.д.

Size: 1 kB
Быстрый выбор блоков по имени или по слою

Команда: SBL
Описание: С помощью команды SBL можно быстро выбрать блоки на указанном слое, указав сначала на любой объект для выбора слоя, а потом выделить часть чертежа или весь чертеж и нажать ВВОД, после чего все блоки на указанном слое, попавшие в область выделения будут выбраны.
Команда: SBN
Описание: С помощью команды SBN можно быстро выбрать блоки с определенным именем, указав сначала на блок для выбора имени, а потом выделить часть чертежа или весь чертеж и нажать ВВОД, после чего все блоки с данным именем, попавшие в область выделения будут выбраны.
PS Конечно можно все это проделать через опцию «Быстрый выбор», который окажется совсем не быстрым если эти действия нужно повторять часто… Этими кодами я пользуюсь очень часто.

Size: 1 kB
Счетчик для увеличения численного значения атрибута в блоке при клике по нему.

Команда: АС
Описание: Этот код увеличивает численное значение атрибута в блоке при клике по нему, заменяя старое значение.
Вводимые данные:

  • Имя атрибута — TAG (имя) атрибута, в который будет заноситься значение, заглавными буквами
  • Префикс: Строка в префиксом, например «BTH.1.»
  • Суффикс: Строка с суффиксом, например «/1»
  • Начальное значение: число, с которого начинаем отсчет , например 10
  • Шаг: число, величина инкремента , например 1

Таким образом при клике по блоку в котором есть указанный атрибут, значение будет перезаписано с увеличением на шаг. Т.е. BTH.1.10/1 , BTH.1.11/1, BTH.1.12/1  и т.д.

PS Сам данный код теперь использую редко так как перестал подписывать извещатели вручную, но может кому пригодится.

Size: 1 kB