1 #==============================================================================
\r
3 # Bug (from script, bug) : tube_geom_gg2_corrected.py, PAL5243
\r
4 # Modified : 25/11/2004
\r
5 # Author : Kovaltchuk Alexey
\r
6 # Project : PAL/SALOME
\r
7 #==============================================================================
\r
9 # Geometrie du cas test
\r
12 from geompy import *
\r
15 # base de l'assemblage
\r
22 base_bot = MakeBox(0.,0.,0.,L_base,l_base,e_base)
\r
23 base_top = MakeTranslation(base_bot,0.,0.,h_base-e_base)
\r
24 base_front = MakeBox(0,0,0,L_base,e_base,h_base)
\r
25 base_rear = MakeTranslation(base_front,0.,l_base,0.)
\r
27 tmp = MakeBoolean(base_top,base_rear,3)
\r
28 tmp = MakeBoolean(tmp,base_bot,3)
\r
29 base = MakeBoolean(tmp,base_front,3)
\r
31 baseId = addToStudy(base,"base")
\r
40 flange_left = MakeBox(0.,0.,0,e_trav,L_trav,h_trav)
\r
41 flange_right = MakeTranslation(flange_left,L_trav-e_trav,0.,0.)
\r
42 flange_front = MakeBox(0.,0.,0,L_trav,e_trav,h_trav)
\r
43 flange_rear = MakeTranslation(flange_front,0.,L_trav-e_trav,0.)
\r
45 tmp = MakeBoolean(flange_left,flange_rear,3)
\r
46 tmp = MakeBoolean(tmp,flange_right,3)
\r
47 flange = MakeBoolean(tmp,flange_front,3)
\r
52 length = e_trav/math.sin(math.pi/4.)
\r
53 yaxis = MakeVectorDXDYDZ(0.,1.,0.)
\r
54 cut_left = MakeBox(0.,-marge,0.,-length,L_trav+marge,length)
\r
55 cut_left = MakeRotation(cut_left,yaxis,-math.pi/4.)
\r
56 cut_left = MakeTranslation(cut_left,e_trav,0.,0.)
\r
60 symPlaneYZ = MakePlane(
\r
61 MakeVertex(L_trav/2.,0.,0.),
\r
62 MakeVectorDXDYDZ(1.,0.,0.), 10000. )
\r
63 cut_right = MakeMirrorByPlane(cut_left,symPlaneYZ)
\r
67 xaxis = MakeVectorDXDYDZ(1.,0.,0.)
\r
68 cut_front = MakeBox(-marge,0.,0.,L_trav+marge,length,length)
\r
69 cut_front = MakeRotation(cut_front,xaxis,3.*math.pi/4.)
\r
70 cut_front = MakeTranslation(cut_front,0.,e_trav,0.)
\r
74 symPlaneXZ = MakePlane(
\r
75 MakeVertex(0.,L_trav/2.,0.),
\r
76 MakeVectorDXDYDZ(0.,1.,0.), 10000. )
\r
77 cut_rear = MakeMirrorByPlane(cut_front,symPlaneXZ)
\r
81 trav = MakeBoolean(flange,cut_left,2)
\r
82 trav = MakeBoolean(trav,cut_right,2)
\r
83 trav = MakeBoolean(trav,cut_front,2)
\r
84 trav = MakeBoolean(trav,cut_rear,2)
\r
85 trav = MakeTranslation(trav,
\r
86 L_base/2.-L_trav/2.,
\r
87 l_base/2.-L_trav/2.,
\r
89 travId = addToStudy(trav,"trav")
\r
93 ground = MakeBox(-1000.,-1000.,0.,1000.,1000.,-1000.)
\r
94 weld_left = MakeBoolean(cut_left,ground,2)
\r
95 weld_right = MakeBoolean(cut_right,ground,2)
\r
96 weld_front = MakeBoolean(cut_front,ground,2)
\r
97 weld_rear = MakeBoolean(cut_rear,ground,2)
\r
101 coarse_weld = MakeBoolean(weld_left,weld_rear,3)
\r
102 coarse_weld = MakeBoolean(coarse_weld,weld_right,3)
\r
103 coarse_weld = MakeBoolean(coarse_weld,weld_front,3)
\r
107 left_cleaner = MakeBox(0.,-10*marge,0.,-10.*marge,10.*marge,10.*marge)
\r
108 left_cleaner = MakeRotation(left_cleaner,yaxis,math.pi/4.)
\r
109 left_cleaner = MakeTranslation(left_cleaner,-e_trav-2.*marge,0.,-2.*marge)
\r
111 right_cleaner = MakeMirrorByPlane(left_cleaner,symPlaneYZ)
\r
113 front_cleaner = MakeBox(-10*marge,0.,0.,10.*marge,10.*marge,10.*marge)
\r
114 front_cleaner = MakeRotation(front_cleaner,xaxis,3.*math.pi/4.)
\r
115 front_cleaner = MakeTranslation(front_cleaner,0.,2.*marge-e_trav,2.*marge)
\r
117 rear_cleaner = MakeMirrorByPlane(front_cleaner,symPlaneXZ)
\r
121 weld = MakeBoolean(coarse_weld,left_cleaner,2)
\r
122 weld = MakeBoolean(weld,rear_cleaner,2)
\r
123 weld = MakeBoolean(weld,right_cleaner,2)
\r
124 weld = MakeBoolean(weld,front_cleaner,2)
\r
125 weld = MakeTranslation(weld,
\r
126 L_base/2.-L_trav/2.,
\r
127 l_base/2.-L_trav/2.,
\r
129 weldId = addToStudy(weld,"weld")
\r
133 #assemblage = MakePartition([base.,weld.GetName()])
\r
134 assemblage = MakePartition([base,weld])
\r
135 addToStudy(assemblage, "base+weld")
\r
136 #print assemblage.GetName()
\r
137 #print trav.GetName()
\r
138 #assemblage = MakePartition([assemblage.GetName(),trav.GetName()])
\r
139 assemblage = MakePartition([assemblage,trav])
\r
140 assemblageId = addToStudy(assemblage, "assemblage")
\r
145 gg.createAndDisplayGO(baseId)
\r
146 gg.setTransparency(baseId,0.5)
\r
147 gg.setDisplayMode(baseId,1)
\r
148 gg.setColor(baseId,255,0,0)
\r
149 gg.createAndDisplayGO(travId)
\r
150 gg.setTransparency(travId,0.5)
\r
151 gg.setDisplayMode(travId,1)
\r
152 gg.setColor(travId,255,0,0)
\r
153 gg.createAndDisplayGO(weldId)
\r
154 gg.setTransparency(weldId,0.5)
\r
155 gg.setDisplayMode(weldId,1)
\r
156 gg.setColor(weldId,0,0,255)
\r