Adaptive Machining Downloadable demo

This file does not contain a link to the downloadable demo, only the instructions. Please ask nicely if you want a copy.

Brief Instructions

(1) Unzip and put the directory "dist" somewhere you can find it on your hard disk.

(2) Execute "AdaptClearDemo.exe" in the "dist" directory by double-clicking on it.

Use the FileDialog to select the file "mm3.stl" from the "stl" directory. (You are free to select your own example instead.)

(3) You can change the view in the graphics window by dragging the mouse over it: left mouse button to rotate, middle mouse button to pan, right mouse button to zoom.

(4) The other window contains a reduced set of parameters. The values are in metric (millimetres) and they use a feature I invented in Machining Strategist where you can type in formulae rather than plain numbers, like in a spreadsheet. The calculated values are in the right hand column. To change the number, delete everything in the field and type in what you want. To run the demo for the first time you can leave everything as it is.

The explanation of the parameters (and the algorithm) is as follows:

(5) Once you are done setting the parameters (or leaving them the same), click "Ok" to set it running.

The graphics window will show you the toolpath as it calculates -- only if you do nothing to cause the window to refresh, like moving any windows nearby it. (This user interface is not designed to be used!)

(6) When the calculation is complete, you can replay the toolpath and even save it as a tapefile using the following controls:

Don't forget to zoom in to take a closer look.

(8) End of instructions.


Explanation of picture

This shows a view of the toolpath you can get from the demo.

The red sections of the wireframe image of the tool (diameter 12, corner radius 4 in the "mm3.stl" example) is showing the cutting engagement at this point of the toolpath. Note how it respects the material cut by the passes on the other side of the circular upstand. We model the stock analytically (without using voxels) to obtain the necessary level of accuracy required for steering the cutter smoothly.

The green lines are the linking moves of the toolpath. The white lines are the cutting moves. These lines fade to blue where the tool is cutting less than the optimal amount of material. It would be possible to vary the feedrate where there is less load.

Integrating features

The Adaptive Clearing algorithm is written in C++ for the low-level speedy calculations, and a high level scripting language called Python, which is more suitable for handling the complex toolpath planning.

The entire system can be compiled into a single self-contained EXE file, or DLL, or DLL with a set of Python modules if your system happens to run from this language too.

At the moment it is sold both as a single component and as part of the Cimco-HSM Performance Pack for Mastercam. The user interface you see here is for development only and is not suitable for the market. Ideally it should be integrated into the user interface of a complete CAM system as simply another machining option or tick-box in the Z-roughing strategy ("ZigZag", "Offset", "Adaptive")

Limitations and developments

Development is ongoing and by no means complete. Cimco have spent a year finding most of the bugs in this version with some very challenging examples.

This implementation is robust because the core algorithm is well-defined and of limited complexity. Gouges are unlikely. Areas where too much material is cut are limited by the tolerance parameters. We currently have no examples where unintended upstands of material remain (this was the most challenging thing to debug).

The most requested feature right now is speed. Since the algorithm runs a stock model during its calculation, it runs quite a bit slower than a machining algorithm that does not require such a model. It's not realistic to expect it to calculate at the same speed. If you find it runs too slowly for your needs, please send us a real-world example and timing target so we can work against it.

Features that are currently missing, but will need to be written soon are: tapered cutters, tool-holder collision, better smoothing in very tight corners, more optimal toolpath planning. None of these should interfere with effective use now, and will be prioritized by anyone who is using or selling the software in the future.