BRepAlgoAPI_Cut can not cut

I have two TopoDS_Face named cuttedFace1.brep and knifeFace1.brep.
I want to cut cuttedFace1.brep using knifeFace1.brep.
I use the tool api BRepAlgoAPI_Cut to do this.
But it does not work.

BRepAlgoAPI_Cut cutter(cuttedFace, knifeFace);
cutter.Build();
if (cutter.HasErrors() || cutter.HasWarnings())
{
    std::stringstream ss;
    cutter.DumpErrors(ss);
    SPDLOG_DEBUG("error is {}",ss.str());
    std::stringstream warningss;
    cutter.DumpWarnings(warningss);
    SPDLOG_DEBUG("warning is {}", warningss.str());
}
TopTools_ListOfShape cuttedList = cutter.Modified(cuttedFace);

Code is simple , as you see above.
I use BRepCheck_Analyzer to analyse the two faces.
I fixed cuttedFace1.brep,and knifeFace1.brep is nothing wrong.
But the result is the same as before.
I checked their tolerance , they are all 1e-7.
I want to know the reason why cuttedFace1.brep can not be cut by knifeFace1.brep.