IFC4 Export for Room Plans (BIM)
Turn a room plan into an IFC4 BIM file: walls, openings, doors, windows, slabs, spaces, quantities.
Try an example: L-shaped flat with layered external walls · Two-storey studio house · Rectangular room with a sideboard
How it works
Convert a room model (centre-line walls, doors, windows, spaces, furniture) into an IFC4 STEP file for BIM software: storeys, walls with material layers, openings that void the walls and are filled by doors and windows, floor and roof slabs, spaces with base quantities and furniture as bounding boxes. The file is re-read by an independent parser and checked against the IFC4 schema subset.
- Own STEP physical file writer (ISO 10303-21): header with FILE_SCHEMA(('IFC4')), one instance per line, strings encoded with '' and \X2\ for non-ASCII characters, reals always with a decimal point. Units: millimetre, square metre, cubic metre, radian, watt, degree Celsius. Plan y is flipped so the model is right-handed with Z up.
- Spatial structure IfcProject → IfcSite → IfcBuilding → IfcBuildingStorey (IfcRelAggregates); spaces aggregated into their storey, all elements contained in it (IfcRelContainedInSpatialStructure). Every wall piece between junctions is an IfcWall with an extruded footprint (mitred joins) and an axis line, material layers as IfcMaterialLayerSet, Pset_WallCommon IsExternal and ThermalTransmittance.
- Each opening is an IfcOpeningElement box through the wall (IfcRelVoidsElement) filled by an IfcDoor or IfcWindow (IfcRelFillsElement) with overall size and the door operation type. Floor slabs under each outline, a roof slab on the top storey, IfcSpace per room with Qto_SpaceBaseQuantities plus planner quantities; cabinets and furniture as IfcFurniture boxes.
- GlobalIds are 128-bit hashes of the plan name and element ids, compressed to 22 characters, so the same plan always gives the same file. Validation re-parses the text with an own SPF reader and checks entity names, attribute counts, mandatory and derived attributes, enumeration values, reference targets and types against attribute lists generated from the official IFC4_ADD2_TC1.exp, plus GlobalId uniqueness, the spatial tree and voids/fills.
A reference-view style concept model, not a certified IFC export: no owner history, no space boundaries, no wall connection relationships, furniture only as boxes and room holes not modelled in space geometry. The built-in check covers the IFC4 subset written here; run your BIM software’s own checker before you hand the file on. Approximate planning quantities, not certified: not for building permits, energy certificates, heat load sizing of a heating system or contractual area statements. Method: areas in the DIN 277 / ISO 9836 structure from wall centre lines, the BRE average daylight factor and a simplified EN 12831-1 transmission heat load (Σ A·U·ΔT). An architect or engineer would additionally measure the built rooms, apply the rules for your purpose (for example the full EN 12831-1 with ventilation and thermal bridges for heating design, or the local living-area rules for rentals) and check every number against the approved plans.
Sources
- IFC4 ADD2 TC1 (ISO 16739-1:2018) — Industry Foundation Classes, schema documentation (buildingSMART International)
- IFC4_ADD2_TC1.exp — official EXPRESS schema (attribute lists of the checked subset are generated from it) (buildingSMART International)
- ISO 10303-21:2016 Industrial automation systems — Product data representation and exchange — Part 21: Clear text encoding of the exchange structure (STEP physical file) (ISO)
- IfcGloballyUniqueId: 128-bit identifier compressed to 22 characters of the IFC base-64 alphabet (buildingSMART International)
Part of Kerfwise
-
Kerfwise Cabinet & furniture CAD
Design cabinets and furniture, get cut lists, optimised sheet layouts, costs and drawings.
Related tools
- Room Areas, Paint, Tiles & Heat Loss Calculator – Floor areas, paint, tiles, skirting, volumes, daylight and heat loss from a plan of walls.
- Kerfwise Cabinet Builder – Parametric cabinet → every part with cut sizes, edge banding, drilling and hardware.
How to use the IFC4 Export for Room Plans
Turn a room plan of walls, doors, windows and furniture into an IFC4 file for BIM software, and read the built-in validation report before you share it.
What it is for
Architects, energy consultants and contractors exchange building models as IFC. If you have planned a flat or a small house with walls, doors and windows, this tool writes that plan as an IFC4 file that BIM viewers and authoring tools can open. Use it to hand a survey sketch to a designer, to check quantities in your own BIM software or to place Kerfwise cabinets in a wider model.
The file contains the project, site, building and storeys, every wall piece between junctions with mitred corners and material layers, openings cut through the walls and filled by doors and windows, floor slabs, a roof slab on the top storey, one space per room with its base quantities, and cabinets as furniture boxes. Lengths are millimetres, areas square metres and volumes cubic metres.
The tool then reads its own file back with an independent parser and validates it. It is a concept model, not a certified export for permit submissions.
Worked example
The first example is the L-shaped flat from the room calculator: an external wall with four layers, two partitions, three windows, three doors and three furniture boxes. The result:
- 828 instances, 43.4 KB, one storey, 11 walls, 3 doors, 3 windows and 3 spaces.
- The validation callout says: the file was read back by an independent parser, 828 instances, 39 entity types, every check passed.
Why 11 walls from three drawn walls? The external wall has six segments. The kitchen partition meets one segment and the bathroom partition meets two others, so those are split at the junctions into nine pieces, plus the two partitions.
The second example, a two-storey studio house, gives 759 instances with 2 storeys, 3 slabs (two floors and the roof), 11 walls, 2 doors, 3 windows and 3 spaces. The date field puts 2026-11-02 into the file header; leave it empty and the header uses 1970-01-01, so the same plan always produces a byte-identical file.
How to read the result
- Validation of the re-parsed file lists twelve checks: ISO 10303-21 syntax, the IFC4 schema identifier, entity names as spelled in the IFC4 schema, attribute counts, mandatory and derived attributes, enumeration values, references, value and reference types, GlobalIds, the spatial structure, openings with their voids and fillings, and base quantities.
- Entities in the file counts every IFC entity type. It is a quick way to confirm that all doors, windows and spaces arrived.
- The download is the .ifc file itself.
- Room warnings from the plan, such as an opening that runs into a junction, are repeated so that you fix them before exporting.
Tips and common mistakes
- Fix the plan first in the room calculator or the Room planner: an open wall loop gives no spaces and no slabs.
- Keep element ids stable. GlobalIds are derived from the plan name and the ids, so renaming the plan gives every element a new GlobalId.
- Wall material layers only appear when you enter layers; plain walls get a thickness but no material.
- Furniture is exported as boxes of its outer size. Use them for clash checks, not for joinery.
- Run your BIM software's own checker before you send the file on.
FAQ
Which IFC version does it write?
IFC4 (ISO 16739-1:2018, IFC4 ADD2 TC1) as a STEP physical file. The attribute lists used for the checks come from the official EXPRESS schema.
Will the file open in other BIM software?
The example files also pass IfcOpenShell's schema and rule validation, and its geometry kernel builds every wall with its openings cut out. Still, test the file in the program you will use.
What is missing compared with a full BIM export?
There is no owner history, no space boundaries, no wall connection relationships and no stairs or roofs other than a flat slab. Holes in rooms, such as a free-standing column wall, are not cut out of the space geometry, although the space quantities account for them.
Can I export a Kerfwise kitchen project directly?
Yes. Paste the .kerfwise.json project: its kitchen walls, windows, doors, cabinets and appliances are converted into a room model first.
Guide last updated:
For scripts and AI agents
- JSON API:
POST https://kerfwiseifcexport.usefulweb.app/api/v1/calculate(same calculation as this page) - Interface description: OpenAPI 3.1 · AI guide: llms.txt
- MCP server (Streamable HTTP):
https://kerfwiseifcexport.usefulweb.app/mcp· tool namekerfwise_ifc_export
Example request
curl -s -X POST https://kerfwiseifcexport.usefulweb.app/api/v1/calculate \
-H 'content-type: application/json' \
-d '{…see OpenAPI examples…}'