Name
CUTPOLYA
Syntax
CUTPOLYA n, status, abstand,
x1, y1, mask1,
...,
xn, yn, maskn
[, richtungX, richtungY, richtungZ]
[...]
CUTEND
x1, y1, mask1,
...,
xn, yn, maskn
[, richtungX, richtungY, richtungZ]
[...]
CUTEND
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
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
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.
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.
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.
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.
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)
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)
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.
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.
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.
Jegliche zuvor definierte MUL Befehle werden von CUTPOLYA ignoriert. Benötigt man diese Funktionialität sollte man zu CUTFORM ausweichen.
PEN, MATERIAL, FILL ... (?)
ArchiTalk (EN):
MUL hat keine Auswirkung
MUL hat keine Auswirkung
3D-Skript
ab 6.0