--- /dev/null
+puts "========"
+puts "OCC567: Can not intersect two Rectangular Trimmed Surfaces ."
+puts "========"
+puts ""
+
+set GoodNbCurves 1
+
+restore [locate_data_file OCC567a.draw] s1
+restore [locate_data_file OCC567b.draw] s2
+
+foreach a [directory res*] {unset $a}
+
+trim s1x s1 0 2*pi 0 2*pi/13
+trim s2x s2 0 2*pi 0 2*pi/13
+
+if { [catch {intersect res s1x s2x } catch_result] } {
+ puts "Faulty OCC565 exception: function intersection works wrongly with trimmed Surfaces"
+} else {
+ set che [whatis res]
+ set ind [string first "3d curve" $che]
+ if {${ind} >= 0} {
+ #Only variable "res" exists
+ renamevar res res_1
+ }
+
+ bclearobjects
+ bcleartools
+
+ set ic 1
+ set AllowRepeat 1
+ while { $AllowRepeat != 0 } {
+ set che [whatis res_$ic]
+ set ind [string first "3d curve" $che]
+ if {${ind} < 0} {
+ set AllowRepeat 0
+ } else {
+
+ bounds res_$ic U1 U2
+
+ if {[dval U2-U1] < 1.0e-9} {
+ puts "Error: Wrong curve's range!"
+ }
+
+ xdistcs res_$ic s1 U1 U2 100 2.0e-7
+ xdistcs res_$ic s2 U1 U2 100 2.0e-7
+
+ for { set ip [expr $ic-1] } { $ip > 0 } { incr ip -1 } {
+ mkedge e1 res_$ic
+ mkedge e2 res_$ip
+
+ set coe [checkoverlapedges e1 e2 5.0e-5]
+
+ puts "res_$ic <-> res_$ip: $coe"
+ if { [regexp "Edges is not overlaped" $coe] != 1 } {
+ puts "Error: res_$ic and res_$ip are overlaped"
+ }
+ }
+
+ mkedge ee res_$ic
+ baddobjects ee
+
+ incr ic
+ }
+ }
+
+ incr ic -1
+
+ if {$ic != $GoodNbCurves} {
+ puts "Error: $GoodNbCurves curves are expected but $ic ones are found."
+ }
+
+ if {$ic != 1} {
+ # Check of gaps between intersection curves
+ bfillds
+ bbuild rs
+
+ checknbshapes rs -edge 1
+ checksection rs -r 2
+ }
+}
+
+smallview
+don res_*
+
+fit
+don s1 s2
+disp res_*
+
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png