diff --git a/README.md b/README.md index 6fe0780..9a54bdf 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,34 @@ This codebase is super bodged together and I give no garuntees of y'all being ab I am leaving the door open to selling sculptures generated by this system and thus this repo is intended more as an interesting reference than an open-source project. That said, if I saw this project online I would want to be able to see how it works, so I figured folks would prefer that I share it as is than not at all. +## Installation + +### System Requirements +- Linux (WSL should work on Windows) +- Python 3.7 or higher + +### Python Dependencies +Install the required Python packages using pip: + +```bash +pip install -r requirements.txt +``` + +### OpenSCAD Installation +The system requires OpenSCAD for STL generation. Install it to the expected location: + +```bash +# Download OpenSCAD AppImage +wget https://files.openscad.org/snapshots/OpenSCAD-2021.01-x86_64.AppImage -O ~/install/OpenSCAD.AppImage +chmod +x ~/install/OpenSCAD.AppImage + +# Or create the install directory and place your OpenSCAD AppImage there +mkdir -p ~/install/ +# Then place OpenSCAD.AppImage in ~/install/ +``` + +Alternatively, you can modify the path in `makeSTLs.py` if you have OpenSCAD installed elsewhere. + ## Commands Run full generation in one line `python3 newPath.py output/ SOLVE && python3 pathGen.py && python3 modelGen.py && python3 makeSTLs.py` diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..acdc964 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,24 @@ +# Marble Fountain Generator Dependencies +# Core scientific computing libraries +numpy>=1.21.0 +scipy>=1.7.0 +matplotlib>=3.4.0 + +# 3D modeling and STL file processing +solidpython2>=2.0.0 +numpy-stl>=2.16.0 + +# Image processing for visualization +Pillow>=8.3.0 + +# File system monitoring for real-time plotting +watchdog>=2.1.0 + +# Optional: For better performance and compatibility +# These may be needed depending on your system setup +setuptools>=60.0.0 +wheel>=0.37.0 + +# Development tools (optional) +# black>=22.0.0 # Code formatting +# pytest>=7.0.0 # Testing