Name
CUTPLANE
Syntax
CUTPLANE [x, y [, z [, seite [, status]]]]
[...]
CUTEND
oder
CUTPLANE winkel
[...]
CUTEND
[...]
CUTEND
oder
CUTPLANE winkel
[...]
CUTEND
x,y,z, Typ real (Koordinaten, maximal eine Koordinate=0)
seite, Schnittseite, Typ boolean
0 ≤ status ≤ 3, Schnittkanten und -flächenbehandlung, Typ integer (ab ArchiCAD® 10)
winkel, Drehwinkel der Schnittebene, Typ real
seite, Schnittseite, Typ boolean
0 ≤ status ≤ 3, Schnittkanten und -flächenbehandlung, Typ integer (ab ArchiCAD® 10)
winkel, Drehwinkel der Schnittebene, Typ real
status=j1+j2
j1=0 /=1: Attribute nach Projekt oder Objekteinstellung/ nach Einstellungen im Skript
j2=0/ =2: Polygone werden wie Schnittflächen / wie normale Oberflächen behandelt
Nähere Beschreibung siehe CUTPLANE{2}-Befehl.
j1=0 /=1: Attribute nach Projekt oder Objekteinstellung/ nach Einstellungen im Skript
j2=0/ =2: Polygone werden wie Schnittflächen / wie normale Oberflächen behandelt
Nähere Beschreibung siehe CUTPLANE{2}-Befehl.
CUTPLANE erstellt eine unendliche Schnittebene im Raum, die alle 3D-Elemente, die bis zum zugehörigen CUTEND-Befehl im Skript erzeugt werden, an dieser schneidet. Die Teilstücke auf der "Schnittseite" werden nicht mehr dargestellt. Die Definition der Schnittebene im Raum ist eindeutig. Ihre Lage kann durch vorherige Transformationen des Koordinatensystems frei gewählt werden. Transformationen nach CUTPLANE haben keine Auswirkung auf die Lage und Orientierung der Schnittebene. Verschachtelte Schnittebenen wirken additiv und beschneiden sich nicht gegenseitig in ihrer Wirkung. Für polygonale Schnittführungen gibt es spezielle Schnittbefehle. Siehe die folgenden Befehle in diesem Abschnitt.
Die Wirkung von CUTPLANE richtet sich nach der Anzahl der nachfolgenden Parameter:
0 Parameter: (Abb. 1)
CUTPLANE
Die Schnittebene ist die XY-Ebene. Abgezogen werden alle Teile in positiver Richtung der Z-Achse ("oben").
1 Parameter: (Abb. 2)
CUTPLANE winkel
Die Schnittebene ist um die X-Achse um winkel gedreht (=zur Y-Achse geneigt). Die X-Achse liegt auf der Schnittebene. Entfernt wird alles was winkel bis winkel+180 überstreicht. Also im rotierten Zustand wieder der positive Z-Bereich. Der Befehl entspricht der Befehlskombination
ROTX winkel : CUTPLANE : DEL 1
2 Parameter: (Abb. 3)
CUTPLANE x,y
Die 2 Punkte (x/0/0), (0,y,0) spannen die Schnittebene senkrecht zur XY-Ebene und damit parallel zur Z-Achse auf. Die 2 Parameter geben als Ordinaten jeweils den Durchdringungspunkt der Achsen durch die Schnittebene an. Abgezogen werden die Elemente auf der Z-Achse abgewandten Seite.
Ist eine Ordinate (x oder y) 0, wird keine Schnittebene erzeugt.
3-5 Parameter: (Abb. 4)
CUTPLANE x,y,z,seite
Die 3 Punkte (x/0/0), (0,y,0) und (0/0/z) spannen die Schnittebene auf. Die 3 Parameter geben als Ordinaten jeweils auch den Durchdringungspunkt der Achsen durch die Schnittebene an. Abgezogen werden die Elemente auf der Seite, die nicht den lokalen Ursprung des aktuellen Koordinatensystems enthalten (seite=0) oder umgekehrt (seite=1).
Ist seite=0 kann der Parameter auch entfallen: CUTPLANE 1,2,0,0 ist gleichbedeutend mit CUTPLANE 1,2,0.
Ist eine der 3 Ordinaten (x,y oder z) =0, liegt die Schnittebene in der Achsenebene der verbleibenden 2 Achsen mit Werten ungleich 0. Die reguläre Abzugsseite ist dann die positive Richtung der Achse deren Ordinate 0 ist. Die Länge der Ordinaten (ungleich 0) ist dann egal, Hauptsache nicht 0.
CUTPLANE 1,0,1 ist somit die XZ-Ebene.
CUTPLANE 0,1,1 ist somit die YZ-Ebene.
CUTPLANE 1,1,0 ist somit die XY-Ebene wie CUTPLANE. Siehe Abb. 5.
Die Wirkung von CUTPLANE richtet sich nach der Anzahl der nachfolgenden Parameter:
0 Parameter: (Abb. 1)
CUTPLANE
Die Schnittebene ist die XY-Ebene. Abgezogen werden alle Teile in positiver Richtung der Z-Achse ("oben").
1 Parameter: (Abb. 2)
CUTPLANE winkel
Die Schnittebene ist um die X-Achse um winkel gedreht (=zur Y-Achse geneigt). Die X-Achse liegt auf der Schnittebene. Entfernt wird alles was winkel bis winkel+180 überstreicht. Also im rotierten Zustand wieder der positive Z-Bereich. Der Befehl entspricht der Befehlskombination
ROTX winkel : CUTPLANE : DEL 1
2 Parameter: (Abb. 3)
CUTPLANE x,y
Die 2 Punkte (x/0/0), (0,y,0) spannen die Schnittebene senkrecht zur XY-Ebene und damit parallel zur Z-Achse auf. Die 2 Parameter geben als Ordinaten jeweils den Durchdringungspunkt der Achsen durch die Schnittebene an. Abgezogen werden die Elemente auf der Z-Achse abgewandten Seite.
Ist eine Ordinate (x oder y) 0, wird keine Schnittebene erzeugt.
3-5 Parameter: (Abb. 4)
CUTPLANE x,y,z,seite
Die 3 Punkte (x/0/0), (0,y,0) und (0/0/z) spannen die Schnittebene auf. Die 3 Parameter geben als Ordinaten jeweils auch den Durchdringungspunkt der Achsen durch die Schnittebene an. Abgezogen werden die Elemente auf der Seite, die nicht den lokalen Ursprung des aktuellen Koordinatensystems enthalten (seite=0) oder umgekehrt (seite=1).
Ist seite=0 kann der Parameter auch entfallen: CUTPLANE 1,2,0,0 ist gleichbedeutend mit CUTPLANE 1,2,0.
Ist eine der 3 Ordinaten (x,y oder z) =0, liegt die Schnittebene in der Achsenebene der verbleibenden 2 Achsen mit Werten ungleich 0. Die reguläre Abzugsseite ist dann die positive Richtung der Achse deren Ordinate 0 ist. Die Länge der Ordinaten (ungleich 0) ist dann egal, Hauptsache nicht 0.
CUTPLANE 1,0,1 ist somit die XZ-Ebene.
CUTPLANE 0,1,1 ist somit die YZ-Ebene.
CUTPLANE 1,1,0 ist somit die XY-Ebene wie CUTPLANE. Siehe Abb. 5.
CUTPLANE
CUTPLANE 90
CUTPLANE 0,1,1,0
SPHERE 1
CUTEND
CUTEND
CUTEND
Erzeugt eine Viertelkugel
CUTPLANE 90
CUTPLANE 0,1,1,0
SPHERE 1
CUTEND
CUTEND
CUTEND
Erzeugt eine Viertelkugel
CUTPLANE-Befehle können verschachtelt werden. Jedoch nur ineinander, nicht verschränkt. Es sollte zu jedem CUTPLANE ein CUTEND im Skript gesetzt werden. Findet ArchiCAD bei der Ausführung nicht genügend CUTEND-Befehle, gelten diese Schnittebenen bis zum Skriptende, aber nicht darüber hinaus. Die Prüfung des Skriptcodes erzeugt dann auch einen Warnhinweis. CUTPLANE wirkt zwar auch innerhalb von Makros auf die Elemente des Makros, doch wird am Ende des Makroskriptes jeder noch nicht mit CUTEND "geschlossene" CUTPLANE beendet.
Im Gegensatz zu den SEO-Befehlen werden alle Elemente wie gewohnt direkt nach ihrer Position im Skript (an der Ebene beschnitten) ausgegeben und nicht erst zu einem bestimmten Ausgabebefehl.
CUTPLANE-Befehle innerhalb einer Gruppendefinition (GROUP ... ENDGROUP) wirken nur innerhalb dieser Gruppendefinition und nicht darüber hinaus. Auch wenn nicht ausreichend viel CUTEND-Befehle bis zum ENDGROUP-Befehl enthalten sind. Andererseits werden Gruppen, die mit PLACEGROUP platziert werden, ggf. von einer sie "umgebenden" Schnittebene beschnitten.
Der Befehl MODEL zeigt hier seine Wirkung: Bringt ein Volumenmodell (SOLID) noch Schnittfläche und Schnittkante, ist bei Oberflächenmodellen nur die Schnittkante zu sehen. Das beschnittene 3D-Element ist dann hohl und "einsehbar". Bei Drahtmodellen (WIRE) wird kein Schnittelement erzeugt. Lediglich Linien und Kreise werden beschnitten.
Im Gegensatz zu den SEO-Befehlen werden alle Elemente wie gewohnt direkt nach ihrer Position im Skript (an der Ebene beschnitten) ausgegeben und nicht erst zu einem bestimmten Ausgabebefehl.
CUTPLANE-Befehle innerhalb einer Gruppendefinition (GROUP ... ENDGROUP) wirken nur innerhalb dieser Gruppendefinition und nicht darüber hinaus. Auch wenn nicht ausreichend viel CUTEND-Befehle bis zum ENDGROUP-Befehl enthalten sind. Andererseits werden Gruppen, die mit PLACEGROUP platziert werden, ggf. von einer sie "umgebenden" Schnittebene beschnitten.
Der Befehl MODEL zeigt hier seine Wirkung: Bringt ein Volumenmodell (SOLID) noch Schnittfläche und Schnittkante, ist bei Oberflächenmodellen nur die Schnittkante zu sehen. Das beschnittene 3D-Element ist dann hohl und "einsehbar". Bei Drahtmodellen (WIRE) wird kein Schnittelement erzeugt. Lediglich Linien und Kreise werden beschnitten.
Vektorgeometrie - Ebene
ArchiTalk: Ebenengleichung für CUTPLANE umwandeln (EN)
ArchiTalk: Ebenengleichung für CUTPLANE umwandeln (EN)
3D-Skript
ab 5.0