распознавание с чертежей контуров этажей и их высоты, проемов

Автор Тема: распознавание с чертежей контуров этажей и их высоты, проемов  (Прочитано 12242 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Nikolay_DombazaАвтор темы

  • ADN OPEN
  • Сообщений: 9
  • Карма: 0
Приветствую. Хотел бы пообщаться по теме "распознавания чертежей". Так мы ее для себя называем.

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

Еще небольшое пояснение:

В cad  мы имеем архитектурный проект дома, который включает в себя набор чертежей "план этажа", "разрез в осях...". Это может быть и в 2д и в 3д.

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

Т.е. нам нужна информация, которая в нашей расчетной программе будет использоваться как объект расчета стоимости, процесса строительства, подбора конструктивных решений и т.п.. Мы это назвали "габаритная модель".

Мы этим раньше не занимались, но сейчас попросили нашего программиста с помощью https://pythonhosted.org/dxfgrabber/ вытянуть данные их 2д чертежа. Получили массив разных типов объектов. Линии, полилинии, круги и прочее. С присущими им атрибутами (координаты).

Пытались математически придумать как "узнать" по набору линий (по закономерностям их сочетания) контур здания хотя бы. Но не смогли этого сделать. Граббер нам дает мало информации. Возможно наш программист вынул не все, что возможно. Читая документацию грабера вижу, что есть типы данных, которые в нашем файле отсутствуют.

Все специалисты говорят, что задача не решаемая. Но может у кого то будут идеи?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Приветствую на форуме!
В общем случае задача действительно нерешаемая если в чертеже примитивы AutoCAD. Простой пример, которые расставляет все точки над I.
У тебя в чертеже прямоугольник (примитив LWPOLYLINE). Как ты определишь что это такое? Это плита перекрытия или это контур помещения или это контур проёма в стене?
Вот если у тебя в чертеже примитивы AutoCAD Architecture - тогда всё ясно. Там есть и стены (WALL), и кровля (ROOF) и перекрытия (SLAB) т.д. и т.п. Ну или если чертеж сделан по совершенно жестким правилам. Например, стены - это только полилинии и только на слое WALL и только определенного веса (или толщины) и типа линии. Но добиться от проектировщика, чтобы он делал именно так, а не иначе - задача нереальная. Именно поэтому в общем случае задача решения не имеет.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дима_

  • ADN Club
  • ****
  • Сообщений: 473
  • Карма: 66
С произвольной информации - не реально - можно попробывать в "полуавтоматическом пошаговом" режиме с попыткой показа "своих" вариантов и корректировкой их пользователем "на лету". Но судя по подходу с dxfgrabber'ом - перед Вами еще долгий путь - удачи.

Оффлайн Nikolay_DombazaАвтор темы

  • ADN OPEN
  • Сообщений: 9
  • Карма: 0
Хорошо то, что в AutoCAD Architecture  мы можем получить более нужную нам информацию.  Нам было бы интересно снять данные и из этой программы.
Может кто-то из вас поучаствовать в нашей работе?


Оффлайн Nikolay_DombazaАвтор темы

  • ADN OPEN
  • Сообщений: 9
  • Карма: 0
У тебя в чертеже прямоугольник (примитив LWPOLYLINE). Как ты определишь что это такое? Это плита перекрытия или это контур помещения или это контур проёма в стене?

Вообще, если бы мы могли определить нужный нам многоугольник, то отнести его к нужным нам данным было бы несложно. Пока у нас была проблема, чтобы найти нужный нам многоугольник на плане этажа. Очень много шума, много объектов.

Нам нужны очень простые данные: внутренний объем здания со всеми габаритами. Что чем является мы можем определить уже на нашей стороне.

Оффлайн Nikolay_DombazaАвтор темы

  • ADN OPEN
  • Сообщений: 9
  • Карма: 0
Но судя по подходу с dxfgrabber'ом

А возможны другие подходы? Мы то не против и других-)

Оффлайн Nikolay_DombazaАвтор темы

  • ADN OPEN
  • Сообщений: 9
  • Карма: 0
попробовать в "полуавтоматическом пошаговом"

готовы попробовать. нужен в команду игрок в этом амплуа.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Нам нужны очень простые данные: внутренний объем здания со всеми габаритами.
Смеётесь? ;) Отсталось еще определится с терминами - что такое "внутренний объём" и что такое "все габариты".
Может кто-то из вас поучаствовать в нашей работе?
готовы попробовать. нужен в команду игрок в этом амплуа.
А вот с этим пожалуйста сюда: Вакансии для программистов
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1116
  • Карма: 173
Чтобы немного "разгрузить" (или наоборот - "пригрузить") ситуацию :)
Если проект выполнен именно в вертикальном решении (возьму за основу AutoCAD Architecture, далее АА) и выполнен он в полном соответствии с той технологией, которую в АА закладывала Autodesk, то ничего "разбирать" не понадобится: есть наружные стены, есть внутренние стены (возможно, выполненные как конструкции[1]). Следовательно, вопрос состоит не столько в том, чтобы "собрать" информацию, сколько в том, чтобы корректным образом настроить соответствующие стили.
>> Нужен внутренний объем здания со всеми габаритами
Это что и как? Строительный объем надо посчитать? Или посчитать именно суммарный объем внутренних помещений? Если второе - то надо использовать объекты "помещения" [1] с соответствующими настройками стилей. А для подсчета строительного объема наверняка потребуется другой алгоритм - намного более замороченный (прежде всего из-за непоняток с учетом балконов и крыш).
---
[1] Имеется в виду терминология, принятая в АА.
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Nikolay_DombazaАвтор темы

  • ADN OPEN
  • Сообщений: 9
  • Карма: 0
я понял. Сейчас будет работать с теми программами, которые дают возможность получить информацию. нужен специалист. напишу в вакансиях.