Background

After many cabinet projects in Fusion 360, I’ve settled on a workflow that is fast and reliable. As Fusion is not a native cabinetry software, it is a bit of a challenge to do the simple things. However, vans and vehicles are generally not square, inside you can't just install square boxes. We also work heavily with 3D scan data and large STEP files for the vans, around which we design the furniture. Fusion allows us to have complete flexibility to create the cabinets exactly how we want them for perfect fitment and easy installation.

This client had been building all 3D models in Rhino before my involvement. Rhino is fast and easy to make design adjustments, but there was a high frequency of misaligned holes, symmetric parts not matching, version mixups, etc. Designing the furniture in Fusion is slower, but it creates more reliable models in the end. Making adjustments to the models is also slower than Rhino, but we can be more confident in the results. Versions are easier to track, previews can be shared with staff and customers through the online viewer, and the CNC programming workflow is more integrated.

Who this workflow is ideal for

  • Custom campervan or motorhome fitouts
  • Caravan design and component manufacturers
  • Anyone creating flat-pack plywood systems
  • Van conversion shops wanting to improve accuracy and repeatability
  • Commercial furniture, shop fitouts, and architectural projects

High-level approach and file structure

At the top level in the hub/workspace, we have set up a project folder called !Folder_Template and another called !Library. The exclamation mark in the name just keeps these folders at the top of the list.

The folder template includes sub-folders and any common part files (in our case we only use folders and all files are kept in the library instead).

Fusion 360 folder template for new projects
Fusion 360 folder template for new projects

Each new project gets its own project folder. To create this, we duplicate the !Folder_Template folder and rename it to the new product name. This way, all projects have a consistent folder structure.

The library folder contains all hardware and fasteners, accessories, default parameters used in each design, drawing templates, and more.

Fusion 360 library folder for assets
Fusion 360 library folder for assets

With each new project, we copy the hardware and accessories from the library folder to the new project folder, then insert these duplicates into the design. This is to avoid any dependencies back to the original library files. Often, we will make small updates to the library files, but we do not want these changes to impact previous projects. This approach keeps the dependencies clean, and each project is essentially standalone.

Starting a new design file

Each van is separated into furniture modules, for instance, kitchen/bed/shower/lockers. Each module is one design file containing multiple (internal) components. These modules are somewhat interchangeable between projects and often reused or adapted for different designs.

Then we have a cabinetry assembly file, in which all of the modules are inserted and assembled together.

Then there is a 3D scan file of the van, into which we insert the cabinetry assembly file. There is a temptation to assemble the modules into 3d scan file, or even to build directly in the 3d scan file, but in practice it is cleaner to create the full assembly independently to the scan and then bring them together at the final stage. This keeps the file sizes small and rebuild times quick. When working with large scan files and many furniture modules it quickly bogs down. There are also occasions where the design will be adapted into another van, in which case you don't want the old scan data associated with the furniture - it's best if you can just insert the furniture assembly file into a new scan and adapt it from there.

Campervan furniture example
Campervan furniture example

Parameters

Each new design file starts with importing parameters (e.g. material thickness, sheet size, overhangs, etc). Parameters can be imported and exported from the parameter dialogue box. The values of these parameters are generally updated for each project, but importing the standard set ensures all the parameter names are consistent between projects.

When modelling, parameters are used wherever possible. These are used in sketches and in features. It is very common that a small change will be required due to manufacturing requirements, or a new van size, or a new plywood size, and being able to update one parameter and have the entire 3d model update is a real timesaver.

Working with parameters also helps when creating configurations if you have multiple versions of a design file. Configurations are a challenge to navigate, and we tend to avoid them, but in certain circumstances, they are invaluable.

Layout sketch

Each design starts with a layout sketch for the carcass. This is one of the most time-consuming parts of the design and where almost the entire cabinet is planned out - even before any 3D geometry is created. This sketch is heavily linked to the part parameters. Usually, a basic cabinet design will have only 3-4 sketches total; the layout sketch is used for most of the components.

Example kitchen cabinet
Example kitchen cabinet
Carcass layout sketch for kitchen module
This sketch is used to create most of the carcass panels for the entire kitchen module

Immediately after the layout sketch if often a second sketch of the benchtop. This is not strictly necessary, but it's what I have found easiest. This sketch defines the overhangs and sink, tap, and cooker positions.

Benchtop layout sketch for simple kitchen
The benchtop sketch defines overhangs and appliance cutouts

From there, each panel is extruded as a new component (not a new body - this part is important). For each extrude feature, use material thickness parameters and/or extrude to object so that the design is linked to the design parameters as much as possible. This will allow you to make changes to the design later and have the model rebuild cleanly. I typically start by extruding the benchtop component first, and then extruding every other component relative to the benchtop.

Fusion 360 kitchen cabinet carcass
Example kitchen cabinet with each part extruded as a new component. In this example the toekick was created with a seperate sketch.

Adding hardware

There are just a few standard hardware components used in every design. Lamello Cabino are the main fastener used (these are excellent for 3-axis CNC components). Hinges, drawer runners, and euro screws are also used frequently. Each of these components either has pre-drilled holes, pockets, or engraving to install and align the hardware.

Setting up the hardware library

The best approach is to create a basic CAD model for each hardware component with its geometry and its cut geometry. The cut geometry is the size/shape/position of the cutout that needs to be removed from the substrate. The cut geometry is a separate body which is named "cut_geom" in each part (this name is important for later stages).

Each hardware component also has a joint origin set at the position where it will be inserted into the cabinet model. Some hardware components have multiple joint origins depending on how they are being used.

Lamello Cabino CAD model with cut ceometry
Lamello Cabino CAD model with cut ceometry (red)

Inserting hardware into the design file

After the cabinet geometry has been completed, a series of sketches are created to define the layout of the fasteners and hardware. One sketch per component, on the face that will be Z+ on the CNC. The sketch will usually project the face outline, and then add a series of lines (one per fastener) to define the position and orientation of each fastener.

These sketches are made at the assembly-level (they are not created inside the sub-component). The hardware is also assembled at the assembly level (not within the subcomponents) - the main benefit of this is that the BOM combines all the hardware in the assembly at the top level.

The first fastener will be added to the assembly (using the insert into current design command), and jointed to the sketch. Once the first fastener is inserted, it can be duplicated with the duplicate with joints command, placing a fastener at each of the lines created in the sketch. This is then repeated for each carcass panel.

Hardware layout sketch for carcass fasteners
Hardware layout sketch for carcass fasteners
Lamello Cabino carcass fasteners inserted in assembly
Lamello Cabino carcass fasteners inserted in assembly

Creating selection sets

Once all of the hardware has been added, use the select by name command to select all the bodies containing the word "cut". This will select the cut_geom body for each of the fasteners in the assembly.

Fusion 360 Select By Name command
Using the Select By Name command to find all the cut geometry for all the fasteners

Then, with these selected, create a selection set called "cutGeom". This should now be a set containing just the cut geom bodies for all of the fasterers.

A second selection set called "targetBodies" is then created for each of the carcass bodies that need to be cut.

Carcass bodies that will be cut from
The targetBodies selection set containing panels that will be cut from

Hardware cutouts

We now create a Combine feature for each of the targetGeom bodies using all of the cutGeom bodies as the tools. This will do a boolean subtract from the panel. Repeating this for each target body will create the cutouts in the correct position in each panel.

Fastener cutouts created in the carcass panels
Fastener cutouts created in the carcass panels

This is one of the more tedious tasks, and needs to be carefully repeated every time you add new fasteners or carcass panels. To simplify this process and reduce the opportunity for error, I have created a plugin script to automatically generate the combine features in a set of target bodies. This plugin will be made available in a subsequent blog post.

Custom Fusion 360 plugin to combine multiple tools with multiple target bodies
Custom Fusion 360 plugin to combine multiple tools with multiple target bodies

Nesting for CNC

This client uses a CNC router for all panel cuts - they avoid manual cut operations as much as possible. With this approach, part nesting can be done very efficiently. Any arrangement with parts at any angle - whatever works to reduce wastage.

Part engraving

The final step before nesting the components is to add engraving to each part. This will usually include the component name and design revision. This is a sketch on the surface of each component - this sketch must be created with the sub-component active so that the sketch belongs within the sub-component (not at the assembly level).

Each sketch contains only a textbox using a single-line font, such as iso.shx. To simplify the updating of the revision text, I have created a custom plugin script to find and replace text within sketches. This allows me to easily up-rev a design and have all engraving update with one operation. This plugin will be made available in a subsequent blog post. With the new Fusion update this could also be achieved with a version parameter and have the sketch text link to the assembly parameter.

Fusion 360 part engraving text
Part engraving text with part name and revision

Arrange feature

At this point, I usually create a new design file inside the CNC subdirectory. Inside this file, I derive the components (components, not the bodies) from the main design assembly. If we need duplicates on certain components, or want to produce multiple cabinets from one sheet, then I would linear array these components now, before arranging.

The built-in Arrange feature is very useful for laying out the carcass panels on a standard sheet size. The feature will orient the panels so that the pockets and holes are face-up before arranging them on the sheet.

If you create the panels as seperate components and the engraving text is a shild of the comoponent, the sketch will be positioned with the part during the nesting. This will maintain the parametric link and will update correctly if you change the text in the design file.

Fusion 360 arrange feature laying out carcass parts on multiple sheets
Fusion 360 arrange feature laying out carcass parts on multiple sheets

Because the free version of the Arrange feature does not allow multiple envelopes, you can create a sketch with multiple sheets connected into a single profile, as seen in the screenshot. This sheet layout sketch is saved in the library folder and derived into each CNC document as we use the same sheet size for every project. There are two versions of this sketch - one with portiait orientation, and one with landscape. The arrange algorithm can have much better results with one orientation over the other, so I usually try both. Part orientation can be controlled manually so that the grain direction is correct. Sometimes you will want to have panels grain-matched, in which case these components would be arranged manually using joints rather than the arrange function, then the rest of the components can be arranged automatically.

Custom Fusion 360 plugins

I hace created a number of plugins and scripts to streamline this workflow. These plugins are very useful and save a lot of time and mistakes. I will create a separate blog entry for these plugins to explain how they work.

  • Rotate multiple joints
  • Combine multiple bodies with multiple targets
  • Find and replace sketch text
  • Hide/show all sketches

Final Thoughts

There are many approaches to designing CNC-cut cabinetry. It can range from basic one-off designs to complex parametric, configurable CAD models.

If you're developing a campervan interior, caravan system, or any CNC-cut plywood product and want a reliable Fusion 360 workflow that scales from prototype to production, I can help. I design complex modular systems for clients worldwide and can also connect you with trusted NZ manufacturers who build to a high standard.

All design work can be done remotely, so I work with clients in NZ and internationally.

If you'd like help with your project, reach out and let's discuss your project. maxbetteridgedesign.com

Interested in working together?

Let's discuss how we can help bring your next product to life.