summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Huwald <jh@sotun.de>2015-07-02 11:09:48 (GMT)
committerJan Huwald <jh@sotun.de>2015-07-02 11:09:48 (GMT)
commit3cabb5508d728a5613a028fe8dce62f42b73662e (patch)
tree3173d13299759fb66d3680c18e099f4128431292
parentc73c717dc03abfde2c1ba0505f755af4ac1e5b70 (diff)
add cargo bed, replace frame stub with board implementation
-rw-r--r--lasttretrad.scad43
1 files changed, 37 insertions, 6 deletions
diff --git a/lasttretrad.scad b/lasttretrad.scad
index 6c9e2d8..f0dd6a0 100644
--- a/lasttretrad.scad
+++ b/lasttretrad.scad
@@ -1,16 +1,46 @@
use <wheel.scad>;
+// total outer dimension of the lasttretrad
+ltr_length = 3000;
+ltr_width = 1000;
+ltr_height = 160;
+
+bed_height = 18;
+
module frame() {
- l=3000;
- w=1000;
- h=160;
- translate([-l/2, -w/2, 0])
- cube([l, w, h]);
+ board_width=25;
+ board_height=120;
+ bessel=sqrt(3/2) -1;
+
+ // translate([-l/2, -w/2, 0])
+ // cube([l, w, h]);
+ translate([0, 0, -board_height - bed_height]) {
+ // front/back boards
+ for (pos = [-0.9, -0.4, 0, 0.4, 0.9])
+ translate([pos * (ltr_length - board_width)/2 - board_width + board_width/2, -ltr_width/2, 0])
+ cube([board_width, ltr_width, board_height]);
+
+ // left/right boards
+
+ // Positioned at the bessel points (yields minimal mean bend
+ // assuming equal load on the cargo bed); see
+ // https://de.wikipedia.org/wiki/Bessel-Punkt
+ for (pos = [-1,1])
+ translate([-ltr_length/2, pos * (1 - 2*bessel) * (ltr_width - board_width)/2 - board_width/2, 0])
+ cube([ltr_length, board_width, board_height]);
+ }
}
+// use a large plywood board
+module cargo_bed() {
+ translate([0, 0, -bed_height/2])
+ cube([ltr_length, ltr_width, bed_height], center=true);
+}
+
+
// specify (f)ront/(c)enter/(b)ack as -1/0/1 and (l)eft/(r)ight as -1/1
module wheel_position(fcb, lr) {
- translate([1300 * fcb, 450 * lr, -250])
+ translate([1300 * fcb, 450 * lr, -350])
children();
}
@@ -28,6 +58,7 @@ module powered_wheel(lr=-1) {
module lasttretrad() {
frame();
+ cargo_bed();
for (lr = [-1,1])
for (fb = [-1,1])
contact: Jan Huwald // Impressum