A question about Approx_Curve3d and GeomFill_BSplineCurves

Hello everyone, I am a beginner in OPENCASCADE and I am currently facing a problem. I imported two contour lines (TopoDS_Shape) from an IGES file, and I want to draw a face based on these two contour lines. The imported contour lines are shown in Figure 1(p1), and I want to create the same effect as Figure 2(p2). However, now I am approximating the curve using Approx_Curve3d and using GeomFill_BSplineCurves to create a surface. The effect is not very good, resulting in extra faces, as shown in Figure 3(p3). May I ask if there is any method to solve this problem? If you can help me, I would be very grateful.

Attachments: