Die Funktion 3DFillet erlaubt das Abrunden von einer oder von mehreren Kanten eines 3D-Objekts.
Format:
Code Block |
---|
G3Fillet(<Objekt>, <Kanten>, <Radien>); |
<Objekt> | Definiert das 3D-Objekt, dessen Kanten abgerundet werden sollen. |
<Kanten> | Definiert die Kante oder mehrere Kanten, die abgerundet werden sollen. Jede Kante wird durch Point(xc,yc,zc) oder durch eine Punktmatrix definiert. |
<Radien> | Definiert den Abrundungsradius. Abrundungsradien werden durch die Funktion Array eingerichtet. Für eine einzelne Kante enthält die Funktion Array ein Wertepaar. Für mehrere Kanten sind mehrere Wertepaare angegeben. |
Beispiel für das Abrunden von Kanten:
Code Block |
---|
Array(Point(x1,y1,z1), Point(x2,y2,z2), Point(x3,y3,z3)); // definiert 3 Kanten für die Abrundung |
...
//Point(x1,y1,z1), Point(x2,y2,z2), Point(x3,y3,z3); - 3 Mittelpunkte auf 3 Kanten werden abgerundet |
Weiteres Beispiel:
Code Block |
---|
Array(r1, r2)-- // Matrix von Radiuswerten für die Abrundung der ausgewählten Kante |
...
// Sie definiert die Abrundungsradien für 2 Enden der ausgewählten Kante |
...
//r1 |
...
- Anfangsradius der Abrundung |
...
//r2 |
...
- Endradius der Abrundung |
Beispiel für das Abrunden einer Kante:
Code Block |
---|
3Fillet(TeilA,Point(xc,yc,zc), Array(r1, r2)); // Point(xc,yc,zc) stellt den Mittelpunkt der Kante dar |
Weiteres Beispiel:
Code Block |
---|
Tür= G3Fillet(Tür0, Point(0, -1, (Height-FHeight-4-3/4)/2), Array(1, 1)); |
Zum Beispiel (Abrundung einer Kante des Quaders):
Code Block |
---|
x = Parameter("Groesse", 5, LINEAR, GreaterThan(0)); |
...
r1 = Parameter("r1", 1, LINEAR, GreaterThan(0)); |
...
b0 = Box(0, 0, 0, x, x, x); |
...
b1 = G3Fillet(b0, Point(x/2, 0, 0), Array(r1, r1*2)); |
...
Output(b1); |
Beisiel für das Abrunden von vier Kanten eines Quaders:
Code Block |
---|
L = Parameter("Länge", 5, LINEAR); |
...
B = Parameter("Breite", 3, LINEAR); |
...
H = Parameter("Höhe", 1, LINEAR); |
...
R = Parameter("Radius", 0,5); |
...
g0 = Box(0,0,0,L,B,H); |
...
g1 = G3Fillet(g0, Array(Point(L/2, 0, 0), Point(0, B/2, 0), |
...
Point(L/2, W, 0), Point(L, B/2, 0)), |
...
Array(R, R, R, R, R, R, R, R)); |
...
Output(g1); |