From: skv Date: Wed, 31 Jul 2013 12:54:30 +0000 (+0000) Subject: 0021563: EDF GEOM: Extrusion with scale factor sometimes gives wrong shapes X-Git-Tag: BR_hydro_v_0_3_1~149 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=e8922cac3aa54870db262bbf0416ad495f32319c;p=modules%2Fgeom.git 0021563: EDF GEOM: Extrusion with scale factor sometimes gives wrong shapes --- diff --git a/src/GEOMImpl/GEOMImpl_PipeDriver.cxx b/src/GEOMImpl/GEOMImpl_PipeDriver.cxx index de0958f1f..2efea33f4 100644 --- a/src/GEOMImpl/GEOMImpl_PipeDriver.cxx +++ b/src/GEOMImpl/GEOMImpl_PipeDriver.cxx @@ -939,6 +939,9 @@ TopoDS_Shape GEOMImpl_PipeDriver::CreatePipeWithDifferentSections Standard_ConstructionError::Raise("Invalid sections were specified for building pipe"); } Standard_Integer ind =0; + Standard_Real aTolConf = Precision::Confusion(); + Standard_Real aTolAng = Precision::Angular(); + for (i = 1; i <= nbShapes && ind < nbShapes; i++) { //i+nbBases <= nbShapes TopTools_SequenceOfShape usedBases; Standard_Integer j = 1; @@ -957,6 +960,9 @@ TopoDS_Shape GEOMImpl_PipeDriver::CreatePipeWithDifferentSections if (!aBuilder.IsReady()) { Standard_ConstructionError::Raise("Invalid input data for building PIPE: bases are invalid"); } + + aBuilder.SetTolerance(aTolConf, aTolConf, aTolAng); + aBuilder.Build(); aShape = aBuilder.Shape(); aSeqFaces.Append(aShape);