1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-09-03 14:10:33 +03:00

Compare commits

..

1 Commits

Author SHA1 Message Date
ona
343c1ac06a 0032695: Data Exchange - Wrong cut sphere face in step export
- Test is added
2022-11-15 10:36:11 +03:00
3 changed files with 23 additions and 39 deletions

View File

@@ -56,7 +56,6 @@
#include <TopTools_MapOfShape.hxx>
#include <TopTools_SequenceOfShape.hxx>
#include <BRepExtrema_ExtCC.hxx>
#include <ShapeFix_Edge.hxx>
static TopoDS_Edge FindEdgeCloseToBisectorPlane(const TopoDS_Vertex& theVertex,
TopoDS_Compound& theComp,
@@ -535,26 +534,6 @@ BRepFill_TrimShellCorner::MakeFacesNonSec(const Standard_Integer
if(bHasNewEdge) {
aNewEdge.Orientation(TopAbs_FORWARD);
// Refer to BrepFill_Sweep.cxx BuildEdge Construct an edge via an iso
gp_Pnt P1, P2;
Standard_Real p11, p12, p21, p22;
P1 = BRep_Tool::Pnt(TopExp::FirstVertex(TopoDS::Edge(aNewEdge)));
P2 = BRep_Tool::Pnt(TopExp::LastVertex(TopoDS::Edge(aNewEdge)));
TopoDS_Edge aERef = TopoDS::Edge(fit == 1 ? aE1 : aE2);
p11 = P1.Distance(BRep_Tool::Pnt(TopExp::FirstVertex(aERef)));
p22 = P2.Distance(BRep_Tool::Pnt(TopExp::LastVertex(aERef)));
p12 = P1.Distance(BRep_Tool::Pnt(TopExp::LastVertex(aERef)));
p21 = P2.Distance(BRep_Tool::Pnt(TopExp::FirstVertex(aERef)));
if (p11 > p12 && p22 > p21) {
aNewEdge.Reverse();
}
// for nonPlane surface, we should add pCurve
Handle(ShapeFix_Edge) sfe = new ShapeFix_Edge();
sfe->FixAddPCurve(aNewEdge, TopoDS::Face(aFace), Standard_False);
}
TopTools_ListOfShape aOrderedList;

23
tests/bugs/step/bug32695 Normal file
View File

@@ -0,0 +1,23 @@
puts "============"
puts "OCC32695"
puts "============"
puts ""
#######################################################################
# Data Exchange - Wrong cut sphere face in step export
#######################################################################
pload XDE OCAF MODELING VISUALIZATION
psphere s 0.5
plane p 0 0 0 1 0 0
pcylinder c p 0.1 1.0
bcut r s c
vinit View1
#vdisplay -dispMode 1 r; vsetcolor r RED
vfit
set aTmpFile "$imagedir/${casename}.stp"
testwritestep "$aTmpFile" r
testreadstep "$aTmpFile" s
file delete "$aTmpFile"
vdisplay -dispMode 1 s; vsetcolor s GREEN
vfit
checkview -screenshot -3d -path ${imagedir}/${test_image}.png

View File

@@ -1,18 +0,0 @@
puts "========"
puts "0032818: Modeling Algorithms - Result of sweep operation is invalid"
puts "========"
puts ""
restore [locate_data_file bug32818.brep]
explode bug32818
renamevar bug32818_1 p
renamevar bug32818_2 pr
mksweep p
setsweep -CF
addsweep pr
buildsweep result -R -S
checkshape result
checknbshapes result -vertex 80 -edge 160 -wire 80 -face 80 -shell 1 -solid 1