mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-03 17:56:21 +03:00
0032199: Modeling Algorithms - BOP Cut produces invalid shape
Use section tolerance for checking the valid range.
This commit is contained in:
parent
b8db9379fe
commit
e22a91ccc9
@ -648,8 +648,8 @@ void BOPAlgo_PaveFiller::MakeBlocks()
|
||||
// check if the pave block has a valid range
|
||||
Standard_Real aFirst, aLast;
|
||||
if (!BRepLib::FindValidRange(GeomAdaptor_Curve(aIC.Curve()), aTolR3D,
|
||||
aT1, BRep_Tool::Pnt(aV1), BRep_Tool::Tolerance(aV1),
|
||||
aT2, BRep_Tool::Pnt(aV2), BRep_Tool::Tolerance(aV2),
|
||||
aT1, BRep_Tool::Pnt(aV1), Max (aTolR3D, BRep_Tool::Tolerance(aV1)),
|
||||
aT2, BRep_Tool::Pnt(aV2), Max (aTolR3D, BRep_Tool::Tolerance(aV2)),
|
||||
aFirst, aLast))
|
||||
{
|
||||
// If the pave block does not have valid range, i.e. it is completely
|
||||
|
@ -31,4 +31,24 @@ foreach sh [explode t] {
|
||||
checkmaxtol $sh -ref 5.e-6
|
||||
}
|
||||
|
||||
checkview -display result -2d -path ${imagedir}/${test_image}.png
|
||||
checkview -display result -2d -path ${imagedir}/${test_image}_fuse.png
|
||||
|
||||
# subsequent cut operation
|
||||
box box 0.06335 0.06335 0.05
|
||||
bclearobjects
|
||||
bcleartools
|
||||
baddobjects box
|
||||
baddtools result
|
||||
bfillds
|
||||
bbop result_cut 2
|
||||
|
||||
checkshape result_cut
|
||||
checknbshapes result_cut -face 756 -shell 1 -solid 1 -t
|
||||
checkprops result_cut -s 0.0545148 -v 0.000191753
|
||||
|
||||
if {![regexp "This shape seems to be OK" [bopcheck result_cut]]} {
|
||||
puts "Error: the result_cut shape is self-interfered"
|
||||
}
|
||||
checkmaxtol result_cut -ref 5.e-6
|
||||
|
||||
checkview -display result_cut -2d -path ${imagedir}/${test_image}_cut.png
|
||||
|
Loading…
x
Reference in New Issue
Block a user