Zum Hauptinhalt springen

Kommandozeile

Vollständige Referenz für Rayforge-Kommandozeilenoptionen.

rayforge [Optionen] [Dateinamen...]

Positionale Argumente

ArgumentBeschreibung
DateinamenSVG- oder Bilddateien beim Start.

Optionen

OptionBeschreibung
--versionVersion ausgeben und beenden.
-h, --helpHilfe ausgeben und beenden.
--loglevel STUFELog-Stufe. Standard: INFO.
--config VERZBenutzerdefiniertes Config-Verzeichnis.
--exitNach Import beenden.
--vectorImport als direkte Vektoren erzwingen.
--traceImport durch Bitmap-Tracing erzwingen.
--script SKRIPTFrühes Startskript.
--uiscript SKRIPTUI-Skript (nach Laden).

Beispiele

Datei öffnen

rayforge meinprojekt.ryp

Mehrere Dateien öffnen

rayforge teil1.svg logo.png design.ryp

Import mit Tracing

rayforge --trace foto.png

Frühes Skript ausführen und beenden

rayforge --exit --script registrieren.py \
meinprojekt.ryp

UI-Skript (Automatisierung)

rayforge --exit --uiscript screenshot.py \
meinprojekt.ryp

Stapelverarbeitung

rayforge --exit --vector eingabe.svg

Frühe Skripte (--script)

Das --script-Flag führt ein Python-Skript synchron beim Start aus, bevor Addons geladen und bevor das Hauptfenster erstellt wird. Geeignet für:

  • Plugins beim pluggy-Plugin-Manager registrieren
  • Anwendungskontext konfigurieren
  • Vorlagenfunktionen für Textfelder registrieren
  • Umgebungsvariablen vor dem Start setzen

Das Skript hat Zugriff auf den Kontext über get_context():

from rayforge.context import get_context

ctx = get_context()
# Plugins registrieren, Dienste konfigurieren, usw.

Beispiel: Benutzerdefinierte Vorlagenfunktion registrieren

"""Benutzerdefinierte Funktion für Textfeldausdrücke registrieren.

Ausführen mit: rayforge --script registrieren_fn.py
"""
from rayforge.context import get_context
from sketcher.core.template_functions import (
register_template_function,
)

register_template_function("meine_id", lambda: "TEIL-001")

Jetzt funktioniert {meine_id()} in jedem Textfeld.

Siehe Benutzerdefinierte Vorlagenfunktionen in der Sketcher-Dokumentation für ein vollständiges Tutorial.


UI-Skripte (--uiscript)

Das --uiscript-Flag führt ein Python-Skript nach dem vollständigen Laden des Hauptfensters in einem Hintergrundthread aus. Geeignet für:

  • Automatisiertes UI-Testing
  • Screenshots der Anwendung
  • End-to-End-Workflows

Das Skript kann die Anwendung und Fenster direkt importieren:

from rayforge.uiscript import app, win

Das Skript läuft in einem Hintergrundthread — achte auf Thread-Sicherheit beim Zugriff auf GTK-Widgets (verwende GLib.idle_add für GTK-Operationen).

Beispiel: Screenshot aufnehmen

"""Screenshot des Hauptfensters aufnehmen."""
from rayforge.uiscript import app, win

import gi
gi.require_version("Gtk", "4.0")
from gi.repository import GLib

def capture():
surface = win.get_surface()
if surface:
surface.write_to_png("/tmp/rayforge_screenshot.png")
return GLib.SOURCE_REMOVE

GLib.idle_add(capture)

Beide Flags verwenden

Beide --script und --uiscript können zusammen verwendet werden. Das --script läuft zuerst (synchron), dann wird das Fenster geladen, und dann läuft --uiscript:

rayforge --script fruehes_setup.py \
--uiscript automatisierung.py \
meinprojekt.ryp

Dies ist nützlich, wenn du zuerst Plugins registrieren und später die UI steuern möchtest.