1d7ca641 |
1 | puts "============" |
0d828ac8 |
2 | puts "CR24351: Test AIS angle dimensions: label position and arrow orientation" |
1d7ca641 |
3 | puts "============" |
4 | puts "" |
1d7ca641 |
5 | |
0d828ac8 |
6 | pload VISUALIZATION |
6fb1a930 |
7 | vfont add [locate_data_file DejaVuSans.ttf] SansFont |
8 | |
0d828ac8 |
9 | vinit View1 |
27af3052 |
10 | vfront |
1d7ca641 |
11 | |
12 | set hpos "left hcenter right" |
13 | set vpos "above vcenter below" |
14 | |
15 | # --------------------------------------------------------------------- |
16 | # create dimensions with different arrow orientation and fit algorithm |
17 | # --------------------------------------------------------------------- |
18 | |
fe83e1ea |
19 | # test forced internal arrow orientation |
1d7ca641 |
20 | vpoint angle1_p1 0 0 40 |
21 | vpoint angle1_p2 0 0 0 |
22 | vpoint angle1_p3 40 0 0 |
6fb1a930 |
23 | vdimension ang1 -angle -shapes angle1_p1 angle1_p2 angle1_p3 -text 3d -plane zox -label hfit -flyout 40.0 -arrow internal -font SansFont |
1d7ca641 |
24 | |
fe83e1ea |
25 | # test forced external arrow orientation |
1d7ca641 |
26 | vpoint angle2_p1 80 0 40 |
27 | vpoint angle2_p2 80 0 0 |
28 | vpoint angle2_p3 120 0 0 |
6fb1a930 |
29 | vdimension ang2 -angle -shapes angle2_p1 angle2_p2 angle2_p3 -text 3d -plane zox -label hfit -flyout 40.0 -arrow external -font SansFont |
1d7ca641 |
30 | |
fe83e1ea |
31 | # test that auto-fit for arrow places them externally for small geometry |
32 | vpoint angle3_p1 0 0 100 |
1d7ca641 |
33 | vpoint angle3_p2 0 0 80 |
fe83e1ea |
34 | vpoint angle3_p3 20 0 80 |
6fb1a930 |
35 | vdimension ang3 -angle -shapes angle3_p1 angle3_p2 angle3_p3 -text 3d -plane zox -label hcenter -flyout 20.0 -arrow fit -font SansFont |
fe83e1ea |
36 | |
37 | # test that auto-fit for text places the label externally for small geometry |
38 | vpoint angle4_p1 85 0 100 |
39 | vpoint angle4_p2 85 0 85 |
40 | vpoint angle4_p3 100 0 85 |
6fb1a930 |
41 | vdimension ang4 -angle -shapes angle4_p1 angle4_p2 angle4_p3 -text 3d -plane zox -label hfit -flyout 15.0 -arrow fit -font SansFont |
1d7ca641 |
42 | |
43 | vdisplay ang1 ang2 ang3 ang4 |
44 | vfit |
45 | |
46 | # ------------------------------------------------ |
47 | # create dimension with different label positions |
48 | # ------------------------------------------------ |
49 | |
50 | vinit Viewer2/View2 |
27af3052 |
51 | vfront |
1d7ca641 |
52 | |
53 | set idx 0 |
54 | for {set r 0} {$r < 3} {incr r} { |
55 | for {set c 0} {$c < 3} {incr c} { |
56 | |
57 | set point1 p_[expr "$idx * 3 + 0"] |
58 | set point2 p_[expr "$idx * 3 + 1"] |
59 | set point3 p_[expr "$idx * 3 + 2"] |
60 | |
61 | vpoint $point1 [expr "60.0 * $c + 0"] 0.0 [expr "60.0 * $r + 40"] |
62 | vpoint $point2 [expr "60.0 * $c + 0"] 0.0 [expr "60.0 * $r + 0"] |
63 | vpoint $point3 [expr "60.0 * $c + 40"] 0.0 [expr "60.0 * $r + 0"] |
64 | |
65 | set dimension r_$idx |
66 | |
6fb1a930 |
67 | vdimension $dimension -angle -shapes $point1 $point2 $point3 -text 3d -plane zox -label [lindex $hpos $c] [lindex $vpos $r] -arrow external -flyout 40.0 -font SansFont |
1d7ca641 |
68 | vdisplay $dimension |
69 | |
70 | incr idx |
71 | } |
72 | } |
73 | vfit |
74 | |
0d828ac8 |
75 | vdump $imagedir/${casename}.png |