The file is the document

Press Ctrl-S with a project open and Bonsai writes your IFC file. Not a copy of it, not an export of it, but the file itself - the one you opened, and the one you will send to somebody. That is the whole of this page. Everything else on it is a consequence.

Most BIM software keeps your work in a format of its own and treats IFC as something you produce at the end, for other people. Bonsai has no format of its own. The .ifc file is the document, in the way that a .txt file is the document when you open it in a text editor. There is nothing else to save.

The .blend is not your project

Bonsai runs inside Blender, whose own document is the .blend file. If you have used Blender before, that is the file you are in the habit of protecting. In Bonsai it is not the project, and you may never make one at all.

Bonsai does not create a .blend for you. If you have saved one yourself, Bonsai will keep it up to date when you save the project, but the initiative has to be yours - you have to go out of your way to have one.

A .blend is useful as a working file. It remembers your viewport layout, your cameras and lights, your render settings, and any scratch objects you are using that are not part of the building. Keep one if it earns its keep. The test is simple: if you lost the .blend tomorrow you would lose a little convenience, and if you lost the .ifc you would have lost the project.

No import, and no export

Open Blender’s File menu with Bonsai enabled and you will find Open IFC Project, Save IFC Project and Save IFC Project As…. There is no IFC entry under Export, because there is nothing to export - the thing you would be exporting is the thing you have.

Bonsai does put one entry under Import, and it is worth understanding. IFC (Geometry Only) loads the shapes out of an IFC file and discards everything else. It is there for the times when you genuinely want meshes rather than a model: dropping a neighbouring building into a scene, or pulling in a lump of somebody’s survey. Notice what its existence tells you. The lossy option had to be added deliberately and given a label that warns you, because losing things is not what normally happens.

With only one format there is no round trip. Nothing is converted on the way in, so nothing can be dropped on the way out. The question every BIM user learns to ask - what will survive the export? - has no answer here, because it has no subject.

Why you were taught to distrust IFC

A good many people arrive at Bonsai having learned to dislike IFC, and the feeling is earned rather than ignorant. Almost everyone meets IFC through the import and export of proprietary tools, where the implementations are partial, inconsistent and sometimes plainly wrong. Walls arrive as lumps, property sets go missing, a storey turns up at the wrong height. You judge a format by the implementations you have seen, and the ones most people have seen are poor.

What that experience actually measures is a round trip: two conversions, at least two vendors, and no way to tell which end of it mangled your model. Take the conversions away and you are measuring something else entirely. Bonsai does not translate your model when you save, because there is nothing to translate it from.

The same exporters are behind the other complaint, which is that IFC files are enormous. Models authored in Bonsai do not get to be huge, because most of their geometry is described rather than enumerated - a wall or a column is a profile and a length, which is a few numbers, rather than a bag of triangles. Models exported from elsewhere can be enormous, arriving with the same wall tessellated into a mesh and with a great deal of redundancy besides. If somebody hands you one of those, the documentation has a guide to dealing with large models, and Representations explains the distinction the file size is really about.

None of which makes every IFC file you are sent a good one. A file written by a careless exporter is still a careless file, and telling a good model from a bad one is a subject of its own - see Checking the model. But the format is not the thing that has been failing you.

You can open it and look

An IFC file is a text file. It uses a long-standing engineering exchange format called STEP, and while it is not exactly bedtime reading, it is plain, line-based and legible. You can open your model in a text editor. You can search it. You can copy a few lines of it into a message when you are asking somebody for help.

You do not have to do any of this to benefit from it. Because the file is text, its history can be kept and compared like any other document, which is what makes Revisions possible. Because it is legible, a broken file can be inspected and often repaired. And because it is open, nothing about your project is hidden from you, including the parts you did not put there yourself.

Bonsai can also write compressed and JSON variants, .ifczip and .ifcjson, but plain text is the usual thing and the one worth picturing. What is actually inside the file, and how the parts hang together, is the subject of The model is a graph of standard objects.

What follows

Nearly everything else in this guide is worked out from this one fact. Because the model is an ordinary file, other people’s programs can read and write the same one, which is how Other people’s models fit together with yours. Because it is a file, it can be versioned, branched and merged, using the same Git that the rest of the world uses for source code. And because it is not held inside anybody’s database, your work does not stop being available to you when a subscription lapses or a company changes its mind.

You are editing the deliverable. Everything else is a window onto it.