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



Die Transformation hull erzeugt eine Hülle um angegebene Objekte - egal ob 2D oder 3D.


hull - Erklärungen


Aus der Original-Anleitung ist folgendes bekannt:

hull() {
circle(10); translate([15,10,0]) circle(10); }


Dem Befehl hull folgen runde (), sowie geschweifte Klammern{}. Alle Elemente zwischen den geschweiften Klammern werden mit einer Hülle eingeschlossen.

Selbstverständlich funktioniert der Befehl hull auch mit anderen Elementen!



Werden zwei Würfel verwendet, einer in grün und der andere in rot, erscheinen diese in Farbe.

color("green") cube(10);

    translate([20,20,0]) 
    color("red") cube(10);

Wird der Befehl hull () {.....} angewendet, werden beide Würfel eingehüllt und verlieren ihre Farbe.

hull() {

color("green") cube(10);

    translate([20,20,0]
    color("red") cube(10);

}


Auch bei einfachen Zylindern geht dies.

color("green") cylinder(h=10,r=8);
	
    translate([20,20,0]) 
    color("red") cylinder(h=10,r=8);

Wird der Befehl hull () {.....} angewendet, werden auch beide Zylinder eingehüllt und verlieren die Farbe.

hull() {
	
color("green") cylinder(h=10,r=8);	
	
    translate([20,20,0])
    color("red") cylinder(h=10,r=8);

}


Und beim Kegelstumpf ?

color("green") cylinder(h=10,r1=8,r2=5);
	
    translate([20,20,0])
    color("red") cylinder(h=10,r1=8,r2=5);

Wird der Befehl hull () {.....} angewendet, werden auch beide kegelstümpfe eingehüllt und verlieren die Farbe.

hull() {

color("green") cylinder(h=10,r1=8,r2=5);

    translate([20,20,0]) 
    color("red") cylinder(h=10,r1=8,r2=5);
	
}


2 unterschiedliche Kegelstümpfe ?

hull() {

cylinder(h=10,r1=8,r2=2);

    translate([20,20,0])
    cylinder(h=15,r1=5,r2=10);

}


2 unterschiedliche Kugeln

hull() {
	
sphere(r=5);

    translate([20,20,0]) 
    sphere(r=8);

}


Kugel kombiniert mit einem Kegelstumpf

hull() {
	
color("green") sphere(r=8);

    translate([20,20,0])
    cylinder(h=15,r1=10,r2=5);
	
}

Es scheint fast alles möglich zu sein!


hull - sinnvolle Anwendungen



Einen rechteckigen Deckel mit Rundungen gestalten

Die Außenmaße sollen 50 x 75 mm werden.

color("red") cylinder(h=2,r=10);
	
    translate([30,0,0])
    color("green") cylinder(h=2,r=10);
	
    translate([0,55,0]) 
    color("blue") cylinder(h=2,r=10);
	
    translate([30,55,0]) 
    color("grey") cylinder(h=2,r=10); 

Zum besseren Verständnis habe ich farbige Zylinder angegeben. Rot ist der Ausgangspunkt, alle anderen werden um die angegebenen Maße versetzt.

Warum die Maße 30 und 55? Ganz einfach: es sollen die Außenmaße von 50 und 75 mm erzielt werden.
Da das Maß 50 mm die zwei Radien der Zylinder von je 10 mm bereits enthält, müssen diese für die Ermittlung der beiden Zentren der Zylinder abgezogen werden: (50 -r=10 -r=10) ergibt 30 mm.
Ebenso verhält es sich mit dem Mass von 75 mm: zwei Radien von je 10 mm abziehen ergibt 55 mm.

Somit können die vier Zentren der Zylinder mit dem Abstand von 30 x 55 angegeben werden. In allen vier Richtungen je 10 mm dazugerechnet ergibt für die "Hülle" im Anschluß daran die Maße von 50 x 75 mm.


Jetzt erfolgt die Hülle:

hull() {
	
cylinder(h=2,r=10);
		
    translate([30,0,0]) cylinder(h=2,r=10);
    translate([0,55,0]) cylinder(h=2,r=10);
    translate([30,55,0]) cylinder(h=2,r=10);

}

Und - schwupp - haben wir einen Deckel mit Rundungen!







www.brixelweb.de