Archived issue #0029564
Data Exchange - STEP Import and Export failure
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
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.
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.
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)
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)
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.
[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.
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
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.
[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.
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.
[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.
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.
[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.
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.
[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.
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.
[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.
Branch [archived branch] has been updated forcibly by Participant.
[revision removed]
[revision removed]
Branch CR29564_2 was reviewed
Please integrate:
OCCT: branch CR29564_2
Products: branch CR29564_2
OCCT: branch CR29564_2
Products: branch CR29564_2
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
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
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Related records