🏠 Overview

A professional Blender addon for generating parametric cabinet geometry

Craftsman Cabinet Creator is a powerful Blender extension that enables you to create highly customizable cabinet geometry using Geometry Nodes. With an intuitive sidebar panel interface, you can generate, customize, and finalize cabinet designs with real-time parameter updates.

Craftsman Cabinet Creator interface
The Craftsman Cabinet Creator panel in Blender's 3D Viewport sidebar showing a generated cabinet with customizable parameters.
About This Addon
Created by 3DQuads, this addon uses linked Geometry Node trees stored in an external .blend file, allowing for easy updates to the node logic without modifying Python code.

Features

Everything you need for professional cabinet generation

🔨
Parametric Generation
Create fully customizable cabinet geometry with real-time parameter adjustments for width, height, depth, and more.
🗄
Modular Components
Add drawers, fixed shelves, and side panels as separate modifiers. Duplicate components with inherited parameters.
🔄
Real-Time Updates
All parameter changes update the geometry instantly in the viewport with full undo/redo support.
🎯
Intuitive Interface
Three-level collapsible hierarchy organizes parameters into logical groups for easy navigation.
🛡
Smart Dependencies
Dependency enforcement ensures components are applied in the correct order. Visual feedback shows requirements.
🎨
Material UV Support
Automatic UV attribute setup for materials with texture nodes. Works with the geometry node generated UVs.
Bevel Presets
One-click bevel modifier with optimized settings (2mm, 4 segments) for professional edge finishing.
💾
Selective Conversion
Convert to mesh applies only cabinet modifiers while preserving other modifiers in your stack.
Cabinet with drawers, shelves, and side panels
A complete cabinet setup showing the Cabinet Generator with added drawers, fixed shelves, and side panels.

📥 Installation

Get started in minutes with these simple steps

Requirements
This extension requires Blender 4.5 LTS or Blender 5.0+. The extension is distributed as a .zip package containing all required files.

Installation Steps

Blender extension installation overview
Installing the Craftsman Cabinet Creator extension via Blender’s Preferences.
Open Blender Preferences
Launch Blender and navigate to Edit → Preferences
Go to Extensions Tab
In the Preferences window, click on the Extensions tab in the left sidebar. Then click the dropdown arrow next to the search bar and select "Install from Disk".
Select the Extension Package
In the file browser that opens, navigate to and select the craftsman_cabinets.zip extension package file, then click "Install from Disk".
Extension Installed
The extension is now installed and enabled automatically. You can close Preferences and start using it immediately.
Installation Complete!
The extension is now ready to use. Look for the "Craftsman Cabinet Creator" tab in the 3D Viewport sidebar (press N to toggle the sidebar).

Package Contents

The extension zip package contains:

File Description
__init__.py Main extension code
Cabinet Generator-Blender 5.blend Geometry node trees
blender_manifest.toml Extension manifest

🚀 Quick Start

Create your first cabinet in under 2 minutes

Open the Panel
In the 3D Viewport, press N to open the sidebar, then click the "Craftsman Cabinet Creator" tab.
Select or Add a Mesh Object
Select the default cube or add a new mesh (Shift+A → Mesh → Cube).
Apply Cabinet Generator
Click "Apply Craftsman Cabinet Creator". The cube will transform into cabinet base geometry!
Before and after applying Cabinet Generator
Left: Default cube. Right: After applying Craftsman Cabinet Creator.
Customize Parameters
Expand the "Craftsman Cabinet Creator" section below the buttons to access parameters. Adjust Width, Height, Depth, and other settings.
Add Components (Optional)
Click "Apply Cabinet Drawer", "Apply Cabinet Fixed Shelf", or "Apply Cabinet Side Panels" to add additional components.
Finalize
When ready, click "Convert to Mesh" to apply all cabinet modifiers and create editable geometry.

📖 Usage Guide

Detailed guide for getting the most out of the addon

Panel Layout

The addon panel is organized into clear sections:

Full panel layout
The complete Craftsman Cabinet Creator panel showing all buttons and parameter sections.

Parameter Interface

The parameter interface uses a three-level collapsible hierarchy:

  1. Modifier Level - Top-level container for each modifier (Craftsman Cabinet Creator, Cabinet Drawer, etc.)
  2. Panel Level - Organized groups within each modifier (Base Settings, Toe Kick, etc.)
  3. Parameter Level - Individual controls (Width, Height, Depth, etc.)
Craftsman Cabinet Creator ├─ [Apply Craftsman Cabinet Creator] ← Always available (one per object) ├─ [Apply Cabinet Drawer] ← Requires Creator first ├─ [Apply Cabinet Fixed Shelf] ← Requires Creator first ├─ [Apply Cabinet Side Panels] ← Requires Creator first (one per object) ├─ ─────────────────────── ├─ [Add Bevel Modifier] ← Optional finishing ├─ ─────────────────────── ├─ [Convert to Mesh] ← Finalize to editable mesh ├─ [Setup Material UVs] ← Connect UV attributes ├─ ├─ ▼ Craftsman Cabinet Creator ← Parameters (after applying) │ ├─ ▼ Base Settings │ │ ├─ Width │ │ ├─ Height │ │ └─ ... │ └─ ▼ Toe Kick │ └─ ... ├─ ▼ Cabinet Drawer ← Parameters (after applying) │ └─ ... ├─ ▼ Cabinet Fixed Shelf ← Parameters (after applying) │ └─ ... └─ ▼ Cabinet Side Panels ← Parameters (after applying) └─ ...

Working with Multiple Components

You can add multiple drawers and fixed shelves to a single cabinet:

Cabinet with multiple drawers
A cabinet with multiple drawer instances, each with independent parameters.

🔧 Operators

Complete reference for all available operators

🏗
Apply Craftsman Cabinet Creator
Adds the base cabinet geometry modifier. This is the foundation for all other cabinet components.
Requires: Mesh object selected
🗄
Apply Cabinet Drawer
Adds drawer components to the cabinet. Multiple drawers can be added and positioned independently.
🔒 Requires: Craftsman Cabinet Creator
Apply Cabinet Fixed Shelf
Adds fixed shelf components. Multiple shelves can be added at different vertical positions.
🔒 Requires: Craftsman Cabinet Creator
Apply Cabinet Side Panels
Adds decorative or structural side panels. Only one side panels modifier allowed per object.
🔒 Requires: Craftsman Cabinet Creator
📋
Duplicate Drawer / Shelf
Creates a copy of the selected drawer or shelf with all parameters inherited except vertical offset.
🔒 Requires: Existing drawer/shelf
Add Bevel Modifier
Adds a bevel modifier with optimized presets: 2mm offset, 4 segments, weight-based limit method.
Requires: Mesh object selected
💾
Convert to Mesh
Applies only cabinet-related modifiers, converting procedural geometry to editable mesh. Other modifiers are preserved.
🔒 Requires: Cabinet modifiers exist
🎨
Setup Material UVs
Adds uvmap attribute nodes to materials and connects them to Mapping nodes for proper UV coordinate handling.
Requires: Object with materials

Bevel Modifier Settings

The bevel modifier is added with optimized default settings:

Setting Value Purpose
Offset Type Offset Consistent edge width
Width 2mm (0.002m) Subtle, realistic edge break
Segments 4 Smooth curves without excessive geometry
Limit Method Weight Control via bevel weights from geometry nodes
Harden Normals Enabled Clean shading on beveled edges
Miter Outer Patch Clean corner intersections

🎛 Parameters

Understanding the parameter types and controls

Supported Parameter Types

The addon supports all common Geometry Nodes parameter types:

📏 Float 🔢 Integer Boolean Vector (XYZ) 🎨 Color (RGBA) 📦 Material 📦 Object 📁 Collection 🖼 Image 📝 String Menu
Various parameter types
Examples of different parameter types: sliders, checkboxes, color pickers, and material selectors.

Real-Time Updates

All parameter changes update the viewport geometry immediately. The addon supports:

🔄 Workflow

Recommended workflow for creating cabinets

Step 1
Apply Generator
Step 2
Add Components
Step 3
Adjust Parameters
Step 4
Add Bevel
Step 5
Convert to Mesh

Modifier Stack Order

Modifiers are automatically ordered for correct evaluation:

Position Modifier Purpose
1 (Top) Craftsman Cabinet Creator Base cabinet geometry
2 Cabinet Drawer(s) Drawer components (reads base attributes)
3 Cabinet Fixed Shelf(s) Shelf components
4 Cabinet Side Panels Side panel decoration
5 (Bottom) Cabinet Bevel Edge finishing (applied last)
Preserving Other Modifiers
When using "Convert to Mesh", only cabinet-related modifiers are applied. Any other modifiers (Subdivision Surface, Array, Mirror, etc.) remain in the stack and continue to work normally.

🛠 Troubleshooting

Solutions to common issues

Panel doesn't appear in the sidebar

Solutions:

  • Press N to toggle the sidebar visibility
  • Check that the addon is enabled in Edit → Preferences → Add-ons
  • Open System Console (Window → Toggle System Console) to check for error messages
  • Verify both __init__.py and the .blend file are in the same folder
"Could not find .blend file" error

Cause: The geometry node file is missing or renamed.

Solution:

  • Ensure Cabinet Generator-Blender 5.blend is in the same folder as __init__.py
  • Do not rename the .blend file - the exact name is required
  • Re-download the addon files if the .blend file is corrupted
"Apply Cabinet Drawer" button is greyed out

Cause: This is expected behavior - Cabinet Drawer requires the base Cabinet Generator.

Solution:

  • First click "Apply Craftsman Cabinet Creator" to add the base modifier
  • The drawer button will become enabled once the generator exists
Parameters don't show after applying modifier

Solutions:

  • Click the ▼ triangle icon next to the modifier name to expand it
  • Click panel names (e.g., "Base Settings") to expand nested sections
  • Ensure the modifier has a valid node group assigned (check modifiers panel)
"No object selected" error

Solution: Select a mesh object in the viewport by clicking on it. The addon requires an active selection to work.

"Object doesn't support modifiers" error

Cause: You've selected a non-mesh object (Camera, Light, Empty, etc.).

Solution: Select a mesh object. Add a cube or other mesh if needed (Shift+A → Mesh).

Convert to Mesh does nothing

Solutions:

  • Ensure at least one cabinet modifier exists on the object
  • Check that the button is enabled (not greyed out)
  • Open System Console to check for error messages
  • Try applying modifiers manually in the Properties panel to identify issues
Materials don't appear correctly after conversion

Solution: Click "Setup Material UVs" before converting to mesh. This connects the geometry node UV attributes to your material's texture coordinate inputs.

Frequently Asked Questions

Can I add multiple drawers to one cabinet?

Yes! Click "Apply Cabinet Drawer" multiple times, or use the duplicate button next to an existing drawer. Each drawer can have independent parameters and vertical positioning.

Can I edit the geometry node trees?

Yes, open Cabinet Generator-Blender 5.blend in Blender to edit the geometry node trees directly. Changes will be reflected when the addon loads the node trees. The node groups must keep their exact names: "Cabinet Generator", "Cabinet Drawer", "Cabinet Fixed Shelf", and "Cabinet Side Panels".

Does this work with Blender 4.4 or earlier?

No, this addon requires Blender 4.5 LTS or Blender 5.0+. Earlier versions have different geometry node interfaces that are not compatible.

Can I use this for commercial projects?

Yes, the addon is licensed under GPL-3.0-or-later. You can use the generated geometry in any project, including commercial work. If you modify and redistribute the addon itself, you must keep it open source under the same license.

Why are the geometry nodes linked instead of embedded?

Linking allows the node trees to be updated in the external .blend file without modifying the Python code. This makes it easier to improve the geometry generation logic and provides a cleaner separation of concerns.

What happens to my other modifiers when I convert to mesh?

Only cabinet-related modifiers (those with "Craftsman" or "Cabinet" in their name) are applied. All other modifiers (Subdivision Surface, Array, Mirror, etc.) remain in the stack and continue working normally.

Technical Details

For developers and advanced users

Architecture

Class Hierarchy

CABINET_OT_base (abstract base) ├── CABINET_OT_apply_generator - Adds main cabinet modifier (one per object) ├── CABINET_OT_apply_drawer - Adds drawer modifier (multiple allowed) ├── CABINET_OT_apply_fixed_shelf - Adds fixed shelf modifier (multiple allowed) ├── CABINET_OT_apply_side_panels - Adds side panels modifier (one per object) ├── CABINET_OT_duplicate_drawer - Duplicates drawer with parameter inheritance ├── CABINET_OT_duplicate_fixed_shelf - Duplicates fixed shelf with inheritance ├── CABINET_OT_add_bevel - Adds bevel with presets (2mm, 4 segments) ├── CABINET_OT_convert_to_mesh - Applies only addon modifiers ├── CABINET_OT_delete_modifier - Removes cabinet modifiers ├── CABINET_OT_setup_material_uvs - Links UV attributes to material nodes └── CABINET_OT_toggle_panel - Manages collapsible panel states CABINET_PT_main_panel - UI panel in 3D Viewport sidebar

Required Node Group Names

The .blend file must contain these exact node group names:

Modifier Detection

The addon identifies its own modifiers by checking if the modifier name contains "Craftsman" or "Cabinet". This allows for proper handling during conversion and deletion operations.

Panel State Storage

Panel expand/collapse states are stored as a JSON string in WindowManager.cabinet_panel_states. This persists for the current Blender session but resets when Blender is closed.