]> SALOME platform Git repositories - modules/geom.git/blob - src/GEOM_SWIG/GEOM_tube_geom.py
Salome HOME
Modified a method createAndDisplayGO
[modules/geom.git] / src / GEOM_SWIG / GEOM_tube_geom.py
1 #==============================================================================
2 #  Info.
3 #  Bug (from script, bug)   : tube_geom_corrected.py, PAL5243
4 #  Modified                 : 25/11/2004
5 #  Author                   : Kovaltchuk Alexey
6 #  Project                  : PAL/SALOME
7 #==============================================================================
8 #
9 # Geometrie du cas test
10 #
11 import salome
12 from geompy import *
13
14 #
15 # base de l'assemblage
16 #
17 L_base = 300.
18 l_base = 150.
19 h_base = 75.
20 e_base = 6.
21
22 base_bot = MakeBox(0.,0.,0.,L_base,l_base,e_base)
23 base_top = MakeTranslation(base_bot,0.,0.,h_base-e_base)
24 base_front = MakeBox(0,0,0,L_base,e_base,h_base)
25 base_rear = MakeTranslation(base_front,0.,l_base,0.)
26
27 tmp = MakeBoolean(base_top,base_rear,3)
28 tmp = MakeBoolean(tmp,base_bot,3)
29 base = MakeBoolean(tmp,base_front,3)
30
31 addToStudy(base,"base")
32 #
33 # traverse
34 #
35 L_trav = 60.
36 h_trav = 300.
37 e_trav = 7.
38 marge = 15.
39
40 flange_left = MakeBox(0.,0.,0,e_trav,L_trav,h_trav)
41 flange_right = MakeTranslation(flange_left,L_trav-e_trav,0.,0.)
42 flange_front = MakeBox(0.,0.,0,L_trav,e_trav,h_trav)
43 flange_rear = MakeTranslation(flange_front,0.,L_trav-e_trav,0.)
44
45 tmp = MakeBoolean(flange_left,flange_rear,3)
46 tmp = MakeBoolean(tmp,flange_right,3)
47 flange = MakeBoolean(tmp,flange_front,3)
48 #
49 # left chamfer
50 #
51 import math
52 length = e_trav/math.sin(math.pi/4.)
53 p1 = MakeVertex(0,0,0)
54 p2 = MakeVertex(0,1,0)
55 yaxis = MakeVector(p1, p2)
56 cut_left = MakeBox(0.,-marge,0.,-length,L_trav+marge,length)
57 cut_left = MakeRotation(cut_left,yaxis,-math.pi/4.)
58 cut_left = MakeTranslation(cut_left,e_trav,0.,0.)
59 #
60 # right chamfer
61 #
62 symPlaneYZ = MakePlane(
63      MakeVertex(L_trav/2.,0.,0.),
64      MakeVector(p1,MakeVertex(1.,0.,0.)), 10000. )
65 cut_right = MakeMirrorByPlane(cut_left,symPlaneYZ)
66 #
67 # front chamfer
68 #
69 xaxis = MakeVector(p1,MakeVertex(1.,0.,0.))
70 cut_front = MakeBox(-marge,0.,0.,L_trav+marge,length,length)
71 cut_front = MakeRotation(cut_front,xaxis,3.*math.pi/4.)
72 cut_front = MakeTranslation(cut_front,0.,e_trav,0.)
73 #
74 # rear chamfer
75 #
76 symPlaneXZ = MakePlane(
77      MakeVertex(0.,L_trav/2.,0.),
78      MakeVector(p1,MakeVertex(0.,1.,0.)), 10000. )
79 cut_rear = MakeMirrorByPlane(cut_front,symPlaneXZ)
80 #
81 # chamfer
82 #
83 trav = MakeBoolean(flange,cut_left,2)
84 trav = MakeBoolean(trav,cut_right,2)
85 trav = MakeBoolean(trav,cut_front,2)
86 trav = MakeBoolean(trav,cut_rear,2)
87 trav = MakeTranslation(trav,
88                        L_base/2.-L_trav/2.,
89                        l_base/2.-L_trav/2.,
90                        h_base)
91 addToStudy(trav,"trav")
92 #
93 # Welding
94 #
95 ground = MakeBox(-1000.,-1000.,0.,1000.,1000.,-1000.)
96 weld_left = MakeBoolean(cut_left,ground,2)
97 weld_right = MakeBoolean(cut_right,ground,2)
98 weld_front = MakeBoolean(cut_front,ground,2)
99 weld_rear = MakeBoolean(cut_rear,ground,2)
100 #
101 # Assembly
102 #
103 coarse_weld = MakeBoolean(weld_left,weld_rear,3)
104 coarse_weld = MakeBoolean(coarse_weld,weld_right,3)
105 coarse_weld = MakeBoolean(coarse_weld,weld_front,3)
106 #
107 # Cleaners
108 #
109 left_cleaner = MakeBox(0.,-10*marge,0.,-10.*marge,10.*marge,10.*marge)
110 left_cleaner = MakeRotation(left_cleaner,yaxis,math.pi/4.)
111 left_cleaner = MakeTranslation(left_cleaner,-e_trav-2.*marge,0.,-2.*marge)
112
113 right_cleaner = MakeMirrorByPlane(left_cleaner,symPlaneYZ)
114
115 front_cleaner = MakeBox(-10*marge,0.,0.,10.*marge,10.*marge,10.*marge)
116 front_cleaner = MakeRotation(front_cleaner,xaxis,3.*math.pi/4.)
117 front_cleaner = MakeTranslation(front_cleaner,0.,2.*marge-e_trav,2.*marge)
118
119 rear_cleaner = MakeMirrorByPlane(front_cleaner,symPlaneXZ)
120 #
121 # Welding
122 #
123 weld = MakeBoolean(coarse_weld,left_cleaner,2)
124 weld = MakeBoolean(weld,rear_cleaner,2)
125 weld = MakeBoolean(weld,right_cleaner,2)
126 weld = MakeBoolean(weld,front_cleaner,2)
127 weld = MakeTranslation(weld,
128                        L_base/2.-L_trav/2.,
129                        l_base/2.-L_trav/2.,
130                        h_base)
131 weldId = addToStudy(weld,"weld")
132 #
133 # Assembly
134 #
135 assemblage = Partition([base ,weld ,trav])
136 assemblageId = addToStudy(assemblage, "assemblage")
137 salome.sg.updateObjBrowser(1)
138 #
139 # Display
140 #
141 ## gg.createAndDisplayGO(assemblageId)
142 ## gg.createAndDisplayGO(baseId)
143 ## gg.setTransparency(baseId,0.5)
144 ## gg.setDisplayMode(baseId,1)
145 ## gg.setColor(baseId,255,0,0)
146 ## gg.createAndDisplayGO(travId)
147 ## gg.setTransparency(travId,0.5)
148 ## gg.setDisplayMode(travId,1)
149 ## gg.setColor(travId,0,255,0)
150
151