Vielleicht kann ich eine Lösung anbieten:
Wir benutzen Allplan 2022. Auf den Rechnern ist kein Excel verfügbar. Darum habe ich das auf Python umgestellt.
So geht’s:
1. Unter Allplan2022\Std\Scripts die Datei functions.py mit Texteditor öffnen und den folgenden Programmcode am Ende hinzufügen:
def teil_tz(a,b,c):
c = int(c)
count = a.count(b) + 1
if c > count or c <= 0:
string = " "
else:
substrings = a.split(b)
string = substrings[c - 1]
return string.upper()
Die Datei ist auch im Anhang. Bitte das Original sichern.
Jetzt steht im Formeleditor die Pythonfunktion mit dem Namen "teil_tz" zur Verfügung.
2. Das Beschriftungsbild, welches die erste Zeile wiedergeben soll mit folgender Formel belegen:
p:teil_tz(@445@;"|";1) Siehe Bild 1.
3. Das Beschriftungsbild, welches die zweite Zeile wiedergeben soll mit folgender Formel belegen:
p:teil_tz(@445@;"|";2)
usw...
Zur Erklärung
Die Funktion wird so ähnlich benutzt, wie eine Excel-Formel.
Die Formel startet mit p: um Allplan anzuweisen eine Python-Funktion aus der Datei functions.py auszuführen.
Dann folgt der Name der Funktion. Er muss so geschrieben werden wie das was zwischen def und (a,b,c) in der functions.py steht.
Dann folgt die Übergabe der Parameter welche in die Klammern geschrieben werden.
(@445@;"|";1)
( Attribut welches ausgewertet werden soll ; Trennzeichen in Anführungszeichen ; Nummer der Zeile bzw. des Teilstrings )
Es können so viele Zeilen zu Abfrage vorbereitet werden wie man will. Fragt das Beschriftungsbild eine Zeile ab, die nicht vorhanden ist, wird ein Leerzeichen ausgegeben. Folgen zwei Trennzeichen aufeinander entsteht eine Leerzeile. Siehe Bild 2. Die Ausgabetexte werden immer mit Großbuchstaben ausgegeben.
Ich hoffe das kann helfen. Bei Fragen einfach hier schreiben.
Gruß Felix
Allplan 2024-0-1