From 439333c154028ba1c1a202547fdfd5943da8ef3b Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Wed, 18 Dec 2024 13:27:24 -0600 Subject: [PATCH] remove imports of the box pieces, and duplicate them into "extended" pieces this is the next step in getting rid of the 45 degree angle "box" pieces Signed-off-by: Brian S. Stephan --- demo/all-together-demo.scad | 18 ++++---- demo/blown-up-demo.scad | 18 ++++---- src/extras/bss-ae/extended-side-no-back.scad | 4 +- src/extras/bss-ae/interconnect-x.scad | 4 +- .../extended/front-or-back-inner-wall.scad | 39 +++++++++++++++++ .../front-or-back-windowed-backslashes.scad | 30 +++++++++++-- ...front-or-back-windowed-forwardslashes.scad | 20 +++++++-- .../front-or-back-windowed-horiz-stripes.scad | 27 ++++++++++-- .../extended/front-or-back-windowed.scad | 25 +++++++++-- src/frames/pieces/extended/front-or-back.scad | 19 +++++--- .../pieces/extended/side-inner-wall.scad | 43 +++++++++++++++++++ src/frames/pieces/extended/side-longish.scad | 4 +- ...trapezoid-extended-to-front-trapezoid.scad | 4 +- .../pieces/extended/side-trapezoid.scad | 4 +- .../extended/side-windowed-backslashes.scad | 30 +++++++++++++ .../side-windowed-forwardslashes.scad | 22 ++++++++++ .../extended/side-windowed-horiz-stripes.scad | 29 +++++++++++++ src/frames/pieces/interconnect.scad | 4 +- 18 files changed, 293 insertions(+), 51 deletions(-) create mode 100644 src/frames/pieces/extended/front-or-back-inner-wall.scad create mode 100644 src/frames/pieces/extended/side-inner-wall.scad create mode 100644 src/frames/pieces/extended/side-windowed-backslashes.scad create mode 100644 src/frames/pieces/extended/side-windowed-forwardslashes.scad create mode 100644 src/frames/pieces/extended/side-windowed-horiz-stripes.scad diff --git a/demo/all-together-demo.scad b/demo/all-together-demo.scad index a701378..a2119ee 100644 --- a/demo/all-together-demo.scad +++ b/demo/all-together-demo.scad @@ -5,9 +5,9 @@ include include -use -use -use +use +use +use use use use @@ -20,12 +20,12 @@ top_deco_color = "white"; color(panel_color) translate([-panel_x/2, 0, frame_z/2-panel_z+0.01]) lever_and_dir_arc_w_30mm_panel(); color(panel_color) translate([panel_x/2, 0, frame_z/2-panel_z+0.01]) sega_2p_nine_plus_control_panel_with_mount(); -color(base_color) translate([panel_x/2, 0, -2.5]) rotate([0, 180, 0]) side_box_frame_piece(); -color(base_color) translate([-panel_x/2, 0, -2.5]) side_box_frame_piece(); -color(base_color) translate([panel_x/2, 0, -2.5]) front_or_back_box_frame_piece(); -color(base_color) translate([-panel_x/2, 0, -2.5]) front_or_back_box_frame_piece(); -color(base_color) translate([panel_x/2, 0, -2.5]) rotate([180, 180, 0]) front_or_back_aux_and_neutrik_box_frame_piece(); -color(base_color) translate([-panel_x/2, 0, -2.5]) rotate([180, 180, 0]) front_or_back_aux_and_neutrik_box_frame_piece(); +color(base_color) translate([panel_x/2, 0, -2.5]) rotate([0, 180, 0]) side_frame_piece(); +color(base_color) translate([-panel_x/2, 0, -2.5]) side_frame_piece(); +color(base_color) translate([panel_x/2, 0, -2.5]) front_or_back_frame_piece(); +color(base_color) translate([-panel_x/2, 0, -2.5]) front_or_back_frame_piece(); +color(base_color) translate([panel_x/2, 0, -2.5]) rotate([180, 180, 0]) front_or_back_aux_and_neutrik_frame_piece(); +color(base_color) translate([-panel_x/2, 0, -2.5]) rotate([180, 180, 0]) front_or_back_aux_and_neutrik_frame_piece(); color(base_color) translate([-panel_x/2, 0, -5-frame_z/2+5]) panel(); color(base_color) translate([panel_x/2, 0, -5-frame_z/2+5]) panel(); diff --git a/demo/blown-up-demo.scad b/demo/blown-up-demo.scad index bdaee3f..675c47c 100644 --- a/demo/blown-up-demo.scad +++ b/demo/blown-up-demo.scad @@ -6,9 +6,9 @@ include include use -use -use -use +use +use +use use use use @@ -18,12 +18,12 @@ use color("#C12E1F") translate([-panel_x/2-25, 0, frame_z/2+75]) lever_and_dir_arc_w_30mm_left_overhang_panel(); color("#C12E1F") translate([panel_x/2+25, 0, frame_z/2+75]) sega_2p_nine_plus_control_right_overhang_panel_with_mount(); -color("black") translate([-frame_x/2+5-25, -55, -2.5]) front_or_back_box_frame_piece(); -color("black") rotate([0, 180, 0]) translate([-frame_x/2+5-25, -55, -2.5]) front_or_back_box_frame_piece(); -color("black") translate([-frame_x/2+5-50, 0, -2.5]) side_box_frame_piece(); -color("black") rotate([0, 180, 0]) translate([-frame_x/2+5-50, 0, -2.5]) side_box_frame_piece(); -color("black") rotate([180, 0, 0]) translate([-frame_x/2+5-25, -55, -2.5]) front_or_back_aux_and_neutrik_box_frame_piece(); -color("black") rotate([180, 0, 0]) rotate([0, 180, 0]) translate([-frame_x/2+5-25, -55, -2.5]) front_or_back_aux_and_neutrik_box_frame_piece(); +color("black") translate([-frame_x/2+5-25, -55, -2.5]) front_or_back_frame_piece(); +color("black") rotate([0, 180, 0]) translate([-frame_x/2+5-25, -55, -2.5]) front_or_back_frame_piece(); +color("black") translate([-frame_x/2+5-50, 0, -2.5]) side_frame_piece(); +color("black") rotate([0, 180, 0]) translate([-frame_x/2+5-50, 0, -2.5]) side_frame_piece(); +color("black") rotate([180, 0, 0]) translate([-frame_x/2+5-25, -55, -2.5]) front_or_back_aux_and_neutrik_frame_piece(); +color("black") rotate([180, 0, 0]) rotate([0, 180, 0]) translate([-frame_x/2+5-25, -55, -2.5]) front_or_back_aux_and_neutrik_frame_piece(); color("black") rotate([0, 180, 0]) interconnect_frame_piece(); color("#C12E1F") translate([-panel_x/2-25, 0, -5-frame_z/2-75]) left_or_right_overhang_panel(); color("#C12E1F") mirror([0, 1, 0]) translate([panel_x/2+25, 0, -5-frame_z/2-75]) rotate([0, 0, 180]) diff --git a/src/extras/bss-ae/extended-side-no-back.scad b/src/extras/bss-ae/extended-side-no-back.scad index 34c2727..ef9ee3d 100644 --- a/src/extras/bss-ae/extended-side-no-back.scad +++ b/src/extras/bss-ae/extended-side-no-back.scad @@ -7,7 +7,7 @@ include include use -use +use use module side_frame_piece_wall() { @@ -43,7 +43,7 @@ module extra_extended_left_or_right_frame_piece() { difference() { union() { difference() { - side_box_frame_piece(); + 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); diff --git a/src/extras/bss-ae/interconnect-x.scad b/src/extras/bss-ae/interconnect-x.scad index d8ff405..c4506f6 100644 --- a/src/extras/bss-ae/interconnect-x.scad +++ b/src/extras/bss-ae/interconnect-x.scad @@ -6,11 +6,11 @@ include include -use +use module interconnect_frame_half_piece() { translate([0, frame_y/2-frame_wall, 0]) difference() { - front_or_back_box_frame_piece(); + front_or_back_frame_piece(); translate([0, (-frame_y+frame_wall)/2-panel_overhang_amount, 0]) cube([overhang_panel_x, frame_wall+panel_overhang_amount*2, frame_z], center=true); } diff --git a/src/frames/pieces/extended/front-or-back-inner-wall.scad b/src/frames/pieces/extended/front-or-back-inner-wall.scad new file mode 100644 index 0000000..47b70de --- /dev/null +++ b/src/frames/pieces/extended/front-or-back-inner-wall.scad @@ -0,0 +1,39 @@ +/* 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 mount_column_cutout() { + intersection() { + frame_mount_column(); + cube([frame_mount_column_width*3/2, frame_mount_column_width*3/2, inner_frame_z*5/8], center=true); + } +} + +module front_or_back_inner_wall_frame_base_piece() { + difference() { + // Z is scaled so that some part of the original part inner wall is retained + scale([1, 1, inner_frame_z_decorative_scale]) front_or_back_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), 0]) rotate([0, 0, 180]) + mount_column_cutout(); + translate([panel_to_frame_point_x, -(panel_to_frame_point_y), 0]) rotate([0, 0, 270]) + mount_column_cutout(); + } +} + +module front_or_back_inner_wall_frame_piece() { + front_or_back_inner_wall_frame_base_piece(); + // extend the outward face 2mm in order to have it cut deeper into the frame outer wall + translate([0, -(frame_y-frame_wall)/2, 0]) rotate([-90, 0, 0]) linear_extrude(height=2) projection() + translate([0, 0, 50]) rotate([90, 0, 0]) front_or_back_inner_wall_frame_base_piece(); +} + +front_or_back_inner_wall_frame_piece(); diff --git a/src/frames/pieces/extended/front-or-back-windowed-backslashes.scad b/src/frames/pieces/extended/front-or-back-windowed-backslashes.scad index 1979c08..17c2c0d 100644 --- a/src/frames/pieces/extended/front-or-back-windowed-backslashes.scad +++ b/src/frames/pieces/extended/front-or-back-windowed-backslashes.scad @@ -5,14 +5,36 @@ include include -use +use +use -module backslashes_windowed_front_or_back_box_frame_piece_for_extended_side() { +module backslashes() { + translate([-70, -(frame_y-frame_wall)/2, 0]) slash_cutout(); + translate([-50, -(frame_y-frame_wall)/2, 0]) slash_cutout(); + translate([-30, -(frame_y-frame_wall)/2, 0]) slash_cutout(); + translate([-10, -(frame_y-frame_wall)/2, 0]) slash_cutout(); + translate([10, -(frame_y-frame_wall)/2, 0]) slash_cutout(); + translate([30, -(frame_y-frame_wall)/2, 0]) slash_cutout(); + translate([50, -(frame_y-frame_wall)/2, 0]) slash_cutout(); + translate([70, -(frame_y-frame_wall)/2, 0]) slash_cutout(); +} + +module backslashes_windowed_front_or_back_frame_piece() { difference() { - backslashes_windowed_front_or_back_box_frame_piece(); + front_or_back_frame_piece(); + // subtract slashes from the frame wall + backslashes(); + // subtract the inner wall area that will be provided by the other piece + front_or_back_inner_wall_frame_piece(); + } +} + +module backslashes_windowed_front_or_back_frame_piece_for_extended_side() { + difference() { + backslashes_windowed_front_or_back_frame_piece(); // ...minus the frame wall and lip on the left translate([-frame_x/2+frame_wall/2, 0, 0]) cube([frame_wall, frame_y, frame_z], center=true); } } -backslashes_windowed_front_or_back_box_frame_piece_for_extended_side(); +backslashes_windowed_front_or_back_frame_piece_for_extended_side(); diff --git a/src/frames/pieces/extended/front-or-back-windowed-forwardslashes.scad b/src/frames/pieces/extended/front-or-back-windowed-forwardslashes.scad index 021072f..70e04e5 100644 --- a/src/frames/pieces/extended/front-or-back-windowed-forwardslashes.scad +++ b/src/frames/pieces/extended/front-or-back-windowed-forwardslashes.scad @@ -5,14 +5,26 @@ include include -use +use +use +use -module forwardslashes_windowed_front_or_back_box_frame_piece_for_extended_side() { +module forwardslashes_windowed_front_or_back_frame_piece() { difference() { - forwardslashes_windowed_front_or_back_box_frame_piece(); + front_or_back_frame_piece(); + // subtract slashes from the frame wall + mirror([0, 0, 1]) backslashes(); + // subtract the inner wall area that will be provided by the other piece + front_or_back_inner_wall_frame_piece(); + } +} + +module forwardslashes_windowed_front_or_back_frame_piece_for_extended_side() { + difference() { + forwardslashes_windowed_front_or_back_frame_piece(); // ...minus the frame wall and lip on the left translate([-frame_x/2+frame_wall/2, 0, 0]) cube([frame_wall, frame_y, frame_z], center=true); } } -forwardslashes_windowed_front_or_back_box_frame_piece_for_extended_side(); +forwardslashes_windowed_front_or_back_frame_piece_for_extended_side(); diff --git a/src/frames/pieces/extended/front-or-back-windowed-horiz-stripes.scad b/src/frames/pieces/extended/front-or-back-windowed-horiz-stripes.scad index dd82988..687c008 100644 --- a/src/frames/pieces/extended/front-or-back-windowed-horiz-stripes.scad +++ b/src/frames/pieces/extended/front-or-back-windowed-horiz-stripes.scad @@ -5,14 +5,33 @@ include include -use +use +use -module horiz_striped_windowed_front_or_back_box_frame_piece_for_extended_side() { +module front_stripe() { + cube([frame_x-(frame_mount_column_width*1.75)*2, frame_wall, 5], center=true); +} + +module horiz_striped_windowed_front_or_back_frame_piece() { difference() { - horiz_striped_windowed_front_or_back_box_frame_piece(); + front_or_back_frame_piece(); + // subtract frame wall windows + translate([0, -(frame_y-frame_wall)/2, 18]) front_stripe(); + translate([0, -(frame_y-frame_wall)/2, 9]) front_stripe(); + translate([0, -(frame_y-frame_wall)/2, 0]) front_stripe(); + translate([0, -(frame_y-frame_wall)/2, -9]) front_stripe(); + translate([0, -(frame_y-frame_wall)/2, -18]) front_stripe(); + // subtract the inner wall area that will be provided by the other piece + front_or_back_inner_wall_frame_piece(); + } +} + +module horiz_striped_windowed_front_or_back_frame_piece_for_extended_side() { + difference() { + horiz_striped_windowed_front_or_back_frame_piece(); // ...minus the frame wall and lip on the left translate([-frame_x/2+frame_wall/2, 0, 0]) cube([frame_wall, frame_y, frame_z], center=true); } } -horiz_striped_windowed_front_or_back_box_frame_piece_for_extended_side(); +horiz_striped_windowed_front_or_back_frame_piece_for_extended_side(); diff --git a/src/frames/pieces/extended/front-or-back-windowed.scad b/src/frames/pieces/extended/front-or-back-windowed.scad index 00ae605..3212e28 100644 --- a/src/frames/pieces/extended/front-or-back-windowed.scad +++ b/src/frames/pieces/extended/front-or-back-windowed.scad @@ -5,14 +5,31 @@ include include -use +use +use -module windowed_front_or_back_box_frame_piece_for_extended_side() { +module front_or_back_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); +} + +module windowed_front_or_back_frame_piece() { difference() { - windowed_front_or_back_box_frame_piece(); + front_or_back_frame_piece(); + // subtract frame wall window + front_or_back_window(); + // subtract the inner wall area that will be provided by the other piece + front_or_back_inner_wall_frame_piece(); + } +} + +module windowed_front_or_back_frame_piece_for_extended_side() { + difference() { + windowed_front_or_back_frame_piece(); // ...minus the frame wall and lip on the left translate([-frame_x/2+frame_wall/2, 0, 0]) cube([frame_wall, frame_y, frame_z], center=true); } } -windowed_front_or_back_box_frame_piece_for_extended_side(); +windowed_front_or_back_frame_piece_for_extended_side(); diff --git a/src/frames/pieces/extended/front-or-back.scad b/src/frames/pieces/extended/front-or-back.scad index 91ae1c1..b37d9b2 100644 --- a/src/frames/pieces/extended/front-or-back.scad +++ b/src/frames/pieces/extended/front-or-back.scad @@ -5,13 +5,22 @@ include include -use +use +use module front_or_back_frame_piece() { - difference() { - front_or_back_box_frame_piece(); - // ...minus the frame wall and lip on the left - translate([-frame_x/2+frame_wall/2, 0, 0]) cube([frame_wall, frame_y, frame_z], center=true); + piece_width = panel_support_width+frame_wall+frame_mount_column_width; + intersection() { + left_frame(); + difference() { + // include the whole bottom wall (including mount columns) + translate([0, -(frame_y/2)+(piece_width/2), 0]) cube([frame_x, piece_width, frame_z], center=true); + // ...minus the frame wall and lip on the left + translate([-frame_x/2+frame_wall/2, 0, 0]) + cube([frame_wall, frame_y, frame_z], center=true); + // ...minus a slot for the combining piece to go into + cube([frame_x, frame_y-(panel_support_width+frame_wall)*2, inner_frame_z/3], center=true); + } } } diff --git a/src/frames/pieces/extended/side-inner-wall.scad b/src/frames/pieces/extended/side-inner-wall.scad new file mode 100644 index 0000000..32ff63b --- /dev/null +++ b/src/frames/pieces/extended/side-inner-wall.scad @@ -0,0 +1,43 @@ +/* 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 mount_column_cutout() { + intersection() { + frame_mount_column(); + cube([frame_mount_column_width*3/2, frame_mount_column_width*3/2, inner_frame_z*21/24], center=true); + } +} + +module side_inner_wall_frame_base_piece() { + difference() { + // Z is scaled so that some part of the original part inner wall is retained + scale([1, 1, inner_frame_z_decorative_scale]) side_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, inner_frame_z/2]) rotate([0, 0, 90]) + mount_column_cutout(); + translate([-panel_to_frame_point_x, -(panel_to_frame_point_y), -inner_frame_z/2]) rotate([0, 0, 180]) + mount_column_cutout(); + translate([-panel_to_frame_point_x, panel_to_frame_point_y, -inner_frame_z/2]) rotate([0, 0, 90]) + mount_column_cutout(); + translate([-panel_to_frame_point_x, -(panel_to_frame_point_y), inner_frame_z/2]) rotate([0, 0, 180]) + mount_column_cutout(); + } +} + +module side_inner_wall_frame_piece() { + side_inner_wall_frame_base_piece(); + // extend the outward face 2mm in order to have it cut deeper into the frame outer wall + translate([-(frame_x-frame_wall)/2, 0, 0]) rotate([0, 90, 0]) linear_extrude(height=2) projection() + translate([0, 0, 50]) rotate([0, -90, 0]) side_inner_wall_frame_base_piece(); +} + +side_inner_wall_frame_piece(); diff --git a/src/frames/pieces/extended/side-longish.scad b/src/frames/pieces/extended/side-longish.scad index 7512daf..580698a 100644 --- a/src/frames/pieces/extended/side-longish.scad +++ b/src/frames/pieces/extended/side-longish.scad @@ -6,7 +6,7 @@ include include use -use +use module side_frame_piece_wall() { // get a slice of the piece, to use it in extruding @@ -28,7 +28,7 @@ module side_frame_piece_extension() { module side_longish_frame_piece() { difference() { - side_box_frame_piece(); + 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); } diff --git a/src/frames/pieces/extended/side-trapezoid-extended-to-front-trapezoid.scad b/src/frames/pieces/extended/side-trapezoid-extended-to-front-trapezoid.scad index 30a1f56..dd50a67 100644 --- a/src/frames/pieces/extended/side-trapezoid-extended-to-front-trapezoid.scad +++ b/src/frames/pieces/extended/side-trapezoid-extended-to-front-trapezoid.scad @@ -6,7 +6,7 @@ include include use -use +use use module side_and_bottom_frame_piece_wall() { @@ -28,7 +28,7 @@ module side_and_bottom_frame_piece_extension() { module side_trapezoid_extended_to_front_frame_piece() { difference() { - side_box_frame_piece(); + 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); } diff --git a/src/frames/pieces/extended/side-trapezoid.scad b/src/frames/pieces/extended/side-trapezoid.scad index 51ae503..0e3161f 100644 --- a/src/frames/pieces/extended/side-trapezoid.scad +++ b/src/frames/pieces/extended/side-trapezoid.scad @@ -6,7 +6,7 @@ include include use -use +use module side_frame_piece_wall() { // get a slice of the piece, to use it in extruding @@ -26,7 +26,7 @@ module side_frame_piece_extension() { module side_trapezoid_frame_piece() { difference() { - side_box_frame_piece(); + 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); } diff --git a/src/frames/pieces/extended/side-windowed-backslashes.scad b/src/frames/pieces/extended/side-windowed-backslashes.scad new file mode 100644 index 0000000..86d8629 --- /dev/null +++ b/src/frames/pieces/extended/side-windowed-backslashes.scad @@ -0,0 +1,30 @@ +/* + * SPDX-FileCopyrightText: © 2024 Brian S. Stephan + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +include +include +use +use + +module backslashes() { + translate([-(frame_x-frame_wall)/2, -50, 0]) rotate([0, 0, -90]) slash_cutout(); + translate([-(frame_x-frame_wall)/2, -30, 0]) rotate([0, 0, -90]) slash_cutout(); + translate([-(frame_x-frame_wall)/2, -10, 0]) rotate([0, 0, -90]) slash_cutout(); + translate([-(frame_x-frame_wall)/2, 10, 0]) rotate([0, 0, -90]) slash_cutout(); + translate([-(frame_x-frame_wall)/2, 30, 0]) rotate([0, 0, -90]) slash_cutout(); + translate([-(frame_x-frame_wall)/2, 50, 0]) rotate([0, 0, -90]) slash_cutout(); +} + +module backslashes_windowed_side_frame_piece() { + difference() { + side_frame_piece(); + // subtract slashes from the frame wall + backslashes(); + // subtract the inner wall area that will be provided by the other piece + side_inner_wall_frame_piece(); + } +} + +backslashes_windowed_side_frame_piece(); diff --git a/src/frames/pieces/extended/side-windowed-forwardslashes.scad b/src/frames/pieces/extended/side-windowed-forwardslashes.scad new file mode 100644 index 0000000..b93a410 --- /dev/null +++ b/src/frames/pieces/extended/side-windowed-forwardslashes.scad @@ -0,0 +1,22 @@ +/* + * SPDX-FileCopyrightText: © 2024 Brian S. Stephan + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +include +include +use +use +use + +module forwardslashes_windowed_side_frame_piece() { + difference() { + side_frame_piece(); + // subtract slashes from the frame wall + mirror([0, 0, 1]) backslashes(); + // subtract the inner wall area that will be provided by the other piece + side_inner_wall_frame_piece(); + } +} + +forwardslashes_windowed_side_frame_piece(); diff --git a/src/frames/pieces/extended/side-windowed-horiz-stripes.scad b/src/frames/pieces/extended/side-windowed-horiz-stripes.scad new file mode 100644 index 0000000..497c131 --- /dev/null +++ b/src/frames/pieces/extended/side-windowed-horiz-stripes.scad @@ -0,0 +1,29 @@ +/* + * SPDX-FileCopyrightText: © 2024 Brian S. Stephan + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +include +include +use +use + +module side_stripe() { + cube([frame_wall, frame_y-(frame_mount_column_width*1.75)*2, 5], center=true); +} + +module horiz_striped_windowed_side_frame_piece() { + difference() { + side_frame_piece(); + // subtract frame wall windows + translate([-(frame_x-frame_wall)/2, 0, 18]) side_stripe(); + translate([-(frame_x-frame_wall)/2, 0, 9]) side_stripe(); + translate([-(frame_x-frame_wall)/2, 0, 0]) side_stripe(); + translate([-(frame_x-frame_wall)/2, 0, -9]) side_stripe(); + translate([-(frame_x-frame_wall)/2, 0, -18]) side_stripe(); + // subtract the inner wall area that will be provided by the other piece + side_inner_wall_frame_piece(); + } +} + +horiz_striped_windowed_side_frame_piece(); diff --git a/src/frames/pieces/interconnect.scad b/src/frames/pieces/interconnect.scad index e51a2d1..15af595 100644 --- a/src/frames/pieces/interconnect.scad +++ b/src/frames/pieces/interconnect.scad @@ -5,11 +5,11 @@ include include -use +use module interconnect_frame_half_piece() { translate([frame_x/2-frame_wall, 0, 0]) difference() { - side_box_frame_piece(); + side_frame_piece(); rotate([0, 0, 180]) side_chopper(); } }