VisualCAMc is the first full-cloud, production-ready CAM solution that allows you to perform CAM programming from anywhere and on any computer from your Onshape account. VisualCAMc is currently in a free beta program and is available now in the Onshape App Store.

For a quick overview of the benefits of our new Integrated Cloud App, watch the video below:

Wistia video thumbnail - Onshape As A Platform: VisualCAMc

Thanks for reporting a problem. We'll attach technical data about this session to help us figure out the issue. Which of these best describes the problem?

Any other details or context?


This release from MecSoft Corporation builds upon years of product innovation development of our flagship desktop product, VisualCAM. Manufacturers, furniture designers, prototypers, makers and machining enthusiasts all say they use MecSoft’s CAM products for one very simple reason – they are fast and easy to use.

To illustrate this point, let’s take a look at how to program a 2½-axis Onshape part in just minutes using the intuitive VisualCAMc user interface.

2½-Axis Walkthrough

In this section, we’ll take a VisualCAMc test-drive to program a simple fixture plate using 2½-axis machining strategies. You’ll quickly realize that the wizard-driven machining browser in VisualCAMc makes programming easy and painless. Each of the Parameters tabs contains default values that work well for most cases, but can be adjusted to suit your machining needs. We begin with a review of the Part & Setup procedure, then move on to selecting and generating the toolpaths strategies needed to cut this part. We then wrap up with creating the posted g-code file that will be sent to the CNC machine to cut the part. For a 3-axis walkthrough, please see our previous blog post on “How to Generate G-Code For Onshape Models From Anywhere in Minutes.”

Okay, let’s get started!

The Part & Setup

In the illustration below, we see our fixture plate part being setup in VisualCAMc. This process includes defining the Machine, Post, Stock and Work Zero definitions. The Machine defines the orientation of the part on the table of the machine tool. The Post defines the post-processor that matches the controller on the CNC machine. You can choose from over 300 available posts supporting the most popular machine controllers. The Stock defines the length, width and height of the material you are cutting, and the Work Zero defines the machine home position on the stock. The VisualCAMc Toolbar, located across the top of the screen, provides easy access to each of these tools. 

Defining the Machine, Post, Stock and Work Zero in VisualCAMc 


Your Machining Job tree will now look like this

The Machining Strategy

VisualCAMc offers a complete set of 2½-axis, 3-axis and Hole machining strategies. For this part, we will be using the 2½-axis Facing, Pocketing, Slotting, Drilling and Profiling strategies. Our fixture plate is ⅜” thick with pockets, slots and holes. We will be cutting these features in two levels of 0.188” deep for each cut level. The holes will be drilled through. (For a sample 3-axis part, see this blog.) The animations below illustrate how easy it is to program each of these toolpaths strategies using VisualCAMc.

Selecting Machining Regions

Machining Regions for an operation can be selected at any time while the operation dialog is displayed, but before you select the Generate Toolpath button. You can select an Onshape sketch or surface edges of the part. You will notice that right-clicking on an edge will automatically select the entire chain of edges. In the future, if you do not want to chain-select, just select using a left-click and only one edge will be selected at a time.


Selecting Machining Regions in VisualCAMc

2½-Axis Facing

The Facing strategy is used to machine the top of the fixture plate to ensure that it is nice and flat. A ½” diameter flat End Mill is used for this cut that is contained to the outer perimeter of the part. For facing larger parts, you can also use Face Mill cutting tools. In the “General Parameters” section, we can set Global Parameters such as Tolerance and Stock allowance. Here we can also set the Cut Pattern, Cut Direction and Stepover Distance among other parameters.

The Cut Levels tab is used to control where the cut begins and its Z depth values. The Entry/Exit tab controls how you want the cutting tool to approach and engage at the start of the cut and how it should depart and retract at the end of the cut. Linear, radial and ramp motions are supported. On the Advanced tab, we will use the Cut Corner Rounding option. This will eliminate any sharp corners in the toolpath, extending the life of your cutting tool and also reducing vibration during cutting – which in turn helps to extend the life of the mechanical components of your CNC machine.


2½-axis Facing clears the top of the part to the selected perimeter region


Your Machining Job tree will now look like this

2½-Axis Pocketing

Pocketing is used to machine the large center cut out on the fixture plate using a ¾” diameter End Mill. With the High Speed Cut Pattern, 60% stepover and Cleanup Passes at each cut level, this strategy makes clean and fast work of cutting this pocket. Like the plate, the pocket depth is ⅜” passing through the part and will be cut using two levels each 0.188” deep.

Here is a look at each of the six available Pocketing cut patterns in VisualCAMc. The Offset Spiral, Linear and High Speed patterns are shown with a perimeter clean up pass.


Pocketing Cut Patterns in VisualCAMc


2½-Axis Pocketing with the High Speed Cut Pattern


Your Machining Job tree will now look like this

2½-Axis Slotting

The Slotting toolpath strategy is used to cut the two slot cut-outs on the front end of the fixture plate. The width of the slots is 0.61” and we will use 0.61” diameter End Mill to cut them. Similar to the Pocketing toolpath operation shown above, we will cut ⅜” deep at two cut levels each at 0.188” deep. Notice the option to Determine open/closed ends using 3D Model. This allows you to machine many slot configurations even if they pass completely through the end of the part (referred to as an open slot).


2½-Axis Slotting, single pass, multi-level using a Flat End Mill

media-20180212 (1).png

Your Machining Job tree will now look like this

2½-Axis Drilling

For the two holes located at the back of the fixture plate, we will use the Drilling operation and a ⅜” diameter drill. VisualCAMc now supports Standard Drill, Deep Drill, Countersink Drill, Breakchip Drill and four User Defined Drill cycles. To demonstrate, we will use the Breakchip Drill option with a ⅛” peck step increment. We will cut ⅜” deep and automatically add the drill tip thickness to the depth of cut ensuring a complete through hole is machined. 

Drill Types supported in VisualCAMc


Breakchip Drilling ⅜” diameter through holes with a peck increment of ⅛”


Your Machining Job tree will now look like this

2½-Axis Profiling

Now let’s Profile cut the outer perimeter of the fixture plate using a ⅜” diameter Flat End Mill. We will set our Stock value to zero and set Compensation to AUTO/ON. With Compensation enabled, the posted g-code will enable the Haas controller’s cutter compensation register. Again, we will cut two levels at 0.188” each using linear entry exit motions.

More About Cutter Compensation

Cutter Compensation is used to compensate for the difference in the dimensions of the actual cutter used in machining and the cutter used for programming in VisualCAMc. You will notice that the cutter we use in VisualCAMc is a 0.500 inch diameter end mill. Let’s say for example, that due to tool wear, the actual cutter on your CNC machine is only 0.495 inches in diameter. The offset difference of 0.005” for this tool can be compensated for in your CNC controller rather than you having to program the operation again in VisualCAMc.

Cutter Compensation offsets on CNC controllers is often used in volume production machining when tool wear affects critical part dimensions. In production, the CNC operator will check (with a calliper, micrometer or other calibrated measuring device) critical part dimensions. This is done after the initial setup AND after every tool change. It is referred to as a first-piece-inspection.

If the machined part dimension measures outside of the allowable tolerance range, the operator will adjust the offset value for that tool on the controller, machine another part and check the measurement again before continuing with production. The procedure is also typically performed after every 100 parts machined.

light bulb.png

What You Should Know Before Enabling Cutter Compensation

Here are some additional things you should know before enabling Cutter Compensation in your toolpaths:

  • Make sure your controller supports the following codes: (G40) Compensation OFF (G41) Tool Radius Compensation Left and (G42): Tool Radius Compensation Right.
  • Cutter Compensation only makes sense in 2½-axis toolpath operations. If you are using roughing (pocketing and facing), the compensation will be turned on only during the final pass.
  • Make sure you are not using a Zig-Zag cut traversal (also referred to as a Mixed Cut Direction) in any of the methods that you want to turn compensation on. See our blog post, “Understanding Climb vs. Conventional Milling” for more information about Cut Direction.
  • Make sure you begin with a linear motion whose length is at least equal to the diameter of the cutting tool you are using. If your first motion is an arc, the controller will not be able to turn on the compensation. Thus, in 2½-axis profiling, make sure there is a linear entry motion.


Your Machining Job tree will now look like this

Toolpath Simulation

Now that all of the required toolpaths are complete, it’s time to perform a toolpath simulation. During the simulation, each tool motion type is listed along with the GOTO coordinates used.

Post Processing

Once the toolpaths are generated and simulated and we are happy with the toolpaths we programmed, we’re ready to post g-code for our Haas controller. You can post-process one or more toolpath operations by right-clicking on them and selecting Post-Process. You can also post the entire setup or entire Machining Job. Once post processing is complete, the g-code file is downloaded to my local computer and displayed in notepad where I can review it prior to running it on the CNC machine.

Let’s Review:

  1. The Setup procedure is the machine environment unique to the part you are machining. It defines the Machine, Post, Stock and Work Zero.
  2. The machining strategies used for this fixture plate were Facing, Pocketing, Slotting, Drilling and Profiling. The Pocketing, Slotting and Profiling were machined in two cut levels each. The Drilling was performed using a Breakchip method at ⅛” Peck Increments.
  3. Each toolpath was simulated and the entire Setup was posted to a g-code file for the Haas controller, downloaded to my computer and displayed in notepad for my final review.

Try It Yourself

If you want to learn more about the VisualCAMc Milling plugin for Onshape, check out MecSoft’s Products Page, Tech Blog and YouTube Channel for what’s new, specifications, videos, tutorials and more. To join the free VisualCAMc Beta program, go to the Onshape App store and add VisualCAMc to your Onshape account.


Try VisualCAMc For Onshape
This powerful cloud-based CAM tool works directly inside your Onshape Documents.