The point of this site is to simplify 3D printing for the end user to make it as simple as any other home applicance. By only allowing the best 3D printable models, a library can be built up that also enable slicing on demand. The average user will need virtually no computer knowledge to benefit from 3D printing. A raspberry pi access this information through an API on the back end of the site, and displays it on the 3D printer at the users finger tips.
After proving this concept on small scale, this current project is aimed at full deployment and actual production use. This is a site built around the demo-allauth-bootstrap template, which also uses django-allauth. There is a bit more work necessary before deployment, however the function of the site is almost complete. This currently has been tested and working on Linux and Windows.
Any help to this project would be greatly appreciated! Deployment is so close and from there this project can become self sustaining.
This is is an opensource site built with Python on Django based around the idea of sharing 3D printer files (.stl and .ini) and allowing slicing to occuring from the server allows smaller computers (such as raspberry pis) to access gcode on command.
-
Allow user upload/download of unique 3D Printer files (.stl)
-
Allow user upload/download of unique 3D Printer configuration files (.ini). Both unique printers and specific settings in existing printers.
-
Allow on-demand slicing from authorized script (raspberry pi's).
- Download from the source.
- Create a
virtualenv
and install requirements requirements :
pip install -r requirements.txt
On Windows you must ensuresqlite3
is installed and on your path and do the following command after the pip install.easy_install Pillow
- Start the server
-
From now on while your virtualenv is running, run
python manage.py runservers
to start the local server. -
Visit http://127.0.0.1:8000/
This should get it started with a database attached. Allauth is the authentication and there are forms built up for the bootstrap3 front end.
To initialize a super user run python manage.py createsuperuser
. To create a local account, just use the login function on the website.
Linux
First run the following installation commands.
pip install virtualenv
Create new virtualenv called "NewEnv".
virtualenv NewEnv
Start the new new virtualenv.
source NewEnv/bin/activate
Exit the virtualenv.
deactivate
Windows
First run the following installation commands.
pip install virtualenv virtualenvwrapper-win
Create new virtualenv called "NewEnv".
mkvirtualenv NewEnv
Start the new new virtualenv.
workon NewEnv
Exit the virtualenv.
deactivate
For additions to the database models run the following.
python manage.py migrate
python manage.py makemigrations
To delete the database and start from scratch run make rebuild
or for Windows make rebuild-win
.
The immediate next steps are as follows below.
*Correct save location for uploaded files
## Within allauthdemo/demo/models.py there is a function called "def user_directory_path" that dictates what folder the files are saved in. Currently uploading to "None" folder.
*Get API working and remote login from python script
## Should just add django-rest for API. Maybe oauth for remote login?
*Process new STL files through python script for file info.
## Python script already written, so probably just update allauthdemo/demo/views.py within "class DemoUserEditView(FormView)" and the function "def post".
*Process STL files pulled from python program to slice on server and just deliver gcode.
## This probaly involves a GET function defination, but i'm not sure.
*Deploy live
Once live there can be more frontend work done especially to the form.