]> OCCT Git - occt.git/commitdiff
0032811: Bad result of sweep operation due to Surface Surface Intersect Bug CR32811
authorgelin <gelin@qunhemail.com>
Sat, 29 Jan 2022 12:08:52 +0000 (20:08 +0800)
committergelin <gelin@qunhemail.com>
Sat, 29 Jan 2022 12:08:52 +0000 (20:08 +0800)
src/IntTools/IntTools_FaceFace.cxx
src/IntTools/IntTools_TopolTool.cxx
tests/pipe/bugs/bug32811 [new file with mode: 0644]

index 181d9d47a572aa52abfedd9807acaa2f4a4b3d45..7d37454e93a0d4f6de42b20da301a84d490f7d90 100644 (file)
@@ -504,6 +504,7 @@ void IntTools_FaceFace::Perform (const TopoDS_Face& aF1,
 
   {
     const Standard_Real UVMaxStep = IntPatch_Intersection::DefineUVMaxStep(myHS1, dom1, myHS2, dom2);
+       // TODO: bug32811 Deflection change to 0.01 can work
     const Standard_Real Deflection = 0.1;
     myIntersector.SetTolerances(TolArc, TolTang, UVMaxStep, Deflection); 
   }
index ca5c30a0a3a773a0963ab2a8d0efc4a648110034..7bbe6b734acaccea8e13dd2dc3b2e1a7b1657a8a 100644 (file)
@@ -448,5 +448,5 @@ void IntTools_TopolTool::SamplePnts(const Standard_Real theDefl,
   myV0 = myVPars->Value(1);
 
   myDU = (myUPars->Value(myNbSmplU) - myU0)/(myNbSmplU-1);  
-  myDV = (myVPars->Value(myNbSmplV) - myU0)/(myNbSmplV-1);
+  myDV = (myVPars->Value(myNbSmplV) - myV0)/(myNbSmplV-1);
 }
diff --git a/tests/pipe/bugs/bug32811 b/tests/pipe/bugs/bug32811
new file mode 100644 (file)
index 0000000..8c19043
--- /dev/null
@@ -0,0 +1,16 @@
+puts "TODO ? Surface Surface Intersect Lost One Intersect Curve"
+puts "0032811: Bad result of sweep operation due to Surface Surface Intersect Bug"
+puts "========"
+puts ""
+
+restore [locate_data_file CR32811_path.brep] p
+restore [locate_data_file CR32811_profile.brep] pr
+
+mksweep p
+setsweep -CF
+addsweep pr
+
+buildsweep result -C -S
+
+checkshape result
+checknbshapes result -vertex 184 -edge 368 -wire 184 -face 184 -shell 1
\ No newline at end of file