#INTERFACE CAF # Basic attributes # # Testing attribute: TDataStd_Point # # Testing command: SetPoint # Testing command: GetPoint # puts "caf001-G2" set aTokList { :,} # Add an attribute to a data framework set aSetX1 10 set aSetY1 20 set aSetZ1 30 point aPoint1 ${aSetX1} ${aSetY1} ${aSetZ1} set aDumpPoint1 [dump aPoint1] # [llength ${aDumpPoint1}] = 10 # Format of ${aDumpPoint1}: # *********** Dump of aPoint1 ************* # Point : 1.000000000000000e+01, 2.000000000000000e+01, 3.000000000000000e+01 set X_Point1 [lindex [split [lindex ${aDumpPoint1} 7] ${aTokList}] 0] set Y_Point1 [lindex [split [lindex ${aDumpPoint1} 8] ${aTokList}] 0] set Z_Point1 [lindex [split [lindex ${aDumpPoint1} 9] ${aTokList}] 0] set aLabel 0:2 SetPoint D ${aLabel} aPoint1 # Close/Open the transaction NewCommand D # Set a new value of the attribute set aSetX3 110 set aSetY3 120 set aSetZ3 130 point aPoint3 ${aSetX3} ${aSetY3} ${aSetZ3} SetPoint D ${aLabel} aPoint3 # Close/Open the transaction NewCommand D # Undo Undo D # Get a value of the attribute GetPoint D ${aLabel} aPoint4 set aDumpPoint4 [dump aPoint4] set X_Point4 [lindex [split [lindex ${aDumpPoint4} 7] ${aTokList}] 0] set Y_Point4 [lindex [split [lindex ${aDumpPoint4} 8] ${aTokList}] 0] set Z_Point4 [lindex [split [lindex ${aDumpPoint4} 9] ${aTokList}] 0] if { ${X_Point1} != ${X_Point4} || ${Y_Point1} != ${Y_Point4} || ${Z_Point1} != ${Z_Point4} } { puts "X_Point1=${X_Point1} X_Point4=${X_Point4}" puts "Y_Point1=${Y_Point1} Y_Point4=${Y_Point4}" puts "Z_Point1=${Z_Point1} Z_Point4=${Z_Point4}" puts "Set a value of TDataStd_Point attribute: Error" return } puts "Set a value of TDataStd_Point attribute: OK"