Schnittoperationen
CUTPLANE
Mit CUTPLANE
wird eine Schnittebene im Raum erzeugt. Alle 3D Objekte die zwischen CUTPLANE
und CUTEND
erzeugt werden, werden von dieser Schnittebene geteilt sofern die Schnittebene und das 3D Objekt eine gemeinsame Schnittfläche haben. Die Teile des 3D Objekts die auf der "Schnittseite" liegen werden gelöscht. Schnittebenen können verschachtelt werden.
CUTPLANE [x, y, z [, side]]
[commands ...]
CUTEND
oder
CUTPLANE angle
[commands ...]
CUTEND
x, y, z:
Diese drei Werte definieren eine Ebene, maximal ein Wert darf 0 sein.
side:
Definiert welcher Teil des geschnittenen Objekts gelöscht wird, side=0
bedeutet, Teile oberhalb der Schnittebene werden gelöscht (Standard), side=1
bedeutet, Teile unterhalb der Schnittebene werden gelöscht.
angle:
Rotationswinkel der Schnittebene
Die Anzahl der Parameter definiert das Verhalten der Schnittebene:
CUTPLANE
: Die Schnittebene entspricht der XY-Ebene, gelöscht werden jene Objektteile, die in +Z Richtung über der Schnittebene liegen.CUTPLANE angle
: Schnittebene liegt in der X-Achse,angle
ist der Winkle zwischen XY-Ebene und der Schnittebene. Gelöscht werden jene Objektteile die im Bereich vonangle
bisangle + 180
liegen. (siehe Beispiel 1)CUTPLANE x, y
: Die Schnittebene ist parallel zur Z-Achse, und schneidet die X- bzw. Y-Achse an den angegeben Werten. Gelöscht werden jene Objektteile die auf der Seite liegen, die nicht den lokalen Ursprung des aktuellen Koordinatensystems enthält.CUTPLANE x, y, z
: Die Schnittebene schneidet die X-, Y- und Z-Achse an den angegeben Werten. Gelöscht werden jene Objektteile die auf der Seite liegen, die nicht den lokalen Ursprung des aktuellen Koordinatensystems enthält.CUTPLANE x, y, z, side
: wennside=0
entspricht das Verhalten genau der mit 3 Parametern, fürside=1
gilt: gelöscht werden jene Objektteile die auf der Seite liegen, die den lokalen Ursprung des aktuellen Koordinatensystems enthält.
CUTSHAPE
Erzeugt eine U- (d > 0)
oder L-förmige (d < 0)
Schnittfigur, die erste Schnittfläche ist immer die XY-Ebene, die zweite Schnittebene ist die YZ-Ebene und bei der U-förmigen Schnittform, gibt d
den Abstand der 3. Schnittfläche in +X-Richtung an.
CUTSHAPE d
[commands ...]
CUTEND
d:
definiert die Schnittfigur
d = 0
: Schnittebene liegt in der XY-Ebene, Teile über der XY-Ebene werden gelöscht, funktioniert mit Allplan 2013 nicht.d < 0
: L-Schnitt- 1. Schnittebene liegt in der XY-Ebene
- 2. Schnittebene liegt in der YZ-Ebene
- Alle Objektteile im +X/+Z Quadranten werden gelöscht.
d > 0
: U-Schnitt- 1. Schnittebene liegt in der XY-Ebene
- 2. Schnittebene liegt in der YZ-Ebene
- 3. Schnittebene parallel zur YZ-Ebene mit Abstand
d
in X-Richtung
- Objekte über der XY- und zwischen der 2. und 3. Schnittebene werden gelöscht
CUTPOLY
Wie der CUTPLANE
-Befehl werden alle nachfolgenden 3D-Elemente bis zum zugehörigen CUTEND
-Befehl beschnitten. Schnittfigur ist ein, in der XY-Ebene frei definierbarer konvexer Polygonzug, verschoben entlang des Richtungsvektor rx, ry, rz
. (Standard = [0, 0, 1]
), alle Objektteile innerhalb dieser "Röhre" werden gelöscht.
Ein Verschiebungsvektor in der XY-Ebene (rz = 0
) löscht alle zwischen CUTPOLY
und CUTEND
definierten Objekte.
CUTPOLY n, x1, y1, ..., xn, yn [, rx, ry, rz]
[commands ...]
CUTEND
n:
Anzahl der Polygonpunkte
xi, yi:
Koordinaten in der XY-Ebene
rx, ry, rz:
Koordinaten des Richtungsvektors
CUTPOLYA
Erzeugt ähnlich wie der CUTPOLY
-Befehl eine Schnittröhre, diese wird aber durch zwei Ebene begrenzt. Erstens durch die XY-Ebene und zweitens durch eine zur XY-Ebene parallelen Ebene mit dem Abstand d
in Z-Richtung (genauer: Richtung der rz
Komponente des Richtungsvektors). Wenn d=0
ist, ist das Ergebnis identisch mit CUTPOLY
, da die Parameter status
und mask
von Allplan nicht unterstützt werden. Wird eine begrenzte Röhre definiert (d <> 0
), so zeigt die Öffnung stets in die Richtung des Richtungsvektors, auch wenn d < 0
ist.
CUTPOLYA n, status, d, x1, y1, mask1, ..., xn, yn, maskn [, rx, ry, rz]
[commands ...]
CUTEND
n:
Anzahl der Polygonpunkte
status:
wird nicht unterstützt
d:
Begrenzung der Schnittform, Abstand von der XY-Ebene in Richtung der rz
Komponente des Richtungsvektors
xi, yi:
Koordinaten in der XY-Ebene
maski:
wird nicht unterstützt
rx, ry, rz:
Koordinaten des Richtungsvektors
CUTFORM
CUTFORM
ist eine Weiterentwicklung des CUTPOLYA
-Befehls, es gibt zwei weitere Schnittformen: Keil und Pyramide.
CUTFORM n, form, status, rx, ry, rz, d, x1, y1, mask1, ..., xn, yn, maskn
[commands ...]
CUTEND
n:
Anzahl der Polygonpunkte
form:
1/2/3 = Prisma/Pyramide/Keil
status:
siehe unten
rx, ry, rz:
Koordinaten des Richtungsvektors
d:
Begrenzung der Schnittform, Abstand von der XY-Ebene in Richtung der rz
Komponente des Richtungsvektors
xi, yi:
Koordinaten in der XY-Ebene
maski:
wird nicht unterstützt
status = j4/5 + j6
j4/5 = 0:
Endlicher Schnittj4/5 = 16:
Einseitig unendlicher Schnittj4/5 = 24:
Unendlicher Schnittj6 = 0|32:
Schnittform bildet Boole’sche Differenz | Schnittmenge mit dem Schnittkörper
Schnittform Prisma
Entspricht, bis auf die Steuerung der Schnittformbegrenzung, CUTPOLYA
. Sowohl beim einseitig als auch beim beidseitig unendlichen Schnitt wird der Paramater d
ignoriert. Der einseitig unendliche Schnitt beginnt immer in der XY-Ebene.
Schnittform Pyramide
Der Richtungsvektor gibt die Koordinate der Pyramidenspitze an. Die Basisfläche liegt in der XY-Ebene. Der Parameter d
begrenzt die Pyramide mit einer zur XY-Ebene parallelen Fläche mit dem Abstand d
. Einseitig und beidseitig unendliche Schnitte verlängern die Schnittpyramide von der Spitze weg. Negative Richtungsvektoren in Kombination mit unendlichen Schnitten, führen zu seltsamen (falschen?) Ergebnissen.
Schnittform Keil
Die obere Keilkante wird durch den Richtungsvektor definiert und ist immer parallel zu Y-Achse, ry
Komponente wird ignoriert. Als endlicher Schnitt wird der Keil oben mit einer Ebene parallel zur XY-Ebene mit Abstand d
abgeschnitten. Einseitig und beidseitig unendliche Schnitte verlängern den Schnittkeil von der Spitze weg. Negative Richtungsvektoren in Kombination mit unendlichen Schnitten, führen zu seltsamen (falschen?) Ergebnissen.
Durch das Setzen des Bit j6
des status
Werts, kann auch eine Schnittmenge mit dem geschnittenen Körper erzeugt werden.
CUTPLANE
CUTPLANE 30
CUTPLANE 3, 4
CUTPLANE 3, 4, 5
CUTPLANE 3, 4, 5, 1
CUTSHAPE L-SHAPE
CUTSHAPE U-SHAPE
CUTPOLY
CUTPOLYA
CUTFORM form=1 d=3 status=16
CUTFORM form=2 status=16
CUTFORM form=3 status=0