SamSuka
bigclive
bigclive

patreon


Behold Version 3 of the sign script

Well this turned out well.  I've modified the script to give consistent wall thickness regardless of angle, give gently rounded exterior corners to sharp letters and by using 2D minkowski processing and then extruding the resultant shape upwards as required, I've managed to reduce the rendering time by up to 10 times for complex rounded characters, even with doubled curve resolution, and the straight characters like "A" render almost instantly despite having rounded corners, even when they're 500mm tall (not that my printer could handle that size.)

For testing prints I recommend setting the base thickness to 0.4mm (2-layers) for speed of printing.


//Sign body maker V3 - bigclivedotcom

letter = "A"; //Sign character to make

style = "Arial"; //See "Help" and "Font List"

size = 50; //Size of character (height)

depth = 10; //Depth of sign character

$fn=100; //Curve facets - higher is smoother

walls = 2; //Side wall thickness

base=.4; //Base thickness (-1 for open back)

face = 1; //Face thickness

//Don't change variables below here

sized=size-(2*walls);

difference(){

linear_extrude(height=depth)

minkowski(){

text(letter,sized,style);

circle(walls);

}

//Lip for front face (half wall thickness)

translate([0,0,depth-face])

linear_extrude(height=2*face)

minkowski(){

text(letter,sized,style);

circle(walls/2);

}

//hollow core of letter

translate([0,0,base])

linear_extrude(height=depth+2)

text(letter,sized,style);

}



//Sign front-face generator V3 - bigclivedotcom

//All variables must match the sign body sizes

letter = "A"; //Sign character to make

style = "Arial"; //See "Help" and "Font List"

size = 50; //Size of character

$fn=100; //Curve facets - higher is smoother

walls = 2; //Side wall thickness

face = 1; //Face thickness

fit = 0.5; //Slight shrink of face for easier fitting

//Don't change variables below here

sized=size-(2*walls);

linear_extrude(height=face)

minkowski(){

text(letter,sized,style);

circle((walls/2)-fit/2);

}

Behold Version 3 of the sign script

More Creators