Intersection of 180 degree revolution of line and a plane giving a circle

I have created a surface by revolving a line up to 180 degrees and saved it as STEP file.
Reading this step file and intersecting the surface with a plane gives a full circle.
I have expected a semi circle but the result was a full circle.
Am I doing anything wrong.

Here is the code I am using

TopoDS_Face iFace = Part.Face[i].FaceData;
Handle(Geom_Surface) gSurface = BRep_Tool::Surface(iFace);
Handle(Geom_Surface) aPlane = GC_MakePlane(0.0,0.0,1.0,-0.1);
GeomAPI_IntSS Intersector(gSurface1, aPlane, 0.0001);

Standard_Integer nb = Intersector. NbLines();
Handle(Geom_Curve) C = Intersector.Line(nb);
TopoDS_Edge SliceEdge = BRepBuilderAPI_MakeEdge(C);
Handle(AIS_Shape) AISEdge = new AIS_Shape(SliceEdge);

I have tried "BRepAlgoAPI_Section " also got same result.
Please help me. Thank you.

PG's picture

Handle(Geom_Surface) gSurface = BRep_Tool::Surface(iFace);
this will return 360 degrees surface/

Rakesh Lingam's picture

Thanks for your reply,
Can you please tell me how to get the surface formed by revolution less than 360 degrees.
Another thing is, if I have a 360 degrees revolution, I am getting 2 180 degree revolutions when searched for faces.