|
@@ -220,7 +220,7 @@ module one_pcb_slot (pcb_w, pcb_l, pcb_t, slot_d, front, back, test = false) {
|
|
|
module rounded_octagon(height, radius) {
|
|
module rounded_octagon(height, radius) {
|
|
|
intersection() {
|
|
intersection() {
|
|
|
cylinder(r = radius, h = height, $fn = 8);
|
|
cylinder(r = radius, h = height, $fn = 8);
|
|
|
- cylinder(r = radius - wall, h = height, $fn = facets);
|
|
|
|
|
|
|
+ cylinder(r = radius - wall, h = height + thin_mint, $fn = facets);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -870,14 +870,15 @@ module octa_shock_mount_internal_ring(height, radius, band_height, corner, gap)
|
|
|
difference() {
|
|
difference() {
|
|
|
// columns
|
|
// columns
|
|
|
union() {
|
|
union() {
|
|
|
- translate([3, 0, 0]) scale([1.2, 0.75, 1.0]) cylinder(r = 3, h = height, $fn = facets);
|
|
|
|
|
|
|
+ translate([3, 0, 0]) rotate([0, 0, 45]) scale([1.2, 0.85, 1.0])
|
|
|
|
|
+ cylinder(r = 3, h = height, $fn = facets);
|
|
|
}
|
|
}
|
|
|
// lower slots for rubber bands
|
|
// lower slots for rubber bands
|
|
|
- translate([3, radius/2, 0]) scale([1.0, 1.0, 3.0]) rotate([90, 0, 0]) {
|
|
|
|
|
|
|
+ rotate([0, 0, 45]) translate([2.5, radius/2, 0]) scale([1.0, 1.0, 3.0]) rotate([90, 0, 0]) {
|
|
|
cylinder(r = 1.2, h = radius * 2, $fn = facets);
|
|
cylinder(r = 1.2, h = radius * 2, $fn = facets);
|
|
|
}
|
|
}
|
|
|
// upper slots for rubber bands
|
|
// upper slots for rubber bands
|
|
|
- translate([3, radius/2, height]) scale([1.0, 1.0, 3.0]) rotate([90, 0, 0]) {
|
|
|
|
|
|
|
+ rotate([0, 0, 45]) translate([2.5, radius/2, height]) scale([1.0, 1.0, 3.0]) rotate([90, 0, 0]) {
|
|
|
cylinder(r = 1.2, h = radius * 2, $fn = facets);
|
|
cylinder(r = 1.2, h = radius * 2, $fn = facets);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -896,33 +897,34 @@ module octa_shock_mount_external_ring(height, radius, corner, gap) {
|
|
|
rotate([0, 0, 22.5]) rounded_octagon_wall(ring_ext_height, 2 * radius - ring_wall, ring_wall);
|
|
rotate([0, 0, 22.5]) rounded_octagon_wall(ring_ext_height, 2 * radius - ring_wall, ring_wall);
|
|
|
for (rot = [0, 90, 180, 270]) {
|
|
for (rot = [0, 90, 180, 270]) {
|
|
|
// anchors for rubber bands
|
|
// anchors for rubber bands
|
|
|
- rotate([0, 0, rot]) {
|
|
|
|
|
- translate([radius + gap + 2 * ring_wall, -7.5, 0]) {
|
|
|
|
|
- cube([4, 15, ring_ext_height]);
|
|
|
|
|
|
|
+ rotate([0, 0, rot + 45]) {
|
|
|
|
|
+ translate([radius + gap + 3 * ring_wall, -7.5, 0]) {
|
|
|
|
|
+ minkowski() {
|
|
|
|
|
+ cube([4 - 2, 15, ring_ext_height]);
|
|
|
|
|
+ cylinder(r = 1.5, h = thin_mint, $fn = facets);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
translate([radius + gap + ring_wall, -2, 0]) {
|
|
translate([radius + gap + ring_wall, -2, 0]) {
|
|
|
cube([7, 4, ring_ext_height]);
|
|
cube([7, 4, ring_ext_height]);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- // connection to stand mount
|
|
|
|
|
- intersection() {
|
|
|
|
|
- translate([ring_arm_gap, 0, 0]) {
|
|
|
|
|
- rotate([0, 0, 22.5]) rounded_octagon_wall(ring_ext_height, 2 * radius - ring_wall, ring_wall);
|
|
|
|
|
- }
|
|
|
|
|
- translate([ring_arm_gap / 2, -(radius + 2 * corner), 0]) {
|
|
|
|
|
- cube([(radius + 2 * corner) + ring_arm_gap, 2 * (radius + 2 * corner), ring_ext_height]);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
// connection to hub
|
|
// connection to hub
|
|
|
- translate([radius + corner + ring_arm_gap - 0.7, -2, 0]) {
|
|
|
|
|
|
|
+ translate([radius + corner - 0.7, -2, 0]) {
|
|
|
cube([10, 4, ring_ext_height * 2]);
|
|
cube([10, 4, ring_ext_height * 2]);
|
|
|
}
|
|
}
|
|
|
|
|
+ // reinforcement
|
|
|
|
|
+ intersection() {
|
|
|
|
|
+ rotate([0, 0, 22.5]) rounded_octagon_wall(ring_ext_height * 2, 2 * radius - ring_wall, ring_wall);
|
|
|
|
|
+ translate([radius * 2 - 10.25, 0, 0]) {
|
|
|
|
|
+ rotate([0, 0, 45]) cylinder(r1 = 2 * radius, r2 = ring_wall/2 + 1, h = ring_ext_height * 2, $fn = 4);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
// rotating mount
|
|
// rotating mount
|
|
|
o_rad = 8;
|
|
o_rad = 8;
|
|
|
i_rad = 3;
|
|
i_rad = 3;
|
|
|
rotate([0, 90, -90]) {
|
|
rotate([0, 90, -90]) {
|
|
|
- translate([-o_rad, radius + corner + ring_arm_gap + o_rad + 2 * ring_wall, -2]) {
|
|
|
|
|
|
|
+ translate([-o_rad, radius + corner + o_rad + 2 * ring_wall, -2]) {
|
|
|
shock_mount_ring(o_rad, i_rad, ring_wall);
|
|
shock_mount_ring(o_rad, i_rad, ring_wall);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|