DiscussionsIssue archiveOCCT:Data Exchange

Archived issue #0029564

Data Exchange - STEP Import and Export failure

CommunityOCCT:Data Exchangeclosed19 public notes

Search issues

Description

Loading the sample file attached, the result in CAD Assistant and FreeCAD 0.16 and 0.17 is wrong, compared to other commercial CAD.
file: OCC_wrong_loading.stp

A similar issue, but in the opposite way, is reproducible Exporting the attached BREP file to STEP and then importing it.
The BREP file and the exported STEP files are different.
files:
BREP_wrong_export.brep
BREP_wrong_export.step

Steps to reproduce

test "bugs step bug29564"

Public activity

19 archived notes

Participants are labeled by their role within this record.

01Commenter 1
This looks like regression occurred in OCCT 6.8.0: versions before it produce correct shape (looking like n Autodesk free viewer), while later versions of OCCT apparently take wrong part of the spherical face.
02Author
good catch... in FC014 I can load the 'OCC_wrong_loading.stp' file correctly...

Still there is an error in loading the 'BREP_wrong_export.step' both on FC0.17 (OCC7.1) and FC0.14 (OCC prior to 6.8) compared to the correct import in DSM
(I'm attaching the screenshots)
03Commenter 2
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: gka
Date: Tue May 22 14:50:16 2018 +0300

    0029564: STEP Import and Export failure
    
    In the result of translation one face lying on the spherical surface converted to the two separate faces due to invalid method IsSurfaceUVClosed used to addition of the natural bounds.
    Method IsSurfaceUVPeriodic used to define that natural bounds can be added was incorrect for spherical surface.
    Method IsSurfaceUVPeriodic was replaced on the method IsSurfaceUVClosed which defines that natural bounds can be added for spherical and toroidal surface.
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 2
Branch [archived branch] has been updated forcibly by Participant.

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

[revision removed]
08Commenter 2
Branch [archived branch] has been created by Participant.

[revision removed]


Detailed log of new commits:

Author: Commenter 1
Date: Mon Nov 2 19:52:44 2020 +0300

    0029564: STEP Import and Export failure
    
    In the result of translation one face lying on the spherical surface converted to the two separate faces due to method IsSurfaceUVPeriodic returned false for spherical surface.
    Now method IsSurfaceUVPeriodic returns true for spherical surface in order to natural bounds can be added for spherical surface too.
    Method ShapeFix_Face::FixOrientation was corrected to avoid reversing inner wire for case when spherical face has only one inner bound without outer bound.
    Check that wire has bounding box equal to bounding box of surface was added in the method ShapeFix_Face::FixAddNaturalBound in order to avoid addition of the natural bounds ( test bugs xde bug22535_2 1 for face 2 lying on the torus)
    
    In order to avoid regressions fix for translation "VERTEX_LOOP" entities was added. Natural bounds for "VERTEX_LOOP" lying on the Spherical and BSpline surface is added only if face does not have any other bounds.
    In other case natural bounds were added during ShapeFix operation after translation in order take into account mutual position of the all bounds in the UV space of the face.
09Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: skl
Date: Tue Nov 17 16:46:39 2020 +0300

    0029564: Data Exchange - STEP Import and Export failure
    
    Fix regressions.

10Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: skl
Date: Wed Nov 18 10:02:41 2020 +0300

    0029564: Data Exchange - STEP Import and Export failure
    
    Fix regressions.

11Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: skl
Date: Fri Nov 20 07:16:06 2020 +0300

    0029564: Data Exchange - STEP Import and Export failure
    
    Revert part of old code.

12Commenter 2
Branch [archived branch] has been updated by Participant.

[revision removed]


Detailed log of new commits:

Author: skl
Date: Fri Nov 20 11:13:58 2020 +0300

    0029564: Data Exchange - STEP Import and Export failure
    
    Fix regressions.

13Commenter 13
14Commenter 2
Branch [archived branch] has been updated forcibly by Participant.

[revision removed]
15Commenter 15
Branch CR29564_2 was reviewed
16Commenter 16
Please integrate:
OCCT: branch CR29564_2
Products: branch CR29564_2
17Commenter 1
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: 18049.94000000008 / 18024.44000000013 [+0.14%]
Products
Total CPU difference: 12325.960000000132 / 12167.95000000011 [+1.30%]
Windows-64-VC14:
OCCT
Total CPU difference: 19703.46875 / 19697.21875 [+0.03%]
Products
Total CPU difference: 13792.6875 / 13647.203125 [+1.07%]


Image differences :
No differences that require special attention

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

[revision removed]
19Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]

Related records