From fa05469e1962129536de7ae8a1e6698a3e54b24f Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Wed, 4 Dec 2024 08:04:16 -0600 Subject: [PATCH] add a slightly extended side piece adds a bit of length to the build but without the longer polygon geometry. the name of this is terrible, I think I might get rid of the angled corner pieces in a refactoring Signed-off-by: Brian S. Stephan --- src/frames/pieces/extended/side-short.scad | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/frames/pieces/extended/side-short.scad diff --git a/src/frames/pieces/extended/side-short.scad b/src/frames/pieces/extended/side-short.scad new file mode 100644 index 0000000..2dcce6c --- /dev/null +++ b/src/frames/pieces/extended/side-short.scad @@ -0,0 +1,39 @@ +/* + * SPDX-FileCopyrightText: © 2024 Brian S. Stephan + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +include +include +use +use +use + +module side_frame_piece_wall() { + // get a slice of the piece, to use it in extruding + // this doesn't use the side_frame_piece because of the 45 degree angle geometry + // not creating a clean thing to cut, so we just take the whole wall and use that + projection(cut=true) rotate([0, 90, 0]) translate([frame_x/2-frame_wall-(frame_bevel_height/2), 0, 0]) + left_frame(); +} + +module side_frame_piece_extension() { + // combine the original with a shrunken piece to "pull" the wall out + hull() { + linear_extrude(height=frame_bevel_height*4) + square([frame_z-(frame_bevel_height*2), frame_y-(frame_bevel_height*2)], center=true); + linear_extrude(height=frame_bevel_height*3) side_frame_piece_wall(); + linear_extrude(height=frame_bevel_height) side_frame_piece_wall(); + } +} + +module extended_left_or_right_frame_piece() { + difference() { + side_box_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_left_or_right_frame_piece();