In the past Engadget's very own Will O'Brien has demostrated how to build your own CNC (computer numericial control) cutting machine, and he also plans future articles on this subject. Searching the internet, you can't swing a nunchuk without hitting plans for "do it yourself" CNC machines, motor kits being sold, etc. A CNC machine is truly one of the ultimate projects a hobbyist can build and one of the best tools to have in a shop when finished. Yes, even better than a speed square. However, while much is said of what you can cut with such a machine, the how part of design creation isn't always as clear.
For today's How-To we're going to go through the process of designing a somewhat complex item that can be cut with a standard 3 axis homebuilt CNC machine: a jointed "robotic hand". This requires several design methods drawn in multiple views, which will demostrate many of the techniques that are useful in preparing items for CNC cutting. At the very least it's a good primer for vector artwork in general, if you've ever been curious about it. So let's take a look at what's involved in prepping our CNC robot factory, shall we?
Ok, let's get started designing a robotic hand in order to learn some 2D CNC design techniques. Sure we could have made something boring like an acrylic computer case, but let's face it, fake robot hands are freaking awesome. Plus there's loads of nuances in it that will help us cover several aspects of design.
For this project we're going to design everything to be cut with 1/8-inch thick material using a 1/8-inch diameter bit. It's fun to go hog-wild with the designing but when it comes right down to it, you want to use as few different tools (bits) as possible. On the software side, we'll be using Adobe Illustrator (AI) for design because it's standard program, common, and cheaper than AutoCAD -- and of course, is our favorite. It can also export files to a wide vareity of formats which is handy considering the vast array of CNC machine control software out there. We'll also use Adobe Photoshop for the first step, but any image program than can scan will work fine.
Scanning a Reference Model
For starters we're going to need a reference. One very easy way to do this, for any type of project, is to simply scan the item, in this case a hand. The reason this works is because scanned photographs almost always retain the original dimensions in the resulting image file. Below is a trace of our hand (save the kindergarten jokes please) that we've scanned into Photoshop. As you can see we also marked off the joints for later reference. (Yes we realized we missed the joints at the wrist, we're going to let those slide.) Remember, these same techniques will work for most anything you're designing a part for.
Clicking on the image menu and selecting image size will tell us the properties of this object.
As we can see the image is the size of a standard "letter" sheet of paper. The resolution, measured in dots / pixels per inch isn't that high but that's ok, the scale is correct. Let's get rid of the extra crap on the page...
- Select the dotted box thing in the upper left corner of the menu. This is the rectangular marquee selection tool, but we just call it the "box thing". We also drink beer instead of wine.
- Click on your image and drag to pull a box around your object. Release the button to set the box.
- On the menu click image and then crop. The image will be cropped down to the size of the box you made.
At this point you may also want to adjust your scan to make it look a bit more defined. Here's some methods of doing that:
Image is dark or pencil lines to thin: Click image, then adjustments, then brightness / contrast. Use the sliders to change your image. If "Preview" is checked it will demonstrate the changes as you slide. If strange colors emerge as you do this, cancel out and try the following first...
- Color artifacts in a black and white image: Click image, then mode, then grayscale. Now the image is black and white. Many scanners, even if you set them to grayscale, will still save the image in color RGB mode. You can now do the brightness and contrast adjustments with much better results.
Unsharp mask: If you need to bring out details in your reference item, this might do the trick. Click filter on the menu, then sharpen, then unsharp mask. In general it's best to set "amount" to the highest, "radius" in the middle and "threshold" to the lowest, as shown below. Again, check "preview" and the changes are displayed on the main window in real time.
Once you have your reference item looking decent and cropped it's time to save, so we can place it into AI. Click FILE, SAVE AS and then select a format and give it a name. As for the format anything's fine, we suggest JPG, BMP, or PSD. Most programs can open at least the first two, and since this is a reference only item it's not a big deal if it looses some detail when compressed via JPG.
Bringing the reference item into Adobe Illustrator (AI)
OK now you can boot up AI and we'll get this sucker into a layout.
- With AI started, click file, new. Create a page size that's about 8 times bigger than your project. We used 36 x 36-inches.
- Click view on the menu and then show rulers. It looks nicer, and they're also used to pull out guidelines, more on that when the time comes.
- Click view again and enable smart guides and snap to point. This will come in very handy for this sort of work. We'll bring up other useful menus and boxes later on.
- Click file, then place. Select the file of your reference item, in this case, we've selected hand.bmp. The image will plop onto the screen.
- Using the selection tool (default tool, or click V) you can drag the image next to the ruler to check its size. It should still be in its original dimension.
Drawing objects onto the reference image
Let's start by checking out the display modes of AI. At most times you'll be in either Preview or Outline mode. To switch modes, click view on the menu and then select a mode, Preview or Outline. (Binding a key to this this function is very handy, check the AI Help file for instructions on that.) Here's the differences between the modes:
Preview shows everything, colors, strokes and images. However editing in this mode is a bit more difficult as you'll often grab objects you don't intend to.
Outline only shows vector lines. Images in this mode appear as boxes. In outline mode you have to click on actual vector lines of objects to grab them, which allows more precise control.
Here's a sketch of how we intend the metal "bones" to connect. The bones will be cut out of 1/8-inch thick material and have screw and stop nut joints. Thus in the top-down view we'll design the basic layout of all the fingers in relation to each other and set their lengths, and in the profile view make the actual shapes we'll use to cut the parts.
My finger design. The center bone is a single piece, whereas the top and bottom bones are doubled-up to create simple joints.
Let's start by drawing some "bones" in top-down view. In AI, select the rectangle tool as shown below.
Now you can click, drag and release to create a rectangle "bone" over a finger. This gets you the basic size to start with but isn't very precise, especially for CNC cutting, so click window on the menu and then transform. You'll get the following box:
Here we see the "bone" we freehand drew is .205 x 1.024-inches. For starters the width needs to be changed since we intend to cut this out of 1/8-inch thick material. So highlight the W (width) field and type in .125, the decimal value of 1/8th. While we're at it, I'm going to change the H - height as well, rounding it off to 1.1-inches. Now, before we go much further let's talk about setting colors.
Changing the color
Most objects in a new window default to white fill with a black stroke, the stroke being a color drawn on the outline of the object. If you'd like to change this, go to the window menu and turn on color and stroke. Below is a description of what these windows do and how it applies to this project. For this project it's best to use a clear (no) fill and a black 1-pt outline.
Fill color - the main color of an object. Set to clear by clicking on the slash if you'd like to see through shapes. This is handy for what we're doing, since we're drawing over a photo.
Stroke color - the color of the stroke outline. Black is the default and is fine for this. You can also make shapes with no color at all, though you'll still see them in outline mode.
Set Palette type - Choose from RGB, CMYK (as shown) and other modes. Not terribly important for this sort of vector work.
Palette - Click in here to grab a color. Or click on the Fill or Stroke box and enter a color manually using the sliders.
Stroke Thickness - Pretty self explanatory. 1-pt weight works fine. Set it once and forget it.
Ok back to drawing! Hit V on your keyboard to get the selection tool. You can now click on and drag the bone around. Place it in the center of the finger to represent the middle bone, on mine it matches up to the first and second joint. Now let's replicate it!
- With your selection tool, hold ALT and click and hold on an upper corner of the object. Drag it a bit and let go -- you'll see you've made a copy. (This also works with layers in Photoshop, by the way.)
- Here's where Smart Guides come in handy. Drag this new object to the bottom of the first object and the corners will "snap" to each other. You can snap any part of an object to another, which is very handy as it creates "exact" connections you can't do manually.
- You can then copy this object with alt+drag and make the opposite site, as shown above.
- Then you can take the bottom 2 objects and bring them to the top to make the top of the finger. You can do this one piece at a time, or select one object, hold shift, then click the other to select them both. You can then copy and drag them together. The standard ctrl-C and ctrl-V can be used to copy / paste as well.
- For this example we want to make the bones fit the fingers, but we want the join portions not to move. Thus we grab the top middle or bottom middle controls.
- Click on the control with the selection tool and drag the bone(s) to the height you'd like. In this example, the top 2 bones have been pulled down, made shorter than the original object they were copied from, and the bottom 2 bones have been lengthed to reach the knuckle.
- You can also resize groups of objects using Transform, but be sure to set the Reference Point by clicking the little black and white boxes in the Transform window. These set which edge of the object will stay put while the rest of it changes shape. See below for an example of changing the height:
At this point we could start copying the fingers and filling up the hand in top-down view, but first we need to put in joints. If you're making something you're going to copy it's best to make it as complete as possible right off the bat to save yourself time later. For this example we'll be using a 3/4-inch long size 6 screw for a joint, with a washer and a stop nut. Let's draw one into the program!
Drawing a representation of a screw, nut and washer into AI
- Go to a blank spot on your design page. You can hit H to bring up a hand that lets you drag the screen around or you can use the Navigator window (on the menu, click window then navigator) to find your way around the document.
- Using a dial caliper or other such accurate device you can measure the parts of the screw. (Harbor Frieght has cheap dial calipers, usually $20 or less.) Here's an example of how to do it...
- Drawing the shank: The shank measures out at 0.73-inches long by 0.115-inches thick. Get your rectangle tool (click M) and simply click on the screen, it will prompt you for the dimensions since you didn't click and drag anything. Put in 0.73 for the width, 0.115 for the height.
- Now let's draw the nut / washer. Measuring these together, it's 0.24-inches wide and 0.375-inches in height. In the case the height is also its diameter. Draw a box of this size.
- This is a good time to switch to Outline mode (view menu, then outline). You will notice the objects have an X in the middle. This is the center. With the selection tool (V), click the center of the nut / washer and drag it to the center of the screw shank. You can now slide it left and right (to represent how far down it's screwed on) by dragging left and right. If smart guides are enabled it will stay on level with its original position. Pretty handy!
- Now let's draw the screw head. This might seem like overkill but it's not a bad idea when designing projects. We'll start by measuring the screw head to find it's 0.265-inches in diameter and 0.083-inches deep. So it's kind of like a flattened circle that's been cut in half.
- Get the ellipse tool (punch L on your keyboard) so we can make a circle. You can also find it by clicking on the shape tool (where we got the rectangle marker) and holding it for a second -- shape options will fly out the side.
- Click on the screen and you'll be prompted for the size of the ellipse. Input 0.265-inches for the height (diameter) and 0.166-inches for the width. We've used 0.166-inches since it's double that of the screw head thickness of .083"
- With the selection tool, drag this circle to the center of the main shank, then slide it right so it's on the end. See below:
Now let's slice that circle in half so it respresents the screw head. Make a square that's taller than the circle and at least half as wide. Position it with the right edge at the center of the circle, as shown below:
- Click the window menu and enable the pathfinder window. You wil see a window like the one shown below:
- With the selection tool, first click on the circle (1). Hold shift, then click on the square (2). This sets the subtraction order -- the second object selected will be subtracted from the first.
- Now click the icon shown as (3), then click expand (4). The square will be subtracted from the circle and presto - you have an accurate screw head.
Positioning the screw onto a joint
Ok now let's get this screw down into the joints!
- Start by grouping the shapes that make up the screw/nut. Select all screw objects, then go to the object menu and select group. Now they all move as one. To separate them simply go to the same menu and hit ungroup. Note: Objects grouped together will all copy together if you do an alt-drag or ctrl-C copy.
- Drag the screw by its center and place it on the center of the center bone. Then drag it up to make the top joint.
- Next, ungroup the screw parts (object menu and ungroup)
- Select the shank and screw head and drag them to the outer edge of a bone. Then drag over the nut / washer to the opposite edge.
- The result represents how the screw will fasten to a part, as shown below. For clarity we have colored the bones yellow, the screw light gray and the nut/washer dark gray.
- Place screws on each joint.
Now you can copy the entire finger and place all 4 on the hand, as shown below. We adjusted the bone length for each finger, but each is built the same way. As for the thumb, we'll be drawing that in using the different view since it's opposable to the main fingers. Once the lengths of the bones are set it's time to move onto the next step.
Creating the profile view using the top-down as a reference
With the top-down view fingers out of the way it's time to redraw them in profile view, in the shapes they'll be cut as. While it might seem like a lot of reworking you can actually use copies of top-down objects for most of the profile reconstruction. Again, any CNC project, not just robotic hands, can be done this way.
- Select an entire finger and alt+drag a copy of it off to the right. With smart guides enabled it should stay level with the original.
- Make yet another copy just to the right of this one.
- Erase one of each "double bone" so there is a single box per bone. Line these up vertically, while making sure not to change their horizontal position.
- Select the three main bones and change their width to 0.4-inches each. This is the depth of each finger.
- Create a 0.4-inch wide circle and place this at each joint. To center it, use the center X of a bone then drag it down to the edge of the square.
- At the center of each circle place a smaller 0.125-inch diameter circle. This is the screw hole. Both of these circles should line up with the top-down view screws.
- Erase the top-down view screws. It should now look like the following:
Now that we have our side-view finger, let's round off the tip:
- Select the rounded rectangle tool from the toolbar. It's in the same place as the squares and circles.
- Click and drag a rounded rectangle over the top rectangle of the finger.
- You can also input the parameters for the rounded rectangle, including the corner radius. For this example, let's make the corner radius 0.2-inches, which is half the width of the finger. Thus, it will create a rounded tip.
Next we'll want the top of the finger to be rounded, but the bottom straight.
- Scale the rectangle down so the top of it goes to the center mark of the rounded portion.
- Next, select the rectangle, then the rounded rectangle.
- On the Pathfinder window, click the "Add to shape" box and then Expand.
- A new shape is formed. Note how this is the opposite of the object subtraction we performed earlier.
You know have a side view of a finger. We'll repeat these steps for the other 3 main, non-thumb fingers.
Separating the fingers for CNC output
In order to prepare a design like this for CNC output we must separate the parts. Some of the shapes are used for multiple parts, so we must make more copies.
- Make 3 more copies of the finger off to the side.
- On each copy, delete the parts you don't need. As seen below, each section has the round joint and the screw hole.
- Next, combine the rectangle finger portion with its rounded portion(s) by using the "Add to Shape" command as shown above. This will leave each piece with a main shape and a screw hole.
- Now you can put the finger portions aside for CNC. Of course, keep in mind for the "double bone" pieces you'll need to make 2 of each piece.
- We can now use one of these profile view fingers to create the thumb in the top down view. Bring a finger over and rotate it to the correct angle by using object menu, transform and rotate. Enter a value for the rotation, positive numbers are counterclockwise, negative clockwise. About 30 degress of tilt should do it.
- You can also rotate an object or group of objects by putting the selection tool just outside of the corner scale controls. The cursor will show up as rounded arrows and you can then click and drag to free rotate.
Designing the "body" of the hand
Now that we have the fingers drawn in both views and ready for cutting, we need a main hand body to attach everything to, lest it start looking like a character from Wii Sports. We'll begin by making another version of the hand, a profile view with the fingers attached.
- Click on the upper rule and drag down -- you'll create a guideline. Set this on the center of the middle finger joint of the top-down view.
- Make a copy of the profile view middle finger and drag it to the left of the main hand. Place its bottom joint on the guideline - it is now level with the main hand.
- Draw a tall 0.125-inches wide rectangle and center it to the finger, this will represent the back of the hand.
- Make a copy of the index finger and rotate it 30 degrees for the thumb. Use another guideline to align it to the thumb of the main drawing.
- The drawing below shows what this will look like -- we're creating a side "built" view of the object. The thumb is a little off but we'll get to that later.
- Zoom in on the knuckle of the side view finger.
- Copy/paste the 0.4-inch joint at the bottom and resize it to 0.5-inches. Center this larger circle on the original joint.
- Make a copy of this 0.5-inch circle and resize it to 2-inch height, same width. Place this on the original joint also. It should now look like the following:
- Make a rectangle bigger than the top half of the tall circle. Place it over the top half of the circle, with its bottom edge lined up to the circle center. This will be the subtraction rectangle.
- Make a copy of the back of the hand piece (tall rectangle in above photo) and place it onto itself.
- Select the subtraction rectangle and then the copy of the back hand piece (using shift). Group them together.
- Select the tall circle, hold down shift and then select the items you just grouped.
- Use the Pathfinder window to subtract these from the tall circle, as first described in the screw section.
- Select the resulting shape, then hold down SHIFT and select the 0.5-inch circle around the joint. Add these shapes together.
- Finally, select the resulting shape and SHIFT select the center 0.125-inch circle. Do a copy / paste and you'll have your knuckle attachment. The idea is it'll slide down onto the back hand piece and be welded/glued in place.
- This knuckle piece will fit the four main fingers so build it once and then just make copies.
We need to make a special knuckle for the thumb since it won't behave much like a thumb without it. The thumb tilts in and out but also up and down to some extent, thus we need to add a second axis of rotation to its joint. We'll start with the top-down view of the hand.
- Draw a 0.5 x 0.5-inch circle and place it on the bottom joint of the thumb. This is the wide joint for the thumb, more about it later.
- Draw a 0.375-inch wide by 0.5-inch tall rectangle and place it on the center of the circle and to the right. (See drawing below.) This represents where the first joint attaches to the second.
- Next, place a 0.125 x 0.8-inch rectangle to the right of the last one. This is the rotating disc to which the thumb is attached.
- Immediately to the right of this place a copy of itself. This is the stationary disc which will be affixed to the back of the hand. It and the rotating disc are connected via a screw through their middles.
- Place a large rectangle over all of this with its left edge to the left of the rotating disc, and its bottom not much lower than the disc. This is the starting of the back of the hand, which we'll work with at the end.
Now let's draw this in the other dimension, like we did for the knuckles of the other fingers.
- Make a copy of the top-down view index finger to use for the thumb but do not rotate it.
- Place a 0.125 wide by 0.5-inch high rectangle at the bottom joint. This is the same as the 0.5 x 0.5-inch joint fron the previous view.
- Move the screw/nut off to one side and copy the rectangle you just drew to both sides of the double-sided bone. This represents a wider joint than the rest of the fingers.
- Put a 0.8 x 0.8-inch circle on the center of the center rectangle. It should now look like the following:
What we have done is make the joint attach on the outsides of the double bones as opposed to the insides like the rest of the fingers. (We'll have a unattached disc in the middle to keep the bones spaced correctly.) Widening the joint like this will allow use to put a screw on the inside so the rotating disc can connect to the stationary one. Now let's draw the rotating discs in this view:
- Make (2) 0.8 x 0.8-inch circles and line them up with the base of the thumb. These will be used for the rotating and stationary discs.
- Place one of the circles level to the thumb's bottom joint and just a little to the left (below) the back of the hand.
- Draw a box the same height of the circle, from its center to the right hand edge of the back of the hand. This represents how the stationary disc will have a tab that goes though a hole in the back of the hand for attachment.
- Put a 0.125 x 0.125-inch circle in the middle of the larger circle. This will set the center point, which will be lost when the objects are combined.
- Use "Add Shape" in the Pathfinder window to combine the circle to the rectangle and make the stationary disc piece. The small hole we drew allows up to place other things to the center of where the circle was.
- Using the other 0.8 x 0.8-inch circle drawn earlier, center it on the stationary disc to represent how the rotating disc will attach.
- Now we can attach the joint of the thumb to this disc to get the 2 axis movement we need.
Separating the thumb for CNC output
The thumb itself can be "broken down" for CNC output like the other fingers. For the double joint, do the following:
- On the side view, where we were last, make a copy of the rotating disc and center hole, and then stationary disc / tab and its center hole. Remember, copy / paste is your friend when doing this sort of thing, it keeps you from destroying the original pieces.
- Now, on the top-down view, grab the 0.5 x 0.5-inch joint around the thumb, the 0.125 x 0.125-inch hole in the middle and the rectangle connected to the right of it. Copy these off, and combine the large circle with the rectangle. Duplicate this (to make both sides)
- Finally, from the same joint, grab the 0.5 x 0.5-inch circler and the 0.125 x 0.125-inch hole and make a copy. This is the middle disc that spaces out the double bones of the thumb.
- The resulting CNC-ready thumb parts should look like the following:
Back of the hand
Now we have everything, finger-wise, except a way to connect them together! Earlier we drew a piece to represent the back of the hand, as a placehole while we made the thumb joint. Now let's expand that to connect all the fingers together. For this example we're assuming the back of the hand is a single 0.125-inch thick piece of material. We'll do this in the top-down view.
- As with the thumb, place 0.125-inch wide by 0.5-inch high rectangles at the base of each finger -- this represents the center of the knuckle. The bottom of this rectangle also shows where the back of the hand ends and the joint begins.
- Below each finger draw a rectangle to represent where the knuckle will attach. (Check up above, the knuckle is the piece that looks like some sort of Klingon war-blade.) Thus, this rectangle must be big enough to hold the knuckle, height-wise. The top of the rectangle should meet up to the bottom of the 0.125 x 0.5-inch rectangles drawn in the previous step. We made rounded rectangles on mine for a nicer look.
- Draw several rectangles to connect the knuckles and "fill in" the back of the hand. The result should look like the following:
You can then select all the rectangle and back of the hand pieces and combine them to make a solid shape.
Arranging parts for CNC cutting
We'll cover this more in a later article but here are the main things to keep in mind:
- Make copies of everything when you deconstruct them for output. This keeps you from wrecking the originals. "Undo" doesn't cure all ills.
- It's handy to group objects together, such as a finger portion and the screw holes that go with it. This makes it a lot easier to select and arrange pieces when you're laying them out for the table.
- Keep in mind the width of the bit when laying out parts for cutting. If you're using a 1/8-inch diameter bit, have at least 1/4-inch between parts to avoid chatter and damage. Check out the file links for an example.
- To check the spacing between objects, select everything and click object on the menu, then path, offset path. Enter the diameter of the bit, and an outline representing the tool path will be created. You can then see if anything's going to "hit" Undo the outline once you've check it (since it kind of makes a mess of things).
All the parts for the CNC hand, laid out for cutting with a 1/8-inch diameter bit.
Files for download
You can download a complete vector file of this entire project to poke, prod and edit at your leisure. Take a look at the finished parts and compare it with the tutorial to gain a better understanding of how everything was accomplished.
AI, version 10 - Opens in versions of Adobe Illustrator from 2002 onward. Also opens in recent versions of Corel Draw.
DXF - Opens in various programs such as AutoCAD. Is also used by many CNC control programs.
DWG - Another AutoCAD type file format
EPS - Generic file format, opens in most anything, even some toasters.
Now that we've discussed how to design CNC-ready parts in multiple views you should be able to take this knowledge and apply it to projects of your own. In a future How-To sequel to this project, our own Will O'Brien will demostrate how to take these sort of files and cut them using his custom-built CNC machine. (Don't worry we think he's just about finished with the projector thing.) Stay tuned!