From 1ff068b3cbe409e3cf4f6576d3f8b54c6f2bfe82 Mon Sep 17 00:00:00 2001 From: Eric Van Albert Date: Sun, 18 Jun 2017 00:57:55 -0400 Subject: [PATCH] add some BEST SFICs --- resources/best.svg | 3087 ++++++++++++++++++++++++++++++++++++++++++++ scad/best.scad | 67 + 2 files changed, 3154 insertions(+) create mode 100644 resources/best.svg create mode 100644 scad/best.scad diff --git a/resources/best.svg b/resources/best.svg new file mode 100644 index 0000000..d710082 --- /dev/null +++ b/resources/best.svg @@ -0,0 +1,3087 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + A + B + C + FM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + D + DD + E + F + G + H + J + K + L + M + Q + + + diff --git a/scad/best.scad b/scad/best.scad new file mode 100644 index 0000000..f7b68bd --- /dev/null +++ b/scad/best.scad @@ -0,0 +1,67 @@ +use +include + +module best(bitting="", + outline_name="1A Standard", + warding_name="A") { + + name = "Best SFIC"; + + /* + Bitting is specified from tip to bow, 0-9, with 0 being the shallowest cut and 9 being the deepest. + Example: 2536326 + */ + + outlines_k = ["1A Standard"]; + outlines_v = [[outline_points, outline_paths, + [-outline_points[42][0], -outline_points[37][1]], + engrave_points, + engrave_paths]]; + wardings_k = ["A", + "B", + "C", + "FM"]; + wardings_v = [warding_a_points, + warding_b_points, + warding_c_points, + warding_fm_points]; + + outline_param = key_lkup(outlines_k, outlines_v, outline_name); + outline_points = outline_param[0]; + outline_paths = outline_param[1]; + offset = outline_param[2]; + engrave_points = outline_param[3]; + engrave_paths = outline_param[4]; + + warding_points = key_lkup(wardings_k, wardings_v, warding_name); + + // Best A2 system + cut_locations = [for(i=[.080, .230, .380, .530, .680, .830, .980]) -i*25.4]; + depth_table = [for(i=[0.318:-0.0125:0.205]) i*25.4]; + + heights = key_code_to_heights(bitting, depth_table); + + difference() { + if($children == 0) { + key_blank(outline_points, + warding_points, + outline_paths=outline_paths, + //engrave_right_points=engrave_points, + //engrave_right_paths=engrave_paths, + //engrave_left_points=engrave_points, + //engrave_left_paths=engrave_paths, + offset=offset, + milling_offset=30, + plug_diameter=10.8712); + } else { + children(0); + } + key_bitting(heights, cut_locations, .7874); + } +} + +// Defaults +bitting=""; +outline="1A Standard"; +warding="A"; +best(bitting, outline, warding);