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.
Just curious.
Reading up, a little, and wondering.
Would it be possible to embed cr/lf (carriage return / line feed)
or "Enter" in the text (would Unicodes work for this)?
Something like:
"A-U000D-Partridge-U000D-in a-U000D-Pear Tree"
Probably got the syntax off.
Would something like that work?
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15514.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
On 01/06/2016 03:11 PM, unkerjay wrote:
Would it be possible to embed cr/lf (carriage return / line feed)
or "Enter" in the text (would Unicodes work for this)?
No, right now only the text shaping level is supported (using
the harfbuzz library). This means support for ligatures, script
languages and combining characters but no layouting.
Adding a newline to the text is no problem (e.g. using chr(13))
but it will just render the glyph that's defined in the selected
font, not produce an actual line break. In most cases that will
just be a dummy rectangle, some fonts may have a special glyph.
ciao,
Torsten.
In for a penny, in for a pound.
Here's what I'm shooting for.
It sort of works. Sort of.
Not getting the third line.
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_height = 7;
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);
translate([1, -t_height, h/2])
linear_extrude(height = 1)
text(strings[i][2],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);
translate([0, -t_height, h/2])
linear_extrude(height = 1)
text(strings[i+6][2],halign = "center", valign = "center",
size=t_height);
}
}
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15516.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Lines 37 and 51 should be -t_height*2. The 2nd and 3rd lines are
overwriting each other.
On 1/6/16 10:19 AM, unkerjay wrote:
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_height = 7;
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);
translate([1, -t_height, h/2])
linear_extrude(height = 1)
text(strings[i][2],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);
translate([0, -t_height, h/2])
linear_extrude(height = 1)
text(strings[i+6][2],halign = "center", valign = "center",
size=t_height);
}
}
--
========= mailto:david.boyd@usstem.org ============
David W. Boyd
7371 Atlas Walk Way, #242
Gainesville, Va 20155
fax: +1-703-656-4829
cell: +1-703-402-7908
============== http://usstem.org/ ============
First Robotic Mentor - FRC, FTC - www.iliterobotics.org
Board Member- USSTEM Foundation - www.usstem.org
Program Assistant - USFIRST - www.usfirst.org
The information contained in this message may be privileged
and/or confidential and protected from disclosure.
If the reader of this message is not the intended recipient
or an employee or agent responsible for delivering this message
to the intended recipient, you are hereby notified that any
dissemination, distribution or copying of this communication
is strictly prohibited. If you have received this communication
in error, please notify the sender immediately by replying to
this message and deleting the material from any computer.
It is always better to do a bit more structured programming to get more of
it. This code allowes for any number of centered lines ...
strings = [["A Partridge","in a","Pear Tree", "and a", "Unicorn"], ["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_height = 7;
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+1])
multilinetext(strings[i]);
rotate([0, 180, 0])
translate([0, 0, h/2])
multilinetext(strings[i+6]);
}
module multilinetext(t)
for(i=[0:len(t)-1])
translate([0, (len(t)/2-i)*t_height, 0])
linear_extrude(height = 1)
text(t[i],halign = "center", valign = "center", size=t_height);
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15518.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
When I look at the code in my console, it ends at line 47.
So, not sure which lines you're referring to.
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15519.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Code works.
How to adjust the line spacing?
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15520.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
If THIS:
translate([0, -t_height, h/2])
is the line you're referring to,
I changed that.
Lines 2 and 3 aren't overwriting each other anymore.
But, I now get no line 3.
So, one problem solved, I think.
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15521.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Figured it out.
translate([0, (len(t)/2-i)*t_height*1.5, 0])
Thanks.
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15522.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
P.S.
Nice touch "Unicorn"
:)
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15523.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Working code - so far:
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_height = 7;
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+1])
multilinetext(strings[i]);
rotate([0, 180, 0])
translate([0, 0, h/2])
multilinetext(strings[i+6]);
}
module multilinetext(t)
for(i=[0:len(t)-1])
translate([0, (len(t)/2-i)t_height1.5, 0]) //Note the "1.5" = Line
Spacing
linear_extrude(height = 1.5)
text(t[i],halign = "center", valign = "center", size=t_height);
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15524.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
And to be clear, thank you ALL for your input.
MUCH appreciated.
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15525.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Followup:
I've spent the better part of my day trying to get this object up to
printability.
I've (in Openscad):
Adjusted the extrude to be sure it extends below as well as above
the surface.
rearranged the text so that it fits within the borders of its respective
face
adjusted the size for the same reason
(in Blender):
deleted, recreated, (and where necessary) merged faces for
a more unified model.
thickened the overall model
(in Netfabb Basic and Online):
attempted to repair it
Sculpteo:
90 objects!!!
Shapeways:
Errors:
Bounding Box
Wall Thickness
Loose Shells
It looks GREAT!
Doesn't print.
I think I could probably create
a dodec out of wood and burn
the text onto the surface sooner
than I'll get this up to printability.
The more this happens the less I
am persuaded that 3D printing is
yet a viable alternative for anything
but SMALL, SIMPLE models.
A Soma cube costs $ 35 to 3d print
the parts.
Out of wood?
$ 3
Check Amazon.
Check Shapeways.
Don't get me wrong. A good amount
of what I try to create PRINTS.
Most of it TEXTLESS. ALL of it
SMALL. And at that, $ 5 - $ 10
a pop. And that's from Shapeways.
Door to door. 3d hubs - pick it up
myself. Last I checked (few months
ago) 4 - 6 times the cost of Shapeways
door to door.
Then, there's what's passed Printability
checks at Shapeways that people with
their own printers for various reasons
just have problems with.
Sure I could do it with a texture. But
that really kind of defeats the point. And
as I said, at the outset. The only option then
is Sandstone which really isn't very durable.
Arrggggh!
Oh the time I've saved with technology.
Thanx again everyone for the help.
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15530.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
looking along an edge I can see the text is off the surface.
http://forum.openscad.org/file/n15532/dodec-02_001304.png
I changed +1 to -Delta where Delta = 0.1
translate([0, 0, h/2-Delta])
multilinetext(strings[i]);
rotate([0, 180, 0])
translate([0, 0, h/2-Delta])
multilinetext(strings[i+6]);
Now the text sits just beow the surface and does not collide.
If you want the font to be bolder then choose a bold font
The cheatsheet is a fount of knowledge:
My code looks like:
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 = 6; // height of text
t_spacing = 1.5; // spacing between lines
t_height = 1.5; // extruded this tall
myfont = "Verdana:style=Bold";
Delta = 0.1; // used to make sure interpenetrated
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-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);
The End result - when rendered looks like this (took quite a while to render
with all that text)
http://forum.openscad.org/file/n15532/dodec-02_001306.png
and when exported in an STL is a single object with no gaps or holes, ready
to print.
This object is about 100mm high, 7MB, 18000 faces.
http://forum.openscad.org/file/n15532/dodec_02_001305.png
Printing is tricky because one side has to face down and it has text on it
and will need supports.
To simplify this, consider splitting it into two halves (using difference
and a big cube) and then gluing the two prints together.
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15532.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Everything you mention except the splitting it in two, I saw and attempted
to address.
I did everything I knew to do, which leaves room, since there's a BIG gap
in what I know.
It looked printable. It looked like it was on AND below the surface -
connected to the base.
So much it seems depends on having the right font, used in the right
way.
Fonts, it seems, were initially designed for / optimized for print on
the page - PAPER.
Now there's the possibiility of 3D printing, different technology, different
methods and materials, and fonts (I've noticed) have to be retooled,
redesigned (and have been to a degree) for these new methods and
materials.
It explains the physical, visual histrionics (as you showed) of attaching
text to a model.
I'll take a look again.
I'm learning a whole new vocabulary around this:
Manifold
Watertight
Connected
Bounding Box
Wall Thickness
Loose Shells
All the different things that are either done right or that get in
the way of printing.
It suggests to me that 3D printing is still very much in its infancy.
There are still significant limitations and obstacles.
Just as an aside, I recently watched a tv news episode which showed
that the lion's share of glasses frames are coming out of Italy. Which,
economics 101 means (monopoly (or thereabouts), control the supply,
you control the cost. There's already a demand.
Now if there's a project SCREAMING for a 3D printing solution, it's
THAT one. I think it'll happen, and, when it does, kiss monopoly
(or thereabouts) good-bye.
So, I'm not sunk on the promise of 3D printing.
BUT, I sure am frustrated.
Thanx
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15535.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Also, thank you for listing code that works.
My first impulse is cut and paste.
So, if it's a snippet of code that requires
something not readily apparent or some
condition or know-how to work, I'm at
a loss.
I worked tech support for PCs. I use Linux
at home (Linux Mint). I supported Windows
PCs. The fact that I work with OpenSCAD,
Blender, Inkscape, and lately GIMP put me
further into the Geek category as well as
the disproportionate amount of time I spend
following the doings of Kit Wallace on Polyhedrons
(not exactly table talk at most tables).
I'm not a stranger to scripting, just to OpenSCAD.
Give me a working example and I can figure it
out. I can learn from it.
It's not enough that it "works for you".
And I know I've got to bring SOMETHING to the
table.
I'm working on doing my part.
And I appreciate your assistance - VERY much.
Thank you - ALL.
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15536.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
The fun I've been having:
Shapeways - "Fixed"
http://forum.openscad.org/file/n15538/Shapeways_FIXED_PNG.png
Solidify (or Alt-S - doesn't matter which) - Blender
http://forum.openscad.org/file/n15538/Solidify_or_Alt-S_Blender_FIXED_PNG.png
Alt-S - Blender
http://forum.openscad.org/file/n15538/Alt_S_Blender_FIXED_PNG.png
NetFabb Basic - FIXED - in Shapeways
http://forum.openscad.org/file/n15538/NetFabb_Basic_FIXED_PNG.png
NetFabb Online - FIXED (Looks Good)
http://forum.openscad.org/file/n15538/NetFabb_Online_FIXED_PNG.png
As I said (LOOKED Good) - Wall Thickness Issues
http://forum.openscad.org/file/n15538/Meshlab_FIXED2_PNG.png
Wall Thickness - How bad is it?
http://forum.openscad.org/file/n15538/Shapeways_Wall_Thickness_PNG.png
After the "Fix"
http://forum.openscad.org/file/n15538/Shapeways_Wall_Thickness_FIXED_PNG.png
Last try - Meshlab (From Openscad - User Manual):
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/STL_Import_and_Export
"In order to clean the STL file, you have the following options:
use http://wiki.netfabb.com/Semi-Automatic_Repair_Options . This will
repair the holes but not the self-intersections.
use netfabb basic. This free software doesnt have the option to close
holes nor can it fix the self-intersections
use MeshLab, This free software can fix all the issues
Using MeshLab, you can do:
Render - Show non Manif Edges
Render - Show non Manif Vertices
if found, use Filters - Selection - Select non Manifold Edges or Select
non Manifold Vertices - Apply - Close. Then click button 'Delete the current
set of selected vertices...' or check
http://www.youtube.com/watch?v=oDx0Tgy0UHo for an instruction video. The
screen should show "0 non manifold edges", "0 non manifold vertices"
Next, you can click the icon 'Fill Hole', select all the holes and click
Fill and then Accept. You might have to redo this action a few times.
Use File - Export Mesh to save the STL."
Meshlab - "Fixed" All well and good
http://forum.openscad.org/file/n15538/Meshlab_FIXED_PNG.png
Meshlab - Not so good after all
http://forum.openscad.org/file/n15538/Meshlab_Shapeways_PNG.png
When Uploaded to Shapeways without any modifications whatsoever, it printed
fine
at 5.13 in. Small detail: $ 405.57 (about 130 mm / 13 cm)
So, I figured I'd rescale it to about 55 mm (little less than half the
size).
That's when the problems started.
Price was right.
Printability wasn't.
So, there you have it.
Not working so far.
Valiant effort?
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15538.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
@unkerjay you're doing yeoman's work there. wish it was easier :(
I tried to make as few changes as possible so as to illustrate what I did.
It is clear there are still some problems on your end.
Most critical one is the font seems to not be joining up properly - or at
least that's how I interpret what I'm seeing in your screenshots. I'm
checking that on my end to make sure that's what it is.
The other problem is the fine detail in the thickness of the lettering. When
the 3D print software slices the object into rings, it has a lower limit on
how small a movement it can make. This is related to the physical printer
limitations and to the layer height of each of these slices. If they are too
small then the printer can't resolve them as separate elements.
The green shapeways file looks like its rounded everything - this might be
because the detail is too fine for sharp edges - but I don't know what
they're really doing.
The Blender fix. Manual is best IMHO. some helpers here:
The shapeways thin wall highlighting seems to be indicating the feature is
too fine for the slicer to resolve and therefore print. At 55mm overall
size, the text lines are just too thin.
The only way to reasonably fix this is to use a thicker font (bold?) or
scale the object up.
This is why I parameterised the font, text height, and interline spacing at
the top of the file - for easy adjustment.
I suggest you first set the physical size you want to print the object for.
Then set the font as large and as thick(bold) as possible, possibly make
another matching array of font heights for each line (because partridge line
has no number) to make it easy to set the numeric text bigger.
Then export and check in Blender for non-manifioldness - which is easy to
see and very clearly illustrates if object is watertight.
Then - rather than fix the problem in Blender - go back and adjust the
openscad script until its manifold in Blender.
Then go onto Shapeways and see how much it costs. I think they use a powder
tub system(SLS?) so no support structure so you don't need to cut in half.
https://www.shapeways.com/tutorials/design_rules_for_3d_printing
But if you use a different filamant based service - I'd cut it into two
objects, print and glue.
Good luck
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15548.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
So you've got a working printable model, but Shapeways wants $400? Maybe
you should find a cheaper service. I've looked around a bit, and Shapeways
can charge 10x what a Chinese service charges. Not tried any of them yet.
Or check out your local brick+mortar 3D printshop, or your local
makerspace/fablab.
On 7 January 2016 at 10:03, unkerjay unkerjay@centurylink.net wrote:
The fun I've been having:
Shapeways - "Fixed"
http://forum.openscad.org/file/n15538/Shapeways_FIXED_PNG.png
Solidify (or Alt-S - doesn't matter which) - Blender
<
http://forum.openscad.org/file/n15538/Solidify_or_Alt-S_Blender_FIXED_PNG.png
Alt-S - Blender
http://forum.openscad.org/file/n15538/Alt_S_Blender_FIXED_PNG.png
NetFabb Basic - FIXED - in Shapeways
http://forum.openscad.org/file/n15538/NetFabb_Basic_FIXED_PNG.png
NetFabb Online - FIXED (Looks Good)
http://forum.openscad.org/file/n15538/NetFabb_Online_FIXED_PNG.png
As I said (LOOKED Good) - Wall Thickness Issues
http://forum.openscad.org/file/n15538/Meshlab_FIXED2_PNG.png
Wall Thickness - How bad is it?
http://forum.openscad.org/file/n15538/Shapeways_Wall_Thickness_PNG.png
After the "Fix"
<
http://forum.openscad.org/file/n15538/Shapeways_Wall_Thickness_FIXED_PNG.png
Last try - Meshlab (From Openscad - User Manual):
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/STL_Import_and_Export
"In order to clean the STL file, you have the following options:
use http://wiki.netfabb.com/Semi-Automatic_Repair_Options . This will
repair the holes but not the self-intersections.
use netfabb basic. This free software doesnt have the option to close
holes nor can it fix the self-intersections
use MeshLab, This free software can fix all the issues
Using MeshLab, you can do:
Render - Show non Manif Edges
Render - Show non Manif Vertices
if found, use Filters - Selection - Select non Manifold Edges or Select
non Manifold Vertices - Apply - Close. Then click button 'Delete the
current
set of selected vertices...' or check
http://www.youtube.com/watch?v=oDx0Tgy0UHo for an instruction video. The
screen should show "0 non manifold edges", "0 non manifold vertices"
Next, you can click the icon 'Fill Hole', select all the holes and click
Fill and then Accept. You might have to redo this action a few times.
Use File - Export Mesh to save the STL."
Meshlab - "Fixed" All well and good
http://forum.openscad.org/file/n15538/Meshlab_FIXED_PNG.png
Meshlab - Not so good after all
http://forum.openscad.org/file/n15538/Meshlab_Shapeways_PNG.png
When Uploaded to Shapeways without any modifications whatsoever, it printed
fine
at 5.13 in. Small detail: $ 405.57 (about 130 mm / 13 cm)
So, I figured I'd rescale it to about 55 mm (little less than half the
size).
That's when the problems started.
Price was right.
Printability wasn't.
So, there you have it.
Not working so far.
Valiant effort?
--
View this message in context:
http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15538.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
ONE more idea on this.
One other little trick suggested is to put a hole
in a "discreet" location (not sure that's an option
with this since any side can be UP).
But, as I understand, it give the material an out,
thereby reducing the cost.
So, I understand THIS is what would do it:
difference[edit]
Subtracts the 2nd (and all further) child nodes from the first one (logical
and not).
May be used with either 2D or 3D objects, but don't mix them.
and this is WHERE I'd like to:
http://forum.openscad.org/file/n15554/dodec_hole_PNG.png
The example is of a cylinder through a cylinder.
Not a dodecahedron.
Anyone?
Thanx
--
View this message in context: http://forum.openscad.org/Text-on-a-dodecahedron-tp15409p15554.html
Sent from the OpenSCAD mailing list archive at Nabble.com.