v1.0
Adds a custom parameter to a custom parameter set.
SIAddCustomParameter( [InputObj], [ScriptName], [VarType], DefaultValue, [MinValue], [MaxValue], [Classification], [Capabilities], [SuggMin], [SuggMax], [ParamName], [Description] ); |
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 |
'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 |
'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" |