Regular Contributor
Posts: 58
Accepted Solution

Detolerize a face?



I have a question about "detolerization of a face". Let me clarify this.


I have a face with tolerant edges/vertices. To get rid of the tolerant geometry, I'd like to first unhook the face, then to make its boundary non-tolerant. I can use api_replace_tedge_with_edge for that. But I'm under impression that api_replace_tedge_with_edge does not actually do anything with geometry of the face, it perhaps just marks the edges as "non-tolerant", but the gap between the edge's 3D curve and the pcurve still exists (is it true?).


Basically, what I need is to recreate the edges of the face so that they would really be close to the face. Earlier you suggested to use api_tweak_tighten_edge:


Thanks, that was a good advice! But api_tweak_tighten_edge works only for sharp edges, besides, in this specfic case I do not want to intersect the face with something, I just need to detolerize the standalone face. How can I do this?

Can I use something like sg_add_pcurves_to_entity to recalculate the edges to make them non-tolerant?


Best Regards,




Spatial Employee
Posts: 151

Re: Detolerize a face?

Hi yt


api_approx can get approximations for the pcurve or curve of an edge.  I would consider using api_approx to get a bs2_curve (a parametric curve going into the uv space for the surface), then making curves with par_int_cur geometry for each edge.  this will give you a face with the same surface but edges which are the projections of the edge curves on the surface.  this process is somewhat complex so it may help to drive the question through your TAM or customer support.  you are going to need some more detailed instructions and there is not an api for this.