odds and ends

This commit is contained in:
Robert Sheldon 2018-06-28 02:08:20 -04:00
parent baa58785d8
commit a870aa041c
5 changed files with 43 additions and 36 deletions

View File

@ -137,6 +137,7 @@ Prints from this library are still challenging, despite all efforts to the contr
That's it, if you have any questions feel free to open an issue or leave a comment on thingiverse! That's it, if you have any questions feel free to open an issue or leave a comment on thingiverse!
## TODO: ## TODO:
* enable customizer to print spacebars
* switch dishing logic from a super large cube to a bounding box intersection * switch dishing logic from a super large cube to a bounding box intersection
* update this documentation! * update this documentation!
* replace linear_extrude_shape_hull with skin_extrude_shape_hull or something, to enable concave extrusions * replace linear_extrude_shape_hull with skin_extrude_shape_hull or something, to enable concave extrusions

View File

@ -16,17 +16,17 @@ legend = "";
// what type of stem you want. Most people want Cherry. // what type of stem you want. Most people want Cherry.
$stem_type = "cherry"; // [cherry, alps, rounded_cherry, filled, disable] $stem_type = "cherry"; // [cherry, alps, rounded_cherry, filled, disable]
// support type. default is "flared" for easy FDM printing. to disable pass false // support type. default is "flared" for easy FDM printing; bars are more realistic, and flat could be for artisans
$support_type = "flared"; // [flared, bars, flat, disable] $support_type = "flared"; // [flared, bars, flat, disable]
// length in units of key. A regular key is 1 unit; spacebar is usually 6.25 // length in units of key. A regular key is 1 unit; spacebar is usually 6.25
$key_length = 1; $key_length = 1.0; // range not working in thingiverse customizer atm [1:0.25:16]
// print brim for connector to help with bed adhesion // print brim for connector to help with bed adhesion
$has_brim = false; $has_brim = false;
// the stem is the hardest part to print, so this variable controls how much 'slop' there is in the stem // the stem is the hardest part to print, so this variable controls how much 'slop' there is in the stem
$stem_slop = 0.3; $stem_slop = 0.3; // not working in thingiverse customizer atm [0:0.01:1]
// font size used for text // font size used for text
$font_size = 6; $font_size = 6;
@ -34,12 +34,14 @@ $font_size = 6;
// invert dishing. mostly for spacebar // invert dishing. mostly for spacebar
$inverted_dish = false; $inverted_dish = false;
// Enable stabilizers. If you don't want stabilizers use disable; most other keycaps use Cherry stabilizers
$stabilizer_type = "disable"; // [cherry, rounded_cherry, alps, disable]
/* [Advanced] */ /* [Advanced] */
/* Key */ /* Key */
// height in units of key. should remain 1 for most uses // height in units of key. should remain 1 for most uses
$key_height = 1; $key_height = 1.0;
// keytop thickness, aka how many millimeters between the inside and outside of the top surface of the key // keytop thickness, aka how many millimeters between the inside and outside of the top surface of the key
$keytop_thickness = 1; $keytop_thickness = 1;
// wall thickness, aka the thickness of the sides of the keycap. note this is the total thickness, aka 3 = 1.5mm walls // wall thickness, aka the thickness of the sides of the keycap. note this is the total thickness, aka 3 = 1.5mm walls
@ -80,11 +82,11 @@ $stem_rotation = 0;
/* Stabilizers */ /* Stabilizers */
// ternary is ONLY for customizer. it will NOT work if you're using this in
// openSCAD, unless you're using the customizer. you should use stabilized() or
// set the variable directly
// array of positions of stabilizers // array of positions of stabilizers
$stabilizers = [[-50,0],[50,0]]; $stabilizers = $key_length > 5.75 ? [[-50, 0], [50, 0]] : [[-12,0],[12,0]];
// what type of stem you want for the stabilizers. false disables
$stabilizer_type = false;
/* Shape */ /* Shape */
@ -762,7 +764,7 @@ function cherry_cross(slop) = [
// horizontal tine // horizontal tine
[4.03 + slop, 1.15 + slop / 3], [4.03 + slop, 1.15 + slop / 3],
// vertical tine // vertical tine
[1.25 + slop / 3, 5.5 - slop * 2 + .005], [1.25 + slop / 3, 4.9 + slop / 3 + .005],
]; ];
module cherry_stem(depth, has_brim, slop) { module cherry_stem(depth, has_brim, slop) {
@ -804,8 +806,8 @@ module cherry_stem(depth, has_brim, slop) {
function cherry_cross(slop) = [ function cherry_cross(slop) = [
// horizontal tine // horizontal tine
[4.03 + slop, 1.15 + slop / 3], [4.03 + slop, 1.15 + slop / 3],
// vertical tine // vertical tine. can't really afford much slop
[1.25 + slop / 3, 5.5 - slop * 2 + .005], [1.25 + slop / 3, 4.9 + slop / 6 + .005],
]; ];
module rounded_cherry_stem(depth, has_brim, slop) { module rounded_cherry_stem(depth, has_brim, slop) {
@ -1559,17 +1561,17 @@ module example_key(){
// what type of stem you want. Most people want Cherry. // what type of stem you want. Most people want Cherry.
$stem_type = "cherry"; // [cherry, alps, rounded_cherry, filled, disable] $stem_type = "cherry"; // [cherry, alps, rounded_cherry, filled, disable]
// support type. default is "flared" for easy FDM printing. to disable pass false // support type. default is "flared" for easy FDM printing; bars are more realistic, and flat could be for artisans
$support_type = "flared"; // [flared, bars, flat, disable] $support_type = "flared"; // [flared, bars, flat, disable]
// length in units of key. A regular key is 1 unit; spacebar is usually 6.25 // length in units of key. A regular key is 1 unit; spacebar is usually 6.25
$key_length = 1; $key_length = 1.0; // range not working in thingiverse customizer atm [1:0.25:16]
// print brim for connector to help with bed adhesion // print brim for connector to help with bed adhesion
$has_brim = false; $has_brim = false;
// the stem is the hardest part to print, so this variable controls how much 'slop' there is in the stem // the stem is the hardest part to print, so this variable controls how much 'slop' there is in the stem
$stem_slop = 0.3; $stem_slop = 0.3; // not working in thingiverse customizer atm [0:0.01:1]
// font size used for text // font size used for text
$font_size = 6; $font_size = 6;
@ -1577,12 +1579,14 @@ $font_size = 6;
// invert dishing. mostly for spacebar // invert dishing. mostly for spacebar
$inverted_dish = false; $inverted_dish = false;
// Enable stabilizers. If you don't want stabilizers use disable; most other keycaps use Cherry stabilizers
$stabilizer_type = "disable"; // [cherry, rounded_cherry, alps, disable]
/* [Advanced] */ /* [Advanced] */
/* Key */ /* Key */
// height in units of key. should remain 1 for most uses // height in units of key. should remain 1 for most uses
$key_height = 1; $key_height = 1.0;
// keytop thickness, aka how many millimeters between the inside and outside of the top surface of the key // keytop thickness, aka how many millimeters between the inside and outside of the top surface of the key
$keytop_thickness = 1; $keytop_thickness = 1;
// wall thickness, aka the thickness of the sides of the keycap. note this is the total thickness, aka 3 = 1.5mm walls // wall thickness, aka the thickness of the sides of the keycap. note this is the total thickness, aka 3 = 1.5mm walls
@ -1623,11 +1627,11 @@ $stem_rotation = 0;
/* Stabilizers */ /* Stabilizers */
// ternary is ONLY for customizer. it will NOT work if you're using this in
// openSCAD, unless you're using the customizer. you should use stabilized() or
// set the variable directly
// array of positions of stabilizers // array of positions of stabilizers
$stabilizers = [[-50,0],[50,0]]; $stabilizers = $key_length > 5.75 ? [[-50, 0], [50, 0]] : [[-12,0],[12,0]];
// what type of stem you want for the stabilizers. false disables
$stabilizer_type = false;
/* Shape */ /* Shape */

View File

@ -3,17 +3,17 @@
// what type of stem you want. Most people want Cherry. // what type of stem you want. Most people want Cherry.
$stem_type = "cherry"; // [cherry, alps, rounded_cherry, filled, disable] $stem_type = "cherry"; // [cherry, alps, rounded_cherry, filled, disable]
// support type. default is "flared" for easy FDM printing. to disable pass false // support type. default is "flared" for easy FDM printing; bars are more realistic, and flat could be for artisans
$support_type = "flared"; // [flared, bars, flat, disable] $support_type = "flared"; // [flared, bars, flat, disable]
// length in units of key. A regular key is 1 unit; spacebar is usually 6.25 // length in units of key. A regular key is 1 unit; spacebar is usually 6.25
$key_length = 1; $key_length = 1.0; // range not working in thingiverse customizer atm [1:0.25:16]
// print brim for connector to help with bed adhesion // print brim for connector to help with bed adhesion
$has_brim = false; $has_brim = false;
// the stem is the hardest part to print, so this variable controls how much 'slop' there is in the stem // the stem is the hardest part to print, so this variable controls how much 'slop' there is in the stem
$stem_slop = 0.3; $stem_slop = 0.3; // not working in thingiverse customizer atm [0:0.01:1]
// font size used for text // font size used for text
$font_size = 6; $font_size = 6;
@ -21,12 +21,14 @@ $font_size = 6;
// invert dishing. mostly for spacebar // invert dishing. mostly for spacebar
$inverted_dish = false; $inverted_dish = false;
// Enable stabilizers. If you don't want stabilizers use disable; most other keycaps use Cherry stabilizers
$stabilizer_type = "disable"; // [cherry, rounded_cherry, alps, disable]
/* [Advanced] */ /* [Advanced] */
/* Key */ /* Key */
// height in units of key. should remain 1 for most uses // height in units of key. should remain 1 for most uses
$key_height = 1; $key_height = 1.0;
// keytop thickness, aka how many millimeters between the inside and outside of the top surface of the key // keytop thickness, aka how many millimeters between the inside and outside of the top surface of the key
$keytop_thickness = 1; $keytop_thickness = 1;
// wall thickness, aka the thickness of the sides of the keycap. note this is the total thickness, aka 3 = 1.5mm walls // wall thickness, aka the thickness of the sides of the keycap. note this is the total thickness, aka 3 = 1.5mm walls
@ -67,11 +69,11 @@ $stem_rotation = 0;
/* Stabilizers */ /* Stabilizers */
// ternary is ONLY for customizer. it will NOT work if you're using this in
// openSCAD, unless you're using the customizer. you should use stabilized() or
// set the variable directly
// array of positions of stabilizers // array of positions of stabilizers
$stabilizers = [[-50,0],[50,0]]; $stabilizers = $key_length > 5.75 ? [[-50, 0], [50, 0]] : [[-12,0],[12,0]];
// what type of stem you want for the stabilizers. false disables
$stabilizer_type = false;
/* Shape */ /* Shape */

View File

@ -6,7 +6,7 @@ function cherry_cross(slop) = [
// horizontal tine // horizontal tine
[4.03 + slop, 1.15 + slop / 3], [4.03 + slop, 1.15 + slop / 3],
// vertical tine // vertical tine
[1.25 + slop / 3, 5.5 - slop * 2 + .005], [1.25 + slop / 3, 4.9 + slop / 3 + .005],
]; ];
module cherry_stem(depth, has_brim, slop) { module cherry_stem(depth, has_brim, slop) {

View File

@ -2,8 +2,8 @@
function cherry_cross(slop) = [ function cherry_cross(slop) = [
// horizontal tine // horizontal tine
[4.03 + slop, 1.15 + slop / 3], [4.03 + slop, 1.15 + slop / 3],
// vertical tine // vertical tine. can't really afford much slop
[1.25 + slop / 3, 5.5 - slop * 2 + .005], [1.25 + slop / 3, 4.9 + slop / 6 + .005],
]; ];
module rounded_cherry_stem(depth, has_brim, slop) { module rounded_cherry_stem(depth, has_brim, slop) {