План кабельных сетей - алгоритм автоматизации построения и программирование? - Страница 14
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > План кабельных сетей - алгоритм автоматизации построения и программирование?

План кабельных сетей - алгоритм автоматизации построения и программирование?

Ответ
Поиск в этой теме
Старый 20.09.2010, 11:59 4 |
План кабельных сетей - алгоритм автоматизации построения и программирование?
Frigate
 
КИП, АСУ ТП, слаботочка
 
Москва-Тюмень
Регистрация: 02.09.2010
Сообщений: 422

Добрый день, коллеги!


Программу ADV_Toolkit ver 1.1 вы можете скачать внизу этого сообщения.

Ниже я оставлю свой первоначальный первый пост. Даже самому интересно, как я вначале рассуждал, как шел к созданию уже вполне взрослой программы.

ПЕРВОНАЧАЛЬНЫЙ МОЙ ПОСТ===============================
Занимаюсь КИП и решил постепенно автоматизировать рутинные процессы проектирования.
Нужно: автоматизировать некоторые моменты создания плана кабельных сетей.
Дано: план эстакад, который берем у электриков. Таким образом, графическое представление плана трасс есть. На плане есть много позиций (блок-боксы, здания, площадки технологические), от которых кидаем кабель. ТО, что внутри площадок и блок-боксов нас пока не интересует - это делаем отдельными комплектами, попозиционно.
Итак, к примеру, от позиции 1 надо проложить 5 кабелей с маркировкой С1-1-1...С1-1-5 по уже имеющимся эстакадам (линиям).

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

Отсюда и сам вопрос - как это можно реализовать? При помощи чего? Ну а потом уже буду пытаться это сделать, надеясь на вашу помощь.


Была сначала такая идея:
по имеющемуся плану кабельных сетей мышкой прощелкать все узлы (повороты, начало и конец) трассы, например, от позиции 1 до позиции 15 (в позиции 15 будет операторная, где стоят шкафы АСУ). Автокад должен запомнить трассу (напр., по указанным узловым точкам построить полилинию и ассоциировать ее с определенным номером кабеля (напр., С1-1-1), т.е она должна будет обозначать трассировку кабеля на плане.
Сначала хотел создать блок, напр. cable-trace с атрибутом - номером кабеля. В этот блок программно включить полилинию, обозначающую трассу. Но потом уже дошло :-) что полилиния, обозначающая трассировку кабеля С1-1-1 включится во все вхождения блока, а это уже мягко говоря не то ))). Вот и сижу пока в тупике, пытаюсь придумать другие варианты.

Буду рад идеям знающих

Сразу хочу сказать, что в "САПРе на базе Автокад" этого не нашел, хотя может плохо искал...

КОНЕЦ ПЕРВОНАЧАЛЬНОГО ПОСТА=========================================

ОБНОВЛЕНИЯ:

===============================
Выкладываю релиз 1.05 ADV_CAD

Версия 1.05. Изменения:

1) При импорте БД в схему внешних выводить инфу о недостающих кабелях один раз списком/ (было – предупредительным сообщение АВТОКАДа).
2) Поменял методику расчета длины трассы при создании и редактировании добавил более понятные комментарии при трансляции баз данных и установки длин.
3) Добавил более понятные комментарии при трансляции баз данных и установке длин кабелей (вывод имен файлов, с которых была произведена трансляция, вывод имен всех файлов, с которых транслирована информация о кабелях.
4) Сделал по кнопке проверку транслированной информации – доступна из любого чертежа, не только из плана трасс.

ДОПОЛНЕНИЕ:

- исправил неверную работу программы "Редактирование трассы кабеля": при входе в программу, но досрочном выходе из нее(по указанию <Выход из программы>), изменений в базу не вносилось (так и должно быть), но сама трасса удалялась из базы данных!

необходимо заменить в скачанном архиве файл
adv-programme-cable-routings-edit-one.fas
на новый, который находится в архиве
adv-programme-cable-routings-edit-one.rar

Релиз 1.10

Все практически сделано с нуля. Так что нет особого смысла описывать изменения.
Теперь в папке с программой ЕСТЬ HELP.
Просто скопируйте к себе на комп и распакуйте архив в корневой каталог диска C:.
В HELP есть описание дальнейшей установки, которое сводится (в самом простом варианте) к загрузка fas-модуля, выполняющего настройку AutoCADа.


ADV_Toolkit ver. 1.1

Изменений много.
Основное:
- автоматическая трассировка кабеля по указанным начальной и конечной точке. Более подробно - читайте в Хелпфайле в папке ADV_CAD_HELP (эту папку еще не переименовал, оказывается ). Важно: если у вас поменялась хоть как-нибудь трасса, то для корректной автотрассировки нужно нажать кнопку "Подготовить к трассировке" в диалоговом окне создания кабелей.
- создание кабелей при помощи диалогового окна. В будущем все программы будут переведены в режим диалога. Это преследовало целью уход от указания блоков кабеля на чертеже, а выбор из списка. ТОже немного подробнее читайте в хелпе.
- немного переделал блоки, теперь длина в блок кабеля вставляется сразу с суффиксом - ВНИМАНИЕ!!!
- на подкачке стоят программы из форума - перенумерация по renum, записная книжка - по NBOOK и NBOOK1 - вызов через комстроку.
- начал работу с БД изделий, пока сделал парочку кранов-вентилей (закладные конструкции) для КИПиА - по крайней мере там. где я работал, мы часто сами учитывали закладные, иногда - технологи.

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

В общем, жду конструктивной критики и пожеланий по тем моментам, что дополнил в программе

Дополнение - подредактировал программку создания трассы по аналогу. Скачайте лисп-файл и замените им такой же в папке с прогой. Теперь работает как надо! :-)

Дополнение от 21.04.2012:
добавил программку для массовой печати чертежей. Я о ней уже писал в теме, но сейчас выкладываю новую версию, где можно выбрать и самому указать стиль печати - монохром или акад (т.е. цветной) или свой стиль. Справка - в файле readme.txt

ПРограммка - в папке PRINT FORMATS, внутри папки ADV_Toolkit. Но - может работать без проги (сделана независимой).

Дополнение от 16.05.2013:

Прога печати (в архиве PRINT FORMTS_dyn.rar) теперь с динблоком моей новой рамки (саму рамку можно подгонять как вам угодно, лишь только оставьте имя блока и атрибут FORMAT, по которому прога определяет нужный формат листа печатающего устройства.

Вложения
Тип файла: rar ADV_Toolkit_ver.1.1.rar (2.39 Мб, 2702 просмотров)
Тип файла: lsp adv-programme-cable-routings-create-by-analogue.lsp (6.3 Кб, 1630 просмотров)
Тип файла: rar PRINT FORMATS.rar (6.1 Кб, 1212 просмотров)
Тип файла: rar PRINT FORMATS_dyn.rar (41.0 Кб, 873 просмотров)


Последний раз редактировалось Frigate, 16.05.2013 в 01:36.
Просмотров: 295443
 
Старый 07.12.2011, 12:14
#261
WST


 
Регистрация: 21.04.2011
Сообщений: 135


Frigate
А по другому ни как может командой проста у меня нет такого меню пробовал сделать так как ты описал в посте #216 но не появляется меню


Добавил
================================================================================
сел за другой компьютер там другой автокад и есть меню ADV_Toolkit все спасибо

Последний раз редактировалось WST, 07.12.2011 в 12:22.
WST вне форума  
 
Автор темы   Старый 07.12.2011, 12:53
#262
Frigate

КИП, АСУ ТП, слаботочка
 
Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422


WST,

меню должно появляться

если нет - сам вытаскивай его в настройках...


иногда надо 3 раза переустановить прогу (заново загрузить файл установки)


там очень полезные есть команды... да тот же просмотр БД кабелей чего стоит... да и трансляция плана трасс возможна только из меню пока, изменение масштаба и умножающего коэф-та тоже тока из меню
Frigate вне форума  
 
Старый 07.12.2011, 15:03
#263
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Frigate Посмотреть сообщение
к тому же этот архив что-то не распаковывается у меня - ошибки вылетают...
там же написано чем открывать
gomer вне форума  
 
Автор темы   Старый 07.12.2011, 16:17
#264
Frigate

КИП, АСУ ТП, слаботочка
 
Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422


где там-то? Ты дай ссылку на страничку, где скачать, а не на сам архив )))
Frigate вне форума  
 
Старый 14.12.2011, 12:47
#265
WST


 
Регистрация: 21.04.2011
Сообщений: 135


Frigate
Привет, я использую блок adv_cable не только для прорисовки трассы но и просто для подсчета длин кабелей, труб и.д. то есть только в схемах но они соответственно отображаются в диалоговом окне "Создать трассы кабелей" возможно ли сделать так чтобы ненужные номера кабелей удалить из этого списка?
В этом диалоговом окне у тебя есть кнопка "Очистить список" может она для этого и предназначена или нет? если нет для чего она нужна? она ведь неактивная.
WST вне форума  
 
Автор темы   Старый 14.12.2011, 22:57
#266
Frigate

КИП, АСУ ТП, слаботочка
 
Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422


принцип тут такой: в списке кабелей отображаются все кабели, которых еще нет в БД чертежа - эти номера прога берет из всех моих блоков кабеля, а также из файла. "Очистить список" активна только тогда, когда ты добавишь кабели из файла - она их удаляет из списка.
Значит, если у тебя кабель появляется в перечне, значит его нет в БД, и прога предлагает тебе задать для него трассу. В общем, если ты какие-то кабели не заносишь в БД, а сам присваиваешь им длины, то они все равно будут появляться в списке. Это никак не обойти - иначе ты не сможешь задавать трассы другим кабелям, блоки которых у тебя в чертеже.

Хорошо, что написал об этом. Действительно, нужно в рпоге учесть такой момент, что пользователь может не задавать трассы, а задать длину каким-то кабелям самостоятельно. Я скоро буду переделывать ядро проги, заодно и такую возможность добавлю.
Frigate вне форума  
 
Старый 21.12.2011, 19:33
#267
Alexeipost


 
Регистрация: 07.12.2010
Уфа
Сообщений: 427
<phrase 1=


2 Frigate твоя программа в autocade 2011 (2012) 64bit работать будет?
Alexeipost вне форума  
 
Автор темы   Старый 22.12.2011, 16:23
#268
Frigate

КИП, АСУ ТП, слаботочка
 
Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422


Alexeipost,

в 2011 работает (в 32-битном). В 64 - попробуй, потом скажешь :-)

ПО идее должна, никаких специфичных кодов в ней нет.
Frigate вне форума  
 
Старый 22.12.2011, 22:15
#269
Alexeipost


 
Регистрация: 07.12.2010
Уфа
Сообщений: 427
<phrase 1=


Прочитал про 64 бит. Обновление откладывается до расширения оперативки. Так что пока не смогу попробовать)))
Alexeipost вне форума  
 
Старый 22.12.2011, 23:08
#270
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


2012x64 - вроде работает
zamtmn вне форума  
 
Старый 23.12.2011, 08:31
#271
Uduzr

проектирование электроснабжения
 
Регистрация: 17.03.2009
Екатеринбург
Сообщений: 44


Поделюсь своим способом реализации задачи подобной вашей.
Делал кабельное хозяйство подстанции достаточно крупной, кабельных журналов порядка 200 листов. Соответственно кабелей примерно 200(листов)*25(кабелей на листе)=5000.
Вручную раскидывать на плане эти кабели и потом выносить на разрезы было долго и очень скучно.
Но щитов ощутимо меньше. Кабельные журналы пришли мне в виде автокадовских таблиц. Первым моим шагом было написание программы автоматической разбивки по щитам всех кабелей.
Суть в том, что названия щитов для кабелей повторяются в кабельных журналах много раз, мне хотелось получить отдельные таблицы для каждого щита какие кабели туда идут.
Это я реализовал. Выделяя кучу кабельных журналов и запуская программу получаю кучу таблиц однострочных в первой ячейке название щита, в последующих названия кабелей.
Это позволило разнести кабели по щитам (выноска с названием щита и таблица с кабелями).
Прорисовал трассы и стал думать над построением разрезов. Задача опять же как у ТС понять какие кабели проходят в интересующих меня точках сети.
Пошел следующим путем. Обвел щиты отдельным слоем замкнутыми полилиниями и этим же слоем вставил туда название щита обычным мтекстом и разместил сильно уменьшенные таблицы с кабелями приходящими в каждый из щитов.
Понятно что каждый кабель имеет начало и имеет конец соответственно встречается на плане ровно 2 раза.
А вот дальше случился затык – программа должна сама определять кратчайший маршрут от щита в котором найден кабель первый раз к щиту в котором кабель обнаружен второй раз.
Соответственно программа должна анализировать нарисованный план прокладки кабелей.
Плюнул и сделал проще. Нарисовал МНОГО полилиний в отдельном слое таким образом, что по полилинии от одного щита можно дойти до любого другого.
Вот это дело довольно муторное честно скажу. Немного все упрощалось тем обстоятельством что щиты в ОПУ стоят рядами и рядов у меня было 8 штук.
Соответственно полилинии соединяли ряды стоящие параллельно друг другу.
Далее на трассу наносились интересующие меня места – разрезы. Сделал по такому же принципу как со щитами, замкнутая полилиния пересекающая трассу и с номером разреза внутри.
Вот и вся подготовительная работа. Выделяю все (щиты, трассы, таблицы) и запускаю программу.
Получаю в итоге кучу таблиц в одну строку в первой ячейке номер разреза в последующих кабели. Наношу кабели на разрезы.
Внедрять свое творчество в коллектив на данном этапе не буду, так как не отлажено до конца и программа требует все же определенной подготовительной работы перед применением, но сам используя ее сэкономил много времени, а не потратил его на тупой перебор кабелей что считаю большим плюсом для себя. В следующий раз с такой работой будет легче справиться.
Если будет интересно кому-нибудь выложу свои программки.
Uduzr вне форума  
 
Автор темы   Старый 23.12.2011, 14:40
#272
Frigate

КИП, АСУ ТП, слаботочка
 
Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422


Uduzr,

это легко выполнить и в моей проге.

1. Ты своей прогой определяешь, какие кабели имеют ОДИНАКОВУЮ трассу (имеют одинаковые начало и конец). Эти кабели (их номера) заносишь в текстовый файл колонкой - создать его программно легко.
2. Подгружаешь этот файл моей командой создания трассы кнопкой "из файла...".
3. Все полученные таким образом номера кабелей выделяешь в списке - и проводишь их олбщую трассу - либо указывая узловые точки, либо автотрассировкой.
В любом варианте при определении кабелей с одинаковой траекторией тебе нужно будет прорисовать трассы не большее число раз, чем ты сам рисуешь полилиний. Вот и все. Вывод - моя прога вполне может быть тобой использована, она не замедлит твоей работы.

ПРограммку для создания текстового файла и занасения в него списка кабелей могу дать.
А если ты все трассы переведешь в слой "adv_trace_layer", то любая твоя трасса будет построена по нач. и конечн. точкам, причем будет самой короткой.

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


zamtmn,

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


Сейчас продумываю 3 момента:

1. возможность создания на одном пространстве модели планов трасс с разными масштабами, задумки уже есть, как это осуществить.
2. создание ID кабеля - уберет вопросы с переименованием кабелей. Хотя еще думаю, делать ли.
3. автоматическое обновление перечня кабелей.

Уже реализовал:

учет перепадов высотных отметок прокладки трасс - когда трассы уходят на более высокую/низкую отметку.

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

Еще в проработке вопрос наглядности и интуитивности проги для пользователя.

Последний раз редактировалось Frigate, 23.12.2011 в 14:57.
Frigate вне форума  
 
Старый 23.12.2011, 15:40
#273
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


да, нахожу ближайшую, но не делаю "виртуальную" вершину - это сравнительно дорогая операция, а помечаю концы отрезка на котором лежит "виртуальная" точка для окончания трассировки (с учетом расстояния до точки). Могут быть проблемы при наличии равноудаленных участков трасс, их решаю либо сдвигом "коннектора" блока-устройства, либо забиваю на них
zamtmn вне форума  
 
Автор темы   Старый 23.12.2011, 16:03
#274
Frigate

КИП, АСУ ТП, слаботочка
 
Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422


zamtmn,

значит ты не сохраняешь траекторию трассы, все ее точки? Ведь если сохраняешь, то нужно нгаходить виртуальную вершину - трасса пойдет до нее.
Если ты не сохраняешь точки трассы, то как ты тогда проверишь, правильно ли она проложена, ведь такой черный ящик никому не понравится.

Можешь подсказать алгоритм, по которому находишь ближайшую точку пересечения?
Frigate вне форума  
 
Старый 23.12.2011, 16:38
#275
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


расстояния: http://algolist.manual.ru/maths/geom.../pointline.php
>>Если ты не сохраняешь точки трассы, то как ты тогда проверишь
у меня есть примитивы кабель и трасса.
трасса - совокупность отрезков по которым может проходить кабель, грубо говоря чертеж эстакады
кабель - 3д полилиния с подрезкой при присоединениий к устройствам.
Все точки хранятся в примитивах, также к примитивам привязана атрибутивная информация типа обозначения, марки, параметров нумерации и т.д. "виртуальные" точки в трассе не хранятся, они становятся узловыми точками кабеля.
Кабель можно проложить 1 - прощелкав узловые точки; 2- выбрать трассу и щелкунув начало и конец; 3 - из csv файла - в котором указаны начальное и конечное устройство, имя трассы, имя кабеля, марка

upd:
>>правильно ли она проложена, ведь такой черный ящик никому не понравится.
не, я тоже не люблю черные ящики - всё имеет визуального "представителя" на чертеже. Для случая когда по одной линии проложено много кабелей, у меня есть инструмент ctrl+click - нужный можно выбрать в выпадающем меню. Видимость кабелей легко отрегулировать разбросом по слоям.
Единственный "темный момент" - вход и выход кабеля в стояк или разрыв - к длине кабеля добавляется разница атрибутов "отметка" блоков стояков, вот эта разница на чертеже никак не представлена и оценить ее можно только выбрав стояки и посчитав разницу или уже в просуммированом виде в КЖ или С. Но более "прозрачных" вариантов организовать этот момент я не ридумал((

>>3. автоматическое обновление перечня кабелей.
Я когда сделал обновление кабельных выносок, встал вопрос о регулировании размера полок - квадратом, определенным кол-вом столбцов или определенным кол-вом строк, без него выноски со временем разбухают и налазят друг на друга и другие римитивы.

Последний раз редактировалось zamtmn, 23.12.2011 в 19:41.
zamtmn вне форума  
 
Автор темы   Старый 25.12.2011, 10:12
#276
Frigate

КИП, АСУ ТП, слаботочка
 
Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422


zamtmn,

если верно тебя понял, то у меня точно так же организована автоматическая вставка перечня - подсчитывается именно такое число столбцов (строк), чтобы перечень был наиболее приближен к квадрату.
Осталось только автоматом считать длину и ширину блока метки кабеля.
Frigate вне форума  
 
Старый 25.12.2011, 11:03
#277
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


Не совсем квадрат - это зависит от ширины/высоты ячейки метки кабеля, Я для выноски сделал параметр: ноль - считаются столбцы и строки к квадрату, положительный - задает количество строк (столбцы считаются), отрицательный - задает количество столбцов (строки считаются)
zamtmn вне форума  
 
Старый 26.12.2011, 17:11
#278
Geniy_Dzydo


 
Регистрация: 26.12.2011
Сообщений: 322


Всем привет! Мне очень стыдно((( но я не могу установить эту программу, файла указанного в хелп по установке нету, подскажите пожалуйста как настроить все эти функции!!!???
Geniy_Dzydo вне форума  
 
Старый 27.12.2011, 06:53
1 | #279
Uduzr

проектирование электроснабжения
 
Регистрация: 17.03.2009
Екатеринбург
Сообщений: 44


Я тоже был слегка озадачен тем что в хелпе прописанный способ установки не доступен. Надо запустить лисп то ли ADV_toolkit_installer.lsp то ли adv_toolkit-load.lsp не помню точно, думаю ТС расскажет подробней. Автору большое спосибо и респект за серьезность подхода к поставленной задаче, прекрасно понимаю что нелегко на некомерческой основе сделать такой проект и поддерживать его. Сам пока разбираюсь в программе, но автотрассировка по двум точкам и сети уже очень нравится!
Uduzr вне форума  
 
Старый 27.12.2011, 09:48
#280
Geniy_Dzydo


 
Регистрация: 26.12.2011
Сообщений: 322


Цитата:
Сообщение от Uduzr Посмотреть сообщение
Я тоже был слегка озадачен тем что в хелпе прописанный способ установки не доступен. Надо запустить лисп то ли ADV_toolkit_installer.lsp то ли adv_toolkit-load.lsp не помню точно, думаю ТС расскажет подробней. Автору большое спосибо и респект за серьезность подхода к поставленной задаче, прекрасно понимаю что нелегко на некомерческой основе сделать такой проект и поддерживать его. Сам пока разбираюсь в программе, но автотрассировка по двум точкам и сети уже очень нравится!
Спасибо заработало!!!! Буду изучать!!!
Geniy_Dzydo вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > План кабельных сетей - алгоритм автоматизации построения и программирование?

Реклама i


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посоветуйте программу для построения профилей наружных сетей? dextron3 Вертикальные решения на базе AutoCAD 18 11.03.2012 16:37
Сводный план сетей proekt_mep Инженерные сети 42 16.06.2011 23:09
Ищу книгу "Проектирование кабельных сетей и проводок" под редакцией Г.Е.Храпченко 1980 Инзиля Поиск литературы, чертежей, моделей и прочих материалов 8 03.02.2009 14:47