We are trying to upgrade from Softimage 7.5 to Softimage 2013 SP1 and ran into a speed bump during testing.
Our workflow for character work is to create a master character rig which contains the skeleton and body (flesh) geometry. We use separate models for clothing and other accessories which the character needs to wear. This means the clothing geometry is enveloped to deformers in the master character rig. When a clothing model is imported into a scene, if the deformers are present (e.g. master character rig is in the scene) they activate and deform as expected. If the deformers are not present, then the geometry sits still in the default rest pose as if no envelope existed. This workflow has been working for the past 5 years. When these scenes and models are imported into Softimage 2013 SP1, the envelopes stop working, and sometimes Softimage crashes. When clothing geometry is inspected in the weights editor, the deformer names are displayed as "invalid". Digging into the SDK I got some basics. For each enveloped piece of clothing geometry: X3DObject.Envelopes(0) returns valid envelope Envelope.Weights.Array returns valid envelope weight data. Envelope.Deformers throws 'invalid pointer' error, or returns an empty collection of deformers. In essence, I have the weight values and the number of deformers in the envelope, but not the names of the deformers mapped to the weight values. I need the deformer names. I have worked around the problem in Softimage 7.5 by using Envelope.GetDeformerWeights( SceneObject ) and testing with every object in the scene. I record each object which does not throw an error as well as the returned deformer weight data. The end result is a collection of deformers and envelope data to rebuild the envelope. I remove the original envelope and replace it with a new one using the accumulated data. Works well. When I try this technique in Softimage 2013 SP1, Envelope.GetDeformerWeights() throws an 'invalid argument specified' error on every object in the scene - including the true deformers of the envelope (in controlled tests). How can I determine which deformers an envelope is looking for so the envelope can be rebuilt? Matt

