puts "========" puts "0030645: Modeling Algorithms - B-spline segmentation produces wrong parametrization" puts "========" puts "" restore [locate_data_file bug30645.brep] result set tolerance 1.e-9 segsur result 13.527990713022374 14.030423915738853 54.831990159753303 59.000000000000028 $tolerance set surf [dump result] regexp {VKnots +:\n(.*)} $surf full vknots set is_different_knots 1 set vknots_list {} while { "$vknots" != "\n\n" && $is_different_knots } { regexp { +([0-9]+) +: +([-0-9.+eE]+) *([0-9]+)\n(.*)} $vknots full index knot weight rest foreach k $vknots_list { if { [expr abs($k - $knot)] < $tolerance } { set is_different_knots 0 } } lappend vknots_list $knot set vknots $rest } if { $is_different_knots } { puts "OK: all knots are different" } else { puts "ERROR: segment has knots too close" }