Projection of a spiral wire onto a Shape


I have an IGES-imported model surrounded by a helix wire (currently as a TopoDS_Wire), as shown on the attached file. I would like to project the wire onto the shape, so that I get a new wire (a single wire, preferrably) that consists of a trajectory "climbing" the model (as if the original wire tried to "squeeze" the model).
The following code is failing to compute. It shows both the helix construction and the projection attempt:

// Construção da hélice
Handle(Geom2d_Line) lin1 = new Geom2d_Line( gp_Pnt2d(0.0, 0.0), gp_Dir2d(1.0, 1.0));
Handle(Geom_CylindricalSurface) surf = new Geom_CylindricalSurface(gp::XOY(), 100.0);
TopoDS_Edge E1 = BRepBuilderAPI_MakeEdge(lin1, surf, 0, 1000.0);
TopoDS_Wire helice = BRepBuilderAPI_MakeWire(E1);
Handle(AIS_Shape) helice_AIS = new AIS_Shape(helice);

// Projeção da hélice sobre o modelo
BRepOffsetAPI_NormalProjection projetor(modelo3D);
TopoDS_Shape resultado_nao_tratado = projetor.Projection();

I suspect this is not the proper way to use BRepOffsetAPI_NormalProjection, but how should I proceed to get this done?

Thanks in advance

Rodrigo Castro Andrade's picture

Giving some more information, errors displayed on the console (it's a Win32 console app):

There is a problem with ExactBound computation
00007FFF62DCABC0: StdFail_NotDone

Any help is welcome!