Paper Models, II


Because she is awesome, my wife got me an awesome birthday present: an E-Craft electronic die cutting machine.  The target application of this tool is scrap booking, and the machine’s marketing boasts that it can cut sheet magnets and glitter paper, AND it comes in pink and periwinkle blue.  None of these features seem to scream Architecture, Engineering, or Construction.  Our (AEC) people seem to favor the white, the black, tiny glasses, and bowties.  And NO GLITTER. 

Our people are, of course, no fun. 

So what IS an electronic die cutting machine?  Similar to a pen plotter with a knife blade, I’m using it like a poor man’s laser cutter.  You feed it an SVG file, and it will cut whatever the hell it is, out of whatever you feed in the front (thin stuff, within limits).  You certainly can’t build ANYTHING, it isn’t a 3d printer.  But it’s actually more interesting, IMHO, because it forces you to build certain KINDS of geometry.  Stuff that can be folded, bent, creased perforated, poked, scored, and cut out of flat material. 

(Hmm . . . does that sound like a reasonable limitation for lots of kinds of architectural construction?)

For today’s exercise, I will construct Sir Norman Foster’s toroidal masterpiece, the Copenhagen Zoo Elephant House.  Because the universe demands symmetry, I will cut it out of a donut box.


The workflow to get the cut pieces involves Vasari (or Revit, which needs the STL Exporter addin), the open source vector art editor Inkscape (and a plugin extension from Evil Mad Scientist’s Eggbot), the papercraft application Pepakura, and a papercutter (this can be scissors, a lasercutter, an intern, or the Ecraft tool I’m using.)  Pepakura will run you 38 bucks (totally worth it), the rest are free.

Step 1: Rational Forms in Vasari/Revit


While there are some more exotic methods to create flattenable forms (see this, and this), I’ll start with the method Sir Norman often uses of dicing up rational primitives.  For the details on this process, check out this post.

Step 2:  Panelization in Vasari/Revit

Once the surface has been divide, populate the divided surface with a simple surface.  That is, make a new curtain panel with just one surface and load it in.



More details on this part can be found here.

Step 3: Export to Pepakura and Unfold


Once I have my panelized form, I isolate the pieces I want (either using temporary hide/isolate or visibility graphics) and export using STL export (either native to Vasari in the add-ins tab, or as a plug in for Revit).  For this kind of form, I like to also send out the “floor” of the form even if I’m only interested in the roof, as it helps keep the roof shell from spreading out.

Import the file into Pepakura

Again, more details on this process can be found here.

Once I get the panels into Pepakura, I just hit “unfold” and get the geometry needed for cutting. There are lots of little bitty edge pieces that I just throw out, but otherwise, I’m good to go.   For this kind of form, I also like to turn OFF the default behavior to make “tabs” as they just get in the way.


Step 4:  Convert to Ecraft file in Inkscape

My cutting machine only takes SVG files, and Pepakura doesn’t make ‘em, so I need to do some data wrangling.  I output to EMF, which is a vector format, and open it up in the open source vector art editor Inkscape.

While I’m in Inkscape, I like to use the a little tool provided by Evil Mad Scientist for their Eggbot printer called Reorder Paths for Speed.  What this little delight does is take your jumble of lines and puts them in order using a traveling salesman algorithm.  If you don’t use this, your cutter will jump all over the place drawing lines in the order they were created.  Using this plug in makes the cut time way more efficient.


(If your shape is relatively simple, and you have Autocad, you can use the “boundary” command to recreate the shape, which has the result of making the cutting process continuous rather than skipping around.  But as far as I know, Autocad doesn’t make SVG files)

Step 5: Cut and Fold

Now we are ready to save to an SVG file and import into the E-craft software. 


The capabilities of this layout tool are pretty limited, so you really need to be ready to go before importing your SVG.

Before printing, I need to trim up my donut box a bit


And we’re off!


Pop out the pieces



Assemble with many little pieces of tape


Make it out of watercolor paper instead of a donut box and you can bring it to a client meeting!  I have found frozen pizza boxes to be one of the most reliable materials.

This description was fast and dirty, so apologies if run into any snags on the the way. As with any toolset, each one has its own personality and quirks.  Pepakura and Inkscape are both really powerful and interesting in their own right and deserve deep investigation.  The Ecraft is a crazy machine that is often as frustrating as it is excellent.  Maybe I’ll do a post on how I MacGyvered the thing to use real pens.



API-Yi-Yi: Boost Your BIM


For all y’all out there looking for more information on expanding your out-of-the-box Revit experience, there is a new blog with tips and tricks for using the API.

Boostyourbim was started up less than a month ago by my friend Harry Mattison, who brought you such greats as the parametervalues from image data addin.  So why should you rely on him for information on the Revit API?  He helped build it!


Pattern Deformation


A big shout out and thanks to the folks at DesignCoding, “a digital diary of research on the relationship between basics of geometry and design computing”.  They’ve always got nice stuff going on with that site.  I was looking at their post on Parquet deformations and had the familiar “oh yeah! Lemme try THAT!” response

As with many things that look complex and awesome, the underlying logic is pretty simple.  Here we start with a regular square grid of a divided surface.


Onto it I place a 5 point adaptive component that is structured like the image below:


With a model line between points 2 and 4, and another line between 5 and the midpoint of 2,4.  A reporting parameter between 1 and 2 drives the point p1 hosted on the line between 5 and midpoint 2,4.

Four placement points are hosted on the nodes (2, 3, 4, and5), and another goes on a point off to the side, hosted on a free point.  This point (1) serves to tell the family how far it is from a starting point


Using a reactor type of behavior, as the point 1 gets further and further away, it drives p1 in the family.


This basic idea can then be amplified with a slightly different AC, placed in a sub pattern:


This family is placed four times, in a radial arrangement, with point 2 at the middle.



Repeating this block of 4 components results in 4 separate Repeaters, which resolve into this pattern:


Pattern Deformation

Download the files from here


Tool Making: Way better Bezier-ish by Points

As previously discussed, Revit/Vasari has a couple kinds of splines  (regular spline and spline-by-points) that  you’d think  they were pretty similar (but you’d be wrong).  I made some tools to improve on this situation using Adaptive Components, but have refined this method.  This image shows 3, 4, and 5 point spline-by-point curves inside of an adaptive component rig, superimposed on a regular control polygon spline to illustrate the divergence (There’s not much difference, but double click to take a closer look). 
It uses the same methods as shown in this post but does further subdivisions of the control polygons for greater accuracy and flexibility.

A couple of things I noticed.  Most significant, the tangency conditions at the start and end are very close approximations. 99 times out of 100, this should be fine.  Here is an example of when it falls down:
On the left, two real b-splines drawn coming to tangency conditions.  On the right, the 4 point adaptive component spline by point family. 
Because the curves come together into a near tangent, but not quite, they slightly overlap.  It isn’t visible even zoomed WAY in.
But the result is that you can’t create a form element from the fake b-splines, because it will create a self intersecting form, but the real b-splines can.

[Clarification:  This failure is kind of hard to reproduce, it doesn’t happen for all situations even like the one shown,  there is a similar geometry in the sample files, and it works perfectly.  I think it has to be of a particular really huge scale.  In general, you can use this to make forms just fine, as shown in this post.  Here is an exaggerated view of what is happening the joint between the 2 curves at a bazillion times magnification:


Again, I have a hard time reproducing this problem, but it can be done.  If you’re worried about it, experiment a little. ]

The other issue that is a bit more obscure,  is the four point 4 spline doesn’t create a proper cusp when you do a crossed rectangle (shown here, a rectangle with points going 1, 3,2,4 in clockwise order) as a real bezier does.  Rather, it makes a bump. 
Details, details.

Download the families from here.