Name
PROJECT2{4}
Syntax
PROJECT2{4} projektionsart, winkel,
transparenz, statusTeile,
anzSchnitt,
schnitthoehe1, ..., schnitthoehen,
methodei, teilei,
schnittSchraffurIdxi,
schnittSchraffurStifti, schnittSchraffurStiftHgi,
schnittSchraffUrsprungXi, schnittSchraffUrsprungYi, schnittSchraffurausrichtungi,
schnittLinienStifti, schnittLinientypi,
projizierteSchraffurIdxi,
projizierteSchraffurStifti, projizierteSchraffurStiftHgi,
projizierteSchraffurUrsprungXi, projizierteSchraffurUrsprungYi,
projizierteSchraffurausrichtungi,
projizierteLinienStifti, projizierteLinientypi,
...
methode(anzSchnitt+1), teile(anzSchnitt+1),
schnittSchraffurIdx(anzSchnitt+1),
schnittSchraffurStift(anzSchnitt+1), schnittSchraffurStiftHg(anzSchnitt+1),
schnittSchraffUrsprungX(anzSchnitt+1), schnittSchraffUrsprungY(anzSchnitt+1),
schnittSchraffurausrichtung(anzSchnitt+1),
schnittLinienStift(anzSchnitt+1), schnittLinientyp(anzSchnitt+1),
projizierteSchraffurIdx(anzSchnitt+1),
projizierteSchraffurStift(anzSchnitt+1), projizierteSchraffurStiftHg(anzSchnitt+1),
projizierteSchraffurUrsprungX(anzSchnitt+1), projizierteSchraffurUrsprungY(anzSchnitt+1),
projizierteSchraffurausrichtung(anzSchnitt+1),
projizierteLinienStift(anzSchnitt+1), projizierteLinientyp(anzSchnitt+1)
[, PARAMETERS name1=wert1 [, name2=wert2, ... namen=wertn]]
transparenz, statusTeile,
anzSchnitt,
schnitthoehe1, ..., schnitthoehen,
methodei, teilei,
schnittSchraffurIdxi,
schnittSchraffurStifti, schnittSchraffurStiftHgi,
schnittSchraffUrsprungXi, schnittSchraffUrsprungYi, schnittSchraffurausrichtungi,
schnittLinienStifti, schnittLinientypi,
projizierteSchraffurIdxi,
projizierteSchraffurStifti, projizierteSchraffurStiftHgi,
projizierteSchraffurUrsprungXi, projizierteSchraffurUrsprungYi,
projizierteSchraffurausrichtungi,
projizierteLinienStifti, projizierteLinientypi,
...
methode(anzSchnitt+1), teile(anzSchnitt+1),
schnittSchraffurIdx(anzSchnitt+1),
schnittSchraffurStift(anzSchnitt+1), schnittSchraffurStiftHg(anzSchnitt+1),
schnittSchraffUrsprungX(anzSchnitt+1), schnittSchraffUrsprungY(anzSchnitt+1),
schnittSchraffurausrichtung(anzSchnitt+1),
schnittLinienStift(anzSchnitt+1), schnittLinientyp(anzSchnitt+1),
projizierteSchraffurIdx(anzSchnitt+1),
projizierteSchraffurStift(anzSchnitt+1), projizierteSchraffurStiftHg(anzSchnitt+1),
projizierteSchraffurUrsprungX(anzSchnitt+1), projizierteSchraffurUrsprungY(anzSchnitt+1),
projizierteSchraffurausrichtung(anzSchnitt+1),
projizierteLinienStift(anzSchnitt+1), projizierteLinientyp(anzSchnitt+1)
[, PARAMETERS name1=wert1 [, name2=wert2, ... namen=wertn]]
projektionsart, Typ integer (*)
winkel, Typ real
transparenz, 0 = keine Transparenz / 1 = mit Transparenz
statusTeile, Typ integer (**)
anzSchnitt, Anzahl Schnittebenen, Typ integer
schnitthoehei, Typ real
methodei, Typ integer (***)
teilei, Typ integer (****)
schnittSchraffurIdxi, Typ integer
0≤ schnittSchraffurStifti, ≤255, Typ integer
-1≤ schnittSchraffurStiftHgi, ≤255, Typ integer
schnittSchraffurUrsprungXi, Typ real
schnittSchraffurUrsprungYi, Typ real
0≤ schnittSchraffurausrichtungi, ≤360, Richtungswinkel, Typ real
0≤ schnittLinienStifti, ≤255, Typ integer
schnittLinientypi, Typ integer
projizierteSchraffurIdxi, Typ integer
0≤ projizierteSchraffurStifti, ≤255, Typ integer
-1≤ projizierteSchraffurStiftHgi, ≤255, Typ integer
projizierteSchraffurUrsprungXi, Typ real
projizierteSchraffurUrsprungYi, Typ real
0≤ projizierteSchraffurausrichtungi, ≤360, Richtungswinkel, Typ real
0≤ projizierteLinienStifti, ≤255, Typ integer
projizierteLinientypi, Typ integer
(*) Typ der Projektion
3: Draufsicht
4: Ansicht
6: Frontalaxonometrie
7: Isometrische Axonometrie
8: Monometrische Axonometrie
9: Dimetrische Axonometrie
-3: Untersicht
-6: Frontalaxonometrie Unten
-7: Isometrische Axonometrie Unten
-8: Monometrische Axonometrie Unten
-9: Dimetrische Axonometrie Unten
(**) Zu generierende Teile (Hotlines, Hotspots, und Hotarcs), ergibt sich aus j1+j2 mit
j1=1: Projiziere 3D Hotspots als statische 2D Hotspots
j2=2: Projiziere 3D Hotlines und Hotarcs
(***) Darstellungsmethode
0: Aktueller Schnitt nimmt nicht an der Projektion teil
1: Wireframe
2: Versteckte Linien (analytisches Modell)
3: Schattiert
4: Versteckte Linien mit Polygon: mit den Methoden 1–3 erzeugte Polygone werden überdeckt, aber nicht eliminiert
16: Zusätzlicher Modifikator, erstellt Vektorschraffuren bei Methode 2 und 3
32: Zusätzlicher Modifikator, verwerfe 3D-Attribute (nur wirksam bei 2 und 4)
64: Zusätzlicher Modifikator, erstellte Schraffuren sind Bauteilbezogen (nur wirksam bei 3 und 4)
128: Zusätzlicher Modifikator, alle Linien sind innere Linien (nur wenn 32)
256: Zusätzlicher Modifikator, alle Linien sind Konturlinien (nur wenn 32 und nicht 128)
512: Zusätzlicher Modifikator, alle Schraffuren sind Schnittschraffuren (nur wenn 32, Standard ist Zeichnungsschraffuren)
1024: Zusätzlicher Modifikator, alle Schraffuren sind Deckschraffuren (nur wenn 32)
2048: Zusätzlicher Modifikator, die Modifikatoren 16, 32, 64, 128, 256, 512, 1024 gelten nur für projizierte Teile
4096: Zusätzlicher Modifikator, die Modifikatoren 16, 32, 64, 128, 256, 512, 1024 gelten nur für geschnittene Teile
8192: Zusätzlicher Modifikator, Schnittschraffuren sind verzogen
(Sollte die eingesetzte Zahl invalide sein, wird Methode=2 angenommen.)
(****) Zu generierende Teile, ergibt sich aus j1+j2+j3+j4+j7 mit
j1=1: Schneide Polygone (Schraffurattribute definiert durch SECT_FILL, nur wirksam wenn Methode=3 (Schattiert))
j2=2: Schneide Polygonkanten
j3=4: Zeige Polygone
j4=8: Zeige Polygonkanten
j7=64: Projiziere Punktwolken
winkel, Typ real
transparenz, 0 = keine Transparenz / 1 = mit Transparenz
statusTeile, Typ integer (**)
anzSchnitt, Anzahl Schnittebenen, Typ integer
schnitthoehei, Typ real
methodei, Typ integer (***)
teilei, Typ integer (****)
schnittSchraffurIdxi, Typ integer
0≤ schnittSchraffurStifti, ≤255, Typ integer
-1≤ schnittSchraffurStiftHgi, ≤255, Typ integer
schnittSchraffurUrsprungXi, Typ real
schnittSchraffurUrsprungYi, Typ real
0≤ schnittSchraffurausrichtungi, ≤360, Richtungswinkel, Typ real
0≤ schnittLinienStifti, ≤255, Typ integer
schnittLinientypi, Typ integer
projizierteSchraffurIdxi, Typ integer
0≤ projizierteSchraffurStifti, ≤255, Typ integer
-1≤ projizierteSchraffurStiftHgi, ≤255, Typ integer
projizierteSchraffurUrsprungXi, Typ real
projizierteSchraffurUrsprungYi, Typ real
0≤ projizierteSchraffurausrichtungi, ≤360, Richtungswinkel, Typ real
0≤ projizierteLinienStifti, ≤255, Typ integer
projizierteLinientypi, Typ integer
(*) Typ der Projektion
3: Draufsicht
4: Ansicht
6: Frontalaxonometrie
7: Isometrische Axonometrie
8: Monometrische Axonometrie
9: Dimetrische Axonometrie
-3: Untersicht
-6: Frontalaxonometrie Unten
-7: Isometrische Axonometrie Unten
-8: Monometrische Axonometrie Unten
-9: Dimetrische Axonometrie Unten
(**) Zu generierende Teile (Hotlines, Hotspots, und Hotarcs), ergibt sich aus j1+j2 mit
j1=1: Projiziere 3D Hotspots als statische 2D Hotspots
j2=2: Projiziere 3D Hotlines und Hotarcs
(***) Darstellungsmethode
0: Aktueller Schnitt nimmt nicht an der Projektion teil
1: Wireframe
2: Versteckte Linien (analytisches Modell)
3: Schattiert
4: Versteckte Linien mit Polygon: mit den Methoden 1–3 erzeugte Polygone werden überdeckt, aber nicht eliminiert
16: Zusätzlicher Modifikator, erstellt Vektorschraffuren bei Methode 2 und 3
32: Zusätzlicher Modifikator, verwerfe 3D-Attribute (nur wirksam bei 2 und 4)
64: Zusätzlicher Modifikator, erstellte Schraffuren sind Bauteilbezogen (nur wirksam bei 3 und 4)
128: Zusätzlicher Modifikator, alle Linien sind innere Linien (nur wenn 32)
256: Zusätzlicher Modifikator, alle Linien sind Konturlinien (nur wenn 32 und nicht 128)
512: Zusätzlicher Modifikator, alle Schraffuren sind Schnittschraffuren (nur wenn 32, Standard ist Zeichnungsschraffuren)
1024: Zusätzlicher Modifikator, alle Schraffuren sind Deckschraffuren (nur wenn 32)
2048: Zusätzlicher Modifikator, die Modifikatoren 16, 32, 64, 128, 256, 512, 1024 gelten nur für projizierte Teile
4096: Zusätzlicher Modifikator, die Modifikatoren 16, 32, 64, 128, 256, 512, 1024 gelten nur für geschnittene Teile
8192: Zusätzlicher Modifikator, Schnittschraffuren sind verzogen
(Sollte die eingesetzte Zahl invalide sein, wird Methode=2 angenommen.)
(****) Zu generierende Teile, ergibt sich aus j1+j2+j3+j4+j7 mit
j1=1: Schneide Polygone (Schraffurattribute definiert durch SECT_FILL, nur wirksam wenn Methode=3 (Schattiert))
j2=2: Schneide Polygonkanten
j3=4: Zeige Polygone
j4=8: Zeige Polygonkanten
j7=64: Projiziere Punktwolken
Erzeugt eine Projektion des 3D-Modells, jedoch mit deutlichen verändertem und erweitertem Funktionsumfang. So benötigt diese Version des Befehls im Gegensatz zum PROJECT2{3} keine seperaten Schnittbefehle, stattdessen werden diese durch den Befehl ad-hoc miterzeugt. Es können auch mehrere Schnittebenen auf einmal abgearbeitet werden. Die implizierten Schnittebenen befinden sich stets in der X-Y Ebene. Es ist möglich, sowohl die Attribute der projizierten, als auch der geschnittenen Teile zu kontrollieren, inklusive Vorder- und Hintergrundstift, Linientyp, und Schraffur.
Weiterhin existiert wie schon bei PROJECT2{3} die Möglichkeit, optional ein PARAMETERS mit Werten anzuhängen, die beim Durchlauf des 3D-Skriptes zur Erzeugung der 2D-Darstellung verwendet werden sollen.
Weiterhin existiert wie schon bei PROJECT2{3} die Möglichkeit, optional ein PARAMETERS mit Werten anzuhängen, die beim Durchlauf des 3D-Skriptes zur Erzeugung der 2D-Darstellung verwendet werden sollen.
Am einfachsten ist dieser Befehl zu handhaben, wenn man extensiven Gebrauch des Pufferspeichers macht:
anzSchnittebenen = 1 ! eine Schnittebene
cutElevation = GLOB_CUTPLANES_INFO[1] ! auf der aktuellen Grundrissschnitthöhe
methode = 1+32+256+512+4096 ! Wireframe, nutze definierte Attribute, alle Linien sind Kontur, alle Schraffuren sind Schnittschraffuren, Mod. gelten nur für geschnittene Bereiche
put cutElevation
for i = 1 to anzSchnittebenen+1
put methode, ! methode
2, ! teile
64, ! schnittSchraffurIdx
1, ! schnittSchraffurStift
1, ! schnittSchraffurStiftHg
0.0, ! schnittSchraffUrsprungX
0.0, ! schnittSchraffUrsprungY
0.0, ! schnittSchraffurausrichtung
1, ! schnittLinienStift
1, ! schnittLinientyp
1, ! projizierteSchraffurIdx
1, ! projizierteSchraffurStift
1, ! projizierteSchraffurStiftHg
0.0, ! projizierteSchraffurUrsprungX
0.0, ! projizierteSchraffurUrsprungY
0.0, ! projizierteSchraffurausrichtung
1, ! projizierteLinienStift
1 ! projizierteLinientyp
next i
project2{4} 3, 270,
0, ! Transparenz aus
1, ! statusTeile
anzSchnittebenen, ! Anzahl Schnittebenen
get (nsp)
anzSchnittebenen = 1 ! eine Schnittebene
cutElevation = GLOB_CUTPLANES_INFO[1] ! auf der aktuellen Grundrissschnitthöhe
methode = 1+32+256+512+4096 ! Wireframe, nutze definierte Attribute, alle Linien sind Kontur, alle Schraffuren sind Schnittschraffuren, Mod. gelten nur für geschnittene Bereiche
put cutElevation
for i = 1 to anzSchnittebenen+1
put methode, ! methode
2, ! teile
64, ! schnittSchraffurIdx
1, ! schnittSchraffurStift
1, ! schnittSchraffurStiftHg
0.0, ! schnittSchraffUrsprungX
0.0, ! schnittSchraffUrsprungY
0.0, ! schnittSchraffurausrichtung
1, ! schnittLinienStift
1, ! schnittLinientyp
1, ! projizierteSchraffurIdx
1, ! projizierteSchraffurStift
1, ! projizierteSchraffurStiftHg
0.0, ! projizierteSchraffurUrsprungX
0.0, ! projizierteSchraffurUrsprungY
0.0, ! projizierteSchraffurausrichtung
1, ! projizierteLinienStift
1 ! projizierteLinientyp
next i
project2{4} 3, 270,
0, ! Transparenz aus
1, ! statusTeile
anzSchnittebenen, ! Anzahl Schnittebenen
get (nsp)
Die Parameter müssen einmal mehr als die eigentlich geforderte Anzahl der Schnittebenen übergeben werden (anzSchnittebenen + 1).
Die Anzahl der Schnittebenen kann dabei auch Null betragen (in diesem Fall ist die cutElevation wegzulassen). Dieser Fall ahmt die einfacheren PROJECT2 Befehle nach, die keine Schnittebene haben, indem eine Aufsicht generiert wird.
Es existiert ein Bug, der dazu führt, dass wenn der Modifier 32 der Darstellungsmethode nicht gesetzt ist, fälschlicherweise die Schnittflächen als äußere Flächen interpretiert werden, und dadurch projiziert mit Deckschraffuren erscheinen.
Der Workaround ist etwas kompliziert: Es wird empfohlen mit PARAMETERS über alle Teile des Objektes nach Baustoff getrennt zu loopen, und dann jeweils die Attribute zu überschreiben (mit einem "Building_Material_info" Request). Anschließend müssen für eine Projektion der ungeschnittenen Teile (sichtbar + Untersicht) in einem seperaten PROJECT2{4} Befehl noch einmal alle Bestandteile gemeinsam abgearbeitet werden.
Ein Beispiel davon findet sich im "CWFrameRegDouble"-Makro.
Die Anzahl der Schnittebenen kann dabei auch Null betragen (in diesem Fall ist die cutElevation wegzulassen). Dieser Fall ahmt die einfacheren PROJECT2 Befehle nach, die keine Schnittebene haben, indem eine Aufsicht generiert wird.
Es existiert ein Bug, der dazu führt, dass wenn der Modifier 32 der Darstellungsmethode nicht gesetzt ist, fälschlicherweise die Schnittflächen als äußere Flächen interpretiert werden, und dadurch projiziert mit Deckschraffuren erscheinen.
Der Workaround ist etwas kompliziert: Es wird empfohlen mit PARAMETERS über alle Teile des Objektes nach Baustoff getrennt zu loopen, und dann jeweils die Attribute zu überschreiben (mit einem "Building_Material_info" Request). Anschließend müssen für eine Projektion der ungeschnittenen Teile (sichtbar + Untersicht) in einem seperaten PROJECT2{4} Befehl noch einmal alle Bestandteile gemeinsam abgearbeitet werden.
Ein Beispiel davon findet sich im "CWFrameRegDouble"-Makro.
2D-Skript
ab 20