Online Tool Turns STLs Into 3D ASCII Art

3D ASCII art

If you look hard enough, most of the projects we feature on these pages have some practical value. They may seem frivolous, but there’s usually something that compelled the hacker to commit time and effort to its doing. That doesn’t mean we don’t get our share of just-for-funsies projects, of course, which certainly describes this online 3D ASCII art generator.

But wait — maybe that’s not quite right. After all, [Andrew Sink] put a lot of time into the code for this, and for its predecessor, his automatic 3D low-poly generator. That project led to the current work, which like before takes an STL model as input, this time turning it into an ASCII art render. The character set used for shading the model is customizable; with the default set, the shading is surprisingly good, though. You can also swap to a black-on-white theme if you like, navigate around the model with the mouse, and even export the ASCII art as either a PNG or as a raw text file, no doubt suitable to send to your tractor-feed printer.

[Andrew]’s code, which is all up on GitHub, makes liberal use of the three.js library, so maybe stretching his 3D JavaScript skills is really the hidden practical aspect of this one. Not that it needs one — we think it’s cool just for the gee-whiz factor.

[via Twitter]

8 thoughts on “Online Tool Turns STLs Into 3D ASCII Art

    1. We did this some 15 years ago on our linux computers with mplayer; with the ascii art in color it looked quite decent especially if you took a couple steps away from the screen. But i like this application, the fun part is in the rotate option.

  1. ASCII is cool, but PETSCII is cool too.
    Here an experiment I did a few years ago. A simple animation made in blender (rotating suzanne), converted the video into separate images, which were converted into a compressed sequence of PETSCII images, with a simple VB program. Nothing special really, just slice up the image in tiles of 8×8 pixels and search the charset for the character that matches each tile best. Very crude, not the best algorithm but from a distance more than good enough, it was a fun experiment.

    1. Very cool. This uses the same approach as in searching for the best match for each part, not just picking the closest shade from a ramp. The ramp helps to shortlist a huge selection down to a few possibilities which is much more efficient than comparing every shape with every part. Nice to see others do this too.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.