pedrohtiandClaude Opus 5.5 9a2c8cc2aa
docker / build (push) Successful in 1m28s
Pagina de changelog com link no rodape
Rodape tambem leva o credito do icone (licenca free do Flaticon).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 00:47:59 -03:00
2026-10-22 10:43:14 -03:00
2026-10-22 10:43:14 -03:00
2026-10-22 10:43:14 -03:00

Fila de impressão (Bambu Lab A1)

Fatia no Bambu Studio, joga o .gcode.3mf aqui, clica "Imprimir" quando quiser.

Rodar

pip install -r requirements.txt
python run.py

Abre http://127.0.0.1:8000 (ou http://IP_DO_PC:8000 de outro aparelho / Tailscale).

Docker (Proxmox etc.): ver DEPLOY.md.

Sem config.json com ip = impressora fake (simula 20 s). Serve pra testar a fila.

Exportar do Bambu Studio

Fatiar → seta ao lado de "Fatiar placa" → Exportar arquivo da placa fatiada (.gcode.3mf). .3mf de projeto sem fatiar não serve.

Pasta monitorada

Salva o export em D:\00Downloads\3D\fila → entra na fila sozinho (checa a cada 2 s, espera o arquivo parar de crescer) e sai da pasta (vai pra data/files). Outra pasta: variável WATCH_DIR.

Impressora real (LAN + Desenvolvedor)

A1 precisa estar em modo LAN + modo Desenvolvedor (firmware novo recusa comandos de terceiros pela nuvem). config.json na raiz (modelo em config.example.json, fora do git):

{"ip": "192.168.0.202", "access_code": "CODIGO_DA_TELA", "device": "SERIAL"}

Envio: sobe o 3mf por FTPS (porta 990, raiz do cartão SD) e manda project_file por MQTT local (8883). O app não apaga nada do SD; limpar pela tela da impressora de vez em quando.

Tela

  • Cada item: miniatura (passa o mouse = amplia), tempo, peso e filamentos usados (bolinha da cor, gramas; passa o mouse = nome do perfil e hex).
  • Bandeja do AMS por filamento: lista com os slots carregados (A1–A4, Externo). Vem marcada a sugestão automática "(auto)", igual Bambu Studio: mesmo tipo, cor mais próxima. Borda vermelha = tipo diferente ou nenhum slot do tipo. A escolha vale até recarregar a página.
  • Imprimir em qualquer posição; botões travados com impressora ocupada/offline.
  • Arrastar pra reordenar, ✕ remove, Limpar fila / Limpar enviados (com confirmação; apagam os arquivos do PC).
  • Itens enviados vão pra "Já enviados" (dá pra imprimir de novo).

Estrutura

  • app/printer.py interface Printer + backends (fake, LAN)
  • app/threemf.py lê miniatura, tempo, peso e filamentos do 3mf
  • app/main.py API FastAPI
  • static/index.html front
  • static/changelog.html changelog (link no rodapé); nova versão entra no topo
  • data/ fila (SQLite) e arquivos (fora do git)
  • Dockerfile, docker-compose.yml, DEPLOY.md deploy em container
S
Description
Fila de Impressão para Bambulab A1
Readme
82 KiB
Languages
Python 54.4%
HTML 45%
Dockerfile 0.6%