For this project, I selected Rhino OSX (work-in-progress) because it is a dependable, affordable solution for transforming my reference sketches into surfaces. Particularly useful are dimensional and object "snaps" (ways to lock elements to each other according to user-selected criteria) to ensure that I can build parts separately, joining them at a later stage in the design.
You might might have equal luck with another solution, from open source apps such as Blender, Wings3D, and OpenSCAD to free options such as TinkerCAD 123D Design, and Sketchup Other popular commercial modeling tools includes Solidworks, Maya, modo, AutoCAD, and 3DS Max.
Here are a few specs to consider when selecting a solid modeling tool for 3D printing:
- Dimensionally accurate. 2D vectors and 3D models can be imported and exported and will remain precisely the same all the way through a project.
- Multiple layers that can be shown, hidden, and locked. While versioning the design file itself is essential, the ability to break up the parts of your design into multiple layers allows you to keep around reference curves from earlier stages in the design to help you make adjustments later in the design process.
- Ability to create objects from points, curves, surfaces, and solids -- and explode them back into the faces, curves, and points they are made from.
- Grid and object snaps. Grid snaps are handy for making approximations early and late in the design process to adjust to the real world. Object snaps should be user configurable and aid the designer with establishing clear relationships between parts of a model: this line is a tangent to this curve, this surface is perpendicular to that surface, this point is the center of this circular object, etc..
- Ability to export manifold STL mesh models directly. While there are plenty of handy tools such as Meshlab to import files from a variety of computer graphics formats (cloud data, obj, stl, etc.), having an export option to create from your design software directly what your 3D Printing software / CAM requires reduces the complexity of the process. (Luckily, formats like STL are very old and most CAD software supports it.)
I used a MakerBot Replicator 1 and Replicator 2 for this project, but every day, new affordable desktop 3D printers are released that offer the qualities you need to print electronics enclosures efficiently and inexpensively. As a reference to help you select one, consider the MAKE Ultimate Guide to 3D Printing, to which I contributed.
Here are characteristics to consider when selecting a desktop 3D printer:
- Layer height. Often described as "resolution" or "z-axis resolution.
- Thread width. How wide is the filament extrusion coming out of the extruder nozzle? (Or in other methods of 3D printing, the grain size for powder printers and x-/y- axis resolution for laser and UV curing projects. This factor affects the size of "smallest discernable detail" which affects how thin walls and details can be on the surface of objects in terms of x-/y-axis.
- Layer-to-layer registration. When looking at a printed part, are there pronounced layer ridges or do flat/smooth parts only have layers upon close inspection? The more dependable desktop printers are designed to make sure registration is accurate to allow for smooth, organic curved surfaces.
- Repeatability. From job to job, do the calibration settings and dimensions of the results remain the same within a very narrow tolerance? The best way to learn this is to consult a longtime user of the machine. User-assembled kits tend to require user expertise with a painstaking process of establishing a baseline configuration -- but gaining this experience with your printer can allow for more control over print job settings.
- Print materials. Will the print material handle the heat, weight, torquing, pressure, seal, etc. that you require from your final piece? And most importantly, how will this material interact with the other elements you need to place up against it and to the process of gluing two parts of this material together?