6. Computational Couture#

Disciplines as digital fabrication, programming and electronics are highly interconnected, merging different fields of knowledge. Fashion has been already affected by this overcoming change. Therefore, we can now incorporate elements of hardware and software into it, fusionating fashion and computation. A new aesthetic is emerging, though I think we still need to work on shifting computational couture to the organic world, probably through the materials involved, particularly 3d print filaments.

Computational couture is giving designers the freedom to manipulate designs and materials in a way that is not achievable through conventional means. As a result of this technological shift, designers can be specific about parameters and balance the amount of materials that is going to be used, ideally producing zero waste.

Other benefits about this field is that allows you to design and create parametric systems that can be modified easily, as well as custom made for the consumer, and in case it’s open source it can be available for individual download and construction.

3D Printing#

When I heard about 3d print for the first time, my mind was completely blurred. Many questions appeard in my mind. How? That was the main one that loops without ending. How you can 3d print? How you can design in 3d in order to print it? How does the machine looks like and how it works?

3D printing is a manufacturing method that uses additive processes. It consists of adding a large number of layers of a certain material to make a three-dimensional object.

In order to create objects, 3D printers follow instructions based on topographic information obtained from a 3D file. In this way, 3D printers add (or solidify) the material, giving volume to the object. Each 3D file is sectioned into layers and reconstructed layer by layer.

The information regarding the shape of the object needs to be included in a digital file, which can be created using 3D modeling programs or capturing the shape of an existing object by using a 3D scan. There is a wide variety of softwares available, with different levels of complexity, depending on specific requirements.

3D printing performs a physical transcription, materializing digital information and opening a wide range of new possibilities for creativity. This new method of printing is commonly considered revolutionary, since it adopts a completely different logic to the old manufacturing methods. With traditional industrial processes, machines remove material while 3D printing only adds material.


In this case, the materials for 3d printing are called filaments.

This filaments are melted and extruded according to the design. In addition to the thermoplastics that comprise the common 3D printer filament types (PLA and PETG), 3D printer filament can be made of nylon, polycarbonate, carbon fiber, polypropylene, and many others. There are even special blends which can conduct electricity, absorbe CO2 or glow in the dark.




• Nylon

• TPE, TPU, TPC (Flexible)

• PC (Polycarbonate)

• Exotic and Recreational Types

Main idea#

The idea for this project is to create and analize different line constructions in 3d printed flexible designs that can be applied to zero waste digital fabrication of garments. The aim is to test and observe patterns to be able to determine line directions, twisting, flexibility, resistance and stretching by the longer axes of the ellipsoidal holes and lines.

Research & Inspiration#

Computational couture involve an encounter with mathematical formulas. It is reported that patterns generated by systems have similarities to natural patterns of animals, insects and plants for example. Actually I strongly believe that every shape we can design already exists somewhere in nature.

So I was thinking about the morphogenesis of organisms. What about patterns in human skin? As I researched, I found that human skin is also covered with different patterns, according to different perspectives, though the stripes are invisible.

It would be nice to reply the morphogenesis of diverse organisms, such as humans, plants, bacterias, protozoos, etc.

Also I did some research in fashion brands that work with additive manufacture and 3d printed fabrics.

Invisible human body lines#

• Blaschko’s lines

They are skin lines invisible under normal conditions. They represent pathways of epidermal cell migration and proliferation during the development of the fetus. Moreover, they can become apparent when some diseases of the skin or mucosa manifest themselves according to these patterns.

Blaschko lines are consistently V-shaped on the upper spine, S-shaped on the abdomen, inverted U-shaped from the breast area to the upper arm, and perpendicular down the front and back of the lower extremities. They never cross the anterior truncal midline but run along it.

• Langer’s lines

Also called cleavage lines, are topological lines drawn on a map of the human body. They correspond to the natural orientation of collagen fibers in the dermis, and are generally parallel to the orientation of the underlying muscle fibers. Therefore, these lines have relevance to forensic science and the development of surgical techniques

• Kraissl’s lines

They are a set of anatomical skin lines. They differ from Langer’s lines, they are oriented perpendicular to the action of the underlying muscles fibers. These also coincides with wrinkle lines, although not always, and tend to be perpendicular to the muscle action.

Mechanical metamaterials#

Metamaterials are made from assemblies of multiple elements. The materials are usually arranged in repeating patterns, at scales that are smaller than the wavelengths of the phenomena they influence. Metamaterials derive their properties not from the properties of the base materials, but from their newly designed structures. Their precise shape, geometry, size, orientation and arrangement gives them smart properties that go beyond what is possible with conventional materials.

Mechanical metamaterials are artificial structures with mechanical properties defined by their structure rather than their composition. They can be seen as a counterpart to the rather well-known family of optical metamaterials. Their mechanical properties can be designed to have different properties as well as stretch, flexibility and resistance.

So, after this extense research I decided to create a parametric system that allows you to reply any geometry, and print them as thick as a fabric, in order to analyse which properties they have.

Design softwares: Rhino & Grasshopper#

Grasshopper is a graphical algorithm editor tightly integrated with Rhino’s 3-D modeling tools. It allows the creation of parametric designs base don algorithms and maths formulas. It is an add-on plugin for Rhino, though in most recent versions of Rhino your sofware will come with grasshopper already installed.

Libraries for Grasshopper3D

There are many plugins for grasshopper you may download and use. This are some of the libraries where you can find them.

• Flexhopper • Bifocals • Bowerbird • Chromodoris • Kangaroo • Anemone • Weaverbird • Cocoon • Marching Cubes • Mesh Edit • Mesh+ • Mesh tools • Lunchbox • VR-Edge • Mesh analysis

In order to catch up with grasshopper software we did some tutorials.


To begin with, open Rhino and insert the command ‘grasshopper’. Another window will open, where you should create your parametric design.

You can find the commands in the toolbar, or double click the background of the window and write it to search for it.

Another way of looking for command locations (once you already have the command applied) is to pres ctrl + alt while you press the ‘box command’. Therefore you will see a red arrow pointing out where you can find it.

Grasshopper definitions are saved separately from Rhino files, so make sure you save both if you don’t want to lose any data!

In the ‘View’ menu you can turn on an ‘Obscure Components’ option which will show more components in the library ribbon than you get by default. This option is presumably there to stop people getting scared by lots of component icons when they start out, but also makes it harder to find things.

In the display menu, turn on ‘Draw Icons’. This changes the way components are displayed on the canvas, so you can see which command you are using.

You should also make sure ‘Draw Fancy Wires’ option is on (which it should be by default). Having this turned on will make certain definitions much, much easier to understand.

Adding Components#

I decide to start from the geometry I want to reply, which is the input of the diagram.

All components essentially work the same way; inputs on the left and outputs on the right. Click and drag to create connections between inputs and outputs and choose the way that data will flow between different operations.

Changing an input (in this case a geometry) will prompt an update of any output which is linked to it. The process you have set out will run again automatically and the model regenerated, without you having to go through all the pain of manually remodelling everything.

The first step is to get the points we created in Rhino and put them into Grasshopper with left click on the icon/command box and then choose it from the Rhino canvas (set one point/curve/etc.). This will assign the point to the parameter and the component should turn grey to indicate that everything is working as planned.

If not you can create the geometry directly from Grasshopper. To do this we’ll need parameter components which you can find on the ‘Params’ tab in the ‘Geometry’ group on the component library ribbon. In my case I started with a Rectangle, and then plug into it the stuff required. Plane, for which I added a Vector XYZ and Number Sliders to introduce the location. Then X & Y Size for which I used Number Slider to set its dimensions. This is a little input widget that we can use to control a numeric input just by dragging the slider left and right. If you want to change the maximum and minimum values right click on the slider and click on ‘Edit’ to access a form which will let you set up the properties of the slider, including the numeric domain it covers.

From this rectangle I connected a Curve command, and then a Linear Array. This commands are the same as in Rhino and I have used them before for other projects, so if you now how to design in Rhino you just have to think how to create a diagram of your design process.

For the Linear Array I needed to plug some inputs as direction and count; direction I chose to be X and I add a Number Slider for the number of repetitions. Then I apply a Move command to reply it above the array I created before. And then continued applying commands in order to reply this horizontal array of my geometry, with number sliders to make it parametric and decide que amount of repetitions I want to have. At the end, I created a rectangle surface in Rhino, extrude it 1mm (fabric thickness) as well as extruding the geometries replied 1.5mm, and them boolean difference between them to have a closed mesh and be able to print it.

You can check in this picture every command and params I used for this design.Though this was my first approach to Grasshopper and after talking with experienced people I realized my diagram can be improved.

This is the result!

So after all these, I decided to improve the diagram. This is how it looks like!

This diagram in cleaner and much more specific, and you can modify your parameters from every Number Slider in the beginning of it, which I titled it ‘Control Box’.

Also I used different commands to create the same and make it adaptable to any geometry you want to insert and repeat.

  • Divide Curve

  • Deconstruct

  • Bounds

  • Deconstruct Domain

  • Offset

  • Merge

  • Boundary Surfaces

Geometry Preview#

You may already have noticed that the red transparent geometry that you can see in Rhino has some peculiar properties – you can’t select it, it won’t be saved in the Rhino file if you try to save it, if you hit the render button then it won’t show up, etc. This is because none of this geometry actually exists in Rhino yet – it is merely a ‘preview’ that Grasshopper is drawing in the Rhino viewport to show you what is going on.


To add this previewed geometry to Rhino, so that we can manually modify it, export it, render it, etc. we need to ‘bake’ it. This will add a copy of that geometry into the current Rhino document.

To bake some Grasshopper geometry, right-click on the component whose geometry you wish to add to Rhino (again, this needs to be on the centre part of the component, not over any of the input or output components) and click on the ‘Bake’ option. This will throw up a small form which allows you to select certain properties of the new object in Rhino. Click ‘OK’ to bake the geometry.

You can now modify, delete, move and export this geometry the same way you would any other Rhino object. Note that there is no link between this baked object and the Grasshopper definition that created it – if you change the model in Grasshopper these changes will not be reflected in the Rhino model and likewise changes made to the geometry in Rhino will not matter a jot to Grasshopper. If you wish to later update the Rhino geometry from the Grasshopper model you will need to delete it and re-bake.

For the following designs I’ve just insert the new geometry to the same diagram.

I wanted to see what is the mechanical engineering for arrow points, in this case a little bit customized. So I draw the curve, set it in the command box ‘Curve’, and plug it as my geometry. As it was pretty much the same size I didn’’t need to change the parameters of the number slider.

For the next prototype I did the same, inserting a new geometry that comes from Berber’s symbol. Berber is a nomadic ethnic group predominant in Northern Africa, with own culture, values, beliefs, etc. I found very interesting their way of thinking about the environment, creating a sustainable way of living by hunting and gathering, farming and working the lands while they settle down for some time, in order to subsist. Many of them live in the dessert.

I’ve been there for some days, and get to know a little bit about their way of living and thinking as well as cultural imprints as food, rituals and the music they play, with root drums and a lot of enthusiasm! Super interesting experience that makes me now inspire in their symbol to generate a fabric.

Also, their symbol has an interesting morphological structure as it has an inverted module in it. So I want to see what happens when printing it in a flexible filament, as you stretch it.

For this prototype I used the same GH diagrams with the same parameters.

For the fourth design I decided to try with a geometry in Polar Array, and then repeat this group of geometries along the same surface. To generate this I draw a triangle from Rhino, and then used it as the input geometry fro the command box Polar Array. Also I plug an XY Plane to it, and a Number Slider (5) in count. As an output I have the triangle repeated 5 times with same distance to the center of the radius. Then plug this geometry to the diagram and changed some number sliders to reach the design I wanted and make them fit in the same surface I used for the other samples. You can see the modified parameters in the diagram in the pictures below!

The last step is to export the baked prototype in .stl format in order to open it in the Cura or Maker Bot softwares.

Printing software: Cura#

Ultimaker Cura prepares your model for 3D printing. It creates a seamless integration between your 3D printer, software and materials to achieve perfect prints every time.

• Cross-platform, open source software, available completely free of charge

• Print right away using recommended mode, or use custom mode to configure over 300 settings, for maximum control

• Expert-configured and road-tested profiles make hardware and material configuration simple and fast, and achieves reliable, professional results

• Out-of-the-box support for STL, OBJ, X3D, and 3MF file formats

• Add even more functionality with plugins for CAD software and optimized profiles for third-party materials

• Combine with Cura Connect to manage one or more network-enabled Ultimaker printers from a single interface

Every model you design for print must be translated by Ultimaker Cura into instructions your 3D printer will understand. It does this by slicing your model into thin layers and saving the file ready for printing.

Also you have to choose your filament, in this case I used Filaflex, which is almost biodegradable as it has a base of corn starch, because I didn’t find a 100% biodegradable filament.

Moreover you need to modify some parameters as the number of layers and their thickness.

Below I’ll tell you the params of each of the prototypes I did.

• 1st. prototype:

Height (in the scale params at the left tool bar): 0.5mm

All the rest appear at the right side tool bar:

Number of layers - 2 Layer height – 0.2 Initial layer height - 0.3 Material - Filaflex (Recreus provider)

• 2nd. prototype:

Height : 0.3mm Number of layers - 3 Layer height – 0.1 Initial layer height - 0.1 Material - Filaflex (Recreus provider)

• 3rd. prototype:

Height : 0.9 mm Number of layers - 3 Layer height – 0.3 Initial layer height -0.3 Material - Filaflex (Recreus provider)

Height : 0.1 mm Number of layers - 1 Layer height – 0.1 Initial layer height - 0.1 Material - Filaflex (Recreus provider)

• 4th. prototype:

Height : 0.3mm Number of layers - 3 Layer height – 0.1 Initial layer height -0.1 Material - Filaflex (Recreus provider)

Height : 0.7mm Number of layers - 3 Layer height – 0.2 Initial layer height -0.3 Material - Filaflex (Recreus provider)



Grasshopper allows you to describe parametric models by essentially drawing a flow diagram of the process you want to follow to create that model. If you can diagram a process, you can use Grasshopper!

Grasshopper features many different input widgets that allow you to enter and modify different types of data easily.

One advantage of Grasshopper is that, as we have already seen, (non-baked) geometry can be parametrically linked and automatically updated. Another advantage is that once we have a process defined, we can apply that process over and over and over again on multiple inputs, which is what we will do now. We do not have to modify our actual model definition at all for this; we simply need to change the inputs, in this case the inicial geometry, and then modify params if needed.

Some conclusion about stretch, flexibility and other variables to take into account while designing for future improvements:

According to the thickness of the prototype is the stretch of it. As thinner it is, as stretchy it is. But if its very thin it can end up being fragile and break when you stretch it. According to the prototypes, the recommended thick is around 0.5 mm, but you can make it stronger or more fragile with adding or sustracting 0.2mm. Though it also depends on the shape of the geometry. If it has many ’loose ends’ it may be fragile and break.

Also, it depends on how much flexibility you want the fabric to have, and if you are going to apply some pressure on it as if it carries weight (e.g. bag or backpack). Flexibility has to do with strength as well. If you want to make it more flexible you need to design the surface trying the geometries to occupy most of it, as if its full of non printable areas.

Nevertheless, the shape of the printed surface also has to do with the flexibility. As I had develop before when speaking about mechanical metamaterials, how the shapes interlock between each other and the new shapes that appear when stretching. That’s because of the combination of sustraction and additition of material. So the printed part, bends or stretch generating a new pattern. And there’s the interesting part of it. I achieved that in the berber prototype, where you can see how the mirrored loose ends of the geometry create a printed area that bends.

I found also interesting how the diagonal printed ‘lines’ that avoid the shape of the geometry allows it to stretch in that direction, contrasting with straight lines of material that doesn’t give any elasticity in that direction.


• Make sure your STL exported files form RHINO are a solid and there are no mesh or open polysurfaces before exporting

• You can use some support material if your structure is not fully solid which you can take off or disolve later

• If you are printing on fabric do some tests to see how it the filament sticks to your fabric

• Heat up the bed platform for better adhesion between the fabric and filaments

• Have in mind that the printing time depends on the infill and the size of your prototype.