From: ika Date: Thu, 5 Feb 2015 13:24:46 +0000 (+0300) Subject: 0024601: Unwanted spheres shown after Step-Import X-Git-Tag: V6_9_0_beta~130 X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=07695610630eb9ebe18a18942df47963c35960ee;p=occt-copy.git 0024601: Unwanted spheres shown after Step-Import Add check for outer boundary before creating wire from Vertex Loop on spheres. Test case for issue CR24601 --- diff --git a/src/StepToTopoDS/StepToTopoDS_TranslateFace.cxx b/src/StepToTopoDS/StepToTopoDS_TranslateFace.cxx index 4a8d6e827f..116bc2b4dd 100644 --- a/src/StepToTopoDS/StepToTopoDS_TranslateFace.cxx +++ b/src/StepToTopoDS/StepToTopoDS_TranslateFace.cxx @@ -221,6 +221,12 @@ void StepToTopoDS_TranslateFace::Init // Standard_Boolean fautcoudre = // ( (NbBnd == 2) && (GeomSurf->IsUClosed() || GeomSurf->IsVClosed()) ); + Standard_Boolean isExistOuter = Standard_False; + for (Standard_Integer i = 1; i <= NbBnd; i++) { + FaceBound = FS->BoundsValue(i); + if (FaceBound->IsKind(STANDARD_TYPE(StepShape_FaceOuterBound))) + isExistOuter = Standard_True; + } for (Standard_Integer i = 1; i <= NbBnd; i ++) { #ifdef OCCT_DEBUG @@ -244,9 +250,11 @@ void StepToTopoDS_TranslateFace::Init if (GeomSurf->IsKind (STANDARD_TYPE(Geom_SphericalSurface)) || GeomSurf->IsKind (STANDARD_TYPE(Geom_BSplineSurface)) ) { - BRepBuilderAPI_MakeFace mf (GeomSurf, Precision()); - for (TopoDS_Iterator it(mf); it.More(); it.Next()) - B.Add (F, it.Value()); + if (!isExistOuter || FaceBound->IsKind(STANDARD_TYPE(StepShape_FaceOuterBound))) { + BRepBuilderAPI_MakeFace mf (GeomSurf, Precision()); + for (TopoDS_Iterator it(mf); it.More(); it.Next()) + B.Add (F, it.Value()); + } continue; } diff --git a/tests/bugs/step/bug24601 b/tests/bugs/step/bug24601 new file mode 100644 index 0000000000..60fa60ffc9 --- /dev/null +++ b/tests/bugs/step/bug24601 @@ -0,0 +1,24 @@ +puts "============" +puts "OCC24601" +puts "============" +puts "" +##################################################### +# Unwanted spheres shown after Step-Import +##################################################### + +stepread [locate_data_file bug24601_216523_2_03.stp] a * +tpcompound result + +set square 38563.2 + +set nb_v_good 150 +set nb_e_good 228 +set nb_w_good 135 +set nb_f_good 105 +set nb_sh_good 2 +set nb_sol_good 2 +set nb_compsol_good 0 +set nb_compound_good 2 +set nb_shape_good 624 + +set 3dviewer 1