Carnegie Mellon University- Digital Fabrication Lab (dFab)


Course: Fabrication Customization

Special Thanks to Professor Jeremy Ficca

Fall 2014





Fereshteh Shahmiri, Brian Smith, Josh Lopez binder



Designed a fold technique for creating non-standard forms involving many folds. Chose v-die press-brake folding to produce precise folds and can be mounted on a single robot-gripper. The workflow consisted Python, Grasshopper-HAL and RobotStudio environments. Designed system took a simple string input made up of a series of ‘0’s and ‘1’s that denote either a right or a left hand bend that can generate variably complex forms. Developed an algorithm to generate patterns by having fractals input defined by L-Systems. At the end, cyclical folding allowed folding of extremely long metal sheets. By changing the angle of the folder, the strips can be folded out of horizontal plane which could produce paths nearly as complex as proteins structures.



While CNC and robotic sheet metal folding exists, current methods are not efficient for creating non-standard forms which involve many folds.


PROCESS | Simplification


While our initial goal was to fold arbitrarily complex nets, it became apparent that we needed to simplify our project



Structured meshes can be unfolded into many approximately straight strips.

The gripper we used has two states: open, or closed with maximum force. This means we were only able to fold one angle, which turned out to be 114° (the break’s v punch is at 90°, but spring-back causes the resulting angle)

This led us to focus on folding strips.

Strips could later be combined into complex shapes.



We chose v-die press-brake folding because it can produce precise folds and can be mounted on a single robot-gripper.

The angle of a fold can be controlled by varying the amount of force applied to the v-die.


Design, Fabrication, and Testing of gripper-mounted v-die


PROCESS | Workflow


PYTHON :  plane generation

GRASSHOPPER :  visualization & procedure insertion

HAL :  generate RAPID & initial error checking

ROBOT STUDIO :  simulation, final error checking, & upload


PROCESS | Coding



-  generates patterns (L-systems, random, repeating, fractals)

-  convert pattern into readable string (ex: 01011100101)

-  create two movement types for right (‘0’) and left (‘1’) bends

-  generate oriented planes for robot



-  visualization purposes (check plane orientations, modify parameters with sliders, etc)

-  error checking (cycle through planes to find orientation problems)

-  ** allows us to insert bend procedures into the final rapid code (can’t be done with HAL)



-  creates targets, motion data, track data, and sets up all the parameters needed for robot

-  generate procedures for opening and closing the gripper and table mounted fixture gripper

-  shows joint and other movement errors



-  perform final error checking

-  run simulation to test for collisions and joint errors

-  simulate I/Os to check that they happen at correct times


PROCESS | Pattern



Our system takes a simple string input that can generate variably complex forms.  The string is made up of a series of ‘0’s and ‘1’s that denote either a right or a left hand bend (114° or -114°).


Ex:  The pattern ‘00001111’ will create 4 right hand bends, then reorient the tool and perform 4 left hand bends.  This pattern creates the pentagon fold.



We also have a script that will generate patterns.  The input can be fractals defined by L-Systems, or just a random pattern. 


Ex: ‘0001111011010010’ will generate the pattern in the image.


We developed an algorithm which generates random fold patterns and displays them.

CYCLICAL FOLDING : allows folding of extremely long sheets

CYCLICAL FOLDING: allows folding of extremely long sheets

1. folder is open and oriented to produce either a fold to the left or the right

2. folder descends and closes: a fold occurs

3. table gripper opens, folder remains closed and robot drags strip

4. folder opens and clears material

5. folder flips orientation if the next fold is opposite the completed fold


Three Dimensional Forms


By changing the angle of the folder, the strips can be folded out of the horizontal plane. This could produce paths nearly as complex as those seen in proteins

Helices and pleats, which are common structures in proteins, are achievable with this system.


A variable position/force gripper would allow for a range of fold angles.


Finite Element Analysis can also be used to simulate spring-back

image from: “Predicting springback in air bending, straight flanging” By Dr. Taylan Altan

equations from: Manufacturing Processes for Engineering Materials pg. 349 (4th ed.)