Belt buckles: where coding meets couture, where function meets fashion!
Here’s a Tinkercad Codeblocks project that has a number of appealing angles for both students and teachers.
- Students can work from a teacher-shared buckle “blank,” then use Codeblocks to personalize it with their unique designs. They come away from the project with coding skills, spatial reasoning practice, and a functional belt for themselves or as a gift.
- Teachers help their students appreciate the power of loops and variables, and the 3D prints are relatively quick to produce in this “code you can touch” project.
- Practice “tiling” and “rotating” designs in Codeblocks with videos and sample code resources below.
- Students pick a style of buckle and webbing size. Design, iterate, and get designs approved for printing.
- Print and assemble belts. See the assembly and wear video below.
- Optional: Reflect on or extend the project via presentation or web learning journal, OR use comment blocks to explain thinking.
Educator's note: In teaching this project, I would first have students play and experiment with rotating shapes in a circular pattern and “tiling” shapes in a rectangular pattern in Codeblocks (see resources below). Don’t worry about 3D printing at first. Low-stakes play and sharing will yield a lot of learning. Once they have some comfort with those skills, unleash the students and their creativity on the buckle blanks!
"Low-stakes play and sharing will yield a lot of learning."
Step through your code with this pro tip:
At the top of the right-hand 3D viewer panel, there are a speed slider and a code stepper “Next” button. These are great learning tools because, as in the example above, the block being run gets clearly highlighted in black. This is fantastic for students to understand and debug their code.
If you hear, "I don't get why this is happening," suggest they slow the speed way down and/or step through the code with the "Next" button.
Step 1: Practice with Sample Designs
To practice, you can work from the two videos below, work from the sample tiling and rotating Codeblocks projects with comments below, or both.
The videos below walk through the logic of the process in a way that will make more sense to newer coders than just reading the comment blocks might. Either way, the projects guide the viewer through code that uses skills very similar, but not identical, to those needed for the actual buckles.
Try it #1! Tiling Shapes in Codeblocks
Try it #2! Rotating Shapes in Codeblocks
Sample Designs for Titling and Rotating Shapes
“Tiling Shapes Demo” Codeblocks project with instructional comment blocks:
“Rotating Shapes Demo” Codeblocks project with instructional comment blocks:
These sample projects have comment blocks that explain the code in the order it runs--though not the order you would probably create them in.
Step 2: Create the Design
To create the design, you can either choose “tiling” a shape (see the gold buckle above, with tiled polygon holes in a curved buckle), or else rotating a design (as in the maroon buckle with rotated torus shapes).
You'll also need to decide whether you want a buckle that curves slightly against the wearer’s waist and has holes for the design, or else a flat buckle, which can have holes and/or raised elements. (The curved design prints face-down, so that’s why it can’t have a raised element.) Students might be asked to create several different designs, then pick one for printing. Speedier coders can also serve as advisors to others.
Open a link below, then click “Tinker This” on the Codeblocks page. Students can take what they learned from their practice and apply it to these buckle blank designs. Experiment--change variable values, use blocks like Scale and Move to create different effects, change a hole into a solid (for flat buckles), change the Move Y value, etc.
Pro Tip: Remember that if you have two Tinkercad windows open, you can actually copy and paste code from one to the other, and in standard Tinkercad, you can copy and paste shapes. Slick!
Buckle “blanks” to be shared with students:
- 1” flat: https://www.tinkercad.com/codeblocks/cLAMr2dAAX8
- 1” curved: https://www.tinkercad.com/codeblocks/fsz39alH8JM
- 1.5” flat: https://www.tinkercad.com/codeblocks/44SBz99eOD3
- 1.5” curved: https://www.tinkercad.com/codeblocks/4AvWIXVIaNG
Colorful nylon webbing is widely available in 1” and 1.5” widths. Decide which of those you want, keeping in mind that younger students’ belt loops may not accommodate a 1.5” belt.
Step 3: Assemble the Belt
To assemble the belt, you’ll need webbing of the chosen width, a lighter to slightly melt the ends to prevent fraying, and strong thread with a needle. The belt should be the circumference of the wearer’s waist, plus about 3-4 inches.
After slightly melting the ends to prevent fraying, you’ll simply fold over the end of the webbing by a small amount, and hand or machine sew that down with a couple rows of stitches with your sturdy thread.
(Using an eyelet punch to install a couple of eyelets or gluing / bonding the webbing instead of sewing might be good alternatives. Share your solution of choice!)
Assemble and Wear Your Belt
Step 4: Reflect and Extend
There are many ways to extend the challenge and creativity of this assignment.
- In the slicer application, pause the printing to change the filament color.
- Make a buckle with a different shape as the base--an oval? Circle? Polygon?
- Tile shapes in rows that are off-set, as in the gold polygons example above.
- Use the “Random” block to rotate shapes in unexpected ways, as with the tiled hearts in the group photo at the top.
- Use both a rotated design and some tiling together.
- Students can document their learning journey with images of designs and the actual belt, plus written reflection on challenges and problem solving.
If you enjoyed this column or tried this with students, please share your feedback and creations! What would you like to see more of? What works well? Feel free to contact me on Twitter or my website with your questions, suggestions, or ideas for future content.