1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

Compare commits

...

1 Commits

Author SHA1 Message Date
mgerus
5d0249c145 26920 fix exception call in fillet(wrong choice of face) 2022-09-30 10:57:43 +03:00
2 changed files with 22 additions and 2 deletions

View File

@@ -2708,7 +2708,14 @@ void ChFi3d_Builder::PerformIntersectionAtEnd(const Standard_Integer Index)
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 {
@@ -2718,7 +2725,7 @@ void ChFi3d_Builder::PerformIntersectionAtEnd(const Standard_Integer Index)
//// 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;

View File

@@ -0,0 +1,13 @@
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