Week 3
AI prompt:
“Now I need to create an image where she is in FreeCAD, drawing with the parametric stand design(board where I have set 3 joints first for the decorative tree, another two for the stand joints). And also in OpenSCAD, I drew a parametric random maze(there I have a board with nets and walls for the maze, these walls are generated randomly). And also I want to use a vinyl cutter for cut tree life, and a mini sticker like Toothless”
Computer-Controlled Cutting
Laser Cutting
This week, we started by studying the rules for working with the laser cutter.
Our instructor introduced us in detail to the safety rules. After understanding the information well, my classmate Hrach and I carefully cleaned the laser cutter. Here are the photos.
I would also like to mention that at the end of the session, I received a birthday surprise from the wonderful FabLab Dilijan team. Thank you very much for the congratulations!
For the group assignment, Hrach and I divided the work between us.
He was responsible for creating a parametric test card that we would use to test and evaluate the laser cutter parameters. This card helps us understand how different settings affect the cutting results for specific materials.
My task was to design and create a stand where the card would be placed. I also added a decorative tree (if it can be called a tree 😊) to give the stand a more unique and aesthetically pleasing appearance.
I will present my hand-drawn sketch. At the end, I will also provide the sketch.
Now I will present the stand that I designed in FreeCAD. After creating the hand-drawn sketch, it became clear which variables were necessary to create a fully parametric stand with interconnected parameters.
First, I created a Spreadsheet. In any selected cell, I assigned a name or description to the variable that I wanted to create.
Then, in the adjacent cell, I defined it as a parameter-containing variable. To do this, I performed the following steps:
All line lengths shown in the drawing are interdependent, and I organized them using spreadsheet with correspon
After that, I was able to assign the variable name to any part of the design, and its value was automatically read from the Spreadsheet.
And here are the sketches of all the parts used to create the stand.
Here are photos of the stand.
vinyl cutter
First, we studied how the vinyl cutter operates. We learned how to start the machine and how to adjust the speed and cutting force. I only modified the cutting force depending on the thickness of the material, which varied between 130–150 cm/s.
For the vinyl cutter assignment, I planned to cut decorative leaves for the stand design. I also planned to create a sticker shaped like Toothless.
Let’s start with the leaves.
Since the tree decoration on the stand did not visually resemble a tree very well, I decided to attach leaves to it. First, I selected the image that I wanted to place on the tree. Then, using the Trace Bitmap tool, I converted the image from raster format to vector format.
After that, I made the following adjustments in the Fill and Stroke section.
Once I obtained the desired result, I prepared the design according to my paper size. By pressing CTRL + Shift + D, or by navigating to File → Document Properties, I set the width and height values according to the dimensions shown on the vinyl cutter screen after inserting the paper and configuring the machine.
When the file was ready for cutting, I pressed CTRL + P or navigated to File → Print. In the General section, I selected the vinyl cutter name Roland GX-24. Then, in the Preferences section, I manually entered the Cutting Area width and length, making sure they matched the dimensions of the material being cut.
Now it doesn’t really matter whether it looks like a tree or not — the important thing is that it looks beautiful 😊.
Now I started creating the Toothless sticker.
First, I selected the colors of the vinyl sheets that would represent the different parts of Toothless.
Then, I found the image that I wanted to convert into a sticker. I imported it into Inkscape and converted it into a vector. Using the Fill and Stroke settings, I performed the same adjustments as I did for the leaves, keeping only the outlines of the image for cutting.
After that, I repeated the same process for each individual part of Toothless that I wanted to cut.
Once all the parts were ready, I assembled them on my notebook (laptop).
Laser Cutter – Randomized Maze Design in OpenSCAD
Finally, it was time to present my randomized maze algorithm created in OpenSCAD. First, I demonstrated it using a video, and then I moved on to the explanation.
I developed an algorithm that generates a new maze every time it runs. The goal is to prevent the game from becoming repetitive or boring for the player. To allow customization, I created several maze map cards. The player can choose any card and arrange the maze according to that selected layout. Here are several examples of these cards.
While generating the maze, I considered several important details:
- First, I divided the game board into four quadrants. This allowed me to create a segmented maze so that the car could travel through all possible paths.
quadrants = [
// Part 1
[board_x+cell_size, board_y+cell_size],
// Part 2
[board_x+cell_size + board_length/2, board_y+cell_size],
// Part 3
[board_x+cell_size, board_y+cell_size + board_width/2],
// Part 4
[board_x+cell_size + board_length/2, board_y+cell_size + board_width/2]
];
cell_size, which I plan to adjust later according to the dimensions of the car, ensuring that it can move smoothly through the maze paths.cell_size = board_length / 15;
module set_board_nets(x, y, z, length, width, height) {
for(i = [board_x + cell_size : cell_size/2 : (board_length)]) {
for(j = [board_y + cell_size : cell_size/2 : board_width]){
translate([i, j, 2])
cube([2, 2, 3]);
}
}
}
difference() {
board(board_x, board_y, board_z, board_length+2, board_width+2, board_height);
set_board_nets(board_x+2, board_y, board_z-1, board_length+ 2, board_width+2, board_height);
}
At this stage, I used this algorithm both as an example of parametric design and as a foundation for my future work. Using the laser cutter, I manufactured a grid-based board and walls with joints. For this purpose, I created two additional OpenSCAD files. From my main algorithm, I separated the board with holes and prepared it specifically for laser cutting. I also created another file that contains the maze walls with joints.
Here is the process.
As a small prototype of my game environment, I manufactured a 300 × 300 mm board. After creating the SVG files, I proceeded with the laser cutting process.
Initially, for my 3 mm thick plywood, I set the machine parameters to speed 20, with minimum and maximum power set to 60 and 61. After waiting for the cutting process to finish, I noticed that the plywood was not fully cut. Additionally, the joints did not fit into the grid because I had not taken the kerf into account.
After that, I added the kerf value to the joint length and subtracted the kerf value from the grid slots on the board. For our machine, the kerf value is 0.1 mm, which we calculated during the group assignment.
I also decided to add "START" to my game board. For this, I began testing to understand how to use the laser cutter in scan (engraving) mode instead of cutting mode. Here are the results.
I selected two examples from the cards I created and assembled the corresponding maze layouts.
I think my final project is ready 😄 😄
conclusion
This week helped me gain practical experience working with both the laser cutter and vinyl cutter. I learned how to prepare vector files, adjust machine parameters, and understand fabrication details such as kerf compensation and material testing. I also explored parametric design by developing a randomized maze algorithm and applying it to a physical prototype. Despite technical difficulties with file loss, I successfully completed several fabricated parts and improved my understanding of digital fabrication workflows. This week strengthened my confidence in combining design, programming, and manufacturing.
Files for download

AI prompt:
“And generate an image when finished this week.”