Преглед изворни кода

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 година
родитељ
комит
11da86eafc
1 измењених фајлова са 22 додато и 4 уклоњено
  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