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.
Units
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
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
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.