Документация Beam Bench

Использование HTTP API

Управляйте Beam Bench из любого HTTP-клиента. Те же операции, что и в CLI, удобно для интеграций.

HTTP / WebSocket API Beam Bench предоставляет тот же интерфейс, с которым работает CLI. Если вам нужно использовать Beam Bench в среде без CLI, например в веб-приложении, интеграционном сервере или мобильном приложении, обращайтесь к HTTP API напрямую.

Что потребуется

  • Установленный Beam Bench.
  • Включенный локальный API в разделе Правка → Настройки → Общие. По умолчанию он отключен.
  • HTTP-клиент (curl, HTTP-библиотека вашего языка, Postman и т. д.).

Проверьте, включен ли API

В текущей сборке параметры по умолчанию намеренно ограничены:

  • Локальный API: отключен.
  • Порт API: 5900.
  • Разрешить сетевым устройствам подключаться: отключено. Пока этот параметр отключен, сервер принимает подключения только с этого компьютера.

Откройте настольное приложение, перейдите в раздел Правка → Настройки → Общие и включите Локальный API. Для скриптов, выполняемых на том же компьютере, оставьте параметр Разрешить сетевым устройствам подключаться отключенным. Параметры вступают в силу немедленно.

Перед подключением к сети через общую сеть Wi-Fi прочитайте страницу HTTP API. API не использует аутентификацию и позволяет перемещать станок и запускать лазер.

Базовый URL

http://localhost:5900/api/v1

(Когда включен параметр Разрешить сетевым устройствам подключаться, вместо localhost можно указать LAN IP-адрес вашего компьютера.)

Шаги

1. Проверьте доступность API

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

Команда возвращает схему возможностей. (Если вы изменили порт, замените 5900 на настроенный порт.)

2. Проверьте состояние

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

3. Откройте проект

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

4. Выполните рендеринг дизайна без интерфейса

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. Получите состояние камеры

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

6. Выполните рендеринг наложения камеры, требуется приложение

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}'

Доступные группы конечных точек

Полный интерфейс приведен в разделе справочника API, если он уже заполнен. Основные группы:

  • /agent, возможности, состояние, руководство.
  • /camera, устройства, состояние, захват, наложение (отображение, преобразование, рендеринг), калибровка, выравнивание.
  • /design, описание, рендеринг, транзакции.
  • /projects, открытие, сохранение, закрытие, слои, объекты, отмена и повтор действий, импорт.
  • /export, svg, dxf, pdf, eps, ai.

Безопасность

Сервер API не использует аутентификацию. Предполагается, что сеть, в которой он работает, является доверенной.

  • Привязка только к localhost ограничивает доступ локальным компьютером.
  • Привязка к сети включается отдельно и открывает API для всех устройств в той же локальной сети. Включайте ее только в доверенной сети.

Проверьте результат

  • curl agent/capabilities возвращает JSON.
  • Вызов рендеринга создает запрошенный файл.

См. также

On this page