diff --git a/fm.gen.scad b/fm.gen.scad index 681481d..4708666 100644 --- a/fm.gen.scad +++ b/fm.gen.scad @@ -4,15 +4,15 @@ // OpenSCAD program with the corresponding SVG element in the Inkscape document // by looking for the XML element with the attribute id="inkscape-path-id". -outline_points = [[-26.491901, 12.666803], [-27.455835, 12.642298], [-28.393640, 12.565120], [-29.281167, 12.434385], [-30.094268, 12.249212], [-30.808797, 12.008719], [-31.400604, 11.712023], [-31.642941, 11.542324], [-31.845543, 11.358243], [-32.005390, 11.159670], [-32.119464, 10.946496], [-32.357897, 10.154615], [-32.644061, 8.949666], [-33.130257, 6.589655], [-33.217722, 6.206573], [-33.323411, 5.892542], [-33.447846, 5.638731], [-33.591549, 5.436311], [-33.755040, 5.276450], [-33.938841, 5.150317], [-34.369457, 4.963915], [-34.824548, 4.822846], [-35.254542, 4.651464], [-35.659012, 4.451709], [-36.037532, 4.225522], [-36.389675, 3.974841], [-36.715015, 3.701607], [-37.013126, 3.407759], [-37.283582, 3.095238], [-37.525956, 2.765983], [-37.739821, 2.421934], [-37.924753, 2.065032], [-38.080323, 1.697215], [-38.206107, 1.320424], [-38.301677, 0.936599], [-38.366607, 0.547680], [-38.400472, 0.155606], [-38.402844, -0.237682], [-38.373297, -0.630245], [-38.311406, -1.020144], [-38.216743, -1.405437], [-38.088883, -1.784185], [-37.927399, -2.154448], [-37.731865, -2.514287], [-37.501854, -2.861761], [-37.236941, -3.194931], [-36.936698, -3.511856], [-36.600700, -3.810598], [-36.228520, -4.089215], [-35.819732, -4.345768], [-35.373910, -4.578318], [-34.890627, -4.784924], [-34.369457, -4.963646], [-33.938841, -5.150129], [-33.755040, -5.276344], [-33.591549, -5.436300], [-33.447846, -5.638815], [-33.323411, -5.892708], [-33.217722, -6.206798], [-33.130257, -6.589902], [-32.644061, -8.949913], [-32.357897, -10.154862], [-32.119464, -10.946743], [-32.005391, -11.159915], [-31.845549, -11.358480], [-31.642955, -11.542550], [-31.400627, -11.712235], [-30.808841, -12.008895], [-30.094335, -12.249346], [-29.281252, -12.434475], [-28.393735, -12.565170], [-27.455927, -12.642317], [-26.491971, -12.666803], [-25.526010, -12.639516], [-24.582188, -12.561342], [-23.684648, -12.433169], [-22.857533, -12.255882], [-22.124985, -12.030370], [-21.511149, -11.757519], [-21.256292, -11.603619], [-21.040166, -11.438216], [-20.865791, -11.261423], [-20.736182, -11.073349], [-20.601208, -10.718538], [-20.454588, -10.158724], [-20.157883, -8.683267], [-19.908997, -7.165329], [-19.770865, -6.123264], [-19.710034, -5.801322], [-19.590796, -5.476294], [-19.415369, -5.162365], [-19.185972, -4.873718], [-18.904824, -4.624537], [-18.574142, -4.429008], [-18.196146, -4.301313], [-17.773055, -4.255637], [16.640349, -4.260346], [16.795783, -4.244327], [16.949867, -4.198666], [17.230100, -4.033042], [17.433273, -3.792727], [17.491034, -3.653701], [17.511614, -3.506972], [17.511614, -1.017711], [18.258855, -1.017711], [18.426094, -0.991218], [18.559303, -0.919522], [18.662098, -0.814300], [18.738094, -0.687229], [18.824156, -0.414247], [18.846416, -0.193989], [18.846416, 1.025573], [15.733945, 4.121698], [-17.678488, 4.121698], [-17.954149, 4.138658], [-18.240451, 4.197719], [-18.530058, 4.311154], [-18.815631, 4.491233], [-19.089836, 4.750231], [-19.345334, 5.100419], [-19.574789, 5.554069], [-19.770865, 6.123454], [-19.933997, 6.794268], [-20.073386, 7.520568], [-20.304193, 8.998869], [-20.509793, 10.276855], [-20.617676, 10.752760], [-20.736698, 11.073022], [-20.866301, 11.261099], [-21.040661, 11.437902], [-21.256761, 11.603317], [-21.511586, 11.757234], [-22.125339, 12.030127], [-22.857789, 12.255686], [-23.684803, 12.433019], [-24.582248, 12.561232], [-25.525991, 12.639431], [-26.491901, 12.666724], [-33.351430, 2.756298], [-32.794463, 2.700140], [-32.275702, 2.539099], [-31.806260, 2.284290], [-31.397250, 1.946823], [-31.059783, 1.537813], [-30.804974, 1.068371], [-30.643934, 0.549610], [-30.587775, -0.007357], [-30.643933, -0.564325], [-30.804973, -1.083087], [-31.059783, -1.552529], [-31.397249, -1.961540], [-31.806259, -2.299007], [-32.275701, -2.553816], [-32.794462, -2.714857], [-33.351430, -2.771015], [-33.908398, -2.714857], [-34.427160, -2.553816], [-34.896603, -2.299007], [-35.305613, -1.961540], [-35.643080, -1.552529], [-35.897890, -1.083087], [-36.058930, -0.564325], [-36.115088, -0.007357], [-36.058930, 0.549611], [-35.897890, 1.068372], [-35.643080, 1.537814], [-35.305613, 1.946824], [-34.896603, 2.284291], [-34.427160, 2.539100], [-33.908398, 2.700140], [-33.351430, 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.493452, 11.587801], [-27.399075, 11.563925], [-28.273193, 11.490936], [-29.085556, 11.371552], [-29.805911, 11.208494], [-30.384013, 11.002980], [-30.792930, 10.788463], [-31.037387, 10.616013], [-31.122109, 10.536701], [-31.298147, 9.913920], [-31.590816, 8.714590], [-32.069339, 6.392252], [-32.179154, 5.914089], [-32.327563, 5.478407], [-32.522689, 5.085590], [-32.772654, 4.736021], [-33.070766, 4.446061], [-33.391868, 4.224386], [-33.716394, 4.059832], [-34.024776, 3.941237], [-34.090922, 3.921605], [-34.466289, 3.805635], [-34.818884, 3.666020], [-35.455470, 3.322111], [-36.000093, 2.902405], [-36.452169, 2.419427], [-36.811111, 1.885701], [-37.076335, 1.313755], [-37.247253, 0.716112], [-37.323281, 0.105300], [-37.306941, -0.506578], [-37.195501, -1.108770], [-36.980499, -1.690798], [-36.831516, -1.970975], [-36.653469, -2.242181], [-36.445298, -2.503106], [-36.205946, -2.752439], [-35.934355, -2.988872], [-35.629467, -3.211093], [-35.290223, -3.417793], [-34.915566, -3.607661], [-34.504438, -3.779389], [-34.055780, -3.931665], [-34.024776, -3.942010], [-33.716392, -4.060605], [-33.391865, -4.225158], [-33.070764, -4.446832], [-32.772654, -4.736792], [-32.522690, -5.086367], [-32.327564, -5.479184], [-32.179155, -5.914862], [-32.069339, -6.393023], [-31.590816, -8.715361], [-31.298088, -9.916039], [-31.122109, -10.539539], [-31.037617, -10.618965], [-30.793815, -10.791430], [-30.385627, -11.005898], [-29.807980, -11.211334], [-29.087454, -11.374234], [-28.274437, -11.493394], [-27.399560, -11.566220], [-26.493452, -11.590122], [-25.584589, -11.563783], [-24.700729, -11.490079], [-23.871421, -11.372216], [-23.126216, -11.213401], [-22.529678, -11.016339], [-22.084878, -10.805646], [-21.693746, -10.563311], [-21.505127, -9.914773], [-21.219872, -8.494704], [-20.975425, -6.995169], [-20.844701, -6.017852], [-20.751783, -5.510627], [-20.574346, -5.022735], [-20.313366, -4.561759], [-19.969819, -4.135281], [-20.160649, -3.673034], [-20.322976, -3.190040], [-20.456475, -2.690014], [-20.560821, -2.176673], [-20.635691, -1.653731], [-20.680760, -1.124906], [-20.695703, -0.593914], [-20.680196, -0.064470], [-20.633914, 0.459710], [-20.556534, 0.974909], [-20.447731, 1.477411], [-20.307181, 1.963501], [-20.134558, 2.429462], [-19.929539, 2.871578], [-19.691800, 3.286133], [-19.421015, 3.669412], [-19.648771, 3.843071], [-19.862334, 4.045145], [-20.244301, 4.532916], [-20.561762, 5.129470], [-20.809561, 5.831555], [-20.990494, 6.570479], [-21.138552, 7.337682], [-21.372317, 8.839640], [-21.569204, 10.071606], [-21.695812, 10.560982], [-22.086697, 10.803477], [-22.530648, 11.013757], [-23.126216, 11.210553], [-23.871178, 11.369419], [-24.700586, 11.487320], [-25.584618, 11.561019], [-26.493452, 11.587274], [-33.376703, 3.627563], [-33.023204, 3.610072], [-32.675691, 3.558225], [-32.336511, 3.472993], [-32.008008, 3.355347], [-31.692528, 3.206259], [-31.392417, 3.026700], [-31.110021, 2.817642], [-30.847683, 2.580056], [-30.610098, 2.317719], [-30.401040, 2.035322], [-30.221481, 1.735211], [-30.072393, 1.419732], [-29.954747, 1.091229], [-29.869515, 0.752049], [-29.817668, 0.404536], [-29.800177, 0.051036], [-29.818680, -0.314609], [-29.872910, -0.669689], [-29.961068, -1.012406], [-30.081356, -1.340964], [-30.231977, -1.653564], [-30.411135, -1.948410], [-30.617030, -2.223705], [-30.847866, -2.477650], [-31.101844, -2.708449], [-31.377169, -2.914305], [-31.672040, -3.093420], [-31.984663, -3.243996], [-32.313238, -3.364237], [-32.655968, -3.452345], [-33.011056, -3.506523], [-33.376703, -3.524974], [-33.742312, -3.506474], [-34.097358, -3.452255], [-34.440046, -3.364113], [-34.768577, -3.243847], [-35.081156, -3.093252], [-35.375985, -2.914126], [-35.651267, -2.708265], [-35.905206, -2.477467], [-36.136004, -2.223528], [-36.341864, -1.948246], [-36.520990, -1.653417], [-36.671585, -1.340838], [-36.791851, -1.012306], [-36.879992, -0.669619], [-36.934211, -0.314572], [-36.952711, 0.051036], [-36.934260, 0.416684], [-36.880082, 0.771771], [-36.791974, 1.114501], [-36.671733, 1.443076], [-36.521157, 1.755698], [-36.342042, 2.050570], [-36.136187, 2.325894], [-35.905388, 2.579873], [-35.651443, 2.810709], [-35.376149, 3.016604], [-35.081303, 3.195761], [-34.768703, 3.346383], [-34.440145, 3.466671], [-34.097428, 3.554829], [-33.742348, 3.609059], [-33.376703, 3.627563], [-33.376703, 3.627563], [-21.695812, 10.560990], [-21.682901, 10.552206], [-21.695812, 10.560990], [-21.693696, -10.563303], [-21.680784, -10.555048], [-21.693696, -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]]; - -warding_points = [[37.339859, 4.245611], [37.472727, 2.251504], [37.512067, 1.168717], [37.505733, 0.794797], [37.474736, 0.604492], [37.061276, 0.121178], [36.421570, -0.531875], [36.421570, -1.397454], [37.085114, -2.176883], [37.333169, -2.508262], [37.429259, -2.704869], [37.407885, -3.017869], [37.382578, -3.141792], [37.340894, -3.220600], [37.109709, -3.312192], [36.930067, -3.353408], [36.806041, -4.260328], [38.402844, -4.260328], [38.402844, -2.916742], [37.682765, -2.015049], [37.412102, -1.633852], [37.277333, -1.379367], [37.221271, -1.090402], [37.214576, -0.808632], [37.255020, -0.535762], [37.340378, -0.273491], [37.475470, -0.043768], [37.726839, 0.312924], [38.402844, 1.203421], [38.402844, 4.245611]]; +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); -//polygon(points=warding_points, paths=warding_paths); diff --git a/fm.svg b/fm.svg index 20ff9e6..9e710e2 100644 --- a/fm.svg +++ b/fm.svg @@ -26,9 +26,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="44.8" - inkscape:cx="421.34512" - inkscape:cy="629.17944" + inkscape:zoom="5.6" + inkscape:cx="447.909" + inkscape:cy="635.85305" inkscape:document-units="mm" inkscape:current-layer="layer1" showgrid="false" @@ -62,15 +62,6 @@ height="33.02" width="63.330666" transform="matrix(0.9999133,-0.01316806,-0.01316806,-0.9999133,0,0)" /> - + diff --git a/keygen.scad b/keygen.scad index 6ef96bd..8c30e84 100644 --- a/keygen.scad +++ b/keygen.scad @@ -17,7 +17,7 @@ module key_blade(warding, plug_diameter=0) { // optionally intersected with the plug cylinder // to round the bottom intersection() { - rotate(90, [1, 0, 0]) + rotate(180, [0, 0, 1]) rotate(90, [1, 0, 0]) linear_extrude(height=2*$inf, center=true) polygon(warding); @@ -42,7 +42,7 @@ module key_x_line(length) { module key_warding_cutter(warding, blade_height, cutter_radius, left) { neg = left ? -1 : 1; - translate([neg * -cutter_radius, 0, 0]) + translate([neg * cutter_radius, 0, 0]) rotate_extrude($fn=$fn ? 4*$fn : 48) translate([neg * cutter_radius, 0]) difference() { diff --git a/sc4.gen.scad b/sc4.gen.scad deleted file mode 100644 index c68b9ed..0000000 --- a/sc4.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". - -outline_points = [[-12.048077, -5.717807], [-12.088247, -5.881416], [-12.195456, -6.018707], [-12.349756, -6.113179], [-12.531197, -6.148337], [-16.188977, -6.238937], [-16.358242, -6.271735], [-16.558561, -6.367007], [-16.728233, -6.520066], [-16.782295, -6.616801], [-16.805557, -6.726227], [-16.830970, -6.873712], [-16.887297, -7.003340], [-17.059163, -7.206795], [-17.254102, -7.332136], [-17.405057, -7.374907], [-19.734005, -7.386507], [-19.852107, -7.407706], [-19.978884, -7.462960], [-20.190575, -7.629437], [-20.639656, -8.095852], [-21.005688, -8.358263], [-21.312745, -8.515173], [-21.584899, -8.665087], [-21.748442, -8.825258], [-21.852912, -9.026556], [-21.914786, -9.256604], [-21.950541, -9.503027], [-22.009604, -9.995495], [-22.065866, -10.216789], [-22.161920, -10.404957], [-22.284901, -10.538816], [-22.410320, -10.616126], [-22.664611, -10.665268], [-22.917078, -10.680729], [-23.040218, -10.715938], [-23.160009, -10.790857], [-23.261967, -10.932990], [-23.343531, -11.141588], [-23.513154, -11.652872], [-23.635053, -11.902903], [-23.804236, -12.114093], [-24.037623, -12.260113], [-24.183681, -12.300457], [-24.352135, -12.314637], [-26.715326, -12.314637], [-27.062806, -12.267809], [-27.185912, -12.213166], [-27.280510, -12.141164], [-27.399922, -11.955464], [-27.452528, -11.731468], [-27.483260, -11.251625], [-27.524357, -11.037299], [-27.624588, -10.867717], [-27.759582, -10.761486], [-27.901957, -10.694943], [-28.199008, -10.628007], [-28.496059, -10.561070], [-28.638434, -10.494527], [-28.773427, -10.388297], [-28.923218, -10.180245], [-28.993477, -9.956389], [-29.010715, -9.721997], [-29.001442, -9.482337], [-28.992169, -9.242676], [-29.009407, -9.008284], [-29.079665, -8.784428], [-29.229456, -8.576377], [-29.365388, -8.469483], [-29.496659, -8.414771], [-29.751429, -8.392302], [-30.006199, -8.369787], [-30.137469, -8.315019], [-30.273401, -8.208047], [-30.416720, -8.000376], [-30.490156, -7.755972], [-30.514440, -7.487233], [-30.510304, -7.206558], [-30.499698, -6.658990], [-30.534692, -6.416895], [-30.624192, -6.212457], [-30.731620, -6.095522], [-30.863549, -6.010702], [-31.166270, -5.908069], [-31.463071, -5.845895], [-31.684671, -5.765517], [-35.921242, -3.300826], [-36.244445, -3.051116], [-36.420288, -2.790954], [-36.493206, -2.517078], [-36.507637, -2.226226], [-36.507626, 2.325254], [-36.493194, 2.616105], [-36.420275, 2.889981], [-36.244433, 3.150143], [-35.921231, 3.399854], [-31.684660, 5.864544], [-31.463060, 5.944925], [-31.166259, 6.007104], [-30.863538, 6.109737], [-30.731609, 6.194555], [-30.624181, 6.311484], [-30.534681, 6.515922], [-30.499687, 6.758017], [-30.510293, 7.305585], [-30.514429, 7.586260], [-30.490145, 7.854999], [-30.416709, 8.099403], [-30.273390, 8.307074], [-30.137458, 8.414036], [-30.006188, 8.468780], [-29.751418, 8.491239], [-29.496648, 8.513697], [-29.365377, 8.568441], [-29.229445, 8.675404], [-29.079654, 8.883455], [-29.009395, 9.107311], [-28.992158, 9.341703], [-29.001431, 9.581364], [-29.010703, 9.821024], [-28.993466, 10.055416], [-28.923207, 10.279272], [-28.773416, 10.487324], [-28.638423, 10.593554], [-28.496048, 10.660097], [-28.198997, 10.727034], [-27.901946, 10.793970], [-27.759571, 10.860513], [-27.624577, 10.966744], [-27.524346, 11.136326], [-27.483249, 11.350652], [-27.452517, 11.830495], [-27.399911, 12.054491], [-27.280499, 12.240191], [-27.185901, 12.312193], [-27.062795, 12.366836], [-26.715315, 12.413664], [-24.352124, 12.413664], [-24.183670, 12.399484], [-24.037612, 12.359140], [-23.804225, 12.213120], [-23.635042, 12.001930], [-23.513143, 11.751899], [-23.343520, 11.240615], [-23.261956, 11.032017], [-23.159998, 10.889884], [-23.040207, 10.814964], [-22.917067, 10.779753], [-22.664600, 10.764287], [-22.410309, 10.715144], [-22.284890, 10.637837], [-22.161909, 10.503984], [-22.065856, 10.315816], [-22.009593, 10.094522], [-21.950531, 9.602053], [-21.914777, 9.355631], [-21.852903, 9.125583], [-21.748433, 8.924285], [-21.584888, 8.764114], [-21.312734, 8.614200], [-21.005677, 8.457290], [-20.639645, 8.194879], [-20.190564, 7.728464], [-19.978874, 7.561987], [-19.852097, 7.506733], [-19.733994, 7.485534], [-17.405047, 7.473934], [-17.254092, 7.431163], [-17.059153, 7.305822], [-16.887287, 7.102367], [-16.830960, 6.972739], [-16.805547, 6.825254], [-16.782288, 6.715828], [-16.728227, 6.619093], [-16.558555, 6.466033], [-16.358233, 6.370762], [-16.188967, 6.337964], [-12.531187, 6.247364], [-12.349746, 6.212206], [-12.195446, 6.117733], [-12.088237, 5.980443], [-12.048067, 5.816834], [-12.026867, 4.535244], [13.592243, 4.535644], [18.673063, -0.565658], [18.673063, -1.863596], [16.250473, -4.181356], [-12.047637, -4.177356], [-28.090168, -3.642437], [-28.098526, -3.881257], [-28.136605, -4.035677], [-28.209060, -4.143618], [-28.320547, -4.243007], [-28.526194, -4.324325], [-28.829918, -4.349512], [-29.159551, -4.313671], [-29.442927, -4.211907], [-33.529647, -1.914227], [-33.793045, -1.743630], [-33.987570, -1.566928], [-34.108067, -1.373863], [-34.149378, -1.154179], [-34.149367, 1.253165], [-34.108056, 1.472850], [-33.987559, 1.665915], [-33.793034, 1.842617], [-33.529636, 2.013213], [-29.442916, 4.310893], [-29.159540, 4.412663], [-28.829907, 4.448506], [-28.526183, 4.423318], [-28.320536, 4.341993], [-28.209053, 4.242605], [-28.136602, 4.134663], [-28.098524, 3.980244], [-28.090157, 3.741423]]; -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, 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], [215, 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, 193, 192, 191, 190, 189, 188]]; - -engrave_points = [[-17.046637, 12.700313], [-17.046637, -12.743046], [-16.781007, -12.743046], [-16.781007, 12.700313], [-20.750369, 12.718243], [-20.750369, -12.725116], [-20.484744, -12.725116], [-20.484744, 12.718242], [-22.189041, 12.701703], [-22.189041, -12.741646], [-21.923416, -12.741646], [-21.923416, 12.701705], [-23.627712, 12.743043], [-23.627712, -12.700316], [-23.362087, -12.700316], [-23.362087, 12.743047], [-27.819705, 12.734743], [-27.819705, -12.708576], [-27.554080, -12.708576], [-27.554080, 12.734779], [-29.369184, 12.723873], [-29.369184, -12.719486], [-29.103559, -12.719486], [-29.103559, 12.723905]]; -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]]; - -warding_points = [[34.597676, 4.535861], [34.597676, 0.151633], [35.469973, -0.230774], [35.667138, -0.352517], [35.751594, -0.489447], [35.732447, -0.660339], [35.618801, -0.883964], [34.597676, -2.570165], [34.597676, -4.181437], [36.507637, -4.181437], [36.507637, -3.346346], [35.935063, -3.064708], [35.779957, -2.936419], [35.700383, -2.775179], [35.691122, -2.602124], [35.746960, -2.438392], [36.507637, -1.124259], [36.507637, 0.619821], [35.618801, 0.897840], [35.618801, 4.535861]]; -warding_paths = [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]]; - -//polygon(points=outline_points, paths=outline_paths); -//polygon(points=engrave_points, paths=engrave_paths); -//polygon(points=warding_points, paths=warding_paths); diff --git a/sc4.svg b/sc4.svg index 204e29a..b7ae06e 100644 --- a/sc4.svg +++ b/sc4.svg @@ -49,9 +49,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="16" - inkscape:cx="363.99281" - inkscape:cy="776.68608" + inkscape:zoom="2.8284271" + inkscape:cx="523.41415" + inkscape:cy="711.13783" inkscape:document-units="mm" inkscape:current-layer="layer1" showgrid="false" @@ -69,7 +69,7 @@ image/svg+xml - + @@ -77,16 +77,6 @@ inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1"> - +