InExcludeData for tag
-
On 25/06/2017 at 10:25, xxxxxxxx wrote:
Is there anyway to get something similar to InExcludeData but for storing tag instead of object?
-
On 26/06/2017 at 03:12, xxxxxxxx wrote:
Hi,
In which context do you want to have an InExcludeData with tags? Do you want to manipulate an arbitrary InExcludeData object or one for a description parameter?
Note, an InExcludeData can store any base list element, not only objects. The documentation isn't clear.
And in a description resource file, filter the accepted base list elements with the ACCEPT/REFUSE flags.
For instance, to accept only tags use:IN_EXCLUDE PLUG_INEXCLUDE { ACCEPT { Tbase; } }
-
On 26/06/2017 at 03:19, xxxxxxxx wrote:
It would be nice to have it directly into userData.
since I build my ui from user data for some reasons instead of passing via desciption.Anyway thanks you
-
On 26/06/2017 at 05:59, xxxxxxxx wrote:
It's also possible to setup the ACCEPT settings for an InExclude user data.
This can be done via code with BaseList2D.GetUserDataContainer()/SetUserDataContainer() that retrieve/set a user data description.
The following script changes all the InExclude user data of the active object to only accept tags:import c4d def main() : if op is None: return # Loop through active object user data udList = op.GetUserDataContainer() for udID, udBC in udList: # Filter INEXCLUDE user data if udID[1].dtype == c4d.CUSTOMDATATYPE_INEXCLUDE_LIST: # Setup DESC_ACCEPT settings container accept = c4d.BaseContainer() accept.InsData(c4d.Tbase, "") # Set DESC_ACCEPT settings container udBC[c4d.DESC_ACCEPT] = accept # Set changed user data settings op.SetUserDataContainer(udID, udBC) c4d.EventAdd() if __name__=='__main__': main()
-
On 26/06/2017 at 06:27, xxxxxxxx wrote:
Nice thanks you !!
This should be written in the documentaion I guess.