Skip to main content
3 of 5
replaced http://mathematica.stackexchange.com/ with https://mathematica.stackexchange.com/

Strategies for creating 3D text

I am interested in using Mathematica to create 3D text for printing. I stumbled upon this answer which works very well in a slightly modified form:

text3D[text_String, mult_] := ListPlot3D[ ClusteringComponents[ ImageRotate@ImagePad[ImageReflect[ ImageCrop@First@ ColorSeparate@ Rasterize@ Graphics[{Text[Style[text, Bold, 60]]}], Left -> Right], 5, White]], Boxed -> False, Mesh -> False, Axes -> False, DataRange -> {{0, mult}, {0, mult}}] 

It seems to work well, except for one peculiar instance:

text3D["Hello",5] 

enter image description here

text3D["I",5] 

enter image description here

text3D["I am",5] 

enter image description here

Something is unusual about printing just the letter "I" and I can't place my finger on it. Adding spaces around the I (" I ") does not have an effect, but printing ".I." does (although I would like to have the letter I by itself).

There are two questions:

  1. What is the root problem here and how can it be solved?
  2. What are some other strategies for creating 3D text in an efficient manner?
bobthechemist
  • 19.8k
  • 4
  • 57
  • 150