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 <bss@incorporeal.org>
This commit is contained in:
Brian S. Stephan 2026-01-03 22:18:48 -06:00
parent 852cef821c
commit 8b5d994847
Signed by: bss
GPG Key ID: 3DE06D3180895FCB
11 changed files with 31 additions and 14 deletions

View File

@ -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(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]) 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]) 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]) clean_edge_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]) rotate([180, 180, 0]) front_or_back_aux_and_neutrik_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, 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(); */ /* color(base_color) translate([-panel_x/2, 0, -frame_z/2+panel_z/2]) panel(); */

View File

@ -18,8 +18,8 @@ use <plates/dustwasher-lsx-nobi.scad>
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]) 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("#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") 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]) 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") 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([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]) translate([-frame_x/2+5-25, -55, -2.5]) front_or_back_aux_and_neutrik_frame_piece();

View File

@ -10,7 +10,7 @@ use <frames/pieces/front-or-back.scad>
module interconnect_frame_half_piece() { module interconnect_frame_half_piece() {
translate([0, frame_y/2-frame_wall, 0]) difference() { 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]) 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); cube([overhang_panel_x, frame_wall+panel_overhang_amount*2, frame_z], center=true);
} }

View File

@ -9,7 +9,7 @@ use <front-or-back.scad>
module front_or_back_aux_and_neutrik_frame_piece() { module front_or_back_aux_and_neutrik_frame_piece() {
difference() { difference() {
front_or_back_frame_piece(); clean_edge_front_or_back_frame_piece();
// aux button holes // aux button holes
translate([-35.25, -101.5, 0]) rotate([90, 0, 0]) aux_control_three_button_cluster(); translate([-35.25, -101.5, 0]) rotate([90, 0, 0]) aux_control_three_button_cluster();

View File

@ -18,7 +18,7 @@ module mount_column_cutout() {
module front_or_back_inner_wall_frame_base_piece() { module front_or_back_inner_wall_frame_base_piece() {
difference() { difference() {
// Z is scaled so that some part of the original part inner wall is retained // 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 // minus the outer wall
translate([0, -(frame_y-frame_wall)/2, 0]) cube([frame_x, frame_wall, frame_z], center=true); 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) // minus half of the mounting posts (the other half provided by the outer wall)

View File

@ -9,7 +9,7 @@ use <front-or-back.scad>
module clean_front_or_back() { module clean_front_or_back() {
difference() { difference() {
front_or_back_frame_piece(); clean_edge_front_or_back_frame_piece();
// chop off the lip we left on the basic 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); translate([-frame_x/2+frame_wall/2, 0, 0]) cube([frame_wall, frame_y, frame_z], center=true);
}; };

View File

@ -21,7 +21,7 @@ module backslashes() {
module backslashes_windowed_front_or_back_frame_piece() { module backslashes_windowed_front_or_back_frame_piece() {
difference() { difference() {
front_or_back_frame_piece(); clean_edge_front_or_back_frame_piece();
// subtract slashes from the frame wall // subtract slashes from the frame wall
backslashes(); backslashes();
// subtract the inner wall area that will be provided by the other piece // subtract the inner wall area that will be provided by the other piece

View File

@ -11,7 +11,7 @@ use <front-or-back-windowed-backslashes.scad>
module forwardslashes_windowed_front_or_back_frame_piece() { module forwardslashes_windowed_front_or_back_frame_piece() {
difference() { difference() {
front_or_back_frame_piece(); clean_edge_front_or_back_frame_piece();
// subtract slashes from the frame wall // subtract slashes from the frame wall
mirror([0, 0, 1]) backslashes(); mirror([0, 0, 1]) backslashes();
// subtract the inner wall area that will be provided by the other piece // subtract the inner wall area that will be provided by the other piece

View File

@ -22,7 +22,7 @@ module front_horiz_stripes() {
module horiz_striped_windowed_front_or_back_frame_piece() { module horiz_striped_windowed_front_or_back_frame_piece() {
difference() { difference() {
front_or_back_frame_piece(); clean_edge_front_or_back_frame_piece();
// subtract frame wall windows // subtract frame wall windows
front_horiz_stripes(); front_horiz_stripes();
// subtract the inner wall area that will be provided by the other piece // subtract the inner wall area that will be provided by the other piece

View File

@ -16,7 +16,7 @@ module front_or_back_window() {
module windowed_front_or_back_frame_piece() { module windowed_front_or_back_frame_piece() {
difference() { difference() {
front_or_back_frame_piece(); clean_edge_front_or_back_frame_piece();
// subtract frame wall window // subtract frame wall window
front_or_back_window(); front_or_back_window();
// subtract the inner wall area that will be provided by the other piece // subtract the inner wall area that will be provided by the other piece

View File

@ -8,8 +8,8 @@ include <components.scad>
use <frames/complete/left-frame.scad> use <frames/complete/left-frame.scad>
use <side.scad> use <side.scad>
piece_width = panel_support_width+frame_wall+frame_mount_column_width;
module front_or_back_frame_piece() { module front_or_back_frame_piece() {
piece_width = panel_support_width+frame_wall+frame_mount_column_width;
intersection() { intersection() {
left_frame(); left_frame();
difference() { 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();