--- /dev/null
+puts "========"
+puts "OCC24694"
+puts "========"
+puts ""
+############################################################################
+# Wrong processing of two surfaces (implicit and parametric) having tangential intersection: it is not found by intersector
+############################################################################
+
+cylinder cc 300 -200 0 0 1 0 1 0 0 100
+torus tt 0 0 0 0 0 1 -1 0 0 300 100
+trimv tcc cc -200 600
+
+convert s2 tt
+
+mkface f1 tcc
+mkface f2 s2
+
+bop f1 f2
+bopfuse result
+
+checkarea result 1.68947e+06 0.01 0.01
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX : 8
+ EDGE : 16
+ WIRE : 10
+ FACE : 10
+ SHELL : 0
+ SOLID : 0
+ COMPSOLID : 0
+ COMPOUND : 1
+ SHAPE : 45
+"
+
+checknbshapes result -ref ${nbshapes_expected} -t -m "Result obtained by processing of two surfaces having tangential intersection"
+
+set 3dviewer 1
--- /dev/null
+puts "========"
+puts "OCC24694"
+puts "========"
+puts ""
+############################################################################
+# Wrong processing of two surfaces (implicit and parametric) having tangential intersection: it is not found by intersector
+############################################################################
+
+restore [locate_data_file bug23046_s10] s1
+restore [locate_data_file bug23046_s13] s2
+
+trimv ts1 s1 -200 600
+mkface f1 ts1
+mkface f2 s2
+
+bop f1 f2
+bopfuse result
+
+checkarea result 1.68701e+06 0.01 0.01
+
+set nbshapes_expected "
+Number of shapes in shape
+ VERTEX : 8
+ EDGE : 16
+ WIRE : 10
+ FACE : 10
+ SHELL : 0
+ SOLID : 0
+ COMPSOLID : 0
+ COMPOUND : 1
+ SHAPE : 45
+"
+
+checknbshapes result -ref ${nbshapes_expected} -t -m "Result obtained by processing of two surfaces having tangential intersection"
+
+set 3dviewer 1
--- /dev/null
+puts "========"
+puts "OCC24694"
+puts "========"
+puts ""
+############################################################################
+# Wrong processing of two surfaces (implicit and parametric) having tangential intersection: it is not found by intersector
+############################################################################
+
+restore [locate_data_file bug23046_s11] s1
+restore [locate_data_file bug23046_s13] s2
+
+set CurveNumb [intersect i s1 s2]
+
+if { [llength ${CurveNumb}] != 7 } {
+ puts "Error : Bad Result obtained by processing of two surfaces having tangential intersection"
+} else {
+ puts "OK : Good Result obtained by processing of two surfaces having tangential intersection"
+}
+
+smallview
+fit
+
+set only_screen_axo 1
--- /dev/null
+puts "========"
+puts "OCC24694"
+puts "========"
+puts ""
+############################################################################
+# Wrong processing of two surfaces (implicit and parametric) having tangential intersection: it is not found by intersector
+############################################################################
+
+restore [locate_data_file bug23046_s11] s1
+restore [locate_data_file bug23046_s17] s2
+
+set CurveNumb [intersect i s1 s2]
+
+if { [llength ${CurveNumb}] != 7 } {
+ puts "Error : Bad Result obtained by processing of two surfaces having tangential intersection"
+} else {
+ puts "OK : Good Result obtained by processing of two surfaces having tangential intersection"
+}
+
+smallview
+fit
+
+set only_screen_axo 1
--- /dev/null
+puts "========"
+puts "OCC24694"
+puts "========"
+puts ""
+############################################################################
+# Wrong processing of two surfaces (implicit and parametric) having tangential intersection: it is not found by intersector
+############################################################################
+
+restore [locate_data_file bug23046_s20] s1
+restore [locate_data_file bug23046_s23] s2
+
+smallview
+donly s2
+fit
+display s1
+
+set CurveNumb [intersect i s1 s2]
+
+if { [llength ${CurveNumb}] != 1 } {
+ puts "Error : Bad Result obtained by processing of two surfaces having tangential intersection"
+} else {
+ puts "OK : Good Result obtained by processing of two surfaces having tangential intersection"
+}
+
+set only_screen_axo 1
--- /dev/null
+puts "========"
+puts "OCC24694"
+puts "========"
+puts ""
+############################################################################
+# Wrong processing of two surfaces (implicit and parametric) having tangential intersection: it is not found by intersector
+############################################################################
+
+restore [locate_data_file bug23046_s22] s1
+restore [locate_data_file bug23046_s21] s2
+
+smallview
+donly s1
+fit
+display s2
+
+set CurveNumb [intersect i s1 s2]
+
+if { [llength ${CurveNumb}] != 1 } {
+ puts "Error : Bad Result obtained by processing of two surfaces having tangential intersection"
+} else {
+ puts "OK : Good Result obtained by processing of two surfaces having tangential intersection"
+}
+
+set only_screen_axo 1
--- /dev/null
+puts "========"
+puts "OCC24694"
+puts "========"
+puts ""
+############################################################################
+# Wrong processing of two surfaces (implicit and parametric) having tangential intersection: it is not found by intersector
+############################################################################
+
+cylinder cc 10
+trimv tcc cc -20 20
+sphere ss 10
+convert s2 ss
+clpoles s2
+nbiso s2 10 10
+
+smallview
+donly tcc s2
+fit
+
+set CurveNumb [intersect i tcc s2]
+
+if { [llength ${CurveNumb}] != 1 } {
+ puts "Error : Bad Result obtained by processing of two surfaces having tangential intersection"
+} else {
+ puts "OK : Good Result obtained by processing of two surfaces having tangential intersection"
+}
+
+set only_screen_axo 1