Учёт пластика, который не расходится с полкой

Каждая мастерская начинает с точного списка пластика. Через полгода его нет ни у кого.

Дело не в небрежности. Учёт расходится, потому что события, которые меняют остаток, - это не те события, которые кто-то записывает. Печать упала, и пластика нет. Кто-то потратил полкатушки на тест. Цвет открыли, напечатали раз и поставили обратно на полку, где он выглядит полным. Остаток не ломается одним большим шагом: он ломается по десять граммов, а потом однажды заказ останавливается в три часа ночи, потому что на катушке, где все думали, что четыреста граммов, было восемьдесят.

Вот что на самом деле держит его честным.

Считайте катушки, а не килограммы

«2,4 кг чёрного PLA» - это не факт, на который можно опираться. Две катушки, на которых вместе 1,2 кг, не напечатают деталь на 900 г; одна катушка с 1,3 кг напечатает.

Ведите учёт отдельных катушек, каждую с остаточным весом. Это больше строк, и это единственный вариант, который отвечает на вопрос, который вы действительно задаёте: могу ли я запустить этот заказ сегодня вечером.

Дайте каждой катушке идентичность, как только она вышла из коробки. Хватит номера на наклейке. Без него не отличить две наполовину использованные катушки чёрного PLA и не узнать, какая из них стоит открытая с марта.

Запишите вес пустой катушки один раз для каждого бренда

Остаток пластика - это катушка на весах минус пустая катушка.

Вес пустой катушки зависит от бренда и материала, а иногда и от партии: картонные катушки легче пластиковых, а многоразовая основа ещё легче. Взвесьте одну пустую катушку каждого бренда, запишите и пользуйтесь этим числом. Если угадывать 200 г для всего, это погрешность в пятьдесят граммов и больше на катушку, то есть ровно такого размера, что оставляет печать без пластика.

Списывайте, когда печать идёт, а не когда кто-то вспомнит

В этом вся суть.

Любая система, где остаток обновляет человек, позже и сознательно, будет расходиться - не потому, что люди ленивы, а потому, что в момент, когда остаток меняется, они заняты другим. Печать закончилась, клиент ждёт, стол нужно освободить.

Так что сделайте списание следствием того, что и так должно было произойти: заказ встаёт на машину. Граммы, которые он планирует израсходовать, снимаются с катушек, из которых он берёт пластик, именно в этот момент. Никому не нужно вводить что-то второй раз.

Это одна из причин, почему LayerFlow3D привязывает заказы к катушкам, а не ведёт отдельный список остатков: запуск заказа - это событие, и остаток вытекает из него. Следующий раздел точно описывает, что происходит на каждом шаге.

Если вы делаете это в таблице, приблизьтесь к этому, насколько можете: одна строка на заказ, с катушкой и граммами в той же строке, что и заказ, а не лист остатков, который кто-то сверяет каждое воскресенье.

Что LayerFlow3D делает с катушкой на каждом шаге

Коротко: пока заказ ждёт, ничего не откладывается. Запланированные граммы заказа снимаются с его катушек за один раз, когда кто-то переводит его в В работе, и дальше ничто само по себе их уже не меняет. Это число - план слайсера, а не замер, поэтому упавшая раскладка или перепечатка становятся видны только тогда, когда кто-то взвесит катушку.

Когда Что происходит с катушками Кто это делает
Заказ сохранён как Новый, вручную или со страницы магазина Ничего не списывается. Заказ распланирован по катушкам, а его граммы считаются «в очереди» для этого типа пластика, так что предупреждение о низком остатке видит их заранее. Два ждущих заказа могут планировать одни и те же граммы. Автоматически
Заказ переходит в В работе План рассчитывается заново (сначала катушки, заправленные в этот принтер), а затем запланированные граммы целиком снимаются с катушек. Диалог Начать печать? показывает их под «Филамент зарезервирован со склада». Человек переводит заказ
Готов к отправке, затем Отправлен Больше ничего. -
Принтер начинает или заканчивает печать Ничего. Уведомление может предложить перевести следующий заказ, а законченная печать отмечается на карточке. Только автоматическое уведомление
Отменён в статусе Новый Ничего не снималось, поэтому ничего и не возвращается. Человек, с причиной
Отменён в статусе В работе Диалог спрашивает «Израсходовано филамента, г». Это количество остаётся израсходованным, остальное возвращается на катушки. Человек, с причиной
Отменён после Готов к отправке или Отправлен Ничего не возвращается: работа напечатана. Человек, с причиной
Раскладка падает, и её печатают заново в том же заказе Больше ничего не списывается. Приложение не знает о второй попытке. -
Катушку взвесили и исправили (инвентаризация) Катушка получает введённое число с причиной, например «Потеря» или «Брак», и держит его в следующих заказах. Человек
После запуска меняют количество, модель или принтер Отказ. Запущенный заказ сохраняет свой план; для нового клонируйте его. -

Какое число снимается. Граммы, записанные на раскладке модели, или число, замеренное для этой раскладки на этом принтере, умноженные на количество раскладок, которое нужно заказу. Заказ на восемь штук из раскладки на четыре - это две раскладки. Процент отходов материала в настройках поднимает цену, а не граммы. Входит ли в число продувка, зависит от того, что вы ввели: копируйте из слайсера общий расход по каждому пластику, он её включает.

Несколько катушек. Каждый тип пластика планируется отдельно. Первыми идут катушки, заправленные в принтер заказа, затем открытая катушка, на которой осталось меньше всего. Одна потребность может разделиться на две катушки. Если на полке не хватает, заказ всё равно принимается, а последняя катушка показывает 0 г: это предупреждение, а не отказ. Запечатанные коробки сами по себе никогда не вскрываются.

Пример. Одна катушка чёрного PLA на 1 000 г. Раскладка брелоков вмещает четыре штуки, и слайсер говорит, что раскладка берёт 80 г вместе с продувкой.

  1. Заказ на восемь брелоков сохранён как «Новый». Он планирует 2 раскладки x 80 г = 160 г. Катушка по-прежнему показывает 1 000 г; тип показывает 160 г в очереди.
  2. Заказ переходит в «В работе». Катушка показывает 840 г.
  3. Вторая раскладка падает на полпути, и её печатают заново. Катушка по-прежнему показывает 840 г, хотя ещё около 40 г ушло в мусор.
  4. Когда катушку снимают, пластика на ней 800 г без веса пустой катушки. Инвентаризация на 800 г с причиной «Брак» ставит катушке 800 г и записывает разницу в 40 г.
  5. «Готов к отправке» и «Отправлен» оставляют 800 г.

Если бы вместо этого заказ отменили посреди печати, введя 40 г как израсходованные, катушка вернулась бы к 960 г. Этот пример проверяет тест на собственном коде приложения, так что он изменится, как только изменится поведение.

Чего приложение не делает: оно ничего не взвешивает, само не списывает дополнительные граммы за упавшую раскладку и не переводит заказ из-за того, что принтер начал печать. Там, где AMS сообщает, сколько осталось, смотрите ниже раздел о том, что говорит принтер.

Считайте брак, сознательно

Упавшая печать потратила настоящий пластик. Если брак не списывается с остатка, ваш учёт оптимистичен ровно на ваш процент брака, а именно этого числа никто не знает.

Привычка, которую стоит выработать: когда печать падает, взвесьте то, что сняли со стола, спишите это и одним словом запишите причину. Через месяц у вас будет что-то полезнее точного количества катушек - процент брака по каждой машине и каждому материалу, а это число должно быть в каждой цене, которую вы называете.

Взвешивайте катушку в естественные моменты

Регулярно взвешивать всё не нужно. Нужно взвешивать в два момента, когда число вот-вот станет важным:

Когда катушку снимают с машины. Она уже у вас в руке.

Прежде чем отдать катушку под долгую печать. Оценка говорит 780 г, а система говорит, что осталось 840 г; это достаточно близко, чтобы потратить тридцать секунд на весы, а не получить сбой на девятом часу.

Остальное может жить на арифметике. Весы - это поправка, а не рутина.

Знайте, сколько стоит грамм, а не только катушка

Стоимость катушки - это сколько вы заплатили плюс сколько стоило довезти её до вас: доставка, таможня и электричество на сушку, если вы сушите. Делите это на пластик, который можно использовать, а не на номинальный килограмм: на катушке в 1 кг нет 1 кг пригодного для печати пластика, если учесть хвост, который не используешь.

Калькулятор стоимости пластика превращает цену катушки в стоимость грамма и стоимость конкретного заказа - то есть в тот вид, в котором она нужна для расчёта цены.

А потом храните стоимость вместе с катушкой, а не с материалом. Чёрный PLA, купленный на распродаже в январе, и чёрный PLA по полной цене в августе стоят по-разному, и заказ, напечатанный с одной катушки, стоил не столько, сколько напечатанный с другой. Усреднение прячет именно то, что вы пытаетесь увидеть.

Хранение - это тоже учёт

Катушка, которая набрала влаги, - это не та катушка, которую вы считали.

Влажный PETG или нейлон печатает плохо, и сбой достаточно непрямой, чтобы люди винили профиль, сопло, машину - что угодно, кроме пластика. Это проблема остатков в техническом костюме.

Два правила покрывают большинство случаев. Всё, что не PLA, после снятия с машины возвращается в герметичный бокс с влагопоглотителем, а влагопоглотитель меняют по графику, а не тогда, когда кто-то заметит, что он порозовел. А катушку, которая месяцами стояла открытой во влажной комнате, сушат перед важным заказом, а не после того, как он упал.

Многоматериальная печать съедает больше, чем весит деталь

Если у вас AMS или любая многоматериальная система, очистка - это не погрешность округления. Каждая смена пластика прочищает хотэнд, и на печати с многими сменами прочищенный материал может весить больше детали.

Этот пластик сошёл с настоящих катушек, в пропорции, о которой вес модели ничего не говорит. Если ваш остаток движется только на вес детали, ферма с многоцветной работой будет расходиться быстрее, чем ферма с одноцветной, в одну и ту же сторону, каждый раз. Списывайте то, что слайсер показал как общий расход по каждому пластику, а не то, сколько весит модель.

Что принтер говорит об остатке, и почему это не расход заказа

Если у ваших принтеров есть AMS, хочется доверить учёт принтеру: он и так показывает процент на каждом лотке. Мы читали эти поля, когда делали свою страницу пластика, и они отвечают на более узкий вопрос, чем кажется.

Что мы смотрели. Два Bambu Lab A1 с AMS Lite и H2C с AMS 2 Pro, прочитанные по локальной сети 22 и 23 августа 2026 года, и ещё один взгляд на H2C 5 октября. Это наши записи тех дней, а не свежий замер и не лабораторный тест, и обновление прошивки может изменить что угодно из этого. Вот как выглядит то, что сообщает лоток, - фрагмент сокращён вручную для примера, а не скопирован с принтера:

{ "id": "0", "remain": 100, "tray_weight": "1000", "total_len": 330000 }
Что сообщает принтер Что мы видели Что из этого следует Чего из этого не следует
remain на AMS Lite 100 на всех четырёх лотках за всю пятичасовую печать на одном A1 и снова 100 посреди печати на другом на следующий день Ничего об остатке на этом блоке Что катушка полная
remain на AMS 2 Pro Целые проценты, которые меняются, например 5, 7, 27 и 80 Примерно, сколько на катушке Сколько ушло на одну печать: 1% катушки в 1 кг - это 10 г
total_len 330000 сразу на всех лотках, рядом с tray_weight, равным 1000 Номинальную длину полной катушки 1 кг пластика 1,75 мм Сколько израсходовано или осталось
ams.version 14, потом 31, потом 11 на одном и том же A1 Ничего, на что можно опереться Какая модель AMS подключена
Влажность и температура Настоящие значения на AMS 2 Pro, нули на AMS Lite Сообщает ли блок об окружающей среде Ничего о весе катушки

Что документирует Bambu Lab. Руководство по AMS описывает остаток пластика как оценку: по длине пластика, поданного, пока RFID-метка катушки делает полный оборот, причём полная катушка 1 кг считается за 100% (вики Bambu Lab). В руководстве по AMS Lite раздела об оценке остатка нет вовсе. Мы не нашли страницы Bambu Lab, где сказано, что AMS взвешивает катушку, поэтому и не утверждаем этого: таблица описывает, что показывали поля, а не то, как машина к ним приходит.

Почему заказ всё равно берёт цифру слайсера. Эти два числа отвечают на разные вопросы. Слайсер говорит, сколько работа собирается израсходовать, с продувкой, по каждому пластику, до запуска - это и нужно для цены и списания. Принтер в лучшем случае говорит, примерно сколько на катушке сейчас. Он не может сказать, какой заказ сколько взял: на A1 у печати не было идентификатора задания, который можно сопоставить с заказом, а шаг в 10 г - это большая часть маленькой детали. Поэтому в LayerFlow3D заказ списывает запланированные граммы с катушек, когда вы переводите его в «В работе», а процент AMS показывается только на блоке, который сообщает и влажность с температурой, - никогда на AMS Lite. Там, где он показывается, катушка, разошедшаяся с ним больше чем на 2%, исправляется, но только катушка с RFID-меткой, привязанной к катушке на полке, только пока этот принтер не печатает и только когда работает агент мастерской. Исправление записывается как инвентаризация и попадает в месячную цифру «израсходовано больше плана» по этому типу пластика, но никогда в себестоимость одного заказа.

Что с этим делать в мастерской:

  • Не считайте 100% на AMS Lite полной катушкой. Взвешивайте катушку, когда снимаете её с машины.
  • Считайте и списывайте каждую работу по итогу слайсера для каждого пластика, а не по принтеру. Калькулятор стоимости пластика переводит этот итог в деньги.
  • Используйте меняющийся процент принтера как сверку за месяц по каждому типу пластика, а не как запись одной печати.
  • Если учёт и принтер раз за разом расходятся, положите катушку на весы и проведите пересчёт с причиной, чтобы разница стала видна, а не тихо сдвигала итог.

Дозаказывайте до того, как закончится, по числу

«Чего-то чёрного мало осталось» - это не сигнал к заказу. Сигнал - минимальный уровень.

Установите его для каждого материала и цвета, исходя из того, как быстро вы его тратите и сколько идёт поставка. Если вы тратите 1,5 кг чёрного PLA в неделю, а доставка занимает десять дней, ваш минимум - около 3 кг, а не одна катушка. Тогда дозаказ - это решение, которое принимает число, а не то, что кто-то должен заметить.

Инвентаризация, которую стоит делать

Раз в квартал взвесьте всё. Это занимает полдня и говорит вам две вещи: насколько разошёлся учёт и где он разошёлся.

Если расхождение размазано равномерно, ваши оценки на заказ немного занижены - подправьте запас на отходы. Если оно сосредоточено в одном материале или одной машине, вы нашли процент брака или утечку, которую никто не замечал.

Инвентаризация, которая ничего не нашла, - это не потерянный день. Это единственное доказательство того, что всё остальное работает.

Посчитайте это на своей мастерской

LayerFlow3D считает каждый заказ по вашим ценам на пластик, вашим принтерам и вашим ставкам.