Edges drifting in parasolid kernel

For cross-CAD, learning, and maybe a little friendly competition.
User avatar
HerrTick
Posts: 207
Joined: Fri Mar 19, 2021 10:41 am
Answers: 1
x 32
x 309

Edges drifting in parasolid kernel

Unread post 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.
image.png
image.png
image.png
image.png
Attachments
image.png
image.png
image.png
image.png
Ry-guy
Posts: 173
Joined: Mon Mar 08, 2021 5:30 pm
Answers: 1
Location: Minneapolis, MN
x 38
x 139

Re: Edges drifting in parasolid kernel

Unread post by Ry-guy »

What level of continuity are you using? G0, G1, 2 or 3?
User avatar
HerrTick
Posts: 207
Joined: Fri Mar 19, 2021 10:41 am
Answers: 1
x 32
x 309

Re: Edges drifting in parasolid kernel

Unread post by HerrTick »

These are imported surfaces, so continuity is not explicitly defined. Appears to be nearly C2.
image.png
image.png
ryan-feeley
Posts: 81
Joined: Thu Jan 20, 2022 3:35 pm
Answers: 0
x 31
x 88

Re: Edges drifting in parasolid kernel

Unread post 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.
Post Reply