TopoDS_Edge aLocalEdge = edgesau;
if (edgesau.Orientation() != orient)
aLocalEdge.Reverse();
- C2dint1 = BRep_Tool::CurveOnSurface(aLocalEdge,Face[0],ubid,vbid);
+ C2dint1 = BRep_Tool::CurveOnSurface(aLocalEdge, Face[0], ubid, vbid);
+
+ if (C2dint1.IsNull())
+ {
+ //std::swap(Face[0], facesau);
+ C2dint1 = BRep_Tool::CurveOnSurface(aLocalEdge, facesau, ubid, vbid);
+
+ }
}
}
else {
//// for periodic 3d curves ////
if (cad.IsPeriodic())
{
- gp_Pnt2d P2d = BRep_Tool::Parameters( Vtx, Face[0] );
+ gp_Pnt2d P2d = BRep_Tool::Parameters(Vtx, facesau);
Geom2dAPI_ProjectPointOnCurve Projector( P2d, C2dint1 );
par = Projector.LowerDistanceParameter();
Standard_Real shift = par-ParVtx;
--- /dev/null
+puts "========"
+puts "0026920: BRepBuidlerAPI_MakeFillet crash 2"
+puts "========"
+
+restore C:/WORK/opencascade/bugs/CR26920/bug26920.brep b1
+explode b1 e
+fillet result b1 0.25 b1_15
+
+checkprops result -s 1653.78
+checkshape result
+
+checknbshapes result -vertex 20 -edge 31 -wire 13 -face 13 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 80
+checkview -display result -2d -path ${imagedir}/${test_image}.png
\ No newline at end of file