Problem.. how to create helical objects such as springs...

hi everybody..
can any one please tell me how to create helical objects such as spring..

i have the equation for helix..

x = r cos(theta);
y = r sin(theta);
z = a*(theta);

i have plotted these points by varying 'theta', and create edges through these points and finally created a wire out of these edges.. to get helical wire..

problem comes when i extrude cirle along this wire by using BRepOffsetAPI_MakePipe..

it gets extruded but not as i want.. means its cross-section does not remanins constant.. its cylindrical at ends and becomes flat at middle..

Hence then i tried to pass a bspline curve along these points.. and then used BRepOffsetAPI_MakePipe to extrude the circle along this curve...

it remains ok till few no. of turns. but as the number of turns increases, it get crashed..

Hence i decided to do it for one turn and call the same function again and again as per the no. of turns in my spring.. and then fuse it together..

but it is not getting fused properly.. .. i dont know what exactly is going wrong...

if anyone has any other method to make spring.. please.. please.. help me....

thanks in andvance..

bhimesh

Bearloga's picture

You do not need to fuse rings of the spring. It's better to sew them, provided that there are no cover faces at sewed ends. After you sewed all the rings, you can create planar faces at ends.