summaryrefslogtreecommitdiff
path: root/closet_rod_socket.scad
blob: 90e01bc19cbcee4b2762454037f8a37715e43e53 (plain)
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
module reflect(axises) {
  children();
  mirror(axises) children();
}

socket_thickness = 10;
rod_diameter = 17;
screw_diameter = 6;
screw_head_diameter = 12;
screw_countersink = 6.5;

$fn = 40;

difference() {
  // base
  scale([4/3, 3/4, 1])
    cylinder(r=rod_diameter, h=socket_thickness);

  // rod socket
  translate([0, rod_diameter/4, 0]) {
    cylinder(d=rod_diameter, h=socket_thickness);

    translate([-rod_diameter/2, 0, 0])
      cube([rod_diameter, rod_diameter, socket_thickness]);
  }

  // screw holes
  reflect([1, 0, 0])
    translate([rod_diameter*7/8, 0, 0]) {
      cylinder(d=screw_diameter, h=socket_thickness);
      
      translate([0, 0, socket_thickness-screw_countersink])
        cylinder(d1=screw_diameter, d2=screw_head_diameter, h=screw_countersink);
    }
}