abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Programmierung
Alles über Programmierung in GDL und Python

Textkörper ohne Rand

Anonymous
Nicht anwendbar
Hallo

Wenn man einen Text in ArchiCad platziert, hat er oben und unten immer einen automatischen Abstand von ca. 1/3 der Texthöhe.

Ich wollte nun ein GDL-Objekt bauen, welches einen editierbaren Text, z.B. die Buchstabenunterseite immer präzise an einer Linie ausrichtet, und das in verschiedenen Massstäben.

Leider muss man immer den Buchstaben in jedem Massstab dorthin neu verschieben. Auch bei Änderung der Textgrösse verändert sich natürlich auch wieder der Abstand des Buchstabens zu Linie.

Wie würdet Ihr das machen? Oder geht das nicht so präzise
7 ANTWORTEN 7
poeik
Mentor
Mit GDL kann ich dir nicht weiterhelfen. Aber beim Textwerkzeug kannst du den Zeilenabstand ändern, dann verschiebt sich der Fangpunkt in Bezug auf die Textunterseite. Bei Arial z.B. sieht es mit 57% nicht schlecht aus. 58% wären noch besser, aber bei mir wird der Wert nicht akzeptiert.

Mehrzeilige Textblöcke gehen dann aber logischerweise nicht.

Gruss, poeik
ArchiCAD CHE 5 - 27
Anonymous
Nicht anwendbar
Wenn ich das richtig verstsehe geht es hauptsächlich um die y-Koordinate. Wie dieser Abstand auf der Buchstabenunterseite in den Tiefen des Programms definiert wird weiss ich nicht - ich vermute jedoch,dass das ein Prozentsatz der Schriftgrösse ist.

Ich würde versuchen, die y-Koordinate in Abhägigkeit zur Schriftgrösse zu bringen und dann den Faxtor n empirisch ermitteln:

Angenommen die Linie verläuft mit Abstand y parallel zu x Achse und die Schriftgrösse ist g dann könnte man die y Koordinate der Schrift (Ankerpunkt unten) mit y+g*n definieren. Durch empirisches Verändern von n könntest du möglichst nahe an dein Wunschziel herankommen.
Das müsste man natürlich für einige Schriftgrössen und/oder Schriftarten verifizieren und anschliessend auch noch je nach Massstab entsprechend skalieren.

Wenn du ganz flexiebel sein willst, würde ich empfehlen, den Faktor n im Skript als Variable zu definieren, die dann im fertigen Objekt je nach Situation verändert werden kann

[ 18. August 2009, 12:00: Beitrag editiert von: Egon ]
Anonymous
Nicht anwendbar
2D Script:


! f Schriftgrösse in mm
f=5
LINE2 0,b,a,b
DEFINE STYLE "Probe" Arial,f,7,0
SET STYLE "Probe"

TEXT2 0-f*0.0001*GLOB_SCALE,b-f*0.0003*GLOB_SCALE,"Probeschrift"

END


Ist rein empirisch - funktioniert für "Arial" aber ganz gut

[ 18. August 2009, 16:15: Beitrag editiert von: Egon ]
Anonymous
Nicht anwendbar
Hat geklappt!!
Super präzise ist es allerdings nicht, Da die Buchstabengrösse ja auch eine Prozentzahl vom eigestellten Wert abweicht. Für den Plan reicht es aber.

Der Abstand ist ca. 34.3% der Buchstabenhöhe.

Etwas komplizierter wurde es dadurch, dass sich der Text bei Bedarf um 180 Grad drehen sollte und sich dabei der Startpunkt des Textes ändert muss.
Anonymous
Nicht anwendbar
ja ja - ist eben nicht schweizer Präzision 😉
Dazu müsste bekannt sein wo AC die Textecken genau setzt.
Frank Beister
Advisor
Lies dir mal folgendes durch: Texthöhe
bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm
Anonymous
Nicht anwendbar
Aha! Danke.

[ 19. August 2009, 15:11: Beitrag editiert von: salvis ]