cleat_height = 25;
cleat_stem_l = 20;
+cleat_overlap = (1-cos(60));
+
// ---------- hhook ----------
hhook_inside = 40;
pin_hole_dia = pin_dia/2;
pin_tail = pin_hole_dia + pin_head_th + hinge_z_gap*3;
+$print_horiz = false;
+
// ========== calculated ==========
TAU = PI*2;
cleat_horn_tl = cleat_horn_l + cleat_stem_l/2;
-vcleat_dz = max(0,
- cleat_horn_tl + cleat_horn_d_min[0]/2 - total_z/2
- );
+vcleat_dz =
+ $print_horiz ? 0 : max(0,
+ cleat_horn_tl
+ + cleat_horn_d_min[0]/2
+ - cleat_horn_d_min[0]/2 * cleat_overlap
+ - total_z/2
+ );
// calculated - hhook
}
module VCleat(){
- translate([0,0, vcleat_dz]){
- difference(){
- translate([0, -(main_r + cleat_height), 0]) {
- rotate([0, -90, 90]) {
- CleatBase();
- for (m=[0,1]) {
- mirror([m,0,0]) {
- CleatHorn();
+ intersection(){
+ translate([0,0, vcleat_dz]){
+ difference(){
+ translate([0, -(main_r + cleat_height), 0]) {
+ rotate([0, -90, 90]) {
+ CleatBase();
+ for (m=[0,1]) {
+ mirror([m,0,0]) {
+ CleatHorn();
+ }
}
}
}
+ linextr(-cleat_stem_l, +cleat_stem_l)
+ circle(r = tube_dia/2 + 0.1);
}
- linextr(-cleat_stem_l, +cleat_stem_l)
- circle(r = tube_dia/2 + 0.1);
}
+ if (!$print_horiz)
+ translate([0,0, total_z * 0.5])
+ cube(center=true,
+ (main_r + cleat_stem_l)*4 * [1,1,0] +
+ total_z * [0,0,2]);
}
}
-module VCleatA(){ ////toplevel
+module VCleatA(){
DummyA();
VCleat();
}
+module VCleatAPrint(){ ////toplevel
+ rotate($print_horiz ? [90,0,0] : [0,0,0]) {
+ VCleatA();
+ }
+}
+
// ---------- hhook ----------
module HHookHookPlan(){