holzronny Geschrieben 1. September 2021 Teilen Geschrieben 1. September 2021 Hallo Zusammen, ich möchte hier die Script-Experten unter Euch um Hilfe bitten bzw. fragen, ob sich so etwas überhaupt realisieren lässt. Das ist bei mir eine immer wiederkehrende Arbeit mit meist hundert und mehr Bauteilen als Vorbereitung für die CNC-Bearbeitung. Vielleicht habt Ihr ja auch eine andere Idee, wie sich das ganze weniger zeitaufwendig machen lässt. Ich würde mich über jede Hilfe freuen. 1.) Script1: Ich möchte ein 3D-Bauteil gruppieren und die Gruppe mit dem vorhandenen Bauteilnamen benennen (Feld „Name“ ganz unten in Info-Palette). Der Name des 3D-Bauteils steht in der Datenbank „Bauteil – Alle“ im Feld „Name“. Mein gewünschtes Vorgehen: Bauteil markieren und Script ausführen. Mein derzeitiges Vorgehen: Bauteil markieren, Namen aus Infopalette kopieren, gruppieren, kopierten Namen in Infopalette einfügen 2.) Script 2: Ich habe viele Konstruktionsebenen, auf denen jeweils eine benannte Gruppe liegt. Der Name von Gruppe und Konstruktionsebene stimmen überein. Ich möchte alle Konstruktionsebenen, die eine benannte Gruppe beinhalten, ins „Step“Format exportieren, wobei jede Konstruktionsebene in eine eigene Datei mit dem Namen der Konstruktionsebene exportiert werden soll. Die Step-Dateien sollten in einem Ordner liegen. Mein gewünschtes Vorgehen: Script ausführen, Alle Ebenen werden exportiert und im gewünschten Ordner gespeichert Mein derzeitiges Vorgehen: Ebenen – Nur aktive anzeigen wählen Klassen – XG Bearbeitungen … ausschalten Ebene wählen Gruppe markieren und in Infopalette unten den Namen kopieren Menü_ „ Datei_Export Step“ wählen Option „3D Körper in Einzelflächen…“ muss deaktiviert sein kopierten Namen einfügen, Speicherort wählen u. speichern Nächste Ebene wählen…… Viele Grüße Ronny Vectorworks 2021 Interiorcad, Win10 Prozessor Intel(R) Core(TM) i5-3450 CPU @ 3.10GHz, 3101 MHz, 4 Kern(e), 4 logische(r) Prozessor(en) Installierter physischer Speicher (RAM) 16,0 GB Grafikkarte NVIDIA Quadro M2000 Link zu diesem Kommentar
Manuel Roth Geschrieben 1. September 2021 Teilen Geschrieben 1. September 2021 Hallo Ronny Script 1 ist ohne Probleme mit Marionette realisierbar. Versuche einmal mit einem einfachen Bauteil. Tipp mit dem Name-Node erhälst du den Handle von einem Objekt. Dann kannst du den ganzen Prozess mit Gruppieren und den Namen einmal an einem einfachen Teil üben. Später baust du das Script aus, damit es auch an mehreren Objekten gleichzeitig funktioniert. Wenn du das ganze Script auf einmal bauen willst, wirst du dich sofort aufregen und aufgeben. Wenn du nicht mehr weiterkommst, darfst du gerne fragen. Für Script 2 hast du das Problem, dass der Export ins STEP nicht von einem Standardnode erledigt werden kann und ich von demher bezweifle, dass dies effizient zu regeln ist. Weil leider kann von Marionette (oder auch Python) kein Einfluss auf Dialogfelder genommen werden. Dies bedeutet, dass für die Generierung vom Exportfile nicht der bereits von VW programmierte Code verwendet werden kann, sondern alles selbst geschrieben werden müsste. Wird sehr komplex. Freundliche Grüsse Manuel Roth _________________________________________________ Vectorworks 2022 SP3 | Architektur | Windows 10 Link zu diesem Kommentar
holzronny Geschrieben 2. September 2021 Autor Teilen Geschrieben 2. September 2021 Hallo Manuel, Vielen Dank für Deine Antwort und angebotene Hilfe. Ich werde das mit der Marionette versuchen und fragen wenn ich nicht weiter komme. Was den Step-Export betrifft, wünschte ich es gäbe so etwas wie beim DXF-Export. Danke nochmal. Viele Grüße Ronny Vectorworks 2021 Interiorcad, Win10 Prozessor Intel(R) Core(TM) i5-3450 CPU @ 3.10GHz, 3101 MHz, 4 Kern(e), 4 logische(r) Prozessor(en) Installierter physischer Speicher (RAM) 16,0 GB Grafikkarte NVIDIA Quadro M2000 Link zu diesem Kommentar
herbieherb Geschrieben 2. September 2021 Teilen Geschrieben 2. September 2021 Den Exportdialog per Script aufrufen könnte man. Man müsste einfach jeden Export mit Enter bestätigen. Vectorworks 2024 - Architektur - Win 10 Link zu diesem Kommentar
holzronny Geschrieben 2. September 2021 Autor Teilen Geschrieben 2. September 2021 Hallo herbieherb, Vielen Dank für Deine Antwort. Müsste man das Script dann für jede Konstuktiosebene ausführen? Wenn das Script den Namen der Konstruktionsebene mit in die Zwischenablage kopieren könnte, damit ich den Dateinamen nur noch einfügen muss, dann wäre das schon eine erhebliche Zeitersparnis. Jeden Export mit Enter bestätigen würde mich nicht stören. Viele Grüße Ronny Vectorworks 2021 Interiorcad, Win10 Prozessor Intel(R) Core(TM) i5-3450 CPU @ 3.10GHz, 3101 MHz, 4 Kern(e), 4 logische(r) Prozessor(en) Installierter physischer Speicher (RAM) 16,0 GB Grafikkarte NVIDIA Quadro M2000 Link zu diesem Kommentar
holzronny Geschrieben 2. September 2021 Autor Teilen Geschrieben 2. September 2021 Hallo Manuel, Ich habe mich heute an der Marionette versucht und folgende Frage ist aufgetaucht. Wie kommt man an den Namen eines selektierten 3D-Bauteils (interiorcad), der in einer Datenbank steht? Gibt es einen Node, der mich auffordert ein Bauteil zu markieren? Viele Grüße Ronny Vectorworks 2021 Interiorcad, Win10 Prozessor Intel(R) Core(TM) i5-3450 CPU @ 3.10GHz, 3101 MHz, 4 Kern(e), 4 logische(r) Prozessor(en) Installierter physischer Speicher (RAM) 16,0 GB Grafikkarte NVIDIA Quadro M2000 Link zu diesem Kommentar
Manuel Roth Geschrieben 3. September 2021 Teilen Geschrieben 3. September 2021 Du kannst dir mit dem Object by Criteria-Node alle selektierten Objekte ausgeben lassen. Dies funktionert allerdings nur in einem Menübefehl. (was ja auch das Endziel ist). Während dem Erstellen vom Netzwerk, würde ich mit einem Name-Node ein einzelnes Objekt bearbeiten. (Bestimmt durch seinen Namen.) Sobald du mit dem Ergebnis zufrieden bist ersetzt du den Name-Node durch den Object by Criteria-Node. Zum Auslesen von Datenbanken brauchst du Get Record Field. 1 Freundliche Grüsse Manuel Roth _________________________________________________ Vectorworks 2022 SP3 | Architektur | Windows 10 Link zu diesem Kommentar
herbieherb Geschrieben 3. September 2021 Teilen Geschrieben 3. September 2021 Mit Python kann man auch Zeugs in die Zwischenablage kopieren. Das wäre kein Problem. Vectorworks 2024 - Architektur - Win 10 Link zu diesem Kommentar
holzronny Geschrieben 4. September 2021 Autor Teilen Geschrieben 4. September 2021 Hallo Manuel, danke für Deine hilfreichenTips. Ich denke den Namen des Bauteils konnte ich aus der Datenbank auslesen und es auch gruppieren, nur gelingt es mir nicht, der Gruppe den ausgelesenen Namen zuzuweisen. Auch ist mir aufgefallen, dass ich am Ende zwei Gruppen (verschachtelt) habe. Sehe ich das richtig, dass ich die Gruppe dann außerhalb der Marionette auflösen muss, um an die erstellte und benannte Gruppe heranzukommen? Ich stelle hier mal zur Kontrolle meinen ersten stümperhaften Versuch ein, um nicht zuviel falsch zu machen und würde mich über weitere Hilfe freuen. Viele Grüße Ronny Vectorworks 2021 Interiorcad, Win10 Prozessor Intel(R) Core(TM) i5-3450 CPU @ 3.10GHz, 3101 MHz, 4 Kern(e), 4 logische(r) Prozessor(en) Installierter physischer Speicher (RAM) 16,0 GB Grafikkarte NVIDIA Quadro M2000 Link zu diesem Kommentar
Manuel Roth Geschrieben 5. September 2021 Teilen Geschrieben 5. September 2021 Hallo Ronny Sieht doch schon einmal gut aus. Die Verbindung von sFldValue zum Group-Node brauchst du nicht. Du willst ja nicht den Bauteilnamen gruppieren sondern nur das Bauteil an sich. Anschliessend kannst du mit Set Name der Gruppe den Namen zuweisen. Zu den zwei Gruppen. Die Äussere wird automatisch von Marionette erzeugt, damit das Ergebins von der letzten Ausführung gelöscht werden kann und durch dasjenige von der aktuellen Ausführung ersetzt werden kann. Sie hat auch einen ganz speziellen Namen. Von demher ist dein Ergebnis korrekt. Sobald die innere Gruppe den korrekten Namen erhalten hat, kannst du dein Netzwerk in einen Wrapper umwandeln (Rechtsklick auf einen Node>Wrap Marionette Netzwerk). Daraus erzeugst du wiederum mit Rechtsklick>In Menübefehl umwandeln einen Befehl, den du anschliessend ausführen kannst. Wenn du soweit bist, kannst du dich gerne wieder melden. 1 Freundliche Grüsse Manuel Roth _________________________________________________ Vectorworks 2022 SP3 | Architektur | Windows 10 Link zu diesem Kommentar
holzronny Geschrieben 7. September 2021 Autor Teilen Geschrieben 7. September 2021 Halllo Manuel, danke für Deine Hilfe, leider muss ich schon wieder fragen. Ich habe versucht, mit dem Set Name Node der Gruppe den Namen zu geben, doch leider funktioniert das bei mir nicht. Was mache ich falsch? Viele Grüße Ronny Vectorworks 2021 Interiorcad, Win10 Prozessor Intel(R) Core(TM) i5-3450 CPU @ 3.10GHz, 3101 MHz, 4 Kern(e), 4 logische(r) Prozessor(en) Installierter physischer Speicher (RAM) 16,0 GB Grafikkarte NVIDIA Quadro M2000 Link zu diesem Kommentar
holzronny Geschrieben 7. September 2021 Autor Teilen Geschrieben 7. September 2021 Hallo Herbieherb, Danke für Deine Antwort und Hilfe. Ich bin sehr an diesem Script interessiert. Kann man das Script mit Marionette erstellen und mit welchem Node wird der Export-Dialog aufrufen? Viele Grüße Ronny Am 2.9.2021 um 10:08 schrieb herbieherb: Den Exportdialog per Script aufrufen könnte man. Man müsste einfach jeden Export mit Enter bestätigen. Am 3.9.2021 um 11:37 schrieb herbieherb: Mit Python kann man auch Zeugs in die Zwischenablage kopieren. Das wäre kein Problem. Vectorworks 2021 Interiorcad, Win10 Prozessor Intel(R) Core(TM) i5-3450 CPU @ 3.10GHz, 3101 MHz, 4 Kern(e), 4 logische(r) Prozessor(en) Installierter physischer Speicher (RAM) 16,0 GB Grafikkarte NVIDIA Quadro M2000 Link zu diesem Kommentar
Manuel Roth Geschrieben 7. September 2021 Teilen Geschrieben 7. September 2021 Hallo Ronny Dein Script oben sollte meiner Ansicht nach funktionieren. Bist du sicher, dass die innere Gruppe nicht benannt wird? In diesem Fall wird es wohl schon ein Objekt mit Namen Bauteil-1 im Dokument geben. Schaue einmal mit einer Tabelle nach. Das zweite Script wirst du nicht ohne benutzerdefinierte Nodes erstellen können. Wenn ich ein wenig Zeit habe, schaue ich es mir genauer an. 1 Freundliche Grüsse Manuel Roth _________________________________________________ Vectorworks 2022 SP3 | Architektur | Windows 10 Link zu diesem Kommentar
holzronny Geschrieben 8. September 2021 Autor Teilen Geschrieben 8. September 2021 Hallo Manuel, danke Dir, Du hast Recht, es war ein Objekt mit Namen Bautei-1 im Dokument (Ich hatte unglücklicherweise dem Bauteil den gleichen Namen gegeben, den er auch aus der Datenbank ausliest). Ich habe nun den Menübefehl erstellt und getestet, die Marionette gruppiert das selektierte Bauteil und benennt die Gruppe, soweit funktioniert das wie erhofft. Leider gibt es ein paar nicht erwünschte Dinge: Ich muss zwei Gruppen auflösen, um an die benannte Gruppe heranzukommen (lässt sich das vermeiden?) Wenn ich die nicht erwünschten Gruppen aufgelöst habe und die benannte Gruppe sehe, dann das nächste Bauteil selektiere und den Menübefehl ausführe, wird die bereits benannte Gruppe mitgruppiert (das passiert nicht, wenn ich die unerwünschten Gruppen nicht auflöse) - sehr seltsam. Ich würde die Marionette auch gern noch erweitern. Da es in meinen Zeichnungen auch bereits gruppierte 3D-Bauteile gibt, möchte ich die vorhandene Gruppe mit dem Namen des darin befindlichen 3D-Bauteils benennen. Ist es möglich, dass zusätzlich geprüft wird ob die Selektion eine Gruppe ist, die ein 3D-Bauteil beinhaltet - wenn ja, dann soll die Gruppe den Namen des 3D-Bauteils erhalten.? Viele Grüße Ronny Vectorworks 2021 Interiorcad, Win10 Prozessor Intel(R) Core(TM) i5-3450 CPU @ 3.10GHz, 3101 MHz, 4 Kern(e), 4 logische(r) Prozessor(en) Installierter physischer Speicher (RAM) 16,0 GB Grafikkarte NVIDIA Quadro M2000 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