How OpenSCAD and parametric design can help in 3D printing
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.

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:



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:


- 1OpenSCAD is software for creating solid 3D CAD objects. It is free software and available for Linux/UNIX, MS Windows and Mac OS X.
- 2Thingiverse 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.
- 3Polylactic 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
Add new comment