X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=doc%2Fsalome%2Fexamples%2Fcreating_meshes_ex08.py;h=ff41f09c65ab6f8a2ef59520cb88bf62a07c40fa;hb=13e344b8720248d920a39505004bb9a889a0b2d7;hp=18f9dad011c02108c0b9a222bf36a0d1d327b5cc;hpb=54182913fbb9df65a3f4cc96f55db3618835ecd8;p=modules%2Fsmesh.git diff --git a/doc/salome/examples/creating_meshes_ex08.py b/doc/salome/examples/creating_meshes_ex08.py index 18f9dad01..ff41f09c6 100644 --- a/doc/salome/examples/creating_meshes_ex08.py +++ b/doc/salome/examples/creating_meshes_ex08.py @@ -4,20 +4,23 @@ import salome salome.salome_init() import GEOM from salome.geom import geomBuilder -geompy = geomBuilder.New(salome.myStudy) +geompy = geomBuilder.New() import SMESH, SALOMEDS from salome.smesh import smeshBuilder -smesh = smeshBuilder.New(salome.myStudy) +smesh = smeshBuilder.New() # make geometry of a box box = geompy.MakeBoxDXDYDZ(100,100,100) face = geompy.SubShapeAllSorted(box, geompy.ShapeType["FACE"])[0] -# generate 3D mesh -mesh = smesh.Mesh(box) +# generate a prismatic 3D mesh +mesh = smesh.Mesh(box, "box") localAlgo = mesh.Triangle(face) -mesh.AutomaticHexahedralization() +mesh.Segment().NumberOfSegments( 3 ) +mesh.Quadrangle() +mesh.Prism() +mesh.Compute() # objects to copy fGroup = mesh.GroupOnGeom( face, "2D on face") @@ -32,8 +35,8 @@ newMesh = smesh.CopyMesh( mesh, "whole mesh copy") # 2. copy a group of 2D elements along with groups newMesh = smesh.CopyMesh( fGroup, "face group copy with groups",toCopyGroups=True) -# 3. copy a group of nodes with preseving their ids -newMesh = smesh.CopyMesh( nGroup, "node group copy", toKeepIDs=True) +# 3. copy a group of nodes +newMesh = smesh.CopyMesh( nGroup, "node group copy") # 4. copy some faces faceIds = fGroup.GetIDs()[-10:] @@ -44,4 +47,13 @@ nodeIds = nGroup.GetIDs()[-10:] newMesh = smesh.CopyMesh( mesh.GetIDSource( nodeIds, SMESH.NODE), "some nodes copy") # 6. copy a sub-mesh -newMesh = smesh.CopyMesh( subMesh, "submesh copy" ) +newMesh = smesh.CopyMesh( subMesh, "sub-mesh copy" ) + + +# make a new mesh with same hypotheses on a modified geometry + +smallBox = geompy.MakeScaleAlongAxes( box, None, 1, 0.5, 0.5 ) +cutBox = geompy.MakeCut( box, smallBox, theName="box - smallBox" ) + +ok, newMesh, groups, submehses, hyps, invIDs = smesh.CopyMeshWithGeom( mesh, cutBox, "cutBox" ) +newMesh.Compute()