7. Computer Controlled Machining¶
Lab & CNC Safety¶
Before operating any CNC machine, there are a set of safety rules that apply to both the shop environment and the machine itself.
General shop safety:¶
- Always wear safety glasses when the machine is runnin
- No loose clothing, open-toed shoes, or dangling jewelry near any machine
- Keep the work area clear — no tools, offcuts, or clutter near the cutting bed
- Never leave the machine unattended while it is running Know where the emergency stop button is before you start
CNC specific:¶
- Never reach into the cutting area while the spindle is moving
- Always check that the bit is properly secured in the collet before running a job
- Make sure the workpiece is firmly fixed down — an unsecured board can become a projectile
- Double check your CAM file before sending it to the machine — verify depths, feeds, and speeds
- Stand clear of the machine during the first pass of any new job and watch carefully for anything unexpected
Design Process — Modeling the Egg and Waffle Structure¶
Step 1 — Model the Egg in Rhino¶
Draw the elevation profile of an egg in 2D. Do this by intersecting two circles of different radii to get the characteristic asymmetric curve — wider at the bottom, narrower at the top. Add a smaller circle in the center and an even smaller one toward the top to refine the profile. Use the Rotate3D command to rotate the profile around the vertical axis, creating a solid of revolution.
Add horizontal circular sections along the Z-axis as reference geometry.Use the Loft command to generate a clean solid surface through those sections.Slice the egg horizontally to separate the top and bottom halves.
Use Boolean Difference to subtract a small sphere from the interior — this creates the cavity for the yolk.
[Screenshots of egg modeling process here]
Step 2 — Generate the Ribs Using Contour¶
Select the egg solid and run the Contour command. This slices the object with a series of parallel planes at a set interval — it saves a lot of time compared to slicing manually.
Instead of slicing orthogonally (straight horizontal), set the contour planes at a diagonal angle. This gives the ribs a more interesting visual rhythm across the form.
Once the contour curves are generated, Extrude each one by the thickness of the plywood — in this case 15mm. Repeat the process in the perpendicular direction so you have two sets of planes running across each other.
/Screenshot 2026-03-10 at 12.33.46 PM.png)
Step 3 — Make the Waffle Joints¶
The waffle joint is what allows the two sets of ribs to slot together without glue or fasteners. Here’s how to make them: Copy both sets of intersecting planes. Use Boolean Intersect to isolate the volumes where the two sets of planes overlap. This gives you a set of rods — one for each intersection point. Draw a small horizontal plane at the midpoint of each rod and use it to Split the rods into upper and lower halves. Group the upper halves together and the lower halves together — two groups total. Use Boolean Difference to subtract the upper group from one set of waffle planes, and the lower group from the other set. This cuts a perfectly sized slot into each rib at every intersection point. Test the fit — the two sets should slot together cleanly and hold their form.
/Screenshot 2026-03-10 at 2.19.20 PM.png)
Preparing the CAM File in RhinoCAM¶
Step 1 — Nest and Flatten the Pieces¶
Arrange all the rib pieces flat on the profile of the stock sheet, making sure there is adequate spacing between pieces and a safe margin from the edges. Use the Make2D command to generate clean 2D outlines of the upper profiles of all the ribs. This is the file that goes into RhinoCAM.
/Screenshot 2026-03-10 at 2.41.34 PM.png)
Step 2 — Set Up Layers in RhinoCAM¶
Organize the file into three layers before setting up any machining operations: * Stock — the outline of the physical board
-
Outcuts — the profiles to be cut
-
Screws — points marking where the board will be screwed down
Step 3 — Set Up Machining Operations¶
This is a 2-axis operation — the cutting surface is flat and the Z-axis depth is fixed per pass. Two operations are needed:
- Engraving (for screw holes):
Select the points in the Screws layer Clearance plane: 20mm (high enough to clear the workpiece when moving between positions) Tool: flat end mill Spindle speed: 15,000 RPM Feed rate: 2,600 mm/min Tolerance: 0.03mm Cut direction: Natural Cut geometry location: At top Total cut depth: 3mm
- 2-Axis Profiling (for cutting the ribs):
Select the outlines in the Outcuts layer Clearance plane: 20mm Tolerance: 0.03mm Cut direction: Down cut Spindle speed: 15,000 RPM Feed rate: 2,600 mm/min Cut geometry location: At top Total cut depth: 15.3mm Depth per pass: 3.1mm (this gives 5 passes to reach full depth — always better to take multiple shallow passes than one deep one)
Setting Up the Machine¶
Once the CAM file is ready, follow these steps to set up the CNC machine before running the job:
-
Change the bit Install the correct tool specified in your CAM file. Make sure it is fully seated in the collet and tightened securely. A loose bit is dangerous and will ruin the cut.
-
Place and temporarily fix the board Lay the stock board on the cutting bed. Before screwing it down permanently, run the engraving operation first — this drills the screw hole positions into the board at exactly the right locations.
-
Screw the board down firmly Once the engraving operation has marked the screw positions, stop the job and screw the board down firmly at all marked points. A board that shifts mid-cut will ruin the job.
-
Zero X and Y Manually jog the machine to move the bit to the corner of the board that corresponds to your CAM file’s origin point. Lower the bit close to the surface and align it precisely with that corner. Zero both X and Y axes at this position.
-
Zero Z Move the bit to a clear area — ideally the center of the board, away from any cut geometry. Slowly lower the bit until it just touches the surface of the board. Zero the Z axis here. This ensures the machine knows exactly where the top surface of the material is.
-
Run the job Send the file to the machine. Stand by and watch the first pass carefully. If anything looks wrong — unexpected sounds, the bit cutting too deep or too shallow, the board moving — hit the emergency stop immediately.
Problem Faced — Waffle Joints That Didn’t Fit¶
After cutting the board and bringing the pieces to assembly, I discovered that one full set of ribs had joints that were the wrong size. The slots were too small and the pieces wouldn’t slot together properly.
After going back through the file to understand what had happened, I traced the issue to a scaling operation I had done earlier in the modeling process. To create the negative volumes for the boolean subtraction — the slots — I had scaled up a reference geometry and then never checked ther alignmens carefully. The scaled geometry produced slots that were slightly undersized, and I didn’t catch it before sending the file to the machine.
It was a costly mistake in terms of time. Since the pieces were already cut, there was no going back digitally. I had to fix each joint by hand — first sketching the correct slot depth directly onto the wood with a pencil, then using a band saw and chisel to cut and clean each joint manually. It was slow and painstaking work.
Assembly¶
After cutting the board I realized that I had a problem with the CAM file! Terrible mistake
The joint grooves for all of the piece running in one axis where off. After accessing the problem, I understood that the problem happened during at D1-Scanning operation just before doing the booleon diff.
I had to make the correction manually by first skecting the correct depth of each join by pensil. Then I used a band saw and chizzel to cut the boards.
/IMG_1974.jpg (1).jpg)
/IMG_1977 (1).jpg)
[Group Assignment link is here]