DiscussionsIssue archiveOCCT:Data Exchange

Archived issue #0032452

Data Exchange - IGES reader returns invalid shapes if xstep.cascade.unit property is changed from default

CommunityOCCT:Data Exchangeclosed10 public notes

Search issues

Description

IGES reader returns invalid shapes when xstep.cascade.unit is changed from MM to M.

Attached file (Attachment 1 (IGS)) and next DRAW script can be used to reproduce issue.

This issue narrowed to IGESToBRep_IGESBoundary::Check method that called in IGESToBRep_TopoCurve::TransferCurveOnFace.
If units are MM check will return error and shape is healed afterwards, if units are M check will return OK and shape will be imported as is (invalid).

Steps to reproduce

pload XDE OCAF VISUALIZATION
# This can be ignored, since MM is default property value in this case
param xstep.cascade.unit MM
igesread "Attachment 1 (IGS)" t
# Select 2(All roots) -> 1(One shape for all)
checkshape t
# Result shape is valid

param xstep.cascade.unit M
igesread "Attachment 1 (IGS)" f
# Select 2(All roots) -> 1(One shape for all)
checkshape f
# Result shape is invalid

Public activity

10 archived notes

Participants are labeled by their role within this record.

01Commenter 1
Debugging
02Commenter 2
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: ichesnok
Date: Thu Dec 2 14:40:35 2021 +0300

    0032452: Data Exchange - IGES reader returns invalid shapes if xstep.cascade.unit property is changed from default
    
    Fixed
03Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
04Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
05Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
06Commenter 7
If the value of xstep.cascade.unit parameter is changed by the user, then read.maxprecision.val parameter must also be changed depending on selected unit.
In this case, if xstep.cascade.unit parameter is changed from MM to M, then read.maxprecision.val parameter should be multiplied by 0.001.

Patch is ready for review
- OCCT: branch CR32452
07Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
08Commenter 3
No remarks.
No changes in the code only documentation.

Dear Commenter 1,
please integrate:
OCCT CR32452
Products - NOT.
09Commenter 10
Combination -
OCCT branch : [archived branch]
master SHA - [revision removed]
[revision removed]
Products branch : [archived branch] SHA - [revision removed]
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 18206.60000000041 / 18222.99000000043 [-0.09%]
Products
Total CPU difference: 11646.460000000101 / 11645.100000000084 [+0.01%]
Windows-64-VC14:
OCCT
Total CPU difference: 20012.890625 / 20000.0 [+0.06%]
Products
Total CPU difference: 13093.890625 / 13044.453125 [+0.38%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
10Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]

Related records