0030969: Coding Rules - refactor Quantity_Color.cxx color table definition
[occt.git] / samples / tcl / dimensions.tcl
1 # Dimensions demo
2 #
3 # It shows capability of OCC to create different kinds
4 # of dimensions (linear and angular) with 2D or 3D text.
5
6 #Category: Visualization
7 #Title: Dimensions in 3d viewer
8
9 set aTopLoc [locate_data_file occ/Top.brep]
10 set aBotLoc [locate_data_file occ/Bottom.brep]
11 set aHatch  [locate_data_file images/hatch_1.png]
12
13 pload MODELING VISUALIZATION
14
15 puts "Importing shapes..."
16 restore $aTopLoc a
17 restore $aBotLoc b
18
19 vinit View1 w=768 h=768
20 vclear
21 vsetdispmode 0
22 vbackground -color WHITE
23 vbottom
24
25 puts "Getting cut projection..."
26 box bb -150 -250 0 150 250 100
27 bsection bs b bb
28 bsection as a bb
29 vdisplay bs as
30 vfit
31
32 set anAEdges [explode as E]
33 set aBEbges  [explode bs E]
34
35 set anArrAngle [expr 3.14 * 12.0 / 180.0]
36
37 # Form dimension names list to set parameters with vdimparam command
38 set aList {rd_1 rd_2 ad_1 ad_2 ad_3}
39 for {set i 1} {$i <= 10} {incr i} { lappend aList ld_$i }
40
41 puts "Creating dimensions..."
42 vdimension ld_1 -length -shapes bs_27 -plane xoy -color black -flyout -15
43 vdimension ld_2 -length -shapes bs_14 -plane xoy -color black -flyout 15
44 vdimension ld_3 -length -shapes bs_28 -plane xoy -color black -label right -flyout -27
45 vdimension ld_4 -length -shapes as_7 -plane xoy -color black -flyout -20
46 vdimension ld_5 -length -shapes as_28 -plane xoy -color black -flyout -15
47 vdimension ld_6 -length -shapes as_18 -plane xoy -color black -flyout 30
48 vdimension ld_7 -length -shapes bs_20 -plane xoy -color black -flyout -20
49 vdimension ld_8 -length -shapes as_43 -plane xoy -color black -flyout 55 -label right
50 vdimension ld_9 -length -shapes as_12 -plane xoy -color black -flyout 35 -label right
51 vdimension ld_10 -length -shapes as_40 -plane xoy -color black -flyout 15
52
53 vdimension rd_1 -radius -shapes bs_45 -color black -label right
54 vdimension rd_2 -radius -shapes bs_63 -color black
55
56 vdimension ad_1 -angle -shapes as_38 as_49 -color black
57 vdimension ad_2 -angle -shapes bs_24 bs_25 -color black
58 vdimension ad_3 -angle -shapes as_48 as_43 -color black
59
60 puts "Changing text and arrow parameters of dimensions..."
61 foreach i $aList {
62   vdimparam $i -text 3d sh 6 -arrowlength 4 -arrowangle $anArrAngle
63 }
64
65 vfit
66
67 puts "Displaying exported shapes..."
68 vdisplay -dispMode 1 a b
69 vaspects a -setmaterial steel
70 vaspects b -setmaterial bronze
71
72 puts "Clipping shapes for better view..."
73
74 vclipplane pa -set a -equation 0 0 1 0 -capping on -color GRAY90 -texName $aHatch -texScale 0.05 -0.05
75 vclipplane pb -set b -equation 0 0 1 0 -capping on -color GOLD   -texName $aHatch -texScale 0.05 -0.05
76
77 vbottom
78 vrotate -0.3 -0.3 0
79 vfit
80 vzoom 1.2
81 vrenderparams -msaa 8
82
83 puts "Done."