designix 0.5.30 → 0.5.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +200 -158
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1448,6 +1448,7 @@ import {
1448
1448
  prefixLog as prefixLog2,
1449
1449
  contour as contour6,
1450
1450
  contourCircle as contourCircle4,
1451
+ ctrOblong,
1451
1452
  figure as figure4,
1452
1453
  radToDeg as radToDeg3,
1453
1454
  ffix as ffix6,
@@ -1974,7 +1975,7 @@ var pDef4 = {
1974
1975
  PHB: "pole_stator_holders.svg",
1975
1976
  PHD1A: "pole_stator_holders.svg",
1976
1977
  PHD1B: "pole_stator_holders.svg",
1977
- PHN1AB: "pole_stator_holders.svg",
1978
+ PHN1AB: "pole_stator_holderB_top.svg",
1978
1979
  PHD5A: "pole_stator_holderB_top.svg",
1979
1980
  PHR4A: "pole_stator_holderB_top.svg",
1980
1981
  PHD3A: "pole_stator_holderB_top.svg",
@@ -2091,8 +2092,13 @@ function pGeom4(t, param, suffix = "") {
2091
2092
  }
2092
2093
  const ctrDoorFace = function(pL2) {
2093
2094
  const R4b = R4 - pL2;
2094
- const H3b = param.H3 + R4;
2095
- const rCtrDoorFace = contour6(R4b, H3b + doorStraightLenght).addPointR(-R4b, R4b).addSegArc(R4b, false, true).addPointR(-R4b, -R4b).addSegArc(R4b, false, true).addSegStrokeR(0, -doorStraightLenght).addPointR(R4b, -R4b).addSegArc(R4b, false, true).addPointR(R4b, R4b).addSegArc(R4b, false, true).closeSegStroke();
2095
+ const rCtrDoorFace = ctrOblong(
2096
+ 0,
2097
+ param.H3 + R4 - R4b,
2098
+ 2 * R4b,
2099
+ doorStraightLenght + 2 * R4b,
2100
+ Math.PI / 2
2101
+ );
2096
2102
  return rCtrDoorFace;
2097
2103
  };
2098
2104
  figFace.addMain(ctrDoorFace(0));
@@ -2351,6 +2357,8 @@ import {
2351
2357
  contourCircle as contourCircle5,
2352
2358
  ctrRectangle,
2353
2359
  ctrRectRot,
2360
+ ctrRectRot2,
2361
+ ctrTrapezoid,
2354
2362
  figure as figure5,
2355
2363
  degToRad as degToRad4,
2356
2364
  radToDeg as radToDeg4,
@@ -2365,26 +2373,26 @@ var pDef5 = {
2365
2373
  partName: "rake",
2366
2374
  params: [
2367
2375
  //pNumber(name, unit, init, min, max, step)
2368
- pNumber5("D1", "mm", 600, 10, 4e3, 10),
2369
- pNumber5("D2", "mm", 400, 10, 4e3, 10),
2370
- pNumber5("D3", "mm", 400, 10, 4e3, 10),
2371
- pNumber5("H1", "mm", 800, 1, 4e3, 10),
2372
- pNumber5("H2", "mm", 3e3, 20, 6e3, 10),
2373
- pNumber5("H3", "mm", 400, 0, 4e3, 10),
2376
+ pNumber5("D1", "mm", 600, 10, 4e3, 1),
2377
+ pNumber5("D2", "mm", 400, 10, 4e3, 1),
2378
+ pNumber5("D3", "mm", 400, 10, 4e3, 1),
2379
+ pNumber5("H1", "mm", 800, 1, 4e3, 1),
2380
+ pNumber5("H2", "mm", 3e3, 20, 6e3, 1),
2381
+ pNumber5("H3", "mm", 400, 0, 4e3, 1),
2374
2382
  pNumber5("E1", "mm", 20, 1, 80, 1),
2375
2383
  pNumber5("E3", "mm", 30, 1, 80, 1),
2376
2384
  pSectionSeparator4("transversal"),
2377
- pNumber5("H4", "mm", 400, 10, 1e3, 10),
2378
- pNumber5("D4", "mm", 300, 10, 1e3, 10),
2385
+ pNumber5("H4", "mm", 400, 10, 1e3, 1),
2386
+ pNumber5("D4", "mm", 300, 10, 1e3, 1),
2379
2387
  pNumber5("E4", "mm", 20, 1, 80, 1),
2380
- pNumber5("H5", "mm", 1e3, 10, 2e3, 10),
2381
- pNumber5("D5", "mm", 200, 1, 1e3, 10),
2382
- pNumber5("L4", "mm", 300, 1, 1e3, 10),
2383
- pNumber5("L5", "mm", 2e3, 10, 4e3, 10),
2384
- pNumber5("L6", "mm", 2e3, 1, 4e3, 10),
2385
- pNumber5("D8", "mm", 400, 1, 1e3, 10),
2388
+ pNumber5("H5", "mm", 1e3, 10, 2e3, 1),
2389
+ pNumber5("D5", "mm", 200, 1, 1e3, 1),
2390
+ pNumber5("L4", "mm", 300, 1, 1e3, 1),
2391
+ pNumber5("L5", "mm", 2e3, 10, 4e3, 1),
2392
+ pNumber5("L6", "mm", 2e3, 1, 4e3, 1),
2393
+ pNumber5("D8", "mm", 400, 1, 1e3, 1),
2386
2394
  pSectionSeparator4("diagonal"),
2387
- pNumber5("D6", "mm", 100, 1, 600, 10),
2395
+ pNumber5("D6", "mm", 100, 1, 600, 1),
2388
2396
  pNumber5("E6", "mm", 10, 1, 80, 1),
2389
2397
  pNumber5("L7", "mm", 100, 1, 1e3, 1),
2390
2398
  pNumber5("L8", "mm", 200, 1, 1e3, 1),
@@ -2393,15 +2401,15 @@ var pDef5 = {
2393
2401
  pNumber5("D7", "mm", 40, 1, 100, 1),
2394
2402
  pNumber5("L1", "mm", 30, 1, 300, 1),
2395
2403
  pSectionSeparator4("door"),
2396
- pNumber5("H6", "mm", 100, 1, 1e3, 10),
2397
- pNumber5("H7", "mm", 600, 10, 2e3, 10),
2398
- pNumber5("L9", "mm", 300, 1, 1e3, 10),
2404
+ pNumber5("H6", "mm", 100, 1, 1e3, 1),
2405
+ pNumber5("H7", "mm", 600, 10, 2e3, 1),
2406
+ pNumber5("L9", "mm", 300, 1, 1e3, 1),
2399
2407
  pNumber5("R9", "mm", 50, 0, 300, 1),
2400
2408
  pNumber5("doorOrientation", "degree", 0, -180, 180, 1)
2401
2409
  ],
2402
2410
  paramSvg: {
2403
2411
  D1: "rake_face.svg",
2404
- D2: "rake_face.svg",
2412
+ D2: "rake_side.svg",
2405
2413
  D3: "rake_face.svg",
2406
2414
  H1: "rake_face.svg",
2407
2415
  H2: "rake_face.svg",
@@ -2451,6 +2459,9 @@ function pGeom5(t, param, suffix = "") {
2451
2459
  rGeome.logstr += `${rGeome.partName} simTime: ${t}
2452
2460
  `;
2453
2461
  try {
2462
+ const horiR = 0;
2463
+ const vertiT = Math.PI / 2;
2464
+ const vertiB = -Math.PI / 2;
2454
2465
  const R1 = param.D1 / 2;
2455
2466
  const R2 = param.D2 / 2;
2456
2467
  const R3 = param.D3 / 2;
@@ -2459,6 +2470,7 @@ function pGeom5(t, param, suffix = "") {
2459
2470
  const R6 = param.D6 / 2;
2460
2471
  const R7 = param.D7 / 2;
2461
2472
  const R8 = param.D8 / 2;
2473
+ const D4h = param.D4 - 2 * param.E4;
2462
2474
  const H1H2 = param.H1 + param.H2;
2463
2475
  const H1H5 = H1H2 - param.H4 + param.H5;
2464
2476
  const beamL = 4 * param.L4 + param.L5 + 2 * param.L6;
@@ -2514,6 +2526,17 @@ function pGeom5(t, param, suffix = "") {
2514
2526
  if (param.L9 > param.D1) {
2515
2527
  throw `err180: L9 ${param.L9} too large compare to D1 ${param.D1}`;
2516
2528
  }
2529
+ if (param.E6 > param.D6 / 2) {
2530
+ throw `err197: E6 ${param.E6} is too large compare to D6 ${param.D6}`;
2531
+ }
2532
+ rGeome.logstr += `rake-L4: ${ffix7(param.L4)} mm (compare with swing)
2533
+ `;
2534
+ rGeome.logstr += `rake-L5: ${ffix7(param.L5)} mm (compare with swing)
2535
+ `;
2536
+ rGeome.logstr += `rake-L6: ${ffix7(param.L6)} mm (compare with swing)
2537
+ `;
2538
+ rGeome.logstr += `rake-beamL (4*L4+L5+2*L6): ${ffix7(beamL)} mm (compare with swing)
2539
+ `;
2517
2540
  rGeome.logstr += `cone-height: ${ffix7(H1H2)} mm
2518
2541
  `;
2519
2542
  rGeome.logstr += `cone-height total: ${ffix7(H1H5)} mm
@@ -2536,14 +2559,19 @@ function pGeom5(t, param, suffix = "") {
2536
2559
  const coneHollowHeight2 = beamH - R4 - (param.H1 - coneFC);
2537
2560
  const coneHollowR2 = R1 - param.E1 - Math.tan(coneAngle) * coneHollowHeight2;
2538
2561
  const ctrConeHollow = contour7(0, beamH - R4).addSegStrokeA(coneHollowR2, beamH - R4).addSegStrokeA(R1 - param.E1, param.H1 - coneFC).addSegStrokeA(R1 - param.E1, param.H1 - param.H3).addSegStrokeA(0, param.H1 - param.H3).closeSegStroke();
2539
- const ctrDoor = contour7(doorLowX, param.H1 + param.H6).addCornerRounded(param.R9).addSegStrokeA(doorHighX, param.H1 + param.H6 + param.H7).addCornerRounded(param.R9).addSegStrokeA(-doorHighX, param.H1 + param.H6 + param.H7).addCornerRounded(param.R9).addSegStrokeA(-doorLowX, param.H1 + param.H6).addCornerRounded(param.R9).closeSegStroke();
2562
+ const ctrDoor = ctrTrapezoid(
2563
+ -doorLowX,
2564
+ param.H1 + param.H6,
2565
+ param.L9,
2566
+ 2 * doorHighX,
2567
+ param.H7,
2568
+ param.R9
2569
+ );
2540
2570
  figCone.addMain(ctrCone(1));
2541
2571
  figCone.addSecond(ctrConePlus(1));
2542
2572
  figCone.addSecond(ctrConePlus(-1));
2543
- figCone.addSecond(ctrRectangle(-beamL / 2, beamH - R4, beamL, param.D4));
2544
- figCone.addSecond(
2545
- ctrRectangle(-beamL / 2, beamH - R4 + param.E4, beamL, param.D4 - 2 * param.E4)
2546
- );
2573
+ figCone.addSecond(ctrRectRot2(-beamL / 2, beamH, beamL, param.D4, horiR));
2574
+ figCone.addSecond(ctrRectRot2(-beamL / 2, beamH, beamL, D4h, horiR));
2547
2575
  for (const posX of handPos) {
2548
2576
  figCone.addSecond(
2549
2577
  ctrRectangle(posX, beamH + handLowY, param.L4, param.H5 - handLowY - handHighYint)
@@ -2563,8 +2591,8 @@ function pGeom5(t, param, suffix = "") {
2563
2591
  figBeam.addSecond(ctrConePlus(-1));
2564
2592
  figBeam.addSecond(ctrHand);
2565
2593
  figBeam.addSecond(contourCircle5(0, beamH + param.H5, R5));
2566
- figBeam.addSecond(ctrRectangle(-R6, param.H1 + param.L8, 2 * R6, wingLy));
2567
- figBeam.addSecond(ctrRectangle(-wingHR, param.H1 + param.L8, 2 * wingHR, wingLy));
2594
+ figBeam.addSecond(ctrRectRot2(0, param.H1 + param.L8, wingLy, 2 * R6, vertiT));
2595
+ figBeam.addSecond(ctrRectRot2(0, param.H1 + param.L8, wingLy, 2 * wingHR, vertiT));
2568
2596
  figBeam.addSecond(ctrDoor);
2569
2597
  figBeamHollow.addMain(contourCircle5(0, beamH, R4 - param.E4));
2570
2598
  figBeamHollow.addSecond(contourCircle5(0, beamH, R4));
@@ -2580,23 +2608,18 @@ function pGeom5(t, param, suffix = "") {
2580
2608
  }
2581
2609
  figDisc.addSecond(contourCircle5(0, 0, R1 - param.E1));
2582
2610
  figDisc.addSecond(contourCircle5(0, 0, R2));
2583
- figDisc.addSecond(ctrRectangle(-R4, -beamL / 2, param.D4, beamL));
2584
- figDisc.addSecond(ctrRectangle(-R4 + param.E4, -beamL / 2, param.D4 - 2 * param.E4, beamL));
2611
+ figDisc.addSecond(ctrRectRot2(0, -beamL / 2, beamL, param.D4, vertiT));
2612
+ figDisc.addSecond(ctrRectRot2(0, -beamL / 2, beamL, D4h, vertiT));
2585
2613
  for (const posX of handPos) {
2586
- figDisc.addSecond(ctrRectangle(-handLowX, posX, 2 * handLowX, param.L4));
2587
- figDisc.addSecond(ctrRectangle(-handHighXint, posX, 2 * handHighXint, param.L4));
2588
- figDisc.addSecond(ctrRectangle(-handHighXext, posX, 2 * handHighXext, param.L4));
2589
- }
2590
- figDisc.addSecond(ctrRectangle(-R6, R1 - param.L8 * Math.tan(coneAngle), 2 * R6, wingLx));
2591
- figDisc.addSecond(
2592
- ctrRectangle(-wingHR, R1 - param.L8 * Math.tan(coneAngle), 2 * wingHR, wingLx)
2593
- );
2594
- figDisc.addSecond(
2595
- ctrRectangle(-R6, -R1 + param.L8 * Math.tan(coneAngle) - wingLx, 2 * R6, wingLx)
2596
- );
2597
- figDisc.addSecond(
2598
- ctrRectangle(-wingHR, -R1 + param.L8 * Math.tan(coneAngle) - wingLx, 2 * wingHR, wingLx)
2599
- );
2614
+ figDisc.addSecond(ctrRectRot2(0, posX, param.L4, 2 * handLowX, vertiT));
2615
+ figDisc.addSecond(ctrRectRot2(0, posX, param.L4, 2 * handHighXint, vertiT));
2616
+ figDisc.addSecond(ctrRectRot2(0, posX, param.L4, 2 * handHighXext, vertiT));
2617
+ }
2618
+ const py9 = R1 - param.L8 * Math.tan(coneAngle);
2619
+ figDisc.addSecond(ctrRectRot2(0, py9, wingLx, 2 * R6, vertiT));
2620
+ figDisc.addSecond(ctrRectRot2(0, py9, wingLx, 2 * wingHR, vertiT));
2621
+ figDisc.addSecond(ctrRectRot2(0, -py9, wingLx, 2 * R6, vertiB));
2622
+ figDisc.addSecond(ctrRectRot2(0, -py9, wingLx, 2 * wingHR, vertiB));
2600
2623
  figHand.addMain(ctrHand);
2601
2624
  figHand.addSecond(contourCircle5(0, beamH, R4));
2602
2625
  figHand.addSecond(contourCircle5(0, beamH, R4 - param.E4));
@@ -2608,10 +2631,8 @@ function pGeom5(t, param, suffix = "") {
2608
2631
  figDoor.addMain(ctrDoor);
2609
2632
  figDoor.addSecond(ctrConePlus(1));
2610
2633
  figDoor.addSecond(ctrConePlus(-1));
2611
- figDoor.addSecond(ctrRectangle(-beamL / 2, beamH - R4, beamL, param.D4));
2612
- figDoor.addSecond(
2613
- ctrRectangle(-beamL / 2, beamH - R4 + param.E4, beamL, param.D4 - 2 * param.E4)
2614
- );
2634
+ figDoor.addSecond(ctrRectRot2(-beamL / 2, beamH, beamL, param.D4, horiR));
2635
+ figDoor.addSecond(ctrRectRot2(-beamL / 2, beamH, beamL, D4h, horiR));
2615
2636
  for (const posX of handPos) {
2616
2637
  figDoor.addSecond(
2617
2638
  ctrRectangle(posX, beamH + handLowY, param.L4, param.H5 - handLowY - handHighYint)
@@ -2993,7 +3014,7 @@ var pDef7 = {
2993
3014
  pNumber7("H4", "mm", 100, 1, 400, 1),
2994
3015
  pNumber7("E2", "mm", 3, 1, 80, 1),
2995
3016
  pNumber7("L3", "mm", 500, 1, 4e3, 1),
2996
- pSectionSeparator6("radial"),
3017
+ pSectionSeparator6("longitudinal"),
2997
3018
  pNumber7("L4", "mm", 600, 1, 4e3, 1),
2998
3019
  pNumber7("L5", "mm", 2e3, 1, 1e4, 1),
2999
3020
  pNumber7("L6", "mm", 2e3, 1, 1e4, 1),
@@ -3049,7 +3070,19 @@ function pGeom7(t, param, suffix = "") {
3049
3070
  `;
3050
3071
  try {
3051
3072
  const R1 = param.D1 / 2;
3073
+ const rakeBeamL = 4 * param.L4 + param.L5 + 2 * param.L6 - 2 * param.H1;
3074
+ const rakeL4 = param.L4 - 2 * param.H1;
3075
+ const rakeL5 = param.L5 + 2 * param.H1;
3076
+ const rakeL6 = param.L6 + 2 * param.H1;
3052
3077
  rGeome.logstr += `swing size: L1 ${ffix9(param.L1)} x L2 ${ffix9(param.L2)} mm
3078
+ `;
3079
+ rGeome.logstr += `rake-L4: ${ffix9(rakeL4)} mm (compare with rake)
3080
+ `;
3081
+ rGeome.logstr += `rake-L5: ${ffix9(rakeL5)} mm (compare with rake)
3082
+ `;
3083
+ rGeome.logstr += `rake-L6: ${ffix9(rakeL6)} mm (compare with rake)
3084
+ `;
3085
+ rGeome.logstr += `rake-beamL: (4*L4+L5+2*L6-2*H1) ${ffix9(rakeBeamL)} mm (compare with rake)
3053
3086
  `;
3054
3087
  figSide.addMain(contourCircle7(0, 0, R1));
3055
3088
  figSide.addMain(contourCircle7(0, 0, R1 - param.E1));
@@ -3204,23 +3237,23 @@ var pDef8 = {
3204
3237
  partName: "heliostat",
3205
3238
  params: [
3206
3239
  //pNumber(name, unit, init, min, max, step)
3207
- pNumber8("H1", "mm", 3e3, 10, 4e4, 10),
3208
- pNumber8("H2", "mm", 2500, 50, 4e4, 10),
3209
- pNumber8("D1", "mm", 1e3, 20, 4e3, 10),
3210
- pNumber8("D2", "mm", 700, 20, 4e3, 10),
3240
+ pNumber8("H1", "mm", 3e3, 10, 4e4, 1),
3241
+ pNumber8("H2", "mm", 2500, 50, 4e4, 1),
3242
+ pNumber8("D1", "mm", 1e3, 20, 4e3, 1),
3243
+ pNumber8("D2", "mm", 700, 20, 4e3, 1),
3211
3244
  pNumber8("E1", "mm", 30, 1, 80, 1),
3212
3245
  pSectionSeparator7("rake"),
3213
3246
  pNumber8("H3", "mm", 200, 1, 500, 1),
3214
3247
  pNumber8("H4", "mm", 800, 1, 4e3, 1),
3215
- pNumber8("H5", "mm", 3e3, 50, 6e3, 10),
3248
+ pNumber8("H5", "mm", 3e3, 50, 6e3, 1),
3216
3249
  pNumber8("H6", "mm", 200, 1, 4e3, 1),
3217
3250
  pNumber8("H7", "mm", 800, 1, 4e3, 1),
3218
3251
  pNumber8("H8", "mm", 200, 1, 4e3, 1),
3219
- pNumber8("D3", "mm", 900, 20, 4e3, 10),
3220
- pNumber8("D4", "mm", 400, 20, 4e3, 10),
3221
- pNumber8("D5", "mm", 300, 20, 1e3, 10),
3222
- pNumber8("D6", "mm", 200, 10, 1e3, 10),
3223
- pNumber8("D7", "mm", 400, 10, 1e3, 10),
3252
+ pNumber8("D3", "mm", 900, 20, 4e3, 1),
3253
+ pNumber8("D4", "mm", 400, 20, 4e3, 1),
3254
+ pNumber8("D5", "mm", 300, 20, 1e3, 1),
3255
+ pNumber8("D6", "mm", 200, 10, 1e3, 1),
3256
+ pNumber8("D7", "mm", 400, 10, 1e3, 1),
3224
3257
  pSectionSeparator7("rake diagonal"),
3225
3258
  pNumber8("D9", "mm", 100, 1, 1e3, 1),
3226
3259
  pNumber8("L7", "mm", 100, 1, 1e3, 1),
@@ -3231,8 +3264,8 @@ var pDef8 = {
3231
3264
  pNumber8("S2", "mm", 200, 1, 800, 1),
3232
3265
  pNumber8("E2", "mm", 50, 1, 80, 1),
3233
3266
  pSectionSeparator7("swing"),
3234
- pNumber8("L1", "mm", 12500, 100, 4e4, 10),
3235
- pNumber8("L2", "mm", 6e3, 100, 4e4, 10),
3267
+ pNumber8("L1", "mm", 12500, 100, 4e4, 1),
3268
+ pNumber8("L2", "mm", 6e3, 100, 4e4, 1),
3236
3269
  pNumber8("L3", "mm", 100, 1, 500, 1),
3237
3270
  pNumber8("L4", "mm", 600, 1, 4e3, 1),
3238
3271
  pNumber8("L5", "mm", 2e3, 10, 6e3, 1),
@@ -3337,6 +3370,7 @@ function pGeom8(t, param, suffix = "") {
3337
3370
  rakeParam.setVal("E1", param.E1);
3338
3371
  rakeParam.setVal("E3", param.E1);
3339
3372
  rakeParam.setVal("E4", param.E1);
3373
+ rakeParam.setVal("E6", param.E1);
3340
3374
  const rakeD3 = param.D2 * 0.6;
3341
3375
  const rakeN1 = 24;
3342
3376
  const rakeD7 = rakeD3 / (rakeN1 * 4);
@@ -3393,6 +3427,8 @@ function pGeom8(t, param, suffix = "") {
3393
3427
  swingParam.setVal("L5", param.L5);
3394
3428
  swingParam.setVal("L6", param.L6);
3395
3429
  swingParam.setVal("L3", param.D7);
3430
+ swingParam.setVal("S1", param.D6 / 2);
3431
+ swingParam.setVal("R2", 0);
3396
3432
  const poleStaticGeom = poleStaticDef.pGeom(
3397
3433
  0,
3398
3434
  poleStaticParam.getParamVal(),
@@ -3537,8 +3573,7 @@ import {
3537
3573
  checkGeom as checkGeom4,
3538
3574
  prefixLog as prefixLog4,
3539
3575
  contourCircle as contourCircle8,
3540
- ctrRectangle as ctrRectangle3,
3541
- ctrRectRot as ctrRectRot2,
3576
+ ctrRectRot2 as ctrRectRot22,
3542
3577
  figure as figure9,
3543
3578
  radToDeg as radToDeg7,
3544
3579
  ffix as ffix11,
@@ -3552,11 +3587,11 @@ var pDef9 = {
3552
3587
  partName: "rake_stopper",
3553
3588
  params: [
3554
3589
  //pNumber(name, unit, init, min, max, step)
3555
- pNumber9("D1", "mm", 600, 10, 4e3, 10),
3556
- pNumber9("D2", "mm", 400, 10, 4e3, 10),
3590
+ pNumber9("D1", "mm", 600, 10, 4e3, 1),
3591
+ pNumber9("D2", "mm", 400, 10, 4e3, 1),
3557
3592
  pNumber9("D3", "mm", 400, 1, 4e3, 1),
3558
3593
  pNumber9("H1", "mm", 800, 1, 4e3, 1),
3559
- pNumber9("H2", "mm", 3e3, 20, 6e3, 10),
3594
+ pNumber9("H2", "mm", 3e3, 20, 6e3, 1),
3560
3595
  pNumber9("H3", "mm", 400, 0, 4e3, 1),
3561
3596
  pNumber9("E1", "mm", 20, 1, 80, 1),
3562
3597
  pNumber9("E3", "mm", 30, 1, 80, 1),
@@ -3607,7 +3642,7 @@ var pDef9 = {
3607
3642
  ],
3608
3643
  paramSvg: {
3609
3644
  D1: "rake_face.svg",
3610
- D2: "rake_face.svg",
3645
+ D2: "rake_side.svg",
3611
3646
  D3: "rake_face.svg",
3612
3647
  H1: "rake_face.svg",
3613
3648
  H2: "rake_face.svg",
@@ -3683,6 +3718,10 @@ function pGeom9(t, param, suffix = "") {
3683
3718
  rGeome.logstr += `${rGeome.partName} simTime: ${t}
3684
3719
  `;
3685
3720
  try {
3721
+ const horiR = 0;
3722
+ const horiL = Math.PI;
3723
+ const vertiT = Math.PI / 2;
3724
+ const vertiB = -Math.PI / 2;
3686
3725
  const R1 = param.D1 / 2;
3687
3726
  const H1H2 = param.H1 + param.H2;
3688
3727
  const H1H5 = H1H2 - param.H4 + param.H5;
@@ -3694,16 +3733,16 @@ function pGeom9(t, param, suffix = "") {
3694
3733
  const S1r = param.S1 / 2;
3695
3734
  const S1h = param.S1 - 2 * param.E7;
3696
3735
  const S1hr = S1h / 2;
3697
- const lowStopperTopPosX = -R1 - param.S1 / 2 - param.JS1;
3698
3736
  const S2s = param.S2 - S1r;
3699
- const lowSPosY = stopper1H - S1r;
3700
3737
  const lowSHPosZ = stopper1H - param.JH1;
3701
3738
  const JR1 = param.JD1 / 2;
3702
3739
  const JR1H = JR1 - param.JE1;
3703
3740
  const lowSHL = R1 + param.JS2;
3704
- const JR3 = param.JD3 / 2;
3705
- const JR4 = param.JD4 / 2;
3706
3741
  const Hi2SHpy = L5h - S1r;
3742
+ const Hi1SHL = R1 + param.JS3;
3743
+ const Hi1SHW = param.JD3 - 2 * param.JE3;
3744
+ const Hi2SHL = param.D4 / 2 + param.JS4;
3745
+ const Hi2SHW = param.JD4 - 2 * param.JE4;
3707
3746
  if (2 * param.E7 >= param.S1) {
3708
3747
  throw `err135: E7 ${param.E7} too large compare to S1 ${param.S1}`;
3709
3748
  }
@@ -3744,8 +3783,8 @@ function pGeom9(t, param, suffix = "") {
3744
3783
  `;
3745
3784
  rGeome.logstr += `cone-height total: ${ffix11(H1H5)} mm
3746
3785
  `;
3747
- figLowStopperHolderPre.addSecond(ctrRectangle3(-L5h, lowSPosY, param.L5, param.S1));
3748
- figLowStopperHolderPre.addSecond(ctrRectangle3(-L5h, lowSPosY + param.E7, param.L5, S1h));
3786
+ figLowStopperHolderPre.addSecond(ctrRectRot22(-L5h, stopper1H, param.L5, param.S1, horiR));
3787
+ figLowStopperHolderPre.addSecond(ctrRectRot22(-L5h, stopper1H, param.L5, S1h, horiR));
3749
3788
  figLowStopperHolderPre.addMain(contourCircle8(-param.JL1 / 2, lowSHPosZ, JR1));
3750
3789
  figLowStopperHolderPre.addMain(contourCircle8(-param.JL1 / 2, lowSHPosZ, JR1H));
3751
3790
  figLowStopperHolderPre.addMain(contourCircle8(param.JL1 / 2, lowSHPosZ, JR1));
@@ -3794,56 +3833,46 @@ function pGeom9(t, param, suffix = "") {
3794
3833
  figDoor.mergeFigure(rakeGeom.fig.faceDoor);
3795
3834
  figDoor.mergeFigure(figLowStopperHolderPre, true);
3796
3835
  figStopperTop.mergeFigure(rakeGeom.fig.faceDisc, true);
3797
- figStopperTop.addMain(ctrRectangle3(lowStopperTopPosX, -L5h, param.S1, param.L5));
3798
- figStopperTop.addMain(ctrRectangle3(lowStopperTopPosX + param.E7, -L5h, S1h, param.L5));
3799
- figStopperTop.addMain(ctrRectangle3(param.S2 - param.S1, -L5h, param.S1, param.L5));
3800
- figStopperTop.addMain(ctrRectangle3(param.S2 - param.E7 - S1h, -L5h, S1h, param.L5));
3801
- figStopperTop.addMain(ctrRectangle3(0, -L5h, S2s, param.S1));
3802
- figStopperTop.addMain(ctrRectangle3(0, -L5h + param.E7, S2s, S1h));
3803
- figStopperTop.addMain(ctrRectangle3(0, L5h - param.S1, S2s, param.S1));
3804
- figStopperTop.addMain(ctrRectangle3(0, L5h - param.S1 + param.E7, S2s, S1h));
3805
- figStopperTop.addMain(ctrRectangle3(0, -R1 - param.S1, S2s, param.S1));
3806
- figStopperTop.addMain(ctrRectangle3(0, -R1 - param.S1 + param.E7, S2s, S1h));
3807
- figStopperTop.addMain(ctrRectangle3(0, R1, S2s, param.S1));
3808
- figStopperTop.addMain(ctrRectangle3(0, R1 + param.E7, S2s, S1h));
3809
- figStopperTop.addSecond(ctrRectangle3(-lowSHL, -param.JL1 / 2 - JR1, lowSHL, 2 * JR1));
3810
- figStopperTop.addSecond(ctrRectangle3(-lowSHL, -param.JL1 / 2 - JR1H, lowSHL, 2 * JR1H));
3811
- figStopperTop.addSecond(ctrRectangle3(-lowSHL, param.JL1 / 2 - JR1, lowSHL, 2 * JR1));
3812
- figStopperTop.addSecond(ctrRectangle3(-lowSHL, param.JL1 / 2 - JR1H, lowSHL, 2 * JR1H));
3813
- const Hi1SHL = R1 + param.JS3;
3814
- const Hi1SHW = param.JD3 - 2 * param.JE3;
3815
- figStopperTop.addSecond(ctrRectangle3(-param.JD3 / 2, -Hi1SHL, param.JD3, Hi1SHL));
3816
- figStopperTop.addSecond(ctrRectangle3(-param.JD3 / 2 + param.JE3, -Hi1SHL, Hi1SHW, Hi1SHL));
3817
- figStopperTop.addSecond(ctrRectangle3(-param.JD3 / 2, 0, param.JD3, Hi1SHL));
3818
- figStopperTop.addSecond(ctrRectangle3(-param.JD3 / 2 + param.JE3, 0, Hi1SHW, Hi1SHL));
3836
+ figStopperTop.addMain(ctrRectRot22(-R1 - param.JS1, -L5h, param.L5, param.S1, vertiT));
3837
+ figStopperTop.addMain(ctrRectRot22(-R1 - param.JS1, -L5h, param.L5, S1h, vertiT));
3838
+ figStopperTop.addMain(ctrRectRot22(S2s, -L5h, param.L5, param.S1, vertiT));
3839
+ figStopperTop.addMain(ctrRectRot22(S2s, -L5h, param.L5, S1h, vertiT));
3840
+ figStopperTop.addMain(ctrRectRot22(0, -L5h + S1r, S2s, param.S1, horiR));
3841
+ figStopperTop.addMain(ctrRectRot22(0, -L5h + S1r, S2s, S1h, horiR));
3842
+ figStopperTop.addMain(ctrRectRot22(0, L5h - S1r, S2s, param.S1, horiR));
3843
+ figStopperTop.addMain(ctrRectRot22(0, L5h - S1r, S2s, S1h, horiR));
3844
+ figStopperTop.addMain(ctrRectRot22(0, -R1 - S1r, S2s, param.S1, horiR));
3845
+ figStopperTop.addMain(ctrRectRot22(0, -R1 - S1r, S2s, S1h, horiR));
3846
+ figStopperTop.addMain(ctrRectRot22(0, R1 + S1r, S2s, param.S1, horiR));
3847
+ figStopperTop.addMain(ctrRectRot22(0, R1 + S1r, S2s, S1h, horiR));
3848
+ figStopperTop.addSecond(ctrRectRot22(0, -param.JL1 / 2, lowSHL, 2 * JR1, horiL));
3849
+ figStopperTop.addSecond(ctrRectRot22(0, -param.JL1 / 2, lowSHL, 2 * JR1H, horiL));
3850
+ figStopperTop.addSecond(ctrRectRot22(0, param.JL1 / 2, lowSHL, 2 * JR1, horiL));
3851
+ figStopperTop.addSecond(ctrRectRot22(0, param.JL1 / 2, lowSHL, 2 * JR1H, horiL));
3852
+ figStopperTop.addSecond(ctrRectRot22(0, 0, Hi1SHL, param.JD3, vertiB));
3853
+ figStopperTop.addSecond(ctrRectRot22(0, 0, Hi1SHL, Hi1SHW, vertiB));
3854
+ figStopperTop.addSecond(ctrRectRot22(0, 0, Hi1SHL, param.JD3, vertiT));
3855
+ figStopperTop.addSecond(ctrRectRot22(0, 0, Hi1SHL, Hi1SHW, vertiT));
3819
3856
  figStopperSide.mergeFigure(rakeGeom.fig.faceBeam, true);
3820
3857
  figStopperSide.addMain(contourCircle8(-R1 - param.JS1, stopper1H, S1r));
3821
3858
  figStopperSide.addMain(contourCircle8(-R1 - param.JS1, stopper1H, S1hr));
3822
3859
  figStopperSide.addMain(contourCircle8(S2s, stopper2H + S1r, S1r));
3823
3860
  figStopperSide.addMain(contourCircle8(S2s, stopper2H + S1r, S1hr));
3824
- figStopperSide.addSecond(ctrRectangle3(0, stopper2H, S2s, param.S1));
3825
- figStopperSide.addSecond(ctrRectangle3(0, stopper2H + param.E7, S2s, S1h));
3861
+ figStopperSide.addSecond(ctrRectRot22(0, stopper2H + S1r, S2s, param.S1, horiR));
3862
+ figStopperSide.addSecond(ctrRectRot22(0, stopper2H + S1r, S2s, S1h, horiR));
3826
3863
  const stopper3Ly = stopper2H + S1r - stopper3H;
3827
3864
  const stp3L = Math.sqrt(S2s ** 2 + stopper3Ly ** 2);
3828
3865
  const stp3A = Math.atan2(stopper3Ly, S2s);
3829
3866
  rGeome.logstr += `stopper-rod: L ${ffix11(stp3L)} mm, A ${ffix11(radToDeg7(stp3A))} degree
3830
3867
  `;
3831
- const stp3posdX = S1r * Math.sin(stp3A);
3832
- const stp3posdY = S1r * Math.cos(stp3A);
3833
- const stp3posY = stopper3H - stp3posdY;
3834
- figStopperSide.addSecond(ctrRectRot2(stp3posdX, stp3posY, stp3L, param.S1, stp3A));
3835
- const stp3posdX2 = S1hr * Math.sin(stp3A);
3836
- const stp3posdY2 = S1hr * Math.cos(stp3A);
3837
- const stp3posY2 = stopper3H - stp3posdY2;
3838
- figStopperSide.addSecond(ctrRectRot2(stp3posdX2, stp3posY2, stp3L, S1h, stp3A));
3839
- figStopperSide.addSecond(ctrRectangle3(-lowSHL, lowSHPosZ - JR1, lowSHL, 2 * JR1));
3840
- figStopperSide.addSecond(ctrRectangle3(-lowSHL, lowSHPosZ - JR1H, lowSHL, 2 * JR1H));
3868
+ figStopperSide.addSecond(ctrRectRot22(0, stopper3H, stp3L, param.S1, stp3A));
3869
+ figStopperSide.addSecond(ctrRectRot22(0, stopper3H, stp3L, S1h, stp3A));
3870
+ figStopperSide.addSecond(ctrRectRot22(0, lowSHPosZ, lowSHL, 2 * JR1, horiL));
3871
+ figStopperSide.addSecond(ctrRectRot22(0, lowSHPosZ, lowSHL, 2 * JR1H, horiL));
3841
3872
  figStopperSide.addSecond(contourCircle8(0, stopper3H, param.JD3 / 2));
3842
3873
  figStopperSide.addSecond(contourCircle8(0, stopper3H, param.JD3 / 2 - param.JE3));
3843
- const Hi2SHL = param.D4 / 2 + param.JS4;
3844
- const Hi2SHW2 = param.JD4 / 2 - param.JE4;
3845
- figStopperSide.addSecond(ctrRectangle3(-param.JD4 / 2, Hi2SHpz, param.JD4, Hi2SHL));
3846
- figStopperSide.addSecond(ctrRectangle3(-Hi2SHW2, Hi2SHpz, 2 * Hi2SHW2, Hi2SHL));
3874
+ figStopperSide.addSecond(ctrRectRot22(0, Hi2SHpz, Hi2SHL, param.JD4, vertiT));
3875
+ figStopperSide.addSecond(ctrRectRot22(0, Hi2SHpz, Hi2SHL, Hi2SHW, vertiT));
3847
3876
  figStopperSideH.mergeFigure(figStopperSide, true);
3848
3877
  figStopperSideH.addMain(contourCircle8(-R1 - param.JS1, stopper1H, S1hr));
3849
3878
  figStopperSideH.addMain(contourCircle8(param.S2 - S1r, stopper2H + S1r, S1hr));
@@ -3873,25 +3902,22 @@ function pGeom9(t, param, suffix = "") {
3873
3902
  figStopperFaceBH.addMain(contourCircle8(R1 + S1r, 0, S1hr));
3874
3903
  figLowStopperHolder.mergeFigure(rakeGeom.fig.faceCone, true);
3875
3904
  figLowStopperHolder.mergeFigure(figLowStopperHolderPre);
3876
- const px8 = -Hi2SHpy - Hi2SHW2;
3877
- const px9 = Hi2SHpy - Hi2SHW2;
3878
- const py10 = stopper3H - Hi1SHW / 2;
3879
- figLowStopperHolder.addSecond(ctrRectangle3(-Hi2SHpy - JR4, Hi2SHpz, param.JD4, Hi2SHL));
3880
- figLowStopperHolder.addSecond(ctrRectangle3(px8, Hi2SHpz, 2 * Hi2SHW2, Hi2SHL));
3881
- figLowStopperHolder.addSecond(ctrRectangle3(Hi2SHpy - JR4, Hi2SHpz, param.JD4, Hi2SHL));
3882
- figLowStopperHolder.addSecond(ctrRectangle3(px9, Hi2SHpz, 2 * Hi2SHW2, Hi2SHL));
3883
- figLowStopperHolder.addSecond(ctrRectangle3(-Hi1SHL, stopper3H - JR3, Hi1SHL, param.JD3));
3884
- figLowStopperHolder.addSecond(ctrRectangle3(-Hi1SHL, py10, Hi1SHL, Hi1SHW));
3885
- figLowStopperHolder.addSecond(ctrRectangle3(0, stopper3H - JR3, Hi1SHL, param.JD3));
3886
- figLowStopperHolder.addSecond(ctrRectangle3(0, stopper3H - Hi1SHW / 2, Hi1SHL, Hi1SHW));
3905
+ figLowStopperHolder.addSecond(ctrRectRot22(-Hi2SHpy, Hi2SHpz, Hi2SHL, param.JD4, vertiT));
3906
+ figLowStopperHolder.addSecond(ctrRectRot22(-Hi2SHpy, Hi2SHpz, Hi2SHL, Hi2SHW, vertiT));
3907
+ figLowStopperHolder.addSecond(ctrRectRot22(Hi2SHpy, Hi2SHpz, Hi2SHL, param.JD4, vertiT));
3908
+ figLowStopperHolder.addSecond(ctrRectRot22(Hi2SHpy, Hi2SHpz, Hi2SHL, Hi2SHW, vertiT));
3909
+ figLowStopperHolder.addSecond(ctrRectRot22(0, stopper3H, Hi1SHL, param.JD3, horiL));
3910
+ figLowStopperHolder.addSecond(ctrRectRot22(0, stopper3H, Hi1SHL, Hi1SHW, horiL));
3911
+ figLowStopperHolder.addSecond(ctrRectRot22(0, stopper3H, Hi1SHL, param.JD3, horiR));
3912
+ figLowStopperHolder.addSecond(ctrRectRot22(0, stopper3H, Hi1SHL, Hi1SHW, horiR));
3887
3913
  figHi1StopperHolder.mergeFigure(figStopperSide, true);
3888
3914
  figHi1StopperHolder.addMain(contourCircle8(0, stopper3H, param.JD3 / 2));
3889
3915
  figHi1StopperHolder.addMain(contourCircle8(0, stopper3H, param.JD3 / 2 - param.JE3));
3890
3916
  figHi2StopperHolder.mergeFigure(figStopperTop, true);
3891
- figHi2StopperHolder.addMain(contourCircle8(0, -Hi2SHpy, JR4));
3892
- figHi2StopperHolder.addMain(contourCircle8(0, -Hi2SHpy, JR4 - param.JE4));
3893
- figHi2StopperHolder.addMain(contourCircle8(0, Hi2SHpy, JR4));
3894
- figHi2StopperHolder.addMain(contourCircle8(0, Hi2SHpy, JR4 - param.JE4));
3917
+ figHi2StopperHolder.addMain(contourCircle8(0, -Hi2SHpy, param.JD4 / 2));
3918
+ figHi2StopperHolder.addMain(contourCircle8(0, -Hi2SHpy, param.JD4 / 2 - param.JE4));
3919
+ figHi2StopperHolder.addMain(contourCircle8(0, Hi2SHpy, param.JD4 / 2));
3920
+ figHi2StopperHolder.addMain(contourCircle8(0, Hi2SHpy, param.JD4 / 2 - param.JE4));
3895
3921
  rGeome.fig = {
3896
3922
  faceCone: figCone,
3897
3923
  faceBeam: figBeam,
@@ -4077,22 +4103,22 @@ var pDef10 = {
4077
4103
  partName: "heliostat_2",
4078
4104
  params: [
4079
4105
  //pNumber(name, unit, init, min, max, step)
4080
- pNumber10("H1", "mm", 3e3, 10, 4e4, 10),
4081
- pNumber10("H2", "mm", 2500, 50, 4e4, 10),
4082
- pNumber10("D1", "mm", 1e3, 20, 4e3, 10),
4083
- pNumber10("D2", "mm", 700, 20, 4e3, 10),
4106
+ pNumber10("H1", "mm", 3e3, 10, 4e4, 1),
4107
+ pNumber10("H2", "mm", 2500, 50, 4e4, 1),
4108
+ pNumber10("D1", "mm", 1e3, 20, 4e3, 1),
4109
+ pNumber10("D2", "mm", 700, 20, 4e3, 1),
4084
4110
  pNumber10("E1", "mm", 30, 1, 80, 1),
4085
4111
  pSectionSeparator9("rake"),
4086
4112
  pNumber10("H3", "mm", 200, 1, 500, 1),
4087
4113
  pNumber10("H4", "mm", 800, 1, 4e3, 1),
4088
- pNumber10("H5", "mm", 3e3, 50, 6e3, 10),
4114
+ pNumber10("H5", "mm", 3e3, 50, 6e3, 1),
4089
4115
  pNumber10("H6", "mm", 200, 1, 4e3, 1),
4090
4116
  pNumber10("H7", "mm", 400, 1, 4e3, 1),
4091
- pNumber10("D3", "mm", 900, 20, 4e3, 10),
4092
- pNumber10("D4", "mm", 400, 20, 4e3, 10),
4093
- pNumber10("D5", "mm", 300, 20, 1e3, 10),
4094
- pNumber10("D6", "mm", 200, 10, 1e3, 10),
4095
- pNumber10("D7", "mm", 400, 10, 1e3, 10),
4117
+ pNumber10("D3", "mm", 900, 20, 4e3, 1),
4118
+ pNumber10("D4", "mm", 400, 20, 4e3, 1),
4119
+ pNumber10("D5", "mm", 300, 20, 1e3, 1),
4120
+ pNumber10("D6", "mm", 200, 10, 1e3, 1),
4121
+ pNumber10("D7", "mm", 400, 10, 1e3, 1),
4096
4122
  pSectionSeparator9("rake diagonal"),
4097
4123
  pNumber10("D9", "mm", 100, 1, 1e3, 1),
4098
4124
  pNumber10("L7", "mm", 100, 1, 1e3, 1),
@@ -4100,11 +4126,11 @@ var pDef10 = {
4100
4126
  pSectionSeparator9("rake stopper"),
4101
4127
  pNumber10("S1", "mm", 100, 1, 800, 1),
4102
4128
  pSectionSeparator9("swing"),
4103
- pNumber10("L1", "mm", 12500, 100, 4e4, 10),
4104
- pNumber10("L2", "mm", 6e3, 100, 4e4, 10),
4129
+ pNumber10("L1", "mm", 12500, 100, 4e4, 1),
4130
+ pNumber10("L2", "mm", 6e3, 100, 4e4, 1),
4105
4131
  pNumber10("L3", "mm", 100, 1, 500, 1),
4106
4132
  pNumber10("L4", "mm", 600, 1, 4e3, 1),
4107
- pNumber10("L5", "mm", 2e3, 10, 6e3, 10),
4133
+ pNumber10("L5", "mm", 2e3, 10, 6e3, 1),
4108
4134
  pNumber10("L6", "mm", 2e3, 1, 6e3, 1),
4109
4135
  pNumber10("H9", "mm", 100, 1, 400, 1),
4110
4136
  pSectionSeparator9("motion amplitude"),
@@ -4230,6 +4256,20 @@ function pGeom10(t, param, suffix = "") {
4230
4256
  rakeParam.setVal("L6", param.L6 + 2 * param.L3);
4231
4257
  rakeParam.setVal("S1", param.S1);
4232
4258
  rakeParam.setVal("S2", param.L2 / 2);
4259
+ rakeParam.setVal("S3", 0);
4260
+ rakeParam.setVal("S3", 0);
4261
+ rakeParam.setVal("JD1", param.D3 / 4);
4262
+ rakeParam.setVal("JE1", param.E1);
4263
+ rakeParam.setVal("JL1", param.D3 / 3);
4264
+ rakeParam.setVal("JH1", 0);
4265
+ rakeParam.setVal("JS1", param.S1 / 2);
4266
+ rakeParam.setVal("JS2", param.S1 / 2);
4267
+ rakeParam.setVal("JD3", param.D4 / 4);
4268
+ rakeParam.setVal("JE3", param.E1);
4269
+ rakeParam.setVal("JS3", param.D4 / 4);
4270
+ rakeParam.setVal("JD4", param.D4 / 4);
4271
+ rakeParam.setVal("JE4", param.E1);
4272
+ rakeParam.setVal("JS4", param.D4 / 4);
4233
4273
  swingParam.setVal("L2", param.L2);
4234
4274
  swingParam.setVal("D1", param.D6);
4235
4275
  swingParam.setVal("H3", param.H9);
@@ -4244,6 +4284,8 @@ function pGeom10(t, param, suffix = "") {
4244
4284
  swingParam.setVal("L5", param.L5);
4245
4285
  swingParam.setVal("L6", param.L6);
4246
4286
  swingParam.setVal("L3", param.D7);
4287
+ swingParam.setVal("S1", param.D6 / 2);
4288
+ swingParam.setVal("R2", 0);
4247
4289
  const poleStaticGeom = poleStaticDef.pGeom(
4248
4290
  0,
4249
4291
  poleStaticParam.getParamVal(),
@@ -4767,8 +4809,8 @@ function pGeom13(t, param, suffix = "") {
4767
4809
  }
4768
4810
  rGeome.logstr += `ring-height: ${ffix15(ringHeight)} mm
4769
4811
  `;
4770
- const tR1 = R3 - param.L2;
4771
- const tR2 = tR1 - param.L3;
4812
+ const tR1 = R3 - param.L3;
4813
+ const tR2 = tR1 - param.L2;
4772
4814
  const tA = 2 * Math.PI / (2 * param.N1);
4773
4815
  const ctrTeeth = contour12(tR1, 0);
4774
4816
  for (let i = 0; i < param.N1; i++) {
@@ -4800,7 +4842,7 @@ function pGeom13(t, param, suffix = "") {
4800
4842
  return rCtr;
4801
4843
  };
4802
4844
  const ctrGearTeeth = function(rnl) {
4803
- const rCtr = contour12(rnl * (R3 - param.L2), -param.H1).addSegStrokeR(-rnl * param.L3, 0).addSegStrokeR(0, -param.H2).addSegStrokeR(rnl * param.L3, 0).closeSegStroke();
4845
+ const rCtr = contour12(rnl * (R3 - param.L3), -param.H1).addSegStrokeR(-rnl * param.L2, 0).addSegStrokeR(0, -param.H2).addSegStrokeR(rnl * param.L2, 0).closeSegStroke();
4804
4846
  return rCtr;
4805
4847
  };
4806
4848
  const ctrL = function(rnl) {
@@ -4879,9 +4921,9 @@ var pDef14 = {
4879
4921
  partName: "ring_guidance",
4880
4922
  params: [
4881
4923
  //pNumber(name, unit, init, min, max, step)
4882
- pNumber14("D1", "mm", 700, 100, 2500, 1),
4924
+ pNumber14("D1", "mm", 700, 5, 2500, 1),
4883
4925
  pNumber14("N1", "legs", 6, 1, 24, 1),
4884
- pNumber14("D2", "mm", 600, 100, 2e3, 1),
4926
+ pNumber14("D2", "mm", 600, 5, 2e3, 1),
4885
4927
  pSectionSeparator13("leg details"),
4886
4928
  pNumber14("D3", "mm", 30, 1, 200, 1),
4887
4929
  pNumber14("D4", "mm", 50, 1, 200, 1),
@@ -5005,7 +5047,7 @@ var ringGuidanceDef = {
5005
5047
  // src/heliostat/vaxis_guidance.ts
5006
5048
  import {
5007
5049
  contourCircle as contourCircle13,
5008
- ctrRectangle as ctrRectangle4,
5050
+ ctrRectangle as ctrRectangle3,
5009
5051
  figure as figure15,
5010
5052
  ffix as ffix17,
5011
5053
  pNumber as pNumber15,
@@ -5019,9 +5061,9 @@ var pDef15 = {
5019
5061
  partName: "vaxis_guidance",
5020
5062
  params: [
5021
5063
  //pNumber(name, unit, init, min, max, step)
5022
- pNumber15("D1", "mm", 700, 100, 2500, 1),
5064
+ pNumber15("D1", "mm", 700, 5, 2500, 1),
5023
5065
  pNumber15("N1", "legs", 6, 1, 24, 1),
5024
- pNumber15("D2", "mm", 600, 100, 2e3, 1),
5066
+ pNumber15("D2", "mm", 600, 5, 2e3, 1),
5025
5067
  pSectionSeparator14("leg details"),
5026
5068
  pNumber15("D3", "mm", 30, 1, 200, 1),
5027
5069
  pNumber15("D4", "mm", 50, 1, 200, 1),
@@ -5036,7 +5078,7 @@ var pDef15 = {
5036
5078
  pNumber15("E2", "mm", 20, 1, 200, 1),
5037
5079
  pSectionSeparator14("spring"),
5038
5080
  pNumber15("SA1", "degree", 0, -45, 45, 1),
5039
- pNumber15("SE1", "mm", 10, 1, 200, 1),
5081
+ pNumber15("SE1", "mm", 10, 0.1, 200, 0.1),
5040
5082
  pNumber15("SD1", "mm", 20, 1, 200, 1),
5041
5083
  pNumber15("SD2", "mm", 10, 1, 200, 1),
5042
5084
  pNumber15("SN1", "loops", 2, 0, 8, 1),
@@ -5107,10 +5149,10 @@ function pGeom15(t, param, suffix = "") {
5107
5149
  figTop.addMain(innerCtr);
5108
5150
  figTop.addSecond(contourCircle13(0, 0, param.Dvaxis / 2));
5109
5151
  const w1 = R1 - R6 + R4;
5110
- figSection.addMain(ctrRectangle4(R6, 0, w1, param.T1));
5111
- figSection.addMain(ctrRectangle4(-R6 - w1, 0, w1, param.T1));
5112
- figSection.addSecond(ctrRectangle4(R1 - R3, 0, 2 * R3, param.T1));
5113
- figSection.addSecond(ctrRectangle4(-R1 - R3, 0, 2 * R3, param.T1));
5152
+ figSection.addMain(ctrRectangle3(R6, 0, w1, param.T1));
5153
+ figSection.addMain(ctrRectangle3(-R6 - w1, 0, w1, param.T1));
5154
+ figSection.addSecond(ctrRectangle3(R1 - R3, 0, 2 * R3, param.T1));
5155
+ figSection.addSecond(ctrRectangle3(-R1 - R3, 0, 2 * R3, param.T1));
5114
5156
  rGeome.fig = {
5115
5157
  faceTop: figTop,
5116
5158
  faceSection: figSection
@@ -5156,7 +5198,7 @@ import {
5156
5198
  point as point6,
5157
5199
  contour as contour14,
5158
5200
  contourCircle as contourCircle14,
5159
- ctrRectangle as ctrRectangle5,
5201
+ ctrRectangle as ctrRectangle4,
5160
5202
  figure as figure16,
5161
5203
  degToRad as degToRad7,
5162
5204
  ffix as ffix18,
@@ -5232,7 +5274,7 @@ function pGeom16(t, param, suffix = "") {
5232
5274
  const sA1 = Math.PI - sA0;
5233
5275
  const sA2 = Math.PI / 2 - Math.PI / 6 + sA0;
5234
5276
  if (Rinner + SR1 + param.SE1 > Rinner2) {
5235
- throw `err411: D8 ${param.D8} is too small compare to D5 ${param.D5}, E5 ${param.D5}, E8 ${param.E8}`;
5277
+ throw `err411: D8 ${param.D8} is too small compare to D5 ${param.D5}, E5 ${param.E5}, E8 ${param.E8}`;
5236
5278
  }
5237
5279
  if (2 * Math.PI / 3 - 2 * aLeg < param.R9 / Rinner2) {
5238
5280
  throw `err412: L5 ${param.L5} is too large compare to R9 ${param.R9}`;
@@ -5264,9 +5306,9 @@ function pGeom16(t, param, suffix = "") {
5264
5306
  ctrProfile.addPointA(p23.cx, p23.cy).addSegArc(SR1 + param.SE1, false, true).addSegStrokeAP(-Math.PI / 6, Rinner).addSegStrokeAP(-Math.PI / 6, R8).addPointAP(Math.PI / 2, R8).addSegArc(R8, false, true).closeSegStroke();
5265
5307
  figProfile.addMain(ctrProfile);
5266
5308
  const R8plus = R8 * Math.sin(Math.PI / 6);
5267
- figSide.addMain(ctrRectangle5(0, -R8plus, param.L4, R8 + R8plus));
5268
- figSide.addSecond(ctrRectangle5(0, -R8, param.L4, 2 * R8));
5269
- figSide.addSecond(ctrRectangle5(0, -R5, param.L4, 2 * R5));
5309
+ figSide.addMain(ctrRectangle4(0, -R8plus, param.L4, R8 + R8plus));
5310
+ figSide.addSecond(ctrRectangle4(0, -R8, param.L4, 2 * R8));
5311
+ figSide.addSecond(ctrRectangle4(0, -R5, param.L4, 2 * R5));
5270
5312
  rGeome.fig = {
5271
5313
  faceProfile: figProfile,
5272
5314
  faceSide: figSide
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "designix",
3
- "version": "0.5.30",
3
+ "version": "0.5.32",
4
4
  "description": "The first designs made with parametrix",
5
5
  "type": "module",
6
6
  "private": false,