@toolpath/tool-scraper 0.1.0 → 2.1.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.
- package/README.md +41 -11
- package/dist/columns.d.ts +64 -0
- package/dist/columns.js +68 -0
- package/dist/conventions.d.ts +107 -15
- package/dist/conventions.js +126 -15
- package/dist/errors.d.ts +30 -0
- package/dist/errors.js +30 -0
- package/dist/families/emuge.d.ts +185 -0
- package/dist/families/emuge.js +163 -0
- package/dist/families/harvey.d.ts +1782 -0
- package/dist/families/harvey.js +1328 -0
- package/dist/families/index.js +5 -2
- package/dist/families/kennametal.d.ts +21 -0
- package/dist/families/kennametal.js +10 -0
- package/dist/families/maritool.d.ts +120 -0
- package/dist/families/maritool.js +175 -0
- package/dist/family.d.ts +35 -1
- package/dist/family.js +28 -0
- package/dist/identity.d.ts +18 -0
- package/dist/identity.js +46 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +16 -0
- package/dist/measure.d.ts +112 -0
- package/dist/measure.js +130 -0
- package/dist/node/cli.d.ts +3 -0
- package/dist/node/cli.js +158 -3
- package/dist/node/main.js +0 -0
- package/dist/records.d.ts +214 -12
- package/dist/records.js +140 -5
- package/dist/registry.d.ts +56 -1
- package/dist/registry.js +79 -2
- package/dist/scrape.d.ts +15 -0
- package/dist/scrape.js +24 -0
- package/dist/vendors/destinytool/records.d.ts +13 -3
- package/dist/vendors/destinytool/records.js +49 -37
- package/dist/vendors/emuge/index.d.ts +17 -0
- package/dist/vendors/emuge/index.js +17 -0
- package/dist/vendors/emuge/records.d.ts +230 -0
- package/dist/vendors/emuge/records.js +543 -0
- package/dist/vendors/emuge/scrape.d.ts +227 -0
- package/dist/vendors/emuge/scrape.js +358 -0
- package/dist/vendors/emuge/value.d.ts +75 -0
- package/dist/vendors/emuge/value.js +116 -0
- package/dist/vendors/harvey/catalog.d.ts +53 -0
- package/dist/vendors/harvey/catalog.js +120 -0
- package/dist/vendors/harvey/header.d.ts +89 -0
- package/dist/vendors/harvey/header.js +185 -0
- package/dist/vendors/harvey/index.d.ts +21 -0
- package/dist/vendors/harvey/index.js +21 -0
- package/dist/vendors/harvey/lexicon.d.ts +73 -0
- package/dist/vendors/harvey/lexicon.js +126 -0
- package/dist/vendors/harvey/literal.d.ts +68 -0
- package/dist/vendors/harvey/literal.js +214 -0
- package/dist/vendors/harvey/records.d.ts +79 -0
- package/dist/vendors/harvey/records.js +163 -0
- package/dist/vendors/harvey/scrape.d.ts +187 -0
- package/dist/vendors/harvey/scrape.js +483 -0
- package/dist/vendors/harvey/value.d.ts +74 -0
- package/dist/vendors/harvey/value.js +119 -0
- package/dist/vendors/kennametal/family.d.ts +119 -0
- package/dist/vendors/kennametal/family.js +155 -0
- package/dist/vendors/kennametal/index.d.ts +1 -0
- package/dist/vendors/kennametal/index.js +1 -0
- package/dist/vendors/kennametal/records.d.ts +29 -4
- package/dist/vendors/kennametal/records.js +93 -26
- package/dist/vendors/kennametal/scrape.d.ts +25 -2
- package/dist/vendors/kennametal/scrape.js +28 -3
- package/dist/vendors/maritool/catalog.d.ts +81 -0
- package/dist/vendors/maritool/catalog.js +132 -0
- package/dist/vendors/maritool/index.d.ts +10 -0
- package/dist/vendors/maritool/index.js +10 -0
- package/dist/vendors/maritool/scrape.d.ts +297 -0
- package/dist/vendors/maritool/scrape.js +593 -0
- package/dist/vendors/regofix/scrape.d.ts +8 -11
- package/dist/vendors/regofix/scrape.js +21 -36
- package/package.json +31 -7
|
@@ -0,0 +1,1782 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Harvey Tool's families — one per product page, 52 of them.
|
|
3
|
+
*
|
|
4
|
+
* A family here is a product page, because that is the unit Harvey publishes:
|
|
5
|
+
* one page carries one product line's whole variant table, and its
|
|
6
|
+
* `productCode` — `HT-Harvey-EndMill-008` — is the vendor's own name for it.
|
|
7
|
+
* That code is the `familyCode`; the CSV name and the family id are derived
|
|
8
|
+
* from it, so nothing here invents a label.
|
|
9
|
+
*
|
|
10
|
+
* ## Where the scrape target lives, and why it is not in the definition
|
|
11
|
+
*
|
|
12
|
+
* A Harvey scrape needs a product-page **path**, and `FamilyDefinition` has no
|
|
13
|
+
* key for one — `familyCode` is the vendor's code and a path is not that.
|
|
14
|
+
* Harvey's slugs are also not derivable from the code: three of the 52 say
|
|
15
|
+
* `end-mills-` where the rest say `miniature-end-mills-`, and the separators
|
|
16
|
+
* change from `---` to `-` partway through the catalog.
|
|
17
|
+
*
|
|
18
|
+
* So {@link PRODUCT_PAGES} is a second table beside the first, keyed by the same
|
|
19
|
+
* CSV name, and `tests/harvey-families.test.ts` holds the two to the same keys.
|
|
20
|
+
* The alternative — widening the shared `FamilyDefinition` with a key one vendor
|
|
21
|
+
* uses — would put a Harvey fact in the type every family in the catalog is
|
|
22
|
+
* written against.
|
|
23
|
+
*
|
|
24
|
+
* ## `rows` is Harvey's count, not this adapter's
|
|
25
|
+
*
|
|
26
|
+
* Every count below was read on 2026-08-29 by summing the `T` entries of each
|
|
27
|
+
* table row's own add-to-cart payload (`atc.j`) across all 80 tables — Harvey's
|
|
28
|
+
* independent statement of what is orderable, not a number this adapter
|
|
29
|
+
* produced. That is what makes `receipts.checkRows` worth running, and it is the
|
|
30
|
+
* same list `vendors/harvey/scrape.ts` checks the matrix explosion against on
|
|
31
|
+
* every row.
|
|
32
|
+
*
|
|
33
|
+
* It is still a script's count rather than a person's. The payload lists 12,799
|
|
34
|
+
* entries across 5,033 HTML rows; **26 of them are not parts.** Two families
|
|
35
|
+
* carry the marketing string `25x Diameter!` / `30x Diameter!` in a tool-number
|
|
36
|
+
* column, with no product link and no CAD model, and Harvey's own payload lists
|
|
37
|
+
* those as if they were orderable. The adapter drops them and warns, so the two
|
|
38
|
+
* counts below are the payload's minus that vendor fault: 12,773 real parts.
|
|
39
|
+
*
|
|
40
|
+
* ## `NOF` maps a column the adapter synthesises
|
|
41
|
+
*
|
|
42
|
+
* Half these tables state the flute count in a column of their own and half
|
|
43
|
+
* state it in a coating group's sub-header, so `vendors/harvey/scrape.ts`
|
|
44
|
+
* writes one `FLUTES` column either way and every family maps `NOF` to it. The
|
|
45
|
+
* two exceptions are the deburring families, which publish right- and left-hand
|
|
46
|
+
* tooth counts and no flute count at all — `NOF` is absent there because the
|
|
47
|
+
* vendor states none, not because the mapping was forgotten.
|
|
48
|
+
*
|
|
49
|
+
* ## Every family is `endmill`
|
|
50
|
+
*
|
|
51
|
+
* Including the twelve keyseat-cutter families. `records.ToolKind` has three
|
|
52
|
+
* values — `drill`, `tap`, `endmill` — and a keyseat cutter is a side-cutting
|
|
53
|
+
* milling tool with a cutting diameter, a width of cut, a shank and an overall
|
|
54
|
+
* length, so it maps onto the endmill contract exactly. Adding a fourth kind for
|
|
55
|
+
* it would be a cross-package contract change, and nothing downstream is asking
|
|
56
|
+
* for one yet.
|
|
57
|
+
*/
|
|
58
|
+
import type { UnitSystem } from '../conventions.js';
|
|
59
|
+
import type { Fact } from '../provenance.js';
|
|
60
|
+
export declare const FAMILIES: {
|
|
61
|
+
readonly 'harvey_endmill_001.csv': {
|
|
62
|
+
readonly id: "endmill-001";
|
|
63
|
+
readonly brand: "harvey";
|
|
64
|
+
readonly kind: "endmill";
|
|
65
|
+
readonly familyCode: "HT-Harvey-EndMill-001";
|
|
66
|
+
readonly rows: 28;
|
|
67
|
+
readonly columns: {
|
|
68
|
+
readonly DC: "CUTTER DIAMETER";
|
|
69
|
+
readonly SFDM: "SHANK DIAMETER";
|
|
70
|
+
readonly OAL: "OVERALL LENGTH";
|
|
71
|
+
readonly LCF: "LENGTH OF CUT";
|
|
72
|
+
readonly NOF: "FLUTES";
|
|
73
|
+
};
|
|
74
|
+
readonly facts: {
|
|
75
|
+
readonly unit: {
|
|
76
|
+
readonly value: UnitSystem;
|
|
77
|
+
readonly source: "vendor-stated";
|
|
78
|
+
readonly cite: string;
|
|
79
|
+
};
|
|
80
|
+
readonly bmc: {
|
|
81
|
+
readonly value: string;
|
|
82
|
+
readonly source: "vendor-stated";
|
|
83
|
+
readonly cite: string;
|
|
84
|
+
};
|
|
85
|
+
readonly profile: Fact<string>;
|
|
86
|
+
readonly coolantThrough: {
|
|
87
|
+
readonly value: boolean;
|
|
88
|
+
readonly source: "derived";
|
|
89
|
+
readonly note: string;
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
readonly 'harvey_endmill_002.csv': {
|
|
94
|
+
readonly id: "endmill-002";
|
|
95
|
+
readonly brand: "harvey";
|
|
96
|
+
readonly kind: "endmill";
|
|
97
|
+
readonly familyCode: "HT-Harvey-EndMill-002";
|
|
98
|
+
readonly rows: 44;
|
|
99
|
+
readonly columns: {
|
|
100
|
+
readonly DC: "CUTTER DIAMETER";
|
|
101
|
+
readonly SFDM: "SHANK DIAMETER";
|
|
102
|
+
readonly OAL: "OVERALL LENGTH";
|
|
103
|
+
readonly LCF: "LENGTH OF CUT";
|
|
104
|
+
readonly RE: "CORNER RADIUS";
|
|
105
|
+
readonly NOF: "FLUTES";
|
|
106
|
+
};
|
|
107
|
+
readonly facts: {
|
|
108
|
+
readonly unit: {
|
|
109
|
+
readonly value: UnitSystem;
|
|
110
|
+
readonly source: "vendor-stated";
|
|
111
|
+
readonly cite: string;
|
|
112
|
+
};
|
|
113
|
+
readonly bmc: {
|
|
114
|
+
readonly value: string;
|
|
115
|
+
readonly source: "vendor-stated";
|
|
116
|
+
readonly cite: string;
|
|
117
|
+
};
|
|
118
|
+
readonly profile: Fact<string>;
|
|
119
|
+
readonly coolantThrough: {
|
|
120
|
+
readonly value: boolean;
|
|
121
|
+
readonly source: "derived";
|
|
122
|
+
readonly note: string;
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
readonly 'harvey_endmill_003.csv': {
|
|
127
|
+
readonly id: "endmill-003";
|
|
128
|
+
readonly brand: "harvey";
|
|
129
|
+
readonly kind: "endmill";
|
|
130
|
+
readonly familyCode: "HT-Harvey-EndMill-003";
|
|
131
|
+
readonly rows: 49;
|
|
132
|
+
readonly columns: {
|
|
133
|
+
readonly DC: "CUTTER DIAMETER";
|
|
134
|
+
readonly SFDM: "SHANK DIAMETER";
|
|
135
|
+
readonly OAL: "OVERALL LENGTH";
|
|
136
|
+
readonly LCF: "LENGTH OF CUT";
|
|
137
|
+
readonly NOF: "FLUTES";
|
|
138
|
+
};
|
|
139
|
+
readonly facts: {
|
|
140
|
+
readonly unit: {
|
|
141
|
+
readonly value: UnitSystem;
|
|
142
|
+
readonly source: "vendor-stated";
|
|
143
|
+
readonly cite: string;
|
|
144
|
+
};
|
|
145
|
+
readonly bmc: {
|
|
146
|
+
readonly value: string;
|
|
147
|
+
readonly source: "vendor-stated";
|
|
148
|
+
readonly cite: string;
|
|
149
|
+
};
|
|
150
|
+
readonly profile: Fact<string>;
|
|
151
|
+
readonly coolantThrough: {
|
|
152
|
+
readonly value: boolean;
|
|
153
|
+
readonly source: "derived";
|
|
154
|
+
readonly note: string;
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
readonly 'harvey_endmill_004.csv': {
|
|
159
|
+
readonly id: "endmill-004";
|
|
160
|
+
readonly brand: "harvey";
|
|
161
|
+
readonly kind: "endmill";
|
|
162
|
+
readonly familyCode: "HT-Harvey-EndMill-004";
|
|
163
|
+
readonly rows: 389;
|
|
164
|
+
readonly columns: {
|
|
165
|
+
readonly DC: "CUTTER DIA.";
|
|
166
|
+
readonly SFDM: "SHANK DIA.";
|
|
167
|
+
readonly OAL: "OAL";
|
|
168
|
+
readonly LCF: "LENGTH OF CUT";
|
|
169
|
+
readonly NOF: "FLUTES";
|
|
170
|
+
};
|
|
171
|
+
readonly facts: {
|
|
172
|
+
readonly unit: {
|
|
173
|
+
readonly value: UnitSystem;
|
|
174
|
+
readonly source: "vendor-stated";
|
|
175
|
+
readonly cite: string;
|
|
176
|
+
};
|
|
177
|
+
readonly bmc: {
|
|
178
|
+
readonly value: string;
|
|
179
|
+
readonly source: "vendor-stated";
|
|
180
|
+
readonly cite: string;
|
|
181
|
+
};
|
|
182
|
+
readonly profile: Fact<string>;
|
|
183
|
+
readonly coolantThrough: {
|
|
184
|
+
readonly value: boolean;
|
|
185
|
+
readonly source: "derived";
|
|
186
|
+
readonly note: string;
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
};
|
|
190
|
+
readonly 'harvey_endmill_005.csv': {
|
|
191
|
+
readonly id: "endmill-005";
|
|
192
|
+
readonly brand: "harvey";
|
|
193
|
+
readonly kind: "endmill";
|
|
194
|
+
readonly familyCode: "HT-Harvey-EndMill-005";
|
|
195
|
+
readonly rows: 95;
|
|
196
|
+
readonly columns: {
|
|
197
|
+
readonly DC: "CUTTER DIA.";
|
|
198
|
+
readonly SFDM: "SHANK DIA.";
|
|
199
|
+
readonly OAL: "OAL";
|
|
200
|
+
readonly LCF: "LENGTH OF CUT";
|
|
201
|
+
readonly 'shoulder-length': "OVERALL REACH";
|
|
202
|
+
readonly NOF: "FLUTES";
|
|
203
|
+
};
|
|
204
|
+
readonly facts: {
|
|
205
|
+
readonly unit: {
|
|
206
|
+
readonly value: UnitSystem;
|
|
207
|
+
readonly source: "vendor-stated";
|
|
208
|
+
readonly cite: string;
|
|
209
|
+
};
|
|
210
|
+
readonly bmc: {
|
|
211
|
+
readonly value: string;
|
|
212
|
+
readonly source: "vendor-stated";
|
|
213
|
+
readonly cite: string;
|
|
214
|
+
};
|
|
215
|
+
readonly profile: Fact<string>;
|
|
216
|
+
readonly coolantThrough: {
|
|
217
|
+
readonly value: boolean;
|
|
218
|
+
readonly source: "derived";
|
|
219
|
+
readonly note: string;
|
|
220
|
+
};
|
|
221
|
+
};
|
|
222
|
+
};
|
|
223
|
+
readonly 'harvey_endmill_006.csv': {
|
|
224
|
+
readonly id: "endmill-006";
|
|
225
|
+
readonly brand: "harvey";
|
|
226
|
+
readonly kind: "endmill";
|
|
227
|
+
readonly familyCode: "HT-Harvey-EndMill-006";
|
|
228
|
+
readonly rows: 284;
|
|
229
|
+
readonly columns: {
|
|
230
|
+
readonly DC: "CUTTER DIAMETER";
|
|
231
|
+
readonly SFDM: "SHANK DIAMETER";
|
|
232
|
+
readonly OAL: "OVERALL LENGTH";
|
|
233
|
+
readonly LCF: "LENGTH OF CUT";
|
|
234
|
+
readonly 'shoulder-length': "OVERALL REACH";
|
|
235
|
+
readonly NOF: "FLUTES";
|
|
236
|
+
};
|
|
237
|
+
readonly facts: {
|
|
238
|
+
readonly unit: {
|
|
239
|
+
readonly value: UnitSystem;
|
|
240
|
+
readonly source: "vendor-stated";
|
|
241
|
+
readonly cite: string;
|
|
242
|
+
};
|
|
243
|
+
readonly bmc: {
|
|
244
|
+
readonly value: string;
|
|
245
|
+
readonly source: "vendor-stated";
|
|
246
|
+
readonly cite: string;
|
|
247
|
+
};
|
|
248
|
+
readonly profile: Fact<string>;
|
|
249
|
+
readonly coolantThrough: {
|
|
250
|
+
readonly value: boolean;
|
|
251
|
+
readonly source: "derived";
|
|
252
|
+
readonly note: string;
|
|
253
|
+
};
|
|
254
|
+
};
|
|
255
|
+
};
|
|
256
|
+
readonly 'harvey_endmill_007.csv': {
|
|
257
|
+
readonly id: "endmill-007";
|
|
258
|
+
readonly brand: "harvey";
|
|
259
|
+
readonly kind: "endmill";
|
|
260
|
+
readonly familyCode: "HT-Harvey-EndMill-007";
|
|
261
|
+
readonly rows: 718;
|
|
262
|
+
readonly columns: {
|
|
263
|
+
readonly DC: "CUTTER DIA.";
|
|
264
|
+
readonly SFDM: "SHANK DIA.";
|
|
265
|
+
readonly OAL: "OAL";
|
|
266
|
+
readonly LCF: "LOC";
|
|
267
|
+
readonly 'shoulder-length': "OVERALL REACH";
|
|
268
|
+
readonly NOF: "FLUTES";
|
|
269
|
+
};
|
|
270
|
+
readonly facts: {
|
|
271
|
+
readonly unit: {
|
|
272
|
+
readonly value: UnitSystem;
|
|
273
|
+
readonly source: "vendor-stated";
|
|
274
|
+
readonly cite: string;
|
|
275
|
+
};
|
|
276
|
+
readonly bmc: {
|
|
277
|
+
readonly value: string;
|
|
278
|
+
readonly source: "vendor-stated";
|
|
279
|
+
readonly cite: string;
|
|
280
|
+
};
|
|
281
|
+
readonly profile: Fact<string>;
|
|
282
|
+
readonly coolantThrough: {
|
|
283
|
+
readonly value: boolean;
|
|
284
|
+
readonly source: "derived";
|
|
285
|
+
readonly note: string;
|
|
286
|
+
};
|
|
287
|
+
};
|
|
288
|
+
};
|
|
289
|
+
readonly 'harvey_endmill_008.csv': {
|
|
290
|
+
readonly id: "endmill-008";
|
|
291
|
+
readonly brand: "harvey";
|
|
292
|
+
readonly kind: "endmill";
|
|
293
|
+
readonly familyCode: "HT-Harvey-EndMill-008";
|
|
294
|
+
readonly rows: 840;
|
|
295
|
+
readonly columns: {
|
|
296
|
+
readonly DC: "CUTTER DIA.";
|
|
297
|
+
readonly SFDM: "SHANK DIA.";
|
|
298
|
+
readonly OAL: "OAL";
|
|
299
|
+
readonly LCF: "LOC";
|
|
300
|
+
readonly NOF: "FLUTES";
|
|
301
|
+
};
|
|
302
|
+
readonly facts: {
|
|
303
|
+
readonly unit: {
|
|
304
|
+
readonly value: UnitSystem;
|
|
305
|
+
readonly source: "vendor-stated";
|
|
306
|
+
readonly cite: string;
|
|
307
|
+
};
|
|
308
|
+
readonly bmc: {
|
|
309
|
+
readonly value: string;
|
|
310
|
+
readonly source: "vendor-stated";
|
|
311
|
+
readonly cite: string;
|
|
312
|
+
};
|
|
313
|
+
readonly profile: Fact<string>;
|
|
314
|
+
readonly coolantThrough: {
|
|
315
|
+
readonly value: boolean;
|
|
316
|
+
readonly source: "derived";
|
|
317
|
+
readonly note: string;
|
|
318
|
+
};
|
|
319
|
+
};
|
|
320
|
+
};
|
|
321
|
+
readonly 'harvey_endmill_009.csv': {
|
|
322
|
+
readonly id: "endmill-009";
|
|
323
|
+
readonly brand: "harvey";
|
|
324
|
+
readonly kind: "endmill";
|
|
325
|
+
readonly familyCode: "HT-Harvey-EndMill-009";
|
|
326
|
+
readonly rows: 171;
|
|
327
|
+
readonly columns: {
|
|
328
|
+
readonly DC: "CUTTER DIA.";
|
|
329
|
+
readonly SFDM: "SHANK DIA.";
|
|
330
|
+
readonly OAL: "OAL";
|
|
331
|
+
readonly LCF: "LOC";
|
|
332
|
+
readonly 'shoulder-length': "OVERALL REACH";
|
|
333
|
+
readonly NOF: "FLUTES";
|
|
334
|
+
};
|
|
335
|
+
readonly facts: {
|
|
336
|
+
readonly unit: {
|
|
337
|
+
readonly value: UnitSystem;
|
|
338
|
+
readonly source: "vendor-stated";
|
|
339
|
+
readonly cite: string;
|
|
340
|
+
};
|
|
341
|
+
readonly bmc: {
|
|
342
|
+
readonly value: string;
|
|
343
|
+
readonly source: "vendor-stated";
|
|
344
|
+
readonly cite: string;
|
|
345
|
+
};
|
|
346
|
+
readonly profile: Fact<string>;
|
|
347
|
+
readonly coolantThrough: {
|
|
348
|
+
readonly value: boolean;
|
|
349
|
+
readonly source: "derived";
|
|
350
|
+
readonly note: string;
|
|
351
|
+
};
|
|
352
|
+
};
|
|
353
|
+
};
|
|
354
|
+
readonly 'harvey_endmill_010.csv': {
|
|
355
|
+
readonly id: "endmill-010";
|
|
356
|
+
readonly brand: "harvey";
|
|
357
|
+
readonly kind: "endmill";
|
|
358
|
+
readonly familyCode: "HT-Harvey-EndMill-010";
|
|
359
|
+
readonly rows: 178;
|
|
360
|
+
readonly columns: {
|
|
361
|
+
readonly DC: "CUTTER DIAMETER";
|
|
362
|
+
readonly SFDM: "SHANK DIAMETER";
|
|
363
|
+
readonly OAL: "OVERALL LENGTH";
|
|
364
|
+
readonly LCF: "LENGTH OF CUT";
|
|
365
|
+
readonly NOF: "FLUTES";
|
|
366
|
+
};
|
|
367
|
+
readonly facts: {
|
|
368
|
+
readonly unit: {
|
|
369
|
+
readonly value: UnitSystem;
|
|
370
|
+
readonly source: "vendor-stated";
|
|
371
|
+
readonly cite: string;
|
|
372
|
+
};
|
|
373
|
+
readonly bmc: {
|
|
374
|
+
readonly value: string;
|
|
375
|
+
readonly source: "vendor-stated";
|
|
376
|
+
readonly cite: string;
|
|
377
|
+
};
|
|
378
|
+
readonly profile: Fact<string>;
|
|
379
|
+
readonly coolantThrough: {
|
|
380
|
+
readonly value: boolean;
|
|
381
|
+
readonly source: "derived";
|
|
382
|
+
readonly note: string;
|
|
383
|
+
};
|
|
384
|
+
};
|
|
385
|
+
};
|
|
386
|
+
readonly 'harvey_endmill_011.csv': {
|
|
387
|
+
readonly id: "endmill-011";
|
|
388
|
+
readonly brand: "harvey";
|
|
389
|
+
readonly kind: "endmill";
|
|
390
|
+
readonly familyCode: "HT-Harvey-EndMill-011";
|
|
391
|
+
readonly rows: 293;
|
|
392
|
+
readonly columns: {
|
|
393
|
+
readonly DC: "CUTTER DIA.";
|
|
394
|
+
readonly SFDM: "SHANK DIA.";
|
|
395
|
+
readonly OAL: "OAL";
|
|
396
|
+
readonly LCF: "LENGTH OF CUT";
|
|
397
|
+
readonly RE: "CORNER RADIUS";
|
|
398
|
+
readonly NOF: "FLUTES";
|
|
399
|
+
};
|
|
400
|
+
readonly facts: {
|
|
401
|
+
readonly unit: {
|
|
402
|
+
readonly value: UnitSystem;
|
|
403
|
+
readonly source: "vendor-stated";
|
|
404
|
+
readonly cite: string;
|
|
405
|
+
};
|
|
406
|
+
readonly bmc: {
|
|
407
|
+
readonly value: string;
|
|
408
|
+
readonly source: "vendor-stated";
|
|
409
|
+
readonly cite: string;
|
|
410
|
+
};
|
|
411
|
+
readonly profile: Fact<string>;
|
|
412
|
+
readonly coolantThrough: {
|
|
413
|
+
readonly value: boolean;
|
|
414
|
+
readonly source: "derived";
|
|
415
|
+
readonly note: string;
|
|
416
|
+
};
|
|
417
|
+
};
|
|
418
|
+
};
|
|
419
|
+
readonly 'harvey_endmill_012.csv': {
|
|
420
|
+
readonly id: "endmill-012";
|
|
421
|
+
readonly brand: "harvey";
|
|
422
|
+
readonly kind: "endmill";
|
|
423
|
+
readonly familyCode: "HT-Harvey-EndMill-012";
|
|
424
|
+
readonly rows: 154;
|
|
425
|
+
readonly columns: {
|
|
426
|
+
readonly DC: "CUTTER DIA.";
|
|
427
|
+
readonly SFDM: "SHANK DIA.";
|
|
428
|
+
readonly OAL: "OAL";
|
|
429
|
+
readonly LCF: "LOC";
|
|
430
|
+
readonly RE: "CORNER RADIUS";
|
|
431
|
+
readonly 'shoulder-length': "OVERALL REACH";
|
|
432
|
+
readonly NOF: "FLUTES";
|
|
433
|
+
};
|
|
434
|
+
readonly facts: {
|
|
435
|
+
readonly unit: {
|
|
436
|
+
readonly value: UnitSystem;
|
|
437
|
+
readonly source: "vendor-stated";
|
|
438
|
+
readonly cite: string;
|
|
439
|
+
};
|
|
440
|
+
readonly bmc: {
|
|
441
|
+
readonly value: string;
|
|
442
|
+
readonly source: "vendor-stated";
|
|
443
|
+
readonly cite: string;
|
|
444
|
+
};
|
|
445
|
+
readonly profile: Fact<string>;
|
|
446
|
+
readonly coolantThrough: {
|
|
447
|
+
readonly value: boolean;
|
|
448
|
+
readonly source: "derived";
|
|
449
|
+
readonly note: string;
|
|
450
|
+
};
|
|
451
|
+
};
|
|
452
|
+
};
|
|
453
|
+
readonly 'harvey_endmill_013.csv': {
|
|
454
|
+
readonly id: "endmill-013";
|
|
455
|
+
readonly brand: "harvey";
|
|
456
|
+
readonly kind: "endmill";
|
|
457
|
+
readonly familyCode: "HT-Harvey-EndMill-013";
|
|
458
|
+
readonly rows: 598;
|
|
459
|
+
readonly columns: {
|
|
460
|
+
readonly DC: "CUTTER DIA.";
|
|
461
|
+
readonly SFDM: "SHANK DIA.";
|
|
462
|
+
readonly OAL: "OAL";
|
|
463
|
+
readonly LCF: "LOC";
|
|
464
|
+
readonly RE: "CORNER RADIUS";
|
|
465
|
+
readonly 'shoulder-length': "OVERALL REACH";
|
|
466
|
+
readonly NOF: "FLUTES";
|
|
467
|
+
};
|
|
468
|
+
readonly facts: {
|
|
469
|
+
readonly unit: {
|
|
470
|
+
readonly value: UnitSystem;
|
|
471
|
+
readonly source: "vendor-stated";
|
|
472
|
+
readonly cite: string;
|
|
473
|
+
};
|
|
474
|
+
readonly bmc: {
|
|
475
|
+
readonly value: string;
|
|
476
|
+
readonly source: "vendor-stated";
|
|
477
|
+
readonly cite: string;
|
|
478
|
+
};
|
|
479
|
+
readonly profile: Fact<string>;
|
|
480
|
+
readonly coolantThrough: {
|
|
481
|
+
readonly value: boolean;
|
|
482
|
+
readonly source: "derived";
|
|
483
|
+
readonly note: string;
|
|
484
|
+
};
|
|
485
|
+
};
|
|
486
|
+
};
|
|
487
|
+
readonly 'harvey_endmill_014.csv': {
|
|
488
|
+
readonly id: "endmill-014";
|
|
489
|
+
readonly brand: "harvey";
|
|
490
|
+
readonly kind: "endmill";
|
|
491
|
+
readonly familyCode: "HT-Harvey-EndMill-014";
|
|
492
|
+
readonly rows: 1344;
|
|
493
|
+
readonly columns: {
|
|
494
|
+
readonly DC: "CUTTER DIA.";
|
|
495
|
+
readonly SFDM: "SHANK DIA.";
|
|
496
|
+
readonly OAL: "OAL";
|
|
497
|
+
readonly LCF: "LENGTH OF CUT";
|
|
498
|
+
readonly RE: "CORNER RADIUS";
|
|
499
|
+
readonly NOF: "FLUTES";
|
|
500
|
+
};
|
|
501
|
+
readonly facts: {
|
|
502
|
+
readonly unit: {
|
|
503
|
+
readonly value: UnitSystem;
|
|
504
|
+
readonly source: "vendor-stated";
|
|
505
|
+
readonly cite: string;
|
|
506
|
+
};
|
|
507
|
+
readonly bmc: {
|
|
508
|
+
readonly value: string;
|
|
509
|
+
readonly source: "vendor-stated";
|
|
510
|
+
readonly cite: string;
|
|
511
|
+
};
|
|
512
|
+
readonly profile: Fact<string>;
|
|
513
|
+
readonly coolantThrough: {
|
|
514
|
+
readonly value: boolean;
|
|
515
|
+
readonly source: "derived";
|
|
516
|
+
readonly note: string;
|
|
517
|
+
};
|
|
518
|
+
};
|
|
519
|
+
};
|
|
520
|
+
readonly 'harvey_endmill_015.csv': {
|
|
521
|
+
readonly id: "endmill-015";
|
|
522
|
+
readonly brand: "harvey";
|
|
523
|
+
readonly kind: "endmill";
|
|
524
|
+
readonly familyCode: "HT-Harvey-EndMill-015";
|
|
525
|
+
readonly rows: 18;
|
|
526
|
+
readonly columns: {
|
|
527
|
+
readonly DC: "CUTTER DIA.";
|
|
528
|
+
readonly SFDM: "SHANK DIA.";
|
|
529
|
+
readonly OAL: "OAL";
|
|
530
|
+
readonly LCF: "LOC";
|
|
531
|
+
};
|
|
532
|
+
readonly facts: {
|
|
533
|
+
readonly unit: {
|
|
534
|
+
readonly value: UnitSystem;
|
|
535
|
+
readonly source: "vendor-stated";
|
|
536
|
+
readonly cite: string;
|
|
537
|
+
};
|
|
538
|
+
readonly bmc: {
|
|
539
|
+
readonly value: string;
|
|
540
|
+
readonly source: "vendor-stated";
|
|
541
|
+
readonly cite: string;
|
|
542
|
+
};
|
|
543
|
+
readonly profile: Fact<string>;
|
|
544
|
+
readonly coolantThrough: {
|
|
545
|
+
readonly value: boolean;
|
|
546
|
+
readonly source: "derived";
|
|
547
|
+
readonly note: string;
|
|
548
|
+
};
|
|
549
|
+
};
|
|
550
|
+
};
|
|
551
|
+
readonly 'harvey_endmill_016.csv': {
|
|
552
|
+
readonly id: "endmill-016";
|
|
553
|
+
readonly brand: "harvey";
|
|
554
|
+
readonly kind: "endmill";
|
|
555
|
+
readonly familyCode: "HT-Harvey-EndMill-016";
|
|
556
|
+
readonly rows: 734;
|
|
557
|
+
readonly columns: {
|
|
558
|
+
readonly DC: "CUTTER DIA.";
|
|
559
|
+
readonly SFDM: "SHANK DIA.";
|
|
560
|
+
readonly OAL: "OAL";
|
|
561
|
+
readonly LCF: "LENGTH OF CUT";
|
|
562
|
+
readonly NOF: "FLUTES";
|
|
563
|
+
};
|
|
564
|
+
readonly facts: {
|
|
565
|
+
readonly unit: {
|
|
566
|
+
readonly value: UnitSystem;
|
|
567
|
+
readonly source: "vendor-stated";
|
|
568
|
+
readonly cite: string;
|
|
569
|
+
};
|
|
570
|
+
readonly bmc: {
|
|
571
|
+
readonly value: string;
|
|
572
|
+
readonly source: "vendor-stated";
|
|
573
|
+
readonly cite: string;
|
|
574
|
+
};
|
|
575
|
+
readonly profile: Fact<string>;
|
|
576
|
+
readonly coolantThrough: {
|
|
577
|
+
readonly value: boolean;
|
|
578
|
+
readonly source: "derived";
|
|
579
|
+
readonly note: string;
|
|
580
|
+
};
|
|
581
|
+
};
|
|
582
|
+
};
|
|
583
|
+
readonly 'harvey_endmill_017.csv': {
|
|
584
|
+
readonly id: "endmill-017";
|
|
585
|
+
readonly brand: "harvey";
|
|
586
|
+
readonly kind: "endmill";
|
|
587
|
+
readonly familyCode: "HT-Harvey-EndMill-017";
|
|
588
|
+
readonly rows: 194;
|
|
589
|
+
readonly columns: {
|
|
590
|
+
readonly DC: "CUTTER DIA.";
|
|
591
|
+
readonly SFDM: "SHANK DIA.";
|
|
592
|
+
readonly OAL: "OAL";
|
|
593
|
+
readonly LCF: "LENGTH OF CUT";
|
|
594
|
+
readonly 'shoulder-length': "OVERALL REACH";
|
|
595
|
+
readonly NOF: "FLUTES";
|
|
596
|
+
};
|
|
597
|
+
readonly facts: {
|
|
598
|
+
readonly unit: {
|
|
599
|
+
readonly value: UnitSystem;
|
|
600
|
+
readonly source: "vendor-stated";
|
|
601
|
+
readonly cite: string;
|
|
602
|
+
};
|
|
603
|
+
readonly bmc: {
|
|
604
|
+
readonly value: string;
|
|
605
|
+
readonly source: "vendor-stated";
|
|
606
|
+
readonly cite: string;
|
|
607
|
+
};
|
|
608
|
+
readonly profile: Fact<string>;
|
|
609
|
+
readonly coolantThrough: {
|
|
610
|
+
readonly value: boolean;
|
|
611
|
+
readonly source: "derived";
|
|
612
|
+
readonly note: string;
|
|
613
|
+
};
|
|
614
|
+
};
|
|
615
|
+
};
|
|
616
|
+
readonly 'harvey_endmill_018.csv': {
|
|
617
|
+
readonly id: "endmill-018";
|
|
618
|
+
readonly brand: "harvey";
|
|
619
|
+
readonly kind: "endmill";
|
|
620
|
+
readonly familyCode: "HT-Harvey-EndMill-018";
|
|
621
|
+
readonly rows: 519;
|
|
622
|
+
readonly columns: {
|
|
623
|
+
readonly DC: "CUTTER DIAMETER";
|
|
624
|
+
readonly SFDM: "SHANK DIAMETER";
|
|
625
|
+
readonly OAL: "OVERALL LENGTH";
|
|
626
|
+
readonly LCF: "LENGTH OF CUT";
|
|
627
|
+
readonly 'shoulder-length': "OVERALL REACH";
|
|
628
|
+
readonly NOF: "FLUTES";
|
|
629
|
+
};
|
|
630
|
+
readonly facts: {
|
|
631
|
+
readonly unit: {
|
|
632
|
+
readonly value: UnitSystem;
|
|
633
|
+
readonly source: "vendor-stated";
|
|
634
|
+
readonly cite: string;
|
|
635
|
+
};
|
|
636
|
+
readonly bmc: {
|
|
637
|
+
readonly value: string;
|
|
638
|
+
readonly source: "vendor-stated";
|
|
639
|
+
readonly cite: string;
|
|
640
|
+
};
|
|
641
|
+
readonly profile: Fact<string>;
|
|
642
|
+
readonly coolantThrough: {
|
|
643
|
+
readonly value: boolean;
|
|
644
|
+
readonly source: "derived";
|
|
645
|
+
readonly note: string;
|
|
646
|
+
};
|
|
647
|
+
};
|
|
648
|
+
};
|
|
649
|
+
readonly 'harvey_endmill_019.csv': {
|
|
650
|
+
readonly id: "endmill-019";
|
|
651
|
+
readonly brand: "harvey";
|
|
652
|
+
readonly kind: "endmill";
|
|
653
|
+
readonly familyCode: "HT-Harvey-EndMill-019";
|
|
654
|
+
readonly rows: 1026;
|
|
655
|
+
readonly columns: {
|
|
656
|
+
readonly DC: "CUTTER DIA.";
|
|
657
|
+
readonly SFDM: "SHANK DIA.";
|
|
658
|
+
readonly OAL: "OAL";
|
|
659
|
+
readonly LCF: "LOC";
|
|
660
|
+
readonly 'shoulder-length': "OVERALL REACH";
|
|
661
|
+
readonly NOF: "FLUTES";
|
|
662
|
+
};
|
|
663
|
+
readonly facts: {
|
|
664
|
+
readonly unit: {
|
|
665
|
+
readonly value: UnitSystem;
|
|
666
|
+
readonly source: "vendor-stated";
|
|
667
|
+
readonly cite: string;
|
|
668
|
+
};
|
|
669
|
+
readonly bmc: {
|
|
670
|
+
readonly value: string;
|
|
671
|
+
readonly source: "vendor-stated";
|
|
672
|
+
readonly cite: string;
|
|
673
|
+
};
|
|
674
|
+
readonly profile: Fact<string>;
|
|
675
|
+
readonly coolantThrough: {
|
|
676
|
+
readonly value: boolean;
|
|
677
|
+
readonly source: "derived";
|
|
678
|
+
readonly note: string;
|
|
679
|
+
};
|
|
680
|
+
};
|
|
681
|
+
};
|
|
682
|
+
readonly 'harvey_endmill_020.csv': {
|
|
683
|
+
readonly id: "endmill-020";
|
|
684
|
+
readonly brand: "harvey";
|
|
685
|
+
readonly kind: "endmill";
|
|
686
|
+
readonly familyCode: "HT-Harvey-EndMill-020";
|
|
687
|
+
readonly rows: 1239;
|
|
688
|
+
readonly columns: {
|
|
689
|
+
readonly DC: "CUTTER DIA.";
|
|
690
|
+
readonly SFDM: "SHANK DIA.";
|
|
691
|
+
readonly OAL: "OAL";
|
|
692
|
+
readonly LCF: "LOC";
|
|
693
|
+
readonly NOF: "FLUTES";
|
|
694
|
+
};
|
|
695
|
+
readonly facts: {
|
|
696
|
+
readonly unit: {
|
|
697
|
+
readonly value: UnitSystem;
|
|
698
|
+
readonly source: "vendor-stated";
|
|
699
|
+
readonly cite: string;
|
|
700
|
+
};
|
|
701
|
+
readonly bmc: {
|
|
702
|
+
readonly value: string;
|
|
703
|
+
readonly source: "vendor-stated";
|
|
704
|
+
readonly cite: string;
|
|
705
|
+
};
|
|
706
|
+
readonly profile: Fact<string>;
|
|
707
|
+
readonly coolantThrough: {
|
|
708
|
+
readonly value: boolean;
|
|
709
|
+
readonly source: "derived";
|
|
710
|
+
readonly note: string;
|
|
711
|
+
};
|
|
712
|
+
};
|
|
713
|
+
};
|
|
714
|
+
readonly 'harvey_endmill_021.csv': {
|
|
715
|
+
readonly id: "endmill-021";
|
|
716
|
+
readonly brand: "harvey";
|
|
717
|
+
readonly kind: "endmill";
|
|
718
|
+
readonly familyCode: "HT-Harvey-EndMill-021";
|
|
719
|
+
readonly rows: 88;
|
|
720
|
+
readonly columns: {
|
|
721
|
+
readonly DC: "CUTTER DIA.";
|
|
722
|
+
readonly SFDM: "SHANK DIA.";
|
|
723
|
+
readonly OAL: "OAL";
|
|
724
|
+
readonly LCF: "LOC";
|
|
725
|
+
readonly 'shoulder-length': "OVERALL REACH";
|
|
726
|
+
readonly NOF: "FLUTES";
|
|
727
|
+
};
|
|
728
|
+
readonly facts: {
|
|
729
|
+
readonly unit: {
|
|
730
|
+
readonly value: UnitSystem;
|
|
731
|
+
readonly source: "vendor-stated";
|
|
732
|
+
readonly cite: string;
|
|
733
|
+
};
|
|
734
|
+
readonly bmc: {
|
|
735
|
+
readonly value: string;
|
|
736
|
+
readonly source: "vendor-stated";
|
|
737
|
+
readonly cite: string;
|
|
738
|
+
};
|
|
739
|
+
readonly profile: Fact<string>;
|
|
740
|
+
readonly coolantThrough: {
|
|
741
|
+
readonly value: boolean;
|
|
742
|
+
readonly source: "derived";
|
|
743
|
+
readonly note: string;
|
|
744
|
+
};
|
|
745
|
+
};
|
|
746
|
+
};
|
|
747
|
+
readonly 'harvey_endmill_022.csv': {
|
|
748
|
+
readonly id: "endmill-022";
|
|
749
|
+
readonly brand: "harvey";
|
|
750
|
+
readonly kind: "endmill";
|
|
751
|
+
readonly familyCode: "HT-Harvey-EndMill-022";
|
|
752
|
+
readonly rows: 371;
|
|
753
|
+
readonly columns: {
|
|
754
|
+
readonly DC: "CUTTER DIAMETER";
|
|
755
|
+
readonly SFDM: "SHANK DIAMETER";
|
|
756
|
+
readonly OAL: "OVERALL LENGTH";
|
|
757
|
+
readonly LCF: "LENGTH OF CUT";
|
|
758
|
+
readonly NOF: "FLUTES";
|
|
759
|
+
};
|
|
760
|
+
readonly facts: {
|
|
761
|
+
readonly unit: {
|
|
762
|
+
readonly value: UnitSystem;
|
|
763
|
+
readonly source: "vendor-stated";
|
|
764
|
+
readonly cite: string;
|
|
765
|
+
};
|
|
766
|
+
readonly bmc: {
|
|
767
|
+
readonly value: string;
|
|
768
|
+
readonly source: "vendor-stated";
|
|
769
|
+
readonly cite: string;
|
|
770
|
+
};
|
|
771
|
+
readonly profile: Fact<string>;
|
|
772
|
+
readonly coolantThrough: {
|
|
773
|
+
readonly value: boolean;
|
|
774
|
+
readonly source: "derived";
|
|
775
|
+
readonly note: string;
|
|
776
|
+
};
|
|
777
|
+
};
|
|
778
|
+
};
|
|
779
|
+
readonly 'harvey_endmill_023.csv': {
|
|
780
|
+
readonly id: "endmill-023";
|
|
781
|
+
readonly brand: "harvey";
|
|
782
|
+
readonly kind: "endmill";
|
|
783
|
+
readonly familyCode: "HT-Harvey-EndMill-023";
|
|
784
|
+
readonly rows: 26;
|
|
785
|
+
readonly columns: {
|
|
786
|
+
readonly DC: "CUTTER DIA.";
|
|
787
|
+
readonly SFDM: "SHANK DIA.";
|
|
788
|
+
readonly OAL: "OAL";
|
|
789
|
+
readonly LCF: "LOC";
|
|
790
|
+
};
|
|
791
|
+
readonly facts: {
|
|
792
|
+
readonly unit: {
|
|
793
|
+
readonly value: UnitSystem;
|
|
794
|
+
readonly source: "vendor-stated";
|
|
795
|
+
readonly cite: string;
|
|
796
|
+
};
|
|
797
|
+
readonly bmc: {
|
|
798
|
+
readonly value: string;
|
|
799
|
+
readonly source: "vendor-stated";
|
|
800
|
+
readonly cite: string;
|
|
801
|
+
};
|
|
802
|
+
readonly profile: Fact<string>;
|
|
803
|
+
readonly coolantThrough: {
|
|
804
|
+
readonly value: boolean;
|
|
805
|
+
readonly source: "derived";
|
|
806
|
+
readonly note: string;
|
|
807
|
+
};
|
|
808
|
+
};
|
|
809
|
+
};
|
|
810
|
+
readonly 'harvey_endmill_025.csv': {
|
|
811
|
+
readonly id: "endmill-025";
|
|
812
|
+
readonly brand: "harvey";
|
|
813
|
+
readonly kind: "endmill";
|
|
814
|
+
readonly familyCode: "HT-Harvey-EndMill-025";
|
|
815
|
+
readonly rows: 10;
|
|
816
|
+
readonly columns: {
|
|
817
|
+
readonly DC: "CUTTER DIA.";
|
|
818
|
+
readonly SFDM: "SHANK DIA.";
|
|
819
|
+
readonly OAL: "OAL";
|
|
820
|
+
readonly LCF: "LOC";
|
|
821
|
+
readonly 'shoulder-length': "OVERALL REACH";
|
|
822
|
+
readonly NOF: "FLUTES";
|
|
823
|
+
};
|
|
824
|
+
readonly facts: {
|
|
825
|
+
readonly unit: {
|
|
826
|
+
readonly value: UnitSystem;
|
|
827
|
+
readonly source: "vendor-stated";
|
|
828
|
+
readonly cite: string;
|
|
829
|
+
};
|
|
830
|
+
readonly bmc: {
|
|
831
|
+
readonly value: string;
|
|
832
|
+
readonly source: "vendor-stated";
|
|
833
|
+
readonly cite: string;
|
|
834
|
+
};
|
|
835
|
+
readonly profile: Fact<string>;
|
|
836
|
+
readonly coolantThrough: {
|
|
837
|
+
readonly value: boolean;
|
|
838
|
+
readonly source: "derived";
|
|
839
|
+
readonly note: string;
|
|
840
|
+
};
|
|
841
|
+
};
|
|
842
|
+
};
|
|
843
|
+
readonly 'harvey_endmill_026.csv': {
|
|
844
|
+
readonly id: "endmill-026";
|
|
845
|
+
readonly brand: "harvey";
|
|
846
|
+
readonly kind: "endmill";
|
|
847
|
+
readonly familyCode: "HT-Harvey-EndMill-026";
|
|
848
|
+
readonly rows: 12;
|
|
849
|
+
readonly columns: {
|
|
850
|
+
readonly DC: "CUTTER DIA.";
|
|
851
|
+
readonly SFDM: "SHANK DIA.";
|
|
852
|
+
readonly OAL: "OAL";
|
|
853
|
+
readonly LCF: "LOC";
|
|
854
|
+
readonly RE: "CORNER RADIUS";
|
|
855
|
+
readonly 'shoulder-length': "OVERALL REACH";
|
|
856
|
+
readonly NOF: "FLUTES";
|
|
857
|
+
};
|
|
858
|
+
readonly facts: {
|
|
859
|
+
readonly unit: {
|
|
860
|
+
readonly value: UnitSystem;
|
|
861
|
+
readonly source: "vendor-stated";
|
|
862
|
+
readonly cite: string;
|
|
863
|
+
};
|
|
864
|
+
readonly bmc: {
|
|
865
|
+
readonly value: string;
|
|
866
|
+
readonly source: "vendor-stated";
|
|
867
|
+
readonly cite: string;
|
|
868
|
+
};
|
|
869
|
+
readonly profile: Fact<string>;
|
|
870
|
+
readonly coolantThrough: {
|
|
871
|
+
readonly value: boolean;
|
|
872
|
+
readonly source: "derived";
|
|
873
|
+
readonly note: string;
|
|
874
|
+
};
|
|
875
|
+
};
|
|
876
|
+
};
|
|
877
|
+
readonly 'harvey_endmill_027.csv': {
|
|
878
|
+
readonly id: "endmill-027";
|
|
879
|
+
readonly brand: "harvey";
|
|
880
|
+
readonly kind: "endmill";
|
|
881
|
+
readonly familyCode: "HT-Harvey-EndMill-027";
|
|
882
|
+
readonly rows: 20;
|
|
883
|
+
readonly columns: {
|
|
884
|
+
readonly DC: "CUTTER DIA.";
|
|
885
|
+
readonly SFDM: "SHANK DIA.";
|
|
886
|
+
readonly OAL: "OAL";
|
|
887
|
+
readonly LCF: "LOC";
|
|
888
|
+
readonly 'shoulder-length': "OVERALL REACH";
|
|
889
|
+
readonly NOF: "FLUTES";
|
|
890
|
+
};
|
|
891
|
+
readonly facts: {
|
|
892
|
+
readonly unit: {
|
|
893
|
+
readonly value: UnitSystem;
|
|
894
|
+
readonly source: "vendor-stated";
|
|
895
|
+
readonly cite: string;
|
|
896
|
+
};
|
|
897
|
+
readonly bmc: {
|
|
898
|
+
readonly value: string;
|
|
899
|
+
readonly source: "vendor-stated";
|
|
900
|
+
readonly cite: string;
|
|
901
|
+
};
|
|
902
|
+
readonly profile: Fact<string>;
|
|
903
|
+
readonly coolantThrough: {
|
|
904
|
+
readonly value: boolean;
|
|
905
|
+
readonly source: "derived";
|
|
906
|
+
readonly note: string;
|
|
907
|
+
};
|
|
908
|
+
};
|
|
909
|
+
};
|
|
910
|
+
readonly 'harvey_endmill_028.csv': {
|
|
911
|
+
readonly id: "endmill-028";
|
|
912
|
+
readonly brand: "harvey";
|
|
913
|
+
readonly kind: "endmill";
|
|
914
|
+
readonly familyCode: "HT-Harvey-EndMill-028";
|
|
915
|
+
readonly rows: 36;
|
|
916
|
+
readonly columns: {
|
|
917
|
+
readonly DC: "CUTTER DIAMETER";
|
|
918
|
+
readonly SFDM: "SHANK DIAMETER";
|
|
919
|
+
readonly OAL: "OVERALL LENGTH";
|
|
920
|
+
readonly LCF: "LENGTH OF CUT";
|
|
921
|
+
readonly NOF: "FLUTES";
|
|
922
|
+
};
|
|
923
|
+
readonly facts: {
|
|
924
|
+
readonly unit: {
|
|
925
|
+
readonly value: UnitSystem;
|
|
926
|
+
readonly source: "vendor-stated";
|
|
927
|
+
readonly cite: string;
|
|
928
|
+
};
|
|
929
|
+
readonly bmc: {
|
|
930
|
+
readonly value: string;
|
|
931
|
+
readonly source: "vendor-stated";
|
|
932
|
+
readonly cite: string;
|
|
933
|
+
};
|
|
934
|
+
readonly profile: Fact<string>;
|
|
935
|
+
readonly coolantThrough: {
|
|
936
|
+
readonly value: boolean;
|
|
937
|
+
readonly source: "derived";
|
|
938
|
+
readonly note: string;
|
|
939
|
+
};
|
|
940
|
+
};
|
|
941
|
+
};
|
|
942
|
+
readonly 'harvey_endmill_029.csv': {
|
|
943
|
+
readonly id: "endmill-029";
|
|
944
|
+
readonly brand: "harvey";
|
|
945
|
+
readonly kind: "endmill";
|
|
946
|
+
readonly familyCode: "HT-Harvey-EndMill-029";
|
|
947
|
+
readonly rows: 152;
|
|
948
|
+
readonly columns: {
|
|
949
|
+
readonly DC: "CUTTER DIAMETER";
|
|
950
|
+
readonly SFDM: "SHANK DIAMETER";
|
|
951
|
+
readonly OAL: "OVERALL LENGTH";
|
|
952
|
+
readonly LCF: "LENGTH OF CUT";
|
|
953
|
+
readonly NOF: "FLUTES";
|
|
954
|
+
};
|
|
955
|
+
readonly facts: {
|
|
956
|
+
readonly unit: {
|
|
957
|
+
readonly value: UnitSystem;
|
|
958
|
+
readonly source: "vendor-stated";
|
|
959
|
+
readonly cite: string;
|
|
960
|
+
};
|
|
961
|
+
readonly bmc: {
|
|
962
|
+
readonly value: string;
|
|
963
|
+
readonly source: "vendor-stated";
|
|
964
|
+
readonly cite: string;
|
|
965
|
+
};
|
|
966
|
+
readonly profile: Fact<string>;
|
|
967
|
+
readonly coolantThrough: {
|
|
968
|
+
readonly value: boolean;
|
|
969
|
+
readonly source: "derived";
|
|
970
|
+
readonly note: string;
|
|
971
|
+
};
|
|
972
|
+
};
|
|
973
|
+
};
|
|
974
|
+
readonly 'harvey_endmill_030.csv': {
|
|
975
|
+
readonly id: "endmill-030";
|
|
976
|
+
readonly brand: "harvey";
|
|
977
|
+
readonly kind: "endmill";
|
|
978
|
+
readonly familyCode: "HT-Harvey-EndMill-030";
|
|
979
|
+
readonly rows: 144;
|
|
980
|
+
readonly columns: {
|
|
981
|
+
readonly DC: "CUTTER DIAMETER";
|
|
982
|
+
readonly SFDM: "SHANK DIAMETER";
|
|
983
|
+
readonly OAL: "OVERALL LENGTH";
|
|
984
|
+
readonly LCF: "LENGTH OF CUT";
|
|
985
|
+
readonly NOF: "FLUTES";
|
|
986
|
+
};
|
|
987
|
+
readonly facts: {
|
|
988
|
+
readonly unit: {
|
|
989
|
+
readonly value: UnitSystem;
|
|
990
|
+
readonly source: "vendor-stated";
|
|
991
|
+
readonly cite: string;
|
|
992
|
+
};
|
|
993
|
+
readonly bmc: {
|
|
994
|
+
readonly value: string;
|
|
995
|
+
readonly source: "vendor-stated";
|
|
996
|
+
readonly cite: string;
|
|
997
|
+
};
|
|
998
|
+
readonly profile: Fact<string>;
|
|
999
|
+
readonly coolantThrough: {
|
|
1000
|
+
readonly value: boolean;
|
|
1001
|
+
readonly source: "derived";
|
|
1002
|
+
readonly note: string;
|
|
1003
|
+
};
|
|
1004
|
+
};
|
|
1005
|
+
};
|
|
1006
|
+
readonly 'harvey_endmill_031.csv': {
|
|
1007
|
+
readonly id: "endmill-031";
|
|
1008
|
+
readonly brand: "harvey";
|
|
1009
|
+
readonly kind: "endmill";
|
|
1010
|
+
readonly familyCode: "HT-Harvey-EndMill-031";
|
|
1011
|
+
readonly rows: 170;
|
|
1012
|
+
readonly columns: {
|
|
1013
|
+
readonly DC: "CUTTER DIA.";
|
|
1014
|
+
readonly SFDM: "SHANK DIA.";
|
|
1015
|
+
readonly OAL: "OAL";
|
|
1016
|
+
readonly LCF: "LOC";
|
|
1017
|
+
readonly NOF: "FLUTES";
|
|
1018
|
+
};
|
|
1019
|
+
readonly facts: {
|
|
1020
|
+
readonly unit: {
|
|
1021
|
+
readonly value: UnitSystem;
|
|
1022
|
+
readonly source: "vendor-stated";
|
|
1023
|
+
readonly cite: string;
|
|
1024
|
+
};
|
|
1025
|
+
readonly bmc: {
|
|
1026
|
+
readonly value: string;
|
|
1027
|
+
readonly source: "vendor-stated";
|
|
1028
|
+
readonly cite: string;
|
|
1029
|
+
};
|
|
1030
|
+
readonly profile: Fact<string>;
|
|
1031
|
+
readonly coolantThrough: {
|
|
1032
|
+
readonly value: boolean;
|
|
1033
|
+
readonly source: "derived";
|
|
1034
|
+
readonly note: string;
|
|
1035
|
+
};
|
|
1036
|
+
};
|
|
1037
|
+
};
|
|
1038
|
+
readonly 'harvey_endmill_032.csv': {
|
|
1039
|
+
readonly id: "endmill-032";
|
|
1040
|
+
readonly brand: "harvey";
|
|
1041
|
+
readonly kind: "endmill";
|
|
1042
|
+
readonly familyCode: "HT-Harvey-EndMill-032";
|
|
1043
|
+
readonly rows: 24;
|
|
1044
|
+
readonly columns: {
|
|
1045
|
+
readonly DC: "CUTTER DIA.";
|
|
1046
|
+
readonly SFDM: "SHANK DIA.";
|
|
1047
|
+
readonly OAL: "OAL";
|
|
1048
|
+
readonly LCF: "LOC";
|
|
1049
|
+
readonly NOF: "FLUTES";
|
|
1050
|
+
};
|
|
1051
|
+
readonly facts: {
|
|
1052
|
+
readonly unit: {
|
|
1053
|
+
readonly value: UnitSystem;
|
|
1054
|
+
readonly source: "vendor-stated";
|
|
1055
|
+
readonly cite: string;
|
|
1056
|
+
};
|
|
1057
|
+
readonly bmc: {
|
|
1058
|
+
readonly value: string;
|
|
1059
|
+
readonly source: "vendor-stated";
|
|
1060
|
+
readonly cite: string;
|
|
1061
|
+
};
|
|
1062
|
+
readonly profile: Fact<string>;
|
|
1063
|
+
readonly coolantThrough: {
|
|
1064
|
+
readonly value: true;
|
|
1065
|
+
readonly source: "vendor-stated";
|
|
1066
|
+
readonly cite: "the page's own productTitle, 'Miniature End Mills - Square - Coolant Through'";
|
|
1067
|
+
};
|
|
1068
|
+
};
|
|
1069
|
+
};
|
|
1070
|
+
readonly 'harvey_endmill_033.csv': {
|
|
1071
|
+
readonly id: "endmill-033";
|
|
1072
|
+
readonly brand: "harvey";
|
|
1073
|
+
readonly kind: "endmill";
|
|
1074
|
+
readonly familyCode: "HT-Harvey-EndMill-033";
|
|
1075
|
+
readonly rows: 122;
|
|
1076
|
+
readonly columns: {
|
|
1077
|
+
readonly DC: "CUTTER DIA.";
|
|
1078
|
+
readonly SFDM: "SHANK DIA.";
|
|
1079
|
+
readonly OAL: "OAL";
|
|
1080
|
+
readonly LCF: "LOC";
|
|
1081
|
+
readonly NOF: "FLUTES";
|
|
1082
|
+
};
|
|
1083
|
+
readonly facts: {
|
|
1084
|
+
readonly unit: {
|
|
1085
|
+
readonly value: UnitSystem;
|
|
1086
|
+
readonly source: "vendor-stated";
|
|
1087
|
+
readonly cite: string;
|
|
1088
|
+
};
|
|
1089
|
+
readonly bmc: {
|
|
1090
|
+
readonly value: string;
|
|
1091
|
+
readonly source: "vendor-stated";
|
|
1092
|
+
readonly cite: string;
|
|
1093
|
+
};
|
|
1094
|
+
readonly profile: Fact<string>;
|
|
1095
|
+
readonly coolantThrough: {
|
|
1096
|
+
readonly value: boolean;
|
|
1097
|
+
readonly source: "derived";
|
|
1098
|
+
readonly note: string;
|
|
1099
|
+
};
|
|
1100
|
+
};
|
|
1101
|
+
};
|
|
1102
|
+
readonly 'harvey_endmill_034.csv': {
|
|
1103
|
+
readonly id: "endmill-034";
|
|
1104
|
+
readonly brand: "harvey";
|
|
1105
|
+
readonly kind: "endmill";
|
|
1106
|
+
readonly familyCode: "HT-Harvey-EndMill-034";
|
|
1107
|
+
readonly rows: 154;
|
|
1108
|
+
readonly columns: {
|
|
1109
|
+
readonly DC: "CUTTER DIA.";
|
|
1110
|
+
readonly SFDM: "SHANK DIA.";
|
|
1111
|
+
readonly OAL: "OAL";
|
|
1112
|
+
readonly LCF: "LENGTH OF CUT";
|
|
1113
|
+
readonly RE: "CORNER RADIUS";
|
|
1114
|
+
readonly NOF: "FLUTES";
|
|
1115
|
+
};
|
|
1116
|
+
readonly facts: {
|
|
1117
|
+
readonly unit: {
|
|
1118
|
+
readonly value: UnitSystem;
|
|
1119
|
+
readonly source: "vendor-stated";
|
|
1120
|
+
readonly cite: string;
|
|
1121
|
+
};
|
|
1122
|
+
readonly bmc: {
|
|
1123
|
+
readonly value: string;
|
|
1124
|
+
readonly source: "vendor-stated";
|
|
1125
|
+
readonly cite: string;
|
|
1126
|
+
};
|
|
1127
|
+
readonly profile: Fact<string>;
|
|
1128
|
+
readonly coolantThrough: {
|
|
1129
|
+
readonly value: boolean;
|
|
1130
|
+
readonly source: "derived";
|
|
1131
|
+
readonly note: string;
|
|
1132
|
+
};
|
|
1133
|
+
};
|
|
1134
|
+
};
|
|
1135
|
+
readonly 'harvey_endmill_035.csv': {
|
|
1136
|
+
readonly id: "endmill-035";
|
|
1137
|
+
readonly brand: "harvey";
|
|
1138
|
+
readonly kind: "endmill";
|
|
1139
|
+
readonly familyCode: "HT-Harvey-EndMill-035";
|
|
1140
|
+
readonly rows: 40;
|
|
1141
|
+
readonly columns: {
|
|
1142
|
+
readonly DC: "CUTTER DIAMETER";
|
|
1143
|
+
readonly SFDM: "SHANK DIAMETER";
|
|
1144
|
+
readonly OAL: "OVERALL LENGTH";
|
|
1145
|
+
readonly LCF: "LENGTH OF CUT";
|
|
1146
|
+
readonly RE: "CORNER RADIUS";
|
|
1147
|
+
readonly NOF: "FLUTES";
|
|
1148
|
+
};
|
|
1149
|
+
readonly facts: {
|
|
1150
|
+
readonly unit: {
|
|
1151
|
+
readonly value: UnitSystem;
|
|
1152
|
+
readonly source: "vendor-stated";
|
|
1153
|
+
readonly cite: string;
|
|
1154
|
+
};
|
|
1155
|
+
readonly bmc: {
|
|
1156
|
+
readonly value: string;
|
|
1157
|
+
readonly source: "vendor-stated";
|
|
1158
|
+
readonly cite: string;
|
|
1159
|
+
};
|
|
1160
|
+
readonly profile: Fact<string>;
|
|
1161
|
+
readonly coolantThrough: {
|
|
1162
|
+
readonly value: boolean;
|
|
1163
|
+
readonly source: "derived";
|
|
1164
|
+
readonly note: string;
|
|
1165
|
+
};
|
|
1166
|
+
};
|
|
1167
|
+
};
|
|
1168
|
+
readonly 'harvey_endmill_036.csv': {
|
|
1169
|
+
readonly id: "endmill-036";
|
|
1170
|
+
readonly brand: "harvey";
|
|
1171
|
+
readonly kind: "endmill";
|
|
1172
|
+
readonly familyCode: "HT-Harvey-EndMill-036";
|
|
1173
|
+
readonly rows: 32;
|
|
1174
|
+
readonly columns: {
|
|
1175
|
+
readonly DC: "CUTTER DIA.";
|
|
1176
|
+
readonly SFDM: "SHANK DIA.";
|
|
1177
|
+
readonly OAL: "OAL";
|
|
1178
|
+
readonly LCF: "LENGTH OF CUT";
|
|
1179
|
+
readonly NOF: "FLUTES";
|
|
1180
|
+
};
|
|
1181
|
+
readonly facts: {
|
|
1182
|
+
readonly unit: {
|
|
1183
|
+
readonly value: UnitSystem;
|
|
1184
|
+
readonly source: "vendor-stated";
|
|
1185
|
+
readonly cite: string;
|
|
1186
|
+
};
|
|
1187
|
+
readonly bmc: {
|
|
1188
|
+
readonly value: string;
|
|
1189
|
+
readonly source: "vendor-stated";
|
|
1190
|
+
readonly cite: string;
|
|
1191
|
+
};
|
|
1192
|
+
readonly profile: Fact<string>;
|
|
1193
|
+
readonly coolantThrough: {
|
|
1194
|
+
readonly value: boolean;
|
|
1195
|
+
readonly source: "derived";
|
|
1196
|
+
readonly note: string;
|
|
1197
|
+
};
|
|
1198
|
+
};
|
|
1199
|
+
};
|
|
1200
|
+
readonly 'harvey_endmill_037.csv': {
|
|
1201
|
+
readonly id: "endmill-037";
|
|
1202
|
+
readonly brand: "harvey";
|
|
1203
|
+
readonly kind: "endmill";
|
|
1204
|
+
readonly familyCode: "HT-Harvey-EndMill-037";
|
|
1205
|
+
readonly rows: 32;
|
|
1206
|
+
readonly columns: {
|
|
1207
|
+
readonly DC: "CUTTER DIAMETER";
|
|
1208
|
+
readonly SFDM: "SHANK DIAMETER";
|
|
1209
|
+
readonly OAL: "OVERALL LENGTH";
|
|
1210
|
+
readonly LCF: "LENGTH OF CUT";
|
|
1211
|
+
readonly 'shoulder-length': "OVERALL REACH";
|
|
1212
|
+
readonly NOF: "FLUTES";
|
|
1213
|
+
};
|
|
1214
|
+
readonly facts: {
|
|
1215
|
+
readonly unit: {
|
|
1216
|
+
readonly value: UnitSystem;
|
|
1217
|
+
readonly source: "vendor-stated";
|
|
1218
|
+
readonly cite: string;
|
|
1219
|
+
};
|
|
1220
|
+
readonly bmc: {
|
|
1221
|
+
readonly value: string;
|
|
1222
|
+
readonly source: "vendor-stated";
|
|
1223
|
+
readonly cite: string;
|
|
1224
|
+
};
|
|
1225
|
+
readonly profile: Fact<string>;
|
|
1226
|
+
readonly coolantThrough: {
|
|
1227
|
+
readonly value: boolean;
|
|
1228
|
+
readonly source: "derived";
|
|
1229
|
+
readonly note: string;
|
|
1230
|
+
};
|
|
1231
|
+
};
|
|
1232
|
+
};
|
|
1233
|
+
readonly 'harvey_endmill_038.csv': {
|
|
1234
|
+
readonly id: "endmill-038";
|
|
1235
|
+
readonly brand: "harvey";
|
|
1236
|
+
readonly kind: "endmill";
|
|
1237
|
+
readonly familyCode: "HT-Harvey-EndMill-038";
|
|
1238
|
+
readonly rows: 64;
|
|
1239
|
+
readonly columns: {
|
|
1240
|
+
readonly DC: "CUTTER DIA.";
|
|
1241
|
+
readonly SFDM: "SHANK DIA.";
|
|
1242
|
+
readonly OAL: "OAL";
|
|
1243
|
+
readonly LCF: "LENGTH OF CUT";
|
|
1244
|
+
readonly RE: "CORNER RADIUS";
|
|
1245
|
+
readonly NOF: "FLUTES";
|
|
1246
|
+
};
|
|
1247
|
+
readonly facts: {
|
|
1248
|
+
readonly unit: {
|
|
1249
|
+
readonly value: UnitSystem;
|
|
1250
|
+
readonly source: "vendor-stated";
|
|
1251
|
+
readonly cite: string;
|
|
1252
|
+
};
|
|
1253
|
+
readonly bmc: {
|
|
1254
|
+
readonly value: string;
|
|
1255
|
+
readonly source: "vendor-stated";
|
|
1256
|
+
readonly cite: string;
|
|
1257
|
+
};
|
|
1258
|
+
readonly profile: Fact<string>;
|
|
1259
|
+
readonly coolantThrough: {
|
|
1260
|
+
readonly value: boolean;
|
|
1261
|
+
readonly source: "derived";
|
|
1262
|
+
readonly note: string;
|
|
1263
|
+
};
|
|
1264
|
+
};
|
|
1265
|
+
};
|
|
1266
|
+
readonly 'harvey_endmill_039.csv': {
|
|
1267
|
+
readonly id: "endmill-039";
|
|
1268
|
+
readonly brand: "harvey";
|
|
1269
|
+
readonly kind: "endmill";
|
|
1270
|
+
readonly familyCode: "HT-Harvey-EndMill-039";
|
|
1271
|
+
readonly rows: 44;
|
|
1272
|
+
readonly columns: {
|
|
1273
|
+
readonly DC: "CUTTER DIA.";
|
|
1274
|
+
readonly SFDM: "SHANK DIA.";
|
|
1275
|
+
readonly OAL: "OAL";
|
|
1276
|
+
readonly LCF: "LENGTH OF CUT";
|
|
1277
|
+
readonly NOF: "FLUTES";
|
|
1278
|
+
};
|
|
1279
|
+
readonly facts: {
|
|
1280
|
+
readonly unit: {
|
|
1281
|
+
readonly value: UnitSystem;
|
|
1282
|
+
readonly source: "vendor-stated";
|
|
1283
|
+
readonly cite: string;
|
|
1284
|
+
};
|
|
1285
|
+
readonly bmc: {
|
|
1286
|
+
readonly value: string;
|
|
1287
|
+
readonly source: "vendor-stated";
|
|
1288
|
+
readonly cite: string;
|
|
1289
|
+
};
|
|
1290
|
+
readonly profile: Fact<string>;
|
|
1291
|
+
readonly coolantThrough: {
|
|
1292
|
+
readonly value: boolean;
|
|
1293
|
+
readonly source: "derived";
|
|
1294
|
+
readonly note: string;
|
|
1295
|
+
};
|
|
1296
|
+
};
|
|
1297
|
+
};
|
|
1298
|
+
readonly 'harvey_endmill_041.csv': {
|
|
1299
|
+
readonly id: "endmill-041";
|
|
1300
|
+
readonly brand: "harvey";
|
|
1301
|
+
readonly kind: "endmill";
|
|
1302
|
+
readonly familyCode: "HT-Harvey-EndMill-041";
|
|
1303
|
+
readonly rows: 32;
|
|
1304
|
+
readonly columns: {
|
|
1305
|
+
readonly DC: "CUTTER DIA.";
|
|
1306
|
+
readonly SFDM: "SHANK DIA.";
|
|
1307
|
+
readonly OAL: "OAL";
|
|
1308
|
+
readonly LCF: "LENGTH OF CUT";
|
|
1309
|
+
readonly 'shoulder-length': "OVERALL REACH";
|
|
1310
|
+
readonly NOF: "FLUTES";
|
|
1311
|
+
};
|
|
1312
|
+
readonly facts: {
|
|
1313
|
+
readonly unit: {
|
|
1314
|
+
readonly value: UnitSystem;
|
|
1315
|
+
readonly source: "vendor-stated";
|
|
1316
|
+
readonly cite: string;
|
|
1317
|
+
};
|
|
1318
|
+
readonly bmc: {
|
|
1319
|
+
readonly value: string;
|
|
1320
|
+
readonly source: "vendor-stated";
|
|
1321
|
+
readonly cite: string;
|
|
1322
|
+
};
|
|
1323
|
+
readonly profile: Fact<string>;
|
|
1324
|
+
readonly coolantThrough: {
|
|
1325
|
+
readonly value: boolean;
|
|
1326
|
+
readonly source: "derived";
|
|
1327
|
+
readonly note: string;
|
|
1328
|
+
};
|
|
1329
|
+
};
|
|
1330
|
+
};
|
|
1331
|
+
readonly 'harvey_endmill_042.csv': {
|
|
1332
|
+
readonly id: "endmill-042";
|
|
1333
|
+
readonly brand: "harvey";
|
|
1334
|
+
readonly kind: "endmill";
|
|
1335
|
+
readonly familyCode: "HT-Harvey-EndMill-042";
|
|
1336
|
+
readonly rows: 24;
|
|
1337
|
+
readonly columns: {
|
|
1338
|
+
readonly DC: "CUTTER DIA.";
|
|
1339
|
+
readonly SFDM: "SHANK DIA.";
|
|
1340
|
+
readonly OAL: "OAL";
|
|
1341
|
+
readonly LCF: "LENGTH OF CUT";
|
|
1342
|
+
readonly RE: "CORNER RADIUS";
|
|
1343
|
+
readonly NOF: "FLUTES";
|
|
1344
|
+
};
|
|
1345
|
+
readonly facts: {
|
|
1346
|
+
readonly unit: {
|
|
1347
|
+
readonly value: UnitSystem;
|
|
1348
|
+
readonly source: "vendor-stated";
|
|
1349
|
+
readonly cite: string;
|
|
1350
|
+
};
|
|
1351
|
+
readonly bmc: {
|
|
1352
|
+
readonly value: string;
|
|
1353
|
+
readonly source: "vendor-stated";
|
|
1354
|
+
readonly cite: string;
|
|
1355
|
+
};
|
|
1356
|
+
readonly profile: Fact<string>;
|
|
1357
|
+
readonly coolantThrough: {
|
|
1358
|
+
readonly value: boolean;
|
|
1359
|
+
readonly source: "derived";
|
|
1360
|
+
readonly note: string;
|
|
1361
|
+
};
|
|
1362
|
+
};
|
|
1363
|
+
};
|
|
1364
|
+
readonly 'harvey_keyseat_001.csv': {
|
|
1365
|
+
readonly id: "keyseat-001";
|
|
1366
|
+
readonly brand: "harvey";
|
|
1367
|
+
readonly kind: "endmill";
|
|
1368
|
+
readonly familyCode: "HT-Harvey-Keyseat-001";
|
|
1369
|
+
readonly rows: 345;
|
|
1370
|
+
readonly columns: {
|
|
1371
|
+
readonly DC: "CUTTER DIA.";
|
|
1372
|
+
readonly SFDM: "SHANK DIA.";
|
|
1373
|
+
readonly OAL: "OAL";
|
|
1374
|
+
readonly LCF: "CUTTER WIDTH";
|
|
1375
|
+
readonly RE: "CORNER RADIUS";
|
|
1376
|
+
readonly 'shoulder-length': "NECK LENGTH";
|
|
1377
|
+
readonly 'shoulder-diameter': "NECK DIA.";
|
|
1378
|
+
readonly NOF: "FLUTES";
|
|
1379
|
+
};
|
|
1380
|
+
readonly facts: {
|
|
1381
|
+
readonly unit: {
|
|
1382
|
+
readonly value: UnitSystem;
|
|
1383
|
+
readonly source: "vendor-stated";
|
|
1384
|
+
readonly cite: string;
|
|
1385
|
+
};
|
|
1386
|
+
readonly bmc: {
|
|
1387
|
+
readonly value: string;
|
|
1388
|
+
readonly source: "vendor-stated";
|
|
1389
|
+
readonly cite: string;
|
|
1390
|
+
};
|
|
1391
|
+
readonly profile: Fact<string>;
|
|
1392
|
+
readonly coolantThrough: {
|
|
1393
|
+
readonly value: boolean;
|
|
1394
|
+
readonly source: "derived";
|
|
1395
|
+
readonly note: string;
|
|
1396
|
+
};
|
|
1397
|
+
};
|
|
1398
|
+
};
|
|
1399
|
+
readonly 'harvey_keyseat_002.csv': {
|
|
1400
|
+
readonly id: "keyseat-002";
|
|
1401
|
+
readonly brand: "harvey";
|
|
1402
|
+
readonly kind: "endmill";
|
|
1403
|
+
readonly familyCode: "HT-Harvey-Keyseat-002";
|
|
1404
|
+
readonly rows: 114;
|
|
1405
|
+
readonly columns: {
|
|
1406
|
+
readonly DC: "CUTTER DIA.";
|
|
1407
|
+
readonly SFDM: "SHANK DIA.";
|
|
1408
|
+
readonly OAL: "OAL";
|
|
1409
|
+
readonly LCF: "CUTTER WIDTH";
|
|
1410
|
+
readonly RE: "CORNER RADIUS";
|
|
1411
|
+
readonly NOF: "FLUTES";
|
|
1412
|
+
};
|
|
1413
|
+
readonly facts: {
|
|
1414
|
+
readonly unit: {
|
|
1415
|
+
readonly value: UnitSystem;
|
|
1416
|
+
readonly source: "vendor-stated";
|
|
1417
|
+
readonly cite: string;
|
|
1418
|
+
};
|
|
1419
|
+
readonly bmc: {
|
|
1420
|
+
readonly value: string;
|
|
1421
|
+
readonly source: "vendor-stated";
|
|
1422
|
+
readonly cite: string;
|
|
1423
|
+
};
|
|
1424
|
+
readonly profile: Fact<string>;
|
|
1425
|
+
readonly coolantThrough: {
|
|
1426
|
+
readonly value: boolean;
|
|
1427
|
+
readonly source: "derived";
|
|
1428
|
+
readonly note: string;
|
|
1429
|
+
};
|
|
1430
|
+
};
|
|
1431
|
+
};
|
|
1432
|
+
readonly 'harvey_keyseat_003.csv': {
|
|
1433
|
+
readonly id: "keyseat-003";
|
|
1434
|
+
readonly brand: "harvey";
|
|
1435
|
+
readonly kind: "endmill";
|
|
1436
|
+
readonly familyCode: "HT-Harvey-Keyseat-003";
|
|
1437
|
+
readonly rows: 174;
|
|
1438
|
+
readonly columns: {
|
|
1439
|
+
readonly DC: "CUTTER DIA.";
|
|
1440
|
+
readonly SFDM: "SHANK DIA.";
|
|
1441
|
+
readonly OAL: "OAL";
|
|
1442
|
+
readonly LCF: "CUTTER WIDTH";
|
|
1443
|
+
readonly RE: "RADIUS";
|
|
1444
|
+
readonly 'shoulder-length': "NECK LENGTH";
|
|
1445
|
+
readonly 'shoulder-diameter': "NECK DIA.";
|
|
1446
|
+
readonly NOF: "FLUTES";
|
|
1447
|
+
};
|
|
1448
|
+
readonly facts: {
|
|
1449
|
+
readonly unit: {
|
|
1450
|
+
readonly value: UnitSystem;
|
|
1451
|
+
readonly source: "vendor-stated";
|
|
1452
|
+
readonly cite: string;
|
|
1453
|
+
};
|
|
1454
|
+
readonly bmc: {
|
|
1455
|
+
readonly value: string;
|
|
1456
|
+
readonly source: "vendor-stated";
|
|
1457
|
+
readonly cite: string;
|
|
1458
|
+
};
|
|
1459
|
+
readonly profile: Fact<string>;
|
|
1460
|
+
readonly coolantThrough: {
|
|
1461
|
+
readonly value: boolean;
|
|
1462
|
+
readonly source: "derived";
|
|
1463
|
+
readonly note: string;
|
|
1464
|
+
};
|
|
1465
|
+
};
|
|
1466
|
+
};
|
|
1467
|
+
readonly 'harvey_keyseat_004.csv': {
|
|
1468
|
+
readonly id: "keyseat-004";
|
|
1469
|
+
readonly brand: "harvey";
|
|
1470
|
+
readonly kind: "endmill";
|
|
1471
|
+
readonly familyCode: "HT-Harvey-Keyseat-004";
|
|
1472
|
+
readonly rows: 74;
|
|
1473
|
+
readonly columns: {
|
|
1474
|
+
readonly DC: "CUTTER DIA.";
|
|
1475
|
+
readonly SFDM: "SHANK DIA.";
|
|
1476
|
+
readonly OAL: "OAL";
|
|
1477
|
+
readonly LCF: "CUTTER WIDTH";
|
|
1478
|
+
readonly RE: "RADIUS";
|
|
1479
|
+
readonly NOF: "FLUTES";
|
|
1480
|
+
};
|
|
1481
|
+
readonly facts: {
|
|
1482
|
+
readonly unit: {
|
|
1483
|
+
readonly value: UnitSystem;
|
|
1484
|
+
readonly source: "vendor-stated";
|
|
1485
|
+
readonly cite: string;
|
|
1486
|
+
};
|
|
1487
|
+
readonly bmc: {
|
|
1488
|
+
readonly value: string;
|
|
1489
|
+
readonly source: "vendor-stated";
|
|
1490
|
+
readonly cite: string;
|
|
1491
|
+
};
|
|
1492
|
+
readonly profile: Fact<string>;
|
|
1493
|
+
readonly coolantThrough: {
|
|
1494
|
+
readonly value: boolean;
|
|
1495
|
+
readonly source: "derived";
|
|
1496
|
+
readonly note: string;
|
|
1497
|
+
};
|
|
1498
|
+
};
|
|
1499
|
+
};
|
|
1500
|
+
readonly 'harvey_keyseat_005.csv': {
|
|
1501
|
+
readonly id: "keyseat-005";
|
|
1502
|
+
readonly brand: "harvey";
|
|
1503
|
+
readonly kind: "endmill";
|
|
1504
|
+
readonly familyCode: "HT-Harvey-Keyseat-005";
|
|
1505
|
+
readonly rows: 26;
|
|
1506
|
+
readonly columns: {
|
|
1507
|
+
readonly DC: "CUTTER DIA.";
|
|
1508
|
+
readonly SFDM: "SHANK DIA.";
|
|
1509
|
+
readonly OAL: "OAL";
|
|
1510
|
+
readonly LCF: "CUTTER WIDTH";
|
|
1511
|
+
readonly 'shoulder-length': "NECK LENGTH";
|
|
1512
|
+
readonly 'shoulder-diameter': "NECK DIA.";
|
|
1513
|
+
readonly NOF: "FLUTES";
|
|
1514
|
+
};
|
|
1515
|
+
readonly facts: {
|
|
1516
|
+
readonly unit: {
|
|
1517
|
+
readonly value: UnitSystem;
|
|
1518
|
+
readonly source: "vendor-stated";
|
|
1519
|
+
readonly cite: string;
|
|
1520
|
+
};
|
|
1521
|
+
readonly bmc: {
|
|
1522
|
+
readonly value: string;
|
|
1523
|
+
readonly source: "vendor-stated";
|
|
1524
|
+
readonly cite: string;
|
|
1525
|
+
};
|
|
1526
|
+
readonly profile: {
|
|
1527
|
+
readonly value: "Square";
|
|
1528
|
+
readonly source: "assumed";
|
|
1529
|
+
readonly note: string;
|
|
1530
|
+
readonly checked: "2026-08-29";
|
|
1531
|
+
readonly by: "JG";
|
|
1532
|
+
};
|
|
1533
|
+
readonly coolantThrough: {
|
|
1534
|
+
readonly value: boolean;
|
|
1535
|
+
readonly source: "derived";
|
|
1536
|
+
readonly note: string;
|
|
1537
|
+
};
|
|
1538
|
+
};
|
|
1539
|
+
};
|
|
1540
|
+
readonly 'harvey_keyseat_006.csv': {
|
|
1541
|
+
readonly id: "keyseat-006";
|
|
1542
|
+
readonly brand: "harvey";
|
|
1543
|
+
readonly kind: "endmill";
|
|
1544
|
+
readonly familyCode: "HT-Harvey-Keyseat-006";
|
|
1545
|
+
readonly rows: 926;
|
|
1546
|
+
readonly columns: {
|
|
1547
|
+
readonly DC: "CUTTER DIA.";
|
|
1548
|
+
readonly SFDM: "SHANK DIA.";
|
|
1549
|
+
readonly OAL: "OAL";
|
|
1550
|
+
readonly LCF: "CUTTER WIDTH";
|
|
1551
|
+
readonly 'shoulder-length': "NECK LENGTH";
|
|
1552
|
+
readonly 'shoulder-diameter': "NECK DIA.";
|
|
1553
|
+
readonly NOF: "FLUTES";
|
|
1554
|
+
};
|
|
1555
|
+
readonly facts: {
|
|
1556
|
+
readonly unit: {
|
|
1557
|
+
readonly value: UnitSystem;
|
|
1558
|
+
readonly source: "vendor-stated";
|
|
1559
|
+
readonly cite: string;
|
|
1560
|
+
};
|
|
1561
|
+
readonly bmc: {
|
|
1562
|
+
readonly value: string;
|
|
1563
|
+
readonly source: "vendor-stated";
|
|
1564
|
+
readonly cite: string;
|
|
1565
|
+
};
|
|
1566
|
+
readonly profile: Fact<string>;
|
|
1567
|
+
readonly coolantThrough: {
|
|
1568
|
+
readonly value: boolean;
|
|
1569
|
+
readonly source: "derived";
|
|
1570
|
+
readonly note: string;
|
|
1571
|
+
};
|
|
1572
|
+
};
|
|
1573
|
+
};
|
|
1574
|
+
readonly 'harvey_keyseat_007.csv': {
|
|
1575
|
+
readonly id: "keyseat-007";
|
|
1576
|
+
readonly brand: "harvey";
|
|
1577
|
+
readonly kind: "endmill";
|
|
1578
|
+
readonly familyCode: "HT-Harvey-Keyseat-007";
|
|
1579
|
+
readonly rows: 49;
|
|
1580
|
+
readonly columns: {
|
|
1581
|
+
readonly DC: "CUTTER DIA.";
|
|
1582
|
+
readonly SFDM: "SHANK DIA.";
|
|
1583
|
+
readonly OAL: "OAL";
|
|
1584
|
+
readonly LCF: "CUTTER WIDTH";
|
|
1585
|
+
readonly 'shoulder-length': "NECK LENGTH";
|
|
1586
|
+
readonly 'shoulder-diameter': "NECK DIA.";
|
|
1587
|
+
readonly NOF: "FLUTES";
|
|
1588
|
+
};
|
|
1589
|
+
readonly facts: {
|
|
1590
|
+
readonly unit: {
|
|
1591
|
+
readonly value: UnitSystem;
|
|
1592
|
+
readonly source: "vendor-stated";
|
|
1593
|
+
readonly cite: string;
|
|
1594
|
+
};
|
|
1595
|
+
readonly bmc: {
|
|
1596
|
+
readonly value: string;
|
|
1597
|
+
readonly source: "vendor-stated";
|
|
1598
|
+
readonly cite: string;
|
|
1599
|
+
};
|
|
1600
|
+
readonly profile: Fact<string>;
|
|
1601
|
+
readonly coolantThrough: {
|
|
1602
|
+
readonly value: boolean;
|
|
1603
|
+
readonly source: "derived";
|
|
1604
|
+
readonly note: string;
|
|
1605
|
+
};
|
|
1606
|
+
};
|
|
1607
|
+
};
|
|
1608
|
+
readonly 'harvey_keyseat_008.csv': {
|
|
1609
|
+
readonly id: "keyseat-008";
|
|
1610
|
+
readonly brand: "harvey";
|
|
1611
|
+
readonly kind: "endmill";
|
|
1612
|
+
readonly familyCode: "HT-Harvey-Keyseat-008";
|
|
1613
|
+
readonly rows: 108;
|
|
1614
|
+
readonly columns: {
|
|
1615
|
+
readonly DC: "CUTTER DIA.";
|
|
1616
|
+
readonly SFDM: "SHANK DIA.";
|
|
1617
|
+
readonly OAL: "OAL";
|
|
1618
|
+
readonly LCF: "CUTTER WIDTH";
|
|
1619
|
+
readonly 'shoulder-length': "NECK LENGTH";
|
|
1620
|
+
readonly 'shoulder-diameter': "NECK DIA.";
|
|
1621
|
+
readonly NOF: "FLUTES";
|
|
1622
|
+
};
|
|
1623
|
+
readonly facts: {
|
|
1624
|
+
readonly unit: {
|
|
1625
|
+
readonly value: UnitSystem;
|
|
1626
|
+
readonly source: "vendor-stated";
|
|
1627
|
+
readonly cite: string;
|
|
1628
|
+
};
|
|
1629
|
+
readonly bmc: {
|
|
1630
|
+
readonly value: string;
|
|
1631
|
+
readonly source: "vendor-stated";
|
|
1632
|
+
readonly cite: string;
|
|
1633
|
+
};
|
|
1634
|
+
readonly profile: Fact<string>;
|
|
1635
|
+
readonly coolantThrough: {
|
|
1636
|
+
readonly value: boolean;
|
|
1637
|
+
readonly source: "derived";
|
|
1638
|
+
readonly note: string;
|
|
1639
|
+
};
|
|
1640
|
+
};
|
|
1641
|
+
};
|
|
1642
|
+
readonly 'harvey_keyseat_009.csv': {
|
|
1643
|
+
readonly id: "keyseat-009";
|
|
1644
|
+
readonly brand: "harvey";
|
|
1645
|
+
readonly kind: "endmill";
|
|
1646
|
+
readonly familyCode: "HT-Harvey-Keyseat-009";
|
|
1647
|
+
readonly rows: 220;
|
|
1648
|
+
readonly columns: {
|
|
1649
|
+
readonly DC: "CUTTER DIA.";
|
|
1650
|
+
readonly SFDM: "SHANK DIA.";
|
|
1651
|
+
readonly OAL: "OAL";
|
|
1652
|
+
readonly LCF: "CUTTER WIDTH";
|
|
1653
|
+
readonly NOF: "FLUTES";
|
|
1654
|
+
};
|
|
1655
|
+
readonly facts: {
|
|
1656
|
+
readonly unit: {
|
|
1657
|
+
readonly value: UnitSystem;
|
|
1658
|
+
readonly source: "vendor-stated";
|
|
1659
|
+
readonly cite: string;
|
|
1660
|
+
};
|
|
1661
|
+
readonly bmc: {
|
|
1662
|
+
readonly value: string;
|
|
1663
|
+
readonly source: "vendor-stated";
|
|
1664
|
+
readonly cite: string;
|
|
1665
|
+
};
|
|
1666
|
+
readonly profile: Fact<string>;
|
|
1667
|
+
readonly coolantThrough: {
|
|
1668
|
+
readonly value: boolean;
|
|
1669
|
+
readonly source: "derived";
|
|
1670
|
+
readonly note: string;
|
|
1671
|
+
};
|
|
1672
|
+
};
|
|
1673
|
+
};
|
|
1674
|
+
readonly 'harvey_keyseat_010.csv': {
|
|
1675
|
+
readonly id: "keyseat-010";
|
|
1676
|
+
readonly brand: "harvey";
|
|
1677
|
+
readonly kind: "endmill";
|
|
1678
|
+
readonly familyCode: "HT-Harvey-Keyseat-010";
|
|
1679
|
+
readonly rows: 101;
|
|
1680
|
+
readonly columns: {
|
|
1681
|
+
readonly DC: "CUTTER DIA.";
|
|
1682
|
+
readonly SFDM: "SHANK DIA.";
|
|
1683
|
+
readonly OAL: "OAL";
|
|
1684
|
+
readonly LCF: "CUTTER WIDTH";
|
|
1685
|
+
readonly RE: "CORNER RADIUS";
|
|
1686
|
+
readonly 'shoulder-length': "NECK LENGTH";
|
|
1687
|
+
readonly 'shoulder-diameter': "NECK DIA.";
|
|
1688
|
+
readonly NOF: "FLUTES";
|
|
1689
|
+
};
|
|
1690
|
+
readonly facts: {
|
|
1691
|
+
readonly unit: {
|
|
1692
|
+
readonly value: UnitSystem;
|
|
1693
|
+
readonly source: "vendor-stated";
|
|
1694
|
+
readonly cite: string;
|
|
1695
|
+
};
|
|
1696
|
+
readonly bmc: {
|
|
1697
|
+
readonly value: string;
|
|
1698
|
+
readonly source: "vendor-stated";
|
|
1699
|
+
readonly cite: string;
|
|
1700
|
+
};
|
|
1701
|
+
readonly profile: Fact<string>;
|
|
1702
|
+
readonly coolantThrough: {
|
|
1703
|
+
readonly value: boolean;
|
|
1704
|
+
readonly source: "derived";
|
|
1705
|
+
readonly note: string;
|
|
1706
|
+
};
|
|
1707
|
+
};
|
|
1708
|
+
};
|
|
1709
|
+
readonly 'harvey_keyseat_011.csv': {
|
|
1710
|
+
readonly id: "keyseat-011";
|
|
1711
|
+
readonly brand: "harvey";
|
|
1712
|
+
readonly kind: "endmill";
|
|
1713
|
+
readonly familyCode: "HT-Harvey-Keyseat-011";
|
|
1714
|
+
readonly rows: 88;
|
|
1715
|
+
readonly columns: {
|
|
1716
|
+
readonly DC: "CUTTER DIA.";
|
|
1717
|
+
readonly SFDM: "SHANK DIA.";
|
|
1718
|
+
readonly OAL: "OAL";
|
|
1719
|
+
readonly LCF: "CUTTER WIDTH";
|
|
1720
|
+
readonly 'shoulder-length': "NECK LENGTH";
|
|
1721
|
+
readonly 'shoulder-diameter': "NECK DIA.";
|
|
1722
|
+
readonly NOF: "FLUTES";
|
|
1723
|
+
};
|
|
1724
|
+
readonly facts: {
|
|
1725
|
+
readonly unit: {
|
|
1726
|
+
readonly value: UnitSystem;
|
|
1727
|
+
readonly source: "vendor-stated";
|
|
1728
|
+
readonly cite: string;
|
|
1729
|
+
};
|
|
1730
|
+
readonly bmc: {
|
|
1731
|
+
readonly value: string;
|
|
1732
|
+
readonly source: "vendor-stated";
|
|
1733
|
+
readonly cite: string;
|
|
1734
|
+
};
|
|
1735
|
+
readonly profile: Fact<string>;
|
|
1736
|
+
readonly coolantThrough: {
|
|
1737
|
+
readonly value: boolean;
|
|
1738
|
+
readonly source: "derived";
|
|
1739
|
+
readonly note: string;
|
|
1740
|
+
};
|
|
1741
|
+
};
|
|
1742
|
+
};
|
|
1743
|
+
readonly 'harvey_keyseat_012.csv': {
|
|
1744
|
+
readonly id: "keyseat-012";
|
|
1745
|
+
readonly brand: "harvey";
|
|
1746
|
+
readonly kind: "endmill";
|
|
1747
|
+
readonly familyCode: "HT-Harvey-Keyseat-012";
|
|
1748
|
+
readonly rows: 36;
|
|
1749
|
+
readonly columns: {
|
|
1750
|
+
readonly DC: "CUTTER DIA.";
|
|
1751
|
+
readonly SFDM: "SHANK DIA.";
|
|
1752
|
+
readonly OAL: "OAL";
|
|
1753
|
+
readonly LCF: "CUTTER WIDTH";
|
|
1754
|
+
readonly NOF: "FLUTES";
|
|
1755
|
+
};
|
|
1756
|
+
readonly facts: {
|
|
1757
|
+
readonly unit: {
|
|
1758
|
+
readonly value: UnitSystem;
|
|
1759
|
+
readonly source: "vendor-stated";
|
|
1760
|
+
readonly cite: string;
|
|
1761
|
+
};
|
|
1762
|
+
readonly bmc: {
|
|
1763
|
+
readonly value: string;
|
|
1764
|
+
readonly source: "vendor-stated";
|
|
1765
|
+
readonly cite: string;
|
|
1766
|
+
};
|
|
1767
|
+
readonly profile: Fact<string>;
|
|
1768
|
+
readonly coolantThrough: {
|
|
1769
|
+
readonly value: boolean;
|
|
1770
|
+
readonly source: "derived";
|
|
1771
|
+
readonly note: string;
|
|
1772
|
+
};
|
|
1773
|
+
};
|
|
1774
|
+
};
|
|
1775
|
+
};
|
|
1776
|
+
/**
|
|
1777
|
+
* The product page each family is scraped from, keyed by its CSV name.
|
|
1778
|
+
*
|
|
1779
|
+
* Paths rather than URLs: `vendors/harvey/scrape.ts` owns the host, so a family
|
|
1780
|
+
* config cannot put a scrape on a different one.
|
|
1781
|
+
*/
|
|
1782
|
+
export declare const PRODUCT_PAGES: Readonly<Record<string, string>>;
|