0030969: Coding Rules - refactor Quantity_Color.cxx color table definition
[occt.git] / samples / tcl / logo2019.tcl
1 # The following example constructs a 3D object looking like new OCC logo on top view.
2 #
3 #Category: Modeling
4 #Title: OCC Logo 2019
5
6 pload MODELING VISUALIZATION XDE OCAF
7
8 # spheric body
9 psphere s 1
10 box b 0 0 -2 1.5 1.5 4
11 bcut sb s b
12
13 # toroidal handle
14 ptorus t 1 0.5
15 trotate t 0 0 0 0 0 1 -90
16 ttranslate t 1.5 1.5 0
17 bcut tb t b
18
19 pcylinder p1 0.5 0.5
20 trotate p1 0 0 0 0 0 1 180
21 trotate p1 0 0 0 1 0 0 90
22 ttranslate p1 0.5 1.5 0
23
24 pcylinder p2 0.5 0.5
25 trotate p2 0 0 0 0 0 1 180
26 trotate p2 0 0 0 1 0 0 90
27 trotate p2 0 0 0 0 0 1 90
28 ttranslate p2 1 0.5 0
29
30 bfuse tp tb p1
31 bfuse tp tp p2
32
33 # intermediate part
34
35 # - get surfaces and edges on half of spheric and toroidal parts for filling
36 box b -2 -2 -2 4 4 2
37 bcut sbh sb b
38 bcut tph tp b
39 unset b
40
41 explode sbh f
42 renamevar sbh_1 sbf
43 explode sbf e
44
45 explode tph f
46 renamevar tph_2 tpf1
47 renamevar tph_13 tpf2
48 explode tpf1 e
49 explode tpf2 e
50
51 # - make curved surface by plate
52 #plate r 0 4 tpf1_1 tpf1 1 tpf2_3 tpf2 1 sbf_2 sbf 1 sbf_4 sbf 1
53 approxplate r1 0 4 tpf1_1 tpf1 0 tpf2_1 tpf2 0 sbf_2 sbf 0 sbf_4 sbf 0 0.00001 100 3 0
54
55 # - make solid
56 tcopy r1 r2
57 tmirror r2 0 0 0 0 0 1
58 explode sb f
59 explode tp f
60 sewing rr 0.001 r1 r2 sb_2 sb_3 tp_2 tp_5
61 ssolid rr rs
62
63 # rotate all solids by 45 deg to have standard orientation of the logo on top view
64 trotate sb 0 0 0 0 0 1 -45
65 trotate tp 0 0 0 0 0 1 -45
66 trotate rs 0 0 0 0 0 1 -45
67
68 # create XDE document
69 catch {Close D}
70 XNewDoc D
71 set main [XNewShape D]
72 XAddComponent D $main sb
73 XAddComponent D $main tp
74 XAddComponent D $main rs
75 XUpdateAssemblies D
76 SetName D $main "OCC Logo 2019"
77 SetName D [XFindShape D sb] "Core"
78 SetName D [XFindShape D tp] "Loop"
79 SetName D [XFindShape D rs] "Connector"
80 XSetColor D sb FF3652
81 XSetColor D tp 00AADA
82 XSetColor D rs 0073B0
83
84 # display
85 vinit View1
86 vbackground -color WHITE
87 XDisplay -dispMode 1 D
88 vtop
89 vfit