It has been way too long since CAMotics v1.0.6 was released in April of 2015. As I mentioned in my last blog post,  I’ve been busy with other projects but there has also been a series of  difficulties with the build system. Building software that works on  Windows, Linux and macOS can be a huge PITA. However, I am happy to  announce this long overdue and anticipated release is finally ready.

So, what’s new in CAMotics v1.1.0. Here’s a quick summary which I will explain in more detail below:

  • Better handling of measurement units. (i.e. millimeters vs inches)
  • Fixes for filenames with non-latin alphabets and spaces. #190 #167
  • Fixed tool path playback problems. #179
  • No more jagged arcs caused by non-US locale settings. #180
  • More accurate conical tool (v-bit) simulations. #173
  • Conical tools can now be entered by angle and diameter. #65
  • Real-time simulation with a caveat. #2
  • A simplified build system.

A few other changes are listed in the change log.


Many  users have reported confusion with the way CAMotics handles measurement  units. CAMotics uses metric units by default because I think they make  more sense. Yet, living in the US, many of my tools are measured in  imperial units and so I understand many people still need to support  both systems.

In  CAMotics, you can set your preferred default units and the current  project’s units in the settings dialog. When you first install CAMotics  it is set to metric units. This can cause some confusion because some  GCode programs assume a particular default setting of either imperial  (G20) or metric (G21) units but don’t actually explicitly specify which  units the file uses. This can cause the simulation to either be really  big or really small relative to the tools. When you are writing GCode  always specify G20 or G21 at the top to avoid this problem.

Now  in v1.1.0 when you create a new project a dialog will popup asking you  to set the units for the project and choose an initial tool table.  Project units affect both what is displayed on the screen and the GCode  default.

File names

Two  significant problems with file names were fixed in v1.1.0. CAMotics  should now be able to handle names with non-latin characters (e.g.  Chinese) or spaces in them.

Tool path playback

Many  users noticed that tool path playback was a bit borked in v1.0.6. The  speed was not controllable and it often went way too fast. This should  now be fixed.

Jagged arcs

Jagged arcs in v1.0.6

Another  problem users outside the US may have noticed is the jagged arc issue.  This was caused by CAMotics incorrectly parsing decimal numbers when  running under systems with different locale settings. Basically any locale which uses something other than a period  (e.g. commas in Germany) as the decimal separated would lose the  fractional part of all GCode numbers. This really fouls ups arcs. v1.1.0  solves this problem by forcing CAMotics to use the “C” locale.

Conical tools

Conical tool undercut denoted by red arrows.

CAMotics  v1.1.0 adds one fix and a user interface improvement for conical tools.  During testing it was found that conical tools would sometimes undercut  in simulation. This was do to a math error which is now fixed.

It  was also suggested it would be easier to specify conical tools using a  diameter and angle in degrees rather than diameter and length. v1.1.0  allows either option.

Real-time simulation

Real-time simulation in CAMotics v1.1.0.

You  can now watch CAMotics cut away material in real-time. Although, the  simulation will sometimes lag behind the tool movement. This is due to  inefficiencies in the rendering engine. You will notice the lag on slow  machines, highly detailed simulations or at faster than real-time  speeds. The above video demonstrates this feature and the lag. Future  versions of CAMotics will use a faster rendering technique which will  make this feature more seamless.

Note,  that real-time simulation is mostly just for fun. CAMotics has always  been able to simulate the cutting process at any point in time by moving  the slider bar and resimulating at that point. As an added benefit,  CAMotics now updates the simulation much faster when you move the slider  bar. It only recomputes the part of the simulation that changed.

Build system

Problems  with the build system were one of the main reasons this releases was  delayed. Particularly the Windows builds and to some extent the macOS  builds caused me much grief. To address these problems the build system  was simplified by eliminating some of the dependencies and thereby reducing the number of steps required to build the software. I’ve also created some documentation on how to build CAMotics in Windows.

Future work

There are many things I would like to do with CAMotics. Here’s a list of some of my priorities:

  • Tool  collision detection when doing rapid moves. Rapid moves in material  could be colored red. This could be extended to detect collisions with  fixtures and the tool holder.
  • Machine specifications such as working cube dimensions, motor and spindle ramp up and down times, etc.
  • 4 & 5-axis simulation.
  • 2D CAM support for cutting DXF and SVG files. This would add features similar to what pyCAM offers.
  • 3D printing simulation.
  • Improved simulation accuracy.

Other things

I also plan to blog more. In addition to making posts explaining new releases, such as this one, I’m thinking about a post on TPL, the modern GCode replacement which is already built into CAMotics and another about our CNC project sharing website which is current in beta testing.

As promised in my last blog post,  I still need to tell you about the project my Uncle and I are working  on. It’s a really cool CNC controller that you will be able to use  directly from CAMotics but more on that later.

As always, please feel free to contact me. Let me know what your interested in and how you use CAMotics.