{
  "date": "2026-10-03",
  "reviewed_website_commit": "2463dcdcaa3d729535017496161267b6b77d7349",
  "geometry_revision": "v6_soft_edges_D",
  "verdict": "requires_manufacturing_corrections_before_batch",
  "batch_cut_authorized_by_review": false,
  "production_geometry_modified": false,
  "tools": [
    {
      "scope": "mini",
      "name": "DJTOL N2LX3.1.05",
      "url": "https://olmitool.ru/products/freza-n2lx3105",
      "family_url": "https://olmitool.ru/catalog/spiralnye-dvuhzahodnye",
      "diameter_mm": 1,
      "cutting_length_mm": 5,
      "shank_mm": 3.175,
      "length_mm": 38,
      "flutes": 2,
      "chip_direction": "up",
      "price_rub_observed": 260,
      "stock_observed": "В наличии",
      "source_file": "sources/mini_cutter.html",
      "choice_status": "candidate_for_controlled_coupon_not_unconditional_batch_approval",
      "note": "Геометрически подходит; серия заявлена продавцом для фанеры. Фреза Ø1 с режущей длиной 5 мм чувствительна к биению, выходу стружки и подъёму тонкой заготовки. Нужна точная цанга 3,175 мм. Ø1×3 не принимается как автоматическая замена для сквозного прохода 3 мм с выходом в подложку."
    },
    {
      "scope": "full",
      "name": "OLMI OL190.0632.06",
      "url": "https://olmitool.ru/products/freza-kompressionnaya-632660-z11-ol190063206",
      "family_url": "https://olmitool.ru/catalog/kompressionnye-odnozahodnye-olmitool",
      "diameter_mm": 6,
      "cutting_length_mm": 32,
      "shank_mm": 6,
      "length_mm": 60,
      "flutes_label": "Z1+1, компрессионная однозаходная",
      "chip_direction": "compression",
      "price_rub_observed": 2150,
      "stock_observed": "В наличии",
      "source_file": "sources/full_cutter.html",
      "choice_status": "candidate_pending_upcut_land_and_machine_capability",
      "note": "Рабочая длина 32 мм достаточна для номинальных 24 мм с выходом в подложку. Высота нижней восходящей части в карточке не дана. Для чистой верхней кромки первый проход должен погрузить нисходящую часть ниже верхней пласти; возможность такого прохода подтверждают на станке. Z1+1 не следует автоматически считать двумя одновременно работающими зубьями на каждой высоте."
    }
  ],
  "findings": [
    {
      "id": "O01",
      "priority": "before_batch",
      "title": "Одинаковый контур ещё не задаёт одинаковое направление шпона",
      "fact": "У накладок grain_axis=null. Раскладка разрешает поворот 90°, и внутри одного типа встречаются два взаимно перпендикулярных направления наружного шпона.",
      "action": "Назначить направление наружного шпона для каждого шаблона P01…P11; одинаковые экземпляры раскладывать с поворотами 0/180°. Пересчитать раскрой и его стоимость. Если два направления нужны конструктивно, явно разделить типы и учесть их в расчёте.",
      "acceptance": "В ведомости каждого типа есть ось шпона, на карте листа — стрелка; один тип не смешивает 0/90°."
    },
    {
      "id": "O02",
      "priority": "before_batch",
      "title": "Внутренний обвод оставляет свободный отход",
      "fact": "В каждой модели 1744 внутренних контура. После сквозного обвода часть материала внутри отверстия остаётся отдельной сердцевиной, способной попасть под фрезу.",
      "action": "В CAM задать полную карманную выборку внутренних окон и отверстий с чистовой обработкой стенки; либо отдельно спроектировать и проверить удержание каждого внутреннего отхода. При простом раскрое одним инструментом предпочтительна выборка.",
      "acceptance": "Симуляция CAM показывает удаление всей внутренней области без свободных сердцевин, затем наружный контур."
    },
    {
      "id": "O03",
      "priority": "before_batch",
      "title": "Удержание деталей ещё не спроектировано",
      "fact": "В текущем пакете нет координат прижимов, карты технологических перемычек, рассчитанного остаточного слоя или подтверждённого крепления всех маленьких деталей. Зазор между деталями этого не заменяет.",
      "action": "Для мини испытать фиксацию по площади к ровной жертвенной подложке с подходящим клеевым носителем. Для большого раскроя — согласовать прижимы/вакуум и удержание каждой детали. CAM-перемычки ставить на нестыковочных наружных участках; проверять, что соседний проход их не срежет. Длинные рёбра поддерживать по длине.",
      "acceptance": "На всех листах после каждого этапа удерживаются и деталь, и окружающая сетка отхода; прижимы исключены из траекторий фрезы и цанги."
    },
    {
      "id": "O04",
      "priority": "before_batch",
      "title": "Посадка зависит от фактического листа и окраски",
      "fact": "Пазы построены от номинальных 3/24 мм с полной прибавкой 0,2/0,3 мм. Номинальная толщина на ценнике не гарантирует реальный размер. Покрытие уменьшает свободный зазор.",
      "action": "Измерить толщину партии в нескольких точках; выбрать и записать минимальную достаточную посадку на её пробнике. При изменении толщины менять параметр модели и весь комплект, а не масштабировать DXF и не подгонять отверстия напильником. Повторить сборку пробника с выбранным покрытием.",
      "acceptance": "Реальные детали входят от руки без ударов и стягивания болтами; измерены зазор, выкрашивание и геометрия обоих зубьев."
    },
    {
      "id": "O05",
      "priority": "before_batch",
      "title": "Фреза, вход и режим ещё требуют привязки к станку",
      "fact": "Подтверждены геометрические размеры двух фрез. Модель станка, цанга, биение, допустимая подача, вылет, высота прижимов и постпроцессор неизвестны.",
      "action": "Проверить установленный инструмент, назначить вход по спирали/наклонной траектории в свободной области, глубины проходов, подачу и SafeZ. Для компрессионной Ø6 уточнить высоту нижней восходящей части. Сначала выполнить пробный рез и сухой прогон УП.",
      "acceptance": "Есть CAM-проект и УП для конкретного контроллера, симуляция с державкой/прижимами, журнал режимов и успешный пробный узел."
    },
    {
      "id": "O06",
      "priority": "before_batch",
      "title": "Избыточная детализация полилиний требует проверки импорта",
      "fact": "Дуги записаны как множество прямых сегментов с десятью знаками после запятой. Это математическая точность экспорта, а не разумный производственный допуск.",
      "action": "Проверить импорт именно в установленном ArtCAM и размер получившейся УП. При необходимости упростить исходные шаблоны или аппроксимировать дугами с явным допуском и повторить проверки одинаковости, перемычек, посадок и раскроя. Не сглаживать каждый экземпляр отдельно и не округлять координаты вслепую.",
      "acceptance": "Контроллер обрабатывает траекторию без провалов подачи; максимальное отклонение оптимизированного контура от исходного измерено и согласовано."
    },
    {
      "id": "O07",
      "priority": "coupon",
      "title": "Мини имеет тонкие производственные перемычки",
      "fact": "Минимальная оставшаяся фанерная перемычка около 1 мм. Доступность фрезы не доказывает отсутствие сколов, пустот внутренних слоёв или отрыва шпона.",
      "action": "Первыми вырезать реальные P01/P02/P03/P06/P09 и рёбра B01/B03 из той же партии. Оценить обе пласти, зубья, расслоение, снятие с подложки и обычную сборку. Короткий пробник TAB не воспроизводит удержание длинного ребра. Не принимать обещание, что зазор автоматически устраняет любой ворс.",
      "acceptance": "Все критические перемычки целы после снятия и сборки. Если нет — изменить технологию/материал либо геометрию и повторно проверить; всю партию не резать."
    },
    {
      "id": "O08",
      "priority": "quotation",
      "title": "Длина контура не равна времени станка",
      "fact": "84,0 м мини и 637,7 м full — суммы номинальных периметров для однократного обхода. Многопроходность, выборка окон, разгоны, входы и перестановка листов в них не входят.",
      "action": "Получить время из реальной CAM-программы и стоимость именно фрезеровки, включая подготовку, пробники, инструмент, крепление и снятие деталей.",
      "acceptance": "Мастер считает машинное время по согласованной технологии, а не умножает цену одного прохода на геометрический периметр."
    }
  ]
}
