>>> e.Tolerance
0.05
>>> e.Vertexes[0].Tolerance
0.116921094337508
>>> e.Vertexes[1].Tolerance
0.132305818316937
does anyone know a reasonable way how to update the tolerance of the vertexes of an unconnected edge?
If I pass it through a sketch the tolerance of the vertex will also be okay, but is there any other way?
e.Vertexes[0].Tolerance=0.05 doesn't work, to my understanding there's no reason why this should not work because the Vertex is supposed to be tied to the loose edge, why is this immutable? (the answer to that is .. because it's also immutable in opencascade ... so freecad is possibly just forwarding the tolerance setting if at all...)
Now I kind of understand why Rhino3D has the option to re-create all edges of an object - freecad needs that option too for sure.
I'm trying to fix an object here which was damaged by some freecad / opencascade functions - and the tolerance seems to be the root problem.
ok I'm a little bit further here, the edge should be fixed with ShapeFix_ShapeTolerance.
Code: Select all
ShapeFix_ShapeTolerance st;
st.SetTolerance(e, <newtolerance>, TopAbs_VERTEX);
it is...
Shape.fixTolerance(...)
so that solves the problem with the tolerance for me.
I see this problem as a very critical issue in FreeCAD, it's probably the main reason why my object got damaged in the first place - too high tolerance and things were snapping together during boolean operations causing further extreme problems.