Thing 008: Miniature Queen Anne Wingback Chair

February 25th, 2012

Miniature Queen Anne Wingback Chair, on Thingiverse from PrettySmallThings, a “scenic designer in the theatre industry” in Astoria, NY. Printed in 33 minutes.

This may be the perfect object. It’s 1 1/2″ tall, and is the spitting image of my long-lost beloved reading chair, what I done rescued from a sidewalk in Boston twelve years ago. Pale blue velveteen she was, and a reproduction from Medford. But I loveded her.

Thing 007: Adorable Elephant

February 10th, 2012

an adorable stylized elephant.

My evil nemesis dared me to attempt to print this adorable elephant he’s selling in full-color sandstone over on Shapeways. It printed out the size of my thumb in 18 minutes, in a single translucent layer.

He snatched it from the build platform while it was still warm and ran off into the night cooing at it before I had the chance to trim the fuzz from its adorable trunk.

*Snatched* it.

Thing 006: MakerBot Astronaut

February 6th, 2012

a white plastic astronaut figure

This MakerBot Astronaut passes the play test: when you pick it up, you want to make it walk around on the nearest head, claiming said head for Earth in a comical astronaut voice.

My longest and most complex build yet. At the default size it’s four inches tall, and prints in five pieces, in the following times:

  • head: 11 minutes
  • helmet: 21 minutes
  • arms: 24 minutes
  • legs: 25 minutes
  • body: 44 minutes

Total: right around two hours. Then, giddy with the power of blue painter’s tape, I printed another, all on one raft.

To my surprise, this took slightly longer: 2 hours 10 minutes, I believe because of the overhead in moving between pieces on the same layer, and because the support settings are all or nothing: I needed support for the helmet, but I got it for every piece on the raft, spending unnecessary time and plastic.

So the moral is: if you’re doing a lot of pieces, or a multi-piece object, slice the objects separately and combine the G-code in a text editor if you can; it’s faster. And there’s another benefit to splitting the builds: if something goes wrong, you don’t have to re-build the whole thing.

Thing 005: Shower Curtain Hook

February 3rd, 2012

plastic hook next to an original metal hook

A replacement shower curtain hook.

Total time elapsed from opening SketchUp to holding the printed object in my hand: 15 minutes.

Thing 004: Stellated Octahedron

February 1st, 2012

The stellated octahedron (octangula stellata) is a shy and noble beast, named by Kepler, kept by Escher, and very difficult to trap intact. My previous attempts had, until today, all ended in gruesome failure:

It was not until the addition of blue painter’s tape to the mechanism that I was able to witness the creature’s complete apparition. The tape’s increased surface area allowed the spritely form to adhere more fervently to the MakerBot’s reification plane, preventing the unavoidable throes of creation from dislodging its grip on our reality prematurely.

All MakerBots should ship with blue painter’s tape.

Thing 003: Fan Attachment

January 30th, 2012

Update: This is now Thing #16842 on Thingiverse!

The MakerBot works by melting plastic. Two kinds are most commonly used: one is made from corn, and reportedly smells like waffles when heated. The other is called ABS and smells like a styrofoam cup on fire. This is of course what I’m using.

In the concentrated atmosphere of my windowless subterranean lab, the smell (of the plastic) rapidly causes me headaches. So I found an old computer fan, got a length of flexible 3-inch hose, and designed a fitting in SketchUp so I could vent the smell away to the surface.

This fitting is nearly the width of the MakerBot’s build platform, and when I ran a test build, the outline of the foundation layer (known as the “raft”) was too large for the surface, and the nozzle kept hitting the platform’s outer limits. Adjusting the settings, generating new build code (known as “G-code”) and setting off another build was costing a lot of time and plastic.

That’s when I went looking for a G-code visualizer, and found ProcessingGcodeViewer, a standalone Processing app written by a MakerBot intern. It lets me check the path computed by the model slicer before I send it to the MakerBot for building.

Useful, free, *and* it looks like an Iron Man interface. And with the hose attached and the sides of the MakerBot closed up, the odor is nearly eliminated, and the mad-scientist aura of the lab is increased significantly.

Thing 002: Portal Cake

January 28th, 2012

The 19th was my birthday! As befitting my station I commanded my MakerBot to make me the cake from Portal.

It imported into ReplicatorG at 1cm across, which it printed in under a minute. You can see just a hint of cherries, but the resolution was too small for more than a tiny stump of candle. It left the doily off entirely.

I doubled the scale to 2cm, which including a raft took about 10 minutes.

I redoubled it to 4cm across, which took about 40 minutes and almost failed: a draft caused the left side to curl up, threatening to detach the raft from the build platform, leading to certain doom. Heedless of my own safety and mocking Death itself I leapt into the maw of the MakerBot and secured the cake to the build platform with a piece of tape. It finished, complete with candle, and my birthday was saved.

By my very rough estimate it’s about a 50-layer cake. Take that, southern grandmas I read about in the Times.

Thing 001: Calibration Cube

January 26th, 2012

My first print! It’s not really a cube. It’s the 20mm calibration box, but from above it looks like a cube, and the alliteration is nigh-impossible to resist.

The hexagonal infill pattern makes it look like a pat of butter fabbed by MakerBees.

Tradition dictates that one inaugurate one’s MakerBot with a commemorative saying upon the initiation of its first print. While the suggested phrase — “Fire the MakerBot!” — has many attractive qualities, when the time came I was feeling nostalgically geeky, and for those reasons chose “Make it so” with a Patrick Stewart/Sean Connery conflection* and a concomitant “Engage” gesture to make sure it knew I was serious.

It worked pretty well. My cube came out very slightly squashed on the bottom, which I understand means either the build platform was too warm or my gesture was too fast.

* 1. A conflation of inflections 2. The dialect of a pastry

MakerBot construction timelapse

January 19th, 2012

I built a MakerBot Thing-O-Matic over a recent four-day weekend, and took a timelapse movie of the process with my Canon point-and-shoot using the Canon Hack Development Kit. The 26 minutes of video in the playlist below run at a speed of an hour a minute.

I’ll start posting the results of my builds soon.

Check for Existence of a Variable in MEL

June 16th, 2011

Error-catching in MEL with the catch command won’t catch a “variable does not exist” error, so use whatIs instead:

if (`whatIs "$test"` == "Unknown") {
print "yes";
} else {
print "no";
}

There ya go.

Thursday

May 13th, 2011

Thursday is Matthias Hoegg‘s graduation film from the Royal College of Art in London.

Importing Expressions in Maya

April 24th, 2011

Writing expressions in Maya is a huge pain. The error messages are vague, there’s no stack trace, and the editor is a text entry field with no line numbers, syntax highlighting, or line wraps. And Maya forbid you try to write a script with a dynamically-generated expression in it — then everything has to be a giant encoded string. And when you try to run it, it squirts venom at you from its eyeballs.

However, it’s possible to write and edit your expression in the text editor of your choice, save it to a file, and import that file into your script at runtime. This is much, much nicer, and comes with less venom.

There’s a way using fread to put the entire contents of a file into a string at once, but I had trouble with it — this way, reading a line at a time, seems to work better. [Based on this tutorial from Jay Grenier's Script Swell.]

Code follows:
Continued »

Voxatron

January 5th, 2011

Combining two of my great loves – Robotron and cubes – this looks like what I thought all games would look like by now, when I was 12. Coming from Lexaloffle in August 2011. I can’t wait.

selectTrigger v01

December 23rd, 2010

Here’s a Maya script I wrote to trigger the selection of one object with the selection of another, inspired by Hamish McKenzie‘s Trigger UI, as seen in Andrew Silke‘s venerable Generi rig.

The script makes a scriptNode, which creates and tracks a scriptJob. The scriptJob checks selected objects each time something is selected, and if the control object is first in the selection list, the target objects will be selected as well. Since scriptJobs only last until the scene is closed, the scriptNode also re-creates the scriptJob when the scene is reopened.

I’d like to draw your particular attention to line 34, wherein I escape a backslash six times.

Download script here: selectTrigger_v01.mel

Code follows:
Continued »

Ramp rig

December 7th, 2010

Occasionally in my Maya rigging work I want to use and animate a ramp (or many ramps) as part of a node network, but going through the ramp-editing interface is tedious, and the graph editor doesn’t give me the visual feedback I’d like. So I wrote a script that creates a simple interface for manipulating a monochrome ramp in the viewport.

Note that real-time feedback is only available in the viewport’s “High Quality” mode.

Download the file here: rampRig01.py

Continued »