Project solid outline onto face

How to project a solid outline onto a face?

I use [BRepProj_Projection] to project, but it only supports projection TopoDS_Wire.

So I took out the outer boundary of the solid, but it's not what I want.
- Finally, I got the unwanted projection results

Take a simple cylinder as an example:

-OuterBoundary i get from Cylinder is circle at both ends( CylinderOuterBoundary.jpg).

-So the result of the projection is two straight lines( ICanGetThisResult.jpg ).

-However, I hope that the projection result can reflect the whole outer contour of the cylinder(ExpectedReult.jpg).

Please tell me what I should do.

Operating environment:
-OCC version 6.9.0
-Packaging by c#wrapper

Artem Zhidkov's picture

Hello Wang,

I suggest you to dig into Hidden Line Removal (HLR) algorithm https://dev.opencascade.org/doc/overview/html/occt_user_guides__modeling...

It will provide you the result you expect.

Regards,

Artem

wang yufeng's picture

Thank you for your answer. I can get the result I want.

But the Result Edge seems different from the ordinary edge.

-In my next step, I will use [BRepProj_Projection] to project the edge on another Cylindrical surface.
-However, if the above results are projected onto the Cylindrical surface, it will crash.
-Is this result edge so special that it can't do Projection?

My environment is Opencascade 6.9.0

l zz's picture

Hello Wang,I met the same question as you,Could you tell me how to solve it.I also want to project a solid onto a plane.