|
@@ -1,6 +1,8 @@
|
|
|
include <render_options.scad>
|
|
include <render_options.scad>
|
|
|
include <../assets/top.scad>
|
|
include <../assets/top.scad>
|
|
|
include <../assets/angle.scad>
|
|
include <../assets/angle.scad>
|
|
|
|
|
+include <../assets/side.scad>
|
|
|
|
|
+include <../assets/front.scad>
|
|
|
|
|
|
|
|
top_position_z = 0;
|
|
top_position_z = 0;
|
|
|
|
|
|
|
@@ -44,6 +46,85 @@ module top_mount() {
|
|
|
front();
|
|
front();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+module side_mount() {
|
|
|
|
|
+ height = side_size().y;
|
|
|
|
|
+ width = top_size().x;
|
|
|
|
|
+ length = side_size().x;
|
|
|
|
|
+
|
|
|
|
|
+ module sides() {
|
|
|
|
|
+ move_z
|
|
|
|
|
+ = -height / 2
|
|
|
|
|
+ - plywood_thickness / 2;
|
|
|
|
|
+
|
|
|
|
|
+ move_x
|
|
|
|
|
+ = width / 2
|
|
|
|
|
+ + plywood_thickness / 2;
|
|
|
|
|
+
|
|
|
|
|
+ module single() {
|
|
|
|
|
+ translate([move_x, 0, move_z]) {
|
|
|
|
|
+ rotate([90, 0, 270]) {
|
|
|
|
|
+ side_object();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ single();
|
|
|
|
|
+
|
|
|
|
|
+ mirror([1, 0, 0]) {
|
|
|
|
|
+ single();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ module mounts() {
|
|
|
|
|
+ move_z
|
|
|
|
|
+ = -height / 2
|
|
|
|
|
+ - plywood_thickness / 2;
|
|
|
|
|
+
|
|
|
|
|
+ move_y
|
|
|
|
|
+ = length / 2
|
|
|
|
|
+ + plywood_thickness;
|
|
|
|
|
+
|
|
|
|
|
+ move_x
|
|
|
|
|
+ = width / 2
|
|
|
|
|
+ + plywood_thickness / 2;
|
|
|
|
|
+
|
|
|
|
|
+ module single() {
|
|
|
|
|
+ translate([move_x, move_y, move_z]) {
|
|
|
|
|
+ rotate([0, 90, 180]) {
|
|
|
|
|
+ angle_object();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ single();
|
|
|
|
|
+
|
|
|
|
|
+ mirror([1, 0, 0]) {
|
|
|
|
|
+ single();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ sides();
|
|
|
|
|
+ mounts();
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
translate([0, 0, top_position_z]) {
|
|
translate([0, 0, top_position_z]) {
|
|
|
- top_mount();
|
|
|
|
|
|
|
+ rotate([180, 0, 0]) {
|
|
|
|
|
+ top_mount();
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+front_position_y
|
|
|
|
|
+= top_size().y / 2
|
|
|
|
|
++ plywood_thickness / 2;
|
|
|
|
|
+
|
|
|
|
|
+front_position_z
|
|
|
|
|
+= -front_size().y / 2
|
|
|
|
|
+- plywood_thickness / 2;
|
|
|
|
|
+
|
|
|
|
|
+translate([0, front_position_y, front_position_z]) {
|
|
|
|
|
+ rotate([90, 0, 0]) {
|
|
|
|
|
+ front_object();
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+side_mount();
|