Overview
When a bin is selected in the 2D grid or 3D preview, the configurator panel displays all editable parameters. Changes update the 3D preview in real-time via the Web Worker geometry pipeline.Dimensions Section
Grid Units (W × D × H)
Set bin size in Gridfinity grid units:Width (W)
- Range: 1-10 cells
- Horizontal span on grid
- 1 cell = 42mm
Depth (D)
- Range: 1-10 cells
- Vertical span on grid
- 1 cell = 42mm
Height (H)
- Range: 1-12 units
- 1 unit = 7mm interior height
- +4.75mm base adds to total
Real-World Measurements
Displayed below dimension inputs:- Width/Depth:
(cells × 42mm) - 0.5mm tolerance - Height:
(units × 7mm) + 4.75mm base - Updates automatically when dimensions change
Rotate W/D Button
Quickly swap width and depth:- One-click rotation (same as
Rkey) - Validates collision before applying
- Useful for repurposing bin designs
Geometry Section
Corner Radius
Smooth rounded edges on bin exterior:- Range: 0mm (sharp) to 3.75mm (standard Gridfinity)
- Slider control with debounced updates (100ms)
- Default: 3.75mm per Gridfinity spec
- Affects outer profile only (interior stays sharp)
Sharp corners (0mm radius) are printable but may be fragile. The standard 3.75mm radius is recommended.
Wall Thickness
Perimeter shell thickness:- Range: 0.4mm (single wall) to 3mm (reinforced)
- Default: 1.2mm (3 perimeters at 0.4mm line width)
- Increment: 0.1mm steps
- Number input with blur validation
Bottom Thickness
Floor layer thickness:- Range: 0.4mm to 3mm
- Default: 0.8mm (2 bottom layers)
- Increment: 0.1mm steps
- Independent from wall thickness
Features Section
Label Shelf
Angled shelf for paper or printed labels:- Toggle: On/Off
- Width: 5mm to 30mm (when enabled)
- Default width: 12mm per Gridfinity spec
- Angle: 45° chamfer
- Located at front edge of bin
Label Shelf Geometry
Label Shelf Geometry
The label shelf is a 45° angled cutout at the front top edge of the bin. It’s designed to hold paper labels or accept printed-on labels. The shelf width determines how far down the front wall the chamfer extends.
Magnet Holes
Neodymium magnet mounting points:- Toggle: On/Off
- Diameter: 6mm (standard N52 6×3mm magnets)
- Depth: 2mm from baseplate bottom
- Count: 4 per cell unit (grid-aligned)
- Positioned in base for baseplate attachment
Screw Holes (M3)
Threaded fastener mounting points:- Toggle: On/Off
- Diameter: 3.2mm (M3 clearance fit)
- Count: 4 per cell unit (grid-aligned)
- Alternative to magnets for permanent installation
- Through-holes from base bottom
Screw holes and magnet holes can be enabled simultaneously, but they occupy the same positions. Choose one or the other based on your mounting method.
Dividers Section
Interior compartmentalization:X Dividers (Vertical)
- Range: 0-9 dividers
- Evenly spaced wall-to-wall
- Number input with +/− buttons
- Full-height dividers matching bin walls
Y Dividers (Horizontal)
- Range: 0-9 dividers
- Evenly spaced wall-to-wall
- Number input with +/− buttons
- Full-height dividers matching bin walls
Divider Example
Divider Example
A 2×2×3u bin with:
- 3 X-dividers = 4 vertical compartments
- 1 Y-divider = 2 horizontal rows
- Total: 8 individual compartments (4×2)
Color Section
Visual identification in 2D and 3D:- Palette: 6 preset colors
#00d4aaTeal (default/accent)#4488ffBlue#ff6644Red/Orange#ffaa00Amber#aa44ffPurple#ff44aaPink
- Click any swatch to apply
- Selected color shows white border + scale animation
- Color affects 2D bin fill and 3D material tint
Group Section
Organize bins by function or location:- Preset groups: Tools, Electronics, Hardware, Consumables, etc.
- Each group has a color indicator dot
- Active group highlighted with color-coded border
- Group dots visible on 2D grid (top-left of bin)
- Useful for generating filtered Bill of Materials
Tools
Wrenches, screwdrivers, pliers
Electronics
ICs, resistors, LEDs, modules
Hardware
Screws, nuts, washers, standoffs
Consumables
Solder, flux, adhesives, tape
Label Section
Custom text identifier:- Text input: Any string (e.g., “M3 Screws”, “USB-C Cables”)
- Displayed on 2D grid (centered in bin)
- Included in BOM and print labels
- Defaults to grid dimensions (e.g., “2x3”) if empty
Real-Time Updates
All changes trigger immediate updates:- User edits parameter in configurator
- Zustand store updates bin object
- 2D grid re-renders with new dimensions/color
- Web Worker receives new bin config
- Manifold CSG regenerates geometry
- 3D preview updates with new mesh (1-2s delay for complex bins)
Input Validation
All numeric inputs enforce constraints:- onBlur clamping: Values outside range reset to nearest valid value
- Min/max enforcement: Cannot exceed specified bounds
- Step increments: Match sensible precision (0.1mm, 1 unit, etc.)
- Visual feedback when clamped
Tips & Best Practices
Label text supports any Unicode characters, including emojis (though not recommended for 3D printing compatibility).
Keyboard Accessibility
- All inputs keyboard-navigable (Tab key)
- Number inputs accept arrow up/down for increments
- Enter key commits changes
- Escape key cancels editing (reverts to last value)
Technical Implementation
- Component:
BinConfigurator.tsx - State management: Zustand
useStorehook - Update strategy: Partial bin updates (only changed fields)
- Re-render optimization:
memo()wrapper prevents unnecessary renders - Slider debouncing: 100ms delay using
useReftimer
Related Features
2D Grid Canvas
Position and arrange bins
3D Preview
See geometry changes in real-time
