mirror of
https://github.com/rsheldiii/KeyV2.git
synced 2025-03-24 23:32:41 +00:00
quick stem updates
probably best to pass the stem throw to the stems eh?
This commit is contained in:
parent
69175f08e4
commit
24e280fe3c
9 changed files with 51 additions and 45 deletions
|
@ -706,14 +706,13 @@ module iso_enter() {
|
||||||
$key_length = 1.5;
|
$key_length = 1.5;
|
||||||
$key_height = 2;
|
$key_height = 2;
|
||||||
|
|
||||||
$top_tilt = 10;
|
$top_tilt = 0;
|
||||||
$stem_support_type = "disable";
|
$stem_support_type = "disable";
|
||||||
$key_shape_type = "iso_enter";
|
$key_shape_type = "iso_enter";
|
||||||
/* $linear_extrude_shape = true; */
|
/* $linear_extrude_shape = true; */
|
||||||
/* $skin_extrude_shape = true; */
|
|
||||||
$linear_extrude_height_adjustment = 19.05 * 0.5;
|
$linear_extrude_height_adjustment = 19.05 * 0.5;
|
||||||
// this equals (unit_length(1.5) - unit_length(1.25)) / 2
|
// this equals (unit_length(1.5) - unit_length(1.25)) / 2
|
||||||
$dish_overdraw_width = 13.84125;
|
$dish_overdraw_width = 2.38125;
|
||||||
|
|
||||||
|
|
||||||
stabilized(vertical=true) {
|
stabilized(vertical=true) {
|
||||||
|
@ -999,7 +998,6 @@ unit = 19.05;
|
||||||
// NOT 3D
|
// NOT 3D
|
||||||
function unit_length(length) = unit * (length - 1) + 18.16;
|
function unit_length(length) = unit * (length - 1) + 18.16;
|
||||||
|
|
||||||
|
|
||||||
module ISO_enter_shape(size, delta, progress){
|
module ISO_enter_shape(size, delta, progress){
|
||||||
width = size[0];
|
width = size[0];
|
||||||
height = size[1];
|
height = size[1];
|
||||||
|
@ -1014,21 +1012,19 @@ module ISO_enter_shape(size, delta, progress){
|
||||||
width_ratio = unit_length(1.25) / unit_length(1.5);
|
width_ratio = unit_length(1.25) / unit_length(1.5);
|
||||||
height_ratio = unit_length(1) / unit_length(2);
|
height_ratio = unit_length(1) / unit_length(2);
|
||||||
|
|
||||||
delta = delta / 2;
|
|
||||||
|
|
||||||
pointArray = [
|
pointArray = [
|
||||||
[ 0-delta.x, 0-delta.y], // top right
|
[ 0, 0], // top right
|
||||||
[ 0-delta.x, -height+delta.y], // bottom right
|
[ 0, -height], // bottom right
|
||||||
[-width * width_ratio+delta.x, -height+delta.y], // bottom left
|
[-width * width_ratio, -height], // bottom left
|
||||||
[-width * width_ratio + delta.x,-height * height_ratio+delta.y], // inner middle point
|
[-width * width_ratio,-height * height_ratio], // inner middle point
|
||||||
[ -width + delta.x,-height * height_ratio + delta.y], // outer middle point
|
[ -width,-height * height_ratio], // outer middle point
|
||||||
[ -width + delta.x, 0-delta.y] // top left
|
[ -width, 0] // top left
|
||||||
];
|
];
|
||||||
|
|
||||||
minkowski(){
|
minkowski(){
|
||||||
circle(r=$corner_radius);
|
circle(r=corner_size);
|
||||||
// gives us rounded inner corner
|
// gives us rounded inner corner
|
||||||
offset(r=-$corner_radius*2) {
|
offset(r=-corner_size*2) {
|
||||||
translate([(width * width_ratio)/2, height/2]) polygon(points=pointArray);
|
translate([(width * width_ratio)/2, height/2]) polygon(points=pointArray);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1227,7 +1223,7 @@ module rounded_square_shape(size, delta, progress, center = true) {
|
||||||
// for skin
|
// for skin
|
||||||
|
|
||||||
function skin_rounded_square(size, delta, progress, thickness_difference) =
|
function skin_rounded_square(size, delta, progress, thickness_difference) =
|
||||||
rounded_rectangle_profile(size - (delta * progress) - [thickness_difference, thickness_difference], fn=$shape_facets, r=$corner_radius);
|
rounded_rectangle_profile(size - (delta * progress), fn=$shape_facets, r=$corner_radius);
|
||||||
SMALLEST_POSSIBLE = 1/128;
|
SMALLEST_POSSIBLE = 1/128;
|
||||||
|
|
||||||
// I use functions when I need to compute special variables off of other special variables
|
// I use functions when I need to compute special variables off of other special variables
|
||||||
|
@ -1498,7 +1494,7 @@ module inside_cherry_cross(slop) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module cherry_stem(depth, slop) {
|
module cherry_stem(depth, slop, throw) {
|
||||||
difference(){
|
difference(){
|
||||||
// outside shape
|
// outside shape
|
||||||
linear_extrude(height = depth) {
|
linear_extrude(height = depth) {
|
||||||
|
@ -1656,7 +1652,7 @@ module inside_cherry_cross(slop) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module cherry_stem(depth, slop) {
|
module cherry_stem(depth, slop, throw) {
|
||||||
difference(){
|
difference(){
|
||||||
// outside shape
|
// outside shape
|
||||||
linear_extrude(height = depth) {
|
linear_extrude(height = depth) {
|
||||||
|
@ -1669,7 +1665,7 @@ module cherry_stem(depth, slop) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module rounded_cherry_stem(depth, slop) {
|
module rounded_cherry_stem(depth, slop, throw) {
|
||||||
difference(){
|
difference(){
|
||||||
cylinder(d=$rounded_cherry_stem_d, h=depth);
|
cylinder(d=$rounded_cherry_stem_d, h=depth);
|
||||||
|
|
||||||
|
@ -1824,7 +1820,7 @@ module inside_cherry_cross(slop) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module cherry_stem(depth, slop) {
|
module cherry_stem(depth, slop, throw) {
|
||||||
difference(){
|
difference(){
|
||||||
// outside shape
|
// outside shape
|
||||||
linear_extrude(height = depth) {
|
linear_extrude(height = depth) {
|
||||||
|
@ -1837,7 +1833,7 @@ module cherry_stem(depth, slop) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module box_cherry_stem(depth, slop) {
|
module box_cherry_stem(depth, slop, throw) {
|
||||||
difference(){
|
difference(){
|
||||||
// outside shape
|
// outside shape
|
||||||
linear_extrude(height = depth) {
|
linear_extrude(height = depth) {
|
||||||
|
@ -1850,12 +1846,12 @@ module box_cherry_stem(depth, slop) {
|
||||||
inside_cherry_cross(slop);
|
inside_cherry_cross(slop);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
module alps_stem(depth, has_brim, slop){
|
module alps_stem(depth, slop, throw){
|
||||||
linear_extrude(height=depth) {
|
linear_extrude(height=depth) {
|
||||||
square($alps_stem, center = true);
|
square($alps_stem, center = true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
module filled_stem() {
|
module filled_stem(_depth, _slop, _throw) {
|
||||||
// I broke the crap out of this stem type due to the changes I made around how stems are differenced
|
// I broke the crap out of this stem type due to the changes I made around how stems are differenced
|
||||||
// now that we just take the dish out of stems in order to support stuff like
|
// now that we just take the dish out of stems in order to support stuff like
|
||||||
// bare stem keycaps (and buckling spring eventually) we can't just make a
|
// bare stem keycaps (and buckling spring eventually) we can't just make a
|
||||||
|
@ -1941,7 +1937,7 @@ module inside_cherry_stabilizer_cross(slop) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module cherry_stabilizer_stem(depth, slop) {
|
module cherry_stabilizer_stem(depth, slop, throw) {
|
||||||
difference(){
|
difference(){
|
||||||
// outside shape
|
// outside shape
|
||||||
linear_extrude(height = depth) {
|
linear_extrude(height = depth) {
|
||||||
|
@ -1953,22 +1949,31 @@ module cherry_stabilizer_stem(depth, slop) {
|
||||||
inside_cherry_stabilizer_cross(slop);
|
inside_cherry_stabilizer_cross(slop);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
thickness = .84;
|
||||||
|
|
||||||
|
module custom_stem(depth, slop, throw){
|
||||||
|
linear_extrude(height=depth) {
|
||||||
|
square($alps_stem, center = true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//whole stem, alps or cherry, trimmed to fit
|
//whole stem, alps or cherry, trimmed to fit
|
||||||
module stem(stem_type, depth, slop){
|
module stem(stem_type, depth, slop, throw){
|
||||||
if (stem_type == "alps") {
|
if (stem_type == "alps") {
|
||||||
alps_stem(depth, slop);
|
alps_stem(depth, slop, throw);
|
||||||
} else if (stem_type == "cherry" || stem_type == "costar_stabilizer") {
|
} else if (stem_type == "cherry" || stem_type == "costar_stabilizer") {
|
||||||
cherry_stem(depth, slop);
|
cherry_stem(depth, slop, throw);
|
||||||
} else if (stem_type == "rounded_cherry") {
|
} else if (stem_type == "rounded_cherry") {
|
||||||
rounded_cherry_stem(depth, slop);
|
rounded_cherry_stem(depth, slop, throw);
|
||||||
} else if (stem_type == "box_cherry") {
|
} else if (stem_type == "box_cherry") {
|
||||||
box_cherry_stem(depth, slop);
|
box_cherry_stem(depth, slop, throw);
|
||||||
} else if (stem_type == "filled") {
|
} else if (stem_type == "filled") {
|
||||||
filled_stem();
|
filled_stem();
|
||||||
} else if (stem_type == "cherry_stabilizer") {
|
} else if (stem_type == "cherry_stabilizer") {
|
||||||
cherry_stabilizer_stem(depth, slop);
|
cherry_stabilizer_stem(depth, slop, throw);
|
||||||
|
} else if (stem_type == "custom") {
|
||||||
|
custom_stem(depth, slop, throw);
|
||||||
} else if (stem_type == "disable") {
|
} else if (stem_type == "disable") {
|
||||||
children();
|
children();
|
||||||
} else {
|
} else {
|
||||||
|
@ -2122,7 +2127,7 @@ module inside_cherry_cross(slop) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module cherry_stem(depth, slop) {
|
module cherry_stem(depth, slop, throw) {
|
||||||
difference(){
|
difference(){
|
||||||
// outside shape
|
// outside shape
|
||||||
linear_extrude(height = depth) {
|
linear_extrude(height = depth) {
|
||||||
|
@ -2325,7 +2330,7 @@ module inside_cherry_cross(slop) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module cherry_stem(depth, slop) {
|
module cherry_stem(depth, slop, throw) {
|
||||||
difference(){
|
difference(){
|
||||||
// outside shape
|
// outside shape
|
||||||
linear_extrude(height = depth) {
|
linear_extrude(height = depth) {
|
||||||
|
@ -4182,7 +4187,7 @@ module support_for(positions, stem_type) {
|
||||||
|
|
||||||
module stems_for(positions, stem_type) {
|
module stems_for(positions, stem_type) {
|
||||||
keystem_positions(positions) {
|
keystem_positions(positions) {
|
||||||
color($tertiary_color) stem(stem_type, $total_depth, $stem_slop);
|
color($tertiary_color) stem(stem_type, $total_depth, $stem_slop, $stem_throw);
|
||||||
if ($stem_support_type != "disable") {
|
if ($stem_support_type != "disable") {
|
||||||
color($quaternary_color) stem_support($stem_support_type, stem_type, $stem_support_height, $stem_slop);
|
color($quaternary_color) stem_support($stem_support_type, stem_type, $stem_support_height, $stem_slop);
|
||||||
}
|
}
|
||||||
|
|
|
@ -299,7 +299,7 @@ module support_for(positions, stem_type) {
|
||||||
|
|
||||||
module stems_for(positions, stem_type) {
|
module stems_for(positions, stem_type) {
|
||||||
keystem_positions(positions) {
|
keystem_positions(positions) {
|
||||||
color($tertiary_color) stem(stem_type, $total_depth, $stem_slop);
|
color($tertiary_color) stem(stem_type, $total_depth, $stem_slop, $stem_throw);
|
||||||
if ($stem_support_type != "disable") {
|
if ($stem_support_type != "disable") {
|
||||||
color($quaternary_color) stem_support($stem_support_type, stem_type, $stem_support_height, $stem_slop);
|
color($quaternary_color) stem_support($stem_support_type, stem_type, $stem_support_height, $stem_slop);
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,22 +4,23 @@ include <stems/box_cherry.scad>
|
||||||
include <stems/alps.scad>
|
include <stems/alps.scad>
|
||||||
include <stems/filled.scad>
|
include <stems/filled.scad>
|
||||||
include <stems/cherry_stabilizer.scad>
|
include <stems/cherry_stabilizer.scad>
|
||||||
|
include <stems/custom.scad>
|
||||||
|
|
||||||
|
|
||||||
//whole stem, alps or cherry, trimmed to fit
|
//whole stem, alps or cherry, trimmed to fit
|
||||||
module stem(stem_type, depth, slop){
|
module stem(stem_type, depth, slop, throw){
|
||||||
if (stem_type == "alps") {
|
if (stem_type == "alps") {
|
||||||
alps_stem(depth, slop);
|
alps_stem(depth, slop, throw);
|
||||||
} else if (stem_type == "cherry" || stem_type == "costar_stabilizer") {
|
} else if (stem_type == "cherry" || stem_type == "costar_stabilizer") {
|
||||||
cherry_stem(depth, slop);
|
cherry_stem(depth, slop, throw);
|
||||||
} else if (stem_type == "rounded_cherry") {
|
} else if (stem_type == "rounded_cherry") {
|
||||||
rounded_cherry_stem(depth, slop);
|
rounded_cherry_stem(depth, slop, throw);
|
||||||
} else if (stem_type == "box_cherry") {
|
} else if (stem_type == "box_cherry") {
|
||||||
box_cherry_stem(depth, slop);
|
box_cherry_stem(depth, slop, throw);
|
||||||
} else if (stem_type == "filled") {
|
} else if (stem_type == "filled") {
|
||||||
filled_stem();
|
filled_stem();
|
||||||
} else if (stem_type == "cherry_stabilizer") {
|
} else if (stem_type == "cherry_stabilizer") {
|
||||||
cherry_stabilizer_stem(depth, slop);
|
cherry_stabilizer_stem(depth, slop, throw);
|
||||||
} else if (stem_type == "disable") {
|
} else if (stem_type == "disable") {
|
||||||
children();
|
children();
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
module alps_stem(depth, has_brim, slop){
|
module alps_stem(depth, slop, throw){
|
||||||
linear_extrude(height=depth) {
|
linear_extrude(height=depth) {
|
||||||
square($alps_stem, center = true);
|
square($alps_stem, center = true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include <../functions.scad>
|
include <../functions.scad>
|
||||||
include <cherry.scad>
|
include <cherry.scad>
|
||||||
|
|
||||||
module box_cherry_stem(depth, slop) {
|
module box_cherry_stem(depth, slop, throw) {
|
||||||
difference(){
|
difference(){
|
||||||
// outside shape
|
// outside shape
|
||||||
linear_extrude(height = depth) {
|
linear_extrude(height = depth) {
|
||||||
|
|
|
@ -23,7 +23,7 @@ module inside_cherry_cross(slop) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module cherry_stem(depth, slop) {
|
module cherry_stem(depth, slop, throw) {
|
||||||
difference(){
|
difference(){
|
||||||
// outside shape
|
// outside shape
|
||||||
linear_extrude(height = depth) {
|
linear_extrude(height = depth) {
|
||||||
|
|
|
@ -15,7 +15,7 @@ module inside_cherry_stabilizer_cross(slop) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module cherry_stabilizer_stem(depth, slop) {
|
module cherry_stabilizer_stem(depth, slop, throw) {
|
||||||
difference(){
|
difference(){
|
||||||
// outside shape
|
// outside shape
|
||||||
linear_extrude(height = depth) {
|
linear_extrude(height = depth) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
module filled_stem() {
|
module filled_stem(_depth, _slop, _throw) {
|
||||||
// I broke the crap out of this stem type due to the changes I made around how stems are differenced
|
// I broke the crap out of this stem type due to the changes I made around how stems are differenced
|
||||||
// now that we just take the dish out of stems in order to support stuff like
|
// now that we just take the dish out of stems in order to support stuff like
|
||||||
// bare stem keycaps (and buckling spring eventually) we can't just make a
|
// bare stem keycaps (and buckling spring eventually) we can't just make a
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include <../functions.scad>
|
include <../functions.scad>
|
||||||
include <cherry.scad>
|
include <cherry.scad>
|
||||||
|
|
||||||
module rounded_cherry_stem(depth, slop) {
|
module rounded_cherry_stem(depth, slop, throw) {
|
||||||
difference(){
|
difference(){
|
||||||
cylinder(d=$rounded_cherry_stem_d, h=depth);
|
cylinder(d=$rounded_cherry_stem_d, h=depth);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue