简介:面向数控编程初学者与模具加工从业者的Mastercam 9.1实操素材,聚焦电插座面板型腔的刀路设计与加工流程演示。内容围绕挖槽粗加工与等高外形精加工两条主线展开,可帮助读者理解如何通过刀具路径、深度与步距参数设置快速去除余量,并借助等高轮廓切削控制陡峭面与孔洞边缘的表面质量,适合作为CAM入门练习与工艺思路参考。压缩包共3个文件,含1个avi操作录屏、1个html播放说明与1个txt使用说明,合计约6.91MB,体积轻便,便于随时调取对照学习。目前已有521人学习下载。观看录屏可直观看到模型导入、刀路创建与参数配置的完整过程,配合说明文件可快速定位播放方式与操作要点,为后续扩展到曲面加工、螺旋铣削等策略打下基础。
1. Mastercam 9.1 到底是哪一代的产物:为什么车间里还留着一台装它的机器
有些老车间还保留着一台只能运行 Mastercam 9.1 的主机。原因不是不愿升级,而是这台机器上装着十几套已经调好的刀路模板和后处理。Mastercam 9.1 属于 V9 系列后期维护版本,界面是纯 Win32 菜单,刀路引擎和 MP 后处理与后来的 X 系列是两套体系:它依赖 NCI 中间文件驱动,参数页少、响应快,2D 铣削、挖槽、钻孔这类活几分钟就能出程序。
它解决的是“老机床 + 老后处理 + 熟手”的稳定产出问题,而不是做复杂五轴曲面。适合三类人:接手老设备、要改后处理输出格式的一线编程员;需要复现旧程序、搞清楚 NCI 与 NC 对应关系的工艺员;以及想搞清刀路底层逻辑、不想把 CAM 当黑匣子用的新人。后面按装得上、出得来、改得动、查得清四步推进。
2. 在 Win10 上把 Mastercam 9.1 装到能出刀路:兼容性与配置的四步落地
老版本装在新系统上,真正卡住进度的往往不是功能,而是启动就黑屏、对话框按钮跑到屏幕外、保存配置时提示无权限。这几件事都指向同一个根因:程序按 Win32 时代的路径、注册表和 OpenGL 接口编写,而现代系统默认的权限、缩放和图形管线都已经变过。先按下面四步固定住运行环境,后面的参数和后处理才有意义。
2.1 安装顺序与补丁:先主程序再打补丁的原因
常见做法是把主程序装到根目录下的短路径,例如D:\MCAM9,路径里不要有中文、空格和括号。老安装包对长路径和 Unicode 目录名的处理很差,装到C:\Program Files (x86)\...下,后期调用刀具库和后处理时容易找不到文件。装完主程序再打维护补丁,最后才导入机床定义和后处理文件;顺序反了会出现主程序版本号与补丁不一致,后处理加载时直接报错退出。
补丁必须在主程序之后,是因为它采用增量替换方式,替换的是mill9.exe、若干 DLL 和资源文件,并且要向注册表写入版本键。如果先打补丁再装主程序,安装程序会把补丁覆盖的文件重新写回旧版本,结果是界面显示已更新、实际运行的是旧模块,后处理里新加的变量不生效,排查起来非常费时间。
装完之后,先不要急着新建文件,右键主程序 exe,在“属性 → 兼容性”里做三件事:勾选以兼容模式运行并选一个较早的系统版本,勾选以管理员身份运行,勾选替代高 DPI 缩放行为并选择“应用程序”。管理员权限是为了让程序能正常写HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node下的配置键和安装目录下的.cfg;高 DPI 选择“应用程序”,是为了让老界面按自己的像素逻辑绘制,不被系统强行拉伸。
下面这段批处理用来在改任何配置之前先做一次冷备份,避免调参调崩了没有回退手段:
@echo off REM 在 D 盘建立配置快照目录,按日期分文件夹,避免覆盖上一次的备份 set SRC=D:\MCAM9 set BAK=D:\MCAM9_BAK\%date:~0,4%%date:~5,2%%date:~8,2% if not exist "%BAK%" mkdir "%BAK%" REM 只备份会被人为修改、且改坏后难恢复的四类文件 copy "%SRC%\*.cfg" "%BAK%\" >nul copy "%SRC%\*.dft" "%BAK%\" >nul copy "%SRC%\*.pst" "%BAK%\" >nul copy "%SRC%\*.tl9" "%BAK%\" >nul echo Backup done: %BAK% pause逻辑说明:脚本按“年月日”建目录,同一天多次运行会合并进同一个文件夹,适合一天内反复调参。copy后面接>nul是为了不刷屏,只留最后一行提示。参数说明:SRC改成实际安装目录;如果刀具库放在子目录(例如\mill\tools),要把*.tl9那一行的路径一起改掉,否则备份里没有刀库,重装后所有刀具直径都得重填。备份完先跑一次空刀路验证程序能正常保存,再开始调参数。
2.2 显卡与显示:老 OpenGL 接口在现代驱动上的翻车点
典型现象是:程序能启动,但一打开三维视图就黑屏,或者旋转视角时线条拖影、曲面破面。原因在于这个版本用的是 OpenGL 固定管线绘图,而现代显卡驱动把大量兼容入口移到了可选组件里,默认不给老程序走硬件加速。解决顺序是先软后硬:先在系统“屏幕配置”里把硬件加速关掉,让程序退回 GDI 软件绘制;能稳定显示了,再回头考虑开硬件加速换性能。
软件渲染的代价是转视角卡,但对 2D 铣削和钻孔来说完全够用,因为真正吃显卡的是曲面着色和实体旋转,不是刀路计算。如果一定要开硬件加速,就在显卡控制面板里给这个 exe 单独建一条程序配置:关闭线程优化、电源管理模式设为最高性能优先、垂直同步关掉。这三项里最容易忽略的是线程优化,它会让老程序的单线程绘图指令被拆到多个队列,表现出来就是随机花屏。
分辨率也是常见问题。这套界面按 1024×768 设计,在 2K 屏上把系统缩放设为 150%,对话框底部的“确定”“取消”会跑到屏幕外,只能用键盘回车硬确认。处理办法是把系统缩放降到 125% 以下,或者按 2.1 的做法在兼容性里把 DPI 缩放行为改成“应用程序”,让程序自己按 96 DPI 绘制,界面会变小但按钮齐全。
2.3 机床定义与默认参数文件:.cfg、.dft、.pst 三者的分工
很多人装完之后发现“每新建一条刀路都要重新填一遍转速进给”,问题往往出在默认参数文件没有保存,而不是软件坏了。这几类文件的职责边界要分清,改错对象等于白改:
| 文件类型 | 典型后缀 | 管什么 | 改错的后果 |
|---|---|---|---|
| 系统配置文件 | .cfg | 屏幕颜色、自动存档间隔、单位、文件路径 | 界面异常、找不到后处理 |
| 默认参数文件 | .dft | 新建刀路时的初始转速、进给、深度、补偿方式 | 每次新建都要重填,效率极低 |
| 机床定义 | .mmd9 | 机床轴行程、主轴转速范围、换刀方式 | 后处理取不到机床信息,输出异常 |
| 后处理 | .pst | G 代码的最终形态 | 机床报警、程序跑飞 |
| 刀具库 | .tl9 | 刀具直径、刀尖圆角、刀号 | 刀路按错的直径计算,直接过切 |
正确的做法是先在一份典型零件上把外形、挖槽、钻孔的参数都调到可用,然后在操作管理里选择“保存到默认参数”,把当前刀具页、深度页、进给页的值写回.dft。这样下次新建同类刀路,转速进给和高度参数都是现成的,只需要改深度和轮廓。.dft改坏了不要紧,从 2.1 的备份目录拷回来即可,所以备份脚本里必须包含它。
.mmd9一般不动,只有在后处理需要读取主轴最高转速做限速、或者需要按机床行程做超程检查时才碰。改机床定义之前,务必确认后处理里引用的机床信息字段名,两者对不上时后处理不会报错,而是静默输出 0,这种问题最难查。
2.4 字体与语言:菜单乱码、对话框按钮错位的修法
如果界面出现方块字或问号,先确认系统的非 Unicode 程序语言设置是否与程序语言一致;不一致时,菜单文本会按错误的代码页解码。实在调不顺,直接用英文界面更省事——这套版本的英文菜单术语和后来的版本基本对应,熟手看两遍就记住了,比在乱码里猜按钮可靠。
后处理输出的中文注释是另一个坑。.pst里写的中文字符串会被按当前代码页写出,机床端读到的是乱码,严重时整行被当成非法字符报警。稳妥做法是后处理里的注释一律用英文或拼音,中文说明写在工艺卡上,不进 NC 文件。
3. 一个零件的完整刀路链:从 2D 外形到钻孔的参数怎么填
装好之后真正要解决的是“参数填多少”。这一章按一个典型板类零件走一遍:外形轮廓、内腔挖槽、四个安装孔。材质按常见的 45 钢,刀具按 φ10 硬质合金立铣刀、φ8 钻头举例。下面的数值是起点,不是标准答案,机床刚性、刀具品牌、装夹方式都会改变结果,但参数的填写逻辑是通用的。
3.1 建立工件坐标系与毛坯:G54 从哪里来
这个版本里没有“G54”这个概念,刀路只认刀具平面(T)和构图面(C)。最终输出哪个坐标系,由后处理决定。所以编程时的第一件事是把刀具平面设为俯视,构图面也设为俯视,两者不一致时,外形铣削会按侧视图计算深度,出来的刀路在三维视图里看着正常、实际 Z 值全错。
毛坯在工件设定里填:X、Y 填板材长宽,Z 填板厚加余量。原点位置建议放在工件上表面中心或左下角,并和后处理里输出的坐标系、机床操作工的对刀习惯保持一致。车间里最常见的扯皮就是编程按中心对刀、操作工按左下角对刀,程序一跑直接偏半个板长。定下来之后写进工艺卡,不要靠记忆。
换刀点和下刀点也要在这里考虑。安全高度用绝对坐标,例如 Z50;参考高度用增量,例如 Z10;下刀高度用增量,例如 Z2。三者的关系是:抬刀先回到参考高度,快速移动到下一处,再下到进给高度开始切削。如果把参考高度也写成绝对坐标,换刀后第一次抬刀可能直接撞上夹具,这类事故在老版本上格外多,因为它不会替你检查干涉。
3.2 外形铣削的三个关键页:刀具、补偿、进给
外形铣削的参数分三页,改错任何一页都白干。刀具页管直径和刀号,补偿页管 G41/G42 输出方式,深度页管 Z 向分层。补偿方式有三种:软件补偿(Computer)由程序自己算偏移轨迹,输出的程序里没有 G41/G42;控制器补偿(Controller)输出 G41/G42,由机床按刀补表偏移;关闭(Off)则按刀具中心线走,只适合做刻线。
要输出 G41/G42,就必须在补偿页里指定左补偿或右补偿,并给一个刀补号(D 值)。左补偿和右补偿对应顺铣与逆铣,选反了的直接后果是工件尺寸差一个刀具半径——不是差一点,是差整整 5 mm。判断方法很简单:沿切削方向看,刀具在工件左侧就是左补偿。
深度页的五个高度值建议按下面这组填,逻辑清楚且不容易出错:
| 参数 | 建议值 | 类型 | 说明 |
|---|---|---|---|
| 安全高度 | 50 | 绝对 | 换刀、程序头尾的抬刀位置,要高于夹具 |
| 参考高度 | 10 | 增量 | 层间抬刀位置,高于毛坯顶面即可 |
| 下刀高度 | 2 | 增量 | 从快速转进给的切换点 |
| 毛坯顶面 | 0 | 增量 | 相对编程原点,毛坯有余量时填实际值 |
| 最终深度 | -20 | 绝对 | 按图纸,注意绝对与增量的区别 |
分层切削里把最大粗切深度设为 2 mm,φ10 立铣刀在 45 钢上满刃下刀 2 mm 是偏保守但稳定的值,机床刚性差就降到 1.5。进给率给 800 mm/min,下刀进给给 200 mm/min,抬刀给 2000 mm/min。这几个数字的意义在于:下刀是垂直切入,切削条件最差,必须单独降速;抬刀不切削,可以拉满省时间。很多人只改进给率不改下刀进给,结果刀具在垂直下扎那一下崩刃。
转角设置也影响寿命。尖角处如果走圆弧过渡,刀具不会在角点急停换向,表面质量和刀具寿命都好;但内外轮廓的转角规则不同,外轮廓圆角要留出刀具半径,内轮廓则要考虑清角。保守做法是外轮廓用圆弧、内轮廓用尖角加小圆角,先跑一件看接刀痕再调。
3.3 挖槽与面铣:步距、下刀方式、岛屿避让
挖槽的核心是排屑。封闭型腔如果垂直下刀,刀具相当于在中心钻一个孔,排屑极差,几毫米深就会烧刀。常见做法是选螺旋下刀或斜插下刀:螺旋适合圆形或宽大的型腔,斜插适合窄长槽。螺旋下刀的半径要小于型腔最窄处的一半减去刀具半径,否则刀具会切到侧壁。
步距一般取刀具直径的 60% 到 75%。φ10 刀取 6 到 7 mm,太小效率低,太大会在两次走刀之间留下未切净的残料,精修时刀具要啃一大块,容易振刀。精修余量留 0.2 到 0.3 mm,精修次数给 1 次,精修进给比粗加工略低。
面铣用往复走刀比单向走刀省时间,但要给出足够的超出量,让刀具完全切出工件边缘,否则边缘会留一圈毛刺。重叠量给刀具直径的 60% 到 70%,和挖槽步距的逻辑一致。岛屿避让在参数里勾选“包含岛屿”,程序会自动绕开,但要注意岛屿轮廓的余量要和侧壁余量一致,否则精修时侧壁和岛屿的尺寸会对不上。
3.4 钻孔循环:G81 与 G83 的选用和 R 值
钻孔的关键不在转速,在循环选择和孔深与直径的比值。孔深小于 3 倍直径,用 G81 定点钻;3 到 5 倍直径,用 G73 断屑或 G83 啄钻;超过 5 倍直径,必须 G83 并控制每次啄钻深度为直径的 1 到 1.5 倍。φ8 钻头打 20 mm 深孔,属于 2.5 倍直径,G81 也能干,但排屑不畅时容易断钻,用 G83 每 10 mm 退一次更稳。
R 值(参考高度)的选取直接影响空行程和安全性。R 值设在工件顶面以上 2 到 3 mm 即可,设太高每次钻孔都要多走一段空行程,一百个孔就是几十秒;设太低则钻头快速定位时可能撞上工件表面的凸起。安全高度和 R 值不是一个东西:安全高度管孔与孔之间的抬刀,R 值管孔内从快速转进给的切换点。
钻孔点的选择顺序也影响效率。手动点选会按点击顺序排,结果刀具在板上来回横跳。用排序功能按 X 或 Y 方向排一次,空行程能省掉一半。孔位多的时候这一步的时间收益比调转速明显得多。
4. 后处理改造:把 G54、M08 和圆弧格式改到机床上真能跑
刀路算得再漂亮,最终还是要靠后处理翻译成机床认识的 G 代码。这个版本用的是 MP 语言写的文本后处理,可以直接用记事本打开改,改完重新后处理就生效,不需要编译。也正因为门槛低,改坏的概率高,动它之前先把.pst和同名的.txt一起备份,这是唯一可靠的后悔药。
4.1 pst 文件结构与 post block 的执行顺序
后处理由一系列以p开头的块组成,每个块负责一段输出,e$表示换行,n$是行号变量,变量前加*表示强制输出、不走模态判断。整个文件的执行顺序大致是:参数读取、程序头、第一把刀的起始段、每把刀的换刀段、每个刀路的运动段、程序尾。搞清这个顺序,才知道想改的内容该塞进哪个块。
| 块名 | 触发时机 | 常改内容 |
|---|---|---|
pheader$ | 文件开头 | 程序号、注释、%标记 |
psof$ | 第一把刀起始 | 坐标系、G43、主轴启动、冷却液 |
ptlchg$ | 每次换刀 | 重复坐标系、G43、刀具号 |
ptlchg0$ | 不换刀的同刀路切换 | 抬刀、坐标系重复输出 |
peof$ | 程序结尾 | M09、M05、回零、M30 |
改后处理的核心判断是“这段输出属于哪一类”。坐标系和长度补偿属于换刀段,冷却液属于起始段和结束段,进给率属于运动段。塞错位置的表现是程序能生成、机床也能跑,但动作顺序不对,比如冷却液在换刀前就开了。
4.2 改坐标系输出:从默认偏移到固定 G54
有些老后处理默认输出 G92 或者根本不输出坐标系,换到新机床上跑,第一把刀就不知道自己在哪。改法是找到起始段和换刀段,在抬刀之后、下刀之前插入一行固定输出。下面是最小改动示例,只动两处:
psof$ # 第一把刀起始段 pbld, n$, sgcode, sgplane, sgabsinc, e$ # 原有的 G0 G17 G90 pbld, n$, "G54", e$ # 新增:固定输出 G54 pbld, n$, *sgcode, *sgabsinc, e$ ptlchg$ # 换刀段 pbld, n$, "G54", e$ # 新增:换刀后重新指定坐标系 pbld, n$, *sgcode, *sgabsinc, e$逻辑说明:pbld是输出一个块但不自动带行号,n$是行号变量,e$结束当前行。sgcode是 G0/G1 的模态字,sgplane是 G17/G18/G19,sgabsinc是 G90/G91。参数说明:"G54"是字符串常量,直接输出;如果机床用 G55 到 G59,把字符串换成对应值即可。换刀段也要加一行,是因为部分系统在换刀后会清掉坐标系状态,只在程序头输出一次,第二把刀可能回到机床零点坐标。
改完之后重新后处理,打开 NC 文件确认两件事:G54 是否出现在每个换刀段之后;程序头里 G54 和 G43 的先后顺序是否正确。G43 必须在 G54 之后,否则长度补偿会加在错误的坐标系上。
4.3 冷却液与换刀段:M08 位置不对会发生什么
冷却液由scoolant变量控制,输出 M08 开、M09 关。常见错误是把开冷却液的调用放在换刀指令之前,结果是机械手还在换刀,冷却液已经喷出来,轻则淋一机床,重则溅到刀柄锥面上影响夹持精度。正确的顺序是:换刀完成、主轴启动、下刀到进给高度之前开冷却液。
改法是检查起始段和换刀段里控制冷却液的那个调用位置,把它挪到主轴启动之后。同时确认程序尾是否有单独的 M09,有些后处理只在 M30 前输出 M05,冷却液靠 M30 顺带停掉,换个系统就可能一直开着。
顺带提一个和换刀相关的细节:刀号输出分“刀号”和“刀补号”两个变量,有的后处理只改刀号不改刀补号,程序里T05 M06后面跟着G43 H01,机床用 1 号刀补去加工 5 号刀,深度直接错掉。改后处理时这两处必须一起看。
4.4 圆弧输出 R 还是 IJK:精度与控制器兼容的取舍
圆弧输出由后处理里的圆弧输出模式变量控制,常见三种取值:绝对 IJK、增量 IJK、R。IJK 输出圆心相对起点的矢量,信息完整、精度稳定,缺点是程序长;R 输出半径,程序短、可读性好,缺点是跨象限的大圆弧在很多系统上会报警,因为一个 R 值对应两段圆弧,系统不知道走哪一段。
判断方法是看机床手册对圆弧指令的限制。老系统对 IJK 的支持普遍好于 R,尤其是圆弧接近半圆时。如果一定要用 R,就在后处理里把圆弧打断成不超过 90 度的小段,牺牲程序长度换兼容性。曲面精加工出来的圆弧动辄上千段,这时候程序体积会明显变大,传输和存储都要考虑。
改完这一项必须用一段包含完整圆、半圆、跨象限圆弧的测试件跑一遍仿真,光看 NC 文本看不出问题,只有仿真里圆弧方向反了才暴露。
5. 六个高频翻车现场:从仿真过切到程序头丢失的排查清单
调试阶段出的问题,八成集中在下面这几类。每一条都按现象、原因、解决的顺序写,照着对号入座比自己从头猜快得多。
现象一:仿真里刀具把工件切掉一大块,实际尺寸没错。原因多半是毛坯没设或设小了,仿真按默认毛坯显示,刀具走在空处也像在切;另一类是深度用了增量而毛坯顶面又填了值,两者叠加导致实际切深翻倍。解决方法是先确认工件设定里的毛坯尺寸和原点偏移,再把所有深度参数统一成绝对坐标,只保留参考高度和下刀高度用增量。
现象二:机床报警“圆弧半径公差超差”,程序在仿真里完全正常。原因是后处理输出了 R 型圆弧,而某段圆弧接近半圆或跨了象限,系统解算出两个可能的圆心。解决办法是改用 IJK 输出,或者在后处理里把圆弧打断成小段。这条属于典型的“仿真看不出来、上机才炸”,所以圆弧格式改完必须上机床空跑一遍。
现象三:工件尺寸整体小了整整一个刀具半径,或者大了同样多。原因是补偿方向选反,左补偿写成了右补偿,或者后处理输出的 G41 与程序里的走刀方向不匹配。排查时不要改程序,先看刀路参数里的补偿方向,再看切削方向是顺铣还是逆铣,两者必须对应。顺手检查刀补号是否和机床刀补表里的 D 值一致。
现象四:换刀后没有冷却液,或者冷却液一直开着不停。前者是后处理里开冷却液的调用被放在了某个只在第一把刀执行的块里,换刀后不再输出;后者是程序尾缺 M09。改法是在换刀段里补调用,在程序尾补 M09,改完用两把刀以上的程序验证。
现象五:NC 文件传到机床,系统提示“无程序号”或直接不识别。原因是程序头缺%标记或缺少O开头的程序号,有些系统还要求%单独占一行、前后不能有空格。这类问题在电脑上完全看不出来,因为文本编辑器不会提示格式错误。养成习惯:每次后处理完,用文本编辑器看前三行和后三行。
现象六:改完刀路重新后处理,生成的 NC 还是旧的。原因是只保存了图形文件,没有重新计算刀路,NCI 中间文件还是上一版。这个版本不会主动提示你“刀路已过期”,操作管理里的校验标记也容易被忽略。血泪经验是:任何几何改动之后,先全选刀路重新计算,再后处理,最后对比 NC 文件的修改时间。这一步多花十秒,能省掉一次撞刀。
6. 交付前的最后一道自检:用脚本扫一遍 NC 里不该出现的东西
人工看 NC 文件只能看前几十行,几百行的程序靠肉眼扫不现实。我一般的习惯是后处理完先跑一个几十行的脚本,把几个致命项过一遍:有没有坐标系、有没有 F0、G41 和 G42 是否成对、结尾有没有 M30。这不替代仿真,但能拦住那些“仿真正常、上机就撞”的低级错误。
import re from collections import Counter def scan_nc(path): with open(path, encoding="utf-8", errors="ignore") as f: lines = [ln.strip() for ln in f if ln.strip()] text = "\n".join(lines) report = {} # 1. 程序头尾:必须有 % 包裹,且含 O 号与 M30 report["has_percent"] = lines[0].startswith("%") and lines[-1].startswith("%") report["has_progno"] = bool(re.search(r"^O\d+", text, re.M)) report["has_m30"] = "M30" in text # 2. 坐标系:统计 G54~G59 出现次数,0 次说明后处理没输出 cs = re.findall(r"G5[4-9]", text) report["work_offset"] = dict(Counter(cs)) # 3. 进给:F0 或缺失 F 都是致命项 report["zero_feed"] = len(re.findall(r"F0*(?:\s|$)", text)) # 4. 刀补配对:G41/G42 数量应等于 G40 数量 report["g41"] = text.count("G41") report["g42"] = text.count("G42") report["g40"] = text.count("G40") # 5. 刀具调用:每把刀的 T 号与 H 号应一致 pairs = re.findall(r"T(\d+).*?H(\d+)", text, re.S) report["t_h_mismatch"] = [p for p in pairs if p[0].lstrip("0") != p[1].lstrip("0")] return report if __name__ == "__main__": r = scan_nc("PART01.NC") for k, v in r.items(): print(f"{k}: {v}")逻辑说明:脚本按行读入后拼成整串做正则匹配,避免跨行指令被漏掉。前四项是硬性检查,任何一项不通过都不能上机;第五项是软检查,T 号和 H 号不一致在老后处理里非常常见,脚本只报出来不阻断,由人判断是刀补表映射还是真的写错了。参数说明:encoding用utf-8加errors="ignore"是为了兼容不同代码页写出的注释行,注释乱码不影响指令匹配;PART01.NC换成实际文件名;如果车间习惯用子程序,M30那项要改成M99判断。
跑完看结果,重点不是数字好不好看,而是和预期是否一致。比如这个零件只用了 G54,结果里出现 G55,那说明后处理里有多余的坐标系输出,得回去查换刀段。再比如 G41 有 3 个、G40 只有 2 个,说明有一段刀补没取消,下一把刀会带着偏移下刀。
我踩过最贵的一次坑,是改完后处理只验证了第一把刀,第二把刀因为坐标系没重复输出,直接跑到机床零点附近扎了下去。从那以后我的习惯固定成三条:改后处理必先备份,后处理完必扫一遍脚本,上机前必空跑第一件。这三条花不了几分钟,但能挡住绝大多数不可逆的损失。希望帮到你。
本文还有配套的精品资源,点击获取