1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Скрипты и API

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

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

Закрыто

AlmazM
здесь недавно
здесь недавно
Сообщения: 2
Зарегистрирован: 30 апр 2014, 09:45
Имя: Минвалеев Алмаз Хайдарзанович
Страна: Россия
город/регион: Набережные Челны/Татарстан

Re: Скрипты и API

Сообщение AlmazM »

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

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 3329
Зарегистрирован: 05 мар 2012, 15:00
Имя: Горский Андрей Сергеевич
город/регион: Санкт-Петербург
Благодарил (а): 178 раз
Поблагодарили: 368 раз

Re: Скрипты и API

Сообщение AGorskiy »

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

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

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

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 3329
Зарегистрирован: 05 мар 2012, 15:00
Имя: Горский Андрей Сергеевич
город/регион: Санкт-Петербург
Благодарил (а): 178 раз
Поблагодарили: 368 раз

Re: Скрипты и API

Сообщение AGorskiy »

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

aranea
знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 30 раз
Поблагодарили: 165 раз

Re: Скрипты и API

Сообщение aranea »

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

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 3329
Зарегистрирован: 05 мар 2012, 15:00
Имя: Горский Андрей Сергеевич
город/регион: Санкт-Петербург
Благодарил (а): 178 раз
Поблагодарили: 368 раз

Re: Скрипты и API

Сообщение AGorskiy »

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

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1455
Зарегистрирован: 17 окт 2012, 11:24
Имя: Виталий
Страна: Беларусь
город/регион: Минск
Благодарил (а): 61 раз
Поблагодарили: 181 раз

Re: Скрипты и API

Сообщение Madwolf »

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

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1455
Зарегистрирован: 17 окт 2012, 11:24
Имя: Виталий
Страна: Беларусь
город/регион: Минск
Благодарил (а): 61 раз
Поблагодарили: 181 раз

Re: Скрипты и API

Сообщение Madwolf »

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

aranea
знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 30 раз
Поблагодарили: 165 раз

Re: Скрипты и API

Сообщение aranea »

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

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 965
Зарегистрирован: 18 ноя 2013, 08:32
Имя: Сергей
Страна: Россия
Благодарил (а): 90 раз
Поблагодарили: 115 раз

Re: Скрипты и API

Сообщение legionercheg »

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

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1455
Зарегистрирован: 17 окт 2012, 11:24
Имя: Виталий
Страна: Беларусь
город/регион: Минск
Благодарил (а): 61 раз
Поблагодарили: 181 раз

Re: Скрипты и API

Сообщение Madwolf »

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

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

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

Сообщение andreyvirus »

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

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

aranea
знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 30 раз
Поблагодарили: 165 раз

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

Сообщение aranea »

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

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

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

aranea
знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 30 раз
Поблагодарили: 165 раз

Re: Скрипты и API

Сообщение aranea »

для 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, 10:31
Имя: Андрей
Страна: Россия
город/регион: Воронеж

Re: Скрипты и API

Сообщение andreyvirus »

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

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

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

AGorskiy
знаток Eplan
знаток Eplan
Сообщения: 3329
Зарегистрирован: 05 мар 2012, 15:00
Имя: Горский Андрей Сергеевич
город/регион: Санкт-Петербург
Благодарил (а): 178 раз
Поблагодарили: 368 раз

Re: Скрипты и API

Сообщение AGorskiy »

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

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


Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1455
Зарегистрирован: 17 окт 2012, 11:24
Имя: Виталий
Страна: Беларусь
город/регион: Минск
Благодарил (а): 61 раз
Поблагодарили: 181 раз

Re: Скрипты и API

Сообщение Madwolf »

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

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

Re: Скрипты и API

Сообщение limbir »

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

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

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, 08:13
Имя: Сергей
Страна: Россия
Благодарил (а): 1 раз

Re: Скрипты и API

Сообщение limbir »

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

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

layer.Store();

svetkin
здесь недавно
здесь недавно
Сообщения: 11
Зарегистрирован: 01 фев 2011, 09:29
Имя: Сергей
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 1 раз

Re: Скрипты и API

Сообщение svetkin »

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

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

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1455
Зарегистрирован: 17 окт 2012, 11:24
Имя: Виталий
Страна: Беларусь
город/регион: Минск
Благодарил (а): 61 раз
Поблагодарили: 181 раз

Re: Скрипты и API

Сообщение Madwolf »

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

svetkin
здесь недавно
здесь недавно
Сообщения: 11
Зарегистрирован: 01 фев 2011, 09:29
Имя: Сергей
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 1 раз

Re: Скрипты и API

Сообщение svetkin »

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

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1455
Зарегистрирован: 17 окт 2012, 11:24
Имя: Виталий
Страна: Беларусь
город/регион: Минск
Благодарил (а): 61 раз
Поблагодарили: 181 раз

Re: Скрипты и API

Сообщение Madwolf »

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

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

Re: Скрипты и API

Сообщение KiraKudachinova »

Здравствуйте, извините, пожалуйста, за такой элементарный наверное для кого-то вопрос. Хочу получить ссылки на все изделия, при создании экземпляра 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
Сообщения: 1455
Зарегистрирован: 17 окт 2012, 11:24
Имя: Виталий
Страна: Беларусь
город/регион: Минск
Благодарил (а): 61 раз
Поблагодарили: 181 раз

Re: Скрипты и API

Сообщение Madwolf »

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

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

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

aranea
знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 30 раз
Поблагодарили: 165 раз

Re: Скрипты и API

Сообщение aranea »

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

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