'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' '' '' http://ofthiswearesure.com/rhino '' '' (c) bryan boyer 2007, of this we are sure '' this script comes with no guarantee and '' barely any help. be smart, save you work, '' sleep regularly, tip your waiter, and '' clean up your own mess. '' '' doubleDistanceCalc does what rhino should '' do out of the box. it returns your dimensions '' in both metric and imperial. go global! '' add an alias to this script with the command '' di to really speed up your workflow. '' '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' Dim strDivider, dblDistance, dblMeterInFeet, strUnitSystem dblMeterInFeet = 3.2808399 strDivider = "#" dblDistance = Rhino.GetDistance() If Not IsNull(dblDistance) Then ' Figure out what unit system we're using ''''''''''''''''''''''''''''''''''''''' select case Rhino.UnitSystem case 2 ' millimeters If Round(dblDistance/100,3) < (dblMeterInFeet * 1.5) Then ' less than 18 inches. also show inches measurement strUnitSystem = Round(dblDistance,3) & " millimeters " & strDivider & " " & Round(dblDistance/100 * dblMeterInFeet/10 *12,3) & " inches " & strDivider & " " & Round(dblDistance/100 * dblMeterInFeet/10,3) & " feet" Else strUnitSystem = Round(dblDistance,3) & " millimeters " & strDivider & " " & Round(dblDistance/100 * dblMeterInFeet/10,3) & " feet" End If Rhino.Print(strUnitSystem) case 3 ' centimeters If Round(dblDistance/10,3) < (dblMeterInFeet * 1.5) Then ' less than 18 inches. also show inches measurement strUnitSystem = Round(dblDistance,3) & " centimeters " & strDivider & " " & Round(dblDistance/10 * dblMeterInFeet/10 *12,3) & " inches " & strDivider & " " & Round(dblDistance/10 * dblMeterInFeet/10,3) & " feet" Else strUnitSystem = Round(dblDistance,3) & " centimeters " & strDivider & " " & Round(dblDistance/10 * dblMeterInFeet/10,3) & " feet" End If Rhino.Print(strUnitSystem) case 4 ' meters If Round(dblDistance,3) < (dblMeterInFeet * 1.5) Then ' less than 18 inches. also show inches measurement strUnitSystem = Round(dblDistance,3) & " meters " & strDivider & " " & Round(dblDistance * dblMeterInFeet *12,3) & " inches " & strDivider & " " & Round(dblDistance * dblMeterInFeet,3) & " feet" Else strUnitSystem = Round(dblDistance,3) & " meters " & strDivider & " " & Round(dblDistance * dblMeterInFeet,3) & " feet" End If Rhino.Print(strUnitSystem) case 8 Rhino.Print("Naw. I'm too lazy to do that math. Try working with your units set to feet or meters.") case 9 ' feet If strUnitSystem < 18 Then strUnitSystem = Round(dblDistance,3) * 12 & " inches " & strDivider & " " & Round(dblDistance,3) & " feet " & strDivider & " " & Round(dblDistance * (1/dblMeterInFeet),3) & " meters" Else strUnitSystem = Round(dblDistance,3) & " feet " & strDivider & " " & Round(dblDistance * (1/dblMeterInFeet),3) & " meters" End If Rhino.Print(strUnitSystem) case Else strUnitSystem = Round(dblDistance,3) & " " & Rhino.UnitSystemName(False, False, True) Rhino.Print(strUnitSystem) end Select End If '0 No unit system '1 Microns (1.0e-6 meters) '2 Millimeters (1.0e-3 meters) '3 Centimeters (1.0e-2 meters) '4 Meters ' 5 Kilometers (1.0e+3 meters) ' 6 Microinches (1.0e-6 inches) ' 7 Mils (1.0e-3 inches) ' 8 Inches (0.0254 meters) ' 9 Feet (12 inches) ' 10 Miles (63,360 inches)