include use use use use use module joiner_box_battery() { up(9) fwd(35) cube([90, 2, 14], center=true); } module pathway_box_battery() { up(12) fwd(35) left(38) cube([12, 10, 6], center=true); up(12) fwd(32) right(10) cube([90, 2, 6], center=true); } module pathway_box_servo() { up(8) fwd(0) right(58) cube([12, 45, 6], center=true); } model = 0; function isModel(m) = (model == 0 || m == model); sb_x = 72; pb_x = 0; pb_y = 47; if (isModel(1)) { difference() { union() { difference() { model_box(); right(sb_x) model_servo_box(); } joiner_box_battery(); fwd(pb_y) right(pb_x) zrot(180) model_bank_bottom(); fwd(0) right(sb_x) { difference() { model_servo_box_bottom(); up(12) fwd(get_servo_box_size().y/2 - 4) { left(6) xrot(90) { %switch(); switch(); } right(6) xrot(90) { %switch(); switch(); } right(18) xrot(90) { %switch(); switch(); } } } } } pathway_box_battery(); pathway_box_servo(); } } if (isModel(2)) { fwd(pb_y) right(pb_x) zrot(180) model_bank_top(); } if (isModel(3)) { right(sb_x) model_servo_box_top(); }