The first piece of Kinematics clothing, a 3D-printed nylon bodice, will be debuted in New York City this week at the opening of the exhibition “Coding the Body” at apexart. The bodice is composed of 1,320 unique hinged pieces and was 3D-printed as a single part. In order to fit the bodice into the printer and minimize the space it took up in the machine, the design was printed in a flattened form that was designed with Nervous System’s “Kinematics” folding software. The bodice was wearable straight out of the printer; no pieces were manually assembled and no fasteners were added. The back features integrated 3D-printed snaps for fastening the garment.
The bodice was produced from a 3D scan of Jessica Rosenkrantz, one of the designers. It serves as a proof of concept for Nervous System’s “Kinematics” design system which pairs a constructional logic of hinged panels with a simulation strategy of folding and compression to produce customized clothing designs that can be fabricated efficiently by 3D-printing. The system is an example of the developing field of 4D-printing where 3D-printing is used to create objects that transform in shape. Background information on our “Kinematics” project can be found here.
The long road to printing a kinematics dress
At the end of 2013 we released our Kinematics app and jewelry collection along with a video documenting our idea to use simulation to fold large Kinematics designs into smaller, fabricatable forms. Since then we’ve been working to make this idea a reality and have faced various challenges along the way.
Folding theory versus practice
The idea behind the Kinematics system is that we can simulate the hinged movement of our designs to compress them digitally. However, there are difficulties with implementing this idea, both from a fabrication and computation standpoint.
The first issue has to do with accuracy of our hinges. The hinge joints are designed around the limitations of Selective Laser Sintering (SLS), the 3D-printing method we employ. SLS uses a laser to fuse together powdered material. While laser’s movement is precise, the heat spread around the beam’s target is quite large. Design components within ~.5mm of each other will fuse together into one part. In order to get our joints to work they need to have a space greater than this fusion distance between the pin and the barrel. We don’t have any room for inaccuracy in this dimension; any errors mean the difference between producing an articulated, movable design and a solid lump of plastic.
The need for such accuracy makes compression difficult. The simulation is very complex with over a thousand hard constraints that are connected in a network as well as dynamic self-collision detection. Because of this, we had issues with the numerical accuracy and stability of the simulation. We originally used Bullet Physics as our physics engine, but it has stability issues with complex hinge constraints. We were not able to consistently fold designs without errors where hinges would start to become off axis (see diagram). To correct for the hinge errors, we had to run our simulation in two phases: compression and relaxation. An initial compression phase applies forces to reduce the design’s size. Afterwards, a relaxation phase tries to find an error free configuration. However, even with this an error free configuration of sufficiently small size often couldn’t be found.
We decided to try switching physics engines and moved to Open Dynamics Engine (ODE). ODE is less popular in graphics and games, but more prevalent in robotics and other engineering/science applications, which gave us hope that it would be more suited to our application. ODE has two types of solvers, one of which is fast and one which is more accurate. Our plan was to use the fast solver for the initial folding, and then switch to the accurate solver to produce the final configuration. This worked well in our initial tests; however, for larger designs with over 1000 modules, the accurate solver would fail. With so many constraints interconnected non-linearly, a perfect solution was actually impossible. ODE’s fast solver still works slightly better than Bullet so we have continued to use ODE.
Finding the smallest configuration
Another issue is achieving a high degree of compression in our simulation. Part of the reason that the physical piece can move well and fold compactly is that the joint is loose. It has a lot of play that allows a greater degree of movement than pure axial rotation and gives it a nice, fabric-like quality. The tighter and more accurate the hinge is, the smaller the space of possible movements. Because of this, straight forward approaches such as applying a single compression force or dropping the design in a small box often get stuck in non-optimal configurations. To overcome this, we’ve begun to try more orchestrated compression procedures tailored to the shape of the individual design rather than general purpose compression tactics. We apply a series of actions to fold the design much like you might fold a piece of clothing. In the figure below, you can see a series of folds that achieve a high degree of compression in a Kinematics skirt design.
In addition, we’ve found that a certain degree of imprecision is necessary to achieve sufficiently compact designs. This is seemingly at odds with the need for precision in printing. To combine these contradictory constraints, we introduce a refitting procedure that modifies the original design after compression to make an error free configuration. This involves averaging the positions of edges with errors and applying a final relaxation step. Because the errors are smaller than the play in the physical joint post-printing, we can be confident that these modifications won’t adversely affect the intended design and movement of the final piece (like introducing a kink where there shouldn’t be one).
We decided to first print a bodice to test our system before producing a gown. There were a large number of project elements to verify before proceeding with the costly enterprise of printing the dress. These include
- verify the accuracy of our 3D body scans
- check the fit of the garment on the person scanned
- judge how comfortable and wearable the piece is
- verify that our folding software isn’t producing intersecting or fused components
- learn of any issues on the fabrication side in terms of printing errors and depowdering procedures
Now that all that is done we are ready to proceed with making a dress!
Scanning – Kinect fusion scan of Jessica produced in our studio
Folding – Kinematics Folding app (C++, openframeworks, ODE)
3D-printing – printed by Shapeways in Long Island City, NY by SLS in nylon plastic
“Coding the Body” opening
Come meet us and see the bodice in person
Wednesday March 19th, 2014
from 6 to 8pm at apexart (291 Church St, New York, NY)