圆锯机 · 以锯片投影中心为 TCP 的 G 代码生成器 V2(RTCP 逆解 + 图形编辑)

台面 3800 × 2400(X 长 × Y 宽,零点在左下角)· 锯片中心相对 W/Z 回转中心偏心 d=(0, −263) · Z0 = 台面,向下为负(Z = 锯片最低点高度)· +W = 顺时针 正向 P = M + R(θ)·d,逆解 M = P − R(θ)·d。G 代码输出的 X/Y 是回转中心(滑座)坐标。 每条边独立:抬刀 → 定位(含 W 转角)→ 下刀 → 切割 → 抬刀。

几何 / 工艺

1 · 主轴头偏心
「合并优化」会把多条边按 W 相近程度重排,矩形会出现 Z 字轨迹: 先切两条水平边(W 相同),再切两条垂直边 —— 总 W 旋转 ↓、全顺锯片。
2 · 台面
3 · Z 与进给(逐边动作)
Z 基准:Z0 = 工作台面,向上为正、向下为负;Z 值 = 锯片最低点(刀尖)离台面的高度。 切穿工件 → Z 必须走到 负值(低于台面)。
V3.44:这里是总开关,还要在选中图形的属性面板里逐个勾「分层切割」 —— 只有勾了的图形才按「单层切深」分多刀切透(Z 从板顶起每层下切直到「Z 切深」); 没勾的图形永远单刀。切圆 / 切椭圆勾上,普通图形不勾就不再被拖着切多遍。
逐条切透:每条轮廓自己分层 —— 走到终点直接加深 Z、反向走回,来回往返直到切透 (「层间不抬刀往返」勾上时中间不抬刀、不回起点,层间只有一次 Z 下切)。
逐层走全图:每一层把所有轮廓走一遍,再整体加深下一层;层间必须抬刀回起点 (多轮廓一起分层时用)。
⚠ 逆程(反向走)是逆锯片方向,排屑与表面质量会差;若要全程顺锯片, 取消「层间不抬刀往返」——改为每层抬刀回起点、同向切(慢一些,但方向一致)。
⚠ 分层图形的下刀次数 = 该图形轮廓 × 层数,程序行数成倍增长(属正常)。
下刀 / 切削 / 抬刀 / 快移四条进给,与生成的 F 字、本页速度报表统一用这一个单位(默认 mm/s)。 程序头只写 G90 G21 G17(不再写 G94,避免与「F 单位 /s」口径冲突); 若控制器把 F 读作 mm/min,切到 mm/min 即可,物理速度不变。
G00 与 G01 一律带显式 F —— V3.41 起按现场实测口径:G00 同样受 F 约束 (旧版按手册「G00 不读 F」判断已作废),否则空移限速对其无效。
空移时若 W 需转 >90°:按「到下一目标点的 XY 距离」限制空移进给 —— <1m → 50、<2m → 100、≥2m → 200(与「快移进给」同单位)。 防「XY 短距离快移把 W 拖超速」。仅作用于空移,不动切削段。
V3.42(用户口径 2026-10-03:宁停勿超):细长椭圆跨 ρ=|d| 奇异点时,切削段逐段压 F (只压不抬,正常段不受影响)——滑座 ≤ 滑座限速;W ≤ W 限速(ΔW·F/ΔXY 模型,与空移限速同口径); 刀尖 ≤ 滑座限速(刀尖速度 ≈ F·|ΔTCP|/ΔXY,ΔXY 越短越爆)。
滑座方向反转 ≥135°(奇异穿越点)处先插一行 G04 停顿再继续(秒)—— 宁可真停也不要让 W / 刀尖被拖超速,停过之后各段 F 自动放慢。 ⚠ G04 时间单位按秒输出,现场解码器的 G04 单位未验证,上机前先空跑确认。
默认不输出转速给定:程序只给 M101 启动主轴,转速由变频器面板/参数决定, 避免程序把现场调好的转速覆盖掉。
E+ = 加速度、E− = 减速度;勾上后程序头补一行 E50 E-50。 默认不输出(用控制器/驱动器的默认值)。填 0 表示该项不写。
4 · 精度
5 · 进给基准(重要)
控制器若把 W 的度数计入 G01 路径长度,曲线段实际 TCP 速度会变成设定值的数倍。 选「按段折算」时输出 F = F设 × L4/LTCP,保证 TCP 恒速;V3.46 起 F 只压不抬 —— 折算值超过「切削进给」的一律按「切削进给」截断,TCP 实际速度只会更慢不会更快(拐角不追速)。
该当量是导出量、已自动计算:W 每转 1° 锯片中心就相对滑座移动 |d|·π/180 = 4.5902 mm/deg(本机偏心 263)。 旧版默认写死 1 mm/deg 是错的,会把 W 角速度虚高 4.6 倍、报出假超限。

限位校验

行程默认 = 台面尺寸。注意 RTCP 后滑座可跑到 TCP 包络外 263 mm(偏心量), 若机床实际有越程余量,请把 min/max 放宽,否则靠边切割会误报。

一键标定(V3.60 · 14 段 · 机头朝内 · 锯片朝外)

四角 L 标线 + 四边中心向中心的连线 + 台面中心十字,共 14 段。整组 Y 基准 −263 (下边线 TCP Y=−263 · 上边线 Y=2137 · 中心横线 Y=937 · 十字中心 (1900,937)),X 不变。 —— 四角 = (0,−263)/(W,−263)/(0,2137)/(W,2137)(TCP / 刀尖坐标), 四边中心 = (W/2,−263)/(0,937)/(W,937)/(W/2,2137),十字中心 = (W/2,937)。 锯缝以切线为对称轴,内真(切线围成)= 台面 tblW×tblH,不受锯片厚度影响(剔除厚度 = 厚度不偏移切线)。 勾选「外偏 D/2」→ 刀路整体外移半缝,槽完全在台面界外、内缘压边界(台面外须有可切层)。 台面尺寸用「2 · 台面」,行程用「限位校验」——切削点 + 转角扫掠逐点校验,超限拒绝出程序。
坐标口径(先看这段,再看 G 代码里的数) —— 三个数别混:
① 台面物理位置(滑座/机床坐标系):你填的「2 · 台面」宽深,四角读作 (0,0)/(W,0)/(0,H)/(W,H),这是台面这个实体在机床里的位置。
② 刀尖切线(刀片中心轨迹):本工具按 ① 摆放,切线压在台面边线/四角上 —— 这才是真正切进材料的位置,尺寸按它算。
③ G 代码里的 X/Y:机床 RTCP 已关,X/Y 轴带的是回转中心(滑座), 不是刀尖,两者差一个偏心 d=(0,−|d|),|d| = 263 mm:
  刀尖 = 滑座 + R(W)·d  →  W=0 时滑座 Y = 刀尖 Y +263; W=90 时滑座 X = 刀尖 X +263;W=−90 时滑座 X = 刀尖 X −263。
所以下角横线在 G 代码里必然写成 Y263.000,而不是 Y0.000 —— 这是偏心的结构结果, 不是坐标错。核对尺寸请看 ②(PASS 注释的 TCP 行),不要拿 ③ 的数字当尺寸。
反过来说:若强求 G 代码写 Y0.000,刀尖就跑到台面外 263 mm 处切空气, 反而切不到料——两者不可兼得。

参数保存 / 载入

输出格式

本机 X/Y 必须走滑座(回转中心):接 AM521 前已关闭机床侧 RTCP,G 代码指令位置须与 XY 滑座吻合,由工具按锯片 TCP 反推滑座坐标(M = TCP − R(W)·d)。默认选「滑座」。 生成的 G 代码 X/Y/W/Z 就是 X/Y/W/Z 四轴伺服绝对位置:X/Y = 滑座(回转中心)绝对坐标、 W = 回转轴绝对角度、Z = 锯片升降绝对坐标,可直接下发给 AM521 执行,无需控制器再做逆解。 仅当机床侧 RTCP 已开启、由控制器做逆解时,才选「TCP(锯片中心)」——否则会错位。
画布上标 (0,0) 的那个点,以谁为零点。 锯片中心 TCP(默认)= 刀尖基准:滑座在机床 (0,0) 时锯片中心位于 (0, −|d|), 故画布原点落在机床 (0, −|d|);台面左下角在该基准下读数 (0, +|d|)。 滑座 / 机床零点 = 台面左下角,画布原点落在机床 (0,0)。 ⚠ 只改坐标标注层(网格刻度数字 + 「原点」标注)—— 台面 / 行程框 / 图形 / 轨迹是物理位置,一律照机床坐标绘制,不随基准移动。
勾「程序头精简」(默认)时程序头只有 G21 + G92 <拍照点>, 不写 G90/G17、不写程序头抬刀 G01 Z…F…。
V3.43:G92 下面默认补一行 M101(主轴自动启动)。 老版本精简模式不写 M101,现场实测锯片不会转、必须 PLC 侧另给;现在由程序自己启动。 若现场 PLC 已在别处启动主轴(重复启动会报警),取消勾选即可。
⚠ 仍不写 G90:若控制器里残留 G91 增量模态,后续绝对坐标会被当增量 → 撞机。 取消「程序头精简」即回到 G90 G21 G17 + 抬 Z + M101 的完整程序头。
圆:两种基准都精确输出真弧——「滑座」基准下滑座轨迹是与设计同心的圆(半径 = R-263 或 R+263,取决于 W0 的 180 度分支)。 椭圆:仅「TCP 基准」精确;「滑座」基准下一般滑座轨迹不再是椭圆(W 随非仿射切线角转动)→ 默认自动分片:逐段拟合椭圆输出 G08/G09 真弧(优先),只有拟合不成椭圆的段(花生形的"腰")才回退 G01 小线段(位置始终精确)。若整条滑座轨迹确为(近)椭圆(如近圆),则整弧输出 G02/G03 / G08/G09。
拍照点 = 台面之外的停靠工位(相机在此拍照定位),X / Y 用滑座(回转中心)绝对坐标(机床读数即是,本身已是滑座、无需把 2412.430 当成锯片中心去反推)。只是"起点在哪"的设定, 程序头不写回拍照点的移动段 —— 机床本来就停在这里,写出来反而多走一段空程;若勾了「程序头写 G92」,另用 G92 把这个起点声明给控制器(G92 只设坐标、不产生插补轨迹,PLC 侧无需改)。 工具用它给轨迹/模拟/校验定起点(不再从原点 (0,0) 起算)。 程序尾回拍照点(先抬 Z、再平移、W 转到拍照角),下一循环的起始位置才成立。 拍照点段在 G 代码校验里不参与行程/台面判定(它本来就在台外)。
图样
绘制
线段编辑
背景图
0.0 / 0.0 s
TCP 轮廓(深红虚线) 滑座轨迹(青) 切深轨迹(粗实线) 抬刀轨迹(蓝实线) 入刀点 其它顶点 选中/句柄(橙)
拖动图形=移动 · 拖角点=改尺寸 · 拖顶部圆点=旋转 · 点选图形后可改属性 · X = 左右(横向 3800)、Y = 前后(纵向 2400)、零点在左下角

图形列表(切割顺序)

选中图形属性

未选中图形
导入 PLC 桥没启动时:运行 G代码生成器.exe(或双击 启动PLC桥.bat)后重试
桥日志 / 诊断明细
G 代码(可直接手工编辑,改完点「解析并校验 XYC」)
校验报告