1 # "Import 2D Elements from Another Mesh" example
4 salome.salome_init_without_session()
7 from salome.geom import geomBuilder
8 from salome.smesh import smeshBuilder
10 geom_builder = geomBuilder.New()
11 smesh_builder = smeshBuilder.New()
13 # Make a patritioned box
15 box = geom_builder.MakeBoxDXDYDZ(100,100,100)
17 N = geom_builder.MakeVectorDXDYDZ( 1,0,0 )
18 O = geom_builder.MakeVertex( 50,0,0 )
19 plane = geom_builder.MakePlane( O, N, 200 ) # plane YOZ
21 shape2boxes = geom_builder.MakeHalfPartition( box, plane )
22 boxes = geom_builder.SubShapeAllSorted(shape2boxes, geom_builder.ShapeType["SOLID"])
24 geom_builder.addToStudy( boxes[0], "boxes[0]")
25 geom_builder.addToStudy( boxes[1], "boxes[1]")
26 midFace0 = geom_builder.SubShapeAllSorted(boxes[0], geom_builder.ShapeType["FACE"])[5]
27 geom_builder.addToStudyInFather( boxes[0], midFace0, "middle Face")
28 midFace1 = geom_builder.SubShapeAllSorted(boxes[1], geom_builder.ShapeType["FACE"])[0]
29 geom_builder.addToStudyInFather( boxes[1], midFace1, "middle Face")
31 # Mesh one of boxes with quadrangles. It is a source mesh
33 srcMesh = smesh_builder.Mesh(boxes[0], "source mesh") # box coloser to CS origin
34 nSeg1 = srcMesh.Segment().NumberOfSegments(4)
36 if not srcMesh.Compute(): raise Exception("Error when computing Mesh")
37 srcFaceGroup = srcMesh.GroupOnGeom( midFace0, "src faces", SMESH.FACE )
39 # Import faces from midFace0 to the target mesh
41 tgtMesh = smesh_builder.Mesh(boxes[1], "target mesh")
42 importAlgo = tgtMesh.UseExisting2DElements(midFace1)
43 import2hyp = importAlgo.SourceFaces( [srcFaceGroup] )
44 tgtMesh.Segment().NumberOfSegments(3)
46 if not tgtMesh.Compute(): raise Exception("Error when computing Mesh")
48 # Import the whole source mesh with groups
49 import2hyp.SetCopySourceMesh(True,True)
50 if not tgtMesh.Compute(): raise Exception("Error when computing Mesh")