You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

68 lines
1.7 KiB

  1. include <BOSL/constants.scad>
  2. use <BOSL/transforms.scad>
  3. use <SensorBox.scad>
  4. use <BatteryBank.scad>
  5. use <ServoGauge.scad>
  6. use <Vitamins.scad>
  7. module joiner_box_battery() {
  8. up(9) fwd(35) cube([90, 2, 14], center=true);
  9. }
  10. module pathway_box_battery() {
  11. up(12) fwd(35) left(38) cube([12, 10, 6], center=true);
  12. up(12) fwd(32) right(10) cube([90, 2, 6], center=true);
  13. }
  14. module pathway_box_servo() {
  15. up(8) fwd(0) right(58) cube([12, 45, 6], center=true);
  16. }
  17. model = 0;
  18. function isModel(m) = (model == 0 || m == model);
  19. sb_x = 72;
  20. pb_x = 0;
  21. pb_y = 47;
  22. if (isModel(1)) {
  23. difference() {
  24. union() {
  25. difference() {
  26. model_box();
  27. right(sb_x) model_servo_box();
  28. }
  29. joiner_box_battery();
  30. fwd(pb_y) right(pb_x) zrot(180) model_bank_bottom();
  31. fwd(0) right(sb_x) {
  32. difference() {
  33. model_servo_box_bottom();
  34. up(12) fwd(get_servo_box_size().y/2 - 4) {
  35. left(6) xrot(90) {
  36. %switch();
  37. switch();
  38. }
  39. right(6) xrot(90) {
  40. %switch();
  41. switch();
  42. }
  43. right(18) xrot(90) {
  44. %switch();
  45. switch();
  46. }
  47. }
  48. }
  49. }
  50. }
  51. pathway_box_battery();
  52. pathway_box_servo();
  53. }
  54. }
  55. if (isModel(2)) {
  56. fwd(pb_y) right(pb_x) zrot(180) model_bank_top();
  57. }
  58. if (isModel(3)) {
  59. right(sb_x) model_servo_box_top();
  60. }