Skip to content

vectorcmdr/STL-Bitz-Box

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—ƒοΈ
STL Bitz Box

Your personal STL library!


Stargazers Issues Contributors License

πŸ” Overview

A simple STL library manager for Windows that helps you organize your huge collection of 3D prints from monthly model subs and website downloads.

Features the senzai theme.

πŸ”¨ Built With

πŸ“‹ Goals

  • Web based
  • Thumbnail previews
  • 3D viewer
  • Searching and filtering
  • Tag support and filtering
  • Model license file support
  • Original file link support
  • Model readme support
  • Local HTTP daemon option
  • Hosts file redirect for custom URL
  • Senzai theme

(back to top)

πŸ”§ Installation

  1. Fork and clone the repo into your preferred folder locally.
  2. Place your STL files into the stl folder according to the below file structure:
stl
  β”œβ”€β”€ Category
  β”‚   β”œβ”€β”€ STL Pack Name
  β”‚   β”‚   β”œβ”€β”€ files
  β”‚   β”‚   β”‚   β”œβ”€β”€ Actual STL file 1.stl
  β”‚   β”‚   β”‚   └── Actual STL file 2.stl
  β”‚   β”‚   β”œβ”€β”€ LICENSE.txt
  β”‚   β”‚   β”œβ”€β”€ README.txt
  β”‚   β”‚	  └── TAGS.txt
  β”‚   β”œβ”€β”€ STL Pack Name
  β”‚   β”‚	  └── ...
  └── Category
      └── ...
  • Category folders can be whatever you want the main sorting root to be, such as their license type (such as CC0, CC-BY, etc.) or their purpose or genre (such as "Tabletop", "Household", "Cosplay" - or "Space Soldiers", "Buff Green Aliens", "Space Bugs", etc.)

  • STL Pack Name folders below a category folder is the name of the download or release and the file structure supports Thingiverse format downloads immediately. They could be, for example: "Space Storming Mecha Marine Men July Release" or "Air conditioning unit scaled for 28mm tabletop terrain - 4974429".

  • files folder contains the actual .stl files themselves. Thumbnail .png files will be generated here, or images can be manually added for each .stl file by adding a .png with the same name.

  • LICENSE.txt is the license for the .stl files contained in this pack / folder. It is an optional file.

  • README.txt is the readme for the .stl files contained in this pack / folder. It is an optional file. If you want a link available to the original files, or another relevant page then add it to this file at the end. Remove any additional links that start with 'http'.

  • TAGS.txt is the tags for the .stl files contained in this pack / folder. It is an optional file. This will be ingested by the setup and added to each .stl in the files folder within STL Bitz Box for searching. This file should be filled out by the user with the tags they want for this pack.

Tip

The live demo directories in the repo illustrate how this can look using some CC0 files downloaded from thingiverse, with some tags added.

  1. Run setup_fast.bat to install the server.

  2. setup_advanced.bat can be used instead by advanced users. It allows you to individually:

    • Install the STL thumbnail dependencies
    • Install the server daemon and hosts redirect url
    • Convert OBJ files to STL
    • Rebuild thumbnials and file DB
    • Rebuild thumbnails only
    • Rebuild file DB only
    • Audit the size of the library for files at or above 50MB & 100MB
    • Audit the library for FBX or OBJ files
  3. setup_fast.bat will automatically install dependencies, the server and build the thumbs and DB then launch.

  4. To update the library post initial setup with any changes or additions, run update.bat - or to individually control each step you can also use setup_advanced.bat.

(back to top)

πŸš€ Usage

  1. To access STL Bitz Box, navigate to http://stlbitzbox.local in your browser. If it fails to load for some reason, make sure that the HTTP server daemon (STLBitzBoxServer.exe) is running and has not been blocked or removed from autorun.

  2. Hover over the preview thumbnail under PREVIEW to enlarge it.

  3. You can click relevant links for each STL:

    • Clicking the .STL link under TOOLS will download the .stl file.
    • Clicking the 3D VIEW link under TOOLS will load a new browser window with a 3D viewer for the model with pan/zoom/rotate and support for shaded materials or normal mapping.
    • Clicking the README link under TOOLS will load the readme file if present.
    • Clicking the LINK link under TOOLS will load the external link from the readme file if present.
    • Clicking the container name link under CONTAINER will load the license file if present.
  4. Use the filter options below the table headers to further filter your selection or to search.

    • Use the drop down under CONTAINER to filter by container name.
    • Use the search filter field under MODEL DIRECTORY to search/filter for words in the pack name folders below the containers.
    • Use the search filter field under MESH DIRECTORY to search/filter for words in the mesh files (STLs) in the pack directory.
    • Use the search filter field under TAGS to search/filter for words in the tags files.
    • Use the sorting arrows on each header to sort by ascending/descending order. The default order is the ingestion order (windows default name sorting).

Tip

The live demo allows you to play around with this searching/filtering to see how it works.

(back to top)

⌨️ Advanced Use

Advanced users can utilise the batch files to build thumbs and the DB files + html index and then host the resulting build online by serving index.html.

Tip

Keep in mind how your STL files license agreements may apply. Do not host content publically that you aren't authorized to share!

(back to top)

🧱 Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

🀸 Top contributors:

(back to top)

πŸ“ƒ License

Distributed under the GPL-3.0 license. See LICENSE.txt for more information.

(back to top)

πŸ“¨ Contact

Josh (vectorcmdr) - @vector_cmdr

(back to top)

πŸ“œ Acknowledgments:

Project includes the following libraries/plugins:

(back to top)