– “Next GOTO” moves the simulator ahead to the next place where the program jumps to a subroutine or block number. It’s handy if you’re trying to debug macros.

Simulator Screen Areas

When the Simulator is running, GWE displays quite a lot of additional information in a variety of screen areas:

Each screen area is called out in the illustration above in red. Here is the function of each:
G-Code
This area shows you the g-code. The line being executed is highlighted. The illustration shows the very top line highlighted. If you click on this pane, GWE will offer to stop the simulation so you can edit the code.
Backplot
This shows you the backplot of the moves made up to the currently executing line.
Position
Position is like the position display on your machine controller. It’s showing you the X, Y, and Z coordinates, the Spindle RPM, the Feedrate, the current Tool, the Coolant status, and the time the program has run.
Modes
Modes tells you all the modal states of the controller. For example, is some work offset active? It also tells you the last few #variables that changed and what the values were that they changed to.
Hints: Data on Individual Lines
GWE has a unique feature called “Hints”. Every line has a hint that is displayed below the backplot when the cursor is on that line. You can also select the “Hints” tab and see the g-code replaced by a series of Hints. Hints are simply an English-language description of what the g-code does. They often include a lot of extra information that may not be obvious even to an expert just looking at the g-code. Here is a typical example of a Hint for a line containing an arc:

Line N400 has an arc. The Hint below the backplot tells all…

We haven’t learned arcs yet, but the line is as follows:

N400 G03 X0.5 Y0.375 I0. J0.125 F7.0

The fact we don’t yet know how arcs work makes the Hint even more valuable. Let’s take a close look at the Hint:

The Hint for an Arc…

It tells us the following:

– In bold at the top is the original text of the line. This is useful if we’re in Hints view and can’t see the g-code line text.

Right below the bold, it starts telling us all about what the line does:

– The Block Number is N400

– G03 performs Counter-clockwise circular interpolation. In other words, it tells the machine to move the cutter in a circular arc at feed speed.

– The Feed Rate was set to 7.0 on this line.

– We see what the IJK values parse to be. In this case, we have I=0, J=0.125, and no K

– The endpoint of the arc after the move is 0.5, 0.375, -0.04

– The coordinates of the center of the arc are 0.375, 0.375, -0.04.

– The center was determined by IJK (as opposed to R, which is another way)

– The angle of the arc runs from 270 degrees to 0, a total of 270 degrees.

After all that, the Hint skips a line and gives us a time. This is telling us how long it will take the g-code program to reach this line and finish it if we execute on the machine. In this case, we can see the arc will be completed 4 minutes and 54.7 seconds after the program starts executing.

Phew, that’s a lot of data spewed forth, but it can be extremely handy to have when you’re trying to figure out what a g-code program is doing or what’s wrong with one. And, like I said, it’s hard for an expert to tell all of this stuff at a glance.

GWE gives this level of detail for each and every line of the program.

Overall Program Information
In addition to detailed specific information on each g-code line, G-Wizard Editor also provides useful overall information about the program. GWE has an “Info” tab that holds the overall information. Take a look at the illustration to the right to see what the Info tab looks like. As you can see, it tells you a variety of information about your g-code program including:
– It’s size both in terms of lines and bytes. If you’re trying to make your program fit in the limited RAM memory available to an older controller, it’s important to be able to tell quickly how you’re doing.
– For each axis, GWE will spell out the range of motion used as well as the length, width, and height these ranges imply. You get the information both overall and in terms of just feedrate motion. The rapids will nearly always extend outside the feedrate envelope, but the feedrate envelope may give you a good idea of the rough stock size needed by the program.
– You get to see the range of spindle rpm’s used as well as the range of feedrates used in the program.
– You get to see the overall predicted run time of the program.
– Lastly, there is a count of the different classes of operations within the program, as well as a count of the number of errors GWE discovered in your program.
Why Use a G-Code Simulator?
Are you starting to get some ideas for how a g-code simulator could be useful to you? As you can see, a good simulator throws off a wealth of information to help you understand what’s going on in the program. Machinists need to know these things for a variety of reasons.
Here are some possibilities to think about:
Learning and Training: CNC Simulators are great for getting a better understanding of what the g-code is doing, how specific g-codes work, and in general, answering “What will it do if…” sorts of questions. If you’re trying to learn the ins and outs of a controller that is slightly different than the one you “grew up with”, a simulator can be a good place to start getting used to the differences of the G-Code Dialects.
Quick Sanity Check: You just posted some g-code out of your CAM program. Why not bring it up for a quick check in a good CNC Simulator. Are there any obvious errors being flagged? Does a quick visual check indicate nothing obvious is amiss? Most CAM programs have bugs (heck, all software does, the CAM people certainly aren’t immune). Most of the time, their backplots and simulations are not true G-Code simulations. They’re just geometry plots. If there is any kind of error in the post processing, the CAM simulator will not show you a faithful rendition of what your machine will be doing. I knew one machinist whose CAM program would periodically throw a wild rapid move in when he used work offsets. It was an easy fix, provided he caught it before running it on the machine. It became not only easy, but essential to do the quick sanity check on a CNC Simulator before running each program. After all, in many cases, the CAM program isn’t sitting right next to the machine. Do everything you can to make sure the program is right before trying to load it and execute it.
Debugging Hand Written Code: Obviously if you’re writing g-code by hand, a CNC Simulator can be a real labor saver. In fact, I can’t imagine how you do it without one.
Tracking Down Subtle Errors: You’ve got a g-code program. It appears to have no errors, your machine runs it okay, but when the resulting part is finished, there are problems. A CNC Simulator that can give you detailed information such as we worked through on the arc might help you to track down the source of the error and correct it, assuming the error stems from the g-code and not some other source.
Trying Out New Ideas: Suppose you want to compare some different approaches to a part program. Is it faster to interpolate a hole to begin pocketing, or are you better of running an extra toolchange so you can make the hole faster with a 1″ indexable drill? These kinds of things are ideal to compare with simulations, assuming they have the ability to accurately predict the run time of your g-code program. When you consider that some complex expensive parts can spend many hours if not days on machines, it only makes sense to figure out everything you can about how to optimize the job before you get to the point of putting it on a machine.
There are probably lots of other reasons, but the bottom line is you can quickly tell what’s going on with your CNC program without risk to machine, materials, or tooling.
Error Checking Features
Every error you find in your editor or simulator is an error you don’t have to find at the machine, which saves you time and money. The more extensive the error checking your simulator can do, the better. It’s ability to check errors will be limited by the precision of the Post. The more detail it understands about your controller, the more accurate it can call out issues that the controller may object to. Another important capability is being able to ignore any error message. Sometimes errors should be treated more like warnings. Sometimes they’re not quite right because of controller parameters that may change the controller’s behavior. Either way, it’s convenient to be able to ignore them when you want to.
In the G-Wizard CNC Editor / Simulator, errors are displayed in the Hints view (see the prior chapter on CNC Editors for more on Hints).
Tool Data Management
This is a critical, and often overlooked function. Your editor should be able to maintain a Tool Crib or Tool Table. It should be possible to import and export these tables so they’ll stay in sync with your CAM program and the Tool Changers on your machines. Just as running a CNC machine without knowledge of the tools in the changer is bound to lead to trouble, so is running your simulator that way. For more on the Tool Data Management capabilities of G-Wizard Editor and other software, be sure to check our two part series on TDM:
Part 1 is the basics of Tool Length and other Tool Data.
Part 2 goes into topics like Tool Presetters and software to manage Tool Data.
It’s not part of the tutorial, but you should pop over and at least scan the articles some time so you know what the issues and concepts are for Tool Data Management.
What is G-Code Verification?
As mentioned above, CNC Verification often refers to a higher level of functionality than straightforward CNC Simulation and Backplotting. A full CNC Verification package will include capabilities such as:
– Full 3D simulation of the cutting. This is a basic requirement for verification and could as much be considered part of higher end CNC simulation as verification.
– 3D Import and Display: Some capacity to import 3D models, usually in the form of .STL files (Stereo Lithography, a common 3D file format). For example, you might import models of the machine, fixtures, cutters, or the finished part.
– Gouge detection: Gouge detection involves detecting a number of conditions, all of them bad. If the tool moves too quick, say at rapids, into the workpiece, that’s a gouge. If the tool moves into the fixtures (such as your Kurt Vise) or worse the machine itself, that’s also a gouge. Good verification software detects all of these conditions.
– Tolerance verification: With tolerance verification, you can import a 3D solid model of your finished part and the verification software will tell you how the simulated cut model deviates from it. Ideally, it can show you a color coded diagram that is marked with all the places where the g-code program either cut too deep or not deep enough based on the tolerances you’ve established.
– Full Machine Kinematics Simulation. This is the ability to show a faithful 3D reproduction of the machine with accurate modeling of everything from the machine’s physical travel limits on to even the exact performance envelope of the machine.
It’s tough to say exactly where CNC Simulation ends and Verification begins, but just because a package calls itself a Verification package doesn’t make it so. In particular, if it can’t do the 3D import of fixtures and finished part, if it can’t do gouge detection, and if it can’t do tolerance verification, you shouldn’t regard it as a verification package. It’s a fancy simulation package. True Verification software tends to be quite expensive, so caveat emptor (beware the buyer) if you seem to have found a cheap one. It may be too good to be true.
Simulators and Verifiers are extremely useful tools for CNC. There are a lot of other software tools available too. See our Digital Tooling article for a good overview of the different types that are available.

Exercises

1. Get some sample g-code and load it into G-Wizard Editor so you can play with the backplotting capability. If you don’t have any samples, try our sample file page for some downloads, including the files displayed in the screen shots for this G-Code tutorial.

2. Experiment with the different views available in G-Wizard Editor.

3. Experiment with both Mill and Lathe sample g-code. Remember, you’ll have to change your machine profile from Mill to Lathe and be sure an appropriate controller profile is selected to view the different file types properly.

Next Article: Part Zero, Touch Offs, and Zeroing

4 More Reasons CAM Users Need a G-Code Editor & Simulator

I get asked this question a lot:
Why would I need a GCode Editor Simulator when I’ve got CAM and it has a Simulator too?
For many CNC’ers, they think CAM means they’ll never need or want to deal with g-code. So why would they ever consider having a G-Code Editor / Simulator like our G-Wizard Editor? Wouldn’t it be redundant?
Honestly, to me that’s like asking why I’d need bacon if I already have eggs for my breakfast. The two really do go together extremely well (eggs and bacon or CAM and GCode Editors–both go well together!).
We have run a survey for a long time that asks CNC’ers what their knowledge of g-code is, and here are the results:
Look how few CNC’ers can’t really work much with gcode…
Most CNC’ers discover that if you’re going to be into CNC, you owe it to yourself to pick up a decent grasp of gcode. It really is useful and fun.
We’ve talked at length above about how to use a G-Code Simulator to verify your gcode is correct before it goes on your CNC Machine. Here are 4 more reasons CAM Users need a G-Code Simulator:

#1 – Making Little Fine Tuning Changes Much Faster than you can with CADCAM

Fine tuning your g-code can make a big difference…
Lots of times you get the g-code from CAM on the machine, and as you’re running it, there can be little changes you’d like to make. Change a tool number, adjust feeds and speeds, and so on. You could go all the way back through the CADCAM cycle to do that, or you could use a g-code editor to make these kinds of fine tuning changes quickly and easily.

Best Free Cnc Simulator Downloads

Some kinds of fine tuning are hard to impossible to do in CAM too. Those programs can be pretty stubborn about how they want to generate a toolpath given some geometry from a CAD model.
GCode editing gives you total control. Maybe you just need to change a retract motion a little bit to clear a clamp, for example. Or, slowdown that one certain point on the tool path that always lets out a sharp chatter squeal without having to slow everything else down.
Another great example of little changes is all the little tweaks that come up when you’re debugging a new production program or have a problem in the middle of the program you need to recover from.
Suppose the program is set up to run 8 parts at a time, and the endmill breaks after 5 parts have run. Do you rerun the whole thing and just let it cut air for the first 5 parts to finish up the remaining three? That’s really slow and painful. With a few minor tweaks to the g-code, you can run exactly what needs to be run and skip the rest.
That kind of situation comes up all the time during production. But, it also comes up constantly when making one-offs. In fact, it’s even more likely because you don’t have the luxury of perfecting the program across lots of parts. You need it to work for just one part. So, when things go awry, how do you rework things without constantly going back into CADCAM, a very slow process?
Or, let’s go the other way. Is it easier to lay 8 parts out on a fixture and CADCAM all of that, or just let the CADCAM deal with 1 part and use a little g-code programming to do the rest? The answer is, it depends on the job, but it can often be easier to use the gcode.
If you know a little g-code (and tools like GW Editor make that so much easier), you can do an amazing amount just tweaking and correcting the CAM-generated g-code.

#2 – Learning GCode

It’s useful to read g-code well whether or not you write much of it. G-Wizard Editor is an awesome learning tool for g-code. We have a lot of educational customers using it. Just the “Hints” feature that explains each line of g-code in simple English makes it a powerful learning tool.
If nothing else, you can’t make simple changes to g-code until you’ve learned a bit of g-code. But beyond that, being able to use g-code can really speed up tasks like Job Setup. Being able to use MDI efficiently to make the machine do exactly what you want as opposed to jogging it everywhere during setup will save an amazing amount of time once you get a little bit good at it.
We even offer a Free G-Code course that’s full of examples using G-Wizard Editor to make learning the gcode easy.

#3 – Making Simple Parts Without CADCAM: Conversational CNC

Sometimes you want to do something really simple, and running CADCAM seems like way too much trouble. For example, you need a simple square bracket with a few holes in it. If you had a manual machine, you could’ve made the silly bracket in the time it takes just to do CADCAM. This is where GW Editor’s Conversational CNC feature shines. It makes doing all this simple stuff with CADCAM really easy.
More about Conversational CNC here:
Conversational CNC coupled with a bit of gcode work is also handy used in conjunction with CAM. For example, GW Editor has a special Deep Hole Cycle generator. It lets you completely specify a custom deep hole cycle that uses all sorts of tricks to drill deeper holes that aren’t built any of the canned cycles already in the machine.
The next time a deep hole is giving you trouble, try using a custom deep hole cycle to fix it.

#4 – Doing Special Uber-Cool Things That Win Big

This one is my favorite because there are so many powerful possibilities!
Eventually, everyone discovers there are really cool things you can do with g-code that CAM just can’t help with. So, they start adding g-code to the CAM-generated programs to do these things.
What kinds of things?
These days it’s all about automation. The more you can automate, the faster and cheaper your manufacturing will be.
You may never need to do these automation tricks, or you may think they’re the bee’s knees. Either way, you can learn about them here:
G-Wizard Editor Makes it Easy
Here’s a look at why thousands of CNC’ers
trust G-Wizard Editor to make GCode easy for them too.

Cnc Lathe Simulator Free

There’s much more available with our

G-Wizard G-Code Simulator and Editor!

Like what you read on CNCCookbook?

Join 100,000+ CNC'ers! Get our latest blog posts delivered straight to your email inbox once a week for free. Plus, we’ll give you access to some great CNC reference materials including:
Just enter your name and email address below:
100% Privacy: We will never Spam you!

More articles you may like:

Writing G codes for manufacturing components from your design can be very time-consuming and may consume a lot of resources from your workforce. CNC router software is basically designed to generate G codes based on your design. You can also expect design optimization for particular manufacturing technique from the software. Following is the list of few of the best picked CNC router software.

Related:

EnRoute

EnRoute is a CAD/CAM sign making and digital finishing software solution. The software is paid software with the basic version offering features for design, toolpathing, 3D surfacing, Nesting, and production. The long list of features include a complete set of 2D CAD and editing tools, interlocking components creator, 3D relief surface cutting, carve into the surface, true shape nesting with 3 nesting engines, nest near obstructions, and save and reuse toolpaths for fast workflow.

CNC Machine

ConstruCAM 3D works with only one unitary data file- click and go. The software provides an interface for most of the standard formats, thus data can be adopted from AutoCad, coreIDRAW, and ADOBE Illustrator. The software has a long list of features including construction aids, editing, layer technique, tool administration, lines, cubic splines and complex pre-defined elements. The software has integrated “Relief” module to convert 2D or .stl file into 3D file.

Mozaik CNC

The CNC router software from Mozaik will take you from design to fully developed machine ready G-code with ease. Few of the features from the long list of this software offers are huge pre-defined parts giving you almost all the parts ready for drag-and-drop, intelligent joinery, intelligent algorithms to get optimized nesting, and the ability to control localized nesting. The software is available with a price tag.

LinuxCNC

LinuxCNC is the software designed specifically for Linux platform for controlling CNC operations. The software can be used to drive milling machines, lathes, 3d printers, and laser and plasma cutters. The software accepts G-code as input and drives CNC Machine in response. You can select your preferred GUI from a variety of GUIs. The software supports rigid tapping, cutter compensation, and many other advanced control features. This software is an open source CNC controller.

CAMotics for Mac

Free Cnc Simulator Training Board

Camotics is the CNC router software basically designed for Mac platform users. Camotics is open source software which simulates 3 axis CNC milling or engraving. Being able to simulate is the critical part of creating CNC tool-paths, and programming without simulating is just like cutting without taking measurements. With Camotics you can preview your cutting operation before you actually start the operation. This allows you to improve your design or optimize manufacturing process before the actual manufacturing begins.

Easy CNC for Windows

Easy CNC is the CNC router software basically designed for Windows platform users. Few of the features that this software offer includes full implementation in C++, compiling and loading with Arduino IDE, Doxygen documentation, G-code interpreter, High modularity with object oriented programming, and firmware support for RAMPS 14.

Best Free Cnc Simulator Software

Best CNC Router Software – GRZ CNC Software

GRZ CNC Software is the most popular software in the CNC router software category. The goal of development of this software is getting direct G codes ready for machining from your designs. Meshcam supports almost all the 3D drawing formats, plus it supports reading from a .dwg format to feature designs from drawings. The software also has an automatic toolpath wizard to get you machined workpiece without implementing time and knowledge for the manufacturing process.

How to install CNC Router Software?

Many of the CNC router software listed above offer a setup file, allowing an easy installation of the software. Few of the software in this category are portable, giving you access from anywhere with just one requirement of bootable USB device. CNC router software is basically designed for getting simulation before running actual machining process to get an idea of the performance and let you optimize the process before actually starting the process.
While some software in this category offers free service for the basic need of getting simulation, the number of features gets limited for the free version. If you are looking for fully featured software with advanced features like automatic G-code generator and optimization, the paid ones are for you. Each software offering some unique feature over others, it’s the question of personal preferences for selecting one of the best software listed here.

Best Free Cnc Simulator G Code

Related Posts