From 038d7ce69ab3b3bd24a99f0c61ed31cae0eb89f8 Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Tue, 27 Mar 2018 17:25:09 +0200 Subject: [PATCH] bigger version of rc control horn --- rc-control-horn-big.scad | 120 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 rc-control-horn-big.scad diff --git a/rc-control-horn-big.scad b/rc-control-horn-big.scad new file mode 100644 index 0000000..bddfa97 --- /dev/null +++ b/rc-control-horn-big.scad @@ -0,0 +1,120 @@ +eps = 0.01; +infty = 100; + +foam_w = 3; + +horn_w = 1; +horn_vert_h = 3 + foam_w; +horn_h = 10 + foam_w; + +slot_off = 3.5; // from the hinge line + +slot_l = 10; + +hole_d = 2; +hole_d2 = 5; + +// base +baseplate_l = 20; +baseplate_w = 35; +baseplate_h = 0.6; + +difference() { + translate([slot_l/2 + slot_off, 0, 0]) + scale([1, baseplate_w/baseplate_l, 1]) + cylinder(r = baseplate_l/2, h = baseplate_h); + translate([slot_off - infty, -infty/2, -infty/2]) cube(infty); +} + +support_l = 1*baseplate_w; +support_w = 0.8; +support_h = foam_w; // including the baseplate +supports_d = 10; + +module support() { + hull() { + translate([0, -support_l/2, baseplate_h-eps]) + cube([support_w, support_l, eps]); + translate([0, -support_w/2, support_h - eps]) + cube([support_w, horn_w, eps]); + } +} + +/* +translate([slot_off, 0, 0]) + support(); + +translate([slot_off + slot_l - support_w, 0, 0]) + support(); +*/ + +translate([slot_off + slot_l/2 - support_w, 0, 0]) + support(); + +// bottom part of the horn +hull() { + translate([slot_off, -horn_w/2, 0]) + cube([slot_l/2 + baseplate_l/2, horn_w, baseplate_h]); + translate([slot_off, -horn_w/2, horn_vert_h]) + cube([slot_l, horn_w, eps]); +} + +difference() { + hull() { + translate([slot_off, -horn_w/2, horn_vert_h]) + cube([slot_l, horn_w, eps]); + translate([0, -horn_w/2, horn_h]) + rotate([-90, 0, 0]) + cylinder(r = hole_d2/2, h = horn_w, $fn = 6); + } + translate([0, -horn_w/2, horn_h]) + rotate([-90, 0, 0]) + translate([0, 0, -eps]) + cylinder(r = hole_d/2, h = horn_w + 2*eps, $fn = 6); +} + + + + + + + +/* +module horn() { + difference() { + hull() { + // base + translate([slot_off, 0, 0]) + cube([base_l, wall, wall]); + + for (y = [1:n_holes]) { + translate([0, hole_h -(y-1)*hole_step, 0]) + cylinder(r = hole_d/2 + hole_side, + h = wall, $fn = 6); + } + } + + for (y = [1:n_holes]) { + translate([0, hole_h -(y-1)*hole_step, -eps]) + cylinder(r = hole_d/2, h = wall + 2*eps, $fn = 6); + } + } + + + // side support + translate([slot_off, 0, 0]) + cube([base_l, wall, side_w]); + + // slot + hull() { + translate([slot_off + (base_l - slot_l)/2, -slot_depth/2, 0]) + cube([slot_l, slot_depth/2, wall]); + translate([slot_off + (base_l - slot_l)/2 + wall, -slot_depth, 0]) + cube([slot_l - 2*wall, slot_depth/2+eps, wall]); + } +} + +for (x = [-1, 1]) scale([x, 1, 1]) + translate([hole_side + hole_d/2 + 2*wall, 0, 0]) horn(); + +*/ -- 2.43.0