Week 7: Computer Controlled Machining

In this week we learned the CNC router workflow, including preparing vectors in VCarve, generating toolpaths for cutting and engraving, and exporting the G-code for machining.

Before starting

The manufacturing process using a CNC router (Computer Numerical Control) consists of using an automated machine that cuts, drills, or engraves materials following toolpaths generated from a digital design.
This type of manufacturing is widely used in industry to produce parts with high precision and repeatability in materials such as wood, MDF, acrylic, aluminum, and plastics.
Since the movement of the tool is controlled by code (commonly G-code), CNC routers allow the production of anything from simple parts to complex geometries, reducing human error and optimizing production time.
This process is commonly used in areas such as furniture manufacturing, signage production, prototyping, industrial carpentry, and digital fabrication.
The most common types of routing performed with CNC routers are 2D, 2.5D, and 3D.
2D Routing:

The tool moves along the X and Y axes, while the depth (Z axis) remains constant. It is mainly used for profile cuts, contours, and simple drilling, such as cutting flat pieces from a sheet of material.

2.5D Routing:

The tool follows paths in X and Y, but the Z axis changes at different steps. This allows the creation of slots, pockets, grooves, and engravings. It is widely used in digital woodworking and furniture manufacturing because it allows different cutting depths without requiring full 3D machining.

3D Routing:

The tool moves continuously along X, Y, and Z, enabling the creation of complex three-dimensional surfaces, such as molds, sculptures, or detailed reliefs.

In this case, 2.5D routing will be used because the goal is to cut the furniture parts and engrave an image on one of the walls, which requires working with different cutting depths.
For further information about this topic and the machines at IBERO Puebla, please consult this week’s group page.

Desing

To begin, the furniture parts were designed in SolidWorks.
During the modeling process, one of the previously studied tools was used: the equation editor, which allows dimensions to be defined using mathematical relationships. This makes it easier to modify design parameters without manually changing each measurement.
It is important to clarify that in this case it was not necessary to include the kerf in the design, since VCarve automatically compensates for the tool diameter once the cutting tool parameters are configured. This means that the software calculates the correct offset for the toolpath so that the final dimensions of the parts match the original design.
In this case, the furniture piece will be used as a shelf, so it does not require a very complex structure. The design is planned for a space of approximately 1.5 m × 0.50 m × 1 m, and after adjusting the dimensions the model was structured as follows:

Wall (R):

This side is designed to leave a large open space inside the furniture. Therefore, two shelves are placed at the bottom with equal spacing, while the upper shelf is positioned using equations, allowing its height to adjust automatically if other dimensions change.
Fab termi
Fab termi
It is important to note that all pieces have a thickness of 12 mm, since the material available has that exact thickness. This ensures that the joints and cuts will fit properly during assembly.
Fab termi
To better visualize the design, the pieces are extruded 12 mm to simulate the actual thickness of the material, and a polished oak texture is applied to provide a more realistic representation of the furniture.
Fab termi

Wall (L):

This wall has the same height as the opposite wall, but in order to create more usable storage space, an additional shelf is added within the large compartment, positioned at the same distance as the lower shelves.
Fab termi
Fab termi

Wall (D):

Since this piece forms the base of the furniture, it must support the two side walls. For this reason, finger joints are added along the edges, which help create a stronger connection and increase the contact area between parts.
Fab termi
Fab termi

Wall (U):

The upper section follows a similar concept, but in this case it is sufficient to create a central slot in the piece to support one of the internal dividers.
Fab termi
Fab termi

In 1–6 (internal dividers):

After comparing furniture pieces previously manufactured in the Fab Lab, it was observed that when finger joints are placed in the middle of internal pieces, assembly can become more difficult and the pieces may not sit perfectly flush.
For this reason, a different approach was chosen: designing the internal pieces with the desired final dimensions and then subtracting 12 mm from each side, which corresponds to the thickness of the material. This adjustment ensures that, during assembly, the pieces fit together smoothly and precisely, making the process much easier.
Fab termi
Fab termi
Fab termi
Fab termi
Fab termi
Fab termi
Fab termi
Fab termi

Assembly

Once all parts were modeled, the digital assembly was created using mate relations in SolidWorks to position and connect each component correctly. This step helps verify that all parts fit properly before moving on to manufacturing.
To better visualize the final result, a render of the furniture was generated, providing an approximate idea of how the finished product will look.
Fab termi
Fab termi
Finally, all designed parts are exported as DXF files, since this format is compatible with most software used to prepare cutting paths for CNC routers.
Fab termi

Workspace

When Inkscape starts, a welcome screen appears where you can either create a new document or open an existing one.

Fab termi

Engrave

While in the workspace, the first step is to import the required image file. This can be done from the File → Import menu or by using the shortcut Ctrl + I. Once the image is placed on the canvas, right-click on it and select the Trace Bitmap option to begin the vectorization process.

Fab email Fab git

For this cutting, I used recommended to use edge detection tracing, since the goal is to obtain clean, closed contour paths that represent each decal as an independent cut shape.
This method prioritizes boundary outlines over color fills.

Fab email Fab git

Finally, once the vector paths is generated, the design should be exported using the Export/Save As option from the file menu. Assign a filename and select the appropriate output format SVG

Fab termi

VCarve

VCarve

VCarve is a CAM (Computer-Aided Manufacturing) software used to prepare files that will later be machined with a CNC router. It allows users to import vector designs (such as SVG, DXF, or AI files), organize them within the material workspace, and generate toolpaths that determine how the CNC machine will move the cutting tool.
In combination with a CNC router, VCarve acts as the intermediate step between the design and the manufacturing process. While CAD software (such as SolidWorks) is used to design the parts, VCarve is responsible for defining cutting parameters, tool selection, machining strategies, and exporting the final G-code that the CNC machine will execute.
Fab termi

Creating a File

From the left-side menu, a new project can be created.
Fab termi
When creating a new file, the program requires several parameters related to the machining setup.
Fab termi
Job Type

Defines the type of machining setup. In this case, the project will be machined from one side of the material, which corresponds to a 2.5D machining process.

Job Size

This specifies the dimensions of the material sheet that will be used for machining.

Z Zero Position

This determines where the zero reference for the Z axis will be located. Depending on the machining setup, this can be either at the top of the material or on the machine.

XY Origin Position

This defines the reference origin for the X and Y axes In this case, the origin will be placed at the bottom-left corner of the material

After confirming these parameters, the software creates a workspace template with the defined material dimensions.

Interface Overview

The left-side menu contains tools used to manipulate and modify the imported vectors.
Fab termi
File Operations

Tools used to create new files, import vectors, save projects, and manage file-related tasks.

Create Vectors

Includes drawing tools that allow the user to create shapes such as lines, rectangles, circles, and curves directly inside VCarve.

Transform Objects

Allows scaling, rotating, mirroring, or copying objects in the workspace.

Edit Objects

Used to modify vector geometry, including joining vectors, trimming lines, adding fillets or chamfers, and adjusting nodes.

Move and Align

Provides tools to precisely position and align vectors relative to the material or other objects.

Meanwhile, the right-side menu is dedicated to Toolpath Operations. This section is where the machining strategies are defined. It allows the user to specify parameters such as cutting depth, tool selection, machining direction, tabs, and other settings required to generate the toolpaths that the CNC router will follow.

Importing and Preparing the Vectors

To import a part, simply press CTRL + I. Before manipulating the vectors, it is necessary to join the vectors using the “Join Vectors” tool located in the Edit Objects menu. This ensures that the contours are continuous and can be correctly interpreted as closed shapes for machining.
Fab termi
Fab termi
When arranging the pieces within the workspace, it is important to leave a minimum spacing of three times the tool diameter between each piece.
In this case, the tool being used is a 1/4 inch (6.35 mm) end mill, so a spacing of 23 mm was left between parts to ensure safe machining.
Fab termi
Fab termi

Adding Dogbone Fillets

In the Edit Objects menu, the Dogbone Fillet tool is used to create special corner reliefs.
Fab termi
This tool allows selecting between T-bone or Dogbone (femur-shaped) fillets. Although the differences between them are minor, both serve the same purpose: allowing square parts to properly fit into internal corners that are machined with a round cutting tool.
Fab termi
Fab termi
Once the tool is selected, all internal corners where parts will join with other components are selected. These relief cuts remove small amounts of extra material from the corners so that when the pieces are assembled, they can fit properly without interference from the rounded corners left by the cutting tool.
Without these reliefs, the pieces might not fit correctly because the tool cannot create perfectly sharp internal corners.
Fab termi

Toolpath Menu

The Toolpath menu is used to define the machining characteristics of the cut.
In this case, the “2D Profile Toolpath” operation is selected, and the following parameters must be configured:
Fab termi
Fab termi
Fab termi
Cut Depth

The material thickness is 12 mm To avoid situations where the tool might not completely cut through areas that are slightly warped, the cut depth is set 0.5–1 mm deeper than the material thickness.

Tool

This section specifies the cutting tool parameters, particularly the diameter and machining settings. In this case, a 1/4 inch (6.35 mm) end mill is used. According to the chipload calculator, the ideal parameters are:

Fab termi
Fab termi
Machine Vectors

This defines the direction of the cutting path relative to the vector. For this project, the cut must be performed outside the vector and in a conventional cutting direction to maintain the correct part dimensions.

Add Tabs to Toolpath

When the CNC machine finishes cutting around a part, the piece can become loose and may move freely. This can cause accidents or allow the tool to grab the loose piece of material and potentially break. To prevent this, tabs (small uncut sections) are added to keep the pieces attached to the material sheet during machining.

Fab termi
Finally, the toolpath layer is given a name and the Calculate button is pressed.
The software will display a warning indicating that the cut depth exceeds the material thickness, but since this is intentional to guarantee a full cut, the warning can be safely ignored.
Fab termi
For the engraving process, the procedure is almost the same as the one used for cutting. The main difference lies in the cut depth parameter, since the goal is not to cut through the material but rather to create a shallow engraving on its surface.
In this case, the cut depth is set to 3 mm, which is sufficient to make the engraved image visible while maintaining the structural integrity of the material. Since the material thickness is 12 mm, this depth ensures that the tool does not pass completely through the sheet.
Fab termi
The engraving toolpath is generated in a similar way by selecting the vectors that define the design and assigning the corresponding machining parameters in the toolpath menu.
Once calculated, the engraving operation can also be previewed using the Toolpath Preview, which allows verifying the final appearance of the engraved design before sending the file to the CNC machine.
Fab termi

Toolpath Preview

The next window that appears is the Toolpath Preview panel. This feature allows the user to simulate the machining process and provides a 3D visualization of the material after the cutting operations.
Fab termi
If the project contains multiple toolpaths (as in this case), they can be reordered by dragging them within the toolpath list, allowing the user to prioritize the order in which the CNC machine will execute each operation. For save the G-code we need to:
  • Click on "Save Toolpath".
  • The available save formats are:
    • Red CNC: Mach 2/3 Arcs (mm) (*.txt)
    • Black CNC: Asia Robotics
Fab termi

Router and assembling

CNC Machining Setup

In this case, the CNC Mach 2/3 Arcs router was used. Before starting the machining process, the material must be placed on top of the sacrificial bed (spoilboard) of the machine. To prevent the material from moving during cutting and for safety reasons—the sheet is secured to the base using nails. This ensures that the material remains completely fixed while the CNC tool is operating, preventing possible machining errors or accidents.
Fab termi
Fab termi

Control Software

The program used to operate the CNC machine is AR2400, and its workspace interface looks like the following.
Fab termi
Open

This option allows the user to import the G-code file that will be executed by the CNC machine. The file can be loaded from a connected USB drive or directly from the computer.

G-code

This section displays the lines of G-code that the machine is currently executing. It also allows the user to select or set the starting line of the program if needed.

Fab termi
Emergency Stop

This button must be pressed immediately if any dangerous situation occurs. It instantly stops all machine movement to prevent damage or injury.

Machine Axes

This panel shows the real-time coordinates of the machine along the X, Y, and Z axes. The yellow buttons allow the user to set the origin (zero position) for the X, Y, and Z axes.

Monitoring

This section allows manual control of the machine movement, including adjusting the step size, movement speed, and spindle rotation speed (RPM).

Interaction

This area contains the controls used to run, pause, stop, or restart the machining program. It also displays the elapsed machining time.

The CNC machine can be controlled directly using the keyboard, which allows manual movement of the machine along the different axes.
Fab termi
However, before using the keyboard controls, it is necessary to turn on the control switch located on the CNC control panel.
Fab termi
Once the switch is activated, the machine will respond to the keyboard commands for positioning and setup.
Once the origin has been properly calibrated and the program has started running, it is important to continuously supervise the CNC machine during the entire machining process.
During cutting, the tool generates a significant amount of sawdust and wood chips. If this debris is allowed to accumulate around the cutting area, it can increase the risk of fire due to friction and heat generated by the rotating tool. For this reason, it is necessary to constantly remove the sawdust, typically using a vacuum or dust extraction system, especially in the areas where the tool is currently machining.
Fab termi
Once the cutting process is finished, the individual pieces are obtained from the material sheet. However, before assembly, it is necessary to sand the edges and surfaces. This can be done using coarse or fine grit sandpaper, depending on how smooth the final surface is desired. Sanding helps remove loose fibers and small imperfections left by the machining process, improving both the appearance and the fit of the pieces.
Fab termi

Before VS After

Fab termi
Fab termi
Finally, using the original design as a reference from SolidWorks, the pieces can be assembled. As mentioned earlier, the parts were designed with the proper tolerances so that they fit together smoothly and precisely, allowing the components to slide into place almost effortlessly, like butter.
Fab termi

Results

Render VS Final

Fab termi
Fab termi

In my room

Fab termi

Download files

For download 3D and others files, just click on the dancing shrimp.