try {if (window === window.top) {const url = new URL(window.location); url.searchParams.delete('embedded'); window.location.href = url;}} catch(e) {}
Duluth MakerSpace Newsletter: By Aaron Bosanko!
2018
2017
Online resources for growing curiosity, inspiration & learning.
Mechanics: - Amazing Gear/mechanics achieving complex mathematics LINK (1953!)
- Automotive Differentials LINK (1937!)
- Gears - Normal WIKIP / GENEVA / UNIQUE /
Electronics:
Woodworking:
Posters we should hang:
Online 3D Printing Resources:
Online CNC Tools: - MakerCam.com - Very Simple CAM system. Bare bones option for CNC.
- Easel.com - Easy to use CAM system, operates X-carve
- opendesk.cc - Lots of CNC plans ready to go
Online Laser Tools: - MakerCase.com - Great option for designing jointed cases and boxes.
General Web Tools/Resources:
Handy Common Software/Machine Tricks
Sketchup 2D export for Auto-Laser! Change camera view to parallel, and view from top. Then Export 2D image, DXF!
InkScape v.91+ Single Stroke Fonts! (for laser/CNC) Extensions -> Render -> HersheyFont unlike other fonts, a T will be made with 2 strokes, rather than 4+
function _F_toggles_initialize(a){(typeof globalThis!=="undefined"?globalThis:typeof self!=="undefined"?self:this)._F_toggles=a||[]}_F_toggles_initialize([]);
function k(){return function(){}}var aa=typeof Object.defineProperties=="function"?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};function ba(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b>0)+"_",e=0;return b});var da=typeof Object.create=="function"?Object.create:function(a){function b(){}b.prototype=a;return new b},m;
if(typeof Object.setPrototypeOf=="function")m=Object.setPrototypeOf;else{var n;a:{var ea={a:!0},fa={};try{fa.__proto__=ea;n=fa.a;break a}catch(a){}n=!1}m=n?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError("c`"+a);return a}:null}var ha=m;
function p(a,b){a.prototype=da(b.prototype);a.prototype.constructor=a;if(ha)ha(a,b);else for(var c in b)if(c!="prototype")if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.o=b.prototype}l("globalThis",function(a){return a||ca});l("Object.is",function(a){return a?a:function(b,c){return b===c?b!==0||1/b===1/c:b!==b&&c!==c}});
l("String.fromCodePoint",function(a){return a?a:function(b){for(var c="",d=0;d>10&1023|55296),c+=String.fromCharCode(e&1023|56320))}return c}});l("Symbol.dispose",function(a){return a?a:Symbol("e")});
l("Array.prototype.find",function(a){return a?a:function(b,c){a:{var d=this;d instanceof String&&(d=String(d));for(var e=d.length,f=0;f>0).toString(16))};t.prototype.i=["java.lang.Object",0];function x(){}p(x,t);function y(a,b){a.g=b;ma(b,a)}function z(a){A(a.g)&&(Error.captureStackTrace?Error.captureStackTrace(B(a.g,A,C)):B(a.g,A,C).stack=Error().stack)}x.prototype.toString=function(){var a=v(w(this.constructor)),b=this.h;return b==null?a:u(a)+": "+u(b)};function na(a){if(a!=null){var b=a.u;if(b)return b}a instanceof TypeError?b=oa():(b=new D,z(b),y(b,Error(b)));b.h=a==null?"null":a.toString();y(b,a);return b}x.prototype.i=["java.lang.Throwable",0];function E(){}p(E,x);E.prototype.i=["java.lang.Exception",0];function F(){}p(F,E);F.prototype.i=["java.lang.RuntimeException",0];function G(){}p(G,F);G.prototype.i=["java.lang.IndexOutOfBoundsException",0];function B(a,b,c){if(a!=null&&!b(a))throw a=u(v(pa(a)))+" cannot be cast to "+u(v(w(c))),b=new qa,b.h=a,z(b),y(b,Error(b)),b.g;return a};function ra(a,b,c){if(Object.prototype.hasOwnProperty.call(a.prototype,b))return a.prototype[b];c=c();return a.prototype[b]=c};function sa(){}p(sa,t);sa.prototype.i=["java.lang.Boolean",0];function ta(){}p(ta,t);ta.prototype.i=["java.lang.Number",0];function ua(){}p(ua,ta);ua.prototype.i=["java.lang.Double",0];function va(a,b){H(a)?(wa(b,a.length),a=a.charCodeAt(b)):a=a.g(b);return a};function D(){}p(D,F);D.prototype.i=["java.lang.JsException",0];function xa(){}p(xa,D);function oa(){var a=new xa;z(a);y(a,new TypeError(a));return a}xa.prototype.i=["java.lang.NullPointerException",0];function qa(){}p(qa,F);qa.prototype.i=["java.lang.ClassCastException",0];var la=0;function pa(a){switch(ya(typeof a)){case "number":return w(ua);case "boolean":return w(sa);case "string":return w(I);case "function":return w(za)}if(a instanceof t)a=w(a.constructor);else if(Array.isArray(a))a=(a=a.F)?w(a.I,a.H):w(t,1);else if(a!=null)a=w(Aa);else throw new TypeError("f");return a};function za(){}za.prototype.i=["",1];function Aa(){}p(Aa,t);Aa.prototype.i=["",0];function Ba(){}p(Ba,G);function Ca(a){var b=new Ba;b.h=a;z(b);y(b,Error(b));return b}Ba.prototype.i=["java.lang.StringIndexOutOfBoundsException",0];function ya(a){if(a==null)throw oa().g;return a}function wa(a,b){if(a=b)throw Ca("g`"+a+"`"+b).g;};function C(){}function A(a){return a instanceof Error}C.prototype.i=["Error",0];function ma(a,b){if(a instanceof Object)try{a.u=b,Object.defineProperties(a,{cause:{get:function(){return b.m&&b.m.g}}})}catch(c){}};function I(){}p(I,t);function u(a){return a==null?"null":a.toString()}function Da(a,b){var c=b,d=a.length,e;b=va(a,(e=c,c=c+1|0,e));var f;if(e=b>=55296&&b |