For all issues regarding the Forums use, please, refer to the Forum Rules.

Our Solutions

Need professional assistance?
Consider our:

Support Offerings

 

Need to speed up your development?
Have a look at our:

Samples & Tools

 

Need some functionality extending standard OCCT capabilities?
Check out our:

Adv. Components

Related pages

IGES processor

Anonymous's picture
Forums: 

Hi,

I noticed some strange effects when using the IGES processor. To analyse the problem a bit I used a sample from the Rhinoceros 3D modeler (Human Head.3dm) and exported it as IGES files (135KB each). I then used my own application and the Windows example SampleImportExport to read the files. Here are some results:

- The ReadFile method of IGESControlStd_Reader crashes if the IGES file does not contain a unit.

- For MM units and an IGES tolerance of 0.01 or 0.0001 the file is readable, but in shading mode half of the object is missing. Also hidden line removal does not work correctly. By the way the same effect can be seen with the bearing.iges example in the data directory. In shading mode one of the surfaces is not tessalated.

- For inches or meter units and tolerance 0.01 the file is readable and shading is perfect!!!

- For mile units and tolerance 0.01 the file is readable but the shading is incomplete again.

I could make these IGES files available, if it is helpful for tracing these effects.

I also have a large (13MB) file coming from STRIM100 which could be read by the PR3 processor (although the result contained some invalid faces) but now causes a crash in the TransferRoots method.

The TransferRoot method now tries to fix the shapes imported. When I import such a file and activate shading, some red lines appear. What do they mean?

Thanks in advance

Thomas

Pavel Durandin's picture

Dear Thomas,
> Hi,

> I noticed some strange effects when using
> the IGES processor. To analyse the problem a
> bit I used a sample from the Rhinoceros 3D
> modeler (Human Head.3dm) and exported it as
> IGES files (135KB each). I then used my own
> application and the Windows example
> SampleImportExport to read the files. Here
> are some results:

> - The ReadFile method of
> IGESControlStd_Reader crashes if the IGES
> file does not contain a unit.

Thank you very much for this example. IGES norm requires no mandatory definition of unit. I have implemented the protection which is expected to be available in the next versions of Open CASCADE.

> - For MM units and an IGES tolerance of 0.01
> or 0.0001 the file is readable, but in
> shading mode half of the object is missing.
> Also hidden line removal does not work
> correctly. By the way the same effect can be
> seen with the bearing.iges example in the
> data directory. In shading mode one of the
> surfaces is not tessalated.

> - For inches or meter units and tolerance
> 0.01 the file is readable and shading is
> perfect!!!

> - For mile units and tolerance 0.01 the file
> is readable but the shading is incomplete
> again.

> I could make these IGES files available, if
> it is helpful for tracing these effects.

IGES file you sent contains very small b-spline curve. This curve is less than resolution of IGES file. Open CASCADE IGES processor does not drop small curves.

Open CASCADE implicitly uses millimeters in algorithms and computations. So, if you modify units in IGES file small curve becomes "small" or "not small" in terms of shading algorithm.

I have obtained the following results of shading using different units: mm - failed, inch - OK, feet - OK, miles - failed, meters - OK.

> I also have a large (13MB) file coming from
> STRIM100 which could be read by the PR3
> processor (although the result contained
> some invalid faces) but now causes a crash
> in the TransferRoots method.

> The TransferRoot method now tries to fix the
> shapes imported. When I import such a file
> and activate shading, some red lines appear.
> What do they mean?

> Thanks in advance

> Thomas

Best regards,

Pavel.