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, commeWALL next point [Esc to finish]:. helprépertorie toutes les commandes avec une ligne de description ;help wallaffiche le mode d'emploi de l'une d'elles. ? ▸ Commandes dans la barre de titre fait la même chose quehelp.
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 :
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 :
ou, dans un client configuré en JSON :
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.