Zum Inhalt springen

einfaches Script erstellen


josching

Frage

Geschrieben

Hallo, ich möchte ein Script erstellen, um die Klasse Hilfskonstruktionen mit der Tastenkombination Strg+H ein- und auszuschalten, oder auch andere wichtige Klassen, z.B. Decke. Gibt es eine Anleitung, wie man so ein Script erstellen kann? Es muß ja nicht gleich Marionette sein. Aus VW-Hilfe werde ich leider nicht schlau.

 

Gruß Jo

9 Antworten auf diese Frage

Empfohlene Beiträge

Geschrieben

Hallo Jo

Ich schreib dir mal eine Anleitung, macht mehr Sinn als dir einfach das Skript zu "geben". Dein Vorhaben ist simpel:

 

1. Extras-Plugin Manager einen neuen Menübefehl erstellen.

2. Befehle eintragen unter Code:

Klasse ausblenden: https://developer.vectorworks.net/index.php/VS:HideClass 

3: In den Klammern den Namen der Klasse eintragen zB. 'Decke' als String(Text) mit ' Anführungs und Schlusszeichen '

3.2 -> eventuell musst du am Ende noch den Befehl https://developer.vectorworks.net/index.php/VS:ReDrawAll einfügen, damit alles neu gezeichnet wird.

4. Den Menübefehl unter Arbeitsumgebung in irgendein Menü schieben und einen Shortcut vergeben.

Gruss Fabio

  • Like 5

VWX24 SP8 | Architektur | MacOS 13.5 | M2 Max

Geschrieben

das hat schon mal gut geklappt, danke

ich vermute mal, zum Wiedereinschalten der Klasse muß ich ein neues Script + eine andere Tastenkombi einrichten, oder?

 

Gruß Jo

Geschrieben

Mh, denke ja.https://developer.vectorworks.net/index.php/VS:ShowClass

 

Leider ist es mit Python und Vectorscript nicht möglich Programme mit Optionen zu erstellen wie zum Beispiel beim Polygon-Werkzeug zeichnen, füllen ... das geht nur mit SDK. Wenn du es umbedingt in einem Werkzeug haben möchtest, geht es nur mit Parameter und dem Einstellknopf zum umschalten. https://developer.vectorworks.net/index.php/VS:Plug-in_Parameter_Types

 

Wenn ich weiter denke kannst du es auch folgendermassen programmieren:

Beim aktivieren des Werkzeug ploppt ein Dialog auf mit Radiobuttons und du wählst ein oder ausblenden und kannst als Input den Namen der Klasse in ein Textfeld schreiben. Beim Klick auf OK verschwindet oder erscheint die gewählte Klasse.

 

Ich rate dir es zuerst mit vordefinierten Dialogen zu versuchen, Ein YNDialog und dann ein StrDialog. Dialoge selber zu bauen ist als Anfänger eher schwer. Kann dir aber gerne helfen wenn du es versuchen willst.

 

 

  • Like 1

VWX24 SP8 | Architektur | MacOS 13.5 | M2 Max

Geschrieben

Hallo Jo

 

Eigentlich teile ich nicht so gerne fertige Skripte um den Lerneffekt nicht zu zerstören, aber bei diesem juckt es mich in den Fingern. Ich finde es einfach zu genial, um es bei dieser Gelegenheit ungeteilt zu lassen.

 

Hilfskonstruktionen.vsm

 

Auch mein Menübefehl ging davon aus, dass ich gerne einen Shortcut hätte, der die Hilfskonstruktionen ein- bzw. ausblendet.

 

Ich habe ihn allerdings noch ein wenig erweitert, so dass er mit selektierten Objekten interagiert. Von demher macht es ein wenig mehr, als du gerne hättest.

 

Hier das Verhalten bei aktiven Objekten.

-   Alle aktive Objekte sind Ansichtsbereiche:

    Die Sichbarkeit der Klasse wird in jedem Ansichtsbereich separat invertiert.

-   Es sind irgendwelche Objekte aktivert. (Auch Ansichtsbereiche in Kombination mit sonstigen Objekten)

    Hier gibt es zwei Unterfälle

    -   Hilfskonstrutkionen sind sichtbar.

        Die Objekte wird die Klasse Hilfskonstruktion zugewiesen.

    -   Hilfskonstrutkionen sind unsichtbar.

        Die Klasse wird auf sichtbar gestellt.

-   Alle aktiven Objekte liegen bereits in der Hilfskonstruktionsklasse.

    Die Klasse wird auf unsichtbar gestellt.

 

Ohne aktive Objekte verhält es sich in jedem Fall so, wie von dir beschrieben. Angegraute Klassen werden als sichtbar gewertet.

 

Kling kompliziert, hat sich in der Nutzung aber absolut bewährt.

 

Zur Installation kopierst du die Datei einfach in den Plug-In Ordner in deinem Benutzerordner und fügst den Befehl in deine Arbeitsumgebung ein.

 

Für einige der Teile gibt es übrigen irgendwo schon vordefinierte Befehle, denen einfach noch ein Shortcut zugewiesen werden könnte. Sind halt einfach mehrere Befehle und ganz alles ist auch nicht vorhanden.

  • Like 5

Freundliche Grüsse

 

Manuel Roth

_________________________________________________
Vectorworks 2022 SP3 | Architektur | Windows 10

Geschrieben
vor 15 Stunden schrieb josching:

um Wiedereinschalten der Klasse muß ich ein neues Script + eine andere Tastenkombi einrichten, oder?

 

Oder sowas in der Richtung. Schaltet alternierend ein und aus.

className = 'Hilfskonstruktionen'

if vs.GetCVis(className) == -1: #unsichtbar
    vs.ShowClass(className)
else:
    vs.HideClass(className)

 

  • Like 3

Macbook m3 Max 48 GB | Ryzen 3950x 64GB NVIDIA rtx3090

Geschrieben (bearbeitet)

Ist im Grundsatz auch oben vorhanden. Halt einfach, mit ein bisschen drum und darn, aber wenn nichts selektiert ist, verhält es sich genau so.

Bearbeitet von Manuel Roth
  • Like 2

Freundliche Grüsse

 

Manuel Roth

_________________________________________________
Vectorworks 2022 SP3 | Architektur | Windows 10

Geschrieben

Hallo Manuel,

 

sehr gutes Skript!

Ist es Möglich ein solches Skript als Werkzeugbefehl mit SDK zu schreiben bei dem dann je nach Klassensichtbarkeit sich das Icon verändert?

SG

Geschrieben

Hallo

 

Möglich wahrscheinlich schon, sinnvoll eher nicht und wissen wie sowieso nicht.

 

Müsstest dich dazu ans englische Forum melden, da dir hier abgessehen von @Oliver Daus und eventuell @Nicolas Goutte wahrscheinlich niemand helfen kann.

Freundliche Grüsse

 

Manuel Roth

_________________________________________________
Vectorworks 2022 SP3 | Architektur | Windows 10

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
      27Tsd
    • Beiträge insgesamt
      140,4Tsd
×
×
  • Neu erstellen...