MeshView
← All posts

Estimate filament use from an STL's volume

Before you commit to a long print, it helps to know roughly how much filament it needs. Your slicer gives the exact figure once the model is sliced, but you can get a useful upper bound in seconds from the model’s volume, even on your phone.

The formula

Filament weight is volume multiplied by density:

weight in grams = volume in cm³ × density in g/cm³

Typical densities are about 1.24 g/cm³ for PLA, about 1.27 for PETG and about 1.04 for ABS. They vary a little by brand and colour, so treat them as round figures. The spool label or the manufacturer’s data sheet has the exact value.

An example

Say a part measures 20 cm³:

  • in PLA, 20 × 1.24 = 24.8 g if it were completely solid
  • in ABS, 20 × 1.04 = 20.8 g

That is the weight of a solid block of that shape, which is more than the print will use.

Why the real number is lower

Slicers do not fill a part solid. They print outer walls and a lattice of infill, such as 15 percent, in the middle, so the actual use is a fraction of the solid weight. Supports and brims add material back. The result depends on your settings, which is why the slicer’s estimate is the one to trust for a final answer.

The solid weight is still useful. It is a ceiling: if even the solid weight fits on your spool, the print will too.

Get the volume from a viewer

MeshView shows the volume and surface area of a model in the readout, and these are part of the free features. Two cautions apply.

  1. The mesh must be watertight. Volume only has meaning for a closed solid. If the model has holes, MeshView shows “not watertight” instead of a number, because any figure would be a guess. Run the printability check to find the faults. See how to check an STL before you print it.
  2. The units must be right. An STL has no units, so a volume computed from a model drawn in inches is wrong by a large factor. Check the size first. See STL has no units.

A quick routine

  1. Open the model and check the X, Y and Z size against what you expect.
  2. Read the volume. If it says “not watertight”, fix the model first.
  3. Multiply by your filament’s density to get the solid weight.
  4. Compare that ceiling with what is left on the spool, then let the slicer give the exact figure.

Where this helps most

It is handy when a model comes from a download site and you are deciding whether to print it at all, or when you are choosing which of two sizes to make. It saves you opening a slicer just to find out that a part needs more filament than you have.