X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOM_SWIG%2FGEOM_tube_geom_gg2.py;h=920b4a506ad21a50104dac02d4679b2879a66c43;hb=da9569a4257702366c8a827ee0f7c31594110282;hp=29f77815f02301f0e214356481f552ae1257f068;hpb=6101c761432c310cdbc39f0a9715dcc343ac77fd;p=modules%2Fgeom.git diff --git a/src/GEOM_SWIG/GEOM_tube_geom_gg2.py b/src/GEOM_SWIG/GEOM_tube_geom_gg2.py index 29f77815f..920b4a506 100755 --- a/src/GEOM_SWIG/GEOM_tube_geom_gg2.py +++ b/src/GEOM_SWIG/GEOM_tube_geom_gg2.py @@ -1,157 +1,181 @@ -#============================================================================== -# Info. -# Bug (from script, bug) : tube_geom_gg2_corrected.py, PAL5243 -# Modified : 25/11/2004 -# Author : Kovaltchuk Alexey -# Project : PAL/SALOME -#============================================================================== -# -# Geometrie du cas test -# - -from geompy import * -import salome -# -# base de l'assemblage -# -L_base = 300. -l_base = 150. -h_base = 75. -e_base = 6. - -base_bot = MakeBox(0.,0.,0.,L_base,l_base,e_base) -base_top = MakeTranslation(base_bot,0.,0.,h_base-e_base) -base_front = MakeBox(0,0,0,L_base,e_base,h_base) -base_rear = MakeTranslation(base_front,0.,l_base,0.) - -tmp = MakeBoolean(base_top,base_rear,3) -tmp = MakeBoolean(tmp,base_bot,3) -base = MakeBoolean(tmp,base_front,3) - -baseId = addToStudy(base,"base") -# -# traverse -# -L_trav = 60. -h_trav = 300. -e_trav = 7. -marge = 15. - -flange_left = MakeBox(0.,0.,0,e_trav,L_trav,h_trav) -flange_right = MakeTranslation(flange_left,L_trav-e_trav,0.,0.) -flange_front = MakeBox(0.,0.,0,L_trav,e_trav,h_trav) -flange_rear = MakeTranslation(flange_front,0.,L_trav-e_trav,0.) - -tmp = MakeBoolean(flange_left,flange_rear,3) -tmp = MakeBoolean(tmp,flange_right,3) -flange = MakeBoolean(tmp,flange_front,3) -# -# left chamfer -# -import math -length = e_trav/math.sin(math.pi/4.) -yaxis = MakeVectorDXDYDZ(0.,1.,0.) -cut_left = MakeBox(0.,-marge,0.,-length,L_trav+marge,length) -cut_left = MakeRotation(cut_left,yaxis,-math.pi/4.) -cut_left = MakeTranslation(cut_left,e_trav,0.,0.) -# -# right chamfer -# -symPlaneYZ = MakePlane( - MakeVertex(L_trav/2.,0.,0.), - MakeVectorDXDYDZ(1.,0.,0.), 10000. ) -cut_right = MakeMirrorByPlane(cut_left,symPlaneYZ) -# -# front chamfer -# -xaxis = MakeVectorDXDYDZ(1.,0.,0.) -cut_front = MakeBox(-marge,0.,0.,L_trav+marge,length,length) -cut_front = MakeRotation(cut_front,xaxis,3.*math.pi/4.) -cut_front = MakeTranslation(cut_front,0.,e_trav,0.) -# -# rear chamfer -# -symPlaneXZ = MakePlane( - MakeVertex(0.,L_trav/2.,0.), - MakeVectorDXDYDZ(0.,1.,0.), 10000. ) -cut_rear = MakeMirrorByPlane(cut_front,symPlaneXZ) -# -# chamfer -# -trav = MakeBoolean(flange,cut_left,2) -trav = MakeBoolean(trav,cut_right,2) -trav = MakeBoolean(trav,cut_front,2) -trav = MakeBoolean(trav,cut_rear,2) -trav = MakeTranslation(trav, - L_base/2.-L_trav/2., - l_base/2.-L_trav/2., - h_base) -travId = addToStudy(trav,"trav") -# -# Welding -# -ground = MakeBox(-1000.,-1000.,0.,1000.,1000.,-1000.) -weld_left = MakeBoolean(cut_left,ground,2) -weld_right = MakeBoolean(cut_right,ground,2) -weld_front = MakeBoolean(cut_front,ground,2) -weld_rear = MakeBoolean(cut_rear,ground,2) -# -# Assembly -# -coarse_weld = MakeBoolean(weld_left,weld_rear,3) -coarse_weld = MakeBoolean(coarse_weld,weld_right,3) -coarse_weld = MakeBoolean(coarse_weld,weld_front,3) -# -# Cleaners -# -left_cleaner = MakeBox(0.,-10*marge,0.,-10.*marge,10.*marge,10.*marge) -left_cleaner = MakeRotation(left_cleaner,yaxis,math.pi/4.) -left_cleaner = MakeTranslation(left_cleaner,-e_trav-2.*marge,0.,-2.*marge) - -right_cleaner = MakeMirrorByPlane(left_cleaner,symPlaneYZ) - -front_cleaner = MakeBox(-10*marge,0.,0.,10.*marge,10.*marge,10.*marge) -front_cleaner = MakeRotation(front_cleaner,xaxis,3.*math.pi/4.) -front_cleaner = MakeTranslation(front_cleaner,0.,2.*marge-e_trav,2.*marge) - -rear_cleaner = MakeMirrorByPlane(front_cleaner,symPlaneXZ) -# -# Welding -# -weld = MakeBoolean(coarse_weld,left_cleaner,2) -weld = MakeBoolean(weld,rear_cleaner,2) -weld = MakeBoolean(weld,right_cleaner,2) -weld = MakeBoolean(weld,front_cleaner,2) -weld = MakeTranslation(weld, - L_base/2.-L_trav/2., - l_base/2.-L_trav/2., - h_base) -weldId = addToStudy(weld,"weld") -# -# Assembly -# -#assemblage = MakePartition([base.,weld.GetName()]) -assemblage = MakePartition([base,weld]) -addToStudy(assemblage, "base+weld") -#print assemblage.GetName() -#print trav.GetName() -#assemblage = MakePartition([assemblage.GetName(),trav.GetName()]) -assemblage = MakePartition([assemblage,trav]) -assemblageId = addToStudy(assemblage, "assemblage") - -# -# Display -# -gg.createAndDisplayGO(baseId) -gg.setTransparency(baseId,0.5) -gg.setDisplayMode(baseId,1) -gg.setColor(baseId,255,0,0) -gg.createAndDisplayGO(travId) -gg.setTransparency(travId,0.5) -gg.setDisplayMode(travId,1) -gg.setColor(travId,255,0,0) -gg.createAndDisplayGO(weldId) -gg.setTransparency(weldId,0.5) -gg.setDisplayMode(weldId,1) -gg.setColor(weldId,0,0,255) - +# -*- coding: iso-8859-1 -*- +# Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE +# +# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +#============================================================================== +# Info. +# Bug (from script, bug) : tube_geom_gg2_corrected.py, PAL5243 +# Modified : 25/11/2004 +# Author : Kovaltchuk Alexey +# Project : PAL/SALOME +#============================================================================== +# Geometrie du cas test +# +from geompy import * +import salome +# +# base de l'assemblage +# +L_base = 300. +l_base = 150. +h_base = 75. +e_base = 6. + +base_bot = MakeBox(0.,0.,0.,L_base,l_base,e_base) +base_top = MakeTranslation(base_bot,0.,0.,h_base-e_base) +base_front = MakeBox(0,0,0,L_base,e_base,h_base) +base_rear = MakeTranslation(base_front,0.,l_base,0.) + +tmp = MakeBoolean(base_top,base_rear,3) +tmp = MakeBoolean(tmp,base_bot,3) +base = MakeBoolean(tmp,base_front,3) + +baseId = addToStudy(base,"base") +# +# traverse +# +L_trav = 60. +h_trav = 300. +e_trav = 7. +marge = 15. + +flange_left = MakeBox(0.,0.,0,e_trav,L_trav,h_trav) +flange_right = MakeTranslation(flange_left,L_trav-e_trav,0.,0.) +flange_front = MakeBox(0.,0.,0,L_trav,e_trav,h_trav) +flange_rear = MakeTranslation(flange_front,0.,L_trav-e_trav,0.) + +tmp = MakeBoolean(flange_left,flange_rear,3) +tmp = MakeBoolean(tmp,flange_right,3) +flange = MakeBoolean(tmp,flange_front,3) +# +# left chamfer +# +import math +length = e_trav/math.sin(math.pi/4.) +yaxis = MakeVectorDXDYDZ(0.,1.,0.) +cut_left = MakeBox(0.,-marge,0.,-length,L_trav+marge,length) +cut_left = MakeRotation(cut_left,yaxis,-math.pi/4.) +cut_left = MakeTranslation(cut_left,e_trav,0.,0.) +# +# right chamfer +# +symPlaneYZ = MakePlane( + MakeVertex(L_trav/2.,0.,0.), + MakeVectorDXDYDZ(1.,0.,0.), 10000. ) +cut_right = MakeMirrorByPlane(cut_left,symPlaneYZ) +# +# front chamfer +# +xaxis = MakeVectorDXDYDZ(1.,0.,0.) +cut_front = MakeBox(-marge,0.,0.,L_trav+marge,length,length) +cut_front = MakeRotation(cut_front,xaxis,3.*math.pi/4.) +cut_front = MakeTranslation(cut_front,0.,e_trav,0.) +# +# rear chamfer +# +symPlaneXZ = MakePlane( + MakeVertex(0.,L_trav/2.,0.), + MakeVectorDXDYDZ(0.,1.,0.), 10000. ) +cut_rear = MakeMirrorByPlane(cut_front,symPlaneXZ) +# +# chamfer +# +trav = MakeBoolean(flange,cut_left,2) +trav = MakeBoolean(trav,cut_right,2) +trav = MakeBoolean(trav,cut_front,2) +trav = MakeBoolean(trav,cut_rear,2) +trav = MakeTranslation(trav, + L_base/2.-L_trav/2., + l_base/2.-L_trav/2., + h_base) +travId = addToStudy(trav,"trav") +# +# Welding +# +ground = MakeBox(-1000.,-1000.,0.,1000.,1000.,-1000.) +weld_left = MakeBoolean(cut_left,ground,2) +weld_right = MakeBoolean(cut_right,ground,2) +weld_front = MakeBoolean(cut_front,ground,2) +weld_rear = MakeBoolean(cut_rear,ground,2) +# +# Assembly +# +coarse_weld = MakeBoolean(weld_left,weld_rear,3) +coarse_weld = MakeBoolean(coarse_weld,weld_right,3) +coarse_weld = MakeBoolean(coarse_weld,weld_front,3) +# +# Cleaners +# +left_cleaner = MakeBox(0.,-10*marge,0.,-10.*marge,10.*marge,10.*marge) +left_cleaner = MakeRotation(left_cleaner,yaxis,math.pi/4.) +left_cleaner = MakeTranslation(left_cleaner,-e_trav-2.*marge,0.,-2.*marge) + +right_cleaner = MakeMirrorByPlane(left_cleaner,symPlaneYZ) + +front_cleaner = MakeBox(-10*marge,0.,0.,10.*marge,10.*marge,10.*marge) +front_cleaner = MakeRotation(front_cleaner,xaxis,3.*math.pi/4.) +front_cleaner = MakeTranslation(front_cleaner,0.,2.*marge-e_trav,2.*marge) + +rear_cleaner = MakeMirrorByPlane(front_cleaner,symPlaneXZ) +# +# Welding +# +weld = MakeBoolean(coarse_weld,left_cleaner,2) +weld = MakeBoolean(weld,rear_cleaner,2) +weld = MakeBoolean(weld,right_cleaner,2) +weld = MakeBoolean(weld,front_cleaner,2) +weld = MakeTranslation(weld, + L_base/2.-L_trav/2., + l_base/2.-L_trav/2., + h_base) +weldId = addToStudy(weld,"weld") +# +# Assembly +# +#assemblage = MakePartition([base.,weld.GetName()]) +assemblage = MakePartition([base,weld]) +addToStudy(assemblage, "base+weld") +#print assemblage.GetName() +#print trav.GetName() +#assemblage = MakePartition([assemblage.GetName(),trav.GetName()]) +assemblage = MakePartition([assemblage,trav]) +assemblageId = addToStudy(assemblage, "assemblage") + +# +# Display +# +gg = ImportComponentGUI("GEOM") +import salome_ComponentGUI +if not isinstance(gg, type(salome_ComponentGUI)): + gg.initGeomGen() + gg.createAndDisplayGO(baseId) + gg.setTransparency(baseId,0.5) + gg.setDisplayMode(baseId,1) + gg.setColor(baseId,255,0,0) + gg.createAndDisplayGO(travId) + gg.setTransparency(travId,0.5) + gg.setDisplayMode(travId,1) + gg.setColor(travId,255,0,0) + gg.createAndDisplayGO(weldId) + gg.setTransparency(weldId,0.5) + gg.setDisplayMode(weldId,1) + gg.setColor(weldId,0,0,255)