Have a look at the object to the right. Using a conventional fused deposition printer, how would you print the object? There’s no flat surface to lay on the bed without generating a lot of overhangs. That usually requires support.
In theory, you might be able to print the bottom of the sphere down, but it is difficult to get that little spot to adhere to the bed. If you have at least two extruders and you are set up to print support material, that might even be the best option. However, printing support out of the same material you are printing with makes it hard to get a good clean print. There is another possibility. It does require some post-processing, but then again, not as much as hacking away a bunch of support material.
A Simple Idea
The idea is simple and — at first — it will sound like a lot of trouble. The basic idea is to cut the model in half at some point where both halves would be easy to print and then glue them together. Stick around (no pun intended), though, because I’ll show you a way to make the alignment of the parts almost painless no matter how complex the object might be.
The practical problem with gluing together half models is getting the pieces in the exact position, but that turns out to be easy if you just make a few simple changes to your model. Another lesser problem is clamping a piece while gluing. You can use a vise, but some oddly-shaped parts are not conducive to traditional vise jaws.
In Practice
Starting with an OpenSCAD object, it is easy to cut the model in half. Actually, you could cut it anywhere. Then it is easy to rotate half of it so the cut line is at the bottom of each part. That doesn’t solve the alignment problem nor does it help you clamp when you glue.
The trick is to build a flange around each part. The flanges mate with a few screws after printing so alignment is perfect and bolts through the flange holes can keep the parts together and immobilized while your glue of choice sets. The kicker is that I even have an automated process to make the design side of this trick very easy.
You might cry foul. After all, this is just another form of support right? Not really. At least, not in the sense of support generated by programs like Cura or Slic3r. Slicers automatically generate support that uses a special pattern made to make it easier to tear away but it contacts all the surfaces that are overhanging. Unless you use a second material and a solvent that can attack your support but not your main part, you are going to have scars all over the part. With the flange method, you have a small number of beams that connect the flange to the part. The beams are easy to remove and while they may leave a little scar, they are easy to remove since they are small and only in very specific places.
Does it Work?
I’ve actually used this technique on a few practical projects. Although the part I printed for this example is just a test object, it shows the results of the technique quite well.
There are a few marks where the flange beams joined the main part, but they were easy to file away. If you had printed this in any orientation with traditional support it would have taken a lot more time and effort to get to a similar appearance, if you could at all. With the flange method, I simply applied some glue, inserted two screws, waited a bit, and then cut the flanges off with flush cutters. The whole process took under five minutes although some glues can take longer, of course.
I didn’t do any filing or sanding, so with more effort this could look even better. I also dinged the sphere a little bit pulling it up from the print bed (BuildTak works almost too well sometimes). However, the part still came out fine and prying a part off the bed aggressively is always a problem. It doesn’t factor into this technique.
Here’s how the parts looked coming off the print bed:
How To
Of course, now that you know this trick, you could just cut your models manually and build the flanges and support structures. That’s how I did the first one a few years ago but ever since I have wanted to automate it. Ideally, it would be great to have an OpenSCAD function that just “did the work.” I didn’t quite get there, but I did build a framework that makes it pretty easy. I put the entire file on GitHub.
The framework assumes that you have a module called part that defines your object and should be cut on the XY plane. Of course, if you don’t have that form, it is easy to wrap your code in a module and rotate and translate it to the proper point. Here’s the module for the test object:
// This is the odd-shaped part in question
module part() {
union () {
difference() {
sphere(r=20);
translate([-20,-20,0]) cube([45,45,20]);
}
difference() {
translate([-9,-9,0]) cube([18,18,30]);
translate([-2.5,0,0]) cube([5,25,15]);
}
translate([0,0,30]) cylinder(r=5,h=5);
}
}
If you prefer, you could call that module something like part0 and then write:
module part() {
rotate([0,0,0]) translate([0,0,0]) part0();
}
Of course, you’d change the [0,0,0] parts to suit where you wanted to cut.
The rest of the OpenSCAD file has the code to cut your part in pieces, flip them, and add the flanges. There are some variables you can set to control things:
// Flange parameters
od=60; // outside diameter
odr=od/2;
id=48; // inside diameter
idr=id/2;
flangeh=2; // height of flange
flangeboltr=1.9; // size of bolt holes
flangebeamw=2; // width of flange beams
flangebeamh=2; // height of flange beams (usually same as flangeh)
flangerotate=34; // rotation of flange beams
// part offset
offsetx=50; // put the other part this far away
offsety=50;
bigcutbox=1000; // box used to cut away half the model; just has to be bigger than model
Of Interest: The hull() function
If you want to dig into the OpenSCAD code, most of it is pretty straightforward. There’s only one part that is a little tricky. You can assume that the part is flat where you split it, but you can’t assume that it is solid. Initially, I just built the flange and beams and merged them with the part.
However, in the test object, this doesn’t work well. See the cutout on the face of the box? If you just merge the flange, the beams will exist inside that cutout! That is hard to remove and serves no purpose, so it had to go.
Subtracting the part doesn’t work because the cut out is empty and subtracting empty space doesn’t help you. The trick is to find the maximum points of the part using the hull() function. Technically this is a convex hull, but I like to think of it as an envelope. The figure on the right is the result of using the hull function on the test part.
Armed with that, it is easy to subtract the hull from the prototype flange and then merge back the original part:
difference()
{
flange(); // add flange
hull() part1(); // but cut away "outline" of part
}
part1(); // now add part
Post Processing
You can control where the beams intersect the model by changing the rotation. You could also comment out some of the beams for many models. Fewer and smaller beams are better because it reduces the mess when you cut them off. On the other hand, if the beams are too tiny, they will break off when you remove the part from the bed, so there is a trade-off.
I used two small wood screws to hold the pieces together for gluing. You could also use a nut and bolt if you prefer. I usually start the screws or bolts but leave a gap. Then I apply glue to the parts while there is still a gap between them. Tighten the screws and then wait. Obviously, you have to do any surface preparation appropriate for your glue of choice. I was using DAP RapidFuse with PLA, but you may prefer other materials or glues.
I usually unscrew the pieces to make sure the glue held before I remove the beams. If you are certain of your glue, though, you could just cut the flanges free. A pair of flush cutters will make short work of the beams and leave very little residue if you use them right. If you were really wanting things to look good a little sandpaper or an emery board would vanish those beam marks easily.
Other Ideas
You can hack this idea a few different ways. For example, if your printer doesn’t like to make nice circles, you might prefer a rectangular flange. You might want fewer beams or more alignment holes. If your parts are hard to figure out alignment, you might put a mark on the flanges to identify which part goes with what. In the test part’s case, the bottom can rotate freely and it doesn’t matter and in most other cases I’ve done this, the part only goes one way and that way is very obvious.
I don’t know enough about glue science to know if you could do something interesting to the surface during printing to make it hold glue better. For example, you could create little interlocking channels to create more surface area for bonding. You could leave pockets for some sort of glue catalyst. Maybe flat is best, I simply don’t know. Maybe [Dan Maloney] can help.
Filed under:
3d Printer hacks,
Featured,
Original Art,
Skills