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




Eine einfache Kiste erzeugen

Eine kleine Kiste zu erstellen ist nicht schwer. Es wird nur ein großer Quader erzeugt, von dem ein kleinerer abgezogen wird. Fertig!

 difference() {
   cube([10,20,12],center=false);
   translate([1,1,2]) cube([8,18,12],center=false); 
 }

Wie sieht es jedoch mit abgerundeten Kanten aus? Geht so etwas überhaupt?

Ja, es geht. Im Prinzip funktioniert es genauso mit
"difference() {}". Nur mit etwas mehr Aufwand ...


Eine abgerundete Kiste erstellen


Die kleine Kiste soll die Maße von 25 x 35 haben, und eine Höhe von 15. Der Radius soll jeweils 3 werden.


Die erste Kugel, die linke, wurde so gesetzt, dass sie an allen drei Kanten direkt anliegt.
Die zweite Kugel, die rechte, wurde nur um 22 nach rechts versetzt, da auch sie einen Radius von 3 hat: 22 nach rechts + 3 Radius = Außenmaß von 25!

Script für zwei Kugeln.

// abgerundete Kiste

$fn = 100;

translate([3, 3, 3]) sphere(r = 3);
translate([3, 22, 3]) sphere(r = 3);

Die zwei Kugeln im Bild


Die oberen zwei Kugeln sind ebenso nur auf 12 erhöht worden, da sie auch einen Radius von 3 haben: 12 hoch + 3 Radius = Außenmaß von 15!

Script für vier Kugeln.

// abgerundete Kiste

$fn = 100;

translate([3, 3, 3]) sphere(r = 3);
translate([3, 22, 3]) sphere(r = 3);

translate([3, 3, 12]) sphere(r=3);
translate([3, 22, 12]) sphere(r=3);

Die vier Kugeln im Bild


Ergänzen wir noch das ganze mit hull() {}, läßt sich bestimmt bereits erahnen, worauf es hinausläuft....

Script für vier Kugeln.

// abgerundete Kiste

$fn = 100;

hull() {
translate([3, 3, 3]) sphere(r = 3);
translate([3, 22, 3]) sphere(r = 3);
translate([3, 3, 12]) sphere(r=3);
translate([3, 22, 12]) sphere(r=3);
}

Die vier Kugeln mit "hull"


Fügen wir weitere 4 Kugeln ein, zwischen den anderen und der geschweiften Ende-Klammer von Hull, so entsteht die äußere Hülle der Kiste!

Nur die 4 Zeilen koipieren und darunter einfügen, anschließend den x-Wert von "3" auf "32" ändern.

Zur Ansicht setze ich das Kommentarzeichen //vor hull und dessen Ende-Klammer. So werden nur die acht Kugeln sichtbar.

Script für acht Kugeln.

// abgerundete Kiste

$fn = 100;

//hull() {
translate([3, 3, 3]) sphere(r = 3);
translate([3, 22, 3]) sphere(r = 3);
translate([3, 3, 12]) sphere(r=3);
translate([3, 22, 12]) sphere(r=3);

translate([32, 3, 3]) sphere(r = 3);
translate([32, 22, 3]) sphere(r = 3);
translate([32, 3, 12]) sphere(r=3);
translate([32, 22, 12]) sphere(r=3);

//}

Alle acht Kugeln in der Schwebe


Löschen wir nun die Kommentarzeichen //vor hull und dessen Ende-Klammer, kann es dann losgehen!

Nicht die Geduld verlieren - der Rechner braucht etwas Zeit zum Rechnen ....

Script für acht Kugeln.

// abgerundete Kiste

$fn = 100;

hull() {
translate([3, 3, 3]) sphere(r = 3);
translate([3, 22, 3]) sphere(r = 3);
translate([3, 3, 12]) sphere(r=3);
translate([3, 22, 12]) sphere(r=3);

translate([32, 3, 3]) sphere(r = 3);
translate([32, 22, 3]) sphere(r = 3);
translate([32, 3, 12]) sphere(r=3);
translate([32, 22, 12]) sphere(r=3);

}

Alles abgerundet


Jetzt kann über "difference" noch ein innerer Teil abgezogen werden. Hier muss jedoch die Wandstärke als Radius 3 berücksichtig werden

Das innere Maß ist 19 x 29 und 12 hoch.


Ziehen wir noch mittels "difference" von dem gro&szlöig;en Quader den kleinen ab, so entsteht unsere fertige Kiste.

Nicht die Geduld verlieren - der Rechner braucht etwas Zeit zum Rechnen ....

Script der fertigen Kiste

// abgerundete Kiste

$fn = 100;

difference() {
    
hull(){
translate([3, 3, 3]) sphere(r = 3);
translate([3, 22, 3]) sphere(r = 3);
translate([3, 3, 12]) sphere(r=3);
translate([3, 22, 12]) sphere(r=3);

translate([32, 3, 3]) sphere(r = 3);
translate([32, 22, 3]) sphere(r = 3);
translate([32, 3, 12]) sphere(r=3);
translate([32, 22, 12]) sphere(r=3);
}

color("silver")
translate([3, 3 ,3]) cube([29, 19, 12.2]);
}

Die fertige Kiste


Jetzt kann über "difference" noch ein innerer Teil abgezogen werden. Hier muss jedoch die Wandstärke als Radius 3 berücksichtig werden

Das innere Maß ist 19 x 29 und 12 hoch.





www.brixelweb.de