LuminisStageLighting Geschrieben 4. Mai 2020 Teilen Geschrieben 4. Mai 2020 Guten Tag, ich finde keine Möglichkeit innerhalb einer Tabelle errechnete Werte aus Formeln an Zellen, die Felder einer Datenbank darstellen, weiterzugeben. Hintergrund: Ich möchte mir die relative Position eines Scheinwerfers zu einem Ankerpunkt errechnen, und dann das Ergebnis als Wert in ein erzeugtes Datenbankfeld eintragen lassen. Was bisher geschah: Über Datei->Dokument-Einstellungen->Spotlight // Scheinwerfer-Einstellungen habe ich das Feld "lfm. auf Truss" als Typ 'Einheit' hinzugefügt. Ich habe eine Position "LX04", der ein normaler und ein 'Dummy'-Scheinwerfer als Last zugeordnet ist. Der Dummy bildet den Referenz- oder Nullpunkt der Truss. In einer Tabelle "lfm Kalkulation" lese ich die x+y Position des Dummys aus. In einer Tabelle "Scheinwerferliste" lasse ich mir dann mit einer IF-Funktion das Delta zwischen einzelnen Scheinwerfern und den Nullpunkten pro Traverse/LX errechnen und erhalte das Ergebnis in Spalte O. In Spalte N befindet sich das Feld "Datenbank"-"Scheinwerfer"-"lfm. auf Truss", in das ich das Ergebnis schreiben möchte. Link zu diesem Kommentar
herbieherb Geschrieben 4. Mai 2020 Teilen Geschrieben 4. Mai 2020 Die Tabelle kann Datenbanken nur lesen. Schreiben geht nur manuell. Ob Spotlight selbst eine derartige Funktion hat, weiss ich nicht, da Architekturanwender. Falls nicht, würde man so etwas mit einer Marionette oder per Script machen. Ein Script könnte man sogar in die Tabelle selbst einbauen, so dass die Datenbank gleich mit der Tabelle aktualisiert wird. 1 Vectorworks 2024 - Architektur - Win 10 Link zu diesem Kommentar
LuminisStageLighting Geschrieben 5. Mai 2020 Autor Teilen Geschrieben 5. Mai 2020 Da habe ich nun schon einige Versuche gestartet, aber auch mit den Tutorials und dem Forum habe ich es noch nicht geschafft in einer ganz einfachen Umgebung Werte zu übergeben... @Manuel Roth vielleicht könnte mir einer der erfahrenen Marionette-Nutzer eben den Schubser geben, wo mein Denkfehler liegt? Ich versuche mit Marionette in der Scheinwerferdatenbank in das User Field 1 einen Wert zu schreiben, den ich dann auch in der Tabelle ausgegeben bekomme. Input: Objs by Crit an obj(GET) und hObj(SET) mit Criterium ((R IN ['Lighting Device'])) [ID des Scheinwerfers?] -> Get Parametric Record an sRecName [recName=Lighting Device] -> + String an sFldName [User Field 1] String an sFldValue [Test] -> Set Record Field [bSuccess=False] Marionette_Schreiben in Scheinwerferdatenbank.vwx Link zu diesem Kommentar
KroVex Geschrieben 5. Mai 2020 Teilen Geschrieben 5. Mai 2020 Sorry, hatte gerade lust auf ein bisschen Marionette xD So funktioniert es:Marionette_Schreiben in Scheinwerferdatenbank.vwx Gruss KroVex 1 1 CADNODE.ch Lassen Sie uns gemeinsam effiziente und innovative CAD-Lösungen für Ihr Projekt finden! Have you tried to turn it off and on again? Vectorworks | Architektur | macOS/Windows Link zu diesem Kommentar
LuminisStageLighting Geschrieben 5. Mai 2020 Autor Teilen Geschrieben 5. Mai 2020 Vielen Dank! Link zu diesem Kommentar
LuminisStageLighting Geschrieben 5. Mai 2020 Autor Teilen Geschrieben 5. Mai 2020 Es ist schonmal sehr gut, die Tabellenkalkulation nicht zu benötigen - Die Übergabe der Entfernung funktioniert nun direkt in das Datenbankfeld - allerdings nur bei einem Referenzpunkt, bzw. gleich vielen Referenzpunkten und Scheinwerfern. Ich möchte gern Konditionen einbauen, die dafür sorgen, dass aufgrund der zugewiesenen Position der Scheinwerfer der richtige Referenzpunkt (Ebenfalls ein Scheinwerfer) genutzt wird, komme aber einfach nicht ans Ziel. Ich schaffe es zwar die Positionen in eine Liste zu bekommen, um dann das Datenbankfeld der Scheinwerfer damit abzugleichen, mir fehlt aber, welche Nodes sich dafür eigenen ... Danke für Eure Hilfe Marionette_Schreiben in Scheinwerferdatenbank(1).vwx Link zu diesem Kommentar
herbieherb Geschrieben 6. Mai 2020 Teilen Geschrieben 6. Mai 2020 (bearbeitet) Mit diesen Nodes kommst du weiter: Zuerst überprüft der equal-Node, ob die Bedingung erfüllt ist, oder nicht: Bei n1 schliesst du die Liste eines bestimmten Datenbankwerts aller Scheinwerfer an. Bei n2 die Variable mit der du vergleichen willst. Der Node gibt dann eine Liste an True, False Werten aus. Die schliesst du nun an einen Filter-Node an. Bei item gibst du die Liste deiner Scheinwerfer ein. Hinten kommen dann zwei Listen raus. Eine mit den Scheinwerfern, die die Bedingung erfüllen und eine zweite mit den nicht erfüllten. Bearbeitet 6. Mai 2020 von herbieherb 1 Vectorworks 2024 - Architektur - Win 10 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