simple, configurable
high-density
wine bottle
storage system

Wine Cube

Wine Cube is an OpenSCAD-based system for designing simple, modular, high density, passive storage shelving units for standard 750ml wine bottles.

The fundamental unit of Wine Cube is a model space representing a maximum bounding box that can be occupied by a standard 750ml wine bottle, with the following properties:

This space is intended to universally accomodate different styles of 750ml wine bottles while allowing adequate space to manually access the bottle neck and remove the bottle from the shelf.

The central organizing principle of Wine Cube is a module that is a 4x4 matrix of bottle units, resulting in a negative/open space that is a perfect cube, 16 inches on all sides. The cube module representes the ideal shelf depth, allows for flexible shelf configurations, and straightforwardly accomodates both vertically and horizontally oriented bottles.

To change the properties of the wine bottle model unit space, see model.scad. The units are assembled into modules in assembly.scad.

Download and Run

Wine Cube is available from Github, and requires OpenSCAD.

  1. Download OpenSCAD.
  2. Clone the Wine Cube Github repository.
  3. Edit the params.scad file according to the documentation in the following section.
  4. Run with: openscad winecube.scad to preview the results.

Basic Configuration

Basic shelf configuration can be specificed in params.scad, by setting the Levels and LevelModuleWidth parameters in whole module units as shown in the following examples.

Wine Wall Square

 
// units in whole Modules
Levels = 4;  

LevelModuleWidth = 4; 

Wine Wall Tower

 
Levels = 4;

LevelModuleWidth = 2;

Wine Wall Console

 
Levels = 1;        

LevelModuleWidth = 4;

Wine Cube

In addition to wall based shelving, double-sided freestanding shelving can also be created by setting the LevelModuleDepth value to 2, as in the following example. Wine Cube allows a maximum module depth of 2 to preserve ideal shelf depth.

 
Levels = 2;        
LevelModuleWidth = 2;

LevelModuleDepth = 2;

In double-sided configurations, a center panel increases rigidity against shearing forces addressed by the back panel in the wall/single-sided configurations.

Bottle Orientation

In the examples so far, the bottles are oriented vertically, and a lip on the front of each shelf secures the bottles. Bottles may also be oriented horizontally, where a lattice structure with cross lapping joints protects bottles from impacting each other and prevents lower bottles from bearing the weight of upper bottles.

 
Levels = 2;        
LevelModuleWidth = 2;
LevelModuleDepth = 2;

BottleOrientation = "horizontal";

Advanced Setttings

WoodThickness
Thickness of wood boards in inches and/or fractions of inches expressed as decimals.

Default: 1
WoodColor
Color of wood boards. See OpenSCAD documentation for color specifications.

Default: [59/255,15/255,27/255, 1]
LipHeight
For vertically oriented shelves, the height of the lip on the front of each shelf, in inches and/or fractions of inches expressed as decimals.

Default: 4
BottlePartitionHeight
For horizontally oriented shelves, the bottle height of the inter-bottle lattice, in inches and/or fractions of inches expressed as decimals.

Default: 8

BottlePartitionThickness
For horizontally oriented shelves, the thickness of the boards of the inter-bottle lattice, in inches and/or fractions of inches expressed as decimals.

Default: 0.25
flags
Specific display instructions as a string of characters, as indicated below.

Default: uq

Possible values:

a raise top panel
t hide top panel
b hide bottom panel
l hide left panel
r hide right panel
k hide back panel
c hide center divider
i hide lips
d hide shelf dividers
s hide shelves
p hide partitions
u hide bottle units
w hide wine bottles
o output structure information (overall dimensions, bottle capacity, etc., shown in console)
q silence debug messages

Guide to SCAD Files

winecube.scad
The main scad file invoked on the command line to bootstrap the system.
params.scad
Defines parameters to configure the structure.
validation.scad
Validates parameters.
model.scad
Defines the model space.
parts.scad
Defines all parts.
assembly.scad
Assembles all parts.
helpers.scad
General utility code.
wine-bottle.scad
A wireframe representation of a wine bottle, for illustration purposes.

More

Wine Cube: Simple Wine Bottle Storage Model. This blog post explores my motivation for creating Wine Cube and why I chose to use OpenSCAD.

Cell: Minimal Geometric Font. This blog post describes the font used in the Wine Cube logo.