68 lines
1.7 KiB
OpenSCAD
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();
|
||
|
}
|