IGES Reading curve problem

Hello

When I read the attached iges file, I got 171 curves.
But when I use NX to read the iges file, there are only 25 curves.

//---------------------------------------------------
IGESCAFControl_Reader igesReader;
HandleHandle(TDocStd_Document) doc = new TDocStd_Document("IgesReader");
IFSelect_ReturnStatus readStat = igesReader.ReadFile((char *const) igesFilename);
igesReader.Transfer(doc);
shapeTool->GetFreeShapes(labels);
//---------------------------------------------------

Could anyone help me?

Thank you in advance

G.P.

Pawel's picture

Hello apple,

in this file there is compound consisting of 25 elements: some of them are edges, some of them are wire. I haven't counted but I suppose if you add all the edges grouped within the wires you will get 171.

Pawel

apple sun's picture

Hello Pawel

Thank you for your reply.

I checked the iges file. There are 25 entities in this iges file. The entity types are all 112 : parametric spline curve. I don't know, why the OpenCascade transfored some curves to edges, and some curves to wires which consists of some edges?
If a parametric curve is not C2 continuous, will it be broken to some segments?

Thank you.

G.P.

Pawel's picture

Hello,

not sure how the entities are processed internally or transformed to edges from IGES but I get only 25 'Free Shapes' anyway (not 171). What is exactly the situation where you obtain 171 curves?

Pawel

apple sun's picture

Hello,

Some of 25 'Free Shapes' are edges, and the others are wires. Furthermore, a wire includes some edges.
The number of the total edges is 171.

G.P.

P G's picture

If use the option,
reader->GiveList("iges-curves-3d");

then I too get 171 edges(curves) from 'oneShape'.
regards
PG