puts "================" puts "OCC2932" puts "================" puts "" ####################################################################################### # Create Attribute Delta depending on actual change of the attribute ####################################################################################### # Case 3 (TDataStd_Constraint) ####################################################################################### # Create a new document and set UndoLimit NewDocument D MDTV-Standard UndoLimit D 100 # Create a label and set attributes NewCommand D set Label 0:2 ############################################ # Create a box set X 10 set Y 20 set Z 30 set DX 100 set DY 200 set DZ 300 box Box ${X} ${Y} ${Z} ${DX} ${DY} ${DZ} # Set a shape to the label set BoxLabel 0:3 SetShape D ${BoxLabel} Box # Set integer attribute set Integer 10 set IntegerLabel 0:4 SetInteger D ${IntegerLabel} ${Integer} ############################################ set Real1 300. set Real2 400. set modified_attribute TDataStd_Real ############################################ # Set TDataStd_Constraint Label D ${Label} SetConstraint D ${Label} "tan" ${BoxLabel} SetConstraint D ${Label} "plane" ${BoxLabel} SetConstraint D ${Label} "value" ${IntegerLabel} ############################################ SetReal D ${Label} ${Real1} set list [DumpCommand D] # Open a transaction NewCommand D set list [DumpCommand D] ############################################ # Set old value for TDataStd_Constraint SetConstraint D ${Label} "tan" ${BoxLabel} SetConstraint D ${Label} "plane" ${BoxLabel} SetConstraint D ${Label} "value" ${IntegerLabel} ############################################ # Set new value for TDataStd_Real SetReal D ${Label} ${Real2} set list [DumpCommand D] # Open a transaction NewCommand D set list [DumpCommand D] # Checking set ll [llength ${list}] set good_length 17 puts "length = ${ll}" puts "good_length = ${good_length}" if { ${ll} != ${good_length} } { puts "OCC2932 Error (case 1)" } else { set name_attribute [lindex ${list} [expr ${good_length} - 1]] puts "name_attribute = ${name_attribute}" puts "modified_attribute = ${modified_attribute}" if {[string compare ${name_attribute} ${modified_attribute}] == 0} { puts "OCC2932 OK" } else { puts "OCC2932 Error (case 2)" } }