@Eric Thivierge
A) Thanks, I was wondering if there was something more integrated but the
script below certainly helps.
si = Application
sel = si.Selection
for i in xrange(len(sel[0].Envelopes(0).Deformers)):
print i, sel[0].Envelopes(0).Deformers[i]

B) Thanks, GEAR indeed has a lot of little utilities that I was looking for
including this one.

@Matt Lind
A) Indeed I seem to be at fault for having the order to "Type +
Alphabetical" instead of "None(creation)": http://prntscr.com/61ahpv. With
that selected the group does show in it's ID order. Thanks

B) Agreed that some of these are certainly more script oriented operations,
tweaks, that do not require non-destructibility and dynamic feedback. ICE
is comfy though... Deals with "API" details, comes with a UI almost for
free and you can see the algorithms results as you build them, certainly
not always important, but it's nice when coupled with the "display
properties" in context.
I ended up making some compounds even though I recognize they are not the
most practical.
https://vimeo.com/118719552
Thanks for the script example, I couldn't make it run as it returned an
error: http://prntscr.com/61ao2j


Thank you all I'm sorted :D

Always love when exploring programmatic solutions, be it by code or ICE, I
end up building up small algorithmic solutions that help me in other tasks
:)

Cheers




On Wed, Jan 28, 2015 at 8:08 PM, Jeremie Passerin <gerem....@gmail.com>
wrote:

> Not sure there is a tool for that in Gear, but there is some code you can
> use to write such a tool. I'm pretty sure.
>
>
> On 27 January 2015 at 13:13, Eric Thivierge <ethivie...@gmail.com> wrote:
>
>> A) mesh.Envelopes(0).Deformers should give you the object collection in
>> the proper order. You can recreate the group by using the Envelope > Select
>> Deformers and once selected, create a group.
>>
>> B) You'll have to write a script for that. Check the GEAR tools I think
>> there might be a tool in there for that.
>>
>> Eric T.
>>
>> --------------------------------------------
>> Eric Thivierge
>> http://www.ethivierge.com
>>
>> On Tue, Jan 27, 2015 at 4:07 PM, pedro santos <probi...@gmail.com> wrote:
>>
>>> A - Something that always bugged me is that I don't know a way to
>>> inspect the Order ID of and object in a Group or in an Envelope. So say I
>>> have Null_H Which in the deformers or group list shows up in 8th position
>>> (ID7) because it comes after Null_A, Null_B, etc. But that doesn't mean
>>> that when the group was made that was the selection order. So when you do a
>>> Set Envelope and select the group, again it uses the same order, even
>>> though the lists are ordered alphabetically.
>>> Now... I can do this in ICE like this... http://i.imgur.com/OIegAAA.png But
>>> feels cumbersome... :/
>>>
>>> B - How do I copy the all the weight information from one point to other
>>> points. If one has to have parts to have plain weight values that match a
>>> nearby point it's handy to sort of Constrain "Object To Cluster", but
>>> there's no Copy Paste in the Weight Editor for a single point whole info.
>>> Again, I can do it in ICE... but..
>>>
>>> Cheers
>>>
>>>
>>> --
>>>
>>>
>>>
>>>
>>> *------------------------------[image:
>>> http://i153.photobucket.com/albums/s202/animatics/probiner-sig.gif]Pedro
>>> Alpiarça dos Santos Animator  3DModeler  Illustrator >>
>>> http://probiner.x10.mx/ <http://probiner.x10.mx/>*
>>>
>>
>>
>



On Tue, Jan 27, 2015 at 11:11 PM, Matt Lind <speye...@hotmail.com> wrote:

> A - The default behavior in Softimage is to use chronological order of
> creation, not alphabetical order.  If a tool takes it's input from the
> selection list, items are processed in the order which they were selected.
>
> B - the easiest way to copy weights is to store them in a GridData object
> as a scratchpad, modify the weights values as desired, then apply the
> GridData weights back onto the envelope.  The GridData is a 2D array just
> like you see in the envelope weights editor.  Each row of the GridData is a
> point on the envelope.  Each column of the GridData represents a deformer.
> To copy the weights between points, you copy the weights from one row and
> paste onto another.
>
> // example - JScript
>
> // get reference to selected enveloped geometry
> var oObject = Selection(0);
>
> // get envelope operator from enveloped geometry
> // NOTE: should verify Object.Envelopes.Count > 0
> // before grabbing the envelope operator
> var oEnvelope = oObject.Envelopes(0).Envelope;
>
> // store weights in a temporary GridData object (2D array)
> var oWeightData = XSIFactory.CreateGridData();
> oWeightData.Data = oEnvelope.Weights.Array;
>
> // Make modifications (example, copy weights from vertex 23 to vertex 164)
> var aVertexWeightValues = oWeightData.GetRowValues( 23 ).toArray();
> oWeightData.SetRowValues( 164, aVertexWeightValues );
>
>
> // update the envelope with modified weights.
> // (this will trigger the scene graph to re-evaluate the envelope.)
> oEnvelope.Weights.Array = oWeightData.Data;
>
>
> The SDK docs show much the same in more detail.
>
> Keep in mind when you do your weight copying/pasting in ICE, it's doing it
> as an operator and persistently copying the data to maintain the
> relationship.  Whenever an input or output is modified, the ICE tree gets
> triggered to do it again and again until you freeze or delete the ICE tree.
>
> When you copy/paste weights in scripting, it's a one time operation and
> more efficient.  As you can see, it doesn't take much code.
>
>
> Matt
>
>
>
>
>
>
>
> Date: Tue, 27 Jan 2015 21:07:34 +0000
> From: pedro santos <probi...@gmail.com>
> Subject: Know the ID of an Object in an Envelope and Group? Copy
> Weights? Partial Gator?
> To: Softimage Mailing List <softimage@listproc.autodesk.com>
>
> A - Something that always bugged me is that I don't know a way to inspect
> the Order ID of and object in a Group or in an Envelope. So say I have
> Null_H Which in the deformers or group list shows up in 8th position (ID7)
> because it comes after Null_A, Null_B, etc. But that doesn't mean that when
> the group was made that was the selection order. So when you do a Set
> Envelope and select the group, again it uses the same order, even though
> the lists are ordered alphabetically.
> Now... I can do this in ICE like this... http://i.imgur.com/OIegAAA.png
>  But
> feels cumbersome... :/
>
> B - How do I copy the all the weight information from one point to other
> points. If one has to have parts to have plain weight values that match a
> nearby point it's handy to sort of Constrain "Object To Cluster", but
> there's no Copy Paste in the Weight Editor for a single point whole info.
> Again, I can do it in ICE... but..
>
> Cheers
>
>


-- 



*------------------------------[image:
http://i153.photobucket.com/albums/s202/animatics/probiner-sig.gif]Pedro
Alpiarça dos Santos Animator  3DModeler
Illustrator >>  http://probiner.x10.mx/*

Reply via email to