5 #######################################################################
6 # Test AIS Diameter 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 # test forced internal arrow orientation
21 vpoint circle1_p1 0 0 30
22 vpoint circle1_p2 30 0 0
23 vpoint circle1_p3 60 0 30
24 vcircle circle1 circle1_p1 circle1_p2 circle1_p3 0
25 vdimension diameter name=diam1 text=3d plane=zox label=hfit flyout=0 arrows=internal circle1
27 # test forced external arrow orientation
28 vpoint circle2_p1 100 0 30
29 vpoint circle2_p2 130 0 0
30 vpoint circle2_p3 160 0 30
31 vcircle circle2 circle2_p1 circle2_p2 circle2_p3 0
32 vdimension diameter name=diam2 text=3d plane=zox label=hfit flyout=0 arrows=external circle2
34 # test that auto-fit for arrow places them externally for small geometry
35 vpoint circle3_p1 0 0 102
36 vpoint circle3_p2 22 0 80
37 vpoint circle3_p3 44 0 102
38 vcircle circle3 circle3_p1 circle3_p2 circle3_p3 0
39 vdimension diameter name=diam3 text=3d plane=zox label=hcenter flyout=0 label=hfit arrows=fit circle3
41 # test that auto-fit for text places the label externally for small geometry
42 vpoint circle4_p1 100 0 92
43 vpoint circle4_p2 112 0 80
44 vpoint circle4_p3 124 0 92
45 vcircle circle4 circle4_p1 circle4_p2 circle4_p3 0
46 vdimension diameter name=diam4 text=3d plane=zox label=hfit flyout=0 label=hfit arrows=fit circle4
48 vdisplay diam1 diam2 diam3 diam4
51 # ------------------------------------------------
52 # create dimension with different label positions
53 # ------------------------------------------------
59 for {set r 0} {$r < 3} {incr r} {
60 for {set c 0} {$c < 3} {incr c} {
62 set point1 p_[expr "$idx * 3 + 0"]
63 set point2 p_[expr "$idx * 3 + 1"]
64 set point3 p_[expr "$idx * 3 + 2"]
65 set circle c_[expr "$idx"]
67 vpoint $point1 [expr "80.0 * $c + 0"] 0.0 [expr "60.0 * $r + 22"]
68 vpoint $point2 [expr "80.0 * $c + 22"] 0.0 [expr "60.0 * $r + 0"]
69 vpoint $point3 [expr "80.0 * $c + 44"] 0.0 [expr "60.0 * $r + 22"]
70 vcircle $circle $point1 $point2 $point3 0
74 vdimension diameter name=$dimension text=3d plane=zox label=[lindex $hpos $c],[lindex $vpos $r] arrows=external flyout=0.0 $circle