formulab 0.37.1 → 0.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/dist/automotive/evCharging.d.ts.map +1 -1
  3. package/dist/automotive/evCharging.js +3 -0
  4. package/dist/automotive/evCharging.js.map +1 -1
  5. package/dist/automotive/gearRatio.d.ts.map +1 -1
  6. package/dist/automotive/gearRatio.js +5 -0
  7. package/dist/automotive/gearRatio.js.map +1 -1
  8. package/dist/battery/batteryPackConfig.d.ts.map +1 -1
  9. package/dist/battery/batteryPackConfig.js +12 -0
  10. package/dist/battery/batteryPackConfig.js.map +1 -1
  11. package/dist/battery/bmsBalancing.d.ts.map +1 -1
  12. package/dist/battery/bmsBalancing.js +14 -0
  13. package/dist/battery/bmsBalancing.js.map +1 -1
  14. package/dist/battery/chargingProfile.d.ts.map +1 -1
  15. package/dist/battery/chargingProfile.js +14 -0
  16. package/dist/battery/chargingProfile.js.map +1 -1
  17. package/dist/battery/internalResistance.d.ts.map +1 -1
  18. package/dist/battery/internalResistance.js +3 -0
  19. package/dist/battery/internalResistance.js.map +1 -1
  20. package/dist/battery/selfDischarge.d.ts.map +1 -1
  21. package/dist/battery/selfDischarge.js +6 -0
  22. package/dist/battery/selfDischarge.js.map +1 -1
  23. package/dist/battery/stateOfHealth.d.ts.map +1 -1
  24. package/dist/battery/stateOfHealth.js +6 -0
  25. package/dist/battery/stateOfHealth.js.map +1 -1
  26. package/dist/battery/thermalRunaway.d.ts.map +1 -1
  27. package/dist/battery/thermalRunaway.js +8 -0
  28. package/dist/battery/thermalRunaway.js.map +1 -1
  29. package/dist/chemical/concentration.d.ts.map +1 -1
  30. package/dist/chemical/concentration.js +8 -0
  31. package/dist/chemical/concentration.js.map +1 -1
  32. package/dist/chemical/flowControl.d.ts +1 -0
  33. package/dist/chemical/flowControl.d.ts.map +1 -1
  34. package/dist/chemical/flowControl.js +18 -0
  35. package/dist/chemical/flowControl.js.map +1 -1
  36. package/dist/chemical/injectionCycle.d.ts +1 -0
  37. package/dist/chemical/injectionCycle.d.ts.map +1 -1
  38. package/dist/chemical/injectionCycle.js +8 -1
  39. package/dist/chemical/injectionCycle.js.map +1 -1
  40. package/dist/chemical/reactor.d.ts +1 -0
  41. package/dist/chemical/reactor.d.ts.map +1 -1
  42. package/dist/chemical/reactor.js +9 -0
  43. package/dist/chemical/reactor.js.map +1 -1
  44. package/dist/chemical/reliefValve.d.ts.map +1 -1
  45. package/dist/chemical/reliefValve.js +8 -0
  46. package/dist/chemical/reliefValve.js.map +1 -1
  47. package/dist/chemical/shelfLife.d.ts +1 -0
  48. package/dist/chemical/shelfLife.d.ts.map +1 -1
  49. package/dist/chemical/shelfLife.js +5 -0
  50. package/dist/chemical/shelfLife.js.map +1 -1
  51. package/dist/construction/formwork.d.ts.map +1 -1
  52. package/dist/construction/formwork.js +22 -16
  53. package/dist/construction/formwork.js.map +1 -1
  54. package/dist/energy/insulationRoi.d.ts +2 -2
  55. package/dist/energy/insulationRoi.d.ts.map +1 -1
  56. package/dist/energy/insulationRoi.js +8 -2
  57. package/dist/energy/insulationRoi.js.map +1 -1
  58. package/dist/energy/pfCorrection.d.ts.map +1 -1
  59. package/dist/energy/pfCorrection.js +8 -0
  60. package/dist/energy/pfCorrection.js.map +1 -1
  61. package/dist/energy/vfdSavings.d.ts.map +1 -1
  62. package/dist/energy/vfdSavings.js +15 -0
  63. package/dist/energy/vfdSavings.js.map +1 -1
  64. package/dist/energy/windOutput.d.ts.map +1 -1
  65. package/dist/energy/windOutput.js +8 -0
  66. package/dist/energy/windOutput.js.map +1 -1
  67. package/dist/environmental/esgSummary.d.ts.map +1 -1
  68. package/dist/environmental/esgSummary.js +5 -0
  69. package/dist/environmental/esgSummary.js.map +1 -1
  70. package/dist/logistics/containerFit.d.ts +1 -0
  71. package/dist/logistics/containerFit.d.ts.map +1 -1
  72. package/dist/logistics/containerFit.js +5 -0
  73. package/dist/logistics/containerFit.js.map +1 -1
  74. package/dist/logistics/pallet3d.d.ts +1 -0
  75. package/dist/logistics/pallet3d.d.ts.map +1 -1
  76. package/dist/logistics/pallet3d.js +7 -0
  77. package/dist/logistics/pallet3d.js.map +1 -1
  78. package/dist/logistics/palletStack.d.ts +1 -0
  79. package/dist/logistics/palletStack.d.ts.map +1 -1
  80. package/dist/logistics/palletStack.js +5 -0
  81. package/dist/logistics/palletStack.js.map +1 -1
  82. package/dist/logistics/safetyStock.d.ts +1 -0
  83. package/dist/logistics/safetyStock.d.ts.map +1 -1
  84. package/dist/logistics/safetyStock.js +10 -0
  85. package/dist/logistics/safetyStock.js.map +1 -1
  86. package/dist/machining/boltCircle.d.ts.map +1 -1
  87. package/dist/machining/boltCircle.js +6 -0
  88. package/dist/machining/boltCircle.js.map +1 -1
  89. package/dist/machining/cycleTimeEstimator.d.ts +1 -0
  90. package/dist/machining/cycleTimeEstimator.d.ts.map +1 -1
  91. package/dist/machining/cycleTimeEstimator.js +4 -0
  92. package/dist/machining/cycleTimeEstimator.js.map +1 -1
  93. package/dist/machining/radialChipThinning.d.ts.map +1 -1
  94. package/dist/machining/radialChipThinning.js +9 -0
  95. package/dist/machining/radialChipThinning.js.map +1 -1
  96. package/dist/machining/sineBarHeight.d.ts +1 -0
  97. package/dist/machining/sineBarHeight.d.ts.map +1 -1
  98. package/dist/machining/sineBarHeight.js +10 -0
  99. package/dist/machining/sineBarHeight.js.map +1 -1
  100. package/dist/machining/toolDeflection.d.ts +1 -0
  101. package/dist/machining/toolDeflection.d.ts.map +1 -1
  102. package/dist/machining/toolDeflection.js +3 -0
  103. package/dist/machining/toolDeflection.js.map +1 -1
  104. package/dist/machining/triangleSolver.d.ts.map +1 -1
  105. package/dist/machining/triangleSolver.js +12 -0
  106. package/dist/machining/triangleSolver.js.map +1 -1
  107. package/dist/metal/kFactorReverse.d.ts.map +1 -1
  108. package/dist/metal/kFactorReverse.js +8 -0
  109. package/dist/metal/kFactorReverse.js.map +1 -1
  110. package/dist/metal/pressTonnage.d.ts +3 -1
  111. package/dist/metal/pressTonnage.d.ts.map +1 -1
  112. package/dist/metal/pressTonnage.js +15 -1
  113. package/dist/metal/pressTonnage.js.map +1 -1
  114. package/dist/metal/vibration.d.ts +1 -0
  115. package/dist/metal/vibration.d.ts.map +1 -1
  116. package/dist/metal/vibration.js +13 -0
  117. package/dist/metal/vibration.js.map +1 -1
  118. package/dist/quality/weibull.d.ts +1 -0
  119. package/dist/quality/weibull.d.ts.map +1 -1
  120. package/dist/quality/weibull.js +16 -0
  121. package/dist/quality/weibull.js.map +1 -1
  122. package/dist/safety/illuminance.d.ts.map +1 -1
  123. package/dist/safety/illuminance.js +8 -0
  124. package/dist/safety/illuminance.js.map +1 -1
  125. package/dist/safety/index.d.ts +1 -1
  126. package/dist/safety/index.d.ts.map +1 -1
  127. package/dist/safety/noiseExposure.d.ts.map +1 -1
  128. package/dist/safety/noiseExposure.js +13 -9
  129. package/dist/safety/noiseExposure.js.map +1 -1
  130. package/dist/safety/types.d.ts +8 -0
  131. package/dist/safety/types.d.ts.map +1 -1
  132. package/package.json +3 -2
@@ -13,6 +13,7 @@ import type { CycleTimeEstimatorInput, CycleTimeEstimatorResult } from './types.
13
13
  *
14
14
  * @param input - Cycle time parameters
15
15
  * @returns CycleTimeEstimatorResult with time breakdown and utilization
16
+ * @throws RangeError if a rapid move has a rapid rate that is not greater than 0
16
17
  */
17
18
  export declare function cycleTimeEstimator(input: CycleTimeEstimatorInput): CycleTimeEstimatorResult;
18
19
  //# sourceMappingURL=cycleTimeEstimator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cycleTimeEstimator.d.ts","sourceRoot":"","sources":["../../src/machining/cycleTimeEstimator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAIpF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,wBAAwB,CA+C3F"}
1
+ {"version":3,"file":"cycleTimeEstimator.d.ts","sourceRoot":"","sources":["../../src/machining/cycleTimeEstimator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAIpF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,wBAAwB,CAkD3F"}
@@ -14,6 +14,7 @@ const DEFAULT_RAPID_RATE = 10000; // mm/min
14
14
  *
15
15
  * @param input - Cycle time parameters
16
16
  * @returns CycleTimeEstimatorResult with time breakdown and utilization
17
+ * @throws RangeError if a rapid move has a rapid rate that is not greater than 0
17
18
  */
18
19
  export function cycleTimeEstimator(input) {
19
20
  const { operations, setupTime = 0, partCount = 1 } = input;
@@ -32,6 +33,9 @@ export function cycleTimeEstimator(input) {
32
33
  case 'rapid': {
33
34
  if (op.distance !== undefined) {
34
35
  const rate = op.rapidRate ?? DEFAULT_RAPID_RATE;
36
+ if (!(rate > 0)) {
37
+ throw new RangeError('rapidRate must be greater than 0');
38
+ }
35
39
  rapidTime += (op.distance / rate) * 60;
36
40
  }
37
41
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"cycleTimeEstimator.js","sourceRoot":"","sources":["../../src/machining/cycleTimeEstimator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,SAAS;AAE3C;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA8B;IAC/D,MAAM,EAAE,UAAU,EAAE,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC;IAE3D,IAAI,WAAW,GAAG,CAAC,CAAC,CAAG,UAAU;IACjC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAK,UAAU;IACjC,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC,UAAU;IAClC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAK,UAAU;IAEjC,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,IAAI,EAAE,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;oBAC9E,WAAW,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,0BAA0B;gBAC7E,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,EAAE,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,IAAI,kBAAkB,CAAC;oBAChD,SAAS,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACzC,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,cAAc,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;gBAC/B,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,SAAS,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAAC;IACvE,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACpD,MAAM,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAExE,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAChC,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;QAC1C,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;KACrC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"cycleTimeEstimator.js","sourceRoot":"","sources":["../../src/machining/cycleTimeEstimator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,SAAS;AAE3C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA8B;IAC/D,MAAM,EAAE,UAAU,EAAE,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC;IAE3D,IAAI,WAAW,GAAG,CAAC,CAAC,CAAG,UAAU;IACjC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAK,UAAU;IACjC,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC,UAAU;IAClC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAK,UAAU;IAEjC,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,IAAI,EAAE,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;oBAC9E,WAAW,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,0BAA0B;gBAC7E,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,IAAI,EAAE,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,IAAI,kBAAkB,CAAC;oBAChD,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;wBAChB,MAAM,IAAI,UAAU,CAAC,kCAAkC,CAAC,CAAC;oBAC3D,CAAC;oBACD,SAAS,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACzC,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,cAAc,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;gBAC/B,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,SAAS,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC;gBAC1B,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAAC;IACvE,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACpD,MAAM,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAExE,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAChC,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;QAC1C,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;KACrC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"radialChipThinning.d.ts","sourceRoot":"","sources":["../../src/machining/radialChipThinning.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEpF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,wBAAwB,CAe3F"}
1
+ {"version":3,"file":"radialChipThinning.d.ts","sourceRoot":"","sources":["../../src/machining/radialChipThinning.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEpF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,wBAAwB,CAyB3F"}
@@ -16,6 +16,15 @@ import { roundTo } from '../utils.js';
16
16
  */
17
17
  export function radialChipThinning(input) {
18
18
  const { toolDiameter, radialDepthOfCut, chipLoadTarget } = input;
19
+ // The thinning factor divides by sqrt(ae x (D - ae)); outside 0 < ae < D that radicand
20
+ // is zero or negative, which is a cut the geometry does not describe rather than an
21
+ // infinitely thinned chip.
22
+ if (!(toolDiameter > 0)) {
23
+ throw new RangeError('toolDiameter must be greater than 0');
24
+ }
25
+ if (!(radialDepthOfCut > 0) || radialDepthOfCut >= toolDiameter) {
26
+ throw new RangeError('radialDepthOfCut must be greater than 0 and less than toolDiameter');
27
+ }
19
28
  const D = toolDiameter;
20
29
  const ae = radialDepthOfCut;
21
30
  // Factor = D / (2 × √(ae × (D - ae)))
@@ -1 +1 @@
1
- {"version":3,"file":"radialChipThinning.js","sourceRoot":"","sources":["../../src/machining/radialChipThinning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA8B;IAC/D,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAEjE,MAAM,CAAC,GAAG,YAAY,CAAC;IACvB,MAAM,EAAE,GAAG,gBAAgB,CAAC;IAE5B,sCAAsC;IACtC,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,cAAc,GAAG,MAAM,CAAC;IAE3C,OAAO;QACL,oBAAoB,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5C,kBAAkB,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,iBAAiB,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;KAC9C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"radialChipThinning.js","sourceRoot":"","sources":["../../src/machining/radialChipThinning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA8B;IAC/D,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAEjE,uFAAuF;IACvF,oFAAoF;IACpF,2BAA2B;IAC3B,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,UAAU,CAAC,qCAAqC,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,IAAI,gBAAgB,IAAI,YAAY,EAAE,CAAC;QAChE,MAAM,IAAI,UAAU,CAAC,oEAAoE,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,CAAC,GAAG,YAAY,CAAC;IACvB,MAAM,EAAE,GAAG,gBAAgB,CAAC;IAE5B,sCAAsC;IACtC,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,cAAc,GAAG,MAAM,CAAC;IAE3C,OAAO;QACL,oBAAoB,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5C,kBAAkB,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,iBAAiB,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;KAC9C,CAAC;AACJ,CAAC"}
@@ -11,6 +11,7 @@ import type { SineBarHeightInput, SineBarHeightResult } from './types.js';
11
11
  *
12
12
  * @param input - Sine bar parameters
13
13
  * @returns SineBarHeightResult with exact and optionally rounded height
14
+ * @throws RangeError if sineBarLength is not greater than 0, or roundToBlock rounds the gauge stack beyond the bar length
14
15
  */
15
16
  export declare function sineBarHeight(input: SineBarHeightInput): SineBarHeightResult;
16
17
  //# sourceMappingURL=sineBarHeight.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sineBarHeight.d.ts","sourceRoot":"","sources":["../../src/machining/sineBarHeight.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE1E;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CAqB5E"}
1
+ {"version":3,"file":"sineBarHeight.d.ts","sourceRoot":"","sources":["../../src/machining/sineBarHeight.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE1E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CA+B5E"}
@@ -11,9 +11,14 @@ import { roundTo } from '../utils.js';
11
11
  *
12
12
  * @param input - Sine bar parameters
13
13
  * @returns SineBarHeightResult with exact and optionally rounded height
14
+ * @throws RangeError if sineBarLength is not greater than 0, or roundToBlock rounds the gauge stack beyond the bar length
14
15
  */
15
16
  export function sineBarHeight(input) {
16
17
  const { angle, sineBarLength, roundToBlock } = input;
18
+ // The actual angle is recovered as asin(roundedHeight / sineBarLength).
19
+ if (!(sineBarLength > 0)) {
20
+ throw new RangeError('sineBarLength must be greater than 0');
21
+ }
17
22
  const angleRad = (angle * Math.PI) / 180;
18
23
  const height = sineBarLength * Math.sin(angleRad);
19
24
  const result = {
@@ -21,6 +26,11 @@ export function sineBarHeight(input) {
21
26
  };
22
27
  if (roundToBlock !== undefined && roundToBlock > 0) {
23
28
  const rounded = Math.round(height / roundToBlock) * roundToBlock;
29
+ // A coarse block increment can round the stack past the bar length (or below −length),
30
+ // where no angle exists.
31
+ if (Math.abs(rounded) > sineBarLength) {
32
+ throw new RangeError('roundToBlock rounds the gauge stack beyond the sine bar length');
33
+ }
24
34
  result.roundedHeight = roundTo(rounded, 4);
25
35
  const actualAngleRad = Math.asin(rounded / sineBarLength);
26
36
  const actualAngleDeg = (actualAngleRad * 180) / Math.PI;
@@ -1 +1 @@
1
- {"version":3,"file":"sineBarHeight.js","sourceRoot":"","sources":["../../src/machining/sineBarHeight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAErD,MAAM,QAAQ,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACzC,MAAM,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAElD,MAAM,MAAM,GAAwB;QAClC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;KAC3B,CAAC;IAEF,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,YAAY,CAAC;QACjE,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAE3C,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACxD,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,cAAc,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"sineBarHeight.js","sourceRoot":"","sources":["../../src/machining/sineBarHeight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAErD,wEAAwE;IACxE,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,UAAU,CAAC,sCAAsC,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACzC,MAAM,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAElD,MAAM,MAAM,GAAwB;QAClC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;KAC3B,CAAC;IAEF,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,YAAY,CAAC;QACjE,uFAAuF;QACvF,yBAAyB;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,aAAa,EAAE,CAAC;YACtC,MAAM,IAAI,UAAU,CAAC,gEAAgE,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAE3C,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACxD,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,cAAc,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -11,6 +11,7 @@ import type { ToolDeflectionInput, ToolDeflectionResult } from './types.js';
11
11
  *
12
12
  * @param input - Tool deflection parameters
13
13
  * @returns ToolDeflectionResult with deflection, inertia, and stiffness
14
+ * @throws RangeError if toolDiameter, stickout or the Young's modulus is not positive, or cuttingForce is negative
14
15
  */
15
16
  export declare function toolDeflection(input: ToolDeflectionInput): ToolDeflectionResult;
16
17
  //# sourceMappingURL=toolDeflection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolDeflection.d.ts","sourceRoot":"","sources":["../../src/machining/toolDeflection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAgB,MAAM,YAAY,CAAC;AAU1F;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CAoB/E"}
1
+ {"version":3,"file":"toolDeflection.d.ts","sourceRoot":"","sources":["../../src/machining/toolDeflection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAgB,MAAM,YAAY,CAAC;AAU1F;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CAqB/E"}
@@ -18,6 +18,7 @@ const TOOL_MODULUS = {
18
18
  *
19
19
  * @param input - Tool deflection parameters
20
20
  * @returns ToolDeflectionResult with deflection, inertia, and stiffness
21
+ * @throws RangeError if toolDiameter, stickout or the Young's modulus is not positive, or cuttingForce is negative
21
22
  */
22
23
  export function toolDeflection(input) {
23
24
  const { toolDiameter, stickout, cuttingForce, material = 'carbide' } = input;
@@ -28,6 +29,8 @@ export function toolDeflection(input) {
28
29
  if (cuttingForce < 0)
29
30
  throw new RangeError('cuttingForce must be non-negative');
30
31
  const E = input.youngsModulus ?? TOOL_MODULUS[material];
32
+ if (!(E > 0))
33
+ throw new RangeError('youngsModulus must be positive');
31
34
  const E_MPa = E * 1000; // GPa → MPa (N/mm²)
32
35
  const I = (Math.PI * Math.pow(toolDiameter, 4)) / 64;
33
36
  const delta = (cuttingForce * Math.pow(stickout, 3)) / (3 * E_MPa * I);
@@ -1 +1 @@
1
- {"version":3,"file":"toolDeflection.js","sourceRoot":"","sources":["../../src/machining/toolDeflection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;GAEG;AACH,MAAM,YAAY,GAAiC;IACjD,OAAO,EAAE,GAAG;IACZ,GAAG,EAAE,GAAG;CACT,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAE7E,IAAI,YAAY,IAAI,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,+BAA+B,CAAC,CAAC;IAC7E,IAAI,QAAQ,IAAI,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,2BAA2B,CAAC,CAAC;IACrE,IAAI,YAAY,GAAG,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,mCAAmC,CAAC,CAAC;IAEhF,MAAM,CAAC,GAAG,KAAK,CAAC,aAAa,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,oBAAoB;IAE5C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACrD,MAAM,KAAK,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAE1D,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7B,eAAe,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9B,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAChC,aAAa,EAAE,CAAC;KACjB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"toolDeflection.js","sourceRoot":"","sources":["../../src/machining/toolDeflection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;GAEG;AACH,MAAM,YAAY,GAAiC;IACjD,OAAO,EAAE,GAAG;IACZ,GAAG,EAAE,GAAG;CACT,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAE7E,IAAI,YAAY,IAAI,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,+BAA+B,CAAC,CAAC;IAC7E,IAAI,QAAQ,IAAI,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,2BAA2B,CAAC,CAAC;IACrE,IAAI,YAAY,GAAG,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,mCAAmC,CAAC,CAAC;IAEhF,MAAM,CAAC,GAAG,KAAK,CAAC,aAAa,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;IACxD,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,gCAAgC,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,oBAAoB;IAE5C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACrD,MAAM,KAAK,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAE1D,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7B,eAAe,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9B,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAChC,aAAa,EAAE,CAAC;KACjB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"triangleSolver.d.ts","sourceRoot":"","sources":["../../src/machining/triangleSolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAK5E;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CA2F/E"}
1
+ {"version":3,"file":"triangleSolver.d.ts","sourceRoot":"","sources":["../../src/machining/triangleSolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAK5E;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CAwG/E"}
@@ -22,6 +22,18 @@ const RAD = 180 / Math.PI;
22
22
  */
23
23
  export function triangleSolver(input) {
24
24
  let { a, b, c, A, B, C } = input;
25
+ // A side of zero collapses the law of cosines onto a zero denominator and every angle
26
+ // comes back NaN; an angle outside (0, 180) is not an angle of a triangle at all.
27
+ for (const [name, side] of [['a', a], ['b', b], ['c', c]]) {
28
+ if (side !== undefined && !(side > 0)) {
29
+ throw new RangeError(`side ${name} must be greater than 0`);
30
+ }
31
+ }
32
+ for (const [name, angle] of [['A', A], ['B', B], ['C', C]]) {
33
+ if (angle !== undefined && (!(angle > 0) || angle >= 180)) {
34
+ throw new RangeError(`angle ${name} must be greater than 0 and less than 180`);
35
+ }
36
+ }
25
37
  // Count known values
26
38
  const knownSides = [a, b, c].filter(v => v !== undefined).length;
27
39
  const knownAngles = [A, B, C].filter(v => v !== undefined).length;
@@ -1 +1 @@
1
- {"version":3,"file":"triangleSolver.js","sourceRoot":"","sources":["../../src/machining/triangleSolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"triangleSolver.js","sourceRoot":"","sources":["../../src/machining/triangleSolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"kFactorReverse.d.ts","sourceRoot":"","sources":["../../src/metal/kFactorReverse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvG;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CAkC/E;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,mBAAmB,EAC1B,wBAAwB,SAAO,GAC9B,yBAAyB,CAa3B"}
1
+ {"version":3,"file":"kFactorReverse.d.ts","sourceRoot":"","sources":["../../src/metal/kFactorReverse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEvG;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CA2C/E;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,mBAAmB,EAC1B,wBAAwB,SAAO,GAC9B,yBAAyB,CAa3B"}
@@ -17,6 +17,14 @@ import { propagate } from '../math.js';
17
17
  */
18
18
  export function kFactorReverse(input) {
19
19
  const { thickness, bendAngle, insideRadius, measuredFlatLength, legA, legB, } = input;
20
+ // The K-factor divides by the bend angle in radians and again by the thickness, so a
21
+ // zero in either place yields an infinite K rather than a sheet that cannot be bent.
22
+ if (!(thickness > 0)) {
23
+ throw new RangeError('thickness must be greater than 0');
24
+ }
25
+ if (!(bendAngle > 0) || bendAngle >= 180) {
26
+ throw new RangeError('bendAngle must be greater than 0 and less than 180');
27
+ }
20
28
  // Convert bend angle to radians
21
29
  const bendAngleRad = (bendAngle * Math.PI) / 180;
22
30
  // Calculate bend deduction from measured data
@@ -1 +1 @@
1
- {"version":3,"file":"kFactorReverse.js","sourceRoot":"","sources":["../../src/metal/kFactorReverse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,EACJ,SAAS,EACT,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,IAAI,EACJ,IAAI,GACL,GAAG,KAAK,CAAC;IAEV,gCAAgC;IAChC,MAAM,YAAY,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IAEjD,8CAA8C;IAC9C,qDAAqD;IACrD,2CAA2C;IAC3C,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,kBAAkB,CAAC;IAE5C,mCAAmC;IACnC,MAAM,YAAY,GAAG,YAAY,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAEjE,4CAA4C;IAC5C,2CAA2C;IAC3C,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;IAEzB,qCAAqC;IACrC,iDAAiD;IACjD,oDAAoD;IACpD,MAAM,OAAO,GAAG,CAAC,EAAE,GAAG,YAAY,GAAG,YAAY,CAAC,GAAG,SAAS,CAAC;IAE/D,OAAO;QACL,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAA0B,EAC1B,wBAAwB,GAAG,IAAI;IAE/B,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,SAAS,CACnC,KAAK,EACL;QACE,kBAAkB,EAAE,wBAAwB;QAC5C,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,wBAAwB;QAC9B,YAAY,EAAE,wBAAwB;KACvC,EACD,cAAc,EACd,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAC3B,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"kFactorReverse.js","sourceRoot":"","sources":["../../src/metal/kFactorReverse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,EACJ,SAAS,EACT,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,IAAI,EACJ,IAAI,GACL,GAAG,KAAK,CAAC;IAEV,qFAAqF;IACrF,qFAAqF;IACrF,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,UAAU,CAAC,kCAAkC,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;QACzC,MAAM,IAAI,UAAU,CAAC,oDAAoD,CAAC,CAAC;IAC7E,CAAC;IAED,gCAAgC;IAChC,MAAM,YAAY,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IAEjD,8CAA8C;IAC9C,qDAAqD;IACrD,2CAA2C;IAC3C,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,kBAAkB,CAAC;IAE5C,mCAAmC;IACnC,MAAM,YAAY,GAAG,YAAY,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAEjE,4CAA4C;IAC5C,2CAA2C;IAC3C,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;IAEzB,qCAAqC;IACrC,iDAAiD;IACjD,oDAAoD;IACpD,MAAM,OAAO,GAAG,CAAC,EAAE,GAAG,YAAY,GAAG,YAAY,CAAC,GAAG,SAAS,CAAC;IAE/D,OAAO;QACL,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAA0B,EAC1B,wBAAwB,GAAG,IAAI;IAE/B,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,SAAS,CACnC,KAAK,EACL;QACE,kBAAkB,EAAE,wBAAwB;QAC5C,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,wBAAwB;QAC9B,YAAY,EAAE,wBAAwB;KACvC,EACD,cAAc,EACd,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAC3B,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAC9D,CAAC"}
@@ -14,7 +14,9 @@ import type { PressTonnageInput, PressTonnageResult } from './types.js';
14
14
  *
15
15
  * @param input - Press tonnage input parameters
16
16
  * @returns PressTonnageResult with forces, draw analysis, and warnings
17
- * @throws RangeError if operation is 'combined' but no operations array is provided
17
+ * @throws RangeError if thickness or dieOpening is not greater than 0, if a drawing
18
+ * operation has a punchDiameter that is not greater than 0, or if operation is 'combined'
19
+ * but no operations array is provided
18
20
  */
19
21
  export declare function pressTonnage(input: PressTonnageInput): PressTonnageResult;
20
22
  //# sourceMappingURL=pressTonnage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pressTonnage.d.ts","sourceRoot":"","sources":["../../src/metal/pressTonnage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAY,MAAM,YAAY,CAAC;AA8JlF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CA4IzE"}
1
+ {"version":3,"file":"pressTonnage.d.ts","sourceRoot":"","sources":["../../src/metal/pressTonnage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAY,MAAM,YAAY,CAAC;AA8JlF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CAyJzE"}
@@ -138,10 +138,20 @@ function estimateNumberOfDraws(blankDiameter, finalDiameter) {
138
138
  *
139
139
  * @param input - Press tonnage input parameters
140
140
  * @returns PressTonnageResult with forces, draw analysis, and warnings
141
- * @throws RangeError if operation is 'combined' but no operations array is provided
141
+ * @throws RangeError if thickness or dieOpening is not greater than 0, if a drawing
142
+ * operation has a punchDiameter that is not greater than 0, or if operation is 'combined'
143
+ * but no operations array is provided
142
144
  */
143
145
  export function pressTonnage(input) {
144
146
  const { operation, thickness, tensileStrength, shearStrength, safetyFactor = 1.25, cuttingPerimeter = 0, bendLength = 0, dieOpening = 8 * thickness, bendType = 'air', punchDiameter = 0, blankDiameter = 0, frictionCoefficient = DRAW_CONSTANTS.DEFAULT_FRICTION, blankHolderPressure = DRAW_CONSTANTS.DEFAULT_BLANK_HOLDER_PRESSURE, dieRadius = 5 * thickness, } = input;
147
+ // Bending divides by the die opening, and the drawing bend factor divides by a die radius
148
+ // that defaults to 5 × thickness.
149
+ if (!(thickness > 0)) {
150
+ throw new RangeError('thickness must be greater than 0');
151
+ }
152
+ if (!(dieOpening > 0)) {
153
+ throw new RangeError('dieOpening must be greater than 0');
154
+ }
145
155
  let blankingForce = 0;
146
156
  let bendingForce = 0;
147
157
  let drawingForce = 0;
@@ -174,6 +184,10 @@ export function pressTonnage(input) {
174
184
  // Determine blank diameter and draw ratio
175
185
  let D = blankDiameter;
176
186
  const d = punchDiameter;
187
+ // The draw ratio divides by the punch diameter and the Siebel term takes ln(D / d).
188
+ if (!(d > 0)) {
189
+ throw new RangeError('punchDiameter must be greater than 0 for drawing');
190
+ }
177
191
  // If blank diameter not provided, estimate from drawRatio input
178
192
  if (D <= 0 && input.drawRatio && input.drawRatio > 0) {
179
193
  D = d / input.drawRatio;
@@ -1 +1 @@
1
- {"version":3,"file":"pressTonnage.js","sourceRoot":"","sources":["../../src/metal/pressTonnage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;GAEG;AACH,MAAM,gBAAgB,GAA6B;IACjD,GAAG,EAAE,IAAI;IACT,SAAS,EAAE,GAAG;IACd,OAAO,EAAE,GAAG;CACb,CAAC;AAEF;;;GAGG;AACH,MAAM,cAAc,GAAG;IACrB,uDAAuD;IACvD,cAAc,EAAE,IAAI;IACpB,2CAA2C;IAC3C,qBAAqB,EAAE,IAAI;IAC3B,8CAA8C;IAC9C,cAAc,EAAE,IAAI;IACpB,uCAAuC;IACvC,sBAAsB,EAAE,IAAI;IAC5B,0CAA0C;IAC1C,6BAA6B,EAAE,GAAG;IAClC,sDAAsD;IACtD,gBAAgB,EAAE,GAAG;IACrB,4CAA4C;IAC5C,eAAe,EAAE,GAAG;CACrB,CAAC;AAEF;;;;;;;;GAQG;AACH,SAAS,yBAAyB,CAChC,aAAqB,EACrB,aAAqB,EACrB,mBAA2B;IAE3B,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,aAAa,IAAI,CAAC,CAAC,CAAC;IAC5E,4CAA4C;IAC5C,4BAA4B;IAC5B,OAAO,CAAC,SAAS,GAAG,mBAAmB,CAAC,GAAG,IAAI,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,qBAAqB,CAC5B,aAAqB,EACrB,aAAqB,EACrB,SAAiB,EACjB,eAAuB,EACvB,mBAA2B,EAC3B,SAAiB;IAEjB,MAAM,CAAC,GAAG,aAAa,CAAC;IACxB,MAAM,CAAC,GAAG,aAAa,CAAC;IACxB,MAAM,CAAC,GAAG,SAAS,CAAC;IACpB,MAAM,KAAK,GAAG,eAAe,CAAC;IAC9B,MAAM,EAAE,GAAG,mBAAmB,CAAC;IAC/B,MAAM,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,0BAA0B;IAElE,0CAA0C;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAEhC,kCAAkC;IAClC,MAAM,YAAY,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAExC,2CAA2C;IAC3C,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAEtC,sCAAsC;IACtC,MAAM,gBAAgB,GAAG,IAAI,CAAC;IAE9B,iBAAiB;IACjB,MAAM,aAAa,GAAG,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,aAAa,GAAG,gBAAgB,CAAC,CAAC;IAE5F,6BAA6B;IAC7B,wBAAwB;IACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAEjC,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC,GAAG,IAAI,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAC5B,aAAqB,EACrB,aAAqB;IAErB,MAAM,CAAC,GAAG,aAAa,CAAC;IACxB,MAAM,OAAO,GAAG,aAAa,CAAC;IAE9B,mBAAmB;IACnB,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,CAAC;IAE/B,IAAI,UAAU,IAAI,cAAc,CAAC,qBAAqB,EAAE,CAAC;QACvD,uBAAuB;QACvB,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;IACpD,CAAC;IAED,sBAAsB;IACtB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,aAAa;IACb,IAAI,YAAY,GAAG,CAAC,GAAG,cAAc,CAAC,qBAAqB,CAAC;IAC5D,IAAI,YAAY,IAAI,OAAO,EAAE,CAAC;QAC5B,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;IACrD,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAClD,eAAe,GAAG,YAAY,CAAC;IAC/B,KAAK,GAAG,CAAC,CAAC;IAEV,mBAAmB;IACnB,OAAO,eAAe,GAAG,OAAO,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,eAAe,GAAG,cAAc,CAAC,sBAAsB,CAAC;QAC7E,IAAI,YAAY,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;YACvC,KAAK,EAAE,CAAC;YACR,MAAM;QACR,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;QACnD,eAAe,GAAG,YAAY,CAAC;QAC/B,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,MAAM,EACJ,SAAS,EACT,SAAS,EACT,eAAe,EACf,aAAa,EACb,YAAY,GAAG,IAAI,EACnB,gBAAgB,GAAG,CAAC,EACpB,UAAU,GAAG,CAAC,EACd,UAAU,GAAG,CAAC,GAAG,SAAS,EAC1B,QAAQ,GAAG,KAAK,EAChB,aAAa,GAAG,CAAC,EACjB,aAAa,GAAG,CAAC,EACjB,mBAAmB,GAAG,cAAc,CAAC,gBAAgB,EACrD,mBAAmB,GAAG,cAAc,CAAC,6BAA6B,EAClE,SAAS,GAAG,CAAC,GAAG,SAAS,GAC1B,GAAG,KAAK,CAAC;IAEV,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,SAAS,GAA2C,EAAE,CAAC;IAC7D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,2BAA2B;IAC3B,IAAI,SAAS,KAAK,UAAU,IAAI,CAAC,SAAS,KAAK,UAAU,IAAI,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC;QACnF,iCAAiC;QACjC,6BAA6B;QAC7B,aAAa,GAAG,CAAC,gBAAgB,GAAG,SAAS,GAAG,aAAa,CAAC,GAAG,IAAI,CAAC;QAEtE,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,SAAS,KAAK,UAAU,IAAI,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5E,2BAA2B;QAC3B,MAAM,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACrC,6BAA6B;QAC7B,YAAY,GAAG,CAAC,CAAC,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QAEhG,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,SAAS,KAAK,UAAU,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC;QAC/E,0CAA0C;QAC1C,IAAI,CAAC,GAAG,aAAa,CAAC;QACtB,MAAM,CAAC,GAAG,aAAa,CAAC;QAExB,gEAAgE;QAChE,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YACrD,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;QAC1B,CAAC;QAED,qDAAqD;QACrD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACX,+CAA+C;YAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC;YACvC,YAAY,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,aAAa,GAAG,SAAS,GAAG,eAAe,CAAC,GAAG,IAAI,CAAC;YAClF,eAAe,GAAG,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,2CAA2C;YAC3C,eAAe,GAAG,CAAC,GAAG,CAAC,CAAC;YAExB,+CAA+C;YAC/C,YAAY,GAAG,qBAAqB,CAClC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,mBAAmB,EAAE,SAAS,CACjE,CAAC;YAEF,+BAA+B;YAC/B,gBAAgB,GAAG,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC;YAExE,2BAA2B;YAC3B,MAAM,YAAY,GAAG,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACjD,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;YAE3C,oBAAoB;YACpB,IAAI,eAAe,GAAG,cAAc,CAAC,cAAc,EAAE,CAAC;gBACpD,QAAQ,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,yBAAyB,cAAc,CAAC,cAAc,sBAAsB,CAAC,CAAC;YACvI,CAAC;iBAAM,IAAI,eAAe,GAAG,cAAc,CAAC,qBAAqB,EAAE,CAAC;gBAClE,QAAQ,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,sEAAsE,CAAC,CAAC;YACjI,CAAC;YAED,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC,qCAAqC,aAAa,6BAA6B,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9H,CAAC;YAED,IAAI,mBAAmB,GAAG,IAAI,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;YAC9F,CAAC;YAED,IAAI,mBAAmB,GAAG,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YAC5E,CAAC;iBAAM,IAAI,mBAAmB,GAAG,GAAG,EAAE,CAAC;gBACrC,QAAQ,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1E,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;gBACzB,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,IAAI,SAAS,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAClD,MAAM,IAAI,UAAU,CAAC,+CAA+C,CAAC,CAAC;IACxE,CAAC;IAED,yEAAyE;IACzE,MAAM,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,YAAY,GAAG,gBAAgB,CAAC;IAElF,sCAAsC;IACtC,oDAAoD;IACpD,sDAAsD;IACtD,MAAM,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC;IACzC,MAAM,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;IAC9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IAEzD,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;QACxC,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACtC,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACtC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC9C,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAClC,gBAAgB;QAChB,SAAS,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QACtC,aAAa;QACb,SAAS;QACT,QAAQ;KACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"pressTonnage.js","sourceRoot":"","sources":["../../src/metal/pressTonnage.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ import type { VibrationInput, VibrationResult } from './types.js';
19
19
  * angularFrequency in rad/s, period in s, momentOfInertia/polarMomentOfInertia in mm⁴,
20
20
  * crossSectionalArea in mm²
21
21
  * @throws RangeError if a required geometry or system parameter is not positive,
22
+ * if a custom youngsModulus, density or shearModulus is given and not positive,
22
23
  * or if innerDiameter is not less than outerDiameter for a hollow section
23
24
  */
24
25
  export declare function vibration(input: VibrationInput): VibrationResult;
@@ -1 +1 @@
1
- {"version":3,"file":"vibration.d.ts","sourceRoot":"","sources":["../../src/metal/vibration.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAoC,MAAM,YAAY,CAAC;AAuBpG;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CA+JhE"}
1
+ {"version":3,"file":"vibration.d.ts","sourceRoot":"","sources":["../../src/metal/vibration.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAoC,MAAM,YAAY,CAAC;AAuBpG;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CA4KhE"}
@@ -31,10 +31,23 @@ const simplySuportedLambda = (n) => n * Math.PI;
31
31
  * angularFrequency in rad/s, period in s, momentOfInertia/polarMomentOfInertia in mm⁴,
32
32
  * crossSectionalArea in mm²
33
33
  * @throws RangeError if a required geometry or system parameter is not positive,
34
+ * if a custom youngsModulus, density or shearModulus is given and not positive,
34
35
  * or if innerDiameter is not less than outerDiameter for a hollow section
35
36
  */
36
37
  export function vibration(input) {
37
38
  const { system, material } = input;
39
+ // Custom material properties enter square roots (√(E·I/ρ·A), √(G·J/…)).
40
+ if (material === 'custom') {
41
+ for (const [name, value] of [
42
+ ['youngsModulus', input.youngsModulus],
43
+ ['density', input.density],
44
+ ['shearModulus', input.shearModulus],
45
+ ]) {
46
+ if (value !== undefined && !(value > 0)) {
47
+ throw new RangeError(`${name} must be greater than 0`);
48
+ }
49
+ }
50
+ }
38
51
  // Get material properties
39
52
  const props = material === 'custom' && input.youngsModulus && input.density
40
53
  ? {
@@ -1 +1 @@
1
- {"version":3,"file":"vibration.js","sourceRoot":"","sources":["../../src/metal/vibration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vibration.js","sourceRoot":"","sources":["../../src/metal/vibration.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import type { WeibullInput, WeibullResult } from './types.js';
12
12
  *
13
13
  * @reference Abernethy, R.B. "The New Weibull Handbook", 5th Ed.
14
14
  * @reference IEC 61649:2008 — Weibull Analysis
15
+ * @throws RangeError if fewer than 2 failure times are given, any is not greater than 0, all are identical, or missionTime is negative
15
16
  */
16
17
  export declare function weibull(input: WeibullInput): WeibullResult;
17
18
  //# sourceMappingURL=weibull.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"weibull.d.ts","sourceRoot":"","sources":["../../src/quality/weibull.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CAwE1D"}
1
+ {"version":3,"file":"weibull.d.ts","sourceRoot":"","sources":["../../src/quality/weibull.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CAwF1D"}
@@ -12,9 +12,25 @@ import { roundTo } from '../utils.js';
12
12
  *
13
13
  * @reference Abernethy, R.B. "The New Weibull Handbook", 5th Ed.
14
14
  * @reference IEC 61649:2008 — Weibull Analysis
15
+ * @throws RangeError if fewer than 2 failure times are given, any is not greater than 0, all are identical, or missionTime is negative
15
16
  */
16
17
  export function weibull(input) {
17
18
  const { failureTimes, missionTime } = input;
19
+ // Median rank regression fits a line through (ln t, ln ln(1/(1−F))): it needs at least two
20
+ // distinct positive times, or the log is undefined and the slope divides by zero.
21
+ if (failureTimes.length < 2) {
22
+ throw new RangeError('At least 2 failure times are required');
23
+ }
24
+ if (failureTimes.some((t) => !(t > 0))) {
25
+ throw new RangeError('All failure times must be greater than 0');
26
+ }
27
+ if (failureTimes.every((t) => t === failureTimes[0])) {
28
+ throw new RangeError('failure times must not all be identical');
29
+ }
30
+ // R(t) raises t/η to a fractional power.
31
+ if (missionTime != null && !(missionTime >= 0)) {
32
+ throw new RangeError('missionTime must not be negative');
33
+ }
18
34
  // Sort failure times ascending
19
35
  const sorted = [...failureTimes].sort((a, b) => a - b);
20
36
  const n = sorted.length;
@@ -1 +1 @@
1
- {"version":3,"file":"weibull.js","sourceRoot":"","sources":["../../src/quality/weibull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"weibull.js","sourceRoot":"","sources":["../../src/quality/weibull.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"illuminance.d.ts","sourceRoot":"","sources":["../../src/safety/illuminance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAStC,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,cAAc,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAsD,CAAC;AAiB5G;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CA8DtE"}
1
+ {"version":3,"file":"illuminance.d.ts","sourceRoot":"","sources":["../../src/safety/illuminance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAStC,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,cAAc,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAsD,CAAC;AAiB5G;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAwEtE"}
@@ -47,6 +47,9 @@ export function illuminance(input) {
47
47
  if (roomLength <= 0 || roomWidth <= 0 || lumensPerLuminaire <= 0 || targetLux <= 0) {
48
48
  throw new RangeError('roomLength, roomWidth, lumensPerLuminaire, and targetLux must all be greater than 0');
49
49
  }
50
+ if (!(mf > 0)) {
51
+ throw new RangeError('mf (maintenance factor) must be greater than 0');
52
+ }
50
53
  const area = roomLength * roomWidth;
51
54
  const hm = luminaireHeight - workplaneHeight;
52
55
  if (hm <= 0) {
@@ -60,6 +63,11 @@ export function illuminance(input) {
60
63
  // the caller can tell the user the CU is a boundary approximation rather than a table value.
61
64
  const cu = cuOverride ?? lookupCU(roomIndex);
62
65
  const roomIndexClamped = cuOverride === undefined && (roomIndex < CU_TABLE_RANGE[0] || roomIndex > CU_TABLE_RANGE[1]);
66
+ // The luminaire count divides by CU x MF; a zero coefficient of utilization means no
67
+ // light reaches the workplane, which is not a fixture count.
68
+ if (!(cu > 0)) {
69
+ throw new RangeError('cu (coefficient of utilization) must be greater than 0');
70
+ }
63
71
  // Number of luminaires: N = (E × A) / (Φ × CU × MF)
64
72
  const nExact = (targetLux * area) / (lumensPerLuminaire * cu * mf);
65
73
  const fixturesNeeded = Math.ceil(nExact);
@@ -1 +1 @@
1
- {"version":3,"file":"illuminance.js","sourceRoot":"","sources":["../../src/safety/illuminance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"illuminance.js","sourceRoot":"","sources":["../../src/safety/illuminance.ts"],"names":[],"mappings":"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"}
@@ -12,5 +12,5 @@ export { ergonomicRisk } from './ergonomicRisk.js';
12
12
  export { arcFlash } from './arcFlash.js';
13
13
  export { confinedSpace } from './confinedSpace.js';
14
14
  export { lel } from './lel.js';
15
- export type { VentilationActivityLevel, SpaceType, VentilationRateInput, VentilationRateResult, FallClearanceInput, FallClearanceResult, CouplingQuality, WorkDuration, NioshInput, NioshResult, NoiseExposure, NoiseExposureInput, NoiseExposureResult, WorkloadIntensity, WbgtInput, WbgtResult, ToolExposure, HavsInput, HavsResult, RespiratorType, RespiratorInput, RespiratorResult, LadderAngleInput, LadderAngleResult, IlluminanceInput, IlluminanceResult, ThermalComfortInput, ThermalComfortResult, RebaInput, RebaResult, ArcFlashInput, ArcFlashResult, ConfinedSpaceInput, ConfinedSpaceResult, GasComponent, LelInput, LelResult, } from './types.js';
15
+ export type { VentilationActivityLevel, SpaceType, VentilationRateInput, VentilationRateResult, FallClearanceInput, FallClearanceResult, CouplingQuality, WorkDuration, NioshInput, NioshResult, NoiseExposure, NoiseExposureInput, NoiseExposureContribution, NoiseExposureResult, WorkloadIntensity, WbgtInput, WbgtResult, ToolExposure, HavsInput, HavsResult, RespiratorType, RespiratorInput, RespiratorResult, LadderAngleInput, LadderAngleResult, IlluminanceInput, IlluminanceResult, ThermalComfortInput, ThermalComfortResult, RebaInput, RebaResult, ArcFlashInput, ArcFlashResult, ConfinedSpaceInput, ConfinedSpaceResult, GasComponent, LelInput, LelResult, } from './types.js';
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/safety/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG/B,YAAY,EAEV,wBAAwB,EACxB,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EAErB,kBAAkB,EAClB,mBAAmB,EAEnB,eAAe,EACf,YAAY,EACZ,UAAU,EACV,WAAW,EAEX,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EAEnB,iBAAiB,EACjB,SAAS,EACT,UAAU,EAEV,YAAY,EACZ,SAAS,EACT,UAAU,EAEV,cAAc,EACd,eAAe,EACf,gBAAgB,EAEhB,gBAAgB,EAChB,iBAAiB,EAEjB,gBAAgB,EAChB,iBAAiB,EAEjB,mBAAmB,EACnB,oBAAoB,EAEpB,SAAS,EACT,UAAU,EAEV,aAAa,EACb,cAAc,EAEd,kBAAkB,EAClB,mBAAmB,EAEnB,YAAY,EACZ,QAAQ,EACR,SAAS,GACV,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/safety/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG/B,YAAY,EAEV,wBAAwB,EACxB,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EAErB,kBAAkB,EAClB,mBAAmB,EAEnB,eAAe,EACf,YAAY,EACZ,UAAU,EACV,WAAW,EAEX,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EAEnB,iBAAiB,EACjB,SAAS,EACT,UAAU,EAEV,YAAY,EACZ,SAAS,EACT,UAAU,EAEV,cAAc,EACd,eAAe,EACf,gBAAgB,EAEhB,gBAAgB,EAChB,iBAAiB,EAEjB,gBAAgB,EAChB,iBAAiB,EAEjB,mBAAmB,EACnB,oBAAoB,EAEpB,SAAS,EACT,UAAU,EAEV,aAAa,EACb,cAAc,EAEd,kBAAkB,EAClB,mBAAmB,EAEnB,YAAY,EACZ,QAAQ,EACR,SAAS,GACV,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"noiseExposure.d.ts","sourceRoot":"","sources":["../../src/safety/noiseExposure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAkB1E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CAgD5E"}
1
+ {"version":3,"file":"noiseExposure.d.ts","sourceRoot":"","sources":["../../src/safety/noiseExposure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAkB1E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CAoD5E"}