ifcos-syntax-fileio

Read, create, write, and serialize IFC files with schema-aware safety checks.

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 ifcos-syntax-fileio-impertio-studio
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ifcos-syntax-fileio
Source: https://github.com/Impertio-Studio/Blender-Bonsai-ifcOpenshell-Sverchok-Claude-Skill-Package/tree/main/skills/ifcopenshell/syntax/ifcos-syntax-fileio
Command: npx skills add https://github.com/Impertio-Studio/Blender-Bonsai-ifcOpenshell-Sverchok-Claude-Skill-Package --skill ifcos-syntax-fileio-impertio-studio

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Prevents failing or invalid IFC outputs caused by incorrect file I/O patterns, missing schema configuration, and unsafe multi-step changes without transaction control.

Core Features & Use Cases

  • Open, create, and serialize IFC models: Load existing IFC/IFCZIP/IFCXML, generate new files, and export to disk or as a string for downstream pipelines.
  • Production-grade vs testing workflows: Use header-populated ifcopenshell.api.project.create_file() for real projects, and reserve ifcopenshell.file(schema=...) for prototyping.
  • Undo/redo-safe transaction management: Wrap modifications in transactions to avoid corrupted undo history and to ensure predictable rollback behavior on failure.
  • Schema-aware I/O guardrails: Explicitly select schema/version, verify model.schema after opening, and avoid schema-mismatch entity usage.

Quick Start

Ask Claude to open an existing IFC file, verify its schema, apply a controlled transaction-based modification, and write the result back to a new output IFC path.

Frequently Asked Questions about ifcos-syntax-fileio

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

FAQPage Schema
How do I safely read and write IFC files using IfcOpenShell?▼

To safely read and write IFC files using IfcOpenShell, explicitly select the schema and version, then wrap modifications in transaction begin/end pairs to ensure rollback safety and prevent corrupted undo history.

Why does my IFC file output fail schema validation after writing?▼

IFC file output fails schema validation when the schema is missing or mismatched. You must explicitly select the schema/version during creation and verify the `model.schema` property after opening to avoid using entities that do not match the target schema.

What is the best way to create a production-ready IFC file?▼

The best way to create a production-ready IFC file is using `ifcopenshell.api.project.create_file()`, which generates properly populated IFC headers. You should reserve `ifcopenshell.file(schema=...)` only for prototyping and testing workflows.

How do I implement undo and redo support for IFC model edits?▼

To implement undo and redo support for IFC model edits, wrap your modifications in transaction begin/end pairings. This deterministic multi-step transaction control avoids corrupted undo history and ensures predictable rollback behavior on failure.

Can I export IFC models to STEP, XML, or ZIP formats?▼

Yes, you can serialize and export IFC models to STEP, XML, or ZIP formats. The Skill supports loading existing IFC, IFCZIP, and IFCXML inputs, and writing the modified results back to disk or as a string for downstream pipelines.

When should I not use blank file creation methods for IFC writing?▼

You should not use blank file creation methods like `ifcopenshell.file(schema=...)` for production IFC writing because it lacks proper header population. Using it for real projects risks generating invalid or incomplete IFC outputs.