Can anybody explain 'Routing condition' in Revit Api and how to access it?

Attached is a code to access routing preference of a pipe .I would like to know what is routing preference condition and how to access it?


# Enable Python support and load DesignScript library
import clr
import sys
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *

clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.AddReference('DSCoreNodes')
from DSCore.List import Flatten
from Autodesk.Revit.DB.Electrical import*


import sys
pyt_path = r'C:\Program Files (x86)\IronPython 2.7\Lib'
sys.path.append(pyt_path)
import System

clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument

clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *

clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)

import collections

from itertools import combinations
from itertools import product

def ToInternalUnits(number, unittype = None):
    if unittype == None:
        unittype = UnitType.UT_Length 
	currentType = doc.GetUnits().GetFormatOptions(unittype).DisplayUnits
	return UnitUtils.ConvertToInternalUnits(float(number), currentType)
	
def FindSlope(x1,y1,x2,y2):
	if x1 == x2:
		x = 0
		return x
	else:
		x = (y2 - y1) / (x2 - x1)
    	return x

# The inputs to this node will be stored as a list in the IN variables.
doc = DocumentManager.Instance.CurrentDBDocument
TransactionManager.Instance.EnsureInTransaction(doc)
AccView = doc.ActiveView
AccViewid = AccView.Id


PipeType = UnwrapElement(IN[0])

#for Pipe in Pipes:
routePrefManager = PipeType.RoutingPreferenceManager;
NumberOfRules = routePrefManager.GetNumberOfRules(RoutingPreferenceRuleGroupType.Elbows)
Rule = routePrefManager.GetRule(RoutingPreferenceRuleGroupType.Elbows,0)
Criteria = Rule.GetCriterion(0)
MinSize = Criteria.MinimumSize
MinSizeInmm = MinSize*304.8
MaxSize = Criteria.MaximumSize
MaxSizeInmm = MaxSize*304.8
if MinSizeInmm == -3.048E+32:
	x = "all"
else:
	x = "Not all"
if MaxSizeInmm == 3.048E+32:
	y = "all"
else:
	y = "Not all"

#routePrefManager.GetMEPPartId(RoutingPreferenceRuleGroupType.Elbows,Criteria)
#Rule.GetConditionAt(0)

TransactionManager.Instance.TransactionTaskDone()

# Assign your output to the OUT variable.
OUT = PipeType.GetNumberOfConditions
  1. What is the error message?

  2. Your final OUT probably needs “()” at the end since it’s a Method.