bonsai-syntax-elements

Map Blender objects to IFC entities using Bonsai tool APIs.

30|4|Updated Mar 5, 2026
One-click install
npx skills add https://github.com/Impertio-Studio/Blender-Bonsai-ifcOpenshell-Sverchok-Claude-Skill-Package --skill bonsai-syntax-elements-impertio-studio
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bonsai-syntax-elements
Source: https://github.com/Impertio-Studio/Blender-Bonsai-ifcOpenshell-Sverchok-Claude-Skill-Package/tree/main/skills/bonsai/syntax/bonsai-syntax-elements
Command: npx skills add https://github.com/Impertio-Studio/Blender-Bonsai-ifcOpenshell-Sverchok-Claude-Skill-Package --skill bonsai-syntax-elements-impertio-studio

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill prevents broken IFC/BIM logic by ensuring you use the correct Bonsai tool APIs to retrieve the live IFC entity that corresponds to a selected Blender object (and vice versa), avoiding common mapping mistakes that lead to orphan data or failed production workflows.

Core Features & Use Cases

  • Blender object → IFC entity retrieval: Use tool.Ifc.get_entity(obj) to fetch the correct ifcopenshell.entity_instance (or None when the object is not linked).
  • IFC entity → Blender object mapping: Use tool.Ifc.get_object(entity) to operate on the corresponding bpy.types.Object when it exists.
  • Robust mapping and live model guards: Ensures you check for tool.Ifc.get() / IfcStore.get_file() returning None, avoids stale entity caching after reloads, and uses tool.Ifc.link() for bidirectional registration.
  • Use Case: When debugging an element selection workflow, map the active object to its IFC class, GlobalId, and step ID, then inspect related container/type/material information to generate correct downstream edits in Bonsai.

Quick Start

Ask the AI to map the active Blender object to its IFC entity using Bonsai v0.8.x syntax, verify the IFC model is loaded, and return the entity’s class name, GlobalId, and step ID (or report that the object is not IFC-linked).

Frequently Asked Questions about bonsai-syntax-elements

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I map a Blender object to an IFC entity in Bonsai?

To retrieve the Blender object linked to a specific IFC entity in Bonsai, use `tool.Ifc.get_object(entity)` to operate on the corresponding `bpy.types.Object` instance when it exists in the live model.

Why does my Blender BIM automation return stale IFC mappings after a reload?

Stale IFC mappings occur when entity caching is used after reloads; prevent this by validating that `tool.Ifc.get()` or `IfcStore.get_file()` does not return `None` and using `tool.Ifc.link()` for bidirectional linking.

How do I get the IFC class and GlobalId from a selected Blender object using IfcOpenShell?

To get the IFC class and GlobalId from a selected Blender object, map the active object to its IFC entity using `tool.Ifc.get_entity(obj)`, then inspect the returned `ifcopenshell.entity_instance` attributes.

Do I need to validate the IfcStore state before retrieving IFC entities in Blender?

Yes, you must validate the `IfcStore` or `tool.Ifc` model state is non-null before retrieving IFC entities to prevent broken BIM logic, orphan data, and failed production workflows in Bonsai.

How do I register bidirectional links between Blender objects and IFC entities?

To register bidirectional links between Blender objects and IFC entities, use `tool.Ifc.link()` to safely map `bpy.types.Object` instances to the correct `ifcopenshell.entity_instance` in a live Bonsai model.