1 line
No EOL
12 KiB
JavaScript
1 line
No EOL
12 KiB
JavaScript
(()=>{var e={};e.id=4062,e.ids=[4062],e.modules={3295:e=>{"use strict";e.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:e=>{"use strict";e.exports=require("next/dist/server/app-render/action-async-storage.external.js")},23032:(e,t,s)=>{"use strict";s.d(t,{A:()=>l});var r=s(60687),a=s(85814),n=s.n(a);function l({title:e,subtitle:t,children:s}){return(0,r.jsxs)("div",{className:"mx-auto max-w-4xl px-4 py-8 space-y-6",children:[(0,r.jsxs)("header",{className:"flex items-start justify-between gap-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"text-2xl font-semibold",children:e}),t&&(0,r.jsx)("p",{className:"text-sm text-muted-foreground mt-1",children:t})]}),(0,r.jsx)(n(),{href:"https://makearmy.io",className:"rounded-lg px-3 py-2 border hover:bg-muted transition-colors text-sm",children:"Back to Main Menu"})]}),s]})}},23121:(e,t,s)=>{Promise.resolve().then(s.bind(s,54485))},29294:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:e=>{"use strict";e.exports=require("path")},36319:()=>{},54485:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>r});let r=(0,s(12907).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/app/app/laser-toolkit/job-time-estimator/page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/app/app/laser-toolkit/job-time-estimator/page.tsx","default")},55192:(e,t,s)=>{"use strict";s.d(t,{Wu:()=>d,ZB:()=>i,Zp:()=>l,aR:()=>o});var r=s(60687),a=s(43210),n=s(96241);let l=a.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,n.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));l.displayName="Card";let o=a.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,n.cn)("flex flex-col space-y-1.5 p-6",e),...t}));o.displayName="CardHeader";let i=a.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,n.cn)("text-2xl font-semibold leading-none tracking-tight",e),...t}));i.displayName="CardTitle",a.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,n.cn)("text-sm text-muted-foreground",e),...t})).displayName="CardDescription";let d=a.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,n.cn)("p-6 pt-0",e),...t}));d.displayName="CardContent",a.forwardRef(({className:e,...t},s)=>(0,r.jsx)("div",{ref:s,className:(0,n.cn)("flex items-center p-6 pt-0",e),...t})).displayName="CardFooter"},56444:(e,t,s)=>{Promise.resolve().then(s.t.bind(s,16444,23)),Promise.resolve().then(s.t.bind(s,16042,23)),Promise.resolve().then(s.t.bind(s,88170,23)),Promise.resolve().then(s.t.bind(s,49477,23)),Promise.resolve().then(s.t.bind(s,29345,23)),Promise.resolve().then(s.t.bind(s,12089,23)),Promise.resolve().then(s.t.bind(s,46577,23)),Promise.resolve().then(s.t.bind(s,31307,23))},58014:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>n,metadata:()=>a});var r=s(37413);s(90061);let a={title:"LE-DB",description:"Laser Everything Community Database"};function n({children:e}){return(0,r.jsx)("html",{lang:"en",className:"dark",children:(0,r.jsx)("body",{children:e})})}},61424:(e,t,s)=>{"use strict";s.r(t),s.d(t,{GlobalError:()=>l.a,__next_app__:()=>c,pages:()=>m,routeModule:()=>x,tree:()=>d});var r=s(65239),a=s(48088),n=s(88170),l=s.n(n),o=s(30893),i={};for(let e in o)0>["default","tree","pages","GlobalError","__next_app__","routeModule"].indexOf(e)&&(i[e]=()=>o[e]);s.d(t,i);let d={children:["",{children:["laser-toolkit",{children:["job-time-estimator",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(s.bind(s,54485)),"/app/app/laser-toolkit/job-time-estimator/page.tsx"]}]},{}]},{}]},{layout:[()=>Promise.resolve().then(s.bind(s,58014)),"/app/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(s.t.bind(s,57398,23)),"next/dist/client/components/not-found-error"],forbidden:[()=>Promise.resolve().then(s.t.bind(s,89999,23)),"next/dist/client/components/forbidden-error"],unauthorized:[()=>Promise.resolve().then(s.t.bind(s,65284,23)),"next/dist/client/components/unauthorized-error"]}]}.children,m=["/app/app/laser-toolkit/job-time-estimator/page.tsx"],c={require:s,loadChunk:()=>Promise.resolve()},x=new r.AppPageRouteModule({definition:{kind:a.RouteKind.APP_PAGE,page:"/laser-toolkit/job-time-estimator/page",pathname:"/laser-toolkit/job-time-estimator",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:d}})},63033:e=>{"use strict";e.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66172:(e,t,s)=>{Promise.resolve().then(s.t.bind(s,86346,23)),Promise.resolve().then(s.t.bind(s,27924,23)),Promise.resolve().then(s.t.bind(s,35656,23)),Promise.resolve().then(s.t.bind(s,40099,23)),Promise.resolve().then(s.t.bind(s,38243,23)),Promise.resolve().then(s.t.bind(s,28827,23)),Promise.resolve().then(s.t.bind(s,62763,23)),Promise.resolve().then(s.t.bind(s,97173,23))},68988:(e,t,s)=>{"use strict";s.d(t,{p:()=>l});var r=s(60687),a=s(43210),n=s(96241);let l=a.forwardRef(({className:e,type:t="text",...s},a)=>(0,r.jsx)("input",{type:t,className:(0,n.cn)("flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm","shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium","placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring","disabled:cursor-not-allowed disabled:opacity-50",e),ref:a,...s}));l.displayName="Input"},88273:(e,t,s)=>{Promise.resolve().then(s.bind(s,97719))},90061:()=>{},96241:(e,t,s)=>{"use strict";s.d(t,{cn:()=>n});var r=s(49384),a=s(82348);function n(...e){return(0,a.QP)((0,r.$)(e))}},96999:()=>{},97719:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>d});var r=s(60687),a=s(43210),n=s(23032),l=s(55192),o=s(68988);function i(e){let t=parseFloat(e);return Number.isFinite(t)?t:0}function d(){let[e,t]=(0,a.useState)("raster"),[s,d]=(0,a.useState)("1"),[m,c]=(0,a.useState)("100"),[x,u]=(0,a.useState)("100"),[p,h]=(0,a.useState)("300"),[g,v]=(0,a.useState)("800"),[f,j]=(0,a.useState)("1.10"),[b,N]=(0,a.useState)("500"),[y,P]=(0,a.useState)("50"),[w,C]=(0,a.useState)("1.05"),k=(0,a.useMemo)(()=>{let t=Math.max(1,Math.round(i(s)));if("raster"===e){let e=i(m),s=i(x),r=i(p),a=i(g),n=Math.max(.5,i(f));if(e<=0||s<=0||r<=0||a<=0)return{t:0,gapMm:0,gapUm:0,rows:0};let l=25.4/r,o=s/l;return{t:e/a*o*t*n,gapMm:l,gapUm:1e3*l,rows:o}}{let e=i(b),t=i(y),r=Math.max(.5,i(w));return e<=0||t<=0?{t:0,gapMm:0,gapUm:0,rows:0}:{t:e/t*Math.max(1,Math.round(i(s)))*r,gapMm:0,gapUm:0,rows:0}}},[e,s,m,x,p,g,f,b,y,w]);return(0,r.jsxs)(n.A,{title:"Job Time Estimator",children:[(0,r.jsxs)(l.Zp,{children:[(0,r.jsx)(l.aR,{children:(0,r.jsx)(l.ZB,{className:"text-base",children:"Mode"})}),(0,r.jsxs)(l.Wu,{className:"grid gap-3 sm:grid-cols-4",children:[(0,r.jsxs)("label",{className:"text-[11px] sm:text-xs col-span-2 sm:col-span-1",children:[(0,r.jsx)("div",{className:"mb-1 text-muted-foreground",children:"Type"}),(0,r.jsxs)("select",{className:"w-full rounded-md border bg-background px-3 py-2 text-sm",value:e,onChange:e=>t(e.target.value),children:[(0,r.jsx)("option",{value:"raster",children:"Raster"}),(0,r.jsx)("option",{value:"vector",children:"Vector"})]})]}),(0,r.jsxs)("label",{className:"text-[11px] sm:text-xs",children:[(0,r.jsx)("div",{className:"mb-1 text-muted-foreground",children:"Passes"}),(0,r.jsx)(o.p,{inputMode:"numeric",value:s,onChange:e=>d(e.target.value)})]})]})]}),"raster"===e?(0,r.jsxs)(l.Zp,{className:"mt-4",children:[(0,r.jsx)(l.aR,{children:(0,r.jsx)(l.ZB,{className:"text-base",children:"Raster Inputs"})}),(0,r.jsxs)(l.Wu,{className:"grid gap-3 sm:grid-cols-5",children:[(0,r.jsxs)("label",{className:"text-[11px] sm:text-xs",children:[(0,r.jsx)("div",{className:"mb-1 text-muted-foreground",children:"Width (mm)"}),(0,r.jsx)(o.p,{value:m,onChange:e=>c(e.target.value)})]}),(0,r.jsxs)("label",{className:"text-[11px] sm:text-xs",children:[(0,r.jsx)("div",{className:"mb-1 text-muted-foreground",children:"Height (mm)"}),(0,r.jsx)(o.p,{value:x,onChange:e=>u(e.target.value)})]}),(0,r.jsxs)("label",{className:"text-[11px] sm:text-xs",children:[(0,r.jsx)("div",{className:"mb-1 text-muted-foreground",children:"DPI"}),(0,r.jsx)(o.p,{value:p,onChange:e=>h(e.target.value)})]}),(0,r.jsxs)("label",{className:"text-[11px] sm:text-xs",children:[(0,r.jsx)("div",{className:"mb-1 text-muted-foreground",children:"Speed (mm/s)"}),(0,r.jsx)(o.p,{value:g,onChange:e=>v(e.target.value)})]}),(0,r.jsxs)("label",{className:"text-[11px] sm:text-xs",children:[(0,r.jsx)("div",{className:"mb-1 text-muted-foreground",children:"Overhead factor"}),(0,r.jsx)(o.p,{value:f,onChange:e=>j(e.target.value)})]})]})]}):(0,r.jsxs)(l.Zp,{className:"mt-4",children:[(0,r.jsx)(l.aR,{children:(0,r.jsx)(l.ZB,{className:"text-base",children:"Vector Inputs"})}),(0,r.jsxs)(l.Wu,{className:"grid gap-3 sm:grid-cols-3",children:[(0,r.jsxs)("label",{className:"text-[11px] sm:text-xs",children:[(0,r.jsx)("div",{className:"mb-1 text-muted-foreground",children:"Total path length (mm)"}),(0,r.jsx)(o.p,{value:b,onChange:e=>N(e.target.value)})]}),(0,r.jsxs)("label",{className:"text-[11px] sm:text-xs",children:[(0,r.jsx)("div",{className:"mb-1 text-muted-foreground",children:"Speed (mm/s)"}),(0,r.jsx)(o.p,{value:y,onChange:e=>P(e.target.value)})]}),(0,r.jsxs)("label",{className:"text-[11px] sm:text-xs",children:[(0,r.jsx)("div",{className:"mb-1 text-muted-foreground",children:"Overhead factor"}),(0,r.jsx)(o.p,{value:w,onChange:e=>C(e.target.value)})]})]})]}),(0,r.jsxs)(l.Zp,{className:"mt-4",children:[(0,r.jsx)(l.aR,{children:(0,r.jsx)(l.ZB,{className:"text-base",children:"Estimate"})}),(0,r.jsxs)(l.Wu,{className:"grid gap-3 sm:grid-cols-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-sm text-muted-foreground",children:"Estimated time"}),(0,r.jsx)("div",{className:"text-lg",children:function(e){if(!Number.isFinite(e)||e<=0)return"0 s";let t=Math.round(e),s=Math.floor(t/60);if(s<60)return`${s}m ${t%60}s`;let r=Math.floor(s/60);return`${r}h ${s%60}m`}(k.t)})]}),"raster"===e&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-sm text-muted-foreground",children:"Scan gap"}),(0,r.jsxs)("div",{className:"text-lg",children:[k.gapMm.toFixed(4)," mm"]}),(0,r.jsxs)("div",{className:"text-xs text-muted-foreground",children:[k.gapUm.toFixed(1)," \xb5m"]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-sm text-muted-foreground",children:"Line count"}),(0,r.jsx)("div",{className:"text-lg",children:k.rows.toFixed(0)})]})]})]})]}),(0,r.jsxs)("p",{className:"mt-4 text-xs leading-relaxed text-muted-foreground",children:[(0,r.jsx)("span",{className:"font-semibold",children:"Overhead factor*"})," accounts for real-world slowdowns: acceleration/decelleration, jump moves, polygon delays, laser on/off timing, overscan, bidirectional settle time, and controller latency."," ",(0,r.jsx)("span",{className:"font-semibold",children:"Typical values:"})," Vector cuts/marks"," ",(0,r.jsx)("span",{className:"font-medium",children:"1.05–1.15"})," (simple paths, long runs closer to 1.05; tiny segments or lots of jumps closer to 1.15). Raster engraving"," ",(0,r.jsx)("span",{className:"font-medium",children:"1.10–1.40"})," (lower DPI and long sweeps near 1.10; very high DPI or short scan width near 1.30–1.40). Galvo systems often have lower overhead at small sizes; gantry systems tend to have higher overhead at high DPI/short strokes."]})]})}}};var t=require("../../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),r=t.X(0,[7719,4825,5814,9069],()=>s(61424));module.exports=r})(); |