Saturday, June 30, 2012

3D Printed Isogrid and Octet Truss

I've had some pretty good luck lately generating some simple parts for printing on Shapeways. I've settled into a pretty good work-flow using Blender's mesh modifier operations, and some additional post-processing in meshlab. The feature sizes on these example parts use the guidelines for minimum wall-thickness and aspect ratio.

Isogrid Cylinder
I used the Array modifier to replicate an isogrid in 2-D, and then used the Curve deformation modifier to wrap that into a cylinder. No post processing in meshlab on this one.

Octet Truss Cylinder
For the octet truss parts I generated 3D Arrays and then used the Curve deformation modifier, or unioned them with flat panels.

Octet Truss with Panels
For this part with panels, I used meshlab's Ball Pivoting surface reconstruction algorithm to get nice fillets between the spars of the truss and the surface of the panel on each side. This process also adds a little extra "meat" at the joints of the space frame. A few iterations of Gaussian smoothing does away with any ugly faceting with the large triangular faces that the Ball Pivoting algorithm might add.

Update: I tried out the STL fixing service. It seems to work automagically. They also have a basic version of their software that is free (but not Free).

Update: Some nice isogrid parts, FDM ABS by Fabbr.
Close-up showing the I-beam cross-section.


  1. The Pointwise blog has an interesting article on a plugin that they are working on for 3D printing grids.

    Very similar to the way I generated the solids for the octet truss; union a bunch of cylinders. I ran into the same problems they had with Blender not giving me nice manifold meshes at the intersections of the cylinders.

  2. Hey anyway i could get the blender file for the octet truss you made?

    1. Sure, I haven't used Blender for this sort of thing in a while, but I'll see if I can dig them up.

      I found that BRLCAD can create manifold meshes with lots of Boolean ops more reliably than Blender (example scripts linked from this post). There may be a smarter way to use Blender, but I haven't had the time to figure it out.