mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-04 18:06:22 +03:00
The analysis of small area in the method ShapeAnalysis_Wire::CheckSmallArea is performed the following way: - On the fisrt step algorithm produces a rough estimation of part of surface area. - In a case if obtained estimation is less than tolerance then evaluate real area and comapre this value with tolerance. - New flag has been added to XSTEPResource/IGES. In a case if flag is true the faces with small 3d area is removed from ShapeFix context. Test-case for issue #25923 and update test-cases in de group according to the new behavior.
50 lines
1.1 KiB
Plaintext
50 lines
1.1 KiB
Plaintext
puts "========"
|
|
puts "OCC25923"
|
|
puts "========"
|
|
puts ""
|
|
#############################################
|
|
# Remove small wires on face read from STEP
|
|
#############################################
|
|
|
|
smallview
|
|
restore [locate_data_file OCC25923_FixSmallWire_Orientation.brep] a
|
|
fit
|
|
|
|
dlog reset
|
|
dlog on
|
|
decho off
|
|
checkshape a
|
|
set bug_info_1 [dlog get]
|
|
set bug_info_1 [lrange $bug_info_1 2 7]
|
|
decho on
|
|
|
|
fixshape r a +s +o 1e-3
|
|
dlog reset
|
|
dlog on
|
|
decho off
|
|
checkshape r
|
|
set bug_info_2 [dlog get]
|
|
set bug_info_2 [lrange $bug_info_2 2 7]
|
|
decho on
|
|
|
|
fixshape r r +o
|
|
dlog reset
|
|
dlog on
|
|
decho off
|
|
checkshape r
|
|
set bug_info_3 [dlog get]
|
|
set bug_info_3 [lrange $bug_info_3 2 7]
|
|
decho on
|
|
|
|
if {[string compare $bug_info_1 "This shape seems to be valid"] != 0} {
|
|
puts "ERRROR: Restored shape is not valid."
|
|
}
|
|
if {[string compare $bug_info_2 "This shape seems to be valid"] == 0} {
|
|
puts "ERRROR: OCC25923 is reproduced. Algorythm of removing small wires on face does not work."
|
|
}
|
|
if {[string compare $bug_info_3 "This shape seems to be valid"] != 0} {
|
|
puts "ERRROR: OCC25923 is reproduced. Algorythm of removing small wires on face does not work."
|
|
}
|
|
|
|
set only_screen_axo 1
|