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

Abfrage Spiegelung Etiketten

Anonymous
Nicht anwendbar
Servus zusammen,

wir haben in AC 18 per GDL ein Etikett (angehängt an eine Decke) programmiert, das bei allen Drehungen des Etiketts selbst und der Orientierung für uns richtig funktioniert.
Nur bei eingesetzten, gespiegelten Hotlinks springt das Etikett aus der ursprünglichen Position. Vermutlich wäre das mit MUL2 -1,1 zu beheben. Aber wie kann man dies im Skript übergehen bzw. auslesen, ob das Etikett gespiegelt wurde?!

SYMB_MIRRORED funktioniert nicht, gibt es ein Analog für Etiketten?

Vielen Dank vorab.
5 ANTWORTEN 5
Anonymous
Nicht anwendbar
Nein, Etiketten kennen kein Attribut gespiegelt. Wenn Du ein Etikett spiegelst, rechnet das ArchiCAD um und bestimmt Position, Linienverlauf und Orientierung neu. So als hättest Du es gespiegelt neu gezeichnet.
Bei Hotlinks wird das quasi on the fly gemacht. Da wird dann am Anhaftpunkt/dem Absetzpunkt gespiegelt.

Ich bin inzwischen dazu übergegangen Etiketten überwiegend nicht in die Hotlinks einzubinden. Ebenso wie Maßketten. Jedenfalls nicht bei den Hotlinks, die gedreht und gespiegelt werden. Das organisieren, dass da kein Chaoslayout entsteht steht IMHO eine Zeitersparnis nicht gegenüber.

Das geht ja seit AC19 auch ganz gut, weil ich Elemente der Hotlinks assoziativ etikettieren kann.
Anonymous
Nicht anwendbar
Danke erstmal.

Wir arbeiten leider noch in AC18.
Die Frage, die sich mir stellt, ist, warum die Standardetiketten (Text, ID-Nr., ...) und z.B. das "Etikett Maße 18" perfekt gespiegelt werden, das eigene aber nicht.
Aus dem Skript des "Etikett Maße 18" bin ich nicht schlau geworden, ob es hier eine Abfrage gibt, die die Spiegelung mitnimmt bzw. übergeht.

Vielleicht hat jemand noch eine Idee, auch gerne als workaround. Aber momentan bringen mir die Etiketten leider nichts, wenn diese im Hotlink verspringen und den falschen Bereich etikettieren.
Anonymous
Nicht anwendbar
Die Frage, die sich mir stellt, ist, warum die Standardetiketten (Text, ID-Nr., ...) und z.B. das "Etikett Maße 18" perfekt gespiegelt werden, das eigene aber nicht.
Soweit ich das sehe wird da nix "perfekt" gespiegelt. Das Wichtige ist der Einsetzpunkt. An diesem wird das Element gespiegelt bzw. gedreht. Denn wenn du Etiketten spiegelst, werden sie nur um 180° gedreht.
Anonymous
Nicht anwendbar
Soweit ich das sehe wird da nix "perfekt" gespiegelt. Das Wichtige ist der Einsetzpunkt. An diesem wird das Element gespiegelt bzw. gedreht. Denn wenn du Etiketten spiegelst, werden sie nur um 180° gedreht.


https://www.dropbox.com/s/sua4jgmkvxlx0 ... t.png?dl=0

Also ich finde schon, dass die Standardetiketten perfekt gespiegelt werden (die gestrichelte Linie ist die Spiegelachse, rechts das originale Hotlink, links das gespiegelte). Mein Etikett wird zwar gespiegelt, spiegelt sich aber nochmal am Einsetzpunkt um die Spiegelachse. Eine Drehung um 180° würde dann nochmal anders aussehen, oder?
Anonymous
Nicht anwendbar
Um es kurz zu machen und das kannst Du glauben oder nicht: Ein Etikett kann den Zustand SYBM_MIRRORED=1 nicht annhemen, weil es für die Spiegelung, ob durch Befehl oder Hotlinkzustand um 180° gedreht wird und die Koordinaten des Pfeiles entsprechend angepasst werden. Dabei wird auch nooch die Abmessung des Etiketts bestimmt und schlimmstenfalls automatisch so hingeschoben, dass es am "Pfeil" hängt.

Deshalb musst Du als Programmierer von Symboletiketten (insofern muss ich die Aussage "nix" vielleicht einschränken) dafür sorgen, dass es in den Fällen SYMB_ROTANGLE und SYMB_ROTANGLE+180 spiegelsymetrisch aussieht. Das bekommt mn in den meisten Fällen auch hin, aber für perfekt müsste es in allen Fällen gehen. Und das tut es rein technisch nicht. Auch nicht die AC-lib-Etiketten.

Fange mal damit an, dass Du erstmal ohne Pfeil hantierst. Dann markierst Du Dir den Einsetzpunkt im Skript mit CIRCLE2 und schaust mal wie sich das Teil in allen Zuständen verhhält.
Wenn Du jetzt den Pfeil mit aktivierst, musst Du mal die Koordinaten beobachten.

Und dann auch nochmal den Maßstab ändern.

Wenn es Dir möglich ist, versuche das unter AC19. Die AC18er Original-Etiketten haben da auch noch Unzulänglichkeiten.