Terrarium Tools - parametric chambers tunnels caves and more (plus pre-builts)
Obliczymy ostateczną cenę na podstawie wybranego pliku. Sprawdzisz ją i zaakceptujesz przed płatnością.
Zapisane na tym urządzeniu.
A collection of ultra-customizable, user-friendly OpenSCAD files for terrarium build needs.
- Ocena
- 0 / 5
- Polubienia
- 18
- Pobrania
- 29
- Wydruki
- 0
- Wyświetlenia
- 525
- Oceny
- 0
Aktualizacja u źródła:
Informacje o modelu
- Źródło
- Printables
- Kategoria
- Pets
- Licencja
- Creative Commons — Attribution — Noncommercial
What is this?
This is a collection of models and OpenSCAD code of terrarium tunnels, chambers, caves, etc. with an attempt at providing maximum customization. I started this as a project for isopods, but the project is quickly expanding to fit far, far more people's needs for their terrariums, aquariums, paludariums, and other vivariums.
OpenSCAD is a free, open-source 3d modeler with a very readable language and supports exporting rendered models to stl, 3mf, and more. I've put great effort into putting variables in their own top section, clearly documented so you just need to change a few numbers to the ones you want, hit the render button, and export the rendered model to a format that's easy for you to fiddle with in your printer software. OpenSCAD is also capable of directly handling the 3d printing part too, but it's painless to export.
Seriously, this is all super painless. Change some numbers in the top section to get exactly what you want, press F6 for a full render, then press F7 and it gives you an stl file.
NOTE: For Windows and Mac users, I'd highly recommend using the nightly builds because the “stable” releases are 4+ years behind the nightly builds now and the nightly builds are actually more stable and performant.
CAUTION: PLA will break down over the course of several years when buried in soil that regularly comes into contact with water. If you intend for it to last decades, apply a pet-safe water sealant or use different filaments.
Why is this?
I didn't like that so many of the cave and tunnel models out there cost silly amounts of money and that there aren't a lot of options in general for them, despite the vivarium community being a very creative bunch with a lot of custom needs. This is a project focused on providing people with the tools to more easily make custom caves, tunnels, connecting chambers, and other structures that exactly fit their needs, empowering creativity without any of that pesky capitalism getting in the way of passion.
How does this work?
I've gone to great lengths to make the uploaded OpenSCAD files very customizable with relatively little effort required on your end.
- Download the .scad file you want and open it
- Edit the values of variables at the top of the code to get exactly what you want:

- Perform a full render (press F6)
- Export the render as a 3d model (by default it's F7 for an stl, or you can go to File→Export)

TIP: Go to Edit→Preferences and then go to the Advanced tab and set the 3d renderer backend from CGAL to Manifold. It'll render things many times faster.
I've made them simple enough that newbies to OpenSCAD should have no issues figuring out what to do while also providing people with the ability to do some incredibly fancy things if they want to tinker. If you want your low-poly ellipsoid chamber to have 2 different-sized holes at a 134 degree angle from one another or you want it to have 17 holes or be taller or wider or higher-poly, you absolutely can and it'll be easy. Or if you just need a tunnel that goes up a few inches and starts and ends level, you can be in and out with a 3d model in seconds. Every terrarium is unique and so is everyone's idea of what to do with one. I've left plenty of documentation (and sass) in the OpenSCAD code comments, so it should be obvious to see what to do. The pre-built models are just there to make a couple simple options quickly available, but those OpenSCAD files are where it's really at.
Custom Tunnel Notes
The custom_tunnel.scad OpenSCAD file allows you to create a tunnel with a user-defined elevation change between the entrance and the exit of the tunnel as well as a user-defined array of the incline angles and turning angles of each cylindrical tunnel segment (you can do as many or as few segments as you want) (for example [0,5,10,15,20,15,10,5,0] for a tunnel that starts level and then gently increases before gently decreasing and finally finishing off level again), and the code will generate a tunnel of the necessary length that fits the constraints of the elevation change and the provided array of angles.
This also generates “stitching” at each joint that connects each tunnel segment into a single smooth tunnel and avoids gaps between segments. This is usually hardly noticeable unless you zoom in really closely or if you make sharp turns like in example 4 below. Very rarely (usually for very short, tightly-curved tunnels) this will cause floating spherical segments at the entrance/exit that you can easily cut off the model post-render. Alternatively, you can scale everything up so the sections are longer and then scale the model back down in your printer software post-export.
Examples of what you can do:
1. rise = 50.8; incline_angles = [0, 5, 10, 15, 20, 25, 20, 15, 10, 5, 0]; turn_angles = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
2. rise = 120; incline_angles = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]; turn_angles = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
3. rise = 200; incline_angles = [0, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 200, 220, 240, 260, 280, 260, 240, 220, 200, 180, 160, 140, 120, 100, 80, 70, 60, 50, 40, 30, 20, 10, 0]; turn_angles = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 0, 0, 0];
4. rise = 150.8; incline_angles = [0, 45, 90, 135, 90, 45, 0]; turn_angles = [0, 0, 0, 0, 0, 0, 0];




This is incredibly flexible and allows you to potentially break things. If it fails to render the tunnel, it means that you're either specifying a positive rise but the inclines define a path that's net going down, or the reverse with a negative rise. Add more positively-inclined sections if you have a positive rise or add more negatively-inclined sections if you have a negative rise.
Ellipsoid Chamber Notes
You can customize a silly amount of things, but I've done my best to make things crystal clear in the code. You can adjust all of the chamber's dimensions, the number of holes, separate angles for each hole, separate diameters for each hole, and more. You can even adjust how low/high-poly they look if you'd like.
I'd highly recommend using the OpenSCAD code over the pre-constructed models.
I've pre-constructed way too many chambers and many are technically redundant, but they are separated into different folders for different inner heights of the chambers and are named based on their chamber dimensions, number of holes, and angles of each hole in degrees with 0 being the +x direction. For example, “ellipsoid chamber 100x75x35 2 0 180.stl” is 100 mm long, 75 mm wide, 35 mm tall (all inner measurements - you set the chamber wall thickness independently, but all of the pre-made ones have 2mm thick walls), and have 2 holes through the front and the back in the thinner direction:
Isopod Cave (ISCN) Notes
This is a mostly done 8-chamber cave network trapped within a 6"Wx4"Hx18"D rectangular prism, with holes for tunnels out and holes for a watering tube to come in from above, a water dish area, and big viewing areas. The code tries to maintain a minimum outer wall thickness, so you can adjust the overall dimensions and you don't need to worry much about big holes. That said, some chambers are still clipping internally. I fixed mine by printing a thin flat sheet and bending and gluing it into place.
This was my first OpenSCAD project ever and probably only worth sharing to give people a starting point to make their own multi-chamber cave and tunnel system from the code.

Siphon Squid Notes
This is a hose fitting for draining a tank dry from a tube coming from above. You can tweak just about everything about it to fit any situation, and I really cannot overstate this thing's performance. Using this, a 5mm OD silicone tube, and a peristaltic pump wired poorly to a peristaltic pump, I've been able to drain water in my 100 tank until it just has a damp bottom, no drops to be seen.
I'd recommend pushing the limits of the angles at which your printer can print. Below is my print, printed with legs in the air only 15 degrees above horizontal. Did it come out pretty? No. But it's functional and it's that much closer to the bottom of the tank.
Also, I'd recommend cutting up a section of a fine steel mesh dome - you can get a ton for basically the cost of shipping, and they come with a nice curve to them that allows the tube to get down further, increases the surface area for the water to come in from, and blocks any rocks or critters big enough to ruin your pump's day while keeping the end of the tube from being able to create a seal with the tank bottom.


I would like to use this commercially, is that okay?
Please see the "LICENSE ADDENDUM.txt" file for the exact specifics, including what qualifies as cost, but the gist is that prints made from this project may be used in commercial settings as long as it's not being sold or - if it is being sold - that it not be sold for more than it cost you to make it, plus whatever taxes you must collect.
