Procházet zdrojové kódy

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 před 8 roky
rodič
revize
11da86eafc
1 změnil soubory, kde provedl 22 přidání a 4 odebrání
  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