^
brixelweb.de OpenSCAD-Menu
[ https://openscad.org/ ]


Adapter - z.B. für ein Staubsaugerrohr und einen Bürstenaufsatz

Ein passender Adapter für ein Staugsaugerrohr ist immer notwendig. Ein Aufsatz (z.B. als Bürste) passt in den meisten Fällen nicht. Also nehmen wir es selbst in die Hand und drucken uns ein Übergangsstück, einen Adapter!

Der Adapter wird in drei Teilen erstellt:
1. eine Aufnahme für das Staubsaugerrohr
2. ein Übergangsstück und 3. eine Aufnahme für die Bürste.


Für das Staubsaugerrohr

Das Staubsaugerrohr wird in das erste Teil, ein Rohr, gesteckt.
Rosarot das Staubsaugerrohr und gelb der Adapter.

Somit benötigen wir den Aussendurchmesser des Staubsaugerrohres: 28. Die Länge wird mit 35 festgelegt.


Für den Bürstenaufsatz

Die Aufnahme muss in die Bürste passen
Gelb der Adapter und rosarot die Bürste.

So benötigen wir den Innendurchmesser der Bürste: 20. Die Länge wird auch hier mit 35 festgelegt.


Das Wichtigste wird vom Script selbst erstellt: der Übergang.

Der Kegelstumpf hat eine Länge von 30.

Unten ist er (28 + 2x Wandstärke) und oben 20.


Wird alles zusammen gesetzt, wird es deutlicher zu erkennen, wie die einzelnen Aufnahmen eingesetzt werden.
Links das rosarote Staubsaugerrohr - in der Mitte der gelbe Adapter - rechts die aufgesetzte Bürste


Das massive Aussenteil

Die Wandstärke des Ganzen hat 1,6. Zu Beachten ist, dass statt einem Komma ein Punkt erfolgen muss!

Mit $fn=50; wird die Auflösung festgesetzt.

Der große Zylinder hat eine Höhe von 35: h=35; und einen ∅ von 28, zuzüglich 2x die Wandstärke von 1,6: d=28 + 2* 1.6.

Die Höhe des Kegelstumpfes beträgt 30: h=30;. Unten ist der ∅ 28 + 2x Wandstärke und oben 20.

Der Innendurchmesser der Bürste ist 20, also d=20; und die Höhe ist wieder 35 h=35;

Die Wandstärke des Ganzen beträgt 1,6: 1.6

// Adapter von klein auf gross : adapter_0.scad

$fn=50;

cylinder(h=35, d=28 + 2* 1.6, center=false);

translate([0,0,35])
cylinder(h=30, d1=28 + 2* 1.6, d2=20, center=false);

translate([0,0,35 + 30])
cylinder(h=35, d=20, center=false);

Dies ist der massive Teil


Der erste innere Teil

Mit dem Mal-Zeichen (Sternchen) wird die Zeile unsichtbar gemacht, dass der nachfolgende Befehl sichtbar werden kann.

Dafür werden zwei neue Zeilen zwischen geschoben: #translate([0,0,-0.1]) und #cylinder(h=35, d=28, center=false);

Die Rauten vor den Zeilen bewirken, dass die Anzeige durchsichtig erscheint.


So wird nun deutlich sichtbar, wie das durchsichtige rosarote Teil passen wird.

// Adapter von klein auf gross : adapter_0.scad

$fn=50;

// Zylinder 1
*cylinder(h=35, d=28 + 2* 1.6, center=false);

#translate([0,0,-0.1])
#cylinder(h=35, d=28, center=false);


// Kegelstumpf
translate([0,0,35])
cylinder(h=30, d1=28 + 2* 1.6, d2=20, center=false);

// Zylinder 2
translate([0,0,35 + 30])
cylinder(h=35, d=20, center=false);


Der mittlere innere Teil

Mit dem Mal-Zeichen (Sternchen) werden die Zeile wieder unsichtbar gemacht.

Dafür werden noch zwei neue Zeilen dazwischen geschoben: #translate([0,0,35-0.1]) und #cylinder(h=30, d1=28 + 2* 1.6, d2=20, center=false);

Die Rauten vor den Zeilen bewirken, dass die Anzeige durchsichtig erscheint.


So wird nun deutlich sichtbar, wie das durchsichtige rosarote Teil passen wird.

// Adapter von klein auf gross : adapter_0.scad

$fn=50;

// Zylinder 1
*cylinder(h=35, d=28 + 2* 1.6, center=false);

#translate([0,0,-0.1])
#cylinder(h=35, d=28, center=false);

// Kegelstumpf
*translate([0,0,35-0.1])

*cylinder(h=30, d1=28 + 2* 1.6, d2=20, center=false);

#translate([0,0,35])
#cylinder(h=30, d1=28, d2=20 - 2* 1.6, center=false);


// Zylinder 2
translate([0,0,35 + 30])
cylinder(h=35, d=20, center=false);


Der obere innere Teil

Mit dem Mal-Zeichen (Sternchen) werden die Zeile wieder unsichtbar gemacht.

Dafür werden noch zwei neue Zeilen dazwischen geschoben: #translate([0,0,35 + 30-0.5]) und #cylinder(h=36, d=20 - 2* 1.6, center=false);

Die Rauten vor den Zeilen bewirken, dass die Anzeige durchsichtig erscheint.


So wird nun deutlich sichtbar, wie das durchsichtige rosarote Teil passen wird.

// Adapter von klein auf gross : adapter_0.scad

$fn=50;

// Zylinder 1
*cylinder(h=35, d=28 + 2* 1.6, center=false);

#translate([0,0,-0.1])
#cylinder(h=35, d=28, center=false);

// Kegelstumpf
*translate([0,0,35])
*cylinder(h=30, d1=28 + 2* 1.6, d2=20, center=false);

#translate([0,0,35-0.1])
#cylinder(h=30, d1=28, d2=20 - 2* 1.6, center=false);

// Zylinder 2
*translate([0,0,35 + 30])
*cylinder(h=35, d=20, center=false);

#translate([0,0,35 + 30-0.5])
#cylinder(h=36, d=20 - 2* 1.6, center=false);



Von den Äußeren Teilen die Inneren abziehen

Zuerst werden alle Sternchen (*) und Rauten (#) entfernt.

Dafür werden difference(){...} für jedes Teil eingefügt.
Damit wird vom äußeren Teil das innere abgezogen.





Leider passt das nicht ganz ....

Die Maße sind zu genau. Es kann passieren, dass einzelne Teile nicht verbunden werden. So sollte z.B. beim "Ausschneiden" die Teile sich leicht überlagern.

Werden die inneren Teile etwas verlängert, reicht eines in das andere und somit überschneiden sie sich.
Beim Kegelstumpf:

translate([0,0,35 -0.1])
cylinder(h=30.2, d1=28, d2=20 - 2* 1.6, center=false);

Beim Zylinder 2:

translate([0,0,35 + 30 -0.2])
cylinder(h=35 +0.5, d=20 - 2* 1.6, center=false);
Die paar Zehntel fallen gar nicht ins Gewicht, da sie sich überlagern. Jedoch der Durchblick ist nun frei!

// Adapter von klein auf gross : adapter_0.scad

$fn=50;

// Zylinder 1

difference(){
cylinder(h=35, d=28 + 2* 1.6, center=false);

translate([0,0,-0.1])
cylinder(h=35.5, d=28, center=false);
}

// Kegelstumpf

difference(){
translate([0,0,35])
cylinder(h=30, d1=28 + 2* 1.6, d2=20, center=false);

translate([0,0,35])
cylinder(h=30, d1=28, d2=20 - 2* 1.6, center=false);
}

// Zylinder 2

difference(){
translate([0,0,35 + 30])
cylinder(h=35, d=20, center=false);

translate([0,0,35 + 30])
cylinder(h=35, d=20 - 2* 1.6, center=false);
}


Die Maße stimmen und der Durchblick ist nun frei!