Page 1 of 1
Edges drifting in parasolid kernel
Posted: Wed May 19, 2021 2:12 pm
by HerrTick
I've seen this in both SW and NX. On models where there are B-surfaces that meet at a tangency, the tangent edge sometimes drifts when the surfaces are extended (e.g. by offsetting adjacent face).
Most likely this is an artifact of parasolid's tolerant modeling algorithm. If the faces met at a sharp angle, the edge would be well-defined. Because they are tangent, the edge definition is "wobbly".
Sample piece pictured. Solid with tangent B-surfaces is enlarged by replacing/offsetting a side face.
Re: Edges drifting in parasolid kernel
Posted: Thu May 20, 2021 3:56 pm
by Ry-guy
What level of continuity are you using? G0, G1, 2 or 3?
Re: Edges drifting in parasolid kernel
Posted: Thu May 20, 2021 6:08 pm
by HerrTick
These are imported surfaces, so continuity is not explicitly defined. Appears to be
nearly C2.
Re: Edges drifting in parasolid kernel
Posted: Wed Jul 19, 2023 6:04 pm
by ryan-feeley
I see this sort of thing most often when replace-face is involved. It seems to be particularly "tolerant" if you will. Because of this, I
try to avoid using replace face when it is going to need to infer a tangent or nearly tangent edge. Sometimes it can be VERY wobbly, as you say, and really trash your edges. I've tried various trick to "hold the edge" if you will by introducing temporary geometry, and they have varying degrees of success.
Using face colors from your first image, what happens if you do this a little more manually by
- copying the light blue faces that contains the edge that shifts
- untrim this
- copying the pink face
- untrim it
- do a mutual trim with these two untrimmed bodies
- do the replace face with the result of the mutual trim, so there are no tangent edges to infer. If this replace face fails, go the atomic bomb route and use knit to solid.
If you can't get the untrim to give you enough extent, you can often hack the situation by thickening it a small amount, and then doing move face on the thin "edge" of the new solid to force the faces you need to grow within a environment where the kernel has a solid to base its "tolerance geometry" decisions on.