{
 "_说明": "模板 S/F/ap/ae 的单一数值来源（P10-07A/B）。模板只引用本文件，不另存数值。全部数值由 rule_engine 从现有参数库算出，无编造。",
 "_generated_at": "2026-10-20 13:37:51",
 "_derived_from": [
  "data/std/parameters.json",
  "data/std/materials.json",
  "data/std/tools.json",
  "data/std/tapping_speed.json",
  "data/rules/ai_programming_rules_v2.json"
 ],
 "_engine": "data/rules/rule_engine.py :: CuttingRuleEngine.recommend_raw()",
 "_formula": "rpm=1000*Vc/(π*D)；铣刀 F=rpm*z*fz；钻 F=rpm*fz；丝锥 F=rpm*螺距；ap=ap_pct*D（精加工按 RL-009 收 0.1~0.3mm）；ae=ae_pct*D",
 "representative_materials": {
  "P": "45钢",
  "M": "304不锈钢",
  "K": "HT250灰铸铁",
  "N": "6061铝合金",
  "S": "TC4钛合金",
  "H": "SKD11淬硬钢"
 },
 "templates": {
  "TPL_FACE": {
   "name_cn": "面铣（平面）",
   "op_key": "face",
   "tool_name": "D12",
   "sf_operation": "finishing",
   "stock_mm": 0.0,
   "status": "params_only",
   "per_class": {
    "P": {
     "rpm": 3448.4,
     "feed_mm_min": 517.3,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 130.0,
     "fz_mm_per_tooth": 0.05,
     "mrr_mm3_per_min": 149.0,
     "coolant": "Flood",
     "source": "SpeedFeedTable(钢件-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=12.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=100.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "M": {
     "rpm": 2785.2,
     "feed_mm_min": 334.2,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 105.0,
     "fz_mm_per_tooth": 0.04,
     "mrr_mm3_per_min": 96.3,
     "coolant": "Flood",
     "source": "SpeedFeedTable(不锈钢-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=9.600mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=80.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "K": {
     "rpm": 3713.6,
     "feed_mm_min": 668.5,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 140.0,
     "fz_mm_per_tooth": 0.06,
     "mrr_mm3_per_min": 192.5,
     "coolant": "Mist",
     "source": "SpeedFeedTable(铸铁-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=12.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=100.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "N": {
     "rpm": 2493.4,
     "feed_mm_min": 149.6,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 94.0,
     "fz_mm_per_tooth": 0.02,
     "mrr_mm3_per_min": 43.1,
     "coolant": "Mist",
     "source": "SpeedFeedTable(铝合金-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=12.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=100.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "S": {
     "rpm": 1591.5,
     "feed_mm_min": 119.4,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 60.0,
     "fz_mm_per_tooth": 0.025,
     "mrr_mm3_per_min": 34.4,
     "coolant": "Flood",
     "source": "SpeedFeedTable(钛合金-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=6.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=50.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "H": {
     "rpm": 1856.8,
     "feed_mm_min": 139.3,
     "ap_mm": 0.3,
     "ae_mm": 0.72,
     "vc_m_min": 70.0,
     "fz_mm_per_tooth": 0.025,
     "mrr_mm3_per_min": 30.1,
     "coolant": "Air",
     "source": "SpeedFeedTable(淬火钢-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=6.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=50.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    }
   },
   "dia_mm": 12.0,
   "teeth": 3,
   "tool_type": "end_mill_flat"
  },
  "TPL_SIDE": {
   "name_cn": "侧面轮廓铣（侧壁）",
   "op_key": "side",
   "tool_name": "D12",
   "sf_operation": "finishing",
   "stock_mm": 0.0,
   "status": "params_only",
   "per_class": {
    "P": {
     "rpm": 3448.4,
     "feed_mm_min": 517.3,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 130.0,
     "fz_mm_per_tooth": 0.05,
     "mrr_mm3_per_min": 149.0,
     "coolant": "Flood",
     "source": "SpeedFeedTable(钢件-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=12.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=100.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "M": {
     "rpm": 2785.2,
     "feed_mm_min": 334.2,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 105.0,
     "fz_mm_per_tooth": 0.04,
     "mrr_mm3_per_min": 96.3,
     "coolant": "Flood",
     "source": "SpeedFeedTable(不锈钢-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=9.600mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=80.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "K": {
     "rpm": 3713.6,
     "feed_mm_min": 668.5,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 140.0,
     "fz_mm_per_tooth": 0.06,
     "mrr_mm3_per_min": 192.5,
     "coolant": "Mist",
     "source": "SpeedFeedTable(铸铁-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=12.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=100.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "N": {
     "rpm": 2493.4,
     "feed_mm_min": 149.6,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 94.0,
     "fz_mm_per_tooth": 0.02,
     "mrr_mm3_per_min": 43.1,
     "coolant": "Mist",
     "source": "SpeedFeedTable(铝合金-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=12.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=100.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "S": {
     "rpm": 1591.5,
     "feed_mm_min": 119.4,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 60.0,
     "fz_mm_per_tooth": 0.025,
     "mrr_mm3_per_min": 34.4,
     "coolant": "Flood",
     "source": "SpeedFeedTable(钛合金-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=6.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=50.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "H": {
     "rpm": 1856.8,
     "feed_mm_min": 139.3,
     "ap_mm": 0.3,
     "ae_mm": 0.72,
     "vc_m_min": 70.0,
     "fz_mm_per_tooth": 0.025,
     "mrr_mm3_per_min": 30.1,
     "coolant": "Air",
     "source": "SpeedFeedTable(淬火钢-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=6.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=50.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    }
   },
   "dia_mm": 12.0,
   "teeth": 3,
   "tool_type": "end_mill_flat"
  },
  "TPL_POCKET_R": {
   "name_cn": "腔体粗加工（留 0.2）",
   "op_key": "surface",
   "tool_name": "D12",
   "sf_operation": "roughing",
   "stock_mm": 0.2,
   "status": "verified",
   "per_class": {
    "P": {
     "rpm": 2387.3,
     "feed_mm_min": 644.6,
     "ap_mm": 4.8,
     "ae_mm": 4.8,
     "vc_m_min": 90.0,
     "fz_mm_per_tooth": 0.09,
     "mrr_mm3_per_min": 14851.1,
     "coolant": "Flood",
     "source": "SpeedFeedTable(钢件-粗铣-平底刀)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "M": {
     "rpm": 1856.8,
     "feed_mm_min": 445.6,
     "ap_mm": 4.2,
     "ae_mm": 3.6,
     "vc_m_min": 70.0,
     "fz_mm_per_tooth": 0.08,
     "mrr_mm3_per_min": 6738.0,
     "coolant": "Flood",
     "source": "SpeedFeedTable(不锈钢-粗铣-平底刀)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "K": {
     "rpm": 2520.0,
     "feed_mm_min": 831.6,
     "ap_mm": 4.8,
     "ae_mm": 4.8,
     "vc_m_min": 95.0,
     "fz_mm_per_tooth": 0.11,
     "mrr_mm3_per_min": 19159.7,
     "coolant": "Mist",
     "source": "SpeedFeedTable(铸铁-粗铣-平底刀)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "N": {
     "rpm": 6366.2,
     "feed_mm_min": 2291.8,
     "ap_mm": 4.8,
     "ae_mm": 5.4,
     "vc_m_min": 240.0,
     "fz_mm_per_tooth": 0.12,
     "mrr_mm3_per_min": 59404.3,
     "coolant": "Mist",
     "source": "SpeedFeedTable(铝合金-粗铣-平底刀)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "S": {
     "rpm": 1061.0,
     "feed_mm_min": 159.2,
     "ap_mm": 3.6,
     "ae_mm": 3.0,
     "vc_m_min": 40.0,
     "fz_mm_per_tooth": 0.05,
     "mrr_mm3_per_min": 1718.9,
     "coolant": "Flood",
     "source": "SpeedFeedTable(钛合金-粗铣-平底刀)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "H": {
     "rpm": 1193.7,
     "feed_mm_min": 161.1,
     "ap_mm": 3.6,
     "ae_mm": 2.4,
     "vc_m_min": 45.0,
     "fz_mm_per_tooth": 0.045,
     "mrr_mm3_per_min": 1392.3,
     "coolant": "Air",
     "source": "SpeedFeedTable(淬火钢-粗铣-平底刀)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    }
   },
   "dia_mm": 12.0,
   "teeth": 3,
   "tool_type": "end_mill_flat"
  },
  "TPL_POCKET_S": {
   "name_cn": "腔体半精（留 0.05）",
   "op_key": "surface",
   "tool_name": "D12",
   "sf_operation": "semi",
   "stock_mm": 0.05,
   "status": "verified",
   "per_class": {
    "P": {
     "rpm": 2917.85,
     "feed_mm_min": 580.95,
     "ap_mm": 2.55,
     "ae_mm": 2.88,
     "vc_m_min": 110.0,
     "fz_mm_per_tooth": 0.07,
     "mrr_mm3_per_min": 7500.1,
     "coolant": "Flood",
     "source": "插值(粗+精)/2 —— 无半精档位，取粗精中点并标注（P10-05 约定）",
     "violations": []
    },
    "M": {
     "rpm": 2321.0,
     "feed_mm_min": 389.9,
     "ap_mm": 2.25,
     "ae_mm": 2.28,
     "vc_m_min": 87.5,
     "fz_mm_per_tooth": 0.06,
     "mrr_mm3_per_min": 3417.2,
     "coolant": "Flood",
     "source": "插值(粗+精)/2 —— 无半精档位，取粗精中点并标注（P10-05 约定）",
     "violations": []
    },
    "K": {
     "rpm": 3116.8,
     "feed_mm_min": 750.05,
     "ap_mm": 2.55,
     "ae_mm": 2.88,
     "vc_m_min": 117.5,
     "fz_mm_per_tooth": 0.085,
     "mrr_mm3_per_min": 9676.1,
     "coolant": "Mist",
     "source": "插值(粗+精)/2 —— 无半精档位，取粗精中点并标注（P10-05 约定）",
     "violations": []
    },
    "N": {
     "rpm": 4429.8,
     "feed_mm_min": 1220.7,
     "ap_mm": 2.55,
     "ae_mm": 3.18,
     "vc_m_min": 167.0,
     "fz_mm_per_tooth": 0.07,
     "mrr_mm3_per_min": 29723.7,
     "coolant": "Mist",
     "source": "插值(粗+精)/2 —— 无半精档位，取粗精中点并标注（P10-05 约定）",
     "violations": []
    },
    "S": {
     "rpm": 1326.25,
     "feed_mm_min": 139.3,
     "ap_mm": 1.95,
     "ae_mm": 1.98,
     "vc_m_min": 50.0,
     "fz_mm_per_tooth": 0.0375,
     "mrr_mm3_per_min": 876.7,
     "coolant": "Flood",
     "source": "插值(粗+精)/2 —— 无半精档位，取粗精中点并标注（P10-05 约定）",
     "violations": []
    },
    "H": {
     "rpm": 1525.25,
     "feed_mm_min": 150.2,
     "ap_mm": 1.95,
     "ae_mm": 1.56,
     "vc_m_min": 57.5,
     "fz_mm_per_tooth": 0.035,
     "mrr_mm3_per_min": 711.2,
     "coolant": "Air",
     "source": "插值(粗+精)/2 —— 无半精档位，取粗精中点并标注（P10-05 约定）",
     "violations": []
    }
   },
   "dia_mm": 12.0,
   "teeth": 3,
   "tool_type": "end_mill_flat"
  },
  "TPL_POCKET_F": {
   "name_cn": "腔体精加工（余量 0）",
   "op_key": "surface",
   "tool_name": "D12",
   "sf_operation": "finishing",
   "stock_mm": 0.0,
   "status": "verified",
   "per_class": {
    "P": {
     "rpm": 3448.4,
     "feed_mm_min": 517.3,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 130.0,
     "fz_mm_per_tooth": 0.05,
     "mrr_mm3_per_min": 149.0,
     "coolant": "Flood",
     "source": "SpeedFeedTable(钢件-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=12.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=100.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "M": {
     "rpm": 2785.2,
     "feed_mm_min": 334.2,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 105.0,
     "fz_mm_per_tooth": 0.04,
     "mrr_mm3_per_min": 96.3,
     "coolant": "Flood",
     "source": "SpeedFeedTable(不锈钢-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=9.600mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=80.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "K": {
     "rpm": 3713.6,
     "feed_mm_min": 668.5,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 140.0,
     "fz_mm_per_tooth": 0.06,
     "mrr_mm3_per_min": 192.5,
     "coolant": "Mist",
     "source": "SpeedFeedTable(铸铁-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=12.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=100.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "N": {
     "rpm": 2493.4,
     "feed_mm_min": 149.6,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 94.0,
     "fz_mm_per_tooth": 0.02,
     "mrr_mm3_per_min": 43.1,
     "coolant": "Mist",
     "source": "SpeedFeedTable(铝合金-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=12.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=100.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "S": {
     "rpm": 1591.5,
     "feed_mm_min": 119.4,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 60.0,
     "fz_mm_per_tooth": 0.025,
     "mrr_mm3_per_min": 34.4,
     "coolant": "Flood",
     "source": "SpeedFeedTable(钛合金-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=6.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=50.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "H": {
     "rpm": 1856.8,
     "feed_mm_min": 139.3,
     "ap_mm": 0.3,
     "ae_mm": 0.72,
     "vc_m_min": 70.0,
     "fz_mm_per_tooth": 0.025,
     "mrr_mm3_per_min": 30.1,
     "coolant": "Air",
     "source": "SpeedFeedTable(淬火钢-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=6.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=50.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    }
   },
   "dia_mm": 12.0,
   "teeth": 3,
   "tool_type": "end_mill_flat"
  },
  "TPL_ZLEVEL": {
   "name_cn": "深度轮廓铣（陡峭侧壁分层）",
   "op_key": "zlevel",
   "tool_name": "D12",
   "sf_operation": "finishing",
   "stock_mm": 0.0,
   "status": "verified",
   "per_class": {
    "P": {
     "rpm": 3448.4,
     "feed_mm_min": 517.3,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 130.0,
     "fz_mm_per_tooth": 0.05,
     "mrr_mm3_per_min": 149.0,
     "coolant": "Flood",
     "source": "SpeedFeedTable(钢件-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=12.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=100.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "M": {
     "rpm": 2785.2,
     "feed_mm_min": 334.2,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 105.0,
     "fz_mm_per_tooth": 0.04,
     "mrr_mm3_per_min": 96.3,
     "coolant": "Flood",
     "source": "SpeedFeedTable(不锈钢-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=9.600mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=80.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "K": {
     "rpm": 3713.6,
     "feed_mm_min": 668.5,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 140.0,
     "fz_mm_per_tooth": 0.06,
     "mrr_mm3_per_min": 192.5,
     "coolant": "Mist",
     "source": "SpeedFeedTable(铸铁-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=12.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=100.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "N": {
     "rpm": 2493.4,
     "feed_mm_min": 149.6,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 94.0,
     "fz_mm_per_tooth": 0.02,
     "mrr_mm3_per_min": 43.1,
     "coolant": "Mist",
     "source": "SpeedFeedTable(铝合金-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=12.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=100.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "S": {
     "rpm": 1591.5,
     "feed_mm_min": 119.4,
     "ap_mm": 0.3,
     "ae_mm": 0.96,
     "vc_m_min": 60.0,
     "fz_mm_per_tooth": 0.025,
     "mrr_mm3_per_min": 34.4,
     "coolant": "Flood",
     "source": "SpeedFeedTable(钛合金-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=6.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=50.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "H": {
     "rpm": 1856.8,
     "feed_mm_min": 139.3,
     "ap_mm": 0.3,
     "ae_mm": 0.72,
     "vc_m_min": 70.0,
     "fz_mm_per_tooth": 0.025,
     "mrr_mm3_per_min": 30.1,
     "coolant": "Air",
     "source": "SpeedFeedTable(淬火钢-精铣-平底刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=6.000mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=50.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.17D（刃长 50mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    }
   },
   "dia_mm": 12.0,
   "teeth": 3,
   "tool_type": "end_mill_flat"
  },
  "TPL_DRILL": {
   "name_cn": "钻孔",
   "op_key": "drill",
   "tool_name": "E8",
   "sf_operation": "drilling",
   "stock_mm": 0.0,
   "status": "verified",
   "per_class": {
    "P": {
     "rpm": 2984.2,
     "feed_mm_min": 238.7,
     "ap_mm": 4.0,
     "ae_mm": 0.0,
     "vc_m_min": 75.0,
     "fz_mm_per_tooth": 0.08,
     "mrr_mm3_per_min": 0.0,
     "coolant": "ThroughSpindle",
     "source": "SpeedFeedTable(钢件-钻孔)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 7.50D（刃长 60mm）超过参考线 6D。注：这是刀具刃长规格比，不是装夹悬伸，不构成刚性告警，参数不因此降低；如需刚性评估请补录装夹悬伸 overhang_mm。"
      }
     ]
    },
    "M": {
     "rpm": 2387.3,
     "feed_mm_min": 143.2,
     "ap_mm": 3.2,
     "ae_mm": 0.0,
     "vc_m_min": 60.0,
     "fz_mm_per_tooth": 0.06,
     "mrr_mm3_per_min": 0.0,
     "coolant": "ThroughSpindle",
     "source": "SpeedFeedTable(不锈钢-钻孔)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 7.50D（刃长 60mm）超过参考线 6D。注：这是刀具刃长规格比，不是装夹悬伸，不构成刚性告警，参数不因此降低；如需刚性评估请补录装夹悬伸 overhang_mm。"
      }
     ]
    },
    "K": {
     "rpm": 3183.1,
     "feed_mm_min": 318.3,
     "ap_mm": 4.0,
     "ae_mm": 0.0,
     "vc_m_min": 80.0,
     "fz_mm_per_tooth": 0.1,
     "mrr_mm3_per_min": 0.0,
     "coolant": "Flood",
     "source": "SpeedFeedTable(铸铁-钻孔)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 7.50D（刃长 60mm）超过参考线 6D。注：这是刀具刃长规格比，不是装夹悬伸，不构成刚性告警，参数不因此降低；如需刚性评估请补录装夹悬伸 overhang_mm。"
      }
     ]
    },
    "N": {
     "rpm": 2546.5,
     "feed_mm_min": 247.0,
     "ap_mm": 3.2,
     "ae_mm": 1.6,
     "vc_m_min": 64.0,
     "fz_mm_per_tooth": 0.097,
     "mrr_mm3_per_min": 1264.7,
     "coolant": "Flood",
     "source": "SpeedFeedTable(drilling-按直径档-7.5001~15.5mm)",
     "violations": [
      {
       "rule": "RL-006",
       "level": "warning",
       "message": "Ae=3.20mm > clamp(0.2D)=1.60mm，截断"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 7.50D（刃长 60mm）超过参考线 6D。注：这是刀具刃长规格比，不是装夹悬伸，不构成刚性告警，参数不因此降低；如需刚性评估请补录装夹悬伸 overhang_mm。"
      }
     ]
    },
    "S": {
     "rpm": 1193.7,
     "feed_mm_min": 47.7,
     "ap_mm": 2.4,
     "ae_mm": 0.0,
     "vc_m_min": 30.0,
     "fz_mm_per_tooth": 0.04,
     "mrr_mm3_per_min": 0.0,
     "coolant": "ThroughSpindle",
     "source": "SpeedFeedTable(钛合金-钻孔)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 7.50D（刃长 60mm）超过参考线 6D。注：这是刀具刃长规格比，不是装夹悬伸，不构成刚性告警，参数不因此降低；如需刚性评估请补录装夹悬伸 overhang_mm。"
      }
     ]
    },
    "H": {
     "rpm": 1392.6,
     "feed_mm_min": 41.8,
     "ap_mm": 2.4,
     "ae_mm": 0.0,
     "vc_m_min": 35.0,
     "fz_mm_per_tooth": 0.03,
     "mrr_mm3_per_min": 0.0,
     "coolant": "ThroughSpindle",
     "source": "SpeedFeedTable(淬火钢-钻孔)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 7.50D（刃长 60mm）超过参考线 6D。注：这是刀具刃长规格比，不是装夹悬伸，不构成刚性告警，参数不因此降低；如需刚性评估请补录装夹悬伸 overhang_mm。"
      }
     ]
    }
   },
   "dia_mm": 8.0,
   "teeth": 2,
   "tool_type": "drill"
  },
  "TPL_TAP": {
   "name_cn": "攻牙（按刀具名解析规格）",
   "op_key": "tap",
   "tool_name": "M8",
   "sf_operation": "tapping",
   "stock_mm": 0.0,
   "status": "verified",
   "per_class": {
    "P": {
     "rpm": 318.3,
     "feed_mm_min": 397.9,
     "ap_mm": 4.0,
     "ae_mm": 0.0,
     "vc_m_min": 8.0,
     "fz_mm_per_tooth": 1.25,
     "mrr_mm3_per_min": 0.0,
     "coolant": "Flood",
     "source": "SpeedFeedTable(钢件-攻螺纹)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.38D（刃长 35mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "M": {
     "rpm": 238.7,
     "feed_mm_min": 298.4,
     "ap_mm": 4.0,
     "ae_mm": 0.0,
     "vc_m_min": 6.0,
     "fz_mm_per_tooth": 1.25,
     "mrr_mm3_per_min": 0.0,
     "coolant": "Flood",
     "source": "SpeedFeedTable(不锈钢-攻螺纹)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.38D（刃长 35mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "K": {
     "rpm": 318.3,
     "feed_mm_min": 397.9,
     "ap_mm": 4.0,
     "ae_mm": 0.0,
     "vc_m_min": 8.0,
     "fz_mm_per_tooth": 1.25,
     "mrr_mm3_per_min": 0.0,
     "coolant": "Mist",
     "source": "SpeedFeedTable(铸铁-攻螺纹)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.38D（刃长 35mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "N": {
     "rpm": 497.4,
     "feed_mm_min": 621.7,
     "ap_mm": 4.0,
     "ae_mm": 0.0,
     "vc_m_min": 12.5,
     "fz_mm_per_tooth": 1.25,
     "mrr_mm3_per_min": 0.0,
     "coolant": "Flood",
     "source": "TappingSpeed(N, 用户提供（车间经验值 2026-10-18，M8 约 500 转/分）)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.38D（刃长 35mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "S": {
     "unavailable": "该材料组无可用预设/出处（RL-004 拒绝回落）",
     "violations": [
      {
       "rule": "RL-004",
       "level": "error",
       "message": "钻/攻丝 preset 未命中（material=S, tool=tap），禁止回落 MaterialLibrary"
      }
     ]
    },
    "H": {
     "unavailable": "该材料组无可用预设/出处（RL-004 拒绝回落）",
     "violations": [
      {
       "rule": "RL-004",
       "level": "error",
       "message": "钻/攻丝 preset 未命中（material=H, tool=tap），禁止回落 MaterialLibrary"
      }
     ]
    }
   },
   "dia_mm": 8.0,
   "teeth": 0,
   "tool_type": "tap"
  },
  "TPL_HOLEMILL": {
   "name_cn": "铣孔（螺旋）",
   "op_key": "hole",
   "tool_name": "D8",
   "sf_operation": "roughing",
   "stock_mm": 0.0,
   "status": "verified",
   "per_class": {
    "P": {
     "rpm": 3581.0,
     "feed_mm_min": 966.9,
     "ap_mm": 3.2,
     "ae_mm": 3.2,
     "vc_m_min": 90.0,
     "fz_mm_per_tooth": 0.09,
     "mrr_mm3_per_min": 9900.7,
     "coolant": "Flood",
     "source": "SpeedFeedTable(钢件-粗铣-平底刀)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 5.00D（刃长 40mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "M": {
     "rpm": 2785.2,
     "feed_mm_min": 668.5,
     "ap_mm": 2.8,
     "ae_mm": 2.4,
     "vc_m_min": 70.0,
     "fz_mm_per_tooth": 0.08,
     "mrr_mm3_per_min": 4492.0,
     "coolant": "Flood",
     "source": "SpeedFeedTable(不锈钢-粗铣-平底刀)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 5.00D（刃长 40mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "K": {
     "rpm": 3779.9,
     "feed_mm_min": 1247.4,
     "ap_mm": 3.2,
     "ae_mm": 3.2,
     "vc_m_min": 95.0,
     "fz_mm_per_tooth": 0.11,
     "mrr_mm3_per_min": 12773.1,
     "coolant": "Mist",
     "source": "SpeedFeedTable(铸铁-粗铣-平底刀)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 5.00D（刃长 40mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "N": {
     "rpm": 9549.3,
     "feed_mm_min": 3437.7,
     "ap_mm": 3.2,
     "ae_mm": 3.6,
     "vc_m_min": 240.0,
     "fz_mm_per_tooth": 0.12,
     "mrr_mm3_per_min": 39602.8,
     "coolant": "Mist",
     "source": "SpeedFeedTable(铝合金-粗铣-平底刀)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 5.00D（刃长 40mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "S": {
     "rpm": 1591.5,
     "feed_mm_min": 238.7,
     "ap_mm": 2.4,
     "ae_mm": 2.0,
     "vc_m_min": 40.0,
     "fz_mm_per_tooth": 0.05,
     "mrr_mm3_per_min": 1145.9,
     "coolant": "Flood",
     "source": "SpeedFeedTable(钛合金-粗铣-平底刀)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 5.00D（刃长 40mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "H": {
     "rpm": 1790.5,
     "feed_mm_min": 241.7,
     "ap_mm": 2.4,
     "ae_mm": 1.6,
     "vc_m_min": 45.0,
     "fz_mm_per_tooth": 0.045,
     "mrr_mm3_per_min": 928.2,
     "coolant": "Air",
     "source": "SpeedFeedTable(淬火钢-粗铣-平底刀)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 5.00D（刃长 40mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    }
   },
   "dia_mm": 8.0,
   "teeth": 3,
   "tool_type": "end_mill_flat"
  },
  "TPL_THREAD": {
   "name_cn": "铣螺纹",
   "op_key": "thread",
   "tool_name": "D16R0.4",
   "sf_operation": "finishing",
   "stock_mm": 0.0,
   "status": "blocked",
   "per_class": {
    "P": {
     "rpm": 2586.3,
     "feed_mm_min": 517.3,
     "ap_mm": 0.1,
     "ae_mm": 0.013,
     "vc_m_min": 130.0,
     "fz_mm_per_tooth": 0.05,
     "mrr_mm3_per_min": 0.7,
     "coolant": "Flood",
     "source": "MaterialLibrary fallback (45钢)",
     "violations": [
      {
       "rule": "RL-001",
       "level": "info",
       "message": "SpeedFeedTable 未命中，回落 MaterialLibrary（唯一 fallback）"
      },
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=0.016mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=0.1%），已 clamp 到 0.100mm"
      }
     ]
    },
    "M": {
     "rpm": 2387.3,
     "feed_mm_min": 382.0,
     "ap_mm": 0.1,
     "ae_mm": 0.013,
     "vc_m_min": 120.0,
     "fz_mm_per_tooth": 0.04,
     "mrr_mm3_per_min": 0.5,
     "coolant": "Flood",
     "source": "MaterialLibrary fallback (304不锈钢)",
     "violations": [
      {
       "rule": "RL-001",
       "level": "info",
       "message": "SpeedFeedTable 未命中，回落 MaterialLibrary（唯一 fallback）"
      },
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=0.016mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=0.1%），已 clamp 到 0.100mm"
      }
     ]
    },
    "K": {
     "rpm": 2785.2,
     "feed_mm_min": 668.5,
     "ap_mm": 0.1,
     "ae_mm": 0.013,
     "vc_m_min": 140.0,
     "fz_mm_per_tooth": 0.06,
     "mrr_mm3_per_min": 0.9,
     "coolant": "Flood",
     "source": "MaterialLibrary fallback (HT250灰铸铁)",
     "violations": [
      {
       "rule": "RL-001",
       "level": "info",
       "message": "SpeedFeedTable 未命中，回落 MaterialLibrary（唯一 fallback）"
      },
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=0.016mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=0.1%），已 clamp 到 0.100mm"
      }
     ]
    },
    "N": {
     "rpm": 7559.9,
     "feed_mm_min": 2419.2,
     "ap_mm": 0.1,
     "ae_mm": 0.013,
     "vc_m_min": 380.0,
     "fz_mm_per_tooth": 0.08,
     "mrr_mm3_per_min": 3.1,
     "coolant": "Flood",
     "source": "MaterialLibrary fallback (6061铝合金)",
     "violations": [
      {
       "rule": "RL-001",
       "level": "info",
       "message": "SpeedFeedTable 未命中，回落 MaterialLibrary（唯一 fallback）"
      },
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=0.016mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=0.1%），已 clamp 到 0.100mm"
      }
     ]
    },
    "S": {
     "rpm": 1193.7,
     "feed_mm_min": 119.4,
     "ap_mm": 0.1,
     "ae_mm": 0.013,
     "vc_m_min": 60.0,
     "fz_mm_per_tooth": 0.025,
     "mrr_mm3_per_min": 0.2,
     "coolant": "Flood",
     "source": "MaterialLibrary fallback (TC4钛合金)",
     "violations": [
      {
       "rule": "RL-001",
       "level": "info",
       "message": "SpeedFeedTable 未命中，回落 MaterialLibrary（唯一 fallback）"
      },
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=0.016mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=0.1%），已 clamp 到 0.100mm"
      }
     ]
    },
    "H": {
     "rpm": 1392.6,
     "feed_mm_min": 139.3,
     "ap_mm": 0.1,
     "ae_mm": 0.013,
     "vc_m_min": 70.0,
     "fz_mm_per_tooth": 0.025,
     "mrr_mm3_per_min": 0.2,
     "coolant": "Flood",
     "source": "MaterialLibrary fallback (SKD11淬硬钢)",
     "violations": [
      {
       "rule": "RL-001",
       "level": "info",
       "message": "SpeedFeedTable 未命中，回落 MaterialLibrary（唯一 fallback）"
      },
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=0.016mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=0.1%），已 clamp 到 0.100mm"
      }
     ]
    }
   },
   "dia_mm": 16.0,
   "teeth": 4,
   "tool_type": "end_mill_bullnose"
  },
  "TPL_SURFACE": {
   "name_cn": "曲面（区域铣削）",
   "op_key": "surface",
   "tool_name": "R5",
   "sf_operation": "finishing",
   "stock_mm": 0.0,
   "status": "verified",
   "per_class": {
    "P": {
     "rpm": 4774.6,
     "feed_mm_min": 334.2,
     "ap_mm": 0.3,
     "ae_mm": 0.4,
     "vc_m_min": 150.0,
     "fz_mm_per_tooth": 0.035,
     "mrr_mm3_per_min": 40.1,
     "coolant": "Flood",
     "source": "SpeedFeedTable(钢件-精铣-球刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=0.400mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=4.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.50D（刃长 45mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "M": {
     "rpm": 3501.4,
     "feed_mm_min": 175.1,
     "ap_mm": 0.3,
     "ae_mm": 0.4,
     "vc_m_min": 110.0,
     "fz_mm_per_tooth": 0.025,
     "mrr_mm3_per_min": 21.0,
     "coolant": "Flood",
     "source": "SpeedFeedTable(不锈钢-精铣-球刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=0.400mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=4.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.50D（刃长 45mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "K": {
     "rpm": 4774.6,
     "feed_mm_min": 477.5,
     "ap_mm": 0.3,
     "ae_mm": 0.4,
     "vc_m_min": 150.0,
     "fz_mm_per_tooth": 0.05,
     "mrr_mm3_per_min": 57.3,
     "coolant": "Mist",
     "source": "SpeedFeedTable(铸铁-精铣-球刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=0.400mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=4.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.50D（刃长 45mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "N": {
     "rpm": 14323.9,
     "feed_mm_min": 1432.4,
     "ap_mm": 0.3,
     "ae_mm": 0.4,
     "vc_m_min": 450.0,
     "fz_mm_per_tooth": 0.05,
     "mrr_mm3_per_min": 171.9,
     "coolant": "Mist",
     "source": "SpeedFeedTable(铝合金-精铣-球刀)",
     "violations": [
      {
       "rule": "RL-009",
       "level": "warning",
       "message": "精加工 Ap=0.400mm 超出绝对深度区间 0.1~0.3mm（预设 ap_pct=4.0%），已 clamp 到 0.300mm"
      },
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.50D（刃长 45mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "S": {
     "rpm": 1909.9,
     "feed_mm_min": 68.8,
     "ap_mm": 0.3,
     "ae_mm": 0.4,
     "vc_m_min": 60.0,
     "fz_mm_per_tooth": 0.018,
     "mrr_mm3_per_min": 8.3,
     "coolant": "Flood",
     "source": "SpeedFeedTable(钛合金-精铣-球刀)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.50D（刃长 45mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    },
    "H": {
     "rpm": 2387.3,
     "feed_mm_min": 85.9,
     "ap_mm": 0.3,
     "ae_mm": 0.3,
     "vc_m_min": 75.0,
     "fz_mm_per_tooth": 0.018,
     "mrr_mm3_per_min": 7.7,
     "coolant": "Air",
     "source": "SpeedFeedTable(淬火钢-精铣-球刀)",
     "violations": [
      {
       "rule": "RL-007",
       "level": "info",
       "message": "刃长/刀径 = 4.50D（刃长 45mm）超过参考线 4D，仅作选刀参考；非悬伸/刚性判据，参数不降低。"
      }
     ]
    }
   },
   "dia_mm": 10.0,
   "teeth": 2,
   "tool_type": "end_mill_ball"
  }
 }
}