Add flowsnake interpreter regression coverage

This commit is contained in:
2026-06-09 07:49:06 +08:00
parent 3698c51917
commit e7df5b3eda
12 changed files with 530 additions and 4 deletions

View File

@@ -0,0 +1,6 @@
This test mills the flowsnake form, testing the following interpreter features:
named owords
recursive subroutine calls

View File

@@ -0,0 +1,403 @@
N..... USE_LENGTH_UNITS(CANON_UNITS_MM)
N..... SET_G5X_OFFSET(1, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_G92_OFFSET(0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_XY_ROTATION(0.0000)
N..... SET_FEED_REFERENCE(CANON_XYZ)
N..... ON_RESET()
N..... COMMENT("Program to mill a flowsnake")
N..... COMMENT("K. Lerman")
N..... SET_SPINDLE_SPEED(0, 1.0000)
N..... START_SPINDLE_CLOCKWISE(0)
N..... STRAIGHT_TRAVERSE(0.0000, 0.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(0.2500, 1.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.2500, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.3796, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.4444, 0.8877, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.5093, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.6389, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.7037, 0.8877, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.6389, 0.7755, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.7685, 0.7755, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.8333, 0.6632, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.8981, 0.7755, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.0278, 0.7755, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.9630, 0.8877, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.0278, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.1574, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.2222, 0.8877, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.2870, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.4167, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.4815, 0.8877, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.4167, 0.7755, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.5463, 0.7755, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.6111, 0.6632, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.5463, 0.5509, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.4167, 0.5509, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.4815, 0.4387, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.4167, 0.3264, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.5463, 0.3264, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.6111, 0.2142, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.6759, 0.3264, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.8056, 0.3264, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.8704, 0.2142, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.8056, 0.1019, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.9352, 0.1019, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.0000, -0.0104, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.0648, 0.1019, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.1944, 0.1019, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.1296, 0.2142, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.1944, 0.3264, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.3241, 0.3264, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.3889, 0.2142, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.4537, 0.3264, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.5833, 0.3264, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.5185, 0.4387, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.5833, 0.5509, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.4537, 0.5509, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.3889, 0.6632, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.4537, 0.7755, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.5833, 0.7755, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.5185, 0.8877, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.5833, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.7130, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.7778, 0.8877, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.8426, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.9722, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.0370, 0.8877, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.9722, 0.7755, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.1019, 0.7755, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.1667, 0.6632, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.2315, 0.7755, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.3611, 0.7755, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.2963, 0.8877, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.3611, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.4907, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.5556, 0.8877, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.6204, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.7500, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.6852, 1.1093, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.7474, 1.2200, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.6204, 1.2185, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.5556, 1.3278, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.6178, 1.4385, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.7448, 1.4400, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.6800, 1.5493, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.7422, 1.6601, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.6152, 1.6586, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.5504, 1.7678, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.4881, 1.6571, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.3611, 1.6556, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.2963, 1.7648, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.3585, 1.8756, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.2315, 1.8741, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.1667, 1.9833, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.2289, 2.0941, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.3559, 2.0956, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.2911, 2.2049, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.3533, 2.3156, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.4803, 2.3171, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.5452, 2.2079, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.6074, 2.3186, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.7344, 2.3201, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.6696, 2.4294, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.7318, 2.5401, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.6048, 2.5386, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.5399, 2.6479, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.6022, 2.7587, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.7292, 2.7602, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.6644, 2.8694, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.7266, 2.9802, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.5996, 2.9787, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.5347, 3.0879, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.4725, 2.9772, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.3455, 2.9757, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.2807, 3.0849, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.3429, 3.1957, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.2159, 3.1942, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.1511, 3.3035, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.0888, 3.1927, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.9618, 3.1912, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(3.0266, 3.0819, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.9644, 2.9712, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.8374, 2.9697, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.7726, 3.0789, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.7104, 2.9682, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.5833, 2.9667, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.5185, 3.0759, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.5807, 3.1867, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.4537, 3.1852, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.3889, 3.2944, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.4511, 3.4052, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.5781, 3.4067, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.5133, 3.5160, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.5755, 3.6267, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.4485, 3.6252, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.3837, 3.7345, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.3215, 3.6237, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.1944, 3.6222, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.1296, 3.7315, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.1918, 3.8422, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.0648, 3.8407, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(2.0000, 3.9500, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.9352, 3.8407, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.8082, 3.8422, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.8704, 3.7315, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.8056, 3.6222, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.6785, 3.6237, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.6163, 3.7345, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.5515, 3.6252, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.4245, 3.6267, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.4867, 3.5160, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.4219, 3.4067, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.5489, 3.4052, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.6111, 3.2944, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.5463, 3.1852, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.4193, 3.1867, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.4815, 3.0759, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.4167, 2.9667, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.2896, 2.9682, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.2274, 3.0789, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.1626, 2.9697, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.0356, 2.9712, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.9734, 3.0819, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(1.0382, 3.1912, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.9112, 3.1927, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.8489, 3.3035, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.7841, 3.1942, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.6571, 3.1957, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.7193, 3.0849, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.6545, 2.9757, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.5275, 2.9772, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.4653, 3.0879, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.4004, 2.9787, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.2734, 2.9802, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.3356, 2.8694, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.2708, 2.7602, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.3978, 2.7587, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.4601, 2.6479, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.3952, 2.5386, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.2682, 2.5401, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.3304, 2.4294, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.2656, 2.3201, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.3926, 2.3186, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.4548, 2.2079, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.5197, 2.3171, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.6467, 2.3156, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.7089, 2.2049, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.6441, 2.0956, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.7711, 2.0941, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.8333, 1.9833, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.7685, 1.8741, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.6415, 1.8756, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.7037, 1.7648, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.6389, 1.6556, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.5119, 1.6571, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.4496, 1.7678, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.3848, 1.6586, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.2578, 1.6601, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.3200, 1.5493, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.2552, 1.4400, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.3822, 1.4385, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.4444, 1.3278, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.3796, 1.2185, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.2526, 1.2200, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.3148, 1.1093, 0.0000, 0.0000, 0.0000, 0.0000)
N..... SET_FEED_RATE(10.0000)
N..... STRAIGHT_FEED(0.2500, 1.0000, 0.0000, 0.0000, 0.0000, 0.0000)
N..... STRAIGHT_TRAVERSE(0.2500, 1.0000, 1.0000, 0.0000, 0.0000, 0.0000)
N..... STOP_SPINDLE_TURNING(0)
N..... FINISH()
N..... ON_RESET()
N..... ON_RESET()

View File

@@ -0,0 +1,41 @@
%
(Program to mill a flowsnake)
(K. Lerman)
o<flowsnake> sub
#<level> = #1
#<startX> = #2
#<startY> = #3
#<endX> = #4
#<endY> = #5
o<test> if [#<level> EQ 0]
g1 f10 x#<endX> y#<endY>
o<test> else
#<p1X> = [[#<startX> * 2 + #<endX>]/3]
#<p1Y> = [[#<startY> * 2 + #<endY>]/3]
#<p2X> = [[#<startX> + #<endX>]/2 + [#<endY> - #<startY>]/[SQRT[12.0]]]
#<p2Y> = [[#<startY> + #<endY>]/2 - [#<endX> - #<startX>]/[SQRT[12.0]]]
#<p3X> = [[#<startX> + 2 * #<endX>]/3]
#<p3Y> = [[#<startY> + 2 * #<endY>]/3]
o<flowsnake> call [#<level>-1] [#<startX>] [#<startY>] [#<p1X>] [#<p1Y>]
o<flowsnake> call [#<level>-1] [#<p1X>] [#<p1Y>] [#<p2X>] [#<p2Y>]
o<flowsnake> call [#<level>-1] [#<p2X>] [#<p2Y>] [#<p3X>] [#<p3Y>]
o<flowsnake> call [#<level>-1] [#<p3X>] [#<p3Y>] [#<endX>] [#<endY>]
o<test> endif
o<flowsnake> endsub
S1M3
g0 z1
g0 x.25 y1.0
g1 f10 z0
#<level> = 3
o<flowsnake> call [#<level>] [.25] (will this comment cause problems) [1.0] [3.75] [1.0]
o<flowsnake> call [#<level>] [3.75] [1.0] [2.0] [3.95]
o<flowsnake> call [#<level>] [2.0] [3.95] [.25] [1.0]
g0 z1
M5
%

View File

@@ -0,0 +1,3 @@
#!/bin/bash
rs274 -g flowsnake.ngc | awk '{$1=""; print}'
exit "${PIPESTATUS[0]}"