BUG : MakeFillet got a wrong shape

Bug On BRepFilletAPI_MakeFillet

In this case, when radius >= 0.5, makeFillet.IsDone() should almost be false.

but when the radius is 0.8, it returns TRUE. something strange happen.

test.stl is in attachment. Any ideas on how to avoid this?


BRepPrimAPI_MakeBox boxMaker(1, 1, 1); auto shape = boxMaker.Shape(); BRepFilletAPI_MakeFillet makeFillet(shape); for (TopExp_Explorer explorer(shape, TopAbs_EDGE); explorer.More(); explorer.Next()) { auto edge = TopoDS::Edge(explorer.Current()); makeFillet.Add(0.8, edge); } makeFillet.Build(); ASSERT_EQ(makeFillet.IsDone(), true); auto result = makeFillet.Shape(); // IMeshTools_Parameters aMeshParams; aMeshParams.Deflection = 0.01; aMeshParams.Angle = 0.5; aMeshParams.Relative = Standard_False; aMeshParams.InParallel = Standard_True; aMeshParams.MinSize = Precision::Confusion(); aMeshParams.InternalVerticesMode = Standard_True; aMeshParams.ControlSurfaceDeflection = Standard_True; BRepMesh_IncrementalMesh mesh(result, aMeshParams); mesh.Perform(); StlAPI_Writer stlApiWriter; stlApiWriter.Write(result, "test.stl");

meanwhile, the STLAPI_Writer prints

Warning: 2 faces have been skipped due to null triangulation
Attachments: