修复 G18 圆弧轴映射

This commit is contained in:
2026-06-27 01:31:49 -04:00
parent 0e1e9d61a8
commit 45b0f9bcf8
3 changed files with 578 additions and 1 deletions

View File

@@ -44,6 +44,32 @@ assert.equal(execution.plannerTiming.totalSeconds > 0, true);
assert.equal(execution.plannerTiming.motionCount, execution.motion.length);
assert.equal(execution.summary.fullLinuxCncProgramExecutionReady, false);
const g18ArcProgramText = [
"G90 G18",
"G0 X1 Z0 Y0",
"G3 X0 Z1 I-1 K0 Y2 F80",
"M2",
].join("\n");
const g18ArcExecution = runtime.runProgram(g18ArcProgramText);
const g18ArcMotion = g18ArcExecution.motion[1];
assert.equal(g18ArcExecution.summary.ready, true);
assert.equal(g18ArcExecution.summary.motionEventCount, 2);
assert.equal(g18ArcExecution.summary.motionTypes.includes("ARC_FEED"), true);
assert.equal(g18ArcExecution.summary.finalAxes.x, 0);
assert.equal(g18ArcExecution.summary.finalAxes.y, 2);
assert.equal(g18ArcExecution.summary.finalAxes.z, 1);
assert.equal(g18ArcMotion.type, "ARC_FEED");
assert.equal(g18ArcMotion.axes.arc.plane, 180);
assert.equal(g18ArcMotion.axes.arc.firstAxis, "z");
assert.equal(g18ArcMotion.axes.arc.secondAxis, "x");
assert.equal(g18ArcMotion.axes.arc.thirdAxis, "y");
assert.equal(g18ArcMotion.axes.z, 1);
assert.equal(g18ArcMotion.axes.x, 0);
assert.equal(g18ArcMotion.axes.y, 2);
assert.equal(g18ArcMotion.feedRate, 80);
assert.equal(g18ArcExecution.summary.plannerRuntimeReady, true);
const switchkinsProgramText = [
"G90 G17",
"M428",