АВТОМАТИЗИРОВАННОЕ СОЗДАНИЕ СХЕМЫ ОДИНОЧНОГО ТРОСОВОГО МОЛНИЕОТВОДА В AUTOCAD С ИСПОЛЬЗОВАНИЕМ ЯЗЫКА AUTOLISP - Студенческий научный форум

VI Международная студенческая научная конференция Студенческий научный форум - 2014

АВТОМАТИЗИРОВАННОЕ СОЗДАНИЕ СХЕМЫ ОДИНОЧНОГО ТРОСОВОГО МОЛНИЕОТВОДА В AUTOCAD С ИСПОЛЬЗОВАНИЕМ ЯЗЫКА AUTOLISP

Бондаренко И.Л. 1, Моногаров С.И. 1
1Армавирский механико-технологический институт
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Графический язык программирования AutoLISP является расширением языка программирования LISP. LISP- это язык высокого уровня, ориентированный на обработку списков, который выбран в качестве базового потому, что графические примитивы (начиная с точки), блоки, наборы примитивов и блоков удобно представляются в виде списков. /1/

В составе системы AutoCAD поставляется интерпретатор языка AutoLISP. Если при генерации AutoCADа интерпретатор AutoLISPа был подключен, то он загружается в оперативную память после запуска графического редактора ACAD и доступен в течение всего сеанса работы с ACAD.

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

Наиболее характерны следующие классы применений:

а) Программирование чертежей с параметризацией.

Создаётся программа, позволяющая при каждом обращении к ней формировать новый чертёж, отличающийся от предыдущих чертежей, построенных этой же программой, размерами, а также, возможно, и топологией: могут появиться новые элементы обогащения, сечения, измениться текстовая часть чертежа и т.д. Время получения чертежа с помощью такой программы может быть в десятки раз меньше времени, необходимого для его создания с помощью редактора ACAD, и, что не менее важно, получить чертёж сможет любой конструктор, даже мало знакомый с командами ACAD.

б) Создание и использование графических баз данных.

Если накоплено большое количество чертёжных файлов, программ на AutoLISPе, соответствующих чертёжным фрагментам, деталям, узлам, то их можно в некотором смысле считать графической базой данных. Программы на AutoLISPе в сочетании с пользовательскими меню могут организовывать просмотр, поиск, подключение к объектам их частей и т.п. Тогда работа конструктора в системе AutoCAD будет сводиться к поиску нужных объектов (сборочных единиц, деталей) или частей чертежа, обращению к соответствующим LISP-программам и ответам на вопросы этих программ.

Есть ещё одно очень важное обстоятельство: хранение графических данных в виде набора программ на AutoLISPе даёт возможность в десятки и сотни раз сократить требуемую память на магнитном диске по сравнению с памятью, необходимой для хранения чертёжных файлов ACAD, так как, во-первых, одна программа позволяет получить не один, а множество чертежей, во-вторых, текст программы на AutoLISPе занимает на порядок меньше памяти, чем файл, который может быть получен в результате работы этой программы.

в) Анализ и (или) автоматическое преобразование изображений.

Программа на AutoLISPе может воспринимать чертёж на экране, построенный с помощью графического редактора и обсчитывать его. Программа также может быстро осуществить преобразование изображения, на которое при работе в графическом редакторе пришлось бы затратить значительное время, например:

заменить все вставки одного типа на вставки другого типа из какого-либо чертёжного файла;

перенести все объекты с одного слоя на другой;

повернуть все блоки на заданный угол - каждый относительно своей базовой точки и т.п.

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

В языке AutoLISP определены более 150 различных операций, которые называются встроенными функциями.

По назначению их можно подразделить на функции:

- для работы с числовыми данными, реализующие арифметические операции, а также наиболее часто используемые математические функции. Эти функции позволяют вычислять координаты примитивов, рассчитывать длины, площади и т.п.

- для проверки выполнения различных условий операции сравнения, булевские функции ("и", "или", "не") и др., а также функции, организующие ветвления по условиям. С помощью этих функций можно, например, получать топологически различные чертежи из одной программы.

- для работы со строками текстов: формирование, сцепление, сравнение строк, выделение символов из строки и т.п. Эти функции позволяют, например, формировать технические требования на чертеже путём совмещения переменной и постоянной частей.

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

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

- характерные для всех языков программирования и обеспечивающие компактное описание действий в программе за счёт таких конструкций, как циклы и подпрограммы;

- характерные для языков типа LISP: создание, анализ и преобразование списков. Поскольку данные о графических объектах-примитивах и блоках представляются в виде списков, то эти функции используются для обработки внутрипрограммных описаний графических объектов.

Специфику языка AutoLISP определяют функции, связанные с графикой и работой в среде графического редактора ACAD:

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

- для приёма геометрических данных, т.е. данных, которые могут задаваться перемещением курсора на экране: точки, угла, расстояния;

- для выделения примитивов построенного на экране чертежа и наборов примитивов, выделения и изменения характеристик примитивов и блоков, анализа и изменения системных переменных и содержимого символьных таблиц ACAD;

- для включения в программу любой команды ACAD. Причём аргументы и опции команды могут быть заданы не только из программы, но и в режиме графического диалога в точности так, как если бы эта команда выполнялась просто в редакторе ACAD. /2/

Использование AutoLISP дает большие возможности для проектирования.

В различной литературе и Интернете есть готовые программы для построений чертежей в LISP. Приведем для примера программу, которая построит квадрат с левым нижним углом в точке (10,10) и стороной 25мм (рисунок 1) /3/.

Рисунок 1. Построение квадрата.

Если пользоваться только клавиатурой, то диалог выглядел бы следующим образом:

Команда: ПЛИНИЯ

От точки: 10,10

Текущая ширина линии равна 0.00

ДУга/Замкни/Полуширина/ДЛина/ОТМени/Ширина/: @10,0

ДУга/Замкни/Полуширина/ДЛина/ОТМени/Ширина/: @0,10

ДУга/Замкни/Полуширина/ДЛина/ОТМени/Ширина/: @-10,0

ДУга/Замкни/Полуширина/ДЛина/ОТМени/Ширина/: Замкни

На Автолиспе это будет выглядеть так:

( COMMAND "ПЛИНИЯ" "10,10" "@10,0" "@0,10" "@-10,0" "ЗАМКНИ")

Авторами данной работы была разработана программа, предназначенная для автоматизированного расчета и построения схемы одиночного тросового молниеотвода, получившая Свидетельство о государственной регистрации программы для ЭВМ. /5/

Программа работает в несколько этапов:

  1. Файл с текстом программы загружается в память AutoCAD. Для этого файл с текстом программы перетягивается в рабочую область чертежа, либо используется специальная команда AutoCAD;

  2. В командной строке необходимо ввести команду “JUVE”. После этого AutoCAD предлагает пользователю ввести данные для расчета, а именно длину, ширину, высоту здания и высоту молниеприемника.

Рис 2. Ввод команд

  1. AutoCAD автоматически производит расчеты параметров молниезащиты. Методика расчетов принята из официальных руководящих документов. /4/

  2. В командной строке необходимо ввести команду “GO”. По этой команде AutoCAD производит построения, а также выводит текстовое поле, в котором указаны расчетные данные.

Рис 3. Итоговый результат

Данная работа может быть применена при проектировании электроустановок, а именно при построении молниезащиты. Программирование и автоматизированное построение чертежей в AutoCAD являются очень перспективной областью. За счёт использования информационных технологий может быть существенно облегчены проектировочные работы.

Список используемой литературы

  1. Полещук Н.Н., Лоскутов П.В. «AutoLisp и Visual LISP в среде AutoCAD». – СПб.: БХВ-Петербург, 2006.

  2. http://aco.ifmo.ru/~nadinet/html/lectures/lect_lsp.html

  3. http://www.cad.dp.ua/kurs/LECTURE7/lecture7.html

  4. ИНСТРУКЦИЯ ПО УСТРОЙСТВУ МОЛНИЕЗАЩИТЫ ЗДАНИЙ, СООРУЖЕНИЙ И ПРОМЫШЛЕННЫХ КОММУНИКАЦИЙ СО 153-34.21.122-2003

  5. Моногаров С.И., Бондаренко И.Л. Автоматизированное построение схемы молниезащиты (одиночного тросового молниеотвода). Свидетельство о государственной регистрации программы для ЭВМ № 2014611195, 27 января 2014 г.

Просмотров работы: 1369