by stuartpb, published
Use This Project
Give a Shout Out
If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.Print Thing Tag
An OpenSCAD module for writing variable-width text. Download Spiff.scad and spiffsans.scad, then see the Instructions for how to use this in your own works (or use poorman-spiff to generate a copy-pasteable demo).
Spiff.scad requires at least OpenSCAD 2013.06, as it uses module recursion to calculate variable glyph widths.
If you're stuck on an older version of OpenSCAD, you can still generate the equivalent code for writing text using poorman-spiff.
Due to OpenSCAD's recursion limit, you may encounter problems writing longer strings. If this happens, try breaking your write call up into multiple calls with shorter strings.
Note that, while this is listed as a derivative of Write.scad, it is not derivative code, and is almost completely incompatible (they're almost compatible in the sense that they both write text, but that's it).
Draws a group of 2D polygons for the given string, using the given font (see section on Fonts, below). Glyphs are spaced apart by the value of the third "spacing" parameter (1 unit by default). By default, if no font is specified, Spiff Sans will be used. (spiffsans.scad should be included in the same directory as Spiff.scad.)
These 2D polygons can be transformed in 3D space using the regular OpenSCAD transformations in combination with linear_extrude.
use <Spiff.scad>; write("Variable width text"); translate([0,-12,0]) linear_extrude(height=4) write("Simple as anystring");
See spiff-examples for more examples of Spiff.scad in use.
See the readme on GitHub for documentation of the font structure used by Spiff.scad.
Converters for various font formats to this font representation are being developed at https://github.com/stuartpb/spaggers .
Spiff.scad by stuartpb is licensed under the Creative Commons - Public Domain Dedication license.
What does this mean?
- Remixing or Changing this Thing is allowed.
- Commercial use is allowed.
Show Some Love
Say thanks by giving stuartpb a tip and help them continue to share amazing Things with the Thingiverse community.Tip Designer
We're sure stuartpb would love to see what you've printed. Please document your print and share a Make with the community.
To post a Make simply visit this Thing again and click I Made One to start uploading your photo. It’s even easier to post a Make via the Thingiverse Mobile app (available via Google Play and Apple App Store).