Archive for January, 2012

Ostrich-Egg Bot and Processing

One of the main goals I have with using the Ostrich-Egg Bot is to generate art for it via Processing.  I’ve successfully drawn and etched a variety of random svg graphics onto a variety of surfaces.  Next step was to get that art from Processing.

Turned out to be a bit more difficult than I expected:  Processing has no native API call for exporting svg’s (that I can find).  But I finally grasped the fact that it can export pdf files via its pdf library.  And these, when imported into Inkscape, have the exact paths you need to plot.  Here’s a vid of the etcher in action based on a Processing-generated image:

And here’s the source for a simple Processing sketch that makes use of this:  The sketch draws a bunch of overlapping circles, larger on the bottom, smaller on the top, and makes sure there is no seam on the edge:

// eggbot_circles01

import processing.pdf.*;

int eggWidth = 3200;
int eggHeight = 800;
int minSize = 32;
int maxSize = 256;

void setup() {
  size(eggWidth, eggHeight);
  smooth();
  background(255);
  frame.setTitle("Eggbot: Circles01");
  noFill();
  beginRecord(PDF, "processingCircles.pdf");
}

void draw() {
  float[] pos = {
    random(width), random(minSize/2, height-maxSize/2)
  };
  float eSize = map(pos[1], minSize/2, height-maxSize/2, minSize, maxSize);
  ellipse(pos[0], pos[1], eSize, eSize);

  // Tile the circles on the x axis:
  if (pos[0] < eSize/2) {     
    ellipse(pos[0]+width, pos[1], eSize, eSize);   
  }   
  else if (pos[0] > width-eSize/2) {
    ellipse(pos[0]-width, pos[1], eSize, eSize);
  }
}

void keyPressed()
{
  if (key == 's') {
    endRecord();
    exit();
  }
}

When the sketch is going, press ‘s’ to save an image, and quit. It actually raises an exception, but the image saves… not sure what’s going on…

From there it’s a simple matter of importing the pdf into Inkscape. I discovered however that its size was bigger than what was defined in the sketch, so I had to resize it to fit the Ostrich-Egg Bot’s drawing area. Here is a close-up of the etcher in action:

And here’s a shot of the final product:

So, not the most amazing thing, but one step closer…

Ostrich Egg-Bot: Diamond Engraving Tool

This weekend I got the diamond engraving tool assembled and mounted on the Ostrich Egg-Bot.  Like the previous assemblies, it went off without a hitch.  And engraving on a glass bowl worked the first time.

Things I’ve learned about the kit as a whole up to this point:

  • The “center” of the print is where the pen is located when the print starts.  I hadn’t realized this for some time, and trying to figure out why my prints were drawing on the wrong part of the egg was confusing me:  I figured the print would start with the steppers “centered”, but that’s not the case.
  • When I first was printing, the pause option wasn’t working properly, and I was getting a stair-stepped effect in the print:  Turned out I needed to adjust a very small potentiometer on the egg-board:  Both problems went away.
  • During long prints, my screensaver would kill the print:  Downloaded the “Caffeine” app (for my Macbook Air) to help prevent this from happening.
  • Things that like to be printed on:  Glass balls, baseballs, Christmas-ornaments covered in paper grocery-bag like material.
  • Things that like to be etched on: Glass balls (that’s all I have right now…).
  • Things that don’t like to be printed on:  Tennis-balls, styrofoam balls, styrofoam balls coated in the putty you fill small holes in your wall with:  Ink takes to the styrofoam really well, but all the small divots and holes between the expanding beads cause the pen-tip to get hung-up.  Filling them in with putty just seems to clog up the pin when drawing :(
  • When I first started etching, the etcher didn’t do anything:  I had to adjust the little blue pot on top to get the motor spinning up fast enough.
  • When etching, I had to turn the “speed when pen is down” to at least 100 to be able to see the effect on the glass bowls:  I’ll try it even slower next time.

Next up will to try spray-painting the glass bowls, and see if the etcher can take it off.  In the meantime, here is my first etching:  I figured I should do something the Mrs would appreciate 😉

"Eric + Jodi", aaahh..... :-)

And here is the shot of the engraver itself:

Ostrich Egg-Bot kit assembled

Hour and a half on a Saturday afternoon saw the Ostrich Egg-Bot completed.  Was quite easy (which is good), nothing out of the ordinary happened.  The final product:

And here it is printing a “mountain scene” I drew in Inkscape on one of my wife’s candle-holder vases:

The end result isn’t that impressive, but you can blame the artist, not the tool 😛

The whole process from assembly to print went off without a hitch, which really impressed me.  Props to the folks over at Evil Mad Scientist Laboratories!  In fact, the most difficult thing for me now is to find things to print on… 😉

Ostrich Egg-Bot kit arrived

Quite a space between my last post and now.  Busy finishing my latest game, COD:MW3, learning a lot more about the Maya API (I highly recommend the new book “Maya Python for Games and Film“), and taking an awesome two week cruise through the Panama Canal.

A “shipping the game” present to myself was to pickup the “Ostrich Egg-Bot” kit from Evil Mad Scientist Laboratories (the ‘big-brother’ of the “Original Egg-Bot” kit).  Just brought it home, and unboxed:

Hope to get a more interesting blog post on it as it is assembled and working!  My current plans are to create cool lights based around LED’s and etched patterns on mason jars.  We’ll see what happens…