- polyhedron(points = [
- [-clip_wall-clip_space/2, 0, clip_h1/2+clip_wall],
- [-clip_wall-clip_space/2, clip_l, clip_h2/2+clip_wall],
- [-clip_wall-clip_space/2, clip_l, -clip_h2/2],
- [-clip_wall-clip_space/2, 0, -clip_h1/2],
- [ clip_wall+clip_space/2, 0, clip_h1/2+clip_wall],
- [ clip_wall+clip_space/2, clip_l, clip_h2/2+clip_wall],
- [ clip_wall+clip_space/2, clip_l, -clip_h2/2],
- [ clip_wall+clip_space/2, 0, -clip_h1/2],
- ], triangles = [
- [0, 2, 1], [3, 2, 0], [4, 5, 6], [6, 7, 4],
- [0, 1, 5], [5, 4, 0], [2, 3, 7], [7, 6, 2],
- [1, 2, 6], [6, 5, 1], [0, 7, 3], [7, 0, 4],
- ]);
- polyhedron(points = [
- [-clip_space/2, -epsilon, clip_h1/2],
- [-clip_space/2, clip_l+epsilon, clip_h2/2],
- [-clip_space/2, clip_l+epsilon, -clip_h2/2-epsilon],
- [-clip_space/2, -epsilon, -clip_h1/2-epsilon],
- [ clip_space/2, -epsilon, clip_h1/2],
- [ clip_space/2, clip_l+epsilon, clip_h2/2],
- [ clip_space/2, clip_l+epsilon, -clip_h2/2-epsilon],
- [ clip_space/2, -epsilon, -clip_h1/2-epsilon],
- ], triangles = [
- [0, 2, 1], [3, 2, 0], [4, 5, 6], [6, 7, 4],
- [0, 1, 5], [5, 4, 0], [2, 3, 7], [7, 6, 2],
- [1, 2, 6], [6, 5, 1], [0, 7, 3], [7, 0, 4],
- ]);
- // bolt holes
- translate([0, clip_bolt1_x, 0])
- rotate([0, 90, 0])
- translate([0, 0, -clip_wall-clip_space/2-epsilon])
- cylinder(r=1.5, h=2*clip_wall+clip_space+2*epsilon);
- translate([0, clip_bolt2_x, 0])
- rotate([0, 90, 0])
- translate([0, 0, -clip_wall-clip_space/2-epsilon])
- cylinder(r=1.5, h=2*clip_wall+clip_space+2*epsilon);
- };
-
- translate([-clip_space, clip_bolt1_x, 0])
- rotate([0, -90, 0])
- bolt_mount(6, 3, 7, 14, 6);
-
- translate([-clip_space, clip_bolt2_x, 0])
- rotate([0, -90, 0])
- bolt_mount(6, 3, 7, 14, 6);
+ hull() {
+ translate([0, 0, fraen_h - pin_len])
+ cylinder(r = fraen_diam/2 + pin_diam/2 + wall_thickness,
+ h = epsilon);
+ for (angle = [0, 90, 180, 270])
+ rotate([0, 0, angle])
+ translate([rear_pin_dist, rear_pin_dist, 0])
+ cylinder(r=wall_thickness+3.75/2, h = epsilon);
+ }
+ hull() {
+ translate([0, 0, fraen_h - pin_len + epsilon])
+ cylinder(r = fraen_diam/2,
+ h = epsilon);
+ for (angle = [0, 90, 180, 270]) {
+ rotate([0, 0, angle])
+ translate([rear_pin_dist, rear_pin_dist, -epsilon])
+ cylinder(r=3.75/2, h = epsilon);
+ rotate([0, 0, angle+45])
+ translate([pin_offset, 0, fraen_h - pin_len + epsilon])
+ cylinder(r=pin_diam/2,
+ h=epsilon);
+ }
+ }
+ }
+}