From e8922cac3aa54870db262bbf0416ad495f32319c Mon Sep 17 00:00:00 2001 From: skv Date: Wed, 31 Jul 2013 12:54:30 +0000 Subject: [PATCH] 0021563: EDF GEOM: Extrusion with scale factor sometimes gives wrong shapes --- src/GEOMImpl/GEOMImpl_PipeDriver.cxx | 6 ++++++ 1 file changed, 6 insertions(+) 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);