Home
Reply
Contributor
merrifie
Posts: 29

covering gap tolerance

I'm using api_cover_wire with covering options. When using exemplar surface geometry (cf. set_covering_surface), the gap tolerance required to successfully create a new surface seems reasonable. I start with SPAresabs and increase it until the edge start, mid and end points satisfy test_point_tol for the exemplar surface. In this case, the "gap tolerance" makes sense to me as the allowable distance between the exemplar surface and the edges of the provided wire.  For example, covering the wire circuits in the attached file while using set_covering_surface requires 1.709e-005 > gap tolerance <= 2.563e-005. 

 

Without an exemplar surface, I have found the gap tolerance required to successfully create a surface from the same wires increases significantly. For example, covering the same wire circuits without using set_covering_surface requires a gap tolerance of ~0.0044 for the small (0.5D), circular wire and ~0.27 for the larger (1 x 3.75) "rounded rectangle" wire.  What does the "gap tolerance" mean in this case? Are these reasonable values? Am I doing something wrong?

 

Thanks,

Mike

Spatial Employee
asdf
Posts: 93

Re: covering gap tolerance

Hi Mike

 

I wrote the enhancement to api_cover_wires to allow it to use the gap tolerance.  If you don't provide a specific surface to cover with (using set_covering_surface), the only tolerant covering solution it will allow is a plane.  I would expect that with these huge tolerances, the output surface returned is a plane, and there are huge tedges around the face that covering made.  I do not advise using api_cover_wires like this because huge tedge and tvertex tolerances will make the model much less robust for downstream operations.

 

Currently, this is just a limitation of the standard covering APIs: the only tolerant covering solution it will produce without being given a surface is a plane.

 

hopefully this helps you somewhat.

 

cheers

 

Eric Zenk

Contributor
merrifie
Posts: 29

Re: covering gap tolerance

Ooops! You're correct. I just checked the entity of the resulting surface which until now I assumed was okay and not "planar" since it appears curved.  Now I understand the "gap tolerance" in this case...

 

Entity checking finds the following representative information:

  • Error: Geometry at start of TCOEDGE and TEDGE appear inconsistent
  • Warning: pcurve not periodic on periodic ELLIPSE curve
  • Warning: pcurve period doesn't agree with curve period
  • Warning: coedge without partner on single-sided face
  • Error: overlapping tolerant vertex
    at 3.560937509874 0.105500240635 -0.473199747126
    other vertex is 74556808
    the distance is 0.027021692208
    the tolerances are 0.264541397190 and 0.266356746712
  • FACE is Plane type.

Thanks,

Mike