Code:
Usage example:
difference() {
cylinder (h = 4, r=1, center = true, $fn=100);
rotate ([90,0,0]) cylinder (h = 4, r=0.9, center = true, $fn=100);
}
Source:
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language#boolean_overview
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15555.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
ahh yes because shapeways charges you for the volume of the object, you need
a hole to let it get out. Its made of powder. However the inside of your
object also needs to be hollow.
Its not right now.... OOps.
In fact the entire linear_extrude in twosides() with its twist trick is to
make a solid. You want a thin outer sheet instead
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15558.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Make it hollow and difference() the text to be the holes.
Make the text a bit larger and use a Bold font.
Although the Shapeways change to introduce 'machine space' will probably
keep the cost high.
Newly minted Admin - PM me if you need anything, or if I've done something stupid...
Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. Obviously inclusion of works of previous authors is not included in the above.
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15559.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
so twosides needs to be rebuilt with cylinder slabs:
module twosides(r=1, i=1) {
h = r2.618;
translate([0,0,h/2])
rotate([0,0,36])
cylinder(h=1, r=r1.01, $fn=5, center=true);
rotate([0,180,0])
translate([0,0,h/2])
rotate([0,0,36])
cylinder(h=1, r=r*1.01, $fn=5, center=true);
to drill a hole.
You need to put this in dodekaeder() and union the twosides() together
before subtracting a "hole".
giving this:
strings = [["A", "Partridge", "in a","Pear Tree"], ["2"," Turtle", "Doves"],
["3","French", "Hens"], ["4","Calling", "Birds"],
["5","Golden", "Rings"], ["6","Geese", "a-laying"],
["12","Drummers", "Drumming"],["7","Swans", "a-swimming"],
["8","Maids", "a-milking"], ["9","Ladies","Dancing"],
["10","Lords", "a-leaping"],["11","Pipers","Piping"]
];
t_size = 7;
t_spacing = 1.9;
t_height = 1.9;
myfont = "Verdana:style=Bold";
Delta = 0.1;
dodekaeder(40);
module dodekaeder(r = 40)
{
w = acos(1/sqrt(5));
difference() {
union() {
rotate([0, 0, 180])
twosides(r, 0);
for(i=[0:4])
rotate([0, -w, i72]) // tricky!
twosides(r, i+1);
}
// hole
translate ([r0.7,r0.5,-r1.3])
cylinder (h = 3, r=r/20, center = true, $fn=8);
}
}
module twosides(r=1, i=1) {
h = r2.618;
translate([0,0,h/2])
rotate([0,0,36])
cylinder(h=1, r=r1.01, $fn=5, center=true);
rotate([0,180,0])
translate([0,0,h/2])
rotate([0,0,36])
cylinder(h=1, r=r*1.01, $fn=5, center=true);
// text for upper and lower surface
translate([0, 0, h/2-Delta])
multilinetext(strings[i]);
rotate([0, 180, 0])
translate([0, 0, h/2-Delta])
multilinetext(strings[i+6]);
}
// module twosides(r=1, i=1) // solid
// {
// h = r*2.618;
// linear_extrude(height = h, center = true, twist = 36) // tricky twist
// circle(r, $fn=5);
// // text for upper and lower surface
// translate([0, 0, h/2-Delta])
// multilinetext(strings[i]);
// rotate([0, 180, 0])
// translate([0, 0, h/2-Delta])
// multilinetext(strings[i+6]);
// }
module multilinetext(t, spacing=t_spacing)
for(i=[0:len(t)-1])
translate([0, (len(t)/2-i)t_sizespacing, 0]) //Note the "1.5" = Line
Spacing
linear_extrude(height = t_height)
text(t[i],halign = "center", valign = "center",
size=t_size,font=myfont);
I'm interested to know how much it costs now. $400 was super expensive.
http://forum.openscad.org/file/n15560/dodec_02_hollow_001307.png
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15560.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Hi unkerjay,
maybe you should have a look into low polygon count fonts.
I have an extrem low polygon count on thingiverse:
http://www.thingiverse.com/thing:79905
I designed it to have a minimal number of polygons. Now, I know it is not
the most readable font.
Have fun,
TakeItAndRun
2016-01-08 4:45 GMT+01:00 Neon22 mschafer@wireframe.biz:
so twosides needs to be rebuilt with cylinder slabs:
module twosides(r=1, i=1) {
h = r2.618;
translate([0,0,h/2])
rotate([0,0,36])
cylinder(h=1, r=r1.01, $fn=5, center=true);
rotate([0,180,0])
translate([0,0,h/2])
rotate([0,0,36])
cylinder(h=1, r=r*1.01, $fn=5, center=true);
to drill a hole.
You need to put this in dodekaeder() and union the twosides() together
before subtracting a "hole".
giving this:
strings = [["A", "Partridge", "in a","Pear Tree"], ["2"," Turtle",
"Doves"],
["3","French", "Hens"], ["4","Calling", "Birds"],
["5","Golden", "Rings"], ["6","Geese", "a-laying"],
["12","Drummers", "Drumming"],["7","Swans",
"a-swimming"],
["8","Maids", "a-milking"], ["9","Ladies","Dancing"],
["10","Lords", "a-leaping"],["11","Pipers","Piping"]
];
t_size = 7;
t_spacing = 1.9;
t_height = 1.9;
myfont = "Verdana:style=Bold";
Delta = 0.1;
dodekaeder(40);
module dodekaeder(r = 40)
{
w = acos(1/sqrt(5));
difference() {
union() {
rotate([0, 0, 180])
twosides(r, 0);
for(i=[0:4])
rotate([0, -w, i72]) // tricky!
twosides(r, i+1);
}
// hole
translate ([r0.7,r0.5,-r1.3])
cylinder (h = 3, r=r/20, center = true, $fn=8);
}
}
module twosides(r=1, i=1) {
h = r2.618;
translate([0,0,h/2])
rotate([0,0,36])
cylinder(h=1, r=r1.01, $fn=5, center=true);
rotate([0,180,0])
translate([0,0,h/2])
rotate([0,0,36])
cylinder(h=1, r=r*1.01, $fn=5, center=true);
// text for upper and lower surface
translate([0, 0, h/2-Delta])
multilinetext(strings[i]);
rotate([0, 180, 0])
translate([0, 0, h/2-Delta])
multilinetext(strings[i+6]);
}
// module twosides(r=1, i=1) // solid
// {
// h = r*2.618;
// linear_extrude(height = h, center = true, twist = 36) // tricky twist
// circle(r, $fn=5);
// // text for upper and lower surface
// translate([0, 0, h/2-Delta])
// multilinetext(strings[i]);
// rotate([0, 180, 0])
// translate([0, 0, h/2-Delta])
// multilinetext(strings[i+6]);
// }
module multilinetext(t, spacing=t_spacing)
for(i=[0:len(t)-1])
translate([0, (len(t)/2-i)t_sizespacing, 0]) //Note the "1.5" = Line
Spacing
linear_extrude(height = t_height)
text(t[i],halign = "center", valign = "center",
size=t_size,font=myfont);
I'm interested to know how much it costs now. $400 was super expensive.
http://forum.openscad.org/file/n15560/dodec_02_hollow_001307.png
--
View this message in context:
http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15560.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
Thanx.
Here's what I'm doing so far.
Let's see how it works.
Applying your code, complete with hole.
Reducing the size of the font and the
dodec in Openscad. If it's going to
print at all, it might as well print at
half the size and hopefully half (-)
the cost.
And I've switched the font to one of
the boldest fonts I've found:
Revolution (Free Font):
http://www.dafont.com/revolution-saji.font
Downside, it doesn't have numbers or
hyphens. But, that just translates
ALL the text to TEXT. So, better in
that regard as well.
Now, let's see just how much difference
all these changes make.
Stay tuned.
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15565.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
yay.
I mean YAYYYY!
http://forum.openscad.org/file/n15567/YAY_WE_did_it_part1_PNG.png
and after a LITTLE repairing (for... "Wall Thickness")
http://forum.openscad.org/file/n15567/YAY_WE_did_it_part2_PNG.png
SIGNIFICANT reduction in size AND cost.
Stick a fork in it.
It's DONE.
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15567.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
congrats. to get rid of that edge seam at the boundary of the faces - try
adjusting the 1.01 in the two lines that look like this:
cylinder(h=1, r=r*1.01, $fn=5, center=true);
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15573.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Because you had to do "Wall thickness" fix this means the text is right at
the boundary of looking OK or not.
IMHO - you could try to make it a little bigger to improve this.
also fork now in it. (http://www.thingiverse.com/thing:226875)
http://forum.openscad.org/file/n15574/forkinit_001308.png
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15574.html
Sent from the OpenSCAD mailing list archive at Nabble.com.