Всем привет!
Есть задача требующая работы с текстом. Необходимо получать весь текст именно с выделенной страницы. Да данный момент текст получилось собрать только со всего проекта через DMObjectFinder и кастом фильтр. Что при большом проекте очень ресурсозатратно.
Однако с выделенной страницы получилось получить функции через CurrentPage, но через CurrentPage нельзя получить текст)
Подскажите пожалуйста, куда копать, через какой класс можно это сделать?
Спасибо!
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Получение объектов типа текст с текущей страницы
Модератор: специалисты Eplan
-
- здесь недавно
- Сообщения: 29
- Зарегистрирован: 23 ноя 2017, 00:14
- Имя: Антон
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 18 раз
- Поблагодарили: 4 раза
-
- знаток Eplan
- Сообщения: 1136
- Зарегистрирован: 21 сен 2012, 22:45
- Имя: aranea
- Благодарил (а): 30 раз
- Поблагодарили: 165 раз
Получение объектов типа текст с текущей страницы
давайте посмотрим ваш код!
про DMObjectFinder понятно, про выделенные страницы прошу подробнее
про DMObjectFinder понятно, про выделенные страницы прошу подробнее
-
- здесь недавно
- Сообщения: 29
- Зарегистрирован: 23 ноя 2017, 00:14
- Имя: Антон
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 18 раз
- Поблагодарили: 4 раза
Получение объектов типа текст с текущей страницы
Вот выдержка из кода, выделеные страницы получил через SelectionSet, и метод GetSelectedPages прошу прощения за то что ввел в заблуждения, CurrentPage это моя переменная:)
Данным способом получил все функции с выделенных страниц.
Но текст таким образом получить нельзя, поэтому и прошлось использовать DMObjectFinder, но на большом проекте тупит сильно.
Поэтому и вопрос, можно ли как-то получить текст с выделенных страниц?:)
Код: Выделить всё
SelectionSet Set = new SelectionSet();
Page[] CurrentPage = Set.GetSelectedPages();
List<Function[]> Functions = new List<Function[]>();
//цикл записи в всех устройств на странице
foreach (Page item in CurrentPage)
{
Functions.Add(item.Functions);
}
Но текст таким образом получить нельзя, поэтому и прошлось использовать DMObjectFinder, но на большом проекте тупит сильно.
Поэтому и вопрос, можно ли как-то получить текст с выделенных страниц?:)
Последний раз редактировалось aranea 09 июл 2019, 22:48, всего редактировалось 1 раз.
Причина: оформил код в тег <code></code>
Причина: оформил код в тег <code></code>
-
- знаток Eplan
- Сообщения: 1136
- Зарегистрирован: 21 сен 2012, 22:45
- Имя: aranea
- Благодарил (а): 30 раз
- Поблагодарили: 165 раз
Получение объектов типа текст с текущей страницы
текст это не Function, это Eplan::EplApi::DataModel::Graphics::Text
а у Page есть что-то там с графическими объектами =)
ps. вот удобная штука, чтобы понять что за объект выбран и как с ним работать viewtopic.php?f=206&t=2919&p=47303#p47274
а у Page есть что-то там с графическими объектами =)
ps. вот удобная штука, чтобы понять что за объект выбран и как с ним работать viewtopic.php?f=206&t=2919&p=47303#p47274
-
- здесь недавно
- Сообщения: 29
- Зарегистрирован: 23 ноя 2017, 00:14
- Имя: Антон
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 18 раз
- Поблагодарили: 4 раза
Получение объектов типа текст с текущей страницы
Да, верно, спасибо! Почему раньше не сообразил использовать свойство AllGraphicalPlacements, не могу понять. Думаю, что не сложно будет достать теперь текст.
По результатам отпишусь
-
- знаток Eplan
- Сообщения: 1136
- Зарегистрирован: 21 сен 2012, 22:45
- Имя: aranea
- Благодарил (а): 30 раз
- Поблагодарили: 165 раз
Получение объектов типа текст с текущей страницы
вот еще удобная конструкция
у меня почему-то еще текст заполнитель с отчетов туда попадает, хотя у него другой тип, но в целом работает
Код: Выделить всё
List<Text> oTextes = oPage.AllGraphicalPlacements.OfType<Text>().ToList();