Notifications
Clear all

[Closed] CustAttributs on rootnode throw system exception

If I had a sure-fire way of triggering the issue, I could test in a few max versions… but odds are that it is indeed in 2008 and that your only solutions are to store the CA elsewhere or upgrade to 2009 (2010).

Hey Pete,
thanks for the information. I read a different document…

I also believe now, that my problem is that bug you mentioned. I will try to keep track whether it only crashes when the CAs got newly created. But I think that’s the case.

Thank y’all for your help.

Richard, I am not that storing the CAs elsewhere would fix the problem?! The readme doesn’t say that the bug only appears with CAs on the rootnode, but I read it as it happens for newly created Cas in general, no?

 JHN

I know you don’t want it to appear in the trackview, but I mostly use this code to add CA’s to the scene.

theScene = (refs.dependents rootNode)[1]
custAttributes.add theScene YourCA

Never had problems, but haven’t tried it in 2008, hardly used it in production.

Just a thought.
-Johan

hi johan,

so is this if you want to add CA functions that can be used on a scene level, that stay with the scene, like a persistent global? I have not used this method, always preferring to add to an object.

 JHN

I don’t see why not a CA is a CA, wherever applied. I use the scene level to assign certain data, haven’t used functions yet in that particular case, but don’t see why you can’t use it.

For example I’m building a metadata like CA in the sceneroot, just like Legie appears to be wanting, that store what the previous file was who changed the last file etc. Like a poor man’s CVS. I use that data also to have a reversed incremental save, which I call incremental push. This allows you to work with incremental numbers in your work file, but when you push the file back, it overwrites the main file (whoms file name and last version was stored in the CA). There’s numoures things I would like to store in the scene root. RPManager does the same thing.

My “philosofy”:
Scene specific data to the scene root
Object specific data to the object, preferably in a emptymodifier.
(With the exception of settings that need to be merged into other scene’s)

-Johan

I see, thanks for that. As most of my stuff is character based – I didn’t know you could store them in the scene root. thanks Johan.

Lena – sorry i had missed this fact in your first post, i took it the mean ‘baseobject’ but it does seem to be a generic CA bug, regardless of where it is placed. :hmm:

in the code, the line

 custattributes.add rootnode testdataCa

is throwing an error, i had to change to

	custattributes.add rootnode testdataCaDef

in order to see what was going on. I’m guessing this is a typo and not the error you were having an issue with!

LoneRobot: yes, just a typo, sorry about that!

Ok, I have a new version of the problem: On one machine we got the “System Exception” when the script was accessing a custom attribute on the rootnode; then I opened the exact same scene on another machine with exact the same environment (3dsMax Version etc.) and it works! What the hack…
And restarting Max did not solve the problem as it usually does. Only after a million restarts, merging the scene back and forth into new, reset-ed scenes, it finally worked at some point.
?

Page 2 / 2