1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-05-16 10:54:53 +03:00

0030905: Modeling Algorithms - Faulty shapes in UnifySameDomain

Make face FORWARD before adding wire in it.
This commit is contained in:
emv 2019-08-20 14:23:29 +03:00 committed by apn
parent e837b3a26c
commit c5cee3222f
2 changed files with 19 additions and 2 deletions

View File

@ -2691,10 +2691,11 @@ void ShapeUpgrade_UnifySameDomain::IntUnifyFaces(const TopoDS_Shape& theInpShape
} }
else if (NewFaces.Length() == 1) else if (NewFaces.Length() == 1)
{ {
TopoDS_Shape aNewFace = NewFaces(1).Oriented (TopAbs_FORWARD);
for (Standard_Integer ii = 1; ii <= NewWires.Length(); ii++) for (Standard_Integer ii = 1; ii <= NewWires.Length(); ii++)
BB.Add(NewFaces(1), NewWires(ii)); BB.Add(aNewFace, NewWires(ii));
for (Standard_Integer ii = 1; ii <= InternalWires.Length(); ii++) for (Standard_Integer ii = 1; ii <= InternalWires.Length(); ii++)
BB.Add(NewFaces(1), InternalWires(ii)); BB.Add(aNewFace, InternalWires(ii));
myContext->Merge(faces, NewFaces(1)); myContext->Merge(faces, NewFaces(1));
} }
else else

View File

@ -0,0 +1,16 @@
puts "======================================================="
puts "0030905: Modeling Algorithms - Invalid shapes in UnifySameDomain"
puts "======================================================="
puts ""
restore [locate_data_file bug30905.brep] a
unifysamedom result a
checkshape result
checknbshapes result -solid 1 -shell 1 -face 56 -wire 61 -edge 148 -vertex 93 -t
checkprops result -s 835.815 -v 339.409
checkview -display result -2d -path ${imagedir}/${test_image}.png