| 1 | puts "============" |
| 2 | puts "CR24351" |
| 3 | puts "============" |
| 4 | puts "" |
| 5 | ####################################################################### |
| 6 | # Test AIS Diameter dimensions: label position and arrow orientation |
| 7 | ####################################################################### |
| 8 | pload VISUALIZATION |
| 9 | |
| 10 | vfont add [locate_data_file DejaVuSans.ttf] SansFont |
| 11 | |
| 12 | vinit |
| 13 | vright |
| 14 | |
| 15 | set hpos "left hcenter right" |
| 16 | set vpos "above vcenter below" |
| 17 | |
| 18 | # --------------------------------------------------------------------- |
| 19 | # create dimensions with different arrow orientation and fit algorithm |
| 20 | # --------------------------------------------------------------------- |
| 21 | |
| 22 | # test forced internal arrow orientation |
| 23 | vpoint circle1_p1 0 0 30 |
| 24 | vpoint circle1_p2 30 0 0 |
| 25 | vpoint circle1_p3 60 0 30 |
| 26 | vcircle circle1 circle1_p1 circle1_p2 circle1_p3 0 |
| 27 | vdimension diam1 -diameter -shapes circle1 -text 3d -plane zox -label hfit -flyout 0 -arrow internal -font SansFont |
| 28 | |
| 29 | # test forced external arrow orientation |
| 30 | vpoint circle2_p1 100 0 30 |
| 31 | vpoint circle2_p2 130 0 0 |
| 32 | vpoint circle2_p3 160 0 30 |
| 33 | vcircle circle2 circle2_p1 circle2_p2 circle2_p3 0 |
| 34 | vdimension diam2 -diameter -shapes circle2 -text 3d -plane zox -label hfit -flyout 0 -arrow external -font SansFont |
| 35 | |
| 36 | # test that auto-fit for arrow places them externally for small geometry |
| 37 | vpoint circle3_p1 0 0 102 |
| 38 | vpoint circle3_p2 22 0 80 |
| 39 | vpoint circle3_p3 44 0 102 |
| 40 | vcircle circle3 circle3_p1 circle3_p2 circle3_p3 0 |
| 41 | vdimension diam3 -diameter -shapes circle3 -text 3d -plane zox -label hcenter -flyout 0 -label hfit -arrow fit -font SansFont |
| 42 | |
| 43 | # test that auto-fit for text places the label externally for small geometry |
| 44 | vpoint circle4_p1 100 0 92 |
| 45 | vpoint circle4_p2 112 0 80 |
| 46 | vpoint circle4_p3 124 0 92 |
| 47 | vcircle circle4 circle4_p1 circle4_p2 circle4_p3 0 |
| 48 | vdimension diam4 -diameter -shapes circle4 -text 3d -plane zox -label hfit -flyout 0 -label hfit -arrow fit -font SansFont |
| 49 | |
| 50 | vfit |
| 51 | |
| 52 | # ------------------------------------------------ |
| 53 | # create dimension with different label positions |
| 54 | # ------------------------------------------------ |
| 55 | |
| 56 | vinit Viewer2/View2 |
| 57 | vright |
| 58 | |
| 59 | set idx 0 |
| 60 | for {set r 0} {$r < 3} {incr r} { |
| 61 | for {set c 0} {$c < 3} {incr c} { |
| 62 | |
| 63 | set point1 p_[expr "$idx * 3 + 0"] |
| 64 | set point2 p_[expr "$idx * 3 + 1"] |
| 65 | set point3 p_[expr "$idx * 3 + 2"] |
| 66 | set circle c_[expr "$idx"] |
| 67 | |
| 68 | vpoint $point1 [expr "80.0 * $c + 0"] 0.0 [expr "60.0 * $r + 22"] |
| 69 | vpoint $point2 [expr "80.0 * $c + 22"] 0.0 [expr "60.0 * $r + 0"] |
| 70 | vpoint $point3 [expr "80.0 * $c + 44"] 0.0 [expr "60.0 * $r + 22"] |
| 71 | vcircle $circle $point1 $point2 $point3 0 |
| 72 | |
| 73 | set dimension d_$idx |
| 74 | |
| 75 | vdimension $dimension -diameter -shapes $circle -text 3d -plane zox -label [lindex $hpos $c] [lindex $vpos $r] -arrow external -flyout 0.0 -font SansFont |
| 76 | vdisplay $dimension |
| 77 | |
| 78 | incr idx |
| 79 | } |
| 80 | } |
| 81 | vfit |
| 82 | |
| 83 | set only_screen 1 |