Jelajahi Sumber

change size of lower windscreen ring to be bigger, otherwise there are problems with adhesion of the first layer of the print and most prints fail

Fernando Pablo Lopez-Lezcano 8 tahun lalu
induk
melakukan
11da86eafc
1 mengubah file dengan 22 tambahan dan 4 penghapusan
  1. 22 4
      SpHEAR_windscreen.scad

+ 22 - 4
SpHEAR_windscreen.scad

@@ -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
          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]) {
-                    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]) {
                 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
     // first mid crossing