- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Скрипты и API
Модератор: специалисты Eplan
-
- здесь недавно
- Сообщения: 2
- Зарегистрирован: 30 апр 2014, 09:45
- Имя: Минвалеев Алмаз Хайдарзанович
- Страна: Россия
- город/регион: Набережные Челны/Татарстан
Re: Скрипты и API
legionercheg Спасибо за ответ. Но это не подходит для нас. Нужно чтобы номер объекта именно в ячейку в счетчика ОУ записывалось...
-
- знаток Eplan
- Сообщения: 3327
- Зарегистрирован: 05 мар 2012, 15:00
- Имя: Горский Андрей Сергеевич
- город/регион: Санкт-Петербург
- Благодарил (а): 176 раз
- Поблагодарили: 364 раза
Re: Скрипты и API
Заголовок: Interactions
IDima писал(а):Добрый день,
следующий вопрос - реализовал Eplan.EplApi.EServices.Ged.Interaction на выделение ОУ на странице, но при переходе на другую страницу данная реализация обработчика события сбрасывается (вызывается метод Cancel). Как сделать, чтобы этого не происходило?
Спасибо.
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
-
- знаток Eplan
- Сообщения: 3327
- Зарегистрирован: 05 мар 2012, 15:00
- Имя: Горский Андрей Сергеевич
- город/регион: Санкт-Петербург
- Благодарил (а): 176 раз
- Поблагодарили: 364 раза
Re: Скрипты и API
Если не ошибаюсь, то при создании структуры через Препланирование, как раз такое можно организовать, насколько я понял из лекции об этой вещи, возможно я ошибаюсь. Предпланирование это не API, не стоит продолжать тему о ней тут, для этого создал отдельную, но пока там тишина.AlmazM писал(а):Нужно чтобы номер объекта именно в ячейку в счетчика ОУ записывалось...
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
-
- знаток Eplan
- Сообщения: 1136
- Зарегистрирован: 21 сен 2012, 22:45
- Имя: aranea
- Благодарил (а): 27 раз
- Поблагодарили: 155 раз
Re: Скрипты и API
AGorskiy, отвечать-то тут? или это для интереса?=)IDima писал(а):Добрый день,
следующий вопрос - реализовал Eplan.EplApi.EServices.Ged.Interaction на выделение ОУ на странице, но при переходе на другую страницу данная реализация обработчика события сбрасывается (вызывается метод Cancel). Как сделать, чтобы этого не происходило?
Спасибо.
IDima, вы выделили ОУ на странице и перешли на другую страницу... зачем? там тоже это ОУ есть?
запоминайте ОУ где-нибудь и на другой странице продолжайте
-
- знаток Eplan
- Сообщения: 3327
- Зарегистрирован: 05 мар 2012, 15:00
- Имя: Горский Андрей Сергеевич
- город/регион: Санкт-Петербург
- Благодарил (а): 176 раз
- Поблагодарили: 364 раза
Re: Скрипты и API
Все знания для всех. Поиск знаний священен. Обмен знаниями священен. Копирование священно.
-
- знаток Eplan
- Сообщения: 1454
- Зарегистрирован: 17 окт 2012, 11:24
- Имя: Виталий
- Страна: Беларусь
- город/регион: Минск
- Благодарил (а): 60 раз
- Поблагодарили: 181 раз
Re: Скрипты и API
Eplan.EplApi.EServices.Ged.Interaction прерывается при вызове любого другого Action, будь то смена страницы или вызов из командной строки. Выделить несколько объектов на разных страницах не получится (
-
- знаток Eplan
- Сообщения: 1454
- Зарегистрирован: 17 окт 2012, 11:24
- Имя: Виталий
- Страна: Беларусь
- город/регион: Минск
- Благодарил (а): 60 раз
- Поблагодарили: 181 раз
Re: Скрипты и API
При использовании обнаружилась интересная особенность. Назначаю горячие клавиши, присвоение сразу видно в меню, но потом происходит смещение и в итоге вообще не видно что горячие клавиши назначены. Хотя горячие клавиши срабатывают как положено.aranea писал(а):
после загрузки скрипт создает меню Вид - Рабочие области, где перечислены все сохраненные рабочие области
после этого этим пунктам можно назначить горячие клавиши и быстро переключаться на нужную схему панелек
при создании новых или удалении рабочих областей необходим перезапуск еплана, чтобы список обновился
при выгрузке/загрузке скрипта из еплана комбинации горячих клавиш не слетают, хотя опять же может потребоваться перезапуск
-
- знаток Eplan
- Сообщения: 1136
- Зарегистрирован: 21 сен 2012, 22:45
- Имя: aranea
- Благодарил (а): 27 раз
- Поблагодарили: 155 раз
Re: Скрипты и API
мне кажется это глюк GUI
потому что у меня бывает эти комбинации клавиш вылезают на позднее добавленных модулях API или скриптах (например в меню Сервисные программы)
в любом случае, скрипт всего лишь добавляет пункты меню, а вот что там творится с горячими клавишами... неизвестно =)
потому что у меня бывает эти комбинации клавиш вылезают на позднее добавленных модулях API или скриптах (например в меню Сервисные программы)
в любом случае, скрипт всего лишь добавляет пункты меню, а вот что там творится с горячими клавишами... неизвестно =)
-
- знаток Eplan
- Сообщения: 965
- Зарегистрирован: 18 ноя 2013, 08:32
- Имя: Сергей
- Страна: Россия
- Благодарил (а): 89 раз
- Поблагодарили: 115 раз
Re: Скрипты и API
Знающие скрипты и API, люди, подскажите.Есть хотелка одна.Сейчас нужно экспортировать свойства ПЛК и выводов ПЛК. При экспорте выбирается схема экспорта(туда забит шаблон).Схема выбирается вручную исходя из того какое изделие присвоено этому ПЛК. Нельзя ли сделать скрипт который бы экспортировал свойства и выбирал нужную схему в зависимости от того какое изделие присвоено.Что то типа: (изделие)модуль для AI--->схема1,модуль для DI--->схема2.
-
- знаток Eplan
- Сообщения: 1454
- Зарегистрирован: 17 окт 2012, 11:24
- Имя: Виталий
- Страна: Беларусь
- город/регион: Минск
- Благодарил (а): 60 раз
- Поблагодарили: 181 раз
Re: Скрипты и API
С помощью скриптов невозможно получить данные из объектов проекта, поэтому узнать какое именно используется изделие не представляется возможным. А на API лицензия нужна.
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 14 авг 2014, 10:31
- Имя: Андрей
- Страна: Россия
- город/регион: Воронеж
Re: Многоуровневые клеммы. Вопросы, проблемы, особенности
Суть вопроса:
Возникло желание вытащить кнопки на панель, которые будут задавать для клеммы определение "мостовую перемычку". (Автоматич., Вручную начало перемычки, Вручную центр перемычки, Вручную конец перемычки).
В связи с этим возникли некоторые вопросы, имеются ли у кого-нибудь такие наработки, сценарии, готовые решения.
Или же, как узнать "переменные, или функции, операции" для присвоения им значения ("Автоматич.", "Вручную, начало перемычки", "Вручную, центр перемычки", "Вручную, конец перемычки"), и как с этим всем плясать, как правильно бить по клавиатуре (в бубен ;))
Спасибо!
Возникло желание вытащить кнопки на панель, которые будут задавать для клеммы определение "мостовую перемычку". (Автоматич., Вручную начало перемычки, Вручную центр перемычки, Вручную конец перемычки).
В связи с этим возникли некоторые вопросы, имеются ли у кого-нибудь такие наработки, сценарии, готовые решения.
Или же, как узнать "переменные, или функции, операции" для присвоения им значения ("Автоматич.", "Вручную, начало перемычки", "Вручную, центр перемычки", "Вручную, конец перемычки"), и как с этим всем плясать, как правильно бить по клавиатуре (в бубен ;))
Спасибо!
-
- знаток Eplan
- Сообщения: 1136
- Зарегистрирован: 21 сен 2012, 22:45
- Имя: aranea
- Благодарил (а): 27 раз
- Поблагодарили: 155 раз
Re: Многоуровневые клеммы. Вопросы, проблемы, особенности
andreyvirus, хорошее видео
говорит о том, что свойство <20809> Идентификатор сортировки (клемма / контакт штекера) также влияет на идентификацию клемм как разных уровней одной многоуровневой клеммы
по скриптам отвечу в соотв. теме viewtopic.php?f=78&t=2919 Скрипты и API, которую вы пока с начала внимательно читайте
говорит о том, что свойство <20809> Идентификатор сортировки (клемма / контакт штекера) также влияет на идентификацию клемм как разных уровней одной многоуровневой клеммы
по скриптам отвечу в соотв. теме viewtopic.php?f=78&t=2919 Скрипты и API, которую вы пока с начала внимательно читайте
-
- знаток Eplan
- Сообщения: 1136
- Зарегистрирован: 21 сен 2012, 22:45
- Имя: aranea
- Благодарил (а): 27 раз
- Поблагодарили: 155 раз
Re: Скрипты и API
для 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
подход такой, когда вы меняете свойство "Мостовая перемычка" в клемме меняется какое-то ее свойство
узнать какое можно разными способами
один из них:
установить там например "Вручную, начало перемычки", применить, перейти в "Отображение" добавить, и в списке искать нужное свойство у которого будет данное значение
в данному случае это <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
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 14 авг 2014, 10:31
- Имя: Андрей
- Страна: Россия
- город/регион: Воронеж
Re: Скрипты и API
"aranea", Спасибо!aranea писал(а):для andreyvirus
XEsSetPropertyAction /PropertyId:? /PropertyIndex:0 /PropertyValue:"?"
надеюсь кнопки на панели умеете создавать.
Теперь понял как установить свойство усл. обозначения.
Вот кнопок наделаю
-
- знаток Eplan
- Сообщения: 3327
- Зарегистрирован: 05 мар 2012, 15:00
- Имя: Горский Андрей Сергеевич
- город/регион: Санкт-Петербург
- Благодарил (а): 176 раз
- Поблагодарили: 364 раза
Re: Скрипты и API
Мое сообщение viewtopic.php?f=78&t=2919#p25658
http://www.eplan4all.info/2014/10/eplan-2014-epis-rza/ показывает реализацию данных задач, или смотреть сразу тут
http://www.eplan4all.info/2014/10/eplan-2014-epis-rza/ показывает реализацию данных задач, или смотреть сразу тут
-
- знаток Eplan
- Сообщения: 1454
- Зарегистрирован: 17 окт 2012, 11:24
- Имя: Виталий
- Страна: Беларусь
- город/регион: Минск
- Благодарил (а): 60 раз
- Поблагодарили: 181 раз
Re: Скрипты и API
Скрипт, который добавляет пункт "Синхронизировать выбор" в обычное меню http://www.eplan4all.info/?p=2907, и пояснение как сделать другие произвольные пункты с другими командами. Например, Михаил shum, как-то говорил, что у них модуль API работает только через кнопку, вот с помощью скрипта можно сделать соотв. пункт меню и назначить ему горячую клавишу.
-
- здесь недавно
- Сообщения: 36
- Зарегистрирован: 12 фев 2014, 08:13
- Имя: Сергей
- Страна: Россия
- Благодарил (а): 1 раз
Re: Скрипты и API
Всем здравствуйте!
Хочу поменять цвет слоя, делаю вот что:
Когда цепляюсь к процессу, то вижу, что layer.Pen.ColorId принимает значение "0", но prj.LayerTable.Layers.Where(n => n.Name == "EPLAN200").First().Pen.ColorId меняться не хочет
Хочу поменять цвет слоя, делаю вот что:
Код: Выделить всё
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;
-
- здесь недавно
- Сообщения: 11
- Зарегистрирован: 01 фев 2011, 09:29
- Имя: Сергей
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 1 раз
Re: Скрипты и API
Всем добрый вечер!
на первой странице ветки есть архив с регистрацией dll.
А вопрос такой это как бы замена модуля API от Eplan или это пример как можно написать свою dll-ку с нужными тебе функциями и в обход стандартного инструмента API подгрузить ее в EPlan и пользоваться мощью API?
на первой странице ветки есть архив с регистрацией dll.
А вопрос такой это как бы замена модуля API от Eplan или это пример как можно написать свою dll-ку с нужными тебе функциями и в обход стандартного инструмента API подгрузить ее в EPlan и пользоваться мощью API?
-
- знаток Eplan
- Сообщения: 1454
- Зарегистрирован: 17 окт 2012, 11:24
- Имя: Виталий
- Страна: Беларусь
- город/регион: Минск
- Благодарил (а): 60 раз
- Поблагодарили: 181 раз
Re: Скрипты и API
Начиная с 2.3 окно добавления модуля имеется и без лицензии, однако загрузить туда ничего не получится.
Однако (как мне кажется) Еплановцы могут подписать модуль специальным ключом, и его можно будет запустить без лицензии АПИ.
Однако (как мне кажется) Еплановцы могут подписать модуль специальным ключом, и его можно будет запустить без лицензии АПИ.
-
- здесь недавно
- Сообщения: 11
- Зарегистрирован: 01 фев 2011, 09:29
- Имя: Сергей
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 1 раз
Re: Скрипты и API
Madwolf, я не до конца понял. Можно свою dll регистрировать при помощи этого скрипта или стандартными средствами, но если нет лицензии, то ничего работать не будет?
-
- знаток Eplan
- Сообщения: 1454
- Зарегистрирован: 17 окт 2012, 11:24
- Имя: Виталий
- Страна: Беларусь
- город/регион: Минск
- Благодарил (а): 60 раз
- Поблагодарили: 181 раз
Re: Скрипты и API
Есть 2 вида лицензии API: для разработчика и для юзера. Если лицензия для разработчика, то подключать можно любые сборки. Если для юзера - только подписанные dll (Еплановцами) цифровым ключом . При этом, подписывается сборка под конкретную лицензию. Однако, я думаю, есть у них особые ключи, так вот если подписать этим ключом сборку, она будет работать на всех машинах, даже без лицензии API (как например RD5 от Weidmuller или приблуда от Phoenix Contact).
-
- здесь недавно
- Сообщения: 38
- Зарегистрирован: 02 фев 2015, 07:18
- Имя: Кудачинова Кира Владимировна
- Страна: Россия
- город/регион: Томск
Re: Скрипты и API
Здравствуйте, извините, пожалуйста, за такой элементарный наверное для кого-то вопрос. Хочу получить ссылки на все изделия, при создании экземпляра 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);
}
-
- знаток Eplan
- Сообщения: 1454
- Зарегистрирован: 17 окт 2012, 11:24
- Имя: Виталий
- Страна: Беларусь
- город/регион: Минск
- Благодарил (а): 60 раз
- Поблагодарили: 181 раз
Re: Скрипты и API
nCount - количество изделий. Вообще данный код, на мой взгляд, не особо полезен, а добавить изделие (например клемме) можно с помощью следующего кода:
terminal.AddArticleReference(article.PartNr, variant, count).StoreToObject(),
где terminal - объект (клемма) которой будет добавляться изделие,
article.PartNr - Номер изделия <22001>
variant - обычно я задаю "1"1;
count - количество изделий
Используя этот метод ( AddArticleReference() ) можно добавить изделия ко всем устройствам, клеммникам, штекерам и т.д.
terminal.AddArticleReference(article.PartNr, variant, count).StoreToObject(),
где terminal - объект (клемма) которой будет добавляться изделие,
article.PartNr - Номер изделия <22001>
variant - обычно я задаю "1"1;
count - количество изделий
Используя этот метод ( AddArticleReference() ) можно добавить изделия ко всем устройствам, клеммникам, штекерам и т.д.
-
- знаток Eplan
- Сообщения: 1136
- Зарегистрирован: 21 сен 2012, 22:45
- Имя: aranea
- Благодарил (а): 27 раз
- Поблагодарили: 155 раз
Re: Скрипты и API
Кира, если не сложно, опишите общую задачу, которую вы решаете
может быть окажется вы выбрали немного не тот путь
может быть окажется вы выбрали немного не тот путь