v3.0
Returns the suggested minimum value (Variant) for the parameter. A parameter can
have two separate ranges: the Min/Max which defines the entire range of legal values; and the
Suggested Minimum/Suggested Maximum which defines a sub-range of the Min/Max that make the most sense.
For example, an enormous number of subdivisions may theoretically be possible on a geometry, but
for performance reasons a smaller range can be suggested to the user. The Suggested Min/Max values
are used when determining the slider ranges for controls when parameters are inspected.
This property is only valid for numeric parameters. Other variant types, for example siString
(see siVariantType) do not have the concept of Minimum or Maximum.
// get accessor Object rtn = Parameter.SuggestedMin; |
' ' This example demonstrates how the Suggested Min and Max of a parameter can ' be useful for animating a parameter. ' NewScene , false ' Set up a custom property set with some numeric values set oRoot = Application.ActiveProject.ActiveScene.Root set oPropSet = oRoot.AddProperty("Custom_parameter_list",,"TestRanges") oPropSet.AddParameter "Var1", siDouble,,siPersistable OR siAnimatable oPropSet.AddParameter "Var2", siUByte,,siPersistable OR siAnimatable oPropSet.AddParameter "Var3", siInt4,,siPersistable OR siAnimatable oPropSet.AddParameter "Comment", siString ' Animate all the parameters for each oProp in oPropSet.Parameters AnimateOverSuggestedRange oProp next InspectObj oPropSet ' This routine animates a parameter between suggested Min and suggested Max between the ' Frames 1 and 100 sub AnimateOverSuggestedRange( in_Parameter ) ' We only try to animate numeric parameters if ( in_Parameter.ValueType = siInt4 OR _ in_Parameter.ValueType = siDouble OR _ in_Parameter.ValueType = siUByte OR _ in_Parameter.ValueType = siFloat ) then SetKey in_Parameter.FullName, 1, in_Parameter.SuggestedMin SetKey in_Parameter.FullName, 100, in_Parameter.SuggestedMax end if end sub ' Expected results: 'SetKey "TestRanges.Var1", 1, 0.5 'SetKey "TestRanges.Var1", 100, 0.6 'SetKey "TestRanges.Var2", 1, 10 'SetKey "TestRanges.Var2", 100, 30 'SetKey "TestRanges.Var3", 1, -100 'SetKey "TestRanges.Var3", 100, 9999 |