1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
#INTERFACE CAF
puts "================"
puts "OCC1228"
puts "================"
puts ""
# XLink attributes
#
# Testing attribute: TDocStd_XLink
#
# Testing command: CopyWithLink
#
# ANALOG: puts "caf004-B3"
# Create two new documents Doc1, Doc2
NewDocument Doc1 BinOcaf
NewDocument Doc2 BinOcaf
# Set UndoLimit for them
UndoLimit Doc1 100
UndoLimit Doc2 100
# Set a shape in Doc1 to label 'SLabel'
set aLabel1 0:2
Label Doc1 ${aLabel1}
SetName Doc1 ${aLabel1} SLabel
set aSetX1 10
set aSetY1 20
set aSetZ1 30
set aSetDX1 100
set aSetDY1 200
set aSetDZ1 300
box aBox1 ${aSetX1} ${aSetY1} ${aSetZ1} ${aSetDX1} ${aSetDY1} ${aSetDZ1}
set aBoundingBox1 [bounding aBox1]
set X1_Box1 [lindex ${aBoundingBox1} 0]
set Y1_Box1 [lindex ${aBoundingBox1} 1]
set Z1_Box1 [lindex ${aBoundingBox1} 2]
set X2_Box1 [lindex ${aBoundingBox1} 3]
set Y2_Box1 [lindex ${aBoundingBox1} 4]
set Z2_Box1 [lindex ${aBoundingBox1} 5]
SetShape Doc1 ${aLabel1} aBox1
# Create a new label 'TLabel1' in Doc1
set aLabel2 0:3
Label Doc1 ${aLabel2}
SetName Doc1 ${aLabel2} TLabel1
# Open transaction in Doc1
NewCommand Doc1
# Copy 'SLabel' to the label 'TLabel1' with link
CopyWithLink Doc1 ${aLabel2} Doc1 ${aLabel1}
# Close/Open transaction
NewCommand Doc1
# Save the document
set aFile ${imagedir}/OCC1228-[file tail [info script]].cbf
file delete ${aFile}
catch {SaveAs Doc1 ${aFile}}
if { ![file exists ${aFile}] } {
puts "There is not ${aFile} file; SaveAs command: Error"
puts "OCC1228: ERROR (case 1)"
}
#catch {exec chmod 777 ${aFile}}
# Restore the document
Close Doc1
catch {Open ${aFile} Doc2}
# Get a shape from 'TLabel1' of restoring document
set IsDone [catch {GetShape Doc2 ${aLabel2} aBox2} aResult]
if { ${IsDone} != 0 } {
puts ${aResult}
puts "Get a value of TNaming_NamedShape attribute from restoring document: Error"
puts "OCC1228: ERROR (case 2)"
}
catch {set aBoundingBox2 [bounding aBox2]}
set X1_Box2 0
set Y1_Box2 0
set Z1_Box2 0
set X2_Box2 0
set Y2_Box2 0
set Z2_Box2 0
catch {set X1_Box2 [lindex ${aBoundingBox2} 0]}
catch {set Y1_Box2 [lindex ${aBoundingBox2} 1]}
catch {set Z1_Box2 [lindex ${aBoundingBox2} 2]}
catch {set X2_Box2 [lindex ${aBoundingBox2} 3]}
catch {set Y2_Box2 [lindex ${aBoundingBox2} 4]}
catch {set Z2_Box2 [lindex ${aBoundingBox2} 5]}
if { ${X1_Box1} != ${X1_Box2} ||
${Y1_Box1} != ${Y1_Box2} ||
${Z1_Box1} != ${Z1_Box2} ||
${X2_Box1} != ${X2_Box2} ||
${Y2_Box1} != ${Y2_Box2} ||
${Z2_Box1} != ${Z2_Box2} } {
puts "X1_Box1=${X1_Box1} Y1_Box1=${Y1_Box1} Z1_Box1=${Z1_Box1} X2_Box1=${X2_Box1} Y2_Box1=${Y2_Box1} Z2_Box1=${Z2_Box1}"
puts "X1_Box2=${X1_Box2} Y1_Box2=${Y1_Box2} Z1_Box2=${Z1_Box2} X2_Box2=${X2_Box2} Y2_Box2=${Y2_Box2} Z2_Box2=${Z2_Box2}"
puts "Get a link between attributes of the same document from restoring document: Error"
puts "OCC1228: ERROR (case 3)"
} else {
puts "Get a link between attributes of the same document from restoring document: OK"
puts "OCC1228: OK"
}
|