// without top (with large texts you have to change the 600,600 to a higher value)
translate([0,0,Height+Wall])cube([600,600,4Wall],center=true);
// or without bottom: (with large texts you have to change the 600,600 to a higher value)
//translate([0,0,-Wall])cube([600,600,4Wall],center=true);
// you can use both, without top and bottom,
// but than you have to add 2*Wall to the Height for the perfect dimension
I modified a bit (for my better understanding):
text = "\u2618"; // shamrock unicode symbol, you have to use "Arial Unicode MS"
font = "Arial Unicode MS"; // font string
Height = 100; // (mm)
FontSize = 170; // (mm)
Spacing = 0.78; // spacing if more than one letter, default: 1
Wall = 3; // real wall thickness (mm) [1..20]
//$fn=1000; // very high quality
$fn=5; // preview quality
module DoText()
{
linear_extrude(height=Height, spacing=Spacing)
text(text,FontSize,font);
}
module MakeHollow()
{
difference()
{
minkowski()
{
DoText();
cube([2Wall,2Wall,2*Wall],center=true);
}
DoText();
// without top (with large texts you have to change the 600,600 to a higher value)
translate([0,0,Height+Wall])cube([600,600,4Wall],center=true);
// or without bottom: (with large texts you have to change the 600,600 to a higher value)
//translate([0,0,-Wall])cube([600,600,4Wall],center=true);
// you can use both, without top and bottom,
// but than you have to add 2*Wall to the Height for the perfect dimension
}
}
MakeHollow();