algorithmic-patterns
L-systems, cellular automata, agent-based modeling, swarm intelligence, reaction-diffusion, growth algorithms, packing…
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
$ npx -y skills add Abhinavbwj/Claude-skills-for-Computational-Designers --skill bim-scripting --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/bim-scriptingContext 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
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
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.
---
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:
| 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% |
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.
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
Automate when:
Model manually when:
| 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 |
---
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
L-systems, cellular automata, agent-based modeling, swarm intelligence, reaction-diffusion, growth algorithms, packing…
Python calculators for geometry analysis, structural checking, solar calculations, panel optimization, mesh analysis, material…
Auto-activating foundation layer providing computational design paradigms, key pioneers, tools landscape, core concepts, and…
NURBS curves and surfaces, mesh geometry, boolean operations, subdivision surfaces, tessellation methods, surface analysis, and…
GIS integration, sensor data, occupancy analytics, space syntax analysis, urban data analytics, climate data processing, and API…
Rule-based design systems, constraint satisfaction, space planning algorithms, automated layout generation, drawing automation,…