7. Computer controlled machining¶

Useful Links introduced in Class by Neil, Tom, and other instructor by chat;
“When a machine is done, you are not” What a great phrase.
by Tom Bodett
Quentin’s UPDI + UART programmer
—> Go to Group Work¶
Group assignment: My work to the group work page and reflect on my individual page what I learned¶
Individual project (Make (design+mill+assemble) something big)¶
Modification of FABLAB.able Kinetic Seat¶
I have been designing the updated version of “FABLAB.able Kinetic Seat” to improve aesthetic, decrease material cost, length, and weight.
In this documentation, I will share the designing process of updating part.
Back Board position move forward for simpler structure.

Design a hole in the middle of upper back board to reduce weight and aesthetic which was strongly suggested by Anastasia the Co-founder of Fabricademy.
Extrude Cut the circle from the board

I found there is a conflict with the belt which holds the rotational axis from the frame.
I decided to move the back board more to the forward until there is no conflict with the belt.
This further position change to the forward made another merit to form head rest with good distance from passenger’s head.

Cutting Head rest side pillar by Boolean Cut by the Back Board
Boolean Cutting for other surrounding parts
Shoulder Joint part need to be modified as well due to the Back Board position change.
Draw a sketch for a belt to pass through, since the Back Board was placed in the middle of belt passing through inner wall.
Extrude Cut the hole for belt passing through.
Need modification of finger joint at the top are.
Finger joint modification at Top are
Top area joints modification
Making left side of Back Board by mirroring the “Body” since it will be merged as one piece.
Making left side of Shoulder Top Board by mirroring the “Body” since it will be merged as one piece.

Making left side of headrest part by mirroring the right one with “Component” since it will be a separate part.
- I continue uploading what I worked for the CAD model * * *
Semi assembly condition isometric front view
Semi assembly condition isometric rear view
CAD model for this week’s CNC milling has Completed!
Isometric front view

Isometric rear view
Preparation of CAM data for CNC Milling¶
Arrange function in Fusion360¶
Draw a Sketch of Wood Board Size under root component.
This area size will be the area for parts arrangement.
In this case, I set 1830mm x 915mm as the area in this Sketch.
Select “Arrange” function of Fusion360 to design CNC milling path.
This function is only available for subscription or token usage.
I use Fusion360 with my company’s Token contract.
Set Placement Clearance as 0.00mm
Set Spacing condition as follows;
Frame Width: 20mm
Object Spacing: 10mm
Choose “Envelopes” tab and select “Plane/Sketch/face”, then choose the Sketched Area to “Arrange”.
Go back to “Objects” tab and start “Arrange” by selecting the object part one by one.
All objects were selected, and arranged in the area.
Arranged view
There are many unnecessary lines on the surface of the Fusion Body parts.
Making 2D data for VCarve¶
We were instructed from FABLAB MinatoMirai to use VCarve as the CAM software for ShopBot operation, I need to make “2D vector data” from above arranged drawing data.
Somehow, my Fusion 3D data has a lot of unnecessary surface lines, I was instructed by Asako the way to make 2D vector data avoiding unnecessary lines as follows;
Create Sketch at the plane of arranged parts.
Choose “Project” from the CREATE menu in “Sketch” mode.
Set “Body icon” at “Selection Filter” in PROJECT window, and select all parts you want to make with 2D vector data, then press “OK”.
The 2D Projected data is in Sketch under selected Arrange part.
Select the “Export DXF” to make vector 2D data.
Make carving data for VCarve¶
Open the DXF file by VCarve.
I prepared 18mm Plywood this time, so I made following Material Setup following the instruction from our Group Work.

If you want to know the setting of VCarver working file, I wrote it in Group Work.
There are many unexpected lines exist.
You need to erase following like lines by using “N” key to find the nodes of those lines, and erase them.
“C” key is also important to “Cut” the lines at each node.


When you press “N” Key, Node of closed lines appear.
All lines are closed, you will see following with “Node” mode.
In normal mode, you will see like this below.
It is important to close the line in one path.
In case the line is closed with one path, you will see following in “Join Vectors” window.
Closed: 1
Open: 0
Dog Bone¶
“Dog Bone” is in the Fillet icon.
Set your End-mill Radius in the Fillets window.
In this case, 3.175mm (since I will use 6.35mm = 1/4inches diameter End-Mill)
Select “Dog Bone” fillet
Dog Bones were made by just clicking the corner you need to have them.
To have this result, your model need to have one closed line.
Here under part is not relevant for dog bone.
In this case, T-bone can be one way to apply.
I chose one side “T-Bone”, the other side “Normal Fillet” for the appearance and stiffness reason.
In the following case of which Node of the line is too close to the corner, Dog bone or any Fillet cannot be made.
You need to move the Node point away from the corner.
Dog Bone was made at the corner.
Combination of Dog Bone and Normal Fillet in this part
You had better check all parts if there is still open vectors.
To Check it and fix it, “Join Open Vectors” icon is very useful.
By choosing all lines around the part and click the “Join Open Vectors”, it showed 67 open vectors were found in this case.
All open vectors were joined by one click of “Join” button.
Tips for VCarve operation¶
-
Subtract the milling path efficiently¶
Following pink lined area will be engraved for 12mm in depth.
However, it takes a lot of time to engrave, so I wanted to minimize the engraving area (actually area that the End-Mill travels besides engraving the material).
Draw some closed figure such as a Square crossing the points that you want to close the trace path line.
First, select carving line,
2nd, select the square by pressing Shift Key and choose “Subtract” icon which subtract 2nd selected vector from 1st.
Result of the “Subtract”
-
Check All Vectors at once¶
Before you make G-Code for milling path, it is important to check if there is any “Open Vectors” or “Duplicate Vectors” with all parts.
To Check Open Vectors in all parts at once, you right click mouse anywhere on drawing area and you will see the following window.¶
Choose “Select All Open Vectors” in “Selection” menu, and it will highlight with Node mode if there are any Open Vector.
To Check Duplicate Vectors in all parts at once, you do the same way.¶
Choose “Select All Duplicate Vectors” in “Selection” menu, and it will highlight with Node mode if there are any Duplicate Vector.
If there is No, you’ll see the following window telling “No duplicate vectors in design”.
-
Sort by Layers¶
As you see in the path design, I designed to place “screws” among the parts so that wood board surface height would be even by applying pressure by screw.
CNC operation will be as follows;
1. Fix the wood board with screws at edge of 4 corners.
2. Drill at the screws point with shallow depth such as 3mm depth.
3. Drive screws into the wood at each screw point.
4. Engrave pocket areas.
5. Cut all parts.
In this flow, if you missed to select one of the “Screw points” as the cutting process. It will be a disaster that the end-mill cuts at the head of screw.
In order to avoid this happening, you had better separate into layers according to the type (function) of the toolpath.
I designed the toolpaths by dividing them into the following three categories;
1. A toolpath for drilling the mounting screw holes
2. A toolpath for pocket machining
3. A toolpath for cutting out the part
1. A toolpath for drilling the mounting screw holes
2. A toolpath for pocket machining
3. A toolpath for cutting out the part
Preview Toolpaths for screw points
Pocket Toolpaths setting with 12mm cut depth
Preview Toolpaths for pocket points
Cut Tooloaths setting with 18.6mm depth which will under cut 0.6mm more than sacrifice board.
Set tabs for cutting paths also inner holes.
Set tabs for all cutting paths.
Set tab length as 10.0mm and thickness 3.0mm.
Applied Preview ToolPath and got this message.
By Preview ToolPath I found the tabs will not work with current parts distance. Then, I decided to make parts distance wider.
In order to change the space between pats, “Ungroup Objects” –> “Ungroup onto groups layer”.
You don’t need to worry about all related setups such as “cut” or “pocket” or “tabs”, all these path settings will follow the parts, and you don’t need to reset those design again by changing the parts position.
Here under is the re-arranged parts position.
“Preview Trace path” result shows OK with Tabs condition on outer cutting lines.
However, some Tabs on inner cutting lines seems not necessary since end-mill cuts some of the inner hole without making island in side.

I deleted some of the tabs at inner thin holes as follows;
Result of Preview trace lines after deleting some thin inner hole lines.
Checked trace path, and total machining time was indicated as 38min.
Set wood board on the milling bed.
Screw at 4 corners for first milling for screw points.
Firstly, cut the screw points close to the parts.
I noticed that I missed not selecting “drill” but “out cut” the screw holes, and holes became like donuts shapes.
Start cutting the parts.
All parts were cut.
It smelt burnt during the milling, and found that drilling holes are burnt.
Here under are the instruction points from our instructor Asako regarding this concern;
* ### It is strongly recommended to use “Drill” toolpath instead of using “Cut” path.
When selecting a “Drill” toolpath, the vertical motion of the end mill during hole making is fundamentally different from that of a “Cut” toolpath, even if both are used to create holes.
In a Drill path, for example, when a hole is machined to full depth using three step-downs, the end mill is retracted above the material surface after each step. This repeated retraction helps the chips evacuate more easily due to negative pressure and airflow, reducing heat buildup inside the hole.
In contrast, with a Cut path, the same three step-downs simply divide the downward cutting motion into three continuous passes without lifting the tool above the surface. Especially when using an undercut end mill, chips cannot escape effectively from the hole. As a result, friction increases, cutting temperature rises, and the material becomes much more prone to burning.
When using a vacuum bed, this issue is even more critical: the problem may escalate from surface scorching to active and intense burning. Therefore, it is essential to always select a Drill toolpath for drilling operations to ensure safe and proper machining.
Assembling all cut parts¶
Cutting parts from the board by saw

Burnt hole is not completely cut till the bottom.
Removing Tabs by sawing
During the assembly of CNC-cut parts made from plywood (blockboard), I found that in some areas the core wood was not continuous and contained internal voids.
In these regions, the structure is supported only by the front and back veneer layers (each 3 mm thick), which requires special caution if the part is intended for use in a vehicle-related application.
As a possible countermeasure, these internal voids can be filled with wood glue to improve local structural integrity.




I found there is a little conflict for assembling belt not going through the slot.¶

As a temporary solution, I decided to cut drill hole at the back board side.
For sharing this drawing data with other FABLAB who wants to manufacture this seat, I modified the Fusion CAD data as follows;
Design Sketch for cutting area at Back Board.
Then, extrude the area with the depth of 6.5mm for belt shaft thickness with New Body mode.
Make a mirroring model of this New Body for the other side cut, and Cut with Boolean Cut function.
Conflict with the belt is solved in CAD data.¶
Putting glue at the connection part
Settling with clamp for glue
Cramps for settling glue
Assembled result (isometric front view)
Assembled result (isometric rear view)
Living Hinge Trial following Miriam’s document¶
Since Anastasia has been suggesting that I improve the upper back shape of the FABLAB.able Kinetic Seat with more rounded shoulders for better aesthetics, my instructor Kae suggested that I try making a living hinge, referring to Miriam’s documentation.
I decided to fabricate a total of four living hinge samples by varying the hinge skin thickness and groove spacing after end-mill cutting.
Two different hinge skin thicknesses were used: 1.0 mm and 2.0 mm.
The groove width was set to 6.5 mm, corresponding to the end mill diameter plus a small clearance.
The spacing between adjacent grooves was set to 10 mm and 15 mm.
By combining these parameters, four different hinge configurations were produced for comparison.
I directly drew above mentioned conditions in VCarve.
Preview Toolpath of Cutting
Cutting Living Hinge by ShopBot
A living hinge with a 2.0 mm skin thickness did not bend easily, as it did not deform under its own weight.
In contrast, a living hinge with a 1.0 mm skin thickness bent easily, as it visibly deflected under its own weight.
The best result among my trials was achieved with a 1.0 mm living hinge skin thickness and a 10 mm pitch, which matches the configuration described in Miriam’s documentation.
Even with the same 1.0 mm skin thickness, increasing the pitch caused a larger variation in local bending stiffness. As a result, localized folding and failure occurred instead of smooth, uniform bending.
The plywood should have been cut so that the living hinge bends perpendicular to the fiber direction of the surface veneer.
Because the hinge was bent parallel to the fiber direction, the hinge became more prone to cracking and failure.
It is obvious in this broken hinge picture.
Next time, I will set the plywood skin fiber direction perpendicular to the bending direction.
Then, design the inner radius support to keep the corner shape.
Files¶
The design file of the FABLAB.able Kinetic Seat Main Frame is confidential and therefore will be stored in the designated NDA folder.