Browse Source

add cammount option for eachine tx06

master
Schoenberger, Philipp 6 years ago
parent
commit
5319586bb0
  1. 98
      3d/quad.scad

98
3d/quad.scad

@ -2,14 +2,15 @@ $fn = 128;
with_frame=1; with_frame=1;
with_akku=0; with_akku=0;
with_props=1;
with_props=0;
with_motor=1; with_motor=1;
with_pcbs=1;
with_pcbs=0;
with_motor_brim=1; with_motor_brim=1;
name="Malaika";
version="v1.2";
name="phschoen";
version="v1.3";
text_depth=0.5; text_depth=0.5;
with_cam=true;
motor_d = 8.75;//8.620; motor_d = 8.75;//8.620;
motor_r=motor_d/2; motor_r=motor_d/2;
@ -38,6 +39,11 @@ body_wall_thickness = 2;
body_bottom_flange = 5; body_bottom_flange = 5;
body_bottom_bridge = 6; body_bottom_bridge = 6;
cam_width = 14;
cam_angle = 20;
cam_pos = body_width/2 +5;
cam_hight = 5;
triangle_cut_height = 10; triangle_cut_height = 10;
cable_cut_width = 3; cable_cut_width = 3;
cable_cut_height = 3; cable_cut_height = 3;
@ -63,6 +69,45 @@ module triangle_cuts(h=4) {
} }
} }
module cam_tx06(with_hull = false) {
q = 20;
hcam = 13; // camera height
le = 0;
translate([ 0,0, 0]) {
color("green")
if (with_hull)
{
hull()
{
translate([ 0,-7.0, 0]) cube([0.8,14, hcam ]); // front pcb
translate([-5,-7.0, 0]) cube([0.8,14, hcam ]); // back pcb
translate([-5,-2.5,13]) cube([0.8, 5, 2 ]); // antena pcb
}
} else {
translate([ 0,-7.0, 0]) cube([0.8,14, hcam ]); // front pcb
translate([-5,-7.0, 0]) cube([0.8,14, hcam ]); // back pcb
translate([-5,-2.5,13]) cube([0.8, 5, 2 ]); // antena pcb
}
color("grey") {
translate([0.1,0, 6]) rotate([0,90,0]) cylinder(d= 8, h=6,$fn=4*q);
translate([6 ,0, 6]) rotate([0,90,0]) cylinder(d=10, h=3,$fn=4*q);
translate([-6.25,4.,12]) cube([1, 2, 2]);
translate([-4.5,5.,2]) cube([4.5, 2, 3.6]);
translate([-4,0, 15]) rotate([0,le,0]) translate([0,0, 5]) cylinder(d=3, h=28, $fn=2*q);
translate([-4,0, 15]) rotate([0,le,0]) translate([0,0, 10]) cylinder(d=5, h=10, $fn=3*q);
}
color("wheat") {
translate([-4,0, 15]) rotate([0,le,0]) cylinder(d=1.5, h=5, $fn=2*q);
}
color("silver") {
translate([-6.5,3,11]) cube([1.5, 4, 2]);
}
}
}
module pcb_flight_controller() { module pcb_flight_controller() {
flight_controller = [20, 28,2]; flight_controller = [20, 28,2];
cube(flight_controller); cube(flight_controller);
@ -171,6 +216,7 @@ module body() {
// board mount // board mount
color("red") color("red")
aligned_cube([body_width, body_width, body_height]); aligned_cube([body_width, body_width, body_height]);
} }
// board pcb cutout // board pcb cutout
@ -194,6 +240,8 @@ module body() {
// text stamp // text stamp
union() union()
{
if (with_cam == false)
{ {
rotate([0,0,90]) { rotate([0,0,90]) {
translate([0,-body_width/2+text_depth-eps,body_height/2]) translate([0,-body_width/2+text_depth-eps,body_height/2])
@ -205,6 +253,11 @@ module body() {
translate([0,-3,0]) translate([0,-3,0])
text(halign="center",valign="center", $fn=$fn, size=3,font="Linux Libertine:style=Bold", version); text(halign="center",valign="center", $fn=$fn, size=3,font="Linux Libertine:style=Bold", version);
} }
}
}else {
translate([body_width/2, 0, body_wall_thickness])
aligned_cube([10, cam_width, body_height+eps]);
} }
rotate([0,0,180]) { rotate([0,0,180]) {
translate([0,-body_width/2+text_depth-eps,body_height/2]) translate([0,-body_width/2+text_depth-eps,body_height/2])
@ -217,6 +270,37 @@ module body() {
} }
} }
color("orange")
if (with_cam) {
difference() {
translate([body_width/2, 0, 0])
{
intersection() {
rotate([0,-cam_angle,0])
aligned_cube([10, cam_width+body_wall_thickness*2, body_height], [0,1,0]);
aligned_cube([10, cam_width+body_wall_thickness*2, body_height], [0,1,0]);
}
}
translate([body_width/2+5, 0, 0])
translate([3.5,0,5])
rotate([0,90-cam_angle,0])
rotate([0,0,90])
linear_extrude(height = text_depth)
text(halign="center",valign="center", $fn=$fn, size=3,font="Linux Libertine:style=Bold", version);
rotate([0,-cam_angle,0])
translate([cam_pos,0,-8.5])
scale([1.05,1.05,1.2])
{
for (i = [0:1:10])
translate([0,0,i + cam_hight])
cam_tx06(with_hull=true);
}
}
}
} }
module quad() { module quad() {
@ -237,6 +321,12 @@ module quad() {
akku_holder(); akku_holder();
} }
} }
if (with_cam) {
translate([cam_pos, 0, 0])
rotate([0,-cam_angle,0])
translate([0, 0, cam_hight])
%cam_tx06();
}
} }
module akku_holder() { module akku_holder() {

Loading…
Cancel
Save