+puts "================"
+puts "OCC25660"
+puts "================"
+puts ""
+#######################################################################
+# Project command produce wrong 2dcurve
+#######################################################################
+
+restore [locate_data_file bug25660_c3d.draw] c3d
+restore [locate_data_file bug25660_surf.draw] surf
+
+project c2d c3d surf
+
+set log [dump c2d]
+
+regexp {Degree +([-0-9.+eE]+), +([-0-9.+eE]+) Poles, +([-0-9.+eE]+)} ${log} full Degree Poles KnotsPoles
+puts "Degree=${Degree}"
+puts "Poles=${Poles}"
+puts "KnotsPoles=${KnotsPoles}"
+puts ""
+
+set tol_abs 1.e-7
+set tol_rel 0.01
+set V_i 0
+
+for {set i 1} {${i} <= ${Poles}} {incr i} {
+ set V_i_1 ${V_i}
+ set exp_string " +${i} : +(\[-0-9.+eE\]+), +(\[-0-9.+eE\]+)"
+ regexp ${exp_string} ${log} full U_i V_i
+ #puts "i=${i} U_i=${U_i} V_i=${V_i}"
+ if { ${i} == 1 } {
+ # First pole
+ puts "V_first=${V_i}"
+ set expected_V_first 0.0
+ checkreal "V_first" ${V_i} ${expected_V_first} ${tol_abs} ${tol_rel}
+ }
+ if { ${i} == ${Poles} } {
+ # Last pole
+ puts "V_last=${V_i}"
+ set expected_V_last 6.96771797765
+ checkreal "V_last" ${V_i} ${expected_V_last} ${tol_abs} ${tol_rel}
+ }
+ if { ${i} > 1 } {
+ #puts "i=${i} U_i=${U_i} V_i=${V_i} V_i_1=${V_i_1}"
+ if { ${V_i_1} >= ${V_i} } {
+ puts "Error: Bad value of V in string: ${i} :${U_i}, ${V_i}"
+ }
+ }
+}