From a2dff54bcfa9b6941b1c96ae9485cfbf92aa8743 Mon Sep 17 00:00:00 2001 From: William Toohey Date: Wed, 18 Jan 2017 22:40:05 +1000 Subject: [PATCH] Update art and case art to fit within 1mm boundary case to be pretty --- .gitignore | 2 + Hardware/Case/Exporting From PCB.txt | 12 + Hardware/Case/build.bat | 2 +- Hardware/Case/case.scad | 81 ++- Hardware/Case/holes_internal.scad | 3 + .../{art_trimmed.scad => holes_surface.scad} | 2 +- Hardware/Case/{ => imports}/Artwork.dxf | 0 Hardware/Case/{ => imports}/BOARD_SHAPE.dxf | 0 Hardware/Case/imports/PEC16.stl | Bin 0 -> 248184 bytes .../Case/{ => imports}/RING_BOT_SUPPORTS.dxf | 0 .../Case/{ => imports}/RING_TOP_SUPPORTS.dxf | 0 Hardware/Case/imports/cherry_mx.scad | 123 ++++ Hardware/Case/imports/mx_keycap.scad | 670 ++++++++++++++++++ Hardware/SDVX_Mini.PcbDoc | Bin 6720010 -> 6720522 bytes 14 files changed, 878 insertions(+), 17 deletions(-) create mode 100644 Hardware/Case/holes_internal.scad rename Hardware/Case/{art_trimmed.scad => holes_surface.scad} (56%) rename Hardware/Case/{ => imports}/Artwork.dxf (100%) rename Hardware/Case/{ => imports}/BOARD_SHAPE.dxf (100%) create mode 100644 Hardware/Case/imports/PEC16.stl rename Hardware/Case/{ => imports}/RING_BOT_SUPPORTS.dxf (100%) rename Hardware/Case/{ => imports}/RING_TOP_SUPPORTS.dxf (100%) create mode 100644 Hardware/Case/imports/cherry_mx.scad create mode 100644 Hardware/Case/imports/mx_keycap.scad diff --git a/.gitignore b/.gitignore index 203e34e..dcb39ef 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,5 @@ Hardware/Case/case.scad.* Costs.xlsx Hardware/Case/outputs/ Old/ +Hardware/datasheets/ +Hardware/Case/Laser Templates/ diff --git a/Hardware/Case/Exporting From PCB.txt b/Hardware/Case/Exporting From PCB.txt index 4a750a5..7b94e37 100644 --- a/Hardware/Case/Exporting From PCB.txt +++ b/Hardware/Case/Exporting From PCB.txt @@ -37,6 +37,18 @@ For tracks: Cap: round Path->Combine Path->Stroke to path + +For artwork: + Cross reference with altium to make layers for tracks + 1.5mm + 1.2mm + 1mm + 0.75mm + 0.5mm + 0.254mm + Raster Fill + Path->Combine each individual letter (todo: actually needed?) + Also do long lines in 0.75mm layer You may need to Path->Union everything for artwork layers to render nicely diff --git a/Hardware/Case/build.bat b/Hardware/Case/build.bat index ed8cf41..7f63db6 100644 --- a/Hardware/Case/build.bat +++ b/Hardware/Case/build.bat @@ -2,6 +2,6 @@ SET scad="C:\Program Files\OpenSCAD\openscad.exe" SET folder=outputs -for %%i in (art_trimmed,bottom_plate,bottom_ring,top_plate,top_ring) DO ( +for %%i in (bottom_plate,bottom_ring,top_plate,top_ring,holes_internal,holes_surface) DO ( %scad% -o "%folder%\%%i.dxf" "%%i.scad" ) \ No newline at end of file diff --git a/Hardware/Case/case.scad b/Hardware/Case/case.scad index 73b193b..2fc4295 100644 --- a/Hardware/Case/case.scad +++ b/Hardware/Case/case.scad @@ -1,12 +1,17 @@ +use +include +key_profile_index = 11; + $fn = 64; -switches = [[0,0], - [-42.862,-37.592], - [ 42.862,-37.592], - [-14.287,-37.592], - [ 14.287,-37.592], - [-28.5,-75.692], - [ 28.5,-75.692]]; +// x, y, keycap width in units, isBlack +switches = [[0,0, 1], + [-42.862,-37.592, 1.25], + [ 42.862,-37.592, 1.25], + [-14.287,-37.592, 1.25], + [ 14.287,-37.592, 1.25], + [-28.5,-75.692, 1.75, 1], + [ 28.5,-75.692, 1.75, 1]]; bolts = [[30.025, 6.65], [71, -16.925], [71, 16.5], @@ -21,8 +26,8 @@ encoderRadius = 13; encoderHoles = [[71.6, 0.4, 3.4], [69, -10.1, 1.6]]; -switchHole = [0,-75.692]; -switchDiam = 3; +macroHole = [0,-75.692]; +macroDiam = 3; usbWidth = 9; usbPos = [-21.311, 10.3]; @@ -87,6 +92,22 @@ module switches() { } } +module switch_models() { + for(sw = switches) { + translate([sw[0], sw[1]]) + cherry_mx_model(); + } +} + +module switch_keycaps() { + for(sw = switches) { + color(sw[3] ? [0.1,0.1,0.1] : [1,1,1]) + translate([sw[0], sw[1], 11.5]) + scale([sw[2],1,1]) + key(); + } +} + module bolt_spacers() { for(bolt = bolts) { translate([bolt[0], bolt[1]]) @@ -135,6 +156,22 @@ module encoderHoles_half() { } } +module encoder_model() { + translate([0,0,5.5]) + rotate([90,0,0]) + import("imports/PEC16.stl"); + + translate([0,0,13]) + cylinder(20, d = 25); +} + +module encoder_model_full() { + for(enc = encoders) { + translate([enc[0], enc[1]]) + encoder_model(); + } +} + // don't do the same thing twice module usb_half() { w = usbWidth / 2; @@ -161,7 +198,7 @@ module usb() { } module board() { - import("BOARD_SHAPE.dxf"); + import("imports/BOARD_SHAPE.dxf"); } module board_encoderhole() { @@ -180,8 +217,8 @@ module top_plate() { } switches(); bolts(); - translate([switchHole[0], switchHole[1], 0]) - circle(d = switchDiam, center = true); + translate([macroHole[0], macroHole[1], 0]) + circle(d = macroDiam, center = true); } } @@ -195,7 +232,7 @@ module top_ring() { // Room for FX/START switches(); }; - import("RING_TOP_SUPPORTS.dxf"); + import("imports/RING_TOP_SUPPORTS.dxf"); bolts_expansion(); } bolt_spacers(); @@ -210,7 +247,7 @@ module pcb() { } module artwork() { - import("Artwork.dxf"); + import("imports/Artwork.dxf"); } module bottom_ring() { @@ -221,7 +258,7 @@ module bottom_ring() { offset(delta = -wallStrength) board(); }; - import("RING_BOT_SUPPORTS.dxf"); + import("imports/RING_BOT_SUPPORTS.dxf"); bolts_expansion(); } bolt_spacers(); @@ -264,7 +301,21 @@ module full_stack() { color([1,1,1, 1]) linear_extrude(plate_thickness[2]) pcb(); + // not-as-pretty model of macro key + translate([macroHole[0], macroHole[1], plate_thickness[2]]) + color([1,0.5,0]) + cylinder(h = 5.2, d = macroDiam); + translate([0, 0, plate_thickness[2] + boom]) { + // pretty models of stuff + translate([0, 0, boom*2]) { + color([0.8,0.8,0.8,1]) + encoder_model_full(); + + switch_models(); + switch_keycaps(); + }; + color([1, 1, 1, 0.4]) linear_extrude(plate_thickness[3]) top_ring(); diff --git a/Hardware/Case/holes_internal.scad b/Hardware/Case/holes_internal.scad new file mode 100644 index 0000000..e0e4dde --- /dev/null +++ b/Hardware/Case/holes_internal.scad @@ -0,0 +1,3 @@ +use ; + +bolt_spacers(); \ No newline at end of file diff --git a/Hardware/Case/art_trimmed.scad b/Hardware/Case/holes_surface.scad similarity index 56% rename from Hardware/Case/art_trimmed.scad rename to Hardware/Case/holes_surface.scad index cb1d920..d16d52d 100644 --- a/Hardware/Case/art_trimmed.scad +++ b/Hardware/Case/holes_surface.scad @@ -1,3 +1,3 @@ use ; -art_trimmed(); \ No newline at end of file +bolts(); \ No newline at end of file diff --git a/Hardware/Case/Artwork.dxf b/Hardware/Case/imports/Artwork.dxf similarity index 100% rename from Hardware/Case/Artwork.dxf rename to Hardware/Case/imports/Artwork.dxf diff --git a/Hardware/Case/BOARD_SHAPE.dxf b/Hardware/Case/imports/BOARD_SHAPE.dxf similarity index 100% rename from Hardware/Case/BOARD_SHAPE.dxf rename to Hardware/Case/imports/BOARD_SHAPE.dxf diff --git a/Hardware/Case/imports/PEC16.stl b/Hardware/Case/imports/PEC16.stl new file mode 100644 index 0000000000000000000000000000000000000000..68ef986d553eab142578cb67fa43266ac356ed72 GIT binary patch literal 248184 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 literal 0 HcmV?d00001 diff --git a/Hardware/Case/RING_BOT_SUPPORTS.dxf b/Hardware/Case/imports/RING_BOT_SUPPORTS.dxf similarity index 100% rename from Hardware/Case/RING_BOT_SUPPORTS.dxf rename to Hardware/Case/imports/RING_BOT_SUPPORTS.dxf diff --git a/Hardware/Case/RING_TOP_SUPPORTS.dxf b/Hardware/Case/imports/RING_TOP_SUPPORTS.dxf similarity index 100% rename from Hardware/Case/RING_TOP_SUPPORTS.dxf rename to Hardware/Case/imports/RING_TOP_SUPPORTS.dxf diff --git a/Hardware/Case/imports/cherry_mx.scad b/Hardware/Case/imports/cherry_mx.scad new file mode 100644 index 0000000..dfd2d7f --- /dev/null +++ b/Hardware/Case/imports/cherry_mx.scad @@ -0,0 +1,123 @@ +$fn=60; +/** +a cherry mx switch. + +most of the measurements done with a caliper. some taken from +http://geekhack.org/index.php?topic=47744.0 + +This is just to illustrate and to drop in a a gross reference. It is mostly artistic apart from the steam and mounting plate dimensions +*/ + +module cherry_mx_model() { + + translate([0,0,14.85]) + { + + //1. steam + color("brown"){ + //1.1. l-r tab is 1.35mm + translate([0,0,-3.62/2]) + cube([1.35,4.5,3.62], center=true); + //1.2. f-b tab is 1.15mm. it has a smal notch that i will ignore. + translate([0,0,-3.62/2]) + cube([4.5,1.15,3.62], center=true); + //1.3. base. it has a chamfered top that i will ignore. + translate([0,0,-5.62]) + cube([7.2,5.56,4], center=true); + } + // 2. top + color("grey"){ + difference(){ + // make a trapezoid with the general shape (volume?) of the top + hull(){ + translate([0,0,-4]) //distance from top of switch... some i measured 3.9 others 4.2... so leaving at 4 + cube([9.87,10.62,0.1], center=true); + translate([0,0,-4 -5.2]) // bottom has a measured 5.3... so move 5.2 and use the 0.1 bellow + cube([14.58,14.58,0.1], center=true); + } + + // and subtract: + // the front led. NOTE: totally off... measured by eye. just for astetics + // adding just so there is a visual cue of the direction + translate([0,-4.7,-6]) + cylinder(r=3/2, h=6, center=true); + translate([0,-5.5,-6]) + cube([8,4,5], center=true); + // the four corners + // TODO waste of time? this is all for looks, you shouldn't invade any of that space anyway... + } + } + + // 3. bottom + color("green") + // 3.1 main body volume + hull(){ + translate([0,0,-4 -5.3]) //steam + top + cube([13.98,13.98,0.1], center=true); + translate([0,0,-4 -5.3 -2.2]) //steam + top + straigth part + cube([13.98,13.98,0.1], center=true); + translate([0,0,-4 -5.3 -5.5]) //steam + top + bottom (measured 5.5) + cube([12.74,13.6,0.1], center=true); + } + // 3.2 tabs + // note: only measured the lenght, if they are slightly off-center, this will be all wrong :) + color("black") + difference(){ + translate([0,0,-4 -5.3 -0.82/2]) //steam + top + cube([15.64,15.64,0.82], center=true); + translate([0,0,-4 -5.3 -0.82/2 ]) // front-back cut + cube([5.64,20,0.82 +2], center=true); + translate([0,0,-4 -5.3 -0.82/2 ]) //side cut + cube([20,11.64,0.82 +2], center=true); + } + + // 3.3 tab (plate snap on). to use this mechanically, you have to take into account the bending (as it will move the bottom part slightly up...) just for gross reference here for now + color("white"){ + // 3.3.1 top + translate([0,0,-4 -5.3 -0.82/2 ]) // front-back cut + cube([1.82,16.33,0.82], center=true); + // 3.3.2 bottom + difference(){ + hull(){ + translate([0,0,-4 -5.3 -0.82/2 -1.76 ]) // front-back cut + cube([3.65,14,0.1], center=true); + translate([0,0,-4 -5.3 -0.82/2 -2.2 ]) // front-back cut + cube([3.65,14.74,0.1], center=true); + translate([0,0,-4 -5.3 -0.82/2 -2.89 ]) // front-back cut + cube([3.65,14,0.1], center=true); + } + translate([0,0,-4 -5.3 -0.82/2 -1.76 ]) // front-back cut + cube([2.2,20,4], center=true); + + } + } + + // 4. bottom guides + // again, i'm assuming everything is centered... + color("darkGreen"){ + // 4.1 cylinder + translate([0,0,-4 -5.3 -5.5 -2/2]) //steam + top + bottom (measured 5.5) + cylinder(r=3.85/2, h=2, center=true); + translate([0,0,-4 -5.3 -5.5 -2 -1/2]) //steam + top + bottom (measured 5.5) + cylinder(r2=3.85/2, r=2.8/2, h=1, center=true); + // 4.2 PCB pins + translate([4.95,0,-4 -5.3 -5.5 -2/2]) //steam + top + bottom (measured 5.5) + cylinder(r=1.6/2, h=2, center=true); + translate([4.95,0,-4 -5.3 -5.5 -2 -1/2]) //steam + top + bottom (measured 5.5) + cylinder(r2=1.6/2, r=1/2, h=1, center=true); + translate([-4.95,0,-4 -5.3 -5.5 -2/2]) //steam + top + bottom (measured 5.5) + cylinder(r=1.6/2, h=2, center=true); + translate([-4.95,0,-4 -5.3 -5.5 -2 -1/2]) //steam + top + bottom (measured 5.5) + cylinder(r2=1.6/2, r=1/2, h=1, center=true); + } + + // 5. pins + color("orange"){ + translate([-3.77,2.7,-4 -5.3 -5.5 -3.1/2]) //steam + top + bottom (measured 5.5) + cube([.86, 0.2,3.1], center=true); + translate([2.7,5.2,-4 -5.3 -5.5 -3.1/2]) //steam + top + bottom (measured 5.5) + cube([.86, 0.2,3.1], center=true); + } + + } +} diff --git a/Hardware/Case/imports/mx_keycap.scad b/Hardware/Case/imports/mx_keycap.scad new file mode 100644 index 0000000..473810a --- /dev/null +++ b/Hardware/Case/imports/mx_keycap.scad @@ -0,0 +1,670 @@ +/* [Key] */ + +//length in units of key +key_length = 1; +//height in units of key. should remain 1 for most uses +key_height = 1; +//keycap type, [0:DCS Row 5, 1:DCS Row 1, 2:DCS Row 2, 3:DCS Row 3, 4:DCS Row 4, 5:DSA Row 3, 6:SA Row 1, 7:SA Row 2, 8:SA Row 3, 9:SA Row 4, 10:DCS Row 4 Spacebar, 11: g20 key (faked)] +key_profile_index = 0; + +// 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 = 3; + +/* [Brim] */ +//enable brim for connector +has_brim = 0; +//brim radius. 11 ensconces normal keycap stem in normal keycap +brim_radius = 11; +//brim depth +brim_depth = .3; + +/* [Stabilizers] */ +//whether stabilizer connectors are enabled +stabilizers = 0; +//stabilizer distance in mm +stabilizer_distance = 50; + +/* [Dish] */ +// invert dishing. mostly for spacebar +inverted_dish = 0; + +/* [Stem] */ +// cherry MX or Alps stem, or totally broken circular cherry stem [0..2] +stem_profile = 0; +// how inset the stem is from the bottom of the key. experimental. requires support +stem_inset = 0; +// stem offset in units NOT MM. for stepped caps lock +stem_offset = 0; + +/* [Hidden] */ +//change to round things better +$fn = 32; +//beginning to use unit instead of baked in 19.05 +unit = 19.05; + +//minkowski radius. radius of sphere used in minkowski sum for minkowski_key function. 1.75 default for faux G20 +minkowski_radius = 1.75; + +//profile specific stuff + +/* + Here we have, for lack of a better implementation, an array + that defines the more intimate aspects of a key. + order is thus: + 1. Bottom Key Width: width of the immediate bottom of the key + 2. Bottom Key Height: height of the immediate bottom of the key + 3. Top Key Width Difference: mm to subtract from bottom key width to create top key width + 4. Top Key Height Difference: mm to subtract from bottom key height to create top key height + 5. total Depth: how tall the total in the switch is before dishing + 6. Top Tilt: X rotation of the top. Top and dish obj are rotated + 7. Top Skew: Y skew of the top of the key relative to the bottom. DCS has some, DSA has none (its centered) + 8. Dish Type: type of dishing. check out dish function for the options + 9. Dish Depth: how many mm to cut into the key with + 10. Dish Radius: radius of dish obj, the Sphere or Cylinder that cuts into the keycap +*/ + +key_profiles = [ + + //DCS Profile + + [ //DCS ROW 5 + 18.16, // Bottom Key Width + 18.16, // Bottom Key Height + 6, // Top Key Width Difference + 4, // Top Key Height Difference + 11.5, // total Depth + -6, // Top Tilt + 1.75,// Top Skew + + //Dish Profile + + 0, // Dish Type + 1, // Dish Depth + 0, // Dish Skew X + 0 // DIsh Skew Y + ], + [ //DCS ROW 1 + 18.16, // Bottom Key Width + 18.16, // Bottom Key Height + 6, // Top Key Width Difference + 4, // Top Key Height Difference + 8.5, // total Depth + -1, // Top Tilt + 1.75,// Top Skew + + //Dish Profile + + 0, // Dish Type + 1, // Dish Depth + 0, // Dish Skew X + 0 // DIsh Skew Y + ], + [ //DCS ROW 2 + 18.16, // Bottom Key Width + 18.16, // Bottom Key Height + 6.2, // Top Key Width Difference + 4, // Top Key Height Difference + 7.5, // total Depth + 3, // Top Tilt + 1.75,// Top Skew + + //Dish Profile + + 0, // Dish Type + 1, // Dish Depth + 0, // Dish Skew X + 0 // DIsh Skew Y + ], + [ //DCS ROW 3 + 18.16, // Bottom Key Width + 18.16, // Bottom Key Height + 6, // Top Key Width Difference + 4, // Top Key Height Difference + 6.2, // total Depth + 7, // Top Tilt + 1.75,// Top Skew + + //Dish Profile + + 0, // Dish Type + 1, // Dish Depth + 0, // Dish Skew X + 0 // DIsh Skew Y + ], + [ //DCS ROW 4 + 18.16, // Bottom Key Width + 18.16, // Bottom Key Height + 6, // Top Key Width Difference + 4, // Top Key Height Difference + 6.2, // total Depth + 16, // Top Tilt + 1.75,// Top Skew + + //Dish Profile + + 0, // Dish Type + 1, // Dish Depth + 0, // Dish Skew X + 0 // DIsh Skew Y + ], + + //DSA Profile + + [ //DSA ROW 3 + 18.4, // Bottom Key Width + 18.4, // Bottom Key Height + 5.7, // Top Key Width Difference + 5.7, // Top Key Height Difference + 7.4, // total Depth + 0, // Top Tilt + 0, // Top Skew + + //Dish Profile + + 1, // Dish Type + 1.2, // Dish Depth + 0, // Dish Skew X + 0 // DIsh Skew Y + ], + + //SA Proile + + [ //SA ROW 1 + 18.4, // Bottom Key Width + 18.4, // Bottom Key Height + 5.7, // Top Key Width Difference + 5.7, // Top Key Height Difference + 13.73, // total Depth, fudged + -14, // Top Tilt + 0, // Top Skew + + //Dish Profile + + 1, // Dish Type + 1.2, // Dish Depth + 0, // Dish Skew X + 0 // DIsh Skew Y + ], + [ //SA ROW 2 + 18.4, // Bottom Key Width + 18.4, // Bottom Key Height + 5.7, // Top Key Width Difference + 5.7, // Top Key Height Difference + 11.73, // total Depth + -7, // Top Tilt + 0, // Top Skew + + //Dish Profile + + 1, // Dish Type + 1.2, // Dish Depth + 0, // Dish Skew X + 0 // DIsh Skew Y + ], + [ //SA ROW 3 + 18.4, // Bottom Key Width + 18.4, // Bottom Key Height + 5.7, // Top Key Width Difference + 5.7, // Top Key Height Difference + 11.73, // total Depth + 0, // Top Tilt + 0, // Top Skew + + //Dish Profile + + 1, // Dish Type + 1.2, // Dish Depth + 0, // Dish Skew X + 0 // DIsh Skew Y + ], + [ //SA ROW 4 + 18.4, // Bottom Key Width + 18.4, // Bottom Key Height + 5.7, // Top Key Width Difference + 5.7, // Top Key Height Difference + 11.73, // total Depth + 7, // Top Tilt + 0, // Top Skew + + //Dish Profile + + 1, // Dish Type + 1.2, // Dish Depth + 0, // Dish Skew X + 0 // DIsh Skew Y + ], + [ //DCS ROW 4 SPACEBAR + 18.16, // Bottom Key Width + 18.16, // Bottom Key Height + 6, // Top Key Width Difference + 4, // Top Key Height Difference + 6.2, // total Depth + 16, // Top Tilt + 1.75,// Top Skew + + //Dish Profile + + 2, // Dish Type + 1, // Dish Depth + 0, // Dish Skew X + 0 // DIsh Skew Y + ], + [ //G20 AKA DCS Row 2 with no dish and shorter + 18.16, // Bottom Key Width + 18.16, // Bottom Key Height + 2, // Top Key Width Difference + 2, // Top Key Height Difference + 6, // total Depth + 2.5, // Top Tilt + 0.75,// Top Skew + + //Dish Profile + + 3, // Dish Type + 0, // Dish Depth + 0, // Dish Skew X + 0 // DIsh Skew Y + ], + [ //NONWORKING fake ISO enter + 18.16 * 1.5, // Bottom Key Width + 18.16 * 2, // Bottom Key Height + 4, // Top Key Width Difference + 4, // Top Key Height Difference + 7, // total Depth + 0, // Top Tilt + 1.75,// Top Skew + + //Dish Profile + + 0, // Dish Type + 1, // Dish Depth + 0, // Dish Skew X + 0 // DIsh Skew Y + ], +]; + +// derived variables +//key profile selected +key_profile = key_profiles[key_profile_index]; + +// names, so I don't go crazy +bottom_key_width = key_profile[0]; +bottom_key_height = key_profile[1]; +width_difference = key_profile[2]; +height_difference = key_profile[3]; +total_depth = key_profile[4]; +top_tilt = key_profile[5] / key_height; +top_skew = key_profile[6]; +dish_type = key_profile[7]; +dish_depth = key_profile[8]; +dish_skew_x = key_profile[9]; +dish_skew_y = key_profile[10]; + +// actual mm key width and height +total_key_width = bottom_key_width + (unit * (key_length - 1)); +total_key_height = bottom_key_height + (unit * (key_height - 1)); + +// actual mm key width and height at the top +top_total_key_width = bottom_key_width + (unit * (key_length - 1)) - width_difference; +top_total_key_height = bottom_key_height + (unit * (key_height - 1)) - height_difference; + +//centered +module roundedRect(size, radius) { + x = size[0]; + y = size[1]; + z = size[2]; + + translate([-x/2,-y/2,0]) + linear_extrude(height=z) + hull() { + translate([radius, radius, 0]) + circle(r=radius); + + translate([x - radius, radius, 0]) + circle(r=radius); + + translate([x - radius, y - radius, 0]) + circle(r=radius); + + translate([radius, y - radius, 0]) + circle(r=radius); + } +} + +// stem related stuff + +// bottom we can use to anchor the stem, just a big ol cube with the inside of +// the keycap hollowed out +module inside(){ + difference(){ + translate([0,0,50]) cube([100000,100000,100000],center=true); + // NOTE: you're saying hey, if this is the inside why aren't we doing + // wall_thickness, keytop_thickness? well first off congratulations for + // figuring that out cuz it's a rat's nest in here. second off + // due to how the minkowski_key function works that isn't working out right + // now. it's a simple change if is_minkowski is implemented though + shape(0, 0); + } +} + +module cherry_stem(){ + // cross length + cross_length = 4.4; + //extra vertical cross length - the extra length of the up/down bar of the cross + extra_vertical_cross_length = 1.1; + //dimensions of connector + // outer cross extra length in x + extra_outer_cross_width = 2.10; + // outer cross extra length in y + extra_outer_cross_height = 1.0; + // dimensions of cross + // horizontal cross bar width + horizontal_cross_width = 1.4; + // vertical cross bar width + vertical_cross_width = 1.3; + // cross depth, stem height is 3.4mm + cross_depth = 4; + + difference(){ + union(){ + if (stem_profile != 2){ + translate([ + -(cross_length+extra_outer_cross_width)/2, + -(cross_length+extra_outer_cross_height)/2, + stem_inset + ]) + cube([ // the base of the stem, the part the cruciform digs into + cross_length+extra_outer_cross_width, + cross_length+extra_outer_cross_height, + 50 + ]); + } else { + cylinder( + d = cross_length+extra_outer_cross_height, + h = 50 + ); + } + if (has_brim == 1){ cylinder(r=brim_radius,h=brim_depth); } + } + //the cross part of the steam + translate([0,0,(cross_depth)/2 + stem_inset]){ + cube([vertical_cross_width,cross_length+extra_vertical_cross_length,cross_depth], center=true ); + cube([cross_length,horizontal_cross_width,cross_depth], center=true ); + } + } +} + +module alps_stem(){ + cross_depth = 40; + width = 4.45; + height = 2.25; + + base_width = 12; + base_height = 15; + + translate([0,0,cross_depth/2 + stem_inset]){ + cube([width,height,cross_depth], center = true); + } +} + +//whole connector, alps or cherry, trimmed to fit +module connector(has_brim){ + difference(){ + //TODO can I really not do an array index here? + translate([-unit * stem_offset, 0, 0]) + union(){ + if(stem_profile == 0 || stem_profile == 2) cherry_stem(); + if(stem_profile == 1) alps_stem(); + } + inside(); + } +} + +//stabilizer connectors +module stabilizer_connectors(has_brim){ + translate([stabilizer_distance,0,0]) connector(has_brim); + translate([-stabilizer_distance,0,0]) connector(has_brim); +} + + + +//shape related stuff + + + + +//general shape of key. used for inside and outside +module shape(thickness_difference, depth_difference){ + if (inverted_dish == 1){ + difference(){ + union(){ + shape_hull(thickness_difference, depth_difference, 1); + dish(depth_difference); + } + outside(thickness_difference); + } + } else{ + difference(){ + shape_hull(thickness_difference, depth_difference, 1); + dish(depth_difference); + } + } +} + +// conicalish clipping shape to trim things off the outside of the keycap +// literally just a key with height of 2 to make sure nothing goes awry with dishing etc +module outside(thickness_difference){ + difference(){ + cube([100000,100000,100000],center = true); + shape_hull(thickness_difference, 0, 2); + } +} + +// super basic hull shape without dish +// modifier multiplies the height and top differences of the shape, +// which is only used for dishing to cut the dish off correctly +// height_difference used for keytop thickness +module shape_hull(thickness_difference, depth_difference, modifier){ + hull(){ + // bottom_key_width + (key_length -1) * unit is the correct length of the + // key. only 1u of the key should be bottom_key_width long; all others + // should be 1u + roundedRect([total_key_width - thickness_difference, total_key_height - thickness_difference, .001],1.5); + + //height_difference outside of modifier because that doesnt make sense + translate([0,top_skew,total_depth * modifier - depth_difference]) + rotate([-top_tilt,0,0]) + roundedRect([total_key_width - thickness_difference - width_difference * modifier, total_key_height - thickness_difference - height_difference * modifier, .001],1.5); + } +} + + + +//dish related stuff + + + +//dish selector +module dish(depth_difference){ + if(dish_type == 0){ // cylindrical dish + cylindrical_dish(depth_difference); + } + else if (dish_type == 1) { // spherical dish + spherical_dish(depth_difference); + } + else if (dish_type == 2){ // SIDEWAYS cylindrical dish - used for spacebar + sideways_cylindrical_dish(depth_difference); + } + else if (dish_type == 3){ + // no dish + } +} + +module cylindrical_dish(depth_difference){ + /* we do some funky math here + * basically you want to have the dish "dig in" to the keycap x millimeters + * in order to do that you have to solve a small (2d) system of equations + * where the chord of the spherical cross section of the dish is + * the width of the keycap. + */ + // the distance you have to move the dish up so it digs in dish_depth millimeters + chord_length = (pow(top_total_key_width, 2) - 4 * pow(dish_depth, 2)) / (8 * dish_depth); + //the radius of the dish + rad = (pow(top_total_key_width, 2) + 4 * pow(dish_depth, 2)) / (8 * dish_depth); + + if (inverted_dish == 1){ + translate([dish_skew_x, top_skew + dish_skew_y, total_depth - depth_difference]) + rotate([90-top_tilt,0,0]) + translate([0,-chord_length,0]) + cylinder(h=100,r=rad, $fn=1024, center=true); + } + else{ + translate([dish_skew_x, top_skew + dish_skew_y, total_depth - depth_difference]) + rotate([90-top_tilt,0,0]) + translate([0,chord_length,0]) + cylinder(h=100,r=rad, $fn=1024, center=true); + } + +} + +module spherical_dish(depth_difference){ + //same thing as the cylindrical dish here, but we need the corners to just touch - so we have to find the hypotenuse of the top + chord = pow((pow(top_total_key_width,2) + pow(top_total_key_height, 2)),0.5); //getting diagonal of the top + + // the distance you have to move the dish up so it digs in dish_depth millimeters + chord_length = (pow(chord, 2) - 4 * pow(dish_depth, 2)) / (8 * dish_depth); + //the radius of the dish + rad = (pow(chord, 2) + 4 * pow(dish_depth, 2)) / (8 * dish_depth); + + if (inverted_dish == 1){ + translate([dish_skew_x, top_skew + dish_skew_y, total_depth - depth_difference]) + rotate([-top_tilt,0,0]) + translate([0,0,-chord_length]) + //NOTE: if your dish is long at all you might need to increase this number + sphere(r=rad, $fn=512); + } + else{ + translate([dish_skew_x, top_skew + dish_skew_y, total_depth - depth_difference]) + rotate([-top_tilt,0,0]) + translate([0,0,chord_length]) + sphere(r=rad, $fn=256); + } +} + +module sideways_cylindrical_dish(depth_difference){ + chord_length = (pow(top_total_key_height, 2) - 4 * pow(dish_depth, 2)) / (8 * dish_depth); + rad = (pow(top_total_key_height, 2) + 4 * pow(dish_depth, 2)) / (8 * dish_depth); + + if (inverted_dish == 1){ + translate([dish_skew_x, top_skew + dish_skew_y, total_depth - depth_difference]) + rotate([90,top_tilt,90]) + translate([0,-chord_length,0]) + cylinder(h=total_key_width + 20,r=rad, $fn=1024, center=true); // +20 just cuz + } + else{ + translate([dish_skew_x, top_skew + dish_skew_y, total_depth - depth_difference]) + rotate([90,top_tilt,90]) + translate([0,chord_length,0]) + cylinder(h=total_key_width + 20,r=rad, $fn=1024, center=true); + } +} + + + +//actual full key with space carved out and keystem/stabilizer connectors +module key(){ + union(){ + difference(){ + shape(0, 0); + shape(wall_thickness, keytop_thickness); + } + } +} + +// ACTUAL OUTPUT +//difference(){ +// key(); + // preview cube, for seeing inside the keycap + //cube([100,100,100]); +//} + +//minkowski_key(); + + + + +// Experimental stuff + + +// key rounded with minkowski sum. still supports wall and keytop thickness. +// use in actual output section. takes a long time to render with dishes. +// required for keycap 11, G20 keycap. +module minkowski_key(){ + union(){ + difference(){ + minkowski(){ + shape(minkowski_radius*2, minkowski_radius); + difference(){ + sphere(r=minkowski_radius, $fn=24); + translate([0,0,-minkowski_radius]) + cube([2*minkowski_radius,2*minkowski_radius,2*minkowski_radius], center=true); + } + } + shape(wall_thickness, keytop_thickness); + } + } + + connector(has_brim); + + if (stabilizers == 1){ + stabilizer_connectors(has_brim); + } +} + + +// NOT 3D, NOT CENTERED +// corollary is roundedRect +module fakeISOEnter(thickness_difference){ + z = 0.001; + radius = 2; + /*TODO I figured it out. 18.16 is the actual keycap width / height, + whereas 19.01 is the unit. ISO enter obeys that just like everything else, + which means that it's height is 18.16 * 2 + (19.01 - 18.16) or, two + keycap heights plus the space between them, also known as 18.16 + + (19.01 * (key_height - 1)). this is followed by the width too. should fix + to make this finally work*/ + unit = 18.16; // TODO probably not + + // t is all modifications to the polygon array + t = radius + thickness_difference/2; + + pointArray = [ + [0 + t,0 + t], + [unit*1.25 - t, 0 + t], + [unit*1.25 - t, unit*2 - t], + [unit*-.25 + t, unit*2 - t], + [unit*-.25 + t, unit*1 + t], + [0 + t, unit*1 + t] + ]; + + minkowski(){ + circle(r=radius, $fn=24); + polygon(points=pointArray); + } +} + +//corollary is shape_hull +module ISOEnterShapeHull(thickness_difference, depth_difference, modifier){ + unit = 18.16; // TODO probably not + height = 8 - depth_difference; + length = 1.5 * unit; // TODO not used. need for dish + + translate([-0.125 * unit, unit*.5]) linear_extrude(height=height*modifier, scale=[.8, .9]){ + translate([-unit*.5, -unit*1.5]) minkowski(){ + fakeISOEnter(thickness_difference); + } + } +} diff --git a/Hardware/SDVX_Mini.PcbDoc b/Hardware/SDVX_Mini.PcbDoc index 6f3079f4fb1fa8fab9872542347ea6d33224d91a..b3b541a79c48ad277225f05c2ea5b65f8f10bb5e 100644 GIT binary patch delta 64345 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 delta 61959 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 j*PCA(