Zurück zur Startseite

Renga API und KI-Agenten für BIM

Der Artikel beschreibt die Integration von KI-Agenten mit Renga API über COM zur Automatisierung von BIM-Aufgaben. Er umfasst Vergleich mit Revit, Python-Bibliothek py_renga, Agenten-Pipeline und STDL-Familiengenerierung. Code-Beispiele und wichtigste Vorteile werden bereitgestellt.

KI-Agenten meistern Renga API: COM und Python
Advertisement 728x90

Integration von KI-Agenten mit der Renga API zur Automatisierung von BIM-Prozessen

Die Renga API nutzt eine COM-Architektur, die es KI-Agenten ermöglicht, die Anwendung extern zu steuern, ohne Plugins kompilieren zu müssen. Im Gegensatz zur Revit API, die Code in eine AppDomain lädt, unterstützt Renga externe Aufrufe über die ProgID "Renga.Application.1". Dies vereinfacht die Integration mit Python-Skripten und Agenten und bietet Zugriff auf Modelle, Objekte und Geometrie.

Die py_renga-Bibliothek stellt Kernmodule für COM-Interaktion und Fähigkeiten für Agenten bereit. Ihre Struktur umfasst lokale Dokumentation aus RengaCOMAPI.tlb, Objektreflexion und vorgefertigte Funktionen zum Öffnen von Projekten und Erstellen von Elementen.

Vergleich von Renga API und Revit API

| Aspekt | Renga API | Revit API |

Google AdInline article slot

|--------|-----------|-----------|

| Kerntechnologie | COM (externe Schnittstelle) | .NET (AppDomain) |

| Bereitstellung | DLL oder Python-Skripte | Nur DLL |

Google AdInline article slot

| Sprachen | C++, C#, Python | C#, Python (über Wrapper) |

Der COM-Ansatz von Renga ermöglicht das Starten der Anwendung und ihre Verwaltung als externen Prozess. Python wird nativ über die Typbibliothek unterstützt, ohne zusätzliche Tools. Das SDK v2.46 enthält C++-Header, .NET-Assemblys, Beispiele in drei Sprachen und eine tlb-Datei für Interop.

Für KI-Agenten sind Schlüsselszenarien externe Automatisierung über ROT und Schnittstellenreflexion. Der Agent analysiert Objektdumps, gleicht sie mit der Dokumentation ab und generiert Skripte.

Google AdInline article slot

Verbindung zu Renga über Python

Minimaler Code zum Starten und Arbeiten mit einem Modell:

import comtypes.client

PROG_ID = "Renga.Application.1"
app = comtypes.client.CreateObject(PROG_ID)
app.Visible = True

result = app.CreateProject()
if result != 0:
    raise RuntimeError(f"CreateProject failed with code {result}")

project = app.Project
model = project.Model
objects = model.GetObjects()
print(f"Objects count: {objects.Count}")

for index in range(objects.Count):
    obj = objects.GetByIndex(index)
    print(getattr(obj, "Name", None))

Dieses Skript erstellt ein Projekt, extrahiert eine Sammlung von Objekten und deren Eigenschaften. Für Agenten ist dump_object(com_object: Any) -> Dict[str, Any] implementiert, das Schnittstellen, Eigenschaften und Methoden mit Typen und Werten zurückgibt.

Arbeitsablauf-Pipeline für KI-Agenten

Der Agent folgt einem Zyklus:

  • Ruft einen Fähigkeitenkatalog über get_skills_catalog() ab.
  • Wendet eine vorgefertigte Fähigkeit an oder erstellt einen Objektdump.
  • Analysiert den Dump und sucht nach Schnittstellen in RengaAPI_Docs.
  • Generiert und testet ein Skript.
  • Korrigiert Fehler iterativ bis zum Erfolg.

Implementierte Fähigkeiten umfassen:

  • Verbinden/Trennen der Anwendung;
  • Öffnen/Speichern von Projekten;
  • Lesen/Schreiben von Objektparametern;
  • Erstellen/Löschen von Elementen;
  • Dumping von Geometrie und Reflexion.

Beispiele: Der Agent generiert Wände aus Text, berechnet Volumen/Flächen und erstellt parametrische Objekte.

RengaSTDL: Codebasierte Familien-Generierung

RengaSTDL ist ein SDK, das Lua + JSON für parametrische Vorlagen (.rst) verwendet. Der Agent generiert ein Lua-Skript mit Geometrie, eine JSON-Spezifikation und kompiliert es über RstBuilder.exe.

Prozess:

  • Eingabe von Anforderungen (Abmessungen, Parameter).
  • KI schreibt Lua-Code und JSON.
  • Kompilierung in .rst.
  • Import in Renga.

Beispiel: Ein Stuhl mit parametrisierter Höhe/Breite, generiert aus einer Beschreibung. Lua ermöglicht berechnete Geometrie ohne grafischen Editor und senkt die Hürde für Prototypen.

Dokumentation und Beispiele in RengaSTDL_Docs/ sind in die Bibliothek für Reflexion integriert.

Wichtige Erkenntnisse

  • COM-Schnittstellen ermöglichen externe Steuerung ohne Kompilierung, ideal für KI-Agenten.
  • Python-Fähigkeiten mit Dumping und Reflexion beschleunigen das API-Lernen.
  • STDL mit Lua ermöglicht die Generierung von Familien aus Anforderungen ohne manuelle Codierung.
  • Agenten-Pipeline: Analyse → Generierung → Test → Iteration reduziert die Plugin-Entwicklungszeit.
  • Open-Source-py_renga-Repository mit AGENTS.md für den schnellen Einstieg.

— Editorial Team

Advertisement 728x90

Weiterlesen