For your IT and engineers

IFC and ifcxa

How Studio opens and writes IFC, keeps element IDs stable across exports, and stores its own model.

Open an IFC file

Choose Import IFC… from the project picker (or ⇧⌘I). Studio makes a new project from the file. Imported elements keep their own GlobalIds.

To bring in the project open in your Archicad without saving the file yourself, use Import from Archicad… (⌥⇧⌘A). See Import from Archicad.

To bring in a Revit .rvt file, use Import from Revit… (⌥⇧⌘T). See Import from Revit.

Write IFC

Choose Export… and pick IFC4 or IFC2X3. See Export.

What a file holds:

  • A wall is an IfcWall with an Axis (its location line, which Revit and Archicad read) and a Body extruded from its footprint. A wall with a type gets an IfcWallType and a material layer set with its layers.
  • A door or window fills an IfcOpeningElement that voids its wall, and is typed by an IfcDoorType or IfcWindowType named by its mark.
  • Rooms are IfcSpaces.

That is what lets Revit and Archicad open the file as typed walls with hosted doors and windows.

Keep element IDs across exports

An element keeps its GlobalId every time you export: one that came in from an IFC file keeps its own, and one made in Studio gets an ID derived from the model and the element, the same every time. So Revit and Archicad link a re-export to the same elements, and BCF topics find them.

Exported files keep their GlobalIds, show a moved wall moved in place, and pass IfcOpenShell's validation with no error.

The ifcxa model

Studio keeps each project's model in ifcxa, Urbium's model engine, as a model.ifcxa folder inside the project. The engine runs inside Studio, in its own bundled Python, so nothing extra needs installing.

  • Every edit, yours or the agent's, is a change the engine checks before it lands; an edit it refuses comes back with the reason.
  • Each conversation's changes are kept apart from the base model until you accept them.
  • Sheets, rule checks, quantities and exports are all read from the same model.

Note. ifcxa is not published. To exchange a model with other tools, export IFC.

Third-party libraries

The bundled engine uses IfcOpenShell, Open CASCADE and planegcs, which ship as separate libraries under the LGPL, with their notices and source links in the app's licenses folder.