mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-05-06 14:50:47 +05:00
Mantis issue 0021465: EDF 2067 GEOM: Extrusion along a path leads to a self-intersected shape. GlueFaces with maximum shape tolerance.
This commit is contained in:
parent
aa829b078e
commit
20ffcb034a
@ -2440,8 +2440,18 @@ Standard_Integer GEOMImpl_PipeDriver::Execute(TFunction_Logbook& log) const
|
|||||||
|
|
||||||
// Glue (for bug 0020207)
|
// Glue (for bug 0020207)
|
||||||
TopExp_Explorer anExpV (aShape, TopAbs_VERTEX);
|
TopExp_Explorer anExpV (aShape, TopAbs_VERTEX);
|
||||||
if (anExpV.More())
|
if (anExpV.More()) {
|
||||||
aShape = GEOMImpl_GlueDriver::GlueFaces(aShape, Precision::Confusion(), Standard_True);
|
Standard_Real aVertMaxTol = -RealLast();
|
||||||
|
for (; anExpV.More(); anExpV.Next()) {
|
||||||
|
TopoDS_Vertex aVertex = TopoDS::Vertex(anExpV.Current());
|
||||||
|
Standard_Real aTol = BRep_Tool::Tolerance(aVertex);
|
||||||
|
if (aTol > aVertMaxTol)
|
||||||
|
aVertMaxTol = aTol;
|
||||||
|
}
|
||||||
|
aVertMaxTol += Precision::Confusion();
|
||||||
|
aShape = GEOMImpl_GlueDriver::GlueFaces(aShape, aVertMaxTol, Standard_True);
|
||||||
|
//aShape = GEOMImpl_GlueDriver::GlueFaces(aShape, Precision::Confusion(), Standard_True);
|
||||||
|
}
|
||||||
|
|
||||||
TopoDS_Shape aRes = GEOMImpl_IShapesOperations::CompsolidToCompound(aShape);
|
TopoDS_Shape aRes = GEOMImpl_IShapesOperations::CompsolidToCompound(aShape);
|
||||||
aFunction->SetValue(aRes);
|
aFunction->SetValue(aRes);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user