Как стать автором
Обновить

Как облегчить себе жизнь при работе с плагинами в AutoCAD .NET API

*Я пытаюсь что-то написать*
*Я пытаюсь что-то написать*

При работе с проектами для AutoCAD я сталкивался с ситуациями, которые затрудняли разработку и отладку плагинов. В данной статье я собрал материал, который мог бы помочь в решении ваших задач. Скорее всего все описанное ниже будет полезно начинающим в разработке библиотек классов для данной системы автоматизированного проектирования, но возможно материал сможет пригодиться и для опытных разработчиков.

  1. Запуск приложения AutoCAD после компиляции проекта

    Необходимой зайти в свойства проекта, который назначен в качестве запускаемого (в обозревателе решений нажать правую кнопку мыши по нужному проекту -> назначить в качестве запускаемого проекта (рис. 1)) и перейти на вкладку "Отладка".

    Рисунок 1 - Назначение в качестве запускаемого проекта
    Рисунок 1 - Назначение в качестве запускаемого проекта

    Для перехода на вкладку "Отладка" можно воспользоваться дополнительной кнопкой, которая располагается под кнопкой "Пуск" при нажатии на стрелочку вниз рядом с ней (рис. 2).

    В панели "Действие при запуске" необходимо выбрать опцию "Запуск внешней программы" и указать путь до acad.exe версии AutoCAD, которая установлена на вашем компьютере (рис. 2).

    Рисунок 2 - Настройка запуска внешней программы в вкладке "Отладка"
    Рисунок 2 - Настройка запуска внешней программы в вкладке "Отладка"

    Теперь при запуске вашего решения после успешной сборки проекта будет также загружаться и приложение AutoCAD.

  2. Автозагрузка новых dll в AutoCAD после успешной сборки проекта в Visual Studio

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

    При запуске AutoCAD в папках ApplicationPlugins выполняется проверка наличия подключаемых модулей. Найденные пакеты автоматически регистрируются и загружаются в зависимости от XML-файла каждого пакета.

    Для создания своего пакета выполняет следующий порядок действий:

    1) переходим в директорию "%appdata%\Autodesk\ApplicationPlugins";

    2) создаём новую папку с названием "*.bundle", например "MyPlugins.bundle";

    3) в "MyPlugins.bundle" создаём новую папку "Contents", в которой будут хранится *.dll;

    4) в "MyPlugins.bundle" создаём текстовый документ, который переименовываем в "PackageContents.xml" (рис. 3), из данного файла AutoCAD берёт необходимую информацию для автозагрузки dll;

Рисунок 3 - Пример переименования файла в новый формат
Рисунок 3 - Пример переименования файла в новый формат

5) Добавляем в файл "PackageContents.xml" следующий код:

<?xml version="1.0" encoding="utf-8"?>
<ApplicationPackage SchemaVersion="1.0">
  <CompanyDetails Name="CompanyName" Email="name@gmail.com" />
  <Components>
    <RuntimeRequirements OS="Win64" Platform="AutoCAD|Civil3D"/>
    <ComponentEntry AppName="MyAppNameForAutoCAD"
                    AppDescription="Необезательное описание"
                    ModuleName="./Contents/NameFileFromVisualStudio.dll"
                    LoadOnCommandInvocation ="True" LoadOnRequest="True">
      <Commands GroupName="MyGroupCommands">
        <Command Local="NameFileFromVisualStudio" Global="NameFileFromVisualStudio" Description="NameFileFromVisualStudio" />
      </Commands>
    </ComponentEntry>				
  </Components>
</ApplicationPackage>

Главной строчкой является 8: ModuleName="./Contents/NameFileFromVisualStudio.dll"

В ней указывается путь для подгружаемой *.dll в AutCAD.

Для комфортной работы почти всё сделано, теперь необходимо указать нашему проекту в Visual Studio куда необходимо копировать файлы после успешной сборки (рис. 4).

В свойствах проекта необходимо перейти на вкладку "События сборки" и в текстовом окне панели "Командная строка события после сборки" ввести:

xcopy "$(TargetPath)" "%AppData%\Autodesk\ApplicationPlugins\MyPlugins.bundle\Contents\" /y
Рисунок 4 - Указание проекту в Visual Studio куда необходимо копировать файлы после успешной сборки
Рисунок 4 - Указание проекту в Visual Studio куда необходимо копировать файлы после успешной сборки

На этом статья завершена, было рассмотрен способ "Запуска приложения AutoCAD после компиляции проекта", а также способ "Автозагрузки новых dll в AutoCAD после успешной сборки проекта в Visual Studio". Спасибо большое за внимание!

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.