Seej bloxen, Ransom

December 27, 2012

I put this model on Thingiverse a couple of days ago but forgot to put it up on the blog. This is a hollow bloxen for Seej with an articulating door. Players place small wager items inside their own ransom bloxen. Winner takes all.


Some of the Ransom Bloxen’s design DNA comes from this dice plinth, in particular the flagstones on the base.


I’ve carved out geometry for an articulating door hinge, but the Replicator’s resolution is too low for it to print; we’re in the sub-millimeter range here. Note that the tiny (and skeuomorphic) rivets print just fine though.


Raftless Printing with PLA

August 8, 2012

I’m no expert at 3D printing, but through a lot of trial and error I’ve discovered a few nuggets of information that I wish I’d known a few months ago.

A few weeks ago I said I was chasing a raftless print. I’ve finally got it, at least with PLA and ABS, printing Seej bloxen.

This comparison isn’t entirely fair, since the bloxen are sourced from different models, but the difference between a hot, rafted print on the left and a cool, raftless print on the right should be pretty clear. Both of these are printed from the same roll of 1.75mm PLA.

Here’s what I’ve learned.

PLA likes a cool build platform, somewhere around 45° C: My MakerBot Replicator ships with a heated build platform, and ABS plastic seems to stick nicely around 115°.

When I first started printing with PLA I just assumed it was more or less like ABS. When prints started shifting off the platform I kept cranking up the temperature on the HBP, eventually resorting to elaborate raft structures with painters’ tape.

It never occurred to me that lowering the HBP platform temperature was the solution.

Changing the build temperature in gCode is easy: just find a line that looks like:

M109 S100 T0 (set HBP temperature)

And change S100 to S45. This assumes that you’re using ReplicatorG to generate your gCode.

There’s one other change that seems to be helping: print a nice, gooey first layer of PLA, and then back off the printing temperature to maintain the model’s integrity through the rest of the print. The gCode for this isn’t much more complicated, but you have to get it in the right place. First, set the extruder temperature at the beginning of the print, close to the top of the gCode:

M104 S240 T0 (set extruder temperature)

Change 240 (or whatever it is in your gCode) to 210.

The last step is to find the point in the gCode where the first layer stops and the second layer begins, and back off the temperature a bit.

In the other two instances there are existing M codes that tell the machine to wait for the extruder or bed to reach the specified temperature before proceeding. You’ll have to put those codes in yourself for this line.

Find the first example of:

M73 P1 (display progress)

and add these lines after the next <layer> tag:

(*custom gCode here*)
M104 S190 T1 (set extruder temperature)
M6 T1 (wait for toolhead, and HBP to reach temperature)
(*end custom gCode*)

That should drop the extruder temperature down to 190° and then resume printing. The delay can be a little unexpected the first time your Replicator just seems to stop printing abruptly, but then your forebrain will kick in and you’ll realize it’s just doing what you told it to do.

The usual warnings about bricking your Replicator or burning down your apartment building apply. Use this code at your own risk, and you should probably own couple of fire extinguishers anyways.

The Virtuous Cycle of Fail

August 2, 2012

This is a failure of an Seej Tournament Bloxen print. Seej is an open source tabletop wargame based around 3D printing.

After a minor success with custom gCode yesterday I started experimenting with altering printing temperatures on the fly.

I tried cooling off the raft a bit and lowering the extrusion temperature; the raft worked great, but the rest of the print didn’t want to stick to the raft anymore.

PLA can be a little fussy, and tends to lose its shape if it’s printed too hot. The next thing I’ll try is feathering off the extrusion temperature layer by layer; hot and sticky at the raft layer, and then successively cooler until I get to a minimum print temperature.

Filament gets gummed up in the extruder at 170° C.

Experimenting leads to failure. Failure leads to knowledge. Knowledge leads to experimenting.

And here’s a Seej Ourobouros Guardian fail. Plenty of tries on this one before I got something that printed correctly.


The Perfect is the Enemy of the Good

August 1, 2012

This happens to me all the time. I start looking for information on some technical subject and I end up wading through ancient forum posts and forgotten wikis in a fruitless search for clues. A lot of this stuff seems to be written by and for people smarter than I am. It can be very frustrating.

I usually just want to do X, where X is something straightforward like “pause the print, move the Replicator’s extruder head out of the way, wait for user input, and then resume the print.”

After a few hours of of data forensics and a fair amount of trial and error I have a gCode solution for X. Keep reading.

This is the beginning of a Seej Tournament Bloxen print.

I found the need for this script when I started printing with PLA a week or so ago. I haven’t got the temperatures quite down yet, so my rafts curl up a bit at the edges and sooner or later end up taking the whole print for a joyride around the build platform.

I’m still looking for that perfect raftless print, but along the way I’ve got to actually produce some printed models. So I’ve taken to printing a raft, pausing, and then using painters’ tape to bind the raft down to the build platform.

I’m a huge fan of having a bag of popsicle sticks around any hobby project. They’re cheap, disposable, and can be quickly modified into a variety of simple tools (gaffs, hooks, spreaders, etc) with a pocketknife. They’re also great for evenly applying painters’ tape to rafts.

It’s kludgey, but it works. The only problem I’ve had so far is getting around the print heads to get the tape down on the raft, but with this new script the Replicator moves the nozzles out of the way before pausing the print.

Fair warning: this worked on my Replicator, but there are no guarantees it will work on yours. If this code crashes your extruder head, slags your controller board, or burns your house down and torches all you hold dear and dry-humps the ashes, it’s not my fault.

That said, it’s pretty vanilla gCode and I don’t expect you’ll have many problems with it, assuming your gCode is using millimeters and absolute positioning, which I think is the default output from ReplicatorG.

The first lines you’ll need to look for are:

(<raftLayerEnd> </raftLayerEnd>)
M73 P6 (display progress)

This indicates the end of your raft’s print. The next significant line you’ll see is one that begins with G1:

It should look something like G1 X-4.8 Y-4.68 Z12.6 F3300.0

This is telling your Replicator to start extruding the first layer of your model. In between these two significant lines, you’ll have to add this code:

G91 (*set to relative positioning*)
G1 X-60 (*move the print heads -60mm in X, assuming the print is using mm*)
M71 P60 (Press button to resume print)
G1 X60 (*move the print heads back 60mm in X*)
G90 (*return to absolute positioning*)
M73 P6 (display progress)

Be careful with your X move values. I don’t see anything keeping you from accidentally ramming your extruder heads into the side of your Replicator with too large a value.

I’m sure there’s a more elegant way to write this code, but I’m never one to let perfection be the enemy of the good. It’s done, it works, and I can improve upon it later.

This code also seems to disable the Pause button once the user has pressed it, which is irritating but I can’t bring myself to spend the energy tracking that particular bugaboo down. I’d also like to find a way to get the nozzle’s current position, move the heads, and then return to that position. I’ve found tantalizing hints on just how to do that, but that’s a hack for a different day.

Yes! We have no bananas.

June 21, 2012

Yes, We Have No Bananas performed by Louis Prima.

Verdict: banana bread is an adequate medium in which to start building 3D models.

I thought I’d take a crack at Autodesk’s 123D Catch software. Basically it allows you to take a bunch of photos of an object or space, upload them to the cloud, and get a 3D model in return.

It works amazingly well. Before breakfast I sculpted a new Seej bloxen out of banana bread.

I took about 20 photos without being too careful about the lighting, and uploaded them to Autodesk. Ten minutes later I had a tremendously detailed and largely unusable point cloud, and Autodesk had a bunch of photos of my kitchen.

A little pushing and pulling of vertices in Maya, and I got a usable bloxen.

Then I ate the original.

The topology of the scan isn’t really suitable for editing except with lattices and poly sculpting tools. The mesh is too dense and there aren’t any clean edge loops that a modeler can build from.

But! I can start with a loaf of banana bread and get a 3D model onto my Makerbot within an hour. That’s nothing short of revolutionary.

Ere long we’ll be sending 3d models of still-damp newborns to grandma on Facebook.

The interface to Autodesk’s web app is a little convoluted, and Autodesk hasn’t seen fit to make an OSX version yet. B+.

Seej Starter Set

June 1, 2012

I’ve cleaned up and consolidated all the basic models necessary for a pick-up game of Seej and posted them as a single .zip file.

Rules for Seej are at or at the Seej button above.

The Duergar are stoking the forge! Follow Zheng3_Jim for Seej engine teasers. Expect a new Seej engine during the week of June 4.

Bloxen: the evolution

May 13, 2012

The plural of block is bloxen.

The singular of bloxen is bloxen.

These guys are about 5x3x3cm, or a comfortable fit in a child’s hand.