UNPKG

@urpflanze/gcode-exporter

Version:
2 lines 9.31 kB
/*! For license information please see urpflanze-gcode-exporter.min.js.LICENSE.txt */ var t={313:(t,e,r)=>{e.uZ=void 0;const n=r(21);r(769),r(795),"undefined"!=typeof performance?performance:Date;e.uZ=function(t,e,r){return r<=t?t:r>=e?e:r};new n(Math.random)},795:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0});const r=new Array(4),n={from:(t=0,e)=>{const r=new Array(2);return"number"==typeof t?(r[0]=t,r[1]=null!=e?e:t):(r[0]=t[0],r[1]=t[1]),r},normalize:t=>{const e=n.length(t);return 0!==e?[t[0]/e,t[1]/e]:[0,0]},distance:(t,e)=>Math.hypot(t[0]-e[0],t[1]-e[1]),dot:(t,e)=>t[0]*e[0]+t[1]*e[1],length:t=>Math.hypot(t[0],t[1]),angle:(t,e)=>(t=n.normalize(t),e=n.normalize(e),Math.acos(n.dot(t,e))),skewX:(t,e)=>{t[0]+=Math.tan(e)*t[1]},skewY:(t,e)=>{t[1]+=Math.tan(e)*t[0]},squeezeX:(t,e)=>{t[1]+=t[1]*(t[0]*-e)},squeezeY:(t,e)=>{t[0]+=t[0]*(t[1]*e)},rotate:(t,e,r)=>{const n=t[0]-r[0],o=t[1]-r[1];t[0]=n*e[0]+o*e[1]+r[0],t[1]=n*e[2]+o*e[3]+r[1]},rotateX:(t,e,o)=>{r[0]=1,r[1]=0,r[2]=0,r[3]=Math.cos(o),n.rotate(t,r,e)},rotateY:(t,e,o)=>{r[0]=Math.cos(o),r[1]=0,r[2]=0,r[3]=1,n.rotate(t,r,e)},rotateZ:(t,e,o)=>{r[0]=Math.cos(o),r[1]=-Math.sin(o),r[2]=Math.sin(o),r[3]=Math.cos(o),n.rotate(t,r,e)},translate:(t,e)=>{t[0]+=e[0],t[1]+=e[1]},scale:(t,e)=>{t[0]*=e[0],t[1]*=e[1]},divide:(t,e)=>{t[0]/=e[0],t[1]/=e[1]},toString:t=>`x: ${t[0]}, y: ${t[1]}`,ZERO:Array.from([0,0]),ONE:Array.from([1,1])};e.default=n},769:(t,e)=>{var r;Object.defineProperty(e,"__esModule",{value:!0}),e.ERepetitionType=void 0,(r=e.ERepetitionType||(e.ERepetitionType={}))[r.Ring=1]="Ring",r[r.Matrix=2]="Matrix"},21:(t,e,r)=>{var n;!function(){var o=.5*(Math.sqrt(3)-1),i=(3-Math.sqrt(3))/6,a=1/6,s=(Math.sqrt(5)-1)/4,u=(5-Math.sqrt(5))/20;function h(t){var e;e="function"==typeof t?t:t?function(){var t=0,e=0,r=0,n=1,o=l();t=o(" "),e=o(" "),r=o(" ");for(var i=0;i<arguments.length;i++)(t-=o(arguments[i]))<0&&(t+=1),(e-=o(arguments[i]))<0&&(e+=1),(r-=o(arguments[i]))<0&&(r+=1);return o=null,function(){var o=2091639*t+2.3283064365386963e-10*n;return t=e,e=r,r=o-(n=0|o)}}(t):Math.random,this.p=f(e),this.perm=new Uint8Array(512),this.permMod12=new Uint8Array(512);for(var r=0;r<512;r++)this.perm[r]=this.p[255&r],this.permMod12[r]=this.perm[r]%12}function f(t){var e,r=new Uint8Array(256);for(e=0;e<256;e++)r[e]=e;for(e=0;e<255;e++){var n=e+~~(t()*(256-e)),o=r[e];r[e]=r[n],r[n]=o}return r}function l(){var t=4022871197;return function(e){e=e.toString();for(var r=0;r<e.length;r++){var n=.02519603282416938*(t+=e.charCodeAt(r));n-=t=n>>>0,t=(n*=t)>>>0,t+=4294967296*(n-=t)}return 2.3283064365386963e-10*(t>>>0)}}h.prototype={grad3:new Float32Array([1,1,0,-1,1,0,1,-1,0,-1,-1,0,1,0,1,-1,0,1,1,0,-1,-1,0,-1,0,1,1,0,-1,1,0,1,-1,0,-1,-1]),grad4:new Float32Array([0,1,1,1,0,1,1,-1,0,1,-1,1,0,1,-1,-1,0,-1,1,1,0,-1,1,-1,0,-1,-1,1,0,-1,-1,-1,1,0,1,1,1,0,1,-1,1,0,-1,1,1,0,-1,-1,-1,0,1,1,-1,0,1,-1,-1,0,-1,1,-1,0,-1,-1,1,1,0,1,1,1,0,-1,1,-1,0,1,1,-1,0,-1,-1,1,0,1,-1,1,0,-1,-1,-1,0,1,-1,-1,0,-1,1,1,1,0,1,1,-1,0,1,-1,1,0,1,-1,-1,0,-1,1,1,0,-1,1,-1,0,-1,-1,1,0,-1,-1,-1,0]),noise2D:function(t,e){var r,n,a=this.permMod12,s=this.perm,u=this.grad3,h=0,f=0,l=0,c=(t+e)*o,m=Math.floor(t+c),v=Math.floor(e+c),p=(m+v)*i,d=t-(m-p),g=e-(v-p);d>g?(r=1,n=0):(r=0,n=1);var M=d-r+i,y=g-n+i,x=d-1+2*i,X=g-1+2*i,Y=255&m,w=255&v,T=.5-d*d-g*g;if(T>=0){var C=3*a[Y+s[w]];h=(T*=T)*T*(u[C]*d+u[C+1]*g)}var P=.5-M*M-y*y;if(P>=0){var A=3*a[Y+r+s[w+n]];f=(P*=P)*P*(u[A]*M+u[A+1]*y)}var b=.5-x*x-X*X;if(b>=0){var $=3*a[Y+1+s[w+1]];l=(b*=b)*b*(u[$]*x+u[$+1]*X)}return 70*(h+f+l)},noise3D:function(t,e,r){var n,o,i,s,u,h,f,l,c,m,v=this.permMod12,p=this.perm,d=this.grad3,g=.3333333333333333*(t+e+r),M=Math.floor(t+g),y=Math.floor(e+g),x=Math.floor(r+g),X=(M+y+x)*a,Y=t-(M-X),w=e-(y-X),T=r-(x-X);Y>=w?w>=T?(u=1,h=0,f=0,l=1,c=1,m=0):Y>=T?(u=1,h=0,f=0,l=1,c=0,m=1):(u=0,h=0,f=1,l=1,c=0,m=1):w<T?(u=0,h=0,f=1,l=0,c=1,m=1):Y<T?(u=0,h=1,f=0,l=0,c=1,m=1):(u=0,h=1,f=0,l=1,c=1,m=0);var C=Y-u+a,P=w-h+a,A=T-f+a,b=Y-l+2*a,$=w-c+2*a,G=T-m+2*a,Z=Y-1+.5,U=w-1+.5,E=T-1+.5,O=255&M,D=255&y,R=255&x,q=.6-Y*Y-w*w-T*T;if(q<0)n=0;else{var j=3*v[O+p[D+p[R]]];n=(q*=q)*q*(d[j]*Y+d[j+1]*w+d[j+2]*T)}var z=.6-C*C-P*P-A*A;if(z<0)o=0;else{var S=3*v[O+u+p[D+h+p[R+f]]];o=(z*=z)*z*(d[S]*C+d[S+1]*P+d[S+2]*A)}var _=.6-b*b-$*$-G*G;if(_<0)i=0;else{var k=3*v[O+l+p[D+c+p[R+m]]];i=(_*=_)*_*(d[k]*b+d[k+1]*$+d[k+2]*G)}var B=.6-Z*Z-U*U-E*E;if(B<0)s=0;else{var F=3*v[O+1+p[D+1+p[R+1]]];s=(B*=B)*B*(d[F]*Z+d[F+1]*U+d[F+2]*E)}return 32*(n+o+i+s)},noise4D:function(t,e,r,n){var o,i,a,h,f,l,c,m,v,p,d,g,M,y,x,X,Y,w=this.perm,T=this.grad4,C=(t+e+r+n)*s,P=Math.floor(t+C),A=Math.floor(e+C),b=Math.floor(r+C),$=Math.floor(n+C),G=(P+A+b+$)*u,Z=t-(P-G),U=e-(A-G),E=r-(b-G),O=n-($-G),D=0,R=0,q=0,j=0;Z>U?D++:R++,Z>E?D++:q++,Z>O?D++:j++,U>E?R++:q++,U>O?R++:j++,E>O?q++:j++;var z=Z-(l=D>=3?1:0)+u,S=U-(c=R>=3?1:0)+u,_=E-(m=q>=3?1:0)+u,k=O-(v=j>=3?1:0)+u,B=Z-(p=D>=2?1:0)+2*u,F=U-(d=R>=2?1:0)+2*u,H=E-(g=q>=2?1:0)+2*u,L=O-(M=j>=2?1:0)+2*u,N=Z-(y=D>=1?1:0)+3*u,W=U-(x=R>=1?1:0)+3*u,I=E-(X=q>=1?1:0)+3*u,J=O-(Y=j>=1?1:0)+3*u,K=Z-1+4*u,Q=U-1+4*u,V=E-1+4*u,tt=O-1+4*u,et=255&P,rt=255&A,nt=255&b,ot=255&$,it=.6-Z*Z-U*U-E*E-O*O;if(it<0)o=0;else{var at=w[et+w[rt+w[nt+w[ot]]]]%32*4;o=(it*=it)*it*(T[at]*Z+T[at+1]*U+T[at+2]*E+T[at+3]*O)}var st=.6-z*z-S*S-_*_-k*k;if(st<0)i=0;else{var ut=w[et+l+w[rt+c+w[nt+m+w[ot+v]]]]%32*4;i=(st*=st)*st*(T[ut]*z+T[ut+1]*S+T[ut+2]*_+T[ut+3]*k)}var ht=.6-B*B-F*F-H*H-L*L;if(ht<0)a=0;else{var ft=w[et+p+w[rt+d+w[nt+g+w[ot+M]]]]%32*4;a=(ht*=ht)*ht*(T[ft]*B+T[ft+1]*F+T[ft+2]*H+T[ft+3]*L)}var lt=.6-N*N-W*W-I*I-J*J;if(lt<0)h=0;else{var ct=w[et+y+w[rt+x+w[nt+X+w[ot+Y]]]]%32*4;h=(lt*=lt)*lt*(T[ct]*N+T[ct+1]*W+T[ct+2]*I+T[ct+3]*J)}var mt=.6-K*K-Q*Q-V*V-tt*tt;if(mt<0)f=0;else{var vt=w[et+1+w[rt+1+w[nt+1+w[ot+1]]]]%32*4;f=(mt*=mt)*mt*(T[vt]*K+T[vt+1]*Q+T[vt+2]*V+T[vt+3]*tt)}return 27*(o+i+a+h+f)}},h._buildPermutationTable=f,void 0===(n=function(){return h}.call(e,r,e,t))||(t.exports=n),e.SimplexNoise=h,t.exports=h}()},479:(t,e,r)=>{var n;!function(){function o(t,e,r){var n=e.x,o=e.y,i=r.x-n,a=r.y-o;if(0!==i||0!==a){var s=((t.x-n)*i+(t.y-o)*a)/(i*i+a*a);s>1?(n=r.x,o=r.y):s>0&&(n+=i*s,o+=a*s)}return(i=t.x-n)*i+(a=t.y-o)*a}function i(t,e,r,n,a){for(var s,u=n,h=e+1;h<r;h++){var f=o(t[h],t[e],t[r]);f>u&&(s=h,u=f)}u>n&&(s-e>1&&i(t,e,s,n,a),a.push(t[s]),r-s>1&&i(t,s,r,n,a))}function a(t,e){var r=t.length-1,n=[t[0]];return i(t,0,r,e,n),n.push(t[r]),n}function s(t,e,r){if(t.length<=2)return t;var n=void 0!==e?e*e:1;return a(t=r?t:function(t,e){for(var r,n,o,i,a,s=t[0],u=[s],h=1,f=t.length;h<f;h++)o=s,void 0,void 0,(i=(n=r=t[h]).x-o.x)*i+(a=n.y-o.y)*a>e&&(u.push(r),s=r);return s!==r&&u.push(r),u}(t,n),n)}void 0===(n=function(){return s}.call(e,r,e,t))||(t.exports=n)}()}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var n={};(()=>{r.d(n,{Z:()=>a});var t=r(313),e=r(479);const o=(t,e)=>Math.round(t*10**e)/10**e,i=(t,e)=>{"string"==typeof e?t.push(e):e.forEach((e=>t.push(e)))};class a{static parse(t,e){const r={...a.defaults,...e};return a.generate(t,r).join("\n")}static setUnit(t){return"inches"===t?"G20":"G21"}static useRelativePosition(){return"G91"}static useAbsolutePosition(){return"G90"}static goHome(t){return[t,"G28 X0 Y0"]}static setCurrentMachinePosition(t,e,r){return`G28.1 X${o(t,r)} Y${o(e,r)}`}static setCurrentWorkspacePosition(t,e,r){return`G92 X${o(t,r)} Y${o(e,r)}`}static goTo(t,e,r,n){return void 0!==n?`G1 X${o(t,r)} Y${o(e,r)} F${n}`:`G0 X${o(t,r)} Y${o(e,r)}`}static moveTo(t,e,r,n,o){return[t,this.goTo(r,n,o),e]}static lineTo(t,e,r,n){return this.goTo(t,e,n,r)}static generate(r,n){const o=n.maxX-n.minX,s=n.maxY-n.minY,u=o/s,h=r.width/r.height,f=[u>h?r.width*s/r.height:o,u>h?s:r.height*o/r.width],l=[(o-f[0])/2,(s-f[1])/2],c=u>h?r.width/f[0]:r.height/f[1],m=[];i(m,n.penUpCommand),i(m,this.setUnit(n.unit)),i(m,this.useAbsolutePosition()),i(m,this.setCurrentMachinePosition(n.minX,n.minY,n.decimals)),i(m,this.setCurrentWorkspacePosition(n.minX,n.minY,n.decimals));const v=r.getChildren();for(let r=0,o=v.length;r<o;r++){v[r].generate(0,!0);const o=v[r].getBuffer()||[],s=v[r].getIndexedBuffer()||[];let u=0;for(let r=0,h=s.length;r<h;r++){const h=s[r],f=(0,t.uZ)(n.minX,n.maxX,n.minX+o[u]/c+l[0]),v=(0,t.uZ)(n.minY,n.maxY,n.minY+o[u+1]/c+l[1]);i(m,this.moveTo(n.penUpCommand,n.penDownCommand,f,v,n.decimals));const p=a.pointsToBuffer(e(a.bufferToPoints(o.slice(u,u+h.frameLength)),1/10**n.decimals,!0));for(let e=0,r=p.length;e<r;e+=2){const r=(0,t.uZ)(n.minX,n.maxX,n.minX+p[e]/c+l[0]),o=(0,t.uZ)(n.minY,n.maxY,n.minY+p[e+1]/c+l[1]);i(m,this.lineTo(r,o,n.velocity,n.decimals))}h.shape.isClosed()&&i(m,this.lineTo(f,v,n.velocity,n.decimals)),u+=h.frameLength}}return i(m,this.goHome(n.penUpCommand)),m}static bufferToPoints(t){const e=[];for(let r=0,n=t.length;r<n;r+=2)e.push({x:t[r],y:t[r+1]});return e}static pointsToBuffer(t){const e=[];for(let r=0,n=t.length;r<n;r++)e.push(t[r].x),e.push(t[r].y);return Float32Array.from(e)}}a.defaults={minX:0,minY:0,maxX:297,maxY:210,unit:"millimeters",velocity:1500,penUpCommand:"M3 S30",penDownCommand:"M3 S0",decimals:2}})();var o=n.Z;export{o as GCODEExporter};