Software for Development of Low-Cost Partial Hand Prostheses for the 3D-Printed Prosthetics Community
This software provides a solution to those who 3D-print prosthetics in communities, like eNABLE, for creating custom partial hand prostheses. It allows a user to upload a scan of a residual limb and semi-automatically generate a prosthetic hand optimized for that individual.
- Users can toggle and manipulate a pseudo skeleton of joints to define the finger generation
- Users can "paint" the residual limb where they want to define the socket
- Creating a desktop executable
- Adding file upload/download to the GUI
- Creating a better arm/wrist band
- Changing the socket to a Voronoi pattern
- Set up the Conda environment:
- Create a new Conda environment with Python 3.9 using:
conda create -n partialProsGen python=3.10 - After activating the environment, install VTKBool with:
conda install -c conda-forge vtkbool - Install Pyvista with:
conda install -c conda-forge pyvista - Install Scipy with:
conda install scipy - Install PyQt5 with:
pip install PyQt5 - Install Open3D with:
pip install open3d - Install Pandas with:
pip install pandas - Install plyfile with:
pip install plyfile - Install tqdm with:
pip install tqdm
- Create a new Conda environment with Python 3.9 using:
- After downloading the files off github, run main.py
- Upload a scan of the residual limb as a .ply file
- While in the "Finger Generator" tab:
- Position the pseudo skeleton of joints by clicking and dragging on the joints
- Disable/enable joints using the sliders for each finger
- Click "Generate Fingers" to generate the 3D files for the fingers
- Switch to the "Socket Generator" tab:
- Enable the residual limb and use the paint tools to select areas where the socket will be generate; the lighter the color of the paint, the more breathable/flexible the socket will be in that area
- Click "Generate Soft Socket" then click "Generate Hardshell of Socket" to complete the socket generation
- The .stl files for 3D printing will be generated under the "toBePrinted" folder
- Python
- VTK
- Pyvista
- Numpy
- SciPy
- PyQt5
- VTKBool
- open3d
- Pandas
Katherine Robertson