Sunday 13 September 2020

Make Smooth running GCode - Episode 249

 In this episode I intend to show how to produce smooth running GCode using your CAM software as well as how to set up Constant Velocity in Mach3.
I know in the last Video I expressed dislike for Constant Velocity and the distortions that it causes to your project to a larger or smaller degree and I stand by that, but it has come to my attention that some CNC controllers are unable to run properly in Exact Stop mode forcing the user to use Constant Velocity whether they want to or not. With that in Mind I demonstrate how to evaluate the CV setting you set in your machine without having to machine the actual project. This may seem wrong but the best way to check if you machine is moving smoothly is the feel the table and listen to the machine moving. You will very quickly feel and hear any harsh movements and hesitations. The hand may be faster than the eye but it is more sensitive as well and less easily fooled. 


Steps to Smoother motion

  1. Convert Bezier curves to circular arcs where possible. While I demonstrate this in Vectric Aspire you can do the same in other CAM packages. Remember if you edit a circle it will convert it to Bezier curves and you should check and convert it to circular arcs before creating your Gcode.
  2. Use Ramps and spirals to move the Z axis down rather than direct plunging moves. This not only puts less strain on the cutter it will eliminate the little scallop you so often see on plunge moves as the cutter is pulled off center. 
  3.  If possible use exact stop machining for more accurate machining but if not then ensure that your Constant Velocity is set up properly for the best results.
  4. If your machine has high acceleration it will run better in constant velocity mode compared to one with poor acceleration. Higher acceleration reduces the error in machining.
  5. If you are using exact stop you can afford to use a lower acceleration which will reduce jarring start and stops and since the machine is moving exactly where you tell it to go, it doesn't matter how long it takes to do it. 
  6. If you are using feed rate override you may find it interferes with your Constant velocity settings. If you are not sure reduce your feed rate to  100% and check.


The reason for wanting smooth motion is to get a good finish on your part and your machine will run better as well. This is true in both CV and ES modes. If you find that your machined part is not quite as it should be and you are using Constant Velocity then consider the way CV works and if it could be the issue. The conversion of your drawings to output curves instead of straight lines and using Ramps will assist in making Constant Velocity run better and will reduce and maybe eliminate toolpath changes. 

Don't get me wrong. Constant Velocity works well for hundreds of thousands of people and they never notice a thing. On artistic 3D projects it will work extremely well as there is nothing particularly critical about it and will add to the overall smoothness of the model. But maybe you have notices the odd project where something wasn't right. A corner cut, a piece slightly out of shape and maybe they don't matter but now you know how Constant velocity works you might be able to identify and make improvements.

If you are fortunate enough to have a  control system that uses Exact stop properly then give it a try and use the hints on improved Gcode to see how it works for you.

Until next time





  1. Peter,
    First, I enjoy watching your videos on YouTube!!
    I know through your videos that you've used Mach, UCCNC, and Masso. In this video you discuss how Mach 3 is a 'dog' when running in exact stop mode and Masso handles exact stop very smoothly.
    Question; when you were running UCCNC which mode did you find works best, ES or CV?
    thank you for your insight.

  2. Uccnc is the same as Mach3 when it comes to exact stop. Best to run it in CV a week.
    Cheers Peter