使用HTTP API
從任意HTTP客戶端驅動Beam Bench。提供與CLI相同的操作,便於整合。
Beam Bench的HTTP/WebSocket API與CLI使用的是同一套介面。如果你的應用場景需要在非CLI環境中使用Beam Bench(Web應用、整合伺服器、移動應用),請直接使用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(當允許網路裝置連線開啟時,也可以使用機器的區域網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。- 渲染呼叫會生成請求的檔案。