I am not sure whether it's a bug of exporting extrude surface to iges file.
My procedures list as follows:
1. Create a simple b-spline curve edge (planar or spatial)
2. Create a extrude face by API BRepPrimAPI_MakePrism, the profile curve is just the curve created at step 1.
3. Export the extrude face by API IGESControl_Writer to iges file
4. Reload the iges file by OCAF iges reader, the extrude surface can't be imported. I traced the code and find it returns error in:
(const Handle(IGESGeom_TabulatedCylinder)& st)
the specific error happens at:
gp_Pnt pt2 = st->EndPoint();
TheULength = pt1.Distance(pt2);
if(TheULength Message_Msg msg("Tabulated cylinder with zero length");
SendFail (st, msg); // TabulatedCylinder was built with continuity C0
In fact, my I/O module have worked well for a long time. Does anyone find the similar problem?
Any suggestion is welcome. Thanks in advance.
PS: I suspect gp_Pnt pt2 = st->EndPoint(); should be replaced by pt2 = st->StartPoint()