After spending quite some time trying different pieces of software I have come up with a collection and a workflow that I think will fit my needs.

I wanted to be able to accurately design parts in 3D, see how the parts will fit together to make sure they are right, and produce traditional engineering drawings of the parts, if possible. Also it is necessary once a part has been designed to be able to convert it into toolpaths, which is the path that a drill bit would move along to make the part. The toolpaths are represented using g-code which can be processed by EMC2 to move the stepper motors. Another requirement was to use free software where possible to try and keep costs down.

I start with Alibre Design Xpress. This is an excellent 3D design program that is also free. However free comes with a price, that is limitations. The key limitations are a limited number of export options and limited number of parts in an assembly. An assembly is a collection of parts fitted together to build something. However with enough perseverance these limitations can be overcome. In Design Xpress I created a simple test part that contains two holes for bolts:

Test Piece 1 2D Design

Creating this 2D profile is very quick and easy. The holes are 0.174″ in diameter, which should be big enough for a #8 bolt. Next step is to extrude the 2D profile into a 3D part:

Test Piece 1 3D Design

The part can be rotated and viewed from any angle. I decided to make the part 0.250″ thick. At this point Design Xpress can produce various numbers regarding the part, depending on the material it is made of. Choosing “Wood – southern pine” resulted in:

Volume = 1.480147117 in³
Mass = 1.576592260E-2 kg
Surface Area = 1.453202145E1 in²

Pretty interesting.

The software only allows five unique parts in an assembly, unless you register then it is 10. However this is quite a severe limitation in my opinion. Fortunately there is a way around this. Alibre has written an add-on called 3D Publisher for Google Sketchup that allows parts to be exported in Google’s Sketchup format. It’s not a requirement that the parts be uploaded to Google’s 3D Warehouse. Instead the exported parts can be saved to your hard drive. The following screenshot shows an assembly of two of the test parts along with size #8 bolts and nuts. The exact bolts are ANSI PHN, CRSHD TYPE II, B18.6.3, .164-36 UNF, 0.75, which gives an indication of the accuracy expected from designing parts and assembling them.

Test Piece 1 Assembly

Again, this assembly can be rotated and the parts can be made transparent, along with plenty of other options. There is even a free add-on for Google Sketchup that provides a ray tracer. Assembling two parts confirmed my intention that the holes will line up.

With a few mouse clicks Design Xpress can convert the 3D part into traditional engineering drawing:

Test Piece 1 Drawing

This can be printed out, emailed, etc. and provides all the measurement details for someone else to reproduce the part without having access to electronic files. The drawing can also be exported as a DXF (without the annotations), which is needed for the next step.

I found an excellent application to generate toolpaths for a part called CamBam. It takes a DXF file and provides an easy to use user interface in which you can select which items are profiled, drilled, pocketed, etc. Once the DXF file is loaded into CamBam all the unneeded views are deleted to leave the original 2D profile. For this part I added a 2.5D profile operation to cut the outline of the shape and two sprial drill operations for the holes:

Test Piece 1 in CamBam

Cam Bam then generates the g-code which can be loaded in the AXIS interface in EMC2:

Test Piece 1 in AXIS

This process may seem convoluted, and it requires both Windows and Linux, but all the software can be obtained for free and is high quality. I haven’t completed my CNC machine yet, but I can watch the part being made in the AXIS interface without having the motors connected. I would expect that all the software will work in a Virtual Machine in Linux, however note that Design Xpress requires a lot of RAM to run (300Mb I believe).