Menu
Doorway & room fit analysisReal computation · no sign-up

Fit analysis tool

Enter real measurements. The engine computes six orientations against a clear doorway aperture and a static room volume, then returns one explained verdict with its limits stated.

Current resultPASS
A

Furniture

Outer bounding-box dimensions in the selected unit.

Fills example dimensions for this type. They are suggestions, not your measurements.

mm
mm
mm
B

Doorway

Use NET clear opening, not the outer frame size.

mm
mm
mm

Optional. Leave blank if you did not measure it.

C

Room

Interior width, length and ceiling height.

mm
mm
mm

Corridor width

The current engine does not model corridor width, so corridor turning is not analysed.

D

Calculation settings

Unit changes the display only; the physics stays in millimetres.

mm

Optional extra operating margin applied to both doorway axes.

Drag the furniture in the 3D view, or use the axis controls for exact offsets.

Example sets
05

Linked 3D scene

Mesh, aperture, room envelope and labels all come from one result object.

Live geometry
WebGL · loading
◐ Drag empty space to orbit✥ Drag the box to move⇅ Scroll to zoom

The blue wireframe is the bounding box of the selected posture — the box the engine actually measured, not the furniture surface. Only the six axis-aligned postures are modelled; arbitrary-angle rotation is not.

Three.js · R3F · Drei
Overall status
PASSv2.0.0

All tested checks pass with operating margin, and one posture satisfies both the doorway and the room.

Doorway section

PASS

Room volume

PASS

Calculation
2.0.0
Scope
Section + static volume only
Recommended posture
Upright
R

Why this verdict

The selected posture passes the doorway section check.

DOORWAY_SECTION_PASS

The selected posture fits the static room volume.

ROOM_FIT_PASS

D

Dimension comparisons

RequiredAvailableRemaining
Doorway clear width800 mm900 mm+100 mm
Doorway clear height750 mm2000 mm+1250 mm
Room width800 mm3000 mm+2200 mm
Room length1800 mm4000 mm+2200 mm
Room height750 mm2600 mm+1850 mm

Projection vs clearance

Required projection against the available clear opening.

!

Conflicts

No numeric conflicts were found.

L

Stated boundaries

Rectangular bounding boxes only; real furniture shape and deformation are not modelled.

BOUNDING_BOX_ONLY · does not change the verdict

Only six axis-aligned postures were tested; no continuous-angle search was run.

AXIS_ALIGNED_POSES_ONLY · does not change the verdict

The carrying route, stair turns and corridor segments are not simulated.

PATH_NOT_MODELLED · does not change the verdict

Door leaves, handles, handrails and other obstacles are not modelled.

DOOR_LEAF_AND_OBSTACLES_NOT_MODELLED · does not change the verdict

Rotation within the frame depth is not simulated.

FRAME_DEPTH_ROTATION_NOT_MODELLED · does not change the verdict

Moving or turning the object inside the room is not simulated.

ROOM_PATH_NOT_MODELLED · does not change the verdict

08

Interactive placement

Drag the furniture in the 3D view, or use the axis controls for exact offsets.

STATIC POSITION ONLYSTATIC_POSITION_ONLY

Position feedback is a static geometric check. It is not a transport-path simulation and never changes the fit verdict.

Fit verdict is unchanged by position

0 mm
0 mm
0 mm

Offset from default: 0 / 0 / 0 mm

Remaining space to room planes
Left wall1100 mm
Right wall1100 mm
Floor0 mm
Ceiling1850 mm
Doorway wall (Z = 0)1100 mm
Back wall1100 mm
Boundary intersections

No boundary intersection at this position

Doorway section preview
Width remaining100 mm
Height remaining1250 mm

SECTION_ONLY

06

3D data linkage

These metre values are read back from the scene payload, not recomputed in the component.

Oriented AABB (m)mm
Furniture local box (m)0.800 × 0.750 × 1.800 m800 mm × 750 mm × 1800 mm
Oriented AABB (m)0.800 × 0.750 × 1.800 m800 mm × 750 mm × 1800 mm
Clear aperture (m)0.900 × 2.000 × 0.180 m900 mm × 2000 mm × 180 mm
Room envelope (m)3.000 × 2.600 × 4.000 m3000 mm × 2600 mm × 4000 mm
  • Changing any dimension recomputes the projection, both local checks, the overall verdict and the 3D mesh.
  • Switching the display unit changes the labels only; the physical geometry stays identical.
  • Switching posture changes the projected section and oriented bounding box, while the local furniture box stays the same size.
  • The result names its conflicts, limitations and assessment scope instead of hiding them behind a single colour.
07

All six tested postures

Projected section per posture

PostureDoorRoomBothSection WSection HDepth
UprightYesYesYes800 mm750 mm1800 mm
Upright · quarter turnYesYesYes750 mm800 mm1800 mm
LengthwiseNoYesNo1800 mm750 mm800 mm
Lengthwise · quarter turnYesYesYes750 mm1800 mm800 mm
On sideYesYesYes800 mm1800 mm750 mm
On side · quarter turnNoYesNo1800 mm800 mm750 mm
Remaining clearancedoor 100 mm / 1250 mm · room 2200 mm / 1850 mm / 2200 mm
What you can enter

Which furniture this calculator can describe

The geometry engine treats one item as a single rectangular box with a length, a width and a height. It does not classify products, and it does not model curved or soft shapes.

A

Box-shaped furniture

Sofas, wardrobes, cabinets, desks, washing machines and fridges can be entered when you can supply three outer dimensions of the item as it will be carried.

B

Beds and mattresses

Enter the outer size in the state you intend to move. A folded, rolled or disassembled item has different dimensions and needs its own measurement.

C

What is not modelled

Curved surfaces, soft deformation, detachable legs and irregular outlines fall outside the model. The result is a bounding-box comparison, not a shape-accurate fit.

The preset values in this tool are illustrative sample inputs, not measured furniture specifications.

Inputs explained

What each field means

All dimensions are stored in millimetres. Changing the display unit changes labels only; the physical geometry stays identical.

01

Furniture

Outer length, width and height of the item. Millimetres, centimetres, inches and feet are accepted, with 1 in = 25.4 mm and 1 ft = 304.8 mm.

  • Furniture length
  • Furniture width
  • Furniture height
02

Doorway

Clear width and clear height mean the net opening between the innermost fixed surfaces, not the door leaf size. Frame depth is optional; leaving it empty is recorded as a limitation.

  • Clear width
  • Clear height
  • Frame depth
03

Room

Width, length and height of a static rectangular room volume. The room check compares the oriented box against this volume; it does not simulate a carrying route.

  • Room width
  • Room length
  • Room height
04

Options

Posture selects one of six axis-aligned orientations. Extra clearance is an operating margin you require on top of a bare size match.

  • Extra clearance

Parsing rejects thousands separators, unit suffixes, empty, zero, negative and non-numeric values rather than guessing.

Axonometric diagram of a 1200 x 700 x 1900 mm furniture bounding box, with L, D and H dimension arrows on three axes and an X/Y/Z axis marker.
Fig. 01 - The three dimensions are measured on the enclosing box, not on the usable interior.
Front elevation of a doorway: 800 mm clear width Wc and 2050 mm clear height Hc inside the wall, plus a side view showing 120 mm frame depth d.
Fig. 02 - Clear opening Wc/Hc is smaller than the structural opening; frame depth d is a separate input.
Doorway elevation with three width measurement lines 1, 2, 3 and one height line 4; the minimum is Wc = 800 mm, with frame depth d = 120 mm and unit factors 25.4 / 304.8.
Fig. 06 - Take the smallest of several width readings; a single optimistic reading hides a narrow point.
How to use

Using the fit calculator

The tool recomputes on every change. Work through the fields once, then read the verdict and the evidence tables.

  1. 01

    Measure the furniture

    Record the outer length, width and height of the assembled item in the state you will carry it.

  2. 02

    Measure the opening

    Record the net clear width and height of the doorway. Add frame depth if you can measure it.

  3. 03

    Enter the room and options

    Enter room width, length and height, choose a posture, and set any extra operating clearance you require.

  4. 04

    Read the whole result

    Check the overall status, the reason list, the six-pose matrix and the remaining clearances. Change one input at a time to see what drives the verdict.

Reading the result

What the four outcomes mean

The status is produced only by the geometry engine. The page never assembles a verdict from colours or from a single comparison.

01

PASS

Every tested local check passes with operating margin, and one posture satisfies both the doorway and the room.

02

CONDITIONAL

The geometry is not definitively clear: a different posture is needed, a blocking limitation applies, or no single posture satisfies both checks.

03

FAIL

At least one local check fails for every tested posture.

04

Invalid input

At least one input is invalid, so the engine returns a structured INVALID_INPUT failure and produces no geometric verdict.

The interactive 3D drag is a static-position preview. It reports its own gaps and collisions, and it never rewrites the overall status.

Top-down plan of a 3200 x 4000 mm room with a centred 1200 x 700 mm furniture footprint and diagonal clearance markers d; STATIC_VOLUME_ONLY and 2600 mm room height.
Fig. 05 - The room is a static volume; clearance is measured from the real AABB faces.
Calculation method

How the verdict is computed

One normalised millimetre model feeds both the result and the 3D scene. Nothing on this page recomputes geometry independently.

01

One unit, one model

Millimetres are the single canonical unit. The 3D scene converts to metres only at render time.

02

Six axis-aligned postures

Each posture applies a 3 by 3 rotation matrix combined as Rz, Ry then Rx. The oriented bounding box is the absolute matrix multiplied by the local dimension vector.

03

Two separate checks

The doorway check is a section-only comparison of the projected cross-section against the net aperture. The room check is a static-volume comparison against the rectangular room.

04

Explicit status merge

Any failing local check yields FAIL. Any conditional check, blocking limitation or absence of a single posture that satisfies both checks yields CONDITIONAL. Otherwise PASS.

05

Named boundaries

Conflicts, clearances and limitations are reported from real box faces. A flush contact with zero clearance is reported, not silently treated as a pass.

Calculation version 2.0.0. No continuous-angle search is implemented.

Maintenance and version

Published
Updated
Calculation version
2.0.0

Maintenance responsibility: These pages are maintained together with the calculation engine in this repository. A change to the geometry or verdict logic requires the published method statement and its automated checks to be updated in the same change. There is no separately credited editorial team and no external reviewer.

Read the full calculation method and concept definitions
Five-step flow from W/H/D inputs in mm through six rotations |R| h, AABB projection and Wc/Hc comparison to PASS, CONDITIONAL or FAIL, with real merge rules and limitation codes.
Fig. 07 - Any FAIL yields FAIL; any CONDITIONAL or blocking limitation yields CONDITIONAL; otherwise PASS.
Plan section A-A through a doorway: two wall blocks, an 800 mm opening, a 700 mm furniture rectangle, frame depth d = 120 mm and the SECTION_ONLY label.
Fig. 04 - The doorway is assessed as a section only; the path leading to it is not modelled.
Scope and limits

What this calculator does not decide

These are real limits of the current engine, not disclaimers added for appearance.

  • Only rectangular bounding boxes are modelled; real furniture shape and deformation are not.
  • Only six axis-aligned postures are tested; continuous-angle rotation is not searched.
  • Carrying routes, stair turns and multi-segment corridors are not simulated.
  • Door leaves, handles, handrails, skirting boards and other obstacles are not modelled.
  • Rotation inside the frame depth is not simulated, and a missing frame depth is reported rather than guessed.
  • Moving or turning the object inside the room is not simulated; the room check is a static volume comparison.
  • The 3D drag is a static-position preview; position changes never alter the verdict.

When the information is insufficient for a real judgement, the result must be CONDITIONAL and name what is missing.

Three axis-aligned furniture orientations with dashed AABB envelopes and projected widths W1, W2, W3, above the formula AABB = |R| h.
Fig. 03 - Rotation changes the projected width of the axis-aligned bounding box even though the furniture does not change size.
Tool FAQ

Questions about using this page

Q1Do I measure the door leaf or the opening?

Measure the clear net opening between the innermost fixed surfaces, meaning the width and height actually available to pass the object. The door leaf itself is not modelled.

Q2Why does a dimension that exactly equals the opening not pass?

A flush contact leaves no operating margin. The engine reports ZERO_CLEARANCE and returns CONDITIONAL instead of treating a zero-gap fit as a deterministic pass.

Q3Can I rotate the furniture to any angle?

No. Six axis-aligned postures are tested. Continuous-angle search is not implemented in this version.

Q4Does dragging the 3D model change the verdict?

No. The drag is a static-position preview with its own gap and collision feedback. The overall verdict comes from the dimension-based engine and stays unchanged.

Q5Why is frame depth optional?

If it is left empty, the engine cannot assess rotation inside the frame depth. It records MISSING_FRAME_DEPTH as a limitation instead of inventing a value.

Related pages

Where to go next

These pages are live on this site. Three are in-depth measurement and fit guides; the fourth is the technical 3D proof.

Three further guides cover sofa measurement, refrigerator clearance and bed-frame fit; each is linked from the related-pages section of every guide above.