Skip to content

Commit

Permalink
More design revisions
Browse files Browse the repository at this point in the history
  • Loading branch information
JKing-B16 committed Jun 4, 2020
1 parent 8188ae1 commit ba75166
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 20 deletions.
41 changes: 35 additions & 6 deletions amoeba-king/openscad/column.scad
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ $fn=100;

h=base_h;

ergo=true;
double_row=true;
ergo=false;

module straight_row( count = 5, key_spacing = pcb_outer_l, width = pcb_outer_l ) {
s=-(count/2)+0.5;
Expand All @@ -22,6 +23,10 @@ module straight_row( count = 5, key_spacing = pcb_outer_l, width = pcb_outer_l )
}
}

if (double_row) {
straight_row(2);
}

module dactyl_row( count = 5, width = pcb_outer_l, radius = 105, angle = 11, rotation = 0, key_2U = false) {
s=-(count/2)+0.5;
e=s+count-1;
Expand All @@ -44,11 +49,35 @@ module dactly_ergo() {
[4,19,105,12, 5.5, 97, 0],
[3,19,105,12, 5.5, 116, 2 ],
];
translate([0,0,-110])
for (i = [0:6]) {
translate([ergo[i][5],0, -ergo[i][6]])
dactyl_row(ergo[i][0], ergo[i][1], ergo[i][2], ergo[i][3], ergo[i][4]);
}

r = 12 * 5/2;
x1=ergo[5][5]+ergo[5][1];
x2=ergo[4][5]+ergo[4][1];
ar=ergo[0][2];
ah=ergo[3][2]-ar+base_h + 1;
z=-ergo[4][2];
rs=1;
translate([0,0,z])
union () {
for (i = [0:6]) {
translate([ergo[i][5],0, -ergo[i][6]])
dactyl_row(ergo[i][0], ergo[i][1], ergo[i][2], ergo[i][3], ergo[i][4]);
}

translate([x2 - ergo[6][1]/2,0,0])
rotate([-r,0,0])
rotate([0,-90,0])
arc_extrude(ar, ah, rs, x2 );

translate([x1 - ergo[6][1]/2,0,0])
rotate([r,0,0])
rotate([0,-90,0])
arc_extrude(ar, ah, rs, x1 );

translate([-ergo[0][1]/2,0,0])
rotate([0,-90,0])
arc_extrude(ar, ah, ergo[0][3]*5+rs, 1 );
}
}

module dactyl_ergo_thumb() {
Expand Down
63 changes: 49 additions & 14 deletions amoeba-king/openscad/key_hole.scad
Original file line number Diff line number Diff line change
@@ -1,20 +1,39 @@
include <./arc.scad>

show_demo=false;
show_demo_r=false;
show_demo_r_back=false;
show_double=false;
if (show_demo) {
x_spacing=1;
y_spacing=10;
z_spacing=5;
z_spacing_n=5;
key(x_spacing,y_spacing,z_spacing, z_spacing_n);
translate([0,(pcb_outer_l+y_spacing),0])
key_2U(x_spacing,y_spacing,z_spacing, z_spacing_n);
x_spacing=0;
y_spacing=0;
z_spacing=0;
z_spacing_n=0;
if (show_demo_r) {
r=105;
color([1,0,0])
translate([0,0,-r])
key_r(x_spacing,r);
if (show_demo_r_back) {
color([0,1,0])
translate([0,0,-r])
key_r_back(x_spacing, r);
}
} else {
key(x_spacing,y_spacing,z_spacing, z_spacing_n);
if (show_double) {
translate([0,(pcb_outer_l+y_spacing),0])
key_2U(x_spacing,y_spacing,z_spacing, z_spacing_n);
}
}
}

/***** Printing Play ************************************************************/
// Adjust this based on your desired tolerances
h_play=0; // Horizontal Play
v_play=0.2; // Vertical Play
h_play=0; // PCB Horizontal Play
v_play=0.2; // PCB Vertical Play
// Cherry Horizontal Play
cherry_h_play=0.2;


/***** Cherry *******************************************************************/
Expand All @@ -27,7 +46,7 @@ cherry_metal_frame=1.5; // ~ 0.06*25.4;
cherry_key_top_side=17;

// Cut out
cherry_key_side=14; // ~ 0.551*25.4;
cherry_key_side=14+cherry_h_play; // ~ 0.551*25.4;
// Side Extensions
cherry_key_side_x=0.8;
cherry_key_side_y=3.5;
Expand Down Expand Up @@ -62,7 +81,7 @@ module key_cutout( x_spacing = 0, y_spacing = 0, z_spacing = 0, z_spacing_n = 0
module key_hole( x_spacing = 0, y_spacing = 0, z_spacing = 0, z_spacing_n = 0, side_cut_outs = true, key_cap = true ) {
// Cutout for keycap
x = (pcb_outer_l)/2;
y = (pcb_outer_l)/2;
y = (pcb_outer_l+y_spacing)/2;
x2 = (pcb_outer_l+x_spacing)/2;
y2= (pcb_outer_l+y_spacing)/2;
if (key_cap) {
Expand Down Expand Up @@ -280,19 +299,35 @@ module key( x_spacing = 0, y_spacing = 0, z_spacing = 0, z_spacing_n = 0 ) {

module key_r( x_spacing = 0, radius = 105, angle = 11, key_2U = false ) {
w = (pcb_outer_l + x_spacing) * (key_2U ? 2 : 1);
y_spacing = 6;
z_spacing= 0.7;
z_spacing_2 = z_spacing;

h = base_h + z_spacing;
difference() {
translate([w/2,0,0])
rotate([0,-90,0])
arc_extrude(radius, base_h, angle, w);
arc_extrude(radius, h, angle, w);
translate([0,0,radius])
if (key_2U) {
key_hole_2U(x_spacing,10,5,2);
key_hole_2U(x_spacing,y_spacing,z_spacing,z_spacing_2);
} else {
key_hole(x_spacing,10,5,2);
key_hole(x_spacing,y_spacing,z_spacing, z_spacing_2);
}
}
}

module key_r_back( x_spacing = 0, radius = 105, angle = 11, key_2U = false ) {
w = (pcb_outer_l + x_spacing) * (key_2U ? 2 : 1);
difference() {
translate([w/2,0,0])
rotate([0,-90,0])
arc_extrude(radius+base_h,2,angle, w);
translate([0,0,radius])
key_r(x_spacing, radius, angle, key_2U);
}
}


module extruded_triangle( w,l,h ) {
polyhedron([
Expand Down

0 comments on commit ba75166

Please sign in to comment.