[bos #28816] EDF 24678 - tolerance with wires

This commit is contained in:
jfa 2022-02-04 21:25:03 +03:00
parent 15ca7707dd
commit 807a056cd8

View File

@ -1127,7 +1127,17 @@ TopoDS_Wire GEOMImpl_ShapeDriver::MakeWireFromEdges(const Handle(TColStd_HSequen
} }
// IMP 0019766: Building a Wire from unconnected edges by introducing a tolerance // IMP 0019766: Building a Wire from unconnected edges by introducing a tolerance
aFW->ClosedWireMode() = Standard_False; // aaajfa
bool isClosed = false;
Handle(ShapeAnalysis_Wire) asaw = aFW->Analyzer();
if (asaw->CheckGap3d(1)) { // between last and first edges
Standard_Real dist = asaw->MinDistance3d();
if (dist < theTolerance)
isClosed = true;
}
aFW->ClosedWireMode() = isClosed;
// aaajfa
//aFW->ClosedWireMode() = Standard_False;
aFW->FixConnected(theTolerance); aFW->FixConnected(theTolerance);
if (aFW->StatusConnected(ShapeExtend_FAIL)) { if (aFW->StatusConnected(ShapeExtend_FAIL)) {
Standard_ConstructionError::Raise("Wire construction failed: cannot build connected wire"); Standard_ConstructionError::Raise("Wire construction failed: cannot build connected wire");