X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=rc-control-horn-long.scad;h=8d3f5cd9e3646735608aa83f6024a420628c3df4;hb=HEAD;hp=c98fe8738fec796f7b053f9db839185f8a5ef126;hpb=58bc6ba706538103c5e1db2402b2821c04136df9;p=things.git diff --git a/rc-control-horn-long.scad b/rc-control-horn-long.scad index c98fe87..8d3f5cd 100644 --- a/rc-control-horn-long.scad +++ b/rc-control-horn-long.scad @@ -1,55 +1,70 @@ eps = 0.01; infty = 100; -wall = 1; +/* Quasar elevons */ +/* +slot_off_x = 8; +slot_off_z = 0; +horn_l = 40; +slot_depth_front = 6; +slot_depth_rear = 2.5; +base_angle = 0; +top_hole_h = 18; +*/ +/* Quasar rudder */ slot_off_x = 8; -slot_off_y = 8; +slot_off_z = -2.5; +horn_l = 40; +slot_depth_front = 8; +slot_depth_rear = 5; +base_angle = 0; +top_hole_h = 18; -slot_l = 30; -slot_depth_front = 6; -slot_depth_rear = 2; +wall = 1; -hole_h = 20; -hole_d = 1.5; -hole_step = 1.8*hole_d; +hole_d = 1.6; +hole_step = 3; n_holes = 3; -base_angle = 5; hole_side = 2*wall; -module horn() { - difference() { +module horn_body() { + // slot + hull() { + translate([slot_off_x, slot_off_z, 0]) + cube([eps, slot_depth_front, wall]); + translate([horn_l - eps, slot_off_z, 0]) + cube([eps, slot_depth_rear, wall]); + } hull() { // base - rotate([0, 0, base_angle]) { - translate([slot_off_x, slot_depth_front-eps, 0]) + translate([slot_off_x, + slot_depth_front+slot_off_z-eps, 0]) cube([eps, eps, wall]); - translate([slot_off_x + slot_l - eps, slot_depth_rear-eps, 0]) + translate([horn_l - eps, + slot_depth_rear+slot_off_z-eps, 0]) cube([eps, eps, wall]); - } - for (y = [1:n_holes]) { - translate([0, hole_h -(y-1)*hole_step, 0]) + rotate([0, 0, -base_angle]) for (y = [1:n_holes]) { + translate([0, top_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]) +module horn() { + difference() { + horn_body(); + // holes + rotate([0, 0, -base_angle]) for (y = [1:n_holes]) { + translate([0, top_hole_h -(y-1)*hole_step, -eps]) cylinder(r = hole_d/2, h = wall + 2*eps, $fn = 6); } } - // slot - rotate([0, 0, base_angle]) hull() { - translate([slot_off_x, 0, 0]) - cube([eps, slot_depth_front, wall]); - translate([slot_off_x + slot_l - eps, 0, 0]) - cube([eps, slot_depth_rear, wall]); - } } horn();