|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
КИП, АСУ ТП, слаботочка Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422
|
ShaggyDoc
вы абсолютно правы, я уже выставил код, в котором чисто аналитически смотрю принадлежность точки к одному из сегментов трассы кабеля (просто проверять буду не всю полилинию трассы кабеля, а последовательно каждый сегмент между точками-узлами трассы). вот дублирую еще раз эту функцию на проверку принадлежности точки отрезку Код:
Мы, кстати, тоже почти соседи ))))) Последний раз редактировалось Frigate, 21.09.2010 в 11:46. |
|||
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
|
Наведу немного критики:
Цитата:
Цитата:
Моё предложение решения: на входе имеем dwg с расставленными блоками оборудования, прочерченными возможными трассами. и таблицу что с чем и каким кабелем соединять. далее 2 варианта 1) программа каждый кабель трассирует по трассам от и до, заполняет в таблице способ прокладки (он должен быть учтен в трассе например типом линии или слоем соответствующего участка) и длинной полученого кабеля. для каждого кабеля рисуется своя полилиния с его параметрами в xdata. 2) также как и (1) но полилинии кабелей не создаются, а в xdata примитивов трассы запоминается какие кабели прошли по этому участку Ну и чтоб сделать выноски потоков прокладки нужно будет проанализировать все полилинии проходящие в данной точке и вытянуть из них информацию о кабелях для варианта (1) или вытягивать из примитива трассы для (2). |
|||
|
||||
КИП, АСУ ТП, слаботочка Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422
|
Разница в том, чтобы прощелкивать или нет - есть. Визуализация при прощелкивании есть - пока происходит прощелкивание точки-узлы трассы помечаются блоком-меткой. Затем функцией я получаю длину трассы по этому кабелю + буду экспортировать данные трассы в файл (в том числе и длину). Далее блоки-метки удаляются с чертежа - они совсем не нужны. Объясню просто: уже есть план с нанесенными на него линиями трасс (эстакад). ПО эстакадам идут кучи кабелей электриков, связистов, ОС, ПС и тп. И все это нарисовано простыми линиями (то есть одна линия и показывает, что тут, мол, идет эстакада с кабелями). Самое удовбное для меня чтобы указать трассы (а это десятки объектов и до 20 кабелей от каждого) - это "прощелкать" их, указывая узловые точки на уже имеющихся нарисованных отрезках, изображающих эстакады . В конце концов, напишу функцию, которая будет показывать траекторию трассы, если нужно будет визуально проверить правильность ее прокладки. Вызвал функцию, ткнул в блок, в котором атрибут - номер кабеля - и получил нарисованную ярким цветом полилинию кабеля, как он идет по эстакадам.
На этом с самим планом трасс работа заканчивается. Данные о длине уже переходят либо напрямую в файл со схемой внешних соединений, либо сначала в Excel, где уже есть база данных по кабелям (чтобы их не забивать вручную, а вытаскивать из раскрывающегося списка), где суммируются все кабели одинаковых типов и жильности и составляется полуавтоматически спецификация датчиков и кабелей (последнее еще в проработке). И самое главное, почему на этом решил остановиться, - не надо разбираться с темным пока для меня лесом расширенных данных примитивов... Пока нужен результат и побыстрее - след. проект не за горами и к нему хочу успеть и других сотрудников отдела "подсадить" на автоматизацию некоторых моментов проектирования. Последний раз редактировалось Frigate, 21.09.2010 в 12:19. |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
1. Алгоритм проверенный. 2. Вычислений меньше, что влияет на скорость ТОчка принадлежит отрезку, если сумма расстояний от начала отрезка до точки и от точки до конца отрезка равна длине отрезка с некоторой точностью
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 27.09.2010 в 16:47. |
|||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
|
|||
|
||||
КИП, АСУ ТП, слаботочка Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422
|
zamtmn
я и не спорю, что возможно лучше... Просто для нашей специфики выбранный мой вариант пока подходит больше. Но в будущем возможно и поменяю программу. Просто нужно уже что-то работающее создать. А в будущем планирую и привязку к контактам на схеме, чтобы составлялись автоматически таблицы подключения, техтребования на верхний уровень и тп. VVA да, думаю алгоритм более надежный, ибо кто знает, как вычислит Автокад точку - хотя проверял на разных линиях, нарисованных под разными углами. kp+ у нас бывает и понасыщеннее схемка ))) Вот я и задумал вывески, где какой кабель идет делать автоматически - это сильно упростит рутину и даст возможность безошибочно раскладывать кабель по потокам, уже не потеряешь кабель |
|||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
Цитата:
PS А почему все упорно обходят стороной ElectriCS? Потому что много денег стоит, или по другой причине? |
|||
|
||||
КИП, АСУ ТП, слаботочка Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422
|
zamtmn
все еще впереди - дойду и до автоматического создания трасс ))) Хотя пока не представляю, при помощи какого алгоритма можно заставить трассу идти от объекта-начала до объекта-конца по нарисованным линиям? МОжет подскажешь, где копать? kp+ никто его в нашей конторе ставить не будет. Уже ставят др. систему, но в ней интересы электриков и слаботочки пока не учитываются - только 3D для технологов. И конечно же цена. А Автокад есть все версии, и не обязательно иметь лицензионную, если дома делаешь ))) Да и универсальное это будет средство - моя программка. Но ооочень полезная. А потом перейду возможно к автотрассировке. |
|||
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
|
Трассы создаются вручную. автоматизировать можно только простейшие случаи, но оно того не стоит. Автоматически только раскладка кабелкй по трассам, т.е. что где пройдет решает программа по какимлибо критериям оптимальности (простейший случай - меньшая длина), возможные маршруты определяет проектировщик
|
|||
|
||||
КИП, АСУ ТП, слаботочка Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422
|
тогда я именно это и делаю - раскладка трасс ))) Вручную ))) Маршрут задается проектировщиком )))
Еще возможный вариант, чтобы не связываться с внешним файлом для хранения даных - хранить список точек-узлов трассы в строковой переменной в значении атрибута блока кабеля. Последний раз редактировалось Frigate, 21.09.2010 в 21:11. |
|||
|
||||
Регистрация: 20.01.2009
Сообщений: 1,170
|
|
|||
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
|
Цитата:
Цитата:
2) полностью устраивает zcad)) Последний раз редактировалось zamtmn, 22.09.2010 в 09:57. |
|||
|
||||
КИП, АСУ ТП, слаботочка Регистрация: 02.09.2010
Москва-Тюмень
Сообщений: 422
|
Цитата:
Про хранение в блоке на другом чертеже - в моем случае на схеме внешних соединений - да, будет храниться там. Но это еще надо придумать как сделать. Я ж только месяц, как ЛИСП осваиваю. Не все сразу ))) Сначала надо научиться просто сохранять список в атрибутах блока данного чертежа, а уж потом... ;-) В плане еще и создание диалоговых окон, в которых будет доступно полное редактирование свойств трассы (кабеля) и можно будет просмотреть трассу именно этого кабеля на плане кабельных сетей. |
|||
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 571
|
Цитата:
NEDIS, к любому примитиву и даже неграфическим объектам можно добавить расширенные данныех, которые и будут храниться в DXF коде объекта, и в которых ты можех хранить нужную тебе информацию |
|||
|
||||
TararykovDG, к линии, которая изображает кабель ничего приписывать не надо, их очень часто надо удалять и заново рисовать, а вот сделать такой маркер в виде динамического блока и настроить в нем атрибут "метод расчета" на то, что в слое, где лежит маркер-блок все, скажем 2D полилинии такого-то цвета, типа линий и заданной толщины и есть тот кабель, который выставлен в этом блоке, можно.
Атрибут "метод расчета" не что иное как строка на лиспе запускающая функцию, к примеру: Код:
Это когда надо посчитать весь кабель или трубы указанные в блоке. Можно что угодно запускать. Я такие блоки стал делать в дополнение к методу расброски по слоям. Кроме имени слоя мало что можно указать, а тут типа фильтра получается. Вот есть у тебя глобальная программа, она ищет все такие блоки-маркеры и по очереди их обрабатывает, как? а, просто. Она 1 - записывает указатель на очередной в обработке блок в заранее определенного имени переменную и лезет в атрибут "метод расчета". Там считывает какую функцию для этого материала надо запустить и с какими аргументами и запускает. Функция тоже знает в каком имени хранится указатель на блок и считывает в каком слое тот лежит. Далее эта функция обрабатывает заданные ей примитивы в этом слое и возвращает некий результат глобальной программе. Данные в блоке-маркере нужны как глобальной программе, так и самой функции в этом блоке. Я перепробовал очень много всяких способов сделать виртуальные материалы и расширенные данные тоже, но этот способ позволяет с примитивами вытворять что угодно, типа резать солиды, рисовать новое и при этом не теряю приписанные к этим примитивам данные. Последний раз редактировалось Supermax, 24.09.2010 в 10:58. |
||||
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
|
Цитата:
Но если чтото жранить в xdata, нужно писать удобные для пользователя функции для изменения-обработки Последний раз редактировалось zamtmn, 24.09.2010 в 11:22. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Посоветуйте программу для построения профилей наружных сетей? | dextron3 | Вертикальные решения на базе AutoCAD | 18 | 11.03.2012 16:37 |
Сводный план сетей | proekt_mep | Инженерные сети | 42 | 16.06.2011 23:09 |
Ищу книгу "Проектирование кабельных сетей и проводок" под редакцией Г.Е.Храпченко 1980 | Инзиля | Поиск литературы, чертежей, моделей и прочих материалов | 8 | 03.02.2009 14:47 |