Документация 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. Для скриптов, работающих на том же компьютере, оставьте параметр Разрешить подключение сетевых устройств выключенным. Настройки применяются немедленно.

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

Базовый URL

http://localhost:5900/api/v1

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

Действия

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