mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-10 18:51:21 +03:00
0029183: Result of general fuse of shell and edge produces a shape with too large tolerance
Adjusting parameters on approximation (boundary condition) for case when projected curve is far from surface Test case is created
This commit is contained in:
parent
6da5b3004c
commit
47a2717138
@ -655,7 +655,7 @@ void BOPTools_AlgoTools2D::MakePCurveOnFace
|
|||||||
aTR = Min(aMaxTol, 0.1*TolReached2d);
|
aTR = Min(aMaxTol, 0.1*TolReached2d);
|
||||||
aMaxSegments = 100;
|
aMaxSegments = 100;
|
||||||
aMaxDist = 1.e3*TolReached2d;
|
aMaxDist = 1.e3*TolReached2d;
|
||||||
if(!isAnaSurf)
|
if(!isAnaSurf || TolReached2d > 1.)
|
||||||
{
|
{
|
||||||
aBndPnt = AppParCurves_PassPoint;
|
aBndPnt = AppParCurves_PassPoint;
|
||||||
}
|
}
|
||||||
|
30
tests/bugs/modalg_7/bug29183
Normal file
30
tests/bugs/modalg_7/bug29183
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
puts "========"
|
||||||
|
puts "OCC29183"
|
||||||
|
puts "========"
|
||||||
|
puts ""
|
||||||
|
#################################################
|
||||||
|
# Result of general fuse of shell and edge
|
||||||
|
# produces a shape with too large tolerance
|
||||||
|
#################################################
|
||||||
|
|
||||||
|
set MaxTol 30
|
||||||
|
|
||||||
|
restore [locate_data_file bug29183_shapes.brep] ss
|
||||||
|
bclearobjects
|
||||||
|
bcleartools
|
||||||
|
baddcompound ss
|
||||||
|
bfillds
|
||||||
|
bbuild r
|
||||||
|
|
||||||
|
regexp {Tolerance MAX=([-0-9.+eE]+)} [tolerance r] full toler
|
||||||
|
|
||||||
|
if {$toler > $MaxTol} {
|
||||||
|
puts "Error: Tolerance after fusing is too large"
|
||||||
|
}
|
||||||
|
|
||||||
|
checknbshapes r -m "Fusing result" -edge 18 -face 7
|
||||||
|
|
||||||
|
smallview
|
||||||
|
don r
|
||||||
|
fit
|
||||||
|
checkview -screenshot -2d -path ${imagedir}/${test_image}_1.png
|
Loading…
x
Reference in New Issue
Block a user