side effects of drugs

RhinoCam Horizontal Roughing [3Axis]

This Tutorial references the following Rhino File: 3Axis.3dm (‘STOCK’ Layer should be turned ON)

RhinoCAM is a Computer Aided Machining Plug-in for Rhinoceros 3D. There are various Operation Categories, such as 4-Axis, 3-Axis, 2.5-Axis, and Holes. ‘Horizontal Roughing Operations’ fall in the ‘3-Axis‘ Category. This Tutorial discusses Horizontal Roughing Operations.


Horizontal Roughing is utilized throughout multiple Industries as the primary means of Subtractive Processing. Begin by finding your ‘HR_PREVIEW’ Sublayer, and turn it ON. This is an example of what a Horizontal Roughing Toolpath will look like, once complete. Roughing Toolpaths are utilized as the first step in 3-Dimensional Milling Processes; in which the Operation will remove all excessive and unnecessary material- before a Finishing Operation may commence.

Horizontal Roughing Preview



Turn your ‘HR_PREVIEW’ Sub-Layer OFF; turn ON your ‘HORIZONTAL ROUGHING’ Layer. Horizontal Roughing & other 3-Axis Operations, usually require Curve Geometry and Surface Geometry. Your Surface Geometry is used as the primary method of defining the operation. Roughing Passes, will use this Surface Geometry to determine allowable milling depths (‘Z’ Axis). While your Surfaces can assist in defining Z-Axis Motion, Closed Curve Geometry will assist the Operation with defining ‘X’ & ‘Y’ Limitations. This is commonly referred to as a ‘Region’, and your Closed-Curve Geometry will restrict the Operation from leaving the ‘Region’ in the ‘X’ and ‘Y’ Direction.


Regarding Surface Geometry:
Surface Geometry is utilized to define the Toolpath, and furthermore restrict the Toolpath from Plunging into the Table. If you create a Surface, and the Surface features a ‘Hole’, leading to your Rhino C-Plane/Grid; the CNC Router will attempt to achieve that detail. Make sure you do not have any un-wanted ‘openings’ within your Surface Geometry. Additionally, you may notice there are no edges to our Surface Geometry on the ‘HORIZONTAL ROUGHING’ Layer. Keep in mind: These Toolpaths are ‘3-Axis’ Operations, capable of cutting ‘X’, ‘Y’ & ‘Z’. The Operation cannot, and will not attempt to cut ‘underneath’ your surface, nor will it attempt to program toolpaths for anything it is incapable of reaching. These are commonly referred to as ‘Under-Cuts’. The best method of visualizing what a 3-Axis Operation can achieve, involves viewing your Parts, Surfaces, or Model- from a TOP View (Fig. 2.2). When we look at at TOP View, we cannot ‘see’ the underside of the Surfaces, therefore 3-Axis Operations cannot achieve these details.

Fig. 2.2 TOP View of our Surface and Curve Geometry, required for 3-Axis Operations.

Regarding Closed-Curve Geometry:
Your Closed-Curve Geometry, also known as your ‘Region’; can exist anywhere in space- as long as the top-view clearly indicates the ‘X’ and ‘Y’ Limits. In Fig. 2.2, the Magenta (Pink) Curves will act as our Regions. Our Regions will restrict the Toolpath to these specifically selected areas; and from a top-view, we can clearly see our bounding curves have no issues.



Milling Operations are usually utilized as singular methods to achieve specific details or goals. Horizontal Roughing is different, in the sense that the Operation is utilized as the first step of a two-step operation. We use Horizontal Roughing Operations to remove excessive and unnecessary material from our stock, BEFORE we begin a Finishing Operation. Most Roughing Operations are utilized for this specific reason. Review the examples below:

Fig. 3.1 Let us assume that we would like to create toolpaths, for the eventual completion of Part #1. Part #1 will be processed from Part #2, our Stock/Material.

Fig. 3.2 From a Side-View, we can see how much of our Material is actually ‘excessive’ and/or unnecessary. Indicated by the Magenta (Pink) Surfaces on Part #3; this is the Material that would be removed during a Horizontal Roughing Operation.

Fig. 3.3 The Toolpath begins by milling its first ‘level’ (Part #4), a preset ‘Step-Down’ Value we indicate during File Preparation. It clears out as much material as possible, before stepping down another level (Part #5), and repeating the Process.

Fig. 3.4 This ‘Step-Down’ Process repeats, until all excess material is removed, as seen in Part #6. Horizontal Roughing Operations leave behind just enough material for a second Operation called a Finishing Toolpath. This is created separately, but by removing all excess material FIRST with a Roughing Operation, the Milling Tool will encounter minimal material resistance during the Finishing Pass- thus, prolonging our Milling Tool-Life, and giving our Final Part (#7) a nice/smooth finish.


Find the RhinoCAM drop-down menu near the top of your screen.  Find and Select your ‘Machining Operations Browser’.  Turn OFF all Layers. Turn ON your ‘HORIZONTAL ROUGHING’ & ‘STOCK’ Layers.  Find and Select the  ‘3 Axis Adv’ Category within the Machining Operations Area of your Machining Operations Browser, this will expand into a new window, allowing you to select an Operation. Select the ‘Horizontal Roughing’ Operation.



When selecting any operation, a new window will appear. This window will allow you to input and adjust all Operation affiliated parameters and options. The first window always asks for you to select geometry that will define the toolpath. This can be a ‘Region’ that restricts an operation to a specific area; it can be ‘Drive’ Geometry that an Operation uses for Location and Definition Purposes; or it can be a ‘Feature’, that RhinoCAM uses to determine where the toolpath should focus. In this scenario, we are selecting CLOSED Curve Geometry to define ‘Regions’. Your Regions will restrict the Roughing Operation from creating toolpaths in any location outside of the Closed Curve Geometry. With respect to your Regions, you should also make sure that you have Solid or Surface Geometry within your bounding Regions. Find and Select the Button labeled ‘Select Drive/Containment Regions’. This will return you back to your Rhino Viewport to select your ‘Regions’/Closed Curve Geometry. If you have your Geometry organized onto layers, you can right-click on a layer, and  ‘Select Objects’. Select All Magenta (Pink) Closed Curve Geometry on the ‘REGIONS’ Sub-Layer and Press ENTER to return back to the Operation Parameters window. A list of objects appears on the left side of your window. This is your ‘Regions’ List. If you must, you can remove geometry from the list by selecting any object from the list, and choosing the ‘Remove Active’ Button. Also, you can remove all geometry by selecting the ‘Remove All’ Button near the bottom of your screen. 09_HR_MACHFEATREG



Browsing to the ‘Tool’ Tab, allows you to select a Tool from the loaded Tool Library. This Tool Library is defined by dFAB Management, and changes often. This Tool Library is a Digital Simulation of what is available in the CNC Router’s Tool Library; it is important that you have the correct tool library loaded for successful completion of your operation. The Tool Libary for RhinoCAM is available for download here. Choosing the right Milling Tool for your Operation is dependent upon (4) Parameters: 11_HR_TOOL

1. What Material you are Milling From
Dense Products, such as Lumber, Aluminum, Plastics etc; require more robust Milling Tools. Most Tools within the dFAB Tool Library are more than capable of Milling through these Dense Products- with the exception of a select few with the Label ‘FOAM ONLY’. These Tools do NOT have the same properties as the others, and should not be used for any other materials other than Foam. (The ‘FOAM ONLY’ Milling Tools are less expensive, this allows dFAB to direct the $savings$ to other items- like FREE double-sided tape) During this tutorial, let us assume we are milling from 3″ Thick Foam.

2. What Depth are you Milling to?
Your Material Thickness, and Milling Depth also play a roll in Tool Selection. If we plan on Milling all the way through 5″ Thick Lumber, then it is best to make sure there is a 5″-long Milling Tool in the dFAB Tool Library. Typically, the length of the Tool is also related to the Diameter. The LARGER the Diameter, the LONGER the Milling Tool, and vice-versa. During this tutorial, we are Milling from 3″ Thick Foam; it would be best if we found a Tool at least 3″ Long, just to be safe.

3. What Operation you are Preparing?
We know that we are preparing a Horizontal Roughing Operation. Roughing Operations most often are utilized to remove as much EXCESS material, as QUICKLY as possible. Therefore, our selection would most likely be a LARGER Diameter Tool. Also, keep in mind that FLAT END Milling Tools cover a larger surface area, than that of a Ball End Milling Tool. 

4. What Detail do you require?
Tool Diameter normally will play a role with ALL Operations. With Roughing Operations, we are simply ROUGHING  the Material. It is not our Final Part, therefore we tend to look for a Larger Diameter Tool and ignore smaller details. Smaller details are achieved with smaller Diameter Tools during the Finishing Operation. Note* A case could be made for a smaller Diameter Tool with Roughing Operations, but this involves Advanced Milling Procedures and Dense Material.

During this tutorial, we require:

ANY Tool: capable of Milling FOAM

Flat End Tool: to remove Material faster

Larger Diameter Tool: to remove Material faster, smaller details aren’t a primary concern

(>= 3″) Length of Tool: accommodating our 3″ Thick Material & Cut Depths

This narrows our selection: T2 – 1/2″ Flat-End (FOAM ONLY) Milling Tool seems to meet all criteria. Select this Tool and browse to the next tab.


Feeds & Speeds indicate the Feed Rate in which the Tool moves throughout an operation; and the speed in which the Tool rotates throughout an operation. Feeds and Speeds are dependent upon several factors, including Material Selection, Bit Selection, and Operation Selection. For example, if we are cutting into foam, our Feeds and Speeds could increase; compared to cutting into a Lumber Product, where our Feeds and Speeds must decrease. If our Bit Selection has a larger diameter (vs. Smaller Diameter), the Feeds and Speeds increase, because larger diameter tools can handle a heavier load. If our Operation is a Finishing Toolpath, our Feeds and Speeds can increase, because Finishing Passes involve cutting away minimal amounts of material. A Roughing Operation is primarily used for cutting away large amounts of material, and would have slower feed rates as a result. Feeds and Speeds also depend on the Milling Tool’s: Physical Properties, Diameter, Flute Count, Length, Feed/Tooth etc. In short, Feeds and Speeds are difficult to determine, and remember. dFAB has some of the more common Feed Rates posted here. Simply input the values that correspond with your: Operation Selection, Material Selection, and Bit Diameter. 12_HR_FEEDS

Spindle Speed
Spindle Speed indicates how many Rotations per Minute (RPM), a Milling Tool will complete. This value requires a delicate balance; where too many rotations or too few of rotations causes the bit to become overloaded with material chips and consequently dulls the tool.

Plunge Values indicate how fast the Tool moves in downward ‘Z’ Axis Motions. This Motion may make contact with your materials. dFAB has limited this value to a MAX of (100) inches per minute. (ipm)

Approach Values indicate how fast the Tool moves during Entry/Exit motions. To extend Tool Life, we program Entry and Exit Motions, where the Tool can ‘Enter’ the Material at an Angle, or use a Radial Movement to begin tool paths; rather than Plunging directly into the Material. Approach Motions always occur after a Plunge Motion, or before a Retract Motion.

Engage Values indicate how fast the Tool is moving when 50% of the Diameter of the Cutting Tool is engaged in the material. This occurs very quickly, after an Approach Motion.

Cut Values indicate how fast the Tool is moving when 100% of the Tool Diameter is engaged in the material.


Retract indicates how fast the Tool is moving on upward ‘Z’ Axis Motions. This occurs when the Tool is retracting to its Clearance Plane, and does not make contact with the Material. Typically, we MAX these values. The CNC Router’s MAX Speed is 1000 inches per minute (ipm).

Departure indicates how fast the Tool is moving on the ‘X’ & ‘Y’ Axis, once it has reached its Clearance Plane. This occurs after the Tool has retracted, and should not make contact with anything within the CNC Work Area, so long as the Clearance Plane has been defined correctly.


Your Clearance Plane is the height your Tool will utilize to perform Non-Cutting Operations and Movements. This is a ‘Safe-Height’ the Tool can reference after picking up a tool, or moving to a new Plunge Location. While your Clearance Height Settings will change when utilizing other CNC Equipment; in dFAB, you will ALWAYS set your Clearance Plane to:

1. Find and Select the radio button Labeled ‘Absolute Z Value’

2. Input the value ‘5’ into the field next to this Label and Button


This indicates that our Clearance Plane will always be 5″ above the Table. This will ensure that the Tool will NOT run into the Tools loaded in the Tool Library, as well as any materials that are loaded on the table. (The maximum thickness of material you can work with on this Equipment, is 5″) 07_clearanceabsolute



If you’ve browsed through a few dFAB Tutorials, you may notice that some Parameters/Options are not discussed. This is for (2) Reasons:1. dFAB assumes you are ‘new’ to using CNC Equipment, and some of these Parameters are for more advanced Procedures. We prefer to stick with the basics/fundamentals; and leave out the ‘confusing’ settings that one might learn over time and through experience.2. Some options are considered ‘Default’, and remain unchanged throughout File Preparation. While this may change when using various CNC Machinery and Equipment OUTSIDE of dFAB, we like to have as many Default Settings prepared/set before you begin learning. This streamlines workflow and instruction to enhance your learning experience.IN SHORT: You do not have to change any settings within this Tab. Browse to the ‘ENGAGE/RETRACT’ Tab. 14_HR_ADVCUTPARAM



Within the Engage/Retract Tab, we control how our Milling Tool ‘Engages’ or ‘Enters’ the material; and how the Milling Tool ‘Retracts’ or ‘Exits’ the Material. These settings are most useful in industry, primarily because they extend the Milling Tool-Life. While the settings aren’t entirely necessary for your needs, you can improve your cutting edges by programming a method of Entry. There are (3) Options for ‘Engage/Retract in Material’ Motions. These different options apply to different Surface Features. Users may leave these settings as default, and browse to the next tab- or you can browse over your options below to program more efficient cutting methods. 15_HR_ENGRETRACT


Engage/Retract – ‘PATH’ Option

15_HR_PATH The ‘PATH’ Option is a safe default setting for ALL Applications and Surface Features. PATH Motions are programmed with (2) two values: Height (H) and Angle (A). For this example, we will assume that Height (H) = (0.05″) & Angle (A) = (10 Degrees). When the Milling Tool Plunges down to its Cutting Level, it will begin a programmed Angle (A) of descent of (10 Degrees) at (0.05″) above the Toolpath Start-point.

Simplified: Smaller Angle (A) + Larger Height (H) = Better Cutting Edge/Tool-Life


Engage/Retract – ‘LINEAR’ Option

15_HR_LINEAR The ‘LINEAR’ Option is a good setting for Applications and Surface Features that involve narrow spaces. LINEAR Motions are programmed with (3) three values: Height (H); Angle (A) & Distance (D). For this example, we will assume that Height (H) = (0.05″); Angle (A) = (10 Degrees) & Distance (D) = (0.05″). When the Milling Tool Plunges down to its Cutting Level, it will begin a programmed Angle (A) of descent of (Varies) at (0.05″) above the Toolpath Start-point, and ‘Zig-Zag’ back and forth at a Distance (D) of (0.05″) until the Toolpath can program the actual Angle (A) of Entry at (10 Degrees).

Simplified: Smaller Angle (A) + Larger Height (H) + ANY Distance (D) = Better Cutting Edge/Tool-Life for Narrow Spaces


Engage/Retract – ‘HELIX’ Option

15_HR_HELIX The ‘HELIX’ Option is a good setting for Applications and Surface Features that involve narrow or round cavities. HELIX Motions are programmed with (3) three values: Height (H); Angle (A) & Radius (R). For this example, we will assume that Height (H) = (0.05″); Angle (A) = (10 Degrees) & Radius (R) = (0.0625″). When the Milling Tool Plunges down to its Cutting Level, it will begin a programmed Helical movement with a (0.0625″) Radius (R); at an Angle (A) of descent of (10 Degrees); at (0.05″) above the Toolpath Start-point.

Simplified: Smaller Angle (A) + Larger Height (H) + Smaller Radius (R) = Better Cutting Edge/Tool-Life for Narrow/Smaller Cavities



The Cut Level Values are commonly referred to as your ‘Step-Down’. Your Cut Level, or Step-Down, indicates how deep the Milling Tool may step into your Material on the ‘Z’ Axis. This Value is referenced throughout your Toolpath. The Milling Tool will Step-Down, and clear excess material from this level- then Step-Down again, and clear the excess material from the next level; and repeat this Process until all excess material has been removed. These Values are dependent upon the Material and Milling Tool Selection. If we are milling from less dense material like Foam, or we have a larger Diameter Milling Tool, we can Step DEEPER into the material at each level. Alternately, if we were milling from dense material like Lumber, or we have a smaller Diameter Milling Tool, we have SMALLER Steps. This can be difficult to determine, therefore dFAB has posted some of the more common ‘Step-Down’ Values with the Feeds and Speeds on our website. 

Stepdown Control (dZ)

This Value controls how the Milling Tool Steps Down on the Z-Axis. This is a the Maximum Value the tool will Step-Down for each Cutting Level. You can control the Step-Down in (1) of (3) methods: ‘% TOOL DIAMETER’; ‘DISTANCE’; or ‘NUMBER OF LEVELS’. ‘NUMBER OF LEVELS’ is inefficient, and will not be discussed during this tutorial. ‘% TOOL DIAMETER’ will program the Step-Down according to your selected Milling Tool’s Diameter. For example, if we were to select this option, and input (%50) into this field: 50% of 1/2″ Tool Diameter = 1/4″ (0.25″). Thus, our Step-Down would be 1/4″. Alternately, you may select the ‘DISTANCE’ Option, and input 1/4″ (0.25); and your Step-Down would be 1/4″. 16_HR_Stepdown


Cut Levels Ordering

These options control how the Toolpath organizes Cut Levels between several ‘cavities’, or negative spaces. For example, in our 3Axis.3dm File, we have (4) Separate Areas/Negative Spaces we would like to Mill, as defined by our Regions. If we select ‘DEPTH FIRST’, the Horizontal Roughing Toolpath will Mill away ALL excess material in (1) Region before moving to the next. If ‘LEVEL FIRST’ is selected, the Toolpath will Mill away (1) Level, then move to the next Region and Mill (1) Level, and repeat until (1) Level has been Milled on each Region. It will repeat this process for each Cutting Level. ‘DEPTH FIRST’ is selected by default, and is highly recommended as it provides faster cutting times. 16_HR_CUTLEVELORDER


Cut Levels

The ‘TOP’ & ‘BOTTOM’ Parameters restrict the Horizontal Roughing Toolpath on the ‘Z’ Axis. They aren’t always necessary, but it is recommended that you activate the ‘TOP’ Option, and input a Value that references the ‘TOP’ of your Material. In this tutorial, our Material is 3″ Thick; therefore, we should input a value of (3) in this field. More importantly, the ‘BOTTOM’ Option should be selected, and in most cases, set to (0). These options, will create a Toolpath that is restricted on the ‘Z’ Axis, between (Z3″) and (Z0″). Think of these Values as ‘Z-Axis Limits’. 16_HR_CUTLEVELTOPBOT


Clear Flats
Lastly, the ‘CLEAR FLATS’ Option, is useful when Milling a Part that has Planar, or Flat, Features. The Horizontal Roughing Toolpath will act as a Finishing Pass in the Flat Areas, by Milling precisely where the Flat Surface is located. Roughing Toolpaths typically leave behind a minimal amount of Material for the Finishing Toolpath to ‘clean-up’, but when we select the ‘CLEAR FLATS’ Option, the Roughing Toolpath will complete the Finishing on these Flat Areas- saving time and providing you with a better finish.


In the final Tab, there are several settings considered ‘Default’, and consequently, we need not discuss their properties. Near the bottom of this window, however, we find our ‘STEPOVER CONTROL’. This Value controls how the Milling Tool Steps Over on the ‘X’ and ‘Y’ Axis. Previously discussed, ‘CUT LEVELS‘ controlled how our Milling Tool Stepped Down on the ‘Z’ Axis. Now, we are limiting the Milling Tool on our ‘X’ & ‘Y’. Our Step-Over Value is dependent upon several factors: Milling Tools are typically engineered with specific properties that allow or enhance cutting capabilities. Properties such as Helical Cutting Angles, Flute Count, Material, Feed Rates, Diameter, and ‘Chip-Load’ all play a role in your Toolpath Settings. Our Toolpath Parameters are equally vast and difficult to remember. dFAB has posted some of the most common Feeds & Speeds, as well as Step-Down and Step-Over Values for your convenience. These settings apply to our Tool Library and Milling Tools ONLY; but it is a useful resource when learning how to prepare Milling Toolpaths. Keep in mind, our Roughing Toolpath should be removing as MUCH material, as QUICKLY as Possible. 17_HR_CUTPARAM


StepOver Control

Our Step-Over, can be controlled by (1) of (3) ways: ‘%TOOL DIAMETER’; ‘DISTANCE’; or ‘SCALLOP’. ‘SCALLOP’ is not recommended, and will not be discussed during this tutorial. ‘% TOOL DIAMETER’ will program the Step-Over according to your selected Milling Tool’s Diameter. For example, if we were to select this option, and input (%50) into this field: 50% of 1/2″ Tool Diameter = 1/4″ (0.25″). Thus, our Step-Over would be 1/4″. Alternately, you may select the ‘DISTANCE’ Option, and input 1/4″ (0.25). 17_HR_STEPOVER

NOTE! – A general rule applies to every Milling Tool, Operation, and CNC Processes: NEVER set your Step-Over to anything GREATER THAN 50% of the Tool Diameter. The Tools are NOT designed to incur this kind of Cutting Load. This is inefficient, bad for the Tool, and bad for your Material.

Next Recommended Tutorial: RhinoCAM Finishing Operations: Parallel Finishing, Radial Machining, Spiral Machining, Between 2 Curves



Created by: P. Zach Ali

Date: 11.27.2013

Comments are closed.