Найти в Дзене
Хроники Георга

Civil 3D. Задаем поверхности текстуру из фотографии

Оглавление

Введение: в данной небольшой статье осветим методику по наложению фотографии на поверхность в среде Civil 3D для получения в итоге "тела" с текстурой местности, под реальный/проектный рельеф местности, которое может быть выгружено в стороннее ПО для визуализации (здесь, Autodekk Navisworks).

1. Требуемые условия и исходные данные

Рассматривать данную задачу будем для версии Civil 3D 2021 (но вообще, данная команда есть и в ранних версиях, с 2010 точно). Будем отталкиваться от наиболее предпочтительной ситуации, когда проект выполняется сразу в некой системе координат (как правило, региональной). Если нет понимания специфики работы систем координат внутри продуктов Autodesk, рекомендуется начать с данной статьи.

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

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

2. Подготовка поверхности

Для успешного выполнения задачи нам необходима сама поверхность в среде Civil 3D, условие позиционирования данной поверхности в некой системе координат, для которого есть определение в библиотеке систем координат (если нет - см. данную статью о порядке наполнения Библиотеки новыми определениями).

Назначаем чертежу с поверхностью систему координат (в нашем случае, МСК 52-Зона 2)
Назначаем чертежу с поверхностью систему координат (в нашем случае, МСК 52-Зона 2)
Формируем контур участка местности, для которого нужно получить растровую подоснову
Формируем контур участка местности, для которого нужно получить растровую подоснову

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

Активируем команду MAPEXPORT и экспортируем полигон со смещением в 20м в гис-формат Google KML
Активируем команду MAPEXPORT и экспортируем полигон со смещением в 20м в гис-формат Google KML
Выбираем вручную данный элемент
Выбираем вручную данный элемент
В Параметрах преобразования ставим данные опции
В Параметрах преобразования ставим данные опции

3. Подготовка растрового снимка

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

3.1 Загрузка спутникового снимка через SAS.Planet

В общем случае, рекомендуется воспользоваться указаниями данной статьи.

Заходим в опцию "Открыть"
Заходим в опцию "Открыть"
Выбираем наш файл и нажимаем "Открыть"
Выбираем наш файл и нажимаем "Открыть"
Соглашаемся с настройками по-умолчанию
Соглашаемся с настройками по-умолчанию
Здесь нажимаем на Yes
Здесь нажимаем на Yes
Щелкаем ПКМ на область и выбираем "Операции с выделенной областью"
Щелкаем ПКМ на область и выбираем "Операции с выделенной областью"
Выбираем параметры создания снимка и подсонову (формат, geotiff желательно, масштаб=точность и место сохранения)
Выбираем параметры создания снимка и подсонову (формат, geotiff желательно, масштаб=точность и место сохранения)
При желании загружать карты OSM - их также можно настроить здесь в выпадающем списке карт
При желании загружать карты OSM - их также можно настроить здесь в выпадающем списке карт

4. Наложение текстуры на поверхность

Дальше проще. Переключаемся снова на чертеж с поверхностью в Civil 3D и командой MAPIINSERT импортируем растр в чертеж:

При импорте снимаем галочку с "изменить параметры корреляции"
При импорте снимаем галочку с "изменить параметры корреляции"
Выбираем сперва поверхность, затем в верхней вкладке - опцию "Натягивать изображение"/_AeccDrapeImage
Выбираем сперва поверхность, затем в верхней вкладке - опцию "Натягивать изображение"/_AeccDrapeImage
Здесь выбираем изображение и нажимаем на ОК
Здесь выбираем изображение и нажимаем на ОК
Активируем опцию "просмотр объектов" и в режиме Реалистичный - видим нашу текстуру
Активируем опцию "просмотр объектов" и в режиме Реалистичный - видим нашу текстуру
Более полная картинка
Более полная картинка
Почему в Невисе на видно? Я не знаю, сломал себе мозг :(
Почему в Невисе на видно? Я не знаю, сломал себе мозг :(

5. Как можно это сделать ещё?

Можно создать пустую модель InfraWorks, куда импортировать поверхность и растровый снимок и выгрузить это дело в FBX - тогда будет тайловая структура с текстурой нужного снимка, выдавленного по поверхности.

Сама процедура экспорта объяснена здесь, методика загрузки растрового снимка здесь, поверхности - здесь.

6. Выводы

В данной небольшой статьей мы рассмотрели процесс наложения на поверхность Civil 3D текстуры из геопривязанного растра, для возможности отображения данной текстуры в Реалистично виде. Однако, экспортировать данный элемент в Navisworks у меня не получилось :(. На форумах приводятся некоторые решения ... но как по мне - лучше действовать через InfraWorks, это точно проще.

P.S. Задача, к слову, интересная - надо будет на досуге попробовать решить её средствами лишь open-source.

Не пропускайте публикации, подписывайтесь на Telegram-канал с тизерами статей.