Turbo Simulator

Version 4 introduces a new feature called Turbo Simulator. It is for those long 3D surface milling programs where simulation in the standard view takes a lot of time. It is a bare-bones simulator without fancy things like machine models, shadows, materials, etc. Its only function is to simulate as fast as possible. The picture shows a simulation of a 19,000 blocks CNC program. It took under 3 seconds to run at max speed. If you only want to see the toolpaths, you can use the improved Fast Backplotting function.



Version 4

We are currently working on version 4 of CNC Simulator Pro. It will have a modern graphical user interface, improved graphics, many new machines, and features. Time to get excited! Stay tuned for more info on this important milestone.


Online-help update

We have updated the online-help today to include all the new functionality in version 3.2. As usual, we ask our users to please report any mistakes or if you find that anything is missing. We are constantly trying to improve the documentation, so all feedback is greatly appreciated.

If you do not see the updates, remember to clear your browser cache.


Version 3.2 is here!


Hello from us at the cncsimulator.com developer team, we have exciting news!

First of all, we hope every one of you is safe in these crazy times. Our hearts go out to all of those affected by this crisis.

We have been using this time to work on the new and exciting version 3.2 of CNCSimulator Pro. There is a lot to talk about so here we go:

So what is new in version 3.2? A lot!

Here is a list:

  • We have been in contact with Microsoft and got the false virus alert removed. McAfee still thinks we are bad guys though. We will contact them later.
  • Mouse movements were sometimes lagging in SimCam, this has been improved now.
  • This is a big one! We have added functionality that lets the user create their own canned cycles and G-codes using codes as $DefineModalMacro and $DefineNonModalMacro. These definitions can be hidden in include files that run in the background, so that the user-defined codes act just like the built-in ones. You can also define your own popup help to these codes, making them even more like the standard codes in the simulator. We have included an example to show how all this is done.

  • A new $-command has been added that lets you jump to labels in the code: $GotoLabel.
  • We have added a code that can be added to G-codes to tell the simulator that it should run the original G-code and not the redefined one, this will be clear when you look at the example.
  • As user-defined canned cycles often are based on macro-programming, we have added a $-command to activate the macro interpreter directly from the code: $ActivateMacroInterpreter.
  • You can right-click on include-file calls to directly open the file in the editor. You can also return to the main program by right-clicking and select return in the menu. This makes it much easier to jump back and forth between the files when developing custom cycles and G-codes.


  • We have added a setting so that you can have pause points saved in the CNC-program.
  • We have made many changes to the lighting of machines and workpieces. It looks much more alive now.


  • We have added a function to simplify CNC-programs. It will, for example, make canned cycles into their basic G00, G01, G02, and G03 components. This is a way to make a program compatible with almost any machine.

  • If the main window was in full-screen mode when you exited the program, it will now return to full-screen mode at the next start.
  • Lathe machines now have a feature to show chips while cutting.
  • Some machines have been updated with a more modern look and more details.
  • The Feeds and Speeds Tool now works for turning machines as well.
  • We have added materials that can be user-defined in the Feeds and Speeds Tool.
  • We have added a “machine” that is a game meant to teach beginners basic G-codes. You run a car through a track with the help of G00 to G03. Road signs help the user to get the car to the garage.

  • We have fixed a couple of bugs regarding prefabricated milling workpieces.
  • We have added a new tool called Zeropoint Helper. It will assist you in finding the zeropoint you want in milling machines.


  • We have fixed a bug that sometimes created two copies of the settings in memory. It created some confusion.
  • We have fixed a bug that created problems when using R arcs in combination with radius compensation and inches units.
  • We have added G15 and G16 polar coordinates G-codes. There is also a new example showing how these works.

  • SimCam’s workspace was visible in the 2D view. That has been fixed now.
  • The type of file list you have in the file browsers is saved now so you do not have to change them every time.
  • The Full 3D milling buffer now supports layer coloring as well. ($Color)
  • Speaking of colors, we have added a new $-command that automatically assigns colors to different depth layers. $AutoColorMode. We have also included a new example file for this.


  • We have added a new G-code called G52 local zero point shift as well as a new example file demonstrating it.

  • We have fixed some issues with the virtual jog controller.
  • The simulator runs at a higher speed now. We have optimized some of the code to gain more speed.
  • We have added something called Project Files. It is a type of file that saves everything: your CNC code, the SimCam document, your settings, tools, workpieces, etc. A project file is like a time machine that lets you go back to the status of your simulator at the point in time you saved it. This is also very useful for the support team as they can ask you to send a project file to make troubleshooting a problem much quicker.
  • Machine Info and Codes now show the tool change position as well.
  • The default background for all machines is now a blue gradient. You can still set your own background color though.
  • We have added a function to display the machine coordinates while simulating. It can be helpful when looking for an issue with the CNC code.
  • We have fixed an issue with uploading SimCam documents to the cloud.
  • We have added new command prompt commands to help with support.
  • We have added support for vises in milling machines. They come with collision detection too!


A big thanks to each one of you that has contributed with ideas, feedback, and suggestions helping us with this new update.

The installer will soon be up on our download page but until then, you can download it from this link:


Stay safe everybody, stay at home and simulate!


Here is an example on how easy it will be to customize the popup-help in the editor, in version 3.2.

Let us change the help for G00 to Spanish.

In the beginning of the program, or in a separate include-file, we put the following line:

$CodeHelp 1 “G00|POSICIONAMIENTO RÁPIDO|G00 X.. Y.. Z..|Los desplazamientos programados a continuación de G00 se ejecutan en avance rápido establecido en la puesta a punto de la máquina, mediante los parámetros máquina.”

Then when we hold the mouse over G00 we will se the following:


Version 3.2 news

We are working on the next version of CNCSimulator Pro and would like to share some exciting news with you.

In version 3.2, you will be able to completely customize the simulator so that it matches your machine! We have added commands to define your own G, M, and other codes by connecting them to your own custom subprograms or macros. These will run hidden in the background so that it looks like they are built into the simulator. You will even be able to add your own custom popup-help to match your codes.

We are also working on a feature that will allow users to simplify canned cycles into basic G-codes so that they can be run on any machine.

Stay tuned for more!

Version 3.1 is here!


Version 3.1 is finally here. You can download it from our download page. Here is a list of some of the changes and fixes done in this version:

  • Fixed problem with absolute centers in lathes.
  • Fixed problem with 2D view + lathes + R-arcs + abs center.
  • Fixed problem with turning cycles with certain contours.
  • Fixed issue with mill drilling cycle in incremental mode.
  • Implemented U and W positive/negative direction for G71.
  • Fixed bug with inches + tool reg + radius comp. Values were read as mm.
  • Fixed crash in SimCam when drawing guide circle followed by guide line and start pos.
  • Fixed issue with last G00 Z when postprocessing with a stock mtrl with non zero Z origin.
  • Deleted last unnecessary Z movement in the milling PP.
  • Fixed: Analyze function did not see tool changes when M6 was not used.
  • Disabled error for T0 tool calls.
  • Added alarm for arcs with incorrect endpoint.
  • Fixed crash when a firewall blocked traffic to cncsimulator.com.
  • Added keyboard shortcut ALT – U to open user CNC files.
  • Fixed some problems with the Analyze function (NaN values).
  • Changed the embedded PP for turning and milling so that F and S are reset at each tool change.
  • Fixed formatting problems for some G76 parameters in the turning PP.
  • Fixed formatting problems for $AddDefinedPart in cultures that uses decimal comma.
  • Changed the standard milling PP so that outputs T instead of DT (using $ReadTasDefinedTool).
  • Changed the Analyze function so that T0 does not count as a tool change.
  • Fixed a bug in the milling PP script regarding zero points.
  • Fixed Image Maker errors with file paths containing spaces.
  • Added Translate CNC code function.
  • Fixed problem with Heidenhain arcs in 2D view.
  • Fixed problems with Image Maker in cultures using decimal comma.
  • Fixed problem with Heidenhain arcs + inches + 2D-view.
  • Fixed error “Window could not be resized” at start.
  • Swapped M00 and M01. They where incorrect defined before. Now M01 is optional stop.
  • Added new $-commands to create stock material and tools at run-time.
  • Fixed problem with rough cut cycle, when it “missed” the programmed contour it went to -1000.
  • Fixed problem with DPI scaling on high-res monitors with non 100% dpi setting.Fixed alarm when inverting workpiece in lathes using inches.
  • Catching errors when reading simulator settings.
  • Fixed issue with Analyze function and lathes with custom material. Mtrl price was wrong because it read the emb. price.
  • Fixed so that M6 is ignored when having auto.toolchange in settings to avoid some problems.
  • Fixed issue with Analyze and G71 in lathes. Path distance was doubled.
  • Deleted “ugly” ET from examples and instead using $ReadTasEmbeddedTool.
  • Added file associations for .cnc files.
  • Updated a lot of intellisense popups.
  • Changed engrave function so that arcs with an extreme small radius is treated like lines to avoid problems.
  • Fixed some spelling errors.
  • Fixed a problem in the Mill Tool editor where shaft was enabled by default.
  • Fixed issues when pressing Enter in SimCam output settings text boxes. It closed the form.
  • Fixed some issues with SimCam dimension settings.
  • Fixed thumbnail issue with SimCam contour – rectangle.
  • Fixed issue with help labels in SimCam menu “Click start of line” for the endpoint.
  • Fixed problem with “Red Arcs” and inches.
  • Fixed issue with CAM – Engrave on contours created by Image Maker.
  • Fixed problem with Tutorial in inches.
  • Fixed issue with new arc check so that arcs with a radius less than .5 mm is ignored.
  • Fixed Misc – Insert command – Cutting for lathes. It always made a command for milling before.
  • Fixed SimCam issue with arc tangenting two arcs. It created a guide circle.
  • Fixed thumbnail issues with Import DXF, Image Maker and Frame Maker.
  • Fixed crash in SimCam – Analyze and fix…
  • Fixed problem when saving things in the Inventory browser while jumping back and forth betw. inches and mm.

Huge documentation overhaul

We have made a complete overhaul of our online-help to reflect all new functionality of version 3 and later. Please let us know if you find any errors or if there is any information missing. We are constantly working on making the documentation better as we believe it is as important as the software itself. You can check it out using this link.