Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Зная внутренний контур помещения и исключающие контуры внутри данного помещения, расставить устройства (извещатели, светильники)

Зная внутренний контур помещения и исключающие контуры внутри данного помещения, расставить устройства (извещатели, светильники)

Ответ
Поиск в этой теме
Непрочитано 06.12.2016, 09:56
Зная внутренний контур помещения и исключающие контуры внутри данного помещения, расставить устройства (извещатели, светильники)
veb86
 
Проектировщик электрических сетей
 
Пенза
Регистрация: 17.01.2014
Сообщений: 176

Здравствуйте! Я проектировщик электрик, хобби программирование). Соответственно пишу инструменты которые облегчают мне жизнь, инструменты больше похоже на скрипты, но с каждом разом все сложнее и сложнее. Писал на VBA, потом на dotNet. Теперь на free pascal пишу бесплатные инструменты под бесплатную программу ZCAD. Исходный код программы ZCAD. Исходный код прятать не собираюсь, так что те результаты которые мы получим с Вами, будут всем доступны.
Вводная часть закончена)
Задачу себе поставил сложную, их две, с разными условиями, как подступится даже не знаю. Первая задача определенно проще: И так есть помещение, на рисунке 1 показано синим контуром (внутренний контур помещения, по стене). Внутри данного помещения могут быть исключающие области (показаны красным цветом, так же по стене).
Помещение может быть любой формы, то что на рисунке, вроде бы должно учитывать все формы, но может быть что не учел.
Внутри данного помещения надо расставить пожарные извещатели (дымовые или тепловые), расстояние от извещателя до стены и расстояние между извещателями прописано нормами, для разной высоты потолков. Примем от извещателя до стены: 4,5м, между извещателями 9м, но цифры могут меняться по заданию пользователя.
Задача: Зная внутренний контур помещения и исключающие контуры внутри данного помещения, расставить извещатели, как на примере рисунок 2 (но это я так, быстро набросал, кривовато, программа должна более качественно расставлять)
Исходные данные:
1. Внутренний контур помещения — список координат узлов линий (полилиния)
2. Исключающие контуры внутри данного помещения - список координат узлов линий (полилиния)
3. Габаритные размеры извещателя (10х10см)
Если предложите готовый код программы которая такое делает, буду счастлив, но в такое слабо верится. Думал о генетических алгоритмах может название просто понравилось, боюсь начну копать и не туда, время только потеряю.

Хотел описать только первую задачу, но так как пишу на форуме проектировщиков опишу и вторую, может быть кто то подобное решал в своих программах. И так все также, все те же исходные данные что и в первой задаче, только нужно расставить светильник исходя из той освещенности, которую нужно достичь в помещении, и для конкретной марки светильника.

Но тут есть еще проблема, я не разу не считал точку освещенности (прям даже стыдно от этого) знаю что Кнорринг пишет об этом, но как то руки не доходили. Конечно программой диалукс я пользуюсь, точнее диалюкс ЕВО, все круто. Но все помещения в них прикидывать, это ни какого времени не хватит. Прикидка та что приводится разработчиками светильников, мне кажется грубой, хотелось бы с точками освещенности и если сделать правильный расчет, да тем более в самой чертежной программе, можно очень много рутины снять с себя. И конечно что бы работало с ies файлами. Знаю задача сложная, но решаемая.

Обращаюсь к форумчанам и не только, с целью поиска и решения задач, еще раз подчеркиваю все будет открыто и свободно.
1. Если вы знает как решить задачу освещенности, то решите ее, хоть на бумаге для одной точки с пометками что откуда берется, только для n - светильников, я расчет добавлю в программу и потом обсудим результат сравним с диалуксом.
2. По поводу расстановки устройств мысли, идеи, предложения, посоветуйте в какую сторону смотреть, что почитать, примеры или ссылки, буду рад любой помощи.

Миниатюры
Нажмите на изображение для увеличения
Название: 1.png
Просмотров: 40
Размер:	5.8 Кб
ID:	180327  Нажмите на изображение для увеличения
Название: 2.png
Просмотров: 51
Размер:	8.2 Кб
ID:	180328  


Последний раз редактировалось veb86, 06.12.2016 в 11:39. Причина: Добавл картинки и ссылку на исходный код ZCADa
Просмотров: 25118
 
Непрочитано 08.12.2016, 09:53
#41
Владимир_М


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


Цитата:
Сообщение от zamtmn Посмотреть сообщение
Вот результат расстановки в автоматом "разбитое" помещение. В принципе результат можно "сгладить" чтоб извещатели стояли на линиях. А если хранить результаты о "смежности" "прямоугольников" после разбивки, то наверно даже получится правильно сгладить))
Ну по мне так, задача, в общем, решена.
zamtmn, осталось еще два нюанса. Как учитываются:
1. Коридоры (шириной например 3м. при радиусе действия 4,5 м).
2. Островки исключений.
Даже три. Совсем ерундовый еще -
3. со стенами не под углом 90 град.

Последний раз редактировалось Владимир_М, 08.12.2016 в 10:06.
Владимир_М вне форума  
 
Непрочитано 08.12.2016, 10:18
#42
zamtmn

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


>>Ну по мне так, задача, в общем, решена.
В общем какраз не решена. Вообще не решена. То что привел я годится для помещений определенной конфигурации и не годится для других.
По мне - подобные задачи надо решать когда более простые будут решены.
1 - не совсем понял
2,3 - это какраз другие "классы" помещений
zamtmn вне форума  
 
Непрочитано 08.12.2016, 10:29
#43
Владимир_М


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


Цитата:
Сообщение от zamtmn Посмотреть сообщение
1 - не совсем понял
Ну что покажет ваша программа, если к, например, Вашему же контуру (из #39) приторочить сбоку узкий коридорчик.
ТС где-то выше (#15) выдал несколько картинок с коридорчиками и их сочетаниями.
Миниатюры
Нажмите на изображение для увеличения
Название: Коридорчик.PNG
Просмотров: 24
Размер:	18.1 Кб
ID:	180473  
Владимир_М вне форума  
 
Непрочитано 08.12.2016, 12:03
#44
zamtmn

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


Получается както так. Тут уже явно лишние извещатели в отсеке правее "коридора"

----- добавлено через ~18 мин. -----
Смахивает на какойто набор "осей" расстановки с ограничениями в виде пересечений и максимальных расстояний. В принципе такую "систему" наверно можно както автоматически оптимизировать
Миниатюры
Нажмите на изображение для увеличения
Название: placing2.PNG
Просмотров: 26
Размер:	16.7 Кб
ID:	180479  
zamtmn вне форума  
 
Непрочитано 08.12.2016, 12:45
#45
Владимир_М


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


Цитата:
Сообщение от zamtmn Посмотреть сообщение
Смахивает на какойто набор "осей" расстановки с ограничениями в виде пересечений и максимальных расстояний. В принципе такую "систему" наверно можно както автоматически оптимизировать
Ну, в #14 я и предлагал набор "осей" (типа линий проводки) и разбивку их по длине "в виде пересечений и максимальных расстояний". (Наверное, не лишнее заодно определить и длину проводов.) Кстати, представляется, что при таком подходе легко и кривизну стены победить.
А каким образом Вы, zamtmn, делаете разбивку на прямоугольники и дальнейшую расстановку в них извещателей. Ну, может быть просто какими-то общими идеями, приемами поделитесь?
Владимир_М вне форума  
 
Непрочитано 08.12.2016, 13:03
1 | #46
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от Владимир_М Посмотреть сообщение
А каким образом Вы, zamtmn, делаете разбивку на прямоугольники и дальнейшую расстановку в них извещателей. Ну, может быть просто какими-то общими идеями, приемами поделитесь?
По моему очевидно. Рано или поздно многие проектировщики решают эту задачу (Я в сфере армирования ее решал...).
Имея контуры помещения, можно получить все возможное сочетания координат X и Y, отсортировав эти координаты легко получить набор прямоугольников различного размера, отсеиваем прямоугольники центр которых лежит вне контура помещения, стороны прямоугольников делим на шаг, получаем координаты в рамках каждого прямоугольника (этим и вызваны близкое расположение извещателей в соседних прямоугольниках). Собственно все.
Boxa на форуме  
 
Непрочитано 08.12.2016, 13:16
1 | #47
zamtmn

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


Разбивка - в цикле пробегая контур по ища 4 вершины образующие прямоугольник внутри контура, нашел - удалил 2 средних из контура. потом по 3 вершины, достраивая четвертую...
Весь процесс выглядит примерно так - http://imgur.com/a/lXBqq
zamtmn вне форума  
 
Непрочитано 08.12.2016, 13:52
#48
Владимир_М


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


Offtop:
Цитата:
Сообщение от Boxa Посмотреть сообщение
По моему очевидно. Рано или поздно многие проектировщики решают эту задачу (Я в сфере армирования ее решал...).
Имея контуры помещения, можно получить все возможное сочетания координат X и Y, отсортировав эти координаты легко получить набор прямоугольников различного размера, отсеиваем прямоугольники центр которых лежит вне контура помещения, стороны прямоугольников делим на шаг, получаем координаты в рамках каждого прямоугольника
Ну, вот разговор об армировании мне как-то ближе. Но из Вашего описания, я так понял, картинки типа моей из #16 по Вашему алгоритму не получить? Армируется чисто каждый прямоугольник отдельно и по вертикали и по горизонтали? Прохода стержня через все смежные прямоугольники от одного края общего контура до другого (при необходимости) нет?
Владимир_М вне форума  
 
Непрочитано 08.12.2016, 15:17
#49
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Цитата:
Сообщение от Владимир_М Посмотреть сообщение
Но из Вашего описания, я так понял, картинки типа моей из #16 по Вашему алгоритму не получить?
А Вам кто о мешает после получения набора прямоугольников срастить смежные, у которых координаты вершин совпадают?
Применительно к армированию, сращиваем отдельно по горизонтали и по вертикали, получаем 2 набора зон армирования.
Boxa на форуме  
 
Непрочитано 08.12.2016, 15:42
#50
Владимир_М


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


Цитата:
Сообщение от Boxa Посмотреть сообщение
А Вам кто о мешает
Да мне-то никто не мешает! Мне просто такое и не нужно. Сначала разбивать не так как надо, потом сращивать... Уж я по-своему лучше...
Причем сращивать, видимо, еще будет мешать защитный слой. Или надо будет как-то умудриться учитывать, что с каких-то сторон прямоугольника есть отступ концов стержней от контура, а с других нет? Мудрено че-то...
Владимир_М вне форума  
 
Непрочитано 08.12.2016, 16:00
#51
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,989


Цитата:
Сообщение от zamtmn Посмотреть сообщение
Весь процесс выглядит примерно так - http://imgur.com/a/lXBqq
Интересно выглядит.
Вот только что мешает датчики автоматом расставлять, если координаты всех прямоугольников известны?
Nike вне форума  
 
Непрочитано 08.12.2016, 16:16
#52
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


Offtop: Судя по этому:
Цитата:
Сообщение от Владимир_М Посмотреть сообщение
Причем сращивать, видимо, еще будет мешать защитный слой. Или надо будет как-то умудриться учитывать, что с каких-то сторон прямоугольника есть отступ концов стержней от контура, а с других нет? Мудрено че-то...
Вы меня не поняли, а я не совсем корректно разъяснил, но судя по вот этому:
Цитата:
Сообщение от Владимир_М Посмотреть сообщение
Уж я по-своему лучше...
мои пояснения Вам не очень то и нужны, у Вас есть своё решение.
За сим прекращаю оффтопить
Boxa на форуме  
 
Непрочитано 08.12.2016, 16:36
#53
Владимир_М


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


Offtop:
Цитата:
Сообщение от Boxa Посмотреть сообщение
Вы меня не поняли, а я не совсем корректно разъяснил
ну, так и разъясните корректно... "Вам кто мешает?"
Цитата:
Сообщение от Boxa Посмотреть сообщение
мои пояснения Вам не очень то и нужны, у Вас есть своё решение.
пояснения, конечно же, нужны, раз я чего-то неправильно понял..
Решение у меня в принципе-то есть, но оно далеко от идеала: не универсально и отрабатывает не всегда правильно.
Потому и пытаюсь что-то в этой теме почерпнуть, что поможет улучшить мое решение. Извините, если что не так.
Владимир_М вне форума  
 
Автор темы   Непрочитано 08.12.2016, 21:56
#54
veb86

Проектировщик электрических сетей
 
Регистрация: 17.01.2014
Пенза
Сообщений: 176


Цитата:
Сообщение от Nike Посмотреть сообщение
Интересно выглядит.
Вот только что мешает датчики автоматом расставлять, если координаты всех прямоугольников известны?
Трудностей нет вообще, кроме того что почти всегда результат работы такого автомата будет давать кривое решение см. сообщение #44 и его надо будет править ручками. а если от рук уйти не получается, тогда зачем делать автомат, который неизвестно на сколько увеличит скорость работы.
veb86 вне форума  
 
Непрочитано 08.12.2016, 22:49
#55
Владимир_М


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


Цитата:
Сообщение от veb86 Посмотреть сообщение
почти всегда результат работы такого автомата будет давать кривое решение см. сообщение #44 и его надо будет править ручками.
Вот те на! На третьей странице "экспериментов" такие постулаты выдвигаются автором темы. Так а какой смысл было эту тему вообще начинать да еще в разделе Программирование? если не верите, что это можно автоматизировать?!
Цитата:
Сообщение от veb86 Посмотреть сообщение
тогда зачем делать автомат, который неизвестно на сколько увеличит скорость работы
Но если задача решается руками на компьютере, то безусловно она может быть решена и компьютером.
Вы же не будете утверждать, что эта задача из разряда высокого творчества, на уровне искусства, или решается только на уровне интуиции?
Расставляя датчики ручкам, Вы занимаетесь вполне банальной логикой, выполняете какие-то четкие правила... Почему нельзя это все описать в проге?
Пусть еще кривова-то (пока! - сам zamtmn говорит, что пока еще не закончил, скорее только начал).
Но вот посчитайте, хотя бы увеличение скорости на расстановке датчиков в прямоугольнике, о чем Nike намекал.
Рисование диагоналей руками, пусть даже по секунде-другой в каждом прямоугольнике - например секунд 10. А с чем сравнить? С милисекундами автоматом. Да, неизвестно насколько увеличится скорость точно. Но Вас не интересует увеличение производительности труда в тысячи раз? А если много помещений?
Владимир_М вне форума  
 
Непрочитано 08.12.2016, 23:40
#56
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,000


Цитата:
Сообщение от Владимир_М Посмотреть сообщение
Но Вас не интересует увеличение производительности труда в тысячи раз?
и очередной раз лбом со всей дури в идею "большой красной кнопки") Тот же самый нанокад-ОПС расставляет датчики наиболее оптимальным способом во всех помещения? - очень сильно сомневаюсь. А иметь панель с несколькими кнопками - расставить датчики в прямоугольном помещении, в коридоре и т.п. типовые задачи, и иметь сопутствующие средства - типа при наведении на помещение выдается информация о нем: уже позволит заметно ускорить работу даже в полу-ручном режиме.
Сергей812 вне форума  
 
Автор темы   Непрочитано 09.12.2016, 01:15
#57
veb86

Проектировщик электрических сетей
 
Регистрация: 17.01.2014
Пенза
Сообщений: 176


Цитата:
Сообщение от Владимир_М Посмотреть сообщение
Вот те на! На третьей странице "экспериментов" такие постулаты выдвигаются автором темы. Так а какой смысл было эту тему вообще начинать да еще в разделе Программирование? если не верите, что это можно автоматизировать?!
Ох, как я не хотел отвечать Nikу, на его прекрасный вопрос)) Думал не высовывайся, сиди за баррикадами, сейчас все остынут тем более zamtmn вышел со своим предложением и всё посыпалось на него
То что это можно автоматизировать, я не сомневаюсь!
Цитата:
Сообщение от Владимир_М Посмотреть сообщение
Но если задача решается руками на компьютере, то безусловно она может быть решена и компьютером.
Слава Богу мы люди с интеллектом, но уверяю Вас в сложных помещениях не факт что разные проектанты сделают одинаково.
Цитата:
Сообщение от Владимир_М Посмотреть сообщение
Вы же не будете утверждать, что эта задача из разряда высокого творчества, на уровне искусства, или решается только на уровне интуиции?
В сложных помещениях мы принимаем решения правильно, но каждый раз как рука легла, говорю за себя
Цитата:
Сообщение от Владимир_М Посмотреть сообщение
Расставляя датчики ручкам, Вы занимаетесь вполне банальной логикой, выполняете какие-то четкие правила... Почему нельзя это все описать в проге?
Пусть еще кривова-то (пока! - сам zamtmn говорит, что пока еще не закончил, скорее только начал).
Но вот посчитайте, хотя бы увеличение скорости на расстановке датчиков в прямоугольнике, о чем Nike намекал.
Рисование диагоналей руками, пусть даже по секунде-другой в каждом прямоугольнике - например секунд 10. А с чем сравнить? С милисекундами автоматом. Да, неизвестно насколько увеличится скорость точно. Но Вас не интересует увеличение производительности труда в тысячи раз? А если много помещений?
Увеличение скорости в автоматическом расставлении датчиков внутри прямоугольных помещений даст отличное ускорение, особенно если их много. Но вот задача, а кто нам даст контуры помещения? действительно, наверное мы сами, я в живую еще ни кого не встречал кто работает с ZCADом. И выходит что как вы там сказали "увеличить производительность труда в тысячи раз" нам надо вместо двух точек(диагонали), делать четыре точки контура помещения . Хотя можно обойтись так же двумя, но смысла нет, это все я говорю про настоящий момент. Выхлоп от этого метода будет тогда когда появятся другие связанные с ним плюшки. как уже сказали выше, сколько датчиков для какого помещения, что бы и освещение посчитать можно было и еще что нибудь интересное сделать. Сейчас нет нужды в таком автомате который будет расставлять датчики внутри помещения прямоугольника. Со сложными помещения все сложнее, там не жалко будет на обводку помещения потратить пару минут, так как расставлять ручками может быть дольше и кривее.
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
и очередной раз лбом со всей дури в идею "большой красной кнопки")
не чего добавить
Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Тот же самый нанокад-ОПС расставляет датчики наиболее оптимальным способом во всех помещения? - очень сильно сомневаюсь.
Все может быть, там люди сидят и занимаются только тем, что думают как решить эту проблему. А нам с Вами надо еще и проекты чертить.
veb86 вне форума  
 
Непрочитано 09.12.2016, 04:52
#58
Владимир_М


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Но Вас не интересует увеличение производительности труда в тысячи раз?

и очередной раз лбом со всей дури в идею "большой красной кнопки")
Я хоть привел какое-то обоснование своим цифрам. На основании чего вы вдруг про лоб и про дурь? разговор шел о конкретном решении ничтожного вобщем-то вопроса (строить диагональ вручную или автоматом получить нужные имеющиеся уже координаты прямоугольника). С чего и зачем вы встряли со своей " Красной кнопкой? Только вы один про нее и камлаете. Откуда эти панические атаки?!
А в результате вашей паранои на красную кнопку никто уже не разговаривает по решению задачи.
Offtop: Кстати дайте хотя бы определение, что для вас "Большая Кр. кн."? Может можно будет и кнопку в каком приложении увеличить и покрасить в красный.

----- добавлено через ~58 мин. -----
Цитата:
Сообщение от veb86 Посмотреть сообщение
Слава Богу мы люди с интеллектом, но уверяю Вас в сложных помещениях не факт что разные проектанты сделают одинаково.
Ну и что следует из этого наблюдения? Стало быть задачу решить невозможно? Ну, Вам-то как человеку с интеллектом и уже взявшему флаг в руки, отчего ж не сделать так, как именно Вам нужно, именно так, как Вы считаете правильным?! Еще раз. Если вы руками так или иначе приходите к решению, которое Вас в итоге удовлетворяет, почему эту же логику не перевести в инструкции для компьютера.
Совершено железные условия и их всего 2:
Цитата:
Сообщение от veb86 Посмотреть сообщение
от извещателя до стены: 4,5м, между извещателями 9м,
Что ж тут такого страшного?

----- добавлено через ~1 ч. -----
Цитата:
Сообщение от veb86 Посмотреть сообщение
Но вот задача, а кто нам даст контуры помещения?
Только что где-то в параллельной теме было приведено решение по контурам. И причем для гораздо более запутанных ситуаций чем те, которые можно представить применительно к помещениям. И причем со всяческой заливкой, разноской по слоям и проч.
http://www.superboundary.com/index.html

Последний раз редактировалось Владимир_М, 09.12.2016 в 06:12.
Владимир_М вне форума  
 
Непрочитано 09.12.2016, 07:14
#59
zamtmn

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


Цитата:
Сообщение от Nike Посмотреть сообщение
Вот только что мешает датчики автоматом расставлять, если координаты всех прямоугольников известны?
В принципе ниче не мешает, если бы планы приходили с прочепчеными прямоугольниками - наверно сделал бы, а так - без разницы "прямоугольники" чертить или извещатели расставлять
zamtmn вне форума  
 
Автор темы   Непрочитано 09.12.2016, 09:39
#60
veb86

Проектировщик электрических сетей
 
Регистрация: 17.01.2014
Пенза
Сообщений: 176


Цитата:
Сообщение от Владимир_М Посмотреть сообщение
Что ж тут такого страшного?
Условия в целом простые, решения обязательно будет найдено!

Цитата:
Сообщение от Владимир_М Посмотреть сообщение
Только что где-то в параллельной теме было приведено решение по контурам. И причем для гораздо более запутанных ситуаций чем те, которые можно представить применительно к помещениям. И причем со всяческой заливкой, разноской по слоям и проч.
http://www.superboundary.com/index.html
Супер приложение, смотрится очень хорошо, оно действительно могло бы ускорить работу. Может быть Вы знаете ссылку на исходный код?
veb86 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Зная внутренний контур помещения и исключающие контуры внутри данного помещения, расставить устройства (извещатели, светильники)

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Узел устройства рельсового пути внутри цеха serge_kortenko Железобетонные конструкции 11 21.12.2017 17:26
Схема использования ж/б колец внутри бесподвального помещения Evgeny87 Основания и фундаменты 2 28.05.2014 10:17
В каком нормативном документе имеется информация о максимальной разнице температур внутри и снаружи жилого помещения? konvent Инженерные сети 6 15.03.2012 11:50
Чем лучше обработать дерево внутри помещения??? vbnz0586 Прочее. Архитектура и строительство 7 12.09.2011 18:00
Как расчитать требуемую мощность обогрева данного помещения? Creator Прочее. Архитектура и строительство 1 30.08.2011 16:44