Computer-Controlled Machining


Group Assignment

Individual Assignment

Learning Outcomes:

Have You:

Tools Used


Software Used


  1. Group Assignment:
    Test run-out alignment, speeds, feeds, and tool-paths for your machine. Go to the group assignment page
  2. Introduction:

    I will be designing and cutting a table for the tree-house. I based my work on a sketch of a table made by Anaig, a volunteer at the FabFarm.

    Rendered table Rendered table.

    Finished table Table finished.

  3. Specifications
    • Material: Birch plywood
    • Mill bit used: 3.175 diamond shape

  4. In order to manufacture the table, I will first be using multiple CAD and CAM software. I will start designing with SolidWorks, then move to Fusion 360 to create the dog-bones, then with the exported .dxf file, I will move to ArtCAM and create the CAM files. Let's see all these steps below:

    1. I started by scanning Anaig's sketches.

      Anaig's sketch of the table Anaig's sketch

      Anaig's second sketch of the table Anaig's sketch

    2. In SolidWorks, I started a sketch and then went to Tools >> Sketch Tools >> Sketch Picture.

      Inserting the sketch picture in SolidWorks

    3. Next, I scaled the picture by:
      1. Clicking on the ruler and dragging it to a known dimension
      2. Dragging the tip of the ruler to the limit of the known dimension on the picture
      3. Entering the value of the known dimension of the picture
      4. Confirming the input.

      Scaling the picture in SolidWorks

      This procedure ensures the picture has the correct scale and alignment.

      SolidWorks sketch drawn over the picture

    4. From there, I extruded and repeated the steps above for each part, then I created an assembly of the table.

      Table assembly in SolidWorks

    5. After being satisfied with the design, I proceeded to create dog-bones in Fusion 360. That is done using a plugin called, well, guess what? Dog-bone!

      Dog-bone add-in for Fusion 360

      The Dog-bone add-in can simply be placed on Windows in the folder "~/AppData/Roaming/Autodesk/Autodesk Fusion 360/API/AddIns/" under its own directory, and it will be started at every startup of Fusion.

    6. To apply the dog-bone to a design made in SolidWorks, I first imported the design into Fusion 360, then copied the solid with Ctrl+C.

      Copying the solid in Fusion 360

    7. Next, I created a new design:
      1. By clicking on the plus sign
      2. Right-clicking the workspace
      3. Clicking "Paste New"

      Pasting the solid into a new design in Fusion 360

    8. That automatically opens a dialog box that I just clicked OK on.

      Dialog box in Fusion 360

    9. The last step is to use the Dog-bone add-in itself.
      1. Click the home icon
      2. Choose the view
      3. Click on the Dog-bone add-in icon
      4. Click on the face selector
      5. Click on the face you want to add dog-bones to
      6. Fill in the dimension of the dog-bone; in my case, 3.175 mm or 0.125 inches, which is the size of the mill bit I am going to use
      7. Choose the style of the dog-bone
      8. Press OK.

      Dog-bone add-in settings

    10. The result is several dog-bones created at once. Very practical.

      Detail of the dog-bones in the design

      Detail of a dog-bone cut

    11. I need to export a .dxf from Fusion 360 in order to create a CAM file in ArtCAM.
      1. Click on the surface
      2. Click on "Create Sketch"

      Creating a sketch on the surface in Fusion 360

    12. Click "Finish Sketch."

      Finishing the sketch in Fusion 360

      1. Right-click on the sketch
      2. Click on "Save as DXF"

      Saving the sketch as DXF in Fusion 360

    13. Finally, choose a name and save, and I am ready to move to ArtCAM.

      Choosing the DXF file name

    14. Open Autodesk ArtCAM and then:
      1. Click "New Model"
      2. Choose the size of the stock
      3. Choose the unit
      4. Click OK

      New model in ArtCAM

    15. Next is importing the previously created vector:
      1. Click "Vector"
      2. Click "Import"
      3. Choose the file
      4. Press "Open"

      Importing the vector in ArtCAM

    16. The previous steps will show a preview of the import; then do:
      1. Confirm unit
      2. Choose "Automatically rejoin vectors"
      3. Press OK

      Import preview in ArtCAM

    17. Do the steps above as many times as needed so you import all the vectors you want to create the CAM for.

      All vectors imported in ArtCAM

    18. I offset all vectors by 0.1 mm to compensate for the imperfections of my CNC. That allows for higher tolerance.

      Offsetting the vectors in ArtCAM

    19. Next, I sometimes like to organize the vectors, wasting as little stock as possible. That can be done automatically with the nesting tool:
      1. On the vector menu, click "Nest"; this will open a dialog
      2. Here you can specify the milling tool to be used; in my case, 3.175
      3. Also, specify the angle increments in which you will allow the software to rotate the parts; in my case, I chose 45 degrees.

      Nesting the parts in ArtCAM

    20. I like to organize the vectors into layers; in this case, I will create an outside layer and an inside layer so that creating the tool-path will be easier.
      1. With the vectors ungrouped, select the vector you want first; in my case, I selected the vector to be cut outside
      2. Click "Move Vectors To"
      3. New layer or to a layer previously created.

      Moving vectors to a layer in ArtCAM

    21. Here, I rename the layers to "Outside" and "Inside."

      Renaming the layers in ArtCAM

    22. In the following steps, we are creating the tool-path:
      1. Click on "Tool-path" in the menu
      2. Click "New 2D Tool-path"
      3. Click "Profile"

      Creating a profile tool-path in ArtCAM

    23. Since we have already separated the vectors into different layers, now this will come in handy.
      1. Select "Inside Operation"
      2. Select the inside layer
      3. Select the depth; in my case, the stock is 19 mm
      4. Under "Profiling Tool," click on "Click to Select"; this will open a dialog where you can choose the milling bit to be used.
      5. Choose the tool; in my case, I chose a 3.175 diamond mill bit
      6. Click "Select"
      7. You can then add the type of ramp to be used; I want to try the smooth one.

      Profile tool-path settings in ArtCAM

    24. The next step is to finalize the tool-path; scroll down to show more options and:
      1. Choose the material thickness; in my case, 19 mm
      2. Define the Material Z Zero; I like to define it on the top of the stock
      3. Confirm the bottom offset, which should be 19 mm
      4. Click OK
      5. Do the same procedure over and over for each tool-path

      Material settings of the tool-path in ArtCAM

    25. Now we are saving the tool-path; start by clicking on the blue floppy-disk icon; this will open a dialog.
      1. You can then view the tool-paths you created earlier:
      2. Move the tool-paths to the window on the right to include them in one file
      3. Here you can confirm all files on the right side
      4. Choose the folder location
      5. Choose here the post-processor to be used; in my case, I chose the Mach3 post-processor.
      6. Click on "Save."

      Saving the tool-paths in ArtCAM

    26. One thing I almost forgot is to create holes in the G-code. I do that by placing these circles around where the tool-path is in various parts of the job, in order to later screw and fix the stock to the bed. The advantage is that I am sure the tool-path is not going to collide with the fixtures of the stock, in this case, the screws.

      Circles for the fixing holes in ArtCAM

  5. Now let's manufacture it with Mach3 on Windows XP :-) with the CNC I built while in the Fab Academy. Although it's operational, I decided not to document it as a final project, but that's another story.

    1. With Mach3 opened:
      1. Click on "File"
      2. Then click "Load G-code"

      Loading G-code in Mach3

    2. Choose your G-code file and open it.

      Choosing the G-code file in Mach3

    3. The previous step will load the G-code.
      1. G-code will be shown on the left window
      2. Next, I like to click on "Jog Follow"; this will allow you to visualize where your tool is in relation to the G-code. This way, you can safely check and simulate the paths before actually running the code. Use the arrows to move along the X and Y axes and PgUp and PgDn to move the Z axis.
      3. By clicking on "Zero X, Y, and Z" when you are over the place in the stock you want to be 0,0,0, it will set the soft zero to where the tool has been moved.

      G-code loaded in Mach3

    4. I started the job by first securing the stock. For that, I have the CNC make holes around the design with the G-code "holes.tap" contained in this zip file.

      Holes being made for the stock to be screwed down into the sacrificial bed.

    5. Here, you can see the screwing of the stock. I like to use Torx screws; they can be reused several times and are always reliable. Thanks to Jarek from FabLab Nomads for the tip.

      Stock screwed to the sacrificial table

    6. After the holes are made and the stock is secure, the internal holes are cut.

    7. After the internal cuts are done, the external cuts are done. The step-down is 4 mm on all cuts.

    8. I believe the quality of the cuts is quite good for this birch plywood. The dog-bones are visible, and with a little finishing, the parts are going to be ready for assembly.

      Detail of the cut parts

    9. Here, you can see the quality control; a team of four, including me, is filing the finger joints so they smoothly attach to one another.

      Team filing the finger joints

    10. Here I use an orbital sander. I started with 100 grit sandpaper and moved to 220 and then 500. After that, I sprayed some water to lift the fibers and sanded again before applying beeswax mixed with isopropyl alcohol. (Note added later: isopropyl alcohol barely dissolves beeswax; a paste wax is usually made with turpentine or mineral spirits.)

      Sanding the parts with an orbital sander

    11. Here, I test the assembly; everything fits. I fit and then remove the pieces by hammering with a white rubber mallet.

      Test assembly of the table

    12. Now, with all pieces sanded and waxed, I fit one to another.

    13. Here, you can see the tight tolerances of this finger joint. To reduce the gaps even more, I used a mixture of glue and the sawdust I generated while sanding the surfaces.

      Detail of a finger joint

    14. Detail of the curves.

      Detail of the curves

    15. Another detail of the filleted sides. The fillet was done manually with a router tool.

      Detail of the filleted sides

    16. And voilà, the final result!

      Finished table

← (Mar 11) Electronics Design · all weeks · Embedded Programming (Mar 25) →