![]() |
Translate to: |
||||||
| Обратная связь | Новости САПР | Программы | Документация | Полезные советы | Обзорные статьи | ||
| Заказ и разработка | Каталог САПР | САПР-конференция | Библиотека ГОСТов | Наши соавторы | Коммерческое ПО | ||
С выходом AutoCAD 2010, пользователи, которые создают для него приложения в среде Visual Basic for Applications оказались на перепутье. Они еще имеют возможность создавать и запускать проекты на VBA, но эту возможность следует активировать. Для этого следует загрузить соответствующий вашей версии Windows модуль VBA со страницы http://www.autodesk.com/vba-download . С другой стороны, следует учитывать, что Autodesk объявил о переходе от поддержки VBA к .NET неспроста. .NET API более удобно, и что важно, намного более мощно и позволяет создавать команды и функции AutoLISP которе не могут быть созданы с помощью API ActiveX и VBA. В этой статье описаны азы перехода от VBA к .NET в AutoCAD 2010.
Для работы с .NET API, вы должны установить Microsoft Visual Studio. Visual Studio - это платформа для разработки программ, которая позволяет создавать приложения с использованием .NET Framework. Существует много версий Microsoft Visual Studio, большинство из которых платные. Если у вас есть трудности в их получении, то вы можете использовать бесплатную версию Visual Studio Express, некоторые возможности которой усечены по сравнению с другими версиями. В то же время их для наших целей вполне достаточно. Информацию о различиях между версиями Visual Studio вы можете получить здесь - http://www.microsoft.com/visualstudio/.
В этой статье я использовал Microsoft Visual Basic 2008 Express Edition, потому он подобен VBA и является бесплатным для загрузки и использования. Скачать Microsoft Visual Basic 2008 Express Edition можно с адреса http://www.microsoft.com/express/download/.
Перед тем, как вы начнете создавать код для новой команды AutoCAD, вам необходимо создать новый проект. Для этого:

Для корректного создания программы вы должны предоставить для Visual Basic данные о объектах в AutoCAD .NET API. Для этого необходимо сделать следующее:

Теперь, когда мы формально сопрягли Visual Basic и AutoCAD, пришло время им работать вместе. Чтобы сделать это, перед тем как вы будете создавать команды или работать со связанными с AutoCAD классами, необходимо добавить немного информации к вашему проекту в форме пространства имен. Пространство имен используется для упорядочения различных классов, которые являются частью AutoCAD .NET API. В окне кода, над строкой кода по умолчанию Public Class Class1 добавим следующий текст:
Imports Autodesk.AutoCAD.ApplicationServices Imports Autodesk.AutoCAD.Runtime
Теперь, когда наш проект содержит ссылки на пространство имен AutoCAD .NET API, вы можете преступить к созданию новой команды. Добавим следующие строки кода между Public Class Class1 и End Class:
<CommandMethod("MyFirstCmd")> _
Public Sub MyFirstCmd()
Dim acCurDoc As Document
acCurDoc = Application.DocumentManager.MdiActiveDocument
acCurDoc.Editor.WriteMessage(vbLf & _
"Hello from VB .NET and AutoCAD")
End Sub
Набранный нами код создает команду с именем My-FirstCmd, которая при запуске отображает текст "Hello from VB .NET and AutoCAD" в командной строке AutoCAD. Не очень оригинально или полезно, но зато просто и работает! После того, как вы набрали код, сохраните его, выбрав Save All в меню File. В диалоговом окне Save Project измените имя проекта и его расположение на диске, если необходимо. Затем нажмите на Save.
Теперь, когда у нас есть код и мы предполагаем, что он введен правильно, пришло время скомпилировать (или иными словами скомпоновать) проект и загрузить его в AutoCAD. Одно из главных различий между работой в VBA и .NET заключается в том, что проект необходимо компилировать перед использованием в AutoCAD, в VBA же можно было сразу использовать проект, после того как он был загружен.
Перед компоновкой проекта необходимо изменит несколько его параметров, которые управляет добавлением к проекту библиотек, на которые он ссылается. Обычно в этом нет необходимости. Что бы не делать это, выберите свойство project_name в меню Project. В закладке Properties выберите закладку References. Удерживая клавишу Ctrl выберите acdbmgd and acmgd. Затем в панели Properties (она находится справа по умолчанию), кликните мышью по Copy Local и выберите False в выпадающем списке (рис. 3). Сохраните ваш проект еще раз.

Теперь, когда ваш проект сохранен и сконфигурирован, выберите Build project_name в меню Build. Microsoft Visual Basic начнет процесс компоновки и должен будет сгенерировать файл с именем вашего проекта и расширением DLL в папке Bin. Если компоновка прошла успешно, отобразиться сообщение "Build succeeded" в левом нижнем углу панели состояния окна Microsoft Visual Basic 2008 Express Edition.
Что бы загрузить созданную нами команду в AutoCAD, необходимо сделать следующее:
В настоящее время не существует официальной временной линии касательно того, когда VBA больше не будет доступен в AutoCAD, но в конечном счете это произойдет. .NET API предлагает много выгод по сравнению с API ActiveX и VBA, поэтому если вы в настоящее время используете VBA, мы советуем вам начать изучение .NET . Начать лучше с написания элементарных подпрограммы, а затем перейти к чему-то более сложному. Хорошим началом будет перезапись существующего проекта на VBA.
Copyright © Сайт поддержки пользователей САПР