Learn
Why one dimension decides whether it fits
Fitting is a minimum, not an average
Uniform scaling applies one factor k to every dimension at once. Each axis imposes its own ceiling on k, because the scaled extent must not exceed the extent available:
O₁·k ≤ A₁ and O₂·k ≤ A₂ and O₃·k ≤ A₃ ⇒ k ≤ min(A₁/O₁, A₂/O₂, A₃/O₃)
Three inequalities have to hold simultaneously, and a set of simultaneous upper bounds is satisfied only by the lowest one. That is the whole idea: the per-axis ratios are not options to choose between, they are constraints that all apply, and the largest factor that fits is whichever of them is smallest.
A worked constraint set
An object measuring 200 × 400 × 200 mm is to go into a space measuring 380 × 500 × 190 mm, in the orientation supplied:
| Axis | Object | Available | Ratio | Slack at k = 1 |
|---|---|---|---|---|
| X | 200 mm | 380 mm | 380/200 = 1.900 | +180 mm |
| Y | 400 mm | 500 mm | 500/400 = 1.250 | +100 mm |
| Z | 200 mm | 190 mm | 190/200 = 0.950 | −10 mm |
k_max = min(1.900, 1.250, 0.950) = 0.950 (19/20)
At that factor the object becomes 190 × 380 × 190 mm: X keeps 190 mm of slack, Y keeps 120 mm, and Z fills its 190 mm exactly. Because k_max is below 1, the object does not fit as supplied — the Z axis is 10 mm too long — and a 5% reduction is the price of admission.
The two answers that look reasonable and are not
Taking the largest ratio. 1.900 is the factor at which X exactly fills its 380 mm, and it is the biggest number in the table, which is exactly why it gets picked. At k = 1.9 only the X axis is satisfied: Y becomes 400 × 1.9 = 760 mm in a 500 mm space and Z becomes 200 × 1.9 = 380 mm in a 190 mm space, protruding by 260 mm and 190 mm respectively — the latter twice the depth available.
Averaging the ratios. Averaging feels like a compromise, but no axis is negotiating. The mean of the three is 1.366666…, and at that factor Z becomes 273.333333… mm in a 190 mm space — still over by more than 80 mm. An average is only meaningful across quantities that trade off against each other; simultaneous constraints do not.
Ratios decide, not leftover space
The limiting axis is not the one with the least room left over in millimetres. Compare two axes of one object:
- 40 mm in 60 mm — 20 mm of slack, ratio 1.500
- 400 mm in 500 mm — 100 mm of slack, ratio 1.250
The second axis has five times the absolute slack and is nevertheless the limiting one, because scaling consumes slack in proportion to size. Growing by 25% adds 10 mm to the small axis and 100 mm to the large one. Millimetres of clearance are a measurement; ratios are what scaling actually acts on.
Rotation changes which dimension meets which limit
An orientation is a pairing of object dimensions to available extents. Rotating changes the pairing without changing either object or space, so it can change the answer dramatically.
An object 300 × 120 × 400 mm in a space 350 × 500 × 200 mm illustrates the size of the effect. Standing as supplied, its 400 mm dimension is tested against 200 mm of headroom and k_max is 0.500. Laid down, that dimension is tested against 500 mm of depth instead and k_max rises to 7/6 ≈ 1.167 — from “must be halved” to “fits with room to grow”, by turning it.
With all three axes free there are six pairings, and each has its own limiting axis and its own minimum. Whether any of them is permissible is a question about the object, not the geometry: print orientation, grain direction, layer adhesion, a required upright face, or how the thing has to be carried in through the opening can all forbid the pairing with the best number.
Clearance can move the constraint to a different axis
Clearance is subtracted from the available extent before the ratios are formed, and because a fixed subtraction hits a small extent harder in proportional terms, it can change which axis governs. An object 100 × 200 mm in an opening 130 × 250 mm:
- No clearance: 130/100 = 1.300 and 250/200 = 1.250 — Y limits.
- 10 mm each side: 110/100 = 1.100 and 230/200 = 1.150 — X limits.
The object did not change and neither did the opening. Deciding the clearance decided the constraint, which is why a fit answer is only as meaningful as the clearance stated with it.
Exactly binding, and ties that are not ties
At k_max the limiting axis fits exactly, with zero clearance. That is a mathematical statement, not a practical one: at 0.950 the Z extent is 190.000 mm in 190 mm, and at 0.951 it is 190.2 mm and does not fit. Every real placement needs some margin, and the calculator will not invent one for you.
Near-ties are the reason the ratios are held as exact fractions rather than decimals. The ratios 900/950 = 18/19 = 0.947368… and 1801/1901 = 0.947396… both display as 0.947, yet they are genuinely ordered: 18 × 1901 = 34,218 against 19 × 1801 = 34,219, so the first is smaller by 1/36,119. Rounded to three digits the comparison is a coin toss and the wrong axis gets reported as limiting; kept exact, it is decided.
What this does not tell you
This is bounding-box geometry, and only that. It compares rectangular extents, so a result of “fits” means the scaled box fits inside the available box with the axes as paired — it says nothing about whether an irregular shape clears an obstruction inside that box, whether there is a path to get it into position, whether it can be tilted diagonally through a smaller opening, or whether it is stable, strong or manufacturable at the reduced size. Those are the questions to ask after the geometry says yes.
The strength and mass consequences of the factor you land on are covered in why area and volume change faster than length, and the constraint solver's exact-arithmetic rules are in the methodology.