From be2598959915e7622c9cca66a6cd42ac50898408 Mon Sep 17 00:00:00 2001 From: Eric Van Albert Date: Sun, 18 Jun 2017 21:07:57 -0400 Subject: [PATCH] split out medeco keyblanks into separate file, update biaxial to include new ones --- resources/medeco.svg | 7 ++-- scad/medeco.scad | 76 ++++++++++++++++++++++++++++++++++++++++ scad/medeco_biaxial.scad | 52 +++++++-------------------- scad/medeco_classic.scad | 60 ++----------------------------- 4 files changed, 96 insertions(+), 99 deletions(-) create mode 100644 scad/medeco.scad diff --git a/resources/medeco.svg b/resources/medeco.svg index 281a99f..02d1fe9 100644 --- a/resources/medeco.svg +++ b/resources/medeco.svg @@ -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 @@ + sodipodi:nodetypes="scscsscsccscs" + inkscape:label="#path48822" /> + +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]; diff --git a/scad/medeco_biaxial.scad b/scad/medeco_biaxial.scad index bd49130..53e2438 100644 --- a/scad/medeco_biaxial.scad +++ b/scad/medeco_biaxial.scad @@ -1,5 +1,5 @@ use -include +include 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); \ No newline at end of file +medeco_biaxial(bitting, outline, warding); diff --git a/scad/medeco_classic.scad b/scad/medeco_classic.scad index 36c218e..a3d9667 100644 --- a/scad/medeco_classic.scad +++ b/scad/medeco_classic.scad @@ -1,6 +1,5 @@ use -include - +include 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);