Corey M. Rice : Fab Academy 2017

Computer-Controlled Machining

Make something big (on a CNC machine).

Learning outcomes:

More Concrete Evidence:


An Idea

Something big. I have known what it would be for some time. I have this terrible hole in my bedroom wall, which used to be an even-worse bookshelf.

Since I saw this week’s assignment on the syllabus, I knew I was going to make a solution for that hole. It had been a 44” by 75.5” blight on my bedroom for years. Now it is time to finally fix the problem. I want to make a built-in dresser to fill that hole, which will allow me to store some clothes and also display them. I would like to include space to hang shirts, as if in a store, and drawers to hold dress shoes and sweaters. I hope that the feature will be functional and add some unique character to my house. So I set off designing. I returned to the press fit kits from the laser-cutting week. I liked the way that these kits came together, and were relatively easy to design. I have since designed a few things in this fashion, and have been getting relatively good at it. Since I have also been trying to further develop my skills with parametric design, I decided to put that skillset to use in the modeling as well.

Starting the Design

The first thing I did when making the first part, was to begin with the parametric design elements. I wanted to be sure to design around the parameters and cleverly defined constraints, since I figured that whatever plywood I bought would likely not be the same thickness as its nominal thickness. (I am constantly frustrated by this foible of lumber supply.) As I played around in this section of Inventor, I found that there was a ‘Link’ option, and when I pressed the button it prompted me to look for an excel spreadsheet -- I can read between those lines -- I quickly made a directory where all of my relevant models would reside and a spreadsheet to match. I included all of the items I would want to have as ‘user parameters’ in Inventor, both by name and quantity. The idea being that if I changed the spreadsheet, any design linked to the spreadsheet would also change. This would allow me to consolidate these parameters and unify my design by avoiding redundancy and possible conflicts. This trick keeps me from having to change the parameter in each model individually, and from the conflicts that could arise if I forget to change the parameters in just one model.

So, off to a good start. The next step was to actually design something. Again, I can tell that I am improving. I made careful progress though thinking out and modeling the parts that I would need. I designed so that everything would just press together, even if it needed some gentle persuasion (a rubber mallet) to get there. I took careful notice to make the tabs a little deeper to account for the thickness of the bit that would be cutting them and that I could not get perfectly square inside corners. To test this proof of concept, I even built the parts into an assembly with proper joints and clearances. Even though this assembly wasn’t be directly necessary, it did allow me to confirm that everything should fit before I cut it out of $140 worth of plywood.

Going from 3D design to CNC toolpaths

Workflow. This is a mess. I had a difficult time finding good documentation to work with all of the tools that I was using. I’m sure it’s not the case, but I felt like the first person to ever try and get Inventor designs to come out of a Shopbot. A person familiar with the Shopbot directed me to try and use the vCarve software that my school got with the machine. I know this is not the ‘fabbiest’ way to make the product, but it seemed serviceable and I had already struggled to dip my toe into this section of both mods.cba.mit.edu & fabmodules.org. The simplest transition from Inventor to vCarve would also gently restrict me to 2D design, but I had essentially built my model that way, anyhow. It would not be a huge adjustment. All I needed to do was remove a few chamfers, and I would be in business.

It took a while to work this out, but I eventually established a decent workflow to get from 3D designed parts to CNC milled pieces, while restricted to 2D cutting on the mill. This is plenty for my first project here, and will be useful to have documented for future use with these tools. This is the most common combination of tools used at the school where I teach, which is also the lab where the bulk of my work is done.

One of the details of setting up toolpaths is determining the endmills that will be used, as well as the speeds and feeds at which they will operate. For my project, I used an upcut bit with two cutting edges and it had a quarter-inch diameter. This particular endmill is well loved at the lab, and the speeds and feeds were already set in the vCarve software. I ran the bit at 200ipm, 22500 rpm and a pass depth of 0.125 inches or smaller. This meant that it took several passes to actually make the cut, but I felt safe about the tool's operation.


I made a few test cuts in some old material that I had, from when I thought I would make this project on a table saw. This allowed me to check the press-fit connection. After a few test cuts: the connection appeared strong, and would press together with a little encouraging from a rubber mallet. I enjoyed that level of friction. Had I gone a little further in testing, I may have been able to avoid the work with the router that I would need to do later.

Workflow

The following is the workflow needed to get ideas from 3D models in Inventor to 2D cut parts on the Shopbot CNC:

  1. Select the face of a 3-D model that you would like to have cut out on the Shopbot.
  2. Export the face as a dwg, but be careful to change the ‘options’ for the exported file so that it is in the 2004 format. Later versions won’t be recognized by Vcarve. Save the exported dwg wherever you like.
  3. Open Vcarve and create a new job with a size of the whole machine bed (96inches wide by 48 inches tall). Also, be sure to uncheck the offset feature.
  4. Next, import a vector file (the dwg you made in step 2). This will inevitable import in some weird orientation.
  5. Reorient the vectors by using the tools in Vcarve. The icons that the Vcarve software uses for ‘rotate’ and ‘move’ were not intuitive to me, and I recommend you use these images for guidance in finding them.
  6. Repeat steps 4 and 5 for as many dwg vector pieces you want to fit on the panel. Don’t get overly ambitious here, as you will need to have a little slop around the parts for clearance.
  7. Use the circle tool to draw small circles around the job, which will serve as the pilot holes for your fixing screws. These will be the places where you screw the plywood to the shopbot, and need to meet a few criteria:
    • Every individual part and/or section of waste material should be screwed down or held in place with ‘tabs’ (I did not use tabs here).
    • Screws must be placed far away from any cuts, since a metal screw will break a mill bit if the two collide. This is both an expensive and dangerous mistake. Take caution here.
    • The screws can serve to hold things in place as well as keep the bed level. Plywood is often not flat, and you can use a combination of screws and shims to make it so on the Shopbot.
  8. Set the toolpaths from all of the vectors that are now in the Vcarve job. This may include drill toolpaths (to identify screw locations), pocket toolpaths (to clear an area) and/or profile toolpaths (to cut something out). luckily, Vcarve knows the speeds and feeds for each bit, based on the material.
    • I used drill toolpaths to drill only 0.1” into my material where every screw should go. This helped me place them safely and also tell me if the bed was level, to about 0.1” of tolerance.
    • I would cut all profile toolpaths first (after placing screws), for areas that needed lots of material cleared by the mill bit.
    • Last, I would cut the profile. Be careful to specify how deep to cut and if the bit should be inside, on, or outside the vector lines. Be sure all the screws are in by this point. Once parts are cut free, they can go flying.
  9. Select the toolpaths that you want to run together, and save these as spb files for the shopbot to use. [These spb files could be directly replaced with those generated by fabmodules, if that was a part of your workflow.] you will want to save the drill/ pilot holes separate from the actual pieces you want to keep, so that you don’t get these mixed up. You can then run them as separate jobs.
  10. Power up the Shopbot and install the plywood, but do not screw it into place. Turn on the dust handling system.
  11. Let the shopbot zero itself in the X and Y dimensions, then move the mill head a little towards the center and calibrate the Z axis.
  12. Cut the pilot holes toolpath on the Shopbot. See step 8a above to see why. Then use a drill/screws and shims to hold the piece in place and force it to be level. You may want to use a laser level to ensure that the piece is flat.
  13. Once again, zero the Z axis of the Shopbot, trying to use the ‘middlest’ height of your plywood. At this point, the whole piece of plywood should be pretty level, but this double check for calibration helps to account for any vertical adjustment from the screws/shims.
  14. Cut the main toolpath for the parts that you want. This is where the magic happens. Be sure that you are ready to stop the Shopbot at any time, since you are cutting with screws in the plywood. If you think it will hit the screw, it is better to stop the cut and restart rather than ruin a bit.
  15. Remove all of the screws, pull the material off the bed and be careful that any veneer that did not get cut by the machine (leftover on the bottom) breaks in the way you want it to. This can be done by taking charge of how it breaks with a hit or by scoring the pieces with a knife.
  16. Turn off the Shopbot and dust handler. Clear work area.

Problem Solving!

The above is a nice workflow. Easy as making a peanut butter and jelly sandwich. However, this is the plan in an ideal world, with everything working well. That is not how my work started. The following is a (not comprehensive) list of problems that I encountered while using the Shopbot, and how I went about dealing with them.

First problem: The stock I had had been cut on a table saw long ago for this project. I tried to line it up to the Shopbot and just cut away from the Red Oak plywood that I had, but this failed. It was difficult to align, and I couldn’t tell if the mill bit was centered on the origin point or to the side of the origin. Faced with this, I decided to abandon using the stock I had and buy new. I turned to cutting all of my pieces out of two new full size sheets of plywood and one sheet of OSB. I was able to use the plywood cut into strips for a few test cuts. these let me know that my tabs would fit together reasonably well. [UPDATE: I should have likely done more test cuts to make sure everything would fit, because I ended up needing to run a router over the edges later.]

Second problem: My car is not big enough to transport a 48” by 96” sheet of wood, so I asked a friend for help (Thanks, Craig!).

Third problem: The bed on the shopbot was not level at all when I found it. It ahd been nearly a year since it had been leveled, and it had many of the tracks from previous projects left in the bed. Also, these were inconsistent and visibly not flat. The sides of the spoil board were even curling up off the plywood and MDF base layer of the machine. This Shopbot seriously needed some love. I changed the machine to the 1¼ inch spoil board bit, and resurfaced the bed with a simple pocket cut that covered the whole spoil board. This nearly clogged the dust handler twice but otherwise worked well, except a few details…

Fourth problem: The MDF spoil board was larger than the Shopbot’s cuttable bed, and the leftovers wouldn’t let my plywood lay flat. This was just frustrating. I ended up being able to knock off the sliver of leftover MDF from one side of the spoil board so my plywood could lay flat. I also chiseled away at the rounded corners left by the 1¼ inch spoil board bit so that the plywood could be adjacent to the long straight edges of the Shopbot’s cutting area.

Fifth problem: The spoil board was not remotely flat, nor was the plywood. I had to place my screws carefully to hold down the board, so that I could get the piece as flat as possible. Since my piece was high centered, I climbed up on top of the Shopbot and stood on the areas where I drove my first screws. The corners then needed shimmed up so that the whole piece was relatively flat. (I thought it was nearly perfectly flat in Home Depot, only 20 minutes before.) Luckily, my second piece of plywood was much closer to flat, and the OSB was almost perfectly flat.

Sixth problem: I didn’t think about the veneer breaking off as I pulled the first sheet of plywood off the Shopbot. Luckily, all of the veneer broke in the way that was most beneficial to me, but I could have had huge scars on my pieces if I hadn’t been lucky. I could solve this in the future, by cutting deeper into the spoil board or scoring the leftover veneer before I pull the pieces off the Shopbot. The latter of these helped me greatly when cutting my second piece of plywood and OSB.

Assembly of the Big Thing

I had worked though both sheets of plywood and OSB on the Shopbot, and it was time to assemble. Since this piece would be very large and go in my bedroom at home, I decided to take it home for assembly. I had made the choice to ensure that every piece I designed was small enough that I could fit in in my own car, and so I could transport it home without help. This all went smoothly.

Once home, I had to address a problem that is an artifact of the shopbot: all of the tabs that were cut had square edges, and all of the holes had rounded edges. I needed to round the edges of the tabs so that all of the pieces could fit together, since this had not been done on the Shopbot. So I brought out the ancestor to the shopbot: the hand router. I used a quarter-round bit to round off all of the tabs on the pieces, so they would fit into each other. I also rounded off the holes so that assembly went a little more smoothly. Then I started assembly in the basement.

Two of the shelves had very large slots that fit into each other. Although these were rounded, I reasoned for the first one that I could just squish these leftover pieces of wood. I was wrong. I assembled the first two pieces, and they would not press flush. I stood on them, hammered them, hammered a waste board on them. Nothing was going to get it flush, and nothing seemed to be able to get them apart at this point either. So, the last effort was the planar. A traditional tool that does a great job of removing small amounts of wood. About fifty passes later, and the pieces were nearly flush. Before I inserted the next shelf, I used a razorblade to remove these rounded corners, and everything seated beautifully. I should have done that the first time…

The rest of the pieces went together nicely, but I moved them from the basement to my bedroom for final assembly. The first side went on nicely, but the second went better with the whole assembly tipped up on its side. I needed to use a large clamp to get the alignment just right for one of the shelves. Once this was done, it was clear that it was a nice sturdy structure that will meet my needs. I was able to place the two halves of the back wall in place and everything meshed together well.

Where it stands. (Rather, lays on the floor waiting to be finished.)

Unfortunately, I have not yet installed the piece in the hole in my bedroom. Since I now need to integrate it into the framing of the house, I need to ensure that all of those preparations are complete. This will take a little more time, but I will update this post when it is done. Eventually, I will finish this project completely. This will include cedar drawers for the shelves. I intend to use proper drawer slider hardware and decorative raised panel drawer fronts. The back wall of the large area will be covered with a brick-look wall panel, in homage to the chimney that resides behind it. I will trim out the visible parts and paint the whole thing (sans cedar) blue to match the accent wall. I also hope to make a custom trim piece to span the gap between this work and the ceiling of the room, once I can get the exact measurements for that trim piece and detail it with some high quality, fully 3D CNC milling. Perhaps of a celestial sun and moon design. I am really enjoying making this practical upgrade to my house with robot aided construction techniques. :)

======================= UPDATE ===============================

I have installed the future dresser into the wall. It took a little sanding at the top and bottom, since the dresser was more square than the hole itself. However, this wasn’t surprising. I anchored it into the wall by sinking screws into the framing studs. Additionally, I covered the back panel (which will support shirt hanger rods soon) with 2x10’s that spanned the width of the dresser. These boards were attached to the cinder blocks with two large lag bolts, so that nothing ever moves. Once Fab Academy is over, I will build cedar drawers add a back panel, and finish up al of the cosmetic work. In the meantime, this installation has served nicely as shelves.

You can see all images (used and unused) from this week's work HERE.