chiark / gitweb /
pattress-boxes-3-cover: Rename "rail" to "seatline"
[reprap-play.git] / pattress-boxes-3-cover.scad
index d3f5b12f3a075cd854fb9959bdd85729ca314ff9..d0b7e9a7194177d8bad00d5b89b428a510e2930a 100644 (file)
@@ -21,7 +21,7 @@ lid_front_wall = 1.5;
 lid_side_wall = 1.5;
 
 peg_engage_depth = 1;
-peg_engage_dia = 6.0;
+peg_engage_dia = 6.5;
 peg_main_dia = 9;
 peg_max_dia = 15;
 peg_inner_dia = 3.5;
@@ -43,13 +43,13 @@ lid_inner_min_h = lid_fatbox_overlap + lid_fatbox_switches_h;
 
 lid_inner_kink = [thinbox_len, thinbox_len*2];
 
-lid_inner_w = patbox_side + lid_side_slop;
+lid_inner_w = patbox_side + lid_side_slop * 2;
 
-lid_rail_w = (lid_inner_w - lid_max_switches_w)/2 - lid_switches_y_slop;
+lid_seatline_w = (lid_inner_w - lid_max_switches_w)/2 - lid_switches_y_slop;
 
-lid_rail_h = lid_fatbox_switches_h;
+lid_seatline_h = lid_fatbox_switches_h;
 
-echo(lid_rail_w);
+echo(lid_seatline_w);
 
 peg_main_height = peg_straight_len + (peg_max_dia - peg_main_dia)/2/peg_slope;
 
@@ -72,9 +72,9 @@ module LidSide(){
     linear_extrude(height= lid_side_wall)
     LidSideProfile();
 
-  // rail
+  // seatline
   translate(-overlap)
-    cube(overlap + [total_len, lid_rail_w, lid_rail_h]);
+    cube(overlap + [total_len, lid_seatline_w, lid_seatline_h]);
 
   // lid front
   translate([-0.1, -0.1, -lid_front_wall])
@@ -102,6 +102,39 @@ module Peg(){
     PegProfile();
 }
 
+module AtFixingCentres(){
+  for (fc=[-1,+1]) {
+    translate([patbox_side/2 + fc*patbox_centres/2,
+              patbox_side/2,
+              0])
+      children();
+  }
+}
+
+module TopPattressBox(){
+  difference(){
+    translate([0,0, -lid_thinbox_h])
+      cube([patbox_side, patbox_side, lid_thinbox_h]);
+    AtFixingCentres(){
+      translate([0,0,-10]) cylinder(r=peg_engage_dia/2, h=20);
+    }
+  }
+}
+
+module Demo(){
+  translate([0, -lid_inner_w/2, 0]) LidSide();
+  translate([0,0, lid_fatbox_h])
+    rotate([0,180,0]) translate([0, -patbox_side/2, 0])
+    rotate([0,0,90]) union(){
+      %TopPattressBox();
+      color("blue") AtFixingCentres(){
+       rotate([180,0,0]) Peg();
+      }
+  }
+}
+
 //LidSide();
 //PegProfile();
-Peg();
+//Peg();
+//TopPattressBox();
+Demo();