In this, the first post under the 3D section, Ill go through the thoughts and process of creating an overflow connector for my large fish tank. I have, until now, used a single pipe, bent over the top of the tank, connected to an irrigation valve that allows me to drain water and refill the tank without much hassle. The problem has been that over time, the pipe has collapsed and water flow has, of late, been terrible. In fact its so bad that last water change I nearly fell asleep waiting for the tank to drain 1/3 of the way. With this in mind, I thought I would create a stiffer unit to bridge the top of the tan, while still using the pipe to connect it to the rest of the system.

I use a clear 16 mm inside diameter, 21 mm outside diameter pipe for most of the plumping in the system, and have quite a bit spare. The design should rest easily on the top of the glass, and obviously be waterproof. The key to waterproofing is to do an acetone wash of the print once it has been completed. This will allow any small holes and openings to be closed.

The unit has a base that is 55mm x 21 mm x 21mm. There is a hollow interior that extends to two upright section which is big enough to fit into my clear pipes.


Final model in Autodesk 123D Design
STL model in Matter Control










The model is drawn up in Autodesk’s 123DDesign software, and exported as an STL file. This is then imported into MatterControl. I have a custom setup for my Prusa I3, which is loaded after the STL, and once some settings are tweaked, like support and fill rate, a gcode file is produced. The gcode file is the final file that goes to the printer. Gcode is simply a text file that has a bunch of printer specific setup items and then a head and feed point set that tells the printer where to send the head, how fast and how much to extrude during the run.

Here is an excerpt from the gcode for this object:

; Generated with MatterSlice 1.0
; filamentDiameter = 3
; extrusionWidth = 0.5
; firstLayerExtrusionWidth = 0.75
; layerThickness = 0.4
; firstLayerThickness = 0.35
; automatic settings before start_gcode
G21 ; set units to millimeters
M107 ; fan off
M190 S110 ; wait for bed temperature to be reached
M104 T0 S230 ; wait for extruder 1 temperature
T0 ; set the active extruder to 0
; settings from start_gcode
G28 ; home all axes
G29 ; Level bed
G1 Z5 F5000 ; lift nozzle

; automatic settings after start_gcode
M109 T0 S230 ; wait for extruder 1 temperature
T0 ; set the active extruder to 0
G90 ; use absolute coordinates
G92 E0 ; reset the expected extruder position
M82 ; use absolute distance for extrusion
; Layer count: 178
G0 F4800 X106.88 Y113.88 Z0.35
G0 X106.88 Y113.88
G1 F1800 E0.00000
G1 F720 X73.13 Y113.88 E1.25335
G1 X73.13 Y46.13 E3.76932
G1 X106.88 Y46.13 E5.02266
G1 X106.88 Y113.88 E7.53864

Below are videos for design and slicing.

The object is available on Thingiverse HERE

So that’s all for the time being. In the next post, Ill show your the acetone bath process to smooth the surface, and how it operates in the final installation.

Cheers for now.

Leave a Reply

Your email address will not be published. Required fields are marked *