Archive for October 25th, 2011

MUGNY Launches OpenSCAD Study Group

MUGNY OpenSCAD Study Group

This Thursday evening at the MakerBot Workshop, the New York MakerBot User Group (MUGNY) will launch a monthly Study Group focusing on the parametric CAD application OpenSCAD. OpenSCAD is cross-platform and open-source, a phenomenally powerful tool that has been getting quite a bit of attention on Thingiverse and beyond. And if it is a wee bit under-documented, counter-intuitive, and eccentric, well….that is where a Study Group comes in!

Those of us pulling this study group together (Liz Arum, Jon Santiago, and Matt Griffin) believe strongly that a wider audience of MakerBot Operators (and Thingiverse Modelers) will embrace this tool and push it even further if many of us roll up our sleeves and do the footwork to compile and generate curriculum, tutorials, libraries, and example files that demonstrate practically how to use this application.

We will be kicking off by revisiting MakerBlock and Allan Ecker’s excellent tutorial series on the Thingiverse and MakerBot blogs, investigating in-development tools such as Marty McGuire’s OpenSCAD Polygon Output for Inkscape, experimenting and reporting on the many many OpenSCAD libraries you can grab from Thingiverse and beyond, and generally digging in deep to see what we can find.

If you are MakerBot Operator in the greater New York area and want to attend, please RSVP via Eventbrite for event location details.

Before you arrive to the first session, please take a look at MakerBlock’s OpenSCAD Basics tutorial series — and make sure to get OpenSCAD installed and ready to go before you arrive:

  1. OpenSCAD Basics: The Setup
  2. OpenSCAD Basics: 2D Forms
  3. OpenSCAD Basics: 3D forms
  4. OpenSCAD Basics:  Manipulating Forms


Start Yer Own Study Group

Members of MUGNY decided to jump into OpenSCAD for our Study Group, but there are quite a few topics and areas of research out there in the Thingiverse for other MakerBot User Groups to tackle.

If you’d like to start your own Study Group, please do so! Declare a meeting and get started with your investigations. But once you are underway, let us know what topic your group has picked and when you and your fellow MakerBot Operators and Thingiverse Modelers will be meeting for the second and later meetings so that we can share details here on the MakerBot blog to reach everyone in your area who might be available to chip in!

Some popular topics that MUGNY considered before selecting OpenSCAD:

  • “Finishing Techniques” — Your MakerBot wrapped up printing a part– now what else can you do with it? What paints, sandpapers, adhesives and solvents work best?
  • “Blender for Solid Modelers” — Blender has a reputation for being intimidating that might be shifting away with the release of 2.5 and 2.6. But still, with so many tools and modifiers and techniques — which are the best practices for using Blender for MakerBotting?
Tagged with , , , , Leave a comment

Designing for Parametrics in OpenSCAD

Part Catch Basket for Thing-O-Matic by dustinandrews

Part Catch Basket for Thing-O-Matic by dustinandrews

Designing 3D objects in OpenSCAD can be very quick and simple. 1  You can create some really amazing designs by just combining cubes and cylinders in a variety of ways.  However, making a design “parametric” isn’t always intuitive.  As an FYI, a parametric design in OpenSCAD is a design that accepts parameters.

There are a lot of OpenSCAD designs on Thingiverse where the author admits their design isn’t very “parametric.”  With a little effort and a few tips, it is possible to incorporate the power of OpenSCAD parameters into your own designs.  Since I learned some of these lessons when designing an OpenSCAD pirate ship, I’ll refer back to it for examples.

  1. Parameters first.  It is so much easier to make your designs parametric from the start.  Going back and making a design parametric can be as easy as find-and-replacing, but typically it is much more work than that.  If there’s any chance you might want to have a parametric version of your designs later – just design that way from the beginning.
  2. Prioritize.  Decide on the most important parameters first.  Most designs only have a few parameters that are really important.  For example, the two most critical features of the pirate ship were the ship’s scale, as in size, and the thickness of parts.  Once these two were known, most of the other features of the design needed to be modified to fit them.
  3. Dependents.  Try to make as many of the features of your designs dependent upon the initial parameters as possible.  The easiest way to do this is to design as much as possible in terms of the original parameters.  I like to do this by setting dependent objects as fractions of the original parameters.  In the example of the pirate ship, I made the largest sail on each of the masts equal to 1/2 the size of the masts themselves.  The other sails were even smaller fractions.  By making these features defined in relation to one another by fractions, they will always end up in the same appropriate locations with respect to one another.  Thus, the three sails on each mast should always line up together.  Throughout the design, I tended to design things in terms of 1/2, 1/4, 1/8, 1/16, 1/32, and 1/64.  These fractions are easier for me to manage than decimals.
  4. Mix it up.  While you’re designing, change some of the major parameters.  If your model suddenly goes haywire, you know you made a mistake somewhere – either by including a feature that doesn’t rely on your parameters or by a feature that is changed by your parameters in unexpected ways.
  5. Modularize.  Start by designing just one aspect of your idea at a time as a module.  Doing so will let you define whole regions of your designs in relation to one another.  For example, one of the modules I wrote for the pirate ship was for a single sail.  I wrote another module that would put together three sales of decreasing sizes and another module that added the large triangular sail and mast itself.  Yet another module collected all three sails.  Once the three sails could be created by a single module, I could move all of the sails around as a single piece.
  6. Cheat.  One of the parameters for the cylinder function is “$fn”.  This basically dictates how many facets the circumference of your cylinder will have.  A cylinder with 8 facets will look like an octagon and a cylinder with 128 facets would probably look almost perfectly circular.  I cheated by making triangles by creating cylinders with “$fn=3″ or just three facets.  There are a lot of shape libraries for OpenSCAD, but this was a quick and simple way to get an equilateral triangle.  Each of the sails is actually a cylinder, turned on its side, with just three facets along the circumference.

What other suggestions do you have for someone who wants to make their designs parametric?

  1. Thanks to dustinandrews for tagging their Part Catch Basket for Thing-O-Matic as with “openscadtutorial” on Thingiverse! []
Tagged with , , , , 2 comments

Jack in the box by Sublime

YouTube Preview Image

Here’s another amazing assembly from a fearless thingiverse user, Sublime.

I know what you’re asking yourself — what’s in that box?  Why is he turning that crank attached to the box?  What’s going to— OH WOW!

Yes, that’s right.  It’s a fully-printable Jack-in-the-Box, or as the French say, diable en boîte.  This is a really cool, fully-printable project.  Excellent work!

I do have one small point to raise — most Jack-in-the-boxes (Jacks-in-the-box?) are also music boxes that play a certain melody…what was it…oh yeah, Pop Goes the Weasel!

Error - could not find Thing 12808.
Tagged with , , Leave a comment

Standing on the Shells of Giants

This is one of several guest posts I’ll be making during the Project Shellter residency.

While Project Shellter is new, it did not emerge from a vacuum. Exploration into the mathematics of sea shells dates back decades, and the desire to help out hermit crabs, years. Project Shellter benefits from these investigations and innovations.

In chronological order, here is a partial list of precedents that inform the project.


Computer as Aid in Describing Form in Gastropod Shells

In the 1960s, interest in the beauty and mathematics of sea shells held the attention of computer graphics pioneers. One of the first to publish his findings was David M. Raup. His landmark papers have informed generations of researchers since, serving as canonical references within the fields of both biological and computer science.

Alternative Material

Glass blowers have created shells that are beautiful and photogenic. However, due to cost and the rambunctious nature of happy healthy hermit crabs – a broken shell could be fatal – glass shells are a seldom-used novelty. This image by photographer Frank Greenaway was created in 2004.

Alternative Design

In 2005, Dr. Elizabeth Demaray and a group of engineering students at Rutgers University explored alternative hermit crab shell designs. The Hand Up Project was the culmination of their research and it was the first project to use rapid prototyping materials and processes to manufacture hermit crab shells.

Project Shellter

Project Shellter Shell Prototype 01
Photo credit

Building on these and other precedents, Project Shellter aims to engage the community of 3D printer operators to crowd-source the science and resources necessary to design and manufacture viable hermit crab shells for domestic use. The goal is to reduce harvesting of natural shells as a way to address shortages in the wild.

It is an open source, pragmatic, social investigation into hermit crab behavior as a means to create 3D printable shells. The public nature of the project is designed to encourage simultaneous investigations.

The first prototype shell model has been placed in the public domain and is available now.

Project Shellter is social! Follow, share and contribute to help save hermit crabs by keeping natural shells in the wild!


For those wishing to dig deeper, here is a partial bibliography of research informing Project Shellter.

Computer as Aid in Describing Form in Gastropod Shells 

Geometric Analysis of Shell Coiling: General Problems

Population Consequences of Shell Utilization by Hermit Crabs

Competition and Mechanism of Coexistence in Three Sympatric of Intertidal Hermit Crabs

Modeling Seashells

Hermit Crab Shell Design

Shell-selection behavior of the hermit crab Pagurus granosimanus in Relation to Isolation, Competition, and Predation

Tagged with , , , , , , , , , Leave a comment