Jump to content
fkaindl

Ähnliche Objekte Aktivieren mit Dialog Box für Suchkriterium?

Empfohlene Beiträge

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

Diesen Beitrag teilen


Link zum Beitrag

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

Diesen Beitrag teilen


Link zum Beitrag

Sorry nicht richtig gelesen... :-(

bearbeitet von vectorworker

Windows 7, 8.1, 10

Intel i7 8086K, Nvidia GTX 1080, 64GB Ram, SSD

SurfaceBook

Vectorworks 2019 Designer

Diesen Beitrag teilen


Link zum Beitrag
Geschrieben (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 von fkaindl

Diesen Beitrag teilen


Link zum Beitrag
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):1806473103_Bildschirmfoto2019-05-03um16_02_04.png.42551bd97021317b5ddf4e1abda47a22.png
 

 

Gruss KroVex


Have you tried to turn it off and on again?
 

Diesen Beitrag teilen


Link zum Beitrag

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

Diesen Beitrag teilen


Link zum Beitrag
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:

609867876_Bildschirmfoto2019-05-03um17_20_01.thumb.png.08a3e6108f50bac3fb12fc8e46d255e4.png

 

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


Have you tried to turn it off and on again?
 

Diesen Beitrag teilen


Link zum Beitrag
Geschrieben (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 von fkaindl

Diesen Beitrag teilen


Link zum Beitrag

Ich sehe da das Problem, dass ich dem Kriteriums Marionette Node nichts im Input aus einer anderen Node oder einem Eingabefeld übergeben kann...

Diesen Beitrag teilen


Link zum Beitrag
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 19

OSX 10.14.4 / i9 2.9 GHz 

 

Diesen Beitrag teilen


Link zum Beitrag

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...