Parametric Chainmail

by a_zhang in Workshop > 3D Printing

331 Views, 2 Favorites, 0 Comments

Parametric Chainmail

20210527_011601.jpg

I am creating parametric chainmail that is at least somewhat flexible. The pieces will be modular so that they can be taken apart and put back together to build something new. They will also be designed parametrically such that regular polygon pieces of different size and side number can be created.

First Attempt at a Joint

loopjoint.PNG
20210527_005352.jpg
hookjoint.PNG
20210527_005410.jpg

My first attempt at a joint was to build off of real chainmail using loops. I also saw many 3D-printed chainmail use a similar design, where pieces are joined with interlocking loops. The loops provide a different feel compared to the snap-fit design we explored in the last assignment. Here, they are not tightly fit together, but simply link together and are free to move within the loops.

However, since I wanted a modular design, the loops needed to be open. The first iteration had round arcs coming off the sides with a space at the top. The second iteration was more square, which allowed more space to move around. While my designs provided some flexibility, the pieces came apart too easily.

Second Attempt at a Joint

20210527_005309.jpg
20210527_005547.jpg
finalbumps.PNG

The next idea was inspired by this Thingiverse object: https://www.thingiverse.com/thing:5961. The snap fit would avoid the issues I faced with the previous design where the pieces would unhook easily.

I started by trying different widths like the previous assignment to see what would fit together. I printed test pieces and they fit together nicely! I did notice some issues though. One was that it wasn't as flexible as I would have liked. The other was that after some time they would come apart relatively easily. I discovered this because I was fidgeting all day and constantly taking apart the pieces and putting them back together, which caused them to easily pull apart.

I iterated and made the bumps a little bit longer and skinnier. I also rounded the loops. These changes theoretically should add more movement/flexibility and increase the lifespan of the joints. Since the bumps are skinnier and the loops are rounded, there is more space to move around. Since the bumps stick out a little further, it is harder for the pieces to come out. Since the loops are rounded, the snapping together should not be as violent and the pieces should last longer.

First Attempt at a Parametric Design System

nest.PNG
fail.PNG
fail2.PNG

I started creating a parametric design system in Grasshopper and quickly realized I was not very good at starting from scratch. For most of the assignments I started with Jennifer's example code and built off of that. So, I struggled at first with this, but eventually learned the tools I needed and created an ugly nest of components.

It almost created the pieces that I want, but I decided to start over to clean up the system and make it more modular with the new knowledge of what components I would need.

Second Attempt at a Parametric Design System

final parametric.PNG
triangle.png
square.png
hexagon.png

After remaking the parametric design system in Grasshopper, It was much cleaner. It was much easier to clean up and cluster into components. The first three parameters are "Edge Length," "Segments," and "Height," which correspond to the length of each piece's inner polygon side in millimeters, the number of sides of each piece's inner polygon, and the height of each piece in millimeters respectively. The other three parameters are "Center Offset," "Joint Width," and "Joint Length," which correspond to the position of the connectors relative to the center of the polygon edge, the width of the join in millimeters, and the additional length of the connector on top of the circular part of the connector in millimeters.

Unfortunately, the "Joint Width" parameter is not functional. Based on my design, it would affect the bumps on the sides of the connectors, which I had difficulty dealing with. I tried creating a curve and rotating it in Grasshopper, the same way I created it in Rhino when I was prototyping, however this caused issues that I did not face in Rhino. For some reason, I was not able to boolean union the bumps with the rest of the model. I tried a couple other approaches, including constructing the curve using different tools, but it never merged with the rest of the model. I also considered just creating the bumps and making the user run a final boolean union in Rhino, but even that didn't work. I finally just settled on referencing a premade brep object in Rhino.

Other than that issue, the system works as I like. I was able to create different shaped and sized pieces for this project.

Printing Some Samples

20210527_005059.jpg
20210527_011601.jpg
20210527_005049.jpg
20210527_011614.jpg

Before I had made a working design system, I tried printing some swatches of square pieces with 10mm sides and triangles with 10mm sides. They both turned out pretty good! The triangles are definitely more flexible but have larger holes due to the joint design. The squares are definitely flexible both horizontally and vertically but not diagonally. Also unlike fabric, if it is already bent in one direction, it can't really bend in the other.

Trying Semi-regular Tessellations

20210610_163250.jpg
similar.PNG
20210610_172111.jpg
20210610_172043.jpg
20210610_201310.jpg
Parametric Chainmail

I also tried some swatches incorporating different shapes. However, after putting the squares and triangles from the previous step together, I realized it wasn't as straight forward as I had thought. The pieces did not lie flat in a configuration of squares and triangles that could theoretically tile the plane (shown in the first image). This was because the side lengths I used did not take into account the connectors. The tessellating pieces had side lengths measured at the connection points, so the triangular pieces were technically larger than the squares, even though the inner polygon had the same dimensions.

It wasn't difficult to calculate what the inner polygon side lengths should be, but was a bit tedious to do so for different shape combinations. I would just compare similar triangles in a single pie slice of each polygon, one with an altitude that includes the connector length, and one without (shown in the second image).

With these calculations I was able to fit pieces together in semi-regular tessellations. I input the new dimensions into the parametric design system to create the pieces. Some combinations that I tried with two shapes were hexagons with triangles, octagons with squares, and squares with triangles. I also tried with all three of hexagons, squares, and triangles.

They all behaved slightly differently. The hexagon and triangle tessellation was similar to just triangles since six triangles can form a hexagon, although it was slightly less flexible. The octagon and square tessellation was relatively inflexible since the squares act as obstacles preventing the octagons from folding.

The embedded video shows some behavior of some of these tessellations.

Simple Applications

20210601_020206.jpg
20210601_021511.jpg

While I was printing pieces, I put together some simple items. It was pretty easy to create relatively uniform shapes like bracelets or regular solids. Because of the modular nature of the pieces, it was very easy to resize the bracelet, as well as things like necklaces or curtains.

For objects like the cube shown, which are closed surfaces, it was pretty difficult to take apart due to the snap-fit design without and handles to grab.

Creating a Cloak

20210601_021209.jpg
front.jpg
back.jpg
cloak.jpg

My magnum opus for this project was a piece a clothing. I started with a jacket and extended the process to a longer cloak. I chose to use square pieces to create the jacket since I thought it would be easier to embed a design. In hindsight, I think it probably would have been better to use triangular pieces are they are more flexible, but I was already too far in and spent time printing a lot of pieces. I was printing concurrently while making the parametric design system since I knew it would take a long time to print enough pieces.

I started with a sleeveless vest design as Jennifer suggested to avoid dealing with the irregularities of sleeve geometry. It was essentially a plastic bag, where the pieces formed loops for my arms to fit through. I quickly realized that a full-sized piece of clothing was going to be a bit heavy.

After I added sleeves I realized just how impractical this was going to be. It was very difficult to put on since the pieces would not stretch like regular clothing. If I moved or pushed a bit too much, the pieces would start ripping apart. I make most of the sleeve unattached to the rest of the jacket to increase my freedom of movement. I also added a collar.

The first image shows the final product I showed in my presentation last week. To me, it looked pretty good given how it was made. Although it was very impractical to put on, my goal for this project was not initially to create clothing. It was to create modular pieces that were easily reusable and created a flexible chainmail material.

Since then, I have made a modified version and expanded on it. I removed every fourth piece to decrease weight and increase flexibility. I also added a design on the back, modeled after a cloak from Naruto. I think I will continue printing and finish out the bottom design.

In the end, I made a trade off by preserving the modularity of the pieces and sacrificing some flexibility and robustness of the resulting material. I was happy with this resolution as I can continue using the pieces I printed to create other objects.