Feature based machining

Feature based machining is a simple idea, that a part consist of features, simple geometrical shapes like holes, pockets, slots, grooves, chamfers etc. and knowing parameters of those features, their purpose, one can design a machining sequence to machine a part. For example, knowing the diameter of a hole, and its depth, and the purpose of a hole, whether it's a screw-hole, or a construction hole, or a precise hole, as well as the material of a workpiece, one can select appropriate tools and machining cycles and their parameters to machine this hole.

The main goal of feature based machining in SprutCAM is to make the process of creating machining sequences as simple and straightforward as it only could be. We don't want to decide for you, the expert, when and what operations to use, we just want to help you in this process. And this is why we decided to go the "interactive" way.

How to use it (typical workflow)

  1. To create a new FBM Mill operation just select it from the New operation popup.



2. You will see the following picture in the graphic view.


All the features SprutCAM knows about, and are contained in the current part are recognized, grouped, put into a tree and colored so that similar features have the same color.

For now SprutCAM recognizes two types of features: simple holes and stepped holes.

You can simply hover the cursor over a feature and you will see its dimensions; the similar features will be highlight as well.


3. Click on a feature you want to machine, and you will see an action bar. In this action bar click on the feature name, and the feature operation list, or machining sequence will appear. At first it is empty.


4. Hover the cursor over the Add Operation...  menu to see the list of the operations, that are applicable to the selected features. If a feature has sub-features, like this one 3-step hole, you will see sub-menus for every sub-feature.

Select operations you want to use with the feature by clicking on them.


5. The selected operations will be added to the feature machining sequence. For every operation in the machining sequence you can see and edit its name, the number of the used tool and the tool itself. You can reorder operations simply by drag&drop, you can delete operations by clicking on the cross next to the operation, you can select the tool for an operation from the used tools list, you can add a new tool to the used tools list, you can change the tool itself by selecting it from the tool database.



6. The selected feature will be marked as ready and put into the Job group in the tree. On the screen it will be outlined with glow-green. The operations you've added to the machining sequence of the feature will be added as child operations of the FBM MIll group.


7. Now repeat the process with other features you want to machine in the current FBM Mill group, e.g. add 3x5 mm hole drilling.


8. To change the way operations are added to the resulting operation list use the options from the Strategy tab.


9. To change parameters of the operations, use the inspector.


10. Now click Run to generate the toolpath, and you are done.

Feature tree

The features are organized in a tree. There are 3 main groups in it: Job, Due and Ready.


  • Job features are the features you machine in the current operation.
  • Due features are the features that are not machined yet.
  • Ready features are the features you already have machined in other FBM mill operations.


Those are special groups: if one is collapsed, the features inside it are not displayed. The Ready group is collapsed by default, and so you do not see the features you already have machined, but if you want to, you can expand this group and you will see the already machined features.


The other groups include planes, levels, feature types, top and bottom levels and other. The scheme by which the features are grouped is not fixed and can be simply changed. Just hover the cursor over the Features node and you'll see the controls, among which there is "Define group order" dropdown. Click on it, and you will get access to the Group scheme. You can enable and disable group categories here by checking the boxes and you can reorder them by drag&drop.


Filtering features

Filtering is hiding or showing features by some criteria for convenience' sake. For now there is only one filtering option available - filter by plane. When enabled, only features that share the same plane orientation are displayed. To apply it select one or more features that lie in the desired plane orientation(s) and click the Filter by plane button either in the action bar or in the tree controls. To disable the filter click this button again.

Feature types

Simple hole feature

A simple hole has the following parameters.

  • Diameter
  • Height
  • Height to diameter ratio
  • Taper angle
  • Circumference angle
  • Chamfer angle
  • Chamfer size
  • Type (through/blind)
  • Tip angle.

Stepped hole feature

A stepped hole is a complex feature. It consists of one or more steps each of which is a simple hole. It means a simple hole may be viewed as a special case of a stepped hole with only one step.

Feature machining cycles

A feature machining cycle is a small operation that generates a toolpath for one feature. There are following machining cycles implemented in SprutCAM.

Feature type

Machining cycle


Simple drilling


Drilling w/dwell


Drilling w/chip breaking


Drilling w/chip removing




Tapping w/chip breaking


Tapping w/chip removing


Hole boring 5


Hole boring 6


Hole boring 7


Hole boring 8


Hole boring 9


Hole back boring

Stepped hole

Hole pocketing

Stepped hole

Hole contouring


Chamfer contouring

Stepped hole

Spot drilling

FBM procedures library

Feature based machining in SprutCAM works on top of the FBM Procedures library. When you open the Add operation... menu to add a new operation to the feature machining sequence, you see only applicable operations, and for every operation you immediately see the tool which SprutCAM automatically selects based on the parameters of the feature, and when you create an operation, parameters of it are reasonable by default. All this magic is not hard-coded, but is backed up by the library of FBM procedures. To open the FBM Procedures library window, hover the cursor over the Features node in the graphic view and press the last button in the row.




A Feature machining procedure, or FBM procedure is a template of a feature machining sequence. In short, this template specifies what tools and machining operations should be used to machine a specific type of feature. It consists of 3 main parts.

  1. Feature constraints.
  2. Tool queries list.
  3. Operations list.

Feature constraints specify the type of a feature which this template is for, and the constraints the feature has to meet. These constraints are specified in the form of expressions of feature parameters. For example, let's say you want to create a template to machine a shallow round pocket with a chamfer. Then feature constraints will be like:

  • Feature type=hole
  • Height/Diameter<=1
  • Type=Blind
  • TipAngle=180
  • TaperAngle=0
  • ChamferSize>0

There are follwing types of expressions that can be used in feature constraints:




=(optional, may be omitted)

Less than


Greater than


Less or equal


Greater or equal




Tool queries list specifies the number of tools and the tools themselves, their parameters, to be used in the template. The parameters of a tool can be expressed in terms of the parameters of a feature.  For example, let's say, you want to machine your round shallow pocket with an end mill, then the tool query will look like.

  • Number of tools=1
  • Tool1.Type=EndMill
  • Tool1.Diameter=0.2*#Hole.Diam..0.8*#Hole.Diam
  • Tool1.WorkingLength>=#Hole.Height

To reference a parameter of a feature in the tool query just type #, and the list with available parameters will appear.


Operations list specifies the number of operations and the operations themselves, their parameters, to be used in the template. For every operation in the list you set the number of the tool from the tool queries list to be used in the operation, the cycle type, and the cycle parameters. Additionally you set the caption, the icon file, the technological group of the operation (preparing, roughing, semi-finishing, finishing, completing).


Operation generation options

Job features together with assigned machining sequences are the job assignment of a FBM Mill group operation. Based on this information FBM Mill group generates feature machining operations and puts the features to the job assignment of those operations. There are two options that affect how operations are generated.

1.Minimize tool changes

If this option is enabled operations are generated in such a way to minimize tool changes. It means, operations that use the same tool are put near each other.

2. Unite operations with the same tool

This option is available only when Minimize tool changes option is enabled. If unite operation with the same tool option is enabled, then instead of generating several operations for every feature type that use the same tool, only one operation is generated and all the features are put into the job assignment of this operation. It allows to minimize time spent on transitions between the features, as now SprutCAM can traverse features in a more optimal order, by the shortest path.


Feature machining operation

A Mill feature machining operation is a special type of SprutCAM operation. You can not create it directly, but this type of operation is generated inside the FBM Mill group automatically. The main characteristic of this operation is that it can machine any type of features. It is possible because all the parameters of the feature machining cycles are stored in the features directly and independently of each other. That allows to combine in one operation machining of different types of features with different types of cycles, if those cycles use the same tool.

Editing parameters of feature machining cycles

The fact that in one operation can be machined features with different cycle parameters and even different cycle types makes editing parameters of the cycles somewhat tricky, but don't worry, it's not so bad. When you stand on the feature machining operation you see parameters of the feature machining cycles in the inspector. If no feature is selected, than parameters of all features in the job assignment are displayed. If there are selected features, than parameters of only selected features are displayed. Every type of a cycle is displayed in a separate sub-tree. For example, if there are pocketing and drilling cycles in the same operation, parameters of them will be displayed separately.The differing values of parameters are colored gray so you can visually distinguish them. When you edit a cycle parameter in the inspector, you edit it for all selected features, if there are selected features, or for all features in the job assignment if no feature is selected.


Working with machining sequence


The machining sequence panel is accessible either by selecting a feature in the graphic view and clicking on the feature name in the action bar that appears, or by clicking on the feature status icon in the feature tree, which looks like a piece of paper with the number of operations in the machining sequence of a feature written on it.

The main things you can do in the machining sequence panel are:

1. Add a new operation.

2. Delete an operation.

3. Rename an operation.

4. Select the tool for an operation from the used tools list.

5. Create and add a new tool to the used tool list.

6. Change the tool by selecting it from the tool database.

Whenever you make a change, the operations in the FBM Mill groups are regenerated.