From f50111ec50aec00d656f256ab74935da9fcd0d8d Mon Sep 17 00:00:00 2001 From: gelin Date: Sat, 29 Jan 2022 20:08:52 +0800 Subject: [PATCH] 0032811: Bad result of sweep operation due to Surface Surface Intersect Bug --- src/IntTools/IntTools_FaceFace.cxx | 1 + src/IntTools/IntTools_TopolTool.cxx | 2 +- tests/pipe/bugs/bug32811 | 16 ++++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 tests/pipe/bugs/bug32811 diff --git a/src/IntTools/IntTools_FaceFace.cxx b/src/IntTools/IntTools_FaceFace.cxx index 181d9d47a5..7d37454e93 100644 --- a/src/IntTools/IntTools_FaceFace.cxx +++ b/src/IntTools/IntTools_FaceFace.cxx @@ -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); } diff --git a/src/IntTools/IntTools_TopolTool.cxx b/src/IntTools/IntTools_TopolTool.cxx index ca5c30a0a3..7bbe6b734a 100644 --- a/src/IntTools/IntTools_TopolTool.cxx +++ b/src/IntTools/IntTools_TopolTool.cxx @@ -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 index 0000000000..8c190431d1 --- /dev/null +++ b/tests/pipe/bugs/bug32811 @@ -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 -- 2.39.5