mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-06-05 11:24:17 +03:00
0024851: Extra vertex is in the result of Boolean Fuse Operation
class IntTools_FaceFace - statc function: void CorrectSurfaceBoundaries(const TopoDS_Face& theFace, const Standard_Real theTolerance, Standard_Real& theumin, Standard_Real& theumax, Standard_Real& thevmin, Standard_Real& thevmax) The faces based on cylidrical surface has been added to the list of candidates to extend the boundaries Test case for issue CR24851
This commit is contained in:
parent
f18ccc8cd6
commit
c002793be1
@ -519,7 +519,7 @@ static Standard_Boolean isTreatAnalityc(const TopoDS_Face& theF1,
|
|||||||
//function : Perform
|
//function : Perform
|
||||||
//purpose : intersect surfaces of the faces
|
//purpose : intersect surfaces of the faces
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void IntTools_FaceFace::Perform(const TopoDS_Face& aF1,
|
void IntTools_FaceFace::Perform(const TopoDS_Face& aF1,
|
||||||
const TopoDS_Face& aF2)
|
const TopoDS_Face& aF2)
|
||||||
{
|
{
|
||||||
Standard_Boolean RestrictLine = Standard_False, hasCone = Standard_False;
|
Standard_Boolean RestrictLine = Standard_False, hasCone = Standard_False;
|
||||||
@ -2616,7 +2616,7 @@ Handle(Geom2d_BSplineCurve) MakeBSpline2d(const Handle(IntPatch_WLine)& theWLine
|
|||||||
//function : CorrectSurfaceBoundaries
|
//function : CorrectSurfaceBoundaries
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void CorrectSurfaceBoundaries(const TopoDS_Face& theFace,
|
void CorrectSurfaceBoundaries(const TopoDS_Face& theFace,
|
||||||
const Standard_Real theTolerance,
|
const Standard_Real theTolerance,
|
||||||
Standard_Real& theumin,
|
Standard_Real& theumin,
|
||||||
Standard_Real& theumax,
|
Standard_Real& theumax,
|
||||||
@ -2662,7 +2662,8 @@ Handle(Geom2d_BSplineCurve) MakeBSpline2d(const Handle(IntPatch_WLine)& theWLine
|
|||||||
if((aType==GeomAbs_BezierSurface) ||
|
if((aType==GeomAbs_BezierSurface) ||
|
||||||
(aType==GeomAbs_BSplineSurface) ||
|
(aType==GeomAbs_BSplineSurface) ||
|
||||||
(aType==GeomAbs_SurfaceOfExtrusion) ||
|
(aType==GeomAbs_SurfaceOfExtrusion) ||
|
||||||
(aType==GeomAbs_SurfaceOfRevolution)) {
|
(aType==GeomAbs_SurfaceOfRevolution) ||
|
||||||
|
(aType==GeomAbs_Cylinder)) {
|
||||||
enlarge=Standard_True;
|
enlarge=Standard_True;
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
|
27
tests/bugs/modalg_5/bug24851
Normal file
27
tests/bugs/modalg_5/bug24851
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
puts "============"
|
||||||
|
puts "OCC24851"
|
||||||
|
puts "============"
|
||||||
|
puts ""
|
||||||
|
######################################################
|
||||||
|
# Extra vertex is in the result of Boolean Fuse Operation
|
||||||
|
######################################################
|
||||||
|
|
||||||
|
restore [locate_data_file bug24851_q_b1_1.brep] b1
|
||||||
|
restore [locate_data_file bug24851_fz712.brep] b2
|
||||||
|
|
||||||
|
bop b1 b2
|
||||||
|
bopfuse result
|
||||||
|
|
||||||
|
set square 9.56837e-05
|
||||||
|
|
||||||
|
set nb_v_good 6
|
||||||
|
set nb_e_good 8
|
||||||
|
set nb_w_good 2
|
||||||
|
set nb_f_good 2
|
||||||
|
set nb_sh_good 2
|
||||||
|
set nb_sol_good 0
|
||||||
|
set nb_compsol_good 0
|
||||||
|
set nb_compound_good 1
|
||||||
|
set nb_shape_good 21
|
||||||
|
|
||||||
|
set 2dviewer 1
|
Loading…
x
Reference in New Issue
Block a user