10 translate([0, -off_center, 0])
14 module off_c_rot(angle) {
17 translate([0, off_center, 0])
21 module interdental_hole() {
22 translate([0, 0, -infty/2])
23 cylinder(r=4.1, h=infty);
25 scale ([2, 1, 1]) sphere(10, center=true);
28 module toothbrush_hole() {
32 cylinder(r1=4, r2=8, h = 13);
34 cylinder(r=4, h = 3+eps);
36 translate([-infty/2, -4.5-infty, -infty/2])
39 translate([-3, 0, -infty/2]) cube([6, infty, infty]);
44 off_c() rotate([0, 0, 0]) {
45 cylinder(r = main_depth + off_center, h = 12, $fn = 60);
46 //translate([0, 0, 12-eps])
47 // cylinder(r1 = 150, r2 = 0,h = 10, $fn = 60);
49 translate([-infty/2, 0, -infty/2]) cube(infty);
50 off_c_rot(ext_angle/2) translate([0, -infty/2, -infty/2]) cube(infty);
51 off_c_rot(-ext_angle/2) translate([0, -infty/2, -infty/2])
52 scale([-1, 1, 1]) cube(infty);
54 // rear-side protrusion
55 translate([-50, 1, 6])
57 cylinder(r=3, h=40, $fn=4);
58 // rear-side protrusion
61 cylinder(r=3, h=40, $fn=4);
62 // off_c() cube(1, center=true);
69 cylinder(r=3.5, h=infty);
72 translate([0,-6,-infty/2])
73 cylinder(r=1.75, h=infty, $fn=6);
75 for (angle = [-24:6:24]) {
78 render() toothbrush_hole();
81 translate([0, dist, 0])