designix-uis 0.5.2 → 0.5.3
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.
- package/dist/designix-uis.js +6 -6
- package/dist/public/_app/immutable/chunks/entry.EqOSi-Pf.js +3 -0
- package/dist/public/_app/immutable/chunks/makeList.DSNiOEjA.js +88 -0
- package/dist/public/_app/immutable/chunks/paths.rg0K1zCL.js +1 -0
- package/dist/public/_app/immutable/chunks/{stores.CrRc8kgy.js → stores.DIH184JS.js} +1 -1
- package/dist/public/_app/immutable/entry/{app.DIAOOpnh.js → app.yRlRJ6sx.js} +2 -2
- package/dist/public/_app/immutable/entry/start.Ddsjp3el.js +1 -0
- package/dist/public/_app/immutable/nodes/0.Bp0gFt3a.js +4 -0
- package/dist/public/_app/immutable/nodes/{1.BUtUgElu.js → 1.ByHqhgYV.js} +1 -1
- package/dist/public/_app/immutable/nodes/{2.J9gWTjUj.js → 2.DIn8QRS-.js} +1 -1
- package/dist/public/_app/immutable/nodes/{3.BDgnse_d.js → 3.DP7zL9Bg.js} +1 -1
- package/dist/public/_app/version.json +1 -1
- package/dist/public/gear/gear_wheel_wheel.html +13 -13
- package/dist/public/gear/simplified_gear_wheel.html +13 -13
- package/dist/public/heliostat/base.html +14 -13
- package/dist/public/heliostat/heliostat.html +19 -19
- package/dist/public/heliostat/heliostat_2.html +17 -17
- package/dist/public/heliostat/pole_rotor.html +13 -13
- package/dist/public/heliostat/pole_static.html +13 -13
- package/dist/public/heliostat/rake.html +13 -13
- package/dist/public/heliostat/rake_stopper.html +13 -13
- package/dist/public/heliostat/rod.html +13 -13
- package/dist/public/heliostat/spider.html +13 -13
- package/dist/public/heliostat/surface.html +13 -13
- package/dist/public/heliostat/swing.html +13 -13
- package/dist/public/heliostat/trapeze.html +13 -13
- package/dist/public/index.html +11 -11
- package/package.json +6 -6
- package/dist/public/_app/immutable/chunks/entry.Um3CRfq-.js +0 -3
- package/dist/public/_app/immutable/chunks/makeList.DvYg7pia.js +0 -87
- package/dist/public/_app/immutable/chunks/paths.DoNOjTtI.js +0 -1
- package/dist/public/_app/immutable/entry/start.BbL7sQ1i.js +0 -1
- package/dist/public/_app/immutable/nodes/0.CS33377U.js +0 -4
package/dist/designix-uis.js
CHANGED
|
@@ -12,7 +12,7 @@ import getport from "get-port";
|
|
|
12
12
|
// package.json
|
|
13
13
|
var package_default = {
|
|
14
14
|
name: "designix-uis",
|
|
15
|
-
version: "0.5.
|
|
15
|
+
version: "0.5.3",
|
|
16
16
|
description: "mini-server for static content of designix-ui",
|
|
17
17
|
type: "module",
|
|
18
18
|
private: false,
|
|
@@ -59,6 +59,7 @@ var package_default = {
|
|
|
59
59
|
type: "git",
|
|
60
60
|
url: "git+https://github.com/charlyoleg2/parametrix.git"
|
|
61
61
|
},
|
|
62
|
+
homepage: "https://charlyoleg2.github.io/parametrix/",
|
|
62
63
|
keywords: [
|
|
63
64
|
"cad",
|
|
64
65
|
"programmatic",
|
|
@@ -74,12 +75,11 @@ var package_default = {
|
|
|
74
75
|
bugs: {
|
|
75
76
|
url: "https://github.com/charlyoleg2/parametrix/issues"
|
|
76
77
|
},
|
|
77
|
-
homepage: "https://charlyoleg2.github.io/parametrix/",
|
|
78
78
|
dependencies: {
|
|
79
79
|
express: "^4.18.2",
|
|
80
80
|
"fs-extra": "^11.2.0",
|
|
81
|
-
"get-port": "^
|
|
82
|
-
open: "^
|
|
81
|
+
"get-port": "^7.0.0",
|
|
82
|
+
open: "^10.0.3",
|
|
83
83
|
yargs: "^17.7.2"
|
|
84
84
|
},
|
|
85
85
|
devDependencies: {
|
|
@@ -93,8 +93,8 @@ var package_default = {
|
|
|
93
93
|
shx: "^0.3.4",
|
|
94
94
|
tsup: "^8.0.2",
|
|
95
95
|
typescript: "^5.3.3",
|
|
96
|
-
"typescript-eslint": "^7.0.
|
|
97
|
-
vitest: "^1.
|
|
96
|
+
"typescript-eslint": "^7.0.2",
|
|
97
|
+
vitest: "^1.3.1"
|
|
98
98
|
},
|
|
99
99
|
prettier: {
|
|
100
100
|
useTabs: true,
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{n as it,s as re,x as oe}from"./scheduler.pWaib8rK.js";import{a as se,b as I}from"./paths.rg0K1zCL.js";new URL("sveltekit-internal://");function ie(t,n){return t==="/"||n==="ignore"?t:n==="never"?t.endsWith("/")?t.slice(0,-1):t:n==="always"&&!t.endsWith("/")?t+"/":t}function ce(t){return t.split("%25").map(decodeURI).join("%25")}function le(t){for(const n in t)t[n]=decodeURIComponent(t[n]);return t}function ct({href:t}){return t.split("#")[0]}const fe=["href","pathname","search","toString","toJSON"];function ue(t,n,e){const r=new URL(t);Object.defineProperty(r,"searchParams",{value:new Proxy(r.searchParams,{get(a,o){if(o==="get"||o==="getAll"||o==="has")return s=>(e(s),a[o](s));n();const i=Reflect.get(a,o);return typeof i=="function"?i.bind(a):i}}),enumerable:!0,configurable:!0});for(const a of fe)Object.defineProperty(r,a,{get(){return n(),t[a]},enumerable:!0,configurable:!0});return r}const de="/__data.json",he=".html__data.json";function pe(t){return t.endsWith(".html")?t.replace(/\.html$/,he):t.replace(/\/$/,"")+de}function ge(...t){let n=5381;for(const e of t)if(typeof e=="string"){let r=e.length;for(;r;)n=n*33^e.charCodeAt(--r)}else if(ArrayBuffer.isView(e)){const r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);let a=r.length;for(;a;)n=n*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(n>>>0).toString(36)}function me(t){const n=atob(t),e=new Uint8Array(n.length);for(let r=0;r<n.length;r++)e[r]=n.charCodeAt(r);return e.buffer}const Ot=window.fetch;window.fetch=(t,n)=>((t instanceof Request?t.method:(n==null?void 0:n.method)||"GET")!=="GET"&&F.delete(pt(t)),Ot(t,n));const F=new Map;function _e(t,n){const e=pt(t,n),r=document.querySelector(e);if(r!=null&&r.textContent){let{body:a,...o}=JSON.parse(r.textContent);const i=r.getAttribute("data-ttl");return i&&F.set(e,{body:a,init:o,ttl:1e3*Number(i)}),r.getAttribute("data-b64")!==null&&(a=me(a)),Promise.resolve(new Response(a,o))}return window.fetch(t,n)}function ye(t,n,e){if(F.size>0){const r=pt(t,e),a=F.get(r);if(a){if(performance.now()<a.ttl&&["default","force-cache","only-if-cached",void 0].includes(e==null?void 0:e.cache))return new Response(a.body,a.init);F.delete(r)}}return window.fetch(n,e)}function pt(t,n){let r=`script[data-sveltekit-fetched][data-url=${JSON.stringify(t instanceof Request?t.url:t)}]`;if(n!=null&&n.headers||n!=null&&n.body){const a=[];n.headers&&a.push([...new Headers(n.headers)].join(",")),n.body&&(typeof n.body=="string"||ArrayBuffer.isView(n.body))&&a.push(n.body),r+=`[data-hash="${ge(...a)}"]`}return r}const we=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function ve(t){const n=[];return{pattern:t==="/"?/^\/$/:new RegExp(`^${Ee(t).map(r=>{const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return n.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/(.*))?";const o=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(o)return n.push({name:o[1],matcher:o[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const i=r.split(/\[(.+?)\](?!\])/);return"/"+i.map((c,l)=>{if(l%2){if(c.startsWith("x+"))return lt(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return lt(String.fromCharCode(...c.slice(2).split("-").map(f=>parseInt(f,16))));const u=we.exec(c),[,h,g,d,m]=u;return n.push({name:d,matcher:m,optional:!!h,rest:!!g,chained:g?l===1&&i[0]==="":!1}),g?"(.*?)":h?"([^/]*)?":"([^/]+?)"}return lt(c)}).join("")}).join("")}/?$`),params:n}}function be(t){return!/^\([^)]+\)$/.test(t)}function Ee(t){return t.slice(1).split("/").filter(be)}function ke(t,n,e){const r={},a=t.slice(1),o=a.filter(s=>s!==void 0);let i=0;for(let s=0;s<n.length;s+=1){const c=n[s];let l=a[s-i];if(c.chained&&c.rest&&i&&(l=a.slice(s-i,s+1).filter(u=>u).join("/"),i=0),l===void 0){c.rest&&(r[c.name]="");continue}if(!c.matcher||e[c.matcher](l)){r[c.name]=l;const u=n[s+1],h=a[s+1];u&&!u.rest&&u.optional&&h&&c.chained&&(i=0),!u&&!h&&Object.keys(r).length===o.length&&(i=0);continue}if(c.optional&&c.chained){i++;continue}return}if(!i)return r}function lt(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Se({nodes:t,server_loads:n,dictionary:e,matchers:r}){const a=new Set(n);return Object.entries(e).map(([s,[c,l,u]])=>{const{pattern:h,params:g}=ve(s),d={id:s,exec:m=>{const f=h.exec(m);if(f)return ke(f,g,r)},errors:[1,...u||[]].map(m=>t[m]),layouts:[0,...l||[]].map(i),leaf:o(c)};return d.errors.length=d.layouts.length=Math.max(d.errors.length,d.layouts.length),d});function o(s){const c=s<0;return c&&(s=~s),[c,t[s]]}function i(s){return s===void 0?s:[a.has(s),t[s]]}}function jt(t,n=JSON.parse){try{return n(sessionStorage[t])}catch{}}function It(t,n,e=JSON.stringify){const r=e(n);try{sessionStorage[t]=r}catch{}}const N=[];function gt(t,n=it){let e;const r=new Set;function a(s){if(re(t,s)&&(t=s,e)){const c=!N.length;for(const l of r)l[1](),N.push(l,t);if(c){for(let l=0;l<N.length;l+=2)N[l][0](N[l+1]);N.length=0}}}function o(s){a(s(t))}function i(s,c=it){const l=[s,c];return r.add(l),r.size===1&&(e=n(a,o)||it),s(t),()=>{r.delete(l),r.size===0&&e&&(e(),e=null)}}return{set:a,update:o,subscribe:i}}const Ae="1708636410657",$t="sveltekit:snapshot",Dt="sveltekit:scroll",Ct="sveltekit:states",Re="sveltekit:pageurl",$="sveltekit:history",q="sveltekit:navigation",z={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},B=location.origin;function Vt(t){if(t instanceof URL)return t;let n=document.baseURI;if(!n){const e=document.getElementsByTagName("base");n=e.length?e[0].href:document.URL}return new URL(t,n)}function mt(){return{x:pageXOffset,y:pageYOffset}}function O(t,n){return t.getAttribute(`data-sveltekit-${n}`)}const Lt={...z,"":z.hover};function Ft(t){let n=t.assignedSlot??t.parentNode;return(n==null?void 0:n.nodeType)===11&&(n=n.host),n}function qt(t,n){for(;t&&t!==n;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=Ft(t)}}function ut(t,n){let e;try{e=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI)}catch{}const r=t instanceof SVGAElement?t.target.baseVal:t.target,a=!e||!!r||et(e,n)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),o=(e==null?void 0:e.origin)===B&&t.hasAttribute("download");return{url:e,external:a,target:r,download:o}}function Y(t){let n=null,e=null,r=null,a=null,o=null,i=null,s=t;for(;s&&s!==document.documentElement;)r===null&&(r=O(s,"preload-code")),a===null&&(a=O(s,"preload-data")),n===null&&(n=O(s,"keepfocus")),e===null&&(e=O(s,"noscroll")),o===null&&(o=O(s,"reload")),i===null&&(i=O(s,"replacestate")),s=Ft(s);function c(l){switch(l){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:Lt[r??"off"],preload_data:Lt[a??"off"],keepfocus:c(n),noscroll:c(e),reload:c(o),replace_state:c(i)}}function Pt(t){const n=gt(t);let e=!0;function r(){e=!0,n.update(i=>i)}function a(i){e=!1,n.set(i)}function o(i){let s;return n.subscribe(c=>{(s===void 0||e&&c!==s)&&i(s=c)})}return{notify:r,set:a,subscribe:o}}function Ie(){const{set:t,subscribe:n}=gt(!1);let e;async function r(){clearTimeout(e);try{const a=await fetch(`${se}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const i=(await a.json()).version!==Ae;return i&&(t(!0),clearTimeout(e)),i}catch{return!1}}return{subscribe:n,check:r}}function et(t,n){return t.origin!==B||!t.pathname.startsWith(n)}const Le=-1,Pe=-2,xe=-3,Ue=-4,Te=-5,Ne=-6;function Oe(t,n){if(typeof t=="number")return a(t,!0);if(!Array.isArray(t)||t.length===0)throw new Error("Invalid input");const e=t,r=Array(e.length);function a(o,i=!1){if(o===Le)return;if(o===xe)return NaN;if(o===Ue)return 1/0;if(o===Te)return-1/0;if(o===Ne)return-0;if(i)throw new Error("Invalid input");if(o in r)return r[o];const s=e[o];if(!s||typeof s!="object")r[o]=s;else if(Array.isArray(s))if(typeof s[0]=="string"){const c=s[0],l=n==null?void 0:n[c];if(l)return r[o]=l(a(s[1]));switch(c){case"Date":r[o]=new Date(s[1]);break;case"Set":const u=new Set;r[o]=u;for(let d=1;d<s.length;d+=1)u.add(a(s[d]));break;case"Map":const h=new Map;r[o]=h;for(let d=1;d<s.length;d+=2)h.set(a(s[d]),a(s[d+1]));break;case"RegExp":r[o]=new RegExp(s[1],s[2]);break;case"Object":r[o]=Object(s[1]);break;case"BigInt":r[o]=BigInt(s[1]);break;case"null":const g=Object.create(null);r[o]=g;for(let d=1;d<s.length;d+=2)g[s[d]]=a(s[d+1]);break;default:throw new Error(`Unknown type ${c}`)}}else{const c=new Array(s.length);r[o]=c;for(let l=0;l<s.length;l+=1){const u=s[l];u!==Pe&&(c[l]=a(u))}}else{const c={};r[o]=c;for(const l in s){const u=s[l];c[l]=a(u)}}return r[o]}return a(0)}const Gt=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...Gt];const je=new Set([...Gt]);[...je];function $e(t){return t.filter(n=>n!=null)}class nt{constructor(n,e){this.status=n,typeof e=="string"?this.body={message:e}:e?this.body=e:this.body={message:`Error: ${n}`}}toString(){return JSON.stringify(this.body)}}class Ht{constructor(n,e){this.status=n,this.location=e}}class _t extends Error{constructor(n,e,r){super(r),this.status=n,this.text=e}}const De="x-sveltekit-invalidated",Ce="x-sveltekit-trailing-slash";function J(t){return t instanceof nt||t instanceof _t?t.status:500}function Ve(t){return t instanceof _t?t.text:"Internal Error"}const T=jt(Dt)??{},G=jt($t)??{},x={url:Pt({}),page:Pt({}),navigating:gt(null),updated:Ie()};function yt(t){T[t]=mt()}function Fe(t,n){let e=t+1;for(;T[e];)delete T[e],e+=1;for(e=n+1;G[e];)delete G[e],e+=1}function D(t){return location.href=t.href,new Promise(()=>{})}function xt(){}let at,dt,W,L,ht,C;const Mt=[],X=[];let P=null;const Bt=[],qe=[];let j=[],w={branch:[],error:null,url:null},wt=!1,Z=!1,Ut=!0,H=!1,V=!1,Kt=!1,vt=!1,bt,k,A,R,Q;async function Qe(t,n,e){var a,o;document.URL!==location.href&&(location.href=location.href),C=t,at=Se(t),L=document.documentElement,ht=n,dt=t.nodes[0],W=t.nodes[1],dt(),W(),k=(a=history.state)==null?void 0:a[$],A=(o=history.state)==null?void 0:o[q],k||(k=A=Date.now(),history.replaceState({...history.state,[$]:k,[q]:A},""));const r=T[k];r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y)),e?await Je(ht,e):ze(location.href,{replaceState:!0}),Ye()}function Ge(){Mt.length=0,vt=!1}function zt(t){X.some(n=>n==null?void 0:n.snapshot)&&(G[t]=X.map(n=>{var e;return(e=n==null?void 0:n.snapshot)==null?void 0:e.capture()}))}function Yt(t){var n;(n=G[t])==null||n.forEach((e,r)=>{var a,o;(o=(a=X[r])==null?void 0:a.snapshot)==null||o.restore(e)})}function Tt(){yt(k),It(Dt,T),zt(A),It($t,G)}async function Jt(t,n,e,r){return K({type:"goto",url:Vt(t),keepfocus:n.keepFocus,noscroll:n.noScroll,replace_state:n.replaceState,state:n.state,redirect_count:e,nav_token:r,accept:()=>{n.invalidateAll&&(vt=!0)}})}async function He(t){return P={id:t.id,promise:Xt(t).then(n=>(n.type==="loaded"&&n.state.error&&(P=null),n))},P.promise}async function ft(t){const n=at.find(e=>e.exec(Zt(t)));n&&await Promise.all([...n.layouts,n.leaf].map(e=>e==null?void 0:e[1]()))}function Wt(t,n){var a;w=t.state;const e=document.querySelector("style[data-sveltekit]");e&&e.remove(),R=t.props.page,bt=new C.root({target:n,props:{...t.props,stores:x,components:X},hydrate:!0}),Yt(A);const r={from:null,to:{params:w.params,route:{id:((a=w.route)==null?void 0:a.id)??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};j.forEach(o=>o(r)),Z=!0}async function tt({url:t,params:n,branch:e,status:r,error:a,route:o,form:i}){let s="never";if(I&&(t.pathname===I||t.pathname===I+"/"))s="always";else for(const d of e)(d==null?void 0:d.slash)!==void 0&&(s=d.slash);t.pathname=ie(t.pathname,s),t.search=t.search;const c={type:"loaded",state:{url:t,params:n,branch:e,error:a,route:o},props:{constructors:$e(e).map(d=>d.node.component),page:R}};i!==void 0&&(c.props.form=i);let l={},u=!R,h=0;for(let d=0;d<Math.max(e.length,w.branch.length);d+=1){const m=e[d],f=w.branch[d];(m==null?void 0:m.data)!==(f==null?void 0:f.data)&&(u=!0),m&&(l={...l,...m.data},u&&(c.props[`data_${h}`]=l),h+=1)}return(!w.url||t.href!==w.url.href||w.error!==a||i!==void 0&&i!==R.form||u)&&(c.props.page={error:a,params:n,route:{id:(o==null?void 0:o.id)??null},state:{},status:r,url:new URL(t),form:i??null,data:u?l:R.data}),c}async function Et({loader:t,parent:n,url:e,params:r,route:a,server_data_node:o}){var u,h,g;let i=null,s=!0;const c={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await t();if((u=l.universal)!=null&&u.load){let d=function(...f){for(const _ of f){const{href:v}=new URL(_,e);c.dependencies.add(v)}};const m={route:new Proxy(a,{get:(f,_)=>(s&&(c.route=!0),f[_])}),params:new Proxy(r,{get:(f,_)=>(s&&c.params.add(_),f[_])}),data:(o==null?void 0:o.data)??null,url:ue(e,()=>{s&&(c.url=!0)},f=>{s&&c.search_params.add(f)}),async fetch(f,_){let v;f instanceof Request?(v=f.url,_={body:f.method==="GET"||f.method==="HEAD"?void 0:await f.blob(),cache:f.cache,credentials:f.credentials,headers:f.headers,integrity:f.integrity,keepalive:f.keepalive,method:f.method,mode:f.mode,redirect:f.redirect,referrer:f.referrer,referrerPolicy:f.referrerPolicy,signal:f.signal,..._}):v=f;const S=new URL(v,e);return s&&d(S.href),S.origin===e.origin&&(v=S.href.slice(e.origin.length)),Z?ye(v,S.href,_):_e(v,_)},setHeaders:()=>{},depends:d,parent(){return s&&(c.parent=!0),n()},untrack(f){s=!1;try{return f()}finally{s=!0}}};i=await l.universal.load.call(null,m)??null}return{node:l,loader:t,server:o,universal:(h=l.universal)!=null&&h.load?{type:"data",data:i,uses:c}:null,data:i??(o==null?void 0:o.data)??null,slash:((g=l.universal)==null?void 0:g.trailingSlash)??(o==null?void 0:o.slash)}}function Nt(t,n,e,r,a,o){if(vt)return!0;if(!a)return!1;if(a.parent&&t||a.route&&n||a.url&&e)return!0;for(const i of a.search_params)if(r.has(i))return!0;for(const i of a.params)if(o[i]!==w.params[i])return!0;for(const i of a.dependencies)if(Mt.some(s=>s(new URL(i))))return!0;return!1}function kt(t,n){return(t==null?void 0:t.type)==="data"?t:(t==null?void 0:t.type)==="skip"?n??null:null}function Me(t,n){if(!t)return new Set(n.searchParams.keys());const e=new Set([...t.searchParams.keys(),...n.searchParams.keys()]);for(const r of e){const a=t.searchParams.getAll(r),o=n.searchParams.getAll(r);a.every(i=>o.includes(i))&&o.every(i=>a.includes(i))&&e.delete(r)}return e}async function Xt({id:t,invalidating:n,url:e,params:r,route:a}){if((P==null?void 0:P.id)===t)return P.promise;const{errors:o,layouts:i,leaf:s}=a,c=[...i,s];o.forEach(p=>p==null?void 0:p().catch(()=>{})),c.forEach(p=>p==null?void 0:p[1]().catch(()=>{}));let l=null;const u=w.url?t!==w.url.pathname+w.url.search:!1,h=w.route?a.id!==w.route.id:!1,g=Me(w.url,e);let d=!1;const m=c.map((p,y)=>{var U;const b=w.branch[y],E=!!(p!=null&&p[0])&&((b==null?void 0:b.loader)!==p[1]||Nt(d,h,u,g,(U=b.server)==null?void 0:U.uses,r));return E&&(d=!0),E});if(m.some(Boolean)){try{l=await ee(e,m)}catch(p){return rt({status:J(p),error:await M(p,{url:e,params:r,route:{id:a.id}}),url:e,route:a})}if(l.type==="redirect")return l}const f=l==null?void 0:l.nodes;let _=!1;const v=c.map(async(p,y)=>{var ot;if(!p)return;const b=w.branch[y],E=f==null?void 0:f[y];if((!E||E.type==="skip")&&p[1]===(b==null?void 0:b.loader)&&!Nt(_,h,u,g,(ot=b.universal)==null?void 0:ot.uses,r))return b;if(_=!0,(E==null?void 0:E.type)==="error")throw E;return Et({loader:p[1],url:e,params:r,route:a,parent:async()=>{var Rt;const At={};for(let st=0;st<y;st+=1)Object.assign(At,(Rt=await v[st])==null?void 0:Rt.data);return At},server_data_node:kt(E===void 0&&p[0]?{type:"skip"}:E??null,p[0]?b==null?void 0:b.server:void 0)})});for(const p of v)p.catch(()=>{});const S=[];for(let p=0;p<c.length;p+=1)if(c[p])try{S.push(await v[p])}catch(y){if(y instanceof Ht)return{type:"redirect",location:y.location};let b=J(y),E;if(f!=null&&f.includes(y))b=y.status??b,E=y.error;else if(y instanceof nt)E=y.body;else{if(await x.updated.check())return await D(e);E=await M(y,{params:r,url:e,route:{id:a.id}})}const U=await Be(p,S,o);return U?await tt({url:e,params:r,branch:S.slice(0,U.idx).concat(U.node),status:b,error:E,route:a}):await te(e,{id:a.id},E,b)}else S.push(void 0);return await tt({url:e,params:r,branch:S,status:200,error:null,route:a,form:n?void 0:null})}async function Be(t,n,e){for(;t--;)if(e[t]){let r=t;for(;!n[r];)r-=1;try{return{idx:r+1,node:{node:await e[t](),loader:e[t],data:{},server:null,universal:null}}}catch{continue}}}async function rt({status:t,error:n,url:e,route:r}){const a={};let o=null;if(C.server_loads[0]===0)try{const l=await ee(e,[!0]);if(l.type!=="data"||l.nodes[0]&&l.nodes[0].type!=="data")throw 0;o=l.nodes[0]??null}catch{(e.origin!==B||e.pathname!==location.pathname||wt)&&await D(e)}const s=await Et({loader:dt,url:e,params:a,route:r,parent:()=>Promise.resolve({}),server_data_node:kt(o)}),c={node:await W(),loader:W,universal:null,server:null,data:null};return await tt({url:e,params:a,branch:[s,c],status:t,error:n,route:null})}function St(t,n){if(!t||et(t,I))return;let e;try{e=C.hooks.reroute({url:new URL(t)})??t.pathname}catch{return}const r=Zt(e);for(const a of at){const o=a.exec(r);if(o)return{id:t.pathname+t.search,invalidating:n,route:a,params:le(o),url:t}}}function Zt(t){return ce(t.slice(I.length)||"/")}function Qt({url:t,type:n,intent:e,delta:r}){let a=!1;const o=ae(w,e,t,n);r!==void 0&&(o.navigation.delta=r);const i={...o.navigation,cancel:()=>{a=!0,o.reject(new Error("navigation cancelled"))}};return H||Bt.forEach(s=>s(i)),a?null:o}async function K({type:t,url:n,popped:e,keepfocus:r,noscroll:a,replace_state:o,state:i={},redirect_count:s=0,nav_token:c={},accept:l=xt,block:u=xt}){const h=St(n,!1),g=Qt({url:n,type:t,delta:e==null?void 0:e.delta,intent:h});if(!g){u();return}const d=k,m=A;l(),H=!0,Z&&x.navigating.set(g.navigation),Q=c;let f=h&&await Xt(h);if(!f){if(et(n,I))return await D(n);f=await te(n,{id:null},await M(new _t(404,"Not Found",`Not found: ${n.pathname}`),{url:n,params:{},route:{id:null}}),404)}if(n=(h==null?void 0:h.url)||n,Q!==c)return g.reject(new Error("navigation aborted")),!1;if(f.type==="redirect")if(s>=20)f=await rt({status:500,error:await M(new Error("Redirect loop"),{url:n,params:{},route:{id:null}}),url:n,route:{id:null}});else return Jt(new URL(f.location,n).href,{},s+1,c),!1;else f.props.page.status>=400&&await x.updated.check()&&await D(n);if(Ge(),yt(d),zt(m),f.props.page.url.pathname!==n.pathname&&(n.pathname=f.props.page.url.pathname),i=e?e.state:i,!e){const p=o?0:1,y={[$]:k+=p,[q]:A+=p,[Ct]:i};(o?history.replaceState:history.pushState).call(history,y,"",n),o||Fe(k,A)}if(P=null,f.props.page.state=i,Z){w=f.state,f.props.page&&(f.props.page.url=n);const p=(await Promise.all(qe.map(y=>y(g.navigation)))).filter(y=>typeof y=="function");if(p.length>0){let y=function(){j=j.filter(b=>!p.includes(b))};p.push(y),j.push(...p)}bt.$set(f.props),Kt=!0}else Wt(f,ht);const{activeElement:_}=document;await oe();const v=e?e.scroll:a?mt():null;if(Ut){const p=n.hash&&document.getElementById(decodeURIComponent(n.hash.slice(1)));v?scrollTo(v.x,v.y):p?p.scrollIntoView():scrollTo(0,0)}const S=document.activeElement!==_&&document.activeElement!==document.body;!r&&!S&&We(),Ut=!0,f.props.page&&(R=f.props.page),H=!1,t==="popstate"&&Yt(A),g.fulfil(void 0),j.forEach(p=>p(g.navigation)),x.navigating.set(null)}async function te(t,n,e,r){return t.origin===B&&t.pathname===location.pathname&&!wt?await rt({status:r,error:e,url:t,route:n}):await D(t)}function Ke(){let t;L.addEventListener("mousemove",o=>{const i=o.target;clearTimeout(t),t=setTimeout(()=>{r(i,2)},20)});function n(o){r(o.composedPath()[0],1)}L.addEventListener("mousedown",n),L.addEventListener("touchstart",n,{passive:!0});const e=new IntersectionObserver(o=>{for(const i of o)i.isIntersecting&&(ft(i.target.href),e.unobserve(i.target))},{threshold:0});function r(o,i){const s=qt(o,L);if(!s)return;const{url:c,external:l,download:u}=ut(s,I);if(l||u)return;const h=Y(s);if(!h.reload)if(i<=h.preload_data){const g=St(c,!1);g&&He(g)}else i<=h.preload_code&&ft(c.pathname)}function a(){e.disconnect();for(const o of L.querySelectorAll("a")){const{url:i,external:s,download:c}=ut(o,I);if(s||c)continue;const l=Y(o);l.reload||(l.preload_code===z.viewport&&e.observe(o),l.preload_code===z.eager&&ft(i.pathname))}}j.push(a),a()}function M(t,n){if(t instanceof nt)return t.body;const e=J(t),r=Ve(t);return C.hooks.handleError({error:t,event:n,status:e,message:r})??{message:r}}function ze(t,n={}){return t=Vt(t),t.origin!==B?Promise.reject(new Error("goto: invalid URL")):Jt(t,n,0)}function Ye(){var n;history.scrollRestoration="manual",addEventListener("beforeunload",e=>{let r=!1;if(Tt(),!H){const a=ae(w,void 0,null,"leave"),o={...a.navigation,cancel:()=>{r=!0,a.reject(new Error("navigation cancelled"))}};Bt.forEach(i=>i(o))}r?(e.preventDefault(),e.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Tt()}),(n=navigator.connection)!=null&&n.saveData||Ke(),L.addEventListener("click",e=>{var g;if(e.button||e.which!==1||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.defaultPrevented)return;const r=qt(e.composedPath()[0],L);if(!r)return;const{url:a,external:o,target:i,download:s}=ut(r,I);if(!a)return;if(i==="_parent"||i==="_top"){if(window.parent!==window)return}else if(i&&i!=="_self")return;const c=Y(r);if(!(r instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||s)return;if(o||c.reload){Qt({url:a,type:"link"})?H=!0:e.preventDefault();return}const[u,h]=a.href.split("#");if(h!==void 0&&u===ct(location)){const[,d]=w.url.href.split("#");if(d===h){e.preventDefault(),h===""||h==="top"&&r.ownerDocument.getElementById("top")===null?window.scrollTo({top:0}):(g=r.ownerDocument.getElementById(h))==null||g.scrollIntoView();return}if(V=!0,yt(k),t(a),!c.replace_state)return;V=!1}e.preventDefault(),K({type:"link",url:a,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??a.href===location.href})}),L.addEventListener("submit",e=>{if(e.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(e.target),a=e.submitter;if(((a==null?void 0:a.formMethod)||r.method)!=="get")return;const i=new URL((a==null?void 0:a.hasAttribute("formaction"))&&(a==null?void 0:a.formAction)||r.action);if(et(i,I))return;const s=e.target,c=Y(s);if(c.reload)return;e.preventDefault(),e.stopPropagation();const l=new FormData(s),u=a==null?void 0:a.getAttribute("name");u&&l.append(u,(a==null?void 0:a.getAttribute("value"))??""),i.search=new URLSearchParams(l).toString(),K({type:"form",url:i,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??i.href===location.href})}),addEventListener("popstate",async e=>{var r;if((r=e.state)!=null&&r[$]){const a=e.state[$];if(Q={},a===k)return;const o=T[a],i=e.state[Ct]??{},s=new URL(e.state[Re]??location.href),c=e.state[q],l=ct(location)===ct(w.url);if(c===A&&(Kt||l)){t(s),T[k]=mt(),o&&scrollTo(o.x,o.y),i!==R.state&&(R={...R,state:i},bt.$set({page:R})),k=a;return}const h=a-k;await K({type:"popstate",url:s,popped:{state:i,scroll:o,delta:h},accept:()=>{k=a,A=c},block:()=>{history.go(-h)},nav_token:Q})}else if(!V){const a=new URL(location.href);t(a)}}),addEventListener("hashchange",()=>{V&&(V=!1,history.replaceState({...history.state,[$]:++k,[q]:A},"",location.href))});for(const e of document.querySelectorAll("link"))e.rel==="icon"&&(e.href=e.href);addEventListener("pageshow",e=>{e.persisted&&x.navigating.set(null)});function t(e){w.url=e,x.page.set({...R,url:e}),x.page.notify()}}async function Je(t,{status:n=200,error:e,node_ids:r,params:a,route:o,data:i,form:s}){wt=!0;const c=new URL(location.href);({params:a={},route:o={id:null}}=St(c,!1)||{});let l;try{const u=r.map(async(d,m)=>{const f=i[m];return f!=null&&f.uses&&(f.uses=ne(f.uses)),Et({loader:C.nodes[d],url:c,params:a,route:o,parent:async()=>{const _={};for(let v=0;v<m;v+=1)Object.assign(_,(await u[v]).data);return _},server_data_node:kt(f)})}),h=await Promise.all(u),g=at.find(({id:d})=>d===o.id);if(g){const d=g.layouts;for(let m=0;m<d.length;m++)d[m]||h.splice(m,0,void 0)}l=await tt({url:c,params:a,branch:h,status:n,error:e,form:s,route:g??null})}catch(u){if(u instanceof Ht){await D(new URL(u.location,location.href));return}l=await rt({status:J(u),error:await M(u,{url:c,params:a,route:o}),url:c,route:o})}l.props.page&&(l.props.page.state={}),Wt(l,t)}async function ee(t,n){var a;const e=new URL(t);e.pathname=pe(t.pathname),t.pathname.endsWith("/")&&e.searchParams.append(Ce,"1"),e.searchParams.append(De,n.map(o=>o?"1":"0").join(""));const r=await Ot(e.href);if(!r.ok){let o;throw(a=r.headers.get("content-type"))!=null&&a.includes("application/json")?o=await r.json():r.status===404?o="Not Found":r.status===500&&(o="Internal Error"),new nt(r.status,o)}return new Promise(async o=>{var h;const i=new Map,s=r.body.getReader(),c=new TextDecoder;function l(g){return Oe(g,{Promise:d=>new Promise((m,f)=>{i.set(d,{fulfil:m,reject:f})})})}let u="";for(;;){const{done:g,value:d}=await s.read();if(g&&!u)break;for(u+=!d&&u?`
|
|
2
|
+
`:c.decode(d,{stream:!0});;){const m=u.indexOf(`
|
|
3
|
+
`);if(m===-1)break;const f=JSON.parse(u.slice(0,m));if(u=u.slice(m+1),f.type==="redirect")return o(f);if(f.type==="data")(h=f.nodes)==null||h.forEach(_=>{(_==null?void 0:_.type)==="data"&&(_.uses=ne(_.uses),_.data=l(_.data))}),o(f);else if(f.type==="chunk"){const{id:_,data:v,error:S}=f,p=i.get(_);i.delete(_),S?p.reject(l(S)):p.fulfil(l(v))}}}})}function ne(t){return{dependencies:new Set((t==null?void 0:t.dependencies)??[]),params:new Set((t==null?void 0:t.params)??[]),parent:!!(t!=null&&t.parent),route:!!(t!=null&&t.route),url:!!(t!=null&&t.url),search_params:new Set((t==null?void 0:t.search_params)??[])}}function We(){const t=document.querySelector("[autofocus]");if(t)t.focus();else{const n=document.body,e=n.getAttribute("tabindex");n.tabIndex=-1,n.focus({preventScroll:!0,focusVisible:!1}),e!==null?n.setAttribute("tabindex",e):n.removeAttribute("tabindex");const r=getSelection();if(r&&r.type!=="None"){const a=[];for(let o=0;o<r.rangeCount;o+=1)a.push(r.getRangeAt(o));setTimeout(()=>{if(r.rangeCount===a.length){for(let o=0;o<r.rangeCount;o+=1){const i=a[o],s=r.getRangeAt(o);if(i.commonAncestorContainer!==s.commonAncestorContainer||i.startContainer!==s.startContainer||i.endContainer!==s.endContainer||i.startOffset!==s.startOffset||i.endOffset!==s.endOffset)return}r.removeAllRanges()}})}}}function ae(t,n,e,r){var c,l;let a,o;const i=new Promise((u,h)=>{a=u,o=h});return i.catch(()=>{}),{navigation:{from:{params:t.params,route:{id:((c=t.route)==null?void 0:c.id)??null},url:t.url},to:e&&{params:(n==null?void 0:n.params)??null,route:{id:((l=n==null?void 0:n.route)==null?void 0:l.id)??null},url:e},willUnload:!n,type:r,complete:i},fulfil:a,reject:o}}export{nt as H,Qe as a,ze as g,x as s,gt as w};
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
var le=Object.defineProperty;var re=(l,t,s)=>t in l?le(l,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):l[t]=s;var V=(l,t,s)=>(re(l,typeof t!="symbol"?t+"":t,s),s);import{p as e,a as rt,b as wt,i as it,d as Et,f,c as B,E as O,g as Z,h as dt,j as ct,k as ht,r as ot,l as M,m as C,n as st,o as tt,q as kt,s as xt,w as Nt,S as St,t as de}from"./index.sDAnq9IB.js";var ce=class{constructor(l,t,s,n,o){V(this,"base_center_x");V(this,"base_center_y");V(this,"base_radius");V(this,"initial_angle");V(this,"right_nleft");this.base_center_x=l,this.base_center_y=t,this.base_radius=s,this.initial_angle=n,this.right_nleft=o}angleSign(){return this.right_nleft?1:-1}lFromU(l){return this.base_radius*Math.sqrt(1+l**2)}wFromU(l){if(l<0)throw`err729: involute parameter au ${l} is negative`;if(Math.abs(l)>Math.PI/2)throw`err730: involute parameter au ${l} is larger than PI/2`;return this.angleSign()*(l-Math.atan(l))}w2FromU(l){return this.initial_angle+this.wFromU(l)}ptc(l){const t=this.lFromU(l),s=this.w2FromU(l),n=this.base_center_x+Math.cos(s)*t,o=this.base_center_y+Math.sin(s)*t;return[n,o]}ptcta(l){return this.initial_angle+this.angleSign()*l}uFromL(l){return Math.sqrt(l**2/this.base_radius**2-1)}uFromWslow(l){let s=Math.PI/3,n=s/2,o=this.wFromU(s),i=0;for(;Math.abs(o-l)>1e-4;)o<l?s+=n:s-=n,o=this.wFromU(s),n=n/2,i+=1;return console.log(`dbg072: uFromWslow itcnt ${i}`),s}laptc(l,t,s,n){if(Math.sign(t)*this.angleSign()<0)throw`err904: Invole.laptc angle-of-pressure ${t} not compatible with right_nleft ${this.right_nleft}`;const o=l+t,i=this.base_center_x+Math.cos(o)*this.base_radius,d=this.base_center_y+Math.sin(o)*this.base_radius,w=o-this.angleSign()*Math.PI/2,u=s*this.base_radius,a=i+Math.cos(w)*u,h=d+Math.sin(w)*u,r=this.lFromU(s)*n,c=s,_=Math.cos(c)*r,R=Math.sin(c)*r;return[a,h,_,R]}};function gt(l,t,s,n,o){return new ce(l,t,s,n,o)}var he=class{constructor(){V(this,"mod",1);V(this,"TN",23);V(this,"as",1);V(this,"cx",0);V(this,"cy",0);V(this,"brr",50);V(this,"blr",50);V(this,"ar",54);V(this,"pr",53);V(this,"dr",52);V(this,"br",51);V(this,"bRound",1);V(this,"adt",.5);V(this,"initAngle",0);V(this,"axisAngle",0);V(this,"involArcPairs",1);V(this,"skinThickness",0);V(this,"involuteR",gt(0,0,50,0,!0));V(this,"involuteL",gt(0,0,50,0,!1));V(this,"rud",0);V(this,"rup",0);V(this,"rua",0);V(this,"rwd",0);V(this,"rwp",0);V(this,"rwa",0);V(this,"lud",0);V(this,"lup",0);V(this,"lua",0);V(this,"lwd",0);V(this,"lwp",0);V(this,"lwa",0);V(this,"msg");V(this,"initStep",0);this.mod=1,this.msg="",this.initStep=0}incInitStep(l){if(this.initStep+1!==l)throw`err834: incInitStep initStep ${this.initStep} and target ${l} are not compatible`;this.initStep=l}checkInitStep(l,t){if(this.initStep<l)throw`err835: checkInitStep for ${t} initStep ${this.initStep} is too small compare to targetMin ${l}`}set1ModuleToothNumber(l,t){this.incInitStep(1),this.mod=l,this.TN=t,this.pr=this.mod*this.TN/2,this.as=2*Math.PI/this.TN}set2CenterPosition(l,t){this.incInitStep(2),this.cx=l,this.cy=t}set3CircleRadius(l,t,s,n){this.incInitStep(3),this.ar=this.pr+this.mod*l,this.dr=this.pr-this.mod*t,this.br=this.dr-this.mod*s,this.bRound=n}set4BaseCircles(l,t){this.incInitStep(4),this.brr=l,this.blr=t}set5AddendumThickness(l){this.incInitStep(5),this.adt=l/100}set6Angles(l,t){this.incInitStep(6),this.initAngle=l,this.axisAngle=t}set7InvoluteDetails(l,t){this.incInitStep(7),this.involArcPairs=l,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=gt(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=gt(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 l=this.as*this.adt,t=this.rwa-this.rwp,s=Math.abs(this.lwa-this.lwp),n=l-t-s;if(n<0)throw`err554: No remaining Addendum reserve ${f(n)}
|
|
2
|
+
`;const o=this.as*(1-this.adt),i=this.rwp-this.rwd,d=Math.abs(this.lwp-this.lwd),w=o-i-d;if(w<2*Math.atan2(this.bRound,this.br))throw`err555: No remaining Dedendum reserve ${f(w)} compare to bRound ${f(this.bRound)}
|
|
3
|
+
`}getToothRef(){const l=6*this.involArcPairs,t=0;this.checkInitStep(7,"getProfile"),this.calcInvoluteAngles();const s=(this.rua-this.rud)/l,n=(this.lua-this.lud)/l,o=this.initAngle+t*this.as,i=gt(this.cx,this.cy,this.brr,o-this.rwp,!0),[d,w]=i.ptc(this.rud+0*s),u=B(d,w,"Gold");for(let g=0;g<l;g++){const[r,c]=i.ptc(this.rud+(g+1)*s);u.addSegStrokeA(r,c)}const a=o+this.as*this.adt,h=gt(this.cx,this.cy,this.blr,a-this.lwp,!1);for(let g=0;g<l+1;g++){const[r,c]=h.ptc(this.lud+(l-g)*n);u.addSegStrokeA(r,c)}return u.closeSegStroke(),u}getProfile(){this.checkInitStep(7,"getProfile"),this.calcInvoluteAngles(),this.checkProfileConditions();const l=this.rwd-this.rwp,t=this.lwd-this.lwp,s=this.dr>this.brr?this.dr:this.brr,n=this.dr>this.blr?this.dr:this.blr;if(this.bRound>s-this.br)throw`err409: getProfile bRound ${f(this.bRound)} too large for erdr ${f(s)} and br ${f(this.br)}`;if(this.bRound>n-this.br)throw`err408: getProfile bRound ${f(this.bRound)} too large for eldr ${f(n)} and br ${f(this.br)}`;const o=(this.rua-this.rud)/this.involArcPairs,i=(this.lua-this.lud)/this.involArcPairs,d=st(this.cx,this.cy),w=d.translatePolar(this.initAngle+l,this.br),u=B(w.cx,w.cy);for(let a=0;a<this.TN;a++){const h=this.initAngle+a*this.as,g=d.translatePolar(h+l,this.br);u.addSegStrokeA(g.cx,g.cy).addCornerRounded(this.bRound);const r=gt(this.cx,this.cy,this.brr,h-this.rwp,!0),[c,_]=r.ptc(this.rud),R=r.ptcta(this.rud),y=st(c,_).translatePolar(R-Math.PI/2,this.skinThickness);u.addSegStrokeA(y.cx,y.cy);for(let S=0;S<this.involArcPairs;S++){const H=this.rud+S*o,[I,E]=r.ptc(H+o),U=r.ptcta(H),F=r.ptcta(H+o)+Math.PI,T=st(I,E).translatePolar(U-Math.PI/2,this.skinThickness);u.addPointA(T.cx,T.cy).addSeg2Arcs(U,F)}const k=h+this.as*this.adt,P=gt(this.cx,this.cy,this.blr,k-this.lwp,!1),L=this.lud+this.involArcPairs*i,[A,D]=P.ptc(L),x=P.ptcta(L)+Math.PI,b=st(A,D).translatePolar(x-Math.PI/2,this.skinThickness);u.addSegStrokeA(b.cx,b.cy);for(let S=0;S<this.involArcPairs;S++){const H=this.lud+(this.involArcPairs-S)*i,[I,E]=P.ptc(H-i),U=P.ptcta(H)+Math.PI,F=P.ptcta(H-i),T=st(I,E).translatePolar(U-Math.PI/2,this.skinThickness);u.addPointA(T.cx,T.cy).addSeg2Arcs(U,F)}const v=d.translatePolar(k+t,this.br);u.addSegStrokeA(v.cx,v.cy).addCornerRounded(this.bRound)}return u.closeSegStroke(),u}getMsg(){return this.msg}};function Wt(){return new he}function ae(l,t,s,n){l.checkInitStep(1,"helper.gw2center-1"),t.checkInitStep(1,"helper.gw2center-2");const o=l.pr+t.pr+n,i=l.cx+o*Math.cos(s),d=l.cy+o*Math.sin(s);return[i,d,o]}function ge(l,t,s,n,o,i,d,w,u){l.checkInitStep(3,"helper.baseCircles-1"),t.checkInitStep(3,"helper.baseCircles-2");let a=s,h=o,g=n,r=i;const c=w,_=u;return c===0&&(t.TN>l.TN?(a=l.dr,h=a*t.TN/l.TN):(h=t.dr,a=h*l.TN/t.TN)),_===0&&(t.TN>l.TN?(g=l.dr,r=g*t.TN/l.TN):(r=t.dr,g=r*l.TN/t.TN)),d===1&&(g=a,r=h),[a,g,h,r]}var ue=class{constructor(l,t,s,n,o,i){V(this,"gw1");V(this,"gw2");V(this,"initAngle1");V(this,"angleCenterCenter");V(this,"interAxis");V(this,"rightLeftCenter2");V(this,"msg");V(this,"apr");V(this,"apl");V(this,"lBDr",0);V(this,"lBDl",0);V(this,"laStartRr1",0);V(this,"laStartRr2",0);V(this,"laStartRl1",0);V(this,"laStartRl2",0);V(this,"aFODr1",0);V(this,"aFODr2",0);V(this,"aFODl1",0);V(this,"aFODl2",0);V(this,"lasr1",0);V(this,"lasr2",0);V(this,"lasl1",0);V(this,"lasl2",0);V(this,"firstToothUr1",0);V(this,"firstToothUl1",0);V(this,"ftdr1",0);V(this,"ftdl1",0);this.gw1=l,this.gw2=t,this.initAngle1=s,this.angleCenterCenter=n,this.interAxis=o,this.rightLeftCenter2=i,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 ${f(this.interAxis)} is too large compare to gw1.ar ${f(this.gw1.ar)} and gw2.ar ${f(this.gw2.ar)}
|
|
4
|
+
`),tt(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} = ${f(this.gw1.TN/this.gw2.TN)} and brr1/brr2 = ${f(this.gw1.brr)}/${f(this.gw2.brr)} = ${f(this.gw1.brr/this.gw2.brr)}
|
|
5
|
+
`),tt(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} = ${f(this.gw1.TN/this.gw2.TN)} and blr1/blr2 = ${f(this.gw1.blr)}/${f(this.gw2.blr)} = ${f(this.gw1.blr/this.gw2.blr)}
|
|
6
|
+
`)}check2(){this.gw1.checkInitStep(5,"ActionLine.check2-1"),this.gw2.checkInitStep(5,"ActionLine.check2-2"),tt(this.gw1.adt+this.gw2.adt-1)>0&&(this.msg+=`warn281: addendum thickness too large: adt1 ${f(this.gw1.adt)} adt2 ${f(this.gw2.adt)}
|
|
7
|
+
`);const l=this.gw1.ar-this.gw1.pr,t=this.gw1.pr-this.gw1.dr,s=this.gw2.ar-this.gw2.pr,n=this.gw2.pr-this.gw2.dr;tt(n-l)<0&&(this.msg+=`warn282: addendum-1 ${f(l)} larger than dedendum-2 ${f(n)}
|
|
8
|
+
`),tt(t-s)<0&&(this.msg+=`warn283: addendum-2 ${f(s)} larger than dedendum-1 ${f(t)}
|
|
9
|
+
`)}calcActionLine(){this.gw1.checkInitStep(4,"ActionLine.calcActionLine-1"),this.gw2.checkInitStep(4,"ActionLine.calcActionLine-2"),this.gw1.calcInvoluteAngles(),this.gw2.calcInvoluteAngles();const l=this.interAxis*this.gw1.brr/(this.gw1.brr+this.gw2.brr),t=this.interAxis*this.gw1.blr/(this.gw1.blr+this.gw2.blr),s=this.interAxis-l,n=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: ${f(ot(this.apr))} left: ${f(ot(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: ${f(this.lBDr)} left: ${f(this.lBDl)} mm
|
|
11
|
+
`;const o=Math.PI/2+this.apr,i=kt(this.gw1.ar,l,o);this.aFODr1=Math.PI-o-i;const d=this.gw1.rua-this.apr-this.gw1.rwa;if(tt(this.aFODr1-d)!==0)throw`dbg378: aFODr1 ${this.aFODr1} and aFODr1Alt ${d} differ`;const w=xt(l,this.gw1.ar,this.aFODr1),u=o,a=kt(this.gw2.ar,s,u);this.aFODr2=Math.PI-u-a;const h=this.gw2.rua-this.apr-this.gw2.rwa;if(tt(this.aFODr2-h)!==0)throw`dbg379: aFODr2 ${this.aFODr2} and aFODr2Alt ${h} differ`;const g=xt(s,this.gw2.ar,this.aFODr2),r=w+g,c=r/this.gw1.brr,_=r/this.gw2.brr,R=this.gw1.rua-c,y=this.gw2.rua-_;this.laStartRr1=this.gw1.involuteR.lFromU(R),this.laStartRr2=this.gw2.involuteR.lFromU(y);const k=Math.PI/2+this.apl,P=kt(this.gw1.ar,t,k);this.aFODl1=Math.PI-k-P;const L=this.gw1.lua-this.apl+this.gw1.lwa;if(tt(this.aFODl1-L)!==0)throw`dbg388: aFODl1 ${this.aFODl1} and aFODl1Alt ${L} differ`;const A=xt(t,this.gw1.ar,this.aFODl1),D=o,x=kt(this.gw2.ar,n,D);this.aFODl2=Math.PI-D-x;const b=this.gw2.lua-this.apl+this.gw2.lwa;if(tt(this.aFODl2-b)!==0)throw`dbg389: aFODl2 ${this.aFODl2} and aFODl2Alt ${b} differ`;const v=xt(n,this.gw2.ar,this.aFODl2),S=A+v,H=S/this.gw1.blr,I=S/this.gw2.blr,E=this.gw1.lua-H,U=this.gw2.lua-I;this.laStartRl1=this.gw1.involuteL.lFromU(E),this.laStartRl2=this.gw2.involuteL.lFromU(U),this.msg+=`Line of Action Effective length: right: ${f(r)} left: ${f(S)} mm
|
|
12
|
+
`,this.msg+=`Line of Action Effective rotation angle: right-1: ${f(ot(c))} right-2: ${f(ot(_))} left-1: ${f(ot(H))} left-2: ${f(ot(I))} degree
|
|
13
|
+
`,this.msg+=`Line of Action Effective height: right-1: ${f(this.gw1.ar-this.laStartRr1)} right-2: ${f(this.gw2.ar-this.laStartRr2)} left-1: ${f(this.gw1.ar-this.laStartRl1)} left-2: ${f(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: ${f(this.lasr1)} 2: ${f(this.lasr2)} mm
|
|
15
|
+
`,this.msg+=`Line of Action right: nb of contact point: 1: ${f(r/this.lasr1)} 2: ${f(r/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: ${f(this.lasl1)} 2: ${f(this.lasl2)} mm
|
|
17
|
+
`,this.msg+=`Line of Action left: nb of contact point: 1: ${f(S/this.lasl1)} 2: ${f(S/this.lasl2)}
|
|
18
|
+
`}calcContactPoint1(){for(this.gw1.checkInitStep(5,"ActionLine.calcContactPoint1"),this.firstToothUr1=Nt(this.apr-(this.initAngle1-this.angleCenterCenter)+this.gw1.rwp);tt(this.firstToothUr1-this.gw1.as)>=0;)this.firstToothUr1=tt(this.firstToothUr1-this.gw1.as);for(this.firstToothUl1=Nt(this.apl+(this.initAngle1-this.angleCenterCenter)+this.gw1.as*this.gw1.adt-this.gw1.lwp);tt(this.firstToothUl1-this.gw1.as)>=0;)this.firstToothUl1=tt(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(l,t,s,n,o,i,d,w,u,a){const g=Math.floor(t/(2*s)),r=(n+g*s)/o,c=l?1:-1,[_,R,y,k]=i.laptc(d,c*w,r,.4);this.msg+=`speed ${u}: vx ${f(y)} vy: ${f(k)} m/s
|
|
19
|
+
`;const P=st(_,R),L=d+c*w,A=B(_,R,a),D=P.translatePolar(L,-k);A.addSegStrokeA(D.cx,D.cy);const x=D.translatePolar(L-c*Math.PI/2,y);return A.addSegStrokeA(x.cx,x.cy),A.closeSegStroke(),A}getContactSpeed(){const l=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"),s=[];return s.push(l),s.push(t),s}getContours(){const l=[];l.push(M(this.gw1.cx,this.gw1.cy,this.laStartRr1,"SkyBlue")),l.push(M(this.gw1.cx,this.gw1.cy,this.laStartRl1,"SlateBlue")),l.push(M(this.gw2.cx,this.gw2.cy,this.laStartRr2,"SkyBlue")),l.push(M(this.gw2.cx,this.gw2.cy,this.laStartRl2,"SlateBlue"));const t=st(this.gw1.cx,this.gw1.cy),s=st(this.gw2.cx,this.gw2.cy),n=t.translatePolar(this.angleCenterCenter+this.apr,this.gw1.brr),o=s.translatePolar(this.angleCenterCenter+Math.PI+this.apr,this.gw2.brr),i=B(n.cx,n.cy,"YellowGreen");i.addSegStrokeA(o.cx,o.cy),i.closeSegStroke(),l.push(i);const d=t.translatePolar(this.angleCenterCenter-this.aFODr1,this.gw1.ar),w=s.translatePolar(this.angleCenterCenter+Math.PI-this.aFODr2,this.gw2.ar),u=B(d.cx,d.cy,"Yellow");u.addSegStrokeA(w.cx,w.cy),u.closeSegStroke(),l.push(u);const a=t.translatePolar(this.angleCenterCenter-this.apl,this.gw1.blr),h=s.translatePolar(this.angleCenterCenter+Math.PI-this.apl,this.gw2.blr),g=B(a.cx,a.cy,"YellowGreen");g.addSegStrokeA(h.cx,h.cy),g.closeSegStroke(),l.push(g);const r=t.translatePolar(this.angleCenterCenter+this.aFODl1,this.gw1.ar),c=s.translatePolar(this.angleCenterCenter+Math.PI+this.aFODl2,this.gw2.ar),_=B(r.cx,r.cy,"Yellow");return _.addSegStrokeA(c.cx,c.cy),_.closeSegStroke(),l.push(_),l.push(...this.getContactSpeed()),l}getContactPoint(){const l=[],t=st(this.gw1.cx,this.gw1.cy),s=t.translatePolar(this.angleCenterCenter+this.apr,this.gw1.brr),n=t.translatePolar(this.angleCenterCenter-this.apl,this.gw1.blr);l.push(st(s.cx,s.cy,St.eBigSquare)),l.push(st(n.cx,n.cy,St.eBigSquare));const o=this.angleCenterCenter+this.apr-Math.PI/2,i=this.angleCenterCenter-this.apl+Math.PI/2,d=s.translatePolar(o,this.ftdr1),w=n.translatePolar(i,this.ftdl1);l.push(st(d.cx,d.cy,St.eBigSquare)),l.push(st(w.cx,w.cy,St.eBigSquare));let u=this.ftdr1;for(;u+this.lasr1<this.lBDr;){u+=this.lasr1;const h=s.translatePolar(o,u);l.push(st(h.cx,h.cy,St.eBigSquare))}let a=this.ftdl1;for(;a+this.lasl1<this.lBDl;){a+=this.lasl1;const h=n.translatePolar(i,a);l.push(st(h.cx,h.cy,St.eBigSquare))}return l}getMsg(){return this.msg}getInitAngle2(){let l=this.lBDr-this.ftdr1;for(;tt(l-this.lasr2)>=0;)l=tt(l-this.lasr2);let t=this.lBDl-this.ftdl1;for(;tt(t-this.lasl2)>=0;)t=tt(t-this.lasl2);const s=l/this.gw2.brr,n=t/this.gw2.blr,o=this.angleCenterCenter+Math.PI+this.apr-s+this.gw2.rwp,d=this.angleCenterCenter+Math.PI-this.apl+n+this.gw2.lwp-this.gw2.as*this.gw2.adt;let w=2*Math.PI+Nt(d);for(;tt(w-this.gw2.as-o)>=0;)w=tt(w-this.gw2.as);const u=w-o,a=u*this.gw2.brr/this.gw1.brr,h=u*this.gw2.brr,g=u*this.gw2.blr;this.msg+=`slack angle: 1: ${f(ot(a))} 2: ${f(ot(u))} degree
|
|
20
|
+
`,this.msg+=`slack on action line: right-2: ${f(h)} left-2: ${f(g)} mm
|
|
21
|
+
`;let r=0;if(this.rightLeftCenter2===0)r=o;else if(this.rightLeftCenter2===1)r=d;else if(this.rightLeftCenter2===2)r=o+u/2;else throw`err221: initAngle2 rightLeftCenter2 ${this.rightLeftCenter2} has an unkown value`;return de(r)}};function _e(l,t,s,n,o,i){return new ue(l,t,s,n,o,i)}function fe(l,t,s,n,o,i,d,w,u){let a=M(l,t,s);if(n>0){if(o>2*s)throw`err383: axisTorque ribWidth ${f(o)} larger than 2x axisRadius ${f(s)}`;const h=Math.asin(o/(2*s)),g=2*Math.PI/n;if(g-2.5*h<0)throw`err384: axisTorque ribWidth ${f(o)} or ribNb ${n} are too large`;if(d>o/2)throw`err385: axisTorque ribRound1 ${f(d)} too large compare to ribWidth ${f(o)}`;if(d+w>i)throw`err386: axisTorque ribRound12 ${f(d)} ${f(w)} too large compare to ribHeight ${f(o)}`;const r=g-2*h>Math.PI,c=st(l,t),R=c.translatePolar(u,s+i).translatePolar(u+Math.PI/2,o/2);a=B(R.cx,R.cy);for(let y=0;y<n;y++){const k=u+y*g,P=k+g,L=c.translatePolar(k+h,s),A=c.translatePolar(P-h,s),x=c.translatePolar(k,s+i).translatePolar(k+Math.PI/2,o/2),v=c.translatePolar(P,s+i).translatePolar(P-Math.PI/2,o/2);a.addSegStrokeA(x.cx,x.cy).addCornerRounded(d),a.addSegStrokeA(L.cx,L.cy).addCornerRounded(w),a.addPointA(A.cx,A.cy).addSegArc(s,r,!0).addCornerRounded(w),a.addSegStrokeA(v.cx,v.cy).addCornerRounded(d)}a.closeSegStroke()}return a}function Le(l,t,s,n,o,i,d,w){const u=2*Math.PI/o,a=Math.asin(i/(2*n)),h=Math.asin(i/(2*s));if(i>2*n)throw`err905: hollowStraight spokeWidth ${f(i)} too large for hollowInt ${f(n)}`;if(s-n<2.1*d)throw`err906: hollowStraight hollowExt ${f(s)}, hollowInt ${f(n)} and spokeRound ${f(d)} do not fit`;if(u-2*h<2.5*Math.asin(d/s))throw`err907: hollowStraight spokeNb ${o}, spokeWidth ${f(i)} or spokeRound ${f(d)} are too large`;const g=i/(2*Math.sin(u/2)),r=u-2*a<2.1*Math.asin(d/n),c=u-2*h>Math.PI,_=st(l,t),R=[];for(let y=0;y<o;y++){const k=w+y*u,P=k+u,L=k+u/2,A=_.translatePolar(k+h,s),D=_.translatePolar(P-h,s),x=_.translatePolar(P-a,n),b=_.translatePolar(k+a,n),v=_.translatePolar(L,g),S=B(A.cx,A.cy);S.addCornerRounded(d),S.addPointA(D.cx,D.cy).addSegArc(s,c,!0).addCornerRounded(d),r?S.addSegStrokeA(v.cx,v.cy).addCornerRounded(d):(S.addSegStrokeA(x.cx,x.cy).addCornerRounded(d),S.addPointA(b.cx,b.cy).addSegArc(n,c,!1).addCornerRounded(d)),S.closeSegStroke(),R.push(S)}return R}function qt(l,t,s,n,o,i,d,w,u,a){const h=a?1:-1,g=l/2,r=g+t,c=r+s,_=B(0,-c);return _.addSegStrokeA(h*n,-c).addCornerRounded(d).addSegStrokeA(h*n,-r).addCornerRounded(w).addSegStrokeA(h*o,-r).addSegStrokeA(h*i,-g).addCornerRounded(u).addSegStrokeA(h*i,g).addCornerRounded(u).addSegStrokeA(h*o,r).addSegStrokeA(h*n,r).addCornerRounded(w).addSegStrokeA(h*n,c).addCornerRounded(d).addSegStrokeA(0,c).closeSegStroke(),_}var Yt={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),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),rt("involSym",!0),wt("involROpt",["Optimum","Base-1","Base-2","PressureAngle","FreeBase-12"]),wt("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),wt("gw2Position",["right","left","center"]),rt("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),rt("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),rt("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 Se(l,t){const s=it(Yt.partName),n=C(),o=C();s.logstr+=`${s.partName} simTime: ${l}
|
|
22
|
+
`;try{const i=Wt(),d=Wt();i.set1ModuleToothNumber(t.module,t.N1),d.set1ModuleToothNumber(t.module,t.N2),i.set2CenterPosition(t.c1x,t.c1y);const w=Et(t.angleCenterCenter),[u,a,h]=ae(i,d,w,t.addInterAxis);d.set2CenterPosition(u,a),i.set3CircleRadius(t.ah1,t.dh1,t.bh1,t.bRound1),d.set3CircleRadius(t.ah2,t.dh2,t.bh2,t.bRound2);const[g,r,c,_]=ge(i,d,t.brr1,t.blr1,t.brr2,t.blr2,t.involSym,t.involROpt,t.involROpt);i.set4BaseCircles(g,r),d.set4BaseCircles(c,_),i.set5AddendumThickness(t.at1),d.set5AddendumThickness(t.at2);const R=Et(t.initAngle1)+l*3*i.as/100;i.set6Angles(R,w);const y=_e(i,d,R,w,h,t.gw2Position);y.prepare();for(const x of y.getContours())n.addDynamics(x);n.addPoints(y.getContactPoint()),d.set6Angles(y.getInitAngle2(),w+Math.PI),s.logstr+=y.getMsg(),i.set7InvoluteDetails(t.involArcPairs1,t.skinThickness1),d.set7InvoluteDetails(t.involArcPairs2,t.skinThickness2);for(const x of i.getRefCircles())n.addDynamics(x);for(const x of d.getRefCircles())n.addDynamics(x);n.addDynamics(i.getToothRef()),n.addDynamics(d.getToothRef());const k=i.getProfile();if(s.logstr+=i.getMsg(),s.logstr+=k.check(),n.addMain(k),t.centralAxis===1){const x=fe(i.cx,i.cy,t.axisRadius,t.ribNb,t.ribWidth,t.ribHeight,t.ribRound1,t.ribRound2,R);s.logstr+=x.check(),n.addMain(x)}if(t.hollow===1){const x=i.br,b=t.axisRadius+t.ribHeight,v=x-t.materialHeightExt,S=b+t.materialHeightInt;if(S>v)throw`err902: hollowMaterialInt ${f(S)} bigger than hollowMaterialExt ${f(v)}`;const H=Le(i.cx,i.cy,v,S,t.spokeNb,t.spokeWidth,t.spokeRound,R);for(const I of H)s.logstr+=I.check(),n.addMain(I)}const P=d.getProfile();s.logstr+=P.check(),n.addSecond(P);const L=i.ar+t.wheelRadiusExtra;if(t.wheelAxis===1){const x=qt(t.wheelHeight,t.wheelMidExtra,t.wheelAxisLength,t.wheelAxisRadius,t.wheelMidRadius,L,t.wheelAxisExtRound,t.wheelAxisIntRound,t.wheelExtraRound,!0),b=qt(t.wheelHeight,t.wheelMidExtra,t.wheelAxisLength,t.wheelAxisRadius,t.wheelMidRadius,L,t.wheelAxisExtRound,t.wheelAxisIntRound,t.wheelExtraRound,!1);o.addMain(x),o.addSecond(b)}else{const x=B(0,-t.wheelHeight/2).addSegStrokeR(0,t.wheelHeight).addSegStrokeR(L,0).addSegStrokeR(0,-t.wheelHeight).closeSegStroke(),b=B(0,-t.wheelHeight/2).addSegStrokeR(0,t.wheelHeight).addSegStrokeR(-L,0).addSegStrokeR(0,-t.wheelHeight).closeSegStroke();o.addMain(x),o.addSecond(b)}s.fig={teethProfile:n,axisProfile:o};const A=s.partName,D=t.wheelHeight/2+t.wheelMidExtra+t.wheelAxisLength+10;s.vol={extrudes:[{outName:`subpax_${A}_teethProfile`,face:`${A}_teethProfile`,extrudeMethod:O.eLinearOrtho,length:2*D,rotate:[0,0,0],translate:[0,0,-D]},{outName:`subpax_${A}_axisProfile`,face:`${A}_axisProfile`,extrudeMethod:O.eRotate,rotate:[0,0,0],translate:[0,0,0]}],volumes:[{outName:`pax_${A}`,boolMethod:Z.eIntersection,inList:[`subpax_${A}_teethProfile`,`subpax_${A}_axisProfile`]}]},s.logstr+=`gear_wheel_wheel drawn successfully!
|
|
23
|
+
`,s.calcErr=!1}catch(i){s.logstr+=i,console.log(i)}return s}var Vt={pTitle:"Gearwheel-gearwheel",pDescription:"Gear-system with two wheels",pDef:Yt,pGeom:Se},Xt={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),rt("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),rt("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),rt("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 we(l,t){const s=it(Xt.partName),n=C(),o=C();s.logstr+=`${s.partName} simTime: ${l}
|
|
24
|
+
`;try{const i=dt(Vt.pDef);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=Vt.pGeom(l,i.getParamVal());ct(d),s.logstr+=ht(d.logstr,i.partName),n.mergeFigure(d.fig.teethProfile),o.mergeFigure(d.fig.axisProfile),s.fig={teethProfile:n,axisProfile:o};const w=s.partName;s.vol={inherits:[{outName:`inpax_${w}_gearWW`,subdesign:"pax_gear_wheel_wheel",subgeom:d,rotate:[0,0,0],translate:[0,0,0]}],extrudes:[],volumes:[{outName:`pax_${w}`,boolMethod:Z.eIdentity,inList:[`inpax_${w}_gearWW`]}]};const u={partName:i.getPartName(),dparam:i.getDesignParamList(),orientation:[0,0,0],position:[0,0,0]};s.sub={gear_wheel_wheel_1:u},s.logstr+=`simplified_gear_wheel drawn successfully!
|
|
25
|
+
`,s.calcErr=!1}catch(i){s.logstr+=i,console.log(i)}return s}var He={pTitle:"Simplified gearwheel",pDescription:"One simplified gearwheel without details on teeth-profile",pDef:Xt,pGeom:we},jt={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),e("E1","mm",30,1,80,1),e("E2","mm",5,1,80,1),e("N1","",32,3,100,1),e("D5","mm",40,1,100,1),e("L1","mm",45,1,300,1),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)],paramSvg:{D1:"pole_stator_cut.svg",D2:"pole_stator_cut.svg",D3:"pole_stator_cut.svg",H1:"pole_stator_cut.svg",H2:"pole_stator_cut.svg",E1:"pole_stator_cut.svg",E2:"pole_stator_E2.svg",N1:"pole_stator_bottom.svg",D5:"pole_stator_bottom.svg",L1:"pole_stator_bottom.svg",D4:"pole_stator_face.svg",H3:"pole_stator_face.svg",H4:"pole_stator_face.svg",L2:"pole_stator_face.svg",E3:"pole_stator_right.svg"},sim:{tMax:180,tStep:.5,tUpdate:500}};function De(l,t){let s,n;const o=it(jt.partName),i=C(),d=C(),w=C(),u=C(),a=C();o.logstr+=`${o.partName} simTime: ${l}
|
|
26
|
+
`;try{const h=t.D1/2,g=t.D2/2,r=t.D3/2;if(g>h)throw`err091: D2 ${t.D2} is larger than D1 ${t.D1}`;if(r+t.E2>h)throw`err095: D3 ${t.D3} and E2 ${t.E2} are too large compare to D1 ${t.D1}`;const c=t.H1+t.H2;o.logstr+=`pole-height: ${f(c)} mm
|
|
27
|
+
`;const _=Math.atan2(h-g,t.H2);o.logstr+=`cone-half-angle: ${f(ot(_))} degree
|
|
28
|
+
`;const R=t.E2*Math.tan(_/2),y=t.H1-R;s=function(v,S){const H=B(v*h,0).addSegStrokeA(v*h,t.H1).addSegStrokeA(v*g,c).addSegStrokeR(-v*t.E2*Math.cos(_),-t.E2*Math.sin(_)).addSegStrokeA(v*(h-t.E2),y);return S?H.addSegStrokeA(v*(h-t.E2),t.E1).addSegStrokeA(v*r,t.E1).addSegStrokeA(v*r,0):H.addSegStrokeA(v*(h-t.E2),0),H.closeSegStroke(),H},i.addMain(s(1,!1)),i.addSecond(s(1,!0)),i.addSecond(s(-1,!0));const k=t.D4/2,P=t.H4-2*k;if(P<0)throw`err121: H4 ${t.H4} is too small compare to D4 ${t.D4}`;if(k-t.L2<0)throw`err121: D4 ${t.D4} is too small compare to L2 ${t.L2}`;n=function(v){const S=k-v,H=t.H3+k;return B(S,H+P).addPointR(-S,S).addSegArc(S,!1,!0).addPointR(-S,-S).addSegArc(S,!1,!0).addSegStrokeR(0,-P).addPointR(S,-S).addSegArc(S,!1,!0).addPointR(S,S).addSegArc(S,!1,!0).closeSegStroke()},d.addMain(n(0)),d.addMain(n(t.L2));const L=B(h,0).addSegStrokeA(h,t.H1).addSegStrokeA(g,c).addSegStrokeA(-g,c).addSegStrokeA(-h,t.H1).addSegStrokeA(-h,0).closeSegStroke();d.addSecond(L);const A=B(-h,t.H3).addSegStrokeR(0,t.H4).addSegStrokeR(-t.E3,0).addSegStrokeR(0,-t.H4).closeSegStroke();d.addSecond(A),w.addMain(M(0,0,h)),w.addMain(M(0,0,r));const D=r+t.L1,x=2*Math.PI/t.N1;for(let v=0;v<t.N1;v++){const S=D*Math.cos(v*x),H=D*Math.sin(v*x);w.addMain(M(S,H,t.D5/2))}w.addSecond(M(0,0,g)),w.addSecond(M(0,0,h-t.E2)),u.addMain(M(0,0,h+t.E3)),u.addMain(M(0,0,h-t.E2)),a.addMain(n(t.L2)),o.fig={poleCut:i,poleFace:d,poleBottom:w,emptyPole:u,emptyDoor:a};const b=o.partName;o.vol={extrudes:[{outName:`subpax_${b}_pole`,face:`${b}_poleCut`,extrudeMethod:O.eRotate,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${b}_bottom`,face:`${b}_poleBottom`,extrudeMethod:O.eLinearOrtho,length:t.E1,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${b}_door`,face:`${b}_poleFace`,extrudeMethod:O.eLinearOrtho,length:h+t.E3,rotate:[Math.PI/2,0,0],translate:[0,0,0]},{outName:`subpax_${b}_emptyPole`,face:`${b}_emptyPole`,extrudeMethod:O.eLinearOrtho,length:t.H1,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${b}_emptyDoor`,face:`${b}_emptyDoor`,extrudeMethod:O.eLinearOrtho,length:h+t.E3+10,rotate:[Math.PI/2,0,0],translate:[0,0,0]}],volumes:[{outName:`ipax_${b}_door`,boolMethod:Z.eIntersection,inList:[`subpax_${b}_door`,`subpax_${b}_emptyPole`]},{outName:`ipax_${b}_pole`,boolMethod:Z.eSubstraction,inList:[`subpax_${b}_pole`,`subpax_${b}_emptyDoor`]},{outName:`pax_${b}`,boolMethod:Z.eUnion,inList:[`ipax_${b}_pole`,`subpax_${b}_bottom`,`ipax_${b}_door`]}]},o.sub={},o.logstr+=`pole_static drawn successfully!
|
|
29
|
+
`,o.calcErr=!1}catch(h){o.logstr+=h,console.log(h)}return o}var Dt={pTitle:"Heliostat pole static",pDescription:"The vertical pole of an heliostat",pDef:jt,pGeom:De},Zt={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),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("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),e("N1","",24,3,100,1),e("D7","mm",40,1,100,1),e("L1","mm",30,1,300,1),e("D8","mm",400,1,1e3,10),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 be(l,t){let s,n,o;const i=it(Zt.partName),d=C(),w=C(),u=C(),a=C(),h=C(),g=C(),r=C(),c=C();i.logstr+=`${i.partName} simTime: ${l}
|
|
30
|
+
`;try{const _=t.D1/2,R=t.D2/2,y=t.D3/2,k=t.D4/2,P=t.D5/2,L=t.D6/2,A=t.D7/2,D=t.D8/2,x=t.H1+t.H2,b=x-t.H4+t.H5;if(i.logstr+=`cone-height: ${f(x)} mm
|
|
31
|
+
`,i.logstr+=`cone-height total: ${f(b)} mm
|
|
32
|
+
`,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+k>t.H2)throw`err119: H4 ${t.H4} is too large compare to H2 ${t.H2} and D4 ${t.D4}`;if(t.E4>k)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 v=4*t.L4+t.L5+2*t.L6,S=t.H1+t.H2-t.H4,H=k*Math.cos(Math.PI/6),I=k*Math.sin(Math.PI/6),E=P*Math.cos(Math.PI/6),U=P*Math.sin(Math.PI/6),F=D*Math.cos(Math.PI/6),T=D*Math.sin(Math.PI/6),G=[-v/2,-t.L5/2-t.L4,t.L5/2,v/2-t.L4],Y=t.H2-t.L8-t.H4-k;if(Y<0)throw`err140: H2 ${t.H2} too small compare to L8 ${t.L8}, H4 ${t.H4} and D4 ${t.D4}`;const j=Math.atan2(_-R,t.H2);i.logstr+=`cone-angle: ${f(ot(j))} degree
|
|
33
|
+
`;const K=v/2-t.L7-_+t.L8*Math.tan(j),et=Math.sqrt(K**2+Y**2),W=Math.atan2(K,Y);i.logstr+=`wing-angle: ${f(ot(W))} degree
|
|
34
|
+
`;const m=t.E1/Math.sin(W+j),z=et+t.E4/Math.cos(W)+m,N=_-t.L8*Math.tan(j)-m*Math.sin(W),$=t.H1+t.L8-m*Math.cos(W),Q=N-L*Math.cos(W),X=$+L*Math.sin(W),J=L-t.E6,nt=N-t.E6*Math.cos(W),lt=$+t.E6*Math.sin(W),ut=Math.PI/2-W,Lt=t.L9/2,_t=Lt-t.H7*Math.tan(j);if(_t<t.R9)throw`err177: R9 ${t.R9} too large compare to doorHighX ${_t} 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(j),Pt=t.E1*Math.sin(j),mt=t.E1*Math.tan(j/2);s=function(q){return B(q*_,0).addSegStrokeA(q*_,t.H1).addSegStrokeA(q*R,x).addSegStrokeA(q*(R-Ht),x-Pt).addSegStrokeA(q*(_-t.E1),t.H1-mt).addSegStrokeA(q*(_-t.E1),0).closeSegStroke()},n=function(q){return B(q*_,0).addSegStrokeA(q*_,t.H1).addSegStrokeA(q*R,x).addSegStrokeA(q*(R-Ht),x-Pt).addSegStrokeA(q*(_-t.E1),t.H1-mt).addSegStrokeA(q*(_-t.E1),t.H1-t.H3).addSegStrokeA(q*y,t.H1-t.H3).addSegStrokeA(q*y,t.H1-t.H3-t.E3).addSegStrokeA(q*(_-t.E1),t.H1-t.H3-t.E3).addSegStrokeA(q*(_-t.E1),0).closeSegStroke()},o=function(q,at,ft,vt,Mt){const Bt=q*Math.cos(Mt),Ut=q*Math.sin(Mt),pt=-at*Math.sin(Mt),Gt=at*Math.cos(Mt);return B(ft,vt).addSegStrokeA(ft+Bt,vt+Ut).addSegStrokeA(ft+Bt+pt,vt+Ut+Gt).addSegStrokeA(ft+pt,vt+Gt).closeSegStroke()};const At=B(Lt,t.H1+t.H6).addCornerRounded(t.R9).addSegStrokeA(_t,t.H1+t.H6+t.H7).addCornerRounded(t.R9).addSegStrokeA(-_t,t.H1+t.H6+t.H7).addCornerRounded(t.R9).addSegStrokeA(-Lt,t.H1+t.H6).addCornerRounded(t.R9).closeSegStroke();d.addMain(s(1)),d.addSecond(n(1)),d.addSecond(n(-1)),d.addSecond(o(v,t.D4,-v/2,S-k,0)),d.addSecond(o(v,t.D4-2*t.E4,-v/2,S-k+t.E4,0));for(const q of G)d.addSecond(o(t.L4,t.H5-I-U,q,S+I,0));d.addSecond(o(z,2*L,N,$,ut)),d.addSecond(o(z,2*J,nt,lt,ut)),d.addSecond(o(2*L,z,-N,$,W)),d.addSecond(o(2*J,z,-nt,lt,W)),d.addSecond(At);const Rt=B(H,S+I).addSegStrokeA(F,S+t.H5-T).addSegStrokeA(E,S+t.H5-U).addPointA(-E,S+t.H5-U).addSegArc(P,!1,!1).addSegStrokeA(-F,S+t.H5-T).addSegStrokeA(-H,S+I).closeSegArc(k,!1,!1);w.addMain(M(0,S,k)),w.addMain(M(0,S,k-t.E4)),w.addSecond(n(1)),w.addSecond(n(-1)),w.addSecond(Rt),w.addSecond(M(0,S+t.H5,P)),w.addSecond(o(2*L,Y,-L,t.H1+t.L8,0)),w.addSecond(o(2*J,Y,-J,t.H1+t.L8,0)),w.addSecond(At),u.addMain(M(0,S,k-t.E4)),u.addSecond(M(0,S,k)),u.addSecond(Rt),a.addMain(M(0,0,_)),a.addMain(M(0,0,y));const Ot=y+t.L1,zt=2*Math.PI/t.N1;for(let q=0;q<t.N1;q++){const at=Ot*Math.cos(q*zt),ft=Ot*Math.sin(q*zt);a.addMain(M(at,ft,A))}a.addSecond(M(0,0,_-t.E1)),a.addSecond(M(0,0,R)),a.addSecond(o(t.D4,v,-k,-v/2,0)),a.addSecond(o(t.D4-2*t.E4,v,-k+t.E4,-v/2,0));for(const q of G)a.addSecond(o(2*H,t.L4,-H,q,0)),a.addSecond(o(2*E,t.L4,-E,q,0)),a.addSecond(o(2*F,t.L4,-F,q,0));a.addSecond(o(2*L,K,-L,_-t.L8*Math.tan(j),0)),a.addSecond(o(2*J,K,-J,_-t.L8*Math.tan(j),0)),a.addSecond(o(2*L,K,-L,-_+t.L8*Math.tan(j)-K,0)),a.addSecond(o(2*J,K,-J,-_+t.L8*Math.tan(j)-K,0)),h.addMain(Rt),h.addSecond(M(0,S,k)),h.addSecond(M(0,S,k-t.E4)),h.addSecond(M(0,S+t.H5,P)),g.addMain(M(0,0,L)),g.addMain(M(0,0,J)),r.addSecond(M(0,0,L)),r.addMain(M(0,0,J)),c.addMain(At),c.addSecond(n(1)),c.addSecond(n(-1)),c.addSecond(o(v,t.D4,-v/2,S-k,0)),c.addSecond(o(v,t.D4-2*t.E4,-v/2,S-k+t.E4,0));for(const q of G)c.addSecond(o(t.L4,t.H5-I-U,q,S+I,0));c.addSecond(o(z,2*L,N,$,ut)),c.addSecond(o(z,2*J,nt,lt,ut)),c.addSecond(o(2*L,z,-N,$,W)),c.addSecond(o(2*J,z,-nt,lt,W)),i.fig={faceCone:d,faceBeam:w,faceBeamHollow:u,faceDisc:a,faceHand:h,faceWing:g,faceWingHollow:r,faceDoor:c};const p=i.partName,ne=G.map((q,at)=>({outName:`subpax_${p}_hand_${at}`,face:`${p}_faceHand`,extrudeMethod:O.eLinearOrtho,length:t.L4,rotate:[Math.PI/2,0,0],translate:[0,-q,0]}));i.vol={extrudes:[{outName:`subpax_${p}_cone`,face:`${p}_faceCone`,extrudeMethod:O.eRotate,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${p}_beam`,face:`${p}_faceBeam`,extrudeMethod:O.eLinearOrtho,length:v,rotate:[Math.PI/2,0,0],translate:[0,v/2,0]},{outName:`subpax_${p}_beamHollow`,face:`${p}_faceBeamHollow`,extrudeMethod:O.eLinearOrtho,length:v,rotate:[Math.PI/2,0,0],translate:[0,v/2,0]},{outName:`subpax_${p}_disc`,face:`${p}_faceDisc`,extrudeMethod:O.eLinearOrtho,length:t.E3,rotate:[0,0,0],translate:[0,0,t.H1-t.H3-t.E3]},{outName:`subpax_${p}_wing_right`,face:`${p}_faceWing`,extrudeMethod:O.eLinearOrtho,length:z,rotate:[-W,0,0],translate:[0,Q,X]},{outName:`subpax_${p}_wing_left`,face:`${p}_faceWing`,extrudeMethod:O.eLinearOrtho,length:z,rotate:[W,0,0],translate:[0,-Q,X]},{outName:`subpax_${p}_wing_hollow_right`,face:`${p}_faceWingHollow`,extrudeMethod:O.eLinearOrtho,length:z,rotate:[-W,0,0],translate:[0,Q,X]},{outName:`subpax_${p}_wing_hollow_left`,face:`${p}_faceWingHollow`,extrudeMethod:O.eLinearOrtho,length:z,rotate:[W,0,0],translate:[0,-Q,X]},{outName:`subpax_${p}_door`,face:`${p}_faceDoor`,extrudeMethod:O.eLinearOrtho,length:t.D1,rotate:[Math.PI/2,0,Math.PI/2],translate:[0,0,0]},...ne],volumes:[{outName:`ipax_${p}_plus`,boolMethod:Z.eUnion,inList:[`subpax_${p}_cone`,`subpax_${p}_beam`,`subpax_${p}_disc`,`subpax_${p}_hand_0`,`subpax_${p}_hand_1`,`subpax_${p}_hand_2`,`subpax_${p}_hand_3`,`subpax_${p}_wing_right`,`subpax_${p}_wing_left`]},{outName:`ipax_${p}_hollow`,boolMethod:Z.eUnion,inList:[`subpax_${p}_beamHollow`,`subpax_${p}_wing_hollow_right`,`subpax_${p}_wing_hollow_left`,`subpax_${p}_door`]},{outName:`pax_${p}`,boolMethod:Z.eSubstraction,inList:[`ipax_${p}_plus`,`ipax_${p}_hollow`]}]},i.sub={},i.logstr+=`heliostat-rake drawn successfully!
|
|
35
|
+
`,i.calcErr=!1}catch(_){i.logstr+=_,console.log(_)}return i}var bt={pTitle:"Heliostat rake",pDescription:"The rake on top of the pole-rotor of the heliostat",pDef:Zt,pGeom:be},Ct={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),e("L5","mm",2e3,1,8e3,1),e("L6","mm",30,1,100,1),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),e("N1","",6,1,20,1)],paramSvg:{D1:"spider_profile.svg",L1:"spider_profile.svg",L2:"spider_profile.svg",L3:"spider_profile.svg",L4:"spider_profile.svg",L5:"spider_lateral.svg",L6:"spider_lateral.svg",E1:"spider_profile.svg",E2:"spider_profile.svg",E3:"spider_profile.svg",R2:"spider_profile.svg",N1:"spider_lateral.svg"},sim:{tMax:360,tStep:.5,tUpdate:500}};function $e(l,t){let s,n;const o=it(Ct.partName),i=C(),d=C(),w=C();o.logstr+=`${o.partName} simTime: ${l}
|
|
36
|
+
`;try{const u=t.D1/2;if(t.D1<t.E2)throw`err476: D1 ${t.D1} smaller then E2 ${t.E2}`;const a=t.E2/2,h=Math.sqrt(u**2-a**2),g=t.L1+t.L2*Math.sqrt(2),r=t.L2+t.L1*Math.sqrt(2),c=t.L4-r;if(c<t.R2)throw`err984: L4 ${t.L4} too small compare to R2 ${t.R2}`;const _=c*Math.cos(Math.PI/4),R=c*Math.sin(Math.PI/4),y=t.E2*Math.cos(Math.PI/4),k=t.E2*Math.sin(Math.PI/4),P=t.E2*Math.tan(Math.PI/8);if(u<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 L=(t.L3-t.E2)/2*Math.cos(Math.PI/4),A=g+_+L,D=-t.L1-R+L,x=D-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 b=1;t.N1>1&&(b=(t.L5-t.L6)/(t.N1-1));const v=[...Array(t.N1).keys()].map(F=>F*b);s=function(F,T,G){return B(F,T).addSegStrokeA(F+G*Math.cos(Math.PI/4),T-G*Math.sin(Math.PI/4)).addSegStrokeA(F,T-2*G*Math.sin(Math.PI/4)).addSegStrokeA(F-G*Math.cos(Math.PI/4),T-G*Math.sin(Math.PI/4)).closeSegStroke()},n=function(F,T,G,Y){return B(G,Y).addSegStrokeA(G+F,Y).addSegStrokeA(G+F,Y+T).addSegStrokeA(G,Y+T).closeSegStroke()};const S=Math.sin(2*Math.PI*l/Ct.sim.tMax)*Math.PI/2;o.logstr+=`spide leg number: ${t.N1}
|
|
37
|
+
`,o.logstr+=`spide position angle: ${f(ot(S))} degree
|
|
38
|
+
`;const H=B(a,-h).addCornerRounded(t.R2).addSegStrokeA(a,-t.L1).addCornerRounded(t.R2).addSegStrokeA(g,-t.L1).addCornerRounded(t.R2+t.E2).addSegStrokeA(g+_,-t.L1-R).addSegStrokeA(g+_-y,-t.L1-R-k).addSegStrokeA(g-P,-t.L1-t.E2).addCornerRounded(t.R2).addSegStrokeA(-g+P,-t.L1-t.E2).addCornerRounded(t.R2).addSegStrokeA(-g-_+y,-t.L1-R-k).addSegStrokeA(-g-_,-t.L1-R).addSegStrokeA(-g,-t.L1).addCornerRounded(t.R2+t.E2).addSegStrokeA(-a,-t.L1).addCornerRounded(t.R2).addSegStrokeA(-a,-h).addCornerRounded(t.R2).closeSegArc(u,!0,!1);i.addMain(H),i.addMain(M(0,0,u-t.E1)),i.addSecond(s(A,D,t.L3)),i.addSecond(s(A,x,t.L3-2*t.E3)),i.addSecond(s(-A,D,t.L3)),i.addSecond(s(-A,x,t.L3-2*t.E3)),d.addMain(M(0,0,u)),d.addMain(M(0,0,u-t.E1)),d.addMain(s(A,D,t.L3)),d.addMain(s(A,x,t.L3-2*t.E3)),d.addMain(s(-A,D,t.L3)),d.addMain(s(-A,x,t.L3-2*t.E3)),d.addSecond(H),w.addSecond(n(t.L5,t.D1,0,-t.D1/2)),w.addSecond(n(t.L5,t.L3,0,-t.L4-t.L3));for(const F of v)w.addSecond(n(t.L6,t.L4,F,-t.L4));o.fig={faceLegs:i.rotate(0,0,S),faceTube:d.rotate(0,0,S),faceBody:w};const I=o.partName,E=v.map((F,T)=>({outName:`subpax_${I}_leg_${T}`,face:`${I}_faceLegs`,extrudeMethod:O.eLinearOrtho,length:t.L6,rotate:[0,0,0],translate:[0,0,F]})),U=v.map((F,T)=>`subpax_${I}_leg_${T}`);o.vol={extrudes:[{outName:`subpax_${I}_tube`,face:`${I}_faceTube`,extrudeMethod:O.eLinearOrtho,length:t.L5,rotate:[0,0,0],translate:[0,0,0]},...E],volumes:[{outName:`pax_${I}`,boolMethod:Z.eUnion,inList:[`subpax_${I}_tube`,...U]}]},o.sub={},o.logstr+=`heliostat-spider drawn successfully!
|
|
39
|
+
`,o.calcErr=!1}catch(u){o.logstr+=u,console.log(u)}return o}var It={pTitle:"Heliostat spider",pDescription:"The spider part for the control of the inclination of the heliostat",pDef:Ct,pGeom:$e},Jt={partName:"swing",params:[e("L1","mm",12500,100,4e4,10),e("L2","mm",6e3,100,4e4,10),e("L3","mm",500,1,4e3,1),e("L4","mm",600,1,4e3,1),e("L5","mm",2e3,1,1e4,1),e("L6","mm",2e3,1,1e4,1),e("D1","mm",400,1,1e3,1),e("H1","mm",100,1,400,1),e("H2","mm",100,1,400,1),e("H3","mm",100,1,400,1),e("H4","mm",100,1,400,1),e("E1","mm",5,1,80,1),e("E2","mm",3,1,80,1),e("E3","mm",3,1,80,1),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",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 ve(l,t){let s,n;const o=it(Jt.partName),i=C(),d=C(),w=C(),u=C();o.logstr+=`${o.partName} simTime: ${l}
|
|
40
|
+
`;try{const a=t.D1/2;o.logstr+=`swing size: L1 ${f(t.L1)} x L2 ${f(t.L2)} mm
|
|
41
|
+
`,s=function(L,A,D,x){return B(L,A).addSegStrokeA(L+D,A).addSegStrokeA(L+D,A+x).addSegStrokeA(L,A+x).closeSegStroke()},n=function(L,A,D,x,b){return B(L,A).addCornerRounded(b).addSegStrokeA(L+D,A).addCornerRounded(b).addSegStrokeA(L+D,A+x).addCornerRounded(b).addSegStrokeA(L,A+x).addCornerRounded(b).closeSegStroke()},i.addMain(M(0,0,a)),i.addMain(M(0,0,a-t.E1));const h=[-t.L2/2,-t.L3-t.H2,t.L3,t.L2/2-t.H2];for(const L of h)i.addMain(s(L,a-t.H4,t.H2,t.H4)),i.addMain(s(L+t.E2,a-t.H4+t.E2,t.H2-2*t.E2,t.H4-2*t.E2));i.addSecond(s(-t.L2/2,a,t.L2,t.H3));const g=[];g.push(-t.L1/2),g.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 A of[0,t.L4-t.H1])g.push(L+A);for(const L of g)d.addMain(s(L,a,t.H1,t.H3)),d.addMain(s(L+t.E3,a+t.E3,t.H1-2*t.E3,t.H3-2*t.E3));d.addSecond(s(-t.L1/2,-a,t.L1,t.D1)),d.addSecond(s(-t.L1/2,a-t.H4,t.L1,t.H4));for(const L of g)w.addSecond(s(L,-t.L2/2,t.H1,t.L2));for(const L of h)w.addSecond(s(-t.L1/2,L,t.L1,t.H2));w.addSecond(s(-t.L1/2,-a,t.L1,t.D1));for(const L of g)u.addMain(s(L,-t.L2/2,t.H1,t.L2));for(const L of h)u.addMain(s(-t.L1/2,L,t.L1,t.H2));u.addMain(s(-t.L1/2,-a,t.L1,t.D1));const r=-((t.rod1-1)*t.rod2+t.rod3)/2,c=(t.rod3-t.rod4)/2,_=t.rod3/2,R=1.2*t.L2,y=(R-_)/3,k=-R/2;for(let L=0;L<t.rod1;L++){const A=r+L*t.rod2;u.addSecond(s(A+c,k,t.rod4,R));for(let D=0;D<4;D++)u.addSecond(n(A,k+D*y,t.rod3,_,_/4))}o.fig={faceSide:i,faceFace:d,faceTop:w,faceTopWithRods:u};const P=o.partName;o.vol={extrudes:[{outName:`subpax_${P}_side`,face:`${P}_faceSide`,extrudeMethod:O.eLinearOrtho,length:t.L1,rotate:[0,0,0],translate:[0,0,-t.L1/2]},{outName:`subpax_${P}_face`,face:`${P}_faceFace`,extrudeMethod:O.eLinearOrtho,length:t.L2,rotate:[0,Math.PI/2,0],translate:[-t.L2/2,0,0]}],volumes:[{outName:`pax_${P}`,boolMethod:Z.eUnion,inList:[`subpax_${P}_side`,`subpax_${P}_face`]}]},o.sub={},o.logstr+=`heliostat-swing drawn successfully!
|
|
42
|
+
`,o.calcErr=!1}catch(a){o.logstr+=a,console.log(a)}return o}var $t={pTitle:"Heliostat swing",pDescription:"The swing for the heliostat inclination",pDef:Jt,pGeom:ve},Ft={partName:"heliostat",params:[e("H1","mm",3e3,10,4e4,10),e("H2","mm",2500,50,4e4,10),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("H9","mm",100,1,400,1),e("D1","mm",1e3,20,4e3,10),e("D2","mm",700,20,4e3,10),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),e("D8","mm",100,1,1e3,1),e("D9","mm",100,1,1e3,1),e("S1","mm",250,1,800,1),e("S2","mm",200,1,800,1),e("E1","mm",30,1,80,1),e("E2","mm",50,1,80,1),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("L7","mm",100,1,1e3,1),e("L8","mm",200,1,1e3,1),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 Me(l,t){const s=it(Ft.partName),n=C(),o=C();s.logstr+=`${s.partName} simTime: ${l}
|
|
43
|
+
`;try{const i=t.H1+t.H2-t.H3+t.H4+t.H5-t.H6+t.H7;s.logstr+=`heliostat-height: ${f(i)}, diameter ${f(t.D1)} m
|
|
44
|
+
`,s.logstr+=`heliostat-swing-length: ${f(t.L1)}, width ${f(t.L2)} m
|
|
45
|
+
`;const w=(t.al-t.ar)/2-Math.sin(2*Math.PI*l/Ft.sim.tMax)*(t.al+t.ar)/2,u=Et(w);s.logstr+=`swing position angle: ${f(ot(u))} degree
|
|
46
|
+
`;const a=t.H1+t.H2-t.H3,h=a+t.H4+t.H5-t.H6+t.H7,g=h+t.H8,r=dt(Dt.pDef),c=dt(bt.pDef),_=dt(It.pDef),R=dt($t.pDef);r.setVal("H1",t.H1),r.setVal("H2",t.H2),r.setVal("D1",t.D1),r.setVal("D2",t.D2),r.setVal("D3",t.D1-6*t.E1),r.setVal("E1",t.E1),r.setVal("E2",t.E1);const y=32,k=(t.D1-6*t.E1)/(y*4);r.setVal("N1",y),r.setVal("D5",k),r.setVal("L1",t.E1+k/2),r.setVal("H3",t.H1/4),r.setVal("H4",t.H1/2),r.setVal("D4",t.H1/4),r.setVal("L2",t.H1/80),r.setVal("E3",t.H1/80),c.setVal("H1",t.H4),c.setVal("H2",t.H5),c.setVal("H3",t.H4-2*t.E1),c.setVal("D1",t.D3),c.setVal("D2",t.D4),c.setVal("L9",t.D3/2),c.setVal("H7",t.D3/2*1.6),c.setVal("H6",t.D3/20),c.setVal("R9",t.D3/20),c.setVal("E1",t.E1),c.setVal("E3",t.E1),c.setVal("E4",t.E1);const P=t.D2*.6,L=24,A=P/(L*4);if(c.setVal("D3",P),t.D2>t.D3-2*t.E1)throw`err153: D2 ${t.D2} too large compare to D3 ${t.D3} and E1 ${t.E1}`;if(c.setVal("N1",L),c.setVal("D7",A),c.setVal("L1",A),c.setVal("H4",t.H6),c.setVal("D4",t.D5),c.setVal("L7",t.L7),c.setVal("L8",t.L8),c.setVal("D6",t.D9),c.setVal("H5",t.H7+t.H8),c.setVal("D5",t.D6),c.setVal("D8",t.D7),t.D6>=t.D7)throw`err164: D6 ${t.D6} too large compare to D7 ${t.D7}`;const D=t.L4-2*t.L3;if(c.setVal("L4",D),D<=0)throw`err169: L3 ${t.L3} too large compare to L4 ${t.L4}`;c.setVal("L5",t.L5+2*t.L3),c.setVal("L6",t.L6+2*t.L3);const x=t.L5*.96,b=6;if(_.setVal("L5",x),_.setVal("D1",t.D8),_.setVal("L1",t.S1),_.setVal("L2",t.S2),_.setVal("L3",t.E2*2),_.setVal("E1",t.E1),_.setVal("E2",t.E2),_.setVal("E3",t.E1),_.setVal("L4",t.L2/2-t.H8),_.setVal("R2",0),_.setVal("N1",b),_.setVal("L6",x/(b*10)),R.setVal("L2",t.L2),R.setVal("D1",t.D6),R.setVal("H3",t.H9),R.setVal("H4",t.H9),R.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}`;R.setVal("H1",t.L3),R.setVal("H2",t.L3),R.setVal("L4",t.L4),R.setVal("L5",t.L5),R.setVal("L6",t.L6),R.setVal("L3",t.D7);const v=Dt.pGeom(0,r.getParamVal());ct(v),s.logstr+=ht(v.logstr,r.partName);const S=bt.pGeom(0,c.getParamVal());ct(S),s.logstr+=ht(S.logstr,c.partName);const H=It.pGeom(0,_.getParamVal());ct(H),s.logstr+=ht(H.logstr,_.partName);const I=$t.pGeom(0,R.getParamVal());ct(I),s.logstr+=ht(I.logstr,R.partName),n.mergeFigure(v.fig.poleCut),n.mergeFigure(S.fig.faceBeam.translate(0,a)),n.mergeFigure(H.fig.faceLegs.translate(0,h).rotate(0,h,u/2)),n.mergeFigure(I.fig.faceSide.translate(0,g).rotate(0,g,u)),o.mergeFigure(v.fig.poleCut),o.mergeFigure(S.fig.faceCone.translate(0,a)),o.mergeFigure(H.fig.faceBody.translate(-x/2,h)),o.mergeFigure(I.fig.faceFace.translate(0,g)),s.fig={faceSide:n,faceFace:o};const E=s.partName;s.vol={inherits:[{outName:`inpax_${E}_poleStatic`,subdesign:"pax_pole_static",subgeom:v,rotate:[0,0,0],translate:[0,0,0]},{outName:`inpax_${E}_rake`,subdesign:"pax_rake",subgeom:S,rotate:[0,0,0],translate:[0,0,a]},{outName:`inpax_${E}_swing`,subdesign:"pax_swing",subgeom:I,rotate:[Math.PI/2,0,0],translate:[0,0,g]},{outName:`inpax_${E}_spider`,subdesign:"pax_spider",subgeom:H,rotate:[Math.PI/2,0,0],translate:[0,x/2,h]}],extrudes:[],volumes:[{outName:`pax_${E}`,boolMethod:Z.eUnion,inList:[`inpax_${E}_poleStatic`,`inpax_${E}_rake`,`inpax_${E}_swing`,`inpax_${E}_spider`]}]};const U={partName:r.getPartName(),dparam:r.getDesignParamList(),orientation:[0,0,0],position:[0,0,0]},F={partName:c.getPartName(),dparam:c.getDesignParamList(),orientation:[0,0,0],position:[0,0,a]},T={partName:_.getPartName(),dparam:_.getDesignParamList(),orientation:[Math.PI/2,0,0],position:[0,x/2,h]},G={partName:R.getPartName(),dparam:R.getDesignParamList(),orientation:[Math.PI/2,0,0],position:[0,0,g]};s.sub={pole_static_1:U,rake_1:F,spider_1:T,swing_1:G},s.logstr+=`heliostat-overview drawn successfully!
|
|
47
|
+
`,s.calcErr=!1}catch(i){s.logstr+=i,console.log(i)}return s}var ke={pTitle:"Heliostat overview",pDescription:"The heliostat inclination mechanism",pDef:Ft,pGeom:Me},Kt={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),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("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),e("N1","",24,3,100,1),e("D7","mm",40,1,100,1),e("L1","mm",30,1,300,1),e("D8","mm",400,1,1e3,1),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),e("S1","mm",100,1,300,1),e("S2","mm",2e3,1,8e3,1),e("E7","mm",5,1,80,1)],paramSvg:{D1:"rake_face.svg",D2:"rake_face.svg",D3:"rake_face.svg",H1:"rake_face.svg",H2:"rake_face.svg",H3:"rake_face.svg",E1:"rake_face.svg",E3:"rake_face.svg",H4:"rake_side.svg",D4:"rake_side.svg",E4:"rake_side.svg",H5:"rake_side.svg",D5:"rake_side.svg",L4:"rake_face.svg",L5:"rake_face.svg",L6:"rake_face.svg",D6:"rake_face.svg",E6:"rake_face.svg",L7:"rake_face.svg",L8:"rake_face.svg",N1:"rake_top.svg",D7:"rake_top.svg",L1:"rake_top.svg",D8:"rake_side.svg",H6:"rake_door.svg",H7:"rake_door.svg",L9:"rake_door.svg",R9:"rake_door.svg",S1:"rake_side_stopper.svg",S2:"rake_top_stopper.svg",E7:"rake_side_stopper.svg"},sim:{tMax:180,tStep:.5,tUpdate:500}};function xe(l,t){let s;const n=it(Kt.partName),o=C(),i=C(),d=C(),w=C(),u=C(),a=C(),h=C(),g=C(),r=C(),c=C(),_=C(),R=C(),y=C(),k=C(),P=C();n.logstr+=`${n.partName} simTime: ${l}
|
|
48
|
+
`;try{const L=t.D1/2,A=t.H1+t.H2,D=A-t.H4+t.H5;if(n.logstr+=`cone-height: ${f(A)} mm
|
|
49
|
+
`,n.logstr+=`cone-height total: ${f(D)} mm
|
|
50
|
+
`,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}`;const x=D-t.S2;if(x<0)throw`err143: S2 ${t.S2} too large compare to H1H5 ${f(D)}`;const b=t.H1+t.H2-t.H4+t.D4/2,v=t.H1+t.L8-t.S1;s=function(Q,X,J,nt,lt){const ut=Q*Math.cos(lt),Lt=Q*Math.sin(lt),_t=-X*Math.sin(lt),Ht=X*Math.cos(lt);return B(J,nt).addSegStrokeA(J+ut,nt+Lt).addSegStrokeA(J+ut+_t,nt+Lt+Ht).addSegStrokeA(J+_t,nt+Ht).closeSegStroke()};const S=dt(bt.pDef);S.setVal("D1",t.D1),S.setVal("D2",t.D2),S.setVal("D3",t.D3),S.setVal("H1",t.H1),S.setVal("H2",t.H2),S.setVal("H3",t.H3),S.setVal("E1",t.E1),S.setVal("E3",t.E3),S.setVal("H4",t.H4),S.setVal("D4",t.D4),S.setVal("E4",t.E4),S.setVal("H5",t.H5),S.setVal("D5",t.D5),S.setVal("L4",t.L4),S.setVal("L5",t.L5),S.setVal("L6",t.L6),S.setVal("D6",t.D6),S.setVal("E6",t.E6),S.setVal("L7",t.L7),S.setVal("L8",t.L8),S.setVal("N1",t.N1),S.setVal("D7",t.D7),S.setVal("L1",t.L1),S.setVal("D8",t.D8),S.setVal("H6",t.H6),S.setVal("H7",t.H7),S.setVal("L9",t.L9),S.setVal("R9",t.R9);const H=bt.pGeom(0,S.getParamVal());ct(H),n.logstr+=ht(H.logstr,S.partName),o.mergeFigure(H.fig.faceCone),i.mergeFigure(H.fig.faceBeam),d.mergeFigure(H.fig.faceBeamHollow),w.mergeFigure(H.fig.faceDisc),u.mergeFigure(H.fig.faceHand),a.mergeFigure(H.fig.faceWing),h.mergeFigure(H.fig.faceWingHollow),g.mergeFigure(H.fig.faceDoor),r.mergeFigure(H.fig.faceDisc,!0);const I=t.L5/2,E=t.S1/2,U=t.S1-2*t.E7,F=U/2;r.addMain(s(t.S1,t.L5,-L-t.S1,-I,0)),r.addMain(s(U,t.L5,-L-t.E7-U,-I,0)),r.addMain(s(t.S1,t.L5,t.S2-t.S1,-I,0)),r.addMain(s(U,t.L5,t.S2-t.E7-U,-I,0));const T=t.S2-t.S1/2;r.addMain(s(T,t.S1,0,-I,0)),r.addMain(s(T,U,0,-I+t.E7,0)),r.addMain(s(T,t.S1,0,I-t.S1,0)),r.addMain(s(T,U,0,I-t.S1+t.E7,0)),r.addMain(s(T,t.S1,0,-L-t.S1,0)),r.addMain(s(T,U,0,-L-t.S1+t.E7,0)),r.addMain(s(T,t.S1,0,L,0)),r.addMain(s(T,U,0,L+t.E7,0)),c.mergeFigure(H.fig.faceBeam,!0),c.addMain(M(-L-E,x+E,E)),c.addMain(M(-L-E,x+E,F)),c.addMain(M(t.S2-E,b+E,E)),c.addMain(M(t.S2-E,b+E,F)),c.addSecond(s(T,t.S1,0,b,0)),c.addSecond(s(T,U,0,b+t.E7,0));const G=b+t.S1/2-v,Y=Math.sqrt(T**2+G**2),j=Math.atan2(G,T);n.logstr+=`stopper-rod: L ${f(Y)} mm, A ${f(ot(j))} degree
|
|
51
|
+
`;const K=E*Math.sin(j),et=E*Math.cos(j),W=v-et;c.addSecond(s(Y,t.S1,K,W,j));const m=F*Math.sin(j),z=F*Math.cos(j),N=v-z;c.addSecond(s(Y,U,m,N,j)),_.mergeFigure(H.fig.faceBeam,!0),_.addSecond(M(-L-E,x+E,E)),_.addMain(M(-L-E,x+E,F)),_.addSecond(M(t.S2-E,b+E,E)),_.addMain(M(t.S2-E,b+E,F)),R.mergeFigure(H.fig.faceCone,!0),R.addMain(M(-t.L5/2+E,b+E,E)),R.addMain(M(-t.L5/2+E,b+E,F)),R.addMain(M(t.L5/2-E,b+E,E)),R.addMain(M(t.L5/2-E,b+E,F)),y.mergeFigure(H.fig.faceCone,!0),y.addSecond(M(-t.L5/2+E,b+E,E)),y.addMain(M(-t.L5/2+E,b+E,F)),y.addSecond(M(t.L5/2-E,b+E,E)),y.addMain(M(t.L5/2-E,b+E,F)),k.mergeFigure(H.fig.faceCone,!0),k.addMain(M(-L-E,0,E)),k.addMain(M(-L-E,0,F)),k.addMain(M(L+E,0,E)),k.addMain(M(L+E,0,F)),P.mergeFigure(H.fig.faceCone,!0),P.addSecond(M(-L-E,0,E)),P.addMain(M(-L-E,0,F)),P.addSecond(M(L+E,0,E)),P.addMain(M(L+E,0,F)),n.fig={faceCone:o,faceBeam:i,faceBeamHollow:d,faceDisc:w,faceHand:u,faceWing:a,faceWingHollow:h,faceDoor:g,faceStopperTop:r,faceStopperSide:c,faceStopperSideH:_,faceStopperFaceT:R,faceStopperFaceTH:y,faceStopperFaceB:k,faceStopperFaceBH:P};const $=n.partName;n.vol={inherits:[{outName:`inpax_${$}_rake`,subdesign:"pax_rake",subgeom:H,rotate:[0,0,0],translate:[0,0,0]}],extrudes:[{outName:`subpax_${$}_stpSide`,face:`${$}_faceStopperSide`,extrudeMethod:O.eLinearOrtho,length:t.L5,rotate:[Math.PI/2,0,0],translate:[0,t.L5/2,0]},{outName:`subpax_${$}_stpSideH`,face:`${$}_faceStopperSideH`,extrudeMethod:O.eLinearOrtho,length:t.L5,rotate:[Math.PI/2,0,0],translate:[0,t.L5/2,0]},{outName:`subpax_${$}_stpFaceT`,face:`${$}_faceStopperFaceT`,extrudeMethod:O.eLinearOrtho,length:T,rotate:[Math.PI/2,0,Math.PI/2],translate:[0,0,0]},{outName:`subpax_${$}_stpFaceTH`,face:`${$}_faceStopperFaceTH`,extrudeMethod:O.eLinearOrtho,length:T,rotate:[Math.PI/2,0,Math.PI/2],translate:[0,0,0]},{outName:`subpax_${$}_stpFaceB`,face:`${$}_faceStopperFaceB`,extrudeMethod:O.eLinearOrtho,length:Y,rotate:[Math.PI/2-j,0,Math.PI/2],translate:[0,0,v]},{outName:`subpax_${$}_stpFaceBH`,face:`${$}_faceStopperFaceBH`,extrudeMethod:O.eLinearOrtho,length:Y,rotate:[Math.PI/2-j,0,Math.PI/2],translate:[0,0,v]}],volumes:[{outName:`ipax_${$}_plus`,boolMethod:Z.eUnion,inList:[`subpax_${$}_stpSide`,`subpax_${$}_stpFaceT`,`subpax_${$}_stpFaceB`]},{outName:`ipax_${$}_hollow`,boolMethod:Z.eUnion,inList:[`subpax_${$}_stpSideH`,`subpax_${$}_stpFaceTH`,`subpax_${$}_stpFaceBH`]},{outName:`ipax_${$}_stopper`,boolMethod:Z.eSubstraction,inList:[`ipax_${$}_plus`,`ipax_${$}_hollow`]},{outName:`pax_${$}`,boolMethod:Z.eUnion,inList:[`inpax_${$}_rake`,`ipax_${$}_stopper`]}]},n.sub={},n.logstr+=`heliostat-rake drawn successfully!
|
|
52
|
+
`,n.calcErr=!1}catch(L){n.logstr+=L,console.log(L)}return n}var yt={pTitle:"Heliostat rake with stopper",pDescription:"The rake-stopper on top of the pole-rotor of the heliostat",pDef:Kt,pGeom:xe},Tt={partName:"heliostat_2",params:[e("H1","mm",3e3,10,4e4,10),e("H2","mm",2500,50,4e4,10),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("H9","mm",100,1,400,1),e("D1","mm",1e3,20,4e3,10),e("D2","mm",700,20,4e3,10),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),e("D9","mm",100,1,1e3,1),e("E1","mm",30,1,80,1),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("L7","mm",100,1,1e3,1),e("L8","mm",200,1,1e3,1),e("al","degree",80,0,95,1),e("S1","mm",100,1,800,1)],paramSvg:{H1:"heliostat_overview.svg",H2:"heliostat_side.svg",H3:"heliostat2_side_sizing.svg",H4:"heliostat2_side_sizing.svg",H5:"heliostat2_side_sizing.svg",H6:"heliostat2_side_sizing.svg",H7:"heliostat2_side_sizing.svg",H9:"heliostat2_side_sizing.svg",D1:"heliostat2_side_sizing.svg",D2:"heliostat2_side_sizing.svg",D3:"heliostat2_side_sizing.svg",D4:"heliostat2_side_sizing.svg",D5:"heliostat2_side_sizing.svg",D6:"heliostat2_side_sizing.svg",D7:"heliostat2_side_sizing.svg",D9:"heliostat2_face_sizing.svg",E1:"heliostat2_side_sizing.svg",L1:"heliostat2_face_sizing.svg",L2:"heliostat2_side_sizing.svg",L3:"heliostat2_face_sizing.svg",L4:"heliostat2_face_sizing.svg",L5:"heliostat2_face_sizing.svg",L6:"heliostat2_face_sizing.svg",L7:"heliostat2_face_sizing.svg",L8:"heliostat2_face_sizing.svg",al:"heliostat2_side_sizing.svg",S1:"heliostat2_side_sizing.svg"},sim:{tMax:100,tStep:.5,tUpdate:500}};function Ee(l,t){const s=it(Tt.partName),n=C(),o=C(),i=C();s.logstr+=`${s.partName} simTime: ${l}
|
|
53
|
+
`;try{const d=t.H1+t.H2-t.H3+t.H4+t.H5-t.H6+t.H7;s.logstr+=`heliostat-height: ${f(d)}, diameter ${f(t.D1)} m
|
|
54
|
+
`,s.logstr+=`heliostat-swing-length: ${f(t.L1)}, width ${f(t.L2)} m
|
|
55
|
+
`;const w=t.al*l/Tt.sim.tMax,u=Et(w);s.logstr+=`swing position angle: ${f(ot(u))} degree
|
|
56
|
+
`;const a=t.H1+t.H2-t.H3,h=a+t.H4+t.H5-t.H6+t.H7,g=dt(Dt.pDef),r=dt(yt.pDef),c=dt($t.pDef);g.setVal("H1",t.H1),g.setVal("H2",t.H2),g.setVal("D1",t.D1),g.setVal("D2",t.D2),g.setVal("D3",t.D1-6*t.E1),g.setVal("E1",t.E1),g.setVal("E2",t.E1);const _=32,R=(t.D1-6*t.E1)/(_*4);g.setVal("N1",_),g.setVal("D5",R),g.setVal("L1",t.E1+R/2),g.setVal("H3",t.H1/4),g.setVal("H4",t.H1/2),g.setVal("D4",t.H1/4),g.setVal("L2",t.H1/80),g.setVal("E3",t.H1/80),r.setVal("H1",t.H4),r.setVal("H2",t.H5),r.setVal("H3",t.H4-2*t.E1),r.setVal("D1",t.D3),r.setVal("D2",t.D4),r.setVal("L9",t.D3/2),r.setVal("H7",t.D3/2*1.6),r.setVal("H6",t.D3/20),r.setVal("R9",t.D3/20),r.setVal("E1",t.E1),r.setVal("E3",t.E1),r.setVal("E4",t.E1),r.setVal("E6",t.E1),r.setVal("E7",t.E1);const y=t.D2*.6,k=24,P=y/(k*4);if(r.setVal("D3",y),t.D2>t.D3-2*t.E1)throw`err153: D2 ${t.D2} too large compare to D3 ${t.D3} and E1 ${t.E1}`;if(r.setVal("N1",k),r.setVal("D7",P),r.setVal("L1",P),r.setVal("H4",t.H6),r.setVal("D4",t.D5),r.setVal("L7",t.L7),r.setVal("L8",t.L8),r.setVal("D6",t.D9),r.setVal("H5",t.H7),r.setVal("D5",t.D6),r.setVal("D8",t.D7),t.D6>=t.D7)throw`err164: D6 ${t.D6} too large compare to D7 ${t.D7}`;const L=t.L4-2*t.L3;if(r.setVal("L4",L),L<=0)throw`err169: L3 ${t.L3} too large compare to L4 ${t.L4}`;if(r.setVal("L5",t.L5+2*t.L3),r.setVal("L6",t.L6+2*t.L3),r.setVal("S1",t.S1),r.setVal("S2",t.L2/2),c.setVal("L2",t.L2),c.setVal("D1",t.D6),c.setVal("H3",t.H9),c.setVal("H4",t.H9),c.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}`;c.setVal("H1",t.L3),c.setVal("H2",t.L3),c.setVal("L4",t.L4),c.setVal("L5",t.L5),c.setVal("L6",t.L6),c.setVal("L3",t.D7);const A=Dt.pGeom(0,g.getParamVal());ct(A),s.logstr+=ht(A.logstr,g.partName);const D=yt.pGeom(0,r.getParamVal());ct(D),s.logstr+=ht(D.logstr,r.partName);const x=$t.pGeom(0,c.getParamVal());ct(x),s.logstr+=ht(x.logstr,c.partName),n.mergeFigure(A.fig.poleCut),n.mergeFigure(D.fig.faceStopperSide.translate(0,a)),n.mergeFigure(x.fig.faceSide.translate(0,h).rotate(0,h,u)),o.mergeFigure(A.fig.poleCut),o.mergeFigure(D.fig.faceStopperFaceT.translate(0,a)),o.mergeFigure(x.fig.faceFace.translate(0,h)),i.mergeFigure(A.fig.poleBottom.translate(0,0)),i.mergeFigure(D.fig.faceStopperTop.translate(0,0)),i.mergeFigure(x.fig.faceTop.rotate(0,0,Math.PI/2)),s.fig={faceSide:n,faceFace:o,faceTop:i};const b=s.partName;s.vol={inherits:[{outName:`inpax_${b}_poleStatic`,subdesign:"pax_pole_static",subgeom:A,rotate:[0,0,0],translate:[0,0,0]},{outName:`inpax_${b}_rake`,subdesign:"pax_rake_stopper",subgeom:D,rotate:[0,0,0],translate:[0,0,a]},{outName:`inpax_${b}_swing`,subdesign:"pax_swing",subgeom:x,rotate:[Math.PI/2,0,0],translate:[0,0,h]}],extrudes:[],volumes:[{outName:`pax_${b}`,boolMethod:Z.eUnion,inList:[`inpax_${b}_poleStatic`,`inpax_${b}_rake`,`inpax_${b}_swing`]}]};const v=g.getDesignParamList(),S={partName:g.getPartName(),dparam:v,orientation:[0,0,0],position:[0,0,0]},H={partName:r.getPartName(),dparam:r.getDesignParamList(),orientation:[0,0,0],position:[0,0,a]},I={partName:c.getPartName(),dparam:c.getDesignParamList(),orientation:[0,0,0],position:[0,0,h]};s.sub={pole_static_1:S,rake_1:H,swing_1:I},s.logstr+=`heliostat-2-overview drawn successfully!
|
|
57
|
+
`,s.calcErr=!1}catch(d){s.logstr+=d,console.log(d)}return s}var Pe={pTitle:"Heliostat-2 overview",pDescription:"The heliostat-2 inclination mechanism",pDef:Tt,pGeom:Ee},Qt={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),e("H3","mm",400,10,4e3,10),e("N2","",12,1,100,1),e("L2","mm",100,1,400,1),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 Ae(l,t){let s,n,o;const i=it(Qt.partName),d=C(),w=C(),u=C();i.logstr+=`${i.partName} simTime: ${l}
|
|
58
|
+
`;try{const a=t.D1/2,h=t.D2/2,g=t.D3/2,r=t.D4/2,c=t.D5/2,_=t.L2/2;if(h<a)throw`err089: D2 ${t.D2} too small compare to D1 ${t.D1}`;if(r>a-t.E2)throw`err189: D4 ${t.D4} too large compare to D1 ${t.D1} and E2 ${t.E2}`;i.logstr+=`base-height: ${f(t.H1)} mm
|
|
59
|
+
`,i.logstr+=`base-external-diameter: ${f(t.D2)} mm
|
|
60
|
+
`;const R=t.D1*Math.PI/t.N2-t.L2;if(i.logstr+=`inter-hollow: ${f(R)} mm
|
|
61
|
+
`,s=function(H){return B(H*h,0).addSegStrokeA(H*h,t.E3).addSegStrokeA(H*a,t.E3).addSegStrokeA(H*a,t.H1).addSegStrokeA(H*(a-t.E2),t.H1).addSegStrokeA(H*(a-t.E2),t.E3).addSegStrokeA(H*r,t.E3).addSegStrokeA(H*r,0).closeSegStroke()},n=function(H){return B(H*h,0).addSegStrokeA(H*h,t.E3).addSegStrokeA(H*a,t.E3).addSegStrokeA(H*a,t.H1).addSegStrokeA(H*g,t.H1).addSegStrokeA(H*g,t.H1-t.E1).addSegStrokeA(H*(a-t.E2),t.H1-t.E1).addSegStrokeA(H*(a-t.E2),t.E3).addSegStrokeA(H*r,t.E3).addSegStrokeA(H*r,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 y=2*Math.asin(_/(a-t.E2));if(t.N2*y>2*Math.PI)throw`err132: N2 ${t.N2} too large compare to L2 ${t.L2}, D1 ${t.D1}, E2 ${t.E2}`;const k=t.E3+t.H2+_;if(o=function(H){return B(H*_,k).addSegStrokeA(H*_,k+t.H3-t.L2).addPointA(-H*_,k+t.H3-t.L2).addSegArc(_,!1,!0).addSegStrokeA(-H*_,k).closeSegArc(_,!1,!0)},d.addMain(s(1)),d.addSecond(n(1)),d.addSecond(n(-1)),d.addSecond(o(1)),g+t.L1+c>a-t.E2)throw`err127: D3 ${t.D3} too large compare to D1 ${t.D1}, E2 ${t.E2}, L1 ${t.L1}, R5 ${t.D5}`;if(c>t.L1)throw`err130: D5 ${t.D5} too large compare to L1 ${t.L1}`;const P=2*Math.asin(c/(h+t.L1));if(t.N1*P>2*Math.PI)throw`err134: N1 ${t.N1} too large compare to D5 ${t.D5}, L1 ${t.L1}, D2 ${t.D2}`;w.addMain(M(0,0,a)),w.addMain(M(0,0,g));const L=g+t.L1,A=2*Math.PI/t.N1;for(let H=0;H<t.N1;H++){const I=L*Math.cos(H*A),E=L*Math.sin(H*A);w.addMain(M(I,E,c))}w.addSecond(M(0,0,a-t.E1)),w.addSecond(M(0,0,h)),w.addSecond(M(0,0,r)),u.addMain(o(1)),u.addSecond(n(1)),u.addSecond(n(-1)),i.fig={faceCut:d,faceTop:w,faceHollow:u};const D=i.partName,x=2*Math.PI/t.N2,b=[...Array(t.N2).keys()],v=b.map(H=>({outName:`subpax_${D}_hollow_${H}`,face:`${D}_faceHollow`,extrudeMethod:O.eLinearOrtho,length:h+t.E2,rotate:[Math.PI/2,0,H*x],translate:[0,0,0]})),S=b.map(H=>`subpax_${D}_hollow_${H}`);i.vol={extrudes:[{outName:`subpax_${D}_cut`,face:`${D}_faceCut`,extrudeMethod:O.eRotate,rotate:[0,0,0],translate:[Math.PI/2,0,0]},{outName:`subpax_${D}_top`,face:`${D}_faceTop`,extrudeMethod:O.eLinearOrtho,length:t.E1,rotate:[0,0,0],translate:[0,0,t.H1-t.E1]},...v],volumes:[{outName:`ipax_${D}_hollows`,boolMethod:Z.eUnion,inList:[...S]},{outName:`ipax_${D}_cylinder`,boolMethod:Z.eSubstraction,inList:[`subpax_${D}_cut`,`ipax_${D}_hollows`]},{outName:`pax_${D}`,boolMethod:Z.eUnion,inList:[`ipax_${D}_cylinder`,`subpax_${D}_top`]}]},i.sub={},i.logstr+=`heliostat-base drawn successfully!
|
|
62
|
+
`,i.calcErr=!1}catch(a){i.logstr+=a,console.log(a)}return i}var Re={pTitle:"Heliostat base",pDescription:"The base for the static-pole of the heliostat",pDef:Qt,pGeom:Ae},te={partName:"pole_rotor",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),e("N1","",24,3,100,1),e("D3","mm",40,1,100,1),e("L1","mm",45,1,300,1)],paramSvg:{D1:"pole_rotor_cut.svg",D2:"pole_rotor_cut.svg",H1:"pole_rotor_cut.svg",E1:"pole_rotor_cut.svg",E2:"pole_rotor_cut.svg",N1:"pole_rotor_ends.svg",D3:"pole_rotor_ends.svg",L1:"pole_rotor_ends.svg"},sim:{tMax:180,tStep:.5,tUpdate:500}};function Ne(l,t){let s;const n=it(te.partName),o=C(),i=C();n.logstr+=`${n.partName} simTime: ${l}
|
|
63
|
+
`;try{const d=t.D1/2,w=t.D2/2,u=t.D3/2;n.logstr+=`pole-height: ${f(t.H1)} mm
|
|
64
|
+
`;const a=B(d,0).addSegStrokeA(d,t.H1).addSegStrokeA(d-t.E1,t.H1).addSegStrokeA(d-t.E1,0).closeSegStroke();o.addMain(a),s=function(c){return B(c*d,0).addSegStrokeA(c*d,t.H1).addSegStrokeA(c*w,t.H1).addSegStrokeA(c*w,t.H1-t.E2).addSegStrokeA(c*(d-t.E1),t.H1-t.E2).addSegStrokeA(c*(d-t.E1),t.E2).addSegStrokeA(c*w,t.E2).addSegStrokeA(c*w,0).closeSegStroke()},o.addSecond(s(1)),o.addSecond(s(-1)),i.addMain(M(0,0,d)),i.addMain(M(0,0,w));const h=w+t.L1,g=2*Math.PI/t.N1;for(let c=0;c<t.N1;c++){const _=h*Math.cos(c*g),R=h*Math.sin(c*g);i.addMain(M(_,R,u))}i.addSecond(M(0,0,d-t.E1)),n.fig={faceCut:o,faceBottom:i};const r=n.partName;n.vol={extrudes:[{outName:`subpax_${r}_pole`,face:`${r}_faceCut`,extrudeMethod:O.eRotate,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${r}_bottom`,face:`${r}_faceBottom`,extrudeMethod:O.eLinearOrtho,length:t.E2,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${r}_top`,face:`${r}_faceBottom`,extrudeMethod:O.eLinearOrtho,length:t.E2,rotate:[0,0,0],translate:[0,0,t.H1-t.E2]}],volumes:[{outName:`pax_${r}`,boolMethod:Z.eUnion,inList:[`subpax_${r}_pole`,`subpax_${r}_bottom`,`subpax_${r}_top`]}]},n.sub={},n.logstr+=`pole_rotor drawn successfully!
|
|
65
|
+
`,n.calcErr=!1}catch(d){n.logstr+=d,console.log(d)}return n}var Ve={pTitle:"Heliostat pole rotor",pDescription:"The vertical axis inside the pole of an heliostat",pDef:te,pGeom:Ne},ee={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("H1","mm",200,5,4e3,1),e("E1","mm",2,1,80,1),e("E2","mm",10,1,80,1),e("N1","",10,2,50,1),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 Ce(l,t){let s,n;const o=it(ee.partName),i=C(),d=C(),w=C();o.logstr+=`${o.partName} simTime: ${l}
|
|
66
|
+
`;try{const u=t.D2/2,a=t.L3/(t.N3+1),h=t.L4/(t.N4+1);o.logstr+=`rod-length: ${f(t.L1)} mm
|
|
67
|
+
`;const g=(t.L1-t.L3)/(t.N1-1);o.logstr+=`space-length: ${f(g)} mm
|
|
68
|
+
`,s=function(D){const x=[],b=B(t.L4/2,D).addCornerRounded(t.R3).addSegStrokeA(t.L4/2,D+t.L3).addCornerRounded(t.R3).addSegStrokeA(-t.L4/2,D+t.L3).addCornerRounded(t.R3).addSegStrokeA(-t.L4/2,D).addCornerRounded(t.R3).closeSegStroke();x.push(b);for(let v=1;v<t.N3+1;v++)x.push(M(t.L4/2-t.L7,D+v*a,u)),x.push(M(-t.L4/2+t.L7,D+v*a,u));for(let v=1;v<t.N4+1;v++)x.push(M(-t.L4/2+v*h,D+t.L7,u)),x.push(M(-t.L4/2+v*h,D+t.L3-t.L7,u));return x},n=function(D,x){return B(t.L2/2,D).addSegStrokeA(t.L2/2,D+x).addSegStrokeA(-t.L2/2,D+x).addSegStrokeA(-t.L2/2,D).closeSegStroke()};const r=t.L2/2,c=t.L4/2,_=(t.L2-2*t.E1)/2,R=t.H1-t.E1,y=B(r,0).addSegStrokeA(r,t.H1).addSegStrokeA(-r,t.H1).addSegStrokeA(-r,0).closeSegStroke(),k=B(_,t.E1).addSegStrokeA(_,R).addSegStrokeA(-_,R).addSegStrokeA(-_,t.E1).closeSegStroke(),P=B(c,t.H1).addSegStrokeA(c,t.H1+t.E2).addSegStrokeA(-c,t.H1+t.E2).addSegStrokeA(-c,t.H1).closeSegStroke();i.addMain(y),i.addMain(k),i.addSecond(P),s(0).forEach(D=>d.addMain(D)),d.addSecond(n(-t.L3/2,2*t.L3));const L=(t.L1-t.L3)/(t.N1-1);for(let D=0;D<t.N1;D++)s(D*L).forEach(x=>w.addMain(x));w.addSecond(n(0,t.L1)),o.fig={faceCut:i,facePlate:d,faceTop:w};const A=o.partName;o.vol={extrudes:[{outName:`subpax_${A}_rod`,face:`${A}_faceCut`,extrudeMethod:O.eLinearOrtho,length:t.L1,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${A}_plates`,face:`${A}_faceTop`,extrudeMethod:O.eLinearOrtho,length:t.E2,rotate:[Math.PI/2,0,0],translate:[0,t.E2+t.H1,0]}],volumes:[{outName:`pax_${A}`,boolMethod:Z.eUnion,inList:[`subpax_${A}_rod`,`subpax_${A}_plates`]}]},o.sub={},o.logstr+=`heliostat-rod drawn successfully!
|
|
69
|
+
`,o.calcErr=!1}catch(u){o.logstr+=u,console.log(u)}return o}var Ie={pTitle:"Heliostat rod",pDescription:"The rod of an heliostat-surface",pDef:ee,pGeom:Ce},se={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),e("N1","",7,1,20,1),e("N2","",4,1,20,1),e("N3","",2,1,20,1),e("N4","",2,1,20,1),e("L5","mm",100,1,400,1),e("L6","mm",20,1,400,1),e("L7","mm",20,1,400,1),e("D1","mm",10,1,40,1),e("D2","mm",10,1,40,1),e("D3","mm",30,1,100,1),e("D4","mm",26,1,100,1),e("R1","mm",60,1,400,1),e("R2","mm",20,1,400,1),e("R3","mm",20,1,400,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 Fe(l,t){let s,n;const o=it(se.partName),i=C(),d=C(),w=C(),u=C(),a=C();o.logstr+=`${o.partName} simTime: ${l}
|
|
70
|
+
`;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 h=t.R1*(1-1/Math.sqrt(2)),g=t.R3*(1-1/Math.sqrt(2)),r=t.L2/2-h-(t.L4/2-g),c=t.L1/2-h-(t.L3/2-g),_=Math.sqrt(r**2+c**2),R=t.H1-t.H2-t.H3,y=Math.sqrt(_**2+R**2),k=Math.atan2(R,_),P=Math.atan2(c,r);o.logstr+=`rod-slope: length: ${f(y)} mm, angle: ${f(ot(k))} degree
|
|
71
|
+
`,o.logstr+=`rod-xy-angle: ${f(ot(P))} degree
|
|
72
|
+
`;const L=t.D3/Math.cos(Math.PI/2-k);o.logstr+=`rod-footprint-length: ${f(L)} mm
|
|
73
|
+
`;const A=Math.sqrt((L/2)**2+(t.D3/2)**2),D=Math.atan2(t.D3,L);if(s=function($,Q,X){return B($,Q).addPointRP(X+Math.PI-D,A).addSeg2Arcs(X+Math.PI/2,X).addPointRP(X+Math.PI+D,A).addSeg2Arcs(X+Math.PI,X+Math.PI/2).addPointRP(X-D,A).addSeg2Arcs(X+3*Math.PI/2,X+Math.PI).addPointRP(X+D,A).addSeg2Arcs(X,X-Math.PI/2)},n=function($,Q,X){const J=$+A*Math.cos(X+Math.PI-D),nt=Q+A*Math.sin(X+Math.PI-D);return B(J,nt).addSegStrokeRP(X+Math.PI,_).addSegStrokeRP(X-Math.PI/2,t.D3).addSegStrokeRP(X,_).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 x=B(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 b=B(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 v=B(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(x),i.addMain(b),i.addSecond(v);const S=t.L1/(t.N1+1),H=t.L2/(t.N2+1),I=t.L3/(t.N3+1),E=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(I<t.D2/2+t.L7)throw`err661: D2 ${t.D2} or L7 ${t.L7} too large compare to L3 ${t.l3}`;if(E<t.D2/2+t.L7)throw`err664: D2 ${t.D2} or L7 ${t.L7} too large compare to L4 ${t.l4}`;const U=[];for(let $=1;$<t.N1+1;$++)U.push(M(t.L2/2-t.L6,-t.L1/2+$*S,t.D1/2)),U.push(M(-t.L2/2+t.L6,-t.L1/2+$*S,t.D1/2));for(let $=1;$<t.N2+1;$++)U.push(M(-t.L2/2+$*H,t.L1/2-t.L6,t.D1/2)),U.push(M(-t.L2/2+$*H,-t.L1/2+t.L6,t.D1/2));const F=[];for(let $=1;$<t.N3+1;$++)F.push(M(t.L4/2-t.L7,-t.L3/2+$*I,t.D2/2)),F.push(M(-t.L4/2+t.L7,-t.L3/2+$*I,t.D2/2));for(let $=1;$<t.N4+1;$++)F.push(M(-t.L4/2+$*E,t.L3/2-t.L7,t.D2/2)),F.push(M(-t.L4/2+$*E,-t.L3/2+t.L7,t.D2/2));U.forEach($=>{i.addMain($)}),F.forEach($=>{i.addSecond($)});const T=[];T.push(s(t.L2/2-h,t.L1/2-h,P)),T.push(s(t.L4/2-g,t.L3/2-g,P)),T.push(s(-t.L2/2+h,t.L1/2-h,Math.PI-P)),T.push(s(-t.L4/2+g,t.L3/2-g,Math.PI-P)),T.push(s(-t.L2/2+h,-t.L1/2+h,Math.PI+P)),T.push(s(-t.L4/2+g,-t.L3/2+g,Math.PI+P)),T.push(s(t.L2/2-h,-t.L1/2+h,-P)),T.push(s(t.L4/2-g,-t.L3/2+g,-P));const G=[];if(G.push(n(t.L2/2-h,t.L1/2-h,P)),G.push(n(-t.L2/2+h,t.L1/2-h,Math.PI-P)),G.push(n(-t.L2/2+h,-t.L1/2+h,Math.PI+P)),G.push(n(t.L2/2-h,-t.L1/2+h,-P)),T.forEach($=>{i.addSecond($)}),G.forEach($=>{i.addSecond($)}),d.addMain(v),F.forEach($=>{d.addMain($)}),d.addSecond(x),d.addSecond(b),U.forEach($=>{d.addSecond($)}),T.forEach($=>{d.addSecond($)}),G.forEach($=>{d.addSecond($)}),t.D4>=t.D3)throw`err218: D4 ${t.D4} larger than D3 ${t.D3}`;w.addMain(M(0,0,t.D3/2)),w.addSecond(M(0,0,t.D4/2)),u.addMain(M(0,0,t.D4/2)),u.addSecond(M(0,0,t.D3/2));const Y=t.D3*Math.cos(k),j=Y/Math.tan(k),K=g+(L/2+j)*Math.cos(P),et=g+(L/2+j)*Math.sin(P),W=y+2*(L+j+Y),m=W+t.L3+t.L4+Y,z=B(m,m).addSegStrokeA(-m,m).addSegStrokeA(-m,-m).addSegStrokeA(m,-m).closeSegStroke();a.addMain(z),o.fig={faceFrame:i,facePlate:d,faceRod:w,faceRodHollow:u,faceCutRod:a};const N=o.partName;o.vol={extrudes:[{outName:`subpax_${N}_frame`,face:`${N}_faceFrame`,extrudeMethod:O.eLinearOrtho,length:t.H2,rotate:[0,0,0],translate:[0,0,t.H1-t.H2]},{outName:`subpax_${N}_plate`,face:`${N}_facePlate`,extrudeMethod:O.eLinearOrtho,length:t.H3,rotate:[0,0,0],translate:[0,0,0]},{outName:`subpax_${N}_rod1`,face:`${N}_faceRod`,extrudeMethod:O.eLinearOrtho,length:W,rotate:[0,Math.PI/2-k,P],translate:[t.L4/2-K,t.L3/2-et,t.H3-Y]},{outName:`subpax_${N}_rod2`,face:`${N}_faceRod`,extrudeMethod:O.eLinearOrtho,length:W,rotate:[0,Math.PI/2-k,Math.PI-P],translate:[-t.L4/2+K,t.L3/2-et,t.H3-Y]},{outName:`subpax_${N}_rod3`,face:`${N}_faceRod`,extrudeMethod:O.eLinearOrtho,length:W,rotate:[0,Math.PI/2-k,Math.PI+P],translate:[-t.L4/2+K,-t.L3/2+et,t.H3-Y]},{outName:`subpax_${N}_rod4`,face:`${N}_faceRod`,extrudeMethod:O.eLinearOrtho,length:W,rotate:[0,Math.PI/2-k,-P],translate:[t.L4/2-K,-t.L3/2+et,t.H3-Y]},{outName:`subpax_${N}_rodH1`,face:`${N}_faceRodHollow`,extrudeMethod:O.eLinearOrtho,length:W,rotate:[0,Math.PI/2-k,P],translate:[t.L4/2-K,t.L3/2-et,t.H3-Y]},{outName:`subpax_${N}_rodH2`,face:`${N}_faceRodHollow`,extrudeMethod:O.eLinearOrtho,length:W,rotate:[0,Math.PI/2-k,Math.PI-P],translate:[-t.L4/2+K,t.L3/2-et,t.H3-Y]},{outName:`subpax_${N}_rodH3`,face:`${N}_faceRodHollow`,extrudeMethod:O.eLinearOrtho,length:W,rotate:[0,Math.PI/2-k,Math.PI+P],translate:[-t.L4/2+K,-t.L3/2+et,t.H3-Y]},{outName:`subpax_${N}_rodH4`,face:`${N}_faceRodHollow`,extrudeMethod:O.eLinearOrtho,length:W,rotate:[0,Math.PI/2-k,-P],translate:[t.L4/2-K,-t.L3/2+et,t.H3-Y]},{outName:`subpax_${N}_cut1`,face:`${N}_faceCutRod`,extrudeMethod:O.eLinearOrtho,length:m,rotate:[0,0,0],translate:[0,0,-m]},{outName:`subpax_${N}_cut2`,face:`${N}_faceCutRod`,extrudeMethod:O.eLinearOrtho,length:m,rotate:[0,0,0],translate:[0,0,t.H1]}],volumes:[{outName:`ipax_${N}_rawRod`,boolMethod:Z.eUnion,inList:[`subpax_${N}_rod1`,`subpax_${N}_rod2`,`subpax_${N}_rod3`,`subpax_${N}_rod4`]},{outName:`ipax_${N}_rodHollow`,boolMethod:Z.eUnion,inList:[`subpax_${N}_rodH1`,`subpax_${N}_rodH2`,`subpax_${N}_rodH3`,`subpax_${N}_rodH4`]},{outName:`ipax_${N}_halfRods`,boolMethod:Z.eSubstraction,inList:[`ipax_${N}_rawRod`,`subpax_${N}_cut1`]},{outName:`ipax_${N}_rods`,boolMethod:Z.eSubstraction,inList:[`ipax_${N}_halfRods`,`subpax_${N}_cut2`]},{outName:`ipax_${N}_plus`,boolMethod:Z.eUnion,inList:[`subpax_${N}_frame`,`subpax_${N}_plate`,`ipax_${N}_rods`]},{outName:`pax_${N}`,boolMethod:Z.eSubstraction,inList:[`ipax_${N}_plus`,`ipax_${N}_rodHollow`]}]},o.sub={},o.logstr+=`trapeze drawn successfully!
|
|
74
|
+
`,o.calcErr=!1}catch(h){o.logstr+=h,console.log(h)}return o}var ye={pTitle:"Heliostat trapeze",pDescription:"The support of one solar panel. Made out of aluminium for lightness and cooling",pDef:se,pGeom:Fe},oe={partName:"surface",params:[e("LH","mm",1600,100,4e3,1),e("LV","mm",1e3,100,4e3,1),e("LZ","mm",40,0,100,1),e("nx","",9,1,40,1),e("ny","",9,1,40,1),wt("main_direction",["horizontal","vertical"]),rt("crenel",!1),e("first_row","",9,1,40,1),e("second_row","",9,1,40,1),e("EH","mm",10,0,1e3,1),rt("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),wt("EH_shape",["sinusoid","triangle","sawUp","sawDown"]),e("EV","mm",10,0,1e3,1),rt("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),wt("EV_shape",["sinusoid","triangle","sawUp","sawDown"]),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 Te(l,t){let s;const n=it(oe.partName),o=C(),i=C();n.logstr+=`${n.partName} simTime: ${l}
|
|
75
|
+
`;try{const d=t.LH*t.LV/1e6,w=t.solar_power*d*t.power_efficiency/100;n.logstr+=`panel surface: ${f(d)} m2
|
|
76
|
+
`,n.logstr+=`panel power: ${f(w)} W
|
|
77
|
+
`;const u=t.nx*t.ny;n.logstr+=`max panel number: ${u}
|
|
78
|
+
`,n.logstr+=`max panel surface: ${f(u*d)} m2
|
|
79
|
+
`,n.logstr+=`max panel power: ${f(u*w)} W
|
|
80
|
+
`;const a=t.main_direction===1?t.ny:t.nx,h=t.main_direction===1?t.nx:t.ny,g=t.main_direction===1?t.EV:t.EH,r=t.main_direction===1?t.EV_gradient:t.EH_gradient,c=t.main_direction===1?t.EV_sup:t.EH_sup,_=t.main_direction===1?t.EV_cycle:t.EH_cycle,R=t.main_direction===1?t.EV_start:t.EH_start,y=t.main_direction===1?t.EV_shape:t.EH_shape,k=t.main_direction===0?t.EV:t.EH,P=t.main_direction===0?t.EV_gradient:t.EH_gradient,L=t.main_direction===0?t.EV_sup:t.EH_sup,A=t.main_direction===0?t.EV_cycle:t.EH_cycle,D=t.main_direction===0?t.EV_start:t.EH_start,x=t.main_direction===0?t.EV_shape:t.EH_shape,b=[];for(let m=0;m<a;m++){const z=(m+1)%2,N=t.crenel?h-z:h;b.push(N)}b[0]=t.first_row,b[b.length-1]=t.first_row,a>2&&(b[1]=t.second_row,b[b.length-2]=t.second_row);let v=0;b.forEach(m=>{v+=m}),n.logstr+=`actual panel number: ${v} (${f(100*v/u)} %)
|
|
81
|
+
`,n.logstr+=`actual panel surface: ${f(v*d)} m2
|
|
82
|
+
`,n.logstr+=`actual panel power: ${f(v*w)} W
|
|
83
|
+
`;const S=[];for(let m=0;m<a-1;m++){let z=g;if(r===1){const N=a>2?a-2:1,$=(R+m*_/N)%1;switch(y){case 0:z+=c*(1-Math.cos($*2*Math.PI))/2;break;case 1:z+=c*(1-2*Math.abs($-.5));break;case 2:z+=c*$;break;case 3:z+=c*(1-$);break;default:z+=c}}S.push(z)}let H=0;const I=[];I.push(0),S.forEach(m=>{H+=m,I.push(H)});const E=[];for(let m=0;m<h-1;m++){let z=k;if(P===1){const N=h>2?h-2:1,$=(D+m*A/N)%1;switch(x){case 0:z+=L*(1-Math.cos($*2*Math.PI))/2;break;case 1:z+=L*(1-2*Math.abs($-.5));break;case 2:z+=L*$;break;case 3:z+=L*(1-$);break;default:z+=L}}E.push(z)}let U=0;const F=[];F.push(0),E.forEach(m=>{U+=m,F.push(U)});let T=0,G=0;t.main_direction===0?(T=a*t.LH+H,G=h*t.LV+U):(T=h*t.LH+U,G=a*t.LV+H);const Y=T*G/10**6;n.logstr+=`global horizontal width: ${f(T/1e3)} m
|
|
84
|
+
`,n.logstr+=`global vertical height: ${f(G/1e3)} m
|
|
85
|
+
`,n.logstr+=`global area: ${f(Y)} m2
|
|
86
|
+
`,n.logstr+=`area efficiency: ${f(100*v*d/Y)} %
|
|
87
|
+
`;const j=-T/2,K=-G/2;s=function(m,z){return B(m,z).addSegStrokeA(m+t.LH,z).addSegStrokeA(m+t.LH,z+t.LV).addSegStrokeA(m,z+t.LV).closeSegStroke()};const et=[];b.forEach((m,z)=>{const N=(h-m)%2,$=Math.floor((h-m)/2);for(let Q=0;Q<m;Q++){let X=0,J=0;t.main_direction===0?(X=j+z*t.LH+I[z],J=K+($+Q)*t.LV+F[$+Q],N===1&&(J+=(t.LV+F[$+Q+1]-F[$+Q])/2)):(J=K+z*t.LV+I[z],X=j+($+Q)*t.LH+F[$+Q],N===1&&(X+=(t.LH+F[$+Q+1]-F[$+Q])/2)),et.push([X,J])}});for(const m of et)o.addMain(s(m[0],m[1]));i.addMain(s(0,0)),n.fig={faceSurface:o,faceOnePanel:i};const W=n.partName;n.vol={extrudes:et.map((m,z)=>({outName:`subpax_${W}_panel_${z}`,face:`${W}_faceOnePanel`,extrudeMethod:O.eLinearOrtho,length:t.LZ,rotate:[0,0,0],translate:[m[0],m[1],0]})),volumes:[{outName:`pax_${W}`,boolMethod:Z.eUnion,inList:et.map((m,z)=>`subpax_${W}_panel_${z}`)}]},n.sub={},n.logstr+=`panel-surface drawn successfully!
|
|
88
|
+
`,n.calcErr=!1}catch(d){n.logstr+=d,console.log(d)}return n}var me={pTitle:"Heliostat panel-surface",pDescription:"The surface collecting the solar power",pDef:oe,pGeom:Te};const ie={"gear/gear_wheel_wheel":Vt,"gear/simplified_gear_wheel":He,"heliostat/heliostat":ke,"heliostat/heliostat_2":Pe,"heliostat/base":Re,"heliostat/pole_static":Dt,"heliostat/pole_rotor":Ve,"heliostat/rake":bt,"heliostat/rake_stopper":yt,"heliostat/spider":It,"heliostat/swing":$t,"heliostat/rod":Ie,"heliostat/trapeze":ye,"heliostat/surface":me};function Oe(l){const t=/^.*\//g;return l.replace(t,"")}function ze(l){const t={};for(const s of Object.keys(l)){const n=Oe(s);t[n]=`/${s}`}return t}function Be(l){const t=[];for(const s of Object.keys(l))t.push(s);return t}const We=ze(ie),qe=Be(ie);export{ie as a,We as b,qe as d};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var s;const e=((s=globalThis.__sveltekit_1nz7l2x)==null?void 0:s.base)??"";var a;const t=((a=globalThis.__sveltekit_1nz7l2x)==null?void 0:a.assets)??e;export{t as a,e as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as e}from"./entry.
|
|
1
|
+
import{s as e}from"./entry.EqOSi-Pf.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
|
-
import{s as q,a as B,p as h,g as U,i as b,f as p,q as j,r as M,e as W,c as z,b as F,m as N,u as d,t as G,d as H,j as J,v as S,w as k,x as K}from"../chunks/scheduler.pWaib8rK.js";import{S as Q,i as X,t as g,c as P,a as w,g as L,b as v,d as D,m as E,e as y}from"../chunks/index.DzDRugVt.js";const Y="modulepreload",Z=function(a,e){return new URL(a,e).href},I={},R=function(e,n,i){let s=Promise.resolve();if(n&&n.length>0){const c=document.getElementsByTagName("link");s=Promise.all(n.map(t=>{if(t=Z(t,i),t in I)return;I[t]=!0;const r=t.endsWith(".css"),l=r?'[rel="stylesheet"]':"";if(!!i)for(let _=c.length-1;_>=0;_--){const m=c[_];if(m.href===t&&(!r||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${t}"]${l}`))return;const o=document.createElement("link");if(o.rel=r?"stylesheet":Y,r||(o.as="script",o.crossOrigin=""),o.href=t,document.head.appendChild(o),r)return new Promise((_,m)=>{o.addEventListener("load",_),o.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${t}`)))})}))}return s.then(()=>e()).catch(c=>{const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=c,window.dispatchEvent(t),!t.defaultPrevented)throw c})},re={};function $(a){let e,n,i;var s=a[1][0];function c(t,r){return{props:{data:t[3],form:t[2]}}}return s&&(e=k(s,c(a)),a[12](e)),{c(){e&&v(e.$$.fragment),n=h()},l(t){e&&D(e.$$.fragment,t),n=h()},m(t,r){e&&E(e,t,r),b(t,n,r),i=!0},p(t,r){if(r&2&&s!==(s=t[1][0])){if(e){L();const l=e;g(l.$$.fragment,1,0,()=>{y(l,1)}),P()}s?(e=k(s,c(t)),t[12](e),v(e.$$.fragment),w(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(s){const l={};r&8&&(l.data=t[3]),r&4&&(l.form=t[2]),e.$set(l)}},i(t){i||(e&&w(e.$$.fragment,t),i=!0)},o(t){e&&g(e.$$.fragment,t),i=!1},d(t){t&&p(n),a[12](null),e&&y(e,t)}}}function x(a){let e,n,i;var s=a[1][0];function c(t,r){return{props:{data:t[3],$$slots:{default:[ee]},$$scope:{ctx:t}}}}return s&&(e=k(s,c(a)),a[11](e)),{c(){e&&v(e.$$.fragment),n=h()},l(t){e&&D(e.$$.fragment,t),n=h()},m(t,r){e&&E(e,t,r),b(t,n,r),i=!0},p(t,r){if(r&2&&s!==(s=t[1][0])){if(e){L();const l=e;g(l.$$.fragment,1,0,()=>{y(l,1)}),P()}s?(e=k(s,c(t)),t[11](e),v(e.$$.fragment),w(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(s){const l={};r&8&&(l.data=t[3]),r&8215&&(l.$$scope={dirty:r,ctx:t}),e.$set(l)}},i(t){i||(e&&w(e.$$.fragment,t),i=!0)},o(t){e&&g(e.$$.fragment,t),i=!1},d(t){t&&p(n),a[11](null),e&&y(e,t)}}}function ee(a){let e,n,i;var s=a[1][1];function c(t,r){return{props:{data:t[4],form:t[2]}}}return s&&(e=k(s,c(a)),a[10](e)),{c(){e&&v(e.$$.fragment),n=h()},l(t){e&&D(e.$$.fragment,t),n=h()},m(t,r){e&&E(e,t,r),b(t,n,r),i=!0},p(t,r){if(r&2&&s!==(s=t[1][1])){if(e){L();const l=e;g(l.$$.fragment,1,0,()=>{y(l,1)}),P()}s?(e=k(s,c(t)),t[10](e),v(e.$$.fragment),w(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(s){const l={};r&16&&(l.data=t[4]),r&4&&(l.form=t[2]),e.$set(l)}},i(t){i||(e&&w(e.$$.fragment,t),i=!0)},o(t){e&&g(e.$$.fragment,t),i=!1},d(t){t&&p(n),a[10](null),e&&y(e,t)}}}function O(a){let e,n=a[6]&&T(a);return{c(){e=W("div"),n&&n.c(),this.h()},l(i){e=z(i,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var s=F(e);n&&n.l(s),s.forEach(p),this.h()},h(){N(e,"id","svelte-announcer"),N(e,"aria-live","assertive"),N(e,"aria-atomic","true"),d(e,"position","absolute"),d(e,"left","0"),d(e,"top","0"),d(e,"clip","rect(0 0 0 0)"),d(e,"clip-path","inset(50%)"),d(e,"overflow","hidden"),d(e,"white-space","nowrap"),d(e,"width","1px"),d(e,"height","1px")},m(i,s){b(i,e,s),n&&n.m(e,null)},p(i,s){i[6]?n?n.p(i,s):(n=T(i),n.c(),n.m(e,null)):n&&(n.d(1),n=null)},d(i){i&&p(e),n&&n.d()}}}function T(a){let e;return{c(){e=G(a[7])},l(n){e=H(n,a[7])},m(n,i){b(n,e,i)},p(n,i){i&128&&J(e,n[7])},d(n){n&&p(e)}}}function te(a){let e,n,i,s,c;const t=[x,$],r=[];function l(o,_){return o[1][1]?0:1}e=l(a),n=r[e]=t[e](a);let u=a[5]&&O(a);return{c(){n.c(),i=B(),u&&u.c(),s=h()},l(o){n.l(o),i=U(o),u&&u.l(o),s=h()},m(o,_){r[e].m(o,_),b(o,i,_),u&&u.m(o,_),b(o,s,_),c=!0},p(o,[_]){let m=e;e=l(o),e===m?r[e].p(o,_):(L(),g(r[m],1,1,()=>{r[m]=null}),P(),n=r[e],n?n.p(o,_):(n=r[e]=t[e](o),n.c()),w(n,1),n.m(i.parentNode,i)),o[5]?u?u.p(o,_):(u=O(o),u.c(),u.m(s.parentNode,s)):u&&(u.d(1),u=null)},i(o){c||(w(n),c=!0)},o(o){g(n),c=!1},d(o){o&&(p(i),p(s)),r[e].d(o),u&&u.d(o)}}}function ne(a,e,n){let{stores:i}=e,{page:s}=e,{constructors:c}=e,{components:t=[]}=e,{form:r}=e,{data_0:l=null}=e,{data_1:u=null}=e;j(i.page.notify);let o=!1,_=!1,m=null;M(()=>{const f=i.page.subscribe(()=>{o&&(n(6,_=!0),K().then(()=>{n(7,m=document.title||"untitled page")}))});return n(5,o=!0),f});function V(f){S[f?"unshift":"push"](()=>{t[1]=f,n(0,t)})}function A(f){S[f?"unshift":"push"](()=>{t[0]=f,n(0,t)})}function C(f){S[f?"unshift":"push"](()=>{t[0]=f,n(0,t)})}return a.$$set=f=>{"stores"in f&&n(8,i=f.stores),"page"in f&&n(9,s=f.page),"constructors"in f&&n(1,c=f.constructors),"components"in f&&n(0,t=f.components),"form"in f&&n(2,r=f.form),"data_0"in f&&n(3,l=f.data_0),"data_1"in f&&n(4,u=f.data_1)},a.$$.update=()=>{a.$$.dirty&768&&i.page.set(s)},[t,c,r,l,u,o,_,m,i,s,V,A,C]}class oe extends Q{constructor(e){super(),X(this,e,ne,te,q,{stores:8,page:9,constructors:1,components:0,form:2,data_0:3,data_1:4})}}const ae=[()=>R(()=>import("../nodes/0.
|
|
1
|
+
import{s as q,a as B,p as h,g as U,i as b,f as p,q as j,r as M,e as W,c as z,b as F,m as N,u as d,t as G,d as H,j as J,v as S,w as k,x as K}from"../chunks/scheduler.pWaib8rK.js";import{S as Q,i as X,t as g,c as P,a as w,g as L,b as v,d as D,m as E,e as y}from"../chunks/index.DzDRugVt.js";const Y="modulepreload",Z=function(a,e){return new URL(a,e).href},I={},R=function(e,n,i){let s=Promise.resolve();if(n&&n.length>0){const c=document.getElementsByTagName("link");s=Promise.all(n.map(t=>{if(t=Z(t,i),t in I)return;I[t]=!0;const r=t.endsWith(".css"),l=r?'[rel="stylesheet"]':"";if(!!i)for(let _=c.length-1;_>=0;_--){const m=c[_];if(m.href===t&&(!r||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${t}"]${l}`))return;const o=document.createElement("link");if(o.rel=r?"stylesheet":Y,r||(o.as="script",o.crossOrigin=""),o.href=t,document.head.appendChild(o),r)return new Promise((_,m)=>{o.addEventListener("load",_),o.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${t}`)))})}))}return s.then(()=>e()).catch(c=>{const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=c,window.dispatchEvent(t),!t.defaultPrevented)throw c})},re={};function $(a){let e,n,i;var s=a[1][0];function c(t,r){return{props:{data:t[3],form:t[2]}}}return s&&(e=k(s,c(a)),a[12](e)),{c(){e&&v(e.$$.fragment),n=h()},l(t){e&&D(e.$$.fragment,t),n=h()},m(t,r){e&&E(e,t,r),b(t,n,r),i=!0},p(t,r){if(r&2&&s!==(s=t[1][0])){if(e){L();const l=e;g(l.$$.fragment,1,0,()=>{y(l,1)}),P()}s?(e=k(s,c(t)),t[12](e),v(e.$$.fragment),w(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(s){const l={};r&8&&(l.data=t[3]),r&4&&(l.form=t[2]),e.$set(l)}},i(t){i||(e&&w(e.$$.fragment,t),i=!0)},o(t){e&&g(e.$$.fragment,t),i=!1},d(t){t&&p(n),a[12](null),e&&y(e,t)}}}function x(a){let e,n,i;var s=a[1][0];function c(t,r){return{props:{data:t[3],$$slots:{default:[ee]},$$scope:{ctx:t}}}}return s&&(e=k(s,c(a)),a[11](e)),{c(){e&&v(e.$$.fragment),n=h()},l(t){e&&D(e.$$.fragment,t),n=h()},m(t,r){e&&E(e,t,r),b(t,n,r),i=!0},p(t,r){if(r&2&&s!==(s=t[1][0])){if(e){L();const l=e;g(l.$$.fragment,1,0,()=>{y(l,1)}),P()}s?(e=k(s,c(t)),t[11](e),v(e.$$.fragment),w(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(s){const l={};r&8&&(l.data=t[3]),r&8215&&(l.$$scope={dirty:r,ctx:t}),e.$set(l)}},i(t){i||(e&&w(e.$$.fragment,t),i=!0)},o(t){e&&g(e.$$.fragment,t),i=!1},d(t){t&&p(n),a[11](null),e&&y(e,t)}}}function ee(a){let e,n,i;var s=a[1][1];function c(t,r){return{props:{data:t[4],form:t[2]}}}return s&&(e=k(s,c(a)),a[10](e)),{c(){e&&v(e.$$.fragment),n=h()},l(t){e&&D(e.$$.fragment,t),n=h()},m(t,r){e&&E(e,t,r),b(t,n,r),i=!0},p(t,r){if(r&2&&s!==(s=t[1][1])){if(e){L();const l=e;g(l.$$.fragment,1,0,()=>{y(l,1)}),P()}s?(e=k(s,c(t)),t[10](e),v(e.$$.fragment),w(e.$$.fragment,1),E(e,n.parentNode,n)):e=null}else if(s){const l={};r&16&&(l.data=t[4]),r&4&&(l.form=t[2]),e.$set(l)}},i(t){i||(e&&w(e.$$.fragment,t),i=!0)},o(t){e&&g(e.$$.fragment,t),i=!1},d(t){t&&p(n),a[10](null),e&&y(e,t)}}}function O(a){let e,n=a[6]&&T(a);return{c(){e=W("div"),n&&n.c(),this.h()},l(i){e=z(i,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var s=F(e);n&&n.l(s),s.forEach(p),this.h()},h(){N(e,"id","svelte-announcer"),N(e,"aria-live","assertive"),N(e,"aria-atomic","true"),d(e,"position","absolute"),d(e,"left","0"),d(e,"top","0"),d(e,"clip","rect(0 0 0 0)"),d(e,"clip-path","inset(50%)"),d(e,"overflow","hidden"),d(e,"white-space","nowrap"),d(e,"width","1px"),d(e,"height","1px")},m(i,s){b(i,e,s),n&&n.m(e,null)},p(i,s){i[6]?n?n.p(i,s):(n=T(i),n.c(),n.m(e,null)):n&&(n.d(1),n=null)},d(i){i&&p(e),n&&n.d()}}}function T(a){let e;return{c(){e=G(a[7])},l(n){e=H(n,a[7])},m(n,i){b(n,e,i)},p(n,i){i&128&&J(e,n[7])},d(n){n&&p(e)}}}function te(a){let e,n,i,s,c;const t=[x,$],r=[];function l(o,_){return o[1][1]?0:1}e=l(a),n=r[e]=t[e](a);let u=a[5]&&O(a);return{c(){n.c(),i=B(),u&&u.c(),s=h()},l(o){n.l(o),i=U(o),u&&u.l(o),s=h()},m(o,_){r[e].m(o,_),b(o,i,_),u&&u.m(o,_),b(o,s,_),c=!0},p(o,[_]){let m=e;e=l(o),e===m?r[e].p(o,_):(L(),g(r[m],1,1,()=>{r[m]=null}),P(),n=r[e],n?n.p(o,_):(n=r[e]=t[e](o),n.c()),w(n,1),n.m(i.parentNode,i)),o[5]?u?u.p(o,_):(u=O(o),u.c(),u.m(s.parentNode,s)):u&&(u.d(1),u=null)},i(o){c||(w(n),c=!0)},o(o){g(n),c=!1},d(o){o&&(p(i),p(s)),r[e].d(o),u&&u.d(o)}}}function ne(a,e,n){let{stores:i}=e,{page:s}=e,{constructors:c}=e,{components:t=[]}=e,{form:r}=e,{data_0:l=null}=e,{data_1:u=null}=e;j(i.page.notify);let o=!1,_=!1,m=null;M(()=>{const f=i.page.subscribe(()=>{o&&(n(6,_=!0),K().then(()=>{n(7,m=document.title||"untitled page")}))});return n(5,o=!0),f});function V(f){S[f?"unshift":"push"](()=>{t[1]=f,n(0,t)})}function A(f){S[f?"unshift":"push"](()=>{t[0]=f,n(0,t)})}function C(f){S[f?"unshift":"push"](()=>{t[0]=f,n(0,t)})}return a.$$set=f=>{"stores"in f&&n(8,i=f.stores),"page"in f&&n(9,s=f.page),"constructors"in f&&n(1,c=f.constructors),"components"in f&&n(0,t=f.components),"form"in f&&n(2,r=f.form),"data_0"in f&&n(3,l=f.data_0),"data_1"in f&&n(4,u=f.data_1)},a.$$.update=()=>{a.$$.dirty&768&&i.page.set(s)},[t,c,r,l,u,o,_,m,i,s,V,A,C]}class oe extends Q{constructor(e){super(),X(this,e,ne,te,q,{stores:8,page:9,constructors:1,components:0,form:2,data_0:3,data_1:4})}}const ae=[()=>R(()=>import("../nodes/0.Bp0gFt3a.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url),()=>R(()=>import("../nodes/1.ByHqhgYV.js"),__vite__mapDeps([6,1,2,7,8,4]),import.meta.url),()=>R(()=>import("../nodes/2.DIn8QRS-.js"),__vite__mapDeps([9,1,3,2,10,4,11]),import.meta.url),()=>R(()=>import("../nodes/3.DP7zL9Bg.js"),__vite__mapDeps([12,10,3,8,1,4,2,7,13]),import.meta.url)],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};
|
|
2
2
|
function __vite__mapDeps(indexes) {
|
|
3
3
|
if (!__vite__mapDeps.viteFileDeps) {
|
|
4
|
-
__vite__mapDeps.viteFileDeps = ["../nodes/0.
|
|
4
|
+
__vite__mapDeps.viteFileDeps = ["../nodes/0.Bp0gFt3a.js","../chunks/scheduler.pWaib8rK.js","../chunks/index.DzDRugVt.js","../chunks/index.sDAnq9IB.js","../chunks/paths.rg0K1zCL.js","../assets/0.CEJMiobA.css","../nodes/1.ByHqhgYV.js","../chunks/stores.DIH184JS.js","../chunks/entry.EqOSi-Pf.js","../nodes/2.DIn8QRS-.js","../chunks/makeList.DSNiOEjA.js","../assets/2.CTp7BhB8.css","../nodes/3.DP7zL9Bg.js","../assets/3.wWOitVXS.css"]
|
|
5
5
|
}
|
|
6
6
|
return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
|
|
7
7
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as t}from"../chunks/entry.EqOSi-Pf.js";export{t as start};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{s as W,y as G,e as v,a as T,c as h,l as L,g as $,b as O,f as a,m as E,i as u,h as H,z as J,A as K,B as Q,o as U,t as X,d as Y,n as Z}from"../chunks/scheduler.pWaib8rK.js";import{S as ee,i as te,a as se,t as le}from"../chunks/index.DzDRugVt.js";import{e as q,v as ie}from"../chunks/index.sDAnq9IB.js";import{b as ne}from"../chunks/paths.rg0K1zCL.js";const ae=!0,we=Object.freeze(Object.defineProperty({__proto__:null,prerender:ae},Symbol.toStringTag,{value:"Module"})),re="designix-ui",oe="0.5.5",ce={type:"git",url:"git+https://github.com/charlyoleg2/parametrix.git"},pe="https://charlyoleg2.github.io/parametrix/",ue={cp_pgdsvg:"shx cp -r ../../node_modules/designix/dist/pgdsvg static/",dev:"vite dev",build:"vite build",preview:"vite preview",check:"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","check:watch":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch","test:unit":"vitest","test:unit:once":"vitest --run",lint:"prettier --check . && eslint .",ci:"run-s cp_pgdsvg build lint check test:unit:once",format:"prettier --write .",clean:"shx rm -fr .svelte-kit build node_modules static/pgdsvg"},ve={designix:"^0.5.21",geometrix:"^0.5.20",geomui:"^0.5.22"},he={"@sveltejs/adapter-auto":"^3.1.1","@sveltejs/adapter-static":"^3.0.1","@sveltejs/kit":"^2.5.1","@sveltejs/vite-plugin-svelte":"^3.0.2","@typescript-eslint/eslint-plugin":"^7.0.1","@typescript-eslint/parser":"^7.0.1",eslint:"^8.56.0","eslint-config-prettier":"^9.1.0","eslint-plugin-svelte":"^2.35.1","npm-run-all":"^4.1.5",prettier:"^3.2.5","prettier-plugin-svelte":"^3.2.1",sass:"^1.71.1",shx:"^0.3.4",svelte:"^4.2.11","svelte-check":"^3.6.4",tslib:"^2.6.2",typescript:"^5.3.3",vite:"^5.1.4",vitest:"^1.3.1"},fe="module",de={name:re,version:oe,private:!0,repository:ce,homepage:pe,scripts:ue,dependencies:ve,devDependencies:he,type:fe};function F(c,l,p){const r=c.slice();return r[3]=l[p],r}function V(c){let l=c[3]+"",p,r;return{c(){p=X(l),r=v("br")},l(s){p=Y(s,l),r=h(s,"BR",{})},m(s,m){u(s,p,m),u(s,r,m)},p:Z,d(s){s&&(a(p),a(r))}}}function me(c){let l,p="Welcome to designix-ui",r,s,m=`Showcasing the usage of the <a href="https://svelte.dev/">svelte</a> library
|
|
2
|
+
<a href="https://www.npmjs.com/">geomui</a>.`,_,d,I=`<a href="${`${ne}/`}" class="svelte-1v6hyjg">index: list of designs</a>`,M,g,A,f,b,B=`<a href="https://github.com/charlyoleg2/parametrix">designix-ui</a>, a minimalist showcase
|
|
3
|
+
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};
|
|
@@ -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.
|
|
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.DIH184JS.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.sDAnq9IB.js";import{S,i as $}from"../chunks/index.DzDRugVt.js";import{d as q}from"../chunks/makeList.
|
|
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.sDAnq9IB.js";import{S,i as $}from"../chunks/index.DzDRugVt.js";import{d as q}from"../chunks/makeList.DSNiOEjA.js";import{b as A}from"../chunks/paths.rg0K1zCL.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};
|