mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-07-30 13:05:50 +03:00
1. Dump of WLine is shown with more precise. 2. Equation solving with more precise. 3. Dump of Multy-line. 4. Code optimization. Some test cases were updated in accordance with their new behaviour. Correction of test cases for issue CR25531
75 lines
1.7 KiB
Plaintext
Executable File
75 lines
1.7 KiB
Plaintext
Executable File
puts "========="
|
|
puts "CR24915"
|
|
puts "========="
|
|
puts ""
|
|
###############################
|
|
## Wrong intersection curves between two cylinders
|
|
###############################
|
|
|
|
puts "##############################"
|
|
puts "#!!!Searh \"Attention\" keyword on this web-page for additinal checking!!!"
|
|
puts "##############################"
|
|
|
|
restore [locate_data_file bug24915_ft2.brep] b1
|
|
restore [locate_data_file bug24915_ft3.brep] b2
|
|
|
|
# 1. topology
|
|
bclearobjects
|
|
bcleartools
|
|
baddobjects b1 b2
|
|
bfillds
|
|
bbuild r
|
|
checkshape r
|
|
|
|
# 2. geometry
|
|
set MaxTol 5.0e-7
|
|
set log [bopcurves b1 b2]
|
|
|
|
mksurface s1 b1
|
|
mksurface s2 b2
|
|
|
|
regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
|
|
|
|
if {${Toler} > ${MaxTol}} {
|
|
puts "Error: Tolerance is too big!"
|
|
}
|
|
|
|
for {set i 1} {$i <= ${NbCurv}} {incr i} {
|
|
set log [dump c_$i]
|
|
|
|
regexp {Degree +([-0-9.+eE]+), +([-0-9.+eE]+) Poles, +([-0-9.+eE]+)} ${log} full Degree Poles KnotsPoles
|
|
|
|
set Knot 1
|
|
set exp_string "Knots :\n\n +${Knot} : +(\[-0-9.+eE\]+) +(\[-0-9.+eE\]+)"
|
|
regexp ${exp_string} ${log} full U1 Mult1
|
|
|
|
set Knot ${KnotsPoles}
|
|
set exp_string " +${Knot} : +(\[-0-9.+eE\]+) +(\[-0-9.+eE\]+)"
|
|
regexp ${exp_string} ${log} full U2 Mult2
|
|
|
|
dlog reset
|
|
dlog on
|
|
xdistcs c_$i s1 ${U1} ${U2} 100
|
|
set Log2 [dlog get]
|
|
set List2 [split ${Log2} {TD= \t\n}]
|
|
set Tolerance 1.6e-6
|
|
set Limit_Tol 1.0e-7
|
|
set D_good 0.
|
|
catch {checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}}
|
|
|
|
dlog reset
|
|
dlog on
|
|
xdistcs c_$i s2 ${U1} ${U2} 100
|
|
set Log2 [dlog get]
|
|
set List2 [split ${Log2} {TD= \t\n}]
|
|
set Tolerance 1.6e-6
|
|
set Limit_Tol 1.0e-7
|
|
set D_good 0.
|
|
catch {checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}}
|
|
}
|
|
|
|
smallview
|
|
donly b2 c_2
|
|
fit
|
|
set only_screen_axo 1
|