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

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

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

Закрыто

Lekdro
знаток Eplan
знаток Eplan
Сообщения: 16
Зарегистрирован: 24 фев 2014, 15:49
Имя: Алексей
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 1 раз
Поблагодарили: 1 раз

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

Сообщение Lekdro »

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

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

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

Dotarev
знаток Eplan
знаток Eplan
Сообщения: 260
Зарегистрирован: 12 июн 2014, 06:17
Имя: Мишкин Иван
Страна: Россия
город/регион: Самара
Благодарил (а): 15 раз
Поблагодарили: 70 раз

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

Сообщение Dotarev »

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

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

// The MIT License (MIT) https://opensource.org/licenses/mit-license.php
// Copyright (c) 2016 [email protected]
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
знаток Eplan
знаток Eplan
Сообщения: 16
Зарегистрирован: 24 фев 2014, 15:49
Имя: Алексей
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 1 раз
Поблагодарили: 1 раз

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

Сообщение Lekdro »

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

Dotarev
знаток Eplan
знаток Eplan
Сообщения: 260
Зарегистрирован: 12 июн 2014, 06:17
Имя: Мишкин Иван
Страна: Россия
город/регион: Самара
Благодарил (а): 15 раз
Поблагодарили: 70 раз

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

Сообщение Dotarev »

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

Lekdro
знаток Eplan
знаток Eplan
Сообщения: 16
Зарегистрирован: 24 фев 2014, 15:49
Имя: Алексей
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 1 раз
Поблагодарили: 1 раз

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

Сообщение Lekdro »

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

Dotarev
знаток Eplan
знаток Eplan
Сообщения: 260
Зарегистрирован: 12 июн 2014, 06:17
Имя: Мишкин Иван
Страна: Россия
город/регион: Самара
Благодарил (а): 15 раз
Поблагодарили: 70 раз

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

Сообщение Dotarev »


Lekdro
знаток Eplan
знаток Eplan
Сообщения: 16
Зарегистрирован: 24 фев 2014, 15:49
Имя: Алексей
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 1 раз
Поблагодарили: 1 раз

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

Сообщение Lekdro »

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

Lekdro
знаток Eplan
знаток Eplan
Сообщения: 16
Зарегистрирован: 24 фев 2014, 15:49
Имя: Алексей
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 1 раз
Поблагодарили: 1 раз

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

Сообщение Lekdro »

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

Lekdro
знаток Eplan
знаток Eplan
Сообщения: 16
Зарегистрирован: 24 фев 2014, 15:49
Имя: Алексей
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 1 раз
Поблагодарили: 1 раз

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

Сообщение Lekdro »

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

Lekdro
знаток Eplan
знаток Eplan
Сообщения: 16
Зарегистрирован: 24 фев 2014, 15:49
Имя: Алексей
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 1 раз
Поблагодарили: 1 раз

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

Сообщение Lekdro »

Проблема описана выше, повторять не буду а вот как я решил ее.
В свойстве Текста-заполнителя формы "Таблица соединений" (у меня .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
Сообщения: 84
Зарегистрирован: 01 окт 2012, 14:28
Имя: Сергей
Страна: Беларусь
город/регион: Минск
Благодарил (а): 18 раз
Поблагодарили: 23 раза

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

Сообщение petrowitch »

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

Dotarev
знаток Eplan
знаток Eplan
Сообщения: 260
Зарегистрирован: 12 июн 2014, 06:17
Имя: Мишкин Иван
Страна: Россия
город/регион: Самара
Благодарил (а): 15 раз
Поблагодарили: 70 раз

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

Сообщение Dotarev »

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

petrowitch
знаток Eplan
знаток Eplan
Сообщения: 84
Зарегистрирован: 01 окт 2012, 14:28
Имя: Сергей
Страна: Беларусь
город/регион: Минск
Благодарил (а): 18 раз
Поблагодарили: 23 раза

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

Сообщение petrowitch »

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

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

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

Сообщение voskoboynikovdm »

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

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

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

Сообщение legionercheg »

voskoboynikovdm писал(а): при попытке маршрутизировать пишет "отсутствует подходящий выбор для маршрутизации соединений"
Тут много чего может быть. Скорее всего жилы у кабеля не присвоились, или функции устройств на многопол.схеме и планах не совпадают, так вообще сложно сказать.

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

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

Сообщение voskoboynikovdm »

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

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

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

Сообщение legionercheg »

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

Dotarev
знаток Eplan
знаток Eplan
Сообщения: 260
Зарегистрирован: 12 июн 2014, 06:17
Имя: Мишкин Иван
Страна: Россия
город/регион: Самара
Благодарил (а): 15 раз
Поблагодарили: 70 раз

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

Сообщение Dotarev »

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

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

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

Сообщение legionercheg »

Это да, в этом случае совет типа "Проверь ВСЁ!" :)

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

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

Сообщение voskoboynikovdm »

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

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

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

Сообщение legionercheg »

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

P.S. И "подложку" на плане лучше вынести на какой либо слой и сделать его фоном, чтобы ничего не подвинуть/удалить когда будете работать с планом расположения.

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

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

Сообщение voskoboynikovdm »

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

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

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

Сообщение legionercheg »

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

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

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

Сообщение voskoboynikovdm »

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

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

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

Сообщение legionercheg »

Дмитрий, в прикрепленной вами картинке у распределителя -KR.0.1 какое определение функции?Когда я открывал ваш проект,то у него стояло определение Точка маршрутизации. Вы создали новый символ или не поправили?
12345.jpg
Просто если вытащить этот распределитель из навигатора устройств символ примет другой вид. Именно из-за этого Ё и не трассирует,т.к. у одного и того же устройства на разных страницах разные определения функции.
2345.jpg
Вот все работает, иконку распределителя не видно,т.к. надо масштаб библиотеки символов увеличивать или библиотека не подключена в настройках-короче не суть,мне просто лень было)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Закрыто

Вернуться в «FieldSys (Топология)»