per Xpresso checken ob ein Link in den userdaten befüllt wurde

kharn

Erfahrenes Mitglied
Ich hab bei UserData ein Feld für einen Link hinzugefügt und würde jetzt gerne per Xpresso checken lassen ob da auch eine Textur reingeladen wurde oder ob das Feld noch leer ist, geht das überhaupt?



Grüße
Ralf
 
Wenn du den Link weiterleitest wird diese weiterleitung nicht erfolgen bis der Link nicht NULL ist.
Wenn du den Typ des Links check willst, musst du das mit Python oder Coffee machen.

Beide Nodes mit jeweils einen Link In und einen Link Output. ("LinkIn" & "LinkOut")

C++:
// coffee variant

def main() {
    // make sure LinkIn is not NULL
    if (LinkIn) {

         // make sure LinkIn is a Tag
        if (instanceof(LinkIn, BaseTag)) {

            // make sure LinkIn is a texturetag
            if(LinkIn->GetType() == Ttexture) {
                LinkOut = LinkIn;
                return;
            }

        }

    }
    LinkOut = nil;
}


Python:
# python variant

import c4d

def main():
    global LinkOut

    if isinstance(LinkIn, c4d.BaseTag):
        if LinkIn.CheckType(c4d.Ttexture):
            LinkOut = LinkIn
            return

    LinkOut = None
 
Zuletzt bearbeitet:
hola,

wie nux meint ist Coffee oder eben Phyton die eleganteste und einfachste Lösung. Hier aber noch ein Xpressoansatz. Funktioniert in der Form nicht, wenn das Userdata-Träger_Objekt den selben Namen hat wie das Objekt, das im User_Link steht, beziehungsweise wenn das Träger_Objekt selbst im Link steht. Wichtig noch: der selektierte Node ist ein Objekt-Node (NeuerNode/Xpresso/Allgemein/Objekt).

Nimm aber besser Coffee oder Phyton.

Grüße
Rown
 

Anhänge

  • userdata_check_Xpresso.jpg
    userdata_check_Xpresso.jpg
    276,9 KB · Aufrufe: 13
Danke euch beiden, nu klappts :)

Hab noch nix mit Python probiert, dehalb hab ichs erstmal mit Rowns Ansatz umgesetzt, aber das wär ja mal ne gute Gelegenheit mit Python anzufangen ....
 
Hab ich mir schon gedacht dass du kein Python oder Coffee kannst, darum steht da auch der benötigte Code, nix zu lernen. ;)
Trotzdem, sich damit auseinander zu setzen hat eigentlich nur gutes.. Viele Berechnungen mit XPresso benötigen viele Nodes die man in einem simplen kleinen Pythontag zusammenfassen könnte.

Cheers,
 

Neue Beiträge

Zurück