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.
' ' 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 |