21 KiB
Futterturm — Aufsatz für eine Futtertasche DNM MAXI
Parametrisches OpenSCAD-Modell für den Umbau einer handelsüblichen Futtertasche (Deutsch Normalmaß, doppelte Wabenbreite, ca. 4 l) zu einer bienensicheren Futterstelle mit versenktem Deckel, Steigrohr mit Wendelgang, Einfüllöffnung mit Stopfen und Spangen gegen das Aufweiten der Tasche.
Alle Teile sind FDM-druckbar und über den Parameterblock in futterturm.scad an eine
andere Tasche anpassbar.
Inhalt · Funktionsprinzip · Bauteile · Rendern und Exportieren · Parameter · Der Wendelgang · Drucken · Montage · Offene Punkte
Funktionsprinzip
Längsschnitt, schematisch (nicht maßstäblich)
════════════════════════════════════════════════════════════════ Oberkante Rand
▁▁▁▁ ╱▔╲ ╱▔╲ ▓▓▓ ▓▓▓ ▁▁▁▁
Stirnnase Griff Griff ▓▓▓ ▓▓▓ ▲ sink = 7 mm
┌───────────────────┴──────────────────────┴─────┴┴┴ ┴┴┴─────┐ ▼ Einlaufmulde
│ Deckelplatte, lid_t = 4 │ │ │
└────────╥─────────────────────────────────────────┴ ┴───────┘
║ x = −125 x = +125
║ Steigrohr Ø44 Einfüllöffnung Ø20 mit
║ Wendelgang 5 mm/Umlauf Abstandshalter + Stopfen
≈≈≈≈≈≈≈≈≈║≈≈≈≈≈≈≈ Futtersirup ≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈
══╩══ Schlitze 8 × 3 mm (z = 2 … 16), darunter Fußring
──────────────────────────────────────────────────────────────── Boden, depth = 218
Die vier Nasen der Längsseiten (x = ±90) liegen außerhalb dieser Schnittebene.
Querschnitt an einer Spange (Blick in Längsrichtung)
┌──────────────────────────────────────────┐ Spange: Brücke, clamp_t = 3
│ ╷ ╷ │ (läuft über den Deckel hinweg)
═════╪══╪════════════════════════════════════╪══╪═════ Oberkante Rand / Wulst
│ │▔▔▔▔ ▔▔▔▔│ │ rim_out = 80
│ │ Nase, lug_t = 3 │ │ ▲
│ │ ┌────────────────────────────────┐ │ │ │ sink = 7 mm
│ │ │ Deckelplatte, lid_t = 4 │ │ │ ▼
│ │ └────────────────────────────────┘ │ │
│ │ │ │
└──┤ Taschenwand, wall_out = 76 ├──┘ Schenkel, clamp_leg = 28
│ │
- Der Deckel liegt nicht auf dem Rand auf, sondern hängt an sechs Nasen um
sinktiefer in der Öffnung. Dadurch entsteht rundum eine Mulde, über die die Bienen von oben seitlich einlaufen können, ohne dass die Tasche offen ist. - Das Steigrohr steckt mit einem Kragen im Deckel und reicht bis kurz über den Boden. Innen läuft ein durchgehender Wendelgang (Spiraltreppe) — die Bienen laufen daran hinunter zum Sirup und wieder hinauf. Der Sirup steigt durch die schmalen Schlitze am Fuß ins Rohr; die Schlitze sind mit 3 mm schmal genug, dass die Bienen nicht seitlich in den Vorrat gelangen und ertrinken. Die untersten 2 mm des Rohrs sind ein geschlossener Fußring (Standfläche), die Schlitze beginnen darüber.
- Der Abstandshalter ist als Ring auf die Einfüllöffnung des Deckels aufmodelliert. Er hält den Trichter auf Abstand, damit die beim Einfüllen verdrängte Luft durch die Schlitze entweichen kann.
- Der Stopfen verschließt die Einfüllöffnung nach dem Befüllen.
- Die Spangen greifen von außen über den Rand und verhindern, dass sich die volle Tasche aufweitet. Die Brücke läuft über den versenkten Deckel hinweg.
Bauteile
Modul / part |
Bauteil | Stück | Bauraum X × Y × Z (mm) | Volumen |
|---|---|---|---|---|
deckel |
Deckel komplett, mit Abstandshalter und Griffen | 1 | 344 × 77 × 14 | 99,0 cm³ |
rohr |
Steigrohr mit Wendelgang und Auflagekragen | 1 | 54 × 54 × 217,5 | 97,5 cm³ |
stopfen |
Verschluss der Einfüllöffnung | 1 | 48 × 34 × 14,5 | 3,7 cm³ |
spange |
eine Spange | 2–4 | 86,8 × 31 × 16 | 8,5 cm³ |
spange2 |
zwei ineinander geschachtelte Spangen | 1–2 | 101 × 86,8 × 16 | 16,9 cm³ |
halter |
Abstandshalter einzeln (sitzt sonst fest am Deckel) | – | 46 × 46 × 4 | 4,1 cm³ |
stift |
Passstift, nur für den geteilten Deckel | 2 | Ø 2,95 × 8 | 0,05 cm³ |
deckel_a / deckel_b |
Deckelhälften mit Stufenfalz (geteilt = true) |
je 1 | 184 × 77 × 14 | 45 / 54 cm³ |
Bauraum und Volumen sind aus den exportierten STLs gemessen, das Volumen also bei 100 % Füllung. Ein kompletter Satz (Deckel + Rohr + Stopfen + 4 Spangen) sind rund 234 cm³, in PLA also gut 290 g bei voller Füllung — mit üblicher Infill-Einstellung deutlich weniger.
Deckel: links das Loch für das Steigrohr, rechts die Einfüllöffnung mit dem aufmodellierten Abstandshalter, dazwischen die beiden Griffkegel; am Rand die sechs Auflagenasen.
Steigrohr mit Auflagekragen und Einlaufschlitzen · zwei ineinander geschachtelte Spangen, wie sie aufs Druckbett kommen · Stopfen mit Zapfen und zwei Grifflaschen.
Hilfsmodule ohne eigenes part: lid_platte(), nase(), griff(), seg_mask(),
rohr_profil(), spiral_profil_2d(), spiralgang(), rohr_fuss(), ansicht_alle().
Rendern und Exportieren
Beim Öffnen zeigt die Datei die Kontrollansicht aller Teile nebeneinander
(part = "alle", überschneidungsfrei geprüft). Welches Bauteil gerendert wird, steuert
die Variable part — im Customizer als Auswahlliste oder auf der Kommandozeile:
openscad -D 'part="rohr"' -o build/rohr.stl futterturm.scad
Bequemer über das Makefile:
make # alle Druckteile nach build/
make halbe # zusätzlich die beiden Deckelhälften (geteilt = true)
make img # Vorschaubilder nach img/
make clean # build/ löschen
Gültige Werte für part: alle, deckel, deckel_a, deckel_b, rohr, stopfen,
spange, spange2, halter, stift. Ein unbekannter Wert bricht mit einer klaren
Fehlermeldung ab statt still nichts zu rendern.
Das Makefile schreibt binäre STLs (--export-format binstl) — beim Steigrohr sind
das 11 MB statt 70 MB als ASCII. build/ steht in der .gitignore, img/ nicht: die
Vorschaubilder gehören zur Doku.
Falle bei
use <>: Wer sich eine eigene Wrapper-Datei mituse <futterturm.scad>baut, bekommt die Module — aber nicht$fn. Spezialvariablen werden vonuse <>nicht importiert, das Ergebnis ist dann grob facettiert (beim Steigrohr 75 000 statt 226 000 Dreiecke). In solchen Wrappern$fn = 128;noch einmal setzen, siehedoc/rohr-schnitt.scad.-Ddagegen greift bis in die Module und die abgeleiteten Größen durch (geprüft mit OpenSCAD 2026.01.15).
Rechenzeit
$fn = 128 gilt global, und der Wendelgang wird als verdrillte Extrusion mit
ceil(turns · spiral_seg) = 2016 Zwischenscheiben gebaut — das klingt teuer, ist es
aber nicht: ein STL-Export der kompletten Datei dauert rund eine Sekunde (OpenSCAD
2026.01.15 auf macOS, ca. 232 000 Facetten). Die Auflösung muss für Vorschauen also
nicht heruntergedreht werden; spiral_seg bzw. spirale = false sind eher
Gestaltungs- als Performanceschalter.
Parameter
Der Parameterblock ist mit /* [n - …] */-Marken in Reiter für den OpenSCAD-Customizer
unterteilt (Fenster → Customizer). Damit das funktioniert, stehen in der Datei erst alle
Parameter und dann erst Module und Bauteilauswahl: der Customizer wertet nur Zuweisungen
bis zur ersten geschweiften Klammer aus.
0 — Bauteil
| Parameter | Standard | Bedeutung |
|---|---|---|
part |
"alle" |
Welches Bauteil gerendert wird, siehe oben |
1 — An der Futtertasche messen
Der obere Rand der Tasche hat einen nach außen stehenden Wulst. Darüber wird das
Außenmaß gemessen (rim_out), darunter geht die Wand auf tasche_wall zurück. Die
lichte Weite ergibt sich daraus rechnerisch und ist über die Wulsthöhe konstant.
| Parameter | Standard | Bedeutung |
|---|---|---|
open_l |
341 | Lichte Länge der Öffnung oben (innen) |
corner_r |
7 | Eckenradius der Öffnung |
rim_out |
80 | Außenmaß der Breite über den Wulst |
wulst_w |
4 | Breite des Wulstes = Auflagefläche des Randes |
wulst_h |
1 | Höhe des Wulstes |
tasche_wall |
2 | Wandstärke unterhalb des Wulstes |
depth |
218 | Innentiefe: Oberkante Rand bis Boden |
2 — Deckel
| Parameter | Standard | Bedeutung |
|---|---|---|
sink |
7,0 | Wie tief die Deckeloberseite unter der Oberkante Rand liegt |
lid_t |
4,0 | Plattenstärke |
lid_gap |
1,0 | Gesamtspiel der Platte in der Öffnung (0,5 mm je Seite) |
geteilt |
false | true → zwei Hälften mit Stufenfalz für kleine Druckbetten |
lap |
24 | Länge des Stufenfalzes |
pin_d |
3,2 | Bohrung für die Passstifte |
pin_y |
22 | Abstand der Passstifte von der Mitte |
2b — Auflagenasen
Sechs Nasen: vier an den Längsseiten bei x = ±lug_x, zwei an den Stirnseiten.
| Parameter | Standard | Bedeutung |
|---|---|---|
lug_w |
14 | Breite einer Nase |
lug_out |
6 | Tiefe der Auflagefläche an den Längsseiten |
lug_t |
3,0 | Stärke der Auflage |
lug_x |
90 | Position der seitlichen Nasen in Längsrichtung |
lug_out_e |
5,0 | Tiefe der Auflagefläche an den Stirnseiten |
lug_dz_e |
0,0 | Stirnauflage liegt um diesen Betrag tiefer als der Wulst |
nase()beginnt 3 mm innerhalb der Deckelkante. Der tatsächliche Überstand auf den Wulst ist deshalblug_out − 3= 3 mm bzw.lug_out_e − 3= 2 mm — nicht 6 bzw. 5 mm. Werlug_outändert, sollte das mitrechnen.
2c — Griffe
| Parameter | Standard | Bedeutung |
|---|---|---|
grip_x |
65 | Abstand der Griffkegel von der Deckelmitte |
grip_h |
14 | Höhe ab Deckelunterseite (so hoch wie die Nasen) |
grip_d1 |
8 | Durchmesser unten |
grip_d2 |
16 | Durchmesser oben |
3 — Steigrohr
| Parameter | Standard | Bedeutung |
|---|---|---|
tube_od |
44 | Außendurchmesser |
tube_wall |
3,2 | Wandstärke |
rib_h |
1,6 | Radiale Tiefe des Wendelgangs (Trittbreite) |
rib_p |
5,0 | Steigung: Höhengewinn je Umlauf |
spirale |
true | true → durchgehende Wendel, false → alte Ringsprossen |
spiral_dir |
1 | 1 rechtsgängig, -1 linksgängig |
spiral_seg |
48 | Segmente je Umlauf (Auflösung der Wendel) |
slot_h |
16 | Oberkante der Einlaufschlitze |
slot_w |
3,0 | Breite der Schlitze (bienensicher: < 4 mm) |
slot_n |
8 | Anzahl der Schlitze |
foot_h |
2 | Geschlossener Ring am Fuß = Standfläche |
flange_d |
54 | Durchmesser des Auflagekragens |
flange_t |
2,5 | Stärke des Kragens |
bot_gap |
1,0 | Luft zwischen Rohrende und Taschenboden |
tube_x |
−125 | Position des Rohrs in Deckel-Längsrichtung |
steigrohr() prüft per assert, dass rib_h < rib_p ist — sonst passt eine Flanke
nicht in einen Umlauf.
Der Fußring (rohr_fuss()) wird nach der difference() addiert und deshalb von den
Schlitzen nicht angeschnitten. Die Schlitze sind dadurch von foot_h bis slot_h
offen, ihre wirksame Höhe ist slot_h − foot_h = 14 mm, und die untersten 2 mm
Sirup laufen nicht ins Rohr. Beides nachgemessen.
4 — Einfüllöffnung
| Parameter | Standard | Bedeutung |
|---|---|---|
fill_d |
20 | Bohrung, gerade groß genug für einen Trichterstutzen |
fill_x |
125 | Position in Längsrichtung |
5 — Abstandshalter / Entlüftungsring
| Parameter | Standard | Bedeutung |
|---|---|---|
sp_od |
46 | Außendurchmesser des Rings |
sp_h |
4 | Höhe = Luftspalt zwischen Trichter und Deckel |
sp_slots |
4 | Anzahl der Entlüftungsschlitze |
sp_slw |
6 | Breite der Entlüftungsschlitze |
sp_nose |
3 | Durchmesser der Zentriernasen (siehe Offene Punkte) |
6 — Spangen
| Parameter | Standard | Bedeutung |
|---|---|---|
clamp_w |
16 | Breite der Spange in Taschenlängsrichtung |
clamp_t |
3,0 | Materialstärke von Brücke und Schenkeln |
clamp_leg |
28 | Länge der Schenkel außen an der Tasche |
clamp_gap |
0,4 | Spiel auf der Wand (je Seite) |
clamp_lead |
2,0 | Einführschräge am Schenkelende |
Abgeleitete Größen
Stehen in der Gruppe [Hidden], tauchen also bewusst nicht im Customizer auf.
| Größe | Formel | Aktuell |
|---|---|---|
open_w |
rim_out − 2·wulst_w |
72 mm |
wall_out |
rim_out − 2·(wulst_w − tasche_wall) |
76 mm |
lid_L |
open_l − lid_gap |
340 mm |
lid_W |
open_w − lid_gap |
71 mm |
tube_L |
depth − sink − bot_gap |
210 mm |
tube_id |
tube_od − 2·tube_wall |
37,6 mm |
| Umläufe der Wendel | tube_L / rib_p |
42 |
| Lichte Weite im Rohr | tube_id − 2·rib_h |
34,4 mm |
| Gesamthöhe Steigrohr | tube_L + (flange_d − tube_od)/2 + flange_t |
217,5 mm |
Feste Spiele im Code (nicht als Parameter herausgezogen):
- Deckelbohrung für das Rohr:
tube_od + 0,6 - Deckelbohrung für die Einfüllöffnung:
fill_d + 0,4 - Stopfen-Zapfen:
fill_d − 0,4, Wandstärke 1,5 mm - Wulstaussparung der Spange:
wulst_h + 0,4, Schenkeltasche 0,5 mm tiefer
Der Wendelgang
Der Gang entsteht nicht als 3D-Helix, sondern als verdrillte Extrusion eines
2D-Grundrisses (spiral_profil_2d() + spiralgang()):
- Der Grundriss ist eine Rampe, die von der Rohrinnenwand (
r = ri) über einen Winkeldphi = rib_h · 360/rib_pnach innen aufr = ri − rib_hläuft. Zusätzlich greift sie mitov = 0,4 mmin die Rohrwand hinein, damit die Vereinigung sauber verschmilzt. linear_extrude(twist = 360 · tube_L/rib_p)verdrillt diesen Grundriss über die ganze Rohrlänge. Dabei wird aus der Winkelbreite der Rampe die axiale Höhe ihrer Flanke.- Die Verdrillung beträgt
360/rib_p= 72°/mm. Eine Winkelbreite vondphi= 115,2° entspricht damit genaurib_h= 1,6 mm Höhe — die Unterseite der Wendel steht auf 45° und ist ohne Stützmaterial druckbar. Die radiale Kante wird zur waagerechten Trittfläche. - Weil
dphiproportional zurib_h/rib_pdefiniert ist, ist die Flankenhöhe immer gleichrib_h— die 45° bleiben also bei jeder Kombination ausrib_hundrib_perhalten, solange die Formel unverändert bleibt. Die harte Grenze istrib_h < rib_p(perassertgeprüft): darüber wäredphi > 360°und die Rampe würde sich im Grundriss selbst überlappen. spiral_segbestimmt die Facettierung: 48 Segmente je Umlauf sind glatt, 12–16 reichen für die Vorschau.
Mit spirale = false schaltet rohr_profil() auf die ältere Variante um: einzelne
Ringsprossen im Wandquerschnitt, ebenfalls mit 45°-Unterseite, im Abstand rib_p.
Das Bild oben erzeugt doc/rohr-schnitt.scad (make img) — die zur Kamera zeigende
Hälfte der untersten 70 mm wird weggeschnitten.
Empfehlungen — nichts davon steckt im Modell.
| Teil | Orientierung | Support |
|---|---|---|
| Deckel | wie modelliert, Platte auf dem Bett | nein; die Nasenauflagen kragen nur 2–3 mm aus und lassen sich überbrücken |
| Steigrohr | stehend wie modelliert, Fuß auf dem Bett | nein; der Kragen ist über die 45°-Kegelschräge abgestützt |
| Stopfen | Kappe auf dem Bett, Zapfen nach oben (rotate([180,0,0])) |
nein |
| Spange | wie modelliert, Extrusionsrichtung = Z | nein; das Profil hat keine Überhänge |
- Druckraum: Der Deckel braucht 344 × 77 mm Grundfläche. Ist das Bett zu klein,
make halbebauen — die beiden Hälften greifen mit einem Stufenfalz vonlap= 24 mm ineinander und werden mit zwei Stiften (stift()) gesichert. Das Steigrohr braucht 218 mm Bauhöhe und lässt sich nicht teilen. - Material: PETG oder PLA. PETG ist bei Sommertemperaturen im Volk formstabiler und gegenüber Zuckerlösung unempfindlich. Kein wasserlösliches Stützmaterial in Teilen mit Futterkontakt.
- Dichtigkeit: Der Stopfen und der Rohrkragen sind Steckverbindungen, keine Dichtungen — die Tasche ist ohnehin nach oben offen. Für das Steigrohr trotzdem 4 Wandlinien vorsehen, es trägt das Gewicht der einlaufenden Bienen und wird beim Reinigen belastet.
Montage
- Steigrohr von oben durch die große Deckelbohrung (Ø 44,6) stecken. Der Schaft führt sich mit 0,6 mm Spiel im Loch, der Kragen (Ø 54) liegt oben auf dem Deckel auf.
- Deckel gerade von oben in die Öffnung absenken — die Platte ist mit 340 × 71 mm um
0,5 mm je Seite kleiner als die Öffnung und muss nicht gekippt werden. Er setzt auf,
sobald alle sechs Nasen auf dem Randwulst bzw. auf den Stirnauflagen liegen; die
Deckeloberseite steht dann
sink= 7 mm unter der Oberkante Rand. - Sirup mit einem Trichter durch die Einfüllöffnung einfüllen. Der Trichterstutzen steht auf dem Abstandshalter, die verdrängte Luft entweicht durch dessen Schlitze.
- Einfüllöffnung mit dem Stopfen verschließen. Er liegt dabei auf dem 4 mm hohen Abstandshalter auf, nicht auf dem Deckel: der Zapfen ragt dadurch etwa 4 mm unter die Deckelunterseite, und die Entlüftungsschlitze des Rings bleiben offen. Der Verschluss ist also eine lose Abdeckkappe, keine Dichtung.
- Zwei bis vier Spangen von oben über den Rand schieben, verteilt über die Länge. Die Brücke läuft über den Deckel hinweg, die Schenkel greifen unter den Wulst.
Offene Punkte
- Die Zentriernasen des Abstandshalters fehlen im Ergebnis.
abstandshalter()setzt drei Nasen auf einen Radius von 6,6 bis 9,6 mm; der zentrale Durchbruch (cylinder(d = fill_d), Radius 10 mm) schneidet sie anschließend vollständig weg. Das exportierte Teil ist ein glatter Ring mit 4 mm Höhe. Damit die Nasen stehen bleiben, müssten sie außerhalb vonfill_d/2sitzen (z. B.fill_d/2 + sp_nose/2 + 0,4) oder von der Differenz ausgenommen werden. Weil das die Funktion des Teils ändert — die Nasen würden den Trichter dann außen statt innen führen — ist es bewusst nicht einfach umgestellt worden. lug_outundlug_out_esind keine reinen Überstände, siehe Hinweis bei den Auflagenasen. Sauberer wäre, den 3-mm-Versatz innase()zu einem eigenen Parameter zu machen.- Der Stopfen sitzt auf dem Abstandshalter, nicht auf dem Deckel (siehe Montage,
Schritt 4). Falls die Einfüllöffnung dicht schließen soll, müsste der Zapfen länger
und der Kappenrand größer als
sp_odsein.
Dateiübersicht
futterturm.scad Modell. Aufbau: Kopf mit Kurzanleitung (1–28),
Parameter (30–120), Module (122–341),
Bauteilauswahl ganz unten (343–356)
Makefile Export der STLs nach build/ und der Bilder nach img/
doc/rohr-schnitt.scad Schnittansicht nur fuer die Doku
img/ Vorschaubilder fuers README (versioniert)
build/ STL-Ergebnisse (nicht versioniert, siehe .gitignore)
README.md diese Datei
Stand: geprüft gegen futterturm.scad in der Fassung vom 4. August 2026,
OpenSCAD 2026.01.15. Alle Maß- und Volumenangaben stammen aus STL-Exporten dieses
Standes; die Aussagen zu Überschneidungen, zu den Einlaufschlitzen und zur
Einfüllbohrung aus booleschen Proben. Die Umstellung auf part wurde gegen die
vorherige Fassung geprüft: Facettenzahl, Volumen und Bounding-Box aller acht Bauteile
sind unverändert.





