abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 

Wir schätzen Ihren Input!
Bitte nehmen Sie an der Umfrage zu Archicad 28 Startbildschirm und Lerninhalte/Schnell-Tutorials teil

Programmierung
Alles über Programmierung in GDL und Python

Project2{2} Schraffur

Anonymous
Nicht anwendbar
Hallo zusammen, ich beschäftige mich wieder mit GDLs. Nun habe ich ein 3D Objekt modelliert und als GDL Objekt abgespeichert. Ich möchte das Objekt nun xx Grad um die y-Achse drehen (roty xx). Funktioniert. Die 2D Darstellung im Grundriss soll die Drehung des Objekts richtig darstellen,Stichwort Project2. Funktioniert.

Was ich nicht hinbekomme ist, dass mein Objekt im Grundriss auch eine Schraffur besitzt. "Nur Hintergrund-Stift" ist fürs Erste ausreichend und nach meinem Kenntnisstand bietet sich für diesen Fall Project2{2} an. Mein Objekt hat weder eine Schraffur noch eine Hintergrundstift. Angehängt das 2D-Skript (zusammengestückelt aus dem GDL Cookbook und der Graphisoft GDL Hilfe)

2D-Skript:

FILL "Nur Hintergrund-Stift"

PEN gs_cont_pen

fillOrigoX = 0
fillOrigoY = 0
filldirection = 90

project2{2} 3, 270, 2+32, Backgroundcolor,
fillOrigoX, fillOrigoY, filldirection


Was mich zusätzlich verwirrt ist, dass "Backgroundcolor" als Hintergrundfarbe einer Schraffur doch normalerweise "gs_back_pen" bezeichnet wird. Ich hoffe auf eure Hilfe.

Beste Grüsse & danke für eure Mühe
6 ANTWORTEN 6
runxel
Legend
Fast alles richtig!
Einzig die 'Methode' muss auf 3+32 stehen. Letzteres Bit ist nur wirksam, wenn '3' gesetzt ist.
Lucas Becker | AC 27 on Mac | Graphisoft Insider Panelist | Author of Runxel's Archicad Wiki | Editor at SelfGDL | Developer of the GDL plugin for Sublime Text | My List of AC shortcomings & bugs | I Will Piledrive You If You Mention AI Again |

POSIWID – The Purpose Of a System Is What It Does /// «Furthermore, I consider that Carth... yearly releases must be destroyed»
Anonymous
Nicht anwendbar
Lieber shadow,

vielen Dank jetzt hat es wunderbar funktioniert. Jetzt habe ich doch noch eine Frage.
Ich habe das 2D-Skript wie folgt geändert:

FILL gs_fill_type

PEN gs_cont_pen

fillOrigoX = 0
fillOrigoY = 0
filldirection = 90

project2{2} 3, 270, 3+32, gs_back_pen,
fillOrigoX, fillOrigoY, filldirection

In den Parametern habe ich Konturstift, Vordergrundstift, Hintergrundstift und Schraffurart nach den gängigen Konventionen vergeben. Im project2{2} Befehl/Syntax (?) habe ich Backgroundcolor zu gs_back_pen geändert.

Die Schraffurart und den Hintergrundstift sowie den Konturstift kann ich in meinem Objekt vergeben; nur den Vordergrundstift wird logischerweise vom Konturstift "überschrieben" resp. der Vordergrundstift taucht in meinem Code gar nicht erst auf.

Ist dies zu beheben? Oder ist diese "Unvollkommenheit" an den project2{2} Befehl gebunden, da in diesem ja nur von "Backgroundcolor" die Rede ist.

Besten Dank für deine/eure Hilfe
runxel
Legend
Das was du möchtest geht erst mit "project2{4}".

Nicht verzweifeln, wenn du dafür ins Handbuch schaust... Der Befehl gruselt selbst hartgesottene GDL-Skripter. (Aber einmal verstanden ist er gar nicht so schlimm.)
Lucas Becker | AC 27 on Mac | Graphisoft Insider Panelist | Author of Runxel's Archicad Wiki | Editor at SelfGDL | Developer of the GDL plugin for Sublime Text | My List of AC shortcomings & bugs | I Will Piledrive You If You Mention AI Again |

POSIWID – The Purpose Of a System Is What It Does /// «Furthermore, I consider that Carth... yearly releases must be destroyed»
Ma_Scht
Advocate
Flippig, bis hin zu genial, finde ich übrigens das Steuern der Darstellung von Objekten über Steuerbits.
Deshalb ist im Kap. "StatusCodes" d. GDL-Handbuches auch geschrieben:
j1 + 2*j2 + 4*j3 ....

Die "jx" kann man als BOOLSCHE-PARAMETER in der PARAMETER-LISTE als Parameter anlegen und dann im UI ganz einfach einstellen, ob man z.B. die senkrechten Kanten eines Cylinders sehen will, oder NICHTm OHNE ein IF...THEN zu brauchen. Geht nat. auch mit einzelnen Kanten

z.B:

!!! 3D-SCHRIPT !!!
!!! Das sind die Parameter die in der PARAMETER-LISTE als
!!! BOOLSCHE OPERATION angelegt werden müssen.
!!! Wahlweise auf 0 oder 1 setzen
vertikaleKantenZeigenJN = 0
unterehorizontaleKantenZeigenJN = 1

PRISM_ 6,1,
0.0, 0.0, 12 + (1*unterehorizontaleKantenZeigenJN) + (2*vertikaleKantenZeigenJN),
0.5, 0.0, 12 + (1*unterehorizontaleKantenZeigenJN) + (2*vertikaleKantenZeigenJN),
0.5, 1.0, 12 + (1*unterehorizontaleKantenZeigenJN) + (2*vertikaleKantenZeigenJN),
-0.5, 1.0, 12 + (1*unterehorizontaleKantenZeigenJN) + (2*vertikaleKantenZeigenJN),
-0.5, 0.0, 12 + (1*unterehorizontaleKantenZeigenJN) + (2*vertikaleKantenZeigenJN),
0.0, 0.0, 12 + (1*unterehorizontaleKantenZeigenJN) + (2*vertikaleKantenZeigenJN)
!!! Dass die Klammern überflüssig sind, ist mir bekannt :--)
END !!! END END END


Für Project2 geht das nat. auch. Man schaltet das eine ein, wärend man das andere gleichzeitig ausschaltet.

!!! 2-D-SCRIPT
!!! Standard ist das gewählt als Drahtmodell. Das ist über "1*umkehrWertJN" eingestellt.
!!! Verdeckte Kanten wäre "2*umkehrWertJN"
schattiertJN = 0
umkehrWertJN = ABS(schattiertJN-1)
PROJECT2 3,270,1*umkehrWertJN + 3*schattiertJN
END !!! END END END
Anonymous
Nicht anwendbar
@shadow

Vielen Dank für deine Antwort. Ich werde mir das genau anschauen.

@Ma_Scht

Ich danke dir recht herzlich für deine ausführliche Antwort. Ich muss leider gestehen, dass ich fast gar nichts verstehe. Ich finde es aber super, dass du dir die Zeit genommen hast dein Wissen mit uns zu teilen.

Beste Grüsse & danke für eure Mühen
Ma_Scht
Advocate
Moin JinR,
merke Dir den Link!
Wenn Du dabei bleibst (GDL), kommt der Tag, an dem Du ein Fallrohr, Mülleimer, o.w.a.i. zusammentippst und dann kommt die Frage auf:
Wie mache ich es, dass ich mal die Kanten sehe und mal nicht.
Dann zündet es in einer Region Deines Cerebrum gepflegt durch und BÄÄHMMM! ;--)
Gruß