Статья опубликована в рамках: LIV Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 29 июня 2017 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
АВТОМАТИЗАЦИЯ СОЗДАНИЯ 3D-МОДЕЛЕЙ В ГРАФИЧЕСКОЙ СРЕДЕ AUTOCAD С ПОМОЩЬЮ ПРОГРАММИРОВАНИЯ
В настоящее время графическая среда AutoCAD является одной из самых популярных систем компьютерного проектирования. Знакомство с работой в среде AutoCAD начинается еще в образовательных учреждениях, далее пользователи используют богатые возможности данной программы в своей профессиональной деятельности. Люди, чья работа во многом связана с созданием графических проектов (проектировщики инженерных систем, строители, конструкторы и т.д.), в процессе работы сталкиваются с однотипными, рутинными, скучными, требующими не мало времени, операциями. Многие проектировщики адаптируют систему «под себя», например, с помощью таких функций AutoCAD – создание динамического блока, параметризация, использование СПДС-модуля и т.д. И все же немалая часть пользователей считают, что AutoCAD имеет ограничения в автоматизации трехмерного моделирования и переходят на другие САПР. И они во многом правы, потому что к примеру создание динамического блока в AutoCAD не предусматривает работу с 3D-телами.
Расширить возможности и пределы работы в AutoCAD можно с помощью языка программирования LISP. Русскоязычной литературы по данному языку программирования крайне мало, практических примеров, описывающих возможности языка – ещё меньше.
Язык LISP включает в себя два основных варианта языка – AutoLISP и Visual LISP. Основой языка LISP является работа со списками, которые могут иметь произвольную длину и включать элементы разной природы (числа, текстовые строки, указатели файлов и т.д.). В то же время в языке доступны обычные арифметические вычисления, логические операции, работа с файлами и т.д. С помощью языка AutoLISP можно писать программы или вводить в командной строке выражения, которые затем вычисляет система AutoCAD. За последние годы язык развивался за счет новых функций с префиксом «vl-», а также функций, предоставляющих доступ к объектной модели AutoCAD и реализующих элементы технологии ActiveX. Такие функции отнесены к языку Visual LISP [1, 5 с.].
Прописав в командной строке открытого документа AutoCAD «VLIDE» можно перейти в редактор Visual LISP (рис. 1). В качестве примера рассмотрим программу построения фланца. Программа прописана в LISP-файле, но она состоит из нескольких модулей-подпрограмм (рис. 2 и 3). На фиолетовом фоне прописаны пояснения к некоторым фрагментам программы, которые отделены от основного текста программы разделителем «;». Подпрограмма «raz-flanec» (рис. 2) и основная программа построения и вызова фланца (рис. 3) ссылаются на DCL-файл «ДиалоговоеОкноФланец.DCL». В этом файле прописана программа создания диалогового окна (рис. 4). К фрагментам программы также даны основные пояснения, которые прописаны на фиолетовом фоне и отделены от основного текста разделителем «//». Язык DCL разработан для создания диалоговых окон.
Рисунок 1. Редактор Visual LISP для AutoCAD
Рисунок 2. Программа построения 3D-фланца (1 часть)
Написание данной программы начинается с написания подпрограммы построения фланца – «flanec». Пользователь должен с помощью языка программирования описать процесс построения фигуры, точно так же, как если бы он это делал «вручную». Далее необходимо в отдельном DCL-файле создать диалоговое окно с помощью директив – логических функций, которые описывают элементы диалогового окна. После создания DCL-файла диалогового окна, в LISP-файле нужно прописать программу вызова нужного диалога (см. рис. 3, пояснения – основная программа вызова и построения). Подпрограмма «raz-flanec» (рис. 2) предназначена для считывания значения переменных, которые заданы в диалоговом окне. В нашем случае это размеры фланца.
Рисунок 3. Программа построения 3D-фланца (2 часть)
Рисунок 4. Программа создания диалогового окна
После того как программа написана, пользователю необходимо загрузить файл с программой. В открытом документе AutoCAD обращение к программе происходит через команду, которую прописал пользователь, с помощью функции «defun». Для нашего примера это команда «flanec1» (см. рис. 2 – «defun c:flanec1»). После обращения к команде (рис. 5) откроется диалоговое окно, созданное ранее в DCL-файле, в котором будет запрос на размеры фланца (рис. 6). В открывшемся диалоговом окне уже прописаны размеры «по умолчанию», которые указаны в DCL-файле с помощью директивы «value». Данные текстовые поля могут быть редактированы. Пользователь может прописывать размеры плоского фланца согласно ГОСТ 33259-2015 [2], как указано в диалоговом окне, либо прописать нестандартные размеры. На рис. 7 представлен стандартный фланец DN 80 PN 25 тип 01, построение которого произошло после ввода размеров согласно ГОСТ 33259-2015 и нажатия пользователем кнопки «ок».
Рисунок 5. Вызов команды построения фланца
Таким образом, пример программы позволяет уменьшить затраты времени для построения стандартного изделия – фланца. Программу можно совершенствовать, так как возможности программирования на этом не заканчиваются. Например, внести другие подпрограммы построения различных типов фланца (приварной встык, с выступом, впадиной, шип, паз и т.д.). В соответствии с этим расширить описание диалогового окна, например, с помощью радиокнопок. Наиболее полное описание функций LISP-программирования, а также DCL языка изложено авторами [1].
Рисунок 6. Диалоговое окно. Запрос размеров фланца
Рисунок 7. Фланец DN 80 PN 25 тип 01
Список литературы:
- Полещук Н.Н., Лоскутов П.В. AutoLISP и Visual LISP в среде AutoCAD. — СПб.: БХВ-Петербург, 2006. — 960 с.
- ГОСТ 33259-2015. Фланцы арматуры, соединительных частей и трубопроводов на номинальное давление до PN 250. Конструкция, размеры и общие технические требования.
дипломов
Оставить комментарий