Week Outline

  1. Wednesday: Global Class on Computer-Controlled Cutting.
  2. Thursday: Local Class on Laser Cutting Basics. Learned how to use the Laser and Vinyl Cutters at the lab. Local Class on Parametric Design with Fusion. We started our group assignment. I started working on my parametric press-fit kit design on Fusion.
  3. Friday: Local Class on Parametric Design with Grasshopper. I caught up on my weekly documentation and continued working on my parametric press-fit kit design on Fusion.
  4. Monday: Local Class on Parametric Design with Blender Geometry Nodes. I finished my Luban Lock Ball Puzzle design, first cut, and re-design. I also caught up on my documentation.
  5. Tuesday: I finished my Planetary Gears design and caught up on my documentation.
  6. Wednesday: I cut my Planetary Gears design and the AC37 logo. I caught up with my documentation. Global Review.
  7. Thursday I cut my Planetary Gears design modifications and my Luban Lock Ball Puzzle corrected design.

Global Class

On this week's global class, Neil gave us an introduction into computer controlled cutting. He gave us an overall idea of what tools can be used for the process (knives, print/cut, laser, plasma, waterjet, hot wire, wire EDM), as well as which CAD and CAM input softwares are useful for what type of tool. He did a deep dive into vinyl and laser cutters. For the vinyl cutter, he covered applications, materials, machine settings, and some techniques for using them. For the laser cutter, he covered applications, LASER theory, mechanisms, cutting processes, machine airflow, safety recommendations, and machine settings. When he talked about the laser cutter applications, he did a deep dive into press-fit constructions and the different types of joints that can be used in them.

Local Classes

On Thursday, we started the day with a class on laser cutting basics. We did an exercise where we paired up and one person read given coordinates to another person, who was drawing them on a piece of paper. This way we created basic images and opened up the conversation about how a laser cutter acts upon a set of instructions that come from the designs. Below is an image of my group's instructions, design, and what the design should look like at the end.

Intro to LaserCutting Class

After this, we covered the basic concepts of how laser cutters work. We then headed over to the machines we have at the lab to learn how to operate them properly and safely.

After learning how to use the laser cutters, we moved on to learning how to use the vinyl cutters. Julia taught us how to use both machines that we have here at the lab and then did some examples with both of them.

Parametric Design with Fusion

On Thursday afternoon, Didac gave us a brief explanation of what parametric design is and then compared it with non-parametric design, giving us a range of pros and cons for both of them so we could better understand. Then, he proceeded to show us how to do parametric design in Fusion. We did the following module:

Final View of Parametric Design Exercise on Fusion

In order to achieve this, we:

  1. Created a sketch. Drew a construction circle on the point of origin. Established the parameters we wanted for our shape.
    Original Parameters Parametric Design Exercise on Fusion
  2. Determined the size of the circle with the parameters created.
  3. Created 2 construction lines from point of origin to any random point on the circle.
  4. Created a distance between the 2 previously created lines that was determined by the amount of sides the shape is going to have (the value for distance was 360 divided by our parameter for amount of sides). This distance will be a side of the module.
    Side Line of Parametric Design Exercise on Fusion
  5. Created a construction line from the point of origin to the side line's center.
  6. Created a construction 3-point rectangle with two points on the side line. Determined the size of the rectangle with our gap thickness and gap width parameters.
    Gap on Parametric Design Exercise on Fusion
  7. Turned the construction gap rectangle into a solid rectangle
  8. Created a circular pattern from the side line and the gap lines. Determined the quantity of the pattern with the parameter for quantity of sizes.
    Circular Pattern for Sides on Parametric Design Exercise on Fusion
  9. Finished the sketch.
  10. Extruded the face of the sketch. Determined the length of the extrusion with the thickness parameter.
    Shape Extrusion on Parametric Design Exercise on Fusion
  11. Created the outer fillet on the shape:
    1. Created a sketch construction circle on the top face of the shape (without letting it snap to anything).
    2. Created a tangent constraint between the circle and two sides of the shape.
    3. Determined the size of the circle with our outer fillet parameter.
      Tangent Constrained Circle for Fillet on Parametric Design Exercise on Fusion
    4. Selected the area between the corner of both sides and the circle to create a cut extrusion, creating the fillet.
      Fillet Extrusion on Parametric Design Exercise on Fusion
    5. Created a circular pattern from the cut extrusion. Determined the quantity of the pattern with the parameter for quantity of sizes.
      Circular Pattern of Fillet Extrusion on Parametric Design Exercise on Fusion
  12. Created the gap inner fillet:
    1. Drew a construction line from the center of the gap on the top face of the shape towards the outside. Then applied a parallel constraint on it with one of the gap's side lines.
    2. Drew a circle between the construction line and one of the gap's sides (without letting it snap to anything).
    3. Created a tangent constraint between the circle, the gap bottom line, and the gap side line.
    4. Created a mirror of the circle along the construction line across the center of the gap.
      Fillet Mirroring on Parametric Design Exercise on Fusion
    5. Selected the area between the corner of both sides and the circles to create a cut extrusion, creating the fillet.
      Gap Fillet Extrusion on Parametric Design Exercise on Fusion
    6. Created a circular pattern from the cut extrusion. Determined the quantity of the pattern with the parameter for quantity of sizes.
      Circular Pattern of Gap Fillet Extrusion on Parametric Design Exercise on Fusion

My design file can be downloaded here.

Parametric Design with Grasshopper on Rhino

On Friday morning, Dani gave us an introductory class on Grasshopper with Rhino. He showed us the grasshopper primer and the Kangaroo plugin for physics modelling. Then, he did an example of how to use grasshopper for us to understand the data flow and key components. Afterwards, we did the following polygon array:

Final View of Parametric Design Exercise on Grasshopper

In order to achieve this, we:

  1. Created a "polygon" parameter on the XY axis.
  2. Created a "number slider" parameter to determine the number of sides for the polygon.
  3. Wired the "number slider" parameter's output to the "segments" input on the "polygon" parameter.
    Polygon on Parametric Design Exercise on Grasshopper
  4. Created an "extrusion" parameter.
  5. Determined which shape to extrude (the polygon) by wiring the "polygon" output of the "polygon" parameter to the "base" input of the "extrusion" parameter.
  6. Created a "number slider" parameter.
  7. Created a "unit z" vector.
  8. Wired the "number slider" parameter's output to the "factor" input of the "unit z" vector.
  9. Wired the "unit vector" output of the "unit z" vector to the "direction" input of the "extrusion" parameter. This determined the distance by which we wanted to extrude on the Z axis.
    Extrusion on Parametric Design Exercise on Grasshopper
  10. Created a "cap holes" surface parameter.
  11. Wired the "extrusion" output of the "extrusion" parameter to the "brep" input of the "cap holes" parameter. This turned the extrusion into a boundary representation, so basically it turned it into a solid.
    Capped Extrusion on Parametric Design Exercise on Grasshopper
  12. Created a "rectangular array" geometry parameter.
    Rectangular Array on Parametric Design Exercise on Grasshopper
  13. Created a "number slider" parameter.
  14. I wanted my polygon array to be square, so I wired the "number slider" parameter's output to both the "x count" and "y count" inputs on the "rectangular array" parameter.
  15. Created a "rectangle" parameter to determine the spacing between objects in the array.
  16. Created a "number slider" parameter to determine the size of the rectangle for the spacing of objects.
  17. I wanted the spacing between the objects in my array to be even on both the X axis and the Y axis, so I wired the "number slider" parameter's output to both the "X size" and "Y size" inputs on the "rectangle" parameter.
  18. Wired the "rectangle" output from the "rectangle" parameter to the "cell" input on the "rectangular array" parameter.
  19. Created a point in Rhino.
  20. Created a "point" parameter.
  21. Linked the "point" parameter to the point in Rhino.
  22. Created a "brep closest point" parameter.
  23. Wired the "point" parameter's output to the "point" input on the "brep closest point" parameter.
  24. Wired the "geometry" output of the "rectangular array" parameter to the "brep" input on the "brep closest point" parameter.
  25. Created a "scale non uniform" parameter.
  26. Wired the "geometry" output of the "rectangular array" parameter to the "geometry" input of the "scale non uniform" parameter.
  27. Wired the "distance" output of the "brep closest point" parameter to the "scale Z" input of the "scale non uniform" parameter. This randomly extruded the array's objects across the Z axis.
  28. Created a "panel" parameter
  29. Wired the "distance" output of the "brep closest point" parameter to the "panel" parameter's input to be able to see the distance each object was extruded by the "scale non uniform" parameter.
    Scale Non Uniform Rectangular Array on Parametric Design Exercise on Grasshopper
  30. Created a "square root" parameter.
  31. Disconnected the "distance" output of the "brep closest point" parameter from the "scale Z" input of the "scale non uniform" parameter.
  32. Disconnected the "distance" output of the "brep closest point" parameter to the "panel" parameter's input.
  33. Wired the "distance" output of the "brep closest point" parameter to the "value" input of the "square root" parameter.
  34. Wired the "result" output of the "square root" parameter to the "scale Z" input of the "scale non uniform" parameter.
  35. Wired the "result" output of the "square root" parameter to the "panel" parameter's input to be able to see the distance each object was extruded by the "scale non uniform" parameter after being adjusted by the "square root" parameter.

My grasshopper design file can be downloaded here. My rhino design file can be downloaded here.

Assignments

1. Do the lab's safety training as a group

Josep showed us the 4 laser cutters we have at the lab. He opened the inside of one of them for us to see and better understand how they worked. Then, he showed us the basic workflow for using them and pointed out the general safety pre-checks. He also explained what processes to follow in case things go wrong. Below is an image of Josep teaching us how to use the tool to callibrate the Rayjet 500's focus.

Josep on the Rayjet

2. As a group, characterize your lasercutter's focus, power, speed, rate, kerf, joint clearance and types. Document your work to the group work page and reflect on your individual page what you learned.

Luckily for us, each laser cutter at the lab has a tool to characterize the focus of the laser. They all essentially consist of pieces that determine a specific height between the laser's lens and the material.

We also have reference tables available for every material, per machine, where we can consult the suggested power and speed. Below is an immage of the table for the Rayjet 500, which is also used for the Rayjet 400, which is the machine we used for the assignment.

Rayjet References

This machine has an automatic rate, so we couldn't do anything to characterize it.

For the kerf characterization, we designed a kerf tester for cardboard, for plywood, for acrylic, and cut them on the machine. We started by measuring the material. Then we designed the tester around each material's thickness. We cut the testers using the suggested references. After we cut, we realized our measurements were too optimistic, so we re-designed.

The documentation of the work we did for the kerf tester can be found here.

3. Design, lasercut, and document a parametric construction kit, accounting for the lasercutter kerf, which can be assembled in multiple ways, and for extra credit include elements that aren't flat

As soon as Neil explained this assignment, I thought about doing a Rubik's Cube. I did a lot of brainstorming and research about it and ended up going down a rabbithole on interlocking puzzles, which led to me deciding to do a Luban Lock Ball instead. While it was easier and faster to design, and actually feasible to laser cut, it wasn't exactly able to be assembled in many different ways. So although I did fabricate it, I also did an assembly of planetary gears to fulfill this week's assignment requirements.

Planetary Gears

Click here for assembly animation

Planetary Gears
Parametric Design
  1. Decided I wanted to have 4 planet gears and a sun gear which were all the same size so that they could be exchangeable.
  2. Used this planetary gear simulator tool to determine how many teeth each one of my gears had to have.
    Planetary Gears Simulator Tool
  3. Watched this youtube tutorial to start creating my design in Fusion.
  4. Created a new file.
  5. Created the "thickness"=4mm parameter.
    Planetary Gears Simulator Tool
  6. Ran the SpurGear C++ Sample Add-in to create a new component for the ring gear.
    SpurGear Add-In Details for Ring Gear
  7. Created a cylinder in this component with a height equal to the "thickness" parameter.
  8. Cut extruded the ring gear from the cylinder to have the body for the ring gear that will actually be used.
    Ring Gear Extrusion Cut
  9. Ran the SpurGear C++ Sample Add-in to create a new component for the sun/planets gear.
    SpurGear Add-In Details for Ring Gear
  10. Selected the sun/planets gear component and moved it 48mm across the X and Y axis while creating a copy (did this 4 times). Any changes done on the center (original) gear get replicated into the other 4 copies.
    Ring, Planets, and Sun Gears
  11. Modified the center of the sun/planet gears so that instead of the original 10mm circle, there was two openings for the joints.
  12. Duplicated the ring gear into a new component for the middle layer of the assembly.
  13. Created a new component for the gear carrier.
  14. Created a sketch on the gear carrier component.
  15. Used the planet gears center hole sketches as reference points, and created lines joining them through the inside and outside.
  16. Created a 5mm fillet through the center lines.
  17. Added a 3-point rectangle 5mm outside the carrier structure.
  18. Created a 5mm fillet on the outer rectangle of the component.
    Corrected Center with Grooves
  19. Extruded a surface from the sketch with a height equal to the "thickness" parameter to create the body for the gear carrier.
  20. Created a new component for the base of the sun gear.
  21. Created a sketch.
  22. Created a 10mm circle.
  23. Created a 25mm circle around the previously created circle.
    Corrected Center with Grooves
  24. Extruded the area between the circles with a height equal to the "thickness" parameter.
    Corrected Center with Grooves
  25. Created a new component for the assembly's base.
  26. Created a sketch.
  27. Created a 10mm circle.
  28. Created a circle with the same diameter as the ring gear's outer diameter.
    Corrected Center with Grooves
  29. Created a sketch on a new component for the joints that hold the gears into the carrier and the assembly.
    Corrected Center with Grooves
  30. Extruded the joints with a height equal to the "thickness" parameter and copied the component 5 times.
  31. Modified one of the joints, the one for the sun gear, to be 4mm longer in height than the rest of the joints, so that it goes all the way down into the assembly's base.
  32. Created an arrangement to have all the pieces layed out for cutting.
    Corrected Center with Grooves
  33. Created a sketch.
  34. Created a projection of all the pieces on the sketch and exported the DXF file.
  35. Opened the DXF file in Rhino and modified it for cutting.
    Corrected Center with Grooves

The Fusion file can be found here. The Rhino file can be found here.

Press-fit Construction
  1. Placed my sheet of 4mm plywood on the Rayjet 500 machine and clamped it down.
  2. Focused the laser with its respective tool.
    Rayjet 500 Focus
  3. Imported the file from our local cloud into the cutter's file manager.
  4. Placed the job on the manager's surface.
  5. Moved the laser along the length and width of the job to ensure my placement was ideal along the material.
  6. Adjusted the laser's parameters to cut with 45 on power and 1.8 on speed at every process.
  7. Turned the air supply on and closed the lid.
  8. Sent the file and cut the pieces.
    First Cut of Full Assembly
  9. Opened the lid, shut the air supply off, and extracted the pieces. After taking them all out, I noticed the gears had not been cut all the way through.
    Uncut Gears
  10. Since my pieces were already out, I couldn't just re-run the machine. So instead, I adjusted the design file so that I could start a new job printing just what I needed. I changed the processes to be one layer deeper to see if that helped.
    Second Cut
  11. Placed the new job on the file manager's surface.
  12. Moved the laser along the length and width of the new job to ensure my placement was ideal along the material.
  13. Adjusted the laser's parameters to cut with 50 on power and 1.8 on speed.
  14. Turned the air supply on and closed the lid.
  15. Sent the file and cut the pieces.
  16. Tested the joints on the improperly cut gears while the new ones were getting cut and they worked well! The group assignment taught me well the kerf I could expect from this machine.
    Joint Testing
  17. Once the laser cutter finished I opened the lid, shut the air supply off, and succesfully extracted all the pieces.
    Planetary Gears Assembled

The assembly was a success. Everything fit and the gears moved well. However, I knew I could improve it. Since the base layer and the outer rings weren't attached, you had to hold them in place if you wanted to move the gears. For this reason, I designed some clamps. I also re-designed the joints to make them stronger and more aesthetically pleasing. I also made the sun gear's joint longer on top to make it easier to rotate the gears.

Planetary Gears Iterations

To get from the design above, to the fully finished assembly (which is pictured below and can be seen rotating here) I:

Planetary Gears Final Assembly
  1. Created a new file on Fusion.
  2. Copied the joints for the planetary gears and sun gear from the original file and pasted them as new.
  3. Created a 1mm chamfer on the inner openings of the joints.
  4. Created a 3.8 fillet on the top sides of the joints.
  5. Went back to the original file and measured the distance between the outer diameter of the ring gear and the top of the teeth. Chose to do the clamps half of that length
  6. Created a new component for the clamps.
  7. Created a sketch based on the dimensions from the assembly.
    Clamp Sketch
  8. Extruded the clamps 4mm.
  9. Copied and pasted the planet gear joint 3 times and the clamps 2 times.
  10. Created a new sketch.
  11. Projected all the geometries onto the sketch and saved the DXF file.
  12. Opened the DXF file on Fusion and prepared it for cutting.
  13. Uploaded the file into our local cloud.
  14. Placed a new sheet of 4mm plywood on the Rayjet 500 machine and clamped it down.
  15. Focused the laser with its respective tool.
  16. Imported the file from our local cloud into the cutter's file manager.
  17. Placed the job on the manager's surface.
  18. Moved the laser along the length and width of the job to ensure my placement was ideal along the material.
  19. Adjusted the laser's parameters to cut with 50 on power and 1.8 on speed at every process.
  20. Turned the air supply on and closed the lid.
  21. Sent the file and cut the pieces.

The Rhino file for the second cut can be found here. The Fusion file for the iterations can be found here. The Rhino file for the iterations can be found here.

Luban Lock Ball Puzzle

Luban Lock Ball Puzzle
Parametric Design

I have never held a Luban Lock Ball Puzzle and had no idea what size they are. So, I did a lot of research and found this very useful blogpost of someone who had already gone on the journey I was about to go on. I used their "Luben Ball" pdf available here as the starting point for my construction kit. I got to work with the following image as my point of reference (my own notes in blue describe the final design):

Luban Lock Ball Puzzle Reference

The idea was to create each piece separately. Starting with the same dimensions as the reference, and then parametrically changing them to be what I wanted. I chose the dimensions so that I could print each piece twice on 4mm plywood, and then press-fit the duplicates and sides together to make a single 16mm thick piece.

I was half-asleep doing the first version of the design and I got the ratio for some dimensions wrong, so my first cut was a failure. I also made the joint holes slightly too big, so the locking pins slid out in most pieces. I then re-parametrized the shapes so that the puzzle would lock, and also changed the size and location of the joint holes so that the structure was better supported. However, I made the joint holes too small this time, so for the puzzle to lock I had to tape the pieces together. Below is a side by side comparison of my first two cuts.

First Two Cuts

After two failed attempts, I re-designed the joints so that instead of being single pins, they would be actual joints. I had originally planned to do this modification for the second cut but I didn't have time before my booked slot on the cutter.

My final working design went like this:

For each piece I:

  1. Opened a new file for each piece.
  2. Created a new component and named it according to which piece I was working on.
  3. Established the parameters "diameter"=36mm and "thickness"=3mm.
    Parameters
  4. Created a sketch.
  5. Created a center diameter circle from the point of origin with the diameter being the "diameter" parameter.
  6. Created construction lines through the middle of the circle along the X and Y axis.
  7. Sketched each piece following the reference. If the reference's dimension was 3mm, my dimension was ="thickness" parameter. If the reference's dimension was 6mm, my dimension was ="thickness" parameter * 2. Every other constraint or dimension was arithmetically derived from thes ebasic principles.

Each piece's sketch ended up looking like this:

Piece 1
Luban Lock Ball Puzzle Piece 1
Piece 2
Luban Lock Ball Puzzle Piece 2
Pieces 3 and 5
Luban Lock Ball Puzzle Pieces 3 and 5
Piece 4
Luban Lock Ball Puzzle Piece 4
Piece 6
Luban Lock Ball Puzzle Piece 6

Then, I created the holes for the joints:

Joint Holes
  1. Created a construction line from the center x-axis to the edge of the circle.
  2. Created a 16mm distance between the previously created line and the center y-axis.
  3. Created a construction line from the center y-axis to the edge of the circle.
  4. Created a 16mm distance between the previously created line and the center x-axis.
  5. Created a 3.7mmx3.7mm center rectangle on the first construction line.
  6. Created a 10mm distance between the previously created rectangle and the center y-axis.
  7. Created another 3.7mmx3.7mm center rectangle on the first construction line.
  8. Created a 1.5mm distance between both rectangles.
  9. Created a 3.7mmx3.7mm center rectangle on the second construction line.
  10. Created a 10mm distance between the previously created rectangle and the center x-axis.
  11. Created another 3.7mmx3.7mm center rectangle on the second construction line.
  12. Created a 1.5mm distance between both rectangles.
  13. Mirrored all 4 rectangles across the y-axis.
  14. Mirrored all 8 rectangles across the x-axis.

After each sketch was finished, I extruded each side of the piece as a new body with a height = "thickness" parameter.

Once I was done with all the pieces, I created the joint pieces in a new file. I essentially copied the final joints from my planetary gears assembly (with fillets and chamfers on the extruded body), I just changed the length to fit this design and extruded the object with this design's "thickness" parameter.

Joints

Then, I:

  1. Created a new file to lay down the whole assembly.
  2. Opened all the files.
  3. Copied each piece's component from their original file.
  4. Pasted each piece's component as new twice on the assembly file.
  5. Separated the duplicate pieces by 3mm across the X axis.
  6. Copied the joint component on the joints file.
  7. Pasted the joint component as new on the assembly file.
  8. Separated the joints by 3mm underneath the pieces.
Luban Lock Ball Puzzle Complete Assembly

Then, I:

  1. Created a sketch on the file.
  2. Projected all the bodies into the sketch.
  3. Exported the sketch as a .DXF file.
  4. Opened the .DXF file on Rhino and edited the shapes to be colorized and joined for the cutting.
  5. Saved the Rhino file and uploaded it to the FabCloud to send to the printer.
Luban Lock Ball Puzzle Complete Assembly

The way I did all the pieces in different files and then created a new file to lay them all out, I now realize, was definitely not the most efficient way to work. I should have done what I then did for the planetary gears. I think that would have reduced my working time by a lot. I also thinnk instead of mirroring the rectangles for the joint holes, I could have done circular arrays and that would have also saved me some time. But this is how you learn! Luckily I applied some of these learnings into the planetary gears assembly and that reduced my working time and allowed me to fine tune more details.

The Fusion file can be found here. The Rhino file can be found here.

Press-fit Construction
  1. Placed my sheet of 4mm plywood on the Rayjet 500 machine and clamped it down.
  2. Focused the laser with its respective tool.
    Rayjet 500 Focus
  3. Imported the file from our local cloud into the cutter's file manager.
  4. Placed the job on the manager's surface.
  5. Moved the laser along the length and width of the job to ensure my placement was ideal along the material.
  6. Adjusted the laser's parameters to cut with 50 on power and 1.8 on speed at every process.
  7. Turned the air supply on and closed the lid.
  8. Sent the file and cut the pieces.
  9. Opened the lid, shut the air supply off, and extracted the pieces.
Cut Pieces

After I extracted the pieces, I joined all the layers with the joints to make the individual pieces.

Assembled Pieces

Then I followed these instructions, which I found in the original blogpost I followed, to assemble the puzzle. In the end, it looked like this:

Assembled Puzzle

4. Cut something on the vinylcutter

AC37 Logo
  1. Downloaded the Silhouette Studio software to drive the cutter.
  2. Downloaded the image I wanted to print, which is the logo for the 37th America's Cup (seen above).
  3. Imported the logo into Inkscape.
  4. Traced the bitmap of the image using the edge detection mode.
  5. Removed the original image.
  6. Exported the trace as an SVG file.
  7. Opened the SVG file in Silhouette Studio.
  8. Connected the computer to the cutter.
  9. Loaded my vinyl piece into the cutter, making sure it was inside the rollers that determine the material's width.
  10. The cutter detected the size of my material and adjusted its blade's depth accordingly (automatically).
  11. Sent the file and cut the logo.
Vinyl Cut AC37 Logo