coord-transf.2d elements3d elementsnon geo scriptsfunctionscontrol statem.attributesvariousaddons
planarprimitivebasic shapesprismscomplex shapesfrom polylines3d cuttingsolid commandsvarious
CUTPLANE CUTPLANE{2} CUTPOLY CUTPOLYA CUTFORM CUTSHAPE WALLHOLE WALLNICHE
Name
CUTPOLYA
Syntax
CUTPOLYAn, status, distance, x1, y1, mask1, ... xn, yn, maskn
 [, directionX, directionY, directionZ]
[...]
CUTEND
Aufklappen Range
n > 3, Anzahl der Punkte, Typ real
status, Typ integer
distance, Ende der Schnittröhre, Typ real
xi, yi, Koordinaten in der xy-Ebene, Typ real
maski, Maskierung der Schnittfläche, Typ integer
directionX,directionY,directionZ, Koordinaten des Richtungsvektors, Typ real
Aufklappen Mask Values
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. (distance ≠ 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 (directionX/ directionY/ directionZ) 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 Status Codes
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 method dort vorausgesetzt.
Ab ArchiCAD® 10 kann man mit dem PROJECT2{3}-Befehl sogar einen oder beide Flächentypen und/oder -kanten ausblenden.
Aufklappen Description
Erzeugt wie der CUTPOLY-Befehl eine Schnittröhre. Diese muss aber nicht beidseitig unendlich sein (distance ≠ 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:

distance = 0: beidseitig unendlich
distance ≠ 0: einseitig unendlich in Richtung des Vektors (directionX/ directionY/ directionZ)

Die Position der Begrenzungsfläche liegt in Richtung des Richtungsvektors gemessen in einer Entfernung von distance. 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 distance in Richtung (directionX/ directionY/ directionZ).

Es ergibt sich die Höhenlage des Endpolygons in Z-Richtung:
z = distance * directionZ / SQR(directionX^2 + directionY^2 + directionZ^2)
Aufklappen Example
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 distance.
Aufklappen Specialities
Ist der Richtungsvektor (directionX/ directionY/ directionZ) nicht angegeben, wird die Z-Achse (0,0,1) als Richtung angenommen.
Aufklappen Attributes
PEN, MATERIAL, FILL ... (?)
Aufklappen Context
3D-Skript
Aufklappen ArchiCAD®
since 6.0
Aufklappen References
GDL-Handbuch 6.0 (DE) p. 120
GDL-Handbuch 6.5 (DE) p. 116
GDL-Handbuch 7.0 (DE) p. 116
GDL-Handbuch 8.0 (DE) p. 78
GDL-Handbuch 8.1 (DE) p. 79
GDL-Handbuch 9.0 (DE) p. 108
GDL-Handbuch 10.0 (DE) p. 104
GDL-Handbuch 11.0 (DE) p. 108
GDL Reference Guide 9.0 (INT) p. 105
GDL Reference Guide 10.0 (INT) p. 104
GDL Reference Guide 11.0 (INT) p. 104
GDL Cookbook 3.1 (EN/DE) p. 1.73/2.58/2.169/2.187
 





Abb.1: Das Zusammenspiel zwischen Richtungsvektor und positiven oder negativen Werten für abstand.


Abb.1: Zeigt der Richtungsvektor in den negativen Z-Bereich, liegen negative Werte für abstand im positiven Z-Bereich.


Abb.3: Isometrie eines begrenzten Schnittkörpers.

separates Web Control Fenster Download Objekt

Aufklappen GDL WebControl