6. Computational Couture¶
Research & Ideation¶
This week was focused on parametric design and 3D modeling. We learned about creating textiles from 3D printing etc.
Julia Koerner listed a few ways that 3D modeling / printing is sustainable including the ability to print locally using the same files and this lower the distance of shipping, and the ability to more easily use one material to create all the pieces (e.g., clasps) of a garment in one material and thus be more easily recycled.
Julia discussed 4 types of 3D printers including Fused deposition modeling (FDM), Polyjet, stereolithography (SLA), and selective laser sintering (SLS) and the difference between each of them. You can find more info on this here. This week at Green Fabric we used an FDM printer which extrudes filament into layers.
For my research this week I focused on learning Blender. I chose to use Blender because its free and my Rhino license will run out soon. I started with Rico's tutorial which I found amazing. I was a total beginner and it gave me all the tools I needed to get started. I then followed the tutorials on Youtube he suggested and on Saturday Francois from Green Fabric held a tutorial on Geometry Nodes which was also really incredible. The tutorials were really inspiring and showed a little glimpse into all the things possible with Blender. A lot of my inspiration from this week came from these sessions
References & Inspiration¶
Mikaela Stafford¶
"Mikaela Stafford makes motion graphics and biomorphic sculptural works, predominantly in the 3D digital art space. Her work explores the opportunities and challenges of a cyber physical world and hopes to provide people a sense of optimism about the future. Mikaela draws inspiration from bioluminescent creatures, the symbology of spheres, and hypothetical futures. -Mikaela Stafford's Website
Nusi Quero¶
Nusi Quero was a designer who 3D printed corsets using 3D scans of bodies.
Julia Koerner¶
"Julia Koerner is an award-winning Austrian designer working at the convergence of architecture, product and fashion design. She is internationally recognised for design innovation in 3D-Printing, Julia's work stands out at the top of these disciplines" - Julia Koerner's Website
Julia also came to talk to us last week at Fabricademy! And showed us all the amazing work she's done.
I was especially inspired this week by her butterfly piece and wanted to use this idea of printing on fabric to keep the properties of movement that fabric has.
Tools¶
Process and workflow¶
I started off by watching Rico's tutorial and then later followed Francois' tutorial on Geometry Nodes which you can find on the Fabricademy tutorials.
The other tutorials I watched were:
- Tissue Addon - Tessellate Options for Blender
- Easy Fence Mesh Crisscross Shapes and Other Abstract Objects in Blender 2.8
- How to Set Units in Blender and Save Default Settings
- 7 Boolean Issues in Blender (And How to Fix Them
- How to create a half circle and half cylinder in Blender with Quad Faces
- SPHERE SPLIT - Blender Geometry Nodes
- Round a cube into a cylinder in Blender
And other articles/forums I read here:
- Subdividing a face with subdivided edges
- Subdivide hexagon surface into equilateral triangles
- How do I fill in missing faces?
To understand how the 3D printer works we downloaded the files for chainmail from Thingiverse here. We printed, but ran into problems with the piece not sticking to the surface, so we added a raft which is a which is a base for the print to sit on and stick to. This can be added in Prusa under Print Settings --> Support Material
Afterwards to understand how the chainmail was created, I recreated it in Blender using this tutorial
Print 1: "Beaded" Mesh¶
Inspiration¶
My inspiration for this print was beaded mesh slippers and beaded bags / dresses. I wanted to see if I could make a basic beaded flexible mesh that could later be shaped into a shoe or garment
Step 1: Create the model in Blender¶
. Create cube of 12x12x1 mm
- Create a 2nd cube of 5x5x2 mm
- Align 2nd cube so that we can evenly distribute 4 cubes (I made border 0.5 mm around each square, and thus 1 mm border where each square meets another)
- Mirror around Object: First Square, across X and Y axis
- Apply Modifier
- Select 4 Squares, Shift Select First Square, Click Edit button on menu on the side of the working screen (Note you must install and Add BoolTools, though I think this can also be done directly in modifier), click Difference
- Apply Modifier
-
Create UV Sphere with 7x7x7 mm dimensions and placement of (0,0,3.5) so that it sits directly above the mesh
-
Delete or move the 4 cubes used to cut the first (when I didn't this caused me problems later)
- Select Sphere and mesh, Select Object in menu above --> Apply --> All Transforms
- Select Sphere and mesh, Ctrl + J to combine into one object
- Create plane of desired size, I created 72x72 mm to have a 6x6 mesh
- With plane selected, go to Edit Mode, Right Click --> Subdivide Surface, in bottom left menu type 5 into "Number of Cuts" to make a 6x6 grid
- Select plane, Select Object in menu above --> Apply --> All Transforms
15. Go back to Object Mode, select Ball+Mesh object (should be 1 object now, if now try Ctrl + J again), then shift select the plane, in the side menu on the right, click Tissue --> Tesselate --> OK
- Select this mesh and move it away from the plane. And now you have a beaded mesh!
- Now you can select object, Export, select "Export Selected Only" on righthand side and export as .stl
WHAT I LEARNED
- Always apply transforms before moving forward. When I resized objects the scale of each axis was changed and influenced later steps I took. For example, when I first tried this (on both a flat surface and curved surface) without applying transforms I got this output, and after playing around with the scale trying to fix it, it only made the promise worse (though beautiful!).
- It's better to work with 3D objects from the beginning. I initially tried to start with a plane, create a wire mesh and solidify / give it thickness, but this didn't work out well when I brought it to the slicer.
Step 2: Edit Settings in Prusa Slicer¶
- Go To Prusa Slicer, Import file
- I recommend first printing as test file, I printed 2x2 versions first to play around with the settings
- I first printed with the settings we typically use for this printer
- This created a lot of webbing, so I tried to play with the temperature and speed and retraction settings, but nothing helped
- Finally I went back to the original settings with the following changes: I changed the **layer height to 0.2 (from 0.1), infill to 10% (from 15%) to decrease the time and the speed of non-print moves to 200 (from 150) mm/s ** to hopefully decrease the webbing
- Change the Filament to FLEX
- Click "Slice Now"
- Check the time in the top left corner to see if its feasible
- Export G-Code
- Add G-code file to a USB Drive
Step 3: Print¶
- I changed the filament in my printer to a flexible one by following the instructions on the 3D printer
- Then I clicked print!
Results¶
I struggled a lot with webbing between the circles. Though I was very happy with how the outer parts of the balls looked on my test subjects. However, when I did my larger print (not so large because 6x6 already took and hour and a half) the printer got clogged and stopped printing halfway through which is very disappointing. So my print is not how I want it to be at all. There was still a fair amount of webbing, but it looks like it improved. Though its hard to tell because its only half the balls.
After trying to remove the filament because it was stuck in there, we broke a wire on the 3D printer and so it isn't able to heat and thus I couldn't try again with my prints.
However, I'm happy with the flexibility of the mesh. It feels very durable as well. And other than the webbing I'm happy with the look of the balls on my first tests. So I'm going to try again in the future
Print 2: Printing on Fabric, Geometry Nodes Image Texture x Judy Chicago¶
During our Geometry Nodes tutorial, Francois showed us how to make adjustments to objects in a grid by transforming the size of the objects using an image. I thought this was amazing. As I understand it Blender takes the RGB (red, green, blue) values from the point on an image and uses those as the (X, Y, Z) value (though I believe that it is scaled down to a value between 0 and 1). Then we can use these X, Y, Z values to transform the object we have in Blender.
I wanted to use this piece made my Judy Chicago and transform it into a 3D model printed on fabric. I used the red values as the transformation
Step 1: Create the model in Blender using Geometry Nodes¶
Group Input refers to the original shape created that we are working with. Here that is a mesh cube.
Subdivision Surface changes the shape of this cube into something more closely resembling a sphere, I subdivided by 4 to make it more spherelike. This is done because spheres and cubes have different properties and typically from my understanding it seems cubes are easier to work with, thus we make a "Spherelike" cube
Cube creates a cube. In this case this cube is going to be used to "cut" (i.e., do a boolean difference with the original cube). I chose the size values to match the vallues of the original cube
Transform Geometry transforms the cube or object before it. In this case I want to cut the original shape in half, preserving the part with a Z value above 0 and erasing everything below 0 so that it sits flat. So I moved the new cube so that the top of it ends on Z=0
Mesh Boolean + Difference will erase the part of Mesh 1 that intersects with Mesh 2
Grid takes the original object and distributes it around a grid, in this case I create a 22 x 22 grid of objects on a 45 x 45 mm area
Image Texture pulls in an image that we want to use in order to transform the shape and it takes the color points from the image (RGB) and saves them as an XYZ vector
Separate XYZ takes a vector and outputs the chosen values, in this case I chose only the X value
Multiply multiplies the vector (here (X,0,0) ) input by a constant vector defined in the node
Add adds a constant vector defined in the node by the vector input. Here I chose (0, 0, 0). Originally I put (0.3, 0.3, 0.3) so that there no vectors are transformed to 0 and we can see every point, but I set it back to 0 because I wanted to minimize printing time
Instance on Points repeats an "Instance" (here the original cube with its transformations) along certain "Points" (here the grid defined on the grid node) and transformed by "Scale" (here the vector transformationas defined by the image +Multiply/Add functions)
Group Output refers to the ouput of the original object after all the nodes have been applied
This is the map I finally decided on, with a grid of 20x20 to minimize printing time
This is how the model looks with 40x40 and 50x50 grid
Step 2: Edit Settings in Prusa Slicer¶
I used the same settings above in the Prusa Slicer, but changed the filament to PLA
Step 3: Print¶
I didn't print yet because the 3D printer broke, but I plan to print 1 layer on the printing plate, pause, secure fabric onto the plate then continue to print onto the fabric.
Fabrication files¶
footnote fabrication files
Fabrication files are a necessary element for evaluation. You can add the fabrication files at the bottom of the page and simply link them as a footnote. This was your work stays organised and files will be all together at the bottom of the page. Footnotes are created using [ ^ 1 ] (without spaces, and referenced as you see at the last chapter of this page) You can reference the fabrication files to multiple places on your page as you see for footnote nr. 2 also present in the Gallery.