Design package · rev T · column racks + existing-cabinet host · 2 orientations

4000D Column Rack

Single-width columns of pull-out trays, sized to your 2200 mm limit, in two orientations: upright (3/column → 6 columns) or horizontal, servers on their side (7/column → 3 columns). Real fan set, open rear, 18 mm phenolic box carrying timber-mounted slides, ply trays, tGBL castors — with an exploded view and step-by-step assembly in the configurator.

upright 3/col · 6 colshorizontal 7/col · 3 colsP14×3 front / P12×3 case-top / P14 rearopen rearoptional sidesAOLISHENG 600 mm slidestGBL 100 mm castors
01 · two orientations

Upright or horizontal

Upright stacks 3 (taller, narrower); horizontal lays each tower on its side for 7/column (shorter per level, wider, steadier). Pick per row.

02 · sliding trays

Pull one server out

Every level on AOLISHENG 600 mm soft-close slides (45 kg). Draw one out fully for service.

03 · fans

P14 ×3 / P12 ×3 / P14

Arctic P14 ×3 front intake, P12 ×3 on the case top, 1× P14 rear — upright they blow UP into the 45 mm gap; horizontal they face the louvred side. Animated per-fan in the browser.

04 · open rear

Rear stays open

No closed plenum. The rear P14 exhausts to open air; the PiKVM + cabling live in the open rear space.

05 · optional sides

Controlled circulation

Add side panels to duct the flow front-to-rear, or leave them off for maximum open airflow. Toggle in the model.

06 · exploded + assembly

Break apart & build

An exploded-view slider and a numbered assembly guide with sizes — see the configurator's Assembly tab.

Upright vs horizontal — every material

All fit the 2200 mm limit. Horizontal is wider but shorter per level, so it doubles servers-per-column and is less slender (steadier).

MaterialOrientN/colW×H×D mmCol kgColsPer colFleetSlender
AluminiumUpright3352×1813×713124.76£491£29465.1
AluminiumHorizontal7588×2141×713232.53£833£24993.6
WeldedUpright3352×1813×693127.76£443£26585.1
WeldedHorizontal7588×2141×693237.53£744£22323.6
DimensionalUpright3352×1813×761115.56£332£19925.1
DimensionalHorizontal7588×2141×761217.93£586£17583.6
ExistingUpright3600×2000×600107.76£209£12542.9
ExistingHorizontal6600×2000×600164.73£406£12183.0

In the room — 2.5 × 6 × 2.4 m

The racks stand in a row against the back wall, fronts (filtered intake) facing the aisle. Exhaust leaves the open rear and rises — ceiling extract hoods above that hot aisle pull it out, so hot air is removed at the ceiling while cool air is drawn across the aisle. 6 upright columns take 2.24 m of the 6 m wall; 3 horizontal columns take 1.81 m — either fits with a wide working aisle.

Upright columns in the room
6 upright columns (4-high) · 1.59 m² footprint · 1.8 kW idle
Horizontal columns in the room
3 horizontal columns (7-high) · 1.29 m² footprint · 2.1 kW idle

Fans & airflow

🔵 Front intake — Arctic P14 ×3
🔴 Case-top exhaust — Arctic P12 ×3 (UP when upright · louvred side when horizontal)
🔴 Rear exhaust — 1× Arctic P14

Cool air is pulled in the filtered front, over the boards, and pushed out by the case-top P12 ×3 (upward into the 45 mm gap when upright; through the louvred right panel when horizontal) and the rear P14 into the open rear. The rear is deliberately left open so the P14 exhausts freely and the PiKVM sits in that space. Toggle Airflow in the configurator for an animated particle flow (it runs on your GPU in the browser). A quantitative CFD pass on the RTX 5090 is possible if you want pressure/temperature numbers.

Joints & connections

How each level mounts — wall → 25×25 timber → runner → 25×25 timber → ply on top — as a plan section and a front section, with every screw named.

How the runner mounts to the wall — plan section looking down Identical in every material: wall → 25×25 timber (4.0×40 + PVA) → runner outer member (4.0×20 into the timber) → inner member → 25×25 moving timber (4.0×16) → ply on top. 18 mm phenolic wall (columns) 18 mm phenolic wall 25×25 wall timber — 4.0×40 + PVA runner outer — 4.0×20 ×6 into the timber moving timber — 4.0×16 via the inner member; ply on top 1.2 mm steel skin + post (existing cabinet) 1.2 mm steel skin + post 25×25 wall timber — 4.0×40 + PVA through 4.5 mm holes in the skin runner outer — 4.0×20 ×6 into the timber moving timber — 4.0×16 via the inner member; ply on top Height adjust: unscrew the wall timber, move it to a new level line, pre-drill and re-drive. Runner load path: ply → timber → inner member → outer member → timber → wall; ~100 N per side vs ~700 N per screw.
The level mount — front section (one side shown) 18 mm wall → 25×25 timber screwed into it → rail screwed onto the timber → 25×25 timber on the rail's moving side → the ply RESTS ON TOP; the case sits directly on the ply (its feet give the PSU gap). 18 mm phenolic wall 25×25 wall timber — 4.0×40 + PVA into the wall rail outer — 4.0×20 into the timber face 25×25 moving timber — 4.0×16 through the inner member 9 mm ply RESTS ON TOP of the timber — 4.0×30 down 25×25 stiffener hidden UNDER the ply (zero height) Pull-out: the inner member + moving timber + ply + server + PiKVM travel 600 mm together. Every screw drives into timber.

Assembly — step by step

Break the model apart with the exploded slider, then follow the steps. Sizes below are Aluminium · upright; the configurator shows them for the selected material and orientation.

  1. 1
    Cut the frame · uprights 1695 mm
    Cut 4 uprights @ 1695 mm, 2 base width rails @ 272 mm and 2 base depth rails @ 633 mm. That is ALL the frame - levels have no cross-members.
  2. 2
    Build the base + stand the uprights · 272x633 mm
    Join the base rectangle (272x633 mm) with corner brackets + M8 T-nuts, square it, then fix the 4 uprights to the corners.
  3. 3
    Fit the phenolic box · 18 mm x4 panels
    Screw the 18 mm phenolic sides, top and bottom to the frame (louvre cut-outs on the right side for horizontal). The box squares the column and IS the level structure.
  4. 4
    Mark the level heights · pitch 565 mm x 3
    On the inside of both phenolic walls mark each level line at 565 mm pitch from 100 mm.
  5. 5
    Screw the wall timbers · 25x25 x 600 x 6
    PVA and screw a 25x25 timber into each 18 mm wall at every level line (4.0x40, 4 screws, pre-drill). The rail mounts on its face - nothing else holds the level.
  6. 6
    Mount the rails + moving timbers · 600 mm rails x 3
    Screw each AOLISHENG outer member onto its wall timber (4.0x20, 6 screws), soft-close end to the rear. Then screw a second 25x25 timber to each INNER member (4.0x16 through the member holes).
  7. 7
    Drop the trays on · 5.5 ply + 3 tied cross-ribs
    Screw three 25x25 cross-ribs between the moving timbers (ends screwed through the timbers, 4.0x50), rest the ply ON TOP and screw down (4.0x30). The 4000D then sits directly on the ply.
  8. 8
    Castors + anti-tip · tGBL 100 mm x4
    Bolt the 4 tGBL 100 mm castors (2 braked) to the base with the supplied bolts/nuts, and fit the front anti-tip feet.
  9. 9
    Rear kit · PiKVM on the tray tail
    Mount each PiKVM on the tray tail behind the case - it slides out WITH the server. Keep the rear open for the P14 exhaust.
  10. 10
    Mesh door · 713 mm deep
    Hang/clip the mesh pre-filter door on the front.
  11. 11
    Load servers · 3 servers
    Set each 4000D directly on its ply tray, heaviest (VDI) at the bottom. Fans: P14 x3 front intake, P12 x3 on the case top (blowing UP when upright / facing the louvred side when horizontal), P14 rear.

Frame — other ways to build it

Four constructions compared for the upright column. The interesting one is B: make the 18 mm phenolic ply the frame itself (a cabinet carcass) — the AOLISHENG side-mount slides screw straight into the 18 mm walls, so there are no uprights, no shelf rails, and no brackets at all; the level pitch drops by the rail height, which buys an extra level under 2.2 m; and the box is inherently rigid and already intake/exhaust-separated.

ConstructionWidthLevelsWeight/colPhenolic useSlide fixingVerdict
A · Stick frame + phenolic skins (current)346 mm3~16 kg frame + ~24 kg panelsuses least phenolicshelf rails carry the slides; hole-ladder adjustabilitythe default — proven, adjustable
B · 18 mm phenolic carcass (cabinet)302 mm3~46.2 kg all-in~3.5 m2/columnAOLISHENG screws STRAIGHT into the 18 mm wall (4.2x16) — no rails, no frame members at allRECOMMENDED to prototype: −44 mm width, +0 level, fewest parts, rigid box
C · 9 mm phenolic + 25x25 softwood battens334 mm3~26.4 kg~half the phenolic of Bslides need a doubler: 9+9 mm pad or screws into a batten rowlightest; more fitting work
D · 18 mm phenolic ripped into a ladder frame346 mm3~like Auses offcuts60 mm strips as uprights/rails; screws hold well, no warp vs SPFgood if SPF quality is poor

The runner's 4.0×20 screws drive into the timber face; the timber's 4.0×40 screws + PVA drive into the 18 mm phenolic (or through the cabinet's steel skin). Demand is ~100 N per side; each screw holds ~700 N in shear.

Tray stiffening — 9 mm ply

The 4000D sits directly on the flat ply (its own feet give the PSU intake its gap). Three 25×25 cross-ribs run UNDER the ply with their ends screwed into the moving timbers, so the ply spans front-to-back between tied supports and the load reaches the rails. The 5.5 mm ply first chosen was at 93 % of the L/360 limit under a 20 kg case's feet (point loads), so the tray is 9 mm: 0.13 mm under a VDI foot vs 0.61 mm allowed, for 3.5 mm of pitch and no level lost. Options and the two I got wrong (span 190 mm, limit 0.53 mm):

OptionDeflectionPitchNote
Bare 9 mm ply0.06 mm+0 mm pitchfine upright; sags on the wide horizontal span
Ribs ON TOP (old design)0.1 mm+20 mm pitchREMOVED — leftover clutter; stole a horizontal level
Lengthwise centre rib, ends FLOATING (my error)0.06 mm+0 mmWRONG — no load path under uniform load; the rib just rides along (user catch)
3 cross-ribs UNDER the ply, ends screwed to the moving timbers (chosen)0.23 mm+0 mmreal path: ply → rib → timber → rail; hidden in the rail band
Ply screwed to the UNDERSIDE of the 25x25s0.0 mm-5.5 mm pitchcase rides the timber top edges - load bears straight into the rails, zero ply bending; ply becomes a dust floor + U-channel stiffener. Same levels/column; loading is less forgiving (case must land on two 25 mm rails)

Clearances

ClearanceValueWhy
Case side → upright (each side)18 mmslide 13 + gap 6; door mesh clears the front
Top exhaust gap (case → shelf above)45 mmthe case-top P12 ×3 blow UP into this gap, out the open rear
Open rear space (case back → frame)175 mmrear P14 exhaust + the tray tail (PiKVM rides it) — REAR STAYS OPEN
Tray pull-out travel600 mmclears the 453 mm case by 147 mm
Front clearance needed (aisle)600 mmkeep clear in front of every column
Floor → first tray145 mmcastor 100 + the rail band the ply rests on
Level pitch (server to server)565 mmtower standing
Rear airflow clearance≥ 150 mmkeep the rear open so the P14 can exhaust freely

Materials, castors & fasteners

structure

18 mm phenolic box

Black, waterproof, structural — the sides, top and bottom carry every level; trays are 9 mm ply on 25×25 timbers (0.13 mm under a case foot, limit 0.61 mm).

castors

tGBL 100 mm, 150 kg ea.

Bolt-on, 2 braked, rubbered/silent, no floor marks. 600 kg/set — huge margin over a ~124 kg column.

adjustable

Re-screw to re-pitch

Level heights are wherever you screw the wall timbers — the 18 mm phenolic (or the cabinet skin, pre-drilled) takes screws at any line. Unscrew, move, pre-drill, re-drive.

Fastener schedule

Dimensional

JointFastenerNote
Rails → uprights5.0 × 70 mm Torx (T25) wood screw, 2/end + PVAstructural; 3 mm pilot
Phenolic panels → frame5.0 × 40 mm Torx (T25), pre-drill + countersinkphenolic must be pre-drilled
Wall timber → 18 mm wall4.0×40 Torx + PVA, 4 per timberpre-drill 3 mm
Rail → wall timber4.0×20, 6 per outer memberstraight into the timber face
Moving timber → rail inner member4.0×16 through the member holes, 6 each
Ply tray → moving timbersrests ON TOP; 4.0×30 down through the ply
Tray height adjustunscrew packer+slide, move, re-drivethe phenolic wall takes screws anywhere
Castors → baseM8/M10 coach bolt + nut (supplied with tGBL)through the 2×3 base

Aluminium

JointFastenerNote
Frame jointsM8 button-head + drop-in T-nut2 per corner bracket
Wall timber → 18 mm wall4.0×40 Torx + PVA, 4 per timberpre-drill 3 mm
Rail → wall timber4.0×20, 6 per outer memberstraight into the timber face
Moving timber → rail inner member4.0×16 through the member holes, 6 each
Ply tray → moving timbersrests ON TOP; 4.0×30 down through the ply
Tray height adjustunscrew packer+slide, move, re-drivethe phenolic wall takes screws anywhere
Castors → baseM10 bolt + nyloc (supplied with tGBL)through the base rail

Mesh pre-filter door — options

Magnetic snap-on filter (recommended)≈£6/level

Demciflex-style: a laser-cut 2 mm aluminium/ABS frame holding washable ~150 µm PET mesh, magnet-held to steel washers around the front. Tool-less, lift off, rinse. ~0.3 kg/level, lowest pressure drop.

Hinged perforated-aluminium door≈£28/door

1 mm perforated/expanded aluminium in a light frame, piano-hinged with a magnetic catch, full height, replaceable media behind. Sturdiest. ~0.9 kg.

Nylon mesh in a printed frame≈£3/level

Washable nylon range-hood mesh in a PETG-printed frame, twist-lock or magnet mount. Cheapest, reprintable. ~0.25 kg/level.

Two-layer coarse+fine+£4/level

Coarse aluminium mesh in front of fine electrostatic media for dusty rooms — keep >50% open area so the P14s aren't choked.

Every variant

Aluminium T-slot extrusion · Upright (towers standing)

£491/col · £2946/fleet
Aluminium T-slot extrusion — 3-high column · Upright (towers standing) W 352 × H 1813 × D 713 mm (≤ 2200 mm) · 3 servers/column · 124.7 kg · 6 columns for 16 · rear open · P14×3 front / P12×3 top / P14 rear FRONT VDI DB WEB 352 mm 1813 mm SIDE · top tray drawn out front intake (filtered) →→ P12 ×3 blow UP + P14 rear · rear open ISOMETRIC Web · 9950X VDI · 5995WX DB · 9960X frame ply tray intake fan exhaust fan mesh door

Envelope & loads

W×H×D352 × 1813 × 713 mm
Servers/col3
Pitch565 mm
Columns for 166 (18)
Loaded124.7 kg
Tip SF (anti-tip)7.79
Slenderness5.1
Floor497 kg/m²

BOM (per column)

ItemQtyUnit£
4040 aluminium T-slot profile7× 3 m stock£155
Inside corner bracket, 404016pcs£21
M8 button-head bolt + drop-in T-nut32sets£11
Profile end caps4pcs£2
AOLISHENG 600 mm slides, 45 kg/pair, soft-close3pairs£144
9 mm plywood tray (600 × 240 mm, full slide length)3trays£12
25×25 wall timbers (your stock) — screwed into the 18 mm wall6strips£3
Rail → wall-timber screws 4.0×2036pcs£2
25×25 moving timbers — screwed to the rail inner members6strips£3
Ply → moving-timber screws 4.0×30 (down through the tray)24pcs£1
25×25 cross-ribs under the ply — ends screwed into the moving timbers9ribs£4
18 mm phenolic ply — 2 sides + top + bottom4panels£46
Phenolic fixings (5.0×40 + cups)28pcs£3
Mesh pre-filter door — frame + washable mesh + magnets1door£28
tGBL 100 mm bolt-on castor, 150 kg ea., 2 braked1pack of 4£32
Front anti-tip feet + fixings2pcs£10
PiKVM mount bracket + cable service loop3sets£9
EPDM anti-vibration / gasket strip1roll£5

Aluminium T-slot extrusion · Horizontal (towers on their side)

£833/col · £2499/fleet
Aluminium T-slot extrusion — 7-high column · Horizontal (towers on their side) W 588 × H 2141 × D 713 mm (≤ 2200 mm) · 7 servers/column · 232.5 kg · 3 columns for 16 · rear open · P14×3 front / P12×3 top / P14 rear FRONT VDI DB WEB VDI DB WEB VDI 588 mm 2141 mm SIDE · top tray drawn out front intake (filtered) →→ P12 ×3 out the louvred side + P14 rear · rear open ISOMETRIC Web · 9950X VDI · 5995WX DB · 9960X frame ply tray intake fan exhaust fan mesh door

Envelope & loads

W×H×D588 × 2141 × 713 mm
Servers/col7
Pitch289 mm
Columns for 163 (21)
Loaded232.5 kg
Tip SF (anti-tip)9.38
Slenderness3.6
Floor555 kg/m²

BOM (per column)

ItemQtyUnit£
4040 aluminium T-slot profile11× 3 m stock£259
Inside corner bracket, 404016pcs£21
M8 button-head bolt + drop-in T-nut32sets£11
Profile end caps4pcs£2
AOLISHENG 600 mm slides, 45 kg/pair, soft-close7pairs£336
9 mm plywood tray (600 × 476 mm, full slide length)7trays£28
25×25 wall timbers (your stock) — screwed into the 18 mm wall14strips£7
Rail → wall-timber screws 4.0×2084pcs£4
25×25 moving timbers — screwed to the rail inner members14strips£7
Ply → moving-timber screws 4.0×30 (down through the tray)56pcs£3
25×25 cross-ribs under the ply — ends screwed into the moving timbers21ribs£10
18 mm phenolic ply — 2 sides + top + bottom4panels£46
Phenolic fixings (5.0×40 + cups)28pcs£3
Mesh pre-filter door — frame + washable mesh + magnets1door£28
tGBL 100 mm bolt-on castor, 150 kg ea., 2 braked1pack of 4£32
Front anti-tip feet + fixings2pcs£10
PiKVM mount bracket + cable service loop7sets£21
EPDM anti-vibration / gasket strip1roll£5

Welded steel square tube · Upright (towers standing)

£443/col · £2658/fleet
Welded steel square tube — 3-high column · Upright (towers standing) W 352 × H 1813 × D 693 mm (≤ 2200 mm) · 3 servers/column · 127.7 kg · 6 columns for 16 · rear open · P14×3 front / P12×3 top / P14 rear FRONT VDI DB WEB 352 mm 1813 mm SIDE · top tray drawn out front intake (filtered) →→ P12 ×3 blow UP + P14 rear · rear open ISOMETRIC Web · 9950X VDI · 5995WX DB · 9960X frame ply tray intake fan exhaust fan mesh door

Envelope & loads

W×H×D352 × 1813 × 693 mm
Servers/col3
Pitch565 mm
Columns for 166 (18)
Loaded127.7 kg
Tip SF (anti-tip)7.83
Slenderness5.1
Floor524 kg/m²

BOM (per column)

ItemQtyUnit£
30×30×2 mild-steel square tube4× 6 m stock£93
MIG wire + shielding gas + cutting discs1lot£30
Etch primer + enamel paint1lot£18
AOLISHENG 600 mm slides, 45 kg/pair, soft-close3pairs£144
9 mm plywood tray (600 × 240 mm, full slide length)3trays£12
25×25 wall timbers (your stock) — screwed into the 18 mm wall6strips£3
Rail → wall-timber screws 4.0×2036pcs£2
25×25 moving timbers — screwed to the rail inner members6strips£3
Ply → moving-timber screws 4.0×30 (down through the tray)24pcs£1
25×25 cross-ribs under the ply — ends screwed into the moving timbers9ribs£4
18 mm phenolic ply — 2 sides + top + bottom4panels£46
Phenolic fixings (5.0×40 + cups)28pcs£3
Mesh pre-filter door — frame + washable mesh + magnets1door£28
tGBL 100 mm bolt-on castor, 150 kg ea., 2 braked1pack of 4£32
Front anti-tip feet + fixings2pcs£10
PiKVM mount bracket + cable service loop3sets£9
EPDM anti-vibration / gasket strip1roll£5

Welded steel square tube · Horizontal (towers on their side)

£744/col · £2232/fleet
Welded steel square tube — 7-high column · Horizontal (towers on their side) W 588 × H 2141 × D 693 mm (≤ 2200 mm) · 7 servers/column · 237.5 kg · 3 columns for 16 · rear open · P14×3 front / P12×3 top / P14 rear FRONT VDI DB WEB VDI DB WEB VDI 588 mm 2141 mm SIDE · top tray drawn out front intake (filtered) →→ P12 ×3 out the louvred side + P14 rear · rear open ISOMETRIC Web · 9950X VDI · 5995WX DB · 9960X frame ply tray intake fan exhaust fan mesh door

Envelope & loads

W×H×D588 × 2141 × 693 mm
Servers/col7
Pitch289 mm
Columns for 163 (21)
Loaded237.5 kg
Tip SF (anti-tip)9.4
Slenderness3.6
Floor583 kg/m²

BOM (per column)

ItemQtyUnit£
30×30×2 mild-steel square tube6× 6 m stock£156
MIG wire + shielding gas + cutting discs1lot£30
Etch primer + enamel paint1lot£18
AOLISHENG 600 mm slides, 45 kg/pair, soft-close7pairs£336
9 mm plywood tray (600 × 476 mm, full slide length)7trays£28
25×25 wall timbers (your stock) — screwed into the 18 mm wall14strips£7
Rail → wall-timber screws 4.0×2084pcs£4
25×25 moving timbers — screwed to the rail inner members14strips£7
Ply → moving-timber screws 4.0×30 (down through the tray)56pcs£3
25×25 cross-ribs under the ply — ends screwed into the moving timbers21ribs£10
18 mm phenolic ply — 2 sides + top + bottom4panels£46
Phenolic fixings (5.0×40 + cups)28pcs£3
Mesh pre-filter door — frame + washable mesh + magnets1door£28
tGBL 100 mm bolt-on castor, 150 kg ea., 2 braked1pack of 4£32
Front anti-tip feet + fixings2pcs£10
PiKVM mount bracket + cable service loop7sets£21
EPDM anti-vibration / gasket strip1roll£5

Dimensional lumber (2x3) · Upright (towers standing)

£332/col · £1992/fleet
Dimensional lumber (2x3) — 3-high column · Upright (towers standing) W 352 × H 1813 × D 761 mm (≤ 2200 mm) · 3 servers/column · 115.5 kg · 6 columns for 16 · rear open · P14×3 front / P12×3 top / P14 rear FRONT VDI DB WEB 352 mm 1813 mm SIDE · top tray drawn out front intake (filtered) →→ P12 ×3 blow UP + P14 rear · rear open ISOMETRIC Web · 9950X VDI · 5995WX DB · 9960X frame ply tray intake fan exhaust fan mesh door

Envelope & loads

W×H×D352 × 1813 × 761 mm
Servers/col3
Pitch565 mm
Columns for 166 (18)
Loaded115.5 kg
Tip SF (anti-tip)7.53
Slenderness5.1
Floor431 kg/m²

BOM (per column)

ItemQtyUnit£
2×3 SPF timber (uprights + rails)8× 2.44 m stock£22
Torx wood screw 5.0×70 mm (T25) — rails16pcs£2
PVA wood glue1bottle£6
AOLISHENG 600 mm slides, 45 kg/pair, soft-close3pairs£144
9 mm plywood tray (600 × 240 mm, full slide length)3trays£12
25×25 wall timbers (your stock) — screwed into the 18 mm wall6strips£3
Rail → wall-timber screws 4.0×2036pcs£2
25×25 moving timbers — screwed to the rail inner members6strips£3
Ply → moving-timber screws 4.0×30 (down through the tray)24pcs£1
25×25 cross-ribs under the ply — ends screwed into the moving timbers9ribs£4
18 mm phenolic ply — 2 sides + top + bottom4panels£46
Phenolic fixings (5.0×40 + cups)28pcs£3
Mesh pre-filter door — frame + washable mesh + magnets1door£28
tGBL 100 mm bolt-on castor, 150 kg ea., 2 braked1pack of 4£32
Front anti-tip feet + fixings2pcs£10
PiKVM mount bracket + cable service loop3sets£9
EPDM anti-vibration / gasket strip1roll£5

Dimensional lumber (2x3) · Horizontal (towers on their side)

£586/col · £1758/fleet
Dimensional lumber (2x3) — 7-high column · Horizontal (towers on their side) W 588 × H 2141 × D 761 mm (≤ 2200 mm) · 7 servers/column · 217.9 kg · 3 columns for 16 · rear open · P14×3 front / P12×3 top / P14 rear FRONT VDI DB WEB VDI DB WEB VDI 588 mm 2141 mm SIDE · top tray drawn out front intake (filtered) →→ P12 ×3 out the louvred side + P14 rear · rear open ISOMETRIC Web · 9950X VDI · 5995WX DB · 9960X frame ply tray intake fan exhaust fan mesh door

Envelope & loads

W×H×D588 × 2141 × 761 mm
Servers/col7
Pitch289 mm
Columns for 163 (21)
Loaded217.9 kg
Tip SF (anti-tip)9.17
Slenderness3.6
Floor487 kg/m²

BOM (per column)

ItemQtyUnit£
2×3 SPF timber (uprights + rails)13× 2.44 m stock£38
Torx wood screw 5.0×70 mm (T25) — rails16pcs£2
PVA wood glue1bottle£6
AOLISHENG 600 mm slides, 45 kg/pair, soft-close7pairs£336
9 mm plywood tray (600 × 476 mm, full slide length)7trays£28
25×25 wall timbers (your stock) — screwed into the 18 mm wall14strips£7
Rail → wall-timber screws 4.0×2084pcs£4
25×25 moving timbers — screwed to the rail inner members14strips£7
Ply → moving-timber screws 4.0×30 (down through the tray)56pcs£3
25×25 cross-ribs under the ply — ends screwed into the moving timbers21ribs£10
18 mm phenolic ply — 2 sides + top + bottom4panels£46
Phenolic fixings (5.0×40 + cups)28pcs£3
Mesh pre-filter door — frame + washable mesh + magnets1door£28
tGBL 100 mm bolt-on castor, 150 kg ea., 2 braked1pack of 4£32
Front anti-tip feet + fixings2pcs£10
PiKVM mount bracket + cable service loop7sets£21
EPDM anti-vibration / gasket strip1roll£5

Existing 19″ cabinet (600 w × 600 d, 42U) — dims ASSUMED until measured · Upright (towers standing)

£209/col · £1254/fleet
Existing 19″ cabinet (600 w × 600 d, 42U) — dims ASSUMED until measured — 3-high column · Upright (towers standing) W 600 × H 2000 × D 600 mm (≤ 2200 mm) · 3 servers/column · 107.7 kg · 6 columns for 16 · rear open · P14×3 front / P12×3 top / P14 rear FRONT VDI DB WEB 600 mm 2000 mm SIDE · top tray drawn out front intake (filtered) →→ P12 ×3 blow UP + P14 rear · rear open ISOMETRIC Web · 9950X VDI · 5995WX DB · 9960X frame ply tray intake fan exhaust fan mesh door

Envelope & loads

W×H×D600 × 2000 × 600 mm
Servers/col3
Pitch565 mm
Columns for 166 (18)
Loaded107.7 kg
Tip SF (anti-tip)6.11
Slenderness2.9
Floor299 kg/m²

BOM (per column)

ItemQtyUnit£
Existing 19-inch cabinet (600 w × 600 d, 42U) — OWNED1cabinet£0
Mesh front door + vented rear door (only if the cabinet's are solid/glass)1set£0
PU adhesive + 4.5 mm drill for the side-panel holes1lot£8
AOLISHENG 600 mm slides, 45 kg/pair, soft-close3pairs£144
9 mm plywood tray (600 × 474 mm, full slide length)3trays£12
25×25 wall timbers (your stock) — screwed into the 18 mm wall6strips£3
Rail → wall-timber screws 4.0×2036pcs£2
25×25 moving timbers — screwed to the rail inner members6strips£3
Ply → moving-timber screws 4.0×30 (down through the tray)24pcs£1
25×25 cross-ribs under the ply — ends screwed into the moving timbers9ribs£4
Cabinet steel sides carry the timbers — no phenolic0panels£0
Right-angle HDMI + USB adapters for the PiKVMs (92 mm rear void)6pcs£18
PiKVM mount bracket + cable service loop3sets£9
EPDM anti-vibration / gasket strip1roll£5

Existing 19″ cabinet (600 w × 600 d, 42U) — dims ASSUMED until measured · Horizontal (towers on their side)

£406/col · £1218/fleet
Existing 19″ cabinet (600 w × 600 d, 42U) — dims ASSUMED until measured — 6-high column · Horizontal (towers on their side) W 600 × H 2000 × D 600 mm (≤ 2200 mm) · 6 servers/column · 164.7 kg · 3 columns for 16 · rear open · P14×3 front / P12×3 top / P14 rear FRONT VDI DB WEB VDI DB WEB 600 mm 2000 mm SIDE · top tray drawn out front intake (filtered) →→ P12 ×3 out the louvred side + P14 rear · rear open ISOMETRIC Web · 9950X VDI · 5995WX DB · 9960X frame ply tray intake fan exhaust fan mesh door

Envelope & loads

W×H×D600 × 2000 × 600 mm
Servers/col6
Pitch289 mm
Columns for 163 (18)
Loaded164.7 kg
Tip SF (anti-tip)9.28
Slenderness3.0
Floor458 kg/m²

BOM (per column)

ItemQtyUnit£
Existing 19-inch cabinet (600 w × 600 d, 42U) — OWNED1cabinet£0
Mesh front door + vented rear door (only if the cabinet's are solid/glass)1set£0
PU adhesive + 4.5 mm drill for the side-panel holes1lot£8
AOLISHENG 600 mm slides, 45 kg/pair, soft-close6pairs£288
9 mm plywood tray (600 × 474 mm, full slide length)6trays£24
25×25 wall timbers (your stock) — screwed into the 18 mm wall12strips£6
Rail → wall-timber screws 4.0×2072pcs£4
25×25 moving timbers — screwed to the rail inner members12strips£6
Ply → moving-timber screws 4.0×30 (down through the tray)48pcs£2
25×25 cross-ribs under the ply — ends screwed into the moving timbers18ribs£9
Cabinet steel sides carry the timbers — no phenolic0panels£0
Right-angle HDMI + USB adapters for the PiKVMs (92 mm rear void)12pcs£36
PiKVM mount bracket + cable service loop6sets£18
EPDM anti-vibration / gasket strip1roll£5

The sliding mechanism, explained

From the wall inward, each level is: 18 mm phenolic wall (the structure; the steel side of your cabinet in the cabinet variant) → 25×25 timber screwed into it → AOLISHENG 600 mm runner, outer member screwed onto the timber's face → a second 25×25 timber screwed to the runner's moving side → the ply tray rests on top of it and screws down → three 25×25 cross-ribs under the ply, ends screwed into the moving timbers → the 4000D sits directly on the ply, PiKVM on the tray tail. Every screw drives into timber; the tray drops on from above.

What moves when you pull: the moving timbers, ply, cross-ribs, the server with all seven of its fans, and the PiKVM — as one assembly, 600 mm out on soft-close full-extension runners. What stays: the frame, phenolic box, wall timbers, runner outer members, door (it auto-fades in the 3D when a tray moves) and castors.

Level mounting — every option compared

Demand is tiny (~98 N per side — half the heaviest server), so every option "holds"; the comparison is about load path, height cost and effort:

OptionLoad pathCapacity/sidePitch costLevels/colVerdict
A · rev-K cross-rail framescrews+brackets into rails4200 N+40 mm3rejected — wastes a rail height every level
B · laminated ply packer, tray hung beside the railscrew shear into 18 mm phenolic4200 N+0 mm3works; laminating labour, fiddly drawer-style tray
C · timber sandwich, ply ON TOP (chosen — user design)wall→timber→rail→timber; ply RESTS on the moving timber37500 N+42 mm3every screw into timber, tray drops on from above — and with the under-ply stiffener it keeps 7/col horizontal
D · timbers + full 18 mm deckdeck in bearing on battens37500 N+43 mm3stiffest deck but redundant and heaviest

Chosen: C — direct bearing on your 25×25 stock, no laminating, and the upper batten doubles as a wall stiffener. D (a full 18 mm deck) is structurally redundant beneath a slide-borne tray and costs 43 mm of pitch.

Renders — Blender Cycles on the RTX 5090

Path-traced from the exported geometry (Blender 4.5 LTS, Cycles/OptiX, 192 samples, denoised) — the same numbers as the drawings, not the browser preview. Left: front-left with the top tray fully out (door hidden). Right: rear-right, showing the louvred exhaust wall in horizontal lay and the open rear.

extrusion upright iso
extrusion · upright · top tray out
extrusion upright rear
extrusion · upright · rear
extrusion horizontal iso
extrusion · horizontal · top tray out
extrusion horizontal rear
extrusion · horizontal · rear
steel upright iso
steel · upright · top tray out
steel upright rear
steel · upright · rear
steel horizontal iso
steel · horizontal · top tray out
steel horizontal rear
steel · horizontal · rear
wood upright iso
wood · upright · top tray out
wood upright rear
wood · upright · rear
wood horizontal iso
wood · horizontal · top tray out
wood horizontal rear
wood · horizontal · rear
cabinet upright iso
cabinet · upright · top tray out
cabinet upright rear
cabinet · upright · rear
cabinet horizontal iso
cabinet · horizontal · top tray out
cabinet horizontal rear
cabinet · horizontal · rear

CAD files — fabrication drawings and 3D exports

Generated from the same parametric model, per variant: a dimensioned DXF of the panels and trays (side panels with level lines, timber screw holes and louvre cut-outs; top/base with castor bolt holes; tray ply with rib lines and screw holes), a DXF of the front/side elevations, an OpenSCAD file (parametric, with a pull variable), an OBJ with named parts, an STL, and a STEP (AP214, coloured, one named solid per part) built with CadQuery/OpenCASCADE in a Python 3.12 environment — opens in FreeCAD, Fusion, SolidWorks or Onshape.

VariantSTEPPanels + traysElevationsOpenSCADOBJSTL
extrusion-upright<a href="cad/extrusion-upright.step">STEP</a><a href="cad/extrusion-upright-panels.dxf">DXF</a><a href="cad/extrusion-upright-elevations.dxf">DXF</a><a href="cad/extrusion-upright.scad">SCAD</a><a href="cad/extrusion-upright.obj">OBJ</a><a href="cad/extrusion-upright.stl">STL</a>
extrusion-horizontal<a href="cad/extrusion-horizontal.step">STEP</a><a href="cad/extrusion-horizontal-panels.dxf">DXF</a><a href="cad/extrusion-horizontal-elevations.dxf">DXF</a><a href="cad/extrusion-horizontal.scad">SCAD</a><a href="cad/extrusion-horizontal.obj">OBJ</a><a href="cad/extrusion-horizontal.stl">STL</a>
steel-upright<a href="cad/steel-upright.step">STEP</a><a href="cad/steel-upright-panels.dxf">DXF</a><a href="cad/steel-upright-elevations.dxf">DXF</a><a href="cad/steel-upright.scad">SCAD</a><a href="cad/steel-upright.obj">OBJ</a><a href="cad/steel-upright.stl">STL</a>
steel-horizontal<a href="cad/steel-horizontal.step">STEP</a><a href="cad/steel-horizontal-panels.dxf">DXF</a><a href="cad/steel-horizontal-elevations.dxf">DXF</a><a href="cad/steel-horizontal.scad">SCAD</a><a href="cad/steel-horizontal.obj">OBJ</a><a href="cad/steel-horizontal.stl">STL</a>
wood-upright<a href="cad/wood-upright.step">STEP</a><a href="cad/wood-upright-panels.dxf">DXF</a><a href="cad/wood-upright-elevations.dxf">DXF</a><a href="cad/wood-upright.scad">SCAD</a><a href="cad/wood-upright.obj">OBJ</a><a href="cad/wood-upright.stl">STL</a>
wood-horizontal<a href="cad/wood-horizontal.step">STEP</a><a href="cad/wood-horizontal-panels.dxf">DXF</a><a href="cad/wood-horizontal-elevations.dxf">DXF</a><a href="cad/wood-horizontal.scad">SCAD</a><a href="cad/wood-horizontal.obj">OBJ</a><a href="cad/wood-horizontal.stl">STL</a>
cabinet-upright<a href="cad/cabinet-upright.step">STEP</a><a href="cad/cabinet-upright-panels.dxf">DXF</a><a href="cad/cabinet-upright-elevations.dxf">DXF</a><a href="cad/cabinet-upright.scad">SCAD</a><a href="cad/cabinet-upright.obj">OBJ</a><a href="cad/cabinet-upright.stl">STL</a>
cabinet-horizontal<a href="cad/cabinet-horizontal.step">STEP</a><a href="cad/cabinet-horizontal-panels.dxf">DXF</a><a href="cad/cabinet-horizontal-elevations.dxf">DXF</a><a href="cad/cabinet-horizontal.scad">SCAD</a><a href="cad/cabinet-horizontal.obj">OBJ</a><a href="cad/cabinet-horizontal.stl">STL</a>

Verification — Selenium on UAT, 1920×1080

The deployed app is exercised end-to-end by a Selenium suite running headless Chromium on this UAT box: it walks orientations, materials, tabs, airflow, exploded view and tray pull-out, asserts a clean console, and photographs each state. Latest run: APP_OK · 0 console errors · 12 states. Full-size shots: /shots/ (also archived in the repo under docs/screenshots/).

Upright airflow at 100% load
Upright · airflow @100% — case-top P12s blow UP
Horizontal airflow through louvres
Horizontal · airflow through the louvred side
Exploded view
Exploded view
Tray fully out
Tray fully out (600 mm) · door auto-fades

Pre-build verification checklist

Everything the model assumes that must be checked on real hardware before cutting or ordering — each maps to an open item in BUGS.md:

  1. V1
    Fan fitment (A14)
    Confirm your 4000Ds really mount P14 ×3 front + P12 ×3 top + P14 rear as stated — stock 4000D fronts officially take 3×120 or 2×140.
  2. V2
    Case impedance (D9)
    The 120 CFM operating point assumes K_SYS = 7.36×10⁻⁴ Pa/CFM² (≈10.6 Pa at 120 CFM) for case + mesh filter. Smoke-pencil or anemometer-check one case and recalibrate K_SYS in generate.py.
  3. V3
    Real wattages (D10)
    Wall-meter one server of each role at idle and full load; update ROLE_LOAD (current TDP-derived: web 250 / db 450 / vdi 850 W).
  4. V4
    Foot spacing
    Check the 4000D foot positions land on the front/back tray ribs; adjust rib positions if not.
  5. V5
    Slide fit
    Dry-fit one AOLISHENG pair to a tray-batten mock-up: inner member screws horizontal into the 25×25 batten, 13 mm side clearance each side.

Assumptions