• On 05/10/2014 at 03:07, xxxxxxxx wrote:

    I have a tag plugin that works correctly if I drag the tag to an object.
    However, when I save the scene with an object with the tag on it, the next time I open this previous save scene, the userdata is not correct.
    I get the below message in the console.
    The userdata is there, I can also see it, but it is not working properly.
    It is not "recognized" by the plugin.

    class UDTest(plugins.TagData) :

    def Init(self, node) :
            print "Init........................."
            print "Init Len(ud) : ", len(node.GetUserDataContainer())
            return True
        def Execute(self, tag, doc, op, bt, priority, flags) :
            print "Execute Len(ud) : ", len(tag.GetUserDataContainer())

    if (len(tag.GetUserDataContainer()) == 0) :     #Only init userdata when there is no userdata
                bakeMessage = CreateUserDataStaticText(tag, "Message", "")
                self.BAKEMESSAGE = bakeMessage[1].id 
                clearBakeMessage = CreateUserDataBool(tag, "Clear", val=False)
                self.CLEARBAKEMESSAGE = clearBakeMessage[1].id 
                return True    
            #Clear bake message field
            if (tag[c4d.ID_USERDATA, self.CLEARBAKEMESSAGE]) :
                tag[c4d.ID_USERDATA, self.CLEARBAKEMESSAGE] = False
                tag[c4d.ID_USERDATA, self.BAKEMESSAGE] = ""
                return True
            return True
    if __name__ == "__main__":
        bmp = bitmaps.BaseBitmap()
        dir, file = os.path.split(__file__) 
        bitmapfile = os.path.join(dir, "res", "Icon.tif")
        #print bitmapfile
        result = bmp.InitWith(bitmapfile)
        if not result:
            print "Error loading bitmap!"
        okyn = plugins.RegisterTagPlugin(id=PLUGIN_ID, str="UDTest v01", info=c4d.TAG_VISIBLE|c4d.TAG_EXPRESSION, g=UDTest, description="",  icon=bmp)
        print "UDTest initialized, v01: ", okyn

Log in to reply