Zum Inhalt
PDF

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, etwa WALL next point [Esc to finish]:.
  • help listet alle Befehle mit einer Zeile Beschreibung auf; help wall zeigt die Verwendung eines Befehls. ? ▸ Befehle in der Titelleiste bewirkt dasselbe wie help.

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:

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

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:

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

oder in einem mit JSON konfigurierten Client:

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

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.