Tried using Blender.
It's been a REAL challenge as there doesn't seem to be much
on the subject of text on polyhedra other than by texture,
which, 3D Printed, leaves only the option of sandstone printing.
Not very durable.
Not to mention that it's LARGE and hasn't passed ANY printability
OR repair tests yet.
As you can see from the image below, it's not that complex.
Tried this:
http://blender.stackexchange.com/questions/28829/set-edge-as-axis-for-surface-rotation
as a starting point. Thickened the edges. Added the text. Put it all
together, and voila! Mush!
Looks nice. Won't print.
There's this by the GREAT, and I use that word deliberately,
Kit Wallace:
http://kitwallace.tumblr.com/post/84238290024/adding-text
but, for me, it's just not clear.
What I don't know about Openscad is a far greater chasm
than what I know. So, please, bear that in mind.
I'm guessing, if it's to be done at all, in a remotely printable
format, my best option might be through Openscad. But, I
have no idea how to begin.
Anyone?
Thanx
12_Days_Dodec_JPG.jpg
http://forum.openscad.org/file/n15409/12_Days_Dodec_JPG.jpg
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
I can't tell you this is the specific answer, but it might be of use. I'm a simpleton when it comes to OpenSCAD, but this set of modules perhaps might be helpful?
https://github.com/brodykenrick/text_on_OpenSCAD
On Friday, January 1, 2016 4:42 PM, unkerjay <unkerjay@centurylink.net> wrote:
Tried using Blender.
It's been a REAL challenge as there doesn't seem to be much
on the subject of text on polyhedra other than by texture,
which, 3D Printed, leaves only the option of sandstone printing.
Not very durable.
Not to mention that it's LARGE and hasn't passed ANY printability
OR repair tests yet.
As you can see from the image below, it's not that complex.
Tried this:
http://blender.stackexchange.com/questions/28829/set-edge-as-axis-for-surface-rotation
as a starting point. Thickened the edges. Added the text. Put it all
together, and voila! Mush!
Looks nice. Won't print.
There's this by the GREAT, and I use that word deliberately,
Kit Wallace:
http://kitwallace.tumblr.com/post/84238290024/adding-text
but, for me, it's just not clear.
What I don't know about Openscad is a far greater chasm
than what I know. So, please, bear that in mind.
I'm guessing, if it's to be done at all, in a remotely printable
format, my best option might be through Openscad. But, I
have no idea how to begin.
Anyone?
Thanx
12_Days_Dodec_JPG.jpg
http://forum.openscad.org/file/n15409/12_Days_Dodec_JPG.jpg
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409.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
I recently "fixed" the "deprecated use of assign statement" in that lib and
my pull request got accepted but I broke the TTB, BTT options he had added.
It works pretty well though and uses the new text() statement.
I need to try to fix that. its all in those nested if conditionals I think.
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15413.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
There is a very elegant approach to construct a dodekaeder in OpenSCAD and it
goes hand in hand with putting some text on the sides as well.
http://forum.openscad.org/file/n15414/showcase15.png
Try this code (CGAL rendering works quite well).
strings = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
dodekaeder(10);
module dodekaeder(r = 10)
{
w = acos(1/sqrt(5));
rotate([0, 0, 180])
twosides(r, 0);
for(i=[0:4])
rotate([0, -w, i*72]) // tricky!
twosides(r, i+1);
}
module twosides(r=1, i=1)
{
h = r*2.618;
linear_extrude(height = h, twist = 36, center = true) // tricky twist
circle(r, $fn=5);
// text for upper and lower surface
translate([0, 0, h/2])
linear_extrude(height = 1)
text(strings[i],halign = "center", valign = "center");
rotate([0, 180, 0])
translate([0, 0, h/2])
linear_extrude(height = 1)
text(strings[i+6],halign = "center", valign = "center");
}
unkerjay wrote
I'm guessing, if it's to be done at all, in a remotely printable
format, my best option might be through Openscad. But, I
have no idea how to begin.
Anyone?
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15414.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
submitted new pull req - rotate on circle and cylinder cases fixed.
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15416.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
To use as a dice and have the numbers opposite each other sum to 13 you'll
need to change to:
strings = ["1", "2", "3", "4", "5", "6.", "12", "11", "10", "9.", "8", "7"];
To make the text a little smaller (default size=10). use the size parameter
(or make the dodec bigger).
E.g.
text(strings[i+6],halign = "center", valign = "center", size=8)
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15417.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Here's what worked (sort of).
Thank you SO MUCH for this!
Haven't tried decreasing the text size.
First thing I tried, even before seeing
your reply, was to increase the dodec
size.
How would I do multiple lines of text.
strings = ["Partridge", "2 T-Doves", "3 F-Hens", "4 C-Birds", "5 G-Rings",
"6 Geese", "7 Swans", "8 Maids", "9 Ladies", "10 Lords", "11 Pipers", "12
Drummers"];
dodekaeder(50);
module dodekaeder(r = 50)
{
w = acos(1/sqrt(5));
rotate([0, 0, 180])
twosides(r, 0);
for(i=[0:4])
rotate([0, -w, i*72]) // tricky!
twosides(r, i+1);
}
module twosides(r=1, i=1)
{
h = r*2.618;
linear_extrude(height = h, twist = 36, center = true) // tricky twist
circle(r, $fn=5);
// text for upper and lower surface
translate([0, 0, h/2])
linear_extrude(height = 1)
text(strings[i],halign = "center", valign = "center");
rotate([0, 180, 0])
translate([0, 0, h/2])
linear_extrude(height = 1)
text(strings[i+6],halign = "center", valign = "center");
}
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15423.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Final Version (including text resize):
A little tweaking in Netfabb Basic and
it's good to go!
Thank you!
strings = ["Partridge", "2 T-Doves", "3 F-Hens", "4 C-Birds", "5 G-Rings",
"6 Geese", "12 Drummers","7 Swans", "8 Maids", "9 Ladies", "10 Lords", "11
Pipers"];
dodekaeder(40);
module dodekaeder(r = 40)
{
w = acos(1/sqrt(5));
rotate([0, 0, 180])
twosides(r, 0);
for(i=[0:4])
rotate([0, -w, i*72]) // tricky!
twosides(r, i+1);
}
module twosides(r=1, i=1)
{
h = r*2.618;
linear_extrude(height = h, twist = 36, center = true) // tricky twist
circle(r, $fn=5);
// text for upper and lower surface
translate([0, 0, h/2])
linear_extrude(height = 1)
text(strings[i],halign = "center", valign = "center", size=6);
rotate([0, 180, 0])
translate([0, 0, h/2])
linear_extrude(height = 1)
text(strings[i+6],halign = "center", valign = "center", size=6);
}
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15425.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
You could make the text into lists of two strings, implying two lines.
Then print one under the other using two translate/text statements ?
Or use a more complex method where you parse the text, separating by spaces,
and then scale the whole thing to fit.
But I think you only need a special puropse one-off solution so I'd go with
my first suggestion.
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15426.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
strings = [["Partridge"], ["2","T-Doves"], ["3","F-Hens"], ["4","C-Birds"],
["5","G-Rings"], ["6","Geese"], ["12","Drummers"],["7","Swans"],
["8","Maids"], ["9","Ladies"], ["10","Lords"], ["11","Pipers"] ];
t_height = 8;
dodekaeder(40);
module dodekaeder(r = 40)
{
w = acos(1/sqrt(5));
rotate([0, 0, 180])
twosides(r, 0);
for(i=[0:4])
rotate([0, -w, i*72]) // tricky!
twosides(r, i+1);
}
module twosides(r=1, i=1)
{
h = r*2.618;
linear_extrude(height = h, twist = 36, center = true) // tricky twist
circle(r, $fn=5);
// text for upper and lower surface
translate([0, t_height, h/2])
linear_extrude(height = 1)
text(strings[i][0],halign = "center", valign = "center", size=t_height);
translate([0, -t_height, h/2])
linear_extrude(height = 1)
text(strings[i][1],halign = "center", valign = "center", size=t_height);
//
rotate([0, 180, 0]) {
translate([0, t_height, h/2])
linear_extrude(height = 1)
text(strings[i+6][0],halign = "center", valign = "center", size=t_height);
translate([0, -t_height, h/2])
linear_extrude(height = 1)
text(strings[i+6][1],halign = "center", valign = "center", size=t_height);
}
}
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15427.html
Sent from the OpenSCAD mailing list archive at Nabble.com.