OpenSCAD-Render des Staubsauger-Ersatzrads: balliges Laufrad mit zwei gestuften Achsstummeln

Ersatzrad für den Staubsauger

Beim Siemens-Staubsauger eines Bekannten war das Laufrad gebrochen — Ersatz gab es nur als teure Baugruppe. Also: altes Rad mit der Schieblehre ausgemessen, in OpenSCAD nachgebaut, gedruckt. Seit Jahren im Einsatz.

Beitrag komplett (.zip)

„Beitrag komplett“ liefert den OpenSCAD-Quelltext als fertige .scad-Dateien plus eine druckbare Kopie — ein Vorteil für CARECOM.united-Mitglieder. Die Mitgliedschaft ist kostenlos und unverbindlich. Zur Mitgliedschaft →

OpenSCAD-Render des Staubsauger-Ersatzrads

Beim Siemens-Staubsauger eines lieben Bekannten war das Laufrad gebrochen. Sein Ärger: Das Rad gab es nicht einzeln — nur als komplette Baugruppe, und die war teurer als ein neuer Staubsauger. Also hat er mir das alte, kaputte Rad geschickt. Ich habe jede Stufe mit einer digitalen Schieblehre ausgemessen, in OpenSCAD nachgebaut und gedruckt — das Teil ist bei ihm seit Jahren im Einsatz.

Genau dafür lohnt sich 3D-Druck: ein kleines Teil nachbauen und ein ganzes Gerät retten. Exakt dieses Rad braucht kaum jemand — übertragbar ist das Vorgehen.

Gemessen und aus Zylindern nachgebaut

Mit der Schieblehre wurde jeder Durchmesser und jede Breite abgenommen und als benannte Variable an den Dateianfang geschrieben — so ist das Modell exakt, und eine Fehlmessung kostet nur eine korrigierte Zahl. Das Laufrad ist ein Stapel aus drei Zylindern (Kegel–Mitte–Kegel); weil die Mitte (ci) etwas dicker ist als außen (co), bekommt es eine leicht ballige Lauffläche. Die Achsstummel sind gestufte Zylinder, deren schmale Stelle (amin/emin) die Rastnut für die Clips im Gehäuse bildet — millimetergenau, sonst sitzt das Rad nicht. (Das auskommentierte rotate([90,0,0]) oben kippt das Rad bei Bedarf in eine andere Druck-Lage.)

// vacuum cleaner / spare wheel

// --- axle left
// diameter (axle left)
a = 6.6;

// min. diameter (axle left)
amin = 5.26;

// length (axle left)
b = 9.5;

// length till min diameter (axle left)
b1=1.82;

// length with min diameter (axle left)
b2=2.56;

// length till max diameter (axle left)
b3=1;

// --- wheel
// diameter (wheel) middle
ci = 25.63;


// diameter (wheel) outside
co = 24.7;

// width (wheel)
d = 12;

// part of width (wheel) with middle diameter
di = 5;

// --- axle right
// diameter (axle right)
e = 6.6;

// min. diameter (axle right)
emin = 5.26;

// length (axle right)
f = 9.5;


// length till min diameter (axle right)
f1=1.82;

// length with min diameter (axle right)
f2=2.56;

// length till max diameter (axle right)
f3=1;


// quality
$fn=100;


//rotate([90,0,0]) {
    wheel();
    axleLeft();
    axleRight();
//}

// wheel
module wheel() {
    translate([0,0,(d/2+di/2) / 2])
    cylinder(d1=ci, d2=co, h=d/2-di/2, center=true);

    cylinder(d=ci, h=di, center=true);

    translate([0,0,-(d/2+di/2)/2])
    cylinder(d1=co, d2=ci, h=d/2-di/2, center=true);
}


// axle left
module axleLeft() {
    // in wheel
    translate([0,0, -d/2])
    cylinder(d=a, h=d/2);

    translate([0,0, -d/2-b1])
    cylinder(d1=amin, d2=a, h=b1);

    translate([0,0, -d/2-b1-b2])
    cylinder(d=amin, h=b2);

    translate([0,0, -d/2-b1-b2-b3])
    cylinder(d1=a, d2=amin, h=b3);

    translate([0,0, -d/2-b1-b2-b3-(b-b1-b2-b3)])
    cylinder(d=a, h=b-b1-b2-b3);
}

// axle right
module axleRight() {
        // in wheel
    translate([0,0, 0])
    cylinder(d=a, h=d/2);

    translate([0,0, d/2])
    cylinder(d1=a, d2=emin, h=f1);

    translate([0,0, d/2+f1])
    cylinder(d=emin, h=f2);

    translate([0,0, d/2+f1+f2])
    cylinder(d1=emin, d2=a, h=f3);

    translate([0,0, d/2+f1+f2+f3])
    cylinder(d=a, h=f-f1-f2-f3);

}
Es ist ein Fehler aufgetreten. Neu laden 🗙

Verbindung wird wiederhergestellt …

Wieder­verbindung fehl­geschlagen – nächster Versuch in Sekunden.

Wieder­verbindung fehl­geschlagen.
Bitte erneut versuchen oder die Seite neu laden.

Die Sitzung wurde vom Server pausiert.

Sitzung konnte nicht fort­gesetzt werden.
Bitte erneut versuchen oder die Seite neu laden.