Beam Benchドキュメント

HTTP APIを使用する

任意のHTTPクライアントからBeam Benchを操作します。CLIと同じ操作を、統合しやすい形で利用できます。

Beam BenchのHTTP / WebSocket APIは、CLIが通信するものと同じインターフェースです。Webアプリ、統合サーバー、モバイルアプリなど、CLI以外の環境でBeam Benchを必要とする用途では、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、capabilities、state、guide。
  • /camera、devices、state、capture、overlay(display、transform、render)、calibration、alignment。
  • /design、describe、render、transactions。
  • /projects、open、save、close、layers、objects、undo/redo、import。
  • /export、svg、dxf、pdf、eps、ai。

セキュリティ

APIサーバーには認証がありません。接続しているネットワークが信頼できることを前提としています。

  • localhostのみのバインドにより、ローカルマシンへの公開に制限されます。
  • ネットワークバインドは個別にオプトインする設定で、同じLAN上の誰でもAPIにアクセスできるようになります。信頼できるネットワークでのみ有効にしてください。

動作を確認する

  • curl agent/capabilitiesがJSONを返します。
  • 描画呼び出しによって要求したファイルが生成されます。

関連項目

On this page