补齐多主轴 G76 source-linked 覆盖

This commit is contained in:
cnc
2026-06-05 21:55:31 +08:00
parent 9c73577ade
commit d35766e387
2 changed files with 35 additions and 0 deletions

View File

@@ -313,6 +313,12 @@ CNC_SIM_RS274_VAR="$var_file" \
INI_FILE_NAME="$multi_spindle_threading_file" CNC_SIM_RS274_VAR="$var_file" \
"$build_dir/linuxcnc_rs274_source_dump" tests/gcode/linuxcnc_multi_spindle_threading.ngc \
>"$output_dir/cnc_sim_linuxcnc_source_multi_spindle_threading.json"
# Source basis: LinuxCNC src/emc/rs274ngc/rs274ngc_pre.cc init reads
# [TRAJ] SPINDLES from INI_FILE_NAME, and interp_convert.cc assigns
# active_spindle from the G76 $ selector before convert_threading_cycle().
INI_FILE_NAME="$multi_spindle_threading_file" CNC_SIM_RS274_VAR="$var_file" \
"$build_dir/linuxcnc_rs274_source_dump" tests/gcode/linuxcnc_multi_spindle_g76.ngc \
>"$output_dir/cnc_sim_linuxcnc_source_multi_spindle_g76.json"
CNC_SIM_RS274_VAR="$var_file" \
"$build_dir/linuxcnc_rs274_source_dump" tests/gcode/linuxcnc_threading_cycle.ngc \
>"$output_dir/cnc_sim_linuxcnc_source_threading_cycle.json"
@@ -2082,6 +2088,27 @@ if not any(
):
raise SystemExit("missing source-linked G33.1 selected-spindle rigid tap motion line")
multi_spindle_g76 = json.loads((OUTPUT_DIR / "cnc_sim_linuxcnc_source_multi_spindle_g76.json").read_text())
if not any(
event["type"] == "comment" and
event["line"] == 6 and
event["reserved"] == 3301 and
event["tool"] == 1 and
event["feed"] == 0.05
for event in multi_spindle_g76
):
raise SystemExit("missing source-linked G76 selected-spindle sync start")
if not any(
event["type"] == "comment" and event["line"] == 6 and event["reserved"] == 3300
for event in multi_spindle_g76
):
raise SystemExit("missing source-linked G76 selected-spindle sync stop")
if not any(
event["type"] == "linear-feed" and event["line"] == 6 and event["end"]["z"] == -1
for event in multi_spindle_g76
):
raise SystemExit("missing source-linked G76 selected-spindle final threading pass")
threading_cycle = json.loads((OUTPUT_DIR / "cnc_sim_linuxcnc_source_threading_cycle.json").read_text())
if not any(
event["type"] == "comment" and
@@ -3747,6 +3774,7 @@ echo "dumped $output_dir/cnc_sim_linuxcnc_source_modal_state.json"
echo "dumped $output_dir/cnc_sim_linuxcnc_source_modal_autorestore.json"
echo "dumped $output_dir/cnc_sim_linuxcnc_source_threading_sync.json"
echo "dumped $output_dir/cnc_sim_linuxcnc_source_threading_cycle.json"
echo "dumped $output_dir/cnc_sim_linuxcnc_source_multi_spindle_g76.json"
echo "dumped $output_dir/cnc_sim_linuxcnc_source_lathe_diameter_mode.json"
echo "dumped $output_dir/cnc_sim_linuxcnc_source_lathe_diameter_g76.json"
echo "dumped $output_dir/cnc_sim_linuxcnc_source_tool_number.json"

View File

@@ -0,0 +1,7 @@
G20 G90 G18
(Source basis: LinuxCNC src/emc/rs274ngc/rs274ngc_pre.cc init reads [TRAJ] SPINDLES from INI_FILE_NAME.)
(Source basis: LinuxCNC src/emc/rs274ngc/interp_convert.cc G76 with $ selects active_spindle before convert_threading_cycle.)
S500 M3 $1
G0 X1 Z0.1
G76 P0.05 Z-1 I-.075 J0.008 K0.045 Q29.5 L2 E0.045 $1
M30