key_formats.c 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399
  1. #include "key_formats.h"
  2. // all lengths in inches since it's all American formats
  3. // angle is in degrees
  4. const KeyFormat all_formats[] = {
  5. {.manufacturer = "Kwikset",
  6. .format_name = "KW1",
  7. .format_link = "https://lsamichigan.org/Tech/Kwikset_KeySpecs.pdf",
  8. .first_pin_inch = 0.247,
  9. .last_pin_inch = 0.847,
  10. .pin_increment_inch = 0.15,
  11. .pin_num = 5,
  12. .pin_width_inch = 0.084,
  13. .elbow_inch = 0.15,
  14. .drill_angle = 90,
  15. .uncut_depth_inch = 0.329,
  16. .deepest_depth_inch = 0.191,
  17. .depth_step_inch = 0.023,
  18. .min_depth_ind = 1,
  19. .max_depth_ind = 7,
  20. .macs = 4,
  21. .clearance = 3},
  22. {.manufacturer = "Schlage",
  23. .format_name = "SC4",
  24. .format_link = "https://lsamichigan.org/Tech/SCHLAGE_KeySpecs.pdf",
  25. .first_pin_inch = 0.231,
  26. .last_pin_inch = 1.012,
  27. .pin_increment_inch = 0.1562,
  28. .pin_num = 6,
  29. .pin_width_inch = 0.031,
  30. .elbow_inch = 0.1,
  31. .drill_angle = 90, // This should actually be 100 but the current resolution will make
  32. // 100 degrees very ugly and unsuable
  33. .uncut_depth_inch = 0.335,
  34. .deepest_depth_inch = 0.2,
  35. .depth_step_inch = 0.015,
  36. .min_depth_ind = 0,
  37. .max_depth_ind = 9,
  38. .macs = 7,
  39. .clearance = 8},
  40. {.manufacturer = "Arrow",
  41. .format_name = "AR4",
  42. .format_link = "C2",
  43. .first_pin_inch = 0.265,
  44. .last_pin_inch = 1.040,
  45. .pin_increment_inch = 0.155,
  46. .pin_num = 6,
  47. .pin_width_inch = 0.060,
  48. .elbow_inch = 0.1,
  49. .drill_angle = 90,
  50. .uncut_depth_inch = 0.312,
  51. .deepest_depth_inch = 0.186,
  52. .depth_step_inch = 0.014,
  53. .min_depth_ind = 0,
  54. .max_depth_ind = 9,
  55. .macs = 6,
  56. .clearance = 7},
  57. {.manufacturer = "Master Lock",
  58. .format_name = "M1",
  59. .format_link = "C35",
  60. .first_pin_inch = 0.185,
  61. .last_pin_inch = 0.689,
  62. .pin_increment_inch = 0.126,
  63. .pin_num = 5,
  64. .pin_width_inch = 0.039,
  65. .elbow_inch = 0.1,
  66. .drill_angle = 90,
  67. .uncut_depth_inch = 0.276,
  68. .deepest_depth_inch = 0.171,
  69. .depth_step_inch = 0.015,
  70. .min_depth_ind = 0,
  71. .max_depth_ind = 7,
  72. .macs = 7,
  73. .clearance = 6},
  74. {.manufacturer = "American",
  75. .format_name = "AM7",
  76. .format_link = "C80",
  77. .first_pin_inch = 0.157,
  78. .last_pin_inch = 0.781,
  79. .pin_increment_inch = 0.125,
  80. .pin_num = 6,
  81. .pin_width_inch = 0.039,
  82. .elbow_inch = 0.1,
  83. .drill_angle = 90,
  84. .uncut_depth_inch = 0.283,
  85. .deepest_depth_inch = 0.173,
  86. .depth_step_inch = 0.016,
  87. .min_depth_ind = 1,
  88. .max_depth_ind = 8,
  89. .macs = 7,
  90. .clearance = 5},
  91. {.manufacturer = "Yale",
  92. .format_name = "Y2",
  93. .format_link = "C57",
  94. .first_pin_inch = 0.200,
  95. .last_pin_inch = 1.025,
  96. .pin_increment_inch = 0.165,
  97. .pin_num = 6,
  98. .pin_width_inch = 0.054,
  99. .elbow_inch = 0.1,
  100. .drill_angle = 90,
  101. .uncut_depth_inch = 0.320,
  102. .deepest_depth_inch = 0.149,
  103. .depth_step_inch = 0.019,
  104. .min_depth_ind = 0,
  105. .max_depth_ind = 9,
  106. .macs = 9,
  107. .clearance = 4},
  108. {.manufacturer = "Yale",
  109. .format_name = "Y11",
  110. .format_link = "CX55",
  111. .first_pin_inch = 0.124,
  112. .last_pin_inch = 0.502,
  113. .pin_increment_inch = 0.095,
  114. .pin_num = 5,
  115. .pin_width_inch = 0.039,
  116. .elbow_inch = 0.1,
  117. .drill_angle = 90,
  118. .uncut_depth_inch = 0.246,
  119. .deepest_depth_inch = 0.167,
  120. .depth_step_inch = 0.020,
  121. .min_depth_ind = 1,
  122. .max_depth_ind = 5,
  123. .macs = 7,
  124. .clearance = 3},
  125. {.manufacturer = "Sargent",
  126. .format_name = "S22",
  127. .format_link = "C44",
  128. .first_pin_inch = 0.216,
  129. .last_pin_inch = 0.996,
  130. .pin_increment_inch = 0.156,
  131. .pin_num = 6,
  132. .pin_width_inch = 0.063,
  133. .elbow_inch = 0.1,
  134. .drill_angle = 90,
  135. .uncut_depth_inch = 0.328, // double check
  136. .deepest_depth_inch = 0.148,
  137. .depth_step_inch = 0.020,
  138. .min_depth_ind = 1,
  139. .max_depth_ind = 10,
  140. .macs = 7,
  141. .clearance = 5},
  142. {.manufacturer = "National",
  143. .format_name = "NA25",
  144. .format_link = "C40",
  145. .first_pin_inch = 0.250,
  146. .last_pin_inch = 0.874,
  147. .pin_increment_inch = 0.156,
  148. .pin_num = 5,
  149. .pin_width_inch = 0.039,
  150. .elbow_inch = 0.1,
  151. .drill_angle = 90,
  152. .uncut_depth_inch = 0.304,
  153. .deepest_depth_inch = 0.191,
  154. .depth_step_inch = 0.012,
  155. .min_depth_ind = 0,
  156. .max_depth_ind = 9,
  157. .macs = 7,
  158. .clearance = 8},
  159. {.manufacturer = "Corbin",
  160. .format_name = "CO88",
  161. .format_link = "C14",
  162. .first_pin_inch = 0.250,
  163. .last_pin_inch = 1.030,
  164. .pin_increment_inch = 0.156,
  165. .pin_num = 6,
  166. .pin_width_inch = 0.047,
  167. .elbow_inch = 0.1,
  168. .drill_angle = 90,
  169. .uncut_depth_inch = 0.343,
  170. .deepest_depth_inch = 0.217,
  171. .depth_step_inch = 0.014,
  172. .min_depth_ind = 1,
  173. .max_depth_ind = 10,
  174. .macs = 7,
  175. .clearance = 8},
  176. {.manufacturer = "Lockwood",
  177. .format_name = "LW4",
  178. .format_link = "",
  179. .first_pin_inch = 0.245,
  180. .last_pin_inch = 0.870,
  181. .pin_increment_inch = 0.1562,
  182. .pin_num = 5,
  183. .pin_width_inch = 0.031,
  184. .elbow_inch = 0.1,
  185. .drill_angle = 90,
  186. .uncut_depth_inch = 0.344,
  187. .deepest_depth_inch = 0.203,
  188. .depth_step_inch = 0.014,
  189. .min_depth_ind = 0,
  190. .max_depth_ind = 9,
  191. .macs = 9,
  192. .clearance = 8},
  193. {.manufacturer = "Lockwood",
  194. .format_name = "LW5",
  195. .format_link = "",
  196. .first_pin_inch = 0.245,
  197. .last_pin_inch = 1.0262,
  198. .pin_increment_inch = 0.1562,
  199. .pin_num = 6,
  200. .pin_width_inch = 0.031,
  201. .elbow_inch = 0.1,
  202. .drill_angle = 90,
  203. .uncut_depth_inch = 0.344,
  204. .deepest_depth_inch = 0.203,
  205. .depth_step_inch = 0.014,
  206. .min_depth_ind = 0,
  207. .max_depth_ind = 9,
  208. .macs = 9,
  209. .clearance = 8},
  210. {.manufacturer = "National",
  211. .format_name = "NA12",
  212. .format_link = "C39",
  213. .first_pin_inch = 0.150,
  214. .last_pin_inch = 0.710,
  215. .pin_increment_inch = 0.140,
  216. .pin_num = 5,
  217. .pin_width_inch = 0.039,
  218. .elbow_inch = 0.1,
  219. .drill_angle = 90,
  220. .uncut_depth_inch = 0.270,
  221. .deepest_depth_inch = 0.157,
  222. .depth_step_inch = 0.013,
  223. .min_depth_ind = 0,
  224. .max_depth_ind = 9,
  225. .macs = 7,
  226. .clearance = 8},
  227. {.manufacturer = "Russwin",
  228. .format_name = "RU45",
  229. .format_link = "CX6",
  230. .first_pin_inch = 0.250,
  231. .last_pin_inch = 1.030,
  232. .pin_increment_inch = 0.156,
  233. .pin_num = 6,
  234. .pin_width_inch = 0.053,
  235. .elbow_inch = 0.1,
  236. .drill_angle = 90,
  237. .uncut_depth_inch = 0.343,
  238. .deepest_depth_inch = 0.203,
  239. .depth_step_inch = 0.028,
  240. .min_depth_ind = 1,
  241. .max_depth_ind = 6,
  242. .macs = 5,
  243. .clearance = 3},
  244. {.manufacturer = "Ford",
  245. .format_name = "H75",
  246. .sides = 2,
  247. .stop = 2,
  248. .format_link = "CX101",
  249. .first_pin_inch = 0.201,
  250. .last_pin_inch = 0.845,
  251. .pin_increment_inch = 0.092,
  252. .pin_num = 8,
  253. .pin_width_inch = 0.039,
  254. .elbow_inch = 0.201, // this should be equal to first pin inch for tip
  255. // stopped key line
  256. .drill_angle = 90,
  257. .uncut_depth_inch = 0.354,
  258. .deepest_depth_inch = 0.254,
  259. .depth_step_inch = 0.025,
  260. .min_depth_ind = 1,
  261. .max_depth_ind = 5,
  262. .macs = 5,
  263. .clearance = 2},
  264. {.manufacturer = "Chevrolet",
  265. .format_name = "B102",
  266. .sides = 2,
  267. .stop = 2,
  268. .format_link = "",
  269. .first_pin_inch = 0.205,
  270. .last_pin_inch = 1.037,
  271. .pin_increment_inch = 0.093,
  272. .pin_num = 10,
  273. .pin_width_inch = 0.039,
  274. .elbow_inch = 0.205, // this should be equal to first pin inch for tip
  275. // stopped key line
  276. .drill_angle = 90,
  277. .uncut_depth_inch = 0.315,
  278. .deepest_depth_inch = 0.161,
  279. .depth_step_inch = 0.026,
  280. .min_depth_ind = 1,
  281. .max_depth_ind = 4,
  282. .macs = 5,
  283. .clearance = 2},
  284. {.manufacturer = "Dodge",
  285. .format_name = "Y159",
  286. .sides = 2,
  287. .stop = 2,
  288. .format_link = "CX102",
  289. .first_pin_inch = 0.297,
  290. .last_pin_inch = 0.941,
  291. .pin_increment_inch = 0.092,
  292. .pin_num = 8,
  293. .pin_width_inch = 0.039,
  294. .elbow_inch = 0.297, // this should be equal to first pin inch for tip
  295. // stopped key line
  296. .drill_angle = 90,
  297. .uncut_depth_inch = 0.339,
  298. .deepest_depth_inch = 0.197,
  299. .depth_step_inch = 0.047,
  300. .min_depth_ind = 1,
  301. .max_depth_ind = 4,
  302. .macs = 5,
  303. .clearance = 1},
  304. {.manufacturer = "Kawasaki",
  305. .format_name = "KA14",
  306. .sides = 2,
  307. .format_link = "CMC50",
  308. .first_pin_inch = 0.098,
  309. .last_pin_inch = 0.591,
  310. .pin_increment_inch = 0.098,
  311. .pin_num = 6,
  312. .pin_width_inch = 0.039,
  313. .elbow_inch = 0.1, // this should be equal to first pin inch for tip
  314. // stopped key line
  315. .drill_angle = 90,
  316. .uncut_depth_inch = 0.258,
  317. .deepest_depth_inch = 0.198,
  318. .depth_step_inch = 0.020,
  319. .min_depth_ind = 1,
  320. .max_depth_ind = 4,
  321. .macs = 4,
  322. .clearance = 3},
  323. {.manufacturer = "Yamaha",
  324. .format_name = "YM63",
  325. .sides = 2,
  326. .format_link = "CMC71",
  327. .first_pin_inch = 0.157,
  328. .last_pin_inch = 0.748,
  329. .pin_increment_inch = 0.098,
  330. .pin_num = 7,
  331. .pin_width_inch = 0.039,
  332. .elbow_inch = 0.1, // this should be equal to first pin inch for tip
  333. // stopped key line
  334. .drill_angle = 90,
  335. .uncut_depth_inch = 0.295,
  336. .deepest_depth_inch = 0.236,
  337. .depth_step_inch = 0.020,
  338. .min_depth_ind = 1,
  339. .max_depth_ind = 4,
  340. .macs = 4,
  341. .clearance = 3},
  342. {.manufacturer = "Best (A2)",
  343. .format_name = "SFIC",
  344. .stop = 2,
  345. .format_link = "C3",
  346. .first_pin_inch = 0.250,
  347. .last_pin_inch = 0.998,
  348. .pin_increment_inch = 0.149,
  349. .pin_num = 6,
  350. .pin_width_inch = 0.051,
  351. .elbow_inch = 0.081, // this should be equal to first pin inch for tip
  352. // stopped key line
  353. .drill_angle = 90,
  354. .uncut_depth_inch = 0.318,
  355. .deepest_depth_inch = 0.206,
  356. .depth_step_inch = 0.025,
  357. .min_depth_ind = 0,
  358. .max_depth_ind = 9,
  359. .macs = 5,
  360. .clearance = 3},
  361. {.manufacturer = "RV (FIC,GL,Bauer)",
  362. .format_name = "RV",
  363. .sides = 2,
  364. .format_link = "Card",
  365. .first_pin_inch = 0.126,
  366. .last_pin_inch = 0.504,
  367. .pin_increment_inch = 0.094,
  368. .pin_num = 5,
  369. .pin_width_inch = 0.039,
  370. .elbow_inch = 0.126, // this should be equal to first pin inch for tip
  371. // stopped key line
  372. .drill_angle = 90,
  373. .uncut_depth_inch = 0.260,
  374. .deepest_depth_inch = 0.181,
  375. .depth_step_inch = 0.040,
  376. .min_depth_ind = 1,
  377. .max_depth_ind = 3,
  378. .macs = 3,
  379. .clearance = 1}};