include; include; use; use ; use; use<3D_printed_parts.scad>; module pi3() { // PCB color("DarkGreen") difference() { hull() { translate([-(85-6)/2,-(56-6)/2,0]) cylinder(r=3, h=1.4 ); translate([-(85-6)/2, (56-6)/2,0]) cylinder(r=3, h=1.4 ); translate([ (85-6)/2,-(56-6)/2,0]) cylinder(r=3, h=1.4 ); translate([ (85-6)/2, (56-6)/2,0]) cylinder(r=3, h=1.4 ); } translate([-85/2+3.5,-49/2,-1]) cylinder(d=2.75, h=3); translate([-85/2+3.5, 49/2,-1]) cylinder(d=2.75, h=3); translate([58-85/2+3.5,-49/2,-1]) cylinder(d=2.75, h=3); translate([58-85/2+3.5, 49/2,-1]) cylinder(d=2.75, h=3); } // Header translate([3.5-85/2+29-10*2.54,49/2-2.54,1.4]) header(20,2); translate([-85/2,-56/2,1.4]) { color("LightGrey") { // Ethernet translate([85-19,11.5-16/2,0]) cube([21,16,13.8]); // USB translate([85-15, 29-13/2,0]) cube([17,13,15.5]); translate([85-15, 47-13/2,0]) cube([17,13,15.5]); // micro USB translate([10.6-8/2,-1.5,0]) cube([8,6,2.6]); // HDMI translate([32-15/2,-1.5,0]) cube([15,11.5,6.6]); } color("DarkSlateGray") { // Audio translate([53.5-7/2,-2,0]) { translate([0,2,0]) cube([7,13,5.6]); translate([7/2,0,5.6/2])rotate([-90,0,0]) cylinder(d=5.6,h=2); } // Display translate([1.1,(49-22)/2,0]) cube([4,22,5.5]); // Camera translate([45-4/2,1.1,0]) cube([4,22,5.5]); } // Micro SD Card color("LightGrey") translate([0,22,-2.9]) cube([13,14,1.5]); color("Red") translate([-2.4,23.5,-2.65]) cube([2.4,11,1]); } } module header(pins, rows) { color("darkgrey") cube([2.54*pins,2.54*rows,1.27]); for(x=[0:pins-1],y=[0:rows-1]) translate([x*2.54+(1.27+.6)/2,y*2.54+(1.27+.6)/2,-3.5]) cube([0.6,0.6,11.5]); } module navio2(){ translate([0,0,13.4]) { // PCB color("Black",1) difference(){ translate([(65-85)/2,0,0]) hull(){ translate([-(65-6)/2,-(56-6)/2,0]) cylinder(r=3, h=1.4 ); translate([-(65-6)/2, (56-6)/2,0]) cylinder(r=3, h=1.4 ); translate([ (65-6)/2,-(56-6)/2,0]) cylinder(r=3, h=1.4 ); translate([ (65-6)/2, (56-6)/2,0]) cylinder(r=3, h=1.4 ); } translate([-85/2+3.5,-49/2,-1]) cylinder(d=2.75, h=3); translate([-85/2+3.5, 49/2,-1]) cylinder(d=2.75, h=3); translate([58-85/2+3.5,-49/2,-1]) cylinder(d=2.75, h=3); translate([58-85/2+3.5, 49/2,-1]) cylinder(d=2.75, h=3); } // Header down translate([3.5-85/2+29-10*2.54,49/2-2.54,-8]) color("darkgrey",0.8) cube([2.54*20,5.08,8]); // Header up translate([3.5-85/2+29-10*2.54,49/2-2.54,1]) color("darkgrey") cube([2.54*20,5.08,3]); // Pin rack translate([-37.5,0,2]) rotate([0,0,180]) angle_header(rows=15,cols=3,pitch=2); // GPS antenna plug translate([10,-5,5]) color("Gold") union(){ cylinder(h=5,r=2,center=true); translate([0,0,-3]) cube([6,6,4],center=true); } //Thing 1 color("darkgrey",1) translate([8,10,3]) cube([13,8,3],center=true); //Arrow translate([0,0,3]) rotate([0,0,-90]) color("White") polygon( points=[[0,0],[1,1],[2,0],[1,3]] ); //UART translate([5,-25,5]) color("White") cube([9,4,3],center=true); //I2C translate([-9,-25,5]) color("White") cube([4.5,4,3],center=true); //ADC translate([-18,-25,5]) color("White") cube([9,4,3],center=true); //Power translate([-30,-25,5]) color("White") cube([9,4,3],center=true); } } module angle_header(rows,cols,pitch){ offsety=((cols+1)*pitch)-((cols+1)*pitch)/2; offsetx=-1*((rows-1)/2*pitch); rotate([0,90,0]) translate([0,offsetx,offsety]) union(){ for(j=[0:1:cols-1]){ translate([-1*pitch*j,0,0]) for(i=[0:1:rows-1]){ translate([0,pitch*i,0])angle_pin(pitch,j); } } } } module angle_pin(pitch=2.54,col=0){ rotate([90,0,0])corner(r=pitch, s=pitch, p=pitch,column=col); translate([-pitch,0,0])h_pin(p=pitch); } module corner(r=1,s=1,p=2.54,column=0){ s=p/4+0.005; w=(r<1)?1:r*2; h=p*4-0.5; d=s/2; if(column==0){ translate([0,-1*(p+d),d])rotate([0,90,0])cube([s,s,p],center=false); translate([p,-p,0])rotate([0,-90,0])mirror([0,0,d]) rotate([0,0,45])cylinder($fn=4,r1=sqrt(2*pow(d,2)),r2=0,h=d,center=false); difference(){ rotate_extrude($fn=100,angle=90)translate([r,0,0])square(s,center=true); translate([0,0,-0.1]) union(){ translate([0,0,-1])cube([w+0.1,w+0.1,w]); translate([0,-w,-1])cube([w+0.1,w+0.1,w]); translate([-w,0,-1])cube([w+0.1,w+0.1,w]); } } translate([0,-1*(p+d),d])rotate([0,90,0])cube([s,s,p],center=false); translate([p,-p,0]) rotate([0,-90,0]) mirror([0,0,d]) rotate([0,0,45])cylinder($fn=4,r1=sqrt(2*pow(d,2)),r2=0,h=d,center=false); }else{ translate([-1*(p+d),0,-d])rotate([90,0,0])cube([s,s,p*column],center=false); translate([0,-column*p,0]) difference(){ rotate_extrude($fn=100,angle=90)translate([r,0,0])square(s,center=true); translate([0,0,-0.1]) union(){ translate([0,0,-1])cube([w+0.1,w+0.1,w]); translate([0,-w,-1])cube([w+0.1,w+0.1,w]); translate([-w,0,-1])cube([w+0.1,w+0.1,w]); } } translate([0,-1*(column+1)*p-d,d])rotate([0,90,0]) cube([s,s,(column+1)*p],center=false); translate([(column+1)*p,-1*(column+1)*p,0]) rotate([0,-90,0])mirror([0,0,d])rotate([0,0,45]) cylinder($fn=4,r1=sqrt(2*pow(d,2)),r2=0,h=d,center=false); } } module h_pin(p=2.54){ s=p/4+0.005; h=p*4-0.5; base=h/3; d=s/2; union(){ color("gold")union(){ translate([0,0,h])rotate([0,0,45]) cylinder($fn=4,r1=sqrt(2*pow(d,2)),r2=0,h=d,center=false); translate([-d,-d,0])cube([s,s,h],center=false); } color("Dimgray")difference(){ translate([0,0,base+d])cube([p,p,p],center=true); union(){ translate([1.9*s,1.9*s,base+d])rotate([0,0,45]) cylinder($fn=3,r=2*d,h=p+1,center=true); translate([1.9*s,-1.9*s,base+d-0.15])rotate([0,0,-45]) cylinder($fn=3,r=2*d,h=p+1,center=true); translate([-1.9*s,-1.9*s,base+d-0.3])rotate([0,0,180+45]) cylinder($fn=3,r=2*d,h=p+1,center=true); translate([-1.9*s,1.9*s,base+d-0.3])rotate([0,0,180-45]) cylinder($fn=3,r=2*d,h=p+1,center=true); } } } } module battery_central(){ radius_battery = 10; color("DarkSlateGray",0.9) union(){ cube([battery_central_width,battery_central_length-2*radius_battery,battery_central_height],center=true); for(i=[-1,1]){ translate([0,i*(0.5*battery_central_length-0.5*radius_battery),0]){ cube([battery_central_width-2*radius_battery,radius_battery,battery_central_height],center=true); } for(j=[-1,1]){ translate([i*(0.5*battery_central_width-radius_battery),j*(0.5*battery_central_length-radius_battery),0]){ cylinder(h=battery_central_height,r=radius_battery,center=true); } } } } translate([-0.25*battery_central_width,0,0]) color("Red",1) electric_cable_battery_central(0.3); for(i=[0:3]){ translate([(-0.24+0.01*i)*battery_central_width,0,0]) color("Black",1) electric_cable_battery_central(0.3); } translate([0.25*battery_central_width,0,0]) color("Black",1) electric_cable_battery_central(1); translate([0.20*battery_central_width,0,0]) color("Red",1) electric_cable_battery_central(1); color([1,0,0,1]) translate([battery_central_width*0.5,-35,0]){ rotate([90,0,90]){ text("Lipo battery"); } } translate([-0.23*battery_central_width,10,0]) color("Gold",1) JST_XH_connector(); translate([0.225*battery_central_width,10,0]) color("Gold",1) XT90_connector(); } module electric_cable_battery_central(alpha){ translate([0,-0.5*battery_central_length,0.5*battery_central_height-8]) rotate([0,90,0]) rotate_extrude(angle=-180, convexity=10) translate([10, 0]) circle(alpha); translate([0,-0.5*battery_central_length+10,0.5*battery_central_height+2]) rotate([90,0,0]) cylinder(h=20,r=alpha,center=true); } module XT90_connector(){ translate([0,-0.5*battery_central_length+10,0.5*battery_central_height+2.8]) cube([10,10,5],center=true); } module JST_XH_connector(){ translate([0,-0.5*battery_central_length+10,0.5*battery_central_height+2.1]) cube([10,2,2.5],center=true); } module board_wood(){ color("BurlyWood") difference(){ hull(){ for(i=[-1,1]){ for(j=[-1,1]){ translate([i*(0.5*wood_board_lx-wood_board_r),j*(0.5*wood_board_ly-wood_board_r),0]) cylinder(h = wood_board_lz,r = wood_board_r,center=true,$fn=25); } } } for(i=[0:42]){ translate([0,215-i*10,0]) cube([25,3,20],center=true); } for(i=[-1,1]){ for(j=[0,1]){ translate([30*i,130-j*170,0]) cube([3,150,20],center=true); } } for(i=[-1,1]){ for(j=[0:2]){ translate([30*i,-140-32*j,0]) cylinder(h=10,r=8,center=true); } } } //translate([0,-209,-5]) //linear_extrude(10) //text("Board V1",font="Stencil:style=Regular",halign ="center" ,valign ="center",size = 15); } module junction_board_wing(){ color("Red",0.9) difference(){ hull(){ for(i=[-1,1]){ for(j=[-1,1]){ translate([i*carbon_square_side,j*carbon_square_side,0]) cylinder(h=12*carbon_square_side,r=0.5*carbon_square_side); } } } translate([0,0,10.5*carbon_square_side]) rotate([0,0,90]) carbon_tube_square(carbon_square_side,tube_carbon_length ); translate([-2*carbon_square_side,0,2*carbon_square_side]) cube([4*carbon_square_side,4*carbon_square_side,wood_board_lz],center=true); } } module junction_right_left_wing(){ color("Red",0.9) rotate([0,90,0]) difference(){ hull(){ for(i=[-1,1]){ for(j=[-1,1]){ translate([i*carbon_square_side,j*carbon_square_side,0]) cylinder(h=60,r=0.5*carbon_square_side,center=true); } } } for(i=[-1,1]) translate([0,0,i*(0.5*tube_carbon_length+10)]) rotate([90,0,0]) carbon_tube_square(carbon_square_side,tube_carbon_length ); } } module sensor_1(){ color("OrangeRed",0.9) translate([0,0,sensor_1_lz*0.5+2.5]) cube([sensor_1_lx,sensor_1_ly,sensor_1_lz],center=true); translate([-17,-0.5*sensor_1_ly,5]) rotate([90,-45,0]) text("Sensor 1"); } module sensor_2(){ color("OrangeRed",0.9) translate([0,0,sensor_2_lz*0.5+2.5]){ cube([sensor_2_lx,sensor_2_ly,sensor_2_lz],center=true); } translate([-20,17,sensor_2_lz+2.5]){ rotate([0,0,-45]){ text("Sensor 2"); } } } module fuselage_rib(){ hull(){ translate([0,-290,0]) rotate([90,0,90]) airfoil(naca = 0025, L = 500, N=101, h = 50, open = false); translate([0,290,0]) rotate([180,0,0]) rotate([90,0,90]) airfoil(naca = 0025, L = 500, N=101, h = 50, open = false); } } module fuselage_rib_inside(){ color("SteelBlue",0.5) difference(){ fuselage_rib(); translate([-50,0,0]){ scale([3,0.8,0.8]) fuselage_rib(); } for(i=[0,1]) translate([0,250,20-i*45]){ rotate([0,0,90]){ carbon_tube_square(carbon_square_side,tube_carbon_length ); } } } } module fuselage_rib_outside(){ color("SteelBlue",0.5) difference(){ fuselage_rib(); for(i=[0,1]){ translate([-0.5*tube_carbon_length+25,250,20-i*45]){ rotate([0,0,90]){ carbon_tube_square(carbon_square_side,tube_carbon_length ); } } } for(i=[0:3]){ translate([0,-50+i*50,carbon_z-fuselage_rib_inside_z]){ rotate([0,0,90]){ carbon_tube_square(carbon_square_side,tube_carbon_length ); } } } } } module full_fuselage(){ color("Navy",0.5) union(){ hull(){ for(i=[-1,1]){ for(j=[0,1]){ translate([65*i,-75,60-j*90]) rotate([90,0,0]) cylinder(h=200,r=10,center=true); } } translate([0,-300,10]) scale([2,3,1.5]){ sphere(r=30); } translate([0,100,10]) scale([2,3,1.5]){ sphere(r=30); } } for(i=[-2,-1,0,1]) translate([25+50*i,-50,40]) rib_full_foam(); } } module fuselage_central_right_part(){ difference(){ full_fuselage(); translate([150,0,0]) cube([200,1000,200],center=true); translate([-100,0,0]) cube([200,1000,200],center=true); } } module fuselage_central_right(){ //color("Navy",0.5) color("SteelBlue") difference(){ fuselage_central_right_part(); hull(){ translate([25,0,45]) rotate([0,90,0]) cylinder(h=70,r=20,center =true); translate([25,125,10]) rotate([0,90,0]) cylinder(h=70,r=20,center =true); translate([25,-150,45]) rotate([0,90,0]) cylinder(h=70,r=20,center =true); translate([25,-310,10]) rotate([0,90,0]) cylinder(h=70,r=15,center =true); translate([25,-210,-15]) rotate([0,90,0]) cylinder(h=70,r=15,center =true); translate([25,0,-15]) rotate([0,90,0]) cylinder(h=70,r=15,center =true); } } } module fuselage_right(){ //color("Navy",0.5) color("SteelBlue") difference(){ full_fuselage(); translate([-200,0,0]) cube([500,1000,200],center=true); } } module mold_snow_landing_gear_upper(){ difference(){ // union(){ // translate([0,-250,0]) //cylinder(h=25,r=50,center=true); cube([100,500,25],center=true); //} translate([0,-230.1,7.4]){ rotate([0,90,0]) difference(){ translate([10,-10,0]) cube([20,20,120],center=true); cylinder(h=140,r=20,center=true); } } } } module drone_left(){ // Junction board wing distance_1 = 0.5*wood_board_lx; // for(i=[0:3]){ // translate([distance_1,-150+i*50,carbon_z-10.5*carbon_square_side]){ // junction_board_wing(); // } // } for(i=[0:3]){ translate([distance_1,-150+i*50,carbon_z]){ rotate([0,0,90]){ fastener_carbon_upper_v1(); fastener_carbon_lower_extended_vertical_v1(); } } } fuselage_right(); fuselage_central_right(); // Rib fuselage outside // distance_2 = 0; // //distance_2 = distance_1 + 1.5*carbon_square_side+0.5*fuselage_rib_outside_lx; // translate([distance_2,-100,fuselage_rib_inside_z]){ // fuselage_rib_inside(); // } // distance_3 = distance_2+50; // //distance_2 = distance_1 + 1.5*carbon_square_side+0.5*fuselage_rib_outside_lx; // translate([distance_3,-100,fuselage_rib_inside_z]){ // fuselage_rib_inside(); // } distance_4 = distance_3+50; //distance_2 = distance_1 + 1.5*carbon_square_side+0.5*fuselage_rib_outside_lx; // translate([distance_4,-100,fuselage_rib_inside_z]){ // fuselage_rib_outside(); // } } module fuselage_boom(){ color("SteelBlue") rotate([-90,0,0]) difference(){ translate([0,-10,0]) scale([15,25,1]) cylinder(h=50,r=1,center=true); translate([0,-20,0]) cylinder(h=60,r=carbon_square_side,center=true); rotate([90,0,0]) carbon_tube_square(carbon_square_side,tube_carbon_length); } } module fuselage_wing_front(){ difference(){ translate([0,0,-15]) hull(){ for(i=[-1,1]) for(j=[-1,1]) translate([-10*i,0,30*j]) rotate([90,0,0]) cylinder(h=50,r=10,center=true); } //cube([40,50,80],center=true); carbon_tube_square(carbon_square_side,tube_carbon_length); hull(){ translate([0,0,-20]) rotate([90,0,0]) cylinder(h=60,r=10,center=true); translate([0,0,-30]) rotate([90,0,0]) cylinder(h=60,r=10,center=true); } } } module fuselage_wing_bottom(){ difference(){ translate([0,0,-15]) hull(){ for(i=[-1,1]) for(j=[-1,1]) translate([-10*i,0,30*j]) rotate([90,0,0]) cylinder(h=50,r=10,center=true); } cube([60,60,80],center=true); } } module fuselage_wing_top(){ difference(){ translate([0,0,-15]) hull(){ for(i=[-1,1]) for(j=[-1,1]) translate([-10*i,0,30*j]) rotate([90,0,0]) cylinder(h=50,r=10,center=true); } translate([0,0,-30]) cube([60,60,80],center=true); } } module fuselage_central_wing_section(){ difference(){ hull(){ for(i=[-1,1]) for(j=[-1,1]) translate([-50*i,0,40*j]) rotate([90,0,0]) cylinder(h=50,r=25,center=true); } hull(){ for(i=[-1,1]) for(j=[-1,1]) translate([20*i,0,20*j]) rotate([90,0,0]) cylinder(h=60,r=25,center=true); } for(j=[-1,1]){ translate([62.5*j,-70,carbon_z-30]) scale([1.1,1,1.1]) carbon_tube_square(carbon_square_side,tube_carbon_length*0.5 ); translate([62.5*j,-70,carbon_z-95]) scale([1.1,1,1.1]) carbon_tube_square(carbon_square_side,tube_carbon_length*0.5 ); } } } module fuselage_central_wing_section_lower(){ difference(){ hull(){ for(i=[-1,1]) for(j=[-1,1]) translate([-50*i,0,40*j]) rotate([90,0,0]) cylinder(h=50,r=25,center=true); } hull(){ for(i=[-1,1]) for(j=[-1,1]) translate([20*i,0,20*j]) rotate([90,0,0]) cylinder(h=60,r=25,center=true); } translate([0,0,50]) cube([200,100,100],center=true); for(j=[-1,1]){ translate([62.5*j,-70,carbon_z-95]) scale([1.1,1,1.1]) carbon_tube_square(carbon_square_side,tube_carbon_length*0.5 ); } } } module fuselage_central_wing_section_top(){ difference(){ hull(){ for(i=[-1,1]) for(j=[-1,1]) translate([-50*i,0,40*j]) rotate([90,0,0]) cylinder(h=50,r=25,center=true); } hull(){ for(i=[-1,1]) for(j=[-1,1]) translate([20*i,0,20*j]) rotate([90,0,0]) cylinder(h=60,r=25,center=true); } translate([0,0,-22]) cube([200,100,120],center=true); for(j=[-1,1]){ translate([62.5*j,-70,carbon_z-30]) scale([1.1,1,1.1]) carbon_tube_square(carbon_square_side,tube_carbon_length*0.5 ); } } } module fuselage_central_nose(){ hull(){ for(i=[-1,1]) for(j=[-1,1]) translate([-50*i,0,40*j]) rotate([90,0,0]) cylinder(h=5,r=25,center=true,$fn=50); for(i=[-1,1]){ for(j=[-1,1]){ translate([-50*i,-25,40*j]){ rotate([90,0,0]) sphere(r=25,$fn=50); } } } translate([0,-150,0]) scale([1,1,2]) sphere(r=25,$fn=50); } } module fuselage_central_nose_hollow(){ difference(){ fuselage_central_nose(); translate([0,10,0]) scale([0.95,0.95,0.95]) fuselage_central_nose(); } } module fuselage_central_nose_half_ellipsoid(){ difference(){ scale([1.5,3,2]){ sphere(r=50); } scale([1.4,2.9,1.9]){ sphere(r=50); } translate([0,200,0]) cube([400,400,400],center=true); } } module fuselage_central_test_ellipse_cylinder(){ difference(){ scale([1.5,3,2]){ rotate([90,0,0]) cylinder(h=150,r=50,center=true); } scale([1.4,3.1,1.9]){ rotate([90,0,0]) cylinder(h=150,r=50,center=true); } } } module fuselage_wood(){ union(){ cube([5,600,100],center=true); translate([0,300,0]) rotate([0,90,0]) cylinder(h=5,r=50,center=true); translate([0,-300,0]) rotate([0,90,0]){ hull(){ scale([1,5,1]) cylinder(h=5,r=50,center=true); translate([-50,0,0]) scale([1,3,1]) cylinder(h=5,r=50,center=true); } } } } //fuselage_wood(); module fuselage_wood_cover_tape(){ color("BurlyWood") difference(){ fuselage_wood(); for(i=[0:3]){ translate([0,50+i*50,25]){ rotate([0,0,90]){ carbon_tube_square(carbon_square_side,tube_carbon_length ); } } } for(i=[0:3]){ translate([0,75+i*50,25]){ rotate([0,90,0]){ hull(){ cylinder(h=10,r=12,center=true); translate([-5,0,0]) cylinder(h=10,r=12,center=true); } } } } for(i=[-1,1]) translate([0,-75,20*i]) rotate([0,90,0]) cylinder(h=10,r=15,center=true); for(i=[0,300]) translate([0,i,0]) rotate([0,90,0]) cylinder(h=10,r=40,center=true); for(i=[0:3]){ translate([0,75+50*i,0]){ // translate([0,0,15]) // cube([10,15,40],center=true); translate([0,0,-15]) rotate([0,90,0]) cylinder(h=10,r=20,center=true); }} translate([0,-300,0]){ rotate([0,90,0]){ hull(){ translate([-3,0,0]) scale([0.8,4,0.8]) cylinder(h=10,r=50,center=true); translate([-45,0,0]) scale([0.8,2,0.8]) cylinder(h=10,r=50,center=true); } } } //Upper slots translate([0,-125,50]) cube([10,1.6,20],center=true); translate([0,-120,40.4]) cube([10,10,0.8],center=true); translate([0,-115,42.5]) cube([10,0.8,5],center=true); //Lower slots translate([0,-125,-50]) cube([10,1.6,20],center=true); translate([0,-120,-40.4]) cube([10,10,0.8],center=true); translate([0,-115,-42.5]) cube([10,0.8,5],center=true); translate([0,-130,-40.4]) cube([10,10,0.8],center=true); translate([0,-135,-42.5]) cube([10,0.8,5],center=true); } } module landing_gear_water_V1(){ difference(){ cube([100,500,50],center=true); for(i=[-1,1]) translate([25*i,200,30]) rotate([0,15*i,0]) cube([100,500,50],center=true); for(i=[-1,1]) translate([25*i,-200,40]) rotate([0,15*i,0]) cube([100,500,50],center=true); for(i=[-1,1]) translate([100*i,-45,0]) rotate([0,0,5*i]) cube([100,700,100],center=true); translate([0,-50,-25]) difference(){ translate([0,-150,0]) cube([150,300,150],center=true); scale([1.25,4,1]) sphere(50); } } } module foam_boom_after_motor_hood(){ // color([1,0,0,0.5]) difference(){ translate([0,0,0]) rotate([90,0,0]){ cylinder(h=50,r=40,$fn=100,center=true); } scale([1.05,1,1.05]) carbon_tube_square(carbon_square_side,tube_carbon_length ); translate([0,0,23.5]) rotate([90,0,0]) cylinder(h=200,r=10,center=true); } } module foam_boom_mushroom_front(){ difference(){ translate([0,0,0]) hull(){ rotate([90,0,0]){ cylinder(h=50,r=40,$fn=100,center=true); } translate([0,0,-25-20]) rotate([0,90,0]) cylinder(h=40,r=25,$fn=100,center=true); translate([0,12.5,-37.5-20]) cube([40,25,25],center=true); } scale([1.05,1,1.05]) carbon_tube_square(carbon_square_side,tube_carbon_length ); for(i=[-1,1]){ translate([20*i,0,15]) scale([1.05,1,1.05]) carbon_tube_square(carbon_square_side,tube_carbon_length ); } translate([0,0,23.5]) rotate([90,0,0]) cylinder(h=200,r=10,center=true); for(i=[-1,1]) translate([40*i,0,-50]) cube([50,70,100],center=true); } } module foam_boom_hollow(){ difference(){ translate([0,0,0]) rotate([90,0,0]){ // union(){ cylinder(h=50,r=40,$fn=100,center=true); // cube([40,50,50],center=true); // } } for(i=[-1,1]){ translate([20*i,0,15]) scale([1.05,1,1.05]) carbon_tube_square(carbon_square_side,tube_carbon_length ); } translate([0,0,23.5]) rotate([90,0,0]) cylinder(h=200,r=11,center=true); translate([0,0,-25]) cube([200,70,50],center=true); cube([22,70,50],center=true); } } module fuselage_flexible_front(){ union() cube([130,980,0.8],center=true); cube([140,960,0.8],center=true); } module fuselage_flexible_rear(){ cube([140,1080,0.8],center=true); } projection(cut=true) // fuselage_flexible_rear(); fuselage_flexible_front(); //projection(cut=true) //rotate([0,90,0]) //fuselage_wood_cover_tape(); //translate([0,100,0]) //foam_boom_hollow(); //translate([0,50,0]) //foam_boom_mushroom_front(); //foam_boom_after_motor_hood(); //landing_gear_water_V1(); // translate([77.5,-50-150,70-12]) //fuselage_wood_cover_tape(); //fuselage_wood(); //fuselage_central_test_ellipse_cylinder(); //translate([0,-150,0]) //fuselage_central_nose_half_ellipsoid(); //fuselage_central_nose_hollow(); //fuselage_central_wing_section(); //fuselage_central_wing_section_top(); //fuselage_wing_top(); //translate([0,50,0]) //fuselage_boom(); //translate([400,0,0]) //mold_snow_landing_gear_upper(); //fuselage_central_right_part(); //full_fuselage(); /*CARBON TUBES*/ // // translate([0,-50,carbon_z]){ // rotate([0,0,90]){ // carbon_tube_square(carbon_square_side,tube_carbon_length ); // } // } // // // // // //for(i=[0,1,3]){ // translate([0,-150+i*50,carbon_z]){ // junction_right_left_wing(); // for(j=[-1,1]){ // translate([j*(0.5*tube_carbon_length+10),0,0]){ // rotate([0,0,90]){ // carbon_tube_square(carbon_square_side,tube_carbon_length ); // } // } // } // } //} // ///* ELECTRONIC AND WOOD BOARD*/ //translate([0,-100,carbon_z-2.5*carbon_square_side]){ // rotate([0,180,0]){ // Board // translate([0,15,0]) //projection(cut=true) //board_wood(); //// Battery //translate([0,130,battery_central_height*0.5+2.5]) //rotate([0,90,0]) //battery_central(); //// Autopilot unit //translate([0,-120,0]){ // // Raspbarry pi 3 // translate([0,0,2.5]) // rotate([0,0,-90]) // pi3(); // // Navio2 // rotate([0,0,-90]) // navio2(); //} //// Sensor 1 //translate([0,-190,0]){ //sensor_1(); //} // Sensor 2 //translate([0,160,0]){ //sensor_2(); //} //} //} ///*MIROR MODULE*/ //fuselage_rib_inside_z = 13.5; // //drone_left(); //mirror([1,0,0]) //drone_left();