Repository navigation
RU docs point cloud processing
Команда process_point_cloud работает с сохранённым body_id облака точек, связанным с исходным файлом. Она доступна через Command System, Agent API и обнаруживаемую схему MCP. Передайте текущее expected_revision; оболочка MCP сама управляет блокировкой. Инструменты доступны только ИИ-агенту. Дерево браузера показывает лишь реально выполненные операции с параметрами и результатами, а не каталог или панель неиспользованных инструментов.
| Метод | parameters |
Поведение |
|---|---|---|
deduplicate |
{} |
Удаляет совпадающие тройки XYZ, сохраняет порядок первого появления. |
radius_filter |
{radius, min_neighbors} |
Сохраняет точки, у которых в радиусе есть по крайней мере заданное число других точек. |
crop |
{min: [x,y,z], max: [x,y,z]} |
Сохраняет точки внутри включённых границ параллелепипеда, выровненного по осям. |
voxel_downsample |
{voxel_size} |
Заменяет точки каждого занятого вокселя, сетка которого выровнена по мировому началу координат, центроидом XYZ. |
isolation_filter |
{rate: 15} |
Удаляет необычно разреженные точки, у которых расстояние до ближайшего соседа больше 1.5 медианного расстояния облака; доля удалённых ограничена rate процентами. rate должен быть в диапазоне (0,50]. |
remove_overlaps |
{distance: 0.56, radius: 2, tangential_distance: 0.1} (значения по умолчанию; допускается любое подмножество параметров) |
Оставляет первого представителя и удаляет последующие образцы, у которых абсолютное расстояние по нормали поверхности меньше distance, а касательное расстояние не больше tangential_distance. |
smooth |
{strength: 10, iterations: 10, radius: 1} (значения по умолчанию; допускается любое подмножество параметров) |
Во время каждого синхронного прохода сдвигает поддерживаемую точку к аппроксимированной локальной плоскости вдоль нормали на strength процентов. strength в (0,100], число итераций — целое от 1 до 100. Число точек не меняется. |
isolation_filter ищет ближайших соседей точной пространственной сеткой и использует указанный rate как верхнюю границу доли удаляемых точек. Удаляются только точки, чьё расстояние до ближайшего соседа превышает 1.5 медианного расстояния облака. Действует лимит в 20 миллионов сравнений кандидатов.
Два инструмента поверхности используют окрестности заданного радиуса и локальную плоскость PCA, рассчитанную по 48 ближайшим образцам. Требуется не менее шести образцов и двумерная окрестность. Коллинеарные области и участки, у которых наименьшее собственное значение ковариации превышает четверть среднего собственного значения, остаются без изменений. Радиус должен быть положительным; радиус удаления наложений должен превышать оба допуска расстояния. Все расстояния выражены в координатах исходника, их значение в миллиметрах не подтверждено. Нормаль не совпадает с глобальной Z.
Удаление наложений сохраняет исходные координаты XYZ и порядок точек, оставляя одного представителя в каждой группе совпадающих образцов; целая опорная поверхность не удаляется. Касательный допуск ограничивает истончение по касательной. Без меток кадров невозможно различать намеренно расположенные рядом слои и избыточные слои скана — проверьте результат до применения. Сглаживание сдвигает точки, не создавая сетку и не объединяя несвязанные компоненты; мелкие детали могут исчезнуть. Обе операции имеют общий предел в 20 миллионов сравнений соседей на все проходы. При исчерпании бюджета новый этап модели не сохраняется.
Предварительный результат можно проверить без записи инструментом MCP cadyx_analyze_point_cloud или маршрутом:
POST /api/v1/agent/projects/{id}/validations/cloud-processing
Тело запроса: {expected_revision, body_id, method, parameters}. Поддерживаемые методы анализа: isolation_filter, remove_overlaps и smooth. Ответ включает нормализованные параметры, исходный файл и его хеш, число входных, выходных, удалённых и сдвинутых точек и ревизию. Анализ не создаёт артефакт, не меняет геометрию или историю и не увеличивает ревизию документа.
Чтобы применить результат, отдельно вызовите process_point_cloud с тем же методом, параметрами и текущим expected_revision. Отчёт анализа не является токеном для фиксации: изменение хеша источника или устаревшая ревизия будут отклонены. В дерево модели попадают только применённые операции — с их параметрами, количеством точек, исходными и результирующими файлами и ссылкой на предыдущий этап. Панель обработки и палитра неиспользованных инструментов пользователю не показываются.
Обычные расстояния используют исходные координаты; физический масштаб и единицы не подтверждены. Обработка не строит сетку и не удостоверяет точность скана. Принимается максимум 2 млн входных точек, на выходе должно остаться хотя бы три. Фильтр радиуса ограничен 20 млн сравнений кандидатов. Ошибочная фильтрация не изменяет сохранённый документ.
Каждая команда читает полный PLY предыдущего этапа, проверяет SHA-256 и добавляет элемент process_point_cloud к тому же телу. В элементе фиксируются метод, параметры, предыдущий этап, хеши исходного и результирующего файлов, входное/выходное число точек и границы результата. Полные XYZ сохраняются в отдельных PLY только с точками; исходник и промежуточные файлы остаются. Исходные свойства, например нормали и цвет, в сгенерированный XYZ PLY не попадают.
В документе хранится не более 125000 точек для отображения, независимо от полного артефакта. Дерево показывает каждый сохранённый этап и число точек; при выборе отображаются параметры и происхождение файла. В окне модели показывается текущий результат.
История добавляется только вперёд: параметры прежних операций доступны для чтения и не редактируются. Для нового результата добавьте операцию. Изменения исходного файла отклоняются, а не обрабатываются автоматически как новые данные.