Aller au contenu
PDF

Ligne de commande et MCP

Tout ce que vous faites dans BIMopen est une commande. Un clic sur Mur et deux points dans le plan exécutent la même commande wall que vous pouvez taper vous-même. Ce chapitre décrit la ligne de commande de la fenêtre, le programme bimopen-cli, qui exécute les mêmes commandes sans fenêtre, et le serveur MCP, grâce auquel un agent d'IA peut modéliser, vérifier et rendre un projet.

La ligne de commande de la fenêtre

La ligne de commande se trouve sous la zone de dessin. Sa partie supérieure est le journal ; sa dernière ligne est l'endroit où vous tapez.

  • Vous n'avez pas besoin de cliquer dessus au préalable : tout ce que vous tapez lorsqu'aucun autre champ n'est en cours de modification y va.
  • Enter exécute la ligne. La commande est reprise dans le journal après un >, suivie de son résultat ; une erreur s'affiche en rouge et ne change rien.
  • Up et Down rappellent les lignes tapées auparavant.
  • À gauche de la ligne, l'invite indique ce qui est attendu : Command: lorsqu'aucun outil n'est actif, ou la demande de l'outil actif, comme WALL next point [Esc to finish]:.
  • help répertorie toutes les commandes avec une ligne de description ; help wall affiche le mode d'emploi de l'une d'elles. ? ▸ Commandes dans la barre de titre fait la même chose que help.

Les raccourcis saisis lancent les outils

Une commande tapée sans arguments lance l'outil interactif, comme si vous cliquiez sur son bouton : WA (ou wall) lance l'outil de mur, DR l'outil de porte, VG ouvre Visibilité/Graphismes. La même commande avec des arguments effectue le travail immédiatement, sans l'outil : wall 0,0 5,0 dessine un mur de l'origine jusqu'à 5 m le long de x.

Les noms des commandes, leurs formes courtes et leurs arguments sont les mêmes dans toutes les langues de l'interface ; la plupart acceptent aussi un nom italien, comme muro pour wall. Les noms de paramètres, de types et de vues suivent la langue de l'interface : en anglais, vous tapez set Unconnected Height 2.7m, en italien set Altezza non collegata 2.7m. Le chapitre sur les raccourcis clavier répertorie toutes les formes courtes.

Points et longueurs

Vous tapez Signification
3,4 Le point x = 3 m, y = 4 m
@2,0 2 m le long de x et 0 le long de y à partir du point précédent
@4<90 4 m à partir du point précédent, à 90° (angles dans le sens trigonométrique à partir de l'axe x)
2.7m, 270cm, 2700mm Une longueur avec son unité
2.7 ou 2,7 Une longueur en mètres : dans la ligne de commande, un nombre sans unité est en mètres

Par exemple, wall 0,0 @6,0 @4<90 0,4 c dessine un rectangle de 6 × 4 m ; le c final le ferme.

Warning

Dans la ligne de commande, set Unconnected Height 2700 signifie 2700 mètres. Écrivez l'unité : 2700mm. Dans la palette Propriétés, en revanche, un nombre sans unité est exprimé dans les unités du projet, les millimètres dans un nouveau projet.

Arguments en JSON

Chaque commande accepte aussi ses arguments sous forme d'objet JSON, qui donne accès à toutes ses options. La ligne de mode d'emploi de help les répertorie :

wall 0,0 10,0 {"height":3.2,"location":"Linea d'asse del muro"}
roof walls {"slope":30,"overhang":0.5}
sheet A102 Plans {"title_block":"A3"}
export doors.csv {"schedule":"doors"}

Commandes d'usage courant

Commande Action
new, sample Un nouveau projet, le projet d'exemple
open house.bimopen, save house.bimopen Ouvre et enregistre un projet
undo, redo Annule et rétablit la dernière modification
view 3d, view Ground Floor Ouvre la vue 3D par défaut, ou le plan d'un niveau
wall, door, window, floor, roof Éléments du modèle : voir le mode d'emploi avec help
select walls, select all, deselect Sélectionne par catégorie, tout, rien
set <parameter> <value> Définit un paramètre de la sélection, comme dans la palette Propriétés
type <type name> Change le type de la sélection, ou du prochain élément
move 1,0, copy 0,3, rotate 90 Modifie la sélection
delete Supprime la sélection
list walls, params 102, info Répertorie les éléments, les paramètres de l'un d'eux, un résumé du projet
schedule doors Affiche une nomenclature dans la ligne de commande
export house.ifc Exporte en IFC, SVG, PNG ou CSV, selon l'extension du fichier

Chaque élément possède un numéro, son identifiant, affiché entre parenthèses après sa création : Door «Single swing door 80x210» in wall 102 (106). Les commandes l'acceptent là où elles ont besoin d'un élément : params 106, delete 106.

bimopen-cli

bimopen-cli exécute BIMopen sans fenêtre : pour convertir des fichiers, construire un projet à partir d'un script, vérifier un modèle, ou servir des agents via MCP. Compilez-le avec cargo build --release -p bimopen-cli.

bimopen-cli info <file>
bimopen-cli convert <in> <out> [--level NAME] [--view 3d] [--schedule walls|doors|windows|floors|rooms|materials]
bimopen-cli run [<file> | --sample] [--cmd LINE]… [--script FILE] [--save FILE] [--export FILE]…
bimopen-cli commands
bimopen-cli mcp [<file> | --sample]
Sous-commande Action
info <file> Un résumé du projet et, en JSON, ses niveaux, le nombre d'éléments et la vue active
convert <in> <out> Ouvre <in> (.bimopen ou .rvt) et écrit <out> : .ifc, .svg ou .png d'un plan (le niveau le plus bas, ou --level), .png de la vue 3D (--view 3d), .csv d'une nomenclature (--schedule), ou .bimopen
run Ouvre un fichier, l'exemple ou un nouveau projet, puis exécute les options dans l'ordre : --cmd une ligne, --script un fichier de lignes (les lignes vides et celles commençant par # sont ignorées), --save et --export un fichier
commands Toutes les commandes, avec leur description et leur mode d'emploi
mcp Le serveur MCP sur l'entrée et la sortie standard
--version La version

Les messages sont dans la langue de la variable d'environnement BIMOPEN_LANG (it, en, de, fr, es, ar), ou du système (LANG), ou en italien. bimopen-cli se termine avec le code 0 lorsque tout a fonctionné, 1 lorsqu'une commande a échoué (le message indique laquelle), et 2 lorsque les arguments sont erronés (il affiche le mode d'emploi).

export BIMOPEN_LANG=en
bimopen-cli run --script house.txt --save house.bimopen --export house.ifc
bimopen-cli convert house.bimopen plan.svg
bimopen-cli convert house.bimopen doors.csv --schedule doors
bimopen-cli convert house.bimopen first.png --level "First Floor"
bimopen-cli convert house.bimopen house-3d.png --view 3d
bimopen-cli convert project.rvt project.bimopen

Un script est un fichier texte contenant une commande par ligne, exactement comme on la tape dans la ligne de commande :

# a small house
wall 0,0 10,0 10,6 0,6 c
door 5,0
window 10,3
floor walls
roof walls

Les nomenclatures sont écrites en CSV avec ; entre les colonnes, les en-têtes dans la langue des messages et une ligne de total à la fin.

MCP : BIMopen pour les agents d'IA

Le Model Context Protocol (MCP) permet à un agent d'IA d'utiliser des programmes comme outils. bimopen-cli mcp est un serveur MCP : il communique en JSON-RPC 2.0 sur l'entrée et la sortie standard, un message par ligne, et garde un projet ouvert pendant toute la conversation. Sans fichier, il démarre à partir d'un nouveau projet ; --sample démarre à partir de la maison d'exemple.

Pour l'ajouter à un agent, indiquez à l'agent la commande à lancer. Par exemple, dans Claude Code :

claude mcp add bimopen -- bimopen-cli mcp --sample

ou, dans un client configuré en JSON :

{ "mcpServers": { "bimopen": { "command": "bimopen-cli", "args": ["mcp", "--sample"] } } }

Le serveur propose sept outils :

Outil Arguments Action
command_line line Tape une ligne dans la ligne de commande, exactement comme le ferait une personne
execute command, args Exécute une commande avec ses arguments en JSON
inspect_model – Un résumé : niveaux, nombre d'éléments, vue active, sélection
query_elements category (facultatif) Les éléments, avec identifiant, catégorie et nom : walls, doors, windows, floors, rooms, roomseps, grids, levels, types
get_params id Tous les paramètres d'un élément
schedule kind Une nomenclature : walls, doors, windows, floors, rooms ou materials
render view, width, height, yaw, pitch Une image PNG d'une vue : 3d, le nom d'un niveau pour son plan, d'une coupe, d'une élévation, d'un repère ou d'une vue de dessin, ou le numéro ou le nom d'une feuille ; yaw et pitch font tourner la caméra 3D, en degrés

Les réponses contiennent le message de la commande et, lorsqu'il y en a, ses données en JSON, comme les identifiants des éléments créés. Un agent peut vérifier son propre travail en demandant un rendu.

Tip

Demandez à l'agent de rendre le plan et la vue 3D après chaque étape : il voit ce qu'il a construit et se corrige.