Usando a API HTTP
Controle o Beam Bench a partir de qualquer cliente HTTP. As mesmas operações da CLI, ideal para integrações.
A API HTTP / WebSocket do Beam Bench é a mesma interface com a qual a CLI se comunica. Se você tem um caso de uso que precisa do Beam Bench em um ambiente que não seja de CLI (aplicativo web, servidor de integração, aplicativo móvel), use a API HTTP diretamente.
O que você precisa
- Beam Bench instalado.
- A API Local ativada em Editar → Configurações → Geral. Ela vem desativada por padrão.
- Um cliente HTTP (
curl, a biblioteca HTTP da sua linguagem, Postman etc.).
Verifique se a API está ativada
Os padrões da versão atual são deliberadamente restritivos:
- API Local: desativada.
- Porta da API: 5900.
- Permitir a conexão de dispositivos de rede: desativada. Enquanto permanecer desativada, o servidor aceitará conexões somente deste computador.
Abra o aplicativo desktop, acesse Editar → Configurações → Geral e ative a API Local. Mantenha Permitir a conexão de dispositivos de rede desativada para scripts executados no mesmo computador. As configurações têm efeito imediato.
Leia a página da API HTTP antes de vinculá-la à rede em uma rede Wi-Fi compartilhada. A API não tem autenticação e pode mover a máquina e disparar o laser.
URL base
http://localhost:5900/api/v1(Ou o IP da LAN da sua máquina em vez de localhost, quando Permitir a conexão de dispositivos de rede estiver ativada.)
Etapas
1. Verifique se a API está ativa
curl -s http://localhost:5900/api/v1/agent/capabilities | jq .Retorna o esquema de recursos. (Substitua 5900 pela porta configurada se você a tiver alterado.)
2. Inspecione o estado
curl -s http://localhost:5900/api/v1/agent/state | jq .3. Abra um projeto
curl -s -X POST http://localhost:5900/api/v1/projects/open \
-H 'Content-Type: application/json' \
-d '{"path":"/abs/path/to/file.lzrproj"}'4. Renderize o design (sem interface gráfica)
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. Obtenha o estado da câmera
curl -s http://localhost:5900/api/v1/camera/state | jq .6. Renderize a sobreposição da câmera (requer o aplicativo)
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}'Grupos de endpoints disponíveis
Consulte a seção de referência da API (quando estiver preenchida) para ver a interface completa. Principais grupos:
/agent, recursos, estado, guia./camera, dispositivos, estado, captura, sobreposição (exibição, transformação, renderização), calibração, alinhamento./design, descrever, renderizar, transações./projects, abrir, salvar, fechar, camadas, objetos, desfazer/refazer, importar./export, svg, dxf, pdf, eps, ai.
Segurança
O servidor da API não tem autenticação. Ele pressupõe que a rede em que está é confiável.
- A vinculação somente a localhost limita a exposição à máquina local.
- A vinculação à rede é uma opção separada e expõe a API a qualquer pessoa na mesma LAN. Ative-a somente em uma rede confiável.
Verifique se funcionou
curl agent/capabilitiesretorna JSON.- Uma chamada de renderização produz o arquivo solicitado.