chiark / gitweb /
velux-window-grip: wip combine
[reprap-play.git] / velux-window-grip.scad
index ea1edea04d1f8e308f37a042dd7958241f42b198..3835074b54c5a31d4619f94ff98ae6587c633a82 100644 (file)
@@ -2,25 +2,51 @@
 
 include <funcs.scad>
 
+// MainLoop
+
 main_thick = 3.3;
-main_in_dia = 28.9 + 0.5;
+main_in_dia = 28.9;
 
-horn_ext_dia = 20 - 0.5; //?
+horn_ext_dia = 20 - 0.5;
 
-horn_c_x = -6; //?
-horn_c_dy= -4; //?
+horn_c_x = -4.6;
+horn_c_dy= -4;
 
-blhook_start_ang = 40; //?
+blhook_start_ang = 45;
 
-blhook_str_len = 5.4;
-blhook_mid_rad = 3.5; //?
+blhook_str_len = 2.9;
+blhook_mid_rad = 3.5;
 
 width = 20;
 
+// Attach
+
+at_bolt_into = 13.0 + 0.5;
+at_tube_dia = 12.2 + 0.5;
+at_prong_minw = 4;
+at_rear_thick = 4.5;
+at_bolt_dia = 5 + 0.5;
+
+at_rear_width = at_tube_dia;
+at_stem_len = main_in_dia/2 * 0.3;
+
+at_prong_depth = at_bolt_into * 2;
+at_gap_width = at_tube_dia * 0.75;
+
+// computed
+
 mc_mid_rad = main_in_dia/2 + main_thick/2;
 
 mc_bl = circle_point([0,0], mc_mid_rad, 270-blhook_start_ang);
 
+at_block_x = at_tube_dia + at_prong_minw * 2;
+at_block_y = at_prong_depth + at_rear_thick;
+at_block_z = width;
+
+at_stem_yy = at_stem_len + mc_mid_rad;
+
+at_offset_y = at_block_y + at_stem_len + mc_mid_rad;
+
 $fs=0.05;
 
 horn_thick = main_thick;
@@ -78,5 +104,34 @@ module MainLoopTest(){
     MainLoop();
 }
 
-MainLoopTest();
+module Attach(){
+  difference(){
+    translate([0, at_block_y/2, 0])
+      cube(center=true, [at_block_x, at_block_y, at_block_z]);
+    translate([0, at_prong_depth/2-1, 0])
+      cube(center=true, [at_gap_width, at_prong_depth+2, at_block_z+1]);
+    translate([0,-1,0])
+      rotate([-90,0,0])
+      cylinder(r= at_tube_dia/2, h= at_prong_depth+1);
+    translate([-50, at_prong_depth-at_bolt_into, 0])
+      rotate([0,90,0])
+      cylinder(r= at_bolt_dia/2, h= 100);
+  }
+  difference(){
+    translate([0, at_block_y + at_stem_yy/2 - 0.1, 0])
+      cube(center=true, [at_tube_dia, at_stem_yy + 0.2, at_block_z]);
+    translate([0, at_offset_y, -50])
+      cylinder(r = mc_mid_rad, 100);
+  }
+}
+
+module Combine(){
+  linear_extrude(height=width)
+    translate([0,at_offset_y,0])
+    MainLoop();
+  translate([0,0, width/2])
+    Attach();
+}
 
+Attach();
+//Combine();