Zum Inhalt springen

Marionette - keine Inputs - Ausführung abbrechen


Chritian W.

Empfohlene Beiträge

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?

2CE0B84E-77DA-424D-8F99-C0DF8CA5FB75.jpeg

Link zu diesem Kommentar

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.

image.png.1fbe2a6cbb17420e860f792785552d7b.png

 

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

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
      20,8Tsd
    • Beiträge insgesamt
      103,3Tsd
×
×
  • Neu erstellen...