SketchUp to VCarve to CNC: Camera Arm

Quick Links for this article:

The objective of this project was to get a little more familiar with and demonstrate the workflow between SketchUp to VCarve to CNC machine. The project itself is a movable arm for the baby camera in my daughter’s room. Is the project necessary? No. But it’s a fun exercise in both design and software workflow.

Everything I’m showing you here is actually the third and final run of the project. The first arm was cut out with crappy scrap plywood just to see if I had the workflow figured out. Once assembled I noticed it was just too tight to work easily. The second arm was cut with a slight change in tolerances in the VCarve toolpath settings. It worked much better but I realized this step was unnecessary as I would be sanding the pieces on the final project. Here’s the final working prototype.

When working with plywood, MDF, or any other engineered panel you typically do not have to worry about defects. Of course if you are using a previously used engineered panel you will have to take into consideration the previous cuts. In this case I’m making two arms out of a single piece of mahogany that is perfect for the majority of the board. There are two cracks and one chunk of chipout that I need to avoid though. Before going to the computer I took measurements for the overall dimensions of the board as well as the location of all the defects.

First up on the computer is SketchUp. I won’t cover designing the arm itself because it’s basic modeling back and forth until a desired design is found.

This design has a vertical piece that will be screwed to the wall. The wall piece has a .25” mortise, or slot, cut into it to hold the base of the arm. The width of the slot needs to be set to the thickness of the material. It’s worth noting that because a router bit is being used to create the slot there will not be any sharp interior corners. They will all have the radius of the router bit. This means the tenon piece will not be able to go to the ends of the slot. The tenon piece was modeled so that the top and bottom will extend past the slot and cover the dead space in the slot. You can see this with a X-Ray view of the joint.

The other interesting feature of the design is the pocket needed for the camera. The main circle shape is sized for a friction fit of the camera. Hopefully no extra attachment mechanism is needed to hold the camera. Just a friction fit. The camera has a microphone mounted on the right of the base so there needs to be an access area to not block it. I duplicated the access area to both sides of the camera mount so that the microphone is not obstructed if the final piece of the arm is mounted in either the left or right direction.

This step isn’t necessary but rather something I just like to do. Rather than importing the final design into VCarve and figuring out that it doesn’t fit the material I like to flatten the design over a rectangle sized to my material. It’s an extra step in SketchUp that eliminates the back and forth software jumping if the design doesn’t fit the material I have to cut it out on. In this case the rectangle was sized for the plywood scrap I was using. I also put these four pieces of the model on their own layer. Again, another slightly unnecessary step. At this point I had three copies of the model in the SketchUp file and rather than importing all three of those copies isolating one copy onto an individual layer will allow me to only import that single layer.

As of the time of this article, the SketchUp file needs to be saved as a SketchUp 2017 version or older in order to be imported into VCarve. The pro version or free version of Sketchup has no impact on this working or not.

With the SketchUp work done we can start the VCarve work. A new file is created with the workspace dimensions set to the dimensions of the mahogany board. The mahogany had a few defects in it that I do not want to include in the final project so I quickly added a line and a rectangle to let myself know where the usable space stops. There is another crack in the lower right corner but it’s close enough to the edge that I can visually avoid it with no problems.

Importing the SketchUp file is done by clicking on the Import Vectors button. Once the SketchUp file is selected a dialog box will open with a few options you can modify on the import. For this I just wanted to make sure I only import the isolated layer in the SketchUp file.

I will be making two of these arms so the first step was to copy all of the imported vectors. This is easily done by selecting the vectors, press Ctrl+C for copy, press Ctrl+V for paste, and then using the arrow keys to move the new copy as needed. Holding shift while pressing the arrow keys will move the vectors in larger increments. I find moving vectors in VCarve to be much more convenient with the arrow keys rather than double clicking the vector and clicking and dragging it around. You have to be pretty precise with the mouse to click right on the vectors when dragging and often times I click on the white background space which deselects the vector. While moving the vector around on the screen you can also flip it horizontally by pressing the H key, vertically by pressing the V key, rotate it 45 degrees clockwise by pressing the 0 key, and 45 degrees counter-clockwise by pressing the 9 key. Learn these keyboard shortcuts and it will most definitely save you time positioning vectors when not using the nesting tool.

This is the final layout I settled on. There is plenty of space between the parts and you can see how adding the line and rectangle before importing the model allowed me to easily avoid the defects in the board.

The slot/mortise in the wall mounting piece needed to be resized for its width to match the thickness of the material. When importing the SketchUp vectors they were all grouped together. In this case I selected the piece, right-click, and selected ungroup. This allows just the slot to be selected and deleted. A new rectangle can easily be made with the rectangle tool. With the rectangle tool I added a radius to the interior corners but it’s not necessary to include as the end result will be the same due to the router bit not being able to produce a sharp inside corner.

With the appropriate size rectangle created it needs to be centered inside the perimeter of the part. This is easily done by selecting the vector we want to move first, hold shift, and select the vector we want to be centered with second. Then open up the alignment tool and select the align center with selection. The smaller rectangle moves to the perfect center of the larger rectangle.

One final adjustment is necessary before creating the toolpaths. The pocket on the camera mount needs to be extended. The opening I created for the microphone won’t be cut properly unless the pocket is extended past the perimeter of the piece. This is because I chose to design an outside radius to the cutout for a cleaner look. The imported part actually has a few vectors stacked because it imports the top, pocket, and bottom planes of the SketchUp model, which is pretty handy here. Once ungrouped, I moved the overall perimeter vector to the right by a relative value of 5x. It’s handy to move vectors via relative values so you can move them right back if necessary. Now the pocket vector can be deleted and lines drawn to extend the pocket in both the top and bottom direction on the screen. This will allow the router bit to cut past the pocket and complete the desired outside radius. The perimeter vectors are not necessary for the pocket cut so the trim tool is used to leave just a larger pocket vector. Then the overall part perimeter vector is moved back by a relative value of -5x. This is described better in the video.

There’s a general rule in any CAD work that you should never draw what you can copy. Copying reduces the chance of user error (assuming there is not an error in the original) and is much faster than drawing something twice. In this case the second vertical attachment piece and the second camera mount piece were deleted and the adjusted pieces copied and moved into place.

Toolpath time. First, the slot pockets were selected and a pocket toolpath created with a depth of .25”. Then the two camera mount pockets were selected and a pocket toolpath created with a depth of .375”. Then the perimeter of all pieces was selected and a profile toolpath created with a depth matching the thickness of the material. At least two tabs were added to all pieces and any waste piece that would be loose after cutting. The tool settings were the same on all of these toolpaths.

The CNC machine I’m using is an Axiom AR8 Pro+. It’s a pretty capable machine and I’m still tweaking the cutting settings to figure out what works best. All of these cuts were made with a Whiteside RD2100 two flute downcut spiral bit with the following settings: 20,000RPM, 170 inches per minute feed rate, 85 inches per minute plunge rate, .375” depth per pass, and 80% stepover on pocket cuts. These settings are great for this scenario except for the RPM being too high. I have since used the same settings but lowered the speed to around 10,000RPM with better results. The goal is to dial in the settings so that the bit creates chips instead of dust. If dust is generated there is a greater chance for burning of the wood and bit which results in lower quality cuts and lower lifespan of the bit. Correct chipload is what we’re after.

When all of the toolpaths are created a simulation is ran to see how the toolpaths will appear in 3d.

Back to the shop to load the machine. The machine I’m using allows for up to 9 (I think) programmable origins. This is different from the machine home. The machine home is the absolute 0,0 value of X and Y, which is the front left corner of my machine. I have my #2 origin set at 0,6” which makes clamping on the front end a little more convenient with the Axiom clamps I have. They are a bit longer than the Rockler clamps.

Here you can see the grid I cut into the bed of the machine. I used an engraving bit to cut a shallow groove to form a 2” grid that allows me to align my material accurately to the x and y axis at just about any location on the bed. It’s an incredibly handy tip that I’ll cover in another article. And because the router is actually cutting the grid using the limits of the machine as the perimeter you will always know the exact limits of the cutting area in relation to where you are placing the material.

One note I took while still at the computer was the location of safe areas on the material where I could place clamps. It’s an extra step that takes a few seconds and eliminates the guessing game of where clamps can safely be located.

With the bit installed a z-0 touch plate (puck) is used to let the machine know the exact location of the tip of the cutting tool in relation to the z axis.

Quick tip! Use the CNC machine to cut out a simple pocket and profile to hold the puck and use a hot glue gun to secure it to the top left side of the gantry. It’s always convenient and out of the way sitting here. No need to plug and unplug it every time it is needed.

As much as I’d like to show the bit doing the work I like dust collection even more. So for nearly all of my CNC content I’ll probably have the dust boot installed. Sorry ;)

Here you go…a dramatic shot of the CNC cutting wood…

Here you can see some of the parts as the machine cuts. You can also see some chips packed into the grooves. I might need to modify the dust collection slightly to get better extraction when using a downcut bit with these settings.

I recorded the CNC controller as the cut was completed to see the total time of the cut. This machine cut the entire job in 6 minutes and 27 seconds. That’s pretty quick.

When making profile and pocket cuts I like to have my z-0 set to the bed of the machine rather than the top of the material. So long as the depth of cut is set to the thickness of the material you will not have to worry about chewing up the wasteboard. Sometimes it is desirable to go all the way through the material and into the wasteboard to create a smoother surface on the bottom of the cut though. I prefer not to and then clean up the bottom of the cut with a flush trim bit. You can see the profile outline left onto the wasteboard but this is just dust that got pressed into the wasteboard.

This technique results in material that needs a little cleanup work. The bottom of the board is shown here. You can see that the router bit went all the way through the material near the middle of the board and no near the ends. This is most likely because the board was clamped down tightly at the ends and maybe even compressed the MDF waste board by a thousandth of an inch or so due to clamping and not so much near the middle left side on the machine where I did not have clamps. In those areas the board probably bowed up by a thousandth or two which results in the bit cutting all the way through.

Tabs were used to hold the piece in place while cutting. Without tabs you have a greater risk of the pieces sliding around as they are freed and possibly bumping into the router but intentionally and therefore damaging the piece or even the bit. The pieces are easily freed by one whack of a mallet on a chisel.

Then the bottom edge of all the pieces is cleaned up with a router bit. I’m using a Whiteside RFTD2100 flush trim downcut spiral bit. Because the bit is in a router table the down direction is reversed and in this case pushes the material up. This further reduces the possibility of tearout on the bottom edge. Whats left of the tabs is easily removed here as well.

Sanding! So much fun :) A little easier with an anti-skid mat.

Now assembly can begin. Two drill bits and a clamp were used to hold the pieces in the appropriate location for the hinge pins. A pivot line was established with a square and then extended to the top and bottom faces

Then the pin holes were drilled at the drill press. Due to the shape of the arm I had to use various sized spacer blocks to hold the arm appropriately.

Finish nails were used as pins. With a slightly smaller hole drilled the nails were driven almost flush with the surface.

The nail head was cut off with a hacksaw and then filed flush with a metal file. The end result is clean and plenty strong enough for this application.

Two countersunk mounting holes are added to the vertical wall piece. I didn’t show it in the video but I also countersunk the back side of these holes. Countersinking the back allows room for any slight mushroom of the wall material so the piece can be flush with the wall.

Because the exact thickness of the material was used as the width of the wall piece slot friction would probably be enough to hold the first piece of the arm in place. Of course, glue is added for long-term stability.

For a finish I went with something simple to offer a little protection and darken the wood just slightly. I used a medium walnut danish oil.

And here it is done and installed. The camera was a really snug fit so I don’t see it ever falling out and the openings in the arm allow the power wire to be fished through. Again, not a necessary project but quite a bit of fun.


  1. Jay after to set your tool to the waste board what do you do to get it to know where the top of the wood is to start to cut.

Comments are closed.