puts "========" puts "OCC184" puts "========" # ## Bad IGES/BREP translation # puts "FaceBrep must be identical FaceIGES!!!" puts "========" restore [locate_data_file OCC184.brep] FaceBrep checkshape FaceBrep set dum1 [nbshapes FaceBrep] regexp {VERTEX +: +([-0-9.+eE]+)} $dum1 full nb_v1 regexp {EDGE +: +([-0-9.+eE]+)} $dum1 full nb_e1 regexp {WIRE +: +([-0-9.+eE]+)} $dum1 full nb_w1 regexp {FACE +: +([-0-9.+eE]+)} $dum1 full nb_f1 regexp {SHELL +: +([-0-9.+eE]+)} $dum1 full nb_sh1 regexp {SOLID +: +([-0-9.+eE]+)} $dum1 full nb_sol1 regexp {COMPSOLID +: +([-0-9.+eE]+)} $dum1 full nb_compsol1 regexp {COMPOUND +: +([-0-9.+eE]+)} $dum1 full nb_compound1 regexp {SHAPE +: +([-0-9.+eE]+)} $dum1 full nb_shape1 regexp {Mass +: +([-0-9.+eE]+)} [sprops FaceBrep] full square1 catch {exec rm ${imagedir}/OCC184.igs} brepiges FaceBrep ${imagedir}/OCC184.igs catch {exec chmod 777 ${imagedir}/OCC184.igs} igesbrep ${imagedir}/OCC184.igs FaceIGES * sewing result FaceIGES checkshape result set dum2 [nbshapes result] regexp {VERTEX +: +([-0-9.+eE]+)} $dum2 full nb_v2 regexp {EDGE +: +([-0-9.+eE]+)} $dum2 full nb_e2 regexp {WIRE +: +([-0-9.+eE]+)} $dum2 full nb_w2 regexp {FACE +: +([-0-9.+eE]+)} $dum2 full nb_f2 regexp {SHELL +: +([-0-9.+eE]+)} $dum2 full nb_sh2 regexp {SOLID +: +([-0-9.+eE]+)} $dum2 full nb_sol2 regexp {COMPSOLID +: +([-0-9.+eE]+)} $dum2 full nb_compsol2 regexp {COMPOUND +: +([-0-9.+eE]+)} $dum2 full nb_compound2 regexp {SHAPE +: +([-0-9.+eE]+)} $dum2 full nb_shape2 regexp {Mass +: +([-0-9.+eE]+)} [sprops result] full square2 if { ${nb_v2} != ${nb_v1} || ${nb_e2} != ${nb_e1} || ${nb_w2} != ${nb_w1} || ${nb_f2} != ${nb_f1} || ${nb_sh2} != ${nb_sh1} || ${nb_sol2} != ${nb_sol1} || ${nb_compsol2} != ${nb_compsol1} || ${nb_compound2} != ${nb_compound1} || ${nb_shape2} != ${nb_shape1} } { puts "Error : Number of shapes is faulty" } if { ${square2} != ${square1} } { puts "Error : Square is not valid" } checkmaxtol result 9.9999999999999995e-008 checknbshapes result -shell 0 checkfreebounds result 2 set 2dviewer 0