mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-04 18:06:22 +03:00
Old vright equals new vfront, old vfront equals new vright, old vleft equals new vback, old vback equals new vleft.
79 lines
2.6 KiB
Plaintext
79 lines
2.6 KiB
Plaintext
puts "============"
|
|
puts "CR24351"
|
|
puts "============"
|
|
puts ""
|
|
#######################################################################
|
|
# Test AIS angle dimensions: label position and arrow orientation
|
|
#######################################################################
|
|
pload VISUALIZATION
|
|
|
|
vfont add [locate_data_file DejaVuSans.ttf] SansFont
|
|
|
|
vinit
|
|
vfront
|
|
|
|
set hpos "left hcenter right"
|
|
set vpos "above vcenter below"
|
|
|
|
# ---------------------------------------------------------------------
|
|
# create dimensions with different arrow orientation and fit algorithm
|
|
# ---------------------------------------------------------------------
|
|
|
|
# test forced internal arrow orientation
|
|
vpoint angle1_p1 0 0 40
|
|
vpoint angle1_p2 0 0 0
|
|
vpoint angle1_p3 40 0 0
|
|
vdimension ang1 -angle -shapes angle1_p1 angle1_p2 angle1_p3 -text 3d -plane zox -label hfit -flyout 40.0 -arrow internal -font SansFont
|
|
|
|
# test forced external arrow orientation
|
|
vpoint angle2_p1 80 0 40
|
|
vpoint angle2_p2 80 0 0
|
|
vpoint angle2_p3 120 0 0
|
|
vdimension ang2 -angle -shapes angle2_p1 angle2_p2 angle2_p3 -text 3d -plane zox -label hfit -flyout 40.0 -arrow external -font SansFont
|
|
|
|
# test that auto-fit for arrow places them externally for small geometry
|
|
vpoint angle3_p1 0 0 100
|
|
vpoint angle3_p2 0 0 80
|
|
vpoint angle3_p3 20 0 80
|
|
vdimension ang3 -angle -shapes angle3_p1 angle3_p2 angle3_p3 -text 3d -plane zox -label hcenter -flyout 20.0 -arrow fit -font SansFont
|
|
|
|
# test that auto-fit for text places the label externally for small geometry
|
|
vpoint angle4_p1 85 0 100
|
|
vpoint angle4_p2 85 0 85
|
|
vpoint angle4_p3 100 0 85
|
|
vdimension ang4 -angle -shapes angle4_p1 angle4_p2 angle4_p3 -text 3d -plane zox -label hfit -flyout 15.0 -arrow fit -font SansFont
|
|
|
|
vdisplay ang1 ang2 ang3 ang4
|
|
vfit
|
|
|
|
# ------------------------------------------------
|
|
# create dimension with different label positions
|
|
# ------------------------------------------------
|
|
|
|
vinit Viewer2/View2
|
|
vfront
|
|
|
|
set idx 0
|
|
for {set r 0} {$r < 3} {incr r} {
|
|
for {set c 0} {$c < 3} {incr c} {
|
|
|
|
set point1 p_[expr "$idx * 3 + 0"]
|
|
set point2 p_[expr "$idx * 3 + 1"]
|
|
set point3 p_[expr "$idx * 3 + 2"]
|
|
|
|
vpoint $point1 [expr "60.0 * $c + 0"] 0.0 [expr "60.0 * $r + 40"]
|
|
vpoint $point2 [expr "60.0 * $c + 0"] 0.0 [expr "60.0 * $r + 0"]
|
|
vpoint $point3 [expr "60.0 * $c + 40"] 0.0 [expr "60.0 * $r + 0"]
|
|
|
|
set dimension r_$idx
|
|
|
|
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
|
|
vdisplay $dimension
|
|
|
|
incr idx
|
|
}
|
|
}
|
|
vfit
|
|
|
|
set only_screen 1
|