icon

Das Wissen aller Anwender nutzen

Im Allplan Connect Forum tauschen sich Anwender aus, geben wertvolle Tipps oder beraten sich bei ganz konkreten Aufgabenstellungen − auch international.
Und damit wirklich keine Frage unbeantwortet bleibt, unterstützen die Mitarbeiter des Technischen Supports ebenfalls aktiv das Forum.

Es erwarten Sie:

  • Foren-Vielfalt aus CAD Architektur, CAD Ingenieurbau uvm.
  • Tipps von User für User
  • international: Deutsch, Englisch, Italienisch, Französisch und Tschechisch

Melden Sie sich jetzt an und diskutieren Sie mit!

Zur Registrierung

[Frage] Formel-Editor Beschriftungsbild für Unterzüge [Gelöst]


Hallo in die Runde,

ich bin relativ neu in den Formeleditor der Beschriftungsbilder eingestiegen, zumindest was die IF-Formel angeht.
Hier im Forum habe ich auch schon einiges gefunden, hänge aber trotzdem fest.

Es soll ein Beschriftungsbild für Unterzüge erstellt werden, das folgendermaßen aussehen soll:
STB-Stütze (Attribut "Material"), 30 (Attribut "Dicke") / 30 (Attribut "Höhe")
ABER:
Sowohl Dicke als auch Höhe soll unter dem Wert von 1m in cm angezeigt werden, über 1m in m.
Also gleichzeitig 30/90 und 30/1.10

Gleiches gilt für die zweite Zeile:
UK = -1.25 (Attribut "UK")

Kann mir jemand weiterhelfen?

Lösung anzeigen Lösung verbergen

nette Übung um zu schauen, ob der neue AI Formula Writer schon tut was er soll.
leider nein

du musst alle Bedingungen separat abbilden und diese in IF Bedingungen verschachteln.
erstmal für die erste Zeile

_IF_(@Dicke@<1)(_IF_(@Höhe@<1)(@Material@+", "+FORMAT("%.0f";@Dicke@*100)+" / "+FORMAT("%.0f";@Höhe@*100))_ELSE_(@Material@+", "+FORMAT("%.0f";@Dicke@*100)+" / "+FORMAT("%.2f";@Höhe@)))_ELSE_(_IF_(@Höhe@<1)(@Material@+", "+FORMAT("%.2f";@Dicke@)+" / "+FORMAT("%.0f";@Höhe@*100))_ELSE_(@Material@+", "+FORMAT("%.2f";@Dicke@)+" / "+FORMAT("%.2f";@Höhe@)))

An sich nicht sonderlich kompliziert, Formel ist trotzdem mit einem gängigen LLM entstanden. Warum? weil ich es kann
Kurze Tests haben funktioniert, aber bitte natürlich selbst testen und unter eigener Gefahr verwenden 😊

Viele Grüße
Florian

Das "F" in Digitalisierung steht für Faxgerät!

LinkedIn-Profil

www.vollack.de

nette Übung um zu schauen, ob der neue AI Formula Writer schon tut was er soll.
leider nein

du musst alle Bedingungen separat abbilden und diese in IF Bedingungen verschachteln.
erstmal für die erste Zeile

_IF_(@Dicke@<1)(_IF_(@Höhe@<1)(@Material@+", "+FORMAT("%.0f";@Dicke@*100)+" / "+FORMAT("%.0f";@Höhe@*100))_ELSE_(@Material@+", "+FORMAT("%.0f";@Dicke@*100)+" / "+FORMAT("%.2f";@Höhe@)))_ELSE_(_IF_(@Höhe@<1)(@Material@+", "+FORMAT("%.2f";@Dicke@)+" / "+FORMAT("%.0f";@Höhe@*100))_ELSE_(@Material@+", "+FORMAT("%.2f";@Dicke@)+" / "+FORMAT("%.2f";@Höhe@)))

An sich nicht sonderlich kompliziert, Formel ist trotzdem mit einem gängigen LLM entstanden. Warum? weil ich es kann
Kurze Tests haben funktioniert, aber bitte natürlich selbst testen und unter eigener Gefahr verwenden 😊

Viele Grüße
Florian

Das "F" in Digitalisierung steht für Faxgerät!

LinkedIn-Profil

www.vollack.de

Weniger geschachtelt und einfacher zu lesen mit vermutlich dem gleichen - gänzlich ungetesteten - Ergebnis indem die Teile einfach zusammengehängt werden.

@Material@+", "+ (_IF_(@Dicke@<1)FORMAT("%.0f";@Dicke@*100)_ELSE_FORMAT("%.2f";@Dicke@)) + " / " + (_IF_(@Höhe@<1)FORMAT("%.0f";@Höhe@*100)_ELSE_FORMAT("%.2f";@Höhe@))

Die Kunst, welcher ein Ingenieur vermutlich erlernte ist weit genug lesen zu können, um Informationen quer übergreifend verwenden zu können.
Die Kunst als Ingenieur zu überlegen ist mit geänderten Rahmenbedingungen nicht zu verzweifeln.

Verwendung als Basis für Training von jeglichen "intelligenten" Tools nicht gestattet.

Perfekt, vielen lieben Dank!
Tut exakt was ich will!

danke, die kürzer Variante funktioniertsehr gut.
Für alle die den AI Formula Writer dafür mal testen wollen. ich habe die anfängliche Frage direkt dort reinkopiert.
Das Ergebnis liefert eine, aus meiner Sicht, falsche Formel. Anfänglich dachte ich es liegt an einer fehlenden Verschachtelung. und bin zu der oben genannten Formel gekommen.

mit dem Vergleich zur Formel von qaf wird deutlich. der Formula Writer ist mit diesem Fall zu seinem jetzigen Entwicklungsstand wohl schon überfordert.

hier die "falsche" Formel zum vergleich

@Material@+", "+_IF_(@Dicke@<1)(FORMAT("%.0f";@Dicke@*100))_ELSE_(FORMAT("%.2f";@Dicke@))+" / "+_IF_(@Höhe@<1)(FORMAT("%.0f";@Höhe@*100))_ELSE_(FORMAT("%.2f";@Höhe@))

Viele Grüße
Florian

Das "F" in Digitalisierung steht für Faxgerät!

LinkedIn-Profil

www.vollack.de

Anhänge (1)

Typ: image/png
32-mal heruntergeladen
Größe: 33,39 KiB

Ursache, dass die "erzeugte" Formel nicht funktioniert ist, dass hier unnötige Klammern um die Funktion gebildet wurden aber übersehen wird, dass der Formelinterpreter meist Probleme damit hat, ein _IF_/_ELSE_-Konstrukt klar abzuschließen, bzw. der Else-Fall keinen eindeutigen Abschluss hat, wenn das Konstrukt nicht in eine zusammenfassende Klammer gesetzt wurde.

Die Kunst, welcher ein Ingenieur vermutlich erlernte ist weit genug lesen zu können, um Informationen quer übergreifend verwenden zu können.
Die Kunst als Ingenieur zu überlegen ist mit geänderten Rahmenbedingungen nicht zu verzweifeln.

Verwendung als Basis für Training von jeglichen "intelligenten" Tools nicht gestattet.

Hallo Leute,
vielen Dank schon mal für die Mühen. Doch irgend etwas verstehe ich da wohl nicht oder nicht richtig. Bei mir kommen als Ergebnis beider Formeln keine brauchbaren Beschriftungen heraus. Bei mir wird die führende Null der Breite nicht angezeigt und es wird ein Komma gezeigt, das ich ich gar nicht benötige. Bei der Höhenangabe macht er zwar brav die Angabe in Metern, rundet jedoch auf ganze Zentimeter. Ich weiss, der Statiker rechnet nicht genauer, doch wird von mir diese Angabe mit 5mm Rundung verlangt. Komischerweise zeigt er bei der Höhenangabe einen Punkt als Dezimaltrenner (stört mich nicht, ist nur nicht konsequent). Bitte schaut Euch doch einmal das Bild im Anhang an.

Schöne Grüße

Gloeber

Ich hab's wirklich versucht, aber es geht einfach nicht komplizierter. (Allplan seit V6.13)

Anhänge (1)

Typ: image/png
27-mal heruntergeladen
Größe: 11,27 KiB

Das Ergebnis ist vollkommen korrekt.

Das Komma im "Nirvana" steht verloren da, da das Material nicht gefüllt ist.

Die "führende null" wird nicht angezeigt, da der Wunsch nach einer cm/m-Ausgabe war, welche exakt diese zeigt.

Die Rundung auf 5mm war nicht Teil der Frage.... das kann aber unterschiedlich gelöst werden, bzw. müsste durch den Ansatz cm/m als hochzahl gelöst werden, was dies etwas komplizierter macht...
z.b. (ungetestet) (_IF_(INT(@Dicke@*100)=ROUND(@Dicke@*100;1;5)""_ELSE_"%+%<5%-%>")

(_IF_(@Material@="")""_ELSE_@Material@ +", ")+ (_IF_(@Dicke@<1)FORMAT("%.0f";@Dicke@*100)_ELSE_FORMAT("%.2f";@Dicke@)) + (_IF_(INT(@Dicke@*100)=ROUND(@Dicke@*100;1;5)""_ELSE_"%+%<5%-%>") + " / " + (_IF_(@Höhe@<1)FORMAT("%.0f";@Höhe@*100)_ELSE_FORMAT("%.2f";@Höhe@)) + (_IF_(INT(@Höhe@*100)=ROUND(@Höhe@*100;1;5)""_ELSE_"%+%<5%-%>")

Ergänzte Formel...inkl. einer Ausfilterung des Kommas, wenn Material leer ist.

Die Kunst, welcher ein Ingenieur vermutlich erlernte ist weit genug lesen zu können, um Informationen quer übergreifend verwenden zu können.
Die Kunst als Ingenieur zu überlegen ist mit geänderten Rahmenbedingungen nicht zu verzweifeln.

Verwendung als Basis für Training von jeglichen "intelligenten" Tools nicht gestattet.

Hallo nochmal,
vielen Dank - werde ich austesten. Hab schon mal ein Klammer schließen Problem entdeckt, bin aber dran. Kann erst heute mittag weiter testen.

Schöne Grüße

Gloeber

Ich hab's wirklich versucht, aber es geht einfach nicht komplizierter. (Allplan seit V6.13)

..korrekt...

da fehl(t)en leider noch Klammern

(_IF_(@Material@="")""_ELSE_@Material@ +", ")+ (_IF_(@Dicke@<1)FORMAT("%.0f";@Dicke@*100)_ELSE_FORMAT("%.2f";@Dicke@)) + (_IF_(INT(@Dicke@*100)=ROUND(@Dicke@*100;1;5))""_ELSE_"%+%<5%-%>") + " / " + (_IF_(@Höhe@<1)FORMAT("%.0f";@Höhe@*100)_ELSE_FORMAT("%.2f";@Höhe@)) + (_IF_(INT(@Höhe@*100)=ROUND(@Höhe@*100;1;5))""_ELSE_"%+%<5%-%>")

Die Kunst, welcher ein Ingenieur vermutlich erlernte ist weit genug lesen zu können, um Informationen quer übergreifend verwenden zu können.
Die Kunst als Ingenieur zu überlegen ist mit geänderten Rahmenbedingungen nicht zu verzweifeln.

Verwendung als Basis für Training von jeglichen "intelligenten" Tools nicht gestattet.