3d-printing/lib/skadis-board
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-06-10 09:24:49 +02:00
..
example.scad commit 2026-06-10 09:24:49 +02:00
preview.png commit 2026-06-10 09:24:49 +02:00
README.md commit 2026-06-10 09:24:49 +02:00
skadis-board.scad commit 2026-06-10 09:24:49 +02:00

Skadis Board

Preview

Generates an IKEA Skadis-compatible pegboard panel — a flat board carrying the standard Skadis through-slot pattern, so off-the-shelf Skadis accessories hang on it. Give it the outer width and height and it fills a centered slot lattice; pick "standard" for the genuine Skadis layout or "dense" for twice as many slots (still compatible). The preview above is generated from example.scad (standard pattern left, dense right).

Usage

use <../lib/skadis-board/skadis-board.scad>

// A 270 x 80 mm standard Skadis panel, 5 mm thick.
skadis_board(width = 270, height = 80);

// Denser variant — adds the empty checkerboard cells for a full 20 mm grid.
skadis_board(width = 270, height = 80, density = "dense");

The board is built in the X (width) / Z (height) plane with the thickness along Y, so it already stands vertically — translate it up onto a base and it's a standing pegboard.

The hole pattern

A real Skadis board is a 40 mm × 40 mm grid plus a second 40 mm grid offset by +20 mm in both X and Z — equivalently, a vertical oval slot at every point on a 20 mm grid where (i + j) is even (a checkerboard). That 40/20 ratio is what makes accessories fit, so it is fixed by construction:

  • "standard" reproduces that checkerboard exactly.
  • "dense" also fills the (i + j) odd points → a full 20 mm grid. Because that is a strict superset of the standard positions, every standard accessory still registers; it just adds slots in between.

There is deliberately no free hole-spacing parameter — only pitch (asserted to 40) and density — so the ratio cannot be broken.

Modules

skadis_board(width, height, thickness, density, pitch, min_margin, slot_w, slot_h, edge_chamfer, corner_r, perimeter_fillet, fn)

A rounded-rectangle board of the given outer width × height with a centered lattice of vertical pill-shaped through-slots, each with a countersunk mouth on both faces. The whole perimeter — both front- and back-face edges — is softened by a small perimeter_fillet.

Parameter Default Description
width (required) Outer board width (X, mm)
height (required) Outer board height (Z, mm)
thickness 5.0 mm Board thickness (Y) — Skadis standard is 5 mm
density "standard" "standard" (checkerboard) or "dense" (full 20 mm grid)
pitch 40 mm Skadis grid pitch — keep at 40 for compatibility
min_margin 14 / 10 mm Minimum clear distance from the outer slots to the board edge; defaults to 14 for "standard" and 10 for "dense"
slot_w 5.0 mm Slot width (short axis)
slot_h 15.0 mm Slot length (long axis, vertical)
edge_chamfer 1.0 mm Countersink at each slot mouth; 0 = sharp slot
corner_r 4 mm Outer board corner radius; 0 = square corners
perimeter_fillet 1.0 mm Rounded fillet on the front- and back-face perimeter edges; 0 = sharp edges
fn 64 $fn for the slot/corner cylinders

Functions

Function Returns
skadis_cols(width, pitch, min_margin) Number of standard 40 mm columns that fit
skadis_rows(height, pitch, min_margin) Number of standard 40 mm rows that fit
skadis_slot_positions(width, height, pitch, density, min_margin) List of [x, z] slot centers

Constants

Name Value Description
SKADIS_PITCH 40 mm Standard Skadis grid pitch

Coordinate system

Axis Direction
X Horizontal — board width
Y Board thickness — back face at Y=0, front face at Y=thickness
Z Vertical — board height; slots are vertical ovals (long axis along Z)

Relationship to skadis-t-clip

lib/skadis-t-clip makes the accessory's mounting cutout (a slot plus a T-clip cap recess) for parts that hang on a board. This library makes the board itself (plain through-slots). They are complementary, not dependent.

Used by