diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d3bb926 --- /dev/null +++ b/Makefile @@ -0,0 +1,34 @@ +# Makefile for keygen + +# Executables +SCAD = OPENSCADPATH=src:build openscad +POLY = PYTHONPATH=/usr/share/inkscape/extensions bin/paths2openscad.py + +SCAD_DIR = src +SVG_DIR = resources +POLY_DIR = build +STL_DIR = build + +# Files to include +SVG_SRC = $(wildcard $(SVG_DIR)/*.svg) +SCAD_SRC = $(wildcard $(SCAD_DIR)/*.scad) + +# Generated polygon files +POLY_OBJ = $(patsubst $(SVG_DIR)/%.svg,$(POLY_DIR)/%.gen.scad,$(SVG_SRC)) + +# Generated STL +STL_OBJ = + +OBJECTS = $(POLYGON_OBJ) $(STL_OBJ) + +# Assembler, compiler, and linker flags +POLYFLAGS = +SCADFLAGS = + +# Targets +all: $(STL_OBJ) +poly: $(POLY_OBJ) +clean: + -rm -f $(OBJECTS) +$(POLY_DIR)/%.gen.scad: $(SVG_DIR)/%.svg + $(POLY) $(POLYFLAGS) --fname $@ $< diff --git a/paths2openscad.inx b/bin/paths2openscad.inx similarity index 100% rename from paths2openscad.inx rename to bin/paths2openscad.inx diff --git a/paths2openscad.py b/bin/paths2openscad.py similarity index 100% rename from paths2openscad.py rename to bin/paths2openscad.py diff --git a/build/.gitignore b/build/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/build/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/fm.gen.scad b/fm.gen.scad deleted file mode 100644 index 4708666..0000000 --- a/fm.gen.scad +++ /dev/null @@ -1,18 +0,0 @@ -// Automatically generated using the Inkscape to OpenSCAD Converter -// Variable names are of the form _points and -// _paths. As a result, you can associate a polygon in this -// OpenSCAD program with the corresponding SVG element in the Inkscape document -// by looking for the XML element with the attribute id="inkscape-path-id". - -warding_points = [[37.765387, 4.245608], [37.632502, 2.251501], [37.593172, 1.168714], [37.599510, 0.794794], [37.630507, 0.604488], [38.043981, 0.121178], [38.683677, -0.531872], [38.683677, -1.397452], [38.020135, -2.176881], [37.772078, -2.508262], [37.675987, -2.704872], [37.697425, -3.017870], [37.722717, -3.141794], [37.764387, -3.220602], [37.995563, -3.312207], [38.175207, -3.353412], [38.299237, -4.260332], [36.702437, -4.260332], [36.702437, -2.916742], [37.422512, -2.015049], [37.693177, -1.633853], [37.827947, -1.379372], [37.884006, -1.090405], [37.890691, -0.808635], [37.850229, -0.535763], [37.764847, -0.273492], [37.629756, -0.043769], [37.378390, 0.312923], [36.702387, 1.203418], [36.702387, 4.245608]]; -warding_paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]]; - -outline_points = [[-26.772734, 12.666803], [-27.736668, 12.642298], [-28.674473, 12.565120], [-29.562000, 12.434385], [-30.375102, 12.249212], [-31.089630, 12.008719], [-31.681438, 11.712023], [-31.923775, 11.542324], [-32.126376, 11.358243], [-32.286223, 11.159670], [-32.400298, 10.946496], [-32.638730, 10.154615], [-32.924895, 8.949666], [-33.411091, 6.589655], [-33.498555, 6.206573], [-33.604244, 5.892542], [-33.728679, 5.638731], [-33.872382, 5.436311], [-34.035873, 5.276450], [-34.219674, 5.150317], [-34.650290, 4.963915], [-35.105382, 4.822846], [-35.535376, 4.651464], [-35.939846, 4.451709], [-36.318365, 4.225522], [-36.670508, 3.974841], [-36.995849, 3.701607], [-37.293960, 3.407759], [-37.564415, 3.095238], [-37.806789, 2.765983], [-38.020655, 2.421934], [-38.205586, 2.065032], [-38.361157, 1.697215], [-38.486940, 1.320424], [-38.582510, 0.936599], [-38.647441, 0.547680], [-38.681305, 0.155606], [-38.683677, -0.237682], [-38.654131, -0.630245], [-38.592239, -1.020144], [-38.497577, -1.405437], [-38.369716, -1.784185], [-38.208232, -2.154448], [-38.012698, -2.514287], [-37.782687, -2.861761], [-37.517774, -3.194931], [-37.217531, -3.511856], [-36.881533, -3.810598], [-36.509353, -4.089215], [-36.100565, -4.345768], [-35.654743, -4.578318], [-35.171460, -4.784924], [-34.650290, -4.963646], [-34.219674, -5.150129], [-34.035873, -5.276344], [-33.872382, -5.436300], [-33.728679, -5.638815], [-33.604244, -5.892708], [-33.498555, -6.206798], [-33.411091, -6.589902], [-32.924895, -8.949913], [-32.638730, -10.154862], [-32.400298, -10.946743], [-32.286225, -11.159915], [-32.126382, -11.358480], [-31.923788, -11.542550], [-31.681460, -11.712235], [-31.089675, -12.008895], [-30.375169, -12.249346], [-29.562086, -12.434475], [-28.674568, -12.565170], [-27.736760, -12.642317], [-26.772804, -12.666803], [-25.806844, -12.639516], [-24.863022, -12.561342], [-23.965481, -12.433169], [-23.138366, -12.255882], [-22.405818, -12.030370], [-21.791982, -11.757519], [-21.537125, -11.603619], [-21.321000, -11.438216], [-21.146624, -11.261423], [-21.017015, -11.073349], [-20.882041, -10.718538], [-20.735422, -10.158724], [-20.438716, -8.683267], [-20.189831, -7.165329], [-20.051699, -6.123264], [-19.990868, -5.801322], [-19.871630, -5.476294], [-19.696203, -5.162365], [-19.466806, -4.873718], [-19.185657, -4.624537], [-18.854976, -4.429008], [-18.476980, -4.301313], [-18.053888, -4.255637], [16.359516, -4.260346], [16.514950, -4.244327], [16.669034, -4.198666], [16.949267, -4.033042], [17.152440, -3.792727], [17.210200, -3.653701], [17.230781, -3.506972], [17.230781, -1.017711], [17.978022, -1.017711], [18.145261, -0.991218], [18.278469, -0.919522], [18.381264, -0.814300], [18.457261, -0.687229], [18.543323, -0.414247], [18.565582, -0.193989], [18.565582, 1.025573], [15.453111, 4.121698], [-17.959321, 4.121698], [-18.234982, 4.138658], [-18.521285, 4.197719], [-18.810891, 4.311154], [-19.096465, 4.491233], [-19.370669, 4.750231], [-19.626167, 5.100419], [-19.855623, 5.554069], [-20.051699, 6.123454], [-20.214830, 6.794268], [-20.354220, 7.520568], [-20.585026, 8.998869], [-20.790627, 10.276855], [-20.898509, 10.752760], [-21.017531, 11.073022], [-21.147134, 11.261099], [-21.321494, 11.437902], [-21.537595, 11.603317], [-21.792419, 11.757234], [-22.406173, 12.030127], [-23.138623, 12.255686], [-23.965636, 12.433019], [-24.863081, 12.561232], [-25.806825, 12.639431], [-26.772734, 12.666724], [-33.632264, 2.756298], [-33.075296, 2.700140], [-32.556535, 2.539099], [-32.087093, 2.284290], [-31.678083, 1.946823], [-31.340617, 1.537813], [-31.085807, 1.068371], [-30.924767, 0.549610], [-30.868609, -0.007357], [-30.924767, -0.564325], [-31.085807, -1.083087], [-31.340616, -1.552529], [-31.678082, -1.961540], [-32.087092, -2.299007], [-32.556534, -2.553816], [-33.075296, -2.714857], [-33.632264, -2.771015], [-34.189232, -2.714857], [-34.707993, -2.553816], [-35.177436, -2.299007], [-35.586447, -1.961540], [-35.923913, -1.552529], [-36.178723, -1.083087], [-36.339763, -0.564325], [-36.395921, -0.007357], [-36.339763, 0.549611], [-36.178723, 1.068372], [-35.923913, 1.537814], [-35.586447, 1.946824], [-35.177436, 2.284291], [-34.707993, 2.539100], [-34.189232, 2.700140], [-33.632264, 2.756298]]; -outline_paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137], [170, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138]]; - -engrave_points = [[-26.774285, 11.587801], [-27.679908, 11.563925], [-28.554027, 11.490936], [-29.366389, 11.371552], [-30.086744, 11.208494], [-30.664846, 11.002980], [-31.073763, 10.788463], [-31.318221, 10.616013], [-31.402943, 10.536701], [-31.578980, 9.913920], [-31.871649, 8.714590], [-32.350172, 6.392252], [-32.459987, 5.914089], [-32.608397, 5.478407], [-32.803522, 5.085590], [-33.053488, 4.736021], [-33.351599, 4.446061], [-33.672702, 4.224386], [-33.997227, 4.059832], [-34.305610, 3.941237], [-34.371756, 3.921605], [-34.747122, 3.805635], [-35.099717, 3.666020], [-35.736303, 3.322111], [-36.280927, 2.902405], [-36.733002, 2.419427], [-37.091945, 1.885701], [-37.357168, 1.313755], [-37.528087, 0.716112], [-37.604115, 0.105300], [-37.587774, -0.506578], [-37.476335, -1.108770], [-37.261332, -1.690798], [-37.112350, -1.970975], [-36.934302, -2.242181], [-36.726131, -2.503106], [-36.486779, -2.752439], [-36.215188, -2.988872], [-35.910300, -3.211093], [-35.571057, -3.417793], [-35.196400, -3.607661], [-34.785271, -3.779389], [-34.336614, -3.931665], [-34.305610, -3.942010], [-33.997225, -4.060605], [-33.672699, -4.225158], [-33.351597, -4.446832], [-33.053488, -4.736792], [-32.803524, -5.086367], [-32.608398, -5.479184], [-32.459988, -5.914862], [-32.350172, -6.393023], [-31.871649, -8.715361], [-31.578922, -9.916039], [-31.402943, -10.539539], [-31.318451, -10.618965], [-31.074648, -10.791430], [-30.666460, -11.005898], [-30.088813, -11.211334], [-29.368287, -11.374234], [-28.555271, -11.493394], [-27.680394, -11.566220], [-26.774285, -11.590122], [-25.865423, -11.563783], [-24.981562, -11.490079], [-24.152254, -11.372216], [-23.407049, -11.213401], [-22.810511, -11.016339], [-22.365711, -10.805646], [-21.974579, -10.563311], [-21.785960, -9.914773], [-21.500705, -8.494704], [-21.256258, -6.995169], [-21.125534, -6.017852], [-21.032617, -5.510627], [-20.855179, -5.022735], [-20.594199, -4.561759], [-20.250652, -4.135281], [-20.441483, -3.673034], [-20.603809, -3.190040], [-20.737308, -2.690014], [-20.841655, -2.176673], [-20.916524, -1.653731], [-20.961593, -1.124906], [-20.976536, -0.593914], [-20.961029, -0.064470], [-20.914748, 0.459710], [-20.837368, 0.974909], [-20.728565, 1.477411], [-20.588014, 1.963501], [-20.415391, 2.429462], [-20.210372, 2.871578], [-19.972633, 3.286133], [-19.701848, 3.669412], [-19.929605, 3.843071], [-20.143167, 4.045145], [-20.525135, 4.532916], [-20.842595, 5.129470], [-21.090395, 5.831555], [-21.271327, 6.570479], [-21.419386, 7.337682], [-21.653150, 8.839640], [-21.850037, 10.071606], [-21.976646, 10.560982], [-22.367530, 10.803477], [-22.811481, 11.013757], [-23.407049, 11.210553], [-24.152012, 11.369419], [-24.981419, 11.487320], [-25.865451, 11.561019], [-26.774285, 11.587274], [-33.657537, 3.627563], [-33.304037, 3.610072], [-32.956524, 3.558225], [-32.617344, 3.472993], [-32.288841, 3.355347], [-31.973362, 3.206259], [-31.673251, 3.026700], [-31.390854, 2.817642], [-31.128517, 2.580056], [-30.890931, 2.317719], [-30.681873, 2.035322], [-30.502314, 1.735211], [-30.353226, 1.419732], [-30.235580, 1.091229], [-30.150348, 0.752049], [-30.098501, 0.404536], [-30.081010, 0.051036], [-30.099514, -0.314609], [-30.153743, -0.669689], [-30.241901, -1.012406], [-30.362189, -1.340964], [-30.512811, -1.653564], [-30.691968, -1.948410], [-30.897863, -2.223705], [-31.128699, -2.477650], [-31.382678, -2.708449], [-31.658002, -2.914305], [-31.952874, -3.093420], [-32.265496, -3.243996], [-32.594071, -3.364237], [-32.936801, -3.452345], [-33.291889, -3.506523], [-33.657537, -3.524974], [-34.023145, -3.506474], [-34.378192, -3.452255], [-34.720879, -3.364113], [-35.049411, -3.243847], [-35.361990, -3.093252], [-35.656818, -2.914126], [-35.932101, -2.708265], [-36.186039, -2.477467], [-36.416837, -2.223528], [-36.622697, -1.948246], [-36.801823, -1.653417], [-36.952418, -1.340838], [-37.072684, -1.012306], [-37.160826, -0.669619], [-37.215045, -0.314572], [-37.233544, 0.051036], [-37.215094, 0.416684], [-37.160916, 0.771771], [-37.072807, 1.114501], [-36.952567, 1.443076], [-36.801990, 1.755698], [-36.622876, 2.050570], [-36.417020, 2.325894], [-36.186221, 2.579873], [-35.932276, 2.810709], [-35.656982, 3.016604], [-35.362136, 3.195761], [-35.049536, 3.346383], [-34.720978, 3.466671], [-34.378261, 3.554829], [-34.023182, 3.609059], [-33.657537, 3.627563], [-33.657537, 3.627563], [-21.976646, 10.560990], [-21.963734, 10.552206], [-21.976646, 10.560990], [-21.974529, -10.563303], [-21.961617, -10.555048], [-21.974529, -10.563303]]; -engrave_paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110], [176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111], [177, 178, 179], [180, 181, 182]]; - -//polygon(points=warding_points, paths=warding_paths); -//polygon(points=outline_points, paths=outline_paths); -//polygon(points=engrave_points, paths=engrave_paths); diff --git a/fm.svg b/resources/fm.svg similarity index 100% rename from fm.svg rename to resources/fm.svg diff --git a/sc4.svg b/resources/sc4.svg similarity index 100% rename from sc4.svg rename to resources/sc4.svg diff --git a/schlage.svg b/resources/schlage.svg similarity index 100% rename from schlage.svg rename to resources/schlage.svg diff --git a/schlage.gen.scad b/schlage.gen.scad deleted file mode 100644 index 6d20603..0000000 --- a/schlage.gen.scad +++ /dev/null @@ -1,66 +0,0 @@ -// Automatically generated using the Inkscape to OpenSCAD Converter -// Variable names are of the form _points and -// _paths. As a result, you can associate a polygon in this -// OpenSCAD program with the corresponding SVG element in the Inkscape document -// by looking for the XML element with the attribute id="inkscape-path-id". - -warding_l_points = [[-7.961902, -76.962753], [-8.329202, -76.708753], [-8.329202, -75.438753], [-9.063812, -74.168753], [-9.063812, -73.491413], [-8.623042, -73.237413], [-7.961902, -72.475413], [-7.961882, -68.580753], [-8.990322, -68.580753], [-8.990342, -72.306083], [-9.871872, -74.168753], [-8.916882, -75.354083], [-8.916882, -76.200753], [-9.871872, -76.624083], [-9.871872, -77.293453], [-7.961872, -77.293453]]; -warding_l_paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]]; - -warding_c_points = [[-34.112852, -25.980113], [-34.113183, -24.464723], [-35.068322, -22.432723], [-35.068322, -22.178773], [-34.113183, -21.755433], [-34.113517, -17.268103], [-35.068322, -17.268103], [-35.068322, -20.908773], [-36.023119, -21.416653], [-36.023183, -22.686773], [-35.136523, -24.549433], [-35.136523, -24.803433], [-36.023119, -25.226783], [-36.023119, -25.980433]]; -warding_c_paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]]; - -engrave_5pin_points = [[-36.090959, 77.246488], [-36.090959, 49.284136], [-35.803660, 49.284136], [-35.803660, 77.246488], [-40.096824, 77.266198], [-40.096824, 49.303845], [-39.809529, 49.303845], [-39.809529, 77.266193], [-41.652854, 77.248018], [-41.652854, 49.285675], [-41.365562, 49.285675], [-41.365562, 77.248018], [-43.208886, 77.293448], [-43.208886, 49.331095], [-42.921592, 49.331095], [-42.921592, 77.293453], [-47.742841, 77.284348], [-47.742841, 49.322040], [-47.455546, 49.322040], [-47.455546, 77.284367], [-49.418718, 77.272398], [-49.418718, 49.310046], [-49.131424, 49.310046], [-49.131424, 77.272416]]; -engrave_5pin_paths = [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]]; - -warding_f_points = [[27.736637, -25.311443], [28.691617, -24.888113], [28.691617, -24.888113], [28.691617, -24.634103], [28.691617, -24.634103], [27.736637, -23.872103], [27.736637, -23.872103], [27.736637, -23.025443], [28.250847, -22.009443], [27.736637, -21.670773], [27.736637, -21.670773], [27.736637, -21.247443], [27.736637, -21.247443], [28.691617, -21.078103], [28.691617, -21.078103], [28.691617, -17.268103], [28.691617, -17.268103], [29.646637, -17.268103], [29.646637, -17.268103], [29.646637, -21.501443], [28.838577, -22.940773], [28.838577, -22.940773], [28.838577, -23.194773], [28.838577, -23.194773], [29.646637, -23.364103], [29.646637, -23.364103], [29.646637, -25.057443], [29.352817, -25.396113], [29.352817, -25.396113], [29.646637, -25.734773], [29.646637, -25.734773], [29.646637, -25.980113], [27.736637, -25.980113]]; -warding_f_paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]]; - -warding_j_points = [[-8.741500, -45.892733], [-7.786530, -45.892733], [-7.786530, -49.872073], [-8.644060, -50.884243], [-8.710523, -50.999722], [-8.720360, -51.138683], [-8.720340, -51.540813], [-8.689649, -51.653664], [-8.576510, -51.726053], [-7.786560, -51.904073], [-7.813853, -52.898199], [-7.878968, -53.347582], [-7.933434, -53.527706], [-8.005950, -53.665683], [-8.059538, -53.759412], [-8.076750, -53.877823], [-8.043334, -54.044162], [-7.942320, -54.182983], [-7.786550, -54.359383], [-7.786530, -54.605433], [-9.696510, -54.605433], [-9.696510, -53.766723], [-8.776900, -53.428063], [-8.776900, -52.581393], [-9.696530, -52.158063], [-9.696530, -51.480723], [-8.741540, -49.575723]]; -warding_j_paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]]; - -warding_ef_points = [[12.816617, -21.078063], [12.604397, -21.162763], [12.604397, -21.755433], [12.321427, -21.840133], [12.321427, -22.348133], [11.896977, -22.348133], [11.896977, -23.702803], [12.675107, -24.041473], [12.675107, -25.057483], [11.896977, -25.396143], [11.896977, -25.980113], [13.806977, -25.980113], [13.806977, -25.734813], [13.453297, -25.396143], [13.806977, -25.057483], [13.806977, -23.364133], [13.099557, -22.940803], [13.099557, -22.432803], [13.806977, -22.094133], [13.806977, -17.268133], [12.816617, -17.268103]]; -warding_ef_paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]]; - -warding_g_points = [[56.706877, -25.634133], [56.818007, -25.634863], [56.933984, -25.674068], [56.971834, -25.721702], [56.986137, -25.786803], [56.934906, -25.915693], [56.828287, -25.980113], [55.076547, -25.980113], [55.076547, -25.226783], [55.884597, -24.972783], [55.884597, -24.380103], [55.076547, -23.787433], [55.076547, -22.602103], [55.590777, -21.162773], [56.104977, -20.908773], [56.104977, -17.268103], [56.986547, -17.268103], [56.986137, -22.263433], [56.178467, -22.602103], [56.178467, -23.194773], [56.472317, -24.295433], [56.457417, -25.362883], [56.560146, -25.516478], [56.706877, -25.634133]]; -warding_g_paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]]; - -outline_6pin_points = [[-56.590290, 32.480954], [-56.576374, 31.524673], [-56.535247, 30.760341], [-56.467839, 30.163538], [-56.375081, 29.709844], [-56.257903, 29.374839], [-56.117235, 29.134104], [-55.954008, 28.963219], [-55.769153, 28.837764], [-51.247982, 26.198648], [-50.232021, 26.198648], [-50.235646, 24.352767], [-50.194853, 24.104507], [-50.074733, 23.883315], [-49.887662, 23.705905], [-49.646020, 23.588989], [-49.235191, 23.493387], [-49.007316, 23.387234], [-48.824368, 23.213153], [-48.698907, 22.987987], [-48.643495, 22.728577], [-48.644553, 21.973583], [-48.614171, 21.719744], [-48.497328, 21.496336], [-48.306562, 21.320220], [-48.054408, 21.208257], [-47.643066, 21.071830], [-47.425481, 20.987035], [-47.250206, 20.834337], [-47.133384, 20.643418], [-47.091161, 20.443961], [-47.067583, 20.242025], [-46.999556, 20.047633], [-46.891734, 19.866473], [-46.748772, 19.704234], [-46.575326, 19.566603], [-46.376049, 19.459268], [-46.155596, 19.387918], [-45.918623, 19.358240], [-43.886705, 19.358240], [-43.653038, 19.387910], [-43.435040, 19.459257], [-43.237494, 19.566591], [-43.065184, 19.704224], [-42.922894, 19.866466], [-42.815409, 20.047629], [-42.747511, 20.242024], [-42.723985, 20.443961], [-42.680873, 20.643414], [-42.558237, 20.834326], [-42.367322, 20.987023], [-42.119370, 21.071830], [-41.708544, 21.209808], [-41.486795, 21.322099], [-41.306362, 21.497975], [-41.179613, 21.720712], [-41.118914, 21.973583], [-41.118914, 22.728061], [-41.093319, 22.987447], [-40.977844, 23.212613], [-40.785110, 23.386705], [-40.527737, 23.492871], [-40.159284, 23.588473], [-39.900982, 23.722883], [-39.677660, 23.921787], [-39.418760, 24.290238], [-39.304307, 24.462362], [-39.149796, 24.585390], [-38.962335, 24.658253], [-38.749033, 24.679879], [-36.536765, 24.678821], [-36.383759, 24.696560], [-36.239877, 24.743778], [-35.993081, 24.913145], [-35.823566, 25.159911], [-35.776285, 25.303879], [-35.758520, 25.457069], [-35.759578, 25.370254], [-35.745364, 25.536549], [-35.700139, 25.689953], [-35.626786, 25.827060], [-35.528186, 25.944468], [-35.407220, 26.038771], [-35.266773, 26.106566], [-35.109724, 26.144449], [-34.938957, 26.149015], [-31.711247, 26.147957], [-31.414567, 26.229959], [-31.167812, 26.409516], [-30.998082, 26.663448], [-30.950572, 26.811062], [-30.932483, 26.968578], [-30.926794, 28.568997], [-29.341360, 28.569527], [-29.190654, 28.377538], [-28.992378, 28.230950], [-28.756720, 28.132916], [-28.493868, 28.086587], [-2.563151, 28.086587], [-0.644922, 30.040742], [-0.464233, 30.298906], [-0.327743, 30.579360], [-0.241452, 30.876792], [-0.211355, 31.185891], [-0.241452, 31.494409], [-0.327743, 31.788029], [-0.464233, 32.058341], [-0.644922, 32.296934], [-5.189347, 36.798787], [-30.927826, 36.798787], [-30.932483, 37.975117], [-30.950437, 38.138130], [-30.997884, 38.289192], [-31.167635, 38.541840], [-31.283131, 38.636615], [-31.414501, 38.705818], [-31.558341, 38.746041], [-31.711247, 38.753881], [-34.938957, 38.752823], [-35.109779, 38.776721], [-35.266852, 38.827832], [-35.528255, 38.996172], [-35.700164, 39.226806], [-35.745370, 39.355783], [-35.759578, 39.488695], [-35.758520, 39.486579], [-35.776322, 39.645356], [-35.823619, 39.793393], [-35.993121, 40.043623], [-36.239884, 40.210022], [-36.383756, 40.253270], [-36.536765, 40.265343], [-38.748518, 40.264284], [-38.961882, 40.294688], [-39.149529, 40.365902], [-39.304231, 40.472995], [-39.418760, 40.611034], [-39.677660, 41.022379], [-39.900981, 41.233705], [-40.159284, 41.355175], [-40.527737, 41.450777], [-40.785110, 41.566563], [-40.977844, 41.744006], [-41.093319, 41.966166], [-41.118914, 42.216105], [-41.117856, 42.970580], [-41.177969, 43.233744], [-41.304796, 43.460161], [-41.485819, 43.632989], [-41.708517, 43.735390], [-42.119862, 43.829960], [-42.367819, 43.949069], [-42.558758, 44.119420], [-42.681402, 44.316864], [-42.724475, 44.517254], [-42.748022, 44.719037], [-42.815882, 44.912542], [-42.923289, 45.091400], [-43.065475, 45.249241], [-43.237674, 45.379695], [-43.435119, 45.476391], [-43.653042, 45.532961], [-43.886678, 45.543033], [-45.918596, 45.543033], [-46.155577, 45.532947], [-46.376041, 45.476370], [-46.575330, 45.379673], [-46.748788, 45.249222], [-46.891754, 45.091387], [-46.999573, 44.912535], [-47.067586, 44.719035], [-47.091134, 44.517254], [-47.133388, 44.316860], [-47.250199, 44.119409], [-47.425454, 43.949057], [-47.643039, 43.829960], [-48.054382, 43.735390], [-48.306565, 43.632997], [-48.497414, 43.460168], [-48.614413, 43.233747], [-48.645043, 42.970580], [-48.645043, 42.216105], [-48.700711, 41.967024], [-48.825941, 41.745551], [-49.008259, 41.568411], [-49.235188, 41.452327], [-49.646017, 41.356725], [-49.888574, 41.249067], [-50.076168, 41.070050], [-50.196351, 40.832574], [-50.236678, 40.549540], [-50.232021, 38.644230], [-51.247982, 38.644230], [-55.769153, 36.106916], [-55.954008, 35.987053], [-56.117235, 35.820379], [-56.257903, 35.582670], [-56.375081, 35.249703], [-56.467839, 34.797253], [-56.535247, 34.201099], [-56.576374, 33.437017], [-56.590290, 32.480783], [-54.202838, 32.480954], [-54.175369, 33.494774], [-54.095874, 34.094742], [-54.037977, 34.276701], [-53.968705, 34.399801], [-53.888602, 34.478908], [-53.798213, 34.528890], [-51.247982, 36.019757], [-49.808791, 36.028012], [-49.700408, 35.119989], [-49.624043, 34.213559], [-49.579170, 33.310658], [-49.565263, 32.413220], [-49.581797, 31.523182], [-49.628247, 30.642479], [-49.704087, 29.773046], [-49.808791, 28.916819], [-51.247982, 28.908034], [-53.798213, 30.373577], [-53.968714, 30.536957], [-54.037987, 30.670622], [-54.095884, 30.859679], [-54.175374, 31.466192], [-54.202838, 32.480944]]; -outline_6pin_paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201], [225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202]]; - -engrave_6pin_points = [[-35.748881, 46.554850], [-35.748881, 18.592497], [-35.461581, 18.592497], [-35.461581, 46.554850], [-39.754745, 46.574550], [-39.754745, 18.612197], [-39.467451, 18.612197], [-39.467451, 46.574540], [-41.310775, 46.556350], [-41.310775, 18.594007], [-41.023483, 18.594007], [-41.023483, 46.556350], [-42.866807, 46.601750], [-42.866807, 18.639397], [-42.579514, 18.639397], [-42.579514, 46.601750], [-47.400763, 46.592750], [-47.400763, 18.630437], [-47.113468, 18.630437], [-47.113468, 46.592770], [-49.076640, 46.580850], [-49.076640, 18.618497], [-48.789346, 18.618497], [-48.789346, 46.580870]]; -engrave_6pin_paths = [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]]; - -warding_e_points = [[-4.968377, -25.980113], [-3.058377, -25.980113], [-3.058377, -23.533433], [-4.013377, -22.771433], [-4.013377, -22.517433], [-3.278757, -21.670773], [-3.058377, -21.332103], [-3.058377, -17.268103], [-4.013377, -17.268103], [-4.013377, -20.993433], [-4.968377, -22.094103], [-4.968377, -23.533433], [-4.086837, -23.956773], [-4.086837, -24.888113], [-4.968377, -25.226773]]; -warding_e_paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]]; - -warding_fg_points = [[44.286467, -25.980113], [44.286467, -24.803463], [43.992657, -24.464793], [43.992657, -24.295463], [44.286467, -23.956793], [44.286467, -23.618133], [43.698807, -23.194793], [43.698807, -22.348133], [44.286467, -22.094133], [44.286467, -22.009433], [44.066087, -21.586103], [44.286467, -21.078103], [44.286467, -17.268103], [43.404957, -17.268103], [43.404957, -20.824103], [42.817267, -21.162773], [42.764167, -21.191886], [42.743767, -21.247473], [42.743767, -22.348143], [42.376457, -22.940803], [42.376457, -23.533473], [43.331427, -24.380143], [43.331427, -24.718803], [42.376457, -25.142163], [42.376457, -25.980113]]; -warding_fg_paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]]; - -warding_k_points = [[2.723500, -50.770923], [2.726000, -51.480723], [3.221186, -52.496723], [3.221186, -52.750723], [3.215186, -53.417933], [3.239737, -53.573332], [3.337196, -53.735413], [3.645484, -54.105393], [3.645817, -54.605433], [1.735706, -54.605433], [1.735706, -53.512723], [2.726067, -53.089393], [2.726067, -52.666053], [1.735706, -51.904053], [1.735706, -51.226723], [2.301613, -50.210723], [2.089387, -49.872073], [2.230902, -49.364073], [2.796804, -49.110073], [2.796804, -45.892733], [3.645706, -45.892733], [3.645484, -49.279403], [3.057576, -50.425343], [2.723578, -50.770923]]; -warding_k_paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]]; - -warding_ce_points = [[-17.210048, -17.268103], [-17.210048, -21.586093], [-17.577348, -22.263423], [-17.577348, -22.517423], [-18.165038, -22.602123], [-18.165038, -23.194783], [-17.577348, -23.448783], [-17.577348, -24.041453], [-17.210048, -24.803453], [-17.210048, -25.980113], [-19.120048, -25.980113], [-19.120048, -25.565463], [-18.311948, -25.226793], [-18.311948, -24.803453], [-18.532338, -24.549453], [-18.532338, -23.787453], [-19.120048, -22.940783], [-19.120048, -22.432783], [-18.899668, -22.178783], [-18.899668, -21.416783], [-18.238528, -21.332083], [-18.238528, -17.268103]]; -warding_ce_paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]]; - -outline_5pin_points = [[-56.986544, 63.080784], [-56.972628, 62.124503], [-56.931501, 61.360171], [-56.864093, 60.763369], [-56.771335, 60.309675], [-56.654157, 59.974671], [-56.513488, 59.733936], [-56.350261, 59.563051], [-56.165405, 59.437596], [-51.644234, 56.798481], [-50.628276, 56.798481], [-50.631901, 54.952599], [-50.591107, 54.704340], [-50.470986, 54.483148], [-50.283916, 54.305737], [-50.042274, 54.188821], [-49.631445, 54.093219], [-49.403571, 53.987065], [-49.220623, 53.812985], [-49.095162, 53.587820], [-49.039749, 53.328410], [-49.040808, 52.573416], [-49.010425, 52.319576], [-48.893583, 52.096167], [-48.702817, 51.920050], [-48.450663, 51.808087], [-48.039318, 51.671663], [-47.821735, 51.586786], [-47.646460, 51.433909], [-47.529638, 51.242814], [-47.487415, 51.043277], [-47.463837, 50.841363], [-47.395810, 50.647029], [-47.287988, 50.465951], [-47.145027, 50.303806], [-46.971580, 50.166270], [-46.772303, 50.059018], [-46.551851, 49.987726], [-46.314877, 49.958070], [-44.282959, 49.958070], [-44.049293, 49.987718], [-43.831294, 50.059006], [-43.633748, 50.166258], [-43.461439, 50.303796], [-43.319149, 50.465944], [-43.211663, 50.647025], [-43.143765, 50.841362], [-43.120240, 51.043277], [-43.077127, 51.242809], [-42.954492, 51.433898], [-42.763577, 51.586773], [-42.515625, 51.671663], [-42.105314, 51.809638], [-41.883486, 51.921850], [-41.702876, 52.097549], [-41.575948, 52.320108], [-41.515169, 52.572900], [-41.515169, 53.327891], [-41.489573, 53.587277], [-41.374099, 53.812443], [-41.181365, 53.986537], [-40.923992, 54.092704], [-40.556054, 54.188305], [-40.297752, 54.322456], [-40.074431, 54.521101], [-39.815015, 54.890070], [-39.700561, 55.062193], [-39.546050, 55.185222], [-39.358590, 55.258086], [-39.145288, 55.279712], [-36.933535, 55.278653], [-36.780508, 55.296393], [-36.636568, 55.343611], [-36.389595, 55.512977], [-36.219901, 55.759744], [-36.172561, 55.903712], [-36.154774, 56.056901], [-36.155832, 55.970084], [-36.141619, 56.136358], [-36.096394, 56.289703], [-36.023040, 56.426728], [-35.924440, 56.544041], [-35.803475, 56.638250], [-35.663027, 56.705962], [-35.505979, 56.743787], [-35.335211, 56.748332], [-32.107501, 56.747273], [-31.810822, 56.829357], [-31.564066, 57.009091], [-31.394337, 57.263202], [-31.346827, 57.410875], [-31.328737, 57.568413], [-31.323049, 59.168830], [-29.737615, 59.169359], [-29.586909, 58.977398], [-29.388632, 58.830871], [-29.152973, 58.732897], [-28.890120, 58.686596], [-6.921436, 58.686596], [-5.011475, 60.621456], [-4.825697, 60.868731], [-4.686602, 61.143483], [-4.599356, 61.438728], [-4.569126, 61.747486], [-4.599356, 62.055689], [-4.686602, 62.346850], [-4.825697, 62.610275], [-5.011475, 62.835275], [-9.564515, 67.398596], [-31.324080, 67.398796], [-31.328737, 68.574963], [-31.346828, 68.737976], [-31.394339, 68.889037], [-31.564068, 69.141685], [-31.679511, 69.236461], [-31.810823, 69.305663], [-31.954615, 69.345887], [-32.107501, 69.353727], [-35.335211, 69.352668], [-35.506033, 69.376567], [-35.663107, 69.427678], [-35.924510, 69.596017], [-36.096418, 69.826651], [-36.141625, 69.955629], [-36.155832, 70.088541], [-36.154774, 70.086424], [-36.172539, 70.245179], [-36.219817, 70.393158], [-36.389326, 70.643210], [-36.636120, 70.809430], [-36.780005, 70.852619], [-36.933020, 70.864669], [-39.144772, 70.864140], [-39.358136, 70.894533], [-39.545784, 70.965748], [-39.700486, 71.072847], [-39.815015, 71.210890], [-40.073915, 71.622232], [-40.297235, 71.833561], [-40.555538, 71.955031], [-40.923992, 72.050630], [-41.181365, 72.166337], [-41.374099, 72.343602], [-41.489573, 72.565585], [-41.515169, 72.815442], [-41.514111, 73.570436], [-41.574220, 73.833599], [-41.701049, 74.060015], [-41.882074, 74.232844], [-42.104774, 74.335246], [-42.516117, 74.429813], [-42.764075, 74.548924], [-42.955015, 74.719275], [-43.077659, 74.916719], [-43.120732, 75.117111], [-43.144279, 75.318893], [-43.212139, 75.512398], [-43.319546, 75.691256], [-43.461732, 75.849097], [-43.633931, 75.979550], [-43.831376, 76.076247], [-44.049300, 76.132816], [-44.282935, 76.142887], [-46.314853, 76.142887], [-46.551834, 76.132816], [-46.772298, 76.076247], [-46.971588, 75.979550], [-47.145045, 75.849097], [-47.288012, 75.691256], [-47.395830, 75.512398], [-47.463843, 75.318893], [-47.487391, 75.117111], [-47.529726, 74.916715], [-47.646714, 74.719263], [-47.822147, 74.548910], [-48.039812, 74.429813], [-48.450639, 74.335246], [-48.702822, 74.232844], [-48.893671, 74.060015], [-49.010670, 73.833599], [-49.041300, 73.570436], [-49.041300, 72.815442], [-49.096968, 72.566442], [-49.222199, 72.345146], [-49.404516, 72.168183], [-49.631445, 72.052180], [-50.042274, 71.956062], [-50.284830, 71.848421], [-50.472424, 71.669403], [-50.592608, 71.431918], [-50.632935, 71.148877], [-50.628279, 69.244083], [-51.644236, 69.244083], [-56.165407, 66.706772], [-56.350264, 66.586909], [-56.513491, 66.420235], [-56.654159, 66.182525], [-56.771338, 65.849557], [-56.864096, 65.397107], [-56.931504, 64.800952], [-56.972631, 64.036870], [-56.986547, 63.080636], [-54.599092, 63.080784], [-54.571704, 64.094603], [-54.492386, 64.694571], [-54.434584, 64.876531], [-54.365395, 64.999630], [-54.285351, 65.078738], [-54.194984, 65.128720], [-51.644234, 66.619587], [-50.205046, 66.627842], [-50.100395, 65.777170], [-50.024577, 64.911707], [-49.978125, 64.033389], [-49.961574, 63.144148], [-49.975457, 62.245919], [-50.020307, 61.340637], [-50.096659, 60.430236], [-50.205046, 59.516649], [-51.644234, 59.507864], [-54.194984, 60.973410], [-54.365405, 61.136789], [-54.434595, 61.270454], [-54.492397, 61.459511], [-54.571710, 62.066023], [-54.599092, 63.080774]]; -outline_5pin_paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201], [225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202]]; - -warding_h_points = [[-20.296964, -51.296023], [-20.059440, -51.480733], [-19.324832, -52.750733], [-19.324832, -54.605433], [-21.234823, -54.605063], [-21.234823, -53.766723], [-20.429448, -53.486713], [-20.335435, -53.396553], [-20.289996, -53.303723], [-20.289979, -52.493153], [-20.360609, -52.316873], [-21.234816, -51.396073], [-21.234782, -50.464733], [-20.206312, -49.448733], [-20.206355, -45.892733], [-19.324834, -45.892733], [-19.324825, -49.872073], [-19.618642, -50.380073], [-20.290588, -50.626833], [-20.360913, -50.678842], [-20.370848, -50.783103], [-20.370848, -51.185213], [-20.363962, -51.231539], [-20.297008, -51.296023]]; -warding_h_paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]]; - -//polygon(points=warding_l_points, paths=warding_l_paths); -//polygon(points=warding_c_points, paths=warding_c_paths); -//polygon(points=engrave_5pin_points, paths=engrave_5pin_paths); -//polygon(points=warding_f_points, paths=warding_f_paths); -//polygon(points=warding_j_points, paths=warding_j_paths); -//polygon(points=warding_ef_points, paths=warding_ef_paths); -//polygon(points=warding_g_points, paths=warding_g_paths); -//polygon(points=outline_6pin_points, paths=outline_6pin_paths); -//polygon(points=engrave_6pin_points, paths=engrave_6pin_paths); -//polygon(points=warding_e_points, paths=warding_e_paths); -//polygon(points=warding_fg_points, paths=warding_fg_paths); -//polygon(points=warding_k_points, paths=warding_k_paths); -//polygon(points=warding_ce_points, paths=warding_ce_paths); -//polygon(points=outline_5pin_points, paths=outline_5pin_paths); -//polygon(points=warding_h_points, paths=warding_h_paths); diff --git a/fm.scad b/src/fm.scad similarity index 100% rename from fm.scad rename to src/fm.scad diff --git a/keygen.scad b/src/keygen.scad similarity index 100% rename from keygen.scad rename to src/keygen.scad diff --git a/schlage.scad b/src/schlage.scad similarity index 96% rename from schlage.scad rename to src/schlage.scad index 142141f..0ad36e6 100644 --- a/schlage.scad +++ b/src/schlage.scad @@ -68,4 +68,7 @@ module schlage_classic(bitting="", } } -schlage_classic("25467"); \ No newline at end of file +bitting=""; +outline="5pin"; +warding="c"; +schlage_classic(bitting, outline, warding);