fkaindl Geschrieben 6. Oktober 2018 Teilen Geschrieben 6. Oktober 2018 Hallo, ich würde gerne ein Skript erstellen dass es mir erlaubt alle Symbole zu aktivieren, die in einem Bestimmten Feld den gleichen Eintrag haben. An sich funktioniert das mit "Ähnliche Objekte aktivieren", jedoch muss ich für jedes "Suchkriterium" ein eigenes Skript erstellen. Ich möchte die Möglichkeit haben ein Dialogfeld zu öffnen in das ich das "Suchkriterium" nach dem in diesem Datenbank Feld gesucht wird individuell eingeben kann. Also meinetwegen haben alle Symbole in einem Datenbankfeld die Information der Position (Raum 1; Raum 2;...) und ich möchte mit dem Skript ein Dialogfeld aufrufen, in dass ich nun eingeben kann, nach welchem Eintrag (also z.B. "Raum 1") gefiltert und aktiviert werden soll. Die passenden Todes habe ich in den Standard Marionetten Symbolen nicht gefunden und ich habe keine Ahnung von Python, daher die Frage ob mir jemand mit den passenden Todes für Marionette oder der passenden CodeZeilen weiterhelfen kann. Vielen Dank und Gruß Florian Link zu diesem Kommentar
fkaindl Geschrieben 17. Dezember 2018 Autor Teilen Geschrieben 17. Dezember 2018 Ich habe nochmal mein Vorhaben auf anderem Weg versucht zu lösen, leider scheint mein Script fehlerhaft und ich finde den Fehler leider nicht, vielleicht kann mir einer von euch beim Debuggen des Scrips helfen. Procedure SEARCH_FOR_PB; VAR PB:STRING; BEGIN PB := StrDialog('Select all Fixtures on', 'PB ID'); DSelectAll; SelectObj('Lighting Device'.'Circuit Name'= PB ); END; RUN (SEARCH_FOR_PB); Der Sinn des Scripts ist es möglichst schnell alle Scheinwerfer, die einen bestimmten Eintrag im Feld 'Circuit Name' haben (Suchwert wird im Dialogfeld abgefragt wird) zu selektieren. Eigentlich ein sehr simples Skript, aber scheinbar kommt der Befehl nicht mit der Variable klar, oder mache ich einen anderen Fehler? Danke und Grüße Florian Link zu diesem Kommentar
vectorworker Geschrieben 18. Dezember 2018 Teilen Geschrieben 18. Dezember 2018 (bearbeitet) Sorry nicht richtig gelesen... :-( Bearbeitet 18. Dezember 2018 von vectorworker Windows 10 Intel i7 8086K, Nvidia GTX 1080, 64GB Ram, SSD ASUS ROG Zephyrus Duo 15 SE, R9-5900HX, 32GB, 2x1TB SSD, RTX3080 Vectorworks 2022 Designer Link zu diesem Kommentar
fkaindl Geschrieben 3. Mai 2019 Autor Teilen Geschrieben 3. Mai 2019 (bearbeitet) Falls es jemanden interessiert, Problem gelöst. Wenn jemand ein Script benötigt mit dem man z.B. alle Scheinwerfer die auf eine PB gesteckt sind oder die in einem bestimmten ID Bereich liegen schnell und einfach aktivieren kann ...einfach bei mir melden. Gruß Flo Bearbeitet 3. Mai 2019 von fkaindl Link zu diesem Kommentar
KroVex Geschrieben 3. Mai 2019 Teilen Geschrieben 3. Mai 2019 Am 6.10.2018 um 15:37 schrieb fkaindl: Die passenden Todes habe ich in den Standard Marionetten Symbolen nicht gefunden So würde es mit Marionette funktionieren (Ab VW 2019 wird das Node "Object by Crit" mit einem Dialogfeld mitgeliefert): Gruss KroVex 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
fkaindl Geschrieben 3. Mai 2019 Autor Teilen Geschrieben 3. Mai 2019 Ah cool danke gut zu wissen. Mir ging es aber vor allem darum das Kriterium in einem Pop Up variabel eingeben zu können. In deinem Beispiel wäre also mein Wunsch ein Script zu haben, in dem die Kriteriankategorien schon vorgegeben sind und das ein Fenster öffnet in dem ich dann nurnoch eine Ebene, einen Objekttyp und eine Klasse eingeben muss nach dem gefiltert und dann selektiert werden soll. > Workflow: Mit entsprechenden Kriterienkategorien vordefiniertes Script in Scriptpalette doppelklicken > Wert in Fenster eingebend mit Enter bestätigen > Objekte sind aktiv. Eben schnell und einfach... Ich hab ja jetzt meine Lösung, trotzdem Danke, mit dem Thema Marionette werde ich mich aber jetzt auch mal mehr befassen. Grüße Flo Link zu diesem Kommentar
pappadam1984 Geschrieben 3. Mai 2019 Teilen Geschrieben 3. Mai 2019 Theoretisch ließe sich das Marionette-Network von @KroVex auch als Menübefehl einbauen, falls man es nicht nur in einer Datei haben möchte. 1 iMac (Retina 5K, 27", 2020) macOS Big Sur Prozessor: 3,8 GHz 8-Core Intel Core i7 Speicher: 40 GB 2133 MHz DDR4 Grafikkarte: AMD Radeon Pro 5700 8 GB Link zu diesem Kommentar
KroVex Geschrieben 3. Mai 2019 Teilen Geschrieben 3. Mai 2019 vor 43 Minuten schrieb fkaindl: Mir ging es aber vor allem darum das Kriterium in einem Pop Up variabel eingeben zu können. Das ginge auch, ist dann halt ein bisschen komplexer: Mit der Node "Popup Dialog" kann so etwas realisiert werden: Dieses Node verlangt als Input eine Liste an Auswahlkriterien, welche in meinem Beispiel aus String-Nodes bestehen und somit beliebig definiert werden können. Wird im Popup-Feld also z.b. Linie ausgewählt, prüft die Node "If in String" ob die Auswahl "Linie" im Input-String vorkommt und gibt dem entsprechend ein Ja oder Nein aus. Die "If-Node" leitet dann das entsprechende, vordefinierte "Objekt nach Kriterium" weiter an die Selektion, sofern ein "Ja" ankommt. Gruss KroVex 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
fkaindl Geschrieben 3. Mai 2019 Autor Teilen Geschrieben 3. Mai 2019 (bearbeitet) OK das ist cool, danke. Hier mal eins meiner manuellen Scripte die das erfüllen was ich will und die auch funktionieren, wenn ich sowas zukünftig mit Marionetten einfacher bauen kann wäre das cool: Es geht um Scheinwerfersymbole (und der Spotlightdatenbank) und auf welchen Stromverteilern diese Verkabelt sind. Es gehen in diesem Fall 2 Fenster nacheinander auf, 1. Fenster fragt nach der PlugBox (Steckbrett) 2. Fenster fragt nach dem Kanal auf diesem Steckbrett > fertig Seit ich den "Concat" Befehl zum zusammensetzen nutze funktioniert es auch prima. An Sich ist meine ursprüngliche Frage also geklärt, wenn du mir sagen kannst wie ich das als Marionette nachbauen kann wäre stark, dann kann ich damit vielleicht zukünftig weiterarbeiten, ist ja doch eingängiger mit dem grafischen scripten. Python Script: vs.DSelectAll() StringPB = vs.StrDialog("Plugbox", "") StringCH = vs.StrDialog("CH", "") criteria = vs.Concat("('Lighting Device'.'Circuit Name'='" + StringPB + "')&('Lighting Device'.'Circuit Number'='" + StringCH + "')") vs.SelectObj(criteria) Bearbeitet 3. Mai 2019 von fkaindl Link zu diesem Kommentar
fkaindl Geschrieben 3. Mai 2019 Autor Teilen Geschrieben 3. Mai 2019 Ich sehe da das Problem, dass ich dem Kriteriums Marionette Node nichts im Input aus einer anderen Node oder einem Eingabefeld übergeben kann... Link zu diesem Kommentar
davidkess Geschrieben 3. Mai 2019 Teilen Geschrieben 3. Mai 2019 vor 7 Stunden schrieb fkaindl: Falls es jemanden interessiert, Problem gelöst. Wenn jemand ein Script benötigt mit dem man z.B. alle Scheinwerfer die auf eine PB gesteckt sind oder die in einem bestimmten ID Bereich liegen schnell und einfach aktivieren kann ...einfach bei mir melden. Gruß Flo Hi Flo; klingt sehr spannend - und würde mich sehr interessieren ! Lieber Gruss David VWX Spotlight 21 / 22 jeweils neuestes SP OSX 12.2.1 / i9 2.9 GHz 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