Skip to content

6. Computational Couture

Introduction and Research

In the Computational Couture week, I explored the intersection of fashion and technology by focusing on parametric modeling and 3D printing on fabric. The aim was to learn how to utilize computational design tools to create intricate patterns and test their implementation through innovative material applications.

Key focuses for the week included:

  • Exploring Parametric Modeling with Grasshopper: Understanding the basics of Grasshopper, creating parametric scripts, and experimenting with geometric designs to generate customizable and dynamic patterns.

  • Experimenting with 3D Printing on Fabric: Investigating techniques to successfully print on textiles using different materials, including PLA and TPU, and utilizing dual-color printing with the Ultimaker S5’s dual-nozzle setup.

Research this week revolved around:

  • Attraction Point Systems for Pattern Generation: Learning how proximity and control points influence the geometry of parametric designs.

  • Truchet Patterns: Understanding their modular nature and adaptability to various design configurations.

  • Material Behavior Analysis: Observing how rigid PLA and flexible TPU interact with fabric substrates, particularly when printing on stretched textiles.

Inspiration

Before jumping into Grasshopper and printing, I spent some time exploring examples of computational design applied to textiles and fashion. I was particularly inspired by:

  • Parametric pattern systems like Truchet tiles, which allow for infinite variation through modular rules. Truchet patterns, which are simple geometric tiling systems that create intricate visual effects. These patterns have been widely used in both mathematical art and design. Inspired by this resource on Truchet patterns.

T2 Module

  • The potential of 3D printing on fabric to create hybrid surfaces—where soft and rigid materials interact dynamically.

  • Projects that personalize generative design, which led me to include Zozo’s fur pattern as a meaningful visual element in my experiments.

Utilizing Grasshopper to Create Parametric Designs

a. Triangles Pattern Using Attraction Points

Grasshopper Script:

  • Base Triangular Grid Creation:

    • A Triangular Grid component was used to generate the base geometry. The grid defines a pattern of equilateral triangles distributed across a plane.

    • Plane Size and Extent X/Y inputs control the overall size and resolution of the grid, allowing customization of the pattern dimensions using sliders.

    • The triangular grid serves as the foundation for the design, with each triangle being a unit for transformation.

  • Attraction Point Setup:

    • A Point component is used to define the location of the attraction center. The point's coordinates are dynamically adjustable using sliders to shift its position in real-time.

    • A Sphere component is added for visualization purposes, representing the influence area of the attraction center but not actively modifying the geometry.

    • The Closest Point component calculates the proximity of each triangle’s centroid to the defined attraction point.

    • The proximity values output from the Closest Point component are used as inputs for further transformations.

  • Mapping Proximity Values:

    • A Remap Numbers component scales the proximity values into a specified range. This remapping controls the strength of the attraction effect on each triangle.

    • A Domain Mapping operation ensures the values are evenly distributed across a defined range, allowing finer control over deformation intensity.

  • Deforming the Triangles:

    • A Scale component modifies the size of each triangle based on its proximity to the attraction point. Triangles closer to the attraction point are scaled down, while those farther away remain larger or unchanged.

    • The scale factors are dynamically adjusted using sliders to refine the deformation effect.

    • An Extrusion component is used to add height to the grid, transforming the 2D triangular pattern into a 3D structure. The Extrusion Direction is defined by a vector input, and the height is controlled by a slider for precise adjustments.

Rhino Design 1

Slicing and Printing:

Printer & Material Settings

  - **Printer**: Ultimaker S5  
  - **Filament Type**: PLA, dual-color (white and blue)  
  - **Nozzle Diameter**: 0.4 mm  
  - **Layer Height**: 0.2 mm  
  - **Printing Temperature**: 210°C  
  - **Bed Temperature**: 60°C  
  - **Print Speed**: 50 mm/s (reduced to 20 mm/s for the first layer on fabric)  
  - **Fabric Type**: Tulle fabric  
  - **Pause Layer**: After Layer 2 (fabric placed and secured manually with tape and metal clips)
  • Dual-Nozzle Setup: Imported the STL files into Cura and assigned separate designs to the dual nozzles of the Ultimaker S5. Each nozzle was configured with a different PLA color to produce vibrant, two-tone patterns.

  • Fabric Integration: Added a pause in the print process after the second layer to integrate the fabric:

Cura Pause Screenshot 1

Cura Pause Screenshot 2

  • Stretched the fabric evenly over the print bed to eliminate wrinkles or slack.

  • Secured the fabric with tape and metal clips, ensuring it remained taut and immovable throughout the printing process.

  • Print Settings Optimization: Reduced the print speed for the first layer on the fabric to improve adhesion and avoid displacement. Adjusted temperatures and retraction settings for smooth material flow and strong bonding.

  • Final Printing: Resumed printing after confirming the fabric was secure, achieving a seamless integration of the printed design with the fabric.

Triangles 1.1 Triangles 1.2
Triangles 1.3 Triangles 1.4
Triangles 1.5 Triangles 1.6
Test 2
  • One of the tests which I did failed and a couple of pieces did not adhere to the bed, but I decided to continue printing and salvage as much as I could from the print.

Triangles 2.1

Triangles 1.7.2 Triangles 1.7
Test 3
  • The third test I did was using black and white filament.
Triangles 2.2 Triangles 2.3
Triangles 2.5 Triangles 2.6
Triangles 2.7 Triangles 2.8

b. Truchet Pattern Script

Grasshopper Script:

  • Base Grid Creation:

    • A Rectangular Grid component is used to create a grid of points that serve as the layout for placing Truchet tiles.

    • The grid size, extents, and cell dimensions are controlled by sliders, allowing you to adjust the density and scale of the pattern dynamically.

  • Randomization Logic:

    • A Random Component is used to generate randomized values within a defined range, which are likely used to control the orientation or type of each tile.
    • The Seed input ensures repeatability of the random pattern, while sliders adjust the range or quantity of random values.
  • Curve Generation for Tiles:

    • Each tile is defined using Arc Components, where specific arcs form the building blocks of the Truchet pattern.
    • The arcs are parametrically controlled to ensure they fit within the grid cells. This creates the characteristic curved connections of Truchet tiles.
  • Tile Assembly:

    • List Operations (e.g., splitting and combining lists) are used to assign specific arcs or tile configurations to corresponding grid cells.
    • The arcs are grouped together into individual tiles, forming a seamless pattern across the grid.
  • Extrusion and Output:

    • Once the curves for each tile are created, a Curve Extrusion component adds thickness, converting the 2D pattern into a 3D printable structure.
    • The extrusion direction and thickness are controlled by a slider, giving flexibility to adjust the final output for 3D printing.

Truchet Grasshopper 2

Truchet Grasshopper 3

Slicing and Printing:

Printer & Material Settings

  - **Printer**: Ultimaker S5  
  - **Filament Type**: TPU, blue  
  - **Nozzle Diameter**: 0.4 mm  
  - **Layer Height**: 0.2 mm  
  - **Printing Temperature**: 225°C  
  - **Bed Temperature**: 60°C  
  - **Print Speed**: 35 mm/s (reduced to 15 mm/s for the first layer)  
  - **Fabric Type**: brown stretchable mesh  
  - **Pause Layer**: After Layer 2 (fabric inserted during pause and kept stretched)
  • Fabric Embedding: Added a pause in Cura after the second layer to facilitate fabric embedding:

    • Stretched the fabric tightly across the print bed, using tape and metal clips to secure it in place.

    • Reduced the print speed for the first layer to ensure accurate adhesion of the TPU filament onto the fabric.

Truchet 1 Truchet 2
Truchet 3 Truchet 4
  • Material Selection: Printed with TPU filament, utilizig its flexibility to create dynamic, stretchable patterns that worked harmoniously with the fabric.

  • Testing and Refinement: Conducted multiple test prints to observe how the TPU interacted with the stretched fabric, adjusting settings to optimize the final outcome.

  • Final Printing: Completed the print with well-defined, flexible designs integrated seamlessly into the fabric.

Truchet 5 Truchet 6

Truchet 7

c. Zozo’s Pattern

Grasshopper Script:

  • Image Processing: Imported an image of Zozo, my friend’s cat, into Rhino to begin the design process.

  • Pattern Tracing: Manually traced the fur pattern using Rhino’s curve tools, capturing the unique texture and flow of Zozo’s fur. This detailed tracing formed the basis of the design.

  • Pattern Variations:

    • Created a raw, organic fur pattern reflecting the natural structure.

    • Designed a circular arrangement by replicating, scaling, and rotating the traced elements in Grasshopper, producing a symmetrical, visually compelling pattern.

  • Dynamic Adjustments: Used Grasshopper components to fine-tune the density, rotation, and scale of the fur elements, allowing for enhanced visual and structural variation.

  • Finalization: Baked both patterns into Rhino and exported them as STL files for slicing and printing.

Slicing and Printing:

  • Fabric Embedding: Added a pause after the second layer to insert fabric:

    • The fabric was stretched and secured using tape and metal clips, ensuring it remained perfectly taut.

    • Adjusted Cura settings to slow the print speed for the first layer on the fabric, enhancing adhesion and precision.

  • Material Selection: Printed using TPU filament, chosen for its flexibility and compatibility with the stretched fabric.

  • Printing Tests: Conducted two tests:

    • A single-section print of the raw fur pattern.

    • A full circular arrangement derived from the fur design.

  • Final Steps: After ensuring proper integration, resumed printing to complete the designs. The results showcased dynamic, textured outputs that blended seamlessly with the fabric, highlighting both functionality and aesthetic appeal.

Three Test Prints:

  • Test 1: PLA Outline
  • Printed the main fur pattern as an outline using PLA on tulle fabric.
  • This version was used to test the clarity of linework and visual definition using a rigid material.

!!! note "Printer & Material Settings"

      - **Printer**: Ultimaker S5  
      - **Filament Type**: PLA, white  
      - **Nozzle Diameter**: 0.4 mm  
      - **Layer Height**: 0.2 mm  
      - **Printing Temperature**: 210°C  
      - **Bed Temperature**: 60°C  
      - **Print Speed**: 35 mm/s (reduced to 15 mm/s for the first layer)  
      - **Fabric Type**: mesh  
      - **Pause Layer**: After Layer 2 (fabric inserted during pause and kept stretched)
Zozo 1.1 Zozo 1.2

Zozo 1.3.1

Zozo 1.3 Zozo 1.4
  • Test 2: TPU Filled Pattern on Stretched Fabric

  • The full filled pattern was printed using TPU filament on stretched fabric.
  • This test was done to examine how the flexible material would respond to the tension of the fabric and how the design would behave after the fabric is released.

    Printer & Material Settings

    • Printer: Ultimaker S5
    • Filament Type: TPU, blue
    • Nozzle Diameter: 0.4 mm
    • Layer Height: 0.2 mm
    • Printing Temperature: 225°C
    • Bed Temperature: 60°C
    • Print Speed: 35 mm/s (reduced to 15 mm/s for the first layer)
    • Fabric Type: black stretchable mesh
    • Pause Layer: After Layer 2 (fabric inserted during pause and kept stretched)
Zozo 3.1 Zozo 3.2
Zozo 3.3 Zozo 3.4
Zozo 3.5 Zozo 3.6
  • Test 3: Scaled Circular Pattern with TPU

  • Scaled down and arranged the fur pattern in a circular layout using Grasshopper.
  • Printed the circular pattern using TPU on stretched fabric to observe visual and structural distortion, and how the radial layout affects the fabric’s flexibility.

    Printer & Material Settings

    • Printer: Ultimaker S5
    • Filament Type: TPU, white
    • Nozzle Diameter: 0.4 mm
    • Layer Height: 0.2 mm
    • Printing Temperature: 225°C
    • Bed Temperature: 60°C
    • Print Speed: 35 mm/s (reduced to 15 mm/s for the first layer)
    • Fabric Type: brown stretchable mesh
    • Pause Layer: After Layer 2 (fabric inserted during pause and kept stretched)
Zozo 2.1 Zozo 2.2
Zozo 2.3 Zozo 2.4
Zozo 2.5 Zozo 2.6

Conclusion

Key Learnings from the Week:

  • The integration of computational design tools, such as Grasshopper, with 3D printing workflows showcased the synergy between parametric modeling and material application.
  • Exploring both rigid (PLA) and flexible (TPU) materials highlighted their unique roles in innovation:
    • PLA provided stability for static designs.
    • TPU enabled dynamic, wearable, and stretchable applications.
  • The week emphasized the versatility of computational design in blending creativity with technical precision, unlocking new possibilities in the fashion and textile industry.

Reflection on Future Directions:

  • Further exploration of parametric modeling techniques will deepen understanding of creating complex, adaptable designs with improved functionality.
  • Investigating combinations of advanced materials and multi-material printing methods will expand the boundaries of creativity and practicality.
  • Applications could broaden into industries such as healthcare (wearable medical devices), sports (adaptive gear), and architecture (flexible textiles for interiors).

Files: