Введение: данная статья посвящена полезной утилите, входящей в состав пакета Autodesk ReCap, основная задача которой - создавать проект RCP из набора исходных данных с разными параметрами обработки, применяющимися к Проекту.
1. Общая информация
Autodesk ReCap - это проприетарное приложение Autodesk (с проприетарным форматом данных RCP)
Проблема его использования - это закрытый внутренний формат облака точек (RCP), в который умеют экспортировать данные только другие коммерческие продукты (например, Terrasolid Terrascan и др.). Чтение данного формата доступно в большем числе ПО, несмотря на то, что и на чтение, и на запись в него приобретается пакет ReCap SDK (для получение которого необходимо быть членом ADN Standard/ADN Professional).
Проблема ручной обработки заключается в кратковременных пиковых нагрузках на ЦП со стороны ReCap (для конвертации данных в свой внутренний формат), в связи с чем параллельная работа в ином ПО может фатально завершаться. Видимый путь - это ставить подобную обработку в фоновой режим во время, когда ПК не используется, и вот эту самую фоновую обработку (ее возможность) как раз и обеспечивает утилита Decap.exe
2. Об использовании утилиты
Скупая Справка по ней доступна на одной из страниц портала Autodesk Knowledges здесь. Исчерпывающее описание логики программы приведено в данном сообщении:
Кроме этого, интересным видится это сообщение, где используется недокументированный аргумент "--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 мм в программе - см. скрин ниже:
А вот из-под консольной версии мы можем задать параметр, превышающий 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" с двумя исходными сканами - перечислены в запросе
Усложним задачу, и сделаем прорежение облака точек (другого файла) на величину 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
Первый проект - импорт в "оригинальном" разрешении:
Второй проект - с установленным параметром прореживания в 1000 мм:
Теперь применим элемент типа --controlfile, в который пропишем пути к импортируемым сканам:
Decap.exe --importWithLicense F:\00_Scans\Test Test_6 --controlFile F:\00_Scans\Test\PathToFiles.txt
Обращу внимание, что decap.exe генерирует файлы "построчно" - то есть из буфера обмена можно скопировать несколько строк и он все обработает последовательно (та самая нужная фоновая обработка).
Усложним задачку, и попробуем трансформировать облако точек из одной системы координат в другую, указав эти СК как параметры --currentCoordinateSystem и --targetCoordinateSystem
Установим целевую СК в одну из отечественных МСК - Russia-MSK1964
Decap.exe --importWithLicense F:\00_Scans\Test Test_8 --controlFile F:\00_Scans\Test\PathToFiles.txt --currentCoordinateSystem UTM84-36N --targetCoordinateSystem Russia-MSK1964
Вид запроса выше - в качестве имен СК мы указываем наименование их "Кода"
При этом что-то СК не получается назначить чертежу при этом .. видимо всё-таки функционал с местными СК сыроват (но вот с официальными, имеющими код EPSG все работает отлично)
4. Заключение
В данной статье мы рассмотрели консольную утилиту decap.exe, входящую в состав программы Autodesk ReCap - с ей помощью можно обрабатывать сканы (кроме регистрации) в фоновом режиме с настраиваемыми параметрами (плотность точек, перепроецирование в нужную систему координат) для набора исходных файлов. При этом (как я заметил), не происходит нагрузки на ЦП, что характерно при классическом импорте данных.
Теперь я могу оставлять процессы формирования проектов RCP на ночь и не тратить дневное время на их создание :D
#autodesk #recap #autodesk recap #decap #point cloud #rcp #adn #civil 3d #console app #облака точек