designix-uis 0.5.4 → 0.5.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/designix-uis.js +7 -7
  2. package/dist/public/_app/immutable/assets/3.Bup7ghXO.css +1 -0
  3. package/dist/public/_app/immutable/assets/_page.Bup7ghXO.css +1 -0
  4. package/dist/public/_app/immutable/chunks/{entry.C3zjkdvH.js → entry.CsF6fnqO.js} +1 -1
  5. package/dist/public/_app/immutable/chunks/index.Cm-3kLLR.js +114 -0
  6. package/dist/public/_app/immutable/chunks/makeList.BiFeMQLr.js +88 -0
  7. package/dist/public/_app/immutable/chunks/paths.ClSAQomf.js +1 -0
  8. package/dist/public/_app/immutable/chunks/{stores.Huum2hKK.js → stores.DVTgRUTa.js} +1 -1
  9. package/dist/public/_app/immutable/entry/app.C-LiF7Ib.js +7 -0
  10. package/dist/public/_app/immutable/entry/start.DwZ0Xc6p.js +1 -0
  11. package/dist/public/_app/immutable/nodes/{0.nCmV09r4.js → 0.CZsUlPuR.js} +1 -1
  12. package/dist/public/_app/immutable/nodes/{1.Cl2Wb2Sv.js → 1.BqYeci0V.js} +1 -1
  13. package/dist/public/_app/immutable/nodes/{2.D3m9DKE0.js → 2.C-L5mEiC.js} +1 -1
  14. package/dist/public/_app/immutable/nodes/3.fFlQHaXT.js +18 -0
  15. package/dist/public/_app/version.json +1 -1
  16. package/dist/public/gear/gear_wheel_wheel.html +20 -20
  17. package/dist/public/gear/simplified_gear_wheel.html +37 -37
  18. package/dist/public/heliostat/base.html +20 -20
  19. package/dist/public/heliostat/heliostat.html +20 -20
  20. package/dist/public/heliostat/heliostat_2.html +20 -20
  21. package/dist/public/heliostat/pole_rotor.html +20 -20
  22. package/dist/public/heliostat/pole_static.html +20 -20
  23. package/dist/public/heliostat/rake.html +20 -20
  24. package/dist/public/heliostat/rake_stopper.html +20 -20
  25. package/dist/public/heliostat/rod.html +20 -20
  26. package/dist/public/heliostat/spider.html +20 -20
  27. package/dist/public/heliostat/surface.html +20 -20
  28. package/dist/public/heliostat/swing.html +20 -20
  29. package/dist/public/heliostat/trapeze.html +20 -20
  30. package/dist/public/index.html +19 -19
  31. package/package.json +7 -7
  32. package/dist/public/_app/immutable/assets/3.wWOitVXS.css +0 -1
  33. package/dist/public/_app/immutable/assets/_page.wWOitVXS.css +0 -1
  34. package/dist/public/_app/immutable/chunks/index.BROvJSft.js +0 -114
  35. package/dist/public/_app/immutable/chunks/makeList.BtRSVN7R.js +0 -88
  36. package/dist/public/_app/immutable/chunks/paths.CQQiRxnm.js +0 -1
  37. package/dist/public/_app/immutable/entry/app.BpxPkBw3.js +0 -7
  38. package/dist/public/_app/immutable/entry/start.Bz7pahS0.js +0 -1
  39. package/dist/public/_app/immutable/nodes/3.DPcZI3eM.js +0 -17
@@ -0,0 +1,88 @@
1
+ var dt=Object.defineProperty;var ct=(n,e,a)=>e in n?dt(n,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[e]=a;var C=(n,e,a)=>(ct(n,typeof e!="symbol"?e+"":e,a),a);import{p as t,a as Ve,b as re,c as He,i as le,d as Pe,f as L,g as B,E as z,h as J,j as ce,k as he,l as ge,r as oe,m as M,n as I,o as se,q as te,s as ke,t as Ee,w as Ce,S as we,u as ht}from"./index.Cm-3kLLR.js";var gt=class{constructor(n,e,a,s,i){C(this,"base_center_x");C(this,"base_center_y");C(this,"base_radius");C(this,"initial_angle");C(this,"right_nleft");this.base_center_x=n,this.base_center_y=e,this.base_radius=a,this.initial_angle=s,this.right_nleft=i}angleSign(){return this.right_nleft?1:-1}lFromU(n){return this.base_radius*Math.sqrt(1+n**2)}wFromU(n){if(n<0)throw`err729: involute parameter au ${n} is negative`;if(Math.abs(n)>Math.PI/2)throw`err730: involute parameter au ${n} is larger than PI/2`;return this.angleSign()*(n-Math.atan(n))}w2FromU(n){return this.initial_angle+this.wFromU(n)}ptc(n){const e=this.lFromU(n),a=this.w2FromU(n),s=this.base_center_x+Math.cos(a)*e,i=this.base_center_y+Math.sin(a)*e;return[s,i]}ptcta(n){return this.initial_angle+this.angleSign()*n}uFromL(n){return Math.sqrt(n**2/this.base_radius**2-1)}uFromWslow(n){let a=Math.PI/3,s=a/2,i=this.wFromU(a),_=0;for(;Math.abs(i-n)>1e-4;)i<n?a+=s:a-=s,i=this.wFromU(a),s=s/2,_+=1;return console.log(`dbg072: uFromWslow itcnt ${_}`),a}laptc(n,e,a,s){if(Math.sign(e)*this.angleSign()<0)throw`err904: Invole.laptc angle-of-pressure ${e} not compatible with right_nleft ${this.right_nleft}`;const i=n+e,_=this.base_center_x+Math.cos(i)*this.base_radius,o=this.base_center_y+Math.sin(i)*this.base_radius,d=i-this.angleSign()*Math.PI/2,u=a*this.base_radius,D=_+Math.cos(d)*u,c=o+Math.sin(d)*u,g=this.lFromU(a)*s,l=a,r=Math.cos(l)*g,w=Math.sin(l)*g;return[D,c,r,w]}};function ue(n,e,a,s,i){return new gt(n,e,a,s,i)}var at=class{constructor(){C(this,"mod",1);C(this,"TN",23);C(this,"as",1);C(this,"cx",0);C(this,"cy",0);C(this,"brr",50);C(this,"blr",50);C(this,"ar",54);C(this,"pr",53);C(this,"dr",52);C(this,"br",51);C(this,"bRound",1);C(this,"adt",.5);C(this,"initAngle",0);C(this,"axisAngle",0);C(this,"involArcPairs",1);C(this,"skinThickness",0);C(this,"involuteR",ue(0,0,50,0,!0));C(this,"involuteL",ue(0,0,50,0,!1));C(this,"rud",0);C(this,"rup",0);C(this,"rua",0);C(this,"rwd",0);C(this,"rwp",0);C(this,"rwa",0);C(this,"lud",0);C(this,"lup",0);C(this,"lua",0);C(this,"lwd",0);C(this,"lwp",0);C(this,"lwa",0);C(this,"msg");C(this,"initStep",0);this.mod=1,this.msg="",this.initStep=0}incInitStep(n){if(this.initStep+1!==n)throw`err834: incInitStep initStep ${this.initStep} and target ${n} are not compatible`;this.initStep=n}checkInitStep(n,e){if(this.initStep<n)throw`err835: checkInitStep for ${e} initStep ${this.initStep} is too small compare to targetMin ${n}`}set1ModuleToothNumber(n,e){this.incInitStep(1),this.mod=n,this.TN=e,this.pr=this.mod*this.TN/2,this.as=2*Math.PI/this.TN}set2CenterPosition(n,e){this.incInitStep(2),this.cx=n,this.cy=e}set3CircleRadius(n,e,a,s){this.incInitStep(3),this.ar=this.pr+this.mod*n,this.dr=this.pr-this.mod*e,this.br=this.dr-this.mod*a,this.bRound=s}set4BaseCircles(n,e){this.incInitStep(4),this.brr=n,this.blr=e}set5AddendumThickness(n){this.incInitStep(5),this.adt=n/100}set6Angles(n,e){this.incInitStep(6),this.initAngle=n,this.axisAngle=e}set7InvoluteDetails(n,e){this.incInitStep(7),this.involArcPairs=n,this.skinThickness=e}getRefCircles(){return this.checkInitStep(4,"getRefCircles"),[M(this.cx,this.cy,this.ar,"Azure"),M(this.cx,this.cy,this.pr,"Azure"),M(this.cx,this.cy,this.dr,"Azure"),M(this.cx,this.cy,this.br,"Azure"),M(this.cx,this.cy,this.brr,"CornFlowerBlue"),M(this.cx,this.cy,this.blr,"Crimson")]}calcInvoluteAngles(){this.checkInitStep(4,"calcInvoluteAngles"),this.involuteR=ue(this.cx,this.cy,this.brr,0,!0),this.dr>this.brr?this.rud=this.involuteR.uFromL(this.dr):this.rud=0,this.rup=this.involuteR.uFromL(this.pr),this.rua=this.involuteR.uFromL(this.ar),this.rwd=this.involuteR.wFromU(this.rud),this.rwp=this.involuteR.wFromU(this.rup),this.rwa=this.involuteR.wFromU(this.rua),this.involuteL=ue(this.cx,this.cy,this.blr,0,!1),this.dr>this.blr?this.lud=this.involuteL.uFromL(this.dr):this.rud=0,this.lup=this.involuteL.uFromL(this.pr),this.lua=this.involuteL.uFromL(this.ar),this.lwd=this.involuteL.wFromU(this.lud),this.lwp=this.involuteL.wFromU(this.lup),this.lwa=this.involuteL.wFromU(this.lua)}checkProfileConditions(){const n=this.as*this.adt,e=this.rwa-this.rwp,a=Math.abs(this.lwa-this.lwp),s=n-e-a;if(s<0)throw`err554: No remaining Addendum reserve ${L(s)}
2
+ `;const i=this.as*(1-this.adt),_=this.rwp-this.rwd,o=Math.abs(this.lwp-this.lwd),d=i-_-o;if(d<2*Math.atan2(this.bRound,this.br))throw`err555: No remaining Dedendum reserve ${L(d)} compare to bRound ${L(this.bRound)}
3
+ `}getToothRef(){const n=6*this.involArcPairs,e=0;this.checkInitStep(7,"getProfile"),this.calcInvoluteAngles();const a=(this.rua-this.rud)/n,s=(this.lua-this.lud)/n,i=this.initAngle+e*this.as,_=ue(this.cx,this.cy,this.brr,i-this.rwp,!0),[o,d]=_.ptc(this.rud+0*a),u=B(o,d,"Gold");for(let h=0;h<n;h++){const[g,l]=_.ptc(this.rud+(h+1)*a);u.addSegStrokeA(g,l)}const D=i+this.as*this.adt,c=ue(this.cx,this.cy,this.blr,D-this.lwp,!1);for(let h=0;h<n+1;h++){const[g,l]=c.ptc(this.lud+(n-h)*s);u.addSegStrokeA(g,l)}return u.closeSegStroke(),u}getProfile(){this.checkInitStep(7,"getProfile"),this.calcInvoluteAngles(),this.checkProfileConditions();const n=this.rwd-this.rwp,e=this.lwd-this.lwp,a=this.dr>this.brr?this.dr:this.brr,s=this.dr>this.blr?this.dr:this.blr;if(this.bRound>a-this.br)throw`err409: getProfile bRound ${L(this.bRound)} too large for erdr ${L(a)} and br ${L(this.br)}`;if(this.bRound>s-this.br)throw`err408: getProfile bRound ${L(this.bRound)} too large for eldr ${L(s)} and br ${L(this.br)}`;const i=(this.rua-this.rud)/this.involArcPairs,_=(this.lua-this.lud)/this.involArcPairs,o=se(this.cx,this.cy),d=o.translatePolar(this.initAngle+n,this.br),u=B(d.cx,d.cy);for(let D=0;D<this.TN;D++){const c=this.initAngle+D*this.as,h=o.translatePolar(c+n,this.br);u.addSegStrokeA(h.cx,h.cy).addCornerRounded(this.bRound);const g=ue(this.cx,this.cy,this.brr,c-this.rwp,!0),[l,r]=g.ptc(this.rud),w=g.ptcta(this.rud),V=se(l,r).translatePolar(w-Math.PI/2,this.skinThickness);u.addSegStrokeA(V.cx,V.cy);for(let H=0;H<this.involArcPairs;H++){const S=this.rud+H*i,[$,y]=g.ptc(S+i),x=g.ptcta(S),X=g.ptcta(S+i)+Math.PI,T=se($,y).translatePolar(x-Math.PI/2,this.skinThickness);u.addPointA(T.cx,T.cy).addSeg2Arcs(x,X)}const F=c+this.as*this.adt,P=ue(this.cx,this.cy,this.blr,F-this.lwp,!1),N=this.lud+this.involArcPairs*_,[f,R]=P.ptc(N),b=P.ptcta(N)+Math.PI,A=se(f,R).translatePolar(b-Math.PI/2,this.skinThickness);u.addSegStrokeA(A.cx,A.cy);for(let H=0;H<this.involArcPairs;H++){const S=this.lud+(this.involArcPairs-H)*_,[$,y]=P.ptc(S-_),x=P.ptcta(S)+Math.PI,X=P.ptcta(S-_),T=se($,y).translatePolar(x-Math.PI/2,this.skinThickness);u.addPointA(T.cx,T.cy).addSeg2Arcs(x,X)}const v=o.translatePolar(F+e,this.br);u.addSegStrokeA(v.cx,v.cy).addCornerRounded(this.bRound)}return u.closeSegStroke(),u}getMsg(){return this.msg}};function Ye(){return new at}function ut(n,e,a,s){n.checkInitStep(1,"helper.gw2center-1"),e.checkInitStep(1,"helper.gw2center-2");const i=n.pr+e.pr+s,_=n.cx+i*Math.cos(a),o=n.cy+i*Math.sin(a);return[_,o,i]}function _t(n,e,a,s,i,_,o,d,u){n.checkInitStep(3,"helper.baseCircles-1"),e.checkInitStep(3,"helper.baseCircles-2");let D=a,c=i,h=s,g=_;const l=d,r=u;return l===0&&(e.TN>n.TN?(D=n.dr,c=D*e.TN/n.TN):(c=e.dr,D=c*n.TN/e.TN)),r===0&&(e.TN>n.TN?(h=n.dr,g=h*e.TN/n.TN):(g=e.dr,h=g*n.TN/e.TN)),o===1&&(h=D,g=c),[D,h,c,g]}var ft=class{constructor(n,e,a,s,i,_){C(this,"gw1");C(this,"gw2");C(this,"initAngle1");C(this,"angleCenterCenter");C(this,"interAxis");C(this,"rightLeftCenter2");C(this,"msg");C(this,"apr");C(this,"apl");C(this,"lBDr",0);C(this,"lBDl",0);C(this,"laStartRr1",0);C(this,"laStartRr2",0);C(this,"laStartRl1",0);C(this,"laStartRl2",0);C(this,"aFODr1",0);C(this,"aFODr2",0);C(this,"aFODl1",0);C(this,"aFODl2",0);C(this,"lasr1",0);C(this,"lasr2",0);C(this,"lasl1",0);C(this,"lasl2",0);C(this,"firstToothUr1",0);C(this,"firstToothUl1",0);C(this,"ftdr1",0);C(this,"ftdl1",0);this.gw1=n,this.gw2=e,this.initAngle1=a,this.angleCenterCenter=s,this.interAxis=i,this.rightLeftCenter2=_,this.msg="",this.apr=0,this.apl=0}check1(){this.gw1.checkInitStep(4,"ActionLine.check1-1"),this.gw2.checkInitStep(4,"ActionLine.check1-2"),this.interAxis>this.gw1.ar+this.gw2.ar&&(this.msg+=`warn333: initAngle2 interAxis ${L(this.interAxis)} is too large compare to gw1.ar ${L(this.gw1.ar)} and gw2.ar ${L(this.gw2.ar)}
4
+ `),te(this.gw1.brr*this.gw2.TN-this.gw2.brr*this.gw1.TN)!==0&&(this.msg+=`warn407: right ratios differ N1/N2 = ${this.gw1.TN} / ${this.gw2.TN} = ${L(this.gw1.TN/this.gw2.TN)} and brr1/brr2 = ${L(this.gw1.brr)}/${L(this.gw2.brr)} = ${L(this.gw1.brr/this.gw2.brr)}
5
+ `),te(this.gw1.blr*this.gw2.TN-this.gw2.blr*this.gw1.TN)!==0&&(this.msg+=`warn408: left ratios differ N1/N2 = ${this.gw1.TN} / ${this.gw2.TN} = ${L(this.gw1.TN/this.gw2.TN)} and blr1/blr2 = ${L(this.gw1.blr)}/${L(this.gw2.blr)} = ${L(this.gw1.blr/this.gw2.blr)}
6
+ `)}check2(){this.gw1.checkInitStep(5,"ActionLine.check2-1"),this.gw2.checkInitStep(5,"ActionLine.check2-2"),te(this.gw1.adt+this.gw2.adt-1)>0&&(this.msg+=`warn281: addendum thickness too large: adt1 ${L(this.gw1.adt)} adt2 ${L(this.gw2.adt)}
7
+ `);const n=this.gw1.ar-this.gw1.pr,e=this.gw1.pr-this.gw1.dr,a=this.gw2.ar-this.gw2.pr,s=this.gw2.pr-this.gw2.dr;te(s-n)<0&&(this.msg+=`warn282: addendum-1 ${L(n)} larger than dedendum-2 ${L(s)}
8
+ `),te(e-a)<0&&(this.msg+=`warn283: addendum-2 ${L(a)} larger than dedendum-1 ${L(e)}
9
+ `)}calcActionLine(){this.gw1.checkInitStep(4,"ActionLine.calcActionLine-1"),this.gw2.checkInitStep(4,"ActionLine.calcActionLine-2"),this.gw1.calcInvoluteAngles(),this.gw2.calcInvoluteAngles();const n=this.interAxis*this.gw1.brr/(this.gw1.brr+this.gw2.brr),e=this.interAxis*this.gw1.blr/(this.gw1.blr+this.gw2.blr),a=this.interAxis-n,s=this.interAxis-e;this.apr=Math.acos((this.gw1.brr+this.gw2.brr)/this.interAxis),this.apl=Math.acos((this.gw1.blr+this.gw2.blr)/this.interAxis),this.msg+=`Pressure angular: right: ${L(oe(this.apr))} left: ${L(oe(this.apl))} degree
10
+ `,this.lBDr=this.interAxis*Math.sin(this.apr),this.lBDl=this.interAxis*Math.sin(this.apl),this.msg+=`Line of Action Maximum length: right: ${L(this.lBDr)} left: ${L(this.lBDl)} mm
11
+ `;const i=Math.PI/2+this.apr,_=ke(this.gw1.ar,n,i);this.aFODr1=Math.PI-i-_;const o=this.gw1.rua-this.apr-this.gw1.rwa;if(te(this.aFODr1-o)!==0)throw`dbg378: aFODr1 ${this.aFODr1} and aFODr1Alt ${o} differ`;const d=Ee(n,this.gw1.ar,this.aFODr1),u=i,D=ke(this.gw2.ar,a,u);this.aFODr2=Math.PI-u-D;const c=this.gw2.rua-this.apr-this.gw2.rwa;if(te(this.aFODr2-c)!==0)throw`dbg379: aFODr2 ${this.aFODr2} and aFODr2Alt ${c} differ`;const h=Ee(a,this.gw2.ar,this.aFODr2),g=d+h,l=g/this.gw1.brr,r=g/this.gw2.brr,w=this.gw1.rua-l,V=this.gw2.rua-r;this.laStartRr1=this.gw1.involuteR.lFromU(w),this.laStartRr2=this.gw2.involuteR.lFromU(V);const F=Math.PI/2+this.apl,P=ke(this.gw1.ar,e,F);this.aFODl1=Math.PI-F-P;const N=this.gw1.lua-this.apl+this.gw1.lwa;if(te(this.aFODl1-N)!==0)throw`dbg388: aFODl1 ${this.aFODl1} and aFODl1Alt ${N} differ`;const f=Ee(e,this.gw1.ar,this.aFODl1),R=i,b=ke(this.gw2.ar,s,R);this.aFODl2=Math.PI-R-b;const A=this.gw2.lua-this.apl+this.gw2.lwa;if(te(this.aFODl2-A)!==0)throw`dbg389: aFODl2 ${this.aFODl2} and aFODl2Alt ${A} differ`;const v=Ee(s,this.gw2.ar,this.aFODl2),H=f+v,S=H/this.gw1.blr,$=H/this.gw2.blr,y=this.gw1.lua-S,x=this.gw2.lua-$;this.laStartRl1=this.gw1.involuteL.lFromU(y),this.laStartRl2=this.gw2.involuteL.lFromU(x),this.msg+=`Line of Action Effective length: right: ${L(g)} left: ${L(H)} mm
12
+ `,this.msg+=`Line of Action Effective rotation angle: right-1: ${L(oe(l))} right-2: ${L(oe(r))} left-1: ${L(oe(S))} left-2: ${L(oe($))} degree
13
+ `,this.msg+=`Line of Action Effective height: right-1: ${L(this.gw1.ar-this.laStartRr1)} right-2: ${L(this.gw2.ar-this.laStartRr2)} left-1: ${L(this.gw1.ar-this.laStartRl1)} left-2: ${L(this.gw2.ar-this.laStartRl2)} mm
14
+ `,this.lasr1=2*Math.PI/this.gw1.TN*this.gw1.brr,this.lasr2=2*Math.PI/this.gw2.TN*this.gw2.brr,this.msg+=`Line of Action right: step length: 1: ${L(this.lasr1)} 2: ${L(this.lasr2)} mm
15
+ `,this.msg+=`Line of Action right: nb of contact point: 1: ${L(g/this.lasr1)} 2: ${L(g/this.lasr2)}
16
+ `,this.lasl1=2*Math.PI/this.gw1.TN*this.gw1.blr,this.lasl2=2*Math.PI/this.gw2.TN*this.gw2.blr,this.msg+=`Line of Action left: step length: 1: ${L(this.lasl1)} 2: ${L(this.lasl2)} mm
17
+ `,this.msg+=`Line of Action left: nb of contact point: 1: ${L(H/this.lasl1)} 2: ${L(H/this.lasl2)}
18
+ `}calcContactPoint1(){for(this.gw1.checkInitStep(5,"ActionLine.calcContactPoint1"),this.firstToothUr1=Ce(this.apr-(this.initAngle1-this.angleCenterCenter)+this.gw1.rwp);te(this.firstToothUr1-this.gw1.as)>=0;)this.firstToothUr1=te(this.firstToothUr1-this.gw1.as);for(this.firstToothUl1=Ce(this.apl+(this.initAngle1-this.angleCenterCenter)+this.gw1.as*this.gw1.adt-this.gw1.lwp);te(this.firstToothUl1-this.gw1.as)>=0;)this.firstToothUl1=te(this.firstToothUl1-this.gw1.as);this.ftdr1=this.gw1.brr*this.firstToothUr1,this.ftdl1=this.gw1.blr*this.firstToothUl1}prepare(){this.check1(),this.check2(),this.calcActionLine(),this.calcContactPoint1()}oneContactSpeed(n,e,a,s,i,_,o,d,u,D){const h=Math.floor(e/(2*a)),g=(s+h*a)/i,l=n?1:-1,[r,w,V,F]=_.laptc(o,l*d,g,.4);this.msg+=`speed ${u}: vx ${L(V)} vy: ${L(F)} m/s
19
+ `;const P=se(r,w),N=o+l*d,f=B(r,w,D),R=P.translatePolar(N,-F);f.addSegStrokeA(R.cx,R.cy);const b=R.translatePolar(N-l*Math.PI/2,V);return f.addSegStrokeA(b.cx,b.cy),f.closeSegStroke(),f}getContactSpeed(){const n=this.oneContactSpeed(!0,this.lBDr,this.lasr1,this.ftdr1,this.gw1.brr,this.gw1.involuteR,this.angleCenterCenter,this.apr,"R1","Black"),e=this.oneContactSpeed(!1,this.lBDl,this.lasl1,this.ftdl1,this.gw1.blr,this.gw1.involuteL,this.angleCenterCenter,this.apl,"L1","Black"),a=[];return a.push(n),a.push(e),a}getContours(){const n=[];n.push(M(this.gw1.cx,this.gw1.cy,this.laStartRr1,"SkyBlue")),n.push(M(this.gw1.cx,this.gw1.cy,this.laStartRl1,"SlateBlue")),n.push(M(this.gw2.cx,this.gw2.cy,this.laStartRr2,"SkyBlue")),n.push(M(this.gw2.cx,this.gw2.cy,this.laStartRl2,"SlateBlue"));const e=se(this.gw1.cx,this.gw1.cy),a=se(this.gw2.cx,this.gw2.cy),s=e.translatePolar(this.angleCenterCenter+this.apr,this.gw1.brr),i=a.translatePolar(this.angleCenterCenter+Math.PI+this.apr,this.gw2.brr),_=B(s.cx,s.cy,"YellowGreen");_.addSegStrokeA(i.cx,i.cy),_.closeSegStroke(),n.push(_);const o=e.translatePolar(this.angleCenterCenter-this.aFODr1,this.gw1.ar),d=a.translatePolar(this.angleCenterCenter+Math.PI-this.aFODr2,this.gw2.ar),u=B(o.cx,o.cy,"Yellow");u.addSegStrokeA(d.cx,d.cy),u.closeSegStroke(),n.push(u);const D=e.translatePolar(this.angleCenterCenter-this.apl,this.gw1.blr),c=a.translatePolar(this.angleCenterCenter+Math.PI-this.apl,this.gw2.blr),h=B(D.cx,D.cy,"YellowGreen");h.addSegStrokeA(c.cx,c.cy),h.closeSegStroke(),n.push(h);const g=e.translatePolar(this.angleCenterCenter+this.aFODl1,this.gw1.ar),l=a.translatePolar(this.angleCenterCenter+Math.PI+this.aFODl2,this.gw2.ar),r=B(g.cx,g.cy,"Yellow");return r.addSegStrokeA(l.cx,l.cy),r.closeSegStroke(),n.push(r),n.push(...this.getContactSpeed()),n}getContactPoint(){const n=[],e=se(this.gw1.cx,this.gw1.cy),a=e.translatePolar(this.angleCenterCenter+this.apr,this.gw1.brr),s=e.translatePolar(this.angleCenterCenter-this.apl,this.gw1.blr);n.push(se(a.cx,a.cy,we.eBigSquare)),n.push(se(s.cx,s.cy,we.eBigSquare));const i=this.angleCenterCenter+this.apr-Math.PI/2,_=this.angleCenterCenter-this.apl+Math.PI/2,o=a.translatePolar(i,this.ftdr1),d=s.translatePolar(_,this.ftdl1);n.push(se(o.cx,o.cy,we.eBigSquare)),n.push(se(d.cx,d.cy,we.eBigSquare));let u=this.ftdr1;for(;u+this.lasr1<this.lBDr;){u+=this.lasr1;const c=a.translatePolar(i,u);n.push(se(c.cx,c.cy,we.eBigSquare))}let D=this.ftdl1;for(;D+this.lasl1<this.lBDl;){D+=this.lasl1;const c=s.translatePolar(_,D);n.push(se(c.cx,c.cy,we.eBigSquare))}return n}getMsg(){return this.msg}getInitAngle2(){let n=this.lBDr-this.ftdr1;for(;te(n-this.lasr2)>=0;)n=te(n-this.lasr2);let e=this.lBDl-this.ftdl1;for(;te(e-this.lasl2)>=0;)e=te(e-this.lasl2);const a=n/this.gw2.brr,s=e/this.gw2.blr,i=this.angleCenterCenter+Math.PI+this.apr-a+this.gw2.rwp,o=this.angleCenterCenter+Math.PI-this.apl+s+this.gw2.lwp-this.gw2.as*this.gw2.adt;let d=2*Math.PI+Ce(o);for(;te(d-this.gw2.as-i)>=0;)d=te(d-this.gw2.as);const u=d-i,D=u*this.gw2.brr/this.gw1.brr,c=u*this.gw2.brr,h=u*this.gw2.blr;this.msg+=`slack angle: 1: ${L(oe(D))} 2: ${L(oe(u))} degree
20
+ `,this.msg+=`slack on action line: right-2: ${L(c)} left-2: ${L(h)} mm
21
+ `;let g=0;if(this.rightLeftCenter2===0)g=i;else if(this.rightLeftCenter2===1)g=o;else if(this.rightLeftCenter2===2)g=i+u/2;else throw`err221: initAngle2 rightLeftCenter2 ${this.rightLeftCenter2} has an unkown value`;return ht(g)}};function Lt(n,e,a,s,i,_){return new ft(n,e,a,s,i,_)}function St(n,e,a,s,i,_,o,d,u){let D=M(n,e,a);if(s>0){if(i>2*a)throw`err383: axisTorque ribWidth ${L(i)} larger than 2x axisRadius ${L(a)}`;const c=Math.asin(i/(2*a)),h=2*Math.PI/s;if(h-2.5*c<0)throw`err384: axisTorque ribWidth ${L(i)} or ribNb ${s} are too large`;if(o>i/2)throw`err385: axisTorque ribRound1 ${L(o)} too large compare to ribWidth ${L(i)}`;if(o+d>_)throw`err386: axisTorque ribRound12 ${L(o)} ${L(d)} too large compare to ribHeight ${L(i)}`;const g=h-2*c>Math.PI,l=se(n,e),w=l.translatePolar(u,a+_).translatePolar(u+Math.PI/2,i/2);D=B(w.cx,w.cy);for(let V=0;V<s;V++){const F=u+V*h,P=F+h,N=l.translatePolar(F+c,a),f=l.translatePolar(P-c,a),b=l.translatePolar(F,a+_).translatePolar(F+Math.PI/2,i/2),v=l.translatePolar(P,a+_).translatePolar(P-Math.PI/2,i/2);D.addSegStrokeA(b.cx,b.cy).addCornerRounded(o),D.addSegStrokeA(N.cx,N.cy).addCornerRounded(d),D.addPointA(f.cx,f.cy).addSegArc(a,g,!0).addCornerRounded(d),D.addSegStrokeA(v.cx,v.cy).addCornerRounded(o)}D.closeSegStroke()}return D}function wt(n,e,a,s,i,_,o,d){const u=2*Math.PI/i,D=Math.asin(_/(2*s)),c=Math.asin(_/(2*a));if(_>2*s)throw`err905: hollowStraight spokeWidth ${L(_)} too large for hollowInt ${L(s)}`;if(a-s<2.1*o)throw`err906: hollowStraight hollowExt ${L(a)}, hollowInt ${L(s)} and spokeRound ${L(o)} do not fit`;if(u-2*c<2.5*Math.asin(o/a))throw`err907: hollowStraight spokeNb ${i}, spokeWidth ${L(_)} or spokeRound ${L(o)} are too large`;const h=_/(2*Math.sin(u/2)),g=u-2*D<2.1*Math.asin(o/s),l=u-2*c>Math.PI,r=se(n,e),w=[];for(let V=0;V<i;V++){const F=d+V*u,P=F+u,N=F+u/2,f=r.translatePolar(F+c,a),R=r.translatePolar(P-c,a),b=r.translatePolar(P-D,s),A=r.translatePolar(F+D,s),v=r.translatePolar(N,h),H=B(f.cx,f.cy);H.addCornerRounded(o),H.addPointA(R.cx,R.cy).addSegArc(a,l,!0).addCornerRounded(o),g?H.addSegStrokeA(v.cx,v.cy).addCornerRounded(o):(H.addSegStrokeA(b.cx,b.cy).addCornerRounded(o),H.addPointA(A.cx,A.cy).addSegArc(s,l,!1).addCornerRounded(o)),H.closeSegStroke(),w.push(H)}return w}function Xe(n,e,a,s,i,_,o,d,u,D){const c=D?1:-1,h=n/2,g=h+e,l=g+a,r=B(0,-l);return r.addSegStrokeA(c*s,-l).addCornerRounded(o).addSegStrokeA(c*s,-g).addCornerRounded(d).addSegStrokeA(c*i,-g).addSegStrokeA(c*_,-h).addCornerRounded(u).addSegStrokeA(c*_,h).addCornerRounded(u).addSegStrokeA(c*i,g).addSegStrokeA(c*s,g).addCornerRounded(d).addSegStrokeA(c*s,l).addCornerRounded(o).addSegStrokeA(0,l).closeSegStroke(),r}var je={partName:"gear_wheel_wheel",params:[t("module","mm",10,.1,100,.1),t("N1","scalar",23,3,1e3,1),t("N2","scalar",19,3,1e3,1),t("angleCenterCenter","degree",0,-180,180,1),t("addInterAxis","mm",0,0,100,.05),t("c1x","mm",0,-200,200,1),t("c1y","mm",0,-200,200,1),Ve("Tooth Profile"),t("ah1","scalar",1,.1,2,.05),t("dh1","scalar",1,.1,2,.05),t("bh1","scalar",.25,.1,2,.05),t("bRound1","mm",2,0,50,.1),t("ah2","scalar",1,.1,2,.05),t("dh2","scalar",1,.1,2,.05),t("bh2","scalar",.25,.1,2,.05),t("bRound2","mm",2,0,50,.1),t("at1","%",50,10,90,.5),t("at2","%",50,10,90,.5),re("involSym",!0),He("involROpt",["Optimum","Base-1","Base-2","PressureAngle","FreeBase-12"]),He("involLOpt",["Optimum","Base-1","Base-2","PressureAngle","FreeBase-12"]),t("brr1","mm",50,10,2e3,.05),t("brr2","mm",50,10,2e3,.05),t("blr1","mm",50,10,2e3,.05),t("blr2","mm",50,10,2e3,.05),t("involArcPairs1","scalar",2,1,40,1),t("involArcPairs2","scalar",2,1,40,1),t("skinThickness1","mm",0,-3,3,.01),t("skinThickness2","mm",0,-3,3,.01),t("initAngle1","degree",0,-180,180,1),He("gw2Position",["right","left","center"]),Ve("Inner"),re("centralAxis",!0),t("axisRadius","mm",10,.1,200,.1),t("ribNb","scalar",5,0,32,1),t("ribWidth","mm",8,1,100,.1),t("ribHeight","mm",8,1,100,.1),t("ribRound1","mm",2,0,20,.1),t("ribRound2","mm",2,0,20,.1),re("hollow",!0),t("materialHeightExt","mm",20,1,200,.5),t("materialHeightInt","mm",15,1,200,.5),t("spokeNb","scalar",5,1,18,1),t("spokeWidth","mm",15,1,200,.1),t("spokeRound","mm",10,0,20,.1),Ve("Axis"),re("centralAxis",!0),re("wheelAxis",!0),t("wheelHeight","mm",40,.1,400,.1),t("wheelMidExtra","mm",6,0,10,.1),t("wheelAxisLength","mm",40,0,400,.1),t("wheelAxisRadius","mm",20,0,200,.1),t("wheelMidRadius","mm",60,0,200,.1),t("wheelRadiusExtra","mm",1,0,20,.1),t("wheelAxisExtRound","mm",4,0,20,.1),t("wheelAxisIntRound","mm",0,0,20,.1),t("wheelExtraRound","mm",4,0,20,.1)],paramSvg:{module:"default_param_blank.svg",N1:"default_param_blank.svg",N2:"default_param_blank.svg",angleCenterCenter:"default_param_blank.svg",addInterAxis:"default_param_blank.svg",c1x:"default_param_blank.svg",c1y:"default_param_blank.svg",ah1:"default_param_blank.svg",dh1:"default_param_blank.svg",bh1:"default_param_blank.svg",bRound1:"default_param_blank.svg",ah2:"default_param_blank.svg",dh2:"default_param_blank.svg",bh2:"default_param_blank.svg",bRound2:"default_param_blank.svg",at1:"default_param_blank.svg",at2:"default_param_blank.svg",involSym:"default_param_blank.svg",involROpt:"default_param_blank.svg",involLOpt:"default_param_blank.svg",brr1:"default_param_blank.svg",brr2:"default_param_blank.svg",blr1:"default_param_blank.svg",blr2:"default_param_blank.svg",involArcPairs1:"default_param_blank.svg",skinThickness1:"default_param_blank.svg",involArcPairs2:"default_param_blank.svg",skinThickness2:"default_param_blank.svg",initAngle1:"default_param_blank.svg",gw2Position:"default_param_blank.svg",centralAxis:"default_param_blank.svg",axisRadius:"default_param_blank.svg",ribNb:"default_param_blank.svg",ribWidth:"default_param_blank.svg",ribHeight:"default_param_blank.svg",ribRound1:"default_param_blank.svg",ribRound2:"default_param_blank.svg",hollow:"default_param_blank.svg",materialHeightExt:"default_param_blank.svg",materialHeightInt:"default_param_blank.svg",spokeNb:"default_param_blank.svg",spokeWidth:"default_param_blank.svg",spokeRound:"default_param_blank.svg",wheelAxis:"default_param_blank.svg",wheelHeight:"default_param_blank.svg",wheelMidExtra:"default_param_blank.svg",wheelAxisLength:"default_param_blank.svg",wheelAxisRadius:"default_param_blank.svg",wheelMidRadius:"default_param_blank.svg",wheelRadiusExtra:"default_param_blank.svg",wheelAxisExtRound:"default_param_blank.svg",wheelAxisIntRound:"default_param_blank.svg",wheelExtraRound:"default_param_blank.svg"},sim:{tMax:100,tStep:.5,tUpdate:500}};function Ht(n,e,a=""){const s=le(je.partName+a),i=I(),_=I();s.logstr+=`${s.partName} simTime: ${n}
22
+ `;try{const o=Ye(),d=Ye();o.set1ModuleToothNumber(e.module,e.N1),d.set1ModuleToothNumber(e.module,e.N2),o.set2CenterPosition(e.c1x,e.c1y);const u=Pe(e.angleCenterCenter),[D,c,h]=ut(o,d,u,e.addInterAxis);d.set2CenterPosition(D,c),o.set3CircleRadius(e.ah1,e.dh1,e.bh1,e.bRound1),d.set3CircleRadius(e.ah2,e.dh2,e.bh2,e.bRound2);const[g,l,r,w]=_t(o,d,e.brr1,e.blr1,e.brr2,e.blr2,e.involSym,e.involROpt,e.involROpt);o.set4BaseCircles(g,l),d.set4BaseCircles(r,w),o.set5AddendumThickness(e.at1),d.set5AddendumThickness(e.at2);const V=Pe(e.initAngle1)+n*3*o.as/100;o.set6Angles(V,u);const F=Lt(o,d,V,u,h,e.gw2Position);F.prepare();for(const A of F.getContours())i.addDynamics(A);i.addPoints(F.getContactPoint()),d.set6Angles(F.getInitAngle2(),u+Math.PI),s.logstr+=F.getMsg(),o.set7InvoluteDetails(e.involArcPairs1,e.skinThickness1),d.set7InvoluteDetails(e.involArcPairs2,e.skinThickness2);for(const A of o.getRefCircles())i.addDynamics(A);for(const A of d.getRefCircles())i.addDynamics(A);i.addDynamics(o.getToothRef()),i.addDynamics(d.getToothRef());const P=o.getProfile();if(s.logstr+=o.getMsg(),s.logstr+=P.check(),i.addMain(P),e.centralAxis===1){const A=St(o.cx,o.cy,e.axisRadius,e.ribNb,e.ribWidth,e.ribHeight,e.ribRound1,e.ribRound2,V);s.logstr+=A.check(),i.addMain(A)}if(e.hollow===1){const A=o.br,v=e.axisRadius+e.ribHeight,H=A-e.materialHeightExt,S=v+e.materialHeightInt;if(S>H)throw`err902: hollowMaterialInt ${L(S)} bigger than hollowMaterialExt ${L(H)}`;const $=wt(o.cx,o.cy,H,S,e.spokeNb,e.spokeWidth,e.spokeRound,V);for(const y of $)s.logstr+=y.check(),i.addMain(y)}const N=d.getProfile();s.logstr+=N.check(),i.addSecond(N);const f=o.ar+e.wheelRadiusExtra;if(e.wheelAxis===1){const A=Xe(e.wheelHeight,e.wheelMidExtra,e.wheelAxisLength,e.wheelAxisRadius,e.wheelMidRadius,f,e.wheelAxisExtRound,e.wheelAxisIntRound,e.wheelExtraRound,!0),v=Xe(e.wheelHeight,e.wheelMidExtra,e.wheelAxisLength,e.wheelAxisRadius,e.wheelMidRadius,f,e.wheelAxisExtRound,e.wheelAxisIntRound,e.wheelExtraRound,!1);_.addMain(A),_.addSecond(v)}else{const A=B(0,-e.wheelHeight/2).addSegStrokeR(0,e.wheelHeight).addSegStrokeR(f,0).addSegStrokeR(0,-e.wheelHeight).closeSegStroke(),v=B(0,-e.wheelHeight/2).addSegStrokeR(0,e.wheelHeight).addSegStrokeR(-f,0).addSegStrokeR(0,-e.wheelHeight).closeSegStroke();_.addMain(A),_.addSecond(v)}s.fig={teethProfile:i,axisProfile:_};const R=s.partName,b=e.wheelHeight/2+e.wheelMidExtra+e.wheelAxisLength+10;s.vol={extrudes:[{outName:`subpax_${R}_teethProfile`,face:`${R}_teethProfile`,extrudeMethod:z.eLinearOrtho,length:2*b,rotate:[0,0,0],translate:[0,0,-b]},{outName:`subpax_${R}_axisProfile`,face:`${R}_axisProfile`,extrudeMethod:z.eRotate,rotate:[0,0,0],translate:[0,0,0]}],volumes:[{outName:`pax_${R}`,boolMethod:J.eIntersection,inList:[`subpax_${R}_teethProfile`,`subpax_${R}_axisProfile`]}]},s.logstr+=`gear_wheel_wheel drawn successfully!
23
+ `,s.calcErr=!1}catch(o){s.logstr+=o,console.log(o)}return s}var Ie={pTitle:"Gearwheel-gearwheel",pDescription:"Gear-system with two wheels",pDef:je,pGeom:Ht},Ze={partName:"simplified_gear_wheel",params:[t("module","mm",10,.1,100,.1),t("N1","scalar",23,3,1e3,1),t("c1x","mm",0,-200,200,1),t("c1y","mm",0,-200,200,1),re("centralAxis",!0),t("axisRadius","mm",10,.1,200,.1),t("ribNb","scalar",5,0,32,1),t("ribWidth","mm",8,1,100,.1),t("ribHeight","mm",8,1,100,.1),t("ribRound1","mm",2,0,20,.1),t("ribRound2","mm",2,0,20,.1),re("hollow",!0),t("materialHeightExt","mm",20,1,200,.5),t("materialHeightInt","mm",15,1,200,.5),t("spokeNb","scalar",5,1,18,1),t("spokeWidth","mm",15,1,200,.1),t("spokeRound","mm",10,0,20,.1),re("wheelAxis",!0),t("wheelHeight","mm",40,.1,400,.1),t("wheelMidExtra","mm",6,0,10,.1),t("wheelAxisLength","mm",40,0,400,.1),t("wheelAxisRadius","mm",20,0,200,.1),t("wheelMidRadius","mm",60,0,200,.1),t("wheelRadiusExtra","mm",1,0,20,.1),t("wheelAxisExtRound","mm",4,0,20,.1),t("wheelAxisIntRound","mm",0,0,20,.1),t("wheelExtraRound","mm",4,0,20,.1)],paramSvg:{module:"default_param_blank.svg",N1:"default_param_blank.svg",c1x:"default_param_blank.svg",c1y:"default_param_blank.svg",centralAxis:"default_param_blank.svg",axisRadius:"default_param_blank.svg",ribNb:"default_param_blank.svg",ribWidth:"default_param_blank.svg",ribHeight:"default_param_blank.svg",ribRound1:"default_param_blank.svg",ribRound2:"default_param_blank.svg",hollow:"default_param_blank.svg",materialHeightExt:"default_param_blank.svg",materialHeightInt:"default_param_blank.svg",spokeNb:"default_param_blank.svg",spokeWidth:"default_param_blank.svg",spokeRound:"default_param_blank.svg",wheelAxis:"default_param_blank.svg",wheelHeight:"default_param_blank.svg",wheelMidExtra:"default_param_blank.svg",wheelAxisLength:"default_param_blank.svg",wheelAxisRadius:"default_param_blank.svg",wheelMidRadius:"default_param_blank.svg",wheelRadiusExtra:"default_param_blank.svg",wheelAxisExtRound:"default_param_blank.svg",wheelAxisIntRound:"default_param_blank.svg",wheelExtraRound:"default_param_blank.svg"},sim:{tMax:100,tStep:.5,tUpdate:500}};function Dt(n,e,a=""){const s=le(Ze.partName+a),i=I(),_=I();s.logstr+=`${s.partName} simTime: ${n}
24
+ `;try{const o=ce(Ie.pDef,"_ref1");o.setVal("module",e.module),o.setVal("N1",e.N1),o.setVal("c1x",e.c1x),o.setVal("c1y",e.c1y),o.setVal("centralAxis",e.centralAxis),o.setVal("axisRadius",e.axisRadius),o.setVal("ribNb",e.ribNb),o.setVal("ribWidth",e.ribWidth),o.setVal("ribHeight",e.ribHeight),o.setVal("ribRound1",e.ribRound1),o.setVal("ribRound2",e.ribRound2),o.setVal("hollow",e.hollow),o.setVal("materialHeightExt",e.materialHeightExt),o.setVal("materialHeightInt",e.materialHeightInt),o.setVal("spokeNb",e.spokeNb),o.setVal("spokeWidth",e.spokeWidth),o.setVal("spokeRound",e.spokeRound),o.setVal("wheelAxis",e.wheelAxis),o.setVal("wheelHeight",e.wheelHeight),o.setVal("wheelMidExtra",e.wheelMidExtra),o.setVal("wheelAxisLength",e.wheelAxisLength),o.setVal("wheelAxisRadius",e.wheelAxisRadius),o.setVal("wheelMidRadius",e.wheelMidRadius),o.setVal("wheelRadiusExtra",e.wheelRadiusExtra),o.setVal("wheelAxisExtRound",e.wheelAxisExtRound),o.setVal("wheelAxisIntRound",e.wheelAxisIntRound),o.setVal("wheelExtraRound",e.wheelExtraRound);const d=Ie.pGeom(n,o.getParamVal(),o.getSuffix());he(d),s.logstr+=ge(d.logstr,o.getPartNameSuffix()),i.mergeFigure(d.fig.teethProfile),_.mergeFigure(d.fig.axisProfile),s.fig={teethProfile:i,axisProfile:_};const u=s.partName;s.vol={inherits:[{outName:`inpax_${u}_gearWW`,subdesign:"pax_gear_wheel_wheel_ref1",subgeom:d,rotate:[0,0,0],translate:[0,0,0]}],extrudes:[],volumes:[{outName:`pax_${u}`,boolMethod:J.eIdentity,inList:[`inpax_${u}_gearWW`]}]};const D={partName:o.getPartName(),dparam:o.getDesignParamList(),orientation:[0,0,0],position:[0,0,0]};s.sub={gear_wheel_wheel_1:D},s.logstr+=`simplified_gear_wheel drawn successfully!
25
+ `,s.calcErr=!1}catch(o){s.logstr+=o,console.log(o)}return s}var bt={pTitle:"Simplified gearwheel",pDescription:"One simplified gearwheel without details on teeth-profile",pDef:Ze,pGeom:Dt},Je={partName:"pole_static",params:[t("D1","mm",1e3,20,4e3,1),t("D2","mm",700,10,4e3,1),t("D3","mm",800,10,4e3,1),t("H1","mm",3e3,10,4e4,10),t("H2","mm",7e3,50,4e4,10),t("E1","mm",30,1,80,1),t("E2","mm",5,1,80,1),t("N1","",32,3,100,1),t("D5","mm",40,1,100,1),t("L1","mm",45,1,300,1),t("D4","mm",600,1,1200,1),t("H3","mm",300,5,1200,1),t("H4","mm",1800,10,2500,1),t("L2","mm",30,1,100,1),t("E3","mm",40,1,100,1)],paramSvg:{D1:"pole_stator_cut.svg",D2:"pole_stator_cut.svg",D3:"pole_stator_cut.svg",H1:"pole_stator_cut.svg",H2:"pole_stator_cut.svg",E1:"pole_stator_cut.svg",E2:"pole_stator_E2.svg",N1:"pole_stator_bottom.svg",D5:"pole_stator_bottom.svg",L1:"pole_stator_bottom.svg",D4:"pole_stator_face.svg",H3:"pole_stator_face.svg",H4:"pole_stator_face.svg",L2:"pole_stator_face.svg",E3:"pole_stator_right.svg"},sim:{tMax:180,tStep:.5,tUpdate:500}};function $t(n,e,a=""){const s=le(Je.partName+a);let i,_;const o=I(),d=I(),u=I(),D=I(),c=I();s.logstr+=`${s.partName} simTime: ${n}
26
+ `;try{const h=e.D1/2,g=e.D2/2,l=e.D3/2;if(g>h)throw`err091: D2 ${e.D2} is larger than D1 ${e.D1}`;if(l+e.E2>h)throw`err095: D3 ${e.D3} and E2 ${e.E2} are too large compare to D1 ${e.D1}`;const r=e.H1+e.H2;s.logstr+=`pole-height: ${L(r)} mm
27
+ `;const w=Math.atan2(h-g,e.H2);s.logstr+=`cone-half-angle: ${L(oe(w))} degree
28
+ `;const V=e.E2*Math.tan(w/2),F=e.H1-V;i=function(H,S){const $=B(H*h,0).addSegStrokeA(H*h,e.H1).addSegStrokeA(H*g,r).addSegStrokeR(-H*e.E2*Math.cos(w),-e.E2*Math.sin(w)).addSegStrokeA(H*(h-e.E2),F);return S?$.addSegStrokeA(H*(h-e.E2),e.E1).addSegStrokeA(H*l,e.E1).addSegStrokeA(H*l,0):$.addSegStrokeA(H*(h-e.E2),0),$.closeSegStroke(),$},o.addMain(i(1,!1)),o.addSecond(i(1,!0)),o.addSecond(i(-1,!0));const P=e.D4/2,N=e.H4-2*P;if(N<0)throw`err121: H4 ${e.H4} is too small compare to D4 ${e.D4}`;if(P-e.L2<0)throw`err121: D4 ${e.D4} is too small compare to L2 ${e.L2}`;_=function(H){const S=P-H,$=e.H3+P;return B(S,$+N).addPointR(-S,S).addSegArc(S,!1,!0).addPointR(-S,-S).addSegArc(S,!1,!0).addSegStrokeR(0,-N).addPointR(S,-S).addSegArc(S,!1,!0).addPointR(S,S).addSegArc(S,!1,!0).closeSegStroke()},d.addMain(_(0)),d.addMain(_(e.L2));const f=B(h,0).addSegStrokeA(h,e.H1).addSegStrokeA(g,r).addSegStrokeA(-g,r).addSegStrokeA(-h,e.H1).addSegStrokeA(-h,0).closeSegStroke();d.addSecond(f);const R=B(-h,e.H3).addSegStrokeR(0,e.H4).addSegStrokeR(-e.E3,0).addSegStrokeR(0,-e.H4).closeSegStroke();d.addSecond(R),u.addMain(M(0,0,h)),u.addMain(M(0,0,l));const b=l+e.L1,A=2*Math.PI/e.N1;for(let H=0;H<e.N1;H++){const S=b*Math.cos(H*A),$=b*Math.sin(H*A);u.addMain(M(S,$,e.D5/2))}u.addSecond(M(0,0,g)),u.addSecond(M(0,0,h-e.E2)),D.addMain(M(0,0,h+e.E3)),D.addMain(M(0,0,h-e.E2)),c.addMain(_(e.L2)),s.fig={poleCut:o,poleFace:d,poleBottom:u,emptyPole:D,emptyDoor:c};const v=s.partName;s.vol={extrudes:[{outName:`subpax_${v}_pole`,face:`${v}_poleCut`,extrudeMethod:z.eRotate,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${v}_bottom`,face:`${v}_poleBottom`,extrudeMethod:z.eLinearOrtho,length:e.E1,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${v}_door`,face:`${v}_poleFace`,extrudeMethod:z.eLinearOrtho,length:h+e.E3,rotate:[Math.PI/2,0,0],translate:[0,0,0]},{outName:`subpax_${v}_emptyPole`,face:`${v}_emptyPole`,extrudeMethod:z.eLinearOrtho,length:e.H1,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${v}_emptyDoor`,face:`${v}_emptyDoor`,extrudeMethod:z.eLinearOrtho,length:h+e.E3+10,rotate:[Math.PI/2,0,0],translate:[0,0,0]}],volumes:[{outName:`ipax_${v}_door`,boolMethod:J.eIntersection,inList:[`subpax_${v}_door`,`subpax_${v}_emptyPole`]},{outName:`ipax_${v}_pole`,boolMethod:J.eSubstraction,inList:[`subpax_${v}_pole`,`subpax_${v}_emptyDoor`]},{outName:`pax_${v}`,boolMethod:J.eUnion,inList:[`ipax_${v}_pole`,`subpax_${v}_bottom`,`ipax_${v}_door`]}]},s.sub={},s.logstr+=`pole_static drawn successfully!
29
+ `,s.calcErr=!1}catch(h){s.logstr+=h,console.log(h)}return s}var be={pTitle:"Heliostat pole static",pDescription:"The vertical pole of an heliostat",pDef:Je,pGeom:$t},Ke={partName:"rake",params:[t("D1","mm",600,10,4e3,10),t("D2","mm",400,10,4e3,10),t("D3","mm",400,10,4e3,10),t("H1","mm",800,1,4e3,10),t("H2","mm",3e3,20,6e3,10),t("H3","mm",400,0,4e3,10),t("E1","mm",20,1,80,1),t("E3","mm",30,1,80,1),t("H4","mm",400,10,1e3,10),t("D4","mm",300,10,1e3,10),t("E4","mm",20,1,80,1),t("H5","mm",1e3,10,2e3,10),t("D5","mm",200,1,1e3,10),t("L4","mm",300,1,1e3,10),t("L5","mm",2e3,10,4e3,10),t("L6","mm",2e3,1,4e3,10),t("D6","mm",100,1,600,10),t("E6","mm",10,1,80,1),t("L7","mm",100,1,1e3,1),t("L8","mm",200,1,1e3,1),t("N1","",24,3,100,1),t("D7","mm",40,1,100,1),t("L1","mm",30,1,300,1),t("D8","mm",400,1,1e3,10),t("H6","mm",100,1,1e3,10),t("H7","mm",600,10,2e3,10),t("L9","mm",300,1,1e3,10),t("R9","mm",50,0,300,1)],paramSvg:{D1:"rake_face.svg",D2:"rake_face.svg",D3:"rake_face.svg",H1:"rake_face.svg",H2:"rake_face.svg",H3:"rake_face.svg",E1:"rake_face.svg",E3:"rake_face.svg",H4:"rake_side.svg",D4:"rake_side.svg",E4:"rake_side.svg",H5:"rake_side.svg",D5:"rake_side.svg",L4:"rake_face.svg",L5:"rake_face.svg",L6:"rake_face.svg",D6:"rake_face.svg",E6:"rake_face.svg",L7:"rake_face.svg",L8:"rake_face.svg",N1:"rake_top.svg",D7:"rake_top.svg",L1:"rake_top.svg",D8:"rake_side.svg",H6:"rake_door.svg",H7:"rake_door.svg",L9:"rake_door.svg",R9:"rake_door.svg"},sim:{tMax:180,tStep:.5,tUpdate:500}};function vt(n,e,a=""){const s=le(Ke.partName+a);let i,_,o;const d=I(),u=I(),D=I(),c=I(),h=I(),g=I(),l=I(),r=I();s.logstr+=`${s.partName} simTime: ${n}
30
+ `;try{const w=e.D1/2,V=e.D2/2,F=e.D3/2,P=e.D4/2,N=e.D5/2,f=e.D6/2,R=e.D7/2,b=e.D8/2,A=e.H1+e.H2,v=A-e.H4+e.H5;if(s.logstr+=`cone-height: ${L(A)} mm
31
+ `,s.logstr+=`cone-height total: ${L(v)} mm
32
+ `,e.D2>e.D1)throw`err110: D2 ${e.D2} is larger than D1 ${e.D1}`;if(e.D3+e.E1>e.D1)throw`err113: D3 ${e.D3} is too large compare to D1 ${e.D1} and E1 ${e.E1}`;if(e.H3+e.E3>e.H1)throw`err116: H3 ${e.H3} is too large compare to H1 ${e.H1} and E3 ${e.E3}`;if(e.H4+P>e.H2)throw`err119: H4 ${e.H4} is too large compare to H2 ${e.H2} and D4 ${e.D4}`;if(e.E4>P)throw`err122: E4 ${e.E4} is too large compare to D4 ${e.D4}`;if(e.D8<=e.D5)throw`err146: D8 ${e.D8} is too small compare to D5 ${e.D5}`;const H=4*e.L4+e.L5+2*e.L6,S=e.H1+e.H2-e.H4,$=P*Math.cos(Math.PI/6),y=P*Math.sin(Math.PI/6),x=N*Math.cos(Math.PI/6),X=N*Math.sin(Math.PI/6),T=b*Math.cos(Math.PI/6),m=b*Math.sin(Math.PI/6),p=[-H/2,-e.L5/2-e.L4,e.L5/2,H/2-e.L4],W=e.H2-e.L8-e.H4-P;if(W<0)throw`err140: H2 ${e.H2} too small compare to L8 ${e.L8}, H4 ${e.H4} and D4 ${e.D4}`;const j=Math.atan2(w-V,e.H2);s.logstr+=`cone-angle: ${L(oe(j))} degree
33
+ `;const Q=H/2-e.L7-w+e.L8*Math.tan(j),ne=Math.sqrt(Q**2+W**2),q=Math.atan2(Q,W);s.logstr+=`wing-angle: ${L(oe(q))} degree
34
+ `;const ee=e.E1/Math.sin(q+j),O=ne+e.E4/Math.cos(q)+ee,k=w-e.L8*Math.tan(j)-ee*Math.sin(q),E=e.H1+e.L8-ee*Math.cos(q),Z=k-f*Math.cos(q),G=E+f*Math.sin(q),K=f-e.E6,ie=k-e.E6*Math.cos(q),de=E+e.E6*Math.sin(q),_e=Math.PI/2-q,Se=e.L9/2,fe=Se-e.H7*Math.tan(j);if(fe<e.R9)throw`err177: R9 ${e.R9} too large compare to doorHighX ${fe} and L9 ${e.L9}`;if(e.L9>e.D1)throw`err180: L9 ${e.L9} too large compare to D1 ${e.D1}`;const De=e.E1*Math.cos(j),Ae=e.E1*Math.sin(j),ze=e.E1*Math.tan(j/2);i=function(Y){return B(Y*w,0).addSegStrokeA(Y*w,e.H1).addSegStrokeA(Y*V,A).addSegStrokeA(Y*(V-De),A-Ae).addSegStrokeA(Y*(w-e.E1),e.H1-ze).addSegStrokeA(Y*(w-e.E1),0).closeSegStroke()},_=function(Y){return B(Y*w,0).addSegStrokeA(Y*w,e.H1).addSegStrokeA(Y*V,A).addSegStrokeA(Y*(V-De),A-Ae).addSegStrokeA(Y*(w-e.E1),e.H1-ze).addSegStrokeA(Y*(w-e.E1),e.H1-e.H3).addSegStrokeA(Y*F,e.H1-e.H3).addSegStrokeA(Y*F,e.H1-e.H3-e.E3).addSegStrokeA(Y*(w-e.E1),e.H1-e.H3-e.E3).addSegStrokeA(Y*(w-e.E1),0).closeSegStroke()},o=function(Y,ae,Le,xe,Me){const Ge=Y*Math.cos(Me),pe=Y*Math.sin(Me),We=-ae*Math.sin(Me),qe=ae*Math.cos(Me);return B(Le,xe).addSegStrokeA(Le+Ge,xe+pe).addSegStrokeA(Le+Ge+We,xe+pe+qe).addSegStrokeA(Le+We,xe+qe).closeSegStroke()};const Re=B(Se,e.H1+e.H6).addCornerRounded(e.R9).addSegStrokeA(fe,e.H1+e.H6+e.H7).addCornerRounded(e.R9).addSegStrokeA(-fe,e.H1+e.H6+e.H7).addCornerRounded(e.R9).addSegStrokeA(-Se,e.H1+e.H6).addCornerRounded(e.R9).closeSegStroke();d.addMain(i(1)),d.addSecond(_(1)),d.addSecond(_(-1)),d.addSecond(o(H,e.D4,-H/2,S-P,0)),d.addSecond(o(H,e.D4-2*e.E4,-H/2,S-P+e.E4,0));for(const Y of p)d.addSecond(o(e.L4,e.H5-y-X,Y,S+y,0));d.addSecond(o(O,2*f,k,E,_e)),d.addSecond(o(O,2*K,ie,de,_e)),d.addSecond(o(2*f,O,-k,E,q)),d.addSecond(o(2*K,O,-ie,de,q)),d.addSecond(Re);const Ne=B($,S+y).addSegStrokeA(T,S+e.H5-m).addSegStrokeA(x,S+e.H5-X).addPointA(-x,S+e.H5-X).addSegArc(N,!1,!1).addSegStrokeA(-T,S+e.H5-m).addSegStrokeA(-$,S+y).closeSegArc(P,!1,!1);u.addMain(M(0,S,P)),u.addMain(M(0,S,P-e.E4)),u.addSecond(_(1)),u.addSecond(_(-1)),u.addSecond(Ne),u.addSecond(M(0,S+e.H5,N)),u.addSecond(o(2*f,W,-f,e.H1+e.L8,0)),u.addSecond(o(2*K,W,-K,e.H1+e.L8,0)),u.addSecond(Re),D.addMain(M(0,S,P-e.E4)),D.addSecond(M(0,S,P)),D.addSecond(Ne),c.addMain(M(0,0,w)),c.addMain(M(0,0,F));const Be=F+e.L1,Ue=2*Math.PI/e.N1;for(let Y=0;Y<e.N1;Y++){const ae=Be*Math.cos(Y*Ue),Le=Be*Math.sin(Y*Ue);c.addMain(M(ae,Le,R))}c.addSecond(M(0,0,w-e.E1)),c.addSecond(M(0,0,V)),c.addSecond(o(e.D4,H,-P,-H/2,0)),c.addSecond(o(e.D4-2*e.E4,H,-P+e.E4,-H/2,0));for(const Y of p)c.addSecond(o(2*$,e.L4,-$,Y,0)),c.addSecond(o(2*x,e.L4,-x,Y,0)),c.addSecond(o(2*T,e.L4,-T,Y,0));c.addSecond(o(2*f,Q,-f,w-e.L8*Math.tan(j),0)),c.addSecond(o(2*K,Q,-K,w-e.L8*Math.tan(j),0)),c.addSecond(o(2*f,Q,-f,-w+e.L8*Math.tan(j)-Q,0)),c.addSecond(o(2*K,Q,-K,-w+e.L8*Math.tan(j)-Q,0)),h.addMain(Ne),h.addSecond(M(0,S,P)),h.addSecond(M(0,S,P-e.E4)),h.addSecond(M(0,S+e.H5,N)),g.addMain(M(0,0,f)),g.addMain(M(0,0,K)),l.addSecond(M(0,0,f)),l.addMain(M(0,0,K)),r.addMain(Re),r.addSecond(_(1)),r.addSecond(_(-1)),r.addSecond(o(H,e.D4,-H/2,S-P,0)),r.addSecond(o(H,e.D4-2*e.E4,-H/2,S-P+e.E4,0));for(const Y of p)r.addSecond(o(e.L4,e.H5-y-X,Y,S+y,0));r.addSecond(o(O,2*f,k,E,_e)),r.addSecond(o(O,2*K,ie,de,_e)),r.addSecond(o(2*f,O,-k,E,q)),r.addSecond(o(2*K,O,-ie,de,q)),s.fig={faceCone:d,faceBeam:u,faceBeamHollow:D,faceDisc:c,faceHand:h,faceWing:g,faceWingHollow:l,faceDoor:r};const U=s.partName,rt=p.map((Y,ae)=>({outName:`subpax_${U}_hand_${ae}`,face:`${U}_faceHand`,extrudeMethod:z.eLinearOrtho,length:e.L4,rotate:[Math.PI/2,0,0],translate:[0,-Y,0]}));s.vol={extrudes:[{outName:`subpax_${U}_cone`,face:`${U}_faceCone`,extrudeMethod:z.eRotate,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${U}_beam`,face:`${U}_faceBeam`,extrudeMethod:z.eLinearOrtho,length:H,rotate:[Math.PI/2,0,0],translate:[0,H/2,0]},{outName:`subpax_${U}_beamHollow`,face:`${U}_faceBeamHollow`,extrudeMethod:z.eLinearOrtho,length:H,rotate:[Math.PI/2,0,0],translate:[0,H/2,0]},{outName:`subpax_${U}_disc`,face:`${U}_faceDisc`,extrudeMethod:z.eLinearOrtho,length:e.E3,rotate:[0,0,0],translate:[0,0,e.H1-e.H3-e.E3]},{outName:`subpax_${U}_wing_right`,face:`${U}_faceWing`,extrudeMethod:z.eLinearOrtho,length:O,rotate:[-q,0,0],translate:[0,Z,G]},{outName:`subpax_${U}_wing_left`,face:`${U}_faceWing`,extrudeMethod:z.eLinearOrtho,length:O,rotate:[q,0,0],translate:[0,-Z,G]},{outName:`subpax_${U}_wing_hollow_right`,face:`${U}_faceWingHollow`,extrudeMethod:z.eLinearOrtho,length:O,rotate:[-q,0,0],translate:[0,Z,G]},{outName:`subpax_${U}_wing_hollow_left`,face:`${U}_faceWingHollow`,extrudeMethod:z.eLinearOrtho,length:O,rotate:[q,0,0],translate:[0,-Z,G]},{outName:`subpax_${U}_door`,face:`${U}_faceDoor`,extrudeMethod:z.eLinearOrtho,length:e.D1,rotate:[Math.PI/2,0,Math.PI/2],translate:[0,0,0]},...rt],volumes:[{outName:`ipax_${U}_plus`,boolMethod:J.eUnion,inList:[`subpax_${U}_cone`,`subpax_${U}_beam`,`subpax_${U}_disc`,`subpax_${U}_hand_0`,`subpax_${U}_hand_1`,`subpax_${U}_hand_2`,`subpax_${U}_hand_3`,`subpax_${U}_wing_right`,`subpax_${U}_wing_left`]},{outName:`ipax_${U}_hollow`,boolMethod:J.eUnion,inList:[`subpax_${U}_beamHollow`,`subpax_${U}_wing_hollow_right`,`subpax_${U}_wing_hollow_left`,`subpax_${U}_door`]},{outName:`pax_${U}`,boolMethod:J.eSubstraction,inList:[`ipax_${U}_plus`,`ipax_${U}_hollow`]}]},s.sub={},s.logstr+=`heliostat-rake drawn successfully!
35
+ `,s.calcErr=!1}catch(w){s.logstr+=w,console.log(w)}return s}var $e={pTitle:"Heliostat rake",pDescription:"The rake on top of the pole-rotor of the heliostat",pDef:Ke,pGeom:vt},Fe={partName:"spider",params:[t("D1","mm",100,1,400,1),t("L1","mm",400,1,1e3,1),t("L2","mm",400,1,1e3,1),t("L3","mm",100,1,400,1),t("L4","mm",3e3,10,8e3,10),t("L5","mm",2e3,1,8e3,1),t("L6","mm",30,1,100,1),t("E1","mm",3,1,80,1),t("E2","mm",50,1,200,1),t("E3","mm",3,1,80,1),t("R2","mm",100,0,400,10),t("N1","",6,1,20,1)],paramSvg:{D1:"spider_profile.svg",L1:"spider_profile.svg",L2:"spider_profile.svg",L3:"spider_profile.svg",L4:"spider_profile.svg",L5:"spider_lateral.svg",L6:"spider_lateral.svg",E1:"spider_profile.svg",E2:"spider_profile.svg",E3:"spider_profile.svg",R2:"spider_profile.svg",N1:"spider_lateral.svg"},sim:{tMax:360,tStep:.5,tUpdate:500}};function xt(n,e,a=""){const s=le(Fe.partName+a);let i,_;const o=I(),d=I(),u=I();s.logstr+=`${s.partName} simTime: ${n}
36
+ `;try{const D=e.D1/2;if(e.D1<e.E2)throw`err476: D1 ${e.D1} smaller then E2 ${e.E2}`;const c=e.E2/2,h=Math.sqrt(D**2-c**2),g=e.L1+e.L2*Math.sqrt(2),l=e.L2+e.L1*Math.sqrt(2),r=e.L4-l;if(r<e.R2)throw`err984: L4 ${e.L4} too small compare to R2 ${e.R2}`;const w=r*Math.cos(Math.PI/4),V=r*Math.sin(Math.PI/4),F=e.E2*Math.cos(Math.PI/4),P=e.E2*Math.sin(Math.PI/4),N=e.E2*Math.tan(Math.PI/8);if(D<e.E1)throw`err092: D1 ${e.D1} too small compare to E1 ${e.E1}`;if(e.L3<e.E2)throw`err994: L3 ${e.L3} smaller than E2 ${e.E2}`;if(e.L3<2*e.E3)throw`err997: L3 ${e.L3} too small compare to E3 ${e.E3}`;const f=(e.L3-e.E2)/2*Math.cos(Math.PI/4),R=g+w+f,b=-e.L1-V+f,A=b-e.E3*Math.sqrt(2);if(e.L5<e.N1*e.L6)throw`err110: L5 ${e.L5} too small compare to N1 ${e.N1} and L6 ${e.L6}`;let v=1;e.N1>1&&(v=(e.L5-e.L6)/(e.N1-1));const H=[...Array(e.N1).keys()].map(T=>T*v);i=function(T,m,p){return B(T,m).addSegStrokeA(T+p*Math.cos(Math.PI/4),m-p*Math.sin(Math.PI/4)).addSegStrokeA(T,m-2*p*Math.sin(Math.PI/4)).addSegStrokeA(T-p*Math.cos(Math.PI/4),m-p*Math.sin(Math.PI/4)).closeSegStroke()},_=function(T,m,p,W){return B(p,W).addSegStrokeA(p+T,W).addSegStrokeA(p+T,W+m).addSegStrokeA(p,W+m).closeSegStroke()};const S=Math.sin(2*Math.PI*n/Fe.sim.tMax)*Math.PI/2;s.logstr+=`spide leg number: ${e.N1}
37
+ `,s.logstr+=`spide position angle: ${L(oe(S))} degree
38
+ `;const $=B(c,-h).addCornerRounded(e.R2).addSegStrokeA(c,-e.L1).addCornerRounded(e.R2).addSegStrokeA(g,-e.L1).addCornerRounded(e.R2+e.E2).addSegStrokeA(g+w,-e.L1-V).addSegStrokeA(g+w-F,-e.L1-V-P).addSegStrokeA(g-N,-e.L1-e.E2).addCornerRounded(e.R2).addSegStrokeA(-g+N,-e.L1-e.E2).addCornerRounded(e.R2).addSegStrokeA(-g-w+F,-e.L1-V-P).addSegStrokeA(-g-w,-e.L1-V).addSegStrokeA(-g,-e.L1).addCornerRounded(e.R2+e.E2).addSegStrokeA(-c,-e.L1).addCornerRounded(e.R2).addSegStrokeA(-c,-h).addCornerRounded(e.R2).closeSegArc(D,!0,!1);o.addMain($),o.addMain(M(0,0,D-e.E1)),o.addSecond(i(R,b,e.L3)),o.addSecond(i(R,A,e.L3-2*e.E3)),o.addSecond(i(-R,b,e.L3)),o.addSecond(i(-R,A,e.L3-2*e.E3)),d.addMain(M(0,0,D)),d.addMain(M(0,0,D-e.E1)),d.addMain(i(R,b,e.L3)),d.addMain(i(R,A,e.L3-2*e.E3)),d.addMain(i(-R,b,e.L3)),d.addMain(i(-R,A,e.L3-2*e.E3)),d.addSecond($),u.addSecond(_(e.L5,e.D1,0,-e.D1/2)),u.addSecond(_(e.L5,e.L3,0,-e.L4-e.L3));for(const T of H)u.addSecond(_(e.L6,e.L4,T,-e.L4));s.fig={faceLegs:o.rotate(0,0,S),faceTube:d.rotate(0,0,S),faceBody:u};const y=s.partName,x=H.map((T,m)=>({outName:`subpax_${y}_leg_${m}`,face:`${y}_faceLegs`,extrudeMethod:z.eLinearOrtho,length:e.L6,rotate:[0,0,0],translate:[0,0,T]})),X=H.map((T,m)=>`subpax_${y}_leg_${m}`);s.vol={extrudes:[{outName:`subpax_${y}_tube`,face:`${y}_faceTube`,extrudeMethod:z.eLinearOrtho,length:e.L5,rotate:[0,0,0],translate:[0,0,0]},...x],volumes:[{outName:`pax_${y}`,boolMethod:J.eUnion,inList:[`subpax_${y}_tube`,...X]}]},s.sub={},s.logstr+=`heliostat-spider drawn successfully!
39
+ `,s.calcErr=!1}catch(D){s.logstr+=D,console.log(D)}return s}var ye={pTitle:"Heliostat spider",pDescription:"The spider part for the control of the inclination of the heliostat",pDef:Fe,pGeom:xt},Qe={partName:"swing",params:[t("L1","mm",12500,100,4e4,10),t("L2","mm",6e3,100,4e4,10),t("L3","mm",500,1,4e3,1),t("L4","mm",600,1,4e3,1),t("L5","mm",2e3,1,1e4,1),t("L6","mm",2e3,1,1e4,1),t("D1","mm",400,1,1e3,1),t("H1","mm",100,1,400,1),t("H2","mm",100,1,400,1),t("H3","mm",100,1,400,1),t("H4","mm",100,1,400,1),t("E1","mm",5,1,80,1),t("E2","mm",3,1,80,1),t("E3","mm",3,1,80,1),t("rod1","",10,1,40,1),t("rod2","mm",1300,10,4e3,10),t("rod3","mm",400,10,1e3,10),t("rod4","mm",100,1,400,1)],paramSvg:{L1:"swing_top.svg",L2:"swing_top.svg",L3:"swing_top.svg",L4:"swing_top.svg",L5:"swing_top.svg",L6:"swing_top.svg",D1:"swing_top.svg",H1:"swing_top.svg",H2:"swing_top.svg",H3:"swing_side.svg",H4:"swing_side.svg",E1:"swing_side.svg",E2:"swing_side.svg",E3:"swing_face.svg",rod1:"swing_with_rod.svg",rod2:"swing_with_rod.svg",rod3:"swing_with_rod.svg",rod4:"swing_with_rod.svg"},sim:{tMax:180,tStep:.5,tUpdate:500}};function Mt(n,e,a=""){const s=le(Qe.partName+a);let i,_;const o=I(),d=I(),u=I(),D=I();s.logstr+=`${s.partName} simTime: ${n}
40
+ `;try{const c=e.D1/2;s.logstr+=`swing size: L1 ${L(e.L1)} x L2 ${L(e.L2)} mm
41
+ `,i=function(f,R,b,A){return B(f,R).addSegStrokeA(f+b,R).addSegStrokeA(f+b,R+A).addSegStrokeA(f,R+A).closeSegStroke()},_=function(f,R,b,A,v){return B(f,R).addCornerRounded(v).addSegStrokeA(f+b,R).addCornerRounded(v).addSegStrokeA(f+b,R+A).addCornerRounded(v).addSegStrokeA(f,R+A).addCornerRounded(v).closeSegStroke()},o.addMain(M(0,0,c)),o.addMain(M(0,0,c-e.E1));const h=[-e.L2/2,-e.L3-e.H2,e.L3,e.L2/2-e.H2];for(const f of h)o.addMain(i(f,c-e.H4,e.H2,e.H4)),o.addMain(i(f+e.E2,c-e.H4+e.E2,e.H2-2*e.E2,e.H4-2*e.E2));o.addSecond(i(-e.L2/2,c,e.L2,e.H3));const g=[];g.push(-e.L1/2),g.push(e.L1/2-e.H1);for(const f of[-e.L5/2-2*e.L4-e.L6,-e.L5/2-e.L4,e.L5/2,e.L5/2+e.L4+e.L6])for(const R of[0,e.L4-e.H1])g.push(f+R);for(const f of g)d.addMain(i(f,c,e.H1,e.H3)),d.addMain(i(f+e.E3,c+e.E3,e.H1-2*e.E3,e.H3-2*e.E3));d.addSecond(i(-e.L1/2,-c,e.L1,e.D1)),d.addSecond(i(-e.L1/2,c-e.H4,e.L1,e.H4));for(const f of g)u.addSecond(i(f,-e.L2/2,e.H1,e.L2));for(const f of h)u.addSecond(i(-e.L1/2,f,e.L1,e.H2));u.addSecond(i(-e.L1/2,-c,e.L1,e.D1));for(const f of g)D.addMain(i(f,-e.L2/2,e.H1,e.L2));for(const f of h)D.addMain(i(-e.L1/2,f,e.L1,e.H2));D.addMain(i(-e.L1/2,-c,e.L1,e.D1));const l=-((e.rod1-1)*e.rod2+e.rod3)/2,r=(e.rod3-e.rod4)/2,w=e.rod3/2,V=1.2*e.L2,F=(V-w)/3,P=-V/2;for(let f=0;f<e.rod1;f++){const R=l+f*e.rod2;D.addSecond(i(R+r,P,e.rod4,V));for(let b=0;b<4;b++)D.addSecond(_(R,P+b*F,e.rod3,w,w/4))}s.fig={faceSide:o,faceFace:d,faceTop:u,faceTopWithRods:D};const N=s.partName;s.vol={extrudes:[{outName:`subpax_${N}_side`,face:`${N}_faceSide`,extrudeMethod:z.eLinearOrtho,length:e.L1,rotate:[0,0,0],translate:[0,0,-e.L1/2]},{outName:`subpax_${N}_face`,face:`${N}_faceFace`,extrudeMethod:z.eLinearOrtho,length:e.L2,rotate:[0,Math.PI/2,0],translate:[-e.L2/2,0,0]}],volumes:[{outName:`pax_${N}`,boolMethod:J.eUnion,inList:[`subpax_${N}_side`,`subpax_${N}_face`]}]},s.sub={},s.logstr+=`heliostat-swing drawn successfully!
42
+ `,s.calcErr=!1}catch(c){s.logstr+=c,console.log(c)}return s}var ve={pTitle:"Heliostat swing",pDescription:"The swing for the heliostat inclination",pDef:Qe,pGeom:Mt},Te={partName:"heliostat",params:[t("H1","mm",3e3,10,4e4,10),t("H2","mm",2500,50,4e4,10),t("H3","mm",200,1,500,1),t("H4","mm",800,1,4e3,1),t("H5","mm",3e3,50,6e3,10),t("H6","mm",200,1,4e3,1),t("H7","mm",800,1,4e3,1),t("H8","mm",200,1,4e3,1),t("H9","mm",100,1,400,1),t("D1","mm",1e3,20,4e3,10),t("D2","mm",700,20,4e3,10),t("D3","mm",900,20,4e3,10),t("D4","mm",400,20,4e3,10),t("D5","mm",300,20,1e3,10),t("D6","mm",200,10,1e3,10),t("D7","mm",400,10,1e3,10),t("D8","mm",100,1,1e3,1),t("D9","mm",100,1,1e3,1),t("S1","mm",250,1,800,1),t("S2","mm",200,1,800,1),t("E1","mm",30,1,80,1),t("E2","mm",50,1,80,1),t("L1","mm",12500,100,4e4,10),t("L2","mm",6e3,100,4e4,10),t("L3","mm",100,1,500,1),t("L4","mm",600,1,4e3,1),t("L5","mm",2e3,10,6e3,1),t("L6","mm",2e3,1,6e3,1),t("L7","mm",100,1,1e3,1),t("L8","mm",200,1,1e3,1),t("al","degree",80,0,95,1),t("ar","degree",80,0,95,1)],paramSvg:{H1:"heliostat_overview.svg",H2:"heliostat_side.svg",H3:"heliostat_side_sizing.svg",H4:"heliostat_side_sizing.svg",H5:"heliostat_side_sizing.svg",H6:"heliostat_side_sizing.svg",H7:"heliostat_side_sizing.svg",H8:"heliostat_side_sizing.svg",H9:"heliostat_side_sizing.svg",D1:"heliostat_side_sizing.svg",D2:"heliostat_side_sizing.svg",D3:"heliostat_side_sizing.svg",D4:"heliostat_side_sizing.svg",D5:"heliostat_side_sizing.svg",D6:"heliostat_side_sizing.svg",D7:"heliostat_side_sizing.svg",D8:"heliostat_side_sizing.svg",D9:"heliostat_face_sizing.svg",S1:"heliostat_side_sizing.svg",S2:"heliostat_side_sizing.svg",E1:"heliostat_side_sizing.svg",E2:"heliostat_side_sizing.svg",L1:"heliostat_face_sizing.svg",L2:"heliostat_side_sizing.svg",L3:"heliostat_face_sizing.svg",L4:"heliostat_face_sizing.svg",L5:"heliostat_face_sizing.svg",L6:"heliostat_face_sizing.svg",L7:"heliostat_face_sizing.svg",L8:"heliostat_face_sizing.svg",al:"heliostat_side_sizing.svg",ar:"heliostat_side_sizing.svg"},sim:{tMax:100,tStep:.5,tUpdate:500}};function kt(n,e,a=""){const s=le(Te.partName+a),i=I(),_=I();s.logstr+=`${s.partName} simTime: ${n}
43
+ `;try{const o=e.H1+e.H2-e.H3+e.H4+e.H5-e.H6+e.H7;s.logstr+=`heliostat-height: ${L(o)}, diameter ${L(e.D1)} m
44
+ `,s.logstr+=`heliostat-swing-length: ${L(e.L1)}, width ${L(e.L2)} m
45
+ `;const u=(e.al-e.ar)/2-Math.sin(2*Math.PI*n/Te.sim.tMax)*(e.al+e.ar)/2,D=Pe(u);s.logstr+=`swing position angle: ${L(oe(D))} degree
46
+ `;const c=e.H1+e.H2-e.H3,h=c+e.H4+e.H5-e.H6+e.H7,g=h+e.H8,l=ce(be.pDef),r=ce($e.pDef),w=ce(ye.pDef),V=ce(ve.pDef);l.setVal("H1",e.H1),l.setVal("H2",e.H2),l.setVal("D1",e.D1),l.setVal("D2",e.D2),l.setVal("D3",e.D1-6*e.E1),l.setVal("E1",e.E1),l.setVal("E2",e.E1);const F=32,P=(e.D1-6*e.E1)/(F*4);l.setVal("N1",F),l.setVal("D5",P),l.setVal("L1",e.E1+P/2),l.setVal("H3",e.H1/4),l.setVal("H4",e.H1/2),l.setVal("D4",e.H1/4),l.setVal("L2",e.H1/80),l.setVal("E3",e.H1/80),r.setVal("H1",e.H4),r.setVal("H2",e.H5),r.setVal("H3",e.H4-2*e.E1),r.setVal("D1",e.D3),r.setVal("D2",e.D4),r.setVal("L9",e.D3/2),r.setVal("H7",e.D3/2*1.6),r.setVal("H6",e.D3/20),r.setVal("R9",e.D3/20),r.setVal("E1",e.E1),r.setVal("E3",e.E1),r.setVal("E4",e.E1);const N=e.D2*.6,f=24,R=N/(f*4);if(r.setVal("D3",N),e.D2>e.D3-2*e.E1)throw`err153: D2 ${e.D2} too large compare to D3 ${e.D3} and E1 ${e.E1}`;if(r.setVal("N1",f),r.setVal("D7",R),r.setVal("L1",R),r.setVal("H4",e.H6),r.setVal("D4",e.D5),r.setVal("L7",e.L7),r.setVal("L8",e.L8),r.setVal("D6",e.D9),r.setVal("H5",e.H7+e.H8),r.setVal("D5",e.D6),r.setVal("D8",e.D7),e.D6>=e.D7)throw`err164: D6 ${e.D6} too large compare to D7 ${e.D7}`;const b=e.L4-2*e.L3;if(r.setVal("L4",b),b<=0)throw`err169: L3 ${e.L3} too large compare to L4 ${e.L4}`;r.setVal("L5",e.L5+2*e.L3),r.setVal("L6",e.L6+2*e.L3);const A=e.L5*.96,v=6;if(w.setVal("L5",A),w.setVal("D1",e.D8),w.setVal("L1",e.S1),w.setVal("L2",e.S2),w.setVal("L3",e.E2*2),w.setVal("E1",e.E1),w.setVal("E2",e.E2),w.setVal("E3",e.E1),w.setVal("L4",e.L2/2-e.H8),w.setVal("R2",0),w.setVal("N1",v),w.setVal("L6",A/(v*10)),V.setVal("L2",e.L2),V.setVal("D1",e.D6),V.setVal("H3",e.H9),V.setVal("H4",e.H9),V.setVal("L1",e.L1),e.L1<4*e.L4+2*e.L6+e.L5+2*e.L3)throw`err185: L1 ${e.L1} too small compare to L4 ${e.L4}, L5 ${e.L5}, L6 ${e.L6}`;V.setVal("H1",e.L3),V.setVal("H2",e.L3),V.setVal("L4",e.L4),V.setVal("L5",e.L5),V.setVal("L6",e.L6),V.setVal("L3",e.D7);const H=be.pGeom(0,l.getParamVal(),l.getSuffix());he(H),s.logstr+=ge(H.logstr,l.getPartNameSuffix());const S=$e.pGeom(0,r.getParamVal(),r.getSuffix());he(S),s.logstr+=ge(S.logstr,r.getPartNameSuffix());const $=ye.pGeom(0,w.getParamVal(),w.getSuffix());he($),s.logstr+=ge($.logstr,w.getPartNameSuffix());const y=ve.pGeom(0,V.getParamVal(),V.getSuffix());he(y),s.logstr+=ge(y.logstr,V.getPartNameSuffix()),i.mergeFigure(H.fig.poleCut),i.mergeFigure(S.fig.faceBeam.translate(0,c)),i.mergeFigure($.fig.faceLegs.translate(0,h).rotate(0,h,D/2)),i.mergeFigure(y.fig.faceSide.translate(0,g).rotate(0,g,D)),_.mergeFigure(H.fig.poleCut),_.mergeFigure(S.fig.faceCone.translate(0,c)),_.mergeFigure($.fig.faceBody.translate(-A/2,h)),_.mergeFigure(y.fig.faceFace.translate(0,g)),s.fig={faceSide:i,faceFace:_};const x=s.partName;s.vol={inherits:[{outName:`inpax_${x}_poleStatic`,subdesign:"pax_pole_static",subgeom:H,rotate:[0,0,0],translate:[0,0,0]},{outName:`inpax_${x}_rake`,subdesign:"pax_rake",subgeom:S,rotate:[0,0,0],translate:[0,0,c]},{outName:`inpax_${x}_swing`,subdesign:"pax_swing",subgeom:y,rotate:[Math.PI/2,0,0],translate:[0,0,g]},{outName:`inpax_${x}_spider`,subdesign:"pax_spider",subgeom:$,rotate:[Math.PI/2,0,0],translate:[0,A/2,h]}],extrudes:[],volumes:[{outName:`pax_${x}`,boolMethod:J.eUnion,inList:[`inpax_${x}_poleStatic`,`inpax_${x}_rake`,`inpax_${x}_swing`,`inpax_${x}_spider`]}]};const X={partName:l.getPartName(),dparam:l.getDesignParamList(),orientation:[0,0,0],position:[0,0,0]},T={partName:r.getPartName(),dparam:r.getDesignParamList(),orientation:[0,0,0],position:[0,0,c]},m={partName:w.getPartName(),dparam:w.getDesignParamList(),orientation:[Math.PI/2,0,0],position:[0,A/2,h]},p={partName:V.getPartName(),dparam:V.getDesignParamList(),orientation:[Math.PI/2,0,0],position:[0,0,g]};s.sub={pole_static_1:X,rake_1:T,spider_1:m,swing_1:p},s.logstr+=`heliostat-overview drawn successfully!
47
+ `,s.calcErr=!1}catch(o){s.logstr+=o,console.log(o)}return s}var Et={pTitle:"Heliostat overview",pDescription:"The heliostat inclination mechanism",pDef:Te,pGeom:kt},et={partName:"rake_stopper",params:[t("D1","mm",600,10,4e3,10),t("D2","mm",400,10,4e3,10),t("D3","mm",400,1,4e3,1),t("H1","mm",800,1,4e3,1),t("H2","mm",3e3,20,6e3,10),t("H3","mm",400,0,4e3,1),t("E1","mm",20,1,80,1),t("E3","mm",30,1,80,1),t("H4","mm",200,1,1e3,1),t("D4","mm",300,1,1e3,1),t("E4","mm",20,1,80,1),t("H5","mm",400,1,2e3,1),t("D5","mm",200,1,1e3,1),t("L4","mm",300,1,1e3,1),t("L5","mm",2e3,1,4e3,1),t("L6","mm",2e3,1,4e3,1),t("D6","mm",100,1,600,1),t("E6","mm",10,1,80,1),t("L7","mm",100,1,1e3,1),t("L8","mm",200,1,1e3,1),t("N1","",24,3,100,1),t("D7","mm",40,1,100,1),t("L1","mm",30,1,300,1),t("D8","mm",400,1,1e3,1),t("H6","mm",100,1,1e3,1),t("H7","mm",600,1,2e3,1),t("L9","mm",300,1,1e3,1),t("R9","mm",50,0,300,1),t("S1","mm",100,1,300,1),t("S2","mm",2e3,1,8e3,1),t("E7","mm",5,1,80,1)],paramSvg:{D1:"rake_face.svg",D2:"rake_face.svg",D3:"rake_face.svg",H1:"rake_face.svg",H2:"rake_face.svg",H3:"rake_face.svg",E1:"rake_face.svg",E3:"rake_face.svg",H4:"rake_side.svg",D4:"rake_side.svg",E4:"rake_side.svg",H5:"rake_side.svg",D5:"rake_side.svg",L4:"rake_face.svg",L5:"rake_face.svg",L6:"rake_face.svg",D6:"rake_face.svg",E6:"rake_face.svg",L7:"rake_face.svg",L8:"rake_face.svg",N1:"rake_top.svg",D7:"rake_top.svg",L1:"rake_top.svg",D8:"rake_side.svg",H6:"rake_door.svg",H7:"rake_door.svg",L9:"rake_door.svg",R9:"rake_door.svg",S1:"rake_side_stopper.svg",S2:"rake_top_stopper.svg",E7:"rake_side_stopper.svg"},sim:{tMax:180,tStep:.5,tUpdate:500}};function Pt(n,e,a=""){const s=le(et.partName+a);let i;const _=I(),o=I(),d=I(),u=I(),D=I(),c=I(),h=I(),g=I(),l=I(),r=I(),w=I(),V=I(),F=I(),P=I(),N=I();s.logstr+=`${s.partName} simTime: ${n}
48
+ `;try{const f=e.D1/2,R=e.H1+e.H2,b=R-e.H4+e.H5;if(s.logstr+=`cone-height: ${L(R)} mm
49
+ `,s.logstr+=`cone-height total: ${L(b)} mm
50
+ `,2*e.E7>=e.S1)throw`err135: E7 ${e.E7} too large compare to S1 ${e.S1}`;if(e.L5<e.D2)throw`err138: L5 ${e.L5} too small compare to D2 ${e.D2}`;const A=b-e.S2;if(A<0)throw`err143: S2 ${e.S2} too large compare to H1H5 ${L(b)}`;const v=e.H1+e.H2-e.H4+e.D4/2,H=e.H1+e.L8-e.S1;i=function(Z,G,K,ie,de){const _e=Z*Math.cos(de),Se=Z*Math.sin(de),fe=-G*Math.sin(de),De=G*Math.cos(de);return B(K,ie).addSegStrokeA(K+_e,ie+Se).addSegStrokeA(K+_e+fe,ie+Se+De).addSegStrokeA(K+fe,ie+De).closeSegStroke()};const S=ce($e.pDef);S.setVal("D1",e.D1),S.setVal("D2",e.D2),S.setVal("D3",e.D3),S.setVal("H1",e.H1),S.setVal("H2",e.H2),S.setVal("H3",e.H3),S.setVal("E1",e.E1),S.setVal("E3",e.E3),S.setVal("H4",e.H4),S.setVal("D4",e.D4),S.setVal("E4",e.E4),S.setVal("H5",e.H5),S.setVal("D5",e.D5),S.setVal("L4",e.L4),S.setVal("L5",e.L5),S.setVal("L6",e.L6),S.setVal("D6",e.D6),S.setVal("E6",e.E6),S.setVal("L7",e.L7),S.setVal("L8",e.L8),S.setVal("N1",e.N1),S.setVal("D7",e.D7),S.setVal("L1",e.L1),S.setVal("D8",e.D8),S.setVal("H6",e.H6),S.setVal("H7",e.H7),S.setVal("L9",e.L9),S.setVal("R9",e.R9);const $=$e.pGeom(0,S.getParamVal(),S.getSuffix());he($),s.logstr+=ge($.logstr,S.getPartNameSuffix()),_.mergeFigure($.fig.faceCone),o.mergeFigure($.fig.faceBeam),d.mergeFigure($.fig.faceBeamHollow),u.mergeFigure($.fig.faceDisc),D.mergeFigure($.fig.faceHand),c.mergeFigure($.fig.faceWing),h.mergeFigure($.fig.faceWingHollow),g.mergeFigure($.fig.faceDoor),l.mergeFigure($.fig.faceDisc,!0);const y=e.L5/2,x=e.S1/2,X=e.S1-2*e.E7,T=X/2;l.addMain(i(e.S1,e.L5,-f-e.S1,-y,0)),l.addMain(i(X,e.L5,-f-e.E7-X,-y,0)),l.addMain(i(e.S1,e.L5,e.S2-e.S1,-y,0)),l.addMain(i(X,e.L5,e.S2-e.E7-X,-y,0));const m=e.S2-e.S1/2;l.addMain(i(m,e.S1,0,-y,0)),l.addMain(i(m,X,0,-y+e.E7,0)),l.addMain(i(m,e.S1,0,y-e.S1,0)),l.addMain(i(m,X,0,y-e.S1+e.E7,0)),l.addMain(i(m,e.S1,0,-f-e.S1,0)),l.addMain(i(m,X,0,-f-e.S1+e.E7,0)),l.addMain(i(m,e.S1,0,f,0)),l.addMain(i(m,X,0,f+e.E7,0)),r.mergeFigure($.fig.faceBeam,!0),r.addMain(M(-f-x,A+x,x)),r.addMain(M(-f-x,A+x,T)),r.addMain(M(e.S2-x,v+x,x)),r.addMain(M(e.S2-x,v+x,T)),r.addSecond(i(m,e.S1,0,v,0)),r.addSecond(i(m,X,0,v+e.E7,0));const p=v+e.S1/2-H,W=Math.sqrt(m**2+p**2),j=Math.atan2(p,m);s.logstr+=`stopper-rod: L ${L(W)} mm, A ${L(oe(j))} degree
51
+ `;const Q=x*Math.sin(j),ne=x*Math.cos(j),q=H-ne;r.addSecond(i(W,e.S1,Q,q,j));const ee=T*Math.sin(j),O=T*Math.cos(j),k=H-O;r.addSecond(i(W,X,ee,k,j)),w.mergeFigure($.fig.faceBeam,!0),w.addSecond(M(-f-x,A+x,x)),w.addMain(M(-f-x,A+x,T)),w.addSecond(M(e.S2-x,v+x,x)),w.addMain(M(e.S2-x,v+x,T)),V.mergeFigure($.fig.faceCone,!0),V.addMain(M(-e.L5/2+x,v+x,x)),V.addMain(M(-e.L5/2+x,v+x,T)),V.addMain(M(e.L5/2-x,v+x,x)),V.addMain(M(e.L5/2-x,v+x,T)),F.mergeFigure($.fig.faceCone,!0),F.addSecond(M(-e.L5/2+x,v+x,x)),F.addMain(M(-e.L5/2+x,v+x,T)),F.addSecond(M(e.L5/2-x,v+x,x)),F.addMain(M(e.L5/2-x,v+x,T)),P.mergeFigure($.fig.faceCone,!0),P.addMain(M(-f-x,0,x)),P.addMain(M(-f-x,0,T)),P.addMain(M(f+x,0,x)),P.addMain(M(f+x,0,T)),N.mergeFigure($.fig.faceCone,!0),N.addSecond(M(-f-x,0,x)),N.addMain(M(-f-x,0,T)),N.addSecond(M(f+x,0,x)),N.addMain(M(f+x,0,T)),s.fig={faceCone:_,faceBeam:o,faceBeamHollow:d,faceDisc:u,faceHand:D,faceWing:c,faceWingHollow:h,faceDoor:g,faceStopperTop:l,faceStopperSide:r,faceStopperSideH:w,faceStopperFaceT:V,faceStopperFaceTH:F,faceStopperFaceB:P,faceStopperFaceBH:N};const E=s.partName;s.vol={inherits:[{outName:`inpax_${E}_rake`,subdesign:"pax_rake",subgeom:$,rotate:[0,0,0],translate:[0,0,0]}],extrudes:[{outName:`subpax_${E}_stpSide`,face:`${E}_faceStopperSide`,extrudeMethod:z.eLinearOrtho,length:e.L5,rotate:[Math.PI/2,0,0],translate:[0,e.L5/2,0]},{outName:`subpax_${E}_stpSideH`,face:`${E}_faceStopperSideH`,extrudeMethod:z.eLinearOrtho,length:e.L5,rotate:[Math.PI/2,0,0],translate:[0,e.L5/2,0]},{outName:`subpax_${E}_stpFaceT`,face:`${E}_faceStopperFaceT`,extrudeMethod:z.eLinearOrtho,length:m,rotate:[Math.PI/2,0,Math.PI/2],translate:[0,0,0]},{outName:`subpax_${E}_stpFaceTH`,face:`${E}_faceStopperFaceTH`,extrudeMethod:z.eLinearOrtho,length:m,rotate:[Math.PI/2,0,Math.PI/2],translate:[0,0,0]},{outName:`subpax_${E}_stpFaceB`,face:`${E}_faceStopperFaceB`,extrudeMethod:z.eLinearOrtho,length:W,rotate:[Math.PI/2-j,0,Math.PI/2],translate:[0,0,H]},{outName:`subpax_${E}_stpFaceBH`,face:`${E}_faceStopperFaceBH`,extrudeMethod:z.eLinearOrtho,length:W,rotate:[Math.PI/2-j,0,Math.PI/2],translate:[0,0,H]}],volumes:[{outName:`ipax_${E}_plus`,boolMethod:J.eUnion,inList:[`subpax_${E}_stpSide`,`subpax_${E}_stpFaceT`,`subpax_${E}_stpFaceB`]},{outName:`ipax_${E}_hollow`,boolMethod:J.eUnion,inList:[`subpax_${E}_stpSideH`,`subpax_${E}_stpFaceTH`,`subpax_${E}_stpFaceBH`]},{outName:`ipax_${E}_stopper`,boolMethod:J.eSubstraction,inList:[`ipax_${E}_plus`,`ipax_${E}_hollow`]},{outName:`pax_${E}`,boolMethod:J.eUnion,inList:[`inpax_${E}_rake`,`ipax_${E}_stopper`]}]},s.sub={},s.logstr+=`heliostat-rake drawn successfully!
52
+ `,s.calcErr=!1}catch(f){s.logstr+=f,console.log(f)}return s}var me={pTitle:"Heliostat rake with stopper",pDescription:"The rake-stopper on top of the pole-rotor of the heliostat",pDef:et,pGeom:Pt},Oe={partName:"heliostat_2",params:[t("H1","mm",3e3,10,4e4,10),t("H2","mm",2500,50,4e4,10),t("H3","mm",200,1,500,1),t("H4","mm",800,1,4e3,1),t("H5","mm",3e3,50,6e3,10),t("H6","mm",200,1,4e3,1),t("H7","mm",400,1,4e3,1),t("H9","mm",100,1,400,1),t("D1","mm",1e3,20,4e3,10),t("D2","mm",700,20,4e3,10),t("D3","mm",900,20,4e3,10),t("D4","mm",400,20,4e3,10),t("D5","mm",300,20,1e3,10),t("D6","mm",200,10,1e3,10),t("D7","mm",400,10,1e3,10),t("D9","mm",100,1,1e3,1),t("E1","mm",30,1,80,1),t("L1","mm",12500,100,4e4,10),t("L2","mm",6e3,100,4e4,10),t("L3","mm",100,1,500,1),t("L4","mm",600,1,4e3,1),t("L5","mm",2e3,10,6e3,10),t("L6","mm",2e3,1,6e3,1),t("L7","mm",100,1,1e3,1),t("L8","mm",200,1,1e3,1),t("al","degree",80,0,95,1),t("S1","mm",100,1,800,1)],paramSvg:{H1:"heliostat_overview.svg",H2:"heliostat_side.svg",H3:"heliostat2_side_sizing.svg",H4:"heliostat2_side_sizing.svg",H5:"heliostat2_side_sizing.svg",H6:"heliostat2_side_sizing.svg",H7:"heliostat2_side_sizing.svg",H9:"heliostat2_side_sizing.svg",D1:"heliostat2_side_sizing.svg",D2:"heliostat2_side_sizing.svg",D3:"heliostat2_side_sizing.svg",D4:"heliostat2_side_sizing.svg",D5:"heliostat2_side_sizing.svg",D6:"heliostat2_side_sizing.svg",D7:"heliostat2_side_sizing.svg",D9:"heliostat2_face_sizing.svg",E1:"heliostat2_side_sizing.svg",L1:"heliostat2_face_sizing.svg",L2:"heliostat2_side_sizing.svg",L3:"heliostat2_face_sizing.svg",L4:"heliostat2_face_sizing.svg",L5:"heliostat2_face_sizing.svg",L6:"heliostat2_face_sizing.svg",L7:"heliostat2_face_sizing.svg",L8:"heliostat2_face_sizing.svg",al:"heliostat2_side_sizing.svg",S1:"heliostat2_side_sizing.svg"},sim:{tMax:100,tStep:.5,tUpdate:500}};function At(n,e,a=""){const s=le(Oe.partName+a),i=I(),_=I(),o=I();s.logstr+=`${s.partName} simTime: ${n}
53
+ `;try{const d=e.H1+e.H2-e.H3+e.H4+e.H5-e.H6+e.H7;s.logstr+=`heliostat-height: ${L(d)}, diameter ${L(e.D1)} m
54
+ `,s.logstr+=`heliostat-swing-length: ${L(e.L1)}, width ${L(e.L2)} m
55
+ `;const u=e.al*n/Oe.sim.tMax,D=Pe(u);s.logstr+=`swing position angle: ${L(oe(D))} degree
56
+ `;const c=e.H1+e.H2-e.H3,h=c+e.H4+e.H5-e.H6+e.H7,g=ce(be.pDef),l=ce(me.pDef),r=ce(ve.pDef);g.setVal("H1",e.H1),g.setVal("H2",e.H2),g.setVal("D1",e.D1),g.setVal("D2",e.D2),g.setVal("D3",e.D1-6*e.E1),g.setVal("E1",e.E1),g.setVal("E2",e.E1);const w=32,V=(e.D1-6*e.E1)/(w*4);g.setVal("N1",w),g.setVal("D5",V),g.setVal("L1",e.E1+V/2),g.setVal("H3",e.H1/4),g.setVal("H4",e.H1/2),g.setVal("D4",e.H1/4),g.setVal("L2",e.H1/80),g.setVal("E3",e.H1/80),l.setVal("H1",e.H4),l.setVal("H2",e.H5),l.setVal("H3",e.H4-2*e.E1),l.setVal("D1",e.D3),l.setVal("D2",e.D4),l.setVal("L9",e.D3/2),l.setVal("H7",e.D3/2*1.6),l.setVal("H6",e.D3/20),l.setVal("R9",e.D3/20),l.setVal("E1",e.E1),l.setVal("E3",e.E1),l.setVal("E4",e.E1),l.setVal("E6",e.E1),l.setVal("E7",e.E1);const F=e.D2*.6,P=24,N=F/(P*4);if(l.setVal("D3",F),e.D2>e.D3-2*e.E1)throw`err153: D2 ${e.D2} too large compare to D3 ${e.D3} and E1 ${e.E1}`;if(l.setVal("N1",P),l.setVal("D7",N),l.setVal("L1",N),l.setVal("H4",e.H6),l.setVal("D4",e.D5),l.setVal("L7",e.L7),l.setVal("L8",e.L8),l.setVal("D6",e.D9),l.setVal("H5",e.H7),l.setVal("D5",e.D6),l.setVal("D8",e.D7),e.D6>=e.D7)throw`err164: D6 ${e.D6} too large compare to D7 ${e.D7}`;const f=e.L4-2*e.L3;if(l.setVal("L4",f),f<=0)throw`err169: L3 ${e.L3} too large compare to L4 ${e.L4}`;if(l.setVal("L5",e.L5+2*e.L3),l.setVal("L6",e.L6+2*e.L3),l.setVal("S1",e.S1),l.setVal("S2",e.L2/2),r.setVal("L2",e.L2),r.setVal("D1",e.D6),r.setVal("H3",e.H9),r.setVal("H4",e.H9),r.setVal("L1",e.L1),e.L1<4*e.L4+2*e.L6+e.L5+2*e.L3)throw`err185: L1 ${e.L1} too small compare to L4 ${e.L4}, L5 ${e.L5}, L6 ${e.L6}`;r.setVal("H1",e.L3),r.setVal("H2",e.L3),r.setVal("L4",e.L4),r.setVal("L5",e.L5),r.setVal("L6",e.L6),r.setVal("L3",e.D7);const R=be.pGeom(0,g.getParamVal(),g.getSuffix());he(R),s.logstr+=ge(R.logstr,g.getPartNameSuffix());const b=me.pGeom(0,l.getParamVal(),l.getSuffix());he(b),s.logstr+=ge(b.logstr,l.getPartNameSuffix());const A=ve.pGeom(0,r.getParamVal(),r.getSuffix());he(A),s.logstr+=ge(A.logstr,r.getPartNameSuffix()),i.mergeFigure(R.fig.poleCut),i.mergeFigure(b.fig.faceStopperSide.translate(0,c)),i.mergeFigure(A.fig.faceSide.translate(0,h).rotate(0,h,D)),_.mergeFigure(R.fig.poleCut),_.mergeFigure(b.fig.faceStopperFaceT.translate(0,c)),_.mergeFigure(A.fig.faceFace.translate(0,h)),o.mergeFigure(R.fig.poleBottom.translate(0,0)),o.mergeFigure(b.fig.faceStopperTop.translate(0,0)),o.mergeFigure(A.fig.faceTop.rotate(0,0,Math.PI/2)),s.fig={faceSide:i,faceFace:_,faceTop:o};const v=s.partName;s.vol={inherits:[{outName:`inpax_${v}_poleStatic`,subdesign:"pax_pole_static",subgeom:R,rotate:[0,0,0],translate:[0,0,0]},{outName:`inpax_${v}_rake`,subdesign:"pax_rake_stopper",subgeom:b,rotate:[0,0,0],translate:[0,0,c]},{outName:`inpax_${v}_swing`,subdesign:"pax_swing",subgeom:A,rotate:[Math.PI/2,0,0],translate:[0,0,h]}],extrudes:[],volumes:[{outName:`pax_${v}`,boolMethod:J.eUnion,inList:[`inpax_${v}_poleStatic`,`inpax_${v}_rake`,`inpax_${v}_swing`]}]};const H=g.getDesignParamList(),S={partName:g.getPartName(),dparam:H,orientation:[0,0,0],position:[0,0,0]},$={partName:l.getPartName(),dparam:l.getDesignParamList(),orientation:[0,0,0],position:[0,0,c]},y={partName:r.getPartName(),dparam:r.getDesignParamList(),orientation:[0,0,0],position:[0,0,h]};s.sub={pole_static_1:S,rake_1:$,swing_1:y},s.logstr+=`heliostat-2-overview drawn successfully!
57
+ `,s.calcErr=!1}catch(d){s.logstr+=d,console.log(d)}return s}var Rt={pTitle:"Heliostat-2 overview",pDescription:"The heliostat-2 inclination mechanism",pDef:Oe,pGeom:At},tt={partName:"base",params:[t("D1","mm",600,10,4e3,10),t("D2","mm",700,10,4e3,10),t("D3","mm",400,10,4e3,10),t("D4","mm",500,10,4e3,10),t("E1","mm",30,1,80,1),t("E2","mm",30,1,80,1),t("E3","mm",30,1,80,1),t("H1","mm",800,10,4e3,10),t("H2","mm",50,1,4e3,1),t("H3","mm",400,10,4e3,10),t("N2","",12,1,100,1),t("L2","mm",100,1,400,1),t("N1","",24,3,100,1),t("D5","mm",40,1,100,1),t("L1","mm",34,1,300,1)],paramSvg:{D1:"base_cut.svg",D2:"base_cut.svg",D3:"base_cut.svg",D4:"base_cut.svg",E1:"base_cut.svg",E2:"base_cut.svg",E3:"base_cut.svg",H1:"base_cut.svg",H2:"base_hollow.svg",H3:"base_hollow.svg",N2:"base_hollow.svg",L2:"base_hollow.svg",N1:"base_top.svg",D5:"base_top.svg",L1:"base_top.svg"},sim:{tMax:180,tStep:.5,tUpdate:500}};function Nt(n,e,a=""){const s=le(tt.partName+a);let i,_,o;const d=I(),u=I(),D=I();s.logstr+=`${s.partName} simTime: ${n}
58
+ `;try{const c=e.D1/2,h=e.D2/2,g=e.D3/2,l=e.D4/2,r=e.D5/2,w=e.L2/2;if(h<c)throw`err089: D2 ${e.D2} too small compare to D1 ${e.D1}`;if(l>c-e.E2)throw`err189: D4 ${e.D4} too large compare to D1 ${e.D1} and E2 ${e.E2}`;s.logstr+=`base-height: ${L(e.H1)} mm
59
+ `,s.logstr+=`base-external-diameter: ${L(e.D2)} mm
60
+ `;const V=e.D1*Math.PI/e.N2-e.L2;if(s.logstr+=`inter-hollow: ${L(V)} mm
61
+ `,i=function($){return B($*h,0).addSegStrokeA($*h,e.E3).addSegStrokeA($*c,e.E3).addSegStrokeA($*c,e.H1).addSegStrokeA($*(c-e.E2),e.H1).addSegStrokeA($*(c-e.E2),e.E3).addSegStrokeA($*l,e.E3).addSegStrokeA($*l,0).closeSegStroke()},_=function($){return B($*h,0).addSegStrokeA($*h,e.E3).addSegStrokeA($*c,e.E3).addSegStrokeA($*c,e.H1).addSegStrokeA($*g,e.H1).addSegStrokeA($*g,e.H1-e.E1).addSegStrokeA($*(c-e.E2),e.H1-e.E1).addSegStrokeA($*(c-e.E2),e.E3).addSegStrokeA($*l,e.E3).addSegStrokeA($*l,0).closeSegStroke()},e.H1<e.E3+e.H2+e.H3+e.E1)throw`err125: H1 ${e.H1} too small compare to E3 ${e.H3}, H2 ${e.H2}, H3 ${e.H3}, E1 ${e.E1}`;if(e.D5>e.H3)throw`err128: D5 ${e.D5} too large compare to H3 ${e.H3}`;const F=2*Math.asin(w/(c-e.E2));if(e.N2*F>2*Math.PI)throw`err132: N2 ${e.N2} too large compare to L2 ${e.L2}, D1 ${e.D1}, E2 ${e.E2}`;const P=e.E3+e.H2+w;if(o=function($){return B($*w,P).addSegStrokeA($*w,P+e.H3-e.L2).addPointA(-$*w,P+e.H3-e.L2).addSegArc(w,!1,!0).addSegStrokeA(-$*w,P).closeSegArc(w,!1,!0)},d.addMain(i(1)),d.addSecond(_(1)),d.addSecond(_(-1)),d.addSecond(o(1)),g+e.L1+r>c-e.E2)throw`err127: D3 ${e.D3} too large compare to D1 ${e.D1}, E2 ${e.E2}, L1 ${e.L1}, R5 ${e.D5}`;if(r>e.L1)throw`err130: D5 ${e.D5} too large compare to L1 ${e.L1}`;const N=2*Math.asin(r/(h+e.L1));if(e.N1*N>2*Math.PI)throw`err134: N1 ${e.N1} too large compare to D5 ${e.D5}, L1 ${e.L1}, D2 ${e.D2}`;u.addMain(M(0,0,c)),u.addMain(M(0,0,g));const f=g+e.L1,R=2*Math.PI/e.N1;for(let $=0;$<e.N1;$++){const y=f*Math.cos($*R),x=f*Math.sin($*R);u.addMain(M(y,x,r))}u.addSecond(M(0,0,c-e.E1)),u.addSecond(M(0,0,h)),u.addSecond(M(0,0,l)),D.addMain(o(1)),D.addSecond(_(1)),D.addSecond(_(-1)),s.fig={faceCut:d,faceTop:u,faceHollow:D};const b=s.partName,A=2*Math.PI/e.N2,v=[...Array(e.N2).keys()],H=v.map($=>({outName:`subpax_${b}_hollow_${$}`,face:`${b}_faceHollow`,extrudeMethod:z.eLinearOrtho,length:h+e.E2,rotate:[Math.PI/2,0,$*A],translate:[0,0,0]})),S=v.map($=>`subpax_${b}_hollow_${$}`);s.vol={extrudes:[{outName:`subpax_${b}_cut`,face:`${b}_faceCut`,extrudeMethod:z.eRotate,rotate:[0,0,0],translate:[Math.PI/2,0,0]},{outName:`subpax_${b}_top`,face:`${b}_faceTop`,extrudeMethod:z.eLinearOrtho,length:e.E1,rotate:[0,0,0],translate:[0,0,e.H1-e.E1]},...H],volumes:[{outName:`ipax_${b}_hollows`,boolMethod:J.eUnion,inList:[...S]},{outName:`ipax_${b}_cylinder`,boolMethod:J.eSubstraction,inList:[`subpax_${b}_cut`,`ipax_${b}_hollows`]},{outName:`pax_${b}`,boolMethod:J.eUnion,inList:[`ipax_${b}_cylinder`,`subpax_${b}_top`]}]},s.sub={},s.logstr+=`heliostat-base drawn successfully!
62
+ `,s.calcErr=!1}catch(c){s.logstr+=c,console.log(c)}return s}var Vt={pTitle:"Heliostat base",pDescription:"The base for the static-pole of the heliostat",pDef:tt,pGeom:Nt},st={partName:"pole_rotor",params:[t("D1","mm",600,1,4e3,1),t("D2","mm",400,1,4e3,1),t("H1","mm",8e3,10,4e4,10),t("E1","mm",5,1,80,1),t("E2","mm",30,1,80,1),t("N1","",24,3,100,1),t("D3","mm",40,1,100,1),t("L1","mm",45,1,300,1)],paramSvg:{D1:"pole_rotor_cut.svg",D2:"pole_rotor_cut.svg",H1:"pole_rotor_cut.svg",E1:"pole_rotor_cut.svg",E2:"pole_rotor_cut.svg",N1:"pole_rotor_ends.svg",D3:"pole_rotor_ends.svg",L1:"pole_rotor_ends.svg"},sim:{tMax:180,tStep:.5,tUpdate:500}};function Ct(n,e,a=""){const s=le(st.partName+a);let i;const _=I(),o=I();s.logstr+=`${s.partName} simTime: ${n}
63
+ `;try{const d=e.D1/2,u=e.D2/2,D=e.D3/2;s.logstr+=`pole-height: ${L(e.H1)} mm
64
+ `;const c=B(d,0).addSegStrokeA(d,e.H1).addSegStrokeA(d-e.E1,e.H1).addSegStrokeA(d-e.E1,0).closeSegStroke();_.addMain(c),i=function(r){return B(r*d,0).addSegStrokeA(r*d,e.H1).addSegStrokeA(r*u,e.H1).addSegStrokeA(r*u,e.H1-e.E2).addSegStrokeA(r*(d-e.E1),e.H1-e.E2).addSegStrokeA(r*(d-e.E1),e.E2).addSegStrokeA(r*u,e.E2).addSegStrokeA(r*u,0).closeSegStroke()},_.addSecond(i(1)),_.addSecond(i(-1)),o.addMain(M(0,0,d)),o.addMain(M(0,0,u));const h=u+e.L1,g=2*Math.PI/e.N1;for(let r=0;r<e.N1;r++){const w=h*Math.cos(r*g),V=h*Math.sin(r*g);o.addMain(M(w,V,D))}o.addSecond(M(0,0,d-e.E1)),s.fig={faceCut:_,faceBottom:o};const l=s.partName;s.vol={extrudes:[{outName:`subpax_${l}_pole`,face:`${l}_faceCut`,extrudeMethod:z.eRotate,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${l}_bottom`,face:`${l}_faceBottom`,extrudeMethod:z.eLinearOrtho,length:e.E2,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${l}_top`,face:`${l}_faceBottom`,extrudeMethod:z.eLinearOrtho,length:e.E2,rotate:[0,0,0],translate:[0,0,e.H1-e.E2]}],volumes:[{outName:`pax_${l}`,boolMethod:J.eUnion,inList:[`subpax_${l}_pole`,`subpax_${l}_bottom`,`subpax_${l}_top`]}]},s.sub={},s.logstr+=`pole_rotor drawn successfully!
65
+ `,s.calcErr=!1}catch(d){s.logstr+=d,console.log(d)}return s}var It={pTitle:"Heliostat pole rotor",pDescription:"The vertical axis inside the pole of an heliostat",pDef:st,pGeom:Ct},ot={partName:"rod",params:[t("L1","mm",1e4,100,4e4,10),t("L2","mm",100,2,400,1),t("L3","mm",400,10,1e3,1),t("L4","mm",600,10,1e3,1),t("H1","mm",200,5,4e3,1),t("E1","mm",2,1,80,1),t("E2","mm",10,1,80,1),t("N1","",10,2,50,1),t("N3","",2,1,20,1),t("N4","",4,1,20,1),t("R3","mm",100,1,500,1),t("D2","mm",10,1,100,1),t("L7","mm",10,1,300,1)],paramSvg:{L1:"rod_top.svg",L2:"rod_top.svg",L3:"rod_top.svg",L4:"rod_top.svg",H1:"rod_cut.svg",E1:"rod_cut.svg",E2:"rod_cut.svg",N1:"rod_top.svg",N3:"rod_top.svg",N4:"rod_top.svg",R3:"rod_top.svg",D2:"rod_plate.svg",L7:"rod_plate.svg"},sim:{tMax:180,tStep:.5,tUpdate:500}};function Ft(n,e,a=""){const s=le(ot.partName+a);let i,_;const o=I(),d=I(),u=I();s.logstr+=`${s.partName} simTime: ${n}
66
+ `;try{const D=e.D2/2,c=e.L3/(e.N3+1),h=e.L4/(e.N4+1);s.logstr+=`rod-length: ${L(e.L1)} mm
67
+ `;const g=(e.L1-e.L3)/(e.N1-1);s.logstr+=`space-length: ${L(g)} mm
68
+ `,i=function(b){const A=[],v=B(e.L4/2,b).addCornerRounded(e.R3).addSegStrokeA(e.L4/2,b+e.L3).addCornerRounded(e.R3).addSegStrokeA(-e.L4/2,b+e.L3).addCornerRounded(e.R3).addSegStrokeA(-e.L4/2,b).addCornerRounded(e.R3).closeSegStroke();A.push(v);for(let H=1;H<e.N3+1;H++)A.push(M(e.L4/2-e.L7,b+H*c,D)),A.push(M(-e.L4/2+e.L7,b+H*c,D));for(let H=1;H<e.N4+1;H++)A.push(M(-e.L4/2+H*h,b+e.L7,D)),A.push(M(-e.L4/2+H*h,b+e.L3-e.L7,D));return A},_=function(b,A){return B(e.L2/2,b).addSegStrokeA(e.L2/2,b+A).addSegStrokeA(-e.L2/2,b+A).addSegStrokeA(-e.L2/2,b).closeSegStroke()};const l=e.L2/2,r=e.L4/2,w=(e.L2-2*e.E1)/2,V=e.H1-e.E1,F=B(l,0).addSegStrokeA(l,e.H1).addSegStrokeA(-l,e.H1).addSegStrokeA(-l,0).closeSegStroke(),P=B(w,e.E1).addSegStrokeA(w,V).addSegStrokeA(-w,V).addSegStrokeA(-w,e.E1).closeSegStroke(),N=B(r,e.H1).addSegStrokeA(r,e.H1+e.E2).addSegStrokeA(-r,e.H1+e.E2).addSegStrokeA(-r,e.H1).closeSegStroke();o.addMain(F),o.addMain(P),o.addSecond(N),i(0).forEach(b=>d.addMain(b)),d.addSecond(_(-e.L3/2,2*e.L3));const f=(e.L1-e.L3)/(e.N1-1);for(let b=0;b<e.N1;b++)i(b*f).forEach(A=>u.addMain(A));u.addSecond(_(0,e.L1)),s.fig={faceCut:o,facePlate:d,faceTop:u};const R=s.partName;s.vol={extrudes:[{outName:`subpax_${R}_rod`,face:`${R}_faceCut`,extrudeMethod:z.eLinearOrtho,length:e.L1,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${R}_plates`,face:`${R}_faceTop`,extrudeMethod:z.eLinearOrtho,length:e.E2,rotate:[Math.PI/2,0,0],translate:[0,e.E2+e.H1,0]}],volumes:[{outName:`pax_${R}`,boolMethod:J.eUnion,inList:[`subpax_${R}_rod`,`subpax_${R}_plates`]}]},s.sub={},s.logstr+=`heliostat-rod drawn successfully!
69
+ `,s.calcErr=!1}catch(D){s.logstr+=D,console.log(D)}return s}var yt={pTitle:"Heliostat rod",pDescription:"The rod of an heliostat-surface",pDef:ot,pGeom:Ft},it={partName:"trapeze",params:[t("L1","mm",1600,10,4e3,1),t("L2","mm",1e3,10,4e3,1),t("L3","mm",400,5,800,1),t("L4","mm",300,5,800,1),t("N1","",7,1,20,1),t("N2","",4,1,20,1),t("N3","",2,1,20,1),t("N4","",2,1,20,1),t("L5","mm",100,1,400,1),t("L6","mm",20,1,400,1),t("L7","mm",20,1,400,1),t("D1","mm",10,1,40,1),t("D2","mm",10,1,40,1),t("D3","mm",30,1,100,1),t("D4","mm",26,1,100,1),t("R1","mm",60,1,400,1),t("R2","mm",20,1,400,1),t("R3","mm",20,1,400,1),t("H1","mm",300,.5,800,.5),t("H2","mm",2,.5,800,.5),t("H3","mm",5,.5,800,.5)],paramSvg:{L1:"trapeze_top.svg",L2:"trapeze_top.svg",L3:"trapeze_top.svg",L4:"trapeze_top.svg",N1:"trapeze_top.svg",N2:"trapeze_top.svg",N3:"trapeze_top.svg",N4:"trapeze_top.svg",L5:"trapeze_top.svg",L6:"trapeze_top.svg",L7:"trapeze_top.svg",D1:"trapeze_top.svg",D2:"trapeze_top.svg",D3:"trapeze_rod.svg",D4:"trapeze_rod.svg",R1:"trapeze_top.svg",R2:"trapeze_top.svg",R3:"trapeze_top.svg",H1:"trapeze_side.svg",H2:"trapeze_side.svg",H3:"trapeze_side.svg"},sim:{tMax:180,tStep:.5,tUpdate:500}};function Tt(n,e,a=""){const s=le(it.partName+a);let i,_;const o=I(),d=I(),u=I(),D=I(),c=I();s.logstr+=`${s.partName} simTime: ${n}
70
+ `;try{if(e.L3>e.L1-e.L5)throw`err595: L3 ${e.L3} too large compare to L1 ${e.L1} and L5 ${e.L5}`;if(e.L4>e.L2-e.L5)throw`err596: L4 ${e.L4} too large compare to L2 ${e.L2} and L5 ${e.L5}`;if(e.H1-e.H2-e.H3<4*e.D3)throw`err597: H1 ${e.H1} too small compare to H2 ${e.H2}, H3 ${e.H3} and D3 ${e.D3}`;const h=e.R1*(1-1/Math.sqrt(2)),g=e.R3*(1-1/Math.sqrt(2)),l=e.L2/2-h-(e.L4/2-g),r=e.L1/2-h-(e.L3/2-g),w=Math.sqrt(l**2+r**2),V=e.H1-e.H2-e.H3,F=Math.sqrt(w**2+V**2),P=Math.atan2(V,w),N=Math.atan2(r,l);s.logstr+=`rod-slope: length: ${L(F)} mm, angle: ${L(oe(P))} degree
71
+ `,s.logstr+=`rod-xy-angle: ${L(oe(N))} degree
72
+ `;const f=e.D3/Math.cos(Math.PI/2-P);s.logstr+=`rod-footprint-length: ${L(f)} mm
73
+ `;const R=Math.sqrt((f/2)**2+(e.D3/2)**2),b=Math.atan2(e.D3,f);if(i=function(E,Z,G){return B(E,Z).addPointRP(G+Math.PI-b,R).addSeg2Arcs(G+Math.PI/2,G).addPointRP(G+Math.PI+b,R).addSeg2Arcs(G+Math.PI,G+Math.PI/2).addPointRP(G-b,R).addSeg2Arcs(G+3*Math.PI/2,G+Math.PI).addPointRP(G+b,R).addSeg2Arcs(G,G-Math.PI/2)},_=function(E,Z,G){const K=E+R*Math.cos(G+Math.PI-b),ie=Z+R*Math.sin(G+Math.PI-b);return B(K,ie).addSegStrokeRP(G+Math.PI,w).addSegStrokeRP(G-Math.PI/2,e.D3).addSegStrokeRP(G,w).closeSegStroke()},e.R1>e.L1/4||e.R1>e.L2/4)throw`err614: R1 ${e.R1} too large compare to L1 ${e.L1} or L2 ${e.L2}`;const A=B(e.L2/2,e.L1/2).addSegStrokeA(-e.L2/2,e.L1/2).addCornerRounded(e.R1).addSegStrokeA(-e.L2/2,-e.L1/2).addCornerRounded(e.R1).addSegStrokeA(e.L2/2,-e.L1/2).addCornerRounded(e.R1).closeSegStroke().addCornerRounded(e.R1);if(e.R2>(e.L1-2*e.L5)/4||e.R2>(e.L2-2*e.L5)/4)throw`err627: R2 ${e.R2} too large compare to L1 ${e.L1}, L2 ${e.L2} and L5 ${e.L5}`;const v=B(e.L2/2-e.L5,e.L1/2-e.L5).addSegStrokeA(-e.L2/2+e.L5,e.L1/2-e.L5).addCornerRounded(e.R2).addSegStrokeA(-e.L2/2+e.L5,-e.L1/2+e.L5).addCornerRounded(e.R2).addSegStrokeA(e.L2/2-e.L5,-e.L1/2+e.L5).addCornerRounded(e.R2).closeSegStroke().addCornerRounded(e.R2);if(e.R3>e.L3/4||e.R3>e.L4/4)throw`err639: R3 ${e.R3} too large compare to L3 ${e.L3} or L4 ${e.L4}`;const H=B(e.L4/2,e.L3/2).addSegStrokeA(-e.L4/2,e.L3/2).addCornerRounded(e.R3).addSegStrokeA(-e.L4/2,-e.L3/2).addCornerRounded(e.R3).addSegStrokeA(e.L4/2,-e.L3/2).addCornerRounded(e.R3).closeSegStroke().addCornerRounded(e.R3);o.addMain(A),o.addMain(v),o.addSecond(H);const S=e.L1/(e.N1+1),$=e.L2/(e.N2+1),y=e.L3/(e.N3+1),x=e.L4/(e.N4+1);if(e.L5<e.D1/2+e.L6)throw`err658: L5 ${e.L5} too small compare to D1 ${e.D1} or L6 ${e.L6}`;if(y<e.D2/2+e.L7)throw`err661: D2 ${e.D2} or L7 ${e.L7} too large compare to L3 ${e.l3}`;if(x<e.D2/2+e.L7)throw`err664: D2 ${e.D2} or L7 ${e.L7} too large compare to L4 ${e.l4}`;const X=[];for(let E=1;E<e.N1+1;E++)X.push(M(e.L2/2-e.L6,-e.L1/2+E*S,e.D1/2)),X.push(M(-e.L2/2+e.L6,-e.L1/2+E*S,e.D1/2));for(let E=1;E<e.N2+1;E++)X.push(M(-e.L2/2+E*$,e.L1/2-e.L6,e.D1/2)),X.push(M(-e.L2/2+E*$,-e.L1/2+e.L6,e.D1/2));const T=[];for(let E=1;E<e.N3+1;E++)T.push(M(e.L4/2-e.L7,-e.L3/2+E*y,e.D2/2)),T.push(M(-e.L4/2+e.L7,-e.L3/2+E*y,e.D2/2));for(let E=1;E<e.N4+1;E++)T.push(M(-e.L4/2+E*x,e.L3/2-e.L7,e.D2/2)),T.push(M(-e.L4/2+E*x,-e.L3/2+e.L7,e.D2/2));X.forEach(E=>{o.addMain(E)}),T.forEach(E=>{o.addSecond(E)});const m=[];m.push(i(e.L2/2-h,e.L1/2-h,N)),m.push(i(e.L4/2-g,e.L3/2-g,N)),m.push(i(-e.L2/2+h,e.L1/2-h,Math.PI-N)),m.push(i(-e.L4/2+g,e.L3/2-g,Math.PI-N)),m.push(i(-e.L2/2+h,-e.L1/2+h,Math.PI+N)),m.push(i(-e.L4/2+g,-e.L3/2+g,Math.PI+N)),m.push(i(e.L2/2-h,-e.L1/2+h,-N)),m.push(i(e.L4/2-g,-e.L3/2+g,-N));const p=[];if(p.push(_(e.L2/2-h,e.L1/2-h,N)),p.push(_(-e.L2/2+h,e.L1/2-h,Math.PI-N)),p.push(_(-e.L2/2+h,-e.L1/2+h,Math.PI+N)),p.push(_(e.L2/2-h,-e.L1/2+h,-N)),m.forEach(E=>{o.addSecond(E)}),p.forEach(E=>{o.addSecond(E)}),d.addMain(H),T.forEach(E=>{d.addMain(E)}),d.addSecond(A),d.addSecond(v),X.forEach(E=>{d.addSecond(E)}),m.forEach(E=>{d.addSecond(E)}),p.forEach(E=>{d.addSecond(E)}),e.D4>=e.D3)throw`err218: D4 ${e.D4} larger than D3 ${e.D3}`;u.addMain(M(0,0,e.D3/2)),u.addSecond(M(0,0,e.D4/2)),D.addMain(M(0,0,e.D4/2)),D.addSecond(M(0,0,e.D3/2));const W=e.D3*Math.cos(P),j=W/Math.tan(P),Q=g+(f/2+j)*Math.cos(N),ne=g+(f/2+j)*Math.sin(N),q=F+2*(f+j+W),ee=q+e.L3+e.L4+W,O=B(ee,ee).addSegStrokeA(-ee,ee).addSegStrokeA(-ee,-ee).addSegStrokeA(ee,-ee).closeSegStroke();c.addMain(O),s.fig={faceFrame:o,facePlate:d,faceRod:u,faceRodHollow:D,faceCutRod:c};const k=s.partName;s.vol={extrudes:[{outName:`subpax_${k}_frame`,face:`${k}_faceFrame`,extrudeMethod:z.eLinearOrtho,length:e.H2,rotate:[0,0,0],translate:[0,0,e.H1-e.H2]},{outName:`subpax_${k}_plate`,face:`${k}_facePlate`,extrudeMethod:z.eLinearOrtho,length:e.H3,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${k}_rod1`,face:`${k}_faceRod`,extrudeMethod:z.eLinearOrtho,length:q,rotate:[0,Math.PI/2-P,N],translate:[e.L4/2-Q,e.L3/2-ne,e.H3-W]},{outName:`subpax_${k}_rod2`,face:`${k}_faceRod`,extrudeMethod:z.eLinearOrtho,length:q,rotate:[0,Math.PI/2-P,Math.PI-N],translate:[-e.L4/2+Q,e.L3/2-ne,e.H3-W]},{outName:`subpax_${k}_rod3`,face:`${k}_faceRod`,extrudeMethod:z.eLinearOrtho,length:q,rotate:[0,Math.PI/2-P,Math.PI+N],translate:[-e.L4/2+Q,-e.L3/2+ne,e.H3-W]},{outName:`subpax_${k}_rod4`,face:`${k}_faceRod`,extrudeMethod:z.eLinearOrtho,length:q,rotate:[0,Math.PI/2-P,-N],translate:[e.L4/2-Q,-e.L3/2+ne,e.H3-W]},{outName:`subpax_${k}_rodH1`,face:`${k}_faceRodHollow`,extrudeMethod:z.eLinearOrtho,length:q,rotate:[0,Math.PI/2-P,N],translate:[e.L4/2-Q,e.L3/2-ne,e.H3-W]},{outName:`subpax_${k}_rodH2`,face:`${k}_faceRodHollow`,extrudeMethod:z.eLinearOrtho,length:q,rotate:[0,Math.PI/2-P,Math.PI-N],translate:[-e.L4/2+Q,e.L3/2-ne,e.H3-W]},{outName:`subpax_${k}_rodH3`,face:`${k}_faceRodHollow`,extrudeMethod:z.eLinearOrtho,length:q,rotate:[0,Math.PI/2-P,Math.PI+N],translate:[-e.L4/2+Q,-e.L3/2+ne,e.H3-W]},{outName:`subpax_${k}_rodH4`,face:`${k}_faceRodHollow`,extrudeMethod:z.eLinearOrtho,length:q,rotate:[0,Math.PI/2-P,-N],translate:[e.L4/2-Q,-e.L3/2+ne,e.H3-W]},{outName:`subpax_${k}_cut1`,face:`${k}_faceCutRod`,extrudeMethod:z.eLinearOrtho,length:ee,rotate:[0,0,0],translate:[0,0,-ee]},{outName:`subpax_${k}_cut2`,face:`${k}_faceCutRod`,extrudeMethod:z.eLinearOrtho,length:ee,rotate:[0,0,0],translate:[0,0,e.H1]}],volumes:[{outName:`ipax_${k}_rawRod`,boolMethod:J.eUnion,inList:[`subpax_${k}_rod1`,`subpax_${k}_rod2`,`subpax_${k}_rod3`,`subpax_${k}_rod4`]},{outName:`ipax_${k}_rodHollow`,boolMethod:J.eUnion,inList:[`subpax_${k}_rodH1`,`subpax_${k}_rodH2`,`subpax_${k}_rodH3`,`subpax_${k}_rodH4`]},{outName:`ipax_${k}_halfRods`,boolMethod:J.eSubstraction,inList:[`ipax_${k}_rawRod`,`subpax_${k}_cut1`]},{outName:`ipax_${k}_rods`,boolMethod:J.eSubstraction,inList:[`ipax_${k}_halfRods`,`subpax_${k}_cut2`]},{outName:`ipax_${k}_plus`,boolMethod:J.eUnion,inList:[`subpax_${k}_frame`,`subpax_${k}_plate`,`ipax_${k}_rods`]},{outName:`pax_${k}`,boolMethod:J.eSubstraction,inList:[`ipax_${k}_plus`,`ipax_${k}_rodHollow`]}]},s.sub={},s.logstr+=`trapeze drawn successfully!
74
+ `,s.calcErr=!1}catch(h){s.logstr+=h,console.log(h)}return s}var mt={pTitle:"Heliostat trapeze",pDescription:"The support of one solar panel. Made out of aluminium for lightness and cooling",pDef:it,pGeom:Tt},nt={partName:"surface",params:[t("LH","mm",1600,10,4e3,1),t("LV","mm",1e3,10,4e3,1),t("LZ","mm",40,0,100,1),t("nx","",9,1,40,1),t("ny","",9,1,40,1),He("main_direction",["horizontal","vertical"]),re("crenel",!1),t("first_row","",9,1,40,1),t("second_row","",9,1,40,1),t("EH","mm",10,0,1e3,1),re("EH_gradient",!1),t("EH_sup","mm",500,0,1e3,1),t("EH_cycle","",1,0,3,.05),t("EH_start","",0,0,1,.05),He("EH_shape",["sinusoid","triangle","sawUp","sawDown"]),t("EV","mm",10,0,1e3,1),re("EV_gradient",!1),t("EV_sup","mm",500,0,1e3,1),t("EV_cycle","",1,0,3,.05),t("EV_start","",0,0,1,.05),He("EV_shape",["sinusoid","triangle","sawUp","sawDown"]),t("power_efficiency","%",16,0,100,.1),t("solar_power","W/m2",816,100,2e3,1)],paramSvg:{LH:"surface_main.svg",LV:"surface_main.svg",LZ:"surface_lz.svg",nx:"surface_main.svg",ny:"surface_main.svg",main_direction:"surface_crenel.svg",crenel:"surface_crenel.svg",first_row:"surface_extremities.svg",second_row:"surface_extremities.svg",EH:"surface_main.svg",EH_gradient:"surface_space_evolution.svg",EH_sup:"surface_space_evolution.svg",EH_cycle:"surface_space_evolution.svg",EH_start:"surface_space_evolution.svg",EH_shape:"surface_space_shape.svg",EV:"surface_main.svg",EV_gradient:"surface_space_evolution.svg",EV_sup:"surface_space_evolution.svg",EV_cycle:"surface_space_evolution.svg",EV_start:"surface_space_evolution.svg",EV_shape:"surface_space_shape.svg",power_efficiency:"surface_power.svg",solar_power:"surface_power.svg"},sim:{tMax:180,tStep:.5,tUpdate:500}};function Ot(n,e,a=""){const s=le(nt.partName+a);let i;const _=I(),o=I();s.logstr+=`${s.partName} simTime: ${n}
75
+ `;try{const d=e.LH*e.LV/1e6,u=e.solar_power*d*e.power_efficiency/100;s.logstr+=`panel surface: ${L(d)} m2
76
+ `,s.logstr+=`panel power: ${L(u)} W
77
+ `;const D=e.nx*e.ny;s.logstr+=`max panel number: ${D}
78
+ `,s.logstr+=`max panel surface: ${L(D*d)} m2
79
+ `,s.logstr+=`max panel power: ${L(D*u)} W
80
+ `;const c=e.main_direction===1?e.ny:e.nx,h=e.main_direction===1?e.nx:e.ny,g=e.main_direction===1?e.EV:e.EH,l=e.main_direction===1?e.EV_gradient:e.EH_gradient,r=e.main_direction===1?e.EV_sup:e.EH_sup,w=e.main_direction===1?e.EV_cycle:e.EH_cycle,V=e.main_direction===1?e.EV_start:e.EH_start,F=e.main_direction===1?e.EV_shape:e.EH_shape,P=e.main_direction===0?e.EV:e.EH,N=e.main_direction===0?e.EV_gradient:e.EH_gradient,f=e.main_direction===0?e.EV_sup:e.EH_sup,R=e.main_direction===0?e.EV_cycle:e.EH_cycle,b=e.main_direction===0?e.EV_start:e.EH_start,A=e.main_direction===0?e.EV_shape:e.EH_shape,v=Math.max(h,e.first_row,e.second_row),H=[];for(let O=0;O<c;O++){const k=(O+1)%2,E=e.crenel?h-k:h;H.push(E)}H[0]=e.first_row,H[H.length-1]=e.first_row,c>2&&(H[1]=e.second_row,H[H.length-2]=e.second_row);let S=0;H.forEach(O=>{S+=O}),s.logstr+=`actual panel number: ${S} (${L(100*S/D)} %)
81
+ `,s.logstr+=`actual panel surface: ${L(S*d)} m2
82
+ `,s.logstr+=`actual panel power: ${L(S*u)} W
83
+ `;const $=[];for(let O=0;O<c-1;O++){let k=g;if(l===1){const E=c>2?c-2:1,Z=(V+O*w/E)%1;switch(F){case 0:k+=r*(1-Math.cos(Z*2*Math.PI))/2;break;case 1:k+=r*(1-2*Math.abs(Z-.5));break;case 2:k+=r*Z;break;case 3:k+=r*(1-Z);break;default:k+=r}}$.push(k)}let y=0;const x=[];x.push(0),$.forEach(O=>{y+=O,x.push(y)});const X=[];for(let O=0;O<v-1;O++){let k=P;if(N===1){const E=v>2?v-2:1,Z=(b+O*R/E)%1;switch(A){case 0:k+=f*(1-Math.cos(Z*2*Math.PI))/2;break;case 1:k+=f*(1-2*Math.abs(Z-.5));break;case 2:k+=f*Z;break;case 3:k+=f*(1-Z);break;default:k+=f}}X.push(k)}let T=0;const m=[];m.push(0),X.forEach(O=>{T+=O,m.push(T)});let p=0,W=0;e.main_direction===0?(p=c*e.LH+y,W=v*e.LV+T):(p=v*e.LH+T,W=c*e.LV+y);const j=p*W/10**6;s.logstr+=`global horizontal width: ${L(p/1e3)} m
84
+ `,s.logstr+=`global vertical height: ${L(W/1e3)} m
85
+ `,s.logstr+=`global area: ${L(j)} m2
86
+ `,s.logstr+=`area efficiency: ${L(100*S*d/j)} %
87
+ `;const Q=-p/2,ne=-W/2;i=function(O,k){return B(O,k).addSegStrokeA(O+e.LH,k).addSegStrokeA(O+e.LH,k+e.LV).addSegStrokeA(O,k+e.LV).closeSegStroke()};const q=[];H.forEach((O,k)=>{const E=(v-O)%2,Z=Math.floor((v-O)/2);for(let G=0;G<O;G++){let K=0,ie=0;e.main_direction===0?(K=Q+k*e.LH+x[k],ie=ne+(Z+G)*e.LV+m[Z+G],E===1&&(ie+=(e.LV+m[Z+G+1]-m[Z+G])/2)):(ie=ne+k*e.LV+x[k],K=Q+(Z+G)*e.LH+m[Z+G],E===1&&(K+=(e.LH+m[Z+G+1]-m[Z+G])/2)),q.push([K,ie])}});for(const O of q)_.addMain(i(O[0],O[1]));o.addMain(i(0,0)),s.fig={faceSurface:_,faceOnePanel:o};const ee=s.partName;s.vol={extrudes:q.map((O,k)=>({outName:`subpax_${ee}_panel_${k}`,face:`${ee}_faceOnePanel`,extrudeMethod:z.eLinearOrtho,length:e.LZ,rotate:[0,0,0],translate:[O[0],O[1],0]})),volumes:[{outName:`pax_${ee}`,boolMethod:J.eUnion,inList:q.map((O,k)=>`subpax_${ee}_panel_${k}`)}]},s.sub={},s.logstr+=`panel-surface drawn successfully!
88
+ `,s.calcErr=!1}catch(d){s.logstr+=d,console.log(d)}return s}var zt={pTitle:"Heliostat panel-surface",pDescription:"The surface collecting the solar power",pDef:nt,pGeom:Ot};const lt={"gear/gear_wheel_wheel":Ie,"gear/simplified_gear_wheel":bt,"heliostat/heliostat":Et,"heliostat/heliostat_2":Rt,"heliostat/base":Vt,"heliostat/pole_static":be,"heliostat/pole_rotor":It,"heliostat/rake":$e,"heliostat/rake_stopper":me,"heliostat/spider":ye,"heliostat/swing":ve,"heliostat/rod":yt,"heliostat/trapeze":mt,"heliostat/surface":zt};function Bt(n){const e=/^.*\//g;return n.replace(e,"")}function Ut(n){const e={};for(const a of Object.keys(n)){const s=Bt(a);e[s]=`/${a}`}return e}function Gt(n){const e=[];for(const a of Object.keys(n))e.push(a);return e}const Yt=Ut(lt),Xt=Gt(lt);export{lt as a,Yt as b,Xt as d};
@@ -0,0 +1 @@
1
+ var s;const e=((s=globalThis.__sveltekit_1r4hrmg)==null?void 0:s.base)??"";var a;const t=((a=globalThis.__sveltekit_1r4hrmg)==null?void 0:a.assets)??e;export{t as a,e as b};
@@ -1 +1 @@
1
- import{s as e}from"./entry.C3zjkdvH.js";const r=()=>{const s=e;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},b={subscribe(s){return r().page.subscribe(s)}};export{b as p};
1
+ import{s as e}from"./entry.CsF6fnqO.js";const r=()=>{const s=e;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},b={subscribe(s){return r().page.subscribe(s)}};export{b as p};
@@ -0,0 +1,7 @@
1
+ function __vite__mapDeps(indexes) {
2
+ if (!__vite__mapDeps.viteFileDeps) {
3
+ __vite__mapDeps.viteFileDeps = ["_app/immutable/nodes/0.CZsUlPuR.js","_app/immutable/chunks/scheduler.pWaib8rK.js","_app/immutable/chunks/index.DzDRugVt.js","_app/immutable/chunks/index.Cm-3kLLR.js","_app/immutable/chunks/paths.ClSAQomf.js","_app/immutable/assets/0.CEJMiobA.css","_app/immutable/nodes/1.BqYeci0V.js","_app/immutable/chunks/stores.DVTgRUTa.js","_app/immutable/chunks/entry.CsF6fnqO.js","_app/immutable/nodes/2.C-L5mEiC.js","_app/immutable/chunks/makeList.BiFeMQLr.js","_app/immutable/assets/2.CTp7BhB8.css","_app/immutable/nodes/3.fFlQHaXT.js","_app/immutable/assets/3.Bup7ghXO.css"]
4
+ }
5
+ return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
6
+ }
7
+ import{s as q,a as B,p as h,g as U,i as b,f as p,q as j,r as M,e as W,c as z,b as F,m as N,u as d,t as G,d as H,j as J,v as S,w as k,x as K}from"../chunks/scheduler.pWaib8rK.js";import{S as Q,i as X,t as g,c as R,a as w,g as L,b as v,d as D,m as E,e as y}from"../chunks/index.DzDRugVt.js";const Y="modulepreload",Z=function(a){return"/"+a},I={},P=function(e,n,s){let i=Promise.resolve();if(n&&n.length>0){const c=document.getElementsByTagName("link");i=Promise.all(n.map(t=>{if(t=Z(t),t in I)return;I[t]=!0;const r=t.endsWith(".css"),l=r?'[rel="stylesheet"]':"";if(!!s)for(let u=c.length-1;u>=0;u--){const m=c[u];if(m.href===t&&(!r||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${t}"]${l}`))return;const o=document.createElement("link");if(o.rel=r?"stylesheet":Y,r||(o.as="script",o.crossOrigin=""),o.href=t,document.head.appendChild(o),r)return new Promise((u,m)=>{o.addEventListener("load",u),o.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${t}`)))})}))}return i.then(()=>e()).catch(c=>{const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=c,window.dispatchEvent(t),!t.defaultPrevented)throw c})},re={};function $(a){let e,n,s;var i=a[1][0];function c(t,r){return{props:{data:t[3],form:t[2]}}}return i&&(e=k(i,c(a)),a[12](e)),{c(){e&&v(e.$$.fragment),n=h()},l(t){e&&D(e.$$.fragment,t),n=h()},m(t,r){e&&E(e,t,r),b(t,n,r),s=!0},p(t,r){if(r&2&&i!==(i=t[1][0])){if(e){L();const l=e;g(l.$$.fragment,1,0,()=>{y(l,1)}),R()}i?(e=k(i,c(t)),t[12](e),v(e.$$.fragment),w(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(i){const l={};r&8&&(l.data=t[3]),r&4&&(l.form=t[2]),e.$set(l)}},i(t){s||(e&&w(e.$$.fragment,t),s=!0)},o(t){e&&g(e.$$.fragment,t),s=!1},d(t){t&&p(n),a[12](null),e&&y(e,t)}}}function x(a){let e,n,s;var i=a[1][0];function c(t,r){return{props:{data:t[3],$$slots:{default:[ee]},$$scope:{ctx:t}}}}return i&&(e=k(i,c(a)),a[11](e)),{c(){e&&v(e.$$.fragment),n=h()},l(t){e&&D(e.$$.fragment,t),n=h()},m(t,r){e&&E(e,t,r),b(t,n,r),s=!0},p(t,r){if(r&2&&i!==(i=t[1][0])){if(e){L();const l=e;g(l.$$.fragment,1,0,()=>{y(l,1)}),R()}i?(e=k(i,c(t)),t[11](e),v(e.$$.fragment),w(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(i){const l={};r&8&&(l.data=t[3]),r&8215&&(l.$$scope={dirty:r,ctx:t}),e.$set(l)}},i(t){s||(e&&w(e.$$.fragment,t),s=!0)},o(t){e&&g(e.$$.fragment,t),s=!1},d(t){t&&p(n),a[11](null),e&&y(e,t)}}}function ee(a){let e,n,s;var i=a[1][1];function c(t,r){return{props:{data:t[4],form:t[2]}}}return i&&(e=k(i,c(a)),a[10](e)),{c(){e&&v(e.$$.fragment),n=h()},l(t){e&&D(e.$$.fragment,t),n=h()},m(t,r){e&&E(e,t,r),b(t,n,r),s=!0},p(t,r){if(r&2&&i!==(i=t[1][1])){if(e){L();const l=e;g(l.$$.fragment,1,0,()=>{y(l,1)}),R()}i?(e=k(i,c(t)),t[10](e),v(e.$$.fragment),w(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(i){const l={};r&16&&(l.data=t[4]),r&4&&(l.form=t[2]),e.$set(l)}},i(t){s||(e&&w(e.$$.fragment,t),s=!0)},o(t){e&&g(e.$$.fragment,t),s=!1},d(t){t&&p(n),a[10](null),e&&y(e,t)}}}function O(a){let e,n=a[6]&&T(a);return{c(){e=W("div"),n&&n.c(),this.h()},l(s){e=z(s,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var i=F(e);n&&n.l(i),i.forEach(p),this.h()},h(){N(e,"id","svelte-announcer"),N(e,"aria-live","assertive"),N(e,"aria-atomic","true"),d(e,"position","absolute"),d(e,"left","0"),d(e,"top","0"),d(e,"clip","rect(0 0 0 0)"),d(e,"clip-path","inset(50%)"),d(e,"overflow","hidden"),d(e,"white-space","nowrap"),d(e,"width","1px"),d(e,"height","1px")},m(s,i){b(s,e,i),n&&n.m(e,null)},p(s,i){s[6]?n?n.p(s,i):(n=T(s),n.c(),n.m(e,null)):n&&(n.d(1),n=null)},d(s){s&&p(e),n&&n.d()}}}function T(a){let e;return{c(){e=G(a[7])},l(n){e=H(n,a[7])},m(n,s){b(n,e,s)},p(n,s){s&128&&J(e,n[7])},d(n){n&&p(e)}}}function te(a){let e,n,s,i,c;const t=[x,$],r=[];function l(o,u){return o[1][1]?0:1}e=l(a),n=r[e]=t[e](a);let _=a[5]&&O(a);return{c(){n.c(),s=B(),_&&_.c(),i=h()},l(o){n.l(o),s=U(o),_&&_.l(o),i=h()},m(o,u){r[e].m(o,u),b(o,s,u),_&&_.m(o,u),b(o,i,u),c=!0},p(o,[u]){let m=e;e=l(o),e===m?r[e].p(o,u):(L(),g(r[m],1,1,()=>{r[m]=null}),R(),n=r[e],n?n.p(o,u):(n=r[e]=t[e](o),n.c()),w(n,1),n.m(s.parentNode,s)),o[5]?_?_.p(o,u):(_=O(o),_.c(),_.m(i.parentNode,i)):_&&(_.d(1),_=null)},i(o){c||(w(n),c=!0)},o(o){g(n),c=!1},d(o){o&&(p(s),p(i)),r[e].d(o),_&&_.d(o)}}}function ne(a,e,n){let{stores:s}=e,{page:i}=e,{constructors:c}=e,{components:t=[]}=e,{form:r}=e,{data_0:l=null}=e,{data_1:_=null}=e;j(s.page.notify);let o=!1,u=!1,m=null;M(()=>{const f=s.page.subscribe(()=>{o&&(n(6,u=!0),K().then(()=>{n(7,m=document.title||"untitled page")}))});return n(5,o=!0),f});function V(f){S[f?"unshift":"push"](()=>{t[1]=f,n(0,t)})}function A(f){S[f?"unshift":"push"](()=>{t[0]=f,n(0,t)})}function C(f){S[f?"unshift":"push"](()=>{t[0]=f,n(0,t)})}return a.$$set=f=>{"stores"in f&&n(8,s=f.stores),"page"in f&&n(9,i=f.page),"constructors"in f&&n(1,c=f.constructors),"components"in f&&n(0,t=f.components),"form"in f&&n(2,r=f.form),"data_0"in f&&n(3,l=f.data_0),"data_1"in f&&n(4,_=f.data_1)},a.$$.update=()=>{a.$$.dirty&768&&s.page.set(i)},[t,c,r,l,_,o,u,m,s,i,V,A,C]}class oe extends Q{constructor(e){super(),X(this,e,ne,te,q,{stores:8,page:9,constructors:1,components:0,form:2,data_0:3,data_1:4})}}const ae=[()=>P(()=>import("../nodes/0.CZsUlPuR.js"),__vite__mapDeps([0,1,2,3,4,5])),()=>P(()=>import("../nodes/1.BqYeci0V.js"),__vite__mapDeps([6,1,2,7,8,4])),()=>P(()=>import("../nodes/2.C-L5mEiC.js"),__vite__mapDeps([9,1,3,2,10,4,11])),()=>P(()=>import("../nodes/3.fFlQHaXT.js"),__vite__mapDeps([12,10,3,8,1,4,2,7,13]))],le=[],fe={"/":[2],"/[...design]":[3]},ce={handleError:({error:a})=>{console.error(a)},reroute:()=>{}};export{fe as dictionary,ce as hooks,re as matchers,ae as nodes,oe as root,le as server_loads};
@@ -0,0 +1 @@
1
+ import{a as t}from"../chunks/entry.CsF6fnqO.js";export{t as start};
@@ -1,4 +1,4 @@
1
- import{s as W,y as G,e as v,a as T,c as h,l as L,g as $,b as O,f as a,m as E,i as u,h as H,z as J,A as K,B as Q,o as U,t as X,d as Y,n as Z}from"../chunks/scheduler.pWaib8rK.js";import{S as ee,i as te,a as se,t as le}from"../chunks/index.DzDRugVt.js";import{e as q,v as ie}from"../chunks/index.BROvJSft.js";import{b as ne}from"../chunks/paths.CQQiRxnm.js";const ae=!0,we=Object.freeze(Object.defineProperty({__proto__:null,prerender:ae},Symbol.toStringTag,{value:"Module"})),re="designix-ui",oe="0.5.5",ce={type:"git",url:"git+https://github.com/charlyoleg2/parametrix.git"},pe="https://charlyoleg2.github.io/parametrix/",ue={cp_pgdsvg:"shx cp -r ../../node_modules/designix/dist/pgdsvg static/",dev:"vite dev",build:"vite build",preview:"vite preview",check:"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","check:watch":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch","test:unit":"vitest","test:unit:once":"vitest --run",lint:"prettier --check . && eslint .",ci:"run-s cp_pgdsvg build lint check test:unit:once",format:"prettier --write .",clean:"shx rm -fr .svelte-kit build node_modules static/pgdsvg"},ve={designix:"^0.5.21",geometrix:"^0.5.20",geomui:"^0.5.22"},he={"@sveltejs/adapter-auto":"^3.1.1","@sveltejs/adapter-static":"^3.0.1","@sveltejs/kit":"^2.5.1","@sveltejs/vite-plugin-svelte":"^3.0.2","@typescript-eslint/eslint-plugin":"^7.0.1","@typescript-eslint/parser":"^7.0.1",eslint:"^8.56.0","eslint-config-prettier":"^9.1.0","eslint-plugin-svelte":"^2.35.1","npm-run-all":"^4.1.5",prettier:"^3.2.5","prettier-plugin-svelte":"^3.2.1",sass:"^1.71.1",shx:"^0.3.4",svelte:"^4.2.11","svelte-check":"^3.6.4",tslib:"^2.6.2",typescript:"^5.3.3",vite:"^5.1.4",vitest:"^1.3.1"},fe="module",de={name:re,version:oe,private:!0,repository:ce,homepage:pe,scripts:ue,dependencies:ve,devDependencies:he,type:fe};function F(c,l,p){const r=c.slice();return r[3]=l[p],r}function V(c){let l=c[3]+"",p,r;return{c(){p=X(l),r=v("br")},l(s){p=Y(s,l),r=h(s,"BR",{})},m(s,m){u(s,p,m),u(s,r,m)},p:Z,d(s){s&&(a(p),a(r))}}}function me(c){let l,p="Welcome to designix-ui",r,s,m=`Showcasing the usage of the <a href="https://svelte.dev/">svelte</a> library
1
+ import{s as W,y as G,e as v,a as T,c as h,l as L,g as $,b as O,f as a,m as E,i as u,h as H,z as J,A as K,B as Q,o as U,t as X,d as Y,n as Z}from"../chunks/scheduler.pWaib8rK.js";import{S as ee,i as te,a as se,t as le}from"../chunks/index.DzDRugVt.js";import{e as q,v as ie}from"../chunks/index.Cm-3kLLR.js";import{b as ne}from"../chunks/paths.ClSAQomf.js";const ae=!0,we=Object.freeze(Object.defineProperty({__proto__:null,prerender:ae},Symbol.toStringTag,{value:"Module"})),re="designix-ui",oe="0.5.5",ce={type:"git",url:"git+https://github.com/charlyoleg2/parametrix.git"},pe="https://charlyoleg2.github.io/parametrix/",ue={cp_pgdsvg:"shx cp -r ../../node_modules/designix/dist/pgdsvg static/",dev:"vite dev",build:"vite build",preview:"vite preview",check:"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","check:watch":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch","test:unit":"vitest","test:unit:once":"vitest --run",lint:"prettier --check . && eslint .",ci:"run-s cp_pgdsvg build lint check test:unit:once",format:"prettier --write .",clean:"shx rm -fr .svelte-kit build node_modules static/pgdsvg"},ve={designix:"^0.5.24",geometrix:"^0.5.23",geomui:"^0.5.25"},he={"@sveltejs/adapter-auto":"^3.1.1","@sveltejs/adapter-static":"^3.0.1","@sveltejs/kit":"^2.5.2","@sveltejs/vite-plugin-svelte":"^3.0.2","@typescript-eslint/eslint-plugin":"^7.0.1","@typescript-eslint/parser":"^7.0.1",eslint:"^8.57.0","eslint-config-prettier":"^9.1.0","eslint-plugin-svelte":"^2.35.1","npm-run-all":"^4.1.5",prettier:"^3.2.5","prettier-plugin-svelte":"^3.2.2",sass:"^1.71.1",shx:"^0.3.4",svelte:"^4.2.12","svelte-check":"^3.6.6",tslib:"^2.6.2",typescript:"^5.4.2",vite:"^5.1.5",vitest:"^1.3.1"},fe="module",de={name:re,version:oe,private:!0,repository:ce,homepage:pe,scripts:ue,dependencies:ve,devDependencies:he,type:fe};function F(c,l,p){const r=c.slice();return r[3]=l[p],r}function V(c){let l=c[3]+"",p,r;return{c(){p=X(l),r=v("br")},l(s){p=Y(s,l),r=h(s,"BR",{})},m(s,m){u(s,p,m),u(s,r,m)},p:Z,d(s){s&&(a(p),a(r))}}}function me(c){let l,p="Welcome to designix-ui",r,s,m=`Showcasing the usage of the <a href="https://svelte.dev/">svelte</a> library
2
2
  <a href="https://www.npmjs.com/">geomui</a>.`,_,d,I=`<a href="${`${ne}/`}" class="svelte-1v6hyjg">index: list of designs</a>`,M,g,A,f,b,B=`<a href="https://github.com/charlyoleg2/parametrix">designix-ui</a>, a minimalist showcase
3
3
  of
4
4
  <a href="https://www.npmjs.com/">geomui</a>.`,S,y,w,N="Designix-ui version",z,j,k;const D=c[2].default,o=G(D,c,c[1],null);let C=q(c[0]),i=[];for(let e=0;e<C.length;e+=1)i[e]=V(F(c,C,e));return{c(){l=v("h1"),l.textContent=p,r=T(),s=v("h6"),s.innerHTML=m,_=T(),d=v("nav"),d.innerHTML=I,M=T(),g=v("main"),o&&o.c(),A=T(),f=v("footer"),b=v("article"),b.innerHTML=B,S=T(),y=v("article"),w=v("h3"),w.textContent=N,z=T(),j=v("code");for(let e=0;e<i.length;e+=1)i[e].c();this.h()},l(e){l=h(e,"H1",{class:!0,"data-svelte-h":!0}),L(l)!=="svelte-1ow6r3d"&&(l.textContent=p),r=$(e),s=h(e,"H6",{class:!0,"data-svelte-h":!0}),L(s)!=="svelte-7mn22s"&&(s.innerHTML=m),_=$(e),d=h(e,"NAV",{class:!0,"data-svelte-h":!0}),L(d)!=="svelte-ww4mf0"&&(d.innerHTML=I),M=$(e),g=h(e,"MAIN",{class:!0});var n=O(g);o&&o.l(n),n.forEach(a),A=$(e),f=h(e,"FOOTER",{class:!0});var t=O(f);b=h(t,"ARTICLE",{"data-svelte-h":!0}),L(b)!=="svelte-1pwhz7h"&&(b.innerHTML=B),S=$(t),y=h(t,"ARTICLE",{});var x=O(y);w=h(x,"H3",{"data-svelte-h":!0}),L(w)!=="svelte-18yz28i"&&(w.textContent=N),z=$(x),j=h(x,"CODE",{});var P=O(j);for(let R=0;R<i.length;R+=1)i[R].l(P);P.forEach(a),x.forEach(a),t.forEach(a),this.h()},h(){E(l,"class","svelte-1v6hyjg"),E(s,"class","svelte-1v6hyjg"),E(d,"class","svelte-1v6hyjg"),E(g,"class","svelte-1v6hyjg"),E(f,"class","svelte-1v6hyjg")},m(e,n){u(e,l,n),u(e,r,n),u(e,s,n),u(e,_,n),u(e,d,n),u(e,M,n),u(e,g,n),o&&o.m(g,null),u(e,A,n),u(e,f,n),H(f,b),H(f,S),H(f,y),H(y,w),H(y,z),H(y,j);for(let t=0;t<i.length;t+=1)i[t]&&i[t].m(j,null);k=!0},p(e,[n]){if(o&&o.p&&(!k||n&2)&&J(o,D,e,e[1],k?Q(D,e[1],n,null):K(e[1]),null),n&1){C=q(e[0]);let t;for(t=0;t<C.length;t+=1){const x=F(e,C,t);i[t]?i[t].p(x,n):(i[t]=V(x),i[t].c(),i[t].m(j,null))}for(;t<i.length;t+=1)i[t].d(1);i.length=C.length}},i(e){k||(se(o,e),k=!0)},o(e){le(o,e),k=!1},d(e){e&&(a(l),a(r),a(s),a(_),a(d),a(M),a(g),a(A),a(f)),o&&o.d(e),U(i,e)}}}function _e(c,l,p){let{$$slots:r={},$$scope:s}=l;const m=ie(de);return c.$$set=_=>{"$$scope"in _&&p(1,s=_.$$scope)},[m,s,r]}class je extends ee{constructor(l){super(),te(this,l,_e,me,W,{})}}export{je as component,we as universal};
@@ -1 +1 @@
1
- import{s as x,e as u,t as h,a as S,c as d,b as v,d as g,f as m,g as j,i as _,h as b,j as E,n as $,k}from"../chunks/scheduler.pWaib8rK.js";import{S as q,i as y}from"../chunks/index.DzDRugVt.js";import{p as C}from"../chunks/stores.Huum2hKK.js";function H(i){var f;let a,s=i[0].status+"",r,o,n,p=((f=i[0].error)==null?void 0:f.message)+"",c;return{c(){a=u("h1"),r=h(s),o=S(),n=u("p"),c=h(p)},l(e){a=d(e,"H1",{});var t=v(a);r=g(t,s),t.forEach(m),o=j(e),n=d(e,"P",{});var l=v(n);c=g(l,p),l.forEach(m)},m(e,t){_(e,a,t),b(a,r),_(e,o,t),_(e,n,t),b(n,c)},p(e,[t]){var l;t&1&&s!==(s=e[0].status+"")&&E(r,s),t&1&&p!==(p=((l=e[0].error)==null?void 0:l.message)+"")&&E(c,p)},i:$,o:$,d(e){e&&(m(a),m(o),m(n))}}}function P(i,a,s){let r;return k(i,C,o=>s(0,r=o)),[r]}class B extends q{constructor(a){super(),y(this,a,P,H,x,{})}}export{B as component};
1
+ import{s as x,e as u,t as h,a as S,c as d,b as v,d as g,f as m,g as j,i as _,h as b,j as E,n as $,k}from"../chunks/scheduler.pWaib8rK.js";import{S as q,i as y}from"../chunks/index.DzDRugVt.js";import{p as C}from"../chunks/stores.DVTgRUTa.js";function H(i){var f;let a,s=i[0].status+"",r,o,n,p=((f=i[0].error)==null?void 0:f.message)+"",c;return{c(){a=u("h1"),r=h(s),o=S(),n=u("p"),c=h(p)},l(e){a=d(e,"H1",{});var t=v(a);r=g(t,s),t.forEach(m),o=j(e),n=d(e,"P",{});var l=v(n);c=g(l,p),l.forEach(m)},m(e,t){_(e,a,t),b(a,r),_(e,o,t),_(e,n,t),b(n,c)},p(e,[t]){var l;t&1&&s!==(s=e[0].status+"")&&E(r,s),t&1&&p!==(p=((l=e[0].error)==null?void 0:l.message)+"")&&E(c,p)},i:$,o:$,d(e){e&&(m(a),m(o),m(n))}}}function P(i,a,s){let r;return k(i,C,o=>s(0,r=o)),[r]}class B extends q{constructor(a){super(),y(this,a,P,H,x,{})}}export{B as component};
@@ -1 +1 @@
1
- import{s as g,e as _,a as x,c as d,l as b,g as y,b as p,f as c,m as v,i as f,n as m,o as C,t as L,d as k,h as u}from"../chunks/scheduler.pWaib8rK.js";import{e as E}from"../chunks/index.BROvJSft.js";import{S,i as $}from"../chunks/index.DzDRugVt.js";import{d as q}from"../chunks/makeList.BtRSVN7R.js";import{b as A}from"../chunks/paths.CQQiRxnm.js";function H(r,e,l){const o=r.slice();return o[0]=e[l],o}function I(r){let e,l,o;return{c(){e=_("li"),l=_("a"),o=L(r[0]),this.h()},l(a){e=d(a,"LI",{});var n=p(e);l=d(n,"A",{href:!0});var s=p(l);o=k(s,r[0]),s.forEach(c),n.forEach(c),this.h()},h(){v(l,"href",`${A}/${r[0]}`)},m(a,n){f(a,e,n),u(e,l),u(l,o)},p:m,d(a){a&&c(e)}}}function N(r){let e,l="List of designs:",o,a,n=E(q),s=[];for(let t=0;t<n.length;t+=1)s[t]=I(H(r,n,t));return{c(){e=_("h2"),e.textContent=l,o=x(),a=_("ol");for(let t=0;t<s.length;t+=1)s[t].c();this.h()},l(t){e=d(t,"H2",{class:!0,"data-svelte-h":!0}),b(e)!=="svelte-96cxme"&&(e.textContent=l),o=y(t),a=d(t,"OL",{});var h=p(a);for(let i=0;i<s.length;i+=1)s[i].l(h);h.forEach(c),this.h()},h(){v(e,"class","svelte-1r3d1r")},m(t,h){f(t,e,h),f(t,o,h),f(t,a,h);for(let i=0;i<s.length;i+=1)s[i]&&s[i].m(a,null)},p:m,i:m,o:m,d(t){t&&(c(e),c(o),c(a)),C(s,t)}}}class B extends S{constructor(e){super(),$(this,e,null,N,g,{})}}export{B as component};
1
+ import{s as g,e as _,a as x,c as d,l as b,g as y,b as p,f as c,m as v,i as f,n as m,o as C,t as L,d as k,h as u}from"../chunks/scheduler.pWaib8rK.js";import{e as E}from"../chunks/index.Cm-3kLLR.js";import{S,i as $}from"../chunks/index.DzDRugVt.js";import{d as q}from"../chunks/makeList.BiFeMQLr.js";import{b as A}from"../chunks/paths.ClSAQomf.js";function H(r,e,l){const o=r.slice();return o[0]=e[l],o}function I(r){let e,l,o;return{c(){e=_("li"),l=_("a"),o=L(r[0]),this.h()},l(a){e=d(a,"LI",{});var n=p(e);l=d(n,"A",{href:!0});var s=p(l);o=k(s,r[0]),s.forEach(c),n.forEach(c),this.h()},h(){v(l,"href",`${A}/${r[0]}`)},m(a,n){f(a,e,n),u(e,l),u(l,o)},p:m,d(a){a&&c(e)}}}function N(r){let e,l="List of designs:",o,a,n=E(q),s=[];for(let t=0;t<n.length;t+=1)s[t]=I(H(r,n,t));return{c(){e=_("h2"),e.textContent=l,o=x(),a=_("ol");for(let t=0;t<s.length;t+=1)s[t].c();this.h()},l(t){e=d(t,"H2",{class:!0,"data-svelte-h":!0}),b(e)!=="svelte-96cxme"&&(e.textContent=l),o=y(t),a=d(t,"OL",{});var h=p(a);for(let i=0;i<s.length;i+=1)s[i].l(h);h.forEach(c),this.h()},h(){v(e,"class","svelte-1r3d1r")},m(t,h){f(t,e,h),f(t,o,h),f(t,a,h);for(let i=0;i<s.length;i+=1)s[i]&&s[i].m(a,null)},p:m,i:m,o:m,d(t){t&&(c(e),c(o),c(a)),C(s,t)}}}class B extends S{constructor(e){super(),$(this,e,null,N,g,{})}}export{B as component};