Zum Inhalt springen

Datenstempel für Volumenausgabe Vollkörper


Empfohlene Beiträge

Hallo,

bei einfachen Extrusionskörpern könntest du dir mit "#HLENGTH#*#HWIDTH#*#HHEIGHT#"
helfen, also die Variablen lassen sich mit mathematischen Operationen verknüpfen (* = x).
Theoretisch müsste das ja auch mit Fläche mal Höhe funktionieren, aber ich hab es noch nicht geschafft, dass er mir die Grundfläche des Extrusionskörpers rausgibt.

Gruß

Vectorworks Landschaft 2023 immer aktuell

Vectorworks Landschaft 2024 immer aktuell

PC: AMD Ryzen 9 3900X 12-Core Processor 3.79 GHz; AMD Radeon RX 5500 XT; 64GB Ram, Windows 10

Link zu diesem Kommentar

Das Volumen kann tatsächlich nicht direkt abgegriffen werden, wieso auch immer.

Ich habe dir ein Skript geschrieben, welches das Volumen des selektierten Objekts in eine Datenbank schreibt. Mit einem Datenstempel kannst du dann auf die DB verweisen und hast das Volumen.

Im Anhang das Dokument mit einem Skript, einem Stempel und der Datenbank.

 

Volumen in DB.vwx

1624061908_Bildschirmfoto2020-07-11um10_25_14.png.ed819ec432c09a5cafe3e8cebddf6035.png893479712_Bildschirmfoto2020-07-11um10_26_11.png.1fce449b5bb118e134e3f08bb591e136.png

if vs.FSActLayer() != None:
	h = vs.FSActLayer()
	volumen = vs.ObjVolume(h)
	vs.SetRecord(h, 'VolumenDS')
	vs.SetRField(h, 'VolumenDS', 'Volumen', volumen)
else:
	vs.AlrtDialog('Kein gültiges Objekt aktiviert')

Gruss Fabio

Volumen in DB.vwx

Bearbeitet von inderfab
  • Like 5

VWX23 SP7 | Architektur | MacOS 13.5 | M2 Max

Link zu diesem Kommentar

Weil du ebenfalls sehr freundlich warst, habe ich dir das Skript noch in ein Werkzeug verpackt. Nun kannst du das gewünschte Objekt anklicken, es setzt die Datenbank usw. und wechselt automatisch zum Datenstempel und du kannst den einsetzten. Einzige Voraussetzung ist, das die Datenbank Volumen, welche im vorherigen Post vorhanden ist, ebenfalls im Dokument ist. Also am besten in die Vorlage kopieren.

 

Volumen Datenstempel.vst

Diese Datei unter Programm-Vectorworks-Plugin speichern. VW neustarten und die Arbeitsumgebung anpassen. Tool ist unter Werkzeuge zu finden.

 

Gruss Fabio

 

Das Werkzeuglogo musst du in der Arbeitsumgebung suchen. Name des Werkzeugs ist "Volumen Datenstempel"

Werkzeuglogo.png.3620119f25f1d4e5f75325a90d74ebdd.png

  • Like 9

VWX23 SP7 | Architektur | MacOS 13.5 | M2 Max

Link zu diesem Kommentar
Am 14.7.2020 um 20:13 schrieb inderfab:

Weil du ebenfalls sehr freundlich warst, habe ich dir das Skript noch in ein Werkzeug verpackt. Nun kannst du das gewünschte Objekt anklicken, es setzt die Datenbank usw. und wechselt automatisch zum Datenstempel und du kannst den einsetzten. Einzige Voraussetzung ist, das die Datenbank Volumen, welche im vorherigen Post vorhanden ist, ebenfalls im Dokument ist. Also am besten in die Vorlage kopieren.

 

Volumen Datenstempel.vst 4 kB · 5 downloads

Diese Datei unter Programm-Vectorworks-Plugin speichern. VW neustarten und die Arbeitsumgebung anpassen. Tool ist unter Werkzeuge zu finden.

 

Gruss Fabio

 

Das Werkzeuglogo musst du in der Arbeitsumgebung suchen. Name des Werkzeugs ist "Volumen Datenstempel"

 


Hallo Fabio,

erstmal danke für das Werkzeug das du entwickelt hast.
Da ich zur Zeit Python und alles was dazu gehört lerne hat mich interessiert wie du das Problem von mail@pb gelöst hast.

Deshalb habe ich deine Datei als Referenz genommen um die funktionsweise zu verstehen um später was eigenes zu entwickeln.

Jedoch verstehe ich die Datei "vst" nicht. Wieso braucht man diese Datei und wie kann ich damit arbeiten?
Die Vectorworks "Developer" Seite ist leider wenig hilfreich und maximal verwirrend.
Vielleicht hast du oder jemand anderes hier im Forum einen Tipp wie ich am besten ins Programmieren in Vectorworks einsteigen kann?

Danke im Voraus
 

 

  • Like 1
Link zu diesem Kommentar

Die .vst-Datei ist eine Verpackung für das Script, welche Metadaten dazu enthält, z.B. Infos dazu, wie das Script ausgeführt werden soll, welches Icon das Plug-in haben soll etc.

 

Um das Script zu sehen fügst du die Datei wie beschrieben in deinen Plugin-Ordner, startest Vectorworks neu und gehst dann unter Extras - 'Plug-ins' - 'Plug-in-Manager' auf 'Eigene Plugins' und suchst nach dem Dateinamen. Mit einem Klick auf 'Code...' kannst du nun das Script einsehen.

  • Like 2

Vectorworks 2024 - Architektur - Win 10

Link zu diesem Kommentar
if vs.FSActLayer() != None: #Wenn etwas selektiert ist
  	h = vs.FSActLayer() #Handle zum erste aktiven Objekt auf der Ebene
	volumen = vs.ObjVolume(h) #Volumenmass wird variabel "volumen"
	vs.SetRecord(h, 'VolumenDS') #Datenbank zuweisen. An Objekt h die DB "VolumenDS"
	vs.SetRField(h, 'VolumenDS', 'Volumen', volumen) #Volumen in DB schreiben. An Objekt h, in die DB "VolumenDS", ins Feld "Volumen", die Variabel "volumen"
	
	vs.CallToolByName('Data Tag Tool') #Datenstempelwerkzeug aktivieren
    
else: #wenn nichts ausgewählt ist
	vs.AlrtDialog('Kein gültiges Objekt aktiviert') #Felermeldung

 

vor 3 Stunden schrieb Rumdidum:

Jedoch verstehe ich die Datei "vst" nicht.

 

Zu Beginn kannst du das Werkzeug Tool auch noch weglassen. Einfach beim Zubehörmanager unter Scripts eine neue Palette (Ordner) und darin ein neues Skript anlegen. Dann kannst du dort in VectorScript oder Phyton dein Programm schreiben. Als Test kannst du den Code oberhalb dieser Zeilen ins Feld kopieren. Wenn du nun aus dem Editor rausgehst, kannst du den Ablauf via Skriptpalette starten. Die Funktion ist genau die selbe wie jene im Werkzeug. Beim Code habe ich dir alle Zeile kommentiert zum nachvollziehen.

Das es funktioniert muss die Datenbank VolumenDS im Dokument existieren, die ist im Post zu beginn in der VWX-Datei dabei. Du könntest aber auch versuchen diese direkt im Skript zu erzeugen, dafür gäbe es einen Befehl, den du auf der Function Reference Page finden kannst. An einer Übung lernt man am schnellsten. Melde dich doch bei Fragen.

 

vor 3 Stunden schrieb Rumdidum:

Vielleicht hast du oder jemand anderes hier im Forum einen Tipp wie ich am besten ins Programmieren in Vectorworks einsteigen kann?

Ich habe vor 3 Monaten auch noch nie ein Programm geschrieben. Bin also auch nicht gerade ein Experte auf dem Gebiet und habe diesen Post gerade zum Üben genutzt. Habe mir das Buch "EINSTIEG IN PYTHON" von Thomas Theis gekauft, dieses durchgearbeitet und habe mich erst danach an VW versucht. Zumindest für die Basics gäbe es aber auch im Internet gute Anleitungen, mit denen man sicherlich auch zum Ziel kommt. Wenn man die mal verstanden hat, kommt man auch bei Vectorworks schnell rein. Da muss man sich einfach die richtigen Befehle zusammen suchen, was schnell mal mühsam wird.

 

Bearbeitet von inderfab
  • Like 3

VWX23 SP7 | Architektur | MacOS 13.5 | M2 Max

Link zu diesem Kommentar

Thomas Theis habe ich auch von VBA (für Excel) in sehr guter Erinnerung.

 

Als Einstieg ins Python von VW bin aber nicht den klassischen Weg via Python lernen und erst dann VW-PlugIns schreiben gegangen sondern habe zuerst mit Marionette begonnen.

 

Dort kannst du ohne Code zu schreiben die Prinzipien verstehen, wie programmieren funktioniert. Du gewinnst je nach Projekt, dass du gerne umsetzen möchtest auch tiefere Einblicke in die Funktionsweise von VW. Als ich irgenwann an einen Punkt gekommen bin, an dem die Default-Nodes nicht mehr weiterreichten, (Was ziemlich lange gedauert hat.) habe ich begonnen eigene Nodes zu erstellen und in meine Netzwerke einzubauen.

Erst dann habe ich mit den PlugIns begonnen. Die Befehle, die ich dazu verwende kommen meist aus einem Node und wenns dort nichts gibt aus der Function Reference.

 

So bin ich von Marionette langsam ins Python abgerutscht und habe mir die Basics dazu autodidaktisch per trial and error angeeignet. (Fragt mich nicht, wie manches mal ich einen Doppelpunkt oder so was vergessen habe. Ich zähle nicht. ?)

Wahrscheinlich hat dabei geholfen, dass ich vorher in VBA bereits Erfahrungen sammeln konnte. Ich bin aber der Meinung, dass dieser Weg auch ohne Vorkentnisse machbar sein sollte.

 

 

Diese Vorgehensweise hat den Vorteil, dass du recht intuitiv ans programmieren herankommst und natürlich in VW schnell brauchbare Ergebnisse erziehlen kannst. Ich würde mir allerdings nicht ohne weiteres zutrauen, ein Programm ausserhalb von VW zu schreiben.

Freundliche Grüsse

 

Manuel Roth

_________________________________________________
Vectorworks 2022 SP3 | Architektur | Windows 10

Link zu diesem Kommentar
Am 10.7.2020 um 20:39 schrieb mail@pb-schilling.de:

Hallo, ich möchte für Vollkörper das Volumen über einen Datenstempel ausgeben. Leider ist die Funktion "Volumen" in den Stempel-Layout-Daten (Drop-Down-Menü) nicht verfügbar. Wie kann ich das Volumen dennoch erhalten?
Ich hatte gedacht, ich könnte evtl. #VOLUME# als Funktion im Datenfeld verwenden, was allerdings nicht funktioniert.

Datenstempel1.jpg

 

 

Ziehe immer wieder meinen Hut vor den Kollegen die da ein Script programmieren können....

 

Nur zur Info

Volumen gibt es auch unter: Menü: Bearbeiten, 3D Informationen

  • Like 1

Nikolaus Fedl

VW 2024 Designer, Win 11, i9, 32GB,  www.fedl.eu; www.gartenplanung-fedl.at; www.freiraumarchitektur.at; www.schattenbild.at; www.gartenarchitekten.at

Link zu diesem Kommentar

Hallo zusammen.

 

Am 21.7.2020 um 17:15 schrieb herbieherb:

Die .vst-Datei ist eine Verpackung für das Script, welche Metadaten dazu enthält, z.B. Infos dazu, wie das Script ausgeführt werden soll, welches Icon das Plug-in haben soll etc.

 

Um das Script zu sehen fügst du die Datei wie beschrieben in deinen Plugin-Ordner, startest Vectorworks neu und gehst dann unter Extras - 'Plug-ins' - 'Plug-in-Manager' auf 'Eigene Plugins' und suchst nach dem Dateinamen. Mit einem Klick auf 'Code...' kannst du nun das Script einsehen.

Ich hab zuerst gedacht meine Frage wurde nicht richtig verstanden, da ich annahm, dass ein externes Programm zum einsehen dieser Dateien notwendig ist. Zum Glück hab ich weiterhin rumexperementiert und es schließlich verstanden :).

Danke dafür.

 

Am 21.7.2020 um 20:22 schrieb inderfab:

 

Zu Beginn kannst du das Werkzeug Tool auch noch weglassen. Einfach beim Zubehörmanager unter Scripts eine neue Palette (Ordner) und darin ein neues Skript anlegen. Dann kannst du dort in VectorScript oder Phyton dein Programm schreiben. Als Test kannst du den Code oberhalb dieser Zeilen ins Feld kopieren. Wenn du nun aus dem Editor rausgehst, kannst du den Ablauf via Skriptpalette starten. Die Funktion ist genau die selbe wie jene im Werkzeug. Beim Code habe ich dir alle Zeile kommentiert zum nachvollziehen.

Das es funktioniert muss die Datenbank VolumenDS im Dokument existieren, die ist im Post zu beginn in der VWX-Datei dabei. Du könntest aber auch versuchen diese direkt im Skript zu erzeugen, dafür gäbe es einen Befehl, den du auf der Function Reference Page finden kannst. An einer Übung lernt man am schnellsten. Melde dich doch bei Fragen.

 

Ich habe vor 3 Monaten auch noch nie ein Programm geschrieben. Bin also auch nicht gerade ein Experte auf dem Gebiet und habe diesen Post gerade zum Üben genutzt. Habe mir das Buch "EINSTIEG IN PYTHON" von Thomas Theis gekauft, dieses durchgearbeitet und habe mich erst danach an VW versucht. Zumindest für die Basics gäbe es aber auch im Internet gute Anleitungen, mit denen man sicherlich auch zum Ziel kommt. Wenn man die mal verstanden hat, kommt man auch bei Vectorworks schnell rein. Da muss man sich einfach die richtigen Befehle zusammen suchen, was schnell mal mühsam wird.

 

Danke für die ausführliche Beschreibung deiner Codezeilen. Mittlerweile hab ich schon erfolgreich einen Klon erstellt und konnte meiner Meinung nach so ziemlich alle zusammenhänge nachvollziehen .

Und genau diese ganzen Tipps habe ich auch gebraucht weil ich einfach nicht wusste wie ich meine kürzlich erworbenen Python Kenntnisse in Vectorworks einsetzen soll. Und auch diese Funktionen (Klassen) wie zb. "vs.FSActLayer"  habe ich nicht verstanden da die Beschreibungen auf der Vectorworks developer Webseite sehr knapp gehalten sind.

Es führt wohl kein weg daran vorbei einfach die ganzen Funktionen auszuprobieren ganz nach dem Motto "Try and Error".

 

Hab übrigens auch erst vor ca. 2 Monaten mit Python angefangen weil ich dadurch viel mehr Möglichkeiten sah.
Mein Buch dazu war "Python Crash course second Edition" von "Starch Press". 

Davor hatte ich eine ganz schlechte erfahrung mit dem Buch von "Python 3 von Johannes Ernesti, Peter Kaiser"

(seeehr trocken).

 

Am 21.7.2020 um 22:19 schrieb Manuel Roth:

Thomas Theis habe ich auch von VBA (für Excel) in sehr guter Erinnerung.

 

Als Einstieg ins Python von VW bin aber nicht den klassischen Weg via Python lernen und erst dann VW-PlugIns schreiben gegangen sondern habe zuerst mit Marionette begonnen.

 

Dort kannst du ohne Code zu schreiben die Prinzipien verstehen, wie programmieren funktioniert. Du gewinnst je nach Projekt, dass du gerne umsetzen möchtest auch tiefere Einblicke in die Funktionsweise von VW. Als ich irgenwann an einen Punkt gekommen bin, an dem die Default-Nodes nicht mehr weiterreichten, (Was ziemlich lange gedauert hat.) habe ich begonnen eigene Nodes zu erstellen und in meine Netzwerke einzubauen.

Erst dann habe ich mit den PlugIns begonnen. Die Befehle, die ich dazu verwende kommen meist aus einem Node und wenns dort nichts gibt aus der Function Reference.

 

So bin ich von Marionette langsam ins Python abgerutscht und habe mir die Basics dazu autodidaktisch per trial and error angeeignet. (Fragt mich nicht, wie manches mal ich einen Doppelpunkt oder so was vergessen habe. Ich zähle nicht. ?)

Wahrscheinlich hat dabei geholfen, dass ich vorher in VBA bereits Erfahrungen sammeln konnte. Ich bin aber der Meinung, dass dieser Weg auch ohne Vorkentnisse machbar sein sollte.

 

 

Diese Vorgehensweise hat den Vorteil, dass du recht intuitiv ans programmieren herankommst und natürlich in VW schnell brauchbare Ergebnisse erziehlen kannst. Ich würde mir allerdings nicht ohne weiteres zutrauen, ein Programm ausserhalb von VW zu schreiben.

Hallo Manuel,
Ja ich habe auch zuerst versucht mit Marionette einzusteigen. Jedoch hab ich mir dann gedacht ich lerne lieber gleich eine richtige Programmiersprache die ich dann auch in anderen Bereichen und Programmen nutzen kann. 

Jetzt wo ich aber Grundkenntnisse für Programmieren besitze (auch Logik fürs Programmieren)

würde ich tatsächlich wieder mit nodes rumexperimentieren wenn zeit vorhanden ist.


 

Link zu diesem Kommentar

FSActLayer: In Vectorworks sind alle Objekte in Form einer grossen Baumstruktur gespeichert. Wobei z.B. die Konstruktionsebenen Äste direkt am Stamm sind, Gruppen sind äussere Äste und einzelne Objekte noch weiter aussen, deren Datenbanken noch weiter...

Neu gezeichnete Objekte werden dann einfach an den entsprechenden Ast unten dran gehängt.

 

FSActLayer gibt dir den Handle (d.h. die Adresse des Astes) vom zuerst gezeicheten Objekt von denjenigen, die auf dem aktiven Layer und gerade selektiert sind.

Vectorworks 2024 - Architektur - Win 10

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

Hier der Stempel. Ich weiß auch nicht, warum die Funktion 'Volumen' nicht direkt unterstützt wird und man solche Verrenkungen machen muss aber ich frag das mal nach. 

 

Der Stempel hat ein eingebettetes Marionette-Objekt, was das Volumen des gestempelten Objekts erfolgreich abfragt und ausgibt. Bei Wänden und intelligenten Objekten ist der Stempel persistent, bei einfachen Solids ('Vollkörper') nicht. Nach dem Umformen ist der Stempel weg. Muss man dann neu stempeln.

 

Volume v2020.vwx

  • Like 3
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,4Tsd
    • Beiträge insgesamt
      120,1Tsd
×
×
  • Neu erstellen...