Skip to content

Documenter l'app avec des captures (pilotage MCP)

En une phrase : Claude ouvre lui-même chaque fenêtre du plugin et la capture en image, pour produire et tenir à jour cette documentation sans clic manuel. Difficulté : pour agents IA / dev Public : agents IA (Claude), dev

L'idée

Garder une doc à jour quand l'UI bouge est pénible : il faut rouvrir chaque fenêtre, faire une capture propre, recadrer. Auguste expose des tools MCP de pilotage qui ouvrent les pop-ups du plugin, que Claude combine avec revit_screenshot pour se documenter seul.

Les tools de pilotage des pop-ups

ToolOuvre
revit_open_graphic_stylePanneau Style graphique
revit_open_sheet_wizardFenêtre Mise en page
revit_open_site_dialogFenêtre Site — LiDAR & cadastre
revit_open_topo_dialogFenêtre Topographie
revit_open_import3d_dialogFenêtre Import 3D
revit_open_family_libraryFenêtre Bibliothèque de familles
revit_close_popupsFerme toutes les pop-ups ouvertes via ce pilotage

Chaque fenêtre est ouverte en Topmost (au premier plan), pour passer au-dessus du terminal — sinon une capture plein écran montre le terminal et pas la pop-up.

revit_open_graphic_style ouvre la fenêtre en non-modal (juste pour la capture) : le bouton Appliquer de cette instance ne fonctionne pas (transaction hors contexte API). Le bouton Style graphique du ruban reste modal et pleinement fonctionnel.

La capture : revit_screenshot

jsonc
{
  "tool": "revit_screenshot",
  "params": {
    "target": "screen",                 // "screen" | "revit_window" | "region"
    "output_path": "C:/.../capture.png"
  }
}
  • screen capture l'écran entier (recommandé pour les pop-ups flottantes).
  • revit_window cadre la fenêtre principale Revit.
  • region + x/y/width/height pour une zone précise.

La capture est faite en Win32 (BitBlt), sans dépendance externe.

Le geste type (pour Claude)

text
1. revit_open_graphic_style          → la fenêtre s'ouvre en Topmost
2. revit_screenshot { target: screen } → image plein écran
3. (recadrer la fenêtre via PowerShell/System.Drawing si besoin)
4. revit_close_popups                → on nettoie avant la pop-up suivante

Pour cadrer au plus juste sans ImageMagick, un recadrage System.Drawing en PowerShell suffit (charger le PNG, Clone(rect), sauvegarder).

Et à partir d'une vidéo ?

Oui — si vous filmez l'écran (pour montrer un geste : glisser un viewport, bouger un slider de densité), la vidéo peut être découpée en captures :

  • 1 image par seconde : ffmpeg -i demo.mp4 -vf fps=1 frame_%03d.png
  • une image à chaque changement d'écran (idéal : une par pop-up) : ffmpeg -i demo.mp4 -vf "select='gt(scene,0.1)'" -vsync vfr frame_%03d.png

ffmpeg doit être installé sur le poste (winget install Gyan.FFmpeg). Le pilotage MCP ci-dessus ne nécessite, lui, aucun outil externe — c'est la voie privilégiée pour les états statiques des fenêtres ; la vidéo complète pour les gestes dynamiques.

Prérequis

  • Revit ouvert avec un modèle (ex. Snowdon Towers pour la doc).
  • Le serveur MCP lancé (port 9711) et le pont plugin connecté (GET http://127.0.0.1:9711/statusconnected: true).

Si un tool reste en timeout, Revit est occupé (édition active, ou modèle en cours de chargement) — il traite les tools MCP à un moment « idle ». Échap pour désélectionner, puis réessayer.


Public cible : agents IA (Claude), dev Dernière vérification : 2026-06-02

Plugin propriétaire — équipe 91STUDIO