-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwish_wheel_caddy.scad
59 lines (43 loc) · 1.43 KB
/
wish_wheel_caddy.scad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/* Small Wish Wheel tray */
// Overall length of the tray.
length = 150;
// Size of the to store
caddy_diameter = 40;
caddy_thickness = 10;
// Way up the caddy to have walls
caddy_held = 0.4;
// Spacing around the caddies
caddy_padding = 1;
wall_thickness = 2;
// Calculate the size of the slots
slot_diameter = caddy_diameter + caddy_padding;
slot_thickness = caddy_thickness + 2 * caddy_padding;
// Work out the number of slots based on the length
total_slots = (length - wall_thickness) / (slot_thickness + wall_thickness);
slots = floor(total_slots);
overall_width = slot_diameter * caddy_held + wall_thickness;
echo("Size: ", length, overall_width);
echo("Slots: ", slots);
// Reference Caddys
color("White")
for(i=[0:slots-1])
translate([i * (slot_thickness + wall_thickness) + caddy_padding,0,0,])
rotate([0, 90, 0])
cylinder(h=caddy_thickness, d=caddy_diameter);
// Tray
difference() {
// The base of the tray
translate(
[-wall_thickness,
-(slot_diameter / 2 + wall_thickness),
-(slot_diameter / 2 + wall_thickness)])
cube([
length,
slot_diameter + wall_thickness * 2,
overall_width]);
// Slots for the 'wheels'
for(i=[0:slots-1])
translate([i * (slot_thickness + wall_thickness),0,0])
rotate([0, 90, 0])
cylinder(h=slot_thickness, d=slot_diameter);
}