Repository navigation
RU docs engineering validation
CADYX предоставляет read-only инженерные проверки через Agent API. Каждая использует сохранённую ревизию документа и хеш геометрии; результат при необходимости сохраняется как неизменяемая запись в боковой базе валидаций проекта. Проверка не меняет ревизию модели. Это отдельные измерительные операции. Спецификация модели объединяет выбранные требования; проверка проекта оркестрирует этапы проверки документа, геометрии, спецификации и готовности экспорта. Проверка посадки сборки отдельно оценивает выбранные положения сборки. По умолчанию ни одна из этих операций не сертифицирует производственный процесс.
Маршрут проверки толщины принимает необязательное поле method. Значение по умолчанию — sampled, выполняющее описанную ниже скрининговую проверку. Значение global_minimum запрашивает вместо неё сертификат для выпуклого многогранника:
{
"body_id": "...",
"expected_revision": 12,
"minimum_thickness": 1.5,
"tolerance": 0.05,
"method": "global_minimum",
"persist": false
}Сертифицируемый метод применим к корректному телу из одной оболочки с плоскими гранями и прямолинейными рёбрами. Выпуклость проверяется по ориентированным полупространствам граней. Алгоритм перебирает направления опор, необходимые для вычисления минимальной ширины по калиперу выпуклого многогранника: нормали граней и векторные произведения направлений рёбер. Для каждого направления проверяются все вершины тела.
Результат содержит minimum_global_thickness, minimum_bound, maximum_bound, направление и точки опоры, количество элементов топологии, metric_definition: "minimum_caliper_width" и certified: true. Указанный пользователем порог получает статус pass, только если весь интервал с учётом допуска удовлетворяет порогу; fail — только если весь интервал ниже порога; если интервал пересекает порог, возвращается untested.
Криволинейные, невыпуклые, полые и иные неподдерживаемые B-rep возвращают untested, certified: false и причину. Сертификат относится к глобальной минимальной ширине по калиперу — метрике всей детали для поддерживаемых выпуклых многогранников. Он не удостоверяет локальную толщину произвольных криволинейных или вогнутых тел. Для таких форм остаётся доступна выборочная проверка, не являющаяся сертификатом.
Маршрут POST /api/v1/agent/projects/{id}/validations/thickness принимает:
{
"body_id": "...",
"expected_revision": 12,
"minimum_thickness": 1.5,
"tolerance": 0.05,
"persist": false
}Нужно корректное однотельное тело OCCT B-rep. B-rep триангулируется, после чего из центроида каждого выбранного треугольника и его ориентированной нормали отбрасывается луч внутрь тела. Проверяются оба направления нормали, поэтому измерения остаются возможными и при обращённой ориентации граней.
Бюджет в 10000 лучей распределяется между триангулированными гранями. Если граней не больше 10000, из каждой выбирается как минимум один треугольник; оставшиеся выборки распределяются пропорционально числу ещё не выбранных треугольников каждой грани. Если граней больше бюджета, выборочные грани равномерно разнесены по их списку. Внутри каждой грани треугольники также выбираются равномерно по триангуляции.
Вырожденные треугольники и точки, которые не удаётся определить как внутренние, не создают луч. Поэтому фактический sample_count может оказаться меньше распределённого бюджета. Ответ содержит face_count и sampled_face_count. Второе поле считает грани хотя бы с одной пригодной начальной точкой луча; лучу необязательно найти противоположное пересечение. Ближайшее пересечение внутрь для каждого луча считается выборочной хордой стенки.
Также возвращаются минимум, медиана и 10-й перцентиль с правилом ближайшего ранга среди лучей с пересечением; количество лучей, чья хорда нарушает minimum_thickness с учётом допуска; точки-свидетели минимума; число выборок и попаданий; отклонение сетки; начальное смещение; ревизия; хеш геометрии и единицы модели. Статистика относится только к ограниченной выборке и не доказывает покрытие всей поверхности. Прогресс сообщается как активность агента.
Метод намеренно ограничивает выводы:
-
failозначает, что измеренная хорда корочеminimum_thicknessс учётом допуска. Это свидетельство локально тонкой стенки. -
untestedозначает, что в сделанной выборке нарушений не обнаружено. Это не доказывает соответствие глобальной минимальной толщины стенки.
Метод является скрининговым измерением, а не точным глобальным вычислением минимума. Отклонение триангуляции связано с диагональю габаритного параллелепипеда модели (diagonal / 500), а число лучей ограничено 10000; между выборками можно пропустить узкий участок. Выводятся единицы модели; физические единицы и пригодность производства не выводятся автоматически. Тела только из треугольной сетки не поддерживаются.
Результаты можно сохранять через persist: true и перечислять запросом GET /api/v1/agent/projects/{id}/validations. Записи не меняют ревизию документа.