Automatically detects the flat areas of the part for machining.

Manufacture > Milling > 3D > Flat ![]()
This strategy detects all the flat areas of the part and clears them with an offsetting path similar to the 3D Offset Roughing or a 2D Face strategy. There is an option to cut down to the horizontal face in stages, which means this strategy can be used as a semi-roughing and finishing toolpath.
When the flat area is shelved above the surrounding areas, the cutter moves beyond the flat areas to clean the edges.
Press Select to access the tool library. See the Tool Library reference for more information on selecting tools.
Spindle and Feedrate cutting parameters.
When selected, this provides additional controls for collision handling. Collision detection can be done for both the tool shaft and holder, and they can be given separate clearances. Choose between several modes, depending on the machining strategy.
This function increases the number of calculations that need to be performed. This may effect the performance of your system on very large projects.
| Shaft & Holder Off | Pull away | |
![]() |
![]() |
|
| Does not calculate for any shaft/holder collisions. | Pulls the toolpath away from the workpiece to maintain a safe distance between the shaft and/or holder. | |
| Trimmed | Detect tool length | |
![]() |
![]() |
|
| Reduces the travel of the cut to avoid a collision with the holder. | Automatically extended the tool further out of the holder to maintain the specified safe distance between the shaft and/or holder and the workpiece. A message indicating how the far the tool is extended out of the holder is logged. |
Fail on collision - The toolpath calculation is aborted and an error message logged when the safe distance is violated.
3-axis - Use 3-axis machining to target areas specified by the machining boundary.
Polar - Useful when machine travel is limited or when rotary motion of the table provides better access to the part. For more information, see Polar machining.
5-axis - Lets you specify the machining areas automatically, manually, or using a combination of both methods. Cutting motion occurs using 3+2 axis motion, while transition moves use 5-axis simultaneous motion. For more information, check 5-axis machining page.
The tool orientation defines the cutting plane on a part. By default, the Z axis of the work coordinate system (WCS) that is defined in a setup sets the orientation of the tool. You can override the tool orientation set by the WCS using the Tool Orientation group of settings.
For more information, check the Set a tool orientation page.
The Geometry group defines which flat areas to machine and how the toolpath is limited on the part. By default, Fusion detects flat areas automatically. Use Machining Boundary and related options to target a specific region, control how the tool relates to the boundary, and specify options such as rest machining and hole handling.
Machining Boundary specifies how the toolpath boundary is defined. The following images are shown using a 3D Radial toolpath.
| Silhouette | Selection | |
![]() |
![]() |
| Bounding box | Silhouette | Selection |
![]() |
![]() |
![]() |
| Defined by the rectangular extents of the part as viewed from the WCS tool plane view (Top) | Defined by the shadow edge of the part profile as viewed from the WCS tool plane view (Top) | Defined by a selection that can be edges of the model or a sketch boundary. |
None - Defined by the stock size specified in the Setup. Not available for all machining strategies.
Use tool containment to control the tools position in relation to the selected boundary or boundaries.
| Tool inside boundary | Tool center on boundary | Tool outside boundary |
![]() |
![]() |
![]() |
| The entire tool stays inside the boundary. As a result, the entire surface contained by the boundary might not be machined. | The boundary limits the center of the tool. This setting ensures that the entire surface inside the boundary is machined. However, areas outside the boundary or boundaries might also be machined. | The toolpath is created inside the boundary, but the tool edge can move on the outside edge of the boundary. |
An additional offset can be applied to the selected boundary/boundaries and tool containment. A positive value offsets the boundary outwards unless the tool containment is Inside, in which case a positive value offsets inwards.
Examples shown with Tool Containment set to Tool center on boundary.
| Negative offset | No offset | Positive offset |
![]() |
![]() |
![]() |
| Tool is offset inside | Tool stays on the boundary | Tool is offset outside |
To ensure that the edge of the tool overlaps the boundary, select the Outside tool containment method and specify a small positive value.
To ensure that the edge of the tool is completely clear of the boundary, select the Inside tool containment method and specify a small positive value.
When selected, extends the Machining boundary limits of the cut position to where the tool touches the part, rather than the tools center position. In the illustration below the red line indicates the machining boundary edge selection, as viewed through the tool plane. The blue line indicates the tool contact point.
The difference is illustrated below on a Parallel toolpath using a ball end mill.
| Deselected | Selected | |
![]() |
![]() |
|
![]() |
![]() |
When selected, the toolpath can continue across holes and pockets rather than going around every opening. Set Max Hole Size greater than the diameter of the hole to cap it. Fusion machines over the capped opening as if it were not present and also machines its floor. Openings larger than Max Hole Size are not capped; the toolpath goes around them.
The continuous motion creates a more uniform toolpath across the flat area and eliminates the need to patch open hole areas.
| Selected | Deselected | |
![]() |
![]() |
Controls which holes and pockets are capped when Machine Over and Into Holes/Pockets is selected. Openings with a diameter smaller than this value are capped and machined. Openings larger than this value are not capped; the toolpath goes around them.
In the example below, the hole on the top has a 30 mm diameter and the hole on the bottom has a 50 mm diameter.
Entering a Max Hole Size value of 40 mm means a toolpath is generated over the top hole and nothing is generated over the bottom hole.

Limits the operation to only remove material that a previous tool or operation could not remove. Rest stands for REmaining STock.

Rest Machining ON.

Rest Machining OFF.
Specifies how to identify the unmachined regions of a part where there is still stock material to remove. The resulting toolpath targets only unmachined regions.
Ignores regions of rest material that are smaller in depth than the specified value. The benefit of cutting these regions is very small when compared with the extra machining time. Note: The specified value must be larger than the Tolerance value of the toolpath. Detection Limit takes into account stock to leave. Rest machining detects and machines material that is greater than the sum of the detection limit value and the stock to leave value.
Extends detected rest material areas so that they overlap with surrounding areas that were machined by a different tool. Machining the overlapping areas blends the areas together, which improves the surface finish.
Lets you specify surfaces to machine, avoid, ignore, or mark as fixtures to avoid during toolpath calculation. For more information, check Surface Manager page.
For Clearance Geometry, see Clearance geometry.
For machining heights, see Setting machining heights and:
The machining tolerance is the sum of the tolerances used for toolpath generation and geometry triangulation. Any additional filtering tolerances must be added to this tolerance to get the total tolerance.
![]() |
![]() |
| Loose Tolerance .100 | Tight Tolerance .001 |
CNC machine contouring motion is controlled using line G1 and arc G2 G3 commands. To accommodate this, Fusion approximates spline and surface toolpaths by linearizing them; creating many short line segments to approximate the desired shape. How accurately the toolpath matches the desired shape depends largely on the number of lines used. More lines result in a toolpath that more closely approximates the nominal shape of the spline or surface.
Data Starving
It is tempting to always use very tight tolerances, but there are trade-offs including longer toolpath calculation times, large G-code files, and very short line moves. The first two are not much of a problem because Fusion calculates very quickly and most modern controls have at least 1MB of RAM. However, short line moves, coupled with high feedrates, may result in a phenomenon known as data starving.
Data starving occurs when the control becomes so overwhelmed with data that it cannot keep up. CNC controls can only process a finite number of lines of code (blocks) per second. That can be as few as 40 blocks/second on older machines and 1,000 blocks/second or more on a newer machine like the Haas Automation control. Short line moves and high feedrates can force the processing rate beyond what the control can handle. When that happens, the machine must pause after each move and wait for the next servo command from the control.
Generates a toolpath that resembles the Offset (pocket), Parallel, or Profile strategy.
| Offset | Parallel | Profile |
![]() |
![]() |
![]() |
| Useful for machining complex geometry, such as multiple circular regions. Passes are offset from one another. Options are available to optimize the toolpath over open pockets and generate a spiral-style toolpath for continuous machining. | Useful for machining simpler geometry, such as long rectangular regions. Passes are arranged in straight lines and do not have corners. Corners in the toolpath often slow down the machine and may cause marks on the surface. | Useful for machining floor-to-wall transitions around pockets and islands. Generates a single profile-style pass along eligible boundaries instead of machining the entire flat area. |
When selected, the tool will approach from the open sides of a pocket. This results in more efficient entry moves such as a short tangential extension instead of a ramp move, and better cutting conditions.
When deselected, the tool is restricted from entering the cut area from outside of the part. This can be useful to avoid clamps or fixtures that may be in the way. There are also less tool-lifts, which makes it faster for machining softer materials like foam, where the cutting conditions are not as critical.
| Selected | Deselected | |
![]() |
![]() |
|
| Cuts moves can overlap the edge of the cut area. | Cut moves are contained within the cut area. |
Generates a spiral-style toolpath that has minimal link moves between passes, resulting in a better surface finish.
| Selected | Deselected | |
![]() |
![]() |
Available when Type is Parallel. Specifies how the direction of passes is determined.

Automatic direction.
Manual - Specifies the direction for all passes. Use Manual Pass Direction to set the angle. A value of 0 degrees runs parallel to the x-axis of the WCS. A value of 90 degrees runs parallel to the y-axis of the WCS.
An example of when you might use a manual pass direction instead of an automatic direction is when the automatic direction results in passes that run up to a wall, causing the tool to touch the wall multiple times and leaving undesired marks.
| Automatic direction | Manual pass direction = 90 deg |
![]() |
![]() |
The stepover distance between cuts.

A sliding scale adjustment between 0% and 25% percent, that represents a deviation of the actual stepover path. This creates a fluid motion for the machining path, to reduce sharp corners.
The smoothing deviation applies to inner cuts and does not affect the accuracy of the final profile cut.
| 0% Deviation | 25% Deviation | |
![]() |
![]() |
Used on open contours to extend the beginning and end of the selected chain or multiple chains. This creates a tangent linear extension based on the angle of the start and endpoints. This is an extension of the selected geometry.
![]() |
1 - No Extension 2 - 12mm Extension 3 - Single pass - Long extension 4 - Multiple Finish Passes set to 2 |
If the extension distance causes an overlap of a single chain, the intersection will be trimmed into a closed boundary.
The Profile Cut Direction lets you control if Fusion should create a Climb cut Conventional cut or cut Both Ways across the surface.
![]() |
1 - Climb cut 2 - Conventional Cut 3 - Both Ways |
When selected, this alternates between climb and conventional cuts for all interior passes. The final cut is controlled by the Profile Cut Direction setting (illustrated by the orange arrow).
When deselected, the Profile Cut Direction determines the direction of all cuts.
| Selected | Deselected | |
![]() |
![]() |
When selected, this allows you to add a finish pass for the final stepover.
The final stepover is where the tool engages the floor but also nearby side walls. Having an additional pass helps give a finer cut and a better surface finish.
| Selected | Deselected | |
![]() |
![]() |
The distance for the final passes, which is typically smaller than the stepover value.

Enable to do multiple depth cuts. Multiple Depths is useful for removing a fixed amount of stock by creating multiple incremental Z offset passes. This is available in many of the 3D finishing strategies.The following images are shown with 3D Parallel.
| Deselected | Selected | |
![]() |
![]() |
|
| Single Z depth pass | Shown with three Z passes |
The total amount of stock to remove from the surface.

The amount to stepdown between Z-levels cuts.
The amount to stepdown for the final Z-level cut.
A positive stock value leaves material for subsequent roughing or finishing operations. Roughing operations generally leave a small amount of material for a precision finish cut.
A negative stock value removes material beyond the part surface or boundary. This technique is often used in Electrode Machining to allow for a spark gap, or to meet tolerance requirements of a part.
A zero stock amount (0.0) value remove all excess material up to the selected geometry.
| Positive | No Stock | Negative |
![]() |
![]() |
![]() |
The Radial Stock to Leave parameter controls the amount of material to leave in the radial (perpendicular to the tool axis) direction, i.e. at the side of the tool.
The Axial Stock to Leave parameter controls the amount of material to leave in the axial (along the Z-axis) direction, i.e. at the bottom of the tool.
| Radial - Wall stock | Radial and Axial | Axial - Floor stock |
![]() |
![]() |
![]() |
For surfaces that are not exactly vertical, Fusion interpolates between the axial (floor) and radial (wall) stock to leave values, so the stock left in the radial direction on these surfaces might be different from the specified value, depending on surface slope and the axial stock to leave value.
Changing the radial stock to leave automatically sets the axial stock to leave to the same amount, unless you manually enter the axial stock to leave.
When using a ball or radius cutter, the negative axial stock must be less than or equal to the corner radius of the selected tool.
Enable to enter a fillet radius.
Specify a fillet radius.
Smooths the toolpath by removing excessive points and fitting arcs where possible within the given filtering tolerance.
![]() |
![]() |
| Smoothing Off. | Smoothing On. |
Smoothing is used to reduce code size without sacrificing accuracy. Smoothing works by replacing collinear lines with one line and tangent arcs to replace multiple lines in curved areas.
The effects of smoothing can be dramatic. G-code file size may be reduced by as much as 50% or more. The machine will run faster and more smoothly and surface finish improves. The amount of code reduction depends on how well the toolpath lends itself to smoothing. Toolpaths that lay primarily in a major plane (XY, XZ, YZ), like parallel paths, filter well. Those that do not, such as 3D Scallop, are reduced less.
Specifies the smoothing filter tolerance.
Smoothing works best when the Tolerance (the accuracy with which the original linearized path is generated) is equal to or greater than the Smoothing (line arc fitting) tolerance.
Specifies that the feed should be reduced at corners.
Maximum Directional Change - Specifies the maximum angular change allowed before the feedrate is reduced.
Reduced Feed Radius - Specifies the minimum radius allowed before the feed is reduced.
Reduced Feed Distance - Specifies the distance to reduce the feed before a corner.
Reduced Feedrate - Specifies the reduced feedrate to be used at corners.
Only Inner Corners - Enable to only reduce the feedrate on inner corners. Enable to only reduce the feedrate on inner corners.
Controls how the tool moves between cutting passes.
Full retraction - Completely retracts the tool to the Retract Height at the end of the pass before moving above the start of the next pass.
Minimum retraction - Moves straight up to the lowest height where the tool clears the workpiece, plus any specified safe distance.
| Full Retraction | Minimum Retraction |
![]() |
![]() |
Specifies when rapid movements should be output as true rapids (G0) and when they should be output as high feedrate movements (G1).
This parameter is usually set to avoid collisions at rapids on machines which perform "dog-leg" movements at rapid.
The feedrate to use for rapids movements output as G1 instead of G0.
Minimum distance between the tool and the part surfaces during retract moves. The distance is measured after stock to leave has been applied, so if a negative stock to leave is used, special care should be taken to ensure that safe distance is large enough to prevent any collisions.
These parameters control how the toolpath should lead into and lead off-of the toolpath cuts. This consist of a combination of linear and circular motion.
| Vertical Lead-In Radius | Lead-In Linear Move | |
![]() |
![]() |
|
| The radius of the vertical arc for smoothing the entry into the toolpath. | The linear distance for smoothing the entry into the toolpath. |
| Vertical Lead-Out Radius | Lead-Out Linear Move | |
![]() |
![]() |
|
| The radius of the vertical arc for smoothing the exit off of the toolpath. | The linear distance for smoothing the exit off of the toolpath. |
Specifies how the cutter moves down for each depth cut.
| Helix | Zig-Zag | Profile |
![]() |
![]() |
![]() |
Specifies the maximum ramping angle.
Specifies the maximum stepdown per revolution on the ramping profile. This parameter allows the tool load to be constrained when doing full-width cuts during ramping.
Height of ramp over the current stock level.
Specifies the minimum distance to the contour for the lead-in helix.
Specifies the helical ramp diameter.
Specifies the minimum ramp diameter.