Skip to content

๐Ÿ”ฉ Pieces

A Piece is the workshop's manufacturable unit: the combination of a Design with a specific material, colors, and finish. It's what the printer physically produces.


Pieces don't have their own list page

Unlike Designs or Products, there is no standalone Piece gallery. You access them from the detail view of the Design they belong to. The reason is that a Piece is always tied to a Design โ€” it makes no sense without one.

The usual flow is:

  1. You open a Design from the gallery.
  2. In the design detail view you see the list of associated Pieces.
  3. From there you create, edit, or delete Pieces.

Create a Piece

From a Design's detail view, click "Piece". The form asks you for:

FieldDescription
MaterialA Filament / Resin switch. The specific type (PLA, PETG, TPU, Standardโ€ฆ) isn't chosen here: it's set by the color or material you assign.
Color(s)One or more colors with a color picker (hex). Multicolor option.
FinishUnprocessed / Processed / Painted.
Cost/kgThe price per kilo of the material. It's filled in with the most expensive material you assign (inventory ones with their own cost; manual colors with the workshop's default value). Always editable.
WeightGrams consumed by the whole plate (affects cost).
TimeHow long the whole print takes, in hours and minutes. It counts towards the cost: it's multiplied by the Cost/h.
PiecesHow many sellable pieces come out of that print. Default 1.
Cost/hWhat an hour of printer time costs you. It comes from Settings โ†’ Costs.
Build plate costWhat the whole plate costs: material + printing + finish + extra costs.
Unit costThe above divided by the number of pieces. This is the one used for the price.

Extra costs

Besides material, printing and finish, you can add extra costs to the piece: Packaging, Labour, Hardware, Inserts, Magnets or Other (with whatever name you like). They're added with the + button (Add concept) in the cost table and removed with Remove concept.

Each concept is charged in one of two ways, and you can switch it by clicking on it in the row:

  • Per unit โ€” charged once for each piece that comes off the plate (for example, one box per figure).
  • Per build plate โ€” charged just once, whether you print them one at a time or twenty at a time.

The amount is filled in with the recommended one from Settings โ†’ Costs โ†’ Default values, but it stays fixed on the piece: changing those values later doesn't touch pieces that already exist. If your payroll is already in the hourly cost, don't enter the same labour again here; use it only for work that isn't in there, such as assembly or post-processing.

The Piece name is generated automatically from the Design title. The material and color are shown with icons and color circles on the cards โ€” you don't need to include them in the name.


Printing several units at once

This point is worth understanding properly.

Everything you enter describes the whole plate, not a single unit: the weight is what the complete print consumes, and the time is how long it takes. The Pieces field says how many sellable pieces come out of that, and it's what turns one thing into the other.

Why isn't it enough to divide by eye? Because time doesn't grow with the copies. With resin it's extreme: every layer exposes the whole plate at once, so twenty miniatures of the same height take practically as long as one. With filament it's less brutal, but the heat-up and the travel moves are shared out too. If you cost a single unit using the plate's time, it comes out sky-high and you won't sell it.

That's why you'll see two costs: the plate total and the unit cost. What goes to the variant โ€” and therefore to the price โ€” is always the unit one.

In the pieces list, the ones that are a batch carry an ร—N marker so you don't get confused: the cost you see on the right is per unit, but the weight and time inside are for the whole print.

If you leave Pieces at 1, the build plate cost and the unit cost are the same number.


The slicer file

The piece has a Slicer file section where you can drop the file your slicing program produces. .gcode.3mf, .gcode, .bgcode and .goo are accepted โ€” that is, BambuStudio, Orca, PrusaSlicer, Cura and ChiTuBox.

When you upload it, BolloPrint reads it and proposes what it found: weight, time, whether it's filament or resin, and every material it used. You tick what to apply and what not. Nothing is changed without your confirmation โ€” the file is a proposal, not an order.

The materials come as a list with their slot, their color and their grams, support material included, which also gets used up and also gets paid for. If you tick that row, the piece's colors become exactly the ones the job used.

Assigning the materials is mandatory. Every color the file brings appears with a button for choosing which of your materials it corresponds to โ€” the same selector as always, with your inventory and the manual palette โ€” and until they're all assigned the Apply button stays disabled. A counter next to the title (0 of 2) tells you how many are left.

It may look like an extra step, but it's what separates a defensible cost from a made-up one: the file knows you printed in orange, but it can't know which particular spool on your shelf that was, and a piece costed against an unresolved color is no use for setting a price. On top of that, when you pick an inventory material the Cost/kg starts following that spool's real price.

To the left of each row you can still see what the file said (color, type and grams), which is the only clue for deciding which of your materials it is.

Each piece stores one file. If you upload another, it replaces the previous one.

Some things can't be read depending on the program, and in that case the row appears greyed out with the reason instead of a made-up number. The typical case is modern Cura, which records the meters of filament but not the grams, because it doesn't know the material's density.

Dimensions are not imported. Slicing programs store the size of the print bed, not the size of your piece, so that figure would be no use. Units don't come in the file either: those you enter yourself.


Cost vs. price

The Piece has a cost โ€” what it costs you to produce it: material, printer hours, finish and extra costs. The sale price is defined on the Variant, not on the Piece. This separation is what lets you calculate real margins in the Financial module.

Where does the "Cost/kg" come from? The material cost is calculated as weight ร— Cost/kg. That price per kilo is filled in as follows:

  • If you give the piece a material from your inventory (a filament or resin in stock that has a cost), the Cost/kg is taken from that material instantly โ€” you'll see the cost update as soon as you pick it. If you add several materials, the most expensive of them all is used, so the piece is never left short on cost: each inventory material counts with its own price per kilo and each manual color counts with the workshop's default value.
  • If you pick a color by hand, with nothing from the inventory behind it, the workshop's default value is used, which you define in Settings โ†’ Costs โ†’ Default values. Careful: that price is per material type, not one for all filament โ€” PLA and TPU don't cost the same. And it's per type of that specific color: if you mix a manual PLA with a manual TPU, each one is looked up with its own rate before keeping the most expensive. If the color doesn't have a recognized material type, the material counts as 0 (no number is invented).
  • You can mix both kinds of color in the same piece with no problem: inventory ones and manual ones are compared the same way, and the most expensive wins wherever it comes from.
  • An inventory material that doesn't have a cost yet (you haven't given it a price, or its record doesn't say how much a full spool weighs) counts with the workshop default for its type, exactly as if you had picked it by hand. Until you give it a cost, that material behaves like a manual color โ€” which is precisely what the inventory table shows you in grey.
  • In any case you can enter the Cost/kg manually. It's useful when the piece carries several materials: since the automatic calculation takes the most expensive one, it doesn't reflect the real proportion of each, and by hand you can make it exact. It gets fixed on the piece: if you later change the default prices or those in the inventory, pieces already created are not modified on their own โ€” you review and update them whenever you want (the field's circular arrow sets it back to automatic).

If you enter a value by hand

Next to the field you'll see a circular arrow appear as soon as your value differs from the one BolloPrint would calculate. Clicking it goes back to automatic. If you haven't touched anything, the button isn't there โ€” so you can tell at a glance whether that number was put in by you or by the application.

It works the same on the three lines of the cost panel, and each one goes back to its own source:

LineWhere it goes back to
Materialto the price per kilo resulting from the assigned materials โ€” the most expensive one
Printingto your workshop's cost per hour
Finishto the cost you have configured for that finish type

Underneath the value you entered, the automatic one is shown in small print, so you know what you're departing from without having to delete anything.

Bear in mind that assigning or changing a material fills the Cost/kg in again. That's deliberate: when you change material, the cost normally changes. If you had a value of your own, you'll have to type it in again. Changing the finish type does the same to its box.


From Piece to Variant

Once the Piece is created, you can include it in one or more Product Variants. A Variant can combine several Pieces (for example, a pack of three different figures).