A suite of plugins that integrate the IfcTester web application with major BIM software, providing a complete solution for IDS (Information Delivery Specification) authoring and auditing within your design environment.
Revit_9Uevr00Q4e-ezgif.com-gif-to-mp4-converter.mp4
| Platform | Windows | macOS | Documentation |
|---|---|---|---|
| Autodesk Revit | ✅ Ready | N/A | Revit Plugin Guide |
| GRAPHISOFT ArchiCAD | ✅ Ready | ✅ Ready | ArchiCAD Add-On Guide |
This repository combines the IfcTester web application (Svelte/Vite) with native plugins for BIM software, creating a seamless integration that allows users to author and validate exported IFC files against IDS specifications directly within their design environment. The web application runs in an embedded browser, while Python-based validation runs client-side via WebAssembly/Pyodide.
- BIM Software Integration:
- Dockable panels/palettes in Revit and ArchiCAD
- Select elements from IFC validation results
- Export IFC directly from the plugin
- IDS Authoring: Create and edit IDS documents with a modern web interface
- IFC Validation: Validate IFC models against IDS specifications using WebAssembly/Pyodide
- HTTP API Server: Local server for bidirectional communication
- Offline Support: Python packages bundled locally for offline operation
ifctester/
├── revit/ # Revit plugin (C#/.NET) - Windows only
│ ├── Application.cs # Entry point
│ ├── RevitApiServer.cs # HTTP API server
│ └── IfcTesterRevit.csproj # MSBuild project
├── archicad/ # ArchiCAD add-on (C++) - Windows & macOS
│ ├── Src/
│ │ ├── Main.cpp # Add-on entry point
│ │ ├── BrowserPalette.cpp # Browser control UI
│ │ └── ArchiCADApiServer.cpp # HTTP API server
│ ├── RFIX/ # Non-localizable resources
│ ├── RINT/ # Localizable resources
│ ├── CMakeLists.txt # CMake build configuration
│ └── Build/ # Generated by CMake (gitignored)
├── web/ # IfcTester web application (Svelte/Vite)
│ ├── src/
│ │ └── modules/api/ # BIM software integration modules
│ └── public/worker/ # Pyodide and Python packages
├── installer/ # Installer configurations
│ ├── IfcTesterRevit.iss # Revit installer (Windows)
│ └── IfcTesterArchiCAD.iss # ArchiCAD installer (Windows)
├── scripts/ # Build and deployment scripts
│ ├── dev.ps1 # Interactive dev menu (Windows)
│ ├── revit/ # Revit build scripts (Windows)
│ ├── archicad/ # ArchiCAD build scripts (Windows & macOS)
│ ├── web/ # Web app build scripts
│ └── utils/ # Shared utilities
└── dist/ # Release builds
The easiest way to build and deploy is using the interactive dev menu:
.\scripts\dev.ps1This provides a menu-driven interface for all build and deploy operations.
# Build only
.\scripts\revit\build.ps1 -Configuration "Debug R25"
# Build and deploy to Revit Add-ins folder
.\scripts\revit\deploy.ps1 -Configuration "Debug R25"
# Build release installer
.\scripts\revit\installer.ps1See Revit Plugin Documentation for detailed instructions.
The ArchiCAD add-on uses CMake for cross-platform builds (Windows & macOS).
Windows:
cd archicad
# Configure (generates Visual Studio solution)
cmake -B Build -G "Visual Studio 17 2022" -A x64 -DAC_API_DEVKIT_DIR="C:\path\to\API.Development.Kit.WIN.29.3100"
# Build
cmake --build Build --config Release
# Output: archicad/Build/Release/IfcTesterArchiCAD.apxmacOS:
cd archicad
# Configure (generates Xcode project)
cmake -B Build -G Xcode -DAC_API_DEVKIT_DIR="$HOME/Library/Application Support/GRAPHISOFT/API Development Kit 29"
# Build
cmake --build Build --config Release
# Output: archicad/Build/Release/IfcTesterArchiCAD.bundleDeployment scripts (Windows):
# Build and deploy to ArchiCAD Add-Ons folder
.\scripts\archicad\deploy.ps1 -Configuration Release
# Check add-on status
.\scripts\archicad\status.ps1
# Build release installer
.\scripts\archicad\installer.ps1See ArchiCAD Add-On Documentation for detailed instructions.
- Node.js 18+ and npm - Download here
- Windows 10/11 (64-bit)
- .NET SDK 8.0+ - Download here
- Autodesk Revit 2021-2026
- WebView2 Runtime (usually pre-installed)
- CMake 3.16+ - Download here
- ArchiCAD 29 API Development Kit - Download here
- GRAPHISOFT ArchiCAD 29
Windows:
- Visual Studio 2022 with C++ desktop development workload (v143 toolset)
macOS:
- Xcode with Command Line Tools
- macOS 10.15 (Catalina) or later
Both plugins expose a local HTTP API for communication with the web interface:
| Endpoint | Method | Description |
|---|---|---|
/status |
GET | Check server status |
/select-by-guid/{guid} |
GET | Select element by IFC GUID |
/ifc-configurations |
GET | List IFC export configurations |
/export-ifc |
POST | Export model to IFC |
Default Ports:
- Revit:
48881 - ArchiCAD:
48882
The web application is shared between all plugins:
# Using the build script (recommended)
.\scripts\web\build.ps1
# Or manually
cd web
npm install
npm run buildThe built files in web/dist/ are embedded in each plugin.
The quickest way to get started is the interactive dev menu:
.\scripts\dev.ps1cd web
npm run devThe dev server runs at http://localhost:5173/. Plugins can be configured to use this URL during development.
All scripts are in the scripts/ folder with a consistent structure:
| Script | Platform | Description |
|---|---|---|
dev.ps1 |
Windows | Interactive menu for all dev tasks |
revit/build.ps1 |
Windows | Build Revit plugin (uses dotnet build) |
revit/deploy.ps1 |
Windows | Build + deploy to Revit Add-ins |
revit/installer.ps1 |
Windows | Build release installer |
archicad/build.ps1 |
Windows | Build ArchiCAD add-on (uses CMake) |
archicad/deploy.ps1 |
Windows | Build + deploy to ArchiCAD Add-Ons |
archicad/installer.ps1 |
Windows | Build release installer |
archicad/status.ps1 |
Windows | Check add-on installation & API status |
archicad/build-mac.sh |
macOS | Build ArchiCAD add-on (uses CMake) |
archicad/deploy-mac.sh |
macOS | Build + deploy to ArchiCAD Add-Ons |
archicad/installer-mac.sh |
macOS | Build release DMG installer |
web/build.ps1 |
Windows | Build web application |
web/build-mac.sh |
macOS | Build web application |
utils/create-certificate.ps1 |
Windows | Create code signing certificate |
-Configuration: Build configuration (Debug R25,Release R26, etc.)-SkipBuild: Skip build step (deploy only)-SkipWebBuild: Skip web app build
- Revit: Open
revit/IfcTesterRevit.csprojin Visual Studio → F5 launches Revit with debugger attached - ArchiCAD (Windows): Open
archicad/Build/IfcTesterArchiCAD.slnin Visual Studio → Attach toARCHICAD.exe - ArchiCAD (macOS): Open
archicad/Build/IfcTesterArchiCAD.xcodeprojin Xcode → Attach to ArchiCAD process - Web: Use browser DevTools or CEF debug port (see platform-specific docs)
| Project | Build System | IDE Support |
|---|---|---|
| Revit | MSBuild / dotnet build |
Visual Studio, Rider |
| ArchiCAD | CMake | Visual Studio (Windows), Xcode (macOS) |
| Web | Vite / npm | Any editor |
Why different build systems?
- Revit is a C#/.NET project - MSBuild is the native build system with full NuGet, multi-targeting, and .NET SDK support
- ArchiCAD is a C++ project - CMake provides cross-platform builds for Windows (.apx) and macOS (.bundle) from the same source
This project combines several open-source efforts:
- IfcTester Next Web Application: Based on ifctester-next by theseyan
- Revit Plugin Architecture: Based on aectech-2025-nyc-web-aec by vwnd
- ArchiCAD Integration: Based on the ArchiCAD Browser Control API
- Fork the repository
- Create a feature branch
- Make your changes
- Test with the target BIM software
- Submit a pull request
MIT License - See LICENSE for details.
Copyright (c) 2025 Byggstyrning
- Revit Plugin Guide - Detailed Revit integration documentation
- ArchiCAD Add-On Guide - Detailed ArchiCAD integration documentation