Skip to content

Fab Lab Akureyri - Smiðja 2026

Hér höldum við utan um efni tengt smiðjunni

Stundatafla

Inkscape

Inkscape er öflugt "vector" myndvinnsluforrit. Það er fullkomlega sambærilegt við t.d. Illustrator sem margir þekkja.

Forritið er ókeypis, opið og frjálst. Það má sækja hér: inkscape.org

Efni tengt Inkscape

3D hönnun og prentun

Hönnunarforrit

OpenSCAD kóði

Einfalt brakkett

$fn = 50;

difference() {
    cube([100,70,4]);

    translate([30,35,0])
        cylinder(h=5, d=16);

    translate([70,35,0])
        cylinder(h=5, d=16);
}

Brakkett

Tafla

// Parametric SKÅDIS-style pegboard (optimized)
// Origin: (0,0,0) at bottom-left of front face; Z is thickness outward (+Z)

//////////////////////////
// User parameters
//////////////////////////
material_thickness = 5;    // mm
board_width        = 1000; // mm
board_height       = 400; // mm

//////////////////////////
// Defaults (SKÅDIS-ish)
//////////////////////////
slot_w     = 5;    // mm
slot_l     = 15;   // mm
pitch_x    = 40;   // mm
pitch_y    = 20;   // mm
stagger    = true; // alternate rows shift by pitch_x/2
min_margin = 10;   // mm (keeps slots away from edges)

corner_r   = 10;   // mm (rounded corner radius)

$fn = 16;          // smoothness for round parts

//////////////////////////
// Helpers
//////////////////////////

// 2D rounded rectangle using hull of 4 circles
module rounded_rect_2d(w, h, r) {
    r2 = min(r, min(w, h)/2);
    hull() {
        translate([r2,     r2])     circle(r=r2);
        translate([w-r2,   r2])     circle(r=r2);
        translate([w-r2, h-r2])     circle(r=r2);
        translate([r2,   h-r2])     circle(r=r2);
    }
}

// 2D obround slot (rounded rectangle) centered at origin, vertical orientation
module slot_2d(width, length) {
    r = width/2;
    L = max(length, width);
    hull() {
        translate([0,  (L/2 - r)]) circle(r=r);
        translate([0, -(L/2 - r)]) circle(r=r);
    }
}

//////////////////////////
// Main model (optimized)
//////////////////////////

module pegboard(
    w, h, t,
    slot_w, slot_l,
    px, py,
    stagger_rows,
    margin,
    corner_r
){
    // Compute usable center ranges so slots don't violate margins
    x_min = margin + slot_w/2;
    x_max = w - (margin + slot_w/2);
    y_min = margin + slot_l/2;
    y_max = h - (margin + slot_l/2);

    valid = (x_max >= x_min) && (y_max >= y_min);

    // --- 2D boolean first, then extrude once ---
    linear_extrude(height=t)
    difference() {
        // Board outline (2D)
        rounded_rect_2d(w, h, corner_r);

        // Slots union (2D), subtracted from board outline
        if (valid) {
            union() {
                // number of rows that fit
                j_max = floor((y_max - y_min) / py);

                for (j = [0 : j_max]) {
                    y = y_min + j*py;
                    shift = (stagger_rows && (j % 2 == 1)) ? (px/2) : 0;

                    // compute k-range directly (no arrays)
                    k0 = ceil((x_min - shift) / px);
                    k1 = floor((x_max - shift) / px);

                    for (k = [k0 : k1]) {
                        x = shift + k*px;
                        translate([x, y])
                            slot_2d(slot_w, slot_l);
                    }
                }
            }
        }
    }
}

// Render
pegboard(
    board_width, board_height, material_thickness,
    slot_w, slot_l,
    pitch_x, pitch_y,
    stagger,
    min_margin,
    corner_r
);

Tafla

Hér má finna það sem þarf til að búa til Ikea Skadis aukahluti

Fusion 360