6. Computational Couture¶
goals of the week & contents¶
- Document the concept, sketches, references, artistic and scientific publications.
- Design a parametric model using Grasshopper3D and upload the rhino file + grasshopper file.
- Learn how to use 3D printing techniques to print the 3D model in/on the chosen materials.
- Document the workflow for exporting your file, preparing the machine and gcode to be 3D printed.
- Submit some of your swatches to the analog material library of your lab (20cmx20cm approx).
Here are some inspiring projects developed by previous participants:
Stereolithography (SLA) is a 3D printing method that uses a UV laser to cure layers of liquid resin into solid objects. The laser traces each layer of the design, hardening the resin, and the platform lowers to add the next layer. SLA is known for high precision and smooth finishes, widely used in industries like jewelry, dentistry, and prototyping for creating detailed models.
(A) Top-down system with scanning laser on top / (B) Bottom-up systems with digital light projection (DLP)
PolyJet is a 3D printing technology that jets layers of liquid photopolymer onto a surface and cures them instantly with UV light. It can print with multiple materials and colors at once, creating highly detailed and smooth models with different properties like rigidity or flexibility. Commonly used for prototyping and medical models, PolyJet produces precise and complex parts with minimal post-processing needed.
Selective Laser Sintering (SLS) is a 3D printing method where a laser fuses powdered material, into solid layers. Each layer of powder is selectively sintered by the laser, and new layers are added until the object is fully formed. SLS doesn't need support structures and is ideal for creating strong and complex parts.
Fused Deposition Modeling (FDM) is a 3D printing technique that creates objects by extruding melted thermoplastic filament through a nozzle, layer by layer. The molten material adheres to the previous layer as it cools and solidifies. Known for its simplicity and cost-effectiveness, FDM uses various thermoplastics like PLA and ABS, making it popular for both prototyping and functional parts, though it may require post-processing for a smoother finish.
Fused Filament Fabrication (FFF) is a 3D printing process that extrudes melted thermoplastic filament through a heated nozzle, layer by layer, to create objects. Similar to Fused Deposition Modeling (FDM), it allows for the use of various materials like PLA and ABS, but FFF is more common in hobbyist and consumer-grade printers, making it more accessible for personal use.
An Overview of Manufacturing Methods:
Formative manufacturing involves techniques that shape materials without removing any material. While traditional 3D printing is primarily additive, some formative methods include using 3D-printed molds for casting. This allows for efficient high-volume production of complex geometries once the molds are established.
Subtractive manufacturing can be integrated into some advanced 3D printing systems. Hybrid machines combine additive and subtractive technologies, enabling the initial printing of a part using methods like Fused Deposition Modeling (FDM) and milling or CNC processes for refinement. Subtractive techniques can also be used in post-processing to achieve high precision and quality in final parts.
Additive manufacturing is the core of 3D printing, where objects are built layer by layer from digital models.Common techniques include Fused Deposition Modeling (FDM), Stereolithography (SLA) and Selective Laser Sintering (SLS). This method is highly versatile, allowing for complex geometries and custom designs while reducing waste compared to traditional manufacturing methods.
Important and useful videos and websites that Asli shared with us:
- Generative Landscape
- Generative Design From Lamps to Lungs: Nervous System Presentation at CDFAM NYC 2024
- The Grasshopper Primer
- What is the difference between Generative, Computational, and Parametric Design?
- How to: Simple Growth Simulation (Grasshopper)
- Grid Distortion in Grasshopper Using Tensors
- How to make magnetic field Rhino Grasshopper Tutorial
- How to make curves around points Rhino Grasshopper Tutorial
- How to use Image Sampler Rhino Grasshopper Tutorial
- Vector Field Tools in Grasshopper – Basic + And – Point Charges
- Rhino + Grasshopper Tutorial : Voronoi Curve Attractor
- How to use multiple attractors in Rhino Grasshopper
tools¶
research & ideation¶
- IRIS VAN HERPEN.
- BLACK LOTUS by HERSCHEL SHAPIRO, 3D printed parametric wall sculpture.
- AUDREY LARGE, 3D printed sculptures.
- MYCO-CLAY by bioMATTERS, 3D prints interior objects using clay and mycelium.
- RAE RING, AP0CENE, handmade with plant-based 3D printed details.
- ORGANIC-PARAMETRIC TOWER by ANDREAS PALFINGER, virtual architecture.
- SINS OF FASHION by MICHELLE VOSSEN, 3D printed gloves with flower pattern.
- TRAVIS FITCH, 3D printed parametric dress.
- NYLON FISHNETS by TRAVIS FITCH.
BEHNAZ FARAHI is a designer and architect specializing in interactive environments and wearable technology. She uses advanced techniques like 3D printing and robotics to create responsive designs that react to human movement and emotions. Her work explores the intersection of technology, the human body, and space, earning recognition for pushing the boundaries of design and human-technology interaction.
Iridescence is a 3D-printed, Emotive Collar. The project was commissioned by the Museum of Science and Industry Chicago entitled “Wired to Wear”.
Opale is an emotive garment which can recognize and respond to the facial expressions of people around. This project is funded by the USC Bridge Art + Science Alliance Research Grant program.
workflow¶
3D printers in the lab¶
In our lab, we worked with the following 3D printers:
- Prusa i3 mk3s (Ø1.75mm)
- Ultimaker 2+ (Ø2.85mm)
- Creality Ender 3 (Ø1.75mm)
Guidelines to follow when working with FDM 3D printers:
- Keep the area around the 3D printer clean.
- The extruder, nozzle, and heated bed can reach very high temperatures (up to 250°C or higher). Avoid touching these parts while the printer is operating.
- Keep filament spools in dry, sealed containers to avoid moisture absorption, which can affect print quality. Ensure the filament end is securely fastened to prevent tangling.
- Regularly clean the nozzle to prevent blockages.
- Perform regular calibration checks to ensure optimal performance and avoid mechanical issues during printing.
- Use the printer’s pause or stop functions to halt operations before making any adjustments.
- Use spatulas or scrapers to remove prints from the bed.
- Clean the print bed with ethanol before printing to ensure proper adhesion and prevent print failures.
The Bowden Extruder is mounted on the printer frame, reducing weight on the printhead for faster, quieter, and higher-quality prints. It can potentially increase build volume but faces issues like friction during filament movement, requiring more torque. The longer distance to the printhead can lead to delayed response times and may cause flexible or abrasive filaments to bind or wear in the tubes.
In contrast, the Direct Drive Extruder is attached to the printhead, providing precise filament control and easier retraction, making it compatible with a wider range of materials, especially flexible ones. However, this setup adds weight, which can slow movements and impact accuracy, and can complicate maintenance.
LIST OF MATERIALS
Material | Details |
---|---|
PLA (Polylactic Acid) | Easy to print, biodegradable, and widely used, but it has low heat resistance and is less durable compared to other materials, making it ideal for beginners and general-purpose prints. |
PETG (Polyethylene Terephthalate Glycol) | Strong, flexible, and resistant to impact and chemicals, combining ease of printing (like PLA) with improved durability, making it suitable for functional parts and outdoor use. |
ABS (Acrylonitrile Butadiene Styrene) | Tough, heat-resistant, and durable, but requires higher temperatures and a heated bed to prevent warping, commonly used in industrial and functional applications. |
ASA (Acrylonitrile Styrene Acrylate) | Similar to ABS but with better UV resistance, making it ideal for outdoor use, offering strength and durability with good weather resistance. |
PC (Polycarbonate) | Extremely strong, heat-resistant, and impact-resistant, but requires high printing temperatures and a heated bed, commonly used in engineering applications and for tough, functional parts. |
PHA (Polyhydroxyalkanoate) | Biodegradable and eco-friendly material similar to PLA, but is more flexible and impact-resistant, although it is less common. |
PVA (Polyvinyl Alcohol) | Water-soluble and often used as a support material in dual-extrusion printing, useful for printing complex models with removable supports. |
TPE/TPU (Thermoplastic Elastomer/Polyurethane) | Flexible, rubber-like material with good impact resistance, great for printing flexible objects like gaskets, phone cases, or footwear. |
LIST OF FILLERS
Fillers refers to additives mixed into the base material (typically plastic) of a filament to modify its properties, both in terms of functionality and appearance. However, while useful, they complicate recycling, often making the material non-biodegradable and leading to more waste. Some fillers release harmful particles, posing health risks without proper ventilation. Overall, fillers add complexity and environmental drawbacks, making them less sustainable than pure or biodegradable alternatives.
Fillers | Pros | Cons |
---|---|---|
Wood | Produces a natural, wood-like texture and finish, which can be sanded, stained, or painted. Often biodegradable and renewable, as it's usually blended with PLA. | Weaker than pure plastic filaments, reducing durability and mechanical strength. The presence of wood fibers can increase the likelihood of nozzle clogging, especially with smaller nozzles. The final print might have a rough surface that may require post-processing for a smoother finish. |
Metal | Gives prints a realistic metal look and feel, including a heavier weight, often resembling bronze, copper, or steel. Metal-filled filaments generally offer higher strength and durability than standard plastic filaments. Can be polished or treated to enhance the metallic finish, giving a premium appearance. | The metal particles can wear down the nozzle over time, requiring hardened nozzles or more frequent replacements. The added metal content increases the weight of the printed object, which can be a disadvantage for certain applications. Metal-filled filaments can be harder to print, requiring more careful calibration and higher temperatures. |
Cork | Produce lighter objects, useful for applications where weight reduction is important. Offers good shock absorption and flexibility, making it ideal for specific designs like insulators or protective parts. Provides a unique, natural appearance with a soft texture. | Not as strong or durable as other materials like metal or pure plastics. Primarily suited for aesthetic or lightweight applications rather than functional or mechanical parts. Less common, making them harder to find and sometimes more expensive. |
Hemp | Renewable, biodegradable material, making it an eco-friendly option. Can improve the strength and toughness of the print, giving it a more durable, natural finish. Produces a natural, rough texture that is unique and visually appealing. | Can increase the risk of nozzle clogging and require more maintenance. The natural fibers may reduce the overall precision of the print, resulting in a slightly rougher surface finish. It’s more suited for decorative or sustainable projects rather than high-performance or industrial parts. |
PARAMETRIC DESIGN is a method that leverages algorithms to set rules and parameters that define a design's structure. Instead of manually creating each component, designers establish parameters that determine relationships within the design. By adjusting these parameters, you can create multiple design variations quickly. This approach is especially powerful in architecture, industrial design, and digital art because it allows for complex shapes and adaptive structures that are otherwise hard to conceive or produce.
GENERATIVE PATTERNS
-
Differential Growth is a process-inspired algorithm that simulates how organisms grow by unevenly expanding and dividing cells. It creates organic and flowing patterns. The technique calculates points or lines that expand at variable rates.
-
Magnetic Field is created by using vector fields to guide the movement of points, lines, or other geometry. In these patterns, each point is influenced by a "force" defined by the vector field, creating swirling, directional flows that mimic natural forces like wind, water currents, or magnetic fields.
-
Grid Distortion involves manipulating regular grid structures to produce warped or disrupted patterns. A grid (like a rectangular or triangular grid) can be distorted by applying transformations such as scaling, translation, or noise. This technique allows you to create visually dynamic patterns that retain an underlying order.
-
Attractor Points, the dots vary in size depending on their proximity to a controlling point, creating a sense of gradient and shadow.
More parametric patterns that are possible to do with grasshopper: Voronoi Tiling (Divides a plane into irregular, organic cells based on proximity to seed points.); Parametric Wave Patterns (Waves and ripples generated by sine and cosine functions, useful for simulating water or sound waves.); Delaunay Triangulation (A triangulation method that pairs well with Voronoi for creating structural frameworks and meshes.).
HOW TO PREPARE AND PRINT 3D MODELS
Asli prepared two files to guide us through the process of preparing 3D models for printing, like slicing using PrusaSlicer and Cura. We started with an overview of the essential settings in each software, focusing on the key parameters that affect the quality, speed, and strength of our 3D prints.
Nozzle Size: diameter of the extruder nozzle. Common sizes are 0.4 mm, but other sizes like 0.2 mm for fine details or 0.6 mm for faster prints can be used. The nozzle size directly affects the print resolution and layer height capabilities. (the printers in the our Lab have 0.4mm nozzles on them as default )
Layer Height: determines the thickness of each layer in the print. Smaller layer heights (0.1 mm) produce smoother surfaces and finer details but increase print time. Larger layer heights (0.3 mm) print faster but result in coarser surfaces.
Top/Bottom Thickness: this setting controls the solid layers at the top and bottom of the model. Increasing the thickness improves the strength and finish of the print but also adds to the print time.
Wall Thickness: affects the outer layers, impacting the print's durability and rigidity. Typically set between 1-2 mm, thicker walls make prints sturdier, while thinner walls save filament and printing time.
Infill Density and Pattern: internal structure of the print, set as a percentage, like 20% for standard strength or 100% for solid prints.
Retraction: controls the pulling back of filament when the nozzle moves across gaps, reducing stringing and blobs. The settings include retraction distance and retraction speed. Proper retraction settings improve print quality, especially on detailed or complex models.
Supports: Supports are temporary structures added under overhanging parts of the model. They can be customized for various angles and densities. Using supports helps achieve more accurate overhangs but adds extra material and cleanup work post-printing.
Skirt and Brim: skirt is a perimeter line printed around the model to prime the nozzle but doesn’t touch the print. Useful for ensuring consistent extrusion at the start. Brim, adds additional lines attached to the base of the model, helping with bed adhesion and reducing warping for prints with small bases.
Temperature Settings: nozzle temperature is the temperature of the print head, this varies based on filament type (200°C for PLA, 225°C for TPU/TPE). Bed Temperature is the heated bed temperature that helps adhesion and reduces warping.
Print Speed: controls how fast the print head moves. Lower speeds increase detail and print quality but increase print time. Higher speeds are useful for prototypes where quality isn’t the priority.
Step by step guide how we printed the Dragon Scales 3D model1 using Ultimaker 2+ (Ø2.85mm):
- We began by loading the filament, using PLA as our material. Each machine has a slightly different process for loading filament, so it's essential to follow the instructions displayed on the printer’s screen carefully. Once the filament was loaded, we extruded a small amount through the nozzle to ensure that any leftover filament from a previous print was cleared out, allowing the new filament color to flow cleanly.
- Next, we cleaned the print bed using alcohol to remove any dust, oils, or residue, which helps improve the filament's adhesion to the surface.
- After we inserted the SD card into the printer and selected the desired file to start printing. It's important to monitor the printer closely during the first few layers to check for any issues.
- In our case, we noticed that the filament wasn't sticking properly to the print bed during the first layer. To fix this, we ended the print, applied a layer of glue stick to the bed for better adhesion and started to print again.
- On the second layer, we paused the printer to integrate a piece of fabric. However, we encountered another issue, the hot filament damaged the fabric. This made us to restart the process and choose a different type of fabric.
- Once everything was set, the print continued smoothly. After the print was complete, we waited for the bed and the object to cool down before carefully removing the final product.
Problem 1: the filament wasn't sticking properly to the bed. Problem 2: the hot filament damaged the fabric.
first experiments¶
I’ve had experience with 3D printing before, so that part didn’t feel too intimidating. However, using Grasshopper for the first time this week was a different story :D.
Having Asli as our tutor made all the difference. She walked us through the interface, explaining how to navigate the components, connect nodes, and understand data flow. Now, I feel a little better about Grasshopper and excited to keep practicing.
I followed this youtube tutorial, "How to use Image Sampler Rhino Grasshopper Tutorial", to make the file below. This youtube channel, whose creator is June Lee, has amazing and well explained tutorials on how to use Grasshopper.
I didn’t have the opportunity or time to print this file. Given its large size and the high number of holes, it would require a significant amount of time to print, and I decided to focus on my final proposal for this week. However, it was incredibly valuable and fun to learn how to create this in Grasshopper.
Here2 you can download my Image Sampler files.
PARAMETRIC FLOWER PLA/FLEXFILL 3D MODEL PRINT
Before diving into my final proposal for this week, there were a few things I really wanted to explore, particularly working with hard and flexible filaments to see what these materials could bring to my designs. I started by creating a flower model in Rhino, and with Asli’s guidance, I was able to translate it into a parametric definition in Grasshopper.
Asli encouraged me to build the design directly in Grasshopper rather than simply importing the Rhino curves, emphasizing the advantages of a fully parametric model. This approach allows me to adjust and refine the design, having endless variations in shape and size with ease.
Here3 you can download the Parametric Flower files.
- To take a high-resolution image in Grasshopper: after finishing your model, click File > Hi-Res Image, select a background color and adjust the zoom if necessary.
In Grasshopper, Data Management Components are essential for managing data structures within your project, especially when dealing with complex lists and tree data.
- Reverse changes the order of items in a list to the opposite sequence, which is useful for adjusting data flow without altering the content.
- Flatten merges all branches in a data tree into a single list, simplifying the structure by treating all elements equally.
- Graft assigns each item in a list its own branch, allowing for individual handling of elements, which is helpful for specific operations.
- Simplify cleans up the data tree by removing unnecessary levels, making it easier to work with and avoiding complications in component connections.
- Expression component enables you to perform mathematical or logical calculations on input data, allowing for custom manipulations and transformations.
- If you can't remember where your Grasshopper function came from, simply click CTRL + ALT while clicking over the function (Windows) or CMD + OPT on a Mac. This will highlight the location of the command in the software, helping you quickly find its origin.
Above is a video of the process I followed to 3D print this model with PLA filament. I actually started with a Flexfill filament first, on the Prusa i3 MK3S printer (Ø1.75mm) but encountered a few challenges along the way. Initially, the filament wasn’t adhering well to the print bed on the first layer. I tried placing the fabric between the first and second layers to improve adhesion, but the problem persisted. Adjusting the Z-axis to move the nozzle slightly closer to the bed ultimately resolved the issue and improved the layer’s adhesion.
My second challenge came when I placed the fabric on top of the first layer during the second attempt. The nozzle’s high temperature caused damage to the fabric, which forced me to switch to a stiffer fabric that could withstand the heat better.
For the second print, I switched to a PLA filament (Galaxy Silver). This print went more smoothly after a few tweaks: I reduced the print speed and slightly lowered the nozzle temperature at the start to improve fabric adhesion. The final results were both interesting! The PLA print with the lighter fabric yielded a delicate look, but the center of the flower ended up fragile. In contrast, the Flexfill print didn’t come out as visually perfect but offered greater durability and flexibility.
Problem 1: poor filament adhesion to fabric. Problem 2: the hot noozle damaged the fabric.
final proposal¶
For my final proposal this week, I created a parametric plaid pattern using Grasshopper. The goal was to design a grid of extruded circles that vary in height and diameter based on their proximity to the ground plane. Circles closer to the ground would be larger in diameter but shorter in height, while those farther away would be smaller in diameter but taller, allowing the pattern to express depth and variation, controlled by two guiding surfaces.
This design really pushed the boundaries of what an FDM printer can handle, given that the minimum detail an FDM nozzle can reliably produce is typically around 0.4 mm in diameteras. I ended up with some very thin cylinders in the design and spoiler... I had several issues during the printing process with these structures.
Achieving the plaid effect was essential for me, so I needed at least two different colors to make the pattern stand out. However, our lab doesn't have a dual-nozzle 3D printer, which would also generate excessive material waste. To work around this, I decided to separate the horizontal and vertical extrusions, printing them individually so that they could later be combined. My plan was to try to interlock them, either small holes for each cylinder or slits for each row, allowing the printed elements to fit together seamlessly and bring the layered plaid effect to life.
Here4 you can download my Plaid Pattern files.
GRASSHOPPER
-
On the first image, the SqGrid component generates a grid of points based on the specified Size, Extent X, and Extent Y parameters, which control the distance between points and the overall grid dimensions. This grid serves as the foundation of the plaid pattern, defining where each circle will be extruded.
-
On the second, circles are created at each grid point and scaled according to their distance from a reference surface or point. This section includes commands like Circle and Scale, which adjust each circle's size and height depending on its proximity to the ground. The components Distance and Evaluate calculate the distance between each circle’s center and the guiding surface, and this information is mapped to control both the circle’s diameter (larger when closer to the ground, smaller when farther away) and extrusion height (shorter when near the ground, taller when farther away).
-
The last section handles the extrusion of circles into cylinders, converting the 2D circles into 3D forms with varying heights. An Extrude component is used here, with the height set according to the distance calculated earlier.
SLICING 3D MODEL
After finishing the Grasshopper file, I prepared it for printing using PrusaSlicer. I began by setting the Print Quality to "0.30mm DRAFT," which is a layer height suitable for faster prints with less detail. This setting balances print speed with sufficient quality for prototypes, and is ideal when your file takes 5h to print :D. I selected PLA as the filament type with 15% infill.
The key adjustment was setting the Retraction to 0. Retraction is used to prevent filament from oozing during non-print movements, but in this case, the extruded circles are very thin. Disabling retraction prevents excessive filament buildup on the structures, helping to maintain clean edges without filament pulling back too often.
Additionally, I increased the Nozzle temperature from 215°C to 222°C. This slight increase allows the filament to remain molten a bit longer, ensuring better adhesion and flow for the thin extrusions.
The Plaid Pattern .stl file is available to download here!
CHALLENGES ENCOUNTERED
During the printing process, I monitored the print closely, especially for the first few layers. After the second layer, I paused the machine to place the fabric on top. I reduced the print speed to 80%, to have better bed adhesion. After a few more layers, I increased the speed back to 100%.
However, about an hour and a half into the two-hour print, I noticed that many of the extruded cylinders had become deformed. The initial layers had partially detached from the print bed, causing the nozzle to collide with the cylinders and shift them off-center. Additionally, the nozzle temperature appeared too high, as some cylinders looked melted and lost their shape.
For the second attempt, I switched to a stiffer fabric and used both the Prusa i3 mk3s (Ø1.75mm) and Ultimaker 2+ (Ø2.85mm) printers simultaneously, one printing the horizontal extrusions and the other printing the vertical extrusions. I reduced the print speed significantly to 40-50% and monitored each machine closely. Both prints together were approximately 3 hours. On the Prusa printer, which has a magnetic bed, I used magnets to keep the fabric tightly secured to the bed.
For the Ultimaker, I tried a new approach, that Asli suggested, securing the cylinders with tape. This print in particular had a lot of issues with cylinder adhesion. A few times during the process, some cylinders detached from the fabric. To solve this, I paused the machine and used a small amount of super glue to reattach the cylinders to the fabric before resuming the print.
An even greater challenge than the printing itself was the assembly process. My plan was to create holes in one of the prints fabric, matching the diameter of the cylinders, so that I could interlock it the other print seamlessly. I used a soldering iron to make the holes. When I started interlocking them, I realized that achieving a clean, seamless look was much more difficult than anticipated. The end result was not as good as I’d hoped, but I still believe this idea has potential.
THINGS TO IMPROVE!!!
This approach was my solution to not having access to a dual-nozzle printer, which would allow for two-color filament printing, but it would give me a lot of material waste compared to a single-nozzle setup, so I decided to try it.
-
I believe that with access to a Selective Laser Sintering (SLS) printer (a process where a laser fuses powdered material into solid layers) the final result would be much cleaner, more precise and it would help me with the weak cylinders structures.
-
Develop a seamless interlocking mechanism is something I would still need to refine. I would consider using a laser cutter. By preparing two identically sized fabric pieces and laser-cutting perfectly aligned holes in one, I could potentially achieve a more accurate fit when interlocking the pieces.
-
I would also love to explore using more than two filament colors to create a richer, more complex 3D modular plaid pattern.
fabrication files¶
All the 3D models are available for download. Below, I’ll share the 3D Models, Grasshopper and PrusaSlicer files of the week.