ソースを参照

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