Documentation / Node reference / geo nodes

geo/TransformFit

Measures the input against a target box, and either rescales it to fit or reports whether it would.

Transform

The size measured is the WORLD bounding box, composed through the hierarchy, so a parented assembly is measured as the assembly rather than as its pieces.

FIT applies one uniform scale, taken from the worst axis ratio, so the result touches the target box on its tightest axis. It scales a small input UP as well as a large one down: the result always touches the box. Use CHECK when that is not wanted.

CHECK moves nothing and changes no geometry. It writes the verdict onto the output stage instead, as the attributes FITS_BUILD_VOLUME (1 when it fits, 0 when it does not) and BUILD_VOLUME_OVERFLOW (how far past the target the input reaches on each axis, zero on an axis that fits). An expression can read either with stage().

Parameters

Name Type What it does
mode UInt8 FIT · CHECK FIT rescales the input so it fits the target box. CHECK changes nothing and publishes the verdict as stage attributes instead, which is what a print-preparation graph wants: a model heading for a slicer must not be silently resized.
group String Which objects to scale. Empty operates on the stage ROOTS, so a parented assembly is scaled once at the top rather than once per piece. Ignored in CHECK mode, which scales nothing.
batchMode UInt8 ALL_OBJECTS_TOGETHER · OBJECTS_INDIVIDUALLY ALL_OBJECTS_TOGETHER measures the whole assembly as one box, so the objects keep their relative sizes and positions. OBJECTS_INDIVIDUALLY measures each object on its own; in CHECK mode that reports the WORST case over them.
transformMode UInt8 OBJECT · GEOMETRY OBJECT writes the scale onto the object's transform, which is reversible and what the exporters compose. GEOMETRY bakes it into the point positions. Ignored in CHECK mode.
maxScale Vector3 The target box, as a size on each axis. For print preparation this is the printer's build volume.
margin Float Clearance to keep, subtracted from the target on every axis before anything is measured against it. A margin of 10 against a 256 target measures against 246. It applies in both modes.
errorOnOverflow Bool CHECK mode only: put the node in error when the input does not fit, which stops the graph before an exporter downstream writes a file nobody can print. Turn it off to read FITS_BUILD_VOLUME and BUILD_VOLUME_OVERFLOW instead and decide in the graph, which is what a configurator wants.

See also

This page is generated from the engine, so it describes the release you can download. The same text is in the editor's Help panel next to the node itself.