IFC Product Library for Bonsai — v0.3-alpha
Pre-releaseIFC Product Library for Bonsai — v0.3-alpha
An open-source IFC product library addon for Bonsai, providing browse, search, insert, import wizard, and array placement for manufacturer IFC products in open BIM projects.
Tested with Blender 5.1.0 / Bonsai 0.8.5 and Blender 4.5.4 / Bonsai 0.8.3.
What this addon does
Most building product manufacturers do not publish their products in IFC format. Of those that do, many fall short of the standard required for use in a Native IFC workflow — wrong entity types, missing property sets, absent material definitions, or geometry that parses but fails validation.
This addon addresses both problems:
Format conversion — the import wizard converts manufacturer geometry from OBJ, STEP, and other common formats into IFC before products enter the library. Manufacturers' existing 3D assets become usable in a Native IFC workflow without re-modelling.
Quality gate — every product in the library is structured around a product.json carrying:
- IFC class and predefined type
- Uniclass 2015 classification code and description
- Physical dimensions and weight
- Material specification
- Mounting type
- Tags for search
This structured data is what manufacturer-published IFC files typically omit.
Features in this release
Browse and search
- Hierarchical category browser (e.g. Sanitaryware → Basins → Wall-hung)
- Full-text search across all products
- Product card showing dimensions, weight, IFC class, Uniclass code, material, mounting, and tags
Insert into model
- One-click insertion at 3D cursor as a correctly classified IFC element
- Correct IFC class, predefined type, and property sets applied on insertion
Array placement
- Single or array placement mode
- Along X or Along Y axis
- Configurable beam length, spacing, span length, and start/end offsets
- Bearing preset options (masonry, timber)
- Odd gap handling
Span advisory (structural products)
- Live span table lookup for PosiJoist metal web joists
- Section options displayed with maximum span and status (pass/short)
- Load case selection (domestic floor, domestic roof, etc.)
- Source attribution and structural engineer disclaimer shown prominently
- Advisory only — not a substitute for structural engineer sign-off
Import wizard
- Converts OBJ, STEP, and other formats to IFC
- Unit detection and conversion
- Face count optimisation
- STEP conversion via Mayo (optional — Mayo executable path configurable in preferences)
Add New Product
- Guided wizard for adding new products to the library
- Generates correctly structured
product.json
Current library contents (12 products)
| Category | Products |
|---|---|
| Sanitaryware — Basins | 5 (wall-hung and pedestal) |
| Sanitaryware — WC Pans | 1 (back-to-wall, rimless) |
| Insulation | 1 (Knauf rigid board, basic wall) |
| Structural — Universal Beams | 3 (BS steel section, IPE-100-50-4, IPE-450-50) |
| Structural — Metal Web Joists | 2 (MiTek PosiJoist PS8-38x76mm) |
This is a starting library to demonstrate the format. Contributions of additional products are very welcome — see Contributing below.
Installation
- Install Bonsai for Blender 5.1 or 4.5
- Download
ifc-product-library.zipfrom this release - In Blender: Edit → Preferences → Add-ons → Install... → select the ZIP → enable the addon
- In Preferences, under the addon settings, click Set Library Path... and navigate to your
ifc-product-libraryfolder - The Product Library panel will appear in the Bonsai sidebar (N panel) in the 3D viewport
Note: The library data folder is separate from the addon itself. You need to point the addon at a folder containing product data. A sample library folder is included in the ZIP.
Known limitations
- PosiJoist geometry scaling — when the joist length is changed via array placement, the current implementation scales the geometry along the length axis. This distorts the pressed steel web geometry. Parametric web tiling (correct behaviour) is planned for v0.4. The span advisory data is unaffected.
- Viewport colours — all elements currently appear in Blender's default grey. Automatic material colour assignment from product data is planned for a future release.
- 12 products — the library is small. This is intentional for a first release — quality over quantity. Contributions welcome, although I believe every user/ practice will assemble their own library.
- NOTE: Attempting to insert Insulation/ Rigid board will generate an error 'Could not tesselate geometry from product ifc'
- STEP conversion requires Mayo — Mayo is a free open-source STEP viewer/converter. If Mayo is not installed, STEP import is unavailable; OBJ and other formats work without it.
Roadmap
v0.4 (next):
- Parametric PosiJoist geometry — correct web tiling at fixed module pitch
- Viewport material colours — automatic assignment from product.json data
- IDS validation rules for library quality assurance
Future:
- Natural language wall type builder — type a build-up description, BBAAP generates IFC wall type with thermal data
- Expanded product library — more manufacturers, more categories
- BBAAP integration — thermal, circularity, and compliance data in product.json (bridge module already in development)
Contributing
Contributions of new products are very welcome. Each product requires:
- An IFC file (or source geometry for conversion)
- A completed
product.jsonwith Uniclass code, IFC class, dimensions, and material
See docs/ for the product.json schema and contribution guide.
Licence
- Addon code: MIT Licence
- Product library content: CC BY 4.0 — you may use, share, and adapt the product data with attribution
Acknowledgements
Built on Bonsai and IfcOpenShell — the open-source IFC ecosystem without which none of this would be possible.
Span advisory data for PosiJoist products: MiTek Industries Ltd. Advisory only — verify with manufacturer tables and a structural engineer.