Filament batch planner

Plan a small batch of single-spool jobs from your own weights and mass estimates. Build an initial allocation, adjust it, then save a reviewable job-to-spool handoff.

Spool budgets — all masses in grams

Budget = measured gross − empty-spool tare − your unavailable allowance. The allowance can include measurement uncertainty, reserved material and unusable tail. Zero means no extra allowance, not a recommendation.

Jobs — one whole job per spool

Required mass must already include the slicer estimate and any support, purge, waste or additional allowance you choose. Match groups are exact user labels, such as PLA black; they do not verify material compatibility.

No allocation prepared.

Temporary page memory only. Editing source inputs removes the allocation; rebuilding replaces manual choices. Clear or reload removes the current batch. Save a snapshot deliberately if you need a record.

Make a job-to-spool handoff

Use this planner when you have several partially used spools and a small set of independently printable jobs. Enter each spool’s measured gross mass, its own empty-spool tare and the amount you want to leave unavailable. Enter a required mass for each job, including the allowances you have already chosen. The output assigns each whole job to one matching spool and shows how much of each supplied budget is allocated.

This is an estimate-based planning worksheet. It does not weigh a spool, read an NFC tag, inspect G-code, check a filament profile, control a printer or track actual consumption. A plan within the supplied budgets is not a guarantee that the physical jobs will finish. Recheck the weights, estimates and material choices before using the handoff.

Enter comparable masses

All masses are grams, with up to three decimal places. Use plain nonnegative decimals, without commas, unit suffixes or scientific notation. Each field is limited to 999999.999 g. A spool’s gross mass must cover its tare plus unavailable allowance; otherwise its budget would be negative and the build stops. A zero budget can be entered, but it cannot hold a positive-mass job.

The unavailable allowance is your own combined deduction for uncertainty, reserved material or an unusable tail. The app supplies no manufacturer tare database or universal safety factor. Use the correct tare for that specific spool and decide your allowances explicitly. A job’s required mass must be greater than zero and must already include the costs relevant to that job. Avoid adding the same allowance twice if your slicer estimate already includes it.

Use exact matching groups

Give each spool and job a matching group, for example PLA black or PETG clear. Only identical group text can be assigned together. Capitalization matters: PLA black and PLA Black are separate groups. Names and groups cannot have boundary spaces or line breaks. The app does not infer that two colors, brands, polymers or printer profiles are compatible.

Spool labels and job labels must be unique within their own list so the handoff is unambiguous. Each label may contain up to 50 characters and a group up to 40. The tool accepts 1–12 spools and 1–40 jobs. A job cannot be split across spools here. Multi-material changes, automatic runout switching and jobs that depend on each other are outside this model.

Understand the initial allocation

The automatic step considers larger jobs first. For each job, it chooses a matching spool with the smallest remaining budget that can hold the whole requirement. Ties follow the source row order. This is a deterministic best-fit-decreasing heuristic, not an exhaustive optimizer. It can leave a job unassigned even when another arrangement would fit.

Use the assignment menus to change the result. Moving a job never silently moves another job. The spool table recalculates allocated mass, remaining budget and any over-budget amount. The ready HTML button is disabled while jobs are unassigned, assignments are invalid or any spool exceeds its supplied budget. An unfinished JSON snapshot is explicitly labelled as not ready.

Use the example

The fictional batch has two PLA black spools with budgets of 450 g and 260 g, plus a PETG clear spool with 100 g. Three PLA jobs require 240 g, 200 g and 150 g, and one PETG job requires 100 g. The initial allocation places the 240 g job on the smaller PLA budget, the other two on the larger PLA budget, and the PETG job on its matching spool. The shown masses are example assumptions, not reference weights for a real product.

A useful manual-review exercise is two budgets of 10 g and jobs of 6, 5, 3, 2, 2 and 2 g in the same group. The heuristic can leave the final 2 g job unassigned. The jobs still fit as 6+2+2 and 5+3+2. Rearranging the menus demonstrates why the app reports a review need rather than declaring the batch impossible.

Save the right snapshot

Save ready plan HTML downloads a standalone, script-free handoff with the source assumptions, job order, chosen spools and budget totals. The run list stays in source job order even though the heuristic examines larger jobs first. You can open the HTML in a suitable browser and print it; no particular printer layout is certified. The file does not schedule or execute those jobs.

Save review JSON records the same typed inputs and current assignments with an explicit ready flag and any unassigned or over-budget conditions. It is useful as an inspectable record, including when a review is unfinished. It is not an import for slicer software, a printer or this page. Downloaded snapshots do not update if a spool is used elsewhere or the current form changes.

Temporary inputs and boundaries

Inputs, assignments and outputs stay in the current page’s memory. There are no accounts, uploads, hidden network calls, local-storage history or printer connections. Clear or reload removes the working batch. Editing any source field removes the old allocation, and Build initial allocation starts again rather than retaining manual choices. Files you deliberately download remain on your device and contain the labels, masses and assumptions you entered.

Reference: Prusa’s filament-tracking documentation describes connected tag and estimate behavior. This worksheet uses only the mass data you supply and does not read that system.