6. Computational Couture¶
Intro¶
Computational Couture week got me obssesed literally! Merging fashion with algorithmic design felt truely limitless, wanting to try endless concepts, patterns and possibilities. The idea of designing pieces that respond to data, adapt to percise equations, opened a completely new dimension for me, where it became both experimental and deeply addictive.
General Workflow¶
I. Inspiration and References¶
II. Introduction to Parametric 3d Modelling¶
1. Rhino and Grasshopper Workflow¶
Rhino provides full control over geometry creation and modification, while Grasshopper acts as a visual programming environment that drives this geometry through parameters and logic. Changes are made instantly and non-destructively, allowing iterative design and rapid testing, accordingly we can use it for complex pattern exploration and generation of fabrication-ready outputs.

Afterwards we can simply connect an a point, or any 2d or 3d geometry in Rhino to component in Grasshopper

Connecting geometry in Rhino to component in Grasshopper
To connect geometry from Rhino to a component in Grasshopper, select the geometry directly in the Rhino viewport, right-click the component’s input and choose Set One or Set Multiple, this links the Rhino object to Grasshopper so it can be controlled and modified parametrically.
2. Visual Programming with Grasshopper¶
Grasshopper was difficult to grasp at first and I must confess with each new idea it was a bit challenging, but with some repetition of different tutorials and exercises you do start to get the hang of its logic, as it is a very practical tool for parametric control and faster design exploration.
Grasshopper 101¶
You can add components in Grasshopper either by double-clicking on the canvas and typing the component name, or by selecting it from the menu and clicking on the canvas to place it.
Most Useful Starter Components in Grasshopper
-
Number Slider – controls any numeric input
-
Construct Point – creates points from X, Y, Z values
-
Move – move geometry
-
Rotate – rotate geometry
-
Scale – resize geometry
-
Divide Curve – split curves into points
-
Extrude – turn 2D shapes into 3D
-
Panel – view data passing through wires
Basic Grasshopper Workflow
-
Start with geometry or a base input: Use a point, curve, or surface (either drawn in Rhino or generated in Grasshopper).
-
Add components step by step: Move → Rotate → Scale → Divide → Extrude → etc.
-
Control everything with parameters: Use sliders to change values like height, number of divisions, radius, etc.
-
Preview and bake: Right-click > Bake to convert Grasshopper output into real Rhino geometry.
First Grasshopper Definition Trial in Class¶
A definition to create an extruded polygon.

Note
Don't forget to choose group prior to baking.
We can continue on this definition by creating a pattern from our geometry by using one of the Array components such as rectangular or polar array.

Export 3d geometry for 3d slicer
-
Select geometry
-
From File >> Export Selected >> Save as stl.
(make sure binary is checked in options)
Grasshopper Cheat Sheet¶
Since this was my first time using Grasshopper, I put together a cheat sheet with the key definitions and components that helped me get started, hoping it can do the same for other beginners.
Mini Grasshopper Cheat Sheet (Components and their Purposes)
1. Inputs & Parameters
Number Slider :Adjust numeric values interactively
Panel :View or type text, numbers, or lists
Construct Point :Create a point using X, Y, Z values
Point / Curve / Surface Params :Reference Rhino geometry
2. Basic Geometry
Line :Create a line between two points
Circle :Create a circle by center + radius
Rectangle :Create rectangles by width/height
Polygon :Generate regular polygons
Boundary Surface :Create a surface from closed curves
3. Transformations
Move :Move geometry in a direction
Rotate :Rotate around a point/axis
Scale :Scale from a base point
Mirror :Mirror geometry
Extrude :5Execute 2D to 3D extrusion
4. Math & Logic
Addition/Subtract/Multiply/Divide :Math operations
Range :Create a list of numbers between a domain
Series :Generate a sequence of numbers
Domain :Define numeric limits
5. Lists & Data
List Item :Pick an item from a list
Cull Pattern :Remove items using True/False patterns
Flip Matrix :Reorganize data
Merge :Combine lists
Flatten :Simplify data tree
Graft :Split data into branches
6. Analysis & Division
Divide Curve :Split a curve into equal segments
Evaluate Curve :Get position on a curve
Area :Find area + centroid
Surface Normals :Extract direction from surface
Contour :Create sectional slices
7. Intersections & Sets
Intersect :Find intersections
Solid Difference :Subtract solids
Solid Union :Merge solids
Dispatch :Split a list into two groups
III. Overview of Textile 3D Printing Process¶
After exporting the geometry from Rhino as an STL file, we open it in a 3D slicer that matches the printer being used. In my case, I worked with the Ultimaker S5 and the Prusa XL Enclosure, so I prepared separate workflows based on the requirements of each machine.
Ultimaker S5¶
The Ultimaker S5 is a professional FDM 3D printer known for its reliability, dual extrusion capabilities, and large build volume. It allows printing with multiple materials in one job and delivers consistent, high-quality results, making it suitable for detailed prototypes, functional parts, and experimental fabrication like 3D printing on textiles.
1. Slicing via Ultimaker Cura¶
Slicing in Cura Generic Process for (Ultimaker S5)
-
Open Stl. file with Ultimaker Cura.
-
Set Printer: Ultimaker S5.
-
Set Material: TPU or PLA
-
Make sure the model is placed flat on the build plate (Z = 0).
-
Adjust scale.
-
Adjust print settings.
-
Add a pause after layer 1 or 2 to insert fabric
(if we are printing on a fabric). -
Click Slice and save the file.
Make a pause!
- If we are printing on fabric we should make sure a pause happens after first or second layer in order to adjust the fabric above the first printed layer,assuring material bond on the fabric
(in example: PLA on fabric), however if we are printing a fabric by itself we don't need to pause(in example: printing TPU mesh fabric layer)
How to make a pause? Extensions → Post Processing → Modify G-Code → Add Pause at Layer Number 1 or 2
2. 3D Printing Process¶
Clean the nozzle!
Don't forget to clean the nozzle before starting, especially after extruding the first material, to make sure the first layer is unobstructed.
3D Printing on Fabric¶
3D Printing as Fabric¶
3D printing as fabric follows the same process, but without adding a pause or inserting fabric. The material must be TPU, and the geometry needs to be interconnected so the print can function as a continuous, flexible structure.
Prusa XL Enclosure¶
The Prusa XL with Enclosure is a large-scale, high-precision 3D printer built for advanced and multi-material fabrication. Its enclosure provides a stable, temperature-controlled environment to improve print quality and reduce warping. Equipped with a modular multi-tool system, it enables clean material switching and reliable printing of engineering and flexible filaments, making it ideal for complex and experimental workflows.
1. Slicing via Prusa Slicer 2.9.3¶
Slicing via Prusa Slicer (Generic Workflow)
-
Prepare the 3D model and export it as an STL file.
-
Open PrusaSlicer → Set Printer: Prusa XL and select PLA or TPU filament.
-
Import the STL, place it on the build plate, and adjust orientation if needed.
-
Set print parameters:
PLA: 0.2mm layer, 40–50 mm/s, 205–210 °C nozzle, 60 °C bed, 0% infill
TPU: 0.2mm layer, 20–30 mm/s, 230 °C nozzle, 50 °C bed, retraction OFF, flow 110–115%
-
Add pause for fabric after Layer 1 or 2: Right-click model → Add Pause (M601).
-
Click Slice → review first layers → Export G-code.
2. 3D Printing Process¶
3D Printing with Prusa XL Enclosure
-
Turn on printer and make sure enclosure doors are closed.
-
Preheat the toolhead and bed for the filament you sliced for (use the printer menu → Preheat).
-
On the printer, Insert flash drive into the USB port on the printer. and keep it in.
-
On the printer screen choose Print from USB / Files and select your G-code.
-
Confirm filament/tool assignment if prompted (which tool/nozzle will print).
-
Start the print, wait for it to finish.
-
Watch first layer(s) closely — confirm extrusion is consistent and first layer adheres.
-
If you added an automatic pause (M601) for fabric or an intervention, the printer will stop at the set layer:
When paused, follow the on-screen prompt (usually Unload/Resume options).
Place and secure the fabric over the printed base with magnets (flat + tight), make sure nothing blocks the nozzle path.
-
Click Resume and continue printing onto the fabric.
-
For TPU prints: monitor for filament buckling / under-extrusion; keep speeds low and watch the extruder drive.
-
Let the print finish fully. Do not open the enclosure while hot unless necessary.
-
Clean the build plate of filament residue and remove any tape/clips used to secure fabric.
IV. Research Study¶
1. Study A : Sadu Stitch Pattern (Small Size)¶
Technique¶
Printing PLA on Fabric (Tulle) with Ultimaker S5
Swatch¶
Workflow¶
3d Printing and Slicing Settings
-
Printer: Ultimaker S5
-
Material: PLA
-
Make sure the model is placed flat on the build plate (Z = 0).
-
Adjust slicing settings:
Layer Height: 0.15–0.2 mm
Wall Line Count: 2
Top/Bottom Layers: 4
Infill Density: 20%
Infill Pattern: Triangles
Print Speed: 70 mm/s
Initial Layer Print Speed: 6 mm/s
Fan Speed: 100%
Initial Fan Speed: 0.0%
Printing Temp: 205°C
Build Plate Temp: 60°C
Build Plate Adhesion Type: None
Disable supports.
-
Add a pause after layer 1 or 2 to insert fabric: Extensions → Post Processing → Modify G-Code → Add Pause at Height
-
Click Slice and save the file.
2. Study B : Sadu Pattern (Big Size)¶
In this study I went with same workflow and setting of Study A, except for enlarging the scale of pattern and minimizing the amount of repititions. I made this study on 2 colors, black and pink.
Technique¶
Printing PLA on Fabric (Tulle) with Ultimaker S5
Pink Swatch¶
Black Swatch¶
Workflow¶
3d Printing and Slicing Settings
-
Printer: Ultimaker S5
-
Material: PLA
-
Make sure the model is placed flat on the build plate (Z = 0).
-
Adjust slicing settings:
Layer Height: 0.2 mm
Wall Line Count: 2
Top/Bottom Layers: 4
Infill Density: 20%
Infill Pattern: Triangles
Print Speed: 70 mm/s
Initial Layer Print Speed: 6 mm/s
Fan Speed: 100%
Initial Fan Speed: 0.0%
Printing Temp: 205°C
Build Plate Temp: 60°C
Build Plate Adhesion Type: None
Disable supports.
-
Add a pause after layer 1 or 2 to insert fabric: Extensions → Post Processing → Modify G-Code → Add Pause at Height
-
Click Slice and save the file.
3. Study C : Octa Star Lace¶
Technique¶
Printing TPU as Fabric with Ultimaker S5
Swatch¶
Workflow¶
3d Printing and Slicing Settings
-
Printer: Ultimaker S5
-
Material: TPU 95A
-
Make sure the model is placed flat on the build plate (Z = 0).
-
Adjust slicing settings:
Layer Height: 0.2 mm
Wall Line Count: 2
Top/Bottom Thickness: 1.2 mm
Top Thickness: 0.0 mm
Top Layers: 0
Bottom Thickness: 0.0 mm
Bottom Layers: 0
Infill Density: 30%
Infill Pattern: Gyroid
Print Speed: 25 mm/s
Initial Layer Print Speed: 10 mm/s
Fan Speed: 0.0%
Initial Fan Speed: 0.0%
Printing Temp: 205°C
Build Plate Temp: 60°C
Build Plate Adhesion Type: None
Disable supports.
- Click Slice and save the file.
4. Study D : Lace Weave on Fabric.¶
Technique¶
Printing TPU on Fabric (Tulle) with Ultimaker S5
Swatch¶
Workflow¶
In this study I went with same workflow and setting of Study C, except for printing it on fabric and changing the Infill pattern in Cura to ''Concentric''.
3d Printing and Slicing Settings
-
Printer: Ultimaker S5
-
Material: TPU 95A
-
Make sure the model is placed flat on the build plate (Z = 0).
-
Adjust slicing settings:
Layer Height: 0.2 mm
Wall Line Count: 2
Top/Bottom Thickness: 1.2 mm
Top Thickness: 0.0 mm
Top Layers: 0
Bottom Thickness: 0.0 mm
Bottom Layers: 0
Infill Density: 30%
Infill Pattern: Concentric
Print Speed: 25 mm/s
Initial Layer Print Speed: 10 mm/s
Fan Speed: 0.0%
Initial Fan Speed: 0.0%
Printing Temp: 205°C
Build Plate Temp: 60°C
Build Plate Adhesion Type: None
Disable supports.
-
Add a pause after layer 1 or 2 to insert fabric: Extensions → Post Processing → Modify G-Code → Add Pause at Height
-
Click Slice and save the file.
5. Study E : Monochrome Cubes¶
Technique¶
Printing PLA on Fabric (Tulle) with Prusa XL Enclosure
Swatch¶
Workflow¶
3d Printing and Slicing Settings
-
Printer: Prusa Slicer 2.9.3
-
Material: PLA
-
Prepare the 3D model and export it as an STL file.
-
Adjust slicing settings:
Open PrusaSlicer → Set Printer: Prusa XL and select PLA or TPU filament.
Import the STL, place it on the build plate, and adjust orientation if needed.
Make sure the model is placed flat on the build plate (Z = 0).
Set print parameters:
Assign 1st group to white PLA and 2nd group to black PLA
PLA: 0.2mm layer, 40–50 mm/s, 205–210 °C nozzle, 60 °C bed, 0% infill
Add pause for fabric after Layer 1 or 2: Right-click model → Add Pause (M601).
Click Slice → review first layers → Export G-code.
Tools¶
Fabrication files¶
-
File: Lace Study ↩
-
File: Monochrome Cubes Pattern ↩

























