Colin 94bf928388 | ||
---|---|---|
build/web-viewer | ||
doc.in | ||
readme_files | ||
src | ||
.gitignore | ||
Makefile | ||
README.md | ||
flake.lock | ||
flake.nix | ||
main.py |
README.md
this is a 3d-printable case designed for the PinePhone, but implemented with an eye towards generalizing beyond just that model and supporting future phones/preferences alongside this first model.
as an example, the default case (pictured below) includes a pouch for carrying an external battery, but if you don't want the pouch then you can build with CASE_BATTERY=none make
.
the battery pouch is the defining feature of this case though. it's a quick solution to achieve all-day battery life without any special requirements from the OS, and it requires no supports to print: it's a simple mesh which prints flat with the rest of the case, but deforms to fit the battery upon installation.
Images
for an interactive viewer, see build/web-viewer/index.html. you'll need a browser which supports webGL (e.g. chromium).
Prerequisites
- run
nix develop
to enter a dev environment - or manually install these dependencies:
- Python3
- cadquery
- cq-editor (for interactive viewing/development)
Building
make all
will produce STLs, gcode, etc in thebuild/
directory- the models can be parameterized with environment variables:
CASE_RENDER_PHONE=1
=> render not just the case, but also what it would look like with the phone insideCASE_RENDER_PHONE_ONLY=1
=> render ONLY the phone, no caseCASE_BATTERY=<name>
=> design the case to fit a specific battery model, or "none"
Development
-
./main.py --editor
orcq-editor ./main.py
to load an interactive GUI- press the green play button to render the model
- call with
--render-phone
to see how the phone would fit inside the case, or apply any of the environment variables from above
-
CadQuery docs may be found here: https://cadquery.readthedocs.io/en/latest/quickstart.html