Blender Python: Default Property Type

by Robert   Last Updated September 11, 2019 17:15 PM

Short version: Is there a way to specify the default property type of enum flags or bit-flags in the propertyGroup.get() function?

Long version:

When a property of a property group is first accessed without being initialized, such as value = self.Variable or value = self["Variable"], the environment complains that it doesn't exist. So I've been using self.get( "Variable", 0 ) when I'm not sure if the property has been set yet, and this seems to be working.

However, in my current situation, I am trying to retrieve a custom enum flag property and test it against another one with operator &, and the environment keeps complaining about the uninitialized property being an int (because I'm sending 0 as the default). Personally, I don't understand why it won't accept int as an input, but I'm trying to convert the default value into a flags type.

I believe I can use certain operators inside of get to instruct it to provide a specific type, such as self.get("x",[]) for lists, or self.get("x",()) for tuples, or self.get("x",{}) for dictionaries. If this is true, how would I instruct the function to give me an enum flag variable? Is this possible?

And is this even the correct way to deal with properties? Maybe I am going about it the wrong way? Perhaps there is some way to access them to avoid the need for get() altogether?

Related Questions

Updated March 29, 2018 14:15 PM

Updated April 03, 2018 15:15 PM

Updated September 09, 2019 13:15 PM

Updated September 11, 2019 02:15 AM

Updated September 11, 2019 15:15 PM