Sunday, September 20, 2009


reprap/makerbot gcode visualzation from skeinforge

hi all,

i thought i'd post some preliminary screenshots and videos of a visualization tool that i started writing yesterday. the tool is for visualizing the toolpath of the reprap/makerbot extruder, and it's inspired by the visualization tool that Zaggy hinted he was creating in his Thingiverse post for the printed extruder ( ). my tool is also in a very early stage, so the visualization is still very simple, but it's still kind of pretty to look at. it's written in 'processing', a language i just learned yesterday, which is java-based and multiplatform. i think replicator-g is also java-based, so there may be the potential to incorporate some more interesting visualization tools (such as this) directly into replicator-g somewhere down the line, if that's something folks are interested in. it also might be useful in the near-term for demonstrations, if you're giving a presentation for a reprap/makerbot and would like some video or pretty pictures of the toolpath of the object that it's creating.

thanks for reading :)

Labels: , ,

I heart Processing. Looks good. Should help evangelising the project.
nice. feel like sharing the code?
Looks really great! Where can I buy tshirts with these pictures? ;)
thanks! the code is extremely simple right now, but its just a first sketch. if you're interested, i've put it at:

and also exported some windows/mac/linux binaries, incase anyone doesn't have processing installed.
Thanks for posting your code. Most people say things like "I need to clean it up first" then never post anything.

It is a lot shorter than I would have thought it would be. I like they way you assigned color and have it spinning. Visually interesting, plus you can see all sides.

Very impressive. And I'll take a tshirt too!
I added a line after the rotations to scale it so I could see it all at once.

scale( max_z/200, max_z/200, max_z/200);

Add the file chooser so I could see some other files other than what you had hardcoded in.

inputfile = loadStrings(selectInput());

Lots of good fun!
ps. Where's the rocket's nose cone?
that's great, i'm glad you could get it running! :)

and i was wondering if there was a file chooser! that's much handier.

i had planned on adding a mouse-look rotation and some other scaling/speed controls before releasing the code, but decided it would be best to just clean up the code a tiny bit then post it, so that others could tinker if they wanted.

if you're interested i could always 'open source' it and we could start a thread on a forum somewhere and anyone who's interested could work on improving it?

p.s. try increasing max_points to find the nosecone, would be my best guess :).
Peter. Would you start a thread on the reprap forum so we can continue this conversation without hijacking this blog?

I think it deserves some futher development.
I man, good code! I have added this routine for a dinamic zoom, z key zoom +2 and x key zoom -2

void keyPressed() {
if (key == 'Z' || key == 'z') { // Press Z zoom + 2
s = s + 2;
if (key == 'X' || key == 'x') { // Press X zoom - 2
s = s - 2;

great minds....I added the same but used the plus/minus with times 2!
that's fantastic! :)

workthread created:,27884
It's "Zaggo" :)

I'm currently working on transferring my visualization code into a QuickView plugin (my code is in Objective-C for SnowLeopard anyway).
I'm guessing you kon't know that replicatorG is based on the "Arduino development environment", which is itself based on processing. So, given that you wrote it in "processing", it should be really easy to migrate it to replicatorG, as they share a common code base in "processing" already.
Post a Comment

Links to this post:

Create a Link

<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to
Posts [Atom]