Somewhere in every printer owner's history there's a four-millimeter chess piece, or a phone stand for a phone from the land of giants. It isn't your printer and it isn't your slicer: it's the file format, and the fix is one measurement plus one number.
Short version: STL has no units, so size is always a guess someone made. Before slicing anything downloaded or generated, verify one known dimension against the object list, and scale by the ratio if it's off. For parts that must fit something, measure the real thing with calipers and scale to match.
Why sizes go wrong at all
An STL stores coordinates as bare numbers. Your slicer assumes millimeters; the exporting tool may have been thinking in inches (25.4× too small when read as mm), meters (1000× off), or arbitrary "scene units" that mean nothing physical. Generated models add another layer: the generator never knew the real object's size, so it exports at whatever scale its pipeline uses. The container format could carry the answer — 3MF declares units, STL doesn't → — which is why this whole ritual mostly concerns STL files.
The one-measurement ritual
- Pick a reference dimension you know or can measure: the longest edge, a hole diameter, the height printed on the product listing. One unambiguous number.
- Measure the real thing with calipers if the part must mate with reality. A $15 digital caliper is the single best accuracy upgrade in this hobby.
- Compare with the slicer's readout. Every slicer shows the object's bounding box in the object panel or scale dialog.
- Scale by ratio. Target ÷ current × 100. Real handle is 118 mm, model shows 30 mm: scale to 393.3%. Uniform scale only; one true dimension locks all three axes.
- Reslice and glance at the preview. Scaling changes wall counts, support needs, and print time; a quick scroll catches surprises. It can also rescue walls that were too thin at the old size — the thickness floor is absolute, not relative →.
Where the buttons live
Bambu Studio / Orca: select the object, press S or use the Scale tool; type a dimension directly into X, Y or Z with lock enabled, or a percentage. Right-panel object list shows the size readout. PrusaSlicer: S for scale; it also offers "scale to fit" and, on inch-suspected files, an import dialog asking whether the file is in inches. Cura: Scale tool on the left rail; uncheck nothing, the uniform lock is on by default; "snap scaling" off for exact numbers.
The inch trap deserves its own line: a model that imports exactly 25.4× too small or too large was made in inches. Scale by 2540% or 3.937%, and be suspicious of anything that imports at a strangely convenient wrongness.
Parts that must fit: one more step
Uniform scaling gets shape right; fits also need clearance. A hole scaled to exactly a bolt's diameter will not accept the bolt: printed holes come out slightly undersized (first-layer squish and curing physics both conspire), and mating parts need designed gaps. After scaling to true size, check the fit numbers against the clearance table →, and if the part must survive temperature, the material's shrinkage joins the equation: the shrinkage numbers →.
For photo-generated parts this step is the difference between a trinket and a replacement. The generator guessed a size; your calipers know the truth. The full photo-to-part path, calibration included, is in the workflow guide →. PHORM's part of that story: dimensions are printed on the result page and in the validator report, so you know what size the file really is before the slicer ever opens it — try it from a photo →.


