480bf81e |
1 | # Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
2 | # |
480bf81e |
3 | # This file is part of Open CASCADE Technology software library. |
b311480e |
4 | # |
480bf81e |
5 | # This library is free software; you can redistribute it and / or modify it |
6 | # under the terms of the GNU Lesser General Public version 2.1 as published |
7 | # by the Free Software Foundation, with special exception defined in the file |
8 | # OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT |
9 | # distribution for complete text of the license and disclaimer of any warranty. |
b311480e |
10 | # |
480bf81e |
11 | # Alternatively, this file may be used under the terms of Open CASCADE |
12 | # commercial license or contractual agreement. |
b311480e |
13 | |
03392dd2 |
14 | # Command to log a message to both command-line and dialog window |
7fd59977 |
15 | proc sage { a} { |
03392dd2 |
16 | if { ![winfo exists .h ] } { |
17 | toplevel .h -bg azure3 |
18 | wm title .h "INFO TEST HARNESS" |
19 | wm geometry .h +320+20 |
20 | } |
21 | if { [winfo exists .h.m ] } { |
22 | set astring [.h.m cget -text] |
23 | set newstring "${astring} \n $a" |
24 | .h.m configure -text $newstring |
25 | puts $a |
26 | } else { |
27 | message .h.m -justify left -bg azure2 -width 13c -relief ridge -bd 4 -text $a |
28 | puts $a |
29 | } |
30 | pack .h.m |
31 | update |
7fd59977 |
32 | } |
33 | |
34 | if { [winfo exists .h ] } { |
35 | destroy .h |
36 | } |
37 | |
03392dd2 |
38 | pload MODELING VISUALIZATION |
39 | |
7fd59977 |
40 | sage " Creating the V3D Viewer" |
41 | sage " vinit" |
42 | sage " " |
43 | vinit |
44 | vclear |
45 | clear |
46 | |
47 | sage " Creating the Topological Viewer" |
48 | sage " smallview" |
49 | sage " " |
50 | smallview |
51 | sage " Creating a box" |
52 | sage " box b -10 -10 -10 20 20 20" |
53 | sage " " |
54 | box b -10 -10 -10 20 20 20 |
55 | fit |
56 | sage " Display the box in the V3D Viewer" |
57 | sage " vdisplay b" |
58 | sage " " |
59 | vdisplay b |
60 | vfit |
61 | nexplode b f |
62 | erase b |
63 | sage " Draft of two lateral faces " |
64 | sage " nexplode b f" |
65 | sage " depouille r b 0 0 -1 b_6 -15 10 -10 10 0 0 -1 " |
66 | sage " nexplode r f" |
67 | sage " depouille rr r 0 0 -1 r_1 -15 -10 -10 10 0 0 -1 " |
68 | sage " " |
69 | depouille r b 0 0 -1 b_6 -15 10 -10 10 0 0 -1 |
70 | clear |
71 | nexplode r f |
72 | depouille rr r 0 0 -1 r_1 -15 -10 -10 10 0 0 -1 |
73 | clear |
74 | nexplode rr e |
75 | verase b |
76 | vdisplay rr |
77 | vfit |
78 | sage " Fillet on four lateral edges, then on the top and bottom edges " |
79 | sage " nexplode rr e" |
80 | sage " blend result rr 3 rr_2 3 rr_3 3 rr_10 3 rr_11" |
81 | sage " nexplode result e" |
82 | sage " blend result result 2 result_11 3 result_12" |
83 | sage " " |
84 | blend result rr 3 rr_2 3 rr_3 3 rr_10 3 rr_11 |
85 | erase rr |
86 | erase result |
87 | nexplode result e |
88 | blend result result 2 result_11 3 result_12 |
89 | clear |
90 | nexplode result f |
91 | verase rr |
92 | vdisplay result |
93 | vfit |
94 | sage " Creating a profile on the top face " |
95 | sage " nexplode result f" |
96 | 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 |
97 | " |
98 | sage " " |
99 | 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 |
100 | sage " Creating a prism" |
101 | sage " prism rr p 0 0 20" |
102 | sage " " |
103 | prism rr p 0 0 20 |
104 | sage " Change some attributs : MATERIAL , TRANSPARENCY" |
105 | sage " vsetmaterial rr PLASTIC" |
106 | sage " vsetcolor rr RED" |
107 | sage " vsettransparency result 0.5" |
108 | sage " vsetdispmode 1" |
109 | sage " " |
110 | vdisplay rr |
111 | vsetmaterial rr PLASTIC |
112 | vsettransparency rr 0.5 |
113 | vsetcolor rr RED |
114 | vsettransparency result 0.5 |
115 | vsetdispmode 1 |
116 | vfit |
117 | fit |
118 | sage " Fusion of this prism with the original part " |
119 | sage " fuse result rr result" |
120 | sage " " |
121 | fuse result rr result |
122 | donl result |
123 | vdisplay result |
124 | vdonly result |
125 | vfit |
126 | nexplode result f |
127 | erase result |
128 | fit |
129 | |
130 | sage " Opening the top face" |
131 | sage " offsetshape r result -1 0.0001 result_17" |
132 | sage " " |
133 | nexplode result f |
134 | |
135 | offsetshape r result -1 0.0001 result_17 |
136 | vdisplay r |
137 | vdonly r |
138 | vfit |
139 | vsetcolor r MATRABLUE |
140 | vsettransparency r 0 |
141 | |
142 | sage " Creating a cylinder and positionning it" |
143 | sage " pcylinder cyl 2 300" |
144 | sage " trotate cyl cyl 0 0 0 1 0 0 45" |
145 | sage " ttranslate cyl cyl 0 7.5 0" |
146 | sage " " |
147 | pcylinder cyl 2 30 |
148 | vdisplay cyl |
149 | vsetcolor cyl RED |
150 | vfit |
151 | trotate cyl cyl 0 0 0 1 0 0 45 |
152 | ttranslate cyl cyl 0 7.5 0 |
153 | vdisplay cyl |
154 | vsetcolor cyl RED |
155 | vfit |
156 | vdisplay cyl |
157 | vsetcolor cyl RED |
158 | vfit |
159 | sage "Demo completed" |