Re: CrowdFX - can't set self.materials on actor copies mesh

2013-02-15 Thread Fabricio Chamon
thanks guys! I rebuilt the scene and started incremental saving
too...Really hard scenario to work on, I hope this will get fixed soon.

Another question: it seems really easy, but I can't get the ActorCopies ICE
materials array via script. I feel it should be a singleton(which it is),
1D Array. This js code:

oActorCopies.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials).DataArray.toArray()

returns:

This ICEAttribute doesn't refer to a 1D array: Attribute: Materials

and

oActorCopies.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials).*
DataArray2D*.toArray()

returns

ERROR : Type mismatch

any clues ?


Re: CrowdFX - can't set self.materials on actor copies mesh

2013-02-15 Thread Stephen Blair

Hi



It is a string.

// Using one of the CrowdFX sample scenes:

SelectObj(Pedestrian_Mesh.Actor_Copies, null, null);
o = Selection(0)

//o.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials).DataArray.toArray()
// WARNING : 3391 - This ICEAttribute doesn't refer to a 1D array: 
Attribute: Materials


a = o.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials)
LogMessage( a.DataType )
// INFO : 131072
http://download.autodesk.com/global/docs/softimage2013/en_us/sdkguide/si_om/siICENodeDataType.html


On 15/02/2013 3:08 PM, Fabricio Chamon wrote:
thanks guys! I rebuilt the scene and started incremental saving 
too...Really hard scenario to work on, I hope this will get fixed soon.


Another question: it seems really easy, but I can't get the 
ActorCopies ICE materials array via script. I feel it should be a 
singleton(which it is), 1D Array. This js code:


oActorCopies.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials).DataArray.toArray()

returns:

This ICEAttribute doesn't refer to a 1D array: Attribute: Materials

and

oActorCopies.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials).*DataArray2D*.toArray()

returns

ERROR : Type mismatch

any clues ?




Re: CrowdFX - can't set self.materials on actor copies mesh

2013-02-15 Thread Fabricio Chamon
...but how to access the string array (values) of this attribute?


2013/2/15 Stephen Blair stephenrbl...@gmail.com

  Hi



 It is a string.

 // Using one of the CrowdFX sample scenes:

 SelectObj(Pedestrian_Mesh.Actor_Copies, null, null);
 o = Selection(0)


 //o.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials).DataArray.toArray()
 // WARNING : 3391 - This ICEAttribute doesn't refer to a 1D array:
 Attribute: Materials

 a = o.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials)
 LogMessage( a.DataType )
 // INFO : 131072

 http://download.autodesk.com/global/docs/softimage2013/en_us/sdkguide/si_om/siICENodeDataType.html



 On 15/02/2013 3:08 PM, Fabricio Chamon wrote:

 thanks guys! I rebuilt the scene and started incremental saving
 too...Really hard scenario to work on, I hope this will get fixed soon.

  Another question: it seems really easy, but I can't get the ActorCopies
 ICE materials array via script. I feel it should be a singleton(which it
 is), 1D Array. This js code:


 oActorCopies.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials).DataArray.toArray()

  returns:

  This ICEAttribute doesn't refer to a 1D array: Attribute: Materials

  and


 oActorCopies.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials).
 *DataArray2D*.toArray()

  returns

  ERROR : Type mismatch

  any clues ?





Re: CrowdFX - can't set self.materials on actor copies mesh

2013-02-15 Thread Stephen Blair

Here's the Python way:

Application.SelectObj(Pedestrian_Mesh.Actor_Copies, None, None);
o = Application.Selection(0)

a = o.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials)
print len(a.DataArray2D)
print len(a.DataArray2D[0] )
print a.DataArray2D[0][0]
for s in a.DataArray2D[0][0]:
print s

# 1
# 1
# (u'', u'Sources.Materials.PedestrianLib.Shoes', 
u'Sources.Materials.PedestrianLib.Hair', 
u'Sources.Materials.PedestrianLib.Legs', 
u'Sources.Materials.PedestrianLib.Skin', 
u'Sources.Materials.PedestrianLib.Shirt')

# Sources.Materials.PedestrianLib.Shoes
# Sources.Materials.PedestrianLib.Hair
# Sources.Materials.PedestrianLib.Legs
# Sources.Materials.PedestrianLib.Skin
# Sources.Materials.PedestrianLib.Shirt



On 15/02/2013 3:48 PM, Fabricio Chamon wrote:

...but how to access the string array (values) of this attribute?


2013/2/15 Stephen Blair stephenrbl...@gmail.com 
mailto:stephenrbl...@gmail.com


Hi



It is a string.

// Using one of the CrowdFX sample scenes:

SelectObj(Pedestrian_Mesh.Actor_Copies, null, null);
o = Selection(0)


//o.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials).DataArray.toArray()
// WARNING : 3391 - This ICEAttribute doesn't refer to a 1D array:
Attribute: Materials

a = o.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials)
LogMessage( a.DataType )
// INFO : 131072

http://download.autodesk.com/global/docs/softimage2013/en_us/sdkguide/si_om/siICENodeDataType.html




On 15/02/2013 3:08 PM, Fabricio Chamon wrote:

thanks guys! I rebuilt the scene and started incremental saving
too...Really hard scenario to work on, I hope this will get fixed
soon.

Another question: it seems really easy, but I can't get the
ActorCopies ICE materials array via script. I feel it should be a
singleton(which it is), 1D Array. This js code:


oActorCopies.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials).DataArray.toArray()

returns:

This ICEAttribute doesn't refer to a 1D array: Attribute: Materials

and


oActorCopies.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials).*DataArray2D*.toArray()

returns

ERROR : Type mismatch

any clues ?







Re: CrowdFX - can't set self.materials on actor copies mesh

2013-02-15 Thread Stephen Blair

o = Selection(0)

a = o.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials)

x = new VBArray( a.DataArray2D ).toArray()
y = new VBArray( x[0] ).toArray()
for ( var i = 0; i  y.length; i++ )
{
LogMessage( y[i] )
}


On 15/02/2013 4:16 PM, Stephen Blair wrote:

Here's the Python way:

Application.SelectObj(Pedestrian_Mesh.Actor_Copies, None, None);
o = Application.Selection(0)

a = o.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials)
print len(a.DataArray2D)
print len(a.DataArray2D[0] )
print a.DataArray2D[0][0]
for s in a.DataArray2D[0][0]:
print s

# 1
# 1
# (u'', u'Sources.Materials.PedestrianLib.Shoes', 
u'Sources.Materials.PedestrianLib.Hair', 
u'Sources.Materials.PedestrianLib.Legs', 
u'Sources.Materials.PedestrianLib.Skin', 
u'Sources.Materials.PedestrianLib.Shirt')

# Sources.Materials.PedestrianLib.Shoes
# Sources.Materials.PedestrianLib.Hair
# Sources.Materials.PedestrianLib.Legs
# Sources.Materials.PedestrianLib.Skin
# Sources.Materials.PedestrianLib.Shirt



On 15/02/2013 3:48 PM, Fabricio Chamon wrote:

...but how to access the string array (values) of this attribute?


2013/2/15 Stephen Blair stephenrbl...@gmail.com 
mailto:stephenrbl...@gmail.com


Hi



It is a string.

// Using one of the CrowdFX sample scenes:

SelectObj(Pedestrian_Mesh.Actor_Copies, null, null);
o = Selection(0)


//o.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials).DataArray.toArray()
// WARNING : 3391 - This ICEAttribute doesn't refer to a 1D
array: Attribute: Materials

a = o.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials)
LogMessage( a.DataType )
// INFO : 131072

http://download.autodesk.com/global/docs/softimage2013/en_us/sdkguide/si_om/siICENodeDataType.html




On 15/02/2013 3:08 PM, Fabricio Chamon wrote:

thanks guys! I rebuilt the scene and started incremental saving
too...Really hard scenario to work on, I hope this will get
fixed soon.

Another question: it seems really easy, but I can't get the
ActorCopies ICE materials array via script. I feel it should be
a singleton(which it is), 1D Array. This js code:


oActorCopies.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials).DataArray.toArray()

returns:

This ICEAttribute doesn't refer to a 1D array: Attribute:
Materials

and


oActorCopies.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials).*DataArray2D*.toArray()

returns

ERROR : Type mismatch

any clues ?









Re: CrowdFX - can't set self.materials on actor copies mesh

2013-02-15 Thread Fabricio Chamon
brilliant!! thanks Stephen!


2013/2/15 Stephen Blair stephenrbl...@gmail.com

  o = Selection(0)


 a = o.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials)

 x = new VBArray( a.DataArray2D ).toArray()
 y = new VBArray( x[0] ).toArray()
 for ( var i = 0; i  y.length; i++ )
 {
 LogMessage( y[i] )

 }


 On 15/02/2013 4:16 PM, Stephen Blair wrote:

 Here's the Python way:

 Application.SelectObj(Pedestrian_Mesh.Actor_Copies, None, None);
 o = Application.Selection(0)

 a = o.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials)
 print len(a.DataArray2D)
 print len(a.DataArray2D[0] )
 print a.DataArray2D[0][0]
 for s in a.DataArray2D[0][0]:
 print s

 # 1
 # 1
 # (u'', u'Sources.Materials.PedestrianLib.Shoes',
 u'Sources.Materials.PedestrianLib.Hair',
 u'Sources.Materials.PedestrianLib.Legs',
 u'Sources.Materials.PedestrianLib.Skin',
 u'Sources.Materials.PedestrianLib.Shirt')
 # Sources.Materials.PedestrianLib.Shoes
 # Sources.Materials.PedestrianLib.Hair
 # Sources.Materials.PedestrianLib.Legs
 # Sources.Materials.PedestrianLib.Skin
 # Sources.Materials.PedestrianLib.Shirt



 On 15/02/2013 3:48 PM, Fabricio Chamon wrote:

  ...but how to access the string array (values) of this attribute?


 2013/2/15 Stephen Blair stephenrbl...@gmail.com

  Hi



 It is a string.

 // Using one of the CrowdFX sample scenes:

 SelectObj(Pedestrian_Mesh.Actor_Copies, null, null);
 o = Selection(0)


 //o.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials).DataArray.toArray()
 // WARNING : 3391 - This ICEAttribute doesn't refer to a 1D array:
 Attribute: Materials

 a = o.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials)
 LogMessage( a.DataType )
 // INFO : 131072

 http://download.autodesk.com/global/docs/softimage2013/en_us/sdkguide/si_om/siICENodeDataType.html



 On 15/02/2013 3:08 PM, Fabricio Chamon wrote:

 thanks guys! I rebuilt the scene and started incremental saving
 too...Really hard scenario to work on, I hope this will get fixed soon.

  Another question: it seems really easy, but I can't get the ActorCopies
 ICE materials array via script. I feel it should be a singleton(which it
 is), 1D Array. This js code:


 oActorCopies.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials).DataArray.toArray()

  returns:

  This ICEAttribute doesn't refer to a 1D array: Attribute: Materials

  and


 oActorCopies.ActivePrimitive.Geometry.GetICEAttributeFromName(Materials).
 *DataArray2D*.toArray()

  returns

  ERROR : Type mismatch

  any clues ?