83b3008234c3007266b170ab3e8307d51da9594b
Print Calculator (OrcaSlicer Edition)
Un'applicazione Full Stack (Angular + Python/FastAPI) per calcolare preventivi di stampa 3D precisi utilizzando OrcaSlicer in modalità headless.
Funzionalità
- Slicing Reale: Usa il motore di OrcaSlicer per stimare tempo e materiale, non semplici approssimazioni geometriche.
- Preventivazione Completa: Calcola costo materiale, ammortamento macchina, energia e ricarico.
- Configurabile: Prezzi e parametri macchina modificabili via variabili d'ambiente.
- Docker Ready: Tutto containerizzato per un facile deployment.
Prerequisiti
- Docker Desktop & Docker Compose installati.
Avvio Rapido
-
Clona il repository.
-
Esegui lo script di avvio o docker-compose:
docker-compose up --buildNota: La prima build impiegherà alcuni minuti per scaricare OrcaSlicer (~200MB) e compilare il Frontend.
-
Accedi all'applicazione:
- Frontend: http://localhost
- API Docs: http://localhost:8000/docs
Configurazione Prezzi
Puoi modificare i prezzi nel file docker-compose.yml (sezione environment del servizio backend):
FILAMENT_COST_PER_KG: Costo filamento al kg (es. 25.0).MACHINE_COST_PER_HOUR: Costo orario macchina (ammortamento/manutenzione).ENERGY_COST_PER_KWH: Costo energia elettrica.MARKUP_PERCENT: Margine di profitto percentuale (es. 20 = +20%).
Struttura del Progetto
/backend: API Python FastAPI. Include Dockerfile che scarica OrcaSlicer AppImage./frontend: Applicazione Angular 19+ con Material Design./backend/profiles: Contiene i profili di slicing (.ini). Attualmente configurato per una stima generica simil-Bambu Lab A1.
Troubleshooting
Errore Download OrcaSlicer
Se la build del backend fallisce durante il download di OrcaSlicer.AppImage, verifica la tua connessione internet o aggiorna l'URL nel backend/Dockerfile.
Slicing Fallito (Costo 0 o Errore)
Se l'API ritorna errore o valori nulli:
- Controlla che il file STL sia valido (manifold).
- Controlla i log del backend:
docker logs print-calculator-backend.
Sviluppo Locale (Senza Docker)
Backend: Richiede Linux (o WSL2) per eseguire l'AppImage di OrcaSlicer.
cd backend
pip install -r requirements.txt
# Assicurati di avere OrcaSlicer installato e nel PATH o aggiorna SLICER_PATH in slicer.py
uvicorn main:app --reload
Frontend:
cd frontend
npm install
npm start
Description
Languages
Java
52.4%
TypeScript
24%
HTML
12.8%
SCSS
7.7%
PLpgSQL
2.6%
Other
0.3%