Skip to content
Design
Skill

/bim-scripting

Revit API fundamentals, Dynamo for Revit, pyRevit framework, IFC schema and openBIM, model checking, automated documentation, clash detection, and BIM interoperability tools for AEC computational design

BOOST
From plugin
computational-design-skills
22318 skills
Install
$ npx -y skills add Abhinavbwj/Claude-skills-for-Computational-Designers --skill bim-scripting --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/bim-scripting

Context preview

The summary Claude sees to decide when to auto-load this skill.

Revit API fundamentals, Dynamo for Revit, pyRevit framework, IFC schema and openBIM, model checking, automated documentation, clash detection, and BIM interoperability tools for AEC computational design

SKILL.md

bim-scripting.SKILL.md
title: BIM Scripting
description: Revit API fundamentals, Dynamo for Revit, pyRevit framework, IFC schema and openBIM, model checking, automated documentation, clash detection, and BIM interoperability tools for AEC computational design
version: 1.0.0
tags: [BIM, Revit, Dynamo, pyRevit, IFC, openBIM, model-checking, automation, clash-detection, Speckle, BHoM]
auto_activate: true
user_invocable: true
invocation: /bim-scripting

BIM Scripting

Comprehensive reference for automating Building Information Modeling workflows through scripting, API access, and interoperability platforms. This skill covers the full spectrum of BIM automation --- from visual programming with Dynamo through deep Revit API scripting, pyRevit extension development, IFC/openBIM data exchange, model checking, automated documentation, and cross-platform interoperability via Speckle, BHoM, and Rhino.Inside.Revit.

---

1. BIM Automation Philosophy

Why Script BIM

BIM models are databases disguised as 3D geometry. Every wall, door, room, and duct segment carries structured data --- type, dimensions, material, cost code, fire rating, acoustic class, phase, workset, design option. Manual manipulation of that data does not scale. A 200-unit residential project may contain 40,000+ elements, each with 30--80 parameters. Changing a naming convention, verifying parameter completeness, or exporting coordinated drawing sets by hand is not just slow --- it is error-prone and unrepeatable.

Scripting BIM means treating the model as a programmable data source:

  • **Read** element properties at scale (audit, validate, report).
  • **Write** parameter values in batch (standards enforcement, data enrichment).
  • **Create** elements procedurally (repetitive layouts, adaptive placement).
  • **Transform** geometry computationally (facade panelization, structural optimization).
  • **Export** deliverables automatically (sheets to PDF, models to IFC, data to dashboards).

Manual vs. Automated BIM Workflows

| Workflow | Manual Approach | Automated Approach | Time Savings | |---|---|---|---| | Parameter QA | Open each element, check value | Script scans all elements, flags violations | 95% | | Sheet creation | Place views, adjust crops, add tags one by one | Script generates sheets from template rules | 90% | | Clash detection | Visual inspection in section views | Navisworks / script-based interference check | 85% | | Export to IFC | File > Export > IFC, configure, repeat per model | Batch script exports all linked models with preset mappings | 80% | | Room finish schedule | Manual schedule, manual formatting | API-generated schedule with conditional formatting | 75% | | Design option comparison | Duplicate views, switch options, compare | Script generates comparison report with metrics | 90% | | Naming convention enforcement | Manual review of browser tree | FilteredElementCollector + regex validation | 98% |

ROI of BIM Automation

The return on investment for BIM scripting follows a clear pattern:

1. **First script** --- 2-8 hours to develop, saves 1-4 hours per use. Break-even after 2-3 uses. 2. **Script library** (20-50 tools) --- 200-500 hours to develop, saves 10-30 hours per project. Break-even within 1-2 projects. 3. **Custom application** --- 500-2000 hours to develop, saves 50-200 hours per project. Break-even within 3-5 projects. 4. **Enterprise platform** --- 2000-10,000 hours to develop, transforms entire practice workflow.

The Automation Spectrum

Level 1: Visual Programming (Dynamo, Grasshopper)
  - Lowest barrier to entry
  - Best for designers who think visually
  - Limited scalability and version control
  - Good for: one-off design explorations, parameter mapping, geometry generation

Level 2: Scripting (Python in Dynamo, pyRevit, RevitPythonShell)
  - Moderate barrier to entry
  - Full API access with Python convenience
  - Version-controllable, shareable
  - Good for: batch operations, custom tools, data workflows

Level 3: Custom Tools (C# add-ins, pyRevit extensions)
  - Higher barrier to entry
  - Compiled performance, custom UI, ribbon integration
  - Deployable to teams
  - Good for: production tools, firm-wide standards enforcement

Level 4: Full Applications (standalone apps, web dashboards, microservices)
  - Highest barrier to entry
  - Complete control over UX and data pipeline
  - Cloud-scalable, multi-user
  - Good for: enterprise BIM management, cross-project analytics

When to Automate vs. When to Model Manually

Automate when:

  • The task repeats across projects or phases.
  • The task involves more than 50 elements.
  • Consistency and auditability are critical (QA/QC, code compliance).
  • The output feeds downstream processes (cost, energy, structural analysis).
  • Human error risk is high (naming, classification, spatial containment).

Model manually when:

  • The task is a one-time creative act (early concept massing).
  • Judgment and spatial intuition outweigh procedural logic.
  • The element count is small and the rules are ambiguous.
  • The cost of developing automation exceeds the cost of manual work.

BIM Maturity Levels and Automation

| BIM Level | Description | Automation Role | |---|---|---| | Level 0 | 2D CAD, no BIM | CAD scripting (AutoLISP, VBA) for drawing automation | | Level 1 | 3D modeling, 2D documentation | Basic Dynamo scripts, parameter management | | Level 2 | Federated models, structured data exchange | IFC workflows, clash detection, model checking | | Level 3 | Integrated single model, full lifecycle data | API-driven analytics, real-time dashboards, AI-assisted QA | | Level 4 (emerging) | Digital twin, IoT-connected, predictive | Continuous model sync, ML-driven optimization, autonomous agents |

---

2. Revit API Fundamentals

Architecture

The Revit API is a .NET framework (C# or VB.NET natively, Python via IronPython or CPython with RevitPythonShell/pyRevit). The object hierarchy:

UIApplication
  └── Application           (Revit a
Read more
Ships withcomputational-design-skills

Claude skills for Computational Designers

Get the whole plugin