From: Jan "Yenya" Kasprzak Date: Wed, 10 Apr 2019 12:29:28 +0000 (+0200) Subject: more objects for Kaze glider X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=c3c61e253fd6b44ef5093bc187a3416ff2919071;p=things.git more objects for Kaze glider --- diff --git a/wing-tube-clip-front.scad b/wing-tube-clip-front.scad new file mode 100644 index 0000000..4367e74 --- /dev/null +++ b/wing-tube-clip-front.scad @@ -0,0 +1,44 @@ +eps = 0.01; +infty = 200; + +wall = 1.5; + +tube_d = 8.0 + 0.5; +tube2_d = 6.0 + 0.5; +tube2_xoff = tube_d/2 + tube2_d/2 + 2.8 + 2; + +clip_w = tube2_d + 2*wall; + +slot_w = 3; +slot_angle = 180; + +wing_slot = 0.75*tube2_d; +wing_top_wall = 2.5; + +difference() { + hull() { + // fuse cylinder + cylinder(r = tube_d/2 + wall, h = clip_w); + // wing cylinder + translate([tube2_xoff - tube2_d/2-wall, -tube_d/2 -wall, 0]) + cube([tube2_d + wall + wing_top_wall, tube_d + 2*wall, tube2_d + 2*wall]); + } + + // fuse tube + translate([0, 0, -eps]) + cylinder(r = tube_d/2, h = clip_w + 2*eps); + + // fuse tube slot + rotate([0, 0, slot_angle]) + translate([0, -slot_w/2, -eps]) + cube([tube_d, slot_w, clip_w + 2*eps]); + + // wing tube + translate([tube2_xoff, -tube_d/2-wall-eps, tube2_d/2 + wall]) + rotate([-90, 0, 0]) + cylinder(r = tube2_d/2, h = tube_d + 2*wall + 2*eps); + + // wing tube slot + translate([tube2_xoff - wing_slot/2, -tube_d/2-wall-eps, tube2_d/2 + wall]) + cube([wing_slot, tube_d + 2*wall + 2*eps, tube2_d/2 + wall + eps]); +} diff --git a/wing-tube-clip-rear.scad b/wing-tube-clip-rear.scad new file mode 100644 index 0000000..610453f --- /dev/null +++ b/wing-tube-clip-rear.scad @@ -0,0 +1,40 @@ +eps = 0.01; +infty = 200; + +wall = 1.5; + +tube_d = 8.0 + 0.5; + +slot_w = 3; +slot_angle = 180; + +wing_xoff = tube_d/2 + 7; // bottom of the slot +wing_slot_h = 2.5; +wing_slot_w = 4; + +wing_wall = 3.0; + +clip_w = 2*wing_wall + wing_slot_w; + +difference() { + hull() { + // fuse cylinder + cylinder(r = tube_d/2 + wall, h = clip_w); + // wing clip + translate([wing_xoff, -tube_d/2 -wall, 0]) + cube([wing_slot_h + wing_wall, tube_d + 2*wall, clip_w]); + } + + // fuse tube + translate([0, 0, -eps]) + cylinder(r = tube_d/2, h = clip_w + 2*eps); + + // fuse tube slot + rotate([0, 0, slot_angle]) + translate([0, -slot_w/2, -eps]) + cube([tube_d, slot_w, clip_w + 2*eps]); + + // wing slot + translate([wing_xoff, -tube_d/2-wall-eps, wing_wall]) + cube([wing_slot_h, tube_d + 2*wall + 2*eps, wing_slot_w]); +} diff --git a/wing-tube-joint-dihedral.scad b/wing-tube-joint-dihedral.scad new file mode 100644 index 0000000..9e0f3f4 --- /dev/null +++ b/wing-tube-joint-dihedral.scad @@ -0,0 +1,13 @@ +eps = 0.01; +infty = 200; + +wing_tube_d = 8; +joint_l = 50; +dihedral = 10; + +wall = 1.5; + + +translate([-sin(dihedral)*(wing_tube_d/2+wall), 0, + joint_l*sin(dihedral) + (wing_tube_d/2+wall)*cos(dihedral)]) +rotate([0, 90+dihedral, 0]) cylinder(r = wing_tube_d/2 + wall, h = joint_l);