Skip to content

kylegrover/volcogui

Repository files navigation

VolcoGUI

Desktop GUI for Volco, a 3D printing voxel simulator. Provides drag-and-drop G-code import, parameter configuration, and interactive 3D STL visualization.

Download

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).

Features

  • 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)

Quick Start (Development)

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.main

If you already cloned without submodules:

git submodule update --init --recursive

Or use convenience scripts: run.bat (Windows) / ./run.sh (Mac/Linux)

Usage

  1. Import G-code: Drag-and-drop .gcode file or use "Browse Files..."
  2. 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)
  3. Click "Run Simulation" and wait for completion (30-120s typical)
  4. View/interact with result in 3D viewer (left-click drag to rotate)

Parameters

  • 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.

Performance

Example (344 filaments, 0.1mm voxel): ~12s

Time complexity: O(n³) for voxel size, O(m) for filament count.

Building Releases

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

Troubleshooting

"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.

Documentation

Tech Stack

  • UI: PyQt6
  • 3D Rendering: PyVista (VTK)
  • Simulation: Volco
  • Package Manager: uv

Contributing

Pull requests welcome. See DEVELOPMENT.md for architecture details.

Credits

  • Volco - 3D print simulation engine
  • PyVista - VTK visualization
  • uv - Python packaging

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published