Tuesday, September 9, 2014

Parts printed for a friend

Here are some pictures of various parts I've printed for a friend.  He did up really nice pictures to illustrate the final use of each.

Replacement for a part of a water dispenser cap (the printed part is the white portion of the bottom right photo):


Tripod foot


Binocular bracket.  The knobs at the end are for elastic bands to hold the binoculars in place.



Car cap.



It's fun to be able to help out others with minor repairs!

One of the interesting things about these prints is that my friend's first tries at files didn't all work out well.  Here's what the "Car Cap" was supposed to look like:



And here was the first try at printing it.  The bottom set of pie-sectors ended up printing inverted!  


This was due to a set of inward-facing normals in the solid model.  They were actually flagged as a problem by the slicer, but I didn't notice the error message until after the fact.  Not sure what software he used for the original design.  After doing a little research, he used a model-fixing web site to fix the problems, and the new models sliced and printed out just fine.  KISSlicer does a better job of identifying potential model problems than Skeinforge/SFACT.

Tuesday, August 26, 2014

First Thing on Thingiverse

My daughter has been reluctant to admit that the 3D printer is cool, but she finally made a request.  She wanted a basket to clip onto her bed, to keep stuff in.  To really understand this you need to know a bit about the bed.  It's an Ikea Kura reversible bed  with canopy.  She has it in the loft configuration (at left) with a canopy like the one shown at right, but blue and a bit larger.  The canopy is supported with what are effectively tent poles that slot into brackets that clip onto the bed railing.




Mana wanted a basket that would clip on in the same way as the canopy supports.  The first step was to recreate the bracket.  I did this by measuring out the dimensions of the bracket, drawing it out on graph paper, and then entering polygon coordinates into OpenSCAD.  I did the rounded edges using sines and cosines at 10 degree intervals.  With the basic clip shape defined, I could extrude into the 3rd dimension to make the clip.  A quick test-print verified that it worked as well as the original.  Then it was an easy matter to add a male hook onto the bracket that I could use to attach  the basket to the bracket.



Here's the code :

railHeight = 42;
lipHeight = 15;
thickness = 5;
railWidth = 42;
depth = 25;


RailClip(railWidth,railHeight,lipHeight,thickness,depth);

// Add hook

translate([10,-5,0])
cube([20,3,depth]);
translate([30,-5,0])
cube([3,5,depth]);

where RailClip is a module that just extrudes the polygon as described above.  I parameterized it so that it would work with arbitrarily-sized railings.

The basket was also pretty easy:




pi = 3.141592;

angle = 30; // Select in part based on overhang your printer can handle.
h = 100; // Height of basket cylinder wall
rad = 50; // Radius of basket
npts = 40; // Number of bands around the circle
bandWidth = 2; // Width of individual bands

// Calculate twist for linear extrusion based on overhang angle and cylinder height

twistangle = 180*tan(angle)*h/rad/pi;

// Cylindrical wall

for(i = [0:npts-1])
{
linear_extrude(height = h, convexity = 10, twist = twistangle, slices = 100, scale = 1.0)
translate([rad*cos(i/npts*360),rad*sin(i/npts*360)])
rotate([0,0,i/npts*360])
square([bandWidth,bandWidth],center=true);
linear_extrude(height = h, convexity = 10, twist = -twistangle, slices = 100, scale = 1.0)
translate([rad*cos(i/npts*360),rad*sin(i/npts*360)])
rotate([0,0,i/npts*360])
square([bandWidth,bandWidth],center=true);
}

// Bottom rail

translate([0,0,-2])
difference()
{
cylinder(h=2,r=rad+1,$fn=100);
cylinder(h=2,r=rad-1,$fn=100);
}


// Top rail
translate([0,0,h])
difference()
{
cylinder(h=2,r=rad+1,$fn=100);
cylinder(h=2,r=rad-1,$fn=100);
}

// Female part of clip

translate([0,-rad-2,89.5])
difference()
{
cube([27,10.9,25],center=true);
translate([0,-2,-1.5])
cube([24.7,3.5,22],center=true);
}

I kept the bottom separate as I wanted to print the thing upside-down to avoid the need for support material.  I considered doing something fancy to fasten the two pieces together, but ended up just making the bottom a disk that I super-glued onto the basket wall.





Finally, I uploaded the whole thing to Thingiverse.  It's now Thing #442097.  I saw that someone else had been thinking along similar lines and already created a hanger for the same bed.

Fun!

Sunday, August 24, 2014

Rapid prototyping

I recently had a great experience helping a friend with the 3D printer.  He is very into sailing, and is planning a year-long trip with his family down the west coast of the Americas.  They needed a bigger boat for the trip, and after purchasing one and refitting it made an unfortunate discovery.

The problem they had was this (as I understand it, being a landlubber): the sails are raised and lowered on the mast using small rectangular "cars".  The cars (pictured below) fit in a slot on the mast, and the end pieces pictured below keep a tight seal between mast and car that keeps the bearings in place.  The end caps that my friend had looked like the black one on the left. The cross-piece of the T shape was too narrow, however.  When the wind blew hard it allowed a space to open between mast and car, which caused the bearings to spill out onto the deck.

Replacement end pieces could only be ordered from a company in Denmark, at a price of $4 each.  With 7 cars, and two caps each, the cost adds up.  Worse, delivery was slow, and the catalog didn't show the detailed dimensions, so it was impossible to tell which piece was the one he needed.  The alternative was to buy entire replacement cars, also shipped from Denmark, at $90 each.



So my friend came by one evening, and in the course of 3 hours we did 5 design iterations, coming up with a piece that seemed to fit pretty well.  I printed two in PLA, and he took them back to his boat to test them out.  One more sub-millimeter tweak and we were good to go.  I printed out the final set of 14 in ABS, as there was a lot of question about whether PLA would stand up to weathering well.


They're taking the design files with them, in case they need more printed later.  


Wednesday, July 30, 2014

This 3D Printer is Fully Operational

At the end of last week I received a replacement heater cartridge from the printer manufacturer for the second extruder hot end, which up until now had not been functioning.  They threw in a spare as well, which I thought was nice.  

Anyway, I disassembled the extruder assembly, removed the defective heater cartridge, and replaced it.  Since the new cartridge had new wires associated with it, I had to redo all the wire routing as well.  A bit of a pain, but not too bad.  In the process of reassembling the extruder assembly I discovered why I had been having trouble getting the vertical bolt in the extruder assembly to thread.  Looks like it wasn't really a problem with the nut not being held tightly enough in place, but more a problem with the bolt itself.  I replaced the original (top) with a spare (bottom), and it screwed in with very little difficulty.  Looks like the original had some threads stripped.  Whether it came that way and I didn't notice or the stripping was the result of all the fiddling I did trying to get it to tighten, I can't say.  


So with the extruder assembly reassembled and the two hot ends carefully leveled relative to each other, I was finally able to do the dual-extruder calibration.  This prints a series of squares with each extruder.  By identifying the one where the two colors are right on top of each other, you can adjust the relative positioning setting in the firmware.


One thing I noticed while doing this is that dual extruder printing is not a trivial exercise.  When an extruder is hot but not being actively used, it tends to ooze a little filament.  This is a big problem when both extruders are hot but only one is being used.  The ooze from the unused extruder ends up sticking to the build where it's not supposed to, messing up the print.  

A little research uncovered this video that explains the issues and potential solutions nicely.  It also has a cool lesson on what you can do with a new flexible filament type called Ninjaflex.  Check it out.  I ordered a spool, and will be trying it out over the next few weeks.

As a last step in setting up the printer, I cut some glass from a cheap picture frame I bought at Michael's.  I now have this laid on top of the heated bed, so I shouldn't have to worry any more about the possibility that the bed is gradually being warped by the shrinkage of the plastic as it cools.

In addition to ordering some Ninjaflex, I also ordered some ABS.  So we'll soon see how the printer deals with different filament types.  I'm also strongly thinking about buying my own filament extruder  so that I can make my own (and supply it to friends and school), but not sure when I'll have time to get to it.





Monday, July 28, 2014

What I like about the Felix 3.0

A few things that I really like about this 3D printer:

(1) The display unit allows printing without being connected to a computer.  All the initial printing I did was using the USB connection to drive the printer directly from my laptop.  This was kind of a pain, as the laptop was then tethered to the printer for the (fairly lengthy) duration of the print.  Now that I have the contrast set properly on the display unit, I can put the GCODE on to a micro-SD card and start the print up without connecting the computer.  Very convenient.

(2) Upgradability.  People who bought earlier versions of this printer were able to download and print their own upgrades, or order just the necessary parts.  I figure things will be changing rapidly in this field, and hope that with this printer I can stay near the front edge of the home printer field with relatively little further investment.  I also liked that there were standard printable accessories on the web site, and user-contributed improvements.  Shown below is an improved Z-axis limit sensor fine adjustment device.




(3) Openness.  It's using all open source software.  Repetier Host, Skeinforge, Slic3er, etc.  No proprietary filament needed, just standard 1.75 mm PLA or ABS.  

(4) Design.  More and more I'm coming to appreciate the design of the printer.  With the version 3.0 the manufacturers have really worked out a lot of the design kinks from the earlier versions, and have replaced the previous printed parts with mass produced injection molded versions.  The solid metal frame  seems very sturdy and provides a large build area.  The hot ends also seem pretty reliable.  Of course, I don't have a lot of different comparison points, but I'm pretty satisfied with what I've got.

Finally, I'm really glad that I opted for the kit and built this thing myself.  I think if I had bought it preassembled I'd be a lot more timid with it, but since I put the whole thing together I have a lot of confidence that I should be able to fix anything that goes wrong with it.





Thingiverse Prints

Looking for fun and useful things to print, I went to Thingiverse.  Found several files for iPhone bike mounts, from which I chose this one:  http://www.thingiverse.com/thing:350389.


My first try for this was printed horizontally, and ended up as a support material disaster.  Way too much of it, and way to hard to remove.  It did motivate me to investigate the Skeinforge slicer settings, however.  The Repetier Host "Help" wasn't particularly helpful at all, but I did eventually find this page with decent explanations of what the myriad options actually do.

I ended up going to Craft->Raft and changing "Support Flow Rate" from 1.0 to 0.7.  This should mean thinner support material that is easier to remove.  I also tried printing vertically, with both exterior and interior support.


Much less material this way, and it came off pretty easily.  One of the interesting things about this print was that the overhang on the bridge-shaped part that fits over the handle bar came out pretty well without any real support. A few threads of filament sagged significantly, but the print recovered and by the time it reached the top you would never have known there was a problem.  The surfaces where I had to remove the support material do look a bit rough, though.  Maybe time to switch to ABS and try sanding or acetone to get a nicer finish.


When I went to mount this on my bike, I found I didn't have the right size zip ties handy.  That got me to thinking: maybe I could print zip ties.  Turns out you can find zip tie designs on Thingiverse, but they don't print well in PLA, as it is too brittle.  My test print worked, but promptly broke after a little bending.  Maybe I'll get some Ninjaflex and try again.


Another thing I found on Thingiverse was a design for a baseball stand.  Kai (my son) had brought back some souvenir baseballs from his trip back east to visit his grandmother, so I thought I could print him out something personalized to put them on.  Unfortunately the thingiverse contributor did not upload the CAD source files, so I had to redesign the stand from scratch in order to customize the text.  

This ended up being surprisingly easy, taking only 6 lines of code (counting by semicolons):

use<Write.scad>

difference(){
union(){
cylinder(h=10, r=25,$fa=3);
translate([-20,-45,0])
cube([40,30,10]);
}
cylinder(h=10, r=20);
translate([0,0,8])
cylinder(h=2,r1=20,r2=22,$fa=3);
translate([-20,-45,0])
rotate([30,0,0])
cube([40,30,10]);
translate([0,-35,0])
writecube("Orioles",[0,0,0],[40, 30, 10],face="top", t=8,h=7);
translate([0,0,5])
writecylinder("Camden Yards Summer 2014",[0,0,0],25,25,center=true,west=180);
}




Printed one for Camden Yards, and two for Fenway Park:




One more Thingiverse print, made for my daughter.  Took this arm band to work to show off, and everyone thought it was way cool, especially that the whole thing was printed as one interlocking piece.  Check out the instructable video.







Thursday, July 10, 2014

Home-printed toolbox

Here's the home-printed version of the toolbox.  The print quality was about the same as the Makerbot, with one noticeable improvement: no sag in the lid corner. 




I printed the box portion with supports, and it ended up putting buttresses on both the inside and outside.  The outside ones came off pretty nicely, but as you can see from this photo I had trouble removing the inside one.  I'm going to have to look at the SFact slicer settings to see if I can control the supports a bit better.  Another thing you can see in the photo below is the internal honeycomb structure of the automatically generated infill.  This avoids wasting material while maintaining structural strength.  



The time required for this print was about the same as for the Makerbot, maybe an hour and a half for the box and a half hour for the lid.