Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

Топология (FieldSys)

Обсуждение и решение проблем в работе с Eplan.

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


Lekdro
здесь недавно
здесь недавно
Сообщения: 11
Зарегистрирован: 24 фев 2014, 14:49
Ф.И.О.: Алексей
Благодарил (а): 1 раз

Топология (FieldSys)

Сообщение Lekdro » 06 окт 2016, 16:49

Согласен, данный гост допускает обозначение с тире перед позиционным обозначением, но тут есть вторая проблема.....
"А где пробел после точки с запятой?".

Так что все равно данную запись необходимо как-то откорректировать.... Если бы было 10-20 кабелей даже и не парился бы, но у меня их 370 шт и это только 60% выполненных схем.
Кроме того, если устанавливать эту галку в свойстве <20051>, то навигатор топологии видит их как сегменты "Без структурных идентификаторов" а это уже нарушает логику структуры проекта и непонятно, где их искать.

На всплывающее меню и пункт "Перейти к (графика)" прошу не указывать. Это помогает при поиске, но рушит структуру дерева проекта. Да и в 3-х этажном здании где на каждом этаже от 50 до 70 участков (сегментов) не очень то интересно тыкать в этот пункт меню постоянно.


Dotarev
знаток Eplan
знаток Eplan
Сообщения: 115
Зарегистрирован: 12 июн 2014, 05:17
Ф.И.О.: Мишкин Иван
Благодарил (а): 11 раз
Поблагодарили: 20 раз

Топология (FieldSys)

Сообщение Dotarev » 06 окт 2016, 22:10

Решил проблему такой обработкой:

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

// The MIT License (MIT) https://opensource.org/licenses/mit-license.php
// Copyright (c) 2016 mivan12@mail.ru
using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Base;
using Eplan.EplApi.DataModel;
using System;
using System.Text.RegularExpressions;

namespace Eplan.EplAddin.PlaceholderAction {
    /// <summary>
    /// Фильтрует поле "Трасса маршрутизации" в отчете по кабелю для формирования таблицы соединений
    /// </summary>
    class GetCableProperty : IEplAction {
        // Фильтр по умолчанию:
        // выводим в отчет только участки трассы кабеля вида К1, К13, и т.д. Всё остальное не надо.
        const string defaultCableRegex = "K[0-9]*";
        // Свойство проекта для хранения выражения фильтра
        const string regexPath = "EPLAN.Project.UserSupplementaryField1";
       
        private Regex cableRegex = null;
        private string strCableRegex = null;
        public GetCableProperty() {
            cableRegex = new Regex(defaultCableRegex);
            strCableRegex = defaultCableRegex;
        }
        public bool OnRegister(ref string Name, ref int Ordinal) {
            // Записать Name - Eplan не подскажет...
            Name = "GetCablePath";
            Ordinal = 20;
            return true;
        }
        // Поехали!!!
        public bool Execute(ActionCallingContext oActionCallingContext) {
            string objectNames ="";
            oActionCallingContext.GetParameter("objects", ref objectNames);
            // Получим объект текущей строки. Конечно, объектов может быт несколько, но не в этом отчете...
            StorableObject cable = StorableObject.FromStringIdentifier(objectNames);
            if (cable!=null) {
                Project oProject = cable.Project;
                PropertyValue oOnlineProperty = oProject.Properties[regexPath];
                String strProjectCableRegex = oOnlineProperty.ToString(ISOCode.Language.L___);
                if (strProjectCableRegex!=null && strProjectCableRegex!=strCableRegex && !String.IsNullOrWhiteSpace(strProjectCableRegex)) {
                    strCableRegex = strProjectCableRegex;
                    try {
                        Regex cableRegex1 = new Regex(strProjectCableRegex);
                        cableRegex = cableRegex1;
                    }
                    catch (Exception) {
                        ;
                    }
                }
            }
            // Получим свойство 20237 "Топология: Трасса маршрутизации"
            string sCABLING_PATH = cable.Properties[20237];

            MatchCollection matches = cableRegex.Matches(sCABLING_PATH);
            String filteredPath = "";
         
            var enumerator = matches.GetEnumerator();
            if (enumerator.MoveNext()) {
                filteredPath = ((Match)enumerator.Current).Value;
                while (enumerator.MoveNext()) {
                    filteredPath += "; " + (Match)enumerator.Current;
                }
            }

            string[] strings = new string[1];
            strings[0] = filteredPath;
            oActionCallingContext.SetStrings(strings);
            return true;
        }
        // Obsolete - игнорируем.
        public void GetActionProperties(ref ActionProperties actionProperties) {
           return;
        }

    }
}

С помощью обработки выводятся (фильтруются) только сегменты с ОУ, начинающимся с буквы "К" (т.е. короба).
Также возможно заменить фильтр, записав регулярное выражение для поиска выводимых сегментов в свойство проекта Project.UserSupplementaryField1
Использование: Подключить скомпилированный модуль (Сервисные программы - API Addins - Загрузить), в отчете в графе "Участок кабеля, трассы" указать текст-заполнитель "GetCablePath", по образцу, приведенному в топике Скрипты и АПИ (ответ от 14 фев 2016, 10:21)
В Вашем примере, если в Project.UserSupplementaryField1 занести "U[0-9]*", для кабеля GN190_W5 будет выведено "U14", а для GN190_W6 - "U9; U14"
Скомпилированный модуль с библиотеками весит 12МБ, поэтому не выкладываю. При необходимости, могу выслать по e-mail.


Lekdro
здесь недавно
здесь недавно
Сообщения: 11
Зарегистрирован: 24 фев 2014, 14:49
Ф.И.О.: Алексей
Благодарил (а): 1 раз

Топология (FieldSys)

Сообщение Lekdro » 06 окт 2016, 23:19

гммм... применение API это конечно хорошо. Если можно пришлите на e-mail. Я буду очень признателен. Попробую применить к своему проекту..... Но у меня вопрос как к знатоку Eplan. Неужели разработчики данного модуля не оставили возможности для того, что бы его собственными, обычными методами (я про Eplan) для формирования отчета вытащить нужные данные без применения API???? Ведь это же очевидные вещи, такие же как спецификация, таблицы подключения и прочее......... :o Почему для формирования итоговой строковой переменной, которую он присваивает в результате свойству кабеля в поле "Топология: Трасса маршрутизации" он не учитывает пожелания и настройки пользователя????. Он даже не дает редактировать итоговую стоку. Бред...... или я все таки что-то не понимаю..... :icon_wall:


Dotarev
знаток Eplan
знаток Eplan
Сообщения: 115
Зарегистрирован: 12 июн 2014, 05:17
Ф.И.О.: Мишкин Иван
Благодарил (а): 11 раз
Поблагодарили: 20 раз

Топология (FieldSys)

Сообщение Dotarev » 07 окт 2016, 07:05

Стандартный путь - использование свойств блока + таблица замены в свойстве блока. В таблице замены декларируется использование регулярного выражения, но в Eplan регулярные выражения сильно кастрированы. API полностью развязывает руки - намного удобнее.


Lekdro
здесь недавно
здесь недавно
Сообщения: 11
Зарегистрирован: 24 фев 2014, 14:49
Ф.И.О.: Алексей
Благодарил (а): 1 раз

Топология (FieldSys)

Сообщение Lekdro » 07 окт 2016, 09:29

Dotarev, А можно про работы с таблицами замены поподробнее, или дать ссылку где можно прочитать про их применение :ges_hmm: . Спасибо.


Dotarev
знаток Eplan
знаток Eplan
Сообщения: 115
Зарегистрирован: 12 июн 2014, 05:17
Ф.И.О.: Мишкин Иван
Благодарил (а): 11 раз
Поблагодарили: 20 раз

Топология (FieldSys)

Сообщение Dotarev » 07 окт 2016, 09:50



Lekdro
здесь недавно
здесь недавно
Сообщения: 11
Зарегистрирован: 24 фев 2014, 14:49
Ф.И.О.: Алексей
Благодарил (а): 1 раз

Топология (FieldSys)

Сообщение Lekdro » 07 окт 2016, 10:09

Dotarev, Упс. вот такая ошибка выползает при подключении dll
error1.JPG
У вас нет необходимых прав для просмотра вложений в этом сообщении.


Lekdro
здесь недавно
здесь недавно
Сообщения: 11
Зарегистрирован: 24 фев 2014, 14:49
Ф.И.О.: Алексей
Благодарил (а): 1 раз

Топология (FieldSys)

Сообщение Lekdro » 07 окт 2016, 13:31

Dotarev, спасибо за dll но походу на данный момент их не смогу использовать по причине того, что куда бы я их не клал (и в корень, и в BIN и в стороннюю папку) ошибка одна и таже. Но..... спасибо за подсказку по использованию таблиц замены.... почитал ознакомился и свою проблему решил. :ext_book:
В ветке, на которую Вы дали ссылку, не особо расписываются символы, которые воспринимает Eplan и это я считаю не есть хорошо :!: . Поэтому пришлось методом "тыка" подбирать нужную комбинацию.... короче результат ниже....


Lekdro
здесь недавно
здесь недавно
Сообщения: 11
Зарегистрирован: 24 фев 2014, 14:49
Ф.И.О.: Алексей
Благодарил (а): 1 раз

Топология (FieldSys)

Сообщение Lekdro » 07 окт 2016, 13:34

Да простит меня модератор, так как по большей части информация указанная ниже касается примерения таблицы замены, но данная проблема тесно связана с именно этим топиком (Топология Fieldsys). поэтому выкладываю тут, так как думаю я не один такой, сталкнувшийся с данной проблемой. Итак.....
Последний раз редактировалось Lekdro 07 окт 2016, 14:58, всего редактировалось 3 раза.


Lekdro
здесь недавно
здесь недавно
Сообщения: 11
Зарегистрирован: 24 фев 2014, 14:49
Ф.И.О.: Алексей
Благодарил (а): 1 раз

Топология (FieldSys)

Сообщение Lekdro » 07 окт 2016, 14:02

Проблема описана выше, повторять не буду а вот как я решил ее.
В свойстве Текста-заполнителя формы "Таблица соединений" (у меня .f10) выбираем свойство "<20237> Топология: Трасса маршрутизации" и в нем указываем текст замены - Использовать таблицу 1 (ну кому какая нравится из десяти предложенных :ext_dont_ment: ).
свойство1.JPG

Далее сохраняем форму и топаем в свойства проекта: на названии проекта в навигаторе правой кнопкой мыши и выбираем "Свойства".
свойства прокта.JPG

там, если нет, жмем на звездочку и добавляем свойство <10660 1> Свойство блока: Текст замены [1] (ну или другой, который ранее указали). А вот далее на поле "Значение" пришлось потратить время, чтобы подобрать нужную последовательность. В результате получилось такая картинка
Текст замены.JPG

По факту выяснилось, что каждый оператор может отработать в условии не более одного раза, соответственно если в строке у меня идет перечень сегментов с повторяющимися данными, то и применять оператор приходится к каждому сегменту с условием поиска и замены. Неудобно, много записей нужно делать, но это не проблема, так как таблица заполняется один раз. У меня кабль проходит не более чем по 50 сегментам, поэтому у меня тут 100 записей с запасом. :ext_dont_ment: В результате получаем документ именно такой, который требует ГОСТ и все довольны (и нормоконтроль в том числе :good: ). Результат показан ниже
результат.JPG

Так что всем спасибо, отдельное спасибо Dotarev :ext_gimmefive: . Если есть еще какие-то пути решения этой проблемы пишите.
У вас нет необходимых прав для просмотра вложений в этом сообщении.


petrowitch
знаток Eplan
знаток Eplan
Сообщения: 57
Зарегистрирован: 01 окт 2012, 13:28
Ф.И.О.: Сергей
Благодарил (а): 3 раза
Поблагодарили: 2 раза

Топология (FieldSys)

Сообщение petrowitch » 12 окт 2016, 21:03

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


Dotarev
знаток Eplan
знаток Eplan
Сообщения: 115
Зарегистрирован: 12 июн 2014, 05:17
Ф.И.О.: Мишкин Иван
Благодарил (а): 11 раз
Поблагодарили: 20 раз

Топология (FieldSys)

Сообщение Dotarev » 13 окт 2016, 08:42

Такое поведение заметил как в v2.4, так и в v2.5. Обратите внимание на навигатор кабелей. После присвоения изделия жилам кабеля автоматически назначены соединения. Однако после обновления соединений (выполняется автоматически перед разводкой в топологии) все соединения, кроме самого первого, оказываются не назначенными на жилы кабеля.
Правильного решения не нашел. Мои костыли:
1. Предварительная подготовка. В пользовательскую библиотеку символов скопировать символ из special 370/LBR. Открыть, раздвинуть выводы устройства на размер символа 16/CABDCP2 (однополюсный "кружок" кабеля). Назвать новый символ CDPCP_gr.
2. Определить кабель на многополюсном участке, присвоить изделие, при необходимости - присвоить кабельные соединения.
3. На линии жгута вставить символ CABDCP2, в свойствах убрать главную функцию, назначить определение функции "Графика" (Электротехника:специальная функция - Прочие-Графика). ОУ назначить тем же, что и ОУ многополюсного определении кабеля.
4. Выделить и удалить автоматически вставленную точку определения соединения, вставить на её место символ CDPCP_gr.
5. Линию определения кабеля на многополюсном участке сделать невидимой.
6. Все символы сохранить как макрос, на остальных участках вставлять макрос, выбирая автоматическую нумерацию устройств. Перед трассировкой через навигатор кабелей всем кабелям заново присвоить кабельные соединения (выполняется один раз).
Вот как выглядит в реальном проекте (с отображением невидимых элементов):
Кабель на схеме соединений.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.


petrowitch
знаток Eplan
знаток Eplan
Сообщения: 57
Зарегистрирован: 01 окт 2012, 13:28
Ф.И.О.: Сергей
Благодарил (а): 3 раза
Поблагодарили: 2 раза

Топология (FieldSys)

Сообщение petrowitch » 13 окт 2016, 09:50

Dotarev писал(а):Источник цитаты Такое поведение заметил как в v2.4, так и в v2.5


я вот и начал обдумывать такой способ. это конечно геморно, но у меня в проекте нет принципиалок - только схемы соединений. я думал, что можно сделать и вообще без символа "кружка" на жгуте - туда можно тупо графику с заливкой поставить


voskoboynikovdm
здесь недавно
здесь недавно
Сообщения: 37
Зарегистрирован: 24 сен 2015, 14:48
Ф.И.О.: Воскобойников Дмитрий Александрович
Благодарил (а): 14 раз

Топология (FieldSys)

Сообщение voskoboynikovdm » 20 окт 2016, 01:12

Здравствуйте. Скажите проблема с панелькой не решилась еще?- а то у меня только старая панелька без изменений в уровнях и коробок- и еще такой вопрос- рисую сегмент, при попытке маршрутизировать пишет "отсутствует подходящий выбор для маршрутизации соединений" и соединяет устройства по кратчайшему расстоянию, хотя рядом стоит нетронутый сегмент. Подскажите как быть?

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

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 708
Зарегистрирован: 18 ноя 2013, 07:32
Ф.И.О.: Сергей
Благодарил (а): 21 раз
Поблагодарили: 28 раз

Топология (FieldSys)

Сообщение legionercheg » 20 окт 2016, 08:28

voskoboynikovdm писал(а):Источник цитаты при попытке маршрутизировать пишет "отсутствует подходящий выбор для маршрутизации соединений"

Тут много чего может быть. Скорее всего жилы у кабеля не присвоились, или функции устройств на многопол.схеме и планах не совпадают, так вообще сложно сказать.
--------------------------------------------
Eplan Electric P8 - Professional
Версия: 2.2 HF1
Номер сборки: 6360


voskoboynikovdm
здесь недавно
здесь недавно
Сообщения: 37
Зарегистрирован: 24 сен 2015, 14:48
Ф.И.О.: Воскобойников Дмитрий Александрович
Благодарил (а): 14 раз

Топология (FieldSys)

Сообщение voskoboynikovdm » 20 окт 2016, 13:33

так напрямую он же соединяет- без "примагнитивания" к нарисованным сегментам и точкам

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

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 708
Зарегистрирован: 18 ноя 2013, 07:32
Ф.И.О.: Сергей
Благодарил (а): 21 раз
Поблагодарили: 28 раз

Топология (FieldSys)

Сообщение legionercheg » 20 окт 2016, 15:16

Он просто показывает связь от элемента к элементу, но не "трассирует". Выкладывайте кусок схем или проект, гляну. С этой топологией всегда куча бед, вроде только все работало, потом что то неосторожно переместил/удалил/переименовал и всё,ппц.
Гляньте еще на топологии, чтобы у функции "была" главная функция в "Видимое ОУ":
123.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
--------------------------------------------
Eplan Electric P8 - Professional
Версия: 2.2 HF1
Номер сборки: 6360


Dotarev
знаток Eplan
знаток Eplan
Сообщения: 115
Зарегистрирован: 12 июн 2014, 05:17
Ф.И.О.: Мишкин Иван
Благодарил (а): 11 раз
Поблагодарили: 20 раз

Топология (FieldSys)

Сообщение Dotarev » 20 окт 2016, 15:42

К сожалению, при разводке топологии ошибки выдаются по принципу: семь бед - один ответ:"отсутствует подходящий выбор для маршрутизации соединений". :ges_down:
Иногда помогают диагностические сообщения (Данные проекта - сообщения - выполнить контр. прогон).

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

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 708
Зарегистрирован: 18 ноя 2013, 07:32
Ф.И.О.: Сергей
Благодарил (а): 21 раз
Поблагодарили: 28 раз

Топология (FieldSys)

Сообщение legionercheg » 20 окт 2016, 15:46

Это да, в этом случае совет типа "Проверь ВСЁ!" :)
--------------------------------------------
Eplan Electric P8 - Professional
Версия: 2.2 HF1
Номер сборки: 6360


voskoboynikovdm
здесь недавно
здесь недавно
Сообщения: 37
Зарегистрирован: 24 сен 2015, 14:48
Ф.И.О.: Воскобойников Дмитрий Александрович
Благодарил (а): 14 раз

Топология (FieldSys)

Сообщение voskoboynikovdm » 21 окт 2016, 11:11

вот что я успел - посмотрите пожалуйста- раскритикуйте- https://1drv.ms/u/s!AlcDX17qXFV4ksoaLjkWOkLhZEpvIg

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

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 708
Зарегистрирован: 18 ноя 2013, 07:32
Ф.И.О.: Сергей
Благодарил (а): 21 раз
Поблагодарили: 28 раз

Топология (FieldSys)

Сообщение legionercheg » 21 окт 2016, 12:58

Всё дело было в распределителе -KR.0.1, на схеме у него определение функции "Электротехника: Распределитель / соединитель",а на плане "Точка маршрутизации топологии", Ё это в ступор вводит.
Решение:
Создайте символ для топологии с точно таким же определением функции.
И лучше рядом с размещенным оборудованием всегда ставить точку маршрутизации и уже между ними "тянуть" сегменты топологии.

P.S. И "подложку" на плане лучше вынести на какой либо слой и сделать его фоном, чтобы ничего не подвинуть/удалить когда будете работать с планом расположения.
--------------------------------------------
Eplan Electric P8 - Professional
Версия: 2.2 HF1
Номер сборки: 6360


voskoboynikovdm
здесь недавно
здесь недавно
Сообщения: 37
Зарегистрирован: 24 сен 2015, 14:48
Ф.И.О.: Воскобойников Дмитрий Александрович
Благодарил (а): 14 раз

Топология (FieldSys)

Сообщение voskoboynikovdm » 21 окт 2016, 21:59

Не получается, блин, все так же, не хочет примагничиваться
Безымянный.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось AGorskiy 21 окт 2016, 22:15, всего редактировалось 1 раз.
Причина: так симпотичнее выглядит =)

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

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 708
Зарегистрирован: 18 ноя 2013, 07:32
Ф.И.О.: Сергей
Благодарил (а): 21 раз
Поблагодарили: 28 раз

Топология (FieldSys)

Сообщение legionercheg » 23 окт 2016, 14:11

Последовательность действий у вас должна быть такая:
Открыть навигатор устройств
Найти -KR.0.1
Перейти на страницу топологии
Вытащить из навигатора этот распределить на план
Установить около него(а так же около других устройств участвующих в маршрутизации)точку маршрутизации, и соединить всю "трассу" сегментами
Должно работать.
--------------------------------------------
Eplan Electric P8 - Professional
Версия: 2.2 HF1
Номер сборки: 6360


voskoboynikovdm
здесь недавно
здесь недавно
Сообщения: 37
Зарегистрирован: 24 сен 2015, 14:48
Ф.И.О.: Воскобойников Дмитрий Александрович
Благодарил (а): 14 раз

Топология (FieldSys)

Сообщение voskoboynikovdm » 27 окт 2016, 16:01

все сделал как вы и описали- прокладывается трасса до ближайших точек маршрутизации(ближних к устройствам), а дальше до сегментов и по ним не прокладывает
Безымянный2.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.

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

legionercheg
знаток Eplan
знаток Eplan
Сообщения: 708
Зарегистрирован: 18 ноя 2013, 07:32
Ф.И.О.: Сергей
Благодарил (а): 21 раз
Поблагодарили: 28 раз

Топология (FieldSys)

Сообщение legionercheg » 27 окт 2016, 16:17

Дмитрий, в прикрепленной вами картинке у распределителя -KR.0.1 какое определение функции?Когда я открывал ваш проект,то у него стояло определение Точка маршрутизации. Вы создали новый символ или не поправили?
12345.jpg

Просто если вытащить этот распределитель из навигатора устройств символ примет другой вид. Именно из-за этого Ё и не трассирует,т.к. у одного и того же устройства на разных страницах разные определения функции.
2345.jpg

Вот все работает, иконку распределителя не видно,т.к. надо масштаб библиотеки символов увеличивать или библиотека не подключена в настройках-короче не суть,мне просто лень было)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
--------------------------------------------
Eplan Electric P8 - Professional
Версия: 2.2 HF1
Номер сборки: 6360


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



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей