Be aware when you obtain parameter values using python via API methods. It will return internal units if you do not convert the values:
From the example parameter, we can obtain the numeric value as a double or as a string representation:
String representation:
import clr
#Import the Revit API
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *
pipe = UnwrapElement(IN[0])
x = pipe.get_Parameter(BuiltInParameter.RBS_PIPE_OUTER_DIAMETER).AsValueString()
OUT = x
Numeric value:
import clr
#Import the Revit API
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *
pipe = UnwrapElement(IN[0])
x = pipe.get_Parameter(BuiltInParameter.RBS_PIPE_OUTER_DIAMETER).AsDouble()
OUT = x
You can see from the image above, that the AsDouble value is Revit internal units (imperial) but since I am working with the metric system, I need to convert the value if I obtain the value via the API:
import clr
#Import the Revit API
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *
pipe = UnwrapElement(IN[0])
x = UnitUtils.ConvertFromInternalUnits(pipe.get_Parameter(BuiltInParameter.RBS_PIPE_OUTER_DIAMETER).AsDouble(), DisplayUnitType.DUT_MILLIMETERS)
OUT = x