| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- include <render_options.scad>
- 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, 180]) {
- front_object();
- }
- }
- side_mount();
|