Overview
What is it?
The Basic Cabinet Generator is a design process tool designed for Architectural projects in Blender. Built on Geometry Nodes, the tool works through a modifier and creates procedural cabinet meshes and their corresponding plan-view symbols. It is intended to enable quick and easy design iteration and to provide a preview of how a cabinet layout will look in a space.
How Does it Work?
The cabinet generator tool works by generating a fully procedural cabinet mesh based on the user-input dimensions and settings. These settings are found and used as a modifier, and users can switch between wall and base cabinets with one or two doors. All cabinet types support slab or shaker door styles. Cabinet meshes and symbols can be switched between using the menu in the modifier on an individual basis or across the project using the manual override in the node system.
Where Can I Find it?
Note - the BlenderKit version is a standalone and the ArtStation version ships with my other free tools.
This tool is dependent on features introduced in Blender's 4.1 release and will not function in earlier versions.
Released: August 20, 2024
Supported Blender versions: 4.1 - 4.2
License
This tool can be used for personal or commercial projects without royalties. Attribution is deeply appreciated but not required.
The user may not
distribute copies of the tool without the express, written permission of the Developer.
Warranty Disclaimer: All work produced by this Developer is provided "AS IS". The Developer makes no other warranties, either express or implied, and hereby disclaims any implied warranties, including any warranty of merchantability and warranty of fitness for a particular purpose. The Developer
makes no representation or warranty of any kind, express or implied,
regarding the accuracy, adequacy, validity, reliability, availability,
or completeness of any information.
How to Navigate this Guide?
The table of contents on the left side of the page lists the major sections of the guide. The Getting Started section at the top goes over the basic preparatory steps to prepare for use of the tool, and the Basic Settings section goes over the options visible at the top of the modifier. The remaining sections go over the different panels in the modifier, with the same names and in the same order as they appear in the modifier.
Getting Started
Importing the Tool
There are a few ways to get the tool into a project file. If the user is downloading the tool from BlenderKit, it's as simple as dragging and dropping the file into a new or existing project. It the user is downloading the tool from Artstation, there are a few different ways to get the tool into a file. The user can start the project in a copy of the download file or the node tree can be appended or linked into an existing file.
The first method works if the user is just
starting a new project - The user can just use the download file the
tool ships with (or make a copy of it) as the base file for the project.
The other methods are Appending and Linking. Appending copies the tool and all its references into the new file and Linking basically uses the original file as a reference. Appending is best if the user is going to be moving files around because it isn't dependent on the download file staying in the same location. Linking requires both files to stay put, but doesn't clutter up the scene collection with all the components. To do either of these methods, simply open a Blender project, go to the File menu, and click Append or Link. From here, navigate to where the tool was downloaded and double click the folder labelled "Free Archvis Tools x.x", which should have the Blender logo on it. Scroll down to find the folder labelled "Node Tree" and double click into this as well. Near the top of this folder there is a file called "Basic Cabinet Generator". Left click this file to highlight it, then click Append or Link to add it to the file. The tool will have to be manually added to a mesh.
Note: It is possible to import the actual mesh that the modifier is applied to in the sample file - but this only works with the Append method. If the Linking method is used this will result in the modifier being greyed out and unusable.
The Input Mesh
This cabinet generator functions by instancing generated cabinet meshes on each vertex in the mesh the modifier is added to. To use the tool place a single vertex at floor level then add a geometry nodes modifier and select the "Basic Cabinet Generator x.x". The cabinet will spawn in with the back left corner on the vertex. These vertexes can be moved around in edit or object mode to adjust the location of the cabinet in real time.
To control each cabinet independently: keep each vertex as a separate object.
To control multiple cabinet instances together: join the vertexes into a single object to sync their dimensions and settings.
Basic Settings
The general settings at the top of the modifier, these are always visible where the other settings are nestled into closable tabs.
Cabinet Type
Situated at the very top of the modifier, this menu is where the user selects the desired type of cabinet. In this free tool, the options are Base Single, Base Double, Wall Single, and Wall Double. Base cabinets sit on the floor and wall cabinets hang on the wall, and single or double refers to the number of doors in the cabinet.
Door Style
The Door Style menu is where the style of the actual door and drawer fronts can be selected. In the basic version, this includes Slab (totally flat door surface) and Shaker (one large recessed panel in each door).
Flip Swing
The Flip Swing toggle applies when a Single cabinet is selected (only one door) and changes which side of the door the handle is positioned on. Handles for Double cabinet types are always on the inside edge of each door.
Cabinet Rotation
The geometry node automatically orients all cabinets facing the negative Y-direction, and does not recognize the orientation of the surrounding walls. If the cabinet is out of alignment with the wall, the Cabinet Rotation input can be adjusted to align the cabinet to sit flush against the wall.
NOTE: this only supports rotations in the Z-direction
Dimensions
The dimensions tab in the modifier is pretty much what it sounds like. The numbers input here allow the user to control of the size of the cabinet. As the actual dimensions of most cabinet components are calculated from the input dimensions, this tool should work with any units. In this tool, the dimensions panel has three sections - general (applies to all cabinets), Base Cabinet Only, and Wall Cabinet Only.
Counter Height
This is the height of the finished countertop. The standard in the United States is 36", and the tool assumes a 1.5" thick countertop.
This value is used to calculate the height of a base cabinet (cabinet height = counter height - 1.5"), the vertical position of the plan view symbols, and the vertical position of the wall cabinets.
Cabinet Width
This is the width (side to side) of the actual cabinet.
Base Cabinet Only
Cabinet Depth
This is the depth (back to front) of the cabinet, not including doors or handles.
Toe Kick Height
The vertical height of the toe kick, or the recessed panel at the bottom of a base cabinet.
Toe Kick Depth
The depth of the toe kick, or how far behind the front of the cabinet the toe kick is recessed.
Wall Cabinet Only
Wall Cabinet Height
The height top to bottom of the wall cabinet.
Elev. Above Counter
The elevation of the wall cabinet over the counter. This value sets the distance between the top of the counter (see Counter Height above) and the bottom of the wall cabinet.
Materials
The generated meshes have two included procedural materials with color and roughness customization settings and an option to import a custom material. Meshes are procedurally unwrapped, and the grain direction of the provided wood materials is determined by the longest edge in each component.
Note: Adding materials in Blender's material properties will not affect the meshes.
Material
This drop-down menu allows the user to choose which preset material to apply to the cabinet, or if a custom material will be imported. The included materials are Wood and Painted Wood, which are both procedurally generated and are the same as those included in the Basic Window Generator and the Basic Door Generator.
Color
These color inputs allow the user to choose any color to apply to the preset material selected above. Note that these colors don't affect imported custom materials.
Roughness
The roughness sliders adjust the roughness of the preset materials. Note that, like the colors, they don't affect imported custom materials.
Custom Material
If Custom is selected in the Material menu above, these inputs are where a custom material is imported.
Note: When importing custom materials, use the "BDG_UVs" attribute for the vector instead of the generic UV texture coordinate. This attribute is where the procedural UVs are stored, and is the only way I know of to access them.
Handle Color
Select a custom color to apply to the handle(s).
Test UVs
This toggle replaces the material set above with a basic UV grid.
Plan View Settings
Cabinets have corresponding plan-view symbols which automatically scale to match the size and position of the cabinet. This section controls those symbols and their visibility for when the user wants to render a plan versus a perspective view.
Visibility
This drop-down menu allows the user to toggle between viewing the cabinet mesh, its corresponding plan-view symbol, or both. This affects each object individually.
Symbol Line Thickness
This input sets the diameter of the lines which make up the plan view symbol.
Height from Counter
Set how high above the finished counter the plan view symbols should render. This is set to 3" by default.
Manual Override
Having to change every single cabinet object from mesh to symbol and back is frustrating, especially that one moment when a cabinet or two was missed or toggled by accident, so this tool incorporates a master switch function to temporarily override all individual visibility settings. This works both ways - it can force everything to plan view or to mesh.
There is one caveat though - as modifier settings only affect the object they're applied to, the master switch has to be accessed from the node system. It is not hard to use, though. In the geometry nodes tab, at the very top of the node tree, there is a mid-grey box labelled "PLAN VIEW MANUAL OVERRIDE" with a single node group inside. Left click this node group and click tab to go inside of it.
There are five nodes inside the tree, but the user only needs to worry about two of them. The second node from the right is a switch node labelled "True to Override", just click the checkbox next to where it says "Switch" to activate the override function. The box should turn blue with a check mark.
From here, go left to the menu switch node labelled "OVERRIDE" and use the second drop-down from the top to choose between mesh and plan symbol visibility. As long as the switch is active, the setting in this node will be used for all cabinets in the scene. To deactivate the override, just click the checkbox next to where it says "Switch" again so that it shows an empty grey box. This will default the node system back to the individual settings saved in the modifier.
Example Gallery
The images below are examples of some of the results that can be achieved with this generator. All of these are placed in a basic scene with a wall and an hdri to provide the light. The wall is just Blender's default material.