|
|
round_quality = 100; show_faceplate = true;
if(show_faceplate) { // Basic structures
translate([-30,-80,0]) gimbal_unit_face(); translate([0,0,0]) pi_screen(); translate([100,0,0]) m5stack(); translate([95,-80,0]) gimbal_unit_face(); // Spacers
difference() { spacers(); // Power Switch 1
translate([20,-80,0]) cube([11,16,5], center=true); // Power Switch 2
translate([45,-80,0]) cube([11,16,5], center=true); // Screw Holes
translate([-70,38,0]) cylinder($fn=round_quality, h=5, d=5, center=true); translate([-70,-38,0]) cylinder($fn=round_quality, h=5, d=5, center=true); translate([-70,-110,0]) cylinder($fn=round_quality, h=5, d=5, center=true); translate([70,38,0]) cylinder($fn=round_quality, h=5, d=5, center=true); translate([70,-38,0]) cylinder($fn=round_quality, h=5, d=5, center=true); translate([133,-110,0]) cylinder($fn=round_quality, h=5, d=5, center=true); translate([133,-38,0]) cylinder($fn=round_quality, h=5, d=5, center=true); translate([133,38,0]) cylinder($fn=round_quality, h=5, d=5, center=true); translate([33,-110,0]) cylinder($fn=round_quality, h=5, d=5, center=true); } // Ruler
// translate([30,-48,0])
// cube([360,2,2], center=true);
// Display Decor
translate([0,0,3]) difference() { cube([130,86,5], center=true); cube([121,76,8], center=true); } // M5Stack Decor
translate([100,0,3]) difference() { translate([0,0,0]) cube([55,55,5], center=true); translate([0,0,0]) cube([50,50,8], center=true); } // Pi Screen and M5Stack Links
translate([0,0,3]) { translate([70,0,0]) cube([10,5,2], center=true); translate([70,10,0]) cube([10,5,2], center=true); translate([70,20,0]) cube([10,5,2], center=true); translate([70,-20,0]) cube([10,5,2], center=true); translate([70,-10,0]) cube([10,5,2], center=true); } } // End of show_faceplate
// Gimbal Decor
translate([17,-55,-20]) gimbal_ring(); translate([143,-55,-20]) gimbal_ring();
/**
translate([-125,-8,0]) gimbal_unit_face(); translate([125,-8,0]) gimbal_unit_face(); translate([0,0,0]) pi_screen(); translate([0,-72,0]) m5stack();
// Bridges
translate([0,0,0]) face_bridges(); **/
module spacers() { translate([-70,0,0]) cube([10,86,2], center=true); translate([68,0,0]) cube([10,86,2], center=true); translate([132,0,0]) cube([10,86,2], center=true); translate([100,35,0]) cube([55,16,2], center=true); translate([100,-35,0]) cube([55,16,2], center=true); translate([31,-44,0]) cube([212,5,2], center=true); translate([30,-80,0]) cube([60,70,2], center=true); translate([-70,-80,0]) cube([10,70,2], center=true); translate([132,-80,0]) cube([10,70,2], center=true); }
module face_bridges() { translate([-80,0,0]) cube([30,86,2], center=true); translate([80,0,0]) cube([30,86,2], center=true); translate([0,48,0]) cube([190,10,2], center=true); translate([0,-48,0]) difference() { cube([320,10,2], center=true); translate([0,-25,1]) m5stack_solid(); } }
module m5stack_solid() { cube([55,55,10], center=true); }
module m5stack() { difference() { translate([0,0,0]) cube([55,55,2], center=true); translate([0,0,0]) cube([50,50,3], center=true); } }
// 121mm x 76mm (hole)
module pi_screen() { difference() { translate([0,0,0]) cube([130,86,2], center=true); translate([0,0,0]) cube([121,76,3], center=true); } }
module gimbal_unit_face() { translate([0,0,0]) { // Top
difference() { translate([0,0,0]) rotate([0,0,0]) cube([70,70,2], center=true);
// Frsky M9 Gimbal
translate([0,0,0]) rotate([0,0,0]) cylinder($fn=round_quality, h=5,d=49, center=true);
// Frsky M9 Screen Top Left
translate([-27.25,27.25,0]) rotate([0,0,0]) cylinder($fn=round_quality, h=5,d=5.6, center=true);
// Frsky M9 Screen Top Right
translate([27.25,27.25,0]) rotate([0,0,0]) cylinder($fn=round_quality, h=5,d=5.6, center=true);
// Frsky M9 Screen Bottom Left
translate([-27.25,-27.25,0]) rotate([0,0,0]) cylinder($fn=round_quality, h=5,d=5.6, center=true);
// Frsky M9 Screen Bottom Right
translate([27.25,-27.25,0]) rotate([0,0,0]) cylinder($fn=round_quality, h=5,d=5.6, center=true); /*
translate([0,0,0]) rotate([0,0,0]) cube([77,51,4], center=true); */ } }
// Just a ruler
/***
translate([-13.9,-44.4]) cube([100,10,10], center=true); ***/
}
module gimbal_ring_full() { translate([-47,-25,23.5]) cylinder(h=5, d=64.5, center=true, $fn=round_quality); translate([-71,-49,23.5]) rotate([0,0,45]) difference() { cube([15,10,5], center=true); translate([-9,0,2]) rotate([0,-15,0]) cube([25,15,5], center=true);
translate([-4,0,0]) cylinder(h=10, d=3.5, center=true, $fn=round_quality);
translate([-4,0,0]) cylinder(h=3, d=5.6, center=true, $fn=round_quality); } translate([-23,-49,23.5]) mirror([-1,0,0]) { rotate([0,0,45]) difference() { cube([15,10,5], center=true); translate([-9,0,2]) rotate([0,-15,0]) cube([25,15,5], center=true);
translate([-4,0,0]) cylinder(h=10, d=3.5, center=true, $fn=round_quality);
translate([-4,0,0]) cylinder(h=3, d=5.6, center=true, $fn=round_quality); } } translate([-71,-0.8,23.5]) mirror([0,-1,0]) { rotate([0,0,45]) difference() { cube([15,10,5], center=true); translate([-9,0,2]) rotate([0,-15,0]) cube([25,15,5], center=true);
translate([-4,0,0]) cylinder(h=10, d=3.5, center=true, $fn=round_quality);
translate([-4,0,0]) cylinder(h=3, d=5.6, center=true, $fn=round_quality); } } translate([-22.5,-0.5,23.5]) mirror([-1,-1,0]) { rotate([0,0,45]) difference() { cube([15,10,5], center=true); translate([-9,0,2]) rotate([0,-15,0]) cube([25,15,5], center=true);
translate([-4,0,0]) cylinder(h=10, d=3.5, center=true, $fn=round_quality);
translate([-4,0,0]) cylinder(h=3, d=5.6, center=true, $fn=round_quality); } } }
module gimbal_ring() { difference() { gimbal_ring_full();
translate([-47,-25,23.5]) cylinder(h=6, d1=47.5, d2=57.5, center=true, $fn=round_quality); } }
|