1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-24 13:50:49 +03:00

0030008: BRepMesh does not respect angular deflection in internal area of bspline surface

1. Check whether the mesh satisfies the required angular deflection has been amended. Namely normals (to the surface) in the ends of any not "frontier" link are made collinear (with the given angular tolerance).

2. New parameters AngleInterior and DeflectionInterior have been added in IMeshTools_Parameters structure.

3. In case of thin long faces with internal edges, add points of internal edges to control parameters using grabParamsOfInternalEdges() in order to avoid aberrations on its ends. Disable addition of parameters from boundary edges in case of BSpline surface. Deviation can be controlled through the deflection parameter.

4. Grab parameters from edges in case if there is just a single interval on BSpline surface along U and V direction.
This commit is contained in:
nbv
2018-10-19 16:38:02 +03:00
committed by bugmaster
parent 7bd071edb1
commit 46478ffe32
26 changed files with 354 additions and 107 deletions

View File

@@ -12,5 +12,5 @@ tclean result
incmesh result 0.1
triangles result
checktrinfo result -tri 646 -nod 568
checktrinfo result -tri 638 -nod 564
checkview -display result -2d -path ${imagedir}/${test_image}.png

View File

@@ -14,6 +14,6 @@ vdisplay result
vsetdispmode result 1
vfit
checktrinfo result -tri 2788 -nod 2648
checktrinfo result -tri 2708 -nod 2608
checkview -display result -2d -path ${imagedir}/${test_image}.png

View File

@@ -20,7 +20,7 @@ vsetdispmode result 1
vdisplay result
vfit
checktrinfo result -tri 6046 -nod 5924
checktrinfo result -tri 5810 -nod 5806
checkmaxtol result -ref 0.92213088179312575
checknbshapes result -shell 1

View File

@@ -15,5 +15,5 @@ fit
isos a 0
triangles a
checktrinfo a -tri 2971 -nod 1592 -defl 0.083467373173701759 -tol_rel_defl 0.05 -tol_rel_tri 0.05 -tol_rel_nod 0.05
checktrinfo a -tri 2971 -nod 1592 -defl 0.091190343620839553 -tol_rel_defl 0.05 -tol_rel_tri 0.05 -tol_rel_nod 0.05
checkview -screenshot -2d -path ${imagedir}/${test_image}.png

View File

@@ -0,0 +1,17 @@
puts "======="
puts "0030008: BRepMesh does not respect angular deflection in internal area of bspline surface"
puts "======="
puts ""
restore [locate_data_file bug30008_badshape.brep] result
vinit
vsetdispmode 1
vdisplay result
vviewparams -scale 8.46292 -proj 0.653203 -0.644806 0.396926 -up -0.0109833 0.51609 0.856464 -at 347.559 1026.89 219.262 -eye 2080.75 -684.022 1272.45
tricheck result
checktrinfo result -tri 11826 -nod 7310 -defl 7.6167024939147652
checkview -screenshot -3d -path ${imagedir}/${test_image}.png

View File

@@ -0,0 +1,32 @@
puts "======="
puts "0030008: BRepMesh does not respect angular deflection in internal area of bspline surface"
puts "======="
puts ""
pcylinder cy 100 500
bsplinecurve cc 5 4 -494.543457494654 6 500 4 507.372773368102 4 1501.91623086297 6 -500 -798.578274581199 755.284518447357 1 -500 -646.205376770376 627.428476092882 1 -500 -493.832478959552 499.572433738407 1 -500 -341.459581148729 371.716391383932 1 -500 -189.086683337906 243.860349029457 1 -500 -35.5842111132817 115.056481200973 1 -500 -33.7993197286247 114.2995541724 0.957903314642061 -500 -31.778022626919 114.565662984205 0.95790331464206 -500 -30.2498570721059 115.75876223351 1 -500 84.6852511720001 279.903107977019 1 -500 198.774589601206 442.839569245217 1 -500 312.863928030413 605.776030513415 1 -500 426.953266459619 768.712491781612 1 -500 541.042604888826 931.64895304981 1
extsurf ss cc 1 0 0
mkface ff ss -494.543457494654 1501.91623086297 0 1000
halfspace hs ff 0 0 500
bcut rc cy hs
explode rc f
copy rc_1 result
tscale result 0 0 0 0.01
nurbsconvert result result
incmesh result 0.15 -a 20
tricheck result
checktrinfo result -tri 193 -nod 147 -defl 0.042090809832482222 -tol_abs_defl 1.0e-7
vinit
vdefaults -autoTriang 0
vdisplay result
vfit
vsetdispmode 1
vviewparams -scale 335.304 -eye 1.95918 0.124681 5.05411 -at 0.0736354 0.0378839 1.46922 -up -0.748808 0.542534 0.380715 -proj 0.4654 0.0214236 0.884841
checkview -screenshot -3d -path ${imagedir}/${test_image}.png

View File

@@ -12,6 +12,6 @@ vdisplay result
vfit
tricheck result
checktrinfo result -tri 4006 -nod 2092 -max_defl 0.46
checktrinfo result -tri 3424 -nod 1801 -max_defl 0.52
checkview -screenshot -3d -path ${imagedir}/${test_image}.png

View File

@@ -19,7 +19,7 @@ vdisplay result
vfit
vsetdispmode result 1
checktrinfo result -tri 21446 -nod 11157
checktrinfo result -tri 21654 -nod 11261
checkprops result -s 24861.2
checkshape result
checkview -display result -2d -path ${imagedir}/${test_image}.png

View File

@@ -13,5 +13,5 @@ tclean result
incmesh result .1
triangles result
checktrinfo result -tri 355 -nod 210
checktrinfo result -tri 335 -nod 200
checkview -display result -3d -path ${imagedir}/${test_image}.png

View File

@@ -2,5 +2,5 @@ set TheFileName OCC357.brep
if { [string compare $command "shading"] == 0 } {
#set bug_area "OCC22687"
set max_rel_tol_diff 0.25
set rel_tol 1.0015290236679502
set rel_tol 1.7957583466671934
}

View File

@@ -1,5 +1,5 @@
set TheFileName shading_147.brep
if { [string compare $command "shading"] == 0 } {
set rel_tol 0.8093314937741523
set rel_tol 0.8791879462861206
set max_rel_tol_diff 0.001
}

View File

@@ -3,7 +3,7 @@ set TheFileName shading_wrongshape_004.brep
if { [string compare $command "shading"] == 0 } {
set rel_tol 0.06073194250400039
} else {
set rel_tol 0.0021948131898279323
set rel_tol 0.003702162749171707
}
set max_rel_tol_diff 0.001
###set bug_withouttri "OCC22687"