Python: XSI Chain Bug?


#1

Hi,

I was wondering if anyone else has had this error occur and if anyone knows if this is an error or just maybe bad coding.

I am creating an autorig script which uses guide objects and I came into a very weird problem, sometimes my chain creation function would fail and just give an error
“# ERROR : Create2DSkeleton: error while creating skeleton”
but other times they would work, and it was all being performed by the same function.

I came to a conclusion that if you create a Chain that has 2 out of the 3 values the same it crash’s the chain creation

ie if the root is at X=0,Y=0,Z=0 and the effector will be created at X=0,Y=0,Z=1 it will crash but it the effector is at X=0,Y=0.001,Z=1 it will create the chain

I tested this and it seems to solve the problem.

has anyone else had the same error?


#2

This sounds like the same problem I have with an autorig script I created. I never figured out it might be the coordinates though, very smart, thanks. That might help working around it.

did you report it to AD support ?


#3

Nope, cant figure out how to contact the Autodesk Support, been looking all over the place, do you know there email?


#4

Anyone who has been writing tools in XSI using Python for any length of time should be aware that there are occasionally strange issues with cap sensitivity that result in some methods or properties failing to return object pointers. The frequency of these issues, however, is very low. Low enough, IMHO, that their occasional annoyance cannot overcome the benefits presented by Python over the other scripting language.

That said, I have also been writing tools in Python recently for creating IK chains and have not run into the problems you are describing. One thing you might want to check is if you are trying to create bones with a length of 0. The chain creation methods fail for this situation no matter what scripting language you are using. :slight_smile:


#5

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.