From 8b5d994847f6ab12610a26bec32a6609e79b4001 Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Sat, 3 Jan 2026 22:18:48 -0600 Subject: [PATCH] cut some volume off of the front or back pieces where they touch sides there is a printing issue where a fat couple layers jut out a bit on the edge where the front or back piece would touch a side piece or another front or back piece, making them not connect that flushly. this removes a bit in order to let that fat layer be in a gap instead Signed-off-by: Brian S. Stephan --- demo/all-together-demo.scad | 4 ++-- demo/blown-up-demo.scad | 4 ++-- src/extras/bss-ae/interconnect-x.scad | 2 +- .../pieces/front-or-back-aux-and-neutrik.scad | 2 +- .../pieces/front-or-back-inner-wall.scad | 2 +- .../pieces/front-or-back-trapezoid.scad | 2 +- .../front-or-back-windowed-backslashes.scad | 2 +- ...front-or-back-windowed-forwardslashes.scad | 2 +- .../front-or-back-windowed-horiz-stripes.scad | 2 +- src/frames/pieces/front-or-back-windowed.scad | 2 +- src/frames/pieces/front-or-back.scad | 21 +++++++++++++++++-- 11 files changed, 31 insertions(+), 14 deletions(-) diff --git a/demo/all-together-demo.scad b/demo/all-together-demo.scad index 638c3e9..ed2e339 100644 --- a/demo/all-together-demo.scad +++ b/demo/all-together-demo.scad @@ -23,8 +23,8 @@ color(panel_color) translate([-panel_x/2, 0, frame_z/2-panel_z/2+0.001]) lever_a color(panel_color) translate([panel_x/2, 0, frame_z/2-panel_z/2+0.001]) ergo_nine_plus_aux_button_panel_with_mount(); color(base_color) translate([panel_x/2, 0, 0]) rotate([0, 180, 0]) side_frame_piece(); color(base_color) translate([-panel_x/2, 0, 0]) side_frame_piece(); -color(base_color) translate([panel_x/2, 0, 0]) front_or_back_frame_piece(); -color(base_color) translate([-panel_x/2, 0, 0]) front_or_back_frame_piece(); +color(base_color) translate([panel_x/2, 0, 0]) clean_edge_front_or_back_frame_piece(); +color(base_color) translate([-panel_x/2, 0, 0]) clean_edge_front_or_back_frame_piece(); color(base_color) translate([panel_x/2, 0, 0]) rotate([180, 180, 0]) front_or_back_aux_and_neutrik_frame_piece(); color(base_color) translate([-panel_x/2, 0, 0]) rotate([180, 0, 0]) front_or_back_aux_and_neutrik_frame_piece(); /* color(base_color) translate([-panel_x/2, 0, -frame_z/2+panel_z/2]) panel(); */ diff --git a/demo/blown-up-demo.scad b/demo/blown-up-demo.scad index 461451e..1a41d15 100644 --- a/demo/blown-up-demo.scad +++ b/demo/blown-up-demo.scad @@ -18,8 +18,8 @@ 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_aux_button_right_overhang_panel_with_mount(); -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-25, -55, -2.5]) clean_edge_front_or_back_frame_piece(); +color("black") rotate([0, 180, 0]) translate([-frame_x/2+5-25, -55, -2.5]) clean_edge_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(); diff --git a/src/extras/bss-ae/interconnect-x.scad b/src/extras/bss-ae/interconnect-x.scad index 205b940..da7d121 100644 --- a/src/extras/bss-ae/interconnect-x.scad +++ b/src/extras/bss-ae/interconnect-x.scad @@ -10,7 +10,7 @@ use module interconnect_frame_half_piece() { translate([0, frame_y/2-frame_wall, 0]) difference() { - front_or_back_frame_piece(); + clean_edge_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/front-or-back-aux-and-neutrik.scad b/src/frames/pieces/front-or-back-aux-and-neutrik.scad index e5cf35f..5b4cec7 100644 --- a/src/frames/pieces/front-or-back-aux-and-neutrik.scad +++ b/src/frames/pieces/front-or-back-aux-and-neutrik.scad @@ -9,7 +9,7 @@ use module front_or_back_aux_and_neutrik_frame_piece() { difference() { - front_or_back_frame_piece(); + clean_edge_front_or_back_frame_piece(); // aux button holes translate([-35.25, -101.5, 0]) rotate([90, 0, 0]) aux_control_three_button_cluster(); diff --git a/src/frames/pieces/front-or-back-inner-wall.scad b/src/frames/pieces/front-or-back-inner-wall.scad index 4146383..286d939 100644 --- a/src/frames/pieces/front-or-back-inner-wall.scad +++ b/src/frames/pieces/front-or-back-inner-wall.scad @@ -18,7 +18,7 @@ module mount_column_cutout() { 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(); + scale([1, 1, inner_frame_z_decorative_scale]) clean_edge_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) diff --git a/src/frames/pieces/front-or-back-trapezoid.scad b/src/frames/pieces/front-or-back-trapezoid.scad index 68d1179..4cadc90 100644 --- a/src/frames/pieces/front-or-back-trapezoid.scad +++ b/src/frames/pieces/front-or-back-trapezoid.scad @@ -9,7 +9,7 @@ use module clean_front_or_back() { difference() { - front_or_back_frame_piece(); + clean_edge_front_or_back_frame_piece(); // chop off the lip we left on the basic piece translate([-frame_x/2+frame_wall/2, 0, 0]) cube([frame_wall, frame_y, frame_z], center=true); }; diff --git a/src/frames/pieces/front-or-back-windowed-backslashes.scad b/src/frames/pieces/front-or-back-windowed-backslashes.scad index 99a5174..d7a460e 100644 --- a/src/frames/pieces/front-or-back-windowed-backslashes.scad +++ b/src/frames/pieces/front-or-back-windowed-backslashes.scad @@ -21,7 +21,7 @@ module backslashes() { module backslashes_windowed_front_or_back_frame_piece() { difference() { - front_or_back_frame_piece(); + clean_edge_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 diff --git a/src/frames/pieces/front-or-back-windowed-forwardslashes.scad b/src/frames/pieces/front-or-back-windowed-forwardslashes.scad index 0fdf5a1..cebfc10 100644 --- a/src/frames/pieces/front-or-back-windowed-forwardslashes.scad +++ b/src/frames/pieces/front-or-back-windowed-forwardslashes.scad @@ -11,7 +11,7 @@ use module forwardslashes_windowed_front_or_back_frame_piece() { difference() { - front_or_back_frame_piece(); + clean_edge_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 diff --git a/src/frames/pieces/front-or-back-windowed-horiz-stripes.scad b/src/frames/pieces/front-or-back-windowed-horiz-stripes.scad index 82794fa..1f308b6 100644 --- a/src/frames/pieces/front-or-back-windowed-horiz-stripes.scad +++ b/src/frames/pieces/front-or-back-windowed-horiz-stripes.scad @@ -22,7 +22,7 @@ module front_horiz_stripes() { module horiz_striped_windowed_front_or_back_frame_piece() { difference() { - front_or_back_frame_piece(); + clean_edge_front_or_back_frame_piece(); // subtract frame wall windows front_horiz_stripes(); // subtract the inner wall area that will be provided by the other piece diff --git a/src/frames/pieces/front-or-back-windowed.scad b/src/frames/pieces/front-or-back-windowed.scad index 3212e28..aabd944 100644 --- a/src/frames/pieces/front-or-back-windowed.scad +++ b/src/frames/pieces/front-or-back-windowed.scad @@ -16,7 +16,7 @@ module front_or_back_window() { module windowed_front_or_back_frame_piece() { difference() { - front_or_back_frame_piece(); + clean_edge_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 diff --git a/src/frames/pieces/front-or-back.scad b/src/frames/pieces/front-or-back.scad index 02d4a0f..bd78b20 100644 --- a/src/frames/pieces/front-or-back.scad +++ b/src/frames/pieces/front-or-back.scad @@ -8,8 +8,8 @@ include use use +piece_width = panel_support_width+frame_wall+frame_mount_column_width; module front_or_back_frame_piece() { - piece_width = panel_support_width+frame_wall+frame_mount_column_width; intersection() { left_frame(); difference() { @@ -22,4 +22,21 @@ module front_or_back_frame_piece() { } } -front_or_back_frame_piece(); +// there's something with the print quality/slicing where a couple layers +// around the hex hole get fat in the walls, making this not flush with a +// sibling piece. this removal makes it so the pieces don't touch +// HOWEVER, the side piece uses front_or_back_frame_piece() as a difference, +// so if we removed the little chop from that piece, it'd make the +// side_frame_piece() bigger, defeating the purpose, so what we'll actually +// print is this one and there'll be a little gap in between as desired +// +// front/back pieces that build on this shape should inherit from clean_edge_ +module clean_edge_front_or_back_frame_piece() { + difference() { + front_or_back_frame_piece(); + translate([panel_x/2, -(panel_y/2-15), 0]) cube([5, 30, inner_frame_z*2], center=true); + translate([-panel_x/2, -(panel_y/2-15), 0]) cube([5, 30, inner_frame_z*2], center=true); + } +} + +clean_edge_front_or_back_frame_piece();