include <utils.scad>
hole_dia = 10;
-around_hole = 5;
-thick = 4;
+around_hole = 4;
+thick = 3;
lever_len = 50;
teeth_n = 4;
teeth_gap = 3;
teeth_back = 1;
teeth_height = 12;
+teeth_chamfer = 3;
+
+// calculated
+
+teeth_x_mid = lever_len/2 - hole_dia/2 - teeth_bite - teeth_gap*1.5;
+teeth_height_total = teeth_height + teeth_chamfer;
module Circles(r) {
for (x = [-1,+1] * 0.5 * lever_len) {
Circles(hole_dia/2 + around_hole);
}
Circles(hole_dia/2);
+ translate([ teeth_x_mid - teeth_bite - teeth_back - teeth_gap - hole_dia/2,
+ 0 ])
+ circle(hole_dia/2);
}
}
module TeethPlan(){
translate([
- lever_len/2 - hole_dia/2 - teeth_bite - teeth_gap*1.5,
+ teeth_x_mid,
-0.5 * teeth_n * teeth_pitch,
]) {
for (m=[0,1]) {
module Adjuster(){
linextr(0,thick)
Plan();
- linextr(thick - 0.1, thick + teeth_height)
- TeethPlan();
+ difference(){
+ linextr(thick - 0.1, thick + teeth_height_total)
+ TeethPlan();
+ translate([ teeth_x_mid, 0, thick + teeth_height_total + 1])
+ linextr_y_xz(-teeth_pitch * teeth_n,
+ +teeth_pitch * teeth_n)
+ rotate(45)
+ square(sqrt(2) * (teeth_gap/2 + teeth_chamfer + 1), center=true);
+ }
}
Adjuster();