chiark / gitweb /
poster-tube-lid: wip bayonet
[reprap-play.git] / poster-tube-lid.scad.pl
index 2bb7d1d5ecd989f56cc3269858ca56c2f1d93b1f..acca6430ebbf41380fe7935c580d9de7ea8447bb 100755 (executable)
@@ -4,7 +4,7 @@
 use strict;
 use autodie;
 
-print <<'END' or die $!;
+my $settings = <<'END';
 
 main_dia = 71.2 + 0.50;
 top_thick = 4;
@@ -16,7 +16,7 @@ rivet_thick = 1.67;
 rivet_width = 4.15 + 1.0;
 rivet_tall = 5.51 + 0.49;
 
-over_rivet = 0.5;
+over_rivet_gap = 0.5;
 
 bayo_interf = 0.75;
 bayo_behind = 3.5;
@@ -26,16 +26,32 @@ seal_recess = [ 2.0, 2.0 ]; // recess depth, recess height
 
 side_taper = 1.0;
 
+bayo_above_gap = 1.0;
+
 // calculated
 
 side_height = rivet_posn + bayo_behind;
-side_thick = rivet_tall + over_rivet;
+side_thick = rivet_tall + over_rivet_gap;
 
 top_z = top_thick + seal_thick;
 
+bayo_entry = bayo_behind / 3.0;
+bayo_top_z = bayo_behind + rivet_thick + over_rivet_gap;
+
 $fs=0.5;
 $fa=5;
 
+// bayonet definition
+
+bayo_polygon = [[ -bayo_entry,        -5             ],
+               [ -bayo_entry,        0              ],
+               [ 0,                  bayo_entry     ],
+               [ bayo_entry,         bayo_entry     ]];
+
+END
+
+my $mainbody = <<'END';
+
 module MainProfile(){
   main_cnr_pos = [ side_thick, top_z ] - [1,1]*main_cnr;
   translate(main_cnr_pos){
@@ -60,6 +76,11 @@ module MainProfile(){
           ]);
 }
 
-MainProfile();
+translate([-20,0]) MainProfile();
+
+polygon(bayo_polygon);
 
 END
+
+print $settings, $mainbody or die $!;
+