RenamePropAndReb ind

Introduced

3.5

Description

Renames a property and ensures that all references to the property are maintained. For example, while renaming a UV property, the command updates every reference to the property in every shader, rendermap, texturemap and material of the object, so that the reference still points to the same property.

Scripting Syntax

    RenamePropAndRebind( [Properties], NewName, [UpdateRefs], [UpdateWildcards] )

Parameters

Parameter | Type | Description
Properties | Property | Property to rename Default Value: Current selection
NewName [in/out] | String | New name for the property Default Value: If not specified, a new name is automatically created for this property.
UpdateRefs [in/out] | Boolean | True to update references to the property in shaders, materials, rendermaps etc. Default Value: true
UpdateWildcards [in/out] | Boolean | True to update references containing wildcards (e.g. uvprop*) Default Value: false

Examples

VBScript Example

    '-------------------------------------------------------------------------------
    '
    ' This example demonstrates how to rename a texture map when it is applied to a
    ' whole group (consisting of two spheres).
    '

    NewScene , false

    ' Create the smaller ball
    Set oBall_1 = ActiveSceneRoot.AddGeometry( "Sphere", "MeshSurface", "smBall" )
    oBall_1.radius.Value = 2

    ' Create the larger ball
    Set oBall_2 = ActiveSceneRoot.AddGeometry( "Sphere", "MeshSurface", "lgBall" )
    oBall_2.radius.Value = 3

    ' Create a group based on the selection (the two balls)
    Selection.Clear
    For Each mbr In ActiveSceneRoot.Children.Filter( , siMeshFamily )
       LogMessage "Adding " & mbr & " to the selection."
       Selection.Add mbr
    Next
    Set oGroup = ActiveSceneRoot.AddGroup( Selection, "Onion" )

    ' Now create a texture map for the whole group (notice that we don't need to
    ' specify input objects because we are using the current selection)
    Set oMapMembers = Create2DMapWithProjection( oGroup )

    ' Are these the same members as our selection?
    LogMessage "The texture map was added to " & oMapMembers.GetAsText & "......."

    ' Find all texture maps in the scene
    checkForMaps

    ' Rename the texture map
    RenamePropAndRebind oGroup.Properties( "Texture_Map" ), "Superciliousness", True

    ' Check to make sure we renamed all texture maps in the scene
    checkForMaps

    '-------------------------------------------------------------------------------
    function checkForMaps()
       For Each mesh_item In ActiveSceneRoot.Children.Filter( , siMeshFamily )
           For Each prop in mesh_item.Properties
              If (prop.Name = "Superciliousness") _
              OR (prop.name = "Texture_Map") Then
                  LogMessage "Found " & prop.Name _
                     & " under " & mesh_item.Name
              End If
           Next
       Next
    end function

    '-------------------------------------------------------------------------------
    ' Output of above script:
    'INFO : "Adding smBall to the selection."
    'INFO : "Adding lgBall to the selection."
    '
    'INFO : "The texture map was added to Onion.Texture_Map......."
    '
    'INFO : "Found Texture_Map under smBall"
    'INFO : "Found Texture_Map under lgBall"
    '
    'INFO : "Found Superciliousness under smBall"
    'INFO : "Found Superciliousness under lgBall"

Autodesk Softimage v7.5