Unrotated circle axis

Hello,

I have read step file and rotated all faces around an axis and then exploring edges belonging to a particular face with TopExp_Explorer. 

gp_Trsf trsf;

trsf.setRotation(axis,angle);

BrepBuilderAPI_Transform transform(face,trsf);

face=TopoDS::Face(transform.Shape());

 

I rotated all the faces in my shape like this way. In the bottom code, axis info comes wrong. When i check circles axis info before rotation and after rotation nothing changes. However face vertices rotated correctly.

for(TopExp_Explorer exp(face,TopAbs_EDGE);exp.More();exp.Next())

{

TopoDS_Edge edge=TopoDS::Edge(exp.Current());

auto curve=Brep_Tool::Curve(edge,location,first,last);

Handle(Standard_Type) curveType=curve->DynamicType();

if(curveType==STANDARD_TYPE(Geom_Circle))

{

Handle(Geom_Circle) circle=Handle(Geom_Circle)::DownCast(curve);

auto axis=circle->Axis();

}


}

 

selman3004_150899's picture

Can someone help me please?

liuhuiwei's picture

May be the transform code should be 

BrepBuilderAPI_Transform transform(face,trsf,Standard_True);
selman3004_150899's picture

it works thank you so much