Tue, 08/04/2020 - 04:55
I have a .iges file, which contains faces with error orientation. That is, some faces point inside, while others point outside.
I convert it to obj and get 001.png.
I sew faces and get 002.png.
I sew faces and then combine shells to a solid and get 003.png, which is still not correct.
What shoud I do to fix those faces?
Tue, 08/04/2020 - 12:52
Sharing a model (input IGES, sewed results and created Solid in .BREP format) would be useful to make any comment.
Wed, 08/05/2020 - 04:18
This is another .igs file which has similar problems.
Actually, I found that many .igs models have faces with error orientation.
Like 004.png and 005.png. Maybe this is an common issue for igs files.
Here is my code:
Wed, 08/05/2020 - 11:23
I haven't had any orientation problems with the .igs files before, to be honest
Wed, 08/05/2020 - 14:40
Sewing does work for me on a given shape with a reasonable tolerance - wholes between triangulated Faces do not appear and normals are oriented consistently.
Probably you should check the tolerance - algorithm does not sew any faces, only close enough, and geometry tolerance within IGES model might be larger than you expect.
Original shape:
Result shape (SHELL appeared and several EDGES merged):
Wed, 08/05/2020 - 14:26
IGES format does not support a proper Solid definition, so that surfaces orientations might be arbitrary and edges between faces duplicated.
This is expected for IGES files, considering limitations of this old format.
STEP format is much more advanced in this aspect and allows preserving correct Solid definition (if it existed in originating CAD software) .
Hence, this format is preferable for data exchange, when possible.
Thu, 08/06/2020 - 09:03
THANKS SO MUCH. This really solve my problem. The sewing fixes face orientation problems well if I use a proper tolerance.
Thu, 08/06/2020 - 12:11
Note, that 1.0 is just an arbitrary number. Tolerance should be defined based on some other information (like a user input / knowledge of typical models / something else).
Thu, 08/06/2020 - 16:58
Thank you for the detailed explanation, Kirill, as always very informative.