eryar / occQt

A simple OpenCASCADE Qt demo.
MIT License
280 stars 129 forks source link

Helix curve seems not complete #17

Closed shang-zd closed 3 years ago

shang-zd commented 5 years ago

Hi there,

In the makeCylindricalHelix() fuction, a helix was made. However, it seems that this helix is not complete.

The code goes like:

Standard_Real aRadius = 3.0;

Standard_Real aPitch = 1.0;

gp_Lin2d aLine2d(gp_Pnt2d(0.0, 0.0), gp_Dir2d(aRadius, aPitch));

Handle(Geom2d_TrimmedCurve) aSegment = GCE2d_MakeSegment(aLine2d, 0.0, M_PI * 2.0).Value();

Handle(Geom_CylindricalSurface) aCylinder = new Geom_CylindricalSurface(gp::XOY(), aRadius);

TopoDS_Edge aHelixEdge = BRepBuilderAPI_MakeEdge(aSegment, aCylinder, 0.0, 6.0 * M_PI).Edge(); 

It should create a helix curve with 3 circles, but the result curve (as below) seems less than 3 circles.

image Anyone could have a look?

Thanks. Regards. Zd

eryar commented 3 years ago

TopoDS_Edge aHelixEdge = BRepBuilderAPI_MakeEdge(aSegment, aCylinder, 0.0, 6.0 * M_PI).Edge(); Here the edge range is not 6.0 M_PI, it should be 3.0 M_PI * Circle Diameter.