1.4.2. Взаимодествие COM с .Net

Источник здесь. [перевод не проверен];[перевёл Андрей Бушман]

    Microsoft Visual Studio может использовать  в одном и том же проекте оба интерфайса: родной .Net и COM.
Для использования COM, вы можете перенести существующий код, написанный вами ранее в Visual Basic 6 или в VBA, без необходимости его полной переписи.

Для получения доступа к объектам AutoCAD из вашего проекта, созданного в Microsoft Visual Studio, добавьте в него ссылки на следующие файлы:

  •     Библиотека типов AutoCAD 2010, acax18enu.tlb, размещённая в <drive>:\Program Files\Common Files\Autodesk Shared.
  •     Библиотека типов AutoCAD/ObjectDBX Common 18.0, axdb18enu.tlb, размещённая в <drive>:\Program Files\Common Files\Autodesk Shared.
Примечание:
Упоминавшиеся ранее типы библиотек так же доступны как часть ObjectARX SDK. Для информации по загрузке и инсталляции ObjectARX SDK читайте "Компоненты AutoCAD .Net API".
Интероп-сборка - сборка, предназначенная для работы из .Net с объектами COM. Такие сборки еще называются "обёртками COM".

Эти ссылки делают доступными следующие сборки:

  • Autodesk.AutoCAD.Interop.dll (содержит в себе описание типов AutoCAD)
  • Autodesk.AutoCAD.Interop.Common.dll (для типов  предоставляемых хостом приложений ObjectDBX™)
    Интероп-сборки располагаются в глобальном кэше сборок (GAC), который находится в каталоге %windir%\assembly. После того, как вы добавите ссылки на указанные выше библиотеки, вы сможете создавать в Microsoft Visual Studio различные переменные, являющиеся типами AutoCAD, подобно тому, как это показано в следующем примере:

Код VB.Net

 1:  Dim objAcApp As Autodesk.AutoCAD.Interop.AcadApplication
 2:  Dim objLine As Autodesk.AutoCAD.Interop.Common.AcadLine

Код C#

   1:  Autodesk.AutoCAD.Interop.AcadApplication objAcApp;
   2:  Autodesk.AutoCAD.Interop.Common.AcadLine objLine;

    Использование интероп-сборок может сделать ваш переход с VBA на VB.NET более лёгким. Как бы то ни было, в дальнейшем, для того, чтобы получить все те преимущества, которые предоставляет .NET и AutoCAD .NET API, вам придётся переписывать код, написанный вами ранее на VBA.

Создание и подключение приложения AutoCAD.

    .NET приложения в AutoCAD 2010 могут использовать те же типы библиотек (acax18enu.tlb), что и сам AutoCAD 2010. Типы размещены в <drive>:\Program Files\Common Files\Autodesk Shared.

    Приложения AutoCAD 2010 .NET так же могут использовать один и тот же ProgID для методов CreateObject, GetObject, и GetInterfaceObject.
Например CreateObject ("AutoCAD.Application.18") позволяет вам создавать новый объект приложения AutoCAD и возвращает созданный вами новый экземпляр приложения.

Comments