GeigerCounterEnclosure/Main.scad
2021-08-28 18:03:33 +02:00

68 lines
1.7 KiB
OpenSCAD

include <BOSL/constants.scad>
use <BOSL/transforms.scad>
use <SensorBox.scad>
use <BatteryBank.scad>
use <ServoGauge.scad>
use <Vitamins.scad>
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();
}