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

Вернуться   Форум 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 Мб, 2688 просмотров)
Тип файла: lsp adv-programme-cable-routings-create-by-analogue.lsp (6.3 Кб, 1622 просмотров)
Тип файла: rar PRINT FORMATS.rar (6.1 Кб, 1196 просмотров)
Тип файла: rar PRINT FORMATS_dyn.rar (41.0 Кб, 860 просмотров)


Последний раз редактировалось Frigate, 16.05.2013 в 01:36.
Просмотров: 294685
 
Непрочитано 01.12.2011, 13:27
#241
WST


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


Frigate
Скачал файл заменил все
Цитата:
Сообщение от Frigate Посмотреть сообщение
по поводу трассировки автоматом сразу по всем кабелям из списка
Ну раз мне кабельный журнал (КЖ) не нужен ты сам уже ответил за меня

Цитата:
Сообщение от Frigate Посмотреть сообщение
Создавать блоки займет время. ПРописание позиций блокам на плане трасс и т.п. - тоже. ВОзможно, по времени вы и не выиграете...
но идея хороша и если при ее помощи можно будет сделать не только КЖ но и принципиалку тогда будет еще лучше
WST вне форума  
 
Автор темы   Непрочитано 01.12.2011, 14:00
#242
Frigate

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


WST,

так дело не только в КЖ.

Если делать проект так, что кабель у тебя отдельное изделие (как в КИП, как в силовой электрике), то не нужно будет уже указывать нач. и конечн. точки трассы ))) все САМО будет считаться ))) Ты только поставь блок щита и блок, скажем, двигателя насоса, на линию трассы - и прога сама рассчитает трассу. Тебе нужно будет только указать добавочный коэф-т. И тогда все 450 кабелей у Alexeipost будут сами рассчитаны. Передвинул блоки оборудования на плане трасс, изменил сами трассы - еще только раз жмешь кнопку - и все опять считается само ))) ПО-моему в этом есть смысл. Ну да ладно - я сделаю, если прживется - оставлю, если нет - откачу назад код.

Цитата:
но идея хороша и если при ее помощи можно будет сделать не только КЖ но и принципиалку тогда будет еще лучше
это смотря о какой принципиалке ты говоришь )))

Кстати, как там твои упражнения с ЛИСП? Сделал вставку блоков светильников? МОй пример вставки блоков клапанов и БД опробировал?
Frigate вне форума  
 
Непрочитано 01.12.2011, 15:36
#243
Alexeipost


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


Если 450 кабелей сами рассчитаются, то это будет круто! Но ведь не у всех них одинаковый тип кабеля.
По поводу блоков: поддерживаю тезис "если оборудование не блоками, то какая уж тут автоматизация?!"
Alexeipost вне форума  
 
Непрочитано 01.12.2011, 16:53
#244
WST


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


Frigate
Так если я правильно тебя понял ты хочешь прикрепить линию (трассу) к оборудованию? но для этого нужно по твоему примеру с щитом и двигателем в блок щита и двигателя что то вписывать? И если есть 450 кабелей то эту операцию нужно проделывать минимум 901 раз если есть 450 двигателей и 1 щит потому что двигатель подключается через пускатель Но к одному щиту столько не подключишь значит таких операции будет на много больше? а если это не двигатели а другое оборудование которое подключают к щиту через коробки, ящики и т. д. тогда что?
В чем резон, не удобнее ли ткнуть на плане 2 раза мышкой указать начальную и конечную точку и прорисовать автоматом трассу а если нужно сдвинуть оборудование то просто удлинить или переместить трассу?

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

=========================================================================
Добавил
И со второй разобрался супер спасибо тебе за функции

Последний раз редактировалось WST, 01.12.2011 в 17:10.
WST вне форума  
 
Непрочитано 01.12.2011, 20:06
#245
Nikolay 2


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


Цитата:
Сообщение от Frigate Посмотреть сообщение
На схемах соединений внешних проводок нужно будет в кабель занести позиции начального и конечного устройства: в скрытые атрибуты начала и конца трассы. Устройства - например, блок датчика и блок коробки
Вспомни, по моей просьбе ты писал функцию, которая читала позицию прибора и меняла номер кабеля в соответствии с этой позицией. Если ее применить по типу: маркировка начала-конца трассы кабеля ---> первый клик по блоку прибора - считалась "позиция прибора" и записалась в скрытый атрибут "начало кабеля", второй клик по блоку коробки (щита) - считалась "позиция коробки (щита)" и записалась в скрытый атрибут "конец кабеля".
Цитата:
Сообщение от Frigate Посмотреть сообщение
На плане трасс проставляете блоки датчика и коробки (так, чтобы их точки вставки легли на любую из конточек отрезков трассы), вводите общий добавочный коэффициент для всех трасс и вуаля - все кабели протрассированы автоматом. Я даже думаю, что в таком варианте не составит большого труда перетрассировать заново все при изменении нумерации кабелей.
Об этом мечтают многие, если исполнишь, будет класс!

Цитата:
Сообщение от Frigate Посмотреть сообщение
Что нужно от пользователя - сделать свое используемое оборудование на плане трасс блоками, с маскировкой - чтобы не просвечивала линия трассы, в этих блоках сделать атрибут ADV_POSITOPN_ATT - в него нужно будет вписать номер позиции. И еще создавать блоки на схеме соединений внешних проводок (или принципиальной схеме) - чтобы на этой схеме были блок кабеля и блоки нач. и конечн. устройств
С этим наверное справимся, в случае чего поможешь?
Цитата:
Сообщение от Frigate Посмотреть сообщение
Хотя СТОП. ВОзник вопрос - нужно ли это?
Не сомневайся, нужно
Цитата:
Сообщение от Frigate Посмотреть сообщение
Создавать блоки займет время
А их что, нужно в каждом проекте создавать заново? Думаю, что нет
Цитата:
Сообщение от Frigate Посмотреть сообщение
ПРописание позиций блокам на плане трасс и т.п. - тоже
А copy-->paste из схемы соединений внешних проводок не прокатит?
Цитата:
Сообщение от Frigate Посмотреть сообщение
Хотя создание трасс автоматом и некоей наработки кабельного журнала будет обеспечено
Меня терзают смутные сомнения, если получится задуманное, КЖ будет на 99% готовым....
Nikolay 2 вне форума  
 
Автор темы   Непрочитано 02.12.2011, 10:08
#246
Frigate

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


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

Так, теперь о насущном.

Цитата:
Сообщение от Alexeipost Посмотреть сообщение
Если 450 кабелей сами рассчитаются, то это будет круто! Но ведь не у всех них одинаковый тип кабеля.
По поводу блоков: поддерживаю тезис "если оборудование не блоками, то какая уж тут автоматизация?!"
Тогда подскажи мне, как обозначать коробки на схемах соединений внешних проводок (хотя ты может и не делаешь таких схем). Как на плане обозначать - и так ясно - по ГОСТу.

Nikolay 2,

и от тебя совет приму - как быть с коробками? Как делать блок для коробок в схеме внешних?

Есть пара идей - я о них писал - делать упрощенно все коробки динблоком с растягивающейся рамкой и атрибутами. Так будет наиболее универсально. А всю начинку будем как и раньше копировать
с предыдущих проектов. Или что-то придумать наподобие предложения от zamtmn.



WST,


Цитата:
Сообщение от WST Посмотреть сообщение
Так если я правильно тебя понял ты хочешь прикрепить линию (трассу) к оборудованию?
нет, не так. Как правильно понял Николай 2, сначала я в блоке кабеля создал 2 скрытых атрибута начала и конца трассы. Потом я щелкая на блоки начального (напр., датчик) и конечного (напр., коробка) оборудования, заполняю эти 2 скрытых атрибута номерами позиц. обозначений оборудования в начале и в конце трассы. Далее каким-то образом (пока не придумал, как оптимальнее будет) получаю в плане трасс список, в котором будут номера кабелей и поз. обозначения оборудования начала и конца трассы (позиции датчика и коробки, двигателя насоса и силового щита и т.п.). Далее - на плане трасс мы оборудование проставляем блоками, в эти блоки вбиваем в атрибут ПОЗИЦИЮ оборудования (пока вбиваем, в дальнейшем подумаю как убрать лишние действия).

Что будет делать прога: сначала, как и сейчас, мы увидим весь список кабелей, которые нужно внести в БД. Далее жмем на кнопку "Автотрассировка". ПРога создает списки из блоков оборудования и позиц. обозначений этого оборудования. Из этого списка и списка с кабелями (и позициями конца и начала кабеля) составляется (при наличии всех элементов списка) список, в котором каждый жэлемент будет иметь вид (НОМЕР_КАБЕЛЯ ПОЗ_НАЧАЛА ПОЗ_КОНЦА). Потом каждый элемент списка приводится к виду (КАБЕЛЬ ТОЧКА_НАЧАЛА ТОЧКА_КОНЦА). Точки мы получаем по точкам вставки блоков - поэтому будьте внимательны при создании точки вставки блока и размещении самого блока - точка вставки должна находиться (с погрешностью до 0,01 ед. чертежа) на одной из конточек отрезков трассы (это потом анализируется прогой). Так и строятся все трассы всех возможных кабелей - если есть все данные. Думаю, стоит пока сделать, а там обкатаем до оптимума, чтобы как можно меньше действий делать, в которых может сыграть роль человеческий фактор).

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

Это в общем-то общее описание логики программы.

КОроче, в результате все должно быть тип-топ

Если, конечно, у меня будет время и мозг не взорвется


ПС ща еще набросал почти описание алгоритма, как перечни кабелей обновлять ))) В общем, обновленные перечни кабелей будут с количеством столбцов по умолчанию (это число определяет сама прога по принципу, чтобы перечень был наиболее приближен к квадрату).


Добавил:

да, блоки надо будет создавать с маскировкой, которая будет закрывать фон по периметру блока (чтобы закрыть собой линию трассы). Блоки такого вида: графическая часть блока, которая должна быть видна (далее - Графика) должна быть прорисована вначале, затем должна быть нарисована маскировка по контуру, а далее - опять должна быть графика (просто скопировать - главное чтобы по порядку создания она шла ПОСЛЕ маскировки!) - по принципу продукции макдональдса. Маскировку нужно кидать в слой Wipeout, а сами блоки должны быть в слое Smart_blocks (у меня есть). Я потом этот слой при "Проверке плана трасс" - см. в меню) ставлю на переднем плане. Т.е. если создаете в др. слое - то нужно будет потом в случае чего самим расположить эти блоки на переднем плане - чтобы они были поверх линии трасс и всей остальной требухи.

пока все ))) работать надо.

Последний раз редактировалось Frigate, 02.12.2011 в 10:40.
Frigate вне форума  
 
Непрочитано 02.12.2011, 12:06
#247
zamtmn

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


Цитата:
А то у меня это просто хобби пока становится, так как я не занимаюсь на этой работе проектированием нижнего уровня
Почему хобби? меняем блоки на плане на блоки внутри шкафа, кабели на провода, трассы на перфорированные короба, доробатываем алгоритм трассировки на соединение нескольких блоков с учетом максимально возможных подключений на одну клемму, импртируем из еплана или е3 таблицу соединений - вуаля расчет проводов на шкаф и выноски содержимого коробов готовы (хотя помоему в е3 это и так есть )

Теперь критика: ты сильно сужаешь возможности программы принятыми упрощениями:
1 - одна трасса, без переходов с трассы на трассу (стояки, разрывы) программу реально например в моих проектах не применить
2 - трассировка до точки вставки блока, для планов потянет, но описаную выше трассировку шкафа уже не сделать - у каждого устройства много клемм
3 - точка соединения блока на трассе - усложняет создание планов, скопировал трассу с плана первого этажа, устройства с плана второго - сиди ищи милипиздрические расхождения
zamtmn вне форума  
 
Автор темы   Непрочитано 02.12.2011, 16:35
#248
Frigate

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


zamtmn,

критика - это хорошо )

да, ты прав, Е3 и так замечательно все трассирует и считает - ну как напишешь скрипт, так и будет )))

1. переходы (изменение уровня прохода трассы) будет учитываться, но в относительной форме - типа перепад высот такой то. И будет добавляться к общей длине кабеля.
Такое подойдет для решения твоих проектов, к примеру? Если нет, то почему?

2. На уровень клемм еще рано выходить, не уверен, что вообще буду. Сначала надо с кабелями разобраться и продумать систему взаимного обмена инфо между документами.

3. Нифига не усложняет - привязки на что тебе даны? + в будущем сделаю возможным менять точность при сравнении точек прогой - она у меня ща в глобальной переменной сидит, а можно засадить в файл настроек.

Самое интересное то, чтонадо попытаться путем малой крови решить много вопросов, главный - правило одного ввода. Пока получается. Но с одним ЛИСПом это, как ты уже знаешь, будет со многими оговорками.

А вот возможность делать разные участки трассы и возможность даже разные масштабы на одном чертеже я постараюсь добавить. Сначала только доделаю автоматич. изменение перечня кабелей.
Frigate вне форума  
 
Непрочитано 02.12.2011, 21:46
#249
Nikolay 2


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


Написал много, но глюк нета все похерил... Теперь, наверное, напишу вкраце. С третьей попытки...
Цитата:
Сообщение от Frigate Посмотреть сообщение
Nikolay 2,
и от тебя совет приму - как быть с коробками? Как делать блок для коробок в схеме внешних?
Есть пара идей - я о них писал - делать упрощенно все коробки динблоком с растягивающейся рамкой и атрибутами. Так будет наиболее универсально. А всю начинку будем как и раньше копировать с предыдущих проектов. Или что-то придумать наподобие предложения от zamtmn
У дин.блоков, если с клеммами проблем нет, то я не представляю (точнее не знаю) как сделать нужное количество сальников.
Если ты имеешь ввиду это:
Цитата:
Сообщение от zamtmn Посмотреть сообщение
отдельный блок для каждого типа оборудования - очень слишком. Нужно "познее связывание", любому блоку присвоить любое оборудование (можно ввести какие-нибудь классы - коробки, термопары... чтоб не путаться)
Я склоняюсь к этому варианту, и видится следующий алгоритм, применительно к схемам внешних проводок: размещаем блоки приборов-->размещаем блоки кабелей-->размещаем блок (и) коробки (щита)-->присваиваем блокам соответствующее оборудование--> коннектим все это хозяйство-->блоки оборудования размещаем на планах-->делаем трассы и далее... При этом блоки оборудования (для каждого типа: двухпроводный датчик или четырехпроводный, коробка на 6 клемм 3 сальника или 10 клемм 5 сальников) создавать придется в любом случае, но можно уже не заморачиваться с дин. блоками)
Цитата:
Сообщение от zamtmn Посмотреть сообщение
Я бы добавил возможность трассировки и заполнения атрибутов кабелей (откуда,куда) по данным из екселя, часто основная часть кж уже есть в экселе, а если нет - там его всяко быстрее создать чем править атрибуты. Еще может быть вариант с таблицей применяемости - не все кабели показываются на схемах внешних подключений.
В екселе конечно удобней, но я думал, что в него данные надо передавать из проги, а не брать из него. ИМХО. А с таблицей применяемости можно поступить следующим образом, создается таблица--> в нее заносятся данные из схемы-->размножаются в нужном количестве (в крайнем случае copy-paste)--> меняется префикс любым нумератором.

Цитата:
Сообщение от Frigate Посмотреть сообщение
Добавил:
да, блоки надо будет создавать с маскировкой, которая будет закрывать фон по периметру блока (чтобы закрыть собой линию трассы). Блоки такого вида: графическая часть блока, которая должна быть видна (далее - Графика) должна быть прорисована вначале, затем должна быть нарисована маскировка по контуру, а далее - опять должна быть графика (просто скопировать - главное чтобы по порядку создания она шла ПОСЛЕ маскировки!) - по принципу продукции макдональдса. Маскировку нужно кидать в слой Wipeout, а сами блоки должны быть в слое Smart_blocks (у меня есть). Я потом этот слой при "Проверке плана трасс" - см. в меню) ставлю на переднем плане. Т.е. если создаете в др. слое - то нужно будет потом в случае чего самим расположить эти блоки на переднем плане - чтобы они были поверх линии трасс и всей остальной требухи.
Главное, чтобы все четко записывалось и считывалось из блока, потом распишешь методику создания, может же измениться
Nikolay 2 вне форума  
 
Непрочитано 02.12.2011, 22:53
#250
zamtmn

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


Frigate
Цитата:
1. переходы (изменение уровня прохода трассы) будет учитываться, но в относительной форме - типа перепад высот такой то. И будет добавляться к общей длине кабеля.
Такое подойдет для решения твоих проектов, к примеру? Если нет, то почему?
Перепад высот это хорошо. Но я говорю о трассировке по разным (не связаным линейными примитивами) трассам, типа кабель начался на одном плане, закончился на другом - соединены трассы вертикальным стояком или разрывом и находятся на разных листах или на одном, но оформлены в разных фрагментах.
Цитата:
2. На уровень клемм еще рано выходить, не уверен, что вообще буду. Сначала надо с кабелями разобраться и продумать систему взаимного обмена инфо между документами.
Выходить пока не стоит, но подумать об этом можно. Насколько я понимаю лучше трассировать не к точке вставки блока а к точке вставки атрибута этого блока. Тогда можно не мудрить с сендвичами из вайпаутов, а просто расположить этот атрибут на границе блока. Можно будет иметь много "коннекторов" в одном блоке, давать им имена - это гораздо универсальнее.
Цитата:
3. Нифига не усложняет - привязки на что тебе даны? + в будущем сделаю возможным менять точность при сравнении точек прогой - она у меня ща в глобальной переменной сидит, а можно засадить в файл настроек.
К сожалению привязки даны не только мне, но и тем кто рисует строительные планы, и нафига оно им, не понятно)). закончиваю проект - 14 этажей, чуть больше сотни клапанов ОЗК и ДУ, многие этажи почти типовые - копируй на здоровье, но нифига везде какието сдвиги присутствуют. Получилось 14 планов, дофига кабелей (большинство начиналось с 4х шкафов) и заканчивалось на насквозь пронумерованых клапанах. Очень рад что сразу предусмотрел "недострел" трассы до устройства.
Кроме того, "лишние" сегменты "впустую" усложняют трассу, времени на ее расчет тратится больше, а точность никак не повышается... Во времена гигагерцов на это конечно пофиг, но сложность у дейкстры не линейная.
Nikolay 2
Цитата:
В екселе конечно удобней, но я думал, что в него данные надо передавать из проги, а не брать из него. ИМХО. А с таблицей применяемости можно поступить следующим образом, создается таблица--> в нее заносятся данные из схемы-->размножаются в нужном количестве (в крайнем случае copy-paste)--> меняется префикс любым нумератором.
Данные нужно готовить там где это удобнее в каждом отдельном случае. и гонять их туда-сюда, а не только туда. В описаном выше проекте заготовка кж для трассировки была составлена в экселе "за пять сек" - один столбец четыре варианта, второй несколько сквозных нумераций. Не спорю иногда будет удобнее заполнять на схеме внешних, иногда прощелкивать на планах. Нужно придумывать и поддерживать какможно больше вариантов.
zamtmn вне форума  
 
Автор темы   Непрочитано 03.12.2011, 00:38
#251
Frigate

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


zamtmn,

перебирал разные варианты, чтобы иметь возможность создавать план трасс в несколько сегментов. Старые решения уже не катят - надо, чтобы автотрассировка всех кабелей поддерживалась. Скажи, если будет возможность делать несколько участков кабеля (те же планы этажей), но одно условие - чтобы был одинаковым масштаб, - такое покатит? К примеру, тебе подойдет?

Если ж замахнуться на возможность иметь несколько масштабов в одном пространстве модели, то это уже не осилю, наверное. Вернее осилю, но будет некрасивое решение.

Да, надо будет глянуть, работает ли хоть одна команда в пространстве листа. ПО идее - часть команд точно должны работать.

А по поводы рисования без привязок - я ж пишу, что уже это предусмотрел, и автотрассировка рассчитывается с допуском в 0,01. Можно и помнять, если надо будет - эту возможность сделаю попозже.
Frigate вне форума  
 
Непрочитано 03.12.2011, 01:34
#252
zamtmn

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


Цитата:
такое покатит? К примеру, тебе подойдет?
В принципе подойдет. Я не понимаю сложности с масштабом - зачем его задавать глобально? это свойство трассы (под трассой подразумеваю набор примитивов по которым идет трассировка, не конкретный путь кабеля) а не чертежа. Храни кабель не просто как набор координат (x,y,z), а например (x,y,z,длина до следующей вершины), во время трассировки ты имеешь доступ к примитивам трассы - соответственно знаешь масштаб этого участка - считай длину отрезков сразу, потом ее суммируй а не пересчитывай по координатам. Я в зкаде остановился на похожем решении, но пока масштаб к трассе не привязал, тупо выделяю кабели и присваиваю нужный масштаб в свойствах.
Цитата:
А по поводы рисования без привязок - я ж пишу, что уже это предусмотрел, и автотрассировка рассчитывается с допуском в 0,01
Я не допуск имею ввиду, ты предусматриваешь возможность входа\выхода кабеля в трассу только в вершинах. Я считаю что лучше иметь возможность входа\выхода на любом отрезке трассы. Например рядом стоят 3 устройства - тебе придется нарисовать к ним 1 общую линию и 3 отвода от нее. Если разрешить кабелю выходить не в вершине - можно будет ограничиться одной общей
zamtmn вне форума  
 
Автор темы   Непрочитано 04.12.2011, 00:18
#253
Frigate

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


Цитата:
Сообщение от zamtmn Посмотреть сообщение
Например рядом стоят 3 устройства - тебе придется нарисовать к ним 1 общую линию и 3 отвода от нее. Если разрешить кабелю выходить не в вершине - можно будет ограничиться одной общей
не очень ясно, как это с алгоритмом Дейкстры воплощать - там ведь все базируется на узлах. Если ты, к примеру, расположишь в моей проге 3 датчика так, чтобы они точкой вставки лежали на общей линии, то никаких отвороток делать тоже не надо будет. Прога сама разделит общую линию так, чтобы точки вставки блоков стали узлами (конточками отрезков трассы). Я пока это с блоками не реализовал, но это дело 10 минут - просто пока смысла нет, раз алгоритм еще не продуман до конца.


Цитата:
Сообщение от zamtmn Посмотреть сообщение
В принципе подойдет. Я не понимаю сложности с масштабом - зачем его задавать глобально? это свойство трассы (под трассой подразумеваю набор примитивов по которым идет трассировка, не конкретный путь кабеля) а не чертежа. Храни кабель не просто как набор координат (x,y,z), а например (x,y,z,длина до следующей вершины), во время трассировки ты имеешь доступ к примитивам трассы - соответственно знаешь масштаб этого участка - считай длину отрезков сразу, потом ее суммируй а не пересчитывай по координатам. Я в зкаде остановился на похожем решении, но пока масштаб к трассе не привязал, тупо выделяю кабели и присваиваю нужный масштаб в свойствах.
я храню не только координаты, но и масштаб, и добавочный и умножающий к-ты (ну не хочу я использовать образованные от английских слов прилагательные аддитивный и мультипликативный :-) ). ТОлько сейчас я уже давно использую один общий масштаб. Возможно, приду к решению как у тебя сейчас - выделять все кабели при команде редактирования, когда они изображаются полилиниями, и назначать выделенным кабелям масштаб. Также можно будет присвоить масштаб при создании трассы.
Frigate вне форума  
 
Непрочитано 04.12.2011, 04:32
#254
gomer

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


Frigate, скачал просто ради интереса, если можно поэстетствую:
Пропиши обработчик ошибок единожды в отдельном файле
сделай унифицированные функции начала и завершения команд, там пропиши обработчик ошибок и настройку переменных
руссифицируй диалоги
собери все свои программы в один vlx-файл, а исходники помести в папку Source
убери мусор в виде баков и ресурсов меню
под если старые акады программа не используется, то твое меню - куикс, иначе иконки в библиотеку, и мну... все остальное долой акад их сам создает... красивые иконки и 16-битные получаются
ну и код не особо эстетичный, например:
Код:
[Выделить все]
 (if (getstring (strcat "\nВ качестве образца выбран кабель " cable_example ". Нажмите Enter для продолжения <Далее>:"))
(adv-select-vla_obj_list-make-marked nil)
)
гораздо лучше выглядит в виде:
Код:
[Выделить все]
 (prompt (strcat "\nВ качестве образца выбран кабель " cable_example "."))
(if (getstring "\nНажмите Enter для продолжения <Далее>: ")
  (adv-select-vla_obj_list-make-marked nil)
)
хотя это те же грабли... вообще, ключевые слова принято обрабатывать с помощью getkword, а не getstring
названия функций - это, вообще, пестня, улыбнуло
gomer вне форума  
 
Автор темы   Непрочитано 04.12.2011, 08:14
#255
Frigate

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


Привет-привет )))

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

ОБработчик ошибок. Фиг знает, как его можно один универсальный написать ))) там в каждой проге используются разные функции, разные переменные - что-то из них может вылететь. Я лучше потом все функции диалога с пользователем оберну vla-catch-error.

Цитата:
Сообщение от gomer Посмотреть сообщение
названия функций - это, вообще, пестня, улыбнуло
зато как легко искать нужную функцию )))

Все равно конечный пользователь ничего этого не увидит )))
Frigate вне форума  
 
Непрочитано 04.12.2011, 17:47
#256
gomer

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


Цитата:
Сообщение от Frigate Посмотреть сообщение
В общем пока все в процессе отладки - ничего серьезно менять не буду.
тогда тем более поубирай fas-ки и грузи только лиспы
Цитата:
Сообщение от Frigate Посмотреть сообщение
ОБработчик ошибок. Фиг знает, как его можно один универсальный написать ))) там в каждой проге используются разные функции, разные переменные - что-то из них может вылететь. Я лучше потом все функции диалога с пользователем оберну vla-catch-error.
Ни в коем случае - это добавит тебе кода и не избавит от ошибок посмотри здесь, там есть и обработчик ошибок и функции начала, конца команды и настройка режимов команды
gomer вне форума  
 
Непрочитано 04.12.2011, 19:40
#257
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,408


Там этот обработчик еще найти надо
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 05.12.2011, 08:27
#258
Frigate

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


Кулик Алексей aka kpblc,

точно

к тому же этот архив что-то не распаковывается у меня - ошибки вылетают...
Frigate вне форума  
 
Непрочитано 06.12.2011, 15:01
#259
WST


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


Frigate
Работая над проектом возникла необходимость поменять место положение плана на листе и для того чтобы переместить и трассы кабелей при помощи команды adv-programme-cable-routings-show_edit я их выделяю перемещаю план с трассами жму еще раз на adv-programme-cable-routings-show_edit пересчитывается длины трасс но суффикс "м" не вставляет
WST вне форума  
 
Автор темы   Непрочитано 07.12.2011, 11:36
#260
Frigate

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


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



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