Name
CUTPOLYA

Syntax
CUTPOLYA n, status, abstand,
x1, y1, mask1,
...,
xn, yn, maskn
[, richtungX, richtungY, richtungZ]
[...]
CUTEND

Aufklappen Wertebereiche
n > 3, Anzahl der Punkte, Typ integer
status, Typ integer
abstand, Ende der Schnittröhre, Typ real
xi, yi, Koordinaten in der xy-Ebene, Typ real
maski, Maskierung der Schnittfläche, Typ integer
richtungX,richtungY,richtungZ, Koordinaten des Richtungsvektors, Typ real

Aufklappen Mask-Werte
Die Maskierungswerte geben an, wie sich die Kanten der Schnittröhre auf die geschnittenen Elemente auswirken. Die Definition ist ähnlich dem PRISM_-Befehl, jedoch ist die Sichtbarkeit der Fläche selbst nicht einstellbar.

maski= j1+ j2/7+ j3+ j5 mit
 j1=0/ =1: Untere, horizontale Kante ist unsichtbar/sichtbar.
 j2/7=0/ =2/ =66: Vertikale Kante ist unsichtbar/sichtbar/tangentiale Begrenzungskante.
 j3=0/ =4: Obere, horizontale Kante ist unsichtbar/sichtbar.
 j5=0/ =16: Begrenzungskante des Endpolygons ist unsichtbar/sichtbar. (abstand ≠ 0)

Dabei ist die untere Kante nicht die räumlich untere, sondern die erste Schnittkante, die die gedachte Röhre mit dem geschnittenen Körper erzeugt. Maßgeblich ist der Richtungsvektor. In Richtung von (richtungX/ richtungY/ richtungZ) an der Eintrittschnittfläche ist die untere und an der Austrittsschnittfläche die obere Kante.
Die Kante des Endpolygons wird nur dargestellt, wenn es sich innerhalb eines Körpers befindet und auch tatsächlich eine Schnittfläche erzeugt.

Siehe auch Extrakapitel Statuswerte.

Aufklappen Statuswerte
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

Mit  j1 wird festgelegt, ob die Schnittflächen die Attribute von den Einstellungen des Objektes erhalten oder die gerade im Schnitt festgelegten erhalten.

Der Typ der Polygone ( j2) wirkt sich weder in 3D aus, noch hat er etwas mit den durch Schnittlinien erzeugten Schnittflächen zu tun, sondern steuert ausschließlich die Darstellung des 3D-Modells bei einer Projektion im 2D-Teil des Objektes. Die richtigen Werte im Parameter methode dort vorausgesetzt.
Ab ArchiCAD® 10 kann man mit dem PROJECT2{3}-Befehl sogar einen oder beide Flächentypen und/oder -kanten ausblenden.

Aufklappen Erläuterung
Erzeugt wie der CUTPOLY-Befehl eine Schnittröhre. Diese muss aber nicht beidseitig unendlich sein (abstand ≠ 0). Zusätzlich kann die Sichtbarkeit der Schnittkanten durch einen Maskierungsparameter maski und die Attribute der Schnittflächen durch den Parameter status gesteuert werden.

Soll eine nur einseitig geöffnete Röhre definiert werden, so zeigt die Öffnung stets in die Richtung des Richtungsvektors. Es gilt:

abstand = 0: beidseitig unendlich
abstand ≠ 0: einseitig unendlich in Richtung des Vektors (richtungX/ richtungY/ richtungZ)

Die Position der Begrenzungsfläche liegt in Richtung des Richtungsvektors gemessen in einer Entfernung von abstand. Der Nullpunkt liegt in der XY-Ebene, positive Werte liegen in Richtung des Vektors, ungeachtet der Orientierung des Koordinatensystems. Die Endfläche selbst ist wiederum unabhängig von diesem Vektor parallel zu der XY-Ebene. Somit ist die Abbildungsvorschrift für das Endpolygon eine Parallelverschiebung um abstand in Richtung (richtungX/ richtungY/ richtungZ).

Es ergibt sich die Höhenlage des Endpolygons in Z-Richtung:
z = abstand * richtungZ / SQR(richtungX^2 + richtungY^2 + richtungZ^2)

Aufklappen Beispiel
Beispiel 1:
CUTPOLYA 3, 0, 0,
 0.2, 0.1, 7,
 0.9, 0.1, 7,
 0.2, 0.8, 7
BLOCK 1,1,1
CUTEND

Ein unendliches Schnittprisma auf dreieckiger Grundfläche.

Beispiel 2:
CUTPOLYA 3, 0, 0,
 0.2, 0.1, 7,
 0.9, 0.1, 7,
 0.2, 0.8, 7,
 0.1,-0.1,1
BLOCK 1,1,1
CUTEND

Das gleiche Prisma, jedoch geneigt.

Beispiel 3:
CUTPOLYA 3, 0, 0.25,
 0.2, 0.1, 23,
 0.9, 0.1, 23,
 0.2, 0.8, 23
BLOCK 1,1,1
CUTEND

Das Prisma aus Beispiel 1, aber nach oben unendlich.

Beispiel 4:
CUTPOLYA 3, 0, -0.75,
 0.2, 0.1, 23,
 0.9, 0.1, 23,
 0.2, 0.8, 23,
 0,0,-1
BLOCK 1,1,1
CUTEND

Das Prisma aus Beispiel 1, aber nach unten unendlich.

Beispiel 5:
a=0.75
msk=1+2+4+16
SET MATERIAL "Glas"

FOR abstand=-1 TO 1
 CUTPOLYA 3, 0, abstand,
  0.10,0.10,msk,
  0.65,0.10,msk,
  0.10,0.65,msk,
  0,0,1
 ADDX a
 NEXT abstand

DEL 3

ADDZ -1.5
BLOCK 3*a,a,3
DEL 1

FOR i= 1 TO 3
 CUTEND
 NEXT i

Wirkungsweise von positiven und negativen Werten für abstand.

Aufklappen Besonderheiten
Ist der Richtungsvektor (richtungX/ richtungY/ richtungZ) nicht angegeben, wird die Z-Achse (0,0,1) als Richtung angenommen.
Jegliche zuvor definierte MUL Befehle werden von CUTPOLYA ignoriert. Benötigt man diese Funktionialität sollte man zu CUTFORM ausweichen.

Aufklappen Attribute
PEN, MATERIAL, FILL ... (?)

ArchiTalk (EN):
MUL hat keine Auswirkung


Aufklappen Kontext
3D-Skript

Aufklappen ArchiCAD
ab 6.0