Desktop GUI for Volco, a 3D printing voxel simulator. Provides drag-and-drop G-code import, parameter configuration, and interactive 3D STL visualization.
Latest Release: v0.3.2-beta
Windows: Download VolcoGUI_v0.3.2_win.zip, extract, and run VolcoGUI.exe. No installation required - Volco is bundled.
Other platforms: Build from source (see below).
- Drag-and-drop G-code file import
- Configurable simulation parameters (voxel size, step size, nozzle diameter)
- Background processing with progress tracking
- Interactive 3D STL viewer (PyVista/VTK)
- Bundled Volco engine (no separate install needed for releases)
Prerequisites: uv package manager
# Setup
git clone --recurse-submodules https://github.com/kylegrover/volcogui.git
cd volcogui
uv sync
# Run
uv run python -m volcogui.mainIf you already cloned without submodules:
git submodule update --init --recursiveOr use convenience scripts: run.bat (Windows) / ./run.sh (Mac/Linux)
- Import G-code: Drag-and-drop
.gcodefile or use "Browse Files..." - Configure parameters:
- Voxel Size (0.001-10mm): Simulation resolution (default 0.1mm)
- Step Size (0.001-10mm): Filament discretization (default 0.1mm)
- Nozzle Diameter (0.1-5mm): Printer nozzle (default 0.4mm)
- Click "Run Simulation" and wait for completion (30-120s typical)
- View/interact with result in 3D viewer (left-click drag to rotate)
- voxel_size: Grid resolution. Smaller = more accurate but slower. Try 0.2mm for quick preview, 0.05mm for detail.
- step_size: Filament segment length. Must be small enough relative to filament length (see troubleshooting).
- nozzle_diameter: Match your printer's actual nozzle.
Example (344 filaments, 0.1mm voxel): ~12s
Time complexity: O(n³) for voxel size, O(m) for filament count.
See BUILD.md for creating standalone executables with bundled Volco.
uv pip install pyinstaller
uv run python build.py
# Creates dist/VolcoGUI/ folder ready for distribution"Volco not found": Run git submodule update --init (dev mode) or use bundled release.
Slow simulation: Increase voxel_size or step_size (0.2mm for preview, 0.05mm for quality).
Missing dependencies: Run uv sync
See LESSONS_LEARNED.md for more solutions.
- START_HERE.md - Project navigation
- LESSONS_LEARNED.md - Integration notes and known issues
- DEVELOPMENT.md - Architecture and extension guide
- BUILD.md - Release build instructions
- UI: PyQt6
- 3D Rendering: PyVista (VTK)
- Simulation: Volco
- Package Manager: uv
Pull requests welcome. See DEVELOPMENT.md for architecture details.