Build your own fin -"3D printable single fin base"

I found an Ozzi online vendor who sells ‘samples’ of 3D printing filaments.

So hopefully, I’ll able to answer my earlier question about which material is suitable for epoxy casting after 3D printing.

I got the following ‘sample’ materials in the mail:

PETG; Nylon ; ColorFabb XT-CF20 (Carbon Fibre); T-TRANS-SAMP ColorFabb XT Translucent; ABS-175-SP-TRAN; PLA-175-SP-TRANS. 

And I ordered a full spool of Taulman 645 Nylon filament 450g and PCMAX-175 PC-Max Polycarbonate 750G.

Let me know if you have any specific questions or suggestion for how to test these materials for suitability for fin making.

The printer has already made it to Australia, just not quite at my place yet. Might take another week to cover the last 100km before it turns up. 

Plan for the next few days is:

  1. Clear some space for the printer to be assembled and to ‘live’;

  2. put it together and print a 645 nylon UTFB to see how it fits;

  3. pre-design the mould for the UTFB in OpenSCAD and print it at reduced scale using the various materials above.

  4. Mix up a batch of epoxy and a few carbon+kevlar mesh cutoffs and cast into all the different sample material miniature UTFB moulds in one go. 

  5. set up a UPS for the Prusa 3D printer to use when attempting larger prints.  

 

 

UTFB_mould_8.0_A_100.stl  and  UTFB_mould_8.0_B_100.stl  shown in Slic3r software.

Below is the code for OpenSCAD if you want to have a play with it.

Let me know if you spot any potential problems, please.

 

Code for part A:

 

// UNTESTED - NOT YET PRINTED.

// Universal Tough Fin Tab  UTFB_8.0_A.scad

// Code for use in OpenSCAD

// $fn=XYZ; sets the level of detail. Above 35 causes many computer crashes when rotating the model.

$fn=35;

 

// The following command produces the 2D output when the “//” are removed.

//projection(cut=false){

 

// This creates the negative mould:

difference() {

    

    

color(“green”,0.1)

translate([-7,-153,4])

cube([178,160,9.5]); centre=true;

    

    

// To rotate everything; required to allow 2D printing of outline:

rotate([90,0,0]){

    

    

// This makes the fin base green in Preview:

color(“green”,0.25){

    

    

    

// Minkowski sum three times to round the base edges:

  minkowski(){

    minkowski(){

        minkowski(){

           

          

// Linear Extrude length of the fin base reduced to compensate for elongation due to Minkowski sum:

  linear_extrude (height = 146, centre = false, twist = 0)

           

           

// Polygon points brought closer together to compensate for enlargement due to Minkowski sum. Without Minkowski sum use: [0,0.05],[0,8.95],[24,9],[24,0].

// Might need to change it to 9mm bottom and 9.1mm top for use with ball spring plungers for snap-in fins.

polygon(points=[[0,3.05],[0,6.95],[19,7],[19,3]]);

// 3 cylinders each rotated differently to round off the edges with the Minkowski Sum function:

                       

    cylinder(r=1,h=1); }

         

    rotate([0,90,0])

        cylinder(r=1,h=1); }

           

    rotate([90,0,0])

        cylinder(r=1,h=1); }

    

        

// defines end of GREEN color for base:   

    }

       

    

// This makes the ‘hull’ red in Preview:

 color(“red”, 0.5){

     

     

     

// The Hull function creates the spine on the fin base, by connecting modified spheres and automatically tapering the edges:    

hull(){

    

    

// This moves the entire ‘hull’ to the right position on the fin tab:

 translate([0,4.5,69.5]){  

        

// Forward + proximal sphere in the hull:

    translate([22.5,0,0]){

    rotate([90,0,0])

resize(newsize=[45,60,9])

sphere(r=10); }

    

// Central 9mm thick sphere in the hull, to make the 9mm area at the base bigger:

     translate([22.5,0,25]){

    rotate([90,0,0])

resize(newsize=[45,60,9])

sphere(r=10); }

    

// Aft + proximal sphere in the hull:

    translate([22.5,0,25]){

    rotate([90,0,0])

resize(newsize=[45,60,4])

sphere(r=10); }

    

    

// Tip sphere in the hull:

translate([130,0,0]){

rotate([90,0,0])

resize(newsize=[75,30,4])

sphere(r=10); }

 

}

}

}

}

// Spheres for mould keys:

// Forward key spheres:

translate([160,-44,4])

sphere (r=4.5);

translate([128.5,-36,4])

sphere (r=4.5);

translate([97,-28,4])

sphere (r=4.5);

translate([65.5,-19,4])

sphere (r=4.5);

translate([34,-10,4])

sphere (r=4.5);

// Aft key spheres:

translate([160,-94,4])

sphere (r=4.5);

translate([128.5,-105,4])

sphere (r=4.5);

translate([97,-116,4])

sphere (r=4.5);

translate([65.5,-127,4])

sphere (r=4.5);

translate([34,-138,4])

sphere (r=4.5);

// Polygons to cut off sides of mould:

// Forward;

  linear_extrude (height = 14, centre = false, twist = 0)

  polygon(points=[[30,7,],[171,-36],[171,7]]);

 

  // Aft:

 linear_extrude (height = 14, centre = false, twist = 0)

  polygon(points=[[30,-153,],[171,-153],[171,-102]]);

 

}

// End of Code Part A.

.

.

.

.

.

.

.

.

.

.

 

 

 

 

 

Code for part B:

// UNTESTED - NOT YET PRINTED   

// Universal Tough Fin Tab  UTFB_8.0.B.scad

// Code for use in OpenSCAD

// $fn=XYZ; sets the level of detail. Above 35 causes many computer crashes when rotating the model.

$fn=35;

 

// The following command produces the 2D output when the “//” are removed.

//projection(cut=false){

// Spheres for mould keys:

// Forward key spheres:

translate([160,-44,4])

sphere (r=4.5);

translate([128.5,-36,4])

sphere (r=4.5);

translate([97,-28,4])

sphere (r=4.5);

translate([65.5,-19,4])

sphere (r=4.5);

translate([34,-10,4])

sphere (r=4.5);

// Aft key spheres:

translate([160,-94,4])

sphere (r=4.5);

translate([128.5,-105,4])

sphere (r=4.5);

translate([97,-116,4])

sphere (r=4.5);

translate([65.5,-127,4])

sphere (r=4.5);

translate([34,-138,4])

sphere (r=4.5);

// This creates the negative mould:

difference() {

     

   

color(“blue”,0.1)

translate([-7,-153,-5])

cube([178,160,9.5]); centre=true;

// To rotate everything; required to allow 2D printing of outline:

rotate([90,0,0]){

    

    

// This makes the fin base green in Preview:

color(“green”,0.25){

    

    

    

// Minkowski sum three times to round the base edges:

  minkowski(){

    minkowski(){

        minkowski(){

           

          

// Linear Extrude length of the fin base reduced to compensate for elongation due to Minkowski sum:

  linear_extrude (height = 146, centre = false, twist = 0)

           

           

// Polygon points brought closer together to compensate for enlargement due to Minkowski sum. Without Minkowski sum use: [0,0.05],[0,8.95],[24,9],[24,0].

// Might need to change it to 9mm bottom and 9.1mm top for use with ball spring plungers for snap-in fins.

polygon(points=[[0,3.05],[0,6.95],[19,7],[19,3]]);

// 3 cylinders each rotated differently to round off the edges with the Minkowski Sum function:

                       

    cylinder(r=1,h=1); }

         

    rotate([0,90,0])

        cylinder(r=1,h=1); }

           

    rotate([90,0,0])

        cylinder(r=1,h=1); }

    

        

// defines end of GREEN color for base:   

    }

       

    

// This makes the ‘hull’ red in Preview:

 color(“red”, 0.5){

     

     

     

// The Hull function creates the spine on the fin base, by connecting modified spheres and automatically tapering the edges:    

hull(){

    

    

// This moves the entire ‘hull’ to the right position on the fin tab:

 translate([0,4.5,69.5]){  

        

// Forward + proximal sphere in the hull:

    translate([22.5,0,0]){

    rotate([90,0,0])

resize(newsize=[45,60,9])

sphere(r=10); }

    

// Central 9mm thick sphere in the hull, to make the 9mm area at the base bigger:

     translate([22.5,0,25]){

    rotate([90,0,0])

resize(newsize=[45,60,9])

sphere(r=10); }

    

// Aft + proximal sphere in the hull:

    translate([22.5,0,25]){

    rotate([90,0,0])

resize(newsize=[45,60,4])

sphere(r=10); }

    

    

// Tip sphere in the hull:

translate([130,0,0]){

rotate([90,0,0])

resize(newsize=[75,30,4])

sphere(r=10); }

}

}

}

}

// Polygons to cut off sides of mould:

  // Forward;

 

 translate([0,0,-8]){

linear_extrude (height = 14, centre = false, twist = 0)

  polygon(points=[[30,7,],[171,-36],[171,7]]);

 

  // Aft:

linear_extrude (height = 14, centre = false, twist = 0)

  polygon(points=[[30,-153,],[171,-153],[171,-102]]);

 }

}

// End of Code for part B.

 

 

I think the printer could print both halves of the mould and the UTFB itself at the same time.

Don’t forget your sprue hole and spots for prying the halves aparts…

Thanks jrandy, geat ideas!

I had thought about the prying apart earlier but forgot it again.

Initially I don’t want to include a sprue hole, I just want to layer as much carbon cloth as possible into each halve and then press them together.

Slic3r lets me scale the parts with a few clicks, so I’ll print a smaller set of the mould in each of the sample materials which I have in the mail. When they are ready, I’ll mix a batch of resin and fill them all in one session, maybe with one layer of cloth per halve. That way I’ll learn how to use the printer and find out if any of the materials are particularly suitable for releasing epoxy resin after casting. It wold be nice not to have to use mould release wax or similar stuff.

The printer arrived and I’m having a ball putting it together. I’m not going to explain it in any detail, because there are already so many well made tutorials, manuals, videos and forums documenting it that I’d be wasting time.

Suffice to say, I’m very happy with it so far, all the raving reports seem to be true, it’s a great printer.

Instructions are clear and it is all packaged so that the complex task of assembling the printer is made easy.

The Y-axis is now assembled and I’m having a break. Big grin on my face, could not be happier with the quality so far.

 

The i3 Prusa MK2 came together well.

I snapped a (woefully weak) printed part, while trying to adjust the auta-calibration sensor. I used my hand held 3D Printer, AKA hot glue gun. 

The photo shows the printer printing the UTBF, while it is already using the very first part that was printed by itself. The part is in the centre of the picture; it protects the sensor for the auto calibration feature in case a print goes wrong.

 

First print of the UTFB messed up:

It behaved itself for a couple of hours, but then then the fin base came off the print bed and it continued to pring in thin air, producing a birds nest.

I think I fixed the problem by adding a 20mm ‘Brim’ with a couple of clicks and keystrokes in the Slic3r settings.  The next print is in progress and looking promising.

 



Keep us updated.

The second attempt to print the UTFB failed again, but not as spectacularly. It printed almost the entire object, but the base is warped a bit because it was not adhering firmly enough to the print bed. Eventually it came off altogether. The problem was due to the z-axis calibration for the first layer not being quite right. The 20mm brim around the fin base was not fused into a single layer, but rather a loosely attached spiral. Only the inner spiral was adding to the surface area available to increase bonding to the print bed.

The scaled down models of the UTFB-mould came out very poor, too. They were full of holes, not fitting together. See first attached photo.

So I printed some other .gcode files designed for this printer (a replacement ‘Extruder Body’, a tree frog, and ‘Adalinda the singing serpent’. They all turned out pretty much perfect.

That led me to the conclusion that the hardware is fine, but the software I’m feeding to the printer is inappropriate.

It is not well explained in the building instructions how to set Slic3r for the Prusa I3 MK2 printer, but that is what was required. It’s easy if you know how:

1): Download the Mac OSX Version zip file from here http://www.prusa3d.com/drivers/  and extract it.

  1. Open Slic3r and select File > LOAD CONFIG BUNDLE >  MK2_Slic3r_prusa3d_1_7_4.ini

This .ini file is located in the extracted Mac OSX folders at: prusa3d_mac_1_7_4/prusa3d_mac_1_7_4  / 

Throw the rest of the Mac stuff away, none of this software costs you a cent if you use Ubuntu.

Once you have done this, Slic3r has multiple pre-configured printing options in the drop down menu which are tailored for the PRUSA I3 MK2.

Now that I feed the printer .gcode files which are prepared with the correct settings, it is printing my self made files very nicely (fingers crossed).

UTFB_mould_AB_33percent_iniSettings0p05mm.gcode is slowly appearing on the print bed and looking good so far. See second attached photo.


I don’t 3D print but I remember others telling me about part-to-bed adhesion and warping issues.

I want to say they were using Kapton film and maybe some pressure-sensitive or or spray adhesive.

Looking forward to seeing your results once the bugs are worked out.

Thanks jrandy, I found out how to get the nylon to stick to the print bed. The glue stick included with the printer does the trick. Not sure what is in it, it’s labelled all in Czech.

I have printed a bunch of tests, and found that going to a higher than 0.1mm layer resolution is more trouble than it’s worth for now.

Taulman Nylon 645 filament was in the package of ‘all sorts’ that I ordered before I got the printer, and I have 450g of it. It has the right specs to make moulds for epoxy casting, so I have to learn to use it. It is apparently one of the more tricky 3D printing materials, but also one of the best wrt. strength, slipperiness, flexibility and non-adherence of resins. 

But the nylon is hygroscopic, means it absorbs water from the air, and then this water gets heated to 255degC during printing, turning the nylon into something like ‘space invader building foam’. Not good.

I put together an enclosure to keep temperature up and humidity down while printing with nylon,

and the first full scale print of part A of the Universal Tough Fin Base Mould

( UTFB-M_14.2.A_$fn=300_TAULMAN-NYLON645_0p20mm-NORMAL-BRIM.gcode )

is printing at the moment. Only 1% done after one hour, but that is misleading because the first few layers are solid, and thereafter the infill-pattern reduces the printing time per layer. Nevertheless, it will take somehwere between 6 to 24hrs to print this, I guess, and if the Nylon absorbs too much water, the mould surface will be worst affected because it will be printed last. The nylon filament was kept in a 60-70degC oven overnight to dry it prior to starting the print.

A few pictures to tell more of the story:

 






A very important and encouraging milestone was reached a couple of minutes ago:

Zerovoc solar curing epoxy, cast into a 33% scaled Taulman Nylon 645 mould of the UTFB, came out peachy!

Easy de-moulding, it lets UV through, great detail reproduction, happy camper!


That’s amazing. You do good work.

From my research there’s no printable plastic that’s ‘surf strong’ like glass so it’s cool that you’ve printed a female mold to use for injection or filling with resin. Or that’s what it looks like ?

It turns out that mathematics and the laws of physics win again, irrespective of my positive attitude…

Q: If you habe a 24 mm wide area with a slope of 0.2mm and you print it with 0.2mm layer setting, what do you get?

A: You get one big step ( = 0.2mm ) somewhere in your oh-so-pretty-fin-base.  D’oh!

Even if I manage to dial in the 0.05mm layer resolution that this sprinter is capable of (maybe by using finer nozzles and other such esoteric gizmos), I’d still have 4 steps running through the fin base. Stuff that.

Conclusion:

I need to design the steps from one printed layer to the next right into the model. No such luxury as leaving it to Slic3r or other such software when working right at the edge of their capabilities. Need to do it myself. Old story. 

Solution:

Make the UTFB flat @ 9.2mm wide (top and bottom), then sand off just a little when the fin tab cast is finished, until it fits perfectly into the board that it is meant for. 

 

Is there any way of reorientating the print so that the angled section is actually horizontal or vertical so it prints the angle as a flat and the rest of the curves don’t matter what angle they are ?

 

You are onto something there, SRFDCO.

I re-designed the fin tab, but still got trouble printing the mould from nylon. The layer touching the print bed tends to warp.

So, I thought I’d print it standing up (as opposed to lying down), but that caused warping of the fin base so that the base ended up convex, a bit like a rocking horse with the fin as the rider.

So I turned it upside down and added a thick flat part to support it, and printed both halves in scale 33%. That worked all right except for some problems that I hope are just related to the minute size of the 33% scale model.

So, presently I’m watching the PRUSA printing the UTFB-M_1.2_B at 100% scale. Looking good so far.

Excuse the poor quality of some of the pictures, please. The plastic box around the 3D printer does not help in this regard.

The photos show various stages of the experimentation with scaled down models, if you are interested, then you’ll notice the relevant details in them.






just wondering how you have been finding the PRUSA i3 mk2 i have been trying to do a bit of research in to what printer to get and i came across it yesterday, its odviosly one that gets coppied alot and watched a review that the chap was raving about it? have you had it long? 

Charlieukusa, I have onl had the Original PRUSA I3 MK2 for a few weeks.

As far as I can tell, the rave reviews are correct. I have not seen one bad review, but have not deliberately looked for them. You may want to do that.

It’s my first 3D printer. All problems I have had so far have been due to my lack of experience and my jumping straight into printing of self - engineered parts from more difficult to print nylon material.

The printer itself is working very well, it appears to be made from quality parts, the forum support is great, the build manuals make sense and use near perfect English.

However, 3D designing and printing itself is a bit tricky at first. No doubt it would be a lot harder with other printers.

I think this is the best printer available for home use at the moment, and is likely to stay the best for some time. It is continuously being improved, with all improvements shared and designed for easy upgradeability.