How OpenSCAD and parametric design can help in 3D printing

Submitted by Nicola Rainiero on 2019-07-01

Sometimes you have to change a little aspect, as the text or one or more dimensions, of your object before printing. In these cases you can model from zero your object or try to edit it directly in your software. With OpenSCAD and the parametric design you have to simply edit a text or a variable in a editor and after a render you can save the STL file, ready to the slicer! I will show you two examples that have facilitated my life.

I am not an OpenSCAD1 expert, but looking in Thingiverse I have found a lot of things than can be edited using this opensource software. And it is very easy to do, because it reads a script file, very easy to understand, that describes the object and renders the 3D model. You have full control over the modelling process and enables you to easily change any step in the modelling process or make designs that are defined by configurable parameters.

So I have adapted two things downloaded from Thingiverse2 to my needs, in the manner below.

How OpenSCAD and parametric design can help in 3D printing

Dog Tag

The metal tag of my dog was broken and it was necessary that my dog has new one, because he usually tries escape from my garden and goes into the public streets. So I do another one this time with my 3D printer. I found Reinforced Dog Tag on Thingiverse. I changed some dimensions of it and added the back side in order to have two different phone numbers, this is my final and adapted version:

Dog tag in OpenSCAD
Dog tag in OpenSCAD
Dog tag front view
Dog tag front view
Dog tag back view
Dog tag back view

My modified script (in bold my changes):

$fa=1;
$fs=1;
bone_height = 6;//set this to how thick you want the tag
pet_name="Leo";
phone_number="0425 XXXX";
phone_number2="389XX88X";
font_face="Arial:style=Grassetto";
font_thickness=2.5;

module t(t){
 translate([-1,(-len(t)*3.45),bone_height-1])
   rotate([0, 0, 90])
    linear_extrude(height = font_thickness)
      text(t, 12, font = str(font_face), $fn = 24);
}
module bone(pet_name){
    //bone
    //left side of bone
    difference()
    {
        union()
        {
            translate([-12,-35,0]) 
            {
                translate([24,0,0]) cylinder(h=bone_height, r=16);
                cylinder(h=bone_height, r=16);
            };
            //right side of bone
            translate([-12,35,0]) 
            {
                translate([24,0,0]) cylinder(h=bone_height, r=16);
                cylinder(h=bone_height, r=16);
            };
            //center of bone
            translate([-19,-25,0]) cube([38,50,bone_height]);
            //tag attachment reinforcement
            translate([-15.5,0,0]) cylinder(r=7.75, h=bone_height);
        }
        translate([1.5,-4.5,-1]) t(pet_name);
        translate([14.9,-9.0,-1]) t(phone_number);
        translate([1.5,4.5,-bone_height]) mirror([0,1,0]) t(pet_name);
        translate([14.5,11,-bone_height]) mirror([0,1,0]) t(phone_number2);
    }
}

difference()
{
    //tag
    bone(pet_name);
    //tag attachment
    translate([-15.5,0,-1]) cylinder(r=2.75, h=((bone_height)+2));
}

Label for mailbox

I usually put a paper label on my outdoor mailbox, but I needed a new one more strong, maybe printed in grey PLA3. Even this time I found a solution in Label on Thingiverse. In this case I only changed the variables following the instruction inside and this is the final version:

Label for mailbox in OpenSCAD
Label for mailbox in OpenSCAD
Label for mailbox
The printed label for mailbox
  • 1. OpenSCAD is software for creating solid 3D CAD objects. It is free software and available for Linux/UNIX, MS Windows and Mac OS X.
  • 2. Thingiverse is a website dedicated to the sharing of user-created digital design files. Providing primarily free, open source hardware designs licensed under the GNU General Public License or Creative Commons licenses, users choose the type of user license they wish to attach to the designs they share. 3D printers, laser cutters, milling machines and many other technologies can be used to physically create the files shared by the users on Thingiverse.
  • 3. Polylactic acid or polylactide (PLA) is a thermoplastic aliphatic polyester derived from renewable biomass, typically from fermented plant starch such as from corn, cassava, sugarcane or sugar beet pulp. In 2010, PLA had the second highest consumption volume of any bioplastic of the world. PLA is used as a feedstock material in desktop fused filament fabrication 3D printers. Source: https://en.wikipedia.org/wiki/Polylactic_acid


Related Content:

Nicola Rainiero

A civil geotechnical engineer with the ambition to facilitate own work with free software for a knowledge and collective sharing. Also, I deal with green energy and in particular shallow geothermal energy. I have always been involved in web design and 3D modelling.

Add new comment

The content of this field is kept private and will not be shown publicly.

Plain text

  • No HTML tags allowed.
  • Web page addresses and email addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.