From 80ce81c465c985517867d3a26a3fc9a2aa7ca8e5 Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Tue, 6 Jan 2026 16:31:10 -0600 Subject: [PATCH] use a smaller frame bevel in order to improve print quality the bevel was big and looked nice, but the number of layers might have been contributing to reduced print quality and increased pull on the corners of the pieces printed face down (so bevels going out as layers go up). this reduces the size of the bevel in an attempt to make the problem less pronounced. hopefully. there was also a bunch of weird math in the trapezoid frame pieces that relied on the bevel size in broken ways, so the pieces have been simplified a little bit to work right and not be affected by that otherwise unrelated parameter. Signed-off-by: Brian S. Stephan --- src/frames/pieces/front-or-back-trapezoid.scad | 8 ++++---- .../side-trapezoid-extended-to-front-trapezoid.scad | 11 ++++------- src/frames/pieces/side-trapezoid.scad | 9 +++------ src/parameters.scad | 2 +- 4 files changed, 12 insertions(+), 18 deletions(-) diff --git a/src/frames/pieces/front-or-back-trapezoid.scad b/src/frames/pieces/front-or-back-trapezoid.scad index 4cadc90..e42b598 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() { - clean_edge_front_or_back_frame_piece(); + 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); }; @@ -17,7 +17,7 @@ module clean_front_or_back() { module bottom_piece_wall() { // get a slice of the piece (before the bevel), to use it in extruding - projection(cut=true) rotate([-90, 0, 0]) translate([0, frame_y/2-(frame_wall-frame_bevel_height)*3/2, 0]) + projection(cut=true) rotate([-90, 0, 0]) translate([0, frame_y/2-frame_wall+0.01, 0]) clean_front_or_back(); } @@ -25,12 +25,12 @@ 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_wall-frame_bevel_height)) bottom_piece_wall(); + linear_extrude(height=frame_wall) bottom_piece_wall(); } } module front_or_back_trapezoid_frame_piece() { - clean_front_or_back(); + clean_edge_front_or_back_frame_piece(); translate([0, -frame_y/2+frame_wall, 0]) rotate([90, 0, 0]) bottom_piece_extension(); } diff --git a/src/frames/pieces/side-trapezoid-extended-to-front-trapezoid.scad b/src/frames/pieces/side-trapezoid-extended-to-front-trapezoid.scad index dd50a67..f2f9324 100644 --- a/src/frames/pieces/side-trapezoid-extended-to-front-trapezoid.scad +++ b/src/frames/pieces/side-trapezoid-extended-to-front-trapezoid.scad @@ -11,18 +11,15 @@ use module side_and_bottom_frame_piece_wall() { // get a slice of the pieces, 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(); - projection(cut=true) translate([0, -frame_y/2+frame_wall, 0]) rotate([90, 90, 0]) bottom_piece_extension(); + projection(cut=true) rotate([0, 90, 0]) translate([frame_x/2-frame_wall+0.01, 0, 0]) side_frame_piece(); + projection(cut=true) translate([0, -frame_y/2+frame_wall+0.01, 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(); + linear_extrude(height=frame_wall) side_and_bottom_frame_piece_wall(); } } @@ -32,7 +29,7 @@ module side_trapezoid_extended_to_front_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(); + translate([-frame_x/2+frame_wall, 0, 0]) rotate([0, -90, 0]) side_and_bottom_frame_piece_extension(); } side_trapezoid_extended_to_front_frame_piece(); diff --git a/src/frames/pieces/side-trapezoid.scad b/src/frames/pieces/side-trapezoid.scad index 0e3161f..246afa3 100644 --- a/src/frames/pieces/side-trapezoid.scad +++ b/src/frames/pieces/side-trapezoid.scad @@ -10,17 +10,14 @@ 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(); + projection(cut=true) rotate([0, 90, 0]) translate([frame_x/2-frame_wall+0.01, 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(); + linear_extrude(height=frame_wall) side_frame_piece_wall(); } } @@ -30,7 +27,7 @@ module side_trapezoid_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(); + translate([-frame_x/2+frame_wall, 0, 0]) rotate([0, -90, 0]) side_frame_piece_extension(); } side_trapezoid_frame_piece(); diff --git a/src/parameters.scad b/src/parameters.scad index 99a8bc4..554e542 100644 --- a/src/parameters.scad +++ b/src/parameters.scad @@ -74,7 +74,7 @@ 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; +frame_bevel_height = 1.25; overhang_panel_bevel_height = 1; frame_center_to_neutrik = 70;