|
@@ -237,13 +237,13 @@ module sphear_upper_windscreen(sides, height, radius, beam_radius, conn_radius,
|
|
|
}
|
|
}
|
|
|
// bottom ring, prevents connectors to lower frame from toppling when printing
|
|
// bottom ring, prevents connectors to lower frame from toppling when printing
|
|
|
difference() {
|
|
difference() {
|
|
|
- scale([1.0, 1.0, 1.5]) rotate_extrude(convexity = 10, $fn = facets/2) {
|
|
|
|
|
|
|
+ scale([1.0, 1.0, 1.85]) rotate_extrude(convexity = 10, $fn = facets/2) {
|
|
|
translate([radius, 0, 0]) {
|
|
translate([radius, 0, 0]) {
|
|
|
- circle(r = wall, $fn = facets/2);
|
|
|
|
|
|
|
+ circle(r = beam_radius * 1.25, $fn = facets/2);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- translate([0, 0, -2 * wall]) {
|
|
|
|
|
- cylinder(r = radius + wall, h = 2 * wall + thin_mint, $fn = facets/2);
|
|
|
|
|
|
|
+ translate([0, 0, -4 * beam_radius]) {
|
|
|
|
|
+ cylinder(r = radius + beam_radius * 1.25, h = 4 * beam_radius + thin_mint, $fn = facets/2);
|
|
|
}
|
|
}
|
|
|
for (r = [1:360/sides:360]) rotate([0, 0, r]) {
|
|
for (r = [1:360/sides:360]) rotate([0, 0, r]) {
|
|
|
translate([radius, -beam_radius/2, -2]) {
|
|
translate([radius, -beam_radius/2, -2]) {
|
|
@@ -251,6 +251,24 @@ module sphear_upper_windscreen(sides, height, radius, beam_radius, conn_radius,
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ // workaround for adhesion problems to the build plate (hack)
|
|
|
|
|
+ // build a ring
|
|
|
|
|
+ r_h = 0.4;
|
|
|
|
|
+ difference() {
|
|
|
|
|
+ cylinder(r = radius + 8 * wall, h = r_h, $fn = facets/2);
|
|
|
|
|
+ translate([0, 0, -2*thin_mint]) cylinder(r = radius + 4 * wall, h = r_h + 4 * thin_mint, $fn = facets/2);
|
|
|
|
|
+ }
|
|
|
|
|
+ // and connect it to the windscreen
|
|
|
|
|
+ for (r = [1:360/sides:360]) rotate([0, 0, r]) {
|
|
|
|
|
+ translate([radius + conn_radius - beam_radius/2, -1, 0]) {
|
|
|
|
|
+ cube([4 * wall, 1, r_h]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ for (r = [360/(sides*2):360/sides:360]) rotate([0, 0, r]) {
|
|
|
|
|
+ translate([radius + wall, -1, 0]) {
|
|
|
|
|
+ cube([4 * wall, 1, r_h]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
// crossing reinforcements
|
|
// crossing reinforcements
|
|
|
// first mid crossing
|
|
// first mid crossing
|