]> OCCT Git - occt-copy.git/commitdiff
0025451: BRepFilletAPI_MakeFillet fails on customer's shape when small radius of...
authorjgv <jgv@opencascade.com>
Fri, 21 Nov 2014 10:55:11 +0000 (13:55 +0300)
committerbugmaster <bugmaster@opencascade.com>
Fri, 21 Nov 2014 10:56:37 +0000 (13:56 +0300)
Test-case for issue #25451

Update of test-cases

src/Approx/Approx_SameParameter.cxx
src/ChFi3d/ChFi3d_Builder_1.cxx
tests/bugs/modalg_5/bug25451 [new file with mode: 0644]
tests/draft/angle/J9
tests/heal/data/advanced/V3
tests/sewing/tol_100/I5
tests/sewing/tol_100/I9
tests/sewing/tol_100/J3
tests/sewing/tol_100/J4

index ce623f099c3846bea09f523bbb55ce8b470f579f..93ce3ac1bba8d9a8ec4fe03ad939089b69e6fc7e 100644 (file)
@@ -269,6 +269,14 @@ static Standard_Boolean Check(const TColStd_Array1OfReal& FlatKnots,
   Standard_Real firstborne= 3.*pc3d(1)   - 2.*pc3d(nbp);
   Standard_Real lastborne = 3.*pc3d(nbp) - 2.*pc3d(1);
   //  Modified by skv - Wed Jun  2 11:50:03 2004 OCC5898 End
+  //jgv
+  Standard_Real FirstPar = cons.FirstParameter();
+  Standard_Real LastPar  = cons.LastParameter();
+  if (firstborne < FirstPar)
+    firstborne = FirstPar;
+  if (lastborne > LastPar)
+    lastborne = LastPar;
+  /////
   for(i = 0; i <= nn; i++){
     Standard_Real t = unsurnn*i;
     Standard_Real tc3d = pc3d(1)*(1.-t) + pc3d(nbp)*t;
index d1a95eb5b58f95838950c4a04626a94545fa8aff..376b1390a005225affc71a70150380fcf072adfa 100644 (file)
@@ -80,6 +80,8 @@ Standard_Boolean isTangentFaces(const TopoDS_Edge &theEdge,
   if (BRep_Tool::Continuity( theEdge, theFace1, theFace2 ) != GeomAbs_C0)
     return Standard_True;
 
+  Standard_Real TolC0 = Max(0.001, 1.5*BRep_Tool::Tolerance(theEdge));
+
   Standard_Real aFirst;
   Standard_Real aLast;
     
@@ -120,7 +122,7 @@ Standard_Boolean isTangentFaces(const TopoDS_Edge &theEdge,
 
     LocalAnalysis_SurfaceContinuity aCont(aC2d1,  aC2d2,  aPar,
                                          aSurf1, aSurf2, GeomAbs_G1,
-                                         0.001, 0.001, 0.1, 0.1, 0.1);
+                                         0.001, TolC0, 0.1, 0.1, 0.1);
     if (!aCont.IsDone())
       {
        nbNotDone++;
diff --git a/tests/bugs/modalg_5/bug25451 b/tests/bugs/modalg_5/bug25451
new file mode 100644 (file)
index 0000000..fb14944
--- /dev/null
@@ -0,0 +1,30 @@
+puts "========"
+puts "OCC25451"
+puts "========"
+puts ""
+###########################################################################################
+# BRepFilletAPI_MakeFillet fails on customer's shape when small radius of fillet is given
+###########################################################################################
+
+smallview
+
+restore [locate_data_file DoubleVoluteTest.brep] d
+
+explode d
+
+donly d_1 d_2
+fit
+
+blend r1 d_1 0.1 d_2
+fixshape res1 r1
+
+blend r2 d_1 0.2 d_2
+fixshape res2 r2
+
+blend r3 d_1 0.9 d_2
+fixshape res3 r3
+
+blend r4 d_1 1. d_2
+fixshape res4 r4
+
+set only_screen_axo 1
index 4d745dfa267804db667e9b1d355858bfe8ba4226..65a6927123f422096938ceb0a97ea63b1da69037 100644 (file)
@@ -1,5 +1,5 @@
 #B5----------------------------------------------
-puts "TODO OCC22803 All:Faulty shapes in variables faulty_1 to faulty_2"
+puts "TODO OCC22803 All:Faulty shapes in variables faulty_"
 
 plane p 0 0 0 1 0 0
 pcone p p 15 14 20
index 40568d1282ece47c146f4f87fcb9f29b2bac312c..753730fb54f7abf352c126c2070158d3e2b98782 100644 (file)
@@ -1,5 +1,5 @@
 if {[string compare $command "SplitAngle"] == 0 } {
-  puts "TODO ?OCC23127 ALL: Faulty shapes in variables faulty_1 to faulty_61"
+  puts "TODO ?OCC23127 ALL: Faulty shapes in variables faulty_"
 }
 
 restore [locate_data_file BLENDE9699.brep] a
index a49532f8177997414a7d40ec84d27bc1a80de2e1..6bd9527c56cf78ef5b446bb0d18bbc6705f8e4c4 100644 (file)
@@ -1 +1,2 @@
 restore [locate_data_file CIN901_intcqhmi.rle] a
+set nb_f 6
index 4d94412fa673190dc7844b9768af538bbc8693a6..ba4709726bf2a82e7bd879078d17864079dfbf7b 100644 (file)
@@ -1,3 +1,3 @@
 restore [locate_data_file CIN902_intcqhmm.rle] a
 set nb_f ""
-set nbFreeEdges 10
\ No newline at end of file
+set nbFreeEdges 28
\ No newline at end of file
index 3a703f8ee09de24a628d8a04037608ac75dd4f64..ba649fa4bf8f2f19324e4e4591742169037a89d9 100644 (file)
@@ -1,3 +1,3 @@
 restore [locate_data_file CIN902_intcqhmp.rle] a
-set nb_f 4
+set nb_f 7
 set nbFreeEdges 19
\ No newline at end of file
index 7b20873b3a12920ad4f09c37504f1ea0d7264891..eae835272d0091e59081289193ebf2437e74489c 100644 (file)
@@ -1 +1,2 @@
 restore [locate_data_file CIN902_intcqhmq.rle] a
+puts "TODO ?#23150 ALL: Error : Number of faults is"