mcp-3d-printer-server 1.2.25 → 1.2.26
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/CHANGELOG.md +55 -0
- package/CONTRIBUTORS.md +5 -1
- package/README.md +64 -29
- package/dist/ams-mapping.d.ts +38 -0
- package/dist/ams-mapping.js +125 -0
- package/dist/bambu-network-bridge.d.ts +200 -0
- package/dist/bambu-network-bridge.js +881 -0
- package/dist/bambu-network-certs.d.ts +13 -0
- package/dist/bambu-network-certs.js +152 -0
- package/dist/control-reply.d.ts +21 -0
- package/dist/control-reply.js +44 -0
- package/dist/counterpart/camera-sources.d.ts +16 -0
- package/dist/counterpart/camera-sources.js +138 -0
- package/dist/counterpart/camera-stream.d.ts +66 -0
- package/dist/counterpart/camera-stream.js +246 -0
- package/dist/counterpart/camera-tools.d.ts +247 -0
- package/dist/counterpart/camera-tools.js +35 -0
- package/dist/counterpart/contract.d.ts +21 -5
- package/dist/counterpart/contract.js +8 -2
- package/dist/counterpart/route.d.ts +31 -0
- package/dist/counterpart/route.js +70 -0
- package/dist/counterpart/service.d.ts +60 -4
- package/dist/counterpart/service.js +142 -16
- package/dist/design-guidance.d.ts +26 -0
- package/dist/design-guidance.js +177 -0
- package/dist/fulu-orca.d.ts +7 -0
- package/dist/fulu-orca.js +18 -2
- package/dist/index.js +512 -62
- package/dist/printers/bambu-filaments.d.ts +68 -0
- package/dist/printers/bambu-filaments.js +262 -0
- package/dist/printers/bambu.d.ts +99 -6
- package/dist/printers/bambu.js +478 -72
- package/dist/printers/creality.d.ts +2 -1
- package/dist/printers/creality.js +5 -1
- package/dist/printers/generic-base.d.ts +11 -6
- package/dist/printers/generic-base.js +21 -25
- package/dist/printers/klipper.d.ts +2 -1
- package/dist/printers/klipper.js +10 -7
- package/dist/printers/octoprint.d.ts +2 -1
- package/dist/printers/octoprint.js +15 -8
- package/dist/printers/printer-factory.d.ts +1 -1
- package/dist/printers/printer-factory.js +3 -3
- package/dist/printers/prusa.js +0 -1
- package/dist/safety/confirmation.d.ts +11 -16
- package/dist/safety/confirmation.js +8 -32
- package/dist/safety/hidden-hms.d.ts +32 -0
- package/dist/safety/hidden-hms.js +405 -0
- package/dist/safety/limits.d.ts +8 -2
- package/dist/safety/limits.js +14 -5
- package/dist/safety/print-file.d.ts +5 -0
- package/dist/safety/print-file.js +156 -19
- package/dist/safety/printer-state.d.ts +59 -8
- package/dist/safety/printer-state.js +174 -39
- package/dist/slicer/bambu-cli.d.ts +2 -0
- package/dist/slicer/bambu-cli.js +7 -5
- package/dist/slicer/layer-pauses.d.ts +47 -0
- package/dist/slicer/layer-pauses.js +130 -0
- package/dist/stl/stl-manipulator.d.ts +1 -0
- package/dist/stl/stl-manipulator.js +40 -0
- package/dist/studio-print-options.d.ts +57 -0
- package/dist/studio-print-options.js +179 -0
- package/package.json +25 -4
- package/server.json +2 -2
- package/src/ams-mapping.ts +132 -0
- package/src/bambu-network-bridge.ts +1075 -0
- package/src/bambu-network-certs.ts +154 -0
- package/src/control-reply.ts +41 -0
- package/src/counterpart/camera-sources.ts +102 -0
- package/src/counterpart/camera-stream.ts +195 -0
- package/src/counterpart/camera-tools.ts +35 -0
- package/src/counterpart/contract.ts +12 -4
- package/src/counterpart/route.ts +82 -0
- package/src/counterpart/service.ts +150 -16
- package/src/design-guidance.ts +188 -0
- package/src/fulu-orca.ts +18 -2
- package/src/index.ts +526 -75
- package/src/printers/bambu-filaments.ts +346 -0
- package/src/printers/bambu.ts +506 -81
- package/src/printers/creality.ts +8 -3
- package/src/printers/generic-base.ts +33 -40
- package/src/printers/klipper.ts +12 -8
- package/src/printers/octoprint.ts +16 -9
- package/src/printers/printer-factory.ts +3 -3
- package/src/printers/prusa.ts +0 -1
- package/src/safety/confirmation.ts +15 -38
- package/src/safety/hidden-hms.ts +406 -0
- package/src/safety/limits.ts +15 -5
- package/src/safety/print-file.ts +139 -17
- package/src/safety/printer-state.ts +179 -40
- package/src/slicer/bambu-cli.ts +8 -5
- package/src/slicer/layer-pauses.ts +143 -0
- package/src/stl/stl-manipulator.ts +45 -0
- package/src/studio-print-options.ts +201 -0
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
// GENERATED by scripts/generate-hidden-hms.mjs from Bambu Studio v02.08.02.61
|
|
2
|
+
// (commit 926a7192574bcb9b3a732e1ec59a46d79cb45466, resources/hms/hms_en_<serial prefix>.json).
|
|
3
|
+
// Codes Bambu lists for a serial prefix with empty text in every entry. Do not edit by hand.
|
|
4
|
+
export const HIDDEN_HMS_SOURCE = {
|
|
5
|
+
studioTag: "v02.08.02.61",
|
|
6
|
+
studioCommit: "926a7192574bcb9b3a732e1ec59a46d79cb45466",
|
|
7
|
+
/** Per table: Bambu's device_hms version and the SHA-256 of the English file used. */
|
|
8
|
+
tables: {
|
|
9
|
+
"093": { version: 202508191204, sha256: "7801fd6c355854b62ecb62ee32727b4e5dcca908841dbcfd5e5de45b3dfd1c25" },
|
|
10
|
+
"094": { version: 202503231214, sha256: "047c15e2140738ec08258b74536e6cb996cddf0c586c5c39e2318e54125a9e76" },
|
|
11
|
+
"20P": { version: 202511162200, sha256: "e4f067d027b9bcbb9bbf6cb90f41f11130cf4d83dffd3dee101db7826dc808c3" },
|
|
12
|
+
"22E": { version: 202510142200, sha256: "87426021aea2bd4e8d721e46e1c86808fd7c6fc06f52baf6d952ead9e8d14d1e" },
|
|
13
|
+
"239": { version: 202506171403, sha256: "c1d23d5302756d57df5cb9bc795d95fc54ef1db7565dca1f04b69a024886426a" },
|
|
14
|
+
"31B": { version: 202511162200, sha256: "dcf63657bff5451f0715ea3c032efe482279bc8cbc28cb9b8ae51c7354826574" },
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
export const HIDDEN_HMS = {
|
|
18
|
+
"093": [
|
|
19
|
+
"0300180000000000",
|
|
20
|
+
"050001000001000A",
|
|
21
|
+
"0500010000020003",
|
|
22
|
+
"0500010000020008",
|
|
23
|
+
"0500010000020009",
|
|
24
|
+
"0500010000030009",
|
|
25
|
+
"0500030000010053",
|
|
26
|
+
"0500030000020010",
|
|
27
|
+
"0500030000020011",
|
|
28
|
+
"0500030000020012",
|
|
29
|
+
"0500030000020013",
|
|
30
|
+
"0500030000020014",
|
|
31
|
+
"0500030000020015",
|
|
32
|
+
"0500030000020016",
|
|
33
|
+
"0500030000020017",
|
|
34
|
+
"0500030000020018",
|
|
35
|
+
"0500030000030007",
|
|
36
|
+
"0500040000020020",
|
|
37
|
+
"0500050000010008",
|
|
38
|
+
"0500050000010009",
|
|
39
|
+
"050005000001000A",
|
|
40
|
+
"050005000001000B",
|
|
41
|
+
"050005000001000C",
|
|
42
|
+
"0500050000020030",
|
|
43
|
+
"0500060000020005",
|
|
44
|
+
"0500060000020007",
|
|
45
|
+
"0500060000020008",
|
|
46
|
+
"0500060000020011",
|
|
47
|
+
"0500060000020012",
|
|
48
|
+
"0500060000020013",
|
|
49
|
+
"0500060000020014",
|
|
50
|
+
"0500060000020021",
|
|
51
|
+
"0500060000020022",
|
|
52
|
+
"0500060000020023",
|
|
53
|
+
"0500060000020024",
|
|
54
|
+
"0500060000020041",
|
|
55
|
+
"0500060000020043",
|
|
56
|
+
"0500060000020044",
|
|
57
|
+
"0500060000020051",
|
|
58
|
+
"0500060000020053",
|
|
59
|
+
"0500060000020054",
|
|
60
|
+
"0500060000020061",
|
|
61
|
+
"0500060000020062",
|
|
62
|
+
"05000600000200A0",
|
|
63
|
+
"05000600000200A1",
|
|
64
|
+
"0C00010000010018",
|
|
65
|
+
"0C0001000002000E",
|
|
66
|
+
"0C00010000020015",
|
|
67
|
+
"0C00010000020016",
|
|
68
|
+
"0C00010000020019",
|
|
69
|
+
"0C0001000002001A",
|
|
70
|
+
"0C0001000002001B",
|
|
71
|
+
"0C00040000020006",
|
|
72
|
+
],
|
|
73
|
+
"094": [
|
|
74
|
+
"0300180000000000",
|
|
75
|
+
"0300260000000000",
|
|
76
|
+
"050001000001000A",
|
|
77
|
+
"0500010000020003",
|
|
78
|
+
"0500010000020008",
|
|
79
|
+
"0500010000020009",
|
|
80
|
+
"0500010000030009",
|
|
81
|
+
"0500030000020010",
|
|
82
|
+
"0500030000020011",
|
|
83
|
+
"0500030000020012",
|
|
84
|
+
"0500030000020013",
|
|
85
|
+
"0500030000020014",
|
|
86
|
+
"0500030000020015",
|
|
87
|
+
"0500030000020016",
|
|
88
|
+
"0500030000020017",
|
|
89
|
+
"0500030000020018",
|
|
90
|
+
"0500030000030007",
|
|
91
|
+
"0500040000020020",
|
|
92
|
+
"0500050000010008",
|
|
93
|
+
"0500050000010009",
|
|
94
|
+
"050005000001000A",
|
|
95
|
+
"050005000001000B",
|
|
96
|
+
"050005000001000C",
|
|
97
|
+
"0500060000020001",
|
|
98
|
+
"0500060000020002",
|
|
99
|
+
"0500060000020003",
|
|
100
|
+
"0500060000020005",
|
|
101
|
+
"0500060000020006",
|
|
102
|
+
"0500060000020007",
|
|
103
|
+
"0500060000020008",
|
|
104
|
+
"0500060000020011",
|
|
105
|
+
"0500060000020012",
|
|
106
|
+
"0500060000020013",
|
|
107
|
+
"0500060000020014",
|
|
108
|
+
"0500060000020021",
|
|
109
|
+
"0500060000020022",
|
|
110
|
+
"0500060000020023",
|
|
111
|
+
"0500060000020024",
|
|
112
|
+
"0500060000020041",
|
|
113
|
+
"0500060000020042",
|
|
114
|
+
"0500060000020043",
|
|
115
|
+
"0500060000020044",
|
|
116
|
+
"0500060000020051",
|
|
117
|
+
"0500060000020052",
|
|
118
|
+
"0500060000020053",
|
|
119
|
+
"0500060000020054",
|
|
120
|
+
"0500060000020061",
|
|
121
|
+
"0500060000020062",
|
|
122
|
+
"05000600000200A0",
|
|
123
|
+
"05000600000200A1",
|
|
124
|
+
"0C00010000020015",
|
|
125
|
+
"0C00010000020016",
|
|
126
|
+
"0C00010000020019",
|
|
127
|
+
"0C0001000002001A",
|
|
128
|
+
"0C0001000002001B",
|
|
129
|
+
"0C00040000020006",
|
|
130
|
+
],
|
|
131
|
+
"20P": [
|
|
132
|
+
"0300180000000000",
|
|
133
|
+
"0300260000000000",
|
|
134
|
+
"050001000001000A",
|
|
135
|
+
"0500010000020003",
|
|
136
|
+
"0500010000020008",
|
|
137
|
+
"0500010000020009",
|
|
138
|
+
"050001000002000B",
|
|
139
|
+
"050001000002000F",
|
|
140
|
+
"0500010000020010",
|
|
141
|
+
"0500010000020011",
|
|
142
|
+
"0500010000030009",
|
|
143
|
+
"0500020000030009",
|
|
144
|
+
"050002000003000A",
|
|
145
|
+
"050002000003000B",
|
|
146
|
+
"050002000003000C",
|
|
147
|
+
"0500030000010053",
|
|
148
|
+
"0500030000020010",
|
|
149
|
+
"0500030000020011",
|
|
150
|
+
"0500030000020012",
|
|
151
|
+
"0500030000020013",
|
|
152
|
+
"0500030000020014",
|
|
153
|
+
"0500030000020015",
|
|
154
|
+
"0500030000020016",
|
|
155
|
+
"0500030000020017",
|
|
156
|
+
"0500030000020018",
|
|
157
|
+
"0500030000020019",
|
|
158
|
+
"0500030000020050",
|
|
159
|
+
"0500030000020051",
|
|
160
|
+
"0500030000020052",
|
|
161
|
+
"0500030000020053",
|
|
162
|
+
"0500030000020054",
|
|
163
|
+
"0500030000030007",
|
|
164
|
+
"0500040000010056",
|
|
165
|
+
"0500040000010060",
|
|
166
|
+
"0500040000010061",
|
|
167
|
+
"0500040000020020",
|
|
168
|
+
"0500050000010008",
|
|
169
|
+
"0500050000010009",
|
|
170
|
+
"050005000001000A",
|
|
171
|
+
"050005000001000B",
|
|
172
|
+
"050005000001000C",
|
|
173
|
+
"0500050000020023",
|
|
174
|
+
"0500050000020030",
|
|
175
|
+
"0500060000020005",
|
|
176
|
+
"0500060000020006",
|
|
177
|
+
"0500060000020007",
|
|
178
|
+
"0500060000020008",
|
|
179
|
+
"0500060000020009",
|
|
180
|
+
"0500060000020011",
|
|
181
|
+
"0500060000020012",
|
|
182
|
+
"0500060000020013",
|
|
183
|
+
"0500060000020014",
|
|
184
|
+
"0500060000020015",
|
|
185
|
+
"0500060000020021",
|
|
186
|
+
"0500060000020022",
|
|
187
|
+
"0500060000020023",
|
|
188
|
+
"0500060000020024",
|
|
189
|
+
"0500060000020025",
|
|
190
|
+
"0500060000020035",
|
|
191
|
+
"0500060000020041",
|
|
192
|
+
"0500060000020042",
|
|
193
|
+
"0500060000020044",
|
|
194
|
+
"0500060000020045",
|
|
195
|
+
"0500060000020051",
|
|
196
|
+
"0500060000020052",
|
|
197
|
+
"0500060000020054",
|
|
198
|
+
"0500060000020061",
|
|
199
|
+
"0500060000020062",
|
|
200
|
+
"0500060000020070",
|
|
201
|
+
"0500060000020071",
|
|
202
|
+
"05000600000200A0",
|
|
203
|
+
"05000600000200A1",
|
|
204
|
+
"0500070000020001",
|
|
205
|
+
"0500070000020002",
|
|
206
|
+
"0500070000020003",
|
|
207
|
+
"0500070000020101",
|
|
208
|
+
"0500070000020201",
|
|
209
|
+
"0503000000030027",
|
|
210
|
+
"0503000000030028",
|
|
211
|
+
"0503000000030029",
|
|
212
|
+
"0C00010000010018",
|
|
213
|
+
"0C0001000002000E",
|
|
214
|
+
"0C00010000020015",
|
|
215
|
+
"0C00010000020016",
|
|
216
|
+
"0C00010000020019",
|
|
217
|
+
"0C0001000002001A",
|
|
218
|
+
"0C0001000002001B",
|
|
219
|
+
"0C0003000003001A",
|
|
220
|
+
"0C00040000020006",
|
|
221
|
+
],
|
|
222
|
+
"22E": [
|
|
223
|
+
"0300180000000000",
|
|
224
|
+
"050001000001000A",
|
|
225
|
+
"0500010000020003",
|
|
226
|
+
"0500010000020008",
|
|
227
|
+
"0500010000020009",
|
|
228
|
+
"0500010000030009",
|
|
229
|
+
"0500030000010053",
|
|
230
|
+
"0500030000020010",
|
|
231
|
+
"0500030000020011",
|
|
232
|
+
"0500030000020012",
|
|
233
|
+
"0500030000020013",
|
|
234
|
+
"0500030000020014",
|
|
235
|
+
"0500030000020015",
|
|
236
|
+
"0500030000020016",
|
|
237
|
+
"0500030000020017",
|
|
238
|
+
"0500030000020018",
|
|
239
|
+
"0500030000030007",
|
|
240
|
+
"0500040000010056",
|
|
241
|
+
"0500040000020020",
|
|
242
|
+
"0500050000010008",
|
|
243
|
+
"0500050000010009",
|
|
244
|
+
"050005000001000A",
|
|
245
|
+
"050005000001000B",
|
|
246
|
+
"050005000001000C",
|
|
247
|
+
"0500050000020030",
|
|
248
|
+
"0500060000020005",
|
|
249
|
+
"0500060000020007",
|
|
250
|
+
"0500060000020008",
|
|
251
|
+
"0500060000020011",
|
|
252
|
+
"0500060000020012",
|
|
253
|
+
"0500060000020013",
|
|
254
|
+
"0500060000020014",
|
|
255
|
+
"0500060000020021",
|
|
256
|
+
"0500060000020022",
|
|
257
|
+
"0500060000020023",
|
|
258
|
+
"0500060000020024",
|
|
259
|
+
"0500060000020044",
|
|
260
|
+
"0500060000020054",
|
|
261
|
+
"0500060000020061",
|
|
262
|
+
"0500060000020062",
|
|
263
|
+
"05000600000200A0",
|
|
264
|
+
"05000600000200A1",
|
|
265
|
+
"0500070000020001",
|
|
266
|
+
"0500070000020002",
|
|
267
|
+
"0500070000020003",
|
|
268
|
+
"0500070000020101",
|
|
269
|
+
"0500070000020201",
|
|
270
|
+
"0503000000030027",
|
|
271
|
+
"0503000000030028",
|
|
272
|
+
"0503000000030029",
|
|
273
|
+
"0C00010000010018",
|
|
274
|
+
"0C0001000002000E",
|
|
275
|
+
"0C00010000020015",
|
|
276
|
+
"0C00010000020016",
|
|
277
|
+
"0C00010000020019",
|
|
278
|
+
"0C0001000002001A",
|
|
279
|
+
"0C0001000002001B",
|
|
280
|
+
"0C00040000020006",
|
|
281
|
+
],
|
|
282
|
+
"239": [
|
|
283
|
+
"0300180000000000",
|
|
284
|
+
"0300260000000000",
|
|
285
|
+
"0500010000020003",
|
|
286
|
+
"0500010000020008",
|
|
287
|
+
"0500010000020009",
|
|
288
|
+
"0500010000030009",
|
|
289
|
+
"0500030000020010",
|
|
290
|
+
"0500030000020011",
|
|
291
|
+
"0500030000020012",
|
|
292
|
+
"0500030000020013",
|
|
293
|
+
"0500030000020014",
|
|
294
|
+
"0500030000020015",
|
|
295
|
+
"0500030000020016",
|
|
296
|
+
"0500030000020017",
|
|
297
|
+
"0500030000020018",
|
|
298
|
+
"0500030000030007",
|
|
299
|
+
"0500040000020020",
|
|
300
|
+
"0500050000010008",
|
|
301
|
+
"0500050000010009",
|
|
302
|
+
"050005000001000A",
|
|
303
|
+
"050005000001000B",
|
|
304
|
+
"050005000001000C",
|
|
305
|
+
"0500060000020005",
|
|
306
|
+
"0500060000020006",
|
|
307
|
+
"0500060000020007",
|
|
308
|
+
"0500060000020008",
|
|
309
|
+
"0500060000020011",
|
|
310
|
+
"0500060000020012",
|
|
311
|
+
"0500060000020013",
|
|
312
|
+
"0500060000020014",
|
|
313
|
+
"0500060000020021",
|
|
314
|
+
"0500060000020022",
|
|
315
|
+
"0500060000020023",
|
|
316
|
+
"0500060000020024",
|
|
317
|
+
"0500060000020041",
|
|
318
|
+
"0500060000020042",
|
|
319
|
+
"0500060000020043",
|
|
320
|
+
"0500060000020044",
|
|
321
|
+
"0500060000020051",
|
|
322
|
+
"0500060000020052",
|
|
323
|
+
"0500060000020053",
|
|
324
|
+
"0500060000020054",
|
|
325
|
+
"0500060000020061",
|
|
326
|
+
"0500060000020062",
|
|
327
|
+
"05000600000200A0",
|
|
328
|
+
"05000600000200A1",
|
|
329
|
+
"0C00010000020015",
|
|
330
|
+
"0C00010000020016",
|
|
331
|
+
"0C00010000020019",
|
|
332
|
+
"0C0001000002001A",
|
|
333
|
+
"0C0001000002001B",
|
|
334
|
+
"0C00040000020006",
|
|
335
|
+
],
|
|
336
|
+
"31B": [
|
|
337
|
+
"0300180000000000",
|
|
338
|
+
"0300260000000000",
|
|
339
|
+
"050001000001000A",
|
|
340
|
+
"0500010000020003",
|
|
341
|
+
"0500010000020008",
|
|
342
|
+
"0500010000020009",
|
|
343
|
+
"0500010000030009",
|
|
344
|
+
"0500030000010053",
|
|
345
|
+
"0500030000020010",
|
|
346
|
+
"0500030000020011",
|
|
347
|
+
"0500030000020012",
|
|
348
|
+
"0500030000020013",
|
|
349
|
+
"0500030000020014",
|
|
350
|
+
"0500030000020015",
|
|
351
|
+
"0500030000020016",
|
|
352
|
+
"0500030000020017",
|
|
353
|
+
"0500030000020018",
|
|
354
|
+
"0500030000030007",
|
|
355
|
+
"0500040000010056",
|
|
356
|
+
"0500040000020020",
|
|
357
|
+
"0500050000010008",
|
|
358
|
+
"0500050000010009",
|
|
359
|
+
"050005000001000A",
|
|
360
|
+
"050005000001000B",
|
|
361
|
+
"050005000001000C",
|
|
362
|
+
"0500050000020030",
|
|
363
|
+
"0500060000020005",
|
|
364
|
+
"0500060000020006",
|
|
365
|
+
"0500060000020007",
|
|
366
|
+
"0500060000020008",
|
|
367
|
+
"0500060000020011",
|
|
368
|
+
"0500060000020012",
|
|
369
|
+
"0500060000020013",
|
|
370
|
+
"0500060000020014",
|
|
371
|
+
"0500060000020021",
|
|
372
|
+
"0500060000020022",
|
|
373
|
+
"0500060000020023",
|
|
374
|
+
"0500060000020024",
|
|
375
|
+
"0500060000020041",
|
|
376
|
+
"0500060000020042",
|
|
377
|
+
"0500060000020043",
|
|
378
|
+
"0500060000020044",
|
|
379
|
+
"0500060000020051",
|
|
380
|
+
"0500060000020052",
|
|
381
|
+
"0500060000020053",
|
|
382
|
+
"0500060000020054",
|
|
383
|
+
"0500060000020061",
|
|
384
|
+
"0500060000020062",
|
|
385
|
+
"05000600000200A0",
|
|
386
|
+
"05000600000200A1",
|
|
387
|
+
"0500070000020001",
|
|
388
|
+
"0500070000020002",
|
|
389
|
+
"0500070000020003",
|
|
390
|
+
"0500070000020101",
|
|
391
|
+
"0500070000020201",
|
|
392
|
+
"0503000000030027",
|
|
393
|
+
"0503000000030028",
|
|
394
|
+
"0503000000030029",
|
|
395
|
+
"0C00010000010018",
|
|
396
|
+
"0C0001000002000E",
|
|
397
|
+
"0C00010000020015",
|
|
398
|
+
"0C00010000020016",
|
|
399
|
+
"0C00010000020019",
|
|
400
|
+
"0C0001000002001A",
|
|
401
|
+
"0C0001000002001B",
|
|
402
|
+
"0C0003000003001A",
|
|
403
|
+
"0C00040000020006",
|
|
404
|
+
],
|
|
405
|
+
};
|
package/dist/safety/limits.d.ts
CHANGED
|
@@ -21,11 +21,17 @@ export declare const MACHINE_LIMITS: Readonly<Record<string, {
|
|
|
21
21
|
chamber: number;
|
|
22
22
|
volume: readonly number[];
|
|
23
23
|
}>>;
|
|
24
|
+
/** Printers with two physical nozzles. Bambu Studio numbers the right/main nozzle 0
|
|
25
|
+
* (MAIN_EXTRUDER_ID) and the left/deputy nozzle 1 (DEPUTY_EXTRUDER_ID), and reports one
|
|
26
|
+
* virtual external-spool slot per nozzle: 255 (VIRTUAL_TRAY_MAIN_ID) and 254
|
|
27
|
+
* (VIRTUAL_TRAY_DEPUTY_ID). The single-nozzle H2S is deliberately absent. */
|
|
28
|
+
export declare const DUAL_NOZZLE_MODELS: ReadonlySet<string>;
|
|
29
|
+
export declare function isDualNozzleModel(model: unknown): boolean;
|
|
24
30
|
export declare function normalizeModel(value: unknown): string | undefined;
|
|
25
|
-
/** Independent nozzle policy ceiling for a declared material, or undefined when unknown. */
|
|
26
|
-
export declare function materialNozzleCeiling(value: unknown): number | undefined;
|
|
27
31
|
export declare function normalizeMaterial(value: unknown): string | undefined;
|
|
28
32
|
export declare function validateTemperature(component: 'nozzle' | 'bed' | 'chamber', value: unknown, model: string, materials?: string[]): number;
|
|
29
33
|
/** Inspector-only exception: the caller must have verified the bounded startup
|
|
30
34
|
* purge form and that no layer/deposition has begun. Never use for manual heat. */
|
|
31
35
|
export declare function validateStartupPurgeTemperature(value: unknown, model: string, materials: string[]): number;
|
|
36
|
+
/** Independent nozzle policy ceiling for a declared material, or undefined when unknown. */
|
|
37
|
+
export declare function materialNozzleCeiling(value: unknown): number | undefined;
|
package/dist/safety/limits.js
CHANGED
|
@@ -30,6 +30,15 @@ export const MACHINE_LIMITS = {
|
|
|
30
30
|
h2s: { nozzle: 350, bed: 120, chamber: 65, volume: [340, 320, 340] },
|
|
31
31
|
x2d: { nozzle: 300, bed: 120, chamber: 65, volume: [256, 256, 260] },
|
|
32
32
|
};
|
|
33
|
+
/** Printers with two physical nozzles. Bambu Studio numbers the right/main nozzle 0
|
|
34
|
+
* (MAIN_EXTRUDER_ID) and the left/deputy nozzle 1 (DEPUTY_EXTRUDER_ID), and reports one
|
|
35
|
+
* virtual external-spool slot per nozzle: 255 (VIRTUAL_TRAY_MAIN_ID) and 254
|
|
36
|
+
* (VIRTUAL_TRAY_DEPUTY_ID). The single-nozzle H2S is deliberately absent. */
|
|
37
|
+
export const DUAL_NOZZLE_MODELS = new Set(['h2d', 'h2dpro', 'h2c', 'x2d']);
|
|
38
|
+
export function isDualNozzleModel(model) {
|
|
39
|
+
const normalized = normalizeModel(model);
|
|
40
|
+
return normalized !== undefined && DUAL_NOZZLE_MODELS.has(normalized);
|
|
41
|
+
}
|
|
33
42
|
export function normalizeModel(value) {
|
|
34
43
|
if (typeof value !== 'string')
|
|
35
44
|
return undefined;
|
|
@@ -50,11 +59,6 @@ const MATERIAL_LIMITS = {
|
|
|
50
59
|
HIPS: 300, PP: 300, POM: 250, PET: 350, PA: 350, PC: 350, PPA: 350, PPS: 350,
|
|
51
60
|
'SUPPORT-PLA': 290, 'SUPPORT-PA': 350,
|
|
52
61
|
};
|
|
53
|
-
/** Independent nozzle policy ceiling for a declared material, or undefined when unknown. */
|
|
54
|
-
export function materialNozzleCeiling(value) {
|
|
55
|
-
const material = normalizeMaterial(value);
|
|
56
|
-
return material ? MATERIAL_LIMITS[material] : undefined;
|
|
57
|
-
}
|
|
58
62
|
export function normalizeMaterial(value) {
|
|
59
63
|
if (typeof value !== 'string')
|
|
60
64
|
return undefined;
|
|
@@ -103,3 +107,8 @@ export function validateTemperature(component, value, model, materials) {
|
|
|
103
107
|
export function validateStartupPurgeTemperature(value, model, materials) {
|
|
104
108
|
return validate('nozzle', value, model, materials, true);
|
|
105
109
|
}
|
|
110
|
+
/** Independent nozzle policy ceiling for a declared material, or undefined when unknown. */
|
|
111
|
+
export function materialNozzleCeiling(value) {
|
|
112
|
+
const material = normalizeMaterial(value);
|
|
113
|
+
return material ? MATERIAL_LIMITS[material] : undefined;
|
|
114
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ProjectFilament } from "../ams-mapping.js";
|
|
1
2
|
export interface PrintFileInspection {
|
|
2
3
|
model: string;
|
|
3
4
|
nozzleDiameters: number[];
|
|
@@ -12,6 +13,10 @@ export interface PrintFileInspection {
|
|
|
12
13
|
selectsAms: boolean;
|
|
13
14
|
nozzleTypes?: string[];
|
|
14
15
|
nozzleFlows?: string[];
|
|
16
|
+
/** Physical nozzle index for each declared filament, composed from the selected plate headers. */
|
|
17
|
+
filamentNozzleIndices?: number[];
|
|
18
|
+
/** Every project filament as project_settings.config declares it, for PrintParams.ams_mapping_info. */
|
|
19
|
+
projectFilaments?: ProjectFilament[];
|
|
15
20
|
}
|
|
16
21
|
/** Inspect the exact selected plate. This does not simulate firmware or arbitrary motion:
|
|
17
22
|
* only declared object bounds are checked, never purge/homing/wipe travel coordinates.
|