Jan 30, 2016

Calculating The Cost of 3D Printing

One of the first questions lots of people ask me after I show off one of my 3D printed creations is "Why would you print that?".... ummm...
But the SECOND most common question is, "How much did it cost to print that?".  I usually say "negligible" - since a 1 lb spool of 3D Printer PLA filament costs between $20 and $30 - but I figured it was time to calculate a better answer.

Calculations


I buy PLA of both 3mm diameter (for my Lulzbot TAZ4) and 1.75mm diameter (for my Polar3D). I'll stick to just 3mm here for simplicity.

1kg Spool of 3mm PLA ranges widely - from $23 (Amazon) to $44 (Ultimachines).

CURA slicing app gives length estimate
The total length of a 1kg spool of 3mm PLA is estimated (by ToyBuilderLabs) to be 110 meters long. I have't yet un-wound a brand new spool to check this (and likely never will).

That means the cost of a print is approximately $0.21 - $0.40 per meter. Of course, that does not include electricity, loss due to bad prints and testing models before final prints. It also doesn't include the cost of things you may smash when frustrated over failed prints (no, I've never done that).

If you're lucky enough to use a slicing app which gives approximations on the length of PLA required for your print, you can make this estimate. Cura does this - as you can see in the picture included here - where it gives the length required and the time estimate to print (using all the parameters for the given print job).

Examples


Google Docs Logo/Icon (40mm): 0.56 meters = $0.12 - $0.22 per object

Filament Spool model: 4.19 meters = $0.88 - $1.67 per object

Raspberry Pi Box with top: 6.33 meters = $1.30 - $2.53 per object

Makerbot also has a great post (albeit from 2012) on this topic which estimates that you can print 392 chess pieces with a 1Kg spool of filament.

Conclusion


Answer = cheap. So, negligible is a good answer when you're printing just a couple of keychain trinkets, and if you are printing larger objects or large quantities for a professional job perhaps, you can possibly use the 20-40 cents per meter of 3mm filament as an estimate.

A 3D Printed Filament Spool and a Discovery

I purchased a bunch of PLA filament for my Lulzbot TAZ4 a while back (from Ultimachine.com), and didn't realize until it arrived that I had bought the "Coil" version, instead of "on spool". For the first few months, I rigged up some crazy hanging jig which let the PLA feed out of the bag it came in - looking very much like a intravenous rig used to administer drugs or fluids (analogy un-intended). While this worked, it was wonky and suboptimal.

I decided to use this as an opportunity to design a 3D Printed spool to hold this PLA. I'm sure I could have gone out and bout one, or used the few (actually, just one) spools I have already depleted. But, as we say here at MkrClub, "Any excuse to design something new".

Design Goals


My main goal, of course, was to have something that worked. That meant it had to allow the PLA to be wrapped at a diameter which was loose enough not to snap it, and hold the PLA in place. The spool also had to have the right capacity to hold a full coil of PLA - about 1 Kg - and it should be adequate for both 3mm and 1.75mm PLA.

A close second goal was that the spool should print easily and quickly. I did not want to use tons of plastic printing a spool, and did not expect to just copy the dimensions and design of the standard spool. I expected - as I do so often - to have a multi-part design here.

Design Summary


The core of this design was, well, the core of the spool. I experimented in modeling a bit, and decided to design a hub and spoke model which had very simple and lightweight spokes coming out from the center (the hub). I did not think I needed any "rim" around the outside of the spokes, and that seemed to work just fine.

The spokes were designed as a pair of opposing spokes as a single object - which allowed me to vary the number of spokes used if I varied the size of the core/hob (for larger spools). I started with 4 pairs of spokes per hub, evenly spaced at 90 degree intervals.

Design Challenge


The connection of the spokes to the hub was a design challenge. I considered making each individual poke a separate object, but realized that as pairs they might be easier to connect in a strong way to the hub.

After some experimentation, I came up with a design that not only held very firmly, but used the slight flexibility in the PLA to allow the spokes to be "opened up" to grab onto the hub. Printing these parts flat also allowed for a slight "barb" on the connecting part, which helped created a strong connection until the spokes were physically squeezed to open the barbed ends back up again.

Testing Designs Efficiently


As with many designs, there are small parts that need to be tweaked before they are perfect. When the overall model is large, I like to use a novel approach to testing the most risky parts of the design without printing the whole model. I make a copy of the model and I slice it up into parts - isolating the part I want to test and printing ONLY that part.

For this spool design, it was the connection between the hub and spokes that was most risky and needed testing. Before printing the whole model, I cut off most of the spool, leaving only a small part of the circumference including the connecting part, and printed just that.


You can see in this picture what the TEST PRINT looked like, and this let me reduce the test print time and material by about 80% - giving me more patience to test until the connection was just right.

A Semi-Failure With A Discovery


Generally, the print did not work for me for a few reasons. First, the core was too small for 3mm filament - requiring too tight of a radius. I also need to add an angled hole in the hub to hold the end of the filament firmly. These are easy problems to fix.

So, while I was happy with the design overall, I'm pretty sure that using pre-used spools will suffice. This is likely another "unnecessary creation" which we 3D printing folk often produce ;)

The bright side of this design was the discovery of a new way to connect 3D Printed parts - a goal I've continually pursued. The flexibility of thin PLA prints created a locking mechanism that I'm sure will come in handy in other designs, as it gave me the best balance I've ever achieved between ease of connection and a firm hold.


Jan 2, 2016

A Fancy 3D Printed Raspberry Pi Enclosure

The Raspberry Pi helps make learning about computers fun and accessible for many people - and has given the maker community a powerful computing platform in a tiny package. Actually - it's a small integrated circuit board without a  "package" - it doesn't always even come with a case.

When my daughter opened up her new Kano Raspberry Pi kit that she got as a gift, the "package" - the enclosure for the electronics - was one of the things that made the kit approachable and easy. Then, within hours of that insight, a good friend and blogger asked me if I had designed a Raspberry Pi enclosure for 3D Printing. My response was a fast "Not yet, but it's on the way".

Design Goals


I wanted my Raspberry Pi enclosure design to be more than just a box with holes for the wires. I wanted it to be good looking and inviting. I decided I would use the Raspberry Pi logo itself as the design for the box. Of course the box had to also be functional. The Pi had to fit in there easily and have a way to secure it and, of course, all the wire ports need to be accessible. Of course, like so many designs I do, I wanted it to be easily printable without supports - and I expected it to be two parts - a bottom to hold the board, and a fitted top, preferably one which held securely without screws.

Summary of This Design Journey


There were a few forks in this design road - so I figured I should just summarize them first so readers get a sense of how I ended up with the current design.

    1) I started with the Raspberry Pi version 1 Model B (Two USB ports) - which has a specific size and layout of interface ports - implying layout of the holes in the sides of the case. Then I realized (after I got the general sizing all correct and printed) that most people, including my daughter, now have the version 2 design. (more info on Pi Models)

    2) I moved to the Raspberry Pi 2 layout - using my daughter's Kano board as my basis for measurement. That got me designing in the right direction,  and I completed a box design with the right layout to fit that Pi 2 board. But it seemed boring.

    3) I added a Raspberry Pi Logo-shaped bottom to the box, then created a custom top which was also in the shape and design of the Raspberry Pi logo. This looked really good - and had plenty of challenge creating the fitted top.

    4) The shape of the Raspberry Pi logo was so nice, that I decided to make the whole box that shape - with adjustments to fit the board within it. I was finally satisfied after some adjustments to the top to make the Raspberry-ness really show, some strengthening of the walls, better fittings to make the top snap in place and addition of optional screw holes. 

    This is where I am with my current design, but I'll fill in the details now for those who want to know more.

    Basic Design Of The Box


    I started with a box - figuring I would add the design elements as shapes on top and bottom of the box to give the whole package the appearance of the Raspberry Pi logo. So the focus to start was the alignment of the wire holes and screw holes and the general fit of the IC board.

    After measuring the Pi board (approx 85mm x 56mm), I created a basic rectangle with those outer dimensions plus an additional 3mm extra space on all sides - that's 2mm walls with 1mm space on each side. The rectangle is now 91mm x 62mm - and I use the "Shell" command and define 2mm walls to get the hollowed out box where the Pi will fit.

    Useful Trick for Early Design Testing


    Drawing with all measurements
    The placement of the seven (7!) port holes was critical to the success of the design, and no amount of measurement makes for a fool proof design or print. So, when I thought I had the whole bottom box design ready to go, I didn't want to print the whole thing until I was sure I hadn't messed something up. So, I came up with a method for testing a smaller version of my print to test that the placement of screw holes and wire port holes was correct.

    It's worth mentioning that I created a Google Drawing which documented all the measurements in once place visually.
    bottom portion only as a test

    I only needed to test the bottom half inch of height - about 20% of the total printed object - to see if the mounting holes and wire port holes were positioned correctly. To isolate that portion of the object, I created a big rectangle which was slightly larger than the whole box and positioned it over a copy of the box,  specifically positioning it over the portion of the box I did NOT want to print.

    Then I did a "Combine" / "Subtract" to remove the whole top of the copy of the box. That left me with the bottom portion. I printed that - which took about 45 minutes rather than the 3 hours the whole box would have taken, checked that it worked out, made adjustments and repeated. Two tries and it was done.

    The subtraction shapes used to cut the wire ports and SD slot

    Making Wire and Port Holes


    I had to make 7 holes in the sides of this basic box. It seemed the best way to do this to allow for a few later adjustments would be to create and position 7 rectangles which would be used to subtract material from the box. Any later adjustments I made, even to the box itself, would allow me to re-subtract these same boxes, in their correct positions, from the adjusted box. This turned out to be an insightful move, as I made many box adjustments that otherwise would have been hard to maintain the holes if they were pre-made in the box itself. Once the boxes were positioned correctly, I did the "combine"/"subtract" command - with all 7 rectangles as the source - and voila, the box had 7 holes in it.

    Screw mounts added where needed

    Securing the Pi Board (screw holes)


    To offer a way to secure the Pi board to the case seemed easy enough - since the Pi 1 has two screw holes and the Pi 2 has 4. But now that I had all my port and wire holes positioned, I realized that I needed to lift the board up a bit from the bottom of the case to give room for screws. This was luckily easier than it may have been, given the method I used to subtract the holes from the box. I just lifted all the subtraction shapes up 3mm and re-subtracted them from the box. I then placed small 3mm high rectangles (about 5mm square each) in the areas where the screw holes were needed and carefully measured as many angles as possible to get the holes positioned relative to the box sides and to each other. I used 1.25mm Radius cylinders to subtract holes from those shapes and aligned them to sit on the bottom of the box. Theses would also serve to hold the Pi board away from the bottom of the case with enough room for the bottom-mounted SD card and the small soldering nubs that stick out the bottom.

    The Raspberry Shape - from Simple to Complex


    To get the Raspberry Pi logo turned into a 3D object, I used an old trick that I've written about a couple of times. I pulled an image of the logo into Google Drawings and traced over it with the Polyline tool to create the Scalable Vector Graphics version that my 3D Modeling software can understand. With some foresight, I actually traced the outline of the raspberry separately from the inner designs of the raspberry, so that I would have some flexibility with the final objects.

    I went through several iterations of using this design. As mentioned earlier, first I created a base with the outer shape - and this definitely made the plain old box look more interesting. Then I created the top with all the inner designs subtracted out. This was also a huge improvement to the plain old box.

    Ultimately, after printing a very successful box shaped container with a top and bottom raspberry shape, I decided that the whole box should be raspberry shaped. The start was easy. I created the box with the raspberry outline extruded to 27mm, then hollowed out using the "Shell" tool in 123D Design. I then moved over the original box and started combining shapes - removing walls where they overlapped in areas which would be in the way of the Pi board, and combining walls where more support was needed.

    Then, my original idea to save the subtraction shapes for the 7 side holes came in super handy. I moved them over, in their relative positions, to the raspberry shaped box, and subtracted them again. This worked wonderfully! The Pi Board screw holes were also moved in their original positions after adding another 1mm of height to the mounts to give the board more breathing room and the screw holes more depth.

    Securing the Removable Box Top


    Making the top snap into place in a way which did not require top screws was one of my design goals, and became the toughest part of this design. I experimented with a few methods before settling on opposing and offset half-round, 1mm deep rim pieces. I originally added too many of these sets of snap-together parts, and the fit was too tight - but with four of these sets, the fit was just right.

    Even with the snap-togetherness of the top, I decided to add screw holes and mounts for people who want an ultra-secure enclosure. This was easy-ish - using tall 6x6mm towers on the inside of the box, and subtracting 2.5mm diameter screw holes 15mm deep into them, and through the top at the same time (to get perfect alignment).

    The Final Model


    There were lots of last minute adjustments, and overall, if I'm really honest about how much time I spent creating this model, I would estimate 10 hours of work not including printing time. I really obsessed over the design of the top, the combination of etched designs and full-through holes, which are functional in a case for something that might heat up like the Pi.

    The final model is now available on PinShape. Please post pictures of your print on PinShape or on Twitter and include @MkrClub !