PropertyCollection.Item operator

説明

インデックスまたはキーによってコレクションのメンバを設定したり、戻したりします。コレクションが空の場合、このプロパティは"Nothing"を戻すので、エラーの捕捉に使用できます。

注:このコレクションの取得に使用したプロパティがオペレータに準拠している場合は、このプロパティはオペレータにのみ準拠します。

パラメータ

パラメータ タイプ 詳細
key StringまたはInteger コレクションのメンバの位置または名前を指定する表現。

注:コレクション項目を名前で識別するには、SIObject.Name値をキーとして使用します。ただし、ParameterCollectionで作業していない場合に限ります。Parameterとともに、Parameter.ScriptName値を使用することもできます。たとえば、oConstraints.Item("Direction Cns")は機能しますが、oConstraints.Item("dircns")は機能しません。

1. VBScript の例

' Set up the example using a mesh grid, cube, cone, and a nurbs cube:
set oRoot = activesceneroot
oRoot.addgeometry "grid", "meshsurface"
oRoot.addgeometry "cube", "meshsurface"
oRoot.addgeometry "cone", "meshsurface"
oRoot.addgeometry "cube", "nurbssurface"
set oGeoms = oRoot.findchildren( ,,siGeometryFamily)
logmessage "The collection of geometry from the root is a " & typename( oGeoms ) 
logmessage "There are " & oGeoms.count & " geometry objects under the root." 
logmessage ""
' Use error trapping ( if you get an empty collection, you will 
' see this error message: 'ERROR : "Object required: 'oCube1'" )
if typename( oGeoms ) = "Nothing" then
        logmessage "Collection is empty"
else 
        logmessage "Collection has " & oGeoms.count & " member(s)."
        for i = 0 to oGeoms.count - 1
                set oGeomItem = oGeoms.item(i)
                logmessage oGeomItem.name & " is a " & oGeomItem.type & " " & typename( oGeomItem )
                set oGeomItem = Nothing
        next
end if
' Output of above script is:
'INFO : "The collection of geometry from the root is a X3DObjectCollection"
'INFO : "There are 4 geometry objects under the root."
'INFO : ""
'INFO : "Collection has 4 member(s)."
'INFO : "grid is a polymsh X3DObject"
'INFO : "cube is a polymsh X3DObject"
'INFO : "cone is a polymsh X3DObject"
'INFO : "cube1 is a surfmsh X3DObject"

2. VBScript の例

'VBScript example
set oRoot = Application.ActiveProject.ActiveScene.Root
set oGrid = oRoot.AddGeometry("Grid","MeshSurface")
set oCluster = oGrid.ActivePrimitive.Geometry.AddCluster(siPolygonCluster, "PolygonClusterOnGrid", array(59,60,61))
for i = 0 to (oCluster.Elements.Count - 1)
        LogMessage "Element(" & i & ") = " & oCluster.Elements(i)
next