Matteo Geschrieben 15. März Teilen Geschrieben 15. März Hi, ich habe versucht mit dem folgenden Code einzurichten, dass der Wert aus einem Datenbank-Feld nur angezeigt wird, wenn er nicht 0 ist. #WS_IF(('Pset-LH-Tueren_kurz'.'li.Br.'=0); ''; 'Pset-LH-Tueren_kurz'.'li.Br.')#m Leider kriege ich es aber hier nicht mehr hin, zu fixieren, dass die Zahl immer 2 Nachkommastellen haben soll. GEHT DAS überhaupt? es hilft leider nicht, #m_2_0# hinten anzuhängen (wird bei der auswahl der IF Funktion nicht angeboten) Türstempel-TEst.zip MacBook Pro 16" - macOS 13 - Ventura - 2,3 GHz 8-Core Intel Core i9, 16GB RAM, AMD Radeon Pro 5500M 8 GB VRAM Vectorworks 2022 - SP6 Vectorworks 2023 - SP6 Link zu diesem Kommentar
Viktor Frank Geschrieben 15. März Teilen Geschrieben 15. März (bearbeitet) Hallo @Matteo eine Möglichkeit ist die Funktion WERT() zu nutzen ... damit kannst du Nachkommastellen definieren... Die Einheit muss dann "händisch" dahinter geschrieben werden... #WS_WERT(IF(('Pset-LH-Tueren_kurz'.'li.Br.'=0); ''; 'Pset-LH-Tueren_kurz'.'li.Br.'))##prec_2#m ggf gibt es noch weitere Möglichkeiten.... Liebe Grüße Bearbeitet 15. März von Viktor Frank Link zu diesem Kommentar
Matteo Geschrieben 15. März Autor Teilen Geschrieben 15. März wo hast Du denn das mit dem #prec_2# her? Hast Du Dir das selbst ausgedacht? ;-D 1 MacBook Pro 16" - macOS 13 - Ventura - 2,3 GHz 8-Core Intel Core i9, 16GB RAM, AMD Radeon Pro 5500M 8 GB VRAM Vectorworks 2022 - SP6 Vectorworks 2023 - SP6 Link zu diesem Kommentar
Viktor Frank Geschrieben 15. März Teilen Geschrieben 15. März Generell arbeite ich nach der Brute-Force-Methode Mir fällt auch gerade auf, dass #prec_2# bereits reicht um die nachgestellten Nullen zu generieren... Die Funktion WERT() wird dann garnicht mehr gebraucht... Ich hab das aus der Funktion WERT().... weil ich noch im Kopf hatte dass sich hier die Nachkommastellen definieren lassen... somit wäre nun #WS_IF(('Pset-LH-Tueren_kurz'.'li.Br.'=0); ''; 'Pset-LH-Tueren_kurz'.'li.Br.')##prec_2#m Deine entsprechende Formel Liebe grüße ! 2 1 Link zu diesem Kommentar
unlimited Geschrieben 15. März Teilen Geschrieben 15. März wenn du im Dropdown einen Zahlenwert (z.B. ein Parameter der Tür) auswählst der keine Einheiten hat, und zwei Kommastellen auswählst, wird das auch so in die Formel eingefügt. Es gibt da sehr viele Möglichkeiten, die leider nicht alle immer gut dokumentiert sind. 2 Vectorworks Design Suite 2024 Update 4.1 MacOS 12.7 www.unlimited.co.at www.livingpool.at Link zu diesem Kommentar
Matteo Geschrieben 15. März Autor Teilen Geschrieben 15. März @unlimited naja, das ist ein Datenbankwert, Typ Zahl (also mit Nachkommastellen) der wird mir automatisch nur mit soviel Nachkommastellen wie nötig angezeigt. vor 24 Minuten schrieb Viktor Frank: Generell arbeite ich nach der Brute-Force-Methode irgendwas eintippen und hoffen, dass es klappt? Oder ChatGPT fragen? MacBook Pro 16" - macOS 13 - Ventura - 2,3 GHz 8-Core Intel Core i9, 16GB RAM, AMD Radeon Pro 5500M 8 GB VRAM Vectorworks 2022 - SP6 Vectorworks 2023 - SP6 Link zu diesem Kommentar
Viktor Frank Geschrieben 15. März Teilen Geschrieben 15. März (bearbeitet) vor 11 Minuten schrieb Matteo: irgendwas eintippen und hoffen, dass es klappt? Das war eher als Scherz zu sehen Meist denke ich über die entsprechenden Datentypen nach, welche als Rückgabewerte aus den Formeln resultieren... Die IF-Funktion kann theoretisch verschiedene Datentypen (Text, Zahl, Boolean) zurückgeben... daher besteht hier keine direkte Option zu Wert-Formatierung im Datenstempelmenü. Macht ja auch Sinn. Daher habe ich nach einer Funktion gesucht, welche eindeutig eine Zahl zurückgibt und damit auch entsprechend der Zahlen formatierbar ist... nämlich WERT(). Dass das Anhängsel #prec_2# auch ohne die Funktion WERT() funktioniert, war dann tatsächlich etwas raten... der Rückgabewert deiner speziellen IF-Funktion ist ein Datenbankwert vom Typ Zahl. .. Also hatte ich da so eine Vermutung dass es auch so funktioniert... Was du mit #m_2_0# versucht hattest, funktioniert nur für Datenfelder, welche als "Objektmaß" (Subtype zu Zahl) gekennzeichnet sind.... somit kann dann direkt eine entsprechende Einheitenwandlung stattfinden. Vectorworks Datenbanken bieten diese Datentyp in der Version 2023 noch nicht an. In der Version 2024 kamen neue Datentypen für eigene Datenbanken hinzu: Diese lassen dann die oben genannten Formatierungen und Konvertierung von Flächen/Volumen/Längen-Einheiten zu. Also nur Brute-Force war es dann doch nicht Liebe Grüße Bearbeitet 15. März von Viktor Frank 2 Link zu diesem Kommentar
Matteo Geschrieben 15. März Autor Teilen Geschrieben 15. März (bearbeitet) #WS_IF(('Pset-LH-Tueren_kurz'.'li.Br.'=0); ''; (VERKETTEN(('Pset-LH-Tueren_kurz'.'li.Br.'); 'm')))##prec_2# war mein nächster Versuch. Wenn die lichte Breite = 0 steht noch son verlorenes "m" rum... ach, wenn perfekt nicht immer mal wieder so kompliziert wäre, da funktioniert das mit den Nachkommastellen natürl wieder nicht (bei ner String-Variable, die aus dem Verketten Befehl entsteht auch etwas viel verlangt) Bearbeitet 15. März von Matteo MacBook Pro 16" - macOS 13 - Ventura - 2,3 GHz 8-Core Intel Core i9, 16GB RAM, AMD Radeon Pro 5500M 8 GB VRAM Vectorworks 2022 - SP6 Vectorworks 2023 - SP6 Link zu diesem Kommentar
Viktor Frank Geschrieben 15. März Teilen Geschrieben 15. März (bearbeitet) Wenn du das erreichen willst, musst du die Einheit "m" bereits in der IF-Funktion abbilden und dort auch die Formatierung machen... Du kannst keinen Zurückgegeben Text (2m) dann noch mit Nachkommastellen formatieren ... Daher gehe diesen weg: #WS_IF('Pset-LH-Tueren_kurz'.'li.Br.'=0; ''; TXT('Pset-LH-Tueren_kurz'.'li.Br.'; Meters; TrailingZero; Units))# Im Kern ist hier dann die Funktion TXT() die richtige ... die hat viele optionale Parameter zu Formatierung von Einheiten, Nachgestellter Angabe der Einheit, Vor und Nachgestellte nullen etc https://developer.vectorworks.net/index.php/Worksheet_Functions/de#Text Wichtig ist, dass der Startwert in der Dokumenteneinheit ist... Da die Funktion TXT() von der Dokumenteneinheit in eine Zieleinheit Kovertiert... Liebe Grüße Bearbeitet 15. März von Viktor Frank 2 Link zu diesem Kommentar
Matteo Geschrieben 15. März Autor Teilen Geschrieben 15. März (bearbeitet) #WS_IF(('Pset-LH-Tueren_kurz'.'li.Br.'=0); ''; 'Pset-LH-Tueren_kurz'.'li.Br.')##prec_2##WS_IF(('Pset-LH-Tueren_kurz'.'li.Br.'=0); ''; 'm')# so, also einmal in ner If Bedingung den Zahlenwert mit 2 Nachkommastellen und einmal die Einheit m. Das funktioniert. Bearbeitet 15. März von Matteo 1 MacBook Pro 16" - macOS 13 - Ventura - 2,3 GHz 8-Core Intel Core i9, 16GB RAM, AMD Radeon Pro 5500M 8 GB VRAM Vectorworks 2022 - SP6 Vectorworks 2023 - SP6 Link zu diesem Kommentar
Matteo Geschrieben 15. März Autor Teilen Geschrieben 15. März @Viktor Frank mega, das ist ja noch besserer 1 MacBook Pro 16" - macOS 13 - Ventura - 2,3 GHz 8-Core Intel Core i9, 16GB RAM, AMD Radeon Pro 5500M 8 GB VRAM Vectorworks 2022 - SP6 Vectorworks 2023 - SP6 Link zu diesem Kommentar
Viktor Frank Geschrieben 15. März Teilen Geschrieben 15. März (bearbeitet) @Matteo gerne Wie gesagt würde mit Version 2024 und dem entsprechenden Datentyp der eigenen Datenbank die formatierung einfach auch mit #m_2_0# funktionieren. Bearbeitet 15. März von Viktor Frank 1 Link zu diesem Kommentar
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden