- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Как добраться до настроек Eplan через API
Модератор: специалисты Eplan
-
- здесь недавно
- Сообщения: 15
- Зарегистрирован: 30 апр 2020, 12:08
- Имя: Илья
- Благодарил (а): 4 раза
Как добраться до настроек Eplan через API
Как получить все значения в Меню-Настройки-Пользователь-Интерфейсы - Экспорт данных изготовления/маркировка. Самое верхнее поле Схемы. как получить все значения которые там прописаны.
-
- знаток Eplan
- Сообщения: 1136
- Зарегистрирован: 21 сен 2012, 22:45
- Имя: aranea
- Благодарил (а): 30 раз
- Поблагодарили: 165 раз
Как добраться до свойств системы через API
ill_via, экспортируете настройку, узнаете путь, а потом что-то типа этого https://asutpforum.ru/viewtopic.php?p=40262#p40262
на каком этапе и в чем у вас трудности?
на каком этапе и в чем у вас трудности?
-
- здесь недавно
- Сообщения: 15
- Зарегистрирован: 30 апр 2020, 12:08
- Имя: Илья
- Благодарил (а): 4 раза
Как добраться до свойств системы через API
выгрузку сделал, но где там путь?
пробовал "USER.Labelling.Config" не работает.
у нас несколько вариантов отчетов экспортируется в Excel, чтобы выгрузить необходимо знать configSheme, т.е. как называется нужный отчет, а раз он есть в настройках, значит как-то можно его получить и использовать
Код: Выделить всё
<?xml version="1.0" encoding="utf-8" ?>
<!-- Labelling_USER_Config: LB.КГА_Провода.xml -->
<Settings format="2">
<CAT name="USER">
<MOD name="Labelling">
<LEV1 name="Config" nodekind="scheme">
.....
у нас несколько вариантов отчетов экспортируется в Excel, чтобы выгрузить необходимо знать configSheme, т.е. как называется нужный отчет, а раз он есть в настройках, значит как-то можно его получить и использовать
-
- здесь недавно
- Сообщения: 15
- Зарегистрирован: 30 апр 2020, 12:08
- Имя: Илья
- Благодарил (а): 4 раза
Как добраться до свойств системы через API
Код: Выделить всё
Settings oSettings = new Settings();
oSettings.GetCountOfValues("USER.Labelling.Config");
-
- знаток Eplan
- Сообщения: 1136
- Зарегистрирован: 21 сен 2012, 22:45
- Имя: aranea
- Благодарил (а): 30 раз
- Поблагодарили: 165 раз
Как добраться до свойств системы через API
ill_via, вам нужен SchemeSetting , так как
Settings - это просто хранение простых данных в настройках Е, а SchemeSetting - это для работы со схемами (группами настроек, сохраненными под каким-то именем)
-
- здесь недавно
- Сообщения: 15
- Зарегистрирован: 30 апр 2020, 12:08
- Имя: Илья
- Благодарил (а): 4 раза
Как добраться до настроек Eplan через API
то что он мне нужен я в курсе. Я путь не могу правильный найти к настройкам. Например для экспорта DXF/DWG он выглядит "USER.DXF.SCHEMES". а для экспорта маркировки? "USER.LABEL.SCHEMES" и "USER.LABELING.SCHEMES" не работают.
-
- здесь недавно
- Сообщения: 15
- Зарегистрирован: 30 апр 2020, 12:08
- Имя: Илья
- Благодарил (а): 4 раза
Как добраться до настроек Eplan через API
+ $exception {"Не удалось найти настройку USER.LABEL.SCHEMES.LastUsed."} Eplan.EplApi.Base.BaseException
вот такой ошибкой падает, значит дело не в пути. копаем дальше
вот такой ошибкой падает, значит дело не в пути. копаем дальше
-
- знаток Eplan
- Сообщения: 1136
- Зарегистрирован: 21 сен 2012, 22:45
- Имя: aranea
- Благодарил (а): 30 раз
- Поблагодарили: 165 раз
Как добраться до настроек Eplan через API
ill_via, давайте, раз тут обсуждаем аспект программирования с использованием Eplan.api, использовать больше кода и меньше домыслов
Просторные рассуждения проводятся в другой теме
Просторные рассуждения проводятся в другой теме
-
- здесь недавно
- Сообщения: 15
- Зарегистрирован: 30 апр 2020, 12:08
- Имя: Илья
- Благодарил (а): 4 раза
Как добраться до настроек Eplan через API
вопрос остается открытым, как добраться до выделенных свойств через API?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- знаток Eplan
- Сообщения: 58
- Зарегистрирован: 30 окт 2018, 09:17
- Имя: Павел
- Страна: РФ
- город/регион: Москва
- Благодарил (а): 2 раза
- Поблагодарили: 54 раза
Как добраться до настроек Eplan через API
Всё очень просто, имена схем можно выдрать из списка дочерних узлов куста настроек, по хвосту .Name
Код: Выделить всё
//Получаем коллекцию ВСЕХ имён подузлов в настройках лейблинга
SettingNode sn = new SettingNode("USER.Labelling");
StringCollection strcSettings = new StringCollection();
sn.GetListOfAllSettings(ref strcSettings, true);
//Сделаем из коллекции обычный List
List<string> SchemeNames = strcSettings.OfType<string>().ToList();
//Выбираем узлы только с именем схемы
SchemeNames = SchemeNames.Where(s => s.Contains(".Name")).ToList();
//Убираем лишнее из имени узла оставив только имя схемы
SchemeNames = SchemeNames.Select(s =>
s.Replace("USER.Labelling.Config.", "").Replace(".Name", ""))
.ToList().Distinct().ToList();
-
- здесь недавно
- Сообщения: 15
- Зарегистрирован: 30 апр 2020, 12:08
- Имя: Илья
- Благодарил (а): 4 раза
Как добраться до настроек Eplan через API
Простите за дурацкий вопрос. Подскажите, где найти правильное обозначение всех пунктов меню, это же должно быть в каком-нибудь документе? в хэлпе не нашел ответов.
-
- знаток Eplan
- Сообщения: 58
- Зарегистрирован: 30 окт 2018, 09:17
- Имя: Павел
- Страна: РФ
- город/регион: Москва
- Благодарил (а): 2 раза
- Поблагодарили: 54 раза
Как добраться до настроек Eplan через API
ill_via, может быть где-то оно и есть, я не знаю. Я использую данные из скрытой настройки "экспортировать настройку". Что бы активировать этот пункт необходимо выполнить следующий код через api, или через сценарии - выполнить (с атрибутом Start) *
тогда будет доступна опция "экспортировать настройку" в любом из полей настроек.
Из xml можно будет понять в какой структуре древа находится тот или иной набор настроек
Пример по полю "целевой файл" из Пользователь-интерфейсы-внешняя обработкаЖ
* я имел ввиду дополнительно появится опция контекстного меню "скопировать путь настроек в буфер обмена", там будет текстовое представление, его можно задавать через класс settings
Код: Выделить всё
Settings oSettings = new Settings();
oSettings.SetBoolSetting("USER.EnfMVC.ContextMenuSetting.ShowExtended", true, 0);
Из xml можно будет понять в какой структуре древа находится тот или иной набор настроек
Пример по полю "целевой файл" из Пользователь-интерфейсы-внешняя обработкаЖ
Код: Выделить всё
<Settings format="2">
<CAT name="USER">
<MOD name="MacrosGui">
<LEV1 name="PXF">
<LEV2 name="Export">
<LEV3 name="Schemes" nodekind="scheme">
<LEV4 name="3D">
<LEV5 name="Data" nodekind="block">
<LEV6 name="File">
<Setting name="Destination" type="string">
-
- знаток Eplan
- Сообщения: 1457
- Зарегистрирован: 17 окт 2012, 11:24
- Имя: Виталий
- Страна: Беларусь
- город/регион: Минск
- Благодарил (а): 61 раз
- Поблагодарили: 182 раза
Как добраться до настроек Eplan через API
SchemeSetting oSCHsetting = new SchemeSetting();ill_via писал(а): ↑30 апр 2020, 23:33на этом отваливается и пишет, что нет такого путиКод: Выделить всё
Settings oSettings = new Settings(); oSettings.GetCountOfValues("USER.Labelling.Config");
oSCHsetting.Init("USER.Labelling.Config");
//folderPath = System.IO.Path.GetDirectoryName(oSCHsetting.GetStringSetting("File.Destination", 0));
Далее можно получить списки доступных схем, установить текущую схему (oSCHsetting.CheckIfSchemeExists(schemeName) ), настроить все как нужно и т.д.
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 28 янв 2019, 09:22
- Имя: Равиль
- Страна: Россия
- город/регион: Казань
- Благодарил (а): 4 раза
- Поблагодарили: 2 раза
Как добраться до настроек Eplan через API
Добрый вечер.
Хотелось бы уточнить способ получения списка доступных схем Экспорта/Маркировки.
К примеру: вывод названий всех доступных схем Label в CheckBox для Form либо просто в MessageBox.
Через метод SchemeSetting получается выводить список схем только в виде экспорта в отдельный файл
Код: Выделить всё
SchemeSetting oSCHsetting = new SchemeSetting();
oSCHsetting.Init("USER.Labelling.Config");
oSCHsetting.CheckIfSchemeExists("USER.Labelling.Config");
oSCHsetting.ExportSchemes(@"C:\Users\Рабочий стол\export.txt");
-
- знаток Eplan
- Сообщения: 58
- Зарегистрирован: 30 окт 2018, 09:17
- Имя: Павел
- Страна: РФ
- город/регион: Москва
- Благодарил (а): 2 раза
- Поблагодарили: 54 раза
Как добраться до настроек Eplan через API
Код: Выделить всё
//Вывод в ComboBox
comboBoxLablingSch.Items.Clear();
comboBoxLablingSch.Items.AddRange(GetLabelingchemeNames());
comboBoxLablingSch.SelectedIndex = new Random().Next(comboBoxLablingSch.Items.Count);
public static string[] GetLabelingchemeNames()
{
//Получаем коллекцию ВСЕХ имён подузлов в настройках лейблинга
SettingNode sn = new SettingNode("USER.Labelling");
StringCollection strcSettings = new StringCollection();
sn.GetListOfAllSettings(ref strcSettings, true);
//Сделаем из коллекции обычный List
List<string> SchemeNames = strcSettings.OfType<string>().ToList();
//Выбираем узлы только с именем схемы
SchemeNames = SchemeNames.Where(s => s.Contains(".Name")).ToList();
//Убираем лишнее из имени узла оставив только имя схемы
SchemeNames = SchemeNames.Select(s =>
s.Replace("USER.Labelling.Config.", "").Replace(".Name", ""))
.ToList().Distinct().ToList();
return SchemeNames.ToArray();
}
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 10 апр 2023, 19:47
- Имя: Кирилл
- Благодарил (а): 2 раза
Как добраться до настроек Eplan через API
Добрый день!
Уже всю голову себе сломал. а как из API запустить "Экспорт данных изготовления/вывести маркировку" с нужной настройкой?
Уже всю голову себе сломал. а как из API запустить "Экспорт данных изготовления/вывести маркировку" с нужной настройкой?