discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Text on a dodecahedron

U
unkerjay
Fri, Jan 8, 2016 12:20 AM

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.

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.
N
Neon22
Fri, Jan 8, 2016 2:42 AM

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.

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.
M
MichaelAtOz
Fri, Jan 8, 2016 3:29 AM

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.

The TPP is no simple “trade agreement.”  Fight it! http://www.ourfairdeal.org/  time is running out!

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.

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. The TPP is no simple “trade agreement.” Fight it! http://www.ourfairdeal.org/ time is running out! -- 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.
N
Neon22
Fri, Jan 8, 2016 3:45 AM

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=r
1.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 ([r
0.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=r
1.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.

so twosides needs to be rebuilt with cylinder slabs: module twosides(r=1, i=1) { h = r*2.618; translate([0,0,h/2]) rotate([0,0,36]) cylinder(h=1, r=r*1.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, i*72]) // tricky! twosides(r, i+1); } // hole translate ([r*0.7,r*0.5,-r*1.3]) cylinder (h = 3, r=r/20, center = true, $fn=8); } } module twosides(r=1, i=1) { h = r*2.618; translate([0,0,h/2]) rotate([0,0,36]) cylinder(h=1, r=r*1.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_size*spacing, 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.
PF
Peter Falke
Fri, Jan 8, 2016 2:16 PM

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=r
1.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 ([r
0.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=r
1.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

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 = r*2.618; > translate([0,0,h/2]) > rotate([0,0,36]) > cylinder(h=1, r=r*1.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, i*72]) // tricky! > twosides(r, i+1); > } > // hole > translate ([r*0.7,r*0.5,-r*1.3]) > cylinder (h = 3, r=r/20, center = true, $fn=8); > } > } > > module twosides(r=1, i=1) { > h = r*2.618; > translate([0,0,h/2]) > rotate([0,0,36]) > cylinder(h=1, r=r*1.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_size*spacing, 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 >
U
unkerjay
Fri, Jan 8, 2016 2:30 PM

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.

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.
U
unkerjay
Fri, Jan 8, 2016 5:20 PM

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.

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.
N
Neon22
Fri, Jan 8, 2016 10:03 PM

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.

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.
N
Neon22
Fri, Jan 8, 2016 10:11 PM

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.

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.