CAM API
  • CAM API
v20.0.1
Search Results for

    Show / Hide Table of Contents

    Урок 8 — интеграция с PLM-системой из расширения C#

    Цели

    • Изучить базовую структуру расширения для интеграции с PLM-системой;
    • Создать расширение на C# или изменить готовый пример для работы с PLM-системой.

    Практическая часть

    Чтобы создать расширение:

    • Установите актуальную версию NuGet-пакета с базовыми интерфейсами:
      • SprutTechnology.CAMAPI.SDK.Net.
    • Реализуйте два интерфейса:
      • IExtension — общий интерфейс, через который CAM-система загружает расширение. Его единственное свойство IExtensionInfo Info содержит основные metadata;
      • IExtensionPLM — интерфейс интеграции с PLM-системой: подключение, отправка и получение данных.
    • Начните с обязательных методов:
      • GetParameters — возвращает объект IPLMParameters, с помощью которого CAM-система отображает настройки расширения;
      • Connect — получает значения параметров и устанавливает соединение с PLM-системой;
      • Disconnect — закрывает соединение и при необходимости очищает внутреннее состояние.
    • Реализуйте основные методы работы с элементами:
      • Получение элементов:
        • GetChilds — получает дочерние элементы по идентификатору родителя. Если родитель не указан, возвращает элементы корневого уровня;
        • FindItems — ищет элементы по имени;
        • GetItem — загружает элемент по идентификатору;
        • GetLinkedItem — возвращает связанный элемент;
        • GetItemData — загружает подробные данные выбранного элемента.
      • Передача элементов:
        • DownloadItems — скачивает выбранные элементы, кроме проектов;
        • UploadItem — загружает обычные элементы в PLM-систему, кроме проектов;
        • DownloadProject / UploadProject — выполняют соответствующие действия с проектами.
    • Реализуйте методы жизненного цикла:
      • Install и Uninstall вызываются при регистрации и удалении расширения. Их можно оставить пустыми, если дополнительные действия установки и очистки не нужны.
    • Логические свойства SupportProjectLoad, SupportMachineLoad, SupportPostprocessorLoad, SupportPostprocessorInsideMachineLoad, SupportToolLoad, SupportToolSave, SupportDomainAuth сообщают CAM-системе, какие функции поддерживает расширение. Если свойство возвращает false, соответствующая возможность отключается в интерфейсе.

    Полный перечень методов и их описания приведены в API reference.

    Можно клонировать готовый пример, использовать его без изменений или доработать для собственной PLM-системы:

    • Откройте репозиторий примеров GitVerse и клонируйте его.
    • Найдите каталог с примером интеграции с PLM-системой — он послужит основой расширения.
    • Откройте проект PLMExtension/PLMExtensionNet/project/main/PLMExtensionNet.csproj в выбранной среде разработки или редакторе кода.
    • Обратите внимание на следующие настройки:
      • PLMExtension/PLMExtensionNet/.stbuild/build/stbuild.csproj — версия системы сборки. Для доступа к новым возможностям системы сборки может потребоваться её обновление;
      • Версия NuGet-пакета SprutTechnology.CAMAPI.SDK.Net.
    • Адаптируйте пример к своей PLM-системе. Он содержит базовую рабочую реализацию обоих интерфейсов и имитирует работу PLM-системы с помощью каталогов.

    Когда расширение готово:

    • Соберите решение;
    • Отдельно запустите CAM-систему;
    • Установите расширение в CAM-систему и настройте подключение к PLM по инструкции;
    • Проверьте работу всех функций расширения в CAM-системе.
    In this article