diff --git a/src/frames/pieces/box/side-inner-wall.scad b/src/frames/pieces/box/side-inner-wall.scad new file mode 100644 index 0000000..9fd4b73 --- /dev/null +++ b/src/frames/pieces/box/side-inner-wall.scad @@ -0,0 +1,24 @@ +/* The inner side wall of the frame, for being displayed through a windowed part. + * + * SPDX-FileCopyrightText: © 2024 Brian S. Stephan + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +include +include +use + +module side_inner_wall_frame_piece() { + difference() { + side_box_frame_piece(); + // minus the outer wall + translate([-(frame_x-frame_wall)/2, 0, 0]) cube([frame_wall, frame_y, frame_z], center=true); + // minus half of the mounting posts (the other half provided by the outer wall) + translate([-panel_to_frame_point_x, panel_to_frame_point_y, frame_z/2]) rotate([0, 0, 90]) + frame_mount_column(); + translate([-panel_to_frame_point_x, -(panel_to_frame_point_y), -frame_z/2]) rotate([0, 0, 180]) + frame_mount_column(); + } +} + +side_inner_wall_frame_piece(); diff --git a/src/frames/pieces/box/top-or-bottom-inner-wall.scad b/src/frames/pieces/box/top-or-bottom-inner-wall.scad new file mode 100644 index 0000000..5ba4c63 --- /dev/null +++ b/src/frames/pieces/box/top-or-bottom-inner-wall.scad @@ -0,0 +1,24 @@ +/* The inner top/bottom wall of the frame, for being displayed through a windowed part. + * + * SPDX-FileCopyrightText: © 2024 Brian S. Stephan + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +include +include +use + +module top_or_bottom_inner_wall_frame_piece() { + difference() { + top_or_bottom_box_frame_piece(); + // minus the outer wall + translate([0, -(frame_y-frame_wall)/2, 0]) cube([frame_x, frame_wall, frame_z], center=true); + // minus half of the mounting posts (the other half provided by the outer wall) + translate([-panel_to_frame_point_x, -(panel_to_frame_point_y), frame_z/2]) rotate([0, 0, 180]) + frame_mount_column(); + translate([panel_to_frame_point_x, -(panel_to_frame_point_y), -frame_z/2]) rotate([0, 0, 270]) + frame_mount_column(); + } +} + +top_or_bottom_inner_wall_frame_piece(); diff --git a/src/frames/pieces/box/top-or-bottom-windowed.scad b/src/frames/pieces/box/top-or-bottom-windowed.scad new file mode 100644 index 0000000..6327e28 --- /dev/null +++ b/src/frames/pieces/box/top-or-bottom-windowed.scad @@ -0,0 +1,23 @@ +/* + * SPDX-FileCopyrightText: © 2024 Brian S. Stephan + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +include +include +use +use + +module windowed_top_or_bottom_box_frame_piece() { + difference() { + top_or_bottom_box_frame_piece(); + // subtract frame wall window + translate([0, -frame_y/2, 0]) + cube([frame_x-frame_mount_column_width*3.5, (frame_wall+panel_support_width)*2, + frame_z-panel_z*3], center=true); + // subtract the inner wall area that will be provided by the other piece + top_or_bottom_inner_wall_frame_piece(); + } +} + +windowed_top_or_bottom_box_frame_piece();