NC Simul

Is a virtual CNC machine builder that simulates actual G code. It does both machine and solid cut part simulation. NC Simul is faster, cheaper and better than CG Tech Vericut and it's a software product that is brilliantly designed and is a pleasure to use. Many CADCAM users are use to having to deal with saving, exporting, importing and managing .STL files when they do verification in a product like Mastercam. Not only is this a major time waster and a huge hassle but you aren't given the proper tools to get the job done quickly and efficiently. In the descriptions and screen shots I've created below you will see that NC Simul has an entire user interface for handling verification and for properly setting up part and machine verification.

NC Simul is capable of doing multiple machine process simulation at once. See the screenshot below for an example:

When you're using NC Simul it becomes clear that it is a product that has been designed by programmers who truly understand the machining process and what it takes to simulate real world conditions.

NC Simul Works Using A 3 Step Process:

Step 1: 

When you load your program NC Simul checks your program for syntax errors (unauthorized codes, omitted parameters and typos), it checks to see if all the tools your program calls are in NC Simul's Tool Library, it checks that all needed sub programs are in memory, it checks incorrect interpolations and motion (if tool compensation is possible), it then shows you the wireframe toolpath overlaid on your rough stock. Finally it checks the machine limits.

Step 2: 

You do a code simulation within the Machine environment and look for machining and material removal issues. NC Simul checks that there is no rapid motion in the material, it checks for motion with the spindle stopped and it allows you to troubleshoot and repair collisions in dynamic mode. NC Simul warns you if you are using the non-cutting part of the tool and it calculates the volume of material removal for each tool motion.

Step 3: 

NC Simul has a rich set of analysis and measurement tools that allow you to measure the machined part geometry and compare your machined rough stock to the solid model of  your part. The ability to section the machined rough stock is provided.

The NC Simul workspace is divided into 5 areas which I've labeled 1-5 in the screen shot below:

Area 1:

Is called The Resources Window. It contains a tree structure for both Users and the Utilities. You drag objects from the tree structure in drop them into Area 2 which is called The Job Window. The Users Tree contains objects like Machines, Clamps, Rough Stocks, and Parts. The Utilities Tree contains special operations that help you setup your simulations and are very powerful tools. These special operations are called, Mounting, Put, Remove, Transformation, Initialization, Save, Imprint, Comparison, Probing Activation, Stop Probing, Machine Synchronization, Channel Synchronization, Activation of the Machine, Sequential Mode Activation, Stop Sequential Mode and Floor.

Area 2: 

Is called the Job Window. The Job Window defines the list of objects (controls) that create your machining simulation. You use your mouse to drag and drop Machines, Tools Libraries, Clamps, Rough Stocks, Programs and the Special Operations I listed above from the Utilities Tree and the Users Tree into the Job Window to create the scenario you want for your machining simulation.

Area 3:

Is a tabbed message and information window. Messages are displayed under different Tabs depending on the events that cause them. ISO code checking, collisions, various machining tests, variables, etc. Placing this information at the bottom of the graphics area is in my opinion an excellent choice. In feel very few CADCAM programs make proper use of the bottom of the graphics area in this way.

Area 4:

Is the 3D graphics Window. You can open several Windows and observe your simulation from a part view, a machine view and from different perspectives.

Area 5:

Is your program Window.

Without an easy to use and powerful drag and drop user interface like NC Simul has it's not practical in a machining job shop to bother with multiple different Part and Machine verification because it takes a ridiculous amount of time to set it all up. Setting it all up in NC Simul is quick and easy and it's really a true pleasure to use! Rarely have I ever enjoyed using a CADCAM product like I do NC Simul! NC Simul is also very fast at doing Part and Machine simulation. Much faster than Vericut!

Below are two screen shots that show Operation 1 being Machine simulated immediately and automatically followed by Operation 2 being Machine simulated:

One of the items you drag and drop from what NC Simul calls a Resources window (top left side of the screen shot above, looks like a file tree) is an icon with a gear on it called: Initialization. Initialization is where all your compensations fixture offsets, etc get entered. I'll be detailing what all the tabs are for later and including more screen shots.

NC Simul can simulate one step at a time. It's can also reverse simulate one step at a time and put material back on the part! It has a built in editor and controls to easily allow you to move, manipulate, store and manage your program, parts, rough stocks, fixtures, clamps and tool library files. Make an change in the editor and NC Simul automatically puts you back where you made the change so you don't have to start the simulation all over from the beginning which is a very nice feature!

NC Simul allows you to define any tool you can imaging and it also allows you to build and manage extensive tool libraries for your machines. The tool creation and tool management in NC Simul puts most CAM programs to shame.

The following screen shots shows the extensive options for easily moving your parts, fixtures, clamps, rough stocks, etc. into place. It has many nice features such as options for setting placement when items make contact with each other. I find this to be a very handy tool for getting items located exactly where I want without having to know exact measurements of the items or doing calculations. Here is what the dialog Window for placing the elements that I described above looks like:

As can be seen below the user interface for defining your rough stock has all sorts of options for creation and management including layer control. The rough stock user interface in NC Simul can define rough stock from scratch, use existing parts that are automatically saved from previous machining simulations, create rough stock that surrounds existing parts, toolpaths, etc.

Like the Tool Library and Tool Definitions shown above the rough stock user interface in NC Simul has an incredible amount of options that put most CAM programs to shame. As can be seen it's a very powerful, comprehensive and beautifully laid out user interface and it makes managing and creating rough stocks a pleasure rather than the huge hassle a user normally is forced to deal with in most CAM systems.

Building a virtual CNC machine is done with a separate program called NC Motion which is included with NC Simul. Here is what NC Motion looks like:

The definition of a virtual CNC machine in NC Simul is made of up several elements which include a kinematic description, a definition of the NC Controller, operating parameters and your CAD files.

A new virtual CNC machine is created in a series of steps. The first thing you do is use the CAD software of your choice to create a model of your CNC machine. The following rules apply when you are creating a virtual CNC machine in the CAD program of your choice: You create one CAD model for every machine axis. All your CAD models must have a common origin which is the spindle nose for most CNC machines or the pivot point for a 5-axis twist head machine. Machine axis must be drawn at the zero position. It's a good practice to name each CAD file after its specific movement. Examples of what I mean are: x.igs, y.stl, etc. All CAD models must reside in the Machine Directory.

The kinematic description for your virtual CNC machine is created with the NC Motion program and saved in the Machine Directory. You use the NC Motion program included with NC Simul and shown in the screen shot above to to describe the machine kinematics.

Next you prepare an NC controller. The best and easiest way to do this is to start with an existing controller. NC controllers are a key part of NC Simul and the latest controllers are available for download on Spring Technologies website.

Finally you assemble your virtual CNC machine in NC Simul. This is what the user interface for assembling your virtual CNC machine looks like:

NC Simul allows you to very easily develop and test probing routines for your parts. The probe points are memorized when you drag and drop the Probing Activation Function from the Utilities List (top left in the screenshot) into your Job List (bottom left in the screenshot). The probing instructions are decoded and memorized during the loading of the job so it's not necessary to start a simulation in order to memorize and load the list of probed points.

The screenshot below shows the interface that NC Simul give you for checking the status of the variables. By clicking on the lines in the Point List the simulation will automatically move to the probe position in the program. On the right is the Position Of  The Axes at the time of contact. A drop down list allows you a choice of displaying Program or Machine coordinates. As can be seen the Points List Table contains: the number of the point, the element the probe made contact with and the main program where the probing code is located. Below the Point List Table is a text box that shows: Position in the program and the code for each point clicked on in the Point List Table.

To manage your NC Simul projects without opening up each project and examining it, NC Simul has its own Job Explorer which visaully shows you a scrollable window (if needed) of the Job (see lower right side of the screenshot below) and your Part or Machine Simulation as it was when you last saved the project:

In addition to the NC Simul Job Explorer you are given Explorers that work inside of NC Simul (available by right clicking in the Resources Window on the Tree structure) for managing your Parts, Clamps, Machines and Rough Stocks. Below are screenshots of each:

When NC Simul detects a machine crash the first thing it does is stop the simulation and highlight the crash in the graphic area by making the components that crashed into each other red:

As you continue with the simulation NC Simul creates a red, dashed circle showing where the crash between components occurred. It also lists the error under the Alerts tab in the Information Window and highlights the line of code that caused the crash in the Program Window. The screenshots below shows what this looks like.

The final step is to check your machined part against you original solid model. NC Simul gives you many tools to check to see how the machined part compares to the solid model of your part. As can be seen in the screenshot  below you have a color map that does a comparison of the machined part to the finished part and highlights the differences based on the tolerances you specify. This is a very helpful tool because it quickly points out where small areas of stock that haven't been machined remain that can't be seen by eye:

When your dealing with .stl models regular CAD measuring tools don't work. NC Simul gives you a full set of tools for dimensioning .stl models which are polygonal models. You need to pick up the vertexs and edges to make polygonal measuring tools work. In the screenshots below you will see how I measured the distance between two holes using NC Simul's measuring tools for working with polygonal models:

Here I picked the "hole center distance tool" from the NC Simul Measuring Toolbar and then zoomed on one of the holes and picked a vertex.  The screen shot below shows the result:

I then zoomed in on the other hole and this screenshot shows the result:

Its been pointed out in comments on this blog that NC Simul has not had a direct user interface for Mastercam X5. Below is a screen shot showing that it has been developed. I'm told it will be released next week. I personally didn't and don't feel that a lack of a direct user interface was a deal breaker or even that big of a deal but others may feel differently.


  1. Great post, it's clear and well documented

  2. I'm doing a test between Vericut and NCSIMUL, not impressed yet with NCSIMUL. The inspection tools need more development, it's hard to pick the diameter of a part to an edge of an insert. Vericut cut what they call profile view for a lathe which makes this measurement very easy and fast to do. NCSIMUL built a lathe for us to demo the software at a cost and it is still not to my liking. Speed is important but ease of use and a solid support staff is extremely important.