SIAddCustomParameter

Introduced

v1.0

Description

Adds a custom parameter to a custom parameter set.

Scripting Syntax

SIAddCustomParameter( [InputObj], [ScriptName], [VarType], DefaultValue, [MinValue], [MaxValue], [Classification], [Capabilities], [SuggMin], [SuggMax], [ParamName], [Description] );

Parameters

Parameter Type Description
InputObj String List of custom parameter sets

Default Value: Current selection

ScriptName String Script name of the custom parameter to be added. This is normally a short name, like "rotx". A script name cannot have spaces in it.

Default Value: "ParamName"

VarType siVariantType Type of the parameter

Default Value: siDouble

DefaultValue Variant Default parameter value
MinValue Double minimum value of the parameter

Default Value: 0.0

MaxValue Double maximum value of the parameter

Default Value: 1.0

Classification siParamClassification Determines the classification of the parameter (gives Softimage some hint about the purpose of the Parameter--see the siParamClassification enum for more details)

Default Value: siClassifUnknown

Capabilities siCapabilities Determines the capabilities of the parameter (see the siCapabilities enum for more details)

Default Value: 5 (siAnimatable + siPersistable)

SuggMin Double Suggested minimum value of the parameter (for UI controls)

Default Value: MinValue

SuggMax Double Suggested maximum value of the parameter (for UI controls)

Default Value: MaxValue

ParamName String A name for the parameter that can be more descriptive than the script name. For example "Rotation X" instead of "rotx".
Description String Description of the parameter

Examples

1. VBScript Example

'Example showing you a custom pset can be used, in conjunction with the

'InspectObj command to collect information from a user

dim oCustomProperty

dim nbJoints, useCns

'Create a temporary custom property (it is not part of the scene)

Set oPreset = CreatePreset( "CustomProperty", "Properties" )

Set oCustomProperty = CreateObjectFromPreset(oPreset, "Chain_From_Curve" )

'Add parameters to the custom property

SIAddCustomParameter oCustomProperty , _

	"nbJoints", siInt2, 10, 1, 1000, 8, 16, 1, 100, "Bones", "Number of Bones"

SIAddCustomParameter oCustomProperty , _

	"useCns", siBool, FALSE, , , 8, 16, , , "Constrain", "Constrain Chain to Curve"

' Launch the ppg in modal mode, wait for Ok or Cancel to be pressed

On Error Resume Next

InspectObj  oCustomProperty ,,,4

' If the user Clicked Ok, get the values entered in the ppg

if Err.Number = 0 then

	'Get the dialog values

	nbJoints = GetValue( oCustomProperty & ".nbJoints" )

	useCns = GetValue( oCustomProperty & ".useCns" )

	'At this point you could launch a custom command

	'using nbJoints and useCns as 

else

	' Put your cancel code here

end if

2. VBScript Example

'Example demonstrating how the arguments to SIAddCustomParameter

'are exposed in the Object Model

dim oCustomProperties, oCustomProperty, oParam

SIAddProp "Custom_parameter_list", ActiveSceneRoot , , "DemoProp", oCustomProperties

'We only created a single custom property because we only 

'passed a single object (ActiveSceneRoot) to SIAddProp

set oCustomProperty = oCustomProperties.Item(0)

SIAddCustomParameter oCustomProperty , _

	"nbJoints", siInt4, 10, 1, 1000, 8, 16, 1, 100, "Bones"

set oParam = oCustomProperty.Parameters( "nbJoints" )

logmessage "Parameter Name: " & oParam.Name

logmessage "Parameter Script Name: " & oParam.ScriptName

logmessage "Parameter ValueType: " & oParam.ValueType

logmessage "Parameter Default: " & oParam.Default

logmessage "Parameter Min/Max: " & oParam.Min & "/" & oParam.Max

logmessage "Parameter UI Min/Max: " & oParam.SuggestedMin & "/" & oParam.SuggestedMax

'Output of running this script:

'INFO : "Parameter Name: Bones"

'INFO : "Parameter Script Name: nbJoints"

'INFO : "Parameter ValueType: 3"

'INFO : "Parameter Default: 10"

'INFO : "Parameter Min/Max: 1/1000"

'INFO : "Parameter UI Min/Max: 1/100"

See Also

SIAddCustomParam CustomProperty.AddParameter Parameter