Línea de comandos y MCP
Todo lo que haces en BIMopen es un comando. Un clic en Muro y dos puntos en la planta ejecutan
el mismo comando wall que puedes escribir tú mismo. Este capítulo describe la línea de comandos
de la ventana, el programa bimopen-cli, que ejecuta los mismos comandos sin ventana, y el
servidor MCP, a través del cual un agente de IA puede modelar, comprobar y renderizar un proyecto.
La línea de comandos de la ventana
La línea de comandos está bajo el área de dibujo. Su parte superior es el registro; su última fila es donde escribes.
- No hace falta hacer clic en ella antes: todo lo que escribes mientras no se está editando ningún otro campo va allí.
- Enter ejecuta la línea. El comando se repite en el registro tras un
>, seguido de su resultado; un error se muestra en rojo y no cambia nada. - Up y Down recuperan las líneas escritas antes.
- A la izquierda de la fila, el indicador dice lo que se espera:
Command:cuando no hay ninguna herramienta activa, o la petición de la herramienta activa, comoWALL next point [Esc to finish]:. helpenumera todos los comandos con una línea de descripción;help wallmuestra el uso de uno. ? ▸ Comandos en la barra de título hace lo mismo quehelp.
Los atajos escritos inician las herramientas
Un comando escrito sin argumentos inicia la herramienta interactiva, como si hicieras clic en
su botón: WA (o wall) inicia la herramienta de muro, DR la de puerta, VG abre
Visibilidad/Gráficos. El mismo comando con argumentos hace el trabajo de inmediato, sin la
herramienta: wall 0,0 5,0 dibuja un muro desde el origen hasta 5 m a lo largo de x.
Los nombres de los comandos, sus formas abreviadas y sus argumentos son los mismos en todos los
idiomas de la interfaz; la mayoría acepta también un nombre italiano, como muro para wall. Los
nombres de parámetros, de tipos y de vistas siguen el idioma de la interfaz: en inglés escribes
set Unconnected Height 2.7m, en italiano set Altezza non collegata 2.7m. El
capítulo sobre los atajos de teclado enumera todas las formas abreviadas.
Puntos y longitudes
| Escribes | Significa |
|---|---|
3,4 |
El punto x = 3 m, y = 4 m |
@2,0 |
2 m a lo largo de x y 0 a lo largo de y desde el punto anterior |
@4<90 |
4 m desde el punto anterior, a 90° (ángulos en sentido antihorario desde el eje x) |
2.7m, 270cm, 2700mm |
Una longitud con su unidad |
2.7 o 2,7 |
Una longitud en metros: en la línea de comandos un número sin unidad está en metros |
Por ejemplo, wall 0,0 @6,0 @4<90 0,4 c dibuja un rectángulo de 6 × 4 m; la c final lo cierra.
Warning
En la línea de comandos, set Unconnected Height 2700 significa 2700 metros. Escribe la
unidad: 2700mm. En la paleta Propiedades, en cambio, un número sin unidad está en las
unidades del proyecto, milímetros en un proyecto nuevo.
Argumentos en JSON
Cada comando acepta también sus argumentos como un objeto JSON, que da acceso a todas sus
opciones. La línea de uso de help las enumera:
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"}
Comandos que usarás a menudo
| Comando | Qué hace |
|---|---|
new, sample |
Un proyecto nuevo, el proyecto de ejemplo |
open house.bimopen, save house.bimopen |
Abre y guarda un proyecto |
undo, redo |
Deshace y rehace el último cambio |
view 3d, view Ground Floor |
Abre la vista 3D por defecto, o la planta de un nivel |
wall, door, window, floor, roof |
Elementos del modelo: consulta el uso con help |
select walls, select all, deselect |
Selecciona por categoría, todo, nada |
set <parameter> <value> |
Define un parámetro de la selección, como en la paleta Propiedades |
type <type name> |
Cambia el tipo de la selección, o del próximo elemento |
move 1,0, copy 0,3, rotate 90 |
Modifica la selección |
delete |
Elimina la selección |
list walls, params 102, info |
Enumera elementos, los parámetros de uno, un resumen del proyecto |
schedule doors |
Muestra una tabla de planificación en la línea de comandos |
export house.ifc |
Exporta IFC, SVG, PNG o CSV, según la extensión del archivo |
Cada elemento tiene un número, su id, que se muestra entre paréntesis tras crearlo:
Door «Single swing door 80x210» in wall 102 (106). Los comandos lo aceptan donde necesitan un
elemento: params 106, delete 106.
bimopen-cli
bimopen-cli ejecuta BIMopen sin ventana: para convertir archivos, construir un proyecto a partir
de un script, comprobar un modelo o servir a agentes mediante MCP. Compílalo con
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]
| Subcomando | Qué hace |
|---|---|
info <file> |
Un resumen del proyecto y, en JSON, sus niveles, el recuento de elementos y la vista activa |
convert <in> <out> |
Abre <in> (.bimopen o .rvt) y escribe <out>: .ifc, .svg o .png de una planta (el nivel más bajo, o --level), .png de la vista 3D (--view 3d), .csv de una tabla de planificación (--schedule), o .bimopen |
run |
Abre un archivo, el ejemplo o un proyecto nuevo, y luego ejecuta las opciones en orden: --cmd una línea, --script un archivo de líneas (las líneas vacías y las que empiezan por # se omiten), --save y --export un archivo |
commands |
Todos los comandos, con su descripción y su uso |
mcp |
El servidor MCP en la entrada y la salida estándar |
--version |
La versión |
Los mensajes están en el idioma de la variable de entorno BIMOPEN_LANG (it, en, de,
fr, es, ar), o del sistema (LANG), o en italiano. bimopen-cli termina con el código 0
cuando todo ha funcionado, 1 cuando un comando ha fallado (el mensaje dice cuál) y 2 cuando los
argumentos son incorrectos (imprime el uso).
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 es un archivo de texto con un comando por línea, exactamente como se escribe en la línea de comandos:
Las tablas de planificación se escriben como CSV con ; entre las columnas, los encabezados en el
idioma de los mensajes y una fila de totales al final.
MCP: BIMopen para agentes de IA
El Model Context Protocol (MCP) permite que un agente de IA use programas como herramientas.
bimopen-cli mcp es un servidor MCP: habla JSON-RPC 2.0 en la entrada y la salida estándar, un
mensaje por línea, y mantiene un proyecto abierto durante toda la conversación. Sin archivo, parte
de un proyecto nuevo; --sample parte de la casa de ejemplo.
Para añadirlo a un agente, dale al agente el comando que debe iniciar. Por ejemplo, en Claude Code:
o, en un cliente configurado con JSON:
El servidor ofrece siete herramientas:
| Herramienta | Argumentos | Qué hace |
|---|---|---|
command_line |
line |
Escribe una línea en la línea de comandos, exactamente como lo haría una persona |
execute |
command, args |
Ejecuta un comando con sus argumentos en JSON |
inspect_model |
– | Un resumen: niveles, recuento de elementos, vista activa, selección |
query_elements |
category (opcional) |
Los elementos, con id, categoría y nombre: walls, doors, windows, floors, rooms, roomseps, grids, levels, types |
get_params |
id |
Todos los parámetros de un elemento |
schedule |
kind |
Una tabla de planificación: walls, doors, windows, floors, rooms o materials |
render |
view, width, height, yaw, pitch |
Una imagen PNG de una vista: 3d, el nombre de un nivel para su planta, de una sección, un alzado, una llamada o una vista de diseño, o el número o el nombre de un plano; yaw y pitch giran la cámara 3D, en grados |
Las respuestas contienen el mensaje del comando y, cuando los hay, sus datos en JSON, como los ids de los elementos creados. Un agente puede comprobar su propio trabajo pidiendo un renderizado.
Tip
Pide al agente que renderice la planta y la vista 3D después de cada paso: ve lo que ha construido y se corrige a sí mismo.