Support Forum

[Frage] Beschriftungsbild Formal Zahlenformat bautypisch (mm hochgestellt)


Hallo,

ich bin auf der Suche nach einer Möglichkeit in Formeln von Beschriftungsbilder die bautypische Schreibweise (hochgestellte mm) hinzubekommen. Ich dachte an den FORMAT Befehl, damit komme ich leider nicht weiter.
Weis mir jemand einen Rat?

Vielen Dank und viele Grüße

Heiko

11 - 19 (19)

Hallo und ein gutes neues Jahr,

ich habe hier mal unseren Lösungsansatz für Stützen (rund/eckig egal)
Hierbei sind die 256 möglichen Zeichen voll ausgenutzt.
Schade, daß man sich das in vielen Stunden selber erarbeiten muß und Allplan da keine Lösung bietet.

(_IF_(@759@>0)""_ELSE_"b/d= "+(INT(@220@*100))+"%+%>"+(_IF_(@220@=ROUND(@220@;2))""_ELSE_NINT((@220@*100-INT(@220@*100))*10))+"%-%</"+(INT(@221@*100))+"%+%>"+(_IF_(@221@=ROUND(@221@;2))""_ELSE_NINT((@221@*100-INT(@221@*100))*10))+"%-%< cm")

Viel Spaß damit und viele Grüße

Heiko

Vielen Dank für die Formel und ebenfalls ein gutes neues Jahr.
Ich werde das heute gleich ausprobieren. Gebe Rückmeldung, ob es auch bei mir funktioniert.

Schöne Grüße

Gloebaer

Ich hab's wirklich versucht, aber es geht einfach nicht komplizierter.

Einen wunderschönen guten Tag euch.

Falls sich doch nochmal jemand hierhin verirren sollte und komplexe Beschriftungsbilder benötigt:
Ich habe hier 2 zusammengebastelt, Vielen Dank an Heiko für die wundervolle Vorarbeit:

einmal Breite/Dicke, in cm mit dem mm Wert in Hochschreibweise

"b/d= "+(INT(@221@*100))+"%+%>"+(_IF_(@221@=ROUND(@221@;2))""_ELSE_NINT((@221@*100-INT(@221@*100))*10))+"%-%</"+(INT(@222@*100))+"%+%>"+(_IF_(@222@=ROUND(@222@;2))""_ELSE_NINT((@222@*100-INT(@222@*100))*10))+"%-%< cm")

ERGEBNIS: (siehe Bild)

b/d= xyz²/xyz³ cm

und dann noch eines für UK+OK in m mit mm wieder in Hochschreibweise in eine Zeile gepackt:

WICHTIG dabei zu beachten:
1) Ich habe Excelformeln verwendet (kann sein, dass man Excel installiert haben muss), da Kotenwerte auch ins Minus gehen können und somit NINT und INT nicht mehr funktionieren würden.
2) Habe den Punkt (.) durch ein Komma (,) ersetzt, wer dies nicht haben möchte, muss das "WECHSELN(;".";",")" entfernen.

"UK= "+WECHSELN(KÜRZEN(@97@/10)/100;".";",")+"%+%>"+(_IF_(@97@/1000=ROUND(@97@/1000;2))""_ELSE_RECHTS(ROUND(@97@;0);1))+"%-%< OK= "+WECHSELN(KÜRZEN(@98@/10)/100;".";",")+"%+%>"+(_IF_(@98@/1000=ROUND(@98@/1000;2))""_ELSE_RECHTS(ROUND(@98@;0);1))

Ergebnis: (siehe Bild)

UK= x,yz² OK= x,yz³

Anhänge (1)

Typ: image/png
41-mal heruntergeladen
Größe: 52,91 KiB

Die Formel von Heiko funktioniert nicht bei Rundstützen und sechseckigen Stützen:

(_IF_(@759@>0)""_ELSE_"b/d= "+(INT(@220@*100))+"%+%>"+(_IF_(@220@=ROUND(@220@;2))""_ELSE_NINT((@220@*100-INT(@220@*100))*10))+"%-%</"+(INT(@221@*100))+"%+%>"+(_IF_(@221@=ROUND(@221@;2))""_ELSE_NINT((@221@*100-INT(@221@*100))*10))+"%-%< cm")

nicht das einer dran verzweifelt...

Gruß Jürgen
Allplan V10 bis V2024

Anhänge (1)

Typ: image/jpeg
69-mal heruntergeladen
Größe: 67,08 KiB

Grüß dich Jürgen,

Stimmt, für den Durchmesser müssten wir sonst noch etwas hinzufügen, da die ursprüngliche Formel sagt:

Wenn wir einen Durchmesser größer als 0 finden (_IF_(@759@>0)"") dann soll nichts dastehen.

Ich habe das jetzt mal hier ergänzt, damit sollten jetzt auch runde Stützen zu beschriften gehen, allerdings ungerundet und ohne Hochschreibweise, dafür sind mir die Zeichen ausgegangen.

_IF_(@759@>0)"d= "+@759@*100+" cm"_ELSE_"b/d= "+INT(@220@*100)+"%+%>"+(_IF_(@220@=ROUND(@220@;2))""_ELSE_NINT(@220@*100-INT(@220@*100))*10)+"%-%</"+INT(@221@*100)+"%+%>"+(_IF_(@221@=ROUND(@221@;2))""_ELSE_NINT(@221@*100-INT(@221@*100))*10)+"%-%< cm"

Was die Mehreckstützen betrifft, diese können wir hier gar nicht auswerten, da sie weder eine Seitenlänge noch einen Durchmesser oder ähnliches besitzen. Man könnte sich über den Umfang behelfen, aber in der Formel oben habe ich keinen Platz mehr, dafür müsste ich auf ein VBS-Script ausweichen.

Hoffe ich konnte helfen.

Lg Andreas

Anhänge (1)

Typ: image/png
54-mal heruntergeladen
Größe: 291,72 KiB

Hallo Andreas,
bei der Hochzahlrundung passt noch was nicht. Siehe Anhang, dort müsste eigentlich "5" stehen.
Die eckigen Stützen können ja mit ihrer maximalen Ausdehung beschriftet werden, allerdings ist die Gefahr groß das, je nach dem wie die Stütze in x;y Richtung steht, murks dabei rum kommt...

Gruß Jürgen
Allplan V10 bis V2024

Anhänge (1)

Typ: image/jpeg
54-mal heruntergeladen
Größe: 108,54 KiB

nach einer Kurzanalyse....

Die Anzahl der Ecken wird im Attribut "Anzahl_Innenecken" @91@ bereitgestellt.
Dabei gilt, dass eine runde Stütze od. eine Stütze mit gerundeten Ecken hier 0.00 angibt und eine achteckige stütze die gleiche eckzahl hat wie eine stütze mit gefasten ecken.
länge_absolut und dicke_absolut müssten immer die kleinste mögliche min-max-box haben.

Namenlos gezeichnet in vollem Bewusstsein - ignorant, in eigen Augen vermutlich höflich, dennoch unhöflichst, unfreundlichst wer einen/viele vermutete - sich von alters erschließende Namen nennt.
08.01.2024 - Gegen Bauernsperren! -> Boykott der direktverkaufenden Bauern - kauft nicht mehr direkt bei Bauern!

Grüß euch.

Entschuldigt, dass ich über ein halbes Jahr gebraucht habe mich wieder zu melden. Jetzt im Sommer hatte ich etwas Zeit, und da mein Ziel noch immer ein Webinar über Beschriftungsbilder ist, habe ich dieses „Problem“ nochmals aufgegriffen.

Da ich doch viele unterschiedliche Versuche benötigte, bis ich zu 2 brauchbaren Ergebnissen gekommen bin, möchte ich diese gerne auch mit euch teilen, falls jemand sich daraus etwas mitnehmen möchte:

Ich möchte nur kurz nochmal auf ein paar Grundlegende Dinge eingehen, falls es jemand noch nicht wissen sollte:
1) Die Formelzeile der Beschriftungsbilder umfasst nur 255 Zeichen (Stand Allplan 2021) und mit denen muss ich auskommen.
2) Ich habe die Möglichkeit auf Excelfunktionen zurückzugreifen (falls dieses installiert ist).
3) Sollte ich selbst damit nicht mehr zurechtkommen, habe ich die Möglichkeit auf ein Visual Basic Script auszuweichen.
Jetzt 3 Lösungsansätze mit allen 3 Methoden:

1) Allplan Beschriftungsbild mit interner Lösung:
(_IF_(@91@>4)"Ecken= "+@91@+"/ ø Außen= %FAH*.1.1.5%FE%AA"+(@228@*100/@91@)/(2*SIN(3,1416/@91@))+"%AE"_ELSE_(_IF_(@759@>0)"d= %FAH*.1.1.5%FE%AA"+@759@*100+"%AE"_ELSE_"b/d= %FAH*.1.1.5%FE%AA"+@220@*100+"%AE/%FAH*.1.1.5%FE%AA"+@221@*100+"%AE"))+" cm"

Kurze Erklärung:
Wenn die Anzahl der „Innenecken“ größer als 4 ist, dann greifen Formeln für N-Eck Stütze (Ecken+Außendurchmesser),
wenn der Durchmesser ist größer als 0, dann greift die Formel für die runde Stütze,
sonst gibt es den „Rest“ also eine Quadrat-, Rechteckstütze

249 Zeichen, so sieht das Ergebnis aus (siehe Bild), je nachdem wie und was ich als Werte herausholen soll, kann es noch umgeschrieben werden.
Zurzeit runde ich auf 0,5, wenn dies nicht gewünscht ist, dann alle Werte: %FAH*.1.1.5 auf %FAH*.1 abändern.
Die Formatänderungen habe ich über Allplan interne „Steuerzeichen“ gelöst, ich bin nur durch Zufall darüber gestolpert (siehe Bild)
Falls bei der N-Eck Stütze noch andere Parameter herausgeholt werden sollen, ich habe auf Google einen Vieleckrechner gefunden mit allen Formeln (siehe Bild)
2) Allplan Beschriftungsbild mit Excel
(_IF_(@759@>0)"d= "+WECHSELN(WECHSELN(FEST(@759@*100;1);",0";"%+%>");",";"%+%>")_ELSE_"b/d= "+WECHSELN(WECHSELN(FEST(@220@*100;1);",0";"%+%>");",";"%+%>")+"%-%</"+WECHSELN(WECHSELN(FEST(@221@*100;1);",0";"%+%>");",";"%+%>"))+"%-%< cm"

Kurze Erklärung:
Wenn der Durchmesser größer 0, dann Runde Stütze,
sonst 4 Eckstütze,
und die Idee war die Zahlen mit „FEST“ auf eine Kommastelle zu fixieren, und mit „WECHSELN“ das Komma "," bzw. ",0" (um keine 0 in der Hochschreibweise zu haben) durch "%+%>" auszutauschen.

Mit dieser Lösung bin ich leider nicht ganz ans Ergebnis gekommen, da mir die Zeichen ausgegangen sind, allerdings schaffe ich es damit Quadrat-, Rechteck- und Runde Stützen abzubilden. (siehe Bild)

3) Allplan Beschriftungsbild über VB-Script
Stuetze(@220@;@221@;@759@;@228@;@91@)

Kurze Erklärung:
Die Rundung ist zurzeit auf 1 Kommastelle (siehe Bild)
Ich wähle einen Namen aus, in meinem Fall „Stuetze“ und spiele damit alle Attribute (getrennt durch Strichpunkte) die ich benötige in ein Script. Dieses ist schon vorhanden und muss nur ausfindig gemacht werden:
Im Bürostandard „Std“ gibt es einen Ordner, der heißt „vbs“ (bei mir D:\Allplan\Allplan 2021\Std\vbs), und dort findet sich eine Datei mit Namen: „functions.vbs“.
In Österreich greifen alle Beschriftungsbilder die im Unterordner Script in Allplan zu finden schon auf diese Datei zu, und es empfiehlt sich die Datei mit einem Texteditor zu öffnen und das Script zu erweitern. Solltet ihr noch gar keine Scriptbeschriftungen verwenden, könnt ihr die Datei auch gerne umbenennen, und durch meine Angefügte ersetzen.
WICHTIG: Der Name der Datei MUSS „functions.vbs“ bleiben, denn nur in diese Datei schaut Allplan hinein (außer ihr wollt sogar die Registry umschreiben wo Allplan zu suchen hat, kann bei größeren Unternehmen sinnvoll sein, damit man nur eine Datei immer tauschen muss, Stichwort: Serverpfad)

Den Inhalt erspare ich euch, wenn jemand andere Daten ausgelesen haben möchte oder etwas umgeschrieben haben möchte, bitte einfach Bescheid geben.

Ich hoffe ich konnte damit ein wenig helfen, sollte ich doch wo noch einen Fehler eingebaut haben, gebt mir bitte Bescheid.

Alles Liebe Andi

Anhänge (3)

Typ: image/png
93-mal heruntergeladen
Größe: 127,82 KiB
Typ: image/png
47-mal heruntergeladen
Größe: 100,38 KiB
Typ: image/png
95-mal heruntergeladen
Größe: 86,63 KiB

Hier noch die letzten 2 Bilder + functions.vbs Datei

PS: Danke an Markus an den Tipp mit den Innenecken, der war ausschlaggebend!

Anhänge (3)

Typ: image/png
51-mal heruntergeladen
Größe: 123,91 KiB
Typ: image/png
47-mal heruntergeladen
Größe: 85,68 KiB
Typ: text/plain
548-mal heruntergeladen
Größe: 1,09 KiB
11 - 19 (19)

https://connect.allplan.com/ verwendet Cookies  -  Mehr Informationen

Akzeptieren