@faicad/fai-cq-warehouse 0.13.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 (100) hide show
  1. package/dist/bearing.d.ts +81 -0
  2. package/dist/bearing.d.ts.map +1 -0
  3. package/dist/bearing.js +462 -0
  4. package/dist/bearing.js.map +1 -0
  5. package/dist/chain.d.ts +96 -0
  6. package/dist/chain.d.ts.map +1 -0
  7. package/dist/chain.js +322 -0
  8. package/dist/chain.js.map +1 -0
  9. package/dist/contract.d.ts +9 -0
  10. package/dist/contract.d.ts.map +1 -0
  11. package/dist/contract.js +10 -0
  12. package/dist/contract.js.map +1 -0
  13. package/dist/data/brad_tee_nut_parameters.json +29 -0
  14. package/dist/data/button_head_parameters.json +82 -0
  15. package/dist/data/button_head_with_collar_parameters.json +98 -0
  16. package/dist/data/chamfered_washer_parameters.json +262 -0
  17. package/dist/data/cheese_head_parameters.json +182 -0
  18. package/dist/data/cheese_head_washer_parameters.json +112 -0
  19. package/dist/data/clearance_hole_sizes.json +427 -0
  20. package/dist/data/countersunk_head_parameters.json +1752 -0
  21. package/dist/data/domed_cap_nut_parameters.json +62 -0
  22. package/dist/data/drill_sizes.json +320 -0
  23. package/dist/data/heatset_nut_parameters.json +354 -0
  24. package/dist/data/hex_head_parameters.json +408 -0
  25. package/dist/data/hex_head_with_flange_parameters.json +114 -0
  26. package/dist/data/hex_nut_parameters.json +250 -0
  27. package/dist/data/hex_nut_with_flange_parameters.json +92 -0
  28. package/dist/data/imperial_set_screw_parameters.json +150 -0
  29. package/dist/data/iso10664def.json +82 -0
  30. package/dist/data/metric_set_screw_parameters.json +50 -0
  31. package/dist/data/nominal_screw_lengths.json +106 -0
  32. package/dist/data/pan_head_parameters.json +322 -0
  33. package/dist/data/pan_head_with_collar_parameters.json +56 -0
  34. package/dist/data/plain_washer_parameters.json +464 -0
  35. package/dist/data/raised_cheese_head_parameters.json +82 -0
  36. package/dist/data/raised_countersunk_oval_head_parameters.json +314 -0
  37. package/dist/data/setscrew_parameters.json +110 -0
  38. package/dist/data/single_row_angular_contact_ball_bearing_parameters.json +209 -0
  39. package/dist/data/single_row_capped_deep_groove_ball_bearing_parameters.json +527 -0
  40. package/dist/data/single_row_cylindrical_roller_bearing_parameters.json +227 -0
  41. package/dist/data/single_row_deep_groove_ball_bearing_parameters.json +653 -0
  42. package/dist/data/single_row_tapered_roller_bearing_parameters.json +756 -0
  43. package/dist/data/socket_head_cap_parameters.json +856 -0
  44. package/dist/data/square_nut_parameters.json +26 -0
  45. package/dist/data/tap_hole_sizes.json +398 -0
  46. package/dist/data/tapered-fillet-drop.json +109 -0
  47. package/dist/data/unchamfered_hex_nut_parameters.json +42 -0
  48. package/dist/holes.d.ts +186 -0
  49. package/dist/holes.d.ts.map +1 -0
  50. package/dist/holes.js +197 -0
  51. package/dist/holes.js.map +1 -0
  52. package/dist/index.d.ts +27 -0
  53. package/dist/index.d.ts.map +1 -0
  54. package/dist/index.js +36 -0
  55. package/dist/index.js.map +1 -0
  56. package/dist/kernel.d.ts +117 -0
  57. package/dist/kernel.d.ts.map +1 -0
  58. package/dist/kernel.js +25 -0
  59. package/dist/kernel.js.map +1 -0
  60. package/dist/measure.d.ts +52 -0
  61. package/dist/measure.d.ts.map +1 -0
  62. package/dist/measure.js +158 -0
  63. package/dist/measure.js.map +1 -0
  64. package/dist/nut.d.ts +315 -0
  65. package/dist/nut.d.ts.map +1 -0
  66. package/dist/nut.js +700 -0
  67. package/dist/nut.js.map +1 -0
  68. package/dist/params.d.ts +178 -0
  69. package/dist/params.d.ts.map +1 -0
  70. package/dist/params.js +330 -0
  71. package/dist/params.js.map +1 -0
  72. package/dist/primitives.d.ts +440 -0
  73. package/dist/primitives.d.ts.map +1 -0
  74. package/dist/primitives.js +597 -0
  75. package/dist/primitives.js.map +1 -0
  76. package/dist/recess.d.ts +129 -0
  77. package/dist/recess.d.ts.map +1 -0
  78. package/dist/recess.js +323 -0
  79. package/dist/recess.js.map +1 -0
  80. package/dist/screw.d.ts +101 -0
  81. package/dist/screw.d.ts.map +1 -0
  82. package/dist/screw.js +945 -0
  83. package/dist/screw.js.map +1 -0
  84. package/dist/sprocket.d.ts +135 -0
  85. package/dist/sprocket.d.ts.map +1 -0
  86. package/dist/sprocket.js +261 -0
  87. package/dist/sprocket.js.map +1 -0
  88. package/dist/test-setup.d.ts +11 -0
  89. package/dist/test-setup.d.ts.map +1 -0
  90. package/dist/test-setup.js +30 -0
  91. package/dist/test-setup.js.map +1 -0
  92. package/dist/thread.d.ts +189 -0
  93. package/dist/thread.d.ts.map +1 -0
  94. package/dist/thread.js +501 -0
  95. package/dist/thread.js.map +1 -0
  96. package/dist/washer.d.ts +126 -0
  97. package/dist/washer.d.ts.map +1 -0
  98. package/dist/washer.js +204 -0
  99. package/dist/washer.js.map +1 -0
  100. package/package.json +55 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nut.js","sourceRoot":"","sources":["../src/nut.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,178 @@
1
+ /**
2
+ * params.ts — parameter-table query layer, mirroring cq_warehouse/fastener.py
3
+ * (`read_fastener_parameters_from_csv` / `isolate_fastener_type` / `select_by_size_fn`
4
+ * / `read_drill_sizes` / `lookup_drill_diameters` / `lookup_nominal_screw_lengths`).
5
+ *
6
+ * 数据来源:src/data/*.json(scripts/gen-data.ts 生成期求值,运行期零 eval)。
7
+ * `isolate_fastener_type` 语义逐字对齐 fastener.py:144:拆 `type:dim`、
8
+ * 按目标类型过滤、**过滤空串单元格**。
9
+ */
10
+ import { evaluateCell, imperialStrToFloat } from './measure.js';
11
+ /** Raw table row: column → evaluated value (number | string | '' for empty). */
12
+ export type ParamRow = Record<string, number | string>;
13
+ /** size → `ParamRow` 的参数表(上游 `read_fastener_parameters_from_csv` 的返回形态)。 */
14
+ export type ParamTable = Record<string, ParamRow>;
15
+ /**
16
+ * fastener.py:144 `isolate_fastener_type` — split `type:dim`, filter by type, drop empty cells.
17
+ * @param targetFastener - 目标紧固件类型(`type:dim` 的 `type` 段)。
18
+ * @param fastenerData - 原始参数表(键为 `type:dim`)。
19
+ * @returns 只含目标类型、且维度名已剥离 `type:` 前缀的参数表(空行被丢弃)。
20
+ */
21
+ export declare function isolateFastenerType(targetFastener: string, fastenerData: ParamTable): ParamTable;
22
+ /**
23
+ * fastener.py:484 `types()` — the set of `type:dim` prefixes of the table's first row.
24
+ * @param data - 原始参数表。
25
+ * @returns 首行出现过的类型前缀(去重,保持出现顺序);空表返回 `[]`。
26
+ */
27
+ export declare function typesOf(data: ParamTable): string[];
28
+ /**
29
+ * fastener.py:489 `sizes()` — sizes that have a non-empty row for the given type.
30
+ * @param fastenerType - 目标紧固件类型。
31
+ * @param data - 原始参数表。
32
+ * @returns 该类型下存在非空行的尺寸列表。
33
+ */
34
+ export declare function sizesOf(fastenerType: string, data: ParamTable): string[];
35
+ /** 螺母族 7 张上游参数表(类名 → 表;类名取自上游 `__subclasses__` 实测清单)。 */
36
+ export declare const NUT_TABLES: {
37
+ readonly DomedCapNut: ParamTable;
38
+ readonly BradTeeNut: ParamTable;
39
+ readonly HeatSetNut: ParamTable;
40
+ readonly HexNut: ParamTable;
41
+ readonly HexNutWithFlange: ParamTable;
42
+ readonly UnchamferedHexagonNut: ParamTable;
43
+ readonly SquareNut: ParamTable;
44
+ };
45
+ /** 螺母类名(`NUT_TABLES` 的键)。 */
46
+ export type NutClassName = keyof typeof NUT_TABLES;
47
+ /** 螺钉族 12 张上游参数表(类名 → 表)。 */
48
+ export declare const SCREW_TABLES: {
49
+ readonly ButtonHeadScrew: ParamTable;
50
+ readonly ButtonHeadWithCollarScrew: ParamTable;
51
+ readonly CheeseHeadScrew: ParamTable;
52
+ readonly CounterSunkScrew: ParamTable;
53
+ readonly HexHeadScrew: ParamTable;
54
+ readonly HexHeadWithFlangeScrew: ParamTable;
55
+ readonly PanHeadScrew: ParamTable;
56
+ readonly PanHeadWithCollarScrew: ParamTable;
57
+ readonly RaisedCheeseHeadScrew: ParamTable;
58
+ readonly RaisedCounterSunkOvalHeadScrew: ParamTable;
59
+ readonly SetScrew: ParamTable;
60
+ readonly SocketHeadCapScrew: ParamTable;
61
+ };
62
+ /** 螺钉类名(`SCREW_TABLES` 的键)。 */
63
+ export type ScrewClassName = keyof typeof SCREW_TABLES;
64
+ /** 垫圈族 3 张上游参数表(类名 → 表)。 */
65
+ export declare const WASHER_TABLES: {
66
+ readonly PlainWasher: ParamTable;
67
+ readonly ChamferedWasher: ParamTable;
68
+ readonly CheeseHeadWasher: ParamTable;
69
+ };
70
+ /** 垫圈类名(`WASHER_TABLES` 的键)。 */
71
+ export type WasherClassName = keyof typeof WASHER_TABLES;
72
+ /** 轴承族 5 张上游参数表(类名 → 表)。 */
73
+ export declare const BEARING_TABLES: {
74
+ readonly SingleRowDeepGrooveBallBearing: ParamTable;
75
+ readonly SingleRowCappedDeepGrooveBallBearing: ParamTable;
76
+ readonly SingleRowAngularContactBallBearing: ParamTable;
77
+ readonly SingleRowCylindricalRollerBearing: ParamTable;
78
+ readonly SingleRowTaperedRollerBearing: ParamTable;
79
+ };
80
+ /** 轴承类名(`BEARING_TABLES` 的键)。 */
81
+ export type BearingClassName = keyof typeof BEARING_TABLES;
82
+ /**
83
+ * fastener.py:158 `read_drill_sizes` — drill designation → diameter (mm).
84
+ * @returns 钻头代号(如 `#2` / `F` / `1/16`)到直径 mm 的映射;非数值直径抛错。
85
+ */
86
+ export declare function readDrillSizes(): Record<string, number>;
87
+ /** Nut/Screw/Washer/Bearing 共用的 clearance hole 表(fastener.py:399 + :168)。 */
88
+ export declare const clearanceHoleDrillSizes: Record<string, ParamRow>;
89
+ /** clearance hole 解析后的 `size → {fit → mm}`(钻头引用已在生成期解析)。 */
90
+ export declare const clearanceHoleData: Record<string, Record<string, number>>;
91
+ /** tap hole 表(Soft/Hard,fastener.py:405 + :168)。 */
92
+ export declare const tapHoleDrillSizes: Record<string, ParamRow>;
93
+ /** tap hole 解析后的 `size → {Soft/Hard → mm}`。 */
94
+ export declare const tapHoleData: Record<string, Record<string, number>>;
95
+ /**
96
+ * fastener.py:190 `lookup_nominal_screw_lengths` — screw type → nominal lengths (mm).
97
+ * @returns 螺钉类型到公称长度数组(mm)的映射,按表内 `Unit` 列换算。
98
+ */
99
+ export declare function readNominalScrewLengths(): Record<string, number[]>;
100
+ /** fastener.py:275 `hexalobular_recess` — iso10664def 表(A/B/Re,公制)。 */
101
+ export declare const iso10664Def: ParamTable;
102
+ /** imperial_set_screw / metric_set_screw(上游零引用,保留数据供查)。 */
103
+ export declare const unreferencedTables: {
104
+ readonly imperial_set_screw_parameters: ParamTable;
105
+ readonly metric_set_screw_parameters: ParamTable;
106
+ };
107
+ /** 上游统一的 per-cell 求值入口(TS 侧仅用于运行期兜底解析,如 drill 分数回退)。 */
108
+ export { evaluateCell, imperialStrToFloat };
109
+ /**
110
+ * Nut.types() — 螺母类型列表。
111
+ * @returns HexNut 表中出现的螺母类型(去重)。
112
+ */
113
+ export declare function nutTypes(): string[];
114
+ /**
115
+ * Nut.sizes(fastener_type) — 指定类型的螺母尺寸列表。
116
+ * @param fastenerType - 螺母类型。
117
+ * @returns 该类型下的尺寸列表。
118
+ */
119
+ export declare function nutSizes(fastenerType: string): string[];
120
+ /**
121
+ * Screw.types() — 指定螺钉类别的类型列表。
122
+ * @param className - 螺钉类名(`SCREW_TABLES` 的键)。
123
+ * @returns 该表首行出现的类型(去重)。
124
+ */
125
+ export declare function screwTypes(className: ScrewClassName): string[];
126
+ /**
127
+ * Screw.sizes(fastener_type) — 指定螺钉类别下的尺寸列表。
128
+ * @param className - 螺钉类名。
129
+ * @param fastenerType - 螺钉类型。
130
+ * @returns 该类型下的尺寸列表。
131
+ */
132
+ export declare function screwSizes(className: ScrewClassName, fastenerType: string): string[];
133
+ /**
134
+ * Bearing.types() — 指定轴承类别的类型列表。
135
+ * @param className - 轴承类名(`BEARING_TABLES` 的键)。
136
+ * @returns 该表首行出现的类型(去重)。
137
+ */
138
+ export declare function bearingTypes(className: BearingClassName): string[];
139
+ /**
140
+ * Bearing.sizes(bearing_type) — 指定轴承类别下的尺寸列表。
141
+ * @param className - 轴承类名。
142
+ * @param bearingType - 轴承类型。
143
+ * @returns 该类型下的尺寸列表。
144
+ */
145
+ export declare function bearingSizes(className: BearingClassName, bearingType: string): string[];
146
+ /**
147
+ * Washer.types() — 指定垫圈类别的类型列表。
148
+ * @param className - 垫圈类名(`WASHER_TABLES` 的键)。
149
+ * @returns 该表首行出现的类型(去重)。
150
+ */
151
+ export declare function washerTypes(className: WasherClassName): string[];
152
+ /**
153
+ * Washer.sizes(fastener_type) — 指定垫圈类别下的尺寸列表。
154
+ * @param className - 垫圈类名。
155
+ * @param fastenerType - 垫圈类型。
156
+ * @returns 该类型下的尺寸列表。
157
+ */
158
+ export declare function washerSizes(className: WasherClassName, fastenerType: string): string[];
159
+ /**
160
+ * Nut.clearance_hole_diameters — size → {Close/Normal/Loose → mm}。
161
+ * @param size - 螺纹规格(如 `M3`)。
162
+ * @returns 各配合等级的间隙孔直径(mm);无该规格数据时抛错。
163
+ */
164
+ export declare function clearanceHoleDiameters(size: string): Record<string, number>;
165
+ /**
166
+ * Nut.tap_hole_diameters — size → {Soft/Hard → mm}。
167
+ * @param size - 螺纹规格(如 `M3`)。
168
+ * @returns 软/硬材料的攻丝底孔直径(mm);无该规格数据时抛错。
169
+ */
170
+ export declare function tapHoleDiameters(size: string): Record<string, number>;
171
+ /**
172
+ * fastener.py:346 `select_by_size_fn` — size → {class: [type, …]}。
173
+ * Python 侧遍历 `__subclasses__`;TS 侧显式枚举(与 §2.7 实测清单一致)。
174
+ * @param size - 目标规格。
175
+ * @returns 该规格下 `{类名 → [类型, …]}`;无匹配类时不出现该键。
176
+ */
177
+ export declare function selectBySize(size: string): Record<string, string[]>;
178
+ //# sourceMappingURL=params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../src/params.ts"],"names":[],"mappings":"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"}
package/dist/params.js ADDED
@@ -0,0 +1,330 @@
1
+ /**
2
+ * params.ts — parameter-table query layer, mirroring cq_warehouse/fastener.py
3
+ * (`read_fastener_parameters_from_csv` / `isolate_fastener_type` / `select_by_size_fn`
4
+ * / `read_drill_sizes` / `lookup_drill_diameters` / `lookup_nominal_screw_lengths`).
5
+ *
6
+ * 数据来源:src/data/*.json(scripts/gen-data.ts 生成期求值,运行期零 eval)。
7
+ * `isolate_fastener_type` 语义逐字对齐 fastener.py:144:拆 `type:dim`、
8
+ * 按目标类型过滤、**过滤空串单元格**。
9
+ */
10
+ import hexNutData from './data/hex_nut_parameters.json';
11
+ import hexNutWithFlangeData from './data/hex_nut_with_flange_parameters.json';
12
+ import unchamferedHexNutData from './data/unchamfered_hex_nut_parameters.json';
13
+ import squareNutData from './data/square_nut_parameters.json';
14
+ import domedCapNutData from './data/domed_cap_nut_parameters.json';
15
+ import bradTeeNutData from './data/brad_tee_nut_parameters.json';
16
+ import heatsetData from './data/heatset_nut_parameters.json';
17
+ import buttonHeadData from './data/button_head_parameters.json';
18
+ import buttonHeadWithCollarData from './data/button_head_with_collar_parameters.json';
19
+ import cheeseHeadData from './data/cheese_head_parameters.json';
20
+ import countersunkHeadData from './data/countersunk_head_parameters.json';
21
+ import hexHeadData from './data/hex_head_parameters.json';
22
+ import hexHeadWithFlangeData from './data/hex_head_with_flange_parameters.json';
23
+ import panHeadData from './data/pan_head_parameters.json';
24
+ import panHeadWithCollarData from './data/pan_head_with_collar_parameters.json';
25
+ import raisedCheeseHeadData from './data/raised_cheese_head_parameters.json';
26
+ import raisedCountersunkOvalHeadData from './data/raised_countersunk_oval_head_parameters.json';
27
+ import setscrewData from './data/setscrew_parameters.json';
28
+ import imperialSetscrewData from './data/imperial_set_screw_parameters.json';
29
+ import metricSetscrewData from './data/metric_set_screw_parameters.json';
30
+ import plainWasherData from './data/plain_washer_parameters.json';
31
+ import chamferedWasherData from './data/chamfered_washer_parameters.json';
32
+ import cheeseHeadWasherData from './data/cheese_head_washer_parameters.json';
33
+ import clearanceHoleSizes from './data/clearance_hole_sizes.json';
34
+ import tapHoleSizes from './data/tap_hole_sizes.json';
35
+ import drillSizesData from './data/drill_sizes.json';
36
+ import nominalScrewLengthsData from './data/nominal_screw_lengths.json';
37
+ import iso10664def from './data/iso10664def.json';
38
+ import deepGrooveData from './data/single_row_deep_groove_ball_bearing_parameters.json';
39
+ import cappedDeepGrooveData from './data/single_row_capped_deep_groove_ball_bearing_parameters.json';
40
+ import angularContactData from './data/single_row_angular_contact_ball_bearing_parameters.json';
41
+ import cylindricalRollerData from './data/single_row_cylindrical_roller_bearing_parameters.json';
42
+ import taperedRollerData from './data/single_row_tapered_roller_bearing_parameters.json';
43
+ import socketHeadCapJson from './data/socket_head_cap_parameters.json';
44
+ import { evaluateCell, imperialStrToFloat, INCH } from './measure.js';
45
+ function asTable(json) {
46
+ return json;
47
+ }
48
+ /**
49
+ * fastener.py:144 `isolate_fastener_type` — split `type:dim`, filter by type, drop empty cells.
50
+ * @param targetFastener - 目标紧固件类型(`type:dim` 的 `type` 段)。
51
+ * @param fastenerData - 原始参数表(键为 `type:dim`)。
52
+ * @returns 只含目标类型、且维度名已剥离 `type:` 前缀的参数表(空行被丢弃)。
53
+ */
54
+ export function isolateFastenerType(targetFastener, fastenerData) {
55
+ const result = {};
56
+ for (const [size, parameters] of Object.entries(fastenerData)) {
57
+ const dimensionDict = {};
58
+ for (const [typeDimension, value] of Object.entries(parameters)) {
59
+ const sep = typeDimension.indexOf(':');
60
+ if (sep < 0)
61
+ continue;
62
+ // fastener.py:148 — `.strip().split(":")`:两段都 strip
63
+ const fastenerName = typeDimension.slice(0, sep).trim();
64
+ const dimension = typeDimension.slice(sep + 1).trim();
65
+ if (fastenerName === targetFastener && value !== '')
66
+ dimensionDict[dimension] = value;
67
+ }
68
+ if (Object.keys(dimensionDict).length > 0)
69
+ result[size] = dimensionDict;
70
+ }
71
+ return result;
72
+ }
73
+ /**
74
+ * fastener.py:484 `types()` — the set of `type:dim` prefixes of the table's first row.
75
+ * @param data - 原始参数表。
76
+ * @returns 首行出现过的类型前缀(去重,保持出现顺序);空表返回 `[]`。
77
+ */
78
+ export function typesOf(data) {
79
+ const first = Object.values(data)[0];
80
+ if (!first)
81
+ return [];
82
+ return [...new Set(Object.keys(first).map((p) => p.split(':')[0].trim()))];
83
+ }
84
+ /**
85
+ * fastener.py:489 `sizes()` — sizes that have a non-empty row for the given type.
86
+ * @param fastenerType - 目标紧固件类型。
87
+ * @param data - 原始参数表。
88
+ * @returns 该类型下存在非空行的尺寸列表。
89
+ */
90
+ export function sizesOf(fastenerType, data) {
91
+ return Object.keys(isolateFastenerType(fastenerType, data));
92
+ }
93
+ // ── 螺母 7 类 ──────────────────────────────────────────────────────────────
94
+ /** 螺母族 7 张上游参数表(类名 → 表;类名取自上游 `__subclasses__` 实测清单)。 */
95
+ export const NUT_TABLES = {
96
+ DomedCapNut: asTable(domedCapNutData),
97
+ BradTeeNut: asTable(bradTeeNutData),
98
+ HeatSetNut: asTable(heatsetData),
99
+ HexNut: asTable(hexNutData),
100
+ HexNutWithFlange: asTable(hexNutWithFlangeData),
101
+ UnchamferedHexagonNut: asTable(unchamferedHexNutData),
102
+ SquareNut: asTable(squareNutData),
103
+ };
104
+ // ── 螺钉 12 类 ─────────────────────────────────────────────────────────────
105
+ /** 螺钉族 12 张上游参数表(类名 → 表)。 */
106
+ export const SCREW_TABLES = {
107
+ ButtonHeadScrew: asTable(buttonHeadData),
108
+ ButtonHeadWithCollarScrew: asTable(buttonHeadWithCollarData),
109
+ CheeseHeadScrew: asTable(cheeseHeadData),
110
+ CounterSunkScrew: asTable(countersunkHeadData),
111
+ HexHeadScrew: asTable(hexHeadData),
112
+ HexHeadWithFlangeScrew: asTable(hexHeadWithFlangeData),
113
+ PanHeadScrew: asTable(panHeadData),
114
+ PanHeadWithCollarScrew: asTable(panHeadWithCollarData),
115
+ RaisedCheeseHeadScrew: asTable(raisedCheeseHeadData),
116
+ RaisedCounterSunkOvalHeadScrew: asTable(raisedCountersunkOvalHeadData),
117
+ SetScrew: asTable(setscrewData),
118
+ SocketHeadCapScrew: asTable(socketHeadCapJson),
119
+ };
120
+ // ── 垫圈 3 类 ──────────────────────────────────────────────────────────────
121
+ /** 垫圈族 3 张上游参数表(类名 → 表)。 */
122
+ export const WASHER_TABLES = {
123
+ PlainWasher: asTable(plainWasherData),
124
+ ChamferedWasher: asTable(chamferedWasherData),
125
+ CheeseHeadWasher: asTable(cheeseHeadWasherData),
126
+ };
127
+ // ── 轴承 5 类 ──────────────────────────────────────────────────────────────
128
+ /** 轴承族 5 张上游参数表(类名 → 表)。 */
129
+ export const BEARING_TABLES = {
130
+ SingleRowDeepGrooveBallBearing: asTable(deepGrooveData),
131
+ SingleRowCappedDeepGrooveBallBearing: asTable(cappedDeepGrooveData),
132
+ SingleRowAngularContactBallBearing: asTable(angularContactData),
133
+ SingleRowCylindricalRollerBearing: asTable(cylindricalRollerData),
134
+ SingleRowTaperedRollerBearing: asTable(taperedRollerData),
135
+ };
136
+ // ── 工艺表(fastener.py:158/168/190 的运行期等价)───────────────────────────
137
+ /**
138
+ * fastener.py:158 `read_drill_sizes` — drill designation → diameter (mm).
139
+ * @returns 钻头代号(如 `#2` / `F` / `1/16`)到直径 mm 的映射;非数值直径抛错。
140
+ */
141
+ export function readDrillSizes() {
142
+ const out = {};
143
+ for (const [key, row] of Object.entries(asTable(drillSizesData))) {
144
+ const d = row['Diameter'];
145
+ if (typeof d !== 'number')
146
+ throw new Error(`drill_sizes: non-numeric diameter for ${key}`);
147
+ out[key] = d;
148
+ }
149
+ return out;
150
+ }
151
+ function lookupDrillDiameters(holeSizes) {
152
+ // fastener.py:168 `lookup_drill_diameters` — resolve drill refs; fallback to
153
+ // direct parse (metric float / imperial fraction) when the key misses.
154
+ const drillSizes = readDrillSizes();
155
+ const out = {};
156
+ for (const [size, drillData] of Object.entries(holeSizes)) {
157
+ const holeData = {};
158
+ for (const [fit, drill] of Object.entries(drillData)) {
159
+ const ref = String(drill).trim();
160
+ const direct = drillSizes[ref];
161
+ if (direct !== undefined) {
162
+ holeData[fit] = direct;
163
+ }
164
+ else if (size.startsWith('M')) {
165
+ // fastener.py:176 — metric fallback is a plain float()
166
+ const v = Number(ref);
167
+ if (!Number.isFinite(v))
168
+ throw new Error(`drill ref ${JSON.stringify(ref)} for size ${size} is not resolvable`);
169
+ holeData[fit] = v;
170
+ }
171
+ else {
172
+ // imperial fallback is imperial_str_to_float (fraction → mm)
173
+ const v = imperialStrToFloat(ref);
174
+ if (typeof v !== 'number')
175
+ throw new Error(`drill ref ${JSON.stringify(ref)} for size ${size} is not resolvable`);
176
+ holeData[fit] = v;
177
+ }
178
+ }
179
+ out[size] = holeData;
180
+ }
181
+ return out;
182
+ }
183
+ /** Nut/Screw/Washer/Bearing 共用的 clearance hole 表(fastener.py:399 + :168)。 */
184
+ export const clearanceHoleDrillSizes = asTable(clearanceHoleSizes);
185
+ /** clearance hole 解析后的 `size → {fit → mm}`(钻头引用已在生成期解析)。 */
186
+ export const clearanceHoleData = lookupDrillDiameters(clearanceHoleDrillSizes);
187
+ /** tap hole 表(Soft/Hard,fastener.py:405 + :168)。 */
188
+ export const tapHoleDrillSizes = asTable(tapHoleSizes);
189
+ /** tap hole 解析后的 `size → {Soft/Hard → mm}`。 */
190
+ export const tapHoleData = lookupDrillDiameters(tapHoleDrillSizes);
191
+ /**
192
+ * fastener.py:190 `lookup_nominal_screw_lengths` — screw type → nominal lengths (mm).
193
+ * @returns 螺钉类型到公称长度数组(mm)的映射,按表内 `Unit` 列换算。
194
+ */
195
+ export function readNominalScrewLengths() {
196
+ const out = {};
197
+ for (const [type, row] of Object.entries(asTable(nominalScrewLengthsData))) {
198
+ const unit = String(row['Unit']);
199
+ const factor = unit === 'mm' ? 1 : INCH;
200
+ out[type] = String(row['Nominal_Sizes'])
201
+ .split(',')
202
+ .map((s) => factor * Number(s.trim()));
203
+ }
204
+ return out;
205
+ }
206
+ /** fastener.py:275 `hexalobular_recess` — iso10664def 表(A/B/Re,公制)。 */
207
+ export const iso10664Def = asTable(iso10664def);
208
+ /** imperial_set_screw / metric_set_screw(上游零引用,保留数据供查)。 */
209
+ export const unreferencedTables = {
210
+ imperial_set_screw_parameters: asTable(imperialSetscrewData),
211
+ metric_set_screw_parameters: asTable(metricSetscrewData),
212
+ };
213
+ /** 上游统一的 per-cell 求值入口(TS 侧仅用于运行期兜底解析,如 drill 分数回退)。 */
214
+ export { evaluateCell, imperialStrToFloat };
215
+ // ── 公共查询 API(方案 §4.2:类方法 → 前缀函数)─────────────────────────────
216
+ /**
217
+ * Nut.types() — 螺母类型列表。
218
+ * @returns HexNut 表中出现的螺母类型(去重)。
219
+ */
220
+ export function nutTypes() {
221
+ return typesOf(asTable(hexNutData));
222
+ }
223
+ /**
224
+ * Nut.sizes(fastener_type) — 指定类型的螺母尺寸列表。
225
+ * @param fastenerType - 螺母类型。
226
+ * @returns 该类型下的尺寸列表。
227
+ */
228
+ export function nutSizes(fastenerType) {
229
+ return sizesOf(fastenerType, asTable(hexNutData));
230
+ }
231
+ /**
232
+ * Screw.types() — 指定螺钉类别的类型列表。
233
+ * @param className - 螺钉类名(`SCREW_TABLES` 的键)。
234
+ * @returns 该表首行出现的类型(去重)。
235
+ */
236
+ export function screwTypes(className) {
237
+ return typesOf(SCREW_TABLES[className]);
238
+ }
239
+ /**
240
+ * Screw.sizes(fastener_type) — 指定螺钉类别下的尺寸列表。
241
+ * @param className - 螺钉类名。
242
+ * @param fastenerType - 螺钉类型。
243
+ * @returns 该类型下的尺寸列表。
244
+ */
245
+ export function screwSizes(className, fastenerType) {
246
+ return sizesOf(fastenerType, SCREW_TABLES[className]);
247
+ }
248
+ /**
249
+ * Bearing.types() — 指定轴承类别的类型列表。
250
+ * @param className - 轴承类名(`BEARING_TABLES` 的键)。
251
+ * @returns 该表首行出现的类型(去重)。
252
+ */
253
+ export function bearingTypes(className) {
254
+ return typesOf(BEARING_TABLES[className]);
255
+ }
256
+ /**
257
+ * Bearing.sizes(bearing_type) — 指定轴承类别下的尺寸列表。
258
+ * @param className - 轴承类名。
259
+ * @param bearingType - 轴承类型。
260
+ * @returns 该类型下的尺寸列表。
261
+ */
262
+ export function bearingSizes(className, bearingType) {
263
+ return sizesOf(bearingType, BEARING_TABLES[className]);
264
+ }
265
+ /**
266
+ * Washer.types() — 指定垫圈类别的类型列表。
267
+ * @param className - 垫圈类名(`WASHER_TABLES` 的键)。
268
+ * @returns 该表首行出现的类型(去重)。
269
+ */
270
+ export function washerTypes(className) {
271
+ return typesOf(WASHER_TABLES[className]);
272
+ }
273
+ /**
274
+ * Washer.sizes(fastener_type) — 指定垫圈类别下的尺寸列表。
275
+ * @param className - 垫圈类名。
276
+ * @param fastenerType - 垫圈类型。
277
+ * @returns 该类型下的尺寸列表。
278
+ */
279
+ export function washerSizes(className, fastenerType) {
280
+ return sizesOf(fastenerType, WASHER_TABLES[className]);
281
+ }
282
+ /**
283
+ * Nut.clearance_hole_diameters — size → {Close/Normal/Loose → mm}。
284
+ * @param size - 螺纹规格(如 `M3`)。
285
+ * @returns 各配合等级的间隙孔直径(mm);无该规格数据时抛错。
286
+ */
287
+ export function clearanceHoleDiameters(size) {
288
+ const row = clearanceHoleData[size];
289
+ if (!row)
290
+ throw new Error(`no clearance hole data for size ${size}`);
291
+ return row;
292
+ }
293
+ /**
294
+ * Nut.tap_hole_diameters — size → {Soft/Hard → mm}。
295
+ * @param size - 螺纹规格(如 `M3`)。
296
+ * @returns 软/硬材料的攻丝底孔直径(mm);无该规格数据时抛错。
297
+ */
298
+ export function tapHoleDiameters(size) {
299
+ const row = tapHoleData[size];
300
+ if (!row)
301
+ throw new Error(`no tap hole data for size ${size}`);
302
+ return row;
303
+ }
304
+ /**
305
+ * fastener.py:346 `select_by_size_fn` — size → {class: [type, …]}。
306
+ * Python 侧遍历 `__subclasses__`;TS 侧显式枚举(与 §2.7 实测清单一致)。
307
+ * @param size - 目标规格。
308
+ * @returns 该规格下 `{类名 → [类型, …]}`;无匹配类时不出现该键。
309
+ */
310
+ export function selectBySize(size) {
311
+ const families = [
312
+ NUT_TABLES,
313
+ SCREW_TABLES,
314
+ WASHER_TABLES,
315
+ BEARING_TABLES,
316
+ ];
317
+ const result = {};
318
+ for (const family of families) {
319
+ for (const [className, table] of Object.entries(family)) {
320
+ for (const fastenerType of typesOf(table)) {
321
+ if (size in isolateFastenerType(fastenerType, table)) {
322
+ ;
323
+ (result[className] ??= []).push(fastenerType);
324
+ }
325
+ }
326
+ }
327
+ }
328
+ return result;
329
+ }
330
+ //# sourceMappingURL=params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.js","sourceRoot":"","sources":["../src/params.ts"],"names":[],"mappings":"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"}