Hans-Peter Hansen Petersen Geschrieben 11. Mai 2023 Teilen Geschrieben 11. Mai 2023 (bearbeitet) Hallo, ich verzweifele gerade ein wenig daran, mir einen Datenstempel zu basteln, der mir das Profil meines Holz-Trägers auswirft. Da ich hier nichts zu dem Thema finden konnte, dachte ich, ich stelle mal eine Frage an die Community. Die Idee ist eigtl. ganz einfach, ich möchte die statischen Angaben meiner Träger in einem Datenstempel auslesen. Ungefähr so: Pos. 001 - Holz 12/32. So weit, so einfach - denkst du... Die Positionsnummer und das Material ist noch einfach anzulegen (#StructuralMember#.#MemberID# und #StructuralMember#.#MemberType#), aber beim Format gerät der Vorgang ins Stocken. Für Stahlträger kann man "Trägerprofil" auswählen, das funktioniert gut, aber beim Holzträger klappt das nicht. Dann gibt es noch "Große Breite" und "Große Höhe". Da wirft er dann die richtigen Zahlen aus, allerdings in mm und mit 6!!! Nachkommastellen. Die Einheit und Dezimalstellen hier zu verändern ist ausgegraut und unter Sondereinheiten konnte ich das auch nicht finden. Mit den Zahlen eine Rechenoperationausführen (geteilt durch 10 zB) klappt auch nicht. Bisher konnte ich mir an dieser Stelle noch anders helfen, indem ich Bounding Box ∆X und Bounding Box ∆Z gewählt habe. Dieser Trick klappt aber nur bei orthogonaler Anordnung und nun ist mein Grundriss leider zueinander verdreht und somit kommen beim X-Wert immer komische Zahlen heraus. Hat jemand das gleiche Problem oder kennt eine Lösung? Bearbeitet 11. Mai 2023 von Hans-Peter Hansen Petersen iMac 24" 2023, Apple M3, 16 GB, macOS Sonoma 14.5 Vectorworks 2023, SP 8 R1 // Vectorworks 2024, Update 5 Link zu diesem Kommentar
GSP_nowhere Geschrieben 11. Mai 2023 Teilen Geschrieben 11. Mai 2023 (bearbeitet) Hallo @Hans-Peter Hansen Petersen vor 55 Minuten schrieb Hans-Peter Hansen Petersen: da wirft er dann die richtigen Zahlen aus, allerdings in mm und mit 6!!! Nachkommastellen. Dass man die EInheiten für die Träger nicht formatieren kann ist unglücklich und wird hoffentlich in Zukunft geändert, wie es für andere Objekte auch der Fall ist. vor 55 Minuten schrieb Hans-Peter Hansen Petersen: Mit den Zahlen eine Rechenoperationausführen (geteilt durch 10 zB) klappt auch nicht. Das stelle ich so auch fest.... was merkwürdig ist... handelt es sich dabei evtl nicht um eine Zahl sondern um einen Text? Das würde zumindest erklären warum die Rechnung nicht funktioniert... In einer Tabelle lassen sich diese Werte übrigens auch nicht "verrechnen"... Ich habe als Vorschlag nun nur einen Umweg, der aber auch nicht super "edel" ist: 1.Im Datenstempel gibt es die Tabellenfunktion " #WS_Wert('')# " diese wandelt Text in Zahlen, nach Wunsch mit Rundung. 2. Mit dieser Funktion die Breiten und Höhen Werte in Zahlen wandeln und wenn gewünscht runden 3. Mit diesen Zahlenwerten funktioniert dann deine händische Rechnung " /10 " für die gewünschte Einheit die Formel im Datenstempel lautet dann bspw: #WS_WERT('StructuralMember'.'B')##prec_1#/10 Ich habe die einzelteile Farbig markiert. Die "händsiche" Berechnung und die Einheite dann "händisch" dahinterzuschreiben ('cm') finde ich eher unglücklich. Wird in Zukunft das Trägerobjekt programmtechnisch umgestellt, wird der Datenstempel vielleicht in kommenden Versionen "falsch" sein. Ich schätze ehrlich gesagt, dass hier noch seitens VW / CW nachgebessert wird. allein die Bennenung mit bspw. 'StructuralMember'.'B' für die Breite oder 'StructuralMember'.'D' für die Höhe ist dann doch eher kryptisch. Liebe grüße Bearbeitet 11. Mai 2023 von GSP_nowhere 2 ...alles Liebe aus Stuttgart..... MacBook Pro 2,3 8-core (9.te Generation i9) 32 GB / 1 TB SSD / Radeon Pro 5500M mit 8 GB / 16“ MacOS Big Sur 11.6.5 VW 21/22/23 Architektur Wissen heißt wissen, wo es geschrieben steht. Link zu diesem Kommentar
Hans-Peter Hansen Petersen Geschrieben 11. Mai 2023 Autor Teilen Geschrieben 11. Mai 2023 Vielen Dank @GSP_nowhere...der Weg mag nicht superedel sein, aber das ist ja nun eher Vectorworks geschuldet. Er funktioniert und das ist vorerst die Hauptsache! Um auf den Weg zu kommen, muss man aber schon echt tief drin sein in der Materie. Chapeau! Liebe Grüße aus Lübeck 1 iMac 24" 2023, Apple M3, 16 GB, macOS Sonoma 14.5 Vectorworks 2023, SP 8 R1 // Vectorworks 2024, Update 5 Link zu diesem Kommentar
GSP_nowhere Geschrieben 11. Mai 2023 Teilen Geschrieben 11. Mai 2023 @Hans-Peter Hansen Petersen Danke und ... sehr gerne Liebe grüße ...alles Liebe aus Stuttgart..... MacBook Pro 2,3 8-core (9.te Generation i9) 32 GB / 1 TB SSD / Radeon Pro 5500M mit 8 GB / 16“ MacOS Big Sur 11.6.5 VW 21/22/23 Architektur Wissen heißt wissen, wo es geschrieben steht. Link zu diesem Kommentar
b.illig Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 Guten Morgen @Viktor Frank ich klinke mich hier auch mal rein Ich bin über die Suche auf eure tolle Formel gestoßen und möchte sie etwas erweitern: Je nach Trägertyp soll etwas anderes angezeigt werden. Bei Stahl das entsprechende Profil, bei Holz und Beton der entsprechende Balkenquerschnitt. Prinzipiell bekomme ich das auch hin, jedoch macht er wenn ich einen Schrägstrich / zwischen die Breite und Höhe setze (z.B: 20/40) dann werden die Zahlen geteilt. Setze ich ein x (z.B. 20x40) dann steht das auch nach bei den anderen Trägertypen (z.B: IPE200x). Das ist natürlich doof. Wie kann ich denn beim Träger Formelteile zusammenfassen? Klammern (wie bei den Tabellen und dem Datenamanger) gehen nicht. Warum ist das nicht gleich codiert, das ist doch weng uncool... Meine Formel schaut so aus: #StructuralMember#.#ProfileSize#@#StructuralMember#.#MemberType#='Stahl':''#WS_WERT('StructuralMember'.'B')##prec_1#/10@#StructuralMember#.#MemberType#='Holz':''x#WS_WERT('StructuralMember'.'D')##prec_1#/10@#StructuralMember#.#MemberType#='Holz':'' Dieser Teil erscheint nur, wenn der Trägertyp Stahl ist. Dies schreibt die Breite in den Stempel, wenn der Typ Holz ist. Dies schreibt die Höhe in den Stempel, wenn der Typ Holz ist. Dazwischen ist das "x" bzw. der Schrägstrich, der mir Probleme macht. Prinzipiell wäre mir der Schrägstrich lieber, da das die "klassische" Beschriftung ist. Was ich auc noch möchte: Wenn es ein Betonträger ist sollte "UZ" vor die Maße geschrieben werden, geht das? Der Datenstempel soll also folgendes machen: Bei Stahlträgern z.B.: IPE200 Bei Betonträgern/Unterzügen z.B.: UZ 20/40 Bei Holzträgern z.B.: Holz 20/40 Wenn notwendig füge ich noch eine Brandschutzdefinition an, das klappt aber über unsere eigene Datenbank gut. Viele Grüße, Burkard - - - Link zu diesem Kommentar
Viktor Frank Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 (bearbeitet) Hallo @b.illig Deine Anforderung ist komplex, aber theoretisch realisierbar. Ich möchte noch anstoßen: Es könnte auch eine Gute Idee sein verschiedene Stempel für die verschiedenen Trägerarten (Holz Beton Stahl) zu erstellen. Das mindert die Komplexität sowie die zukunftige fehleranfälligkeit bei Änderungen des Träger-tools, an Formelteilen oder im Programm. Des weiteren wird der Stempel so viel leichter nachzuvollziehen, wenn mal etwas Zeit vergangen ist oder er geändert werden soll. vor 1 Stunde schrieb b.illig: Warum ist das nicht gleich codiert, das ist doch weng uncool... Der Datenstempel hat in gewisser Weise eine eigene Syntax, stimmt, man kann aber, sobald man eine Tabellenfunktion aufruft, auch mit der reinen Tabellensyntax arbeiten. hast du denn eine Tabellenformel die bereits so funktioniert wie du es dir wünscht? Liebe Grüße Viktor Bearbeitet 18. Juli 2023 von Viktor Frank Link zu diesem Kommentar
Antonio Landsberger Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 vor 3 Stunden schrieb b.illig: Warum ist das nicht gleich codiert, das ist doch weng uncool... Mit Vectorworks 2022 hat Vectorworks Inc. begonnen die datenbasierten Funktionalitäten zu vereinheitlichen, indem der Datenmanager die Syntax der Tabellenformeln übernahm. Das ist als erster Schritt zu sehen. Dass im Datenstempel seit Vectorworks 2023 alle Tabellenfunktionen zur Verfügung stehen ist ein Zwischenschritt. Wann der Datenstempel die Tabellenformelsyntax übernimmt weiß ich zu diesem Zeitpunkt nicht. 1 Gruß Antonio Landsberger ComputerWorks GmbH http://www.computerworks.de Link zu diesem Kommentar
b.illig Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 (bearbeitet) Hi Viktor, ja, einzelne Stempel klappen, schön wäre jedoch schon ein Einzelner. Ich probiers mal mit der Tabellen-Syntax. Momentan schaut's so aus, ich scheitere daran, "B/H" richtig einzustellen: =IF('StructuralMember'.'MemberType'='0'; 'StructuralMember'.'ProfileSize'; IF('StructuralMember'.'MemberType'='1'; ('StructuralMember'.'B'); 'XX')) ich würde jetzt gerne folgendes einstellen: ...IF('StructuralMember'.'MemberType'='1'; (UZ 'StructuralMember'.'B'/'StructuralMember'.'D')... Rauskommen soll hier UZ 20/40. Klar, der "/" ist ja auch für "geteilt durch", jedoch hat stattdessen auch ein "x" nicht funktioniert. Immer wenn ich vor / nach 'StructuralMember'.'B' etwas ergänze klappt die Formel nicht. Man müsste die Bedingungen doch mit Klammen entsprechend tiefer verschachteln können, oder? Viele Grüße, Burkard Bearbeitet 18. Juli 2023 von b.illig 1 - - - Link zu diesem Kommentar
tobiaskern Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 (bearbeitet) Hi Burkhard in der Tabelle und im Datenstempel bekomme ich mit folgender Formel einen Inhalt angezeigt: =IF(('StructuralMember'.'MemberType'='0'); 'StructuralMember'.'ProfileSize'; IF(('StructuralMember'.'MemberType'='1'); VERKETTEN('StructuralMember'.'B'; '/'; 'StructuralMember'.'D'); 'XX')) Du musst jetzt nur noch tiefer verschachteln. LG Tobi Bearbeitet 18. Juli 2023 von tobiaskern 3 / / / / / VW 2024Update 7 (Build 773964) MacBook Pro 16" | 2023 | M3 Max | 128 GB Ram macOS Sonoma 14.6.1 Link zu diesem Kommentar
Antonio Landsberger Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 Burkard, immer wenn Du eine Reihe ganz bestimmter und begrenzter Ergebnisse erwartest, würde ich anstatt der IF-Funktion die IFs-Funktion nutzen. Diese ist am Ende übersichtlicher und auch leichter zu handhaben. 3 Gruß Antonio Landsberger ComputerWorks GmbH http://www.computerworks.de Link zu diesem Kommentar
b.illig Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 vor 5 Minuten schrieb tobiaskern: VERKETTEN Ha! Again what learned! Mega, danke! 2 - - - Link zu diesem Kommentar
tobiaskern Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 Hier die oben genannte Formel-Syntax umgebaut als IFS-Formel: =IFS(('StructuralMember'.'MemberType'='0'); 'StructuralMember'.'ProfileSize'; ('StructuralMember'.'MemberType'='1'); VERKETTEN('StructuralMember'.'B'; '/'; 'StructuralMember'.'D')) LG Tobi 1 1 / / / / / VW 2024Update 7 (Build 773964) MacBook Pro 16" | 2023 | M3 Max | 128 GB Ram macOS Sonoma 14.6.1 Link zu diesem Kommentar
b.illig Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 Ihr seid spitze! so sieht meine Formel jetzt aus: =IFS(('StructuralMember'.'MemberType'='0'); 'StructuralMember'.'ProfileSize'; ('StructuralMember'.'MemberType'='1'); VERKETTEN('UZ '; 'StructuralMember'.'B'; ' / '; 'StructuralMember'.'D'); ('StructuralMember'.'MemberType'='2'); VERKETTEN('Holz '; 'StructuralMember'.'B'; ' / '; 'StructuralMember'.'D')) So hab ich meine drei Trägerarten schön sortiert. Kleines Manko: B/D wird in mm mit den vielen Nachkommstellen angegeben. nur cm wäre besser. @Viktor Frank kann man das in die Syntax für den Datenstempel übersetzen? Vielen vielen vielen Dank, Burkard 1 - - - Link zu diesem Kommentar
Antonio Landsberger Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 Hier können noch die Klammern eingespart werden. ('StructuralMember'.'MemberType'='0') ('StructuralMember'.'MemberType'='1') ('StructuralMember'.'MemberType'='2') 2 Gruß Antonio Landsberger ComputerWorks GmbH http://www.computerworks.de Link zu diesem Kommentar
Antonio Landsberger Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 vor 7 Minuten schrieb b.illig: kann man das in die Syntax für den Datenstempel übersetzen? Das sollte so aussehen: #WS_IFS('StructuralMember'.'MemberType'='0'; 'StructuralMember'.'ProfileSize'; 'StructuralMember'.'MemberType'='1'; VERKETTEN('UZ '; 'StructuralMember'.'B'; ' / '; 'StructuralMember'.'D'); 'StructuralMember'.'MemberType'='2'; VERKETTEN('Holz '; 'StructuralMember'.'B'; ' / '; 'StructuralMember'.'D'))# 2 Gruß Antonio Landsberger ComputerWorks GmbH http://www.computerworks.de Link zu diesem Kommentar
tobiaskern Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 (bearbeitet) Hi Burkhard verfeinern könnte man wie folgt (in der Tabelle + Datenstempel) TXT(WERT('StructuralMember'.'B'); 'Dim'; '0.'; 'NoUnits') Der Block muss anstatt: 'StructuralMember'.'B' eingesetzt werden. … und auch für 'StructuralMember'.'D' … irgendwie doof, dass man den Inhalt aus 'B' und 'D' erst in einen Wert umwandeln muss. Obacht: 'B' und 'D' wird dann zu Text und es kann nicht mehr damit gerechnet werden! LG Tobi Bearbeitet 18. Juli 2023 von tobiaskern 2 / / / / / VW 2024Update 7 (Build 773964) MacBook Pro 16" | 2023 | M3 Max | 128 GB Ram macOS Sonoma 14.6.1 Link zu diesem Kommentar
tobiaskern Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 Siehe: https://developer.vectorworks.net/index.php/Worksheet_Functions dort dann nach der "txt"-Formel suchen 1 / / / / / VW 2024Update 7 (Build 773964) MacBook Pro 16" | 2023 | M3 Max | 128 GB Ram macOS Sonoma 14.6.1 Link zu diesem Kommentar
Viktor Frank Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 (bearbeitet) Hallo @b.illig Ich bin leider ausser Haus auf dem Weg zu einem Kundentermin ... daher nur reduziert Internetzugang. Entschuldige, dass ich nicht richtig antworte, aber die sehr kompetenten Kollegene leisten ja ganze Arbeit ! Allgemein noch zur Syntax des Datenstempels: Sobald eine Tabellenfunktion im Datenstempel aufgerufen wurde, lässt sich innerhalb dieser mit der Tabellensyntax arbeiten! Tabellenfunktionen haben den selben Namen wie sonst, nur mit dem Präfix und Suffix #WS_ .... # WS=Worksheet Bspw.: #WS_IF( reine tabellensyntax )# Daher kann man seine Formel auch in einer Tabelle aufbauen, sofern die äußerste Funktion eine Tabellenfunktion bedeutet. Diese äußerste Funktion hat dann noch die Schreibweise/Syntax des Datenstempels. @tobiaskern und @Antonio Landsberger haben nun ja alle entscheidenden Tips gegeben! Liebe grüße Bearbeitet 18. Juli 2023 von Viktor Frank 2 Link zu diesem Kommentar
tobiaskern Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 Hi, Ich teste immer erst in der Tabelle, funktioniert die Formel dort, dann übernehme ich sie in den Datenstempel. Dieser Workflow hat sich bewährt und ist schneller, als der "mühsamere" Weg über die Datenstempeleinstellungen. LG Tobi 2 / / / / / VW 2024Update 7 (Build 773964) MacBook Pro 16" | 2023 | M3 Max | 128 GB Ram macOS Sonoma 14.6.1 Link zu diesem Kommentar
Viktor Frank Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 (bearbeitet) @tobiaskern Das mache ich genau so. lediglich für einfache / einzelne Feldabfragen nutze ich direkt die Oberfläche und Syntax des Datenstempels. Wenn es um komplexere Themen geht gehe ich immer den Weg über die Tabellenfunktionen / die Tabelle selbst. Dann folgt die Übernahme in den Datenstempel. Vor allem ist hier schön, dass man direkt in der Tabelle die Ergebnisse für die verschiedenen Fälle der Formel prüfen kann, wie in diesem wunderbaren Beispiel. @b.illig kamst du nun mit deiner vollständigen Formelzusammenstellung zurecht ? oder benötigst du noch Hilfe ? Aufgrund der nun doch höhern Komplexität der Formel nochmal der Gedankenanstoß evtl einen Stempel je Trägerart zu benutzen.... ( Ich persönlich bin natürlich auch Fan der/deiner komplexen Zusammenstellung und des "All in One" Stempels ) Liebe grüße Bearbeitet 18. Juli 2023 von Viktor Frank 2 Link zu diesem Kommentar
b.illig Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 Sehr sehr cool. Mit der Tabellensyntax komme ich schon etwas besser klar. Ich möchte jetzt noch aus den Zahlen für die Träger (die ja in mm ankommen, also z.B. 200/400) gerne cm (also 20/40) machen. Wenn ich jetzt in meine Formel: =IFS(('StructuralMember'.'MemberType'='0'); 'StructuralMember'.'ProfileSize'; ('StructuralMember'.'MemberType'='1'); VERKETTEN('UZ '; TXT(WERT('StructuralMember'.'B'); 'Dim'; '0.'; 'NoUnits'); ' / '; TXT(WERT('StructuralMember'.'D'); 'Dim'; '0.'; 'NoUnits')); ('StructuralMember'.'MemberType'='2'); VERKETTEN('Holz '; (TXT(WERT('StructuralMember'.'B'); 'Dim'; '0.'; 'NoUnits')); ' / '; (TXT(WERT('StructuralMember'.'D'); 'Dim'; '0.'; 'NoUnits')))) den Block ... (TXT(WERT('StructuralMember'.'D'); 'Dim'; '0.'; 'NoUnits') noch durch zehn teilen möchte also mit "/10", dann bekomme ich als Meldung "#Value". Wenn ich statt 'Dim' eine der Einheiten verwende passt's auch nicht, wenn ich 'Centimeters' einstelle. Hier passt dann die 'Meters'-Einstellung für die mm Zahl die der Träger auch sonst auswirft. - - - Link zu diesem Kommentar
tobiaskern Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 Hi Burkard; So: TXT(WERT('StructuralMember'.'B')/10; 'Dim'; 'General'; '0.'; 'NoUnits') … Einheiten scheinen hier nicht gemäß Syntax-Beschreibung zu funktionieren. Ich vermute, es liegt daran, dass man TXT und WERT kombinieren muss. LG Tobi 1 1 / / / / / VW 2024Update 7 (Build 773964) MacBook Pro 16" | 2023 | M3 Max | 128 GB Ram macOS Sonoma 14.6.1 Link zu diesem Kommentar
b.illig Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 @tobiaskern@Antonio Landsberger@Viktor Frank Megamäßig! Tausend Dank! 2 - - - Link zu diesem Kommentar
tobiaskern Geschrieben 18. Juli 2023 Teilen Geschrieben 18. Juli 2023 Hi Burkard, sehr gerne! LG Tobi / / / / / VW 2024Update 7 (Build 773964) MacBook Pro 16" | 2023 | M3 Max | 128 GB Ram macOS Sonoma 14.6.1 Link zu diesem Kommentar
arquitextonica Geschrieben 6. November 2023 Teilen Geschrieben 6. November 2023 Klinke ich mich seitlich hier... Ich möchte ein Stempel mit der Sölenhöhe erstellen... ich würde schon die Formel in ähnlichen Sinn anwenden, aber habe ich die folgende Fehler bekommen... Breite und Höhe in Tabelle stimmen nicht mit die "echte" Maße des Profilstyp... habe ich etwas falsch hier gemacht? Vectorworks 2022.SP 6R1. Windows 10. 11th Gen Intel i7-11800H @ 2.30GHz - 32GB RAM- NVIDIA GeForce RTX 3070 Laptop GPU 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