bayo_interf_width = 2.0;
bayo_interf_slope = 0.75;
-seal_thick = 0.1;
seal_recess = [ 2.0, 2.0 ]; // recess depth, recess height
+oring_thick = 5.0;
+oring_bore = 62.0;
+
+oring_upper_embed_angle = 45;
+oring_compress = 0.1; // proportion
+
side_taper = 1.0;
bayo_above_gap = 1.0;
bayo_inramp_x = bayo_entry;
bayo_inramp_z = bayo_entry;
+oring_mid_dia = oring_bore + oring_thick;
+oring_outer_dia = oring_mid_dia + oring_thick;
+
+seal_thick = (1 - oring_compress) * oring_thick/2
+ * (1 + cos(oring_upper_embed_angle));
+
side_height = rivet_posn + bayo_behind + rivet_thick/2;
side_thick = rivet_tall + over_rivet_wall;
module MainProfile(){
main_cnr_pos = [ side_thick, top_z ] - [1,1]*main_cnr;
- translate(main_cnr_pos){
- intersection(){
- difference(){
- circle(r = main_cnr);
- circle(r = main_cnr * 0.5);
+ difference(){
+ union(){
+ translate(main_cnr_pos){
+ intersection(){
+ difference(){
+ circle(r = main_cnr);
+ circle(r = main_cnr * 0.5);
+ }
+ square([10,10]);
+ }
}
- square([10,10]);
+ polygon([[ -1, seal_thick ],
+ [ -1, top_z ],
+ [ main_cnr_pos[0], top_z ],
+ [ side_thick, main_cnr_pos[1] ],
+ [ side_thick, -side_height ],
+ [ side_taper, -side_height ],
+ [ 0, -rivet_posn ],
+ [ 0, -(seal_recess[0] + seal_recess[1]) ],
+ [ seal_recess[0], -(seal_recess[0]) ],
+ [ seal_recess[0], seal_thick ],
+ ],
+ convexity=10);
}
}
- polygon([[ -1, seal_thick ],
- [ -1, top_z ],
- [ main_cnr_pos[0], top_z ],
- [ side_thick, main_cnr_pos[1] ],
- [ side_thick, -side_height ],
- [ side_taper, -side_height ],
- [ 0, -rivet_posn ],
- [ 0, -(seal_recess[0] + seal_recess[1]) ],
- [ seal_recess[0], -(seal_recess[0]) ],
- [ seal_recess[0], seal_thick ],
- ],
- convexity=10);
}
module RotateProjectSlice(offset, slice_size, nom_rad, real_rad){
polygon(bayo_polygon, convexity=10);
}
-module ProfilesDemo(){
+module ProfilesDemo(){ ////toplevel
translate([-20,0]) MainProfile();
polygon(bayo_polygon, convexity=10);
}