Befehlszeile und MCP
Alles, was Sie in BIMopen tun, ist ein Befehl. Ein Klick auf Wand und zwei Punkte im Grundriss
führen denselben Befehl wall aus, den Sie auch selbst eingeben können. Dieses Kapitel beschreibt
die Befehlszeile des Fensters, das Programm bimopen-cli, das dieselben Befehle ohne Fenster
ausführt, und den MCP-Server, über den ein KI-Agent ein Projekt modellieren, prüfen und rendern
kann.
Die Befehlszeile im Fenster
Die Befehlszeile befindet sich unter dem Zeichenbereich. Ihr oberer Teil ist das Protokoll; in ihrer letzten Zeile geben Sie ein.
- Sie müssen nicht zuerst hineinklicken: Alles, was Sie eingeben, während kein anderes Feld bearbeitet wird, landet dort.
- Enter führt die Zeile aus. Der Befehl wird im Protokoll nach einem
>wiederholt, gefolgt von seinem Ergebnis; ein Fehler wird rot angezeigt und ändert nichts. - Up und Down holen die zuvor eingegebenen Zeilen zurück.
- Links in der Zeile sagt die Eingabeaufforderung, was erwartet wird:
Command:, wenn kein Werkzeug aktiv ist, oder die Anfrage des aktiven Werkzeugs, etwaWALL next point [Esc to finish]:. helplistet alle Befehle mit einer Zeile Beschreibung auf;help wallzeigt die Verwendung eines Befehls. ? ▸ Befehle in der Titelleiste bewirkt dasselbe wiehelp.
Eingegebene Kürzel starten die Werkzeuge
Ein ohne Argumente eingegebener Befehl startet das interaktive Werkzeug, als hätten Sie auf
seine Schaltfläche geklickt: WA (oder wall) startet das Wandwerkzeug, DR das Türwerkzeug,
VG öffnet Sichtbarkeit/Grafik. Derselbe Befehl mit Argumenten erledigt die Arbeit sofort,
ohne das Werkzeug: wall 0,0 5,0 zeichnet eine Wand vom Ursprung 5 m entlang x.
Befehlsnamen, ihre Kurzformen und ihre Argumente sind in jeder Sprache der Benutzeroberfläche
gleich; die meisten akzeptieren auch einen italienischen Namen, etwa muro für wall.
Parameternamen, Typnamen und Ansichtsnamen folgen der Sprache der Benutzeroberfläche: Auf Englisch
geben Sie set Unconnected Height 2.7m ein, auf Italienisch set Altezza non collegata 2.7m. Das
Kapitel zu den Tastenkürzeln listet alle Kurzformen auf.
Punkte und Längen
| Eingabe | Bedeutung |
|---|---|
3,4 |
Der Punkt x = 3 m, y = 4 m |
@2,0 |
2 m entlang x und 0 entlang y vom vorherigen Punkt |
@4<90 |
4 m vom vorherigen Punkt, unter 90° (Winkel gegen den Uhrzeigersinn ab der x-Achse) |
2.7m, 270cm, 2700mm |
Eine Länge mit ihrer Einheit |
2.7 oder 2,7 |
Eine Länge in Metern: In der Befehlszeile ist eine Zahl ohne Einheit in Metern |
Zum Beispiel zeichnet wall 0,0 @6,0 @4<90 0,4 c ein Rechteck von 6 × 4 m; das abschließende c
schließt es.
Warning
In der Befehlszeile bedeutet set Unconnected Height 2700 2700 Meter. Schreiben Sie die
Einheit: 2700mm. In der Palette Eigenschaften dagegen ist eine Zahl ohne Einheit in den
Einheiten des Projekts, in einem neuen Projekt Millimeter.
Argumente in JSON
Jeder Befehl nimmt seine Argumente auch als JSON-Objekt entgegen, das Zugriff auf alle seine Optionen
gibt. Die Verwendungszeile von help listet sie auf:
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"}
Häufig verwendete Befehle
| Befehl | Funktion |
|---|---|
new, sample |
Ein neues Projekt, das Beispielprojekt |
open house.bimopen, save house.bimopen |
Öffnet und speichert ein Projekt |
undo, redo |
Macht die letzte Änderung rückgängig und stellt sie wieder her |
view 3d, view Ground Floor |
Öffnet die Standard-3D-Ansicht oder den Grundriss einer Ebene |
wall, door, window, floor, roof |
Modellelemente: siehe die Verwendung mit help |
select walls, select all, deselect |
Wählt nach Kategorie, alles, nichts aus |
set <parameter> <value> |
Setzt einen Parameter der Auswahl, wie in der Palette Eigenschaften |
type <type name> |
Ändert den Typ der Auswahl oder des nächsten Elements |
move 1,0, copy 0,3, rotate 90 |
Ändert die Auswahl |
delete |
Löscht die Auswahl |
list walls, params 102, info |
Listet Elemente auf, die Parameter eines Elements, eine Zusammenfassung des Projekts |
schedule doors |
Zeigt eine Bauteilliste in der Befehlszeile |
export house.ifc |
Exportiert IFC, SVG, PNG oder CSV, je nach Dateierweiterung |
Jedes Element hat eine Nummer, seine ID, die nach dem Erzeugen in Klammern angezeigt wird:
Door «Single swing door 80x210» in wall 102 (106). Befehle akzeptieren sie, wo sie ein Element
benötigen: params 106, delete 106.
bimopen-cli
bimopen-cli führt BIMopen ohne Fenster aus: um Dateien zu konvertieren, ein Projekt aus einem
Skript aufzubauen, ein Modell zu prüfen oder Agenten über MCP zu bedienen. Erstellen Sie es mit
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]
| Unterbefehl | Funktion |
|---|---|
info <file> |
Eine Zusammenfassung des Projekts und, in JSON, seine Ebenen, die Anzahl der Elemente und die aktive Ansicht |
convert <in> <out> |
Öffnet <in> (.bimopen oder .rvt) und schreibt <out>: .ifc, .svg oder .png eines Grundrisses (die unterste Ebene oder --level), .png der 3D-Ansicht (--view 3d), .csv einer Bauteilliste (--schedule) oder .bimopen |
run |
Öffnet eine Datei, das Beispiel oder ein neues Projekt und führt dann die Optionen der Reihe nach aus: --cmd eine Zeile, --script eine Datei mit Zeilen (leere Zeilen und Zeilen, die mit # beginnen, werden übersprungen), --save und --export eine Datei |
commands |
Alle Befehle, mit ihrer Beschreibung und Verwendung |
mcp |
Der MCP-Server auf Standardeingabe und Standardausgabe |
--version |
Die Version |
Die Meldungen erscheinen in der Sprache der Umgebungsvariablen BIMOPEN_LANG (it, en, de,
fr, es, ar), andernfalls des Systems (LANG), andernfalls auf Italienisch. bimopen-cli
endet mit Code 0, wenn alles funktioniert hat, mit 1, wenn ein Befehl fehlgeschlagen ist (die
Meldung sagt, welcher), und mit 2, wenn die Argumente falsch sind (es gibt die Verwendung aus).
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
Ein Skript ist eine Textdatei mit einem Befehl pro Zeile, genau so, wie er in der Befehlszeile eingegeben wird:
Die Bauteillisten werden als CSV geschrieben, mit ; zwischen den Spalten, den Überschriften in der
Sprache der Meldungen und einer Summenzeile am Ende.
MCP: BIMopen für KI-Agenten
Das Model Context Protocol (MCP) ermöglicht es einem KI-Agenten, Programme als Werkzeuge zu
verwenden. bimopen-cli mcp ist ein MCP-Server: Er spricht JSON-RPC 2.0 auf Standardeingabe und
Standardausgabe, eine Nachricht pro Zeile, und hält ein Projekt für das ganze Gespräch geöffnet.
Ohne Datei beginnt er mit einem neuen Projekt; --sample beginnt mit dem Beispielhaus.
Um ihn einem Agenten hinzuzufügen, geben Sie dem Agenten den Startbefehl. Zum Beispiel in Claude Code:
oder in einem mit JSON konfigurierten Client:
Der Server bietet sieben Werkzeuge:
| Werkzeug | Argumente | Funktion |
|---|---|---|
command_line |
line |
Gibt eine Zeile in die Befehlszeile ein, genau wie ein Mensch es tun würde |
execute |
command, args |
Führt einen Befehl mit seinen Argumenten in JSON aus |
inspect_model |
– | Eine Zusammenfassung: Ebenen, Anzahl der Elemente, aktive Ansicht, Auswahl |
query_elements |
category (optional) |
Die Elemente, mit ID, Kategorie und Name: walls, doors, windows, floors, rooms, roomseps, grids, levels, types |
get_params |
id |
Alle Parameter eines Elements |
schedule |
kind |
Eine Bauteilliste: walls, doors, windows, floors, rooms oder materials |
render |
view, width, height, yaw, pitch |
Ein PNG-Bild einer Ansicht: 3d, der Name einer Ebene für ihren Grundriss, eines Schnitts, einer Ansicht, eines Detailausschnitts oder einer Zeichenansicht, oder die Nummer oder der Name eines Plans; yaw und pitch drehen die 3D-Kamera, in Grad |
Die Antworten enthalten die Meldung des Befehls und, sofern vorhanden, seine Daten in JSON, etwa die IDs der erzeugten Elemente. Ein Agent kann seine eigene Arbeit prüfen, indem er ein Rendering anfordert.
Tip
Bitten Sie den Agenten, nach jedem Schritt den Grundriss und die 3D-Ansicht zu rendern: Er sieht, was er gebaut hat, und korrigiert sich selbst.