// 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
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;
}
--- /dev/null
+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