79 lines
4.1 KiB
Markdown
79 lines
4.1 KiB
Markdown
# Skadis Board
|
||
|
||

|
||
|
||
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`](example.scad) (standard pattern left, dense right).
|
||
|
||
## Usage
|
||
|
||
```scad
|
||
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`](../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
|
||
|
||
- [RASKOG Magnetic Separator](../../raskog-separator/)
|