Zum Inhalt springen

Python: vs.SetText() Zeilenumbruch


Fruitpunsh

Frage

Geschrieben

Ich habe viele einzeilige Textobjekte und würde gerne einen Zeilenumbruch vor den Inhalt setzen, so dass Textobjekte entstehen, deren erste Zeile leer ist und der Inhalt in der zweiten Zeile steht.

 

Dazu habe ich folgendes Script ausprobiert bekomme allerdings seltsam verzerrte Textobjekte heraus.

import vs;

#ObjektTyp ist Text
kriterium = "(T=TEXT)"

#tAlt inhalt merken, tNeu zeilenumbruch hinzufügen, inhalt überschreiben
def zeiledazu(h):
	tAlt = vs.GetText(h)
	tNeu = "\n" + tAlt
	vs.SetText(h, tNeu)

vs.ForEachObject(zeiledazu, kriterium)

screenshot.png.3c290d2a1b25cb63cc26ca5d2c5b83e1.png

 

Ich habe versucht tNeu nochmal in einen String zu convertieren tNeu2 = str(tNeu)

oder zwei nicht-leere Zeilen auszugeben, aber sobald irgendwo ein Umbruch vor kommt entsteht diese Verzerrung.

 

Nutzt Vectorworks evtl. ein anderes Umbruchzeichen in den Textobjekten als "\n" ? 

3 Antworten auf diese Frage

Empfohlene Beiträge

Geschrieben

Versuche einmal vs.Chr(10) oder vs.Chr(13). Bin nie sicher, was der Unterschied ist. Meistens funktionieren beide.

 

Je nachdem reicht es aber auch schon, wenn du das Objekt resetest oder in der neuen Zeile auch ein wenig Text einfügst.

  • Like 1

Freundliche Grüsse

 

Manuel Roth

_________________________________________________
Vectorworks 2022 SP3 | Architektur | Windows 10

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
  • Forenstatistik

    • Themen insgesamt
      26,9Tsd
    • Beiträge insgesamt
      139,9Tsd
×
×
  • Neu erstellen...