designix 0.5.38 → 0.5.40

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/index.js CHANGED
@@ -1035,6 +1035,7 @@ function pGeom(t, param, suffix = "") {
1035
1035
  rGeome.logstr += `${rGeome.partName} simTime: ${t}
1036
1036
  `;
1037
1037
  try {
1038
+ const fOne = [];
1038
1039
  const gp1 = gwProfile();
1039
1040
  const gp2 = gwProfile();
1040
1041
  gp1.set1ModuleToothNumber(param.module, param.N1);
@@ -1083,7 +1084,7 @@ function pGeom(t, param, suffix = "") {
1083
1084
  const gp1p = gp1.getProfile();
1084
1085
  rGeome.logstr += gp1.getMsg();
1085
1086
  rGeome.logstr += gp1p.check();
1086
- figOne.addMain(gp1p);
1087
+ fOne.push(gp1p);
1087
1088
  if (param.centralAxis === 1) {
1088
1089
  const g1axis = axisTorque(
1089
1090
  gp1.cx,
@@ -1097,7 +1098,7 @@ function pGeom(t, param, suffix = "") {
1097
1098
  initAngle1
1098
1099
  );
1099
1100
  rGeome.logstr += g1axis.check();
1100
- figOne.addMain(g1axis);
1101
+ fOne.push(g1axis);
1101
1102
  }
1102
1103
  if (param.hollow === 1) {
1103
1104
  const materialHeightExtMax = gp1.br;
@@ -1121,12 +1122,14 @@ function pGeom(t, param, suffix = "") {
1121
1122
  );
1122
1123
  for (const g1hollowE of g1hollow) {
1123
1124
  rGeome.logstr += g1hollowE.check();
1124
- figOne.addMain(g1hollowE);
1125
+ fOne.push(g1hollowE);
1125
1126
  }
1126
1127
  }
1128
+ figOne.addMainOI(fOne);
1127
1129
  const gp2p = gp2.getProfile();
1128
1130
  rGeome.logstr += gp2p.check();
1129
1131
  figOne.addSecond(gp2p);
1132
+ const fTwo = [];
1130
1133
  const wheelRadius = gp1.ar + param.wheelRadiusExtra;
1131
1134
  if (param.wheelAxis === 1) {
1132
1135
  const ctrAxisProfile_right = axisProfile(
@@ -1153,14 +1156,15 @@ function pGeom(t, param, suffix = "") {
1153
1156
  param.wheelExtraRound,
1154
1157
  false
1155
1158
  );
1156
- figTwo.addMain(ctrAxisProfile_right);
1159
+ fTwo.push(ctrAxisProfile_right);
1157
1160
  figTwo.addSecond(ctrAxisProfile_left);
1158
1161
  } else {
1159
1162
  const ctrAxisProfile_right = contour3(0, -param.wheelHeight / 2).addSegStrokeR(0, param.wheelHeight).addSegStrokeR(wheelRadius, 0).addSegStrokeR(0, -param.wheelHeight).closeSegStroke();
1160
1163
  const ctrAxisProfile_left = contour3(0, -param.wheelHeight / 2).addSegStrokeR(0, param.wheelHeight).addSegStrokeR(-wheelRadius, 0).addSegStrokeR(0, -param.wheelHeight).closeSegStroke();
1161
- figTwo.addMain(ctrAxisProfile_right);
1164
+ fTwo.push(ctrAxisProfile_right);
1162
1165
  figTwo.addSecond(ctrAxisProfile_left);
1163
1166
  }
1167
+ figTwo.addMainOI(fTwo);
1164
1168
  rGeome.fig = { teethProfile: figOne, axisProfile: figTwo };
1165
1169
  const designName = rGeome.partName;
1166
1170
  const axisHLength = param.wheelHeight / 2 + param.wheelMidExtra + param.wheelAxisLength + 10;
@@ -1773,7 +1777,7 @@ function pGeom3(t, param, suffix = "") {
1773
1777
  const rCtr = contour5(rnl * (R1 + R3), -param.PHE1 / 2).addSegStrokeA(rnl * (R1 + R3), param.PHE1 / 2).addSegStrokeA(rnl * (R1 - R3), param.PHE1 / 2).addSegStrokeA(rnl * (R1 - R3), -param.PHE1 / 2).closeSegStroke();
1774
1778
  return rCtr;
1775
1779
  };
1776
- figOuter.addMain(ctrOuter(1));
1780
+ figOuter.addMainO(ctrOuter(1));
1777
1781
  figOuter.addSecond(ctrOuter(-1));
1778
1782
  figOuter.addSecond(ctrLeg(1));
1779
1783
  figOuter.addSecond(ctrLegHole(1));
@@ -1793,24 +1797,26 @@ function pGeom3(t, param, suffix = "") {
1793
1797
  figButtress2.mergeFigure(figOuter, true);
1794
1798
  figOuter.addSecond(ctrButtress1(1));
1795
1799
  figOuter.addSecond(ctrButtress2(1));
1796
- figButtress1.addMain(ctrButtress1(1));
1800
+ figButtress1.addMainO(ctrButtress1(1));
1797
1801
  figButtress1.addSecond(ctrButtress2(1));
1798
1802
  figButtress2.addSecond(ctrButtress1(1));
1799
- figButtress2.addMain(ctrButtress2(1));
1800
- figPetal.addMain(contourCircle3(0, 0, innerR));
1803
+ figButtress2.addMainO(ctrButtress2(1));
1804
+ const fPetal = [];
1805
+ fPetal.push(contourCircle3(0, 0, innerR));
1801
1806
  figPetal.addSecond(contourCircle3(0, 0, R2));
1802
1807
  figPetal.addSecond(contourCircle3(0, 0, Math.max(outerR1, outerR2)));
1803
1808
  const [petalLog, petalCtr, petalAngles] = ctrHolderPetal(param);
1804
1809
  rGeome.logstr += petalLog;
1805
- figPetal.addMain(petalCtr);
1810
+ fPetal.push(petalCtr);
1806
1811
  for (const rota of petalAngles) {
1807
1812
  const p4 = point4(0, 0).translatePolar(rota, R1);
1808
- figPetal.addMain(contourCircle3(p4.cx, p4.cy, param.PHD3 / 2));
1813
+ fPetal.push(contourCircle3(p4.cx, p4.cy, param.PHD3 / 2));
1809
1814
  }
1810
1815
  const ctrButtress = contour5(R1 + param.PHR4, -param.PHE3).addSegStrokeA(innerR, -param.PHE3).addSegStrokeA(innerR, param.PHE3).addSegStrokeA(R1 + param.PHR4, param.PHE3).closeSegStroke();
1811
1816
  for (const rota of petalAngles) {
1812
1817
  figPetal.addSecond(ctrButtress.rotate(0, 0, rota));
1813
1818
  }
1819
+ figPetal.addMainOI(fPetal);
1814
1820
  rGeome.fig = {
1815
1821
  facePetal: figPetal,
1816
1822
  faceOuter: figOuter,
@@ -2083,7 +2089,7 @@ function pGeom4(t, param, suffix = "") {
2083
2089
  rPoleProfile.closeSegStroke();
2084
2090
  return rPoleProfile;
2085
2091
  };
2086
- figCut.addMain(ctrPoleProfile(1, false));
2092
+ figCut.addMainO(ctrPoleProfile(1, false));
2087
2093
  figCut.addSecond(ctrPoleProfile(1, true));
2088
2094
  figCut.addSecond(ctrPoleProfile(-1, true));
2089
2095
  const R4 = param.D4 / 2;
@@ -2105,26 +2111,29 @@ function pGeom4(t, param, suffix = "") {
2105
2111
  );
2106
2112
  return rCtrDoorFace;
2107
2113
  };
2108
- figFace.addMain(ctrDoorFace(0));
2109
- figFace.addMain(ctrDoorFace(param.L2));
2114
+ figFace.addMainOI([ctrDoorFace(0), ctrDoorFace(param.L2)]);
2110
2115
  const ctrPoleFace = contour6(R1, 0).addSegStrokeA(R1, param.H1).addSegStrokeA(R2, poleHeight).addSegStrokeA(-R2, poleHeight).addSegStrokeA(-R1, param.H1).addSegStrokeA(-R1, 0).closeSegStroke();
2111
2116
  figFace.addSecond(ctrPoleFace);
2112
2117
  const ctrDoorSide = contour6(-R1, param.H3).addSegStrokeR(0, param.H4).addSegStrokeR(-param.E3, 0).addSegStrokeR(0, -param.H4).closeSegStroke();
2113
2118
  figFace.addSecond(ctrDoorSide);
2114
- figBottom.addMain(contourCircle4(0, 0, R1));
2115
- figBottom.addMain(contourCircle4(0, 0, R3));
2119
+ const fBottom = [];
2120
+ fBottom.push(contourCircle4(0, 0, R1));
2121
+ fBottom.push(contourCircle4(0, 0, R3));
2116
2122
  const posR = R3 + param.L1;
2117
2123
  const posA = 2 * Math.PI / param.N1;
2118
2124
  for (let i = 0; i < param.N1; i++) {
2119
2125
  const posX = posR * Math.cos(i * posA);
2120
2126
  const posY = posR * Math.sin(i * posA);
2121
- figBottom.addMain(contourCircle4(posX, posY, param.D5 / 2));
2127
+ fBottom.push(contourCircle4(posX, posY, param.D5 / 2));
2122
2128
  }
2123
2129
  figBottom.addSecond(contourCircle4(0, 0, R2));
2124
2130
  figBottom.addSecond(contourCircle4(0, 0, R1 - param.E2));
2125
- figEmptyPole.addMain(contourCircle4(0, 0, R1 + param.E3));
2126
- figEmptyPole.addMain(contourCircle4(0, 0, R1 - param.E2));
2127
- figEmptyDoor.addMain(ctrDoorFace(param.L2));
2131
+ figBottom.addMainOI(fBottom);
2132
+ figEmptyPole.addMainOI([
2133
+ contourCircle4(0, 0, R1 + param.E3),
2134
+ contourCircle4(0, 0, R1 - param.E2)
2135
+ ]);
2136
+ figEmptyDoor.addMainO(ctrDoorFace(param.L2));
2128
2137
  const designName = rGeome.partName;
2129
2138
  const inheritList = [];
2130
2139
  const inheritNames = [];
@@ -2572,7 +2581,7 @@ function pGeom5(t, param, suffix = "") {
2572
2581
  param.H7,
2573
2582
  param.R9
2574
2583
  );
2575
- figCone.addMain(ctrCone(1));
2584
+ figCone.addMainO(ctrCone(1));
2576
2585
  figCone.addSecond(ctrConePlus(1));
2577
2586
  figCone.addSecond(ctrConePlus(-1));
2578
2587
  figCone.addSecond(ctrRectRot2(-beamL / 2, beamH, beamL, param.D4, horiR));
@@ -2588,10 +2597,11 @@ function pGeom5(t, param, suffix = "") {
2588
2597
  figCone.addSecond(ctrRectRot(-wingHPosX, wingHPosY, 2 * wingHR, wingL2, wingAngle));
2589
2598
  figCone.addSecond(ctrDoor);
2590
2599
  figConeHollow.mergeFigure(figCone, true);
2591
- figConeHollow.addMain(ctrConeHollow);
2600
+ figConeHollow.addMainO(ctrConeHollow);
2601
+ const fBeam = [];
2592
2602
  const ctrHand = contour7(handLowX, beamH + handLowY).addSegStrokeA(handHighXext, beamH + param.H5 - handHighYext).addSegStrokeA(handHighXint, beamH + param.H5 - handHighYint).addPointA(-handHighXint, beamH + param.H5 - handHighYint).addSegArc(R5, false, false).addSegStrokeA(-handHighXext, beamH + param.H5 - handHighYext).addSegStrokeA(-handLowX, beamH + handLowY).closeSegArc(R4, false, false);
2593
- figBeam.addMain(contourCircle5(0, beamH, R4));
2594
- figBeam.addMain(contourCircle5(0, beamH, R4 - param.E4));
2603
+ fBeam.push(contourCircle5(0, beamH, R4));
2604
+ fBeam.push(contourCircle5(0, beamH, R4 - param.E4));
2595
2605
  figBeam.addSecond(ctrConePlus(1));
2596
2606
  figBeam.addSecond(ctrConePlus(-1));
2597
2607
  figBeam.addSecond(ctrHand);
@@ -2599,17 +2609,19 @@ function pGeom5(t, param, suffix = "") {
2599
2609
  figBeam.addSecond(ctrRectRot2(0, param.H1 + param.L8, wingLy, 2 * R6, vertiT));
2600
2610
  figBeam.addSecond(ctrRectRot2(0, param.H1 + param.L8, wingLy, 2 * wingHR, vertiT));
2601
2611
  figBeam.addSecond(ctrDoor);
2602
- figBeamHollow.addMain(contourCircle5(0, beamH, R4 - param.E4));
2612
+ figBeam.addMainOI(fBeam);
2613
+ figBeamHollow.addMainO(contourCircle5(0, beamH, R4 - param.E4));
2603
2614
  figBeamHollow.addSecond(contourCircle5(0, beamH, R4));
2604
2615
  figBeamHollow.addSecond(ctrHand);
2605
- figDisc.addMain(contourCircle5(0, 0, R1));
2606
- figDisc.addMain(contourCircle5(0, 0, R3));
2616
+ const fDisc = [];
2617
+ fDisc.push(contourCircle5(0, 0, R1));
2618
+ fDisc.push(contourCircle5(0, 0, R3));
2607
2619
  const posR = R3 + param.L1;
2608
2620
  const posA = 2 * Math.PI / param.N1;
2609
2621
  for (let i = 0; i < param.N1; i++) {
2610
2622
  const posX = posR * Math.cos(i * posA);
2611
2623
  const posY = posR * Math.sin(i * posA);
2612
- figDisc.addMain(contourCircle5(posX, posY, R7));
2624
+ fDisc.push(contourCircle5(posX, posY, R7));
2613
2625
  }
2614
2626
  figDisc.addSecond(contourCircle5(0, 0, R1 - param.E1));
2615
2627
  figDisc.addSecond(contourCircle5(0, 0, R2));
@@ -2625,15 +2637,18 @@ function pGeom5(t, param, suffix = "") {
2625
2637
  figDisc.addSecond(ctrRectRot2(0, py9, wingLx, 2 * wingHR, vertiT));
2626
2638
  figDisc.addSecond(ctrRectRot2(0, -py9, wingLx, 2 * R6, vertiB));
2627
2639
  figDisc.addSecond(ctrRectRot2(0, -py9, wingLx, 2 * wingHR, vertiB));
2628
- figHand.addMain(ctrHand);
2640
+ figDisc.addMainOI(fDisc);
2641
+ figHand.addMainO(ctrHand);
2629
2642
  figHand.addSecond(contourCircle5(0, beamH, R4));
2630
2643
  figHand.addSecond(contourCircle5(0, beamH, R4 - param.E4));
2631
2644
  figHand.addSecond(contourCircle5(0, beamH + param.H5, R5));
2632
- figWing.addMain(contourCircle5(0, 0, R6));
2633
- figWing.addMain(contourCircle5(0, 0, wingHR));
2645
+ const fWing = [];
2646
+ fWing.push(contourCircle5(0, 0, R6));
2647
+ fWing.push(contourCircle5(0, 0, wingHR));
2648
+ figWing.addMainOI(fWing);
2634
2649
  figWingHollow.addSecond(contourCircle5(0, 0, R6));
2635
- figWingHollow.addMain(contourCircle5(0, 0, wingHR));
2636
- figDoor.addMain(ctrDoor);
2650
+ figWingHollow.addMainO(contourCircle5(0, 0, wingHR));
2651
+ figDoor.addMainO(ctrDoor);
2637
2652
  figDoor.addSecond(ctrConePlus(1));
2638
2653
  figDoor.addSecond(ctrConePlus(-1));
2639
2654
  figDoor.addSecond(ctrRectRot2(-beamL / 2, beamH, beamL, param.D4, horiR));
@@ -2917,19 +2932,24 @@ function pGeom6(t, param, suffix = "") {
2917
2932
  `;
2918
2933
  rGeome.logstr += `spide position angle: ${ffix8(radToDeg5(posAngle))} degree
2919
2934
  `;
2935
+ const fLegs = [];
2920
2936
  const ctrLeg = contour8(legE2, -legStartY).addCornerRounded(param.R2).addSegStrokeA(legE2, -param.L1).addCornerRounded(param.R2).addSegStrokeA(legL2, -param.L1).addCornerRounded(param.R2 + param.E2).addSegStrokeA(legL2 + legL4x, -param.L1 - legL4y).addSegStrokeA(legL2 + legL4x - E2x, -param.L1 - legL4y - E2y).addSegStrokeA(legL2 - elbowx, -param.L1 - param.E2).addCornerRounded(param.R2).addSegStrokeA(-legL2 + elbowx, -param.L1 - param.E2).addCornerRounded(param.R2).addSegStrokeA(-legL2 - legL4x + E2x, -param.L1 - legL4y - E2y).addSegStrokeA(-legL2 - legL4x, -param.L1 - legL4y).addSegStrokeA(-legL2, -param.L1).addCornerRounded(param.R2 + param.E2).addSegStrokeA(-legE2, -param.L1).addCornerRounded(param.R2).addSegStrokeA(-legE2, -legStartY).addCornerRounded(param.R2).closeSegArc(R1, true, false);
2921
- figLegs.addMain(ctrLeg);
2922
- figLegs.addMain(contourCircle6(0, 0, R1 - param.E1));
2937
+ fLegs.push(ctrLeg);
2938
+ fLegs.push(contourCircle6(0, 0, R1 - param.E1));
2923
2939
  figLegs.addSecond(ctrSquare(squareX, squareY, param.L3));
2924
2940
  figLegs.addSecond(ctrSquare(squareX, squareY2, param.L3 - 2 * param.E3));
2925
2941
  figLegs.addSecond(ctrSquare(-squareX, squareY, param.L3));
2926
2942
  figLegs.addSecond(ctrSquare(-squareX, squareY2, param.L3 - 2 * param.E3));
2927
- figTube.addMain(contourCircle6(0, 0, R1));
2928
- figTube.addMain(contourCircle6(0, 0, R1 - param.E1));
2929
- figTube.addMain(ctrSquare(squareX, squareY, param.L3));
2930
- figTube.addMain(ctrSquare(squareX, squareY2, param.L3 - 2 * param.E3));
2931
- figTube.addMain(ctrSquare(-squareX, squareY, param.L3));
2932
- figTube.addMain(ctrSquare(-squareX, squareY2, param.L3 - 2 * param.E3));
2943
+ figLegs.addMainOI(fLegs);
2944
+ figTube.addMainOI([contourCircle6(0, 0, R1), contourCircle6(0, 0, R1 - param.E1)]);
2945
+ figTube.addMainOI([
2946
+ ctrSquare(squareX, squareY, param.L3),
2947
+ ctrSquare(squareX, squareY2, param.L3 - 2 * param.E3)
2948
+ ]);
2949
+ figTube.addMainOI([
2950
+ ctrSquare(-squareX, squareY, param.L3),
2951
+ ctrSquare(-squareX, squareY2, param.L3 - 2 * param.E3)
2952
+ ]);
2933
2953
  figTube.addSecond(ctrLeg);
2934
2954
  figBody.addSecond(ctrRect(param.L5, param.D1, 0, -param.D1 / 2));
2935
2955
  figBody.addSecond(ctrRect(param.L5, param.L3, 0, -param.L4 - param.L3));
@@ -3094,19 +3114,18 @@ function pGeom7(t, param, suffix = "") {
3094
3114
  `;
3095
3115
  rGeome.logstr += `rake-beamL: (4*L4+L5+2*L6-2*H1) ${ffix9(rakeBeamL)} mm (compare with rake)
3096
3116
  `;
3097
- figSide.addMain(contourCircle7(0, 0, R1));
3098
- figSide.addMain(contourCircle7(0, 0, R1 - param.E1));
3117
+ figSide.addMainOI([contourCircle7(0, 0, R1), contourCircle7(0, 0, R1 - param.E1)]);
3099
3118
  const sidePx = [-param.L2 / 2, -param.L3 - param.H2, param.L3, param.L2 / 2 - param.H2];
3100
3119
  for (const px of sidePx) {
3101
- figSide.addMain(ctrRectangle2(px, lAE - param.H4, param.H2, param.H4));
3102
- figSide.addMain(
3120
+ figSide.addMainOI([
3121
+ ctrRectangle2(px, lAE - param.H4, param.H2, param.H4),
3103
3122
  ctrRectangle2(
3104
3123
  px + param.E2,
3105
3124
  lAE - param.H4 + param.E2,
3106
3125
  param.H2 - 2 * param.E2,
3107
3126
  param.H4 - 2 * param.E2
3108
3127
  )
3109
- );
3128
+ ]);
3110
3129
  }
3111
3130
  figSide.addSecond(ctrRectangle2(-param.L2 / 2, lAE, param.L2, param.H3));
3112
3131
  const facePx = [];
@@ -3123,15 +3142,15 @@ function pGeom7(t, param, suffix = "") {
3123
3142
  }
3124
3143
  }
3125
3144
  for (const px of facePx) {
3126
- figFace.addMain(ctrRectangle2(px, lAE, param.H1, param.H3));
3127
- figFace.addMain(
3145
+ figFace.addMainOI([
3146
+ ctrRectangle2(px, lAE, param.H1, param.H3),
3128
3147
  ctrRectangle2(
3129
3148
  px + param.E3,
3130
3149
  lAE + param.E3,
3131
3150
  param.H1 - 2 * param.E3,
3132
3151
  param.H3 - 2 * param.E3
3133
3152
  )
3134
- );
3153
+ ]);
3135
3154
  }
3136
3155
  figFace.addSecond(ctrRectangle2(-param.L1 / 2, -R1, param.L1, param.D1));
3137
3156
  figFace.addSecond(ctrRectangle2(-param.L1 / 2, lAE - param.H4, param.L1, param.H4));
@@ -3149,16 +3168,15 @@ function pGeom7(t, param, suffix = "") {
3149
3168
  const pF = pA.translatePolar(Math.PI / 2 + aEAC, R1);
3150
3169
  const pD = pF.rotate(pA, aBAC);
3151
3170
  const ctrButtress = contour9(-param.L3, lAE).addSegStrokeA(-param.S1, lAE).addCornerRounded(param.R2).addSegStrokeA(pD.cx, pD.cy).addPointA(0, -R1).addPointA(-pD.cx, pD.cy).addSegArc2().addSegStrokeA(param.S1, lAE).addCornerRounded(param.R2).addSegStrokeA(param.L3, lAE).addSegStrokeA(param.L3, lAE + param.E3).addSegStrokeA(-param.L3, lAE + param.E3).closeSegStroke();
3152
- figButtress.addMain(ctrButtress);
3153
- figButtress.addMain(contourCircle7(0, 0, R1 - param.E1));
3171
+ figButtress.addMainOI([ctrButtress, contourCircle7(0, 0, R1 - param.E1)]);
3154
3172
  figSide.addSecond(ctrButtress);
3155
3173
  for (const px of facePx) {
3156
- figTopWithRod.addMain(ctrRectangle2(px, -param.L2 / 2, param.H1, param.L2));
3174
+ figTopWithRod.addMainO(ctrRectangle2(px, -param.L2 / 2, param.H1, param.L2));
3157
3175
  }
3158
3176
  for (const py of sidePx) {
3159
- figTopWithRod.addMain(ctrRectangle2(-param.L1 / 2, py, param.L1, param.H2));
3177
+ figTopWithRod.addMainO(ctrRectangle2(-param.L1 / 2, py, param.L1, param.H2));
3160
3178
  }
3161
- figTopWithRod.addMain(ctrRectangle2(-param.L1 / 2, -R1, param.L1, param.D1));
3179
+ figTopWithRod.addMainO(ctrRectangle2(-param.L1 / 2, -R1, param.L1, param.D1));
3162
3180
  const rodPx0 = -((param.rod1 - 1) * param.rod2 + param.rod3) / 2;
3163
3181
  const rodOffset = (param.rod3 - param.rod4) / 2;
3164
3182
  const rodPlateH = param.rod3 / 2;
@@ -3796,12 +3814,16 @@ function pGeom9(t, param, suffix = "") {
3796
3814
  `;
3797
3815
  rGeome.logstr += `cone-height total: ${ffix11(H1H5)} mm
3798
3816
  `;
3817
+ const fLowStopperHolderPre1 = [];
3818
+ const fLowStopperHolderPre2 = [];
3799
3819
  figLowStopperHolderPre.addSecond(ctrRectRot22(-L5h, stopper1H, param.L5, param.S1, horiR));
3800
3820
  figLowStopperHolderPre.addSecond(ctrRectRot22(-L5h, stopper1H, param.L5, S1h, horiR));
3801
- figLowStopperHolderPre.addMain(contourCircle8(-param.JL1 / 2, lowSHPosZ, JR1));
3802
- figLowStopperHolderPre.addMain(contourCircle8(-param.JL1 / 2, lowSHPosZ, JR1H));
3803
- figLowStopperHolderPre.addMain(contourCircle8(param.JL1 / 2, lowSHPosZ, JR1));
3804
- figLowStopperHolderPre.addMain(contourCircle8(param.JL1 / 2, lowSHPosZ, JR1H));
3821
+ fLowStopperHolderPre1.push(contourCircle8(-param.JL1 / 2, lowSHPosZ, JR1));
3822
+ fLowStopperHolderPre1.push(contourCircle8(-param.JL1 / 2, lowSHPosZ, JR1H));
3823
+ fLowStopperHolderPre2.push(contourCircle8(param.JL1 / 2, lowSHPosZ, JR1));
3824
+ fLowStopperHolderPre2.push(contourCircle8(param.JL1 / 2, lowSHPosZ, JR1H));
3825
+ figLowStopperHolderPre.addMainOI(fLowStopperHolderPre1);
3826
+ figLowStopperHolderPre.addMainOI(fLowStopperHolderPre2);
3805
3827
  const rakeParam = designParam4(rakeDef.pDef);
3806
3828
  rakeParam.setVal("D1", param.D1);
3807
3829
  rakeParam.setVal("D2", param.D2);
@@ -3846,18 +3868,30 @@ function pGeom9(t, param, suffix = "") {
3846
3868
  figDoor.mergeFigure(rakeGeom.fig.faceDoor);
3847
3869
  figDoor.mergeFigure(figLowStopperHolderPre, true);
3848
3870
  figStopperTop.mergeFigure(rakeGeom.fig.faceDisc, true);
3849
- figStopperTop.addMain(ctrRectRot22(-R1 - param.JS1, -L5h, param.L5, param.S1, vertiT));
3850
- figStopperTop.addMain(ctrRectRot22(-R1 - param.JS1, -L5h, param.L5, S1h, vertiT));
3851
- figStopperTop.addMain(ctrRectRot22(S2s, -L5h, param.L5, param.S1, vertiT));
3852
- figStopperTop.addMain(ctrRectRot22(S2s, -L5h, param.L5, S1h, vertiT));
3853
- figStopperTop.addMain(ctrRectRot22(0, -L5h + S1r, S2s, param.S1, horiR));
3854
- figStopperTop.addMain(ctrRectRot22(0, -L5h + S1r, S2s, S1h, horiR));
3855
- figStopperTop.addMain(ctrRectRot22(0, L5h - S1r, S2s, param.S1, horiR));
3856
- figStopperTop.addMain(ctrRectRot22(0, L5h - S1r, S2s, S1h, horiR));
3857
- figStopperTop.addMain(ctrRectRot22(0, -R1 - S1r, S2s, param.S1, horiR));
3858
- figStopperTop.addMain(ctrRectRot22(0, -R1 - S1r, S2s, S1h, horiR));
3859
- figStopperTop.addMain(ctrRectRot22(0, R1 + S1r, S2s, param.S1, horiR));
3860
- figStopperTop.addMain(ctrRectRot22(0, R1 + S1r, S2s, S1h, horiR));
3871
+ figStopperTop.addMainOI([
3872
+ ctrRectRot22(-R1 - param.JS1, -L5h, param.L5, param.S1, vertiT),
3873
+ ctrRectRot22(-R1 - param.JS1, -L5h, param.L5, S1h, vertiT)
3874
+ ]);
3875
+ figStopperTop.addMainOI([
3876
+ ctrRectRot22(S2s, -L5h, param.L5, param.S1, vertiT),
3877
+ ctrRectRot22(S2s, -L5h, param.L5, S1h, vertiT)
3878
+ ]);
3879
+ figStopperTop.addMainOI([
3880
+ ctrRectRot22(0, -L5h + S1r, S2s, param.S1, horiR),
3881
+ ctrRectRot22(0, -L5h + S1r, S2s, S1h, horiR)
3882
+ ]);
3883
+ figStopperTop.addMainOI([
3884
+ ctrRectRot22(0, L5h - S1r, S2s, param.S1, horiR),
3885
+ ctrRectRot22(0, L5h - S1r, S2s, S1h, horiR)
3886
+ ]);
3887
+ figStopperTop.addMainOI([
3888
+ ctrRectRot22(0, -R1 - S1r, S2s, param.S1, horiR),
3889
+ ctrRectRot22(0, -R1 - S1r, S2s, S1h, horiR)
3890
+ ]);
3891
+ figStopperTop.addMainOI([
3892
+ ctrRectRot22(0, R1 + S1r, S2s, param.S1, horiR),
3893
+ ctrRectRot22(0, R1 + S1r, S2s, S1h, horiR)
3894
+ ]);
3861
3895
  figStopperTop.addSecond(ctrRectRot22(0, -param.JL1 / 2, lowSHL, 2 * JR1, horiL));
3862
3896
  figStopperTop.addSecond(ctrRectRot22(0, -param.JL1 / 2, lowSHL, 2 * JR1H, horiL));
3863
3897
  figStopperTop.addSecond(ctrRectRot22(0, param.JL1 / 2, lowSHL, 2 * JR1, horiL));
@@ -3867,10 +3901,14 @@ function pGeom9(t, param, suffix = "") {
3867
3901
  figStopperTop.addSecond(ctrRectRot22(0, 0, Hi1SHL, param.JD3, vertiT));
3868
3902
  figStopperTop.addSecond(ctrRectRot22(0, 0, Hi1SHL, Hi1SHW, vertiT));
3869
3903
  figStopperSide.mergeFigure(rakeGeom.fig.faceBeam, true);
3870
- figStopperSide.addMain(contourCircle8(-R1 - param.JS1, stopper1H, S1r));
3871
- figStopperSide.addMain(contourCircle8(-R1 - param.JS1, stopper1H, S1hr));
3872
- figStopperSide.addMain(contourCircle8(S2s, stopper2H + S1r, S1r));
3873
- figStopperSide.addMain(contourCircle8(S2s, stopper2H + S1r, S1hr));
3904
+ figStopperSide.addMainOI([
3905
+ contourCircle8(-R1 - param.JS1, stopper1H, S1r),
3906
+ contourCircle8(-R1 - param.JS1, stopper1H, S1hr)
3907
+ ]);
3908
+ figStopperSide.addMainOI([
3909
+ contourCircle8(S2s, stopper2H + S1r, S1r),
3910
+ contourCircle8(S2s, stopper2H + S1r, S1hr)
3911
+ ]);
3874
3912
  figStopperSide.addSecond(ctrRectRot22(0, stopper2H + S1r, S2s, param.S1, horiR));
3875
3913
  figStopperSide.addSecond(ctrRectRot22(0, stopper2H + S1r, S2s, S1h, horiR));
3876
3914
  const stopper3Ly = stopper2H + S1r - stopper3H;
@@ -3887,32 +3925,40 @@ function pGeom9(t, param, suffix = "") {
3887
3925
  figStopperSide.addSecond(ctrRectRot22(0, Hi2SHpz, Hi2SHL, param.JD4, vertiT));
3888
3926
  figStopperSide.addSecond(ctrRectRot22(0, Hi2SHpz, Hi2SHL, Hi2SHW, vertiT));
3889
3927
  figStopperSideH.mergeFigure(figStopperSide, true);
3890
- figStopperSideH.addMain(contourCircle8(-R1 - param.JS1, stopper1H, S1hr));
3891
- figStopperSideH.addMain(contourCircle8(param.S2 - S1r, stopper2H + S1r, S1hr));
3928
+ figStopperSideH.addMainO(contourCircle8(-R1 - param.JS1, stopper1H, S1hr));
3929
+ figStopperSideH.addMainO(contourCircle8(param.S2 - S1r, stopper2H + S1r, S1hr));
3892
3930
  figStopperFaceT.mergeFigure(rakeGeom.fig.faceCone, true);
3893
3931
  figStopperFaceT.mergeFigure(figLowStopperHolderPre, true);
3894
- figStopperFaceT.addMain(contourCircle8(-param.L5 / 2 + S1r, stopper2H + S1r, S1r));
3895
- figStopperFaceT.addMain(contourCircle8(-param.L5 / 2 + S1r, stopper2H + S1r, S1hr));
3896
- figStopperFaceT.addMain(contourCircle8(param.L5 / 2 - S1r, stopper2H + S1r, S1r));
3897
- figStopperFaceT.addMain(contourCircle8(param.L5 / 2 - S1r, stopper2H + S1r, S1hr));
3932
+ figStopperFaceT.addMainOI([
3933
+ contourCircle8(-param.L5 / 2 + S1r, stopper2H + S1r, S1r),
3934
+ contourCircle8(-param.L5 / 2 + S1r, stopper2H + S1r, S1hr)
3935
+ ]);
3936
+ figStopperFaceT.addMainOI([
3937
+ contourCircle8(param.L5 / 2 - S1r, stopper2H + S1r, S1r),
3938
+ contourCircle8(param.L5 / 2 - S1r, stopper2H + S1r, S1hr)
3939
+ ]);
3898
3940
  figStopperFaceTH.mergeFigure(rakeGeom.fig.faceCone, true);
3899
3941
  figStopperFaceTH.mergeFigure(figLowStopperHolderPre, true);
3900
3942
  figStopperFaceTH.addSecond(contourCircle8(-param.L5 / 2 + S1r, stopper2H + S1r, S1r));
3901
- figStopperFaceTH.addMain(contourCircle8(-param.L5 / 2 + S1r, stopper2H + S1r, S1hr));
3943
+ figStopperFaceTH.addMainO(contourCircle8(-param.L5 / 2 + S1r, stopper2H + S1r, S1hr));
3902
3944
  figStopperFaceTH.addSecond(contourCircle8(param.L5 / 2 - S1r, stopper2H + S1r, S1r));
3903
- figStopperFaceTH.addMain(contourCircle8(param.L5 / 2 - S1r, stopper2H + S1r, S1hr));
3945
+ figStopperFaceTH.addMainO(contourCircle8(param.L5 / 2 - S1r, stopper2H + S1r, S1hr));
3904
3946
  figStopperFaceB.mergeFigure(rakeGeom.fig.faceCone, true);
3905
3947
  figStopperFaceB.mergeFigure(figLowStopperHolderPre, true);
3906
- figStopperFaceB.addMain(contourCircle8(-R1 - S1r, 0, S1r));
3907
- figStopperFaceB.addMain(contourCircle8(-R1 - S1r, 0, S1hr));
3908
- figStopperFaceB.addMain(contourCircle8(R1 + S1r, 0, S1r));
3909
- figStopperFaceB.addMain(contourCircle8(R1 + S1r, 0, S1hr));
3948
+ figStopperFaceB.addMainOI([
3949
+ contourCircle8(-R1 - S1r, 0, S1r),
3950
+ contourCircle8(-R1 - S1r, 0, S1hr)
3951
+ ]);
3952
+ figStopperFaceB.addMainOI([
3953
+ contourCircle8(R1 + S1r, 0, S1r),
3954
+ contourCircle8(R1 + S1r, 0, S1hr)
3955
+ ]);
3910
3956
  figStopperFaceBH.mergeFigure(rakeGeom.fig.faceCone, true);
3911
3957
  figStopperFaceBH.mergeFigure(figLowStopperHolderPre, true);
3912
3958
  figStopperFaceBH.addSecond(contourCircle8(-R1 - S1r, 0, S1r));
3913
- figStopperFaceBH.addMain(contourCircle8(-R1 - S1r, 0, S1hr));
3959
+ figStopperFaceBH.addMainO(contourCircle8(-R1 - S1r, 0, S1hr));
3914
3960
  figStopperFaceBH.addSecond(contourCircle8(R1 + S1r, 0, S1r));
3915
- figStopperFaceBH.addMain(contourCircle8(R1 + S1r, 0, S1hr));
3961
+ figStopperFaceBH.addMainO(contourCircle8(R1 + S1r, 0, S1hr));
3916
3962
  figLowStopperHolder.mergeFigure(rakeGeom.fig.faceCone, true);
3917
3963
  figLowStopperHolder.mergeFigure(figLowStopperHolderPre);
3918
3964
  figLowStopperHolder.addSecond(ctrRectRot22(-Hi2SHpy, Hi2SHpz, Hi2SHL, param.JD4, vertiT));
@@ -3924,13 +3970,19 @@ function pGeom9(t, param, suffix = "") {
3924
3970
  figLowStopperHolder.addSecond(ctrRectRot22(0, stopper3H, Hi1SHL, param.JD3, horiR));
3925
3971
  figLowStopperHolder.addSecond(ctrRectRot22(0, stopper3H, Hi1SHL, Hi1SHW, horiR));
3926
3972
  figHi1StopperHolder.mergeFigure(figStopperSide, true);
3927
- figHi1StopperHolder.addMain(contourCircle8(0, stopper3H, param.JD3 / 2));
3928
- figHi1StopperHolder.addMain(contourCircle8(0, stopper3H, param.JD3 / 2 - param.JE3));
3973
+ figHi1StopperHolder.addMainOI([
3974
+ contourCircle8(0, stopper3H, param.JD3 / 2),
3975
+ contourCircle8(0, stopper3H, param.JD3 / 2 - param.JE3)
3976
+ ]);
3929
3977
  figHi2StopperHolder.mergeFigure(figStopperTop, true);
3930
- figHi2StopperHolder.addMain(contourCircle8(0, -Hi2SHpy, param.JD4 / 2));
3931
- figHi2StopperHolder.addMain(contourCircle8(0, -Hi2SHpy, param.JD4 / 2 - param.JE4));
3932
- figHi2StopperHolder.addMain(contourCircle8(0, Hi2SHpy, param.JD4 / 2));
3933
- figHi2StopperHolder.addMain(contourCircle8(0, Hi2SHpy, param.JD4 / 2 - param.JE4));
3978
+ figHi2StopperHolder.addMainOI([
3979
+ contourCircle8(0, -Hi2SHpy, param.JD4 / 2),
3980
+ contourCircle8(0, -Hi2SHpy, param.JD4 / 2 - param.JE4)
3981
+ ]);
3982
+ figHi2StopperHolder.addMainOI([
3983
+ contourCircle8(0, Hi2SHpy, param.JD4 / 2),
3984
+ contourCircle8(0, Hi2SHpy, param.JD4 / 2 - param.JE4)
3985
+ ]);
3934
3986
  rGeome.fig = {
3935
3987
  faceCone: figCone,
3936
3988
  faceBeam: figBeam,
@@ -4521,10 +4573,11 @@ function pGeom11(t, param, suffix = "") {
4521
4573
  const rHollow = contour10(orient * RL2, hollowH).addSegStrokeA(orient * RL2, hollowH + param.H3 - param.L2).addPointA(-orient * RL2, hollowH + param.H3 - param.L2).addSegArc(RL2, false, true).addSegStrokeA(-orient * RL2, hollowH).closeSegArc(RL2, false, true);
4522
4574
  return rHollow;
4523
4575
  };
4524
- figCut.addMain(ctrBaseCut1(1));
4576
+ figCut.addMainO(ctrBaseCut1(1));
4525
4577
  figCut.addSecond(ctrBaseCut2(1));
4526
4578
  figCut.addSecond(ctrBaseCut2(-1));
4527
4579
  figCut.addSecond(ctrHollow(1));
4580
+ const fTop = [];
4528
4581
  if (R3 + param.L1 + R5 > R1 - param.E2) {
4529
4582
  throw `err127: D3 ${param.D3} too large compare to D1 ${param.D1}, E2 ${param.E2}, L1 ${param.L1}, R5 ${param.D5}`;
4530
4583
  }
@@ -4535,19 +4588,20 @@ function pGeom11(t, param, suffix = "") {
4535
4588
  if (param.N1 * holeAngle > 2 * Math.PI) {
4536
4589
  throw `err134: N1 ${param.N1} too large compare to D5 ${param.D5}, L1 ${param.L1}, D2 ${param.D2}`;
4537
4590
  }
4538
- figTop.addMain(contourCircle9(0, 0, R1));
4539
- figTop.addMain(contourCircle9(0, 0, R3));
4591
+ fTop.push(contourCircle9(0, 0, R1));
4592
+ fTop.push(contourCircle9(0, 0, R3));
4540
4593
  const posR = R3 + param.L1;
4541
4594
  const posA = 2 * Math.PI / param.N1;
4542
4595
  for (let i = 0; i < param.N1; i++) {
4543
4596
  const posX = posR * Math.cos(i * posA);
4544
4597
  const posY = posR * Math.sin(i * posA);
4545
- figTop.addMain(contourCircle9(posX, posY, R5));
4598
+ fTop.push(contourCircle9(posX, posY, R5));
4546
4599
  }
4600
+ figTop.addMainOI(fTop);
4547
4601
  figTop.addSecond(contourCircle9(0, 0, R1 - param.E1));
4548
4602
  figTop.addSecond(contourCircle9(0, 0, R2));
4549
4603
  figTop.addSecond(contourCircle9(0, 0, R4));
4550
- figHollow.addMain(ctrHollow(1));
4604
+ figHollow.addMainO(ctrHollow(1));
4551
4605
  figHollow.addSecond(ctrBaseCut2(1));
4552
4606
  figHollow.addSecond(ctrBaseCut2(-1));
4553
4607
  rGeome.fig = {
@@ -4681,23 +4735,25 @@ function pGeom12(t, param, suffix = "") {
4681
4735
  rGeome.logstr += `vaxis-height: ${ffix14(param.H1)} mm
4682
4736
  `;
4683
4737
  const ctrCylinder = contour11(R1, 0).addSegStrokeA(R1, param.H1).addSegStrokeA(R1 - param.E1, param.H1).addSegStrokeA(R1 - param.E1, 0).closeSegStroke();
4684
- figCut.addMain(ctrCylinder);
4738
+ figCut.addMainO(ctrCylinder);
4685
4739
  ctrPoleProfile = function(orient) {
4686
4740
  const rPoleProfile = contour11(orient * R1, 0).addSegStrokeA(orient * R1, param.H1).addSegStrokeA(orient * R2, param.H1).addSegStrokeA(orient * R2, param.H1 - param.E2).addSegStrokeA(orient * (R1 - param.E1), param.H1 - param.E2).addSegStrokeA(orient * (R1 - param.E1), param.E2).addSegStrokeA(orient * R2, param.E2).addSegStrokeA(orient * R2, 0).closeSegStroke();
4687
4741
  return rPoleProfile;
4688
4742
  };
4689
4743
  figCut.addSecond(ctrPoleProfile(1));
4690
4744
  figCut.addSecond(ctrPoleProfile(-1));
4691
- figBottom.addMain(contourCircle10(0, 0, R1));
4692
- figBottom.addMain(contourCircle10(0, 0, R2));
4745
+ const fBottom = [];
4746
+ fBottom.push(contourCircle10(0, 0, R1));
4747
+ fBottom.push(contourCircle10(0, 0, R2));
4693
4748
  const posR = R2 + param.L1;
4694
4749
  const posA = 2 * Math.PI / param.N1;
4695
4750
  for (let i = 0; i < param.N1; i++) {
4696
4751
  const posX = posR * Math.cos(i * posA);
4697
4752
  const posY = posR * Math.sin(i * posA);
4698
- figBottom.addMain(contourCircle10(posX, posY, R3));
4753
+ fBottom.push(contourCircle10(posX, posY, R3));
4699
4754
  }
4700
4755
  figBottom.addSecond(contourCircle10(0, 0, R1 - param.E1));
4756
+ figBottom.addMainOI(fBottom);
4701
4757
  rGeome.fig = {
4702
4758
  faceCut: figCut,
4703
4759
  faceBottom: figBottom
@@ -4842,20 +4898,24 @@ function pGeom13(t, param, suffix = "") {
4842
4898
  const p2Y = tR1 * Math.sin(ti2 * tA);
4843
4899
  ctrTeeth.addSegStrokeA(p1X, p1Y).addSegStrokeA(p2X, p2Y);
4844
4900
  }
4845
- figRingBase.addMain(contourCircle11(0, 0, R3));
4846
- figRingBase.addMain(contourCircle11(0, 0, R1));
4901
+ const fRingBase = [];
4902
+ fRingBase.push(contourCircle11(0, 0, R3));
4903
+ fRingBase.push(contourCircle11(0, 0, R1));
4847
4904
  const posR = R1 + param.L1;
4848
4905
  const posA = 2 * Math.PI / param.N2;
4849
4906
  for (let i = 0; i < param.N2; i++) {
4850
4907
  const posX = posR * Math.cos(i * posA);
4851
4908
  const posY = posR * Math.sin(i * posA);
4852
- figRingBase.addMain(contourCircle11(posX, posY, R2));
4909
+ fRingBase.push(contourCircle11(posX, posY, R2));
4853
4910
  figRingTeeth.addSecond(contourCircle11(posX, posY, R2));
4854
4911
  }
4855
4912
  figRingBase.addSecond(ctrTeeth);
4856
- figRingTeeth.addMain(contourCircle11(0, 0, R3));
4857
- figRingTeeth.addMain(ctrTeeth);
4913
+ figRingBase.addMainOI(fRingBase);
4914
+ const fRingTeeth = [];
4915
+ fRingTeeth.push(contourCircle11(0, 0, R3));
4916
+ fRingTeeth.push(ctrTeeth);
4858
4917
  figRingTeeth.addSecond(contourCircle11(0, 0, R1));
4918
+ figRingTeeth.addMainOI(fRingTeeth);
4859
4919
  const ctrInner = contour12(R1, 0).addSegStrokeA(-R1, 0).addSegStrokeA(-R1, -param.H1).addSegStrokeA(R1, -param.H1).closeSegStroke();
4860
4920
  const ctrScrewHole = function(rnl) {
4861
4921
  const rCtr = contour12(rnl * (R1 + param.L1) + R2, 0).addSegStrokeR(-2 * R2, 0).addSegStrokeR(0, -param.H1).addSegStrokeR(2 * R2, 0).closeSegStroke();
@@ -4874,7 +4934,7 @@ function pGeom13(t, param, suffix = "") {
4874
4934
  figSection.addSecond(ctrScrewHole(-1));
4875
4935
  figSection.addSecond(ctrGearTeeth(1));
4876
4936
  figSection.addSecond(ctrGearTeeth(-1));
4877
- figSection.addMain(ctrL(1));
4937
+ figSection.addMainO(ctrL(1));
4878
4938
  figSection.addSecond(ctrL(-1));
4879
4939
  rGeome.fig = {
4880
4940
  faceRingBase: figRingBase,
@@ -5003,23 +5063,25 @@ function pGeom14(t, param, suffix = "") {
5003
5063
  }
5004
5064
  rGeome.logstr += `ring_guidance: Dmax ${ffix16(param.D1 + 2 * R4)} mm
5005
5065
  `;
5066
+ const fTop = [];
5006
5067
  const [outerLog, outerCtr, stepA1] = ctrGuidanceOuter(param);
5007
5068
  rGeome.logstr += outerLog;
5008
- figTop.addMain(outerCtr);
5009
- figTop.addMain(contourCircle12(0, 0, R6));
5069
+ fTop.push(outerCtr);
5070
+ fTop.push(contourCircle12(0, 0, R6));
5010
5071
  for (let i = 0; i < param.N2; i++) {
5011
- figTop.addMain(contourCircle12(R6 + param.L2, 0, R7).rotate(0, 0, i * stepA2));
5072
+ fTop.push(contourCircle12(R6 + param.L2, 0, R7).rotate(0, 0, i * stepA2));
5012
5073
  }
5013
5074
  for (let i = 0; i < param.N1; i++) {
5014
- figTop.addMain(contourCircle12(R1, 0, R3).rotate(0, 0, i * stepA1));
5075
+ fTop.push(contourCircle12(R1, 0, R3).rotate(0, 0, i * stepA1));
5015
5076
  }
5077
+ figTop.addMainOI(fTop);
5016
5078
  const rect = function(xbl, ybl, width, height) {
5017
5079
  const rCtr = contour13(xbl, ybl).addSegStrokeR(width, 0).addSegStrokeR(0, height).addSegStrokeR(-width, 0).closeSegStroke();
5018
5080
  return rCtr;
5019
5081
  };
5020
5082
  const w1 = R1 - R6 + R4;
5021
- figSection.addMain(rect(R6, 0, w1, param.T1));
5022
- figSection.addMain(rect(-R6 - w1, 0, w1, param.T1));
5083
+ figSection.addMainO(rect(R6, 0, w1, param.T1));
5084
+ figSection.addMainO(rect(-R6 - w1, 0, w1, param.T1));
5023
5085
  figSection.addSecond(rect(R1 - R3, 0, 2 * R3, param.T1));
5024
5086
  figSection.addSecond(rect(-R1 - R3, 0, 2 * R3, param.T1));
5025
5087
  const px2 = R6 + param.L2;
@@ -5160,19 +5222,21 @@ function pGeom15(t, param, suffix = "") {
5160
5222
  }
5161
5223
  rGeome.logstr += `vaxis_guidance: Dmax ${ffix17(param.D1 + 2 * R4)} mm
5162
5224
  `;
5225
+ const fTop = [];
5163
5226
  const [outerLog, outerCtr, stepA1] = ctrGuidanceOuter(param);
5164
5227
  rGeome.logstr += outerLog;
5165
- figTop.addMain(outerCtr);
5228
+ fTop.push(outerCtr);
5166
5229
  for (let i = 0; i < param.N1; i++) {
5167
- figTop.addMain(contourCircle13(R1, 0, R3).rotate(0, 0, i * stepA1));
5230
+ fTop.push(contourCircle13(R1, 0, R3).rotate(0, 0, i * stepA1));
5168
5231
  }
5169
5232
  const [innerLog, innerCtr] = ctrGuidanceInner(param);
5170
5233
  rGeome.logstr += innerLog;
5171
- figTop.addMain(innerCtr);
5234
+ fTop.push(innerCtr);
5172
5235
  figTop.addSecond(contourCircle13(0, 0, param.Dvaxis / 2));
5236
+ figTop.addMainOI(fTop);
5173
5237
  const w1 = R1 - R6 + R4;
5174
- figSection.addMain(ctrRectangle3(R6, 0, w1, param.T1));
5175
- figSection.addMain(ctrRectangle3(-R6 - w1, 0, w1, param.T1));
5238
+ figSection.addMainO(ctrRectangle3(R6, 0, w1, param.T1));
5239
+ figSection.addMainO(ctrRectangle3(-R6 - w1, 0, w1, param.T1));
5176
5240
  figSection.addSecond(ctrRectangle3(R1 - R3, 0, 2 * R3, param.T1));
5177
5241
  figSection.addSecond(ctrRectangle3(-R1 - R3, 0, 2 * R3, param.T1));
5178
5242
  rGeome.fig = {
@@ -5327,9 +5391,9 @@ function pGeom16(t, param, suffix = "") {
5327
5391
  ctrProfile.addPointA(p14.cx, p14.cy).addPointA(p11.cx, p11.cy).addSegArc2().addSegStrokeAP(Ai1, Rinner2).addCornerRounded(param.R9).addPointAP(Ai2, Rinner2).addSegArc(Rinner2, false, false).addCornerRounded(param.R9).addSegStrokeA(p21.cx, p21.cy).addPointA(p24.cx, p24.cy).addPointA(p26.cx, p26.cy).addSegArc2();
5328
5392
  ctrProfile.addPartial(spring2Ctr.rotate(0, 0, sA2).translate(p26.cx, p26.cy));
5329
5393
  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();
5330
- figProfile.addMain(ctrProfile);
5394
+ figProfile.addMainO(ctrProfile);
5331
5395
  const R8plus = R8 * Math.sin(Math.PI / 6);
5332
- figSide.addMain(ctrRectangle4(0, -R8plus, param.L4, R8 + R8plus));
5396
+ figSide.addMainO(ctrRectangle4(0, -R8plus, param.L4, R8 + R8plus));
5333
5397
  figSide.addSecond(ctrRectangle4(0, -R8, param.L4, 2 * R8));
5334
5398
  figSide.addSecond(ctrRectangle4(0, -R5, param.L4, 2 * R5));
5335
5399
  rGeome.fig = {
@@ -5429,8 +5493,6 @@ var pDef17 = {
5429
5493
  };
5430
5494
  function pGeom17(t, param, suffix = "") {
5431
5495
  const rGeome = initGeom17(pDef17.partName + suffix);
5432
- let ctrPlate;
5433
- let ctrRod;
5434
5496
  const figCut = figure17();
5435
5497
  const figPlate = figure17();
5436
5498
  const figTop = figure17();
@@ -5445,7 +5507,7 @@ function pGeom17(t, param, suffix = "") {
5445
5507
  const space_length = (param.L1 - param.L3) / (param.N1 - 1);
5446
5508
  rGeome.logstr += `space-length: ${ffix19(space_length)} mm
5447
5509
  `;
5448
- ctrPlate = function(py) {
5510
+ const ctrPlate = function(py) {
5449
5511
  const rPlate = [];
5450
5512
  const plateExt = contour15(param.L4 / 2, py).addCornerRounded(param.R3).addSegStrokeA(param.L4 / 2, py + param.L3).addCornerRounded(param.R3).addSegStrokeA(-param.L4 / 2, py + param.L3).addCornerRounded(param.R3).addSegStrokeA(-param.L4 / 2, py).addCornerRounded(param.R3).closeSegStroke();
5451
5513
  rPlate.push(plateExt);
@@ -5461,10 +5523,11 @@ function pGeom17(t, param, suffix = "") {
5461
5523
  }
5462
5524
  return rPlate;
5463
5525
  };
5464
- ctrRod = function(py, ly) {
5526
+ const ctrRod = function(py, ly) {
5465
5527
  const rRod = contour15(param.L2 / 2, py).addSegStrokeA(param.L2 / 2, py + ly).addSegStrokeA(-param.L2 / 2, py + ly).addSegStrokeA(-param.L2 / 2, py).closeSegStroke();
5466
5528
  return rRod;
5467
5529
  };
5530
+ const fCut = [];
5468
5531
  const L2h = param.L2 / 2;
5469
5532
  const L4h = param.L4 / 2;
5470
5533
  const L2hi = (param.L2 - 2 * param.E1) / 2;
@@ -5472,14 +5535,15 @@ function pGeom17(t, param, suffix = "") {
5472
5535
  const ctrRodExt = contour15(L2h, 0).addSegStrokeA(L2h, param.H1).addSegStrokeA(-L2h, param.H1).addSegStrokeA(-L2h, 0).closeSegStroke();
5473
5536
  const ctrRodInt = contour15(L2hi, param.E1).addSegStrokeA(L2hi, H1i).addSegStrokeA(-L2hi, H1i).addSegStrokeA(-L2hi, param.E1).closeSegStroke();
5474
5537
  const ctrPlateSide = contour15(L4h, param.H1).addSegStrokeA(L4h, param.H1 + param.E2).addSegStrokeA(-L4h, param.H1 + param.E2).addSegStrokeA(-L4h, param.H1).closeSegStroke();
5475
- figCut.addMain(ctrRodExt);
5476
- figCut.addMain(ctrRodInt);
5538
+ fCut.push(ctrRodExt);
5539
+ fCut.push(ctrRodInt);
5477
5540
  figCut.addSecond(ctrPlateSide);
5478
- ctrPlate(0).forEach((ctr) => figPlate.addMain(ctr));
5541
+ figCut.addMainOI(fCut);
5542
+ figPlate.addMainOI(ctrPlate(0));
5479
5543
  figPlate.addSecond(ctrRod(-param.L3 / 2, 2 * param.L3));
5480
5544
  const plateStep = (param.L1 - param.L3) / (param.N1 - 1);
5481
5545
  for (let i = 0; i < param.N1; i++) {
5482
- ctrPlate(i * plateStep).forEach((ctr) => figTop.addMain(ctr));
5546
+ figTop.addMainOI(ctrPlate(i * plateStep));
5483
5547
  }
5484
5548
  figTop.addSecond(ctrRod(0, param.L1));
5485
5549
  rGeome.fig = {
@@ -5655,6 +5719,7 @@ function pGeom18(t, param, suffix = "") {
5655
5719
  const rCtr = contour16(px0, py0).addSegStrokeRP(angle + Math.PI, rod_xy).addSegStrokeRP(angle - Math.PI / 2, param.D3).addSegStrokeRP(angle, rod_xy).closeSegStroke();
5656
5720
  return rCtr;
5657
5721
  };
5722
+ const fFrame = [];
5658
5723
  if (param.R1 > param.L1 / 4 || param.R1 > param.L2 / 4) {
5659
5724
  throw `err614: R1 ${param.R1} too large compare to L1 ${param.L1} or L2 ${param.L2}`;
5660
5725
  }
@@ -5667,8 +5732,8 @@ function pGeom18(t, param, suffix = "") {
5667
5732
  throw `err639: R3 ${param.R3} too large compare to L3 ${param.L3} or L4 ${param.L4}`;
5668
5733
  }
5669
5734
  const ctrPlate = contour16(param.L4 / 2, param.L3 / 2).addSegStrokeA(-param.L4 / 2, param.L3 / 2).addCornerRounded(param.R3).addSegStrokeA(-param.L4 / 2, -param.L3 / 2).addCornerRounded(param.R3).addSegStrokeA(param.L4 / 2, -param.L3 / 2).addCornerRounded(param.R3).closeSegStroke().addCornerRounded(param.R3);
5670
- figFrame.addMain(ctrFrameExt);
5671
- figFrame.addMain(ctrFrameInt);
5735
+ fFrame.push(ctrFrameExt);
5736
+ fFrame.push(ctrFrameInt);
5672
5737
  figFrame.addSecond(ctrPlate);
5673
5738
  const step1 = param.L1 / (param.N1 + 1);
5674
5739
  const step2 = param.L2 / (param.N2 + 1);
@@ -5718,11 +5783,12 @@ function pGeom18(t, param, suffix = "") {
5718
5783
  );
5719
5784
  }
5720
5785
  lFrameHole.forEach((ctr) => {
5721
- figFrame.addMain(ctr);
5786
+ fFrame.push(ctr);
5722
5787
  });
5723
5788
  lPlateHole.forEach((ctr) => {
5724
5789
  figFrame.addSecond(ctr);
5725
5790
  });
5791
+ figFrame.addMainOI(fFrame);
5726
5792
  const lRodFP = [];
5727
5793
  lRodFP.push(ctrRodFootprint(param.L2 / 2 - pad1, param.L1 / 2 - pad1, rod_xy_angle));
5728
5794
  lRodFP.push(ctrRodFootprint(param.L4 / 2 - pad3, param.L3 / 2 - pad3, rod_xy_angle));
@@ -5751,9 +5817,10 @@ function pGeom18(t, param, suffix = "") {
5751
5817
  lRod.forEach((ctr) => {
5752
5818
  figFrame.addSecond(ctr);
5753
5819
  });
5754
- figPlate.addMain(ctrPlate);
5820
+ const fPlate = [];
5821
+ fPlate.push(ctrPlate);
5755
5822
  lPlateHole.forEach((ctr) => {
5756
- figPlate.addMain(ctr);
5823
+ fPlate.push(ctr);
5757
5824
  });
5758
5825
  figPlate.addSecond(ctrFrameExt);
5759
5826
  figPlate.addSecond(ctrFrameInt);
@@ -5766,12 +5833,13 @@ function pGeom18(t, param, suffix = "") {
5766
5833
  lRod.forEach((ctr) => {
5767
5834
  figPlate.addSecond(ctr);
5768
5835
  });
5836
+ figPlate.addMainOI(fPlate);
5769
5837
  if (param.D4 >= param.D3) {
5770
5838
  throw `err218: D4 ${param.D4} larger than D3 ${param.D3}`;
5771
5839
  }
5772
- figRod.addMain(contourCircle16(0, 0, param.D3 / 2));
5840
+ figRod.addMainO(contourCircle16(0, 0, param.D3 / 2));
5773
5841
  figRod.addSecond(contourCircle16(0, 0, param.D4 / 2));
5774
- figRodHollow.addMain(contourCircle16(0, 0, param.D4 / 2));
5842
+ figRodHollow.addMainO(contourCircle16(0, 0, param.D4 / 2));
5775
5843
  figRodHollow.addSecond(contourCircle16(0, 0, param.D3 / 2));
5776
5844
  const rodFootprintHeight = param.D3 * Math.cos(rod_slope_angle);
5777
5845
  const rodFootprintBack = rodFootprintHeight / Math.tan(rod_slope_angle);
@@ -5780,7 +5848,7 @@ function pGeom18(t, param, suffix = "") {
5780
5848
  const rodExtrudeLength = rod_slope_length + 2 * (rodFootprintLength + rodFootprintBack + rodFootprintHeight);
5781
5849
  const cutL = rodExtrudeLength + param.L3 + param.L4 + rodFootprintHeight;
5782
5850
  const ctrCutRod = contour16(cutL, cutL).addSegStrokeA(-cutL, cutL).addSegStrokeA(-cutL, -cutL).addSegStrokeA(cutL, -cutL).closeSegStroke();
5783
- figCutRod.addMain(ctrCutRod);
5851
+ figCutRod.addMainO(ctrCutRod);
5784
5852
  rGeome.fig = {
5785
5853
  faceFrame: figFrame,
5786
5854
  facePlate: figPlate,
@@ -6234,9 +6302,9 @@ function pGeom19(t, param, suffix = "") {
6234
6302
  }
6235
6303
  });
6236
6304
  for (const pos of panelPositions) {
6237
- figSurface.addMain(ctrPanelProfile(pos[0], pos[1]));
6305
+ figSurface.addMainO(ctrPanelProfile(pos[0], pos[1]));
6238
6306
  }
6239
- figOnePanel.addMain(ctrPanelProfile(0, 0));
6307
+ figOnePanel.addMainO(ctrPanelProfile(0, 0));
6240
6308
  rGeome.fig = {
6241
6309
  faceSurface: figSurface,
6242
6310
  faceOnePanel: figOnePanel
@@ -6417,9 +6485,11 @@ function pGeom22(t, param, suffix = "") {
6417
6485
  rGeome.logstr += `${rGeome.partName} simTime: ${t}
6418
6486
  `;
6419
6487
  try {
6488
+ const face1 = [];
6420
6489
  const ctrPoleFace = contour18(-param.H1 / 2, -param.H2 / 2).addSegStrokeA(param.H1 / 2, -param.H2 / 2).addSegStrokeA(param.H1 / 2, param.H2 / 2).addSegStrokeA(-param.H1 / 2, param.H2 / 2).closeSegStroke();
6421
- figFace.addMain(ctrPoleFace);
6422
- figFace.addMain(contourCircle17(0, 0, param.radius));
6490
+ face1.push(ctrPoleFace);
6491
+ face1.push(contourCircle17(0, 0, param.radius));
6492
+ figFace.addMainOI(face1);
6423
6493
  rGeome.fig = {
6424
6494
  poleFace: figFace
6425
6495
  };
@@ -6439,18 +6509,98 @@ var dummyPoleStaticDef = {
6439
6509
  pGeom: pGeom22
6440
6510
  };
6441
6511
 
6442
- // src/geometrix_verification/verify_point.ts
6443
- import { degToRad as degToRad9, point as point9, figure as figure23, pNumber as pNumber23, initGeom as initGeom23 } from "geometrix";
6512
+ // src/dummy/voila.ts
6513
+ import {
6514
+ contour as contour19,
6515
+ contourCircle as contourCircle18,
6516
+ figure as figure23,
6517
+ pNumber as pNumber23,
6518
+ EExtrude as EExtrude17,
6519
+ EBVolume as EBVolume20,
6520
+ initGeom as initGeom23
6521
+ } from "geometrix";
6444
6522
  var pDef23 = {
6523
+ partName: "voila",
6524
+ params: [
6525
+ //pNumber(name, unit, init, min, max, step)
6526
+ pNumber23("H1", "mm", 4e3, 100, 4e4, 10),
6527
+ pNumber23("H2", "mm", 5e3, 100, 4e4, 10),
6528
+ pNumber23("radius", "mm", 1e3, 100, 4e4, 10)
6529
+ ],
6530
+ paramSvg: {
6531
+ H1: "dummy_pole_static_face.svg",
6532
+ H2: "dummy_pole_static_face.svg",
6533
+ radius: "dummy_pole_static_face.svg"
6534
+ },
6535
+ sim: {
6536
+ tMax: 180,
6537
+ tStep: 0.5,
6538
+ tUpdate: 500
6539
+ // every 0.5 second
6540
+ }
6541
+ };
6542
+ function pGeom23(t, param, suffix = "") {
6543
+ const rGeome = initGeom23(pDef23.partName + suffix);
6544
+ const figFace = figure23();
6545
+ rGeome.logstr += `${rGeome.partName} simTime: ${t}
6546
+ `;
6547
+ try {
6548
+ const face1 = [];
6549
+ const ctrPoleFace = contour19(-param.H1 / 2, -param.H2 / 2).addSegStrokeA(param.H1 / 2, -param.H2 / 2).addSegStrokeA(param.H1 / 2, param.H2 / 2).addSegStrokeA(-param.H1 / 2, param.H2 / 2).closeSegStroke();
6550
+ face1.push(ctrPoleFace);
6551
+ face1.push(contourCircle18(0, 0, param.radius));
6552
+ figFace.addMainOI(face1);
6553
+ rGeome.fig = {
6554
+ faceVoila: figFace
6555
+ };
6556
+ const designName = rGeome.partName;
6557
+ rGeome.vol = {
6558
+ extrudes: [
6559
+ {
6560
+ outName: `subpax_${designName}_top`,
6561
+ face: `${designName}_faceVoila`,
6562
+ extrudeMethod: EExtrude17.eLinearOrtho,
6563
+ length: 10,
6564
+ rotate: [0, 0, 0],
6565
+ translate: [0, 0, 0]
6566
+ }
6567
+ ],
6568
+ volumes: [
6569
+ {
6570
+ outName: `pax_${designName}`,
6571
+ boolMethod: EBVolume20.eIdentity,
6572
+ inList: [`subpax_${designName}_top`]
6573
+ }
6574
+ ]
6575
+ };
6576
+ rGeome.sub = {};
6577
+ rGeome.logstr += "voila drawn successfully!\n";
6578
+ rGeome.calcErr = false;
6579
+ } catch (emsg) {
6580
+ rGeome.logstr += emsg;
6581
+ console.log(emsg);
6582
+ }
6583
+ return rGeome;
6584
+ }
6585
+ var voilaDef = {
6586
+ pTitle: "voila",
6587
+ pDescription: "A simple design for testing exports",
6588
+ pDef: pDef23,
6589
+ pGeom: pGeom23
6590
+ };
6591
+
6592
+ // src/geometrix_verification/verify_point.ts
6593
+ import { degToRad as degToRad9, point as point9, figure as figure24, pNumber as pNumber24, initGeom as initGeom24 } from "geometrix";
6594
+ var pDef24 = {
6445
6595
  partName: "verify_point",
6446
6596
  params: [
6447
6597
  //pNumber(name, unit, init, min, max, step)
6448
- pNumber23("p1x", "mm", 30, -200, 200, 1),
6449
- pNumber23("p1y", "mm", 50, -200, 200, 1),
6450
- pNumber23("p2a", "degree", 30, -200, 200, 1),
6451
- pNumber23("p2l", "mm", 60, 0, 200, 1),
6452
- pNumber23("rotateOrig", "degree", 45, -200, 200, 1),
6453
- pNumber23("scaleOrig", "scalar", 1.5, 0.1, 2, 0.1)
6598
+ pNumber24("p1x", "mm", 30, -200, 200, 1),
6599
+ pNumber24("p1y", "mm", 50, -200, 200, 1),
6600
+ pNumber24("p2a", "degree", 30, -200, 200, 1),
6601
+ pNumber24("p2l", "mm", 60, 0, 200, 1),
6602
+ pNumber24("rotateOrig", "degree", 45, -200, 200, 1),
6603
+ pNumber24("scaleOrig", "scalar", 1.5, 0.1, 2, 0.1)
6454
6604
  ],
6455
6605
  paramSvg: {
6456
6606
  p1x: "verify_point_p1x.svg",
@@ -6467,12 +6617,12 @@ var pDef23 = {
6467
6617
  // every 0.5 second
6468
6618
  }
6469
6619
  };
6470
- function pGeom23(t, param, suffix = "") {
6471
- const rGeome = initGeom23(pDef23.partName + suffix);
6620
+ function pGeom24(t, param, suffix = "") {
6621
+ const rGeome = initGeom24(pDef24.partName + suffix);
6472
6622
  rGeome.logstr += `${rGeome.partName} simTime: ${t}
6473
6623
  `;
6474
6624
  try {
6475
- const figOne = figure23();
6625
+ const figOne = figure24();
6476
6626
  const p1 = point9(param.p1x, param.p1y + t);
6477
6627
  const p2 = point9(0, 0).setPolar(degToRad9(param.p2a), param.p2l);
6478
6628
  const p3 = p1.rotateOrig(degToRad9(param.rotateOrig));
@@ -6493,23 +6643,23 @@ function pGeom23(t, param, suffix = "") {
6493
6643
  var verifyPoint1Def = {
6494
6644
  pTitle: "Verify point",
6495
6645
  pDescription: "Debugging point.ts",
6496
- pDef: pDef23,
6497
- pGeom: pGeom23
6646
+ pDef: pDef24,
6647
+ pGeom: pGeom24
6498
6648
  };
6499
6649
 
6500
6650
  // src/geometrix_verification/verify_point_2.ts
6501
- import { point as point10, figure as figure24, pNumber as pNumber24, initGeom as initGeom24 } from "geometrix";
6502
- var pDef24 = {
6651
+ import { point as point10, figure as figure25, pNumber as pNumber25, initGeom as initGeom25 } from "geometrix";
6652
+ var pDef25 = {
6503
6653
  partName: "verify_point_2",
6504
6654
  params: [
6505
6655
  //pNumber(name, unit, init, min, max, step)
6506
- pNumber24("p1x", "mm", 30, -200, 200, 1),
6507
- pNumber24("p1y", "mm", 50, -200, 200, 1),
6508
- pNumber24("p2x", "mm", -10, -200, 200, 1),
6509
- pNumber24("p2y", "mm", 60, -200, 200, 1),
6510
- pNumber24("p3x", "mm", 70, -200, 200, 1),
6511
- pNumber24("p3y", "mm", -20, -200, 200, 1),
6512
- pNumber24("dist", "mm", 50, 0, 200, 1)
6656
+ pNumber25("p1x", "mm", 30, -200, 200, 1),
6657
+ pNumber25("p1y", "mm", 50, -200, 200, 1),
6658
+ pNumber25("p2x", "mm", -10, -200, 200, 1),
6659
+ pNumber25("p2y", "mm", 60, -200, 200, 1),
6660
+ pNumber25("p3x", "mm", 70, -200, 200, 1),
6661
+ pNumber25("p3y", "mm", -20, -200, 200, 1),
6662
+ pNumber25("dist", "mm", 50, 0, 200, 1)
6513
6663
  ],
6514
6664
  paramSvg: {
6515
6665
  p1x: "verify_line_p1x.svg",
@@ -6527,12 +6677,12 @@ var pDef24 = {
6527
6677
  // every 0.5 second
6528
6678
  }
6529
6679
  };
6530
- function pGeom24(t, param, suffix = "") {
6531
- const rGeome = initGeom24(pDef24.partName + suffix);
6680
+ function pGeom25(t, param, suffix = "") {
6681
+ const rGeome = initGeom25(pDef25.partName + suffix);
6532
6682
  rGeome.logstr += `${rGeome.partName} simTime: ${t}
6533
6683
  `;
6534
6684
  try {
6535
- const figOne = figure24();
6685
+ const figOne = figure25();
6536
6686
  const p1 = point10(param.p1x, param.p1y + t);
6537
6687
  const p2 = point10(param.p2x, param.p2y);
6538
6688
  const p3 = point10(param.p3x, param.p3y);
@@ -6555,22 +6705,22 @@ function pGeom24(t, param, suffix = "") {
6555
6705
  var verifyPoint2Def = {
6556
6706
  pTitle: "Verify point 2",
6557
6707
  pDescription: "Debugging more point.ts",
6558
- pDef: pDef24,
6559
- pGeom: pGeom24
6708
+ pDef: pDef25,
6709
+ pGeom: pGeom25
6560
6710
  };
6561
6711
 
6562
6712
  // src/geometrix_verification/verify_line.ts
6563
- import { point as point11, line, linePP, figure as figure25, pNumber as pNumber25, initGeom as initGeom25 } from "geometrix";
6564
- var pDef25 = {
6713
+ import { point as point11, line, linePP, figure as figure26, pNumber as pNumber26, initGeom as initGeom26 } from "geometrix";
6714
+ var pDef26 = {
6565
6715
  partName: "verify_line",
6566
6716
  params: [
6567
6717
  //pNumber(name, unit, init, min, max, step)
6568
- pNumber25("p1x", "mm", 30, -200, 200, 1),
6569
- pNumber25("p1y", "mm", 50, -200, 200, 1),
6570
- pNumber25("p2x", "mm", 40, -200, 200, 1),
6571
- pNumber25("p2y", "mm", -20, -200, 200, 1),
6572
- pNumber25("p3x", "mm", -30, -200, 200, 1),
6573
- pNumber25("p3y", "mm", 30, -200, 200, 1)
6718
+ pNumber26("p1x", "mm", 30, -200, 200, 1),
6719
+ pNumber26("p1y", "mm", 50, -200, 200, 1),
6720
+ pNumber26("p2x", "mm", 40, -200, 200, 1),
6721
+ pNumber26("p2y", "mm", -20, -200, 200, 1),
6722
+ pNumber26("p3x", "mm", -30, -200, 200, 1),
6723
+ pNumber26("p3y", "mm", 30, -200, 200, 1)
6574
6724
  ],
6575
6725
  paramSvg: {
6576
6726
  p1x: "verify_line_p1x.svg",
@@ -6587,12 +6737,12 @@ var pDef25 = {
6587
6737
  // every 0.5 second
6588
6738
  }
6589
6739
  };
6590
- function pGeom25(t, param, suffix = "") {
6591
- const rGeome = initGeom25(pDef25.partName + suffix);
6740
+ function pGeom26(t, param, suffix = "") {
6741
+ const rGeome = initGeom26(pDef26.partName + suffix);
6592
6742
  rGeome.logstr += `${rGeome.partName} simTime: ${t}
6593
6743
  `;
6594
6744
  try {
6595
- const figOne = figure25();
6745
+ const figOne = figure26();
6596
6746
  const p1 = point11(param.p1x, param.p1y + t);
6597
6747
  const p2 = point11(param.p2x, param.p2y);
6598
6748
  const p3 = point11(param.p3x, param.p3y);
@@ -6627,24 +6777,24 @@ function pGeom25(t, param, suffix = "") {
6627
6777
  var verifyLine1Def = {
6628
6778
  pTitle: "Verify line",
6629
6779
  pDescription: "Debugging line.ts",
6630
- pDef: pDef25,
6631
- pGeom: pGeom25
6780
+ pDef: pDef26,
6781
+ pGeom: pGeom26
6632
6782
  };
6633
6783
 
6634
6784
  // src/geometrix_verification/verify_line_2.ts
6635
- import { degToRad as degToRad10, point as point12, line as line2, figure as figure26, pNumber as pNumber26, initGeom as initGeom26 } from "geometrix";
6636
- var pDef26 = {
6785
+ import { degToRad as degToRad10, point as point12, line as line2, figure as figure27, pNumber as pNumber27, initGeom as initGeom27 } from "geometrix";
6786
+ var pDef27 = {
6637
6787
  partName: "verify_line_2",
6638
6788
  params: [
6639
6789
  //pNumber(name, unit, init, min, max, step)
6640
- pNumber26("l1cx", "mm", 10, -200, 200, 1),
6641
- pNumber26("l1cy", "mm", 20, -200, 200, 1),
6642
- pNumber26("l1ca", "degree", 15, -200, 200, 1),
6643
- pNumber26("l2cx", "mm", 30, -200, 200, 1),
6644
- pNumber26("l2cy", "mm", 50, -200, 200, 1),
6645
- pNumber26("l2ca", "degree", 35, -200, 200, 1),
6646
- pNumber26("p3x", "mm", -30, -200, 200, 1),
6647
- pNumber26("p3y", "mm", 30, -200, 200, 1)
6790
+ pNumber27("l1cx", "mm", 10, -200, 200, 1),
6791
+ pNumber27("l1cy", "mm", 20, -200, 200, 1),
6792
+ pNumber27("l1ca", "degree", 15, -200, 200, 1),
6793
+ pNumber27("l2cx", "mm", 30, -200, 200, 1),
6794
+ pNumber27("l2cy", "mm", 50, -200, 200, 1),
6795
+ pNumber27("l2ca", "degree", 35, -200, 200, 1),
6796
+ pNumber27("p3x", "mm", -30, -200, 200, 1),
6797
+ pNumber27("p3y", "mm", 30, -200, 200, 1)
6648
6798
  ],
6649
6799
  paramSvg: {
6650
6800
  l1cx: "verify_line_2_l1cx.svg",
@@ -6663,12 +6813,12 @@ var pDef26 = {
6663
6813
  // every 0.5 second
6664
6814
  }
6665
6815
  };
6666
- function pGeom26(t, param, suffix = "") {
6667
- const rGeome = initGeom26(pDef26.partName + suffix);
6816
+ function pGeom27(t, param, suffix = "") {
6817
+ const rGeome = initGeom27(pDef27.partName + suffix);
6668
6818
  rGeome.logstr += `${rGeome.partName} simTime: ${t}
6669
6819
  `;
6670
6820
  try {
6671
- const figOne = figure26();
6821
+ const figOne = figure27();
6672
6822
  const p1 = point12(param.l1cx, param.l1cy);
6673
6823
  const p2 = point12(param.l2cx, param.l2cy);
6674
6824
  const p3 = point12(param.p3x, param.p3y);
@@ -6701,22 +6851,22 @@ function pGeom26(t, param, suffix = "") {
6701
6851
  var verifyLine2Def = {
6702
6852
  pTitle: "Verify line 2",
6703
6853
  pDescription: "Debugging more line.ts",
6704
- pDef: pDef26,
6705
- pGeom: pGeom26
6854
+ pDef: pDef27,
6855
+ pGeom: pGeom27
6706
6856
  };
6707
6857
 
6708
6858
  // src/geometrix_verification/verify_line_3.ts
6709
- import { point as point13, bisector, circleCenter, figure as figure27, pNumber as pNumber27, initGeom as initGeom27 } from "geometrix";
6710
- var pDef27 = {
6859
+ import { point as point13, bisector, circleCenter, figure as figure28, pNumber as pNumber28, initGeom as initGeom28 } from "geometrix";
6860
+ var pDef28 = {
6711
6861
  partName: "verify_line_3",
6712
6862
  params: [
6713
6863
  //pNumber(name, unit, init, min, max, step)
6714
- pNumber27("p1x", "mm", 30, -200, 200, 1),
6715
- pNumber27("p1y", "mm", 50, -200, 200, 1),
6716
- pNumber27("p2x", "mm", 40, -200, 200, 1),
6717
- pNumber27("p2y", "mm", -20, -200, 200, 1),
6718
- pNumber27("p3x", "mm", -30, -200, 200, 1),
6719
- pNumber27("p3y", "mm", 30, -200, 200, 1)
6864
+ pNumber28("p1x", "mm", 30, -200, 200, 1),
6865
+ pNumber28("p1y", "mm", 50, -200, 200, 1),
6866
+ pNumber28("p2x", "mm", 40, -200, 200, 1),
6867
+ pNumber28("p2y", "mm", -20, -200, 200, 1),
6868
+ pNumber28("p3x", "mm", -30, -200, 200, 1),
6869
+ pNumber28("p3y", "mm", 30, -200, 200, 1)
6720
6870
  ],
6721
6871
  paramSvg: {
6722
6872
  p1x: "verify_line_p1x.svg",
@@ -6733,12 +6883,12 @@ var pDef27 = {
6733
6883
  // every 0.5 second
6734
6884
  }
6735
6885
  };
6736
- function pGeom27(t, param, suffix = "") {
6737
- const rGeome = initGeom27(pDef27.partName + suffix);
6886
+ function pGeom28(t, param, suffix = "") {
6887
+ const rGeome = initGeom28(pDef28.partName + suffix);
6738
6888
  rGeome.logstr += `${rGeome.partName} simTime: ${t}
6739
6889
  `;
6740
6890
  try {
6741
- const figOne = figure27();
6891
+ const figOne = figure28();
6742
6892
  const p1 = point13(param.p1x, param.p1y + t);
6743
6893
  const p2 = point13(param.p2x, param.p2y);
6744
6894
  const p3 = point13(param.p3x, param.p3y);
@@ -6761,24 +6911,24 @@ function pGeom27(t, param, suffix = "") {
6761
6911
  var verifyLine3Def = {
6762
6912
  pTitle: "Verify line 3",
6763
6913
  pDescription: "Debugging more more line.ts",
6764
- pDef: pDef27,
6765
- pGeom: pGeom27
6914
+ pDef: pDef28,
6915
+ pGeom: pGeom28
6766
6916
  };
6767
6917
 
6768
6918
  // src/geometrix_verification/verify_vector.ts
6769
- import { degToRad as degToRad11, point as point14, vector, figure as figure28, pNumber as pNumber28, initGeom as initGeom28 } from "geometrix";
6770
- var pDef28 = {
6919
+ import { degToRad as degToRad11, point as point14, vector, figure as figure29, pNumber as pNumber29, initGeom as initGeom29 } from "geometrix";
6920
+ var pDef29 = {
6771
6921
  partName: "verify_vector",
6772
6922
  params: [
6773
6923
  //pNumber(name, unit, init, min, max, step)
6774
- pNumber28("p1x", "mm", 30, -200, 200, 1),
6775
- pNumber28("p1y", "mm", 50, -200, 200, 1),
6776
- pNumber28("p2x", "mm", 80, -200, 200, 1),
6777
- pNumber28("p2y", "mm", -30, -200, 200, 1),
6778
- pNumber28("v1a", "degree", 30, -200, 200, 1),
6779
- pNumber28("v1l", "mm", 60, 0, 200, 1),
6780
- pNumber28("v2a", "degree", 30, -200, 200, 1),
6781
- pNumber28("v2l", "mm", 60, 0, 200, 1)
6924
+ pNumber29("p1x", "mm", 30, -200, 200, 1),
6925
+ pNumber29("p1y", "mm", 50, -200, 200, 1),
6926
+ pNumber29("p2x", "mm", 80, -200, 200, 1),
6927
+ pNumber29("p2y", "mm", -30, -200, 200, 1),
6928
+ pNumber29("v1a", "degree", 30, -200, 200, 1),
6929
+ pNumber29("v1l", "mm", 60, 0, 200, 1),
6930
+ pNumber29("v2a", "degree", 30, -200, 200, 1),
6931
+ pNumber29("v2l", "mm", 60, 0, 200, 1)
6782
6932
  ],
6783
6933
  paramSvg: {
6784
6934
  p1x: "verify_vector_p1x.svg",
@@ -6797,12 +6947,12 @@ var pDef28 = {
6797
6947
  // every 0.5 second
6798
6948
  }
6799
6949
  };
6800
- function pGeom28(t, param, suffix = "") {
6801
- const rGeome = initGeom28(pDef28.partName + suffix);
6950
+ function pGeom29(t, param, suffix = "") {
6951
+ const rGeome = initGeom29(pDef29.partName + suffix);
6802
6952
  rGeome.logstr += `${rGeome.partName} simTime: ${t}
6803
6953
  `;
6804
6954
  try {
6805
- const figOne = figure28();
6955
+ const figOne = figure29();
6806
6956
  const p1 = point14(param.p1x, param.p1y + t);
6807
6957
  const p2 = point14(param.p2x, param.p2y);
6808
6958
  const v1 = vector(degToRad11(param.v1a), param.v1l, p1);
@@ -6827,22 +6977,22 @@ function pGeom28(t, param, suffix = "") {
6827
6977
  var verifyVector1Def = {
6828
6978
  pTitle: "Verify vector",
6829
6979
  pDescription: "Debugging vector.ts",
6830
- pDef: pDef28,
6831
- pGeom: pGeom28
6980
+ pDef: pDef29,
6981
+ pGeom: pGeom29
6832
6982
  };
6833
6983
 
6834
6984
  // src/geometrix_verification/verify_contour_1.ts
6835
- import { contour as contour19, contourCircle as contourCircle18, figure as figure29, pNumber as pNumber29, initGeom as initGeom29 } from "geometrix";
6836
- var pDef29 = {
6985
+ import { contour as contour20, contourCircle as contourCircle19, figure as figure30, pNumber as pNumber30, initGeom as initGeom30 } from "geometrix";
6986
+ var pDef30 = {
6837
6987
  partName: "verify_contour_1",
6838
6988
  params: [
6839
6989
  //pNumber(name, unit, init, min, max, step)
6840
- pNumber29("r1", "mm", 30, 10, 200, 1),
6841
- pNumber29("d1", "mm", 20, 10, 200, 1),
6842
- pNumber29("w1", "mm", 100, 10, 200, 1),
6843
- pNumber29("r2", "mm", 60, 10, 200, 1),
6844
- pNumber29("l1", "mm", 10, 5, 200, 1),
6845
- pNumber29("l2", "mm", 30, 5, 200, 1)
6990
+ pNumber30("r1", "mm", 30, 10, 200, 1),
6991
+ pNumber30("d1", "mm", 20, 10, 200, 1),
6992
+ pNumber30("w1", "mm", 100, 10, 200, 1),
6993
+ pNumber30("r2", "mm", 60, 10, 200, 1),
6994
+ pNumber30("l1", "mm", 10, 5, 200, 1),
6995
+ pNumber30("l2", "mm", 30, 5, 200, 1)
6846
6996
  ],
6847
6997
  paramSvg: {
6848
6998
  r1: "verify_contour_1_r1.svg",
@@ -6859,12 +7009,12 @@ var pDef29 = {
6859
7009
  // every 0.5 second
6860
7010
  }
6861
7011
  };
6862
- function pGeom29(t, param, suffix = "") {
6863
- const rGeome = initGeom29(pDef29.partName + suffix);
7012
+ function pGeom30(t, param, suffix = "") {
7013
+ const rGeome = initGeom30(pDef30.partName + suffix);
6864
7014
  rGeome.logstr += `${rGeome.partName} simTime: ${t}
6865
7015
  `;
6866
7016
  try {
6867
- const figOne = figure29();
7017
+ const figOne = figure30();
6868
7018
  const r1 = param.r1;
6869
7019
  const d1 = param.d1;
6870
7020
  const w1 = param.w1;
@@ -6877,20 +7027,22 @@ function pGeom29(t, param, suffix = "") {
6877
7027
  const c12 = 2 * r1 + d1;
6878
7028
  const c2 = c1 + c12;
6879
7029
  const c3 = c1 + 2 * c12;
6880
- const ctr1 = contour19(0, 0);
7030
+ const ctr1 = contour20(0, 0);
6881
7031
  ctr1.addSegStrokeA(w1, 0);
6882
7032
  ctr1.addSegStrokeA(w1, h1);
6883
7033
  ctr1.addSegStrokeA(0, h1);
6884
7034
  ctr1.closeSegStroke();
6885
7035
  ctr1.check();
6886
- figOne.addMain(ctr1);
6887
- figOne.addMain(contourCircle18(w12, c1, r1));
6888
- figOne.addMain(contourCircle18(w12, c2, r1 + t));
6889
- figOne.addMain(contourCircle18(w12, c3, r1));
6890
- const ctr2 = contourCircle18(w1 + r2, 3 * c1, r2);
7036
+ figOne.addMainOI([
7037
+ ctr1,
7038
+ contourCircle19(w12, c1, r1),
7039
+ contourCircle19(w12, c2, r1 + t),
7040
+ contourCircle19(w12, c3, r1)
7041
+ ]);
7042
+ const ctr2 = contourCircle19(w1 + r2, 3 * c1, r2);
6891
7043
  ctr2.check();
6892
7044
  figOne.addSecond(ctr2);
6893
- const ctr3 = contour19(200 + l1, 200).addSegStrokeA(200 + l1 + l2, 200).addSegStrokeR(0, l1).addSegStrokeRP(0, l1).addSegStrokeRP(Math.PI / 2, l2).addSegStrokeAP(Math.PI / 4, Math.sqrt(2) * (200 + l1 + l2)).addSegStrokeA(200 + l1 + l2, 200 + 2 * l1 + l2).addSegStrokeR(-l2, 0).addSegStrokeR(0, -l1).addSegStrokeR(-l1, 0).addSegStrokeRP(-Math.PI / 2, l2).addSegStrokeR(l1, 0).closeSegStroke();
7045
+ const ctr3 = contour20(200 + l1, 200).addSegStrokeA(200 + l1 + l2, 200).addSegStrokeR(0, l1).addSegStrokeRP(0, l1).addSegStrokeRP(Math.PI / 2, l2).addSegStrokeAP(Math.PI / 4, Math.sqrt(2) * (200 + l1 + l2)).addSegStrokeA(200 + l1 + l2, 200 + 2 * l1 + l2).addSegStrokeR(-l2, 0).addSegStrokeR(0, -l1).addSegStrokeR(-l1, 0).addSegStrokeRP(-Math.PI / 2, l2).addSegStrokeR(l1, 0).closeSegStroke();
6894
7046
  ctr3.check();
6895
7047
  figOne.addSecond(ctr3);
6896
7048
  rGeome.fig = { one: figOne };
@@ -6905,20 +7057,20 @@ function pGeom29(t, param, suffix = "") {
6905
7057
  var verifyContour1Def = {
6906
7058
  pTitle: "Verify contour 1",
6907
7059
  pDescription: "Debugging contour.ts",
6908
- pDef: pDef29,
6909
- pGeom: pGeom29
7060
+ pDef: pDef30,
7061
+ pGeom: pGeom30
6910
7062
  };
6911
7063
 
6912
7064
  // src/geometrix_verification/verify_contour_2.ts
6913
- import { degToRad as degToRad12, contour as contour20, figure as figure30, pNumber as pNumber30, initGeom as initGeom30 } from "geometrix";
6914
- var pDef30 = {
7065
+ import { degToRad as degToRad12, contour as contour21, figure as figure31, pNumber as pNumber31, initGeom as initGeom31 } from "geometrix";
7066
+ var pDef31 = {
6915
7067
  partName: "verify_contour_2",
6916
7068
  params: [
6917
7069
  //pNumber(name, unit, init, min, max, step)
6918
- pNumber30("r1", "mm", 20, 5, 200, 1),
6919
- pNumber30("a1", "deg", 30, -200, 200, 1),
6920
- pNumber30("at1", "deg", 30, -200, 200, 1),
6921
- pNumber30("at2", "deg", 50, -200, 200, 1)
7070
+ pNumber31("r1", "mm", 20, 5, 200, 1),
7071
+ pNumber31("a1", "deg", 30, -200, 200, 1),
7072
+ pNumber31("at1", "deg", 30, -200, 200, 1),
7073
+ pNumber31("at2", "deg", 50, -200, 200, 1)
6922
7074
  ],
6923
7075
  paramSvg: {
6924
7076
  r1: "verify_contour_1_r1.svg",
@@ -6933,17 +7085,18 @@ var pDef30 = {
6933
7085
  // every 0.5 second
6934
7086
  }
6935
7087
  };
6936
- function pGeom30(t, param, suffix = "") {
6937
- const rGeome = initGeom30(pDef30.partName + suffix);
7088
+ function pGeom31(t, param, suffix = "") {
7089
+ const rGeome = initGeom31(pDef31.partName + suffix);
6938
7090
  rGeome.logstr += `${rGeome.partName} simTime: ${t}
6939
7091
  `;
6940
7092
  try {
6941
- const figOne = figure30();
7093
+ const fOne = [];
7094
+ const figOne = figure31();
6942
7095
  const r1 = param.r1 + t;
6943
7096
  const ata = param.a1 + t;
6944
7097
  const at1 = param.at1 + t;
6945
7098
  const at2 = param.at2 + t;
6946
- const ctr1 = contour20(20, 20);
7099
+ const ctr1 = contour21(20, 20);
6947
7100
  ctr1.addSegStrokeA(40, 20);
6948
7101
  ctr1.addPointA(60, 20).addSegArc(r1, true, true);
6949
7102
  ctr1.addPointA(80, 20).addSegArc(r1, true, false);
@@ -6969,8 +7122,9 @@ function pGeom30(t, param, suffix = "") {
6969
7122
  ctr1.addPointA(20, 40).addSegArc(r1, false, false);
6970
7123
  ctr1.closeSegStroke();
6971
7124
  ctr1.check();
6972
- figOne.addMain(ctr1);
6973
- const ctr2 = contour20(20, -20);
7125
+ fOne.push(ctr1);
7126
+ figOne.addMainOI(fOne);
7127
+ const ctr2 = contour21(20, -20);
6974
7128
  ctr2.addSegStrokeA(40, -40);
6975
7129
  ctr2.addPointA(60, -60).addSegArc(r1, true, true);
6976
7130
  ctr2.addPointA(80, -80).addSegArc(r1, true, false);
@@ -6979,21 +7133,21 @@ function pGeom30(t, param, suffix = "") {
6979
7133
  ctr2.addSegStrokeA(140, -140);
6980
7134
  ctr2.addSegStrokeR(20, 20).addPointR(20, 20).addSegArc(r1, false, false).addPointRP(Math.PI / 4, 28).addSegArc(r1, false, true).addPointRP(Math.PI / 4, 28).addSegArc(r1, true, true).addPointRP(Math.PI / 4, 28).addSegArc(r1, true, false).addSegStrokeRP(Math.PI / 4, 20).addSegStrokeRP(-Math.PI / 4, 20).addPointR(10, -9).addPointR(20, -20).addSegArc2().addPointR(20, -9).addPointR(20, -20).addSegArc2().addPointR(9, -6).addPointR(20, -20).addSegArc2().addPointR(9, -14).addPointR(20, -20).addSegArc2().addPointR(9, 0).addPointR(20, -20).addSegArc2().addSegStrokeR(20, -20).addSegStrokeR(20, 20).addPointR(9, 20).addPointR(20, 20).addSegArc2().addPointR(20, 10).addPointR(20, 20).addSegArc2().addPointR(9, 6).addPointR(20, 20).addSegArc2().addPointR(9, 14).addPointR(20, 20).addSegArc2().addPointR(9, 0).addPointR(20, 20).addSegArc2().addSegStrokeR(20, 20).addSegStrokeR(0, 20).addPointR(15, 8).addPointR(0, 20).addSegArc2().addPointR(-15, 8).addPointR(0, 20).addSegArc2().addPointR(5, 8).addPointR(0, 20).addSegArc2().addPointR(-5, 8).addPointR(0, 20).addSegArc2().addSegStrokeR(0, 20).addSegStrokeR(20, 0).addPointR(8, 15).addPointR(20, 0).addSegArc2().addPointR(8, -15).addPointR(20, 0).addSegArc2().addPointR(8, 5).addPointR(20, 0).addSegArc2().addPointR(8, -5).addPointR(20, 0).addSegArc2().addSegStrokeR(20, 0).addSegStrokeR(0, -20).addPointR(15, -8).addPointR(0, -20).addSegArc2().addPointR(-15, -8).addPointR(0, -20).addSegArc2().addPointR(5, -8).addPointR(0, -20).addSegArc2().addPointR(-5, -8).addPointR(0, -20).addSegArc2().addSegStrokeR(0, -20).addSegStrokeR(-20, 0).addPointR(-8, 15).addPointR(-20, 0).addSegArc2().addPointR(-8, -15).addPointR(-20, 0).addSegArc2().addPointR(-8, 5).addPointR(-20, 0).addSegArc2().addPointR(-8, -5).addPointR(-20, 0).addSegArc2().addSegStrokeR(-20, 0).closeSegStroke();
6981
7135
  ctr2.check();
6982
- figOne.addMain(ctr2);
6983
- const ctr3 = contour20(200, 200).addSegStrokeR(20, 0).addPointR(20, 0).addSegArc3(degToRad12(ata), true).addSegStrokeR(20, 0).addPointR(20, 0).addSegArc3(degToRad12(ata), false).addSegStrokeR(20, 0).addSegStrokeR(0, 20).addPointR(0, 20).addSegArc3(degToRad12(ata), true).addSegStrokeR(0, 20).addPointR(0, 20).addSegArc3(degToRad12(ata), false).addSegStrokeR(0, 20).addSegStrokeR(-20, 0).addPointR(-20, 0).addSegArc3(degToRad12(ata), true).addSegStrokeR(-20, 0).addPointR(-20, 0).addSegArc3(degToRad12(ata), false).addSegStrokeR(-20, 0).addSegStrokeR(0, -20).addPointR(0, -20).addSegArc3(degToRad12(ata), true).addSegStrokeR(0, -20).addPointR(0, -20).addSegArc3(degToRad12(ata), false).addSegStrokeR(0, -20);
7136
+ figOne.addMainO(ctr2);
7137
+ const ctr3 = contour21(200, 200).addSegStrokeR(20, 0).addPointR(20, 0).addSegArc3(degToRad12(ata), true).addSegStrokeR(20, 0).addPointR(20, 0).addSegArc3(degToRad12(ata), false).addSegStrokeR(20, 0).addSegStrokeR(0, 20).addPointR(0, 20).addSegArc3(degToRad12(ata), true).addSegStrokeR(0, 20).addPointR(0, 20).addSegArc3(degToRad12(ata), false).addSegStrokeR(0, 20).addSegStrokeR(-20, 0).addPointR(-20, 0).addSegArc3(degToRad12(ata), true).addSegStrokeR(-20, 0).addPointR(-20, 0).addSegArc3(degToRad12(ata), false).addSegStrokeR(-20, 0).addSegStrokeR(0, -20).addPointR(0, -20).addSegArc3(degToRad12(ata), true).addSegStrokeR(0, -20).addPointR(0, -20).addSegArc3(degToRad12(ata), false).addSegStrokeR(0, -20);
6984
7138
  ctr3.check();
6985
- figOne.addMain(ctr3);
6986
- const ctr4 = contour20(600, 200).addSegStrokeR(20, 20).addPointR(20, 20).addSegArc3(degToRad12(ata), true).addSegStrokeR(20, 20).addPointR(20, 20).addSegArc3(degToRad12(ata), false).addSegStrokeR(20, 20).addSegStrokeR(-20, 20).addPointR(-20, 20).addSegArc3(degToRad12(ata), true).addSegStrokeR(-20, 20).addPointR(-20, 20).addSegArc3(degToRad12(ata), false).addSegStrokeR(-20, 20).addSegStrokeR(-20, -20).addPointR(-20, -20).addSegArc3(degToRad12(ata), true).addSegStrokeR(-20, -20).addPointR(-20, -20).addSegArc3(degToRad12(ata), false).addSegStrokeR(-20, -20).addSegStrokeR(20, -20).addPointR(20, -20).addSegArc3(degToRad12(ata), true).addSegStrokeR(20, -20).addPointR(20, -20).addSegArc3(degToRad12(ata), false).addSegStrokeR(20, -20);
7139
+ figOne.addMainO(ctr3);
7140
+ const ctr4 = contour21(600, 200).addSegStrokeR(20, 20).addPointR(20, 20).addSegArc3(degToRad12(ata), true).addSegStrokeR(20, 20).addPointR(20, 20).addSegArc3(degToRad12(ata), false).addSegStrokeR(20, 20).addSegStrokeR(-20, 20).addPointR(-20, 20).addSegArc3(degToRad12(ata), true).addSegStrokeR(-20, 20).addPointR(-20, 20).addSegArc3(degToRad12(ata), false).addSegStrokeR(-20, 20).addSegStrokeR(-20, -20).addPointR(-20, -20).addSegArc3(degToRad12(ata), true).addSegStrokeR(-20, -20).addPointR(-20, -20).addSegArc3(degToRad12(ata), false).addSegStrokeR(-20, -20).addSegStrokeR(20, -20).addPointR(20, -20).addSegArc3(degToRad12(ata), true).addSegStrokeR(20, -20).addPointR(20, -20).addSegArc3(degToRad12(ata), false).addSegStrokeR(20, -20);
6987
7141
  ctr4.check();
6988
- figOne.addMain(ctr4);
6989
- const ctr5 = contour20(100, 500);
7142
+ figOne.addMainO(ctr4);
7143
+ const ctr5 = contour21(100, 500);
6990
7144
  for (let i = 0; i < 8; i++) {
6991
7145
  const adir = i * 45;
6992
7146
  const adirRad = degToRad12(adir);
6993
7147
  ctr5.addSegStrokeRP(adirRad, 20).addPointRP(adirRad, 20).addSeg2Arcs(degToRad12(adir + at1), degToRad12(180 + adir - at2)).addSegStrokeRP(adirRad, 20).addPointRP(adirRad, 20).addSeg2Arcs(degToRad12(adir - at1), degToRad12(180 + adir + at2)).addSegStrokeRP(adirRad, 20);
6994
7148
  }
6995
7149
  ctr5.check();
6996
- figOne.addMain(ctr5);
7150
+ figOne.addMainO(ctr5);
6997
7151
  rGeome.fig = { one: figOne };
6998
7152
  rGeome.logstr += "verify_contour_2 drawn successfully!\n";
6999
7153
  rGeome.calcErr = false;
@@ -7006,22 +7160,22 @@ function pGeom30(t, param, suffix = "") {
7006
7160
  var verifyContour2Def = {
7007
7161
  pTitle: "Verify contour 2",
7008
7162
  pDescription: "Debugging more contour.ts",
7009
- pDef: pDef30,
7010
- pGeom: pGeom30
7163
+ pDef: pDef31,
7164
+ pGeom: pGeom31
7011
7165
  };
7012
7166
 
7013
7167
  // src/geometrix_verification/verify_contour_3.ts
7014
- import { degToRad as degToRad13, contour as contour21, figure as figure31, pNumber as pNumber31, initGeom as initGeom31 } from "geometrix";
7015
- var pDef31 = {
7168
+ import { degToRad as degToRad13, contour as contour22, figure as figure32, pNumber as pNumber32, initGeom as initGeom32 } from "geometrix";
7169
+ var pDef32 = {
7016
7170
  partName: "verify_contour_3",
7017
7171
  params: [
7018
7172
  //pNumber(name, unit, init, min, max, step)
7019
- pNumber31("r1", "mm", 10, 0, 200, 1),
7020
- pNumber31("r2", "mm", 10, 0, 200, 1),
7021
- pNumber31("r3", "mm", 10, 0, 200, 1),
7022
- pNumber31("r4", "mm", 10, 0, 200, 1),
7023
- pNumber31("r5", "mm", 10, 0, 200, 1),
7024
- pNumber31("r6", "mm", 5, 0, 200, 1)
7173
+ pNumber32("r1", "mm", 10, 0, 200, 1),
7174
+ pNumber32("r2", "mm", 10, 0, 200, 1),
7175
+ pNumber32("r3", "mm", 10, 0, 200, 1),
7176
+ pNumber32("r4", "mm", 10, 0, 200, 1),
7177
+ pNumber32("r5", "mm", 10, 0, 200, 1),
7178
+ pNumber32("r6", "mm", 5, 0, 200, 1)
7025
7179
  ],
7026
7180
  paramSvg: {
7027
7181
  r1: "verify_contour_1_r1.svg",
@@ -7038,32 +7192,32 @@ var pDef31 = {
7038
7192
  // every 0.5 second
7039
7193
  }
7040
7194
  };
7041
- function pGeom31(t, param, suffix = "") {
7042
- const rGeome = initGeom31(pDef31.partName + suffix);
7195
+ function pGeom32(t, param, suffix = "") {
7196
+ const rGeome = initGeom32(pDef32.partName + suffix);
7043
7197
  rGeome.logstr += `${rGeome.partName} simTime: ${t}
7044
7198
  `;
7045
7199
  try {
7046
- const figOne = figure31();
7200
+ const figOne = figure32();
7047
7201
  const r1 = param.r1 + t;
7048
7202
  const r2 = param.r2 + t;
7049
7203
  const r3 = param.r3 + t;
7050
7204
  const r4 = param.r4 + t;
7051
7205
  const r5 = param.r5 + t;
7052
7206
  const r6 = param.r6 + t;
7053
- const ctr1 = contour21(100, 0).addSegStrokeR(30, 200).addCornerRounded(r1).addSegStrokeR(200, 30).addCornerRounded(r1).addSegStrokeR(-200, 30).addCornerRounded(r1).addSegStrokeR(-30, 200).addCornerRounded(r1).addSegStrokeR(-30, -200).addCornerRounded(r1).addSegStrokeR(-200, -30).addCornerRounded(r1).addSegStrokeR(200, -30).addCornerRounded(r1).closeSegStroke().addCornerRounded(r1);
7207
+ const ctr1 = contour22(100, 0).addSegStrokeR(30, 200).addCornerRounded(r1).addSegStrokeR(200, 30).addCornerRounded(r1).addSegStrokeR(-200, 30).addCornerRounded(r1).addSegStrokeR(-30, 200).addCornerRounded(r1).addSegStrokeR(-30, -200).addCornerRounded(r1).addSegStrokeR(-200, -30).addCornerRounded(r1).addSegStrokeR(200, -30).addCornerRounded(r1).closeSegStroke().addCornerRounded(r1);
7054
7208
  rGeome.logstr += ctr1.check();
7055
- figOne.addMain(ctr1);
7209
+ figOne.addMainO(ctr1);
7056
7210
  const l2 = 100;
7057
- const ctr2 = contour21(300, 0);
7211
+ const ctr2 = contour22(300, 0);
7058
7212
  for (let i = 0; i < 4; i++) {
7059
7213
  const angle = 90 * (1 - i);
7060
7214
  ctr2.addSegStrokeRP(degToRad13(angle), l2).addCornerRounded(r2).addSegStrokeRP(degToRad13(angle - 45), l2).addCornerRounded(r2).addSegStrokeRP(degToRad13(angle + 45), l2).addCornerRounded(r2).addSegStrokeRP(degToRad13(angle), l2).addCornerRounded(r2);
7061
7215
  }
7062
7216
  rGeome.logstr += ctr2.check();
7063
- figOne.addMain(ctr2);
7217
+ figOne.addMainO(ctr2);
7064
7218
  const l3 = 100;
7065
7219
  const ra3 = 70;
7066
- const ctr3 = contour21(0, 600).addSegStrokeR(l3, l3);
7220
+ const ctr3 = contour22(0, 600).addSegStrokeR(l3, l3);
7067
7221
  for (let i = 0; i < 3; i++) {
7068
7222
  const large = (i & 1) === 0 ? false : true;
7069
7223
  const ccw = (i & 2) === 0 ? false : true;
@@ -7078,73 +7232,73 @@ function pGeom31(t, param, suffix = "") {
7078
7232
  }
7079
7233
  ctr3.addSegStrokeR(l3, 0).addSegStrokeR(l3, -l3).closeSegStroke();
7080
7234
  rGeome.logstr += ctr3.check();
7081
- figOne.addMain(ctr3);
7082
- const ctr3b = contour21(0, 900).addCornerRounded(r3).addPointR(l3, l3).addSegArc(l3, false, true).addSegStrokeR(0, 2 * l3).addCornerRounded(r3).addPointR(l3, -l3).addSegArc(l3, false, true).addSegStrokeR(l3, 0).addCornerRounded(r3).addPointR(l3, l3).addSegArc(l3, false, false).addCornerRounded(r3).addSegStrokeR(0, 2 * l3).addCornerRounded(r3).addPointR(-l3, l3).addSegArc(l3, false, false).addPointR(l3, l3).addSegArc(l3, false, false).addCornerRounded(r3).addSegStrokeR(0, 3 * l3).addCornerRounded(r3).addPointR(-l3, -l3).addSegArc(l3, false, false).addPointR(-l3, l3).addSegArc(l3, false, false).addCornerRounded(r3).addSegStrokeR(0, -3 * l3).addCornerRounded(r3).addPointR(-l3, l3).addSegArc(l3, false, true).addSegStrokeR(-l3, 0).closeSegStroke();
7235
+ figOne.addMainO(ctr3);
7236
+ const ctr3b = contour22(0, 900).addCornerRounded(r3).addPointR(l3, l3).addSegArc(l3, false, true).addSegStrokeR(0, 2 * l3).addCornerRounded(r3).addPointR(l3, -l3).addSegArc(l3, false, true).addSegStrokeR(l3, 0).addCornerRounded(r3).addPointR(l3, l3).addSegArc(l3, false, false).addCornerRounded(r3).addSegStrokeR(0, 2 * l3).addCornerRounded(r3).addPointR(-l3, l3).addSegArc(l3, false, false).addPointR(l3, l3).addSegArc(l3, false, false).addCornerRounded(r3).addSegStrokeR(0, 3 * l3).addCornerRounded(r3).addPointR(-l3, -l3).addSegArc(l3, false, false).addPointR(-l3, l3).addSegArc(l3, false, false).addCornerRounded(r3).addSegStrokeR(0, -3 * l3).addCornerRounded(r3).addPointR(-l3, l3).addSegArc(l3, false, true).addSegStrokeR(-l3, 0).closeSegStroke();
7083
7237
  rGeome.logstr += ctr3b.check();
7084
- figOne.addMain(ctr3b);
7238
+ figOne.addMainO(ctr3b);
7085
7239
  const l4 = 200;
7086
7240
  const ra4 = 180;
7087
- const ctr4 = contour21(0, 2e3).addPointR(l4, 0).addSegArc(ra4, false, true).addCornerRounded(r4).addPointR(0, l4).addSegArc(ra4, false, true).addCornerRounded(r4).addPointR(-l4, -l4).addSegArc(1.4 * ra4, false, true).addCornerRounded(r4);
7241
+ const ctr4 = contour22(0, 2e3).addPointR(l4, 0).addSegArc(ra4, false, true).addCornerRounded(r4).addPointR(0, l4).addSegArc(ra4, false, true).addCornerRounded(r4).addPointR(-l4, -l4).addSegArc(1.4 * ra4, false, true).addCornerRounded(r4);
7088
7242
  rGeome.logstr += ctr4.check();
7089
- figOne.addMain(ctr4);
7090
- const ctr4b = contour21(400, 2e3).addPointR(0, 1.7 * l4).addSegArc(2.3 * ra4, false, false).addCornerRounded(r4).addPointR(l4, -0.7 * l4).addSegArc(ra4, false, false).addCornerRounded(r4).addPointR(-l4, -l4).addSegArc(1.4 * ra4, false, false).addCornerRounded(r4);
7243
+ figOne.addMainO(ctr4);
7244
+ const ctr4b = contour22(400, 2e3).addPointR(0, 1.7 * l4).addSegArc(2.3 * ra4, false, false).addCornerRounded(r4).addPointR(l4, -0.7 * l4).addSegArc(ra4, false, false).addCornerRounded(r4).addPointR(-l4, -l4).addSegArc(1.4 * ra4, false, false).addCornerRounded(r4);
7091
7245
  rGeome.logstr += ctr4b.check();
7092
- figOne.addMain(ctr4b);
7093
- const ctr4c = contour21(1e3, 2e3).addPointR(l4, 0).addSegArc(0.6 * ra4, true, true).addCornerRounded(r4).addPointR(0, l4).addSegArc(ra4, true, true).addCornerRounded(r4).addPointR(-l4, -l4).addSegArc(1.4 * ra4, true, true).addCornerRounded(r4);
7246
+ figOne.addMainO(ctr4b);
7247
+ const ctr4c = contour22(1e3, 2e3).addPointR(l4, 0).addSegArc(0.6 * ra4, true, true).addCornerRounded(r4).addPointR(0, l4).addSegArc(ra4, true, true).addCornerRounded(r4).addPointR(-l4, -l4).addSegArc(1.4 * ra4, true, true).addCornerRounded(r4);
7094
7248
  rGeome.logstr += ctr4c.check();
7095
- figOne.addMain(ctr4c);
7096
- const ctr4d = contour21(3e3, 2e3).addPointR(0, 1.7 * l4).addSegArc(2.3 * ra4, true, false).addCornerRounded(r4).addPointR(l4, -0.7 * l4).addSegArc(ra4, true, false).addCornerRounded(r4).addPointR(-l4, -l4).addSegArc(1.1 * ra4, true, false).addCornerRounded(r4);
7249
+ figOne.addMainO(ctr4c);
7250
+ const ctr4d = contour22(3e3, 2e3).addPointR(0, 1.7 * l4).addSegArc(2.3 * ra4, true, false).addCornerRounded(r4).addPointR(l4, -0.7 * l4).addSegArc(ra4, true, false).addCornerRounded(r4).addPointR(-l4, -l4).addSegArc(1.1 * ra4, true, false).addCornerRounded(r4);
7097
7251
  rGeome.logstr += ctr4d.check();
7098
- figOne.addMain(ctr4d);
7252
+ figOne.addMainO(ctr4d);
7099
7253
  const l4b = 3 * l4;
7100
7254
  const ra4b = 3 * ra4;
7101
- const ctr4e = contour21(3800, 2e3).addPointR(l4b, 0).addSegArc(ra4b, false, false).addCornerRounded(r4).addPointR(0, l4b).addSegArc(ra4b, false, false).addCornerRounded(r4).addPointR(-l4b, 0).addSegArc(ra4b, false, false).addCornerRounded(r4).addPointR(0, -l4b).addSegArc(ra4b, false, false).addCornerRounded(r4);
7255
+ const ctr4e = contour22(3800, 2e3).addPointR(l4b, 0).addSegArc(ra4b, false, false).addCornerRounded(r4).addPointR(0, l4b).addSegArc(ra4b, false, false).addCornerRounded(r4).addPointR(-l4b, 0).addSegArc(ra4b, false, false).addCornerRounded(r4).addPointR(0, -l4b).addSegArc(ra4b, false, false).addCornerRounded(r4);
7102
7256
  rGeome.logstr += ctr4e.check();
7103
- figOne.addMain(ctr4e);
7104
- const ctr4f = contour21(4500, 2e3).addPointR(l4, l4).addSegArc(l4, false, false).addPointR(l4, -l4).addSegArc(l4, false, false).addCornerRounded(r4).addPointR(-l4, 1.6 * l4).addSegArc(1.1 * ra4, false, true).addCornerRounded(r4).addPointR(-l4, -1.6 * l4).addSegArc(1.2 * ra4, false, true).addCornerRounded(r4);
7257
+ figOne.addMainO(ctr4e);
7258
+ const ctr4f = contour22(4500, 2e3).addPointR(l4, l4).addSegArc(l4, false, false).addPointR(l4, -l4).addSegArc(l4, false, false).addCornerRounded(r4).addPointR(-l4, 1.6 * l4).addSegArc(1.1 * ra4, false, true).addCornerRounded(r4).addPointR(-l4, -1.6 * l4).addSegArc(1.2 * ra4, false, true).addCornerRounded(r4);
7105
7259
  rGeome.logstr += ctr4f.check();
7106
- figOne.addMain(ctr4f);
7107
- const ctr4g = contour21(5200, 2e3).addPointR(l4, 0).addSegArc(0.9 * l4, false, false).addCornerRounded(r4).addPointR(l4, 0).addSegArc(0.9 * l4, false, false).addCornerRounded(r4).addPointR(-2 * l4, 0).addSegArc(1.3 * l4, true, true).addCornerRounded(r4);
7260
+ figOne.addMainO(ctr4f);
7261
+ const ctr4g = contour22(5200, 2e3).addPointR(l4, 0).addSegArc(0.9 * l4, false, false).addCornerRounded(r4).addPointR(l4, 0).addSegArc(0.9 * l4, false, false).addCornerRounded(r4).addPointR(-2 * l4, 0).addSegArc(1.3 * l4, true, true).addCornerRounded(r4);
7108
7262
  rGeome.logstr += ctr4g.check();
7109
- figOne.addMain(ctr4g);
7263
+ figOne.addMainO(ctr4g);
7110
7264
  const c099 = 0.999;
7111
- const ctr4h = contour21(6e3, 2e3).addPointR(2 * l4, 2 * l4).addSegArc(1.5 * l4, false, false).addCornerRounded(r4).addPointR(2 * l4, -2 * l4).addSegArc(1.5 * l4, false, false).addCornerRounded(r4).addPointR(-l4, l4).addSegArc(l4, false, true).addPointR(-l4, -c099 * l4).addSegArc(l4, false, true).addCornerRounded(r4).addPointR(-l4, c099 * l4).addSegArc(l4, false, true).addPointR(-l4, -l4).addSegArc(l4, false, true).addCornerRounded(r4);
7265
+ const ctr4h = contour22(6e3, 2e3).addPointR(2 * l4, 2 * l4).addSegArc(1.5 * l4, false, false).addCornerRounded(r4).addPointR(2 * l4, -2 * l4).addSegArc(1.5 * l4, false, false).addCornerRounded(r4).addPointR(-l4, l4).addSegArc(l4, false, true).addPointR(-l4, -c099 * l4).addSegArc(l4, false, true).addCornerRounded(r4).addPointR(-l4, c099 * l4).addSegArc(l4, false, true).addPointR(-l4, -l4).addSegArc(l4, false, true).addCornerRounded(r4);
7112
7266
  rGeome.logstr += ctr4h.check();
7113
- figOne.addMain(ctr4h);
7267
+ figOne.addMainO(ctr4h);
7114
7268
  const l5 = 200;
7115
7269
  const ra5 = 180;
7116
- const ctr5 = contour21(0, 3e3).addSegStrokeR(l5, 0).addCornerWidened(r5).addSegStrokeR(0, l5).addCornerWidened(r5).closeSegStroke().addCornerWidened(r5);
7270
+ const ctr5 = contour22(0, 3e3).addSegStrokeR(l5, 0).addCornerWidened(r5).addSegStrokeR(0, l5).addCornerWidened(r5).closeSegStroke().addCornerWidened(r5);
7117
7271
  rGeome.logstr += ctr5.check();
7118
- figOne.addMain(ctr5);
7119
- const ctr5b = contour21(400, 3e3).addSegStrokeR(l5, 0).addCornerWidened(r5).addPointR(0, l5).addSegArc(ra5, false, true).addCornerWidened(r5).addPointR(-l5, 0).addSegArc(ra5, false, false).addCornerWidened(r5).closeSegStroke().addCornerWidened(r5);
7272
+ figOne.addMainO(ctr5);
7273
+ const ctr5b = contour22(400, 3e3).addSegStrokeR(l5, 0).addCornerWidened(r5).addPointR(0, l5).addSegArc(ra5, false, true).addCornerWidened(r5).addPointR(-l5, 0).addSegArc(ra5, false, false).addCornerWidened(r5).closeSegStroke().addCornerWidened(r5);
7120
7274
  rGeome.logstr += ctr5b.check();
7121
- figOne.addMain(ctr5b);
7122
- const ctr5d = contour21(3e3, 3e3).addPointR(0, 1.7 * l5).addSegArc(2.3 * ra5, true, false).addCornerWidened(r5).addPointR(l5, -0.7 * l5).addSegArc(ra5, true, false).addCornerWidened(r5).addPointR(-l5, -l5).addSegArc(1.1 * ra5, true, false).addCornerWidened(r5);
7275
+ figOne.addMainO(ctr5b);
7276
+ const ctr5d = contour22(3e3, 3e3).addPointR(0, 1.7 * l5).addSegArc(2.3 * ra5, true, false).addCornerWidened(r5).addPointR(l5, -0.7 * l5).addSegArc(ra5, true, false).addCornerWidened(r5).addPointR(-l5, -l5).addSegArc(1.1 * ra5, true, false).addCornerWidened(r5);
7123
7277
  rGeome.logstr += ctr5d.check();
7124
- figOne.addMain(ctr5d);
7125
- const ctr5e = contour21(3800, 3e3).addPointR(l5, 0).addSegArc(ra5, false, false).addCornerWidened(r5).addPointR(0, l5).addSegArc(ra5, false, false).addCornerWidened(r5).addPointR(-l5, 0).addSegArc(ra5, false, false).addCornerWidened(r5).addPointR(0, -l5).addSegArc(ra5, false, false).addCornerWidened(r5);
7278
+ figOne.addMainO(ctr5d);
7279
+ const ctr5e = contour22(3800, 3e3).addPointR(l5, 0).addSegArc(ra5, false, false).addCornerWidened(r5).addPointR(0, l5).addSegArc(ra5, false, false).addCornerWidened(r5).addPointR(-l5, 0).addSegArc(ra5, false, false).addCornerWidened(r5).addPointR(0, -l5).addSegArc(ra5, false, false).addCornerWidened(r5);
7126
7280
  rGeome.logstr += ctr5e.check();
7127
- figOne.addMain(ctr5e);
7128
- const ctr5f = contour21(4500, 3e3).addPointR(l5, l5).addSegArc(l5, false, false).addPointR(l5, -l5).addSegArc(l5, false, false).addCornerWidened(r5).addPointR(-l5, 1.6 * l5).addSegArc(1.1 * ra5, false, true).addCornerWidened(r5).addPointR(-l5, -1.6 * l5).addSegArc(1.2 * ra5, false, true).addCornerWidened(r5);
7281
+ figOne.addMainO(ctr5e);
7282
+ const ctr5f = contour22(4500, 3e3).addPointR(l5, l5).addSegArc(l5, false, false).addPointR(l5, -l5).addSegArc(l5, false, false).addCornerWidened(r5).addPointR(-l5, 1.6 * l5).addSegArc(1.1 * ra5, false, true).addCornerWidened(r5).addPointR(-l5, -1.6 * l5).addSegArc(1.2 * ra5, false, true).addCornerWidened(r5);
7129
7283
  rGeome.logstr += ctr5f.check();
7130
- figOne.addMain(ctr5f);
7284
+ figOne.addMainO(ctr5f);
7131
7285
  const l6 = 200;
7132
7286
  const ra6 = 180;
7133
- const ctr6 = contour21(0, 4e3).addSegStrokeR(l6, 0).addCornerWideAcc(r6).addSegStrokeR(0, l6).addCornerWideAcc(r6).closeSegStroke().addCornerWideAcc(r6);
7287
+ const ctr6 = contour22(0, 4e3).addSegStrokeR(l6, 0).addCornerWideAcc(r6).addSegStrokeR(0, l6).addCornerWideAcc(r6).closeSegStroke().addCornerWideAcc(r6);
7134
7288
  rGeome.logstr += ctr6.check();
7135
- figOne.addMain(ctr6);
7136
- const ctr6b = contour21(400, 4e3).addSegStrokeR(l6, 0).addCornerWideAcc(r6).addPointR(0, l6).addSegArc(ra6, false, true).addCornerWideAcc(r6).addPointR(-l6, 0).addSegArc(ra6, false, false).addCornerWideAcc(r6).closeSegStroke().addCornerWideAcc(r6);
7289
+ figOne.addMainO(ctr6);
7290
+ const ctr6b = contour22(400, 4e3).addSegStrokeR(l6, 0).addCornerWideAcc(r6).addPointR(0, l6).addSegArc(ra6, false, true).addCornerWideAcc(r6).addPointR(-l6, 0).addSegArc(ra6, false, false).addCornerWideAcc(r6).closeSegStroke().addCornerWideAcc(r6);
7137
7291
  rGeome.logstr += ctr6b.check();
7138
- figOne.addMain(ctr6b);
7139
- const ctr6d = contour21(3e3, 4e3).addPointR(0, 1.7 * l6).addSegArc(2.3 * ra6, true, false).addCornerWideAcc(r6).addPointR(l6, -0.7 * l6).addSegArc(ra6, true, false).addCornerWideAcc(r6).addPointR(-l6, -l6).addSegArc(1.1 * ra6, true, false).addCornerWideAcc(r6);
7292
+ figOne.addMainO(ctr6b);
7293
+ const ctr6d = contour22(3e3, 4e3).addPointR(0, 1.7 * l6).addSegArc(2.3 * ra6, true, false).addCornerWideAcc(r6).addPointR(l6, -0.7 * l6).addSegArc(ra6, true, false).addCornerWideAcc(r6).addPointR(-l6, -l6).addSegArc(1.1 * ra6, true, false).addCornerWideAcc(r6);
7140
7294
  rGeome.logstr += ctr6d.check();
7141
- figOne.addMain(ctr6d);
7142
- const ctr6e = contour21(3800, 4e3).addPointR(l6, 0).addSegArc(ra6, false, false).addCornerWideAcc(r6).addPointR(0, l6).addSegArc(ra6, false, false).addCornerWideAcc(r6).addPointR(-l6, 0).addSegArc(ra6, false, false).addCornerWideAcc(r6).addPointR(0, -l6).addSegArc(ra6, false, false).addCornerWideAcc(r6);
7295
+ figOne.addMainO(ctr6d);
7296
+ const ctr6e = contour22(3800, 4e3).addPointR(l6, 0).addSegArc(ra6, false, false).addCornerWideAcc(r6).addPointR(0, l6).addSegArc(ra6, false, false).addCornerWideAcc(r6).addPointR(-l6, 0).addSegArc(ra6, false, false).addCornerWideAcc(r6).addPointR(0, -l6).addSegArc(ra6, false, false).addCornerWideAcc(r6);
7143
7297
  rGeome.logstr += ctr6e.check();
7144
- figOne.addMain(ctr6e);
7145
- const ctr6f = contour21(4500, 4e3).addPointR(l6, l6).addSegArc(l6, false, false).addPointR(l6, -l6).addSegArc(l6, false, false).addCornerWideAcc(r6).addPointR(-l6, 1.6 * l6).addSegArc(1.1 * ra6, false, true).addCornerWideAcc(r6).addPointR(-l6, -1.6 * l6).addSegArc(1.2 * ra6, false, true).addCornerWideAcc(r6);
7298
+ figOne.addMainO(ctr6e);
7299
+ const ctr6f = contour22(4500, 4e3).addPointR(l6, l6).addSegArc(l6, false, false).addPointR(l6, -l6).addSegArc(l6, false, false).addCornerWideAcc(r6).addPointR(-l6, 1.6 * l6).addSegArc(1.1 * ra6, false, true).addCornerWideAcc(r6).addPointR(-l6, -1.6 * l6).addSegArc(1.2 * ra6, false, true).addCornerWideAcc(r6);
7146
7300
  rGeome.logstr += ctr6f.check();
7147
- figOne.addMain(ctr6f);
7301
+ figOne.addMainO(ctr6f);
7148
7302
  rGeome.fig = { one: figOne };
7149
7303
  rGeome.logstr += "verify_contour_3 drawn successfully!\n";
7150
7304
  rGeome.calcErr = false;
@@ -7157,19 +7311,19 @@ function pGeom31(t, param, suffix = "") {
7157
7311
  var verifyContour3Def = {
7158
7312
  pTitle: "Verify contour 3",
7159
7313
  pDescription: "Debugging contour.ts for rounded corners and widened corners",
7160
- pDef: pDef31,
7161
- pGeom: pGeom31
7314
+ pDef: pDef32,
7315
+ pGeom: pGeom32
7162
7316
  };
7163
7317
 
7164
7318
  // src/geometrix_verification/verify_contour_4.ts
7165
- import { contour as contour22, figure as figure32, pNumber as pNumber32, initGeom as initGeom32 } from "geometrix";
7166
- var pDef32 = {
7319
+ import { contour as contour23, figure as figure33, pNumber as pNumber33, initGeom as initGeom33 } from "geometrix";
7320
+ var pDef33 = {
7167
7321
  partName: "verify_contour_4",
7168
7322
  params: [
7169
7323
  //pNumber(name, unit, init, min, max, step)
7170
- pNumber32("n1", "scalar", 16, 1, 50, 1),
7171
- pNumber32("n2", "scalar", 6, 3, 50, 1),
7172
- pNumber32("r1", "mm", 5, 0, 20, 1)
7324
+ pNumber33("n1", "scalar", 16, 1, 50, 1),
7325
+ pNumber33("n2", "scalar", 6, 3, 50, 1),
7326
+ pNumber33("r1", "mm", 5, 0, 20, 1)
7173
7327
  ],
7174
7328
  paramSvg: {
7175
7329
  n1: "verify_contour_1_r1.svg",
@@ -7183,19 +7337,19 @@ var pDef32 = {
7183
7337
  // every 0.5 second
7184
7338
  }
7185
7339
  };
7186
- function pGeom32(t, param, suffix = "") {
7187
- const rGeome = initGeom32(pDef32.partName + suffix);
7340
+ function pGeom33(t, param, suffix = "") {
7341
+ const rGeome = initGeom33(pDef33.partName + suffix);
7188
7342
  rGeome.logstr += `${rGeome.partName} simTime: ${t}
7189
7343
  `;
7190
7344
  try {
7191
- const figOne = figure32();
7345
+ const figOne = figure33();
7192
7346
  const n1 = param.n1;
7193
7347
  const n2 = param.n2;
7194
7348
  const r1 = param.r1;
7195
7349
  const l1 = 50 + t;
7196
7350
  const as = 2 * Math.PI / (n2 * 3);
7197
- const ctr2b = contour22(l1, 0).addSegStrokeAP(as, 1.5 * l1).addCornerRounded(r1).addPointAP(2 * as, l1).addSegArc(0.45 * l1, false, true).addCornerWidened(r1).addSegStrokeAP(3 * as, 1.2 * l1);
7198
- const ctr1 = contour22(l1, 0);
7351
+ const ctr2b = contour23(l1, 0).addSegStrokeAP(as, 1.5 * l1).addCornerRounded(r1).addPointAP(2 * as, l1).addSegArc(0.45 * l1, false, true).addCornerWidened(r1).addSegStrokeAP(3 * as, 1.2 * l1);
7352
+ const ctr1 = contour23(l1, 0);
7199
7353
  const ctr1b = ctr2b.clone().addCornerRounded(r1);
7200
7354
  for (let i = 0; i < n1; i++) {
7201
7355
  const ctr1c = ctr1b.rotate(0, 0, i * 3 * as).scale(0, 0, 1 + i * 0.2, true);
@@ -7203,14 +7357,14 @@ function pGeom32(t, param, suffix = "") {
7203
7357
  }
7204
7358
  ctr1.closeSegStroke();
7205
7359
  rGeome.logstr += ctr1.check();
7206
- figOne.addMain(ctr1);
7207
- const ctr5 = contour22(l1, 0);
7360
+ figOne.addMainO(ctr1);
7361
+ const ctr5 = contour23(l1, 0);
7208
7362
  for (let i = 0; i < n1; i++) {
7209
7363
  ctr5.addPartial(ctr1b.rotate(0, 0, i * 3 * as).scale(0, 0, 1 + i * 0.2, false));
7210
7364
  }
7211
7365
  ctr5.closeSegStroke();
7212
7366
  rGeome.logstr += ctr5.check();
7213
- figOne.addMain(ctr5.translate(-10 * l1, 0));
7367
+ figOne.addMainO(ctr5.translate(-10 * l1, 0));
7214
7368
  const ctr2c = ctr2b.generateContour();
7215
7369
  const ctr2 = ctr2c.clone();
7216
7370
  for (let i = 1; i < n1; i++) {
@@ -7219,10 +7373,10 @@ function pGeom32(t, param, suffix = "") {
7219
7373
  ctr2.closeSegStroke();
7220
7374
  const ctr3 = ctr2.translate(10 * l1, 0);
7221
7375
  rGeome.logstr += ctr3.check();
7222
- figOne.addMain(ctr3);
7376
+ figOne.addMainO(ctr3);
7223
7377
  const ctr4 = ctr2.translatePolar(Math.PI / 3, 10 * l1);
7224
7378
  rGeome.logstr += ctr4.check();
7225
- figOne.addMain(ctr4);
7379
+ figOne.addMainO(ctr4);
7226
7380
  rGeome.fig = { one: figOne };
7227
7381
  rGeome.logstr += "verify_contour_4 drawn successfully!\n";
7228
7382
  rGeome.calcErr = false;
@@ -7235,29 +7389,29 @@ function pGeom32(t, param, suffix = "") {
7235
7389
  var verifyContour4Def = {
7236
7390
  pTitle: "Verify contour 4",
7237
7391
  pDescription: "Debugging contour.ts for addPartial",
7238
- pDef: pDef32,
7239
- pGeom: pGeom32
7392
+ pDef: pDef33,
7393
+ pGeom: pGeom33
7240
7394
  };
7241
7395
 
7242
7396
  // src/geometrix_verification/verify_exports_1.ts
7243
7397
  import {
7244
- contour as contour23,
7245
- contourCircle as contourCircle19,
7246
- figure as figure33,
7247
- pNumber as pNumber33,
7398
+ contour as contour24,
7399
+ contourCircle as contourCircle20,
7400
+ figure as figure34,
7401
+ pNumber as pNumber34,
7248
7402
  pCheckbox as pCheckbox5,
7249
- initGeom as initGeom33,
7250
- EExtrude as EExtrude17,
7251
- EBVolume as EBVolume20
7403
+ initGeom as initGeom34,
7404
+ EExtrude as EExtrude18,
7405
+ EBVolume as EBVolume21
7252
7406
  } from "geometrix";
7253
- var pDef33 = {
7407
+ var pDef34 = {
7254
7408
  partName: "verify_exports_1",
7255
7409
  params: [
7256
7410
  //pNumber(name, unit, init, min, max, step)
7257
7411
  pCheckbox5("circle", true),
7258
- pNumber33("circle-size", "mm", 100, 1, 1e3, 1),
7412
+ pNumber34("circle-size", "mm", 100, 1, 1e3, 1),
7259
7413
  pCheckbox5("contour", true),
7260
- pNumber33("contour-size", "mm", 30, 1, 1e3, 1),
7414
+ pNumber34("contour-size", "mm", 30, 1, 1e3, 1),
7261
7415
  pCheckbox5("contour-arc-large", false)
7262
7416
  ],
7263
7417
  paramSvg: {
@@ -7273,21 +7427,21 @@ var pDef33 = {
7273
7427
  tUpdate: 500
7274
7428
  }
7275
7429
  };
7276
- function pGeom33(t, param, suffix = "") {
7277
- const rGeome = initGeom33(pDef33.partName + suffix);
7430
+ function pGeom34(t, param, suffix = "") {
7431
+ const rGeome = initGeom34(pDef34.partName + suffix);
7278
7432
  rGeome.logstr += `${rGeome.partName} simTime: ${t}
7279
7433
  `;
7280
7434
  try {
7281
- const figOne = figure33();
7435
+ const figOne = figure34();
7282
7436
  if (param.circle === 1) {
7283
- const theCircle = contourCircle19(0, 0, param["circle-size"]);
7284
- figOne.addMain(theCircle);
7437
+ const theCircle = contourCircle20(0, 0, param["circle-size"]);
7438
+ figOne.addMainO(theCircle);
7285
7439
  }
7286
7440
  if (param.contour === 1) {
7287
7441
  const csize = param["contour-size"];
7288
7442
  const carcl = param["contour-arc-large"] === 1 ? true : false;
7289
- const ctr1 = contour23(0, 0).addSegStrokeA(csize, 0).addPointA(csize, csize).addSegArc(csize * 0.8, carcl, true).closeSegStroke();
7290
- figOne.addMain(ctr1);
7443
+ const ctr1 = contour24(0, 0).addSegStrokeA(csize, 0).addPointA(csize, csize).addSegArc(csize * 0.8, carcl, true).closeSegStroke();
7444
+ figOne.addMainO(ctr1);
7291
7445
  }
7292
7446
  rGeome.fig = { one: figOne };
7293
7447
  const designName = rGeome.partName;
@@ -7296,7 +7450,7 @@ function pGeom33(t, param, suffix = "") {
7296
7450
  {
7297
7451
  outName: `subpax_${designName}_one`,
7298
7452
  face: `${designName}_one`,
7299
- extrudeMethod: EExtrude17.eLinearOrtho,
7453
+ extrudeMethod: EExtrude18.eLinearOrtho,
7300
7454
  length: 10,
7301
7455
  rotate: [0, 0, 0],
7302
7456
  translate: [0, 0, 0]
@@ -7305,7 +7459,7 @@ function pGeom33(t, param, suffix = "") {
7305
7459
  volumes: [
7306
7460
  {
7307
7461
  outName: `pax_${designName}`,
7308
- boolMethod: EBVolume20.eIdentity,
7462
+ boolMethod: EBVolume21.eIdentity,
7309
7463
  inList: [`subpax_${designName}_one`]
7310
7464
  }
7311
7465
  ]
@@ -7321,8 +7475,8 @@ function pGeom33(t, param, suffix = "") {
7321
7475
  var verifyExports1Def = {
7322
7476
  pTitle: "Verify exports 1",
7323
7477
  pDescription: "For dev & debug of Openscad export",
7324
- pDef: pDef33,
7325
- pGeom: pGeom33
7478
+ pDef: pDef34,
7479
+ pGeom: pGeom34
7326
7480
  };
7327
7481
  export {
7328
7482
  baseDef,
@@ -7357,6 +7511,7 @@ export {
7357
7511
  verifyLine3Def,
7358
7512
  verifyPoint1Def,
7359
7513
  verifyPoint2Def,
7360
- verifyVector1Def
7514
+ verifyVector1Def,
7515
+ voilaDef
7361
7516
  };
7362
7517
  //# sourceMappingURL=index.js.map