From 62d4b4de354d9551fb9a33ebb48e80ddd806b0df Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Wed, 10 Apr 2019 14:28:37 +0200 Subject: [PATCH] printed modifications --- fin-joiner.scad | 6 +- servo-tube-holder-half-center.scad | 38 +++++----- servo-tube-holder-half-side.scad | 4 +- wing-tube-joint.scad | 113 ++++++++++++++++++++++------- 4 files changed, 110 insertions(+), 51 deletions(-) diff --git a/fin-joiner.scad b/fin-joiner.scad index f295762..53e0711 100644 --- a/fin-joiner.scad +++ b/fin-joiner.scad @@ -4,14 +4,14 @@ infty = 200; wall = 1.5; thin_wall = 0.6; -stab_tube_d = 2.0 + 0.5; +stab_tube_d = 2.0 + 0.8; stab_tube_l = 15; stab_tube_off = 4; stab_tube_wall = 1.0; pulley_d = 8; -fuse_tube_d = 8.0; +fuse_tube_d = 8.0 + 0.2; fuse_tube_l = 12; slot_w = 4; @@ -41,7 +41,7 @@ module body() { translate([fuse_tube_d/2 + wall/2, -thin_wall/2, fuse_tube_l - eps]) cube([eps, thin_wall, eps]); translate([fuse_tube_d/2 + wall/2, -3*stab_tube_wall/2, stab_tube_d+1.5*stab_tube_wall]) - cube([eps, 3*stab_tube_wall, eps]); + cube([slot_w+wall, 3*stab_tube_wall, stab_tube_off]); } } diff --git a/servo-tube-holder-half-center.scad b/servo-tube-holder-half-center.scad index 3a22793..6baa16c 100644 --- a/servo-tube-holder-half-center.scad +++ b/servo-tube-holder-half-center.scad @@ -5,24 +5,25 @@ wall = 1.0; tube_d = 8.0 + 0.5; -clip_w = 6; - slot_w = 3; -support_l = 12; -servo_w = 12.5; +servo_w = 12.5+0.5; +servo_side_l = 5 - 0.5; + +clip_w = servo_side_l + wall; -cable_w = 5; -cable_zoff = 2; +servo_zoff = 14 + 2.0 + tube_d/2; +servo_screw_hole = 1.2; +servo_slot_z = 2 + 0.5; -module clip(support_zoff) { +module clip() { difference() { hull() { // clip cylinder cylinder(r = tube_d/2 + wall, h = clip_w); // under the servo - translate([-servo_w/2-wall, tube_d/2+support_zoff, 0]) - cube([servo_w+2*wall, support_l + wall, clip_w]); + translate([-servo_w/2-wall, servo_zoff-wall, 0]) + cube([servo_w+2*wall, servo_slot_z + 2*wall, clip_w]); } // fuse tube @@ -34,18 +35,17 @@ difference() { cube([slot_w, tube_d, clip_w + 2*eps]); // servo - translate([-servo_w/2, tube_d/2+support_zoff+wall, wall]) - cube([servo_w, support_l + eps, clip_w]); - // cable hole - translate([-cable_w/2, tube_d/2+support_zoff+cable_zoff+wall, -eps]) - cube([cable_w, support_l + eps, clip_w]); + translate([-servo_w/2, servo_zoff, wall]) + cube([servo_w, servo_slot_z, clip_w]); + + // screw hole + translate([0, 0, wall + 0.6*servo_side_l]) + rotate([-90, 0, 0]) + cylinder(r = servo_screw_hole/2, h = infty, $fn = 6); } } for (x = [-1, 1]) scale([x, 1, 1]) -translate([servo_w, tube_d, 0]) - clip(support_zoff = 0); +translate([servo_w/2+2*wall, 0, 0]) +clip(); -for (x = [-1, 1]) scale([x, -1, 1]) -translate([servo_w, tube_d, 0]) - clip(support_zoff = 3); diff --git a/servo-tube-holder-half-side.scad b/servo-tube-holder-half-side.scad index d3a596b..f309500 100644 --- a/servo-tube-holder-half-side.scad +++ b/servo-tube-holder-half-side.scad @@ -12,8 +12,8 @@ slot_w = 3; servo_w = 12.5+0.5; servo_zoff = 16 + 2.0-tube_d/2-servo_w/2; // od stredu trubice po osu otaceni -servo_xoff = 11 - 4.0 - tube_d/2; -servo_slot_z = 2.5 + 0.3; +servo_slot_z = 2.5 + 0.1; +servo_xoff = -servo_slot_z/2; servo_screw_hole = 1.2; module main() { diff --git a/wing-tube-joint.scad b/wing-tube-joint.scad index e3322db..95ceef3 100644 --- a/wing-tube-joint.scad +++ b/wing-tube-joint.scad @@ -4,37 +4,96 @@ infty = 200; wall = 1.5; thin_wall = 0.6; -fuse_tube_d = 8.0; -fuse_tube_l = 4; - -slot_w = 5; - -base_w = 60; -base_l = 25; - -module body() { - hull() { -// translate([-fuse_tube_d/2-wall, -fuse_tube_l/2, 0]) -// cube([fuse_tube_d + 2*wall, fuse_tube_l, fuse_tube_d + 2*wall]); - translate([0, fuse_tube_l/2, fuse_tube_d/2+wall]) - rotate([90, 0, 0]) - cylinder(r = fuse_tube_d/2+wall, h = fuse_tube_l); - translate([-fuse_tube_d/2-wall, -base_l/2+wall/2, 0]) - cube([fuse_tube_d + 2*wall, base_l-wall, thin_wall]); +tube_d = 8.0 + 0.2; +base_w = 65; +base_l = 30; + +tube_d = 6 + 0.1; +tube_zoff = 3; + +base_w = 65; +base_l = 30; + +tube_l = base_l; +base_overhang = 0.9; // factor of base_w, base_l + +tube_zoff = 2; + +module polyhole(r1, h1, fn) { + rotate([0,0,180]) + cylinder(h = h1, r = r1 / cos (180 / fn), $fn = fn); +} + +module body(tube_zoff) { + // base + // scale([1, base_l/base_w, 1]) + // cylinder(r = base_w/2, h = thin_wall); + translate([-base_w/2, -base_l/2, 0]) cube([base_w, base_l, thin_wall]); + + // diagonal supports + for (x = [-1,1]) + for (y = [-1,1]) + scale([x, y, 1]) hull() { + translate([base_overhang*base_w/2-thin_wall/2, base_overhang*base_l/2-thin_wall/2, 0]) + cylinder(r = thin_wall/2, h = thin_wall, $fn = 16); + translate([0, -tube_l/3+thin_wall/2, 0]) + cylinder(r = thin_wall/2, h = tube_zoff + tube_d, $fn = 16); + } + + // side supports + for (x = [-1,1]) + for (y = [-1,1]) + scale([x, y, 1]) hull() { + translate([base_overhang*base_w/2-thin_wall/2, base_overhang*base_l/2-thin_wall/2, 0]) + cylinder(r = thin_wall/2, h = thin_wall, $fn = 16); + translate([0, tube_l/2-thin_wall/2, 0]) + cylinder(r = thin_wall/2, h = tube_zoff + tube_d, $fn = 16); + } + + // under the tube supports + for (y = [-1,1]) + scale([1, y, 1]) hull() { + translate([0, base_overhang*base_l/2, 0]) + cylinder(r = thin_wall/2, h = thin_wall, $fn = 16); + translate([-thin_wall/2, 0, 0]) + cube([thin_wall, tube_l/2, tube_zoff]); + } + + // side bottom tube supports + for (x = [-1,1]) + scale([x, 1, 1]) { + translate([tube_d/2, -tube_l/2, 0]) + cube([wall, tube_l, tube_zoff + tube_d/2]); + translate([tube_d/2+wall, -wall, 0]) + cube([wall, 2*wall, tube_zoff + tube_d/2]); + } + + // upper cylinder clip + translate([0, -tube_l/2, tube_d/2 + tube_zoff]) + intersection() { + rotate([-90, 0, 0]) union() { + cylinder(r = tube_d/2 + wall, h = tube_l, $fn = 16); + translate([0, 0, tube_l/2 - wall]) + cylinder(r = tube_d/2 + 2*wall, + h = 2*wall); + } + translate([-tube_d/2-2*wall, 0, 0]) + cube([tube_d + 4*wall, tube_l, tube_d]); } - scale([1, base_l/base_w, 1]) - cylinder(r = base_w/2, h = thin_wall); } -module holder() { +module wing_tube_support(tube_zoff) { difference() { - body(); - translate([0, infty/2, fuse_tube_d/2+wall]) - rotate([90, 0, 0]) - cylinder(r = fuse_tube_d/2, h = infty + 2*eps); - translate([-slot_w/2, -infty/2, fuse_tube_d/2+wall]) - cube([slot_w, infty, fuse_tube_d/2+wall+eps]); + body(tube_zoff); + // main tube + translate([0, -base_l/2-eps, tube_d/2+tube_zoff]) + rotate([-90, 0, 0]) + polyhole(tube_d/2, base_l + 2*eps, 6); + // cylinder(r = tube_d/2, h = base_l + 2*eps, $fn = 6); + // upper clip + translate([-infty/2, -infty/2, tube_zoff + tube_d + wall]) + cube(infty); } } -holder(); +wing_tube_support(tube_zoff); -- 2.43.0