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.