作者:李路 —— GE Vernova 机加工开发工程师,新加坡
在 CNC 加工这一行做了十多年——从机床前的加工员和调机员做起,后来做技术主管,现在在先进制造与维修技术中心做机加工开发——我发现自己在机床边每天仍然要做同样几个快速参数核算:这个直径该转多少转?这把刀该进多少?这个材料去除率对这种材料合理吗?
手册和各种 App 当然都有。但我想要一个透明的工具:每个数字都来自一条写清楚的公式,有单元测试覆盖,任何人都能核查计算过程。于是我做了一个网页版 CNC 加工参数计算器——免费、无需注册、无广告——并把源代码开源在 GitHub 上。
这篇文章讲清楚它背后的六个计算,每个都配算例。
1. 主轴转速
机加工车间使用频率最高的公式:
n = (1000 × Vc) / (π × D)
n= 主轴转速(RPM)Vc= 切削速度(m/min)D= 刀具或工件直径(mm)
算例: 用 Ø12 mm 硬质合金立铣刀,Vc 取 180 m/min:
n = (1000 × 180) / (π × 12) ≈ 4,775 RPM
2. 进给速度
F = fz × z × n
F= 进给速度(mm/min)fz= 每齿进给量(mm/齿)z= 齿数n= 主轴转速(RPM)
算例: 接上例,fz = 0.08 mm/齿,4 刃铣刀:
F = 0.08 × 4 × 4,775 ≈ 1,528 mm/min
3. 每齿进给量
同一个关系式变形——当你知道机床实际进给、想反查切屑负荷是否合理时特别有用:
fz = F / (z × n)
4 刃铣刀在 1,528 mm/min、4,775 RPM 下,fz ≈ 0.08 mm/齿。如果刚性好的工况下算出来远低于这个值,那你不是在切削,是在摩擦。
4. 切削速度
接手一段参数未知的程序时,反算 Vc 能立刻告诉你这段程序写得多"激进":
Vc = (π × D × n) / 1000
5. 材料去除率(MRR)
MRR = ae × ap × F
ae= 切削宽度(mm)ap= 切削深度(mm)
算例: ae = 6 mm,ap = 2 mm,F = 1,528 mm/min:
MRR = 6 × 2 × 1,528 ≈ 18,336 mm³/min
对比两个工艺方案时,MRR 是我最常用的指标——它把"感觉更快"变成可以比较的数字。
6. 钻孔参数
钻孔的转速同样用 Vc/D 关系式(D 取钻头直径),进给由每转进给量得出:
n = (1000 × Vc) / (π × D)
F = fr × n
算例: Ø10 mm 高速钢钻头加工钢件,Vc ≈ 30 m/min,fr = 0.2 mm/转:
n ≈ 955 RPM,F ≈ 191 mm/min
软件实现
"会写代码的工程师"这个组合在制造行业是真有用的,这也是这个工具超越电子表格的地方:
- 模块化 Python 3.12 —— 上面每条公式都是一个独立的小函数(
spindle_speed.py、feed_rate.py、mrr.py……),可单独复用 - pytest 单元测试 —— 计算精度和输入校验全部有自动化测试覆盖
- GitHub Actions 持续集成 —— 每次推送到
main自动跑测试,公式改错了不可能悄悄上线 - GitHub Pages 自动部署 —— 独立工作流发布网页界面,线上工具永远和被测试过的代码一致
- 纯 HTML/CSS/JavaScript 前端 —— 没有框架依赖,在车间平板上也是秒开
我按我希望工程工具应有的方式设计它:计算层可审计、有测试、与界面分离。
重要:这些只是参考值
每个机加工的人都清楚,公式只是起点。实际参数必须考虑:
- 工件材料与硬度
- 刀具材质、几何角度与涂层
- 机床能力与刚性
- 装夹条件与刀具悬伸
- 冷却与排屑
- 刀具厂商自己的推荐区间
计算器给你数学上正确的数字;工艺判断永远是你自己的。
使用入口
- 🌐 在线工具:lilu1626.github.io/cnc-machini…
- 💻 源代码:github.com/lilu1626/cn…
下一步计划:车削专用计算、单位换算、每个计算器的独立重置按钮、更宽的测试覆盖。
关于作者
我是 GE Vernova 新加坡先进制造与维修技术中心(AMRT)的机加工开发工程师,拥有 10 年以上经验,覆盖 CNC 加工、加工工艺开发与验证、CNC 机床集成、夹具设计与维修技术——职业路径从 CNC 加工员做到技术主管,再到开发工程师。
我感兴趣的交叉点是制造工程与软件:用代码把工程知识变得透明、可复用。
- 📄 个人主页 / 简历:lilu1626.github.io/mywebsite_L…
- 🔗 LinkedIn:www.linkedin.com/in/lu-li-29…
- 💻 GitHub:github.com/LiLu1626
欢迎反馈和贡献——特别是来自其他机加工同行的,你们想覆盖哪些计算?