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 | |
03392dd2 |
34 | pload MODELING |
7fd59977 |
35 | |
36 | smallview |
37 | if { [winfo exists .h ] } { |
38 | destroy .h |
39 | } |
40 | sage " Creating a box" |
41 | sage " box b -10 -10 -10 20 20 20" |
42 | sage " " |
43 | box b -10 -10 -10 20 20 20 |
44 | fit |
45 | nexplode b f |
46 | erase b |
47 | sage " Draft of two lateral faces " |
48 | sage " depouille r b 0 0 -1 b_6 -15 10 -10 10 0 0 -1 " |
49 | sage " nexplode r f" |
50 | sage " depouille rr r 0 0 -1 r_1 -15 -10 -10 10 0 0 -1 " |
51 | sage " " |
52 | depouille r b 0 0 -1 b_6 -15 10 -10 10 0 0 -1 |
53 | clear |
54 | nexplode r f |
55 | depouille rr r 0 0 -1 r_1 -15 -10 -10 10 0 0 -1 |
56 | clear |
57 | nexplode rr e |
58 | sage " Fillet on four lateral edges, then on the top and bottom edges " |
59 | sage " nexplode rr e" |
60 | sage " blend result rr 3 rr_2 3 rr_3 3 rr_10 3 rr_11" |
61 | sage " nexplode result e" |
62 | sage " blend result result 2 result_11 3 result_12" |
63 | sage " " |
64 | blend result rr 3 rr_2 3 rr_3 3 rr_10 3 rr_11 |
65 | erase rr |
66 | erase result |
67 | nexplode result e |
68 | blend result result 2 result_11 3 result_12 |
69 | clear |
70 | nexplode result f |
71 | sage " Creating a profile on the top face " |
72 | sage " nexplode result f" |
73 | 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 |
74 | " |
75 | sage " " |
76 | 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 |
77 | sage " Creating a prism" |
78 | sage " prism rr p 0 0 20" |
79 | sage " " |
80 | prism rr p 0 0 20 |
81 | fit |
82 | sage " Fusion of this prism with the original part " |
83 | sage " fuse result rr result" |
84 | sage " " |
85 | fuse result rr result |
86 | donl result |
87 | nexplode result f |
88 | erase result |
89 | fit |
90 | |
91 | sage " Opening the top face" |
92 | sage " offsetshape r result -1 0.0001 result_17" |
93 | sage " " |
94 | |
95 | nexplode result f |
96 | offsetshape r result -1 0.0001 result_17 |
97 | sage " Creating a cylinder and positionning it" |
98 | sage " pcylinder cyl 2 300" |
99 | sage " trotate cyl cyl 0 0 0 1 0 0 45" |
100 | sage " ttranslate cyl cyl 0 7.5 0" |
101 | sage " " |
102 | pcylinder cyl 2 30 |
103 | trotate cyl cyl 0 0 0 1 0 0 45 |
104 | ttranslate cyl cyl 0 7.5 0 |
105 | sage " Display the Shape on Hidden Line Mode " |
106 | sage " hlr hid r" |
107 | sage "" |
108 | donl r |
109 | hlr hid r |
110 | sage " Display the Shape on HLR Mode " |
111 | sage " hlr nohid r" |
112 | sage " hlr hlr r" |
113 | sage "" |
114 | donl r |
115 | hlr nohid r |
116 | hlr hlr r |
117 | sage "Demo completed" |