A “Real-World” 5 Axis Project with RhinoCAM

Introduction

The “Real-World” project illustrated below comes to us curtesy of RustFab LLC, a Philadelphia, PA-based company specializing in concept design and fabrication, primarily for artists, museums, and design firms. They focus on expanding CAD/CAM translation capabilities, offering services like 3D modeling, rendering, and CNC manufacturing. Their work includes custom sculpture and design projects, utilizing tools such as ZBrush, Rhino, and 5-axis CNC milling with RhinoCAM.

RustFab LLC has collaborated with select studios and artists Alex da Corte, Pepon Osorio, Didier William, Sanford Biggers, Fabric Workshop Museum, Moto Design Studio and more.

The RhinoCAM Part

This “Real-World” project involves a sculpture measuring 15.20” wide, 16.00” long, and 36.00” tall, crafted from high-density foam stock. It comprises two components: an upper faceted Mesh Model forming the sculpture and a lower pedestal defined by a 3D NURBs solid model. This sculpture served as an in-house test at RustFab LLC to validate RhinoCAM-MILL’s 5-Axis toolpath capabilities before implementation. The sculpture, with its dimensions, is depicted in the RhinoCAM images below.

The 3D Mesh model used in this case study is shown here in Rhino 8.

The 5 Axis Setup

This machining job involves nine Indexed 5-Axis Setups (A through J) and one Continuous 5-Axis Setup K. An “Indexed Setup,” also known as “3+2,” indicates that the 5-axis spindle is locked in a preset orientation while 3-axis operations are executed. Setups A through J in the Machining Job below are each an indexed 5-Axis setup. Additionally, the machine is configured for 5-Axis operation, the post is set to 5AxMaker-IN, the stock is designated as Box Stock, and no fixtures are used. The fixture referenced is part of the sculpture, securing it in place. The Box Stock is anchored to the CNC machine bed.

The RhinoCAM Machining Job contains nine Indexed 5 Axis Setups (A through J)
and one Continuous 5 Axis Setup (K).

Machine Tool Definition

The Machine Tool Setup dialog, shown below, uses Manual Definition with the Number of Axes set to 5-Axis and the Configuration set to Head-Head. In this setup, both the Primary and Secondary axes are located within the machine’s Head. The machine table remains stationary, while the Primary and Secondary axes in the Head move and rotate as required.

The dialog also defines the machine’s Translational Limits, with the 4th Primary Axis set to negative Z (-Z) and the 5th Secondary Axis set to negative X (-X). The Rotary Axis Limits are set to No Limit, allowing the 5-Axis Head to orient freely without restrictions. All coordinate output is based on each setup’s local coordinate system. Refer to the Machine Tool Setup dialog below for details.

The Machine Tool Setup dialog contains all the information needed to
define the parameters and limits of the actual CNC machine used for this project.

Machining Operations

As noted earlier, the machining job includes nine Indexed 5-Axis setups followed by one Continuous 5-Axis setup. Each indexed operation targets one of the four sides of the part and stock, spaced 90 degrees apart. When examining each setup, we focus on the Machine Coordinate System (MCS) triad. We begin by presenting the outcome of all operations in the machining job, resulting in the fully cut material simulation model shown on the right below. The left and center models depict the part model and the stock model, respectively.

The
3D Part Model

The
3D Stock Model

The final Cut Material Simulation Model

Setup A: 3 Axis Horizontal Roughing (Indexed 5 Axis)

In Setup A, the Machine Coordinate System triad is aligned with the positive Z-axis (blue) directed toward the front side of the part, the X-axis (red) oriented toward the right, and the Y-axis (green) pointing upward. The blue Z-axis indicates the spindle’s orientation. The spindle remains fixed in this orientation during the cutting operation.

 The middle image displays the outcome of the 3-Axis Horizontal Roughing operation, enclosed within an orange rectangle. The cutting tool is a 2” diameter flat end mill. Cut parameters include a 0.01” tolerance, 0.125” stock allowance, an Offset Cut Pattern, a Mixed Cut Direction, a 25% cutter diameter XY offset (0.5 inch), a 50% cutter diameter Z stepdown (1 inch), and a Z-level containment of -1.22” with Clear Flats enabled. The right-side image illustrates the simulated cut material result.

The
3D Part Model

Setup A: 3 Axis Horizontal Roughing (Indexed 5 Axis)

The Resulting
Cut Material Simulation

Setup B: 3 Axis Horizontal Re-Roughing (Indexed 5 Axis)

In Setup B, the Machine Coordinate System triad is aligned with the positive Z-axis (blue) directed toward the back side of the part, the X-axis (red) oriented toward the right, and the Y-axis (green) pointing downward. The blue Z-axis indicates the spindle’s orientation. The spindle remains fixed in this orientation during the cutting operation.

The middle image displays the outcome of the 3-Axis Horizontal Re-Roughing operation. Re-Roughing indicates that the operation is computed based on the cut material simulation from the prior operation, optimizing cutting paths to target only the remaining uncut stock. This re-roughing operation employs the same cut parameter values as the previous roughing operation. The right-side image shows the simulated cut material after this operation.

The
3D Part Model

Setup B: 3 Axis Horizontal Re-Roughing (Indexed 5 Axis)

The Resulting
Cut Material Simulation

Setup C: 3 Axis Horizontal Re-Roughing (Indexed 5 Axis)

In Setup C the Machine Coordinate System triad is oriented with the positive Z axis (shown in blue) pointing toward the back side of the part, the X Axis (shown in Red) is pointing toward the right and the Y Axis (shown in Green) pointing downward. The blue Z Axis points in the direction of the spindle. The spindle is fixed in this orientation while cutting this operation.

The middle image displays the outcome of the 3-Axis Horizontal Re-Roughing operation. Re-Roughing indicates that the operation is computed based on the cut material simulation from the prior operation, optimizing cutting paths to target only the remaining uncut stock. This re-roughing operation employs the same cut parameter values as the previous roughing operation. The right-side image shows the simulated cut material after this operation.

The
3D Part Model

Setup C: 3 Axis Horizontal Re-Roughing (Indexed 5 Axis)

The Resulting
Cut Material Simulation

Setup D: 3 Axis Horizontal Re-Roughing (Indexed 5 Axis)

In Setup D, the Machine Coordinate System triad is aligned with the positive Z-axis (blue) directed toward the right side of the part, the X-axis (red) oriented towards the front, and the Y-axis (green) pointing downward. The blue Z-axis indicates the spindle’s direction, which remains fixed in this orientation during the cutting operation.

The middle image displays the outcome of the 3-Axis Horizontal Re-Roughing operation, which is copied from Setup B and retains all its cut parameters. Similarly, the re-roughing operations in Setups C and D are also duplicates of the one described in Setup B. The right-side image illustrates the simulated cut material after this operation.

The
3D Part Model

Setup C: 3 Axis Horizontal Re-Roughing (Indexed 5 Axis)

The Resulting
Cut Material Simulation

Setup E: 3 Axis Parallel Finishing (Indexed 5 Axis)

In Setup E, the Machine Coordinate System triad returns to the same orientation as Setup A, with the positive Z-axis (blue) directed toward the front side of the part, the X-axis (red) oriented toward the right, and the Y-axis (green) pointing upward. The blue Z-axis aligns with the spindle’s direction, which remains fixed in this orientation during the cutting operation.

The middle image below displays the outcome of the 3-Axis Parallel Finishing operation, enclosed in an orange rectangle. A ½” diameter ball mill is used for this finishing operation. Cutting parameters include a 0.01” tolerance, zero stock allowance, a Mixed Cut Direction, and a 0.05” stepover. The middle image shows the resulting toolpaths, primarily blue, indicating arc motions. The right-side image illustrates the simulated cut material, indicating this side is finished.

The
3D Part Model

Setup E: 3 Axis Parallel Finishing (Indexed 5 Axis)

The Resulting
Cut Material Simulation

Setup F: 3 Axis Parallel Finishing (Indexed 5 Axis)

In Setup F, the Machine Coordinate System triad is aligned with the positive Z-axis (blue) directed toward the back side of the part, the X-axis (red) oriented toward the right, and the Y-axis (green) pointing downward. The blue Z-axis indicates the spindle’s direction, which remains fixed in this orientation during the cutting operation.

The middle image displays the outcome of the 3-Axis Parallel Finishing operation, enclosed in an orange rectangle. This operation is a duplicate of the one in Setup E. The middle image below shows the resulting toolpaths, predominantly blue, indicating arc motions. The right-side image illustrates the simulated cut material, confirming this side is also finished.

The
3D Part Model

Setup F: 3 Axis Parallel Finishing (Indexed 5 Axis)

The Resulting
Cut Material Simulation

Setup G: 3 Axis Parallel Finishing (Indexed 5 Axis)

In Setup G, the Machine Coordinate System triad is aligned with the positive Z-axis (blue) directed toward the left side of the part, the X-axis (red) oriented toward the right, and the Y-axis (green) pointing downward. The blue Z-axis indicates the spindle’s direction, which remains fixed in this orientation during the cutting operation.

The middle image displays the outcome of the 3-Axis Parallel Finishing operation, enclosed in an orange rectangle. This operation is a duplicate of the one in Setup E. The middle image below shows the resulting toolpaths, predominantly blue, indicating arc motions. The right-side image illustrates the simulated cut material, confirming this side is finished as well.

The
3D Part Model

Setup G: 3 Axis Parallel Finishing (Indexed 5 Axis)

The Resulting
Cut Material Simulation

Setup H: 3 Axis Parallel Finishing (Indexed 5 Axis)

In Setup H, the Machine Coordinate System triad is aligned with the positive Z-axis (blue) directed toward the right side of the part, the X-axis (red) oriented toward the front, and the Y-axis (green) pointing downward. The blue Z-axis indicates the spindle’s direction, which remains fixed in this orientation during the cutting operation.

The middle image displays the outcome of the 3-Axis Parallel Finishing operation, enclosed in an orange rectangle. This operation is a duplicate of the one in Setup E. The image shows the resulting toolpaths, predominantly blue, indicating arc motions. The right-side image illustrates the simulated cut material, confirming that all four sides of the part are now finished.

The
3D Part Model

Setup H: 3 Axis Parallel Finishing (Indexed 5 Axis)

The Resulting
Cut Material Simulation

Setup J: 3 Axis Parallel Finishing (Indexed 5 Axis)

In Setup J, the Machine Coordinate System triad is aligned with the positive Z-axis (blue) directed toward the crown of the sculpture, the topmost area where the four 3-Axis Parallel Finishing operations left some uncut stock due to the cutter’s angle. The X-axis (red) is oriented toward the right, and the Y-axis (green) points toward the back, perpendicular to the Z-axis. The spindle remains fixed in this orientation during the cutting operation.

The middle image displays the toolpaths of the 3-Axis Parallel Finishing operation, contained within an orange rectangle aligned parallel to the XY plane of the Machine Coordinate System (MCS). This operation is a duplicate of the one in Setup E. Most toolpaths are blue, indicating arc motions. The right-side image shows the simulated cut material after this operation.

The finishing for this part is now complete!

The
3D Part Model

Setup J: 3 Axis Parallel Finishing (Indexed 5 Axis)

The Resulting
Cut Material Simulation

5 Axis Finishing

Although the part is considered complete, a 5-Axis case study requires a Continuous 5-Axis operation to be comprehensive. “Continuous” indicates that all five axes of the machine tool move simultaneously. Since the part model consists solely of mesh geometry, additional geometry is needed to facilitate this operation, as discussed below.

The Continuous 5 Axis Setup

As previously noted, Setup K is a Continuous 5-Axis setup. In this setup, the Machine Coordinate System (MCS) triad does not require reorientation and remains aligned with the World Coordinate System (WCS) in Rhino. At each toolpath cut point, the spindle’s orientation is determined by the Normal Vector of a designated Drive Surface, explained further below.

Control Geometry in 5 Axis

In Continuous 5-Axis machining, the spindle’s constantly changing orientation necessitates specific mechanisms in the 3D model and toolpath method to calculate the Z-axis orientation at every cut point. Two types of control geometry are employed: Drive Surfaces and Check Surfaces, each described and illustrated below.

3D Model
Showing Drive Surfaces (in Green)

Cross-section of the 3D Model illustrating the Spindle orientation relative to the Drive Surface

Drive Surface Control Geometry in 5 Axis

In Continuous 5-Axis toolpaths, the Drive Surface governs spindle orientation. At each cut point, a perpendicular (normal) vector is calculated from the Drive Surface, setting the cutting tool’s axis. The quantity of cut points is controlled by the Tolerance parameter in the 5-Axis Surface Normal dialog. The image below illustrates the Drive Surface and spindle orientation for Continuous 5-Axis Surface Normal finishing.

The role of Drive Surfaces in
Continuous 5 Axis Surface Normal finishing

Check Surface Control Geometry in 5 Axis

In Continuous 5-Axis toolpaths, Check Surfaces specify areas the cutter must not contact, encompassing surfaces or meshes, commonly termed 5-Axis Gouge Checking. In our 3D part model, the Drive Surface is fully enclosed within the 3D mesh model’s volume, which is suitable since it serves only to guide spindle orientation, not for machining. By defining the 3D mesh model as the Check Surface, the cutting tool is prevented from breaching it. The synergy between Drive and Check Surfaces allows RhinoCAM (and VisualCADCAM) to produce continuous 5-Axis toolpaths for mesh models.

You can refer to the illustration below.

Above we see the interplay of the Drive Surface and the Check Surface (Mesh)
for calculating a Continuous 5 Axis toolpath on a 3D mesh model.

Setup K: 5 Axis Surface Normal Finishing (Continuous 5 Axis)

Now that we understand how continuous 5 Axis toolpaths are calculated, let us now turn to the final toolpath operation located under Setup K in our machining job tree. In the 5 Axis Surface Normal toolpath, illustrated below, the Drive Surface cylinder (Green) slightly penetrates the top of the mesh model to provide full coverage of the resulting toolpath on the mesh model.

The image on the left shows the Drive Surface Cylinder hidden within the 3D mesh model. The middle image shows the resulting tool path. Notice that the Drive Surface (just the top cylinder) controls the extents of the toolpath on the mesh model.

You may notice that there are no dark blue arc motions. That is because arcs can only be calculated if a toolpath lies on or parallel to any of the three principal cutting planes XY, XZ or YZ. This is a limit of the CNC machine and not RhinoCAM. Because our toolpath does not lie parallel to any of these planes, only linear toolpath segments (Cyan) are generated.

The
3D Part Model

Setup K: 5 Axis Surface Normal Finishing (Continuous 5 Axis)

The Resulting
Cut Material Simulation

This image shows the 5-Axis Head-Head Machine Tool Simulation with the Spindle
oriented at a Vector that is Normal (i.e., right angles to) the cylindrical Drive Surface and the
tool contact point that lies on the Mesh geometry (i.e., the Check Surface).

Above we see the actual sculptures cut with 5 Axis Toolpaths in RhinoCAM

Post-processing in 5 Axis

Now that all our machine operations are generated and simulated, it’s now time to generate some G-Code. In RhinoCAM post-process occurs when you select an operation from the Machining Job tree, right-click and select Post. The File Save As dialog allows you to specify the file name and save your G-Code file. You can post one operation or several. You can also post the entire machine job into one G-Code file. The procedure is shown in the image below.

Select the Machining Job, right-click and select Post All
This generates one file that contains the G-Codes for all operations in the machining job.

In the Resulting G-Code file, Setups A through J begin with a line of code with the rotation axis and rotation angle required to align the spindle in the required fixed orientation. These codes are then followed with the necessary G-Codes and coordinate values needed to instruct the spindle and cutting tool to cut each toolpath. You can see these codes in the excerpt of the G-Code file shown below.

Here we see the beginning portion of the G-Code file posted from this 5 Axis Machining Job showing the Spindle Orientation codes, Setup and other toolpath codes required to run this project on the 5 Axis CNC machine.

Thank you RustFab LLC

More About RustFab LLC

RustFab LLC is a design and fabrication company based in Philadelphia, PA. They work mainly with artists, museums, and design studios, helping bring creative ideas to life. Their services include 3D modeling, rendering, and CNC machining, with a focus on turning digital designs into real-world objects. They use tools like ZBrush, Rhino, and 5-axis CNC milling with RhinoCAM. RustFab has worked with notable artists and studios, including Alex da Corte, Pepon Osorio, Didier William, Sanford Biggers, Fabric Workshop Museum, Moto Design Studio and others.

Below you will see just some of RustFab and RhinoCAM.

More about RhinoCAM

RhinoCAM – MILL is available in 5 different configurations (Express, Standard, Expert, Professional and Premium). The part shown here was programmed using the Premium configuration. Here are some additional details about each of the available configurations.  For the complete features list, visit the RhinoCAM Product Page.

  • RhinoCAM MILL Express: This is a general-purpose program tailored for hobbyists, makers and students. Ideal for getting started with CAM programming. Includes 2 & 3 axis machining methods. Includes ART & NEST modules as well!
  • RhinoCAM MILL Standard: This configuration includes everything that is in the Express configuration plus additional 2-1/2 Axis, 3 Axis & Drill machining methods. Also now includes 2½ Axis Turning!
  • RhinoCAM MILL Expert: Suitable for 4 Axis rotary machining. Includes the Standard configuration, plus 4 Axis machining strategies, advanced cut material simulation and tool holder collision detection.
  • RhinoCAM MILL Professional: Ideal for complex 3D machining. Includes the Standard and Expert configuration, plus advanced 3 Axis machining strategies, 5 Axis indexed machining, machine tool simulation, graphical toolpath editing and a host of other features.
  • RhinoCAM MILL Premium: Tailored for complex 3D machining with both 3 Axis and full 5 Axis methods. Includes the Standard, Expert and Professional configurations, plus 5 Axis simultaneous machining strategies.

About VisualCADCAM

This 5 Axis project can also be performed in MecSoft’s stand-alone VisualCADCAM – MILL. In fact, the procedures are nearly the same as what is illustrated in this article. VisualCADCAM is also available in the same 5 configurations outlined above (Express, Standard, Expert, Professional and Premium). The part shown in this article was programmed using the Premium configuration. For the complete features list, visit the VisualCADCAM Product Page.

From the blog

The latest industry news, interviews, technologies, and resources.
Picture of Don LaCourse

Don LaCourse

Don LaCourse is an Application Engineer with MecSoft Corporation. Don brings over 20 years of experience in CAD/CAM operations in both automotive and mold design applications. Don also has extensive experience in documenting CAD/CAM products and is actively involved with writing the on-line help as well as creating training tutorials for MecSoft's products.