5 #######################################################################
6 # Test AIS angle dimensions: label position and arrow orientation
7 #######################################################################
13 set hpos "left hcenter right"
14 set vpos "above vcenter below"
16 # ---------------------------------------------------------------------
17 # create dimensions with different arrow orientation and fit algorithm
18 # ---------------------------------------------------------------------
20 vpoint angle1_p1 0 0 40
21 vpoint angle1_p2 0 0 0
22 vpoint angle1_p3 40 0 0
23 vdimension angle name=ang1 text=3d plane=zox label=hfit flyout=40.0 arrows=internal angle1_p1 angle1_p2 angle1_p3
25 vpoint angle2_p1 80 0 40
26 vpoint angle2_p2 80 0 0
27 vpoint angle2_p3 120 0 0
28 vdimension angle name=ang2 text=3d plane=zox label=hfit flyout=40.0 arrows=external angle2_p1 angle2_p2 angle2_p3
30 vpoint angle3_p1 0 0 115
31 vpoint angle3_p2 0 0 80
32 vpoint angle3_p3 35 0 80
33 vdimension angle name=ang3 text=3d plane=zox label=hfit flyout=35.0 arrows=fit angle3_p1 angle3_p2 angle3_p3
35 vpoint angle4_p1 80 0 100
36 vpoint angle4_p2 80 0 80
37 vpoint angle4_p3 100 0 80
38 vdimension angle name=ang4 text=3d plane=zox label=hfit flyout=20.0 arrows=fit angle4_p1 angle4_p2 angle4_p3
40 vdisplay ang1 ang2 ang3 ang4
43 # ------------------------------------------------
44 # create dimension with different label positions
45 # ------------------------------------------------
51 for {set r 0} {$r < 3} {incr r} {
52 for {set c 0} {$c < 3} {incr c} {
54 set point1 p_[expr "$idx * 3 + 0"]
55 set point2 p_[expr "$idx * 3 + 1"]
56 set point3 p_[expr "$idx * 3 + 2"]
58 vpoint $point1 [expr "60.0 * $c + 0"] 0.0 [expr "60.0 * $r + 40"]
59 vpoint $point2 [expr "60.0 * $c + 0"] 0.0 [expr "60.0 * $r + 0"]
60 vpoint $point3 [expr "60.0 * $c + 40"] 0.0 [expr "60.0 * $r + 0"]
64 vdimension angle name=$dimension text=3d plane=zox label=[lindex $hpos $c],[lindex $vpos $r] arrows=external flyout=40.0 $point1 $point2 $point3