Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

Скрипты и API

Обсуждение и решение проблем в работе с Eplan.

Модератор: специалисты по Eplan


limbir
здесь недавно
здесь недавно
Сообщения: 36
Зарегистрирован: 12 фев 2014, 07:13
Ф.И.О.: Сергей
Благодарил (а): 1 раз

Re: Скрипты и API

Сообщение limbir » 19 июн 2014, 11:53

Воспользовавшись предложенным aranea методом определил TypeIdentifier "Обозначения местоположения", указав в выводимом сообщении

Код: Выделить всё

so.TypeIdentifier.ToString();

Потом по этому значению пытаюсь выбирать из списка StorableObject эти рамки мест обозначения.

Код: Выделить всё

SelectionSet sel = new SelectionSet();
Project prj = sel.GetCurrentProject(false);
DMObjectsFinder fndr = new DMObjectsFinder(prj);
StorableObject[] storObj = fndr.GetStorableObjects(null);
foreach (StorableObject so in storObj)
                if (so.TypeIdentifier == 88)
                {

                }

Выбрал, но как их теперь преобразовать из класса StorableObject в LocationBox?

Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 519
Зарегистрирован: 21 сен 2012, 21:45
Ф.И.О.: Воробьев Александр
Поблагодарили: 12 раз
Контактная информация:

Re: Скрипты и API

Сообщение aranea » 19 июн 2014, 12:05

вариант 1

Код: Выделить всё

SelectionSet selectionSet = new SelectionSet();
List<LocationBox> oLBs = selectionSet.Selection.OfType<LocationBox>().ToList();

foreach (LocationBox oLB in oLBs)
    {

    }


вариант 2

Код: Выделить всё

LocationBox oLB = so as LocationBox;


не проверял
Изображение


limbir
здесь недавно
здесь недавно
Сообщения: 36
Зарегистрирован: 12 фев 2014, 07:13
Ф.И.О.: Сергей
Благодарил (а): 1 раз

Re: Скрипты и API

Сообщение limbir » 19 июн 2014, 12:17

Спасибо! Второй вариант то что надо!
В первом варианте выбор производится через SelectionSet, а мне бы через DMObjectsFinder.

Аватара пользователя

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 890
Зарегистрирован: 17 окт 2012, 10:24
Ф.И.О.: Виталий
Благодарил (а): 4 раза
Поблагодарили: 15 раз

Re: Скрипты и API

Сообщение Madwolf » 19 июн 2014, 17:10

Также еще можно использовать следующую конструкцию явного приведения типов ((LocationBox)so). ...


AlmazM
новенький
новенький
Сообщения: 2
Зарегистрирован: 30 апр 2014, 08:45
Ф.И.О.: Минвалеев Алмаз Хайдарзанович

Re: Скрипты и API

Сообщение AlmazM » 17 июл 2014, 08:32

Добрый день всем! Кто-нибудь подскажет можно ли реализовать с помощью API вот что: хочу чтобы при вставке устройств и кабелей в их счетчик (для ОУ) присваивалась цифра которую я написал в обозначение места установки в структурном идентификаторе.
Например, у меня есть объект "Емкость подземная". По технологической схеме его номер 41. Захожу в струк. идентификатор создаю данный объект: Обозначение места установки=41, Описание=Емкость подземная. Далее создаю страницу и размещаю ее в 41 месте установки. Все устройства (с черными ящиками и кабели) нумеруем как сам объект. Т.е Счетчик в ОУ = 41 и подсчетчик = 1...n.
Так вот приходится делать это вручную. А хотелось бы вставил макрос, допустим датчика, на страницу и он автоматически себе в счетчик присвоил номер "обозначения место установки" со структурного идентификатора.

Аватара пользователя

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 711
Зарегистрирован: 18 ноя 2013, 07:32
Ф.И.О.: Сергей
Благодарил (а): 21 раз
Поблагодарили: 28 раз

Re: Скрипты и API

Сообщение legionercheg » 17 июл 2014, 14:24

Можно, наверное, попробовать эти данные для устройства вытаскивать через "Свойство блока"...
Будет выглядеть как то так:
[spoiler=Свойство блока]
1.jpg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
--------------------------------------------
Eplan Electric P8 - Professional
Версия: 2.2 HF1
Номер сборки: 6360

Аватара пользователя

Alexander_Pavlov
знаток Eplan
знаток Eplan
Сообщения: 70
Зарегистрирован: 09 апр 2014, 08:55
Ф.И.О.: Александр Павлов
Откуда: Санкт Петербург
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Re: Скрипты и API

Сообщение Alexander_Pavlov » 29 июл 2014, 14:06

Как можно запускать скрипты? сервисные программы - сценарии - выполнить? версия p8 2.1
Eplan 2.1

Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 519
Зарегистрирован: 21 сен 2012, 21:45
Ф.И.О.: Воробьев Александр
Поблагодарили: 12 раз
Контактная информация:

Re: Скрипты и API

Сообщение aranea » 29 июл 2014, 14:15

если скрипт содержит строку [Start], то "сервисные программы - сценарии - выполнить"
в противном случае "сервисные программы - сценарии - загрузить"
Изображение

Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 2273
Зарегистрирован: 05 мар 2012, 14:00
Ф.И.О.: Горский Андрей Сергеевич
Откуда: Санкт-Петербург
Благодарил (а): 18 раз
Поблагодарили: 21 раз
Контактная информация:

github.com

Сообщение AGorskiy » 15 авг 2014, 08:19

GitHub — самый крупный веб-сервис для хостинга IT-проектов и их совместной разработки.
https://github.com/DanielPa - думаю некоторых коллег заинтересует
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.


AlmazM
новенький
новенький
Сообщения: 2
Зарегистрирован: 30 апр 2014, 08:45
Ф.И.О.: Минвалеев Алмаз Хайдарзанович

Re: Скрипты и API

Сообщение AlmazM » 26 авг 2014, 10:07

legionercheg Спасибо за ответ. Но это не подходит для нас. Нужно чтобы номер объекта именно в ячейку в счетчика ОУ записывалось...

Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 2273
Зарегистрирован: 05 мар 2012, 14:00
Ф.И.О.: Горский Андрей Сергеевич
Откуда: Санкт-Петербург
Благодарил (а): 18 раз
Поблагодарили: 21 раз
Контактная информация:

Re: Скрипты и API

Сообщение AGorskiy » 26 авг 2014, 10:08

Заголовок: Interactions

IDima писал(а):Добрый день,

следующий вопрос - реализовал Eplan.EplApi.EServices.Ged.Interaction на выделение ОУ на странице, но при переходе на другую страницу данная реализация обработчика события сбрасывается (вызывается метод Cancel). Как сделать, чтобы этого не происходило?

Спасибо.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.

Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 2273
Зарегистрирован: 05 мар 2012, 14:00
Ф.И.О.: Горский Андрей Сергеевич
Откуда: Санкт-Петербург
Благодарил (а): 18 раз
Поблагодарили: 21 раз
Контактная информация:

Re: Скрипты и API

Сообщение AGorskiy » 26 авг 2014, 10:11

AlmazM писал(а):Нужно чтобы номер объекта именно в ячейку в счетчика ОУ записывалось...

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

Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 519
Зарегистрирован: 21 сен 2012, 21:45
Ф.И.О.: Воробьев Александр
Поблагодарили: 12 раз
Контактная информация:

Re: Скрипты и API

Сообщение aranea » 26 авг 2014, 10:55

IDima писал(а):Добрый день,
следующий вопрос - реализовал Eplan.EplApi.EServices.Ged.Interaction на выделение ОУ на странице, но при переходе на другую страницу данная реализация обработчика события сбрасывается (вызывается метод Cancel). Как сделать, чтобы этого не происходило?
Спасибо.


AGorskiy, отвечать-то тут? или это для интереса?=)
IDima, вы выделили ОУ на странице и перешли на другую страницу... зачем? там тоже это ОУ есть?
запоминайте ОУ где-нибудь и на другой странице продолжайте
Изображение

Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 2273
Зарегистрирован: 05 мар 2012, 14:00
Ф.И.О.: Горский Андрей Сергеевич
Откуда: Санкт-Петербург
Благодарил (а): 18 раз
Поблагодарили: 21 раз
Контактная информация:

Re: Скрипты и API

Сообщение AGorskiy » 26 авг 2014, 11:16

[spoiler=оффтоп]Александр, я IDima дал ссылку на наш форум и на эту тему, но что-то он исчез с официального форума. Его вопрос разместил для своего рода оживления темы и для интереса =)[/spoiler]
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.

Аватара пользователя

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 890
Зарегистрирован: 17 окт 2012, 10:24
Ф.И.О.: Виталий
Благодарил (а): 4 раза
Поблагодарили: 15 раз

Re: Скрипты и API

Сообщение Madwolf » 26 авг 2014, 12:21

Eplan.EplApi.EServices.Ged.Interaction прерывается при вызове любого другого Action, будь то смена страницы или вызов из командной строки. Выделить несколько объектов на разных страницах не получится (

Аватара пользователя

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 890
Зарегистрирован: 17 окт 2012, 10:24
Ф.И.О.: Виталий
Благодарил (а): 4 раза
Поблагодарили: 15 раз

Re: Скрипты и API

Сообщение Madwolf » 08 сен 2014, 12:31

aranea писал(а):
после загрузки скрипт создает меню Вид - Рабочие области, где перечислены все сохраненные рабочие области
после этого этим пунктам можно назначить горячие клавиши и быстро переключаться на нужную схему панелек
при создании новых или удалении рабочих областей необходим перезапуск еплана, чтобы список обновился
при выгрузке/загрузке скрипта из еплана комбинации горячих клавиш не слетают, хотя опять же может потребоваться перезапуск
09_Switch_WS_Shortcuts.cs


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

Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 519
Зарегистрирован: 21 сен 2012, 21:45
Ф.И.О.: Воробьев Александр
Поблагодарили: 12 раз
Контактная информация:

Re: Скрипты и API

Сообщение aranea » 08 сен 2014, 13:46

мне кажется это глюк GUI
потому что у меня бывает эти комбинации клавиш вылезают на позднее добавленных модулях API или скриптах (например в меню Сервисные программы)
в любом случае, скрипт всего лишь добавляет пункты меню, а вот что там творится с горячими клавишами... неизвестно =)
Изображение

Аватара пользователя

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 711
Зарегистрирован: 18 ноя 2013, 07:32
Ф.И.О.: Сергей
Благодарил (а): 21 раз
Поблагодарили: 28 раз

Re: Скрипты и API

Сообщение legionercheg » 12 сен 2014, 09:53

Знающие скрипты и API, люди, подскажите.Есть хотелка одна.Сейчас нужно экспортировать свойства ПЛК и выводов ПЛК. При экспорте выбирается схема экспорта(туда забит шаблон).Схема выбирается вручную исходя из того какое изделие присвоено этому ПЛК. Нельзя ли сделать скрипт который бы экспортировал свойства и выбирал нужную схему в зависимости от того какое изделие присвоено.Что то типа: (изделие)модуль для AI--->схема1,модуль для DI--->схема2.
--------------------------------------------
Eplan Electric P8 - Professional
Версия: 2.2 HF1
Номер сборки: 6360

Аватара пользователя

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 890
Зарегистрирован: 17 окт 2012, 10:24
Ф.И.О.: Виталий
Благодарил (а): 4 раза
Поблагодарили: 15 раз

Re: Скрипты и API

Сообщение Madwolf » 12 сен 2014, 11:38

С помощью скриптов невозможно получить данные из объектов проекта, поэтому узнать какое именно используется изделие не представляется возможным. А на API лицензия нужна.


andreyvirus
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 14 авг 2014, 09:31
Ф.И.О.: Андрей

Re: Многоуровневые клеммы. Вопросы, проблемы, особенности

Сообщение andreyvirus » 23 сен 2014, 09:15

Суть вопроса:
Возникло желание вытащить кнопки на панель, которые будут задавать для клеммы определение "мостовую перемычку". (Автоматич., Вручную начало перемычки, Вручную центр перемычки, Вручную конец перемычки).

В связи с этим возникли некоторые вопросы, имеются ли у кого-нибудь такие наработки, сценарии, готовые решения.
Или же, как узнать "переменные, или функции, операции" для присвоения им значения ("Автоматич.", "Вручную, начало перемычки", "Вручную, центр перемычки", "Вручную, конец перемычки"), и как с этим всем плясать, как правильно бить по клавиатуре (в бубен ;))
Спасибо!

Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 519
Зарегистрирован: 21 сен 2012, 21:45
Ф.И.О.: Воробьев Александр
Поблагодарили: 12 раз
Контактная информация:

Re: Многоуровневые клеммы. Вопросы, проблемы, особенности

Сообщение aranea » 23 сен 2014, 09:26

andreyvirus, хорошее видео

говорит о том, что свойство <20809> Идентификатор сортировки (клемма / контакт штекера) также влияет на идентификацию клемм как разных уровней одной многоуровневой клеммы

по скриптам отвечу в соотв. теме viewtopic.php?f=78&t=2919 Скрипты и API, которую вы пока с начала внимательно читайте
Изображение

Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 519
Зарегистрирован: 21 сен 2012, 21:45
Ф.И.О.: Воробьев Александр
Поблагодарили: 12 раз
Контактная информация:

Re: Скрипты и API

Сообщение aranea » 23 сен 2014, 09:38

для andreyvirus
подход такой, когда вы меняете свойство "Мостовая перемычка" в клемме меняется какое-то ее свойство
узнать какое можно разными способами
один из них:
установить там например "Вручную, начало перемычки", применить, перейти в "Отображение" добавить, и в списке искать нужное свойство у которого будет данное значение
в данному случае это <20808> Возможность мост. перемычки
теперь вы знаете номер свойства и знаете команду для установки свойств усл. обозначения
XEsSetPropertyAction /PropertyId:? /PropertyIndex:0 /PropertyValue:"?"
пишем
XEsSetPropertyAction /PropertyId:20808 /PropertyIndex:0 /PropertyValue:"0"
выясняем, что
0 - Авто
1 - Ручн. Начало
2 - Ручн. Центр
и так далее

надеюсь кнопки на панели умеете создавать.

\\Ответ на сообщение начиная с этого viewtopic.php?f=78&t=2777&start=100#p50232
Изображение


andreyvirus
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 14 авг 2014, 09:31
Ф.И.О.: Андрей

Re: Скрипты и API

Сообщение andreyvirus » 23 сен 2014, 12:50

aranea писал(а):для andreyvirus

XEsSetPropertyAction /PropertyId:? /PropertyIndex:0 /PropertyValue:"?"

надеюсь кнопки на панели умеете создавать.

"aranea", Спасибо! :good:
Теперь понял как установить свойство усл. обозначения.
Вот кнопок наделаю :ges_up:

Аватара пользователя

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 2273
Зарегистрирован: 05 мар 2012, 14:00
Ф.И.О.: Горский Андрей Сергеевич
Откуда: Санкт-Петербург
Благодарил (а): 18 раз
Поблагодарили: 21 раз
Контактная информация:

Re: Скрипты и API

Сообщение AGorskiy » 01 окт 2014, 09:47

Мое сообщение viewtopic.php?f=78&t=2919#p25658

http://www.eplan4all.info/2014/10/eplan-2014-epis-rza/ показывает реализацию данных задач, или смотреть сразу тут


Аватара пользователя

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 890
Зарегистрирован: 17 окт 2012, 10:24
Ф.И.О.: Виталий
Благодарил (а): 4 раза
Поблагодарили: 15 раз

Re: Скрипты и API

Сообщение Madwolf » 04 окт 2014, 11:06

Скрипт, который добавляет пункт "Синхронизировать выбор" в обычное меню http://www.eplan4all.info/?p=2907, и пояснение как сделать другие произвольные пункты с другими командами. Например, Михаил shum, как-то говорил, что у них модуль API работает только через кнопку, вот с помощью скрипта можно сделать соотв. пункт меню и назначить ему горячую клавишу.


Вернуться в «Eplan Electric P8»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость