diff --git a/customizer.scad b/customizer.scad index 55b7561..5ec3668 100644 --- a/customizer.scad +++ b/customizer.scad @@ -13,24 +13,24 @@ legend = ""; /* [Basic-Settings] */ -// 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, box_cherry, filled, disable] -// support type. default is "flared" for easy FDM printing; bars are more realistic, and flat could be for artisans +// 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] -// length in units of key. A regular key is 1 unit; spacebar is usually 6.25 -$key_length = 1.0; // range not working in thingiverse customizer atm [1:0.25:16] +// Length in units of key. A regular key is 1 unit; spacebar is usually 6.25 +$key_length = 1.0; // Range not working in thingiverse customizer atm [1:0.25:16] -// supports for the stem, as it often comes off during printing. disabled by default, but highly reccommended. +// Supports for the stem, as it often comes off during printing. disabled by default, but highly reccommended. $stem_support_type = "disable"; // [brim, tines, disabled] -// the stem is the hardest part to print, so this variable controls how much 'slop' there is in the stem -$stem_slop = 0.3; // not working in thingiverse customizer atm [0:0.01:1] +// The stem is the hardest part to print, so this variable controls how much 'slop' there is in the stem +$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; -// invert dishing. mostly for spacebar +// Invert dishing. mostly for spacebar $inverted_dish = false; // Enable stabilizers. If you don't want stabilizers use disable; most other keycaps use Cherry stabilizers @@ -39,80 +39,80 @@ $stabilizer_type = "disable"; // [cherry, rounded_cherry, alps, disable] /* [Advanced] */ /* 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.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; -// 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 $wall_thickness = 3; -// radius of corners of keycap +// Radius of corners of keycap $corner_radius = 1; -// width of the very bottom of the key +// Width of the very bottom of the key $bottom_key_width = 18.16; -// height (from the front) of the very bottom of the key +// Height (from the front) of the very bottom of the key $bottom_key_height = 18.16; -// how much less width there is on the top. eg top_key_width = bottom_key_width - width_difference +// How much less width there is on the top. eg top_key_width = bottom_key_width - width_difference $width_difference = 6; -// how much less height there is on the top +// How much less height there is on the top $height_difference = 4; -// how deep the key is, before adding a dish +// How deep the key is, before adding a dish $total_depth = 11.5; -// the tilt of the dish in degrees. divided by key height +// The tilt of the dish in degrees. divided by key height $top_tilt = -6; -// how skewed towards the back the top is (0 for center) +// How skewed towards the back the top is (0 for center) $top_skew = 1.7; /* Stem */ -// how far the throw distance of the switch is. determines how far the 'cross' in the cherry switch digs into the stem, and how long the keystem needs to be before supports can start. luckily, alps and cherries have a pretty similar throw. can modify to have stouter keycaps for low profile switches, etc +// How far the throw distance of the switch is. determines how far the 'cross' in the cherry switch digs into the stem, and how long the keystem needs to be before supports can start. luckily, alps and cherries have a pretty similar throw. can modify to have stouter keycaps for low profile switches, etc $stem_throw = 4; -// diameter of the outside of the rounded cherry stem +// Diameter of the outside of the rounded cherry stem $rounded_cherry_stem_d = 5.5; -// how much higher the stem is than the bottom of the keycap. -// inset stem requires support but is more accurate in some profiles +// How much higher the stem is than the bottom of the keycap. +// Inset stem requires support but is more accurate in some profiles $stem_inset = 0; -// how many degrees to rotate the stems. useful for sideways keycaps, maybe +// How many degrees to rotate the stems. useful for sideways keycaps, maybe $stem_rotation = 0; /* Shape */ -// key shape type, determines the shape of the key. default is 'rounded square' +// Key shape type, determines the shape of the key. default is 'rounded square' $key_shape_type = "rounded_square"; // ISO enter needs to be linear extruded NOT from the center. this tells the program how far up 'not from the center' is $linear_extrude_height_adjustment = 0; -// how many slices will be made, to approximate curves on corners. Leave at 1 if you are not curving corners -// if you're doing fancy bowed keycap sides, this controls how many slices you take +// How many slices will be made, to approximate curves on corners. Leave at 1 if you are not curving corners +// If you're doing fancy bowed keycap sides, this controls how many slices you take $height_slices = 1; /* Dish */ -// what type of dish the key has. note that unlike stems and supports a dish ALWAYS gets rendered. +// What type of dish the key has. note that unlike stems and supports a dish ALWAYS gets rendered. $dish_type = "cylindrical"; // [cylindrical, spherical, sideways cylindrical, old spherical, disable] -// how deep the dish 'digs' into the top of the keycap. this is max depth, so you can't find the height from total_depth - dish_depth. besides the top is skewed anyways +// How deep the dish 'digs' into the top of the keycap. this is max depth, so you can't find the height from total_depth - dish_depth. besides the top is skewed anyways $dish_depth = 1; -// how skewed in the x direction the dish is +// How skewed in the x direction the dish is $dish_skew_x = 0; -// how skewed in the y direction (height) the dish is +// How skewed in the y direction (height) the dish is $dish_skew_y = 0; -// if you need the dish to extend further, you can 'overdraw' the rectangle it will hit +// If you need the dish to extend further, you can 'overdraw' the rectangle it will hit $dish_overdraw_width = 0; -// same as width but for height +// Same as width but for height $dish_overdraw_height = 0; /* Misc */ -// there's a bevel on the cherry stems to aid insertion / guard against first layer squishing making a hard-to-fit stem. +// There's a bevel on the cherry stems to aid insertion / guard against first layer squishing making a hard-to-fit stem. $cherry_bevel = true; -// how tall in mm the stem support is, if there is any. stem support sits around the keystem and helps to secure it while printing. +// How tall in mm the stem support is, if there is any. stem support sits around the keystem and helps to secure it while printing. $stem_support_height = 0.4; -// font used for text +// Font used for text $font="DejaVu Sans Mono:style=Book"; -// whether or not to render fake keyswitches to check clearances +// Whether or not to render fake keyswitches to check clearances $clearance_check = false; -// use linear_extrude instead of hull slices to make the shape of the key -// should be faster, also required for concave shapes +// Use linear_extrude instead of hull slices to make the shape of the key +// Should be faster, also required for concave shapes $linear_extrude_shape = false; //should the key be rounded? unnecessary for most printers, and very slow $rounded_key = false; @@ -133,20 +133,20 @@ $key_bump_edge = 0.4; //list of legends to place on a key format: [text, halign, valign, size] //halign = "left" or "center" or "right" //valign = "top" or "center" or "bottom" -// currently does not work with thingiverse customizer, and actually breaks it +// Currently does not work with thingiverse customizer, and actually breaks it $legends = []; -// dimensions of alps stem +// Dimensions of alps stem $alps_stem = [4.45, 2.25]; -// 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 +// 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 $stabilizers = $key_length > 5.75 ? [[-50, 0], [50, 0]] : [[-12,0],[12,0]]; -// where the stems are in relation to the center of the keycap, in units. default is one in the center -// shouldn't work in thingiverse customizer, though it has been... +// Where the stems are in relation to the center of the keycap, in units. default is one in the center +// Shouldn't work in thingiverse customizer, though it has been... $stem_positions = [[0,0]]; // key width functions @@ -2071,24 +2071,24 @@ module key(inset = false) { module example_key(){ /* [Basic-Settings] */ -// 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, box_cherry, filled, disable] -// support type. default is "flared" for easy FDM printing; bars are more realistic, and flat could be for artisans +// 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] -// length in units of key. A regular key is 1 unit; spacebar is usually 6.25 -$key_length = 1.0; // range not working in thingiverse customizer atm [1:0.25:16] +// Length in units of key. A regular key is 1 unit; spacebar is usually 6.25 +$key_length = 1.0; // Range not working in thingiverse customizer atm [1:0.25:16] -// supports for the stem, as it often comes off during printing. disabled by default, but highly reccommended. +// Supports for the stem, as it often comes off during printing. disabled by default, but highly reccommended. $stem_support_type = "disable"; // [brim, tines, disabled] -// the stem is the hardest part to print, so this variable controls how much 'slop' there is in the stem -$stem_slop = 0.3; // not working in thingiverse customizer atm [0:0.01:1] +// The stem is the hardest part to print, so this variable controls how much 'slop' there is in the stem +$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; -// invert dishing. mostly for spacebar +// Invert dishing. mostly for spacebar $inverted_dish = false; // Enable stabilizers. If you don't want stabilizers use disable; most other keycaps use Cherry stabilizers @@ -2097,80 +2097,80 @@ $stabilizer_type = "disable"; // [cherry, rounded_cherry, alps, disable] /* [Advanced] */ /* 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.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; -// 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 $wall_thickness = 3; -// radius of corners of keycap +// Radius of corners of keycap $corner_radius = 1; -// width of the very bottom of the key +// Width of the very bottom of the key $bottom_key_width = 18.16; -// height (from the front) of the very bottom of the key +// Height (from the front) of the very bottom of the key $bottom_key_height = 18.16; -// how much less width there is on the top. eg top_key_width = bottom_key_width - width_difference +// How much less width there is on the top. eg top_key_width = bottom_key_width - width_difference $width_difference = 6; -// how much less height there is on the top +// How much less height there is on the top $height_difference = 4; -// how deep the key is, before adding a dish +// How deep the key is, before adding a dish $total_depth = 11.5; -// the tilt of the dish in degrees. divided by key height +// The tilt of the dish in degrees. divided by key height $top_tilt = -6; -// how skewed towards the back the top is (0 for center) +// How skewed towards the back the top is (0 for center) $top_skew = 1.7; /* Stem */ -// how far the throw distance of the switch is. determines how far the 'cross' in the cherry switch digs into the stem, and how long the keystem needs to be before supports can start. luckily, alps and cherries have a pretty similar throw. can modify to have stouter keycaps for low profile switches, etc +// How far the throw distance of the switch is. determines how far the 'cross' in the cherry switch digs into the stem, and how long the keystem needs to be before supports can start. luckily, alps and cherries have a pretty similar throw. can modify to have stouter keycaps for low profile switches, etc $stem_throw = 4; -// diameter of the outside of the rounded cherry stem +// Diameter of the outside of the rounded cherry stem $rounded_cherry_stem_d = 5.5; -// how much higher the stem is than the bottom of the keycap. -// inset stem requires support but is more accurate in some profiles +// How much higher the stem is than the bottom of the keycap. +// Inset stem requires support but is more accurate in some profiles $stem_inset = 0; -// how many degrees to rotate the stems. useful for sideways keycaps, maybe +// How many degrees to rotate the stems. useful for sideways keycaps, maybe $stem_rotation = 0; /* Shape */ -// key shape type, determines the shape of the key. default is 'rounded square' +// Key shape type, determines the shape of the key. default is 'rounded square' $key_shape_type = "rounded_square"; // ISO enter needs to be linear extruded NOT from the center. this tells the program how far up 'not from the center' is $linear_extrude_height_adjustment = 0; -// how many slices will be made, to approximate curves on corners. Leave at 1 if you are not curving corners -// if you're doing fancy bowed keycap sides, this controls how many slices you take +// How many slices will be made, to approximate curves on corners. Leave at 1 if you are not curving corners +// If you're doing fancy bowed keycap sides, this controls how many slices you take $height_slices = 1; /* Dish */ -// what type of dish the key has. note that unlike stems and supports a dish ALWAYS gets rendered. +// What type of dish the key has. note that unlike stems and supports a dish ALWAYS gets rendered. $dish_type = "cylindrical"; // [cylindrical, spherical, sideways cylindrical, old spherical, disable] -// how deep the dish 'digs' into the top of the keycap. this is max depth, so you can't find the height from total_depth - dish_depth. besides the top is skewed anyways +// How deep the dish 'digs' into the top of the keycap. this is max depth, so you can't find the height from total_depth - dish_depth. besides the top is skewed anyways $dish_depth = 1; -// how skewed in the x direction the dish is +// How skewed in the x direction the dish is $dish_skew_x = 0; -// how skewed in the y direction (height) the dish is +// How skewed in the y direction (height) the dish is $dish_skew_y = 0; -// if you need the dish to extend further, you can 'overdraw' the rectangle it will hit +// If you need the dish to extend further, you can 'overdraw' the rectangle it will hit $dish_overdraw_width = 0; -// same as width but for height +// Same as width but for height $dish_overdraw_height = 0; /* Misc */ -// there's a bevel on the cherry stems to aid insertion / guard against first layer squishing making a hard-to-fit stem. +// There's a bevel on the cherry stems to aid insertion / guard against first layer squishing making a hard-to-fit stem. $cherry_bevel = true; -// how tall in mm the stem support is, if there is any. stem support sits around the keystem and helps to secure it while printing. +// How tall in mm the stem support is, if there is any. stem support sits around the keystem and helps to secure it while printing. $stem_support_height = 0.4; -// font used for text +// Font used for text $font="DejaVu Sans Mono:style=Book"; -// whether or not to render fake keyswitches to check clearances +// Whether or not to render fake keyswitches to check clearances $clearance_check = false; -// use linear_extrude instead of hull slices to make the shape of the key -// should be faster, also required for concave shapes +// Use linear_extrude instead of hull slices to make the shape of the key +// Should be faster, also required for concave shapes $linear_extrude_shape = false; //should the key be rounded? unnecessary for most printers, and very slow $rounded_key = false; @@ -2191,20 +2191,20 @@ $key_bump_edge = 0.4; //list of legends to place on a key format: [text, halign, valign, size] //halign = "left" or "center" or "right" //valign = "top" or "center" or "bottom" -// currently does not work with thingiverse customizer, and actually breaks it +// Currently does not work with thingiverse customizer, and actually breaks it $legends = []; -// dimensions of alps stem +// Dimensions of alps stem $alps_stem = [4.45, 2.25]; -// 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 +// 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 $stabilizers = $key_length > 5.75 ? [[-50, 0], [50, 0]] : [[-12,0],[12,0]]; -// where the stems are in relation to the center of the keycap, in units. default is one in the center -// shouldn't work in thingiverse customizer, though it has been... +// Where the stems are in relation to the center of the keycap, in units. default is one in the center +// Shouldn't work in thingiverse customizer, though it has been... $stem_positions = [[0,0]]; key(); } diff --git a/src/settings.scad b/src/settings.scad index a315180..c62dbe2 100644 --- a/src/settings.scad +++ b/src/settings.scad @@ -1,23 +1,23 @@ /* [Basic-Settings] */ -// 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, box_cherry, filled, disable] -// support type. default is "flared" for easy FDM printing; bars are more realistic, and flat could be for artisans +// 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] -// length in units of key. A regular key is 1 unit; spacebar is usually 6.25 -$key_length = 1.0; // range not working in thingiverse customizer atm [1:0.25:16] +// Length in units of key. A regular key is 1 unit; spacebar is usually 6.25 +$key_length = 1.0; // Range not working in thingiverse customizer atm [1:0.25:16] -// supports for the stem, as it often comes off during printing. disabled by default, but highly reccommended. +// Supports for the stem, as it often comes off during printing. disabled by default, but highly reccommended. $stem_support_type = "disable"; // [brim, tines, disabled] -// the stem is the hardest part to print, so this variable controls how much 'slop' there is in the stem -$stem_slop = 0.3; // not working in thingiverse customizer atm [0:0.01:1] +// The stem is the hardest part to print, so this variable controls how much 'slop' there is in the stem +$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; -// invert dishing. mostly for spacebar +// Invert dishing. mostly for spacebar $inverted_dish = false; // Enable stabilizers. If you don't want stabilizers use disable; most other keycaps use Cherry stabilizers @@ -26,80 +26,80 @@ $stabilizer_type = "disable"; // [cherry, rounded_cherry, alps, disable] /* [Advanced] */ /* 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.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; -// 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 $wall_thickness = 3; -// radius of corners of keycap +// Radius of corners of keycap $corner_radius = 1; -// width of the very bottom of the key +// Width of the very bottom of the key $bottom_key_width = 18.16; -// height (from the front) of the very bottom of the key +// Height (from the front) of the very bottom of the key $bottom_key_height = 18.16; -// how much less width there is on the top. eg top_key_width = bottom_key_width - width_difference +// How much less width there is on the top. eg top_key_width = bottom_key_width - width_difference $width_difference = 6; -// how much less height there is on the top +// How much less height there is on the top $height_difference = 4; -// how deep the key is, before adding a dish +// How deep the key is, before adding a dish $total_depth = 11.5; -// the tilt of the dish in degrees. divided by key height +// The tilt of the dish in degrees. divided by key height $top_tilt = -6; -// how skewed towards the back the top is (0 for center) +// How skewed towards the back the top is (0 for center) $top_skew = 1.7; /* Stem */ -// how far the throw distance of the switch is. determines how far the 'cross' in the cherry switch digs into the stem, and how long the keystem needs to be before supports can start. luckily, alps and cherries have a pretty similar throw. can modify to have stouter keycaps for low profile switches, etc +// How far the throw distance of the switch is. determines how far the 'cross' in the cherry switch digs into the stem, and how long the keystem needs to be before supports can start. luckily, alps and cherries have a pretty similar throw. can modify to have stouter keycaps for low profile switches, etc $stem_throw = 4; -// diameter of the outside of the rounded cherry stem +// Diameter of the outside of the rounded cherry stem $rounded_cherry_stem_d = 5.5; -// how much higher the stem is than the bottom of the keycap. -// inset stem requires support but is more accurate in some profiles +// How much higher the stem is than the bottom of the keycap. +// Inset stem requires support but is more accurate in some profiles $stem_inset = 0; -// how many degrees to rotate the stems. useful for sideways keycaps, maybe +// How many degrees to rotate the stems. useful for sideways keycaps, maybe $stem_rotation = 0; /* Shape */ -// key shape type, determines the shape of the key. default is 'rounded square' +// Key shape type, determines the shape of the key. default is 'rounded square' $key_shape_type = "rounded_square"; // ISO enter needs to be linear extruded NOT from the center. this tells the program how far up 'not from the center' is $linear_extrude_height_adjustment = 0; -// how many slices will be made, to approximate curves on corners. Leave at 1 if you are not curving corners -// if you're doing fancy bowed keycap sides, this controls how many slices you take +// How many slices will be made, to approximate curves on corners. Leave at 1 if you are not curving corners +// If you're doing fancy bowed keycap sides, this controls how many slices you take $height_slices = 1; /* Dish */ -// what type of dish the key has. note that unlike stems and supports a dish ALWAYS gets rendered. +// What type of dish the key has. note that unlike stems and supports a dish ALWAYS gets rendered. $dish_type = "cylindrical"; // [cylindrical, spherical, sideways cylindrical, old spherical, disable] -// how deep the dish 'digs' into the top of the keycap. this is max depth, so you can't find the height from total_depth - dish_depth. besides the top is skewed anyways +// How deep the dish 'digs' into the top of the keycap. this is max depth, so you can't find the height from total_depth - dish_depth. besides the top is skewed anyways $dish_depth = 1; -// how skewed in the x direction the dish is +// How skewed in the x direction the dish is $dish_skew_x = 0; -// how skewed in the y direction (height) the dish is +// How skewed in the y direction (height) the dish is $dish_skew_y = 0; -// if you need the dish to extend further, you can 'overdraw' the rectangle it will hit +// If you need the dish to extend further, you can 'overdraw' the rectangle it will hit $dish_overdraw_width = 0; -// same as width but for height +// Same as width but for height $dish_overdraw_height = 0; /* Misc */ -// there's a bevel on the cherry stems to aid insertion / guard against first layer squishing making a hard-to-fit stem. +// There's a bevel on the cherry stems to aid insertion / guard against first layer squishing making a hard-to-fit stem. $cherry_bevel = true; -// how tall in mm the stem support is, if there is any. stem support sits around the keystem and helps to secure it while printing. +// How tall in mm the stem support is, if there is any. stem support sits around the keystem and helps to secure it while printing. $stem_support_height = 0.4; -// font used for text +// Font used for text $font="DejaVu Sans Mono:style=Book"; -// whether or not to render fake keyswitches to check clearances +// Whether or not to render fake keyswitches to check clearances $clearance_check = false; -// use linear_extrude instead of hull slices to make the shape of the key -// should be faster, also required for concave shapes +// Use linear_extrude instead of hull slices to make the shape of the key +// Should be faster, also required for concave shapes $linear_extrude_shape = false; //should the key be rounded? unnecessary for most printers, and very slow $rounded_key = false; @@ -120,18 +120,18 @@ $key_bump_edge = 0.4; //list of legends to place on a key format: [text, halign, valign, size] //halign = "left" or "center" or "right" //valign = "top" or "center" or "bottom" -// currently does not work with thingiverse customizer, and actually breaks it +// Currently does not work with thingiverse customizer, and actually breaks it $legends = []; -// dimensions of alps stem +// Dimensions of alps stem $alps_stem = [4.45, 2.25]; -// 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 +// 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 $stabilizers = $key_length > 5.75 ? [[-50, 0], [50, 0]] : [[-12,0],[12,0]]; -// where the stems are in relation to the center of the keycap, in units. default is one in the center -// shouldn't work in thingiverse customizer, though it has been... +// Where the stems are in relation to the center of the keycap, in units. default is one in the center +// Shouldn't work in thingiverse customizer, though it has been... $stem_positions = [[0,0]];