Zum Inhalt springen

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


fkaindl

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

Link zu diesem Kommentar
  • 2 Monate später...

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
  • 4 Monate später...

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
Link zu diesem Kommentar
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

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

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
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

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

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
Link zu diesem Kommentar
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

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
  • Forenstatistik

    • Themen insgesamt
      23,5Tsd
    • Beiträge insgesamt
      120,8Tsd
×
×
  • Neu erstellen...