-----
18.11.2017 форум перенесён на другой хостинг. О замеченых глюках просьба сообщать администраторам.
-----
На форуме обязательно:
  1. Заполнить свой профиль на Русском языке. См. Правила, п.2.d.
  2. Не писать свой вопрос в первую попавшуюся тему, а вместо этого создать свою. См. Правила, п.3.a.
Рекламу на своём форуме мы не размещаем ни на каких условиях.

Скрипты и API

Сценарии / Модули API

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


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

Re: Скрипты и API

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

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

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

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

Re: Скрипты и API

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

Заголовок: Interactions

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

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

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

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

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

Re: Скрипты и API

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

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

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

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

aranea
знаток Eplan
знаток Eplan
Сообщения: 678
Зарегистрирован: 21 сен 2012, 21:45
Имя: Воробьев Александр
Благодарил (а): 2 раза
Поблагодарили: 43 раза
Контактная информация:

Re: Скрипты и API

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

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


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

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

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

Re: Скрипты и API

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

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

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

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

Re: Скрипты и API

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

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

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

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

Re: Скрипты и API

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

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


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

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

aranea
знаток Eplan
знаток Eplan
Сообщения: 678
Зарегистрирован: 21 сен 2012, 21:45
Имя: Воробьев Александр
Благодарил (а): 2 раза
Поблагодарили: 43 раза
Контактная информация:

Re: Скрипты и API

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

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

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

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 689
Зарегистрирован: 18 ноя 2013, 07:32
Имя: Сергей
Благодарил (а): 43 раза
Поблагодарили: 37 раз

Re: Скрипты и API

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

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

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

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

Re: Скрипты и API

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

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


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

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

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

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

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

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

aranea
знаток Eplan
знаток Eplan
Сообщения: 678
Зарегистрирован: 21 сен 2012, 21:45
Имя: Воробьев Александр
Благодарил (а): 2 раза
Поблагодарили: 43 раза
Контактная информация:

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

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

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

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

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

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

aranea
знаток Eplan
знаток Eplan
Сообщения: 678
Зарегистрирован: 21 сен 2012, 21:45
Имя: Воробьев Александр
Благодарил (а): 2 раза
Поблагодарили: 43 раза
Контактная информация:

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
Сообщения: 2486
Зарегистрирован: 05 мар 2012, 14:00
Имя: Горский Андрей Сергеевич
Откуда: Санкт-Петербург
Благодарил (а): 53 раза
Поблагодарили: 78 раз
Контактная информация:

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
Сообщения: 1029
Зарегистрирован: 17 окт 2012, 10:24
Имя: Виталий
Благодарил (а): 15 раз
Поблагодарили: 63 раза

Re: Скрипты и API

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

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


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

Re: Скрипты и API

Сообщение limbir » 30 окт 2014, 16:49

Всем здравствуйте!
Хочу поменять цвет слоя, делаю вот что:

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

SelectionSet sel = new SelectionSet();
prj = sel.GetCurrentProject(false);
GraphicalLayerTable layers = prj.LayerTable;
GraphicalLayer layer = layers.Layers.Where(n => n.Name == "EPLAN200").First();
layer.Pen.ColorId = 0;

Когда цепляюсь к процессу, то вижу, что layer.Pen.ColorId принимает значение "0", но prj.LayerTable.Layers.Where(n => n.Name == "EPLAN200").First().Pen.ColorId меняться не хочет


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

Re: Скрипты и API

Сообщение limbir » 31 окт 2014, 06:49

Чтобы обновить слой в проекте, нужно добавить

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

layer.Store();


svetkin
здесь недавно
здесь недавно
Сообщения: 5
Зарегистрирован: 01 фев 2011, 09:29
Имя: Сергей

Re: Скрипты и API

Сообщение svetkin » 19 янв 2015, 00:01

Всем добрый вечер!

на первой странице ветки есть архив с регистрацией dll.
А вопрос такой это как бы замена модуля API от Eplan или это пример как можно написать свою dll-ку с нужными тебе функциями и в обход стандартного инструмента API подгрузить ее в EPlan и пользоваться мощью API?

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

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

Re: Скрипты и API

Сообщение Madwolf » 19 янв 2015, 10:10

Начиная с 2.3 окно добавления модуля имеется и без лицензии, однако загрузить туда ничего не получится.
Однако (как мне кажется) Еплановцы могут подписать модуль специальным ключом, и его можно будет запустить без лицензии АПИ.


svetkin
здесь недавно
здесь недавно
Сообщения: 5
Зарегистрирован: 01 фев 2011, 09:29
Имя: Сергей

Re: Скрипты и API

Сообщение svetkin » 19 янв 2015, 17:19

Madwolf, я не до конца понял. Можно свою dll регистрировать при помощи этого скрипта или стандартными средствами, но если нет лицензии, то ничего работать не будет?

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

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

Re: Скрипты и API

Сообщение Madwolf » 20 янв 2015, 20:59

Есть 2 вида лицензии API: для разработчика и для юзера. Если лицензия для разработчика, то подключать можно любые сборки. Если для юзера - только подписанные dll (Еплановцами) цифровым ключом . При этом, подписывается сборка под конкретную лицензию. Однако, я думаю, есть у них особые ключи, так вот если подписать этим ключом сборку, она будет работать на всех машинах, даже без лицензии API (как например RD5 от Weidmuller или приблуда от Phoenix Contact).


KiraKudachinova
здесь недавно
здесь недавно
Сообщения: 38
Зарегистрирован: 02 фев 2015, 07:18
Имя: Кудачинова Кира Владимировна

Re: Скрипты и API

Сообщение KiraKudachinova » 16 фев 2015, 07:06

Здравствуйте, извините, пожалуйста, за такой элементарный наверное для кого-то вопрос. Хочу получить ссылки на все изделия, при создании экземпляра ArticleReference при использовании следующей перегрузки конструктора (ArticleReference(string strPartNr, string strVariant, uint nCount)) никак не могу понять,что передавать третьим аргументом? Я вроде бы поняла,что если третий аргумент меньше единицы ,то вызывается исключение, так он отвечает за количество, но все же где его брать,

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

   List<  ArticleReference > listArtRef =  new  List<  ArticleReference >();
           foreach(var article in articles)
           {
               ArticleReference artRef = new ArticleReference(article.PartNr, article.VariantNr, /* не знаю, что передавать*/ );
               listArtRef(artRef);
           }

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

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

Re: Скрипты и API

Сообщение Madwolf » 16 фев 2015, 10:14

nCount - количество изделий. Вообще данный код, на мой взгляд, не особо полезен, а добавить изделие (например клемме) можно с помощью следующего кода:

terminal.AddArticleReference(article.PartNr, variant, count).StoreToObject(),
где terminal - объект (клемма) которой будет добавляться изделие,
article.PartNr - Номер изделия <22001>
variant - обычно я задаю "1"1;
count - количество изделий

Используя этот метод ( AddArticleReference() ) можно добавить изделия ко всем устройствам, клеммникам, штекерам и т.д.

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

aranea
знаток Eplan
знаток Eplan
Сообщения: 678
Зарегистрирован: 21 сен 2012, 21:45
Имя: Воробьев Александр
Благодарил (а): 2 раза
Поблагодарили: 43 раза
Контактная информация:

Re: Скрипты и API

Сообщение aranea » 16 фев 2015, 10:17

Кира, если не сложно, опишите общую задачу, которую вы решаете
может быть окажется вы выбрали немного не тот путь
Изображение