Skip to content

CadBrad/3DPrince

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3DPrince

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.

tl;dr

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.

Objectives

  1. Allow user upload/download of unique 3D Printer files (.stl)

  2. Allow user upload/download of unique 3D Printer configuration files (.ini). Both unique printers and specific settings in existing printers.

  3. Allow on-demand slicing from authorized script (raspberry pi's).

Installing

  1. Download from the source.
  2. Create a virtualenv and install requirements requirements :

    pip install -r requirements.txt

    On Windows you must ensure sqlite3 is installed and on your path and do the following command after the pip install.
    easy_install Pillow
  3. Start the server

How to Start the server

  1. From now on while your virtualenv is running, run python manage.py runservers to start the local server.

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

Login to site

To initialize a super user run python manage.py createsuperuser. To create a local account, just use the login function on the website.

How to use virtualenv

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

Database management

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.

Next Steps

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.

About

3D Printing simplified for everyone

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published