From cadf2bf21069949ae89dd7694ba34fbd573c1b4c Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Thu, 7 Mar 2024 19:15:31 -0600 Subject: [PATCH] add pieces vaguely like the TE1 sides as alternative frame sides still playing with these a bit, but test prints yields some promising shapes, just need to do a build with them to confirm I like it Signed-off-by: Brian S. Stephan --- ...e-piece-bottom-left-or-right-extended.scad | 29 +++++++++++++++ src/frame-piece-side-extended-to-bottom.scad | 35 +++++++++++++++++++ src/frame-piece-side-extended.scad | 33 +++++++++++++++++ src/parameters.scad | 4 +++ 4 files changed, 101 insertions(+) create mode 100644 src/frame-piece-bottom-left-or-right-extended.scad create mode 100644 src/frame-piece-side-extended-to-bottom.scad create mode 100644 src/frame-piece-side-extended.scad diff --git a/src/frame-piece-bottom-left-or-right-extended.scad b/src/frame-piece-bottom-left-or-right-extended.scad new file mode 100644 index 0000000..94bcbfb --- /dev/null +++ b/src/frame-piece-bottom-left-or-right-extended.scad @@ -0,0 +1,29 @@ +/* + * SPDX-FileCopyrightText: © 2024 Brian S. Stephan + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +include +include +use + +module bottom_piece_wall() { + // get a slice of the piece, to use it in extruding + projection(cut=true) rotate([-90, 0, 0]) translate([0, frame_y/2-frame_bevel_height, 0]) + bottom_left_or_right_frame_piece(); +} + +module bottom_piece_extension() { + // combine the original with a shrunken piece to "pull" the wall out + hull() { + linear_extrude(height=frame_extension_y) scale([1, 0.5, 1]) bottom_piece_wall(); + linear_extrude(height=frame_bevel_height) bottom_piece_wall(); + } +} + +module extended_bottom_left_or_right_frame_piece() { + bottom_left_or_right_frame_piece(); + translate([0, -frame_y/2+frame_bevel_height*2, 0]) rotate([90, 0, 0]) bottom_piece_extension(); +} + +extended_bottom_left_or_right_frame_piece(); diff --git a/src/frame-piece-side-extended-to-bottom.scad b/src/frame-piece-side-extended-to-bottom.scad new file mode 100644 index 0000000..5c0e148 --- /dev/null +++ b/src/frame-piece-side-extended-to-bottom.scad @@ -0,0 +1,35 @@ +/* + * SPDX-FileCopyrightText: © 2024 Brian S. Stephan + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +include +include +use +use + +module side_and_bottom_frame_piece_wall() { + // get a slice of the pieces, to use it in extruding + projection(cut=true) rotate([0, 90, 0]) translate([frame_x/2-frame_bevel_height, 0, 0]) + side_frame_piece(); + projection(cut=true) translate([0, -frame_y/2+frame_wall, 0]) rotate([90, 90, 0]) bottom_piece_extension(); +} + +module side_and_bottom_frame_piece_extension() { + // combine the original with a shrunken piece to "pull" the wall out + hull() { + linear_extrude(height=frame_extension_y) scale([0.5, 0.90, 1]) side_and_bottom_frame_piece_wall(); + linear_extrude(height=frame_bevel_height) side_and_bottom_frame_piece_wall(); + } +} + +module extra_extended_bottom_left_or_right_frame_piece() { + difference() { + side_frame_piece(); + // chop off the old edge which is getting replaced with the extension + translate([-frame_x/2+frame_bevel_height/2, 0, 0]) cube([frame_bevel_height, frame_y, frame_z], center=true); + } + translate([-frame_x/2+frame_bevel_height*2, 0, 0]) rotate([0, -90, 0]) side_and_bottom_frame_piece_extension(); +} + +extra_extended_bottom_left_or_right_frame_piece(); diff --git a/src/frame-piece-side-extended.scad b/src/frame-piece-side-extended.scad new file mode 100644 index 0000000..cc88f7f --- /dev/null +++ b/src/frame-piece-side-extended.scad @@ -0,0 +1,33 @@ +/* + * SPDX-FileCopyrightText: © 2024 Brian S. Stephan + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +include +include +use + +module side_frame_piece_wall() { + // get a slice of the piece, to use it in extruding + projection(cut=true) rotate([0, 90, 0]) translate([frame_x/2-frame_bevel_height, 0, 0]) + side_frame_piece(); +} + +module side_frame_piece_extension() { + // combine the original with a shrunken piece to "pull" the wall out + hull() { + linear_extrude(height=frame_extension_y) scale([0.5, 0.85, 1]) side_frame_piece_wall(); + linear_extrude(height=frame_bevel_height) side_frame_piece_wall(); + } +} + +module extended_bottom_left_or_right_frame_piece() { + difference() { + side_frame_piece(); + // chop off the old edge which is getting replaced with the extension + translate([-frame_x/2+frame_bevel_height/2, 0, 0]) cube([frame_bevel_height, frame_y, frame_z], center=true); + } + translate([-frame_x/2+frame_bevel_height*2, 0, 0]) rotate([0, -90, 0]) side_frame_piece_extension(); +} + +extended_bottom_left_or_right_frame_piece(); diff --git a/src/parameters.scad b/src/parameters.scad index 16bc22f..f446dc1 100644 --- a/src/parameters.scad +++ b/src/parameters.scad @@ -37,6 +37,10 @@ frame_x = 233; frame_y = 208; frame_z = 57; +// degree to which the extended frame pieces stick out from the end of the frame +frame_extension_x = 25; +frame_extension_y = 25; + // this sinks the bottom and top of the frame inward a bit, and is used to math out two shapes // when creating the frame box / overhang panel frame_bevel_height = 2;