Click here to watch Tutorial Videos >

Stock-Aware Toolpath Accelerates CAM Programming-A Technical Overview

A stock model is generated in the background each time an operation is added. The status of the stock calculation is displayed in the list of operations.

Simulation for any operation can start instantly from the stock resulting from all previous operations.

A stock model of bar stock is sized to encompass a CAD model that represents the final part after all machining is complete.

The cutting tool will safely approach and exit the material when accurate stock limits are known.

Bottom-up roughing starts at a maximum allowable depth of cut, then increments the height of each cut upward.

A subsequent operation calculates toolpath only on the stepped areas between the remaining stock and the CAD model.

ESPRIT Facing calculates an optimal angle for cutting passes at each depth of cut, adjusting the cut angle as the shape of the stock face changes.

The system always calculates a safe start height for the tool based on the shape and orientation of the stock-even when the workpiece is rotated.

Approach and exit moves are optimized by the system to safely avoid stock while minimizing cycle time.

Optimal positioning along edges guarantees a clean finish.

An important technology in advanced CAM systems is stock awareness. As subtractive machining operations are applied to a piece of raw stock, the shape of that stock is continually changing with each pass of the cutting tool. If a CAM system has no awareness of these progressive changes to the stock, a toolpath will be created for material that no longer exists. To truly optimize the calculation of toolpath, a CAM system must be digitally synchronized with the real-world process of material removal.

Simulating toolpaths is another vital step for CNC programmers to ensure they have created safe, collision-free toolpaths. But as the number of operations increases, it is imperative that a programmer can immediately view the state of the stock at any point in the process without wasting time watching the entire simulation. This is particularly true for complex 3-D surface machining, which can take a long time to simulate.

To optimize toolpath and speed simulations, ESPRIT CAM utilizes an advanced stock automation engine to calculate and update stock models as operations are applied. This "stock awareness" allows for dynamic toolpath adjustments as the stock shape changes during machining. It also allows for simulations to start from any point in the programming process since the system is constantly aware of what is happening to the digital workpiece.

The ESPRIT Stock Automation Engine

The stock automation engine in ESPRIT automatically generates a stock model for each operation as operations are created or modified. The engine is completely integrated into ESPRIT and relatively transparent to the user, running in the background on a second CPU (Core) when available to calculate all stock conditions.

The benefits of the stock automation engine are twofold:

  • Optimize the calculation of the toolpath to only those areas where material remains to be removed.
  • Optimize simulation time by allowing a simulation to start at any step in the machining process.

Since stock models are always available and up-to-date, there is no need to simulate all operations from the beginning or for the user to manually save previous simulation states. A simulation can be started any time with the previous operation stock.

Stock automation is an option of the application. The software user has full control over whether the engine is enabled or disabled.

Accelerating the Calculation of In-Process Stock Models

To minimize the impact on document file size, ESPRIT does not store stock models in the document. Instead, all stock models are recalculated in the background as soon as a document is reopened.

For many documents, the recalculation of stock upon opening of the document goes unnoticed. However, as one operation after another is applied to the digital stock model, the model becomes more and more complex until adding even a simple operation can result in long calculation times.

The code behind the stock automation engine was refactored in ESPRIT 2017 to drastically reduce computation time. The new refactoring takes advantage of the raw processing power of modern computers to compute in-process stock in dramatically less time, even on complex parts.

  • Pocketing: up to 25x faster
  • Contouring: up to 3x faster
  • 3-axis mold roughing: up to 12x faster.

This refactoring is paying big dividends in computation speed, often reducing calculation time from minutes to seconds.

Stock Awareness Leads to Optimized Toolpath

ESPRIT utilizes the stock automation engine to continuously calculate the condition of the stock for toolpath calculation as well as simulation.

To imitate real-world machining as closely as possible, a CAM system starts with an accurate digital representation of the raw stock. The starting stock model can replicate any number of real-world stock types such as castings, purchased blocks or bars, extrusions, turned profiles or any other type of stock that can be represented by a solid model from a CAD system.

To help automate the process of estimating the size of standard stock, the system can automatically size a block or bar to the external limits of the CAD model to ensure the part model is fully encompassed by the stock.

The goal of machining, then, is to transform the shape of the stock as effectively as possible into the shape of the CAD model by progressively removing material.

When the CAM system has accurate knowledge of the starting stock, the system can consider the stock height and shape to calculate the optimal start height for the cutter and the optimal distance for tool lead-ins and lead-outs at each incremental depth of cut for safer, more reliable roughing operations.

Knowledge of the stock facilitates the calculation of improved types of toolpath like "bottom-up" toolpath for faster roughing. Bottom-up machining uses upward, rather than downward, incremental steps to not only remove material faster but to also attain a smaller residual stock height on the part surface for better finishing later.

Since ESPRIT tracks the actual stock condition during all phases of machining, the system reliably calculates toolpath that does not waste movement on areas where material has already been removed.

Stock Awareness Leads to Streamlined Programming

When the CAM system is stock-aware, it has precise knowledge of the in-process stock for more accurate positioning of the cutter. This knowledge allows the system to calculate optimal tool positions more quickly and accurately than manual programming.

Stock-aware toolpath calculation knows the perfect start height for the cutter, knows where to position the bottom of the cutter along edges for a clean finish, and can calculate the optimal distance for tool lead-in and lead-out at each incremental depth of cut.

To make programming faster and more reliable, ESPRIT offers programmers the option of letting the system handle the calculation of certain parameters internally for prismatic machining operations such as facing, rough pocketing and rough contouring:

  • Automatic calculation of safe start height to avoid collisions
  • Optimal tool overhang along edges for a clean finish
  • Optimal lead-in and lead-out distances to save cycle time
  • Optimal cutting angle at all incremental depths for fewer retract moves.

All these calculations can be handled internally by the system through accurate measurement of the stock model and cutter profiles.

With stock automation, the number of options displayed in the interface is reduced so that only key parameters are presented to speed the decision-making process.

Saving Stock for Other Set-Ups

Although the stock automation engine does not save calculated stock models with the document, any stock model for any operation can be saved to a separate file.

ESPRIT supports the export of two file formats: STL or SIM. The SIM format is native to an ESPRIT simulation. An STL file is a triangulated representation of the simulation stock.

When saving the stock in SIM format, the stock retains the same quality and cutting colors of the tools as the current ESPRIT simulation. However, a SIM file can only be used in ESPRIT. If users want to use the stock model for purposes other than simulation in ESPRIT, they should save it as an STL.

An STL model of the stock can be used for multiple purposes in multiple systems. For example, a stock model saved as an STL file could be used as the basis for other machining methods such as wire EDM, or in work set-ups on other machines.


As we synchronize the virtual and physical worlds, stock awareness brings significant advancements to the way a CAM system interacts with subtractive machining processes. CNC programmers have many options for transforming a piece of raw stock into a desired part shape. A CAM system with stock awareness lets programmers focus their effort on getting the best results, while the system constantly monitors the stock-in-process to ensure collisions are avoided and time is not wasted on air cutting. Stock-aware toolpath accelerates the programming process to make the most effective use of human time and machine time.

Authored by DP Technology

For more information contact:

DP Technology Corp.

1150 Avenida Acaso

Camarillo, CA 93012

800-627-8479 / 805-388-6000

< back