Найти тему
Хроники Георга

Autodesk ReCap - Decap.exe консольная утилита для создания проекта ReCap

Оглавление

Введение: данная статья посвящена полезной утилите, входящей в состав пакета Autodesk ReCap, основная задача которой - создавать проект RCP из набора исходных данных с разными параметрами обработки, применяющимися к Проекту.

Для логотипа статьи)
Для логотипа статьи)

1. Общая информация

Autodesk ReCap - это проприетарное приложение Autodesk (с проприетарным форматом данных RCP)

Официальное лого продукта (https://damassets.autodesk.net/content/dam/autodesk/www/product-imagery/lockup-610x66/recap-pro-lockup-610x66.png)
Официальное лого продукта (https://damassets.autodesk.net/content/dam/autodesk/www/product-imagery/lockup-610x66/recap-pro-lockup-610x66.png)

Проблема его использования - это закрытый внутренний формат облака точек (RCP), в который умеют экспортировать данные только другие коммерческие продукты (например, Terrasolid Terrascan и др.). Чтение данного формата доступно в большем числе ПО, несмотря на то, что и на чтение, и на запись в него приобретается пакет ReCap SDK (для получение которого необходимо быть членом ADN Standard/ADN Professional).

Проблема ручной обработки заключается в кратковременных пиковых нагрузках на ЦП со стороны ReCap (для конвертации данных в свой внутренний формат), в связи с чем параллельная работа в ином ПО может фатально завершаться. Видимый путь - это ставить подобную обработку в фоновой режим во время, когда ПК не используется, и вот эту самую фоновую обработку (ее возможность) как раз и обеспечивает утилита Decap.exe

Файловое местоположение утилиты
Файловое местоположение утилиты

2. Об использовании утилиты

Скупая Справка по ней доступна на одной из страниц портала Autodesk Knowledges здесь. Исчерпывающее описание логики программы приведено в данном сообщении:

Описание логики Decap
Описание логики Decap

Кроме этого, интересным видится это сообщение, где используется недокументированный аргумент "--controlFile", указывающий путь к текстовому файлу с построчно-записанными полными файловыми путями к импортируемым сканам.

Полный перечень возможностей утилиты, как ни странно, приведен в самой утилите при запросе "decap.exe --help"

Вызов справки по пакету
Вызов справки по пакету

Примечание: как и в случае работы с ReCap Desktop, не рекомендуется (запрещается) использовать в наименованиях к файлам кириллицу и пробелы. В ряд случаев (при использовании определенных библиотек), в случае наличия недокументированных символов в имени и пути к файлу процесс может завершиться/зависнуть.

Официальный документированный шаблон для формирования команды выглядит следующим образом:

Decap.exe --importWithLicense <output folder> <project name> [options] <input scan 1> [input scan 2] … [input scan N]

Первый аргумент [Decap.exe] - это запускаемый экземпляр приложения, к нему необходимо либо добавить полный файловый путь (в моем случае- C:\Program Files\Autodesk\Autodesk ReCap\decap.exe), либо предварительно из-под командной строки использовать конструкцию выбора директории:

cd C:\Program Files\Autodesk\Autodesk ReCap

Второй аргумент [--importWithLicense] - это команда для проверки, действительна ли у пользователя Лицензия на продукт (не знаю, как это работает), но скорее всего лицензия может быть любая.

Примечание: (пишу спустя месяц) - как выяснилось, если на ПК нет подключения к Интернету, и несмотря на то, что лицензия есть - это приложение выбивает ошибку инициализации лицензии. Для обхода этого следует подать минимум трижды такую же строку, чтобы на третий раз он её обработал (странный костыль, согласен), но так хотя бы он работает.

Третий аргумент [<output folder>] - это абсолютный путь к папке, где будет создан проект ReCap (файл RCP и папка Support с вспомогательными данными)

Четвертый аргумент - [<project name>] - наименование проекта (без прбелов)

Пятый аргумент [<input scan 1> [input scan 2] … [input scan N]] - пути к файлам облаков точек, которые будут преобразованы в проект RCP. При этом их может быть сколь-угодно много (но тут можно упереться в ограничение размера строки в командной строке).

Здесь выгоднее всего предварительно (при возможности) объединять сканы в 1 (к примеру, если исходники - это las/laz файла - то их можно объединить утилитой Lastools - lasmerge).

Шестой аргумент [[options]] - это набор документированных параметров с числовыми аргументами, для создания проекта. таких параметров всего три:

  • --minRangeClipping - sets the distance from the scanner under which points are ignored и maxRangeClipping - sets the distance from the scanner past which points are ignored (параметры использующиеся при регистрации облаков точек), я тут не силен;
  • --decimation - sets the minimum distance between 3D points in millimeters. Points closer than this distance may be unified to a single point (расстояние, в пределах которого точки "объединяются" в одну - фактически, лимит прорежения облака точек). Этот параметр ограничен в 100 мм в программе - см. скрин ниже:
Вид диалогового окна ReCap с пред-настройками импорта
Вид диалогового окна ReCap с пред-настройками импорта

А вот из-под консольной версии мы можем задать параметр, превышающий 100 мм - хоть 1000 мм. Кстати числовые параметры для decimation вводятся именно в мм (это в Справке не оговорено).

3. Примеры использования утилиты

Итак, рассмотрим применение утилиты decap.exe на примере создания нового проекта ReCap из двух текстовых файлов (txt) на городскую улицу:

Decap.exe --importWithLicense F:\00_Scans\Test Test_0 F:\00_Scans\Test\PC_Flat-100000-f532cb2a-deec-4780-a939-4e6b23722870_0.txt F:\00_Scans\Test\PC_Flat-100000-f532cb2a-deec-4780-a939-4e6b23722870_1.txt

Здесь у меня создается проект с именем Test_0 в папке "F:\00_Scans\Test" с двумя исходными сканами - перечислены в запросе

Вид проекта ReCap (видны пара файлов в области Scan Locations)
Вид проекта ReCap (видны пара файлов в области Scan Locations)

Усложним задачу, и сделаем прорежение облака точек (другого файла) на величину 1000 мм, что больше системного:

Decap.exe --importWithLicense F:\00_Scans\Test Test_4 D:\Temp\PC\toksovo.laz
Decap.exe --importWithLicense F:\00_Scans\Test Test_5 F:\00_Scans\Test\Forest_Toksovo.e57 --decimation 1000

Первый проект - импорт в "оригинальном" разрешении:

Полный лес без прореживания; состоит из 128 млн точек
Полный лес без прореживания; состоит из 128 млн точек

Второй проект - с установленным параметром прореживания в 1000 мм:

Проект с прореживанием 1000 мм, состоит из 236 тысяч точек
Проект с прореживанием 1000 мм, состоит из 236 тысяч точек

Теперь применим элемент типа --controlfile, в который пропишем пути к импортируемым сканам:

Создали текстовой файл с путями к файлам
Создали текстовой файл с путями к файлам
Decap.exe --importWithLicense F:\00_Scans\Test Test_6 --controlFile F:\00_Scans\Test\PathToFiles.txt
Исполнили запрос
Исполнили запрос
Вид проекта ReCap
Вид проекта ReCap

Обращу внимание, что decap.exe генерирует файлы "построчно" - то есть из буфера обмена можно скопировать несколько строк и он все обработает последовательно (та самая нужная фоновая обработка).

Усложним задачку, и попробуем трансформировать облако точек из одной системы координат в другую, указав эти СК как параметры --currentCoordinateSystem и --targetCoordinateSystem

Текущие данные у нас в СК EPSG:32636
Текущие данные у нас в СК EPSG:32636

Установим целевую СК в одну из отечественных МСК - Russia-MSK1964

Целевая СК
Целевая СК
Decap.exe --importWithLicense F:\00_Scans\Test Test_8 --controlFile F:\00_Scans\Test\PathToFiles.txt --currentCoordinateSystem UTM84-36N --targetCoordinateSystem Russia-MSK1964

Вид запроса выше - в качестве имен СК мы указываем наименование их "Кода"

Процесс обработки данных
Процесс обработки данных
Облако тчоек в МСК-1964 (на фоне - внешняя ссылка файл DWG)
Облако тчоек в МСК-1964 (на фоне - внешняя ссылка файл DWG)

При этом что-то СК не получается назначить чертежу при этом .. видимо всё-таки функционал с местными СК сыроват (но вот с официальными, имеющими код EPSG все работает отлично)

Работа карт для СК UTM-35N
Работа карт для СК UTM-35N

4. Заключение

В данной статье мы рассмотрели консольную утилиту decap.exe, входящую в состав программы Autodesk ReCap - с ей помощью можно обрабатывать сканы (кроме регистрации) в фоновом режиме с настраиваемыми параметрами (плотность точек, перепроецирование в нужную систему координат) для набора исходных файлов. При этом (как я заметил), не происходит нагрузки на ЦП, что характерно при классическом импорте данных.

Теперь я могу оставлять процессы формирования проектов RCP на ночь и не тратить дневное время на их создание :D

#autodesk #recap #autodesk recap #decap #point cloud #rcp #adn #civil 3d #console app #облака точек

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