6. Computational Couture¶
Research & Ideation¶
For this week's assignment I wanted to design a chest piece that could replace a tie, and still look good and elegant when wore with a suit. I wanted to make it look as tiny studs floating in the chest, with differences in density as they get further away from the neck. The design was very straightforward, as the shape is a basic irregular pentagon, the measurements are pretty close to those of a tie, except that I wanted it to be wider. It is supposed to be tied the same way as a tie, so it should be connected to a "tail". The difficulties came with the question: How am I going to populate the area with little studs? For starters it should be parametric, so both the cloth and the shape of the studs can vary depending on what one might want. Also the density and amount of objects should be easily changed. Apparently the answer was Grasshopper.
References & Inspiration¶
What is Grasshopper? According to their own website, Grasshopper is a graphical algorithm editor tightly integrated with Rhino’s 3-D modeling tools. It is not necessary to know about programming as the interface is very visual, but it is still a way of programming. One has to join the different objects and modifiers in order to create the interactions between each other and see the results in the 3D world of Rhino. I spent 6h trying different approaches for the project, and ended up nowhere. Fortunately I consulted the issue with my pillow and came up with a better logic for executing it, and after some tweaking it worked.
- Two images side-by-side
Tools¶
!!! Software used in this project.
- [Grasshopper](https://www.grasshopper3d.com)
- [Rhino3D](https://www.rhino3d.com)
- [Ultimaker Cura](https://ultimaker.com)
Process and workflow¶
So, let's get started. My first thoughts about how to execute this program were:
After some frustration about the use of Grasshopper, We have to start with the beginning, and then try to put it in the same language Grasshopper speaks.
Step¶
The logic behind the program ended up being as it follows.
Step¶
Using the different sliders connected to the main modifiers, I can choose how dense the area is, how strong the field is and also how far can it reach, and of course defining both the geometry in which the objects are copied, and which object will be copied. Tweaking each of the parameters until i get something i like, and now is just time to export the models as .stl so we can print it.
Having the 3D model ready for printing, I customized the gcode in Ultimaker Cura so i could print with a small pause after the first layer, because I need to put the cloth and continue printing. This is done through the Extensions > Post Processing > Modify G-Code > Pause at height It is important to know which parameters are needed for each modelo of 3D printer, for example we use the Creality Ender 3 S1 Pro and the method of the pause should be BQ (M25) so we can continue printing after the cloth is secured on the printing bed.
Quick
- I'm using small butterfly clips to secure the cloth to the printing bed, and on the sides it is important to remove the little arms as they might crash into the machine.
- It is very important to get the cloth as tight as possible, since the movement of the extruder can get stuck in any creases.
3D Models and fabrication files¶
-
File: Rhino 3D file ↩
-
File: Grasshopper parametric file ↩
-
File: Stl for printing ↩
-
Next is working with the Gradient part. The modifier is called Point Charge which generates a field at a certain defined point, and three parameters are connected to it: The area that limits this field, the charge or strenght, and the decay level which I understand is how far from the point the field reaches. ↩
-
The shape is defined, the field is also defined, and there are points in this area, so now its time to make the field affect the amount of points there are. The closest they are to the field start, the more populated it should be, so there is this modifier called Evaulate Field in which both the field and the points generated are connected, so the result is a list of every point with the strenght of said field, which is what we need for knowing how close every point is to the field. ↩
-
The next step is to map the results of this list, so we have numbers between 0 and 1, with a modifier called Remap Numbers. ↩
-
The result from the Remap is then connected to another modifier called Smaller than in order to know which points are affected the least by the field. ↩
-
If we were to leave it like this, the gradient would look more like a defined circle around the field, so now we have to add another modifier called Random which also connects to the Smaller than, this way, a random point, which is also far from the field, will be deleted. ↩
-
This deletion is done by the modifier Cull Pattern, having the smaller than as input, now we have preciselly which points should be removed based on the distance from the point that generates the field. ↩
-
The Cull Pattern result is then connected to a Move modifier, which replicates the input geometry in the pattern defined by the cull pattern. The input geometry in this case, is a small extruded and tappered hexagon, or better said, the studs. I also connected the cull result to an object called Preview which allowed me to se the pattern and modifications made to the parameters in real time. ↩
-
The last step is to Bake all this process, in this case the move parameter is the one to be baked, as it has the solid geometry we need as output. ↩







