From dc244065a9ec8d4170278228698ae8482f17c294 Mon Sep 17 00:00:00 2001
From: gka
Date: Wed, 28 May 2014 16:11:04 +0400
Subject: [PATCH] 0024960: Value of result tolerance after "fixshape" is bigger
than value of set "Maximal tolerance".
Description of using "Maximal tolerance" and "Minimal tolerance" values in class ShapeFix_Shape was updated.
---
.../shape_healing/shape_healing.md | 45 +++++++++++--------
1 file changed, 26 insertions(+), 19 deletions(-)
diff --git a/dox/user_guides/shape_healing/shape_healing.md b/dox/user_guides/shape_healing/shape_healing.md
index 6135d2ccc5..43e5c5c497 100644
--- a/dox/user_guides/shape_healing/shape_healing.md
+++ b/dox/user_guides/shape_healing/shape_healing.md
@@ -75,27 +75,34 @@ The simplest way for fixing shapes is to use classes *ShapeFix_Shape* and *Shape
The sequence of actions is as follows :
1. Create tool *ShapeFix_Shape* and initialize it by shape:
-~~~~~
-Handle(ShapeFix_Shape) sfs = new ShapeFix_Shape;
-sfs->Init ( shape );
-~~~~~
-2. Set the basic precision and the maximum allowed tolerance:
-~~~~~
-sfs->SetPrecision ( Prec );
-sfs->SetMaxTolerance ( maxTol );
-~~~~~
-where *Prec* â basic precision, *maxTol* â maximum allowed tolerance.
-All problems will be detected for cases when a dimension of invalidity is larger than the basic precision or a tolerance of sub-shape on that problem is detected.
-The maximum tolerance value limits the increasing tolerance for fixing a problem. If a value larger than the maximum allowed tolerance is necessary for correcting a detected problem the problem can not be fixed.
+
+ Handle(ShapeFix_Shape) sfs = new ShapeFix_Shape;
+ sfs->Init ( shape );
+
+2. Set the basic precision, the maximum allowed tolerance, the minimal allowed tolerance:
+
+ sfs->SetPrecision ( Prec );
+ sfs->SetMaxTolerance ( maxTol );
+ sfs->SetMinTolerance ( mintol );
+
+ where *Prec* â basic precision, *maxTol* â maximum allowed tolerance, *minTol* â minimal allowed tolerance.
+ * *maxTol* - All problems will be detected for cases when a dimension of invalidity is larger than the basic precision or a tolerance of sub-shape on that problem is detected.
+ The maximum tolerance value limits the increasing tolerance for fixing a problem such as fix of not connenected and self-intersected wires. If a value larger than the maximum allowed tolerance is necessary for correcting a detected problem the problem can not be fixed.
+ The maximal tolerance is not taking into account during computation of tolerance of edges in ShapeFix_SameParameter() method and ShapeFix_Edge::FixVertexTolerance() method.
+ See @ref occt_shg_2_3_8 for details.
+ * *minTol* - The minimal allowed tolerance defines minimal allowed length of edges. Detected edges having length less than specified minimal tolerance will be removed if ModifyTopologyMode in Repairing tool for wires is set to true.
+ See @ref occt_shg_2_3_7 for details.
+
3. Launch fixing:
-~~~~~
-sfs->Perform();
-~~~~~
+
+ sfs->Perform();
+
4. Get the result:
-~~~~~
-TopoDS_Shape aResult = sfs->Shape();
-~~~~~
-In some cases using only *ShapeFix_Shape* can be insufficient. It is possible to use tools for merging and removing small edges and fixing gaps between 2D and 3D curves.
+
+ TopoDS_Shape aResult = sfs->Shape();
+
+ In some cases using only *ShapeFix_Shape* can be insufficient. It is possible to use tools for merging and removing small edges and fixing gaps between 2D and 3D curves.
+
5. Create *ShapeFix_Wireframe* tool and initialize it by shape:
~~~~~
Handle(ShapeFix_Wirefarme) SFWF = new ShapeFix_Wirefarme(shape);
--
2.20.1