6. Computational Couture¶
✧Research & Ideation✧¶
This week is much anticipated for me! As a sculptor it is super obvious to me how 3D printing and parametric design could be integrated into my work and could help to create lots of new possibilities both materially and in how I design. I am most excited to learn about definitions that are inspired by natural structures, interactions and behaviours and how we can create intricate prints which would not be possible by hand. In my work I am always interested in non-human structures, organisation and system and the possibility with this workflow to zoom in on the detailed workings of the natural world and try to mimic and understand its complexity has me sold.
- Delphine Lejeune, Blessed Bramble
- Andrea Mandrescu
- Delphine Lejeune
- Audrey Large, Another Now
- Amy Karle
- Iris Van Herpen and Julia Koerner,Skeleton Dress
- Behnaz Farahi, Caress of the Gaze
We saw Audrey Large's work at Dutch Design Week this year and I really love how she uses the printer and computer in a improvisational and very sculptural way. Trying to make objects that look hand modelled but with the sensitivity of the computer to aid this:
✙Documentation Workflow✙¶
This week we needed to:
-
Create a parametric model using Grasshopper3D
-
Learn to use the 3D printer
-
Produce a swatch created with a 3D printed parametric pattern
Assignment Criteria: Week 6
-
Document the concept, sketches, references also to artistic or scientific articles on 3D printing and parametric modeling
-
Design a parametric model using Grasshopper3D (or alternative parametric software) and upload the 3Ddesign file + required parametric files
-
Learn how to use a 3D printer and document the step-by-step process and settings
-
Document the workflow for exporting your file and preparing the machine, Gcode and settings to be 3D printed
-
Print your file and document the outcomes
-
Upload your stl file
-
Submit some of your swatches to the analog material library of your lab. Size 20cm x 20cm approx (extra credit)
Top Tip!!!
- If you can't remember where you got your grasshopper function from becasue you have a goldfish memory like me- try CTRL, ALT and click on function!
⏛Tools⏛¶
For Design:
For 3D printing:
Printers:
- Prusa i3 mk3s (Ø1.75mm)
- Ultimaker 2+ (Ø2.85mm, Bowden)
-
Creality Ender 3 (Ø1.75mm, Bowden)
-
Various Filaments
- Various Fabrics
❦The Basics❦¶
In Asli's introductory lecture she outlined the basic concepts and workflow behind our assignments for this week.
First she explained that 3D printing is a form of Additive Manufacturing. Which means you starts with no material and build the final shape layer by layer, produces almost zero waste. Parts can be built in almost any geometry,size and strength with less restrictions in comparison to other methods.
Illustration adapted by Asli Aksan from Redwood, B., Schöffer, F., & Garret, B. (2017). The 3D Printing Handbook: Technologies, design and applications. 3D Hubs
We would be using FDM printers in our very own Fab Lab, specifically:
- Creality Ender 3
- Prusa i3 mk3s
- Ultimaker 2+
The Creality and Prusa use 1.75mm filament where as the Ultimaker uses 2.85mm.
FDM, (Fused deposition modeling) is a way of 3D printing where:
- A filament (a solid string of thermoplastic) is pushed through a heated nozzle.
- This melts the filament allowing it to be extruded onto the print bed in a predetermined layer shape.
- The filament cools and solidifies, layer by layer forming your printed object.
Illustration by Asli Aksan
There are also two different types of FDM printer we have access too. A Bowden Extruder and Direct Drive. The difference essentially relates to the position of the extruder. In the Direct Drive, the extruder is right on top of the nozzle. This creates more reliable extrusion and better retraction but the weight of the extruder on the nozzle can cause some problems with vibrations and maintenance. In the Bowden Extruder it is on the side of the machine meaning these problems are alleviated and the machines can be faster. But having such a distance between the extruder and nozzle can effect the retraction and requires a more powerful and cumbersome motor to work.
Illustration by Mohamed Elgendy, Obico
❀The Materials❀¶
There is a wide range of materials you can 3D print with. Obviously it is important to consider the appropriate material for your project and printer but crucially also the environmental impact of using these materials. Most of the common filaments are plastic based and even the filaments that use wood fillers etc. to reduce the plastic use create bio-composites which require many complex steps to make them compostable. Hopefully, innovations will be made in this space but it is good to be mindful of how we can reduce waste and use these harmful materials sparingly.
For our projects we would be mainly using PLA and TPE/U.
PLA is a easy, workable filament for beginners and it relatively low price. It is hard and brittle which reduces warping.
TPE/U is the alternatively a flexible and soft material and doesn't interact negatively with the skin. For this reason it is good for making textiles and bendable parts. However, it is more difficult to print with.
To see other materials and their properties try these material tables: Prusa Material Table or Simplify 3D materials table.
◘Design◘¶
There are a few things that must be considered when designing your object to ensure it is printable:
- Is it a closed and solid mesh?
- Does it fit on the print bed? Or can it be sliced into pieces that fit? (modelling units mm)
- Will your object need a lot of support to print? Can you reduce significant overhangs (over 45 degrees) with the orientation of your object? How long are your bridges between 2 support positions?
Illustration from Redwood, B., Schöffer, F., & Garret, B. (2017). The 3D Printing Handbook: Technologies, design and applications. 3D Hubs
◘Slicing ◘¶
You can further ensure the printability of your object in the slicing software you use to determine the layers of your print e.g Prusa slicer or Ultimaker Cura. There are many paramters you can affect such as wall thickness, nossle size, skirts/brims, layer height.
In our introductory tutorial we learnt how to prepare and print 3D models using some example files Asli prepared for us:
1 A Module (An example of printing as textile) from Variable Seams
2 Dragon Scales (An example of printing on/with textile)
We uploaded the models as .STL or .OBJ files into Prusa Slicer, an opensource print preparation software.
It is useful as it has lots of presets for printers and fillaments so you can easily input the right settings for your print. We used the presets for the Original Prusa i3 MK3S and Fillamentum Flexfill 98A which is a TPU filament.
Now that this was set we could play with the settings. Important things to check are:
-
Nozzle size: 0.4, 0.6, 0.8 mm (the printers in the Fab Lab have 0.4mm nozzles on them as default )
-
Layer height: 0.1, 0.2, 0.3 mm ( This significantly effects the speed of your print as it will determine how many layers are printed and the resolution of your final object.)
- Top/bottom Thickness: (this will determine your top and bottom layer and how thick you want those to be.) We removed the top and bottom layers to print the module, this can also be done here.
- Wall thickness: (determines the thickness of your prints outline/ outerwall, your verticl and horizontal shells)
- Infill: (Determines how your shape will be filled in, how dense this will be and if you want a type of pattern) The infill pattern was particularly important for our module as we removed the top and bottom layers making the infil pattern visible.
- Supports: are an auxiliary part printed to stabilize certain features of your model during the 3D printing process. If you have significant overhangs or long bridges and hollows it is a good idea to add them in the slicing software. Below is a Raise 3D infographic explaining the basics of when to use them:
Illustration from raise3d Academy
- Skirt/brim:. A skirt is a border of print used to let the print nozzle get to a good continuous flow before starting your print. It is a good idea to incorperate this in to get a smooth finish. A brim is used if an object is particularly thin at the base in order to stick it to the bed and offer stability:
- Temperature: this is a material dependent factor. We used 240 degrees based on our filament properties.
- Speed: material dependent also.
- Retraction: material dependent also.
When the settings are correct it is time to slice your object to see how many layers it needs to print and how long this will take. You are then able to export the G-code onto an SD CARD. The G code is essentially instructions that the 3D printer can read and follow to make your object.
We also did this for our other test model in UltiMaker Cura. This is essentially the same but has a slightly different layout and interface:
We were printing this one in PLA and used the Generic PLA setting in Cura.
In sum, the workflow goes as follows:
MODEL >>>> SLICER >>>>> GCODE >>>>> SDCARD >>>> PRINTER
✦Printing✦¶
ULTIMAKER 2+¶
The step by step process of using this machine is as follows:
- Load Filament
It is important to treat the filament with care and put it away properly as any damage to the filament will effect your print quality. Keeping them sealed from moisture, wound away properly, in the correct box is essential.
To change the fillament in the Ultimaker press MATERIAL> CHANGE> and PUSH BUTTON. This will heat the printhead and start the retraction of the material.
Round the back of the machine, push up the switch and pull the filament gently down and out of the machine. Wind away properly and return to its sealed bag.
When loading again cut the end of the filament at an angle to aid the flow. Push the switch up and gently push it into the machine.
Press READY and watch the machine bring the filament round. Wait until the material comes out of the nozzle and let it run a little to remove the excess filament from previous prints.
Tell the printer what filament you have loaded in the material menu and then prepare for your print.
- Prepare for your print.
Put your SD card with the G code into the machine. Clean the print bed with Ethanol (or any other grease removing solution) to remove any grease and ensure a good adhesion to the bed. Then go to the print menu, select your file and press print.
- Add your textile
After a few layers, pause the printer and add your textile. Ensure you tape it to the bed well.Always be careful not to touch the nossle as it is very hot!
- Troubleshoot
It is important to watch your print for the first few layers as this is where most of the errors will occur. We had lots of problems with adhesion to the bed and its calibration. We had to abort the print multiple times and restart and change fabrics until we found a combination that worked.
Here is our final result:
PRUSA i3 mk3s¶
The process for the Prusa is very similar.
- For this machine you load the filament from the top as it is a Direct Drive printer and feed it into the print head.
You click LOAD> SELECT THE FILAMENT MATERIAL> WAIT FOR IT TO PREHEAT TO LOAD> WHEN IT SAYS READY YOU CAN INSERT THE MATERIAL.
-
Insert SD card and select file to print. The bed to this printer is magnetic, ensure that the print plate is in place before printing.
-
Troubleshoot, this machine is faster!
And here is the final result! The flexifill was really nice for this one, it turned out very bendable and great for making textiles.
🁯Grasshopper for Beginners 🁨¶
Grasshopper 3D is a parametric modelling tool which runs inside rhino. Parametric design is centered around the use of parameters: key variables that define and control the geometry and characteristics of a design. Parametrics allows us to control each parameter across a range of values and easily change our design. This makes Grasshopper a great tool for generating complex structures and patterns that you couldn't make by hand and integrating it into a generative design approach.
☽Definition for a grid☾¶
We started to get a grip of the basics by creating an algorithm that generates a grid and plots a curve at its center. With our grasshopper definition the amount of rows and coloumns and the size of the curve at it's center could be manipulated.
Here is a video of it working with a more complex curve set as the repeated pattern.
☘︎Differential Growth☘︎¶
Next, we experimented with some definitions that Asli had created for us to go through, breakdown and start to understand the workflow of creating a definition.
I was most interested in playing with the Differential Growth Definition as I love the way it mimics growth patterns in nature. You can download this definition here: 4
I played around with different shaped curves and boundary curves to see what kind of patterns I could create. I needed to ensure that I put the settings back to 1 and reset between changes and reintroduced changes to parameters slowly so the pattern could grow gradually and create nice results. Despite this I actually enjoyed pushing the algorithm to its limits and not resetting some times to get cross over lines and chaotic shapes and then extruding them to see what happens.
☘︎Building my own Grasshopper Definition☘︎¶
For my project I wanted to make something with ripples and contours. I had seen many examples of people using sine waves to create a complex contoured surface and I thought this would give me a fast way to create an intricate pattern to work from.
Here is my final definition. I have explained with labels how each part functions in this image but I will also go into more detail step by step below. You can download my grasshopper file here: 5
I started building my definition by following this youtube tutorial from Avinash Nair, he takes you step by step through how to create a graph mapping definition where you can use a whole range of wave types to create points and then project them onto a surface.
With this part of my definition I divided points across a surface and then mapped them to the amplitude of the sine wave. I could change the topography of the surface by changing the height and frequency of the sine wave.
I loved the patterns I was able to create, but these would not be interesting as textile swatches as they would be filled solid objects.
The next step was create contours that I could extrude and use to slice my topographic surface with. This way I would have a swatch with more flex and space where the fabric would be seen and the body could be moulded to.
I did this first by creating a set of curves that moved in a nice way. I then used the Pufferfish Plugin to add the between consecutive curves component. This allowed me to create further straiations between these curves and control their number parametrically.
I wanted to add even more of the feeling of spiralling and water so I decided to use the Maelstrom component which Asli had shown us previously to create a whirlpool effect in my contours. I defined a point and made this an attractor around which the other contours would spiral based on the angle and strength I set.
When I was happy with the way the lines looked I extruded the curves and split the surface I had created with the sine wave using the extruded curves. This left me with something like this:
I was really happy with the final design. I was excited to see how the lines that were closer would print and if you would be able to see the rippled surface where lines intersected and merged randomly.
I baked my model and exported it as an .stl file ready for slicing. The stl file is downloadable on sketchfab:
🂬Printing🂭¶
First, I prepared my file and exported my G-code. The settings I used for the print are below. I decided to print with standard white PLA 1.75 mm on the Prusa and I wanted to print it on black stiff tuelle.
This was my first attempt at printing, we had to make the swatch quite small in order to speed up the print time.
The printing was very smooth and was going so well until with 20 minutes to go we had a FAN ERROR which stopped my print. There is not much you can do to fix this error so we just had to push on. I tried a few more times on the Prusa and got the same errors so decided to change to the Ultimaker instead.
I prepared my file again for the Ultimaker machine using Cura:
After switching to the Ultimaker and trouble shooting with a moving print bed and slowing down the print speed, I managed to get a good print!
I am so happy with how it turned out, the combination of closely printed striations next to those more far apart gives a lovely translucency to the swatch and sneak peaks at the original wave surface I created.
I had a little spare time and also wanted to try to print just the 2D pattern of my contours. I think this is also really nice and the gloss from the glass printing bed works well with the fabric:
Fabrication files¶
-
File: Variable Seams Printed Module. ↩