Archive for LEARN!

Cathal Garvey’s Mousetrap Design Challenge

mousetrap

Cathal Garvey, the man who brought you the makerbottable dremelfuge and micro-lathe needs a mousetrap and he’s willing to pay $25 for someone to design it.

I have a problem. There lives in my house a tiny mouse, and as I am friend to all animals I wish him no harm.

The live mousetrap I tried didn’t work: crafty mouse escaped it repeatedly. I also invented a few wacky methods involving pitfalls, narrow bottles full of bloating foods and even tried to suck him out onto a vacuum cleaner head covered with cheesecloth. No avail!

I am offering a bounty for something:
$25 to the first design that catches the mouse. It must:
- Not harm the mouse
- Be printable on a Makerbot
- Work

Mouse get!

Whichever design Cathal chooses, we’re going to sweeten the deal and send them a MakerBot t-shirt if they will upload the design to Thingiverse under an open license.

Can you build a better (MakerBottable) mousetrap?

Leave a Comment

Skeinforge Week: Clip

Like yesterday’s post, this one is from the BitsFromBytes Skeinforge Wiki.

Here’s an option I ignored because I didn’t know what it was for, but which could have saved me a TON of frustration if I’d known about it.  Clip is one of those little nudge-items that can make the difference between a trouble-free build and a trouble-fought build.  When the print head makes a loop on the build surface, Skeinforge can tell the head to stop short of completing the loop– this matters because if the head makes the complete loop, plastic will get extruded onto the same point twice, resulting in a blob, which can cool into something for the head to pick across in later traversals or mar the surface.

The Clip option is phrased: Clip Over Extrusion Width (ratio).  A value of 0.5 is a jump of half the extrusion width, 2 is twice that, and so on.  The default value is 0.15, but given my experiences with blobs at this setting, 0.5 or more is probably a better choice.

Comments (1)

For Foodies Out There

shotglassThink about how many objects you own which are directly related to storing, preparing, or eating food. It’s got to be at least 10%, right? Maybe more? Clearly, food tools are important things to get out into the Thingiverse. But there you run into the old problem of human compatibility — just because you can eat food out of it, doesn’t mean it’s a good idea. So how can we makers be sure that the materials we are using in our things are food safe? Unfortunately, like so many diy-related things, the answer is: It’s complicated.

» Continue reading “For Foodies Out There”

Comments (11)

Stuff Dreams Are Made Of: ABS

abs_roll_shot

Materials are a seriously important component of any design — after all, things have to be made of stuff. So, in our new SDAMO (Stuff Dreams Are Made Of) series, we’ll be exploring the different materials that make up your world — and could make up your stuff. Think of it as MTV Celebrity Cribs, for materials.

This week, I thought we could take a moment to get to know every Makerbot’s favorite plastic, that resin with a 6-pack: ABS!

» Continue reading “Stuff Dreams Are Made Of: ABS”

Comments (4)

More on Parametrics

Parametric 3D Printing!

Some nitty-gritty on parametric 3D printing.  The print head’s movements are intrinsically a parametric equation, since it moves in x, y and z as three functions of the time, t.  For this reason, any printable shape at all could be described by a sufficiently complex parametric equation.  A lot of shapes are easier described by the descrete assembly of lines generated by analyzing mesh data, which is why we have Skeinforge, but this post is about how to actually make 3D prints of parametric objects, so let’s get started!

You can download the GCode-spitting scripts I’m using to see this all in action.  I’ve tried to comment these scripts pretty generously, but if I’ve left anything out, leave a note in comments and I’ll see if it can be made clearer.

First, there’s the setup GCodes and MCodes, a lot like what you’ve seen at the beginning of other GCodes.  No raft this time, but if you want one you can always build your own; they’re pretty easy to bodge together with for loops.  Next, the loop structure of these parametric prints matches the behavior of a typical 3D print: describe the geometry of one layer on the innermost loop, and then have an outer one which increments the position of the z-stage by one layer thickness.

This structure is about the only thing that’s locked in for parametric printing.  (You can probably even break that rule, but you’d better know what you’re doing if you do!)  From here on you can do pretty much anything, although remember there’s no skeinforge settings here to rescue you if there’s overhang.  When parametric prints go bad, they can go really bad.  However, once you’ve written out to GCode, the viewers that come with Skeinforge can be used on them.  (Skeinview is a great sanity check here!)

On to what I’ve done so far: most of my 3D parametrics so far have been straightforward combinations of trigonometric functions.  One nice thing about trig functions (at least, sine and cosine) is that they will never return values outside the range [-1, 1], making it easy to predict and control the size of a 3D print, if not its exact shape.

In para_02.py you’ll see the trig functions being used for one of their simplest parametric applications: describing a circle.  On each layer, X is set to the cosine of the input and Y is set to the sine.  The print head moves in 62 steps of a tenth of a radian each, drawing a circle, and then moves up to the next layer.

The 2D profile laid down on each step can be a function of the current height, so there’s no need for parametric prints to be simple profile prisms.  I’ve experimented with scalling the profile by Z (multipy xval and yval by some function of zval) and rotating the profile, which is done by the following formula which you may or may not remember from Geometry class:

x’ = x cos T – y sin T

y’ = x sin T + y cos T

Note in my example I’ve pulled x’ and y’ off to the side so that calculating x’ doesn’t mess up the value of x when calculating y’.  In para_03.py I made it a function GCode objects can perform on themselves.  The range of spiral shapes and wobbly surfaces that can be concocted from just these base parameters is pretty broad, but there’s a lot of room to explore.  Here’s some things I haven’t done yet, but which someone should:

* Threaded rods and worm gears are screw-spun extrusions, which should be a natural fit for this technique.

* Any profile at all can be used as a base, up to and including pre-computed profiles and solid shapes peeled from Skeinforge output.

* Parametric equations for step functions would be if statements.  A big list of things could be done this way.

* Shapes represented in polar coordinates could be generated using the inner loop as an iteration on those instead.  Z would probably have to stay Cartesian though.

* Recursion and relative coordinates for fractal boundaries.

* Hijack some of Skeinforge’s functionality, calling functions like infill from within the GCode-generating script to extend the capability of parametric modeling dramatically.

* Integrate a formula box with a code-generating script and a 3D GCode viewer to create a parametric modeling suite.  (Hey, I can dream, right?)

Comments (3)

Gears!

zippergears

Gears are already proving themselves as one of the irresistible products of personal digital fabrication.  With a 3D printer, gears are possible in a number of configurations that no laser cutter, and for that matter, no subtractive CNC router can match.

Take these herringbone gears I bodged up in Blender.  Took me maybe five minutes start to finish*, and you’d never cut these out on a laser cutter, and your CNC router wouldn’t be able to do it either.  Gears with oddball form factors are easy on a 3D printer, and on thermoplastic extruder type printers, they can be put right into working mechanical machinery.

But ah, what good are these gears besides showing off how cool it looks to have high-custom machined gears?  As it turns out, more than you might think!

Wikipedia’s excellent article on gears reveals a whole set of potent features available with helical, beveled, and worm gears.  Helical gears are quieter than ordinary spur gears, can operate at higher speeds, and like beveled gears, can be used with non-parallel shafts to move the axis of rotation.  Helical gears do generate some forces in the direction of the axis of rotation, but this can be solved with thrust collars or herringbone gears.

Worm gears, another hard-without-a-3D-printer item, are excellent for providing super-high gear ratios for gearmotors driving heavy loads.  Crown gears and racks are also every bit as straightforward as with a laser cutter, and bevel gears are as easy as with a CNC router.  3D printers like the MakerBot and RepRap are machines that may make pretty large gears with comparison to the teeny-tiny teeth in your hobby servos, but they can make just about every flavor of gear you can imagine.

With gears like these, the hobby sector of the personal fabrication market just got a great big bonus.

*There’ll be an upcoming quicktip on the herringbone gear, but the “cheat code” for it is gear generator, helical angle=45, mesh modifier: mirror on z, drag the gear down a bit, set option “do clipping”, delete faces which touch the merge point, drag gear up to touch, fill in the middle by extruding the inner edge down, object mode, apply modifier.

Leave a Comment

Blender Quicktip: Extrude “In Place”

Note: I’m collecting Blender Tutorials and Links back at my home page.

I’m sort of plotting out how to do my next big Blender Tutorial, wherein I’ll cover the delightfully painful topic of boolean operations, but in the meantime, I’m thinking throwing out a one-command trick every now and then would not only get certain concepts into the blog, but to lend a bit of inspiration by showing off things that are possible.

So starting with Blender’s default cube, I’ve selected a face:

If you’ve read my main page of Blender Tutorials, you know that hitting the e key will cause a new square face to appear, linked to the cube as though the points had been squeezed out of the cube rather like, well, the plastic extruder on a MakerBot:

If you hit the esc key while the extruded face is still floating out there, the points will jump back to their original positions, but it’s important to note: your new points have not disappeared!

You’ll notice if you look carefully at these selected vertices that the gold lines which would normally fade back to black as they approached the vertices on the other side of the cube are all black.  This is because the actual lines that connect these vertices to the ones on which they are now sitting directly on top are infinitely short, and thus invisible.

This could be an annoyance if you meant to cancel the extrude process– this is certainly what you do if you want to cancel a move.  But with extrude operations, the developers see that you might just want the extrude operation to leave the vertices right where they are, so that you can then do things other than simply moving the points out some distance towards or away from the face.  Like hitting the s key and scaling these vertices down:

Now all five of the faces we have on this side of the cube are visible, but they’re also co-planar so they may as well not exist for printing purposes.  However, we have now subdivided the mesh, and only on this face.  One benefit to this is that we can now extrude substructures that rise up from this face at right angles:

All of the shapes in the first picture were created by only using this “extrude in place” technique on different primitives.  Little bits of topological slight-of-hand like this are both why Blender can be so frustrating, and why it is so powerful.  Because it is mesh-aware, one is a lot less likely to have mesh operations fail for reasons that can’t be found out by squinting at the mesh long enough, but on the other hand, you end up squinting at meshes a LOT.

Last note: the dodecahedron in the top image has had one of its faces rotated in place before extruding.  This was carried out by hitting the r key after hitting the e key with that face selected.  The extrude operation locks the reference frame locally, so the rotate operation rotated the faces in the plane of their normal.  Once that was done, the instructions for creating that pentagonal protuberance were identical to the ones for the others.

Leave a Comment

The Masked Retriever Blender Tips and Tricks

Masked Retriever wrote this tutorial in to the Thingiverse list. Here it is in all it’s glory! Thanks Masked Retriever!

I thought I’d put together a few things I’ve noticed about the way I use Blender for solid modeling, focusing on the shortcut keys and modeling concepts that matter, and ignoring the many awesome but totally unrelated to solid modeling functions that lots of tutorials spend a lot of time on. We’ll start at the beginning, but assume you already know 3D concepts. (If you don’t, or are rusty, http://www.gorillacg.com/ has some truly excellent videos which will give you what you need.)

(If I’m making other assumptions that leave you missing something, please post a reply in the comments and I’ll see about updating the text.)

Note: I’m assuming you’re using your mouse right-handed– Blender has a lot of hotkeys assigned to the left hand section of the keyboard, because the developers assume this as well.

Meet Blender

When you boot Blender, you get a default cube in a default empty world. Because you start viewing it in an isometric view straight on, it looks like a square. You’ll also see the outline of a pyramid in the lower right (Blender’s representation of a camera) and a dotted line circle on the middle-upper right (Blender’s representation of a light source.) Neither of these objects are likely ever matter at all for designing printable objects.

If you want to make pretty pictures of objects, with textures, nice shading and metallic effects, the camera and the light objects are two of the most important things in the scene. I can imagine one or two circumstances where you might shine a virtual light on a model to get an idea of certain things about its appearance, but for structural components, the default “solid view” will be plenty good enough.

Looking

One of the most immediate of the many, many things that frustrate new users of Blender is looking around in the scene. One reason I’ve seen is that they’re expecting to look around the way they do in the real world, or alternatively, in first-person shooters. This is NOT what happens when you rotate the view, by pressing down the alt key and left-dragging.

The sense that you are swooping around the cube seems intuitive enough at first. Move the mouse left and right and you swoop left and right. Up and down, same deal. Sensible. Making sure you have the number lock turned on, hit the 1, 3, and 7 keys. Your view will shift to looking directly down the y axis, x axis, and z axis, respectively.

Now, in all of these exercises, the pivot point around which the world rotates has stayed fixed, but can be changed. It’s very useful to be able to do this, for example if you have say a figurine and want to focus on the head, but one thing that makes it easy to get very lost is this: Blender gives no visual cue whatsoever where this pivot point is.

The pivot point is changed whenever one slides or “pans” the view. (There are probably other times it changes but I haven’t used them.)
The pan commands are:
pan right: ctrl-4
pan left: ctrl-6
pan up: ctrl-8
pan down: ctrl-2

Important note: these are number-pad keys. Using the arrows or the home-row numbers will not work and in fact does other things entirely, many of which are confusing trips into the very deep and strange universe of functions that have been shoehorned into Blender over the ages. How deep? Let’s just say, I’ve used Blender to edit YouTube videos that didn’t have any CG in them.

Also: these commands will not work if you don’t have the mouse in the 3D window. This is because (get this) Blender treats the command panel (”Buttons Window” to use Blender’s language) underneath the 3D view as Just Another View, and many 3D navigation commands have 2D analogues in the Buttons Window.

The plus and minus keys on the number pad zoom. If you have the mouse in the Button Window, the Button Window zooms instead. This can be
amusing or annoying depending on mood.

If you’re ever lost, hit 7, press and hold the minus key until you see something familiar, then ctrl-2,4,6, and 8 until it’s in the middle of the view, then hit 1 and repeat the process, and the plus key ’till you’re home again. (This happens to me all the time.)

(Yes, lots of arbitrary stuff. Commit it to muscle memory, and you’ll eventually forget you know these things, and you’ll wonder why so many people seem to hate Blender for no apparent reason.)

Actually Doing Things: Mess With The Cube

Bizarre arbitrary convention: *right clicking* is the select command.

Right-click the cube to select it, and get ready to actually alter a model. (Blender calls them meshes, as do many 3D nerds out there.)

You’ll see a little selection box that currently says “Object Mode”. Click it. You’ll see six or so options. Probably you only want Edit Mode and Object mode. You may later use Sculpt Mode, and I can think of a few instances where someone would even want “weight paint” and “pose” modes, but for now, Edit Mode and Object Mode:

Object Mode: Blender organizes a file into Objects, which may or may not be Meshes. The only reason you’ll ever actually *use* Object Mode is if you have multiple meshes in a file, as with, say, a gearbox.

Edit Mode: Changing into Edit Mode lets you alter the coordinates of the corners (called vertices) of the mesh, and lines between them (edges) as well as the surfaces (faces).

Left click the Object Mode box and switch it over to Edit Mode. The render style will change to a sort of funky semi-transparent view which is useful for selecting things that are behind things. You can now right click to select *individual vertices* of the mesh instead of the whole thing.

The little 3-axis icon (depending on your view it may look like two or three arrows of different colors) will hop to whichever vertex you select.

Shift-right-clicking will let you select multiple vertices. Notice if you select two or more vertices, the axis icon will move to the geometric center of the selected vertices.

Left-click-and-dragging the arrows on the 3-axis icon will let you move your selected vertices. If at any time during this operation you realize that moving your selected vertices was a horrible mistake, you can hit escape to cancel the drag operation.

You can also move a vertex or group of vertices in the plane of the view by hitting the g key.

Hitting the s key will scale your selection. Important: the scale is relative to the location of the 3-axis icon. Since the 3-axis icon is always at the center of your selection, scaling a single vertex will do nothing, scaling vertices all on the same line will move them along that line, and scaling vertices all in the same plane will move them exclusively inside that plane.

The kickstart tutorial is just meant to get you past some of the worst of the early hangups people run into upon starting Blender. The further Survival Guides will be actual modeling exercises, and at some point should involve graphics. For a much more complete guide, try the Blender: Noob to Pro wikibook: http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro

Ignore the chapters on textures, lighting, and animation and this should provide a pretty solid foundation to work from. Of course,
it’s a little thin on topics like keeping meshes solid, but, well, that’s what the later tutorials in this series are for…

Leave a Comment