BTW: In case that you can’t read C# … the target Plane is defined as follows: origin is the MeshFace center, Point at X Axis is the first adjVertex and Point at Y Axis is the second adjVertex. Topology Vertices (and not Vertices) are used. So place - with some rational way - your source Courve at 0,0,0 because in real life and in PlaneToPlane trans the Plane.WorldXY is the from/source Plane.