Wrong Outer wire

Hi community! Using 7.8.0, importing and reading some round profiled STEP files, and then getting the outer wire of the model is producing a bad formed outer wire.

In the attached image you'll find that the outer wire (in red) should be the two start and end edges, and a seam or "fake" edge of the cylindrical surface. However, it appears that the holes (in orange) are being "added/connected" to the seam edge forming an outer wire that does not represent the real part.

Is this an expected behavior? Is there any way to fix how the outer wire is formed? If so what are the suggested approaches.

Additionally, the faces of those holes are also split by half, what is the recommended approach to heal them?

Thanks in advance for your time and help on this.

Dmitrii Pasukhin's picture

Hello, for now it is an expected behavior. Outer wire logic is very simple, there are just topology iteration, not special case processed.

Dublicate issue: BRepTools::OuterWire returns wrong wire - Forum Open Cascade Technology

Best regards, Dmitrii.

lmaero's picture

Thanks for your quick response!

Thomas Anderson's picture

IMHO:
As far as fixing the shape: ShapeUpgrade_UnifySameDomain doesn't recognize the bspline 'cylindrical' holes as being in the same domain, so that doesn't help. Being a translation from step, I think you have got everything out of shape_fix that you are going to get. I don't think there is a simple way to programmatically fix that model, it is in pretty bad shape. Loose tolerances, lots of spline curves and surfaces where analytics are desired. I don't think I have ever seen a cylindrical surface that has a bspline curve for the seam edge. Weird! With such a simple model, I think your best bet is to re-model it from scratch. Shouldn't take but a few minutes with proper CAD.

Attachments: 
lmaero's picture

Thank you! Unfortunately I will be receiving and analyzing random parts, so it should be a programmatic approach. Do you guys have any good example about shape healing?