Selection

Object Hierarchy | Related C++ Class: Selection

Introduced

1.0

Description

The selection object represents the global selection for the application. The user can change the global selection in the views, explorer, MCA (selection sub-panel in the main control panel), and through scripting (for example, see SelectObj, AddToSelection, RemoveFromSelection, ToggleSelection, DeselectAll, etc.).

Note: Selection provides access to its members through the Selection.Item property. Depending on what is selected, the Selection.Item property returns either the object or a CollectionItem. For example, if you select the whole sphere, the Selection.Item property returns the sphere as an X3DObject; however, if you select only a subcomponent (like an edge), it returns the edge as a CollectionItem.

Methods

Add

Clear

GetAsText

Remove

SetAsText

 

 

 

Properties

Count

Filter

Item

Examples

1. VBScript Example

'This example demonstrates how a script can find the selected vertices 
'in a selection of multiple objects.

'Set up a little scenario 

coneName = CreatePrim( "Cone", "MeshSurface" )
sphereName = CreatePrim("Sphere", "MeshSurface" )
DeselectAll

AddToSelection coneName &".pnt[4,7,10]", , True
AddToSelection sphereName &".pnt[1,2,3]", , True

'Now iterate through the selection using the OM selection object
set oSelection = Application.Selection  

for i = 0 to (oSelection.Count - 1)  

   if ( oSelection(i).Type = "pntSubComponent" ) then
       logmessage "Found the following selected vertices on " & oSelection(i).Subcomponent.Parent3DObject.Name

       'Selection of points 
       set subComponent = oSelection(i).SubComponent
       selectedIndices = subComponent.ElementArray

       for j = 0 to Ubound( selectedIndices, 1 )
          logmessage selectedIndices(j)
       next
   else
       logmessage "Nothing to do with " & oSelection(i).Name & "Type (" & oSelection(i).Type & ")"
   end if
       next  

'Output of the above script is:

'"Found the following selected vertices on cone"
'"4"
'"7"
'"10"
'"Found the following selected vertices on sphere"
'"1"
'"2"
'"3"

2. VBScript Example

'
' This example shows how to save the current selection into 
' an XSICollection object.  This can be very useful if you want 
' to remember what objects were selected before running 
' commands that might change the selection
'
' Note: Although this example sets up its own selection, you 
' could remove the SETUP section and run this example with
' your own selection instead.
'

' SETUP

NewScene , false
set arc = CreatePrim( "Arc", "NurbsCurve" )
set disc = CreatePrim( "Disc", "MeshSurface" )
CreatePrim "Cylinder", "MeshSurface"

set oSelection = Application.Selection
oSelection.Clear
oSelection.Add arc
oSelection.Add disc


' MAIN

Application.LogMessage "Current selection: " & oSelection.GetAsText()
strSelection = oSelection.GetAsText()

set oColl = CreateObject( "XSI.Collection" ) 
oColl.SetAsText strSelection 
Application.LogMessage "Contents of XSICollection: " & oColl.GetAsText


' RESULTS

'INFO : Current selection: arc,disc
'INFO : Contents of XSICollection: arc,disc


Autodesk Softimage v7.5