The geometry that you create in Rhino or another 3D modeling program of your choosing will ultimately control the motion the cutting tool takes through the material to make your part. There are a number of different software tools that can create toolpaths from geometry (some require a closed mesh model, like an STL file to a 3D Printer, others work only with 2D curves, like a DWG file for a laser cutter). Software that generates toolpaths for 3-axis CNC routers and mills will generally work with surfaces, meshes, curves, and points, depending on the particular motion that is being created for the machine.
Some CNC milling machines come with proprietary software that can make the process as simple as: importing a mesh surface, making a few decisions regarding desired part resolution, and then hitting "go" on the machine once you've secured the material. The Roland Modela 3-Axis Desktop mill in the woodshop is an example of this type of machine. Other machines require more involvement, both in creating the file that defines the tool paths and in the operation of the machine itself. At the GSD, the process of using either of the two CNC Routers requires you to engage in this process somewhere in the middle of this spectrum by providing you with template files and the assistance of experienced users. To be able to help you, however, we need you to start the process by creating the geometry necessary to describe your part for the mill.
A file that is suitable for Mastercam and the milling process is not necessarily the same file that you use to make renderings or to produce a model from which you can make a 3D printed part. The logic behind particular tool paths will ask for different types of defining geometry, so it's a good idea to know how you want the machine to remove material from the part before you create the geometry in Rhino that will be used to define the tool paths. To make this easier, we provide Template Files that embody an approach to removing material to define a surface-based model. The geometry that is needed to adequately configure this file is discussed on the "Assign Geometry" section of Setting up a Mastercam File. If you want to do more and venture beyond the template files provided, you might want to look at the page on Choosing Toolpaths of this tutorial about different toolpaths and the geometry types that are used with them.
At minimum, to prepare for Mastercam, you will need to:
- Work at the scale of the actual model, rather than the scale of the architectural body being represented.
- Work near the origin of the modeling environment.
- Create the necessary geometry for the toolpaths you intend to use.
- Work with a layer organization strategy that makes it clear how the geometry will be used in Mastercam.
- Create a bounding box that defines the volume of your stock material.
- Position all geometry within the modeling environment such that a clear relationship to the machine's coordinate system is created.
Work at the Scale of the Model
When you start to apply toolpaths and select tools in Mastercam, all of the settings will be at the scale of actual machine motion and physical tooling. So, it's important that you work with geometry that is at this same scale and in the correct units for the machine.
Size
Prior to working in Mastercam, your geometry must be scaled to the size your final model will be (1:1). If you will be cutting the model from 3" foam, make sure all of the geometry is scaled to fit within the 3" of working height. Milling isn't a simple printing operation where you can scale everything down to fit on a page while sending it to the machine.
Sometimes scaling causes data loss issues from Rhino to Mastercam. This is especially true when the original Rhino file is in large units, such as kilometers, or miles, and the final model is very small. It is helpful in this case to change units without scaling (i.e. if the bounding box of the model is 14 miles on one side, make that 14 inches by changing units rather than using the "scale" function. However, be careful so that you don't accidentally scale it to 887040 inches). Then, once the units are correct, scale the geometry up or down by the necessary factor to make it the correct size. (i.e. for our previous example, multiply by 12/14 to change from 14 inches to a 12 inch model.
It can also help to set the Rhino Absolute Tolerance to 0.0001 units so that they are analogous to those used in Mastercam.
Units
Units should be set to inches for the routers, knee mill and desktop mill.
For the robots, units must be in millimeters.
Work Near the Origin
When it comes down to it, modeling in a 3 dimensional CAD program is a process based on math and numbers. So, storage of all of that data becomes something with which to contend. When you work far from the software's spatial origin, you are working with larger numbers. These large numbers are more difficult to save, store and translate within and between programs. Strange things can happen if the geometry you are working with is located far from the origin, so it's best to work as close to the origin as possible. This is universally true of all applications of digital fabrication, including 3D printing and the generation of STL files or meshes from surfaces.
In Rhino the origin that matters is the origin of the World Top Plane. Make sure the CPlane that you are assuming represents this origin is actually located at the World Top Origin.
Geometry Types
As mentioned earlier, different tool path motions are defined by different types of geometry. Some toolpaths are best described by a single line segment, others by a closed planar curve, and others by an untrimmed surface. Depending on the toolpaths that you wish to use to remove the material around your part, you will need to provide Mastercam certain geometry types to define your part by way of milling operations. If you will be using the basic Template File, consult the "Assign Geometry" section of Setting up a Mastercam File to determine what geometry to include or create for your model. When milling, it is best to make a file specifically for the process, creating and including only the geometry that you will use in Mastercam.
Surfaces
Most applications of Mastercam at the GSD make use of surface-based toolpaths. These toolpaths can typically be applied to either surfaces or meshes, but surfaces offer advantages over meshes in Mastercam as they can more easily be selected either as individual entities or as groups of surfaces, allowing us to better control how material is removed from particular features of the part. Many of the surfaces that you might create in Rhino to describe a project through drawings or renderings are not necessary for the milling process. Most often, you will need to reduce the amount of detail included in the model and simplify the geometry.
- In general, a toolpath will be active only over the selected surfaces, so in order to remove material from the body of the part, it has to have surfaces to define it.
- Surface Classification: In Mastercam, surfaces are used to define a toolpath in one of two ways: as Drive Surfaces or as Check Surfaces.
- Drive Surfaces are the surfaces of the file that will be cut by the toolpath.
- Check Surfaces can be thought of as masks over the Drive Surfaces beneath them and, as surfaces that you tell the toolpath to avoid, are used to prevent the tool from cutting areas selected as Drive Surfaces.
- For each surface-based toolpath, you will tell Mastercam which surfaces to consider as the Drive Surfaces, and which to consider as the Check Surfaces. For these toolpaths, it is necessary to select Drive Surfaces, but Check Surfaces are optional, depending on what you want to do (and sometimes Containment Curves are a better approach than the use of Check Surfaces to limit the application of a toolpath on a Drive Surface). A surface that is used as a Drive Surface in one toolpath might then be used as a Check Surface in another.
- Vertical Surfaces: Most applications of the CNC routers and mills are for 3-axis jobs where the tool is always held vertically in the machine. This naturally produces vertical walls between surfaces that have edges located at different heights within a part. Mastercam "looks" at selected surfaces from the TOP plane, so only those that are visible from this view will be used to generate the toolpath. In this instance, it would not be necessary to model the vertical wall between two surfaces nor to use it in Mastercam to define a toolpath as it doesn't have a value when viewed from the TOP plane and would only be extra information for Mastercam to try and process.
- Additionally, when selected together, Mastercam will recognize overlapping surfaces and only mill the portion of surfaces visible from above, those not obscured by other selected surfaces.
- Fewer Surfaces: Mastercam generates toolpaths by applying parameters to selected geometric entities. For example, if you only need 3 surfaces to define a feature or part, it is generally best to select only those 3 surfaces, and not the 3,000 other ones that you don't need. A considerable amount of processing time can be saved this way, reducing the likelihood that Mastercam will crash.
- Small Features: When preparing a site model in a 3D modeling environment, it is easy to lose track of how big or small features of the model will actually be. Some of the features may be too small to be recognizable at the scale of the model, especially if you are working with a material that is not conducive to holding fine detail or if you are using tools whose diameter is too large to create that scale of detail. Features such as the width of roads, height of curbs, or density of pattern repetition may need to be exaggerated, simplified, or omitted considering factors of time, tool size, complexity of file preparation, and material characteristics. Eliminate the need to have many small surfaces as they may result only in increased processing time and frustration, and will not necessarily produce a better model in the end. CNC Machines are not the equivalent of electromagnetic shrink ray machines of the late 1980's; some design thinking will have to be performed in terms of how best to make a model using this process.
- Model Cleanly: When creating surfaces, define them as simply and as cleanly as possible: reduce isocurve counts, shrink trimmed surfaces, and remove duplicate surfaces. While you do not have to produce a water-tight model as you would for 3D printing, it is somewhat important that edges you intend to have in the same plane actually are. Look at your surfaces from the TOP plane and make sure there are no unintended gaps between them: an area of the model with that has no surfaces to define it may be an issue.
Curves
Some applications of Mastercam do not need any surfaces at all. Several toolpaths are defined only by curves and may be sufficient for making your part. In general, applications of this nature are limited to 2D contour cutouts from materials like plywood sheets, or pocket operations that remove material contained within a closed curve. Curves can also be used to define 3D contours, where the tip of the tool follows the path of the curve through space, changing the height of the tool tip along the path. Additionally, curves can be used to supplement surfaces when defining surface-based tooplaths.
- Height of Curves: It is best practice to locate curves such that their height defines the bottom of the feature they will be used to control.
- If you wish to cut along the perimeter of a model at its base, locate that curve at Z=0, so that the tip of the tool is instructed to go to that depth. If you wish to etch a curve-based pattern at a depth that is just below a surface, locate those curves just below the surface, at the depth you wish to make the cut. Curves selected for one toolpath do not need to be located at the same depth; they can be located at different depths. In Mastercam, you will have to options with regards to depth of cut and curve-based toolpaths: to cut to an Absolute Depth or to an Incremental Depth. Absolute Depths will result in all curves being cut to the same height with respect to Z=0 of the file, regardless of where they are drawn in the model. Incremental Depths will result in all curves being cut to the same height with respect to where each is drawn in the model. For the sake of clarity, it is best to model curves at the height you would like them to be cut in the model.
- Curves for Pocket Toolpaths: In addition to the recommendations made above with regards to depth of cut and location of curves, curves defining pockets must also be closed and in a plane parallel to the TPlane in Mastercam (the TOP Plane, in general).
- Curves to Create Surface Texture: Assuming the bulk of the material has already been milled away from a surface, it is possible to use a relatively dense pattern of curves in space to directly control the path of the tool (rather than using a surface-based toolpath). Very interesting textures and patterns can result from toolpaths that are controlled through a series of curves in space, resulting in complexity that would be practically impossible to achieve by applying a toolpath to a surface.
- These curves would be used to define a Contour Toolpath.
- Containment Curves for Surface Toolpaths: Containment Curves are used when defining surface-based toolpaths. Similar to Check Surfaces, Containment Curves are used to limit or restrict the action of the toolpath over the Drive Surface. Containment Curves must be closed curves, but can be located anywhere in terms of their height. When used, a surface-based toolpath will be generated over the Drive Surface only within the area of the closed curve. It is sometimes necessary to generate Containment Curves by drawing them in Mastercam.
- Model Cleanly: When creating curves, define them as simply and as cleanly as possible: reduce point counts, rebuild as necessary, and remove duplicates. Make sure curves that need to be closed are closed end-to-end and don't intersect oddly. Curves might also need to be planar (and in a plan parallel to the TOP plane), check that this condition is met, as necessary. Be aware that joined curves in Rhino does not necessarily result in joined curves in Mastercam, but this shouldn't be a cause for great concern as Mastercam will detect when two segments have coincident endpoints and can select a number of segments as one continuous chain. Make sure that segments do have coincident end points if you intend to select them as a closed chain (and that there are not other curves who share that coincident endpoint, resulting in more than two curves with a common end point).
Points
Points are used only to define Drill Toolpaths, indicating the center of the hole to be made with a drill.
- Hole Size: The size of the hole is then controlled by choosing the appropriate diameter drill from the tool library.
- Height of Points: Similar to how the location of curves controls the depth of cut for Contour or Pocket Toolpaths, the location of the point will control the depth of the hole made.
- Point Density: Be aware of the density of points and what that means for the material you will be working with and the diameter of the tool. Each point you drill means time, you may be able to communicate the same thing with half as many points and do it in half the time.
- Model Cleanly: Be sure to eliminate duplicate points.
Meshes
Meshes can be used to define most surface-based toolpaths, but, in general, mesh-based geometries are less precise in defining surfaces and features with curvature. Mastercam, being a program developed for and used by the machining industry, is more compatible with surface-based geometries than with those defined by vertices and facets. It is easier to edit and work with surfaces in Mastercam, but we recognize that some geometries are defined as meshes and so can work with those as well. Some things to consider:
- Not all Toolpaths work with Meshes: Some special surface-based toolpaths reference the isocurves of a surface. As a result, they do not work with meshes. One example is the Surface Finish Flowline Toolpath.
- Meshes Often Require Additional Containment: In Mastercam meshes can also be problematic along their edges, requiring the use of Containment Curves that limit the action of the toolpath to the area on top of the mesh only, and not over its outermost edges.
- Small Features and Number of Mesh Faces: The same arguments as those made for surfaces can also be made for meshes. Be in control of both the size and number of faces defining your mesh. Use resolution settings that result in fewer polygons and produce adequate surface definition, rather than trying to achieve smoothness through very high polygon counts. Vertices that are too close together or faces that are too small will significantly increase processing times, increasing the likelihood that Mastercam will crash, without necessarily producing a better toolpath or model in the end. Understand the physical implication of the size of the mesh faces with regards to the constitution of the material you will be using and of the diameter of the endmills employed.
Organize Layers
Layers are referred to as "Levels" in Mastercam. Layer associations that are created in Rhino and other software programs are, for the most part, preserved when geometry is imported into Mastercam. However, avoid using sub-layers as this layer hierarchy will not be preserved. Given the way that geometry is used to defined toolpaths and how it is displayed in Mastercam, it is extremely helpful to organize geometry into layers in terms of how the geometry will be used to define certain toolpaths. In general, it is easier to hide a layer/level that contains a number of geometric entities than it is to choose only a few objects from all that is visible on the screen. The following are some more specific pointers.
- Rough and Finish Toolpaths: As most applications will use all surfaces of a model to define the first Rough Toolpath for a part, it is generally more helpful to organize surface geometry into separate layers as determined by the Finish Toolpaths that they will define. In this way, when setting up the Rough Toolpath, you can select all of the surface geometry on the levels containing surfaces defining the Finish Toolpaths.
- Using different tool sizes/shapes: If you will be using different tools along different curves or as the tool to use for Finish Toolpaths on different surfaces, you might also want to organize your layers accordingly. Each toolpath can have only one tool associated with it, so it will be best if level organization allows you to select only those curves or surfaces that will be cut with the toolpath that using the 1/8" diameter flat endmill, for example.
- Drive and Check Surfaces: Separate those surfaces that will act as Check Surfaces and Drive Surfaces onto separate layers. Similarly, Drive Surfaces that will be used for one finish toolpath but not for another should be separated into different layers that are appropriately named.
- Using geometry more than once: Keep in mind that a geometric entity can be used repeatedly in any number of toolpaths (and as either a Check Surface or a Drive Surface in each), it is not necessarily used only once or for only one operation. It might make sense to have copies of certain surfaces or curves in multiple layers, but be careful to ensure that you don't select the same thing twice for one toolpath.
- Containment Curves: Keep surface milling geometry on a different layer than curves. It may be helpful to indicate certain curves for use as containment curves for specific toolpaths by placing them on a layer that is appropriately named.
- Cutting parts using many 2D curves: If you are doing a series of 2D contour cuts, put interior cuts on one layer and exterior cuts on a separate layer. This way you can more easily select each set as a group and cutout interior shapes first, then the outer ones.
- Flip Milling: When machining a part from two or more sides (referred to as "Flip Milling"), it is helpful to separate the surfaces that define the top of the part from those that will be used to define the bottom.
- Importing Additional Layers: If you need to generate additional geometry after you've begun setting up toolpaths in Mastercam, it is possible to export a new file and bring it into an existing Mastercam file using the File/Merge Pattern option. In order to preserve your existing layer organization, however, it is very important to consider the following:
- Do not delete or omit any of the layers you have already brought into Mastercam.
- Make sure layers that you have already imported (and that do not have new geometry associated with them to bring into Mastercam) are empty.
- When creating new layers, place them at the end of the list, so as not to disrupt the order/numbering of the existing levels in Mastercam. (If you have created new levels in Mastercam, be sure to duplicate their name and place in the order of layers in Rhino).
- Do not export duplicate geometry.
Bounding Box
Within Mastercam you will have the ability to simulate the toolpaths that you create and predict collisions. In order to do this accurately, however, you will need to tell Mastercam what size of material you are starting with; this material is referred to as the "stock". Most often, a volume that describes the size and shape of your material will be a rectangular prism. In the same way that your part must somehow emerge from the piece of material you are working with, the volume that you use to described your stock in Mastercam must contain all of the geometry that is used to define the toolpaths that make your part.
In Rhino create a bounding box around all of your geometry, then scale it in each dimension until it matches the size of your actual material. Be particular in how the geometry used to define your model is located within the volume of the bounding box. This will control certain aspects of the physical part that is produced. For example, the distance between the bottom of the stock volume and the uppermost surface will determine how thick your model is at that point.
Specify Machine Origin
When Geometry is brought into Mastercam, its location with respect to the origin of the file will have a direct correspondence to where the the machine executes the motion for the toolpaths defined by that geometry. Establishing a clear relationship and logic between the location of your stock, the geometry contained within it, and the origin of the file are all critical components of the process as they determine the physical correspondence of the material secured to the machine and the motion of the machine.
- Origin at Corner of Stock: Best practice generally asks to have the origin of the file at a corner of the stock (not at a corner of the model contained within the stock).
- For the routers, it is easiest for us to match up the "home" corner of the router table and a corner of the material. This makes a lower corner of the stock ideal as the location of the origin. The surface of the table is at a known location, as are the two edges along the X and Y axis, so we use these as the reference and place your material on the machine accordingly. This is sometimes referred to as the "Bottom of Stock" convention.
- For the knee mill and some applications of the robot, however, it may be easiest to locate the origin at a top corner as a tool held by the machine will be used to reference the location of the stock (and a point on the top of the material will be easier to reach). This is sometimes referred to as the "Top of Stock" convention. Using this convention will require that more parameters in the toolpaths be changed from those setup in the Template File.
- Geometry in Positive Quadrants: It's generally most straightforward if all geometry is located in the positive X and Y quadrants. Depending on which machine you are using and whether you are using a Top of Stock or Bottom of Stock convention for the origin, the location of the geometry with respect to Z=0 may be within either the negative or positive quadrant.
- Following the above logic, for the CNC routers, best practice asks for all geometry to be in the positive X, Y, and Z quadrants.
- Limits to Machine Travel: Each machine will have different limits to the size of material it can work with and which axes are larger. If a machine can only travel 48" in a particular direction, it will not be able to execute toolpaths that ask it to travel across material that exceeds this dimension. It may be necessary to rotate your geometry such that it fits within the working area of the machine. In general, the limit to the working dimensions of each of our machines are as follows:
- C. R. Onsrud CNC Router: X-axis: 48", Y-axis: 96", Z-axis: 6"
- AXYZ CNC Router: X-axis: 96", Y-axis: 48:, Z-axis: 4"
- Knee CNC Mill: X-axis: ____, Y-axis: ____, Z-axis: ____
- Roland CNC Mill: X-axis: 12", Y-axis:12", Z-axis: ~3" (depends greatly on the tool length)
- Robots: Determining the reach of the robot is not a straightforward process. For the most part, depending on the height of the operation and the tool size and position, whether the robot can reach a particular position and orientation is something that must be addressed on a case-by-case basis. In general, the range within which the robot can comfortably reach is much smaller than is indicated by the size of the robot or its cell.
In Rhino, position the geometry such that the bounding box touches the world origin, and is in the positive (+) X, Y, and Z quadrants. It is important to make sure you position your geometry is at the World origin, not at the CPlane origin. If you moved the CPlane, be sure to reset it to coincide with the World Top before positioning the geometry.
Check File
Mastercam will use the geometry you've created to obtain information and create toolpaths. Properties like isocurve density, direction of normals, self-intersections, and large amounts of data associated with trimmed surfaces can create issues in Mastercam while it generates toolpaths. Something that may look fine in Rhino can then require additional processing time in Mastercam and might even cause Mastercam to crash. Make an effort to eliminate these potential issues before bringing geometry into Mastercam.
- When your file is scaled, positioned, and ready for Mastercam, run the “check” command in Rhino to make sure all geometry is valid, look for objects that Rhino considers "bad" and remove them.
- Shrink trimmed surfaces.
- Rebuild surfaces that are particularly dense, using fewer isocurves (pay attention to tolerance settings so that the new surface isn't too far from the original).
- Redefine particularly dense mesh objects so that they use fewer polygons, but, again, realize that very large polygons might cause a faceted appearance to smooth surfaces.
- Delete any unnecessary data by deleting "extra" geometry that is not necessary in defining the toolpaths.