Проектирование в Autocad с использованием Visual basic

Автор работы: Пользователь скрыл имя, 12 Апреля 2014 в 22:15, курсовая работа

Краткое описание

Компьютерная графика (также машинная графика) — область деятельности, в которой компьютеры используются в качестве инструмента, как для синтеза (создания) изображений, так и для обработки визуальной информации, полученной из реального мира. Первые вычислительные машины не имели отдельных средств для работы с графикой, однако уже использовались для получения и обработки изображений. Программируя память первых электронных машин, построенную на основе матрицы ламп, можно было получать узоры.
В 1961 году программист С. Рассел возглавил проект по созданию первой компьютерной игры с графикой. Создание игры («Spacewar!») заняло около 200 человеко-часов. Игра была создана на машине PDP-1.

Вложенные файлы: 1 файл

пояснительная записка.doc

— 340.00 Кб (Скачать файл)

 

1.3 Трехмерная графика

 

Трёхмерная графика (3D — от англ. three dimensions — «три измерения») оперирует с объектами в трёхмерном пространстве. Обычно результаты представляют собой плоскую картинку, проекцию. Трёхмерная компьютерная графика широко используется в кино, компьютерных играх.

В трёхмерной компьютерной графике все объекты обычно представляются как набор поверхностей или частиц. Минимальную поверхность называют полигоном. В качестве полигона обычно выбирают треугольники.

Всеми визуальными преобразованиями в 3D-графике управляют матрицы . В компьютерной графике используется три вида матриц:

  • матрица поворота;
  • матрица сдвига;
  • матрица масштабирования;

Любой полигон можно представить в виде набора из координат его вершин. Так, у треугольника будет 3 вершины. Координаты каждой вершины представляют собой вектор (x, y, z). Умножив вектор на соответствующую матрицу, мы получим новый вектор. Сделав такое преобразование со всеми вершинами полигона, получим новый полигон, а преобразовав все полигоны, получим новый объект, повёрнутый/сдвинутый/масштабированный относительно исходного.

 

2 Система автоматизированного проектирования Autocad                                              и среда разработки Visual basic

2.1 Autocad

 

AutoCAD — двух- и трёхмерная система автоматизированного проектирования и черчения, разработанная компанией Autodesk. Первая версия системы была выпущена в 1982 году. AutoCAD и специализированные приложения на его основе нашли широкое применение в машиностроении, строительстве, архитектуре и других отраслях промышленности. Программа выпускается на 18 языках. Уровень локализации варьируется от полной адаптации до перевода только справочной документации. Русскоязычная версия локализована полностью, включая интерфейс командной строки и всю документацию, кроме руководства по программированию.

Ранние версии AutoCAD оперировали небольшим числом элементарных объектов, такими как круги, линии, дуги и текст, из которых составлялись более сложные. В этом качестве AutoCAD заслужил репутацию «электронного кульмана», которая остаётся за ним и поныне. Однако на современном этапе возможности AutoCAD весьма широки и намного превосходят возможности «электронного кульмана».

В области двумерного проектирования AutoCAD по-прежнему позволяет использовать элементарные графические примитивы для получения более сложных объектов. Кроме того, программа предоставляет весьма обширные возможности работы со слоями и аннотативными объектами (размерами, текстом, обозначениями). Использование механизма внешних ссылок (XRef) позволяет разбивать чертеж на составные файлы, за которые ответственны различные разработчики, а динамические блоки расширяют возможности автоматизации 2D-проектирования обычным пользователем без использования программирования. Начиная с версии 2010 в AutoCAD реализована поддержка двумерного параметрического черчения. В версии 2014 появилась возможность динамической связи чертежа с реальными картографическими данными (GeoLocation API).

Текущая версия программы (AutoCAD 2014) включает в себя полный набор инструментов для комплексного трёхмерного моделирования (поддерживается твердотельное, поверхностное и полигональное моделирование). AutoCAD позволяет получить высококачественную визуализацию моделей с помощью системы рендеринга mental ray. Также в программе реализовано управление трёхмерной печатью (результат моделирования можно отправить на 3D-принтер) и поддержка облаков точек (позволяет работать с результатами 3D-сканирования). Тем не менее, следует отметить, что отсутствие трёхмерной параметризации не позволяет AutoCAD напрямую конкурировать с машиностроительными САПР среднего класса, такими как Inventor, SolidWorks и другими. В состав AutoCAD 2012 включена программа Inventor Fusion, реализующая технологию прямого моделирования.

 

2.1.1 Средства разработки и адаптации в Autocad

 

Динамические блоки — двухмерные параметрические объекты, обладающие настраиваемым набором свойств. Динамические блоки предоставляют возможность сохранения в одном блоке (наборе графических примитивов) нескольких геометрических реализаций, отличающихся друг от друга размером, взаимным расположением частей блока, видимостью отдельных элементов и т.п. С помощью динамических блоков можно сократить библиотеки стандартных элементов (один динамический блок заменяет несколько обычных). Также активное использование динамических блоков в ряде случаев позволяет значительно ускорить выпуск рабочей документации. Впервые динамические блоки появились в AutoCAD 2006.

Макрокоманды (макросы) в AutoCAD являются одним из самых простых средств адаптации, доступных большинству пользователей. Макросы AutoCAD не следует путать с макросами, создаваемыми посредством VBA.

Action Macros впервые появились в AutoCAD 2009. Пользователь выполняет последовательность  команд, которая записывается с  помощью инструмента Action Recorder. Записанный макрос можно отредактировать и сохранить, а впоследствии перенести на панель инструментов, либо запускать из специального меню.

Menu Macros Пользователь имеет возможность создавать собственные кнопки, с помощью которых можно вызывать заранее записанные по определённым правилам серии команд (макросы). В состав макросов можно включать выражения, написанные на языках DIESEL и AutoLISP.

DIESEL (Direct Interprietively Evaluated String Expression Language) — язык оперирования строками с небольшим количеством функций (всего 28 функций). Он позволяет формировать строки, которые должны иметь переменный текст, зависящий от каких-либо условий. Результат выводится в виде строки, которая интерпретируется системой AutoCAD как команда. Язык DIESEL используется, в основном, для создания сложных макрокоманд в качестве альтернативы AutoLISP. Особое значение данный язык имеет для версии AutoCAD LT, в котором отсутствуют все средства программирования, за исключением DIESEL. Данный язык впервые появился в AutoCAD R12.

Visual LISP — среда разработки приложений на языке AutoLISP. Иногда под названием Visual LISP подразумевают язык AutoLISP, дополненный расширениями ActiveX. Среда разработки Visual LISP встроена в AutoCAD начиная с версии AutoCAD 2000. Ранее (AutoCAD R14) она поставлялась отдельно. Среда разработки содержит язык AutoLISP и язык DCL, а также позволяет создавать приложения, состоящие из нескольких программ. Несмотря на название, Visual LISP не является средой визуального программирования.

AutoLISP — диалект языка Лисп, обеспечивающий широкие возможности для автоматизации работы в AutoCAD. AutoLISP — самый старый из внутренних языков программирования AutoCAD, впервые он появился в 1986 году в AutoCAD 2.18 (промежуточная версия). В AutoLISP реализовано тесное взаимодействие с командной строкой, что способствовало его популяризации среди инженеров, работающих с AutoCAD.

Расширения ActiveX значительно увеличивают функциональность AutoLISP, добавляют возможности работы с файлами, реестром, а также связи с другими приложениями. Дополнительные расширения работают напрямую с объектной моделью AutoCAD посредством функций ActiveX. Впервые технология ActiveX была внедрена в AutoCAD R14.

DCL (Dialog Control Language) — язык разработки диалоговых окон для приложений, написанных на языке AutoLISP. Впервые DCL был введён в AutoCAD R12 и с тех пор не претерпел существенных изменений. Для разработки диалоговых окон не используется визуальное программирование и возможности создания диалоговых окон существенно ограничены. Для устранения указанных недостатков и расширения возможностей AutoLISP сторонними разработчиками созданы альтернативные среды для разработки диалоговых окон, такие как ObjectDCL, OpenDCL и некоторые другие.

В AutoCAD, начиная с версии R14, введена поддержка VBA (Visual Basic for Application). В отличие от VisualLISP, VBA является визуальной средой программирования, однако приложения VBA работают с AutoCAD только посредством ActiveX, а с AutoLISP взаимодействие сильно ограничено. Достоинствами VBA является более полная поддержка ActiveX и возможность загрузки DLL-библиотек.

Начиная с версии AutoCAD 2010 среда разработки VBA не входит в комплект поставки программы. Autodesk постепенно отказывается от поддержки VBA в AutoCAD, отдавая приоритет .NET. В версии AutoCAD 2014 VBA был обновлен до версии 7.1, но, тем не менее, данная среда разработки по-прежнему устанавливается отдельно.

ObjectARX SDK — дополнение к среде разработки Microsoft Visual Studio и содержит специальные библиотеки, заголовочные файлы, примеры и вспомогательные инструменты, предназначенные для создания программ, функционирующих исключительно в среде AutoCAD. ARX-приложения могут напрямую обращаться к базе данных рисунка и геометрическому ядру. Можно создавать собственные команды, аналогичные стандартным командам AutoCAD. Впервые пакет ObjectARX был реализован для AutoCAD R13, ранее существовали аналогичные по назначению пакеты ADS (для AutoCAD R11) и ARX (для AutoCAD R12). Обозначение версий ObjectARX совпадает с обозначениями версий AutoCAD, для которых предназначен данный пакет. Программы, созданные для одной конкретной версии AutoCAD, несовместимы с другими версиями. Проблема совместимости, как правило, решается перекомпиляцией программы в соответствующей версии ObjectARX.

Благодаря поддержке Microsoft .NET Framework существует возможность создания приложений для AutoCAD в любой среде разработки приложений, поддерживающих данную технологию.

В версии 2014 была введена возможность загрузки и выполнения скриптов, написанных на языке JavaScript. При этом веб-сайт, с которого производится загрузка скрипта должен быть внесен в список доверенных (trusted) сайтов, определенных в соответствующей системной переменной.

 

2.2 Visual Basic

 

Microsoft Visual Basic — средство разработки программного обеспечения, разрабатываемое корпорацией Microsoft и включающее язык программирования и среду разработки. Язык Visual Basic унаследовал дух, стиль и отчасти синтаксис своего предка — языка Бейсик, у которого есть немало диалектов. В то же время Visual Basic сочетает в себе процедуры и элементы объектно-ориентированных и компонентно-ориентированных языков программирования. Среда разработки VB включает инструменты для визуального конструирования пользовательского интерфейса.

Visual Basic считается хорошим средством быстрой разработки прототипов программы, для разработки приложений баз данных и вообще для компонентного способа создания программ, работающих под управлением операционных систем семейства Microsoft Windows.

Классический Visual Basic (версии 5-6) этот язык очень сильно привязан к своей среде разработки и к операционной системе Windows, являясь исключительно инструментом написания Windows-приложений. Привязка к среде заключается в том, что существует большое количество средств, предназначенных для помощи и удобства программирования: встроенный отладчик, просмотр переменных и структур данных на лету, окно отладки, всплывающая подсказка при наборе текста программы (IntelliSense). Все эти преимущества делают бесполезным и даже невозможным использование Visual Basic вне среды разработки, например в обычном текстовом редакторе.

Visual Basic for Applications (VBA) это средство программирования, практически ничем не отличающееся от классического Visual Basic, которое предназначено для написания макросов и других прикладных программ для конкретных приложений. Наибольшую популярность получил благодаря своему использованию в пакете Microsoft Office. Широкое распространение Visual Basic for Applications в сочетании с изначально недостаточным вниманием к вопросам безопасности привело к широкому распространению макровирусов.

Visual Basic Scripting Edition (VBScript) скриптовый язык, являющийся несколько усечённой версией обычного Visual Basic. Используется в основном для автоматизации администрирования систем Windows, а также для создания страниц ASP и сценариев для Internet Explorer.

Достоинства:

- Высокая скорость создания приложений с графическим интерфейсом для MS Windows.

- Простой синтаксис, позволяющий очень быстро освоить язык.

- Возможность компиляции как в машинный код, так и в P-код (по выбору программиста). В режиме отладки программа всегда (вне зависимости от выбора) компилируется в P-код, что позволяет приостанавливать выполнение программы, вносить значительные изменения в исходный код, а затем продолжать выполнение: полная перекомпиляция и перезапуск программы при этом не требуется.

- Защита от ошибок, связанных с применением указателей и доступом к памяти. Этот аспект делает Visual Basic приложения более стабильными, но также является объектом критики.

- Возможность использования большинства WinAPI функций для расширения функциональных возможностей приложения.

Недостатки:

- Поддержка операционных систем только семейства Windows и Mac OS X (Исключение — VB1 for DOS).

- Отсутствие механизма наследования реализации объектов. Существующее в языке наследование позволяет наследовать только интерфейсы, но не их реализацию.

- Требует установленную msvbvmXX.dll для работы программы.

- Низкая скорость работы, обусловленная тем, что практически все встроенные функции языка реализованы через библиотеку времени исполнения (runtime library), которая, в свою очередь, производит много «лишней» работы по проверке и/или преобразованию типов.

 

3 Постановка задачи

 

Требуется создать программу на языке Visual Basic, которая будет определять из всего многообразия графических примитивов чертежа заданный примитив. Таким примитивом была выбрана полилиния. Разрабатываемая программа должна создать новый слой в AutoCAD и перенести на него выбранный графический примитив. В программе должна быть реализована возможность не только перемещать графический примитив на новый слой, но и так же перемещать его уже на имеющийся слой, который пользователь может самостоятельно выбрать.

 

4 Описание компонентов формы

 

Первоначально на форму была помещена кнопка «Найти полилинию», по нажатию на которую запускается процедура поиска графического примитива полилиния, а так же перенос данного графического примитива полилилния на новый слой. Потом на форму было добавлено поле дня ввода имени создаваемого слоя, это поле представлено элементом TextBox1. Так же на форму была добавлена кнопка «Перенести», которая переносит имя заданного графического примитива и его координаты в текстовый файл. На форме размещен компонент comboBox1, в котором отображаются все имена созданных слоев.

 

5 Кодирование

 

В событие кнопки «Найти полилинию» был добавлен следующий код:

Информация о работе Проектирование в Autocad с использованием Visual basic