8. Soft robotics¶
goals of the week & contents¶
- Learn the fabrication of soft actuators, sensors and grippers using novel materials, artificial muscles and performative locomotion design.
- Make a soft robotic sample, develop the pattern for the Inflatable and draw a sketch of the air flow
- Develop a pneumatic wrist brace (basic level) or a Soft Gripper (intermediate level) or a Pneumatic, digitally controlled system (advanced level).
- Experiment with different materials, such as silicones, 3d printing, parchment paper, thermoadesive vynil, bioplastic, document your achievements and unexpected outcomes.
- EXTRA POINT Integrate it into a project.
Here are some inspiring projects developed by previous participants:
Robots are machines that integrate control, movement, and sensing systems to perform tasks autonomously or with guidance. They process input, make decisions, and execute actions based on their programming and sensory data.
Soft Robots are designed to be highly flexible and compliant, allowing for movement and adaptation in diverse environments. Their sensing capabilities include feedback mechanisms, enabling them to adjust and control their actions responsively.
Soft Actuators are mechanisms that are flexible and adaptable, capable of changing shape, joining surfaces, and enabling movement. They facilitate various functions, including rotation, expansion, and contraction.
Stimuli for Soft Actuators:
- Fluidic
- Chemical
- Biological
- Thermal
- Electrical
- Magnetic
- Hybrid Systems
research¶
I was very excited for this week, as I find Soft Robotics an incredibly fascinating field, full of creativity. While I anticipated a smoother experience, I encountered more challenges than expected. Visualizing the design and scaling of the air channels was particularly difficult. Despite these hurdles, the week was full of both failures and successes, and I feel that I learned a lot from experimenting with all this different processes and methods.
- 3D PRINTING ARTIFICIAL MUSCLES, the muscles are directly 3D printed using a flexible filament called Ninjaflex. The printing pattern of a 3D filament printer leaves many microscopic holes that will not hold air pressure. So, after printing, the muscles are dip-coated in an flexible elastomeric glue to seal the holes. This allows them to hold air pressure of 22 PSI or higher.
- "SOFT" KINETIC NETWORK (SKiN), organized around the network of embedded "muscle" wires that change shape under electric current. The network of wires provides for a range of motions and facilitates surface transformations through soft and muscle like movement.
- SENTIMENTAL SOFT ROBOTICS SKIN (2016), MIA HULTGREN, Hultgren introduces actuation and movement in textile design through air pockets whilst challenging which materials one might use for clothing, as an accessory or as an extension of the skin.
- "GOOSEBUMP POOF", KRISTIN NEIDLINGER, an inflatable wearable that responds to thoughts. When memories are evoked, the spikes stand on end, alert with emotion, they rest when the wearer is relaxed or introspective.
- MATTHEW SZOSZ, Matthew is known by his groundbreaking work with inflatable glass, where he transforms sheets of fused glass into delicate, organic shapes by inflating them. His process combines traditional glass techniques with experimental approaches, pushing the boundaries of glass as a medium.
Dr. Yin Yu is a multidisciplinary designer and interior architecture professor at SDSU, as she shares her research projects covering the potential of soft robotics in wearable design.
In her talk, Dr. Yin Yu shares how to design a bird-feather-inspired wearable fashion technology with soft material, highlighting why biomimicry design in soft robotics creates engaging human-computer interaction empowering designers’ creativity.
heat press vinyl¶
We began with a simple heat-pressing technique using vinyl. The process involves creating a layered structure: two layers of vinyl with baking paper sandwiched in between. The baking paper is cut into the desired shape to form air channels, which inflate when air is pumped in.
This method is excellent for experimentation, allowing us to test different shapes and configurations. However, it does come with some drawbacks. Depending on the inflation method and the shape of the air channels, the vinyl can easily tear, and high air pressure often causes the layers to separate.
Illustration by Adriana Cabrera from her Introduction to Inflatables lecture.
I didn’t have any major ideas in mind when starting these initial designs, my main goal was to understand how the systems worked. I began by sketching some ideas on baking paper, but in the end, I made this two designs to test.
We set the heat press to 300 Farenheit and pressed the layers for 20 seconds.
The first design featured small star shapes connected by channels. In hindsight, I think this concept would have performed better with wider channels and perhaps by hollowing out the interior of the design. This would likely have allowed for greater flexibility and a more dynamic inflation.
The second design, which I grew to really like after some time, could have been worth developing further. When supported only in the corner and uninflated, it is completely collapsed. But with air pumped through the channels, it comes up almost instantly. Using a gentler air pump could have created a slower, more controlled effect.
Imagining this approach applied to a flower-like structure with individual petals connected by small arches in the center, inflation would make the petals gradually lift. It’s a concept I would like to refine and experiment with in the future!
TPU welding¶
For the next process, we switched to TPU, which is a polyurethane plastic, and used a laser cutter to both cut and weld the material into desired shapes. I began by creating some designs in Illustrator, inspired from the shapes I initially tested with the heat-pressed vinyl method.
I was unable to create any of the designs below, as the drawings I did in Illustrator were too thin, and the triangles were too small. In hindsight, if I had the time to develop all of these designs, it would have significantly deepened my understanding of how bending and twisting movements emerge from these triangular patterns.
- Thin diamonds result in hinges that bend more flexibly.
- Longer diamonds create longer joints, though their bends are less pronounced.
- The rotation of the diamond determines the direction of the bend.
These findings align with insights documented by Aslı Aydın Aksan.
The most challenging aspect was fine-tuning the laser cutter settings. We spent considerable time ensuring that the welds were strong without cutting through the material and that the cuts didn’t scorch or damage the TPU. After several attempts, we found the correct parameters, but frustratingly, these settings varied between different TPU colors. This meant that each color required its own series of tests to achieve the right balance.
For the cutting settings, we used the following parameters:
Speed (mm/sec): 180.00
Max Power (%): 25.00
Min Power (%): 12.00
For the welding settings, we adjusted the parameters to:
Speed (mm/sec): 170.00
Max Power (%): 25.00
Min Power (%): 12.00
IMPORTANT: When cutting, adjust the laser head to match the thickness of the material using the provided gauge. When welding, raise the laser head as high as it can go, to defocus the laser.
Although I didn’t create the designs shown above, I experimented with a different design by welding TPU. I chose a simpler design with varying air channels, aiming to observe the inflation patterns it would produce. My goal was to make the flower petals bend toward the center and study how the crescent-shaped, circular patterns would drive the petals' movement.
Unfortunately, despite multiple attempts, the welding process was not precise enough. Some of the channels ended up breaking, causing air to escape, so the inflation didn't work.
You can download the Illustrator Flower file here5.
Ecoflex™ silicone casting¶
Asli started by creating the Rhino file for the inflatable design, with a Voronoi Grasshopper definition. Then, we laser cutted the acrylic pieces needed to form the mould. We used 4mm thick acrylic sheets and we used this parameters on the laser cutter:
Speed (mm/sec): 15.00
Max Power (%): 40.00
Min Power (%): 20.00
Here1 you can download the Acylic Voronoi Mould file!
After laser cutting, we moved on to assembling the mould by gluing the acrylic pieces together with Acrifix glue. Working with Acrifix can be challenging since it dries very quickly, making it essential to work fast and carefully to avoid creating a messy, glue-smeared surface on the mould. Let it dry for a full 24 hours.
With the mould set, we began preparing the Ecoflex silicone mixture. Using a digital scale, we measured equal parts of Part A and Part B, as the 1:1 ratio is crucial for proper curing. Mixing the two parts thoroughly was our next step, and we took extra care not to mix too fast to avoid creating bubbles. Once well-mixed, we poured the silicone into the mould, starting in one corner and allowing it to flow naturally to minimize new bubbles. A gentle shake of the mould helped release any trapped air, and we left it to cure for at least 24 hours.
When we demoulded the piece, we noticed that parts of the silicone were sticky and wet. We considered possible reasons: either the mixture of Part A and B wasn’t as thorough as it should have been, or perhaps the Acrifix glue had some type of reaction with the silicone. Another factor could be that the silicone simply needed more time to cure fully.
Next, we prepared more Ecoflex silicone to act as a glue between the two casted silicone pieces. Using a spoon, we carefully spread a thin layer of silicone on one of the sides. After applying, we left the pieces to cure together for another full day, hoping this would create a reliable seal. However, when we tested inflation, the silicone inflatable held air only briefly before the two parts began to separate.
bio-silicone casting¶
We also experimented with casting bio-silicone to explore how it would behave when inflated. Using a laser-cut flower mold from the lab, we started by preparing the bio-silicone according to the recipe from BioFabricating Materials week.
-
When mixing the ingredients, it’s crucial to handle the bio-silicone carefully. Use a gentle folding motion, similar to a cooking technique, to prevent air bubbles from forming. As you fold, watch for the mixture to reach a slightly thicker consistency. Once it does, begin pouring it into the molds right away, as the bio-silicone sets quickly.
-
After pouring, we allowed the bio-silicone to cure in the molds for approximately 24 hours before removing the shapes. To bond the flower pieces, we used some leftover bio-silicone as a glue. For best results, heat the surfaces you plan to glue beforehand. This helps prevent premature drying of the adhesive, ensuring a strong bond before the bio-silicone fully sets.
-
Once assembled, we let the glued pieces cure for another 24 hours. Finally, we created a small hole in the center of the flower and attempted to inflate it.
Unfortunately, the inflation didn’t succeed because the flower’s walls were too thick, which prevented proper expansion. Although it was disappointing, it’s all part of the learning process and helps inform the next steps for refining the design.
Improving this process became a priority for me, as I’m captivated by the look and unique qualities of bio-silicone. For my final proposal, I focused on using bio-silicone with a laser-cut mold, aiming to refine the casting technique to fully capture the material’s potential.
alginate inflatables¶
Asli brought us this idea inspired by Hala Amer’s final project for Fabricademy at IAAC FabLab Barcelona in 2023-2024. In her project, Hala created inflatables using alginate, a natural material we happened to have leftover from our BioFabricating week. Since we had some alginate on hand, we decided to experiment with it ourselves and see what results we could achieve.
We relied on Hala Amer’s amazing process video as our guide, carefully following each step she demonstrated, and adapting it to our conditions.
Step by step to make alginate inflatables:
-
As I said, we had some alginate leftovers from BioFabricating week, so if you need to check the alginate recipe, you can find it here. We did have to prepare our own calcium chloride solution, and it’s essential to make plenty of it because the alginate needs to be cured from all angles: top, bottom, and even the inside. Given how much solution is required, especially if you’re running multiple experiments, it’s wise to mix up a generous amount and keep it ready in both a spray bottle and a syringe.
-
For the mould, we used embroidery hoops with a tight mesh fabric to contain the alginate, like denim, since it allows us to control the fluid without letting it seep out excessively. This fabric frame will shape the inflatable,though the final alginate bubble will be noticeably smaller than the hoop.
-
Once the hoop is set up on a clean work surface, we start by thoroughly soaking it with calcium chloride, ensuring that there’s a lot at the base and that the sides are completely sprayed.
-
Next, we arranged our tools: the spray bottle and syringe filled with calcium chloride solution, an air pump, a short piece of narrow plastic tubing, and a one-way air valve. With everything ready, we slowly pour the alginate mixture into the hoop. Immediately, we start curing the alginate by spraying it with the calcium chloride solution. The reaction starts fast, and the alginate begins to shrink, so it’s important to keep spraying, particularly along the edges, as the alginate contracts.
-
The alginate is ready for inflation when the outer layer feels fully cured, while there’s still liquid inside. When you can feel two distinct layers with some fluid in between, you’re good to proceed. At this point, we use a sharp object to create a small hole on one side of the alginate bubble and carefully insert the plastic tubing into this hole, being cautious not to push it too far inside, so that you don't loose it.
-
To seal the tubing in place, we gently squeeze the alginate, until a bit of liquid alginate comes around it, filling the gap. Once there’s enough alginate surrounding the tube, we spray the area with calcium chloride to cure it and form an airtight seal. After the seal has set, we attach a one-way air valve to the end of the tube and connect the air pump. Inflating slowly is key to avoid rupturing the bubble, stop once it reaches its maximum stretch.
-
With the bubble fully inflated, we need to cure the inside. To do this, we pinch the plastic tube to keep the air inside, detach the air pump and valve, and, while still pinching, insert a syringe loaded with calcium chloride solution. We inject the solution into the bubble, quickly removing the syringe while maintaining pressure on the tube to prevent air from escaping. Gently swirling the bubble, we ensure that the calcium chloride evenly coats the inside, flipping it to reach both top and bottom surfaces until fully cured.
-
To complete the inflation, we reattach the one-way valve and pump, then reinflate the bubble to its maximum size, allowing it to dry out completely while inflated. This final curing stage helps the alginate retain its shape, creating a stable, fully formed inflatable.
I absolutely loved this experiment! The process is intricate and requires a steady hand, making you feel like a surgeon as you work. We did encounter a few missteps along the way, it’s essential to allow each layer of alginate to cure fully before moving to the next step, as rushing can compromise the entire structure.
Using three different moulds, we tried adding varied textures to the alginate surface to see how they would translate in the final piece. We used an acrylic square grid cutout, a textured fabric, and Issy's 3D printed surface from her Computational Couture project.
-
Acrylic Square Grid Cutout: Our first texture required a second attempt, as the initial try resulted in small holes and weak spots in the alginate due to the sharp edges of the acrylic mold. Additionally, the thickness of the acrylic prevented the calcium chloride solution from reaching all areas, so we lifted the alginate edges to apply the solution more effectively for complete curing.
-
Textured Fabric: Using a richly textured, non-mesh fabric worked wonderfully. We thoroughly saturated it with calcium chloride, allowing the alginate to cure evenly and capture the fabric’s texture in high detail.
-
Issy's 3D-Printed Surface: We were delighted with this results. Issy’s thin, open-mesh 3D-printed design from Computational Couture week allowed the alginate to capture the intricate printed texture without interference, making it a standout success.
tapioca filler experiment¶
During Dutch Design Week, Issy, Asli, and I came across an inspiring project called "Aqua-Morph". This project showcases 3D-printed materials that can transform into various shapes when immersed in water and then return to their original form once dry. The basis is formed by hydrogels, that function as soft robotic actuators, demonstrating innovative possibilities for shape-shifting materials in soft robotics and responsive design.
We were excited to experiment with this concept ourselves, but unfortunately, hydrogels weren’t readily available nearby. So we got creative and searched for tapioca balls as a potential substitute, hoping to achieve a similar effect!
We began by boiling all types of tapioca according to their package instructions to observe how much they would expand. At the same time, we boiled a small piece of TPU filament, which we intended to use as the outer structure, knowing it would also be exposed to the hot water when the tapioca was later added. This allowed us to see how both materials behaved under the same conditions.
We found that the tapioca pearls on the left worked the best for our experiment. While we also tried using the ones in the middle, which are made with brown sugar, they didn’t perform as well.
Asli created the module below using Rhino8, inspired by the Aqua-Morph project. The design was intended to allow movement within the structure as the tapioca expanded inside. We ended up conducting three different experiments to explore how the tapioca interacted with the module and observed the effects on the structure’s movement. We used 98A Fillamentum Flexfill TPU filament.
For the Prusa i3 mk3s printer, we set up a scheduled pause during printing so we could insert the tapioca pearls into the modules before the final layers were added.
Here2 you can download the Module below, made by Aslı Aydın Aksan. Here3 you can download the Prusa file to print in the Prusa i3 mk3s (Ø1.75mm)
At each pause, we carefully placed the tapioca pearls, ensuring they sat low enough in the modules so they wouldn't interfere when the print resumed. We printed three different versions to test.
For the first prototype, we designed a smaller structure with a direct connection between modules to assess whether the tapioca could generate enough pressure to create an expansion effect. We used the soldering iron to create tiny holes in the TPU material to allow water entry. It went really well, and after 20 minutes boiling, the tapioca pearls expanded from 3 to 5 cm!
The second design was slightly more complex. We extended the structure and adjusted the connectors to follow a helical path, which we hoped would encourage a twisting motion as the tapioca expanded. We got a subtle twist, showing that the new shape influenced movement. However, we noticed that the spacing between modules was too wide, reducing the twisting effect.
For our third and final prototype, we kept the helical shape but shortened the connectors to bring the modules closer together, increasing the internal pressure and promoting a more pronounced twisting motion. This version went better, showing a clear twisting motion when hydrated.
final proposal¶
For my final proposal, I was determined to make the bio-silicone work after our previous failed attempt. Originally, I had planned to create a top, but I realized that would be a waste of material, so I scaled the design down and decided to make a "necklace" version instead. I began by creating the design in Illustrator and then took it to Rhino8, where I "sliced" the model to prepare for the acrylic mould. This would allow me to later cast the bio-silicone into the desired shape.
I also considered 3D printing the model, but it would have taken much longer compared to using acrylic and cutting it with the laser cutter.
To start, I created a quick prototype using the heat-press vinyl method to test the effectiveness of the air channels. I first used the laser cutter to cut the baking paper, using this specific settings:
Speed (mm/sec): 100.00
Max Power (%): 20.00
Min Power (%): 12.00
For the vinyl, I roughly cut it to the intended final shape with scissors.
As shown in the video below, after the eletronic setup, the air channels worked well, allowing the piece to contract and move as air flowed in and out. However, because the design had too many finer details in the air channels, I decided to simplify the air channel design, making it more streamlined and functional to ensure a more efficient and visible result in the project.
In the video above, the inflation prototype was electronically controlled with the setup below.
eletronic setup¶
by Michelle Vossen
Considerations & References for inflating/deflating air pumps:
Inflating & deflating.
Programmable, adjustable air flow.
Wiring for PWM control (this is the one used now).
ENA, ENBPin1 and Pin9 of the IC are the ENA and ENB pins respectively. Pulling the pins high enables the motor and they start spinning. By pulling the pins low the motor stops rotating. By applying a PWM signal onto these pins we can control the speed of the DC motor.
https://www.adafruit.com/product/4699 and https://www.adafruit.com/product/4700 both fine, both on digikey, difference is less litres per minute (1.8L vs 2.5L). I got the one with 2.5 litres per minute.
Note: We didn't have 270 ohm resistors, that's why there is 2 in series (240 ohm plus 33 ohm).
We had the opportunity to experiment with a programmable airflow system that Michelle set up for us. The setup consisted of two motors and a two-way air valve connected to an Arduino Nano, enabling precise electronic control over airflow.
The system allowed us to program one valve to inflate by pushing air in and the other to deflate by pulling air out. Using the code below, we could customize various parameters, such as the duration of inflation and deflation cycles, as well as the delay between them.
CODE:
// L293D as motor driver for the two motors
// Motor A - inflating
const int motorPin1 = 5; // Pin 14 of L293
const int motorPin2 = 6; // Pin 10 of L293
const int motorPinEn12 = 3; // PWM pin
// Motor B - deflating
const int motorPin3 = 10; // Pin 7 of L293
const int motorPin4 = 9; // Pin 2 of L293
const int motorPinEn34 = 11; // PWM pin
// Solenoid valve
// The middle port with the flange is the 'common' connection.
// When powered (HIGH), the common middle port and the plastic end port closest to it are connected and the metal end port is closed (no air flow in or out).
// When de-powered (LOW), the common middle port and the metal end port are connected, and the plastic end port is closed (no air flow in or out).
const int valvePin = 2;
//This will run only one time.
void setup() {
Serial.begin(9600);
// Motor A - inflating
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPinEn12, OUTPUT);
// Motor B - deflating
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
pinMode(motorPinEn34, OUTPUT);
// Solenoid valve
pinMode(valvePin, OUTPUT);
}
void loop() {
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
// valvePin HIGH for inflating, LOW for deflating
Serial.println("INFLATING");
digitalWrite(valvePin, HIGH); // HIGH - inflate
// Pump inflating: motorPin1, motorpin2; Pump deflating: motorpin3, motorpin4
analogWrite(motorPinEn12, 255); // set speed to highest setting (0-255)
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
delay(5000); // how long it should inflate in milliseconds
// Turn off motors
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
// analogWrite(motorPinEn12, 180); // set speed to lower setting
// digitalWrite(motorPin1, HIGH);
// digitalWrite(motorPin2, LOW);
// delay(3000);
// Stop inflating
// digitalWrite(motorPin1, LOW);
// digitalWrite(motorPin2, LOW);
// delay(1000);
// // PWM inflation speed; this also works, can be nice for gradual inflation. In the lower range it's hard to notice any inflation
// for (int i = 0; i < 255; i++) {
// analogWrite(motorPinEn12, i);
// digitalWrite(motorPin1, HIGH);
// digitalWrite(motorPin2, LOW);
// delay(10);
// }
// // Gradually Decrease Duty Cycle
// for (int i = 255; i > 0; i--) {
// analogWrite(motorPinEn12, i);
// digitalWrite(motorPin1, HIGH);
// digitalWrite(motorPin2, LOW);
// delay(10);
// }
Serial.println("DEFLATING");
digitalWrite(valvePin, LOW); // set solenoid to LOW to enable air flow to the deflating pump
analogWrite(motorPinEn34, 255); // set speed to highest setting (0-255)
// Turn on the deflating pump
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(2000);
// And this stops deflating
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
// Short optional pause between inflating and deflating
delay(500);
}
Once the design was simplified, I moved on to the actual bio-silicone casting. To start, I created the acrylic mold in Rhino8 as my laser cut file, which you can download Here4. I used the same settings as in the previous Ecoflex™ silicone casting, where we laser cutted the acrylic mold.
My acrylic sheets were 3mm thick, and after cutting them, I assembled the pieces quickly using Acryfix glue. Working fast was essential, but it led to some spilled glue on the mold’s surfaces. I attempted to clean it with alcohol, but it didn’t come off, so I decided to proceed as it was. Ideally, I would have let the mold dry for at least 24 hours, but due to time constraints, I began preparing the bio-silicone mixture and cast it the same day.
For the bio-silicone, I used the same 1:1 ratio recipe as before, adding a few drops of black food coloring for a darkened effect. Once the mixture reached a syrup-like texture, I quickly poured it into the molds. My intention was to create a thin, even layer, but the mixture was slightly too thick and began drying very quickly, which made it difficult to spread. As a result, I ended up with a 3mm-thick bio-silicone layer—thicker than I had planned, which later posed challenges for my project.
I let the bio-silicone dry over the weekend, and on Monday, I used the leftover bio-silicone mixture as a glue. Unmolding the casted bio-silicone was very easy, I just had to be careful not to damage the shape. Gluing the pieces together, however, required a bit more precision. I applied the glue in sections, carefully aligning each part as I went. Once the entire shape was glued together, I added an additional layer of glue along the side walls to reinforce the bond and ensure everything stayed securely in place.
After allowing the bio-silicone glue to dry for a full day, I attempted to inflate the piece. First, I tried using an electric air compressor pump, but it didn’t work, even after increasing the air pressure. Next, I tried inflating it manually with a straw, and while this worked somewhat, it was still far from ideal. I think that even thinner walls would be necessary for effective inflation. Unfortunately, the 3mm acrylic sheet I used for the mold was the thinnest available in our lab.
To achieve a better result, I should have cast a thinner layer of biomaterial than the thickness of the acrylic sheet. Although I attempted to make the layer thinner, the biomaterial's consistency was too thick, and it dried too quickly, preventing me from doing so. Next time, I will adjust the mixture by adding more water to make it runnier.
future improvements¶
Things to improve in the future for better inflation results:
-
Create the mold in Rhino 8 and 3D print it to ensure precise measurements for the final design. This will help control the wall thickness more accurately.
-
Pour the bio-silicone before it reaches an ideal syrupy texture. Alternatively, try adding a small amount of water, work more quickly, or keep the mixture warm to prevent it from solidifying too soon.
-
Experiment with different glue options. Using bio-silicone as glue didn’t work as well as expected, I had to reapply multiple times. This could be due to adding too much water to re-liquify the silicone for application, which may have affected its stickiness.
-
Try creating a wider design with a bit more structure, something less fragile. Maybe try first to cast this design in Ecoflex Silicone to see how it behaves. Once it’s cast, try gluing it carefully and testing the inflation. See whether the issues come from the design itself or the material choice. If the material is the problem, try to adapt the bio-silicone recipe to better fit the needs of the project.
fabrication files¶
-
File: Acylic Voronoi Mould ↩
-
File: Tapioca Module ↩
-
File: Tapioca Prusa file ↩
-
File: Star Laser Cut file ↩
-
File: Illustrator Flower ↩