ПЗ (1218806), страница 2
Текст из файла (страница 2)
Современный, основанный на опыте разработок предыдущих систем, подход к проблеме автоматизации вовлекает конструктора в среду для проектирования, работа в которой становится более творческой и производительной [4].
Несомненно, что причиной успеха AutoCAD является наличие одних из самых лучших наборов инструментальных средств для разработки приложений. Следовательно, продукт попадает в сферу интересов не только у проектировщиков, но и у разработчиков приложений, тем более, что возможности разработки приложений для AutoCAD расширяются с каждой новой версией продукта.
2.2 Возможности среды AutoCAD
Продукт AutoCAD имеет обширные, глобальные возможности в проектировании. С каждым выпуском новой версии продукта, происходит улучшение и расширение возможностей. Как уже и говорилось ранее, AutoCAD позволяет заниматься двух- и трехмерным проектированием. Продукт также является мощным средством в построении чертежей с помощью поддержки основных Государственных Стандартов (ГОСТ) и Единой Системы Конструкторской Документации (ЕСКД). Это позволяет максимально правильно оформить конструкторскую документацию в соответствии с правилами оформления. Также существует возможность установления и простановки всех типов размеров графических объектов. Также, в одно из преимуществ AutoCAD входит создание динамических блоков. Динамические блоки – двухмерные параметрические объекты, свойства которых имеют возможности настройки. В пределах динамического блока можно сохранять набор графических примитивов. С помощью блоков значительно сокращается разработка и ускоряется выпуск рабочей документации. Впервые функция внедрения динамических блоков появилась в AutoCAD 2006.
В AutoCAD имеется справочная система, которая помогает пользователям во время возникновения определенных вопросов по использованию каких-либо операций. Однако, в последних версиях продукта в этой области программы появились некоторые изменения. Если раньше справочная система хранилась на компьютере пользователя, то теперь, чтобы воспользоваться ей, требуется подключение к Интернету. Если навести курсором на иконку любой операции и нажать клавишу F1, то откроется окно справки, которое будет осуществлять подключение к серверу Autodesk. В следствии этого, пользователь получит справочную информацию по нужной ему операции. Откровенно говоря, данный способ получения справочной информации является не универсальным, потому как, пользователь, работающий в AutoCAD может не иметь подключения к Интернет.
AutoCAD имеет в своем наборе командную строку, через которую также могут выполнятся операции проектирования. Например, чтобы построить простую прямую полилинию достаточно написать в командную строку команду «ПЛИНИЯ» (рисунок 1).
Рисунок 1 – Ввод команды в командную строку
В связи с этим, стоит отметить, что выполнение операций в AutoCAD имеет два варианта реализации – при клике на иконку и при вводе команд в командную строку.
Продукт AutoCAD является очень гибким программным обеспечением, так как имеется возможность подстроить среду под свои нужды. В это понятие входит возможность создавать свой интерфейс, в качестве иконок. Иными словами, пользователь может запрограммировать какую-либо операцию на AutoLISP и создать вариант кнопки, по нажатии на которую будет производится запуск программы и в последствии ее выполнение. Все изменения и нововведения в интерфейсе хранятся в так называемых файлах адаптации, которые уже первоначально имеют место, так как все стандартные наборы команд и интерфейсов встроены в AutoCAD. Кнопка «Пользовательский интерфейс» позволяет приступить к созданию своего интерфейса (рисунок 2).
Рисунок 2 – Кнопка пользовательского интерфейса
В окне пользовательского интерфейса можно настраивать и создавать интерфейс по желанию пользователя. Все вносимые изменения сохраняются в файле адаптации с расширением *.cuix. Стоит отметить, что лишь последние версии AutoCAD имеют расширение *.cuix. Более ранние версии имели расширение *.cui, следовательно можно говорить о не совместимости файлов адаптации последних версий, на более старых версиях AutoCAD.
Гибкость AutoCAD также подчеркивает тот факт, что имеется возможность переключаться между рабочими пространствами продукта. Рабочее пространство – это набор меню, палитр, панелей инструментов и панелей ленты, настроенных на решение определенных задач, таких как черчение в двух- или трехмерном пространстве [5]. Данная функция является очень полезной, так как пользователь может осуществлять задачу перехода между интерфейса, если он занимается различными видами проектирования.
Как и у всех продуктов Autodesk, AutoCAD имеет возможность проектировать и сохранять файлы на в облачном хранилище Autodesk 360 (А360). А360 – это облачная платформа, которая предоставляет доступ к различным облачным сервисам для редактирования и визуализации. Также, A360 полезен в разработке глобальных проектов, над которым трудятся несколько проектировщиков. Редактирование модели можно выполнять прямо на облачном хранилище. Бесплатный вариант использования А360 имеет некоторые ограничения, в состав которых входит ограниченный объем памяти 5 Гб.
В состав AutoCAD входят также средства, которые входят во многие графические редакторы, а именно проверка линий на параллельность, перпендикулярность, коллинеарность и т.д. Ввиду глобальности данного продукта, невозможно описать абсолютно все его возможности.
AutoCAD осуществляет свою работу в семействе операционных систем Microsoft Windows и OS X. В комплект поставки для платформы Windows входят версии для 32- и 64-разрядных систем. Продукт AutoCAD также поддерживает использование многоядерных и многопроцессорных систем.
2.3 Языки программирования
По своей сути, AutoCAD представляет собой огромную базу данных примитивов и параметров. Как говорилось ранее, AutoCAD поддерживает ввод различных команд в командную строку. В базе данных AutoCAD хранятся зарезервированные команды, для создания примитивов и выполнений определенных операций. Помимо этого, имеются так называемые Системные переменные, которые также являются зарезервированными. Они влияют непосредственно на параметры примитивов и их поведение. Что касается языка команд и системных переменных, то имеется два варианта ввода. Команды и системные переменные можно вводить как на русском, так и на английском языках.
Программируя определенные процедуры в AutoCAD, очень часто приходится использовать команды и системные переменные, потому что без них построение каких-либо элементов невозможно.
2.3.1 Язык AutoLISP
AutoLISP – это вариант языка LISP, в который добавлены функции доступа к различным объектам, словарям системы AutoCAD, таблицам. Язык LISP построен на работе со списками, которые могут иметь абсолютно произвольную длину, а также включать переменные разной природы: строки, указатели файлов, числа и т.д. Язык имеет арифметические функции, с помощью которых имеется возможность выполнения арифметических операций, а на основе их производить арифметические вычисления. С использованием языка AutoLISP, можно создавать программы, которые воспринимает AutoCAD. Для программирования, в среде AutoCAD имеется встроенный интерпретатор Visual Lisp, в котором пишется программный код и интерпретируется в AutoCAD.
В 1959 году, Джон Маккарти (John McCarthy) в Массачусетском технологическом институте (Massachusetts Institute of Technology) создал язык LISP, когда занимался разработкой искусственного интеллекта. Также, он является основоположником термина «Искусственный интеллект». Название LISP является аббревиатурой от list processing – «обработка списков». Наибольший приоритет на сегодняшний день приобретает версия языка LISP, которая имеет название COMMON LISP [6].
Вначале, язык LISP планировался для рекурсивных построений, но в настоящее время превратился в мощное средство, которое обеспечивает программиста разнообразной поддержкой. Это позволяет строить прототипы достаточно сложных систем. Данные, обрабатываемые LISP-программой имеют аналогичную форму и представляются в качестве списочной структуры. С помощью языка LISP, могут создаваться системы способные к самоадаптации (изменению), иначе говоря, самообучающиеся системы.
Простой синтаксис LISP-списка не зависит от области применения языка. Структура языка имеет возможность расширятся и быть заново определенной.
Интересной особенностью языка является то, что с помощью него можно осуществлять написание компиляторов, интерпретаторов, редукторов и других средств. Гибкая расширяемость языка LISP является большим преимуществом перед остальными замкнутыми языками.
Обработка символов и методы объектно-ориентированного программирования отлично подходят для разработки графических документов (чертежей, графиков, рисунков). Интересным фактом является то, что все математическое обеспечение AutoCAD создано на LISP.
Поддержка языка AutoLISP появилась в AutoCAD между версиями Release 6 и Release 7 (версии AutoCAD 2.1 и 2.5 соответственно), т.е. в 1986 году. Он был первым, мощным и очень простым языком для освоения. Специалист, усвоивший работу в AutoCAD, мог без проблем осуществлять программирование на AutoLISP. Решающее значение при этом имела функция command, которой достаточно было указать имя команды и последовательность переменных, которыми оперировала команда.
Часто, в языке LISP встречается понятие «атомов», поэтому введем определение данного термина. Атом – это абстрактный элемент, который представляет собой цепочки символов неограниченные по длине. Атомы трактуются как строки или числа и могут представлять собой некоторые логические структуры с вложенными подсписками неограниченной глубины в виде иерархических деревьев. Обработка списков в LISP базируется на теории лямбда-исчислений Черча. Благодаря рекурсивной системе обработки информации позволяет компактно описывать функции, для реализации которых на других языках программирования потребовалось бы сотни строк кода.
Интегрированная среда разработки Visual Lisp имеет расширенные возможности и простой, удобный интерфейс. В состав интерпретатора входит текстовый редактор, который выделяет зарезервированные слова (названия функций, системные переменные, команды), а также ведет подсчет количества скобок, использующихся в программном коде. Данный интерпретатор значительно упрощает разработку программ на языке LISP. Встроенное в интерпретатор средство отладки, является превосходной частью Visual Lisp и значительно ускоряют разработку программ. Также, имеется справочная система на английском языке. В Visual Lisp присутствует своя оконная система, которая позволяет быстро переключаться с окна одной программы на окно другой. Как и любой интерпретатор, имеет в своем составе консоль, с помощью которой можно определять содержимое какой-либо переменной или значения функции, которое она возвращает.
Преимущества Visual Lisp дают программисту возможность использовать современные методы управления графической средой не затрагивая прошлых достоинств:
-
Visual LISP поддерживает абсолютно все функции AutoLISP;
-
отсутствует представление функций и данных в виде списков.
Язык AutoLISP, с версии 2000, больше не работает со списками кода, которые объединялись во время работы. На сегодняшний день программы, написанные на AutoLISP, выполняются в откомпилированном виде, независимо от того, откуда они вводятся. Также, в Visual Lisp появилось много новых функций, которых не хватало в AutoLISP. Речь идет функциях работы с файлами, сортировка, работы с реестром, работы со списками и т.д. Ну и наконец, самое главное преимущество – Visual Lisp поддерживает технологию ActiveX Automation, разработчиком которой является Microsoft. Специфика работы по технологии ActiveX такова: одни приложения (клиенты) имеют доступ к объектам других приложений (серверов) и могут управлять этими объектами. Для программ, написанных на Visual Lisp, самым важным приложением-сервером является непосредственно AutoCAD. Для доступа к подобным объектам AutoCAD в интерпретаторе Visual Lisp включено большое количество функций (которые имею в своем составе префикс vlax- или vla).
В предположения многих LISP-разработчиков входило такое суждение, что Visual Lisp станет главным направлением развития средств программирования, но компания Autodesk постепенно начала внедрять в AutoCAD VBA. Это может говорить о том, что Autodesk, возможно, не заинтересованы в продолжении поддержки языка AutoLISP в среде AutoCAD. Благодаря языку AutoLISP, стал популярным AutoCAD. Не исключен тот факт, что если AutoCAD в дальнейшем лишится такой среды, то возможно, что продукт AutoCAD несколько потеряет популярность. В мире десятки тысяч программ, написанных на AutoLISP. Также не хорошо будет для целых поколений LISP-программистов лишится этой среды разработки.
2.3.2 VBA
VBA (Visual Basic for Applications) – несколько упрощенная реализация языка программирования Visual Basic, которая встроенная во многие продукты. В список продуктов, в которых используется VBA входят такие как: AutoCAD, CorelDRAW, SolidWorks, WordPerfect, а также продукты офисного пакета Microsoft Office. В VBA есть возможность расширения функциональности, за счет специализированных макро-языков, использовавшихся ранее. Примером такого макро-языка, может быть WordBasic.