designix-uis 0.5.9 → 0.5.10

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 (48) hide show
  1. package/README.md +3 -2
  2. package/dist/designix-uis.js +1 -1
  3. package/dist/public/_app/immutable/chunks/{entry.ayvGGkPy.js → entry.srmsUyMV.js} +1 -1
  4. package/dist/public/_app/immutable/chunks/{index.Bs7kS4ug.js → index.BhqJUW2k.js} +6 -6
  5. package/dist/public/_app/immutable/chunks/makeList.B5eM3X4c.js +112 -0
  6. package/dist/public/_app/immutable/chunks/paths.BRXC3_zO.js +1 -0
  7. package/dist/public/_app/immutable/chunks/{stores.D_ZoZ0KR.js → stores.BZNWI8TH.js} +1 -1
  8. package/dist/public/_app/immutable/entry/{app.CJbfMN3M.js → app.Fuw-_ZUo.js} +2 -2
  9. package/dist/public/_app/immutable/entry/start.MLn30SKm.js +1 -0
  10. package/dist/public/_app/immutable/nodes/{0.BiVspp4R.js → 0.BE-W7Hwe.js} +3 -3
  11. package/dist/public/_app/immutable/nodes/{1.DYpv6lVE.js → 1.BW5Ycf-C.js} +1 -1
  12. package/dist/public/_app/immutable/nodes/{2.YFS5EP1q.js → 2.BSq0IR72.js} +1 -1
  13. package/dist/public/_app/immutable/nodes/{3.CUZ8RJLg.js → 3.BqOHGbX5.js} +1 -1
  14. package/dist/public/_app/version.json +1 -1
  15. package/dist/public/gear/gear_wheel_wheel.html +13 -13
  16. package/dist/public/gear/simplified_gear_wheel.html +13 -13
  17. package/dist/public/heliostat/base.html +13 -13
  18. package/dist/public/heliostat/haxis_guidance.html +60 -0
  19. package/dist/public/heliostat/heliostat.html +13 -13
  20. package/dist/public/heliostat/heliostat_2.html +15 -15
  21. package/dist/public/heliostat/pole_static.html +23 -14
  22. package/dist/public/heliostat/rake.html +13 -13
  23. package/dist/public/heliostat/rake_stopper.html +14 -14
  24. package/dist/public/heliostat/ring.html +13 -13
  25. package/dist/public/heliostat/ring_guidance.html +13 -13
  26. package/dist/public/heliostat/rod.html +13 -13
  27. package/dist/public/heliostat/spider.html +13 -13
  28. package/dist/public/heliostat/surface.html +13 -13
  29. package/dist/public/heliostat/swing.html +13 -13
  30. package/dist/public/heliostat/trapeze.html +13 -13
  31. package/dist/public/heliostat/vaxis.html +13 -13
  32. package/dist/public/heliostat/vaxis_guidance.html +14 -13
  33. package/dist/public/heliostat/vaxis_holder.html +13 -13
  34. package/dist/public/index.html +12 -12
  35. package/dist/public/pgdsvg/haxis_guidance.svg +1 -0
  36. package/dist/public/pgdsvg/haxis_guidance_outer.svg +1 -0
  37. package/dist/public/pgdsvg/haxis_guidance_spring.svg +1 -0
  38. package/dist/public/pgdsvg/rake.svg +1 -1
  39. package/dist/public/pgdsvg/rake_low_stopper_holder.svg +1 -0
  40. package/dist/public/pgdsvg/rake_side_stopper.svg +1 -1
  41. package/dist/public/pgdsvg/rake_top_stopper.svg +1 -1
  42. package/dist/public/pgdsvg/vaxis_guidance.svg +2 -1
  43. package/dist/public/pgdsvg/vaxis_guidance_spring.svg +1 -1
  44. package/dist/public/pgdsvg/vaxis_guidance_top.svg +2 -1
  45. package/package.json +1 -1
  46. package/dist/public/_app/immutable/chunks/makeList.YazkypBi.js +0 -108
  47. package/dist/public/_app/immutable/chunks/paths.BQk18xj1.js +0 -1
  48. package/dist/public/_app/immutable/entry/start.BEHzFFJw.js +0 -1
@@ -0,0 +1,112 @@
1
+ var Pe=Object.defineProperty;var De=(s,t,_)=>t in s?Pe(s,t,{enumerable:!0,configurable:!0,writable:!0,value:_}):s[t]=_;var O=(s,t,_)=>(De(s,typeof t!="symbol"?t+"":t,_),_);import{p as e,a as p,b as ut,c as Lt,i as rt,d as $t,f as H,g as z,E as Y,h as nt,j as _t,k as ft,l as St,m as M,n as dt,t as Bt,r as lt,o as tt,q as Zt,s as I,u as ct,v as Rt,w as Nt,x as yt,S as wt,y as xe}from"./index.BhqJUW2k.js";var ve=class{constructor(s,t,_,o,n){O(this,"base_center_x");O(this,"base_center_y");O(this,"base_radius");O(this,"initial_angle");O(this,"right_nleft");this.base_center_x=s,this.base_center_y=t,this.base_radius=_,this.initial_angle=o,this.right_nleft=n}angleSign(){return this.right_nleft?1:-1}lFromU(s){return this.base_radius*Math.sqrt(1+s**2)}wFromU(s){if(s<0)throw`err729: involute parameter au ${s} is negative`;if(Math.abs(s)>Math.PI/2)throw`err730: involute parameter au ${s} is larger than PI/2`;return this.angleSign()*(s-Math.atan(s))}w2FromU(s){return this.initial_angle+this.wFromU(s)}ptc(s){const t=this.lFromU(s),_=this.w2FromU(s),o=this.base_center_x+Math.cos(_)*t,n=this.base_center_y+Math.sin(_)*t;return[o,n]}ptcta(s){return this.initial_angle+this.angleSign()*s}uFromL(s){return Math.sqrt(s**2/this.base_radius**2-1)}uFromWslow(s){let _=Math.PI/3,o=_/2,n=this.wFromU(_),r=0;for(;Math.abs(n-s)>1e-4;)n<s?_+=o:_-=o,n=this.wFromU(_),o=o/2,r+=1;return console.log(`dbg072: uFromWslow itcnt ${r}`),_}laptc(s,t,_,o){if(Math.sign(t)*this.angleSign()<0)throw`err904: Invole.laptc angle-of-pressure ${t} not compatible with right_nleft ${this.right_nleft}`;const n=s+t,r=this.base_center_x+Math.cos(n)*this.base_radius,i=this.base_center_y+Math.sin(n)*this.base_radius,d=n-this.angleSign()*Math.PI/2,l=_*this.base_radius,c=r+Math.cos(d)*l,g=i+Math.sin(d)*l,h=this.lFromU(_)*o,a=_,u=Math.cos(a)*h,f=Math.sin(a)*h;return[c,g,u,f]}};function Dt(s,t,_,o,n){return new ve(s,t,_,o,n)}var $e=class{constructor(){O(this,"mod",1);O(this,"TN",23);O(this,"as",1);O(this,"cx",0);O(this,"cy",0);O(this,"brr",50);O(this,"blr",50);O(this,"ar",54);O(this,"pr",53);O(this,"dr",52);O(this,"br",51);O(this,"bRound",1);O(this,"adt",.5);O(this,"initAngle",0);O(this,"axisAngle",0);O(this,"involArcPairs",1);O(this,"skinThickness",0);O(this,"involuteR",Dt(0,0,50,0,!0));O(this,"involuteL",Dt(0,0,50,0,!1));O(this,"rud",0);O(this,"rup",0);O(this,"rua",0);O(this,"rwd",0);O(this,"rwp",0);O(this,"rwa",0);O(this,"lud",0);O(this,"lup",0);O(this,"lua",0);O(this,"lwd",0);O(this,"lwp",0);O(this,"lwa",0);O(this,"msg");O(this,"initStep",0);this.mod=1,this.msg="",this.initStep=0}incInitStep(s){if(this.initStep+1!==s)throw`err834: incInitStep initStep ${this.initStep} and target ${s} are not compatible`;this.initStep=s}checkInitStep(s,t){if(this.initStep<s)throw`err835: checkInitStep for ${t} initStep ${this.initStep} is too small compare to targetMin ${s}`}set1ModuleToothNumber(s,t){this.incInitStep(1),this.mod=s,this.TN=t,this.pr=this.mod*this.TN/2,this.as=2*Math.PI/this.TN}set2CenterPosition(s,t){this.incInitStep(2),this.cx=s,this.cy=t}set3CircleRadius(s,t,_,o){this.incInitStep(3),this.ar=this.pr+this.mod*s,this.dr=this.pr-this.mod*t,this.br=this.dr-this.mod*_,this.bRound=o}set4BaseCircles(s,t){this.incInitStep(4),this.brr=s,this.blr=t}set5AddendumThickness(s){this.incInitStep(5),this.adt=s/100}set6Angles(s,t){this.incInitStep(6),this.initAngle=s,this.axisAngle=t}set7InvoluteDetails(s,t){this.incInitStep(7),this.involArcPairs=s,this.skinThickness=t}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=Dt(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=Dt(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 s=this.as*this.adt,t=this.rwa-this.rwp,_=Math.abs(this.lwa-this.lwp),o=s-t-_;if(o<0)throw`err554: No remaining Addendum reserve ${H(o)}
2
+ `;const n=this.as*(1-this.adt),r=this.rwp-this.rwd,i=Math.abs(this.lwp-this.lwd),d=n-r-i;if(d<2*Math.atan2(this.bRound,this.br))throw`err555: No remaining Dedendum reserve ${H(d)} compare to bRound ${H(this.bRound)}
3
+ `}getToothRef(){const s=6*this.involArcPairs,t=0;this.checkInitStep(7,"getProfile"),this.calcInvoluteAngles();const _=(this.rua-this.rud)/s,o=(this.lua-this.lud)/s,n=this.initAngle+t*this.as,r=Dt(this.cx,this.cy,this.brr,n-this.rwp,!0),[i,d]=r.ptc(this.rud+0*_),l=z(i,d,"Gold");for(let S=0;S<s;S++){const[h,a]=r.ptc(this.rud+(S+1)*_);l.addSegStrokeA(h,a)}const c=n+this.as*this.adt,g=Dt(this.cx,this.cy,this.blr,c-this.lwp,!1);for(let S=0;S<s+1;S++){const[h,a]=g.ptc(this.lud+(s-S)*o);l.addSegStrokeA(h,a)}return l.closeSegStroke(),l}getProfile(){this.checkInitStep(7,"getProfile"),this.calcInvoluteAngles(),this.checkProfileConditions();const s=this.rwd-this.rwp,t=this.lwd-this.lwp,_=this.dr>this.brr?this.dr:this.brr,o=this.dr>this.blr?this.dr:this.blr;if(this.bRound>_-this.br)throw`err409: getProfile bRound ${H(this.bRound)} too large for erdr ${H(_)} and br ${H(this.br)}`;if(this.bRound>o-this.br)throw`err408: getProfile bRound ${H(this.bRound)} too large for eldr ${H(o)} and br ${H(this.br)}`;const n=(this.rua-this.rud)/this.involArcPairs,r=(this.lua-this.lud)/this.involArcPairs,i=dt(this.cx,this.cy),d=i.translatePolar(this.initAngle+s,this.br),l=z(d.cx,d.cy);for(let c=0;c<this.TN;c++){const g=this.initAngle+c*this.as,S=i.translatePolar(g+s,this.br);l.addSegStrokeA(S.cx,S.cy).addCornerRounded(this.bRound);const h=Dt(this.cx,this.cy,this.brr,g-this.rwp,!0),[a,u]=h.ptc(this.rud),f=h.ptcta(this.rud),w=dt(a,u).translatePolar(f-Math.PI/2,this.skinThickness);l.addSegStrokeA(w.cx,w.cy);for(let L=0;L<this.involArcPairs;L++){const N=this.rud+L*n,[k,$]=h.ptc(N+n),W=h.ptcta(N),G=h.ptcta(N+n)+Math.PI,J=dt(k,$).translatePolar(W-Math.PI/2,this.skinThickness);l.addPointA(J.cx,J.cy).addSeg2Arcs(W,G)}const V=g+this.as*this.adt,x=Dt(this.cx,this.cy,this.blr,V-this.lwp,!1),D=this.lud+this.involArcPairs*r,[E,v]=x.ptc(D),P=x.ptcta(D)+Math.PI,b=dt(E,v).translatePolar(P-Math.PI/2,this.skinThickness);l.addSegStrokeA(b.cx,b.cy);for(let L=0;L<this.involArcPairs;L++){const N=this.lud+(this.involArcPairs-L)*r,[k,$]=x.ptc(N-r),W=x.ptcta(N)+Math.PI,G=x.ptcta(N-r),J=dt(k,$).translatePolar(W-Math.PI/2,this.skinThickness);l.addPointA(J.cx,J.cy).addSeg2Arcs(W,G)}const R=i.translatePolar(V+t,this.br);l.addSegStrokeA(R.cx,R.cy).addCornerRounded(this.bRound)}return l.closeSegStroke(),l}getMsg(){return this.msg}};function Kt(){return new $e}function we(s,t,_,o){s.checkInitStep(1,"helper.gw2center-1"),t.checkInitStep(1,"helper.gw2center-2");const n=s.pr+t.pr+o,r=s.cx+n*Math.cos(_),i=s.cy+n*Math.sin(_);return[r,i,n]}function Me(s,t,_,o,n,r,i,d,l){s.checkInitStep(3,"helper.baseCircles-1"),t.checkInitStep(3,"helper.baseCircles-2");let c=_,g=n,S=o,h=r;const a=d,u=l;return a===0&&(t.TN>s.TN?(c=s.dr,g=c*t.TN/s.TN):(g=t.dr,c=g*s.TN/t.TN)),u===0&&(t.TN>s.TN?(S=s.dr,h=S*t.TN/s.TN):(h=t.dr,S=h*s.TN/t.TN)),i===1&&(S=c,h=g),[c,S,g,h]}var be=class{constructor(s,t,_,o,n,r){O(this,"gw1");O(this,"gw2");O(this,"initAngle1");O(this,"angleCenterCenter");O(this,"interAxis");O(this,"rightLeftCenter2");O(this,"msg");O(this,"apr");O(this,"apl");O(this,"lBDr",0);O(this,"lBDl",0);O(this,"laStartRr1",0);O(this,"laStartRr2",0);O(this,"laStartRl1",0);O(this,"laStartRl2",0);O(this,"aFODr1",0);O(this,"aFODr2",0);O(this,"aFODl1",0);O(this,"aFODl2",0);O(this,"lasr1",0);O(this,"lasr2",0);O(this,"lasl1",0);O(this,"lasl2",0);O(this,"firstToothUr1",0);O(this,"firstToothUl1",0);O(this,"ftdr1",0);O(this,"ftdl1",0);this.gw1=s,this.gw2=t,this.initAngle1=_,this.angleCenterCenter=o,this.interAxis=n,this.rightLeftCenter2=r,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 ${H(this.interAxis)} is too large compare to gw1.ar ${H(this.gw1.ar)} and gw2.ar ${H(this.gw2.ar)}
4
+ `),ct(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} = ${H(this.gw1.TN/this.gw2.TN)} and brr1/brr2 = ${H(this.gw1.brr)}/${H(this.gw2.brr)} = ${H(this.gw1.brr/this.gw2.brr)}
5
+ `),ct(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} = ${H(this.gw1.TN/this.gw2.TN)} and blr1/blr2 = ${H(this.gw1.blr)}/${H(this.gw2.blr)} = ${H(this.gw1.blr/this.gw2.blr)}
6
+ `)}check2(){this.gw1.checkInitStep(5,"ActionLine.check2-1"),this.gw2.checkInitStep(5,"ActionLine.check2-2"),ct(this.gw1.adt+this.gw2.adt-1)>0&&(this.msg+=`warn281: addendum thickness too large: adt1 ${H(this.gw1.adt)} adt2 ${H(this.gw2.adt)}
7
+ `);const s=this.gw1.ar-this.gw1.pr,t=this.gw1.pr-this.gw1.dr,_=this.gw2.ar-this.gw2.pr,o=this.gw2.pr-this.gw2.dr;ct(o-s)<0&&(this.msg+=`warn282: addendum-1 ${H(s)} larger than dedendum-2 ${H(o)}
8
+ `),ct(t-_)<0&&(this.msg+=`warn283: addendum-2 ${H(_)} larger than dedendum-1 ${H(t)}
9
+ `)}calcActionLine(){this.gw1.checkInitStep(4,"ActionLine.calcActionLine-1"),this.gw2.checkInitStep(4,"ActionLine.calcActionLine-2"),this.gw1.calcInvoluteAngles(),this.gw2.calcInvoluteAngles();const s=this.interAxis*this.gw1.brr/(this.gw1.brr+this.gw2.brr),t=this.interAxis*this.gw1.blr/(this.gw1.blr+this.gw2.blr),_=this.interAxis-s,o=this.interAxis-t;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: ${H(lt(this.apr))} left: ${H(lt(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: ${H(this.lBDr)} left: ${H(this.lBDl)} mm
11
+ `;const n=Math.PI/2+this.apr,r=Rt(this.gw1.ar,s,n);this.aFODr1=Math.PI-n-r;const i=this.gw1.rua-this.apr-this.gw1.rwa;if(ct(this.aFODr1-i)!==0)throw`dbg378: aFODr1 ${this.aFODr1} and aFODr1Alt ${i} differ`;const d=Nt(s,this.gw1.ar,this.aFODr1),l=n,c=Rt(this.gw2.ar,_,l);this.aFODr2=Math.PI-l-c;const g=this.gw2.rua-this.apr-this.gw2.rwa;if(ct(this.aFODr2-g)!==0)throw`dbg379: aFODr2 ${this.aFODr2} and aFODr2Alt ${g} differ`;const S=Nt(_,this.gw2.ar,this.aFODr2),h=d+S,a=h/this.gw1.brr,u=h/this.gw2.brr,f=this.gw1.rua-a,w=this.gw2.rua-u;this.laStartRr1=this.gw1.involuteR.lFromU(f),this.laStartRr2=this.gw2.involuteR.lFromU(w);const V=Math.PI/2+this.apl,x=Rt(this.gw1.ar,t,V);this.aFODl1=Math.PI-V-x;const D=this.gw1.lua-this.apl+this.gw1.lwa;if(ct(this.aFODl1-D)!==0)throw`dbg388: aFODl1 ${this.aFODl1} and aFODl1Alt ${D} differ`;const E=Nt(t,this.gw1.ar,this.aFODl1),v=n,P=Rt(this.gw2.ar,o,v);this.aFODl2=Math.PI-v-P;const b=this.gw2.lua-this.apl+this.gw2.lwa;if(ct(this.aFODl2-b)!==0)throw`dbg389: aFODl2 ${this.aFODl2} and aFODl2Alt ${b} differ`;const R=Nt(o,this.gw2.ar,this.aFODl2),L=E+R,N=L/this.gw1.blr,k=L/this.gw2.blr,$=this.gw1.lua-N,W=this.gw2.lua-k;this.laStartRl1=this.gw1.involuteL.lFromU($),this.laStartRl2=this.gw2.involuteL.lFromU(W),this.msg+=`Line of Action Effective length: right: ${H(h)} left: ${H(L)} mm
12
+ `,this.msg+=`Line of Action Effective rotation angle: right-1: ${H(lt(a))} right-2: ${H(lt(u))} left-1: ${H(lt(N))} left-2: ${H(lt(k))} degree
13
+ `,this.msg+=`Line of Action Effective height: right-1: ${H(this.gw1.ar-this.laStartRr1)} right-2: ${H(this.gw2.ar-this.laStartRr2)} left-1: ${H(this.gw1.ar-this.laStartRl1)} left-2: ${H(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: ${H(this.lasr1)} 2: ${H(this.lasr2)} mm
15
+ `,this.msg+=`Line of Action right: nb of contact point: 1: ${H(h/this.lasr1)} 2: ${H(h/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: ${H(this.lasl1)} 2: ${H(this.lasl2)} mm
17
+ `,this.msg+=`Line of Action left: nb of contact point: 1: ${H(L/this.lasl1)} 2: ${H(L/this.lasl2)}
18
+ `}calcContactPoint1(){for(this.gw1.checkInitStep(5,"ActionLine.calcContactPoint1"),this.firstToothUr1=yt(this.apr-(this.initAngle1-this.angleCenterCenter)+this.gw1.rwp);ct(this.firstToothUr1-this.gw1.as)>=0;)this.firstToothUr1=ct(this.firstToothUr1-this.gw1.as);for(this.firstToothUl1=yt(this.apl+(this.initAngle1-this.angleCenterCenter)+this.gw1.as*this.gw1.adt-this.gw1.lwp);ct(this.firstToothUl1-this.gw1.as)>=0;)this.firstToothUl1=ct(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(s,t,_,o,n,r,i,d,l,c){const S=Math.floor(t/(2*_)),h=(o+S*_)/n,a=s?1:-1,[u,f,w,V]=r.laptc(i,a*d,h,.4);this.msg+=`speed ${l}: vx ${H(w)} vy: ${H(V)} m/s
19
+ `;const x=dt(u,f),D=i+a*d,E=z(u,f,c),v=x.translatePolar(D,-V);E.addSegStrokeA(v.cx,v.cy);const P=v.translatePolar(D-a*Math.PI/2,w);return E.addSegStrokeA(P.cx,P.cy),E.closeSegStroke(),E}getContactSpeed(){const s=this.oneContactSpeed(!0,this.lBDr,this.lasr1,this.ftdr1,this.gw1.brr,this.gw1.involuteR,this.angleCenterCenter,this.apr,"R1","Black"),t=this.oneContactSpeed(!1,this.lBDl,this.lasl1,this.ftdl1,this.gw1.blr,this.gw1.involuteL,this.angleCenterCenter,this.apl,"L1","Black"),_=[];return _.push(s),_.push(t),_}getContours(){const s=[];s.push(M(this.gw1.cx,this.gw1.cy,this.laStartRr1,"SkyBlue")),s.push(M(this.gw1.cx,this.gw1.cy,this.laStartRl1,"SlateBlue")),s.push(M(this.gw2.cx,this.gw2.cy,this.laStartRr2,"SkyBlue")),s.push(M(this.gw2.cx,this.gw2.cy,this.laStartRl2,"SlateBlue"));const t=dt(this.gw1.cx,this.gw1.cy),_=dt(this.gw2.cx,this.gw2.cy),o=t.translatePolar(this.angleCenterCenter+this.apr,this.gw1.brr),n=_.translatePolar(this.angleCenterCenter+Math.PI+this.apr,this.gw2.brr),r=z(o.cx,o.cy,"YellowGreen");r.addSegStrokeA(n.cx,n.cy),r.closeSegStroke(),s.push(r);const i=t.translatePolar(this.angleCenterCenter-this.aFODr1,this.gw1.ar),d=_.translatePolar(this.angleCenterCenter+Math.PI-this.aFODr2,this.gw2.ar),l=z(i.cx,i.cy,"Yellow");l.addSegStrokeA(d.cx,d.cy),l.closeSegStroke(),s.push(l);const c=t.translatePolar(this.angleCenterCenter-this.apl,this.gw1.blr),g=_.translatePolar(this.angleCenterCenter+Math.PI-this.apl,this.gw2.blr),S=z(c.cx,c.cy,"YellowGreen");S.addSegStrokeA(g.cx,g.cy),S.closeSegStroke(),s.push(S);const h=t.translatePolar(this.angleCenterCenter+this.aFODl1,this.gw1.ar),a=_.translatePolar(this.angleCenterCenter+Math.PI+this.aFODl2,this.gw2.ar),u=z(h.cx,h.cy,"Yellow");return u.addSegStrokeA(a.cx,a.cy),u.closeSegStroke(),s.push(u),s.push(...this.getContactSpeed()),s}getContactPoint(){const s=[],t=dt(this.gw1.cx,this.gw1.cy),_=t.translatePolar(this.angleCenterCenter+this.apr,this.gw1.brr),o=t.translatePolar(this.angleCenterCenter-this.apl,this.gw1.blr);s.push(dt(_.cx,_.cy,wt.eBigSquare)),s.push(dt(o.cx,o.cy,wt.eBigSquare));const n=this.angleCenterCenter+this.apr-Math.PI/2,r=this.angleCenterCenter-this.apl+Math.PI/2,i=_.translatePolar(n,this.ftdr1),d=o.translatePolar(r,this.ftdl1);s.push(dt(i.cx,i.cy,wt.eBigSquare)),s.push(dt(d.cx,d.cy,wt.eBigSquare));let l=this.ftdr1;for(;l+this.lasr1<this.lBDr;){l+=this.lasr1;const g=_.translatePolar(n,l);s.push(dt(g.cx,g.cy,wt.eBigSquare))}let c=this.ftdl1;for(;c+this.lasl1<this.lBDl;){c+=this.lasl1;const g=o.translatePolar(r,c);s.push(dt(g.cx,g.cy,wt.eBigSquare))}return s}getMsg(){return this.msg}getInitAngle2(){let s=this.lBDr-this.ftdr1;for(;ct(s-this.lasr2)>=0;)s=ct(s-this.lasr2);let t=this.lBDl-this.ftdl1;for(;ct(t-this.lasl2)>=0;)t=ct(t-this.lasl2);const _=s/this.gw2.brr,o=t/this.gw2.blr,n=this.angleCenterCenter+Math.PI+this.apr-_+this.gw2.rwp,i=this.angleCenterCenter+Math.PI-this.apl+o+this.gw2.lwp-this.gw2.as*this.gw2.adt;let d=2*Math.PI+yt(i);for(;ct(d-this.gw2.as-n)>=0;)d=ct(d-this.gw2.as);const l=d-n,c=l*this.gw2.brr/this.gw1.brr,g=l*this.gw2.brr,S=l*this.gw2.blr;this.msg+=`slack angle: 1: ${H(lt(c))} 2: ${H(lt(l))} degree
20
+ `,this.msg+=`slack on action line: right-2: ${H(g)} left-2: ${H(S)} mm
21
+ `;let h=0;if(this.rightLeftCenter2===0)h=n;else if(this.rightLeftCenter2===1)h=i;else if(this.rightLeftCenter2===2)h=n+l/2;else throw`err221: initAngle2 rightLeftCenter2 ${this.rightLeftCenter2} has an unkown value`;return xe(h)}};function ke(s,t,_,o,n,r){return new be(s,t,_,o,n,r)}function Ee(s,t,_,o,n,r,i,d,l){let c=M(s,t,_);if(o>0){if(n>2*_)throw`err383: axisTorque ribWidth ${H(n)} larger than 2x axisRadius ${H(_)}`;const g=Math.asin(n/(2*_)),S=2*Math.PI/o;if(S-2.5*g<0)throw`err384: axisTorque ribWidth ${H(n)} or ribNb ${o} are too large`;if(i>n/2)throw`err385: axisTorque ribRound1 ${H(i)} too large compare to ribWidth ${H(n)}`;if(i+d>r)throw`err386: axisTorque ribRound12 ${H(i)} ${H(d)} too large compare to ribHeight ${H(n)}`;const h=S-2*g>Math.PI,a=dt(s,t),f=a.translatePolar(l,_+r).translatePolar(l+Math.PI/2,n/2);c=z(f.cx,f.cy);for(let w=0;w<o;w++){const V=l+w*S,x=V+S,D=a.translatePolar(V+g,_),E=a.translatePolar(x-g,_),P=a.translatePolar(V,_+r).translatePolar(V+Math.PI/2,n/2),R=a.translatePolar(x,_+r).translatePolar(x-Math.PI/2,n/2);c.addSegStrokeA(P.cx,P.cy).addCornerRounded(i),c.addSegStrokeA(D.cx,D.cy).addCornerRounded(d),c.addPointA(E.cx,E.cy).addSegArc(_,h,!0).addCornerRounded(d),c.addSegStrokeA(R.cx,R.cy).addCornerRounded(i)}c.closeSegStroke()}return c}function Ae(s,t,_,o,n,r,i,d){const l=2*Math.PI/n,c=Math.asin(r/(2*o)),g=Math.asin(r/(2*_));if(r>2*o)throw`err905: hollowStraight spokeWidth ${H(r)} too large for hollowInt ${H(o)}`;if(_-o<2.1*i)throw`err906: hollowStraight hollowExt ${H(_)}, hollowInt ${H(o)} and spokeRound ${H(i)} do not fit`;if(l-2*g<2.5*Math.asin(i/_))throw`err907: hollowStraight spokeNb ${n}, spokeWidth ${H(r)} or spokeRound ${H(i)} are too large`;const S=r/(2*Math.sin(l/2)),h=l-2*c<2.1*Math.asin(i/o),a=l-2*g>Math.PI,u=dt(s,t),f=[];for(let w=0;w<n;w++){const V=d+w*l,x=V+l,D=V+l/2,E=u.translatePolar(V+g,_),v=u.translatePolar(x-g,_),P=u.translatePolar(x-c,o),b=u.translatePolar(V+c,o),R=u.translatePolar(D,S),L=z(E.cx,E.cy);L.addCornerRounded(i),L.addPointA(v.cx,v.cy).addSegArc(_,a,!0).addCornerRounded(i),h?L.addSegStrokeA(R.cx,R.cy).addCornerRounded(i):(L.addSegStrokeA(P.cx,P.cy).addCornerRounded(i),L.addPointA(b.cx,b.cy).addSegArc(o,a,!1).addCornerRounded(i)),L.closeSegStroke(),f.push(L)}return f}function Qt(s,t,_,o,n,r,i,d,l,c){const g=c?1:-1,S=s/2,h=S+t,a=h+_,u=z(0,-a);return u.addSegStrokeA(g*o,-a).addCornerRounded(i).addSegStrokeA(g*o,-h).addCornerRounded(d).addSegStrokeA(g*n,-h).addSegStrokeA(g*r,-S).addCornerRounded(l).addSegStrokeA(g*r,S).addCornerRounded(l).addSegStrokeA(g*n,h).addSegStrokeA(g*o,h).addCornerRounded(d).addSegStrokeA(g*o,a).addCornerRounded(i).addSegStrokeA(0,a).closeSegStroke(),u}var te={partName:"gear_wheel_wheel",params:[e("module","mm",10,.1,100,.1),e("N1","scalar",23,3,1e3,1),e("N2","scalar",19,3,1e3,1),e("angleCenterCenter","degree",0,-180,180,1),e("addInterAxis","mm",0,0,100,.05),e("c1x","mm",0,-200,200,1),e("c1y","mm",0,-200,200,1),p("Tooth Profile"),e("ah1","scalar",1,.1,2,.05),e("dh1","scalar",1,.1,2,.05),e("bh1","scalar",.25,.1,2,.05),e("bRound1","mm",2,0,50,.1),e("ah2","scalar",1,.1,2,.05),e("dh2","scalar",1,.1,2,.05),e("bh2","scalar",.25,.1,2,.05),e("bRound2","mm",2,0,50,.1),e("at1","%",50,10,90,.5),e("at2","%",50,10,90,.5),ut("involSym",!0),Lt("involROpt",["Optimum","Base-1","Base-2","PressureAngle","FreeBase-12"]),Lt("involLOpt",["Optimum","Base-1","Base-2","PressureAngle","FreeBase-12"]),e("brr1","mm",50,10,2e3,.05),e("brr2","mm",50,10,2e3,.05),e("blr1","mm",50,10,2e3,.05),e("blr2","mm",50,10,2e3,.05),e("involArcPairs1","scalar",2,1,40,1),e("involArcPairs2","scalar",2,1,40,1),e("skinThickness1","mm",0,-3,3,.01),e("skinThickness2","mm",0,-3,3,.01),e("initAngle1","degree",0,-180,180,1),Lt("gw2Position",["right","left","center"]),p("Inner"),ut("centralAxis",!0),e("axisRadius","mm",10,.1,200,.1),e("ribNb","scalar",5,0,32,1),e("ribWidth","mm",8,1,100,.1),e("ribHeight","mm",8,1,100,.1),e("ribRound1","mm",2,0,20,.1),e("ribRound2","mm",2,0,20,.1),ut("hollow",!0),e("materialHeightExt","mm",20,1,200,.5),e("materialHeightInt","mm",15,1,200,.5),e("spokeNb","scalar",5,1,18,1),e("spokeWidth","mm",15,1,200,.1),e("spokeRound","mm",10,0,20,.1),p("Axis"),ut("centralAxis",!0),ut("wheelAxis",!0),e("wheelHeight","mm",40,.1,400,.1),e("wheelMidExtra","mm",6,0,10,.1),e("wheelAxisLength","mm",40,0,400,.1),e("wheelAxisRadius","mm",20,0,200,.1),e("wheelMidRadius","mm",60,0,200,.1),e("wheelRadiusExtra","mm",1,0,20,.1),e("wheelAxisExtRound","mm",4,0,20,.1),e("wheelAxisIntRound","mm",0,0,20,.1),e("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 Re(s,t,_=""){const o=rt(te.partName+_),n=I(),r=I();o.logstr+=`${o.partName} simTime: ${s}
22
+ `;try{const i=Kt(),d=Kt();i.set1ModuleToothNumber(t.module,t.N1),d.set1ModuleToothNumber(t.module,t.N2),i.set2CenterPosition(t.c1x,t.c1y);const l=$t(t.angleCenterCenter),[c,g,S]=we(i,d,l,t.addInterAxis);d.set2CenterPosition(c,g),i.set3CircleRadius(t.ah1,t.dh1,t.bh1,t.bRound1),d.set3CircleRadius(t.ah2,t.dh2,t.bh2,t.bRound2);const[h,a,u,f]=Me(i,d,t.brr1,t.blr1,t.brr2,t.blr2,t.involSym,t.involROpt,t.involROpt);i.set4BaseCircles(h,a),d.set4BaseCircles(u,f),i.set5AddendumThickness(t.at1),d.set5AddendumThickness(t.at2);const w=$t(t.initAngle1)+s*3*i.as/100;i.set6Angles(w,l);const V=ke(i,d,w,l,S,t.gw2Position);V.prepare();for(const b of V.getContours())n.addDynamics(b);n.addPoints(V.getContactPoint()),d.set6Angles(V.getInitAngle2(),l+Math.PI),o.logstr+=V.getMsg(),i.set7InvoluteDetails(t.involArcPairs1,t.skinThickness1),d.set7InvoluteDetails(t.involArcPairs2,t.skinThickness2);for(const b of i.getRefCircles())n.addDynamics(b);for(const b of d.getRefCircles())n.addDynamics(b);n.addDynamics(i.getToothRef()),n.addDynamics(d.getToothRef());const x=i.getProfile();if(o.logstr+=i.getMsg(),o.logstr+=x.check(),n.addMain(x),t.centralAxis===1){const b=Ee(i.cx,i.cy,t.axisRadius,t.ribNb,t.ribWidth,t.ribHeight,t.ribRound1,t.ribRound2,w);o.logstr+=b.check(),n.addMain(b)}if(t.hollow===1){const b=i.br,R=t.axisRadius+t.ribHeight,L=b-t.materialHeightExt,N=R+t.materialHeightInt;if(N>L)throw`err902: hollowMaterialInt ${H(N)} bigger than hollowMaterialExt ${H(L)}`;const k=Ae(i.cx,i.cy,L,N,t.spokeNb,t.spokeWidth,t.spokeRound,w);for(const $ of k)o.logstr+=$.check(),n.addMain($)}const D=d.getProfile();o.logstr+=D.check(),n.addSecond(D);const E=i.ar+t.wheelRadiusExtra;if(t.wheelAxis===1){const b=Qt(t.wheelHeight,t.wheelMidExtra,t.wheelAxisLength,t.wheelAxisRadius,t.wheelMidRadius,E,t.wheelAxisExtRound,t.wheelAxisIntRound,t.wheelExtraRound,!0),R=Qt(t.wheelHeight,t.wheelMidExtra,t.wheelAxisLength,t.wheelAxisRadius,t.wheelMidRadius,E,t.wheelAxisExtRound,t.wheelAxisIntRound,t.wheelExtraRound,!1);r.addMain(b),r.addSecond(R)}else{const b=z(0,-t.wheelHeight/2).addSegStrokeR(0,t.wheelHeight).addSegStrokeR(E,0).addSegStrokeR(0,-t.wheelHeight).closeSegStroke(),R=z(0,-t.wheelHeight/2).addSegStrokeR(0,t.wheelHeight).addSegStrokeR(-E,0).addSegStrokeR(0,-t.wheelHeight).closeSegStroke();r.addMain(b),r.addSecond(R)}o.fig={teethProfile:n,axisProfile:r};const v=o.partName,P=t.wheelHeight/2+t.wheelMidExtra+t.wheelAxisLength+10;o.vol={extrudes:[{outName:`subpax_${v}_teethProfile`,face:`${v}_teethProfile`,extrudeMethod:Y.eLinearOrtho,length:2*P,rotate:[0,0,0],translate:[0,0,-P]},{outName:`subpax_${v}_axisProfile`,face:`${v}_axisProfile`,extrudeMethod:Y.eRotate,rotate:[0,0,0],translate:[0,0,0]}],volumes:[{outName:`pax_${v}`,boolMethod:nt.eIntersection,inList:[`subpax_${v}_teethProfile`,`subpax_${v}_axisProfile`]}]},o.logstr+=`gear_wheel_wheel drawn successfully!
23
+ `,o.calcErr=!1}catch(i){o.logstr+=i,console.log(i)}return o}var Tt={pTitle:"Gearwheel-gearwheel",pDescription:"Gear-system with two wheels",pDef:te,pGeom:Re},ee={partName:"simplified_gear_wheel",params:[e("module","mm",10,.1,100,.1),e("N1","scalar",23,3,1e3,1),e("c1x","mm",0,-200,200,1),e("c1y","mm",0,-200,200,1),ut("centralAxis",!0),e("axisRadius","mm",10,.1,200,.1),e("ribNb","scalar",5,0,32,1),e("ribWidth","mm",8,1,100,.1),e("ribHeight","mm",8,1,100,.1),e("ribRound1","mm",2,0,20,.1),e("ribRound2","mm",2,0,20,.1),ut("hollow",!0),e("materialHeightExt","mm",20,1,200,.5),e("materialHeightInt","mm",15,1,200,.5),e("spokeNb","scalar",5,1,18,1),e("spokeWidth","mm",15,1,200,.1),e("spokeRound","mm",10,0,20,.1),ut("wheelAxis",!0),e("wheelHeight","mm",40,.1,400,.1),e("wheelMidExtra","mm",6,0,10,.1),e("wheelAxisLength","mm",40,0,400,.1),e("wheelAxisRadius","mm",20,0,200,.1),e("wheelMidRadius","mm",60,0,200,.1),e("wheelRadiusExtra","mm",1,0,20,.1),e("wheelAxisExtRound","mm",4,0,20,.1),e("wheelAxisIntRound","mm",0,0,20,.1),e("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 Ne(s,t,_=""){const o=rt(ee.partName+_),n=I(),r=I();o.logstr+=`${o.partName} simTime: ${s}
24
+ `;try{const i=_t(Tt.pDef,"_ref1");i.setVal("module",t.module),i.setVal("N1",t.N1),i.setVal("c1x",t.c1x),i.setVal("c1y",t.c1y),i.setVal("centralAxis",t.centralAxis),i.setVal("axisRadius",t.axisRadius),i.setVal("ribNb",t.ribNb),i.setVal("ribWidth",t.ribWidth),i.setVal("ribHeight",t.ribHeight),i.setVal("ribRound1",t.ribRound1),i.setVal("ribRound2",t.ribRound2),i.setVal("hollow",t.hollow),i.setVal("materialHeightExt",t.materialHeightExt),i.setVal("materialHeightInt",t.materialHeightInt),i.setVal("spokeNb",t.spokeNb),i.setVal("spokeWidth",t.spokeWidth),i.setVal("spokeRound",t.spokeRound),i.setVal("wheelAxis",t.wheelAxis),i.setVal("wheelHeight",t.wheelHeight),i.setVal("wheelMidExtra",t.wheelMidExtra),i.setVal("wheelAxisLength",t.wheelAxisLength),i.setVal("wheelAxisRadius",t.wheelAxisRadius),i.setVal("wheelMidRadius",t.wheelMidRadius),i.setVal("wheelRadiusExtra",t.wheelRadiusExtra),i.setVal("wheelAxisExtRound",t.wheelAxisExtRound),i.setVal("wheelAxisIntRound",t.wheelAxisIntRound),i.setVal("wheelExtraRound",t.wheelExtraRound);const d=Tt.pGeom(s,i.getParamVal(),i.getSuffix());ft(d),o.logstr+=St(d.logstr,i.getPartNameSuffix()),n.mergeFigure(d.fig.teethProfile),r.mergeFigure(d.fig.axisProfile),o.fig={teethProfile:n,axisProfile:r};const l=o.partName;o.vol={inherits:[{outName:`inpax_${l}_gearWW`,subdesign:"pax_gear_wheel_wheel_ref1",subgeom:d,rotate:[0,0,0],translate:[0,0,0]}],extrudes:[],volumes:[{outName:`pax_${l}`,boolMethod:nt.eIdentity,inList:[`inpax_${l}_gearWW`]}]};const c={partName:i.getPartName(),dparam:i.getDesignParamList(),orientation:[0,0,0],position:[0,0,0]};o.sub={gear_wheel_wheel_1:c},o.logstr+=`simplified_gear_wheel drawn successfully!
25
+ `,o.calcErr=!1}catch(i){o.logstr+=i,console.log(i)}return o}var Ve={pTitle:"Simplified gearwheel",pDescription:"One simplified gearwheel without details on teeth-profile",pDef:ee,pGeom:Ne};function Ce(s){let t="";const _=s.PHD1/2,o=s.PHD5/2,n=2*Math.asin(s.PHR4/_),r=2*Math.asin(s.PHL2/(2*o)),i=2*Math.PI/s.PHN1-r,d=s.PHL2/2,l=Math.sqrt(o**2-d**2)-_,c=Math.sqrt(d**2+l**2),g=Math.acos(l/c),S=Math.acos(s.PHR4/c),h=Math.PI-g-S;if(o<_+s.PHR4)throw`err211: PHD5 ${s.PHD5} too small compare to PHD1 ${s.PHD1} or PHR4 ${s.PHR4}`;if(i<r)throw`err212: PHL2 ${s.PHL2} too large compare to PHN1 ${s.PHN1}`;if(s.PHD3>2*s.PHR4)throw`err213: PHD3 ${s.PHD3} too large compare to PHR4 ${s.PHR4}`;h>Math.PI/2-n&&(t+=`warn345: PHL2 is quiet small ${H(s.PHL2)} mm
26
+ `),t+=`petal angle: ${H(lt(r))} degree
27
+ `,t+=`hollow angle: ${H(lt(i))} degree
28
+ `;const a=dt(0,0),f=dt(o,0).rotate(a,-r/2),w=dt(_,0),V=dt(_-s.PHR4,0),x=V.rotate(w,h),D=V.rotate(w,-h),E=z(f.cx,f.cy).addCornerRounded(s.PHR6).addSegStrokeA(x.cx,x.cy).addPointA(_-s.PHR4,0).addPointA(D.cx,D.cy).addSegArc2().addSegStrokeAP(r/2,o).addCornerRounded(s.PHR6).addPointAP(r/2+i/2,o).addPointAP(r/2+i,o).addSegArc2(),v=z(f.cx,f.cy),P=[...Array(s.PHN1).keys()].map(b=>b*(r+i));for(const b of P)v.addPartial(E.rotate(0,0,b));return[t,v,P]}function oe(s){const t="",_=s.D1/2,o=s.D2/2,n=s.D4/2,r=2*Math.PI/s.N1,i=s.L1/2,d=Math.sqrt(o**2-i**2),l=Math.asin(i/o),c=_-d,g=Math.atan2(i,c),S=Math.sqrt(i**2+c**2),h=Math.acos(n/S),a=g+h,u=(r-2*l)/2;if(u<0)throw`err464: N1 ${s.N1} is too large compare to D2 ${s.D2}, L1 ${s.L1}`;if(_<o)throw`err465: D2 ${s.D2} is too large compare to D1 ${s.D1}`;const f=z(d,-i),w=dt(0,0),V=dt(o,0),x=dt(_,0),E=dt(_-n,0).rotate(x,a),v=V.rotate(w,l+u),P=V.rotate(w,r-l),b=z(d,-i).addCornerRounded(s.R5).addSegStrokeA(E.cx,E.cy).addPointA(_+n,0).addPointA(E.cx,-E.cy).addSegArc2().addSegStrokeA(d,i).addCornerRounded(s.R5).addPointA(v.cx,v.cy).addPointA(P.cx,P.cy).addSegArc2();for(let R=0;R<s.N1;R++)f.addPartial(b.rotate(0,0,R*r));return[t,f,r]}function Vt(s,t){let _="";const o=s.SD2/2,n=o+s.SE1,r=2*n;let i=!1,d=-o,l=-n;if(t&&(i=!0,d=n,l=o),s.SL2<n)throw`err421: SL2 ${s.SL2} is too small compare to SD2 ${s.SD2} and SE1 ${s.SE1}`;_+=`info309: spring height: ${H(s.SL1+r)} length: ${H(s.SN1*2*(s.SD2+s.SE1))}
29
+ `;const c=z(0,0);for(let g=0;g<s.SN1;g++)c.addSegStrokeR(0,-s.SL1).addPointR(2*d,0).addSegArc(Math.abs(d),!1,i),g<s.SN1-1?c.addSegStrokeR(0,s.SL1).addPointR(2*l,0).addSegArc(Math.abs(l),!1,!i):s.Send===1?c.addSegStrokeR(0,s.SL2):c.addSegStrokeR(0,s.SL2-n).addPointR(2*l,0).addSegArc(Math.abs(l),!1,!i);s.Send===1?c.addSegStrokeR(-s.SE1,0):c.addSegStrokeR(s.SE1,0);for(let g=0;g<s.SN1;g++)g>0?c.addPointR(-2*d,0).addSegArc(Math.abs(d),!1,i).addSegStrokeR(0,-s.SL1):s.Send===1?c.addSegStrokeR(0,-s.SL2):c.addPointR(-2*d,0).addSegArc(Math.abs(d),!1,i).addSegStrokeR(0,-s.SL2+n),c.addPointR(-2*l,0).addSegArc(Math.abs(l),!1,!i).addSegStrokeR(0,s.SL1);return[_,c]}function Ie(s){let t="";const _=s.D6/2,o=2*Math.PI/s.N2,n=s.E2/2,r=2*Math.asin(n/_),i=(o-r)/2,l=(s.N2<3?0:Math.PI/s.N2)+$t(s.SA1),c=Math.PI/2-l,g=-Math.PI/2+l,S=s.SD1/2;if(i<0)throw`err564: N2 ${s.N2} is too large compare to D6 ${s.D6}, E2 ${s.E2}`;if(s.orientation===2&&s.N2%2===1)throw`err565: N2 ${s.N2} is odd and orientation is alt`;const[h,a]=Vt(s,!1),[,u]=Vt(s,!0);t+=h;const f=dt(0,-_),w=dt(0,0),V=f.rotate(w,r),x=f.translate(0,s.L2),D=x.translate(-S,0),E=D.translate(0,S),v=D.translate(0,S+s.SE1),P=v.rotate(D,c),b=x.translate(0,S+s.SE1).translate(s.SE1,0),R=f.rotate(w,-r),L=x.translate(S,0),N=L.translate(0,S),k=N.rotate(L,g),$=L.translate(0,S+s.SE1),W=x.translate(0,S+s.SE1).translate(-s.SE1,0),G=z(V.cx,V.cy).addSegStrokeA(b.cx,b.cy).addSegStrokeA(v.cx,v.cy),J=z(v.cx,v.cy).addPointA(P.cx,P.cy).addSegArc(S+s.SE1,!1,!0);J.addPartial(a.rotate(0,0,-l).translate(P.cx,P.cy)),J.addPointA(E.cx,E.cy).addPointA(x.cx,x.cy).addSegArc2().addSegStrokeA(f.cx,f.cy),G.addPartial(J);const m=z(f.cx,f.cy).addSegStrokeA(x.cx,x.cy).addPointA(N.cx,N.cy).addPointA(k.cx,k.cy).addSegArc2();m.addPartial(u.rotate(0,0,l).translate(k.cx,k.cy)),m.addPointA($.cx,$.cy).addSegArc(S+s.SE1,!1,!0);const Q=z($.cx,$.cy).addSegStrokeA(W.cx,W.cy).addSegStrokeA(R.cx,R.cy),Z=z(f.cx,f.cy).addPartial(m).addPartial(Q),K=z(_,0);if(s.orientation===2)for(let C=0;C<s.N2/2;C++){K.addPointAP(-2*C*o-2*i,_).addPointAP(-2*C*o-4*i,_).addSegArc2(),K.addCornerRounded(s.R7);const j=Math.PI/2-(2*C+2)*o,B=j+2*r;K.addPartial(m.rotate(0,0,B));const T=J.rotate(0,0,j),q=T.getFirstPoint();K.addCornerRounded(s.R7),K.addSegStrokeA(q.cx,q.cy),K.addCornerRounded(s.R7),K.addPartial(T),K.addCornerRounded(s.R7)}else for(let C=0;C<s.N2;C++)K.addPointAP(-C*o-i,_).addPointAP(-C*o-2*i,_).addSegArc2().addCornerRounded(s.R7),s.orientation===0?K.addPartial(Z.rotate(0,0,Math.PI/2-(C+1)*o+r)):s.orientation===1&&K.addPartial(G.rotate(0,0,Math.PI/2-(C+1)*o)),K.addCornerRounded(s.R7);return[t,K]}var se={partName:"vaxis_holder",params:[e("PHD1","mm",700,1,2e3,1),e("PHD2","mm",900,1,4e3,1),e("PHD5","mm",800,1,4e3,1),e("PHN1","holes",6,1,24,1),p("screw holes"),e("PHD3","mm",40,2,100,1),e("PHR4","mm",40,2,100,1),e("PHL2","mm",120,5,400,1),e("PHR6","mm",20,0,400,1),p("section"),e("PHE1","mm",10,1,80,1),e("PHH1","mm",50,1,200,1),e("PHA","degree",5,-45,45,.1),e("PHL1","mm",300,1,500,1),e("PHE2","mm",10,1,80,1),e("PHE3","mm",10,1,80,1)],paramSvg:{PHD1:"vaxis_holder_top.svg",PHD2:"vaxis_holder_top.svg",PHD5:"vaxis_holder_top.svg",PHD3:"vaxis_holder_top.svg",PHR4:"vaxis_holder_top.svg",PHN1:"vaxis_holder_top.svg",PHL2:"vaxis_holder_top.svg",PHR6:"vaxis_holder_top.svg",PHE1:"vaxis_holder_section.svg",PHH1:"vaxis_holder_section.svg",PHA:"vaxis_holder_section.svg",PHL1:"vaxis_holder_section.svg",PHE2:"vaxis_holder_section.svg",PHE3:"vaxis_holder_top.svg"},sim:{tMax:180,tStep:.5,tUpdate:500}};function Be(s,t,_=""){const o=rt(se.partName+_),n=I(),r=I(),i=I(),d=I();o.logstr+=`${o.partName} simTime: ${s}
30
+ `;try{const l=$t(t.PHA),c=t.PHD1/2,g=t.PHD2/2,S=t.PHD3/2,h=t.PHD5/2,a=g+t.PHL1/2*Math.sin(l),u=g-t.PHL1/2*Math.sin(l),f=t.PHL1*Math.cos(l),w=g-t.PHE2/Math.cos(l)+t.PHE1/2*Math.tan(l),V=g-t.PHE2/Math.cos(l)-t.PHE1/2*Math.tan(l),x=Math.min(w,V),D=(t.PHL1-t.PHE1/Math.cos(l))/2,E=g-t.PHE2/Math.cos(l);if(x<h)throw`err210: PHD5 ${t.PHD5} too large compare to PHE2 ${t.PHE2} or PHA ${t.PHA}`;o.logstr+=`vaxis_holder's height: ${H(f)} mm
31
+ `,o.logstr+=`vaxis_holder outerD1: ${H(2*a)} mm
32
+ `,o.logstr+=`vaxis_holder outerD2: ${H(2*u)} mm
33
+ `,o.logstr+=`vaxis_holder innerD: ${H(t.PHD1-2*t.PHR4)} mm
34
+ `,o.logstr+=`vaxis_holder D2-next: ${H(2*E)} mm
35
+ `;const v=function(C){return z(C*h,-t.PHE1/2).addSegStrokeR(C*(w-h),0).addSegStrokeRP(-Math.PI/2+C*l,D).addSegStrokeRP(-Math.PI/2+C*(Math.PI/2+l),t.PHE2).addSegStrokeRP(Math.PI/2+C*l,t.PHL1).addSegStrokeRP(Math.PI/2+C*(Math.PI/2+l),t.PHE2).addSegStrokeRP(-Math.PI/2+C*l,D).addSegStrokeA(C*h,t.PHE1/2).closeSegStroke()},P=function(C){return z(C*x,-t.PHE1/2).addSegStrokeA(C*x,t.PHE1/2).addSegStrokeA(C*(c-t.PHR4),t.PHE1/2).addSegStrokeA(C*(c-t.PHR4),-t.PHE1/2).closeSegStroke()},b=function(C){return z(C*(c+S),-t.PHE1/2).addSegStrokeA(C*(c+S),t.PHE1/2).addSegStrokeA(C*(c-S),t.PHE1/2).addSegStrokeA(C*(c-S),-t.PHE1/2).closeSegStroke()};n.addMain(v(1)),n.addSecond(v(-1)),n.addSecond(P(1)),n.addSecond(b(1)),n.addSecond(P(-1)),n.addSecond(b(-1));const R=function(C){return z(C*(c+t.PHR4),-t.PHE1/2).addSegStrokeA(C*w,-t.PHE1/2).addSegStrokeRP(-Math.PI/2+C*l,D).closeSegStroke()},L=function(C){return z(C*(c+t.PHR4),t.PHE1/2).addSegStrokeA(C*V,t.PHE1/2).addSegStrokeRP(Math.PI/2+C*l,D).addSegStrokeA(C*(c+t.PHR4),t.PHE1+t.PHH1).closeSegStroke()};n.addSecond(R(-1)),n.addSecond(L(-1)),i.mergeFigure(n,!0),d.mergeFigure(n,!0),n.addSecond(R(1)),n.addSecond(L(1)),i.addMain(R(1)),i.addSecond(L(1)),d.addSecond(R(1)),d.addMain(L(1)),r.addMain(M(0,0,x)),r.addSecond(M(0,0,g)),r.addSecond(M(0,0,Math.max(a,u)));const[N,k,$]=Ce(t);o.logstr+=N,r.addMain(k);for(const C of $){const j=dt(0,0).translatePolar(C,c);r.addMain(M(j.cx,j.cy,t.PHD3/2))}const W=z(c+t.PHR4,-t.PHE3).addSegStrokeA(x,-t.PHE3).addSegStrokeA(x,t.PHE3).addSegStrokeA(c+t.PHR4,t.PHE3).closeSegStroke();for(const C of $)r.addSecond(W.rotate(0,0,C));o.fig={facePetal:r,faceOuter:n,faceButtress1:i,faceButtress2:d};const G=o.partName,J=Bt();J.addRotation(Math.PI/2,0,0),J.addTranslation(0,t.PHE3/2,0);const m=$.map((C,j)=>{const B=Bt(J.getMatrix());return B.addRotation(0,0,C),{outName:`subpax_${G}_b1_${j}`,face:`${G}_faceButtress1`,extrudeMethod:Y.eLinearOrtho,length:t.PHE3,rotate:B.getRotation(),translate:B.getTranslation()}}),Q=$.map((C,j)=>{const B=Bt(J.getMatrix());return B.addRotation(0,0,C),{outName:`subpax_${G}_b2_${j}`,face:`${G}_faceButtress2`,extrudeMethod:Y.eLinearOrtho,length:t.PHE3,rotate:B.getRotation(),translate:B.getTranslation()}}),Z=$.map((C,j)=>`subpax_${G}_b1_${j}`),K=$.map((C,j)=>`subpax_${G}_b2_${j}`);o.vol={extrudes:[{outName:`subpax_${G}_outer`,face:`${G}_faceOuter`,extrudeMethod:Y.eRotate,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${G}_petal`,face:`${G}_facePetal`,extrudeMethod:Y.eLinearOrtho,length:t.PHE1,rotate:[0,0,0],translate:[0,0,-t.PHE1/2]},...m,...Q],volumes:[{outName:`pax_${G}`,boolMethod:nt.eUnion,inList:[`subpax_${G}_petal`,`subpax_${G}_outer`,...Z,...K]}]},o.sub={},o.logstr+=`vaxis_holder drawn successfully!
36
+ `,o.calcErr=!1}catch(l){o.logstr+=l,console.log(l)}return o}var vt={pTitle:"Heliostat vaxis_holder",pDescription:"The holders of the guidance mechanism for azimuth motion",pDef:se,pGeom:Be},ie={partName:"pole_static",params:[e("D1","mm",1e3,20,4e3,1),e("D2","mm",700,10,4e3,1),e("D3","mm",800,10,4e3,1),e("H1","mm",3e3,10,4e4,10),e("H2","mm",7e3,50,4e4,10),p("thickness"),e("E1","mm",30,1,80,1),e("E2","mm",5,1,80,1),p("base holes"),e("N1","",32,3,100,1),e("D5","mm",40,1,100,1),e("L1","mm",45,1,300,1),p("door"),e("D4","mm",600,1,1200,1),e("H3","mm",300,5,1200,1),e("H4","mm",1800,10,2500,1),e("L2","mm",30,1,100,1),e("E3","mm",40,1,100,1),p("holders"),ut("holders",!0),e("PHL1A","mm",400,10,1e3,1),e("PHL1B","mm",400,10,1e3,1),e("PHB","mm",5e3,10,2e4,1),e("PHD1A","mm",600,10,4e3,1),e("PHD1B","mm",380,10,4e3,1),e("PHN1AB","petal",6,1,24,1),p("holder-B"),e("PHD5B","mm",600,10,4e3,1),e("PHR4B","mm",30,3,400,1),e("PHD3B","mm",40,3,400,1),e("PHL2B","mm",140,3,400,1),e("PHE3B","mm",10,1,50,1),e("PHR6B","mm",20,0,400,1),e("PHE1B","mm",10,1,50,1),e("PHH1B","mm",10,1,50,1),p("holder-A"),e("PHD5A","mm",900,10,4e3,1),e("PHR4A","mm",30,3,400,1),e("PHD3A","mm",40,3,400,1),e("PHL2A","mm",200,3,400,1),e("PHE3A","mm",10,1,50,1),e("PHR6A","mm",20,0,400,1),e("PHE1A","mm",10,1,50,1),e("PHH1A","mm",10,1,50,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",holders:"pole_stator_holders.svg",PHL1A:"pole_stator_holders.svg",PHL1B:"pole_stator_holders.svg",PHB:"pole_stator_holders.svg",PHD1A:"pole_stator_holders.svg",PHD1B:"pole_stator_holders.svg",PHN1AB:"pole_stator_holders.svg",PHD5A:"pole_stator_holderB_top.svg",PHR4A:"pole_stator_holderB_top.svg",PHD3A:"pole_stator_holderB_top.svg",PHL2A:"pole_stator_holderB_top.svg",PHE3A:"pole_stator_holderB_top.svg",PHR6A:"pole_stator_holderB_top.svg",PHE1A:"pole_stator_holderB_section.svg",PHH1A:"pole_stator_holderB_section.svg",PHD5B:"pole_stator_holderB_top.svg",PHR4B:"pole_stator_holderB_top.svg",PHD3B:"pole_stator_holderB_top.svg",PHL2B:"pole_stator_holderB_top.svg",PHE3B:"pole_stator_holderB_top.svg",PHR6B:"pole_stator_holderB_top.svg",PHE1B:"pole_stator_holderB_section.svg",PHH1B:"pole_stator_holderB_section.svg"},sim:{tMax:180,tStep:.5,tUpdate:500}};function ye(s,t,_=""){const o=rt(ie.partName+_),n=I(),r=I(),i=I(),d=I(),l=I(),c=I(),g=I(),S=I(),h=I(),a=I(),u=I();o.logstr+=`${o.partName} simTime: ${s}
37
+ `;try{const f=t.D1/2,w=t.D2/2,V=t.D3/2,x=t.H1+t.H2,D=Math.atan2(f-w,t.H2),E=t.E2*Math.tan(D/2),v=t.H1-E,P=t.PHL1B/Math.cos(D),b=w+t.PHL1B/2*Math.tan(D),R=t.H1+t.H2-t.PHL1B/2,L=w+(t.PHL1B/2+t.PHB)*Math.tan(D),N=t.H1+t.H2-t.PHL1B/2-t.PHB,k=t.PHL1A/Math.cos(D),$=f-t.PHL1A/2*Math.tan(D),W=t.H1+t.PHL1A/2;if(w>f)throw`err091: D2 ${t.D2} is larger than D1 ${t.D1}`;if(V+t.E2>f)throw`err095: D3 ${t.D3} and E2 ${t.E2} are too large compare to D1 ${t.D1}`;if(t.holders){if(t.PHB<t.PHL1B)throw`err131: PHB ${t.PHB} is too small compare to PHL1B ${t.PHL1B}`;if(t.PHB>t.H2-t.PHL1B-t.PHL1A)throw`err132: PHB ${t.PHB} is too large compare to H2 ${t.H2}, PHL1B ${t.PHL1B} and PHL1A ${t.PHL1A}`}o.logstr+=`pole-height: ${H(x)} mm
38
+ `,o.logstr+=`cone-half-angle: ${H(lt(D))} degree
39
+ `,o.logstr+=`holder position: A: ${H(W)} B1: ${H(N)} B2: ${H(R)} mm
40
+ `;const G=function(y){let U=w-t.E2*Math.cos(D);return U+=(x-t.E2*Math.sin(D)-y)*Math.tan(D),U},J=function(y,U){const st=z(y*f,0).addSegStrokeA(y*f,t.H1).addSegStrokeA(y*w,x).addSegStrokeR(-y*t.E2*Math.cos(D),-t.E2*Math.sin(D));if(U&&t.holders){const et=t.H1+t.PHL1A/2-t.PHE1A/2,gt=et+t.PHE1A,ht=x-t.PHL1B/2+t.PHE1B/2,X=ht-t.PHE1B,at=ht-t.PHB,Ht=at-t.PHE1B;st.addSegStrokeA(y*G(ht),ht).addSegStrokeA(y*(t.PHD1B/2-t.PHR4B),ht).addSegStrokeA(y*(t.PHD1B/2-t.PHR4B),X).addSegStrokeA(y*G(X),X).addSegStrokeA(y*G(at),at).addSegStrokeA(y*(t.PHD1B/2-t.PHR4B),at).addSegStrokeA(y*(t.PHD1B/2-t.PHR4B),Ht).addSegStrokeA(y*G(Ht),Ht).addSegStrokeA(y*G(gt),gt).addSegStrokeA(y*(t.PHD1A/2-t.PHR4A),gt).addSegStrokeA(y*(t.PHD1A/2-t.PHR4A),et).addSegStrokeA(y*G(et),et)}return st.addSegStrokeA(y*(f-t.E2),v),U?st.addSegStrokeA(y*(f-t.E2),t.E1).addSegStrokeA(y*V,t.E1).addSegStrokeA(y*V,0):st.addSegStrokeA(y*(f-t.E2),0),st.closeSegStroke(),st};n.addMain(J(1,!1)),n.addSecond(J(1,!0)),n.addSecond(J(-1,!0));const m=t.D4/2,Q=t.H4-2*m;if(Q<0)throw`err121: H4 ${t.H4} is too small compare to D4 ${t.D4}`;if(m-t.L2<0)throw`err121: D4 ${t.D4} is too small compare to L2 ${t.L2}`;const Z=function(y){const U=m-y,st=t.H3+m;return z(U,st+Q).addPointR(-U,U).addSegArc(U,!1,!0).addPointR(-U,-U).addSegArc(U,!1,!0).addSegStrokeR(0,-Q).addPointR(U,-U).addSegArc(U,!1,!0).addPointR(U,U).addSegArc(U,!1,!0).closeSegStroke()};r.addMain(Z(0)),r.addMain(Z(t.L2));const K=z(f,0).addSegStrokeA(f,t.H1).addSegStrokeA(w,x).addSegStrokeA(-w,x).addSegStrokeA(-f,t.H1).addSegStrokeA(-f,0).closeSegStroke();r.addSecond(K);const C=z(-f,t.H3).addSegStrokeR(0,t.H4).addSegStrokeR(-t.E3,0).addSegStrokeR(0,-t.H4).closeSegStroke();r.addSecond(C),i.addMain(M(0,0,f)),i.addMain(M(0,0,V));const j=V+t.L1,B=2*Math.PI/t.N1;for(let y=0;y<t.N1;y++){const U=j*Math.cos(y*B),st=j*Math.sin(y*B);i.addMain(M(U,st,t.D5/2))}i.addSecond(M(0,0,w)),i.addSecond(M(0,0,f-t.E2)),d.addMain(M(0,0,f+t.E3)),d.addMain(M(0,0,f-t.E2)),l.addMain(Z(t.L2));const T=o.partName,q=[],A=[];let F={};if(t.holders){const y=_t(vt.pDef,"B2");y.setVal("PHD1",t.PHD1B),y.setVal("PHD2",2*b),y.setVal("PHD5",t.PHD5B),y.setVal("PHN1",t.PHN1AB),y.setVal("PHD3",t.PHD3B),y.setVal("PHR4",t.PHR4B),y.setVal("PHL2",t.PHL2B),y.setVal("PHR6",t.PHR6B),y.setVal("PHE1",t.PHE1B),y.setVal("PHH1",t.PHH1B),y.setVal("PHA",lt(D)),y.setVal("PHL1",P),y.setVal("PHE2",t.E2),y.setVal("PHE3",t.PHE3B);const U=vt.pGeom(0,y.getParamVal(),y.getSuffix());ft(U),o.logstr+=St(U.logstr,y.getPartNameSuffix()),c.mergeFigure(U.fig.faceOuter),g.mergeFigure(U.fig.facePetal);const st={outName:`inpax_${T}_hB2`,subdesign:"pax_vaxis_holderB2",subgeom:U,rotate:[0,0,0],translate:[0,0,R]};q.push(st),A.push(`inpax_${T}_hB2`);const et=_t(vt.pDef,"B1");et.setVal("PHD1",t.PHD1B),et.setVal("PHD2",2*L),et.setVal("PHD5",t.PHD5B),et.setVal("PHN1",t.PHN1AB),et.setVal("PHD3",t.PHD3B),et.setVal("PHR4",t.PHR4B),et.setVal("PHL2",t.PHL2B),et.setVal("PHR6",t.PHR6B),et.setVal("PHE1",t.PHE1B),et.setVal("PHH1",t.PHH1B),et.setVal("PHA",lt(D)),et.setVal("PHL1",P),et.setVal("PHE2",t.E2),et.setVal("PHE3",t.PHE3B);const gt=vt.pGeom(0,et.getParamVal(),et.getSuffix());ft(gt),o.logstr+=St(gt.logstr,et.getPartNameSuffix()),S.mergeFigure(gt.fig.faceOuter),h.mergeFigure(gt.fig.facePetal);const ht={outName:`inpax_${T}_hB1`,subdesign:"pax_vaxis_holderB1",subgeom:gt,rotate:[0,0,0],translate:[0,0,N]};q.push(ht),A.push(`inpax_${T}_hB1`);const X=_t(vt.pDef,"A");X.setVal("PHD1",t.PHD1A),X.setVal("PHD2",2*$),X.setVal("PHD5",t.PHD5A),X.setVal("PHN1",t.PHN1AB),X.setVal("PHD3",t.PHD3A),X.setVal("PHR4",t.PHR4A),X.setVal("PHL2",t.PHL2A),X.setVal("PHR6",t.PHR6A),X.setVal("PHE1",t.PHE1A),X.setVal("PHH1",t.PHH1A),X.setVal("PHA",lt(D)),X.setVal("PHL1",k),X.setVal("PHE2",t.E2),X.setVal("PHE3",t.PHE3A);const at=vt.pGeom(0,X.getParamVal(),X.getSuffix());ft(at),o.logstr+=St(at.logstr,X.getPartNameSuffix()),a.mergeFigure(at.fig.faceOuter),u.mergeFigure(at.fig.facePetal);const Ht={outName:`inpax_${T}_hA`,subdesign:"pax_vaxis_holderA",subgeom:at,rotate:[0,0,0],translate:[0,0,W]};q.push(Ht),A.push(`inpax_${T}_hA`),F={vaxis_holder_B2:{partName:y.getPartName(),dparam:y.getDesignParamList(),orientation:[0,0,0],position:[0,0,R]},vaxis_holder_B1:{partName:et.getPartName(),dparam:et.getDesignParamList(),orientation:[0,0,0],position:[0,0,N]},vaxis_holder_A:{partName:X.getPartName(),dparam:X.getDesignParamList(),orientation:[0,0,0],position:[0,0,W]}}}o.fig={poleCut:n,poleFace:r,poleBottom:i,emptyPole:d,emptyDoor:l,holderB2Section:c,holderB2Top:g,holderB1Section:S,holderB1Top:h,holderASection:a,holderATop:u},o.vol={inherits:q,extrudes:[{outName:`subpax_${T}_pole`,face:`${T}_poleCut`,extrudeMethod:Y.eRotate,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${T}_bottom`,face:`${T}_poleBottom`,extrudeMethod:Y.eLinearOrtho,length:t.E1,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${T}_door`,face:`${T}_poleFace`,extrudeMethod:Y.eLinearOrtho,length:f+t.E3,rotate:[Math.PI/2,0,0],translate:[0,0,0]},{outName:`subpax_${T}_emptyPole`,face:`${T}_emptyPole`,extrudeMethod:Y.eLinearOrtho,length:t.H1,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${T}_emptyDoor`,face:`${T}_emptyDoor`,extrudeMethod:Y.eLinearOrtho,length:f+t.E3+10,rotate:[Math.PI/2,0,0],translate:[0,0,0]}],volumes:[{outName:`ipax_${T}_door`,boolMethod:nt.eIntersection,inList:[`subpax_${T}_door`,`subpax_${T}_emptyPole`]},{outName:`ipax_${T}_pole`,boolMethod:nt.eSubstraction,inList:[`subpax_${T}_pole`,`subpax_${T}_emptyDoor`]},{outName:`pax_${T}`,boolMethod:nt.eUnion,inList:[`ipax_${T}_pole`,`subpax_${T}_bottom`,`ipax_${T}_door`,...A]}]},o.sub=F,o.logstr+=`pole_static drawn successfully!
41
+ `,o.calcErr=!1}catch(f){o.logstr+=f,console.log(f)}return o}var Mt={pTitle:"Heliostat pole static",pDescription:"The vertical pole of an heliostat",pDef:ie,pGeom:ye},ne={partName:"rake",params:[e("D1","mm",600,10,4e3,10),e("D2","mm",400,10,4e3,10),e("D3","mm",400,10,4e3,10),e("H1","mm",800,1,4e3,10),e("H2","mm",3e3,20,6e3,10),e("H3","mm",400,0,4e3,10),e("E1","mm",20,1,80,1),e("E3","mm",30,1,80,1),p("transversal"),e("H4","mm",400,10,1e3,10),e("D4","mm",300,10,1e3,10),e("E4","mm",20,1,80,1),e("H5","mm",1e3,10,2e3,10),e("D5","mm",200,1,1e3,10),e("L4","mm",300,1,1e3,10),e("L5","mm",2e3,10,4e3,10),e("L6","mm",2e3,1,4e3,10),e("D8","mm",400,1,1e3,10),p("diagonal"),e("D6","mm",100,1,600,10),e("E6","mm",10,1,80,1),e("L7","mm",100,1,1e3,1),e("L8","mm",200,1,1e3,1),p("base"),e("N1","",24,3,100,1),e("D7","mm",40,1,100,1),e("L1","mm",30,1,300,1),p("door"),e("H6","mm",100,1,1e3,10),e("H7","mm",600,10,2e3,10),e("L9","mm",300,1,1e3,10),e("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 Te(s,t,_=""){const o=rt(ne.partName+_);let n,r,i;const d=I(),l=I(),c=I(),g=I(),S=I(),h=I(),a=I(),u=I();o.logstr+=`${o.partName} simTime: ${s}
42
+ `;try{const f=t.D1/2,w=t.D2/2,V=t.D3/2,x=t.D4/2,D=t.D5/2,E=t.D6/2,v=t.D7/2,P=t.D8/2,b=t.H1+t.H2,R=b-t.H4+t.H5;if(o.logstr+=`cone-height: ${H(b)} mm
43
+ `,o.logstr+=`cone-height total: ${H(R)} mm
44
+ `,t.D2>t.D1)throw`err110: D2 ${t.D2} is larger than D1 ${t.D1}`;if(t.D3+t.E1>t.D1)throw`err113: D3 ${t.D3} is too large compare to D1 ${t.D1} and E1 ${t.E1}`;if(t.H3+t.E3>t.H1)throw`err116: H3 ${t.H3} is too large compare to H1 ${t.H1} and E3 ${t.E3}`;if(t.H4+x>t.H2)throw`err119: H4 ${t.H4} is too large compare to H2 ${t.H2} and D4 ${t.D4}`;if(t.E4>x)throw`err122: E4 ${t.E4} is too large compare to D4 ${t.D4}`;if(t.D8<=t.D5)throw`err146: D8 ${t.D8} is too small compare to D5 ${t.D5}`;const L=4*t.L4+t.L5+2*t.L6,N=t.H1+t.H2-t.H4,k=x*Math.cos(Math.PI/6),$=x*Math.sin(Math.PI/6),W=D*Math.cos(Math.PI/6),G=D*Math.sin(Math.PI/6),J=P*Math.cos(Math.PI/6),m=P*Math.sin(Math.PI/6),Q=[-L/2,-t.L5/2-t.L4,t.L5/2,L/2-t.L4],Z=t.H2-t.L8-t.H4-x;if(Z<0)throw`err140: H2 ${t.H2} too small compare to L8 ${t.L8}, H4 ${t.H4} and D4 ${t.D4}`;const K=Math.atan2(f-w,t.H2);o.logstr+=`cone-angle: ${H(lt(K))} degree
45
+ `;const C=L/2-t.L7-f+t.L8*Math.tan(K),j=Math.sqrt(C**2+Z**2),B=Math.atan2(C,Z);o.logstr+=`wing-angle: ${H(lt(B))} degree
46
+ `;const T=t.E1/Math.sin(B+K),q=j+t.E4/Math.cos(B)+T,A=f-t.L8*Math.tan(K)-T*Math.sin(B),F=t.H1+t.L8-T*Math.cos(B),y=A-E*Math.cos(B),U=F+E*Math.sin(B),st=E-t.E6,et=A-t.E6*Math.cos(B),gt=F+t.E6*Math.sin(B),ht=Math.PI/2-B,X=t.L9/2,at=X-t.H7*Math.tan(K);if(at<t.R9)throw`err177: R9 ${t.R9} too large compare to doorHighX ${at} and L9 ${t.L9}`;if(t.L9>t.D1)throw`err180: L9 ${t.L9} too large compare to D1 ${t.D1}`;const Ht=t.E1*Math.cos(K),Ut=t.E1*Math.sin(K),Jt=t.E1*Math.tan(K/2);n=function(it){return z(it*f,0).addSegStrokeA(it*f,t.H1).addSegStrokeA(it*w,b).addSegStrokeA(it*(w-Ht),b-Ut).addSegStrokeA(it*(f-t.E1),t.H1-Jt).addSegStrokeA(it*(f-t.E1),0).closeSegStroke()},r=function(it){return z(it*f,0).addSegStrokeA(it*f,t.H1).addSegStrokeA(it*w,b).addSegStrokeA(it*(w-Ht),b-Ut).addSegStrokeA(it*(f-t.E1),t.H1-Jt).addSegStrokeA(it*(f-t.E1),t.H1-t.H3).addSegStrokeA(it*V,t.H1-t.H3).addSegStrokeA(it*V,t.H1-t.H3-t.E3).addSegStrokeA(it*(f-t.E1),t.H1-t.H3-t.E3).addSegStrokeA(it*(f-t.E1),0).closeSegStroke()},i=function(it,Pt,xt,Et,At){const qt=it*Math.cos(At),Yt=it*Math.sin(At),Xt=-Pt*Math.sin(At),jt=Pt*Math.cos(At);return z(xt,Et).addSegStrokeA(xt+qt,Et+Yt).addSegStrokeA(xt+qt+Xt,Et+Yt+jt).addSegStrokeA(xt+Xt,Et+jt).closeSegStroke()};const Ct=z(X,t.H1+t.H6).addCornerRounded(t.R9).addSegStrokeA(at,t.H1+t.H6+t.H7).addCornerRounded(t.R9).addSegStrokeA(-at,t.H1+t.H6+t.H7).addCornerRounded(t.R9).addSegStrokeA(-X,t.H1+t.H6).addCornerRounded(t.R9).closeSegStroke();d.addMain(n(1)),d.addSecond(r(1)),d.addSecond(r(-1)),d.addSecond(i(L,t.D4,-L/2,N-x,0)),d.addSecond(i(L,t.D4-2*t.E4,-L/2,N-x+t.E4,0));for(const it of Q)d.addSecond(i(t.L4,t.H5-$-G,it,N+$,0));d.addSecond(i(q,2*E,A,F,ht)),d.addSecond(i(q,2*st,et,gt,ht)),d.addSecond(i(2*E,q,-A,F,B)),d.addSecond(i(2*st,q,-et,gt,B)),d.addSecond(Ct);const It=z(k,N+$).addSegStrokeA(J,N+t.H5-m).addSegStrokeA(W,N+t.H5-G).addPointA(-W,N+t.H5-G).addSegArc(D,!1,!1).addSegStrokeA(-J,N+t.H5-m).addSegStrokeA(-k,N+$).closeSegArc(x,!1,!1);l.addMain(M(0,N,x)),l.addMain(M(0,N,x-t.E4)),l.addSecond(r(1)),l.addSecond(r(-1)),l.addSecond(It),l.addSecond(M(0,N+t.H5,D)),l.addSecond(i(2*E,Z,-E,t.H1+t.L8,0)),l.addSecond(i(2*st,Z,-st,t.H1+t.L8,0)),l.addSecond(Ct),c.addMain(M(0,N,x-t.E4)),c.addSecond(M(0,N,x)),c.addSecond(It),g.addMain(M(0,0,f)),g.addMain(M(0,0,V));const pt=V+t.L1,Wt=2*Math.PI/t.N1;for(let it=0;it<t.N1;it++){const Pt=pt*Math.cos(it*Wt),xt=pt*Math.sin(it*Wt);g.addMain(M(Pt,xt,v))}g.addSecond(M(0,0,f-t.E1)),g.addSecond(M(0,0,w)),g.addSecond(i(t.D4,L,-x,-L/2,0)),g.addSecond(i(t.D4-2*t.E4,L,-x+t.E4,-L/2,0));for(const it of Q)g.addSecond(i(2*k,t.L4,-k,it,0)),g.addSecond(i(2*W,t.L4,-W,it,0)),g.addSecond(i(2*J,t.L4,-J,it,0));g.addSecond(i(2*E,C,-E,f-t.L8*Math.tan(K),0)),g.addSecond(i(2*st,C,-st,f-t.L8*Math.tan(K),0)),g.addSecond(i(2*E,C,-E,-f+t.L8*Math.tan(K)-C,0)),g.addSecond(i(2*st,C,-st,-f+t.L8*Math.tan(K)-C,0)),S.addMain(It),S.addSecond(M(0,N,x)),S.addSecond(M(0,N,x-t.E4)),S.addSecond(M(0,N+t.H5,D)),h.addMain(M(0,0,E)),h.addMain(M(0,0,st)),a.addSecond(M(0,0,E)),a.addMain(M(0,0,st)),u.addMain(Ct),u.addSecond(r(1)),u.addSecond(r(-1)),u.addSecond(i(L,t.D4,-L/2,N-x,0)),u.addSecond(i(L,t.D4-2*t.E4,-L/2,N-x+t.E4,0));for(const it of Q)u.addSecond(i(t.L4,t.H5-$-G,it,N+$,0));u.addSecond(i(q,2*E,A,F,ht)),u.addSecond(i(q,2*st,et,gt,ht)),u.addSecond(i(2*E,q,-A,F,B)),u.addSecond(i(2*st,q,-et,gt,B)),o.fig={faceCone:d,faceBeam:l,faceBeamHollow:c,faceDisc:g,faceHand:S,faceWing:h,faceWingHollow:a,faceDoor:u};const ot=o.partName,He=Q.map((it,Pt)=>({outName:`subpax_${ot}_hand_${Pt}`,face:`${ot}_faceHand`,extrudeMethod:Y.eLinearOrtho,length:t.L4,rotate:[Math.PI/2,0,0],translate:[0,-it,0]}));o.vol={extrudes:[{outName:`subpax_${ot}_cone`,face:`${ot}_faceCone`,extrudeMethod:Y.eRotate,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${ot}_beam`,face:`${ot}_faceBeam`,extrudeMethod:Y.eLinearOrtho,length:L,rotate:[Math.PI/2,0,0],translate:[0,L/2,0]},{outName:`subpax_${ot}_beamHollow`,face:`${ot}_faceBeamHollow`,extrudeMethod:Y.eLinearOrtho,length:L,rotate:[Math.PI/2,0,0],translate:[0,L/2,0]},{outName:`subpax_${ot}_disc`,face:`${ot}_faceDisc`,extrudeMethod:Y.eLinearOrtho,length:t.E3,rotate:[0,0,0],translate:[0,0,t.H1-t.H3-t.E3]},{outName:`subpax_${ot}_wing_right`,face:`${ot}_faceWing`,extrudeMethod:Y.eLinearOrtho,length:q,rotate:[-B,0,0],translate:[0,y,U]},{outName:`subpax_${ot}_wing_left`,face:`${ot}_faceWing`,extrudeMethod:Y.eLinearOrtho,length:q,rotate:[B,0,0],translate:[0,-y,U]},{outName:`subpax_${ot}_wing_hollow_right`,face:`${ot}_faceWingHollow`,extrudeMethod:Y.eLinearOrtho,length:q,rotate:[-B,0,0],translate:[0,y,U]},{outName:`subpax_${ot}_wing_hollow_left`,face:`${ot}_faceWingHollow`,extrudeMethod:Y.eLinearOrtho,length:q,rotate:[B,0,0],translate:[0,-y,U]},{outName:`subpax_${ot}_door`,face:`${ot}_faceDoor`,extrudeMethod:Y.eLinearOrtho,length:t.D1,rotate:[Math.PI/2,0,Math.PI/2],translate:[0,0,0]},...He],volumes:[{outName:`ipax_${ot}_plus`,boolMethod:nt.eUnion,inList:[`subpax_${ot}_cone`,`subpax_${ot}_beam`,`subpax_${ot}_disc`,`subpax_${ot}_hand_0`,`subpax_${ot}_hand_1`,`subpax_${ot}_hand_2`,`subpax_${ot}_hand_3`,`subpax_${ot}_wing_right`,`subpax_${ot}_wing_left`]},{outName:`ipax_${ot}_hollow`,boolMethod:nt.eUnion,inList:[`subpax_${ot}_beamHollow`,`subpax_${ot}_wing_hollow_right`,`subpax_${ot}_wing_hollow_left`,`subpax_${ot}_door`]},{outName:`pax_${ot}`,boolMethod:nt.eSubstraction,inList:[`ipax_${ot}_plus`,`ipax_${ot}_hollow`]}]},o.sub={},o.logstr+=`heliostat-rake drawn successfully!
47
+ `,o.calcErr=!1}catch(f){o.logstr+=f,console.log(f)}return o}var bt={pTitle:"Heliostat rake",pDescription:"The rake on top of the V-Axis of the heliostat",pDef:ne,pGeom:Te},Ft={partName:"spider",params:[e("D1","mm",100,1,400,1),e("L1","mm",400,1,1e3,1),e("L2","mm",400,1,1e3,1),e("L3","mm",100,1,400,1),e("L4","mm",3e3,10,8e3,10),p("longitude"),e("L5","mm",2e3,1,8e3,1),e("N1","",6,1,20,1),e("L6","mm",30,1,100,1),p("thickness"),e("E1","mm",3,1,80,1),e("E2","mm",50,1,200,1),e("E3","mm",3,1,80,1),e("R2","mm",100,0,400,10)],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 Fe(s,t,_=""){const o=rt(Ft.partName+_);let n,r;const i=I(),d=I(),l=I();o.logstr+=`${o.partName} simTime: ${s}
48
+ `;try{const c=t.D1/2;if(t.D1<t.E2)throw`err476: D1 ${t.D1} smaller then E2 ${t.E2}`;const g=t.E2/2,S=Math.sqrt(c**2-g**2),h=t.L1+t.L2*Math.sqrt(2),a=t.L2+t.L1*Math.sqrt(2),u=t.L4-a;if(u<t.R2)throw`err984: L4 ${t.L4} too small compare to R2 ${t.R2}`;const f=u*Math.cos(Math.PI/4),w=u*Math.sin(Math.PI/4),V=t.E2*Math.cos(Math.PI/4),x=t.E2*Math.sin(Math.PI/4),D=t.E2*Math.tan(Math.PI/8);if(c<t.E1)throw`err092: D1 ${t.D1} too small compare to E1 ${t.E1}`;if(t.L3<t.E2)throw`err994: L3 ${t.L3} smaller than E2 ${t.E2}`;if(t.L3<2*t.E3)throw`err997: L3 ${t.L3} too small compare to E3 ${t.E3}`;const E=(t.L3-t.E2)/2*Math.cos(Math.PI/4),v=h+f+E,P=-t.L1-w+E,b=P-t.E3*Math.sqrt(2);if(t.L5<t.N1*t.L6)throw`err110: L5 ${t.L5} too small compare to N1 ${t.N1} and L6 ${t.L6}`;let R=1;t.N1>1&&(R=(t.L5-t.L6)/(t.N1-1));const L=[...Array(t.N1).keys()].map(J=>J*R);n=function(J,m,Q){return z(J,m).addSegStrokeA(J+Q*Math.cos(Math.PI/4),m-Q*Math.sin(Math.PI/4)).addSegStrokeA(J,m-2*Q*Math.sin(Math.PI/4)).addSegStrokeA(J-Q*Math.cos(Math.PI/4),m-Q*Math.sin(Math.PI/4)).closeSegStroke()},r=function(J,m,Q,Z){return z(Q,Z).addSegStrokeA(Q+J,Z).addSegStrokeA(Q+J,Z+m).addSegStrokeA(Q,Z+m).closeSegStroke()};const N=Math.sin(2*Math.PI*s/Ft.sim.tMax)*Math.PI/2;o.logstr+=`spide leg number: ${t.N1}
49
+ `,o.logstr+=`spide position angle: ${H(lt(N))} degree
50
+ `;const k=z(g,-S).addCornerRounded(t.R2).addSegStrokeA(g,-t.L1).addCornerRounded(t.R2).addSegStrokeA(h,-t.L1).addCornerRounded(t.R2+t.E2).addSegStrokeA(h+f,-t.L1-w).addSegStrokeA(h+f-V,-t.L1-w-x).addSegStrokeA(h-D,-t.L1-t.E2).addCornerRounded(t.R2).addSegStrokeA(-h+D,-t.L1-t.E2).addCornerRounded(t.R2).addSegStrokeA(-h-f+V,-t.L1-w-x).addSegStrokeA(-h-f,-t.L1-w).addSegStrokeA(-h,-t.L1).addCornerRounded(t.R2+t.E2).addSegStrokeA(-g,-t.L1).addCornerRounded(t.R2).addSegStrokeA(-g,-S).addCornerRounded(t.R2).closeSegArc(c,!0,!1);i.addMain(k),i.addMain(M(0,0,c-t.E1)),i.addSecond(n(v,P,t.L3)),i.addSecond(n(v,b,t.L3-2*t.E3)),i.addSecond(n(-v,P,t.L3)),i.addSecond(n(-v,b,t.L3-2*t.E3)),d.addMain(M(0,0,c)),d.addMain(M(0,0,c-t.E1)),d.addMain(n(v,P,t.L3)),d.addMain(n(v,b,t.L3-2*t.E3)),d.addMain(n(-v,P,t.L3)),d.addMain(n(-v,b,t.L3-2*t.E3)),d.addSecond(k),l.addSecond(r(t.L5,t.D1,0,-t.D1/2)),l.addSecond(r(t.L5,t.L3,0,-t.L4-t.L3));for(const J of L)l.addSecond(r(t.L6,t.L4,J,-t.L4));o.fig={faceLegs:i.rotate(0,0,N),faceTube:d.rotate(0,0,N),faceBody:l};const $=o.partName,W=L.map((J,m)=>({outName:`subpax_${$}_leg_${m}`,face:`${$}_faceLegs`,extrudeMethod:Y.eLinearOrtho,length:t.L6,rotate:[0,0,0],translate:[0,0,J]})),G=L.map((J,m)=>`subpax_${$}_leg_${m}`);o.vol={extrudes:[{outName:`subpax_${$}_tube`,face:`${$}_faceTube`,extrudeMethod:Y.eLinearOrtho,length:t.L5,rotate:[0,0,0],translate:[0,0,0]},...W],volumes:[{outName:`pax_${$}`,boolMethod:nt.eUnion,inList:[`subpax_${$}_tube`,...G]}]},o.sub={},o.logstr+=`heliostat-spider drawn successfully!
51
+ `,o.calcErr=!1}catch(c){o.logstr+=c,console.log(c)}return o}var mt={pTitle:"Heliostat spider",pDescription:"The spider part for the control of the inclination of the heliostat",pDef:Ft,pGeom:Fe},de={partName:"swing",params:[e("L1","mm",12500,100,4e4,10),e("L2","mm",6e3,100,4e4,10),p("radial"),e("D1","mm",400,1,1e3,1),e("E1","mm",5,1,80,1),e("H2","mm",100,1,400,1),e("H4","mm",100,1,400,1),e("E2","mm",3,1,80,1),e("L3","mm",500,1,4e3,1),p("radial"),e("L4","mm",600,1,4e3,1),e("L5","mm",2e3,1,1e4,1),e("L6","mm",2e3,1,1e4,1),e("H1","mm",100,1,400,1),e("H3","mm",100,1,400,1),e("E3","mm",3,1,80,1),p("buttress"),e("S1","mm",300,0,1e3,1),e("R2","mm",100,0,1e3,1),p("rod overlay"),e("rod1","",10,1,40,1),e("rod2","mm",1300,10,4e3,10),e("rod3","mm",400,10,1e3,10),e("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",S1:"swing_buttress.svg",R2:"swing_buttress.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 me(s,t,_=""){const o=rt(de.partName+_),n=I(),r=I(),i=I(),d=I(),l=I();o.logstr+=`${o.partName} simTime: ${s}
52
+ `;try{const c=t.D1/2;o.logstr+=`swing size: L1 ${H(t.L1)} x L2 ${H(t.L2)} mm
53
+ `,n.addMain(M(0,0,c)),n.addMain(M(0,0,c-t.E1));const g=[-t.L2/2,-t.L3-t.H2,t.L3,t.L2/2-t.H2];for(const L of g)n.addMain(tt(L,c-t.H4,t.H2,t.H4)),n.addMain(tt(L+t.E2,c-t.H4+t.E2,t.H2-2*t.E2,t.H4-2*t.E2));n.addSecond(tt(-t.L2/2,c,t.L2,t.H3));const S=[];S.push(-t.L1/2),S.push(t.L1/2-t.H1);for(const L of[-t.L5/2-2*t.L4-t.L6,-t.L5/2-t.L4,t.L5/2,t.L5/2+t.L4+t.L6])for(const N of[0,t.L4-t.H1])S.push(L+N);for(const L of S)r.addMain(tt(L,c,t.H1,t.H3)),r.addMain(tt(L+t.E3,c+t.E3,t.H1-2*t.E3,t.H3-2*t.E3));r.addSecond(tt(-t.L1/2,-c,t.L1,t.D1)),r.addSecond(tt(-t.L1/2,c-t.H4,t.L1,t.H4));for(const L of S)i.addSecond(tt(L,-t.L2/2,t.H1,t.L2));for(const L of g)i.addSecond(tt(-t.L1/2,L,t.L1,t.H2));i.addSecond(tt(-t.L1/2,-c,t.L1,t.D1));const a=2*Math.atan2(t.S1,c),u=dt(0,0),w=dt(0,c).rotate(u,a),V=z(-t.L3,c).addSegStrokeA(-t.S1,c).addCornerRounded(t.R2).addSegStrokeA(w.cx,w.cy).addPointA(0,-c).addPointA(-w.cx,w.cy).addSegArc2().addSegStrokeA(t.S1,c).addCornerRounded(t.R2).addSegStrokeA(t.L3,c).addSegStrokeA(t.L3,c+t.E3).addSegStrokeA(-t.L3,c+t.E3).closeSegStroke();d.addMain(V),d.addMain(M(0,0,c-t.E1)),n.addSecond(V);for(const L of S)l.addMain(tt(L,-t.L2/2,t.H1,t.L2));for(const L of g)l.addMain(tt(-t.L1/2,L,t.L1,t.H2));l.addMain(tt(-t.L1/2,-c,t.L1,t.D1));const x=-((t.rod1-1)*t.rod2+t.rod3)/2,D=(t.rod3-t.rod4)/2,E=t.rod3/2,v=1.2*t.L2,P=(v-E)/3,b=-v/2;for(let L=0;L<t.rod1;L++){const N=x+L*t.rod2;l.addSecond(tt(N+D,b,t.rod4,v));for(let k=0;k<4;k++)l.addSecond(tt(N,b+k*P,t.rod3,E,E/4))}o.fig={faceSide:n,faceFace:r,faceTop:i,faceButtress:d,faceTopWithRods:l};const R=o.partName;o.vol={extrudes:[{outName:`subpax_${R}_side`,face:`${R}_faceSide`,extrudeMethod:Y.eLinearOrtho,length:t.L1,rotate:[0,0,0],translate:[0,0,-t.L1/2]},{outName:`subpax_${R}_face`,face:`${R}_faceFace`,extrudeMethod:Y.eLinearOrtho,length:t.L2,rotate:[0,Math.PI/2,0],translate:[-t.L2/2,0,0]},...S.map((L,N)=>({outName:`subpax_${R}_buttress_${N}`,face:`${R}_faceButtress`,extrudeMethod:Y.eLinearOrtho,length:t.H1,rotate:[0,0,0],translate:[0,0,L]}))],volumes:[{outName:`pax_${R}`,boolMethod:nt.eUnion,inList:[`subpax_${R}_side`,`subpax_${R}_face`,...S.map((L,N)=>`subpax_${R}_buttress_${N}`)]}]},o.sub={},o.logstr+=`heliostat-swing drawn successfully!
54
+ `,o.calcErr=!1}catch(c){o.logstr+=c,console.log(c)}return o}var kt={pTitle:"Heliostat swing",pDescription:"The swing for the heliostat inclination",pDef:de,pGeom:me},Ot={partName:"heliostat",params:[e("H1","mm",3e3,10,4e4,10),e("H2","mm",2500,50,4e4,10),e("D1","mm",1e3,20,4e3,10),e("D2","mm",700,20,4e3,10),e("E1","mm",30,1,80,1),p("rake"),e("H3","mm",200,1,500,1),e("H4","mm",800,1,4e3,1),e("H5","mm",3e3,50,6e3,10),e("H6","mm",200,1,4e3,1),e("H7","mm",800,1,4e3,1),e("H8","mm",200,1,4e3,1),e("D3","mm",900,20,4e3,10),e("D4","mm",400,20,4e3,10),e("D5","mm",300,20,1e3,10),e("D6","mm",200,10,1e3,10),e("D7","mm",400,10,1e3,10),p("rake diagonal"),e("D9","mm",100,1,1e3,1),e("L7","mm",100,1,1e3,1),e("L8","mm",200,1,1e3,1),p("spider"),e("D8","mm",100,1,1e3,1),e("S1","mm",250,1,800,1),e("S2","mm",200,1,800,1),e("E2","mm",50,1,80,1),p("swing"),e("L1","mm",12500,100,4e4,10),e("L2","mm",6e3,100,4e4,10),e("L3","mm",100,1,500,1),e("L4","mm",600,1,4e3,1),e("L5","mm",2e3,10,6e3,1),e("L6","mm",2e3,1,6e3,1),e("H9","mm",100,1,400,1),p("motion amplitude"),e("al","degree",80,0,95,1),e("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 Oe(s,t,_=""){const o=rt(Ot.partName+_),n=I(),r=I();o.logstr+=`${o.partName} simTime: ${s}
55
+ `;try{const i=t.H1+t.H2-t.H3+t.H4+t.H5-t.H6+t.H7;o.logstr+=`heliostat-height: ${H(i)}, diameter ${H(t.D1)} m
56
+ `,o.logstr+=`heliostat-swing-length: ${H(t.L1)}, width ${H(t.L2)} m
57
+ `;const l=(t.al-t.ar)/2-Math.sin(2*Math.PI*s/Ot.sim.tMax)*(t.al+t.ar)/2,c=$t(l);o.logstr+=`swing position angle: ${H(lt(c))} degree
58
+ `;const g=t.H1+t.H2-t.H3,S=g+t.H4+t.H5-t.H6+t.H7,h=S+t.H8,a=_t(Mt.pDef),u=_t(bt.pDef),f=_t(mt.pDef),w=_t(kt.pDef);a.setVal("H1",t.H1),a.setVal("H2",t.H2),a.setVal("D1",t.D1),a.setVal("D2",t.D2),a.setVal("D3",t.D1-6*t.E1),a.setVal("E1",t.E1),a.setVal("E2",t.E1);const V=32,x=(t.D1-6*t.E1)/(V*4);a.setVal("N1",V),a.setVal("D5",x),a.setVal("L1",t.E1+x/2),a.setVal("H3",t.H1/4),a.setVal("H4",t.H1/2),a.setVal("D4",t.H1/4),a.setVal("L2",t.H1/80),a.setVal("E3",t.H1/80),a.setVal("holders",0),u.setVal("H1",t.H4),u.setVal("H2",t.H5),u.setVal("H3",t.H4-2*t.E1),u.setVal("D1",t.D3),u.setVal("D2",t.D4),u.setVal("L9",t.D3/2),u.setVal("H7",t.D3/2*1.6),u.setVal("H6",t.D3/20),u.setVal("R9",t.D3/20),u.setVal("E1",t.E1),u.setVal("E3",t.E1),u.setVal("E4",t.E1);const D=t.D2*.6,E=24,v=D/(E*4);if(u.setVal("D3",D),t.D2>t.D3-2*t.E1)throw`err153: D2 ${t.D2} too large compare to D3 ${t.D3} and E1 ${t.E1}`;if(u.setVal("N1",E),u.setVal("D7",v),u.setVal("L1",v),u.setVal("H4",t.H6),u.setVal("D4",t.D5),u.setVal("L7",t.L7),u.setVal("L8",t.L8),u.setVal("D6",t.D9),u.setVal("H5",t.H7+t.H8),u.setVal("D5",t.D6),u.setVal("D8",t.D7),t.D6>=t.D7)throw`err164: D6 ${t.D6} too large compare to D7 ${t.D7}`;const P=t.L4-2*t.L3;if(u.setVal("L4",P),P<=0)throw`err169: L3 ${t.L3} too large compare to L4 ${t.L4}`;u.setVal("L5",t.L5+2*t.L3),u.setVal("L6",t.L6+2*t.L3);const b=t.L5*.96,R=6;if(f.setVal("L5",b),f.setVal("D1",t.D8),f.setVal("L1",t.S1),f.setVal("L2",t.S2),f.setVal("L3",t.E2*2),f.setVal("E1",t.E1),f.setVal("E2",t.E2),f.setVal("E3",t.E1),f.setVal("L4",t.L2/2-t.H8),f.setVal("R2",0),f.setVal("N1",R),f.setVal("L6",b/(R*10)),w.setVal("L2",t.L2),w.setVal("D1",t.D6),w.setVal("H3",t.H9),w.setVal("H4",t.H9),w.setVal("L1",t.L1),t.L1<4*t.L4+2*t.L6+t.L5+2*t.L3)throw`err185: L1 ${t.L1} too small compare to L4 ${t.L4}, L5 ${t.L5}, L6 ${t.L6}`;w.setVal("H1",t.L3),w.setVal("H2",t.L3),w.setVal("L4",t.L4),w.setVal("L5",t.L5),w.setVal("L6",t.L6),w.setVal("L3",t.D7);const L=Mt.pGeom(0,a.getParamVal(),a.getSuffix());ft(L),o.logstr+=St(L.logstr,a.getPartNameSuffix());const N=bt.pGeom(0,u.getParamVal(),u.getSuffix());ft(N),o.logstr+=St(N.logstr,u.getPartNameSuffix());const k=mt.pGeom(0,f.getParamVal(),f.getSuffix());ft(k),o.logstr+=St(k.logstr,f.getPartNameSuffix());const $=kt.pGeom(0,w.getParamVal(),w.getSuffix());ft($),o.logstr+=St($.logstr,w.getPartNameSuffix()),n.mergeFigure(L.fig.poleCut),n.mergeFigure(N.fig.faceBeam.translate(0,g)),n.mergeFigure(k.fig.faceLegs.translate(0,S).rotate(0,S,c/2)),n.mergeFigure($.fig.faceSide.translate(0,h).rotate(0,h,c)),r.mergeFigure(L.fig.poleCut),r.mergeFigure(N.fig.faceCone.translate(0,g)),r.mergeFigure(k.fig.faceBody.translate(-b/2,S)),r.mergeFigure($.fig.faceFace.translate(0,h)),o.fig={faceSide:n,faceFace:r};const W=o.partName;o.vol={inherits:[{outName:`inpax_${W}_poleStatic`,subdesign:"pax_pole_static",subgeom:L,rotate:[0,0,0],translate:[0,0,0]},{outName:`inpax_${W}_rake`,subdesign:"pax_rake",subgeom:N,rotate:[0,0,0],translate:[0,0,g]},{outName:`inpax_${W}_swing`,subdesign:"pax_swing",subgeom:$,rotate:[Math.PI/2,0,0],translate:[0,0,h]},{outName:`inpax_${W}_spider`,subdesign:"pax_spider",subgeom:k,rotate:[Math.PI/2,0,0],translate:[0,b/2,S]}],extrudes:[],volumes:[{outName:`pax_${W}`,boolMethod:nt.eUnion,inList:[`inpax_${W}_poleStatic`,`inpax_${W}_rake`,`inpax_${W}_swing`,`inpax_${W}_spider`]}]};const G={partName:a.getPartName(),dparam:a.getDesignParamList(),orientation:[0,0,0],position:[0,0,0]},J={partName:u.getPartName(),dparam:u.getDesignParamList(),orientation:[0,0,0],position:[0,0,g]},m={partName:f.getPartName(),dparam:f.getDesignParamList(),orientation:[Math.PI/2,0,0],position:[0,b/2,S]},Q={partName:w.getPartName(),dparam:w.getDesignParamList(),orientation:[Math.PI/2,0,0],position:[0,0,h]};o.sub={pole_static_1:G,rake_1:J,spider_1:m,swing_1:Q},o.logstr+=`heliostat-overview drawn successfully!
59
+ `,o.calcErr=!1}catch(i){o.logstr+=i,console.log(i)}return o}var ze={pTitle:"Heliostat overview",pDescription:"The heliostat inclination mechanism",pDef:Ot,pGeom:Oe},le={partName:"rake_stopper",params:[e("D1","mm",600,10,4e3,10),e("D2","mm",400,10,4e3,10),e("D3","mm",400,1,4e3,1),e("H1","mm",800,1,4e3,1),e("H2","mm",3e3,20,6e3,10),e("H3","mm",400,0,4e3,1),e("E1","mm",20,1,80,1),e("E3","mm",30,1,80,1),p("transversal"),e("H4","mm",200,1,1e3,1),e("D4","mm",300,1,1e3,1),e("E4","mm",20,1,80,1),e("H5","mm",400,1,2e3,1),e("D5","mm",200,1,1e3,1),e("L4","mm",300,1,1e3,1),e("L5","mm",2e3,1,4e3,1),e("L6","mm",2e3,1,4e3,1),e("D8","mm",400,1,1e3,1),p("diagonal"),e("D6","mm",100,1,600,1),e("E6","mm",10,1,80,1),e("L7","mm",100,1,1e3,1),e("L8","mm",200,1,1e3,1),p("base"),e("N1","",24,3,100,1),e("D7","mm",40,1,100,1),e("L1","mm",30,1,300,1),p("door"),e("H6","mm",100,1,1e3,1),e("H7","mm",600,1,2e3,1),e("L9","mm",300,1,1e3,1),e("R9","mm",50,0,300,1),p("stoppers"),e("S1","mm",100,1,300,1),e("S2","mm",2e3,1,8e3,1),e("E7","mm",5,1,80,1),p("low stopper"),e("JD1","mm",200,1,500,1),e("JE1","mm",5,1,80,1),e("JL1","mm",260,1,2e3,1),e("JH1","mm",20,-500,500,1),e("JS1","mm",100,1,500,1),e("JS2","mm",200,1,500,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",JD1:"rake_low_stopper_holder.svg",JE1:"rake_low_stopper_holder.svg",JL1:"rake_low_stopper_holder.svg",JH1:"rake_low_stopper_holder.svg",JS1:"rake_side_stopper.svg",JS2:"rake_top_stopper.svg"},sim:{tMax:180,tStep:.5,tUpdate:500}};function Ge(s,t,_=""){const o=rt(le.partName+_),n=I(),r=I(),i=I(),d=I(),l=I(),c=I(),g=I(),S=I(),h=I(),a=I(),u=I(),f=I(),w=I(),V=I(),x=I(),D=I(),E=I();o.logstr+=`${o.partName} simTime: ${s}
60
+ `;try{const v=t.D1/2,P=t.H1+t.H2,b=P-t.H4+t.H5,R=b-t.S2,L=t.H1+t.H2-t.H4+t.D4/2,N=t.H1+t.L8-t.S1,k=t.L5/2,$=t.S1/2,W=t.S1-2*t.E7,G=W/2,J=-v-t.S1/2-t.JS1,m=t.S2-t.S1/2,Q=R-$,Z=R-t.JH1,K=t.JD1/2,C=K-t.JE1,j=v+t.JS2;if(2*t.E7>=t.S1)throw`err135: E7 ${t.E7} too large compare to S1 ${t.S1}`;if(t.L5<t.D2)throw`err138: L5 ${t.L5} too small compare to D2 ${t.D2}`;if(R-t.JH1-t.JD1/2<0)throw`err143: S2 ${t.S2} too large compare to H1H5 ${H(b)}`;if(t.JS1<t.S1/2)throw`err144: JS1 ${t.JS1} too small compare to S1 ${t.S1}`;if(t.JE1>t.JD1/2)throw`err145: JE1 ${t.JE1} too large compare to JD1 ${t.JD1}`;if(t.JL1>t.D1)throw`err146: JL1 ${t.JL1} too large compare to D1 ${t.D1}`;if(t.JL1<t.JD1)throw`err147: JL1 ${t.JL1} too small compare to JD1 ${t.JD1}`;if(Math.abs(t.JH1)>t.JD1/2+$)throw`err148: JH1 ${t.JH1} too large compare to JD1 ${t.JD1} and S1 ${t.S1}`;if(t.JS2<t.JS1-$)throw`err149: JS2 ${t.JS2} too small compare to JS1 ${t.JS1} and S1 ${t.S1}`;o.logstr+=`cone-height: ${H(P)} mm
61
+ `,o.logstr+=`cone-height total: ${H(b)} mm
62
+ `,D.addSecond(tt(-k,Q,t.L5,t.S1)),D.addSecond(tt(-k,Q+t.E7,t.L5,W)),D.addMain(M(-t.JL1/2,Z,K)),D.addMain(M(-t.JL1/2,Z,C)),D.addMain(M(t.JL1/2,Z,K)),D.addMain(M(t.JL1/2,Z,C));const B=_t(bt.pDef);B.setVal("D1",t.D1),B.setVal("D2",t.D2),B.setVal("D3",t.D3),B.setVal("H1",t.H1),B.setVal("H2",t.H2),B.setVal("H3",t.H3),B.setVal("E1",t.E1),B.setVal("E3",t.E3),B.setVal("H4",t.H4),B.setVal("D4",t.D4),B.setVal("E4",t.E4),B.setVal("H5",t.H5),B.setVal("D5",t.D5),B.setVal("L4",t.L4),B.setVal("L5",t.L5),B.setVal("L6",t.L6),B.setVal("D6",t.D6),B.setVal("E6",t.E6),B.setVal("L7",t.L7),B.setVal("L8",t.L8),B.setVal("N1",t.N1),B.setVal("D7",t.D7),B.setVal("L1",t.L1),B.setVal("D8",t.D8),B.setVal("H6",t.H6),B.setVal("H7",t.H7),B.setVal("L9",t.L9),B.setVal("R9",t.R9);const T=bt.pGeom(0,B.getParamVal(),B.getSuffix());ft(T),o.logstr+=St(T.logstr,B.getPartNameSuffix()),n.mergeFigure(T.fig.faceCone),n.mergeFigure(D,!0),r.mergeFigure(T.fig.faceBeam),i.mergeFigure(T.fig.faceBeamHollow),d.mergeFigure(T.fig.faceDisc),l.mergeFigure(T.fig.faceHand),c.mergeFigure(T.fig.faceWing),g.mergeFigure(T.fig.faceWingHollow),S.mergeFigure(T.fig.faceDoor),S.mergeFigure(D,!0),h.mergeFigure(T.fig.faceDisc,!0),h.addMain(tt(J,-k,t.S1,t.L5)),h.addMain(tt(J+t.E7,-k,W,t.L5)),h.addMain(tt(t.S2-t.S1,-k,t.S1,t.L5)),h.addMain(tt(t.S2-t.E7-W,-k,W,t.L5)),h.addMain(tt(0,-k,m,t.S1)),h.addMain(tt(0,-k+t.E7,m,W)),h.addMain(tt(0,k-t.S1,m,t.S1)),h.addMain(tt(0,k-t.S1+t.E7,m,W)),h.addMain(tt(0,-v-t.S1,m,t.S1)),h.addMain(tt(0,-v-t.S1+t.E7,m,W)),h.addMain(tt(0,v,m,t.S1)),h.addMain(tt(0,v+t.E7,m,W)),h.addSecond(tt(-j,-t.JL1/2-K,j,2*K)),h.addSecond(tt(-j,-t.JL1/2-C,j,2*C)),h.addSecond(tt(-j,t.JL1/2-K,j,2*K)),h.addSecond(tt(-j,t.JL1/2-C,j,2*C)),a.mergeFigure(T.fig.faceBeam,!0),a.addMain(M(-v-t.JS1,R,$)),a.addMain(M(-v-t.JS1,R,G)),a.addMain(M(t.S2-$,L+$,$)),a.addMain(M(t.S2-$,L+$,G)),a.addSecond(tt(0,L,m,t.S1)),a.addSecond(tt(0,L+t.E7,m,W));const q=L+t.S1/2-N,A=Math.sqrt(m**2+q**2),F=Math.atan2(q,m);o.logstr+=`stopper-rod: L ${H(A)} mm, A ${H(lt(F))} degree
63
+ `;const y=$*Math.sin(F),U=$*Math.cos(F),st=N-U;a.addSecond(Zt(y,st,A,t.S1,F));const et=G*Math.sin(F),gt=G*Math.cos(F),ht=N-gt;a.addSecond(Zt(et,ht,A,W,F)),a.addSecond(tt(-j,Z-K,j,2*K)),a.addSecond(tt(-j,Z-C,j,2*C)),u.mergeFigure(T.fig.faceBeam,!0),u.addSecond(M(-v-t.JS1,R,$)),u.addMain(M(-v-t.JS1,R,G)),u.addSecond(M(t.S2-$,L+$,$)),u.addMain(M(t.S2-$,L+$,G)),u.addSecond(tt(-j,Z-K,j,2*K)),u.addSecond(tt(-j,Z-C,j,2*C)),f.mergeFigure(T.fig.faceCone,!0),f.mergeFigure(D,!0),f.addMain(M(-t.L5/2+$,L+$,$)),f.addMain(M(-t.L5/2+$,L+$,G)),f.addMain(M(t.L5/2-$,L+$,$)),f.addMain(M(t.L5/2-$,L+$,G)),w.mergeFigure(T.fig.faceCone,!0),w.mergeFigure(D,!0),w.addSecond(M(-t.L5/2+$,L+$,$)),w.addMain(M(-t.L5/2+$,L+$,G)),w.addSecond(M(t.L5/2-$,L+$,$)),w.addMain(M(t.L5/2-$,L+$,G)),V.mergeFigure(T.fig.faceCone,!0),V.mergeFigure(D,!0),V.addMain(M(-v-$,0,$)),V.addMain(M(-v-$,0,G)),V.addMain(M(v+$,0,$)),V.addMain(M(v+$,0,G)),x.mergeFigure(T.fig.faceCone,!0),x.mergeFigure(D,!0),x.addSecond(M(-v-$,0,$)),x.addMain(M(-v-$,0,G)),x.addSecond(M(v+$,0,$)),x.addMain(M(v+$,0,G)),E.mergeFigure(T.fig.faceCone,!0),E.mergeFigure(D),o.fig={faceCone:n,faceBeam:r,faceBeamHollow:i,faceDisc:d,faceHand:l,faceWing:c,faceWingHollow:g,faceDoor:S,faceStopperTop:h,faceStopperSide:a,faceStopperSideH:u,faceStopperFaceT:f,faceStopperFaceTH:w,faceStopperFaceB:V,faceStopperFaceBH:x,faceLowStopperHolder:E};const X=o.partName;o.vol={inherits:[{outName:`inpax_${X}_rake`,subdesign:"pax_rake",subgeom:T,rotate:[0,0,0],translate:[0,0,0]}],extrudes:[{outName:`subpax_${X}_stpSide`,face:`${X}_faceStopperSide`,extrudeMethod:Y.eLinearOrtho,length:t.L5,rotate:[Math.PI/2,0,0],translate:[0,t.L5/2,0]},{outName:`subpax_${X}_stpSideH`,face:`${X}_faceStopperSideH`,extrudeMethod:Y.eLinearOrtho,length:t.L5,rotate:[Math.PI/2,0,0],translate:[0,t.L5/2,0]},{outName:`subpax_${X}_stpFaceT`,face:`${X}_faceStopperFaceT`,extrudeMethod:Y.eLinearOrtho,length:m,rotate:[Math.PI/2,0,Math.PI/2],translate:[0,0,0]},{outName:`subpax_${X}_stpFaceTH`,face:`${X}_faceStopperFaceTH`,extrudeMethod:Y.eLinearOrtho,length:m,rotate:[Math.PI/2,0,Math.PI/2],translate:[0,0,0]},{outName:`subpax_${X}_stpFaceB`,face:`${X}_faceStopperFaceB`,extrudeMethod:Y.eLinearOrtho,length:A,rotate:[Math.PI/2-F,0,Math.PI/2],translate:[0,0,N]},{outName:`subpax_${X}_stpFaceBH`,face:`${X}_faceStopperFaceBH`,extrudeMethod:Y.eLinearOrtho,length:A,rotate:[Math.PI/2-F,0,Math.PI/2],translate:[0,0,N]}],volumes:[{outName:`ipax_${X}_plus`,boolMethod:nt.eUnion,inList:[`subpax_${X}_stpSide`,`subpax_${X}_stpFaceT`,`subpax_${X}_stpFaceB`]},{outName:`ipax_${X}_hollow`,boolMethod:nt.eUnion,inList:[`subpax_${X}_stpSideH`,`subpax_${X}_stpFaceTH`,`subpax_${X}_stpFaceBH`]},{outName:`ipax_${X}_stopper`,boolMethod:nt.eSubstraction,inList:[`ipax_${X}_plus`,`ipax_${X}_hollow`]},{outName:`pax_${X}`,boolMethod:nt.eUnion,inList:[`inpax_${X}_rake`,`ipax_${X}_stopper`]}]},o.sub={},o.logstr+=`heliostat-rake drawn successfully!
64
+ `,o.calcErr=!1}catch(v){o.logstr+=v,console.log(v)}return o}var zt={pTitle:"Heliostat rake with stopper",pDescription:"The rake-stopper on top of the V-Axis of the heliostat",pDef:le,pGeom:Ge},Gt={partName:"heliostat_2",params:[e("H1","mm",3e3,10,4e4,10),e("H2","mm",2500,50,4e4,10),e("D1","mm",1e3,20,4e3,10),e("D2","mm",700,20,4e3,10),e("E1","mm",30,1,80,1),p("rake"),e("H3","mm",200,1,500,1),e("H4","mm",800,1,4e3,1),e("H5","mm",3e3,50,6e3,10),e("H6","mm",200,1,4e3,1),e("H7","mm",400,1,4e3,1),e("D3","mm",900,20,4e3,10),e("D4","mm",400,20,4e3,10),e("D5","mm",300,20,1e3,10),e("D6","mm",200,10,1e3,10),e("D7","mm",400,10,1e3,10),p("rake diagonal"),e("D9","mm",100,1,1e3,1),e("L7","mm",100,1,1e3,1),e("L8","mm",200,1,1e3,1),p("rake stopper"),e("S1","mm",100,1,800,1),p("swing"),e("L1","mm",12500,100,4e4,10),e("L2","mm",6e3,100,4e4,10),e("L3","mm",100,1,500,1),e("L4","mm",600,1,4e3,1),e("L5","mm",2e3,10,6e3,10),e("L6","mm",2e3,1,6e3,1),e("H9","mm",100,1,400,1),p("motion amplitude"),e("al","degree",80,0,95,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 Ue(s,t,_=""){const o=rt(Gt.partName+_),n=I(),r=I(),i=I();o.logstr+=`${o.partName} simTime: ${s}
65
+ `;try{const d=t.H1+t.H2-t.H3+t.H4+t.H5-t.H6+t.H7;o.logstr+=`heliostat-height: ${H(d)}, diameter ${H(t.D1)} m
66
+ `,o.logstr+=`heliostat-swing-length: ${H(t.L1)}, width ${H(t.L2)} m
67
+ `;const l=t.al*s/Gt.sim.tMax,c=$t(l);o.logstr+=`swing position angle: ${H(lt(c))} degree
68
+ `;const g=t.H1+t.H2-t.H3,S=g+t.H4+t.H5-t.H6+t.H7,h=_t(Mt.pDef),a=_t(zt.pDef),u=_t(kt.pDef);h.setVal("H1",t.H1),h.setVal("H2",t.H2),h.setVal("D1",t.D1),h.setVal("D2",t.D2),h.setVal("D3",t.D1-6*t.E1),h.setVal("E1",t.E1),h.setVal("E2",t.E1);const f=32,w=(t.D1-6*t.E1)/(f*4);h.setVal("N1",f),h.setVal("D5",w),h.setVal("L1",t.E1+w/2),h.setVal("H3",t.H1/4),h.setVal("H4",t.H1/2),h.setVal("D4",t.H1/4),h.setVal("L2",t.H1/80),h.setVal("E3",t.H1/80),h.setVal("holders",0),a.setVal("H1",t.H4),a.setVal("H2",t.H5),a.setVal("H3",t.H4-2*t.E1),a.setVal("D1",t.D3),a.setVal("D2",t.D4),a.setVal("L9",t.D3/2),a.setVal("H7",t.D3/2*1.6),a.setVal("H6",t.D3/20),a.setVal("R9",t.D3/20),a.setVal("E1",t.E1),a.setVal("E3",t.E1),a.setVal("E4",t.E1),a.setVal("E6",t.E1),a.setVal("E7",t.E1);const V=t.D2*.6,x=24,D=V/(x*4);if(a.setVal("D3",V),t.D2>t.D3-2*t.E1)throw`err153: D2 ${t.D2} too large compare to D3 ${t.D3} and E1 ${t.E1}`;if(a.setVal("N1",x),a.setVal("D7",D),a.setVal("L1",D),a.setVal("H4",t.H6),a.setVal("D4",t.D5),a.setVal("L7",t.L7),a.setVal("L8",t.L8),a.setVal("D6",t.D9),a.setVal("H5",t.H7),a.setVal("D5",t.D6),a.setVal("D8",t.D7),t.D6>=t.D7)throw`err164: D6 ${t.D6} too large compare to D7 ${t.D7}`;const E=t.L4-2*t.L3;if(a.setVal("L4",E),E<=0)throw`err169: L3 ${t.L3} too large compare to L4 ${t.L4}`;if(a.setVal("L5",t.L5+2*t.L3),a.setVal("L6",t.L6+2*t.L3),a.setVal("S1",t.S1),a.setVal("S2",t.L2/2),u.setVal("L2",t.L2),u.setVal("D1",t.D6),u.setVal("H3",t.H9),u.setVal("H4",t.H9),u.setVal("L1",t.L1),t.L1<4*t.L4+2*t.L6+t.L5+2*t.L3)throw`err185: L1 ${t.L1} too small compare to L4 ${t.L4}, L5 ${t.L5}, L6 ${t.L6}`;u.setVal("H1",t.L3),u.setVal("H2",t.L3),u.setVal("L4",t.L4),u.setVal("L5",t.L5),u.setVal("L6",t.L6),u.setVal("L3",t.D7);const v=Mt.pGeom(0,h.getParamVal(),h.getSuffix());ft(v),o.logstr+=St(v.logstr,h.getPartNameSuffix());const P=zt.pGeom(0,a.getParamVal(),a.getSuffix());ft(P),o.logstr+=St(P.logstr,a.getPartNameSuffix());const b=kt.pGeom(0,u.getParamVal(),u.getSuffix());ft(b),o.logstr+=St(b.logstr,u.getPartNameSuffix()),n.mergeFigure(v.fig.poleCut),n.mergeFigure(P.fig.faceStopperSide.translate(0,g)),n.mergeFigure(b.fig.faceSide.translate(0,S).rotate(0,S,c)),r.mergeFigure(v.fig.poleCut),r.mergeFigure(P.fig.faceStopperFaceT.translate(0,g)),r.mergeFigure(b.fig.faceFace.translate(0,S)),i.mergeFigure(v.fig.poleBottom.translate(0,0)),i.mergeFigure(P.fig.faceStopperTop.translate(0,0)),i.mergeFigure(b.fig.faceTop.rotate(0,0,Math.PI/2)),o.fig={faceSide:n,faceFace:r,faceTop:i};const R=o.partName;o.vol={inherits:[{outName:`inpax_${R}_poleStatic`,subdesign:"pax_pole_static",subgeom:v,rotate:[0,0,0],translate:[0,0,0]},{outName:`inpax_${R}_rake`,subdesign:"pax_rake_stopper",subgeom:P,rotate:[0,0,0],translate:[0,0,g]},{outName:`inpax_${R}_swing`,subdesign:"pax_swing",subgeom:b,rotate:[Math.PI/2,0,0],translate:[0,0,S]}],extrudes:[],volumes:[{outName:`pax_${R}`,boolMethod:nt.eUnion,inList:[`inpax_${R}_poleStatic`,`inpax_${R}_rake`,`inpax_${R}_swing`]}]};const L=h.getDesignParamList(),N={partName:h.getPartName(),dparam:L,orientation:[0,0,0],position:[0,0,0]},k={partName:a.getPartName(),dparam:a.getDesignParamList(),orientation:[0,0,0],position:[0,0,g]},$={partName:u.getPartName(),dparam:u.getDesignParamList(),orientation:[0,0,0],position:[0,0,S]};o.sub={pole_static_1:N,rake_1:k,swing_1:$},o.logstr+=`heliostat-2-overview drawn successfully!
69
+ `,o.calcErr=!1}catch(d){o.logstr+=d,console.log(d)}return o}var Je={pTitle:"Heliostat-2 overview",pDescription:"The heliostat-2 inclination mechanism",pDef:Gt,pGeom:Ue},ce={partName:"base",params:[e("D1","mm",600,10,4e3,10),e("D2","mm",700,10,4e3,10),e("D3","mm",400,10,4e3,10),e("D4","mm",500,10,4e3,10),e("E1","mm",30,1,80,1),e("E2","mm",30,1,80,1),e("E3","mm",30,1,80,1),e("H1","mm",800,10,4e3,10),e("H2","mm",50,1,4e3,1),p("side holes"),e("H3","mm",400,10,4e3,10),e("N2","",12,1,100,1),e("L2","mm",100,1,400,1),p("base holes"),e("N1","",24,3,100,1),e("D5","mm",40,1,100,1),e("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 pe(s,t,_=""){const o=rt(ce.partName+_);let n,r,i;const d=I(),l=I(),c=I();o.logstr+=`${o.partName} simTime: ${s}
70
+ `;try{const g=t.D1/2,S=t.D2/2,h=t.D3/2,a=t.D4/2,u=t.D5/2,f=t.L2/2;if(S<g)throw`err089: D2 ${t.D2} too small compare to D1 ${t.D1}`;if(a>g-t.E2)throw`err189: D4 ${t.D4} too large compare to D1 ${t.D1} and E2 ${t.E2}`;o.logstr+=`base-height: ${H(t.H1)} mm
71
+ `,o.logstr+=`base-external-diameter: ${H(t.D2)} mm
72
+ `;const w=t.D1*Math.PI/t.N2-t.L2;if(o.logstr+=`inter-hollow: ${H(w)} mm
73
+ `,n=function(k){return z(k*S,0).addSegStrokeA(k*S,t.E3).addSegStrokeA(k*g,t.E3).addSegStrokeA(k*g,t.H1).addSegStrokeA(k*(g-t.E2),t.H1).addSegStrokeA(k*(g-t.E2),t.E3).addSegStrokeA(k*a,t.E3).addSegStrokeA(k*a,0).closeSegStroke()},r=function(k){return z(k*S,0).addSegStrokeA(k*S,t.E3).addSegStrokeA(k*g,t.E3).addSegStrokeA(k*g,t.H1).addSegStrokeA(k*h,t.H1).addSegStrokeA(k*h,t.H1-t.E1).addSegStrokeA(k*(g-t.E2),t.H1-t.E1).addSegStrokeA(k*(g-t.E2),t.E3).addSegStrokeA(k*a,t.E3).addSegStrokeA(k*a,0).closeSegStroke()},t.H1<t.E3+t.H2+t.H3+t.E1)throw`err125: H1 ${t.H1} too small compare to E3 ${t.H3}, H2 ${t.H2}, H3 ${t.H3}, E1 ${t.E1}`;if(t.D5>t.H3)throw`err128: D5 ${t.D5} too large compare to H3 ${t.H3}`;const V=2*Math.asin(f/(g-t.E2));if(t.N2*V>2*Math.PI)throw`err132: N2 ${t.N2} too large compare to L2 ${t.L2}, D1 ${t.D1}, E2 ${t.E2}`;const x=t.E3+t.H2+f;if(i=function(k){return z(k*f,x).addSegStrokeA(k*f,x+t.H3-t.L2).addPointA(-k*f,x+t.H3-t.L2).addSegArc(f,!1,!0).addSegStrokeA(-k*f,x).closeSegArc(f,!1,!0)},d.addMain(n(1)),d.addSecond(r(1)),d.addSecond(r(-1)),d.addSecond(i(1)),h+t.L1+u>g-t.E2)throw`err127: D3 ${t.D3} too large compare to D1 ${t.D1}, E2 ${t.E2}, L1 ${t.L1}, R5 ${t.D5}`;if(u>t.L1)throw`err130: D5 ${t.D5} too large compare to L1 ${t.L1}`;const D=2*Math.asin(u/(S+t.L1));if(t.N1*D>2*Math.PI)throw`err134: N1 ${t.N1} too large compare to D5 ${t.D5}, L1 ${t.L1}, D2 ${t.D2}`;l.addMain(M(0,0,g)),l.addMain(M(0,0,h));const E=h+t.L1,v=2*Math.PI/t.N1;for(let k=0;k<t.N1;k++){const $=E*Math.cos(k*v),W=E*Math.sin(k*v);l.addMain(M($,W,u))}l.addSecond(M(0,0,g-t.E1)),l.addSecond(M(0,0,S)),l.addSecond(M(0,0,a)),c.addMain(i(1)),c.addSecond(r(1)),c.addSecond(r(-1)),o.fig={faceCut:d,faceTop:l,faceHollow:c};const P=o.partName,b=2*Math.PI/t.N2,R=[...Array(t.N2).keys()],L=R.map(k=>({outName:`subpax_${P}_hollow_${k}`,face:`${P}_faceHollow`,extrudeMethod:Y.eLinearOrtho,length:S+t.E2,rotate:[Math.PI/2,0,k*b],translate:[0,0,0]})),N=R.map(k=>`subpax_${P}_hollow_${k}`);o.vol={extrudes:[{outName:`subpax_${P}_cut`,face:`${P}_faceCut`,extrudeMethod:Y.eRotate,rotate:[0,0,0],translate:[Math.PI/2,0,0]},{outName:`subpax_${P}_top`,face:`${P}_faceTop`,extrudeMethod:Y.eLinearOrtho,length:t.E1,rotate:[0,0,0],translate:[0,0,t.H1-t.E1]},...L],volumes:[{outName:`ipax_${P}_hollows`,boolMethod:nt.eUnion,inList:[...N]},{outName:`ipax_${P}_cylinder`,boolMethod:nt.eSubstraction,inList:[`subpax_${P}_cut`,`ipax_${P}_hollows`]},{outName:`pax_${P}`,boolMethod:nt.eUnion,inList:[`ipax_${P}_cylinder`,`subpax_${P}_top`]}]},o.sub={},o.logstr+=`heliostat-base drawn successfully!
74
+ `,o.calcErr=!1}catch(g){o.logstr+=g,console.log(g)}return o}var We={pTitle:"Heliostat base",pDescription:"The base for the static-pole of the heliostat",pDef:ce,pGeom:pe},re={partName:"vaxis",params:[e("D1","mm",600,1,4e3,1),e("D2","mm",400,1,4e3,1),e("H1","mm",8e3,10,4e4,10),e("E1","mm",5,1,80,1),e("E2","mm",30,1,80,1),p("base holes"),e("N1","",24,3,100,1),e("D3","mm",40,1,100,1),e("L1","mm",45,1,300,1)],paramSvg:{D1:"vaxis_cut.svg",D2:"vaxis_cut.svg",H1:"vaxis_cut.svg",E1:"vaxis_cut.svg",E2:"vaxis_cut.svg",N1:"vaxis_ends.svg",D3:"vaxis_ends.svg",L1:"vaxis_ends.svg"},sim:{tMax:180,tStep:.5,tUpdate:500}};function qe(s,t,_=""){const o=rt(re.partName+_);let n;const r=I(),i=I();o.logstr+=`${o.partName} simTime: ${s}
75
+ `;try{const d=t.D1/2,l=t.D2/2,c=t.D3/2;o.logstr+=`vaxis-height: ${H(t.H1)} mm
76
+ `;const g=z(d,0).addSegStrokeA(d,t.H1).addSegStrokeA(d-t.E1,t.H1).addSegStrokeA(d-t.E1,0).closeSegStroke();r.addMain(g),n=function(u){return z(u*d,0).addSegStrokeA(u*d,t.H1).addSegStrokeA(u*l,t.H1).addSegStrokeA(u*l,t.H1-t.E2).addSegStrokeA(u*(d-t.E1),t.H1-t.E2).addSegStrokeA(u*(d-t.E1),t.E2).addSegStrokeA(u*l,t.E2).addSegStrokeA(u*l,0).closeSegStroke()},r.addSecond(n(1)),r.addSecond(n(-1)),i.addMain(M(0,0,d)),i.addMain(M(0,0,l));const S=l+t.L1,h=2*Math.PI/t.N1;for(let u=0;u<t.N1;u++){const f=S*Math.cos(u*h),w=S*Math.sin(u*h);i.addMain(M(f,w,c))}i.addSecond(M(0,0,d-t.E1)),o.fig={faceCut:r,faceBottom:i};const a=o.partName;o.vol={extrudes:[{outName:`subpax_${a}_pole`,face:`${a}_faceCut`,extrudeMethod:Y.eRotate,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${a}_bottom`,face:`${a}_faceBottom`,extrudeMethod:Y.eLinearOrtho,length:t.E2,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${a}_top`,face:`${a}_faceBottom`,extrudeMethod:Y.eLinearOrtho,length:t.E2,rotate:[0,0,0],translate:[0,0,t.H1-t.E2]}],volumes:[{outName:`pax_${a}`,boolMethod:nt.eUnion,inList:[`subpax_${a}_pole`,`subpax_${a}_bottom`,`subpax_${a}_top`]}]},o.sub={},o.logstr+=`V-Axis drawn successfully!
77
+ `,o.calcErr=!1}catch(d){o.logstr+=d,console.log(d)}return o}var Ye={pTitle:"Heliostat V-Axis",pDescription:"The vertical axis inside the pole of an heliostat",pDef:re,pGeom:qe},ge={partName:"ring",params:[e("D1","mm",400,1,2e3,1),e("D3","mm",800,1,4e3,1),e("H1","mm",20,1,100,1),e("H2","mm",100,1,600,1),p("ring holes"),e("N2","",24,3,100,1),e("D2","mm",40,1,100,1),e("L1","mm",45,1,300,1),p("ring fake teeth"),e("N1","",100,3,1e4,1),e("L2","mm",30,1,200,1),e("L3","mm",30,1,200,1)],paramSvg:{D1:"ring_top.svg",D3:"ring_top.svg",H1:"ring_section.svg",H2:"ring_section.svg",N2:"ring_top.svg",D2:"ring_top.svg",L1:"ring_top.svg",N1:"ring_top.svg",L2:"ring_top.svg",L3:"ring_top.svg"},sim:{tMax:180,tStep:.5,tUpdate:500}};function Xe(s,t,_=""){const o=rt(ge.partName+_),n=I(),r=I(),i=I();o.logstr+=`${o.partName} simTime: ${s}
78
+ `;try{const d=t.D1/2,l=t.D2/2,c=t.D3/2,g=t.H1+t.H2;if(t.L1<l)throw`err203: L1 ${t.L1} too small compare to D2 ${t.D2}`;if(d+t.L1+l>c-t.L2-t.L3)throw`err204: D3 ${t.D3} too small compare to D1 ${t.D1}, L1 ${t.L1}, L2 ${t.L2}, L3 ${t.L3}`;if(2*Math.atan2(l,d+t.L1)>2*Math.PI/t.N2)throw`err205: D2 ${t.D2} too large compare to N2 ${t.N2}`;o.logstr+=`ring-height: ${H(g)} mm
79
+ `;const S=c-t.L2,h=S-t.L3,a=2*Math.PI/(2*t.N1),u=z(S,0);for(let P=0;P<t.N1;P++){const b=2*P+1,R=2*P+2,L=h*Math.cos(b*a),N=h*Math.sin(b*a),k=S*Math.cos(R*a),$=S*Math.sin(R*a);u.addSegStrokeA(L,N).addSegStrokeA(k,$)}n.addMain(M(0,0,c)),n.addMain(M(0,0,d));const f=d+t.L1,w=2*Math.PI/t.N2;for(let P=0;P<t.N2;P++){const b=f*Math.cos(P*w),R=f*Math.sin(P*w);n.addMain(M(b,R,l)),r.addSecond(M(b,R,l))}n.addSecond(u),r.addMain(M(0,0,c)),r.addMain(u),r.addSecond(M(0,0,d));const V=z(d,0).addSegStrokeA(-d,0).addSegStrokeA(-d,-t.H1).addSegStrokeA(d,-t.H1).closeSegStroke(),x=function(P){return z(P*(d+t.L1)+l,0).addSegStrokeR(-2*l,0).addSegStrokeR(0,-t.H1).addSegStrokeR(2*l,0).closeSegStroke()},D=function(P){return z(P*(c-t.L2),-t.H1).addSegStrokeR(-P*t.L3,0).addSegStrokeR(0,-t.H2).addSegStrokeR(P*t.L3,0).closeSegStroke()},E=function(P){return z(P*c,0).addSegStrokeR(-P*(c-d),0).addSegStrokeR(0,-t.H1).addSegStrokeR(P*(c-t.L2-t.L3-d),0).addSegStrokeR(0,-t.H2).addSegStrokeR(P*(t.L2+t.L3),0).closeSegStroke()};i.addSecond(V),i.addSecond(x(1)),i.addSecond(x(-1)),i.addSecond(D(1)),i.addSecond(D(-1)),i.addMain(E(1)),i.addSecond(E(-1)),o.fig={faceRingBase:n,faceRingTeeth:r,faceSection:i};const v=o.partName;o.vol={extrudes:[{outName:`subpax_${v}_base`,face:`${v}_faceRingBase`,extrudeMethod:Y.eLinearOrtho,length:t.H1,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${v}_teeth`,face:`${v}_faceRingTeeth`,extrudeMethod:Y.eLinearOrtho,length:g,rotate:[0,0,0],translate:[0,0,0]}],volumes:[{outName:`pax_${v}`,boolMethod:nt.eUnion,inList:[`subpax_${v}_base`,`subpax_${v}_teeth`]}]},o.sub={},o.logstr+=`ring drawn successfully!
80
+ `,o.calcErr=!1}catch(d){o.logstr+=d,console.log(d)}return o}var je={pTitle:"Heliostat ring",pDescription:"The gear ring for adjusting the azimuth of the heliostat",pDef:ge,pGeom:Xe},ae={partName:"ring_guidance",params:[e("D1","mm",700,100,2500,1),e("N1","legs",6,1,24,1),e("D2","mm",600,100,2e3,1),p("leg details"),e("D3","mm",30,1,200,1),e("D4","mm",50,1,200,1),e("L1","mm",90,1,900,1),e("R5","mm",20,0,500,1),p("inner"),e("D6","mm",300,1,1e3,1),e("N2","motors",8,1,200,1),e("L2","mm",50,1,200,1),e("D7","mm",80,1,200,1),p("thickness"),e("T1","mm",10,1,200,1)],paramSvg:{D1:"ring_guidance_top.svg",D2:"ring_guidance_top.svg",D3:"ring_guidance_top.svg",D4:"ring_guidance_top.svg",R5:"ring_guidance_top.svg",D6:"ring_guidance_top.svg",D7:"ring_guidance_top.svg",N1:"ring_guidance_top.svg",N2:"ring_guidance_top.svg",L1:"ring_guidance_top.svg",L2:"ring_guidance_top.svg",T1:"ring_guidance_top.svg"},sim:{tMax:100,tStep:.5,tUpdate:500}};function Ze(s,t,_=""){const o=rt(ae.partName+_),n=I(),r=I();o.logstr+=`${o.partName} simTime: ${s}
81
+ `;try{const i=t.D1/2,d=t.D3/2,l=t.D4/2,c=t.D6/2,g=t.D7/2,S=2*Math.PI/t.N2;if(g>t.L2)throw`err461: D7 ${t.D7} is too large compare to L2 ${t.L2}`;if(t.N2*t.D7>(t.D6+2*t.L2)*Math.PI)throw`err462: N2 ${t.N2} is too large compare to D6 ${t.D6}, D7 ${t.D7} and L2 ${t.L2}`;if(t.D2<t.D6+2*t.L2+2*g)throw`err463: D2 ${t.D2} is too small compare to D6 ${t.D6}, L2 ${t.L2} and D7 ${t.D7}`;o.logstr+=`ring_guidance: Dmax ${H(t.D1+2*l)} mm
82
+ `;const[h,a,u]=oe(t);o.logstr+=h,n.addMain(a),n.addMain(M(0,0,c));for(let D=0;D<t.N2;D++)n.addMain(M(c+t.L2,0,g).rotate(0,0,D*S));for(let D=0;D<t.N1;D++)n.addMain(M(i,0,d).rotate(0,0,D*u));const f=function(D,E,v,P){return z(D,E).addSegStrokeR(v,0).addSegStrokeR(0,P).addSegStrokeR(-v,0).closeSegStroke()},w=i-c+l;r.addMain(f(c,0,w,t.T1)),r.addMain(f(-c-w,0,w,t.T1)),r.addSecond(f(i-d,0,2*d,t.T1)),r.addSecond(f(-i-d,0,2*d,t.T1));const V=c+t.L2;r.addSecond(f(V-g,0,2*g,t.T1)),r.addSecond(f(-V-g,0,2*g,t.T1)),o.fig={faceTop:n,faceSection:r};const x=o.partName;o.vol={extrudes:[{outName:`subpax_${x}_top`,face:`${x}_faceTop`,extrudeMethod:Y.eLinearOrtho,length:t.T1,rotate:[0,0,0],translate:[0,0,0]}],volumes:[{outName:`pax_${x}`,boolMethod:nt.eIdentity,inList:[`subpax_${x}_top`]}]},o.sub={},o.logstr+=`ring_guidance drawn successfully!
83
+ `,o.calcErr=!1}catch(i){o.logstr+=i,console.log(i)}return o}var Ke={pTitle:"Ring-guidance",pDescription:"The guidance of the gear-ring for the heliostat azimuth",pDef:ae,pGeom:Ze},he={partName:"vaxis_guidance",params:[e("D1","mm",700,100,2500,1),e("N1","legs",6,1,24,1),e("D2","mm",600,100,2e3,1),p("leg details"),e("D3","mm",30,1,200,1),e("D4","mm",50,1,200,1),e("L1","mm",90,1,900,1),e("R5","mm",20,0,500,1),p("inner"),e("D6","mm",540,1,1e3,1),e("N2","springs",6,1,24,1),Lt("orientation",["ccw","cw","alt"]),e("R7","mm",10,0,100,1),e("L2","mm",100,1,900,1),e("E2","mm",20,1,200,1),p("spring"),e("SA1","degree",0,-45,45,1),e("SE1","mm",10,1,200,1),e("SD1","mm",20,1,200,1),e("SD2","mm",10,1,200,1),e("SN1","loops",2,0,8,1),e("SL1","mm",40,1,900,1),e("SL2","mm",70,0,900,1),Lt("Send",["round","pike"]),p("thickness"),e("T1","mm",10,1,200,1),e("Dvaxis","mm",260,5,1e3,1)],paramSvg:{D1:"vaxis_guidance_top.svg",N1:"vaxis_guidance_top.svg",D2:"vaxis_guidance_top.svg",D3:"vaxis_guidance_top.svg",D4:"vaxis_guidance_top.svg",L1:"vaxis_guidance_top.svg",R5:"vaxis_guidance_top.svg",D6:"vaxis_guidance_top.svg",N2:"vaxis_guidance_top.svg",orientation:"vaxis_guidance_top.svg",R7:"vaxis_guidance_top.svg",L2:"vaxis_guidance_spring.svg",E2:"vaxis_guidance_spring.svg",SA1:"vaxis_guidance_spring.svg",SE1:"vaxis_guidance_spring.svg",SD1:"vaxis_guidance_spring.svg",SD2:"vaxis_guidance_spring.svg",SN1:"vaxis_guidance_spring.svg",SL1:"vaxis_guidance_spring.svg",SL2:"vaxis_guidance_spring.svg",Send:"vaxis_guidance_spring.svg",T1:"vaxis_guidance_top.svg",Dvaxis:"vaxis_guidance_top.svg"},sim:{tMax:100,tStep:.5,tUpdate:500}};function Qe(s,t,_=""){const o=rt(he.partName+_),n=I(),r=I();o.logstr+=`${o.partName} simTime: ${s}
84
+ `;try{const i=t.D1/2,d=t.D2/2,l=t.D3/2,c=t.D4/2,g=t.D6/2;if(d<g)throw`err466: D6 ${t.D6} is too large compare to D2 ${t.D2}`;o.logstr+=`vaxis_guidance: Dmax ${H(t.D1+2*c)} mm
85
+ `;const[S,h,a]=oe(t);o.logstr+=S,n.addMain(h);for(let x=0;x<t.N1;x++)n.addMain(M(i,0,l).rotate(0,0,x*a));const[u,f]=Ie(t);o.logstr+=u,n.addMain(f),n.addSecond(M(0,0,t.Dvaxis/2));const w=i-g+c;r.addMain(tt(g,0,w,t.T1)),r.addMain(tt(-g-w,0,w,t.T1)),r.addSecond(tt(i-l,0,2*l,t.T1)),r.addSecond(tt(-i-l,0,2*l,t.T1)),o.fig={faceTop:n,faceSection:r};const V=o.partName;o.vol={extrudes:[{outName:`subpax_${V}_top`,face:`${V}_faceTop`,extrudeMethod:Y.eLinearOrtho,length:t.T1,rotate:[0,0,0],translate:[0,0,0]}],volumes:[{outName:`pax_${V}`,boolMethod:nt.eIdentity,inList:[`subpax_${V}_top`]}]},o.sub={},o.logstr+=`vaxis_guidance drawn successfully!
86
+ `,o.calcErr=!1}catch(i){o.logstr+=i,console.log(i)}return o}var to={pTitle:"Vaxis-guidance",pDescription:"The guidance of the V-Axis for the heliostat azimuth",pDef:he,pGeom:Qe},ue={partName:"haxis_guidance",params:[e("D5","mm",600,1,2e3,1),e("D8","mm",1e3,1,2e3,1),p("outer details"),e("E5","mm",1,0,200,1),e("E8","mm",20,1,200,1),e("L5","mm",20,1,200,1),e("R9","mm",20,0,500,1),p("inner spring"),e("SA1","degree",0,-45,45,1),e("SE1","mm",2,.1,100,.1),e("SD1","mm",20,1,200,1),e("SD2","mm",10,1,200,1),e("SN1","springs",7,1,24,1),e("SL1","mm",60,0,500,1),e("SL2","mm",100,0,500,1),Lt("Send",["round","pike"]),p("thickness"),e("L4","mm",400,1,2e3,1)],paramSvg:{D5:"haxis_guidance_outer.svg",D8:"haxis_guidance_outer.svg",E5:"haxis_guidance_outer.svg",E8:"haxis_guidance_outer.svg",L5:"haxis_guidance_outer.svg",R9:"haxis_guidance_outer.svg",SA1:"haxis_guidance_spring.svg",SE1:"haxis_guidance_spring.svg",SD1:"haxis_guidance_spring.svg",SD2:"haxis_guidance_spring.svg",SN1:"haxis_guidance_spring.svg",SL1:"haxis_guidance_spring.svg",SL2:"haxis_guidance_spring.svg",Send:"haxis_guidance_spring.svg",L4:"haxis_guidance_outer.svg"},sim:{tMax:100,tStep:.5,tUpdate:500}};function eo(s,t,_=""){const o=rt(ue.partName+_),n=I(),r=I();o.logstr+=`${o.partName} simTime: ${s}
87
+ `;try{const i=t.D5/2,d=t.D8/2,l=t.SD1/2,c=i+t.E5,g=d-t.E8,S=2*Math.asin(t.L5/(2*c)),h=Math.PI/12+$t(t.SA1),a=Math.PI/2+S-h,u=Math.PI-h,f=Math.PI/2-Math.PI/6+h;if(c+l+t.SE1>g)throw`err411: D8 ${t.D8} is too small compare to D5 ${t.D5}, E5 ${t.D5}, E8 ${t.E8}`;if(2*Math.PI/3-2*S<t.R9/g)throw`err412: L5 ${t.L5} is too large compare to R9 ${t.R9}`;o.logstr+=`haxis_guidance: Dinner ${H(2*c)} mm
88
+ `,n.addSecond(M(0,0,i)),n.addSecond(M(0,0,d));const[w,V]=Vt(t,!1),[,x]=Vt(t,!0);o.logstr+=w;const D=Math.PI/2-S,E=-Math.PI/6+S,v=dt(0,0),P=v.translatePolar(D,c+t.SE1+l),b=P.translatePolar(D-Math.PI/2,l),R=b.translatePolar(D+Math.PI,l+t.SE1),L=b.translatePolar(D+Math.PI,l),N=R.rotate(b,a),k=v.translatePolar(E,c+t.SE1+l),$=k.translatePolar(E+Math.PI/2,l),W=$.translatePolar(E+Math.PI,l+t.SE1),G=$.translatePolar(E+Math.PI,l),J=G.rotate($,-a),m=z(0,c).addSegStrokeA(R.cx,R.cy).addPointA(N.cx,N.cy).addSegArc(l+t.SE1,!1,!0);m.addPartial(V.rotate(0,0,u).translate(N.cx,N.cy)),m.addPointA(L.cx,L.cy).addPointA(P.cx,P.cy).addSegArc2().addSegStrokeAP(D,g).addCornerRounded(t.R9).addPointAP(E,g).addSegArc(g,!1,!1).addCornerRounded(t.R9).addSegStrokeA(k.cx,k.cy).addPointA(G.cx,G.cy).addPointA(J.cx,J.cy).addSegArc2(),m.addPartial(x.rotate(0,0,f).translate(J.cx,J.cy)),m.addPointA(W.cx,W.cy).addSegArc(l+t.SE1,!1,!0).addSegStrokeAP(-Math.PI/6,c).addSegStrokeAP(-Math.PI/6,d).addPointAP(Math.PI/2,d).addSegArc(d,!1,!0).closeSegStroke(),n.addMain(m);const Q=d*Math.sin(Math.PI/6);r.addMain(tt(0,-Q,t.L4,d+Q)),r.addSecond(tt(0,-d,t.L4,2*d)),r.addSecond(tt(0,-i,t.L4,2*i)),o.fig={faceProfile:n,faceSide:r};const Z=o.partName;o.vol={extrudes:[{outName:`subpax_${Z}_profile`,face:`${Z}_faceProfile`,extrudeMethod:Y.eLinearOrtho,length:t.L4,rotate:[0,0,0],translate:[0,0,0]}],volumes:[{outName:`pax_${Z}`,boolMethod:nt.eIdentity,inList:[`subpax_${Z}_profile`]}]},o.sub={},o.logstr+=`haxis_guidance drawn successfully!
89
+ `,o.calcErr=!1}catch(i){o.logstr+=i,console.log(i)}return o}var oo={pTitle:"Haxis-guidance",pDescription:"The guidance of the H-Axis for the heliostat inclination",pDef:ue,pGeom:eo},_e={partName:"rod",params:[e("L1","mm",1e4,100,4e4,10),e("L2","mm",100,2,400,1),e("L3","mm",400,10,1e3,1),e("L4","mm",600,10,1e3,1),e("N1","",10,2,50,1),p("section"),e("H1","mm",200,5,4e3,1),e("E1","mm",2,1,80,1),e("E2","mm",10,1,80,1),p("pad"),e("N3","",2,1,20,1),e("N4","",4,1,20,1),e("R3","mm",100,1,500,1),e("D2","mm",10,1,100,1),e("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 so(s,t,_=""){const o=rt(_e.partName+_);let n,r;const i=I(),d=I(),l=I();o.logstr+=`${o.partName} simTime: ${s}
90
+ `;try{const c=t.D2/2,g=t.L3/(t.N3+1),S=t.L4/(t.N4+1);o.logstr+=`rod-length: ${H(t.L1)} mm
91
+ `;const h=(t.L1-t.L3)/(t.N1-1);o.logstr+=`space-length: ${H(h)} mm
92
+ `,n=function(P){const b=[],R=z(t.L4/2,P).addCornerRounded(t.R3).addSegStrokeA(t.L4/2,P+t.L3).addCornerRounded(t.R3).addSegStrokeA(-t.L4/2,P+t.L3).addCornerRounded(t.R3).addSegStrokeA(-t.L4/2,P).addCornerRounded(t.R3).closeSegStroke();b.push(R);for(let L=1;L<t.N3+1;L++)b.push(M(t.L4/2-t.L7,P+L*g,c)),b.push(M(-t.L4/2+t.L7,P+L*g,c));for(let L=1;L<t.N4+1;L++)b.push(M(-t.L4/2+L*S,P+t.L7,c)),b.push(M(-t.L4/2+L*S,P+t.L3-t.L7,c));return b},r=function(P,b){return z(t.L2/2,P).addSegStrokeA(t.L2/2,P+b).addSegStrokeA(-t.L2/2,P+b).addSegStrokeA(-t.L2/2,P).closeSegStroke()};const a=t.L2/2,u=t.L4/2,f=(t.L2-2*t.E1)/2,w=t.H1-t.E1,V=z(a,0).addSegStrokeA(a,t.H1).addSegStrokeA(-a,t.H1).addSegStrokeA(-a,0).closeSegStroke(),x=z(f,t.E1).addSegStrokeA(f,w).addSegStrokeA(-f,w).addSegStrokeA(-f,t.E1).closeSegStroke(),D=z(u,t.H1).addSegStrokeA(u,t.H1+t.E2).addSegStrokeA(-u,t.H1+t.E2).addSegStrokeA(-u,t.H1).closeSegStroke();i.addMain(V),i.addMain(x),i.addSecond(D),n(0).forEach(P=>d.addMain(P)),d.addSecond(r(-t.L3/2,2*t.L3));const E=(t.L1-t.L3)/(t.N1-1);for(let P=0;P<t.N1;P++)n(P*E).forEach(b=>l.addMain(b));l.addSecond(r(0,t.L1)),o.fig={faceCut:i,facePlate:d,faceTop:l};const v=o.partName;o.vol={extrudes:[{outName:`subpax_${v}_rod`,face:`${v}_faceCut`,extrudeMethod:Y.eLinearOrtho,length:t.L1,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${v}_plates`,face:`${v}_faceTop`,extrudeMethod:Y.eLinearOrtho,length:t.E2,rotate:[Math.PI/2,0,0],translate:[0,t.E2+t.H1,0]}],volumes:[{outName:`pax_${v}`,boolMethod:nt.eUnion,inList:[`subpax_${v}_rod`,`subpax_${v}_plates`]}]},o.sub={},o.logstr+=`heliostat-rod drawn successfully!
93
+ `,o.calcErr=!1}catch(c){o.logstr+=c,console.log(c)}return o}var io={pTitle:"Heliostat rod",pDescription:"The rod of an heliostat-surface",pDef:_e,pGeom:so},fe={partName:"trapeze",params:[e("L1","mm",1600,10,4e3,1),e("L2","mm",1e3,10,4e3,1),e("L3","mm",400,5,800,1),e("L4","mm",300,5,800,1),p("outer frame"),e("N1","",7,1,20,1),e("N2","",4,1,20,1),e("D1","mm",10,1,40,1),e("L5","mm",100,1,400,1),e("L6","mm",20,1,400,1),e("R1","mm",60,1,400,1),e("R2","mm",20,1,400,1),p("inner pad"),e("N3","",2,1,20,1),e("N4","",2,1,20,1),e("D2","mm",10,1,40,1),e("L7","mm",20,1,400,1),e("R3","mm",20,1,400,1),p("diagonal shaft"),e("D3","mm",30,1,100,1),e("D4","mm",26,1,100,1),e("H1","mm",300,.5,800,.5),e("H2","mm",2,.5,800,.5),e("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 no(s,t,_=""){const o=rt(fe.partName+_);let n,r;const i=I(),d=I(),l=I(),c=I(),g=I();o.logstr+=`${o.partName} simTime: ${s}
94
+ `;try{if(t.L3>t.L1-t.L5)throw`err595: L3 ${t.L3} too large compare to L1 ${t.L1} and L5 ${t.L5}`;if(t.L4>t.L2-t.L5)throw`err596: L4 ${t.L4} too large compare to L2 ${t.L2} and L5 ${t.L5}`;if(t.H1-t.H2-t.H3<4*t.D3)throw`err597: H1 ${t.H1} too small compare to H2 ${t.H2}, H3 ${t.H3} and D3 ${t.D3}`;const S=t.R1*(1-1/Math.sqrt(2)),h=t.R3*(1-1/Math.sqrt(2)),a=t.L2/2-S-(t.L4/2-h),u=t.L1/2-S-(t.L3/2-h),f=Math.sqrt(a**2+u**2),w=t.H1-t.H2-t.H3,V=Math.sqrt(f**2+w**2),x=Math.atan2(w,f),D=Math.atan2(u,a);o.logstr+=`rod-slope: length: ${H(V)} mm, angle: ${H(lt(x))} degree
95
+ `,o.logstr+=`rod-xy-angle: ${H(lt(D))} degree
96
+ `;const E=t.D3/Math.cos(Math.PI/2-x);o.logstr+=`rod-footprint-length: ${H(E)} mm
97
+ `;const v=Math.sqrt((E/2)**2+(t.D3/2)**2),P=Math.atan2(t.D3,E);if(n=function(F,y,U){return z(F,y).addPointRP(U+Math.PI-P,v).addSeg2Arcs(U+Math.PI/2,U).addPointRP(U+Math.PI+P,v).addSeg2Arcs(U+Math.PI,U+Math.PI/2).addPointRP(U-P,v).addSeg2Arcs(U+3*Math.PI/2,U+Math.PI).addPointRP(U+P,v).addSeg2Arcs(U,U-Math.PI/2)},r=function(F,y,U){const st=F+v*Math.cos(U+Math.PI-P),et=y+v*Math.sin(U+Math.PI-P);return z(st,et).addSegStrokeRP(U+Math.PI,f).addSegStrokeRP(U-Math.PI/2,t.D3).addSegStrokeRP(U,f).closeSegStroke()},t.R1>t.L1/4||t.R1>t.L2/4)throw`err614: R1 ${t.R1} too large compare to L1 ${t.L1} or L2 ${t.L2}`;const b=z(t.L2/2,t.L1/2).addSegStrokeA(-t.L2/2,t.L1/2).addCornerRounded(t.R1).addSegStrokeA(-t.L2/2,-t.L1/2).addCornerRounded(t.R1).addSegStrokeA(t.L2/2,-t.L1/2).addCornerRounded(t.R1).closeSegStroke().addCornerRounded(t.R1);if(t.R2>(t.L1-2*t.L5)/4||t.R2>(t.L2-2*t.L5)/4)throw`err627: R2 ${t.R2} too large compare to L1 ${t.L1}, L2 ${t.L2} and L5 ${t.L5}`;const R=z(t.L2/2-t.L5,t.L1/2-t.L5).addSegStrokeA(-t.L2/2+t.L5,t.L1/2-t.L5).addCornerRounded(t.R2).addSegStrokeA(-t.L2/2+t.L5,-t.L1/2+t.L5).addCornerRounded(t.R2).addSegStrokeA(t.L2/2-t.L5,-t.L1/2+t.L5).addCornerRounded(t.R2).closeSegStroke().addCornerRounded(t.R2);if(t.R3>t.L3/4||t.R3>t.L4/4)throw`err639: R3 ${t.R3} too large compare to L3 ${t.L3} or L4 ${t.L4}`;const L=z(t.L4/2,t.L3/2).addSegStrokeA(-t.L4/2,t.L3/2).addCornerRounded(t.R3).addSegStrokeA(-t.L4/2,-t.L3/2).addCornerRounded(t.R3).addSegStrokeA(t.L4/2,-t.L3/2).addCornerRounded(t.R3).closeSegStroke().addCornerRounded(t.R3);i.addMain(b),i.addMain(R),i.addSecond(L);const N=t.L1/(t.N1+1),k=t.L2/(t.N2+1),$=t.L3/(t.N3+1),W=t.L4/(t.N4+1);if(t.L5<t.D1/2+t.L6)throw`err658: L5 ${t.L5} too small compare to D1 ${t.D1} or L6 ${t.L6}`;if($<t.D2/2+t.L7)throw`err661: D2 ${t.D2} or L7 ${t.L7} too large compare to L3 ${t.l3}`;if(W<t.D2/2+t.L7)throw`err664: D2 ${t.D2} or L7 ${t.L7} too large compare to L4 ${t.l4}`;const G=[];for(let F=1;F<t.N1+1;F++)G.push(M(t.L2/2-t.L6,-t.L1/2+F*N,t.D1/2)),G.push(M(-t.L2/2+t.L6,-t.L1/2+F*N,t.D1/2));for(let F=1;F<t.N2+1;F++)G.push(M(-t.L2/2+F*k,t.L1/2-t.L6,t.D1/2)),G.push(M(-t.L2/2+F*k,-t.L1/2+t.L6,t.D1/2));const J=[];for(let F=1;F<t.N3+1;F++)J.push(M(t.L4/2-t.L7,-t.L3/2+F*$,t.D2/2)),J.push(M(-t.L4/2+t.L7,-t.L3/2+F*$,t.D2/2));for(let F=1;F<t.N4+1;F++)J.push(M(-t.L4/2+F*W,t.L3/2-t.L7,t.D2/2)),J.push(M(-t.L4/2+F*W,-t.L3/2+t.L7,t.D2/2));G.forEach(F=>{i.addMain(F)}),J.forEach(F=>{i.addSecond(F)});const m=[];m.push(n(t.L2/2-S,t.L1/2-S,D)),m.push(n(t.L4/2-h,t.L3/2-h,D)),m.push(n(-t.L2/2+S,t.L1/2-S,Math.PI-D)),m.push(n(-t.L4/2+h,t.L3/2-h,Math.PI-D)),m.push(n(-t.L2/2+S,-t.L1/2+S,Math.PI+D)),m.push(n(-t.L4/2+h,-t.L3/2+h,Math.PI+D)),m.push(n(t.L2/2-S,-t.L1/2+S,-D)),m.push(n(t.L4/2-h,-t.L3/2+h,-D));const Q=[];if(Q.push(r(t.L2/2-S,t.L1/2-S,D)),Q.push(r(-t.L2/2+S,t.L1/2-S,Math.PI-D)),Q.push(r(-t.L2/2+S,-t.L1/2+S,Math.PI+D)),Q.push(r(t.L2/2-S,-t.L1/2+S,-D)),m.forEach(F=>{i.addSecond(F)}),Q.forEach(F=>{i.addSecond(F)}),d.addMain(L),J.forEach(F=>{d.addMain(F)}),d.addSecond(b),d.addSecond(R),G.forEach(F=>{d.addSecond(F)}),m.forEach(F=>{d.addSecond(F)}),Q.forEach(F=>{d.addSecond(F)}),t.D4>=t.D3)throw`err218: D4 ${t.D4} larger than D3 ${t.D3}`;l.addMain(M(0,0,t.D3/2)),l.addSecond(M(0,0,t.D4/2)),c.addMain(M(0,0,t.D4/2)),c.addSecond(M(0,0,t.D3/2));const Z=t.D3*Math.cos(x),K=Z/Math.tan(x),C=h+(E/2+K)*Math.cos(D),j=h+(E/2+K)*Math.sin(D),B=V+2*(E+K+Z),T=B+t.L3+t.L4+Z,q=z(T,T).addSegStrokeA(-T,T).addSegStrokeA(-T,-T).addSegStrokeA(T,-T).closeSegStroke();g.addMain(q),o.fig={faceFrame:i,facePlate:d,faceRod:l,faceRodHollow:c,faceCutRod:g};const A=o.partName;o.vol={extrudes:[{outName:`subpax_${A}_frame`,face:`${A}_faceFrame`,extrudeMethod:Y.eLinearOrtho,length:t.H2,rotate:[0,0,0],translate:[0,0,t.H1-t.H2]},{outName:`subpax_${A}_plate`,face:`${A}_facePlate`,extrudeMethod:Y.eLinearOrtho,length:t.H3,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${A}_rod1`,face:`${A}_faceRod`,extrudeMethod:Y.eLinearOrtho,length:B,rotate:[0,Math.PI/2-x,D],translate:[t.L4/2-C,t.L3/2-j,t.H3-Z]},{outName:`subpax_${A}_rod2`,face:`${A}_faceRod`,extrudeMethod:Y.eLinearOrtho,length:B,rotate:[0,Math.PI/2-x,Math.PI-D],translate:[-t.L4/2+C,t.L3/2-j,t.H3-Z]},{outName:`subpax_${A}_rod3`,face:`${A}_faceRod`,extrudeMethod:Y.eLinearOrtho,length:B,rotate:[0,Math.PI/2-x,Math.PI+D],translate:[-t.L4/2+C,-t.L3/2+j,t.H3-Z]},{outName:`subpax_${A}_rod4`,face:`${A}_faceRod`,extrudeMethod:Y.eLinearOrtho,length:B,rotate:[0,Math.PI/2-x,-D],translate:[t.L4/2-C,-t.L3/2+j,t.H3-Z]},{outName:`subpax_${A}_rodH1`,face:`${A}_faceRodHollow`,extrudeMethod:Y.eLinearOrtho,length:B,rotate:[0,Math.PI/2-x,D],translate:[t.L4/2-C,t.L3/2-j,t.H3-Z]},{outName:`subpax_${A}_rodH2`,face:`${A}_faceRodHollow`,extrudeMethod:Y.eLinearOrtho,length:B,rotate:[0,Math.PI/2-x,Math.PI-D],translate:[-t.L4/2+C,t.L3/2-j,t.H3-Z]},{outName:`subpax_${A}_rodH3`,face:`${A}_faceRodHollow`,extrudeMethod:Y.eLinearOrtho,length:B,rotate:[0,Math.PI/2-x,Math.PI+D],translate:[-t.L4/2+C,-t.L3/2+j,t.H3-Z]},{outName:`subpax_${A}_rodH4`,face:`${A}_faceRodHollow`,extrudeMethod:Y.eLinearOrtho,length:B,rotate:[0,Math.PI/2-x,-D],translate:[t.L4/2-C,-t.L3/2+j,t.H3-Z]},{outName:`subpax_${A}_cut1`,face:`${A}_faceCutRod`,extrudeMethod:Y.eLinearOrtho,length:T,rotate:[0,0,0],translate:[0,0,-T]},{outName:`subpax_${A}_cut2`,face:`${A}_faceCutRod`,extrudeMethod:Y.eLinearOrtho,length:T,rotate:[0,0,0],translate:[0,0,t.H1]}],volumes:[{outName:`ipax_${A}_rawRod`,boolMethod:nt.eUnion,inList:[`subpax_${A}_rod1`,`subpax_${A}_rod2`,`subpax_${A}_rod3`,`subpax_${A}_rod4`]},{outName:`ipax_${A}_rodHollow`,boolMethod:nt.eUnion,inList:[`subpax_${A}_rodH1`,`subpax_${A}_rodH2`,`subpax_${A}_rodH3`,`subpax_${A}_rodH4`]},{outName:`ipax_${A}_halfRods`,boolMethod:nt.eSubstraction,inList:[`ipax_${A}_rawRod`,`subpax_${A}_cut1`]},{outName:`ipax_${A}_rods`,boolMethod:nt.eSubstraction,inList:[`ipax_${A}_halfRods`,`subpax_${A}_cut2`]},{outName:`ipax_${A}_plus`,boolMethod:nt.eUnion,inList:[`subpax_${A}_frame`,`subpax_${A}_plate`,`ipax_${A}_rods`]},{outName:`pax_${A}`,boolMethod:nt.eSubstraction,inList:[`ipax_${A}_plus`,`ipax_${A}_rodHollow`]}]},o.sub={},o.logstr+=`trapeze drawn successfully!
98
+ `,o.calcErr=!1}catch(S){o.logstr+=S,console.log(S)}return o}var lo={pTitle:"Heliostat trapeze",pDescription:"The support of one solar panel. Made out of aluminium for lightness and cooling",pDef:fe,pGeom:no},Se={partName:"surface",params:[e("LH","mm",1600,10,4e3,1),e("LV","mm",1e3,10,4e3,1),e("LZ","mm",40,0,100,1),e("nx","",9,1,40,1),e("ny","",9,1,40,1),p("main fantasia"),Lt("main_direction",["horizontal","vertical"]),ut("crenel",!1),e("first_row","",9,1,40,1),e("second_row","",9,1,40,1),p("horizontal spacing"),e("EH","mm",10,0,1e3,1),ut("EH_gradient",!1),e("EH_sup","mm",500,0,1e3,1),e("EH_cycle","",1,0,3,.05),e("EH_start","",0,0,1,.05),Lt("EH_shape",["sinusoid","triangle","sawUp","sawDown"]),p("vertical spacing"),e("EV","mm",10,0,1e3,1),ut("EV_gradient",!1),e("EV_sup","mm",500,0,1e3,1),e("EV_cycle","",1,0,3,.05),e("EV_start","",0,0,1,.05),Lt("EV_shape",["sinusoid","triangle","sawUp","sawDown"]),p("solar power"),e("power_efficiency","%",16,0,100,.1),e("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 co(s,t,_=""){const o=rt(Se.partName+_);let n;const r=I(),i=I();o.logstr+=`${o.partName} simTime: ${s}
99
+ `;try{const d=t.LH*t.LV/1e6,l=t.solar_power*d*t.power_efficiency/100;o.logstr+=`panel surface: ${H(d)} m2
100
+ `,o.logstr+=`panel power: ${H(l)} W
101
+ `;const c=t.nx*t.ny;o.logstr+=`max panel number: ${c}
102
+ `,o.logstr+=`max panel surface: ${H(c*d)} m2
103
+ `,o.logstr+=`max panel power: ${H(c*l)} W
104
+ `;const g=t.main_direction===1?t.ny:t.nx,S=t.main_direction===1?t.nx:t.ny,h=t.main_direction===1?t.EV:t.EH,a=t.main_direction===1?t.EV_gradient:t.EH_gradient,u=t.main_direction===1?t.EV_sup:t.EH_sup,f=t.main_direction===1?t.EV_cycle:t.EH_cycle,w=t.main_direction===1?t.EV_start:t.EH_start,V=t.main_direction===1?t.EV_shape:t.EH_shape,x=t.main_direction===0?t.EV:t.EH,D=t.main_direction===0?t.EV_gradient:t.EH_gradient,E=t.main_direction===0?t.EV_sup:t.EH_sup,v=t.main_direction===0?t.EV_cycle:t.EH_cycle,P=t.main_direction===0?t.EV_start:t.EH_start,b=t.main_direction===0?t.EV_shape:t.EH_shape,R=Math.max(S,t.first_row,t.second_row),L=[];for(let q=0;q<g;q++){const A=(q+1)%2,F=t.crenel?S-A:S;L.push(F)}L[0]=t.first_row,L[L.length-1]=t.first_row,g>2&&(L[1]=t.second_row,L[L.length-2]=t.second_row);let N=0;L.forEach(q=>{N+=q}),o.logstr+=`actual panel number: ${N} (${H(100*N/c)} %)
105
+ `,o.logstr+=`actual panel surface: ${H(N*d)} m2
106
+ `,o.logstr+=`actual panel power: ${H(N*l)} W
107
+ `;const k=[];for(let q=0;q<g-1;q++){let A=h;if(a===1){const F=g>2?g-2:1,y=(w+q*f/F)%1;switch(V){case 0:A+=u*(1-Math.cos(y*2*Math.PI))/2;break;case 1:A+=u*(1-2*Math.abs(y-.5));break;case 2:A+=u*y;break;case 3:A+=u*(1-y);break;default:A+=u}}k.push(A)}let $=0;const W=[];W.push(0),k.forEach(q=>{$+=q,W.push($)});const G=[];for(let q=0;q<R-1;q++){let A=x;if(D===1){const F=R>2?R-2:1,y=(P+q*v/F)%1;switch(b){case 0:A+=E*(1-Math.cos(y*2*Math.PI))/2;break;case 1:A+=E*(1-2*Math.abs(y-.5));break;case 2:A+=E*y;break;case 3:A+=E*(1-y);break;default:A+=E}}G.push(A)}let J=0;const m=[];m.push(0),G.forEach(q=>{J+=q,m.push(J)});let Q=0,Z=0;t.main_direction===0?(Q=g*t.LH+$,Z=R*t.LV+J):(Q=R*t.LH+J,Z=g*t.LV+$);const K=Q*Z/10**6;o.logstr+=`global horizontal width: ${H(Q/1e3)} m
108
+ `,o.logstr+=`global vertical height: ${H(Z/1e3)} m
109
+ `,o.logstr+=`global area: ${H(K)} m2
110
+ `,o.logstr+=`area efficiency: ${H(100*N*d/K)} %
111
+ `;const C=-Q/2,j=-Z/2;n=function(q,A){return z(q,A).addSegStrokeA(q+t.LH,A).addSegStrokeA(q+t.LH,A+t.LV).addSegStrokeA(q,A+t.LV).closeSegStroke()};const B=[];L.forEach((q,A)=>{const F=(R-q)%2,y=Math.floor((R-q)/2);for(let U=0;U<q;U++){let st=0,et=0;t.main_direction===0?(st=C+A*t.LH+W[A],et=j+(y+U)*t.LV+m[y+U],F===1&&(et+=(t.LV+m[y+U+1]-m[y+U])/2)):(et=j+A*t.LV+W[A],st=C+(y+U)*t.LH+m[y+U],F===1&&(st+=(t.LH+m[y+U+1]-m[y+U])/2)),B.push([st,et])}});for(const q of B)r.addMain(n(q[0],q[1]));i.addMain(n(0,0)),o.fig={faceSurface:r,faceOnePanel:i};const T=o.partName;o.vol={extrudes:B.map((q,A)=>({outName:`subpax_${T}_panel_${A}`,face:`${T}_faceOnePanel`,extrudeMethod:Y.eLinearOrtho,length:t.LZ,rotate:[0,0,0],translate:[q[0],q[1],0]})),volumes:[{outName:`pax_${T}`,boolMethod:nt.eUnion,inList:B.map((q,A)=>`subpax_${T}_panel_${A}`)}]},o.sub={},o.logstr+=`panel-surface drawn successfully!
112
+ `,o.calcErr=!1}catch(d){o.logstr+=d,console.log(d)}return o}var ro={pTitle:"Heliostat panel-surface",pDescription:"The surface collecting the solar power",pDef:Se,pGeom:co};const Le={"gear/gear_wheel_wheel":Tt,"gear/simplified_gear_wheel":Ve,"heliostat/heliostat":ze,"heliostat/heliostat_2":Je,"heliostat/base":We,"heliostat/pole_static":Mt,"heliostat/vaxis":Ye,"heliostat/ring":je,"heliostat/vaxis_holder":vt,"heliostat/ring_guidance":Ke,"heliostat/vaxis_guidance":to,"heliostat/rake":bt,"heliostat/rake_stopper":zt,"heliostat/haxis_guidance":oo,"heliostat/spider":mt,"heliostat/swing":kt,"heliostat/rod":io,"heliostat/trapeze":lo,"heliostat/surface":ro};function go(s){const t=/^.*\//g;return s.replace(t,"")}function ao(s){const t={};for(const _ of Object.keys(s)){const o=go(_);t[o]=`/${_}`}return t}function ho(s){const t=[];for(const _ of Object.keys(s))t.push(_);return t}const So=ao(Le),Lo=ho(Le);export{Le as a,So as b,Lo as d};
@@ -0,0 +1 @@
1
+ var s;const e=((s=globalThis.__sveltekit_s3dpjw)==null?void 0:s.base)??"";var a;const t=((a=globalThis.__sveltekit_s3dpjw)==null?void 0:a.assets)??e;export{t as a,e as b};
@@ -1 +1 @@
1
- import{s as e}from"./entry.ayvGGkPy.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.srmsUyMV.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,7 +1,7 @@
1
1
  function __vite__mapDeps(indexes) {
2
2
  if (!__vite__mapDeps.viteFileDeps) {
3
- __vite__mapDeps.viteFileDeps = ["_app/immutable/nodes/0.BiVspp4R.js","_app/immutable/chunks/scheduler.pWaib8rK.js","_app/immutable/chunks/index.DzDRugVt.js","_app/immutable/chunks/index.Bs7kS4ug.js","_app/immutable/chunks/paths.BQk18xj1.js","_app/immutable/assets/0.CEJMiobA.css","_app/immutable/nodes/1.DYpv6lVE.js","_app/immutable/chunks/stores.D_ZoZ0KR.js","_app/immutable/chunks/entry.ayvGGkPy.js","_app/immutable/nodes/2.YFS5EP1q.js","_app/immutable/chunks/makeList.YazkypBi.js","_app/immutable/assets/2.CTp7BhB8.css","_app/immutable/nodes/3.CUZ8RJLg.js","_app/immutable/assets/3.Bup7ghXO.css"]
3
+ __vite__mapDeps.viteFileDeps = ["_app/immutable/nodes/0.BE-W7Hwe.js","_app/immutable/chunks/scheduler.pWaib8rK.js","_app/immutable/chunks/index.DzDRugVt.js","_app/immutable/chunks/index.BhqJUW2k.js","_app/immutable/chunks/paths.BRXC3_zO.js","_app/immutable/assets/0.CEJMiobA.css","_app/immutable/nodes/1.BW5Ycf-C.js","_app/immutable/chunks/stores.BZNWI8TH.js","_app/immutable/chunks/entry.srmsUyMV.js","_app/immutable/nodes/2.BSq0IR72.js","_app/immutable/chunks/makeList.B5eM3X4c.js","_app/immutable/assets/2.CTp7BhB8.css","_app/immutable/nodes/3.BqOHGbX5.js","_app/immutable/assets/3.Bup7ghXO.css"]
4
4
  }
5
5
  return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
6
6
  }
7
- import{s as N,a as B,p as h,g as U,i as k,f as p,q as j,r as W,e as z,c as F,b as G,m as D,u as d,t as H,d as J,j as K,v as I,w as E,x as Q}from"../chunks/scheduler.pWaib8rK.js";import{S as X,i as Y,t as g,c as S,a as w,g as A,b as y,d as O,m as P,e as R}from"../chunks/index.DzDRugVt.js";const Z="modulepreload",M=function(a){return"/"+a},T={},L=function(e,n,s){let i=Promise.resolve();if(n&&n.length>0){const u=document.getElementsByTagName("link"),t=document.querySelector("meta[property=csp-nonce]"),r=(t==null?void 0:t.nonce)||(t==null?void 0:t.getAttribute("nonce"));i=Promise.all(n.map(o=>{if(o=M(o),o in T)return;T[o]=!0;const f=o.endsWith(".css"),l=f?'[rel="stylesheet"]':"";if(!!s)for(let b=u.length-1;b>=0;b--){const v=u[b];if(v.href===o&&(!f||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${l}`))return;const _=document.createElement("link");if(_.rel=f?"stylesheet":Z,f||(_.as="script",_.crossOrigin=""),_.href=o,r&&_.setAttribute("nonce",r),document.head.appendChild(_),f)return new Promise((b,v)=>{_.addEventListener("load",b),_.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${o}`)))})}))}return i.then(()=>e()).catch(u=>{const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=u,window.dispatchEvent(t),!t.defaultPrevented)throw u})},re={};function $(a){let e,n,s;var i=a[1][0];function u(t,r){return{props:{data:t[3],form:t[2]}}}return i&&(e=E(i,u(a)),a[12](e)),{c(){e&&y(e.$$.fragment),n=h()},l(t){e&&O(e.$$.fragment,t),n=h()},m(t,r){e&&P(e,t,r),k(t,n,r),s=!0},p(t,r){if(r&2&&i!==(i=t[1][0])){if(e){A();const o=e;g(o.$$.fragment,1,0,()=>{R(o,1)}),S()}i?(e=E(i,u(t)),t[12](e),y(e.$$.fragment),w(e.$$.fragment,1),P(e,n.parentNode,n)):e=null}else if(i){const o={};r&8&&(o.data=t[3]),r&4&&(o.form=t[2]),e.$set(o)}},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&&R(e,t)}}}function x(a){let e,n,s;var i=a[1][0];function u(t,r){return{props:{data:t[3],$$slots:{default:[ee]},$$scope:{ctx:t}}}}return i&&(e=E(i,u(a)),a[11](e)),{c(){e&&y(e.$$.fragment),n=h()},l(t){e&&O(e.$$.fragment,t),n=h()},m(t,r){e&&P(e,t,r),k(t,n,r),s=!0},p(t,r){if(r&2&&i!==(i=t[1][0])){if(e){A();const o=e;g(o.$$.fragment,1,0,()=>{R(o,1)}),S()}i?(e=E(i,u(t)),t[11](e),y(e.$$.fragment),w(e.$$.fragment,1),P(e,n.parentNode,n)):e=null}else if(i){const o={};r&8&&(o.data=t[3]),r&8215&&(o.$$scope={dirty:r,ctx:t}),e.$set(o)}},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&&R(e,t)}}}function ee(a){let e,n,s;var i=a[1][1];function u(t,r){return{props:{data:t[4],form:t[2]}}}return i&&(e=E(i,u(a)),a[10](e)),{c(){e&&y(e.$$.fragment),n=h()},l(t){e&&O(e.$$.fragment,t),n=h()},m(t,r){e&&P(e,t,r),k(t,n,r),s=!0},p(t,r){if(r&2&&i!==(i=t[1][1])){if(e){A();const o=e;g(o.$$.fragment,1,0,()=>{R(o,1)}),S()}i?(e=E(i,u(t)),t[10](e),y(e.$$.fragment),w(e.$$.fragment,1),P(e,n.parentNode,n)):e=null}else if(i){const o={};r&16&&(o.data=t[4]),r&4&&(o.form=t[2]),e.$set(o)}},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&&R(e,t)}}}function V(a){let e,n=a[6]&&q(a);return{c(){e=z("div"),n&&n.c(),this.h()},l(s){e=F(s,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var i=G(e);n&&n.l(i),i.forEach(p),this.h()},h(){D(e,"id","svelte-announcer"),D(e,"aria-live","assertive"),D(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){k(s,e,i),n&&n.m(e,null)},p(s,i){s[6]?n?n.p(s,i):(n=q(s),n.c(),n.m(e,null)):n&&(n.d(1),n=null)},d(s){s&&p(e),n&&n.d()}}}function q(a){let e;return{c(){e=H(a[7])},l(n){e=J(n,a[7])},m(n,s){k(n,e,s)},p(n,s){s&128&&K(e,n[7])},d(n){n&&p(e)}}}function te(a){let e,n,s,i,u;const t=[x,$],r=[];function o(l,m){return l[1][1]?0:1}e=o(a),n=r[e]=t[e](a);let f=a[5]&&V(a);return{c(){n.c(),s=B(),f&&f.c(),i=h()},l(l){n.l(l),s=U(l),f&&f.l(l),i=h()},m(l,m){r[e].m(l,m),k(l,s,m),f&&f.m(l,m),k(l,i,m),u=!0},p(l,[m]){let _=e;e=o(l),e===_?r[e].p(l,m):(A(),g(r[_],1,1,()=>{r[_]=null}),S(),n=r[e],n?n.p(l,m):(n=r[e]=t[e](l),n.c()),w(n,1),n.m(s.parentNode,s)),l[5]?f?f.p(l,m):(f=V(l),f.c(),f.m(i.parentNode,i)):f&&(f.d(1),f=null)},i(l){u||(w(n),u=!0)},o(l){g(n),u=!1},d(l){l&&(p(s),p(i)),r[e].d(l),f&&f.d(l)}}}function ne(a,e,n){let{stores:s}=e,{page:i}=e,{constructors:u}=e,{components:t=[]}=e,{form:r}=e,{data_0:o=null}=e,{data_1:f=null}=e;j(s.page.notify);let l=!1,m=!1,_=null;W(()=>{const c=s.page.subscribe(()=>{l&&(n(6,m=!0),Q().then(()=>{n(7,_=document.title||"untitled page")}))});return n(5,l=!0),c});function b(c){I[c?"unshift":"push"](()=>{t[1]=c,n(0,t)})}function v(c){I[c?"unshift":"push"](()=>{t[0]=c,n(0,t)})}function C(c){I[c?"unshift":"push"](()=>{t[0]=c,n(0,t)})}return a.$$set=c=>{"stores"in c&&n(8,s=c.stores),"page"in c&&n(9,i=c.page),"constructors"in c&&n(1,u=c.constructors),"components"in c&&n(0,t=c.components),"form"in c&&n(2,r=c.form),"data_0"in c&&n(3,o=c.data_0),"data_1"in c&&n(4,f=c.data_1)},a.$$.update=()=>{a.$$.dirty&768&&s.page.set(i)},[t,u,r,o,f,l,m,_,s,i,b,v,C]}class oe extends X{constructor(e){super(),Y(this,e,ne,te,N,{stores:8,page:9,constructors:1,components:0,form:2,data_0:3,data_1:4})}}const ae=[()=>L(()=>import("../nodes/0.BiVspp4R.js"),__vite__mapDeps([0,1,2,3,4,5])),()=>L(()=>import("../nodes/1.DYpv6lVE.js"),__vite__mapDeps([6,1,2,7,8,4])),()=>L(()=>import("../nodes/2.YFS5EP1q.js"),__vite__mapDeps([9,1,3,2,10,4,11])),()=>L(()=>import("../nodes/3.CUZ8RJLg.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};
7
+ import{s as N,a as B,p as h,g as U,i as k,f as p,q as j,r as W,e as z,c as F,b as G,m as D,u as d,t as H,d as J,j as K,v as I,w as E,x as Q}from"../chunks/scheduler.pWaib8rK.js";import{S as X,i as Y,t as g,c as S,a as w,g as A,b as y,d as O,m as P,e as R}from"../chunks/index.DzDRugVt.js";const Z="modulepreload",M=function(a){return"/"+a},T={},L=function(e,n,s){let i=Promise.resolve();if(n&&n.length>0){const u=document.getElementsByTagName("link"),t=document.querySelector("meta[property=csp-nonce]"),r=(t==null?void 0:t.nonce)||(t==null?void 0:t.getAttribute("nonce"));i=Promise.all(n.map(o=>{if(o=M(o),o in T)return;T[o]=!0;const f=o.endsWith(".css"),l=f?'[rel="stylesheet"]':"";if(!!s)for(let b=u.length-1;b>=0;b--){const v=u[b];if(v.href===o&&(!f||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${l}`))return;const _=document.createElement("link");if(_.rel=f?"stylesheet":Z,f||(_.as="script",_.crossOrigin=""),_.href=o,r&&_.setAttribute("nonce",r),document.head.appendChild(_),f)return new Promise((b,v)=>{_.addEventListener("load",b),_.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${o}`)))})}))}return i.then(()=>e()).catch(u=>{const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=u,window.dispatchEvent(t),!t.defaultPrevented)throw u})},re={};function $(a){let e,n,s;var i=a[1][0];function u(t,r){return{props:{data:t[3],form:t[2]}}}return i&&(e=E(i,u(a)),a[12](e)),{c(){e&&y(e.$$.fragment),n=h()},l(t){e&&O(e.$$.fragment,t),n=h()},m(t,r){e&&P(e,t,r),k(t,n,r),s=!0},p(t,r){if(r&2&&i!==(i=t[1][0])){if(e){A();const o=e;g(o.$$.fragment,1,0,()=>{R(o,1)}),S()}i?(e=E(i,u(t)),t[12](e),y(e.$$.fragment),w(e.$$.fragment,1),P(e,n.parentNode,n)):e=null}else if(i){const o={};r&8&&(o.data=t[3]),r&4&&(o.form=t[2]),e.$set(o)}},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&&R(e,t)}}}function x(a){let e,n,s;var i=a[1][0];function u(t,r){return{props:{data:t[3],$$slots:{default:[ee]},$$scope:{ctx:t}}}}return i&&(e=E(i,u(a)),a[11](e)),{c(){e&&y(e.$$.fragment),n=h()},l(t){e&&O(e.$$.fragment,t),n=h()},m(t,r){e&&P(e,t,r),k(t,n,r),s=!0},p(t,r){if(r&2&&i!==(i=t[1][0])){if(e){A();const o=e;g(o.$$.fragment,1,0,()=>{R(o,1)}),S()}i?(e=E(i,u(t)),t[11](e),y(e.$$.fragment),w(e.$$.fragment,1),P(e,n.parentNode,n)):e=null}else if(i){const o={};r&8&&(o.data=t[3]),r&8215&&(o.$$scope={dirty:r,ctx:t}),e.$set(o)}},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&&R(e,t)}}}function ee(a){let e,n,s;var i=a[1][1];function u(t,r){return{props:{data:t[4],form:t[2]}}}return i&&(e=E(i,u(a)),a[10](e)),{c(){e&&y(e.$$.fragment),n=h()},l(t){e&&O(e.$$.fragment,t),n=h()},m(t,r){e&&P(e,t,r),k(t,n,r),s=!0},p(t,r){if(r&2&&i!==(i=t[1][1])){if(e){A();const o=e;g(o.$$.fragment,1,0,()=>{R(o,1)}),S()}i?(e=E(i,u(t)),t[10](e),y(e.$$.fragment),w(e.$$.fragment,1),P(e,n.parentNode,n)):e=null}else if(i){const o={};r&16&&(o.data=t[4]),r&4&&(o.form=t[2]),e.$set(o)}},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&&R(e,t)}}}function V(a){let e,n=a[6]&&q(a);return{c(){e=z("div"),n&&n.c(),this.h()},l(s){e=F(s,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var i=G(e);n&&n.l(i),i.forEach(p),this.h()},h(){D(e,"id","svelte-announcer"),D(e,"aria-live","assertive"),D(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){k(s,e,i),n&&n.m(e,null)},p(s,i){s[6]?n?n.p(s,i):(n=q(s),n.c(),n.m(e,null)):n&&(n.d(1),n=null)},d(s){s&&p(e),n&&n.d()}}}function q(a){let e;return{c(){e=H(a[7])},l(n){e=J(n,a[7])},m(n,s){k(n,e,s)},p(n,s){s&128&&K(e,n[7])},d(n){n&&p(e)}}}function te(a){let e,n,s,i,u;const t=[x,$],r=[];function o(l,m){return l[1][1]?0:1}e=o(a),n=r[e]=t[e](a);let f=a[5]&&V(a);return{c(){n.c(),s=B(),f&&f.c(),i=h()},l(l){n.l(l),s=U(l),f&&f.l(l),i=h()},m(l,m){r[e].m(l,m),k(l,s,m),f&&f.m(l,m),k(l,i,m),u=!0},p(l,[m]){let _=e;e=o(l),e===_?r[e].p(l,m):(A(),g(r[_],1,1,()=>{r[_]=null}),S(),n=r[e],n?n.p(l,m):(n=r[e]=t[e](l),n.c()),w(n,1),n.m(s.parentNode,s)),l[5]?f?f.p(l,m):(f=V(l),f.c(),f.m(i.parentNode,i)):f&&(f.d(1),f=null)},i(l){u||(w(n),u=!0)},o(l){g(n),u=!1},d(l){l&&(p(s),p(i)),r[e].d(l),f&&f.d(l)}}}function ne(a,e,n){let{stores:s}=e,{page:i}=e,{constructors:u}=e,{components:t=[]}=e,{form:r}=e,{data_0:o=null}=e,{data_1:f=null}=e;j(s.page.notify);let l=!1,m=!1,_=null;W(()=>{const c=s.page.subscribe(()=>{l&&(n(6,m=!0),Q().then(()=>{n(7,_=document.title||"untitled page")}))});return n(5,l=!0),c});function b(c){I[c?"unshift":"push"](()=>{t[1]=c,n(0,t)})}function v(c){I[c?"unshift":"push"](()=>{t[0]=c,n(0,t)})}function C(c){I[c?"unshift":"push"](()=>{t[0]=c,n(0,t)})}return a.$$set=c=>{"stores"in c&&n(8,s=c.stores),"page"in c&&n(9,i=c.page),"constructors"in c&&n(1,u=c.constructors),"components"in c&&n(0,t=c.components),"form"in c&&n(2,r=c.form),"data_0"in c&&n(3,o=c.data_0),"data_1"in c&&n(4,f=c.data_1)},a.$$.update=()=>{a.$$.dirty&768&&s.page.set(i)},[t,u,r,o,f,l,m,_,s,i,b,v,C]}class oe extends X{constructor(e){super(),Y(this,e,ne,te,N,{stores:8,page:9,constructors:1,components:0,form:2,data_0:3,data_1:4})}}const ae=[()=>L(()=>import("../nodes/0.BE-W7Hwe.js"),__vite__mapDeps([0,1,2,3,4,5])),()=>L(()=>import("../nodes/1.BW5Ycf-C.js"),__vite__mapDeps([6,1,2,7,8,4])),()=>L(()=>import("../nodes/2.BSq0IR72.js"),__vite__mapDeps([9,1,3,2,10,4,11])),()=>L(()=>import("../nodes/3.BqOHGbX5.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.srmsUyMV.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,y as ie}from"../chunks/index.Bs7kS4ug.js";import{b as ne}from"../chunks/paths.BQk18xj1.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.27",geometrix:"^0.5.26",geomui:"^0.5.28"},he={"@sveltejs/adapter-auto":"^3.2.0","@sveltejs/adapter-static":"^3.0.1","@sveltejs/kit":"^2.5.4","@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.72.0",shx:"^0.3.4",svelte:"^4.2.12","svelte-check":"^3.6.8",tslib:"^2.6.2",typescript:"^5.4.3",vite:"^5.2.6",vitest:"^1.4.0"},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
- <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
1
+ import{s as W,y as G,e as v,a as T,c as h,l as L,g as $,b as A,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,z as ie}from"../chunks/index.BhqJUW2k.js";import{b as ne}from"../chunks/paths.BRXC3_zO.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.27",geometrix:"^0.5.26",geomui:"^0.5.28"},he={"@sveltejs/adapter-auto":"^3.2.0","@sveltejs/adapter-static":"^3.0.1","@sveltejs/kit":"^2.5.4","@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.72.0",shx:"^0.3.4",svelte:"^4.2.12","svelte-check":"^3.6.8",tslib:"^2.6.2",typescript:"^5.4.3",vite:"^5.2.6",vitest:"^1.4.0"},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
+ <a href="https://www.npmjs.com/">geomui</a>.`,_,d,I=`<a href="${`${ne}/`}" class="svelte-1v6hyjg">index: list of designs</a>`,M,g,z,f,b,B=`<a href="https://github.com/charlyoleg2/parametrix">designix-ui</a>, a minimalist showcase
3
3
  of
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};
4
+ <a href="https://www.npmjs.com/">geomui</a>.`,O,y,w,N="Designix-ui version",S,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(),z=T(),f=v("footer"),b=v("article"),b.innerHTML=B,O=T(),y=v("article"),w=v("h3"),w.textContent=N,S=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=A(g);o&&o.l(n),n.forEach(a),z=$(e),f=h(e,"FOOTER",{class:!0});var t=A(f);b=h(t,"ARTICLE",{"data-svelte-h":!0}),L(b)!=="svelte-1pwhz7h"&&(b.innerHTML=B),O=$(t),y=h(t,"ARTICLE",{});var x=A(y);w=h(x,"H3",{"data-svelte-h":!0}),L(w)!=="svelte-18yz28i"&&(w.textContent=N),S=$(x),j=h(x,"CODE",{});var P=A(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,z,n),u(e,f,n),H(f,b),H(f,O),H(f,y),H(y,w),H(y,S),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(z),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.D_ZoZ0KR.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.BZNWI8TH.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.Bs7kS4ug.js";import{S,i as $}from"../chunks/index.DzDRugVt.js";import{d as q}from"../chunks/makeList.YazkypBi.js";import{b as A}from"../chunks/paths.BQk18xj1.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.BhqJUW2k.js";import{S,i as $}from"../chunks/index.DzDRugVt.js";import{d as q}from"../chunks/makeList.B5eM3X4c.js";import{b as A}from"../chunks/paths.BRXC3_zO.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};