C# Developer
0,0
рейтинг
25 ноября 2015 в 15:45

Разработка → Расширение функционала EPLAN. Создание простого Add-Ina на C# из песочницы

Расширяем функционал EPLAN при помощи Add-Inов на C#


EPLAN – это платформа для сквозного проектирования, охватывающая следующие отрасли: электротехника, КИПиА, гидравлика/пневматика и механика (проектирование шкафов и жгутов). Благодаря открытой архитектуре и стандартным интеграционным модулям EPLAN может быть экономически эффективно интегрирован с большим спектром сторонних решений: системами механического проектирования, ERP и PDM системами, системами проектирования зданий, промышленных производств и кораблей.

Применение EPLAN

• Автомобилестроение
• Машиностроение
• Металлургия
• Химическая и фармацевтическая промышленность
• Пищевая промышленность
• Добыча нефти и газа
• Трубопроводный транспорт
• Нефте- и газо-переработка
• Производство тепла и электроэнергии
• Передача и распределение электроэнергии
• Железнодорожный транспорт
• Водоснабжение и водоотведение
• Станкостроение
• Легкая промышленность
• Автоматизация зданий

Основные модули платформы

• EPLAN Electric P8 — Модульное и масштабируемое решение для электротехнического проектирования, автоматического создания проектной и рабочей документации.
• EPLAN Fluid — Программное обеспечение для проектирования пневмо/гидроавтоматики, систем смазки и охлаждения и автоматического создания соответствующей проектной и рабочей документации
• EPLAN ProPanel — 3D проектирование электротехнических шкафов с передачей данных в производство. Виртуальное трехмерное моделирование, создание двух- и трех- мерных чертежей, трехмерное изображение проводных и маршрутных схем, наличие шаблонов для работы сверлильного оборудования и интеграция со станками ЧПУ
• EPLAN PrePlanning — программное обеспечение для предварительного (эскизного) проектирования объектов и генерации проектной документации.
• EPLAN Engineering Center — Решение для функционального проектирования. В данном модуле пользователь задет граничные параметры проекта, а само проектирование осуществляется системой автоматически по определенным правилам.

Про расширение функционала

EPLAN – гибкая платформа, позволяющая расширять функционал с помощью скриптов и Add-Inов. Рассмотрим только Add-Inы, поскольку скрипты (сценарии) дают гораздо меньшую свободу действий.

Add-In – это надстройка, дополняющая и расширяющая базовый функционал, предлагаемый EPLAN. Add-In создается при помощи API EPLAN, который, в свою очередь, использует dotNET и поддерживает 3 языка программирования: Visual Basic, C++ и C#. Порядок создания Add-Inов одинаков для всех вышеуказанных языков. Информация по API EPLAN находится в справочнике EPLAN API-Support (в формате *.chm), поставляемом вместе с документацией.

Процесс создания Add-Ina

Рассмотрим непосредственно процесс создания Add-Inов.

1. Для начала, так как используется среда dotNET, создаем проект Class Library в MS Visual Studio.
2. Далее подключаем к проекту библиотеки EPLAN API.



3. Пишем код инициализации Add-Inа
Для регистрации и инициализации Add-Ina, наш класс должен наследовать интерфейс IEplAddIn (подробнее в EPLAN API-Support). Создадим пункт меню в Главном Меню EPLAN и добавим в него одно действие (Action).

using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Gui;

namespace Test
{
    public class AddInModule:IEplAddIn
    {
        public bool OnRegister(ref bool bLoadOnStart)
        {
            bLoadOnStart = true;
            return true;
        }

        public bool OnUnregister()
        {
            return true;
        }

        public bool OnInit()
        {
            return true;
        }

        public bool OnInitGui()
        {
            Menu OurMenu = new Menu();
            OurMenu.AddMainMenu("Тест", Menu.MainMenuName.eMainMenuUtilities, "Информация по проекту", "ActionTest",
                "Имя проекта, фирмы и дата создания", 1);
            return true;
        }

        public bool OnExit()
        {
            return true;
        }
    }
}


Методы OnRegister и OnUnregister вызываются по одному разу, при первом подключении и удалении Add-Ina соответственно.
Метод OnExit вызывается при закрытии EPLANa.
Метод OnInit вызывается при загрузке EPLANa для инициализации Add-Ina.
Метод OnInitGui вызывается при загрузке EPLANa для инициализации Add-Ina и пользовательского интерфейса.

4. Пишем код действия (Action), который будет в нашем меню. Действие (Action) должно наследовать интерфейс IEplAction (подробнее в EPLAN API-Support).

using System;
using System.Windows.Forms;
using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.DataModel;
using Eplan.EplApi.HEServices;

namespace Test.Action_test
{
    public class Action_Test:IEplAction
    {
        public bool OnRegister(ref string Name, ref int Ordinal)
        {
            Name = "ActionTest";
            Ordinal = 20;
            return true;
        }

        public bool Execute(ActionCallingContext oActionCallingContext)
        {
            SelectionSet Set = new SelectionSet();
            Project CurrentProject = Set.GetCurrentProject(true);
            string ProjectName = CurrentProject.ProjectName;
            string ProjectCompanyName = CurrentProject.Properties.PROJ_COMPANYNAME;
            DateTime ProjectCreationDate = CurrentProject.Properties.PROJ_CREATIONDATE;
            MessageBox.Show("Название проекта: " + ProjectName + "\n" + "Название фирмы: " + ProjectCompanyName +
                            "\n" + "Дата создания проекта: " + ProjectCreationDate.ToShortDateString());
            return true;
        }

        public void GetActionProperties(ref ActionProperties actionProperties)
        {
        }
    }
} 


Метод OnRegister регистрирует наш Action под указанным именем.
Метод Execute выполняются при вызове Actiona из платформы EPLAN. В данном случае метод Execute выбирает текущий проект, считывает из него три поля, а именно, название проекта, название фирмы и дату создания, и затем выводит их в MessageBox.
Метод GetActionProperties возвращает описание нашего Actiona (только для документирования).

5. Имя скомпилированной DLL-библиотеки должно соответствовать следующему правилу:

Eplan.EplAddIn.XXXX.dll
где XXXX – это имя вашего Add-Ina

Подключение Add-Ina

К платформе Add-In подключается следующим образом:

1. Выполняем «Сервисные программы»
– «API-AddIns…»



2. Жмем на кнопку «Загрузить»



3. В открывшемся окне выбираем Add-In и нажимаем «Открыть»



4. Кликаем на кнопку «ОК». Add-In загружен и готов к работе.


При загрузке Add-In инициализируется пункт меню «Тест», раскрыв который мы видим наше действие (Action), описанное в Action_Test.

Посмотрим на результат работы Add-Ina:



Нажимаем на пункт меню «Тест» – «Информация по проекту»



Платформа EPLAN предоставляет большой базовый функционал. Однако иногда требуются действия, не входящие в него. В простейших случаях можно создавать и подключать скрипты (сценарии), но если требуется глубокий доступ к данным, необходимо воспользоваться API, создавать и использовать Add-Inы.

Полезные ссылки

1. EPLAN в России
2. Форум АСУ ТП
@najdjel
карма
4,0
рейтинг 0,0
C# Developer
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (0)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.