What else is in the box

You do not have to assemble anything. Clash detection, model checking, schedules, drawings, quantities, cost, programme, patching, version control - they are all inside the add-on you have already installed. There is no toolchain to put together before you can start, and nothing on this page is a shopping list.

You have been using the box the whole time

Bonsai is built out of some fifty-odd modules, and most of the ones that matter have already appeared in this guide. Searching and filtering, drawings and sheets, schedules and quantity take-off, clash detection, IDS checking, BCF, Git support, cost items and work programmes, patching, facility management handover.

Each of those is a part of Bonsai rather than a separate program you have to acquire. When this guide has said “Bonsai will do X”, it has almost always meant “there is a module for X, and it is already installed”.

That is a genuine divergence from how Free Software in this area is often described. Somebody made the decision to bundle rather than to distribute a kit, and it is the reason a beginner can do useful work on the first afternoon.

Most of them have a command-line twin

Underneath, many of these modules are a front end onto a standalone tool that also runs by itself, without Blender.

Clash detection is ifcclash. IDS checking is ifctester. Schedules are ifccsv. Comparing two files is ifcdiff. Transforming a file is ifcpatch. Converting geometry to other formats is IfcConvert. Validating a file against the standard is part of IfcOpenShell itself. It is the same code doing the same work; the only difference is whether you are driving it through a panel or a command line.

This means that anything you have learned to do in Bonsai has an automatable equivalent, and that you did not have to learn two tools to get it.

When the command line earns its keep

Not often, at first. But there are four situations where it stops being an eccentricity and becomes the obvious thing:

ifcpatch is the clearest illustration. A recipe is a named transformation, invoked like this:

python -m ifcpatch -i input.ifc -o output.ifc -r ConvertLengthUnit

There are thirty-nine of them. Some fix other people’s exports, which is the subject of Who makes Bonsai and where those recipes came from. Others are ordinary utilities - convert a file’s units, pull a subset of elements out into a new file, merge several projects into one. Any of them can be run over a folder of files by anybody who can write a loop, and none of them require you to open Blender.

If you want to write something yourself

The library underneath everything is ifcopenshell, and it is a Python library like any other. Everything in this guide - containment, types, properties, representations, queries - is reachable from it in a few lines.

You do not need to install it separately to experiment, because it is already inside Blender along with a text editor and a console, which Who makes Bonsai makes the case for at greater length.

One toolkit, not an assortment

Here is the thing that ties all of it together, and it is worth noticing because it is not obvious from a list of names.

Count the places the query language from Finding things has turned up in this guide. Choosing what a drawing contains. Picking a schedule’s rows. Filling in the text on an annotation. Deciding how much of somebody else’s model to load when you link it. Naming which elements clash detection should compare. Five jobs in five different modules, and one sentence you learned once.

So these are not thirty programs that happen to be shipped together. They are one set of ideas - the schema, the graph, the query - with different jobs attached, which is why learning one of them makes the next one easier rather than being a fresh start.

And you can ignore nearly all of it

To be clear about relevance, since this guide is willing to be: you do not need any of this yet, and possibly ever.

Model, draw, schedule, check. If a day comes when you are doing the same thing to the fortieth file in a row, you will know, and this page will still be here. Until then, the useful thing to have taken from it is only that when that day arrives, the tool already exists and you already own it.