Pilotage de session Revit
Ouvrir et sauvegarder des fichiers
.rvtdepuis Claude — sans cliquer dans Revit.
Ces 2 tools sont la fondation du vibe coding sur Revit : Claude peut maintenant ouvrir un projet, le modifier (via tous les autres tools MCP), puis le sauvegarder ailleurs — sans intervention manuelle.
Pré-requis
- Revit doit déjà être ouvert avec un document (n'importe lequel — Snowdon, projet vide, etc.). Le bridge MCP ne se connecte qu'après l'activation d'une vue.
- Pour le 1er fichier d'une session : utiliser
Start-Processau niveau OS (voir Diagnostic).
revit_open_document — ouvrir un .rvt
Ouvre et active un .rvt depuis un chemin local ou UNC (NAS agence par exemple).
Paramètres
| Param | Type | Défaut | Description |
|---|---|---|---|
path | string (requis) | — | Chemin du .rvt (ex: C:/projets/villa.rvt ou \\nas\projets\villa.rvt) |
worksharing_mode | enum | "default" | detach_preserve (recommandé MCP), detach_discard, ou default (refuse central sauf override) |
audit | bool | false | Audit du fichier à l'ouverture (plus lent, recommandé si soupçon de corruption) |
allow_open_for_edit | bool | false |
Comportement
- Validation du chemin :
pathnon vide, existence vérifiée pour chemins locaux/UNC (chemins cloud BIM360 passent sans vérif et Revit gère l'erreur) - Idempotence : si le fichier est déjà ouvert dans la session Revit, retourne
already_open: truesans réouvrir. La réponse est instantanée (duration_ms ~ 0) - Worksharing :
- Fichier non workshared → ouverture directe
- Fichier workshared +
worksharing_mode="detach_preserve"→ ouvre détaché avec worksets (recommandé pour MCP) - Fichier workshared +
worksharing_mode="default"(sansallow_open_for_edit) → refuse avec message clair (protection automation)
Réponse
{
"opened": true,
"already_open": false,
"path": "\\\\192.168.1.114\\91studio\\0-REVIT\\XX_FAISA PLIANE\\XX_FAISA PLIANE_01.rvt",
"title": "XX_FAISA PLIANE_01",
"is_workshared": false,
"worksharing_mode_used": "n/a (not workshared)",
"audit": false,
"duration_ms": 63059
}Exemple
curl -X POST http://127.0.0.1:9711/tool-call \
-H "Content-Type: application/json" \
-d '{
"tool": "revit_open_document",
"params": {
"path": "\\\\192.168.1.114\\91studio\\0-REVIT\\XX_FAISA PLIANE\\XX_FAISA PLIANE_01.rvt",
"worksharing_mode": "detach_preserve"
}
}'revit_save_as — sauvegarder sous un nouveau nom
Enregistre le document actif sous un nouveau chemin. Utile pour créer des versions (_v2, _DCE, _PC…) ou archiver.
Paramètres
| Param | Type | Défaut | Description |
|---|---|---|---|
path | string (requis) | — | Chemin cible (extension .rvt obligatoire) |
overwrite | bool | false | Si true, écrase un fichier existant à ce chemin |
compact | bool | false | Compacte le fichier à la sauvegarde (plus lent, fichier plus petit) |
max_backups | int ≥ 1 | défaut Revit (3) | Nombre max de .0001, .0002… conservés |
create_dir | bool | true | Crée le répertoire parent s'il n'existe pas |
Comportement
- Validation : extension
.rvt, répertoire parent existant ou créé sicreate_dir - Protection écrasement : refuse si le fichier cible existe et
overwrite=false - Worksharing : statut workshared du document source préservé dans la réponse (
was_workshared) - Performance : sauvegarde d'un fichier de 1.2 GB sur UNC ≈ 90 secondes
Réponse
{
"saved": true,
"path": "\\\\192.168.1.114\\91studio\\0-REVIT\\XX_FAISA PLIANE\\XX_FAISA PLIANE_02.rvt",
"title": "XX_FAISA PLIANE_02",
"was_workshared": false,
"overwrote": false,
"compact": false,
"max_backups": null,
"duration_ms": 92881
}Exemple
curl -X POST http://127.0.0.1:9711/tool-call \
-H "Content-Type: application/json" \
-d '{
"tool": "revit_save_as",
"params": {
"path": "\\\\192.168.1.114\\91studio\\0-REVIT\\XX_FAISA PLIANE\\XX_FAISA PLIANE_02.rvt",
"overwrite": false
}
}'Workflow type : versionner un projet
Cas d'usage : créer une nouvelle version d'un projet client pour une phase suivante.
- Revit a déjà un projet ouvert (peu importe lequel — Snowdon, vide, ancien projet)
revit_open_documentsur le projet cible avecworksharing_mode="detach_preserve"si workshared- Vos modifications via les autres tools MCP (sélection, tags, nomenclatures, etc.)
revit_save_assur le nouveau chemin
Diagnostic
Le bridge n'est pas connecté ("Revit plugin not connected")
- Vérifier que Revit est ouvert avec un document chargé et une vue activée
curl http://127.0.0.1:9711/statusdoit retourner"connected": true
Pour le 1er fichier d'une session
Le bridge MCP démarre après l'activation de la 1re vue dans un document. Donc pour la première ouverture d'une session Revit, on ne peut pas encore utiliser revit_open_document :
# Lancer Revit avec le .rvt en argument
Start-Process "C:\Program Files\Autodesk\Revit 2024\Revit.exe" -ArgumentList "C:\projets\villa.rvt"Puis attendre que la vue s'active. À partir de là, tous les revit_open_document suivants fonctionnent.
Timeout trop court
Si vous voyez "Timeout (30000ms) pour revit_open_document" : c'est un fichier très gros (> 1 GB) sur réseau lent. Les défauts production sont :
revit_open_document: 10 min (600 s)revit_save_as: 10 min (600 s)
Si insuffisant : ajuster TOOL_TIMEOUTS dans src/mcp-server/src/config.ts puis rebuilder.