Dokumentacja Beam Bench

Korzystanie z interfejsu HTTP API

Steruj Beam Bench za pomocą dowolnego klienta HTTP. Te same operacje co w interfejsie CLI, przyjazne integracji.

Interfejs HTTP / WebSocket API aplikacji Beam Bench to ta sama warstwa, z której korzysta CLI. Jeśli masz przypadek użycia wymagający uruchomienia Beam Bench w środowisku innym niż CLI (aplikacja internetowa, serwer integracyjny, aplikacja mobilna), użyj bezpośrednio interfejsu HTTP API.

Czego potrzebujesz

  • Zainstalowanej aplikacji Beam Bench.
  • Włączonego Lokalne API w Redagować → Ustawienia → Ogólne. Domyślnie jest wyłączone.
  • Klienta HTTP (curl, biblioteki HTTP używanej w danym języku, Postmana itp.).

Sprawdzanie, czy API jest włączone

Wartości domyślne w bieżącej wersji są celowo ograniczone:

  • Lokalne API: wyłączone.
  • Port połączenia API: 5900.
  • Zezwól urządzeniom w sieci: wyłączone. Dopóki pozostaje wyłączone, serwer akceptuje połączenia tylko z tego komputera.

Otwórz aplikację desktopową, przejdź do Redagować → Ustawienia → Ogólne i włącz Lokalne API. Pozostaw opcję Zezwól urządzeniom w sieci wyłączoną w przypadku skryptów uruchamianych na tym samym komputerze. Ustawienia zaczynają obowiązywać natychmiast.

Przeczytaj stronę HTTP API przed udostępnieniem API w sieci współdzielonej Wi-Fi. API nie ma uwierzytelniania i może poruszać maszyną oraz uruchamiać laser.

Podstawowy adres URL

http://localhost:5900/api/v1

(Lub użyj lokalnego adresu IP maszyny zamiast localhost, gdy opcja Zezwól urządzeniom w sieci jest włączona).

Kroki

1. Sprawdź, czy API działa

curl -s http://localhost:5900/api/v1/agent/capabilities | jq .

Zwraca schemat możliwości. (Jeśli zmieniono port, zastąp 5900 skonfigurowanym portem).

2. Sprawdź stan

curl -s http://localhost:5900/api/v1/agent/state | jq .

3. Otwórz projekt

curl -s -X POST http://localhost:5900/api/v1/projects/open \
  -H 'Content-Type: application/json' \
  -d '{"path":"/abs/path/to/file.lzrproj"}'

4. Wyrenderuj projekt (bez interfejsu)

curl -s -X POST http://localhost:5900/api/v1/design/render \
  -H 'Content-Type: application/json' \
  -d '{"format":"png","pixels_per_mm":4,"output_path":"/tmp/out.png"}'

5. Pobierz stan kamery

curl -s http://localhost:5900/api/v1/camera/state | jq .

6. Wyrenderuj nakładkę kamery (wymaga uruchomionej aplikacji)

curl -s -X POST http://localhost:5900/api/v1/camera/overlay/render \
  -H 'Content-Type: application/json' \
  -d '{"output_path":"/tmp/overlay.png","view":"fit","keep":true}'

Dostępne grupy endpointów

Pełną warstwę API znajdziesz w sekcji dokumentacji API (gdy zostanie uzupełniona). Główne grupy:

  • /agent, możliwości, stan, przewodnik.
  • /camera, urządzenia, stan, przechwytywanie, nakładka (wyświetlanie, przekształcanie, renderowanie), kalibracja, wyrównanie.
  • /design, opis, renderowanie, transakcje.
  • /projects, otwieranie, zapisywanie, zamykanie, warstwy, obiekty, cofanie i ponawianie, importowanie.
  • /export, svg, dxf, pdf, eps, ai.

Bezpieczeństwo

Serwer API nie ma uwierzytelniania. Zakłada, że sieć, w której działa, jest zaufana.

  • Powiązanie wyłącznie z localhost ogranicza dostęp do komputera lokalnego.
  • Powiązanie z siecią jest osobną opcją i udostępnia API wszystkim osobom w tej samej sieci LAN. Włączaj je tylko w zaufanej sieci.

Sprawdzenie działania

  • curl agent/capabilities zwraca JSON.
  • Wywołanie renderowania tworzy żądany plik.

Powiązane informacje

On this page