На предыдущем занятии мы узнали, как можно увеличить производительность в Autodesk Inventor, разработав плагин с весьма небольшим количеством кода на VB .NET. Вероятно, вы уже слышали термины COM и .NET применительно к программированию для Inventor. COM и .NET представляют собой технологии, которые позволяют программам взаимодействовать между собой: если вы желаете узнать больше, загляните в раздел Дополнительные темы. Сейчас мы рассмотрим более детально, что происходит во время выполнения программы из предыдущего занятия.
|
Обратная связь: напишите нам об этом занятии или о курсе «Мой первый плагин»: myfirstplugin@autodesk.com
Скачать файлы Inventor для урока 2
|
Программный код, который вы вводили на занятии 1, представляет собой набор инструкций на языке, понятном человеку. Это так называемый «исходный код», который, чтобы быть исполненным, должен быть преобразован в код, понятный компьютеру. «Построение» (build) и есть процесс формирования исполняемого кода в виде стандартного EXE-файла Windows. Результатом построения может быть и DLL (библиотека динамической компоновки), которую можно загрузить в Autodesk Inventor, однако это более сложная тема, и ее в данном курсе мы обсуждать не будем.
На следующем рисунке показана копия экрана с результатами построения проекта из предыдущего занятия: выходной ЕХЕ-файл и вспомогательные файлы с отладочной информацией (она используется при отладке в случае каких-либо проблем с исполняемым файлом). Путь, по которому создается ЕХЕ-файл, задается в установках проекта Visual Basic Express. Здесь он установлен по умолчанию — папка bin внутри папки проекта Visual Basic Express.
Как для общения между собой, так и для общения с компьютерами люди создали разнообразные языки. Поэтому при разработке программ для Inventor вам доступен целый ряд вариантов. В данном учебном курсе выбор пал на Visual Basic .NET (VB .NET). Это мощный язык программирования общего назначения, весьма популярный среди разработчиков программ для Inventor.
Для разработки программ на VB.NET имеются несколько инструментов от свободно распространяемого SharpDevelop до Visual Studio, флагманской профессиональной среды разработки Microsoft. Здесь мы предлагаем вам использовать Visual Basic Express, бесплатную версию Visual Studio для разработки VB .NET приложений.
Visual Basic Express представляет собой интегрированную среду разработки (Integrated Development Environment, сокращенно IDE). Среда включает в свой состав различные инструменты, меню, командные панели, которые облегчают создание и работу с вашим программным кодом.
Система проектов Visual Basic Express состоит из решений (solution), файлов проектов и компонентов проектов (отдельных файлов, включенных в проект). Каждое решение представляет собой контейнер для одного или нескольких проектов. Каждый проект можно, в свою очередь, рассматривать как контейнер для его компонентов — исходных файлов, иконок и т.п., большая часть которых используется для формирования результирующих исполняемых файлов (EXE или DLL). Visual Basic Express предоставляет в наше распоряжение Обозреватель решения (Solution Explorer), который организует и отображает содержимое текущего решения в древовидном формате.
Интерфейс Visual Basic Express включает также текстовый редактор и конструктор оконных интерфейсов. Их отображение в главном окне среды разработки зависит от типа редактируемого файла. Текстовый редактор — это то место, где вы будете вводить текст вашей программы на Visual Basic. Этот редактор предоставляет в ваше распоряжение такие мощные инструменты как IntelliSense и сворачиваемые секции наряду с такими более традиционными средствами работы с текстом как закладки и нумерация строк программы.
IntelliSense — чрезвычайно удобный и полезный инструмент Visual Studio, который заметно повышает производительность программиста. В процессе ввода кода он автоматически выводит контекстно-чувствительные подсказки в зависимости от редактируемого объекта и вводимых символов. На следующем рисунке IntelliSense отображает доступные свойства и методы объекта ComponentOccurrence:
Очевидно, что ключевой функцией Visual Basic Express является способность построить код VB .NET и получить исполняемый файл. В процессе построения компилятор анализирует код и выполняет множество разнообразных проверок. Например, выполняется проверка кода на соответствие синтаксическим правилам языка Visual Basic. Компилятор выполняет и другие проверки. Например, он проверяет, инициализированы переменные или нет. Обнаруженные ошибки отображаются в окне Список ошибок, которое обычно располагается в нижней части главного окна. Окно Список ошибок можно открыть с помощью меню Вид -> Список ошибок.
Визуальное в Visual Basic Express
Одной из наиболее сильных сторон Visual Basic Express является набор средств для создания интерфейса пользователя. При создании нового проекта вы можете выбрать вариант Приложение Windows Forms. При использовании этого шаблона автоматически создается главное окно приложения. Это окно называется формой, и вы можете разместить на ней элементы пользовательского интерфейса, называемые элементами управления, например, кнопки. Вы добавляете в форму элементы управления простым перетаскиванием их из Панели элементов в рабочую область формы. Панель элементов можно открыть, используя меню Вид > Панель элементов. Большая часть кода, необходимого для корректной работы элементов управления, добавляется в проект автоматически, что серьезно облегчает и ускоряет разработку приложения.
Обзор применения Visual Basic Express
В этом разделе вы создадите пустой проект, похожий на проект из первого занятия. Этот проект послужит отправной точкой для занятия 3.
Поскольку вы работаете с Visual Basic Express, установленные шаблоны следует искать в разделе Visual Basic.
Список доступных шаблонов приложений располагается в центральной области диалогового окна. Выбор шаблона зависит от типа создаваемого приложения. Поскольку вы создаете простое EXE приложение с диалоговым интерфейсом, следует выбрать шаблон Приложение Windows Forms.
Теперь следует присвоить проекту имя. Для этого в нижней части диалога в текстовом поле Имя введите MyFirstInventorPlug-in и нажмите OK: В результате будет создано и открыто в редакторе Visual Basic Express новое решение, которое уже содержит ваш проект.
В данном руководстве использован Visual Basic Express. Эта бесплатная версия Visual Studio является прекрасным инструментом, который поможет вам начать разработку VB-кода для вашего плагина без дополнительных затрат на программное обеспечение. Microsoft позиционирует редакции Express как инструмент для студентов, любителей и прочих нерегулярно программирующих пользователей. Несмотря на присутствие большинства важных функциональных особенностей Visual Studio Professional, таких как IntelliSense, редакции Express все же имеют и ряд ограничений. Например, в Visual Basic Express доступно заметно меньшее количество шаблонов приложений, есть ограничения в средствах диагностики проблем и вариантах отладки кода. Если вы в дальнейшем намерены серьезно заниматься разработкой приложений, мы рекомендуем рассмотреть варианты приобретения более профессиональной версии семейства Visual Studio.
«Microsoft COM (Component Object Model) — технология, реализованная в семействе операционных систем Windows с целью обеспечить взаимодействие программных компонентов. COM используется разработчиками для создания многократно используемых программных компонентов, объединения компонентов в приложения и использования преимуществ служб Windows. Объекты COM могут создаваться различными инструментами разработки. Объектно-ориентированные языка типа С++ предоставляют программные механизмы для упрощения разработки COM-объектов.»
Перевод из MSDN Library.
COM положена в основу технологии API, применявшейся в предыдущих поколениях Visual Basic, включая Visual Basic for Applications (VBA). В настоящее время одни разработчики вводят в свои Windows-приложения вводят .NET интерфейс, тогда как другие продолжают развивать COM-интерфейс, поскольку его можно вызывать из приложений .NET (подробнее см. ниже).
.NET Framework является платформой разработки на базе операционной системы Microsoft® Windows® и предоставляет среду выполнения, общую систему типов, библиотеки классов и важные сервисы (например, распределение и освобождение памяти) всем .NET-приложениям.
Подмножества .NET доступны и для других операционных систем, либо с помощью проекта Mono на базе свободного программного обеспечения, либо через Microsoft® Silverlight®, но обсуждение этих вопросов выходит за рамки данного руководстваВ .NET Framework входят два основных компонента:
Как уже отмечалось, CLR повышает надежность кода за счет приведения исполняемого кода к общей системе типов (CTS). Именно CTS гарантирует, что любой управляемый код .NET, независимо от языка разработки, использует единую систему типов объектов и может бесконфликтно работать в общем окружении с другими программами. Благодаря этому ваше приложение, написанное на выбранном вами языке, может использовать компоненты (код), разработанные для .NET другими программистами на других языках.
В время построения EXE-приложения оно преобразуется в код на так называемом промежуточном языке — Common Intermediate Language (CIL или MSIL). Эту работу выполняет компилятор соответствующего языка программирования. CIL представляет собой независимый от типа процессора набор инструкций, который может быть исполнен средой CLR в операционной системе Windows. Как правило, код CIL без проблем переносится с 32- на 64-разрядную платформу и даже с некоторыми ограничениями на другие ОС (не-Windows). Код CIL, сгенерированный на основе вашей исходной программы на VB, затем преобразуется в сборку .NET. Такая сборка является библиотекой кода CIL, сохраненного в формате Portable Executable (PE), в котором код на CIL дополнен метаданными. Сборки могут представлять как исполняемый код (EXE), так и код библиотек (DLL).
В данном руководстве вы сфокусируетесь на разработке приложения конкретного типа: сборки исполняемого кода (EXE), который взаимодействует с Inventor. EXE-приложения проще в разработке, и вам не придется тратить время на изучение надстроек Inventor AddIns в виде DLL, которые загружаются и работают в одном процессе с Инвентором. Разработка EXE для работы с Inventor проще и в части создания интерфейса. Обычно внешнему исполняемому приложению не требуется гладко встраиваться в пользовательский интерфейс самого Inventor, создавая, скажем, свои кнопки в ленте.
![]() |
Во время исполнения промежуточный код сборки .NET передается оперативному JIT компилятору среды CLR (JIT = just-in-time) для компиляции кода в команды процессора. С целью ускорения и экономии памяти JIT-компилятор преобразует только минимально необходимый CIL-код. Кроме того, он сохраняет результаты компиляции, чтобы не делать ее дважды, если исходный код не менялся. На последнем этапе этого процесса родной машинный код исполняется процессором компьютера. Более подробную информацию о процессе построения приложений .NET можно найти в MSDN Library.
|