Support Forum

Hochzahlen in SmartParts [Gelöst]

Schlagworte:
  • Hochzahlen
  • Hochzahl
  • SmartPart

Ist es möglich im SmartPart, mit TEXT2, eine Hochzahl auszugeben?

i7-12700 - Win10/x64 - 16GB - NVIDIA RTX A2000 (12GB) - Allplan 2023 Ing./Workgroup

Lösung anzeigen Lösung verbergen

Den Längenparameter kannst man z.B. so in einen String wandeln und mit den Steuercodes kombinieren:

TEXT2 0,0,"x%^{"+STR("%",ref_x)+"%^}"

GEA Arquitectos S.L.P.
Calle Gerardo Diego 6A | 41013 Sevilla | Spain

Ja, mit den Steuercodes "%^{" und "%^}".
z.B. so:

TEXT2 0,0,"x%^{2%^}"

Ergebnis: x²

lg,
Stefan

GEA Arquitectos S.L.P.
Calle Gerardo Diego 6A | 41013 Sevilla | Spain

Ich würde gerne ein Parameter (Länge) ausgeben.

i7-12700 - Win10/x64 - 16GB - NVIDIA RTX A2000 (12GB) - Allplan 2023 Ing./Workgroup

Den Längenparameter kannst man z.B. so in einen String wandeln und mit den Steuercodes kombinieren:

TEXT2 0,0,"x%^{"+STR("%",ref_x)+"%^}"

GEA Arquitectos S.L.P.
Calle Gerardo Diego 6A | 41013 Sevilla | Spain

Zitiert von: StefanHah
Den Längenparameter kannst man z.B. so in einen String wandeln und mit den Steuercodes kombinieren:
TEXT2 0,0,"x%^{"+STR("%",ref_x)+"%^}"

Danke, so hat es funktioniert.

i7-12700 - Win10/x64 - 16GB - NVIDIA RTX A2000 (12GB) - Allplan 2023 Ing./Workgroup

Kann ich ergänzend fragen:

Konvertierung und Rundung von Zahlen zu String
Wie kann ich die cm/mm Schreibweise mit Hochzahl - falls nicht Null ist erhalten?

1. Einheit Meter
2. Rundung 5mm auf dritte Nachkommastelle
3. nur 2 Nachkommastellen, wenn 3.=0
4. wenn 3. Nachkommastelle =5 dann Hochzahl

Bitte ein Beispiel mit 'krummer' REF_X als Beispiel

Das wäre eine grosse Hilfe!

Zur Zeit bekomme ich das nicht mal ohne Hochzahl hin.
(nur bei 5 mm nach Rundung die 3. Nachkommastelle anzeigen)

also 3.282 soll 3.28 werden und 3.286 soll 3.285 werden

Guten Morgen.

Ich weiss zwar nicht, ob man das evtl. noch eleganter hinkriegen könnte, aber ich würde das so machen:

TEXT2 0 , 0 , runden ( x ) 

END 

FUNC runden ( x ) 
   x = ROUND_INT ( x * 200 ) / 200 
   x_str = STR ( "%4.3" , x ) 
   IF STRSUB ( x_str , 5 , 1 ) = "5" THEN RETURN STRSUB ( x_str , 1 , 4 ) + "%^{5%^}" ELSE RETURN STRSUB ( x_str , 1 , 4 ) 
FUNC_END 

lg,
Stefan

GEA Arquitectos S.L.P.
Calle Gerardo Diego 6A | 41013 Sevilla | Spain

Hallo Stefan!

Vielen, vielen Dank! Die Systematik hatte ich mir ähnlich vorgestellt. An der Umsetzung wäre ich wahrscheinlich gescheitert. Mit der Auslagerung in eine Funktion finde ich die Lösung extrem elegant:

Anwendung: Es hat auf Anhieb funktioniert! Erfüllt genau meine Anforderungen!