fix an issue with decorative plate sizing

I was taking a hull of the whole button negative shape in many places,
rather than a hull of the sliced shape, which meant the amount of
decorative plate beyond the button holes varied depending on the exact
positioning of how it was sliced. this was brittle in general, but
more importantly made many plates too big when I cleaned up some code to
remove an override that I thought was irrelevant --- it was actually
affecting the overall geometry outside of the slice

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
This commit is contained in:
Brian S. Stephan 2025-03-28 08:20:07 -05:00
parent 432e6e74d5
commit d70ccf6491
Signed by: bss
GPG Key ID: 3DE06D3180895FCB
13 changed files with 42 additions and 37 deletions

View File

@ -31,7 +31,6 @@ color(frame_top_bottom_color) translate([frame_x/2-4, 0, -2.5]) rotate([180, 180
color(bottom_panel_color) translate([-panel_x/2, 0, -5-frame_z/2+5]) panel();
color(bottom_panel_color) translate([panel_x/2, 0, -5-frame_z/2+5]) panel();
/* color(top_deco_color) translate([0, 0, 3+frame_z/2-4]) dir_arc_plus_w_30mm_and_sega_2p_nine_decorative_plate_of_plates(); */
color(top_deco_color) translate([0, 0, 3+frame_z/2-panel_z]) dir_arc_plus_w_30mm_and_sega_2p_nine_decorative_plate();
color(top_deco_color) translate([-170, 20, 3+frame_z/2-panel_z]) lsx_nobi_dustwasher();
color(top_deco_color) translate([panel_x-24, 30, 3+frame_z/2-panel_z]) button_24mm_decorative_plate();

View File

@ -10,11 +10,13 @@ include <components.scad>
module aux_control_three_button_tight_cluster_decorative_plate() {
difference() {
// get a 2mm slice of the bigger button cylinders
translate([0, 0, -25]) hull() aux_control_three_button_tight_cluster();
// keep a thin slice
translate([0, 0, -100]) cube([500, 500, 198], center=true);
translate([0, 0, 100]) cube([500, 500, 198], center=true);
hull() difference() {
// get a 2mm slice of the decorative button cylinders
translate([0, 0, -50]) aux_control_three_button_tight_cluster();
// keep a thin slice
translate([0, 0, -100]) cube([500, 500, 198], center=true);
translate([0, 0, 100]) cube([500, 500, 198], center=true);
}
// cut out the normal holes
translate([0, 0, -1]) aux_control_three_button_tight_cluster();
}

View File

@ -9,8 +9,8 @@ include <components.scad>
module button_24mm_decorative_plate() {
difference() {
// get a 2mm slice of the bigger button cylinders
translate([0, 0, -55]) button_24mm_hole();
// get a 2mm slice of the decorative button cylinders
translate([0, 0, -50]) button_24mm_hole();
translate([0, 0, -100]) cube([500, 500, 198], center=true);
translate([0, 0, 100]) cube([500, 500, 198], center=true);
// cut out the normal holes

View File

@ -8,8 +8,8 @@ include <components.scad>
module dir_arc_plus_w_24mm_8_button_decorative_plate() {
difference() {
// get a 2mm slice of the bigger button cylinders
translate([0, 0, -55]) dir_arc_plus_w_24mm_8_button();
// get a 2mm slice of the decorative button cylinders
translate([0, 0, -50]) dir_arc_plus_w_24mm_8_button();
translate([0, 0, -100]) cube([500, 500, 198], center=true);
translate([0, 0, 100]) cube([500, 500, 198], center=true);
// cut out the normal holes

View File

@ -12,7 +12,7 @@ module dir_arc_plus_w_30mm_and_sega_2p_nine_decorative_superplate() {
difference() {
union() {
hull() difference() {
// get a 2mm slice of the bigger button cylinders
// get a 2mm slice of the decorative button cylinders
union() {
translate([-panel_x/2, 0, -50]) dir_arc_w_30mm();
translate([panel_x/2, 0, -50]) sega_2p_nine();

View File

@ -8,10 +8,10 @@ include <components.scad>
module dir_arc_plus_w_30mm_and_sega_2p_nine_decorative_plate() {
difference() {
// get a 2mm slice of the bigger button cylinders
// get a 2mm slice of the jumbo decorative button cylinders
union() {
translate([-panel_x/2, 0, -65]) dir_arc_w_30mm();
translate([panel_x/2, 0, -65]) sega_2p_nine();
translate([-panel_x/2, 0, -70]) dir_arc_w_30mm();
translate([panel_x/2, 0, -70]) sega_2p_nine();
}
translate([0, 0, -100]) cube([500, 500, 198], center=true);
translate([0, 0, 100]) cube([500, 500, 198], center=true);

View File

@ -10,10 +10,12 @@ include <components.scad>
module dir_arc_plus_w_30mm_plate_decorative_plate() {
difference() {
// get a 2mm slice of the bigger button cylinders
translate([-panel_x/2, 0, -25]) hull() dir_arc_w_30mm();
translate([0, 0, -100]) cube([500, 500, 198], center=true);
translate([0, 0, 100]) cube([500, 500, 198], center=true);
hull() difference() {
// get a 2mm slice of the decorative button cylinders
translate([-panel_x/2, 0, -50]) dir_arc_w_30mm();
translate([0, 0, -100]) cube([500, 500, 198], center=true);
translate([0, 0, 100]) cube([500, 500, 198], center=true);
}
// cut out the normal holes
translate([-panel_x/2, 0, -1]) dir_arc_w_30mm();
}

View File

@ -8,8 +8,8 @@ include <components.scad>
module dir_arc_plus_w_30mm_decorative_plate() {
difference() {
// get a 2mm slice of the bigger button cylinders
translate([0, 0, -55]) dir_arc_w_30mm();
// get a 2mm slice of the decorative button cylinders
translate([0, 0, -50]) dir_arc_w_30mm();
translate([0, 0, -100]) cube([500, 500, 198], center=true);
translate([0, 0, 100]) cube([500, 500, 198], center=true);
// cut out the normal holes

View File

@ -8,8 +8,8 @@ include <components.scad>
module sega_2p_6_button_decorative_plate() {
difference() {
// get a 2mm slice of the bigger button cylinders
translate([0, 0, -55]) sega_2p_6_button();
// get a 2mm slice of the decorative button cylinders
translate([0, 0, -50]) sega_2p_6_button();
translate([0, 0, -100]) cube([500, 500, 198], center=true);
translate([0, 0, 100]) cube([500, 500, 198], center=true);
// cut out the normal holes

View File

@ -10,10 +10,12 @@ include <components.scad>
module sega_2p_eleven_plate_decorative_plate() {
difference() {
// get a 2mm slice of the bigger button cylinders
translate([panel_x/2, 0, -25]) hull() sega_2p_eleven();
translate([0, 0, -100]) cube([500, 500, 198], center=true);
translate([0, 0, 100]) cube([500, 500, 198], center=true);
hull() difference() {
// get a 2mm slice of the decorative button cylinders
translate([panel_x/2, 0, -50]) sega_2p_eleven();
translate([0, 0, -100]) cube([500, 500, 198], center=true);
translate([0, 0, 100]) cube([500, 500, 198], center=true);
}
// cut out the normal holes
translate([panel_x/2, 0, -1]) sega_2p_eleven();
}

View File

@ -8,17 +8,17 @@ include <parameters.scad>
decorative_radius_scale = 1.5;
include <components.scad>
module sega_2p_nine_decorative_plate_of_plates() {
module sega_2p_nine_decorative_plate() {
difference() {
// get a 2mm slice of the bigger button cylinders
union() {
translate([panel_x/2, 0, -25]) hull() sega_2p_nine();
hull() difference() {
// get a 2mm slice of the decorative button cylinders
translate([panel_x/2, 0, -50]) sega_2p_nine();
translate([0, 0, -100]) cube([500, 500, 198], center=true);
translate([0, 0, 100]) cube([500, 500, 198], center=true);
}
translate([0, 0, -100]) cube([500, 500, 198], center=true);
translate([0, 0, 100]) cube([500, 500, 198], center=true);
// cut out the normal holes
translate([panel_x/2, 0, -1]) sega_2p_nine();
}
}
sega_2p_nine_decorative_plate_of_plates();
sega_2p_nine_decorative_plate();

View File

@ -8,8 +8,8 @@ include <components.scad>
module sega_2p_nine_decorative_plate() {
difference() {
// get a 2mm slice of the bigger button cylinders
translate([0, 0, -55]) sega_2p_nine();
// get a 2mm slice of the decorative button cylinders
translate([0, 0, -50]) sega_2p_nine();
translate([0, 0, -100]) cube([500, 500, 198], center=true);
translate([0, 0, 100]) cube([500, 500, 198], center=true);
// cut out the normal holes

View File

@ -9,8 +9,8 @@ include <components.scad>
module sega_2p_decorative_plate() {
difference() {
// get a 2mm slice of the bigger button cylinders
translate([0, 0, -55]) sega_2p();
// get a 2mm slice of the decorative button cylinders
translate([0, 0, -50]) sega_2p();
translate([0, 0, -100]) cube([500, 500, 198], center=true);
translate([0, 0, 100]) cube([500, 500, 198], center=true);
// cut out the normal holes