0023776: Redesign of MFC samples after V2d viewer removing
[occt.git] / samples / tcl / ModelingDemo.tcl
1 # Copyright (c) 1999-2012 OPEN CASCADE SAS
2 #
3 # The content of this file is subject to the Open CASCADE Technology Public
4 # License Version 6.5 (the "License"). You may not use the content of this file
5 # except in compliance with the License. Please obtain a copy of the License
6 # at http://www.opencascade.org and read it completely before using this file.
7 #
8 # The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
9 # main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
10 #
11 # The Original Code and all software distributed under the License is
12 # distributed on an "AS IS" basis, without warranty of any kind, and the
13 # Initial Developer hereby disclaims all such warranties, including without
14 # limitation, any warranties of merchantability, fitness for a particular
15 # purpose or non-infringement. Please see the License for the specific terms
16 # and conditions governing the rights and limitations under the License.
17
18 # Command to log a message to both command-line and dialog window
19 proc sage { a} {
20     if { ![winfo exists .h ] } {
21         toplevel .h -bg azure3
22         wm title .h "INFO TEST HARNESS"
23         wm geometry .h +320+20
24     } 
25     if { [winfo exists .h.m ] } {
26         set astring [.h.m cget  -text]
27         set newstring "${astring} \n $a"
28         .h.m configure -text $newstring 
29         puts $a
30     } else {
31         message .h.m -justify left -bg azure2 -width 13c -relief ridge -bd 4 -text $a
32         puts $a
33     } 
34     pack .h.m
35     update
36 }
37
38 pload MODELING
39
40 smallview
41 if { [winfo exists .h ] } {
42     destroy .h
43 }
44 sage " Creating a box"
45 sage "    box  b -10 -10 -10 20 20 20"
46 sage " "
47 box b -10 -10 -10 20 20 20
48 fit
49 nexplode b f
50 erase b
51 sage " Draft of two lateral faces "
52 sage "    depouille r b  0 0  -1 b_6 -15 10 -10 10  0 0 -1 "
53 sage "    nexplode r f"
54 sage "    depouille rr r  0 0 -1   r_1 -15 -10 -10 10  0 0 -1 "
55 sage " "
56 depouille r b  0 0  -1 b_6 -15 10 -10 10  0 0 -1 
57 clear
58 nexplode r f
59 depouille rr r  0 0 -1   r_1 -15 -10 -10 10  0 0 -1 
60 clear
61 nexplode rr e
62 sage " Fillet on four lateral edges, then on the top and bottom edges  "
63 sage "    nexplode rr e"
64 sage "    blend result rr 3 rr_2 3 rr_3 3 rr_10 3 rr_11"
65 sage "    nexplode result e"
66 sage "    blend result result 2 result_11 3 result_12"
67 sage " "
68 blend result rr 3 rr_2 3 rr_3 3 rr_10 3 rr_11
69 erase rr
70 erase result
71 nexplode result e
72 blend result result 2 result_11 3 result_12 
73 clear
74 nexplode result f
75 sage " Creating a profile on the top face "
76 sage "    nexplode result f"
77 sage "    profile p  S result_16 F 10 4 D 1 0 C 2 90. Y 8 C 2 90. X -2 C 2 90. Y -8 C 2 90. X 2
78 "
79 sage " "
80 profile p  S result_16 F 10 4 D 1 0 C 2 90. Y 8 C 2 90. X -2 C 2 90. Y -8 C 2 90. X 2
81 sage " Creating a prism"
82 sage "    prism rr p 0 0 20"
83 sage " "
84 prism rr p 0 0 20
85 fit
86 sage " Fusion of this prism with the original part "
87 sage "    fuse result rr result"
88 sage " "
89 fuse result rr result
90 donl result
91 nexplode result f
92 erase result
93 fit
94
95 sage " Opening the top face"
96 sage "    offsetshape r result -1 0.0001 result_17"
97 sage " "
98
99 nexplode result f
100 offsetshape r result -1 0.0001 result_17
101 sage " Creating a cylinder and positionning it"
102 sage "    pcylinder cyl 2 300"
103 sage "    trotate cyl cyl 0 0 0  1 0 0 45"
104 sage "    ttranslate cyl cyl 0 7.5 0"
105 sage " "
106 pcylinder cyl 2 30
107 trotate cyl cyl 0 0 0  1 0 0 45
108 ttranslate cyl cyl 0 7.5 0
109 sage " Display the Shape on Hidden Line Mode "
110 sage "   hlr hid r"
111 sage ""
112 donl r
113 hlr hid r
114 sage " Display the Shape on HLR Mode "
115 sage "   hlr nohid r"
116 sage "   hlr hlr r"
117 sage ""
118 donl r
119 hlr nohid r
120 hlr hlr r
121 sage "Demo completed"