private void Cutting(MillingCommandGenerator generator, double x, double y) { generator.Move(x, y); generator.Move(z: ZEntry); var zMin = -Depth; double z = 0; int counter = 0; while (z >= zMin) { var feed = (int)((FeedMax - FeedMin) / zMin * (z * z / zMin - 2 * z) + FeedMax); generator.Cutting(x, y, z, feed); if (z <= -2) { if (++counter == 5) // Подъем на 1мм для охлаждения { counter = 0; generator.Pause(0.2); generator.Uplifting(z + 1); generator.Cutting(x, y, z + 0.2, (int)(FeedMax * 1.5)); generator.Cutting(x, y, z, feed); } } z -= 0.2; } generator.Pause(0.2); generator.Uplifting(); }