Kallax organization models.
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
include <./constants.scad>
|
||||
|
||||
// all measurements in mm
|
||||
boardThickness = 4.7; // 1/8" plywood
|
||||
feltThickness = 2.5;
|
||||
clipThickness = boardThickness + 2*feltThickness;
|
||||
|
||||
// measurements for the wooden panels to cut:
|
||||
//
|
||||
// ───────────── - top board (A)
|
||||
// │ │ │
|
||||
// │───────────│
|
||||
// │ │ │
|
||||
// │───────────│
|
||||
//
|
||||
//
|
||||
// top board: 320.0 x 370.0
|
||||
// bottom board: 305.6 x 370.0 (320 - 2*4.7 - 2*2.5) x 370
|
||||
// side boards: 152.8 x 370.0 (160 - 4.7 - 2.5) x 370
|
||||
// inner boards: 70.45 x 370.0 ((160 - 3*4.7 - 2*2.5)/2) x 370
|
||||
//
|
||||
|
||||
module customSupport() {
|
||||
// 45-degree supports
|
||||
difference() {
|
||||
translate([clipThickness/2, -clipThickness/2, 0])
|
||||
cube([1, clipThickness, clipThickness - 2]);
|
||||
|
||||
rotate([45, 0, 0])
|
||||
translate([0, -0.1, -0.1])
|
||||
cube([clipThickness, clipThickness, clipThickness]);
|
||||
}
|
||||
}
|
||||
|
||||
module cornerClip() {
|
||||
difference() {
|
||||
cube([clipThickness, clipThickness, clipThickness]);
|
||||
|
||||
translate([feltThickness, feltThickness, feltThickness])
|
||||
cube([boardThickness, clipThickness, clipThickness]);
|
||||
|
||||
translate([feltThickness, feltThickness, feltThickness])
|
||||
cube([clipThickness, boardThickness, clipThickness]);
|
||||
}
|
||||
}
|
||||
|
||||
module sideClip() {
|
||||
difference() {
|
||||
cube([clipThickness, 2 * clipThickness, clipThickness]);
|
||||
|
||||
translate([-0.1, feltThickness, feltThickness])
|
||||
cube([clipThickness + 0.2, boardThickness, clipThickness]);
|
||||
|
||||
translate([feltThickness, feltThickness, feltThickness])
|
||||
cube([boardThickness, 2 * clipThickness, clipThickness]);
|
||||
}
|
||||
}
|
||||
|
||||
module crossClip() {
|
||||
difference() {
|
||||
cube([2 * clipThickness, clipThickness, clipThickness]);
|
||||
|
||||
translate([-0.1, feltThickness, feltThickness])
|
||||
cube([2 * clipThickness + 0.2, boardThickness, clipThickness]);
|
||||
|
||||
translate([clipThickness - boardThickness/2, -0.1, feltThickness])
|
||||
cube([boardThickness, clipThickness + 0.2, clipThickness]);
|
||||
}
|
||||
}
|
||||
|
||||
difference() {
|
||||
translate([0, 0, -1.4])
|
||||
union() {
|
||||
for (i = [0:7])
|
||||
translate([i * (clipThickness + 2), clipThickness, 0])
|
||||
rotate([45, 0, 0])
|
||||
cornerClip();
|
||||
|
||||
for (i = [0:7])
|
||||
translate([i * (clipThickness + 2), 3 * clipThickness, 0])
|
||||
rotate([0, 0, 0])
|
||||
sideClip();
|
||||
|
||||
for (i = [0:1])
|
||||
translate([i * (2 * clipThickness + 2), 5 * clipThickness, 0])
|
||||
rotate([45, 0, 0])
|
||||
crossClip();
|
||||
}
|
||||
|
||||
translate([-1, -1, -1.4]) cube([100, 100, 1.4]);
|
||||
}
|
||||
Reference in New Issue
Block a user