Selection.Clear();
var oCube = ActiveSceneRoot.AddGeometry( "Cube", "MeshSurface" );
var n = oCube.ActivePrimitive.Geometry.Points.Count
//SelectGeometryComponents(oCube.Name + ".pnt[1,3,5,LAST]");
Selection.Add( oCube.ActivePrimitive.Geometry.Points(1) );
Selection.Add( oCube.ActivePrimitive.Geometry.Points(3) );
Selection.Add( oCube.ActivePrimitive.Geometry.Points(5) );
Selection.Add( oCube.ActivePrimitive.Geometry.Points(n-1) );
var sel = XSIFactory.CreateActiveXObject("XSI.Collection");
sel.AddItems(Selection);
LogMessage( sel.Count );
// INFO : 1
LogMessage( ClassName( sel(0) ) );
// INFO : CollectionItem
LogMessage( sel(0).Value );
// INFO : cube.pnt[1,3,5,LAST]
n = sel(0).SubComponent.ComponentCollection.Count
LogMessage( sel(0).SubComponent.ComponentCollection(n-1).Index );
// INFO : 7
LogMessage( VBArray( sel(0).SubComponent.ElementArray ).toArray()[n-1] );
// INFO : 7
//LogMessage( sel(0).SubComponent.ComponentCollection );
LogMessage( VBArray( sel(0).SubComponent.ElementArray ).toArray() );
And don’t do this. You’ll have to restart Softimage to get selection working again.
var sel = XSIFactory.CreateActiveXObject("XSI.Collection");
sel.AddItems(Selection);
sel(0).Value = "cube.pnt[7]";






