## AddExposedParamToICECompoundNode

### Introduced

v7.0

### Description

Adds an exposed Parameter to the ICECompoundNode and returns a new port as an ICENodeInputPort or ICENodeOutputPort object.

### Scripting Syntax

    oReturn = AddExposedParamToICECompoundNode( Parameter, Compound, [ExistingPort], [Name] );

### Return Value

New ICENodeInputPort or ICENodeOutputPort object.

### Parameters

Parameter | Type | Description
--- | --- | ---
Parameter | String | Parameter to add.
Compound | String | ICECompoundNode target for the exposed parameter.
ExistingPort | String | Port that is already exposed.
Name | String | Name for the parameter. Default Value: ""

### Examples

#### Python Example

    #
    # Basic example to demonstrate how to use AddExposedParamToICECompoundNode.
    #
    from siutils import *
    si = si()
    si.NewScene("", False)
    si.CreatePrim("Cone", "MeshSurface", "", "")
    si.ApplyOp("ICETree", "cone", "siNode", C.siPersistentOperation, "", 0)
    si.AddICENode("ScalarNode", "cone.polymsh.ICETree")
    si.AddICECompoundNode("Pi", "cone.polymsh.ICETree")
    si.CreateICECompoundNode("cone.polymsh.ICETree.Pi,cone.polymsh.ICETree.ScalarNode", "")
    port = si.AddExposedParamToICECompoundNode("cone.polymsh.ICETree.CompoundNode.ScalarNode.result", "cone.polymsh.ICETree.CompoundNode", "", "Scalar Result" )
    logf( '%s: %s', si.ClassName( port ), port )
    # INFO : ICENodeOutputPort: cone.polymsh.ICETree.CompoundNode.Scalar_Result
    port = si.AddExposedParamToICECompoundNode("cone.polymsh.ICETree.CompoundNode.Pi.Result", "cone.polymsh.ICETree.CompoundNode", "", "Pi Result" )
    logf( '%s: %s', si.ClassName( port ), port )
    # INFO : ICENodeOutputPort: cone.polymsh.ICETree.CompoundNode.Pi_Result
    port = si.AddExposedParamToICECompoundNode("cone.polymsh.ICETree.CompoundNode.Pi.ScalarNode.value", "cone.polymsh.ICETree.CompoundNode.Pi", "", "Pi Scalar" )
    logf( '%s: %s', si.ClassName( port ), port )
    # INFO : ICENodeInputPort: cone.polymsh.ICETree.CompoundNode.Pi.Pi_Scalar

### See Also

AddAttributeToSetDataICENode AddICECompoundNode AddICENode AddNodeToICECompoundNode CleanDisconnectedICENodes ConnectICENodes CreateICECompoundNode DisconnectICENodePort EditExposedParamInICECompoundNode EditICECompoundPPGLogic EditICECompoundProperties ExplodeICECompoundNode GetICECompoundPortProperties GetICECompoundProperties RemoveAttributeFromSetDataICENode RemoveExposedParamFromICECompoundNode RemoveNodeFromICECompoundNode ICECompoundNode.ExposedPorts