Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 10/12/2012 at 09:36, xxxxxxxx wrote:
How would I go about forcing my MoData Array to reflect the actual cloner count? As it stands, when I change the cloner count, the Array won't update until after I click in the Object Manager, at which time, the array length comes back correct.
I've tried adding c4d.EventAdd() and also resetting my array=[], but neither has any effect.
My test:
import c4d from c4d.modules import mograph #Welcome to the world of Python
def main() : #ar = None op = doc.SearchObject('Cloner') # Get cloner reference md = mograph.GeGetMoData(op) # Get MoData on clones ar = md.GetArray(c4d.MODATA_MATRIX) # Get array of clone matrices print(str(op[c4d.MG_LINEAR_COUNT])) # Shows correct cloner count print('array length: ' + str(len(ar))) # Shows incorrect array length
Thanks,
Jim
On 10/12/2012 at 19:03, xxxxxxxx wrote:
To me it sounds like a priority issue. Either have your Expression tag object after the Cloner (lower in OM) And/or set the priority of the expression tag to late Generators (480+ somewhere)
A quick test here and it worked in real time for me.
Cheers Lennart
On 11/12/2012 at 06:36, xxxxxxxx wrote:
Oh man, I'm sorry I left this bit out. Thanks Lennart for the reply, but I'm not using a tag - my code is on the Python Generator, and I haven't been able to see a way to set any priority between it and the cloner.
I tried the function outlined here http://www.cineversity.com/wiki/Python%3A_Setting_Priorities/
But with no avail.
If you have any more advice that would be great. FYI - I'm using the Python Generator in order to get the script to run upon User Data update, which I haven't been able to do using a tag. Essentially, I haven't learned how to listen to update events yet
On 11/12/2012 at 08:07, xxxxxxxx wrote:
Py Generator is generally meant for generating objects based on internal and/or external criteria. If you're not making new objects I'd think an expression tag might be a better option, as you can set the priority for it. For Py Generator you would need to get and check various cache and dirty status of external objects. A bit more complicated in my experience.
On 11/12/2012 at 08:59, xxxxxxxx wrote:
Thanks Lennart. I am generating objects, so I'll take a look at that further.