04-18-2012 04:05 PM
We frequently have to deal with imported data. When we have problems with surface geometry, api_check_entity() for a FACE often reports intcurve "extreme parameterization" (i.e. EXTREME_PAR). We've implemented the documented (generic) healing workflow but that doesn't usually clean up this problem. In fact, it often makes things worse... We've also tried api_fix_check_problems() without success.
We're looking at a change in strategy from a generic healing if any problems are found to a targeted approach that looks for specific problems and attempts to surgically correct them. It's also an attempt to do the least amount of harm. With the generic approach, fixing "the problems" with a single tool doesn't address whether the resulting surface is easier to deal with downstream.
Is there a targeted solution to resolve extreme parameterization in the intcurves of a spline surface? I've experimented a little with reparam on the surface but that doesn't seem to effect the intcurves.
04-19-2012 03:04 AM
Note: B-spline curves are in general not arclength-parameterized. Their parametrization can be extreme (see api_edge_arclength_metric), and this can affect downstream modeling operations and even lead to failures. Therefore, edges created by this API should be used with caution, and a re-parameterization of the underlying curves should possibly be considered (see api_edge_arclength_param).
04-19-2012 08:18 AM
Thanks for your posting - it helps us to prioritize when we get inputs on customer work flows. The "goodness" of imported data is a complex topic, with many varieties. For the issue you're reporting, I can make a few general statements:
1. The extreme parameterization warning is overzealous, and doesn't necessarily indicate geometry which will cause downstream problems.
2. We are working on an improved interface for detecting extreme parameterization - and other geometry problems - with a new functionality called Brep Health. A prototype is available through our Web3D application http://web3d.spatial.com/ACISBrepHealth.aspx. I suggest you upload a few parts and try it out. The Brep Health application finds what we call ailments, which include extreme parameterization, but also extreme high curvature and other problems. You should be able to get better diagnoses for your problematic faces and edges with the Brep Health tool.
3. The function api_edge_arclength_param cannot be recommended for general purpose edge geometry repair, because the curves it produces will have slow performance. I have removed the recommendation from the documentation that was cited earlier.
4. It is often the case that curves with extreme parameterizations also have extreme high curvature. If there is no extreme high curvature, then an edge curve with extreme parameterization can be fixed without changing the shape. But fixing extreme high curvature requires a shape change - in many cases, the shape change is fortunately both small and very localized. The upshot is: healing curves is complex because different techniques are needed for different ailments. The first step is an accurate diagnosis, and the extreme parameterization checker warning does not provide an accurate diagnosis.
5. To follow up, I suggest you create an incident in our Online Support Center.
04-19-2012 11:14 AM
Thank you both for your suggestions. I tried the Brep Health app and it seems to have trouble with the model in question. It doesn't display anything and Brep Health doesn't report anything. I tried another model and got "Clean Health". I'll submit the model to support.