Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

OpenSCAD 3D Text Generator

by pgreenland, published

OpenSCAD 3D Text Generator by pgreenland Mar 10, 2013
1 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


Liked By

View All

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


Thing Statistics

24599Views 7254Downloads Found in Signs & Logos


Basic text renderer implemented as an OpenSCAD module, allowing the generation of text from a string directly in OpenSCAD.

Currently uses a HD44780 LCD controller dot matrix font.

Two versions exist, TextGenerator.scad covers all OpenSCAD versions before 2015.03. Version 2015.03 deprecated the assign module, allowing for more convenient C like assignments. Therefore I've created a new version removing the deprecated module warning generated by this version.


  1. Import module
  2. call drawtext("string")

More from Signs & Logos

view more

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Treatstock is an online platform that offers decentralized manufacturing services such as 3D printing and CNC machining for clients all over the world. We offer free and instant access to comparati...

App Info Launch App

3D print your favourite design with NinjaPrototype, a professional 3D manufacture with consistent quality and speed.

App Info Launch App

thank you, it really saved me a lot of time.

I used this to make an A and B for a controller buttons. Worked awesome, thank you :)

Great work!

Would it be possible to add a 'center' parameter?

Excellent, thank you!

For those of you who did not take any computer science classes in college, and can't for the life of you figure out why your text won't print:

If you try to print this and your printer interface tells you that the text isn't manifold, it's simply because the cubes don't overlap enough. if you go to the bottom of the program

    //Output cube
    translate([icol + (6*itext), irow, 0])

and increase the the x and y dimensions of the cube a little bit (I increased them to 1.05, and that was probably more than a little bit overkill) it should solve the problem.

If you're one of those people who bought their printer pre-made, and have managed to figure out that your text won't print because it's not manifold only through hours of trying to decipher the cryptic nonsensical error message, and dread the prospect of venturing into this program to find and change 6 characters, I've posted a "fixed" version that you can find in the remixes.

I get a lot of

WARNING: Ignoring unknown function 'search'.

and no text is generated

Very useful! Thanks! I was really needing a label maker routine.

I added

        // create backplane  
            cube(size = [(len(text)*6) + 3,11,.5]);

at the beginning of the drawtext module to provide a thin backplane.

I was thinking about a backplane, will add it into the main routine :-) Thanks!

Great use of customizer, add Helvetica!