A specialized design tool for creating custom, 3D-printable knobs for potentiometers, encoders, and mechanical machine parts. Built with Python and Streamlit, it exports ready-to-print STL files.
- Custom Geometry: Adjust diameter, height, and number of lobes.
- Shaft Options: Support for D-Shafts, Round Holes, and Nut Traps (Hex nuts).
- Real-time Preview: Interactive 3D visualization of the generated part.
- STL Export: One-click download of high-quality mesh files.
This project stands on the shoulders of giants. It is built using the following open-source technologies:
- Streamlit: For the rapid, interactive web application framework.
- NumPy: For high-performance numerical calculations.
- numpy-stl: For handling STL mesh generation and manipulation.
- Plotly: For the interactive 3D rendering engine.
- PyInstaller: For packaging the application into a standalone Windows executable.
Inspired by parametric knob discussions on Maker Forums.
For Users:
Please visit the Releases page on this repository to download the latest Windows Installer (KnobGenerator_Setup.exe).
If you want to run the code from source or contribute:
- Clone this repository.
- Run the automated setup script:
- Windows: Double-click
developer_setup.bat.
- Windows: Double-click
- Or manually:
pip install -r requirements.txt streamlit run app.py
This project is licensed under the Creative Commons Attribution-NonCommercial 4.0 International License.
You are free to use, share, and adapt this software for personal, non-commercial purposes. For any commercial use (selling the software or the 3D printed parts generated by it), please contact the author for permission.
