include $fa = 1; $fs = 0.4; module right_half_components() { cube([1,1,1]); } module right_half_orig() { translate(BASE_MODEL_TRANSLATE) scale(BASE_MODEL_SCALE) import(file = "right-half.3mf"); } // #right_half_orig(); module right_half_door_only() { translate(BASE_MODEL_TRANSLATE+[11.3, -85, -17]) scale(BASE_MODEL_SCALE) import(file = "right-half_door-only.stl"); } // #right_half_door_only(); module right_half_hinge_only() { module original() { translate(BASE_MODEL_TRANSLATE+[0.34, -12.3, -6]) scale(BASE_MODEL_SCALE) import(file = "right-half_hinge-only.3mf", convexity=3); translate(BASE_MODEL_TRANSLATE+[5.92, -12.3, -11.48]) scale(BASE_MODEL_SCALE) import(file = "right-half_connector.3mf", convexity=3); } module battery_spacer(cable_cube_additional_length) { length = 106; rotate([0, 90, 90]) cylinder(d=18.5, h=length); cable_cube = 8.25; translate([0, 0, -cable_cube]) cube([cable_cube, length+cable_cube_additional_length, cable_cube]); } // !battery_spacer(); module cable_room() { translate([3.5, 0, -3.5]) rotate([-10, 80, 90]) cylinder(d=8, h=20); translate([0, 18, 0]) rotate([0, 90, 90]) cylinder(d=8, h=20); translate([0, 0, -9.5]) cube([20, 16.5, 4]); } module base_model() { difference() { original(); translate([-20, -108.3, -10]) cube(40); translate([0, -85, 11]) battery_spacer(18); translate([0, 22.5, 11]) cable_room(); } } base_model(); // translate([0, -40, 11]) rotate([0, 0, 90]) battery(); } // right_half_hinge_only(); module right_half() { right_half_door_only(); right_half_hinge_only(); } right_half(); // #right_half_components();