module main_display(){ // Outer dimensions, height currently anknown cube([55.04, 89.3, 10]); } module pad(){ // A button has 4.2 x 6 mm -> At least ~20x20 are required for the PCB cube([20, 20, 10]); } module small_display_below_main() { // https://de.aliexpress.com/item/1005003753680706.html cube([45.8, 20, 11.3]); // old i2c variant: //cube([43.5, 19.44, 4.5]); // initial dimension ideas // cube([38,16,4]); // translate([150,0,0]) cube([22,5.5,4]); } module tertiary_display() { // https://de.aliexpress.com/item/1005006034531826.html cube([80, 36, 10]); } module battery() { // 18650 with holder // cube([75, 20, 20]); rotate([0,90,0]) cylinder(d=18, h=65); } module microcontroller() { // width 32 including USB-C port length = 91.5; height = 20; battery_length = 65; delta = length - battery_length; cube([length, 32, height]); translate([delta / 2,16, 15]) battery(); } translate([0,0,7]) import("base_model/pokedex-full-assembly-v3-3mf.3mf"); #translate([-100, -100, 0]) { translate([40, -13, 0]) pad(); translate([0,20,0]) main_display(); translate([-7,-13,0]) small_display_below_main(); //translate([0,130,-8]) rotate([0,0,90]) battery(); } #translate([42,-118,0]) small_display_below_main(); #translate([-5,-118,0]) small_display_below_main(); #translate([2,-40,0]) tertiary_display(); #translate([-122,12,-8]) microcontroller();