программирование в AutoCAD — AutoLISP

В настоящее время существует множество систем автоматизированного проектирования, и у каждой из них присутствуют как недостатки, так и преимущества. Все зависит от того, в какой сфере применяют САПР, при этом их условно делят на группы. Одни пригодны для кораблестроения, другие для машиностроения, третьи для иных технических областей. Есть придназначенные для картографии, геодезии, гидрографии. Такое широкое применение САПР обусловило появление к ним ряда определенных требований: качественного графического исполнения, наличие средств программирования, универсализация специальных задач, удобный интерфейс и прочих.

Среди CAD-систем, особого внимания заслуживает AutoCAD – изначально программный комплекс начертательной геометрии. Он не только дает пользователям возможность получить чертежи и графику высокого качества, а так же наделяет своего владельца широчайшим набором определенных инструментов для программирования. При чем, каждому пользователю дается возможность самостоятельно модифицировать или изменять интерфейс AutoCAD, добавлять совершенно новые команды и расширять его функциональные возможности.

Преимуществом AutoCAD над другими САПР является его гибкая система программирования. В среде AutoCAD практически все команды реализуются программно, затем используются в данной системе средствами, созданными с помощью определенных сценариев. Набор поддерживаемых языков программирования в AutoCAD следующий:

  • AutoLISP;
  • Visual LISP;
  • VBA;
  • ObjectARX;
  • JavaScript (начиная с версии 2014);
  • DCL и другие.

Язык AutoLISP является составной частью AutoCAD, он дает возможность оперировать с различными переменными и передавать любые значения переменных средствам AutoCAD по усмотрению пользователя. «Родной» для AutoCAD язык программирования позволяeт пользователям этой системы писать мощнейшие макропрограммы и функции на высоком уровне, отлично сочетаемом с прикладной графикой. С AutoLISP программирование в AutoCAD становится простым в изучении и гибким в использовании.

В качестве примера использования приведем некоторые команды AutoLISP, которые в совокупности составляют программу для чистки и проверки файлов на ошибки при сохранении:

Сначала — некоторые глобальные дела:Программирование в AutoCAD - AutoLisp

Таким образом гарантированно загрузится ActiveX-расширение и будет определена глобальная переменная – маркер текущего документа.

Далее обозначим собственные реакции комплеса AutoCAD на команды:Программирование в AutoCAD - AutoLisp

Здесь проверяется присутствие глобальной переменной *vlr-cmd* и определяется реактор – для начала команды, для окончания команды, для отмены команды и для случая, когда выполнение команды привело к ошибке.

Теперь пишем собственно реакторы:Программирование в AutoCAD - AutoLisp

Данная функция обрабатывает событие для начала команды. Во избежание ошибок обработки системной переменной dimpost рекомендуется использовать AutoCAD версии 2010 и новее.

А сейчас займемся проверкой и очисткой:программирование в AutoCAD - AutoLisp

Здесь все ясно: вначале пробуем стереть описания пустых групп, затем производим очистку графического мусора, после – зарегистрированных приложений.

И в конце делаем проверку файла:Программирование в AutoCAD - AutoLisp

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

Обучающее видео об основах программирования в AutoLISP и Visual LISP:

В каких целях Вы используете программирование в AutoCAD и на каком языке?

2 236 просмотров

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (10 оценок, среднее: 5,00 из 5)
Загрузка...
Метки: , , , , , , , , , ,
3 комментария на “программирование в AutoCAD — AutoLISP
  1. Антон:

    Уже лет двенадцать пользуюсь различными CAD и CAM системами. в том числе и AutoCAD, но программированием в нем никогда. Даже не представляю зачем конструкторам и проектантам «железа» оно вообще нужно. Может быть программистам для выпуска различных дополнений и модулей под него и надо.

  2. Леонид:

    Как выполнить порядок прорисовки блоков в AutoCAD-2014. Стандартными командами «Порядок» и «Маскировка» это не получается. Можно ли написать соответствующую программу в AutoLISP?

  3. Александр:

    Проектировщикам Автолисп очень нужен. Уже лет 25 программирую свою работу в Автокаде. Например множества блоков на планах можно обрабатывать — подсчет по типам, создание в блоках внутренних данных, создание обозначений, вывод информации в таблицы и т.д. Полилинии в виде электрических трасс можно располагать по слоям для каждой трассы и подсчитывать длины. Создав информационные точки в функциональных схемах котельных получаю автоматически — СФ, СВС, таблицу закладных и спецификацию показывающих приборов. Особенно интересный эффект получаю в кабельном журнале, в спецификации систем автоматизации, системе оповещения, системе пожарной сигнализации и многих других.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

*