split out medeco keyblanks into separate file, update biaxial to include new ones

This commit is contained in:
Eric Van Albert
2017-06-18 21:07:57 -04:00
parent 7eecf88a67
commit be25989599
4 changed files with 96 additions and 99 deletions

View File

@@ -40,7 +40,7 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4142136"
inkscape:cx="226.13746"
inkscape:cx="44.411022"
inkscape:cy="558.8381"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
@@ -398,9 +398,10 @@
<path
style="opacity:0.47999998;fill:#00ff00;stroke:#231f20;stroke-width:0.08819442;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
d="m 135.58485,68.752691 c 0,-1.75835 -1.39647,-3.19772 -3.15193,-3.24937 -2.91454,-0.0855 -5.83029,-0.1289 -8.74606,-0.1289 -2.91575,0 -5.83131,0.0434 -8.74589,0.1289 -1.75564,0.0516 -3.15211,1.49102 -3.15211,3.24937 v 15.13624 c 0,1.75821 1.39647,3.19772 3.15211,3.24923 2.91458,0.0856 5.83014,0.12851 8.74589,0.12851 2.91577,0 5.83152,-0.0429 8.74592,-0.12851 h 1.4e-4 c 1.75546,-0.0515 3.15193,-1.49102 3.15193,-3.24923 v -5.54799 z"
id="path48822"
id="engrave_1638"
inkscape:connector-curvature="0"
sodipodi:nodetypes="scscsscsccscs" />
sodipodi:nodetypes="scscsscsccscs"
inkscape:label="#path48822" />
<text
y="182.97798"
x="-81.356331"

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

76
scad/medeco.scad Normal file
View File

@@ -0,0 +1,76 @@
include <medeco.gen.scad>
outlines_k = ["A1515",
"1515",
"A1517",
"1517",
"1518",
"1542",
"1543",
"A1638",
"1638",
"1644",
"1655"];
outlines_v = [[outline_a1515_points, outline_a1515_paths,
[-outline_a1515_points[52][0], -outline_a1515_points[52][1]],
engrave_a1515_points,
engrave_a1515_paths],
[outline_1515_points, outline_1515_paths,
[-outline_1515_points[25][0], -outline_1515_points[25][1]],
engrave_1515_points,
engrave_1515_paths],
[outline_a1517_points, outline_a1517_paths,
[-outline_a1517_points[47][0], -outline_a1517_points[48][1]],
engrave_a1517_points,
engrave_a1517_paths],
[outline_1517_points, outline_1517_paths,
[-outline_1517_points[47][0], -outline_1517_points[48][1]],
engrave_1517_points,
engrave_1517_paths],
[outline_1518_points, outline_1518_paths,
[-outline_1518_points[40][0], -outline_1518_points[28][1]],
engrave_1518_points,
engrave_1518_paths],
[outline_1542_points, outline_1542_paths,
[-outline_1542_points[92][0], -outline_1542_points[98][1]],
engrave_1542_points,
engrave_1542_paths],
[outline_1543_points, outline_1543_paths,
[-outline_1543_points[48][0], -outline_1543_points[48][1]],
engrave_1543_points,
engrave_1543_paths],
[outline_a1638_points, outline_a1638_paths,
[-outline_a1638_points[64][0], -outline_a1638_points[68][1]],
engrave_a1638_points,
engrave_a1638_paths],
[outline_1638_points, outline_1638_paths,
[-outline_1638_points[64][0], -outline_1638_points[68][1]],
engrave_1638_points,
engrave_1638_paths],
[outline_1644_points, outline_1644_paths,
[-outline_1644_points[47][0], -outline_1644_points[43][1]],
engrave_1644_points,
engrave_1644_paths],
[outline_1655_points, outline_1655_paths,
[-outline_1655_points[48][0], -outline_1655_points[52][1]],
engrave_1655_points,
engrave_1655_paths]];
wardings_k = ["1515",
"1517",
"1518",
"1542",
"1543",
"1638",
"1644",
"1655"];
wardings_v = [warding_1515_points,
warding_1517_points,
warding_1518_points,
warding_1542_points,
warding_1543_points,
warding_1638_points,
warding_1644_points,
warding_1655_points];

View File

@@ -1,5 +1,5 @@
use <keygen.scad>
include <medeco.gen.scad>
include <medeco.scad>
module medeco_biaxial(bitting="",
outline_name="1515",
@@ -8,6 +8,8 @@ module medeco_biaxial(bitting="",
name = "Medeco Biaxial";
/*
"A" variants of key outlines indicates 6-pin version.
Bitting is specified from bow to tip, 1-6, with 1 being the shallowest cut and 6 being the deepest.
Before each number, a letter K,B,Q,M,D,S is specified for the cut angle and offset.
@@ -21,46 +23,20 @@ module medeco_biaxial(bitting="",
"1517",
"1518",
"1542",
"1543"];
outlines_v = [[outline_a1515_points, outline_a1515_paths,
[-outline_a1515_points[52][0], -outline_a1515_points[52][1]],
engrave_a1515_points,
engrave_a1515_paths],
[outline_1515_points, outline_1515_paths,
[-outline_1515_points[25][0], -outline_1515_points[25][1]],
engrave_1515_points,
engrave_1515_paths],
[outline_a1517_points, outline_a1517_paths,
[-outline_a1517_points[47][0], -outline_a1517_points[48][1]],
engrave_a1517_points,
engrave_a1517_paths],
[outline_1517_points, outline_1517_paths,
[-outline_1517_points[47][0], -outline_1517_points[48][1]],
engrave_1517_points,
engrave_1517_paths],
[outline_1518_points, outline_1518_paths,
[-outline_1518_points[40][0], -outline_1518_points[28][1]],
engrave_1518_points,
engrave_1518_paths],
[outline_1542_points, outline_1542_paths,
[-outline_1542_points[92][0], -outline_1542_points[98][1]],
engrave_1542_points,
engrave_1542_paths],
[outline_1543_points, outline_1543_paths,
[-outline_1543_points[48][0], -outline_1543_points[48][1]],
engrave_1543_points,
engrave_1543_paths]];
"1543",
"A1638",
"1638",
"1644",
"1655"];
wardings_k = ["1515",
"1517",
"1518",
"1542",
"1543"];
wardings_v = [warding_1515_points,
warding_1517_points,
warding_1518_points,
warding_1542_points,
warding_1543_points];
"1543",
"1638",
"1644",
"1655"];
outline_param = key_lkup(outlines_k, outlines_v, outline_name);
outline_points = outline_param[0];
@@ -83,8 +59,6 @@ module medeco_biaxial(bitting="",
angles_and_offsets = [for(c=bitting_angle) key_lkup(angles_k, angles_v, c)];
angles = [for(c=angles_and_offsets) c[0]];
offsets = [for(c=angles_and_offsets) c[1]];
echo(offsets);
echo(heights);
difference() {
if($children == 0) {
@@ -110,4 +84,4 @@ module medeco_biaxial(bitting="",
bitting="";
outline="1515";
warding="1515";
medeco_biaxial(bitting, outline, warding);
medeco_biaxial(bitting, outline, warding);

View File

@@ -1,6 +1,5 @@
use <keygen.scad>
include <medeco.gen.scad>
include <medeco.scad>
module medeco_classic(bitting="",
outline_name="1515",
@@ -29,50 +28,6 @@ module medeco_classic(bitting="",
"1638",
"1644",
"1655"];
outlines_v = [[outline_a1515_points, outline_a1515_paths,
[-outline_a1515_points[52][0], -outline_a1515_points[52][1]],
engrave_a1515_points,
engrave_a1515_paths],
[outline_1515_points, outline_1515_paths,
[-outline_1515_points[25][0], -outline_1515_points[25][1]],
engrave_1515_points,
engrave_1515_paths],
[outline_a1517_points, outline_a1517_paths,
[-outline_a1517_points[47][0], -outline_a1517_points[48][1]],
engrave_a1517_points,
engrave_a1517_paths],
[outline_1517_points, outline_1517_paths,
[-outline_1517_points[47][0], -outline_1517_points[48][1]],
engrave_1517_points,
engrave_1517_paths],
[outline_1518_points, outline_1518_paths,
[-outline_1518_points[40][0], -outline_1518_points[28][1]],
engrave_1518_points,
engrave_1518_paths],
[outline_1542_points, outline_1542_paths,
[-outline_1542_points[92][0], -outline_1542_points[98][1]],
engrave_1542_points,
engrave_1542_paths],
[outline_1543_points, outline_1543_paths,
[-outline_1543_points[48][0], -outline_1543_points[48][1]],
engrave_1543_points,
engrave_1543_paths],
[outline_a1638_points, outline_a1638_paths,
[-outline_a1638_points[64][0], -outline_a1638_points[68][1]],
engrave_a1638_points,
engrave_a1638_paths],
[outline_1638_points, outline_1638_paths,
[-outline_1638_points[64][0], -outline_1638_points[68][1]],
engrave_1638_points,
engrave_1638_paths],
[outline_1644_points, outline_1644_paths,
[-outline_1644_points[47][0], -outline_1644_points[43][1]],
engrave_1644_points,
engrave_1644_paths],
[outline_1655_points, outline_1655_paths,
[-outline_1655_points[48][0], -outline_1655_points[52][1]],
engrave_1655_points,
engrave_1655_paths]];
wardings_k = ["1515",
"1517",
@@ -83,15 +38,6 @@ module medeco_classic(bitting="",
"1644",
"1655"];
wardings_v = [warding_1515_points,
warding_1517_points,
warding_1518_points,
warding_1542_points,
warding_1543_points,
warding_1638_points,
warding_1644_points,
warding_1655_points];
outline_param = key_lkup(outlines_k, outlines_v, outline_name);
outline_points = outline_param[0];
outline_paths = outline_param[1];
@@ -133,6 +79,6 @@ module medeco_classic(bitting="",
// Defaults
bitting="";
outline="1638";
warding="1638";
outline="1515";
warding="1515";
medeco_classic(bitting, outline, warding);