I've just started looking into the cycleCheck, and this warning:
// Warning: Cycle on '<node name>' may not evaluate as expected. (Use 
'cycleCheck -e off' to disable this warning.)

This has become more important in Maya 2018 because getting transforms 
using MDGContext can now give different results than the viewport in cases 
that used to work.

If I look at a node that I know has problems, a simple 
cmds.cycleCheck(nodeName)
returns False, because I guess the cycle is somewhere in its history.
cmds.cycleCheck(nodeName, dag=True, list=True)
takes several seconds and returns an enormous number of results.

Looking through the results, the first one is a parent constraint on a 
joint. This is just how parent constraints work - the constraint outputs 
the rotation and translation to the joint, while the joint outputs its 
rotation order, joint orient, and parent inverse transform to the 
constraint. This cycle is necessary and does not cause problems.

I'm not keen to go through hundreds of fake cycles to find the real ones 
that are causing problems. In addition, I doubt the problem cycle is even 
in the list, since most joints in our rig get their transform from nodes in 
a different hierarchy via constraints (ie via DG connections, not DAG 
connections).

So my question is, is anyone aware of a script that does a better job of 
this? Something that can follow history, and ignore the places that cycles 
are expected, and only return the interesting ones? Or does anyone have a 
different approach?

-- 
You received this message because you are subscribed to the Google Groups 
"Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to python_inside_maya+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/python_inside_maya/3526bc39-5f56-4e73-a64e-182396c8a12f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to