Chritian W. Geschrieben 12. September 2021 Teilen Geschrieben 12. September 2021 Hallo, in dem angefügten Netzwerk (Bild) habe ich zwei Inputs. Wenn bei Input 1 ein eine Liste vorhanden ist, soll diese in das weiter führende Netzwerk geleitet werden. Wenn bei Input 1keine Wert vorhanden ist, soll Input 2 verwendet werden. Wenn bei Input 2 auch kein Wert vorhanden ist, soll die Funktion abgebrochen werden. Dies würde ich gern über die im Ergebnis stehende Liste lösen. (Anzahl Werte in der Liste = 0 dann Abbruch der Funktion). Leider gibt er mir in der aktuellen Zusammenstellung trotzdem eine Liste aus, obwohl beide Eingänge keine Werte enthalten. Was kann ich tun, dass in dem Fall keine Liste ausgegeben wird? Link zu diesem Kommentar
Manuel Roth Geschrieben 12. September 2021 Teilen Geschrieben 12. September 2021 Hallo Solche Listenbearbeitung ist mit Standardnodes zwar möglich, aber ziemlich mühsam. Ich schreibe für solche Fälle jeweils einen eigenen Node. Wenn ich dich richtig verstanden habe, sollten die Ouptups wie folgt zusammengesetzt werden. Das ist der Code dazu. Einfach in einen beliebigen Data-Flow-Node kopieren einsetzen und Freude daran haben. #MRoth @Marionette.NodeDefinition class Params(metaclass = Marionette.OrderedClass): #APPEARANCE #Name this = Marionette.Node( 'Chritian W.-Node' ) this.SetDescription( 'Node designed for the dataflowneeds of Christian W.' ) #Input Ports x1 = Marionette.PortIn( [], 'input1' ) x1.SetDescription( "input" ) x2 = Marionette.PortIn( [], 'input2' ) x2.SetDescription( "input" ) #OIP Controls #Output Ports y = Marionette.PortOut('item') y.SetDescription( "output" ) #BEHAVIOR this.SetListAbsorb() def RunNode(self): #inputs x1 = self.Params.x1.value x2 = self.Params.x2.value #script if len( x1 ) == 0: if len( x2) == 0: y = 0 self.Params.y.blocked = True else: y = x2 else: y = x1 #outputs self.Params.y.value = y Freundliche Grüsse Manuel Roth _________________________________________________ Vectorworks 2022 SP3 | Architektur | Windows 10 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