HSM CAM Tips and Tricks: Equation-Driven Parameters

I will be publishing quick Tips and Tricks regularly to help make you more productive and to capture your best practices.

One of my favorite such tricks is using “smart fields” or equation-driven parameters.

Virtually all fields in the CAM interface that accept numerical values can also accept equations that reference constants or reference other parameters/fields. Right-clicking on the field and selecting “Edit Expression” brings up an input box wherein you can enter a constant value or build at equation. Once you are done, right-click again and select “Make Default” so that this change is remembered the next time you use this machining strategy again.

An example where a constant might make sense is plunge feed rate for operations other than drilling operations. Indeed, this is an approach speed that is largely independent of tool type or size. Perhaps you want this to always be a nice and slow 20 IPM until the program is proven safe. Stock-to-leave is another parameter that could be set to a constant.

Referencing another parameter introduces more power. For example, several parameters can be made dependant on the cutting feed rate.

Indeed, you can set the lead-in and lead-out feed rates to vary proportionally with the cutting feed rate. Similarly, the reduced feed rate for inner corners specified under “Feed Optimization” should also vary proportionally with the cutting feed rate defined under “Feed and Speed”. An expression referencing cutting feed rate would look like this:

(tool_feedCutting * 0.5)

Several parameters can be made dependent on the tool diameter. Indeed, stepovers and stepdowns are prime candidates, as are lead-in/lead-out segment definitions, spiral entry diameter, and stock-to-leave values. An expression referencing tool diameter would look like this:

(tool_diameter * 0.5)

Finally, expressions can contain logic and can combine the two approaches described above.

For example, stock-to-leave might be controlled by an expression that considers tool diameter, but defaults to a minimum value below a threshold tool diameter.

(tool_diameter >= (.250in) ? (tool_diameter * .05) : (.010in))

Expressions can be as complicated as you can make them. They just need to respect JavaScript syntax.

A complete list of parameters that can be used in expressions is found here:


Investing two hours into setting up expressions for various machining strategies can go a long way towards capturing your best practices and automating HSM CAM, resulting in increased programming consistency and decreased programming time.