Skip to content

Computational Couture

Week06: Students checklist

Gitlab

Image Source: Fabricademy Handbook

1. Objective

This week, we dove into the world of Computational Couture, kicking off with an inspiring lecture by Julia Koerner. Originally from Vienna, Austria, Julia has been based in Los Angeles since 2012 and operates cutting-edge studios in both cities. Her commitment to sustainability is truly remarkable: her LA lab is entirely powered by solar panels, running all 3D printers on solar energy, while her Vienna studio is similarly backed by renewable energy. Defining herself as an architect, designer, and innovator, Julia also serves as an assistant adjunct professor at UCLA. Her design philosophy bridges two worlds, seamlessly translating breakthroughs in fashion into architecture, and vice versa. Throughout her lecture, she introduced us to advanced 3D printing technologies—including SLA, DLP, PolyJet, and SLS—and showcased how she utilizes Rhino as a parametric design tool. For our own projects, we will be working with the open-source software Blender. What truly fascinated me about Julia’s journey and methodology is how deeply she roots her work in the natural world. She has meticulously curated a visual catalog consisting of photographs and 3D scans of California’s natural systems. By examining marine life, aquatic organisms, and the complex surface textures of fungi, she captures more than just external aesthetics; she translates their inner structural logic into intricate, organic designs. Driven by a passion for sustainability, she also introduced us to groundbreaking innovations like glass and sand 3D printing. It was incredibly inspiring. She wrapped up her lecture by focusing on FDM printers, which are the exact machines most of us will be utilizing this week.

2. References, research & inspiration

Research and Inspiration: Julia Koerner's Methodology

As a core reference for this workflow, the procedural and research-driven approach of designer Julia Koerner was highly influential. Koerner extensively studied the biodiversity of marine life and mountain ecosystems in California. By analyzing natural systems, documenting her findings through photography, and even utilizing 3D scanning technology, she meticulously mapped out growth patterns in corals, the textures of fish skins, and the morphology of various organisms. This intensive research culminated in a comprehensive catalog of biological structures that serves as a direct foundation for her product design and use of parametric designs.

This research methodology is deeply fascinating and mirrors my own preferred approach when exploring new subjects or technical interests. Having already applied this nature-marine-inspired, documented strategy here in the Fabricademy program, I intend to fully adopt and integrate this precise framework for my final project.

Gitlab

Image source: Julia Koerner’s nature catalog illustrating biodiversity and growth patterns/Screenshot from lecture

Watch this week's global lecture by Julia Koerner on Vimeo

In connection with Julia's lecture, questions were raised regarding how to tackle parametric design within the span of just a single week. This applied both to managing the design phase—whether modeling procedurally in Blender or utilizing Rhino and Grasshopper—as well as efficiently executing and managing various test prints on the 3D printer.

To tackle this week's assignment, I am following Julia’s personal blueprint for success shared at the end of her masterclass. Here is the framework with some extras:

The Recipe by Julia Koerner

  • Step 1: Map Your Assets. Identify your available resources. What kinds of printers do you have access to in the lab? (FDM, clay, etc.)
  • Step 2: Define the Boundaries. Embrace your limitations and constraints. Carefully consider your materials, maximum print height, and overhang limits within your specific setup.
  • Step 3: Explore Existing Work. Research the current landscape to see what has already been achieved. Dive into Instagram and explore the world of 3dprinting for fashion`—it is a rapidly growing field with a wealth of inspiration.
  • Step 4: Embrace Simplicity. When experimenting with computational couture for the first time, start with the absolute basics. Begin with simple prototypes and basic geometric shapes like circles. With only a week to complete the project, don't lose time trying to write massive, complex scripts. Keep your designs clean and iterate from there.

Adding to this, a final piece of advice from my remote instructor, Louise Massacrier:

  • Step 5: Sample Generously. Aim to create at least 2—ideally 3—test samples. If you scale them down to 5x5 cm, you can easily produce 4 to 5 variations to experiment with.
  • Step 6: Experiment with Textures. Try 3D printing onto a variety of fabrics, such as stretch materials, mesh, and tulle. Printing on flexible, stretchy textiles is particularly exciting, as it can dynamically transform your flat 2D design into a striking 3D effect.

Moodboard and Visual Research

To anchor this workflow in tangible references, I conducted visual research across Pinterest and browsed relevant hashtags as suggested by Julia on Instagram, seeking inspiration for clean, minimalist parametric designs. In alignment with this methodology, I deliberately chose simple geometric forms that mirror structures found in nature. These will serve as foundational, small-scale samples to build a physical reference library in the lab for future projects.

Gitlab

Image source: Instagram from Julia Koerner and Fabricademy

This moodboard explores the intersection between organic nature and synthetic digital fabrication, heavily inspired by the pioneering work of architectural designer Julia Koerner. It documents a visual and technical journey of translating nature's evolutionary logic into physical, 3D-printed textiles.

The visual layout consists of four core elements:

  • Nature Photographs: Capturing the intricate, repeating geometric patterns and growth processes found in the natural world. This forms the foundational aesthetic, directly aligning with Julia Koerner's computational design philosophy.
  • Archival Sketches: Small, exploratory sketches used as an archiving method to deconstruct, analyze, and translate these raw natural patterns into clean vector lines and parameters.
  • Julia Koerner's Innovations: Highlighting iconic samples from Julia Koerner's Instagram and collections (such as the ARID Collection), which demonstrate cutting-edge 3D printing directly onto fabrics.
  • Experimental 3D-Printed Textiles: Test samples showcasing flexible and rigid structures directly onto delicate mesh and tulle substrates.

Gitlab

Image source: Tina Grønbech

Image source: Visual moodboard curated via my open Fabricademy Moodboard on Pinterest, featuring projects and design inspirations.

3. Tools

This week, I utilized the following software and materials:


Chapter 4: Process and workflow

4.1. Parametric 3D Patterns on Textile (Blender)

This chapter documents the procedural workflow for creating a parametric overlapping circle pattern and star pattern in Blender, designed for 3D printing onto mesh fabric (e.g., tulle or netting) using PLA filament and TPU filament.

I initiated my workflow by inspecting the Week 06 inventory box to review the materials purchased in accordance with the Fabricademy material list. Inside, I found a dark blue mesh fabric and a spool of black TPU filament. Having not yet had the opportunity to experiment with printing in TPU, I decided that this was the perfect moment to do so.

Design Approach & Node Setup in Blender: Following Rico Kanthatham's lecture, I chose to first observe his process fully without modeling simultaneously, as I find it easier to absorb complex technical steps this way. Inspired by his lecture and his Fabricademy Blender Geometry Nodes documentation, I opened Blender completely from scratch.

My first step was to install and enable the Node Wrangler add-on to streamline my workflow. Initially, my goal was to generate a wave pattern. However, because the procedural calculations quickly began to overload my computer's processing power, I decided to pivot. Aligning with Julia Koerner's design philosophy of starting with foundational elements, I simplified my approach and began with a single circle and went from there.

Gitlab

Image source: Tina Grønbech

Gitlab

Image source: Tina Grønbech

To map out the procedural logic and determine the exact node configurations needed to build the pattern framework, I utilized AI to assist me in identifying and connecting the correct nodes within the setup. Specifically, I consulted AI to guide me on which nodes and configurations to use in order to duplicate the geometry, scatter the shapes, and successfully generate an array of multiple overlapping circles.


4.2. Blender Geometry Nodes Setup

To ensure the fabric remains flexible yet structurally intact, the pattern must overlap completely, creating a singular, interconnected "armor." Placing individual elements manually is inefficient. Instead, a procedural network was constructed using the Geometry Nodes workspace in blender:

  • Grid: Acts as the primary foundation, defining the exact boundaries of the design. The parameters were locked to Vertices X: 4 and Vertices Y: 4 to generate a perfect 16-point matrix matching a 10x10 cm printing footprint.
  • Instance on Points: This node distributes instances of a custom shape onto every vertex provided by the Grid.
  • Mesh Circle: Serves as the primary pattern primitive. The radius was increased until the boundaries of neighboring circles intersected.
  • Mesh to Curve & Curve to Mesh: A dual-node conversion process. By turning the mesh geometry into a curve, we can use a second curve shape to sweep along it, giving the flat lines structural, physical thickness.
  • Curve Circle: Connected directly into the Profile Curve socket of the Curve to Mesh node. This controls the cross-sectional thickness and extrusion width of the plastic lines (Radius set to 0.005m to 0.01m).
  • Realize Instances: Positioned at the very end of the node chain right before the Group Output. This forces Blender to translate separate virtual instances into one single, unified 3D mesh object capable of being calculated for export.

Gitlab

Image source: Tina Grønbech

Slicer Tweaks & Bed Preparation (PrusaSlicer)

  • Thin Wall Detection: Working within PrusaSlicer's Advanced and Expert modes, I enabled the Detect thin walls setting to see if it would help fuse the narrow geometric lines together more effectively. However, this adjustment had no significant impact on the final print stability for this specific design.
  • Skirt Disabling for Textile Printing: During my first attempt on mesh fabric, I forgot to disable the standard Skirt loop. While a skirt is highly beneficial for standard printing—priming the nozzle and ensuring a smooth, clean filament flow before the first layer begins—it creates issues when printing directly onto textiles. When embedding fabric on the print bed, the skirt loop must be completely deactivated. In PrusaSlicer, this is done by setting the Loops (under Skirt and brim) value to 0, as shown in the photo below.

Gitlab

Image source: Tina Grønbech

  • Initial Wave Pattern Concept: My first attempt involved using AI to guide me toward the correct nodes needed to generate a procedural wave pattern, before switching to the circle design due to hardware limitations and inefficient Ai assistant.

Gitlab

Image source: Tina Grønbech

4.3 Troubleshooting & Known Issues

❌ Issue 1: "Modifier cannot be applied - Object does not contain a mesh"

  • Symptom: Attempting to lock the geometry by clicking Apply on the Geometry Nodes modifier under the Modifier Properties (wrench icon) menu triggered a hard error.
  • Root Cause: The viewport pattern was still technically treated as a collection of virtual "instances" (clones). Blender cannot convert virtual data streams into static 3D geometry without an explicit instruction.
  • Fix: A Realize Instances node was injected directly into the topmost, final output cable running from Instance on Points into Group Output. This successfully collapsed all clones into tangible mesh data, allowing the modifier to apply cleanly.

❌ Issue 2: Grid Collapsed into a Single Ring (Loss of Scale & History)

  • Symptom: Executing the global command Ctrl + A > All Transforms to hardwire the 10x10 cm dimensions caused the 16 circles to completely break and compress directly on top of each other, forming one thick ring.
  • Root Cause: Using All Transforms on an active node object resets the background Group Input metrics to zero, completely wiping the grid layout data.
  • Fix: To bypass dependencies on volatile external inputs, the tombed Group Input node was deleted. It was replaced with an unlinked, native Grid node connected straight into the workspace. This hard-coded the 4x4 matrix parameters directly inside the node data stream.

❌ Issue 3: Disconnected Circle Segments in PrusaSlicer

  • Symptom: Exporting a pattern with thin settings to PrusaSlicer resulted in a fragmented preview. The slicer automatically deleted intersecting points and sharp star tip vectors, identifying them as too narrow for a standard 0.4 mm brass nozzle.
  • Fix for Future Re-creations:
    1. Increase the Radius values on the Curve Circle node to fatten the physical filament trace path.
    2. Enlarge the Mesh Circle (or reduce the layout Grid size) to push intersections further into each other, guaranteeing thick, unbroken boundaries in the final .stl.
  • Real-World Printing Outcome: Despite trying to print the file anyway to observe the physical results, these software fixes did not fully resolve the issue during the actual print run. As seen in the final sample, it is absolutely critical to carefully consider and lock down your structural parameters directly inside Blender before exporting and slicing the .stl file in your slicing software.

Sample 1: Initial Mesh Test (mesh1)

This was the very first file and test run printed onto the mesh fabric. The structural lines turned out too thin and disconnected, failing to form a cohesive pattern.

Print Parameters & Setup: * Material: PLA * Nozzle Temperature: 210 °C * Bed Temperature: 50 °C * Print Speed: 80 mm/s * Substrate: Printed directly on top of the mesh fabric

Adhesion & Fabric Stability Notes: Initially, I attempted to secure the mesh fabric using only magnets. However, as soon as the printer initiated the automated skirt loop, the high-speed movements caused the slick, slippery mesh fabric to slide around uncontrollably on the print bed. This shifting compromised the placement accuracy before the actual model layers could even begin.

Gitlab

Image source: Tina Grønbech


4.4 ⚠️ The Golden Rule: Save Prior to Modifying Properties

Applying the Geometry Nodes modifier via the wrench panel is a permanent "baking" process. Failing to save a dedicated .blend file before confirming this step introduces catastrophic project constraints:

  1. Destructive Automation Wipe: The entire node pipeline disappears from the lower interface workspace. It translates directly into plain vertices and faces. You lose all ability to alter circle counts, wireframe thickness, or scale parametrics dynamically.
  2. No Point of Return: If an issue is flagged inside PrusaSlicer later and the Blender file has already been overwritten or closed, the mathematical model cannot be recovered. The entire project must be reconstructed manually from scratch.

The Standardized Core Workflow:

  1. Complete all parametric tweaks until the 3D viewport matches specifications.
  2. SAVE THE PROJECT (File > Save As as a .blend file). This serves as your non-destructive project master blueprint.
  3. Navigate to Modifier Properties and click Apply to bake the mesh geometry.
  4. Export the resulting asset via File > Export > Stl (.stl).
  5. CRITICAL: Immediately hit Ctrl + Z (Undo) once in Blender. This safely restores your node pipeline on-screen while keeping your exported .stl file fully intact on your drive. Re-save your working workspace.

Sample 2: Dense Circle Pattern (mesh2)

This test run utilized the dense circle pattern design to evaluate how flexible filament behaves when embedded with tulle fabric using a multi-step layering technique.

Print Parameters & Setup: * Material: TPU * Nozzle Temperature: 225 °C * Bed Temperature: 50 °C * Print Speed: 80 mm/s * Bed Preparation: Sprayed with glass cleaner beforehand * Substrate Insertion: 1. The printer laid down 2 initial layers directly onto the print bed. 2. I then manually paused the print run. 3. The white tulle fabric was placed flat on top of these base layers. 4. The print was resumed, continuing to build directly on top of the tulle to sandwich the fabric.

Gitlab

Image source: Tina Grønbech

Gitlab

Image source: Tina Grønbech

Sample Nr2. The nodes are displayed in the top image. Below is the final result, printed with white PLA on tulle fabric.

Gitlab

Image source: Tina Grønbech

Note on Workflow Optimization & Manual Pausing: Instead of embedding a pre-programmed pause command within PrusaSlicer, I deliberately chose to execute the print pause manually. Because I was monitoring the printer closely in real-time, executing a manual pause allowed me to ensure the exact moment the nozzle cleared the print area before touching the bed. This hands-on approach gave me full control over the fabric alignment and saved valuable setup time during rapid prototyping, as I did not have to re-slice and export the file multiple times while testing.

However, for a fully automated and repeatable production workflow, inserting a designated pause command (M601 or Color Change) directly into the G-code via the slicer is the standard professional practice, as detailed below.

Professional Method: Injecting a Pause Command in PrusaSlicer

To automate this process for future prints without needing to camp in front of the printer, follow these steps in PrusaSlicer:

  1. Slice the File: Import your .stl and hit the Slice now button to generate the layer preview.
  2. Locate the Target Layer: Use the vertical scroll bar (layer slider) on the right side of the screen to move down through the layers. Find the exact layer height where the fabric needs to be placed (e.g., right before Layer 3 begins).
  3. Insert Pause: Right-click on the small + (plus) icon on the vertical slider at that specific layer.
  4. Select Pause Print: From the context menu, select Add pause print (M601).
  5. Add a Notification Message (Optional): A dialogue box will appear where you can type a short message (e.g., "Place Tulle Fabric Now"). This message will display on the 3D printer's LCD screen when it reaches that layer.
  6. Re-slice & Export: Click Slice now again. The G-code now contains an automated command that safely parks the print head and waits for you to hit resume after placing the fabric.

Post-Print Analysis: Although the embedding technique successfully trapped the fabric fibers inside the plastic, this dense geometric layout proved to be highly problematic for TPU. The combination of the high-density pattern, the flexible filament, and the manual pause method caused the model to fuse completely to the build plate. Despite preparing the bed with glass cleaner, it could not be removed without tearing. This outcome demonstrates that a more open, less dense layout is required when working with TPU on this setup.

Sample 3: Four Circle Pattern (mesh3)

Gitlab

Image source: Tina Grønbech

Gitlab

Image source: Tina Grønbech

This sample evaluated a redesigned four-circle geometric layout across two different material configurations. The goal was to test how different filament types interact with contrasting tulle fabrics using the manual embedding technique.

Configuration A: White PLA on Black Tulle

  • Material: PLA (White)
  • Nozzle Temperature: 210 °C
  • Bed Temperature: 60 °C
  • Print Speed: 80 mm/s

Configuration B: Black TPU on White Tulle

  • Material: TPU (Black)
  • Nozzle Temperature: 225 °C
  • Bed Temperature: 50 °C
  • Print Speed: 80 mm/s

Layering & Fabric Embedding Setup (Both Configurations): * Layer Count: 2 base layers printed directly on the bed before fabric insertion. * Manual Interaction: I chose to monitor the machine continuously and pause the print sequence manually after the second layer completed. * Fabric Tensioning: The tulle fabric (black for PLA, white for TPU) was laid completely flat over the printed base layers and tensioned tightly across the build plate using a secure combination of clips and magnets to prevent any shifting when the nozzle resumed printing.

Gitlab

Image source: Prusa printing with TPU and PLA, sample 3, Tina Grønbech

Gitlab

Image source: And here are the results using white PLA and black TPU on tulle fabric, Tina Grønbech

Sample 4: Transitioning to a Parametric Star Pattern

To expand the project framework, the circle template was swapped out for an 8-pointed geometric star array. While the underlying pipeline remained identical, processing a sharp vector shape instead of smooth circles introduced critical data type, scale, and slicer thickness challenges.

Resolving the Curve Data Type & Scale Discrepancies

  • The Curve Trap: Replacing the Mesh Circle node with a native Star node initially caused the 3D viewport to go completely blank. This occurred because the Star node outputs a Curve data type. The existing pipeline still contained a legacy Mesh to Curve node. Passing a curve stream into a node expecting a mesh broke the hierarchy.
  • The Fix: The obsolete Mesh to Curve node was deleted. The Star output was linked directly into the main Curve to Mesh node, resolving the data conflict.
  • The Invisible Scale: The default dimensions of the newly loaded star template were massive (Inner Radius: 1m / Outer Radius: 2m). Because the layout Grid was limited to a tiny 10x10 cm textile footprint, the star vectors expanded way outside the viewing matrix.
  • The Fix: The boundary parameters inside the Star node were manually scaled down to reflect physical object boundaries:
    • Points: Set to 8 for a dense geometric matrix.
    • Inner Radius: Lowered to 0.12 m
    • Outer Radius: Lowered to 0.15 m
    • Note: By minimizing the delta between the inner and outer radius, the stars morphed into thick, bulky polygons with massive footprints, which is essential for stable FDM filament extrusion through texturing pores.

Gitlab

Image source: Tina Grønbech

Scale Correction & Node Optimization (mesh4 / Star Pattern)

When importing the generated star pattern .stl file into PrusaSlicer, the model appeared extremely small on the virtual build plate. To achieve the correct physical dimensions for printing, I had to scale the model up to 300% directly inside the slicing software.

Gitlab

Image source: Tina Grønbech

Technical Root Cause in Blender Geometry Nodes: This scaling issue occurred because the underlying Geometry Nodes tree in Blender lacked explicit structural scale and dimension parameters. Looking at the node setup (as seen in the screenshot): * The Curve Circle and input radii were set to very low default values (e.g., 0.15m and 0.10m), which do not translate directly to standard millimeters (\(1:1\)) when exported as a raw mesh to an .stl. * To fix this inside Blender for future variations, a Transform Geometry node or explicit math nodes should be inserted right before the Group Output to lock down the exact physical width, height, and line thickness in millimeters.

Workflow Decision under Time Constraints: Due to strict time limitations and a strong desire to complete a physical test run on the dark blue mesh fabric from the Week 06 inventory kit, I chose not to go back into Blender to rebuild the node logic and regenerate a new .stl file. Instead, utilizing PrusaSlicer’s global scale multiplier (\(300\%\)) proved to be a highly efficient, time-saving workaround that allowed me to proceed directly to a successful print without altering the procedural pipeline.

Samples 4 & 5: Star Pattern Scale Up (mesh4 / mesh5)

This experiment tested the procedural star pattern on the dark blue mesh fabric from the inventory kit, scaled up to 300% in PrusaSlicer. The run was executed simultaneously across two different printers to directly compare the structural behavior of rigid PLA against flexible TPU.

Print Parameters & Setup (Both Materials): * Layer Count: 5 layers total. * Total Height: Increased line thickness via multi-layer extrusion for better physical presence on fabric. * Print Speed: 80 mm/s.

Configuration A: White PLA on Dark Blue Mesh

  • Material: PLA (White)
  • Nozzle Temperature: 210 °C
  • Bed Temperature: 50 °C
  • Fabric Insertion: Manually paused after 2 base layers, tensioned tightly, and resumed.
  • Result: Highly successful. The contrast between the white PLA and the dark blue mesh turned out beautiful, sharp, and structurally stable.

Configuration B: Black TPU on Dark Blue Mesh

  • Material: TPU (Black)
  • Nozzle Temperature: 225 °C
  • Bed Temperature: 50 °C
  • Fabric Insertion: Manually paused after only 1 initial base layer before laying down the fabric.
  • Result: The print failed and was ruined during removal. Even though the bed was allowed to cool down completely before attempting to peel it off, the flexible star geometry tore apart.

Gitlab

Image source: Tina Grønbech

Gitlab

Image source: Tina Grønbech

And here are the results using white PLA on blue mesh fabric.

Gitlab

Image source: Tina Grønbech

4.5.2 Troubleshooting: Fixing Flat Geometry and Artifacts (The Slicer Shortcut)

  • The Flat Geometry Issue: Initial exports resulted in lines that were too thin and lacked a dedicated vertical profile (Z-axis height), making it impossible for the plastic to sink safely into the weave of the mesh netting.
  • The Extrude Artifact Trap: Attempting to solve this in Blender by placing an Extrude Mesh node before the instances were generated caused severe structural distortions, stretching the star lines into hollow, vertical accordion-like sheets.
  • The Efficiency Fix (The Slicer Shortcut): Due to strict time constraints and to bypass complex node repositioning loops, the model was baked flat in Blender and exported as a 2D-plane .stl. The critical structural modifications were handled directly inside PrusaSlicer:
    1. Adding Z-Height: The model was selected on the virtual print bed, and the Z-Axis Scale Factor was scaled up independently. This stretched the model upward, forcing a uniform 2.0 mm thickness across the entire pattern.

Troubleshooting & Conclusion for the TPU Star Failure: The failure of the TPU star sample boils down to two critical factors: 1. Insufficient Base Anchoring: Pausing after only 1 layer of TPU did not create a thick enough foundation on the bed before the fabric was introduced, weakening the structural backbone of the print. 2. Delicate Vector Geometry: Because the mesh parameters inside Blender were not adjusted to widen the geometry before exporting, the star tips and vector lines remained too delicate for a flexible material. While rigid PLA can maintain its shape with thin lines, TPU requires a thicker, beefier physical trace path (more material volume) to withstand the pulling forces during bed removal without tearing.

Failures and learning curve

I made several different attempts that did not work out, but still worked as a learning curve:

  • First Mesh Print Attempt: During the initial test print on mesh fabric, I forgot to remove the standard Prusa prime line (the automated boundary ring/purge line at the start). Additionally, the fabric was not tensioned correctly on the print bed. I experimented with various holding methods, including clips and magnets, before finally succeeding in getting the fabric perfectly flat and secured.
  • Black TPU Sample on Tulle: The test runs using black TPU on tulle. The TPU filament bled/oozed slightly, causing the shapes to expand a bit. Furthermore, I did not apply enough glass cleaner (bed adhesive/release agent) to the print bed beforehand, which caused some of the printed stars and circles to fuse tightly and get stuck to the surface.

Gitlab

Image source: Tina Grønbech

Gitlab

Image source: Tina Grønbech

Pattern Density & Material Comparisons

  • Pattern #2 (Dense Circle Pattern): This design printed perfectly on tulle when using rigid PLA. However, when switching to flexible TPU on the exact same tulle fabric, the pattern fused completely to the build plate. Even though a designated TPU-compatible sheet was used alongside window cleaner as a release agent, the dense layout made the TPU model nearly impossible to remove without damaging it. This experience confirms that highly dense geometric patterns are unsuitable for flexible materials in this specific printing setup.
  • Pattern #3 4 circles (Optimized TPU Pattern): Based on the previous failure, a less dense layout was tested. This adjusted design successfully resolved the over-adhesion issue, allowing the printed TPU structure to release flawlessly from the print bed as intended.

...


5. Results

Material Experimentation Log (Samples 1–4)

To test the parametric designs, a series of material samples were fabricated using different filament-textile combinations, bed preparation methods, and slicer modifications.

Gitlab

Image source: Tina Grønbech

Sample Design / Shape Filament Textile Base Bed Preparation & Fixturing Notes & Troubleshooting
#3 4 Overlapping Circles (2x2 Matrix) White PLA Black Tulle / Netting Standard bed sheet. Printing paused at Layer 3; fabric secured tightly using binder clips and magnets. Successful bonding. The manual fabric suspension method worked effectively.
#3 4 Overlapping Circles (2x2 Matrix) Black TPU White Tulle / Netting Textured PEI bed sheet. Sprayed with window cleaner to prevent permanent bonding. Fabric secured with clips/magnets at Layer 3. Critical Warning: A textured bed sheet and window cleaner spray are mandatory for TPU; printing directly on a standard smooth sheet will ruin the build plate.
#2 Optimised Overlapping Circles White PLA Black Tulle / Netting Standard bed sheet. Paused at Layer 3; secured tightly with clips and magnets. Blender Adjustment: The Curve Circle radius was increased (fattened), and the base grid spacing was reduced to create a thicker filament trace and massive overlapping fields. Sliced perfectly without fragmentation.
#4 (A) 8-Pointed Star Array White PLA Dark Blue Mesh Standard bed sheet. Paused at Layer 3; secured tightly with clips and magnets. Workflow Adjustment: Due to time constraints, the 2D file was exported flat from Blender. The final Z-axis thickness (2.0 mm) was scaled up directly inside PrusaSlicer prior to printing. Successful print.
#4 (B) 8-Pointed Star Array Black TPU White Tulle / Netting Textured PEI bed sheet with window cleaner spray mitigation. Failed Print: The print was structurally sound, but due to impatience, and need of a bit more glass cleaner, it was removed before the bed had fully cooled down. The warm TPU stretched and tore, destroying parts of the sample.

Gitlab

Image source: Tina Grønbech

6. Weekly reflection & critical thinking

Reflecting on this week's workflow, the intersection between parametric design in Blender and physical multi-material printing on textiles highlighted both great potential and steep learning curves:

  • Software vs. Hardware Realities: This week proved that what looks perfect on a monitor or inside a digital slicer preview doesn’t automatically translate to a successful physical print. Small micro-parameters inside Blender's Geometry Nodes—such as circle radii and intersection depths—have a massive domino effect on whether a standard 0.4 mm nozzle can actually extrude a stable path.
  • Material Limitations (PLA vs. TPU): While rigid PLA is highly forgiving with thin, intricate geometries, flexible TPU behaves completely differently. TPU requires bulk, wider paths, and a stronger structural foundation (at least 2 base layers) to survive being pulled off the build plate. The dense pattern failure taught me that material selection must dictate the density of the computational design from step one.
  • Workflow Adjustments: Although manual pausing worked well for rapid prototyping under time pressure, it is a high-risk method for production. Learning how to properly inject M601 pause commands directly into the G-code via PrusaSlicer is a crucial skill I will carry forward to secure absolute repeatability.
  • The Software Dilemma (Rhino/Grasshopper vs. Blender): If you intend to work seriously within the field of parametric and computational design, utilizing Rhino with Grasshopper is arguably the superior choice, as that ecosystem is tailored specifically for this purpose. However, Blender remains an amazing and powerful alternative due to it being open-source. The fact that it is free and accessible to everyone is a massive advantage that democratizes digital fabrication in design.

7. Fabricademy Checklist Evaluation

  • Document the concept, sketches, and references (including Julia Koerner's approach).
  • Design a parametric model using Blender Geometry Nodes.
  • Learn and execute 3D printing techniques directly onto textile substrates (Mesh & Tulle).
  • Document the file-to-factory workflow, machine preparation, and slicing parameters.
  • Upload the final .stl file and pictures to the OS Circular Fashion platform.
  • Submit physical swatches (approx. 20cm * 20cm) to the analog material library at the lab. (Note: I am donating these experimental textile swatches directly to the analog material library of the Fab Lab that I manage, contributing to our local archive for future makers).

8. Project Files & Downloads

To assist future documentation and provide a verifiable reference from this archiving process, I have uploaded both the final geometry mesh and the complete machine command file utilized during my second print iteration: