mirror of
https://github.com/rsheldiii/KeyV2.git
synced 2025-09-13 15:49:50 +00:00
fix stab support and hulled keycaps with stem_support disabled
This commit is contained in:
parent
e8ce3f5c5e
commit
0d807f3b14
1 changed files with 14 additions and 11 deletions
25
src/key.scad
25
src/key.scad
|
@ -162,7 +162,9 @@ module inner_shape(extra_wall_thickness = 0, extra_keytop_thickness = 0) {
|
||||||
if ($inner_shape_type == "flat") {
|
if ($inner_shape_type == "flat") {
|
||||||
/* $key_shape_type="square"; */
|
/* $key_shape_type="square"; */
|
||||||
$height_slices = 1;
|
$height_slices = 1;
|
||||||
color($primary_color) shape_hull($wall_thickness + extra_wall_thickness, $keytop_thickness + extra_keytop_thickness, 0);
|
// if inner_shape is flat, keytop_thickness will be dish_depth less than it should be, since the dish digs in that far.
|
||||||
|
// so, we add dish_depth here
|
||||||
|
color($primary_color) shape_hull($wall_thickness + extra_wall_thickness, $keytop_thickness + extra_keytop_thickness + $dish_depth, 0);
|
||||||
} else {
|
} else {
|
||||||
shape($wall_thickness + extra_wall_thickness, $keytop_thickness + extra_keytop_thickness);
|
shape($wall_thickness + extra_wall_thickness, $keytop_thickness + extra_keytop_thickness);
|
||||||
}
|
}
|
||||||
|
@ -191,6 +193,17 @@ module subtractive_features(inset) {
|
||||||
/* if ($clearance_check) clearance_check(); */
|
/* if ($clearance_check) clearance_check(); */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// features inside the key itself (stem, supports, etc)
|
||||||
|
module inside_features() {
|
||||||
|
// Stems and stabilizers are not "inside features" unless they are fully
|
||||||
|
// contained inside the cap. otherwise they'd be cut off when they are
|
||||||
|
// differenced with the outside shape. this only matters if $stem_inset
|
||||||
|
// is negative
|
||||||
|
if ($stem_inset >= 0) stems_and_stabilizers();
|
||||||
|
if ($support_type != "disable") translate([0, 0, $stem_inset]) support_for($stem_positions, $stem_type);
|
||||||
|
if ($stabilizer_type != "disable") translate([0, 0, $stem_inset]) support_for($stabilizers, $stabilizer_type);
|
||||||
|
}
|
||||||
|
|
||||||
// all stems and stabilizers
|
// all stems and stabilizers
|
||||||
module stems_and_stabilizers() {
|
module stems_and_stabilizers() {
|
||||||
translate([0, 0, $stem_inset]) {
|
translate([0, 0, $stem_inset]) {
|
||||||
|
@ -199,16 +212,6 @@ module stems_and_stabilizers() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// features inside the key itself (stem, supports, etc)
|
|
||||||
module inside_features() {
|
|
||||||
// Stems and stabilizers are not "inside features" unless they are fully
|
|
||||||
// contained inside the cap. otherwise they'd be cut off when they are
|
|
||||||
// differenced with the outside shape
|
|
||||||
if ($stem_inset >= 0) stems_and_stabilizers();
|
|
||||||
if ($support_type != "disable") translate([0, 0, $stem_inset]) support_for($stem_positions, $stem_type);
|
|
||||||
if ($stabilizer_type != "disable") translate([0, 0, $stem_inset]) support_for($stabilizers, $stabilizer_type);
|
|
||||||
}
|
|
||||||
|
|
||||||
// helpers for doubleshot keycaps for now
|
// helpers for doubleshot keycaps for now
|
||||||
module inner_total_shape() {
|
module inner_total_shape() {
|
||||||
difference() {
|
difference() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue