Since I can make letters as large as my printer will allow I thought it would be useful to make them hollow so I could add a transparent top layer or two and use them to make an led sign, so I added a way to do that.
Here is the code:
/*[Beveled Text]*/
Shell=false;
Text="1234";
Font="";
size=6;//[1:.01:200]
taper=.42; //[.01:.01:50]
height=1;//[1:.01:20]
Spacing=1;//[1:.01:12]
length = len(Text);
Offset=0;//[.01:.01:50])
module beveled_text(){
intersection(){
roof(method="straight"){
offset(delta=Offset)
text(Text,size=size,font=Font,halign="center",valign="center",spacing=Spacing,direction="ltr",$fn=100);
}
cylinder(h=taper,d=length*400,center=true,$fn=4);
}}
render(){
difference(){
scale([1,1,height])
beveled_text();
if (Shell){
translate([0,0,-2.5])
scale([1,1,height])
beveled_text();
}}}
I will probably make some modifications so I can adjust the wall thickness on the fly but -2.5 gives about 3 lines of wall thickness, I will need to make some prints to see how strong it is.