[ORD c#]DrapeLineString是空的

我想获得某点(非顶点)到mesh面上的最短距离,根据以往的帖子我看到是利用DrapeLineString去获取CurveVector,但是我出现了以下的问题:

不知道是我的坐标传错了还是方向不对。

MeshHeaderElement meshElem = element as MeshHeaderElement;
//direction 到Mesh的垂直方向 
 DVector3d direction = new DVector3d(0,0,1);
//point
 DPoint3d dp_1 = new DPoint3d(403791699190, 36344091290);
 DPoint3d dp_3 = new DPoint3d(403791755410, 36344058670);
 
 dpList.Add(dp_1);
 dpList.Add(dp_3);
 
 //gain PolyfaceHeader
 PolyfaceHeader pfh = meshElem.GetMeshData();

 //cv is null
 CurveVector cv = pfh.DrapeLinestring(dpList, direction);

以下是获取的PolyfaceHeader: