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 <bss@incorporeal.org>
This commit is contained in:
Brian S. Stephan 2026-01-06 16:31:10 -06:00
parent 8b5d994847
commit 80ce81c465
Signed by: bss
GPG Key ID: 3DE06D3180895FCB
4 changed files with 12 additions and 18 deletions

View File

@ -9,7 +9,7 @@ use <front-or-back.scad>
module clean_front_or_back() { module clean_front_or_back() {
difference() { difference() {
clean_edge_front_or_back_frame_piece(); 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);
}; };
@ -17,7 +17,7 @@ module clean_front_or_back() {
module bottom_piece_wall() { module bottom_piece_wall() {
// get a slice of the piece (before the bevel), to use it in extruding // 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(); clean_front_or_back();
} }
@ -25,12 +25,12 @@ module bottom_piece_extension() {
// combine the original with a shrunken piece to "pull" the wall out // combine the original with a shrunken piece to "pull" the wall out
hull() { hull() {
linear_extrude(height=frame_extension_y) scale([1, 0.5, 1]) bottom_piece_wall(); 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() { 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(); translate([0, -frame_y/2+frame_wall, 0]) rotate([90, 0, 0]) bottom_piece_extension();
} }

View File

@ -11,18 +11,15 @@ use <front-or-back-trapezoid.scad>
module side_and_bottom_frame_piece_wall() { module side_and_bottom_frame_piece_wall() {
// get a slice of the pieces, to use it in extruding // 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 projection(cut=true) rotate([0, 90, 0]) translate([frame_x/2-frame_wall+0.01, 0, 0]) side_frame_piece();
// not creating a clean thing to cut, so we just take the whole wall and use that projection(cut=true) translate([0, -frame_y/2+frame_wall+0.01, 0]) rotate([90, 90, 0]) bottom_piece_extension();
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();
} }
module side_and_bottom_frame_piece_extension() { module side_and_bottom_frame_piece_extension() {
// combine the original with a shrunken piece to "pull" the wall out // combine the original with a shrunken piece to "pull" the wall out
hull() { hull() {
linear_extrude(height=frame_extension_y) scale([0.5, 0.90, 1]) side_and_bottom_frame_piece_wall(); 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 // 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]) 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(); side_trapezoid_extended_to_front_frame_piece();

View File

@ -10,17 +10,14 @@ use <side.scad>
module side_frame_piece_wall() { module side_frame_piece_wall() {
// get a slice of the piece, to use it in extruding // 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 projection(cut=true) rotate([0, 90, 0]) translate([frame_x/2-frame_wall+0.01, 0, 0]) side_frame_piece();
// 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() { module side_frame_piece_extension() {
// combine the original with a shrunken piece to "pull" the wall out // combine the original with a shrunken piece to "pull" the wall out
hull() { hull() {
linear_extrude(height=frame_extension_y) scale([0.5, 0.85, 1]) side_frame_piece_wall(); 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 // 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]) 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(); side_trapezoid_frame_piece();

View File

@ -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 // 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 // when creating the frame box / overhang panel
frame_bevel_height = 2; frame_bevel_height = 1.25;
overhang_panel_bevel_height = 1; overhang_panel_bevel_height = 1;
frame_center_to_neutrik = 70; frame_center_to_neutrik = 70;