X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH_SWIG%2Fex19_sphereINcube.py;h=510adf8002c363c5094f77abbe3abc915c2033c6;hp=02357b0f4d601a6449bbaa6eebbf5dfcdd4feb39;hb=127d2277c6a516d0e9fadd77b4ef0b0c6286cf17;hpb=c63ee099ad2b149bd70136839c973e8910137bc5 diff --git a/src/SMESH_SWIG/ex19_sphereINcube.py b/src/SMESH_SWIG/ex19_sphereINcube.py index 02357b0f4..510adf800 100644 --- a/src/SMESH_SWIG/ex19_sphereINcube.py +++ b/src/SMESH_SWIG/ex19_sphereINcube.py @@ -1,4 +1,6 @@ -# Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# Copyright (C) 2007-2008 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 @@ -15,14 +17,14 @@ # 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 +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -# CEA/LGLS 2005, Francis KLOSS (OCC) # ================================== - +# from geompy import * import smesh +import geompy # Geometrie # ========= @@ -59,13 +61,30 @@ blocs = [boite] sphere_troue = MakeCut(sphere_pleine, boite) -sphere_outils = [] -sphere_outils.append(MakePlane(sphere_centre, MakeVectorDXDYDZ( 1, 0, 1), plan_trim)) -sphere_outils.append(MakePlane(sphere_centre, MakeVectorDXDYDZ( 1, 0, -1), plan_trim)) -sphere_outils.append(MakePlane(sphere_centre, MakeVectorDXDYDZ( 1, 1, 0), plan_trim)) -sphere_outils.append(MakePlane(sphere_centre, MakeVectorDXDYDZ(-1, 1, 0), plan_trim)) +#sphere_outils = [] +#sphere_outils.append(MakePlane(sphere_centre, MakeVectorDXDYDZ( 1, 0, 1), plan_trim)) +#sphere_outils.append(MakePlane(sphere_centre, MakeVectorDXDYDZ( 1, 0, -1), plan_trim)) +#sphere_outils.append(MakePlane(sphere_centre, MakeVectorDXDYDZ( 1, 1, 0), plan_trim)) +#sphere_outils.append(MakePlane(sphere_centre, MakeVectorDXDYDZ(-1, 1, 0), plan_trim)) + +f1 = MakePlane(sphere_centre, MakeVectorDXDYDZ( 1, 0, 1), plan_trim) +f2 = MakePlane(sphere_centre, MakeVectorDXDYDZ(-1, 1, 0), plan_trim) +f3 = MakePlane(sphere_centre, MakeVectorDXDYDZ( 1, 1, 0), plan_trim) +f4 = MakePlane(sphere_centre, MakeVectorDXDYDZ( 1, 0, -1), plan_trim) + -sphere_decoupee = MakePartition([sphere_troue], sphere_outils, [], [], ShapeType["SOLID"]) +#sphere_decoupee = MakePartition(solids, sphere_outils, [], [], ShapeType["SOLID"]) +solids = geompy.SubShapeAll(sphere_troue,geompy.ShapeType["SOLID"]) +sphere_decoupee = MakePartition(solids, [f1], [], [], ShapeType["SOLID"]) +solids = geompy.SubShapeAll(sphere_decoupee,geompy.ShapeType["SOLID"]) +sphere_decoupee = MakePartition(solids, [f2], [], [], ShapeType["SOLID"]) +solids = geompy.SubShapeAll(sphere_decoupee,geompy.ShapeType["SOLID"]) +sphere_decoupee = MakePartition(solids, [f3], [], [], ShapeType["SOLID"]) +solids = geompy.SubShapeAll(sphere_decoupee,geompy.ShapeType["SOLID"]) +sphere_decoupee = MakePartition(solids, [f4], [], [], ShapeType["SOLID"]) +solids = geompy.SubShapeAll(sphere_decoupee,geompy.ShapeType["SOLID"]) + +sphere_partie = geompy.MakeCompound(solids) sphere_partie = GetBlockNearPoint(sphere_decoupee, MakeVertex(-sphere_rayon, 0, 0)) sphere_bloc = RemoveExtraEdges(sphere_partie) @@ -90,7 +109,21 @@ blocs.append(MakeMirrorByPoint(sphere_bloc, sphere_centre)) cube_plein = MakeBox(-cube_cote, -cube_cote, -cube_cote, +cube_cote, +cube_cote, +cube_cote) cube_trou = MakeCut(cube_plein, sphere_pleine) -cube_decoupe = MakePartition([cube_trou], sphere_outils, [], [], ShapeType["SOLID"]) +#cube_decoupe = MakePartition([cube_trou], sphere_outils, [], [], ShapeType["SOLID"]) + +solids = geompy.SubShapeAll(cube_trou,geompy.ShapeType["SOLID"]) +cube_decoupe = MakePartition(solids, [f1], [], [], ShapeType["SOLID"]) +solids = geompy.SubShapeAll(cube_decoupe,geompy.ShapeType["SOLID"]) +cube_decoupe = MakePartition(solids, [f2], [], [], ShapeType["SOLID"]) +solids = geompy.SubShapeAll(cube_decoupe,geompy.ShapeType["SOLID"]) +cube_decoupe = MakePartition(solids, [f3], [], [], ShapeType["SOLID"]) +solids = geompy.SubShapeAll(cube_decoupe,geompy.ShapeType["SOLID"]) +cube_decoupe = MakePartition(solids, [f4], [], [], ShapeType["SOLID"]) +solids = geompy.SubShapeAll(cube_decoupe,geompy.ShapeType["SOLID"]) + +cube_decoupe = geompy.MakeCompound(solids) + + cube_partie = GetBlockNearPoint(cube_decoupe, MakeVertex(-cube_cote, 0, 0)) cube_bloc = RemoveExtraEdges(cube_partie)