include include <../assets/top.scad> include <../assets/angle.scad> include <../assets/side.scad> include <../assets/front.scad> top_position_z = 0; module top_mount() { top_object(); module side() { move_y = 0; move_z = plywood_thickness / 2; move_x = top_size().x / 2 + plywood_thickness; translate([move_x, move_y, -move_z]) { rotate([0, 0, 90]) { angle_object(); } } } module front() { move_x = 0; move_z = plywood_thickness / 2; move_y = top_size().y / 2 + plywood_thickness; translate([move_x, -move_y, -move_z]) { angle_object(); } } mirror([0, 0, 0]) { side(); } mirror([1, 0, 0]) { side(); } 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]) { 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();