Strange difference between pipe and prism

I am using GeomAPI_IntSS to find the intersection between a Geom_Plane and an arc surface.

To produce the arc surface I start with an arc line and I use either BRepOffsetAPI_MakePipe or BRepPrimAPI_MakePrism.
Both commands seems to yeld the same surface, but when I do the intersection I get an arc of ellipse or a full ellipse respectively.

The correct result is the arc of ellipse, I would like to understand why Prism leads to the full ellipse.
Is that a bug, a feature or possibly a silly mistake on my side?

Arc surface made as a Pipe: https://www.imagehost.at/image/wwsb6

Arc surface made as a Prism: https://www.imagehost.at/image/wwbIW

My code is in Python using https://github.com/CadQuery/OCP, I can definitely post it if deemed useful.

Dario Pellegrini's picture

I may have got it. It depends on how the underlying Geom_Surface is constructed from the TopoDS_Face.
The one constructed by Prism is likely reconstructed as a cylinder instead of some other binded surface.

It's probably better to use IntTools_FaceFace directly on TopoDS_Face in my case, to avoid a bunch of conversions and get the right result straight away.