--- /dev/null
+eps = 0.01;
+infty = 1000;
+
+lateral_angle = 18;
+dihedral = 10;
+
+wall = 1.0;
+
+fuse_w = 36;
+body_l = 40;
+
+foam_w = 3;
+
+module plate(w, h, la, d) {
+ intersection() {
+ translate([-eps, -infty/2, -eps])
+ cube([w, infty, h]);
+ rotate([la, 0, 0])
+ rotate([0, 0, d])
+ translate([-infty/2, 0, -infty/2])
+ cube([infty, wall, infty]);
+ }
+}
+
+for (z = [-1, 1]) for (x = [-1, 1]) scale([x, 1, z])
+ plate(fuse_w/2, body_l/2, lateral_angle/2, dihedral/2);
+
+// lateral beam
+hull() {
+ for (z = [-1, 1]) scale ([1, 1, z]) {
+ rotate([lateral_angle/2, 0, 0])
+ translate([-wall/2, 0, 0])
+ cube([wall, wall/2, foam_w/sin(lateral_angle/2)]);
+
+ }
+}
+
+// cross beam
+hull() {
+ for (x = [-1, 1]) scale ([x, 1, 1]) {
+ rotate([0, 0, dihedral/2])
+ translate([0, wall/2, -wall/2])
+ cube([fuse_w/2, wall/2, wall]);
+
+ }
+}