Hello, follow this link you will have the answers to your questions
a try
import clr
import sys
import System
from System.Collections.Generic import List,IList
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *
doc = DocumentManager.Instance.CurrentDBDocument
#######OK NOW YOU CAN CODE########
elem1=UnwrapElement(IN[0])
elem2=UnwrapElement(IN[1])
a=elem1.Location.Curve
b=elem2.Location.Curve
outrefClosest = clr.Reference[IList[ClosestPointsPairBetweenTwoCurves]](List[ClosestPointsPairBetweenTwoCurves]())
res=ClosestPointsPairBetweenTwoCurves()
lst=IList[ClosestPointsPairBetweenTwoCurves]
#c=a.ComputeClosestPoints(b,True,True,True,lst)
d=a.ComputeClosestPoints(b,True,True,True,outrefClosest)
closestPt=outrefClosest.Value[0]
distance=0.3048*closestPt.Distance
Pt_curv1=closestPt.XYZPointOnFirstCurve.ToPoint()
OUT =type(lst),type(outrefClosest),closestPt,distance,Pt_curv1
I tried in CPython with no success.
cordially
christian.stan