For all issues regarding the Forums use, please, refer to the Forum Rules.

Our Solutions

Need professional assistance?
Consider our:

Support Offerings

 

Need to speed up your development?
Have a look at our:

Samples & Tools

 

Need some functionality extending standard OCCT capabilities?
Check out our:

Adv. Components

Related pages

Unrotated circle axis

Selman Uslu's picture
Forums: 

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();

}


}

Selman Uslu's picture

Can someone help me please?

liuhuiwei's picture

May be the transform code should be 

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

it works thank you so much