1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-06 18:26:22 +03:00

0025523: Fail to read back solid written to STEP

Fixed a exception occurred during reading step file

Test case for issue CR25523
This commit is contained in:
ink 2015-01-15 14:51:21 +03:00 committed by bugmaster
parent c31e0defd7
commit bcf045cfdc
2 changed files with 58 additions and 0 deletions

View File

@ -88,6 +88,7 @@
#include <ShapeAlgo_ToolContainer.hxx>
#include <XSAlgo.hxx>
#include <XSAlgo_AlgoContainer.hxx>
#include <ElCLib.hxx>
// ============================================================================
// Method : RemoveSinglePCurve
@ -163,6 +164,17 @@ static void CheckPCurves (TopoDS_Wire& aWire, const TopoDS_Face& aFace,
B.Range(myEdge, aFace, w1, cl);
w2 = cf;
}
if (w1 > w2 && mySurf->IsUPeriodic())
{
Standard_Real u1,u2,v1,v2;
mySurf->Bounds(u1,u2,v1,v2);
ElCLib::AdjustPeriodic(u1, u2,
Min(Abs(w2-w1)/2,Precision::PConfusion()),
w1, w2);
B.Range(myEdge, aFace, w1, w2);
}
// advanced check
XSAlgo::AlgoContainer()->CheckPCurve (myEdge, aFace, preci, sbwd->IsSeam(i) );

46
tests/bugs/step/bug25523 Executable file
View File

@ -0,0 +1,46 @@
puts "============"
puts "OCC25523"
puts "============"
puts ""
#######################################################################
# Fail to read back solid written to STEP
#######################################################################
restore [locate_data_file bug25523_bad_loopback_step.brep] a
nbshapes a
set nbshapes_expected "
Number of shapes in a
VERTEX : 30
EDGE : 54
WIRE : 32
FACE : 27
SHELL : 1
SOLID : 1
COMPSOLID : 0
COMPOUND : 0
SHAPE : 145
"
checknbshapes a ${nbshapes_expected} 0 "Stator model"
newmodel
set aFile ${imagedir}/bug25523.stp
catch { file delete ${aFile} }
stepwrite a a ${aFile}
stepread ${aFile} b *
nbshapes b_1 ;# empty compound
checknbshapes b_1 ${nbshapes_expected} 0 "Stator model"
tpstat c ;# reports exception
vinit View1
vdisplay a
vfit
vdump ${imagedir}/${casename}_1.png
vinit View2
vdisplay b_1
vfit
vdump ${imagedir}/${casename}_2.png